一种移动App登录方法、移动设备及系统技术方案

技术编号:35119586 阅读:26 留言:0更新日期:2022-10-05 09:48
本申请实施例提供了一种移动App登录方法、移动设备及系统,涉及终端技术领域。电子设备接收移动App的用户名和登录密码,获取在TEE中生成和保存的自动登录密钥对,向服务器提交包括用户名,登录密码和自动登录密钥对的公钥的第一登录请求;服务器根据第一登录请求生成自动登录凭据并发送给电子设备;电子设备响应于用户打开移动App的操作,向服务器提供第二登录请求,第二登录请求包括第一签名结果和自动登录凭据;第一签名结果是采用私钥对电子设备的本地时间戳签名得到;服务器根据第二登录请求的自动登录凭据中的公钥验证第一签名结果,若验证通过,登录移动App成功。这样,能够降低认证凭据泄露风险,增强移动App登录过程安全性。全性。全性。

【技术实现步骤摘要】
一种移动App登录方法、移动设备及系统


[0001]本申请涉及终端
,尤其涉及一种移动App登录方法、移动设备及系统。

技术介绍

[0002]很多移动应用程序(application,App)需要登录用户账号,确定用户的身份之后才能使用。这些移动App通常分为服务端和客户端。在客户端输入用户名和登录密码后,将用户名和登录密码提交到服务端进行认证。认证通过后,客户端和服务端在一定时间段内会保持用户的登录状态。很多移动App设计成用户账号长期处于登录状态,以避免用户每次打开应用程序时都输入一遍用户名和登录密码。为了让移动App长期保持登录状态,通常在客户端设备中保存认证凭据,供服务端认证客户端的身份。
[0003]由于客户端设备有被黑客入侵的风险,保存在客户端设备上的认证凭据存在泄漏风险。如果黑客在其他设备上仿冒用户身份,会对用户造成损失。因此,如何防止认证凭据泄漏,是亟待解决的问题。

技术实现思路

[0004]本申请实施例提供一种移动App登录方法、移动设备及系统,能够降低认证凭据泄露风险,增强移动App登录过程安全性。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,本申请提供一种移动App登录方法,应用于电子设备,电子设备包括可信执行环境TEE,该方法包括:电子设备接收用户输入的移动应用程序App的用户名和登录密码;电子设备生成自动登录密钥对;自动登录密钥对包括公钥和私钥,自动登录密钥对由TEE生成和保存;电子设备向服务器发送第一登录请求,第一登录请求用于请求登录移动App;第一登录请求包括用户名,登录密码和公钥;电子设备接收自动登录凭据;自动登录凭据是根据用户名和公钥生成的;电子设备接收用户打开移动App的操作;响应于打开移动App的操作,电子设备向服务器发送第二登录请求,第二登录请求用于请求登录移动App;第二登录请求包括第一签名结果和自动登录凭据,第一签名结果是采用私钥对电子设备的本地时间戳进行签名生成的;自动登录凭据用于验证第一签名结果。
[0007]在该方法中,在电子设备的TEE中生成和保存不可导出的自动登录密钥对,并向服务器提交用户名、登录密码以及自动登录密钥对的公钥后,接收自动登录凭据。自动登录凭据将自动登录密钥对和用户身份信息进行了绑定,把对用户身份的认证转化为对自动登录密钥对的认证。这样,即使REE被入侵,只要TEE未被攻破,用户的身份信息便无法被窃取。利用了TEE中自动登录密钥对的不可导出防止了用户的登录凭据被窃取,增强了移动App登录过程的安全性,降低了认证凭据被泄漏的风险。
[0008]结合第一方面,在一种可能的实现方式中,该方法还包括:电子设备从服务器接收会话标识,会话标识为电子设备与服务器之间传输数据的凭证。
[0009]也就是说,手动登录和每次自动登录时都产生新的会话标识,会话标识的保存时
间可以设置的较短;比如,会话标识只在用户登录移动App到关闭移动App的期间保存;会话标识保存的时间较短。这样,会话标识可以保存在移动设备的内存中;相对于较长时间得将会话标识保存在磁盘中,更安全。
[0010]结合第一方面,在一种可能的实现方式中,该方法还包括:第二登录请求还包括电子设备的本地时间戳。
[0011]结合第一方面,在一种可能的实现方式中,该方法还包括:电子设备从服务器接收该服务器的当前时间;电子设备向服务器发送第三登录请求,第三登录请求包括服务器的当前时间,第二签名结果和自动登录凭据;第二签名结果是采用私钥对服务器的当前时间进行签名生成的。这样,可实现移动设备时间不准确情况下的容错处理。容错处理的登录流程和正常的登录流程相同,可以简化服务端程序的开发工作和空间占用。
[0012]结合第一方面,在一种可能的实现方式中,该方法还包括:在电子设备向服务器发送第二登录请求之前,电子设备对用户进行生物特征验证,生物特征验证包括指纹识别,面部识别,虹膜识别中至少一项。这样,在每次登录移动App过程中均可验证用户身份,即使移动设备丢失或被其他人临时借用,也无法冒用用户身份登录移动App,提高了移动App登录安全性。
[0013]第二方面,本申请实施例提供一种移动App登录方法,该方法包括:服务器接收第一登录请求,第一登录请求用于请求登录移动App;第一登录请求包括移动App的用户名和登录密码以及自动登录密钥对的公钥;服务器根据用户名和公钥生成自动登录凭据;服务器向电子设备发送自动登录凭据;服务器接收第二登录请求,第二登录请求用于请求登录移动App;第二登录请求包括签名结果和自动登录凭据,签名结果为采用自动登录密钥对的私钥对电子设备的本地时间戳进行签名得到的;服务器解密自动登录凭据,验证该自动登录凭据的完整性;如果验证自动登录凭据的完整性通过,服务器根据自动登录凭据获取公钥,根据公钥对签名结果进行验证;如果根据公钥对签名结果进行验证通过,服务器确定登录移动App成功。
[0014]在该方法中,服务器根据第一登录请求将用户名与自动登录密钥对进行绑定,生成自动登录凭据,发送给电子设备。并利用自动登录凭据中自动登录密钥对的公钥验证签名结果,把对用户身份的认证转化为对自动登录密钥对的认证,防止了用户的登录凭据被窃取,增强了移动App登录过程的安全性,降低了认证凭据被泄漏的风险。这样,服务器侧也不需要存储和查找用户身份信息与自动登录密钥对的绑定关系。降低了自动登录过程中服务器的数据检索时间和数据存储空间,登录效率不受用户规模的影响。可以在用户规模比较大的场景下,提升登录过程的效率。
[0015]结合第二方面,在一种可能的实现方式中,该方法还包括:服务器根据用户名和公钥生成自动登录凭据包括:服务器对用户名和公钥进行加密,生成自动登录凭据。
[0016]在一种可能的设计方式中,密钥模块采用对称加密密钥进行加密,并使用带额外认证数据的认证加密(authenticated encryption with associated data,AEAD)模式,如GCM(Galois/counter mode)、CCM(counter mode with CBC

MAC)模式。这样,可以同时保证被加密数据的机密性和完整性。
[0017]结合第二方面,在一种可能的实现方式中,该方法还包括:在根据公钥对签名结果进行验证之前,验证签名结果在服务器不存在。
[0018]也就是说,将电子设备提交的签名结果作为防重放攻击的检查项,可以实现对重放攻击的有效检测。若在服务器检测到签名结果不存在,则认为不是重放攻击,这样既能保证准确性,又不需要引入额外的信息。
[0019]结合第二方面,在一种可能的实现方式中,该方法还包括:服务器包括一个或多个布隆过滤器,一个布隆过滤器用于存储一个时间范围内的签名结果;第二登录请求还包括电子设备的本地时间戳;验证签名结果在服务器不存在,包括:根据第二登录请求中电子设备的本地时间戳获取一个或多个布隆过滤器中第一布隆过滤器;验证第二登录请求中签名本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动App登录方法,应用于电子设备,所述电子设备包括可信执行环境TEE,其特征在于,所述方法包括:所述电子设备接收用户输入的移动应用程序App的用户名和登录密码;所述电子设备生成自动登录密钥对;所述自动登录密钥对包括公钥和私钥,所述自动登录密钥对由所述TEE生成和保存;所述电子设备向服务器发送第一登录请求,所述第一登录请求用于请求登录移动App;所述第一登录请求包括所述用户名,登录密码和所述公钥;所述电子设备接收自动登录凭据;所述自动登录凭据是根据所述用户名和所述公钥生成的;所述电子设备接收用户打开所述移动App的操作;响应于所述打开所述移动App的操作,所述电子设备向所述服务器发送第二登录请求,所述第二登录请求用于请求登录移动App;所述第二登录请求包括第一签名结果和所述自动登录凭据,所述第一签名结果是采用所述私钥对所述电子设备的本地时间戳进行签名生成的;所述自动登录凭据用于验证所述第一签名结果。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述电子设备从所述服务器接收会话标识,所述会话标识为所述电子设备与所述服务器之间传输数据的凭证。3.根据权利要求1或2所述的方法,其特征在于,所述第二登录请求还包括所述电子设备的本地时间戳。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述电子设备从所述服务器接收所述服务器的当前时间;所述电子设备向所述服务器发送第三登录请求,所述第三登录请求包括所述服务器的当前时间,第二签名结果和自动登录凭据;所述第二签名结果是采用所述私钥对服务器的当前时间进行签名生成的。5.根据权利要求1

