CN106656504A - 一种签名设备、系统及其工作方法 - Google Patents

一种签名设备、系统及其工作方法 Download PDF

Info

Publication number
CN106656504A
CN106656504A CN201610951023.XA CN201610951023A CN106656504A CN 106656504 A CN106656504 A CN 106656504A CN 201610951023 A CN201610951023 A CN 201610951023A CN 106656504 A CN106656504 A CN 106656504A
Authority
CN
China
Prior art keywords
signature
client
certificate
random number
pin
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.)
Granted
Application number
CN201610951023.XA
Other languages
English (en)
Other versions
CN106656504B (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201610951023.XA priority Critical patent/CN106656504B/zh
Publication of CN106656504A publication Critical patent/CN106656504A/zh
Application granted granted Critical
Publication of CN106656504B publication Critical patent/CN106656504B/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/3263Cryptographic 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
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种签名设备、系统及其工作方法,属于信息安全领域,当签名设备接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;当接收到客户端发来的签名值时,根据预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则有签名操作权限,若未通过验证则没有签名操作权限;当接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。本发明相比现有的签名流程更加安全,同时有利于CA服务器对已下发的证书进行管控。

Description

一种签名设备、系统及其工作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种签名设备、系统及其工作方法。
背景技术
数字签名作为保障网络信息安全的手段之一,可以有效解决网络信息传输过程中伪造、抵赖、冒充和篡改的问题,在密钥分配、电子银行、电子证券、电子商务和电子政务等领域都有广泛的应用。现有技术的签名流程是:签名设备(USBKey)在验证PIN码正确之后,使用与证书对应私钥执行签名操作,现有的签名流程的缺陷是:USBKey进行签名操作之前不会主动验证证书是否有效,这样若后台为了节省成本也不对证书进行验证,则将出现USBKey中的证书过期却仍可使用的情况,这样USBKey的签名流程将存在安全风险,而且不利于发证机构(如CA)对颁发给客户的证书进行有效监管。
发明内容
为解决现有技术中存在的技术缺陷,本发明提供了一种签名设备、系统及其工作方法。
本发明提供的一种签名设备的工作方法,包括:当签名设备接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;
当签名设备接收到客户端发来的签名值时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限;
当签名设备接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
还包括:当所述签名设备接收到客户端发来的PIN码时,验证所述PIN码,若所述PIN码和所述签名值均通过验证则有签名操作权限,否则无签名操作权限。
优选的,当所述签名值通过验证时还包括:签名设备向所述客户端返回证书验证成功信息以及置位签名权限标志;当所述签名值未通过验证时还包括:签名设备向客户端返回证书验证失败信息;相应的,所述判断是否有签名操作权限具体为,判断所述签名权限标志是否置位,是则表示有签名操作权限,否则表示没有签名操作权限。
优选的,当所述PIN码通过验证时还包括:签名设备向客户端返回验PIN成功信息以及置位验PIN成功标志;当所述PIN码未通过验证时还包括:签名设备向客户端返回验PIN失败信息;相应的,所述判断是否有签名操作权限具体为,判断所述签名权限标志和所述验PIN成功标志是否均置位,是则表示有签名操作权限;否则表示没有签名操作权限。
相应的,所述执行签名操作得到签名结果之后还包括复位所述签名权限标志和所述验PIN成功标志;
或者是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
本发明还提供了一种签名设备,包括第一收发模块、第一处理模块、第二收发模块、第二处理模块、第三收发模块和第三处理模块;
所述第一收发模块,用于在接收到客户端发来的待签名数据时,将所述待签名数据传送给所述第一处理模块,并将所述第一处理模块传来的签名结果或错误信息返回给所述客户端;
所述第一处理模块,用于判断是否有签名操作权限,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块;
所述第二收发模块,用于在接收到客户端发来的获取随机数和证书的请求时触发所述第二处理模块,并将所述第二处理模块传来的随机数和证书返回给所述客户端;
所述第二处理模块,用于生成随机数并保存,还用于获取设备中存储的证书,并将所述随机数和所述证书传送给第二收发模块;
所述第三收发模块,用于在接收到客户端发来的签名值时,将所述签名值传送给所述第三处理模块;
所述第三处理模块,用于根据设备中的预置公钥、当前设备中保存的所述随机数和所述证书验证所述第三收发模块传来的所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限。
所述第三收发模块,还用于在接收到客户端发来的PIN时,将所述PIN码传送给所述第三处理模块;
所述第三处理模块,还用于验证所述PIN码是否正确,若所述PIN码和所述签名值均通过验证则有签名操作权限,否则无签名操作权限。
所述第三收发模块,还用于当所述第三处理模块验证所述签名值的结果为通过验证时向客户端返回证书验证成功信息,以及当所述第三处理模块验证所述签名值的结果为未通过验证时向客户端返回证书验证失败信息;所述签名设备还包括设置模块,用于在所述第三收发模块向所述客户端返回证书验证成功信息时置位签名权限标志;所述第一处理模块,具体用于判断所述签名权限标志是否置位,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块。
所述第三收发模块,还用于当所述第三处理模块验证所述PIN码的结果为通过验证时向所述客户端返回验PIN成功信息,以及当所述第三处理模块验证所述PIN码的结果为未通过验证时向所述客户端返回验PIN失败信息;所述设置模块,还用于在所述第三收发模块向所述客户端返回验PIN成功信息时置位验PIN成功标志;所述第一处理模块,具体用于判断所述签名权限标志和所述验PIN成功标志是否均置位,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块。
进一步的,所述设置模块,还用于在接收到所述第一处理模块的触发时复位签名权限标志和验PIN成功标志;所述第一处理模块,还用于在执行签名操作得到签名结果时,触发所述设置模块;或者是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
本发明还提供了一种签名系统的工作方法,包括:当客户端检测到有签名设备连接时,执行步骤a1;
步骤a1:客户端向签名设备发送获取随机数和证书的请求;
步骤a2:签名设备生成随机数,获取设备中存储的证书,向客户端返回所述随机数和所述证书;
步骤a3:客户端向CA服务器发送所述随机数和所述证书;
步骤a4:CA服务器接收所述随机数和证书,并判断所述证书是否有效,是则使用预置私钥对所述随机数和所述证书进行签名得到签名值,向客户端发送所述签名值,执行步骤a5;否则向客户端返回提示证书无效的信息,结束;
步骤a5:客户端向签名设备发送所述签名值;
步骤a6:签名设备根据设备中的预置公钥、所述随机数和所述证书验证接收到的所述签名值,若通过验证则向所述客户端返回证书验证成功信息,否则向客户端返回证书验证失败信息;
当客户端的签名应用程序被调用时,执行步骤b1;
步骤b1:客户端向签名设备发送待签名数据;
步骤b2:签名设备接收所述待签名数据,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
本发明还提供了一种签名系统,包括客户端、签名设备和CA服务器;
所述客户端,用于当检测到有签名设备连接时,向所述签名设备发送获取随机数和证书的请求;用于将所述签名设备返回的随机数和证书发送给CA服务器;用于接收所述CA服务器返回的提示证书无效的信息或是将所述CA服务器返回的签名值发送给所述签名设备;用于接收所述签名设备返回的证书验证成功信息或证书验证失败信息;还用于调用签名应用程序向所述签名设备发送待签名数据以及接收所述签名设备返回的签名结果或错误信息;
所述签名设备,用于当接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息;用于当接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;还用于当接收到客户端发来的签名值时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则向所述客户端返回证书验证成功信息,否则向客户端返回证书验证失败信息;
所述CA服务器,用于接收所述客户端发来的随机数和证书,并判断所述证书是否有效,是则使用预置私钥对所述随机数和所述证书进行签名得到签名值,向客户端发送所述签名值;否则向客户端返回提示证书无效的信息。
本发明的有益效果如下:本发明提供的技术方案中USBKey执行签名操作之前会主动向CA服务器发起证书验证请求,由CA服务器对证书签名后返回给USBKey以及USBKey对签名值验签,因此,本发明的技术方案相比现有的签名流程更加安全,同时有利于CA服务器对已下发的证书进行管控。
附图说明
图1是实施例1提供的一种签名系统的工作方法流程图;
图2是实施例2提供的一种签名系统的工作方法流程图;
图3是实施例3提供的一种签名设备的工作方法流程图;
图4是实施例4提供的一种签名设备的工作方法流程图;
图5是实施例6提供的一种签名设备的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种签名系统的工作方法,其中,所述签名系统包括USBKey、客户端和CA服务器,该签名系统的工作流程如图1所示,当客户端检测到有USBKey连接时,执行以下步骤:
步骤101:客户端向USBKey发送获取随机数和证书的请求;
具体的,客户端通过调用SKF_GenRandom接口和SKF_ExportCertificate接口来实现向USBKey发送获取随机数和证书的请求。
步骤102:USBKey生成随机数,获取设备中存储的证书;
步骤103:USBKey向客户端返回所述随机数和所述证书;
例如,向客户端以base64编码返回的随机数和证书的如下:
0w0Vwa8It0M=||MIIFMjCCBBqgAwIBAgIKWqs7lwAAAAGa5jANBgkqhkiG9w0BAQUFADA4MRMwEQYKCZImiZPyLGQBGRYDY29tMRIwEAYKCZImiZPyLGQBGRYCZnQxDTALBgNVBAMTBEVTQ0EwHhcNMTYwODMwMDYxNDMzWhcNMTcwODMwMDYxNDMzWjBoMRMwEQYKCZImiZPyLGQBGRYDY29tMRIwEAYKCZImiZPyLGQBGRYCZnQxDjAMBgNVBAMTBVVzZXJzMQ4wDAYDVQQDEwV0ZXN0MTEdMBsGCSqGSIb3DQEJARYOdGVzdEBtYWlsLnBhZ2UwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKQxbzZFAMfUCz0gCWPx1Mm5ZQjk9poA+sEqdCyfxfOn1oq4X5Cr25Xj3xF9lYZB/j1eDa8PTRPG2N6nKu6Okzm5aUiQExmFj2auaJO1zUCjQ38KsNTq/l6WPC5lWTXRVIlKboXXPIEitiwNpJKaOUxuz58dtXF1EpZAL9vsZ7a3AgMBAAGjggKQMIICjDAOBgNVHQ8BAf8EBAMCB4AwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhNiQEYGt21eHxYcNg8nVQoT0ySNdhJTUL4Lcjw8CAWQCAQIwHQYDVR0OBBYEFDlSopvRNToKPNK4HarEE+f6cAV/MB8GA1UdIwQYMBaAFI8Sm3q9swrPkzrBe575Vz/vWLRhMIHFBgNVHR8Egb0wgbowgbeggbSggbGGga5sZGFwOi8vL0NOPUVTQ0EsQ049V0lOLUZJRURGUTM5Q0tFLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWZ0LERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgbEGCCsGAQUFBwEBBIGkMIGhMIGeBggrBgEFBQcwAoaBkWxkYXA6Ly8vQ049RVNDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1mdCxEQz1jb20/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwQwNwYDVR0RBDAwLqAcBgorBgEEAYI3FAIDoA4MDHRlc3QxQGZ0LmNvbYEOdGVzdEBtYWlsLnBhZ2UwDQYJKoZIhvcNAQEFBQADggEBAAtHVnOKv0VjlcKNYltuP86hd2sMy8q34XpFiA60OBgRKCUU/HXc88sCR99ff4BJNpsyZABUVahRvWPsnD5pl/csI2A4awU3WVKrCFSTabDjaIPneXeV8DcgBgWDngsusXamCl7YbbWGLsp0rBonmMe1lFgryb6sGjzUuOSQGdoAZIoPo1lxWSn6Vh7GApXFu3HqpDxqcFYuhuEjkDORCyqrEgUWfRKVkee5MA9Dx432OKn3YNJbXO23o1s8CaCEpldJjKwlnSVhcWbgBqXyoFI/Uhx/MJ8VWPOG6WhWQ7iknCAC6HaHeqUO9wu6YNdq2uZCh/01n49smNjprBmUiAw=,其中,符号||前面的内容为随机数,后面的内容为证书。
步骤104:客户端向CA服务器发送所述随机数和所述证书;
步骤105:CA服务器接收所述随机数和证书,并判断所述证书是否有效,是则执行步骤107,否则执行步骤106;
具体的,证书中主要包含有证书颁发者、证书签名值和证书有效期;判断所述证书是否有效具体为:判断所述证书颁发者是否是CA服务器,判断所述证书签名值是否通过验证以及判断所述证书有效期是否有效,若判断结果均为是则所述证书有效,否则所述证书无效。
步骤106:CA服务器向客户端返回提示证书无效的信息,结束。
步骤107:CA服务器根据第一预设算法使用预置私钥对所述随机数和所述证书进行签名得到签名值;
例如,第一预设算法为SM2算法,预置私钥为40 00 14 24 83 02 14 20 42 88 024A 10 14 80 00 02 1C 00 09 83 58 21 AC 80 00 A0 13 11 00 A8 59;预置公钥为26EA 8A 39 30 20 8E FD 91 32 F7 1C 51 0A AB 57 43 8B 3D BC 27 D3 04 E7 98 EC CAF2 A0 EA 74 EB 75 00 D9 CF F3 0E 63 10 15 C7 73 72 8E 8C 25 09 38 0A 22 E1 E742 B6 AB A0 9D CF 85 7C 42 CC EA,本步骤得到的签名值为8A 3A D4 D3 2C 04 C4 D78C 3D 48 F0 24 CF 93 C0 4E C7 68 7A A1 DE E9 72 CD 40 84 1F 36 8B 69 65 0C 8626 C4 BD A0 72 E7 58 F2 1D DD A2 D5 23 AA DD 6C CE 0C 52 7E F4 EA FC 8A 06 7E37 89 13 98。
步骤108:CA服务器向客户端发送所述签名值;
步骤109:客户端向USBKey发送所述签名值;
步骤110:USBKey根据第一预设算法、预置公钥和所述随机数、所述证书验证接收到的所述签名值,若通过验证则执行步骤112,若未通过验证则执行步骤111;
步骤111:USBKey提示证书验证失败,结束。
步骤112:USBKey置位签名权限标志;
步骤113:当客户端的签名应用程序被调用时,通过客户端提示用户输入PIN码;
步骤114:客户端接收用户输入的PIN码;
例如,接收到的用户输入的PIN码为123456。
步骤115:客户端向USBKey发送所述PIN码;
步骤116:USBKey接收并验证所述PIN码是否正确,是则执行步骤118,否则执行步骤117;
步骤117:USBKey向客户端返回验PIN失败信息,结束;
步骤118:USBKey置位验PIN成功标志;
步骤119:USBKey向客户端返回验PIN成功信息;
步骤120:客户端向USBKey发送待签名数据;
步骤121:USBKey接收所述待签名数据,判断签名权限标志和验PIN成功标志是否置位,是则执行步骤123,否则执行步骤122;
步骤122:USBKey向客户端返回签名失败信息,结束;
步骤123:USBKey根据第二预设算法、与证书对应的私钥对所述待签名数据执行签名操作得到签名结果;
具体的,第二预设算法与第一预设算法可以为同一算法,也可以为不同的算法。
步骤124:USBKey向客户端返回所述签名结果,结束。
本实施例中优选的,当USBKey与客户端断开连接时,复位所述签名权限标志和验PIN成功标志。
进一步的,上述步骤113还可以是,当客户端的签名应用程序被调用时,直接执行步骤120;相应的,步骤121中仅判断签名权限标志是否置位,是则执行步骤123,否则执行步骤122。或者是相应的,省略步骤112,执行步骤110的结果为通过验证时步骤121中无需进行置位标志判断,步骤121中USBKey接收所述待签名数据之后直接执行步骤123。
本实施例提供的方法在客户端增加了检测到有USBKey连接时,USBKey便主动向CA服务器发起进行证书检测的机制,然后结合现有的签名应用程序来完成整个签名流程,在无需改动现有签名应用程序的基础上实现了增强签名安全性的目的。
实施例2
本实施例提供了一种签名系统的工作方法,其中,所述签名系统包括USBKey、客户端和CA服务器,该签名系统的工作流程如图2所示,包括以下步骤:
步骤200:当客户端的签名应用程序被调用时,通过客户端提示用户输入PIN码;
步骤201:客户端接收用户输入的PIN码;
步骤202:客户端向USBKey发送所述PIN码;
步骤203:USBKey接收并验证所述PIN码是否正确,是则执行步骤205,否则执行步骤204;
步骤204:USBKey向客户端返回验PIN失败信息,结束;
步骤205:USBKey置位验PIN成功标志;
步骤206:USBKey向客户端返回验PIN成功信息;
步骤207:客户端向USBKey发送获取随机数和证书的请求;
步骤208:USBKey生成随机数,获取设备中存储的证书;
步骤209:USBKey向客户端返回所述随机数和所述证书;
步骤210:客户端向CA服务器发送所述随机数和所述证书;
步骤211:CA服务器接收所述随机数和证书,并判断所述证书是否有效,是则执行步骤213,否则执行步骤212;
步骤212:CA服务器接向客户端返回提示证书无效的信息,结束。
步骤213:CA服务器根据第一预设算法使用预置私钥对所述随机数和所述证书进行签名得到签名值;
步骤214:CA服务器接向客户端发送所述签名值;
步骤215:客户端向USBKey发送所述签名值;
步骤216:USBKey根据第一预设算法、预置公钥和所述随机数、所述证书验证接收到的所述签名值,如通过验证则执行步骤218,如未通过验证则执行步骤217;
步骤217:USBKey提示证书验证失败,结束。
步骤218:USBKey置位签名权限标志;
步骤219:USBKey向客户端返回证书验证成功信息;
步骤220:客户端向USBKey发送待签名数据;
步骤221:USBKey接收所述待签名数据,判断签名权限标志和验PIN成功标志是否置位,是则执行步骤223,否则执行步骤222;
步骤222:USBKey向客户端返回签名失败信息,结束;
步骤223:USBKey根据第二预设算法、与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,复位所述签名权限标志和所述验PIN成功标志;
步骤224:USBKey向客户端返回所述签名结果,结束。
进一步的,本实施例提供的方法还可以是,当客户端的签名应用程序被调用时,先执行步骤207至步骤219完成对证书的获取,然后提示用户输入PIN码,执行步骤201至步骤206完成对PIN码的验证。
进一步的,本实施例提供的方法还可以是仅在签名之前对证书进行验证,不包含PIN码的验证即步骤201至步骤206,相应的,在流程中可以省略步骤218以及步骤221中的对签名权限标志和验PIN成功标志的判断。
本实施例提供的方法在现有的签名应用程序中增加了USBKey在执行签名操作之前向CA服务器发起了对设备中存储的证书进行检测的机制,通过对现有签名应用程序进行改进达到了增强签名安全性的目的。
实施例3
本实施例提供了一种签名设备(USBKey)的工作方法,如图3所示,包括以下步骤:
当接收到客户端发来的获取随机数和证书的请求时,执行步骤300;
步骤300:生成随机数并保存,获取设备中存储的证书,向客户端返回所述随机数和所述证书,返回开始;
具体的,若当前已保存有随机数则所述生成随机数并保存具体为,生成随机数并用新生成的随机数替换当前已保存的随机数。
当接收到客户端发来的签名值时,执行步骤301;
步骤301:验证接收到的所述签名值,若通过验证则执行步骤302,若未通过验证则返回开始;
步骤302:置位签名权限标志,向客户端返回证书验证验证成功信息,返回开始;
当接收到客户端发来的PIN码时,执行步骤303;
步骤303:验证接收到的所述PIN码是否正确,是则执行步骤304,否则执行步骤305;
步骤304:置位验PIN成功标志,向客户端返回验PIN成功信息,返回开始;
步骤305:向客户端返回验PIN失败信息,返回开始;
当接收到客户端发来的待签名数据时,执行步骤306;
步骤306:判断签名权限标志和验PIN成功标志是否置位,是则执行步骤307,否则执行步骤308;
步骤307:对所述待签名数据执行签名操作得到签名结果,复位所述签名权限标志和所述验PIN成功标志,向客户端返回所述签名结果,返回开始;
优选的,还可以是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志,则相应的步骤307具体为,对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,返回开始。
步骤308:向客户端返回签名失败信息,返回开始。
本实施例提供的方法在USBKey执行签名操作之前,同时存在对PIN码的验证和通过CA服务器对证书的有效性进行的验证,增强了签名安全性。
实施例4
本实施例提供了一种签名设备(USBKey)的工作方法,如图4所示,包括以下步骤:
当接收到客户端发来的获取随机数和证书的请求时,执行步骤400;
步骤400:生成随机数并保存,获取设备中存储的证书,向客户端返回所述随机数和所述证书,返回开始;
具体的,若当前已保存有随机数则所述生成随机数并保存具体为,生成随机数并用新生成的随机数替换当前已保存的随机数。
当接收到客户端发来的签名值时,执行步骤401;
步骤401:保存所述签名值,向客户端返回表示签名值已保存的信息,返回开始;
具体的,若当前已保存有签名值,则保存所述签名值具体为用新接收到的签名值替换当前已保存的签名值。
当接收到客户端发来的待签名数据时,执行步骤402;
步骤402:判断是否有签名操作权限,是则执行步骤403,否则执行步骤404;
具体的,所述判断是否有签名权限具体为验证当前保存的所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限。
步骤403:对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,返回开始。
步骤404:向客户端返回错误信息,返回开始。
进一步的,本实施例提供的方法还可以包括:当接收到客户端发来的PIN码时,验证所述PIN码是否正确,是则向客户端返回验PIN成功信息,返回开始,否则向客户端返回验PIN失败信息,返回开始。
或者是,当接收到客户端发来的PIN码时,保存所述PIN码,当接收到客户端发来的待签名数据时,上述步骤402还包括验证当前保存的所述PIN码,当所述PIN码和所述签名值均通过验证时执行步骤403。
优选的,本实施例中上述步骤401可以替换为:验证接收到的所述签名值,若通过验证则置位签名权限标志,向所述客户端返回证书验证成功信息,返回开始,否则向客户端返回证书验证失败信息,返回开始;上述步骤402具体为:判断签名权限标志是否置位,是则有签名操作权限,否则无签名操作权限。
优选的,当验证所述PIN码正确时还包括置位验PIN成功标志,上述步骤402具体为:判断签名权限标志和验PIN成功标志是否均置位,是则有签名操作权限,否则无签名操作权限。相应的,所述执行签名操作得到签名结果之后还包括复位所述签名权限标志和所述验PIN成功标志;或者是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
实施例5
基于实施例1和2的基础上,本实施例提供了一种签名系统,包括客户端、签名设备和CA服务器;
所述客户端,用于当检测到有签名设备连接时,向所述签名设备发送获取随机数和证书的请求;用于将所述签名设备返回的随机数和证书发送给CA服务器;用于接收所述CA服务器返回的提示证书无效的信息或是将所述CA服务器返回的签名值发送给所述签名设备;用于接收所述签名设备返回的证书验证成功信息或证书验证失败信息;还用于调用签名应用程序向所述签名设备发送待签名数据以及接收所述签名设备返回的签名结果或错误信息;
所述签名设备,用于当接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息;用于当接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;还用于当接收到客户端发来的签名值时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则向所述客户端返回证书验证成功信息,否则向客户端返回证书验证失败信息;
所述CA服务器,用于接收所述客户端发来的随机数和证书,并判断所述证书是否有效,是则使用预置私钥对所述随机数和所述证书进行签名得到签名值,向客户端发送所述签名值;否则向客户端返回提示证书无效的信息。
上述签名设备,还用于当向所述客户端返回证书验证成功信息时置位签名权限标志;所述判断是否有签名操作权限具体为,判断所述签名权限标志是否置位,是则表示有签名操作权限,否则表示没有签名操作权限。
上述客户端还用于调用签名应用程序提示用户输入PIN码,并将用户输入的PIN码发送给所述签名设备,以及接收所述签名设备返回的验PIN成功信息或验PIN失败信息;相应的,所述签名设备还用于当接收到客户端发来的PIN码时,验证所述PIN码是否正确,是则向所述客户端返回验PIN成功信息,否则向所述客户端返回验PIN失败信息;
进一步的,所述签名设备,还用于向客户端返回验PIN成功信息时置位验PIN成功标志;所述判断是否有签名操作权限具体为,所述签名权限标志和所述验PIN成功标志是否置位,是则表示有签名操作权限;否则表示没有签名操作权限。
相应的,上述签名设备,还具体用于当执行签名操作得到签名结果之后复位所述签名权限标志和所述验PIN成功标志;或者是具体用于当与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
进一步的,本实施例提供的所述签名设备,还可以具体用于当接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;具体用于当接收到客户端发来的签名值时,保存所述签名值;若所述签名设备当前已保存有签名值,则保存所述签名值具体为用新接收到的签名值替换当前已保存的签名值。
所述签名设备还具体用于当接收到客户端发来的待签名数据时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,若未通过验证则向客户端返回错误信息。
实施例6
本实施例提供了一种签名设备,如图5所示,包括第一收发模块501、第一处理模块502、第二收发模块503、第二处理模块504、第三收发模块505和第三处理模块506;
所述第一收发模块501,用于在接收到客户端发来的待签名数据时,将所述待签名数据传送给所述第一处理模块502,并将所述第一处理模块502传来的签名结果或错误信息返回给所述客户端;
所述第一处理模块502,用于判断是否有签名操作权限,是则使用证书对应的私钥对所述第一收发模块501传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块501,否则发送错误信息给所述第一收发模块501;
所述第二收发模块503,用于在接收到客户端发来的获取随机数和证书的请求时触发所述第二处理模块504,并将所述第二处理模块504传来的随机数和证书返回给所述客户端;
所述第二处理模块504,用于生成随机数并保存,还用于获取设备中存储的证书,并将所述随机数和所述证书传送给第二收发模块503;
所述第三收发模块505,用于在接收到客户端发来的签名值时,将所述签名值传送给所述第三处理模块506;
所述第三处理模块506,用于根据设备中的预置公钥、当前设备中保存的所述随机数和所述证书验证所述第三收发模块505传来的所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限。
上述第三收发模块505,还用于在接收到客户端发来的PIN时,将所述PIN码传送给所述第三处理模块506;相应的,所述第三处理模块506,还用于验证所述PIN码是否正确,若所述PIN码和所述签名值均通过验证则有签名操作权限,否则无签名操作权限。
进一步的,上述第三收发模块505,还用于当所述第三处理模块506验证所述签名值的结果为通过验证时向客户端返回证书验证成功信息,以及当所述第三处理模块506验证所述签名值的结果为未通过验证时向客户端返回证书验证失败信息;
优选的,本实施例提供的所述签名设备还包括设置模块,用于所述第三收发模块505向所述客户端返回证书验证成功信息时置位签名权限标志;
所述第一处理模块502,具体用于判断所述签名权限标志是否置位,是则使用与证书对应的私钥对所述第一收发模块501传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块501,否则发送错误信息给所述第一收发模块501。
进一步的,上述第三收发模块505,还用于当所述第三处理模块506验证所述PIN码的结果为通过验证时向所述客户端返回验PIN成功信息,以及当所述第三处理模块506验证所述PIN码的结果为未通过验证时向所述客户端返回验PIN失败信息;
所述设置模块,还用于所述第三收发模块505向所述客户端返回验PIN成功信息时置位验PIN成功标志;
所述第一处理模块502,具体用于判断所述签名权限标志和所述验PIN成功标志是否均置位,是则使用与证书对应的私钥对所述第一收发模块501传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块501,否则发送错误信息给所述第一收发模块501。
所述设置模块,还用于收到所述第一处理模块502的触发时复位签名权限标志和验PIN成功标志;所述第一处理模块502,还用于在执行签名操作得到签名结果时,触发所述设置模块;或者是所述设置模块,还用于当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
进一步的,本实施例提供的签名设备中的所述第一处理模块502,还可以是具体用于根据设备中的预置公钥、所述随机数和所述证书验证所述第三处理模块506中当前保存的所述签名值,若通过验证则使用证书对应的私钥对所述第一收发模块501传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块502,否则发送错误信息给所述第一收发模块502;
相应的,所述第三处理模块506,具体用于在收到所述第一处理模块502传来的所述签名值时,保存所述签名值。若第三处理模块506当前已保存有签名值,则保存所述签名值具体为用新接收到的签名值替换当前已保存的签名值。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种签名设备的工作方法,其特征在于:包括,
当签名设备接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;
当签名设备接收到客户端发来的签名值时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限;
当签名设备接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
2.根据权利要求1所述的方法,其特征在于:还包括,当所述签名设备接收到客户端发来的PIN码时,验证所述PIN码,若所述PIN码和所述签名值均通过验证则有签名操作权限,否则无签名操作权限。
3.根据权利要求2所述的方法,其特征在于:当所述签名值通过验证时还包括:签名设备向所述客户端返回证书验证成功信息以及置位签名权限标志;当所述签名值未通过验证时还包括:签名设备向客户端返回证书验证失败信息;
所述判断是否有签名操作权限具体为,判断所述签名权限标志是否置位,是则表示有签名操作权限,否则表示没有签名操作权限。
4.根据权利要求3所述的方法,其特征在于:当所述PIN码通过验证时还包括:签名设备向客户端返回验PIN成功信息以及置位验PIN成功标志;当所述PIN码未通过验证时还包括:签名设备向客户端返回验PIN失败信息;
所述判断是否有签名操作权限具体为,判断所述签名权限标志和所述验PIN成功标志是否均置位,是则表示有签名操作权限;否则表示没有签名操作权限。
5.根据权利要求4所述的方法,其特征在于:所述执行签名操作得到签名结果之后还包括复位所述签名权限标志和所述验PIN成功标志;
或者是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
6.根据权利要求1所述的方法,其特征在于:当所述签名设备接收到客户端发来的签名值时,保存所述签名值;
当签名设备接收到客户端发来的待签名数据时,执行所述根据设备中的预置公钥、所述随机数和所述证书验证当前保存的所述签名值,若通过验证则执行所述使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
7.一种签名设备,其特征在于:包括第一收发模块、第一处理模块、第二收发模块、第二处理模块、第三收发模块和第三处理模块;
所述第一收发模块,用于在接收到客户端发来的待签名数据时,将所述待签名数据传送给所述第一处理模块,并将所述第一处理模块传来的签名结果或错误信息返回给所述客户端;
所述第一处理模块,用于判断是否有签名操作权限,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块;
所述第二收发模块,用于在接收到客户端发来的获取随机数和证书的请求时触发所述第二处理模块,并将所述第二处理模块传来的随机数和证书返回给所述客户端;
所述第二处理模块,用于生成随机数并保存,还用于获取设备中存储的证书,并将所述随机数和所述证书传送给第二收发模块;
所述第三收发模块,用于在接收到客户端发来的签名值时,将所述签名值传送给所述第三处理模块;
所述第三处理模块,用于根据设备中的预置公钥、当前设备中保存的所述随机数和所述证书验证所述第三收发模块传来的所述签名值,若通过验证则有签名操作权限,若未通过验证则无签名操作权限。
8.根据权利要求7所述的签名设备,其特征在于:所述第三收发模块,还用于在接收到客户端发来的PIN时,将所述PIN码传送给所述第三处理模块;
所述第三处理模块,还用于验证所述PIN码是否正确,若所述PIN码和所述签名值均通过验证则有签名操作权限,否则无签名操作权限。
9.根据权利要求8所述的签名设备,其特征在于:所述第三收发模块,还用于当所述第三处理模块验证所述签名值的结果为通过验证时向客户端返回证书验证成功信息,以及当所述第三处理模块验证所述签名值的结果为未通过验证时向客户端返回证书验证失败信息;
所述签名设备还包括设置模块,用于在所述第三收发模块向所述客户端返回证书验证成功信息时置位签名权限标志;
所述第一处理模块,具体用于判断所述签名权限标志是否置位,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块。
10.根据权利要求9所述的签名设备,其特征在于:所述第三收发模块,还用于当所述第三处理模块验证所述PIN码的结果为通过验证时向所述客户端返回验PIN成功信息,以及当所述第三处理模块验证所述PIN码的结果为未通过验证时向所述客户端返回验PIN失败信息;
所述设置模块,还用于在所述第三收发模块向所述客户端返回验PIN成功信息时置位验PIN成功标志;
所述第一处理模块,具体用于判断所述签名权限标志和所述验PIN成功标志是否均置位,是则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块。
11.根据权利要求10所述的签名设备,其特征在于:所述设置模块,还用于在接收到所述第一处理模块的触发时复位签名权限标志和验PIN成功标志;所述第一处理模块,还用于在执行签名操作得到签名结果时,触发所述设置模块;
或者是所述设置模块,还用于当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
12.根据权利要求7所述的签名设备,其特征在于:
所述第一处理模块,具体用于根据设备中的预置公钥、所述随机数和所述证书验证所述第三处理模块中当前保存的所述签名值,若通过验证则使用与证书对应的私钥对所述第一收发模块传来的所述待签名数据执行签名操作得到签名结果,并将所述签名结果传送给所述第一收发模块,否则发送错误信息给所述第一收发模块;
所述第三处理模块,具体用于在收到所述第一处理模块传来的所述签名值时,保存所述签名值。
13.一种签名系统的工作方法,其特征在于:
当客户端检测到有签名设备连接时,执行步骤a1;
步骤a1:客户端向签名设备发送获取随机数和证书的请求;
步骤a2:签名设备生成随机数,获取设备中存储的证书,向客户端返回所述随机数和所述证书;
步骤a3:客户端向CA服务器发送所述随机数和所述证书;
步骤a4:CA服务器接收所述随机数和证书,并判断所述证书是否有效,是则使用预置私钥对所述随机数和所述证书进行签名得到签名值,向客户端发送所述签名值,执行步骤a5;否则向客户端返回提示证书无效的信息,结束;
步骤a5:客户端向签名设备发送所述签名值;
步骤a6:签名设备根据设备中的预置公钥、所述随机数和所述证书验证接收到的所述签名值,若通过验证则向所述客户端返回证书验证成功信息,否则向客户端返回证书验证失败信息;
当客户端的签名应用程序被调用时,执行步骤b1;
步骤b1:客户端向签名设备发送待签名数据;
步骤b2:签名设备接收所述待签名数据,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
14.根据权利要求13所述的方法,其特征在于:还包括,当向所述客户端返回证书验证成功信息时置位签名权限标志;
所述判断是否有签名操作权限具体为,判断所述签名权限标志是否置位,是则表示有签名操作权限,否则表示无签名操作权限。
15.根据权利要求14所述的方法,其特征在于:
所述当客户端的签名应用程序被调用时所述方法还包括,所述客户端提示用户输入PIN码,并将用户输入的PIN码发送给签名设备,当所述签名设备接收到所述PIN码时,验证所述PIN码是否正确,是则向客户端返回验PIN成功信息,否则向客户端返回验PIN失败信息;所述向客户端返回验PIN成功信息时还包括置位验PIN成功标志;
所述步骤b2中所述判断是否有签名操作权限具体为,判断所述签名权限标志和所述验PIN成功标志是否置位,是则表示有签名操作权限;否则表示无签名操作权限。
16.根据权利要求15所述的方法,其特征在于:所述执行签名操作得到签名结果之后还包括复位所述签名权限标志和所述验PIN成功标志;
或者是当所述签名设备与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
17.根据权利要求13所述的方法,其特征在于:
所述步骤a6替换为,当所述签名设备接收到客户端发来的签名值时,保存所述签名值,向客户端返回表示签名值已保存的信息;
所述步骤b2替换为,签名设备接收所述待签名数据,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息。
18.一种签名系统,其特征在于:包括客户端、签名设备和CA服务器;
所述客户端,用于当检测到有签名设备连接时,向所述签名设备发送获取随机数和证书的请求;用于将所述签名设备返回的随机数和证书发送给CA服务器;用于接收所述CA服务器返回的提示证书无效的信息或是将所述CA服务器返回的签名值发送给所述签名设备;用于接收所述签名设备返回的证书验证成功信息或证书验证失败信息;还用于调用签名应用程序向所述签名设备发送待签名数据以及接收所述签名设备返回的签名结果或错误信息;
所述签名设备,用于当接收到客户端发来的待签名数据时,判断是否有签名操作权限,是则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,否则向客户端返回错误信息;用于当接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;还用于当接收到客户端发来的签名值时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则向所述客户端返回证书验证成功信息,否则向客户端返回证书验证失败信息;
所述CA服务器,用于接收所述客户端发来的随机数和证书,并判断所述证书是否有效,是则使用预置私钥对所述随机数和所述证书进行签名得到签名值,向客户端发送所述签名值;否则向客户端返回提示证书无效的信息。
19.根据权利要求18所述的系统,其特征在于:所述签名设备,还用于当向所述客户端返回证书验证成功信息时置位签名权限标志;所述判断是否有签名操作权限具体为,判断所述签名权限标志是否置位,是则表示有签名操作权限,否则表示没有签名操作权限。
20.根据权利要求19所述的系统,其特征在于:所述客户端还用于调用签名应用程序提示用户输入PIN码,并将用户输入的PIN码发送给所述签名设备,以及接收所述签名设备返回的验PIN成功信息或验PIN失败信息;
所述签名设备还用于当接收到客户端发来的PIN码时,验证所述PIN码是否正确,是则向所述客户端返回验PIN成功信息,否则向所述客户端返回验PIN失败信息;
所述签名设备,还用于向客户端返回验PIN成功信息时置位验PIN成功标志;所述判断是否有签名操作权限具体为,所述签名权限标志和所述验PIN成功标志是否置位,是则表示有签名操作权限;否则表示没有签名操作权限。
21.根据权利要求20所述的系统,其特征在于:所述签名设备,还用于当执行签名操作得到签名结果之后复位所述签名权限标志和所述验PIN成功标志;或者还用于当与所述客户端断开连接时复位所述签名权限标志和所述验PIN成功标志。
22.根据权利要求18所述的系统,其特征在于:
所述签名设备,具体用于当接收到客户端发来的获取随机数和证书的请求时,生成随机数并保存,获取设备中存储的证书,向所述客户端返回所述随机数和所述证书;具体用于当接收到客户端发来的签名值时,保存所述签名值;具体用于当接收到客户端发来的待签名数据时,根据设备中的预置公钥、所述随机数和所述证书验证所述签名值,若通过验证则使用与证书对应的私钥对所述待签名数据执行签名操作得到签名结果,向客户端返回所述签名结果,若未通过验证则向客户端返回错误信息。
CN201610951023.XA 2016-10-27 2016-10-27 一种签名设备、系统及其工作方法 Active CN106656504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610951023.XA CN106656504B (zh) 2016-10-27 2016-10-27 一种签名设备、系统及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610951023.XA CN106656504B (zh) 2016-10-27 2016-10-27 一种签名设备、系统及其工作方法

Publications (2)

Publication Number Publication Date
CN106656504A true CN106656504A (zh) 2017-05-10
CN106656504B CN106656504B (zh) 2019-06-18

Family

ID=58821607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610951023.XA Active CN106656504B (zh) 2016-10-27 2016-10-27 一种签名设备、系统及其工作方法

Country Status (1)

Country Link
CN (1) CN106656504B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764848A (zh) * 2018-05-31 2018-11-06 飞天诚信科技股份有限公司 一种电子合同的签署方法及系统
WO2020248686A1 (zh) * 2019-06-11 2020-12-17 飞天诚信科技股份有限公司 一种安全签名的实现方法及装置
CN113630364A (zh) * 2020-05-06 2021-11-09 阿里巴巴集团控股有限公司 设备端、服务端、网络系统和网络连接方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183932A (zh) * 2007-12-03 2008-05-21 宇龙计算机通信科技(深圳)有限公司 一种无线应用服务的安全认证系统及其注册和登录方法
CN101651540A (zh) * 2008-08-12 2010-02-17 中国移动通信集团公司 一种数字证书更新的方法、装置及系统
WO2010127539A1 (zh) * 2009-05-06 2010-11-11 中兴通讯股份有限公司 一种流媒体业务的接入认证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183932A (zh) * 2007-12-03 2008-05-21 宇龙计算机通信科技(深圳)有限公司 一种无线应用服务的安全认证系统及其注册和登录方法
CN101651540A (zh) * 2008-08-12 2010-02-17 中国移动通信集团公司 一种数字证书更新的方法、装置及系统
WO2010127539A1 (zh) * 2009-05-06 2010-11-11 中兴通讯股份有限公司 一种流媒体业务的接入认证方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764848A (zh) * 2018-05-31 2018-11-06 飞天诚信科技股份有限公司 一种电子合同的签署方法及系统
CN108764848B (zh) * 2018-05-31 2021-03-16 飞天诚信科技股份有限公司 一种电子合同的签署方法及系统
WO2020248686A1 (zh) * 2019-06-11 2020-12-17 飞天诚信科技股份有限公司 一种安全签名的实现方法及装置
CN113630364A (zh) * 2020-05-06 2021-11-09 阿里巴巴集团控股有限公司 设备端、服务端、网络系统和网络连接方法
CN113630364B (zh) * 2020-05-06 2023-04-07 阿里巴巴集团控股有限公司 设备端、服务端、网络系统和网络连接方法

Also Published As

Publication number Publication date
CN106656504B (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN103685311B (zh) 一种登录验证方法及设备
CN104767613B (zh) 签名验证方法、装置及系统
CN105162785B (zh) 一种基于认证设备进行注册的方法和设备
CN105187450B (zh) 一种基于认证设备进行认证的方法和设备
CN104869175B (zh) 跨平台的账号资源共享实现方法、装置及系统
CN104917727B (zh) 一种帐户鉴权的方法、系统及装置
CN104917766B (zh) 一种二维码安全认证方法
CN105847034B (zh) 源验证和路径认证方法及装置
CN105141628B (zh) 一种实现推送的方法及装置
CN106411950B (zh) 基于区块链交易id的认证方法、装置及系统
CN110351228A (zh) 远程登录方法、装置和系统
CN106341372A (zh) 终端的认证处理、认证方法及装置、系统
CN104038490B (zh) 一种通信安全校验方法及其装置
CN106936790A (zh) 基于数字证书实现客户端和服务器端进行双向认证的方法
CN106779716A (zh) 基于区块链账户地址的认证方法、装置及系统
CN101662458A (zh) 一种认证方法
CN103916400B (zh) 一种用户账号管理方法及系统
CN106549763A (zh) 一种实现实名认证的方法及装置
CN105515778B (zh) 云存储数据完整性服务签名方法
CN106656504A (zh) 一种签名设备、系统及其工作方法
CN109688098A (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
CN109586920A (zh) 一种可信验证方法及装置
CN112600669B (zh) 一种密码算法和符合性验证系统
CN105743854A (zh) 安全认证系统及方法
CN105933876A (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