CN109714167B - 适用于移动应用签名的身份认证与密钥协商方法及设备 - Google Patents

适用于移动应用签名的身份认证与密钥协商方法及设备 Download PDF

Info

Publication number
CN109714167B
CN109714167B CN201910197222.XA CN201910197222A CN109714167B CN 109714167 B CN109714167 B CN 109714167B CN 201910197222 A CN201910197222 A CN 201910197222A CN 109714167 B CN109714167 B CN 109714167B
Authority
CN
China
Prior art keywords
value
identity
authentication
user
preset
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
Application number
CN201910197222.XA
Other languages
English (en)
Other versions
CN109714167A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201910197222.XA priority Critical patent/CN109714167B/zh
Publication of CN109714167A publication Critical patent/CN109714167A/zh
Application granted granted Critical
Publication of CN109714167B publication Critical patent/CN109714167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种适用于移动应用签名的身份认证与密钥协商方法及设备,该方法包括获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;接收回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。本发明实施例能够提高移动应用签名身份认证与密钥协商的安全性。

Description

适用于移动应用签名的身份认证与密钥协商方法及设备
技术领域
本发明实施例涉及网络安全技术领域,尤其涉及一种适用于移动应用签名的身份认证与密钥协商方法及设备。
背景技术
身份认证与密钥协商目的是在复杂的、非安全的网络环境中实现通信参与各方的身份认证与通信安全。身份认证包括服务器对用户的身份的确认以及用户对服务器合法性的确认,根据双方共享的认证信息判断通信方身份的真实性。而密钥协商在开放的网络通信环境中,允许多个参与成员在由攻击者完全控制通信信道的情况下通过信息交换,联合生成一个共享的会话密钥,用于加密用户和服务器的通信消息。
随着移动应用的快速发展,针对移动应用的各种攻击事件也层出不穷,攻击者可能通过对原始应用进行篡改、植入病毒或恶意程序,从而达到插入恶意广告或非法收集用户信息的目的。尤其是针对一些与用户财产密切相关的敏感软件,例如银行手机客户端软件、理财APP,如果攻击者通过仿冒原始软件,进而捕获用户的用户名与密码,从而非法使用或转移用户财产,这将给用户带来非常大的损失,因此亟需对移动应用进行安全认证。应用商店作为移动应用下载服务的提供者目前已成为移动应用的主要获取渠道。由应用商店对所提供移动应用进行安全认证是切实可行的,并将大大提高用户使用该应用商店的信心。应用商店首先对各个应用的安全性检测,对通过安全检测的应用通过数字签名的方式认证该应用的安全性,用户通过验证签名的合法性,确认该应用的安全性。在这一过程中,不仅涉及用户与应用商店之间的身份认证,同时为保证签名结果、签名者的公钥等信息通过公有网络安全传输,还需为签名及应用商店公钥证书的安全传递协商会话密钥。
现有的针对移动应用签名的认证与密钥协商方案存在着各种各样的安全缺陷,抗攻击能力弱,安全性差。
发明内容
本发明实施例提供一种适用于移动应用签名的身份认证与密钥协商方法及设备,以解决目前针对移动应用签名的认证与密钥协商方案安全性差的问题。
第一方面,本发明实施例提供一种适用于移动应用签名的身份认证与密钥协商方法,应用于用户端,包括:
获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;
通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;
在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;
接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
第二方面,本发明实施例提供一种适用于移动应用签名的身份认证与密钥协商方法,应用于服务器,包括:
接收用户端发送的包含第一交互值和第一认证值的登录请求;所述一交互值和所述第一认证值为所述用户端根据预设椭圆曲线群的生成元和第一随机数计算得到;
根据所述第一认证值判定用户是否为合法用户;
在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值;
将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;所述回复信息用于指示所述用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
第三方面,本发明实施例提供一种适用于移动应用签名的身份认证与密钥协商设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的身份认证与密钥协商方法,或者执行如上第二方面以及第二方面各种可能的实施方式所述的身份认证与密钥协商方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的身份认证与密钥协商方法,或者实现如上第二方面以及第二方面各种可能的实施方式所述的身份认证与密钥协商方法。
本实施例提供的适用于移动应用签名的身份认证与密钥协商方法及设备,用户端获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。本发明实施例通过注册阶段生成的身份验证值能够确认用户身份,通过用户端与服务器之间的传递的第一交互值和第二交互值进行会话密钥协商,使得生成的会话密钥具有高安全性,从而提高移动应用签名身份认证与密钥协商的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的适用于移动应用签名的身份认证与密钥协商系统的架构示意图;
图2为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图;
图3为本发明又一实施例提供的适用于移动应用签名的身份认证与密钥协商方法中身份注册的流程示意图;
图4为本发明另一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图;
图5为本发明再一实施例提供的适用于移动应用签名的身份认证与密钥协商方法中修改密码的流程示意图;
图6为本发明下一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图;
图7为本发明还一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图;
图8为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的交互信令图;
图9为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图;
图10为本发明又一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图;
图11为本发明另一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图;
图12为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的适用于移动应用签名的身份认证与密钥协商系统的架构示意图。本实施例提供的适用于移动应用签名的身份认证与密钥协商系统包括用户端11和服务器12。用户端11可以为手机、平板、电脑等终端设备,在此不作限定。用户可以通过用户端11进行身份认证,并通过用户端11与服务器12之间的信息交互实现会话密钥协商。例如,对于移动应用签名场景,用户端11为移动终端,服务器12可以为提供应用下载服务的应用商店服务器。
图2为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图。本实施例的执行主体为用户端,如图2所示,该方法包括:
S201、获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值。
在本实施例中,用户的身份信息可以包括但不限于身份标识、身份密码、生物识别特征等中的一个或多个,在此不作限定。例如,身份信息可以包括用户在应用商店注册的账户名称和账户密码。智能卡可以为单独的一张存储卡,也可以为用户端中指定的一个存储空间,在此不作限定。用户端和服务器均可以向智能卡写入或读取数据。智能卡存储的预置参数为用户在进行身份注册过程中用户端和/或服务器写入到智能卡的参数。
用户端可以获取用户输入的身份信息,从智能卡读取存储的预置参数,根据智能卡存储的预置参数和身份信息计算验证值。验证值用于对用户输入的身份信息进行验证。
S202、通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值。
在本实施例中,智能卡存储有用户进行身份注册时生成的注册验证值,该注册验证值为根据用户注册时的身份信息计算得到。用户端从智能卡读取注册验证值,对比验证值与智能卡存储的注册验证值,若验证值与智能卡存储的注册验证值相同,则身份信息验证通过;若验证值与智能卡存储的注册验证值不同,则身份信息验证未通过。
S203、在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端。
在本实施例中,预设椭圆曲线群的生成元为预先设定的椭圆曲线群和指定的生成元,该椭圆曲线群和该生成元为服务器和终端都能够获取到的信息。第一认证值用于服务器判断用户端当前的用户是否为合法用户,第二认证值用于用户端判断服务器是否为合法服务器。第一交互值和第二交互值用于用户端和服务器进行密钥协商。
在身份信息通过验证后,用户端生成一个随机数作为第一随机数,然后根据预设椭圆曲线群的生成元和第一随机数计算第一交互值和第一认证值,将包含第一交互值和第一认证值的登录请求发送至服务器。服务器接收该登录请求,根据第一认证值判定用户是否为合法用户。服务器在判定用户为合法用户后,生成第二随机数,并根据第二随机数、预设椭圆曲线群的生成元和第一交互值计算第二交互值和第二认证值,将包含第二交互值和第二认证值的回复消息发送至用户端。
S204、接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
在本实施例中,用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。服务器根据用户端发送的第一交互值能够计算出相同的会话密钥,从而在不直接传递密钥的情况下实现密钥协商。
本发明实施例中,用户端获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。本发明实施例通过注册阶段生成的身份验证值能够确认用户身份,通过用户端与服务器之间的传递的第一交互值和第二交互值进行会话密钥协商,使得生成的会话密钥具有高安全性,从而提高移动应用签名认证与密钥协商的安全性。
图3为本发明又一实施例提供的适用于移动应用签名的身份认证与密钥协商方法中身份注册的流程示意图。本实施例在图2实施例的基础上,对本实施例的身份信息注册过程进行了详细说明。预置参数包括服务器预置参数和用户端预置参数,如图3所示,在S201之前,该方法还可以包括:
S301、获取用户输入的待注册身份信息;所述待注册身份信息包括待注册身份标识及待注册身份密码。
在本实施例中,预置参数包括服务器预置参数和用户端预置参数,其中服务器预置参数为服务器写入智能卡的预置参数,用户端预置参数为用户端写入到智能卡的预置参数。
S302、生成第三随机数,并根据所述待注册身份信息和所述第三随机数计算哈希值,将包含所述待注册身份标识和所述哈希值的注册请求发送至服务器;所述注册请求用于指示所述服务器根据私钥、所述待注册身份标识和所述哈希值确定服务器预置参数,将所述服务器预置参数存储到所述存储卡。
在本实施例中,用户端在获取到用户输入的待注册身份信息后,生成一个随机数作为第三随机数,然后根据待注册身份信息和第三随机数计算哈希,将包含待注册身份标识和哈希值的注册请求发送至服务器。服务器接收到注册请求后,根据私钥、待注册身份标识和哈希值确定服务器预置参数,将服务器预置参数存储到存储卡。
S303、根据所述哈希值和所述服务器预置参数计算所述注册验证值,将所述第三随机数和所述注册验证值作为所述用户端预置参数存储到所述存储卡。
在本实施例中,用户端根据哈希值和服务器预置参数计算注册验证值,将第三随机数和注册验证值作为用户端预置参数存储到存储卡中。
本实施例在注册过程中能够生成注册验证值存储到存储卡中,通过注册验证值能够实现对用户登录过程中的身份信息进行验证。
图4为本发明另一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图。本实施例在图2实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图4所示,该方法可以包括:
S401、获取用户输入的身份信息,根据所述预置参数、所述身份信息和第一公式计算所述验证值;所述第一公式为:
Figure GDA0002444901000000081
其中,
Figure GDA0002444901000000082
为所述验证值,h()为哈希函数,
Figure GDA0002444901000000083
为所述身份标识,
Figure GDA0002444901000000084
为所述身份密码,Ni为所述预置随机数,n为所述预置整数。
在本实施例中,所述预置参数包括预置随机数和预置整数,所述身份信息包括身份标识及身份密码。预置随机数为用户端在身份注册阶段生成的一个随机数,并将该随机数写入到智能卡中。预置整数为服务器在系统初始化阶段生成的一个整数值,并将该整数值写入到智能卡。哈希函数可以为预先选取一个安全的哈希函数。
S402、通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值。
在本实施例中,S402与图2实施例中的S202类似,此处不再赘述。
S403、在所述身份信息验证通过后,生成第一随机数,根据所述预设椭圆曲线群的生成元、第一随机数及第二公式计算所述第一交互值;所述第二公式为:
Ri=N1P (2)
其中,Ri为所述第一交互值,N1为所述第一随机数,P为所述预设椭圆曲线群的生成元。
S404、根据所述第一交互值和第三公式计算所述第一认证值;所述第三公式为:
Figure GDA0002444901000000091
其中,Di为所述第一认证值,
Figure GDA0002444901000000092
Bi为所述第一预置值,
Figure GDA0002444901000000093
在本实施例中,预置参数包括预置公钥和第一预置值。其中预置公钥为服务器根据私钥和预设椭圆曲线群的生成元计算得到的公钥,并由服务器写入到智能卡中。第一预置值为服务器在用户身份注册时由私钥和待注册身份信息得到的一个预置值,并写入到智能卡中。
S405、根据所述第一随机数和第四公式计算加密密钥;所述第四公式为:
Ci=h(N1PPUB) (4)
其中,Ci为所述加密密钥,PPUB为所述预置公钥。
S406、根据所述加密密钥和高级加密标准算法对所述身份标识和所述第一认证值加密得到密文。
在本实施例中,可以通过AES(Advanced Encryption Standard,高级加密标准)算法对身份标识和所述第一认证值进行加密。
S407、生成时间戳,将包含所述密文、所述时间戳和所述第一交互值的登录请求发送至所述服务器。所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端。
在本实施例中,S407与图2实施例中的S203类似,此处不再赘述。
S408、接收所述回复消息,根据所述第一随机数、所述第二交互值和第五公式计算会话密钥;所述第五公式为:
Figure GDA0002444901000000094
其中,SK为所述会话密钥,K′i=N1*Zi,Zi为所述第二交互值。
S409、根据第六公式计算所述第二认证值对应的验证值;所述第六公式为:
Figure GDA0002444901000000095
其中,X′i为所述第二认证值对应的验证值。
S410、若所述第二认证值对应的验证值与所述第二验证值相等,则判定服务器合法,并将所述会话密钥作为所述用户端与所述服务器之间的会话密钥。
传统的身份认证和密钥协商方法,并不能满足移动应用签名的需求。首先,已有的认证与密钥协商方案,存在着许多安全缺陷,或是不能抵抗离线密码猜测攻击、拒绝服务攻击、智能卡丢失攻击、离线密码猜测攻击、用户模拟攻击、内部特权攻击、重放攻击的一种或多种攻击,或是不能满足前向安全性、用户匿名性。这些方案不能为移动应用签名提高安全可靠的服务保障。其次,方案的效率不能满足移动应用签名的需求。在用户获取网络服务时,服务器的响应时间对用户来说是非常重要的,这就要求认证与密钥协商方案要有高效率,才能保证良好的用户体验。
相对于传统的身份认证和密钥协商方法,本实施例提供的身份认证和密钥协商方法具有以下优点:
1.基于椭圆曲线密码体制设计认证与密钥协商方案,该方法具有强安全性的优点,同时具有抗攻击性强、CPU占用少、内容使用少、网络消耗低、加密速度快等优点。
2.高效安全的实现了用户端与服务器之间的认证与会话密钥协商,同时方案满足用户匿名性、前向安全性等良好的安全特性。采用对称加密的方式传递用户身份实现了用户匿名性,加密密钥随着用户选取的随机数而改变,每次加密的结果都不相同,保证了用户行为不被追踪。服务器在注册阶段安全的分发给用户一个认证信息,在登陆与认证阶段用户端和服务器通过对认证信息的验证从而确认通信方的真实身份。通过椭圆曲线Diffie-Hellman密钥交换的方式协商用户端与服务器的会话密钥,生成的会话密钥具有高安全性:满足前向安全性,甚至在一方临时秘密值泄露的情况下会话密钥的安全性也不受影响,攻击者通过各种攻击方法无法揭露本方案的会话密钥,为用户端与服务器的通信安全提供了保障。
3.该方法满足移动应用签名场景的安全要求及效率要求。方案能够抵抗各种网络攻击与密码分析,能够抵抗离线密码猜测攻击、拒绝服务攻击、内部特权攻击、用户模拟攻击、服务器模拟攻击、重放攻击等攻击,满足移动应用签名的高安全需求。同时方案具有高效率,在用户认证与密钥协商过程中方案的计算开销5个点乘、3个AES加解密、10个哈希运算,相比传统方案在效率上有明显提升,能够满足移动应用签名场景的需求。
图5为本发明再一实施例提供的适用于移动应用签名的身份认证与密钥协商方法中修改密码的流程示意图。本实施例在图2实施例的基础上,对本实施例的密码修改过程进行了详细说明。如图5所示,该方法还可以包括:
S501、在所述身份信息验证通过后,获取用户输入的新身份密码。
在本实施例中,用户可以在用户端申请修改密码。用户端获取用户输入修改前的身份信息,对身份信息进行验证。在身份信息验证通过后,用户端获取用户输入的新身份密码。
S502、根据所述新身份密码和第七公式计算所述新注册认证值;所述第七公式为:
Figure GDA0002444901000000111
其中,
Figure GDA0002444901000000112
为所述新注册认证值,
Figure GDA0002444901000000113
为新身份密码。
S503、根据第八公式计算新第一预置值;所述第八公式为:
Figure GDA0002444901000000114
其中,
Figure GDA0002444901000000115
为所述新第一预置值。
S504、将所述存储卡中存储的注册认证值替换为所述新注册认证值,将所述存储卡中存储的所述第一预置值替换为所述新第一预置值。
在本实施例中,用户修改密码时,用户端通过将存储卡中存储的注册认证值替换为新注册认证值,将存储卡中存储的第一预置值替换为新第一预置值,不用与服务器进行通信就能实现密码修改,方便快捷。用户端本地更新密码,效率较高,节省了通信开销与服务器的计算开销。
图6为本发明下一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图。本实施例的执行主体为服务器,本实施例的具体实施方式与上述图2所示的以用户端为执行主体的实施例类似,因此下文仅简要叙述,不赘述。如图6所示,该方法包括:
S601、接收用户端发送的包含第一交互值和第一认证值的登录请求;所述一交互值和所述第一认证值为所述用户端根据预设椭圆曲线群的生成元和第一随机数计算得到。
在本实施例中,在用户登录阶段,用户端根据预设椭圆曲线群的生成元和第一随机数计算得到第一交互值和第一认证值,将包含第一交互值和第一认证值的登录请求发送到服务器。服务器接收该登录请求。
S602、根据所述第一认证值判定用户是否为合法用户。
S603、在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值。
在本实施例中,服务器根据第一认证值判定用户是否为合法用户。服务器在判定用户为合法用户后,生成第二随机数,根据第二随机数、预设椭圆曲线群的生成元和第一交互值计算第二交互值和第二认证值。
S604、将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;所述回复信息用于指示所述用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
在本实施例中,服务器将包含第二交互值和第二认证值的回复消息发送至用户端。用户端根据第一随机数、第二交互值和第二认证值验证服务器身份以及确定会话密钥。
图7为本发明还一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的流程示意图。本实施例在图6实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图7所示,该方法可以包括:
S701、接收用户端发送的包含第一交互值和第一认证值的登录请求;所述一交互值和所述第一认证值为所述用户端根据预设椭圆曲线群的生成元和第一随机数计算得到。
在本实施例中,登录请求包括对第一认证值和身份标识加密得到的密文、所述第一交互值以及时间戳。在本实施例中,S701与图6实施例中的S601 类似,此处不再赘述。
S702、判定所述时间戳是否有效。
S703、若所述时间戳有效,则根据私钥、所述第一交互值和第九公式计算解密密钥;所述第九公式为:
C′i=h(xRi) (9)
其中,C′i为所述解密密钥,h()为哈希函数,x为所述私钥,Ri为所述第一交互值。
S704、根据所述解密密钥和高级加密标准算法对所述密文进行解密得到解密出的第一认证值和解密出的身份标识。
在本实施例中,服务器根据AES算法对密文进行解密得到解密出的第一认证值和解密出的身份标识。
S705、根据第十公式计算所述第一认证值对应的验证值;所述第十公式为:
D″i=h(A′i||Ri) (10)
其中,D″i为所述第一认证值对应的验证值,A′i=h(x||ID′i),ID′i为所述解密出的身份标识。
S706、若所述第一认证值对应的验证值与所述第一验证值相等,则判定用户为合法用户。
S707、在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值。
可选地,S707可以包括:
根据所述第二随机数和第十一公式计算所述第二交互值;所述第十一公式为:
Zi=N2P (11)
其中,Zi为所述第二交互值,N2为所述第二随机数,P为所述预设椭圆曲线群的生成元;
根据所述第二随机数和第十二公式计算所述第二认证值;所述第十二公式为:
Xi=h(Zi||A′i||C′i||SK) (12)
其中,Xi为所述第二认证值,SK为会话密钥,SK=h(Ki||A′i),Ki=N2*Ri
S708、将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;所述回复信息用于指示所述用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
在本实施例中,S708与图6实施例中的S604类似,此处不再赘述。
图8为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商方法的交互信令图。如图8所示,该方法可以包括:
S801、用户端获取用户输入的待注册身份信息。
S802、用户端生成第三随机数,并根据待注册身份信息和第三随机数计算哈希值。
S803、用户端将包含待注册身份标识和哈希值的注册请求发送至服务器。
S804、服务器根据私钥、待注册身份标识和哈希值确定服务器预置参数,将服务器预置参数存储到存储卡。
S805、用户端根据哈希值和服务器预置参数计算注册验证值,将第三随机数和注册验证值作为用户端预置参数存储到存储卡。
S806、用户端获取用户输入的身份信息,根据智能卡存储的预置参数和身份信息计算验证值,通过对比验证值与智能卡存储的注册验证值对身份信息进行验证。
S807、用户端在身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值。
S808、用户端将包含第一交互值和第一认证值的登录请求发送至服务器。
S809、服务器根据第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据第二随机数、预设椭圆曲线群的生成元和第一交互值计算第二交互值和第二认证值。
S810、服务器将包含第二交互值和第二认证值的回复消息发送至用户端。
S811、用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
本实施例的具体实施方式与上述图2及图3所示的实施例类似,此处不再赘述。
作为本发明的一个实施示例,该身份认证与会话密钥协商方法可以包括系统初始化、用户注册阶段、认证与密钥协商、用户密码更新四部分,具体如下:
第一部分,系统初始化。该部分包含以下步骤:
步骤1.1、选择一个椭圆曲线群Ep以及它的一个生成元P。
步骤1.2、选择一个随机数x,计算公钥Ppub=xP。
步骤1.3、选取整数n,满足28≤n<<210
步骤1.4、选择一个安全的哈希函数h()。
步骤1.5、选取高级加密标准算法(Advanced Encryption Standard,AES) Ekey(),key是算法的密钥,在该方法执行过程中生成,不预先设定。
步骤1.6、服务器秘密保存x,公布{Ep,P,Ppub,n}。
第二部分:用户注册。该部分包含以下步骤:
步骤2.1、用户端生成注册请求消息。
用户选择它的身份IDi及密码PWi,用户端生成一个随机数Ni,计算 Fi=h(IDi||PWi||Ni),通过安全信道发送注册请求消息{IDi,Fi}给服务器。
步骤2.2、服务器为用户分发智能卡。
服务器收到注册请求后,计算Ai=h(x||IDi),
Figure GDA0002444901000000156
服务器把参数 {Bi,Ppub,n}存入一张智能卡,并把智能卡安全的分发给用户。
步骤2.3、用户收到智能卡后,计算Vi=Fimod n,把Vi,Ni存入智能卡中。
第三部分,认证与密钥协商。该部分包含以下步骤:
步骤3.1、用户端验证用户身份密码的有效性,并为用户生成登陆请求消息。
步骤3.1.1、用户把智能卡放入用户端,输入他的身份以及密码,用户端计算
Figure GDA0002444901000000151
验证
Figure GDA0002444901000000152
与Vi是否相等,若相等,代表用户输入的身份与密码是正确的,则执行下一步,否则,方案终止,认证失败。
步骤3.1.2、用户端产生一个随机数N1,计算Ri=N1P,Ci=h(N1PPUB),
Figure GDA0002444901000000153
以Ci为加密密钥运行AES算法加密用户身份及认证值Di,得到密文
Figure GDA0002444901000000154
生成时间戳Ti,把{Li,Ri,Ti}作为登陆请求送给服务器。
步骤3.2、服务器处理用户的登陆请求消息,若确认用户合法,则返回一个回复消息,该回复消息包含服务器的认证信息。
步骤3.2.1、服务器收到用户的登陆请求后,首先验证Ti的有效性,若Ti有效,则执行下一阶段,否则,方案终止,认证失败。
步骤3.2.2、服务器计算C′i=h(xRi),以C′i为密钥解密Li得到
Figure GDA0002444901000000155
计算A′i=h(x||ID′i),D″i=h(A′i||Ri),验证D″i与D′i是否相等,若相等,则相信其为合法用户,执行下一步骤;否则,方案终止,认证失败。
步骤3.2.3、服务器生成随机数N2,计算Zi=N2P,Ki=N2*Ri,计算会话密钥SK=h(Ki||A′i),计算认证值Xi=h(Zi||A′i||C′i||SK).把消息{Zi,Xi}返回给用户。
步骤3.3、用户端对服务器回复的消息进行确认,验证服务器的身份,若服务器身份合法,则根据用户端以及服务器选取的随机数生成其椭圆曲线 Diffie-Hellman密钥交换的值,以及认证阶段服务器通过智能卡分发给用户的认证信息Ai,生成会话密钥,并返回一个确认消息给服务器。
步骤3.3.1、收到服务器的回复消息后,用户端计算K′i=N1*Zi,计算会话密钥
Figure GDA0002444901000000161
计算认证值
Figure GDA0002444901000000162
验证X′i与Xi是否相等。若相等,用户端认为服务器是合法的,并确信它与服务器协商了会话密钥SK,;否则,方案终止,认证失败。
第四部分用户密码更新。该部分包含以下步骤:
步骤4.1、验证用户身份及密码的有效性。
用户把智能卡插入终端,并输入他的身份及密码,用户端计算
Figure GDA0002444901000000163
验证
Figure GDA0002444901000000164
与Vi是否相等。若相等,说明用户拥有正确的身份与密码。要求用户输入他的新密码
Figure GDA0002444901000000165
步骤4.2、用户输入新密码后,用户端根据新密码更新智能卡中对应的参数。
客户端计算
Figure GDA0002444901000000166
Figure GDA0002444901000000167
Figure GDA0002444901000000168
存入智能卡,并从智能卡中删除失效的Bi,Vi
本实施例提供的身份认证及密钥协商方法具有以下优点:
1.在用户端对用户输入的身份与密码采用模糊验证的方式,在智能卡中存储Vi而非Fi,避免因智能卡中存储Fi而导致的离线密码猜测攻击。若智能卡中存有Fi,则在攻破智能卡的情况下,可利用Fi验证猜测的用户身份与密码的正确性而最终试出用户的身份与密码。而所提算法采用模糊验证的方式,在用户与密码为32位时,n为28时,有256个猜测的身份密码对满足
Figure GDA0002444901000000169
从而无法确定用户真实的身份与密码。
2.实现用户与服务器双方身份认证,服务器在注册阶段安全的分发给用户一个认证信息Ai,在登陆与认证阶段用户和服务器通过对认证信息Ai的验证从而确认通信方的真实身份。
3.实现安全会话密钥协商,用户和服务器经过交互协商得到会话密钥
Figure GDA0002444901000000171
为只有用户与服务器知道的认证信息,K′i是用户与服务器通过椭圆曲线Diffie-Hellman密钥交换生成的,K′i保证了生成的会话密钥的前向安全性。
Figure GDA0002444901000000173
保证了生成的会话密钥能够抵抗临时秘密值丢失攻击(N1或N2泄露)。
4.实现用户身份匿名,用户选取随机数N1,计算Ri=N1P,Ci=h(N1PPUB), 其中PPUB为服务器的公钥,只有拥有N1的用户Ui或拥有服务器私钥的合法服务器才能计算出Ci。加密密钥Ci随着用户选取的随机数而改变,每次加密的结果都不相同,保证了用户身份的不可追踪性。在用户端以Ci为AES算法的密钥对用户身份加密,得到
Figure GDA0002444901000000172
服务器通过计算C′i=h(xRi),并解密Li得到用户的真实身份。
本发明实施例中,用户端获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。本发明实施例通过注册阶段生成的身份验证值能够确认用户身份,通过用户端与服务器之间的传递的第一交互值和第二交互值进行会话密钥协商,使得生成的会话密钥具有高安全性,从而提高移动应用签名认证与密钥协商的安全性。
图9为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图。如图9所示,该身份认证与密钥协商装置90应用于用户端,包括:获取模块901、身份验证模块902、交互认证模块903及会话密钥确定模块904。
获取模块901,用于获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值。
身份验证模块902,用于通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值。
交互认证模块903,用于在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端。
会话密钥确定模块904,用于接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
本发明实施例中,用户端获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。本发明实施例通过注册阶段生成的身份验证值能够确认用户身份,通过用户端与服务器之间的传递的第一交互值和第二交互值进行会话密钥协商,使得生成的会话密钥具有高安全性,从而提高移动应用签名的认证与密钥协商方案安全性。
图10为本发明又一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图。如图10所示,本实施例提供的身份认证与密钥协商装置90在图9所示实施例提供的身份认证与密钥协商装置的基础上,还包括:身份注册模块905和密码修改模块906。
可选地,所述身份注册模块905用于:
获取用户输入的待注册身份信息;所述待注册身份信息包括待注册身份标识及待注册身份密码;
生成第三随机数,并根据所述待注册身份信息和所述第三随机数计算哈希值,将包含所述待注册身份标识和所述哈希值的注册请求发送至服务器;所述注册请求用于指示所述服务器根据私钥、所述待注册身份标识和所述哈希值确定服务器预置参数,将所述服务器预置参数存储到所述存储卡;
根据所述哈希值和所述服务器预置参数计算所述注册验证值,将所述第三随机数和所述注册验证值作为所述用户端预置参数存储到所述存储卡。
可选地,所述预置参数包括预置随机数和预置整数,所述身份信息包括身份标识及身份密码;所述获取模块901用于:
根据所述预置参数、所述身份信息和第一公式计算所述验证值;所述第一公式为:
Figure GDA0002444901000000191
其中,
Figure GDA0002444901000000192
为所述验证值,h()为哈希函数,
Figure GDA0002444901000000193
为所述身份标识,
Figure GDA0002444901000000194
为所述身份密码,Ni为所述预置随机数,n为所述预置整数。
可选地,所述预置参数包括预置公钥和第一预置值;所述交互认证模块 903用于:
根据所述预设椭圆曲线群的生成元、第一随机数及第二公式计算所述第一交互值;所述第二公式为:
Ri=N1P
其中,Ri为所述第一交互值,N1为所述第一随机数,P为所述预设椭圆曲线群的生成元;
根据所述第一交互值和第三公式计算所述第一认证值;所述第三公式为:
Figure GDA0002444901000000195
其中,Di为所述第一认证值,
Figure GDA0002444901000000196
Bi为所述第一预置值,
Figure GDA0002444901000000197
根据所述第一随机数和第四公式计算加密密钥;所述第四公式为:
Ci=h(N1PPUB)
其中,Ci为所述加密密钥,PPUB为所述预置公钥;
根据所述加密密钥和高级加密标准算法对所述身份标识和所述第一认证值加密得到密文;
生成时间戳,将包含所述密文、所述时间戳和所述第一交互值的登录请求发送至所述服务器。
可选地,所述会话密钥确定模块904用于:
根据所述第一随机数、所述第二交互值和第五公式计算会话密钥;所述第五公式为:
Figure GDA0002444901000000201
其中,SK为所述会话密钥,K′i=N1*Zi,Zi为所述第二交互值;
根据第六公式计算所述第二认证值对应的验证值;所述第六公式为:
Figure GDA0002444901000000202
其中,X′i为所述第二认证值对应的验证值;
若所述第二认证值对应的验证值与所述第二验证值相等,则判定服务器合法,并将所述会话密钥作为所述用户端与所述服务器之间的会话密钥。
可选地,所述密码修改模块906用于:
在所述身份信息验证通过后,获取用户输入的新身份密码;
根据所述新身份密码和第七公式计算所述新注册认证值;所述第七公式为:
Figure GDA0002444901000000203
其中,
Figure GDA0002444901000000204
为所述新注册认证值,
Figure GDA0002444901000000205
为新身份密码;
根据第八公式计算新第一预置值;所述第八公式为:
Figure GDA0002444901000000206
其中,
Figure GDA0002444901000000207
为所述新第一预置值;
将所述存储卡中存储的注册认证值替换为所述新注册认证值,将所述存储卡中存储的所述第一预置值替换为所述新第一预置值。
本发明实施例提供的身份认证与密钥协商装置,可用于执行上述以用户端为执行主体的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图11为本发明另一实施例提供的适用于移动应用签名的身份认证与密钥协商装置的结构示意图。如图11所示,该身份认证与密钥协商装置110应用于服务器,包括:接收模块1101、判定模块1102、计算模块1103及发送模块1104。
接收模块1101,用于接收用户端发送的包含第一交互值和第一认证值的登录请求;所述一交互值和所述第一认证值为所述用户端根据预设椭圆曲线群的生成元和第一随机数计算得到。
判定模块1102,用于根据所述第一认证值判定用户是否为合法用户。
计算模块1103,用于在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值。
发送模块1104,用于将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;所述回复信息用于指示所述用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥。
可选地,所述登录请求包括对第一认证值和身份标识加密得到的密文、所述第一交互值以及时间戳;所述判定模块1102用于:
判定所述时间戳是否有效;
若所述时间戳有效,则根据私钥、所述第一交互值和第九公式计算解密密钥;所述第九公式为:
C′i=h(xRi)
其中,C′i为所述解密密钥,h()为哈希函数,x为所述私钥,Ri为所述第一交互值;
根据所述解密密钥和高级加密标准算法对所述密文进行解密得到解密出的第一认证值和解密出的身份标识;
根据第十公式计算所述第一认证值对应的验证值;所述第十公式为:
D″i=h(A′i||Ri)
其中,D″i为所述第一认证值对应的验证值,A′i=h(x||ID′i),ID′i为所述解密出的身份标识;
若所述第一认证值对应的验证值与所述第一验证值相等,则判定用户为合法用户。
本发明实施例提供的身份认证与密钥协商装置,可用于执行上述以服务器为执行主体的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图12为本发明一实施例提供的适用于移动应用签名的身份认证与密钥协商设备的硬件结构示意图。如图12所示,本实施例提供的身份认证与密钥协商设备120包括:至少一个处理器1201和存储器1202。该身份认证与密钥协商设备120还包括通信部件1203。其中,处理器1201、存储器1202以及通信部件1203通过总线1204连接。
在具体实现过程中,至少一个处理器1201执行所述存储器1202存储的计算机执行指令,使得至少一个处理器1201执行如上应用于用户端的身份认证与密钥协商方法,或者执行如上应用于服务器的身份认证与密钥协商方法。
处理器1201的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图12所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上应用于用户端的身份认证与密钥协商方法,或者实现如上应用于服务器的身份认证与密钥协商方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器 (SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种适用于移动应用签名的身份认证与密钥协商方法,其特征在于,应用于用户端,包括:
获取用户输入的身份信息,根据智能卡存储的预置参数和所述身份信息计算验证值;
通过对比所述验证值与所述智能卡存储的注册验证值对所述身份信息进行验证;所述注册验证值为用户进行身份注册时生成的身份验证值;
在所述身份信息验证通过后,生成第一随机数,并根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器;所述登录请求用于指示所述服务器根据所述第一认证值判定用户是否为合法用户,并在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值,将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;
接收所述回复消息,并根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥;
其中,所述预置参数包括预置随机数和预置整数,所述身份信息包括身份标识及身份密码;
所述根据智能卡存储的预置参数和所述身份信息计算验证值,包括:
根据所述预置参数、所述身份信息和第一公式计算所述验证值;所述第一公式为:
Figure FDA0002444900990000011
其中,Vi *为所述验证值,h()为哈希函数,IDi *为所述身份标识,PWi *为所述身份密码,Ni为所述预置随机数,n为所述预置整数。
2.根据权利要求1所述的方法,其特征在于,所述预置参数包括服务器预置参数和用户端预置参数,在所述获取用户输入的身份信息之前,还包括:
获取用户输入的待注册身份信息;所述待注册身份信息包括待注册身份标识及待注册身份密码;
生成第三随机数,并根据所述待注册身份信息和所述第三随机数计算哈希值,将包含所述待注册身份标识和所述哈希值的注册请求发送至服务器;所述注册请求用于指示所述服务器根据私钥、所述待注册身份标识和所述哈希值确定服务器预置参数,将所述服务器预置参数存储到所述智能卡;
根据所述哈希值和所述服务器预置参数计算所述注册验证值,将所述第三随机数和所述注册验证值作为所述用户端预置参数存储到所述智能卡。
3.根据权利要求1所述的方法,其特征在于,所述预置参数包括预置公钥和第一预置值;
所述根据预设椭圆曲线群的生成元和所述第一随机数计算第一交互值和第一认证值,将包含所述第一交互值和所述第一认证值的登录请求发送至服务器,包括:
根据所述预设椭圆曲线群的生成元、第一随机数及第二公式计算所述第一交互值;所述第二公式为:
Ri=N1P
其中,Ri为所述第一交互值,N1为所述第一随机数,P为所述预设椭圆曲线群的生成元;
根据所述第一交互值和第三公式计算所述第一认证值;所述第三公式为:
Figure FDA0002444900990000021
其中,Di为所述第一认证值,
Figure FDA0002444900990000022
Bi为所述第一预置值,
Figure FDA0002444900990000023
根据所述第一随机数和第四公式计算加密密钥;所述第四公式为:
Ci=h(N1PPUB)
其中,Ci为所述加密密钥,PPUB为所述预置公钥;
根据所述加密密钥和高级加密标准算法对所述身份标识和所述第一认证值加密得到密文;
生成时间戳,将包含所述密文、所述时间戳和所述第一交互值的登录请求发送至所述服务器。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥,包括:
根据所述第一随机数、所述第二交互值和第五公式计算会话密钥;所述第五公式为:
Figure FDA0002444900990000024
其中,SK为所述会话密钥,K′i=N1*Zi,Zi为所述第二交互值;
根据第六公式计算所述第二认证值对应的验证值;所述第六公式为:
Figure FDA0002444900990000031
其中,X′i为所述第二认证值对应的验证值;
若所述第二认证值对应的验证值与所述第二认证值相等,则判定服务器合法,并将所述会话密钥作为所述用户端与所述服务器之间的会话密钥。
5.根据权利要求3所述的方法,其特征在于,还包括:
在所述身份信息验证通过后,获取用户输入的新身份密码;
根据所述新身份密码和第七公式计算新注册认证值;所述第七公式为:
Figure FDA0002444900990000032
其中,Vi new为所述新注册认证值,PWi new为新身份密码;
根据第八公式计算新第一预置值;所述第八公式为:
Figure FDA0002444900990000033
其中,
Figure FDA0002444900990000034
为所述新第一预置值;
将所述存储卡中存储的注册认证值替换为所述新注册认证值,将所述存储卡中存储的所述第一预置值替换为所述新第一预置值。
6.一种适用于移动应用签名的身份认证与密钥协商方法,应用于服务器,其特征在于,包括:
接收用户端发送的包含第一交互值和第一认证值的登录请求;所述第一交互值和所述第一认证值为所述用户端根据预设椭圆曲线群的生成元和第一随机数计算得到;
根据所述第一认证值判定用户是否为合法用户;
在判定用户为合法用户后,生成第二随机数,根据所述第二随机数、所述预设椭圆曲线群的生成元和所述第一交互值计算第二交互值和第二认证值;
将包含所述第二交互值和所述第二认证值的回复消息发送至所述用户端;所述回复消息用于指示所述用户端根据所述第一随机数、所述第二交互值和所述第二认证值验证服务器身份以及确定会话密钥;
其中,所述登录请求包括对第一认证值和身份标识加密得到的密文、所述第一交互值以及时间戳;
所述根据所述第一认证值判定用户是否为合法用户包括:
判定所述时间戳是否有效;
若所述时间戳有效,则根据私钥、所述第一交互值和第九公式计算解密密钥;所述第九公式为:
C′i=h(xRi)
其中,C′i为所述解密密钥,h()为哈希函数,x为所述私钥,Ri为所述第一交互值;
根据所述解密密钥和高级加密标准算法对所述密文进行解密得到解密出的第一认证值和解密出的身份标识;
根据第十公式计算所述第一认证值对应的验证值;所述第十公式为:
D″i=h(A′i||Ri)
其中,D″i为所述第一认证值对应的验证值,A′i=h(x||ID′i),ID′i为所述解密出的身份标识;
若所述第一认证值对应的验证值与所述第一认证值相等,则判定用户为合法用户。
7.一种适用于移动应用签名的身份认证与密钥协商设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的身份认证与密钥协商方法。
8.一种适用于移动应用签名的身份认证与密钥协商设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求6所述的身份认证与密钥协商方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的适用于移动应用签名的身份认证与密钥协商方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求6所述的适用于移动应用签名的身份认证与密钥协商方法。
CN201910197222.XA 2019-03-15 2019-03-15 适用于移动应用签名的身份认证与密钥协商方法及设备 Active CN109714167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910197222.XA CN109714167B (zh) 2019-03-15 2019-03-15 适用于移动应用签名的身份认证与密钥协商方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910197222.XA CN109714167B (zh) 2019-03-15 2019-03-15 适用于移动应用签名的身份认证与密钥协商方法及设备

Publications (2)

Publication Number Publication Date
CN109714167A CN109714167A (zh) 2019-05-03
CN109714167B true CN109714167B (zh) 2020-08-25

Family

ID=66266894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910197222.XA Active CN109714167B (zh) 2019-03-15 2019-03-15 适用于移动应用签名的身份认证与密钥协商方法及设备

Country Status (1)

Country Link
CN (1) CN109714167B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014376B (zh) * 2019-12-21 2022-06-14 浙江宇视科技有限公司 一种用户与服务器之间安全认证的方法
CN111277583B (zh) * 2020-01-15 2022-02-25 东方红卫星移动通信有限公司 一种移动云计算的监控系统身份认证方法
CN113765856B (zh) * 2020-06-04 2023-09-08 中移(成都)信息通信科技有限公司 身份认证方法、装置、设备和介质
CN111708762B (zh) * 2020-06-18 2023-09-01 北京金山云网络技术有限公司 一种权限认证方法、装置及服务端设备
CN114079921B (zh) * 2020-08-04 2023-10-03 中国电信股份有限公司 会话密钥的生成方法、锚点功能网元以及系统
CN112182540B (zh) * 2020-10-14 2023-01-24 中国联合网络通信集团有限公司 一种身份验证方法及装置
CN114598454B (zh) * 2020-12-03 2023-11-21 中移(成都)信息通信科技有限公司 密钥生成及身份认证方法、装置、设备及计算机存储介质
CN112487380B (zh) * 2020-12-16 2024-04-05 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质
CN112688941B (zh) * 2020-12-23 2022-05-31 湖北工业大学 一种电子医疗认证与密钥协商方法及终端设备及存储介质
CN113660233A (zh) * 2021-08-09 2021-11-16 华北电力科学研究院有限责任公司 一种设备交互方法、装置、电子设备和计算机存储介质
CN114338071A (zh) * 2021-10-28 2022-04-12 中能电力科技开发有限公司 一种基于风电场通信的网络安全身份认证方法
CN114401153B (zh) * 2022-03-24 2022-06-24 科大天工智能装备技术(天津)有限公司 一种智慧井盖设备的认证方法及系统
CN114679268B (zh) * 2022-03-29 2023-07-21 湖北工业大学 无人机间相互认证与密钥协商的方法、可存储介质
CN115065559B (zh) * 2022-08-15 2022-12-27 浙江毫微米科技有限公司 一种身份认证系统、方法、装置、电子设备及存储介质
CN115580415B (zh) * 2022-12-12 2023-03-31 南方电网数字电网研究院有限公司 区块链中数据交互认证方法、装置与系统
CN116170144B (zh) * 2023-04-25 2023-07-11 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 智能电网匿名认证方法、电子设备及存储介质
CN117834138A (zh) * 2024-03-04 2024-04-05 北卡科技有限公司 一种适用于即时通信的密钥协商方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483195A (zh) * 2017-09-08 2017-12-15 哈尔滨工业大学深圳研究生院 物联网环境下安全的双方认证与密钥协商协议
US10158636B2 (en) * 2015-11-26 2018-12-18 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for setting up a secure end-to-end communication between a user terminal and a connected object
CN109088888A (zh) * 2018-10-15 2018-12-25 山东科技大学 一种基于智能卡的安全通信方法及其系统
CN109412790A (zh) * 2018-10-26 2019-03-01 重庆邮电大学 一种面向物联网的用户认证与密钥协商系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697540B (zh) * 2009-10-15 2012-08-15 浙江大学 一种p2p服务请求用户身份认证方法
CN103338201B (zh) * 2013-07-02 2016-06-08 山东科技大学 一种多服务器环境下注册中心参与的远程身份认证方法
SG10201806366TA (en) * 2015-03-25 2018-08-30 Sixscape Communications Pte Ltd Apparatus and method for managing digital certificates
US10104545B2 (en) * 2016-11-02 2018-10-16 National Chin-Yi University Of Technology Computer-implemented anonymity authentication method for wireless sensor networks
CN106789042B (zh) * 2017-02-15 2019-12-31 西南交通大学 Ibc域内的用户访问pki域内的资源的认证密钥协商方法
JP6991773B2 (ja) * 2017-07-31 2022-01-13 キヤノン株式会社 システム、デバイス管理システム、及びその方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158636B2 (en) * 2015-11-26 2018-12-18 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for setting up a secure end-to-end communication between a user terminal and a connected object
CN107483195A (zh) * 2017-09-08 2017-12-15 哈尔滨工业大学深圳研究生院 物联网环境下安全的双方认证与密钥协商协议
CN109088888A (zh) * 2018-10-15 2018-12-25 山东科技大学 一种基于智能卡的安全通信方法及其系统
CN109412790A (zh) * 2018-10-26 2019-03-01 重庆邮电大学 一种面向物联网的用户认证与密钥协商系统及方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《A secure and efficient identity-based mutual authentication scheme with smart card using elliptic curve cryptography》;Min Luo et al.;《International Journal of COMMUNICATION SYSTEMS》;20170523;第30卷(第16期);全文 *
《DYNAMIC ID-BASED REMOTE USER MUTUAL AUTHENTICATION SCHEME WITH SMARTCARD USING ELLIPTIC CURVE CRYPTOGRAPHY》;SK Hafizul Islam et al.;《JOURNAL OF ELECTRONICS (CHINA)》;20141018;第31卷(第5期);全文 *
《Robust anonymous two-factor authenticated key exchange scheme for mobile client-server environment》;Yanrong Lu et al.;《SECURITY AND COMMUNICATION NETWORKS》;20160111;第9卷(第11期);正文4-6节 *
《Security analysis and design of an efficient ECC-based two-factor password authentication scheme》;Tanmoy Maitra et al.;《SECURITY AND COMMUNICATION NETWORKS》;20160824;第9卷(第17期);正文2-6节 *
Tanmoy Maitra et al..《Security analysis and design of an efficient ECC-based two-factor password authentication scheme》.《SECURITY AND COMMUNICATION NETWORKS》.2016,第9卷(第17期), *

Also Published As

Publication number Publication date
CN109714167A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
Amin et al. A light weight authentication protocol for IoT-enabled devices in distributed Cloud Computing environment
US8930704B2 (en) Digital signature method and system
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
CN107360571B (zh) 在移动网络中的匿名相互认证和密钥协商协议的方法
US9531540B2 (en) Secure token-based signature schemes using look-up tables
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN109981562B (zh) 一种软件开发工具包授权方法及装置
WO2004046849A2 (en) Cryptographic methods and apparatus for secure authentication
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN114520976B (zh) 用户身份识别卡的认证方法及装置、非易失性存储介质
CN110958209B (zh) 基于共享密钥的双向认证方法及系统、终端
CN113824570B (zh) 一种基于区块链的安全终端的认证方法和系统
WO2019110399A1 (en) Two-party signature device and method
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统
Feng et al. Anonymous authentication on trust in pervasive social networking based on group signature
CN107248997B (zh) 多服务器环境下基于智能卡的认证方法
CN110176989B (zh) 基于非对称密钥池的量子通信服务站身份认证方法和系统
Amintoosi et al. TAMA: three-factor authentication for multi-server architecture
Yao et al. An inter-domain authentication scheme for pervasive computing environment
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN113545004A (zh) 具有减少攻击面的认证系统
CN115955320A (zh) 一种视频会议身份认证方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法

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