CN113922958A - 基于生物识别和sm2协同密码算法的密码保护方法及装置 - Google Patents

基于生物识别和sm2协同密码算法的密码保护方法及装置 Download PDF

Info

Publication number
CN113922958A
CN113922958A CN202111531795.5A CN202111531795A CN113922958A CN 113922958 A CN113922958 A CN 113922958A CN 202111531795 A CN202111531795 A CN 202111531795A CN 113922958 A CN113922958 A CN 113922958A
Authority
CN
China
Prior art keywords
private key
client
password
public key
ciphertext
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
Application number
CN202111531795.5A
Other languages
English (en)
Other versions
CN113922958B (zh
Inventor
丁坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Caifu Qushi Technology Co ltd
Original Assignee
Shenzhen Caifu Qushi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Caifu Qushi Technology Co ltd filed Critical Shenzhen Caifu Qushi Technology Co ltd
Priority to CN202111531795.5A priority Critical patent/CN113922958B/zh
Publication of CN113922958A publication Critical patent/CN113922958A/zh
Application granted granted Critical
Publication of CN113922958B publication Critical patent/CN113922958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • H04L9/302Public 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 involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Abstract

本发明实施例公开了基于生物识别和SM2协同密码算法的密码保护方法及装置。该方法包括客户端接收用户的生物特征并验证通过,并依次对明文密码进行加密,分别得到第一密文和第二密文;当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名以得到签名数据,基于本地的第一私钥分量和第二密文进行点乘运算得到第一点乘结果,并将第一点乘结果、签名数据、账号ID发送至服务端;服务端采用账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则利用第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果并发送至客户端;客户端对第二点乘结果进行解密,得到明文密码。该方法降低用户密码的泄漏风险。

Description

基于生物识别和SM2协同密码算法的密码保护方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于生物识别和SM2协同密码算法的密码保护方法及装置。
背景技术
在证券行业,基于系统安全和稳定等原因,后台交易系统只支持交易密码登录,且根据安全合规要求,禁止除柜台外其他中台系统存储密码及其加密后数据,因此造成每次交易客户端登录,必须输入交易密码的使用痛点。
随着移动设备普及和生物识别技术的成熟,证券交易移动客户端出现了生物识别登录交易系统的需求,开发厂商针对该需求,提供了一些技术方案,基本上都是使用RSA公钥加密交易密码存储到客户端本地或服务端,生物识别登录的时候,访问RSA私钥解密对应密文送交易系统登录,但该方法仅需私钥即可解密,如果私钥和密文被窃取,可能造成客户交易密码泄漏的风险。
发明内容
本发明实施例提供了一种基于生物识别和SM2协同密码算法的密码保护方法及装置,旨在解决现有技术的密码安全存储中客户交易密码泄漏风险较大的问题。
第一方面,本发明实施例提供了一种基于生物识别和SM2协同密码算法的密码保护方法,其包括:
客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;
当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;
服务端采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端;
客户端基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码。
第二方面,本发明实施例提供了一种基于生物识别和SM2协同密码算法的密码保护装置,其包括客户端和服务端:
客户端包括:
第一交互模块,用于接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;以及,当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;以及,基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码;
服务端包括:
第二交互模块,用于采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端。
本发明实施例提供了基于生物识别和SM2协同密码算法的密码保护方法及装置。该方法包括客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;服务端采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端;客户端基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码。该方法利用RSA算法和SM2算法对用户的明文密码进行两次加密,并利用RSA私钥对用户ID进行签名验证,确保用户密码存储的安全性和加密安全,解决了生物识别体系和SM2协同密码体系的转换绑定,增强用户密码在客户端本地的安全存储,降低用户密码的泄漏风险。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于生物识别和SM2协同密码算法的密码保护方法的流程示意图;
图2为图1中步骤S110的子流程示意图;
图3为本发明实施例提供的基于生物识别和SM2协同密码算法的密码保护装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1所示,图1为本发明实施例提供的基于生物识别和SM2协同密码算法的密码保护方法的流程示意图,该方法包括步骤S110~S140。
步骤S110、客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;
本实施例中,为方便客户端对用户身份进行验证,首先进行客户端生物识别登陆的开通,客户端接收用户的生物特征并验证通过;接着对用户的明文密码进行一次加密,得到明文密码一次加密后的第一密文;再对明文密码一次加密后的第一密文进行二次加密,得到明文密码的第二密文。
在一实施例中,步骤S110还包括:
客户端建立所述RSA密钥对与所述生物特征的映射关系并存储于客户端本地。
本实施例中,为了便于用户进行生物识别登陆时,客户端根据接收到的生物特征调用对应RSA私钥对账号ID进行签名,因此客户端生成包含RSA密钥对后,建立RSA密钥对与生物特征和账号ID的绑定关系。
如图2所示,在一实施例中,步骤S110包括:
步骤S210、当客户端接收到开通生物识别登录的请求时,接收并验证用户输入的生物特征,生成包含所述RSA公钥和RSA私钥的RSA密钥对,采用所述RSA公钥对接收到的明文密码进行加密得到第一密文,根据SM2算法生成所述第一私钥分量,并将所述RSA私钥和第一私钥分量存储于本地,基于所述第一私钥分量进行中间值计算,得到客户端中间值,将所述客户端中间值、RSA公钥及用户ID发送至服务端;
步骤S220、服务端根据SM2算法生成第二私钥分量,基于所述第二私钥分量计算得到服务端中间值,基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥,将所述SM2公钥发送至客户端;
步骤S230、客户端采用所述SM2公钥对所述第一密文进行加密,得到所述第二密文并存储于本地。
本实施例中,RSA算法是先生成一对RSA密钥,其中之一是保密密钥,由客户端保存;另一个为公开密钥,可对外公开,甚至可在网络服务端中注册。SM2算法为椭圆曲线公钥密码算法,是一种非对称加密算法。当客户端接收到开通生物识别登陆的请求时,以用户生物特征验证通过为前提条件;接着根据RSA算法生成包含RSA私钥和RSA公钥的RSA密钥对,然后采用RSA公钥对接收到的明文密码进行加密以得到第一密文;进而根据SM2算法生成第一私钥分量,将RSA私钥和第一私钥分量存储于本地,根据SM2算法和第一私钥分量进行中间值计算,得到客户端中间值,最后将客户端中间值、RSA公钥和用户ID发送至服务端进行交互。服务端接收客户端中间值、RSA公钥和用户ID后,根据SM2算法生成第二私钥分量,基于SM2算法和第二私钥分量计算得到服务端中间值,基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥并将SM2公钥发送至客户端。客户端接收SM2公钥后采用SM2公钥对第一密文进行加密,得到第二密文后存储于客户端本地。需要知道的是,客户端接收SM2公钥后,建立生物特征和RAS私钥、第一私钥分量、SM2公钥、账号ID的映射关系。其中,用户ID包括有账户ID(通行证)、设备编号及应用编号。其中,按以下公式计算得到所述SM2公钥,确定客户端和服务端共享的SM2 算法的椭圆曲线参数 E(Fq)、G 和 n,椭圆曲线 E为定义在有限域 Fq 上的椭圆曲线,G 表示椭圆曲线 E 上 n 阶的基点,各参数的具体取值等均根据国密SM2算法预先设定:
1)客户端产生一个位于 [1,n-1] 之间的随机数,将产生的随机数作为第一私钥分量,即有第一私钥分量D1 ∈ [1,n-1];
2)服务端产生一个位于 [1,n-1] 之间的随机数,将产生的随机数作为第二私钥分量,即有第二私钥分量D2 ∈ [1,n-1];
3)客户端按以下公式计算客户端中间值,并将计算结果(客户端中间值P1)发送给服务端:
P1 = D1[*]G,其中,[*] 表示椭圆曲线点乘运算;
3)服务端按以下公式计算服务端中间值P2:
P2 = D2[*]G;
接着按以下公式计算SM2公钥P:
P=P1+P2+D2[*]P1。
在一实施例中,步骤S220还包括:
所述服务端建立所述RSA公钥、SM2公钥、第二私钥分量和用户ID的映射关系并存储于服务端本地。
本实施例中,为了便于获取对应用户ID的RSA公钥、SM2公钥及第二私钥分量进行密钥加密或中间值计算,服务端建立RSA公钥、SM2公钥、第二私钥分量和用户ID的映射关系,并存储于服务端本地。
在一实施例中,步骤S220还包括:
服务端设定所述映射关系对应的生物识别登录授权有效期。
本实施例中,在防止RSA公钥、SM2公钥、第二私钥分量和用户ID泄露,在建立RSA公钥、SM2公钥、第二私钥分量和用户ID的映射关系后,还设定该映射关系对应的生物识别登陆的授权有效期。
步骤S120、当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;
本实施例中,为了加强用户的身份验证,在客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,以得到签名数据。接着基于本地的第一私钥分量和第二密文进行点乘运算,得到第一点乘结果,最后将第一点乘结果、签名数据发送至服务端。具体的,第一点乘结果的计算过程如下:客户端获取SM2密文的第一比特串;对第一比特串进行数据类型转换,得到所述第一比特串对应的椭圆曲线群元素;根据第一私钥分量和第一比特串对应的椭圆曲线群元素,得到第一点乘结果。此外,客户端发送第一点乘结果至服务端时,还将对第一比特串对应的椭圆曲线群元素传输至服务端。
进一步的,在将第一点乘结果和第一比特串对应的椭圆曲线群元素传输给服务端的步骤之前还包括:对第一比特串对应的椭圆曲线群元素进行验证,在验证出第一比特串对应的椭圆曲线群元素是椭圆曲线的无穷远点时,报错并退出解密;以及,根据第一比特串对应的椭圆曲线群元素,基于以下公式计算点乘结果S,在检测到点乘结果S为椭圆曲线的无穷远点时,报错并退出解密:
Figure DEST_PATH_IMAGE001
,式中,
Figure 208080DEST_PATH_IMAGE002
为椭圆曲线上基点的阶n的余因子;
Figure DEST_PATH_IMAGE003
为所述第一比特串对应的椭圆曲线群元素。
步骤S130、服务端采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端;
本实施例中,服务端采用对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,若验证不通过,则结束通讯。当验证通过时,基于本地的第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将第二点乘结果发送至客户端。
步骤S140、客户端基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码。
本实施例中,根据第二点乘结果和第一比特串对应的椭圆曲线群元素,得到临时对称密钥,并提取SM2密文的第二比特串;对临时对称密钥和第二比特串进行按位异或运算,得到解密明文;对解密明文进行校验,并在校验成功时输出生物特征对应用户的明文密码。其中,根据第二点乘结果和第一比特串对应的椭圆曲线群元素,得到临时对称密钥的过程如下:
基于以下公式得到椭圆曲线群元素
Figure 157844DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
,式中,
Figure 278859DEST_PATH_IMAGE006
为第二点乘结果,
Figure DEST_PATH_IMAGE007
为第一比特串对应的椭圆曲线群元素;
根据所述椭圆曲线群元素
Figure 205227DEST_PATH_IMAGE008
,基于以下公式生成临时对称密钥:
Figure DEST_PATH_IMAGE009
,式中,
Figure 176856DEST_PATH_IMAGE010
为所述临时对称密钥,||表示拼接,
Figure DEST_PATH_IMAGE011
为预先定义的密钥派生函数,
Figure 530477DEST_PATH_IMAGE012
表述输出的比特串长度。
进一步的,对解密明文进行校验,并在校验成功时输出所述解密明文的步骤具体包括:
基于以下公式得到校验码:
Figure DEST_PATH_IMAGE013
,式中,
Figure 187724DEST_PATH_IMAGE014
为校验码,
Figure DEST_PATH_IMAGE015
为明文密码,
Figure 275372DEST_PATH_IMAGE016
表示预设的密码杂凑算法;
接着提取所述SM2密文中的第三比特串C3,在u=C3时,确认所述校验成功,输出明文密码
Figure DEST_PATH_IMAGE017
该方法利用RSA算法和SM2算法对用户的明文密码进行两次加密,还利用SM2算法生成私钥分量对用户ID进行签名,确保用户密码存储的安全性,解决了生物识别体系和SM2协同密码体系的转换绑定,增强用户密码在客户端本地的安全存储,降低用户密码的泄漏风险。
本发明实施例还提供一种基于生物识别和SM2协同密码算法的密码保护装置,该基于生物识别和SM2协同密码算法的密码保护装置用于执行前述基于生物识别和SM2协同密码算法的密码保护方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的基于生物识别和SM2协同密码算法的密码保护装置的示意性框图。该基于生物识别和SM2协同密码算法的密码保护装置100可以配置于服务端中。
如图3所示,基于生物识别和SM2协同密码算法的密码保护装置100包括客户端110、服务端120。
客户端110包括:
第一交互模块,用于接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;以及,当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;以及,基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码;
服务端120包括:
第二交互模块,用于采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端。
在一实施例中,所述第一交互模块包括:
绑定单元,用于客户端建立所述RSA密钥对与所述生物特征的绑定关系。在一实施例中,所述第二交互模块包括:
映射单元,用于建立所述RSA公钥和SM2公钥、第二私钥分量、用户ID的映射关系并存储于本地。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 ( 可以是个人计算机,服务端,或者网络设备等 ) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器 (ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,包括:
客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;
当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;
服务端采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端;
客户端基于所述第一私钥分量对所述第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码。
2.根据权利要求1所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录,包括:
当客户端接收到开通生物识别登录的请求时,接收并验证用户输入的生物特征,生成包含所述RSA公钥和RSA私钥的RSA密钥对,采用所述RSA公钥对接收到的明文密码进行加密得到所述第一密文,根据SM2算法生成所述第一私钥分量,并将所述RSA私钥和第一私钥分量存储于本地,基于所述第一私钥分量进行中间值计算,得到客户端中间值,将所述客户端中间值、RSA公钥及用户ID发送至服务端;
服务端根据SM2算法生成第二私钥分量,基于所述第二私钥分量计算得到服务端中间值,基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥,将所述SM2公钥发送至客户端;
客户端采用所述SM2公钥对所述第一密文进行加密,得到所述第二密文并存储于本地。
3.根据权利要求2所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述服务端根据SM2算法生成第二私钥分量,基于所述第二私钥分量计算得到服务端中间值,基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥,将所述SM2公钥发送至客户端,还包括:
所述服务端建立所述RSA公钥、SM2公钥、第二私钥分量和用户ID的映射关系并存储于服务端。
4.根据权利要求2所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述客户端接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录,还包括:
客户端建立所述RSA密钥对与所述生物特征的映射关系并存储于客户端本地。
5.根据权利要求3所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述服务端根据SM2算法生成第二私钥分量,基于所述第二私钥分量计算得到服务端中间值,基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥,将所述SM2公钥发送至客户端,包括:
服务端设定所述映射关系对应的生物识别登录授权有效期。
6.根据权利要求1所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述服务端采用所述账号ID对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端,还包括:
若服务端采用所述RSA公钥对所述签名数据进行验证的结果为验证不通过,则结束通讯。
7.根据权利要求2所述的基于生物识别和SM2协同密码算法的密码保护方法,其特征在于,所述基于所述客户端中间值和服务端中间值进行公钥计算,得到SM2公钥,包括:
按以下公式计算得到所述SM2公钥:
P=P1+P2+D2[*]P1,
式中,P1表示客户端中间值,P2表示服务端中间值,D2表示第二私钥分量,[*] 表示椭圆曲线点乘运算,P表示SM2公钥。
8.一种基于生物识别和SM2协同密码算法的密码保护装置,其特征在于,包括客户端和服务端:
客户端包括:
第一交互模块,用于接收用户的生物特征并验证通过,并依次对用户的明文密码进行加密处理,分别得到第一密文和第二密文,以开通生物识别登录;以及,当客户端接收到生物特征并验证通过时,通过本地的RSA私钥对对应的账号ID进行签名,得到签名数据,并基于本地的第一私钥分量和所述第二密文进行点乘运算,得到第一点乘结果,并将所述第一点乘结果、签名数据、账号ID发送至服务端;以及,基于所述第一私钥分量对第二点乘结果解密,得到所述第一密文,接着使用所述RSA私钥对所述第一密文进行解密,得到所述生物特征对应用户的明文密码;
服务端包括:
第二交互模块,用于所述账号ID采用对应的RSA公钥对接收到的签名数据进行验证,若验证通过则获取本地的第二私钥分量,基于所述第二私钥分量和第一点乘结果进行点乘运算,得到第二点乘结果,并将所述第二点乘结果发送至客户端。
9.根据权利要求8所述的基于生物识别和SM2协同密码算法的密码保护装置,其特征在于,所述第二交互模块还包括:
映射单元,用于建立所述RSA公钥和SM2公钥、第二私钥分量、用户ID的映射关系并存储于本地。
10.根据权利要求8所述的基于生物识别和SM2协同密码算法的密码保护装置,其特征在于,所述第一交互模块包括:
映射单元,用于建立所述RSA私钥、RSA公钥与所述生物特征的映射关系并存储于客户端本地。
CN202111531795.5A 2021-12-15 2021-12-15 基于生物识别和sm2协同密码算法的密码保护方法及装置 Active CN113922958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111531795.5A CN113922958B (zh) 2021-12-15 2021-12-15 基于生物识别和sm2协同密码算法的密码保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111531795.5A CN113922958B (zh) 2021-12-15 2021-12-15 基于生物识别和sm2协同密码算法的密码保护方法及装置

Publications (2)

Publication Number Publication Date
CN113922958A true CN113922958A (zh) 2022-01-11
CN113922958B CN113922958B (zh) 2022-03-11

Family

ID=79248951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111531795.5A Active CN113922958B (zh) 2021-12-15 2021-12-15 基于生物识别和sm2协同密码算法的密码保护方法及装置

Country Status (1)

Country Link
CN (1) CN113922958B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2568406A1 (fr) * 2011-09-09 2013-03-13 Dictao Procédé de mise en oeuvre, a partir d'un terminal, de données cryptographiques d'un utilisateur stockées dans une base de données
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
WO2017145016A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20190305952A1 (en) * 2018-03-27 2019-10-03 Workday, Inc. Digital credential authentication
CN111200502A (zh) * 2020-01-03 2020-05-26 信安神州科技(广州)有限公司 协同数字签名方法和装置
CN111431719A (zh) * 2020-04-20 2020-07-17 山东确信信息产业股份有限公司 一种移动终端密码保护模块、移动终端及密码保护方法
CN111614637A (zh) * 2020-05-08 2020-09-01 郑州信大捷安信息技术股份有限公司 一种基于软件密码模块的安全通信方法及系统
CN111835512A (zh) * 2020-07-13 2020-10-27 杭州时戳信息科技有限公司 私钥碎片管理方法、签名碎片生成方法、系统与节点设备
CN113704784A (zh) * 2021-08-23 2021-11-26 建信金融科技有限责任公司 协同安全计算方法、装置及电子设备
CN113742670A (zh) * 2021-08-30 2021-12-03 建信金融科技有限责任公司 多方协同解密方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2568406A1 (fr) * 2011-09-09 2013-03-13 Dictao Procédé de mise en oeuvre, a partir d'un terminal, de données cryptographiques d'un utilisateur stockées dans une base de données
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
WO2017145016A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20190305952A1 (en) * 2018-03-27 2019-10-03 Workday, Inc. Digital credential authentication
CN111200502A (zh) * 2020-01-03 2020-05-26 信安神州科技(广州)有限公司 协同数字签名方法和装置
CN111431719A (zh) * 2020-04-20 2020-07-17 山东确信信息产业股份有限公司 一种移动终端密码保护模块、移动终端及密码保护方法
CN111614637A (zh) * 2020-05-08 2020-09-01 郑州信大捷安信息技术股份有限公司 一种基于软件密码模块的安全通信方法及系统
CN111835512A (zh) * 2020-07-13 2020-10-27 杭州时戳信息科技有限公司 私钥碎片管理方法、签名碎片生成方法、系统与节点设备
CN113704784A (zh) * 2021-08-23 2021-11-26 建信金融科技有限责任公司 协同安全计算方法、装置及电子设备
CN113742670A (zh) * 2021-08-30 2021-12-03 建信金融科技有限责任公司 多方协同解密方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖会敏: "基于国产公钥密码算法的门限签名及解密方案", 《计算机应用与软件》 *

Also Published As

Publication number Publication date
CN113922958B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US11588637B2 (en) Methods for secure cryptogram generation
US11323276B2 (en) Mutual authentication of confidential communication
US11552792B2 (en) Systems and methods for generating signatures
US6085320A (en) Client/server protocol for proving authenticity
CN107248075B (zh) 一种实现智能密钥设备双向认证和交易的方法及装置
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
US10044684B2 (en) Server for authenticating smart chip and method thereof
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
CN112804205A (zh) 数据加密方法及装置、数据解密方法及装置
CN108809936A (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
CN113507372A (zh) 一种接口请求的双向认证方法
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统
CN109412799B (zh) 一种生成本地密钥的系统及其方法
CN113922958B (zh) 基于生物识别和sm2协同密码算法的密码保护方法及装置
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
CN110113152B (zh) 基于非对称密钥池对和数字签名的量子通信服务站密钥协商方法和系统
CN110086627B (zh) 基于非对称密钥池对和时间戳的量子通信服务站密钥协商方法和系统
CN110138547B (zh) 基于非对称密钥池对和序列号的量子通信服务站密钥协商方法和系统
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN112822015A (zh) 信息传输方法及相关装置
CN115102750B (zh) 隐私数据处理方法、系统、计算机终端及可读存储介质
CN116318996A (zh) 加密数据的验证方法及其装置、电子设备及存储介质
CN117745287A (zh) 基于门限签名和同态加密的区块链交易保护方法及装置
Janbandhu Novel biometric digital signature system for electronic commerce applications

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