平码五不中公式规律
  • / 48
  • 下载费用:30 金币  

安全主机交互.pdf

关 键 ?#21097;?/dt>
安全 主机 交互
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580035969.5

申请日:

2015.12.10

公开号:

CN106663161A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 著录事项变更IPC(主分类):G06F 21/35变更事项:申请人变更前:谷歌公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||实质审查的生效IPC(主分类):G06F 21/35申请日:20151210|||公开
IPC分类号: G06F21/35(2013.01)I; G06F21/74(2013.01)I; G06F21/79(2013.01)I 主分类号: G06F21/35
申请人: 谷歌公司
发明人: 派特尔·查尔斯·扎特科; 多米尼克·里佐
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.12.31 US 14/587,896
专利代理机构: 中原信达知识产权代理有限责任公司 11219 代理人: 周亚荣;安翔
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580035969.5

授权公告号:

||||||

法律状态公告日:

2018.02.13|||2017.06.06|||2017.05.10

法律状态类型:

著录事项变更|||实质审查的生效|||公开

摘要

一种可信设备,其包括安全接口和主机接口,所述安全接口通过一个隔离环境而与所述主机接口隔离。可信来源通过所述安全接口向所述可信设备供应以包括私人信息,例如私人用户信息和密码数据。当所述可信设备通过所述主机接口连接至不可信主机设备时,所述不可信主机设备将关于所述私人信息的请求发送至所述主机接口的写文件。所述隔离环境的处理器检索所述请求,并且产生对来自所述不可信主机设备的请求做出响应的输出,例如?#29992;?#36755;出。所述可信设备将该输出发送至所述主机接口的读文件,因而使所述不可信主机设备可通过所述主机接口获得该输出。然后,所述不可信主机设备通过所述主机接口接收到该输出。

权利要求书

1.一种用于安全主机交互的计算机实施方法,包括:
由与主机计算设备相关联的可信计算设备接收受限信息,其中,所述可信计算设备被
预配置成包括隔离环境和具有写文件和读文件的主机接口;所述隔离环境不能被所述主机
计算设备直接访?#21097;?#24182;且所述受限信息被存储在所述隔离环境的安全存储设备内;
由所述可信计算设备的所述写文件从所述主机计算设备接收写文件条目,其中,所述
写文件条目包括对所述写文件条目做出响应的所述受限信息的指示;
由所述可信计算设备在所述可信计算设备的所述隔离环境?#20889;?#29702;所述写文件条目,其
中,处理所述写文件数据包括:
基于对所述写文件条目做出响应的所述受限信息的所述指示来识别对所述写文件条
目做出响应的所述受限信息的至少一部分,和
基于所识别出的所述受限信息来产生对所述可信计算设备的所述读文件的安全输出,
其中,所述安全输出能够由所述主机计算设备在所述可信计算设备的所述读文件中获得。
2.根据权利要求1所述的计算机实施方法,还包括:由所述可信计算设备的所述隔离环
境通过所述可信计算设备的安全接口接收所述受限信息,所述可信计算设备的所述安全接
口与所述可信计算设备的主机接口是隔离的。
3.根据权利要求1所述的计算机实施方法,其中,所述受限信息与用户相关联。
4.根据权利要求1所述的计算机实施方法,还包括?#21644;?#36807;所述可信计算设备的安全接口
发送要求用户授权处理所述写文件条目的请求。
5.根据权利要求4所述的计算机实施方法,还包括:由所述可信计算设备响应于要求用
户授权处理所述写文件条目的请求而将用户输入接收到所述可信计算设备的所述安全接
口中,其中,所述用户输入授权处理所述写文件条目。
6.根据权利要求5所述的计算机实施方法,其中,所述用户输入包括与所述用户相关联
的安全代码。
7.根据权利要求1所述的计算机实施方法,其中,所述受限信息包括密码数据。
8.根据权利要求1所述的计算机实施方法,其中,所述受限信息包括用户的金融信息。
9.一种用于安全主机交互的系统,包括:
存储设备;
以可通信方式耦合至所述存储设备的处理器,其中,所述处理器执行被存储在所述存
储设备内的应用代码指令,以使所述系统:
由与主机计算设备相关联的可信计算设备接收受限信息,其中,所述可信计算设备被
预配置成包括隔离环境和具有写文件和读文件的主机接口;所述隔离环境不能被所述主机
计算设备直接访?#21097;?#24182;且所述受限信息被存储在所述隔离环境的安全存储设备内;
从所述主机计算设备将写文件条目接收到所述可信计算设备的所述写文件中,其中,
所述写文件条目包括对所述写文件条目做出响应的所述受限信息的指示;
由所述可信计算设备在所述可信计算设备的所述隔离环境?#20889;?#29702;所述写文件条目,其
中,处理所述写文件数据包括:
基于对所述写文件条目做出响应的所述受限信息的所述指示来识别对所述写文件条
目做出响应的所述受限信息的至少一部分,和
基于所识别出的所述受限信息来产生对所述可信计算设备的所述读文件的输出,其
中,所述输出能够由所述主机计算设备在所述可信计算设备的所述读文件中获得。
10.根据权利要求9所述的系统,其中,所述输出是安全输出。
11.根据权利要求10所述的系统,其中,所述安全输出是?#29992;?#36755;出。
12.根据权利要求9所述的系统,还包括:由所述可信计算设备发送要求用户授权处理
所述写文件条目的请求。
13.根据权利要求12所述的系统,还包括:由所述可信计算设备响应于要求用户授权处
理所述写文件条目的请求而将用户输入接收到所述可信计算设备的安全接口中,其中,所
述用户输入授权处理所述写文件条目。
14.根据权利要求13所述的系统,其中,所述用户输入包括与所述用户相关联的安全代
码。
15.根据权利要求9所述的系统,其中,所述受限信息包括事件日志条目,并且其中,所
述写文件条目包括接收所述事件日志条目的请求。
16.一种计算机程序产品,包括:
非暂态计算机可读存储设备,所述非暂态计算机可读存储设备具有在其上实施的计算
机可读程序指令,所述计算机可读程序指令在由计算机执行时使得所述计算机与主机计算
设备安全地交互,所述计算机可执行程序指令包括:
用于由与所述主机计算设备相关联的可信计算设备接收受限信息的计算机程序指令,
其中,所述可信计算设备被预配置成包括隔离环境和具有写文件和读文件的主机接口;所
述隔离环境不能被所述主机计算设备直接访?#21097;?#24182;且所述受限信息被存储在所述隔离环境
的安全存储设备内;
用于从所述主机计算设备将写文件条目接收到所述可信计算设备的所述写文件中的
计算机程序指令,其中,所述写文件条目包括对所述写文件条目做出响应的所述受限信息
的指示;
用于由所述可信计算设备在所述可信计算设备的所述隔离环境?#20889;?#29702;所述写文件条
目的计算机指令,其中,处理所述写文件数据的计算机程序指令包括包括:
用于基于对所述写文件条目做出响应的所述受限信息的所述指示来识别对所述写文
件条目做出响应的所述受限信息的至少一部分的计算机程序指令,和
用于基于所识别出的所述受限信息来产生对所述可信计算设备的所述读文件的安全
输出的计算机程序指令,其中,所述安全输出能够由所述主机计算设备在所述可信计算设
备的所述读文件中获得。
17.根据权利要求16所述的计算机程序产品,还包括用于由所述可信计算设备的所述
隔离环境通过所述可信计算设备的安全接口接收所述受限信息的计算机指令,所述可信计
算设备的所述安全接口与所述可信计算设备的主机接口是隔离的。
18.根据权利要求16所述的计算机程序产品,其中,所述写文件条目包括?#29992;?#36890;信。
19.根据权利要求17所述的计算机程序产品,其中,所述受限信息包括用于对所述写文
件条目解密的密码数据。
20.根据权利要求16所述的计算机程序产品,还包括:
由所述可信计算设备发送要求用户授权处理所述写文件条目的请求;
响应于发送要求用户授权处理所述写文件条目的请求,由所述可信计算设备将用户输
入接收到所述可信计算设备的安全接口中,并且其中,所述用户输入授权处理所述写文件
条目;以及
响应于?#28304;?#29702;所述写文件条目的授权,将所述安全输出发送至所述可信计算设备的所
述读文件。

说明书

安全主机交互

技术领域

本公开涉及可信计算、安全私人用户信息(例如用于主机交互的安全用户信息)、
用户之间的安全通信以及建立安全系统事件日志,以管理与该主机相关联的事件日志条
目。

背景技术

由于除了计算机用户和制造商的控制之外的多种因素,传统的计算机系统——包
括移动计算系统——对私人数据所有权关系非常怀有敌意。例如,连接至网络的任何计算
设备都可能具有允许未授权个体获得对用户私人信息的访问的弱点。例如,未授权个体可
能发现计算机系统的弱点,通常通过在主人未知的情况下安装危险的恶意软件来窃取、改
变或破坏信息。然后,该计算机的主人处在各种欺诈动作的风险下,包括身份窃取和财务损
失。同样,如果未授权个体访问用户的移动设备,则未授权的个体可能拦截用户的通信。然
后,未授权个体能够使用所拦截的会话的内容——在用户未知的情况下——欺骗该用户或
其它人。

在一些情况下,未授权个体可能尝试消除未授权个体的入?#31181;?#25454;。例如,如果未授
权个体已经在用户的计算系统上安装了恶意软件,在与用户的计算机系统相关联的系统事
件日志可以产生关于该安装的事件日志条目。然而,机智的未授权个体能够?#22659;?#25110;改变与
用户的计算机系统相关联的系统事件日志条目,从而消除未授权个体的入?#31181;?#25454;。因而,在
一些情况下,未授权个体掩盖他或她的痕迹,使得即使是老练的用户仍意识不到未授权个
体的入侵。这样,并且由于与传统计算系统相关的?#29616;?#24369;点,传统的计算系统通常被视为用
户私人信息的有敌意且不可信任的主机。

发明内容

在本文所述的特定示例性方面,提供了一种可信计算设备。例如,在一些实施例
中,可信计算设备是一种microSD形状因素(form factor)的设备,这种设备包括隔离环境、
microSD主机接口、安全接口、用于可信计算的计算机程序产品,以及可选的绕过主机系统
的带外通信信道。该隔离环境包括隔离环境处理器、存储器和辅助处理器。

存储器被完全分配给安全分区,或者被划分为安全分区和非安全分区,并且为了
数据通信而与隔离环境处理器连接。辅助处理器为了数据通信而连接至隔离环境处理器和
存储器。该存储器和辅助处理器两者都仅通过隔离环境处理器而与主机进行数据通信。主
机接口和安全接口两者都为了数据通信而连接至隔离环境处理器。

计算机程序产品包括具有在其上实施的计算机可执行程序指令的非暂态计算机
可读介质。这些指令在当由可信计算设备执行时使得该可信计算设备执行可信计算。特别
地,该计算机程序产品包括通过安全接口向可信计算设备提供?#29992;?#25805;作的程序指令。另外
的程序指令使得该可信计算设备通过所述隔离环境处理器在主机接口处产生第一文件分
配表(FAT)文件系统。第一FAT文件系统分区包括主机写文件和主机读文件。如果未仅配置
成用于安全分区,则进一步的程序指令使得可信计算设备通过所述隔离环境处理器在主机
接口产生具有?#28304;?#20648;器的非安全分区的访问的非安全第二FAT文件系统分区。

可信计算设备计算机程序产品的程序指令使得该可信计算设备经由主机写文件
来接收在隔离环境中执行可信计算的请求。该可信计算包括下列中的一个或多个:产生随
机数、仅增日志、单调计数、流?#29992;?#21644;解密、批量?#29992;?#21644;解密、访问密码原语和隔离存储器。
进一步的程序指令使得该可信计算设备使用所述隔离环境处理器、存储器安全分区和辅助
处理器中的至少一个来执行所请求的可信计算,然后将可信计算的结果写入主机读文件。

在本文所述的特定示例性方面,提供了一种用于安全主机交互的计算机实施方
法。例如,与主机计算设备相关联的可信计算设备接收受限信息。例如,可信计算设备被预
配置成包括隔离环境和主机接口,该主机接口包括写文件和读文件。例如,该隔离环境不能
直接访问主机计算设备。例如,该可信计算设备在隔离环境的安全存储设备?#20889;?#20648;所接收
的受限信息。

在接收到受限信息之后,可信计算设备的写文件从主机计算设备接收写文件条
目。例如,该写文件条目包括对该写文件条目做出响应的受限信息的指示。然后,可信计算
设备在该可信计算设备的隔离环境下处理写文件条目。为了处理写文件条目,可信计算设
备识别——基于对该写文件条目做出响应的受限信息的指示——对该写文件条目做出响
应的受限信息的至少一部分。然后,该可信计算设备向该可信计算设备的读文件产生一个
输出,例如安全输出。然后,所产生的输出(例如所产生的安全输出)可由主机计算设备在可
信计算设备的读文件中获得。

在本文所述的特定示例性方面,?#22266;?#20379;了一种用于安全通信(例如两个或更多个
主机计算设备之间的通信)的方法。例如,与第一主机计算设备相关联的第一可信计算设备
从第一用户接收第一通信。安全接口接收该第一通信,该第一安全接口与第一可信计算设
备的主机接口是隔离的。例如,该安全接口与将该安全接口隔离的隔离环境相关联。

在接收到第一通信之后,第一可信计算设备在第一可信计算设备的第一隔离环境
中对第一通信?#29992;堋?#20363;如,第一隔离环境不能由第一主机设备直接访问。然后,第一可信计
算设备将?#29992;?#21518;的第一通信发送至第一可信计算设备的主机接口的第一读文件。然后,该
?#29992;?#30340;第一通信可由第一主机计算设备在第一可信计算设备的第一读文件中获得。然后,
第一主机计算设备将?#29992;?#21518;的第一通信发送至第二主机计算设备,该第二主机计算设备与
第一主机计算设备是分离的。

在将?#29992;?#30340;第一通信发送至第二主机计算设备之后,与第二主机计算设备相关联
的第二可信计算设备接收该?#29992;?#30340;第一通信。例如,第二主机计算设备将该?#29992;?#30340;第一通
信发送至与第二主机计算设备相关联的第二可信计算设备,并且第二可信计算设备的主机
接口的写文件接收到该?#29992;?#30340;第一通信。第二可信计算设备在第二可信计算设备的第二隔
离环境中对第一用户的该?#29992;?#30340;第一通信解密,该第二隔离环境不能由第二主机设备直接
访问。

在对该?#29992;?#30340;第一通信解密后,第二可信计算设备将解密后的第一通信发送至第
二用户。例如,第二可信计算设备通过第二可信计算设备的第二安全接口将解密后的第一
通信发送至第二用户,第二安全接口与第二可信计算设备的主机接口是隔离的。然后,第二
用户接收到解密后的第一通信。

在本文所述的特定示例性方面,?#22266;?#20379;了一种用于安全事件日志管理的方法。例
如,与主机计算设备相关联的可信计算设备将写文件条目接收到可信计算设备的主机计算
设备接口的写文件中。响应于接收到该写文件条目,可信计算设备确定与写文件条目相关
联的日志数据。基于所确定的日志数据,可信计算设备——在不能被主机计算设备直接访
问的可信计算设备的隔离环境中——建立事件日志条目。然后,可信计算设备在该隔离环
境的安全存储设备中记录该事件日志条目。如果某个授权用户请求访问该事件日志条目,
例如,可信计算设备则通过安全接口或通过可信计算设备的读文件而向用户提供该事件日
志条目。

在本文所述的特定的示例性方面,在向读文件产生诸如?#29992;?#36890;信、事件日志条目
的输出、或诸如安全输出的其它输出之前,可信计算设备通过可信计算设备的安全接口向
用户发送请求,以授权对写文件条目的处理。响应于用户请求授权对写文件条目的处理,可
信计算设备将用户输入接收到可信计算设备的安全接口中。例如,用户输入起到授权该可
信计算设备处理该写文件条目的作用。因而,可信计算设备处理该写文件条目。

当考虑针对所?#22659;?#30340;示例性实施例的以下详细说明,本领域技术人员将明白上述
示例性实施例的这些和其它方面、目标、特征和优点。

附图说明

图1是?#22659;?#20102;根据特定的示例性实施例的、用于安全存储和管理受限信息的系统
100的框图。

图2是?#22659;?#20102;根据特定的示例性实施例的可信计算设备的框图。

图3是?#22659;?#20102;根据特定的示例性实施例的、用于可信计算的系统的框图。

图4是?#22659;?#20102;根据特定的示例性实施例的、用于通过隔离环境进行安全主机交互
的方法的方框流程图。

图5是?#22659;?#20102;根据特定的示例性实施例的、用于处理来自不可信主机设备的写文
件条目的方法的方框流程图。

图6是?#22659;?#20102;根据特定的示例性实施例的、用于授权将输出发送至可信设备的读
文件的方法的方框流程图。

图7是?#22659;?#20102;根据特定的示例性实施例的、用于在两个或更多个主机计算设备之
间安全通信的系统的方框图。

图8是?#22659;?#20102;根据特定的示例性实施例的、用于在不可信主机设备之间安全通信
的方法的方框流程图。

图9是?#22659;?#20102;根据特定的示例性实施例的、用于通过第二可信设备接收?#29992;?#36890;信
的方法的方框流程图。

图10是?#22659;?#20102;根据特定的示例性实施例的、用于安全事件日志管理的方法的方框
流程图。

图11是?#22659;?#20102;根据特定的示例性实施例的、用于将事件日志条目传达给授权用户
的并行方法的方框流程图。

图12是?#22659;?#20102;根据特定的示例性实施例的、计算机器和模块的方框图。

具体实施方式

综述

如本文所公开的,可信设备在隔离环境下保护信息,因而将信息从与该可信计算
设备相关联的不可信主机设备隔离开。例如,该可信计算设备在隔离环境的安全存储设备
?#20889;?#20648;受限信息,例如私人用户信息、?#29992;?#25968;据或主机的事件日志条目。然后,该隔离环境
中的隔离环境处理器允许可信计算设备起到私人信息的网关守卫的作用。例如,可信计算
设备接收属于受限信息的请求,并产生该主机设备可获得的安全输出以用于另外的处理。
在特定的示例中,可信计算设备使用所存储的受限信息对用户通信?#29992;堋?#28982;后,第二可信设
备使用类似地存储的受限信息对通信解密并将该通信提供给第二用户。在其它示例中,可
信设备在该可信设备的安全存储设备?#20889;?#20648;事件日志条目,从而不能修改这些日志条目。
然后,可信设备将事件日志条目提供给授权用户。

在一些实施例中,可信计算设备是一种microSD形状因素的设备,这种设备包括隔
离环境、microSD主机接口、安全接口和用于可信计算的计算机程序产品。该隔离环境包括
隔离环境处理器、存储器和辅助处理器。

该存储器被划分为安全分区和非安全分区,并且为了数据通信而与隔离环境处理
器连接。该辅助处理器为了数据通信而连接至所述隔离环境处理器和存储器。该存储器和
辅助处理器二者都仅通过所述隔离环境处理器而与主机进行数据通信。主机接口和安全接
口二者都为了数据通信而连接至隔离环境处理器。

该计算机程序产品包括具有在其上实施的计算机可执行程序指令的非暂时性计
算机可读介质。该指令在由可信计算设备执行时使得该可信计算设备执行可信计算。特别
地,该计算机程序产品包括通过安全接口向可信计算设备提供?#29992;?#25805;作的指令。另外,程序
指令使得该可信计算设备通过隔离环境处理器在主机接口处产生第一文件分配表(FAT)文
件系统。第一FAT文件系统分区包括主机写文件和主机只读文件。进一步的程序指令使得该
可信计算设备通过隔离环境处理器在主机接口处产生带有?#28304;?#20648;器非安全分区的访问的
非安全第二FAT文件系统分区。

可信计算设备的计算机程序产品的程序指令使得该可信计算设备通过主机写文
件接收用于在隔离环境中执行可信计算的请求。该可信计算包括以下项中的一个或多个:
产生随机数、仅增日志记录(append-only logging)、单调计数、流?#29992;?#21644;解密、批量?#29992;?#21644;
解密、访问密码原语和隔离存储器。进一步的程序指令使得该可信计算设备使用隔离环境
处理器、存储器安全分区和辅助处理器中的至少一个来执行所请求的可信计算,然后将可
信计算结果写入主机读文件。

还公开了用于使用该可信设备的系统和方法。在特定示例中,该可信设备从可信
来源(例如可信的第二方计算系统)接收受限信息。该受限信息可以是任何类型的私人信
息,例如用户的机密信息、第二方计算系统的机密信息、和/或对机密数据传输进行?#29992;?解
密所需的密码数据。例如,用户的银行可以通过经可信设备的安全接口在可信设备上安装
用户的私人银行账户信息来提供可信设备。银行也可以通过安全接口将密码数据发送至可
信设备。可信设备接收受限信息,例如用户的银行账户信息和密码数据,并将受限信息存储
在可信设备的安全存储设备内。

在第二方计算系?#31243;?#20379;可信设备之后,例如,用户将可信设备连接至不可信主机
设备,例如用户的家用计算机或移动电话。该可信设备和不可信主机然后能够交互,以利用
可信设备上的受限信息而不将该受限信息公开给不可信主机。例如,用户可以使用不可信
主机设备和可信设备完成财务交易,例如使用用户的银行账户信息进行现金转账或提款。
例如,不可信主机设备可以将现金转?#31169;?#39069;以及完成交易的请求传达给可信设备的写文
件。所述隔离环境接收包括交易额和交易请求的写文件条目。

一旦可信设备的隔离环境接收到该写文件条目,该隔离环境内的隔离处理器就例
如通过读取所述写文件条目的内容并识别对该写文件条目的内容做出响应的受限信息来
处理所述写文件条目。例如,如果该受限信息包括用户的银行信息,则可信设备可以使用该
银行信息来处理现金转账或提款。例如,该隔离处理器能够从可信设备的安全存储设备中
检索用户的私人财务账户信息,并向所述读文件产生输出以授权该现金转账——这些都在
隔离环境下进行。例如,主机设备不能直接访问该隔离环境。而是,主机设备通过包括读文
件和写文件的主机接口来间接地访问该隔离环境。在特定示例中,在产生所述输出之前,可
信计算设备能够例如通过使用任何先前接收到的密码数据来保护该输出。该安全输出例如
可以包括用户的?#29992;?#36134;户信息和?#29992;?#36716;账授权。

在将该安全输出发送至可信设备的读文件之后,不可信主机设备能够获取该安全
输出并完成关于该安全输出的任何进一步处理。例如,如果该安全输出包括用户的?#29992;?#36134;
户信息和?#29992;?#36716;账授权,则不可信主机设备可?#28304;?#21487;信设备的读文件中获取该安全输出。
然后,不可信主机设备能够通过将该安全输出发送至通信应用来处理该安全输出,此通信
应用然后将该安全输出发送至用户的银行。然后,银行能够对该安全输出解密,之后完成用
户的现金转账或提款。

在特定示例中,可使用两个或更多个可信设备以在多个用户之间提供安全通信。
例如,该可信设备可以附接至或集成?#25509;?#19981;可信主机设备(例如用户的手机)连接的用户的
耳麦中。两个用户能够将耳麦的这两个可信设备配对,使得所配对的每个可信设备都接收
相应的密码数据。然后,每个可信计算机设备都能够将密码数据(例如相应的密钥)存储在
该可信设备的安全存储设备中。另外或替代地,在特定示例中,第二方计算系统可以通过经
由每个可信设备的安全接口向配对的可信设备提供密码数据而向可信设备提供密码数据。

例如,一旦两个设备被配对,则一个位置处的第一用户能够与不同位置处的第二
用户安全通信。例如,第一用户例如通过对与可信设备相关联的耳麦中的麦克风说话而向
该可信设备的安全接口提供通信。然后,隔离环境通过该安全接口接收用户的通信。隔离环
境中的处理器对该通信?#29992;埽?#28982;后将该通信作为安全输出发送至可信设备的读文件。与该
可信设备相关联的不可信主机设备(例如第一用户的移动电话)然后能够从可信设备的读
文件接收该?#29992;?#36890;信。例如,如果该可信设备被附接至或集成在耳麦中,则耳麦可以将该加
密通信无线地发送至第一用户的移动电话(本实例中的不可信设备)。第一用户的移动电话
然后能够通过网络将该?#29992;?#36890;信发送至第二不可信主机设备,例如第二用户的移动电话。

在接收到该?#29992;?#36890;信之后,第二不可信主机设备将该?#29992;?#36890;信写入与第二用户相
关联的第二可信设备的写文件。例如,第二用户的移动设备可以通过网络接收该?#29992;?#36890;信,
然后将该?#29992;?#36890;信无线地发送至被附接或集成到第二用户的耳麦中的第二可信设备的写
文件。隔离环境从该写文件接收该?#29992;?#36890;信,并且,隔离环境内的隔离处理器对该?#29992;?#36890;信
解密。例如,该处理器从隔离环境的安全存储设备中检索密码数据,然后根据该密码数据对
所述通信解密。然后,可信设备通过第二可信设备的安全接口向第二用户提供解密通信。例
如,第二可信设备通过与第二可信设备的安全接口连接的扬声器将该解密通信直接提供给
用户。然后,第二用户接收该解密通信。在这种通信期间,不可信主机设备在任何时候都不
能访问该解密通信或密码密钥材料。

在特定示例中,例如在两个用户之间的双向或两方向通信中,第二用户可以通过
将本文所述的安全通信方法颠倒过来而向第一用户提供安全通信。例如,第二用户可以向
与第二可信设备的安全接口相关联的麦克风说话。第二可信设备通过该安全接口接收通
信,并且,隔离环境的处理器对第二用户的该通信?#29992;堋?#28982;后,该处理器将该?#29992;?#36890;信发送
至第二可信设备的读文件。作为不可信主机设备的第二用户的移动电话接收该?#29992;?#36890;信,
并将该?#29992;?#36890;信发送至第一不可信主机设备,例如第一用户的移动电话。第一不可信主机
设备将该?#29992;?#36890;信发送至与第一不可信主机相关联的不可信主机设备的写文件,并且隔离
环境中的处理器使用密码数据对通信解密。然后,该可信设备通过第一可信设备的安全接
口向第一用户提供来自第二用户的解密通信。

除了上述方法和系?#25345;?#22806;,本文?#22266;?#20379;了一种用于建立安全系统日志的方法和系
统。例如,用户可能希望使用可信设备来记录用户的主机设备的系统日志事件条目,例如尝
试访问和/或使用用户的设备。另外或可替代地,用户可能希望使用可信设备来记录其它用
户访问和/或使用受限信息的尝试。这样,用户例如可以通过将该可信设备连接至用户的计
算设备来授权该可信设备监视和记录与该可信设备相关联的活动。

一旦连接至主机设备,该可信设备就能够在可信设备的隔离环境的安全存储设备
内安全地接收和存储系统日志事件条目。例如,每次主机设备将请求发送至可信设备的写
文件,该可信设备的隔离处理器就确定写文件条目的日志数据。然后,处理器在该可信设备
的安全存储设备中记录写文件条目的事件日志条目。

在该日志数据被记录在所述隔离环境的安全存储设备中之后,不可信主机设备不
能访问、篡改、?#22659;?#25110;以其它方式改变所存储的日志数据。例如,黑客不能通过不可信主
机——或可信设备——访问所存储的日志数据,因为黑客将不被授权访问该可信设备的安
全接口。相反,仅授权用户才能?#29615;?#38382;所存储的日志数据。例如,该用户可以通过可信设备
的安全接口请求事件日志条目。然后,可信设备通过该安全接口将事件日志条目提供给用
户,并且用户通过该安全接口接收该事件日志条目。然而,仍决不允许黑客或授权用户修改
或以其它方式改变被记录到安全存储设备中的日志数据。

另外或可替代地,用户可以使用不同的主机设备接收该事件日志。例如,用户可以
从主机设备移除该可信设备并然后将该可信设备连接至另一不同的主机设备。然后,用户
例如能够通过引导第二主机设备产生要求事件日志条目的写文件条目来请求来自该可信
设备的事件日志条目。可信计算设备接收该请求,然后处理该请求,从而在可信计算设备的
读文件中产生一个输出——该输出包括所述事件日志条目。然后,第二主机设备从读文件
中接收该输出并将该输出提供给用户。然后,用户例如通过第二主机设备的用户接口获得
(vies)该输出并因此获取事件日志消息。

在特定示例中,本文所述的方法和系统可以在处理受限信息和/或将该安全输出
发送至读文件之前?#35272;?#20110;用户对可信计算机设备的输入,例如“proof of life(生活证
据)”和/或身份验证。例如,在将该安全输出发送至可信设备的读文件之前,可信设备例如
可以通过向用户提供?#20102;?#20809;、?#30001;?#25110;其它通信来通知用户需要用户输入。然后,用户能够通
过该可信设备的安全接口、例如通过触摸与该可信设备的安全接口相关联的安全传感器而
响应来自该可信设备的用户输入请求。

另外或可替代地,用户可以通过该安全接口、例如通过将代码直接输入可信设备
的主体中和/或直接输入到通过该安全接口安全地连接至可信设备的单独计算设备中而将
用户安全代码提供给可信设备。例如,该可信设备可以在将?#29992;?#29616;金转账或提款授权发送
至可信设备的读文件之前要求用户的这种“生活证据”和/或身份验证。另外或可替代地,可
信设备可以在通过该安全接口提供访问之前要求这种“生活证据”和/或身份验证。在特定
示例中,可以在通过安全接口传达信息之前要求这种“生活证据”和/或身份验证。例如,可
信设备可以在通过该安全接口将安全信息发送至用户之前、例如在将来自安全存储设备的
系统日志事件条目发送至用户之前要求这种“生活证据”和/或身份验证。

