CN116455605A - 一种基于可信执行环境的账号数据交互方法 - Google Patents

一种基于可信执行环境的账号数据交互方法 Download PDF

Info

Publication number
CN116455605A
CN116455605A CN202310239312.7A CN202310239312A CN116455605A CN 116455605 A CN116455605 A CN 116455605A CN 202310239312 A CN202310239312 A CN 202310239312A CN 116455605 A CN116455605 A CN 116455605A
Authority
CN
China
Prior art keywords
account
execution environment
application
trusted
target application
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.)
Pending
Application number
CN202310239312.7A
Other languages
English (en)
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202310239312.7A priority Critical patent/CN116455605A/zh
Publication of CN116455605A publication Critical patent/CN116455605A/zh
Priority to PCT/CN2023/139404 priority patent/WO2024187871A1/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例公开了一种基于可信执行环境的账号数据交互方法,应用于安装有目标应用程序的宿主终端,包括:目标应用程序发起账号登录请求,并将所述请求传输至运行于可信执行环境中的可信应用中;所述可信应用获取所述目标应用程序的应用身份信息,并发送更新后携带所述应用身份信息的账号登录请求至账号服务器;在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序;所述目标应用程序基于所述令牌信息执行账号登录。相应地,本说明书实施例公开了基于可信执行环境的账号数据交互装置。

Description

一种基于可信执行环境的账号数据交互方法
技术领域
本说明书实施例涉及一种数据交互方法,尤其涉及一种基于可信执行环境的账号数据交互方法。
背景技术
当前,用户授权登录服务可以通过常用的通信协议服务于网页端的用户授权模块,而在移动端,账号管理服务器通过适配网页端使用的协议来支持用户登录服务的过程中存在一定的安全隐患。当前获取账号登录的大体流程为,移动端的商户App向账号管理服务器发起账号登录请求,账号管理服务器确认请求后返回令牌信息,商户服务器根据此令牌信息进行用户认证与登录。然而运营商在外部商户App中的存在形式只是一个三方软件开发工具包,或者说是一段代码,不存在辨别恶意攻击的能力。换言之,攻击者可以在用户无意识的情况下,通过欺骗账户管理服务器窃取到令牌信息,即用户授权凭证,从而在攻击者自己的设备上登录受害者的账号,盗用正常用户在合法App中的身份和利益。
鉴于此,希望获得一种更可靠的获取用户授权的方案,使得用户取号登录的过程中能够抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
发明内容
本说明书实施例的目的之一在于提供一种基于可信执行环境的账号数据交互方法,该方法利用移动设备中通用的可信执行环境TEE,加固现行存在安全瑕疵的运营商取号登录服务,要求目标应用程序的身份必须经过核实,且TEE为整体链路提供了安全保证,从而有效抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
基于上述发明目的,本说明书实施例提出了一种基于可信执行环境的账号数据交互方法,应用于安装有目标应用程序的宿主终端,所述宿主终端包括可信执行环境,所述方法包括:
所述目标应用程序发起账号登录请求,并将账号登录请求传输至可信应用,所述可信应用运行于所述可信执行环境中;
所述可信应用获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息;
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序;
所述目标应用程序基于所述令牌信息执行账号登录。
在本说明书实施例中,通过可信应用TA代理发送账号登录请求,使得运营商后端的账号服务器能够在进行取号登录服务时安全地识别并核实目标应用程序的身份,从而检测到恶意App的攻击意图;由于TEE提供了硬件层的防护,保障了可信应用与账号服务器之间的加密通信,为整体链路提供了安全保证,从而能有效抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
进一步地,所述可信应用获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器的步骤包括:
所述可信应用获取所述目标应用程序的应用身份信息以及所述目标应用程序的应用凭证,并发送更新后的账号登录请求至所述账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息以及所述应用凭证,所述账号服务器根据所述应用身份信息以及所述应用凭证的映射关系对所述应用身份信息进行验证。
进一步地,所述目标应用程序将账号登录请求传输至可信应用之后,所述方法还包括:
所述可信应用获取所述目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在所述账号服务器对所述加签的账号登录请求进行解密后,对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序;
所述目标应用程序基于所述令牌信息执行账号登录。
需要说明的是,可信执行环境TEE中的可信应用TA预置了密钥来支持与账号服务器的加密通信,确保了通信环境的可靠性。
进一步地,在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序的步骤包括:
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器加密后发送的令牌信息;
对所述加密的令牌信息进行解密后,将所述令牌信息传递至所述目标应用程序。
进一步地,所述可信应用获取所述宿主终端对应的账号凭证,并将所述令牌信息与所述账号凭证进行对应关联。
即使攻击者可以事先伪造可信应用的请求并发送给账号服务器,也能通过令牌信息获取关联的账号凭证,从而检测出宿主终端的身份,规避潜在的换端钓鱼攻击。该过程为原子操作,无法被外界干扰和控制,可以作为第二维度的安全检测。其中,账号凭证包括移动设备的SIM卡信息。
进一步地,所述目标应用程序发起账号登录请求之前,所述方法还包括:
所述目标应用程序向所述账号服务器发起初始化请求;
基于所述账号服务器对所述初始化请求的响应,所述目标应用程序接收来自所述账号服务器发送的账号信息;
基于所述目标应用程序对所述账号信息的确认,发起账号登录请求。
进一步地,所述目标应用程序基于所述令牌信息执行账号登录的步骤包括:
所述目标应用程序向目标应用服务器发送所述令牌信息,其中,所述目标应用服务器基于所述令牌信息向所述账号服务器进行账号请求并基于请求到的所述账号执行账号登录。
本说明书实施例的另一目的在于提供一种基于可信执行环境的账号数据交互装置,该装置利用移动设备中通用的可信执行环境TEE,加固现行存在安全瑕疵的运营商取号登录服务,要求目标应用程序的身份必须经过核实,且TEE提供了硬件层的防护,为整体链路提供了安全保证,从而有效抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
基于上述目的,本说明书实施例还提供了一种基于可信执行环境的账号数据交互装置,其包括普通执行环境模块和可信执行环境模块,目标应用程序运行于所述普通执行环境模块中,所述可信应用运行于所述可行执行环境模块,
所述普通执行环境模块用于发起对应于所述目标应用程序的账号登录请求,并将账号登录请求传输至可信应用;
所述可信执行环境模块用于获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息;
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述普通执行环境模块;
所述普通执行环境模块基于所述令牌信息执行账号登录。
进一步地,所述可信执行环境模块还用于获取所述目标应用程序的应用身份信息以及所述目标应用程序的应用凭证,并发送更新后的账号登录请求至所述账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息以及所述应用凭证,所述账号服务器根据所述应用身份信息以及所述应用凭证的映射关系对所述应用身份信息进行验证。
进一步地,所述可信执行环境模块还用于获取所述目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在所述账号服务器对所述加签的账号登录请求进行解密后,对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述普通执行环境模块;
所述普通执行环境模块基于所述令牌信息执行账号登录。
进一步地,在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器加密后发送的令牌信息;
所述可信执行环境模块对所述加密的令牌信息进行解密后,将所述令牌信息传递至所述普通执行环境模块。
进一步地,所述可信执行环境模块还用于获取所述宿主终端对应的账号凭证,并将所述令牌信息与所述账号凭证进行对应关联。
进一步地,所述普通执行环境模块还用于向所述账号服务器发起初始化请求;
基于所述账号服务器对所述初始化请求的响应,所述普通执行环境模块接收来自所述账号服务器发送的账号信息;
基于所述普通执行环境模块对所述账号信息的确认,发起账号登录请求。
进一步地,所述普通执行环境模块还用于向目标应用服务器发送所述令牌信息,其中,所述目标应用服务器基于所述令牌信息向所述账号服务器进行账号请求并基于请求到的所述账号执行账号登录。
本说明书实施例的又一目的在于提供一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本说明书实施例的又一目的在于提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任意一项所述的方法。
本说明书实施例所述的基于可信执行环境的账号数据交互方法具有以下
有益效果:
通过可信应用TA代理发送账号登录请求,使得账号服务器能够在进行取号登录服务时安全地识别并核实目标应用程序的身份,从而检测到恶意App的攻击意图;由于TEE提供了硬件层的防护,保障了可信应用与账号服务器之间的加密通信,为整体链路提供了安全保证,从而能有效抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
通过获取宿主终端对应的账号凭证,并将其与令牌信息进行关联,提供了第二维度的安全检测。即使攻击者可以事先伪造可信应用的请求并发送给账号服务器,也能通过令牌信息获取关联的账号凭证,从而检测出宿主终端的身份,规避潜在的换端钓鱼攻击,且该过程为原子操作,无法被外界干扰和控制。
附图说明
图1示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下的应用场景图。
图2示例性地显示了当前的取号登录方法在一种实施方式下的步骤示意图。
图3示例性地显示了攻击者利用当前的取号登录方法窃取用户信息的步骤示意图。
图4示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下执行的步骤。
图5示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下的流程示意图。
图6示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互装置在一种实施方式下的结构示意图。
具体实施方式
下面将结合说明书附图和具体的实施例来对本说明书实施例所述的基于可信执行环境的账号数据交互方法及装置进行进一步地详细说明,但是该详细说明不构成对本说明书实施例的限制。
图1示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下的应用场景图。
本说明书实施例可以应用在对账户安全性要求较高的各类型应用平台,例如,用于读取机密性较高的文件或者资料的平台或者涉及大额交易的平台。在该类平台上,又存在一些风险较高的操作,例如,对于财务交易平台,修改支付密码、换绑账号对应的手机号、大额资金交易、自助权限修改与接触等,都是会给账户安全带来严重后果的操作。因此,平台对该类操作的安全管控较为严格。
如图1所示,在一些实施例中,终端可以是移动设备,宿主商户App作为目标应用程序安装在终端上,用户通过终端发起登录操作。运营商服务器为运营商后端的账号服务器,存储了商户App的应用信息;用户发起“一键登录”请求后,由商户App向账号服务器发送账号登录请求,并接收账号服务器返回的令牌信息,作为用户授权凭证;宿主商户App再将该令牌信息返回至商户服务器。商户服务器通过该令牌信息向账号服务器核销账号登录请求,获得用户账号信息,完成账号登录。
需要注意的是,附图中框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,描述于本说明书实施例中所涉及到的模块既可通过软件的方式实现,也可通过硬件的方式来实现。
当前,运营商提供的“本机号码一键登录服务”主要基于OAuth2.0协议,该协议的原始设计目标是为了服务于网页端的用户授权取号登录模块,而在移动端,运营商通过适配OAuth2.0协议来支持用户登录服务的过程中存在一定的安全隐患。
图2示例性地显示了当前的取号登录方法在一种实施方式下的步骤示意图。
如图2所示的,当前取号登录的大体流程为,商户App作为用户想要登录的目标应用程序,向运营商后端的账号服务器发起初始化请求后接收用户的手机号并进行掩码操作,由用户发起授权请求,目标应用程序向账号服务器发送账号登录请求,该请求中包含了目标应用程序的应用身份信息例如appid以及应用凭证appkey,接着接收从账号服务器返回的令牌信息作为用户授权凭据,并发送至商户服务器;商户服务器作为目标应用服务器,根据此令牌信息向账号服务器核销账号登录请求从而获取当前用户的手机号,继而通过该手机号来进行用户的认证,完成用户登录。
然而账号服务器在外部目标应用程序中的存在形式只是一个三方软件开发工具包,或者说是一段代码,无法精确获取目标应用程序的身份。因此运营商后端的账号服务器只能接收目标应用程序发起的初始化请求中的信息,而无法对目标应用程序的真实身份进行安全认证,进而导致账号风险问题。
图3示例性地显示了攻击者利用当前的取号登录方法窃取用户信息的步骤示意图。
如图3所示的,攻击者可以窃取合法的商户App使用的应用身份信息例如appid以及应用凭证appkey,在用户无意识的情况下,通过在用户设备上安装恶意App,并伪装成合法的商户App向运营商后端的账号服务器发送初始化请求,窃取到受害者的令牌信息,即用户授权凭证;接着攻击者可以在自己的设备上使用合法的商户App发起取号登录请求,并注入窃取到的令牌信息,从而获取受害者的手机号,进一步以受害者的身份通过认证并登录,盗用正常用户在合法的商户App中的身份和利益。
鉴于此,希望获得一种更可靠的用户取号登录的方案,通过利用移动设备中通用的TEE,使得进行运营商取号登录服务时,运营商后端的账号服务器能够安全地核实目标应用程序的身份,并为用户信息提供安全级别较高的硬件防护,抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。
可信执行环境(Trusted execution environment,TEE)是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境,能够利用硬件安全的CPU实现基于内存隔离的安全计算,在保证计算效率的前提下完成隐私保护计算的工作。其基本思想是:在硬件中为需要保护的敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现敏感数据的隐私计算。TEE可以在一个复杂且相互联系的系统中提供良好的安全性,目前多数TEE应用场景均指向智能手机端,在该场景下,TEE能够提供的安全性服务包括:隐私保护的票务服务、在线交易确认、移动支付、媒体内容保护、云存储服务认证等等。其中,可信应用(Trusted Application,TA)为运行在TEE环境下的应用程序,通过已经过授权的接口与TEE进行通信。
图4示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下执行的步骤。
如图4所示,本说明书实施例在商户App与运营商后端的账号服务器之间加入TEE中的可信应用TA,用于接收账号登录请求并重新组装为带有商户App身份信息的请求,并发送至账号服务器进行商户App身份的验证。通过引入TEE环境,为目标应用程序和账号服务器之间的通信提供了硬件层防护,从而加强了通信的保密性与可靠性。
在本说明书的一个实施例中,提出了一种基于可信执行环境的账号数据交互方法,应用于安装有目标应用程序的宿主终端,宿主终端包括可信执行环境。
图5示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互方法在一种实施方式下的流程示意图。
如图5所示,该方法包括步骤:
100:目标应用程序发起账号登录请求,并将账号登录请求传输至可信应用,可信应用运行于可信执行环境中。
用于用户登录的账号可以是手机号,也可以是邮箱等其他由账号分发商确定的账号形式。在使用账号进行“一键登录服务”的过程中,用户在宿主终端同意授权,目标应用服务器就可以通过目标应用程序请求响应的结果获得账号,利用预先存储过的账号信息而无需输入密码即可登录。
通过引入TEE环境,目标应用程序不再直接与账号服务器进行通信,例如不再直接使用运营商的三方软件开发工具包(Software Development Kit,SDK)发起账号登录请求,而是通过TEE中的可信应用TA代理发送请求。
在一些实施例中,目标应用程序发起账号登录请求之前,还执行下述步骤:
目标应用程序向账号服务器发起初始化请求;
基于账号服务器对初始化请求的响应,目标应用程序接收来自账号服务器发送的账号信息;
基于目标应用程序对账号信息的确认,发起账号登录请求。
在初始化请求时,可以对请求中包含的目标应用程序的应用身份信息例如appid以及应用凭证appkey进行初始化,其中,appid为运营商下发的目标应用程序的唯一性标识,代表了目标应用程序的身份。目标应用程序向账号服务器发送初始化请求后,账号服务器接收请求并返回账号信息,该账号信息可以是用户的手机号;另外地,还可以对账号进行掩码处理,从而加强信息传输的保密性与安全性。待用户通过目标应用程序确认账号信息后同意授权操作,目标应用程序就向可信应用TA发起账号登录请求。
通过可信执行环境TEE中的可信应用TA的介入,由可信应用代理发送账号登录请求,这种方式使运营商后端的账号服务器能够获得真实的目标应用程序身份;可信应用与目标应用程序以及账号服务器之间的双重加密通信方式加强了对目标应用程序身份信息和用户身份信息的保护效果,为整体链路提供了安全保证,从而能有效规避潜在的账号盗用风险。
110:可信应用获取目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,更新后的账号登录请求中携带应用身份信息。
在目标应用程序发送的账号登录请求中,可信应用TA提取其中的应用身份信息,以获取目标应用程序的唯一身份标识,在IOS系统中,应用身份信息可以用bundle id表示;在安卓系统中,应用身份信息可以用包名(package name)和包签名(package sign)结合表示。将提取到的应用身份信息加入登录请求中,以在可信执行环境内重新组装账号登录请求,使该请求中携带至少一种能唯一表示目标应用程序身份的应用身份信息,并将请求发送至账号服务器。
在一些实施例中,目标应用程序将账号登录请求传输至可信应用之后,还执行以下步骤:
可信应用获取目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在账号服务器对加签的账号登录请求进行解密后,对应用身份信息验证通过的情况下,可信应用接收账号服务器发送的令牌信息,并将令牌信息传递至目标应用程序;
目标应用程序基于令牌信息执行账号登录。
为了保护应用身份信息的隐私与安全,以及保证目标应用程序、可信应用TA和账号服务器三者之间通信过程的加密,利用可信应用TA中预置的密钥对携带应用身份信息的账号登录请求添加请求签名,实现加签操作,从而完成账号登录请求的重新组装。需要说明的是,该密钥在带有TEE系统的设备出厂前,就由生产厂商预先设置好并存储在设备内TEE系统的可信应用TA中;相应地,运营商也在账号服务器中预置了对应的密钥用于解密。
由于TEE中预置的密钥很难被破解和提取,为目标应用程序、可信应用TA和账号服务器三者之间的通信提供了硬件层的防护,使目标应用程序的身份信息以及对应的令牌信息得到了较为可靠的保护。
在一些实施例中,可信应用获取目标应用程序的应用身份信息以及目标应用程序的应用凭证,并发送更新后的账号登录请求至账号服务器,其中,更新后的账号登录请求中携带应用身份信息以及应用凭证,账号服务器根据应用身份信息以及应用凭证的映射关系对应用身份信息进行验证。
账号服务器接收到更新后的账号登录请求,首先根据运营商预置的密钥,验证经过加签处理后账号登录请求中的请求签名,完成对应的解密操作。
需要说明的是,商户App与运营商之间预先注册了应用信息,由运营商为商户App下发标识身份的appid,并事先在运营商侧存储了该appid与目标应用身份信息之间的关联性以便后续验证商户身份,该关联性体现为目标应用程序的appid与应用身份信息之间的映射关系。账号服务器完成对账号登录请求的解密后,提取出请求中携带的目标应用程序appid与应用身份信息进行关联性验证,若验证通过,则向可信应用发送对应的令牌信息,作为用户授权凭证;若验证不通过,则能够及时检测到恶意App的攻击意图,终止流程以避免攻击者进一步窃取账号。
可信应用TA可以主动获取到目标应用程序的身份信息,且该过程是一个无法被干扰的原子操作,一旦开始就会一直运行到操作结束,因此攻击者很难介入其中来窃取并更改目标应用程序的身份信息,保证了账号服务器接收登录请求并验证应用身份过程中的链路安全。
120:在账号服务器对应用身份信息验证通过的情况下,可信应用接收账号服务器发送的令牌信息,并将令牌信息传递至目标应用程序。
在一些实施例中,在账号服务器对应用身份信息验证通过的情况下,可信应用接收账号服务器加密后发送的令牌信息;对加密的令牌信息进行解密后,将令牌信息传递至目标应用程序。
令牌信息可作为用户认证凭证,目标应用服务器能够通过该令牌信息获得用户账号信息,包括用户手机号,从而完成认证与登录。该过程再次利用了可信应用TA中预置的密钥,从而为令牌信息提供安全水准较高的通信环境,有效规避攻击者拦截并窃取令牌信息的风险,保证了用户的账号安全。
130:目标应用程序基于令牌信息执行账号登录。
在一些实施例中,目标应用程序向目标应用服务器发送令牌信息,其中,目标应用服务器基于令牌信息向账号服务器进行账号请求并基于请求到的账号执行账号登录。
目标应用服务器接收目标应用程序发送的解密后令牌信息,根据令牌信息向账号服务器核销对应的账号登录请求,核销通过后,接收来自账号服务器的用户账号信息,包括用户手机号,目标应用服务器根据手机号认证用户,完成用户授权并登录用户账号。
在一些实施例中,可信应用获取宿主终端对应的账号凭证,并将令牌信息与账号凭证进行对应关联。
即使攻击者可以在自己的设备上伪造TA的账号登录请求,并注入恶意App中与账号服务器通信,试图窃取令牌信息以登录受害者的账号,可信应用TA仍然可以主动获取宿主终端对应的账号凭证进行身份验证,比如获取手机的SIM卡信息。该过程也是原子操作,因此攻击者无法阻止和控制身份验证的过程,从而可以被轻易识破,规避了潜在的换端钓鱼攻击,保护了用户的账号和信息安全。
本说明书实施例所述的基于可信执行环境的账号数据交互方法通过可信应用代理发送账号登录请求,使得账号服务器能够在进行账号登录服务时安全地识别并核实目标应用程序的身份,从而检测到恶意App的攻击意图;由于TEE提供了硬件层的防护,保障了可信应用与账号服务器之间的加密通信,为整体链路提供了安全保证,从而能有效抵御恶意App发起的换端钓鱼攻击,规避潜在的账号盗用风险。通过获取宿主终端对应的账号凭证,并将其与令牌信息进行关联,提供了第二维度的安全检测。即使攻击者可以事先伪造可信应用的请求并发送给账号服务器,也能通过令牌信息获取关联的账号凭证,从而检测出宿主终端的身份,规避潜在的换端钓鱼攻击。
在本说明书的另一个实施例中,提出了一种基于可信执行环境的账号数据交互装置,其包括普通执行环境模块20和可信执行环境模块22,目标应用程序运行于普通执行环境模块20中,可信应用运行于可行执行环境模块22。
图6示例性地显示了本说明书实施例所述的基于可信执行环境的账号数据交互装置在一种实施方式下的结构示意图。
如图6所示的,该装置执行下述步骤:
普通执行环境模块20用于发起对应于目标应用程序的账号登录请求,并将账号登录请求传输至可信应用;
可信执行环境模块22用于获取目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,更新后的账号登录请求中携带应用身份信息;
在账号服务器对应用身份信息验证通过的情况下,可信执行环境模块22接收账号服务器发送的令牌信息,并将令牌信息传递至普通执行环境模块20;
普通执行环境模块20基于令牌信息执行账号登录。
在一些实施例中,普通执行环境模块发起对应于目标应用程序的账号登录请求之前,还执行下述步骤:
普通执行环境模块向账号服务器发起初始化请求;
基于账号服务器对初始化请求的响应,普通执行环境模块接收来自账号服务器发送的账号信息;
基于普通执行环境模块对账号信息的确认,发起账号登录请求。
用于用户登录的账号可以是手机号,也可以是邮箱等其他由账号分发商确定的账号形式。在使用账号进行“一键登录服务”的过程中,用户在宿主终端同意授权,目标应用服务器就可以通过目标应用程序请求响应的结果获得账号,利用预先存储过的账号信息而无需输入密码即可登录。
在初始化请求时,可以对请求中包含的目标应用程序的应用身份信息例如appid以及应用凭证appkey进行初始化,其中,appid为运营商下发的目标应用程序的唯一性标识,代表了目标应用程序的身份。普通执行环境模块向账号服务器发送初始化请求后,账号服务器接收请求并返回账号信息,该账号信息可以是用户的手机号;另外地,还可以对账号进行掩码处理,从而加强信息传输的保密性与安全性。待用户通过目标应用程序确认账号信息后同意授权操作,普通执行环境模块就向可信应用TA发起账号登录请求。
通过可信执行环境TEE中的可信应用TA的介入,由可信应用代理发送账号登录请求,这种方式使运营商后端的账号服务器能够获得真实的目标应用程序身份;可信应用与目标应用程序以及账号服务器之间的双重加密通信方式加强了对目标应用程序身份信息和用户身份信息的保护效果,为整体链路提供了安全保证,从而能有效规避潜在的账号盗用风险。在一些实施例中,普通执行环境模块将账号登录请求传输至可信应用之后,还执行以下步骤:
可信执行环境模块获取目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在账号服务器对加签的账号登录请求进行解密后,对应用身份信息验证通过的情况下,可信执行环境模块接收账号服务器发送的令牌信息,并将令牌信息传递至普通执行环境模块;
普通执行环境模块基于令牌信息执行账号登录。
在普通执行环境模块发送的账号登录请求中,可信执行环境模块提取其中的应用身份信息,以获取目标应用程序的唯一身份标识,在IOS系统中,应用身份信息可以用bundle id表示;在安卓系统中,应用身份信息可以用包名(package name)和包签名(package sign)结合表示。将提取到的应用身份信息加入登录请求中,以在可信执行环境模块内重新组装账号登录请求,使该请求中携带至少一种能唯一表示目标应用程序身份的应用身份信息,并将请求发送至账号服务器。
为了保护应用身份信息的隐私与安全,以及保证普通执行环境模块、可信执行环境模块和账号服务器三者之间通信过程的加密,利用可信执行环境模块中预置的密钥对携带应用身份信息的账号登录请求添加请求签名,实现加签操作,从而完成账号登录请求的重新组装。需要说明的是,该密钥在带有TEE系统的设备出厂前,就由生产厂商预先设置好并存储在设备内TEE系统的可信应用TA中;相应地,运营商也在账号服务器中预置了对应的密钥用于解密。
由于TEE中预置的密钥很难被破解和提取,为普通执行环境模块、可信执行环境模块和账号服务器三者之间的通信提供了硬件层的防护,使目标应用程序的身份信息以及对应的令牌信息得到了较为可靠的保护。
在一些实施例中,可信执行环境模块获取目标应用程序的应用身份信息以及目标应用程序的应用凭证,并发送更新后的账号登录请求至账号服务器,其中,更新后的账号登录请求中携带应用身份信息以及应用凭证,账号服务器根据应用身份信息以及应用凭证的映射关系对应用身份信息进行验证。
账号服务器接收到更新后的账号登录请求,首先根据运营商预置的密钥,验证经过加签处理后账号登录请求中的请求签名,完成对应的解密操作。
需要说明的是,商户App与运营商之间预先注册了应用信息,由运营商为商户App下发标识身份的appid,并事先在运营商侧存储了该appid与目标应用身份信息之间的关联性以便后续验证商户身份,该关联性体现为目标应用程序的appid与应用身份信息之间的映射关系。账号服务器完成对账号登录请求的解密后,提取出请求中携带的目标应用程序appid与应用身份信息进行关联性验证,若验证通过,则向可信执行环境模块发送对应的令牌信息,作为用户授权凭证;若验证不通过,则能够及时检测到恶意App的攻击意图,终止流程以避免攻击者进一步窃取账号。
可信执行环境模块可以主动获取到目标应用程序的身份信息,且该过程是一个无法被干扰的原子操作,一旦开始就会一直运行到操作结束,因此攻击者很难介入其中来窃取并更改目标应用程序的身份信息,保证了账号服务器接收登录请求并验证应用身份过程中的链路安全。
在一些实施例中,在账号服务器对应用身份信息验证通过的情况下,可信执行环境模块用接收账号服务器加密后发送的令牌信息;对加密的令牌信息进行解密后,将令牌信息传递至普通执行环境模块。
令牌信息可作为用户认证凭证,普通执行环境模块能够通过该令牌信息获得用户账号信息,包括用户手机号,从而完成认证与登录。该过程再次利用了可信执行环境模块中预置的密钥,从而为令牌信息提供安全水准较高的通信环境,有效规避攻击者拦截并窃取令牌信息的风险,保证了用户的账号安全。
在一些实施例中,普通执行环境模块向目标应用服务器发送令牌信息,其中,目标应用服务器基于令牌信息向账号服务器进行账号请求并基于请求到的账号执行账号登录。
目标应用服务器接收普通执行环境模块发送的解密后令牌信息,根据令牌信息向账号服务器核销对应的账号登录请求,核销通过后,接收来自账号服务器的用户账号信息,包括用户手机号,目标应用服务器根据手机号认证用户,完成用户授权并登录用户账号。
在一些实施例中,可信执行环境模块获取宿主终端对应的账号凭证,并将令牌信息与账号凭证进行对应关联。
即使攻击者可以在自己的设备上伪造TA的账号登录请求,并注入恶意App中与账号服务器通信,试图窃取令牌信息以登录受害者的账号,可信执行环境模块仍然可以主动获取宿主终端对应的账号凭证进行身份验证,比如获取手机的SIM卡信息。该过程也是原子操作,因此攻击者无法阻止和控制身份验证的过程,从而可以被轻易识破,规避了潜在的换端钓鱼攻击,保护了用户的账号和信息安全。
在本说明书的一个实施例中,还提出了一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
在本说明书的一个实施例中,还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任意一项所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。

