CN105531709A - 可执行对象在本地设备上的受信任的执行 - Google Patents

可执行对象在本地设备上的受信任的执行 Download PDF

Info

Publication number
CN105531709A
CN105531709A CN201380079574.6A CN201380079574A CN105531709A CN 105531709 A CN105531709 A CN 105531709A CN 201380079574 A CN201380079574 A CN 201380079574A CN 105531709 A CN105531709 A CN 105531709A
Authority
CN
China
Prior art keywords
enclave
data
electronic equipment
signature key
authentication signature
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
CN201380079574.6A
Other languages
English (en)
Other versions
CN105531709B (zh
Inventor
S·L·格罗伯曼
C·伍德沃德
小詹姆斯·D·比内
J·S·雷诺
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN105531709A publication Critical patent/CN105531709A/zh
Application granted granted Critical
Publication of CN105531709B publication Critical patent/CN105531709B/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
    • 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/31User authentication
    • 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/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications
    • 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/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

在一个示例实施例中,提供了一种电子设备,并且所述电子设备配置成:获取经授权的用户的认证数据;将所述认证数据存储在飞地中;获取潜在用户的标识数据;以及在所述飞地中,将所述标识数据与所述认证数据进行比较,以便识别所述潜在用户是否是所述经授权的用户。在另一个实施例中,提供一种服务器,并且所述包括:至少一个处理器;至少一个存储器;至少一个驱动器,其中,所述服务器配置成:从电子设备接收断言数据,其中,所述断言包括认证签名密钥和来自获取的数据与参考数据的比较的结果;以及通过以下步骤来判断所述断言数据是否是有效的:将所述结果与阈值进行比较;以及将所述认证签名密钥与分配给所述电子设备的认证签名密钥进行比较。

Description

可执行对象在本地设备上的受信任的执行
相关申请的交叉引用
本申请根据35U.S.C.§119(e)要求2013年9月27日提交的题为“在本地设备上的受信任的执行”(“TRUSTEDEXECUTIONONALOCALDEVICE”)的美国临时申请案S/N.61/883,970的优先权权益,此美国临时申请通过引用被整体并入本文。
技术领域
本申请涉及计算机网络安全领域,更具体而言,本申请涉及用于可执行对象在本地设备上的受信任的执行的系统、装置和方法。
背景技术
如贯穿本说明书所使用,恶意的软件(“恶意软件”)可包括任何病毒、特洛伊木马、bot、僵尸、隐藏程序(rootkit)、后门、蠕虫、间谍软件、广告软件、勒索软件、拨号器、有效载荷、恶意浏览器助手对象、缓存(cookie)、记录器,或者设计成采取潜在地不希望的动作的类似物,作为非限制性示例,包括,系统劫持、对经授权的用户的假冒、对系统的未经授权的访问、数据销毁、隐蔽数据收集、浏览器劫持、网络代理或重定向、隐蔽跟踪、数据记录、键盘记录、对于删除的过度的或故意的阻碍、联系人采集以及未经授权的自传播。
除了被开发成作为独立程序来操作以外,恶意软件也可以呈现被添加或被注入到其他软件中的恶意代码的形式。这种形式的一个示例可以是“受感染的文件”,由寄生性复制的计算机病毒在此“受感染的文件”中引入恶意代码。恶意代码也可以被手动地注入,或者它可以被添加到软件的源代码中,使得在编译之后,它将变成可执行的对象的部分或可以被添加到脚本中并被解释,所述可执行对象可以经编译或可以不经编译。
附图说明
通过在结合所附附图来阅读以下具体实施方式,最好地理解本公开。值得强调的是,根据行业内的标准惯例,各种特点不是按比例绘制的,并且仅用于说明。事实上,为了使讨论清楚,可以任意地扩大或缩小各种特征的尺寸。
图1是根据本说明书的一个或多个示例的、用于可执行对象在电子设备上的受信任的执行的环境的框图。
图2是根据本说明书的一个或多个示例的、用于可执行对象在电子设备上的受信任的执行的环境的框图。
图3是根据本说明书的一个或多个示例的存储器空间的框图。
图4是根据本说明书的一个或多个示例的电子设备110的框图。
图5是根据本说明书的一个或多个示例而执行的访问飞地的示例过程的流程图。
图6是根据本说明书的一个或多个示例而执行的、在电子设备上的受信任的执行的示例过程的流程图。
图7是根据本说明书的一个或多个示例而执行的、电子设备的证实的示例过程的流程图。
图8是根据本说明书的一个或多个示例而执行的、访问电子设备或访问电子设备上的应用的示例过程的流程图。
图9是根据本说明书的一个或多个示例而执行的、处理断言的示例过程的流程图。
图10是根据本说明书的一个或多个示例而执行的、处理断言的示例过程的流程图。
图11是根据本说明书的一个或多个示例而执行的、创建经授权的用户的示例过程的流程图。
具体实施方式
概述
在示例中,公开了用于经由安全的受信任的环境、在本地设备上、在本地执行来自任何合适的服务(例如,云服务)的敏感的代码的系统、装置和方法。在一个示例实施例中,提供了一种电子设备,并且所述电子设备包括:至少一个处理器;至少一个存储器;以及,至少一个驱动器,其中,所述电子设备配置成:获取经授权的用户的认证数据;将所述认证数据存储在飞地中;获取潜在用户的标识数据;以及在所述飞地中,将所述标识数据与所述认证数据进行比较,以便识别所述潜在用户是否是所述经授权的用户。从广义来说,术语“获取”包括与访问、接收、保护、获悉,检索,或以其他方式获取数据相关联的任何活动。另外,术语“识别”旨在包括与评估、验证、关联、区分、理解,或以其他方式标识给定用户的一个或多个属性、特性,或特征相关联的任何活动。
在另一实施例中,提供了服务器,并且所述包括:至少一个处理器;至少一个存储器;至少一个驱动器,其中,所述服务器配置成:从电子设备接收断言数据,其中,所述断言包括认证签名密钥和来自获取的数据与参考数据的比较的结果;以及通过以下操作来判断所述断言数据是否是有效的:将所述结果与阈值进行比较;以及将所述认证签名密钥与分配给所述电子设备的认证签名密钥进行比较。
本公开的示例实施例
云计算是用于描述涉及通过实时的通信网络(诸如,因特网)而连接的大量的计算机的各种计算概念的概念。云计算依赖于资源的共享以实现规模的一致性和经济性,类似于网络上的共用事业(像电网)。云计算的基础是收敛的基础结构和共享的服务的更广泛的概念。云还专注于使共享资源的有效性最大化。当今的云计算系统处置增加数量的重要、敏感且有价值的信息。此信息应当受保护而免受恶意软件失窃。
当前,典型地使用两种不同的方法来解决保护设备和应用免受恶意软件和失窃的问题。在一种方法中,在本地执行敏感的处理。例如,这可以利用操作系统访问控制的最佳实践(包括以特许执行模式来运行敏感的代码)。本地沙箱和应用/硬件虚拟化技术可以控制对进程、线程和操作系统对象的访问。然而,本地安全技术一般对抵御高级的持续性威胁、应用中的人攻击、以及虚拟化或基于硬件的攻击是无效的。
在第二方法中,在云中执行敏感的处理。例如,可以使用超文本传输协议安全(HTTPS)/安全套接字层(SSL)和类似的协议来防止在空中的(in-flight)秘密失窃。另外,可以使用签数字签名来防止假冒和窜改。也可以使用一次性密码。另外,有时使用双因子认证技术来减轻回复攻击。然而,这些方法是次最佳的,因为基于云的处理过于复杂(特别是当可以在本地执行处理云时),可能要求连接到网络,并且会经受网络变量(诸如,等待时间(latency))。另外,连接对于服务提供商而言可能是昂贵的,因为他们支付计算机处理单元(CPU)、存储器和带宽使用,并且会经受中间人以及拒绝服务网络攻击。所需要的是允许在本地安全地执行基于云的服务而不牺牲性能、成本或安全的系统和方法。如果系统和方法利用受信任的环境来替换基于云的服务,而不是专注于使基于云的通信安全或依赖于不充分的操作系统(OS)访问控制、定制的沙箱或虚拟化技术,那么将是有益的。
通过非限制性示例提供上文内容,在所述非限制性示例中,可有用地部署本说明书的系统和方法。下列公开提供用于实现本公开的不同特征的许多不同的实施例或示例。下文中将描述组件和布置的特定示例以简化本公开。当然,这些仅是示例,并不旨在是限制性的。此外,本公开可以在各种示例中重复参考编号和/或字母。此重复只是为了简明和清晰,并且本身不规定所讨论的各实施例和/或配置之间的关系。不同的实施例可以具有不同的优点,并且没有特定优点是任何实施例一定需要的。
在本说明书的示例中,提供了用于应用或进程在本地设备上的受信任的执行的系统和方法,所述受信任的执行允许敏感的操作(诸如,生物计量认证)在用户的电子设备上、在受信任的安全环境中、在本地执行,而不牺牲性能、成本和安全。
在一个示例中,可以使用飞地(enclave)来降低总的复杂性、等待时间和云成本(例如,CPU、存储器、带宽,等等)。术语“飞地”包括受信任的执行环境(TEE),并且是存储器中仅可有此飞地本身访问或通过受信任的服务应用程序接口来访问的受保护的区域。其他进程不能读取、写入或以其他方式访问存储在此飞地中的数据。系统可以减少来自本地保护机制的间隙和未知性(包括基于硬件的攻击),因为系统可配置成允许对数据的收集和处理而无需去往电子或本地设备上的其他进程,、或基于云的服务的外部通信。此类过程可以显著地减小系统的攻击表面,并且允许更安全的环境。
系统和方法可以利用飞地,并且保护来自硬件传感器的数据获取,数据分析(例如,经由生物计量算法来标识用户)并保护通过经加密的且经完整性校验的通信信道(例如,基于声明(claim)的认证或OAUTH)来将结果传输到第三方服务器。另外,算法可以在已知的安全环境中执行,在此已知的安全环境中,系统可以断言,即使恶意软件已经在设备上运行,由系统使用中的算法和运行时数据也不能被检查、篡改、或以别的方式恶意地修改。永久性数据可以由飞地加密,随后被安全地存储在任何文件系统(包括不受信任的文件系统)中。即便电子设备已遭破坏也允许用户执行敏感的操作(例如,向web服务认证)可以提供显著的优点。在这样做时,系统可以降低总的复杂性,消除不必要的云组件,减少系统的总攻击表面,并且甚至在系统的部分早破坏的情况下也允许用户利用此系统。
根据本说明书的一个或多个非限制性示例实施例,所公开的系统和方法通过将用于敏感操作的算法和数据从云中移动到飞地中来操作。这允许(运行时和永久性两种)算法和数据受保护而免受攻击者的攻击。另外,操作能以完全本地速度来执行而不需要网络连接,并且不经受等待时间、中间人攻击以及面向网络的拒绝服务攻击的影响。此外,服务提供商不承担云CPU、存储器和带宽使用成本。
在示例中,提供了两个宽泛的阶段:自举(bootstrapping)和正常操作。在自举阶段,“供应”(“provision”)飞地。在供应期间,证实服务器判断电子设备是否具有受信任的执行能力,如果是,则此证实服务器与电子设备上的飞地共享数据和认证签名密钥。在正常阶段期间,认证和签名密钥用于飞地与认证服务器之间的安全通信。在正常阶段,算法在安全的环境中、在飞地内部运行。电子设备可以配置成通过调用允许进入飞地的一组预定义的边缘函数来执行算法。来自算法的结果与认证签名密钥一起被发送到认证服务器以验证结果的真实性和有效性。
下面是将基于云的生物计量处理移动到根据本说明书的一个或多个示例实施例的使用飞地的电子设备的示例使用情况的说明。应当指出的是,在此公开的受信任的执行技术仅作为非限制性示例而给出,并且意图在于,用于可执行对象的受信任的执行或对数据的访问的任何合适的技术都应当被包括在本说明书的广泛的范围中。
在供应期间,证实服务器确认不受信任的电子设备具有飞地或TEE能力。在成功地确认时,证实服务器使用公钥基础结构(PKI)来与电子设备共享参考数据和一次一密(one-timepad)或认证签名密钥。在示例中,认证签名密钥是非对称的。来自证实服务器的所共享的数据由飞地使用硬件存储特征来存储,或这被加密且存储在不受信任的文件系统上。认证应用可以请求飞地从硬件传感器收集生物计量数据,或者如果硬件传感器不能从飞地访问和/或不能在飞地内操作,则使用受信任的服务应用程序接口(API)来将原始生物计量数据递送至飞地。飞地可以处理生物计量数据,并且构建断言数据,所述断言数据描述原始的生物计量数据标识了已知的用户(即,电子设备)以及认证尝试是实况的(即,不是重放的视频或照片)的置信度。
可以由飞地使用在供应/证实期间共享的认证签名密钥来对断言数据(即,消息)签名(并潜在地对断言数据加密)。一旦经签名(以及在一些示例中,经加密),则随后断言数据可以被返回到授权应用,并被发送到认证服务器。认证服务器可以通过验证认证签名密钥来断言,声明未经篡改(为了恶意地修改断言,攻击者将需要改变断言并且利用仅在飞地内可访问的认证签名密钥来对断言重新签名)。认证服务器可将经签名的令牌与飞地已知的密钥返回到授权应用。授权应用可以通过使用对飞地的受信任的服务API调用来验证令牌的完整性,并且验证令牌未经篡改。
图1是根据本说明书的一个或多个示例的、用于可执行对象在本地设备上的受信任的执行的环境的框图。在此示例中,环境可包括电子设备110、认证服务器120和证实服务器130。电子设备110、认证服务器120和证实服务器130可以通过网络200(例如,使用任何合适的无线或有线协议)进行通信。
网络200表示用于接收和传输信息分组(packet)的经互连的通信路径的一系列点或节点。网络200在电子设备110、认证服务器120与证实服务器130之间提供通信接口,并且可以是任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、虚拟私有网络(VPN)、内联网、外联网,或促进网络环境中的网络通信的任何其他合适的架构或系统。可以根据任何合适的通信消息传送协议来发送和接收网络通信,所述网络通信可以包括分组、帧、信号、数据,等等。合适的通信消息传送协议可包括多层的方案,诸如,开放系统互连(OSI)模型,或其任何衍生或变体(例如,传输控制协议/网际协议(TCP/IP)、用户数据报协议/IP(UDP/IP))如本文中所使用,术语“数据”是指可以从计算设备(例如,电子设备)和/或网络中的一个点传递到另一点的任何类型的二进制、数值、语音、视频、文本、或脚本数据、或任何类型的源或目标代码、或以任何合适的格式的任何其他合适的信息。
认证服务器120可以是可通过验证认证签名密钥来验证来自电子设备110的断言未经篡改的服务器或其他设备。认证服务器120可以将经签名的令牌与飞地180已知的密钥返回到电子设备110以验证断言完整性的真实性。证实服务器130可以是判断电子设备110是否具有用于受信任的执行能力的受信任的环境(例如,飞地或TEE)的服务器或其他设备。如果是,则证实服务器130可以与飞地180共享数据和认证签名密钥材料,所述认证签名密钥材料用于飞地180与认证服务器120之间的安全通信。
术语“服务器”包括用于服务客户端的请求和/或代表客户端来执行某项计算任务的任何设备。认证服务器120和证实服务器130可以与经由某种网络(例如,网络200)而与希望发起通信的客户端、消费者、端点或最终用户相关联。认证服务器120和证实服务器130可以是虚拟服务器、非虚拟化服务器,或力图代表另一实体或元件来发起通信的任何设备,所述另一实体或元件诸如,程序、数据库,或能够发起交换的任何其他组件、设备、元件或对象。
电子设备110与装置同义,并且它包括诸如以下各项的设备:端点、用户装备、任何类型的手持式设备、接收机、计算机、台式计算机、膝上型计算机、电子笔记本、互联网设备、机顶盒、互联网无线电设备(IRD)、蜂窝电话、IP电话、智能电话、平板、个人数字助理(PDA)、游戏控制台、移动互联网设备、谷歌安卓TM、iPhoneTM,以及iPadTM、微软SurfaceTM、遥控器、外围设备或能够执行指令或数据交换的任何其他设备、组件元件或对象。
电子设备110可包括存储器空间115和硬件传感器170。存储器空间115可以用于临时地或永久性地存储程序(指令序列)或数据(例如,程序状态信息),以便在计算机或其他数字电子设备中使用。存储器空间115可用于存储(例如,软件内的)数据和/或指令;存储器空间115可以是任何合适的存储器(诸如,非易失性存储器、闪存,等等),并可包括任何合适的非易失性存储设备,诸如,一个或多个硬盘驱动器(HDD)。在特定示例中,存储器空间115可以是进程存储器空间。硬件传感器170可以是对用户输入作出响应的传感器。“用户”可包括能够操作、使用电子设备100或以其他方式与电子设备110对接的任何人、实体、软件或设备。在一个示例中,硬件传感器170可以是测量物理量并将此测量转换为可以由电子设备110读取的信号的传感器或转换器。在特定示例中,硬件传感器170可以是生物传感器(例如,生物计量传感器)、化学传感器或小键盘。
存储器空间115可包括飞地180和认证应用190。认证应用190可以是可以访问来自飞地180和硬件传感器170的数据以判断某人或某物事实上是否是它被声称的人或物的应用或进程。飞地180可以是TEE或存储器中仅可由飞地180本身访问或通过受信任的服务应用程序接口访问的受保护的区域,其他进程不能读取、写入或以其他方式访问存储在飞地180中的数据。
飞地180可包括受信任的服务应用程序接口(API)140、一个或多个算法150、参考数据160以及密钥165。受信任的服务API140可以是指定飞地180中的进程或组件如何与飞地180外部的进程或组件进行交互的API。例如,受信任的服务API140可以指定认证应用190如何与飞地180中的一个或多个算法150、参考数据160以及认证签名密钥165进行交互。一个或多个算法150可包括允许对用户进行认证的一个或多个算法以及可以基于认证来创建断言或声明的一个或多个算法。参考数据160可包括由受信任的服务API140用来分析来自硬件传感器170的输入以验证输入的真实性的数据。
以一般的术语而言,飞地180、证实服务器130以及认证服务器120是网络元件,包括任何类型的节点、网关、路由器、处理器核、服务器刀片、服务元件,以及可以促进本文中所讨论的网络通信活动的任何设备、主机、或服务器(与“装置”同义)。如本文中在本说明书中所使用,术语“网络元件”是广义术语,旨在涵盖路由器、交换机、电缆盒、网关、桥接器、负载平衡器、蜂窝与WiMAX接入集中器、防火墙、管理员箱、内联服务节点、代理、服务器、处理器、模块,或可操作以在网络环境中交换信息的任何其他合适的设备、组件、元件、专属设备或对象。这些网络元件可包括促进其操作的任何合适的硬件、软件、组件、模块、接口或对象。这可以包括允许数据或信息的有效交换的合适的算法、通信协议和接口。
电子设备110可配置成使用在安全的受信任环境中的飞地180,在本地执行来自云服务的敏感的代码。飞地180和电子设备110可以由证实服务器130来认证。可在飞地180中执行应用(诸如,认证应用190),并且可将来自此应用的结果存储在飞地180中,或者此结果(或结果的至少部分)可经加密并被导出以存储在与飞地180分开的不受保护的存储器中。此结果与认证签名密钥165一起被发送到认证服务器120。
在图1中,飞地180被公开为位于存储器空间115中,但是,应当指出的是,其他配置是可能的,使得飞地180可以位于电子设备中的另一存储器空间中,或位于与电子设备110分开的或可以与电子设备110分开的存储器空间中,诸如,在拇指驱动器上或在电子设备110的外围设备上。此外,以一般的术语而言,取决于特定的配置,在本说明书中公开的实体可以是或可以不是分开的实体。
图2是根据本说明书的一个或多个示例的、用于可执行对象在本地设备上的受信任的执行的环境的实施例的框图。环境可包括电子设备110、认证服务器120、证实服务器130以及不受信任的电子设备220。电子设备110、认证服务器120、证实服务器130以及不受信任的电子设备220可以通过网络200进行通信。不受信任的电子设备220可包括安全应用240和访问门户260。安全应用可以是用户希望访问的安全的应用、程序,网页,等等。访问门户260可以由电子设备110用来访问安全应用240。例如,安全应用240可以是用户需要为某类别采取的在线测试。访问门户260可以是可以由电子设备110扫描的快速响应代码TM(quickresponsecodeTM(QRCodeTM))。使用飞地180和认证应用190,可以识别或验证用户的身份,可以授予用户对安全应用240的访问。
图3是根据本说明书的一个或多个示例的存储器空间115的框图。存储器空间115可包括OS存储器空间302、飞地180、应用栈存储器空间304以及应用代码存储器空间306。飞地180可包括参考数据160、一个或多个算法150、认证签名密钥165以及受信任的服务API140。一个或多个算法150可包括生物计量算法308和声明构建算法310。一个或多个算法150也可以包括可由电子设备110使用的其他算法或不同的算法。
当将从硬件传感器170获取的数据与参考数据160中的数据比较以标识用户或确定认证时,可以使用生物计量算法308。声明构建算法310可用于生成断言数据或关于用户身份的声明。断言可包括生物计量算法的结果以及关于电子设备110的数据。断言还包括认证签名密钥165,并且可以经加密。
图4是根据本说明书的一个或多个示例的电子设备(例如,电子设备110)或客户端设备的框图。电子设备由处理器410控制,所述处理器410可通信地耦合到存储器元件420。在示例中,处理器410经由总线470可通信地耦合到其他系统元件。作为非限制性示例,那些元件可包括网络接口440和存储设备450,在一些情况下,可以是某种存储器元件420、硬件传感器170和用户接口460。明确地计划在硬件、软件、固件,或它们的任何组合来实现上述元件中的任何一个。
处理器410配置成例如经由可执行的软件或固件指令来控制电子设备。“处理器”可包括提供硬件、软件或提供可编程逻辑的固件的任何组合,作为非限制性示例,所述可编程逻辑包括微处理器、数字信号处理器、现场可编程门阵列、可编程逻辑阵列、专用集成电路或虚拟机处理器。
在一些实施例中,存储器420可以是相对低等待时间的易失性存储器,并且可包括主存储器、高速缓存、芯片上存储器、L1存储器、L2存储器,等等。注意,在此实施例中,处理器410以与存储器420的直接存储器访问布置来描绘处理器410,但是在其他实施例中,存储器420可以经由系统总线470、经由某个其他的总线,或经由某种其他手段来与处理器410通信。此外,虽然存储器420和存储设备450在此示例中被描绘为物理地或在概念上分开的设备,但是应当理解,在一些实施例中,存储器420和存储设备450可以共享物理设备,此物理设备可以或可以不被分成分开的存储器区域。如此,应当理解,在此公开的布置仅是示例而不是限制性的。相反,明确地计划甚至在分开地论及存储器和存储设备的情况下,它们可以具体化在单个的物理或逻辑设备中,除非另外明确地陈述。
在此示例中,网络接口440包括配置成可通信地将电子设备耦合到其他计算设备的任何通信介质,无论是模拟、数字还是混合信号。作为非限制性示例,网络接口440可包括WiFi、以太网、火线、光纤、USB、串行接口、红外、蜂窝网络、数字PCS网络、2G数据网络、3G数据网络、4GWiMAX,或4GLTE数据网络。
在一些实施例中,可以提供用户接口460以辅助用户与电子设备110交互。术语“用户接口”可包括配置成使用户能够与电子设备交互(无论是否是实时地)的硬件、软件,和固件的任何组合。在示例中,作为非限制性示例,用户接口460可包括键盘、鼠标、显示监视器、扬声器、话筒、可以充当组合式输入/输出设备的触敏显示器以及相机。用户接口460可包括软件服务(诸如,图形用户界面),包括征求来自用户的输入或确认的实时的对话框。
存储设备450被公开为非易失性存储器介质的示例,它可以是存储器420的一种。在一些实施例中,存储器420和存储设备450可以是分开的设备,并且存储器420是相对低等待时间的易失性存储器设备,而存储设备450是相对较高等待时间的非易失性存储器设备。存储设备450也可以是另一设备,诸如,硬盘驱动器、固态驱动器、外部存储设备、独立磁盘冗余阵列(RAID)、附接网络的存储设备、光存储设备、带驱动器、备份系统,或前述各项的任何组合。许多其他配置是可能的,并且旨在被涵盖在此说明书的广泛的范围内。在示例中,存储器420包括存储器空间115,并且也可以包括处于执行状态的可执行对象。存储设备450也可以包括可以处于休眠状态或静态的可执行对象。
图5是根据本说明书的一个或多个示例的、由电子设备110执行以访问飞地的示例过程的流程图500。本领域技术人员可以想到许多其他组合,并且所述其他组合旨在被涵盖在本说明书的广泛的范围内。进一步应当注意的是,仅作为示例而按特定的顺序公开图5中的方法的步骤或过程以及本说明书中的其他方法,并且除非在明确地另外陈述的情况下,或除非在本公开的上下文使得一个步骤跟随另一步骤是不含糊地清晰的情况下,否则可任意地重新安排所采取的步骤的顺序。此外,在一个步骤明确地或必定地跟随另一步骤的情况下,不旨在暗示以下情况:第二步骤在第一步骤之后直接或立即发生;中间步骤发生;或第二步骤是第一步骤的直接,立即且不中断的结果;或者要不是第一步骤,第二步骤不能发生。
在此示例中,在框510中,访问存储器以启用或以其他方式访问应用或数据。在框520中,飞地访问(变量)被置位为零。在框522中,系统判断飞地模式是否被启用或置位。在实施例中,当处理器进入飞地时,系统开始以飞地模式运行。此模式改变存储器访问语义以对存储器访问执行附加的校验,并且允许飞地内部的代码访问那个特定的飞地。否则,对飞地的存储器访问会导致中止页面值的返回。如果飞地模式未被启用,则如在框542中所示,可来执行传统页面/扩展页表(EPT)移动(walk)。如果飞地模式被启用,则如在框530中所示,系统判断应用或数据的访问地址是否在飞地地址空间中。如果应用或数据的访问地址不在飞地地址空间中,则如在框542中所示,可执行传统页面/EPT移动。如果应用或数据的访问地址在飞地地址空间中,则如在框540中所示,飞地访问被置位为1。在框542中,可以执行传统页面/EPT移动。
在框550中,系统判断飞地访问是否被置位为1。如果飞地访问不被置位为1,则在框570中,系统判断应用或数据的物理地址是否位于飞地页面高速缓存(EPC)中。如果物理地址不在EPC中,则如在框580中所示,允许对应用或数据的访问。如果物理地址在EPC中,则如在框572中所示,将物理地址替换为不存在的存储器地址,并且如在框580中所示,允许对应用或数据的访问。
往回参考框550,如果系统确定了飞地访问被置位为1,则如在框560中所示,系统判断物理地址是否在EPC中。如果物理地址不在EPC中,则如590中所示,发出信号出错错误。如果物理地址在EPC中,则如在框562中所示,系统进行飞地页面高速缓存映射(EPCM)校验。如在框582中所示,系统判断EPCM校验是否成功。如果EPCM校验成功,则如在框580中所示,允许对应用或数据的访问。如果EPCM校验不成功,则如在框590中所示,发出信号出错错误。
图6是根据本说明书的一个或多个示例的、用于在电子设备(即,本地设备)上的受信任的执行的方法的流程图。根据此示例,在框610中,分配用于电子设备的认证签名密钥。例如,可由证实服务器130将认证签名密钥分配给电子设备110。在框615中,将认证签名密钥存储在受保护的存储器(例如,飞地180)中。在框620中,获取经授权的用户的认证数据。在框625中,将此认证数据存储在受保护的存储器中。在框630中,获取用户的标识数据。例如,可以使用硬件传感器170来获取希望访问系统的用户的标识数据。在一个特定示例中,标识数据是生物计量数据。
在框635中,将标识数据与认证数据进行比较。例如,认证应用190可以使用受信任的服务API140来访问生物计量算法308,并且将标识数据与认证数据进行比较。应当理解,许多算法对于将标识数据与认证数据进行比较都是可能的,并且除非明确地陈述,否则本说明书(包括所附权利要求书)的范围不旨在限于任何特定的算法。
在框640中,基于此比较,系统判断用户是否是经授权的或经识别的用户。如果用户不是经授权的用户,则如在框645中所示,此用户被认为是未经识别的,并且不允许对系统的访问。如果用户是经授权的用户,则如在框650中所示,将比较的结果和认证签名密钥发送到认证服务器。在框655中,系统判断此认证签名密钥是否匹配分配给电子设备的认证签名密钥。如果此认证签名密钥不匹配分配给电子设备的认证签名密钥,则如在框645中所示,用户被认为未经识别。如果此认证签名密钥匹配分配给电子设备的认证签名密钥,则在框660中,用户被视为经识别,并且允许对系统的访问。在示例中,可以在认证服务器处执行用户是否是经授权的用户(框640)的判断。
图7是根据本说明书的一个或多个示例的证实电子设备的方法的流程图。根据此示例,在框710中,执行飞地证实。这判断电子设备110是否具有飞地或TEE能力。在框720中,系统判断证实是否成功。如果证实不成功,则如在框730中所示,供应失败错误发生。如果证实成功,则如在框740中所示,导出认证签名密钥。在框750中,证实计数(变量)被置位为零。使用证实计数来控制认证签名密钥被使用的次数。通过仅允许认证签名密钥被使用一定数量的次数,如果认证签名密钥正在由恶意软件恶意地使用或捕捉,则可以减轻损害。在框760中,与认证服务器共享认证签名密钥。在框770中,供应经授权的用户。供应经授权的用户的步骤可包括:为此用户获取认证数据。在框780中,密封证实计数和签名密钥。在示例中,可以通过将证实计数和认证签名密钥存储在飞地180中来密封它们。
图8是根据本说明书的一个或多个示例的、访问电子设备或访问电子设备上的应用的方法的流程图。根据此示例,在框810中,生成访问代码,并将在电子设备上显示此访问代码。访问代码可以是QR代码、条形码,或可由电子设备(例如,电子设备110)识别的某种其他类型的代码。在框820中,将此代码输入到电子设备中。例如,可以由电子设备110扫描此代码,或可手动地将此代码输入到电子设备110中。在框830中,捕捉所针对用户的标识数据。例如,硬件传感器170可用于所针对的用户捕捉生物计量标识数据,诸如,指纹。在框840中,电子设备判断所针对的用户的捕捉到的标识数据是否匹配经授权的用户的所存储的认证数据。如果捕捉到的标识数据不匹配,则如在框850中所示,所针对的用户不被识别(因此,不被允许访问电子设备或应用)。如果捕捉到的标识数据匹配,则如在框860中所示,所针对的用户被识别(并可以被允许访问电子设备或应用)。
图9是根据本说明书的一个或多个示例的处理断言或声明的方法的流程图。根据此示例,在框910中,接收对于对访问系统的断言。例如,认证服务器120可能已经从电子设备110接收了包括认证签名密钥的断言或声明。在框920中,系统判断断言是否被正确地签名。如果断言没有被正确地签名,则如在框930中所示,(用户的)访问被拒绝,或用户未经识别。如果断言被正确地签名,则如在框940中所示,提取断言细节。断言细节可包括置信度,使用声明构件算法310以及当将所针对的用户的标识数据与经授权的用户的认证数据比较时来自生物计量算法308的结果来创建所述置信度。在框950中,系统判断用户是否是已知的。如果用户不是已知的,则如在框930中所示,用户的访问被拒绝。
如果用户是已知的,则如在框960中所示,系统判断置信度是否满足阈值。例如,断言细节可以包含来自标识数据与认证数据的比较的结果。结果可以被表达为百分比匹配(例如,在标识数据与认证数据之间发现95%匹配,则系统可以判断此95%是否高于阈值(诸如,90%))。如果置信度不满足阈值,则如在框930中所示,(用户的)访问被拒绝。如果置信度满足阈值,则如在框970中所示,系统判断会话是否是已知的。例如,此会话可以是如在图2中引用的安全应用240。如果会话不是已知的,则如在框930中所示,(用户的)访问被拒绝。如果会话是已知的,则如在框916中所示,(用户的)访问被允许,用户被识别。
图10是根据本说明书的一个或多个示例的、用于处理断言或声明的方法的流程图。根据此示例,在框1010中,访问证实计数和认证签名密钥。在框1020中,系统判断证实计数是否大于阈值。如果证实计数不大于阈值,则如在框1060中所示,构建断言。如果证实计数大于阈值,则如在框1030中所示,导出新的认证签名密钥。可以从证实服务器130请求新的认证签名密钥。通过仅允许认证签名密钥被使用一定数量的次数,如果认证签名密钥正在由恶意软件恶意地使用或捕捉,则可以减轻损害。在框1012中,证实计数被置位为零。在框1050中,与认证服务器共享新的认证签名密钥。在框1060中,构建断言。此断言可包括置信度,使用声明构件算法310以及当将所针对的用户的标识数据与经授权的用户的认证数据比较时来自生物计量算法308的结果来创建所述置信度。在框1070中,利用认证签名密钥来对断言签名,并且此断言被发送到认证服务器。例如,认证应用190可以使用受信任的服务API140来访问声明构建算法310,从而利用认证签名密钥165来构建断言或声明,并对此断言或声明签名。应当理解,许多算法对于构建断言以及对断言签名是可能的,并且除非明确地陈述,否则本说明书(包括所附权利要求书)的范围不旨在限于任何特定的算法。
图11是根据本说明书的一个或多个示例的创建经授权的用户的方法的流程图。根据此示例,在框1110中,捕捉用户的身份数据。在框1120中,从捕捉到的身份数据中生成认证数据。在框1130中,访问经授权的用户的列表。在框1140中,系统判断此用户是否是现有的经授权的用户并且是否具有存在的用户简档。如果用户不是现有的经授权的用户,则如在框1150中所示,创建用户简档,并且如在框1160中所示,将认证数据添加到此用户简档。
如果用户是现有的经授权的用户,则如在框1170中所示,系统判断用户简档是否被允许更新。如果用户简档不被允许更新,则此过程停止,并且可以发送错误消息或用户已经经注册以及用户简档不能被更新的某种类型的通知。如果用户被允许更新,则如在框1160中所示,将认证数据添加到用户简档。
在示例实现中,也可以在软件中实现本文中概述的处理活动的至少一些部分(例如,涉及本地处理、云处理、飞地,等等)。这可包括在任何合适的位置(例如,在服务器中,在路由器中,在防火墙中,在电子设备中,等等)中供应的图3或图4的模块的实例。在一些实施例中,这些特征中的一个或多个可以在前述设备中的硬件中实现,或可在所公开附图的元件的外部提供,或能以任何合适的方式被合并以实现计划的功能。各种组件可包括可协调以便实现如本文中概述的操作的软件(或往复式软件)。在其他实施例中,这些元件可包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
另外,可去除或以其他方式合并与所描述的微处理器相关联的组件中的一些。在一般意义上,附图中所描绘的布置可以在它们的表示中更符合逻辑,而物理架构可以包括这些元件的各种排列、组合和/或混合。重要的是应注意到,可以使用无数可能的设计配置来实现本文中概述的操作目标。相应地,相关联的基础结构具有无数替代布置、设计选择、设备可能性、硬件配置、软件实现、设备选项,等等。
任何适当地配置的处理器组件都可以执行与数据相关联的任何类型的指令以实现本文中详述的操作。本文中公开的任何处理器都可以将元件或制品(例如,数据)从一种状态或事物转换为另一种状态或事物。在另一个示例中,可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现本文中概述的一些活动,并且本文中所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM))或包括数字逻辑、软件、代码、电子指令的ASIC、闪存、光盘、CD-ROM、DVDROM、磁卡或光卡、适于存储电子指令的其他类型的机器可读介质、上述各项的任何合适的组合。在操作中,处理器可在合适的情况下并基于特定的需求将信息存储在任何合适类型的非暂态存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM),等等)、软件、硬件,或任何其他合适的组件、设备、元件,或对象中。此外,基于特定需求和实现,可以在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储器结构中提供被跟踪、发送、接收或存储在处理器中的信息,所有的这些都可以在任何合适的时间帧中被引用。本文中所讨论的存储器项中的任何一个都应当解释为被涵盖在广义的术语“存储器”内。类似地,本文中所描述的潜在的处理元件、模块以及机器中的任何一个都应当解释为被涵盖在广义的术语“微处理器”或“处理器”内。
本公开的特定实施例可以容易地包括片上系统(SOC)中央处理单元(CPU)封装。SOC表示将计算机或其他电子系统的组件集成到单个芯片中的集成电路(IC)。它可以包含数字的、模拟的、混合式信号以及射频功能:所有这些都可以在单个芯片基板上提供。其他实施例可以包括多芯片模块(MCM),其中,多个芯片位于单个电子封装内,并且配置成通过此电子封装彼此密切地交互。在各种其他实施例中,可以在专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及其他半导体芯片中的一个或多个硅核中实现数字信号处理功能。
实现本文中所描述的功能中的全部或部分的计算机程序逻辑以各种形式具体化,这些形式包括但不限于,源代码形式、计算机可执行形式以及各种中间形式(例如,由汇编器、编译器、链接器或定位器生成的形式)。在示例中,源代码包括以各种编程语言实现的一系列计算机程序指令,用于与各种操作系统或操作环境一起使用,所述编程语言诸如,目标代码、汇编语言,或(诸如,OpenCL、FORTRAN、C、C++、JAVA、Python、Perl、JavaScript,或HTML),。源代码可以定义并使用各种数据结构和通信消息。源代码可以是计算机可执行形式(例如,经由解释器)的,或者源代码可以被转换为计算机可执行的形式(例如,经由转换器、汇编器,或编译器)。
在一个示例中,可以在相关联的电子设备的板上实现附图中的任意数量的电路。板可以是通用电路板,此通用电路板可以固定电子设备的内部电子系统的各种组件,并且可进一步地提供用于其他外围设备的连接器。更具体而言,板可以提供电连接就,系统的其他组件可以通过此电连接来电气地通信。基于特定的配置需求、处理要求、计算机涉及等,任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等),存储器元件等可适当地耦合到板。其他组件(诸如,外部存储器、附加传感器、用于音频/视频显示的控制器和外围设备)可以经由电缆、作为插入卡而被附连至板,或可被集成到板本身中。在另一示例中,附图中的电路可以被实现为独立模块(例如,具有相关联的组件以及配置成执行特定的应用或功能的电路的设备)或实现为插入到电子设备的专用硬件的插入式模块。
请注意,对于本文中提供的众多示例,能以两个、三个、四个,或更多电组件来描述交互。然而,仅处于清楚的目的且仅作为示例来这样做。应当理解,还能以任何合适的方式来合并系统。与类似的设计替代方案一起,能以各种可能的配置来组合附图中所示出的组件、模块和元件中的任何一个,所有的这些都显然在本说明书的广泛的范围内。在某些情况下,通过仅引用有限数量的电元件来描述给定的流程集的功能中的一个或多个功能可能是更容易的。应当理解,附图中的电路以及其教导是可容易地扩展的,并且可以接纳大量的组件以及更复杂/精制的布置和配置。相应地,所提供的示例不应当限制潜在地应用于无数其他架构的电路的范围,也不应当抑制电路的广泛教导。
示例实施例实现
作为非限制性示例,本文中作为示例1公开了一种设备,所述设备配置成:获取经授权的用户的认证数据并将所述认证数据存储在飞地中;获取潜在用户的标识数据;以及在所述飞地中,将所述标识数据与认证数据进行比较。还作为示例2公开了1的示例,其中,所述设备进一步配置成:从证实服务器获取认证签名密钥;以及将所述认证签名密钥存储在所述飞地中,其中,所述认证签名密钥验证所述飞地的身份。还作为示例3公开了2的示例,其中,所述设备进一步配置成将所述比较的结果和所述认证签名密钥发送到认证服务器。
还作为示例4公开了1的示例,其中,所述比较的所述结果是加密的。还作为示例5公开了1的示例,其中,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。作为示例6公开了1的示例,其中,所述标识数据是生物计量数据。作为示例7公开了1的示例,其中,在所述飞地外部获取所述标识数据,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。作为示例8公开了1的示例,其中,所述设备进一步配置成基于所述比较的所述结果来访问安全应用。作为示例9公开了1的示例,其中,所述飞地是受信任的执行环境。作为示例10公开了1的示例,其中,所述飞地是存储器中通过受信任的服务应用程序接口可访问的受保护的区域。
作为示例11公开了1的示例,其中,标识数据是由硬件传感器获取的。作为示例12公开了服务器,所述服务器配置成:从设备接收断言,其中,所述断言包括认证签名密钥以及来自获取的数据与参考数据的比较的结果;以及通过将所述结果与阈值进行比较并将所述认证签名密钥与分配给所述设备的认证签名密钥进行比较来判断所述断言是否是有效的。作为示例13公开了12的示例,其中,所述断言判断试图访问所述设备的用户是否是经授权的用户。
作为示例14公开了12的示例,其中,所述认证签名密钥是从证实服务器中获取的。作为示例15公开了12的示例,其中,所述设备进一步配置成:如果所述断言是有效的,则允许对所述设备的访问。作为示例16公开了12的示例,其中,所述断言是加密的。作为示例17公开了12的示例,其中,所述获取的数据和所述参考数据是生物计量数据。作为示例18公开了至少一种计算机可读存储介质,所述至少一种计算机可读存储介质包括指令,当被执行时,所述指令使装置:获取经授权的用户的认证数据;将所述认证数据存储在飞地中;获取潜在用户的标识数据;以及在所述飞地中,将所述标识数据与所述认证数据进行比较。
作为示例19公开了示例18的计算机可读存储介质,进一步包括指令,当被执行时,所述指令使装置:从证实服务器获取认证签名密钥;以及将所述认证签名密钥存储在飞地中,其中,所述认证签名密钥验证所述飞地的身份。作为示例20公开了示例19的计算机可读存储介质,进一步包括指令,当被执行时,所述指令使装置将所述比较的所述结果和所述认证签名密钥发送到认证服务器。作为示例21公开了示例18的计算机可读存储介质,其中,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。
作为示例22公开了示例18的计算机可读存储介质,其中,所述标识数据是生物计量数据。作为示例23公开了示例18的计算机可读存储介质,其中,在所述飞地外部获取所述标识数据,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。作为示例24公开了示例18的计算机可读存储介质,进一步包括指令,当被执行时,所述指令使装置基于所述比较的所述结果来访问安全应用。作为示例25公开了示例18的计算机可读存储介质,其中,所述飞地是受信任的执行环境。
前述的内容概述了若干实施例的特征,使得本领域技术人员可以更好地理解本公开的多个方面。本领域技术人员应当理解,他们可以容易地使用本公开作为用于设计或修改其他过程和结构以执行相同的目的和/或实现本文中介绍的多个实施例的相同优点的基础。本领域技术人员还应当认识到,此类等效构造不背离本公开的精神和范围,并且他们可以作出各种更改、替换和改变而不背离本公开的精神和范围。
众多其他改变、替换、变体、更改和修改对本领域技术人员可以是确定的,并且本公开旨在将所有此类改变、替换、变体、更改和修改涵盖为落在所附权利要求书的范围内。为了辅助美国专利商标局(USPTO)以及另外辅助在本申请中发布的任何专利的任何读者解读所附的权利要求,申请人希望指出,本申请人:(a)不旨在所附权利要求中的任一项调用35U.S.C.112章的段落(6),因为它在提交的日期存在,除非“用于……的装置”或“用于……的步骤”专门在特定的权利要求中使用;以及(b)不旨在通过说明书中的任何陈述,以不以其他方式反映在所附权利要求中的任何方式来限制本公开。

