CN114244502A - 基于sm9算法的签名密钥生成方法、装置和计算机设备 - Google Patents
基于sm9算法的签名密钥生成方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN114244502A CN114244502A CN202111369716.5A CN202111369716A CN114244502A CN 114244502 A CN114244502 A CN 114244502A CN 202111369716 A CN202111369716 A CN 202111369716A CN 114244502 A CN114244502 A CN 114244502A
- Authority
- CN
- China
- Prior art keywords
- key
- initiating terminal
- information
- master
- signature
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000000977 initiatory effect Effects 0.000 claims abstract description 70
- 238000012795 verification Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 24
- 238000004806 packaging method and process Methods 0.000 claims description 17
- 238000005538 encapsulation Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 32
- 239000003999 initiator Substances 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003409 anti-rejection Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000013485 heteroscedasticity test Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 244000144985 peep Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种基于SM9算法的签名密钥生成方法、装置和计算机设备。所述方法包括:接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;基于所述安全因子,从所述用户身份信息中获取系统参数;发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;对所述多个私钥进行相加处理,得到签名密钥。采用本方法能够有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种基于SM9算法的签名密钥生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
目前大多数应用系统采用用户名加口令方式实现身份验证,网络之间的信息传输都是明文。这种传统的认证方式存在很多的安全隐患,信息极易泄密。用户为了便于记忆,其用户名和密码往往过于简单且带有一定的规律性,易被猜测、易泄露;同时用户在输入密码时易被偷窥,而密码在传输的过程中也易被黑客截获;信息以明文形式传输,或密文的加密强度太低,很容易破解。现有方法中多采用IBC系统,通过公钥和私钥的结合使用,来进行身份验证,然而这种方法在密钥托管时,用户签名私钥的安全性难以得到保障。
发明内容
基于此,有必要针对上述技术问题,提供一种用于解决现有的IBC密码系统中的密钥托管问题,用户签名私钥的安全性不能保障的基于SM9算法的签名密钥生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于SM9算法的签名密钥生成方法。所述方法包括:
接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
基于所述安全因子,从所述用户身份信息中获取系统参数;
发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
对所述多个私钥进行相加处理,得到签名密钥。
在其中一个实施例中,在对所述多个私钥进行相加处理,得到签名密钥之后,还包括:
对各个所述私钥进行加密,生成多个密文;
发送生成指令至所述多个密钥管理中心,使所述多个密钥管理中心生成多个随机数;
通过各个所述随机数对各个所述密文进行混合处理,得到封装信息;
当所述封装信息满足预设条件时,输出所述签名密钥。
在其中一个实施例中,所述方法还包括:
对所述封装信息进行解析,得到所述封装信息中末尾附加有所述用户身份信息的字段;
根据所述字段,获取所述发起终端的标识信息,并保存所述发起终端的标识信息。
在其中一个实施例中,所述方法还包括:
对所述封装信息中的密文进行解密处理,以及对所述发起终端的标识信息进行解析,得到验签信息;
通过所述验签信息,验证所述发起终端和所述公钥系统的身份。
在其中一个实施例中,所述方法还包括:
当向所述发起终端发送的相应请求消息中的信息量不足时,向所述发起终端发送主密钥修改请求,使所述发起终端对主密钥进行修改,以及,对所述系统参数进行调整。
在其中一个实施例中,所述主密钥为所述发起终端从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;基于所述用户身份信息的字节长度,从所述原有字段的数据中确定出的目标数据得到。
第二方面,本申请还提供了一种基于SM9算法的签名密钥生成装置。所述装置包括:
接收模块,用于接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
获取模块,用于基于所述安全因子,从所述用户身份信息中获取系统参数;
发送模块,用于发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
相加模块,用于对所述多个私钥进行相加处理,得到签名密钥。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
基于所述安全因子,从所述用户身份信息中获取系统参数;
发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
对所述多个私钥进行相加处理,得到签名密钥。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
基于所述安全因子,从所述用户身份信息中获取系统参数;
发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
对所述多个私钥进行相加处理,得到签名密钥。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
基于所述安全因子,从所述用户身份信息中获取系统参数;
发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
对所述多个私钥进行相加处理,得到签名密钥。
上述基于SM9算法的签名密钥生成方法、装置、计算机设备、存储介质和计算机程序产品,无需申请数字证书、无需各类专用硬件介质,即可实现类似USB key认证的安全效果,SM9算法省略了证书的申请与校验,尤为适于各类大型互联网软件的安全保护。本申请用户的私钥是由多方联合生成,这样任何单独一个PKI就无法掌握用户的私钥,密钥托管问题就迎刃而解,协商出的私钥也不能被密钥管理中心所知,只能由用户掌握,可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。
附图说明
图1为一个实施例中基于SM9算法的签名密钥生成方法的应用环境图;
图2为一个实施例中基于SM9算法的签名密钥生成方法的流程示意图;
图3为另一个实施例中基于SM9算法的签名密钥生成方法的流程示意图;
图4为一个实施例中基于SM9算法的签名密钥生成装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在传统公开密钥系统下,一般用数字证书来鉴定用户的公钥,证书是用户通过提供自己的公钥,让权威PKI(Certificate Authority,CA)颁发给自己的凭证,其他人通过该凭据来校验公钥的正确性,这种体制也被称为公钥PKI(Public Key Infrastructure,PKI)系统。常见的PKI演算法有:RSA、椭圆曲线等。随着传统PKI安全模式的广泛应用,它的一些缺陷也暴露了出来:证书带来的存储、管控、校验等操作,带来各种开销较大,在大规模和层级结构中环境中心有余而力不足,基于此,本申请提供了一种基于SM9算法的签名密钥生成方法。
本申请实施例提供的基于SM9算法的签名密钥生成方法,可以应用于如图1所示的应用环境中,包括发起终端102和服务器104。其中,发起终端102与服务器104通过网络进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。在本公开的应用场景中,发起终端102基于发起终端102的标识信息和已知的用户身份信息生成多个密钥管理中心的主密钥,并对系统设置安全因子,发送安全因子和多个密钥管理中心的主密钥至服务器104,服务器104基于安全因子,从已知的用户身份信息中获取系统参数,并发送系统参数和各个主密钥至公钥系统,使公钥系统基于各个主密钥和系统参数生成多个私钥;对多个私钥进行相加处理,得到签名密钥。其中,发起终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于SM9算法的签名密钥生成方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤210,接收发起终端发送的安全因子和多个密钥管理中心的主密钥;主密钥为发起终端基于发起终端的标识信息和用户身份信息生成;
步骤220,基于安全因子,从用户身份信息中获取系统参数;
步骤230,发送系统参数和各个主密钥至公钥系统,使公钥系统基于各个主密钥和系统参数生成多个私钥;
步骤240,对多个私钥进行相加处理,得到签名密钥。
其中,系统参数表示符合用户进行签名密钥生成的参数。
其中,主密钥s由所述系统参数结合用户标识设置,并安全留存对应的私钥。所述发起终端还将附加信息编码到发起终端标识的标识符中。
具体实现中,发起终端102对系统设置安全因子k并将安全因子k发送给服务器104,安全因子k从已知的用户身份获取系统参数M,选取可信的第三方PKI生成相应的密钥条件,其中PKI表示公钥基础设施,是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。发起终端102将发起终端标识和已知身份的用户信息生成n个密钥管理中心的主密钥s和标识ID,更具体地,主密钥通过下述方式生成:从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;从所述原有字段的末尾开始,依次截取与所述字节长度对应的数据,得到多个密钥管理中心的主密钥。服务器104在公钥系统中输入系统参数M和主密钥s进行私钥提取,输出第三方PKI和密钥管理中心共同生成的用户私钥A进行协商,即查验pki与用户私钥A的融合性;服务器要求PKI分发私钥A,将各个私钥进行相加处理,得到签名密钥。进一步地,还可分别对每个密钥管理中心秘密地生成随机数,将n个密钥管理中心发来的密钥数量和真伪是否正确的结果进行相加,得到封装信息,封装信息满足协商条件时密钥管理中心通过验证,服务器104输出密钥并退出。
每个密钥管理中心没有共享主密钥s,而是各自在相同的系统参数下提供密钥分发服务。用户通过将这些密钥管理中心生成的私钥求和,得到实际的私钥A。假设n个密钥管理中心都工作在相同的系统参数M下,它们独自生成主私钥s,并公布主公钥。标识为ID的用户向n个密钥管理中心注册,得到n个子私钥。然后用户将子私钥求和得到其最终的私钥A。
在一种实施例中,发起终端还可以指定用户身份识别验证期限的到期日期,当服务器要求PKI生成对应主密钥s的私钥A时,PKI评估标识符并在日期过期之后可以拒绝发起终端的访问请求。
上述基于SM9算法的签名密钥生成方法,无需申请数字证书、无需各类专用硬件介质,即可实现类似USB key认证的安全效果,SM9算法省略了证书的申请与校验,尤为适于各类大型互联网软件的安全保护。本申请用户的私钥是由多方联合生成,这样任何单独一个PKI就无法掌握用户的私钥,密钥托管问题就迎刃而解了。协商出的私钥也不能被密钥管理中心所知,只能由用户掌握。可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。
在一示例性实施例中,在对多个私钥进行相加处理,得到签名密钥之后,还包括:对各个私钥进行加密,生成多个密文;发送生成指令至多个密钥管理中心,使多个密钥管理中心生成多个随机数;通过各个随机数对各个密文进行混合处理,得到封装信息;当封装信息满足预设条件时,输出签名密钥。
具体实现中,可以对n个所述私钥A进行多次加密并生成n个密文,所述n个密文通过所述随机数混合后进行封装,由于用户拥有全部n个私钥,所以可以解密,而攻击方无法解出密文,由此保证密文的安全性。
本实施例中,通过对各个私钥进行加密,生成多个密文,通过各个随机数对各个密文进行混合处理,得到封装信息,由于用户拥有全部n个私钥,所以可以解密,而攻击方无法解出密文,由此保证密文的安全性。
在一示例性实施例中,所述方法还包括:对封装信息进行解析,得到封装信息中末尾附加有用户信息的字段;根据字段,获取发起终端的标识信息,并保存发起终端的标识信息。
具体实现中,响应方对所述封装信息进行解析,并获取所述封装信息中末尾附加有所述发起方身份信息的字段,根据所述字段获取所述发起方ID并保存所述发起方ID进行留档。
本实施例提供的基于SM9算法的签名密钥生成方法,可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性,达到信息保密、身份确认、通信安全、信道控制等安全措施,并拥有采纳简单,管理简单的优势,大大方便了密码算法推广采纳。
在一示例性实施例中,所述方法还包括:对封装信息中的密文进行解密处理,以及对发起终端的标识信息进行解析,得到验签信息;通过验签信息,验证发起终端和公钥系统的身份。
具体实现中,服务器可通过公开所述系统参数M进行密码杂凑,解密所述密文并对标识符进行解析得到验签信息,通过验签信息验证所述发起终端和所述公钥系统的身份。
本申请不再需要证书的申请与验证,省去了证书的管理和维护成本,无需预先协商密码或者交换证书,可以大大减少传统证书体系中申请和验证环节,易于使用。相同的资源能提供更多的用户安全服务;发送消息不必验证对方公钥合法性,也不需要接收方提前申请私钥;与生俱来的身份访问控制性质,能实现多种策略。实现与PKI技术的融合使用,利用PKI技术的强身份认证和IBC技术简便易用的特点,实现优势互补、互惠互利。另外,IBC技术的特点也使得它特别适合于单位要和大量单位以外游离用户进行安全通信的情况。
在一示例性实施例中,所述方法还包括:当系统获取到密钥安全系数降低消息时,发起终端收到服务器发送的加密数据后使用工作密钥对加密数据进行解密,并对加密数据进行验证,在验证通过后给已知身份的用户和新加入的用户发送编码改变通知。
在一示例性实施例中,所述方法还包括:当向发起终端发送的相应请求消息中的信息量不足时,向发起终端发送主密钥修改请求,使发起终端对主密钥进行修改,以及,对系统参数进行调整。
具体实现中,在服务器向发起终端发送的响应请求消息中信息量不足时,服务器向发起终端发送主密钥修改请求,并对系统参数M进行调整。
在一示例性实施例中,主密钥为所述发起终端从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;基于所述用户身份信息的字节长度,从所述原有字段的数据中确定出的目标数据得到。
具体实现中,所述主密钥s首先是从附加有用户身份信息后的字段中截取出所述字段对应的原有字段的数据,并从所述原有字段的末尾开始,向后截取与所述用户ID长度的字节长度对应的数据,最后从剩余的数据中截取与所述用户ID长度对应的数据,从而得到最终的所述用户主密钥s。
本实施例中,为了克服传统公开密码系统中证书控制带米的繁琐冗余,不再用证书管理公钥,而是十分直观地,就将接收方用户的标识,例如用户的证件号码、邮箱号、微信号等看做公钥,此时接收方的公钥由和其标识一一对应,用户自然就无需再向权威PKI询问公钥的有效性。
在另一示例性实施例中,如图3所示,为一种基于SM9算法的签名密钥生成方法的流程示意图,本实施例中,该方法包括以下步骤:
步骤S310,发起方对系统设置安全因子k并将安全因子k发送给响应方;
步骤S320,安全因子k从已知的用户身份获取系统参数M,选取可信的第三方PKI生成相应的密钥条件;
步骤S330,发起方将发起方标识和已知身份的用户信息生成n个密钥管理中心的主密钥s,及标识ID;
步骤S340,响应方输入系统参数M和主密钥s进行私钥提取,输出第三方PKI和密钥管理中心共同生成的用户私钥A进行协商;
步骤S350,响应方要求PKI分发私钥A,并分别对每个密钥管理中心秘密地生成随机数;
步骤S360,将n个密钥管理中心发来的结果相加,得到封装信息;
步骤S370,封装信息满足协商条件时密钥管理中心通过验证,响应方输出密钥并退出。
其中,发起方相当于图1中的发起终端102,响应方相当于图1中的服务器104,所述主密钥s由所述系统参数M结合所述用户标识设置,并安全留存对应的所述私钥A。所述发起方还将附加信息编码到所述发起方标识的标识符中。
所述主密钥s首先是从附加有用户身份信息后的字段中截取出所述字段对应的原有字段的数据,并从所述原有字段的末尾开始,向后截取与所述用户ID长度的字节长度对应的数据,最后从剩余的数据中截取与所述用户ID长度对应的数据,从而得到最终的所述用户主密钥s。
所述响应方对所述封装信息进行解析,并获取所述封装信息中末尾附加有所述发起方身份信息的字段,根据所述字段获取所述发起方ID并保存所述发起方ID进行留档。
所述发起方可以指定所述用户身份识别验证期限的到期日期,当所述响应方要求所述PKI生成对应所述主密钥s的所述私钥A时,所述PKI评估标识符并在日期过期之后拒绝所述发起方的访问请求。
所述封装消息对n个所述私钥A进行多次加密并生成n个密文,所述n个密文通过所述随机数混合后进行封装。由于用户拥有全部n个私钥,所以可以解密,而攻击方无法解出密文。
所述响应方通过公开所述系统参数M进行密码杂凑,解密所述密文并对所述标识符进行解析得到验签信息,所述验签信息验证所述发起方和所述第三方PKI的身份。
本实施例可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。达到信息保密、身份确认、通信安全、信道控制等安全措施,并拥有采纳简单,管理简单的优势,大大方便了密码算法推广采纳。而使用SM9算法,可有效解决一些热点领域的信息安全问题,完成信息系统的国密算法改造升级。如为移动支付提供方便安全的认证方式,为物联网提供物物认证和加密通讯的解决方案,为云存储、大数据等新兴应用提供基于策略加解密、分段加密、保留格式加密等解决方案。
除了SM9算法无证书机制签名密钥生成方法外,本实施例还包括:当系统获取到密钥安全系数降低消息时,所述发起方收到所述响应方发送的加密数据后使用工作密钥对加密数据进行解密,并对所述加密数据进行验证,在验证通过后给所述已知身份的用户和新加入的用户发送编码改变通知。
在所述响应方向所述发起方发送的响应请求消息中信息量不足时,所述响应方向所述发起方发送主密钥修改请求,并对所述系统参数M进行调整。
为了克服传统公开密码系统中证书控制带米的繁琐冗余,现在通信不再用证书管理公钥,而是十分直观地,就将接收方用户的标识,例如用户的证件号码、邮箱号、微信号等看做公钥,此时接收方的公钥由和其标识一一对应,用户自然就无需再向权威PKI询问公钥的有效性了。
采用对称机制则密钥协商不易,而PKI体系又存在管理复杂、性能较低等缺点。而若采纳IBC体系,则可在电子邮件多个方向大放异彩,如本地电子邮件收发程序,网络浏览器扩展,移动Email加密等。这些服务都只需要计算量很小的标识密钥控制中心就能产生和分发密钥对,也就省去了PKI体系中重量级的与证书相关的分发、保管和校验过程。
在本实施例中,响应方通过SM9加解密服务机进行密钥解密,所述SM9加解密服务机是专业为在SM9算法下运行的软件架构提供安全服务的机器,主要功能有系统参数的生成与安全保管、依用户请求生成私钥和安全信道下传递等。SM9签名验证服务机则是一种基于身份签名算法研发的电子签名和校验服务的硬件,用于通信网络中用户身份证明的确认性和抗否认性。
本实施例基于SM9实现密钥生成,无需申请数字证书、无需各类专用硬件介质,即可实现类似USB key认证的安全效果。SM9算法从传统PKI系统衍生而来,是一种新的利用椭圆曲线和双线性映射的公钥密码手段,解决的主要问题有身份校验、反拒绝、可延展性,秘密性等,为系统安全性介绍了另一种实现方案。SM9算法省略了证书的申请与校验,尤为适于各类大型互联网软件的安全保护。且本实施例可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。达到信息保密、身份确认、通信安全、信道控制等安全措施,并拥有采纳简单,管理简单的优势,大大方便了密码算法推广采纳。
本实施例不再需要证书的申请与验证,省去了证书的管理和维护成本,无需预先协商密码或者交换证书,可以大大减少传统证书体系中申请和验证环节,易于使用。相同的资源能提供更多的用户安全服务;发送消息不必验证对方公钥合法性,也不需要接收方提前申请私钥;与生俱来的身份访问控制性质,能实现多种策略。实现与PKI技术的融合使用,利用PKI技术的强身份认证和IBC技术简便易用的特点,实现优势互补、互惠互利。另外,IBC技术的特点也使得它特别适合于单位要和大量单位以外游离用户进行安全通信的情况。
本实施例中,用户的私钥是由多方联合生成,这样任何单独一个PKI就无法掌握用户的私钥,密钥托管问题就迎刃而解了。协商出的私钥也不能被密钥管理中心所知,只能由用户掌握。可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于SM9算法的签名密钥生成方法的基于SM9算法的签名密钥生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于SM9算法的签名密钥生成装置实施例中的具体限定可以参见上文中对于基于SM9算法的签名密钥生成方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种基于SM9算法的签名密钥生成装置,包括:接收模块410、获取模块420、发送模块430和相加模块440,其中:
接收模块410,用于接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
获取模块420,用于基于所述安全因子,从所述用户身份信息中获取系统参数;
发送模块430,用于发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
相加模块440,用于对所述多个私钥进行相加处理,得到签名密钥。
在一个实施例中,上述装置还包括封装模块,用于对各个所述私钥进行加密,生成多个密文;发送生成指令至所述多个密钥管理中心,使所述多个密钥管理中心生成多个随机数;通过各个所述随机数对各个所述密文进行混合处理,得到封装信息;当所述封装信息满足预设条件时,输出所述签名密钥。
在一个实施例中,上述装置还包括解析模块,用于对所述封装信息进行解析,得到所述封装信息中末尾附加有所述用户身份信息的字段;根据所述字段,获取所述发起终端的标识信息,并保存所述发起终端的标识信息。
在一个实施例中,上述装置还包括验证模块,用于对所述封装信息中的密文进行解密处理,以及对所述发起终端的标识信息进行解析,得到验签信息;通过所述验签信息,验证所述发起终端和所述公钥系统的身份。
在一个实施例中,上述发送模块430,还用于当向所述发起终端发送的相应请求消息中的信息量不足时,向所述发起终端发送主密钥修改请求,使所述发起终端对主密钥进行修改,以及,对所述系统参数进行调整。
在一个实施例中,主密钥为所述发起终端从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;基于所述用户身份信息的字节长度,从所述原有字段的数据中确定出的目标数据得到。
上述基于SM9算法的签名密钥生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图Y所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于SM9算法的签名密钥生成过程中的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于SM9算法的签名密钥生成方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于SM9算法的签名密钥生成方法,其特征在于,所述方法包括:
接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
基于所述安全因子,从所述用户身份信息中获取系统参数;
发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
对所述多个私钥进行相加处理,得到签名密钥。
2.根据权利要求1所述的方法,其特征在于,在对所述多个私钥进行相加处理,得到签名密钥之后,还包括:
对各个所述私钥进行加密,生成多个密文;
发送生成指令至所述多个密钥管理中心,使所述多个密钥管理中心生成多个随机数;
通过各个所述随机数对各个所述密文进行混合处理,得到封装信息;
当所述封装信息满足预设条件时,输出所述签名密钥。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述封装信息进行解析,得到所述封装信息中末尾附加有所述用户身份信息的字段;
根据所述字段,获取所述发起终端的标识信息,并保存所述发起终端的标识信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述封装信息中的密文进行解密处理,以及对所述发起终端的标识信息进行解析,得到验签信息;
通过所述验签信息,验证所述发起终端和所述公钥系统的身份。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当向所述发起终端发送的相应请求消息中的信息量不足时,向所述发起终端发送主密钥修改请求,使所述发起终端对主密钥进行修改,以及,对所述系统参数进行调整。
6.根据权利要求1所述的方法,其特征在于,所述主密钥为所述发起终端从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;基于所述用户身份信息的字节长度,从所述原有字段的数据中确定出的目标数据得到。
7.一种基于SM9算法的签名密钥生成装置,其特征在于,所述装置包括:
接收模块,用于接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
获取模块,用于基于所述安全因子,从所述用户身份信息中获取系统参数;
发送模块,用于发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
相加模块,用于对所述多个私钥进行相加处理,得到签名密钥。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111369716.5A CN114244502A (zh) | 2021-11-18 | 2021-11-18 | 基于sm9算法的签名密钥生成方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111369716.5A CN114244502A (zh) | 2021-11-18 | 2021-11-18 | 基于sm9算法的签名密钥生成方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114244502A true CN114244502A (zh) | 2022-03-25 |
Family
ID=80749939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111369716.5A Pending CN114244502A (zh) | 2021-11-18 | 2021-11-18 | 基于sm9算法的签名密钥生成方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244502A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065467A (zh) * | 2022-06-28 | 2022-09-16 | 天翼数字生活科技有限公司 | 一种智能设备的国密sm9标识公钥生成方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095771A1 (en) * | 2004-11-02 | 2006-05-04 | Guido Appenzeller | Security device for cryptographic communications |
CN111416714A (zh) * | 2020-04-08 | 2020-07-14 | 北京信安世纪科技股份有限公司 | 一种基于ssl协议实现sm9算法中标识交换的方法和系统 |
CN112887338A (zh) * | 2021-03-18 | 2021-06-01 | 南瑞集团有限公司 | 一种基于ibc标识密码的身份认证方法和系统 |
-
2021
- 2021-11-18 CN CN202111369716.5A patent/CN114244502A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095771A1 (en) * | 2004-11-02 | 2006-05-04 | Guido Appenzeller | Security device for cryptographic communications |
CN111416714A (zh) * | 2020-04-08 | 2020-07-14 | 北京信安世纪科技股份有限公司 | 一种基于ssl协议实现sm9算法中标识交换的方法和系统 |
CN112887338A (zh) * | 2021-03-18 | 2021-06-01 | 南瑞集团有限公司 | 一种基于ibc标识密码的身份认证方法和系统 |
Non-Patent Citations (1)
Title |
---|
胡杰: "SM9密钥管理机制研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 3, pages 3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065467A (zh) * | 2022-06-28 | 2022-09-16 | 天翼数字生活科技有限公司 | 一种智能设备的国密sm9标识公钥生成方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040045B (zh) | 一种基于密文策略属性基加密的云存储访问控制方法 | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
CN110855671B (zh) | 一种可信计算方法和系统 | |
CN112887338B (zh) | 一种基于ibc标识密码的身份认证方法和系统 | |
US7120797B2 (en) | Methods for authenticating potential members invited to join a group | |
JP2019533384A (ja) | データ伝送方法、装置およびシステム | |
CN113162752B (zh) | 基于混合同态加密的数据处理方法和装置 | |
CN109800588B (zh) | 条码动态加密方法及装置、条码动态解密方法及装置 | |
CN107425971B (zh) | 无证书的数据加/解密方法和装置、终端 | |
CN108696518B (zh) | 区块链上用户通信加密方法、装置、终端设备及存储介质 | |
CN111130777B (zh) | 一种用于短效证书的签发管理方法和系统 | |
CN112804217B (zh) | 一种基于区块链技术的存证方法和装置 | |
CN114036539A (zh) | 基于区块链的安全可审计物联网数据共享系统及方法 | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
WO2021082222A1 (zh) | 通信方法、存储方法、运算方法及装置 | |
CN116232639A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN114244502A (zh) | 基于sm9算法的签名密钥生成方法、装置和计算机设备 | |
CN116318696A (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
Yoon et al. | Security enhancement scheme for mobile device using H/W cryptographic module | |
CN116318784A (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
CN111460463A (zh) | 电子存证保存和公证方法、装置、设备及存储介质 | |
CN113132097B (zh) | 适合物联网的轻量级无证书跨域认证方法、系统及应用 | |
CN115051849A (zh) | 一种数字化司法存证方法、存证装置及可读存储介质 | |
CN114866244A (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
CN116318637A (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 |