CN117061127A - 数字签名的生成方法及***、装置、电子设备、存储介质 - Google Patents

数字签名的生成方法及***、装置、电子设备、存储介质 Download PDF

Info

Publication number
CN117061127A
CN117061127A CN202311270576.5A CN202311270576A CN117061127A CN 117061127 A CN117061127 A CN 117061127A CN 202311270576 A CN202311270576 A CN 202311270576A CN 117061127 A CN117061127 A CN 117061127A
Authority
CN
China
Prior art keywords
signature
encryption
information
digital
hash value
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
Application number
CN202311270576.5A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311270576.5A priority Critical patent/CN117061127A/zh
Publication of CN117061127A publication Critical patent/CN117061127A/zh
Pending legal-status Critical Current

Links

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/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/3236Cryptographic 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
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数字签名的生成方法及***、装置、电子设备、存储介质,涉及信息安全技术领域或其他相关领域,其中,该方法包括:接收签名请求方传输的待签名信息;基于预设散列算法对待签名信息进行散列计算,得到计算结果,计算结果包括:待签名信息的摘要散列值;向加密设备发送加密请求,并接收加密设备返回的签名信息,签名信息包括加密设备通过私钥进行非对称加密之后的摘要散列值,私钥预先保存在加密设备中,加密设备处于离线状态;基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。本发明解决了相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。

Description

