CN113285934B - 基于数字签名的服务器密码机客户端ip检测方法及装置 - Google Patents
基于数字签名的服务器密码机客户端ip检测方法及装置 Download PDFInfo
- Publication number
- CN113285934B CN113285934B CN202110527734.5A CN202110527734A CN113285934B CN 113285934 B CN113285934 B CN 113285934B CN 202110527734 A CN202110527734 A CN 202110527734A CN 113285934 B CN113285934 B CN 113285934B
- Authority
- CN
- China
- Prior art keywords
- client
- data
- random code
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- 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/72—Signcrypting, i.e. digital signing and encrypting simultaneously
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于数字签名的服务器密码机客户端IP检测方法及装置,方法包括:获取客户端的待验证数据;其中,客户端的原始待鉴别数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;生成随机码,并将随机码与客户端的待验证数据组合,获取客户端的数字签名与服务器端对所述数字签名的验证;根据服务器端对所述数字签名的验证结果,检测客户端的IP地址。在形成数据签名的过程中,先对客户端的标识与客户端的IP地址添加随机码,再形成数据签名,使得复杂度进一步提升,加大了代码检测的复杂度。由此,降低了伪造IP的可能性,从根本上提高解密的难度,增加安全性。
Description
技术领域
本发明涉及安全通信领域,尤其是指一种服务器密码机客户端IP检测方法。
背景技术
伴随着互联网高速发展,互联网用户也面临着严峻的网络安全挑战。一些恶意的网络攻击行为,不仅给网民带来了网络体验上的障碍,严重的甚至会造成个人财产损失,而网络攻击的核心就是数据,因此,如何保障互联网中数据的安全尤为重要。
服务器密码机是一种用于保障网络数据传输安全的设备,能独立或并行地运行,可以为多个应用实体提供密码服务和密钥管理,用于确保用户数据的机密性、真实性、完整性和有效性,其广泛应用于银行、证券、保险、邮政、交通、电子商务、电子政府、移动通信等行业中。目前市面上的服务器密码机、签名验签服务器等在为客户端提供密码服务时,一般采用IP白名单的方式进行访问控制,然而,若攻击者获取到白名单列表,就可以对IP进行伪造,从而进行攻击,给客户数据造成安全威胁。
发明内容
本发明提供一种基于数字签名的服务器密码机客户端IP检测方法及装置,以时间戳辅助检测,降低IP伪造的可能性。
为了解决上述技术问题,本发明采用的技术方案为:提供一种基于数字签名的服务器密码机客户端IP检测方法,所述服务器密码机包括服务器端与客户端,所述方法包括:
获取客户端的待验证数据;其中,所述客户端的待验证数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;
生成随机码,并将所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名,以获得服务器端对所述数字签名的验证;
根据所述客户端的数字签名与所述服务器端对所述数字签名的验证结果,检测所述客户端的IP地址。
具体的,所述获取客户端的数字签名与服务器端的数字签名,包括:
按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,并应用私钥与公钥进行数字签名与验证;其中,所述私钥是所述客户端所使用的,所述公钥是所述服务器端所使用的。
具体的,所述按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,包括:
按照所述密码散列函数,对所述随机码与所述客户端的待验证数据组合后的数据进行信息摘要,生成散列值;其中,所述散列值,包括输入随机的字符串。
进一步地,所述检测所述客户端的IP地址,包括,
获取并将所述客户端的数字签名通过所述服务器端进行验证;
数字签名验证成功,则所述客户端的IP地址是合规的。
进一步地,应用私钥与公钥进行数字签名与验证之前,还包括:
按照SM2算法进行计算,生成私钥;
按照SM2算法进行计算,生成公钥;
上述应用私钥与公钥进行数字签名与验证,包括:
应用所述私钥,对所述散列值进行签名;
应用所述公钥,对所述散列值进行签名的验证。
具体的,所述生成随机码,并将所述随机码与所述客户端的待验证数据组合,包括:
生成随机数,并发送到所述客户端;
将所述客户端的编号、客户端的IP地址、客户端发送数据的时间戳,及所述服务器端生成的随机数,依次序拼接。
上述方法还包括:使用SM3算法进行哈希值计算。
本发明还提供一种基于数字签名的服务器密码机客户端IP检测装置,包括:
数据获取模块,用于获取客户端的待验证数据;其中,所述客户端的待验证数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;
数据签名生成模块,用于生成随机码,并将所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名,以获得服务器端对所述数字签名的验证结果;
数据签名校验模块,用于根据客户端的数字签名与所述服务器端的数字签名,检测所述客户端的IP地址。
本发明又提供一种存储介质,应用任意一项所述方案的基于数字签名的服务器密码机客户端IP检测方法。
本发明尤其提供一种服务器密码机,应用任意一项方案所述的基于数字签名的服务器密码机客户端IP检测方法进行IP地址的校验。
本发明的有益效果在于:为每个客户端设定唯一的标识与静态的IP地址,并将客户端发送数据的时间戳也添加到数据签名中,以增强加密的复杂性。同时,在形成数据签名的过程中,先对待验证数据添加随机码,再形成数据签名,使得复杂度进一步提升。最后,在进行数据校验时,选择数字签名,而非直接校验客户端的IP地址,加大了代码检测的复杂度。由此,降低了伪造IP的可能性。从根本上提高解密的难度,增加安全性。
附图说明
下面结合附图详述本发明的具体结构
图1为本发明某一实施例中的服务器密码机客户端IP检测方法的流程图;
图2为本发明某一实施例中的随机码与客户端的待验证数据组合的流程图;
图3为本发明某一实施例中的进行数字签名与检测的流程图;
图4为本发明某一实施例中的服务器密码机客户端IP检测方法的流程图;
图5为本发明某一实施例中的服务器密码机客户端IP检测装置的结构框图;标记说明
100-数据获取模块;200-数据签名生成模块;300-数据签名校验模块。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,图1为本发明某一实施例中的服务器密码机客户端IP检测方法的流程图。
本发明第一方面从服务器密码机的服务器端进行描述。
本实施例提供一种基于数字签名的服务器密码机客户端IP检测方法,所述服务器密码机包括服务器端与客户端,包括:
步骤S101、获取客户端的待验证数据;其中,所述客户端的原始待鉴别数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;
步骤S102、生成随机码,并将所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名,以获得所述服务器端对所述数字签名的验证;
步骤S103、根据所述客户端的数字签名与所述服务器端对所述数字签名的验证结果,检测所述客户端的IP地址。
本实施例的优势在于,为每个客户端设定唯一的标识与静态的IP地址,并将客户端发送数据的时间戳也添加到数据签名中,以增强加密的复杂性。同时,在形成数据签名的过程中,先对待验证数据添加随机码,再形成数据签名,使得复杂度进一步提升。最后,在进行数据校验时,选择数字签名,而非直接校验客户端的IP地址,加大了代码检测的复杂度。由此,降低了伪造IP的可能性。
需要了解的是,在客户端的标识配合客户端的IP地址的基础上,添加时间戳这一不确定因素,提高随机的程度。由于客户端发送数据的时间戳是一个很难破解的随机数,除非控制了客户端的使用者,否则,难以获取到真正的时间戳数据。由此,从根本上提高解密的难度,增加安全性。
请参考图2,图2为本发明某一实施例中的随机码与客户端的待验证数据组合的流程图。在一具体的实施例中,步骤S102中,生成随机码,并将所述随机码与所述客户端的待验证数据组合的步骤,包括:
步骤S201、生成随机数,并发送到所述客户端;
在一个可选地实施例中,服务器端每隔一段预设时间,产生一个时间戳的算法,并通过协议传输到客户端,以增加随机数的随机程度。在另一个可选地实施例中,服务器端在按照生成随机数的方法,选择多个时间点,生成多个时间戳的算法,并通过协议传输到客户端,以尽可能地获取真正的随机数。
步骤S202、将所述客户端的编号、客户端的IP地址、客户端发送数据的时间戳,及所述服务器端生成的随机数,依次序拼接。
本实施例中,为了进一步地提高安全性,在服务器端生成随机数后,再将这一随机数发送到客户端。需要了解的是,在生成随机数的过程中,一般使用随机种子配合多种迭代算法,从而产生可预知的随机数,然而,即使是随机种子,其本身的产生也并不一定完全随机;因此,更新随机种子的生成算法与迭代算法,可以提升数据传输的安全性。相对于直接在客户端生成随机数,在服务器端生成随机数,更有利于数据的更新。
请参阅图3,图3为本发明某一实施例中的进行数字签名与检测的流程图。具体的,在步骤S102中,根据所述随机码与所述客户端的待验证数据组合后的数据,获取客户端的数字签名,以获得服务器端对所述数字签名的验证,包括:
步骤S300、按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,并应用私钥与公钥进行数字签名与验证;其中,所述私钥是所述客户端所使用的,所述公钥是所述服务器端所使用的。
需要了解的是,密码散列函数是一种单向函数,可以进一步强化解密的难度。本实施例中,按照密码散列函数,对随机数与客户端的待验证数据组合后的数据进行计算,从而生成数字签名,进一步强化了随机码的随机程度,提升了不确定性。还需要了解的是,私钥与公钥均是指客户端的密钥。
可以理解的是,本实施例中,客户端与服务器端分别进行计算,从而在客户端生成数字签名,在服务器端生成公钥,以解析数字签名,以进行校验。基于此,在进行IP检验时,无需使用白名单的手段,而是使用同步生成的私钥与公钥。
在步骤S300中,所述按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,包括:
步骤S301、按照所述密码散列函数,对所述随机码与所述客户端的待验证数据组合后的数据进行信息摘要,生成散列值;其中,所述散列值,包括输入随机的字符串。
可以了解的是,本实施例中,通过密码散列函数,配合信息摘要算法,以获得散列值,并应用散列值代替组合后的数据。由于信息摘要算法,具有碰撞稳固性、原根稳固性和第二原根稳固性等优势,而且,摘要消息长度是可以确定的,且长度有限;由此,一方面生成公钥与私钥的速度,均得以增加,且安全性也并不会受到影响。
其中,生成散列值是一种从较大的数据中创建小的数字“指纹”的方法。散列值通常用一个短的随机字母和数字组成的字符串来代表。
可选地,步骤S102、生成随机码,包括,使用SM3算法生成随机码;
可选地,步骤S301、按照所述密码散列函数,对所述随机码与所述客户端的待验证数据组合后的数据进行信息摘要,生成散列值,包括:使用SM3算法,对所述随机码与所述客户端的待验证数据组合后的数据进行计算,生成哈希值。
需要了解的是,使用SM3算法,在输入域中生成散列值,可以极大地降低序列冲突,获得较优地散列值阵列。
需要了解的是,SM3算法属于国密算法,相对于常规的密码散列函数与信息摘要算法,具有更高的安全性与保密性,可以用于用于数字签名及验证、消息认证码生成及验证、生成随机数等方面。而在本发明的技术方案中,由于使用了客户端发送数据的时间戳,极大地增加了解密的复杂程度,即使不使用SM3这种成熟的算法,也能提供一定的安全性。由此,可以降低总体的数据计算量,提高运行速度。
上述步骤S300中,应用私钥与公钥进行数字签名与验证之前,还包括:
步骤S302、所述客户端按照SM2算法进行计算,生成私钥与公钥;
步骤S303、所述服务器端获取所述公钥;
需要了解的是,在使用SM2算法中,签名原始数据量长度无限制,签名结果为64字节,但是由于签名后会做ASN.1编码,实际输出长度为70-72字节不等。由此,私钥与公钥的数据长度适中,可以加快计算速度。
上述步骤S300中,应用私钥与公钥进行数字签名与验证,包括:
步骤S304、所述客户端应用所述私钥,对所述散列值进行签名;
步骤S305、所述服务器端应用所述公钥,对所述散列值进行签名的验证。
基于步骤S302~步骤S305,散列值的长度得以更好地控制。需要了解的是,即使进行了消息摘要,生成了散列值,随机码与所述客户端的待验证数据组合后的数据总长度仍然是一个较大的数值,而使用SM2算法,可以在保证安全性不变的基础上,输出长度适当的数据。
在步骤S103中,检测所述客户端的IP地址,还包括,
步骤S306、获取并将所述私钥与所述公钥相比较;
步骤S307、若所述私钥与所述公钥是相匹配的,则所述客户端的IP地址是合规的。
在一可选地实施例中,将步骤S304~307与上述一类或多类实施例相结合,说明数字签名的生成与使用的步骤,包括:
步骤S3041、用摘要算法进行摘要,形成“签体”,然后在把摘要值用客户端的私钥加密;
步骤S3051、所述服务器端接收所述客户端的密码散列函数的计算结果,用同样的摘要算法摘要,形成“准签体”,
步骤S3061、再把“准签体”与用服务器端的公钥解密出的“签体”进行比较;
步骤S3071、如果“准签体”与“签体”相同就认为消息是完整的,否则消息不完整。
由此,在客户端与服务器端,分别进行计算,提高了本发明的保密程度。需要了解的是,步骤103中,检测所述客户端的IP地址,主要是获取并将所述客户端的数字签名通过所述服务器端进行验证,其具体可以是步骤S301~步骤S3071中任意实施例的随机组合。
本发明第二方面从服务器密码机的客户端的角度,仅对其步骤进行描述。
请参阅图4,并选择性地参阅图1~图3,图4为本发明某一实施例中的服务器密码机客户端IP检测方法的流程图。步骤S401、获取待验证数据;其中,所述客户端的原始待鉴别数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;
步骤S402、获取服务器端生成的随机码,并将所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名与所述服务器端对所述数字签名的验证;
步骤S403、根据所述客户端的数字签名与所述服务器端对所述数字签名的验证结果,检测所述客户端的IP地址。
在步骤S402中,获取服务器端生成的随机码,并将所述随机码与所述客户端的待验证数据组合,包括
步骤S501、接收所述服务器端生成随机数;
步骤S502、将所述客户端的编号、客户端的IP地址、客户端发送数据的时间戳,及所述服务器端生成的随机数,依次序拼接。
在步骤S402中,根据所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名与所述服务器端的数字签名,包括:
步骤S600、按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,并应用私钥与公钥进行数字签名与验证;其中,所述私钥是所述客户端所使用的,所述公钥是所述服务器端是所使用的。还需要了解的是,私钥与公钥均是指客户端的密钥。
在步骤S600中,所述按照密码散列函数,应用所述随机码与所述客户端的待验证数据组合后的数据进行计算,包括:
步骤S601、按照所述密码散列函数,对所述随机码与所述客户端的待验证数据组合后的数据进行信息摘要,生成散列值;其中,所述散列值,包括输入随机的字符串。
上述步骤S600中,应用私钥与公钥进行数字签名与验证之前,还包括:
步骤S602、所述客户端按照SM2算法进行计算,生成私钥与公钥;
步骤S603、所述服务器端获取所述公钥;
上述步骤S300中,应用私钥与公钥进行数字签名与验证,包括:
步骤S604、所述客户端应用所述私钥,对所述散列值进行签名;
步骤S605、所述服务器端应用所述公钥,对所述散列值进行签名的验证。
在步骤S403中,检测所述客户端的IP地址,还包括,
步骤S606、获取并将所述私钥与所述公钥相比较;
步骤S607、若所述私钥与所述公钥是相匹配的,则所述客户端的IP地址是合规的。
其中,本发明的第二方面,主要包括步骤S401~S607,从服务器端的角度进行了信息交换的描述,其与步骤S101~S307是相对应的,且各步骤的效果本质上是相同或者相关的,因此不作赘述。本发明的第二方面,主要用于确定权利要求书的范围,说明在服务器端与客户端的描述方式,均属于等同的技术方案。
本发明第三方面提供一种基于数字签名的服务器密码机客户端IP检测装置,如图5所示,图5为本发明某一实施例中的服务器密码机客户端IP检测装置的结构框图。所述服务器密码机包括:
数据获取模块,用于获取客户端的待验证数据;其中,所述客户端的待验证数据包括,客户端的标识、客户端的IP地址及客户端发送数据的时间戳;
数据签名生成模块,用于生成随机码,并将所述随机码与所述客户端的待验证数据组合,获取客户端的数字签名与服务器端的数字签名;
数据签名校验模块,用于根据所述客户端的数字签名与所述服务器端的数字签名,检测所述客户端的IP地址。
在装置的一个本实施例中,将数据获取模块设置于客户端;将数据签名生成模块设置于客户端与服务器端;将数据签名校验模块设置于服务器端。如果将数据获取模块设置于客户端,可以保证数据传输的便捷性,从数据传输的角度,提高安全性。
在装置的另一个本实施例中,数据获取模块设置于服务器端;数据签名生成模块设置于客户端与服务器端,数据签名校验模块设置于客户端。如果将数据获取模块设置于服务器端,在同一时间内,多个客户端的待验证数据会传输到服务器端,可以提高效率,而只要客户端的待验证数据使用了较优的加密算法,也不会大幅度降低安全性。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明第四方面提供一种存储介质,应用任意实施例所述的基于数字签名的服务器密码机客户端IP检测方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
在一具体的实施例中,本发明实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
应注意,本发明实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
本发明第五方面提供一种服务器密码机,应用任意实施例所述的基于数字签名的服务器密码机客户端IP检测方法进行IP地址的校验。
在一具体的实施例中,为了解决服务器密码机中IP白名单的安全缺陷技术问题,本发明采用了基于数字签名的服务器密码机客户端IP鉴别技术方案,通过对客户端唯一ID号和IP地址进行数字签名和验签的方式来增强服务器密码机对客户端鉴别的安全强度,此外,为了进一步了提高服务器密码机的安全性,还在鉴别过程中使用了时变参数。
本实施例中,客户端和服务端都应能够包含有SM2、SM3算法,具有核准的密码算法和随机数生成功能,可产生随机数,并具备唯一ID号和IP地址;客户端发送给服务端的鉴别数据为ClientData,且ClientData可表示为:
ClientData=ID||IP||TA
其中ID为客户端编号,IP为客户端IP地址,TA为时间戳;
进一步地,服务端向客户端发送随机数RND;
进一步地,客户端接收到服务端发送过来的随机数,把随机数和ClientData拼接起来,并用SM2算法进行签名;
HASH=SM3(ClientData||RND)
Sign=SM2(HASH)
进一步地,客户端将签名值发送给服务端,服务器端对签名值进行验签,从而完整对客户端的鉴别过程。
需要了解的是,密码机是在密钥作用下,实现明-密变换或者密-明状态变换的装置,密码机的使用领域和范围及其广泛,典型的例如军事、机要或信息技术等领域。其具有数据加解密、签名、验签、MAC解析、杂凑等功能,可以为用户解决敏感信息机密性、完整性、有效性和不可抵赖等安全性问题。
可以理解的是,在使用过程中,服务器密码机设备利用管理员锁来对设备进行管理,例如,管理员身份认证,或者利用管理员锁来完成设备的初始化和密钥恢复等操作。而为了适应业务扩展的需求,服务器密码机设备也支持横向扩展,即可以通过使用管理员锁,利用一台已有的服务器密码机设备作为模板复制出具备相同核心数据的服务器密码机设备,以实现负载均衡或分布式部署。
基于此,本实施例中,在使用上述任意方面的任意实施例进行组合之后,可以进一步强化安全性。
在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种基于数字签名的服务器密码机客户端IP检测方法,所述服务器密码机包括服务器端与客户端,其特征在于,所述方法包括:
获取所述客户端的待验证数据;其中,所述待验证数据包括所述客户端的标识、所述客户端的IP地址及所述客户端发送数据的时间戳;
生成随机码,并将所述随机码与所述待验证数据组合,以及将所述随机码发送至所述客户端,其中,所述随机码由随机种子配合迭代算法产生,所述迭代算法包括多种,产生不同的所述随机码时更新所述迭代算法;所述服务器端每隔一段预设时间,产生一个时间戳并通过协议传输到所述客户端以增加所述随机码的随机程度,或从所述一段预设时间内选择多个时间点,且每个所述时间点均产生一个时间戳并通过协议传输到所述客户端以增加所述随机码的随机程度;
按照密码散列函数,对所述随机码与所述待验证数据组合后的数据进行信息摘要,生成包含相应散列值的准签体;
接收所述客户端发送的签体和公钥;其中,所述客户端依据SM2算法生成私钥及与所述私钥相对应的所述公钥,所述客户端按照所述密码散列函数对所述待验证数据与所述随机码组合后的数据进行信息摘要,生成包含相应散列值的签体,并应用所述私钥对所述签体进行加密;
应用所述公钥对所述签体进行解密,以及将解密后的所述签体与所述准签体进行比较,并根据比较结果检测所述客户端的IP地址。
2.如权利要求1所述的基于数字签名的服务器密码机客户端IP检测方法,其特征在于,所述散列值包括输入随机的字符串。
3.如权利要求1所述的基于数字签名的服务器密码机客户端IP检测方法,其特征在于,所述根据比较结果检测所述客户端的IP地址,包括:
若所述签体与所述准签体相同,则确认所述客户端的IP地址完整;
若所述签体与所述准签体不同,则确认所述客户端的IP地址缺失。
4.如权利要求1所述的基于数字签名的服务器密码机客户端IP检测方法,其特征在于,所述生成随机码,并将所述随机码与所述客户端的待验证数据组合,包括:
生成随机码;
将所述客户端的编号、所述客户端的IP地址、所述客户端发送数据的时间戳及所述随机码依次序拼接。
5.如权利要求1~4任意一项所述的基于数字签名的服务器密码机客户端IP检测方法,其特征在于,所述方法还包括:使用SM3算法进行哈希值计算。
6.一种基于数字签名的服务器密码机客户端IP检测装置,所述服务器密码机包括服务器端与客户端,其特征在于,所述装置包括:
数据获取模块,用于获取所述客户端的待验证数据;其中,所述待验证数据包括所述客户端的标识、所述客户端的IP地址及所述客户端发送数据的时间戳;
数据签名生成模块,用于生成随机码,并将所述随机码与所述待验证数据组合,以及将所述随机码发送至所述客户端,其中,所述随机码由随机种子配合迭代算法产生,所述迭代算法包括多种,产生不同的所述随机码时更新所述迭代算法;所述服务器端每隔一段预设的时间,产生一个时间戳并通过协议传输到所述客户端以增加所述随机码的随机程度,或从所述一段预设时间内选择多个时间点,且每个所述时间点均产生一个时间戳并通过协议传输到所述客户端以增加所述随机码的随机程度;
数据签名校验模块,用于按照密码散列函数,对所述随机码与所述待验证数据组合后的数据进行信息摘要,生成包含相应散列值的准签体;接收所述客户端发送的签体和公钥,其中,所述客户端依据SM2算法生成私钥及与所述私钥相对应的所述公钥,所述客户端按照所述密码散列函数对所述待验证数据与所述随机码组合后的数据进行信息摘要,生成包含相应散列值的签体,并应用所述私钥对所述签体进行加密;应用所述公钥对所述签体进行解密,以及将解密后的所述签体与所述准签体进行比较,并根据比较结果检测所述客户端的IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527734.5A CN113285934B (zh) | 2021-05-14 | 2021-05-14 | 基于数字签名的服务器密码机客户端ip检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527734.5A CN113285934B (zh) | 2021-05-14 | 2021-05-14 | 基于数字签名的服务器密码机客户端ip检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285934A CN113285934A (zh) | 2021-08-20 |
CN113285934B true CN113285934B (zh) | 2023-04-28 |
Family
ID=77279073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110527734.5A Active CN113285934B (zh) | 2021-05-14 | 2021-05-14 | 基于数字签名的服务器密码机客户端ip检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285934B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001743B (zh) * | 2022-04-27 | 2024-03-08 | 阿里巴巴(中国)有限公司 | 访问方法、装置以及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019020051A1 (zh) * | 2017-07-28 | 2019-01-31 | 中国移动通信有限公司研究院 | 一种安全认证的方法及装置 |
CN112367175A (zh) * | 2020-11-12 | 2021-02-12 | 西安电子科技大学 | 基于sm2数字签名的隐式证书密钥生成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509495B2 (en) * | 2003-07-10 | 2009-03-24 | Cinnober Financial Technology, Ab | Authentication protocol |
KR100651715B1 (ko) * | 2004-10-07 | 2006-12-01 | 한국전자통신연구원 | 차세대 인터넷에서 자동으로 주소를 생성하고 수락하는방법 및 이를 위한 데이터 구조 |
CN102469173A (zh) * | 2010-11-15 | 2012-05-23 | 中国人民解放军总参谋部第六十一研究所 | 基于组合公钥算法的IPv6网络层可信传输的方法和系统 |
CN104158816A (zh) * | 2014-08-25 | 2014-11-19 | 中国科学院声学研究所 | 认证方法、装置和服务器 |
CN106790296B (zh) * | 2017-03-16 | 2020-02-14 | 中国联合网络通信集团有限公司 | 域名记录验证方法及装置 |
CN111404884B (zh) * | 2020-03-02 | 2021-07-20 | 清华大学 | 安全通信方法、客户机及非公开服务器 |
-
2021
- 2021-05-14 CN CN202110527734.5A patent/CN113285934B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019020051A1 (zh) * | 2017-07-28 | 2019-01-31 | 中国移动通信有限公司研究院 | 一种安全认证的方法及装置 |
CN112367175A (zh) * | 2020-11-12 | 2021-02-12 | 西安电子科技大学 | 基于sm2数字签名的隐式证书密钥生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113285934A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708991B (zh) | 服务的授权方法、装置、计算机设备和存储介质 | |
CN112487778B (zh) | 多用户在线签约系统及方法 | |
More et al. | Third party public auditing scheme for cloud storage | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
CN108696358B (zh) | 数字证书的管理方法、装置、可读存储介质及服务终端 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN109614802B (zh) | 抗量子计算的签章方法和签章系统 | |
CN104935568A (zh) | 一种面向云平台接口鉴权签名方法 | |
CN109600228B (zh) | 基于公共密钥池的抗量子计算的签章方法和签章系统 | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
CN111476573B (zh) | 一种账户数据处理方法、装置、设备及存储介质 | |
CN101241528A (zh) | 终端接入可信pda的方法和接入系统 | |
CN109560935B (zh) | 基于公共非对称密钥池的抗量子计算的签章方法和签章系统 | |
CN110955918A (zh) | 一种基于RSA加密sha-256数字签名的合同文本保护方法 | |
CN113872932B (zh) | 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质 | |
CN106790045A (zh) | 一种基于云环境分布式虚拟机代理架构及数据完整性保障方法 | |
US8583921B1 (en) | Method and system for identity authentication | |
CN117335989A (zh) | 基于国密算法在互联网系统中安全应用方法 | |
CN113849797B (zh) | 数据安全漏洞的修复方法、装置、设备及存储介质 | |
CN109586918B (zh) | 基于对称密钥池的抗量子计算的签章方法和签章系统 | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
CN113285934B (zh) | 基于数字签名的服务器密码机客户端ip检测方法及装置 | |
CN106533681A (zh) | 一种支持部分出示的属性证明方法与系统 | |
CN117370952A (zh) | 基于区块链的多重节点身份验证方法及装置 | |
CN109586917B (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 |