CN105531709B - 可执行对象在本地设备上的受信任的执行 - Google Patents
可执行对象在本地设备上的受信任的执行 Download PDFInfo
- Publication number
- CN105531709B CN105531709B CN201380079574.6A CN201380079574A CN105531709B CN 105531709 B CN105531709 B CN 105531709B CN 201380079574 A CN201380079574 A CN 201380079574A CN 105531709 B CN105531709 B CN 105531709B
- Authority
- CN
- China
- Prior art keywords
- data
- enclave
- authentication
- signature key
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/37—Managing security policies for mobile devices or for controlling mobile applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2105—Dual 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)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在一个示例实施例中,提供了一种电子设备,并且所述电子设备配置成:获取经授权的用户的认证数据;将所述认证数据存储在飞地中;获取***的标识数据;以及在所述飞地中,将所述标识数据与所述认证数据进行比较,以便识别所述***是否是所述经授权的用户。在另一个实施例中,提供一种服务器,并且所述包括:至少一个处理器;至少一个存储器;至少一个驱动器,其中,所述服务器配置成:从电子设备接收断言数据,其中,所述断言包括认证签名密钥和来自获取的数据与参考数据的比较的结果;以及通过以下步骤来判断所述断言数据是否是有效的:将所述结果与阈值进行比较;以及将所述认证签名密钥与分配给所述电子设备的认证签名密钥进行比较。
Description
相关申请的交叉引用
本申请根据35 U.S.C.§119(e)要求2013年9月27日提交的题为“在本地设备上的受信任的执行”(“TRUSTED EXECUTION ON A LOCAL DEVICE”)的美国临时申请案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-time pad)或认证签名密钥。在示例中,认证签名密钥是非对称的。来自证实服务器的所共享的数据由飞地使用硬件存储特征来存储,或这被加密且存储在不受信任的文件***上。认证应用可以请求飞地从硬件传感器收集生物计量数据,或者如果硬件传感器不能从飞地访问和/或不能在飞地内操作,则使用受信任的服务应用程序接口(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。受信任的服务API 140可以是指定飞地180中的进程或组件如何与飞地180外部的进程或组件进行交互的API。例如,受信任的服务API 140可以指定认证应用190如何与飞地180中的一个或多个算法150、参考数据160以及认证签名密钥165进行交互。一个或多个算法150可包括允许对用户进行认证的一个或多个算法以及可以基于认证来创建断言或声明的一个或多个算法。参考数据160可包括由受信任的服务API 140用来分析来自硬件传感器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(quick response codeTM(QR CodeTM))。使用飞地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数据网络、4G WiMAX,或4G LTE数据网络。
在一些实施例中,可以提供用户接口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可以使用受信任的服务API 140来访问生物计量算法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可以使用受信任的服务API 140来访问声明构建算法310,从而利用认证签名密钥165来构建断言或声明,并对此断言或声明签名。应当理解,许多算法对于构建断言以及对断言签名是可能的,并且除非明确地陈述,否则本说明书(包括所附权利要求书)的范围不旨在限于任何特定的算法。
图11是根据本说明书的一个或多个示例的创建经授权的用户的方法的流程图。根据此示例,在框1110中,捕捉用户的身份数据。在框1120中,从捕捉到的身份数据中生成认证数据。在框1130中,访问经授权的用户的列表。在框1140中,***判断此用户是否是现有的经授权的用户并且是否具有存在的用户简档。如果用户不是现有的经授权的用户,则如在框1150中所示,创建用户简档,并且如在框1160中所示,将认证数据添加到此用户简档。
如果用户是现有的经授权的用户,则如在框1170中所示,***判断用户简档是否被允许更新。如果用户简档不被允许更新,则此过程停止,并且可以发送错误消息或用户已经经注册以及用户简档不能被更新的某种类型的通知。如果用户被允许更新,则如在框1160中所示,将认证数据添加到用户简档。
在示例实现中,也可以在软件中实现本文中概述的处理活动的至少一些部分(例如,涉及本地处理、云处理、飞地,等等)。这可包括在任何合适的位置(例如,在服务器中,在路由器中,在防火墙中,在电子设备中,等等)中供应的图3或图4的模块的实例。在一些实施例中,这些特征中的一个或多个可以在前述设备中的硬件中实现,或可在所公开附图的元件的外部提供,或能以任何合适的方式被合并以实现计划的功能。各种组件可包括可协调以便实现如本文中概述的操作的软件(或往复式软件)。在其他实施例中,这些元件可包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
另外,可去除或以其他方式合并与所描述的微处理器相关联的组件中的一些。在一般意义上,附图中所描绘的布置可以在它们的表示中更符合逻辑,而物理架构可以包括这些元件的各种排列、组合和/或混合。重要的是应注意到,可以使用无数可能的设计配置来实现本文中概述的操作目标。相应地,相关联的基础结构具有无数替代布置、设计选择、设备可能性、硬件配置、软件实现、设备选项,等等。
任何适当地配置的处理器组件都可以执行与数据相关联的任何类型的指令以实现本文中详述的操作。本文中公开的任何处理器都可以将元件或制品(例如,数据)从一种状态或事物转换为另一种状态或事物。在另一个示例中,可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现本文中概述的一些活动,并且本文中所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM))或包括数字逻辑、软件、代码、电子指令的ASIC、闪存、光盘、CD-ROM、DVD ROM、磁卡或光卡、适于存储电子指令的其他类型的机器可读介质、上述各项的任何合适的组合。在操作中,处理器可在合适的情况下并基于特定的需求将信息存储在任何合适类型的非暂态存储介质(例如,随机存取存储器(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 (28)
1.一种电子客户端设备,包括:
飞地;
至少一个处理器;
至少一个存储器;
至少一个驱动器,其中,所述电子客户端设备配置成:
获取经授权的用户的认证数据;
将所述认证数据存储在所述飞地中;
获取***的标识数据;以及
通过在所述飞地中本地执行来自云服务的敏感代码,将所述标识数据与所述认证数据进行比较,以便识别所述***是否是所述经授权的用户。
2.如权利要求1所述的电子客户端设备,其特征在于,所述电子客户端设备进一步配置成:
从证实服务器中获取认证签名密钥;以及
将所述认证签名密钥存储在所述飞地中,其中,所述认证签名密钥验证所述飞地的身份。
3.如权利要求2所述的电子客户端设备,其特征在于,所述电子客户端设备进一步配置成:
将所述比较的结果和所述认证签名密钥发送到认证服务器。
4.如权利要求3所述的电子客户端设备,其特征在于,所述比较的所述结果是加密的。
5.如权利要求3所述的电子客户端设备,其特征在于,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。
6.如权利要求1-3中的任一项所述的电子客户端设备,其特征在于,所述标识数据是生物计量数据。
7.如权利要求1-3中的任一项所述的电子客户端设备,其特征在于,所述标识数据是在所述飞地外部获取的,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。
8.如权利要求1-2中的任一项所述的电子客户端设备,其特征在于,所述电子客户端设备进一步配置成:
基于所述比较的结果来访问安全应用。
9.如权利要求1-3中的任一项所述的电子客户端设备,其特征在于,所述飞地在受信任的执行环境中操作。
10.如权利要求1-3中的任一项所述的电子客户端设备,其特征在于,所述飞地是存储器中通过受信任的服务应用程序接口可访问的受保护的区域。
11.如权利要求1-3中的任一项所述的电子客户端设备,其特征在于,所述标识数据是通过硬件传感器获取的。
12.一种服务器,包括:
至少一个处理器;
至少一个存储器;
至少一个驱动器,其中,所述服务器配置成:
从电子设备接收断言数据,其中,所述断言包括认证签名密钥以及
来自获取的数据与参考数据的比较的结果;以及
通过以下操作来判断所述断言数据是否是有效的:
将所述结果与阈值进行比较;以及
将所述认证签名密钥与分配给所述电子设备的认证签名密钥进行比较。
13.如权利要求12所述的服务器,其特征在于,所述断言数据判断试图访问所述电子设备的对应的用户是否经授权。
14.如权利要求12-13中的任一项所述的服务器,其特征在于,所述认证签名密钥是从证实服务器中获取的。
15.如权利要求12-13中的任一项所述的服务器,其特征在于,所述服务器进一步配置成:
如果所述断言是有效的,则允许对于所述电子设备的访问。
16.如权利要求12-13中的任一项所述的服务器,其特征在于,所述断言数据是加密的。
17.如权利要求12-13中的任一项所述的服务器,其特征在于,所述获取的数据和所述参考数据是生物计量数据。
18.一种用于电子设备上的受信任的执行的方法,包括以下步骤:
获取经授权的用户的认证数据;
将所述认证数据存储在电子客户端设备上的飞地中;
获取***的标识数据;以及
在所述飞地中通过本地执行来自云服务的敏感代码,将所述标识数据与所述认证数据进行比较,以便识别所述***是否是所述经授权的用户。
19.如权利要求18所述的方法,进一步包括以下步骤:
从证实服务器中获取认证签名密钥;以及
将所述认证签名密钥存储在所述飞地中,其中,所述认证签名密钥验证所述飞地的身份。
20.如权利要求19所述的方法,进一步包括以下步骤:
将所述比较的结果和所述认证签名密钥发送到认证服务器。
21.如权利要求20所述的方法,其特征在于,所述比较的所述结果是加密的,并且被存储在与所述飞地分开的不受信任的存储器中。
22.如权利要求18-20中的任一项所述的方法,其特征在于,所述标识数据是生物计量数据。
23.如权利要求18-20中的任一项所述的方法,其特征在于,所述标识数据是在所述飞地外部获取的,并且使用受信任的服务应用程序接口来将所述标识数据带到所述飞地中。
24.如权利要求18-19中的任一项所述的方法,其特征在于,所述方法包括:
基于所述比较的结果来访问安全应用。
25.如权利要求18-20中的任一项所述的方法,其特征在于,所述飞地在受信任的执行环境中操作。
26.一种用于电子设备上的受信任的执行的设备,包括:
用于获取经授权的用户的认证数据的装置;
用于将所述认证数据存储在电子客户端设备上的飞地中的装置;
用于获取***的标识数据的装置;以及
用于在所述飞地中通过本地执行来自云服务的敏感代码来将所述标识数据与所述认证数据进行比较以识别所述***是否是所述经授权的用户的装置。
27.如权利要求26所述的设备,其特征在于,所述设备是计算***。
28.一种其上存储有指令的非瞬态计算机可读介质,所述指令在由处理器执行时使所述处理器执行如权利要求18-25中任一项所述的方法。
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 CN105531709A (zh) | 2016-04-27 |
CN105531709B true 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) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015047442A1 (en) | 2013-09-27 | 2015-04-02 | Mcafee, Inc. | Trusted execution of an executable object on a local device |
WO2015099938A1 (en) * | 2013-12-27 | 2015-07-02 | Intel Corporation | Content protection system using biometric authentication |
KR102208631B1 (ko) * | 2014-02-19 | 2021-01-28 | 삼성전자 주식회사 | 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치 |
KR102204247B1 (ko) * | 2014-02-19 | 2021-01-18 | 삼성전자 주식회사 | 전자 장치의 생체 정보 처리 방법 및 장치 |
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 | 삼성전자주식회사 | 전자 장치를 이용한 카드 서비스 방법 및 장치 |
EP3262582B1 (en) * | 2015-02-27 | 2021-03-17 | 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 | 北京搜狗科技发展有限公司 | 网络连接方法、装置以及用于网络连接的装置 |
WO2018126024A1 (en) * | 2016-12-28 | 2018-07-05 | 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 |
US10530777B2 (en) * | 2017-01-24 | 2020-01-07 | Microsoft Technology Licensing, Llc | Data unsealing with a sealing enclave |
US10877785B2 (en) * | 2017-01-24 | 2020-12-29 | Microsoft Technology Licensing, Llc | Enclave abstraction model |
CN107392011B (zh) * | 2017-08-22 | 2019-11-22 | 海光信息技术有限公司 | 一种内存页转移方法 |
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 |
CN111954879B (zh) | 2018-04-11 | 2024-04-30 | 谷歌有限责任公司 | 互不信任的飞地 |
EP3794478B1 (en) | 2018-05-16 | 2024-07-10 | 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 |
EP3980946A4 (en) * | 2019-06-04 | 2023-02-08 | Telefonaktiebolaget Lm Ericsson (Publ) | EXECUTION OF MACHINE LEARNING MODELS |
US11658959B2 (en) | 2019-10-07 | 2023-05-23 | Apple Inc. | User authentication framework |
CN111563280B (zh) * | 2020-05-06 | 2023-12-05 | 杭州锘崴信息科技有限公司 | 安全计算***及其工作方法 |
CN112527508B (zh) * | 2020-12-21 | 2022-12-09 | 卓尔智联(武汉)研究院有限公司 | 基于sgx的云端飞地资源管理方法、装置、计算机设备和介质 |
JP2023536561A (ja) * | 2021-02-12 | 2023-08-28 | グーグル エルエルシー | 捕捉された音声および/または他のセンサデータのセキュリティを確実にするサンドボックス化特徴検出プロセスの活用 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819700A (zh) * | 2012-06-23 | 2012-12-12 | 郁晓东 | 在分离环境进行多种生物特征认证的装置以及方法 |
Family Cites Families (26)
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 |
KR101094051B1 (ko) * | 2007-08-23 | 2011-12-19 | 후지쯔 가부시끼가이샤 | 생체 인증 시스템 및 컴퓨터 판독 가능한 기록 매체 |
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 |
US20140173709A1 (en) * | 2011-12-16 | 2014-06-19 | Avigdor Eldar | Secure user attestation and authentication to a remote server |
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 |
KR101938033B1 (ko) * | 2012-09-05 | 2019-01-11 | 엘리먼트, 인크. | 카메라 장착 디바이스들과 관련된 생체인식 인증 |
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 |
EP2965254B1 (en) * | 2013-03-08 | 2020-05-13 | Robert Bosch GmbH | Systems and methods for maintaining integrity and secrecy in untrusted computing platforms |
WO2014141074A1 (en) * | 2013-03-15 | 2014-09-18 | 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 |
WO2015047442A1 (en) | 2013-09-27 | 2015-04-02 | Mcafee, Inc. | Trusted execution of an executable object on a local device |
-
2013
- 2013-12-21 WO PCT/US2013/077336 patent/WO2015047442A1/en active Application Filing
- 2013-12-21 US US14/913,805 patent/US10678908B2/en active Active
- 2013-12-21 CN CN201380079574.6A patent/CN105531709B/zh active Active
-
2020
- 2020-05-01 US US16/865,133 patent/US11907362B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819700A (zh) * | 2012-06-23 | 2012-12-12 | 郁晓东 | 在分离环境进行多种生物特征认证的装置以及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015047442A1 (en) | 2015-04-02 |
US10678908B2 (en) | 2020-06-09 |
US20170039368A1 (en) | 2017-02-09 |
US11907362B2 (en) | 2024-02-20 |
US20200257795A1 (en) | 2020-08-13 |
CN105531709A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105531709B (zh) | 可执行对象在本地设备上的受信任的执行 | |
KR102420969B1 (ko) | 네트워크 아키텍처 내에 인증 서비스를 통합하기 위한 시스템 및 방법 | |
KR102431834B1 (ko) | 상이한 채널들을 통해 강한 인증 이벤트를 운반하기 위한 시스템 및 방법 | |
US9602492B2 (en) | Privacy enhanced key management for a web service provider using a converged security engine | |
EP3061027B1 (en) | Verifying the security of a remote server | |
JP5802337B2 (ja) | アウトオブバンドリモート認証 | |
KR101581606B1 (ko) | 원격 서버에 대한 안전한 사용자 증명 및 인증 | |
US10204384B2 (en) | Data loss prevention of social media content | |
CN103763331B (zh) | 用于多方验证的基于平台的可信性验证服务的方法和*** | |
CN106687980B (zh) | 管理程序和虚拟机保护 | |
KR20170041729A (ko) | 보안 전송 프로토콜을 사용하여 신뢰를 설정하기 위한 시스템 및 방법 | |
US9053305B2 (en) | System and method for generating one-time password for information handling resource | |
CN105493439A (zh) | 用于单登录的代理认证 | |
TW201507430A (zh) | 使用綁定符記的認證及授權 | |
CN106716957A (zh) | 高效且可靠的认证 | |
JP2017529739A (ja) | ホスト型認証サービスを実装するためのシステム及び方法 | |
CN109644196A (zh) | 消息保护 | |
WO2012064964A1 (en) | Secure in-line payments for rich internet applications | |
Siddiqui et al. | Security analysis of smartphone and cloud computing authentication frameworks and protocols | |
US20230155984A1 (en) | Trusted execution environment for service mesh | |
US9864853B2 (en) | Enhanced security mechanism for authentication of users of a system | |
US10567170B2 (en) | Hardware-generated dynamic identifier | |
KR20160018554A (ko) | 신뢰 및 비신뢰 플랫폼에 걸쳐 인터넷 액세스가능 애플리케이션 상태를 로밍하는 기법 | |
US11757859B2 (en) | Run-time attestation of a user workspace | |
US20170223048A1 (en) | DELEGATED AUTHENTICATION IN AN INTERNET OF THINGS (IoT) NETWORK |
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 | ||
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. |