CN115174116A - 一种数据包签名与验签*** - Google Patents
一种数据包签名与验签*** Download PDFInfo
- Publication number
- CN115174116A CN115174116A CN202210798256.6A CN202210798256A CN115174116A CN 115174116 A CN115174116 A CN 115174116A CN 202210798256 A CN202210798256 A CN 202210798256A CN 115174116 A CN115174116 A CN 115174116A
- Authority
- CN
- China
- Prior art keywords
- signature
- key
- mobile terminal
- cryptographic
- secret
- 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
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种数据包签名与验签***,包含移动终端和协同签名***,协同签名***将密钥分割成多份,每份称为秘密份额,然后将其中的一份秘密份额保存在移动终端,其余的保存在软件密码服务平台中;当移动终端中的应用程序需要调用密码模块使用用户SM2密钥进行数字签名时,本发明采用密钥分割和协同签名技术,由移动终端、协同签名***各自独立生成密钥、独立存储密钥,在签名阶段由双方协作共同完成数字签名。本发明可以在用户移动端无需额外硬件介质的条件下,为用户提供出安全合规的数字签名服务。
Description
技术领域
本发明涉及网络安全技术领域,具体是一种数据包签名与验签***。
背景技术
随着密码应用及国产密码算法在电子政务、金融、电力、交通、医疗等各个领域的显著推广,安全应用方案的部署日益增多,密钥管理作为安全应用***中的重要组成部分也变得越来越重要和复杂,密钥管理不善可能使组织机构遭受不必要的安全风险。
因此需要提供一种能够保障密码安全的***。
发明内容
本发明的目的在于提供一种数据包签名与验签***,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据包签名与验签***,包含移动终端和协同签名***,所述移动终端内设密码模块,协同签名***将密钥分割成多份,每份称为秘密份额,并存储分割的部分密钥,然后将其中的一份秘密份额保存在移动终端,其余的保存在软件密码服务平台中;当移动终端中的应用程序需要调用密码模块使用密钥进行数字签名时,软件密码服务平台分别使用自己的秘密份额进行密码运算,最后将各软件密码服务平台计算的结果合并形成最后的、使用密钥进行密码运算的结果。
作为本发明的进一步技术方案:所述移动终端为PC或手机端。
作为本发明的进一步技术方案:所述密码模块,作为安全的软件载体保护用户密钥和证书的安全,通过密钥分割,保存部分密钥,密码模块提供密码运算、数字签名、协同解密和证书服务。
作为本发明的进一步技术方案:所述协同签名***通过预先设计好的密钥分割策略,对密钥进行分割处理,提供签名、验签接口函数供服务端调用。
作为本发明的进一步技术方案:所述协同签名***内设PCI密码卡。
作为本发明的进一步技术方案:所述移动终端使用密码模块内的密钥进行协同签名,并将协同签名结果提供给签名API。
作为本发明的进一步技术方案:所述协同签名***对外开放密码应用接口,允许移动终端调用。
与现有技术相比,本发明的有益效果是:
本发明采用密钥分割和协同签名技术,由移动终端、协同签名***各自独立生成密钥、独立存储密钥,在签名阶段由双方协作共同完成数字签名。本发明可以在用户移动端无需额外硬件介质的条件下,为用户提供出安全合规的数字签名服务。
附图说明
图1为本发明硬件方框图。
图2为密码模块组成图。
图3为协同签名算法流程图。
图4为SM2密钥生成流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1-4,一种数据包签名与验签***,包含移动终端和协同签名***,协同签名***将密钥分割成多份,每份称为秘密份额,然后将其中的一份秘密份额保存在移动终端,其余的保存在软件密码服务平台中;当移动终端中的应用程序需要调用密码模块使用用户SM2密钥进行数字签名时,软件密码服务平台分别使用自己的秘密份额进行密码运算,最后将各装置计算的结果合并形成最后的、使用用户密钥进行密码运算的结果,而数字签名验证仍然采用通常的、标准的方式。
如图1所示,所述移动终端为移动终端。移动终端内设密码模块,作为安全的软件载体保护用户密钥和证书的安全,通过密钥分割,保存部分密钥。密码模块提供密码运算、数字签名、协同解密和证书服务,
协同签名***通过预先设计好的密钥分割策略,对密钥进行分割处理,并存储分割的部分密钥,提供签名、验签接口函数供服务端调用。
协同签名***内设PCI密码卡。采用PCI密码卡SJK19131-G,具有国家密码管理局颁发的商用密码产品型号证书。
密码模块的软件组成如图2所示,协同签名***对外开放密码应用接口,允许移动终端调用。
移动终端各部件之间的交互关系为:
1)签名API调用协同签名子模块,协同签名子模块调用密钥管理子模块,使用密钥管理子模块的密钥进行协同签名,并将协同签名结果提供给签名API;
2)本密码模块与服务端通信时,调用SSL子模块实现加密通信和服务端鉴别功能。SSL子模块调用数字证书管理子模块对服务端数字证书进行验证;
3)身份鉴别调用身份鉴别子模块实现用户的身份鉴别;
4)在APP进程内初始化时,调用自检子模块对模块自身的完整性、算法正确性进行自检。
协同签名***对外开放密码应用接口,允许移动终端调用,从而实现数据的加密、解密、签名、验签,同时后台提供了业务统计、日志审计等支撑功能。
本发明的工作原理如下:
密码模块和协同签名***共同完成基于SM2算法、SM3算法和SM4算法的协同签名和协同解密。协同签名和协同解密的原理为SM2门限密码算法方案。
SM2椭圆曲线公钥密码算法包括数字签名算法、密钥交换协议和公钥加解密算法。密码模块和协同签名***实现了SM2数字签名算法和公钥加解密算法。
在门限密码学中,密钥信息被分享给独立的多个参与者,每一次密钥计算都需要多个参与者同意,从而提高算法安全性。密码模块和协同签名认证服务***作为共同参与密钥计算的双方,使用的SM2门限密码算法方案具有以下安全特性:
1)只有双方共同参与计算,才可以计算出最终的签名、交换的密钥和明文,单独的一方无法完成;
2)在算法执行过程中***漏关于双方密钥的任何信息。
在门限密码算法方案中,密钥的产生方式为双方各自生成密钥作为密钥分量,分享同一个密钥,并公开公钥。
在数字签名时,双方先通过秘密分享的方式计算得到r,而后得到s的分享份额s1、s2,通过插值公式计算出签名s。
在解密时,双方各自使用自己的密钥分量分别计算c1分量,通过插值公式计算出最终的c1,然后完成最终的解密计算。
SM2算法协同签名原理为,双方先通过秘密分享的方式计算得到r,而后得到s的分享份额s1、s2,通过插值公式计算出签名s。
客户端生成待签名消息M的消息摘要e和第一部分签名Q1,并将e和Q1发送给服务端,服务端根据Q1和e生成第二部分签名r,并根据D2生成第三部分签名s2和第四部分签名s3,将r、s2、s3发送客户端,客户端根据D1、r、s2、s3生成完整签名r,s。
具体步骤如下:
1)客户端计算SM3(Z||M)作为摘要值e,选取位于[1,n]之间的随机数k1,计算k1[*]G,作为Q1,将e和Q1发送给服务端;
2)服务端选取位于[1,n]之间的随机数k2、k3,计算k2[*]G得到Q2,计算k3[*]Q1[+]Q2,得到(x1,y1);
3)服务端计算x1+e mod n得到r,如r等于0,则重新生成k3计算(x1,y1),直到r不为0为止;
4)服务端计算D2*k3 mod n得到s2,计算D2*(r+k2)mod n得到s3,服务端将r、s2、s3发送给客户端;
5)客户端计算(D1*k1)*s2+D1*s3–r mod n,得到最终计算结果s,如果s等于0或者n–r,则重新计算k1,重复前述过程,直到s不等于0和n–r。
具体流程如图3所示。
密钥的产生方式为客户端和服务端双方各自生成密钥作为密钥分量,分享同一个密钥,并公开公钥。
客户端和服务端生成各自的密钥D1、D2和公钥P1,客户端将P1发送给服务端,由服务端最后生成最终的公钥P。生成方法为:
1)双方分别选取位于[1, n-1]之间的随机数作为密钥D1、D2;
3)客户端将P1提供给服务端,服务端计算D2-1[*] P1 [-] G,作为P。([-]为点减)
具体流程如图4所示。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (7)
1.一种数据包签名与验签***,其特征在于,包含移动终端和协同签名***,所述移动终端内设密码模块,协同签名***将密钥分割成多份,每份称为秘密份额,并存储分割的部分密钥,然后将其中的一份秘密份额保存在移动终端,其余的保存在软件密码服务平台中;当移动终端中的应用程序需要调用密码模块使用密钥进行数字签名时,软件密码服务平台分别使用自己的秘密份额进行密码运算,最后将各软件密码服务平台计算的结果合并形成最后的、使用密钥进行密码运算的结果。
2.根据权利要求1所述的一种数据包签名与验签***,其特征在于,所述移动终端为PC或手机端。
3.根据权利要求2所述的一种数据包签名与验签***,其特征在于,所述密码模块,作为安全的软件载体保护用户密钥和证书的安全,通过密钥分割,保存部分密钥,密码模块提供密码运算、数字签名、协同解密和证书服务。
4.根据权利要求2所述的一种数据包签名与验签***,其特征在于,所述协同签名***通过预先设计好的密钥分割策略,对密钥进行分割处理,提供签名、验签接口函数供服务端调用。
5.根据权利要求2所述的一种数据包签名与验签***,其特征在于,所述协同签名***内设PCI密码卡。
6.根据权利要求1所述的一种数据包签名与验签***,其特征在于,所述移动终端使用密码模块内的密钥进行协同签名,并将协同签名结果提供给签名API。
7.根据权利要求1所述的一种数据包签名与验签***,其特征在于,所述协同签名***对外开放密码应用接口,允许移动终端调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798256.6A CN115174116A (zh) | 2022-07-06 | 2022-07-06 | 一种数据包签名与验签*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798256.6A CN115174116A (zh) | 2022-07-06 | 2022-07-06 | 一种数据包签名与验签*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115174116A true CN115174116A (zh) | 2022-10-11 |
Family
ID=83490951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210798256.6A Pending CN115174116A (zh) | 2022-07-06 | 2022-07-06 | 一种数据包签名与验签*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174116A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955302A (zh) * | 2022-12-02 | 2023-04-11 | 杭州脉讯科技有限公司 | 一种基于协同签名的国密安全通信方法 |
CN117749393A (zh) * | 2024-02-07 | 2024-03-22 | 江苏意源科技有限公司 | 基于协同签名的sslvpn用户身份验证方法及*** |
-
2022
- 2022-07-06 CN CN202210798256.6A patent/CN115174116A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955302A (zh) * | 2022-12-02 | 2023-04-11 | 杭州脉讯科技有限公司 | 一种基于协同签名的国密安全通信方法 |
CN117749393A (zh) * | 2024-02-07 | 2024-03-22 | 江苏意源科技有限公司 | 基于协同签名的sslvpn用户身份验证方法及*** |
CN117749393B (zh) * | 2024-02-07 | 2024-05-10 | 江苏意源科技有限公司 | 基于协同签名的sslvpn用户身份验证方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | E-AUA: An efficient anonymous user authentication protocol for mobile IoT | |
CN109309569B (zh) | 基于sm2算法的协同签名的方法、装置及存储介质 | |
CN109088726B (zh) | 基于sm2算法的通信双方协同签名及解密方法和*** | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
US7716482B2 (en) | Conference session key distribution method in an ID-based cryptographic system | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
US8447036B2 (en) | Multi-party key agreement method using bilinear map and system therefor | |
CN115174116A (zh) | 一种数据包签名与验签*** | |
CN111429138A (zh) | 区块链节点数据安全交互方法及第一交互节点 | |
CN110278088A (zh) | 一种sm2协同签名方法 | |
CN113676333A (zh) | 一种两方协作生成sm2盲签名方法 | |
CN113508554A (zh) | 一种用于向消息提供数字签名的方法 | |
Wang et al. | Key escrow protocol based on a tripartite authenticated key agreement and threshold cryptography | |
Muth et al. | Smartdhx: Diffie-hellman key exchange with smart contracts | |
CN111709053B (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
Tan | An efficient pairing‐free identity‐based authenticated group key agreement protocol | |
CN110943826B (zh) | 一种基于sm2算法的拆分密钥签名方法与*** | |
CN111062029A (zh) | 一种基于标识密码的多因子认证协议 | |
CN115834038A (zh) | 基于国家商用密码算法的加密方法及装置 | |
CN110809000A (zh) | 基于区块链网络的业务交互方法、装置、设备及存储介质 | |
US20230188330A1 (en) | System and method for identity-based key agreement for secure communication | |
CN111614456B (zh) | 一种针对sm4算法的多方协同加密方法 | |
CN115314205A (zh) | 一种基于密钥分割的协同签名***及方法 | |
CN113872767A (zh) | 一种基于ecdsa算法的两方协同签名方法和装置 | |
CN113849831A (zh) | 一种基于sm2算法的两方协同签名和解密方法及*** |
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 |