CN109618341A - 一种数字签名认证方法、系统、装置以及存储介质 - Google Patents
一种数字签名认证方法、系统、装置以及存储介质 Download PDFInfo
- Publication number
- CN109618341A CN109618341A CN201811607148.6A CN201811607148A CN109618341A CN 109618341 A CN109618341 A CN 109618341A CN 201811607148 A CN201811607148 A CN 201811607148A CN 109618341 A CN109618341 A CN 109618341A
- Authority
- CN
- China
- Prior art keywords
- token
- data
- digital signature
- application identities
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- 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/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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
-
- 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/3236—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 using cryptographic hash functions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
Abstract
本发明公开了一种数字签名认证方法、系统、装置以及存储介质,该数字签名认证方法包括:获取令牌、密钥、应用标识和第一数据;按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果。通过使用本发明,可提高数字签名的安全性和数据传输的数据保密性、数据完整性、数据合法性。本发明作为一种数字签名认证方法、系统、装置以及存储介质可广泛应用于信息安全系统领域中。
Description
技术领域
本发明涉及信息安全系统领域,尤其涉及一种数字签名认证方法、系统、装置以及存储介质。
背景技术
数字签名、数字证书等技术,是现代信息安全的核心技术,可谓使用面十分广泛。软件数字签名可用于验证开发者身份真实性、保护代码的完整性。用户下载软件时,能通过数字签名验证软件来源可信,确认软件没有被非法篡改或植入病毒木马,保护用户不会被病毒、恶意代码和间谍软件所侵害,也保护了软件开发者的利益,让软件能在互联网上快速安全地发布。在现今信息安全日益严峻的情况下,如何保证数据的传输安全亟待解决与优化,传输数据的双方都总希望确认消息未在传输的过程中被修改,加密使得第三方想要读取数据十分困难,然而第三方仍然能采取可行的方法在传输的过程中修改数据。
发明内容
本发明要解决的技术问题是:提供一种数字签名认证方法、系统、装置以及存储介质。
为了解决上述技术问题,本发明所采用的第一技术方案是:一种数字签名认证方法,其包括以下步骤:
获取令牌、密钥、应用标识和第一数据;
按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果。
进一步,还包括以下步骤:
发送令牌获取请求和手机号传输至服务端,以令服务端响应于令牌获取请求后返回与所述手机号绑定的令牌;
接收服务端返回的令牌。
进一步,所述令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系。
本发明所采用的第二技术方案是:一种数字签名认证方法,其包括以下步骤:
接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
进一步,还包括以下步骤:
响应客户端传来的令牌获取请求,并接收由客户端传来的手机号;
判断手机号是否为已注册号,若是,则生成令牌,并将令牌跟手机号绑定后,将令牌返回至客户端;反之,则直接返回手机号未注册的消息至客户端。
进一步,所述生成的令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系。
进一步,还包括以下步骤:
对接收到的令牌进行校验,若校验出令牌失效或者校验出令牌为不合法,则返回令牌失效信息或者令牌不合法信息至客户端;若校验出令牌有效且令牌为合法,则执行下一步骤;
和/或,
对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,则执行下一步骤。
本发明所采用的第三技术方案是:一种数字签名认证系统,包括:
客户端和服务端,所述客户端和服务端通信连接;
所述客户端包括:
数据获取模块,用于获取令牌、密钥、应用标识和第一数据;
第一数据处理模块,用于按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
第一数字签名生成模块,用于使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
数据发送模块,用于将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果;
所述服务端包括:
数据接收模块,用于接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
第二数据处理模块,用于按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
第二数字签名生成模块,用于使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
签名认证模块,用于对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
本发明所采用的第四技术方案是:一种数字签名认证装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述第一技术方案和第二技术方案中任一种数字签名认证方法。
本发明所采用的第五技术方案是:一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行上述第一技术方案和第二技术方案中任一种数字签名认证方法。
本发明的有益效果是:使用字符串排序拼接后加密的方式可以有效避免哈希算法加密出现碰撞(不同的字符串哈希加密后形成相同的数字签名),提高了数字签名的安全性和复杂性,利用哈希算法的不可逆性,将请求方数据加密后生成数字签名,保证了数据的完整性和不可修改性,如请求方数据被劫持被修改那么签名校验将不被通过。
附图说明
图1是本发明一种数字签名认证方法第一具体实施例的步骤流程图;
图2是本发明一种数字签名认证方法第二具体实施例的步骤流程图;
图3是本发明一种数字签名认证方法第三具体实施例的步骤流程图;
图4是图3的具体实施例结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
如图1所示,本发明提供了一种数字签名认证方法,该方法包括以下步骤:
S101、获取令牌、密钥、应用标识和第一数据;
具体地,此处的令牌token1为从服务端获取到的,用于给客户端赋予访问服务端的权限,密钥secret1和应用标识key1为与服务端约定好的,其中密钥为所有客户端和服务端统一的,用来区分非信任客户端的访问,应用标识是用来区分客户端的标识,不同的客户端代表不同的业务,也具有不同的应用标识,第一数据为待传输的数据。
S102、按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
具体地,将令牌token1、密钥secret1、应用标识key1和第一数据data组成一个数据文本json;按所述json的键从小到大排序,将各键分别对应的值拼接成一个新的字符串,例如:令牌为“AD1CBD4B5ACD”,密钥为“12345678”,应用标识为“APP1”,第一数据为“hello”,组成的json为{“token”:“AD1CBD4B5ACD”,“secret”:“12345678”,“key”:“APP1”,“data”:“hello”},排序后的结果为{“data”:“hello”,“key”:“APP1”,“secret”:“12345678”,“token”:“AD1CBD4B5ACD”},拼接的字符串为第一数据+应用标识+密钥+令牌,即:“hello APP112345678AD1CBD4B5ACD”,其中所述json的键是和服务端双方约定好的固定值,排序拼接可提高数据的安全性,保证服务端和客户端双方能通过相同的方法获得相同的数字签名。
S103、使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
具体地,对上述生成的新的字符串进行MD5加密,加密后得到第一数字签名sign1,由于需要加密的字符串中包含了第一数据data,data可能是一个很大的数据,因此为了提高加密效率,并且综合安全性考虑,采用MD5这种哈希算法来作为最优选择。
S104、将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果;
具体地,发送数据传输请求至服务端,将第一数字签名sign1、令牌token1、应用标识key1和第一数据data通过POST请求传输至服务端,并接收服务端返回的认证结果,由于密钥是所有客户端和服务端所统一的,不需要在网络通信中传递,防止在传输中被恶意截取,也达到了区别客户端是否为可信任的目的。
由上述可得,通过使用本发明的本方法,可以使得客户端获得一个数字签名sign1,由于MD5的加密不可逆性,使得本数字签名不可被解密,即使在传输过程中被获取,也很难知道密文对应的明文,也就很难去修改数据,保证了数据的完整性;并且加密前的字符串是排序后拼接出来的,就能很好的保证MD5不出现碰撞(不同的字符串加密成相同的MD5密文),提高了数字签名的安全性。
进一步作为本方法的优选实施例,还包括以下步骤:
S105、发送令牌获取请求和手机号传输至服务端,以令服务端响应于令牌获取请求后返回与所述手机号绑定的令牌;
具体地,向服务端申请令牌token1时需要发送手机号过去进行手机号注册验证,验证通过后会获得服务端返回的令牌token1,申请时传递的手机号则可以提高对申请方的身份的确认和记录。
S106、接收服务端返回的令牌。
进一步作为本方法的优选实施例,所述令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系;
具体地,服务器返回地token1具有一定的时效期,在生效期间内使用是可以认证通过的,失效后再使用认证会失败,token1的有效期也会随着客户端所对应的业务不同而不同,并且失效后可以重新申请新的token1,申请token的有效期可以保证token的安全性,假如服务端的某项业务需要频繁地与客户端进行联系,那有效期就需要设置比较长,减少不断申请token带来的不便,假如服务端的某项业务不需要经常联系,那这时候就需要设置时间比较短的token了,可以提高客户端的可信任性,token根据业务不同时效也不同则能够达到对token的灵活使用。
如图2所示,本发明提供了一种数字签名认证方法,该方法还包括以下步骤:
S201、接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
具体地,响应客户端的数据传输请求,接收传递过来的第一数字签名sign1、令牌token1、应用标识key1和第一数据data。
S202、按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
具体地,将令牌token1、密钥secret2、应用标识key1和第一数据data组成一个数据文本json,按所述json的键从小到大排序,将各键分别对应的值拼接成一个新的字符串,排序拼接可提高数据的安全性,保证服务器和客户端双方能通过相同的方法获得相同的数字签名。
S203、使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
具体地,使用哈希算法MD5将上述新的字符串进行散列运算,得到第二数字签名sign2。
S204、对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端;
具体地,对比第一数字签名sign1和第二数字签名sign2是否一样,若是,则返回客户端认证结果为认证通过,反之,则返回客户端认证结果为认证不通过。
进一步作为本方法的优选实施例,还包括以下步骤:
S205、响应客户端传来的令牌获取请求,并接收由客户端传来的手机号。
S206、判断手机号是否为已注册号,若是,则生成令牌,并将令牌跟手机号绑定后,将令牌返回至客户端;反之,则直接返回手机号未注册的消息至客户端。
进一步作为本方法的优选实施例,所述生成的令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系。
进一步作为本方法的优选实施例,还包括以下步骤:
S207、对接收到的令牌进行校验,若校验出令牌失效或者校验出令牌为不合法,则返回令牌失效信息或者令牌不合法信息至客户端;若校验出令牌有效且令牌为合法,则执行下一步骤;
和/或,
对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,则执行下一步骤;
具体地,存在两种情况,第一种情况是先校验令牌是否合法和/或令牌是否失效,若不合法则返回令牌不合法信息至客户端,若令牌超出有效期则返回令牌失效信息至客户端,若校验出令牌有效且令牌为合法,再执行对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,则执行按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串这一步骤S202;第二种情况是先对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,再校验令牌是否合法和/或令牌是否失效,若不合法则返回令牌不合法信息至客户端,若令牌超出有效期则返回令牌失效信息至客户端,若校验出令牌有效且令牌为合法,则执行按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串这一步骤S202。
由上述本发明所采用的第一技术方案和第二技术方案可知:一种数字签名认证方法,如图3所示,具体优选包含的步骤有:
S301、客户端发送令牌获取请求和手机号传输至服务端,以令服务端响应于令牌获取请求后返回与所述手机号绑定的令牌;
S302、服务端响应客户端传来的令牌获取请求,并接收由客户端传来的手机号;
S303、服务端判断手机号是否为已注册号,若是,则生成令牌,并将令牌跟手机号绑定后,将令牌返回至客户端;反之,则直接返回手机号未注册的消息至客户端;
S304、客户端接收服务端返回的令牌;
S305、客户端获取令牌、密钥、应用标识和第一数据;
S306、客户端按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
S307、客户端使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
S308、客户端将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果;
S309、服务端接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
S310、服务端对接收到的令牌进行校验,若校验出令牌失效或者校验出令牌为不合法,则返回令牌失效信息或者令牌不合法信息至客户端;若校验出令牌有效且令牌为合法,则对接收到的应用标识进行校验,当校验收到的应用标识为不合法时,则返回应用标识不合法信息至客户端;
S311、服务端按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
S312、服务端使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
S313、服务端对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
由上述可得,本发明的数字签名认证方法所具有的优点包括:
1、利用md5算法的不可逆性,将请求方数据加密后生成数字签名,通过对称加密保证了数据的完整性和不可修改性;
2、对密钥,token等多重验证达到了双向强身份认证的效果;
3、采用字符串拼接后加密的方式避免md5加密出现碰撞(不同的字符串进行md5加密后形成相同的数字签名);
4、申请令牌时传递的手机号则可以提高对申请方的身份的可追溯性;
以下结合最优的实际应用实施例来对本发明做更进一步的详细阐述。
如图4所示,一种数字签名认证系统,包括:
客户端和服务端,所述客户端和服务端通信连接;
所述客户端包括:
①、数据获取模块,用于获取令牌、密钥、应用标识和第一数据;
具体地,从本地取得预存好的令牌、密钥、应用标识和将要传输的第一数据。
②、第一数据处理模块,用于按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
具体地,所述第一数据处理模块主要用于对数据进行预处理,生成加密前的字符串。其中包括:将已有的数据放入json中,并根据json的键从小到大给数据排序,把排序完的数据的值拼接成一个字符串,即为第一字符串。
③、第一数字签名生成模块,用于使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
具体地,所述第一数字签名生成模块主要用于使用MD5对第一数据处理模块生成的第一字符串进行加密处理,加密后会得到一个固定长度的字符串,即为第一数字签名。
④、数据发送模块,用于将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果;
具体地,所述数据发送模块主要用于将所需传输的数据、生成的数字签名等数据发送至服务端,数据发送前会先将数据放进json里面(json是一种非常适合用于网络通信的一种数据格式),然后将json通过POST请求发送至服务端,最后接收服务端返回的认证结果并作简单的分析,因为在网络数据传输的过程中返回的结果都是以数字来代替的,所以这些数字还需要做简单的分析才能知道具体的结果,例如,0代表认证通过,1代表令牌失效,2代表数据被篡改等等。
所述服务端包括:
①、数据接收模块,用于接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
具体地,所述数据接收模块对应了客户端的数据发送模块,主要负责处理对客户端传输的数据的接收。接收数据后再将数据传递给签名认证模块,保持等待接收签名认证模块传递的验证结果,把所述验证结果返回给客户端。
②、第二数据处理模块,用于按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
具体地,所述第二数据处理模块主要用于对数据做预处理,生成需要进行加密的字符串。其中包括:将签名认证模块传递过来的认证数据和第二数据库保存的数据放入json中,并根据json的键从小到大给数据排序,把排序完的数据的值拼接成一个字符串,即为第二字符串。
③、第二数字签名生成模块,用于使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
具体地,所述第二数字签名生成模块主要用于使用MD5对第二数据处理模块生成的第二字符串进行加密处理,加密后会得到一个固定长度的字符串,即为第二数字签名。
④、签名认证模块,用于对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
具体地,所述签名认证模块主要用于处理签名的认证,调用数字签名生成模块生成第二数字签名,判断第一、第二数据签名是否一致,一致则说明数据是完整的,返回认证结果为通过,不一致则说明数据在传输过程中被人为地篡改了,返回认证结果为不通过,数据被篡改。
进一步作为本实施例的优选方式,所述客户端还包括:
⑤、令牌申请模块,用于发送令牌获取请求和手机号传输至服务端,以令服务端响应于令牌获取请求后返回与所述手机号绑定的令牌;
具体地,所述令牌申请模块主要用于向服务端发送请求,传递信息(手机号),申请令牌牌,并对服务端返回的消息做简单的处理,能够明确申请是否成功,成功的话就把获得的令牌保存起来,失败的话就会从返回值中判断出是什么原因失败的,失败的原因包括:手机号未注册、手机号非法、网络错误等。因为令牌申请之后是可以持续使用一段时间(令牌的有效期间)的,在令牌没有失效前都不需要重新申请,因此这个模块只有在需要申请令牌的时候使用,其他时候是不需要使用到的。
⑥、令牌接收模块,用于接收服务端返回的令牌;
具体地,此处接收服务端返回的不一定是令牌,也可能是错误信息,包括:手机号未注册、手机号非法、网络错误等。
进一步作为本实施例的优选方式,所述客户端还包括:
⑤、手机号接收模块,用于与客户端通信连接,响应客户端的令牌获取请求,接收由客户端传来的手机号。
⑥、令牌生成模块,用于与客户端通信连接,判断手机号是否为已注册号,若是,则生成令牌,并将令牌跟手机号绑定后,将令牌返回至客户端;反之,则直接返回手机号未注册的消息至客户端;
具体地,所述令牌生成模块对应了客户端的令牌申请模块,用于根据客户端的申请来生成令牌,当收到客户端传递的手机号时会先对手机号进行验证,并根据手机号注册的业务来生成对应有效期的令牌,最后返回令牌和令牌的有效期,并且将令牌和手机号相对应地保存于数据库。
⑦、合法性校验模块,用于对接收到的令牌进行校验,若校验出令牌失效或者校验出令牌为不合法,则返回令牌失效信息或者令牌不合法信息至客户端;若校验出令牌有效且令牌为合法,则执行下一步骤;
和/或,
对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,则执行下一步骤;
具体地,所述合法性校验模块用于处理对客户端合法性的校验,需要对令牌和应用标识进行合法性校验,需要校验令牌的合法性,令牌的有效性,标识的合法性,校验顺序可变换。
基于上述的数字签名认证方法,本发明还提供了一种数字签名认证装置,该装置包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述任一种数字签名认证方法。
另外,本发明还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行上述任一种数字签名认证方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种数字签名认证方法,其特征在于:包括以下步骤:
获取令牌、密钥、应用标识和第一数据;
按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果。
2.根据权利要求1所述的数字签名认证方法,其特征在于:还包括以下步骤:
发送令牌获取请求和手机号传输至服务端,以令服务端响应于令牌获取请求后返回与所述手机号绑定的令牌;
接收服务端返回的令牌。
3.根据权利要求2所述的数字签名认证方法,其特征在于:所述令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系。
4.一种数字签名认证方法,其特征在于:包括以下步骤:
接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
5.根据权利要求4所述的数字签名认证方法,其特征在于:还包括以下步骤:
响应客户端传来的令牌获取请求,并接收由客户端传来的手机号;
判断手机号是否为已注册号,若是,则生成令牌,并将令牌跟手机号绑定后,将令牌返回至客户端;反之,则直接返回手机号未注册的消息至客户端。
6.根据权利要求5所述的数字签名认证方法,其特征在于:所述生成的令牌具有有效期,其中,所述有效期的时长与业务类型之间存有映射关系。
7.根据权利要求4所述的数字签名认证方法,其特征在于:还包括以下步骤:
对接收到的令牌进行校验,若校验出令牌失效或者校验出令牌为不合法,则返回令牌失效信息或者令牌不合法信息至客户端;若校验出令牌有效且令牌为合法,则执行下一步骤;
和/或,
对接收到的应用标识进行校验,若校验收到的应用标识为不合法,则返回应用标识不合法信息至客户端;若校验收到的应用标识为合法,则执行下一步骤。
8.一种数字签名认证系统,其特征在于:包括客户端和服务端,所述客户端和服务端通信连接;
所述客户端包括:
数据获取模块,用于获取令牌、密钥、应用标识和第一数据;
第一数据处理模块,用于按照令牌、密钥、应用标识和第一数据的键的大小,对令牌、密钥、应用标识和第一数据进行排序,将排序后的令牌、密钥、应用标识和第一数据拼接成第一字符串;
第一数字签名生成模块,用于使用哈希算法对第一字符串进行散列运算处理后得到第一数字签名;
数据发送模块,用于将第一数字签名、令牌、应用标识和第一数据传输至服务端,以令服务端对第一数字签名进行认证后返回认证结果;
所述服务端包括:
数据接收模块,用于接收由客户端传来的第一数字签名、令牌、应用标识和第一数据;
第二数据处理模块,用于按照接收到的令牌、应用标识、第一数据以及存储于服务端的密钥的键的大小,对接收到的令牌、应用标识、第一数据以及存储于服务端的密钥进行排序,将排序后的接收到的令牌、应用标识、第一数据以及存储于服务端的密钥拼接成第二字符串;
第二数字签名生成模块,用于使用哈希算法对第二字符串进行散列运算处理后得到第二数字签名;
签名认证模块,用于对第一数字签名和第二数字签名进行数值比较判断,根据数据比较判断结果,发送相应的认证结果至客户端。
9.一种数字签名认证装置,其特征在于:包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7任一项所述一种数字签名认证方法。
10.一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-7任一项所述一种数字签名认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607148.6A CN109618341A (zh) | 2018-12-27 | 2018-12-27 | 一种数字签名认证方法、系统、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607148.6A CN109618341A (zh) | 2018-12-27 | 2018-12-27 | 一种数字签名认证方法、系统、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109618341A true CN109618341A (zh) | 2019-04-12 |
Family
ID=66012577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811607148.6A Pending CN109618341A (zh) | 2018-12-27 | 2018-12-27 | 一种数字签名认证方法、系统、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109618341A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031013A (zh) * | 2019-11-26 | 2020-04-17 | 南京领行科技股份有限公司 | 应用认证方式确定方法、电子设备及存储介质 |
CN111130798A (zh) * | 2019-12-24 | 2020-05-08 | 中国平安人寿保险股份有限公司 | 一种请求鉴权方法及相关设备 |
CN111489098A (zh) * | 2020-04-17 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 疑似风险业务的决策方法、装置及处理设备 |
CN111541542A (zh) * | 2019-12-31 | 2020-08-14 | 远景智能国际私人投资有限公司 | 请求的发送和验证方法、装置及设备 |
CN111949974A (zh) * | 2020-08-04 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 一种认证的方法、装置、计算机设备及存储介质 |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112865981A (zh) * | 2021-02-02 | 2021-05-28 | 中国工商银行股份有限公司 | 一种令牌获取、验证方法及装置 |
CN113536277A (zh) * | 2020-04-14 | 2021-10-22 | 中移动信息技术有限公司 | 认证的方法、系统、服务端、客户端及存储介质 |
CN113746847A (zh) * | 2021-09-06 | 2021-12-03 | 北京天融信网络安全技术有限公司 | 一种通信方法、装置、存储介质及电子设备 |
CN115102713A (zh) * | 2022-05-17 | 2022-09-23 | 北京网藤科技有限公司 | 一种工业网络加密系统及其加密方法 |
CN115665257A (zh) * | 2022-12-27 | 2023-01-31 | 成都同步新创科技股份有限公司 | 基于反向代理和动态脚本的请求处理方法及装置 |
-
2018
- 2018-12-27 CN CN201811607148.6A patent/CN109618341A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031013A (zh) * | 2019-11-26 | 2020-04-17 | 南京领行科技股份有限公司 | 应用认证方式确定方法、电子设备及存储介质 |
CN111130798A (zh) * | 2019-12-24 | 2020-05-08 | 中国平安人寿保险股份有限公司 | 一种请求鉴权方法及相关设备 |
CN111130798B (zh) * | 2019-12-24 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 一种请求鉴权方法及相关设备 |
CN111541542A (zh) * | 2019-12-31 | 2020-08-14 | 远景智能国际私人投资有限公司 | 请求的发送和验证方法、装置及设备 |
CN111541542B (zh) * | 2019-12-31 | 2023-09-15 | 远景智能国际私人投资有限公司 | 请求的发送和验证方法、装置及设备 |
CN113536277A (zh) * | 2020-04-14 | 2021-10-22 | 中移动信息技术有限公司 | 认证的方法、系统、服务端、客户端及存储介质 |
CN111489098A (zh) * | 2020-04-17 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 疑似风险业务的决策方法、装置及处理设备 |
CN111489098B (zh) * | 2020-04-17 | 2022-10-25 | 支付宝(杭州)信息技术有限公司 | 疑似风险业务的决策方法、装置及处理设备 |
CN111949974A (zh) * | 2020-08-04 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 一种认证的方法、装置、计算机设备及存储介质 |
CN112016106B (zh) * | 2020-08-19 | 2023-05-26 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112865981A (zh) * | 2021-02-02 | 2021-05-28 | 中国工商银行股份有限公司 | 一种令牌获取、验证方法及装置 |
CN113746847A (zh) * | 2021-09-06 | 2021-12-03 | 北京天融信网络安全技术有限公司 | 一种通信方法、装置、存储介质及电子设备 |
CN113746847B (zh) * | 2021-09-06 | 2023-05-05 | 北京天融信网络安全技术有限公司 | 一种通信方法、装置、存储介质及电子设备 |
CN115102713A (zh) * | 2022-05-17 | 2022-09-23 | 北京网藤科技有限公司 | 一种工业网络加密系统及其加密方法 |
CN115102713B (zh) * | 2022-05-17 | 2024-02-20 | 北京网藤科技有限公司 | 一种工业网络加密系统及其加密方法 |
CN115665257A (zh) * | 2022-12-27 | 2023-01-31 | 成都同步新创科技股份有限公司 | 基于反向代理和动态脚本的请求处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618341A (zh) | 一种数字签名认证方法、系统、装置以及存储介质 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN102546171B (zh) | 用于安全元件认证的方法 | |
CN102217277B (zh) | 基于令牌进行认证的方法和系统 | |
CN105095696B (zh) | 对应用程序进行安全认证的方法、系统及设备 | |
CN103546289B (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN102685110B (zh) | 一种基于指纹特征的通用用户注册认证方法及系统 | |
US20090187980A1 (en) | Method of authenticating, authorizing, encrypting and decrypting via mobile service | |
CN106911684B (zh) | 一种鉴权方法及系统 | |
CN109981665B (zh) | 资源提供方法及装置、资源访问方法及装置和系统 | |
CN106470201A (zh) | 一种用户认证方法和装置 | |
CN206212040U (zh) | 一种用于快递行业的实名认证系统 | |
CN1921395B (zh) | 提高网络软件安全性的方法 | |
CN113268715A (zh) | 软件加密方法、装置、设备及存储介质 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
KR102137122B1 (ko) | 보안 체크 방법, 장치, 단말기 및 서버 | |
CN106878245A (zh) | 图形码信息提供、获取方法、装置及终端 | |
CN105262748A (zh) | 广域网中对用户终端进行身份认证的方法和系统 | |
CN107835160A (zh) | 基于二维码的第三方用户认证方法 | |
CN110071937A (zh) | 基于区块链的登录方法、系统及存储介质 | |
CN108777673B (zh) | 一种在区块链中进行双向身份认证方法 | |
CN112653556A (zh) | 一种基于token的微服务安全认证方法、装置、存储介质 | |
KR102157695B1 (ko) | 익명 디지털 아이덴티티 수립 방법 | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190412 |
|
WD01 | Invention patent application deemed withdrawn after publication |