CN113055161B - 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 - Google Patents
一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 Download PDFInfo
- Publication number
- CN113055161B CN113055161B CN202110257977.1A CN202110257977A CN113055161B CN 113055161 B CN113055161 B CN 113055161B CN 202110257977 A CN202110257977 A CN 202110257977A CN 113055161 B CN113055161 B CN 113055161B
- Authority
- CN
- China
- Prior art keywords
- user
- signature
- private key
- cre
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于SM2和SM9数字签名算法的移动终端认证方法与系统,该方法包括以下步骤:1)通过服务器端生成系统公钥和私钥;2)生成用户Ui的私钥;3)根据用户Ui的凭证,用户Ui对给定消息m产生签名;4)服务器端对给定消息m和用户输出的签名σ=(Ti,r,s)进行签名的合法性验证。本发明提出的移动终端认证方法,用户的私钥不需要专门的密码设备进行存储,仅需要口令进行安全保护,为用户带来方便,同时,本发明是针对国产SM2和SM9签名算法设计,利用已有的SM2签名算法程序和设备即可轻松实现,也可满足自主可控的国产商用密码应用合规性要求。
Description
技术领域
本发明涉及信息安全技术,尤其涉及一种基于SM2和SM9数字签名算法的移动终端认证方法与系统。
背景技术
数字签名是保障网络安全的密码技术之一,能够保证数据的完整性、真实性和不可抵赖性。国家密码管理局于2010年12月17日和2016年3月28日,国家密码管理局分别发布了SM2数字签名算法和SM9数字签名算法。2017年11月3日,在第55次ISO/IEC联合技术委员会信息安全技术分委员会(SC27)德国柏林会议上,SM2与SM9数字签名算法成为ISO/IEC国际标准,进入标准发布阶段。
随着移动终端的广泛应用,移动终端的安全认证受到了广泛关注。与传统密码设备不同,移动终端设备只能以软件的形式存储密钥。攻击者通过权限提升即可获得密钥,严重威胁移动互联网的安全。如何实现私钥在移动终端的安全存储并进而实现移动终端的安全认证成为亟待解决的问题。
本发明设计了一种基于SM2和SM9数字签名算法的移动终端认证方法,同以往方法相比,攻击者即使获得凭证,也不能通过口令猜测获得私钥,大大提供了移动终端的安全性。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于SM2和SM9数字签名算法的移动终端认证方法与系统。
本发明解决其技术问题所采用的技术方案是:一种基于SM2和SM9数字签名算法的移动终端认证方法,包括以下步骤:
1)通过服务器端生成系统公钥和私钥,具体如下:
2)生成用户Ui的私钥,具体如下:
2.1)用户Ui选择用户身份标识idi,并通过安全信道把用户身份标识发送给服务器端;
2.3)用户Ui选择口令pwi,根据私钥Di、身份标识idi和口令pwi计算凭证CREi;计算采用以下公式
2.4)最后用户Ui把凭证CREi保存到自己的移动终端设备中;
3)根据用户Ui的凭证CREi,用户Ui对给定消息m产生签名;
3.1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi;
用户Ui在集合中随机选择一个元素d,计算部分签名Ti=d·Di;用户Ui在集合中随机选择一个元素k,计算中间变量R=k·G=(x,y),e=h(m||Ti),r≡e+x mod n,s≡(1+d)-1·(k-r·d)mod n。
用户Ui输出签名σ=(Ti,r,s)。
4)服务器端对给定消息m和用户输出的签名σ=(Ti,r,s)进行签名的合法性验证;
4.2)服务器端计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立;
4.3)如果成立,则接收该消息,否则拒绝该消息。
本发明还提供一种基于SM2和SM9数字签名算法的移动终端认证系统,包括:
初始化模块,用于通过服务器端生成系统公钥和私钥,具体如下:
用户私钥生成模块,用于生成用户Ui的私钥,具体如下:
1)用户Ui选择用户身份标识idi,并通过安全信道把用户身份标识发送给服务器端;
3)用户Ui选择口令pwi,根据私钥Di、身份标识idi和口令pwi计算凭证CREi;计算采用以下公式
4)最后用户Ui把凭证CREi保存到自己的移动终端设备中;
签名生成模块,用于根据用户Ui的凭证CREi,用户Ui对给定消息m产生签名;具体如下:
1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi;
2)用户Ui在集合中随机选择一个元素d,计算部分签名Ti=d·Di;用户Ui在集合中随机选择一个元素k,计算中间变量R=k·G=(x,y),e=h(m||Ti),r≡e+x mod n,s≡(1+d)-1·(k-r·d)mod n;
3)用户Ui输出签名σ=(Ti,r,s);
验证模块,用于服务器端对给定消息m和用户输出的签名σ=(Ti,r,s)进行签名的合法性验证;具体如下:
2)服务器端计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立;
3)如果成立,则接收该消息,否则拒绝该消息。
本发明产生的有益效果是:目前,SM2和SM9数字签名算法对应的私钥不能直接存储在移动设备中,需要专门的密码设备来保护密钥的安全性。在本发明设计的认证方法中,用户的私钥不需要专门的密码设备进行存储,仅需要口令即可进行安全保护。同时,本发明是针对国产SM2和SM9签名算法设计,可满足自主可控的国产商用密码应用合规性要求。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本实施例中的参数解释如下:
n:大素数;
mod n:模n运算;
h(·):密码杂凑函数;
m;消息值;
σ:签名值;
||:比特串拼接;
S:服务器;
Ui:第i个用户;
pwi:第i个用户的口令;
idi:第i个用户的身份标识;
如图1所示,一种基于SM2和SM9数字签名算法的移动终端认证方法,包括以下步骤:
1)初始化步骤Setup:服务器S执行下述步骤生成系统公钥和私钥;
1.1)服务器S选择SM2算法的推荐椭圆曲线作为系统曲线;
1.3)服务器S计算系统公钥Ppub=ks·G;
1.4)服务器S公开系统公钥Ppub并保留系统私钥d;
2)密钥生成步骤KeyGen:服务器S和用户Ui执行下述步骤生成用户的私钥;
2.1)用户Ui选择身份标识idi,并通过安全信道把它发送给服务器S。
3)签名生成步骤Sign:给定消息m,用户Ui执行下述步骤产生签名。
3.1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi。
3.4)用户Ui输出签名σ=(Ti,r,s)。
4)验证步骤Verify:给定消息m和用户签名σ=(Ti,r,s),服务器S执行下述步骤验证签名的合法性。
4.2)服务器S计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立。
4.3)如果成立,则接收该消息,否则拒绝该消息。
根据上述方法,我们还提供对应的一种基于SM2和SM9数字签名算法的移动终端认证系统,包括:
初始化模块,用于服务器S执行下述步骤生成系统公钥和私钥;
1)服务器S选择SM2算法的推荐椭圆曲线作为系统曲线;
3)服务器S计算系统公钥Ppub=ks·G;
4)服务器S公开系统公钥Ppub并保留系统私钥d;
密钥生成模块,用于服务器S和用户Ui执行下述步骤生成用户的私钥;
1)用户Ui选择身份标识idi,并通过安全信道把它发送给服务器S。
签名生成模块,用于根据给定消息m,用户Ui执行下述步骤产生签名;
1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi。
4)用户Ui输出签名σ=(Ti,r,s)。
验证模块,用于根据给定消息m和用户签名σ=(Ti,r,s),服务器S执行下述步骤验证签名的合法性。
2)服务器S计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立。
3)如果成立,则接收该消息,否则拒绝该消息。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种基于SM2和SM9数字签名算法的移动终端认证方法,其特征在于,包括以下步骤:
1)通过服务器端生成系统公钥和私钥,具体如下:
2)生成用户Ui的私钥,具体如下:
2.1)用户Ui选择用户身份标识idi,并通过安全信道把用户身份标识发送给服务器端;
2.3)用户Ui选择口令pwi,根据私钥Di、身份标识idi和口令pwi计算凭证CREi;计算采用以下公式:
2.4)最后用户Ui把凭证CREi保存到自己的移动终端设备中;
3)根据用户Ui的凭证CREi,用户Ui对给定消息m产生签名;
3.1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi;
3.2)用户Ui在集合中随机选择一个元素d,计算部分签名Ti=d·Di;用户Ui在集合中随机选择一个元素k,计算中间变量R=k·G=(x,y),e=h(m||Ti),r≡e+x mod n,s≡(1+d)-1·(k-r·d)mod n;
3.3)用户Ui输出签名σ=(Ti,r,s);
4)服务器端对给定消息m和用户输出的签名σ=(Ti,r,s)进行签名的合法性验证;
4.2)服务器端计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立;
4.3)如果成立,则接收该消息,否则拒绝该消息。
2.根据权利要求1所述的基于SM2和SM9数字签名算法的移动终端认证方法的移动终端认证系统,其特征在于,包括:
初始化模块,用于通过服务器端生成系统公钥和私钥,具体如下:
用户私钥生成模块,用于生成用户Ui的私钥,具体如下:
1)用户Ui选择用户身份标识idi,并通过安全信道把用户身份标识发送给服务器端;
3)用户Ui选择口令pwi,根据私钥Di、身份标识idi和口令pwi计算凭证CREi;计算采用以下公式
4)最后用户Ui把凭证CREi保存到自己的移动终端设备中;
签名生成模块,用于根据用户Ui的凭证CREi,用户Ui对给定消息m产生签名;具体如下:
1)用户Ui计算Di=CREi-h(pwi||idi)·G或Di=h(pwi||idi)·CREi;
2)用户Ui在集合中随机选择一个元素d,计算部分签名Ti=d·Di;用户Ui在集合中随机选择一个元素k,计算中间变量R=k·G=(x,y),e=h(m||Ti),r≡e+x mod n,s≡(1+d)-1·(k-r·d)mod n;
3)用户Ui输出签名σ=(Ti,r,s);
验证模块,用于服务器端对给定消息m和用户输出的签名σ=(Ti,r,s)进行签名的合法性验证;具体如下:
2)服务器端计算W=s·G+t·Pi=(x′,y′)并验证等式r≡x′+e mod n是否成立;
3)如果成立,则接收该消息,否则拒绝该消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257977.1A CN113055161B (zh) | 2021-03-09 | 2021-03-09 | 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257977.1A CN113055161B (zh) | 2021-03-09 | 2021-03-09 | 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113055161A CN113055161A (zh) | 2021-06-29 |
CN113055161B true CN113055161B (zh) | 2021-11-26 |
Family
ID=76510719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110257977.1A Active CN113055161B (zh) | 2021-03-09 | 2021-03-09 | 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055161B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708927B (zh) * | 2021-08-25 | 2023-05-05 | 福建师范大学 | 基于sm2数字签名的泛指定验证者签名证明系统 |
CN113904777B (zh) * | 2021-09-23 | 2023-10-03 | 武汉大学 | 一种基于sm2数字签名算法的签密方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006065002A1 (en) * | 2004-12-17 | 2006-06-22 | Electronics And Telecommunications Research Institute | User authentication method in another network using digital signature made by mobile terminal |
CN106341232A (zh) * | 2016-09-18 | 2017-01-18 | 中国科学院软件研究所 | 一种基于口令的匿名实体鉴别方法 |
CN106899413A (zh) * | 2017-04-07 | 2017-06-27 | 深圳奥联信息安全技术有限公司 | 数字签名验证方法及系统 |
CN107483191A (zh) * | 2017-08-16 | 2017-12-15 | 济南浪潮高新科技投资发展有限公司 | 一种sm2算法密钥分割签名系统及方法 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN110213048A (zh) * | 2019-05-31 | 2019-09-06 | 武汉大学 | 一种轻量级sm2盲签名生成方法及系统 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
CN110943976A (zh) * | 2019-11-08 | 2020-03-31 | 中国电子科技网络信息安全有限公司 | 一种基于口令的用户签名私钥管理方法 |
CN111262704A (zh) * | 2020-01-15 | 2020-06-09 | 江苏芯盛智能科技有限公司 | Sm9数字签名生成方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370202B2 (en) * | 2004-11-02 | 2008-05-06 | Voltage Security, Inc. | Security device for cryptographic communications |
-
2021
- 2021-03-09 CN CN202110257977.1A patent/CN113055161B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006065002A1 (en) * | 2004-12-17 | 2006-06-22 | Electronics And Telecommunications Research Institute | User authentication method in another network using digital signature made by mobile terminal |
CN106341232A (zh) * | 2016-09-18 | 2017-01-18 | 中国科学院软件研究所 | 一种基于口令的匿名实体鉴别方法 |
CN106899413A (zh) * | 2017-04-07 | 2017-06-27 | 深圳奥联信息安全技术有限公司 | 数字签名验证方法及系统 |
CN107483191A (zh) * | 2017-08-16 | 2017-12-15 | 济南浪潮高新科技投资发展有限公司 | 一种sm2算法密钥分割签名系统及方法 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN110213048A (zh) * | 2019-05-31 | 2019-09-06 | 武汉大学 | 一种轻量级sm2盲签名生成方法及系统 |
CN110943976A (zh) * | 2019-11-08 | 2020-03-31 | 中国电子科技网络信息安全有限公司 | 一种基于口令的用户签名私钥管理方法 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
CN111262704A (zh) * | 2020-01-15 | 2020-06-09 | 江苏芯盛智能科技有限公司 | Sm9数字签名生成方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
"A provable-secure and practical two-party distributed signing protocol for SM2 signature algorithm";Yudi ZHANG, Debiao HE, Mingwu ZHANG,et al.;《Frontiers of Computer Science》;20200110;第14卷(第3期);全文 * |
"A security-enhanced authentication with key agreement scheme for wireless mobile communications using elliptic curve cryptosystem";Shen, H.,Kumar,N.,He,DB.et al.;《JOURNAL OF SUPERCOMPUTING 》;20160930;第72卷(第7期);全文 * |
"Efficient and Provably Secure Distributed Signing Protocol for Mobile Devices in Wireless Networks";Y. Zhang, DB. He, S. Zeadally,et al.;《IEEE Internet of Things Journal》;20181231;第5卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113055161A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110011802B (zh) | 一种高效的sm9两方协同生成数字签名的方法及系统 | |
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN106341232B (zh) | 一种基于口令的匿名实体鉴别方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN104821880B (zh) | 一种无证书广义代理签密方法 | |
CN113364600A (zh) | 基于无证书的云存储数据完整性公共审计方法 | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及系统和装置 | |
CN108989054B (zh) | 一种密码系统及数字签名方法 | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
CN110932865B (zh) | 一种基于sm2数字签名算法的可链接环签名生成方法 | |
CN109861826B (zh) | 一种双向代理重签名的实现方法及装置 | |
CN113055161B (zh) | 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 | |
CN104301108A (zh) | 一种从基于身份环境到无证书环境的签密方法 | |
CN112118111B (zh) | 一种适用于门限计算的sm2数字签名方法 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN115174104A (zh) | 基于商密sm9的属性基在线/离线签名方法与系统 | |
CN113055394A (zh) | 一种适用于v2g网络的多服务双因子认证方法及系统 | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
CN115442057A (zh) | 一种具有强不可链接性的可随机化盲签名方法及系统 | |
CN110661816B (zh) | 一种基于区块链的跨域认证方法与电子设备 | |
CN109618348B (zh) | 一种单向代理重签名的实现方法及装置 | |
CN114070549B (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN110557260B (zh) | 一种sm9数字签名生成方法及装置 | |
CN110572257B (zh) | 基于身份的数据来源鉴别方法和系统 | |
CN114095229B (zh) | 能源互联网的数据传输协议构建方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |