CN109698806B - 一种用户数据校验方法及系统 - Google Patents
一种用户数据校验方法及系统 Download PDFInfo
- Publication number
- CN109698806B CN109698806B CN201710981918.2A CN201710981918A CN109698806B CN 109698806 B CN109698806 B CN 109698806B CN 201710981918 A CN201710981918 A CN 201710981918A CN 109698806 B CN109698806 B CN 109698806B
- Authority
- CN
- China
- Prior art keywords
- sign data
- timestamp
- information
- data
- time
- 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
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种用户数据校验方法及系统,根据加密时客户端的时间戳作为可变私钥对用户数据进行加密,提高了第一Sign数据的安全可靠性,防止用户数据被篡改,而服务端无法准确校验,造成用户经济损失的问题,同时服务端根据接收到信息的第一Sign数据,根据列表判断是否已经处理过第一Sign数据对应的信息,若处理过,直接丢弃所述信息,同时根据接收信息时服务端的第二时间戳与第一时间戳之间的时间差在预设第一时间值范围内,则所述信息校验通过,否则丢弃所述信息,通过上述方法能够防止一段时间内,服务器被多次恶意攻击的问题,提升了数据校验可靠性,使用户数据更加安全,避免不必要的损失。
Description
技术领域
本发明涉及数据校验技术领域,尤其涉及一种用户数据校验方法及系统。
背景技术
随互联网技术的迅速发展,通过互联网进行数据交互已经成为了一个普遍的业务需要,互联网的用户也会出现多样性,随机性和不可控性,对于一个互联网服务器的设计来说,如何确定用户发送的数据没有经过篡改,对于用户的身份安全和数据安全是非常重要的;而数据传输过程中往往会受到黑客的攻击,对数据进行恶意篡改,造成用户巨大的损失;
申请号为:201610919867.6的中国专利,公开了一种带时效的用户数据签名校验方法,如下:1、客户端发出HTTP请求,其中请求的参数格式为<key>=<value>,其中包括用户发送参数字段、当前时间字段和固定私钥字段,多个字段之间使用&号进行连接;2、用户在发送构成的字符串参数时,需要在请求参数后增加一个名称为sign的参数,参数的内容为根据用户发送的字符串计算出的一个哈希数值,然后将新形成的参数发送到服务器;3、服务器接收到参数后,服务器根据用户的输入,计算一个sign值,如果该值与用户传入的sign值相同,则允许访问,否则拒绝访问。上述专利在一定程度上提高了数据的安全性,但仍存在以下不足:由于是上述是以年月日为可变私钥,因此信息验证存在有漏洞,其他人可以通过截包的方式把发送的数据抓取下来,然后一致模拟发送同样的数据包进行攻击,因为时间验证只验证到日,因此只要是今天的包,都可以发送过去,而且验证都可以通过,这就会造成黑客可以对服务器进行恶意攻击,使用户造成经济损失。
发明内容
本发明所要解决的技术问题是:本发明提供一种用户数据校验方法及系统,提升了数据校验可靠性,使用户数据更加安全,避免不必要的损失。
为了解决上述技术问题,本发明提供了一种用户数据签名校验方法,包括以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中。
本发明还提供了一种用户数据签名校验方法,包括以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中。
进一步,本发明还提供了一种用户数据签名校验系统,包括客户端和服务端,所述客户端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中。
本发明的有益效果为:
本发明提供的一种用户数据签名校验方法及系统,根据加密时客户端的时间戳作为可变私钥对用户数据进行加密,提高了第一Sign数据的安全可靠性,防止用户数据被篡改,而服务端无法准确校验,造成用户经济损失的问题,同时服务端根据接收到信息的第一Sign数据,根据列表判断是否已经处理过第一Sign数据对应的信息,若处理过,直接丢弃所述信息,同时根据接收信息时服务端的第二时间戳与第一时间戳之间的时间差在预设第一时间值范围内,则所述信息校验通过,否则丢弃所述信息,通过上述方法能够防止一段时间内,服务器被多次恶意攻击的问题,提升了数据校验可靠性,使用户数据更加安全,避免不必要的损失。
附图说明
图1为根据本发明实施例的一种用户数据校验方法的主要步骤示意图;
图2为根据本发明实施例的一种用户数据校验方法系统结构示意图;
标号说明:
1、客户端;2、服务端;3、第一存储器;4、第一处理器;5、第二存储器;6、第二处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参照图1,本发明提供了一种用户数据签名校验方法,包括以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差(即第二时间戳减去第一时间戳的绝对值)是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中;所述第一时间值为第一时差与时间阈值之和,所述第一时差为服务端与客户端所处时区的时间差的绝对值;所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与其各自所处的时区的标准时间的误差进行调整。
从上述描述可知,根据加密时客户端的时间戳作为可变私钥对用户数据进行加密,提高了第一Sign数据的安全可靠性,防止用户数据被篡改,而服务端无法准确校验,造成用户经济损失的问题,同时服务端根据接收到信息的第一Sign数据,根据列表判断是否已经处理过第一Sign数据对应的信息,若处理过(处理过该信息,则列表中会存储对应的第一Sign数据),直接丢弃所述信息,同时根据接收信息时服务端的第二时间戳与第一时间戳之间的时间差在预设第一时间值范围内,则所述信息校验通过,否则丢弃所述信息,通过上述方法能够防止一段时间内,服务器被多次恶意攻击的问题,提升了数据校验可靠性,使用户数据更加安全,避免不必要的损失。
进一步的,获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中。
从上述描述可知,通过第三时间戳能够得知第一Sign数据对应的信息已经处理的时间,以便后续数据处理。
进一步的,“存储在所述列表中”之后还包括:
S40:每隔预设第一时间间隔获取当前的时间戳;
S41:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S42:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理;所述第二时间值为所述第一时间值的两倍。
由于客户端跟服务端的时间差,可能正数,也可能负数。比如服务端时间现在8点,假设预设第一时间值为12小时,则只要客户端时间是在[-4,20]点(服务端时间往前12小时内,往后12小时内)发送都认为是满足时间的;因此,sign数据存储的时间,也就是预设第二时间值,应该是预设第一时间值的两倍。所以这个例子里面,所述第二时间值为24小时。
从上述描述可知,在第三时间戳后的第二时间值内,服务端不对相同第一Sign数据对应的信息进行处理,可防止服务器被多次恶意攻击,提高用户数据的安全性,在第二时间值后则删除第一Sign数据及对应的第三时间戳,释放列表的存储空间,提高服务器数据处理效率。
进一步的,所述S1和S2中加密均为通过MD5进行加密。
进一步的,“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
从上述描述可知,通过上述方法,能够快速判断第二Sign数据与第一Sign数据是否相同,从而提高了数据的处理效率。
本发明还提供了一种用户数据签名校验方法,包括以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中。
进一步,本发明还提供了一种用户数据签名校验系统,包括客户端1和服务端2,所述客户端1包括第一存储器3、第一处理器4及存储在第一存储器3上并可在第一处理器4上运行的第一计算机程序,所述服务端2包括第二存储器5、第二处理器6及存储在第二存储器5上并可在第二处理器6上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中。
进一步的,所述的一种用户数据校验系统,所述第二处理器执行所述第二计算机程序时执行的步骤还包括:
获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中。
进一步的,所述的一种用户数据校验系统,“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
进一步的,所述的一种用户数据校验系统,“存储在所述列表中”之后还包括:
S40:每隔预设第一时间间隔获取当前的时间戳;
S41:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S42:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理。
请参照图1,本发明的实施例一为:
本发明提供的一种用户数据校验方法,包括以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳通过MD5加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥通过MD5加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第一时间值为第一时差与时间阈值之和,所述第一时差为服务端与客户端所处时区的时间差的绝对值;所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与其各自所处的时区的标准时间的误差进行调整;
S4:获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中;
S50:每隔预设第一时间间隔获取当前的时间戳;
S51:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S52:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理。
本发明的实施例二为:
本发明提供的一种用户数据校验方法,包括以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中。
本发明的实施例三为:
本发明还提供了一种用户数据签名校验系统,包括客户端和服务端,所述客户端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳通过MD5加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥通过MD5加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第一时间值为第一时差与时间阈值之和,所述第一时差为服务端与客户端所处时区的时间差的绝对值;所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与其各自所处的时区的标准时间的误差进行调整;S4:获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中;
S50:每隔预设第一时间间隔获取当前的时间戳;
S51:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S52:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理。
本发明的实施例四为:
1、MD5数据生成流程:
假设客户端发送数据{“A1”:“1”,“A2”:“2”,“B1":“3”};
当前客户端时间(2017/9/29 19:33:43),对应的UNIX时间格式数据1506684823;
固定私钥HASHCODE;
则进行MD5加密后的数据为:
MD5(123HASHCODE1506684823)=b941b87ebf93ef152b04a6662e67866c;
最终发送的信息为:
2、服务端验证流程:
2.1服务端接收到JSON数据:
{
"A1":"1",
"A2":"2",
"B1":"3",
"time":"1506684823",
"sign":"b941b87ebf93ef152b04a6662e67866c"
}
后,会使用客户端发送的这些信息,加上固定私钥计算MD5加密后的Sign数据;
MD5(123HASHCODE1506684823)=b941b87ebf93ef152b04a6662e67866c;
计算出来的sign跟客户端发送过来的sign一致,则认为数据没有被掉包;否则验证失败返回;
2.2服务端获取自己的时间,然后跟客户端发送过来的时间进行比较,如时间差值在12个小时(12小时为客户端与服务端处于不同时区的时间差的绝对值与时间阈值之和,所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与其各自所处的时区的标准时间的误差进行调整)内,则认为时区正常;否则验证失败返回;
2.3服务端读取客户端发送的sign数据,到缓存列表里查找这个sign是存在,如果不存在,则说明sign没被用过,验证通过,并存储对应的Sign数据至所述列表中,且对应的Sign数据存储在列表中的时间为24小时;如果存在,则说明这个sign已经被使用过,验证失败返回。
综上所述,本发明提供的一种用户数据签名校验方法及系统,根据加密时客户端的时间戳作为可变私钥对用户数据进行加密,提高了第一Sign数据的安全可靠性,防止用户数据被篡改,而服务端无法准确校验,造成用户经济损失的问题,同时服务端根据接收到信息的第一Sign数据,根据列表判断是否已经处理过第一Sign数据对应的信息,若处理过,直接丢弃所述信息,同时根据接收信息时服务端的第二时间戳与第一时间戳之间的时间差在预设第一时间值范围内,则所述信息校验通过,否则丢弃所述信息,通过上述方法能够防止一段时间内,服务器被多次恶意攻击的问题,提升了数据校验可靠性,使用户数据更加安全,避免不必要的损失。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种用户数据校验方法,其特征在于,包括以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第一时间值为第一时差与时间阈值之和,所述第一时差为服务端与客户端所处时区的时间差的绝对值,所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与各自所处的时区的标准时间的误差进行调整;
获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中;
S40:每隔预设第一时间间隔获取当前的时间戳;
S41:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S42:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理;
所述第二时间值为所述第一时间值的两倍;
在第三时间戳后的第二时间值内,服务端不对相同第一sign数据对应的信息进行处理;
“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
2.根据权利要求1所述的一种用户数据校验方法,其特征在于,所述S1和S2中加密均为通过MD5进行加密。
3.一种用户数据校验系统,包括客户端和服务端,所述客户端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
通过固定密钥对用户数据及当前第一时间戳进行加密,得到第一Sign数据;
根据用户数据、第一时间戳及第一Sign数据,得到JSON格式的信息;
并通过HTTP协议发送所述信息至服务端,以使得服务端将所述信息中的用户数据及第一时间戳通过服务端预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则:判断接收所述信息对应服务端的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则服务器对所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S1:接收客户端发送的信息,所述信息包括用户数据、第一时间戳及第一Sign数据,所述第一Sign数据由客户端利用固定私钥对所述用户数据和所述第一时间戳加密得到,所述第一时间戳为利用固定私钥加密时对应客户端的时间戳;
S2:将所述信息中的用户数据及第一时间戳通过预先存储的所述固定私钥加密得到第二Sign数据,判断第二Sign数据是否与第一Sign数据一致,若不一致,则丢弃所述信息;否则,执行步骤S3;
S3:判断接收所述信息对应的第二时间戳与所述第一时间戳的时间差是否大于预设第一时间值,若是,则丢弃所述信息;否则,判断所述第一Sign数据是否存在预设列表中,若存在,则丢弃所述信息,若不存在,则所述信息校验通过,并存储所述第一Sign数据至所述列表中;
所述第一时间值为第一时差与时间阈值之和,所述第一时差为服务端与客户端所处时区的时间差的绝对值,所述时间阈值为根据客户端与服务端数据传输时间,以及客户端、服务端与各自所处的时区的标准时间的误差进行调整;
所述第二处理器执行所述第二计算机程序时执行的步骤还包括:
获取存储所述第一Sign数据时的第三时间戳;将所述第三时间戳与所述第一Sign数据相关联后,存储在所述列表中;
S40:每隔预设第一时间间隔获取当前的时间戳;
S41:遍历所述列表中每一个的第一Sign数据,并获取其对应的第三时间戳;
S42:判断第三时间戳与所述当前的时间戳之间的时间差是否大于预设第二时间值,若是,则删除对应的第一Sign数据;若否,则不对数据进行处理;
所述第二时间值为所述第一时间值的两倍;
在第三时间戳后的第二时间值内,服务端不对相同第一sign数据对应的信息进行处理;
“判断第二Sign数据是否与第一Sign数据一致”具体为:
计算第一Sign数据对应的第一哈希值;
计算第二Sign数据对应的第二哈希值;
判断第二哈希值与第一哈希值是否相同。
4.根据权利要求3所述的一种用户数据校验系统,其特征在于,加密方式均为通过MD5进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710981918.2A CN109698806B (zh) | 2017-10-20 | 2017-10-20 | 一种用户数据校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710981918.2A CN109698806B (zh) | 2017-10-20 | 2017-10-20 | 一种用户数据校验方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109698806A CN109698806A (zh) | 2019-04-30 |
CN109698806B true CN109698806B (zh) | 2021-12-28 |
Family
ID=66226308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710981918.2A Active CN109698806B (zh) | 2017-10-20 | 2017-10-20 | 一种用户数据校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109698806B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262701B (zh) * | 2020-01-10 | 2023-05-23 | 普联国际有限公司 | 一种重放攻击检测方法、系统、设备及存储介质 |
CN112016082B (zh) * | 2020-10-26 | 2021-01-22 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
CN112434064B (zh) * | 2020-11-19 | 2023-09-29 | 脸萌有限公司 | 数据处理方法、装置、介质及电子设备 |
CN117375838A (zh) * | 2022-06-30 | 2024-01-09 | 中兴通讯股份有限公司 | 一种验证方法、终端设备、网络设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624740A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种数据交互方法及客户端、服务器 |
CN105827408A (zh) * | 2015-12-03 | 2016-08-03 | 中国航天系统工程有限公司 | 一种基于时间戳技术的工业网络安全传输方法 |
CN106571923A (zh) * | 2016-10-21 | 2017-04-19 | 天津海量信息技术股份有限公司 | 带时效的用户数据签名校验方法 |
CN106712962A (zh) * | 2016-12-23 | 2017-05-24 | 西安电子科技大学 | 移动rfid系统双向认证方法及其系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11533297B2 (en) * | 2014-10-24 | 2022-12-20 | Netflix, Inc. | Secure communication channel with token renewal mechanism |
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
CN106357701B (zh) * | 2016-11-25 | 2019-03-26 | 西安电子科技大学 | 云存储中数据的完整性验证方法 |
CN106878024B (zh) * | 2017-03-08 | 2019-10-18 | 北京科摩仕捷科技有限公司 | 一种基于缓存的验证码校验方法和系统 |
-
2017
- 2017-10-20 CN CN201710981918.2A patent/CN109698806B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624740A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种数据交互方法及客户端、服务器 |
CN105827408A (zh) * | 2015-12-03 | 2016-08-03 | 中国航天系统工程有限公司 | 一种基于时间戳技术的工业网络安全传输方法 |
CN106571923A (zh) * | 2016-10-21 | 2017-04-19 | 天津海量信息技术股份有限公司 | 带时效的用户数据签名校验方法 |
CN106712962A (zh) * | 2016-12-23 | 2017-05-24 | 西安电子科技大学 | 移动rfid系统双向认证方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109698806A (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112218294B (zh) | 基于5g的物联网设备的接入方法、系统及存储介质 | |
US10728041B2 (en) | Protecting computer systems using merkle trees as proof of-work | |
US11089032B2 (en) | Signed envelope encryption | |
JP7215684B2 (ja) | 部分的に信頼できる第三者機関を通しての鍵交換 | |
US10171250B2 (en) | Detecting and preventing man-in-the-middle attacks on an encrypted connection | |
CN112019493B (zh) | 身份认证方法、身份认证装置、计算机设备和介质 | |
CN109698806B (zh) | 一种用户数据校验方法及系统 | |
WO2016078182A1 (zh) | 敏感数据的授权方法、装置和系统 | |
US10645086B1 (en) | System and method for handling user requests for web services | |
EP2346207A1 (en) | A method for authenticating a trusted platform based on the tri-element peer authentication (tepa) | |
US20160285861A1 (en) | A system and method for authenticating the legitimacy of a request for a resource by a user | |
US20140057596A1 (en) | Authenticating user sessions based on information obtained from mobile devices | |
US10715547B2 (en) | Detecting “man-in-the-middle” attacks | |
US10348701B2 (en) | Protecting clients from open redirect security vulnerabilities in web applications | |
CN109995776B (zh) | 一种互联网数据验证方法及系统 | |
CN109714370B (zh) | 一种基于http协议端云安全通信的实现方法 | |
CN110071937B (zh) | 基于区块链的登录方法、系统及存储介质 | |
CN110912689A (zh) | 一种唯一值的生成、验证方法及系统 | |
CN103973703A (zh) | 一种用于应用程序和服务器之间交换数据安全的请求方法 | |
WO2020243245A1 (en) | Protection of online applications and webpages using a blockchain | |
CN114830572A (zh) | 一种数据传输方法、装置、设备、系统及存储介质 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN111935122B (zh) | 数据的安全处理方法及装置 | |
JP6688782B2 (ja) | ネットワーク通信方法及びネットワーク通信システム | |
CN111565178B (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 |