Claims (25)

1.一种电子设备,包括:
至少一个处理器;
至少一个存储器;
至少一个驱动器,其中,所述电子设备配置成:
获取经授权的用户的认证数据;
将所述认证数据存储在飞地中;
获取潜在用户的标识数据;以及
在所述飞地中,将所述标识数据与所述认证数据进行比较,以便识别所述潜在用户是否是所述经授权的用户。
2.如权利要求1所述的电子设备,其特征在于,所述电子设备进一步配置成:
从证实服务器中获取认证签名密钥;以及
将所述认证签名密钥存储在所述飞地中,其中,所述认证签名密钥验证所述飞地的身份。
3.如权利要求2所述的电子设备,其特征在于,所述电子设备进一步配置成:
将所述比较的结果和所述认证签名密钥发送到认证服务器。
4.如权利要求3所述的电子设备,其特征在于,所述比较的所述结果是加密的。
5.如权利要求1所述的电子设备,其特征在于,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。
6.如权利要求1所述的电子设备,其特征在于,所述标识数据是生物计量数据。
7.如权利要求1所述的电子设备,其特征在于,所述标识数据是在所述飞地外部获取的,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。
8.如权利要求1所述的电子设备,其特征在于,所述电子设备进一步配置成:
基于所述比较的所述结果来访问安全应用。
9.如权利要求1所述的电子设备,其特征在于,所述飞地在受信任的执行环境中操作。
10.如权利要求1所述的电子设备,其特征在于,所述飞地是存储器中通过受信任的服务应用程序接口可访问的受保护的区域。
11.如权利要求1所述的电子设备,其特征在于,所述标识数据是通过硬件传感器获取的。
12.一种服务器,包括:
至少一个处理器;
至少一个存储器;
至少一个驱动器,其中,所述服务器配置成:
从电子设备接收断言数据,其中,所述断言包括认证签名密钥以及来自获取的数据与参考数据的比较的结果;以及
通过以下操作来判断所述断言数据是否是有效的:
将所述结果与阈值进行比较;以及
将所述认证签名密钥与分配给所述电子设备的认证签名密钥进行比较。
13.如权利要求12所述的服务器,其特征在于,所述断言数据判断试图访问所述电子设备的对应的用户是否经授权。
14.如权利要求12所述的服务器,其特征在于,所述认证签名密钥是从证实服务器中获取的。
15.如权利要求12所述的服务器,其特征在于,所述服务器进一步配置成:
如果所述断言是有效的,则允许对于所述电子设备的访问。
16.如权利要求12所述的服务器,其特征在于,所述断言数据是加密的。
17.如权利要求12所述的服务器,其特征在于,所述获取的数据和所述参考数据是生物计量数据。
18.一种或多种计算机可读介质,具有存储在其上的指令,当由处理器执行所述指令时时,所述指令使所述处理器:
获取经授权的用户的认证数据;
将所述认证数据存储在飞地中;
获取潜在用户的标识数据;以及
在所述飞地中,将所述标识数据与所述认证数据进行比较,以便识别所述潜在用户是否是所述经授权的用户。
19.如权利要求18所述的介质,进一步包括指令,当由所述处理器执行所述指令时,所述指令使所述处理器:
从证实服务器中获取认证签名密钥;以及
将所述认证签名密钥存储在所述飞地中,其中,所述认证签名密钥验证所述飞地的身份。
20.如权利要求19所述的介质,进一步包括指令,当由所述处理器执行所述指令时,所述指令使所述处理器:
将所述比较的结果和所述认证签名密钥发送到认证服务器。
21.如权利要求18所述的介质,其特征在于,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。
22.如权利要求18所述的介质,其特征在于,所述标识数据是生物计量数据。
23.如权利要求18所述的介质,其特征在于,所述标识数据是在所述飞地外部获取的,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。
24.如权利要求18所述的介质,进一步包括指令,当由所述处理器执行所述指令时,所述指令使所述处理器:
基于所述比较的结果来访问安全应用。
25.如权利要求18所述的介质,其特征在于,所述飞地是受信任的执行环境。
CN201380079574.6A 2013-09-27 2013-12-21 可执行对象在本地设备上的受信任的执行 Active CN105531709B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361883970P 2013-09-27 2013-09-27
US61/883,970 2013-09-27
PCT/US2013/077336 WO2015047442A1 (en) 2013-09-27 2013-12-21 Trusted execution of an executable object on a local device

