基于SGX的可信输入输出控制方法、装置、设备和存储介质制造方法及图纸

技术编号:28057215 阅读:23 留言:0更新日期:2021-04-14 13:29
本申请涉及一种基于SGX的可信输入输出控制方法、装置、计算机设备和存储介质。本申请能够在飞地与输入输出程序之间设置加密通道,保证了敏感数据在飞地和输入输出设备之间的可信传输,进一步提高了飞地的数据传输安全性。该方法包括:建立运行用户应用程序的第一飞地,其中,用户应用程序与输入输出驱动程序之间使用加密通道进行数据传输;利用输入输出驱动程序获取用户设备输入的敏感数据,通过输入输出通道将上述敏感数据从输入输出驱动程序传递至用户应用程序,在第一飞地内运行用户应用程序,以使用户应用程序处理上述敏感数据得到数据处理结果;通过上述加密通道将该数据处理结果从用户应用程序传递至上述输入输出驱动程序并传输至用户设备。动程序并传输至用户设备。动程序并传输至用户设备。

【技术实现步骤摘要】
基于SGX的可信输入输出控制方法、装置、设备和存储介质


[0001]本申请涉及计算机安全
,特别是涉及一种基于SGX的可信输入输出控制方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着软件复杂度和攻击水平的提高,移动环境和云平台的安全对硬件和平台安全机制的需要更加迫切,传统的软件加密技术仍然不足以保护整个计算机操作系统的安全,为此,英特尔推出了SGX(Software Guard Extensions,软件卫士扩展),SGX是对英特尔处理器的体系结构扩展,用于增强软件的安全性,它是将软件程序中的敏感数据和关键代码封装在一个enclave(飞地,也称为安全区)中,保护其不受恶意软件的攻击。“enclave”翻译成中文就是“飞地”,寓意来源于一种人文地理概念,意指在某个地理规划境内有一块隶属于他地的区域。对enclave的访问权限非常高,特权或者非特权的软件都无法访问enclave。一旦软件和数据位于enclave中,即便操作系统管理员和虚拟机监控程序也无法影响enclave里面的代码和数据。
[0003]然而,SGX缺乏对通用可信I/O路径的支持,因此无法保护enclaves与I/O设备之间的用户输入/输出数据。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种基于SGX的可信输入输出控制方法、装置、计算机设备和存储介质。
[0005]一种基于SGX的可信输入输出控制方法,所述方法包括:
[0006]利用运行的用户应用程序的第一飞地;所述用户应用程序与输入输出驱动程度之间使用加密通道进行数据传输;
[0007]利用所述输入输出驱动程序获取用户设备输入的敏感数据,通过所述加密通道将所述加密数据从所述输入输出驱动程序传递至所述用户应用程序;
[0008]在所述第一飞地内运行所述用户应用程序,以使所述用户应用程序处理所述敏感数据得到数据处理结果;
[0009]通过所述加密通道将所述数据处理结果从所述用户应用程序传递至所述输入输出驱动程序并传输至用户设备。
[0010]在其中一个实施例中,所述建立运行用户应用程序的第一飞地之后,包括:
[0011]所述第一飞地和所述输入输出驱动程序之间使用密钥交换算法建立对称密钥,并基于所述对称密钥建立所述加密通道。
[0012]在其中一个实施例中,所述第一飞地和所述输入输出驱动程序之间使用密钥交换算法建立对称密钥,并基于所述对称密钥建立所述加密通道,包括:
[0013]建立运行所述输入输出驱动程序的第二飞地;
[0014]所述第一飞地针对所述第二飞地在随机飞地上生成本地认证报告;所述本地认证
报告是基于所述第一飞地的物理地址和所述随机飞地的身份标识生成的;
[0015]所述第一飞地将所述随机飞地的身份标识发送至所述第二飞地,以使所述第二飞地基于所述随机飞地的身份标识计算得到所述第一飞地的物理地址;
[0016]所述第一飞地和所述第二飞地将所述第一飞地的物理地址作为对称密钥,并使用所述对称密钥和对称加密算法建立所述加密通道。
[0017]在其中一个实施例中,所述方法还包括:
[0018]所述输入输出驱动程序将所述敏感数据路由到第一虚拟设备;所述第一虚拟设备的设备类与所述用户设备的设备类相匹配;
[0019]所述第一虚拟设备将所述敏感数据传递至操作系统。
[0020]在其中一个实施例中,所述方法还包括:
[0021]在所述用户应用程序请求通过所述加密通道传输所述敏感数据时,所述输入输出驱动程序将所述敏感数据从所述第一虚拟设备通过所述加密通道重定向至所述第二虚拟设备;
[0022]所述第二虚拟设备所述敏感数据通过所述加密通道将所述敏感数据转发至所述操作系统。
[0023]在其中一个实施例中,所述方法包括:
[0024]建立运行可信引导程序的第三飞地;
[0025]所述第三飞地针对虚拟机监控程序运行所述可信引导程序,以获取平台寄存器值,并验证所述平台的寄存器值;
[0026]若验证成功,则通过所述输入输出驱动程序将所述认证结果传递至所述用户应用程序。
[0027]在其中一个实施例中,所述输入输出驱动程序由虚拟机监控程序托管和保护。
[0028]一种基于SGX的可信输入输出控制装置,所述装置包括:
[0029]飞地建立模块,用于建立运行用户应用程序的第一飞地;所述用户应用程序与输入输出驱动程序之间使用加密通道进行数据传输;
[0030]敏感数据获取模块,用于利用所述输入输出驱动程序获取用户设备输入的敏感数据,通过所述加密通道将所述敏感数据从所述输入输出驱动程序传递至所述用户应用程序;
[0031]敏感数据处理模块,用于在所述第一飞地内运行所述用户应用程序,以使所述用户应用程序处理所述敏感数据得到数据处理结果;
[0032]数据处理结果传输模块,用于通过所述加密通道将所述数据处理结果从所述用户应用程序传递至所述输入输出驱动程序并传输至所述用户设备。
[0033]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的基于SGX的可信输入输出控制方法的步骤。
[0034]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的基于SGX的可信输入输出控制方法的步骤。
[0035]上述基于SGX的可信输入输出控制方法、装置、计算机设备和存储介质,通过建立运行用户应用程序的第一飞地,其中,用户应用程序与输入输出驱动程序之间使用加密通道进行数据传输;利用上述输入输出驱动程序获取用户设备输入的敏感数据,通过输入输
出通道将上述敏感数据从输入输出驱动程序传递至用户应用程序,在上述第一飞地内运行用户应用程序,以使用户应用程序处理上述敏感数据得到数据处理结果;通过上述加密通道将该数据处理结果从用户应用程序传递至上述输入输出驱动程序并传输至用户设备。该方法通过在飞地与输入输出程序之间设置加密通道,保证了敏感数据在飞地和输入输出设备之间的可信传输,进一步提高了飞地的数据传输安全性。
附图说明
[0036]图1为一个实施例中基于SGX的可信输入输出控制方法的应用环境图;
[0037]图2为一个实施例中基于SGX的可信输入输出控制方法的流程示意图;
[0038]图3为一个实施例中加密通道建立步骤的流程示意图;
[0039]图4为另一个实施例中基于SGX的可信输入输出控制方法的应用架构图;
[0040]图5为一个实施例中基于SGX的可信输入输出控制装置的结构框图;
[0041]图6为一个实施例中计算机设备的内部结构图。
具体实施方式
[0042]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SGX的可信输入输出控制方法,其特征在于,所述方法包括:建立运行用户应用程序的第一飞地;所述用户应用程序与输入输出驱动程序之间使用加密通道进行数据传输;利用所述输入输出驱动程序获取用户设备输入的敏感数据,通过所述加密通道将所述敏感数据从所述输入输出驱动程序传递至所述用户应用程序;在所述第一飞地内运行所述用户应用程序,以使所述用户应用程序处理所述敏感数据得到数据处理结果;通过所述加密通道将所述数据处理结果从所述用户应用程序传递至所述输入输出驱动程序并传输至所述用户设备。2.根据权利要求1所述的方法,其特征在于,所述建立运行用户应用程序的第一飞地之后,包括:所述第一飞地和所述输入输出驱动程序之间使用密钥交换算法建立对称密钥,并基于所述对称密钥建立所述加密通道。3.根据权利要求2所述的方法,其特征在于,所述第一飞地和所述输入输出驱动程序之间使用密钥交换算法建立对称密钥,并基于所述对称密钥建立所述加密通道,包括:建立运行所述输入输出驱动程序的第二飞地;所述第一飞地针对所述第二飞地在随机飞地上生成本地认证报告;所述本地认证报告是基于所述第一飞地的物理地址和所述随机飞地的身份标识生成的;所述第一飞地将所述随机飞地的身份标识发送至所述第二飞地,以使所述第二飞地基于所述随机飞地的身份标识计算得到所述第一飞地的物理地址;所述第一飞地和所述第二飞地将所述第一飞地的物理地址作为对称密钥,并使用所述对称密钥和对称加密算法建立所述加密通道。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述输入输出驱动程序将所述敏感数据路由到第一虚拟设备;所述第一虚拟设备的设备类与所述用户设备的设备类相匹配;所述第一虚拟设备将所述敏感数据传递至操作系统。5.根据权利要求4所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:吴良顺
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1