CN104753666A - 密钥处理方法和装置 - Google Patents
密钥处理方法和装置 Download PDFInfo
- Publication number
- CN104753666A CN104753666A CN201310746982.4A CN201310746982A CN104753666A CN 104753666 A CN104753666 A CN 104753666A CN 201310746982 A CN201310746982 A CN 201310746982A CN 104753666 A CN104753666 A CN 104753666A
- Authority
- CN
- China
- Prior art keywords
- time period
- parameter
- private key
- sub
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Lock And Its Accessories (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种密钥处理方法和装置,所述方法包括:用户设备获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数;当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;本发明实提高了密钥更新的灵活性,操作简单。
Description
技术领域
本申请涉及信息处理技术领域,更具体的说是涉及一种密钥处理方法和装置。
背景技术
密钥泄漏严重威胁着密码体制的安全,如何降低密钥泄漏对密码体制的危害是一项有着重要的理论意义和实用价值的研究工作。
密钥更新是一种降低密钥泄露带来的危害、提高安全性的有效方式,在非对称密钥加密方式中,密钥主要包括公钥和私钥,对密钥的更新主要是对私钥进行更新。现有的一种实现密钥更新的方案是利用入侵容忍技术的思想,将密钥的生命周期划分为多个时间段,将每个时间段又划分为多个子时间段,公钥在整个生命周期中保持不变,在进入每个时间段的每个子时间段时,利用安全设备提供的更新消息,触发用户设备对私钥进行更新,使得即便入侵者入侵用户设备和安全设备,只要不在同一时间段的同一子时间段入侵,就无法计算出其他时间段的用户的密钥,从而可以降低密钥泄露带来的危害。
在实现本发明的过程中,发明人发现,基于该入侵容忍技术的密钥更新操作中,如何实现密钥更新操作的简单和灵活性是本领域技术人员目前迫切需要解决的技术问题。
发明内容
本申请提供了一种密钥处理方法和装置,实现了密钥更新的灵活性,操作简单。
为实现上述目的,本申请提供如下技术方案:
第一方面,提供了一种密钥处理方法,包括:
用户设备获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段中第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
在所述第一方面的第一种可能实现方式中,所述第i时间段中第r子时间段的更新参数为所述安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段中第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;
则第0时间段中第0子时间段的用户私钥具体是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及所述密钥哈希值生成的。
结合所述第一方面或所述第一方面的第一种可能实现方式,还提供了所述第一方面的第二种可能实现方式,用户私钥包括第一私钥参数和第二私钥参数,所述更新参数包括第一更新参数和第二更新参数;
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥包括:
当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、以及第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用所述第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数;
当r大于0时,所述利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥包括:
当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第一私钥参数。
结合所述第一方面的第二种可能实现方式,还提供了所述第一方面的第三种可能实现方式,所述当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i-1时间段中最后一个子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第二私钥参数包括:
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第一私钥更新公式包括:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ;
其中,Si,r表示第i时间段中第r子时间段的第一私钥参数,ui,r表示第i时间段中第r子时间段的第二私钥参数;
SKRi,r表示第i时间段的第r子时间段的第一更新参数,σ表示第i时间段的第r子时间段的第二更新参数;
RN[i-1]表示第i-1时间段中最后一个子时间段的时间索引值;
H1(i,r)表示时间索引值i和r通过哈希运算得到的属于所述第一循环群的元素数据,H1(i-1,RN[i-1])表示时间索引值i-1和RN[i-1]分别通过哈希运算得到的属于所述第一循环群的元素数据;
当r大于0时,所述将第i时间段中第r子时间段和第r-1子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第一私钥参数包括:
利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,按照第二私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第二私钥更新公式为:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ;
H1(i,r-1)表示时间索引值i和r-1,通过哈希运算得到的属于所述第一循环群的元素数据;
其中,第0时间段中第0子时间段的用户私钥具体是利用第一随机参数、第0时间段的第0子时间段的设备私钥以及密钥哈希值,按照密钥生成公式生成的;
所述密钥生成公式为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0);
其中,S0,0表示第0时间段中第0子时间段的第一私钥参数;u0,0为第一随时参数,所述第一随机参数为第0时间段中第0子时间段的第二私钥参数;H1(0,0)为第0时间段中第0子时间段的哈希值;b0,0为第0时间段中第0子时间段的设备私钥。
结合所述第一方面的第二种可能实现方式或第三种可能实现方式,还提供了所述第一方面的第四种可能实现方式,所述第二更新参数为所述第三随机参数;
当r为0时,所述第一更新参数具体为所述安全设备利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为第三随机参数;
当r大于0时,所述第一更新参数为所述安全设备利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
结合所述第一方面的上述任一种可能实现方式,还提供了所述一方面的第五种可能实现方式,所述方法还包括:
获取根据安全参数k,生成的q阶第一循环群G1和q阶第二循环群G2,所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度;
所述预设数值集合为Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合。
结合所述第一方面的上述任一种可能实现方式,还提供了所述第一方面的第六种可能实现方式,所述方法还包括:
当接收到利用用户公钥以及目标时间索引值将目标数据加密后的密文时,利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
结合所述第一方面的第六种可能实现方式,还提供了所述第一方面的第七种可能实现方式,所述用户公钥为利用第一循环群的生成元、第0时间段中第0子时间段的设备私钥和第一私钥参数,按照公钥生成公式生成的,所述公钥生成公式为:
PKB=b0,0P,Ppub=u0,0P
PKB为第一公钥参数,Ppub为第二公钥参数,P为所述第一循环群的生成元;
则所述密文具体为按照加密公式得到,所述加密公式为:
V=M⊕H2(e(Ppub+PKB,H1(i,r))x);
U=xP;
其中,x为随机从预设数值集合中选择的第四随机参数,M为目标数据;所述密文包括U、V、i、r;H2(e(Ppub+PKB,H1(i,r))x)表示e(Ppub+PKB,H1(i,r))x通过哈希运算得到的属于第二循环群中的元素数据;
则利用所述时间索引值对应的用户私钥解密所述密文,得到所述目标数据具体是利用所述时间索引值对应的用户私钥,按照解密公式得到所述目标数据,所述解密公式为:
M=V⊕H2(e(U,Si,r));
其中,H2(e(U,Si,r))表示将e(U,Si,r)通过哈希运算得到的属于第二循环群中的元素数据。
第二方面,提供了一种密钥处理方法,包括:
安全设备进入第i时间段的第r子时间段时,生成更新参数并向用户设备发送携带该更新参数的更新消息,所述更新消息用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值值通过哈希运算得到的且属于第一循环群中的元素数据。
在所述第二方面的第一种可能实现方式中,所述更新参数包括第一更新参数和第二更新参数,用户私钥包括第一私钥参数和第二私钥参数,
则所述安全设备进入第i时间段中第r子时间段时,生成更新参数包括:
当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段的最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为随机从预设数值集合中选择的第三随机参数;
当r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
第三方面,提供了一种密钥处理装置,包括:
获取单元,用于获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
第一更新单元,用于当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
第二更新单元,用于当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
在所述第三方面的第一种可能实现方式中,所述第i时间段中第r子时间段的更新参数为所述安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段中第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;
则第0时间段中第0子时间段的用户私钥具体是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及所述密钥哈希值生成的。
结合所述第三方面或所述第三方面的第一种可能实现方式,还提供了所述第三方面的第一种可能实现方式,用户私钥包括第一私钥参数和第二私钥参数,所述更新参数包括第一更新参数和第二更新参数;
所述第一更新单元具体用于当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数;
所述第二更新单元具体用于当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第一私钥参数。
结合所述第三方面的上述任一种可能实现方式,还提供了所述第三方面的第三种可能实现方式,还包括:
循环群生成单元,用于根据安全参数k,生成q阶第一循环群G1和q阶第二循环群G2,使得所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度;
所述预设数值集合为Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合。
结合所述第三方面的第三种可能实现方式,还提供了所述第三方面的第四种可能实现方式,还包括:
解密单元,用于当接收到利用公钥以及目标时间索引值将目标数据加密后的密文时,利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
第四方面,提供了一种密钥处理装置,包括:
更新参数生成单元,用于当进入第i时间段的第r子时间段时,生成更新参数并发送至用户设备,所述更新参数用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于第一循环群中的元素数据。
在所述第四方面的第一种可能实现方式中,所述更新参数包括第一更新参数和第二更新参数,用户私钥包括第一私钥参数和第二私钥参数,
所述更新参数生成单元包括:
第一生成单元,用于当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段的最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为随机从预设数值集合中选择的第三随机参数;
第二生成单元,用于当所述时间索引值r大于0时,r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
综上,本申请提供了一种密钥处理方法和装置,用户设备获取安全设备在第i时间段中第r时间段生成的更新参数,当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;在第0时间段中第0子时间段的用户私钥是利用预设数值集合和双线性映射的第一循环群中的数据生成的,利用双线性映射生成的用户私钥比特长度短,在密钥更新时,利用当前子时间段的前一子时间段的参数,即可实现私钥更新,无需增加密钥长度,简单、高效,且私钥更新和生成与密钥生命周期无关,利用时间索引值即可,因此可以根据实际应用情况对密钥生命周期进行更改,提高了密钥更新的灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种密钥处理方法一个实施例的流程图;
图2为本申请实施例提供的一种密钥处理方法又一个实施例流程图;
图3为本申请实施例提供的一种密钥处理方法又一个实施例的流程图;
图4为本申请实施例提供的一种密钥处理装置一个实施例的结构示意图;
图5为本申请实施例提供的一种用户设备一个实施例的结构示意图;
图6为本申请实施例提供的一种密钥处理装置又一个实施例的结构示意图;
图7为本申请实施例提供的一种安全设备一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的主要思想之一包括:用户设备获取安全设备在第i时间段中第r子时间段生成的更新参数,当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;在第0时间段中第0子时间段的用户私钥是利用预设数值集合和双线性映射的第一循环群中的数据生成的,利用双线性映射生成的用户私钥比特长度短,在密钥更新时,利用当前子时间段的前一子时间段的参数,即可实现私钥更新,无需增加密钥长度,简单、高效,且私钥更新和生成与密钥生命周期无关,利用时间索引值即可,因此可以根据实际应用情况对密钥生命周期进行更改,提高了密钥更新的灵活性。
下面结合附图,对本申请技术方案进行详细描述。
图1为本申请实施例提供的一种密钥处理方法一个实施例的流程图,该方法可以包括:
101:用户设备获取安全设备提供的私钥更新消息。
所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r为两个时间索引值,且均为大于或者等于0的整数。
本申请实施例是利用入侵容忍技术的思想实现的,密钥的生命周期被划分为多个时间段,每个时间段又划分为多个子时间段,通过本申请实施例提供的密钥处理方案,实现了各个时间段中各个子时间段的私钥的更新。
假设将密钥的生命周期划分为M个时间段时,则i取值为0、1、2…M-1;
每个时间段划分为N个子时间段时,r取值为0、1、2……N-1。
本申请实施例主要应用于非对称密钥加密方案中,公钥是公开的,消息发送方利用公钥对消息进行加密,私钥仅消息接收方已知,利用私钥对加密的消息进行解密,从而保证了消息的传输安全性。通过私钥的更新,可以降低私钥泄露时对安全性的威胁。
安全设备是用于辅助实现私钥更新的设备,在不同的实际应用场景中,可以应用于消息发送侧,安全设备在各个时间段中的各个子时间段均会生成更新参数,以触发私钥的更新。
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
该第0时间段中第0子时间段的用户私钥即是指初始的用户私钥,随着时间的增加,需要对该初始的用户私钥进行更新,以减少密钥泄露对安全性造成的危害。该初始的用户私钥是基于双线性映射的第一循环群生成的,利用双线性映射生成的密钥长度是固定的。
第一随机参数和密钥哈希值可以通过四则运算,得到该初始的用户私钥。
102:当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥。
103:当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥。
在第i时间段中第r子时间段进行的私钥更新,根据r取值的不同可以分为两种情况,使得每个子时间段的用户私钥是根据其前一个子时间段的用户私钥生成的,其前一个子时间段,当r为0时,是指其前一个时间段(第i-1时间段)的最后一个子时间段,当r大于0时,即是指当前时间段(第i时间段)的其前一个子时间段(第r-1时间段)。
利用更新参数、前一个子时间段的用户私钥、以及时间索引值,即可以生成第i时间段中第r子时间段的用户私钥更新,具体的可以通过四则运算得到用户私钥。
在本实施例中,在第0时间段中第0子时间段的用户私钥是利用预设数值集合和双线性映射的第一循环群中的数据生成的,在进入第i时间段中第r子时间段,接收到安全设备的更新参数时,利用第i时间段中第r-1时间段或者第i-1时间段中最后一个时间段的用户私钥、更新参数、时间索引值,即可生成第i时间段中第r子时间段的用户私钥。第0时间段中第0子时间段的用户私钥是利用双线性映射生成,双线性映射生成的用户私钥比特长度短。算法简单,在密钥更新时,利用当前子时间段的前一子时间段的参数,即可实现私钥更新,简单、高效,且私钥更新和生成与密钥生命周期,利用时间索引值即可,因此可以根据实际应用情况对密钥生命周期进行更改,提高了密钥更新的灵活性。
此外,作为另一个实施例,利用各个参数,通过相应运算可以使得生成的第i时间段中第r子时间段的用户私钥,属于该预设数值集合或者该第一循环群。
预设数值集合包括的数值具体可以是具有固定比特长度的数值,第一循环群中的元素数据也是具有固定比特长度的元素数据,第i时间段中第r子时间段的用户私钥属于该预设数值集合或者该第一循环群,从而保证了更新的用户私钥的比特长度,不会随着时间的增加而增加,从而进一步减小了操作复杂性,可以提高更新效率。
其中,该第一循环群可以是根据安全参数k预先生成,根据安全参数k可以生成两个q阶的循环群,即第一循环群G1和第二循环群G2,使得两个q阶循环群满足双线性映射e:G1×G1→G2,第一循环群G1为双线性映射循环群,k为自然数,q为素数,k具体为q的比特长度。第一循环群的生成元为p。
该预设数值集合具体可以是Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合,即Zq=Z mod q,Z* q为Zq中不包括0的数值集合,由于q为素数,因此Z* q可以形成包含的数值具有有限比特长度的有限数值值域。
该密钥哈希值即是将第0时间段中第0子时间段的时间索引值(0,0)通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。即将(0,0)通过哈希运算映射到第一循环群中,即属于该第一循环群中的元素数据。
为了进一步提高安全性,作为又一个实施例,安全设备在第i时间段中第r子时间段的生成的更新参数可以是利用第i时间段中第r子时间段设备私钥生成的。用户设备已知安全设备的设备公钥,从而根据设备公钥识别接收到更新参数是否为该安全设备发送的,以防止入侵者的入侵。
其中,第0时间段的第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;当r为0时,第i时间段中第r子时间段的设备私钥是根据第i时间段中第r-1子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的,当r大于0时,第i时间段中第r子时间段的设备私钥是根据第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的,从而使得当前子时间段的该设备私钥包括该第三随机参数以及前一子时间段的设备私钥。
在该情况下,该第0时间段的第0子时间段的用户私钥具体可以是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及哈希值生成的。
为了进一步提高安全性,用户私钥可以由多个私钥参数组成,因此作为又一个实施例,用户私钥可以包括第一私钥参数以及第二私钥参数,该第一私钥参数主要用于密文的解密。
此时,安全设备生成的更新参数具体可以包括第一更新参数和第二更新参数。
其中,该第二更新参数具体可以为用于生成设备私钥的该第三随机参数。
当r为0时,该第一更新参数可以是安全设备利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值生成的
此时,步骤102的操作可以包括:
利用所述第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数、以及将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于所述第一循环群的元素数据,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用所述第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数,使得生成的第一私钥参数不包括该第三随机参数,以减少私钥的复杂度。
当r大于0时,该第一更新参数可以是所安全设备利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、第i时间段中第r子时间段和第r-1时间段的时间索引值生成的。
此时,步骤103操作可以包括:
利用所述第一更新参数和第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于所述第一循环群的元素数据,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i时间段中第r-1子时间段的第二私钥参数以及所述第二更新参数,生成第i时间段中第r子时间段的第二私钥参数,使得生成的第一私钥参数不包括该第三随机参数,以减少私钥的复杂度。
为了使得生成的用户私钥的第一私钥参数属于双线性映射的第一循环群,可以将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于所述第一循环群的元素数据,或者第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于所述第一循环群的元素数据,然后将得到的第一循环群的元素数据与其他参数,包括第一更新参数、第二更新参数、当前子时间段的前一子时间段的第一私钥参数和第二私钥参数,通过满足双线性映射性质的计算,可以使得第一私钥参数属于该第一循环群,从而使得第一私钥参数具有固定的比特长度,而不会随着时间的增加而增加。
其中,第0时间段中第0子时间段的第一私钥参数具体可以是利用第一随机参数、密钥哈希值以及安全设备第0时间段中第0子时间段的设备私钥生成的;第二私钥参数具体为该第一随机参数。
第一随机参数属于预设数值集合,利用第i时间段中第r-1子时间段的第二私钥参数以及所述第二更新参数,生成的第i时间段中第r子时间段的第二私钥参数,可以使得该第二私钥参数属于该预设数值集合。从而可以保证计算结果的收敛性,使得计算结果简单,同时保证了第二私钥参数的比特长度。
第i时间段中第r子时间段的第一私钥参数和第二私钥参数具体的可以按照私钥更新公式计算得到,私钥更新公式规定了利用更新参数、时间索引值以及前一子时间段的用户私钥生成当前子时间段的用户私钥的具体运算过程。作为一种可能的运算方式,参见图2,示出了本申请实施例提供的一种密钥处理方法又一个实施例的流程图,该方法可以包括:
201:用户设备获取根据安全参数k,生成的q阶第一循环群G1和q阶第二循环群G2,所述两个q阶循环群满足双线性映射e:G1×G1→G2。
其中,q为素数,k为q的比特长度。
201:获取安全设备提供的私钥更新消息。
其中,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数以及第二更新参数。
其中i和r为表示时间索引值,且均为大于或者等于0的整数。
201:当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照私钥更新公式,生成第i时间段中第r子时间段的用户私钥;
该私钥更新公式可以是:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ;
其中,Si,r表示第i时间段中第r子时间段的第一私钥参数,ui,r表示第i时间段中第r子时间段的第二私钥参数;Si-1,RN[i-1]表示第i-1时间段中最后一个子时间段的第一私钥参数;ui-1,RN[i-1]表示第i-1时间段中最后一个子时间段的第二私钥参数。
SKRi,r表示第i时间段中第r子时间段的第一更新参数,σ表示第i时间段中第r子时间段的第二更新参数。
RN[i-1]表示第i-1时间段中最后一个子时间段的时间索引值。
H1(i,r)表示i和r通过哈希运算得到的属于所述第一循环群的元素数据,H1(i-1,RN[i-1])表示i-1和RN[i-1]分别通过哈希运算得到的属于所述第一循环群的元素数据。
203:利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、时间索引值i和、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,按照私钥刷新公式,生成第i时间段中第r子时间段的用户私钥;
所述私钥刷新公式为:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ;
H1(i,r-1)表示i和r-1,通过哈希运算得到的属于所述第一循环群的元素数据。
其中,安全设备在第i时间段中第r子时间段生成的该第一更新参数和第二更新参数具体可以是利用在第i时间段中第r子时间段的设备私钥生成的。
该第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;第0时间段的第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数。
该第二更新参数可以具体为该第三随机参数。
在一种可能实现方式中,当r为0时,所述第一更新参数具体可以是所述安全设备利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第一参数生成公式生成的;
该第一参数生成公式可以是:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥。
该bi,r=bi-1,RN[i-1]+δ,δ为第三随机参数。
由上述描述可知,在该情况下第三随机参数δ与第二更新参数σ相同。
当r大于0时,所述第一更新参数可以为所述安全设备利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
该bi,r=bi,r-1+δ。
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥。
在本实施例中,第0时间段中第0子时间段的用户私钥具体可以是利用第一随机参数、第0时间段的第0子时间段的设备私钥以及密钥哈希值生成的按照私钥生成公式生成的;
所述私钥生成公式可以为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0)。
其中,S0,0表示第0时间段中第0子时间段的第一私钥参数;u0,0为第一随时参数,所述第一随机参数为第0时间段中第0子时间段的第二私钥参数;H1(0,0)为第0时间段中第0子时间段的哈希值;b0,0为第0时间段中第0子时间段的设备私钥,即为第二随机参数。
利用第一参数生成公式以及第二参数生成公式生成的第一更新参数和第二更新参数,对用户私钥进行更新,生成的用户私钥中可以使得第一私钥参数中不包括第三随机参数,简化了生成的用户私钥,第二私钥参数属于预设数值集合,保证了计算结果的收敛性,降低了操作复杂度。
204:接收到利用用户公钥以及目标时间索引值将目标数据加密后的密文。
其中,所述用户公钥为利用第一循环群的生成元、第0时间段中第0子时间段的设备私钥和第一私钥参数,按照公钥生成公式生成的,所述公钥生成公式为:
PKB=b0,0P,Ppub=u0,0P
PKB为第一公钥参数,Ppub为第二公钥参数,P为所述第一循环群的生成元;
则所述密文具体为按照加密公式得到,所述加密公式为:
V=M⊕H2(e(Ppub+PKB,H1(i,r))x);
U=xP;
其中,x为随机从预设数值集合中选择的第四随机参数,M为目标数据;所述密文包括U、V、i、r;H2(e(Ppub+PKB,H1(i,r))x)表示e(Ppub+PKB,H1(i,r))x通过哈希运算得到的属于第二循环群中的元素数据。e(Ppub+PKB,H1(i,r))x表示将Ppub+PKB和H1(i,r)通过双线性映射得到的属于第一循环群中的元素数据。
205:利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
该密文包括U、V、i、r时,利用所述时间索引值对应的用户私钥解密所述密文,得到所述目标数据具体是利用所述时间索引值对应的用户私钥,按照解密公式得到所述目标数据。
该解密公式可以为:
M=V⊕H2(e(U,Si,r));
其中,H2(e(U,Si,r))表示将e(U,Si,r)通过哈希运算得到的属于第二循环群中的元素数据。e(U,Si,r)表示将U和Si,r通过双线性映射得到的属于第二循环群中的元素数据。
在本实施例中,在保证密钥泄露安全性的前提下,利用双线性映射生成的各个子时间段的用户私钥,提高了更新效率,使得可以适用于不同用户设备中。在密钥更新时,利用当前子时间段的前一子时间段的参数,即可实现私钥更新,简单、高效,且私钥更新和生成与密钥生命周期,利用时间索引值即可,因此可以根据实际应用情况对密钥生命周期进行更改,提高了密钥更新的灵活性,可以适用于不同的应用场景中。
上述实施例在实际应用中,用户私钥的更新具体是由用户设备执行,安全设备生成更新参数,以触发用户设备对用户私钥进行更新,安全设备位于消息发送侧,公钥可以是消息发送侧生成,初始的用户私钥可以是消息发送侧或者消息接收侧的用户设备生成的。本申请实施例中的密钥处理可以应用于不同需要对传输消息保密的场景中,例如通信系统、金融系统等中。安全设备位于消息发送侧,从而可以触发消息接收侧的用户设备对用户密钥的自动更新,降低了密钥泄露对系统的威胁,且简单高效、灵活性高。
图3为本申请实施例一种密钥处理方法又一个实施例的流程图,该方法可以包括:
301:预先根据安全参数k,生成的q阶第一循环群G1和q阶第二循环群G2。
所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度。
302:随机从预设数值集合中选择第一随机参数和第二随机参数,生成第0时间段中第0子时间段的用户私钥、用户公钥以及安全设备私钥。
其中,任一子时间段的用户私钥包括第一私钥参数和第二私钥参数,用户公钥包括第一公钥参数和第二公钥参数。
具体的,可以利用公钥生成公式生成第一公钥参数和第二公钥参数;利用私钥生成公式生成第0时间段中第0子时间段的第一私钥参数,该第二私钥参数具体为该第一随机参数。该第0时间段中第0子时间段的设备私钥具体为该第二随机参数。
该私钥生成公式可以为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0)。
该公钥生成公式可以为:
PKB=b0,0P,Ppub=u0,0P。
步骤301和步骤302的操作可以预先由消息发送侧执行。
303:安全设备进入第i时间段的第r子时间段时,生成更新参数并向用户设备发送携带该更新参数的更新消息。
其中,该更新参数包括第一更新参数和第二更新参数。
该第二更新参数为随机从预设数值集合中选择的第三随机参数。
具体的,当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r=bi-1,RN[i-1]+δ;δ为第三随机参数。
当r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1)。
其中,bi,r=bi,r-1+δ。
各个参数说明具体可以参见上述实施例中所述,在此不再赘述。
304:用户设备获取所述第i时间段的第r子时间段的第一更新参数和第二更新参数。
305:当r为0时,利用所述安全设备生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一私钥更新公式,生成第i时间段中第r子时间段的用户私钥。
所述第一私钥更新公式可以是:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ。
由于第二更新参数即为第三随机参数,因此此时参数δ与参数σ相同。
306:当r大于0时,利用所述安全设备生成的第一更新参数和所述第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,按照第二私钥更新公式,生成第i时间段中第r子时间段的用户私钥。
所述第二私钥更新公式可以是:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ。
307:接收到利用用户公钥以及目标时间索引值将目标数据加密后的密文。
308:利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
步骤307~步骤308的操作参见上述实施例中步骤205~步骤206中所述。
本实施例实现了简单高效的密钥更新,且灵活性高,可以适用于密钥生命周期任意大小的场景。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
图4为本申请实施例提供的一种密钥处理装置一个实施例的结构示意图,该装置可以包括:
获取单元401,用于获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
第一更新单元402,用于当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
第二更新单元403,用于当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
在本实施例中,在第0时间段中第0子时间段的用户私钥是利用预设数值集合和双线性映射的第一循环群中的数据生成的,在进入第i时间段中第r子时间段,接收到安全设备的更新参数时,利用第i时间段中第r-1时间段或者第i-1时间段中最后一个时间段的用户私钥、更新参数、时间索引值,即可生成第i时间段中第r子时间段的用户私钥。第0时间段中第0子时间段的用户私钥是利用预设数值集合和双线性映射的第一循环群中的数据生成的,双线性映射生成的用户私钥比特长度短。算法简单,在密钥更新时,利用当前子时间段的前一子时间段的参数,即可实现私钥更新,简单、高效,且私钥更新和生成与密钥生命周期,利用时间索引值即可,因此可以根据实际应用情况对密钥生命周期进行更改,提高了密钥更新的灵活性。
在另一个实施例中,第i时间段中第r子时间段的更新参数为所述安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段的第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;
则第0时间段的第0子时间段的用户私钥具体是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及所述密钥哈希值生成的。
在又一个实施例中,用户私钥包括第一私钥参数和第二私钥参数,所述更新参数包括第一更新参数和第二更新参数;
所述第一更新单元具体可以用于当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段生成的第一更新参数和所述第二更新参数、以及第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数;
所述第二更新单元具体可以用于当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第一私钥参数。
在又一个实施例中,所述第一更新单元具体可以用于当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第一私钥更新公式包括:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ;
所述第二更新单元具体可以用于当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,按照第二私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第二私钥更新公式为:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ;
其中,第0时间段中第0子时间段的用户私钥具体是利用第一随机参数、第0时间段的第0子时间段的设备私钥以及哈希值生成的按照密钥生成公式生成的;
所述密钥生成公式为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0)。
其中,所述第二更新参数为所述第三随机参数;
当r为0时,所述第一更新参数具体为所述安全设备利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为第三随机参数;
当r大于0时,所述第一更新参数为所述安全设备利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
在又一个实施例中,该装置还可以包括:
循环群生成单元404,用于根据安全参数k,生成q阶第一循环群G1和q阶第二循环群G2,使得所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度;
所述预设数值集合为Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合。
解密单元405,用于当接收到利用公钥以及目标时间索引值将目标数据加密后的密文时,利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
其中,该所述公钥可以是根据第一循环群的生成元、第0时间段中第0子时间段的设备私钥和第一私钥参数,按照公钥生成公式生成的,所述公钥生成公式为:
PKB=b0,0P,Ppub=u0,0P;
PKB为第一公钥参数,Ppub为第二公钥参数,P为第一循环群的生成元;
所述密文具体为按照加密算法得到的,所述加密公式为:
V=M⊕H2(e(Ppub+PKB,H1(i,r))x);
U=xP;
其中,x为随机从预设数值集合中选择的第四随机参数,M为目标数据;所述密文包括U、V、i、r;H2(e(Ppub+PKB,H1(i,r))x)表示e(Ppub+PKB,H1(i,r))x通过哈希运算得到的属于第二循环群中的元素数据;
则所述解密单元具体可以用于利用所述时间索引值对应的用户私钥,按照解密公式得到所述目标数据,所述解密公式为:
M=V⊕H2(e(U,Si,r))。
上述实施例所述的密钥处理装置,在实际应用中,可以集成到用户设备中,该用户设备可以是无线通信设备,如手机、平板电脑等移动设备。部署本申请实施例密钥处理装置的用户设备,可以简单高效的实现对私钥的更新,保证了密码体制的安全性。
通过以上描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。因此,参见图5,本申请实施例还提供了一种用户设备,该用户设备至少可以包括处理器501和与处理器501通过总线分别连接的存储器502和接收器503。
该存储器502存储一组程序指令,该存储器可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
该处理器501,用于调用该存储器502存储的程序指令,执行如下操作:
触发接收器503获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段中第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
图6为本申请实施例提供的一种密钥处理装置又一个实施例的结构示意图,该装置可以包括:
更新参数生成单元,用于当进入第i时间段的第r子时间段时,生成更新参数并发送至用户设备,所述更新参数用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于第一循环群中的元素数据。
其中,该第i时间段中第r子时间段的更新参数具体可以是安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段中第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的。
其中,在一种可能实方式中,该更新参数可以具体包括第一更新参数和第二更新参数,用户私钥包括第一私钥参数和第二私钥参数,因此该更新参数生成单元601可以包括:
第一生成单元6011,用于当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段的最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为随机从预设数值集合中选择的第三随机参数;
第二生成单元6012,用于当所述时间索引值r大于0时,r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
该第一更新参数和第二更新参数可以具体用户触发用户设备当r为0时,利用所述第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第一私钥更新公式包括:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ;
当r大于0时,利用所述第一更新参数和所述第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,按照第二私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述第二私钥更新公式为:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ;
其中,第0时间段中第0子时间段的用户私钥具体是利用第一随机参数、第0时间段的第0子时间段的设备私钥以及密钥哈希值,按照密钥生成公式生成的;
所述密钥生成公式为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0)。
其中,σ与δ相同。
在本实施例中,利用第i时间段中第r子时间段的更新参数触发用户设备对用户私钥的更新,使得密钥更新简单、高效、且灵活性高。
上述实施例所述密钥处理装置,在实际应用中,可以集成到安全设备中,该安全设备可以应用于需要密码体制的服务系统中,利用移动运营商的服务系统、公安系统、金融系统等,使得可以在不同时间段的各个子时间段生成更新参数,触发用户设备密钥的更新,使得密钥更新操作简单高效,灵活性高。
通过以上描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。因此,参见图7,本申请实施例还提供了一种安全设备,该安全设备至少包括处理器701和与处理器701通过总线分别连接的存储器702和发送器703。
该存储器702存储一组程序指令,该存储器可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
该处理器701,用于调用该存储器702存储的程序指令,执行如下操作:
进入第i时间段的第r子时间段时,生成更新参数并触发发送器703向用户设备发送携带该更新参数的更新消息,所述更新消息用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于第一循环群中的元素数据。
其中,该处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种密钥处理方法,其特征在于,包括:
用户设备获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段中第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
2.根据权利要求1所述的方法,其特征在于,所述第i时间段中第r子时间段的更新参数为所述安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段中第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;
第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;
则第0时间段中第0子时间段的用户私钥具体是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及所述密钥哈希值生成的。
3.根据权利要求1或2所述的方法,其特征在于,用户私钥包括第一私钥参数和第二私钥参数,所述更新参数包括第一更新参数和第二更新参数;
当r为0时,利用所述安全设备进入第i时间段和第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥包括:
当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、以及第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用所述安全设备进入第i时间段和第r子时间段时生成的第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数;
当r大于0时,所述利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥包括:
当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第二私钥参数。
4.根据权利要求3所述的方法,其特征在于,当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、以及第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i-1时间段中最后一个子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第二私钥参数包括:
当r为0时,利用所述安全设备进入第i时间段中第r子时间段时的第一更新参数和所述第二更新参数、第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照私钥更新公式,生成第i时间段的第r子时间段的用户私钥;
所述私钥更新公式包括:
Si,r=Si-1,RN[i-1]+SKRi,r-σH1(i,r)+ui-1,RN[i-1](H1(i,r)-H1(i-1,RN[i-1]));
ui,r=ui-1,RN[i-1]-σ;
其中,Si,r表示第i时间段中第r子时间段的第一私钥参数,ui,r表示第i时间段中第r子时间段的第二私钥参数;
SKRi,r表示第i时间段的第r子时间段的第一更新参数,σ表示第i时间段的第r子时间段的第二更新参数;
RN[i-1]表示第i-1时间段中最后一个子时间段的时间索引值;
H1(i,r)表示时间索引值i和r通过哈希运算得到的属于所述第一循环群的元素数据,H1(i-1,RN[i-1])表示时间索引值i-1和RN[i-1]分别通过哈希运算得到的属于所述第一循环群的元素数据;
所述当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据,利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,
利用第i时间段中第r-1子时间段的第二私钥参数以及所述第二更新参数,生成第i时间段中第r子时间段的第二私钥参数包括:
当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,按照私钥刷新公式,生成第i时间段的第r子时间段的用户私钥;
所述私钥刷新公式包括:
Si,r=Si,r-1+SKRi,r-σH1(i,r)+ui,r-1(H1(i,r)-H1(i,r-1));
ui,r=ui,r-1-σ;
H1(i,r-1)表示时间索引值i和r-1,通过哈希运算得到的属于所述第一循环群的元素数据;
其中,第0时间段中第0子时间段的用户私钥具体是利用第一随机参数、第0时间段的第0子时间段的设备私钥以及密钥哈希值,按照密钥生成公式生成的;
所述密钥生成公式为:
S0,0=u0,0H1(0,0)+b0,0H1(0,0);
其中,S0,0表示第0时间段中第0子时间段的第一私钥参数;u0,0为第一随时参数,所述第一随机参数为第0时间段中第0子时间段的第二私钥参数;H1(0,0)为第0时间段中第0子时间段的哈希值;b0,0为第0时间段中第0子时间段的设备私钥。
5.根据权利要求3或4所述的方法,其特征在于,所述第二更新参数为所述第三随机参数;
当r为0时,所述第一更新参数具体为所述安全设备利用第i时间段中第r子时间段设备私钥、第i-1时间段中最后一个时间段的设备私钥、以及将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为第三随机参数;
当r大于0时,所述第一更新参数为所述安全设备利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到的属于第一循环群中的元素数据,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述获取安全设备提供的私钥更新消息之前,所述方法还包括:
获取根据安全参数k,生成的q阶第一循环群G1和q阶第二循环群G2,所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度;
所述预设数值集合为Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述方法还包括:
当接收到利用用户公钥以及目标时间索引值将目标数据加密后的密文时,利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
8.根据权利要求7所述的方法,其特征在于,所述用户公钥为利用第一循环群的生成元、第0时间段中第0子时间段的设备私钥和第一私钥参数,按照公钥生成公式生成的,所述公钥生成公式为:
PKB=b0,0P,Ppub=u0,0P
PKB为第一公钥参数,Ppub为第二公钥参数,P为所述第一循环群的生成元;
则所述密文具体为按照加密公式得到,所述加密公式为:
V=M⊕H2(e(Ppub+PKB,H1(i,r))x);
U=xP;
其中,x为随机从预设数值集合中选择的第四随机参数,M为目标数据;所述密文包括U、V、i、r;H2(e(Ppub+PKB,H1(i,r))x)表示e(Ppub+PKB,H1(i,r))x通过哈希运算得到的属于第二循环群中的元素数据;
则利用所述时间索引值对应的用户私钥解密所述密文,得到所述目标数据具体是利用所述时间索引值对应的用户私钥,按照解密公式得到所述目标数据,所述解密公式为:
M=V⊕H2(e(U,Si,r));
其中,H2(e(U,Si,r))表示将e(U,Si,r)通过哈希运算得到的属于第二循环群中的元素数据。
9.一种密钥处理方法,其特征在于,包括:
安全设备进入第i时间段的第r子时间段时,生成更新参数并向用户设备发送携带该更新参数的更新消息,所述更新消息用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于第一循环群中的元素数据。
10.根据权利要求9所述的方法,其特征在于,所述更新参数包括第一更新参数和第二更新参数,用户私钥包括第一私钥参数和第二私钥参数,
则所述安全设备进入第i时间段中第r子时间段时,生成更新参数包括:
当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段的最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为随机从预设数值集合中选择的第三随机参数;
当r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
11.一种密钥处理装置,其特征在于,包括:
获取单元,用于获取安全设备提供的私钥更新消息,所述私钥更新消息包括所述安全设备进入第i时间段中第r子时间段时生成的更新参数,其中i和r表示时间索引值,均为大于或者等于0的整数;
第一更新单元,用于当r为0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
第二更新单元,用于当r大于0时,利用所述安全设备进入第i时间段中第r子时间段时生成的更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于双线性映射的第一循环群中的元素数据。
12.根据权利要求11所述的装置,其特征在于,所述第i时间段中第r子时间段的更新参数为所述安全设备利用第i时间段中第r子时间段时的设备私钥生成的,其中,第0时间段中第0子时间段的设备私钥为随机从预设数值集合中选择的第二随机参数;第i时间段中第r子时间段设备私钥是利用第i时间段中第r-1子时间段或者第i-1时间段中最后一个子时间段的设备私钥、以及随机从预设数值集合中选择的第三随机参数生成的;
则第0时间段中第0子时间段的用户私钥具体是利用所述第一随机参数、所述第0时间段的第0子时间段的设备私钥以及所述密钥哈希值生成的。
13.根据权利要求11或12所述的装置,其特征在于,用户私钥包括第一私钥参数和第二私钥参数,所述更新参数包括第一更新参数和第二更新参数;
所述第一更新单元具体用于当r为0时,将第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和所述第二更新参数、以及第i-1时间段中最后一个子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数以及第i-1时间段中最后一个子时间段的第二私钥参数,生成第i时间段中第r子时间段的第二私钥参数;
所述第二更新单元具体用于当r大于0时,将第i时间段中第r子时间段和第r-1时间段的时间索引值通过哈希运算得到属于所述第一循环群的元素数据;利用所述元素数据、所述安全设备进入第i时间段中第r子时间段时生成的第一更新参数和第二更新参数、以及第i时间段中第r-1子时间段的第一私钥参数和第二私钥参数,生成第i时间段中第r子时间段的第一私钥参数;以及,利用第i时间段中第r-1子时间段的第二私钥参数以及所述安全设备进入第i时间段中第r子时间段时生成的第二更新参数,生成第i时间段中第r子时间段的第二私钥参数。
14.根据权利要求11~14任一项所述的装置,其特征在于,还包括:
循环群生成单元,用于根据安全参数k,生成q阶第一循环群G1和q阶第二循环群G2,使得所述两个q阶循环群满足双线性映射e:G1×G1→G2,其中,q为素数,k为q的比特长度;
所述预设数值集合为Z* q,Z* q表示整数集合Z与q取余运算,得到的不包括数值0的余数集合。
15.根据权利要求14所述的装置,其特征在于,还包括:
解密单元,用于当接收到利用公钥以及目标时间索引值将目标数据加密后的密文时,利用所述目标时间索引值对应的用户私钥解密所述密文,得到所述目标数据。
16.一种密钥处理装置,其特征在于,包括:
更新参数生成单元,用于当进入第i时间段的第r子时间段时,生成更新参数并发送至用户设备,所述更新参数用于指示所述用户设备当r为0时,利用所述更新参数、第i-1时间段中最后一个子时间段的用户私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;当r大于0时,利用所述更新参数、第i时间段中第r-1子时间段的用户私钥、以及第i时间段中第r子时间段和第r-1时间段的时间索引值,生成第i时间段中第r子时间段的用户私钥;
其中,第0时间段的第0子时间段的用户私钥为利用第一随机参数以及密钥哈希值生成的,所述第一随机参数为随机从预设数值集合中选择的,所述密钥哈希值为将第0时间段中第0子时间段的时间索引值通过哈希运算得到的且属于第一循环群中的元素数据。
17.根据权利要求16所述的装置,其特征在于,所述更新参数包括第一更新参数和第二更新参数,用户私钥包括第一私钥参数和第二私钥参数,
所述更新参数生成单元包括:
第一生成单元,用于当r为0时,利用第i时间段中第r子时间段设备私钥、第i-1时间段的最后一个时间段的设备私钥、以及第i时间段中第r子时间段和第i-1时间段中最后一个子时间段的时间索引值,按照第一参数生成公式生成的;
所述第一参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi-1,RN[i-1]H1(i-1,RN[i-1]);
其中,bi,r表示第i时间段中第r子时间的设备私钥,bi-1,RN[i-1]表示第i-1时间段中最后一个子时间段的设备私钥;bi,r=bi-1,RN[i-1]+δ;δ为随机从预设数值集合中选择的第三随机参数;
第二生成单元,用于当所述时间索引值r大于0时,r大于0时,利用第i时间段中第r子时间段设备私钥、第i时间段中第r-1时间段的设备私钥、以及第i时间段中第r子时间段和第r-1子时间段的时间索引值,按照第二参数生成公式生成的;
所述第二参数生成公式为:
SKRi,r=bi,rH1(i,r)-bi,r-1H1(i,r-1);
其中,bi,r-1表示第i时间段中第r-1子时间的设备私钥;bi,r=bi,r-1+δ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746982.4A CN104753666B (zh) | 2013-12-30 | 2013-12-30 | 密钥处理方法和装置 |
US14/577,739 US20150188703A1 (en) | 2013-12-30 | 2014-12-19 | Key processing method and apparatus |
EP14199527.4A EP2890047B1 (en) | 2013-12-30 | 2014-12-22 | Key processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746982.4A CN104753666B (zh) | 2013-12-30 | 2013-12-30 | 密钥处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753666A true CN104753666A (zh) | 2015-07-01 |
CN104753666B CN104753666B (zh) | 2018-08-14 |
Family
ID=52272891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310746982.4A Active CN104753666B (zh) | 2013-12-30 | 2013-12-30 | 密钥处理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150188703A1 (zh) |
EP (1) | EP2890047B1 (zh) |
CN (1) | CN104753666B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306726A (zh) * | 2017-01-13 | 2018-07-20 | 杭州海康威视数字技术股份有限公司 | 一种密钥获得方法及系统 |
CN118520478A (zh) * | 2024-05-28 | 2024-08-20 | 北京点控互联信息技术有限公司 | 基于区块链的金融数据高效加密方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9674162B1 (en) * | 2015-03-13 | 2017-06-06 | Amazon Technologies, Inc. | Updating encrypted cryptographic key pair |
US9479340B1 (en) | 2015-03-30 | 2016-10-25 | Amazon Technologies, Inc. | Controlling use of encryption keys |
US11057198B2 (en) * | 2016-03-04 | 2021-07-06 | Assured Enterprises, Inc. | Utilization of a proxy technique in escrow encryption key usage |
CN108234662A (zh) * | 2018-01-09 | 2018-06-29 | 江苏徐工信息技术股份有限公司 | 一种具有主动式动态密钥分发机制的安全云存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921381A (zh) * | 2005-08-23 | 2007-02-28 | 株式会社Ntt都科摩 | 密钥更新方法、加密处理方法、密码系统以及终端装置 |
US20070230705A1 (en) * | 2005-08-23 | 2007-10-04 | Ntt Docomo, Inc. | Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device |
US20090323937A1 (en) * | 2008-06-27 | 2009-12-31 | Industrial Technology Research Institute | Multi-level data encryption and decryption system and method thereof |
EP2282443A1 (en) * | 2008-04-16 | 2011-02-09 | ZTE Corporation | A cryptographic key generating method, device and system |
US20110176681A1 (en) * | 2008-10-17 | 2011-07-21 | Fujitsu Limited | Communication apparatus and communication method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9544139B2 (en) * | 2011-12-29 | 2017-01-10 | Intel Corporation | Method and apparatus for a non-deterministic random bit generator (NRBG) |
-
2013
- 2013-12-30 CN CN201310746982.4A patent/CN104753666B/zh active Active
-
2014
- 2014-12-19 US US14/577,739 patent/US20150188703A1/en not_active Abandoned
- 2014-12-22 EP EP14199527.4A patent/EP2890047B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921381A (zh) * | 2005-08-23 | 2007-02-28 | 株式会社Ntt都科摩 | 密钥更新方法、加密处理方法、密码系统以及终端装置 |
US20070230705A1 (en) * | 2005-08-23 | 2007-10-04 | Ntt Docomo, Inc. | Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device |
EP2282443A1 (en) * | 2008-04-16 | 2011-02-09 | ZTE Corporation | A cryptographic key generating method, device and system |
US20090323937A1 (en) * | 2008-06-27 | 2009-12-31 | Industrial Technology Research Institute | Multi-level data encryption and decryption system and method thereof |
US20110176681A1 (en) * | 2008-10-17 | 2011-07-21 | Fujitsu Limited | Communication apparatus and communication method |
Non-Patent Citations (1)
Title |
---|
ADRIAN PERRIG等: "《Efficient Authentication and Signing of Multicast Streams over Lossy Channels》", 《IEEE》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306726A (zh) * | 2017-01-13 | 2018-07-20 | 杭州海康威视数字技术股份有限公司 | 一种密钥获得方法及系统 |
CN108306726B (zh) * | 2017-01-13 | 2021-09-17 | 杭州海康威视数字技术股份有限公司 | 一种密钥获得方法及系统 |
CN118520478A (zh) * | 2024-05-28 | 2024-08-20 | 北京点控互联信息技术有限公司 | 基于区块链的金融数据高效加密方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2890047A1 (en) | 2015-07-01 |
CN104753666B (zh) | 2018-08-14 |
US20150188703A1 (en) | 2015-07-02 |
EP2890047B1 (en) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546181B (zh) | 基于密钥池的云存储加解密方法 | |
CN103023637B (zh) | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 | |
CN104753666A (zh) | 密钥处理方法和装置 | |
JP2016505887A (ja) | 乱数生成器及びストリーム暗号 | |
CN104126284A (zh) | 生成数字签名 | |
US10567158B2 (en) | Cryptographic device and an encoding device | |
CN109726567A (zh) | 一种基于全同态加密的移动目标加密方法 | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
CN107465508B (zh) | 一种软硬件结合构造真随机数的方法、系统和设备 | |
CN112100144A (zh) | 区块链文件共享方法、装置、存储介质及电子设备 | |
US10075290B2 (en) | Operator lifting in cryptographic algorithm | |
CN107317669B (zh) | 基于二元截断多项式环的无噪音全同态公钥加密方法 | |
CN113922956A (zh) | 基于量子密钥的物联网数据交互方法、系统、设备及介质 | |
US9215073B2 (en) | Key insulation method and device | |
CA2754370A1 (en) | Method and device for data encryption and decryption | |
CN111931204A (zh) | 用于分布式系统的加密去重存储方法、终端设备 | |
CN115765969A (zh) | 一种基于同态加密的隐匿集合求交方法、装置及存储介质 | |
CN113645022B (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
WO2018011825A1 (en) | Encryption and decryption of messages | |
Feng-ying et al. | A new image encryption algorithm based on the Logistic chaotic system | |
CN104837131A (zh) | 一种基于批处理指数运算乘积的批Cramer-Shoup密码体制 | |
CN118282653B (zh) | 量子密钥安全管理方法、系统、计算机设备及存储介质 | |
CN113381854B (zh) | 数据传输方法、装置、设备和存储介质 | |
Chen et al. | Enhanced cryptography by multiple chaotic dynamics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |