CN109218260A - 一种基于可信任环境的认证保护系统及方法 - Google Patents

一种基于可信任环境的认证保护系统及方法 Download PDF

Info

Publication number
CN109218260A
CN109218260A CN201710532303.1A CN201710532303A CN109218260A CN 109218260 A CN109218260 A CN 109218260A CN 201710532303 A CN201710532303 A CN 201710532303A CN 109218260 A CN109218260 A CN 109218260A
Authority
CN
China
Prior art keywords
application end
client application
trusted
execution environments
processing unit
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
CN201710532303.1A
Other languages
English (en)
Other versions
CN109218260B (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.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710532303.1A priority Critical patent/CN109218260B/zh
Priority to US16/627,871 priority patent/US11620373B2/en
Priority to EP18827898.0A priority patent/EP3651428A1/en
Priority to PCT/CN2018/072558 priority patent/WO2019007028A1/zh
Publication of CN109218260A publication Critical patent/CN109218260A/zh
Application granted granted Critical
Publication of CN109218260B publication Critical patent/CN109218260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Abstract

一种基于可信任环境的认证保护系统,包括,客户应用端、可信任执行环境处理单元、守护应用端,以及可信应用端,其中,所述客户应用端,其向所述可信任执行环境处理单元提出安全认证业务请求,调用安全业务;所述可信任执行环境处理单元,其将所述安全认证业务请求分别转发给所述守护应用端、所述可信应用端,并将验证结果返回给所述客户应用端;为所述客户应用端和所述可信应用端创建会话连接;所述守护应用端,其用于对所述安全认证业务请求进行验证;所述可信应用端,其与所述客户应用端进行会话,并为所述客户应用端提供业务服务。本发明的基于可信任环境的认证保护方法,能够保证客户端应用在跟可信任执行环境的交互过程完整、连续及可信。

Description

一种基于可信任环境的认证保护系统及方法
技术领域
本发明涉及安全认证技术领域,尤其涉及一种在可信任执行环境下的认证保护系统及方法。
背景技术
随着移动网络技术和移动终端的发展,人们获取信息和处理事务的方式逐渐由PC转移到移动终端。由于平板电脑,智能手机,电视盒子等设备迅速发展和普及,越来越多的敏感信息被暴露出来,而这些移动设备操作系统的开放性却无法保证设备的安全,网站账号被盗,银行卡内资金丢失,手机加密文件破解的状况时有发生。因此,出现了一种采用硬件支持的隔离执行技术,可信任执行环境(Trusted Execution Environment;TEE),是全球平台国际标准组织(Global Platform)组织定义的一种技术框架,用以支持非可信执行环境和可信执行环境的软硬件隔离,由独立于智能移动终端操作系统的、隔离的、可扩展的执行环境来负责安全应用的执行。
图1为现有可信任环境的设计框架示意图,如图1所示,现有可信任环境的设计框架,包括普通环境110和可信任执行环境120这两个独立的环境。其中,普通环境110具备客户端应用(Client Application;CA)111、TEE客户端API(Application ProgrammingInterface,应用程序编程接口)112、以及TEE驱动113;可信任执行环境120具备可信应用(Trusted Application;TA)121、可信应用管理器122、TEE内部API123、以及安全驱动124。普通环境110下的客户端应用111作为客户端发起请求,安全环境120下的可信应用121作为相应端接收和回应请求,由此组织而成一套交互过程。
图2为现有可信任环境进行安全认证的流程图,在TEE框架下客户端应用和可信应用之间的认证流程如下:
步骤201,建立上下文。其中,客户端应用向TEE安全框架发出申请,TEE根据当前系统情况,确认是否创建上下文资源。
步骤202,创建连接,并加载可信应用。其中,客户端应用提出创建连接,以UUID(Universally Unique Identifier,通用唯一识别码)为标示符,确认需要连接的可信应用。TEE接收到请求后,会检索当前可信应用是否存在,若不存在,则通过代理程序加载对应可信应用,该过程需要进行认证操作。加载可信应用成功后,返回结构和随机数给客户端应用。如果可信应用已经存在TEE中,则直接结果返回给客户端应用。通过代理程序加载对应可信应用时,客户端应用提出验证连接请求,TEE接收到请求后,验证是否合法,并把验证结果返回给TEE,最后返回给客户端应用。
步骤203,安全业务调用。其中,客户端应用有安全业务的调用需求时,调用预设参数,并通过句柄进入TEE环境。由TEE环境转接这些调用参数,并重映射给对应的可信应用。可信应用根据收到的调用参数,进行相应的安全业务功能分支处理,完成后把对应结果返回给TEE。TEE进而把结果重映射给客户端应用。客户端应用可以在连接有效期内,重复上述安全业务请求。
步骤204,关闭并销毁连接。其中,客户端应用可以根据自身业务情况,在完成所有安全业务请求后,把会话句柄发给TEE,提请结束该连接。TEE首先会通知可信应用程序结束所有服务,并销毁该可信应用对应的会话句柄,同时根据自身资源情况,决定是否销毁对应的可信应用。
步骤205,结束并销毁上下文。其中,客户端应用向TEE申请结束上下文。TEE释放该上下文,并销毁环境信息。
上述现有TEE框架,仅定义了关于安全隔离技术,并没有对客户端程序和TEE之间的交互作安全的保护,即任意的普通程序,都可以具有对TEE框架进行同等调用的权限。另外,从目前主要的针对TEE操作系统的攻击实例来看,都是通过对TEE框架的刺探调用作为开始,分析调用过程和数据结果,逐步突破直至整个TEE操作系统被攻破。从这一点上说,只有TEE框架和可信应用是不充分的,还需要保证TEE的交互过程的完整性、连续性和可信性。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于可信任环境的认证保护系统及方法,基于客户端应用的安全校验检测,通过后使用哈希算法和上下文密钥,对连接建立过程使用的参数进行计算、对功能调用过程使用守护应用提供的随机数作为辅助参数进行计算,同时在守护应用内进行比对,以保证连接过程的每一步骤的参数完整可信和过程连续可信。
为实现上述目的,本发明提供的基于可信任环境的认证保护系统,包括,客户应用端、可信任执行环境处理单元、守护应用端,以及可信应用端,其中,
所述客户应用端,其向所述可信任执行环境处理单元提出安全认证业务请求,调用安全业务;
所述可信任执行环境处理单元,其将所述安全认证业务请求分别转发给所述守护应用端、所述可信应用端,并将验证结果返回给所述客户应用端;为所述客户应用端和所述可信应用端创建会话连接;
所述守护应用端,其用于对所述安全认证业务请求进行验证;
所述可信应用端,其与所述客户应用端进行会话,并为所述客户应用端提供业务服务。
进一步地,所述安全认证业务请求,包括,建立上下文的请求、建立可信连接的请求、调用安全业务请求、结束会话的请求、以及结束上下文的请求。
进一步地,所述客户应用端,向所述可信任执行环境处理单元发送建立上下文的请求,并获取加密的初始上下文秘钥;向所述可信任执行环境处理单元发送建立可信连接的请求,接收返回结果及随机数;向所述可信任执行环境处理单元发送调用安全业务请求,接收返回结果更新随机数。
进一步地,所述可信任执行环境处理单元,其为安全认证业务请求的验证指定哈希算法。
进一步地,所述守护应用端,其根据所述可信任执行环境处理单元指定的哈希算法对安全认证业务请求进行验证。
更进一步地,所述算法为哈希算法,包括HMAC_SHA256、HMAC_SHA512或MD5。
为实现上述目的,本发明提供的基于可信任环境的认证保护方法,包括以下步骤:
客户应用端向可信任执行环境处理单元申请建立上下文的步骤;
客户应用端与可信应用端建立会话的步骤;
客户应用端的安全业务调用的步骤;
可信应用端结束会话的步骤;
守护应用端结束上下文的步骤。
进一步地,所述客户应用端向可信任执行环境处理单元申请建立上下文的步骤,进一步包括:可信任执行环境处理单元接收客户应用端发出的包含身份认证信息的建立上下文的请求;守护应用端验证所述身份认证信息,使用所述可信任执行环境处理单元指定的哈希算法,创建并加密初始上下文秘钥;客户应用端解密并提取所述初始上下文秘钥,且记录所使用的哈希算法。
进一步地,所述哈希算法为HMAC_SHA256、HMAC_SHA512或者MD5。
进一步地,所述客户应用端与可信应用端建立会话的步骤,进一步包括:
可信任执行环境处理单元接收客户应用端发送的目标为通用唯一识别码的建立可信连接的请求;可信应用端将通用唯一识别码,基于秘钥、采用可信任执行环境处理单元指定的哈希算法,进行计算,并将计算结果与通用唯一识别码一起发送给守护应用端;守护应用端验证所述计算结果,对通用唯一识别码对应的可信应用端进行检查、验签、执行,并记录对应的连接句柄,生成一次性随机数;客户应用端接收所述连接句柄和一次性随机数并保存。
进一步地,所述客户应用端的安全业务调用的步骤,进一步包括:客户应用端将调用参数、随机数作为输入,按照哈希算法进行计算后,将计算结果与预设参数一起发送给守护应用端;守护应用端对所述计算结果进行验证,并生成新的随机数;可信任执行环境处理单元将验证结果及新的随机数转发给客户应用端;客户应用端接收新的随机数,覆盖替换旧的存储信息。
进一步地,所述守护应用端对所述计算结果进行验证,是守护应用端将所述预设参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法进行计算,与客户应用端发送的计算结果进行比较。
进一步地,所述可信应用端结束会话的步骤,进一步包括:客户应用端将随机数作为输入,基于秘钥、哈希算法进行计算后,将计算结果与句柄参数一起发送给守护应用端;守护应用端对所述计算结果进行验证,通知可信应用端结束所有服务并销毁该可信应用端对应的句柄。
进一步地,所述守护应用端对所述计算结果进行验证,是守护应用端将句柄参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法,与客户应用端发送的计算结果进行比较。
进一步地,守护应用端结束上下文的步骤,进一步包括:客户应用端使用秘钥和哈希算法,对上下文参数进行计算,将计算结果与上下文参数一起通过可信任执行环境处理单元发送给所述守护应用端;守护应用端对所述计算结果进行验证,可信任执行环境处理单元销毁内部的所述秘钥,释放上下文,并清理运行环境。
更进一步地,守护应用端对所述计算结果进行验证,是守护应用端将上下文参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法,与客户应用端发送的计算结果进行比较。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有可信任环境的设计框架示意图;
图2为现有可信任环境进行安全认证的流程图;
图3为根据本发明的基于可信任环境的认证保护系统结构示意图;
图4为根据本发明的基于可信任环境的认证保护方法流程图;
图5为根据本发明的建立上下文的流程图;
图6为根据本发明的创建连接的流程图;
图7为根据本发明的安全业务调用的流程图;
图8为根据本发明的关闭并销毁连接的流程图;
图9为根据本发明的结束并销毁上下文的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图3为根据本发明的基于可信任环境的认证保护系统结构示意图,如图3所示,本发明的基于可信任环境的认证保护系统301,包括,客户应用端302、可信任执行环境处理单元303、守护应用端304,以及可信应用端305。
客户应用端302,用于向可信任执行环境处理单元303提出安全认证业务请求,与可信任执行环境处理单元303进行信息交互。该安全认证业务请求包括,建立上下文的请求、建立可信连接的请求、调用安全业务请求、结束会话的请求、以及结束上下文的请求等。
客户应用端302,其将身份认证信息发送给可信任执行环境处理单元303,申请建立上下文的请求,从接收的KEY中提取出初始秘钥KEY;与可信任执行环境处理单元303建立连接及会话。
可信任执行环境处理单元303,其接收客户应用端302提出的安全认证业务请求,并进行相应的处理。可信任执行环境处理单元303将来自客户应用端302申请建立上下文的请求转发给守护应用端304,并将守护应用端304生成的加密验证秘钥转发给客户应用端302;与客户应用端302建立会话并对其调用安全业务请求进行验证。可信任执行环境处理单元303为守护应用端304指定使用哈希算法运算而得到的计算结果。该哈希算法在交互过程中可以是相同的哈希算法,也可以是动态更新的哈希算法。哈希算法可以是HMAC_SHA256、HMAC_SHA512或者MD5。
守护应用端304,用于验证客户端应用302发送的验证用信息,基于其结果向客户端应用302发送结果和/或后续生成验证用信息所用的秘钥和随机数。该秘钥和随机数是随机生成的。守护应用端304,通过使用与客户应用端302使用的同样的哈希算法对所记录的秘钥进行计算,并将其结果与验证用信息进行比对,来进行验证。
可信应用端305,用于执行或关闭可信应用。
图4为根据本发明的基于可信任环境的认证保护方法流程图,下面将参考图4对本发明的基于可信任环境的认证保护方法进行详细描述:
首先,在步骤401,客户应用端302向可信任执行环境处理单元303申请建立上下文。图5为根据本发明的建立上下文的流程图,参考图5,客户应用端302向可信任执行环境处理单元303申请建立上下文的步骤包括:
步骤501客户应用端302向可信任执行环境处理单元303发出申请建立上下文请求,同时提供证明自身合法性的身份认证信息;
步骤502,可信任执行环境处理单元303向守护应用端304转发该请求和身份认证信息,由守护应用端304验证客户应用端304所提供的身份认证信息;
步骤503,守护应用端304选择使用某一种哈希(HASH)算法,分配并记录初始上下文秘钥(KEY),其用于后续的交互过程的验证秘钥;
步骤504守护应用端304使用客户应用端302所提供的身份信息中的公钥对秘钥进行加密,并返回给可信任执行环境处理单元303;
其中,在可信任执行环境下的KEY必须是随机产生的,且选择的哈希算法为HMAC_SHA256、HMAC_SHA512或者MD5,这取决于守护应用端304的选择;
步骤505,可信任执行环境处理单元303将加密的秘钥返回给客户应用端302,由客户应用端302使用与身份认证信息中的公钥对应的私钥,解密并提取出初始秘钥,且记录所使用的哈希算法。
在步骤402,客户应该端302与可信任执行环境处理单元303建立会话。图6为根据本发明的创建连接的流程图,下面参考图6,客户应该端302与可信任执行环境处理单元303建立会话的过程,包括以下步骤:
步骤601,客户应用端302向可信任执行环境处理单元303提出申请建立目标为通用唯一识别码(UUID)的可信连接;客户应用端302需要以KEY作为秘钥,采用哈希算法把UUID等全部请求信息进行哈希计算,把对应的结果连同请求信息一起经由可信任执行环境处理单元303发送给守护应用端304;
步骤602,守护应用端304接受到该结果和请求信息后,按照指定哈希算法,使用内部所记录的秘钥对请求信息进行计算,将得到结果与客户应用端302所发送的结果进行比对;
步骤603,如果比对结果不一致,则转至步骤607;如果比对结果一致,进行下一步骤;
步骤604,进行后续常规的与通用唯一识别码对应的可信应用端305的检查、验签、执行,并记录对应的连接句柄;
步骤605,加载可信应用成功后,守护应用端304产生一次性随机数(NONCE),并将其与连接句柄经由可信任执行环境处理单元303返回给客户应用端302,其中,该随机数必须是随机产生的;
步骤606,客户应用端302接收到该随机数和连接句柄后,将其保存在客户应用端302的安全存储堆栈内,以备后续操作使用;
步骤607,终止会话申请请求,由守护应用端304将失败结果返回给客户应用端320。
在步骤403,客户应用端302的安全业务调用。图7为根据本发明的安全业务调用的流程图,参考图7,客户应用端302的安全业务调用过程包括以下步骤:
步骤701,客户应用端302准备调用预设参数(PARAM),先按照将{调用预设参数|随机数}的运算作为输入,按照指定的哈希算法,使用秘钥进行计算后,将得到的结果与调用预设参数一起经由可信任执行环境处理单元303发送给守护应用端304;
步骤702,守护应用端304根据内部记录的随机数按照相同拼接方式,按照秘钥和指定哈希算法,重新进行计算,并将得到的结果和客户应用端302所发送的结果进行比对;
步骤703,如果比对结果不一致,则转至步骤707;如果比对结果一致,,进行下一步骤;
步骤704,守护应用端304重新产生新的随机数,并将其与安全调用请求的结果一起经由可信任执行环境处理单元303发送给客户应用端302;
步骤705,可信任执行环境处理单元303接收到验证结果与新的随机数后,启动安全操作;
步骤706,客户应用端302在接收到新的随机数后,覆盖替换旧的存储信息即上述步骤402中的随机数;
步骤707,终止该安全业务的调用申请请求,并将失败结果经由可信任执行环境处理单元303返回给客户端应用。
在步骤404,客户应用端302在会话的有效期内,重复步骤403任意多次。其中,客户端应用对于调用预设参数、随机数、秘钥、哈希算法、以及守护应用端304对哈希计算的结果比对处理,以及重新产生随机数等处理,与上述步骤403相同。
在步骤405,可信应用端305结束会话。图8为根据本发明的关闭并销毁连接的流程图,参考图8,可信应用端305结束会话流程(关闭并销毁连接)包括以下步骤:
步骤801,客户应用端302在完成所有安全业务请求后,向可信任执行环境处理单元303请求申请结束当前会话,同时按照覆盖后随机数,基于秘钥和哈希算法进行计算,并将得到的结果与所保存的句柄参数一起经由可信任执行环境处理单元303发送给守护应用端304;
步骤802,守护应用端304按照内部所记录的随机数,基于秘钥和指定哈希算法,对参数进行对应的计算,并将其结果与客户应用端302所发送的计算结果进行比对;
步骤803,如果比对结果不一致,则转至步骤806;如果比对结果一致,则进行下一步骤;
步骤804,守护应用端304通知可信应用端305程序结束所有服务,并销毁与该可信应用端305对应的会话句柄;
步骤805,可信应用端305销毁连接,可信任执行环境处理单元303不需要通过守护应用产生或保存任何随机数;
步骤806,终止该结束请求,将失败结果经由可信任执行环境处理单元303返回给客户应用端302。
另外,返回后客户应用端302的关闭连接过程结束,由于其连接句柄和随机数已经失效,所以客户应用端302只能请求一次关闭连接的安全业务请求。
在步骤406,守护应用端304结束上下文。图9为根据本发明的结束并销毁上下文的流程图,参考图9,守护应用端304结束并销毁上下文的流程包括以下步骤:
步骤901,客户应用端302向可信任执行环境处理单元303申请结束上下文,使用秘钥和哈希算法,对上下文参数进行计算,并将其结果与上下文请求一起经由可信任执行环境处理单元303发送给守护应用端304;
步骤902,守护应用端304按照指定哈希算法和内部秘钥进行计算,将其结果与客户应用端302所发送的结果进行比对;
步骤903,如果比对结果不一致,则转至步骤905;如果比对结果一致,则进行下一步骤;
步骤904,守护应用端304销毁内部秘钥,释放该上下文,并清理运行环境;
步骤905,终止该结束上下文申请,将失败结果经由可信任执行环境处理单元303返回给客户应用端302。
至此,所有可信交互会话流程结束。
另外,在步骤402和步骤403中,在返回客户应用端302之前,除了更新随机数,可以根据自定义的安全策略,决定是否需要更新后续会话使用的秘钥以及哈希算法。秘钥的更新策略,可以是基于时间间隔来更新,也可以是基于返回客户应用端302的次数来更新。更新的时机,可以由守护应用端304进行选择,如在会话过程结束后,主动更新秘钥,也可以在安全业务调用过程中进行动态更新。另外,如果可信任执行环境处理单元303认为对应可信应用端304的权限需要较高的安全策略,那么也可以动态更新哈希算法。客户应用端302收到返回的结果后,根据更新内容,覆盖原有秘钥和哈希算法。
根据本发明,通过使用哈希算法和上下文秘钥,对创建连接过程使用的参数进行计算、对功能调用即安全业务调用过程使用守护应用提供的随机数作为辅助参数进行计算,同时在守护应用端304内进行比对,以保证连接过程的每一步骤的参数完整可信和过程连续可信,因此能够保证客户应用端302在跟可信任执行环境处理单元303的交互过程完整、连续及可信。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种基于可信任环境的认证保护系统,包括:客户应用端、可信任执行环境处理单元、守护应用端,以及可信应用端,其特征在于,
所述客户应用端,其向所述可信任执行环境处理单元提出安全认证业务请求,调用安全业务;
所述可信任执行环境处理单元,其将所述安全认证业务请求分别转发给所述守护应用端、所述可信应用端,并将验证结果返回给所述客户应用端;为所述客户应用端和所述可信应用端创建会话连接;
所述守护应用端,其用于对所述安全认证业务请求进行验证;
所述可信应用端,其与所述客户应用端进行会话,并为所述客户应用端提供业务服务。
2.根据权利要求1所述的基于可信任环境的认证保护系统,其特征在于,
所述安全认证业务请求,包括,建立上下文的请求、建立可信连接的请求、调用安全业务请求、结束会话的请求、以及结束上下文的请求。
3.根据权利要求2所述的基于可信任环境的认证保护系统,其特征在于,
所述客户应用端,向所述可信任执行环境处理单元发送建立上下文的请求,并获取加密的初始上下文秘钥;向所述可信任执行环境处理单元发送建立可信连接的请求,接收返回结果及随机数;向所述可信任执行环境处理单元发送调用安全业务请求,接收返回结果更新随机数。
4.一种基于可信任环境的认证保护方法,其特征在于,包括一下步骤:
客户应用端向可信任执行环境处理单元申请建立上下文的步骤;
客户应用端与可信应用端建立会话的步骤;
客户应用端的安全业务调用的步骤;
可信应用端结束会话的步骤;
守护应用端结束上下文的步骤。
5.根据权利要求4所述的基于可信任环境的认证保护方法,其特征在于,
所述客户应用端向可信任执行环境处理单元申请建立上下文的步骤,进一步包括:
可信任执行环境处理单元接收客户应用端发出的包含身份认证信息的建立上下文的请求;
守护应用端验证所述身份认证信息,使用所述可信任执行环境处理单元指定的哈希算法,创建并加密初始上下文秘钥;
客户应用端解密并提取所述初始上下文秘钥,且记录所使用的哈希算法。
6.根据权利要求4所述的基于可信任环境的认证保护方法,其特征在于,
所述客户应用端与可信应用端建立会话的步骤,进一步包括:
可信任执行环境处理单元接收客户应用端发送的目标为通用唯一识别码的建立可信连接的请求;
可信应用端将通用唯一识别码,基于秘钥、采用可信任执行环境处理单元指定的哈希算法,进行计算,并将计算结果与通用唯一识别码一起发送给守护应用端;
守护应用端验证所述计算结果,对通用唯一识别码对应的可信应用端进行检查、验签、执行,并记录对应的连接句柄,生成一次性随机数;
客户应用端接收所述连接句柄和一次性随机数并保存。
7.根据权利要求4所述的基于可信任环境的认证保护方法,其特征在于,
所述客户应用端的安全业务调用的步骤,进一步包括:
客户应用端将调用参数、随机数作为输入,按照哈希算法进行计算后,将计算结果与预设参数一起发送给守护应用端;
守护应用端对所述计算结果进行验证,并生成新的随机数;
可信任执行环境处理单元将验证结果及新的随机数转发给客户应用端;
客户应用端接收新的随机数,覆盖替换旧的存储信息。
8.根据权利要求7所述的基于可信任环境的认证保护方法,其特征在于,
所述守护应用端对所述计算结果进行验证,是守护应用端将所述预设参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法进行计算,与客户应用端发送的计算结果进行比较。
9.根据权利要求4所述的基于可信任环境的认证保护方法,其特征在于,
所述可信应用端结束会话的步骤,进一步包括:
客户应用端将随机数作为输入,基于秘钥、哈希算法进行计算后,将计算结果与句柄参数一起发送给守护应用端;
守护应用端对所述计算结果进行验证,通知可信应用端结束所有服务并销毁该可信应用端对应的句柄。
10.根据权利要求9所述的基于可信任环境的认证保护方法,其特征在于,
所述守护应用端对所述计算结果进行验证,是守护应用端将句柄参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法,与客户应用端发送的计算结果进行比较。
11.根据权利要求4所述的基于可信任环境的认证保护方法,其特征在于,
守护应用端结束上下文的步骤,进一步包括:
客户应用端使用秘钥和哈希算法,对上下文参数进行计算,将计算结果与上下文参数一起通过可信任执行环境处理单元发送给所述守护应用端;
守护应用端对所述计算结果进行验证,可信任执行环境处理单元销毁内部的所述秘钥,释放上下文,并清理运行环境。
12.根据权利要求11所述的基于可信任环境的认证保护方法,其特征在于,
守护应用端对所述计算结果进行验证,是守护应用端将上下文参数,按照内部记录的随机数,基于秘钥及可信任执行环境处理单元指定的哈希算法,与客户应用端发送的计算结果进行比较。
CN201710532303.1A 2017-07-03 2017-07-03 一种基于可信任环境的认证保护系统及方法 Active CN109218260B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710532303.1A CN109218260B (zh) 2017-07-03 2017-07-03 一种基于可信任环境的认证保护系统及方法
US16/627,871 US11620373B2 (en) 2017-07-03 2018-01-15 Authentication protection system and method based on trusted environment, and storage medium
EP18827898.0A EP3651428A1 (en) 2017-07-03 2018-01-15 Authentication protection system and method based on trusted environment, and storage medium
PCT/CN2018/072558 WO2019007028A1 (zh) 2017-07-03 2018-01-15 基于可信任环境的认证保护系统、方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710532303.1A CN109218260B (zh) 2017-07-03 2017-07-03 一种基于可信任环境的认证保护系统及方法

Publications (2)

Publication Number Publication Date
CN109218260A true CN109218260A (zh) 2019-01-15
CN109218260B CN109218260B (zh) 2020-11-06

Family

ID=64949677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710532303.1A Active CN109218260B (zh) 2017-07-03 2017-07-03 一种基于可信任环境的认证保护系统及方法

Country Status (4)

Country Link
US (1) US11620373B2 (zh)
EP (1) EP3651428A1 (zh)
CN (1) CN109218260B (zh)
WO (1) WO2019007028A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949986A (zh) * 2020-02-19 2020-11-17 华控清交信息科技(北京)有限公司 业务处理方法、系统及存储介质
CN113128944A (zh) * 2019-12-31 2021-07-16 成都鼎桥通信技术有限公司 基于多系统的安全业务管理方法、装置及存储介质
WO2022252897A1 (zh) * 2021-05-31 2022-12-08 支付宝(杭州)信息技术有限公司 实现可信调度的方法及装置
CN115987686A (zh) * 2023-03-17 2023-04-18 北京启天安信科技有限公司 一种基于https代理的威胁检测方法
US11848924B2 (en) 2020-10-12 2023-12-19 Red Hat, Inc. Multi-factor system-to-system authentication using secure execution environments
US11947659B2 (en) 2020-05-28 2024-04-02 Red Hat, Inc. Data distribution across multiple devices using a trusted execution environment in a mobile device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323269B2 (en) * 2020-01-20 2022-05-03 International Business Machines Corporation Preserving privacy of linked cross-network transactions
US11971980B2 (en) 2020-05-28 2024-04-30 Red Hat, Inc. Using trusted execution environments to perform a communal operation for mutually-untrusted devices
CN111881435B (zh) * 2020-08-03 2023-11-24 沈阳谦川科技有限公司 一种安全内存实现方法及其系统
CN111885091B (zh) * 2020-08-07 2022-04-29 北京经纬恒润科技股份有限公司 安全通信方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131382B1 (en) * 2014-05-30 2015-09-08 Sap Se Trusted user interface for mobile web applications
CN105429760A (zh) * 2015-12-01 2016-03-23 神州融安科技(北京)有限公司 一种基于tee的数字证书的身份验证方法及系统
US9398026B1 (en) * 2012-01-31 2016-07-19 Teradici Corporation Method for authenticated communications incorporating intermediary appliances
CN105991569A (zh) * 2015-02-09 2016-10-05 中国科学院信息工程研究所 一种tls通讯数据安全传输方法
CN106161028A (zh) * 2015-04-17 2016-11-23 国民技术股份有限公司 安全芯片、移动通讯终端及提高通讯安全的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239688B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US8230412B2 (en) * 2007-08-31 2012-07-24 Apple Inc. Compatible trust in a computing device
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9832207B2 (en) * 2014-12-23 2017-11-28 Mcafee, Inc. Input verification
EP3179690A1 (en) 2015-12-11 2017-06-14 Gemalto Sa Mobile device having trusted execution environment
US20170255775A1 (en) * 2016-03-02 2017-09-07 Apple Inc Software verification systems with multiple verification paths
US9813912B2 (en) * 2016-03-30 2017-11-07 T-Mobile Usa, Inc. Secure adaptive device locking
CN106650422B (zh) * 2016-10-13 2019-06-04 中国科学院信息工程研究所 一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9398026B1 (en) * 2012-01-31 2016-07-19 Teradici Corporation Method for authenticated communications incorporating intermediary appliances
US9131382B1 (en) * 2014-05-30 2015-09-08 Sap Se Trusted user interface for mobile web applications
CN105991569A (zh) * 2015-02-09 2016-10-05 中国科学院信息工程研究所 一种tls通讯数据安全传输方法
CN106161028A (zh) * 2015-04-17 2016-11-23 国民技术股份有限公司 安全芯片、移动通讯终端及提高通讯安全的方法
CN105429760A (zh) * 2015-12-01 2016-03-23 神州融安科技(北京)有限公司 一种基于tee的数字证书的身份验证方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128944A (zh) * 2019-12-31 2021-07-16 成都鼎桥通信技术有限公司 基于多系统的安全业务管理方法、装置及存储介质
CN113128944B (zh) * 2019-12-31 2023-10-17 成都鼎桥通信技术有限公司 基于多系统的安全业务管理方法、装置及存储介质
CN111949986A (zh) * 2020-02-19 2020-11-17 华控清交信息科技(北京)有限公司 业务处理方法、系统及存储介质
CN111949986B (zh) * 2020-02-19 2023-10-03 华控清交信息科技(北京)有限公司 业务处理方法、系统及存储介质
US11947659B2 (en) 2020-05-28 2024-04-02 Red Hat, Inc. Data distribution across multiple devices using a trusted execution environment in a mobile device
US11848924B2 (en) 2020-10-12 2023-12-19 Red Hat, Inc. Multi-factor system-to-system authentication using secure execution environments
WO2022252897A1 (zh) * 2021-05-31 2022-12-08 支付宝(杭州)信息技术有限公司 实现可信调度的方法及装置
CN115987686A (zh) * 2023-03-17 2023-04-18 北京启天安信科技有限公司 一种基于https代理的威胁检测方法

Also Published As

Publication number Publication date
CN109218260B (zh) 2020-11-06
US11620373B2 (en) 2023-04-04
WO2019007028A1 (zh) 2019-01-10
EP3651428A1 (en) 2020-05-13
US20200125717A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
CN109218260A (zh) 一种基于可信任环境的认证保护系统及方法
CN105978917B (zh) 一种用于可信应用安全认证的系统和方法
JP6401784B2 (ja) 決済認証システム、方法及び装置
JP5331818B2 (ja) 逆発信者idプロセスを使用したユーザidの認証
CN108965331B (zh) 登录校验方法、装置和登录系统
CN113992346B (zh) 一种基于国密加固的安全云桌面的实现方法
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN104753674A (zh) 一种应用身份的验证方法和设备
CN108650261B (zh) 基于远程加密交互的移动终端系统软件烧录方法
CN103888948B (zh) 一种智能终端移动应用的安全控制方法和装置
CN111355591A (zh) 一种基于实名认证技术的区块链账号安全的管理方法
CN111460410A (zh) 服务器登录方法、装置、系统与计算机可读存储介质
CN109150811B (zh) 一种实现可信会话的方法及装置、计算设备
US20190251249A1 (en) Methods and Systems for Securing and Recovering a User Passphrase
CN113626840A (zh) 接口认证方法、装置、计算机设备和存储介质
CN112968892A (zh) 信息的验证方法、装置、计算设备和介质
US11317288B2 (en) Systems and methods for securing communication between a native application and an embedded hybrid component on an electronic device
CN109981677B (zh) 一种授信管理方法及装置
CN114338201A (zh) 数据处理方法及其装置、电子设备及存储介质
CN104850776A (zh) 控制对api调用的方法、装置与移动终端
CN110851837B (zh) 一种基于可信计算的自助设备、其安全管理系统及方法
CN112118209B (zh) 车辆设备的账号操作方法及装置
US20150170150A1 (en) Data verification
CN105430022B (zh) 一种数据输入控制方法和终端设备
CN115146284A (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