通过在不可信主机设备不能直接访问的隔离环境中保护私人信息,本文所述的设
备、系统和方法保护用户不受与用户的计算设备相关联的弱点损害。例如,本文所述的设
备、系统和方法允许用户安全地使用受限信息,以完成否则将使用户的受限信息暴露于不
可信(以?#23433;?#23433;全)主机计算设备的活动——例如现金转账、提款或其它银行活动。本文所
述的设备、系统和方法也允许用户私人地通信,而不使他们的通信内容暴露于不可信(以及
不安全)的主机计算设备。?#36865;猓?#36890;过提供用于安全事件日志管理的方法,本文所述的设备、
系统和方法防止了黑客或其它人掩盖他们的痕迹的恶意意图。

示例性的系统架构

现在参考附图,其中,在所有附图中,同样的附图标记表示相似(但不必相同)元
件,下面详?#35813;?#36848;了几个示例性实施例。

图1是?#22659;?#20102;根据特定的示例性实施例的、用于安全存储和管理受限信息的系统
100的框图。

如图1所示,系统100包括网络计算设备110和120,该网络计算设备110和120被配
置成通过一个或多个网络105彼此通信。在一些实施例中,与设备相关联的用户101必须安
装有应用和/或做出进行特征选择以获得本文所述技术的益处。例如,用户101可以选择安
装、开启或以其它方式激活不可信主机计算设备110上的服务,并在主机计算设备110上安
装应用编程接口(API)代码,以允许主机计算设备110使用该可信计算设备130。

在特定的示例性实施例中,网络105可以包括局域网(“LAN”)、广域网(“WAN”)、内
联网、因特网、存储区域网(“SAN”)、个人域网(“PAN”)、城域网(“MAN”)、无线局域网
(“WLAN”)、虚拟私人网(“VPN”)、蜂窝或其它移动通信网络、蓝牙、低功耗蓝牙、近场通信
(“NFC”)、Wi-Fi或它们的任何组合,或促进多个信号、数据和/或消息的通信的任何其它适
当的架构或系统。在本文的示例实施例的所有讨论中,应当理解,术语“数据”和“信息”在本
文中可互换使用,以指代能够存在于基于计算机的环境下的文本、图像、音频、视频或任何
其它形式的信息。

每个网络计算设备110和120都包括具有能够在网络105上发送和接收数据的通信
模块的设备。例如,每个网络计算设备110和120都能够包括服务器、台式计算机、膝上?#22270;?br />算机、平板电脑、内置有和/或联接有一个或处理器的电视机、智能电话、手持式计算机、个
人数?#31181;?#29702;(“PDA”)、或任何其它有线或无线的由处理器驱动的设备。在图1所示的示例性
实施例中,网络计算设备110和120分别由用户101、主机计算设备110系统操作者(未?#22659;?
或第二方计算系统操作者120操作。

用户101可以使用通信应用111,例如web浏览器应用(未?#22659;?或单机应用,以通过
分布式网络105观看、下载、上传或以其它方式访问文件或网页。主机计算设备110的通信应
用111能够与连接至网络105的web服务器或其它计算设备交互。例如,通信应用111能够与
第二方计算系统120交互。在特定的示例性实施例中,该通信应用也可以例如通过主机计算
设备110的辅助接口113而与可信计算设备130交互。

除了该通信应用111之外,主机计算设备110(或“主机设备”)还可以包括各种主机
应用112,例如电子邮件应用、文本消息应用、通讯录应用或其它应用。例如,主机应用113可
以包括用户101从该用户的财务机构下载并安装的应用,例如来自用户银行的应用。然后,
用户101能够与可信计算设备130(或“可信设备”)一起使用该银行应用,以进行本文所述的
与用户的财务机构进行的财务交互。在特定的示例性实施例中,主机应用112可以包括数字
钱包应用。该数?#26234;?#21253;应用可以包含该主机设备110的用户101可以采用以帮助用户101完
成购买交易的任何应用、硬件、软件或过程。

主机设备110还包括辅助接口113,该辅助接口113包括用于将主机设备110连接至
其它设备(例如可信计算设备)的一个或多个端口。在特定的示例性实施例中,辅助接口113
可以包括用于将主机设备110连接至其它设备的无线接口。例如,辅助接口113可以允许通
过蓝牙、低功耗蓝牙、近场通信(“NFC”)、Wi-Fi或这些的任何组合而连接至其它设备,例如
可信计算设备。

主机设备110还包括能够被主机设备110的通信应用111或其它主机应用112访问
的数据存储单元114。示例性的数据存储单元114能够包括一个或多个有形的计算机可读介
质。数据存储单元114能够存储在用户计算设备110上,或能够被逻辑地耦合至用户计算设
备110。例如,数据存储单元114能够包括板上闪存和/或一个或多个可移除存储器卡或可移
除闪存。

第二方计算系统120(或“第二方系统”)包括服务器121。例如,服务器121可?#28304;?#34920;
计算机实施的系统,第二方计算系统120采用它来提供例如本文所述的可信设备130。例如,
服务器121可以通过第二方系统120的可信设备接口123并通过可信设备130的安全接口137
将受限信息传达给可信设备130。例如,可信设备接口123代表可信端口或者与第二方计算
系统120的其它可信连接。例如,第二方系统120的可信设备接口123可以包括小?#22270;?#31639;机系
统接口(“SCSI”)、串行连接SCSI(“SAS”)、光纤信道、外设部件互连(“PCI”)、PCI express
(PCIe)、串行总线、并行总线、先进技术连接(“ATA”)、串行ATA(“SATA”)、通用串行总线
(“USB”)、Thunderbolt、FireWire或其它连接端口。

在特定的示例性实施例中,第二方系统120包括网站122。该网站122例如可以允许
用户101与第二方系统120交互。例如,如果第二方系统120作为用户的财务机构而运行,则
该网站可以允许用户访问用户101的财务账户。网站122也可以向用户101提供用户101能够
下载至用户101的主机设备110的应用,例如与第二方系统120有联系的银行应用和/或数字
钱包应用。

第二方系统120还包括数据存储单元124。在特定的示例性实施例中,如本文所述,
数据存储单元124可?#28304;?#20648;与用户101相关联的私人机密信息。例如,如果第二方系统120作
为用户的财务机构而运行,则数据存储单元124可以包括用户101的财务账户信息,例如用
户101的支票账户号、储蓄账户号和/或信用卡号。

在特定的示例性实施例中,如本文所述,数据存储单元124可以包括密码数据。例
如,第二方设备120可以提供可信设备130,以包括用于?#29992;?解密通信的相应密码数据。在
这些实施例中,如本文所述,数据存储单元124可?#28304;?#20648;兼容的密码数据,以在对通过主机
设备110从可信设备130接收的?#29992;?#36890;信解密时使用。例如,服务器121可以例如通过从数据
存储单元124中检索密码数据并将该密码数据应用于?#29992;?#36890;信来处理所接收到的?#29992;?#36890;
信。

第二方系统120的示例性数据存储单元124能够包括一个或多个有形的计算机可
读介质。数据存储单元124能够集成到第二方系统120中,或能够逻辑地耦合至第二方系统
120。例如,数据存储单元124能够包括板上闪存和/或一个或多个可移除存储器卡或可移除
闪存。

可信设备130包括主机接口132,例如用于与主机设备130交互的端口。可信设备
130的主机端口132还包括写文件133,该写文件133用于通过主机接口132从所述主机设备
接收数据。可信计算设备130的主机接口132也包括隔离环境138。例如,隔离环境138包括可
信设备130的不能被主机设备110直接访问的各种部件。而是,如本文所述,主机设备110通
过所述写文件133和读文件134而与该隔离环境的部件交互。例如,隔离环境138包括隔离处
理器135和安全存储设备136。例如,如本文所述,隔离处理器135代表该可信设备130的处理
来自主机设备110的写文件条目或通过可信设备130的安全接口137接收的数据的部件。例
如,如本文所述,安全存储设备136接收和存储受限信息,例如机密或私人用户信息、密码数
据和/或安全事件日志条目。安全存储设备136还存储用于在可信设备130上执行的计算机
可执行程序指令。在一些实施例中,如本文所述,可信设备130的安全接口137代表该可信设
备130的隔离环境130的安全入口,例如用于接收受限信息。可信设备130的主机接口132还
包括读文件134。例如,如本文所述,读文件134从隔离环境138、例如从隔离处理器135接收
输出。然后,主机设备110能够通过主机设备110的主机接口132和辅助接口113接收来自读
文件134的输出。下面参考图2和3来描述可信设备130的?#38468;凇?br />

参考图2并继续参考图1作为背景,其?#22659;?#20102;根据特定的示例性实施例的、图示了
可信计算设备130的框图。在图2所示的实施例中,可信计算设备130包括隔离环境138、主机
接口132、零个或更多个安全接口137、以及分布在该可信设备130的多个部件上的计算机程
序产品139。

隔离环境138包括隔离环境处理器135、零个或更多个辅助处理器135a、和存储器
136。存储器136被连接以便与隔离环境处理器135进行数据通信。在一些实施例中,存储器
136包括安全分区和至少一个非安全分区两者。在一些实施例中,存储器136包括至少512MB
的?#19988;资?#24615;闪存。

每个辅助处理器135a都被连接以便与隔离环境处理器135和存储器136进行数据
通信。虽然图2中?#22659;?#20102;通过该隔离环境处理器135在辅助处理器135a和存储器136之间进
行数据通信连接,但是,直接连接或总线能够用于连接该隔离环境处理器135、辅助处理器
135a和存储器136。

每个辅助处理器135a和存储器136都仅通过隔离环境处理器135而与隔离环境138
外部的主机通信。每个安全接口137和主机接口132都与隔离环境处理器135进行数据通信。

计算机程序产品139包括非暂态计算机可读介?#21097;?#35813;计算机可读介质上具有在其
上实施的计算机可执行程序指令。当被可信计算设备130执行时,该程序指令使得可信计算
设备130执行各种可信计算操作。在包括安全接口137的实施例中,该程序指令使得可信计
算设备130本身例如为了?#29992;?#25805;作而通过安全接口137与外?#21487;?#22791;协作。在生产模型
(production model)中不包括安全接口137的一些实施例中,可信设备制造商使用在该生
产模型中未暴露的接口来提供可信设备130。在一些实施例中,虽然能够通过安全接口137
执行可信设备130的供应,但不能从隔离环境138读取所供应的信息(例如密钥)。

通过使用计算机程序产品139的程序指令,可信设备130通过主机接口132从隔离
环境处理器135产生第一文件系统分区。该第一文件系统分区包括主机读文件134和主机写
文件133。在一些实施例中,该第一文件系统分区的特征在于仅分配给隔离环境处理器135
的文件创建权限和文件?#22659;?#26435;限,并且,读文件134关于主机110是只读的。

在存储器136包括非安全分区的实施例中,当被可信设备130执行时,所述程序指
令通过隔离环境处理器136在主机接口132处产生访问存储器136的非安全分区的非安全第
二文件系统分区。

通过使用计算机程序产品139的程序指令,隔离环境138通过所述写文件133接收
请求以在隔离环境138中执行可信计算。由可信设备130执行的可信计算操作包括以下项中
的一个或多个:产生随机数、仅增日志、单调计数、流?#29992;?#21644;解密、批量?#29992;?#21644;解密、安全存
储和密封存储、访问密码原语、以及在本文的其它部分所述的其它操作。在计算机程序产品
139的程序指令的控制下,隔离环境138使用隔离环境处理器135、存储器136的安全分区、以
及任?#26410;?#22312;的辅助处理器135a中的至少一个来执行所请求的可信计算操作。隔离环境处理
器135在执行计算机程序产品139的程序指令时将在隔离环境138中执行的可信计算的结果
写入主机读文件134中。

隔离环境处理器135可以是适合向下列设备提供可分离接口的许多微处理器或微
控制器中的一个:1)通过接口132向不可信主机110提供,2)通过零个或更多个安全接口137
向零个或更多个可信安全外?#21487;?#22791;提供,以及3)向隔离环境130的元件提供。在一些实施例
中,隔离环境处理器135是低功率微控制器,例如ARM M3、M4,而在其它实施例中,更处理器
可以是全功能应用处理器,例如美国英特尔公司的PENTIUM TM或类似的处理器。在一些实
施例中,由隔离环境处理器135执?#20889;?#37096;分的程序指令,例如提供可信设备130、读取来自主
机写文件134的输入、执行时间较不敏感的可信操作(例如批量?#29992;?#21644;解密),以及将结果写
入主机读文件134。在一些实施例中,主机接口132和每个安全接口137中的一个或两者被集
成到隔离环境处理器135中。

出于各种原因(包括提高可信设备130的整体可制造性),辅助处理器135a能够被
包括在更隔离环境中。现有的?#29992;?#22788;理器(尤其是执行时间敏感任务的那些?#29992;?#22788;理器)通
常以硬件实现一些功能,例如,?#29992;?#22788;理器被实现为应用程序专用集成电路(ASIC)。用ASIC
实现系统功能可以?#26723;?#31995;统成本、节省空间,允许管理功?#27169;?#33410;约制造成本,并能减少独立
部件的数量(可靠性和可制造性因素)。例如,隔离环境138能够包括辅助处理器135a,以结
合存储器136的安全分区来执行用于声音和视频的流?#29992;堋?#29992;于高带宽数据的实时任务。使
用辅助处理器135a的其它原因包括测量隔离环境138内的主处理器135的操作/执行。以这
种方式,该辅助处理器是声明该安全环境是否按预期运行(完整性测量)的?#29616;?#22788;理器。在
一些实施例中,辅助处理器135a包括与由隔离环境处理器135控制的那些安全接口分离的
一个或多个安全接口。作为示例,可以考虑该辅助处理器135a包括用于“生活证据”或设备
?#29616;?#30340;安全NFC接口。在这些情况下,该隔离环境能够被视为扩展至处于该NFC接口的另一
端处的可信设备。

在可信设备130的一些实施例中,安全接口137能够与计算机程序产品139和隔离
环境138结合使用,以向可信计算机设备130提供例如用于?#29992;?#25805;作和执行软件更新的加载
密钥。在一些这些实施例中,安全接口137能够被实现为联合测试行为组织(JTAP)、I2C、SPI
或其它类似的接口。

在可信设备130的一些实施例中,安全接口137能够与计算机程序产品139和隔离
环境138结合使用,用于实现挑战-响应协议(challenge-response protocol)。在该挑战-
响应协议中,提出需要有效“响应(response)”以便继续给定动作的“挑战(challenge)”。例
如,在具有包括用户可见的发光二极管(LED)的第一安全接口137以及?#28304;?#25720;做出响应的第
二安全接口137的可信设备130中,能够执行计算机程序产品139的程序指令以点亮该LED,
从而用信号通知用户如下内容:用户必须触摸第二安全接口137,以继续该可信设备130的
给定动作。在一些实施例中,第二安全接口137是将人类身体的电容作为输入的电容式传感
器。在一些实施例中,使用了电阻式触摸传感器或压电触摸传感器。

作为安全接口137的另一种示例用途,可以考虑图3的系统。除了上文结合图2描述
的可信计算设备130之外,图3的系统300还包括至少一个安全接口137a和用户接口设备
310。用户接口设备310通过安全接口137a而与隔离环境138进行数据通信。用户接口设备
310和可信设备130之间的数据通信能够采用如下的各种连接(优选是无线的)中的任一种
或其组合,包括:红外数据组织(IrDA)链路、无线技术标准链路、以及近场
通信(NFC)链路。可信设备130提出了挑战,例如点亮可信设备130上的LED或将消息发送至
用户接口设备130的显示器。用户101使用用户接口设备310来响应该挑战。在一些实施例
中,该响应是对用户接口设备310的指纹响应输入。在一些实施例中,该响应是对在用户接
口设备310的显示器上提出的验证问题的回答。在一些实施例中,用户接口设备310可以是
移动通信设备,例如移动电话。在一些实施例中,用户接口设备310可以是带有NFC功能的遥
控钥匙(fob)。

可信设备130的计算机程序产品139包括操作系统、文件系统接口(它通过隔离环
境处理器135将第一文件系统分区与用户模式接口一起在主机接口132处提供给主机110)、
以及各种应用。在一些实施例中,可信设备130以三种(3种)模式运行:提供模式、运行模式
(包括通过文件系统接口接收请求并且结果被写入文件系统接口的用户模式)和验证/证明
模式。在一些实施例种,可信设备130在该提供模式下通过安全接口(即,JTAG)137进行通
信。在这种实施例中,该运行模式包括通过文件系统接口与不可信主机通信的用户模式交
互。该验证/证明模式包括通过安全接口137的带外信道(例如NFC、irda等)与用户通信。

在一些实施例中,操作系统(OS)是32位、抢先多任务、中断驱动操作系统。在该OS
上运行的应用作为是计算机程序产品139一部分的部分?#29992;?#26381;务具有对?#29992;?#21407;语的访问
权,以及作为该OS的用户模式服务的一部分具有对用于存储持久性数据的?#19988;资源?#20648;器
136的安全分区的访问权。?#36865;猓?#35813;OS提供API,?#28304;?#20027;机接收呼入会话请求,并然后作为用
户模?#20132;?#35805;服务的一部分使用和管理那些会话。

在一些实施例中,在OS上运行的用户模?#25509;?#29992;是资源受限的。在启动一个应用之
前,OS指定用于该应用的都被限制为组合4-6千?#32440;?#30340;初始栈和堆的、存储器136的安全分
区的区域。在这种实施例中,应用能够被直接编译为OS图像,所以应当小?#27169;?#20197;避免与OS及
可信计算设备130的库冲突的功能和类型名称。

在一些实施例中,当可信计算设备130连接至主机110时,可信计算设备130向主机
操作系统呈现具有下列布局的正确格式和分区的FAT文件系统:具有对第一文件系统分区
和(可选的)存储器136的非安全第二文件系统分区寻址所需的分区表的主引?#25216;?#24405;(MBR)。
该第一文件系统分区包含两个文件,被称为“读文件(read file)”和“写文件(write
file)?#20445;?#36825;两个文件能够(分别)被主机110读取和写入,并且是主机110与可信计算设备130
通信的仅有装置。(可选的)存储器136的非安全第二分区提供能够被主机110的操作系统读
取或写入的不受保护?#19988;资源?#20648;区。

应明白,该第一文件系统分区不限于仅使用两个文件。如果一个应用要求另外的
通信信道,则可信计算设备130能够在该分区中呈?#33267;?#22806;的文件,每个都受到可信设备130
的监管控制。在一些实施例中,第一文件系统分区中的所有未被设备控制的读文件134和写
文件133使用的区块都可标为“坏的(bad)”。可信计算设备130控制对第一文件系统分区中
的文件的访问。通过呈?#30452;?#20934;的FAT文件系统,可信计算设备130能够与大量的主机110通
信,同时只需最少地消耗主机110的能力。应当明白,在一些实施例中,能够使用另外的文
件,例如,使用一个或多个第三文件(为了报告错误或使主机110警惕特定的全局状态(即,
未运行(NOT RUNNING))——但在每种情况下,都需要不可信主机110和隔离环境138之间的
接口。

还应明白,(可选的)存储器136的非安全第二分区起大容量存储设备(例如闪存设
备)的作用。可信计算设备130以透明方式将这些交互传递给不可信主机110。

在主机110上运行的应用能够直接访问可信设备130的第一文件系统分区,但为了
方便,在一些实施例中提供了主机侧便携式操作系统接口(POSIX)式API。该POSIX式API包
括用于开启/闭合会话以及发送/接收数据的操作。

现代操作系统具有复杂的文件系?#31243;?#24449;,为了与实际的文件系统一起使用,对这
些复杂的文件系?#31243;?#24449;进行了不出所料的优化。这种优化的一个示例是缓存,这提供了访
问文件系统的显著优点,但缓存可能阻碍在可信计算设备130的第一文件系统接口上的信
息流。为?#31169;?#20915;这种情况,在实施POSIX式API的实施例中,应用能够使用“posix_fadvise”
而以“POSIX_FADV_DONTNEED”来标记文件描述符,?#28304;?#26041;式,对可信计算设备130的第一文
件系统分区的数据输入/输出将不被主机110的操作系统缓存。另外,当写入该可信设备130
时,主机110将例如使用“fsync”而要求对该文件刷新(flush)数据。

可信设备130的第一文件系统分区允许在主机110上运行的应用与在可信计算设
备上运行的应用建立对话(有状态、双向通信信道)。这些会话能够遵循客户端/服务器模
型,其中,外围应用起服务器的作用。能够通过hash/端点数配对来识别无论是在主机110上
运行的客户端或在可信计算设备130上运行的服务器的会话端点。这种配对能够被提取为
能够在会话管理代码(在主机110和可信设备130两者上)内使用以识别已知端点的16?#32440;?br />通用唯一标识符(UUID)值。

在一些实施例中,当主机110的应用希望与可信设备130的应用通信时,则主机110
能够:1)生成椭圆曲线密码(ECC)密钥对;2)为自身选择随机端点数;3)分配并初始化会话
场境结构;4)通过会话管理库来记录其密钥hash和端点数;以及5)通过第一文件系统分区
将连接请求发送至可信设备130。然后,可信设备130的应用被告知存在入站连接请求。然
后,可信设备130接受该请求或拒绝该请求。如果接受该连接,则主机130的应用可以通过会
话来发送和接收数据。一旦该会话终止,则进行基于会话的通信中常见的会?#23433;?#38500;过程。

除了本文其它部分描述的应用之外,可信设备130的实施例还使得在可信设备130
上运行的应用以及在主机110上运行的应用都可获得各种密码原语。可信计算设备130能够
像主机110的应用一样向其隔离环境138中的应用提供许多相同的应用API,例如流?#29992;?#26381;
务、?#26469;?#25913;日志、以及单次口令式验证算法和密钥。

在一些实施例中,为了在OS用户模式下启动一个应用,系统开发者负责调用OS初
始化例程、添加任何定制任务并且设置它们的参数并启动OS。每个任务都能够被配置成通
过指定有效大小而包括其自身的隔离堆(isolated heap)。然后,可以使用标准dl_malloc
API与该堆交互。会话是在OS下通信的主要方法。这些方法能够利用文件系统接口,以便定
义该任务和远程端点之间的双向消息通道。API可以是用于数据报套接字族的UNIX套接字
API的衍生物,并且其语义符号可以是类似的,例如open/close/sendto/recvfrom。为了高
效地利用CPU周期,一些系统接口能?#36824;移?#32473;定的任务并将CPU时间分配给其它操作。在大
多数情况下,这都自动地完成,例如当会?#23433;?#20316;必须等待数据时。另外,任务能够选择通过
提出“yield(放弃)”系统呼叫而放弃其CPU时间。

为了促进跨文件系统接口的通信,可信设备130的实施例提供了用于将原语数据
类型序列化和反序列化的函数集合。这些例程的一个目的是便于处理主机和可信设备130
之间的编组数据。可信设备130提供用于各种原语类型的序列化/反序列化例程:整数型、字
符串和通用唯一标识符(UUID)。对于更富集的数据结构,该可信计算设备的一些实施例提
供了代码生成工具,该代码生成工具消耗头文件(header file)(例如,C头文件),并且产生
源代码以及用于对这些结构序列化/反序列化的标头(header)。另外,该序列化/反序列化
工具生成分配符/解分配符、深复制算子、比较算子、setter和getter、以及数组大小调整操
作。这些结构可以被?#24230;?#24182;包含其长度在运行时确定的数组。

可信设备130的特定实施例中的密码原语被通过公共API提供给在隔离环境138中
运行的应用以及在主机110上运行的应用。这些原语包括下列原语中的至少一种:高?#37117;用?br />标准(AES)?#29992;埽?#21253;括电?#29992;?#30721;本(ECB)模式、Galois计数器模式(GCM),和具有密文挪用
(XTS)模式的基于tweaked-cookbook模式;椭圆曲线?#29992;?ECC),包括使用高效算法在现代
的、经同行评判的曲线(E-521)上执行的椭圆曲线Diffie-Hellman(ECDH)和椭圆曲线数字
签名算法(ECDSA);具有hash函数的安全Hash算法(SHA)-256;以及基于具有仿照scrypt制
作的设计的SHA-256的用于AES和ECC两者的密钥导出例程;以及符合美国国?#20918;?#20934;与技术
研究院(NIST)的基于AES伪随机数生成器。

在特定实施例中,可信设备130的应用使用这些原语以在文件系统接口上通信以
及执行它们期望的服务。主机110的应用主要使用这些原语与可信设备130通信。为这些密
码原语的现代性和可信度仔细选择所支持的密码原语。美国国家安全局(NSA)Suite B
cipher suite推荐GCM模式的AES,例如ECDH、ECDSA和SHA-256。对于ECC算法,曲线E-521被
选为普遍使用的安全性最高的经同行评判的曲线,对于该曲线,已知存在高效的无支路算
法。

应明白,图1所示的网络连接是例示性的,且能够使用在这些计算机和设备之间建
立通信链路的其它方式。?#36865;猓?#33719;得本公开的益处的本领域技术人员应明白,图1中所示的
主机计算设备110和第二方计算系统120能够具有任何几种其它适当的计算机系统配置。例
如,被实施为移动电话或手持式计算机的主机计算设备110可以包括或可以不包括本文所
述的所有部件。

在特定的示例性实施例中,网络计算设备和与本文提出的技术相关联的任何其它
计算机器可以是任何类型的计算机器,例如(但不限于)关于图12更详细地讨论的计算机
器。?#36865;猓?#19982;这些计算机器中的任一个相关联的任?#25991;?#22359;(例如本文所述的模块或与本文提
出的技术相关联的任何其它模块(脚本、web内容、软件、固件或硬件))都可以是关于图12更
详细地讨论的任?#25991;?#22359;。本文讨论的计算机器可以在一个或多个网络(例如网络105)上彼
此通信以及与其它计算机器或通信系统通信。网络105可以包括任何类型的数据或通信网
络,包括关于图12所讨论的任何网络技术。

示例性过程

下面参考图2-11中?#22659;?#30340;示例性方法和图来描述示例性操作环境100的部件。图
2-11的示例性方法也可以与其它系统在其它环境下执行。

图4是?#22659;?#20102;根据特定的示例性实施例的、用于通过隔离环境138安全地主机交互
的方法的方框流程图。

参考图1-3,在图4的方框405中,可信设备130接收受限信息。即,可信来源(例如第
二方系统130)向可信设备130提供包括不能被未授权用户访问的信息。然后,可信设备130
接收该信息。例如,用户101将可信设备130连接至可信来源(例如第二方计算系统120),使
得该可信来源能够通过可信设备130的安全接口137将受限信息安全地传送给可信设备130
的隔离环境138。该通信通过安全接口137发生,使得不可信主机设备110(它可以连接至或
者也可以不连接至可信设备130)不具有对该受限信息的直接访问权。例如,第二方计算系
统120可以通过第二方计算系统120的可信设备接口123连接至可信设备130。然后,第二方
系统120通过可信设备接口123和安全接口137将受限信息发送至可信设备130,该安全接口
137被与主机接口132隔离。然后,隔离环境138(例如隔离环境138的隔离环境处理器135)接
收该受限信息。之后,如本文所述,隔离环境138的隔离环境处理器135管理对该受限信息的
访问。

在特定的示例性实施例中,可信计算机设备130在该设备的制造期间接收此受限
信息,在这种情况下,可不必通过安全接口137提供。相反,该受限信息能够直接被包括在所
制造的设备的安全存储设备136中和/或在可信设备130的制造期间通过安全接口137提供。
然后,如本文所述,隔离环境处理器135能够检索并使用该受限信息。

如本文所使用的,“受限信息”包括任何类型的不可公开获得的机密或私人信息,
例如私人用户信息和/或?#29992;?#20449;息。例如,受限信息可以包括用户101的任何类型的个人信
息或个人可识别信息(“PII”),例如用户101的用户社会保险号、纳税人识别号或其它个人
识别号。

在特定的示例性实施例中,该受限信息可以包括用户101的财务账户信息,例如财
务账户号、信用卡账户号、储蓄卡账户号、财务账户的个人识别号(“PIN”),或其它财务账户
号。另外或可替代地,该受限信息可以包括用户101不想?#36824;?#24320;获得的任何其它数字物品或
物件,例如个人相片、文档、电子数据表,或与用户101相关联或属于用户101的其它物件。另
外或可替代地,受限信息可以包括事件日志条目,例如该可信计算设备已存储在隔离环境
138的安全存储设备136内的、主机设备110的系统日志条目。

在特定的示例性实施例中,另外或可替代地,该受限信息可以包括密码数据。例
如,可信设备130的处理器能够使用密码数据以对信息(例如被包含在口头和/或书面通信
中的信息)?#29992;?解密。本领域技术人员应明白,各种传统的?#29992;?#26041;法可兼容本文所述的方
法和系统。例如,当提供本文所述的可信设备130以包括用户的私人财务账户信息时,用户
的财务机构可以通过安全接口137向可信设备130提供密码数据。如本文所述,该密码数据
例如允许可信设备130通过不可信主机设备110向该财务机?#22266;?#20379;?#29992;?#36890;信。

在特定的示例性实施例中,该受限信息可以包括可信设备130基于从主机设备110
接收的信息而建立的信息。例如,在特定实施例中,如本文所述,例如当可信设备130管理和
保持主机设备110的系统日志事件条目时,可信设备130基于从主机设备110接收的信息来
建立事件日志条目。然后,如本文所述,可信设备130将这些事件日志条目作为受限信息保
持在隔离环将138中。

在方框410,可信设备130将受限信息存储在可信设备130的安全存储设备136内。
例如,在通过可信设备130的安全接口137接收该受限信息之后,隔离环境138的隔离环境处
理器135将该受限信息记录在安全存储设备136中,以便该隔离环境处理器135稍后能?#29615;?br />问来自安全存储设备136的受限信息。然而,如本文所述,可信设备130的安全存储设备136
不能被不可信主机设备110直接访问。因此,不可信主机设备110不能直接访问存储在隔离
环境138的安全存储设备136内的受限信息。而是,如本文所述,主机设备110访问主机接口
132的隔离环境。

在方框415中,可信设备130通过可信设备130的主机接口132从不可信主机设备
110接收写文件条目。即,如本文所述,一旦可信设备130连接至不可信主机设备110,则不可
信主机设备110就将数据以写文件条目的形式传输至与可信设备130的主机接口132相关联
的写文件133。例如,主机设备110通过主机设备110的辅助接口113传输数据。然后,与可信
设备130的主机接口132相关联的写文件133接收该写文件条目。

通过将该写文件条目传输至可信设备130,用户101能够——与可信设备130一
起——利用不可用主机设备110来代表用户101完成任务,而不将受限信息暴露于主机设备
110。例如,用户101可以将命令或输入提供给需要访问受限信息(例如,访?#26102;?#23384;储在安全
存储设备136内的用户财务账户信息)的不可信主机设备110。响应于该命令或输入,例如,
不可信主机设备110将写文件条目发送至可信设备130的写文件133。然后,可信设备130的
写文件133通过安全接口132接收该写文件条目。

在特定的示例性实施例中,该写文件条目可以包括与存储在可信设备130的安全
存储设备136内的受限信息有关的任?#25991;?#23481;。例如,该写文件条目可以包括关于被存储在安
全存储设备136内的用户101的财务账户信息的可执行命令或请求,例如从用户的金融账户
转账或提现的请求。另外或可替代地,该写文件条目可以包括涉及用户101的用户社会保险
卡号、纳税人识别号或其它个人识别号的可执行命令或请求。另外或可替代地,该写文件条
目可以包括涉及用户101不想?#36824;?#24320;获得的数字物品或物件(例如个人相片、文档、电子数
据表,或与用户101相关联或属于用户101的其它物件)的可执行命令或请求。在特定的示例
性实施例中,如本文所述,该写文件条目可以包括可信设备130作为受限信息而建立的事件
日志条目信息。

?#36865;猓?#30001;于该写文件条目能够包括与该受限信息有关的任?#25991;?#23481;,所以,该写文件
条目也提供信息类型的指示,例如存储在安全存储设备136内的可以对所述写文件条目做
出响应的受限信息。例如,如果该写文件条目包括处理用户101的现金转账或现金提取的可
执行命令或请求,则该写文件条目的内容——也就是说,现金转账或提现请求——提供了
如下指示:即,对该写文件条目做出响应的信息包括用户101的金融账户信息。例如,这种响
应金融账户信息可以包括用户的金融账户号、以及与金融账户号相关联的任何PIN。在特定
的示例性实施例中,该指示可以是特定指示。例如,该写文件条目可以包括从用户101的特
定账户(例如用户101的储蓄账户)将现金转账至用户101的另一账户(例如用户101的支票
账户)的请求。

在方框420中,可信设备130处理所接收的写文件条目以产生一个输出,即安全输
出。即,在隔离环境138中,可信设备130读取该写文件条目,以识别(如果有的话)哪个受限
信息可对该写文件条目做出响应。然后,可信设备130基于所识别出的对该写文件条目做出
响应的受限信息来确定输出。然后,可信设备130可选地保护该输出,例如通过对该输出加
密来产生安全输出。下面参考图5来更详细地描述方框420的?#38468;凇?br />

图5是?#22659;?#20102;根据特定的示例性实施例并且参考图4的方框420的、用于处理来自
不可信主机设备110的写文件条目的方法420的方框流程图。

参考图5,在方法420的方框505中,可信设备130根据该写文件条目来确定对该写
文件条目做出响应的信息的指示。即,在将该写文件条目接收到可信设备130的写文件133
中之后,可信设备130的隔离环境处理器135从写文件134中检索该写文件条目。例如,隔离
环境处理器135然后读取该写文件条目的内容。通过读取该写文件条目的内容,例如,隔离
环境处理器135确定哪个(如果存在的话)受限信息可对该写文件条目做出响应。例如,如果
该写文件条目包括涉及用户101的金融账户的现金转账或提现的请求,则隔离环境处理器
135确定该写文件条目包括“用户的金融账户信息对该写文件条目做出响应”的指示。

在特定的示例性实施例中,该指示可以是特定指示,例如在用户101的特定金融账
户之间进行现金转账的请求。例如,该写文件条目可以包括从用户101的特定账户(例如用
户101的储蓄账户)转账或提取现金的请求。因此,隔离环境处理器135可以确定该写文件条
目包括如下指示:即,用户的储蓄账户信息对该写文件条目做出响应。在其它示例性实施例
中,该写文件条目可以是通过用户的金融信息来处理支付的请求。例如,主机应用112(例如
数?#26234;?#21253;应用)可以提供寻求用户的金融信息以通过数?#26234;?#21253;应用完成支付的写文件条
目。因而,可信设备130确该定写文件条目提供了需要用户的金融信息(例如金融账户号)来
处理数?#26234;?#21253;支付请求的指示。

在方框510中,可信设备130识别对该写文件条目做出响应的受限信息。即,基于对
该写文件条目做出响应的信息的指示,可信设备130读取与该写文件条目相关的任何受限
信息的安全存储设备136的内容。例如,如果隔离环境处理器135确定该写文件条目包括用
户的金融账户信息对该写文件条目做出响应的指示,则隔离环境处理器135读取安全存储
设备136的内容,以识别用户的金融账户信息。

如本文所述,安全存储设备136可以包括各种受限信息。因此,在特定的示例性实
施例中,隔离环境处理器135可以仅识别对该写文件条目做出响应的一部分受限信息。例
如,如果所确定的指示仅涉及用户的储蓄账户号——并且不涉及用户101的支票账户
号——则隔离环境处理器135可以仅将用户的储蓄账户号识别为对该写文件条目做出响应
的一部分受限信息。

在方框515中,可信设备130基于所识别出的对该写文件条目做出响应的受限信息
来产生输出。即,可信设备130的隔离环境处理器135将所识别出的受限信息应用于该写文
件条目中包括的任何可执行命令或请求,以执行属于该写文件条目的任何指令。然后,隔离
处理器135产生对该写文件条目做出响应的输出。

在特定的示例性实施例中,例如?#22791;?#20889;文件条目提供用户的金融账户信息对该写
文件条目做出响应的指示时,该输出可以涉及包含用户101的账户的金融交易。例如,如果
该写文件条?#21487;?#21450;从用户的金融账户中进行现金转账或提现的请求,则可信设备130可以
产生能够用于开始并准许金融交易的输出。即,隔离环境处理器135可以基于安全储存设备
136内的所识别出的用户账户信息来产生不可信主机设备110能?#29615;?#36865;至用户的银行或其
它金融机构的通信。例如,该通信可以包括用户101的特定账户信息、用户的姓名、PIN和/或
将要转账或提现的账户。例如,包括用户的PIN可以构成对?#31859;?#36134;或提现的批准。在现金转
账或提现的情况下,该通信可以包括关于现金将被转账或提取的账户(例如该用户的另一
账户(或属于不同用户的账户))的信息。例如,如果用户101将现金从该用户的储蓄账户转
账至该用户的支票账户,则该通信可以包括用户的储蓄账户号和用户的支票账户号二者。

在方框520中,可信设备130可选地保护该输出以产生一个安全输出。即,在特定的
示例性实施例中,隔离环境处理器135可选地修改或改变该输出,使得该输出将不把受限信
息的内容公开给任何未授权用户。例如,隔离环境处理器135可以例如通过检索并应用先前
存储在可信设备130的安全存储设备136内的任何密码数据对输出?#29992;堋?#36890;过对该输出加
密,例如,因而提供一个安全输出。如果该输出涉及包含用户101的储蓄账户的金融交易,例
如,则该输出可以包括用户的储蓄账户号。因而,隔离环境处理器135对用户的储蓄账户号
以及任何其它受限信息?#29992;埽?#20174;而用户101的受限信息将不可被可能具有或可能获得对主
机设备110(且因此对主机设备110的内容)的访问权的未授权用户理解。

在特定的示例性实施例中,该?#29992;?#21487;以基于用户受限信息的hash值。例如,该?#29992;?br />可以基于用户的金融账户信息和标识该用户的信息的hash值,例如用户的金融账户号和用
户的标识信息。本领域技术人员应明白,存在许多hashing法(hashing methods)以对该受
限信息?#29992;堋?br />

返回到图4,在图4的方框425中,可信设备130将所述输出(例如可信计算设备130
已经保护的输出)发送至可信设备130的读文件134。例如,?#22791;?#31163;环境处理器135将对该写
文件条目做出响应的输出?#29992;?#26102;——因而产生一个安全输出——隔离环境处理器135将该
安全输出传达给可信设备130的读文件134。读文件134接收该安全输出,因而使得该安全输
出可用并可以由不可信主机设备110访问。在特定的示例性实施例中,例如下文参考图6所
讨论的,可信设备130在处理该写文件条目以产生一个输出之前和/或在将该安全输出发送
至读文件134之前可选地从用户101接收安全授权。

在方框430中,不可信主机设备110接收该输出(例如所述安全输出),并完成该安
全输出的任何主机侧处理。即,不可信主机设备110通过主机设备110的辅助接口113和可信
设备130的主机接口132访问该读文件134。然后,不可信主机设备110读取该输出(例如所述
安全输出)。通过读取该输出,例如,不可信主机设备110确定该输出的内容。例如,通过读取
该输出的内容,不可信主机设备110可以确定该输出是涉及先前发送的请求现金转账或提
现的写文件条目的安全输出。基于该安全输出的内容,不可信主机设备110能够通过采取使
用该安全输出所需的任何进一步的计算动作来处理该安全输出。例如,如果读文件134内的
安全输出是对涉及现金转账或提现请求的写文件条目的响应——并且该安全输出包括对
于所述转账的?#29992;?#25209;准——则不可信主机设备110能够包括通过网络105传输至预期的金
融机构接受器的安全输出。换句话说,所述另外的处理包括将该安全输出传输至用户101的
金融机构。

在涉及用户的受限信息的金融交易中,例如本文所述的现金转账或提现,用户的
实际受限信息——例如用户的金融账户信息——决不会以不安全的形式被不可信主机设
备公开获得。而是,例如,仅?#29992;?#30340;安全输出可被不可信主机设备110获得,以在网络105上
传输至用户的金融机构。一旦用户的金融机构接收到了该安全输出,例如,则该金融机构能
够使用与用于提供可信设备130以对该安全输出解密的密码数据相对应的密码数据。然后,
金融机构能够采取与该安全输出相关联的任何动作,例如完成用户101的现金转账或提现。

在特定的示例性实施例中,如果该输出是对一项支付——例如通过数?#26234;?#21253;应用
的支付——的安全批?#36857;?#21017;该数?#26234;?#21253;应用可以使用所述安全输出来代表用户101完成支
付。例如,该数?#26234;?#21253;应用可将该安全输出无线地发送至商店的信用卡终端(未?#22659;?。例
如,商店终端接收该安全输出,并将该安全输出例如沿传统的信用卡路径发送至正确的收
单行/发卡行。另外或可替代地,商店可以通过网络发送授权进行所述支付的安全输出。例
如,然后,收单行/发卡行接收该安全输出并对该安全输出解密,以完成支付交易。

图6是?#22659;?#20102;根据特定的示例性实施例的、用于授权将该输出传输至读文件134的
方法600的方框流程图。

参考图6,在方法600的方框605中,可信设备130被可选地配置成要求该输出的用
户授权,例如对该安全输出的授权。即,在特定的示例性实施例中,授权用户101和/或可信
设备130的制造商能够可选地要求该设备提供寻求授权?#28304;?#29702;所述写文件条目或将该安全
输出发送至读文件134的请求。例如,用户101可以通过安全接口137访问可信设备130,并输
入或选择要求用户授权的控制选项。基于用户101的输入或选择,如本文所述,可信设备130
然后可以在处理所述写文件条目或将该输出发送至读文件134之前要求“生活证据”和/或
身份验证——例如挑战-响应授权进程。另外或可替代地,可信设备130的制造商例如可以
在制造过程期间对该设备编程,以在处理所述写文件条目或将该输出发送至读文件134之
前要求“生活证据”和/或身份验证。

在方框610中,如果可信设备130被配置成在处理所述写文件条目或将该输出发送
至读文件134之前要求“生活证据”和/或身份验证,则可信设备130向用户101发送请求,以
提供对该输出(例如所述安全输出)进行授权的用户输入。即,可信设备130向用户101提供
信号或其它通信,以授权对所述写文件条目的处理,从而产生安全输出和/或将该安全输出
发送至读文件134。该信号能够是给用户的任何类型的信号,信该号由可信设备130始发。例
如,该信号可以是可信设备130的主体上的?#20102;?#20809;和/或源自与可信设备130相关联的扬声
器的音频通知。

在方框615中,可信设备130确定是否已经通过安全接口137接收?#25509;?#25143;输入。例
如,如果提供用户输入的该信号是闪光和/或音频通知,则用户101接收该信号并且——如
果合适的话——通过安全接口137将该输入提供给可信设备130。基于所接收到的来自用户
101的用户输入,可信设备130确定用户输入已经被接收到可信设备130的安全接口137中。
如果用户101未提供用户输入,则可信设备130确定未接收?#25509;?#25143;输入。

在特定的示例性实施例中,该用户输入可以是对安全接口137的直接输入。例如,
用户可?#28304;?#25720;与可信设备130的安全接口137相关联的传感器,由此向该传感器(并因此向
可信设备130)提供用户输入。在希望进行身份验证的特定实施例中,例如,用户101也可以
将用户特定的安全代码直接输入到可信设备130的安全接口137的用户接口中。例如,用户
可以将用户101独有的个人识别号(“PIN”)输入到安全接口137的按钮用户接口中。

在特定的示例性实施例中,用户输入可以通过无线输入。例如,用户101可以具有
能够通过安全接口137连接至可信设备130的无线遥控钥匙(key fob)。例如,该遥控钥匙可
以?#35272;?#20110;蓝牙和/或近场通信(“NFC”)技术,以将用户输入通过安全接口137传输至可信设
备130。在特定的示例性实施例中,该无线的用户输入可以包括该遥控钥匙通过安全接口发
送至可信设备130的安全代码。本领域技术人员应明白,该无线输入可以是?#29992;?#20449;号。在这
种实施例中,可信设备130例如可以被提供成包括能够对该无线输入解码的密码数据。

在特定的示例性实施例中,用户101和/或可信设备制造商可以配置特定的响应时
长以接收用户输入。例如,用户101和/或可信设备制造商可以为用户101设置约5至10秒的
时长,以便通过输入来进行响应,例如5、6、7、8、9或10秒。在特定的示例性实施例中,该时长
可以更长,例如约60秒。如果用户101在所配置的响应时长内未通过用户输入而做出响应,
例如,可信设备130就确定未接收到输入。相反,如果用户101在所配置的响应时长内确实提
供了用户输入,则可信设备130确定已经接收?#25509;?#25143;输入。

在方框620中,根据特定的示例性实施例,如果可信设备130确定已经通过安全接
口137接收?#25509;?#25143;输入,则该方法沿着方框620的“是”支路到达图6的方框630。根据特定的
示例性实施例,如果可信设备130确定尚未通过安全接口137接收?#25509;?#25143;输入,则该方法沿
着方框620的“否”支路到达图6的方框625。

在方框625中,如果可信设备130确定用户尚未提供用户输入,则可信设备130不对
所述读文件134产生输出。例如,如本文所述,可信设备130的隔离环境处理器135可以不处
理写文件条目来产生输出,或者,隔离环境处理器135可以暂停对该写文件条目的任何现有
处理(如果隔离环境处理器135已经开始处理该写文件条目)。另外或可替代地,如本文所
述,如果隔离处理器已经处理了该写文件条目以产生输出,则隔离环境处理器135可以不将
该输出发送至读文件134。因此,与其中产生输出或将该输出发送至读文件134的过程无关,
通过暂停该方法——响应于缺乏对安全接口137的用户输入——防止输出?#29615;?#36865;至读文件
134。这样,如本文所述,不可信主机设备110不能接收输出,例如安全输出。

在方框630中,如果可信设备130确定用户已经提供了用户输入,则如图4的方框
425所述,可信设备130将该输出发送至读文件134。即,在隔离环境处理器135完成了例如图
5的方框505至520中所描述的产生该输出所需的任何处理之后,136将该输出传达给可信设
备130的读文件134。在特定的示例性实施例中,如本文所述,可信设备130也保护该输入,例
如通过对该输入?#29992;?#32780;产生安全输出。如本文所述,读文件134接收该安全输出,因而使得
该安全输出可用,并能够被不可信主机设备110访问。

通过配置该可信设备130而要求“生活证据”和/或身份验证,用户101和/或可信设
备130制造商能够增强与可信设备130相关联的安全性。例如,如本文所述,如果可信设备
130被配置成要求用户101在设备130将一个安全输出发送至读文件134之前触摸该设备130
的主体,则用户101必须实际上靠近该可信设备130。例如,未授权用户101因而不能远程地
命令可信设备130继续将该安全输出发送至读文件134。

在特定的示例性实施例中,例如当可信设备130被配置成要求用户101将安全代码
直接输入到设备130中时,该安全代码的条目既验证用户101是存在的?#32440;?#19968;步确认用户
101的身份。即,用户101知道正确的安全代码(并且正确地将该安全代码作为用户输入而输
入到可信设备130中)的事?#21040;?#19968;步验证用户101是存在的并且是授权用户101。例如,未授
权用户将大概不具有安全代码,因而不能向可信设备130提供安全代码。

图7是?#22659;?#20102;根据特定的示例性实施例的、用于在两个或更多个主机计算设备之
间安全通信的系统700的方框图。

参考图7,提供了与第一可信设备130a相关联的第一主机设备110a,第一可信设备
130b被如本文所述地配置。例如,在本文所述的其它部件中,第一可信设备130a包括用于连
接至第一主机设备110a和第一安全接口137a的主机接口132a,例如用于接收和发送受限信
息,例如机密通信。同样,图7?#22659;?#20102;与第二可信设备130b相关联的第二主机设备110b,第二
可信设备130b被如本文所述地配置。例如,在本文所述的其它部件中,第二可信设备130b包
括用于连接至第二主机设备110b和第二安全接口137b的第二主机接口132b,例如用于接收
和发送受限信息,例如机密通信。也?#22659;?#20102;网络105,第一主机设备110a和第二主机设备
110b能够采用网络105以进行基于网络的通信。通过配置例如图7所示和根据本文提供的实
施例的系统,两个用户(例如第一用户101a和第二用户101b)能够交换安全通信。例如,在下
文中参考图8详?#35813;?#36848;这种方法。

图8是?#22659;?#20102;根据特定的示例性实施例的、用于在不可信主机设备110之间安全通
信的方法800的方框流程图。

参考图1-3和图7,在方法800的图8的方框805中,两个或更多个可信设备130例如
按照如图4的方框405-415来接收受限信息并将该受限信息存储在安全存储设备136内。即,
两个或更多个可信设备130中的每一个都被安全地提供为包括未授权用户不能访问的受限
信息。然后,可信设备130在每个可信设备130的安全存储设备136内存储该受限信息,例如
用于产生和破译?#29992;?#36890;信的密码数据。

在特定的示例性实施例中,两个用户(例如用户101a和用户101b)可以将两个或更
多个可信设备130“配对”在一起,使得这两个可信设备130交换受限信息。例如,两个可信设
备130a和130b种的每一个都能够以可移除方式附接至或集成到被设计为便于用户通信的
两个单独的耳麦中。通过使所述耳麦彼此靠近,用户101a和101b能够允许这两个耳麦的可
信设备130a和130b通过安全接口137交换受限信息,例如密码数据。例如,各个耳麦的两个
可信设备130a和130b可以通过蓝牙连接和/或近场通信(“NFC”)交换密码数据。然后,每个
可信设备130a和130b都在该可信设备130a和130b的安全存储设备136内存储相应的密码数
据,使得该密码数据不能被任何不可信主机设备(例如,可连接至所述耳麦的主机设备130a
和130b)直接访问。

另外或替代地,并?#20197;?#29305;定实施例中,可信设备130a和130b的制造商可以提供可
信设备130a和130b以在制造过程期间包括相应的密码数据,例如可以使用或不使用安全接
口137a和137b,如本文所述。在特定的示例性实施例中,该密码数据可以包含其它信息,例
如?#29992;?#36890;信?#29615;?#36865;到的位置的数字地址。这种数字地址数据例如可以与该密码数据一起存
储在安全存储设备136内。

在方框810中,第一可信设备130a通过第一安全设备130a的安全接口137a从第一
用户101a接收用户通信。即,第一用户101a通过安全接口137将通信传输至第一可信设备
130a,并且,隔离环境138例如通过隔离环境处理器135接收该传输。例如,在第一可信设备
130a和第二可信设备130b被配对而具有相应的?#29992;?#25968;据之后,第一用户101a可以向耳麦中
的麦克风说话,该麦克风被集成到所配对的耳麦之一中或者与所配对的耳麦之一相关联,
并连接至第一可信设备130a的安全接口137a。由于该麦克风通过安全接口137a连接至第一
可信设备130a,所以,该连接是不将第一用户的音频通信暴露于与耳麦相关联的任何不可
信主机设备110a的安全连接。

在方框815中,第一可信设备130a对第一用户101的通信?#29992;堋?#20363;如,在第一可信设
备130a从第一用户101a接收到通信之后,第一可信设备130a的隔离环境处理器135从安全
存储设备136中检索先前检索过的密码数据。然后,第一可信设备130a的隔离环境处理器
135将所检索的密码数据应用于从第一用户101a接收到的通信,从而对该通信?#29992;?#26469;产生
安全输出。

由于对来自第一用户101a的通信的?#29992;?#21457;生在第一可信设备130a的隔离环境138
中,所以,未?#29992;?#30340;通信仍不可被与包含第一可信设备130a的耳麦相关联的任何不可信主
机设备110访问。在特定的示例性实施例中,第一可信设备130可以将数字地址信息(例如未
?#29992;?#30340;数字地址信息)与该?#29992;?#36890;信相关联。如文本所述,第一可信设备130a的隔离处理器
135可以使用任何未?#29992;?#30340;数字地址信息,例如,用于将该?#29992;?#36890;信传达给正确的接?#29031;?br />(例如,第二用户101b)。

在方框820中,第一可信设备130a将?#29992;?#36890;信数据发送至第一可信设备130a的读
文件134。例如,一旦第一可信设备130a的隔离处理器135对该通信?#29992;?#32780;产生安全输出,如
本文所述,第一可信设备130a的隔离环境处理器135就将该?#29992;?#36890;信——作为安全输
出——传达给第一可信设备130a的读文件134。第一可信设备130a的读文件134接收该?#29992;?br />通信,因而使不可信主机设备110能够获得该?#29992;?#36890;信。

在特定的示例性实施例中,例如本文参考图6所描述的,第一可信设备130能够可
选地在将该?#29992;?#36890;信(即,本示例性实施例中的安全输出)发送至读文件134之前从第一用
户101a获取安全授权。例如,第一用户101a可以响应于来自第一可信设备130a的请求而在
任何通信能够被?#29992;?#21644;/或发送至所述写文件之前将安全代码输入到可信设备130a中。如
参考图6所述的,在这种示例性实施例中,在可信设备130的隔离环境处理器135将该输出
(例如所述安全输出)发送至其中主机设备110能够接收该输出的读文件134之前要求接收
用户输入。

在方框825中,第二可信设备130b接收到?#29992;?#36890;信。例如,与第一可信设备130a相
关联的第一不可信主机设备110a从第一可信设备130a的读文件134接收该?#29992;?#36890;信、以及
任何未?#29992;?#25968;据(例如,指明该?#29992;?#36890;信应?#29615;?#36865;至何处的数字地址数据)。然后,第一不可
信主机设备110将该?#29992;?#36890;信发送至第二不可信主机设备110b,该第二不可信主机设备
110b例如与第二可信设备130b相关联。第二可信设备130b例如可以是先前与包含第一可信
设备130a的耳麦配对的耳麦的一部分。因此,如本文所述,第一和第二可信设备(图7的130a
和130b)共享相应的?#29992;?#25968;据。下面参考图9进一步详?#35813;?#36848;方框825的?#38468;凇?br />

图9是?#22659;?#20102;根据特定的示例性实施例的、用于通过第二可信设备130b接收?#29992;?br />通信的方法825的方框流程图。

参考图1-3和图7,在方法825的方框905中,第一不可信主机设备110a从第一可信
设备130a的读文件134接收?#29992;?#36890;信。即,第一不可信主机设备110a通过可信设备130a的该
主机接口132a访问读文件134。然后,第一不可信主机设备110a读取第一可信设备130a的读
文件134的内容,例如用于确定读文件134包括作为所述输出的?#29992;?#36890;信。通过读取和确定
可信设备130a的读文件134的内容,第一不可信主机设备110a接收该?#29992;?#36890;信。

在特定的示例性实施例中,第一不可信主机设备110a也可以读取与该?#29992;?#36890;信相
关联的数据,例如关于该?#29992;?#36890;信应?#29615;?#36865;至的位置的数字地址的数据。然后,第一不可信
主机设备110a能够使用该地址信息以将该?#29992;?#36890;信发送至第二不可信主机设备110b。换句
话说,第一主机设备110a可以执行涉及该第一通信的另外处理,例如确定将该第一通信发
送至哪里。

在特定的示例性实施例中,第一不可信主机设备110a可以是第一用户101a的移动
电话或其它移动设备。例如,如本文所述,该移动电话可以连接至无线耳麦,该耳麦包括被
集成的或以可移除方式附接的第一可信设备130a。然后,第一不可信设备110a(例如用户的
移动电话)能够通过与耳麦的无线连接(例如蓝牙和/或近场通信(“NFC”)连接)来接收本文
所述的?#29992;?#36890;信。另外或可替代地,第一不可信主机设备110a与被集成到耳麦中或以可移
除方式附接至耳麦的第一可信设备130a之间的该连接可以是有线连接或其它直接连接。

在方框910中,第一不可信主机设备110a将该?#29992;?#36890;信传达给第二不可信主机设
备110b。即,第一不可信主机设备110a例如通过网络105将该?#29992;?#36890;信发送至第二不可信主
机设备110b,使得第二不可信主机设备110b接收到该?#29992;?#36890;信。例如,第一不可信主机设备
110可以?#35272;?#20110;与该?#29992;?#36890;信相关联的任何数字地址信息,以识别第二不可信主机设备
110b的位置。然后,第一不可信主机设备110a通过网络将该?#29992;?#36890;信发送至与该?#29992;?#36890;信
相关联的数字地址,并且第二不可信主机设备110b接收该?#29992;?#36890;信。

在特定的示例性实施例中,例如?#22791;眉用?#36890;信不与该?#29992;?#36890;信的接?#29031;?#30340;数字地
址相关联时,第一用户101a可以例如从用户通讯录中选择一个数字地址以发送该通信。例
如,第一用户101a可?#28304;?#31532;一用户101a的主机设备110a上的通信录应用中将第二用户101b
选择为该?#29992;?#36890;信的接?#29031;摺?#22522;于第一用户101a的选择,在这种实施例中,第一不可信主机
设备110a将该?#29992;?#36890;信发送至所选中的第二用户101b的数字地址。然后,第二不可信主机
设备110b(例如第二用户的移动电话)接收该?#29992;?#36890;信。

在方框915中,在从第一不可信主机设备110a接收到该?#29992;?#36890;信之后,第二不可信
主机设备110b将该?#29992;?#36890;信发送至第二可信设备130的写文件133。即,第二不可信主机设
备110将从第二不可信主机设备110接收到的该?#29992;?#36890;信发送至与第二不可信主机设备
110b相关联的第二可信主机设备130b的写文件133。例如,如本文所述,第二不可信设备
110b可以无线地或通过有线方式连接至包含第二可信设备130b的耳麦。为?#31169;?#35813;?#29992;?#36890;信
发送至第二可信设备130b,例如,第二不可信主机设备110b将该?#29992;?#36890;信经由有线或无线
连接、例如通过第二可信设备130b的主机接口132发送至第二可信设备130b的写文件133。

在特定的示例性实施例中,第二不可信设备110b可以是第二用户101b的移动电话
或其它移动设备。例如,第二用户101b的移动电话例如通过网络105而从第一用户101a的移
动设备接收该?#29992;?#36890;信。第二用户的移动电话接收到该?#29992;?#36890;信,然后将该?#29992;?#36890;信例如
通过在第二用户101b的耳麦和移动电话之间的蓝牙和/或近场通信(“NFC”)连接而发送至
第二用户101b的耳麦。与第二用户101b的耳麦集成(或以可移除方式附接)的第二可信设备
130b将该?#29992;?#36890;信作为写文件条目而接收到第二可信设备130b的写文件133中。

参考图8,在图8的方框830中,第二可信设备130b所接收到的?#29992;?#36890;信。即,第二可
信设备130b的隔离环境处理器135从第二可信设备130b的写文件133检索该安全通信。然
后,隔离环境处理器135基于先前接收的密码数据(例如在第一可信设备130a和第二可信设
备130b的配对期间接收到的密码数据)对该?#29992;?#36890;信解密。

在特定的示例性实施例中,图8的方框830的处理遵循于图5的方框505至510中所
述的方法。例如,第二可信设备130b的隔离环境处理器135读取所述写文件条目,以将该条
目识别为?#29992;?#36890;信。然后,隔离环境处理器135确定所存储的密码数据对该写文件条目做出
响应,因为第二可信设备130b的隔离处理器105能够使用?#29992;?#25968;据对该?#29992;?#36890;信解密。通过
检索和应用该密码数据,例如,第二可信计算设备130b的隔离环境处理器135从第一用户
101a的第一通信中产生解密通信。

在方框835中,第二可信设备130b通过第二可信设备130b的安全接口137b将该解
密通信发送至第二用户101b。例如,在隔离环境处理器135产生解密通信之后,第二可信设
备130b的隔离环境处理器135可以将该解密通信传输至与第二可信设备130b的安全接口
137连接的扬声器。该扬声器例如可以位于第二用户101的耳麦的听筒内,使得该扬声器的
任何输出都被引到第二用户101的耳朵内。例如,使用该安全接口137,隔离环境处理器135
通过引导该扬声器以提供该解密通信的音频输出而将该解密通信发送至第二用户101。然
后,第二用户101能够接收该解密通信的音频输出。

等到第一用户101a的该通信到达第二用户101b的耳朵时,该通信仅以?#29992;?#30340;形式
经过不可信主机(即,第一不可信主机设备110a和第二不可信主机设备110b)。因此,不可信
主机设备不具有对该未?#29992;?#36890;信的访问权,从而允许第一用户的通信保持私密性。并且,由
于该通信仅以?#29992;?#30340;形式经过不可信主机设备,所以,从第一用户101a至第二用户101b的
通信对于可能尝试窃听或拦截该通信的未授权用户来说远没有那?#21019;?#24369;。

虽然上述实施例描述了从第一用户101a至第二用户101b的单向通信,但本领域技
术人员应明白——考虑到本文所述的内容——这些过程能?#29615;?#36807;来以完成双向通信。即,
本文所述的过程能够倒过来以提供从第二用户101b至第一用户101b的安全通信。例如,第
二用户101b可能希望通过向第一用户101a提供第二通信而安全地响应第一用户101a的第
一通信。

在这种双向通信实施例的示例中,第二用户101b可以对连接至第二可信计算设备
130b的麦克风说话。第二可信计算设备130b通过安全接口137b接收该通信。在接收到该通
信后,第二可信计算设备130b的隔离环境处理器135对该第二通信?#29992;埽?#28982;后将该?#29992;?#36890;信
发送至第二可信计算设备130b的读文件134。在特定的示例性实施例中,如本文所述,第二
可信计算设备130可以要求来自第二用户101b的用户输入,以授权对第二不可信主机设备
110b的?#29992;?#20256;输。

在第二不可信主机设备110b从第二可信计算设备130b的读文件接收到?#29992;?#30340;第
二通信后,第二不可信主机设备110b将该?#29992;?#36890;信发送至第一不可信主机设备110a。然后,
第一不可信主机设备110a将该?#29992;?#36890;信发送至第一可信计算设备130a的写文件133。第一
可信计算设备130a的隔离环境处理器135对该?#29992;?#30340;第二通信解密,然后将解密后的第二
通信提供给第一用户101a。例如,第一可信计算设备130a通过与第一可信计算设备130a的
安全接口137a连接的扬声器作为音频输出来提供解密后的第二通信。该扬声器例如可以集
成到第一用户101a的耳麦中,从而允许音频输出被直接提供给第一用户101a的耳朵。

除了上述方法之外,用户101也能使用可信设备130以安全地管理主机系统事件日
志条目。图10是?#22659;?#20102;根据特定的示例性实施例的、用于安全事件日志管理的方法1000的
方框流程图。

参考图1-3,在图10的方框1005中,可信计算设备通过主机接口132从不可信主机
设备110接收写文件条目。即,例如图4的方框410中所述,不可信主机设备110将信息发送至
可信计算设备130的写文件133,并且可信计算设备130将该信息作为写文件条目接收到可
信计算设备130的写文件133中。该传输通过可信计算设备130的主机接口132进行。

在特定的示例性实施例中,该写文件条?#21487;?#21450;主机设备110的系统日志信息。即,
主机设备110可以将主机设备110的系统日志信息作为写文件条目发送至可信计算设备130
的写文件133。然后,可信计算设备130将主机设备110的系统日志信息作为写文件条目写入
到可信计算设备130的写文件133中。在这种实施例中,该写文件条目可以涉及或包括主机
设备110的操作系统能够记录的系统事件。例如,事件日志可以涉及或包含关于设备变化、
设备驱动器、系统变化、系统操作的信息或关于主机计算系统110的其它信息。

在特定的示例性实施例中,事件日志可以包括应用(程序)事件,其中,取决于事件
的?#29616;?#24615;,这些事件?#29615;?#31867;为错误、警告或其它信息。例如,错误的事件日志可包括数据损
失。其它事件日志可以涉及或包括安全相关事件,包括成功或失败的审查或安全漏洞。其它
事件日志可以涉及或包括设置事件或系统事件。又一些其它事件日志可以包括转发事件,
例如从与主机设备110相关联的其它设备转发的事件。

在特定的示例性实施例中,主机设备110在用户101登录到主机设备110时、在主机
设备110上的程序或应用遇到错误时或者在主机设备110检测到威?#19981;?#20837;侵时产生日志事
件。然后,主机设备110将事件日志发送至可信计算设备130的写文件130,并且可信计算设
备130的写文件133将该事件日志接收为写文件条目。

在特定的示例性实施例中,可信设备130可以管理和保持主机设备110的系统日
志。即,可信设备130用作主机设备110的事件日志系统。因此,主机设备110将管理和保持的
所有事件日志例如都可以作为写文件条目发送至写文件133。所述写文件接收该写文件条
目,并且可信计算设备130管理和保持主机设备110的——并且代表主机设备110的——系
统日志。

在特定的示例性实施例中,该写文件条目可以不涉及主机设备110的系统日志事
件,而是涉及与存储在可信计算设备130上的受限信息有关的请求。例如,主机设备110可以
向可信计算设备130的写文件133提供涉及用户的金融信息的请求或命令,例如本文所述的
对现金转账或提现的请求。该写文件133作为写文件条目接收该请求。然后,可信计算设备
130将所接收到的写文件条目记录为事件日志。换句话说,在特定的示例性实施例中,可信
计算设备130可以保持和管理作为写文件条目接收的所有事件的事件日志,而与主机设备
110是否在主机设备110上保?#21482;?#31649;理系统日志或是否?#35272;?#20110;可信计算设备130以管理和保
持代表主机设备110的系统日志无关。

在方框1010中,可信计算设备确定与该写文件条目相关联的日志数据。即,可信计
算设备130例如通过所述隔离环境的隔离环境处理器135而从写文件133检索该写文件条
目。然后,该隔离处理器确定与该写文件条目相关联的信息,例如与该写文件条目相关联的
事件的日期、与该写文件条目相关联的事件的时间、或与该写文件条目相关联的任何其它
信息。例如,如果可信计算设备130管理和保持主机设备110的系统日志,则隔离环境处理器
135可以确定该写文件133接收用于访?#39135;?#35797;(并因此确定访?#39135;?#35797;的时间)的写文件条目
的时间。隔离环境处理器135例如也可以通过读取针对失败访?#39135;?#35797;(failed access
attempt)的该写文件条目的内容,确定所接收到的写文件条?#21487;?#21450;失败访?#39135;?#35797;,例如未
授权用户的失败访?#39135;?#35797;。

在方框1015中,可信计算设备130基于所确定的日志数据来建立事件日志条目。
即,在可信计算设备130确定与该写文件条目相关联的日志数据后,隔离环境处理器135使
用所确定的日志数据来产生事件日志条目。例如,如果隔离环境处理器135确定主机设备
110在01/01/14日的10:53:32将作为写文件条目的一?#38382;?#36133;访?#39135;?#35797;事件输入到写文件
133中,隔离环境处理器135产生针对01/01/14日的10:53:32的写文件条目的事件日志条
目。在特定的示例性实施例中,例如当可信计算设备130的隔离环境处理器135确定该写文
件条目的内容时,隔离环境处理器135也可以将写文件内容的说明与该写文件条目相关联。
例如,如果该写文件条?#21487;?#21450;在主机设备110上的失败访?#39135;?#35797;,则日志事件条目说明可以
指明该事件涉及01/01/14日的10:53:32的失败访?#39135;?#35797;。

在特定的示例性实施例中,除?#31169;?#31435;事件日志条目之外,如本文所述,可信计算设
备130也可处理任何写文件条目。即,如果写文件条?#21487;?#21450;被记录在安全存储设备136内的
受限信息——例如使用用户的存储金融账户信息的现金转账或提现请求——可信计算设
备130可以如本文所述地(例如图4的方框405至430中所述地)处理请求并建立对于该请求
的事件日志。例如,主机设备110提供写文件条目请求,?#28304;?#29992;户101的金融账户转账,可信
设备130处理该写文件条目,以便如图4的方框405至430中所述地产生对于该请求的输出。
但另外,在特定的示例性实施例中,可信设备130可以建立对于该请求的事件日志条目。

在方框1020中,可信计算设备130在安全存储设备136中记录事件日志条目。即,在
建立与写文件条目相对应的事件日志条目后,隔离环境处理器135将该事件日志条目发送
至隔离环境138的安全存储设备136。安全存储设备136接收该事件日志条目并在安全存储
设备136中(例如在该安全存储设备的事件日志文件或数据库中)记录该事件日志条目。例
如,如果该事件日志条目包括日期、时间和/或事件说明,则可信计算设备130的隔离环境处
理器135将与该写文件条目相对应的事件条目的日期、时间和/或事件说明记录在安全存储
设备136内。如果隔离环境处理器135建立例如包括日期01/01/14、时间10:53:32以及指明
该事件涉及失败访?#39135;?#35797;的事件日志条目,则所记录的事件日志条目可以包括日期01/01/
14、时间10:53:32、以及该事件日志条?#21487;?#21450;在主机设备110上的失败访?#39135;?#35797;的指示。

由于可信计算设备130的隔离环境处理器135在隔离处理环境138的安全存储设备
136?#20889;?#20648;事件日志条目,所以主机设备110不能直接从安全存储设备136访问该事件日志
条目。例如,由于对该事件日志条目的进一步访?#24335;?#38480;于授权用户,所以,所存储的事件日
志条目变成受限信息。例如,主机设备110的未授权用户不能访问存储在安全存储设备136
内的事件条目,例如不能修改、?#22659;?#25110;以其它方式篡改该事件日志条目。而是,如本文所述,
仅授权用户101能?#29615;?#38382;该事件日志条目,例如通过安全接口137或通过可信计算设备130
的读文件134。

在特定的示例性实施例中,该事件日志条目是仅增条目(append-only entry)。
即,可信计算设备130的隔离环境处理器135将事件日志条目附加至事件日志文件或数据库
的其它条目的末尾,而不改变或?#22659;?#20219;何之前的事件日志条目。例如,在仅增实施例中,隔
离处理器135可以在先前记录的事件日志条目之后紧跟着记录下一个事件日志条目的日
期、事件和说明。作为一个仅增条目,该日志条目不能被修改。换句话说,一旦处理器将该事
件日志条目记录在安全存储设备中,授权用户101、甚至是用户101所信任的主机设备110都
不能改变或修改该条目。在特定的示例性实施例中,隔离处理器135记录多个仅增条目,因
而产生仅增的日志文件或系统事件日志。例如,当新的事件日志条目被添加至可信设备130
的安全存储设备136时,如本文所述,存储在安全存储设备132内的所有事件日志——与新
的事件条目一起——可用作日志文件的仅增系统事件日志。因此,即使是主机110的授权用
户101和/或用户101所信任的主机设备110也不能修改或以其它方式编辑(除了增加)被存
储在系统事件日志或日志文件中的日志信息。

在特定的示例性实施例中,隔离环境处理器135可以向每个事件日志条目指配唯
一的、?#27492;?#24207;的日志条目号。通过?#35272;?#20110;?#27492;?#24207;的日志条目号,事件日志条目在安全存储设
备136内的排序提供了相对的时间指示,因为最近增加的事件日志条目比先前的事件日志
条目更新。即,?#27492;?#24207;的日志条目号提供了事件条目的相对时间戳,这?#19988;?#20026;能够相对于其
它事件条目的时间测量每个条目的时间。通过?#35272;?#20110;?#27492;?#24207;的日志条目号,在特定的示例
性实施例中,可信设备130能够产生用于若干个事件日志条目的事件日志,例如与物理时钟
解耦的系统事件日志。

图11是?#22659;?#20102;根据特定的示例性实施例的、用于将事件日志条目传达给授权用户
101的并行方法1100的方框流程图。例如,如下文在方框1105至1115中所述的,可信设备130
通过安全接口137将来自安全存储设备136的一个或多个事件日志条目传达给用户101。另
外或可替代地,例如下文方框1120至1130中所述,可信设备130通过主机接口132将来自安
全存储设备136的一个或多个事件日志条目传达给用户101。然后,用户101接收该一个或多
个事件日志条目。例如,用户101可以接收多个事件日志条目的整个系统日志或日志文件。

参考图11,在图10的方框1105中,可信计算设备130通过可信计算设备130的安全
接口137接收对事件日志条目的用户请求。例如,授权用户101可以将可信设备130连接至能
够通过安全接口137访问可信计算设备130的隔离环境138的可信的第二方计算系统120。利
用该第二方计算系统120,例如,授权用户101通过安全接口137将一个请求(例如接收一个
或多个事件日志条目的请求)发送至可信设备130。例如,授权用户101可以请求访问包含多
个事件日志条目的事件日志条目文件或系统日志。隔离环境处理器135通过安全接口137接
收该访问请求。

如本文所述,由于主机设备110与安全接口137隔离,主机设备110既意识不到、也
不能影响通过安全接口137做出的请求。例如,主机设备110不能通过安全接口137请求安全
事件日志条目(或其它受限信息)。因而,通过安全接口137的授权用户请求保持相对于不可
信主机设备110是安全的。

在方框1110中,可信设备130从安全存储设备136中检索事件日志条目。例如,可信
计算设备130的隔离环境处理器135读取从请求访问一个或多个事件日志条目的授权用户
101接收的请求。然后,隔离环境处理器135响应于授权用户的请求而针对事件日志条目读
取该安全存储设备136。例如,如果授权用户101已经请求访?#25910;?#20010;事件日志文件内容(例如
系统日志或日志文件),则隔离环境处理器135识别整个事件日志文件或系统日志,并且如
本文所述地检索用于发送至授权用户101的整个事件日志文件或系统日志。

在方框1115中,可信计算设备130通过安全接口137将该事件日志条目发送至用
户。即,在响应于访问事件日志条目的用户请求而识别一个或多个事件日志条目之后,隔离
处理器135通过可信计算设备的安全接口137将所检索到的一个或多个事件日志条目发送
至授权用户101。例如,如果授权用户101请求来自可信设备130的整个日志文件或系统日志
内容,则隔离处理器135通过安全接口137将整个日志文件或系统日志发送至授权用户101。
然后,如本文进一步所述的,授权用户101通过安全接口137接收该一个或多个事件日志条
目。

在特定的示例性实施例中,例如图6的方框605至630中所述,可信设备130可以请
求用户输入,以授权通过安全接口将所述一个或多个事件日志条目发送至授权用户101。例
如,如本文所述,可信设备130可以向用户101传输授权请求,例如闪光、听觉通信或其它通
信。如本文所述,授权用户101从可信计算设备130接收该传输,并通过可信计算设备130的
安全接口137将用户输入提供给可信计算设备130。

在特定的示例性实施例中,该用户输入可以包括用户101例如通过将代码输入到
可信计算设备130的主体中和/或通过无线连接而输入到可信计算设备130内的安全代码。
例如,如本文所述,授权用户101可以将来自无线遥控钥匙的?#29992;?#20195;码发送至可信计算设备
130。然后,可信计算设备130从该遥控钥匙接收?#29992;?#20195;码,因而授权将所述一个或多个事件
日志条目发送给授权用户101。

