一种基于PUF器件的数据信息加密部署方法与流程

文档序号:30289787发布日期:2022-06-04 14:36阅读:319来源:国知局
一种基于PUF器件的数据信息加密部署方法与流程
一种基于puf器件的数据信息加密部署方法
技术领域
1.本发明涉及集成电路领域,尤其涉及一种基于puf器件的数据信息加密部署方法。


背景技术:

2.sm9标识密码算法是一种基于双线性对的标识密码算法,是我国商用密码行业公钥密码算法的一种标准算法。标识密码(identity-based cryptograph,简称ibc)的用户的公钥由用户的唯一标识信息(如姓名,邮箱地址,手机号码等)和秘密存储的主密码生成,无需通过第三方证书来保证安全性,因此这种算法的密钥及证书的管理成本较低。2008年,我国将ibc技术进行标准化,推出了sm9密码算法。
3.sm9密码算法的理论基础和数学工具是有限域群上椭圆曲线的点群运算的性质及双线性对运算特性,其安全性建立在有关双线性对的难解问题的基础上。作为公钥密码算法,sm9算法需要用户拥有公私钥对,具体为一对签名公私钥和一对加密公私钥。签名公私钥用于数字签名算法,加密公私钥用于密钥封装、公钥加密算法和密钥交换。
4.sm9算法的公/私钥都由可信第三方密钥生成中心(简称kgc,key generation center)生成,其中公钥可向外界公开,私钥需要用户秘密存储。这就意味着私钥生成后部署到用户的过程必须有相应的安全保证。目前的一种解决方案为分离匿名的私钥分发方案saki(即separable and anonymous identity-based key issuing):将用户注册和私钥的产生两个步骤分开,在不同地点进行。本地注册机构(简称lra)负责用户注册,kgc在生成公私钥后借助lra的注册信息部署密钥。如图2所示,具体步骤如下:
5.1)用户以离线的方式在lra申请注册使用sm9加密算法,lra核实用户身份后,生成一次性口令pwd,把口令pwd安全地交给用户。其后lra把用户id和口令pwd传输给kgc,后者将该数据作为用户申请私钥的凭证并用于生成密钥。
6.2)身份为id的用户随机选取r∈zq*作为盲因子,根据kgc的公开系统参数计算q=h(id),h为公开的一个强杂凑函数,q'=rq,t=h(pwd),t'=r-1
t。将(q',t')作为私钥申请报文,发送给kgc。
7.其中,zq*为包含q个元素的有限域中所有非零元构成的乘法群;q'为加法循环群中的元素q进行r次自加运算;r-1
为乘法循环群中满足r
·
c=1成立的域元素c;t'为t进行c次椭圆曲线加法运算的结果。
8.3)kgc接到报文后,进行下面的工作:
9.3.1)首先验证e(q',t')=e(q,t)是否成立,比较q'和t'进行双线性映射的结果与q和t的结果是否相等;其中,e为从g1×
g2到g
t
的双线性对;g1和g2分别为两个阶数为素数n的加法循环群;g
t
为阶数为素数n的乘法循环群。
10.3.2)计算s'=sq'=srq,将s'发送给用户;其中,s为kgc通过随机数发生器生成的私钥;sq'为加法循环群中的元素q'进行s次自加运算,运算的结果为s'。
11.4)用户得到s'后,进行如下操作
12.4.1)验证e(s',p)=e(q',p
pub
)是否成立;比较s'和p进行双线性映射的结果与q'
和p
pub
的结果是否相等;其中,p为g2的生成元;p
pub
为kgc通过p
pub
=sp1发布的主公钥,其中p1为g1的生成元。
13.4.2)s=r-1
s'=sq,解密得到私钥s;其中,r-1
为乘法循环群中满足r
·
c=1成立的域元素c;s为s'进行c次椭圆曲线加法运算的结果。
14.这种方法构造了一个盲签名方案,只有拥有盲因子的用户才能恢复出真正的私钥,使私钥能够在非安全通道中传输。这种方法可以有效保护私钥的安全性,但在实际应用中依然存在问题:
15.1)如果攻击者知道用户的身份,可以对口令pwd进行字典攻击;
16.2)由于口令pwd由lra发送给用户的过程需要保证极高的安全性,用户需要到注册机构进行线下注册,因此saki方案的适用范围有一定限制。


