CN109413084A - 一种口令更新方法、装置及*** - Google Patents
一种口令更新方法、装置及*** Download PDFInfo
- Publication number
- CN109413084A CN109413084A CN201811360863.4A CN201811360863A CN109413084A CN 109413084 A CN109413084 A CN 109413084A CN 201811360863 A CN201811360863 A CN 201811360863A CN 109413084 A CN109413084 A CN 109413084A
- Authority
- CN
- China
- Prior art keywords
- sub
- private key
- password
- client
- key
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- 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
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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/3247—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 involving digital signatures
- H04L9/3252—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 involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开一种口令更新方法、装置及***,属于信息安全技术领域,该方法包括:客户端接收携带有第一口令和第二口令的口令更新请求,确定第一口令验证通过时,根据第一口令生成第一子私钥,根据第二口令生成第二子私钥,将第一子私钥和第二子私钥输入到第一模型中,将第一模型输出的结果发送给服务端;接收服务端发送的表示自身持有的第三子私钥已更新的消息,将设置的口令替换为第二口令;其中,第三子私钥更新后为第四子私钥,第四子私钥由服务端将第三子私钥和结果输入到第二模型中得到,第二模型和第一模型之间具有依赖关系,该依赖关系用于保证利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种口令更新方法、装置及***。
背景技术
随着近年来云计算和移动智能终端等新技术的应用与普及,对信息安全提出了新的要求和挑战。
比如,在云计算环境中,大量资源聚集在服务端,与服务端进行通信时,客户端存储的私钥会完整地出现在客户端的每次签名或解密过程中,这样,攻击者就可通过多种方式将私钥从客户端的内存中导出,因此相比于服务端,客户端总是以弱端的形式存在。
为了改善客户端的弱端状况,目前出现了由客户端和服务端协作签名或协作解密的方案,其核心思想是将完整私钥(签名私钥或解密私钥)拆分成两份,由客户端和服务端分别产生并持有,双方协作完成签名或解密操作,客户端不知道服务端持有的私钥,服务端也不知道客户端持有的私钥,攻击者入侵任一通信方也无法计算出完整的私钥,以此来改善客户端的弱端状况。
但当客户端和服务端分别产生并持有部分私钥时,任何一方私钥的变化都将导致完整私钥发生变化,如果完整私钥发生变化,将会带来一系列的签名证书或加密证书的更新问题,为了避免这些问题,通常的做法是限制客户端不能更新自身持有的私钥,即限制客户端更新用于生成自身持有的私钥的口令,这样,一旦客户端的口令被攻击者获得,攻击者就可盗用客户端的名义与服务端进行通信,客户端的安全仍然难以得到保障。
发明内容
本申请实施例提供一种口令更新方法、装置及***,用以提高客户端的安全性。
第一方面,本申请实施例提供的一种口令更新方法,应用于客户端和服务端协作进行签名或解密的***,该方法包括:
客户端接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;
确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;
将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;
接收所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息,将设置的口令替换为所述第二口令;
其中,所述第三子私钥更新后为第四子私钥,所述第四子私钥由所述服务端将所述第三子私钥和所述结果输入到第二模型中得到,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
本申请实施例中,客户端接收到的口令更新请求中携带有第一口令和用于更新第一口令的第二口令,当确定第一口令与设置的口令相同时,可根据第一口令生成进行协作签名或解密时自身持有的第一子私钥,并根据第二口令生成第二子私钥,之后,将第一子私钥和第二子私钥输入到第一模型中,将第一模型输出的结果发送给服务端,使服务端将进行协作签名或解密时自身持有的第三子私钥和该结果输入到第二模型中,将第二模型的输出作为更新第三子私钥的第四子私钥,其中,第二模型和第一模型之间具有依赖关系,该依赖关系用于保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同,即口令修改前后客户端和服务端进行协作签名或解密时使用的完整私钥不发生变化,这样,即不需要更新验签证书或私钥证书,又可修改用户口令(即修改客户端生成的子私钥),因此,可有效提高客户端的安全性。
在具体实施时,若客户端和服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则客户端和服务端进行协作签名或解密时使用的完整私钥可由d1·d3mod n的结果决定,此时:
第一模型可以为:
第二模型可以为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,将所述第一模型输出的结果发送给所述服务端之前,还可以:
利用保存的第三子公钥对所述第一模型输出的结果进行加密,所述第三子公钥是所述第三子私钥对应的公钥,这样,可进一步提高客户端的安全性。
在具体实施时,若用于表示所述服务端持有的第三子私钥已更新的消息为携带第四子公钥的消息,所述第四子公钥是所述第四子私钥对应的公钥,则在将设置的口令替换为所述第二口令之前,还可以:
利用所述第四子公钥和所述第二子私钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第一子私钥和第三子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同,所述第三子公钥是所述第三子私钥对应的公钥;以及
将设置的口令替换为所述第二口令,包括:
当确定利用所述第四子公钥和所述第二子私钥生成的完整公钥与利用所述第一子私钥和第三子公钥生成的完整公钥相同时,将设置的口令替换为所述第二口令。
这样,确认口令修改前后进行协作签名或协作解密时使用的完整公钥也不发生变化可进一步提高口令修改的准确性。
在一种可能的实施方式下,针对第一口令和第二口令中的任一口令,根据以下步骤生成该口令对应的子私钥:
将该口令输入到预设的密钥派生函数中,并选择宿主设备的r个硬件特征,对每一硬件特征进行哈希计算,得到该硬件特征对应的字符串,所述宿主设备是指安装所述客户端的设备;
将所述密钥派生函数输出的字符串和各硬件特征对应的字符串进行拼接,对拼接后的字符串进行哈希计算,根据计算得到的字符串确定该口令对应的子私钥。
第二方面,本申请实施例提供的一种口令更新方法,应用于客户端和服务端协作进行签名或解密的***,该方法包括:
服务端接收客户端发送的结果,所述结果是所述客户端将第一子私钥和第二子私钥输入到第一模型中得到的,所述第一子私钥是进行协作签名或解密时所述客户端持有的私钥,且是所述客户端在确定第一口令与设置的口令相同时根据所述第一口令生成的,所述第二子私钥用于更新所述第一子私钥,且由所述客户端根据用于更新所述第一口令的第二口令生成;
将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;
将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的第三子私钥已更新的消息,使所述客户端将设置的口令替换为所述第二口令;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
在一种可能的实施方式下,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,所述客户端发送的结果是所述客户端利用保存的第三子公钥进行加密过的,所述第三子公钥是所述第三子私钥对应的公钥,则在接收所述客户端发送的结果之后,还包括:
利用所述第三子私钥对所述结果进行解密。
在一种可能的实施方式下,所述服务端接收到的还有所述第二子私钥对应的第二子公钥,则在将所述第三子私钥更新为所述第四子私钥之前,还包括:
利用所述第四子私钥和所述第二子公钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第三子私钥和第一子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同;以及
将所述第三子私钥更新为所述第四子私钥,包括:
确定利用所述第四子私钥和所述第二子公钥生成的完整公钥与利用所述第三子私钥和第一子公钥生成的完整公钥相同时,将所述第三子私钥更新为所述第四子私钥。
第三方面,本申请实施例提供的一种口令更新装置,应用于客户端和服务端协作进行签名或解密的***,该装置包括:
接收模块,用于接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;
生成模块,用于确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;
处理模块,用于将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;
更新模块,用于接收到所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息时,将设置的口令替换为所述第二口令;
其中,所述第三子私钥更新后为第四子私钥,所述第四子私钥由所述服务端将所述第三子私钥和所述结果输入到第二模型中得到,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
在一种可能的实施方式下,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,还包括:
加密模块,用于在将所述第一模型输出的结果发送给所述服务端之前,利用保存的第三子公钥对所述第一模型输出的结果进行加密,所述第三子公钥是所述第三子私钥对应的公钥。
在一种可能的实施方式下,若所述用于表示所述服务端持有的第三子私钥已更新的消息为携带第四子公钥的消息,所述第四子公钥是所述第四子私钥对应的公钥,则还包括:
验证模块,用于在将设置的口令替换为所述第二口令之前,利用所述第四子公钥和所述第二子私钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第一子私钥和第三子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同,所述第三子公钥是所述第三子私钥对应的公钥;
所述更新模块,具体用于当确定利用所述第四子公钥和所述第二子私钥生成的完整公钥与利用所述第一子私钥和第三子公钥生成的完整公钥相同时,将设置的口令替换为所述第二口令。
在一种可能的实施方式下,针对第一口令和第二口令中的任一口令,所述生成模块具体用于根据以下步骤生成该口令对应的子私钥:
将该口令输入到预设的密钥派生函数中,并选择宿主设备的r个硬件特征,对每一硬件特征进行哈希计算,得到该硬件特征对应的字符串,所述宿主设备是指安装所述客户端的设备;
将所述密钥派生函数输出的字符串和各硬件特征对应的字符串进行拼接,对拼接后的字符串进行哈希计算,根据计算得到的字符串确定该口令对应的子私钥。
第四方面,本申请实施例提供的一种口令更新装置,应用于客户端和服务端协作进行签名或解密的***,该装置包括:
接收模块,用于接收客户端发送的结果,所述结果是所述客户端将第一子私钥和第二子私钥输入到第一模型中得到的,所述第一子私钥是进行协作签名或解密时所述客户端持有的私钥,且是所述客户端在确定第一口令与设置的口令相同时根据所述第一口令生成的,所述第二子私钥用于更新所述第一子私钥,且由所述客户端根据用于更新所述第一口令的第二口令生成;
处理模块,用于将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;
更新模块,用于将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的第三子私钥已更新的消息,使所述客户端将设置的口令替换为所述第二口令;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
在一种可能的实施方式下,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,所述客户端发送的结果是所述客户端利用保存的第三子公钥进行加密过的,所述第三子公钥是所述第三子私钥对应的公钥,则还包括:
解密模块,用于在接收所述客户端发送的结果之后,利用所述第三子私钥对所述结果进行解密。
在一种可能的实施方式下,所述服务端接收到的还有所述第二子私钥对应的第二子公钥,则还包括:
验证模块,用于在将所述第三子私钥更新为所述第四子私钥之前,利用所述第四子私钥和所述第二子公钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第三子私钥和第一子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同;
所述更新模块,具体用于确定利用所述第四子私钥和所述第二子公钥生成的完整公钥与利用所述第三子私钥和第一子公钥生成的完整公钥相同时,将所述第三子私钥更新为所述第四子私钥。
第五方面,本申请实施例提供的一种口令更新***,包括客户端和服务端,其中:
所述客户端,用于接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;以及用于接收所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息,将设置的口令替换为所述第二口令;
所述服务端,用于接收所述客户端发送的所述第一模型输出的结果,将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的第三子私钥已更新的消息;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
第六方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一口令更新方法。
第七方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一口令更新方法。
另外,第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的口令更新***的示意图;
图2为本申请实施例提供的一种口令更新方法的流程图;
图3为本申请实施例提供的针对任一口令生成该口令对应的子私钥的方法流程图;
图4为本申请实施例提供的一种应用于客户端的口令更新方法的流程图;
图5为本申请实施例提供的一种应用于客户端的口令更新装置的结构示意图;
图6为本申请实施例提供的一种应用于服务端的口令更新方法的流程图;
图7为本申请实施例提供的一种应用于服务端的口令更新装置的结构示意图;
图8为本申请实施例提供的用于实现任一口令更新方法的电子设备的硬件结构示意图。
具体实施方式
为了提高客户端的安全性,本申请实施例提供了一种口令更新方法、装置及***。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了便于理解本申请,本申请涉及的技术术语中:
Fp:包含p个元素的素域。
E(Fp):Fp上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合。
G:椭圆曲线的一个基点,其阶n为素数。
gcd(x,y):x和y的最大公因子。
modn:模n运算,例如,23mod7=2。
O:椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
P:P=(xp,yp)是椭圆曲线上除O之外的一个点,其坐标xp,yp满足椭圆曲线方程。
x-1modn:使得x·y≡1(modn)成立的唯一整数y,1≤y≤n-1,gcd(x,n)=1。
x||y:x与y的拼接,其中,x和y是比特串或字符串。
[*]表示椭圆曲线上的点乘运算,[-]表示椭圆曲线上的点减运算。
在具体实施时,客户端和服务端可共享椭圆曲线参数,包括素域Fp的素数p、椭圆曲线方程的系数a,b∈Fp、椭圆曲线E(Fp)上的基点G=(xG,yG)(G≠O,xG∈Fp,yG∈Fp)和G的阶n,假设客户端和服务端基于E(Fp)进行协作签名或协作解密时,客户端生成的子私钥为d1、服务端生成的子私钥为d3,d1∈[1,n-1],d3∈[1,n-1],则通信双方共同的验签公钥或加密公钥的生成过程包括以下步骤:
第一步:客户端根据自身生成的第一子私钥d1计算第一子公钥P1:P1=d1[*]G,并将第一子公钥P1发送给服务端。
第二步:服务端根据自身生成的第三子私钥d3计算第三子公钥P3:P3=d3[*]G,并将第三子公钥P3发送给客户端。
第三步:客户端接收并保存第三子公钥P3,计算共同的公钥P=d1[*]P3[-]G=(xA,yA)。
第四步:服务端接收并保存第一子公钥P1,计算共同的公钥P=d3[*]P1[-]G=(xA,yA)。
由上述过程可以得知,通信双方在进行协作签名或解密时设计使用的完整私钥d=d1·d3-1mod n,完整公钥(验签公钥或加密公钥)P=d[*]G=(xA,yA)。
上述过程中,由于客户端和服务端分别产生并持有部分私钥,任何一方私钥的变化都将导致完整私钥d发生变化,当完整私钥d发生变化时,会导致一系列的签名证书或加密证书的更新问题,为了避免这些问题,现有技术的做法是限制客户端不能更新自身持有的私钥、即限制用户不能更新用于生成该私钥的口令,这样,如果口令被非法用户获得,客户端的安全仍然难以得到保障,为了解决该问题,发明人想到当用户想要修改口令、更新客户端生成的私钥时,同时变更服务端生成的私钥,使得口令更新以后,客户端和服务端生成的私钥均发生变化,但利用变化后的私钥生成的完整私钥与利用变化前的私钥生成的完整私钥相同,即口令更新前后完整的私钥不发生变化,这样即可很好地避免签名证书或加密证书需要更新的问题。
下面结合具体的实施例对上述过程进行说明。
参见图1,图1示出了本申请实施例提供的口令更新***的示意图,包括,客户端11和服务端12,其中,客户端可安装在私人电脑、iPad或手机等设备上,服务端可安装在服务器等设备上,以及:
客户端,用于接收口令更新请求,其中,口令更新请求中携带有第一口令和用于更新第一口令的第二口令,当确定第一口令与设置的口令相同时,可根据第一口令生成进行协作签名或解密时自身持有的第一子私钥,并根据第二口令生成用于更新第一子私钥的第二子私钥,之后,将第一子私钥和第二子私钥输入到第一模型中,并将第一模型输出的结果发送给服务端;以及用于接收服务端发送的用于表示服务端持有的第三子私钥已更新的消息,将设置的口令替换为第二口令;
服务端,用于接收客户端发送的第一模型输出的结果,将进行协作签名或解密时自身持有的第三子私钥和该结果输入到第二模型中,将第二模型输出的结果作为第四子私钥,进而将第三子私钥更新为第四子私钥,并向客户端发送用于表示自身持有的第三子私钥已更新的消息;
其中,第二模型和第一模型之间具有依赖关系,该依赖关系用于保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同。
采用上述***,当用户需要更新用于生成客户端持有的子私钥的口令时,可利用具有相互依赖关系的两个模型分别更新客户端和服务端持有的子私钥,使得子私钥更新前后客户端和服务端进行协作签名或解密时使用的完整私钥不发生变化,即不需要更新验签证书和私钥证书,又可允许客户修改口令、更新客户端持有的私钥,因此,可有效提高客户端的安全性。
下面以客户端生成进行协作签名或解密时的第一子私钥d1,服务端生成进行协作签名或解密时的第三子私钥d3为例对上述过程进行介绍,其中,d1、d3均小于n,n为椭圆曲线E(Fp)上基点G的阶。
在具体实施时,客户端可提供口令修改界面,当用户想要修改口令时,可在口令修改界面上输入第一口令和第二口令,当客户端确定第一口令与设置的口令相同时,可根据第一口令生成在进行协作签名或解密时自身持有的第一子私钥d1,根据第二口令生成用于替换第一子私钥d1的第二子私钥d2,之后,根据第一模型:计算中间结果rate,将中间结果rate发送给服务端,服务端接收到中间结果rate后,可根据第二模型:d4=rate·d3mod n确定第四子私钥d4,然后用第四子私钥d4替换在进行协作签名或解密时自身持有的第三子私钥d3,并向客户端发送自身持有的第三子私钥d3已更新的消息,客户端接收到该消息,可将设置的口令替换为第二口令,并向用户反馈口令已修改的信息,后续,用户则可以使用第二口令进行签名。
在上述过程中,第一模型和第二模型之间的依赖关系体现在:即d2d4modn=d1d3modn,因为私钥更新前客户端和服务端在进行协作签名或协作解密时使用的完整私钥d由d1·d3mod n的结果决定,私钥更新后d2d4modn=d1d3modn,即决定协作签名或协作解密时使用的完整私钥d的中间值并未发生变化,因此,利用上述两个具有依赖关系的模型可保证口令更新前后客户端和服务端进行协作签名或协作解密时使用的私钥不发生变化,从而很好地避免了免签名证书或加密证书的更新。
本申请实施例提供的方法可适用于一切终端为弱端的应用场景,如云存储的应用场景,再者如使用终端实现类似U盾功能的应用场景。
如图2所示,为本申请实施例提供的一种口令更新方法的流程图,包括如下步骤:
S201:客户端接收用户输入的oldPIN。
其中,PIN(Personal Identification Number,用户个人识别码)也可叫做用户口令,oldPIN即第一口令。
S202:客户端判断oldPIN与设置的口令是否相同,若是,则进入S203;否则,返回S201。
在具体实施时,客户端可以保存用户预先设置的口令,若oldPIN与设置的口令相同,则确定oldPIN验证通过;否则,确定oldPIN验证不通过。特别地,若用户首次设置口令,则客户端中设置的口令为***默认值,该默认值可在用户购买客户端软件时告知客户。
S203:客户端接收用户输入的newPIN。
其中,newPIN即第二口令。
S204:客户端判断newPIN与oldPIN是否一致,若是,则进入S205;否则,进入S206。
S205:客户端结束操作,并可提示用户oldPIN不可与newPIN相同。
S206:客户端根据oldPIN生成自身持有的第一子私钥d1,根据newPIN生成用于替换第一子私钥d1的第二子私钥d2。
考虑到客户端加密保存子私钥时,客户端的内存中会一直存储有子私钥、私钥的安全性比较差,这里采用以口令的形式生成客户端持有的子私钥,因为子私钥随用随生成,客户端的内存中不会一直存储有子私钥,这样就可提高私钥的安全性,并且,也不需要额外地对加密保存的子私钥进行加解密操作,还可节省计算资源和时间。
在具体实施时,针对oldPIN和newPIN中的任一口令,均可根据图3所示的流程生成该口令对应的子私钥:
S301a:接收用户在口令输入框内输入的用户PIN。
其中,用户PIN的字符长度为l,其包含的每个字符可从ASCII码的85个字符中选择,包括10个数字0~9,52个大小写字母a~z和A~Z,以及23个常用符号“!”、”#”、“$”、“%”、“&”、“*”、“+”、“-”、“.”、“/”、“:”、“;”、“<”、“=”、“>”、“?”、“@”、“\”、“^”、“_”、“|”、“^”、“~”。
在具体实施时,用户PIN可以通过一个口令输入框输入,也可以通过多个口令输入框输入,用户PIN的字符总长度为l即可。
S302a:验证用户PIN是否正确,若是,则进入S303a;否则,返回步骤S301a。
S303a:根据用户PIN和比特串长度kLen生成软件密钥D0。
具体地,D0=KDF(PIN,kLen),这里,KDF函数可以是《GM/T 0003-2012SM2椭圆曲线公钥密码算法》中所示的密钥派生函数。
S304a:根据宿主设备的硬件特征确定硬件秘钥DI。
具体地,宿主设备可以获取本设备的m个硬件特征{ch1,ch2,…,chm},根据随机数种子seed从中随机选取r个硬件特征计算r个硬件特征的哈希值得到{H1,H2,…,Hr},并确定硬件秘钥DI=H1||H2||…||Hr,其中,r≤m,Hi=Hash(chi′),i={1,2,…,r}。
其中,宿主设备是指安装客户端的设备,若宿主设备是智能手机,那么智能手机的硬件特征可以是智能手机的国际移动设备识别码(International Mobile EquipmentIdentity,IMEI)、中央处理器(Central Processing Unit,CPU)标识、物理地址(MediaAccess Control,MAC)、全球定位***(Global Positioning System,GPS)粗略位置等;若宿主设备是电脑,那么电脑的硬件特征可以是电脑的硬盘标识、主板基本输入输出***(Basic Input Output System"的缩略词,直译过来后中文名称就是,BIOS)串码、MAC、CPU标识等。
S305a:根据软件密钥D0和硬件秘钥DI生成子私钥d,输出d。
具体地,计算比特串D1=Hash(D0||DI),并将比特串D1转化成整数,将整数取余n的结果作为根据用户PIN生成的子私钥d,n为E(Fp)上基点G的阶。
这里,若Hash函数的输出长度为s比特位,则比特串D1的位数就是s比特位,kLen的值取大于或等于Hash函数输出的比特串长度s即可,为了保证使用私钥的安全强度,可使l≥s/6.4094,对于256比特位的私钥,l可以为40,在具体实施时,可根据安全需求选择具有相应的输出比特位数的哈希算法,在此不再赘述。
S207:客户端计算第二子公钥P2=d2[*]G和中间结果 以保存的第三子公钥P3作为SM2算法的加密公钥对rate进行加密Enc(P2,rate),将加密结果C和第二子公钥P2发送给服务端。
其中,为第二子私钥d2在素域Fp上的逆元,第三子公钥P3是第三子私钥d3对应的公钥,第三子私钥d3是进行协作签名或解密时服务端生成的私钥。
S208:服务端接收加密结果C和第二子公钥P2,以进行协作签名或解密时自身生成的第三子私钥d3作为SM2算法的解密私钥对C进行解密Dec(d2,C),得到中间结果rate,计算第四子私钥d4=rate·d3mod n。
S209:服务端验证d4[*]P2[-]G=P是否成立,若是,则进入S210;否则,进入S216。
在具体实施时,服务端可以预先存储与服务端进行协作签名或协作解密时使用的完整公钥P,进而验证d4[*]P2[-]G=P是否成立,也可以根据公式P=d3[*]P1[-]G生成完整公钥P,进而验证d4[*]P2[-]G=P是否成立。
S210:服务端计算第四子公钥P4=d4[*]G,并将第四子公钥P4发送给客户端。
S211:客户端接收第四子公钥P4,验证d2[*]P4[-]G=P是否成立,若是,则进入S212;否则,进入S216。
在具体实施时,客户端可以预先存储与服务端进行协作签名或协作解密时使用的完整公钥P,根据存储的完整公钥P验证d2[*]P4[-]G=P是否成立,也可以根据公式P=d1[*]P3[-]G生成完整公钥P,进而验证d2[*]P4[-]G=P是否成立。
S212:客户端通知服务端d2[*]P4[-]G=P验证成立。
S213:服务端保存第二子公钥P2,向客户端返回私钥更新成功的消息。
即,服务端用第二子公钥P2替换保存的第一子公钥P1,第一子公钥P1是第一子私钥d1对应的公钥。
S214:客户端将设置的口令替换为第二口令,并保存第二子公钥P2和第四子公钥P4。
即,客户端用第四子公钥P4替换保存的第三子公钥P3,第三子公钥P3是第三子私钥d3对应的公钥,且客户端可以保存第二子公钥P2。
S215:客户端通知用户口令修改成功,后续使用newPIN进行签名。
S216:服务端通知客户端用户PIN修改失败。
S217:客户端通知用户PIN修改失败。
下面结合具体的实施例对上述过程进行说明:
为了描述和计算简单,假定n=13,口令更新前客户端持有的私钥d1=4,服务端持有的私钥d3=11,现在客户端希望将私钥d1=4更改为私钥d2=7,那么客户端进行的计算为P2=d2[*]G和在0~12中,只有2符合7*2=14mod13=1,因此,所以
服务端接收到P2和rate后,计算d4=rate·d3mod n=8*11mod13=10,验证d4[*]P2[-]G=P是否成立,若成立,则计算P4=d4[*]G,将P4发送给客户端,之后,由客户端验证d2[*]P4[-]G=P是否成立,若成立,则说明口令修改前后进行协作签名或协作解密时使用的完整公钥未发生变化。
从上述计算过程可以注意到:
d1*d3mod 13=4*11mod 13=5;
d2*d4mod 13=7*10mod 13=5;
口令更新前后,客户端和服务端进行协作签名或解密时使用的完整私钥均为5-1=4,因此,可避免签名证书或加密证书的更新,且完整私钥在整个计算过程中不曾出现,可进一步提升客户端的安全性。
参考数据:
当c*dmod13=5时,(c,d)的取值集合为:{(1,5),(2,9),(3,6),(4,11),(7,10),(8,12)};
当a*bmod13=1时,(a,b)的取值集合为:{(1,1),(2,7),(3,9),(4,10),(5,8),(6,11),(12,12)}。
本申请实施例中的口令更新方法,通过客户端和服务端的交互,变更客户端和服务端两方的私钥,使得客户端和服务端协作进行签名或解密时使用的完整的签名私钥或解密私钥不发生变化,避免了签名证书或加密证书的更新,即可保护客户端的私钥安全,又可保护服务端的私钥安全,并且,集用户身份验证和私钥生成功能于一体,对客户端的改造也比较小。
相应地,本申请还提供一种应用于客户端的口令更新方法,如图4所示,为该方法的流程图,包括以下步骤:
S401:客户端接收口令更新请求,该口令更新请求中携带有第一口令和用于更新第一口令的第二口令。
S402:确定第一口令与设置的口令相同时,根据第一口令生成进行协作签名或解密时客户端持有的第一子私钥,并根据第二口令生成用于更新第一子私钥的第二子私钥。
这里,对第一口令和第二口令中的任一口令,可以直接根据该口令生成对应的子私钥,为了提高私钥的安全性,还可以结合安装客户端的设备的硬件特征来生成该口令对应的子私钥,具体过程可参考图3,在此不再赘述。
S403:将第一子私钥和第二子私钥输入到第一模型中,利用保存的第三子公钥对第一模型输出的结果进行加密,将加密后的结果发送给服务端。
S404:接收服务端发送的携带有第四子公钥的消息,该第四子公钥是第四子私钥对应的公钥,第四子私钥用于更新服务端在进行签名或解密时使用的第三子私钥,由服务端将第一模型输出的结果和自身持有的第三子私钥输入到第一模型中得到。
S405:利用第四子公钥和第二子私钥生成进行协作签名或协作解密时使用的完整公钥P’。
比如,根据以下公式确定利用第四子公钥和第二子私钥生成进行协作签名或协作解密时使用的完整公钥P’:
P′=d2[*]P4[-]G;
其中,d2为第二子私钥,P4为第四子公钥,G为椭圆曲线E(Fp)上的基点。
S406:若确定完整公钥P’与利用第一子私钥和第三子公钥生成的完整公钥P相同,则将设置的口令替换为第二口令。
其中,第二模型和第一模型之间具有依赖关系,依赖关系用于保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同。
在具体实施时,当客户端和服务端均基于椭圆曲线E(Fp)进行协作签名或解密时,
第一模型可以为:
第二模型可以为:d4=rate·d3mod n;
其中,d1为第一子私钥,d2为第二子私钥,为第二子私钥在素域Fp上的逆元,d3为第三子私钥,d4为第四子私钥,rate为第一模型的输出,n为E(Fp)上基点G的阶。
基于同样的发明构思,本申请实施例还提供一种应用于客户端的口令更新装置,如图5所示,包括:
接收模块501,用于接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;
生成模块502,用于确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;
处理模块503,用于将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;
更新模块504,用于接收到所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息时,将设置的口令替换为所述第二口令。
其中,所述第三子私钥更新后为第四子私钥,所述第四子私钥由所述服务端将所述第三子私钥和所述结果输入到第二模型中得到,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
在一种可能的实施方式下,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,还包括:
加密模块505,用于在将所述第一模型输出的结果发送给所述服务端之前,利用保存的第三子公钥对所述第一模型输出的结果进行加密,所述第三子公钥是所述第三子私钥对应的公钥。
在一种可能的实施方式下,若所述用于表示所述服务端持有的第三子私钥已更新的消息为携带第四子公钥的消息,所述第四子公钥是所述第四子私钥对应的公钥,则还包括:
验证模块506,用于在将设置的口令替换为所述第二口令之前,利用所述第四子公钥和所述第二子私钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第一子私钥和第三子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同,所述第三子公钥是所述第三子私钥对应的公钥;
所述更新模块504,具体用于当确定利用所述第四子公钥和所述第二子私钥生成的完整公钥与利用所述第一子私钥和第三子公钥生成的完整公钥相同时,将设置的口令替换为所述第二口令。
在一种可能的实施方式下,针对第一口令和第二口令中的任一口令,所述生成模块502具体用于根据以下步骤生成该口令对应的子私钥:
将该口令输入到预设的密钥派生函数中,并选择宿主设备的r个硬件特征,对每一硬件特征进行哈希计算,得到该硬件特征对应的字符串,所述宿主设备是指安装所述客户端的设备;
将所述密钥派生函数输出的字符串和各硬件特征对应的字符串进行拼接,对拼接后的字符串进行哈希计算,根据计算得到的字符串确定该口令对应的子私钥。
相应地,本申请还提供一种应用于服务端的口令更新方法,如图6所示,为该方法的流程图,包括以下步骤:
S601:服务端接收客户端发送的结果和第二子私钥对应的第二子公钥,该结果是客户端将第一子私钥和第二子私钥输入到第一模型中得到的,其中,第一子私钥是进行协作签名或解密时客户端持有的私钥,且是客户端在确定第一口令与设置的口令相同时根据第一口令生成的,第二子私钥用于更新第一子私钥,且由客户端根据用于更新第一口令的第二口令生成。
S602:将进行协作签名或解密时服务端持有的第三子私钥和该结果输入到第二模型中,将第二模型输出的结果作为第四子私钥。
在具体实施时,若客户端发送的结果是客户端利用保存的第三子公钥进行加密过的,则在接收到客户端发送的结果之后,还可以利用自身持有的第三子私钥对该结果进行解密。
S603:利用第四子私钥和第二子公钥生成进行协作签名或协作解密时使用的完整公钥P”。
比如,根据以下公式确定利用第四子私钥和第二子公钥生成进行协作签名或协作解密时使用的完整公钥P”:
P”=d4[*]P2[-]G;
其中,d4为第四子私钥,P2为第二子公钥,G为椭圆曲线E(Fp)上的基点。
S604:确定完整公钥P”与利用第三子私钥和第一子公钥生成的完整公钥P相同时,将第三子私钥更新为第四子私钥,并向客户端发送用于表示自身持有的第三子私钥已更新的消息,使客户端将设置的口令替换为第二口令。
其中,第一子公钥是第一子私钥对应的公钥,且第二模型和第一模型之间具有依赖关系,该依赖关系用于保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第三子私钥和第一子公钥生成的完整私钥相同。
在具体实施时,当客户端和服务端均基于椭圆曲线E(Fp)进行协作签名或解密时,
第一模型可以为:
第二模型可以为:d4=rate·d3mod n;
其中,d1为第一子私钥,d2为第二子私钥,为第二子私钥在素域Fp上的逆元,d3为第三子私钥,d4为第四子私钥,rate为第一模型的输出,n为E(Fp)上基点G的阶。
在本申请实施例中,客户端接收到的口令更新请求中携带有第一口令和用于更新第一口令的第二口令,当确定第一口令与设置的口令相同时,可根据第一口令生成进行协作签名或解密时自身持有的第一子私钥,并根据第二口令生成第二子私钥,之后,将第一子私钥和第二子私钥输入到第一模型中,将第一模型输出的结果发送给服务端,使服务端将进行协作签名或解密时自身持有的第三子私钥和该结果输入到第二模型中,将第二模型的输出作为更新第三子私钥的第四子私钥,其中,第二模型和第一模型可保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同,即口令修改前后客户端和服务端进行协作签名或解密时使用的完整私钥不发生变化,并且,还可验证口令修改前后客户端和服务端进行协作签名或解密时使用的完整公钥也未发生变化,这样,即不需要更新验签证书或私钥证书,又可修改用户口令(即修改客户端生成的子私钥),因此,可有效提高客户端的安全性。
基于同样的发明构思,本申请实施例还提供一种应用于服务端的口令更新装置,如图7所示,包括:
接收模块701,用于接收客户端发送的结果,所述结果是所述客户端将第一子私钥和第二子私钥输入到第一模型中得到的,所述第一子私钥是进行协作签名或解密时所述客户端持有的私钥,且是所述客户端在确定第一口令与设置的口令相同时根据所述第一口令生成的,所述第二子私钥用于更新所述第一子私钥,且由所述客户端根据用于更新所述第一口令的第二口令生成;
处理模块702,用于将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;
更新模块703,用于将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的第三子私钥已更新的消息,使所述客户端将设置的口令替换为所述第二口令。
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
在一种可能的实施方式下,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
在一种可能的实施方式下,所述客户端发送的结果是所述客户端利用保存的第三子公钥进行加密过的,所述第三子公钥是所述第三子私钥对应的公钥,则还包括:
解密模块704,用于在接收所述客户端发送的结果之后,利用所述第三子私钥对所述结果进行解密。
在一种可能的实施方式下,所述服务端接收到的还有所述第二子私钥对应的第二子公钥,则还包括:
验证模块705,用于在将所述第三子私钥更新为所述第四子私钥之前,利用所述第四子私钥和所述第二子公钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第三子私钥和第一子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同;
所述更新模块703,具体用于确定利用所述第四子私钥和所述第二子公钥生成的完整公钥与利用所述第三子私钥和第一子公钥生成的完整公钥相同时,将所述第三子私钥更新为所述第四子私钥。
在本申请实施例中,客户端接收到的口令更新请求中携带有第一口令和用于更新第一口令的第二口令,当确定第一口令与设置的口令相同时,可根据第一口令生成进行协作签名或解密时自身持有的第一子私钥,并根据第二口令生成第二子私钥,之后,将第一子私钥和第二子私钥输入到第一模型中,将第一模型输出的结果发送给服务端,使服务端将进行协作签名或解密时自身持有的第三子私钥和该结果输入到第二模型中,将第二模型的输出作为更新第三子私钥的第四子私钥,其中,第二模型和第一模型可保证在进行协作签名或解密时利用第二子私钥和第四子私钥生成的完整私钥、与利用第一子私钥和第三子私钥生成的完整私钥相同,即口令修改前后客户端和服务端进行协作签名或解密时使用的完整私钥不发生变化,并且,还可验证口令修改前后客户端和服务端进行协作签名或解密时使用的完整公钥也未发生变化,这样,即不需要更新验签证书或私钥证书,又可修改用户口令(即修改客户端生成的子私钥),因此,可有效提高客户端的安全性。
参见图8所示,为本申请实施例提供的一种电子设备的结构示意图,该电子设备包括收发器801以及处理器802等物理器件,其中,处理器802可以是一个中央处理单元(central processing unit,CPU)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器501用于电子设备和其他设备进行数据收发。
该电子设备还可以包括存储器803用于存储处理器802执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器803可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器803也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器803是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器803可以是上述存储器的组合。
本申请实施例中不限定上述处理器802、存储器803以及收发器801之间的具体连接介质。本申请实施例在图8中仅以存储器803、处理器802以及收发器801之间通过总线804连接为例进行说明,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器802可以是专用硬件或运行软件的处理器,当处理器802可以运行软件时,处理器802读取存储器803存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的口令更新方法。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请提供的口令更新方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的口令更新方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于私钥更新的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种口令更新方法,其特征在于,应用于客户端和服务端协作进行签名或解密的***,所述方法包括:
客户端接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;
确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;
将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;
接收所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息,将设置的口令替换为所述第二口令;
其中,所述第三子私钥更新后为第四子私钥,所述第四子私钥由所述服务端将所述第三子私钥和所述结果输入到第二模型中得到,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
2.如权利要求1所述的方法,其特征在于,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
3.如权利要求1或2所述的方法,其特征在于,将所述第一模型输出的结果发送给所述服务端之前,还包括:
利用保存的第三子公钥对所述第一模型输出的结果进行加密,所述第三子公钥是所述第三子私钥对应的公钥。
4.如权利要求1或2所述的方法,其特征在于,若所述用于表示所述服务端持有的第三子私钥已更新的消息为携带第四子公钥的消息,所述第四子公钥是所述第四子私钥对应的公钥,则在将设置的口令替换为所述第二口令之前,还包括:
利用所述第四子公钥和所述第二子私钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第一子私钥和第三子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同,所述第三子公钥是所述第三子私钥对应的公钥;以及
将设置的口令替换为所述第二口令,包括:
当确定利用所述第四子公钥和所述第二子私钥生成的完整公钥与利用所述第一子私钥和第三子公钥生成的完整公钥相同时,将设置的口令替换为所述第二口令。
5.如权利要求1所述的方法,其特征在于,针对第一口令和第二口令中的任一口令,根据以下步骤生成该口令对应的子私钥:
将该口令输入到预设的密钥派生函数中,并选择宿主设备的r个硬件特征,对每一硬件特征进行哈希计算,得到该硬件特征对应的字符串,所述宿主设备是指安装所述客户端的设备;
将所述密钥派生函数输出的字符串和各硬件特征对应的字符串进行拼接,对拼接后的字符串进行哈希计算,根据计算得到的字符串确定该口令对应的子私钥。
6.一种口令更新方法,其特征在于,应用于客户端和服务端协作进行签名或解密的***,所述方法包括:
服务端接收客户端发送的结果,所述结果是所述客户端将第一子私钥和第二子私钥输入到第一模型中得到的,所述第一子私钥是进行协作签名或解密时所述客户端持有的私钥,且是所述客户端在确定第一口令与设置的口令相同时根据所述第一口令生成的,所述第二子私钥用于更新所述第一子私钥,且由所述客户端根据用于更新所述第一口令的第二口令生成;
将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;
将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的所述第三子私钥已更新的消息,使所述客户端将设置的口令替换为所述第二口令;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
7.如权利要求6所述的方法,其特征在于,若所述客户端和所述服务端均基于椭圆曲线E(Fp)进行协作签名或解密,则:
所述第一模型为:
所述第二模型为:d4=rate·d3mod n;
其中,d1为所述第一子私钥,d2为所述第二子私钥,为所述第二子私钥在素域Fp上的逆元,d3为所述第三子私钥,d4为所述第四子私钥,rate为所述第一模型的输出,n为E(Fp)上基点G的阶。
8.如权利要求6或7所述的方法,其特征在于,所述客户端发送的结果是所述客户端利用保存的第三子公钥进行加密过的,所述第三子公钥是所述第三子私钥对应的公钥,则在接收所述客户端发送的结果之后,还包括:
利用所述第三子私钥对所述结果进行解密。
9.如权利要求6或7所述的方法,其特征在于,若所述服务端接收到的还有所述第二子私钥对应的第二子公钥,则在将所述第三子私钥更新为所述第四子私钥之前,还包括:
利用所述第四子私钥和所述第二子公钥生成进行协作签名或协作解密时使用的完整公钥,判断所述完整公钥与利用所述第三子私钥和第一子公钥生成的进行协作签名或协作解密时使用的完整公钥是否相同,所述第一子公钥是所述第一子私钥对应的公钥;以及
将所述第三子私钥更新为所述第四子私钥,包括:
确定利用所述第四子私钥和所述第二子公钥生成的完整公钥与利用所述第三子私钥和第一子公钥生成的完整公钥相同时,将所述第三子私钥更新为所述第四子私钥。
10.一种口令更新装置,其特征在于,应用于客户端和服务端协作进行签名或解密的***,该装置包括:
接收模块,用于接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;
生成模块,用于确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;
处理模块,用于将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;
更新模块,用于接收到所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息时,将设置的口令替换为所述第二口令;
其中,所述第三子私钥更新后为第四子私钥,所述第四子私钥由所述服务端将所述第三子私钥和所述结果输入到第二模型中得到,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
11.一种口令更新装置,其特征在于,应用于客户端和服务端协作进行签名或解密的***,该装置包括:
接收模块,用于接收客户端发送的结果,所述结果是所述客户端将第一子私钥和第二子私钥输入到第一模型中得到的,所述第一子私钥是进行协作签名或解密时所述客户端持有的私钥,且是所述客户端在确定第一口令与设置的口令相同时根据所述第一口令生成的,所述第二子私钥用于更新所述第一子私钥,且由所述客户端根据用于更新所述第一口令的第二口令生成;
处理模块,用于将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥;
更新模块,用于将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的所述第三子私钥已更新的消息,使所述客户端将设置的口令替换为所述第二口令;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
12.一种口令更新***,其特征在于,包括客户端和服务端,其中:
所述客户端,用于接收口令更新请求,所述口令更新请求中携带有第一口令和用于更新所述第一口令的第二口令;确定所述第一口令与设置的口令相同时,根据所述第一口令生成进行协作签名或解密时所述客户端持有的第一子私钥,并根据所述第二口令生成用于更新所述第一子私钥的第二子私钥;将所述第一子私钥和所述第二子私钥输入到第一模型中,将所述第一模型输出的结果发送给所述服务端;以及用于接收所述服务端发送的用于表示所述服务端持有的第三子私钥已更新的消息,将设置的口令替换为所述第二口令;
所述服务端,用于接收所述客户端发送的所述第一模型输出的结果,将进行协作签名或解密时所述服务端持有的第三子私钥和所述结果输入到第二模型中,将所述第二模型输出的结果作为第四子私钥,将所述第三子私钥更新为所述第四子私钥,并向所述客户端发送用于表示自身持有的所述第三子私钥已更新的消息;
其中,所述第二模型和所述第一模型之间具有依赖关系,所述依赖关系用于保证在进行协作签名或解密时利用所述第二子私钥和所述第四子私钥生成的完整私钥、与利用所述第一子私钥和所述第三子私钥生成的完整私钥相同。
13.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5或6至9任一权利要求所述的方法。
14.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至5或6至9任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360863.4A CN109413084B (zh) | 2018-11-15 | 2018-11-15 | 一种口令更新方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360863.4A CN109413084B (zh) | 2018-11-15 | 2018-11-15 | 一种口令更新方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109413084A true CN109413084A (zh) | 2019-03-01 |
CN109413084B CN109413084B (zh) | 2021-08-31 |
Family
ID=65473406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811360863.4A Active CN109413084B (zh) | 2018-11-15 | 2018-11-15 | 一种口令更新方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413084B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及*** |
CN112364385A (zh) * | 2020-10-19 | 2021-02-12 | 山东省国土空间数据和遥感技术中心 | 一种ofd版式不动产电子证照文件签章方法及*** |
CN113225302A (zh) * | 2021-01-27 | 2021-08-06 | 暨南大学 | 一种基于代理重加密的数据共享***及方法 |
CN114070564A (zh) * | 2020-07-31 | 2022-02-18 | 华为技术有限公司 | 数字签名的方法和装置 |
CN116139464A (zh) * | 2023-03-28 | 2023-05-23 | 浙江大学 | 基于量化指标下的呼吸训练数据采集方法和采集*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101647229A (zh) * | 2006-11-13 | 2010-02-10 | 塞尔蒂卡姆公司 | 压缩的ecdsa签名 |
CN102025716A (zh) * | 2010-06-29 | 2011-04-20 | 北京飞天诚信科技有限公司 | 一种对动态口令令牌的种子进行更新的方法 |
CN102135944A (zh) * | 2011-03-24 | 2011-07-27 | 深圳市华信安创科技有限公司 | 一种在移动通讯设备中安全存储数据的方法 |
CN105635157A (zh) * | 2016-01-06 | 2016-06-01 | 北京信安世纪科技有限公司 | 一种口令更新的方法 |
CN106209756A (zh) * | 2015-06-01 | 2016-12-07 | 华为技术有限公司 | 口令更新方法、用户设备、用户位置服务器及域路由器 |
CN106452736A (zh) * | 2016-08-12 | 2017-02-22 | 数安时代科技股份有限公司 | 密钥协商方法和*** |
CN107888382A (zh) * | 2017-11-24 | 2018-04-06 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的数字身份验证的方法、装置和*** |
-
2018
- 2018-11-15 CN CN201811360863.4A patent/CN109413084B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101647229A (zh) * | 2006-11-13 | 2010-02-10 | 塞尔蒂卡姆公司 | 压缩的ecdsa签名 |
CN102025716A (zh) * | 2010-06-29 | 2011-04-20 | 北京飞天诚信科技有限公司 | 一种对动态口令令牌的种子进行更新的方法 |
CN102135944A (zh) * | 2011-03-24 | 2011-07-27 | 深圳市华信安创科技有限公司 | 一种在移动通讯设备中安全存储数据的方法 |
CN106209756A (zh) * | 2015-06-01 | 2016-12-07 | 华为技术有限公司 | 口令更新方法、用户设备、用户位置服务器及域路由器 |
CN105635157A (zh) * | 2016-01-06 | 2016-06-01 | 北京信安世纪科技有限公司 | 一种口令更新的方法 |
CN106452736A (zh) * | 2016-08-12 | 2017-02-22 | 数安时代科技股份有限公司 | 密钥协商方法和*** |
CN107888382A (zh) * | 2017-11-24 | 2018-04-06 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种基于区块链的数字身份验证的方法、装置和*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及*** |
CN111464301B (zh) * | 2020-04-28 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及*** |
CN114070564A (zh) * | 2020-07-31 | 2022-02-18 | 华为技术有限公司 | 数字签名的方法和装置 |
CN112364385A (zh) * | 2020-10-19 | 2021-02-12 | 山东省国土空间数据和遥感技术中心 | 一种ofd版式不动产电子证照文件签章方法及*** |
CN113225302A (zh) * | 2021-01-27 | 2021-08-06 | 暨南大学 | 一种基于代理重加密的数据共享***及方法 |
CN116139464A (zh) * | 2023-03-28 | 2023-05-23 | 浙江大学 | 基于量化指标下的呼吸训练数据采集方法和采集*** |
Also Published As
Publication number | Publication date |
---|---|
CN109413084B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112822014B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109413084A (zh) | 一种口令更新方法、装置及*** | |
CN106161359B (zh) | 认证用户的方法及装置、注册可穿戴设备的方法及装置 | |
CN104170312B (zh) | 用于使用硬件安全引擎通过网络进行安全通信的方法和设备 | |
CN109194465B (zh) | 用于管理密钥的方法、用户设备、管理设备、存储介质 | |
WO2018232111A1 (en) | Internet of things (iot) device management | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
CN109274503A (zh) | 分布式协同签名方法及分布式协同签名装置、软盾*** | |
US11716206B2 (en) | Certificate based security using post quantum cryptography | |
CN109800588B (zh) | 条码动态加密方法及装置、条码动态解密方法及装置 | |
CN107733657A (zh) | 一种云端基于ptpm和无证书公钥签名双因子认证方法 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN106788989A (zh) | 一种建立安全加密信道的方法及设备 | |
CN109005032B (zh) | 一种路由方法和装置 | |
CN107920081A (zh) | 登录认证方法及装置 | |
CN112235107A (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN109672521A (zh) | 基于国密加密引擎实现的安全存储***和方法 | |
US11934323B2 (en) | Diversifying a base symmetric key based on a public key | |
CN105530090A (zh) | 密钥协商的方法及设备 | |
CN108549824A (zh) | 一种数据脱敏方法及装置 | |
CN114553590A (zh) | 数据传输方法及相关设备 | |
CN116601914A (zh) | 混合密钥导出以保护数据 | |
CN103024735A (zh) | 无卡终端的业务访问方法及设备 | |
KR101952641B1 (ko) | 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법 | |
NL1043779B1 (en) | Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge |
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 |