1.一种计算设备,经由通信网络与至少一个其他计算设备通信,所述计算设备包括:
存储器;
中央处理单元,具有可信执行环境,所述可信执行环境包括所述存储器的可信区域;
操作系统,被配置为在所述存储器的虚拟地址空间与所述至少一个其他计算设备的存储器之间创建存储器映射,并且被配置为将所述存储器映射的细节提供给所述可信执行环境;
所述可信执行环境被配置为执行应用,所述应用能够直接使用由所述操作系统提供的所述存储器映射来与所述其他计算设备通信。
2.根据权利要求1所述的计算设备,其中所述操作系统被配置为在所述存储器的不可信区域的虚拟地址空间与所述至少一个其他计算设备的所述存储器之间创建所述存储器映射。
3.根据权利要求1或者权利要求2所述的计算设备,其中所述操作系统被配置为经由以下一项或多项来创建所述存储器映射:网络接口卡、显卡。
4.根据任一前述权利要求所述的计算设备,其中所述应用被配置为在内核旁路过程或者用户空间设备驱动过程中使用所述存储器映射。
5.根据任一前述权利要求所述的计算设备,其中所述操作系统被配置为当其从所述可信执行环境中的应用接收到创建所述存储器映射的请求时,创建所述存储器映射。
6.根据任一前述权利要求所述的计算设备,其中所述计算设备具有多个处理核心,并且其中在所述可信执行环境中执行的应用被配置为仅当所述应用具有其控制所有活跃的所述处理核心的证据时才继续执行敏感代码。
7.根据权利要求6所述的计算设备,其中所述可信执行环境包括硬件包围区,所述硬件包围区被配置为当所有所述处理核心在所述可信执行环境内时向所述应用发送消息。
8.根据权利要求6或者权利要求7所述的计算设备,其中所述可信执行环境包括硬件包围区,所述硬件包围区被配置为当所述处理核心中的一个处理核心即将离开所述可信执行环境时,向所述应用发送消息。
9.根据权利要求6至8中任一项所述的计算设备,其中在所述可信执行环境中执行的所述应用知道在所述敏感代码的执行期间,被期望在所述可信执行环境内的所述处理核心的期望的数目。
10.根据权利要求9所述的计算设备,其中所述应用被配置为将所述处理核心的所述期望的数目与从所述可信执行环境接收的信息进行比较,并且所述应用被配置为当处理核心的所述期望的数目与从所述可信执行环境接收的所述信息匹配时,执行所述敏感代码。
11.根据权利要求6至10中任一项所述的计算设备,其中在所述可信执行环境中执行的所述应用被配置为当所述应用从所述可信执行环境接收到指示所述核心中的一个核心即将离开所述可信执行环境时,停止执行所述敏感代码。
12.根据权利要求6至11中任一项所述的计算设备,其中在所述可信执行环境中执行的所述应用被配置为终止在所述可信执行环境之外的核心上执行的任何过程。
13.根据权利要求6至12中任一项所述的计算设备,其中在所述可信执行环境中执行的所述应用被配置为在开始所述敏感代码的执行之前,冲刷来自所述计算设备的微架构组件的敏感数据。
14.根据权利要求6至13中任一项所述的计算设备,其中在所述可信执行环境中执行的所述应用被配置为当所述应用停止执行所述敏感代码时,冲刷来自所述计算设备的微架构组件的敏感数据。
15.一种由计算设备执行的方法,所述计算设备经由通信网络与至少一个其他计算设备通信,所述方法包括:
使用操作系统在所述计算设备的存储器的虚拟地址空间与所述至少一个其他计算设备的存储器之间创建存储器映射;以及
将所述存储器映射的细节提供给所述计算设备的中央处理单元处的可信执行环境,所述可信执行环境包括所述存储器的可信区域;
在所述可信执行环境中执行应用,所述应用直接使用由所述操作系统提供的所述存储器映射与所述其他计算设备通信。