数字签名的生成方法及***、装置、电子设备、存储介质
技术领域
本发明涉及信息安全技术领域以及其他技术领域,具体而言,涉及一种数字签名的生成方法及***、装置、电子设备、存储介质。
背景技术
目前,数字签名技术广泛应用于信息安全领域,用于验证文件来源和数据完整性。现有数字签名方案主要分为软证书方案与硬证书方案,其中,软证书方案不依赖特定硬件,一般将密钥与证书以文件形式合并保存,保存格式为PKCS12、JKS等,硬证书方案将密钥与证书存放在专用硬件中(常见为USB专用硬件),不能导出,在使用时需将专用硬件***计算机设备,配合计算机软件和驱动程序共同使用。
现有的数字签名方案在安全性和高并发性上存在一些明显的缺陷。
1,软证书的证书密钥仅做简单密码口令保护,无法防止攻击者对密码口令进行暴力破解;2,软证书文件支持导出复制,任何有权使用证书的人员均可私下导出证书并对任意文件进行签名,安全性得不到保障;3,硬证书的专用硬件配备的暴力破解防护方式一般为全局保护,例如,限制密码错误次数,超限后硬件证书锁定,无法防止攻击者恶意输入错误密码使得硬件证书作废,证书持有者重新制作硬件证书会付出相应时间成本和经济成本,甚至可能造成巨大损失;4,硬件证书不可导出复制,仅限在硬件证书接入的计算机设备上实施签名动作,为保障私钥安全性无法进行分布式部署,在应对大量高并发、大文件签名请求时,效率无法满足要求;5,在签名过程中需要连接Internet公网向CA提供的DTS服务获取时间戳签名,无法相对于公网进行网络隔离意味着无法防止来自公网的攻击者,存在一定安全性风险。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数字签名的生成方法及***、装置、电子设备、存储介质,以至少解决相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。
根据本发明实施例的一个方面,提供了一种数字签名的生成方法,应用于签名代理服务器,包括:接收签名请求方传输的待签名信息,其中,所述待签名信息是指需要进行数字签名的原始数据;基于预设散列算法对所述待签名信息进行散列计算,得到计算结果,其中,所述计算结果包括:该待签名信息的摘要散列值;向加密设备发送加密请求,并接收所述加密设备返回的签名信息,其中,所述加密请求中携带所述摘要散列值,所述签名信息包括经过非对称加密之后的所述摘要散列值,所述加密设备通过私钥对该摘要散列值进行非对称加密,所述私钥预先保存在所述加密设备中,所述加密设备处于离线状态;基于所述签名信息、时间戳签名以及数字证书生成数字签名,其中,所述数字证书预先保存在所述签名代理服务器中。
可选地,向加密设备发送加密请求,并接收所述加密设备返回的签名信息的步骤,包括:接收签名请求方传输的身份标识,其中,所述身份标识用于验证所述签名请求方是否可信;将所述摘要散列值和所述身份标识进行封装,得到所述加密请求;将所述加密请求发送至所述加密设备,其中,所述加密设备用于响应所述加密请求,基于所述身份标识对该加密请求进行鉴权,并基于所述私钥对所述摘要散列值进行非对称加密,得到所述签名信息;接收所述加密设备返回的所述签名信息。
可选地,在接收签名请求方传输的待签名信息之前,还包括:接收所述加密设备传输的公钥;将所述公钥和证书签发请求发送至证书颁发机构,并接收所述证书颁发机构返回的数字证书,其中,所述数字证书是指在所述证书颁发机构使用机构私钥对所述公钥进行签名之后生成的数据文件,所述数据文件中至少包含:所述签名请求方的名称、身份信息以及有效期,所述证书颁发机构是指通信双方均认可的第三方机构,所述通信双方包括所述签名请求方和数据接收方;保存所述数字证书。
可选地,在基于预设散列算法对所述待签名信息进行散列计算,得到计算结果之后,还包括:生成时间戳签发请求;将所述摘要散列值和所述时间戳签发请求发送至时间戳服务器,得到时间戳签名,其中,所述时间戳服务器用于响应所述时间戳签发请求,签发所述时间戳签名,所述时间戳签名中至少包含签发时间点。
可选地,基于所述签名信息、时间戳签名以及数字证书生成数字签名的步骤,包括:将所述签名信息和所述时间戳签名进行拼接,得到拼接字段;将所述拼接字段写入所述数字证书中待填写的扩展字段,得到所述数字签名。
可选地,在基于所述签名信息、时间戳签名以及数字证书生成数字签名之后,还包括:将所述数字签名和所述原始数据进行封装,得到待发送的签名数据包;将所述签名数据包发送至数据接收方。
根据本发明实施例的另一方面,还提供了一种数字签名的生成***,包括:加密设备,与每台签名代理服务器分别连接,用于预先生成与签名请求方对应的非对称加密密钥对,并通过私钥对接收到的摘要散列值进行非对称加密,生成签名信息,其中,该加密设备处于离线状态,所述非对称加密密钥对至少包括:公钥和私钥;负载均衡设备,用于基于预设负载均衡算法确定可用的签名代理服务器,并将签名请求方传输的待签名信息和身份标识发送至该台签名代理服务器;N台签名代理服务器,与所述负载均衡设备连接,用于执行上述任意一项所述的数字签名的生成方法,其中,N为正整数。
可选地,所述预设负载均衡算法选用下述任意一种:随机算法、轮询算法、加权轮询算法以及最小负载算法。
可选地,所述加密设备在通过私钥生成签名信息的过程中使用的子模块包括:接收子模块,用于接收所述签名代理服务器发送的加密请求,其中,所述加密请求中携带签名请求方的身份标识以及待签名信息对应的摘要散列值;读取子模块,用于读取所述加密请求,得到所述摘要散列值和所述身份标识;鉴权子模块,用于对所述身份标识进行鉴权,得到鉴权结果;加密子模块,用于在所述鉴权结果指示该身份标识指示的所述签名请求方可信的情况下,通过预先保存的所述私钥对所述摘要散列值进行非对称加密,得到所述签名信息;返回子模块,用于将所述签名信息返回至所述签名代理服务器。
根据本发明实施例的另一方面,还提供了一种数字签名的生成装置,包括:接收单元,用于接收签名请求方传输的待签名信息,其中,所述待签名信息是指需要进行数字签名的原始数据;计算单元,用于基于预设散列算法对所述待签名信息进行散列计算,得到计算结果,其中,所述计算结果包括:该待签名信息的摘要散列值;发送单元,用于向加密设备发送加密请求,并接收所述加密设备返回的签名信息,其中,所述加密请求中携带所述摘要散列值,所述签名信息包括经过非对称加密之后的所述摘要散列值,所述加密设备通过私钥对该摘要散列值进行非对称加密,所述私钥预先保存在所述加密设备中,所述加密设备处于离线状态;生成单元,用于基于所述签名信息、时间戳签名以及数字证书生成数字签名,其中,所述数字证书预先保存在签名代理服务器中。
可选地,所述发送单元包括:第一接收模块,用于接收签名请求方传输的身份标识,其中,所述身份标识用于验证所述签名请求方是否可信;第一封装模块,用于将所述摘要散列值和所述身份标识进行封装,得到所述加密请求;第一发送模块,用于将所述加密请求发送至所述加密设备,其中,所述加密设备用于响应所述加密请求,基于所述身份标识对该加密请求进行鉴权,并基于所述私钥对所述摘要散列值进行非对称加密,得到所述签名信息;第二接收模块,用于接收所述加密设备返回的所述签名信息。
可选地,所述数字签名的生成装置还包括:第三接收模块,用于接收所述加密设备传输的公钥;第二发送模块,用于将所述公钥和证书签发请求发送至证书颁发机构,并接收所述证书颁发机构返回的数字证书,其中,所述数字证书是指在所述证书颁发机构使用机构私钥对所述公钥进行签名之后生成的数据文件,所述数据文件中至少包含:所述签名请求方的名称、身份信息以及有效期,所述证书颁发机构是指通信双方均认可的第三方机构,所述通信双方包括所述签名请求方和数据接收方;保存模块,用于保存所述数字证书。
可选地,所述数字签名的生成装置还包括:生成模块,用于生成时间戳签发请求;第三发送模块,用于将所述摘要散列值和所述时间戳签发请求发送至时间戳服务器,得到时间戳签名,其中,所述时间戳服务器用于响应所述时间戳签发请求,签发所述时间戳签名,所述时间戳签名中至少包含签发时间点。
可选地,所述生成单元包括:拼接模块,用于将所述签名信息和所述时间戳签名进行拼接,得到拼接字段;写入模块,用于将所述拼接字段写入所述数字证书中待填写的扩展字段,得到所述数字签名。
可选地,所述数字签名的生成装置还包括:第二封装模块,用于将所述数字签名和所述原始数据进行封装,得到待发送的签名数据包;第四发送模块,用于将所述签名数据包发送至数据接收方。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的数字签名的生成方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项所述的数字签名的生成方法。
本公开中,提出一种数字签名的生成方法,先接收签名请求方传输的待签名信息,待签名信息是指需要进行数字签名的原始数据,再基于预设散列算法对待签名信息进行散列计算,得到计算结果,包括该待签名信息的摘要散列值,然后向加密设备发送携带摘要散列值的加密请求,并接收加密设备返回的包含经过非对称加密之后的摘要散列值的签名信息,其中,处于离线状态的加密设备通过预先保存在加密设备中的私钥对摘要散列值进行非对称加密,最后基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
本公开中,通过签名代理服务器运行预设散列算法,对待签名信息进行散列计算,得到与待签名的原始数据对应的摘要散列值,通过签名代理服务器还可以预先对数字证书进行分布式部署,每台签名代理服务器中都预先保存了与签名请求方对应的有效数字证书,在同一签名请求方提出大量签名请求的情况下可以确保高并发的分布式签名,再通过引入加密设备将私钥与公共网络进行隔离,运行非对称加密算法,使用预先保存的私钥对摘要散列值进行非对称加密,得到签名信息,在此过程中加密设备始终保持离线状态,可以有效避免来自公共网络的攻击情况,本公开提供的数字签名的生成方法利用签名代理和加密设备将散列算法与非对称加密算法进行分布式部署,通过加密设备将非对称加密步骤进行断网隔离,提升签名过程的安全性,通过分布式部署签名代理服务器保障签名请求的高并发性,解决了相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数字签名的生成方法的流程图;
图2是根据本发明实施例的一种可选的数字签名***的拓扑结构图;
图3是根据本发明实施例提供的一种可选的数字签名方法的流程图;
图4是根据本实施例的一种可选的数字签名的生成***的结构图;
图5是根据本发明实施例的一种可选的数字签名的生成装置的示意图;
图6是根据本发明实施例的一种用于数字签名的生成方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
数字签名,将一段信息经散列函数运算生成摘要信息后,应用非对称加密算法,使用签名请求方的私钥对摘要信息进行加密(或称签名)得到签名信息,并将签名信息和数字证书一并附加到信息中,供数据接收方进行检验。
CA,Certificate Authority,证书颁发者,负责颁发数字证书,一般为通信双方均认可的可信第三方。
DTS,Digital Timestamp Service,数字时间戳服务,由CA提供,用于为一段消息打上可信的时间戳,防止时间因素抵赖。
Hash Algorithm,散列算法,一种将任意长度的数据映射为固定长度哈希值(散列值)的算法,通过对输入数据进行计算,生成唯一表示该数据的固定长度哈希值。
需要说明的是,本公开中的数字签名的生成方法及其装置可用于信息安全技术领域在对签名请求方传输的原始数据生成数字签名的情况下,也可用于除信息安全技术领域之外的任何领域在对签名请求方传输的原始数据生成数字签名的情况下,本公开中对数字签名的生成方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关地区的法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。例如,本***和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
本发明下述各实施例可应用于各种需要对签名请求方传输的原始数据生成数字签名的***/应用/设备中,能够利用签名代理和加密设备将散列算法与非对称加密算法进行分布式部署,通过加密设备将非对称加密步骤进行断网隔离,保障签名过程的安全性,通过分布式部署签名代理服务器保障签名请求的高并发性。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种数字签名的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的数字签名的生成方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收签名请求方传输的待签名信息,其中,待签名信息是指需要进行数字签名的原始数据。
步骤S102,基于预设散列算法对待签名信息进行散列计算,得到计算结果,其中,计算结果包括:该待签名信息的摘要散列值。
步骤S103,向加密设备发送加密请求,并接收加密设备返回的签名信息,其中,加密请求中携带摘要散列值,签名信息包括经过非对称加密之后的摘要散列值,加密设备通过私钥对该摘要散列值进行非对称加密,私钥预先保存在加密设备中,加密设备处于离线状态。
步骤S104,基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
通过上述步骤,可以先接收签名请求方传输的待签名信息,待签名信息是指需要进行数字签名的原始数据,再基于预设散列算法对待签名信息进行散列计算,得到计算结果,包括该待签名信息的摘要散列值,然后向加密设备发送携带摘要散列值的加密请求,并接收加密设备返回的包含经过非对称加密之后的摘要散列值的签名信息,其中,处于离线状态的加密设备通过预先保存在加密设备中的私钥对摘要散列值进行非对称加密,最后基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
本发明实施例中,通过签名代理服务器运行预设散列算法,对待签名信息进行散列计算,得到与待签名的原始数据对应的摘要散列值,通过签名代理服务器还可以预先对数字证书进行分布式部署,每台签名代理服务器中都预先保存了与签名请求方对应的有效数字证书,在同一签名请求方提出大量签名请求的情况下可以确保高并发的分布式签名,再通过引入加密设备将私钥与公共网络进行隔离,运行非对称加密算法,使用预先保存的私钥对摘要散列值进行非对称加密,得到签名信息,在此过程中加密设备始终保持离线状态,可以有效避免来自公共网络的攻击情况,本发明实施例提供的数字签名的生成方法利用签名代理和加密设备将散列算法与非对称加密算法进行分布式部署,通过加密设备将非对称加密步骤进行断网隔离,提升签名过程的安全性,通过分布式部署签名代理服务器保障签名请求的高并发性,解决了相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。
本发明实施例的实施主体可以是签名代理服务器,该签名代理服务器与加密设备连接,可以通过API接口与加密设备进行信息交换,需要说明的是,签名代理服务器与互联网直接连接,承担数字证书申请以及散列计算的功能,加密设备则不与互联网连接,始终处于离线状态。
步骤S101,接收签名请求方传输的待签名信息,其中,待签名信息是指需要进行数字签名的原始数据。
需要说明的是,待签名信息包括但不限于以下几种:1,文本消息,例如,电子文档、电子邮件或电子合同等;2,文件或数据块,例如,图片、音频、视频或压缩包等。数字签名的目的是确保原始数据的完整性、真实性和有效性,以及验证原始数据是否被篡改。
可选地,在执行步骤S101之前,还包括:接收加密设备传输的公钥;将公钥和证书签发请求发送至证书颁发机构,并接收证书颁发机构返回的数字证书,其中,数字证书是指在证书颁发机构使用机构私钥对公钥进行签名之后生成的数据文件,数据文件中至少包含:签名请求方的名称、身份信息以及有效期,证书颁发机构是指通信双方均认可的第三方机构,通信双方包括签名请求方和数据接收方;保存数字证书。
需要说明的是,加密设备根据签名请求方的身份信息生成非对称加密密钥对,该非对称加密密钥对包含:公钥和私钥,其中,私钥保留在加密设备中,将公钥传输至签名代理服务器用于申请数字证书。
需要说明的是,证书签发请求中至少包含:签名请求方的身份信息、组织名称以及域名,签名代理服务器将公钥和证书签发请求发送至证书颁发结构(即CA,CertificateAuthority),CA会验证签名请求方的身份信息真实性,验证通过后使用机构私钥对接收到的公钥和其他信息进行加密运算(即,签名),生成数字证书,并将生成的数字证书返回至签名代理服务器。另外,签名请求方在使用数字证书中的公钥加密数据或生成数字签名时,可以使用自己的公钥验证该数字证书的有效性。
步骤S102,基于预设散列算法对待签名信息进行散列计算,得到计算结果,其中,计算结果包括:该待签名信息的摘要散列值。
需要说明的是,预设散列算法可以选用下述任意一种:1,MD5(Message DigestAlgorithm 5),生成128位的二进制哈希值;2,SHA-1(Secure Hash Algorithm 1),生成160位的二进制哈希值;3,SHA-256(Secure Hash Algorithm 256-bit),生成256位的二进制哈希值;4,SHA-3(Secure Hash Algorithm 3),生成可变长度的二进制哈希值。本发明实施例中,为改善计算性能以及确保摘要散列值的可读性,将生成的二进制散列值转换为16进制形式。
可选地,在执行步骤S102之后,还包括:生成时间戳签发请求;将摘要散列值和时间戳签发请求发送至时间戳服务器,得到时间戳签名,其中,时间戳服务器用于响应时间戳签发请求,签发时间戳签名,时间戳签名中至少包含签发时间点。
需要说明的是,时间戳签名是实时获取的,在获取时应确保时间戳服务器与签名代理服务器的时间同步性,时间戳签名的作用是确保待签名信息在签发时间点以及签发时间点以前的内容有效性,相当于在签名过程中将待签名信息与签发时间点进行绑定,防止原始数据被篡改。
步骤S103,向加密设备发送加密请求,并接收加密设备返回的签名信息,其中,加密请求中携带摘要散列值,签名信息包括经过非对称加密之后的摘要散列值,加密设备通过私钥对该摘要散列值进行非对称加密,私钥预先保存在加密设备中,加密设备处于离线状态。
需要说明的是,非对称加密是一种使用不同的密钥进行加密和解密的加密算法,使用的不同密钥叫做非对称加密密钥对,包括:公钥和私钥,公钥可以自由分发给其他人用于验证信息,而私钥用于加密信息,任何情况下都不应该被泄露。
可选地,步骤S103包括:接收签名请求方传输的身份标识,其中,身份标识用于验证签名请求方是否可信;将摘要散列值和身份标识进行封装,得到加密请求;将加密请求发送至加密设备,其中,加密设备用于响应加密请求,基于身份标识对该加密请求进行鉴权,并基于私钥对摘要散列值进行非对称加密,得到签名信息;接收加密设备返回的签名信息。
需要说明的是,鉴权是指加密设备基于身份标识确定该身份标识指示的签名请求方是否与私钥所指示的相同,即,判断该签名请求方的身份是否可信,在鉴权通过的情况下可以启用私钥对加密请求中携带的摘要散列值进行签名,在鉴权不通过的情况下将加密请求原路退回,并通知签名代理服务器签名失败。
步骤S104,基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
可选地,步骤S104包括:将签名信息和时间戳签名进行拼接,得到拼接字段;将拼接字段写入数字证书中待填写的扩展字段,得到数字签名。
可选地,在执行步骤S104之后,还包括:将数字签名和原始数据进行封装,得到待发送的签名数据包;将签名数据包发送至数据接收方。
需要说明的是,数据请求方在接收到签名数据包之后,可以使用手中预先持有的签名请求方的公钥对签名数据包中的数字签名进行解密,得到解密哈希值,并对接收到的原始数据进行哈希值计算,得到的新哈希值,在解密哈希值与自行计算得到的新哈希值相等的情况下,说明签名数据包中的数字签名有效,签名数据包中的原始数据可以信任。
本发明实施例中,将数字证书与密钥拆分部署在签名代理服务器和加密设备之后,散列计算步骤与非对称加密步骤也随之被拆分部署,计算密集型的散列计算操作通过分布式***得到了计算性能的提升,而加密设备仅承担对散列值的非对称加密计算,16进制的散列值通常占用极小的空间,加密设备也可承担较高并发。
本发明实施例中,由于私钥部署在加密设备中,而加密设备并未直接与互联网公网连通,存在网络隔离,确保了私钥不可被非法复制,确保了私钥安全性,还通过鉴权服务对签名请求进行校验,可以防止非法用户对签名服务的非授权访问、暴力破解等恶意攻击,安全性更高。
本发明实施例中,签名代理服务器在前端可利用网络防火墙、IDS(入侵检测***)、IPS(入侵防御***)、WAF(Web应用防火墙)等安全技术进行防护和入侵检测,同时可应用限流、熔断等应用层手段,防止恶意攻击。
本发明实施例中,签名代理服务器和加密设备还可以对每次签名操作进行日志记录,并输出至日志记录器,方便事后进行审计。
下面结合另一种具体的实施方式来说明本发明。
图2是根据本发明实施例的一种可选的数字签名***的拓扑结构图,如图2所示,该***进行数字签名的过程包括:1,将待签名信息传输至负载均衡设备;2,负载均衡设备将待签名信息分发至可用的签名代理进行运算,其中,该***中包含3台签名代理,负载均衡设备与每台签名代理相连,每台签名代理上都预先部署了不含私钥的数字证书;3,签名代理将运算后的待签名信息发送至加密设备进行加密,其中,该***中包含1台加密设备,每台签名代理都与加密设备相连,该加密设备中保存了私钥,对签名请求方提供的待签名信息提供鉴权服务。
图3是根据本发明实施例提供的一种可选的数字签名方法的流程图,如图3所示,该签名方法包括如下步骤:
步骤S301,签名请求方将待签名信息通过负载均衡设备分发至可用的一台签名代理,由签名代理对信息进行散列运算,得到原始信息的散列摘要值。
步骤S302,签名代理将散列摘要值同签名请求方的身份信息一起上送给加密设备。
加密设备对加密请求进行鉴权,确认为合法操作后,对待签名的散列摘要值使用私钥进行签名,并将签名信息返回给签名代理,其中,鉴权服务可选用的技术手段包括但不限于:简单口令认证。
需要说明的是,加密设备负责生成并保存非对称加密私钥,以及使用私钥进行数字签名中的非对称加密动作。该加密设备可以为硬件加密机,也可以为通用设备上安装的具备密钥生成能力的软件,但是私钥的裸密钥不可从该加密设备中导出,或将私钥裸密钥存放入专用设备中(类似USB证书设备)以确保私钥受到技术手段保护,不可随意复制,公钥则提供给运维人员,用于向CA申请证书。
步骤S303,签名代理将散列摘要值通过公网发送给CA提供的DTS服务,并获取可信时间戳信息。
步骤S304,签名代理将签名信息和时间戳信息连同数字证书一起附加进原始信息中,完成对信息的数字签名。
本发明实施例中,将数字证书与密钥拆分部署在签名代理服务器和加密设备之后,散列计算步骤与非对称加密步骤也随之被拆分部署,计算密集型的散列计算操作通过分布式***得到了计算性能的提升,而加密设备仅承担对散列值的非对称加密计算,16进制的散列值通常占用极小的空间,加密设备也可承担较高并发。
本发明实施例中,由于私钥部署在加密设备中,而加密设备并未直接与Internet公网连通,存在网络隔离,确保了私钥不可被非法复制,确保了私钥安全性,还通过鉴权服务对签名请求进行校验,可以防止非法用户对签名服务的非授权访问、暴力破解等恶意攻击,安全性更高。
本发明实施例中,签名代理服务器在前端可利用网络防火墙、IDS(入侵检测***)、IPS(入侵防御***)、WAF(Web应用防火墙)等安全技术进行防护和入侵检测,同时可应用限流、熔断等应用层手段,防止恶意攻击。
本发明实施例中,签名代理服务器和加密设备还可以对每次签名操作进行日志记录,并输出至日志记录器,方便事后进行审计。
下面结合另一种可选的实施例来说明本发明。
实施例二
图4是根据本实施例的一种可选的数字签名的生成***的结构图,如图4所示,该生成***可以包括:
加密设备41,与每台签名代理服务器分别连接,用于预先生成与签名请求方对应的非对称加密密钥对,并通过私钥对接收到的摘要散列值进行非对称加密,生成签名信息,其中,该加密设备处于离线状态,非对称加密密钥对至少包括:公钥和私钥。
负载均衡设备42,用于基于预设负载均衡算法确定可用的签名代理服务器,并将签名请求方传输的待签名信息和身份标识发送至该台签名代理服务器。
N台签名代理服务器(图4中以431、432、...、43N示意),与负载均衡设备连接,用于执行实施例1中各个实施步骤,其中,N为正整数。
其中,每台签名代理服务器执行的实施步骤至少包括:
步骤S101,接收签名请求方传输的待签名信息,其中,待签名信息是指需要进行数字签名的原始数据。
步骤S102,基于预设散列算法对待签名信息进行散列计算,得到计算结果,其中,计算结果包括:该待签名信息的摘要散列值。
步骤S103,向加密设备发送加密请求,并接收加密设备返回的签名信息,其中,加密请求中携带摘要散列值,签名信息包括经过非对称加密之后的摘要散列值,加密设备通过私钥对该摘要散列值进行非对称加密,私钥预先保存在加密设备中,加密设备处于离线状态。
步骤S104,基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
本发明实施例中,通过加密设备预先生成非对称加密密钥对,将密钥对中的私钥与公共网络进行隔离,并运行非对称加密算法,使用私钥对摘要散列值进行非对称加密,得到签名信息,在此过程中加密设备始终保持离线状态,可以有效避免来自公共网络的攻击情况,通过签名代理服务器使用密钥对中的公钥申请有效数字证书,并将该数字证书进行分布式部署,在签名请求方提出签名请求时,运行预设散列算法,对待签名信息进行散列计算,得到与待签名的原始数据对应的摘要散列值,通过负载均衡设备在同一签名请求方提出大量签名请求的情况下,对生成***中的N台分布式签名代理服务器进行负载计算,确定可用服务器,确保高并发的分布式签名,本发明实施例提供的数字签名的生成***利用签名代理和加密设备将散列算法与非对称加密算法进行分布式部署,通过加密设备将非对称加密步骤进行断网隔离,提升签名过程的安全性,通过分布式部署的N台签名代理服务器和负载均衡设备保障签名请求的高并发性,解决了相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。
可选地,预设负载均衡算法选用下述任意一种:随机算法、轮询算法、加权轮询算法以及最小负载算法。
需要说明的是,采用预设负载均衡算法确定可用的签名代理服务器的作用是确保在签名请求过程中,选择一个可用且性能良好的签名代理服务器来执行签名操作,避免单点故障,提高运行性能和扩展性。
可选地,加密设备在通过私钥生成签名信息的过程中使用的子模块包括:接收子模块,用于接收签名代理服务器发送的加密请求,其中,加密请求中携带签名请求方的身份标识以及待签名信息对应的摘要散列值;读取子模块,用于读取加密请求,得到摘要散列值和身份标识;鉴权子模块,用于对身份标识进行鉴权,得到鉴权结果;加密子模块,用于在鉴权结果指示该身份标识指示的签名请求方可信的情况下,通过预先保存的私钥对摘要散列值进行非对称加密,得到签名信息;返回子模块,用于将签名信息返回至签名代理服务器。
需要说明的是,加密设备负责生成并保存非对称加密私钥,以及使用私钥进行数字签名中的非对称加密动作。该加密设备可以为硬件加密机,也可以为通用设备上安装的具备密钥生成能力的软件,但是私钥的裸密钥不可从该加密设备中导出,或将私钥裸密钥存放入专用设备中(类似USB证书设备)以确保私钥受到技术手段保护,不可随意复制,公钥则提供给运维人员,用于向CA申请证书。
本发明实施例中,将数字证书与密钥拆分部署在签名代理服务器和加密设备之后,散列计算步骤与非对称加密步骤也随之被拆分部署,计算密集型的散列计算操作通过分布式***得到了计算性能的提升,而加密设备仅承担对散列值的非对称加密计算,16进制的散列值通常占用极小的空间,加密设备也可承担较高并发。
本发明实施例中,由于私钥部署在加密设备中,而加密设备并未直接与Internet公网连通,存在网络隔离,确保了私钥不可被非法复制,确保了私钥安全性,还通过鉴权服务对签名请求进行校验,可以防止非法用户对签名服务的非授权访问、暴力破解等恶意攻击,安全性更高。
下面结合另一种可选的实施例来说明本发明。
实施例三
本实施例中提供的一种数字签名的生成装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图5是根据本发明实施例的一种可选的数字签名的生成装置的示意图,如图5所示,该装置可以包括:接收单元51,计算单元52,发送单元53,生成单元54。
其中,接收单元51,用于接收签名请求方传输的待签名信息,其中,待签名信息是指需要进行数字签名的原始数据。
计算单元52,用于基于预设散列算法对待签名信息进行散列计算,得到计算结果,其中,计算结果包括:该待签名信息的摘要散列值。
发送单元53,用于向加密设备发送加密请求,并接收加密设备返回的签名信息,其中,加密请求中携带摘要散列值,签名信息包括经过非对称加密之后的摘要散列值,加密设备通过私钥对该摘要散列值进行非对称加密,私钥预先保存在加密设备中,加密设备处于离线状态。
生成单元54,用于基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
上述数字签名的生成装置,可以先通过接收单元51接收签名请求方传输的待签名信息,待签名信息是指需要进行数字签名的原始数据,再通过计算单元52基于预设散列算法对待签名信息进行散列计算,得到计算结果,包括该待签名信息的摘要散列值,然后通过发送单元53向加密设备发送携带摘要散列值的加密请求,并接收加密设备返回的包含经过非对称加密之后的摘要散列值的签名信息,其中,处于离线状态的加密设备通过预先保存在加密设备中的私钥对摘要散列值进行非对称加密,最后通过生成单元54基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
在本发明实施例中,通过签名代理服务器运行预设散列算法,对待签名信息进行散列计算,得到与待签名的原始数据对应的摘要散列值,通过签名代理服务器还可以预先对数字证书进行分布式部署,每台签名代理服务器中都预先保存了与签名请求方对应的有效数字证书,在同一签名请求方提出大量签名请求的情况下可以确保高并发的分布式签名,再通过引入加密设备将私钥与公共网络进行隔离,运行非对称加密算法,使用预先保存的私钥对摘要散列值进行非对称加密,得到签名信息,在此过程中加密设备始终保持离线状态,可以有效避免来自公共网络的攻击情况,本发明实施例利用签名代理和加密设备将散列算法与非对称加密算法进行分布式部署,通过加密设备将非对称加密步骤进行断网隔离,提升签名过程的安全性,通过分布式部署签名代理服务器保障签名请求的高并发性,解决了相关技术中签名方案无法兼顾数字签名过程安全性和高并发性的技术问题。
可选地,发送单元包括:第一接收模块,用于接收签名请求方传输的身份标识,其中,身份标识用于验证签名请求方是否可信;第一封装模块,用于将摘要散列值和身份标识进行封装,得到加密请求;第一发送模块,用于将加密请求发送至加密设备,其中,加密设备用于响应加密请求,基于身份标识对该加密请求进行鉴权,并基于私钥对摘要散列值进行非对称加密,得到签名信息;第二接收模块,用于接收加密设备返回的签名信息。
可选地,数字签名的生成装置还包括:第三接收模块,用于接收加密设备传输的公钥;第二发送模块,用于将公钥和证书签发请求发送至证书颁发机构,并接收证书颁发机构返回的数字证书,其中,数字证书是指在证书颁发机构使用机构私钥对公钥进行签名之后生成的数据文件,数据文件中至少包含:签名请求方的名称、身份信息以及有效期,证书颁发机构是指通信双方均认可的第三方机构,通信双方包括签名请求方和数据接收方;保存模块,用于保存数字证书。
可选地,数字签名的生成装置还包括:生成模块,用于生成时间戳签发请求;第三发送模块,用于将摘要散列值和时间戳签发请求发送至时间戳服务器,得到时间戳签名,其中,时间戳服务器用于响应时间戳签发请求,签发时间戳签名,时间戳签名中至少包含签发时间点。
可选地,生成单元包括:拼接模块,用于将签名信息和时间戳签名进行拼接,得到拼接字段;写入模块,用于将拼接字段写入数字证书中待填写的扩展字段,得到数字签名。
可选地,数字签名的生成装置还包括:第二封装模块,用于将数字签名和原始数据进行封装,得到待发送的签名数据包;第四发送模块,用于将签名数据包发送至数据接收方。
上述的数字签名的生成装置还可以包括处理器和存储器,上述接收单元51,计算单元52,发送单元53,生成单元54等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于签名信息、时间戳签名以及数字证书生成数字签名。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收签名请求方传输的待签名信息,其中,待签名信息是指需要进行数字签名的原始数据;基于预设散列算法对待签名信息进行散列计算,得到计算结果,其中,计算结果包括:该待签名信息的摘要散列值;向加密设备发送加密请求,并接收加密设备返回的签名信息,其中,加密请求中携带摘要散列值,签名信息包括经过非对称加密之后的摘要散列值,加密设备通过私钥对该摘要散列值进行非对称加密,私钥预先保存在加密设备中,加密设备处于离线状态;基于签名信息、时间戳签名以及数字证书生成数字签名,其中,数字证书预先保存在签名代理服务器中。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的数字签名的生成方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项的数字签名的生成方法。
图6是根据本发明实施例的一种用于数字签名的生成方法的电子设备(或移动设备)的硬件结构框图。如图6所示,电子设备可以包括一个或多个(图6中采用602a、602b,……,602n来示出)处理器602(处理器602可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器604。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种数字签名的生成方法,其特征在于,应用于签名代理服务器,包括:
接收签名请求方传输的待签名信息,其中,所述待签名信息是指需要进行数字签名的原始数据;
基于预设散列算法对所述待签名信息进行散列计算,得到计算结果,其中,所述计算结果包括:该待签名信息的摘要散列值;
向加密设备发送加密请求,并接收所述加密设备返回的签名信息,其中,所述加密请求中携带所述摘要散列值,所述签名信息包括经过非对称加密之后的所述摘要散列值,所述加密设备通过私钥对该摘要散列值进行非对称加密,所述私钥预先保存在所述加密设备中,所述加密设备处于离线状态;
基于所述签名信息、时间戳签名以及数字证书生成数字签名,其中,所述数字证书预先保存在所述签名代理服务器中。
2.根据权利要求1所述的生成方法,其特征在于,向加密设备发送加密请求,并接收所述加密设备返回的签名信息的步骤,包括:
接收签名请求方传输的身份标识,其中,所述身份标识用于验证所述签名请求方是否可信;
将所述摘要散列值和所述身份标识进行封装,得到所述加密请求;
将所述加密请求发送至所述加密设备,其中,所述加密设备用于响应所述加密请求,基于所述身份标识对该加密请求进行鉴权,并基于所述私钥对所述摘要散列值进行非对称加密,得到所述签名信息;
接收所述加密设备返回的所述签名信息。
3.根据权利要求1所述的生成方法,其特征在于,在接收签名请求方传输的待签名信息之前,还包括:
接收所述加密设备传输的公钥;
将所述公钥和证书签发请求发送至证书颁发机构,并接收所述证书颁发机构返回的数字证书,其中,所述数字证书是指在所述证书颁发机构使用机构私钥对所述公钥进行签名之后生成的数据文件,所述数据文件中至少包含:所述签名请求方的名称、身份信息以及有效期,所述证书颁发机构是指通信双方均认可的第三方机构,所述通信双方包括所述签名请求方和数据接收方;
保存所述数字证书。
4.根据权利要求1所述的生成方法,其特征在于,在基于预设散列算法对所述待签名信息进行散列计算,得到计算结果之后,还包括:
生成时间戳签发请求;
将所述摘要散列值和所述时间戳签发请求发送至时间戳服务器,得到时间戳签名,其中,所述时间戳服务器用于响应所述时间戳签发请求,签发所述时间戳签名,所述时间戳签名中至少包含签发时间点。
5.根据权利要求4所述的生成方法,其特征在于,基于所述签名信息、时间戳签名以及数字证书生成数字签名的步骤,包括:
将所述签名信息和所述时间戳签名进行拼接,得到拼接字段;
将所述拼接字段写入所述数字证书中待填写的扩展字段,得到所述数字签名。
6.根据权利要求1所述的生成方法,其特征在于,在基于所述签名信息、时间戳签名以及数字证书生成数字签名之后,还包括:
将所述数字签名和所述原始数据进行封装,得到待发送的签名数据包;
将所述签名数据包发送至数据接收方。
7.一种数字签名的生成***,其特征在于,包括:
加密设备,与每台签名代理服务器分别连接,用于预先生成与签名请求方对应的非对称加密密钥对,并通过私钥对接收到的摘要散列值进行非对称加密,生成签名信息,其中,该加密设备处于离线状态,所述非对称加密密钥对至少包括:公钥和私钥;
负载均衡设备,用于基于预设负载均衡算法确定可用的签名代理服务器,并将签名请求方传输的待签名信息和身份标识发送至该台签名代理服务器;
N台签名代理服务器,与所述负载均衡设备连接,用于执行权利要求1至6中任意一项所述的数字签名的生成方法,其中,N为正整数。
8.根据权利要求7所述的生成***,其特征在于,所述预设负载均衡算法选用下述任意一种:随机算法、轮询算法、加权轮询算法以及最小负载算法。
9.根据权利要求7所述的生成***,其特征在于,所述加密设备在通过私钥生成签名信息的过程中使用的子模块包括:
接收子模块,用于接收所述签名代理服务器发送的加密请求,其中,所述加密请求中携带签名请求方的身份标识以及待签名信息对应的摘要散列值;
读取子模块,用于读取所述加密请求,得到所述摘要散列值和所述身份标识;
鉴权子模块,用于对所述身份标识进行鉴权,得到鉴权结果;
加密子模块,用于在所述鉴权结果指示该身份标识指示的所述签名请求方可信的情况下,通过预先保存的所述私钥对所述摘要散列值进行非对称加密,得到所述签名信息;
返回子模块,用于将所述签名信息返回至所述签名代理服务器。
10.一种数字签名的生成装置,其特征在于,包括:
接收单元,用于接收签名请求方传输的待签名信息,其中,所述待签名信息是指需要进行数字签名的原始数据;
计算单元,用于基于预设散列算法对所述待签名信息进行散列计算,得到计算结果,其中,所述计算结果包括:该待签名信息的摘要散列值;
发送单元,用于向加密设备发送加密请求,并接收所述加密设备返回的签名信息,其中,所述加密请求中携带所述摘要散列值,所述签名信息包括经过非对称加密之后的所述摘要散列值,所述加密设备通过私钥对该摘要散列值进行非对称加密,所述私钥预先保存在所述加密设备中,所述加密设备处于离线状态;
生成单元,用于基于所述签名信息、时间戳签名以及数字证书生成数字签名,其中,所述数字证书预先保存在签名代理服务器中。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的数字签名的生成方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任意一项所述的数字签名的生成方法。
CN202311270576.5A 2023-09-27 2023-09-27 数字签名的生成方法及***、装置、电子设备、存储介质 Pending CN117061127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311270576.5A CN117061127A (zh) 2023-09-27 2023-09-27 数字签名的生成方法及***、装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311270576.5A CN117061127A (zh) 2023-09-27 2023-09-27 数字签名的生成方法及***、装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN117061127A true CN117061127A (zh) 2023-11-14

Family

ID=88662879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311270576.5A Pending CN117061127A (zh) 2023-09-27 2023-09-27 数字签名的生成方法及***、装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN117061127A (zh)

Similar Documents

Publication Publication Date Title
AU2019204708B2 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN110998581B (zh) 使用多重密钥对签名的程序执行和数据证明方案
JP6370722B2 (ja) データセンタへのプラットフォームの内包検証
CN105721500B (zh) 一种基于TPM的Modbus/TCP协议的安全增强方法
EP2548353B1 (en) Devices and method of enforcing a computer policy
CN102577229B (zh) 在一个往返行程中的密钥认证
CN107742212B (zh) 基于区块链的资产验证方法、装置及***
US20090271618A1 (en) Attestation of computing platforms
JPH11122240A (ja) 復号装置および方法ならびにアクセス資格認証装置および方法
CN109831311B (zh) 一种服务器验证方法、***、用户终端及可读存储介质
US20160182230A1 (en) Secure token-based signature schemes using look-up tables
CN113872932B (zh) 基于sgx的微服务间接口鉴权方法、***、终端及存储介质
CN110020869B (zh) 用于生成区块链授权信息的方法、装置及***
CN109905384B (zh) 数据迁移方法及***
KR20170019308A (ko) 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법
US8346742B1 (en) Remote verification of file protections for cloud data storage
US7574607B1 (en) Secure pipeline processing
CN111314059B (zh) 账户权限代理的处理方法、装置、设备及可读存储介质
CN115550060B (zh) 基于区块链的可信证书验证方法、装置、设备和介质
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
KR20140071775A (ko) 암호키 관리 시스템 및 방법
CN108242997B (zh) 安全通信的方法与设备
CN113285934B (zh) 基于数字签名的服务器密码机客户端ip检测方法及装置
CN114553557A (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