CN114499871B - 一种签名加密方法、装置、系统及计算机可读存储介质 - Google Patents

一种签名加密方法、装置、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN114499871B
CN114499871B CN202111594375.1A CN202111594375A CN114499871B CN 114499871 B CN114499871 B CN 114499871B CN 202111594375 A CN202111594375 A CN 202111594375A CN 114499871 B CN114499871 B CN 114499871B
Authority
CN
China
Prior art keywords
private key
key
ciphertext
server
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.)
Active
Application number
CN202111594375.1A
Other languages
English (en)
Other versions
CN114499871A (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.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
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 Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN202111594375.1A priority Critical patent/CN114499871B/zh
Publication of CN114499871A publication Critical patent/CN114499871A/zh
Application granted granted Critical
Publication of CN114499871B publication Critical patent/CN114499871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

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

一种签名加密方法、装置、系统及计算机可读存储介质
技术领域
本发明实施例涉及电子签名技术领域,特别是涉及一种签名加密方法、装置、系统及计算机可读存储介质。
背景技术
现有技术中的签名应用中,用户的私钥一般通过两种方式进行存储,一种是私钥存储在UKEY(智能密码钥匙)中,另一种是私钥存在服务端密码设备。
针对签名私钥是存储于UKey中的情况,执行签名操作时是由用户在终端使用UKey完成签名运算。在有些签名场景中,如签章应用,在当前的应用模式中,一个电子印章制作出来后,通常是签章签名私钥存储在UKey中,签章时插入该UKey,在终端完成数字签名运算,也就是用户只有在拿到了物理的UKey后才能在PC终端上执行签章签名操作;但在实际的业务场景中,根据业务的需要,通常是需要随时随地使用印章进行签章业务,可能需要在PC终端上使用,也可能需要在移动终端上使用,导致在传统模式中因物理UKey的限制,无法实现在PC终端、移动终端上随时随地使用电子印章,同时,也无法在用户没有物理密码设备的场景下安全使用。
针对私钥存在服务端密码设备的情况,私钥存在服务端密码设备中,可以解决私钥的使用场景问题,可以通过调用服务端密码设备实现在不同场景下使用,但是在安全性上存在缺陷,由于密码设备在生成私钥后会向用户返回一个密码机口令,用户通过该密码机口令就能够调用密码设备中的私钥,也就是谁能调用存储私钥的密码设备,谁就能使用里面的私钥进行签名,又由于密码机口令由管理员进行管理,因此在安全上存在有巨大风险。
鉴于此,如何提供一种安全性更高的签名加密方法、装置、系统及计算机可读存储介质成为本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种签名加密方法、装置、系统及计算机可读存储介质,在使用过程中便于在多种场景下使用,且能够提高私钥的使用安全,提高签名加密的安全性。
为解决上述技术问题,本发明实施例提供了一种签名加密方法,应用于客户端,该方法包括:
发送获取私钥请求至服务端,以便所述服务端依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;所述私钥密文为所述服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
接收所述服务端发送的所述目标私钥密文,并采用用户输入的加密口令对所述目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值;
接收所述服务端返回的签名值。
可选的,在所述接收所述服务端发送的所述目标私钥密文的同时,还包括:
接收所述服务端发送的临时会话密钥;
则,所述采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文的过程为:
依次采用所述临时会话密钥和服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
则,所述将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值的过程为:
将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端依次采用服务端私钥、所述临时会话密钥和所述密码设备中的密钥加密密钥对所述最终目标私钥密文进行解密,得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值。
可选的,所述获取私钥请求包括密钥标识码,以便所述服务端依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文。
可选的,还包括:
接收用户输入的创建申请,所述创建申请包括加密口令,并采用所述服务端公钥对所述加密口令进行加密,得到服务端公钥加密口令密文;
将所述服务端公钥加密口令密文发送至所述服务端,以便所述服务端依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文,依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所产生的密钥对中的私钥数据进行加密得到私钥密文,将所述私钥密文及对应的密钥标识码对应存储至数据库中;
接收所述服务端返回的所述密钥标识码,并将所述密钥标识码显示给用户。
可选的,还包括:
预先设置所述客户端与所述服务端之间的鉴别密钥;
通过所述鉴别密钥对待发送数据进行鉴别保护处理后,将处理后的待发送数据发送至所述服务端,以便所述服务端通过所述鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对接收到的待发送数据进行相应的处理;其中,所述待发送数据为获取私钥请求或签名请求或服务端公钥加密口令密文。
本发明实施例还提供了一种签名加密方法,应用于服务器,包括:
接收客户端发送的获取私钥请求,并依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
将所述目标私钥密文发送至所述客户端,以便所述客户端采用用户输入的加密口令对所述目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
接收所述客户端发送的签名请求,并对所述最终目标私钥密文进行解密,得到对应的私钥明文;所述签名请求包括签名原文和所述最终目标私钥密文;
采用所述私钥明文对所述签名原文进行签名运算,得到签名值,并将所述签名值返回至所述客户端。
可选的,在将所述目标私钥密文发送至所述客户端之前,还包括:
生成临时会话密钥;
则,所述将所述目标私钥密文发送至所述客户端过程为:
将所述目标私钥密文和所述临时会话密钥发送至所述客户端;
则,所述采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文的过程为:
依次采用所述临时会话密钥和服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
则,所述对所述最终目标私钥密文进行解密,得到对应的私钥明文的过程为:
依次采用服务端私钥、所述临时会话密钥和所述密码设备中的密钥加密密钥对所述最终目标私钥密文进行解密,得到对应的私钥明文。
可选的,所述获取私钥请求包括密钥标识码;
则所述依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文的过程为:
依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中匹配出对应的目标私钥密文。
可选的,还包括:
接收所述客户端发送的服务端公钥加密口令密文;
采用依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文;
通过所述密码设备产生密钥对;
依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所述密钥对中的私钥数据进行加密得到私钥密文;
生成与所述私钥密文唯一对应的密钥标识码,并将所述私钥密文及对应的密钥标识码对应存储至数据库中;
将所述密钥标识码返回至所述客户端,以便所述客户端将所述密钥标识码显示给用户。
可选的,还包括:
预先设置所述客户端与所述服务端之间的鉴别密钥;
接收由所述客户端采用所述鉴别密钥对待发送数据进行鉴别保护处理后、得到并发送的待发送数据;
通过所述鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对所述接收到的待发送数据进行相应的处理,其中,所述接受到的数据为获取私钥请求或签名请求或服务端公钥加密口令密文。
本发明实施例还提供了一种签名加密装置,应用于客户端,包括:
第一发送模块,用于发送获取私钥请求至服务端,以便所述服务端依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为所述服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
解密模块,用于接收所述服务端发送的私钥密文,并采用用户输入的加密口令对所述目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
加密模块,用于采用服务端公钥对所述加密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二发送模块,用于将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值;
第一接收模块,用于接收所述服务端返回的签名值。
本发明实施例还提供了一种签名加密装置,应用于服务器,包括:
匹配模块,用于接收客户端发送的获取私钥请求,并依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
第三发送模块,用于将所述目标私钥密文发送至所述客户端,以便所述客户端采用用户输入的加密口令对所述目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二接收模块,用于接收所述客户端发送的签名请求,并对所述最终目标私钥密文进行解密,得到对应的私钥明文;所述签名请求包括签名原文和所述最终目标私钥密文;
运算模块,用于采用所述私钥明文对所述签名原文进行签名运算,得到签名值,并将所述签名值返回至所述客户端。
本发明实施例还提供了一种签名加密装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述签名加密装置方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述签名加密装置方法的步骤。
本发明实施例提供了一种签名加密方法、装置、系统及计算机可读存储介质,该方法中的客户端在需要获取私钥时,通过向服务端发送获取私钥请求,服务端接收到获取私钥请求后,根据该获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文,其中,数据库中预先存储的私钥密文是根据用户的加密口令和服务端密码设备的密钥加密密钥对密码设备针对该用户产生的密钥对中的私钥进行加密后得到的,其安全性更高,客户端再接收到服务端返回的目标私钥密文后,根据用户输入的加密口令对该目标私钥密文进行解密,若解密成功得到目标私钥密文,由于解密成功因此说明当前的用户是与目标私钥对应的用户本人,可以使用该目标私钥,此时客户端采用服务端公钥对该目标私钥密文进行加密后,将得到的最终目标私钥密文与用户输入的签名原文一起发送至服务端,服务端通过对最终目标私钥密文进行解密后得到对应的私钥明文,并采用该私钥明文对签名原文进行签名运算,得到对应的签名值,然后将该签名值发送至客户端,本发明在使用过程中便于在多种场景下使用,且能够提高私钥的使用安全,提高签名加密的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种签名加密方法的流程示意图;
图2为本发明实施例提供的一种密钥生成与存储的过程示意图;
图3为本发明实施例提供的一种签名加密的实现流程示意图;
图4为本发明实施例提供的一种签名加密装置的结构示意图;
图5为本发明实施例提供的另一种签名加密方法的流程示意图;
图6为本发明实施例提供的另一种签名加密装置的结构示意图。
具体实施方式
本发明实施例提供了一种签名加密方法、装置、系统及计算机可读存储介质,在使用过程中便于在多种场景下使用,且能够提高私钥的使用安全,提高签名加密的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种签名加密方法的流程示意图。该方法应用于客户端,该方法包括:
S110:发送获取私钥请求至服务端,以便服务端依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;私钥密文为服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
需要说明的是,本发明实施例中预先针对每个客户生成一个密钥对,并对密钥对中的私钥进行加密存储,其中,用户可以通过客户端输入一个只有自己知道的加密口令,客户端将该加密口令发送至服务端,服务端可以先通过密码设备采用密钥加密密钥对该私钥进行加密,然后再采用该加密口令对经过密钥加密密钥进行加密后的私钥再次加密,得到私钥密文,并将该私钥密文进行存储至数据库中(当然,还可以将生成的密钥对中的公钥和该私钥密文对应存储至数据库中),并将密钥对中的公钥通过客户端返回至用户,本发明实施例中的私钥通过加密口令和服务端密码设备的密钥加密密钥进行双重保护,以提高私钥安全性。
具体的,在用户需要获取私钥进行签名加密时,可以通过客户端输入获取私钥密文的请求,客户端将该获取私钥请求发送至服务端,服务端接收到该获取私钥请求后,根据该获取私钥请求从数据库中存储的各个私钥密文中筛选出对应的目标私钥密文。
需要说明的是,服务端在对私钥密文进程存储时,还可以生成一个与该私钥密文唯一对应的密钥标识码,并将该密钥标识码也通过客户端返回至用户,则,在用户需要获取私钥时,所输入的获取私钥请求中可以包括对应的密钥标识码,服务端在接收到获取私钥请求后,可以依据该获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中匹配出与该密钥标识码对应的目标私钥密文。
S120:接收服务端发送的目标私钥密文,并采用用户输入的加密口令对目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
需要说明的是,客户端接收到服务端发送的私钥密文后,采用用户输入的加密口令对该目标私钥密文进行解密,若能够解密成功,则说明该用户即为私钥密文的使用者,也即该用户是合法用户,该客户端就能够得到解密后的目标私钥密文,若没有解密成功,则说明该用户不是私钥密文的使用者,也即,该用户不是合法用户,此时客户端可以提醒用户加密口令错误等提示信息。其中,在实际应用中具体可以在接收到服务端发送的私钥密文后提示用户输入加密口令,并接收用户输入的加密口令,然后再通过该加密口令对目标私钥密文进行解密,也可以在用户输入获取私钥请求时,用户同时输入加密口令,并将该加密口令缓存,然后再接收到服务端返回的目标私钥密文后再获取该加密口令对该目标私钥密文进行解密,具体实现方式本发明不做特殊限定。
S130:采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
具体的,客户端在确定用户合法后,采用预先获取的服务端公钥对解密后的目标私钥明文进行加密后,得到最终目标私钥密文。
S140:将用户输入的签名原文和最终目标私钥密文作为签名请求发送至服务端,以便服务端对最终目标私钥密文进行解密后得到对应的私钥明文,并采用私钥明文对签名原文进行签名运算,得到签名值;
需要说明的是,在实际应用中可以在得到最终目标私钥密文后,提示用户输入签名原文,或者也可以在用户输入获取私钥请求的同时输入签名原文,具体哪种方式本发明不做特殊限定,本发明中在得到最终目标私钥密文后,将用户输入的签名原文和该最终目标私钥密文一起作为签名请求发送至服务端,服务端接收到该签名请求后,获取该签名请求中的最终目标私钥密文,并对该最终目标私钥密文进行解密,得到私钥明文,具体的,可以先采用服务端私钥对该最终目标私钥密文进行解密,得到目标私钥密文,该目标私钥密文是在预先对私钥密文进行存储时采用服务端的密码设备的密钥加密密钥对私钥明文进行加密后得到的,因此需要采用密码设备的密钥加密密钥对该目标私钥密文进行解密,得到对应的私钥明文,然后再通过该私钥明文对签名原文进行签名运算,得到对应的签名值,并将该签名值返回至客户端。
S150:接收服务端返回的签名值。
具体的,在服务端得到与签名原文对应的签名值后,将该签名值返回至客户端,客户端接收该签名值,具体可以将该签名值展示给用户,用户在获取到该签名值后,还可以采用预先获取的公钥对该签名值进行验证,验证成功,即该签名值无误。
进一步的,在上述接收服务端发送的目标私钥密文的同时,该方法还可以包括:
接收服务端发送的临时会话密钥;
具体的,服务端在接收到获取私钥请求并从数据库中筛选出目标私钥密文后,可以生成一个临时会话密钥,具体可以随机生成该临时会话密钥,并将该临时会话密钥和目标私钥密文作为返回数据发送至客户端。
则相应的,上述S130中采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文的过程,具体可以为:
依次采用临时会话密钥和服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
具体的,客户端在接收到服务端发送的临时会话密钥和目标私钥密文后,采用用户输入的加密口令对该目标私钥密文进行解密,并且在解密成功后得到解密后的目标私钥密文,然后先采用临时会话密钥对解密后的目标私钥密文进行加密,例如得到第一加密私钥密文,然后再采用服务端公钥对该第一加密私钥密文进行加密,得到最终目标私钥密文,并将该最终目标私钥密文和用户输入的签名原文作为签名请求发送至服务端。
则相应的,上述S140中将用户输入的签名原文和最终目标私钥密文作为签名请求发送至服务端,以便服务端对最终目标私钥密文进行解密后得到对应的私钥明文,并采用私钥明文对签名原文进行签名运算,得到签名值的过程,具体可以为:
将用户输入的签名原文和最终目标私钥密文作为签名请求发送至服务端,以便服务端依次采用服务端私钥、临时会话密钥和密码设备中的密钥加密密钥对最终目标私钥密文进行解密,得到对应的私钥明文,并采用私钥明文对签名原文进行签名运算,得到签名值。
需要说明的是,在客户端将上述依次通过临时会话密钥和服务端公钥对解密后的目标私钥密文进行加密后,得到的最终目标私钥密文和用户输入的签名原文作为签名请求发送至服务端,服务端接收到该签名请求后,先采用服务端私钥对最终目标私钥密文进行解密,在解密后得到上述第一加密私钥密文,然后再采用所生成的临时会话密钥对第一加密私钥密文进行解密,得到目标私钥密文,该目标私钥密文为采用密码设备的密钥加密密钥对私钥明文进行加密后的私钥密文,因此,还需要采用密码设备的密钥加密密钥对该目标私钥密文进行解密,从而得到私钥明文。其中,在采用所生成的临时会话密钥对第一加密私钥密文进行解密,得到目标私钥密文后,还可以将临时会话密钥清除。
进一步的,该方法还可以包括:
接收用户输入的创建申请,创建申请包括加密口令,并采用服务端公钥对加密口令进行加密,得到服务端公钥加密口令密文;
将服务端公钥加密口令密文发送至服务端,以便服务端依据服务端私钥对服务端公钥加密口令密文进行解密,得到加密口令明文,依次采用密码设备的密码加密密钥以及加密口令明文对所产生的密钥对中的私钥数据进行加密得到私钥密文,将私钥密文及对应的密钥标识码对应存储至数据库中;
接收服务端返回的密钥标识码,并将密钥标识码显示给用户。
需要说明的是,本发明实施例中可以先针对用户生成一个密钥对,并对密钥对进行存储。具体的,用户可以通过客户端发起托管密钥创建申请,该创建申请可以包括用户信息和加密口令,其中,用户具体的可以通过客户端输入一个自定义的加密口令,客户端采用预先获取的服务端公钥对该加密口令进行加密,将加密后的加密口令作为服务端公钥加密口令密文,然后将该服务端公钥加密口令密文发送至服务端,服务端接收到该服务端公钥加密口令密文后,采用服务端私钥对该服务端公钥加密口令密文进行解密,得到加密口令明文,然后服务端的密码设备在内部产生一对密钥对(具体可以随机生成),并采用密码设备的密钥加密密钥对密钥对中的私钥进行加密,得到第一私钥密文,然后再采用得到的加密口令明文对该第一私钥密文进行加密,得到最终的私钥密文,并生成一个与该私钥密文唯一对应的密钥标识码,将私钥密文与该密钥标识码对应存储至数据库中,当然也可以将密钥对中的公钥与该私钥密文对应存储至数据库中,并将密钥标识码返回至客户端,以便客户端展示给用户。另外,需要说明的是,本发明实施例中的私钥密文是双重加密的,其中,通过用户输入的加密口令对经过密钥加密密钥进行加密后的私钥再次进行加密,以便在获取私钥密文时,不仅需要用户知道私钥密文的密钥标识码,还需要用户提供正确的加密口令,否则,将无法成功解密私钥密文,可见,本发明中的私钥密文的安全性更高。
更进一步的,该方法还可以包括:
预先设置客户端与服务端之间的鉴别密钥;
通过鉴别密钥对待发送数据进行鉴别保护处理后,将处理后的待发送数据发送至服务端,以便服务端通过鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对接收到的待发送数据进行相应的处理;其中,待发送数据为获取私钥请求或签名请求服务端公钥加密口令密文。
需要说明的是,为了防止客户端与服务端在发送消息的过程中,所发送的消息被篡改,本发明实施例中可以预先约定一个客户端与服务端之间的鉴别密钥,并且在客户端与服务端进行数据传输的过程中通过该鉴别密钥对所传输的数据进行鉴别保护,具体的,可以在对待发送数据发送之前,可以采用该鉴别密钥对待发送数据进行计算,得到一个初始鉴别码,然后将待发送数据本身和该初始鉴别码同时发送至对端,在对端接收到待发送数据本身和该初始鉴别码后,对端也采用预先约定的鉴别密钥对待发送数据进行计算,得到一个当前鉴别码,将该当前鉴别码与接收到的初始鉴别码进行比较,若两者一致,则说明接收到的待发送数据没有被篡改,可以对该待发送数据进行后续操作,若两者不一致,则无需进行后续操作。
具体的,该待发送数据可以为获取私钥请求或签名请求或上述的服务端公钥加密口令密文。本发明实施例中以密钥生成与存储的过程为例进行详细说明:
具体请参照图2,预先约定一个客户端与服务端之间的鉴别密钥,其在,该鉴别密钥可以固定一个,也可以在每次用户登录系统后自动生成一个,具体可以根据实际需要进行确定,用户可以通过客户端发送申请密钥对的创建申请,输入一个加密口令pin,然后客户端采用服务端公钥对该加密口令pin进行加密,得到服务端公钥加密口令密文Epk(pin),然后将用户信息、请求时间等和该Epk(pin)作为创建申请请求,其中,用户信息、请求时间等和该Epk(pin)作为请求数据M,采用预先约定的鉴别密钥k对请求数据M进行计算,得到鉴别码h0=HMAC(M,k),在将请求数据和鉴别码h0发送至服务端,服务端接收到请求数据和鉴别码h0后,先确定申请请求在时间窗口内,再采用预先约定的鉴别码对接收到的请求数据进行计算,得到h1=HMAC(M’,k),并将h0与h1进行比较以确定请求数据的真实性和完整性,若两者一致,则说明接收到的请求数据就是客户端所发送的请求数据M,验证通过,然后服务端可以从该请求数据中提取出加密口令密文Epk(pin),并采用服务端的私钥对Epk(pin)进行解密得到pin明文,然后密码设备内部产生密文私钥的密钥对,通过密码设备的密钥加密密钥对该密钥对中的私钥(key_s)进行加密得到Ekek(key_s),然后再采用pin对加密后的私钥数据Ekek(key_s)再次进行加密,得到双重加密后的私钥密文Epin(Ekek(key_s)),并生成一个与该私钥密文唯一对应的密钥标识码,并将该私钥密文、公钥和对应的密钥标识码进行存储。
如图3所示,本发明实施例对签名加密过程进行详细介绍:
用户输入获取私钥请求至客户端,客户端采用预先约定的鉴别密钥k对该获取私钥请求进行计算,得到一个鉴别码h10=HMAC(M1,k),并将获取私钥请求与该鉴别码h01发送至服务端,服务端先确认该请求在时间窗口内,然后采用预先约定的鉴别密钥k对接收到的获取私钥请求进行计算,得到h11=HMAC(M1’,k),比较h10与h11进行真实性和完整性验证,两者一致验证成功,则服务端根据该获取私钥请求中的密钥标识码从数据库中匹配出对应的目标私钥密文Epin(Ekek(key_s)),并生成一个临时会话密钥ek,然后Epin(Ekek(key_s)),将目标私钥密文Epin(Ekek(key_s))和临时会话密钥ek作为返回数据M2,并采用鉴别密钥k对该返回数据M2进行计算,得到鉴别码h20,将鉴别码h20和返回数据M2返回至客户端,客户端确认该消息在时间窗口内后,再采用鉴别密钥k对接收到的数据M2’进行计算,得到鉴别码h21,然后将鉴别码h20与鉴别码h21进行比较以便进行数据完整性和真实性验证,若两者一致,则验证成功;客户端从该返回数据M2’中提取出目标私钥密文,然后采用用户输入的加密口令pin对该目标私钥密文进行解密得到Dpin(Epin(Ekek(key_s)))=Ekek(key_s),然后在采用临时会话密钥ek对其进行加密得到Eek(Ekek(key_s)),在采用服务端公钥对Eek(Ekek(key_s))进行加密,得到最终目标私钥密文Epk(Eek(Ekek(key_s))),并将该最终目标私钥密文和用户输入的签名原文作为签名请求,然后采用鉴别密钥k对该签名请求数据M3进行计算得到鉴别码h30,然后将该签名请求和鉴别码h30发送至服务端,服务端根据鉴别密钥k对接收到的签名请求数据M3’进行计算,得到h31,将h31与h30进行比较以验证真实性和完整性,验证通过后,服务端进行私钥解密,具体采用服务端公钥进行解密得到Dsk(Epk(Eek(Ekek(key_s))))=Eek(Ekek(key_s)),然后提取临时会话密钥ek,并采用临时会话密钥ek进行解密Dek(Eek(Ekek(key_s)))=Ekek(key_s),然后将解密后的Ekek(key_s)导入密码设备,密码设备内进行解密,得到私钥明文Dkek(Ekek(key_s))=key_s,并在密码设备内进行数据执行签名运算,也即采用私钥明文对签名原文进行签名运算Sign=Skey_s(Src),得到签名值Sign,然后还可以将临时会话密钥销毁。服务端将签名值Sign通过鉴别密钥保护后返回至客户端,客户端再采用鉴别密钥验证接收到的签名值的真实性和完整性后,得到签名值Sign。
可见,该方法中的客户端在需要获取私钥时,通过向服务端发送获取私钥请求,服务端接收到获取私钥请求后,根据该获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文,其中,数据库中预先存储的私钥密文是根据用户的加密口令和服务端密码设备的密钥加密密钥对密码设备针对该用户产生的密钥对中的私钥进行加密后得到的,其安全性更高,客户端再接收到服务端返回的目标私钥密文后,根据用户输入的加密口令对该目标私钥密文进行解密,若解密成功得到目标私钥密文,由于解密成功因此说明当前的用户是与目标私钥对应的用户本人,可以使用该目标私钥,此时客户端采用服务端公钥对该目标私钥密文进行加密后,将得到的最终目标私钥密文与用户输入的签名原文一起发送至服务端,服务端通过对最终目标私钥密文进行解密后得到对应的私钥明文,并采用该私钥明文对签名原文进行签名运算,得到对应的签名值,然后将该签名值发送至客户端,本发明在使用过程中便于在多种场景下使用,且能够提高私钥的使用安全,提高签名加密的安全性。
在上述实施例的基础上,本发明实施例还提供了一种签名加密装置,应用于客户端,具体请参照图4,该装置包括:
第一发送模块11,用于发送获取私钥请求至服务端,以便服务端依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;私钥密文为服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
解密模块12,用于接收服务端发送的目标私钥密文,并采用用户输入的加密口令对目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
加密模块13,用于采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二发送模块14,用于将用户输入的签名原文和最终目标私钥密文作为签名请求发送至服务端,以便服务端对最终目标私钥密文进行解密后得到对应的私钥明文,并采用私钥明文对签名原文进行签名运算,得到签名值;
第一接收模块15,用于接收服务端返回的签名值。
需要说明的是,本发明实施例中提供的签名加密装置具有与上述实施例中所提各的签名加密方法相同的有益效果,并且对于本发明实施例中所涉及到的签名加密方法的具体介绍请参照上述实施例,本发明在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种签名加密方法,应用于服务器,具体请参照图5,该方法包括:
S210:接收客户端发送的获取私钥请求,并依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
S220:将目标私钥密文发送至客户端,以便客户端采用用户输入的加密口令对目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
S230:接收客户端发送的签名请求,并对最终目标私钥密文进行解密,得到对应的私钥明文;签名请求包括签名原文和最终目标私钥密文;
S240:采用私钥明文对签名原文进行签名运算,得到签名值,并将签名值返回至客户端。
需要说明的是,本发明实施例中的S210至S240的具体实现过程请参照上述方法实施例,本发明在此不再赘述。
进一步的,在上述S220中将目标私钥密文发送至客户端之前,该方法还可以包括:
生成临时会话密钥;
则相应的,将目标私钥密文发送至客户端过程,具体可以为:
将目标私钥密文和临时会话密钥发送至客户端;
则,上述S240采用服务端公钥对加密后的目标私钥密文进行加密,得到最终目标私钥密文的过程,具体可以为:
依次采用临时会话密钥和服务端公钥对加密后的目标私钥密文进行加密,得到最终目标私钥密文;
则相应的,对最终目标私钥密文进行解密,得到对应的私钥明文的过程为:
依次采用服务端私钥、临时会话密钥和密码设备中的密钥加密密钥对最终目标私钥密文进行解密,得到对应的私钥明文。
进一步的,上述获取私钥请求具体可以包括密钥标识码;
则,相应的依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文的过程,具体可以为:
依据获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中匹配出对应的目标私钥密文。
更进一步的,该方法还可以包括:
接收客户端发送的服务端公钥加密口令密文;
采用依据服务端私钥对服务端公钥加密口令密文进行解密,得到加密口令明文;
通过密码设备产生密钥对;
依次采用密码设备的密码加密密钥以及加密口令明文对密钥对中的私钥数据进行加密得到私钥密文;
生成与私钥密文唯一对应的密钥标识码,并将私钥密文及对应的密钥标识码对应存储至数据库中;
将密钥标识码返回至客户端,以便客户端将密钥标识码显示给用户。
更进一步的,该方法还可以包括:
预先设置客户端与服务端之间的鉴别密钥;
接收由客户端采用鉴别密钥对待发送数据进行鉴别保护处理后、得到并发送的待发送数据;
通过鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对接收到的待发送数据进行相应的处理,其中,接受到的数据为获取私钥请求或签名请求或服务端公钥加密口令密文。
需要说明的是,本发明实施例中所提供的签名加密方法与上述方法实施例中的签名加密方法相对应,因此该方法的具体实现过程可以参照上述实施例,本发明在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种签名加密装置,应用于服务器,具体请参照图6,该装置包括:
匹配模块21,用于接收客户端发送的获取私钥请求,并依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
第三发送模块22,用于将目标私钥密文发送至客户端,以便客户端采用用户输入的加密口令对目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二接收模块23,用于接收客户端发送的签名请求,并对最终目标私钥密文进行解密,得到对应的私钥明文;签名请求包括签名原文和最终目标私钥密文;
运算模块24,用于采用私钥明文对签名原文进行签名运算,得到签名值,并将签名值返回至客户端。
需要说明的是,本发明实施例中提供的签名加密装置具有与上述实施例中所提各的签名加密方法相同的有益效果,并且对于本发明实施例中所涉及到的签名加密方法的具体介绍请参照上述实施例,本发明在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种签名加密装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述签名加密装置方法的步骤。
例如,本发明实施例中的处理器具体可以用于实现发送获取私钥请求至服务端,以便服务端依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;私钥密文为服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;接收服务端发送的目标私钥密文,并采用用户输入的加密口令对目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;将用户输入的签名原文和最终目标私钥密文作为签名请求发送至服务端,以便服务端对最终目标私钥密文进行解密后得到对应的私钥明文,并采用私钥明文对签名原文进行签名运算,得到签名值;接收服务端返回的签名值。
另外,本发明实施例中的处理器还可以用于实现接收客户端发送的获取私钥请求,并依据获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;将目标私钥密文发送至客户端,以便客户端采用用户输入的加密口令对目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;接收客户端发送的签名请求,并对最终目标私钥密文进行解密,得到对应的私钥明文;签名请求包括签名原文和最终目标私钥密文;采用私钥明文对签名原文进行签名运算,得到签名值,并将签名值返回至客户端。
在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述签名加密装置方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种签名加密方法,其特征在于,应用于客户端,包括:
发送获取私钥请求至服务端,以便所述服务端依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;所述私钥密文为所述服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
接收所述服务端发送的所述目标私钥密文,并采用用户输入的加密口令对所述目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值;
接收所述服务端返回的签名值;其中:
所述获取私钥请求包括密钥标识码,以便所述服务端依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;
还包括:
接收用户输入的创建申请,所述创建申请包括加密口令,并采用所述服务端公钥对所述加密口令进行加密,得到服务端公钥加密口令密文;
将所述服务端公钥加密口令密文发送至所述服务端,以便所述服务端依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文,依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所产生的密钥对中的私钥数据进行加密得到私钥密文,将所述私钥密文及对应的密钥标识码对应存储至数据库中;
接收所述服务端返回的所述密钥标识码,并将所述密钥标识码显示给用户。
2.根据权利要求1所述的签名加密方法,其特征在于,在所述接收所述服务端发送的所述目标私钥密文的同时,还包括:
接收所述服务端发送的临时会话密钥;
则,所述采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文的过程为:
依次采用所述临时会话密钥和服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
则,所述将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值的过程为:
将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端依次采用服务端私钥、所述临时会话密钥和所述密码设备中的密钥加密密钥对所述最终目标私钥密文进行解密,得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值。
3.根据权利要求1至2任意一项所述的签名加密方法,其特征在于,还包括:
预先设置所述客户端与所述服务端之间的鉴别密钥;
通过所述鉴别密钥对待发送数据进行鉴别保护处理后,将处理后的待发送数据发送至所述服务端,以便所述服务端通过所述鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对接收到的待发送数据进行相应的处理;其中,所述待发送数据为获取私钥请求或签名请求或服务端公钥加密口令密文。
4.一种签名加密方法,其特征在于,应用于服务器,包括:
接收客户端发送的获取私钥请求,并依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
将所述目标私钥密文发送至所述客户端,以便所述客户端采用用户输入的加密口令对所述目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
接收所述客户端发送的签名请求,并对所述最终目标私钥密文进行解密,得到对应的私钥明文;所述签名请求包括签名原文和所述最终目标私钥密文;
采用所述私钥明文对所述签名原文进行签名运算,得到签名值,并将所述签名值返回至所述客户端;其中:
所述获取私钥请求包括密钥标识码;
则所述依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文的过程为:
依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中匹配出对应的目标私钥密文;
还包括:
接收所述客户端发送的服务端公钥加密口令密文;
采用依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文;
通过所述密码设备产生密钥对;
依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所述密钥对中的私钥数据进行加密得到私钥密文;
生成与所述私钥密文唯一对应的密钥标识码,并将所述私钥密文及对应的密钥标识码对应存储至数据库中;
将所述密钥标识码返回至所述客户端,以便所述客户端将所述密钥标识码显示给用户。
5.根据权利要求4所述的签名加密方法,其特征在于,在将所述目标私钥密文发送至所述客户端之前,还包括:
生成临时会话密钥;
则,所述将所述目标私钥密文发送至所述客户端过程为:
将所述目标私钥密文和所述临时会话密钥发送至所述客户端;
则,所述采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文的过程为:
依次采用所述临时会话密钥和服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
则,所述对所述最终目标私钥密文进行解密,得到对应的私钥明文的过程为:
依次采用服务端私钥、所述临时会话密钥和所述密码设备中的密钥加密密钥对所述最终目标私钥密文进行解密,得到对应的私钥明文。
6.根据权利要求4至5任意一项所述的签名加密方法,其特征在于,还包括:
预先设置所述客户端与所述服务端之间的鉴别密钥;
接收由所述客户端采用所述鉴别密钥对待发送数据进行鉴别保护处理后、得到并发送的待发送数据;
通过所述鉴别密钥对接收到的待发送数据进行验证,并在验证通过后对所述接收到的待发送数据进行相应的处理,其中,所述接收到的数据为获取私钥请求或签名请求或服务端公钥加密口令密文。
7.一种签名加密装置,其特征在于,应用于客户端,包括:
第一发送模块,用于发送获取私钥请求至服务端,以便所述服务端依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为所述服务端预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
解密模块,用于接收所述服务端发送的所述目标私钥密文,并采用用户输入的加密口令对所述目标私钥密文进行解密,在解密成功后得到解密后的目标私钥密文;
加密模块,用于采用服务端公钥对所述解密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二发送模块,用于将用户输入的签名原文和所述最终目标私钥密文作为签名请求发送至所述服务端,以便所述服务端对所述最终目标私钥密文进行解密后得到对应的私钥明文,并采用所述私钥明文对所述签名原文进行签名运算,得到签名值;
第一接收模块,用于接收所述服务端返回的签名值;其中:
所述获取私钥请求包括密钥标识码,以便所述服务端依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中筛选出对应的目标私钥密文;
还包括:
接收用户输入的创建申请,所述创建申请包括加密口令,并采用所述服务端公钥对所述加密口令进行加密,得到服务端公钥加密口令密文;
将所述服务端公钥加密口令密文发送至所述服务端,以便所述服务端依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文,依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所产生的密钥对中的私钥数据进行加密得到私钥密文,将所述私钥密文及对应的密钥标识码对应存储至数据库中;
接收所述服务端返回的所述密钥标识码,并将所述密钥标识码显示给用户。
8.一种签名加密装置,其特征在于,应用于服务器,包括:
匹配模块,用于接收客户端发送的获取私钥请求,并依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文;所述私钥密文为预先根据用户的加密口令和服务端密码设备的密钥加密密钥对所产生的私钥进行加密得到的;
第三发送模块,用于将所述目标私钥密文发送至所述客户端,以便所述客户端采用用户输入的加密口令对所述目标私钥密文进行解密,并采用服务端公钥对解密后的目标私钥密文进行加密,得到最终目标私钥密文;
第二接收模块,用于接收所述客户端发送的签名请求,并对所述最终目标私钥密文进行解密,得到对应的私钥明文;所述签名请求包括签名原文和所述最终目标私钥密文;
运算模块,用于采用所述私钥明文对所述签名原文进行签名运算,得到签名值,并将所述签名值返回至所述客户端;其中:
所述获取私钥请求包括密钥标识码;
则所述依据所述获取私钥请求从数据库中预先存储的各个私钥密文中筛选出目标私钥密文的过程为:
依据所述获取私钥请求中的密钥标识码从数据库中预先存储的各个私钥密文中匹配出对应的目标私钥密文;
还包括:
接收所述客户端发送的服务端公钥加密口令密文;
采用依据所述服务端私钥对所述服务端公钥加密口令密文进行解密,得到加密口令明文;
通过所述密码设备产生密钥对;
依次采用所述密码设备的密码加密密钥以及所述加密口令明文对所述密钥对中的私钥数据进行加密得到私钥密文;
生成与所述私钥密文唯一对应的密钥标识码,并将所述私钥密文及对应的密钥标识码对应存储至数据库中;
将所述密钥标识码返回至所述客户端,以便所述客户端将所述密钥标识码显示给用户。
9.一种签名加密装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任意一项或4至6任意一项所述签名加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任意一项或4至6任意一项所述签名加密方法的步骤。
CN202111594375.1A 2021-12-23 2021-12-23 一种签名加密方法、装置、系统及计算机可读存储介质 Active CN114499871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111594375.1A CN114499871B (zh) 2021-12-23 2021-12-23 一种签名加密方法、装置、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111594375.1A CN114499871B (zh) 2021-12-23 2021-12-23 一种签名加密方法、装置、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114499871A CN114499871A (zh) 2022-05-13
CN114499871B true CN114499871B (zh) 2024-01-09

Family

ID=81494707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111594375.1A Active CN114499871B (zh) 2021-12-23 2021-12-23 一种签名加密方法、装置、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114499871B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010529B (zh) * 2023-03-08 2023-08-29 阿里云计算有限公司 数据处理方法及系统
CN116208428B (zh) * 2023-04-27 2023-07-18 中科信工创新技术(北京)有限公司 一种传输文件的方法、系统、装置、存储介质及电子设备

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的系统及方法
CN204103935U (zh) * 2014-10-23 2015-01-14 成都双奥阳科技有限公司 一种应用于银行硬件密码的保护装置
CN106452764A (zh) * 2016-12-02 2017-02-22 武汉理工大学 一种标识私钥自动更新的方法及密码系统
CN108270558A (zh) * 2016-12-30 2018-07-10 上海格尔软件股份有限公司 一种基于临时密钥对的私钥导入方法
WO2018127081A1 (zh) * 2017-01-04 2018-07-12 天地融科技股份有限公司 一种加密密钥获取方法及系统
CN109756343A (zh) * 2019-01-31 2019-05-14 平安科技(深圳)有限公司 数字签名的认证方法、装置、计算机设备和存储介质
CN110690967A (zh) * 2019-12-11 2020-01-14 杭州字节信息技术有限公司 一种不依赖于服务端安全的即时通信密钥确立方法
CN110971411A (zh) * 2019-12-02 2020-04-07 南京壹证通信息科技有限公司 一种基于sotp技术对私钥乘加密的sm2同态签名方法
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111447214A (zh) * 2020-03-25 2020-07-24 北京左江科技股份有限公司 一种基于指纹识别的公钥密码集中服务的方法
WO2020191928A1 (zh) * 2019-03-27 2020-10-01 深圳市网心科技有限公司 一种数字身份认证方法、设备、装置、系统及存储介质
CN112417489A (zh) * 2020-12-04 2021-02-26 矩阵元技术(深圳)有限公司 数字签名的生成方法、装置和服务器
CN112637136A (zh) * 2020-12-03 2021-04-09 北京北信源软件股份有限公司 加密通信方法及系统
WO2021103921A1 (zh) * 2019-11-26 2021-06-03 中国银联股份有限公司 数据的加解密方法、装置、系统及存储介质
CN113328860A (zh) * 2021-04-28 2021-08-31 上海听雷信息科技有限公司 一种基于区块链的用户隐私数据安全提供方法
WO2021174927A1 (zh) * 2020-03-03 2021-09-10 支付宝实验室(新加坡)有限公司 基于区块链的身份校验方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405191B2 (en) * 2020-05-13 2022-08-02 Apple Inc. Guaranteed encryptor authenticity

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的系统及方法
CN204103935U (zh) * 2014-10-23 2015-01-14 成都双奥阳科技有限公司 一种应用于银行硬件密码的保护装置
CN106452764A (zh) * 2016-12-02 2017-02-22 武汉理工大学 一种标识私钥自动更新的方法及密码系统
CN108270558A (zh) * 2016-12-30 2018-07-10 上海格尔软件股份有限公司 一种基于临时密钥对的私钥导入方法
WO2018127081A1 (zh) * 2017-01-04 2018-07-12 天地融科技股份有限公司 一种加密密钥获取方法及系统
CN109756343A (zh) * 2019-01-31 2019-05-14 平安科技(深圳)有限公司 数字签名的认证方法、装置、计算机设备和存储介质
WO2020191928A1 (zh) * 2019-03-27 2020-10-01 深圳市网心科技有限公司 一种数字身份认证方法、设备、装置、系统及存储介质
WO2021103921A1 (zh) * 2019-11-26 2021-06-03 中国银联股份有限公司 数据的加解密方法、装置、系统及存储介质
CN110971411A (zh) * 2019-12-02 2020-04-07 南京壹证通信息科技有限公司 一种基于sotp技术对私钥乘加密的sm2同态签名方法
CN110690967A (zh) * 2019-12-11 2020-01-14 杭州字节信息技术有限公司 一种不依赖于服务端安全的即时通信密钥确立方法
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
WO2021174927A1 (zh) * 2020-03-03 2021-09-10 支付宝实验室(新加坡)有限公司 基于区块链的身份校验方法、装置、设备及存储介质
CN111447214A (zh) * 2020-03-25 2020-07-24 北京左江科技股份有限公司 一种基于指纹识别的公钥密码集中服务的方法
CN112637136A (zh) * 2020-12-03 2021-04-09 北京北信源软件股份有限公司 加密通信方法及系统
CN112417489A (zh) * 2020-12-04 2021-02-26 矩阵元技术(深圳)有限公司 数字签名的生成方法、装置和服务器
CN113328860A (zh) * 2021-04-28 2021-08-31 上海听雷信息科技有限公司 一种基于区块链的用户隐私数据安全提供方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
An Extensive Web Security Through Cloud Based Double Layer Password Encryption (DLPE) Algorithm for Secured Management Systems;K. Loganathan ect.;《2021 International Conference on System, Computation, Automation and Networking (ICSCAN)》;全文 *
一种基于PKI的安全公文签名加密解决方案;张瑜;费文晓;余波;;微计算机信息(18);全文 *
基于主从式架构的数字签名系统设计研究;冯福伟;杜丽萍;李瑛;赵桂芬;;计算机与数字工程(第10期);全文 *
基于服务端密钥存储的网络计算机数字证书系统;谭智勇;司天歌;戴一奇;;清华大学学报(自然科学版)(第07期);全文 *
私钥存储服务安全的研究;曹璞,吕丽民;浙江工业大学学报(第01期);全文 *

Also Published As

Publication number Publication date
CN114499871A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN107294937B (zh) 基于网络通信的数据传输方法、客户端及服务器
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
US6959394B1 (en) Splitting knowledge of a password
CN109218825B (zh) 一种视频加密系统
KR101273991B1 (ko) 세션키를 수립하기 위한 방법 및 그 방법을 수행하기 위한유닛들
CN114499871B (zh) 一种签名加密方法、装置、系统及计算机可读存储介质
CN109151508B (zh) 一种视频加密方法
US20120131331A1 (en) System And Method For End To End Encryption
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
CN113472793B (zh) 一种基于硬件密码设备的个人数据保护系统
CN111884811B (zh) 一种基于区块链的数据存证方法和数据存证平台
CN110971411B (zh) 一种基于sotp技术对私钥乘加密的sm2同态签名方法
CN103701787A (zh) 一种基于公开密钥算法实现的用户名口令认证方法
CN110958209A (zh) 基于共享密钥的双向认证方法及系统、终端
CN109347887B (zh) 一种身份认证的方法及装置
WO2018045802A1 (zh) 登录认证及登录密码修改认证方法、终端及服务器
CN111031061A (zh) 一种验证方法及网关设备
CN112765626A (zh) 基于托管密钥授权签名方法、装置、系统及存储介质
CN108809936A (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
CN114553441B (zh) 一种电子合同签署方法及系统
CN114567431A (zh) 一种用于单向传输的安全认证方法
CN113868684A (zh) 一种签名方法、装置、服务端、介质以及签名系统
CN109412799B (zh) 一种生成本地密钥的系统及其方法
CN111740995A (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