本发明专利技术涉及智能医疗技术领域,涉及一种基于素数阶群的基于属性签名方法,包括:(1)初始化阶段:认证中心生成素数阶群,并根据安全参数生成公开参数以及主私钥;(2)密钥生成阶段:认证中心根据公开参数、主私钥、以及用户属性集,生成与用户属性集关联的用户私钥;(3)签名阶段:签名者根据自己的私钥和访问控制结构对消息进行签名,输出对应签名;(4)验证阶段:验证者根据公开参数、消息、消息对应的签名以及验证属性集,验证接收到的签名是否有效。本发明专利技术能够既满足对云上数据提供身份认证需求,又能最大程度保护签名者的信息隐私,同时满足智能医疗等物联网应用场景中因属性结点较多产生的更高效计算的需求。生的更高效计算的需求。生的更高效计算的需求。
【技术实现步骤摘要】
一种基于素数阶群的基于属性签名方法
[0001]本专利技术涉及智能医疗
,具体地说,涉及一种基于素数阶群的基于属性签名方法。
技术介绍
[0002]智能医疗是互联网发展与医疗系统的一个融合应用,用于解决居民看病难、医疗资源分配不均的问题。智能医疗系统运用物联网、云计算等先进技术,用户端通过穿戴智能设备等实时收集用户的健康数据,并将数据通过网络上传到云;医生则从云上下载用户数据,分析用户数据并给出相应的治疗方案。
[0003]智能医疗在解决医疗资源不均、提高医疗效率上发挥着巨大的作用,但是也带来了用户信息隐私的问题。在智能医疗系统中,不仅需要实现对用户的身份认证,也需要最大程度上保护用户的隐私,同时还应适应智能医疗中属性结点较多的场景,提高签名效率。
[0004]传统的数字签名使用用户的私钥来产生签名,验证者使用用户的公钥来验证签名的有效性。目前存在采用椭圆曲线数字签名算法为加密数据生成数字签名,这种方法只能满足对用户的身份认证,但由于验证者需要知道用户的公钥才能进行验证,会造成用户的身份信息泄露,从而给用户隐私带来威胁。也存在使用基于属性的签名方法来对用户数据生成数字签名;用户使用自己的属性生成数字签名,验证者使用访问控制结构对签名进行验证,最终只能知道拥有这些属性的用户产生了这个签名,并不能知道到底是哪个用户产生了签名。基于属性的签名具有匿名的特点,即属性签名可以隐藏用户的身份信息,其他用户无法将一个签名链接到签名者的身份。而智能医疗系统中的属性结点往往较多,用户也更倾向于使用效率更高的签名方案,故现有的方案就很有可能不能满足用户的需求。
技术实现思路
[0005]本专利技术的内容是提供一种基于素数阶群的基于属性签名方法,其能够克服现有技术的某种或某些缺陷。
[0006]根据本专利技术的一种基于素数阶群的基于属性签名方法,其包括以下步骤:
[0007](1)初始化阶段:认证中心生成素数阶群,并根据安全参数生成公开参数以及主私钥;
[0008](2)密钥生成阶段:认证中心根据公开参数、主私钥、以及用户属性集,生成与用户属性集关联的用户私钥;
[0009](3)签名阶段:签名者根据自己的私钥和访问控制结构对消息进行签名,输出对应签名;
[0010](4)验证阶段:验证者根据公开参数、消息、消息对应的签名以及验证属性集,验证接收到的签名是否有效。
[0011]作为优选,步骤(1)中,具体包括以下步骤:
[0012]输入一个安全参数τ∈Z
+
和属性全集U={at1,
…
,at
l
},该算法生成公共参数PK和
主私钥msk,如下公式所示:
[0013]PK=(G1,g,y,Y,H,H
′
,G2,T1,T2,
…
,T
l
)
[0014]msk=α
[0015]公共参数和主私钥用于之后的密钥生成和签名生成以及签名验证,具体生成过程及其含义如下:
[0016]1.1)G1和G2是两个乘法群,两个群的阶都是素数p;
[0017]1.2)设e:G1×
G1→
G2是一个双线性映射;
[0018]1.3)随机选取群G1中的一个元素g;
[0019]1.4)随机选取两个数
[0020]1.5)计算y=g
a
,Y=e(g,g)
α
;
[0021]1.6)H:{0,1}
*
→
G1,是哈希函数;
[0022]1.7)随机选取群G1中的l个元素T1,T2,
…
,T
l
。
[0023]作为优选,步骤(2)中,具体步骤如下:
[0024]给定公共参数PK和主私钥msk,根据用户的属性集S,选取一个随机数计算该用户的私钥SK
S
=(S,K0,{K
i
:at
i
∈S},K),私钥的具体设计情况如下所示:
[0025]K0=g
r
[0026][0027]K=y
r
g
α
[0028]作为优选,步骤(3)中,具体步骤如下:
[0029]给定访问控制结构A=(A,ρ)以及用户的私钥SK
S
,使用消息M∈G2生成签名σ=(σ1,σ2,σ3,σ
M
,{σ
i,1
,σ
i,2
})。具体生成过程及其含义如下:
[0030]3.1)A=(A,ρ)是一个访问控制结构,其中A是一个l
×
n的矩阵,设映射ρ:i
→
ρ(i),ρ(i)是矩阵A的第i行A
i
,ρ将一个属性值映射到矩阵的一行;
[0031]3.2)随机选取v2,v3,
…
,v
n
∈Z
p
,v是将被共享的秘密,得到向量
[0032]3.3)随机选取i个随机数
[0033]3.4)生成签名,签名具体设计情况如下所示:
[0034][0035]作为优选,步骤(4)中,具体步骤如下:
[0036]给定公共参数PK,消息M和消息对应的签名σ以及访问控制结构A和属性集S,对签名的验证步骤如下:
[0037]4.1)若属性集S满足访问控制结构A,计算向量使得成立;若属性集S不满足访问控制结构A,算法终止;
[0038]4.2)计算:
[0039][0040][0041]4.3)验证以下等式是否成立:
[0042]e(σ
′
,g
H
′
(MYv)
σ3)=e(y,σ1)Y
[0043]如果等式成立,则验证通过,签名有效;否则,验证不通过。
[0044]本专利技术的有益效果如下:
[0045]1、本专利技术是一种基于素数阶群的基于属性签名方法,能够对云上数据提供身份认证需求,同时能最大程度保护签名者的隐私,满足了智能医疗场景中对数字签名的要求。
[0046]2、本专利技术采用线性秘密共享矩阵来分享秘密值,有效减少了秘密值计算量,当智能医疗中属性结点众多时计算量显著下降,满足了智能医疗中受限设备的运算要求。
附图说明
[0047]图1为实施例1中一种基于素数阶群的基于属性签名方法的流程图。
具体实施方式
[0048]为进一步了解本专利技术的内容,结合附图和实施例对本专利技术作详细描述。应当理解的是,实施例仅仅是对本专利技术进行解释而并非限定。
[0049]实施例1
[0050]如图1所示,本实施例提供了一种基于素数阶群的基于属性签名方法,其包括以下步骤:
[0051](1)初始化阶段:认证中心生成素数阶群,并根据安全参数生成公开参数以及主私钥;
[0052](2)密钥本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于素数阶群的基于属性签名方法,其特征在于:包括以下步骤:(1)初始化阶段:认证中心生成素数阶群,并根据安全参数生成公开参数以及主私钥;(2)密钥生成阶段:认证中心根据公开参数、主私钥、以及用户属性集,生成与用户属性集关联的用户私钥;(3)签名阶段:签名者根据自己的私钥和访问控制结构对消息进行签名,输出对应签名;(4)验证阶段:验证者根据公开参数、消息、消息对应的签名以及验证属性集,验证接收到的签名是否有效。2.根据权利要求1中所述的一种基于素数阶群的基于属性签名方法,其特征在于:步骤(1)中,具体包括以下步骤:输入一个安全参数τ∈Z
+
和属性全集U={at1,
…
,at
l
},该算法生成公共参数PK和主私钥msk,如下公式所示:PK=(G1,g,y,Y,H,H
′
,G2,T1,T2,
…
,T
l
)msk=α公共参数和主私钥用于之后的密钥生成和签名生成以及签名验证,具体生成过程及其含义如下:1.1)G1和G2是两个乘法群,两个群的阶都是素数p;1.2)设e:G1×
G1→
G2是一个双线性映射;1.3)随机选取群G1中的一个元素g;1.4)随机选取两个数1.5)计算y=g
a
,Y=e(g,g)
α
;1.6)H:{0,1}
*
→
G1,是哈希函数;1.7)随机选取群G1中的l个元素T1,T2,
…
,T
l
。3.根据权利要求2中所述的一种基于素数阶群的基于属性签名方法,其特征在于:步骤(2)中,具体步骤如下:给定公共参数PK和主私钥msk,...
【专利技术属性】
技术研发人员:廖永建,蔡松颖,刘少华,周川昊,董英杰,梁艺宽,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。