CN109067545A - 密钥管理方法、装置及存储介质 - Google Patents
密钥管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109067545A CN109067545A CN201810909713.8A CN201810909713A CN109067545A CN 109067545 A CN109067545 A CN 109067545A CN 201810909713 A CN201810909713 A CN 201810909713A CN 109067545 A CN109067545 A CN 109067545A
- Authority
- CN
- China
- Prior art keywords
- key
- user
- private key
- random number
- identification number
- 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.)
- Pending
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/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
- 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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- 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
Abstract
本公开涉及一种密钥管理方法、装置及存储介质,所述方法应用于移动终端,所述方法包括:生成密钥标识号和随机数;利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;根据所述用户私钥生成用户公钥;销毁所述用户私钥;存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。采用上述技术方案,可以实现在需要使用用户私钥时通过移动终端中存储的密钥标识号、随机数、密钥校验值和输入的用户口令重建用户私钥,而无需在移动终端中存储用户私钥,因而可以避免用户私钥存储在移动终端存储介质中而产生被非法拷贝以及因移动终端丢失而造成用户私钥被非法冒用的风险,提高了用户私钥的安全性。
Description
技术领域
本公开涉及通信技术领域,具体地,涉及一种密钥管理方法、装置及存储介质。
背景技术
随着移动互联网络技术的发展和智能移动终端应用的推进,手机等移动终端已成为移动办公应用不可或缺的智能设备,人们更倾向于使用移动终端随时随地进行办公、购物、支付、社交等网络活动。在这些互联网络应用中,用户身份认证尤为重要,而可靠的用户身份识别通常采用以密钥为基础的数字证书来实现,这就需要用户持有一个供签名计算的密钥。
现有技术中,考虑到移动终端的便携性,其不能像电脑等设备方便地接入外置密码设备来保障用户身份和数据安全且目标大多数移动终端并没有内置和集成安全密码硬件,通常将密钥保存在移动终端的存储介质上。然而,移动终端因其系统的开放性和易于丢失等问题,使得存储在其存储介质上的密钥容易被拷贝和冒用。
发明内容
为了克服现有技术中存在的问题,本公开提供一种密钥管理方法、装置及存储介质。
为了实现上述目的,本公开提供一种密钥管理方法,应用于移动终端,所述方法包括:
生成密钥标识号和随机数;
利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;
根据所述用户私钥生成用户公钥;
销毁所述用户私钥;
存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。
可选地,所述方法还包括:
当接收到密钥生成请求时,读取所述移动终端中存储的密钥标识号、随机数和密钥校验值,其中,所述密钥生成请求包括输入的用户口令;
利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值;
将生成的密钥校验值与读取到的密钥校验值进行一致性比对;
若生成的密钥校验值与读取到的密钥校验值一致,则确定所述移动终端成功生成用于响应所述密钥生成请求的用户私钥。
可选地,所述利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值,包括:
根据所述预设用户口令以及生成的密钥标识号和随机数计算第一派生函数参数Z:
Z=ID||PW||R
根据所述第一派生函数参数Z生成用户私钥d:
d=KDF(Z,len)
当所述用户私钥d∈[1,n-2]时,根据以下公式分别生成密钥校验值MAC:
MAC=HASH(Z||d)
所述根据所述用户私钥生成用户公钥,包括:
根据以下公式生成用户公钥P:
P=[d]G
其中,ID为生成的密钥标识号,R为生成的随机数,PW为所述预设用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d的比特长度;HASH()为预设哈希函数,G为所述SM2密码算法的基点,n为所述SM2密码算法的阶。
可选地,所述利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值,包括:
根据输入的用户口令以及读取到的密钥标识号和随机数计算第二派生函数参数Z':
Z'=ID'||PW'||R'
根据所述第二派生函数参数Z'生成用户私钥d':
d'=KDF(Z',len)
根据以下公式生成密钥校验值MAC':
MAC'=HASH(Z'||d')
其中,ID'为读取到的密钥标识号,R'为读取到的随机数,PW'为输入的用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d'的比特长度,HASH()为预设哈希函数。
本公开还提供一种密钥管理装置,应用于移动终端,所述装置包括:
第一生成模块,被配置为生成密钥标识号和随机数;
第二生成模块,被配置为利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;
第三生成模块,被配置为根据所述用户私钥生成用户公钥;
销毁模块,被配置为销毁所述用户私钥;
存储模块,被配置为存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。
可选地,所述装置还包括:
读取模块,被配置为当接收到密钥生成请求时,读取所述移动终端中存储的密钥标识号、随机数和密钥校验值,其中,所述密钥生成请求包括输入的用户口令;
第四生成模块,被配置为利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值;
比对模块,被配置为将生成的密钥校验值与读取到的密钥校验值进行一致性比对;
确定模块,被配置为在生成的密钥校验值与读取到的密钥校验值一致时,确定所述移动终端成功生成用于响应所述密钥生成请求的用户私钥。
可选地,所述第二生成模块包括:
第一计算子模块,被配置为根据所述预设用户口令以及生成的密钥标识号和随机数计算第一派生函数参数Z:
Z=ID||PW||R
第一生成子模块,被配置为根据所述第一派生函数参数Z生成用户私钥d:
d=KDF(Z,len)
第二生成子模块,被配置为当所述用户私钥d∈[1,n-2]时,根据以下公式分别生成密钥校验值MAC:
MAC=HASH(Z||d)
所述第三生成模块包括:
第三生成子模块,被配置为根据以下公式生成用户公钥P:
P=[d]G
其中,ID为生成的密钥标识号,R为生成的随机数,PW为所述预设用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d的比特长度;HASH()为预设哈希函数,G为所述SM2密码算法的基点,n为所述SM2密码算法的阶。
可选地,所述第四生成模块包括:
第二计算子模块,被配置为根据输入的用户口令以及读取到的密钥标识号和随机数计算第二派生函数参数Z':
Z'=ID'||PW'||R'
第四生成子模块,被配置为根据所述第二派生函数参数Z'生成用户私钥d':
d'=KDF(Z',len)
第五生成子模块,被配置为根据以下公式生成密钥校验值MAC':
MAC'=HASH(Z'||d')
其中,ID'为读取到的密钥标识号,R'为读取到的随机数,PW'为输入的用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d'的比特长度,HASH()为预设哈希函数。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的密钥管理方法的步骤。
本公开还提供一种密钥管理装置,应用于移动终端,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开提供的密钥管理方法的步骤。
采用上述技术方案,至少可以达到如下技术效果:
利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值,根据用户私钥生成用户公钥,并且将用户私钥销毁,只用于存储密钥标识号、随机数、密钥校验值以及用户公钥,可以实现在需要使用用户私钥时通过移动终端中存储的密钥标识号、随机数、密钥校验值和输入的用户口令重建用户私钥,而无需在移动终端中存储用户私钥,因而可以避免用户私钥存储在移动终端存储介质中而产生被非法拷贝以及因移动终端丢失而造成用户私钥被非法冒用的风险,提高了用户私钥的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种密钥管理方法的流程图;
图2是根据本公开另一示例性实施例示出的一种密钥管理方法的流程图;
图3是根据本公开一示例性实施例示出的一种密钥管理装置的框图;
图4是根据本公开另一示例性实施例示出的一种密钥管理装置的框图;
图5是根据本公开另一示例性实施例示出的一种密钥管理装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在本公开中,本公开的说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。
图1是根据本公开一示例性实施例示出的一种密钥管理方法的流程图,如图1所示,该方法包括以下步骤:
在步骤S11中,生成密钥标识号和随机数。
在一种实施方式中,可以查询移动终端中是否已存储有初始的密钥标识号,若未存储,则可以将密钥标识号设置为1;若已存储,则可以将已存储的初始密钥标识号最大值加1,得到所述密钥标识号。
值得说明的是,在本公开的实施例中,密钥标识号可用于唯一标识用户私钥。
在步骤S12中,利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值。
在一种实施方式中,可以根据预设用户口令PW以及生成的密钥标识号ID和随机数R计算第一派生函数参数Z,如公式(1)所示。接着,基于密钥派生函数,根据第一派生函数参数Z生成用户私钥d,如公式(2)所示。在生成用户私钥d后,判断该用户私钥是否满足d∈[1,n-2],若满足,则可以根据第一派生函数参数Z和用户私钥d生成密钥校验值MAC,如公式(3)所示;否则,重新生成随机数并再次执行上述步骤,直到生成的用户私钥满足d∈[1,n-2]。
Z=ID||PW||R (1)
d=KDF(Z,len) (2)
MAC=HASH(Z||d) (3)
其中,ID为生成的密钥标识号;R为生成的随机数;PW为所述预设用户口令;||表示比特串或字符串的拼接;KDF()为预设密钥派生函数,其可以是SM2密码算法中的密钥派生函数;len为用户私钥d的比特长度;HASH()为预设哈希函数,其可以是SM3密码算法中的哈希函数。
在步骤S13中,根据用户私钥生成用户公钥。
在一种实施方式中,在计算出用户私钥d后,可以采用SM2密码算法生成用户公钥P,如公式(4)所示。
P=[d]G (4)
其中,G为SM2密码算法的基点,n为SM2密码算法的阶。
值得说明的是,对于本公开实施例中采用的SM2密码算法,其椭圆曲线为E(Fq),基点为G=(xG,yG),[k]P表示椭圆曲线上的点乘运算,其中k为整数,P为椭圆曲线上的点。
在步骤S14中,销毁用户私钥。
在步骤S15中,存储密钥标识号、随机数、密钥校验值和用户公钥。
在用户私钥和用户公钥生成完成后,可以将用户私钥销毁,对其生成过程中产生的密钥标识号、随机数、密钥校验值以及用户公钥进行存储,以便在后续需要使用用户私钥时,能够通过密钥标识号、随机数以及密钥校验值重建用户私钥,而无需在移动终端中存储用户私钥,因而可以避免用户私钥存储在移动终端存储介质中而产生被非法拷贝以及因移动终端丢失而造成用户私钥被非法冒用的风险,提高了用户私钥的安全性。
此外,在上述实施方式中,由于使用了随机数且密钥派生函数KDF()和哈希函数HASH()这两种单向计算函数来生成用户私钥和密钥校验值,在没有用户口令的情况下,使攻击者难以利用移动终端存储的密钥标识号、随机数以及密钥校验值中对用户私钥进行逆向推算和分析,进一步保障了用户私钥的安全性。
在另一个实施例中,如图2所示,上述方法还包括:
在步骤S16中,当接收到密钥生成请求时,读取移动终端中存储的密钥标识号、随机数和密钥校验值,其中,密钥生成请求包括输入的用户口令。
在一种实施方式中,密钥生成请求可以是用户在移动终端上输入用户口令时触发生成的。
在步骤S17中,利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值。
在一种实施方式中,可以根据输入的用户口令PW'以及读取到的密钥标识号ID'和随机数R'计算第二派生函数参数Z',如公式(5)所示。接着,基于密钥派生函数,根据第二派生函数参数Z'生成用户私钥d',如公式(6)所示。在生成用户私钥d'后,可以根据该用户私钥d'和第二派生函数参数Z'生成密钥校验值MAC',如公式(7)所示。
Z'=ID'||PW'||R' (5)
d'=KDF(Z',len) (6)
MAC'=HASH(Z'||d') (7)
其中,ID'为读取到的密钥标识号;R'为读取到的随机数;PW'为输入的用户口令;||表示比特串或字符串的拼接;KDF()为预设密钥派生函数,其可以是SM2密码算法中的密钥派生函数;len为所述用户私钥d'的比特长度;HASH()为预设哈希函数,其可以是SM3密码算法中的哈希函数。
在步骤S18中,将生成的密钥校验值与读取到的密钥校验值进行一致性比对。
在步骤S19中,若生成的密钥校验值与读取到的密钥校验值一致,则确定移动终端成功生成用于响应密钥生成请求的用户私钥。
若生成的密钥校验值与读取到的密钥校验值一致,则可以认为用户输入的用户口令与预设用户口令相同且移动终端中存储的密钥标识号、随机数以及校验值未被篡改,进而可以认为本次生成的用户私钥正确,即可以确定移动终端成功生成用于响应密钥生成请求的用户私钥。由此,移动终端可以使用该用户私钥和移动终端中存储的用户公钥向CA(Certificate Authority,证书权威)申请数字证书或者进行密码计算等。
否则,可以认为用户输入的用户口令错误或者移动终端中存储的密钥标识号、随机数和密钥校验值中的至少一者被篡改,进而可以认为本次生成的用户私钥不正确。
图3是根据本公开一示例性实施例示出的一种密钥管理装置的框图,如图3所示,该装置300可应用于移动终端中,该装置300可以包括:
第一生成模块301,被配置为生成密钥标识号和随机数;
第二生成模块302,被配置为利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;
第三生成模块303,被配置为根据所述用户私钥生成用户公钥;
销毁模块304,被配置为销毁所述用户私钥;
存储模块305,被配置为存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。
在另一个实施例中,如图4所示,该装置300还包括:
读取模块306,被配置为当接收到密钥生成请求时,读取所述移动终端中存储的密钥标识号、随机数和密钥校验值,其中,所述密钥生成请求包括输入的用户口令;
第四生成模块307,被配置为利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值;
比对模块308,被配置为将生成的密钥校验值与读取到的密钥校验值进行一致性比对;
确定模块309,被配置为在生成的密钥校验值与读取到的密钥校验值一致时,确定所述移动终端成功生成用于响应所述密钥生成请求的用户私钥。
在另一个实施例中,如图4所示,所述第二生成模块302包括:
第一计算子模块321,被配置为根据所述预设用户口令以及生成的密钥标识号和随机数计算第一派生函数参数Z:
Z=ID||PW||R
第一生成子模块322,被配置为根据所述第一派生函数参数Z生成用户私钥d:
d=KDF(Z,len)
第二生成子模块323,被配置为当所述用户私钥d∈[1,n-2]时,根据以下公式分别生成密钥校验值MAC:
MAC=HASH(Z||d)
所述第三生成模块303包括:
第三生成子模块331,被配置为根据以下公式生成用户公钥P:
P=[d]G
其中,ID为生成的密钥标识号,R为生成的随机数,PW为所述预设用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d的比特长度;HASH()为预设哈希函数,G为所述SM2密码算法的基点,n为所述SM2密码算法的阶。
在另一个实施例中,如图4所示,所述第四生成模块307包括:
第二计算子模块371,被配置为根据输入的用户口令以及读取到的密钥标识号和随机数计算第二派生函数参数Z':
Z'=ID'||PW'||R'
第四生成子模块372,被配置为根据所述第二派生函数参数Z'生成用户私钥d':
d'=KDF(Z',len)
第五生成子模块373,被配置为根据以下公式生成密钥校验值MAC':
MAC'=HASH(Z'||d')
其中,ID'为读取到的密钥标识号,R'为读取到的随机数,PW'为输入的用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d'的比特长度,HASH()为预设哈希函数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值,根据用户私钥生成用户公钥,并且将用户私钥销毁,只用于存储密钥标识号、随机数、密钥校验值以及用户公钥,可以实现在需要使用用户私钥时通过移动终端中存储的密钥标识号、随机数、密钥校验值和输入的用户口令重建用户私钥,而无需在移动终端中存储用户私钥,因而可以避免用户私钥存储在移动终端存储介质中而产生被非法拷贝以及因移动终端丢失而造成用户私钥被非法冒用的风险,提高了用户私钥的安全性。
此外,在上述实施方式中,由于使用了随机数且密钥派生函数KDF()和哈希函数HASH()这两种单向计算函数来生成用户私钥和密钥校验值,在没有用户口令的情况下,使攻击者难以利用移动终端存储的密钥标识号、随机数以及密钥校验值中对用户私钥进行逆向推算和分析,进一步保障了用户私钥的安全性。
图5是根据一示例性实施例示出的一种密钥管理装置500的框图。例如,该装置500可以被提供为一移动终端。参照图5,该装置500可以包括:处理器501,存储器502。该装置500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的密钥管理方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该装置500的操作,这些数据例如可以包括用于在该装置500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的密钥管理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的密钥管理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由装置500的处理器501执行以完成上述的密钥管理方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种密钥管理方法,其特征在于,应用于移动终端,所述方法包括:
生成密钥标识号和随机数;
利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;
根据所述用户私钥生成用户公钥;
销毁所述用户私钥;
存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到密钥生成请求时,读取所述移动终端中存储的密钥标识号、随机数和密钥校验值,其中,所述密钥生成请求包括输入的用户口令;
利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值;
将生成的密钥校验值与读取到的密钥校验值进行一致性比对;
若生成的密钥校验值与读取到的密钥校验值一致,则确定所述移动终端成功生成用于响应所述密钥生成请求的用户私钥。
3.根据权利要求1所述的方法,其特征在于,所述利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值,包括:
根据所述预设用户口令以及生成的密钥标识号和随机数计算第一派生函数参数Z:
Z=ID||PW||R
根据所述第一派生函数参数Z生成用户私钥d:
d=KDF(Z,len)
当所述用户私钥d∈[1,n-2]时,根据以下公式分别生成密钥校验值MAC:
MAC=HASH(Z||d)
所述根据所述用户私钥生成用户公钥,包括:
根据以下公式生成用户公钥P:
P=[d]G
其中,ID为生成的密钥标识号,R为生成的随机数,PW为所述预设用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d的比特长度;HASH()为预设哈希函数,G为所述SM2密码算法的基点,n为所述SM2密码算法的阶。
4.根据权利要求2所述的方法,其特征在于,所述利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值,包括:
根据输入的用户口令以及读取到的密钥标识号和随机数计算第二派生函数参数Z':
Z'=ID'||PW'||R'
根据所述第二派生函数参数Z'生成用户私钥d':
d'=KDF(Z',len)
根据以下公式生成密钥校验值MAC':
MAC'=HASH(Z'||d')
其中,ID'为读取到的密钥标识号,R'为读取到的随机数,PW'为输入的用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d'的比特长度,HASH()为预设哈希函数。
5.一种密钥管理装置,其特征在于,应用于移动终端,所述装置包括:
第一生成模块,被配置为生成密钥标识号和随机数;
第二生成模块,被配置为利用预设用户口令以及生成的密钥标识号和随机数生成用户私钥和密钥校验值;
第三生成模块,被配置为根据所述用户私钥生成用户公钥;
销毁模块,被配置为销毁所述用户私钥;
存储模块,被配置为存储所述密钥标识号、所述随机数、所述密钥校验值和所述用户公钥。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
读取模块,被配置为当接收到密钥生成请求时,读取所述移动终端中存储的密钥标识号、随机数和密钥校验值,其中,所述密钥生成请求包括输入的用户口令;
第四生成模块,被配置为利用输入的用户口令以及读取到的密钥标识号和随机数生成用户私钥和密钥校验值;
比对模块,被配置为将生成的密钥校验值与读取到的密钥校验值进行一致性比对;
确定模块,被配置为在生成的密钥校验值与读取到的密钥校验值一致时,确定所述移动终端成功生成用于响应所述密钥生成请求的用户私钥。
7.根据权利要求1所述的装置,其特征在于,所述第二生成模块包括:
第一计算子模块,被配置为根据所述预设用户口令以及生成的密钥标识号和随机数计算第一派生函数参数Z:
Z=ID||PW||R
第一生成子模块,被配置为根据所述第一派生函数参数Z生成用户私钥d:
d=KDF(Z,len)
第二生成子模块,被配置为当所述用户私钥d∈[1,n-2]时,根据以下公式分别生成密钥校验值MAC:
MAC=HASH(Z||d)
所述第三生成模块包括:
第三生成子模块,被配置为根据以下公式生成用户公钥P:
P=[d]G
其中,ID为生成的密钥标识号,R为生成的随机数,PW为所述预设用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d的比特长度;HASH()为预设哈希函数,G为所述SM2密码算法的基点,n为所述SM2密码算法的阶。
8.根据权利要求6所述的装置,其特征在于,所述第四生成模块包括:
第二计算子模块,被配置为根据输入的用户口令以及读取到的密钥标识号和随机数计算第二派生函数参数Z':
Z'=ID'||PW'||R'
第四生成子模块,被配置为根据所述第二派生函数参数Z'生成用户私钥d':
d'=KDF(Z',len)
第五生成子模块,被配置为根据以下公式生成密钥校验值MAC':
MAC'=HASH(Z'||d')
其中,ID'为读取到的密钥标识号,R'为读取到的随机数,PW'为输入的用户口令,||表示比特串或字符串的拼接,KDF()为预设密钥派生函数,len为所述用户私钥d'的比特长度,HASH()为预设哈希函数。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
10.一种密钥管理装置,其特征在于,应用于移动终端,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810909713.8A CN109067545A (zh) | 2018-08-10 | 2018-08-10 | 密钥管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810909713.8A CN109067545A (zh) | 2018-08-10 | 2018-08-10 | 密钥管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109067545A true CN109067545A (zh) | 2018-12-21 |
Family
ID=64683335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810909713.8A Pending CN109067545A (zh) | 2018-08-10 | 2018-08-10 | 密钥管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067545A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189486A (zh) * | 2019-05-24 | 2019-08-30 | 上海银行股份有限公司 | 自助机具密钥自动下发方法 |
CN111431839A (zh) * | 2019-01-09 | 2020-07-17 | 中兴通讯股份有限公司 | 隐藏用户标识的处理方法及装置 |
CN111865579A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法改造的数据加解密方法及装置 |
CN111988268A (zh) * | 2019-05-24 | 2020-11-24 | 魏文科 | 利用非对称式加密算法建立、验证输入值的方法及其应用 |
CN112926075A (zh) * | 2021-03-26 | 2021-06-08 | 成都卫士通信息产业股份有限公司 | 一种sm9密钥生成方法、装置、设备及存储介质 |
CN115150180A (zh) * | 2022-07-14 | 2022-10-04 | 江苏芯盛智能科技有限公司 | 存储设备管理方法、存储设备、管理设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016357A1 (en) * | 2006-07-14 | 2008-01-17 | Wachovia Corporation | Method of securing a digital signature |
US20080120506A1 (en) * | 2006-11-20 | 2008-05-22 | Canon Kabushiki Kaisha | Communication apparatus, control method thereof and computer readable medium |
CN102170356A (zh) * | 2011-05-10 | 2011-08-31 | 北京联合智华微电子科技有限公司 | 一种支持数字签名密钥专属控制的认证系统实现方法 |
CN105976177A (zh) * | 2016-04-29 | 2016-09-28 | 广州市香港科大霍英东研究院 | 一种面向nfc的云端支付方法 |
CN108111524A (zh) * | 2017-12-28 | 2018-06-01 | 广州江南科友科技股份有限公司 | 基于私钥动态生成机制的终端数据保护方法及系统 |
-
2018
- 2018-08-10 CN CN201810909713.8A patent/CN109067545A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016357A1 (en) * | 2006-07-14 | 2008-01-17 | Wachovia Corporation | Method of securing a digital signature |
US20080120506A1 (en) * | 2006-11-20 | 2008-05-22 | Canon Kabushiki Kaisha | Communication apparatus, control method thereof and computer readable medium |
CN102170356A (zh) * | 2011-05-10 | 2011-08-31 | 北京联合智华微电子科技有限公司 | 一种支持数字签名密钥专属控制的认证系统实现方法 |
CN105976177A (zh) * | 2016-04-29 | 2016-09-28 | 广州市香港科大霍英东研究院 | 一种面向nfc的云端支付方法 |
CN108111524A (zh) * | 2017-12-28 | 2018-06-01 | 广州江南科友科技股份有限公司 | 基于私钥动态生成机制的终端数据保护方法及系统 |
Non-Patent Citations (1)
Title |
---|
史汝辉 等: "一种针对 SM2 解密算法的侧信道攻击方法", 《密码学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431839A (zh) * | 2019-01-09 | 2020-07-17 | 中兴通讯股份有限公司 | 隐藏用户标识的处理方法及装置 |
CN111431839B (zh) * | 2019-01-09 | 2024-03-19 | 中兴通讯股份有限公司 | 隐藏用户标识的处理方法及装置 |
CN110189486A (zh) * | 2019-05-24 | 2019-08-30 | 上海银行股份有限公司 | 自助机具密钥自动下发方法 |
CN111988268A (zh) * | 2019-05-24 | 2020-11-24 | 魏文科 | 利用非对称式加密算法建立、验证输入值的方法及其应用 |
CN111865579A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法改造的数据加解密方法及装置 |
CN112926075A (zh) * | 2021-03-26 | 2021-06-08 | 成都卫士通信息产业股份有限公司 | 一种sm9密钥生成方法、装置、设备及存储介质 |
CN115150180A (zh) * | 2022-07-14 | 2022-10-04 | 江苏芯盛智能科技有限公司 | 存储设备管理方法、存储设备、管理设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067545A (zh) | 密钥管理方法、装置及存储介质 | |
CN109951489B (zh) | 一种数字身份认证方法、设备、装置、系统及存储介质 | |
US9686248B2 (en) | Secure shared key sharing systems and methods | |
CN106161359B (zh) | 认证用户的方法及装置、注册可穿戴设备的方法及装置 | |
ES2829916T3 (es) | Procedimiento, aparato y sistema que proporciona una comprobación de seguridad | |
ES2951585T3 (es) | Autenticación de transacciones usando un identificador de dispositivo móvil | |
KR101095239B1 (ko) | 보안 통신 | |
US9286466B2 (en) | Registration and authentication of computing devices using a digital skeleton key | |
EP3059919A1 (en) | Method and system for facilitating network joining | |
JP6927981B2 (ja) | パスコード検証のためのフォワードセキュア型暗号技術を使用した方法、システム、及び装置。 | |
Chandrakar et al. | Cryptanalysis and improvement of a biometric‐based remote user authentication protocol usable in a multiserver environment | |
CN108965222A (zh) | 身份认证方法、系统及计算机可读存储介质 | |
EP3206329A1 (en) | Security check method, device, terminal and server | |
CN111161056A (zh) | 一种提高数字资产交易安全性的方法、系统及设备 | |
KR20210046357A (ko) | 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치 | |
JP6397046B2 (ja) | アドレス帳保護方法、装置及び通信システム | |
Das | A secure and robust password-based remote user authentication scheme using smart cards for the integrated epr information system | |
WO2020168564A1 (zh) | 数字货币的交易和账户验证方法,装置及存储介质 | |
Shaju et al. | BISC authentication algorithm: An efficient new authentication algorithm using three factor authentication for mobile banking | |
CN107124407B (zh) | 数据传输方法、装置、可读存储介质、电子设备及系统 | |
JP6349712B2 (ja) | 携帯端末設定方法 | |
JP7250960B2 (ja) | ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法 | |
CN109257177B (zh) | 密钥生成方法、系统、移动终端、服务器及存储介质 | |
KR101625554B1 (ko) | 인증 및 키 공유 시스템 및 방법 | |
Zhu | One‐time identity–password authenticated key agreement scheme based on biometrics |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |
|
RJ01 | Rejection of invention patent application after publication |