Publications (2)

Publication Number Publication Date
CN105531709A true CN105531709A (zh) 2016-04-27
CN105531709B CN105531709B (zh) 2019-08-20

Family

ID=52744306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079574.6A Active CN105531709B (zh) 2013-09-27 2013-12-21 可执行对象在本地设备上的受信任的执行

Country Status (3)

Country Link
US (2) US10678908B2 (zh)
CN (1) CN105531709B (zh)
WO (1) WO2015047442A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199287A (zh) * 2017-01-24 2019-09-03 微软技术许可有限责任公司 利用密封包围区的数据解封
CN110214323A (zh) * 2017-01-24 2019-09-06 微软技术许可有限责任公司 包围区抽象模型
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法
CN111563280A (zh) * 2020-05-06 2020-08-21 杭州锘崴信息科技有限公司 安全计算系统及其工作方法
CN112527508A (zh) * 2020-12-21 2021-03-19 卓尔智联(武汉)研究院有限公司 基于sgx的云端飞地资源管理方法、装置、计算机设备和介质
CN114072820A (zh) * 2019-06-04 2022-02-18 瑞典爱立信有限公司 执行机器学习模型
US11544372B2 (en) 2018-04-11 2023-01-03 Google Llc Mutually distrusting enclaves

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678908B2 (en) 2013-09-27 2020-06-09 Mcafee, Llc Trusted execution of an executable object on a local device
US10423767B2 (en) * 2013-12-27 2019-09-24 Intel Corporation Content protection system using biometric authentication
KR102204247B1 (ko) * 2014-02-19 2021-01-18 삼성전자 주식회사 전자 장치의 생체 정보 처리 방법 및 장치
KR102208631B1 (ko) * 2014-02-19 2021-01-28 삼성전자 주식회사 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치
US9864861B2 (en) * 2014-03-27 2018-01-09 Intel Corporation Object oriented marshaling scheme for calls to a secure region
US9619633B1 (en) 2014-06-18 2017-04-11 United Services Automobile Association (Usaa) Systems and methods for upgrading authentication systems
US9852301B2 (en) * 2014-12-24 2017-12-26 Intel Corporation Creating secure channels between a protected execution environment and fixed-function endpoints
WO2016129863A1 (en) 2015-02-12 2016-08-18 Samsung Electronics Co., Ltd. Payment processing method and electronic device supporting the same
KR102460459B1 (ko) 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
WO2016137277A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US9838367B2 (en) * 2015-06-26 2017-12-05 Intel Corporation Binding a trusted input session to a trusted output session
DE102015225778A1 (de) * 2015-12-17 2017-06-22 Deutsche Post Ag Vorrichtung und Verfahren für die personalisierte Bereitstellung eines Schlüssels
CN107231338B (zh) * 2016-03-25 2022-07-08 北京搜狗科技发展有限公司 网络连接方法、装置以及用于网络连接的装置
US10747686B2 (en) * 2016-12-28 2020-08-18 Narf Industries, LLC Method and system for co-privileged security domains
US10178131B2 (en) * 2017-01-23 2019-01-08 Cisco Technology, Inc. Entity identification for enclave segmentation in a network
WO2019057308A1 (en) * 2017-09-25 2019-03-28 Telefonaktiebolaget Lm Ericsson (Publ) SUPPLY OF SUPPORTERS FOR SELLERS
US10691813B2 (en) * 2018-03-30 2020-06-23 Intel Corporation Techniques for enclave confidentiality management
WO2019219181A1 (en) * 2018-05-16 2019-11-21 Telefonaktiebolaget Lm Ericsson (Publ) Enclave population
US11093272B2 (en) * 2018-06-27 2021-08-17 International Business Machines Corporation Virtual machine allocation and migration between hardware devices by destroying and generating enclaves using transmitted datafiles and cryptographic keys
US11658959B2 (en) 2019-10-07 2023-05-23 Apple Inc. User authentication framework
EP4241187A1 (en) * 2021-02-12 2023-09-13 Google LLC Utilization of sandboxed feature detection process to ensure security of captured audio and/or other sensor data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819700A (zh) * 2012-06-23 2012-12-12 郁晓东 在分离环境进行多种生物特征认证的装置以及方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6167517A (en) * 1998-04-09 2000-12-26 Oracle Corporation Trusted biometric client authentication
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US6775776B1 (en) 2000-06-27 2004-08-10 Intel Corporation Biometric-based authentication in a nonvolatile memory device
US8112787B2 (en) * 2005-12-31 2012-02-07 Broadcom Corporation System and method for securing a credential via user and server verification
WO2009025054A1 (ja) * 2007-08-23 2009-02-26 Fujitsu Limited 生体認証システムおよび生体認証プログラム
US8095368B2 (en) * 2008-12-04 2012-01-10 At&T Intellectual Property I, L.P. System and method for voice authentication over a computer network
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
US20120181333A1 (en) * 2010-12-17 2012-07-19 Mark Stanley Krawczewicz Secure ID Credential With Bi-State Display For Unlocking Devices
US8996879B2 (en) * 2010-12-23 2015-03-31 Intel Corporation User identity attestation in mobile commerce
JP5904616B2 (ja) * 2011-12-16 2016-04-13 インテル・コーポレーション リモートサーバーに対するセキュアなユーザ認証および証明
US20130219481A1 (en) * 2012-02-16 2013-08-22 Robert Matthew Voltz Cyberspace Trusted Identity (CTI) Module
WO2013134832A1 (en) 2012-03-15 2013-09-19 Mikoh Corporation A biometric authentication system
JP2015529365A (ja) * 2012-09-05 2015-10-05 エレメント,インク. カメラ付きデバイスに関連する生体認証のためのシステム及び方法
US9047470B2 (en) * 2012-10-15 2015-06-02 Verizon Patent And Licensing Inc. Secure provisioning of commercial off-the-shelf (COTS) devices
US9183365B2 (en) * 2013-01-04 2015-11-10 Synaptics Incorporated Methods and systems for fingerprint template enrollment and distribution process
US9230081B2 (en) * 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
WO2014138626A1 (en) * 2013-03-08 2014-09-12 Robert Bosch Gmbh Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
EP2973168A1 (en) * 2013-03-15 2016-01-20 Ologn Technologies AG Systems, methods and apparatuses for remote attestation
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9619238B2 (en) * 2013-04-15 2017-04-11 Amazon Technologies, Inc. Remote attestation of host devices
US9961077B2 (en) * 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
US10678908B2 (en) 2013-09-27 2020-06-09 Mcafee, Llc Trusted execution of an executable object on a local device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819700A (zh) * 2012-06-23 2012-12-12 郁晓东 在分离环境进行多种生物特征认证的装置以及方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199287A (zh) * 2017-01-24 2019-09-03 微软技术许可有限责任公司 利用密封包围区的数据解封
CN110214323A (zh) * 2017-01-24 2019-09-06 微软技术许可有限责任公司 包围区抽象模型
CN110214323B (zh) * 2017-01-24 2024-06-04 微软技术许可有限责任公司 包围区抽象模型
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法
US11544372B2 (en) 2018-04-11 2023-01-03 Google Llc Mutually distrusting enclaves
US11893108B2 (en) 2018-04-11 2024-02-06 Google Llc Mutually distrusting enclaves
CN114072820A (zh) * 2019-06-04 2022-02-18 瑞典爱立信有限公司 执行机器学习模型
CN111563280A (zh) * 2020-05-06 2020-08-21 杭州锘崴信息科技有限公司 安全计算系统及其工作方法
CN111563280B (zh) * 2020-05-06 2023-12-05 杭州锘崴信息科技有限公司 安全计算系统及其工作方法
CN112527508A (zh) * 2020-12-21 2021-03-19 卓尔智联(武汉)研究院有限公司 基于sgx的云端飞地资源管理方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
US11907362B2 (en) 2024-02-20
US20200257795A1 (en) 2020-08-13
US10678908B2 (en) 2020-06-09
CN105531709B (zh) 2019-08-20
WO2015047442A1 (en) 2015-04-02
US20170039368A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
CN105531709A (zh) 可执行对象在本地设备上的受信任的执行
EP3694170B1 (en) Method and device for withstanding denial-of-service attack
KR101581606B1 (ko) 원격 서버에 대한 안전한 사용자 증명 및 인증
CN107111715B (zh) 将可信执行环境用于代码和数据的安全性
CN103763331B (zh) 用于多方验证的基于平台的可信性验证服务的方法和系统
KR101700552B1 (ko) 보안 운영 체제 환경으로의 콘텍스트 기반 전환
US8776196B1 (en) Systems and methods for automatically detecting and preventing phishing attacks
US10284564B1 (en) Systems and methods for dynamically validating remote requests within enterprise networks
JP6326502B2 (ja) 頻度に基づくレピュテーション
CN109997143A (zh) 敏感数据的安全共享
RU2634174C1 (ru) Система и способ выполнения банковской транзакции
US10019577B2 (en) Hardware hardened advanced threat protection
CN109997138A (zh) 用于检测计算设备上的恶意进程的系统和方法
Wang et al. TZ‐MRAS: A Remote Attestation Scheme for the Mobile Terminal Based on ARM TrustZone
US20170279819A1 (en) Systems and methods for obtaining information about security threats on endpoint devices
US9219728B1 (en) Systems and methods for protecting services
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
EP3044721B1 (en) Automatic pairing of io devices with hardware secure elements
Lima et al. Security for mobile device assets: A survey
Park et al. A tiny hypervisor-based trusted geolocation framework with minimized TPM operations
US9253174B1 (en) Providing a second factor authorization
CN113966510A (zh) 可信设备和计算系统
Siby et al. GuaranTEE: Towards Attestable and Private ML with CCA
CN111177726A (zh) 一种系统漏洞检测方法、装置、设备及介质
Shepherd Techniques for Establishing Trust in Modern Constrained Sensing Platforms with Trusted Execution Environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: McAfee Inc.

Address before: American California

Patentee before: Mcafee, Inc.

CP01 Change in the name or title of a patent holder