Claims (16)

1.一种基于可信执行环境的账号数据交互方法,应用于安装有目标应用程序的宿主终端,所述宿主终端包括可信执行环境,所述方法包括:
所述目标应用程序发起账号登录请求,并将账号登录请求传输至可信应用,所述可信应用运行于所述可信执行环境中;
所述可信应用获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息;
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序;
所述目标应用程序基于所述令牌信息执行账号登录。
2.如权利要求1所述的基于可信执行环境的账号数据交互方法,所述可信应用获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器的步骤包括:
所述可信应用获取所述目标应用程序的应用身份信息以及所述目标应用程序的应用凭证,并发送更新后的账号登录请求至所述账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息以及所述应用凭证,所述账号服务器根据所述应用身份信息以及所述应用凭证的映射关系对所述应用身份信息进行验证。
3.如权利要求1所述的基于可信执行环境的账号数据交互方法,所述目标应用程序将账号登录请求传输至可信应用之后,所述方法还包括:
所述可信应用获取所述目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在所述账号服务器对所述加签的账号登录请求进行解密后,对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序;
所述目标应用程序基于所述令牌信息执行账号登录。
4.如权利要求1所述的基于可信执行环境的账号数据交互方法,在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述目标应用程序的步骤包括:
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信应用接收所述账号服务器加密后发送的令牌信息;
对所述加密的令牌信息进行解密后,将所述令牌信息传递至所述目标应用程序。
5.如权利要求1所述的基于可信执行环境的账号数据交互方法,所述方法还包括:
所述可信应用获取所述宿主终端对应的账号凭证,并将所述令牌信息与所述账号凭证进行对应关联。
6.如权利要求1所述的基于可信执行环境的账号数据交互方法,所述目标应用程序发起账号登录请求之前,所述方法还包括:
所述目标应用程序向所述账号服务器发起初始化请求;
基于所述账号服务器对所述初始化请求的响应,所述目标应用程序接收来自所述账号服务器发送的账号信息;
基于所述目标应用程序对所述账号信息的确认,发起账号登录请求。
7.如权利要求1所述的基于可信执行环境的账号数据交互方法,所述目标应用程序基于所述令牌信息执行账号登录的步骤包括:
所述目标应用程序向目标应用服务器发送所述令牌信息,其中,所述目标应用服务器基于所述令牌信息向所述账号服务器进行账号请求并基于请求到的所述账号执行账号登录。
8.一种基于可信执行环境的账号数据交互装置,其包括普通执行环境模块和可信执行环境模块,目标应用程序运行于所述普通执行环境模块中,所述可信应用运行于所述可行执行环境模块,
所述普通执行环境模块用于发起对应于所述目标应用程序的账号登录请求,并将账号登录请求传输至可信应用;
所述可信执行环境模块用于获取所述目标应用程序的应用身份信息,并发送更新后的账号登录请求至账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息;
在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述普通执行环境模块;
所述普通执行环境模块基于所述令牌信息执行账号登录。
9.如权利要求8所述的基于可信执行环境的账号数据交互装置,所述可信执行环境模块还用于获取所述目标应用程序的应用身份信息以及所述目标应用程序的应用凭证,并发送更新后的账号登录请求至所述账号服务器,其中,所述更新后的账号登录请求中携带所述应用身份信息以及所述应用凭证,所述账号服务器根据所述应用身份信息以及所述应用凭证的映射关系对所述应用身份信息进行验证。
10.如权利要求8所述的基于可信执行环境的账号数据交互装置,所述可信执行环境模块还用于获取所述目标应用程序的应用身份信息,并对更新后的账号登录请求进行加签后发送至账号服务器;
在所述账号服务器对所述加签的账号登录请求进行解密后,对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器发送的令牌信息,并将所述令牌信息传递至所述普通执行环境模块;
所述普通执行环境模块基于所述令牌信息执行账号登录。
11.如权利要求8所述的基于可信执行环境的账号数据交互装置,在所述账号服务器对所述应用身份信息验证通过的情况下,所述可信执行环境模块接收所述账号服务器加密后发送的令牌信息;
所述可信执行环境模块对所述加密的令牌信息进行解密后,将所述令牌信息传递至所述普通执行环境模块。
12.如权利要求8所述的基于可信执行环境的账号数据交互装置,所述可信执行环境模块还用于获取所述宿主终端对应的账号凭证,并将所述令牌信息与所述账号凭证进行对应关联。
13.如权利要求8所述的基于可信执行环境的账号数据交互装置,所述普通执行环境模块还用于向所述账号服务器发起初始化请求;
基于所述账号服务器对所述初始化请求的响应,所述普通执行环境模块接收来自所述账号服务器发送的账号信息;
基于所述普通执行环境模块对所述账号信息的确认,发起账号登录请求。
14.如权利要求8所述的基于可信执行环境的账号数据交互装置,
所述普通执行环境模块还用于向目标应用服务器发送所述令牌信息,其中,所述目标应用服务器基于所述令牌信息向所述账号服务器进行账号请求并基于请求到的所述账号执行账号登录。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一所述的方法。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-7任一所述的方法。
CN202310239312.7A 2023-03-13 2023-03-13 一种基于可信执行环境的账号数据交互方法 Pending CN116455605A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310239312.7A CN116455605A (zh) 2023-03-13 2023-03-13 一种基于可信执行环境的账号数据交互方法
PCT/CN2023/139404 WO2024187871A1 (zh) 2023-03-13 2023-12-18 一种基于可信执行环境的账号数据交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310239312.7A CN116455605A (zh) 2023-03-13 2023-03-13 一种基于可信执行环境的账号数据交互方法

Publications (1)

Publication Number Publication Date
CN116455605A true CN116455605A (zh) 2023-07-18

Family

ID=87134662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310239312.7A Pending CN116455605A (zh) 2023-03-13 2023-03-13 一种基于可信执行环境的账号数据交互方法

Country Status (2)

Country Link
CN (1) CN116455605A (zh)
WO (1) WO2024187871A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024187871A1 (zh) * 2023-03-13 2024-09-19 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的账号数据交互方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020093214A1 (zh) * 2018-11-05 2020-05-14 深圳市欢太科技有限公司 一种应用程序登录方法、应用程序登录装置及移动终端
CN110519294B (zh) * 2019-09-12 2021-08-31 创新先进技术有限公司 身份认证方法、装置、设备及系统
CN112688773A (zh) * 2019-10-17 2021-04-20 浙江大搜车软件技术有限公司 一种令牌的生成和校验方法及装置
CN115733687A (zh) * 2022-11-17 2023-03-03 深圳复临科技有限公司 系统账号登录控制方法、装置、服务器及可读存储介质
CN116455605A (zh) * 2023-03-13 2023-07-18 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的账号数据交互方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024187871A1 (zh) * 2023-03-13 2024-09-19 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的账号数据交互方法

Also Published As

Publication number Publication date
WO2024187871A1 (zh) 2024-09-19

Similar Documents

Publication Publication Date Title
EP2937805B1 (en) Proximity authentication system
US8112787B2 (en) System and method for securing a credential via user and server verification
CN111404696B (zh) 协同签名方法、安全服务中间件、相关平台及系统
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
JP4993122B2 (ja) プラットフォーム完全性検証システムおよび方法
US20090319793A1 (en) Portable device for use in establishing trust
US9055061B2 (en) Process of authentication for an access to a web site
WO2018021708A1 (ko) 공개키 기반의 서비스 인증 방법 및 시스템
KR20170124510A (ko) 보안 터널 기반 인증 방법 및 장치
WO2024187871A1 (zh) 一种基于可信执行环境的账号数据交互方法
CN111431840A (zh) 安全处理方法和装置
CN114301617A (zh) 多云应用网关的身份认证方法、装置、计算机设备及介质
WO2017166135A1 (zh) 交易方法、交易信息处理方法、交易终端及服务器
KR20160063250A (ko) 카드 디바이스를 사용한 네트워크 인증 방법
KR101583698B1 (ko) 접속 시도 기기 인증 시스템 및 방법
TWI657350B (zh) App認證的系統和方法
US11972419B2 (en) Method for authenticating payment data, corresponding devices and programs
CN108574657B (zh) 接入服务器的方法、装置、系统以及计算设备和服务器
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
CN113591053A (zh) 通用性的移动设备基于生物信息的识别方法及系统
TWI778319B (zh) 跨平台授權存取資源方法及授權存取系統
KR102199747B1 (ko) Otp 기반의 가상키보드를 이용한 보안 방법 및 시스템
WO2024201734A1 (ja) 認証システム、端末、認証サーバ、認証方法、及び記録媒体
CN105141623A (zh) 电子账户的控制方法、系统及移动终端
CN113839785A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40093274

Country of ref document: HK