CN110650010B - 一种非对称密钥中的私钥生成和使用方法、装置和设备 - Google Patents
一种非对称密钥中的私钥生成和使用方法、装置和设备 Download PDFInfo
- Publication number
- CN110650010B CN110650010B CN201910902373.0A CN201910902373A CN110650010B CN 110650010 B CN110650010 B CN 110650010B CN 201910902373 A CN201910902373 A CN 201910902373A CN 110650010 B CN110650010 B CN 110650010B
- Authority
- CN
- China
- Prior art keywords
- private key
- user private
- user
- components
- white
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/0822—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 key encryption key
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了非对称密钥中的私钥生成和使用方法、装置和设备。所述非对称密钥中的私钥生成方法包括:获取非对称密钥生成请求;根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;将所述多个用户私钥分量密文存储在同一设备。
Description
技术领域
本申请涉及数据安全技术领域,尤其涉及一种非对称密钥中的私钥生成和使用方法、装置和设备。
背景技术
密钥在一个密码系统中具有异常重要的地位。在加密系统中,只有掌握合法的密钥的用户才能执行解密操作;在签名系统中,只有掌握合法密钥的用户才能产生有效的签名。现在使用的密码体制由算法和密钥组成,在密码体制的算法公开的前提下,密码体制的安全性就完全依赖于密钥的安全性。目前,基于公钥密码学的数字签名和加解密技术已经广泛应用于身份认证、电子商务等领域,成为保证信息安全的重要工具,而其中,密钥(私钥)的安全性是保证这些应用安全的基础。
通常可以使用硬件密码模块和/或软件密码模块来保护密钥。一般来说,硬件密码模块适合于防护重要系统中的关键部分,除此之外的部分,更适合采用软件密码模块。软件密码模块的应用范围更广,目前密码应用场景极其广泛,有大量的应用场景不适合使用硬件密码模块,例如,移动终端由于体积限制而无法部署硬件密码模块;互联网信息中心由于产品的快速部署需求而无法全面部署硬件密码模块。与传统的硬件密码模块相比,软件密码模块具有成本低、部署方便的优点。
为了提高密钥保护的安全性,现有技术的软件密码模块可以使用分布式手段来保护密钥。具体地,将密钥分成若干个分量,分别存放在多个不同的物理设备中,每一个密码操作必须这些设备共同协作才能完成。这些方法的局限性在于,将密钥分散在与用户端通信连接的多个其他设备上,具有较高的系统建设成本,并且当使用存储在不同设备上的密钥分量时,各个存储设备之间的交互过程复杂、通信次数繁多、通讯成本较高。
发明内容
有鉴于此,本申请实施例提供了一种非对称密钥中的私钥生成和使用方法、装置和设备,用于在保证私钥存储安全性的同时,减少私钥使用时服务器之间的通信交互,降低通讯成本,减少通讯延迟。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种非对称密钥中的私钥生成方法,包括:获取非对称密钥生成请求;根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;将所述多个用户私钥分量密文存储在同一设备。
本说明书实施例提供的一种非对称密钥中的私钥使用方法,包括:从同一设备获取大于预定数量的用户私钥分量密文,其中,所述用户私钥分量密文是根据上文所述的非对称密钥生成方法得到的;采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的加密方法相对应;使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
本说明书实施例提供的一种非对称密钥中的私钥生成装置,包括:请求获取模块,用于获取非对称密钥生成请求;生成模块,用于根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;加密模块,用于采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;存储模块,用于将所述多个用户私钥分量密文存储在同一设备。
本说明书实施例提供的一种非对称密钥中的私钥使用装置,包括:密钥获取模块,用于从同一设备获取大于预定数量的用户私钥分量密文,所述用户私钥分量密文是根据上文所述的非对称密钥生成方法得到的;解密模块,用于采用预定解密算法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定解密方法相对应;运算模块,用于使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的个数。
本说明书实施例提供的一种非对称密钥中的私钥生成设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取非对称密钥生成请求;根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;将所述多个用户私钥分量密文存储在同一设备。
本说明书实施例提供的一种非对称密钥中的私钥使用设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:从同一设备获取大于预定数量的用户私钥分量密文,其中,所述用户私钥分量密文是根据上文所述的非对称密钥生成方法得到的;采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的加密方法相对应;使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
提供了一种非对称密钥中的私钥生成方法,具体地,根据获取的非对称密钥生成请求,生成多个用户私钥分量,然后采用不同的预定加密算法,加密所述多个用户私钥分量以得到多个用户私钥分量密文,然后将所述多个用户私钥分量密文存储在同一设备中。该方法生成分散的用户私钥分量之后,不是将用户私钥的私钥分量分别存储在多个设备上,而是通过再次加密的方式来代替实现对私钥分量的保护,具体地,使用不同的加密方法来对多个用户私钥分量进行加密,使得需要通过不同的解密方法来解密不同的分量,类似于将私钥分量分开存储在不同设备上,实现了风险分散的目的。由此,由于无需使用多个物理设备来存储私钥分量,降低了私钥保护系统建设成本;并且,当需要使用私钥时,无需在存储私钥分量的多个物理设备之间进行通信,而是在同一设备中获得私钥分量,在保证用户私钥分量安全的情况下,减少了私钥使用过程中的通信开销,降低了通讯成本,也减少了通信延迟。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的非对称密钥中的私钥生成方法的流程图;
图2为本说明书实施例提供的用户私钥生成方法的原理示意图;
图3为本说明书实施例提供的非对称密钥中的私钥使用方法的流程图;
图4为本说明书实施例提供的非对称密钥生成方法的原理图;
图5为本说明书实施例提供的使用私钥进行数字签名的方法的原理图;
图6为本说明书实施例提供的使用非对称密钥进行数字签名验证过程的时序图;
图7为本说明书实施例提供的使用私钥进行信息解密的方法的原理图;
图8为本说明书实施例提供的使用非对称密钥进行信息加解密过程的时序图;
图9为本说明书实施例提供的对应于图1的一种非对称密钥中的私钥生成装置的结构示意图;
图10为本说明书实施例提供的对应于图3的一种非对称密钥中的私钥使用装置的结构示意图;
图11为本说明书实施例提供的一种非对称密钥中的私钥生成和使用设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请实施例中提及的技术方案,下面先对本申请中涉及的若干技术术语进行简要说明。
软件密码模块:密码模块是具有密钥保护和密码计算等安全功能的软硬件模块。通常将采用软件保护密钥的模块叫做软件密码模块。由于与传统的硬件密码模块相比,软件密码模块应用范围更广,且具有成本低、部署方便的优点,当前的软件密钥保护需求强烈。与此同时,使用软件密码模块进行密钥保护困难重重。具体地,软件由于没有一个独立的运行环境,一旦软件所在的操作系统被攻陷,攻击者就能获得软件的硬盘存储数据、运行时内存等等,通过这些内容一般可以恢复出密钥等敏感信息。目前常用的保护密钥的方法有门限密码算法和白盒密码算法等。
门限密码算法:门限密码算法是在秘密分享算法的基础上演化而来的。(t,n)秘密分享,是将一个秘密拆成n份,分别由n个人掌管,至少要t+1个参与者才能恢复秘密。如果使用秘密分享方法来保管密钥,可以保证密钥在存储过程中的安全,但是密钥在使用过程中仍然需要先恢复然后才能运算,而恢复出来的明文密钥仍有可能被攻击者截获。门限密码算法能够缓解这一问题。与秘密分享算法最大的不同是,门限密码算法在密钥的使用过程仍然以密钥分量的形式进行的,不需要恢复出完整密钥。具体地,(t,n)门限密码算法,是将一个私钥拆成n份,分别由n个人掌管,至少要t+1个参与者才能基于私钥进行密码运算,任何t个参与者都不能得到关于以上结果的任何信息,并且在密码运算过程中不泄露私钥和私钥分量的任何信息。另外,通常使用的门限密码算法是标准密码算法的一种实现方式,与标准密码算法是等价的。
白盒密码算法:白盒密码算法是能够在白盒攻击环境下保证密钥安全的密码算法,其中,将程序的执行对攻击者完全可见的环境称为白盒攻击环境。一般,白盒密码算法会配合代码混淆技术使用,进一步防止攻击者从密码算法中恢复出密钥。白盒密码算法是将原始密钥进行白盒化得到白盒密钥,白盒密钥可以以查找表的形式存在,假设原始密钥为16字节,将原始密钥白盒化之后成为例如300kB的查找表,也就相当于将16字节的密钥分散在300kB的数据中,以达到隐藏的效果。一般来说,白盒密码算法只支持对称密码算法,这是由于对称密码算法与非对称密码算法的实现原理不同,将非对称密码算法进行白盒化存在技术障碍。为了更清楚地了解白盒密码算法的原理,可以参考肖雅莹等在中国密码学会2009年会的论文“白盒密码及SM4算法的白盒实现”以及电子科技大学的尚培的硕士学位论文“SM4算法的白盒密码算法设计与实现”中示出的基于SM4的白盒密码算法的示例,但是本申请的实施例中白盒密码算法的实现方式可以是多种多样的,并不限于基于SM4算法,例如,也可以基于AES算法、DES算法、3DES算法等等各种对称密码算法,本申请对此并不作具体限定。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的非对称密钥中的私钥生成方法的流程图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,根据实施例的非对称密钥中的私钥生成方法包括以下步骤:
S110:获取非对称密钥生成请求。
数据加密的基本过程,就是对原来为明文的文件或数据按某种算法进行处理,使其成为不经解密就无法理解的字符或比特集,通常称为“密文”,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。加密的逆过程为解密,即将该编码信息转化为其原来数据的过程。加密算法分对称加密算法和非对称加密算法,其中,对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同。
非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,称为非对称密钥,其中,一个称为公开密钥(public key),即公钥,另一个称为私有密钥(private key),即私钥。如果使用公钥对数据进行加密,只有用对应的私钥才能进行解密。如果使用私钥对数据进行加密,只有用对应的公钥才能进行解密。例如,甲方生成一对密钥并将其中的一把作为公钥向其它人公开,得到该公钥的乙方使用该公钥对机密信息进行加密后再发送给甲方,甲方再使用自己保存的另一把专用密钥(私钥),对加密后的信息进行解密。
根据实施例,所述获取非对称密钥生成请求,即,获取生成私钥和公钥的请求。根据实施例,所述获取非对称密钥生成请求可以指获取用于指示生成私钥和相应公钥的请求。
S120:根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量。
可选地,可以采用(t,n)秘密分享或(t,n)门限密码算法来生成多个用户私钥分量。例如,如果采用(t,n)秘密分享,则先生成用户私钥明文,然后将该用户私钥明文拆分为n份,至少需要其中的t+1个分量可以恢复出初始的用户私钥明文。例如,如果采用(t,n)门限密码算法,直接生成n个用户私钥分量作为用户私钥,其中的至少t+1个分量参与可以实现基于该用户私钥的密码运算,在这一过程中,既不生成用户私钥明文,使用时也无需恢复出用户私钥明文,即用户私钥自始至终都未曾出现完整的明文,而是以密钥分量的形式存在。显然,使用(t,n)门限密码算法生成用户私钥的安全性更高,在本申请中,优选地,使用(t,n)门限密码算法来直接生成用户私钥分量作为用户私钥。
根据实施例,所述根据所述非对称密钥生成请求,生成用户私钥,具体包括:根据所述非对称密钥生成请求,采用非对称门限密码算法,生成用户私钥。
根据实施例,所述采用非对称门限密码算法,生成用户私钥,具体可以包括:根据基于标准非对称密码算法的门限密码算法,生成用户私钥。其中,所述标准非对称密码算法可以是SM2算法、ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)算法、RSA算法或DSA(Digital Signature Algorithm,数字签名算法),但是不限于此。
可选地,可以根据基于SM2的(t,n)门限密码算法,生成用户私钥,所述用户私钥可以包括n个用户私钥分量,使用其中的任意t+1个分量就可以直接实现用户私钥的功能。具体地,当使用用户私钥时,可以直接使用t+1个分量来基于私钥进行密码运算,也就是说,在这个过程中无需恢复出用户私钥明文,而是以私钥分量的形式进行密码运算。由此,在用户私钥的使用过程中,实际上只会出现私钥分量,而不会出现在内存中传递并使用的完整的用户私钥,这解决了完整用户私钥存在于内存之中的问题,增加了攻击者获取用户私钥明文的难度。
S130:采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密。
具体地,所述预定加密算法,可以是任何已知的标准对称加密算法或其改进算法,例如,SM4算法、AES(Advanced Encryption Standard,高级加密标准)算法、DES(DataEncryption Standard,数据加密标准)算法、3DES(Triple DES,三重数据加密标准)算法或它们的改进算法,但是不限于此。所述预定加密方法的加密过程使用的密钥可以包括固定字符串、随机字符串、用户终端设备信息或者它们的组合,也可以使用白盒密钥,但是不限于此。
具体地,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密,意思是,所述多个用户私钥分量中的所有分量被加密的方式不完全相同。该方案的优势在于,当攻击者想要通过用户私钥分量密文来恢复出用户私钥分量明文时,不能通过一种方法破解所有的密文,增加了攻击者破解出满足数量要求的用户私钥分量明文的难度。
S140:将所述多个用户私钥分量密文存储在同一设备。
在传统的多分量密钥保护方案中,将密钥分量中的至少一部分分散在不同的服务器上,并且可以使用诸如密码机、USB Key等的密码设备来保护各服务器上的分量。在本申请的方案中,将用户私钥分量密文存储在同一设备上,该设置的优势在于,当需要使用用户私钥分量进行密码运算时,只需在同一设备上获取并解密满足预定数量的用户分量密文,而无需进行各服务器之间的通信交互,减少了系统的通信开销,避免了由此导致的通信延迟。
具体地,所述同一设备可以是生成用户私钥分量的设备,也可以是与生成用户私钥分量的设备不同的设备。例如,如果在服务器上生成用户私钥分量,那么存储用户私钥分量密文的设备可以是与该服务器通信连接的用户终端设备。例如,如果在用户终端上生成用户私钥分量,那么存储私钥分量密文的设备可以是该用户终端。
根据实施例,所述将所述多个用户私钥分量密文存储在同一设备,具体可以包括:将所述多个用户私钥分量密文存储在对所述用户私钥具有使用需求的设备中。
具体地,所述对所述用户私钥具有使用需求的设备可以是用户终端,具体地,可以是例如支付机具、IOT设备(物联网设备)、手机等终端设备。在现有技术中,尽管可以将用户私钥拆分为若干份并存储在不同的存储设备上,但是也需要引入额外的服务器,不便于系统的部署及用户的使用;尤其是,有的用户终端设备不便于与作为服务器的物理设备直接连接,而如果通过云端连接的方式,在私钥使用过程中,会产生较大的数据通信开销,并且会有通信延迟。本申请直接将各个用户私钥分量存储在用户终端上,一方面减少了使用私钥时服务器彼此之间的通信开销,另一方面减少了使用私钥时为了从云端获取私钥而发生在用户终端与云端服务器之间的通信开销,减少了通信延迟。
根据实施例,可以将用户私钥分量密文存储在用户终端内存的不同存储区域处,每个存储区域可以存储至少一个用户私钥分量密文。通过将用户私钥分量密文进行分散存储,可以一定程度上提高攻击者获取预定数量的用户私钥分量密文,从而解密出预定数量的用户私钥分量明文的难度。
在现有技术中,将私钥分成多个私钥分量分别存储在与用户端通信连接的多个服务器上,当用户终端需要使用私钥时,需要在用户终端与服务器以及各个存储私钥分量的服务器之间进行多次通信,通信开销大,且易发生通信延迟。本申请提供了一种非对称密钥中的私钥生成方法,具体地,根据获取的非对称密钥生成请求,生成多个用户私钥分量,然后采用不同的预定加密算法,加密所述多个用户私钥分量以得到多个用户私钥分量密文,然后将所述多个用户私钥分量密文存储在同一设备中。该方法生成分散的用户私钥分量之后,不是将用户私钥的私钥分量分别存储在多个设备上,而是通过再次加密的方式来代替实现对私钥分量的保护,具体地,使用不同的加密方法来对多个用户私钥分量进行加密,使得需要通过不同的解密方法来解密不同的分量,类似于将私钥分量分开存储在不同设备上,实现了风险分散的目的。由此,由于无需使用多个物理设备来存储私钥分量,降低了私钥保护系统建设成本;并且,当需要使用私钥时,无需在存储私钥分量的多个物理设备之间进行通信,而是在同一设备中通过不同的解密方法来获得私钥分量,在保证用户私钥分量安全的情况下,减少了私钥使用过程中的通信开销,降低了通讯成本,也减少了通信延迟。
本说明书实施例还提供了上述非对称密钥中的私钥生成方法的一些具体实施方案,下面进行说明。
通常,门限密码算法能够保证密钥生成和使用过程中始终以分量存在,一般分为3至5个密钥分量,使得攻击者无法在一处获得完整的密钥。然而,门限密码算法的不足是密钥分散的数量有限,一旦攻击者获得大于预定数量的密钥分量,则能够恢复出密钥。与之相比,白盒密码算法的密钥完全分散在算法实现过程中,其分散程度要远高于门限密码算法。甚至,对于部分白盒密码算法能够做到攻击者即使获得所有的密钥分散信息,也无法恢复出密钥。
根据本申请的实施例,在S130中,所述采用预定加密方法,对所述多个用户私钥分量进行加密,具体可以包括:采用白盒加密算法,对所述多个用户私钥分量进行加密。
白盒密码算法,可以包括用于加密的白盒加密算法和用于解密的对应的白盒解密算法,其目的是为了在白盒攻击环境中保护密钥,防止攻击者在密码软件的执行过程中抽取出密钥信息。白盒密码算法可以指一种新的能够抵抗白盒攻击环境下的攻击的算法,也可以指单纯的在已有的密码算法的基础上进行的白盒设计。具体地,其中,基于标准对称加密算法的白盒加密算法,即基于已有的标准对称加密算法通过白盒密码技术进行设计,利用算法中的某些特性来隐藏密钥,使得在白盒攻击环境下,不改变原算法的功能但是能够达到在白盒攻击环境下的安全,并保持原算法的安全性不被破坏。通常使用的白盒密码算法是标准密码算法一种实现方式,与标准密码算法是等价的,即,对于相同的明文,由标准对称加密算法与使用相应的白盒加密算法所生成的密文相一致。
可选地,所述采用白盒加密算法,对所述多个用户私钥分量进行加密,具体可以包括:采用基于标准对称加密算法的白盒加密算法,对所述多个用户私钥分量进行加密。其中,所述标准对称加密算法可以是SM4算法、AES算法、DES算法或3DES算法,但是不限于此。
如果一个用户密钥的不同密钥分量采用相同的防护方式,对于攻击者来说,可以采用同样的方式攻破所有的密钥分量。鉴于此,可以分别使用不同的白盒加密算法来保护不同的密钥分量,以使得对密钥分量的保护程度加强,使得攻击者攻破多个门限密钥分量的难度答复提升。
根据本申请的实施例,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密,具体可以包括:对于一个用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥分量中的其它用户私钥分量不同的白盒加密算法进行加密。换句话说,若用户私钥包括n个用户私钥分量,可以采用n个不同的白盒加密算法分别对所述n个用户私钥分量进行加密,其中,一个用户私钥分量采用一个白盒加密算法进行加密,不同的用户私钥分量采用的白盒加密算法不同。
可选地,所述不同的白盒加密算法可以是采用不同的白盒化方法来构建的白盒加密算法。具体地,可以使用不同的白盒密码的设计方法来设计白盒加密算法,例如,可以使用查找表的方式、插入扰乱项的方式、多变量密码的方式等。其中,查找表方式的主要思想是:对于一个密码算法,给定一个特定的密钥后,明文到密文的映射也就确定了,然后把明文到密文的映射进行置乱编码,将加密后的映射用查找表的形式表示,最终,密码算法的执行过程就通过查找表格来实现。
可选地,所述不同的白盒加密算法可以是分别基于不同的标准对称加密算法构建的白盒加密算法。具体地,可以使用SM4白盒加密算法、AES白盒加密算法、DES白盒加密算法等。例如,SM4白盒加密算法可以是在原本SM4算法的基础上做的白盒设计,其中,SM4算法的分组长度是128比特,密钥长度是128比特,采用32轮非线性迭代结果,解密过程与加密过程的结构相似,但是轮密钥的使用顺序相反。具体地,SM4白盒加密算法的密钥信息隐藏在查找表中,其算法的安全性在于基于从查找表中分析出密钥信息或者恢复出输入输出编码的难度。
可选地,所述不同的白盒加密算法可以是基于相同的标准加密算法,但是分别使用不同的设计参数的白盒加密算法。例如,可以均基于SM4白盒加密算法,但是在白盒实现过程中,可以使用不同数量的查找表,可以使用不同的系统参数和/或固定参数,并且/或者可以使用不同的白盒密钥。将用于加密和解密的原始密钥分散在标准密码算法中得到的密钥,称为白盒密钥。白盒密钥是指一种在白盒环境下加密或者解密使用的密钥,白盒密钥携带了原始密钥的信息,并代替原始密钥完成加密、解密的功能,同时即使被分析也不能得到原始密钥。白盒密钥需要在安全的环境下进行,以保证白盒密钥和原始密钥的安全性。根据实施例,在本申请中,可以在服务器中生成白盒密钥,然后将白盒密钥与算法程序打包后传输到终端设备上,以用于加密用户私钥分量,即,白盒密钥的生成环境不同于其使用环境,以保证生成白盒密钥的原始密钥的安全性。
门限密码算法的设计初衷是每个门限密钥分量都有不同的掌管者,从而达到风险分散的效果;类比地,在本申请的实施例中,尽管为了减少通信交互而将每个门限分量均存储在一个通信端(例如,用户端),同时,可以通过每个门限密钥分量使用不同的白盒密码算法和/或白盒密钥来进行保护,以达到了一定程度上的风险分散的效果。
根据实施例,上述非对称密钥中的私钥生成方法还可以包括:获取另一非对称密钥生成请求;根据所述另一非对称密钥生成请求,生成另一用户私钥,所述另一用户私钥包括多个用户私钥分量;对于所述另一用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的一个用户私钥分量所采用的相同的白盒加密算法来加密,所述另一用户私钥中的每个用户私钥分量采用的白盒加密算法不同。其中,所述另一用户私钥中的用户私钥分量的数量与所述一个用户私钥中的用户私钥分量的数量相同。
具体地,所述用户私钥可以为m个,每个用户私钥均可以包括n个用户私钥分量,可以使用第(m,n)用户私钥分量来表示第m个用户私钥中的第n个用户私钥分量;可以采用n个不同的白盒加密算法中的第p个白盒加密算法对第(1,p)用户私钥分量至第(m,p)用户私钥分量进行加密;其中,m、n为正整数,p是不大于n的正整数,对于p取1至n中的任意值,执行上述加密方法。
换句话说,当有m个用户私钥、每个用户私钥均被拆分为n个分量时,可以采用n个不同的白盒加密算法对全部所述用户私钥的用户私钥分量进行加密,得到n组用户私钥分量密文;每组用户私钥分量密文中的m个用户私钥分量密文分别对应于各个用户私钥中的一个私钥分量。
图2为本说明书实施例提供的用户私钥生成方法的原理示意图。
参照图2,具体地,例如有m个用户私钥需要保护,其中,每个用户私钥可以拆分为n个分量,图2中的私钥分量m-n即上文中的第(m,n)用户私钥分量,用于表示m个用户私钥中的第n个分量。例如,用户私钥1中的第2个私钥分量,可以用私钥分量1-2来表示。在此,例如私钥1中的私钥分量1-1、私钥分量1-2和私钥分量1-3等的命名,只是为了区分的目的,以说明私钥1中具有多个不同的分量,并不意图构成对各个分量的限制,其命名方式不限于此。
具体地,可以采用n个不同的白盒加密算法对所有用户私钥分量进行加密,例如,所述n个白盒加密算法可以基于相同的标准对称加密算法,但是使用不同的白盒密钥。例如,对于不同的分量,可以均是基于SM4标准加密算法、但是使用不同的原始密钥进行加密,即,使用不同的白盒密钥进行加密。图2中示出了使用不同的白盒密钥来加密一个用户私钥中的各个私钥分量的情形。具体地,例如,可以采用与每个用户私钥的私钥分量的数量相当的白盒密钥来对相应的私钥分量进行加密,以使得该用户私钥中的所有私钥分量彼此使用的白盒密钥不同。
作为示例,假设图2中m=1,n=3,即,有1个用户私钥(私钥1)需要加密,该用户私钥包括3个私钥分量,可以使用3个白盒加密算法来加密这3个分量,p可以取1、2和3。具体地,p=1即,采用3个白盒加密算法中第1个白盒加密算法,对私钥1中的私钥分量1-1进行加密;p=2即,采用3个白盒加密算法中第2个白盒加密算法,对私钥1中的私钥分量1-2进行加密;p=3即,采用3个白盒加密算法中第3个白盒加密算法,对私钥1中的私钥分量1-3进行加密。
作为示例,假设图2中m=4,n=3,即,有4个用户私钥(私钥1、私钥2、私钥3和私钥4)需要加密,每个用户私钥可以包括3个私钥分量,可以使用3个白盒加密算法来加密这3个分量;p可以取1、2和3。具体地,p=1即,采用3个白盒加密算法中第1个白盒加密算法,对私钥1中的私钥分量1-1、私钥2中的私钥分量2-1、私钥3中的私钥分量3-1、私钥4中的私钥分量4-1进行加密;p=2即,采用3个白盒加密算法中第2个白盒加密算法,对私钥1中的私钥分量1-2、私钥2中的私钥分量2-2、私钥3中的私钥分量3-2、私钥4中的私钥分量4-2进行加密;p=3即,采用3个白盒加密算法中第3个白盒加密算法,对私钥1中的私钥分量1-3、私钥2中的私钥分量2-3、私钥3中的私钥分量3-3、私钥4中的私钥分量4-3进行加密。
在传统的白盒密钥使用过程中,通常使用白盒密钥作为业务密钥来加密业务数据,即业务密钥与白盒的实现绑定,使得业务密钥的更新不易。具体地,当需要更新业务密钥时,必须更新白盒密钥。另外,如果对于不同的业务数据均使用不同的白盒密钥进行保护,则需要与业务数据的数量相当的白盒密钥,而白盒密钥文件通常较大,这会占用较多的存储空间。例如,有100个通信数据需要保护,相应的100业务密钥均需要实现为白盒密钥,则密钥管理系统需要存储100个白盒密钥,会占用较多的存储空间;并且,当需要更新业务密钥时,则需要更新相应的白盒密钥。
在本申请中,使用白盒密钥来加密保护用户密钥分量,而不是使用白盒密钥来直接保护用户数据,这是本申请中白盒密钥与现有技术中白盒密钥的使用方式的显著不同之处。具体地,在本申请中,使用用户密钥来加密业务数据,再使用白盒密钥来加密保护用户密钥的分量。一方面,当需要更新业务密钥时,无需更新白盒密钥,避免了传统白盒密钥使用过程中密钥更新困难的问题。另一方面,本申请使用白盒密钥来加密密钥分量,使用的白盒密钥数量少,占用的存储空间少,具体地:例如一个用户密钥具有3个密钥分量,并且每个分量使用不同的白盒密钥来加密,密钥管理系统中仅需要存储3个白盒密钥即可;假设有100个业务数据需要加密,对应使用100个用户密钥,而每个用户密钥包括3个密钥分量,每个用户密钥中的三个分量均使用前述3个白盒密钥来分别加密。另外,本申请中,通过将白盒密码算法与门限密码算法相结合,提出一种新的用于保护非对称密钥的方法,即,将白盒加密技术应用于私钥保护。
本申请结合门限密码算法和白盒密码算法,同时利用了门限密码算法的密钥更新灵活的优点与白盒密码算法的密钥分散程度高的优点,设计了一种全新的密钥保护技术。相比于传统的门限密码方案,本方案通过白盒密码算法的运用,加强了密钥存储时的安全性;并且通过使用不同的白盒密钥/算法,达到了一定程度上的风险分散的效果。本方案结合门限密码算法和白盒密码算法,提出了一种新的软件密钥保护方式,克服了门限密码算法密钥分量保护较弱和白盒密码密钥更新和大量使用不便的缺点,安全性和便利性都有提升。
根据本申请的实施例,密钥首先经过门限算法进行分散,然后再通过白盒进行加密。根据本申请的实施例,方案中至少包括两种密钥——用户密钥和白盒密钥,其中,使用用户密钥以门限分量的形式来保护用户数据,使用白盒密钥加密保护用户密钥分量。本申请中不使用白盒密钥直接保护用户数据,这也是我们与以往白盒密钥使用方式的不同之处。并且,通过不同的门限分量使用不同的白盒密钥/算法进行保护,使得门限分量的保护具备多样性,取得了一定程度上的风险分散的效果。
基于同样的思路,本说明书实施例还提供了与非对称密钥中的私钥生成方法对应的非对称密钥使用方法。图3为本说明书实施例提供的非对称密钥中的私钥使用方法的流程图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图3所示,在非对称密钥中的私钥生成方法中的S140之后,根据实施例的非对称密钥使用方法可以包括以下步骤:
S210:从同一设备获取大于预定数量的用户私钥分量密文,所述用户私钥分量密文是根据前述用户非对称密钥中的私钥生成方法得到的。
根据实施例,用户非对称密钥使用方法与生成方法的执行主体可以相同或不同。例如,可以在服务器上生成用户私钥,在客户端使用用户私钥进行密码运算。又例如,可以在客户端生成用户私钥,并在客户端使用用户私钥进行密码运算。
根据实施例,所述从同一设备获取大于预定数量的用户私钥分量密文,可以是从与用户私钥使用终端不同的一个设备处获取用户私钥分量密文,也可以是从用户私钥使用终端的本地存储器中获取所述用户私钥分量密文。
S220:采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定加密方法相对应。
根据实施例,所述预定解密方法可以是白盒解密算法,具体地,可以是与用户密钥分量被加密时使用的白盒加密算法相对应的白盒解密算法。更具体地,当白盒加密算法是基于SM4的白盒加密算法时,解密时使用与之相对应的基于SM4的白盒解密算法。更具体地,加密时使用的白盒加密密钥可以是将原始密钥分散在SM4加密算法实现过程中得到的,解密时使用的白盒解密密钥可以是将原始密钥分散在SM4解密算法实现过程中得到的,其中,用于加密和解密的原始密钥相同,SM4加密算法与SM4解密算法相对应。
S230:使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算。
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。具体地,例如,对于(t,n)门限加密算法,如果将密钥分成n份,则使用其中的t+1份即可用于进行密码运算。
根据实施例,在非对称密钥使用方法中,使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,需要说明的是,在此并不通过用户私钥分量明文来生成完整的用户私钥分量,而是直接使用多个用户私钥分量明文来进行密码运算,例如进行数字签名、信息解密等。这一方案的优势在于,在私钥的使用过程中,始终以密钥分量的形式存在,在内存中不会出现完整的用户私钥明文,即,始终以用户私钥分量的形式来保护用户私钥,使得攻击者无法通过破解私钥使用过程来直接得到用户私钥,提高了用户私钥在使用过程中的安全性。
根据实施例,在前述非对称密钥生成方法中,采用非对称门限密码算法,生成用户私钥之后,所述方法还包括:基于所述多个用户私钥分量,生成用户公钥;广播所述用户公钥。
图4为本说明书实施例提供的非对称密钥生成方法的原理图。所述非对称密钥包括对应的私钥和公钥。用户私钥被拆分为多个分量之后,每个分量使用白盒加密算法进行加密,得到用户私钥分量密文,然后进行存储。
根据可选的实施例,在前述非对称密钥使用方法中,所述使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,具体可以包括:使用所述大于预定数量的用户私钥分量明文进行签名,得到签名结果。
图5为本说明书实施例提供的使用私钥进行数字签名的方法的原理图。具体地,当需要使用私钥进行数字签名时,从数据存储位置中获取大于预定数量的私钥分量密文,使用对应的白盒解密算法解密所述私钥分量密文,得到相应的私钥分量明文,然后直接使用得到的私钥分量明文进行数字签名,得到签名结果。
为了更清楚地说明使用私钥进行数字签名以及使用相应的公钥进行签名验证的过程,提供了图6及相关描述。
图6为本说明书实施例提供的使用非对称密钥进行数字签名验证过程的时序图。作为示例,图7示出了在第一通信方生成并使用私钥的方法,例如,在用户终端生成和使用私钥的方法。本申请的方案不限于此,私钥和公钥也可以是在服务器上生成,然后将私钥加密并存储在用户终端,并且在用户终端使用该私钥进行密码运算。
参照图6,使用非对称密钥进行数字签名验证的过程具体可以包括:第一通信方生成用户私钥分量和用户公钥,并加密所述用户私钥分量,得到用户私钥分量的密文;当需要使用所述私钥进行签名时,第一通信方解密大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,然后使用所述大于预定数量的用户私钥分量明文,进行数字签名。
在上述过程中,还包括:第一通信方广播所述公钥,相应地,第二通信方可以获取所述公钥;当第二通信方接收到由所述第一通信方发送的所述签名结果后,第二通信方使用由第一通信方广播的所述用户公钥,验证所述签名结果。在此,第一通信方广播公钥和第二通信方接收公钥的步骤,可以在第一通信方产生公钥之后、第二通信方使用公钥之前的任何阶段,而不限于图中所示出的时序。
根据可选的实施例,在前述非对称密钥使用方法中,所述使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,具体可以包括:使用所述大于预定数量的用户私钥分量明文对待解密信息进行解密,得到解密结果,其中,所述待解密信息是使用与所述用户私钥对应的用户公钥加密后得到的信息。
图7为本说明书实施例提供的使用私钥进行信息解密的方法的原理图。具体地,当需要使用私钥对由相应公钥加密后的信息进行解密时,从数据存储位置中获取大于预定数量的私钥分量密文,使用对应的白盒解密算法解密所述私钥分量密文,得到相应的私钥分量明文,然后直接使用得到的私钥分量明文进行信息解密,得到解密结果。
为了更清楚地描述使用公钥进行信息加密并使用对应的私钥进行信息解密的过程,提供了图8及相关描述。
图8为本说明书实施例提供的使用非对称密钥进行信息加解密过程的时序图。作为示例,图8示出了在第一通信方生成并使用私钥的方法,例如,在用户终端生成和使用私钥的方法。本申请的方案不限于此,私钥和公钥也可以是在服务器上生成,然后将私钥加密并存储在用户终端,并且在用户终端使用该私钥进行密码运算。
参照图8,使用非对称密钥进行信息加解密的过程具体包括,第一通信方生成用户私钥分量和用户公钥,并加密所述用户私钥分量,得到用户私钥分量的密文;并且第一通信方广播所述公钥。
在上述过程中,还包括:第二通信方接收第一通信方所广播的公钥;当第二通信方需要向第一通信方发送加密的信息时,可以使用从第一通信方接收的公钥对信息进行加密;并将加密后的信息发送至第一通信方。
在上述过程中,还包括:当第一通信方接收到第二通信方发送的加密后的信息时,解密存储的大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文;并使用所述大于预定数量的用户私钥分量明文,解密所述加密后的信息。
上述示例仅示出了本申请的私钥的使用方法的一些具体实施方式,但是私钥的使用方法不限于此。例如,还可以用于进行密钥交换等。在此不做具体限定。
根据本申请的非对称密钥生成和使用方法,使用门限密码算法进行非对称密钥生成,并使用私钥进行签名、解密等操作。具体地,私钥生成时,首先使用门限密码算法生成多个私钥分量,然后每个门限私钥分量使用白盒密码算法进行加密存储。在需要使用私钥进行运算时,首先使用白盒密钥解密门限私钥分量,然后使用门限密码算法进行签名、解密等私钥运算。
通常,由于攻击者获取存储文件的要更容易,且内存中的密钥数据通常使用完即擦除,存在时间很短,所以密钥在存储时(即,硬盘中)的安全需求比运行时(即,内存中)要求更高。鉴于此,本申请的方案恰好在密钥存储时提供了更强的安全保障,非常好的符合了安全需求。具体地,密钥在存储时,密钥受门限密码算法、白盒密码算法两层保护;在密钥被使用时(内存中),密钥受门限密码算法保护。
基于同样的思路,本说明书实施例还提供了上述非对称密钥生成方法对应的装置。图9为本说明书实施例提供的对应于图1的一种非对称密钥中的私钥生成装置的结构示意图。
如图9所示,该非对称密钥生成装置可以包括:
请求获取模块310,用于获取非对称密钥生成请求;
生成模块320,用于根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;
加密模块330,用于采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;
存储模块340,用于将所述多个用户私钥分量密文存储在同一设备。
可选地,所述生成模块320,具体用于:根据所述非对称密钥生成请求,采用非对称门限密码算法,生成用户私钥。
可选地,所述加密模块330,具体用于:采用不同的白盒加密算法,对所述多个用户私钥分量进行加密。
可选地,所述加密模块330,具体用于:对于一个用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的其它用户私钥分量不同的白盒加密算法进行加密。
可选地,所述加密模块330,具体用于:所述用户私钥为m个,每个用户私钥均包括n个用户私钥分量,第(m,n)用户私钥分量表示第m个用户私钥中的第n个用户私钥分量;采用n个不同的白盒加密算法对所有用户私钥分量进行加密;采用所述n个不同的白盒加密算法中的第p个白盒加密算法,对第(1,p)用户私钥分量至第(m,p)用户私钥分量进行加密;其中,m、n为正整数,p为不大于n的正整数。
可选地,所述存储模块340,具体用于:将所述多个用户私钥分量密文存储在对所述用户私钥具有使用需求的设备中。也就是说,所述存储模块340可以是用户终端中的存储模块。
可选地,所述请求获取模块310、所述生成模块320、所述加密模块330和所述存储模块340可以均设置在用户终端。也就是说,可以在用户终端生成多个用户私钥分量,然后加密并存储所述多个用户私钥分量。
基于同样的思路,本说明书实施例还提供了上述非对称密钥使用方法对应的装置。图10为本说明书实施例提供的对应于图3的一种非对称密钥中的私钥使用装置的结构示意图。
如图10所示,该非对称密钥使用装置可以包括:
密钥获取模块410,用于从同一设备获取大于预定数量的用户私钥分量密文,所述用户私钥分量密文是根据上述非对称密钥中的私钥生成方法生成的;
解密模块420,用于采用预定解密算法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定解密方法相对应;
运算模块430,用于使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的个数。
可选地,所述运算模块430,具体用于:使用所述大于预定数量的用户私钥分量明文进行签名,得到签名结果。
可选地,所述运算模块430,具体用于:使用所述大于预定数量的用户私钥分量明文对待解密信息进行解密,得到解密结果,其中,所述待解密信息是使用与所述用户私钥对应的用户公钥加密后得到的信息。
基于同样的思路,本说明书实施例还提供了上述非对称密钥中的私钥生成和使用方法对应的设备。
图11为本说明书实施例提供的一种非对称密钥中的私钥生成和/或使用设备的结构示意图。如图11所示,设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取非对称密钥生成请求;
根据所述非对称密钥生成请求,生成用户私钥,所述用户私钥包括多个用户私钥分量;
采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;
将所述多个用户私钥分量密文存储在同一设备。
根据实施例,设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器能够:
从同一设备获取大于预定数量的用户私钥分量密文,其中,所述用户私钥分量密文是根据前述用户非对称密钥中的私钥生成方法得到的;
采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的加密方法相对应;
使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
将理解的是,虽然本文中使用了术语“第一”、“第二”、“第三”等、“1-1/第(1,1)”、“1-2/第(1,2)”、“1-3/第(1,3)”等来描述各种部分,但是这些部分不应受这些术语的限制。这些术语仅用于将一个部分与另一个部分区分开。因此,在不脱离本文的教导的情况下,在此讨论的“第一……”也可以被称作“第二……”;“1-1/第(1,1)……”也可以被称作“1-2/第(1,2)……”。
上述对本说明书特定实施例进行了描述,在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备与方法是对应的,因此,装置、设备也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种非对称密钥中的私钥生成方法,包括:
获取非对称密钥生成请求;
根据所述非对称密钥生成请求,采用非对称门限密码算法,生成用户私钥,所述用户私钥包括多个用户私钥分量;所述用户私钥以用户私钥分量的形式被使用;
采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;其中,所述用户私钥分量密文用于,被解密得到用户私钥分量明文后执行目标运算;
将所述多个用户私钥分量密文存储在同一设备;
所述采用预定加密方法,对所述多个用户私钥分量进行加密,具体包括:采用白盒加密算法,对所述多个用户私钥分量进行加密;
所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密,具体包括:对于一个用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的其它用户私钥分量不同的白盒加密算法进行加密;所述不同的白盒加密算法,基于相同的标准加密算法且使用不同的白盒密钥;所述白盒密钥,是将用于加密所述用户私钥分量的原始密钥分散在标准密码算法中得到的;所述白盒密钥携带所述原始密钥的信息,并代替所述原始密钥完成加密、解密的功能;
所述不同的白盒加密算法用于加密另一用户私钥对应的用户私钥分量:对于所述另一用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的一个用户私钥分量所采用的相同的白盒加密算法来加密,所述另一用户私钥中的每个用户私钥分量采用的白盒加密算法不同,其中,所述另一用户私钥中的用户私钥分量的数量与所述一个用户私钥中的用户私钥分量的数量相同。
2.根据权利要求1所述的方法,所述方法还包括:
获取另一非对称密钥生成请求;
根据所述另一非对称密钥生成请求,生成另一用户私钥,所述另一用户私钥包括多个用户私钥分量;
对于所述另一用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的一个用户私钥分量所采用的相同的白盒加密算法来加密,所述另一用户私钥中的每个用户私钥分量采用的白盒加密算法不同,
其中,所述另一用户私钥中的用户私钥分量的数量与所述一个用户私钥中的用户私钥分量的数量相同。
3.根据权利要求1所述的方法,其中,将所述多个用户私钥分量密文存储在同一设备,具体包括:
将所述多个用户私钥分量密文存储在对所述用户私钥具有使用需求的设备中。
4.根据权利要求1所述的方法,所述将所述多个用户私钥分量密文存储在同一设备之后,还包括:
从所述同一设备获取大于预定数量的用户私钥分量密文;
采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定加密方法相对应;
使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
5.根据权利要求4所述的方法,其中,所述使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,具体包括:
使用所述大于预定数量的用户私钥分量明文进行签名,得到签名结果。
6.根据权利要求4所述的方法,其中,所述使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,具体包括:
使用所述大于预定数量的用户私钥分量明文对待解密信息进行解密,得到解密结果,
其中,所述待解密信息是使用与所述用户私钥对应的用户公钥加密后得到的信息。
7.一种非对称密钥中的私钥使用方法,包括:
从同一设备获取大于预定数量的用户私钥分量密文,其中,所述用户私钥分量密文是根据权利要求1至3中任一项所述的方法得到的;
采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定加密方法相对应;
使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
8.一种非对称密钥中的私钥生成装置,包括:
请求获取模块,用于获取非对称密钥生成请求;
生成模块,用于根据所述非对称密钥生成请求,采用非对称门限密码算法,生成用户私钥,所述用户私钥包括多个用户私钥分量;所述用户私钥以用户私钥分量的形式被使用;
加密模块,用于采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;具体地,采用不同的白盒加密算法,对所述多个用户私钥分量进行加密;其中,所述用户私钥分量密文用于,被解密得到用户私钥分量明文后执行目标运算;所述不同的白盒加密算法,基于相同的标准加密算法且使用不同的白盒密钥;所述白盒密钥,是将用于加密所述用户私钥分量的原始密钥分散在标准密码算法中得到的;所述白盒密钥携带所述原始密钥的信息,并代替所述原始密钥完成加密、解密的功能;
所述不同的白盒加密算法用于加密另一用户私钥对应的用户私钥分量:对于所述另一用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的一个用户私钥分量所采用的相同的白盒加密算法来加密,所述另一用户私钥中的每个用户私钥分量采用的白盒加密算法不同,其中,所述另一用户私钥中的用户私钥分量的数量与所述一个用户私钥中的用户私钥分量的数量相同;
存储模块,用于将所述多个用户私钥分量密文存储在同一设备。
9.一种非对称密钥中的私钥使用装置,包括:
密钥获取模块,用于从同一设备获取大于预定数量的用户私钥分量密文,所述用户私钥分量密文是根据权利要求1至3中任一项所述的方法得到的;
解密模块,用于采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定加密方法相对应;
运算模块,用于使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的个数。
10.一种非对称密钥中的私钥生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取非对称密钥生成请求;
根据所述非对称密钥生成请求,采用非对称门限密码算法,生成用户私钥,所述用户私钥包括多个用户私钥分量;所述用户私钥以用户私钥分量的形式被使用;
采用预定加密方法,对所述多个用户私钥分量进行加密,得到相应的多个用户私钥分量密文,其中,所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密;其中,所述用户私钥分量密文用于,被解密得到用户私钥分量明文后执行目标运算;
将所述多个用户私钥分量密文存储在同一设备;
所述采用预定加密方法,对所述多个用户私钥分量进行加密,具体包括:采用白盒加密算法,对所述多个用户私钥分量进行加密;
所述多个用户私钥分量中的至少两个采用不同的预定加密方法来加密,具体包括:对于一个用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的其它用户私钥分量不同的白盒加密算法进行加密;所述不同的白盒加密算法,基于相同的标准加密算法且使用不同的白盒密钥;所述白盒密钥,是将用于加密所述用户私钥分量的原始密钥分散在标准密码算法中得到的;所述白盒密钥携带所述原始密钥的信息,并代替所述原始密钥完成加密、解密的功能;
所述不同的白盒加密算法用于加密另一用户私钥对应的用户私钥分量:对于所述另一用户私钥中的任意一个用户私钥分量,采用与所述一个用户私钥中的一个用户私钥分量所采用的相同的白盒加密算法来加密,所述另一用户私钥中的每个用户私钥分量采用的白盒加密算法不同,其中,所述另一用户私钥中的用户私钥分量的数量与所述一个用户私钥中的用户私钥分量的数量相同。
11.一种非对称密钥中的私钥使用设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
从同一设备获取大于预定数量的用户私钥分量密文,其中,所述用户私钥分量密文是根据权利要求1至3中任一项所述的方法得到的;
采用预定解密方法,解密所述大于预定数量的用户私钥分量密文,得到相应的大于预定数量的用户私钥分量明文,其中,所述预定解密方法与待解密的用户私钥分量密文被加密时所采用的预定加密方法相对应;
使用所述相应的大于预定数量的用户私钥分量明文,执行目标运算,
其中,所述预定数量表示所述多个用户私钥分量中执行所述目标运算所需的用户私钥分量的最低个数。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910902373.0A CN110650010B (zh) | 2019-09-24 | 2019-09-24 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
TW109116537A TWI736271B (zh) | 2019-09-24 | 2020-05-19 | 非對稱密鑰中的私鑰生成和使用方法、裝置和設備 |
PCT/CN2020/093966 WO2021057073A1 (zh) | 2019-09-24 | 2020-06-02 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910902373.0A CN110650010B (zh) | 2019-09-24 | 2019-09-24 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110650010A CN110650010A (zh) | 2020-01-03 |
CN110650010B true CN110650010B (zh) | 2022-04-29 |
Family
ID=69011105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910902373.0A Active CN110650010B (zh) | 2019-09-24 | 2019-09-24 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110650010B (zh) |
TW (1) | TWI736271B (zh) |
WO (1) | WO2021057073A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463267B2 (en) * | 2016-09-08 | 2022-10-04 | Nec Corporation | Network function virtualization system and verifying method |
CN110650010B (zh) * | 2019-09-24 | 2022-04-29 | 支付宝(杭州)信息技术有限公司 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
CN111628863B (zh) * | 2020-05-29 | 2021-02-09 | 北京海泰方圆科技股份有限公司 | 一种数据签名的方法、装置、电子设备及存储介质 |
CN111934860B (zh) * | 2020-08-06 | 2024-01-05 | 山东省计算中心(国家超级计算济南中心) | 一种用于移动端密钥存储的实现方法和系统 |
CN112418853A (zh) * | 2020-09-22 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于区块链的交易数据加密方法及装置 |
CN113051623A (zh) * | 2021-03-11 | 2021-06-29 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
TWI821824B (zh) * | 2021-12-16 | 2023-11-11 | 上銀科技股份有限公司 | 自動載入參數的方法和系統及其服務端伺服器和客戶端伺服器 |
TWI796885B (zh) * | 2021-12-21 | 2023-03-21 | 龍華科技大學 | 工業物聯網及其安全通訊方法 |
CN114268434A (zh) * | 2021-12-28 | 2022-04-01 | 晋商博创(北京)科技有限公司 | 非对称口令认证方法、装置及存储介质 |
TWI800315B (zh) * | 2022-03-21 | 2023-04-21 | 銓安智慧科技股份有限公司 | 資料檔案傳輸以及取用權限管理系統與方法 |
CN117278986B (zh) * | 2023-11-23 | 2024-03-15 | 浙江小遛信息科技有限公司 | 共享出行的数据处理方法和数据处理设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933113A (zh) * | 2016-06-13 | 2016-09-07 | 北京三未信安科技发展有限公司 | 一种密钥备份恢复方法、系统及其相关设备 |
CN106850220A (zh) * | 2017-02-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 数据加密方法、数据解密方法及装置 |
CN109560927A (zh) * | 2018-11-21 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种设备指纹实现方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1977552B1 (en) * | 2006-01-24 | 2012-08-01 | Stepnexus, Inc. | Method and system for personalizing smart cards using asymmetric key cryptography |
US8595507B2 (en) * | 2011-02-16 | 2013-11-26 | Novell, Inc. | Client-based authentication |
US9667416B1 (en) * | 2014-12-18 | 2017-05-30 | EMC IP Holding Company LLC | Protecting master encryption keys in a distributed computing environment |
US20170222805A1 (en) * | 2016-02-03 | 2017-08-03 | Cocoon Data Holdings Pty Limited | Escrow key fragmentation system |
EP3334083A1 (en) * | 2016-12-08 | 2018-06-13 | Gemalto SA | Method of rsa signature or decryption protected using a homomorphic encryption |
US10749675B2 (en) * | 2017-01-09 | 2020-08-18 | Arris Enterprises Llc | Homomorphic white box system and method for using same |
CN108494551A (zh) * | 2018-03-16 | 2018-09-04 | 数安时代科技股份有限公司 | 基于协同密钥的处理方法、系统、计算机设备及存储介质 |
CN110650010B (zh) * | 2019-09-24 | 2022-04-29 | 支付宝(杭州)信息技术有限公司 | 一种非对称密钥中的私钥生成和使用方法、装置和设备 |
-
2019
- 2019-09-24 CN CN201910902373.0A patent/CN110650010B/zh active Active
-
2020
- 2020-05-19 TW TW109116537A patent/TWI736271B/zh active
- 2020-06-02 WO PCT/CN2020/093966 patent/WO2021057073A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933113A (zh) * | 2016-06-13 | 2016-09-07 | 北京三未信安科技发展有限公司 | 一种密钥备份恢复方法、系统及其相关设备 |
CN106850220A (zh) * | 2017-02-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 数据加密方法、数据解密方法及装置 |
CN109560927A (zh) * | 2018-11-21 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种设备指纹实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI736271B (zh) | 2021-08-11 |
WO2021057073A1 (zh) | 2021-04-01 |
CN110650010A (zh) | 2020-01-03 |
TW202113646A (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110650010B (zh) | 一种非对称密钥中的私钥生成和使用方法、装置和设备 | |
US11308241B2 (en) | Security data generation based upon software unreadable registers | |
US20210097187A1 (en) | Protecting data from brute force attack | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
CN111448779A (zh) | 用于混合秘密共享的系统、设备和方法 | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
US10826694B2 (en) | Method for leakage-resilient distributed function evaluation with CPU-enclaves | |
Tayde et al. | File encryption, decryption using AES algorithm in android phone | |
EP3125462A1 (en) | Balanced encoding of intermediate values within a white-box implementation | |
CN108134673B (zh) | 一种生成白盒库文件的方法及装置 | |
CN108111622B (zh) | 一种下载白盒库文件的方法、装置及系统 | |
US11783091B2 (en) | Executing entity-specific cryptographic code in a cryptographic coprocessor | |
KR101016009B1 (ko) | 위치 정보를 이용한 데이터의 암호화 방법 및 복호화 방법 | |
CN113326518A (zh) | 一种数据处理方法及装置 | |
KR101790948B1 (ko) | Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법 | |
US20160148002A1 (en) | Key storage apparatus, key storage method and program therefor | |
CN110750326B (zh) | 一种虚拟机的磁盘加解密方法以及系统 | |
CN107968793B (zh) | 一种下载白盒密钥的方法、装置及存储介质 | |
CN107872312B (zh) | 对称密钥动态生成方法、装置、设备及系统 | |
CN115412246A (zh) | 不经意传输方法、装置、设备和存储介质 | |
KR101812311B1 (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
US20210111901A1 (en) | Executing entity-specific cryptographic code in a trusted execution environment | |
CN107483387A (zh) | 一种安全控制方法及装置 | |
KR20170103321A (ko) | 보안성이 강화된 순서보존 암호화 방법 및 장치 | |
Sri et al. | SECURE FILE STORAGE USING HYBRID CRYPTOGRAPHY |
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 |