CN107342862B - 一种云加端三权分立实现密钥生成和保护的方法及系统 - Google Patents
一种云加端三权分立实现密钥生成和保护的方法及系统 Download PDFInfo
- Publication number
- CN107342862B CN107342862B CN201710750432.8A CN201710750432A CN107342862B CN 107342862 B CN107342862 B CN 107342862B CN 201710750432 A CN201710750432 A CN 201710750432A CN 107342862 B CN107342862 B CN 107342862B
- Authority
- CN
- China
- Prior art keywords
- random number
- key
- mobile terminal
- password
- server
- 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.)
- Active
Links
Images
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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种云加端三权分立实现密钥生成和保护的方法及系统,属于信息安全技术领域,本发明要解决的技术问题为如何提高用户密钥的安全性,采用的技术方案为:一种云加端三权分立实现密钥生成和保护的方法,移动端、SaaS服务端以及第三方密码服务端三方共同生成一个密钥SM2;移动端、SaaS服务端和第三方密码服务端分别安全存储各自的密钥片段;通过用户在移动端认证后,移动端、SaaS服务端以及第三方密码服务端三方各自根据自身的密钥片段对数据进行运算,运算结果再进行二次计算形成最后结果。一种云加端三权分立实现密钥生成和保护的系统,包括移动端、SaaS服务端、第三方密码服务端以及云密码机。
Description
技术领域
本发明涉及信息安全技术领域,具体地说是一种云加端三权分立实现密钥生成和保护的方法及系统。
背景技术
移动信息化,是指在现代移动通信技术、移动互联网技术构成的综合通信平台基础上,通过掌上终端、服务器、个人计算机等多平台的信息交互沟通,实现管理、业务、以及服务的移动化、信息化、电子化和网络化,向社会提供高效优质、规范透明、适时可得、电子互动的全方位管理与服务的过程。
SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demandsoftware”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
云计算时代和移动互联网时代,移动信息化和SaaS成为趋势。用户很难完全对SaaS服务厂商建立信任,如何提高用户密钥的安全性。
发明内容
本发明的技术任务是针对以上不足,提供一种云加端三权分立实现密钥生成和保护的方法及系统,来解决如何提高用户密钥的安全性的问题。
本发明的技术任务是按以下方式实现的,一种云加端三权分立实现密钥生成和保护的方法,利用移动端、SaaS服务端以及第三方密码服务端三方共同生成一个用户密钥,使用时三方共同计算,各自保持独立且相互制约又相互配合,提高用户密钥整体的安全性;包括如下步骤:
(1)、密钥生成流程:移动端、SaaS服务端以及第三方密码服务端三方共同生成一个密钥SM2;
(2)、密钥存储流程:移动端的密钥片段通过TEE/SE、绑定设备硬件、指纹/人脸生物特征、口令以及APP加固多种手段综合保护,SaaS服务端和第三方密码服务端使用云密码机安全存储各自的密钥片段;
(3)、密钥使用流程:通过用户在移动端认证后,移动端、SaaS服务端以及第三方密码服务端三方各自根据自身的密钥片段对数据进行运算,运算结果再进行二次计算形成最后结果。
作为优选,所述步骤(1)中密钥生成流程包括如下步骤:
①、移动端产生随机数d1,从随机数d1计算中间数据p1,使用SaaS服务端的公钥或证书加密p1,得到p1’并将p1’发送到SaaS服务端;
②、SaaS服务端解密p1’得到p1,SaaS服务端调用云密码机生成随机数d2,根据随机数d2和p1计算中间数据p2,p2使用第三方密码服务端的公钥或证书加密,得到p2’并将p2’发送到第三方密码服务端;
③、第三方密码服务端解密p2’得到p2,第三方密码服务端调用云密码机生成随机数d3,根据随机数d3和p2计算得到用户公钥;
其中,随机数d1、随机数d2、随机数d3分别是移动端、SaaS服务端、第三方密码服务端三方各自的密钥片段,三方分别安全存储和保护。
作为优选,所述步骤(2)中密钥存储流程包括如下步骤:
①、随机数d1在移动端采取多种手段综合加密以及保护,具体如下:
(Ⅰ)、确认移动端是否支持TEE[可信计算环境]/SE[安全单元]:
(ⅰ)、若移动端支持TEE/SE,将在TEE/SE内产生一对设备密钥,使用设备密钥的公钥加密随机数d1,得到d1’;其中,TEE/SE对设备密钥的访问控制支持指纹或本地口令认证;
(ⅱ)、若移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥;使用对称密钥加密随机数d1,得到d1’;
(Ⅱ)、采用自定义的安全密码键盘进行口令的输入,安全密码键盘用于预防截屏、录屏、内存嗅探多种攻击手段;
(Ⅲ)、整个APP进行安全加固,用于防逆向、防篡改、防调试、防窃取;
(Ⅳ)、采取以上措施后,随机数d1得到了安全的防护,并通过指纹、手机以及口令要素认证。
②、SaaS服务端的随机数d2,调用云密码机,使用云密码机的设备密钥加密随机数d2,得到d2’;
③、第三方密码服务端的随机数d3,调用云密码机,使用云密码机的设备密钥加密随机数d3,得到d3’。
作为优选,所述步骤(3)中密钥的使用流程包括如下步骤:
①、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,在移动端输入设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到随机数d1;移动端设备密钥登入命令为口令或指纹;
(ⅱ)、若移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥;使用该密钥解密d1’,得到随机数d1;
②、移动端得到随机数d1后,使用随机数d1对待处理的数据计算,得到中间结果s1,发送s1到SaaS服务端;
③、SaaS服务端调用云密码机解密d2’,得到随机数d2,使用随机数d2对待处理的数据计算,得到s2,发送s2到第三方密码服务端;
④、第三方密码服务端调用云密码机解密d3’,得到随机数d3,使用随机数d3对待处理的数据计算,得到s3;
⑤、s1、s2、s3经过二次合成计算形成最后结果S。
更优地,所述步骤(1)中①移动端产生随机数d1,d1 = MobileGenRand();
从随机数d1计算中间数据p1,p1 = Encode(d1);使用SaaS服务端的公钥加密p1,得到p1’,p1’ = Encrypt(p1,SaaSPubKey);步骤(1)中②SaaS服务端解密p1’,得到p1,p1 =Decrypt(p1’,SaaSPriKey);SaaS服务端调用云密码机生成随机数d2,d2 = JMJGenRand();根据d2和p1计算中间数据p2,p2 = Encode(d2,p1);p2使用第三方密码服务端的公钥加密,得到p2’,p2’= Encrypt(p2,TDSerPubKey);步骤(1)中③第三方密码服务端解密p2’,得到p2,p2 = Decrypt(p1’,TDSerPriKey);第三方密码服务端调用云密码机生成随机数d3,d3= JMJGenRand();根据随机数d3和p2计算得到用户公钥,UserPubKey = GenPubKey(d3,p2)。
更优地,所述步骤(2)中①移动端支持TEE/SE,在TEE/SE内产生一对非对称算法的设备密钥,DevKey = GenKeypairByTEE/SE();使用设备密钥的公钥加密d1,得到d1’,d1’= Encrypt(d1,DevPubKey)。
更优地,所述步骤(2)的①中移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥,DKey = Hash(DeviceInfo+Pin);使用对称密钥加密随机数d1,得到d1’,d1’ = Encrypt(d1,DKey)。
更优地,所述步骤(3)中的①移动端支持EE/SE,在移动端输入移动端设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到d1,d1 = Decypt(d1’,DevPriKey);步骤(3)中②移动端使用随机数d1对待处理的数据计算,得到中间结果s1,s1 = Sign1(d1,HashData);步骤(3)中④SaaS服务端调用云密码机解密d2’,得到随机数d2 ,d2 = Decypt(d2’,JMJPriKey);使用随机数d2对待处理的数据计算,得到s2,s2 = Sign2(d2,s1,HashData);步骤(3)中③第三方密码服务端调用云密码机解密d3’,得到随机数d3,d3 =Decypt(d3’,JMJPriKey);使用随机数d3对待处理的数据计算,得到s3,s3 = Sign3(d3,s2,HashData);步骤(3)中④s1、s2、s3经过二次合成计算形成最后结果S,S = SignEnd(s1,s2,s3)。
更优地,所述步骤(3)的①中移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥,DKey =Hash(DeviceInfo+Pin);使用该密钥解密d1’,得到随机数d1,d1 = Decypt(d1’,DKey)。
一种云加端三权分立实现密钥生成和保护的系统,包括移动端、SaaS服务端、第三方密码服务端以及云密码机;移动端用于移动端密钥片段的生产、安全存储和使用;SaaS服务端用于SaaS服务端的密钥片段的生成、安全存储和使用,并提供API供其使用;第三方密码服务端用于第三方密码服务端的密钥片段的生成、安全存储和使用;云密码机用于SaaS服务端以及第三方密码服务端随机数的生成、密钥片段的加密和解密。
本发明的一种云加端三权分立实现密钥生成和保护的方法及系统具有以下优点:
1、本发明引入一个第三方机构即第三方密码服务端,利用移动端、SaaS服务端、第三方密码服务端三方生成和存储以及使用,三者之间相互制约又相互配合,从而提高整体的安全性;
2、用户的密钥在三方合作生成,使用时不合成原始密钥,大大降低了被攻击的风险;
3、移动端的密钥片段通过TEE/SE、绑定设备硬件、指纹/人脸生物特征、口令、APP加固等综合手段保护,其中,采用自定义的安全密码键盘进行口令的输入,安全密码键盘用于预防截屏、录屏、内存嗅探多种攻击手段;整个APP进行安全加固,用于防逆向、防篡改、防调试、防窃取;随机数d1得到了安全的防护,并通过指纹、手机以及口令要素认证,大大提升了移动端密钥片段的安全性;
4、SaaS服务端和第三方密码服务端均通过云密码机保护密钥片段,安全性高。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种云加端三权分立实现密钥生成和保护的系统的结构框图;
附图2为一种云加端三权分立实现密钥生成和保护的方法中密钥生成流程框图;
附图3为一种云加端三权分立实现密钥生成和保护的方法中移动端密钥片段保护的流程框图;
附图4为一种云加端三权分立实现密钥生成和保护的方法中密钥使用的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种云加端三权分立实现密钥生成和保护的方法及系统作以下详细地说明。
实施例1:
本发明的一种云加端三权分立实现密钥生成和保护的方法,利用移动端、SaaS服务端以及第三方密码服务端三方共同生成一个用户密钥,使用时三方共同计算,各自保持独立且相互制约又相互配合,提高用户密钥整体的安全性;包括如下步骤:
(1)、密钥生成流程:移动端、SaaS服务端以及第三方密码服务端三方共同生成一个密钥SM2;
(2)、密钥存储流程:移动端的密钥片段通过TEE/SE、绑定设备硬件、指纹/人脸生物特征、口令以及APP加固多种手段综合保护,SaaS服务端和第三方密码服务端使用云密码机安全存储各自的密钥片段;
(3)、密钥使用流程:通过用户在移动端认证后,移动端、SaaS服务端以及第三方密码服务端三方各自根据自身的密钥片段对数据进行运算,运算结果再进行二次计算形成最后结果。
实施例2:
本发明的一种云加端三权分立实现密钥生成和保护的方法,利用移动端、SaaS服务端以及第三方密码服务端三方共同生成一个用户密钥,使用时三方共同计算,各自保持独立且相互制约又相互配合,提高用户密钥整体的安全性;包括如下步骤:
(1)、密钥生成流程:移动端、SaaS服务端以及第三方密码服务端三方共同生成一个密钥SM2;如附图2所示,包括如下步骤:
①、移动端产生随机数d1,d1 = MobileGenRand();从随机数d1计算中间数据p1,p1 = Encode(d1);使用SaaS服务端的公钥或证书加密p1,得到p1’,p1’ = Encrypt(p1,SaaSPubKey);并将p1’发送到SaaS服务端;
②、SaaS服务端解密p1’得到p1, p1 = Decrypt(p1’,SaaSPriKey);SaaS服务端调用云密码机生成随机数d2, d2 = JMJGenRand();根据随机数d2和p1计算中间数据p2,p2 =Encode(d2,p1);p2使用第三方密码服务端的公钥或证书加密,得到p2’,p2’= Encrypt(p2,TDSerPubKey);并将p2’发送到第三方密码服务端;
③、第三方密码服务端解密p2’得到p2,p2 = Decrypt(p1’,TDSerPriKey);第三方密码服务端调用云密码机生成随机数d3,d3 = JMJGenRand();根据随机数d3和p2计算得到用户公钥,UserPubKey = GenPubKey(d3,p2);
其中,随机数d1、随机数d2、随机数d3分别是移动端、SaaS服务端、第三方密码服务端三方各自的密钥片段,三方分别安全存储和保护。
(2)、密钥存储流程:移动端的密钥片段通过TEE/SE、绑定设备硬件、指纹/人脸生物特征、口令以及APP加固多种手段综合保护,SaaS服务端和第三方密码服务端使用云密码机安全存储各自的密钥片段;包括如下步骤:
①、随机数d1在移动端采取多种手段综合加密以及保护,如附图3所示,具体如下:
(Ⅰ)、确认移动端是否支持TEE[可信计算环境]/SE[安全单元]:
(ⅰ)、若移动端支持TEE/SE,将在TEE/SE内产生一对非对称算法的设备密钥,DevKey = GenKeypairByTEE/SE();使用设备密钥的公钥加密随机数
d1,得到d1’,d1’ = Encrypt(d1,DevPubKey);其中,TEE/SE对设备密钥的访问控制支持指纹或本地口令认证;
(ⅱ)、若移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥,DKey = Hash(DeviceInfo+Pin);使用对称密钥加密随机数d1,得到d1’,d1’= Encrypt(d1,DKey);
(Ⅱ)、采用自定义的安全密码键盘进行口令的输入,安全密码键盘用于预防截屏、录屏、内存嗅探多种攻击手段;
(Ⅲ)、整个APP进行安全加固,用于防逆向、防篡改、防调试、防窃取;
(Ⅳ)、采取以上措施后,随机数d1得到了安全的防护,并通过指纹、手机以及口令要素认证。
②、SaaS服务端的随机数d2,调用云密码机,使用云密码机的设备密钥加密随机数d2,得到d2’;
③、第三方密码服务端的随机数d3,调用云密码机,使用云密码机的设备密钥加密随机数d3,得到d3’。
(3)、密钥使用流程:通过用户在移动端认证后,移动端、SaaS服务端以及第三方密码服务端三方各自根据自身的密钥片段对数据进行运算,运算结果再进行二次计算形成最后结果。如附图4所示,包括如下步骤:
①、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,在移动端输入设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到随机数d1,d1 = Decypt(d1’,DevPriKey);移动端设备密钥登入命令为口令或指纹;
(ⅱ)、若移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥,DKey = Hash(DeviceInfo+Pin);使用该密钥解密d1’,得到随机数d,d1 = Decypt(d1’,DKey)1;
②、移动端得到随机数d1后,使用随机数d1对待处理的数据计算,得到中间结果s1,s1 = Sign1(d1,HashData),发送s1到SaaS服务端;
③、SaaS服务端调用云密码机解密d2’,得到随机数d2,d2 = Decypt(d2’,JMJPriKey);使用随机数d2对待处理的数据计算,得到s2,s2 = Sign2(d2,s1,HashData);发送s2到第三方密码服务端;
④、第三方密码服务端调用云密码机解密d3’,得到随机数d3,d3 = Decypt(d3’,JMJPriKey);使用随机数d3对待处理的数据计算,得到s3,s3 = Sign3(d3,s2,HashData);
⑤、s1、s2、s3经过二次合成计算形成最后结果S,S = SignEnd(s1,s2,s3)。
实施例3:
如附图1所示,本发明的一种云加端三权分立实现密钥生成和保护的系统,包括移动端、SaaS服务端、第三方密码服务端以及云密码机;移动端用于移动端密钥片段的生产、安全存储和使用;SaaS服务端用于SaaS服务端的密钥片段的生成、安全存储和使用,并提供API供其使用;第三方密码服务端用于第三方密码服务端的密钥片段的生成、安全存储和使用;云密码机用于SaaS服务端以及第三方密码服务端随机数的生成、密钥片段的加密和解密。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (7)
1.一种云加端三权分立实现密钥生成和保护的方法,其特征在于利用移动端、SaaS服务端以及第三方密码服务端三方共同生成一个用户密钥,使用时三方共同计算,各自保持独立且相互制约又相互配合,提高用户密钥整体的安全性;包括如下步骤:
(1)、密钥生成流程:移动端、SaaS服务端以及第三方密码服务端三方共同生成一个密钥SM2;
其中,密钥生成流程包括如下步骤:
①、移动端产生随机数d1,从随机数d1计算中间数据p1,使用SaaS服务端的公钥或证书加密p1,得到p1’并将p1’发送到SaaS服务端;
②、SaaS服务端解密p1’得到p1,SaaS服务端调用云密码机生成随机数d2,根据随机数d2和p1计算中间数据p2,p2使用第三方密码服务端的公钥或证书加密,得到p2’并将p2’发送到第三方密码服务端;
③、第三方密码服务端解密p2’得到p2,第三方密码服务端调用云密码机生成随机数d3,根据随机数d3和p2计算得到用户公钥;
其中,随机数d1、随机数d2、随机数d3分别是移动端、SaaS服务端、第三方密码服务端三方各自的密钥片段,三方分别安全存储和保护;(2)、密钥存储流程:移动端的密钥片段通过TEE/SE、绑定设备硬件、指纹/人脸生物特征、口令以及APP加固多种手段综合保护,SaaS服务端和第三方密码服务端使用云密码机安全存储各自的密钥片段;其中,密钥存储流程包括如下步骤:
①、随机数d1在移动端采取多种手段综合加密以及保护,具体如下:
(Ⅰ)、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,将在TEE/SE内产生一对设备密钥,使用设备密钥的公钥加密随机数d1,得到d1’;其中,TEE/SE对设备密钥的访问控制支持指纹或本地口令认证;
(ⅱ)、若移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥;使用对称密钥加密随机数d1,得到d1’;
(Ⅱ)、采用自定义的安全密码键盘进行口令的输入,安全密码键盘用于预防截屏、录屏和内存嗅探多种攻击手段;
(Ⅲ)、整个APP进行安全加固,用于防逆向、防篡改、防调试和防窃取;
(Ⅳ)、采取d1加密存储、安全密码键盘及整个APP进行安全加固的措施后,随机数d1得到了安全的防护,并通过指纹、手机以及口令要素认证;
②、SaaS服务端的随机数d2,调用云密码机,使用云密码机的设备密钥加密随机数d2,得到d2’;
③、第三方密码服务端的随机数d3,调用云密码机,使用云密码机的设备密钥加密随机数d3,得到d3’;
(3)、密钥使用流程:通过用户在移动端认证后,移动端、SaaS服务端以及第三方密码服务端三方各自根据自身的密钥片段对数据进行运算,运算结果再进行二次计算形成最后结果;其中,密钥的使用流程包括如下步骤:
①、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,在移动端输入设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到随机数d1;移动端设备密钥登入命令为口令或指纹;
(ⅱ)、若移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥;使用该密钥解密d1’,得到随机数d1;
②、移动端得到随机数d1后,使用随机数d1对待处理的数据计算,得到中间结果s1,发送s1到SaaS服务端;
③、SaaS服务端调用云密码机解密d2’,得到随机数d2,使用随机数d2对待处理的数据计算,得到s2,发送s2到第三方密码服务端;
④、第三方密码服务端调用云密码机解密d3’,得到随机数d3,使用随机数d3对待处理的数据计算,得到s3;
⑤、s3经过二次合成计算形成最后结果S。
2.根据权利要求1所述的一种云加端三权分立实现密钥生成和保护的方法,其特征在于所述步骤(1)中①移动端产生随机数d1,d1=MobileGenRan d();从随机数d1计算中间数据p1,p1=Encode(d1);使用SaaS服务端的公钥加密p1,得到p1’,p1’=Encrypt(p1,SaaSPubKey);步骤(1)中②SaaS服务端解密p1’,得到p1,p1=Decrypt(p1’,SaaSPriKey);SaaS服务端调用云密码机生成随机数d2,d2=JMJGenRand();根据d2和p1计算中间数据p2,p2=Encode(d2,p1);p2使用第三方密码服务端的公钥加密,得到p2’,p2’=Encrypt(p2,TDSerPubKey);步骤(1)中③第三方密码服务端解密p2’,得到p2,p2=Decrypt(p1’,TDSerPriKey);第三方密码服务端调用云密码机生成随机数d3,d3=JMJGenRand();根据随机数d3和p2计算得到用户公钥,UserPubKey=GenPubKey(d3,p2)。
3.根据权利要求1所述的一种云加端三权分立实现密钥生成和保护的方法,其特征在于所述步骤(2)中①移动端支持TEE/SE,在TEE/SE内产生一对非对称算法的设备密钥,DevKey=GenKeypairByTEE/SE();使用设备密钥的公钥加密d1,得到d1’,d1’=Encrypt(d1,DevPubKey)。
4.根据权利要求1所述的一种云加端三权分立实现密钥生成和保护的方法,其特征在于所述步骤(2)的①中移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥,DKey=Hash(DeviceInfo+Pin);使用对称密钥加密随机数d1,得到d1’,d1’=Encrypt(d1,DKey)。
5.根据权利要求1所述的一种云加端三权分立实现密钥生成和保护的方法,其特征在于所述步骤(3)中的①移动端支持TEE/SE,在移动端输入移动端设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到d1,d1=Decypt(d1’,DevPriKey);步骤(3)中②移动端使用随机数d1对待处理的数据计算,得到中间结果s1,s1=Sign1(d1,HashData);步骤(3)中④SaaS服务端调用云密码机解密d2’,得到随机数d2,d2=Decypt(d2’,JMJPriKey);使用随机数d2对待处理的数据计算,得到s2,s2=Sign2(d2,s1,HashData);步骤(3)中③第三方密码服务端调用云密码机解密d3’,得到随机数d3,d3=Decypt(d3’,JMJPriKey);使用随机数d3对待处理的数据计算,得到s3,s3=Sign3(d3,s2,HashData);步骤(3)中④s1、s2、s3经过二次合成计算形成最后结果S,S=SignEnd(s1,s2,s3)。
6.根据权利要求1所述的一种云加端三权分立实现密钥生成和保护的方法,其特征在于所述步骤(3)的①中移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥,DKey=Hash(DeviceInfo+Pin);使用该密钥解密d1’,得到随机数d1,d1=Decypt(d1’,DKey)。
7.一种云加端三权分立实现密钥生成和保护的系统,其特征在于包括移动端、SaaS服务端、第三方密码服务端以及云密码机;移动端用于移动端密钥片段的生产、安全存储和使用;SaaS服务端用于SaaS服务端的密钥片段的生成、安全存储和使用,并提供API供其使用;第三方密码服务端用于第三方密码服务端的密钥片段的生成、安全存储和使用;云密码机用于SaaS服务端以及第三方密码服务端随机数的生成、密钥片段的加密和解密;
其中,密钥生成流程包括如下步骤:
①、移动端产生随机数d1,从随机数d1计算中间数据p1,使用SaaS服务端的公钥或证书加密p1,得到p1’并将p1’发送到SaaS服务端;
②、SaaS服务端解密p1’得到p1,SaaS服务端调用云密码机生成随机数d2,根据随机数d2和p1计算中间数据p2,p2使用第三方密码服务端的公钥或证书加密,得到p2’并将p2’发送到第三方密码服务端;
③、第三方密码服务端解密p2’得到p2,第三方密码服务端调用云密码机生成随机数d3,根据随机数d3和p2计算得到用户公钥;
其中,随机数d1、随机数d2、随机数d3分别是移动端、SaaS服务端、第三方密码服务端三方各自的密钥片段,三方分别安全存储和保护;
密钥存储流程包括如下步骤:
①、随机数d1在移动端采取多种手段综合加密以及保护,具体如下:
(Ⅰ)、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,将在TEE/SE内产生一对设备密钥,使用设备密钥的公钥加密随机数d1,得到d1’;其中,TEE/SE对设备密钥的访问控制支持指纹或本地口令认证;
(ⅱ)、若移动端不支持TEE/SE,随机数d1和移动端设备硬件绑定,提取设备的硬件信息以及用户设置的口令计算摘要,派生出对称密钥;使用对称密钥加密随机数d1,得到d1’;
(Ⅱ)、采用自定义的安全密码键盘进行口令的输入,安全密码键盘用于预防截屏、录屏和内存嗅探多种攻击手段;
(Ⅲ)、整个APP进行安全加固,用于防逆向、防篡改、防调试和防窃取;
(Ⅳ)、采取d1加密存储、安全密码键盘及整个APP进行安全加固的措施后,随机数d1得到了安全的防护,并通过指纹、手机以及口令要素认证;
②、SaaS服务端的随机数d2,调用云密码机,使用云密码机的设备密钥加密随机数d2,得到d2’;
③、第三方密码服务端的随机数d3,调用云密码机,使用云密码机的设备密钥加密随机数d3,得到d3’;
密钥的使用流程包括如下步骤:
①、确认移动端是否支持TEE/SE:
(ⅰ)、若移动端支持TEE/SE,在移动端输入设备密钥登入命令,调用移动端的设备私钥,对d1’进行解密,得到随机数d1;移动端设备密钥登入命令为口令或指纹;
(ⅱ)、若移动端不支持TEE/SE,使用安全密码键盘输入用户口令,读取移动端硬件信息,口令和移动端硬件信息计算摘要,派生出一个对称密钥;使用该密钥解密d1’,得到随机数d1;
②、移动端得到随机数d1后,使用随机数d1对待处理的数据计算,得到中间结果s1,发送s1到SaaS服务端;
③、SaaS服务端调用云密码机解密d2’,得到随机数d2,使用随机数d2对待处理的数据计算,得到s2,发送s2到第三方密码服务端;
④、第三方密码服务端调用云密码机解密d3’,得到随机数d3,使用随机数d3对待处理的数据计算,得到s3;
⑤、s3经过二次合成计算形成最后结果S。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750432.8A CN107342862B (zh) | 2017-08-28 | 2017-08-28 | 一种云加端三权分立实现密钥生成和保护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750432.8A CN107342862B (zh) | 2017-08-28 | 2017-08-28 | 一种云加端三权分立实现密钥生成和保护的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107342862A CN107342862A (zh) | 2017-11-10 |
CN107342862B true CN107342862B (zh) | 2021-02-19 |
Family
ID=60214882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710750432.8A Active CN107342862B (zh) | 2017-08-28 | 2017-08-28 | 一种云加端三权分立实现密钥生成和保护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107342862B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150891B (zh) * | 2018-09-05 | 2020-03-17 | 北京深思数盾科技股份有限公司 | 一种验证方法、装置和信息安全设备 |
CN111431719A (zh) * | 2020-04-20 | 2020-07-17 | 山东确信信息产业股份有限公司 | 一种移动终端密码保护模块、移动终端及密码保护方法 |
CN112769805A (zh) * | 2020-12-31 | 2021-05-07 | 普华诚信信息技术有限公司 | 云密码管理方法、系统和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN104113625A (zh) * | 2014-07-28 | 2014-10-22 | 深圳市中兴移动通信有限公司 | 通话录制系统、方法、装置及移动终端 |
-
2017
- 2017-08-28 CN CN201710750432.8A patent/CN107342862B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN104113625A (zh) * | 2014-07-28 | 2014-10-22 | 深圳市中兴移动通信有限公司 | 通话录制系统、方法、装置及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107342862A (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
JP4866863B2 (ja) | セキュリティコード生成方法及びユーザ装置 | |
CN103107995B (zh) | 一种云计算环境数据安全存储系统和方法 | |
CN102377564B (zh) | 私钥的加密方法及装置 | |
CN109379387B (zh) | 一种物联网设备间的安全认证和数据通信系统 | |
US20140270179A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
US11874935B2 (en) | Protecting data from brute force attack | |
RU2584500C2 (ru) | Криптографический способ аутентификации и идентификации с шифрованием в реальном времени | |
US20110161662A1 (en) | System and method for updating digital certificate automatically | |
CN103067160A (zh) | 一种加密sd卡的动态密钥生成的方法及系统 | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN104994068A (zh) | 一种云环境下多媒体内容保护和安全分发方法 | |
CN107342862B (zh) | 一种云加端三权分立实现密钥生成和保护的方法及系统 | |
CN101951315A (zh) | 密钥处理方法及装置 | |
CN103701596A (zh) | 文件访问及响应文件访问请求的方法、系统和设备 | |
CN112507296B (zh) | 一种基于区块链的用户登录验证方法及系统 | |
CN113868684A (zh) | 一种签名方法、装置、服务端、介质以及签名系统 | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、系统及存储介质 | |
TWI476629B (zh) | Data security and security systems and methods | |
CN113468582A (zh) | 一种抗量子计算加密通信方法 | |
CN108334786A (zh) | 一种数据加密方法 | |
CN100561913C (zh) | 一种访问密码设备的方法 | |
CN116244750A (zh) | 一种涉密信息维护方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |