CN112887099B - 数据签名方法、电子设备及计算机可读存储介质 - Google Patents
数据签名方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112887099B CN112887099B CN202110033074.5A CN202110033074A CN112887099B CN 112887099 B CN112887099 B CN 112887099B CN 202110033074 A CN202110033074 A CN 202110033074A CN 112887099 B CN112887099 B CN 112887099B
- Authority
- CN
- China
- Prior art keywords
- authorization
- signing
- client
- signature
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013475 authorization Methods 0.000 claims abstract description 135
- 230000032683 aging Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/12—Cash registers electronically operated
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据签名方法、电子设备及计算机可读存储介质,涉及信息技术领域。本申请通过获取签名机的标识信息,根据标识信息对签名机进行授权操作,以使签名机获取具有预设时效的授权标识并根据授权标识进行预设时效的授权,获取签名机被授权后生成的加密公钥,发送签名数据给签名机,以使签名机对签名数据进行签名,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
Description
技术领域
本申请涉及信息技术领域,尤其是涉及一种数据签名方法、电子设备及计算机可读存储介质。
背景技术
目前的POS终端大多允许安装应用软件,而在安装应用软件的过程中需要考虑应用软件的合法性,因此,需要防止非法使用者下装危险软件到POS中进行非法作案,或者窃取POS中存储的密钥及敏感信息等安全问题。只有通过POS终端的所有者认可的应用软件才可以下装到POS终端中,例如确定认可的应用软件才可以下装到POS终端中,通过对应用软件进行签名认证确认该应用软件可以下装。
目前采用的签名认证方式有以下两种:
第一种是在线签名,登录POS终端厂商提供的网站进行签名认证,但这种方式需要连接网络进行在先签名,并且进行签名认证的私钥保留在POS厂商处,对于客户而言是存在一定的风险的。
第二种是脱机工具签名,由客户通过签名工具生成公私钥密钥对进行签名,但这种方式所产生的私钥是保存在本地终端上的,容易泄露出去,安全性较低,不利于进行管控。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种数据签名方法,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
本申请还提出一种应用于签名机的数据签名方法。
本申请还提出一种具有上述数据签名方法的电子设备。
本申请还提出一种具有上述数据签名方法的计算机可读存储介质。
根据本申请的第一方面实施例的数据签名方法,包括:
获取签名机的标识信息;
根据所述标识信息执行授权操作,以使所述签名机获取具有预设时效的授权标识并根据所述授权标识进行预设时效的授权;
获取所述签名机被授权后生成的加密公钥;
发送签名数据给所述签名机进行签名,生成签名文件。
根据本申请实施例的数据签名方法,至少具有如下有益效果:通过获取签名机的标识信息,根据标识信息对签名机进行授权操作,以使签名机获取具有预设时效的授权标识并根据授权标识进行预设时效的授权,获取签名机被授权后生成的加密公钥,发送签名数据给签名机进行签名,生成签名文件,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
根据本申请的一些实施例,所述根据所述标识信息执行授权操作,以使所述签名机在预设时间内被授权并根据所述授权标识进行预设时效的授权,包括:
发送所述标识信息给服务器;
获取所述服务器根据所述标识信息生成具有预设时效的所述授权标识;
发送所述授权标识给所述签名机,所述授权标识用于对所述签名机进行预设时时效的授权。
根据本申请的一些实施例,所述标识信息包括:所述签名机的机身号、CPUID、FLASHID、随机数和时间戳。
根据本申请的一些实施例,所述获取所述签名机被授权后生成的加密公钥之后,还包括:将所述加密公钥发送给所述服务器,以使所述服务器根据所述加密公钥生成加密证书,所述加密证书用于放置在POS机中。
根据本申请的一些实施例,所述发送签名数据给所述签名机进行签名,生成签名文件,包括:
发送签名数据给签名机;
获取由签名机根据加密私钥完成签名的所述签名数据;
根据所述完成签名的签名数据生成签名文件。
根据本申请的第二方面实施例的数据签名方法,包括:发送标识信息给客户端,所述标识信息用于所述客户端执行授权操作;
获取所述客户端执行所述授权操作后返回的具有预设时效的授权标识;
根据所述授权标识进行预设时效的授权;
将生成的加密公钥发送给所述客户端;
接收所述客户端发送的签名数据,对所述签名数据进行签名。
根据本申请实施例的数据签名方法,至少具有如下有益效果:通过发送标识信息给客户端,客户端根据标识信息进行授权操作,获取客户端执行授权操作后返回的具有预设时效的授权标识,根据授权标识进行预设时效的授权,之后将生成的加密公钥发送给客户端,接收客户端发送的签名数据,对签名数据进行签名,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
根据本申请的一些实施例,所述获取所述客户端执行所述授权操作返回的具有预设时效的授权标识,包括:
获取来自所述客户端具有预设时效的授权标识,所述授权标识由所述客户端将所述标识信息发送给服务器,以使所述服务器根据所述标识信息生成并返回给所述客户端;
校验所述授权标识,并根据校验结果完成授权。
根据本申请的一些实施例,所述将生成的加密公钥发送给所述客户端,包括:
将生成的加密密钥对中的所述加密公钥发送给客户端,所述加密公钥由所述客户端发送给所述服务器生成加密证书,所述加密证书用于放置在POS机中。
根据本申请的一些实施例,所述接收所述客户端发送的签名数据之前,还包括:
获取第一密码;
对所述第一密码的正确性进行校验;
若所述第一密码正确,对所述授权标识的预设时效进行检验。
根据本申请的一些实施例,还包括:
获取第二密码;
对所述第二密码的正确性进行校验;
若所述第二密码正确,生成所述加密密钥对,所述加密密钥对包括加密公钥和加密私钥;
根据本申请的一些实施例,还包括:获取第三密码;
对所述第三密码的正确性进行校验;
若所述第三密码正确,对所述加密密钥对进行备份。
根据本申请的一些实施例,接收所述客户端发送的签名数据,对所述签名数据进行签名,包括:
接收所述客户端发送的签名数据;
根据生成的所述加密私钥对所述签名数据进行签名;
将完成签名的签名数据送给所述客户端,所述签名数据用于所述客户端生成签名文件。
根据本申请的第三方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如第一方面和第二方面所述的数据签名方法。
根据本申请的电子设备,至少具有如下有益效果:通过执行第一方面和第二方面实施例中提到的数据签名方法,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
根据本申请的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面和第二方面所述的数据签名方法
根据本申请的计算机可读存储介质,至少具有如下有益效果:通过执行第一方面和第二方面实施例中提到的数据签名方法,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
图1为本申请实施例中的数据签名方法的一具体流程示意图;
图2为本申请实施例中的数据签名方法的步骤S120的一具体流程示意图;
图3为本申请实施例中的数据签名方法的步骤S140的一具体流程示意图;
图4为本申请实施例中的数据签名方法的另一具体流程示意图;
图5为本申请实施例中的数据签名方法的步骤S220和步骤S230的一具体流程示意图;
图6为本申请实施例中的数据签名方法的步骤S250的一具体流程示意图;
图7为本申请实施例中的数据签名方法的一具体应用示例图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
需要说明的是,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同流程图中的顺序执行所示出或描述的步骤。如果有描述到第一、第二、第三只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
需要说明的是,如无特殊说明,在实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
目前的POS终端大多允许安装应用软件,而在安装应用软件的过程中需要考虑应用软件的合法性,因此,需要防止非法使用者下装危险软件到POS中进行非法作案,或者窃取POS中存储的密钥及敏感信息等安全问题。只有通过POS终端的所有者认可的应用软件才可以下装到POS终端中,例如确定认可的应用软件才可以下装到POS终端中,通过对应用软件进行签名认证确认该应用软件可以下装。
目前采用的签名认证方式有以下两种:
第一种是在线签名,登录POS终端厂商提供的网站进行签名认证,但这种方式需要连接网络进行在先签名,并且进行签名认证的私钥保留在POS厂商处,对于客户而言是存在一定的风险的。
第二种是脱机工具签名,由客户通过签名工具生成公私钥密钥对进行签名,但这种方式所产生的私钥是保存在本地终端上的,容易泄露出去,安全性较低,不利于进行管控。
基于此,本申请实施例中提供了一种数据签名方法、电子设备及计算机可读存储介质。
第一方面,本申请实施例提供了一种数据签名方法。
在一些实施例中,参照图1,示出了本申请实施例中数据签名方法的流程示意图。其具体包括步骤:
S110,获取签名机的标识信息;
S120,根据标识信息执行授权操作,以使签名机获取具有预设时效的授权标识并根据授权标识进行预设时效的授权;
S130,获取签名机被授权后生成的加密公钥;
S140,发送签名数据给签名机进行签名,生成签名文件。
需要说明的是,本申请实施例中客户端以串口连接的方式连接签名,该客户端是指运行在操作***上的PC(personal computer,个人计算机)工具,能够对签名机下发相关指令以使签名机执行相关的操作,例如签名等操作。客户端在执行步骤S110,获取签名机的标识信息之前,需要在签名机上输入第一密码进行启动,以使签名机进入开机状态,并且需要获取签名机的机身号发给后台服务器,在后台服务器进行相关的注册和登记,以使签名机能够记录在后台服务器,以便后续的授权。其中第一密码是指用户操作密码,用于开放对签名机的使用权限。
在步骤S110中,客户端通过发送标识请求给签名机,以使签名机根据该标识请求返回签名机的标识信息,客户端接收签名机返回的标识信息。其中,标识信息是指签名机的机身号、CPUID(处理器信息)、FLASHID(设备ID号)、随机数、有效时间等信息,有效时间用于后续控制签名机的授权时间;随机数则用于核对后续生成的授权标识对应于该签名机发送的标识信息所生成的;机身号、CPUID以及FLASHID则是用于后台服务器确认是否与预先注册登记的签名机的机身号一致,保证了签名机的可授权性。
在步骤S120中,客户端根据获取到的签名机的标识信息,执行授权操作,该授权操作能够使签名机获取到具有预设时效的授权标识,并且能够通过该授权标识使得签名机具备预设时效的签名资格。其中预设时效是指根据实际需求设定的具有一定时间长度的时效性,预设时效的授权标识则是指具有预设的时效性的授权码,签名机通过该授权码能够保证在一定时间内被授权进行使用。
在一些实施例中,如图2所示,步骤S120具体还包括步骤:
S121,发送标识信息给服务器;
S122,获取服务器根据标识信息生成具有预设时效的授权标识;
S123,发送授权标识给签名机,授权标识用于对签名机进行预设时时效的授权。
在步骤S121中,客户端将接收到的签名机的标识信息转发给服务器后台,例如可以通过邮件发送的方式将其转发给服务器后台,具体地说,标识信息中包括签名机的机身号、CPUID、FLASHID、随机数、时间戳等信息,客户端将标识信息中包括的各个信息发送给服务器后台。其中时间戳用于确定客户端获取到的签名机的标识信息的时间点,用于后续客户端发送给服务器生成预设时效的授权标识。
在步骤S122中,客户端获取服务器根据接收到的标识信息生成相应的具有预设时效的授权标识。客户端将标识信息发送给服务器后台后,服务器后台会根据接收到的标识信息确定具体的签名机,确定该标识信息是否正确即确定该签名机是否预先注册登记在服务器后台,确保只有注册登记过的签名机的标识信息能够生产授权标识,其中授权标识是一种授权码,由服务器后台根据接收的签名机的标识信息生成的签名信息,该授权标识的长度可以为256字节,该授权标识中包含了签名机的机身号、CPUID、FLASHID、随机数、有效时间等信息,有效时间则是确定该授权标识的有效时间,即本申请实施例中提到的预设时效。服务器后台生成授权标识后,会将授权标识发送给客户端进行接收,例如通过邮件的形式将其发送给客户端。
在步骤S123中,客户端将接收到的授权标识转发给签名机进行授权,具体地说,签名机接收到授权标识后会将授权标识保存在签名机内部,并且签名机会对授权标识中的各个信息例如机身号、CPUID、FLASHID、随机数、有效时间等信息进行校准,若校准结果正确则判断该授权标识合法,完成授权,从而使签名机在一定时间内被授权,即具有预设时效的授权码。
在步骤S130中,客户端会获取签名机被授权后所生成的加密公钥,其中加密公钥的生成是由用户在签名机上输入第二密码,签名机在就接收到第二密码后,会生成加密密钥对,其中加密密钥对包括加密公钥和加密私钥。其中第二密码属于用户的管理密码,可以输入正确的第二密码后,通过相应的操作促使签名机生成加密密钥对。
在一些实施例中,客户端在获取到签名机的加密公钥后,将接收到的签名机的加密公钥发送给服务器后台,由服务器后台通过接收到的加密公钥进行公钥认证,生成加密证书,并由服务器后台将生成的加密证书发送到POS机中,从而使POS机能够根据该加密证书对签名机签发的数据进行相应的认证。其中公钥认证是指为签名机的加密公钥签发加密证书,以保证签名机的加密公钥的真实性。
在步骤S140中,当服务器签发了加密证书后,客户端可以发送签名数据给签名机,由签名机根据加密私钥对签名数据进行签名,其中加密私钥是通过签名机内部生成并保存,可用于对签名数据进行签名的;签名数据主要是待签名的文件的sha256哈希值以及填充值等。在实际应用中,需要输入正确的第一密码至签名机,通过对签名机进行相应操作,可以使签名机检验当前所拥有的授权标识的有效期限,确定签名机当前的授权标识是否有效,若有效,则可以通过签名机对签名数据进行签名。
在一些实施例中,如图3所示,步骤S140具体还包括步骤:
S141,发送签名数据给签名机;
S142,获取由签名机根据加密私钥完成签名的签名数据;
S143,根据完成签名的签名数据生成签名文件。
在步骤S141中,客户端将签名数据发送给签名机,由签名机根据生成的加密私钥对签名数据进行签名,通过签名机根据加密私钥对其进行签名。其中签名数据是待被签名的文件的sha256哈希值以及填充值等数据。
在步骤S142和步骤S143中,签名机返回的完成签名的签名数据是由签名机通过加密私钥对签名数据签名后的数据,具体为长度256字节的签名数据。客户端接收到该完成签名的签名数据后,在客户端完成签名数据的组合,最终生成签名文件,该签名文件可以安装在相应的POS机上。
在本申请实施例中提供了一种数据签名方法,客户端通过获取签名机的标识信息,根据标识信息对签名机进行授权操作,以使签名机获取具有预设时效的授权标识并根据授权标识进行预设时效的授权,获取签名机被授权后生成的加密公钥,发送签名数据给签名机进行签名,生成签名文件,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
第二方面,本申请实施例中还提供了一种数据签名方法
在一些实施例中,参照图4,示出了本申请实施例中数据签名方法的流程示意图。其具体包括步骤:
S210,发送标识信息给客户端;
S220,获取客户端执行授权操作后返回的具有预设时效的授权标识;
S230,根据授权标识进行预设时效的授权;
S240,将生成的加密公钥发送给客户端;
S250,接收客户端发送的签名数据,并对签名数据进行签名。
在步骤S210中,签名机接收到客户端的标识请求,根据该标识请求返回签名机的标识信息,客户端接收签名机返回的标识信息,根据该标识信息对签名机进行授权。其中,标识信息是指签名机的机身号、CPUID、FLASHID、随机数、时间戳等信息,时间戳用于后续服务器后台控制签名机的预设的授权时间;随机数则用于核对后续生成的授权标识对应于该签名机发送的标识信息所生成的;机身号、CPUID以及FLASHID则是用于后台服务器确认是否与预先记录的签名机的机身号一致,保证了签名机的可授权性。
在步骤S210即签名机发送标识信息之前,需要在签名机上输入第一密码进行启动,以使签名机进入开机状态,并且需要签名机将自身的机身号发送给后台服务器,在后台服务器进行相关的注册和登记,以使签名机能够记录在后台服务器,以便后续的授权。其中第一密码是指用户操作密码,用于开放对签名机的使用权限。
在步骤S210中,客户端通过发送标识请求给签名机,签名机根据该标识请求将签名机的标识信息发送给客户端,客户端接收到该标识信息后,转发给服务器,例如通过邮件的方式转发给服务器。其中,标识信息是指签名机的机身号、CPUID、FLASHID、随机数、时间戳等信息,时间戳用于后续服务器后台控制签名机的预设的授权时间;随机数则用于核对后续生成的授权标识对应于该签名机发送的标识信息所生成的;机身号、CPUID以及FLASHID则是用于后台服务器确认是否与预先记录的签名机的机身号一致,保证了签名机的可授权性。
需要说明的是,在使用本申请实施例中的签名机时,需要输入相关的口令密码才能进行相应操作,在第一次使用时必须修改默认口令密码后才能正式使用该签名机,修改后的口令密码的长度根据实际需求进行设定,例如大于或等于8位。
在步骤S220和步骤S230中,签名机将标识信息发送给客户端后,客户端会将标识信息转发给服务器后台,例如可以通过邮件发送的方式将其转发给服务器后台;客户端将标识信息发送给服务器后台后,服务器后台会根据接收到的标识信息确定具体的签名机,确定该标识信息是否正确即确定该签名机是否预先注册登记在服务器后台,确保只有注册登记过的签名机的标识信息能够生成具有预设时效的授权标识。
在一些实施例中,如图5所示,步骤S220和步骤S230具体还包括步骤:
S221,获取来自客户端具有预设时效的授权标识;
S222,校验授权标识,并根据校验结果完成授权。
在步骤S221中,签名机获取客户端转发的具有预设时效的授权标识,其中授权标识是由服务器后台根据接收到的标识信息进行生成的,具体地说,由服务器后台根据接收的签名机的标识信息生成的授权码,该授权标识的长度为256字节,该授权标识中包含了签名机的机身号、CPUID、FLASHID、随机数、有效时间等信息,其中有效时间确定了该授权标识的有效时间即预设时效。服务器后台会根据接收到的标识信息确定具体的签名机,确定该标识信息是否正确即确定该签名机是否预先注册登记在服务器后台,确保只有注册登记过的签名机的标识信息能够生产授权标识。
在步骤S222中,签名机接收到授权标识后会将授权标识保存在签名机内部,并且签名机会对授权标识中的各个信息例如机身号、CPUID、FLASHID、随机数、有效时间等信息进行校准,若校准结果正确则判断该授权标识合法,完成授权;若校验结果错误则判断该授权标识非法,无法完成授权。其中,有效时间用于后续控制签名机的授权时间;随机数则用于核对后续生成的授权标识对应于该签名机发送的标识信息所生成的;机身号、CPUID以及FLASHID则是用于确认后台服务器生成的授权标识所针对的具体签名机。当签名机获取到授权标识后,并校验成功,从而完成授权后,签名机在一定时间内被服务器所授权,即说明该签名机具有一定的时效性。
在一些实施例中,步骤S240中,签名机将生成的加密公钥发送给客户端,由客户端发送给服务器进行公钥认证。其中,签名机将生成的加密密钥对中的加密公钥返回给客户端,将加密私钥保存在签名机内部,防止加密私钥泄露。客户端将接收到的签名机的加密公钥发送给服务器后台,由服务器后台针对接收到的加密公钥进行公钥认证,生成加密证书,服务器后台将生成的加密证书放置到POS机中,以便POS机对对应的签名机进行相应认证。其中加密密钥对包括加密公钥和加密私钥;公钥认证是指为签名机的加密公钥签发加密证书,以保证签名机的加密公钥的真实性。
在一些实施例中,签名机获取用户输入第二密码后,对第二密码的正确性进行校验,确定第二密码正确后,通过相应操作会生成加密密钥对。其中第二密码属于用户的管理密码,可以输入正确的第二密码,通过在签名机上进行相应操作以使签名机生成加密密钥对。
在一些实施例中,签名机还会获取用户输入的第三密码,对第三密码的正确性进行校验,确定第三密码正确后,对加密密钥对中的加密公钥和加密私钥进行备份,例如将其导出到IC(Integrated Circuit Card,集成电路卡)卡中进行备份,通过备份的方式,防止加密公钥和加密私钥丢失,也保证了签名机的加密公钥和加密私钥的安全。
在一些实施例中,可以将备份有加密公钥和加密私钥的IC卡***该签名机内,获取用户输入的第三密码,可以将IC卡中的加密公钥和加密私钥导入该签名机中,通过这种方式,能够支持多人异地签名,在多个地方部署签名机后,只需要通过IC卡导入的加密公钥或加密私钥后对其他签名机进行激活即可使用,不仅能够保证了签名机的加密公钥和加密私钥的安全性,防止因签名机故障导致加密私钥被销毁的问题,也能够使用户在不同的地方使用同一套加密密钥对进行签名。
在步骤S250中,签名机获取客户端发送的签名数据,根据加密私钥对签名数据进行签名,其中待签名数据是通过与客户端进行交互所获取的,当签名机对签名数据进行签名,从而完成签名,将完成签名的签名数据返回给客户端。
在一些实施例中,在步骤S240之前,即接收客户端的签名数据之前,签名机获取用户输入的第一密码,对第一密码的正确性进行校验,确定第一密码正确后,对当前保存的授权标识进行检验,检验当前所拥有的授权标识的有效期限,确定签名机的授权标识是否有效。
在一些实施例中,如图6所示,步骤S250具体还包括步骤:
S251,接收客户端发送的签名数据;
S252,根据生成的加密私钥对签名数据进行签名;
S253,将完成签名的签名数据送给客户端,由客户端根据完成签名的待签名数据生成签名文件。
在步骤S251和步骤S252中,签名机接收到客户端发送的待被签名的签名数据后,通过内部保存的加密私钥对签名数据进行签名,并将完成签名的签名数据返回给客户端。其中签名数据是待被签名的文件的sha256哈希值以及填充值等数据。签名机返回的完成签名的签名数据是由签名机通过加密私钥对签名数据签名后的数据,具体为长度256字节的签名数据。
在步骤S253中,签名机将完成签名的签名数据发送给客户端,客户端接收到完成签名的签名数据后,完成签名数据的组合,最终生成签名文件,该签名文件可以正确安装在相应的POS机上。
需要说明的是,在本申请实施例中所提到的签名机,如果签名机修改***时间时,则会自动清除已经获取的授权标识,需要重新通过签名机的标识信息进行授权;当对签名机进行相应的操作,例如签名、导入或导出加密公钥和加密私钥时,需要使用不同的口令密码,例如第一密码、第二密码或第三密码等;为了后续能够实时追踪签名机可能出现的问题,签名机还带有日志记录功能,可以实时记载生成加密密钥对、导入或导出加密密钥对的操作时间、签名操作时间以及授权时间等记录;需要定时对签名机进行授权,签名机的授权标识具有一定的时效性,每隔一段时间需要重新授权;当签名机损坏时,签名机内部存有的加密私钥会自动销毁,防止加密私钥的泄露。
在可能实施的应用实例中,参考图7,其中,客户端与签名机通过串口连接。在第一阶段签名机授权阶段中,预先根据签名机的机身号在服务器后台进行注册登录后,输入第一密码启动签名机后,通过客户端即PC工具发送标识请求获取签名机的标识信息,签名机根据标识请求返回标识信息给客户端后,客户端将接收到的标识信息通过邮件的形式发送给服务器,服务器接收到标识信息后根据标识信息生成授权标识,将授权标识通过邮件返回给客户端后,客户端将其发送给签名机。签名机接收到授权标识后,会对授权标识进行校验,校验授权标识的合法性和时效性,从而完成第一阶段签名机授权。
在第二阶段即签名准备阶段中,通过输入第二密码生成加密密钥对,并且通过输入第三密码将加密密钥对导出到IC卡中进行备份。客户端可以请求导出签名机生成的加密公钥,签名机根据客户端的请求返回加密公钥给客户端,客户端通过邮件的形式将加密公钥返回给服务器后台,由服务器后台对加密公钥进行公钥认证,签发加密证书,服务器后台将签发的加密证书发送到POS机中,从而完成第二阶段的签名准备。另外,在第二阶段中还能***备份有加密密钥对的IC卡,输入第三密码后,将其导入到签名机中。
在第三阶段即签名阶段中,在签名机上输入第一密码以检查当前签名机的权授权标识的有效期,防止签名机无法授权过期无法进行签名。客户端发送签名数据给签名机,签名机根据加密私钥对签名数据进行签名后,返回完成签名的签名数据给客户端,由客户端组合生成签名文件,从而完成第三阶段的签名。
在本申请实施例中,签名机通过发送标识信息给客户端,以使客户端根据标识信息进行授权操作,获取客户端执行授权操作后返回的具有预设时效的授权标识,根据授权标识进行预设时效的授权,之后将生成的加密公钥发送给客户端,接收客户端发送的签名数据,对签名数据进行签名,能够提高整个签名过程的安全性,防止密钥泄露,有利于密钥的管控。
第三方面,本申请实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。
第四方面,本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法;
在一些实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第三方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中的应用于客户端的数据签名方法或第二方面实施例中的应用于签名机的数据签名方法。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。
Claims (10)
1.数据签名方法,应用于客户端,其特征在于,包括:
获取签名机的标识信息;
根据所述标识信息执行授权操作,以使所述签名机获取具有预设时效的授权标识并根据所述授权标识进行预设时效的授权;
获取所述签名机被授权后生成的加密公钥;
发送签名数据给所述签名机进行签名,生成签名文件。
2.根据权利要求1所述的数据签名方法,其特征在于,所述根据所述标识信息执行授权操作,以使所述签名机获取具有预设时效的授权标识并根据所述授权标识进行预设时效的授权,包括:
发送所述标识信息给服务器;
获取所述服务器根据所述标识信息生成具有预设时效的所述授权标识;
发送所述授权标识给所述签名机,所述授权标识用于对所述签名机进行预设时效的授权。
3.根据权利要求2所述的数据签名方法,其特征在于,所述获取所述签名机被授权后生成的加密公钥之后,还包括:
将所述加密公钥发送给所述服务器,以使所述服务器根据所述加密公钥生成加密证书,所述加密证书用于放置在POS机中。
4.根据权利要求1所述的数据签名方法,其特征在于,所述发送签名数据给所述签名机进行签名,生成签名文件,包括:
发送签名数据给签名机;
获取由签名机根据加密私钥完成签名的所述签名数据;
根据所述完成签名的签名数据生成签名文件。
5.数据签名方法,应用于签名机,其特征在于,包括:
发送标识信息给客户端,所述标识信息用于所述客户端执行授权操作;
获取所述客户端执行所述授权操作后返回的具有预设时效的授权标识;
根据所述授权标识进行预设时效的授权;
将生成的加密公钥发送给所述客户端;
接收所述客户端发送的签名数据,并对所述签名数据进行签名。
6.根据权利要求5所述的数据签名方法,其特征在于,所述获取所述客户端执行所述授权操作返回的具有预设时效的授权标识,包括:
获取来自所述客户端具有预设时效的授权标识,所述授权标识由所述客户端将所述标识信息发送给服务器,以使所述服务器根据所述标识信息生成并返回给所述客户端;
校验所述授权标识,并根据校验结果完成授权。
7.根据权利要求6所述的数据签名方法,其特征在于,所述将生成的加密公钥发送给所述客户端,包括:
将生成的加密密钥对中的所述加密公钥发送给客户端,所述加密公钥由所述客户端发送给所述服务器生成加密证书,所述加密证书用于放置在POS机中。
8.根据权利要求5所述的数据签名方法,其特征在于,接收所述客户端发送的签名数据,对所述签名数据进行签名,包括:
接收所述客户端发送的签名数据;
根据生成的加密私钥对所述签名数据进行签名;
将完成签名的签名数据送给所述客户端,所述签名数据用于所述客户端生成签名文件。
9.电子设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如权利要求1至8任一项所述的数据签名方法。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8任一项所述的数据签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110033074.5A CN112887099B (zh) | 2021-01-11 | 2021-01-11 | 数据签名方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110033074.5A CN112887099B (zh) | 2021-01-11 | 2021-01-11 | 数据签名方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887099A CN112887099A (zh) | 2021-06-01 |
CN112887099B true CN112887099B (zh) | 2023-05-16 |
Family
ID=76044594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110033074.5A Active CN112887099B (zh) | 2021-01-11 | 2021-01-11 | 数据签名方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887099B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285581B (zh) * | 2021-12-07 | 2024-05-14 | 西安广和通无线通信有限公司 | 应用管理方法及相关产品 |
CN116015687A (zh) * | 2023-01-07 | 2023-04-25 | 杭州视洞科技有限公司 | 一种测试时防止密钥扩散的接口签名计算方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012051894A1 (zh) * | 2010-10-19 | 2012-04-26 | 中兴通讯股份有限公司 | 一种widget应用保护方法及装置 |
WO2017024791A1 (zh) * | 2015-08-10 | 2017-02-16 | 华为技术有限公司 | 一种处理授权的方法和设备 |
CN108810894A (zh) * | 2018-05-31 | 2018-11-13 | 康键信息技术(深圳)有限公司 | 终端授权方法、装置、计算机设备和存储介质 |
CN112182514A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 授权验证的方法、装置、设备和计算机可读介质 |
-
2021
- 2021-01-11 CN CN202110033074.5A patent/CN112887099B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012051894A1 (zh) * | 2010-10-19 | 2012-04-26 | 中兴通讯股份有限公司 | 一种widget应用保护方法及装置 |
WO2017024791A1 (zh) * | 2015-08-10 | 2017-02-16 | 华为技术有限公司 | 一种处理授权的方法和设备 |
CN108810894A (zh) * | 2018-05-31 | 2018-11-13 | 康键信息技术(深圳)有限公司 | 终端授权方法、装置、计算机设备和存储介质 |
CN112182514A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 授权验证的方法、装置、设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112887099A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131313B (zh) | 智能网联汽车更换ecu的安全保障方法及*** | |
US8590024B2 (en) | Method for generating digital fingerprint using pseudo random number code | |
CN106571951B (zh) | 审计日志获取方法、***及装置 | |
US20080184029A1 (en) | Method and system for generating digital fingerprint | |
CN111275419B (zh) | 一种区块链钱包签名确权方法、装置及*** | |
EP1886204B1 (en) | Transaction method and verification method | |
CN112887099B (zh) | 数据签名方法、电子设备及计算机可读存储介质 | |
CN110401613B (zh) | 一种认证管理方法和相关设备 | |
CN113138775B (zh) | 车载诊断***固件保护方法及*** | |
CN111159656A (zh) | 一种防止软件非授权使用的方法、装置、设备和存储介质 | |
US20210406866A1 (en) | Method for Processing a Transaction, Corresponding Device, System and Program | |
CN113395282A (zh) | 一种阻止第三方访问服务端资源的方法及*** | |
CN117692185A (zh) | 电子***的使用方法、装置、电子设备及存储介质 | |
CN113766450B (zh) | 车辆虚拟钥匙共享方法及移动终端、服务器、车辆 | |
CN109743283B (zh) | 一种信息传输方法及设备 | |
CN114036490B (zh) | 外挂软件接口调用安全认证方法、USBKey驱动装置及认证*** | |
CN112506267B (zh) | 一种rtc校准方法、车载终端、用户端和存储介质 | |
CN115495123A (zh) | 硬件安全模块的刷写方法及*** | |
CN114372241A (zh) | 一种物联网终端身份认证方法、***、装置与存储介质 | |
CN116070225A (zh) | Api认证鉴权的方法、***、运行控制装置及存储介质 | |
CN109672526B (zh) | 一种管控可执行程序的方法及*** | |
CN113672898B (zh) | 服务授权方法、授权设备、***、电子设备及存储介质 | |
CN116248280B (zh) | 免密钥发行的安全模组防盗用方法、安全模组及装置 | |
CN116418541B (zh) | 通信方法、装置和设备 | |
JP2020005064A (ja) | 利用者権限認証システム |
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 |