CN106790250A - 数据处理、加密、完整性校验方法及身份鉴别方法及*** - Google Patents
数据处理、加密、完整性校验方法及身份鉴别方法及*** Download PDFInfo
- Publication number
- CN106790250A CN106790250A CN201710054663.5A CN201710054663A CN106790250A CN 106790250 A CN106790250 A CN 106790250A CN 201710054663 A CN201710054663 A CN 201710054663A CN 106790250 A CN106790250 A CN 106790250A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- server
- client
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/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
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)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据处理、加密、完整性校验以及身份鉴别方法及***,该数据处理方法包括:预先设置黑箱秘钥,所述的黑箱秘钥是一个随机数,其长度大于等于64字节;对参与处理的输入数据,使用所述的黑箱密钥进行混杂运算,获得中间值数据;使用预设的哈希函数,对所述中间值数据进行单向散列运算,获得所述中间值数据的Hash结果。该方法能够为服务器(服务端)提供一种敏感数据的存储机制,可靠地实现客户端和服务器之间的鉴别。
Description
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种数据处理、加密、完整性校验方法及身份鉴别方法及***。
背景技术
加密技术自古代就已开始研究,信息的保护无论是军事、政府还是商业乃至个人,都是非常重要的。一些部门及组织,对加密强度有着极高的需求。如果加密信息被破译,其后果可能是非常严重的。随着人类社会进入计算时代、商业时代,大数据加密成为一种重要需求,如数据库加密、磁盘加密、云加密等。在信息安全领域,现有的加密技术通常包括公钥算法、对称分组算法、数字摘要算法(哈希函数)。
目前客户端和服务器之间在进行身份鉴别、数据交换的时候,数据大多数时候需要在网络中传输。而数据在网络上进行传输的时候,很容易被非法窃取,而大多数用户习惯使用弱密码,对于一个弱密码,通过字典型强力破解,攻击者很容易获得密码的原文,因而造成用户密码的泄露,因此一种较为可靠的数据网络传输方法以及安全的身份鉴别技术成为目前亟待解决的问题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据处理、加密、完整性校验方法及身份鉴别方法及***,能够更加可靠的实现客户端和服务器之间数据的传输。
第一方面,本发明实施例提供了一种数据处理方法,包括:
预先设置黑箱秘钥,所述的黑箱秘钥是一个随机数,其长度大于等于64字节;
对参与处理的输入数据,使用所述的黑箱密钥进行混杂运算,获得中间值数据;
使用预设的哈希函数,对所述中间值数据进行单向散列运算,获得所述中间值数据的Hash结果。
第二方面,本发明实施例还提供一种数据加密方法,包括:获取待处理信息;所述待处理信息中包括多个待加密字段,以及多个非加密字段;
将所述多个非加密字段进行拼接,形成字符串格式的秘钥明文键值;
将所述秘钥明文键值作为输入数据,使用如上述权利要求1所述的方法对所述的秘钥明文键值数据进行处理,获取与所述秘钥明文键值对应的Hash结果;
将所述秘钥明文键值对应的Hash结果作为对称加密算法的密钥,对待加密字段进行加密和/或解密。
第三方面,本本发明实施例还提供一种数据完整性校验方法,包括:
获取完整性校验数据;
将所述完整性校验数据与预存的完整性校验值进行比对校验;
其中,所述完整性校验数据以及所述完整性校验值均通过下述方式获得:
获取数据表,并将所述数据表中所有的字段值,逐项连接成为一个字符串格式的待校验数据;
将所述待校验数据作为输入数据,使用如上述权利要求1所述的方法进行处理,获取与所述待校验数据对应的Hash结果;
将与所述待校验数据对应的Hash结果作为完整性校验值进行保存,和/或,作为所述待完整性校验数据。
第四方面,本发明实施例提供一种身份鉴别方法,应用于包括客户端以及服务器的***中,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述权利要求2所提供的方法进行加密存储;所述公钥在所述服务器明文存储;
所述身份鉴别方法包括:
客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行加密,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
所述服务器根据所述服务器请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
第五方面,本发明实施例还提供一种数据加密***,包括:包括客户端以及服务器,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述权利要求2所提供的数据加密方法进行加密后存储;所述公钥在所述服务器明文存储;所述身份鉴别***包括:
客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行双重加密后,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
所述服务器根据所述服务请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
本发明实施例所提供的数据处理、加密、完整性校验方法及身份鉴别方法及***,能够更加可靠的实现客户端和服务器之间数据的传输。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种数据处理方法的流程图;
图2示出了本发明实施例所提供的一种数据加密方法的流程图;
图3示出了本发明实施例所提供的一种数据完整性校验方法的流程图;
图4示出了本发明实施例所提供的一种身份鉴别方法的流程图;
图5示出了本发明实施例所提供的身份鉴别方法中,密码挑战数据在服务端的算法流程图;
图6示出了本发明实施例所提供的身份鉴别方法中,客户端根据所述密码挑战数据以及用户密码,生成第二次认证请求信息的具体方法流程图;
图7示出了本发明实施例所提供的一种身份鉴别***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前客户端和服务器之间相互发送的数据包在网络上进行传输的时候,容易被非法劫持,而大多数用户习惯使用弱密码,对于一个弱密码,通过字典型强力破解,攻击者很容易获得的密码原文,因而造成用户密码的泄露,因此一种较为可靠的数据处理方法成为目前亟待解决的问题。基于此,本申请提供一种数据处理、加密、完整性校验方法及身份鉴别方法及***,可以实现客户端和服务器之间的数据更加可靠的传输。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据处理方法进行详细介绍,该方法可以应用于多种领域,例如实现一次一密的对称算法,用于数据库的加密以及数据完整性校验、实现分散性安全数据库、实现用户身份鉴别等多种用途。
参见图1所示,本发明实施例所提供的数据处理方法,具体包括:
S101:预先设置黑箱秘钥,所述的黑箱秘钥是一个随机数,其长度大于等于64字节;
S102:对参与处理的输入数据,使用所述的黑箱密钥进行混杂运算,获得中间值数据;
S103:使用预设的哈希函数,对所述中间值数据进行单向散列运算,获得所述中间值数据的Hash结果。
在具体实现的时候,该数据处理方法,又称为黑箱加密算法,或称黑箱算法,该黑箱加密算法包括四个要素:算法(A)、黑箱秘钥(K)、黑箱输入(Bm)、黑箱输出(Bh,即中间值数据的Hash结果)。四要素的关系可以表述为以下公式:
Bh=A(K,Bm)
黑箱算法具有以下特征:
(1)K是一个固定长度的真随机数,其典型长度为1kB字节(8192位),最小长度为64字节。在一个实际的黑箱算法应用***中,K值是严格保密的。K通常称为黑箱秘钥。
(2)Bm是一个任意长度信息值,即参与处理的输入数据。
(3)Bh是一个固定长度的伪随机数,其典型长度为16字节(128位),还可以根据实际需要选择其他长度。
(4)在A,K确定的情况下,Bm和Bh具有单向对应关系,也就是说,确定的Bm输入可以计算出唯一的Bh输出。
(5)计算过程是不可逆的,也就是说,通过Bh值不可能获取K和Bm的任何信息特征。同时也意味着,如果想找出一个Bm输入值,使其Bh输出是某个特定数值,唯一的可行方法就是穷举Bm输入,直到其Bh输出符合给定数值。而这种穷举计算,在K值未知的情况下,是无法实施的。
(6)Bh具有随机数统计特性(散列性),也就是说,无论给定何种有规律或者无规律的多个Bm输入序列,其对应的Bh输出序列始终符合随机数分布特性。
对参与处理的数据以及预设的黑箱密钥进行混杂运算,实际上就是针对黑箱输入Bm和黑箱秘钥K,采用预先设定的算法进行混杂运算。所述的混杂算法可以是多种多样的,可以根据安全需求和速度需求进行综合考量,选择某种具体计算过程,例如:
Bh=MD5(K+Bm);
该方案就是将K值和Bm按字节顺序合并,再计算合并信息的MD5值。更为复杂的方案可以将K值和Bm的混杂运算设计为交替加密、解密,或者按照一定规律将K和Bm的字节进行有序或者无序的字节混杂过程。只要能满足第(4)条要求,K值和Bm进行任何混杂都是允许的。
在上述S103中,预设的哈希函数可以是MD5、SHA等算法,这些算法经过海量的验证和研究,具有较高的安全性,即便S102中的混杂运算很简单,最终经过S103的计算后,也可以保证算法整体具有足够的安全性。
黑箱算法可以看作一种变异的哈希算法,具有不可逆性,因此不能独立作为加密/解密算法。黑箱算法与某种对称算法结合使用,则可以实现一次一密的密码体制。方案如下:
通讯双方(Alice,Bob)必须使用相同黑箱AK,相同黑箱的含义就是算法A和秘钥K都相同。Alice和Bob可以事先约定某种Bm输入序列,当然他们也可以随时变换约定。双方的这种约定无需任何保密,最简单的约定可以使用每天的日期值作为一种序列。他们的每次通讯,都按顺序使用约定序列中的元素,该元素作为Bm输入黑箱AK,得到对应的Bh输出值,Bh值再作为通讯数据的加/解密秘钥值。
上述方案也可以实现为一种自动链路加密机,在一条数据链路的两端,使用相同黑箱AK,链路的每个数据报需要增加一个简短明文报头,包含着Bm值,而数据报本身则使用对应的Bh值加密。根据黑箱算法的特征,只要Bm值不出现重复使用,Bh值将符合随机数统计规律,完全满足了一次一密的密码体制。
参见图2所示,本发明实施例还体统一种数据加密方法,在上述实施例的基础上,该数据加密方法具体包括:
S201:获取待处理信息;所述待处理信息中包括多个待加密字段,以及多个非加密字段;
S202:将所述多个非加密字段进行拼接,形成字符串格式的秘钥明文键值;
S203:将所述秘钥明文键值作为输入数据,使用如上述实施例的黑箱算法对所述的秘钥明文键值数据进行处理,获取与所述秘钥明文键值对应的Hash结果;
S204:将所述秘钥明文键值对应的Hash结果作为对称加密算法的密钥,对待加密字段进行加密和/或解密。
在具体实现的时候,该数据加密方法用于对包含有多个待加密字段以及多个非加密字段的待处理信息进行加密处理。例如,该待处理信息可以是某公司员工的身份信息以及工资信息。员工的身份信息不需要进行加密处理,将其作为非加密字段,而员工的工资信息需要进行加密,将其作为待加密字段。待加密字段可能有一个,也可能有多个,非加密字段可能有一个,也可能有多个。在进行加密的时候,会将多个非加密字段进行拼接,具体的拼接顺序可以根据用户的实际需求进行具体的设定。由于非加密字段在存储的时候也是明文存储的,因此可以将拼接后所形成的字符串作为加密时的密钥明文键值。将该密钥明文键值作为输入数据,使用如上述图1对应的实施例的方法进行处理,获取与密钥明文键值对应的Hash结果,将与密钥明文键值对应的Hash结果作为对称加密算法的密钥,对待加密字段进行加密。当需要对加密后的数据进行解密的时候,只需要再次将非加密字段进行拼接,形成字符串格式的密钥明文键值,然后使用与上述图1对应的实施例的方法对密钥明文键值进行处理,再次获得密钥明文键值对应的Hash结果,完成解密。在整个过程中,实际上黑箱密钥是一直处于保密状态,针对不同的待处理信息,由于非加密字段都不一样,因此,最终所形成的对称加密算法的密钥必然有所区别,最终能够获得的加密数据也有所区别。
在整个方法中黑箱密钥一直是处于保密状态,输入数据输入黑箱后,再由黑箱输出中间值数据的Hash结果,不管是在数据传输的时候,还是在与其他通讯主体进行通讯的过程中,所传输的数据中均不会携带黑箱密钥,而黑箱密钥和输入数据进行混杂运算后,还要使用预设的哈希函数对中间值数据进行单向散列运算,因此也就无从对黑箱密钥进行破解。提高了加密的可靠性。
例如:某个数据表由四个字段构成,第1和第2字段不需要加密,第3和第4字段需要加密,数据表中的明文内容为:
a1,a2,a3,a4;
b1,b2,b3,b3;
c1,c2,c3,c4;
……
加密过程:(a1+a2)作为黑箱的输入数据,得到ha,ha则用来加密或解密a3和a4,因此第1个数据记录的实际存储结果为:
a1,a2,Cf(a3),Cf(a4)
其中,Cf(a3)是a3用ha加密后是密文值,Cf(a4)是a4用ha加密后的密文值。后续数据记录以此类推,前两项都是明文值存储,后两项都是密文值存储。
以上算法的安全性在于,在没有黑箱秘钥的情况下,将无法计算每条数据记录的加/解密秘钥值。换言之,在没有黑箱的情况下,仅仅通过a1和a2不可能恢复出a3和a4的明文数值。
以上算法的适用范围并不仅仅局限于数据库的数据表,任何在数据结构上可以解析为数据表模式的场景都可以应用此算法。
参见图3所示,本发明实施例还提供一种数据完整性校验方法,该方法包括:
S301:获取完整性校验数据;
S302:将所述完整性校验数据与预存的完整性校验值进行比对校验;
其中,所述完整性校验数据以及所述完整性校验值均通过下述方式获得:
获取数据表,并将所述数据表中所有的字段值,逐项连接成为一个字符串格式的待校验数据;
将所述待校验数据作为输入数据,使用如上述权利要求1所述的方法进行处理,获取与所述待校验数据对应的Hash结果;
将与所述待校验数据对应的Hash结果作为完整性校验值进行保存,和/或,作为所述待完整性校验数据。
在具体实现的时候,在对数据的完整性进行校验的之前,需要先获取待校验的数据表,然后将数据表中所有的字段值逐项连接成为一个字符串格式的待校验数据,然后将该待校验数据作为输入数据,使用预先设置的黑箱密钥对其进行混杂运算,获取待校验数据对应的中间值数据,然后使用预设的哈希函数,对该待校验数据的中间值数据进行单向散列运算,获得该中间值数据的Hash结果,并将该Hash结果作为完整性校验值进行保存。在用户需要对数据表的完整性进行校验的时候,可以将其所获取的数据表中所有的字段值逐项连接成一个字符串格式的待校验数据,执行与获取完整性校验值相同的操作,将最终所获取的Hash结果作为待完整性校验数据,然后使用该待完整性校验数据与之前预先存储的完整性校验值进行比对,如果两者一致,则认为数据是完整的,如果两者不一致,则认为数据不完整。
具体地,假设一个数据表包含若干字段,该数据表在使用时,需要检查每项记录是否保持完整,所谓保持完整就是指记录数据没有被修改过。为实现此目的,需要给数据表增加一个额外字段,用来存储完整性校验值。所述完整性校验值的计算方法为,把一个记录中的所有字段值,但是不包括所述额外字段,逐项连接为一个字符串格式数据,作为图1所对应的实施例所提供的数据处理方法的输入数据,得到对应的Hash结果,该结果即为本条数据记录的完整性校验值,存放到额外字段中。
校验方法和计算方法基本一致,区别在于,校验时,得到的hash结果要与存放在额外字段中的数值进行比对,如果比对相等,说明数据完整性没有被破坏,如果比对不相等,说明数据完整性受到破坏。
用数据表举例如下:
a1,a2,a3,a4,chk-a;
b1,b2,b3,b3,chk-b;
c1,c2,c3,c4,chk-c;
……
以上数据表,增加一个额外字段,用来存储chk-a、chk-b、chk-c……。chk-a,就是a1+a2+a3+a4连接格式数据,再经过黑箱运算的hash输出值,chk-b,chk-c……以此类推。
以上算法的安全性在于,在没有黑箱秘钥的情况下,篡改任何一个数据值,都无法重新计算对应的校验值。换言之,任何数据篡改都可以被黑箱算法察觉出来。
以上算法的适用范围并不仅仅局限于数据库的数据表,任何在数据结构上可以解析为数据表模式的场景都可以应用此算法。
参见图4所示,本发明实施例还提供一种身份鉴别方法,该方法主要应用于包括客户端以及服务器的***中,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述图2所对应的实施例的数据加密方法处理后存储;所述公钥在所述服务器明文存储;具体包括:
S401:客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行加密后,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
S402:所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
S403:所述服务器根据所述服务器请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
RSA秘钥对的存储以及加密方案,具体包括:
RSA秘钥对的存储数据表的定义为(符合MySQL5.6的定义语法):
CREATE TABLE IF NOT EXISTS SKI_List
(PK_ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
XTimeStamp datetime default CURRENT_TIMESTAMP(),
nSTR VARCHAR(600),
eSTR VARCHAR(600),
dSTR VARCHAR(600),
pSTR VARCHAR(600),
qSTR VARCHAR(600),
uSTR VARCHAR(600),
e1STR VARCHAR(600),
e2STR VARCHAR(600));
以上数据表定义了10个数据字段,PK_ID(序列号),XTimeStamp(时间戳),nSTR(公钥数值n),eSTR(公钥数值e)这四个数据字段,属于不需要加密的明文字段,其余的六个字段属于私钥数值,需要加密。数据表的特征符合权利要求3的算法特征。也就是说,PK_ID、XTimeStamp、nSTR、eSTR是明文直接存储,其他字段则是密文存储,加密和解密秘钥就是(PK_ID+XTimeStamp+nSTR+eSTR)经过黑箱运算后得出的hash值。
另外,在具体实现的时候,客户端可以通过直接查询、间接查询等方法,获取服务器的某个RSA公钥。对于每个呼应过程,客户端所发出的报文用一个随机秘钥R进行加密,R本身再用应答服务器的公钥进行加密。服务器在收到报文后,从数据库中检索对应的私钥,使用私钥对R进行解密还原,再使用所得到的R值还原报文数据。而服务器在向客户端发送反馈结果数据时,使用R进行加密,最终客户端在收到加密的反馈结果数据报文后,能够再使用R对其进行解密。上述过程实现了两个目的:首先是实现了网络数据报的加密保护,可以确保通讯数据在链路环节不可被窃取。其次,基于RSA算法的特性,可以确保服务器的真实性,杜绝了假冒服务器的攻击。
上述S401-S403实际上是第一个呼应过程。该过程实现的目的,就是客户端从服务器获取密码挑战数据。所述呼应过程,就是指客户端向服务器发送一段完整的数据报文(呼叫),服务器完整接收,再根据报文内容执行相应的程序步骤,并得出一段结果数据,服务器再将结果数据完整反馈给客户端(应答)。
S404:所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
S405:所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
在上述S404-S405中,实际上执行的是第二个呼应过程,在该呼应过程中,客户端会首先根据密码挑战数据以及用户的密码运算数据,生成第二次认证请求信息,在该认证请求信息中,应当至少包括两部分内容:1、客户端对服务器所发送的密码挑战数据的算法回应,在该回应中混杂了用户的密码信息(或者称为鉴别密码、用户口令或者账号口令)。2、需要服务器执行的功能请求命令。该功能请求命令在使用公钥进行加密之前,还使用另外一个二次加密秘钥进行加密,该二次加密秘钥是在S404中,基于密码挑战数据和用户密码混杂计算得到。另外,如果认证方式有多种,还可以在认证请求中包含具体的认证方式识别标识。第二次呼应过程,实际使用了双重冗余加密方案,可以确保用户密码不会在通讯链路中被攻击者破解出来。
本发明实施例还提供了一种通过两次呼应过程实现用户身份认证的实施步骤:
所述服务器,在数据库存储的3个关键数据项:
(1)UserName---用户的标识名称,这是用户的字符串标识,也称为账号名,或者用户名;
(2)PWD---用户预先设定的身份鉴别密码,简称用户密码,需要指出的是,PWD的存储使用了黑箱算法,使用了权利2描述的加密方法。这就意味着,如果服务器的数据库发生失泄密事件,但是黑箱秘钥没有泄露,此种情况下,用户的PWD仍然处于高度安全状态,攻击者无法解密出任何用户的PWD,也不可能判断出某两个用户是否使用了相同的PWD。
(3)Auth.INC---身份鉴别协议使用的重放抵抗因子,这是一个无符号的整数值,用户创建时***自动完成初始化,在后续使用中只有单向步进+1的操作。
1、所述身份鉴别的第一次呼应:
本次呼应,完成的协议功能就是客户端获得了一个挑战变量。
(1)客户端构造数据:pwd.challenge=hmy1970;
(2)以上数据中,“hmy1970”标识一个用户名;
(3)客户端构造一个随机数,称为R,R值为16字节;
(4)客户端用R值加密“pwd.challenge=hmy1970”,加密结果称为Cm;
(5)客户端用服务器公钥加密R值,加密算法为RSA,加密结果为Rp;
(6)客户端把Rp和Cm发送到服务器;
(7)服务器首先要检索私钥,然后用私钥解密Rp,解密结果必然是R;
(8)服务器用R值解密Cm,解密结果必然是“pwd.challenge=hmy1970”;
(9)服务器在数据库中检索用户名“hmy1970”,获得与之关联的Auth.INC值;
(10)服务端回馈数据:PWD=1131 32921BAB7BAD53E419B21
服务端回馈数据中包含了3个分项数据,其算法含义为:
1131:此数值就是hmy1970用户关联的Auth.INC重放抵抗因子,每发生一次成功的PWD鉴别,该因子自动步进+1。比如,本次鉴别如果执行成功,下次再执行此协议时,该值就是1132。
32921:这是一个定时滚动变量,可以称为动态秘钥索引码,在服务端,此索引码保存于一个数组队列中,队列的长度可以满足5min之内的滚动。服务端在回馈此变量时,始终使用队尾的最新变量。也就是说,如果用户执行第2次呼应的时间间隔超过5min,该索引码就已经自动失效(已经滚出队列),无法用于认证计算了。该索引码实际上还关联了一个随机数,此随机数和该变量同时滚进滚出。实际上,该索引码的核心用途就是用来检索对应的随机数。
BAB7BAD53E419B21:这是8字节长度的随机数,该数值和32921有着直接关联性。
图5是密码挑战数据在服务端的算法流程图。在图5中,服务器回馈的A数据就是(Auth.INC存储值+1),B数据则是最新N值的直接引用。C1数据则是和N关联的随机数,固定长度为8字节,它具有以下特征:
(1)C1数据来源于多用户共享的队列数据。因此,无论有多少客户端同时发起挑战请求,服务器都不会产生额外的内存开销。这对服务器响应大量并发请求是非常有利的。
(2)C1数据具有时间限制性,只有B数据仍然处于队列当中时,服务器才能检索到对应的C1数据。如果B数据已经滚出队列,意味着C1数据也同时失效。
2、所述身份鉴别的第二次呼应:
客户端通过第一次呼应获取挑战数据之后,应及时执行第二次呼应,防止B数据和C1数据过期失效。
本次呼应,完成的协议功能就是客户端基于用户密码响应服务器回馈的挑战数据。本次呼应也使用了第一次呼应所用的公钥加密步骤,对其中的重复性内容不再赘述,仅叙述有区别的程序步骤:
(1)客户端发送数据:
authentication=pwd
AuthStr=hmy1970 1131 32921 0F36E4677A6073DA0F55B015BD727C4A
ActionEnc=GGRxYAruEn3IrbcUlkRfaaWCc
(2)服务端回馈数据:
ActionRet=iyFMmMtr0yMj6gztLPf0B1qTHYA9O1Y7Rhc1fBWtR9mb5sM5gEMuFn6gopLCVkQmqO9bDOd1wPnhnS)EtwZDd4RPo8IXZQtd8jeXx3ummdYP8odtot YJHJ)9w4XaXMcvTvYY(UdVkHlfh2NwKy(oqQz9YgdV7p4kGGRxYAruam3Ib
客户端发送数据的解释:
authentication=pwd指明这是一个对挑战变量的PWD响应报文;
AuthStr=hmy1970 1131 32921 0F36E4677A6073DA0F55B015BD727C4A
AuthStr条目中,包含了四个数据项:U、A、B、C2。其中U是用户名,A和B就是第一次呼应回馈的A数据和B数据。C2数据则是基于用户密码参与的混杂运算结果。具体算法步骤为:
—进行数据连接:A+第1次回馈的C1数据+用户密码;
—计算以上连接数据的MD5-hash值,此hash值即为C2数据;
ActionEnc条目是加密之后的功能请求命令,加密算法使用了IDEA算法,加密秘钥为Kp,Kp使用以下算法步骤:
—进行数据连接,用户名称+第1次回馈的C1数据+A+用户密码;
—计算以上连接数据的MD5-hash值,此hash值即为Kp值;
—需要指出,Kp不会出现在网络数据中;
服务端对报文数据的响应流程:
(1)基于用户名称,检索关联的Auth.INC数据,假设从数据库读取的数值为A’,则必须满足A=A’+1,否则视为认证无效,回馈错误信息;
(2)基于用户名称,检索关联的PWD数据;
(3)基于B数据,检索关联C1随机数,如果B数据无法检索,视为认证无效,回馈错误信息;
(4)基于以上数据项,服务器可以计算C2数据,计算结果为C2’;
(5)如果C2和C2’不相等,视为认证无效,回馈错误信息;
(6)对存储的Auth.INC数据进行步进+1操作;
(7)基于以上数据项,服务器也可以计算Kp值,在C2值比对相等的情况下,服务端计算的Kp值必然和客户端计算的Kp值相等;
(8)用Kp值解密ActionEnc条目数据;
(9)根据指令文本执行相应动作;
(10)执行结果用Kp值加密;
(11)ActionRet条目就是加密后的回馈结果;
上述的第(1)和第(6)步骤,是抵抗报文重放攻击的关键点。由于Auth.INC的单调+1,使得当前已经响应过的报文,如果再次重发给服务器,必然在第(1)步骤就被判定为认证无效。
对该协议的最有效攻击就是能够直接写操作服务器数据库,将Auth.INC非法篡改,通常而言,这种攻击很难实现。其次,由于C1的时间滚动特性,这种数据库篡改操作也必须限制在C1没有滚出队列之前才能奏效,一旦C1滚出队列,即使篡改Auth.INC也没有意义了。
参见图6所示,所述客户端根据所述密码挑战数据以及用户密码,生成第二次认证请求信息,具体包括:
S601用所述密码挑战数据以及用户密码进行混杂计算,在混杂计算时,使用两种不同的混杂计算过程,获取两个不同的秘钥值,作为校验秘钥和加密秘钥;所述的C2值就是校验秘钥,所述的Kp值就是加密秘钥。
S602:将所述校验秘钥发送至服务器,以使所述服务器根据所述校验密钥,检验客户端使用的用户密码是否正确,从而决策接受或者拒绝客户端提出的功能请求命令;
S603:使用所述加密秘钥加密所述的功能请求命令。
客户端发送的ActionEnc条目和服务器回馈的ActionRet条目,都使用了IDEA加密保护,加密秘钥则是Kp,Kp的算法也已经明确。
因此,用Kp加/解密ActionEnc和ActionRet视为第1重保护。有了这一重保护,即使不用公钥加密算法,协议也具备了基本的安全性。攻击者不可能从网络数据中直接获取到用户密码的原值。必须对网络数据进行字典强力攻击,才可能猜测出用户的密码,如果用户密码有足够的复杂度,字典攻击也就无法奏效了。
虽然协议是安全的,但是大部分用户往往喜欢使用很弱的密码,字典强力攻击对于猜测弱密码是非常有效的。因此,协议过程实际上还启用了第2重加密,即服务器公钥加密。这就是所述的双重冗余保护技术。
客户端发出的数据报,使用服务器公钥封装保护后,就彻底阻断了对用户密码进行字典攻击的可能性。
如果不使用公钥保护步骤,攻击者可以从网络链路中截获以下两个协议数据项:
第一次呼应的应答数据:
PWD=1131 32921BAB7BAD53E419B21
第二次呼应的呼叫数据:
AuthStr=hmy1970 1131 32921 0F36E4677A6073DA0F55B015BD727C4A
基于这两个数据项,攻击者就可以通过字典强力攻击破解出用户密码。
而使用公钥加密后,这两个数据项也转为加密数据,在没有服务器私钥的情况下,攻击者无法解密出原文,也就无法实施字典攻击。可以看出,对于弱密码的情况,双重冗余保护是很有必要的。
本发明实施例所提供的身份鉴别方法,客户端和服务器之间进行了两次呼应过程,在每一次呼应过程中,客户端所发出的数据都进行了公钥加密,首先是实现了网络数据报的加密保护,可以确保通讯数据在链路环节不可被窃取。其次,基于RSA算法的特性,可以确保服务器的真实性,杜绝了假冒服务器的攻击。而在第一次呼应之后,客户端会收到服务器所反馈的密码挑战数据,第二次呼应是基于该密码挑战数据发起的,使得两次呼应之间紧密结合起来,能够更加可靠的实现客户端和服务器之间的鉴别。
在上述实施例中,所述密码挑战数据包括:与用户关联的抵抗报文重放变量以及随机挑战变量;
所述服务器验证客户端的用户密码是否正确;
如果密码为正确,在发出所述反馈信息之前,所述抵抗报文重放变量步进+1;
如果密码验证为错误,所述抵抗报文重放变量无步进操作。
在具体实现的时候,该实施例使得该认证方法具备了抵抗重放攻击的能力,第1次呼应,服务器返回的随机挑战变量中包含了一个抵抗因子,该抵抗因子和用户有绑定关系。在第二次呼应中,如果用户密码被服务端判定为正确,服务端会自动将该因子步进+1。所述的Auth.INC,所述的A变量,就是所述的重放抵抗变量,或称抵抗因子。
另外需要注意的是,第一次呼应的过程结束之后,客户端应当在预设时间内执行第二次呼应过程,两次呼应的间隔时间不能太久。如果超出预设时间,将导致身份鉴别的失败。即:
所述服务器在发出所述反馈信息后,判断是否在预设时间内接收到客户端所发送的第二次认证请求信息;
如果否,则对所述密码挑战数据做失效处理。
可以看出,抵抗重放攻击的单调因子,确保客户端数据报在短时段内重放无效;而随机挑战变量则确保客户端数据报在长时段内重放无效。这两个因子的联合作用,确保了任何客户端数据报都无法实现重放攻击。
另外,需要注意的是,每个用户和服务端之间需要预设一个共享密码,称为用户密码或者用户口令。所述的用户密码在服务端加密存储于数据库中,加密算法可以由图2所对应的实施例所提供的数据加密方法实现。所述的PWD,就是所述的用户密码。
另外,在本发明实施例中,所述服务器在对用户进行身份鉴别之后,还包括:根据鉴别结果,以及所述的功能请求命令,生成第二次反馈数据;
将所述第二次反馈数据进行双重冗余加密后,发送至客户端。
本发明又一实施例还提供一种身份鉴别***,参见图7所示,包括客户端以及服务器,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述图2所对应的实施例所提供的数据加密方法进行加密后存储;所述公钥在所述服务器明文存储;所述身份鉴别***包括:
客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行双重加密后,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
所述服务器根据所述服务器请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
本实施例中,客户端和服务器的具体功能和交互方式,可参见图1-图6对应的实施例的记载,在此不再赘述。
另外,本发明实施例所提供的身份鉴别***中,所述客户端在根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息时,具体用于:
用所述密码挑战数据以及用户密码进行混杂计算,在混杂计算时,使用两种不同的混杂计算过程,获取两个不同的秘钥值,作为校验秘钥和加密秘钥;
将所述校验秘钥发送至服务器,以使所述服务器根据所述校验密钥,检验客户端使用的用户密码是否正确,从而决策接受或者拒绝客户端提出的功能请求命令;
使用所述加密秘钥加密所述的功能请求命令。
本发明实施例所提供的数据处理、加密、完整性校验以及身份鉴别方法及***的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和***的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
预先设置黑箱秘钥,所述的黑箱秘钥是一个随机数,其长度大于等于64字节;
对参与处理的输入数据,使用所述的黑箱密钥进行混杂运算,获得中间值数据;
使用预设的哈希函数,对所述中间值数据进行单向散列运算,获得所述中间值数据的Hash结果。
2.一种数据加密方法,其特征在于,包括:获取待处理信息;所述待处理信息中包括多个待加密字段,以及多个非加密字段;
将所述多个非加密字段进行拼接,形成字符串格式的秘钥明文键值;
将所述秘钥明文键值作为输入数据,使用如上述权利要求1所述的方法对所述的秘钥明文键值数据进行处理,获取与所述秘钥明文键值对应的Hash结果;
将所述秘钥明文键值对应的Hash结果作为对称加密算法的密钥,对待加密字段进行加密和/或解密。
3.一种数据完整性校验方法,其特征在于,包括:
获取完整性校验数据;
将所述完整性校验数据与预存的完整性校验值进行比对校验;
其中,所述完整性校验数据以及所述完整性校验值均通过下述方式获得:
获取数据表,并将所述数据表中所有的字段值,逐项连接成为一个字符串格式的待校验数据;
将所述待校验数据作为输入数据,使用如上述权利要求1所述的方法进行处理,获取与所述待校验数据对应的Hash结果;
将与所述待校验数据对应的Hash结果作为完整性校验值进行保存,和/或,作为所述待完整性校验数据。
4.一种身份鉴别方法,应用于包括客户端以及服务器的***中,其特征在于,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述权利要求2所提供的方法进行加密存储;所述公钥在所述服务器明文存储;
所述身份鉴别方法包括:
客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行加密,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
所述服务器根据所述服务器请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
5.根据权利要求4所述的方法,其特征在于,所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,具体包括:
用所述密码挑战数据以及用户密码进行混杂计算,在混杂计算时,使用两种不同的混杂计算过程,获取两个不同的秘钥值,分别作为校验秘钥和加密秘钥;
将所述校验秘钥发送至服务器,以使所述服务器根据所述校验密钥,检验客户端使用的用户密码是否正确,从而决策接受或者拒绝客户端提出的功能请求命令;
使用所述加密秘钥加密所述的功能请求命令。
6.根据权利要求5所述的方法,其特征在于,所述密码挑战数据包括:与用户关联的抵抗报文重放变量以及随机挑战变量;
所述服务器验证客户端的用户密码是否正确;
如果密码为正确,在发出所述反馈信息之前,所述抵抗报文重放变量步进+1;
如果密码验证为错误,所述抵抗报文重放变量无步进操作。
7.根据权利要求5所述的方法,其特征在于,所述服务器在发出所述反馈信息后,判断是否在预设时间内接收到客户端所发送的第二次认证请求信息;
如果否,则对所述密码挑战数据做失效处理。
8.根据权利要求4-7任意一项所述的方法,其特征在于,所述服务器在对用户进行身份鉴别之后,还包括:根据鉴别结果,以及所述的功能请求命令,生成第二次反馈数据;
将所述第二次反馈数据进行双重冗余加密后,发送至客户端。
9.一种数据加密***,其特征在于,包括:包括客户端以及服务器,所述服务器创建至少一个RSA秘钥对,所述秘钥对中的私钥在所述服务器端通过上述权利要求2所提供的数据加密方法进行加密后存储;所述公钥在所述服务器明文存储;所述身份鉴别***包括:
客户端生成认证服务请求信息,并使用随机秘钥以及公钥对所述服务请求信息进行双重加密后,生成公钥保护信息发送至所述服务器;所述公钥保护信息包括:使用随机秘钥加密的服务请求信息,以及使用公钥加密的所述随机秘钥;
所述服务器使用与所述公钥对应的私钥对所述公钥保护信息进行解密,获取所述随机秘钥以及所述服务请求信息;
所述服务器根据所述服务器请求信息,生成反馈信息,并使用所述随机秘钥将所述反馈信息加密后,发送至客户端;所述反馈信息中携带有密码挑战数据;
所述客户端根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息,并使用所述公钥加密后,发送至服务器;
所述服务器使用与所述公钥对应的私钥对所述第二次认证请求信息进行解密,并根据所述第二次认证请求信息中所携带的密码运算数据,对用户进行身份鉴别。
10.根据权利要求9所述的***,其特征在于,所述客户端在根据所述密码挑战数据以及用户的密码信息,生成第二次认证请求信息时,具体用于:
用所述密码挑战数据以及用户密码进行混杂计算,在混杂计算时,使用两种不同的混杂计算过程,获取两个不同的秘钥值,分别作为校验秘钥和加密秘钥;
将所述校验秘钥发送至服务器,以使所述服务器根据所述校验密钥,检验客户端使用的用户密码是否正确,从而决策接受或者拒绝客户端提出的功能请求命令;
使用所述加密秘钥加密所述的功能请求命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710054663.5A CN106790250B (zh) | 2017-01-24 | 2017-01-24 | 数据处理、加密、完整性校验方法及身份鉴别方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710054663.5A CN106790250B (zh) | 2017-01-24 | 2017-01-24 | 数据处理、加密、完整性校验方法及身份鉴别方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790250A true CN106790250A (zh) | 2017-05-31 |
CN106790250B CN106790250B (zh) | 2020-03-31 |
Family
ID=58942740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710054663.5A Active CN106790250B (zh) | 2017-01-24 | 2017-01-24 | 数据处理、加密、完整性校验方法及身份鉴别方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790250B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632927A (zh) * | 2017-07-28 | 2018-01-26 | 北京北信源软件股份有限公司 | 一种在c/s架构中模拟数据加密的压力测试方法与装置 |
CN107807982A (zh) * | 2017-10-27 | 2018-03-16 | 中国农业银行股份有限公司 | 一种异构数据库的一致性校验方法及装置 |
CN107919953A (zh) * | 2017-11-24 | 2018-04-17 | 上海百事通信息技术股份有限公司 | 数据公证方法、装置、设备、介质及服务器 |
CN107979615A (zh) * | 2018-01-05 | 2018-05-01 | 新华三信息安全技术有限公司 | 报文加密发送、认证方法、装置、客户端及防火墙 |
CN107995160A (zh) * | 2017-10-26 | 2018-05-04 | 常熟市第人民医院 | 一种基于云端管控的json数据包加密解密方法 |
CN108011710A (zh) * | 2017-11-24 | 2018-05-08 | 上海百事通信息技术股份有限公司 | 数据存证方法、装置、设备、介质及服务器 |
CN109218010A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 数据加密方法和装置、数据解密方法和装置 |
CN109327311A (zh) * | 2018-08-03 | 2019-02-12 | 克洛斯比尔有限公司 | 一种哈希时间戳创建方法、设备及可读存储介质 |
CN109617886A (zh) * | 2018-12-21 | 2019-04-12 | 广州市宏大欣电子科技有限公司 | 基于tcp通信的客户端数据加密方法和服务端数据加密方法 |
CN109981655A (zh) * | 2019-03-29 | 2019-07-05 | 富士施乐实业发展(中国)有限公司 | 一种传输、接收信息的方法及装置 |
CN110365661A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种网络安全认证方法和装置 |
CN111212057A (zh) * | 2019-12-30 | 2020-05-29 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
CN111431889A (zh) * | 2020-03-19 | 2020-07-17 | 李子钦 | 一种OpenFlow网络中轻量级控制通道的通信保护方法 |
CN112016113A (zh) * | 2020-09-28 | 2020-12-01 | 同盾控股有限公司 | 数据加解密方法、装置及*** |
CN112153752A (zh) * | 2020-09-29 | 2020-12-29 | 王喻 | 一种基于5g固定群组的上下行解耦的随机接入方法 |
CN112204596A (zh) * | 2018-03-29 | 2021-01-08 | S.G.A.创新有限公司 | 公开/秘密地交换消息/文件和创建动态子组的***、设备和方法 |
CN112416648A (zh) * | 2020-06-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据校验方法及装置 |
CN112953902A (zh) * | 2021-01-26 | 2021-06-11 | 湖南北斗微芯数据科技有限公司 | 一种工业物联网数据加密通信***及方法 |
CN113297614A (zh) * | 2021-05-13 | 2021-08-24 | 江苏南工科技集团有限公司 | 一种基于区块链技术的数据加密认证及安全分析方法 |
CN113765851A (zh) * | 2020-06-03 | 2021-12-07 | 华为技术有限公司 | 一种数据处理方法及其设备 |
CN115174261A (zh) * | 2022-08-02 | 2022-10-11 | 黄博暄 | 基于分阶划层与密中密分发的混合加密解密***与方法 |
CN117499159A (zh) * | 2023-12-27 | 2024-02-02 | 杭州字节方舟科技有限公司 | 一种基于区块链的数据交易方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002058357A2 (en) * | 2001-01-17 | 2002-07-25 | Arcot Systems, Inc. | Pre-authentication of users using one-time passwords |
CN1924835A (zh) * | 2006-09-01 | 2007-03-07 | 西安交通大学 | 一种基于动态密钥的硬盘数据加密方法及其装置 |
CN101098229A (zh) * | 2006-06-26 | 2008-01-02 | 华为技术有限公司 | 验证待传消息完整性的方法、装置和*** |
CN101124767A (zh) * | 2004-12-22 | 2008-02-13 | 皇家飞利浦电子股份有限公司 | 密钥生成以及证明真实性的方法和设备 |
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、***及设备 |
CN102739406A (zh) * | 2012-07-17 | 2012-10-17 | 飞天诚信科技股份有限公司 | 一种安全传输设备信息的方法 |
-
2017
- 2017-01-24 CN CN201710054663.5A patent/CN106790250B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002058357A2 (en) * | 2001-01-17 | 2002-07-25 | Arcot Systems, Inc. | Pre-authentication of users using one-time passwords |
CN101124767A (zh) * | 2004-12-22 | 2008-02-13 | 皇家飞利浦电子股份有限公司 | 密钥生成以及证明真实性的方法和设备 |
CN101098229A (zh) * | 2006-06-26 | 2008-01-02 | 华为技术有限公司 | 验证待传消息完整性的方法、装置和*** |
CN1924835A (zh) * | 2006-09-01 | 2007-03-07 | 西安交通大学 | 一种基于动态密钥的硬盘数据加密方法及其装置 |
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、***及设备 |
CN102739406A (zh) * | 2012-07-17 | 2012-10-17 | 飞天诚信科技股份有限公司 | 一种安全传输设备信息的方法 |
Non-Patent Citations (2)
Title |
---|
吴和生,等: "网络环境下一次性口令身份认证的研究与实现", 《计算机科学》 * |
杨栋,等: "一种基于公钥体制的双向认证及密钥协商方案", 《计算机安全》 * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218010B (zh) * | 2017-07-04 | 2021-11-30 | 阿波罗智能技术(北京)有限公司 | 数据加密方法和装置、数据解密方法和装置 |
US11335213B2 (en) | 2017-07-04 | 2022-05-17 | Apollo Intelligent Driving (Beijing) Technology Co., Ltd. | Method and apparatus for encrypting data, method and apparatus for decrypting data |
CN109218010A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 数据加密方法和装置、数据解密方法和装置 |
CN107632927A (zh) * | 2017-07-28 | 2018-01-26 | 北京北信源软件股份有限公司 | 一种在c/s架构中模拟数据加密的压力测试方法与装置 |
CN107995160A (zh) * | 2017-10-26 | 2018-05-04 | 常熟市第人民医院 | 一种基于云端管控的json数据包加密解密方法 |
CN107807982A (zh) * | 2017-10-27 | 2018-03-16 | 中国农业银行股份有限公司 | 一种异构数据库的一致性校验方法及装置 |
CN107807982B (zh) * | 2017-10-27 | 2020-09-18 | 中国农业银行股份有限公司 | 一种异构数据库的一致性校验方法及装置 |
CN107919953A (zh) * | 2017-11-24 | 2018-04-17 | 上海百事通信息技术股份有限公司 | 数据公证方法、装置、设备、介质及服务器 |
CN108011710A (zh) * | 2017-11-24 | 2018-05-08 | 上海百事通信息技术股份有限公司 | 数据存证方法、装置、设备、介质及服务器 |
CN107979615B (zh) * | 2018-01-05 | 2020-07-03 | 新华三信息安全技术有限公司 | 报文加密发送、认证方法、装置、客户端及防火墙 |
CN107979615A (zh) * | 2018-01-05 | 2018-05-01 | 新华三信息安全技术有限公司 | 报文加密发送、认证方法、装置、客户端及防火墙 |
CN112204596A (zh) * | 2018-03-29 | 2021-01-08 | S.G.A.创新有限公司 | 公开/秘密地交换消息/文件和创建动态子组的***、设备和方法 |
CN109327311A (zh) * | 2018-08-03 | 2019-02-12 | 克洛斯比尔有限公司 | 一种哈希时间戳创建方法、设备及可读存储介质 |
CN109617886B (zh) * | 2018-12-21 | 2021-07-27 | 广东宏大欣电子科技有限公司 | 基于tcp通信的客户端数据加密方法和服务端数据加密方法 |
CN109617886A (zh) * | 2018-12-21 | 2019-04-12 | 广州市宏大欣电子科技有限公司 | 基于tcp通信的客户端数据加密方法和服务端数据加密方法 |
CN109981655A (zh) * | 2019-03-29 | 2019-07-05 | 富士施乐实业发展(中国)有限公司 | 一种传输、接收信息的方法及装置 |
CN110365661A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种网络安全认证方法和装置 |
CN110365661B (zh) * | 2019-06-28 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种网络安全认证方法和装置 |
CN111212057B (zh) * | 2019-12-30 | 2022-09-27 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
CN111212057A (zh) * | 2019-12-30 | 2020-05-29 | 武汉联影医疗科技有限公司 | 资源包传输方法、装置、计算机设备和可读存储介质 |
CN111431889B (zh) * | 2020-03-19 | 2023-08-08 | 李子钦 | 一种OpenFlow网络中轻量级控制通道的通信保护方法 |
CN111431889A (zh) * | 2020-03-19 | 2020-07-17 | 李子钦 | 一种OpenFlow网络中轻量级控制通道的通信保护方法 |
CN113765851A (zh) * | 2020-06-03 | 2021-12-07 | 华为技术有限公司 | 一种数据处理方法及其设备 |
CN112416648A (zh) * | 2020-06-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据校验方法及装置 |
CN113765851B (zh) * | 2020-06-03 | 2022-11-08 | 华为技术有限公司 | 一种数据处理方法及其设备 |
CN112016113A (zh) * | 2020-09-28 | 2020-12-01 | 同盾控股有限公司 | 数据加解密方法、装置及*** |
CN112016113B (zh) * | 2020-09-28 | 2024-04-16 | 同盾控股有限公司 | 数据加解密方法、装置及*** |
CN112153752A (zh) * | 2020-09-29 | 2020-12-29 | 王喻 | 一种基于5g固定群组的上下行解耦的随机接入方法 |
CN112953902A (zh) * | 2021-01-26 | 2021-06-11 | 湖南北斗微芯数据科技有限公司 | 一种工业物联网数据加密通信***及方法 |
CN112953902B (zh) * | 2021-01-26 | 2023-03-24 | 湖南北斗微芯产业发展有限公司 | 一种工业物联网数据加密通信***及方法 |
CN113297614A (zh) * | 2021-05-13 | 2021-08-24 | 江苏南工科技集团有限公司 | 一种基于区块链技术的数据加密认证及安全分析方法 |
CN115174261A (zh) * | 2022-08-02 | 2022-10-11 | 黄博暄 | 基于分阶划层与密中密分发的混合加密解密***与方法 |
CN117499159A (zh) * | 2023-12-27 | 2024-02-02 | 杭州字节方舟科技有限公司 | 一种基于区块链的数据交易方法、装置及电子设备 |
CN117499159B (zh) * | 2023-12-27 | 2024-03-26 | 杭州字节方舟科技有限公司 | 一种基于区块链的数据交易方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106790250B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790250A (zh) | 数据处理、加密、完整性校验方法及身份鉴别方法及*** | |
CN106302312B (zh) | 获取电子文件的方法及装置 | |
CN108737442B (zh) | 一种加密校验处理方法 | |
US4326098A (en) | High security system for electronic signature verification | |
EP0354774B1 (en) | Data cryptography using control vectors | |
CN101939946B (zh) | 使用多因素或密钥式分散对数据进行保护的***和方法 | |
EP2494486B1 (en) | System for protecting an encrypted information unit | |
CN108352015A (zh) | 用于基于区块链的***结合钱包管理***的安全多方防遗失存储和加密密钥转移 | |
CN101515319B (zh) | 密钥处理方法、密钥密码学服务***和密钥协商方法 | |
CN104917780A (zh) | 对移动中数据进行保护的***和方法 | |
JPH10508438A (ja) | キー・エスクローおよびデータ・エスクロー暗号化のためのシステムおよび方法 | |
CN104243494B (zh) | 一种数据处理方法 | |
CN107070879A (zh) | 数据保护方法及*** | |
CN110519046A (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和*** | |
CN111859446A (zh) | 一种农产品溯源信息共享-隐私保护的方法及*** | |
CN106789029A (zh) | 一种基于量子堡垒机的审计***和审计方法以及量子堡垒机*** | |
CN103108028A (zh) | 一种具有安全架构的云计算处理*** | |
CN112347517A (zh) | 一种基于多方安全计算的kyc合规监管的*** | |
CN110365472B (zh) | 基于非对称密钥池对的量子通信服务站数字签名方法、*** | |
CN110098925A (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和*** | |
CN108701200B (zh) | 改善的存储*** | |
CN107919958A (zh) | 一种数据加密的处理方法、装置及设备 | |
JP2001344214A (ja) | 端末の認証方法と暗号通信システム | |
CN105049433B (zh) | 标识化***信息传输验证方法及*** | |
US20150089217A1 (en) | Method and System for Data Protection |
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 |