4任意一项所述的方法,其特征在于,在所述电子设备向所述服务器发送第二登录请求之前,所述方法还包括:所述电子设备对用户进行生物特征验证,所述生物特征验证包括指纹识别,面部识别,虹膜识别中至少一项。6.一种移动App登录方法,其特征在于,所述方法包括:服务器接收第一登录请求,所述第一登录请求用于请求登录移动App;所述第一登录请求包括所述移动App的用户名和登录密码,以及自动登录密钥对的公钥;所述服务器根据所述用户名和所述公钥生成自动登录凭据;所述服务器向电子设备发送所述自动登录凭据;所述服务器接收第二登录请求,所述第二登录请求用于请求登录移动App;所述第二登录请求包括签名结果和所述自动登录凭据,所述签名结果为采用自动登录密钥对的私钥对电子设备的本地时间戳进行签名得到的;所述服务器解密所述自动登录凭据,验证所述自动登录凭据的完整性;如果验证所述自动登录凭据的完整性通过,所述服务器根据所述自动登录凭据获取所述公钥,根据所述公钥对所述签名结果进行验证;
如果根据所述公钥对所述签名结果进行验证通过,所述服务器确定登录所述移动App成功。7.根据权利要求6所述的方法,其特征在于,所述服务器根据所述用户名和所述公钥生成自动登录凭据包括:所述服务器对所述用户名和所述公钥进行加密,生成自动登录凭据。8.根据权利要求6或7所述的方法,其特征在于,在所述根据所述公钥对所述签名结果进行验证之前,所述方法还包括:验证所述签名结果在所述服务器不存在。9.根据权利要求8所述的方法,其特征在于,所述服务器包括一个或多个布隆过滤器,一个所述布隆过滤器用于存储一个时间范围内的签名结果;所述第二登录请求还包括所述电子设备的本地时间戳;所述验证所述签名结果在所述服务器不存在,包括:根据所述第二登录请求中电子设备的本地时间戳获取所述一个或多个布隆过滤器中第一布隆过滤器;验证所述第二登录请求中签名结果在所述第一布隆过滤器中不存在。10.根据权利要求9所述的方法,其特征在于,在根据所述第二登录请求中电子设备的本地时间戳获取所述一个或多个布隆过滤器中第一布隆过滤器之前,所述方法还包括:确定所述第二登录请求中电子设备的本地时间戳与所述服务器的当前时间之间的差值小于设定的时间误差范围。11.根据权利要求8所述的方法,其特征在于,所述方法还包括:如果所述第二登录请求中电子设备的本地时间戳与所述服务器的当前时间之间的差值大于或等于设定的时间误差范围,所述服务器向所述电子设备发送所述服务器的当前时间。12.根据权利要求6

11任意一项所述的方法,其特征在于,在所述服务器根据所述用户名和所述公钥生成自动登录凭据之前,所述方法还包括:所述服务器对所述用户名和登录密码进行验证。13.根据权利要求6

12任意一项所述的方法,其特征在于,所述服务器确定登录所述移动App成功后,所述方法还包括:所述服务器向所述电子设备发送会话标识,所述会话标识为所述电子设备与所述服...

【专利技术属性】
技术研发人员:李赤阳
申请(专利权)人:花瓣云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1