CN115801450A - 时间、终端多维联合认证方法及系统 - Google Patents

时间、终端多维联合认证方法及系统 Download PDF

Info

Publication number
CN115801450A
CN115801450A CN202310039564.5A CN202310039564A CN115801450A CN 115801450 A CN115801450 A CN 115801450A CN 202310039564 A CN202310039564 A CN 202310039564A CN 115801450 A CN115801450 A CN 115801450A
Authority
CN
China
Prior art keywords
terminal
server
data packet
authentication
random number
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
Application number
CN202310039564.5A
Other languages
English (en)
Other versions
CN115801450B (zh
Inventor
刘风成
王晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huateng Shuyun Beijing Technology Co ltd
Original Assignee
Huateng Shuyun Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huateng Shuyun Beijing Technology Co ltd filed Critical Huateng Shuyun Beijing Technology Co ltd
Priority to CN202310039564.5A priority Critical patent/CN115801450B/zh
Publication of CN115801450A publication Critical patent/CN115801450A/zh
Application granted granted Critical
Publication of CN115801450B publication Critical patent/CN115801450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种时间、终端多维联合认证方法及系统。其中,所述方法包括:服务器接收第一终端发送的用户访问请求,并验证第一终端身份;若第一终端身份合法,服务器生成随机数和认证时间期限,并发送随机数至第一终端;第一终端接收到随机数后,将其发送至与第一终端预关联的第二终端;第二终端发送随机数至服务器;当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:服务器在认证时间期限内接收到第二终端发送的随机数;第一终端和第二终端存在预关联;服务器、第一终端和第二终端三者所持有的随机数一致。这样,可以提升用户认证过程中验证信息的保密性,从而提升用户访问网络信息的安全性。

Description

时间、终端多维联合认证方法及系统
技术领域
本申请涉及用户访问认证技术领域,尤其涉及一种时间、终端多维联合认证方法及系统。
背景技术
进行访问认证时,鉴权是许多数字和物理系统的关键组成部分,可以防止未经授权的访问敏感信息。当前进行系统鉴权,存在着各种各样的身份验证方法。例如,使用用户名和密码进行身份验证。又例如,通过生物(指纹、视网膜)计量身份认证。此外,多因素身份验证也已被企业组织普遍接受。
在实现现有技术的过程中,发明人发现:
在用户访问系统的过程中,非法第三方可以窃取到用户的用户名/密码、生物计量身份或令牌设备等身份信息,从而访问到用户的敏感信息。即,在用户访问系统过程中,用户的身份认证信息保密性较低,容易被非法第三方获取,从而使得用户访问信息的安全性降低。
因此,需要提供一种能够提高用户身份认证信息保密性的技术方案。
发明内容
本申请实施例提供一种通过时间、终端多维联合认证方法,提高用户身份认证信息保密性的技术方案,用以解决用户的身份认证信息保密性低的技术问题。
具体的,一种时间、终端多维联合认证方法,包括以下步骤:
服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求;
服务器验证所述第一终端的身份;
当第一终端的身份合法时,服务器生成随机数和认证时间期限;
服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
服务器发送第一数据包至第一终端;
第一终端接收第一数据包;
第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端;
第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
第二终端发送第三数据包至服务器;
当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:
服务器在认证时间期限内接收到第三数据包;
所述第一终端和所述第二终端存在预关联;
服务器、第一终端和第二终端三者所持有的随机数一致。
进一步的,所述第一数据包具有第一时间戳;
所述第二数据包具有第二时间戳;
所述第三数据包具有第三时间戳;
第一时间戳早于第二时间戳;
第二时间戳早于第三时间戳。
进一步的,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
进一步的,所述认证协议兼容Android版本、Web版本和IOS版本。
进一步的,所述认证协议通过动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器至少其中之一进行确认。
进一步的,所述预设传输方式包括图像传输、二维码传输、NFC传输、振动传输、声波传输、光波传输和红外传输其中之一。
进一步的,所述方法支持串接认证链路。
本申请实施例还提供一种时间、终端多维联合认证系统。
具体的,一种时间、终端多维联合认证系统,包括:
接收装置,用于服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求;
计算装置,用于服务器验证所述第一终端的身份;
验证信息生成装置,用于当第一终端的身份合法时,服务器生成随机数和认证时间期限;
所述计算装置,还用于服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
发送装置,用于服务器发送第一数据包至第一终端;
所述接收装置,还用于第一终端接收第一数据包;
所述计算装置,还用于第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
所述发送装置,还用于第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端;
所述计算装置,还用于第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
所述发送装置,还用于第二终端发送第三数据包至服务器;
当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:
服务器在认证时间期限内接收到第三数据包;
所述第一终端和所述第二终端存在预关联;
服务器、第一终端和第二终端三者所持有的随机数一致。
进一步的,所述第一数据包具有第一时间戳;
所述第二数据包具有第二时间戳;
所述第三数据包具有第三时间戳;
第一时间戳早于第二时间戳;
第二时间戳早于第三时间戳。
进一步的,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
本申请实施例提供的技术方案,至少具有如下有益效果:
通过至少两个彼此关联的用户设备进行用户身份验证,需要用户利用其发起访问设备的关联设备来进行权限验证。由于攻击者需要窃取所有相关的设备才能访问系统,因此引入更多的设备为认证过程带来了额外的安全层,从而提升了用户身份认证信息在认证过程中的保密性,提升了用户访问网络信息的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种时间、终端多维联合认证方法的流程示意图。
图2为本申请实施例提供的一种用户认证过程中服务器端的处理流程示意图。
图3为本申请实施例提供的一种采用双设备进行用户身份认证的示意图。
图4为本申请实施例提供的一种采用三设备进行用户身份认证的示意图。
图5为本申请实施例提供的一种时间、终端多维联合认证系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在服务器端进行用户身份验证,需要借助相应的终端设备与服务器之间能够传输相应的认证信息。例如,访问应用程序时,需要将相应的用户名、密码等信息发送至服务器端验证。若提供的用户名、密码无误,即可访问相应的应用程序。但是,若非法第三方盗取到相应的用户名、密码,即可假冒合法用户访问相应的应用程序。即,服务器能够通过验证用户提供的身份认证信息,做出是否允许当前用户访问的决策。但是,服务器无法验证当前访问用户是否为非法第三方假冒的合法用户。一旦合法用户的相关认证信息泄露,将存在被非法第三方冒名登录的情形。并且,服务器会将非法第三方认证为合法用户,并做出允许访问的决策。这样,导致非法第三方能够获取到用户的系统信息,从而造成用户信息的泄露。特别的,对于保密等级要求较高的用户信息,一旦信息泄露,将造成严重的损失。例如,银行系统中相关用户的身份认证信息被非法第三方获取,将造成严重的经济损失。又或者,对信息保密等级要求较高的军工/机关单位,若系统用户的身份认证信息被非法第三方获取,将对国家安全造成严重的经济损失。因此,提高用户访问系统过程中用户身份认证信息的安全性,是极为必要的。
因此,为了避免服务器被非法第三方冒名访问,本申请提供了一种时间、终端多维联合认证的访问认证方法。这里的时间、终端多维联合认证,可以理解为基于时间因素、不同用户终端因素在内的多尺度联合认证。其中,不同用户终端可以理解为操作者进行服务器访问进行身份验证时所借助的不同终端。当然,并不是随便一部终端均可作为访问设备。用于访问用户进行此次身份认证的每一终端需要有一定的关联度。例如,全部归属于当前访问用户名下、在服务器端备案;又或者,两部终端之间相互认证完成、在服务器端备案。这样,服务器处理验证终端发送的验证信息,还验证了访问设备是否为预关联的相应终端。这样,可以有效避免用户通过单一终端进行用户身份验证存在验证信息被盗取的可能性,并验证了当前访问设备的真实性,从而提高了用户访问过程中身份认证信息的安全性。并且,由于非法第三方需要窃取所有相关的设备才能访问系统,相比于采用单设备展开身份验证,采用不同数量的用户设备可以为认证过程带来额外的安全层。
具体的,请参照图1,为本申请提供的一种时间、终端多维联合认证方法,包括:
S100:服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求。
这里的服务器可以理解为给用户所访问系统提供相应的应用服务的计算机。这里的第一终端可以理解为用户发起系统访问的、已接入相应系统网络的设备。例如,常见的手机、电脑等移动通信设备。又或者,银行中的自动存/取款机、密码锁等密级要求较高的金库设备。对应的,第一终端访问系统时生成的系统访问请求为第一用户访问请求。
在本申请提供的一种具体实施方式中,第一终端可以向服务器发送包括一个用户识别信息(例如,用户的电子邮件地址)、一个终端识别信息(例如,设备名称)和一个时间戳在内的第一用户访问请求信息。当服务器接收到第一设备发送的第一用户访问请求,即可进行相应的用户身份验证。
值得注意的是,这里的第一用户访问请求经第一终端私钥签名后生成。即,第一终端发送的第一用户访问请求包括有用第一终端的私钥签名的数字签名。
可以理解的是,密钥有公钥和私钥之分。其中,私钥为用户私有的密钥,可用于进行公钥加密数据的解密、签名。密钥对中与私钥相对应的公钥,可以为不同的用户所共享,用于数据的加密、签名验证。实际应用中,数据发送方可以用数据接收方的公钥进行数据加密,之后数据接收方则可利用自身的私钥进行加密数据的解密,从而保证了数据接收方接收数据的安全性。数据发送方可以利用自身的私钥进行数据签名,并将自身的公钥一并发送至数据接收方;数据接收方即可利用数据发送方的公钥进行已签名数据的签名验证,以确保数据发送方发送的数据未被更改,从而保证了数据发送方发送数据的安全性。
本申请为了保证第一用户终端发送的第一用户访问请求的安全性,在第一终端发送第一用户访问请求前,还进行了第一终端私钥对第一用户访问请求签名的操作。这样,可以避免被非法第三方更改第一用户访问请求,从而导致相关方位信息被非法盗取,从而有效保证了第一终端发送的用户访问请求的安全性。
此外,这里的第一用户访问请求可以根据实际需求选择是否被第一终端加密后发送。例如,可以采用服务器发送给第一终端的服务器公钥进行第一用户访问请求的加密。之后,当服务器接收到加密的第一用户访问请求,即可利用服务器私钥执行第一用户访问请求的解密。即使第一用户访问请求被非法第三方获取,由于非法第三方无法提供解密密钥,也就无法获取到相应的用户访问请求,也就无法更改相应的用户访问请求,从而有效避免了相关访问信息被非法盗取。
当服务器接收到第一终端私钥签名的第一用户访问请求,可通过第一终端公钥需要进行签名验证,以防第一用户访问请求被非法第三方更改。当第一用户访问请求的签名验证无误,说明第一终端发送的第一用户访问请求真实性较高,可执行后续的相关操作。当然,若第一用户访问请求还进行了加密,服务器首先需要执行对第一用户访问请求的解密操作。之后,再进行第一用户访问请求的签名验证,并执行后续的相关操作。
S200:服务器验证所述第一终端的身份;
S300:当第一终端的身份合法时,服务器生成随机数和认证时间期限。
这里进行第一终端身份的验证,即第一终端的身份鉴权,以确定第一终端的身份是否合法。具体的,服务器端可以预存若干终端的身份信息。某一时刻,当服务器接收到某一未知终端发送的用户访问请求,即可根据用户访问请求中的相关内容,进行该未知终端的身份验证。例如,可以根据第一用户访问请求中的用户识别信息(如用户的电子邮件地址)、或终端识别信息(如设备名称)等信息,进行服务器中预存的终端信息的匹配。若在服务器中匹配到相应的终端信息,则说明该未知终端的身份合法。
经验证,若第一终端身份合法,服务器将对应生成相应的随机数以及认证时间期限。这里的随机数可以理解为服务器通过预设的随机数生成算法生成的某一组字符序列,可作为后续验证过程中的认证码,便于服务器与相关终端之间身份的认证。这里的认证时间期限,可以理解为随机数的有效使用期限,可以通过启动定时器实现。在认证时间期限内,随机数可以作为终端之间以及终端与服务器之间的认证码使用。若超出认证时间期限,随机数将失效。
当第一随机数、认证时间期限生成完毕,服务器即可将服务器生成的随机数认证码以及相应的认证期限发送至相应的用户终端,以继续用户身份认证。
S400:服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
S500:服务器发送第一数据包至第一终端。
S600:第一终端接收第一数据包。
服务器在发送随机数时,为了防止非法第三发对随机数进行更改,需要对生成的随机数进行签名处理。即,通过服务器私钥对其生成的随机数进行签名,以防止生成的随机数被非法第三方更改,从而有效提升了服务器发送的随机数的安全性。这样,当第一终端接收到服务器发送的带有服务器私钥签名的随机数后,通过服务器公钥进行签名验证,即可判断接收到的随机数是否被非法第三方更改,从而有效保证了服务器生成随机数的真实性。同时,服务器还可将时间认证期限发送一同发送至第一终端,以便用户获知服务器生成随机数的认证时间期限。
之后,第一终端即可将服务器生成的随机数以及该随机数的认证时间期限,发送至第二终端。这里的第二终端可以理解为与第一终端共同进行用户身份认证的另一终端。即,除了发起用户访问请求的第一终端之外,用户还需借助其它终端来辅助进行第一终端的授权访问。也可以理解为,在第一终端的基础上,增加了其它终端与服务器之间的认证流程,以实现服务器与用户之间的双层鉴权,从而使得服务器验证得到的用户身份更为真实。这样,能够有效避免非法第三方用户盗取用户验证信息进行登录,从而有效保障了系统信息的安全性。
需要指出的是,在服务器生成随机数、认证时间期限后,第一终端可直接将接收到的随机数在认证时间期限内发送至服务器,从而完成服务器与用户之间的身份验证。但是,存在非法第三方获取到服务器发送至第一终端的随机数,并假冒用户进行与服务器的信息交互,从而获取到用户敏感信息的可能性。这样,显然不利于用户信息的安全。因此,本申请进行服务器与用户之间身份认证的过程中,需要通过用户的其它设备来共同进行用户的身份认证,从而完成服务器对第一终端的授权认证。这样,可以通过验证用户设备,辅助服务器进行访问用户身份真实性的判断。因此,在第一终端接收到服务器发送的第一数据包后,并非直接将接收到的随机数回复至服务器端,而是将其发送至第二终端,以使得用户的第二终端根据随机数进行与服务器之间的认证。
S700:第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
S800:第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端。
第一终端接收到服务器发送的第一数据包后,若服务器签名验证无误,即可对第一数据包进行第一终端私钥的签名,以防止第一终端发送至第二终端的随机数被非法第三方更改,从而有效提升了第一终端发送的随机数的安全性。这样,当第二终端接收到第一终端发送的带有第一终端私钥签名的数据包后,通过第一终端公钥、服务器公钥依次进行签名验证,即可判断数据包内的随机数是否被非法第三方更改,从而有效保证了服务器生成随机数、第一终端至第二终端的随机数的真实性。
当第一终端签名完成,即可将签名完成的随机数按照预设的传输方式发送至第二终端。值得注意的是,这里的第二终端与第一终端之间存在预关联的关系。例如,第一终端与第二终端为同一账户名下的成对设备。这里的预设传输方式,可以理解为在第一终端预设的发送第一终端私钥签名的随机数的传输方式。例如,按照预设的数据信道传送方式进行第一终端与第二终端之间的数据发送。又例如,按照预设的数据发送时间计划(数据生成到数据发送之间的时间间隔计划)进行第一终端与第二终端之间的数据发送。
进一步,在本申请提供的一种优选实施方式中,所述预设传输方式包括图像传输、二维码传输、NFC传输、振动传输、声波传输、光波传输和红外传输其中之一。
这里的图像传输、二维码传输、NFC传输、振动传输、声波传输、光波传输和红外传输可以理解为预设的第一终端与第二终端之间进行数据发送时,需要对第一终端待发送数据通过哪种具体的传输方式发送。
具体的,当预设的传输方式为图像传输时,第一终端会将签名后的随机数转换为图像信息并通过图像通信的方式,将随机数发送至第二终端。也可理解为,第一终端与第二终端之间传输的通过图像呈现的随机数。第二终端根据接收到的图像,可以识别出第一终端发送的随机数。
当预设的传输方式为二维码传输,第一终端会将签名后的随机数转换为二维码发送至第二终端。即,第一终端与第二终端之间的验证信息为二维码。对应的,第二终端可以根据接收到的二维码,读取到相应的随机数。实际应用中,用户可以通过第二终端扫描第一终端所呈现的二维码,获取到相应的随机数。
当预设的传输方式为NFC(Near Field Communication,近距离无线通信,简称NFC)传输,第一终端会将签名后的随机数通过NFC的传输方式发送至第二终端。即,第一终端与第二终端之间的数据通信方式为NFC。对应的,第二终端可以接收到的相应的随机数。第一终端与第二终端具备NFC功能,即可采用NFC的通信方式进行随机数的传输。这样,只需第一终端靠近第二终端,第二终端即可进行随机数的读取。
当预设的传输方式为振动传输,第一终端会将签名后的随机数转换为振动信号,发送至第二终端。即,第一终端与第二终端之间的传输的数据信号为振动信号。对应的,第二终端根据接收到的振动信号,即可还原出相应的随机数。第一终端与第二终端具备振动信号收集/识别功能,即可采用振动传输的方式进行随机数的传输。
当预设的传输方式为声波传输,第一终端会将签名后的随机数转换为声波信号,发送至第二终端。即,第一终端与第二终端之间的利用声音进行随机数的传输。对应的,第二终端根据接收到的声波信号,即可识别出相应的随机数。第一终端与第二终端具备声波收集/识别功能,即可采用声波传输的方式进行随机数的传输。
当预设的传输方式为光波传输,第一终端会将签名后的随机数转换为光波信号,发送至第二终端。即,第一终端与第二终端之间信息传输的载体为光波。对应的,第二终端根据接收到的光波信号,即可获取到相应的随机数。第一终端与第二终端具备光波调制/解调功能,即可采用光波传输的方式进行随机数的传输。光波传输具有传输距离长、通信速度快等优点,因此对于即时性要求较高的认证,可以采用光波传输的方式进行第一终端与第二终端之间的通信。特别的,当第一终端与第二终端处于距离较远的异地时,可以优选光波传输的方式进行第一终端与第二终端的通信。
当预设的传输方式为红外传输,第一终端会将签名后的随机数转换为红外线波段的电磁波信号,发送至第二终端。即,第一终端与第二终端之间信息传输的载体为红外线波段的电磁波。对应的,第二终端根据接收到的电磁波信号,即可获取到相应的随机数。第一终端与第二终端具备红外电磁波调制/解调功能,即可采用红外传输的方式进行随机数的传输。但是,由于红外电磁波无法穿越不透光的物体,因此红外传输的传输方式适用于小范围内的数据传输。即,第一终端与第二终端之间的数据传输方式为红外传输时,第一终端与第二终端位于较近的距离区间,且不存在遮挡。由于红外传输具有传输稳定性好、不易被无线电信号干扰的优点,因此在小范围内的空间中,可以采用红外传输的方式进行第一终端与第二终端之间的通信。
当第一终端通过预设的数据传输方式将服务器下发的随机数发送至第二终端后,第二终端将执行与服务器之间的身份认证,以与第一终端共同完成当前用户在服务器的身份认证。
S900:第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
S1000:第二终端发送第三数据包至服务器。
可以理解的是,第二终端接收到第一终端发送的带有第一终端私钥签名的第二数据包后,第二终端即可通过第一终端公钥进行签名验证,以确认数据传输过程中未被非法第三方更改。同时,为了能够与第一终端共同完成当前用户在服务器的身份认证,第二终端需要将接收到的随机数发送至服务器。
第二终端对包含随机数的第二数据包进行第二终端私钥的签名,能够有效防止第二终端发送至服务器的随机数被非法第三方更改,从而有效提升了第二终端发送的随机数的安全性。这样,当服务器接收到第二终端发送的带有第二终端私钥签名的数据包后,通过第二终端公钥进行签名验证,即可判断该随机数是都被非法第三方更改,从而有效保证了第二终端转发至服务器的随机数的真实性。
值得注意的是,本申请中服务器在生成随机数的同时,还生成由认证时间期限。因此,除了需要保证第二终端发送至服务器的随机数与服务器生成的随机数一致,还需要保证服务器接收到第二终端发送的随机数的时刻在认证时间期限内。即,需要保证服务器在随机数有效期限内接收到第二终端发送的、与服务器生成的随机数一致的随机数。并且,第二终端发送至服务器的随机数与服务器生成的随机数一致,说明服务器生成并发送至第一终端的随机数、第一终端接收并发送至第二终端的随机数、第二终端接收并发送到服务器的随机数均保持一致。此外,用户身份认证过程中,服务器需要验证第一终端与第二终端是否存在预关联的关系,以防止非法第三方假冒用户第二终端进行用户身份的验证,从而有效提高了用户访问的安全性。综上,服务器授权第一用户访问请求的访问权限,需要满足以下条件:服务器在认证时间期限内接收到第三数据包;所述第一终端和所述第二终端存在预关联;服务器、第一终端和第二终端三者所持有的随机数一致。
进一步,在本申请提供的一种优选实施方式中,所述第一数据包具有第一时间戳;所述第二数据包具有第二时间戳;所述第三数据包具有第三时间戳;第一时间戳早于第二时间戳;第二时间戳早于第三时间戳。
可以理解的是,时间戳为带有数据生成时间信息的相关数据。可以在利用私钥进行数据签名时,将被签名数据的生成时间添加至相应的数字签名中。即,在私钥签名的过程中,通过时间戳对数据产生的时间进行认证。并且,时间戳一旦产生将无法被更改,因此采用时间戳进行数据生成时间标记,具有极高的可信度。即使发送的数据被更改,时间戳标记的数据产生时间也无法被更改。因此在本申请中,时间戳可以证明认证过程中各数据包生成时间是可信的,以防止传输数据被非法第三方篡改,从而导致用户身份认证失败。
相应的,服务器通过服务器私钥对其生成的随机数签名得到的第一数据包,对应具有第一时间戳;第一终端对第一数据包签名得到的第二数据包,对应具有第二时间戳;第二终端对第二数据包签名得到的第三数据包,对应具有第三时间戳。并且,由于本申请提供的认证方法,随机数最初由服务器生成,因此第一时间戳所代表的时间是最早的。而服务器生成的随机数需要先发送至第一终端,之后再由第一终端将其转发至第二终端,因此第二时间戳是早于第三时间戳的。服务器以及各终端,根据接收到的数据包的时间戳先后顺序,即可确认随机数的发送顺序。这样,可以有效防止服务器将生成的随机数误发至用户的第二终端。
实际应用中,用户认证过程中用户终端与服务器之间发送的所有信息都可以包含时间戳和数字签名,并被相应的公钥加密,以以防止非法第三方的攻击、伪装和拒绝访问。
进一步,在本申请提供的一种优选实施方式中,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
可以理解的是,本申请中服务器进行验证信息的确认时,除了需要确认其接受到的验证信息的准确性,还需要确认验证信息发送设备的真实性。并且,本申请中的第一终端、第二终端为预关联终端。因此,本申请中第一终端、第二终端、服务器在接收到相应的信息后,需要进行相应发件方的身份确认,以防止发件方被非法第三方假冒,从而防止了信息泄露的可能,有效提高了用户数据的安全性。
进行服务器、第一终端、第二终端的身份确认,需要通过预设的认证协议进行。数据接收方可以通过预设的身份认证协议,确认数据发送发的身份是否为指定的数据发送方。预设的身份认证协议,可以根据实际需求设定。例如,可以设定为MD5challenge协议、GTC协议、EAP-TLS协议、EAP-SIM协议、TTLS协议、PEAP协议、MS-CHAP-V2协议等。又或者,进行用户身份认证时,每一端可以同时设置多种验证协议,以增加其身份验证的适配性。例如,在进行设备身份验证的验证器中预安装多种认证协议,以满足不同的实际需求。这样,使得每一端设备具有较高的身份认证兼容性。即,每一端设备能够识别出不同身份认证协议支持的其它设备的身份。但是,这会对安装有多种身份认证协议的设备的内存以及计算能力存在着较大的挑战。
因此,本申请优选同一验证协议进行服务器、第一终端、第二终端这三者之间的身份认证。即,每一端设备的身份验证系统均安装相同的身份认证协议。这样,每一端均可实现对其他端设备的身份识别,并且可以降低对设备内存、计算能力的要求。
进一步,在本申请提供的一种优选实施方式中,所述认证协议兼容Android版本、Web版本和IOS版本。
可以理解的是,不同端的设备可能在不同的操作系统下运行。例如,用户的第一终端可以运行Android操作系统;第二终端可以运行IOS操作系统。而不同的操作系统下,终端的身份验证系统若想正常运行,则需相应的身份认证协议兼容不同版本的操作系统,从而使得各终端能够跨操作系统进行身份认证。因此,本申请中服务器、第一终端、第二终端共同采用的认证协议需要兼容不同的操作环境。即,服务器、第一终端、第二终端共同采用的认证协议需要支持不同操作系统下的身份验证器系统运行。
具体的,需要使得认证协议兼容Android版本、Web版本和IOS版本。即,所述认证协议需要支撑身份验证器系统能够在Android平台、Web平台和IOS平台运行,从而满足采用不同平台通信的终端的身份验证。这样,用户可以根据自身使用习惯选用不同操作平台的终端进行相应服务器的访问认证,无需顾虑跨平台操作导致认证失败的可能性。即,提高了本申请所提供的认证方法在不同平台操作的适配性。
进一步,在本申请提供的一种优选实施方式中,所述认证协议通过动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器至少其中之一进行确认。
可以理解的是,进行服务器、第一终端、第二终端之间优选通过相同的认证协议进行身份认证。但是,最终确定的认证协议是否具有较强的兼容性能够满足不同系统平台下终端的身份验证并可满足用户认证保密性以及真实性的要求,需要借助相关的验证工具进行预先验证。即,可以通过验证工具验证认证协议是否满足认证系统的设计需求。这样,能够使得服务器、第一终端、第二终端采用的认证协议能够满足对用户认证信息保密性和真实性的要求,从而提升了用户身份认证的准确性。
具体的,可以通过动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器至少其中之一进行认证协议的确认。动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器可以理解为网络安全协议与应用的自动验证工具。使用高级协议规范语言对认证协议进行建模,并通过相应的模型检查器进行验证,可以进行认证协议的保密性和真实性属性的健全性的验证。例如,为了验证有限的会话数和协议伪造,使用基于约束逻辑的攻击搜索器和基于sat的模型检查器来判断后端平台是否存在对认证协议的攻击。为了检测猜测和重放攻击,可以使用动态模型检查器运行具有一定数量层的启发式搜索算法,并分析相应数量的节点,以对协议进行验证。这样,可以保证用户在不同的多个设备间进行认证过程时,实际采用的认证协议的保密性和真实性属性的健全性,从而提升了用户访问的安全性。
进一步,在本申请提供的一种优选实施方式中,时间、终端多维联合认证方法支持串接认证链路。
这里的串接认证链路可以理解为进行用户身份认证过程中,用于与服务器进行此次认证的若干终端之间的排布方式。并且,需要指出的是,本申请中用于用户身份认证的终端的具体数量可以根据实际需求设定,并非始终固定为两个例如,可以将用户终端数量设定为三个。这时,第二终端生成的第三数据包除了发送至服务器,还需发送至第三终端,并由第三终端私钥签名后,再发送至服务器。只有服务器产生的随机数、第二终端发送至服务器的随机数、第三终端发送至服务器的随机数均一致,方可对第一终端授予访问权。这时,第一终端、第二终端、第三终端之间的信息传输方式,即可理解为串接认证链路。即,按照随机数的传输流向,设定第一终端、第二终端、第三终端之间的数据收发方式。
实际应用中,根据实际的认证需求,还可以在第三终端后引入其它终端,共同参与本次的用户认证。即,还可以存在第四终端、第五终端等用户验证设备。并且,所有参与用户认证的终端设备采用的仍为串接认证链路的方式进行验证信息的传输。即,双设备身份验证并不是认证协议的唯一版本,可以使用两个以上的设备来实现这个身份验证过程。此外,由于非法第三方需要窃取所有相关的设备才能访问系统,因此引入更多的用户设备可以为认证过程带来额外的安全层。
在本申请提供的一种具体实施方式中,请参照图2,当第一终端向服务器发送访问请求,服务器端的具体执行过程为:
接收第一终端发送的访问请求消息,包括:一个用户识别信息(如用户的电子邮件地址)、一个设备识别信息(如设备名称)、一个时间戳、用第一终端的私钥签名的数字签名。
在验证服务器接收并验证此消息后,将验证第一终端的身份,以判断第一终端发送的访问请求是否有效;若第一终端身份无误,说明终端发送的访问请求有效。
若第一终端发送的访问请求有效,服务器将启动定时器来限制认证时间,并生成一个随机数。服务器将随机数发送给第一终端,并在此次认证的认证协议中使用随机生成的随机数作为验证信息,并发起对用户设备的验证挑战。具体的,第一终端将验证信息传输给第二终端。第二终端接收到验证信息后,即将验证信息转发给服务器。服务器计时器首先根据生成的认证时间期限,检查身份验证时间是否过期。然后检查第二终端是否与第一终端配对。最后,服务器判断已发送以及接收到的验证消息是否一致。如果所有这些要求都得到满足,服务器将授予对第一终端的访问权。
在本申请提供一种具体实施方式中,请参照图3,通过两个用户终端进行用户身份验证。并且,这两个终端均与同一用户相关联。具体的,由第一终端发送访问请求至服务器;服务器将根据访问请求,生成相应的随机数,并将其发送至第一终端;第一终端将接收的随机数发送至第二终端,以通过第二终端继续进行与服务器之间的用户认证;第二终端将第一终端发送的随机数发送至服务器,进行服务器认证响应。在认证时间期限内,若第二终端发送的随机数与服务器初始生成的随机数一致,则可做出用户认证成功的决策,并对第一终端授权访问。这时,由于非法第三方需要窃取所有相关的设备才能访问系统,因此相比于采用单设备展开身份验证,采用双设备可以为认证过程带来额外的安全层。
实际应用中,第一终端和第二终端可以为同一用户名下的两部Android 智能手机,并通过Android 应用程序来操作认证过程。并且,服务器与终端之间传输的随机数可以为二维码。在这一过程中,当服务器接收到访问请求时,使用Java 安全应用程序编程接口创建一个32 位的数字随机数。然后,服务器从随机数中生成一个二维码。为了从随机生成的数字中计算出一个二维码,可以使用谷歌ZXing开源框架。服务器发送这个二维码作为验证信息。当第一台智能手机接收到验证信息时,它通过在屏幕上显示二维码,在本地广播二维码给另一台相关设备,提取出服务器已经创建好的随机数。为了读取二维码,在Android应用中实现了谷歌ZXing框架。第二个智能手机将随机数发送给服务器。服务器运行一个算法来验证请求。如果请求有效,服务器将授予对智能手机的访问权。最后,服务器成功验证了 Android 应用程序的身份。
又或者,第一终端和第二终端可以为同一用户名下的笔记本电脑(第一终端)、智能手机(第二终端),验证信息使用二维码传输。为了将智能手机与笔记本电脑相关联,可以使用Android 应用程序。对于笔记本电脑(第一终端),使用可跨平台操作的Java桌面应用程序,并可在Windows、MacOS X或 Linux支持的计算机上运行。进行认证时,服务器会使用二维码发送一个验证信息。在第二步中,笔记本电脑接收这个二维码,并通过在屏幕上显示它来在本地展示它。之后,智能手机扫描二维码,提取随机生成的数字,并将其发送到服务器。最后,服务器会允许或拒绝对笔记本电脑的访问。
在本申请提供的另一种具体实施方式中,认证过程中仍使用两台 Android 智能手机。然而,对于随机数的传输,使用NFC技术,需要两台智能手机一起轻触才能传输验证信息。与二维码传输不同的是,当服务器接收到访问请求时,服务器会创建的是随机数,但不会生成二维码。即,服务器不发送二维码,而是将生成的随机数发送到第一个设备。当第一个设备接收到随机数时,它通过打开 NFC 连接在本地广播随机数。为了通过 NFC 实现验证信息传输过程,使用Android NFC库。为了执行挑战,用户需要一起轻叩设备,建立无线电通信。然后,第二个智能手机提取出随机数,并将其发送给服务器。最后,服务器验证请求并授予对第一个设备的访问权。
在本申请提供一种具体实施方式中,请参照图4,通过三个用户终端进行用户身份验证。并且,三个终端均与同一用户相关联。具体的,在第一步中,第一终端请求访问验证者服务器。然后,在第二步中,服务器生成一个随机数,并将其发送给第一终端。在第三步中,第二终端接收来自第一终端的随机数。在第四步中,第二终端向服务器发送验证响应。在第五步中,第二终端将这个随机数发送给最后一个设备。然后第三终端将另一个认证响应发送回验证者服务器。如果服务器确定从第二终端和第三终端接收到的响应对于发出的随机数是有效的,将授予第一终端对资源的访问权。这里第一终端、第二终端、第三终端形成的链路即可理解为串接认证链路。同样的,由于非法第三方需要窃取所有相关的设备才能访问系统,因此相比于采用双设备展开身份验证,采用三设备可以为认证过程带来额外的安全层。但是,这样会增加验证流程的耗时以及验证复杂度,因此本申请实施例优选采用双设备记性身份验证。当然,实际应用中,可以根据具体的需求,确定参与用户身份验证的终端的具体数量。
本申请实施例还提供一种时间、终端多维联合认证系统,用于执行上述的时间、终端多维联合认证方法。
具体的,请参照图2,为本申请实施例提供的一种时间、终端多维联合认证系统100,包括:
接收装置11,用于服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求;
计算装置12,用于服务器验证所述第一终端的身份;
验证信息生成装置13,用于当第一终端的身份合法时,服务器生成随机数和认证时间期限;
计算装置12,还用于服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
发送装置14,用于服务器发送第一数据包至第一终端;
接收装置11,还用于第一终端接收第一数据包;
计算装置12,还用于第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
发送装置14,还用于第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端;
计算装置12,还用于第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
发送装置14,还用于第二终端发送第三数据包至服务器;
当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:
服务器在认证时间期限内接收到第三数据包;
所述第一终端和所述第二终端存在预关联;
服务器、第一终端和第二终端三者所持有的随机数一致。
接收装置11,用于服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求。这里的服务器可以理解为给用户所访问系统提供相应的应用服务的计算机。这里的第一终端可以理解为用户发起系统访问的、已接入相应系统网络的设备。例如,常见的手机、电脑等移动通信设备。又或者,银行中的自动存/取款机、密码锁等密级要求较高的金库设备。对应的,第一终端访问系统时生成的系统访问请求为第一用户访问请求。
在本申请提供的一种具体实施方式中,第一终端可以向服务器发送包括一个用户识别信息(例如,用户的电子邮件地址)、一个终端识别信息(例如,设备名称)和一个时间戳在内的第一用户访问请求信息。当服务器接收到第一设备发送的第一用户访问请求,即可进行相应的用户身份验证。
值得注意的是,这里的第一用户访问请求经第一终端私钥签名后生成。即,第一终端发送的第一用户访问请求包括有用第一终端的私钥签名的数字签名。
可以理解的是,密钥有公钥和私钥之分。其中,私钥为用户私有的密钥,可用于进行公钥加密数据的解密、签名。密钥对中与私钥相对应的公钥,可以为不同的用户所共享,用于数据的加密、签名验证。实际应用中,数据发送方可以用数据接收方的公钥进行数据加密,之后数据接收方则可利用自身的私钥进行加密数据的解密,从而保证了数据接收方接收数据的安全性。数据发送方可以利用自身的私钥进行数据签名,并将自身的公钥一并发送至数据接收方;数据接收方即可利用数据发送方的公钥进行已签名数据的签名验证,以确保数据发送方发送的数据未被更改,从而保证了数据发送方发送数据的安全性。
本申请为了保证第一用户终端发送的第一用户访问请求的安全性,在第一终端发送第一用户访问请求前,还进行了第一终端私钥对第一用户访问请求签名的操作。这样,可以避免被非法第三方更改第一用户访问请求,从而导致相关方位信息被非法盗取,从而有效保证了第一终端发送的用户访问请求的安全性。
计算装置12,用于服务器验证所述第一终端的身份;验证信息生成装置13,用于当第一终端的身份合法时,服务器生成随机数和认证时间期限。这里进行第一终端身份的验证,即第一终端的身份鉴权,以确定第一终端的身份是否合法。具体的,服务器端可以预存若干终端的身份信息。某一时刻,当服务器接收到某一未知终端发送的用户访问请求,即可根据用户访问请求中的相关内容,进行该未知终端的身份验证。例如,可以根据第一用户访问请求中的用户识别信息(如用户的电子邮件地址)、或终端识别信息(如设备名称) 等信息,进行服务器中预存的终端信息的匹配。若在服务器中匹配到相应的终端信息,则说明该未知终端的身份合法。
经验证,若第一终端身份合法,服务器将对应生成相应的随机数以及认证时间期限。这里的随机数可以理解为服务器通过预设的随机数生成算法生成的某一组字符序列,可作为后续验证过程中的认证码,便于服务器与相关终端之间身份的认证。这里的认证时间期限,可以理解为随机数的有效使用期限,可以通过启动定时器实现。在认证时间期限内,随机数可以作为终端之间以及终端与服务器之间的认证码使用。若超出认证时间期限,随机数将失效。
当第一随机数、认证时间期限生成完毕,服务器即可将服务器生成的随机数认证码以及相应的认证期限发送至相应的用户终端,以继续用户身份认证。
计算装置12,还用于服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;发送装置14,用于服务器发送第一数据包至第一终端;接收装置11,还用于第一终端接收第一数据包。
服务器在发送随机数时,为了防止非法第三发对随机数进行更改,需要对生成的随机数进行签名处理。即,通过服务器私钥对其生成的随机数进行签名,以防止生成的随机数被非法第三方更改,从而有效提升了服务器发送的随机数的安全性。这样,当第一终端接收到服务器发送的带有服务器私钥签名的随机数后,通过服务器公钥进行签名验证,即可判断接收到的随机数是否被非法第三方更改,从而有效保证了服务器生成随机数的真实性。同时,服务器还可将时间认证期限发送一同发送至第一终端,以便用户获知服务器生成随机数的认证时间期限。
之后,第一终端即可将服务器生成的随机数以及该随机数的认证时间期限,发送至第二终端。这里的第二终端可以理解为与第一终端共同进行用户身份认证的另一终端。即,除了发起用户访问请求的第一终端之外,用户还需借助其它终端来辅助进行第一终端的授权访问。也可以理解为,在第一终端的基础上,增加了其它终端与服务器之间的认证流程,以实现服务器与用户之间的双层鉴权,从而使得服务器验证得到的用户身份更为真实。这样,能够有效避免非法第三方用户盗取用户验证信息进行登录,从而有效保障了系统信息的安全性。
需要指出的是,在服务器生成随机数、认证时间期限后,第一终端可直接将接收到的随机数在认证时间期限内发送至服务器,从而完成服务器与用户之间的身份验证。但是,存在非法第三方获取到服务器发送至第一终端的随机数,并假冒用户进行与服务器的信息交互,从而获取到用户敏感信息的可能性。这样,显然不利于用户信息的安全。因此,本申请进行服务器与用户之间身份认证的过程中,需要通过用户的其它设备来共同进行用户的身份认证,从而完成服务器对第一终端的授权认证。这样,可以通过验证用户设备,辅助服务器进行访问用户身份真实性的判断。因此,在第一终端接收到服务器发送的第一数据包后,并非直接将接收到的随机数回复至服务器端,而是将其发送至第二终端,以使得用户的第二终端根据随机数进行与服务器之间的认证。
计算装置12,还用于第一终端使用第一终端私钥签名第一数据包,生成第二数据包;发送装置14,还用于第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端。
第一终端接收到服务器发送的第一数据包后,若服务器签名验证无误,即可对第一数据包进行第一终端私钥的签名,以防止第一终端发送至第二终端的随机数被非法第三方更改,从而有效提升了第一终端发送的随机数的安全性。这样,当第二终端接收到第一终端发送的带有第一终端私钥签名的数据包后,通过第一终端公钥、服务器公钥依次进行签名验证,即可判断数据包内的随机数是否被非法第三方更改,从而有效保证了服务器生成随机数、第一终端至第二终端的随机数的真实性。
当第一终端签名完成,即可将签名完成的随机数按照预设的传输方式发送至第二终端。值得注意的是,这里的第二终端与第一终端之间存在预关联的关系。例如,第一终端与第二终端为同一账户名下的成对设备。这里的预设传输方式,可以理解为在第一终端预设的发送第一终端私钥签名的随机数的传输方式。例如,按照预设的数据信道传送方式进行第一终端与第二终端之间的数据发送。又例如,按照预设的数据发送时间计划(数据生成到数据发送之间的时间间隔计划)进行第一终端与第二终端之间的数据发送。
计算装置12,还用于第二终端使用第二终端私钥签名第二数据包,生成第三数据包;发送装置14,还用于第二终端发送第三数据包至服务器。
可以理解的是,第二终端接收到第一终端发送的带有第一终端私钥签名的第二数据包后,第二终端即可通过第一终端公钥进行签名验证,以确认数据传输过程中未被非法第三方更改。同时,为了能够与第一终端共同完成当前用户在服务器的身份认证,第二终端需要将接收到的随机数发送至服务器。
第二终端对包含随机数的第二数据包进行第二终端私钥的签名,能够有效防止第二终端发送至服务器的随机数被非法第三方更改,从而有效提升了第二终端发送的随机数的安全性。这样,当服务器接收到第二终端发送的带有第二终端私钥签名的数据包后,通过第二终端公钥进行签名验证,即可判断该随机数是都被非法第三方更改,从而有效保证了第二终端转发至服务器的随机数的真实性。
值得注意的是,本申请中服务器在生成随机数的同时,还生成由认证时间期限。因此,除了需要保证第二终端发送至服务器的随机数与服务器生成的随机数一致,还需要保证服务器接收到第二终端发送的随机数的时刻在认证时间期限内。即,需要保证服务器在随机数有效期限内接收到第二终端发送的、与服务器生成的随机数一致的随机数。并且,第二终端发送至服务器的随机数与服务器生成的随机数一致,说明服务器生成并发送至第一终端的随机数、第一终端接收并发送至第二终端的随机数、第二终端接收并发送到服务器的随机数均保持一致。此外,用户身份认证过程中,服务器需要验证第一终端与第二终端是否存在预关联的关系,以防止非法第三方假冒用户第二终端进行用户身份的验证,从而有效提高了用户访问的安全性。综上,服务器授权第一用户访问请求的访问权限,需要满足以下条件:服务器在认证时间期限内接收到第三数据包;所述第一终端和所述第二终端存在预关联;服务器、第一终端和第二终端三者所持有的随机数一致。
进一步,在本申请提供的一种优选实施方式中,所述第一数据包具有第一时间戳;所述第二数据包具有第二时间戳;所述第三数据包具有第三时间戳;第一时间戳早于第二时间戳;第二时间戳早于第三时间戳。
进一步,在本申请提供的一种优选实施方式中,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
进一步,在本申请提供的一种优选实施方式中,所述认证协议兼容IOS。
进一步,在本申请提供的一种优选实施方式中,所述认证协议通过动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器至少其中之一进行确认。
进一步,在本申请提供的一种优选实施方式中,所述预设传输方式包括图像传输、二维码传输、NFC传输、振动传输、声波传输、光波传输和红外传输其中之一。
进一步,在本申请提供的一种优选实施方式中,所述方法支持串接认证链路。
通过本申请实施例提供的时间、终端多维联合认证方法及系统,利用至少两个相关设备进行用户访问认证,由于攻击者需要窃取所有相关的设备才能访问系统,因此引入更多的用户设备为认证过程带来了额外的安全层。并且,由于数字签名、时间戳可以防止非法第三方的攻击、伪装和拒绝访问,因此可以有效提升各端设备之间交互信息的真实性以及保密性。此外,通过能够兼容不同运行环境的身份认证协议展开用户身份认证,可以使得认证系统具有较好的兼容性。这样,用户在访问敏感信息和资源(例如,智能手机、服务器、智能手表、操作系统、Web应用程序等)时,可以具有较高的安全性,从而避免了用户信息的泄露。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种时间、终端多维联合认证方法,其特征在于,包括以下步骤:
服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求;
服务器验证所述第一终端的身份;
当第一终端的身份合法时,服务器生成随机数和认证时间期限;
服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
服务器发送第一数据包至第一终端;
第一终端接收第一数据包;
第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端;
第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
第二终端发送第三数据包至服务器;
当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:
服务器在认证时间期限内接收到第三数据包;
所述第一终端和所述第二终端存在预关联;
服务器、第一终端和第二终端三者所持有的随机数一致。
2.如权利要求1所述的多维联合认证方法,其特征在于,所述第一数据包具有第一时间戳;
所述第二数据包具有第二时间戳;
所述第三数据包具有第三时间戳;
第一时间戳早于第二时间戳;
第二时间戳早于第三时间戳。
3.如权利要求1所述的多维联合认证方法,其特征在于,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
4.如权利要求3所述的多维联合认证方法,其特征在于,所述认证协议兼容Android版本、Web版本和IOS版本。
5.如权利要求3所述的多维联合认证方法,其特征在于,所述认证协议通过动态模型检查器、基于约束逻辑的攻击搜索器、基于sat的模型检查器和基于树的模型检查器至少其中之一进行确认。
6.如权利要求1所述的多维联合认证方法,其特征在于,所述预设传输方式包括图像传输、二维码传输、NFC传输、振动传输、声波传输、光波传输和红外传输其中之一。
7.如权利要求1所述的多维联合认证方法,其特征在于,所述方法支持串接认证链路。
8.一种时间、终端多维联合认证系统,其特征在于,包括:
接收装置,用于服务器接收第一终端发送的、由第一终端私钥签名的第一用户访问请求;
计算装置,用于服务器验证所述第一终端的身份;
验证信息生成装置,用于当第一终端的身份合法时,服务器生成随机数和认证时间期限;
所述计算装置,还用于服务器对随机数使用服务器私钥签名,得到包括被服务器私钥签名的随机数的第一数据包;
发送装置,用于服务器发送第一数据包至第一终端;
所述接收装置,还用于第一终端接收第一数据包;
所述计算装置,还用于第一终端使用第一终端私钥签名第一数据包,生成第二数据包;
所述发送装置,还用于第一终端根据预设传输方式,将第二数据包传输至与第一终端预关联的第二终端;
所述计算装置,还用于第二终端使用第二终端私钥签名第二数据包,生成第三数据包;
所述发送装置,还用于第二终端发送第三数据包至服务器;
当满足以下三个条件时,服务器授权第一用户访问请求的访问权限:
服务器在认证时间期限内接收到第三数据包;
所述第一终端和所述第二终端存在预关联;
服务器、第一终端和第二终端三者所持有的随机数一致。
9.如权利要求8所述的多维联合认证系统,其特征在于,所述第一数据包具有第一时间戳;
所述第二数据包具有第二时间戳;
所述第三数据包具有第三时间戳;
第一时间戳早于第二时间戳;
第二时间戳早于第三时间戳。
10.如权利要求8所述的多维联合认证系统,其特征在于,所述服务器、第一终端和第二终端三者之间的身份通过共同的认证协议进行确认。
CN202310039564.5A 2023-01-12 2023-01-12 时间、终端多维联合认证方法及系统 Active CN115801450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310039564.5A CN115801450B (zh) 2023-01-12 2023-01-12 时间、终端多维联合认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310039564.5A CN115801450B (zh) 2023-01-12 2023-01-12 时间、终端多维联合认证方法及系统

Publications (2)

Publication Number Publication Date
CN115801450A true CN115801450A (zh) 2023-03-14
CN115801450B CN115801450B (zh) 2023-05-12

Family

ID=85428955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310039564.5A Active CN115801450B (zh) 2023-01-12 2023-01-12 时间、终端多维联合认证方法及系统

Country Status (1)

Country Link
CN (1) CN115801450B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544379A (zh) * 2023-11-22 2024-02-09 北京京东方技术开发有限公司 用户数据的传输方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997824A (zh) * 2009-08-20 2011-03-30 中国移动通信集团公司 基于移动终端的身份认证方法及其装置和系统
KR20150133944A (ko) * 2014-05-20 2015-12-01 주식회사 케이티 식별값과 인증서버를 이용한 2채널 인증 방법 및 시스템
KR20180017734A (ko) * 2016-08-10 2018-02-21 삼성에스디에스 주식회사 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
CN114679293A (zh) * 2021-06-15 2022-06-28 腾讯云计算(北京)有限责任公司 基于零信任安全的访问控制方法、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997824A (zh) * 2009-08-20 2011-03-30 中国移动通信集团公司 基于移动终端的身份认证方法及其装置和系统
KR20150133944A (ko) * 2014-05-20 2015-12-01 주식회사 케이티 식별값과 인증서버를 이용한 2채널 인증 방법 및 시스템
KR20180017734A (ko) * 2016-08-10 2018-02-21 삼성에스디에스 주식회사 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
CN114679293A (zh) * 2021-06-15 2022-06-28 腾讯云计算(北京)有限责任公司 基于零信任安全的访问控制方法、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544379A (zh) * 2023-11-22 2024-02-09 北京京东方技术开发有限公司 用户数据的传输方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115801450B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
Jacomme et al. An extensive formal analysis of multi-factor authentication protocols
CN109150548B (zh) 一种数字证书签名、验签方法及系统、数字证书系统
US8689290B2 (en) System and method for securing a credential via user and server verification
US8214890B2 (en) Login authentication using a trusted device
US20170244676A1 (en) Method and system for authentication
US8132722B2 (en) System and method for binding a smartcard and a smartcard reader
US9813236B2 (en) Multi-factor authentication using a smartcard
KR101482564B1 (ko) 신뢰성있는 인증 및 로그온을 위한 방법 및 장치
US8869238B2 (en) Authentication using a turing test to block automated attacks
US9055061B2 (en) Process of authentication for an access to a web site
WO2001084761A1 (en) Method for securing communications between a terminal and an additional user equipment
CN109981665B (zh) 资源提供方法及装置、资源访问方法及装置和系统
US11665156B2 (en) Method and system for securely authenticating a user by an identity and access service using a pictorial code and a one-time code
CN110278084B (zh) eID建立方法、相关设备及系统
CN115801450B (zh) 时间、终端多维联合认证方法及系统
JP5186648B2 (ja) 安全なオンライン取引を容易にするシステム及び方法
TW202207667A (zh) 通訊系統中改善安全性之認證及驗證方法
KR101856530B1 (ko) 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버
KR20120122185A (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법 및 시스템
EP2940618A1 (en) Method, system, user equipment and program for authenticating a user
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템
KR20130024934A (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법
Eleftherios FIDO2 Overview, Use Cases, and Security Considerations
Mumtaz et al. Strong authentication protocol based on Java Crypto chips
Pal et al. Cyber security

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