在方框1120中,除?#36865;?0的方框1005至1015中所述的方法之外或替代这些方法,
可信计算设备130从主机设备110接收请求所记录的事件日志条目的写文件条目。例如,用
户101将请求输入到主机设备110的用户接口,以请求一个或多个日志事件条目,例如日志
文件或系统日志。然后,主机设备110接收请求一个或多个日志事件条目(例如日志文件或
系?#31243;?#30446;)的用户输入,并通过主机接口132将作为写文件条目的该请求发送至可信设备
130的写文件133。例如本文在图4的方框415中所述的,该写文件接收作为写文件条目的该
发送。

在方框1125中,可信计算设备130处理所接收到的写文件条目。即,例如图5的方框
505至515中所述,可信设备130响应从写文件133接收的对一个或多个事件日志条目的请
求。例如,基于所接收到的写文件条目请求,可信计算设备130从该写文件条目确定该写文
件条?#21487;?#21450;所存储的事件日志条目。可信计算设备130也识别对所确定的写文件条目做出
响应的一个或多个事件日志条目。然后,可信设备130基于所识别出的对该写文件条目做出
响应的事件日志条目来产生输出。例如,隔离环境处理器135可以产生被存储在安全存储设
备136内的仅增事件日志条目的拷贝而作为输出。例如,在特定的示例性实施例中,例如图5
的方框520中所述,可信计算设备130例如通过对所请求的事件日志条目的输出?#29992;?#26469;保护
该输出。例如,隔离环境处理器135可以对该响应事件日志条目?#29992;埽?#20197;产生能够通过网络
105传达给能够对?#29992;?#30340;事件日志条目解密的第二主机设备110的安全输出。

在方框1130中,可信计算设备130将一个或多个事件日志条目发送至可信计算设
备130的读文件134。即,例如图4的方框425中所述,可信设备130的隔离环境处理器135将所
请求的一个或多个事件日志条目(或该事件日志条目的拷贝)发送至可信设备130的读文件
134。然后,可信设备130的读文件134接收所请求的事件日志条目,因而使得该事件日志条
目能够由连接至可信设备130的主机设备110获得。在特定的示例性实施例中,例如本文中
参考图6所述的,在将该事件日志条目发送至可信设备130的读文件134之前,可信设备130
可选地从用户101接收安全授权。例如,用户101可以通过安全接口将用户输入提供给可信
设备130,因而授权对写文件条目的处理和/或将该事件日志条目发送至可信设备130的读
文件134。

在方框1135中,在可信设备130通过安全接口137或通过可信设备130的读文件134
将所请求的事件日志条目发送至授权用户101之后,用户101接收到所请求的事件日志条
目。例如,用户101可以通过安全接口137、例如通过从可信计算设备130发送的事件日志文
件或系统日志而直接接收该事件日志条目。另外或可替代地,如果可信计算设备130将该事
件日志条目发送至可信设备130的读文件134,则例如图4的方框430中所述,主机设备110接
收该事件日志条目。然后,主机设备110例如通过与主机设备110相关联的用户接口将该事
件日志条目提供给用户101。然后,用户101接收到该事件日志条目。

在特定的示例性实施例中,用户101能够可选地验证用户101通过主机接口132接
收的一个或多个日志事件的真实性。例如,即使所述隔离处理器135可以将来?#28304;?#20648;在安全
存储设备136内的仅增日志事件条目的日志事件条目提供给读文件134,受损的主机设备
110也可能试图误传从读文件134接收的日志事件条目。为了检测或识别这种误传,授权用
户101能够将通过主机接口132的读文件134接收的一个或多个事件日志条目与通过安全接
口137接收的一个或多个事件日志条目相比较。由于安全接口137不能被主机设备110访?#21097;?br />所以,基于上述比较而识别出的任何矛盾?#32487;?#20379;了主机设备110受损的指示。例如,如果一
个或多个日志条目事件存在于通过该安全接口接收的日志文件上但却从通过主机接口132
接收的日志文件中消失了,则授权用户101可以基于该消失的日志事件条目确定主机设备
110受损了。与从安全接口137接收的日志文件相比,对通过主机接口132接收的日志文件的
任何其它?#22659;?#28155;加或改变都类似地提供了主机设备110受损的指示。

在特定的示例性实施例中,用户101可?#28304;?#20027;机设备110移除可信设备130,并将可
信设备130插入?#25509;?#25143;101所信任的第二主机设备110中。例如,如果用户101怀疑第一主机
设备110可能受损,则用户101可以将可信计算设备130从已经将可信计算设备130用作本文
所述的系统日志的第一主机设备110移除。因此,可信设备130在可信设备130的安全存储设
备136内包含用于第一主机设备110的一个或多个事件日志条目。然后,如本文所述,用户
101能够通过——经由第二主机设备110和主机接口132——请求访问事件日志条目来访问
第一主机设备110的事件日志条目。例如,如本文所述,可信设备130向可信设备130的读文
件134产生对请求做出响应的安全输出,并且第二主机设备从所述读文件134接收该读文件
条目。

通过保护可信计算设备的安全存储设备136内的事件日志条目,可信设备130保护
该事件日志条目不被未授权用户101(例如黑客)攻击。例如,如果事件日志——它能够将访
?#39135;?#35797;记录为仅增事件日志条目——将访?#39135;?#35797;在安全存储设备136中安全地存储为事件
日志条目,那么,尝试恶意访问主机设备110的未授权用户101不能掩盖他或她的痕迹。换句
话说,未授权用户不能访问该事件日志,例如不能修改或?#22659;?#19982;安全存储设备136中的仅增
事件日志条目相关联的事件日志数据。而是,仅授权用户101能?#29615;?#38382;该事件日志条目,但
不能修改或改变所述仅增事件日志条目。并且,通过访问和读取安全事件日志,用户101能
够确定是否已经发生了访问主机设备110的未授权尝试。例如,授权用户101能够通过读取
所请求的事件日志条目来确定未授权用户101的访?#39135;?#35797;的日期和时间。授权用户101例如
也能够将通过主机接口132接收的日志文件与通过安全接口137接收的日志文件相比较来
确定主机设备110是否受损。

基于本文提供的公开内容,本领域技术人员应当明白,可以为了重复和相互关联
的目的来使用和配置本文所述的方法、系统和设备。例如,用户101可以配置可信计算设备
130以记录可信计算设备的写文件133所接收的每个写文件条目(例如涉及对受限信息的请
求的所有写文件条目)的安全事件日志条目。在这种示例实施例中,授权用户101——通过
浏览和/或比较所接收的事件日志条目——能够确定主机设备110正在寻求的受限信息的
类型。在其它示例性实施例中,例如在两个主机计算设备10双向通信期间,用户101可以配
置可信计算设备130a和130b中的一个或二者,以保存用于所接收的每个通信的安全事件日
志条目。然后,如本文所述,授权用户稍后能够为?#31169;?#34892;通信而访问该事件日志条目。

其它示例性实施例

图12?#22659;?#20102;根据特定的示例性实施例的计算机器2000和模块2050。计算机器2000
可以对应于本文提出的各种计算机、服务器、移动设备、植入系统或计算系统任何一种。模
块2050可以包括被配置成便于计算机器2000执行本文提出的各种方法和处理功能的一个
或多个硬件或软件元件。计算机器2000可以包括各种内部或附接部件,例如处理器2010、系
统总线2020、系统存储器2030、存储介质2040、输入/输出接口2060、以及用于与网络2080通
信的网络接口2070。

计算机器2000可以被实施为传统的计算机系统、内置控制器、膝上?#22270;?#31639;机、服务
器、移动设备、智能电话、机顶?#23567;?#20449;息亭、车载信息系统、与电视相关联的一个或多个处理
器、定制机器、任何其它硬件平台、或它们的任何组合或复合体(multiplicity)。计算机器
200可以是被配置成使用通过数据网络或总线系统互联的多个计算机器而发挥作用的分布
式系统。

处理器2010可以被配置成执?#20889;?#30721;或指令以执行本文所述的操作和功能,管理请
求流和地址?#25104;洌?#24182;执行计算和产生命令。处理器2010可以配置成监视和控制计算机器
2000中的部件的运行。处理器2010可以是通用处理器、处理器核心、多处理器、可重配置处
理器、微控制器、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、图形处理单元(“GPU”)、
现场可编程门阵列(“FPGA”)、可编程逻辑器件(“PLD”)、控制器、状态机、门控逻辑、离散硬
件部件、任何其它处理单元,或它们的任何组合或复合体。处理器2010可以是单处理单元、
多处理单元、单处理核心、多处理核心、专用处理核心、协处理器或其任何组合。根据特定实
施例,处理器2010以及计算机器2000的其它部件可以是在一个或多个其它计算机器中执行
的虚拟计算机器。

系统存储器2030可以包括?#19988;资源?#20648;器,例如只读存储器(“ROM”)、可编程只读
存储器(“PROM”)、可擦可编程只读存储器(“EPROM”)、闪存、或能够在加电或不加电的情况
下存储程序指令或数据的任何其它设备。系统存储器2030也可以包括?#36164;源?#20648;器,例如
随机存取存储器(“ROM”)、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)和
同步动态随机存取存储器(“SDRAM”)。也可以使用其它类型的RAM来实现系统存储器2030。
可以使用单个存储器模块或多个存储器模块来实现系统存储器2030。虽然系统存储器2030
被?#22659;?#20026;计算机器2000的一部分,但本领域技术人员应当明白,在不偏离本发明技术的范
围的情况下,系统存储器2030可以与计算机器2000分离。也应明白,系统存储器2030可以包
括诸如存储介质2040的?#19988;资源?#20648;设备或与该?#19988;资源?#20648;设备相结合地操作。

存储介质2040可以包括?#25165;獺?#36719;盘、压缩式光盘只读存储器(“CD-ROM”)、数字通用
光盘(“DVD”)、蓝光盘、磁带、闪存、其它?#19988;资源?#20648;器设备、固态驱动器(“SSD”)、任?#26410;?br />存储设备、任何光存储设备、任何电存储设备、任何半导体存储设备、任何基于物理的存储
设备、任何其它数据存储设备或它们的任何组合或复合体。存储介质2040可?#28304;?#20648;一个或
多个操作系统、应用程序和程序模块(例如模块2050)、数据、或任何其它信息。存储介质
2040可以是计算机器2000的一部?#21482;?#36830;接至计算机器2000。存储介质2040也可以是与计算
机器2000通信的一个或多个其它计算机器的一部分,例如服务器、数据库服务器、云存储
器、网络附加存储器?#21462;?br />

模块2050可以包括被配置成便于计算机器2000执行本文提出的各种方法和处理
功能的一个或多个硬件或软件元件。模块2050可以包括被存储为与系统存储器2030、存储
介质2040等相关联的软件或固件的一个或多个指令序列。因此,存储介质2040可?#28304;?#34920;机
器或计算机可读介质的示例,指令或代码可?#28304;?#20648;在该机器或计算机可读介质上而由处理
器2010执行。机器或计算机可读介质通常可以涉及用于向处理器2010提供指令的任何介质
或多个介质。与模块2050相关联的这些机器或计算机可读介质可以包括计算机软件产品。
应明白,包括模块2050的计算机软件产品也可以与一个或多个过程或方法相关联,以通过
网络2080、任何信号承载介质或任何其它通信或传输技术将模块2050传输至计算机器
2000。模块2050也可以包括硬件电路或用于配置硬件电路的信息(例如微代码),或用于
FPGA或其它PLD的配置信息。

输入/输出(“I/O”)接口2060可以配置成耦合至一个或多个外?#21487;?#22791;,?#28304;?#19968;个或
多个外?#21487;?#22791;接收数据,并将数据发送至一个或多个外?#21487;?#22791;。这些外?#21487;?#22791;以及各种内
?#21487;?#22791;也可以称为外围设备。I/O接口2060可以包括电连接和物理连接,用于可操作地将各
种外围设备耦合至计算机器2000或处理器2010。I/O接口2060可以被配置成在外围设备、计
算机器2000或处理器2010之间通信数据、地址和控制信号。I/O接口2060可以被配置成实施
任何标准接口,例如小?#22270;?#31639;机系统接口(“SCSI”)、串行连接SCSI(“SAS”)、光纤信道、外围
组件互连(“PCI”)、PCI express(PCIe)、串行总线、并行总线、先进技术连接(“ATA”)、串行
ATA(“SATA”)、通用串行总线(“USB”)、Thunderbolt、FireWire、各种视频总线?#21462;/O接口
2060可以被配置成仅实施一种接口或总线技术。替代地,I/O接口2060可以被配置成实施多
种接口或总线技术。I/O接口2060可以被配置未系统总线2020的一部?#21482;?#20840;部,或与系统总
线2020相结合地操作。I/O接口2060可以包括一个或多个缓存器,以缓冲在一个或多个外部
设备、内?#21487;?#22791;、计算机器2000或处理器2010之间的传输。

I/O接口2060可以将计算机器2000耦合至各种输入设备,包括鼠标、触摸屏、扫描
仪、电子数?#21482;?#22120;、传感器、接收器、触摸板、轨迹球、相机、麦克风、键盘、任何其它定点设备
或其任何组合。I/O接口2060可以将计算机器2000耦合至各种输出设备,包括视频显示器、
扬声器、打印机、投影仪、触觉反馈设备、自动控制器、机器人部件、致动器、马达、风?#21462;?#34746;线
管、阀门、泵、发送器、信号发射器、灯,等?#21462;?br />

计算机器2000可以在网络环境下利用通过网络接口2070与跨网络2080的一个或
多个其它系统或计算机器的逻辑连接来操作。网络2080可以包括广域网(WAN)、局域网
(LAN)、内联网、因特网、无线接入网、有线网络、移动网络、电话网络、光学网络或其组合。网
络2080可以是包交换、电路交换的任何网络拓扑,并可以使用任何通信协议。网络208内的
通信链路可以包括各种数?#21482;?#27169;拟通信介?#21097;?#20363;如光纤电缆、自由空间光通信、波导、电导
体、无线链路、天线、无线电频率通信等?#21462;?br />

处理器2010可以通过系统总线2020连接至计算机器2000的其它元件或本文所讨
论的各种外设。应明白,系统总线2020可以在处理器2010内、在处理器2010外、或内外均有。
根据一些实施例,任何处理器2010、计算机器2000的其它元件或本文讨论的各种外设均可
以被集成为单个设备,例如片上系统(“SOC”)、系统封装(“SOP”)或ASIC设备。

在本文所讨论的系统收集关于用户的个人信息或可以使用个人信息的情况下,用
户可以被提供有控制哪些程序或特征是否收集用户信息(例如,关于用户的社交网络、社交
动作或活动、职业、用户的偏好或用户的当前位置的信息)或控制是否和/或如?#26410;?#20869;容服
务器接收可能更与用户相关的内容的机会或选择。另外,在被存储或使用之前,可以通过一
种或多种方式处理特定数据,使得个人可识别信息被移除。例如,可?#28304;?#29702;用户的身份,使
得不能确定用户的个人可识别信息,或可以一般化从中获得位置信息(例如城?#23567;⒂时?#25110;州
级)的用户的地理位置,使得不能确定用户的具体位置。因而,用户可以控制如何收集关于
该用户的信息以及内容服务器如何使用该信息。

实施例可以包括实?#30452;?#25991;所述和所?#22659;?#30340;功能的计算机程序,其中,该计算机程
序被实施为计算机系统,该计算机系统包括存储在机器可读介质中的指令和执行这些指令
的处理器。然而,应当明白,能够存在通过计算机编程实施这些实施例的许多不同方式,并
且这些实施例不应视为局限于任何一组计算机程序指令。?#36865;猓?#29087;练的程序员将能够写出
这种计算机程序,以基于附加流程图和应用文本中的相关联说明来实施所公开的实施例的
实施例。因此,不应将特殊的程序代码指令集合的公开视为是对如何做出和使用实施例的
充分理解所必需的。?#36865;猓?#26412;领域技术人员应明白,本文所述的实施例的一个或多个方面可
以由硬件、软件或其组合执行,可以通过一个或多个计算系统实现。?#36865;猓?#20219;何地方所提及
的由计算机执行的动作都不应视为由单个计算机执行,因为超过一个计算机可以执行该动
作。

本文所述的示例实施例能够与执行上述方法和处理功能的计算机硬件和软件一
起使用。本文所述的系统、方法和程序能够被实施为可编程计算机、计算机可执行软件或数
字电路。该软件能够存储在计算机可读介质上。例如,计算机可读介质可包括软盘、RAM、
ROM、?#25165;獺?#21487;移除介质、闪存、?#19988;?#26834;、光学介质、磁光学介质、CD-ROM?#21462;?#25968;字电路能够包括
集成电路、门阵列、构建模块逻辑、现场可编程门阵列(FPGA)?#21462;?br />

上文提出的实施例中所述的示例系统、方法和动作仅是例示性的,并且,在可替选
实施例中,在不偏离各种实施例的范围和精神的情况下,能够以不同的顺序、彼此并?#26800;亍?br />完全省略地和/或在不同的示例性实施例之间组合地执行特定动作,和/或能够执行特定的
额外动作。因而,这些可替选实施例被包括在根据最广泛的解释涵盖了这些替选实施例的
所附权利要求的范围内。

虽然上文已详细地描述了特定实施例,但本说明仅是为了例示。因此,应当明白,
除非另外明?#20998;?#20986;,否则,上述许多方面都无意作为要求或必要元素。除了上述方面之外,
在不偏离所附权利要求中限定的实施例的精神和范围的情况下,获得了本公开的益处的本
领域技术人员能够做出对示例性实施例的公开方面的变型以及对应于所公开方面的等效
部件或动作,权利要求的范围根据最广泛解?#20572;?#20197;涵盖这些变型和等效结构。

关于本文
本文标题:安全主机交互.pdf
链接地址:http://www.pqiex.tw/p-6091914.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 开个玻璃丝加工厂赚钱吗 ag发牌延迟 12选5有没有稳赚发案 云南快乐10分中奖规则 手球比分网即时比分 陕西快乐10分最常出现 pc蛋蛋大小单双怎么猜 奔驰宝马游戏下载 新会员送88彩金 yp街机飞禽走兽技巧