技术实现要素:

17.本发明实施例提供一种基于puf器件的数据信息加密部署方法,应用集成电路领域中的puf器件,解决了数据加密传输领域中的安全传输问题,具体解决了攻击者暴力破解加密数据信息的问题,同时还解决了基于普通通道的数据信息部署期间的安全传输问题。
18.为达上述目的,一方面,本发明实施例提供一种基于puf器件的数据信息加密部署方法,包括:
19.发送端指定第一puf器件;所述第一puf器件用于发送给接收端;
20.所述发送端根据所述第一puf器件的信息确定第一挑战信号和第一响应信号;所述第一挑战信号输入给所述第一puf器件唯一得到所述第一响应信号;
21.所述发送端使用所述第一响应信号加密待部署给所述接收端的第一数据信息得到第一密文;
22.当所述接收端收到所述第一puf器件时,向所述发送端返回第一确认信息;
23.如果所述发送端收到来自所述接收端的所述第一确认信息,则将所述第一密文和所述第一挑战信号发送给所述接收端;所述第一确认信息表示所述接收端已经接收到所述第一puf器件;
24.当所述接收端收到所述第一密文和所述第一挑战信号,所述接收端将所述第一挑战信号输入给所述第一puf器件得到第一响应信号;并进一步使用第一响应信号作为密钥解密所述第一密文得到第一数据信息。
25.进一步地,所述如果所述发送端收到来自所述接收端的所述第一确认信息,则将所述第一密文和所述第一挑战信号发送给所述接收端,具体为:
26.如果所述发送端在指定的第一确认时间内收到所述第一确认信息,则所述发送端将所述第一密文和所述第一挑战信号发送给所述接收端;所述第一确认时间是从发出所述第一puf器件时开始计时的指定长度的时间。
27.进一步地,还包括:
28.如果所述发送端在所述第一确认时间内一直没有收到所述第一确认信息,则通过以下步骤重新部署所述第一数据信息:
29.所述发送端指定第二puf器件;所述第二puf器件用于发送给所述接收端;
30.所述发送端根据所述第二puf器件的信息确定第二挑战信号和第二响应信号;所
述第二挑战信号输入给所述第二puf器件唯一得到所述第二响应信号;
31.所述发送端使用所述第二响应信号加密待部署给所述接收端的第一数据信息得到第二密文;
32.当所述接收端收到所述第二puf器件时,向所述发送端返回第二确认信息;
33.如果所述发送端收到来自所述接收端的第二确认信息,则将所述第二密文和所述第二挑战信号发送给所述接收端;所述第二确认信息表示所述接收端已经接收到所述第二puf器件;
34.当所述接收端收到所述第二密文和所述第二挑战信号,所述接收端将所述第二挑战信号输入给所述第二puf器件得到第二响应信号;并进一步使用第二响应信号作为密钥解密所述第二密文得到第一数据信息。
35.进一步地,所述发送端根据所述第一puf器件的信息确定第一挑战信号和第一响应信号,包括:
36.发送端从预先存储的挑战响应记录中选择与所述第一puf器件的信息对应的第一挑战响应对,并以所述第一挑战响应对中的挑战信号作为所述第一挑战信号,以所述第一挑战响应对中的响应信号作为所述第一响应信号;
37.其中,所述挑战响应记录包括所有puf器件各自对应的至少一组挑战响应对。
38.进一步地,还包括:
39.按以下步骤完成再次部署新数据信息:
40.所述接收端向所述发送端发送再次部署新数据信息请求;所述再次部署新数据信息请求中包括所述接收端已经成功接收的puf器件的信息;
41.当所述发送端收到来自所述接收端的所述再次部署新数据信息请求时,从所述再次部署新数据信息请求中获得所述已经成功接收的puf器件的信息;
42.所述发送端从所述挑战响应记录中选择与所述已经成功接收的puf器件的信息对应的第三挑战响应对,并以所述第三挑战响应对中的挑战信号作为第三挑战信号,以所述第三挑战响应对中的响应信号作为第三响应信号;
43.所述发送端使用所述第三响应信号加密所述新数据信息得到第三密文;
44.所述发送端将所述第三密文和所述第三挑战信号发送给所述接收端;
45.当所述接收端收到所述第三密文和所述第三挑战信号时,所述接收端将所述第三挑战信号输入给所述已经成功接收的puf器件得到所述第三响应信号;并进一步使用所述第三响应信号作为密钥解密所述第三密文得到所述新数据信息。
46.进一步地,所述发送端指定第一puf器件,具体为:
47.所述发送端从待选的puf器件中选取第一puf器件。
48.进一步地,所述发送端使用所述第一响应信号加密待部署给所述接收端的第一数据信息得到第一密文,具体为:
49.所述发送端所述第一响应信号与所述第一数据信息执行异或操作得到所述第一密文,或者,所述发送端使用所述第一响应信号作为对称加密的密钥使用对称加密算法加密所述第一数据信息得到所述第一密文。
50.进一步地,所述发送端为密钥生成中心;所述第一数据信息包括第一签名私钥和第一加密私钥;
51.在所述发送端指定第一puf器件之前,还包括:
52.所述接收端使用所述密钥生成中心公开的系统参数加密所述接收端的唯一标识信息得到密钥申请请求;所述系统参数用于生成密钥以及所述接收端与所述密钥生成中心之间进行加密通信;
53.所述接收端将所述密钥申请请求发送给所述密钥生成中心;
54.所述密钥生成中心收到所述密钥申请请求,并从所述密钥申请请求中获取所述接收端的唯一标识信息;
55.所述密钥生成中心根据指定的密钥生成算法以及所述接收端的唯一标识信息生成所述第一签名私钥和所述第一加密私钥。
56.进一步地,所述发送端为本地注册机构;所述第一数据信息包括:第一口令;
57.在所述发送端指定第一puf器件之前,还包括:
58.所述接收端向所述本地注册机构发送注册申请;
59.所述本地注册机构接收到所述注册申请,并从所述注册申请中获取所述接收端的唯一标识信息;
60.所述本地注册机构根据所述接收端的唯一标识信息生成所述第一口令。
61.上述技术方案具有如下有益效果:通过使用puf器件做信任锚部署需要加密传输的信息数据,不需要借助额外的服务中心进行大量数据计算,也不需专线进行数据传输,因此这种方案在使用物理随机数保证安全性的同时,具有成本低廉效果。
62.进一步地,通过在sm9算法公私钥部署中应用本发明技术方案,提高了sm9算法密钥分发过程的安全性。具体来说,在执行sm9算法的数字签名验签算法、公钥加解密算法和密钥封装/解封算法前,需要对签名公/私钥和加密公/私钥进行部署,其中主私钥由kgc生成并保留在kgc中,签名公/私钥和加密公/私钥由主私钥和id生成,部署到对应用户。由于sm9标识密码算法的安全性依赖于私钥的秘密性,用户私钥在部署过程中的保密工作尤为重要。借助强puf器件实体的不可克隆和不可预测性等特性,可以通过直接部署puf器件的方式实现信任锚的安全传输,通过puf器件实现sm9签名私钥和加密私钥的部署。
63.进一步地,在sm9算法密钥分发过程中,目前借助额外的服务中心(本地注册机构lra)对注册的用户发放口令,实现用户与密钥生成中心的私钥部署。由于该口令无法远程传输,saki方案需要用户在本地进行注册,无法实现远程部署。针对此类应用场景,应用本发明技术方案针对目前私钥部署的方案采用的saki方案进行改进,可以借助puf器件对口令进行远程部署,在兼容saki方案的体系下实现多场景的sm9私钥部署。
附图说明
64.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
65.图1是本发明实施例之一的一种基于puf器件的数据信息加密部署方法的流程图;
66.图2是本发明实施例涉及的现有技术中一种分离匿名的私钥分发方案的示意图;
67.图3是本发明实施例之一的一种基于puf器件的数据信息加密部署方法部署sm9私
钥的示意图;
68.图4是本发明实施例之一的另一种基于puf器件的数据信息加密部署方法部署sm9私钥的示意图。
具体实施方式
69.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.一方面,如图1所示,本发明实施例提供一种基于puf器件的数据信息加密部署方法,包括:
71.步骤s100,发送端指定第一puf器件;所述第一puf器件用于发送给接收端;
72.步骤s101,所述发送端根据所述第一puf器件的信息确定第一挑战信号和第一响应信号;所述第一挑战信号输入给所述第一puf器件唯一得到所述第一响应信号;
73.步骤s102,所述发送端使用所述第一响应信号加密待部署给所述接收端的第一数据信息得到第一密文;
74.步骤s103,当所述接收端收到所述第一puf器件时,向所述发送端返回第一确认信息;
75.步骤s104,如果所述发送端收到来自所述接收端的所述第一确认信息,则将所述第一密文和所述第一挑战信号发送给所述接收端;所述第一确认信息表示所述接收端已经接收到所述第一puf器件;
76.步骤s105,当所述接收端收到所述第一密文和所述第一挑战信号,所述接收端将所述第一挑战信号输入给所述第一puf器件得到第一响应信号;并进一步使用第一响应信号作为密钥解密所述第一密文得到第一数据信息。
77.在一些实施例中,发送端用于将需以加密方式传输的数据信息部署给接收端;接收端用于接收该数据信息;接收端还可以以保密的方式使用该数据信息。数据信息包括私钥和/或口令等需要避免被第三方截获的信息。puf器件是一种新型信息安全组件,其中硅基puf器件主要利用硅基集成电路在制造过程中的工艺偏差产生的物理随机性,提取出与puf器件唯一相关的特征信息,不同puf器件的特征信息各不相同,puf器件无法复制。具体使用方法为给puf器件输入一个挑战信号,puf器件会产生一个稳定且难以预测的响应信号,输入不同的挑战信号可以得到的不同的响应信号,挑战信号和响应信号具有唯一的一一对应关系。输入的挑战信号与其对应输出的响应信号称为挑战-响应对(challenge-response pair,简称crp)。根据挑战-响应对的数量多少,puf器件可分为两类:强puf器件和弱puf器件。由于工艺偏差随机且各不相同,即使输入相同的挑战信号,不同芯片的响应信号也不同。发明人发现,由于puf器件的随机性和不可预测性,如果使用puf器件作为密钥对信息进行加密,能保证密钥难以被复制窃取。
78.发送端可以通过从预先准备好的多个puf器件中指定puf器件;例如,通过读取库存记录,并从库存记录中指定puf器件。指定的puf器件可以通过多种途径发送给接收端,例如可以通过自动终端设备将指定的puf器件现场弹出交给接收端保存,也可以通过仓储的
自动邮寄系统远程发送给接收端,或者通过人工邮寄的方式发送给接收端。第一puf器件的指定和发送可以依据前述说明来理解。发送端根据第一puf器件的信息确定第一挑战信号和第一响应信号;第一挑战信号输入给第一puf器件唯一得到第一响应信号;根据puf器件的特性,puf器件是不可复制的,并且,输入给puf器件的挑战信号与puf器件的响应该输入的挑战信号得到的响应信号是一一对应的。所以若要得到同一响应信号,则必须同时得到该puf器件以及对应输入的挑战信号。在具体应用中,可以通过设计puf器件的硬件使挑战信号和响应信号的位数较大,例如达到128位等,从而使挑战信号和响应信号无法在短时间内被穷举。因此,响应信号可以作为安全的密钥使用。发送端使用所第一响应信号加密待部署给接收端的第一数据信息得到第一密文;具体的加密方法包括但不限于异或、或者对称加密等,具体的加密方法可以有多种方法。发送端在指定了puf器件后,即可在步骤s103之前的任何时候将puf器件发送给接收端。当接收端收到第一puf器件时,向发送端返回第一确认信息;从而确保puf器件已经正确到达接收端。如果发送端收到来自接收端的第一确认信息,则将第一密文和第一挑战信号发送给接收端;第一确认信息表示接收端已经接收到第一puf器件;在确认第一puf器件已经被接收端正确接收后,再发送第一密文和第一挑战信号给接收端,避免了第一puf器件、第一密文和第一挑战信号都被中间人截获的情况,确保加密信息的安全。即使中间人截获了第一密文和第一挑战信号,由于中间人没有第一puf器件,中间人也无法确定第一响应信号,所以即使第一密文和第一挑战信号使用普通非安全信道传输,也不会导致数据信息的泄露问题,从而可以不搭建专用安全传输信道以降低信息传输的成本。当接收端收到第一密文和第一挑战信号,接收端将第一挑战信号输入给第一puf器件得到第一响应信号;并进一步使用第一响应信号作为密钥解密第一密文得到第一数据信息;从而完成了第一数据信息从发送端向接收端的加密部署。
79.进一步地,所述如果所述发送端收到来自所述接收端的所述第一确认信息,则将所述第一密文和所述第一挑战信号发送给所述接收端,具体为:
80.如果所述发送端在指定的第一确认时间内收到所述第一确认信息,则所述发送端将所述第一密文和所述第一挑战信号发送给所述接收端;所述第一确认时间是从发出所述第一puf器件时开始计时的指定长度的时间。
81.在一些实施例中,为了提高部署的安全性,发送端可以规定在发出puf器件后,在指定的确认时间内必须得到接收端的确认收到发送端本次发送的puf器件的确认信息。若超过了这个确认时间,发送端可以认为本次发送的puf器件已经失效。第一确认时间的时间长度可由发送端依据预估的递送耗时决定;第一确认时间进一步提高了本方案的安全性,例如由于暴力穷举puf器件的挑战响应对需要较多的时间,若puf器件被中间人截获后,由于第一确认时间的限制导致中间人没有足够的时间进行暴力穷举;达到进一步提高本方案安全性的效果。
82.进一步地,还包括:
83.如果所述发送端在所述第一确认时间内一直没有收到所述第一确认信息,则通过以下步骤重新部署所述第一数据信息:
84.所述发送端指定第二puf器件;所述第二puf器件用于发送给所述接收端;
85.所述发送端根据所述第二puf器件的信息确定第二挑战信号和第二响应信号;所述第二挑战信号输入给所述第二puf器件唯一得到所述第二响应信号;
86.所述发送端使用所述第二响应信号加密待部署给所述接收端的第一数据信息得到第二密文;
87.当所述接收端收到所述第二puf器件时,向所述发送端返回第二确认信息;
88.如果所述发送端收到来自所述接收端的第二确认信息,则将所述第二密文和所述第二挑战信号发送给所述接收端;所述第二确认信息表示所述接收端已经接收到所述第二puf器件;
89.当所述接收端收到所述第二密文和所述第二挑战信号,所述接收端将所述第二挑战信号输入给所述第二puf器件得到第二响应信号;并进一步使用第二响应信号作为密钥解密所述第二密文得到第一数据信息。
90.在一些实施例中,当超过第一确认时间,发送端仍得不到接收端的第一确认信息时,为了安全起见,发送端将认为本次发送的第一puf器件已经失效,为了完成数据信息的部署,发送端会重新指定第二puf器件,并执行上述重新部署第一数据信息的步骤。可参考前述的使用第一puf器件部署第一数据信息的说明理解本发明实施例中使用第二puf器件重新部署第一数据信息的过程。其中,为了进一步提高安全性,步骤如果所述发送端收到来自所述接收端的第二确认信息,则将所述第二密文和所述第二挑战信号发送给所述接收端,具体为:所述发送端在指定的第二确认时间内收到所述第二确认信息,则所述发送端将所述第一密文和所述第一挑战信号发送给所述接收端;所述第二确认时间是从发出所述第二puf器件时开始计时的指定长度的时间。
91.进一步地,所述发送端根据所述第一puf器件的信息确定第一挑战信号和第一响应信号,包括:
92.发送端从预先存储的挑战响应记录中选择与所述第一puf器件的信息对应的第一挑战响应对,并以所述第一挑战响应对中的挑战信号作为所述第一挑战信号,以所述第一挑战响应对中的响应信号作为所述第一响应信号;
93.其中,所述挑战响应记录包括所有puf器件各自对应的至少一组挑战响应对。
94.在一些实施例中,可以预先将所有puf器件中的每个puf器件所支持的挑战响应对预先存储在挑战响应记录中;可以根据puf器件的信息访问该挑战响应记录选择指定的puf器件的一组挑战相应对。
95.进一步地,还包括:
96.按以下步骤完成再次部署新数据信息:
97.所述接收端向所述发送端发送再次部署新数据信息请求;所述再次部署新数据信息请求中包括所述接收端已经成功接收的puf器件的信息;
98.当所述发送端收到来自所述接收端的所述再次部署新数据信息请求时,从所述再次部署新数据信息请求中获得所述已经成功接收的puf器件的信息;
99.所述发送端从所述挑战响应记录中选择与所述已经成功接收的puf器件的信息对应的第三挑战响应对,并以所述第三挑战响应对中的挑战信号作为第三挑战信号,以所述第三挑战响应对中的响应信号作为第三响应信号;
100.所述发送端使用所述第三响应信号加密所述新数据信息得到第三密文;
101.所述发送端将所述第三密文和所述第三挑战信号发送给所述接收端;
102.当所述接收端收到所述第三密文和所述第三挑战信号时,所述接收端将所述第三
挑战信号输入给所述已经成功接收的puf器件得到所述第三响应信号;并进一步使用所述第三响应信号作为密钥解密所述第三密文得到所述新数据信息。
103.在一些实施例中,发送端曾经成功的向接收端部署了数据信息,说明接收端已经拥有了puf器件,并且这个puf器件的信息记录在发送端维护的挑战响应记录中;当接收端请求再次部署新数据信息时,接收端和发送端可以复用之前接收端已经成功接收到的puf器件,由于无需重新传输puf器件,所以中间人没有任何机会截获该puf器件,整个部署期间,没有直接传输响应信号,也没有通过将响应信号进行数学变换后间接传输,传输的挑战信号与响应信号之间没有数学变换关系,仅根据得到的挑战信号,没有任何机会变换得到响应信号,所以达到了安全、快速再次部署新信息的效果,同时充分利用该puf器件的挑战响应对也节省了部署成本。可依据前述实施例的数据信息部署过程理解本实施例,在此不再赘述。
104.进一步地,所述发送端指定第一puf器件,具体为:
105.所述发送端从待选的puf器件中选取第一puf器件。
106.进一步地,所述发送端使用所述第一响应信号加密待部署给所述接收端的第一数据信息得到第一密文,具体为:
107.所述发送端所述第一响应信号与所述第一数据信息执行异或操作得到所述第一密文,或者,所述发送端使用所述第一响应信号作为对称加密的密钥使用对称加密算法加密所述第一数据信息得到所述第一密文。
108.进一步地,如图3所示,为基于本方案实现的一种面向终端sm9算法的私钥部署方法的示意图,其中,终端即接收端。所述发送端为密钥生成中心;所述第一数据信息包括第一签名私钥和第一加密私钥;
109.在所述发送端指定第一puf器件之前,还包括:
110.所述接收端使用所述密钥生成中心公开的系统参数加密所述接收端的唯一标识信息得到密钥申请请求;所述系统参数用于生成密钥以及所述接收端与所述密钥生成中心之间进行加密通信;
111.所述接收端将所述密钥申请请求发送给所述密钥生成中心;
112.所述密钥生成中心收到所述密钥申请请求,并从所述密钥申请请求中获取所述接收端的唯一标识信息;
113.所述密钥生成中心根据指定的密钥生成算法以及所述接收端的唯一标识信息生成所述第一签名私钥和所述第一加密私钥。
114.下面基于图3对本发明实施例进行说明:
115.如图3所示,将强puf器件的crp作为信任锚分发给用户,对kgc生成的私钥分别进行加密传输,部署到各个用户。强puf的优点在于其包含的crp数量极多,在有限攻击时间内无法遍历所有crp,且其响应信号(response)难以被外部攻击者预测。举例来说,一个强puf器件的挑战信号(challenge)的长度为128bit,响应信号长度为128bit,此时该puf器件的挑战信号和响应信号的空间均为2
128
,且不同的crp之间无关联性,在有限的攻击时间内通过遍历的方式得到所有crp是不可能的。只要攻击者无法同时拥有此puf器件实体和对应的挑战信号,就难以得到真正用于加密的响应信号。
116.下面对本发明实施例的具体步骤进行说明:
117.1)密钥生成中心kgc确定并公开系统参数组,包括曲线识别符、椭圆曲线基域参数和方程参数等,用于密钥生成以及sm9算法在具体通信中的使用。
118.2)用户向kgc或其关联中心发起请求,并上传一个可确定身份的二进制标识信息id(即唯一标识信息),如电子邮箱,身份证号,电话号码,街道地址的ascii码值或hash值等。kgc或其关联中心对身份标识id(即唯一标识信息)进行审核。
119.3)审核通过后,kgc选择两个在系统参数规定范围内的不同随机数ks和ke,分别作为签名主私钥和加密主公钥。
120.4)kgc根据以下公式(1)-(6),利用id(即唯一标识信息)和ks、ke以及系统参数计算出签名私钥ds(相当于第一签名私钥)和加密私钥de(相当于第一加密私钥);
121.签名过程:
122.t1=h1(ida||hid,n)+ks
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
123.t2=ks
×
t
1-1
modn
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
124.ds=[t2]p1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0125]
加密过程:
[0126]
t1=h1(ida||hid,n)+ke
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0127]
t2=ke
×
t
1-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0128]
de=[t2]p2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0129]
其中,h1为由密码杂凑算法派生的密码函数;ida为用户a的标识,可以唯一确定用户a的公钥;||表示将其前后的比特串或字符串拼接,例如x和y为比特串或字符串,x||y表示将x和y中记录的比特串或字符串拼接;hid为用一个字节表示的私钥生成函数标识符,由kgc选择并公开;n为循环群g1、g2和g
t
的阶,为大于2
191
的素数;ks,ke为kgc产生的取值范围为[1,n-1]的随机数,分别作为签名主私钥和加密主私钥;t
1-1
为乘法循环群中满足t1·
c=1成立的域元素c;modn为取模运算,即将除以n得到的余数作为结果;t2为ks与t1乘积模n的结果;p1为循环群g1的生成元;[t2]p1为生成元p1进行t2椭圆曲线加法的结果。
[0130]
5)kgc存储puf器件的部分挑战-响应对(c,r),其中c表示挑战信号,r表示响应信号,利用响应信号r对私钥ds和de进行加密得到ds'和de',(其中,ds'和de'相当于第一密文)。可以借助puf的响应信号与私钥进行异或实现加密;或基于puf的响应信号,利用对称加密算法对私钥进行加密。
[0131]
6)kgc将puf器件实体通过当面递交或邮寄形式部署到用户,用户在收到puf器件之后向kgc发送确认信号(即用于表示用户已经收到kgc发送给用户的puf器件的确认信息)。
[0132]
7)待有效时限内(相当于从kgc发出puf器件时开始计时的指定长度的时间内)用户确认收到puf器件后,kgc将(ds',de',c)发送给用户。若在前述的有效时限内未收到用户的确认信息,则kgc重新部署puf器件,重复步骤5)和6)。
[0133]
8)用户收到(ds',de',c)后,将c输入puf器件,得到r,使用r对de'和ds'进行解密,得到签名私钥ds和加密私钥de。
[0134]
用户借助本实施例的过程向kgc发送申请,获得sm9算法的签名公/私钥后,可使用sm9数字签名算法。数字签名算法可通过数字签名和验签来证明核实信息发送者的身份。具体过程为:签名者持有身份标识id和签名私钥,签名私钥即kgc通过id生成的用户私钥之
一。签名者使签名私钥给数据签名,验证者接收到信息后,用签名者的标识id生成其公钥,对消息解密,进行验签,验证发送者的身份和所发送消息的真实性、完整性。
[0135]
用户借助本实施例的过程部署的加密公/私钥可用于sm9算法密钥封装:封装者产生并加密一个密钥,发送给目标用户,唯有目标用户可以进行解密,并把它用作下一步会话的密钥。具体过程为:封装者利用目标用户的标识id产生并加密一个密钥,发送给对方,目标用户收到后用解密私钥进行解封装。
[0136]
本发明实施例具有如下技术效果:kgc存储puf器件的部分或全部crp,借助crp不可预测的特性对私钥进行加密,部署puf器件实体后在用户端进行解密,实现私钥数据的部署。该过程是一种新的部署私钥的方案,相比于直接明文传输或者其他私钥部署的方法,由于puf器件本身是信任锚,其部署不需借助额外的服务中心进行大量数据计算,也不需专线进行数据传输,因此这种方案在使用物理随机数保证安全性的同时,具有成本低廉的特点。在用户收到puf器件之前,用于加解密的挑战响应对只存储在kgc的服务器中。即使puf器件实体在传输过程中被截获,攻击者在有限的时间内也只有极小概率遍历出真正用于加密的响应信号r。且因为puf器件的挑战信号和响应信号之间的关系无法预测,(ds',de',c)的传输对通道的安全性要求较低,可实现私钥的线上部署,且发送puf器件以及发送加密后的私钥数据信息都可以通过普通途径无需专用的安全邮递或通信网络,达到确保安全传输数据信息的同时,降低传输成本的效果。
[0137]
进一步地,如图4所示,基于本方案实现的另一种面向终端sm9算法的私钥部署方法的示意图,所述发送端为本地注册机构;所述第一数据信息包括:第一口令;
[0138]
在所述发送端指定第一puf器件之前,还包括:
[0139]
所述接收端向所述本地注册机构发送注册申请;
[0140]
所述本地注册机构接收到所述注册申请,并从所述注册申请中获取所述接收端的唯一标识信息;
[0141]
所述本地注册机构根据所述接收端的唯一标识信息生成所述第一口令。
[0142]
下面结合图4对本发明实施例进行说明:
[0143]
分离匿名的私钥分发saki方案是目前sm9算法私钥部署的一种方案,在本发明实施例中,利用puf器件对saki方案中的信任锚(口令)进行加密传输,在兼容saki方案的同时实现多场景私钥部署,具体步骤为:
[0144]
1)用户通过线上或线下任一种方式,向本地注册机构(local registration authority,简称lra)申请注册并上传id信息(相当于唯一标识信息)。
[0145]
2)lra审核用户身份id(相当于唯一标识信息),并生成一次性口令pwd。
[0146]
3)审核通过后,lra必须把口令pwd安全地交给用户,对于线下申请注册的用户,执行目前已有的saki方案;对于线上申请注册的用户,lra可以预先存储puf器件的部分挑战-响应对(c,r),并选择指定的一个puf器件的其中一组挑战-响应对,并使用该组挑战响应对中的响应信号r对口令pwd进行加密,得到pwd'=xor(r,pwd)(其中xor表示r和pwd之间执行异或操作,pwd'相当于密文)。
[0147]
4)lra通过当面递交或邮寄形式将puf器件实体交给用户。
[0148]
5)用户收到puf器件后向lra发送确认信息。
[0149]
6)待有效时限内(相当于从lra发出puf器件时开始计时的指定长度的时间内)lra
得到用户的确认信息后将(c,pwd')发送给用户。若有效时限内lra没有得到用户的确认信息,则说明用户未正常收到puf器件,则换一个新puf器件重复步骤3)、4)、5)。
[0150]
7)用户收到(c,pwd')后将c输入收到的puf器件,得到响应信号r,使用响应信号r通过异或操作解密pwd'得到pwd。
[0151]
8)用户按照saki方案的要求,通过id与pwd得到申请报文(q',t'),向kgc申请私钥。kgc向用户发送s',用户对s'解密得到真正的私钥s。
[0152]
用户借助本实施例的过程向lra发送申请,获得sm9算法的签名公/私钥后,可使用sm9数字签名算法。数字签名算法可通过数字签名和验签来证明核实信息发送者的身份。具体过程为:签名者持有身份标识id和签名私钥,签名私钥即kgc通过id生成的用户私钥之一。签名者使签名私钥给数据签名,验证者接收到信息后,用签名者的标识id生成其公钥,对消息解密,进行验签,验证发送者的身份和所发送消息的真实性、完整性。
[0153]
用户借助本实施例的过程部署的加密公/私钥可用于sm9算法密钥封装:封装者产生并加密一个密钥,发送给目标用户,唯有目标用户可以进行解密,并把它用作下一步会话的密钥。具体过程为:封装者利用目标用户的标识id产生并加密一个密钥,发送给对方,目标用户收到后用解密私钥进行解封装。
[0154]
本发明实施例具有如下技术效果:令lra存储puf器件的部分或全部crp,借助crp不可预测的特性对saki方案的口令进行加密,线上注册的用户端获得puf器件实体后解密得到口令原文,实现口令的线上部署。该过程弥补了saki方案只能本地注册的不足,线上注册的用户也可以通过获得puf器件实体,进行lra注册并安全获得口令。利用puf器件对来自lra的口令进行加密传输,可降低对口令传输信道的安全性要求,允许用户通过线上方式申请注册并获得一次性口令,从而可改善原saki方案需要线下将口令交付用户的局限性,建立可远程部署的兼容saki方案的私钥部署体系。
[0155]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0156]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0157]
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本技术公开的原理和新颖性特征的最广范围相一致。
[0158]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书
的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括:”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
[0159]
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
[0160]
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0161]
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
[0162]
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
[0163]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步
详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1