CN111193706A - 一种身份验证方法及装置 - Google Patents
一种身份验证方法及装置 Download PDFInfo
- Publication number
- CN111193706A CN111193706A CN201911168087.2A CN201911168087A CN111193706A CN 111193706 A CN111193706 A CN 111193706A CN 201911168087 A CN201911168087 A CN 201911168087A CN 111193706 A CN111193706 A CN 111193706A
- Authority
- CN
- China
- Prior art keywords
- hash value
- equipment
- hash
- information
- identity
- 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
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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种身份验证方法及装置。该身份验证方法包括:接收第二设备发送的第一哈希值;判断第一哈希值与第二哈希值是否相等;在第一哈希值与第二哈希值相等的情况下,确认第二设备通过身份验证;其中,第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,N个第三哈希值为前N次第一设备对第二设备进行身份验证时,第二设备提供的哈希值,N为大于或等于2的整数;第二哈希值为由设备信息以及N个第四哈希值通过散列函数生成的,N个第四哈希值包括:前N次第一设备对第二设备进行身份验证时,第一设备提供的哈希值。本发明实施例提供的技术方案,可以提高设备之间身份验证的安全性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种身份验证方法及装置。
背景技术
随着网络安全意识的提高,为了保证设备之间信息交互的安全性,两个设备建立连接时,通常需要进行身份验证。
现有的身份验证方式,通常是给设备唯一的ID(身份标识号,IdentityDocument),通过识别该ID确认设备是否为合法设备。但由于此ID为静态ID,如果该ID被违法设备获得,违法设备就有可能代替原设备,与其他设备进行信息交互,从而窃取信息。
例如,在通过企业内网进行无线投屏的应用场景中,终端设备(如手机、笔记本电脑)通过无线投屏设备建立与企业内网的连接。终端设备将投屏内容发给无线投屏设备,进行投屏显示。无论是无线设备投屏的内容,还是终端设备访问内网的数据流中,都可能包含大量公司的敏感信息、安全信息等。如果有违法设备窃取了无线投屏设备的ID,该违法设备则可以伪装成无线投屏设备劫持终端设备数据、企业内网数据等,给公司造成巨大的损失。
由前述论述可知,现有技术中这种通过静态ID进行身份验证方式的安全性偏低。
发明内容
本发明实施例提供了一种身份验证方法及装置,以解决现有技术中通过静态ID进行身份验证的方式安全性偏低的问题。
为了解决上述技术问题,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种身份验证方法,应用于第一设备,所述身份验证方法包括:
接收第二设备发送的第一哈希值;
判断所述第一哈希值与第二哈希值是否相等;
在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
第二方面,本发明实施例提供了一种身份验证装置,应用于第一设备,所述身份验证装置包括:
接收模块,用于接收第二设备发送的第一哈希值;
判断模块,用于判断所述第一哈希值与第二哈希值是否相等;
确认模块,用于在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的身份验证方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的身份验证方法中的步骤。
在本发明实施例中,第一设备与第二设备在进行身份验证时利用的哈希值,是由设备信息以及前N(N大于等于2)次第一设备对第二设备进行身份验证时使用的哈希值,通过散列函数生成的。由于本次身份验证时利用的哈希值是由至少前两次身份验证时使用的哈希值生成的,因此,即使上次身份验证时,违法设备获取了当时身份验证时使用的哈希值,但由于没有获取到上上次以至更久之前身份验证时使用的哈希值,因此违法设备难以得到本次身份验证时使用的哈希值,且散列函数具有不可逆性,无法从散列函数的输出,推算出散列函数的输入,因此这样可以增大违法设备替代第二设备进行身份验证失败的概率,从而提高身份验证的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的身份验证方法的流程示意图;
图2为本发明实施例提供的示例的示意图;
图3为本发明实施例提供的身份验证装置的框图;
图4为本发明实施例提供的电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
依据本发明实施例的一个方面,提供了一种身份验证方法,应用于第一设备,该第一设备可以是但不限于:终端设备或服务器。这里所述的终端设备包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、计步器、台式电脑等中的任意一种。
如图2所示,该身份验证方法包括:
步骤101:接收第二设备发送的第一哈希值。
本发明实施例中,第一设备与第二设备建立连接时,第一设备可以对第二设备进行身份验证。为了进行身份验证,第一设备可以发送用于告知第二设备发送用于身份验证的哈希值(即第一哈希值)至第一设备的消息,以使第二设备发送第一哈希值发送至第一设备;或者是第二设备主动发送第一哈希值至第一设备。具体形式可根据实际需求设计,本发明实施例对此不进行限定。
这里所述的第二设备可以是但不限于:终端设备或服务器。这里所述的终端设备包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、计步器、台式电脑等中的任意一种。
这里所述的第一哈希值为由设备信息以及N个第三哈希值通过预设散列函数生成的。这里所述的N个第三哈希值为前N次第一设备对第二设备进行身份验证时,第二设备提供的哈希值。其中,N为大于或等于2的整数。
这里所述的设备信息至少包括:第一设备的身份信息以及第二设备的身份信息。设备的身份信息一般是固定不变的信息,可以包括但不限于:设备的IP地址(互联网协议地址,Internet Protocol Address)、MAC地址(媒体存取控制位址,Media Access ControlAddress)、设备出厂ID等中的至少一种。设备的身份信息一般是设备唯一的标识,将设备的身份信息作为生成用于身份验证的哈希值的参数之一,可以在一定程度上提高违法设备生成哈希值难度,提高身份验证的安全性。
这里所述的预设散列函数,可以根据实际设计,本发明实施例对此不进行限定。
步骤102:判断第一哈希值与第二哈希值是否相等。
在本步骤中,第一设备接收到第二设备发送的第一哈希值后,判断第一哈希值与保存于第一设备内的第二哈希值是否相等,以此确定第二设备是否通过身份验证。
这里所述的第二哈希值为由设备信息以及N个第四哈希值通过散列函数生成的,N个第四哈希值包括:前N次第一设备对第二设备进行身份验证时,第一设备提供的哈希值。
步骤103:在第一哈希值与第二哈希值相等的情况下,确认第二设备通过身份验证。
本步骤中,在第一设备确定第一哈希值与第二哈希值相等的情况下,确认第二设备通过身份验证,则第一设备可以与第二设备建立连接,并进行相互通信。
在第一哈希值与第二哈希值相等的情况下,用于生成第二哈希值的设备与第二设备生成第一哈希值所使用的设备信息相同,至少包括:第一设备的身份信息、第二设备的身份信息以及至少一个动态设备信息。
在第一哈希值与第二哈希值相等的情况下,第一设备生成第二哈希值采用的散列函数,与第二设备生成第一哈希值采用的预设散列函数相同。,这里所述的第二哈希值为由设备信息以及N个第四哈希值通过散列函数生成的,N个第四哈希值包括:前N次第一设备对第二设备进行身份验证时,第一设备提供的哈希值。
在本发明实施例中,第一设备与第二设备在进行身份验证时利用的哈希值,是由设备信息以及前N(N大于等于2)次第一设备对第二设备进行身份验证时使用的哈希值,通过散列函数生成的。由于本次身份验证时利用的哈希值是由至少前两次身份验证时使用的哈希值生成的,因此,即使上次身份验证时,违法设备获取了当时身份验证时使用的哈希值,但由于没有获取到上上次以至更久之前身份验证时使用的哈希值,因此违法设备难以得到本次身份验证时使用的哈希值,且散列函数具有不可逆性,无法从散列函数的输出,推算出散列函数的输入,因此这样可以增大违法设备替代第二设备进行身份验证失败的概率,从而提高身份验证的安全性。
可选地,在第一设备为终端设备的情况下,第二设备可以同是终端设备,也可以是服务器。在第一设备为服务器的情况下,第二设备可以是终端设备,也可以同是服务器。
本发明实施例提供的身份验证方法,不仅可以适用于终端设备与服务器之间的身份验证,也可以适用于终端设备与终端设备之间的身份验证,还可以适用于服务器与服务器之间的身份验证,适用范围较广。
可选地,设备信息还包括:至少一个动态设备信息,这里所述的动态设备信息为与设备的身份信息性质相反的信息,其是动态的、可以发生变化的设备信息。由于动态设备信息是可变动的,不利于违法设备的获取,因此可以进一步得增大违法设备生成该哈希值的难度,提高身份验证的安全性。
可选地,至少一个动态设备信息包括:第一设备的位置信息、第二设备的位置信息以及第一设备与第二设备之间发生身份验证时的时间信息中的至少一种。
这里所述的位置信息可以是用户手动设置的预设位置信息,如会议室一、会议室二等,也可以是设备自身通过GPS(全球定位系统,Global Positioning System)技术,获取到的经纬度信息等。
第一设备与第二设备每次发生身份验证时所在的位置可能并不想同,是可变化的,不利于违法设备的获取,因此可以进一步得提高违法设备生成该哈希值的难度,提高身份验证的安全性。同理,第一设备与第二设备每次进行身份验证时的时间信息可能并不想同,是可变化的,不利于违法设备的获取,因此可以进一步得增大违法设备生成该哈希值的难度,提高身份验证的安全性。
可选地,在第一设备与除第二设备之外的第三设备连接的情况下,设备信息还包括:第三设备的身份信息。在第二设备与除第一设备外的第四设备连接的情况下,设备信息还包括:第四设备的身份信息。
本发明实施例中,由与第一设备连接的第三设备可以与第一设备进行信息交互,与第二设备连接的第四设备可以与第二设备进行信息交互,因此,为了进一步增大违法设备生成该哈希值的难度,提高身份验证的安全性,该设备信息还可以包括:与第一设备连接的第三设备的身份信息、与第二设备连接的第四设备的身份信息等。
可选地,在本次身份验证之前,第一设备对第二设备进行身份验证的总次数M小于N时,默认存在N次第一设备对第二设备进行的身份验证,且设置第N-M次以及第N-M次之前的身份验证中,第一设备提供的哈希值为第一预设哈希值,第二设备提供的哈希值为第二预设哈希值。
例如,N=2,在本次身份验证之前,第一设备对第二设备进行身份验证的总次数M=1。第一哈希值则是由设备信息、上次以及上上次身份验证时,第二设备提供的哈希值,通过散列函数生成。此时,默认存在上上次第一设备与第二设备之间的身份验证,并设置上上次身份验证使用的哈希值为空值(NULL)或非空值的预设哈希值。
在第二设备通过第一设备的身份验证的前提下,第一预设哈希值与第二预设哈希值相同。
可选地,在第一哈希值与第二哈希值相等的情况下,确认第二设备通过身份验证之后,身份验证方法还包括:
通过预设散列函数,将设备信息、第二哈希值以及前N-1次第一设备对第二设备进行身份验证时第一设备提供的哈希值,生成下一次第一设备对第二设备进行身份验证时所需的哈希值。
本发明实施例中,在第二设备通过第一设备的身份验证之后,第一设备可以通过预设散列函数,将设备信息、第二哈希值以及前N-1次第一设备对第二设备进行身份验证时第一设备提供的哈希值,生成下一次第一设备对第二设备进行身份验证时所需的哈希值(作用如同第三哈希值)。
可以理解的是,在第二设备通过第一设备的身份验证之后,第二设备同样可以通过预设散列函数,将设备信息、第一哈希值以及前N-1次第一设备对第二设备进行身份验证时第二设备提供的哈希值,生成下一次第一设备对第二设备进行身份验证时所需的哈希值(作用如同第四哈希值)。
可选地,第一设备与第二设备每次身份验证时提供的哈希值,分别存储于区块链结构的区块中。
本发明实施例中,每次第一设备每次生成的哈希值分别存储于区块链中的不同区块中,同样,每次第二设备每次生成的哈希值也是分别存储于区块链中的不同区块中。由于区块链是链状的数据结构,如果有违法设备介入身份验证过程,就会形成不同的分支链,可以根据分支链情况,回溯设备的服务历史,发现违法设备。
为了更好地理解本发明实施例提供的上述技术方案,下面以一示例加以说明,如图2所示。
假设,无线投屏设备与服务器之间进行身份验证,无线投屏设备可以将与其无线连接的终端设备上的显示内容,进行投屏。
(1)无线投屏设备首次启动并向服务器注册投屏服务时,可以用无线投屏设备的位置信息(如会议室一)、无线投屏设备的身份信息(如IP、MAC地址、出厂设备ID等)、终端设备的身份信息(此时为NULL)、时间信息(请求注册时间)、服务器的身份信息(如IP地址、端口信息)等,经过预设的、单向的散列函数生成一个固定长度(如128bit、256bit)的哈希值,此过程同时在无线投屏设备和服务器端分别进行,无线投屏设备生成的哈希值记为D0,服务器端生成的哈希值记为S0。其中,无线投屏设备的位置信息、无线投屏设备的身份信息、终端设备的身份信息以及时间信息,由无线投屏设备发送至服务器。服务器的身份信息由服务器发送至无线投屏设备。
(2)当终端设备通过无线投屏设备首次申请投屏服务时,无线投屏设备与服务器需要交换D0和S0,即无线投屏设备发送D0至服务器,服务器发送S0至无线投屏设备。如果D0与S0相等,则表示无线投屏设备为合法设备,投屏服务可以继续。
(3)在确认无线投屏设备为合法设备后,与过程(1)类似,无线投屏设备和服务器端分别用无线投屏设备的位置信息、无线投屏设备的身份信息,终端设备的身份信息、时间信息(请求服务时间)、服务器的身份信息、上上次哈希值(此时为NULL),上次服务哈希值D0/S0,经过预设散列函数生成一个固定长度的哈希值,无线投屏设备生成的哈希值记为D1,服务器端生成的哈希值记为S1。这里所述的服务哈希值是指终端设备申请投屏服务时,进行身份验证时使用的哈希值。
(4)当有终端设备第二次申请投屏服务时,无线投屏设备与服务器交换D1和S1,如果D1与S1相等,则表示无线投屏设备为合法设备,投屏服务可以继续。
(5)在确认无线投屏设备为合法设备后,与过程(3)类似,无线投屏设备和服务器端分别用无线投屏设备的位置信息、无线投屏设备的身份信息,终端设备的身份信息、时间信息(请求服务时间)、服务器的身份信息、上上次服务哈希值D0/S0、上次服务哈希值D1/S1,经过单向散列函数生成一个固定长度的哈希值,无线投屏设备生成的哈希值记为D2,服务器端生成的哈希值记为S2。
(6)当有终端设备第三次申请投屏服务时,无线投屏设备与服务器交换D2和S2,如果D2与S2相等,则表示无线投屏设备为合法设备,投屏服务可以继续。
(7)在确认无线投屏设备为合法设备后,与过程(3)类似,无线投屏设备和服务器端分别用无线投屏设备的位置信息、无线投屏设备的身份信息,终端设备的身份信息、时间信息(请求服务时间)、服务器的身份信息、上上次服务哈希值D1/S1、上次服务哈希值D2/S2,经过单向散列函数生成一个固定长度的哈希值,无线投屏设备生成的哈希值记为D3,服务器端生成的哈希值记为S3。
(8)当有终端设备第N次申请投屏服务时,无线投屏设备与服务器交换DN-1和SN-1,如果DN-1与SN-1相等,则表示无线投屏设备为合法设备,服务可以继续。
(9)在确认无线投屏设备为合法设备后,与过程(3)类似,无线投屏设备和服务器端分别用无线投屏设备的位置信息、无线投屏设备的身份信息,终端设备的身份信息、时间信息(请求服务时间)、服务器的身份信息、上上次服务哈希值DN-2/SN-2、上次服务哈希值DN-1/SN-1,经过单向散列函数生成一个固定长度的哈希值,无线投屏设备生成的哈希值记为DN,服务器端生成的哈希值记为SN。
(10)每次有终端设备申请投屏服务时,执行类似上述过程。
最后需要说明的是,由该示例可以看出,上述第一设备对第二设备的身份验证方法,同样适用于第二设备对第一设备的身份验证方法,过程类似,本发明实施例对此便不再进行赘述。
综上所述,在本发明实施例中,第一设备与第二设备在进行身份验证时利用的哈希值,是由设备信息以及前N(N大于等于2)次第一设备对第二设备进行身份验证时使用的哈希值,通过散列函数生成的。由于本次身份验证时利用的哈希值是由至少前两次身份验证时使用的哈希值生成的,因此,即使上次身份验证时,违法设备获取了当时身份验证时使用的哈希值,但由于没有获取到上上次以至更久之前身份验证时使用的哈希值,因此违法设备难以得到本次身份验证时使用的哈希值,且散列函数具有不可逆性,无法从散列函数的输出,推算出散列函数的输入,因此这样可以增大违法设备替代第二设备进行身份验证失败的概率,从而提高身份验证的安全性
以上介绍了本发明实施例提供的身份验证方法,下面将结合附图介绍本发明实施例提供的身份验证装置。
依据本发明实施例的另一个方面,提供了一种身份验证装置,应用于第一设备,能实现上述身份验证方法实施例中的所有细节,并能达到相同的效果,为了避免重复,此处便不再进行赘述。
如图3所示,所述身份验证装置包括:
接收模块301,用于接收第二设备发送的第一哈希值。
判断模块302,用于判断所述接收模块301接收到的所述第一哈希值与第二哈希值是否相等。
确认模块,用于在所述判断模块302确定所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证。
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数。
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值。
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
可选地,所述设备信息还包括:至少一个动态设备信息。所述至少一个动态设备信息可以包括:所述第一设备的位置信息、所述第二设备的位置信息以及所述第一设备与所述第二设备之间发生身份验证时的时间信息中的至少一种。
可选地,在所述第一设备与除所述第二设备之外的第三设备连接的情况下,所述设备信息还包括:所述第三设备的身份信息。在所述第二设备与除所述第一设备外的第四设备连接的情况下,所述设备信息还包括:所述第四设备的身份信息。
可选地,所述第一设备为终端设备或服务器,所述第二设备为终端设备或服务器。
可选地,在本次身份验证之前,所述第一设备对所述第二设备进行身份验证的总次数M小于N时,默认存在N次所述第一设备对所述第二设备进行的身份验证,且设置第N-M次以及第N-M次之前的身份验证中,所述第一设备提供的哈希值为第一预设哈希值,所述第二设备提供的哈希值为第二预设哈希值。
可选地,所述第一设备与所述第二设备每次身份验证时提供的哈希值,分别存储于区块链结构的区块中。
可选地,所述身份验证装置还包括:
生成模块,用于通过散列函数,将所述设备信息、所述第二哈希值以及前N-1次所述第一设备对所述第二设备进行身份验证时所述第一设备提供的哈希值,生成下一次所述第一设备对所述第二设备进行身份验证时所需的哈希值。
综上所述,在本发明实施例中,第一设备与第二设备在进行身份验证时利用的哈希值,是由设备信息以及前N(N大于等于2)次第一设备对第二设备进行身份验证时使用的哈希值,通过散列函数生成的。由于本次身份验证时利用的哈希值是由至少前两次身份验证时使用的哈希值生成的,因此,即使上次身份验证时,违法设备获取了当时身份验证时使用的哈希值,但由于没有获取到上上次以至更久之前身份验证时使用的哈希值,因此违法设备无法得到本次身份验证时使用的哈希值,且散列函数具有不可逆性,即无法从散列函数的输出,推算出散列函数的输入,因此这样可以增大违法设备替代第二设备进行身份验证失败的概率,从而提高身份验证的安全性。
依据本发明实施例的又一方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述身份验证方法中的步骤。。
举个例子如下,图4示出了一种电子设备的实体结构示意图。
如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410、通信接口420以及存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:
接收第二设备发送的第一哈希值;
判断所述第一哈希值与第二哈希值是否相等;
在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
依据本发明实施例的再一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述身份验证方法中的步骤,例如:
接收第二设备发送的第一哈希值;
判断所述第一哈希值与第二哈希值是否相等;
在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种身份验证方法,应用于第一设备,其特征在于,所述身份验证方法包括:
接收第二设备发送的第一哈希值;
判断所述第一哈希值与第二哈希值是否相等;
在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过预设散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
在所述第一哈希值与所述第二哈希值相等的情况下,所述第二哈希值为由所述设备信息以及N个第四哈希值通过所述预设散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
2.根据权利要求1所述的身份验证方法,其特征在于,所述设备信息还包括:至少一个动态设备信息,所述至少一个动态设备信息包括:所述第一设备的位置信息、所述第二设备的位置信息以及所述第一设备与所述第二设备之间发生身份验证时的时间信息中的至少一种。
3.根据权利要求1或2所述的身份验证方法,其特征在于,在所述第一设备与除所述第二设备之外的第三设备连接的情况下,所述设备信息还包括:所述第三设备的身份信息;
在所述第二设备与除所述第一设备外的第四设备连接的情况下,所述设备信息还包括:所述第四设备的身份信息。
4.根据权利要求1所述的身份验证方法,其特征在于,所述第一设备为终端设备或服务器,所述第二设备为终端设备或服务器。
5.根据权利要求1所述的身份验证方法,其特征在于,在本次身份验证之前,所述第一设备对所述第二设备进行身份验证的总次数M小于N时,默认存在N次所述第一设备对所述第二设备进行的身份验证,且设置第N-M次以及第N-M次之前的身份验证中,所述第一设备提供的哈希值为第一预设哈希值,所述第二设备提供的哈希值为第二预设哈希值。
6.根据权利要求1所述的身份验证方法,其特征在于,所述第一设备与所述第二设备每次身份验证时提供的哈希值,分别存储于区块链结构的区块中。
7.根据权利要求1所述的身份验证方法,其特征在于,所述在所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证之后,所述身份验证方法还包括:
通过所述预设散列函数,将所述设备信息、所述第二哈希值以及前N-1次所述第一设备对所述第二设备进行身份验证时所述第一设备提供的哈希值,生成下一次所述第一设备对所述第二设备进行身份验证时所需的哈希值。
8.一种身份验证装置,其特征在于,应用于第一设备,所述身份验证装置包括:
接收模块,用于接收第二设备发送的第一哈希值;
判断模块,用于判断所述接收模块接收到的所述第一哈希值与第二哈希值是否相等;
确认模块,用于在所述判断模块确定所述第一哈希值与所述第二哈希值相等的情况下,确认所述第二设备通过身份验证;
其中,所述第一哈希值为由设备信息以及N个第三哈希值通过散列函数生成的,所述N个第三哈希值为前N次所述第一设备对所述第二设备进行身份验证时,所述第二设备提供的哈希值,N为大于或等于2的整数;
所述第二哈希值为由所述设备信息以及N个第四哈希值通过散列函数生成的,所述N个第四哈希值包括:前N次所述第一设备对所述第二设备进行身份验证时,所述第一设备提供的哈希值;
所述设备信息至少包括:所述第一设备的身份信息以及所述第二设备的身份信息。
9.一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的身份验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的身份验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168087.2A CN111193706B (zh) | 2019-11-25 | 2019-11-25 | 一种身份验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168087.2A CN111193706B (zh) | 2019-11-25 | 2019-11-25 | 一种身份验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193706A true CN111193706A (zh) | 2020-05-22 |
CN111193706B CN111193706B (zh) | 2022-03-15 |
Family
ID=70709444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168087.2A Active CN111193706B (zh) | 2019-11-25 | 2019-11-25 | 一种身份验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111193706B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866258A (zh) * | 2022-05-16 | 2022-08-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 一种访问关系的建立方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968507A (zh) * | 2012-12-14 | 2013-03-13 | 中国银行股份有限公司 | 基于缓存表的数据查询方法 |
US20170244707A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
CN107203724A (zh) * | 2017-05-18 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 文件提交方法和装置 |
CN108234127A (zh) * | 2016-12-22 | 2018-06-29 | 中国移动通信集团公司 | 一种基于区块链的物联方法及装置 |
CN108933766A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种提高设备id安全性的方法和客户端 |
CN109446788A (zh) * | 2018-10-12 | 2019-03-08 | 广州杰赛科技股份有限公司 | 一种设备的身份认证方法及装置、计算机存储介质 |
CN109905877A (zh) * | 2017-12-08 | 2019-06-18 | 大唐移动通信设备有限公司 | 通信网络系统的消息验证方法、通信方法和通信网络系统 |
CN110351089A (zh) * | 2019-05-23 | 2019-10-18 | 西安电子科技大学 | 一种数据签名认证方法及装置 |
CN110371081A (zh) * | 2019-08-08 | 2019-10-25 | 深圳市英博超算科技有限公司 | 车辆防篡改方法、装置以及车辆 |
CN110458567A (zh) * | 2019-08-23 | 2019-11-15 | 广东工业大学 | 一种基于区块链的物品交易管理系统和方法 |
-
2019
- 2019-11-25 CN CN201911168087.2A patent/CN111193706B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968507A (zh) * | 2012-12-14 | 2013-03-13 | 中国银行股份有限公司 | 基于缓存表的数据查询方法 |
US20170244707A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
CN108234127A (zh) * | 2016-12-22 | 2018-06-29 | 中国移动通信集团公司 | 一种基于区块链的物联方法及装置 |
CN107203724A (zh) * | 2017-05-18 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 文件提交方法和装置 |
CN108933766A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种提高设备id安全性的方法和客户端 |
CN109905877A (zh) * | 2017-12-08 | 2019-06-18 | 大唐移动通信设备有限公司 | 通信网络系统的消息验证方法、通信方法和通信网络系统 |
CN109446788A (zh) * | 2018-10-12 | 2019-03-08 | 广州杰赛科技股份有限公司 | 一种设备的身份认证方法及装置、计算机存储介质 |
CN110351089A (zh) * | 2019-05-23 | 2019-10-18 | 西安电子科技大学 | 一种数据签名认证方法及装置 |
CN110371081A (zh) * | 2019-08-08 | 2019-10-25 | 深圳市英博超算科技有限公司 | 车辆防篡改方法、装置以及车辆 |
CN110458567A (zh) * | 2019-08-23 | 2019-11-15 | 广东工业大学 | 一种基于区块链的物品交易管理系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866258A (zh) * | 2022-05-16 | 2022-08-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 一种访问关系的建立方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111193706B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612895B (zh) | 一种互联网防攻击方法及认证服务器 | |
US10771624B1 (en) | Data store for communication authentication | |
CN109168156B (zh) | 一种虚拟sim卡的实现方法、系统、介质、计算机程序产品及服务器 | |
CN107249004B (zh) | 一种身份认证方法、装置及客户端 | |
JP2008519488A (ja) | 複数の信用証明認証プロトコルを提供するシステム及び方法 | |
CN104980397A (zh) | 即时通信方法、系统和终端 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
CN111132305B (zh) | 5g用户终端接入5g网络的方法、用户终端设备及介质 | |
CN104767713A (zh) | 账号绑定的方法、服务器及系统 | |
CN102984335B (zh) | 拨打固定电话的身份认证方法、设备和系统 | |
CN102056077A (zh) | 一种通过密钥进行智能卡应用的方法和装置 | |
CN108418679B (zh) | 一种多数据中心下处理密钥的方法、装置及电子设备 | |
CN111949959A (zh) | Oauth协议中的授权认证方法及装置 | |
CN111193706B (zh) | 一种身份验证方法及装置 | |
CN111093196B (zh) | 5g用户终端接入5g网络的方法、用户终端设备及介质 | |
CN103067260B (zh) | 实现即时通信的方法及装置 | |
CN109429225A (zh) | 消息接收、发送方法及装置、终端、网络功能实体 | |
CN111695098A (zh) | 多分布式集群访问方法及装置 | |
CN115243256A (zh) | 一种网关动态登录方法及装置 | |
CN108234399B (zh) | 一种接口通信方法及终端 | |
CN115761954A (zh) | 一种车辆的蓝牙钥匙连接方法及装置 | |
CN112702743B (zh) | 基于人工智能的网络数据监测保护方法 | |
US10742802B2 (en) | Methods and devices for verifying a communication number | |
CN114595465A (zh) | 数据加密处理方法、装置及电子设备 | |
CN104683979A (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 |