当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于安全可信I/O访问控制的技术制造技术

技术编号:18179125 阅读:30 留言:0更新日期:2018-06-09 21:01
用于可信I/O(TIO)的技术包括具有密码引擎和一个或多个I/O控制器的计算设备。该计算设备执行TIO核心服务,TIO核心服务具有由操作系统授予的密码引擎编程特权。TIO核心服务接收来自应用的保护DMA通道的请求。TIO核心服务请求操作系统保护DMA通道,并且作为响应,操作系统对TIO核心服务的密码引擎编程特权进行验证。响应于验证TIO核心服务的密码引擎编程特权,操作系统对密码引擎进行编程以保护DMA通道。如果特许委托确定用户已经确认对DMA通道的保护终止,则TIO核心服务可以对DMA通道解除保护。描述并要求保护其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于安全可信I/O访问控制的技术相关申请的交叉引用本申请要求享有于2015年12月18日提交的、题为“TECHNOLOGIESFORSECURETRUSTEDI/OACCESSCONTROL”的美国实用专利申请序号14/974,944的优先权,该申请根据35U.S.C.§119(e)要求享有于2015年7月20日提交的、题为“CRYPTOGRAPHICPROTECTIONOFI/ODATAFORDMACAPABLEI/OCONTROLLERS”的美国临时专利申请序号62/194,763的优先权,要求享有于2015年7月21日提交的、题为“CRYPTOGRAPHICPROTECTIONOFI/ODATAFORDMACAPABLEI/OCONTROLLERS”的美国临时专利申请序号62/195,148的优先权,并且要求享有于2015年7月29日提交的、题为“SECUREI/ODEVICEMANAGEMENTFORHARDWARECRYPTOGRAPHYTRUSTEDI/O”的美国临时专利申请序号62/198,201的优先权。
技术介绍
为了安全性,典型的计算设备可以依靠软件代理(例如,防恶意软件代理)。然而,赶上用户设备上越来越多的恶意软件攻击是很困难的。为了对抗恶意软件威胁,存在通过在可信执行环境(TEE)内运行安全敏感的软件来保护安全敏感的软件的趋势。TEE提供了即使当系统的其他部分受到损害时也可以保护秘密的无菌环境。TEE的示例包括软件防护扩展(SGX)、安全虚拟机(VM)以及融合安全引擎(CSE)。TEE虽然对于保护TEE内的秘密很有用,但是不能保护传送到安全“容器”内和/或传送到安全“容器”外的诸如用户和传感器数据的I/O数据。对于可信I/O的安全要求根据使用情况和设备而变化,并且涉及保密性、完整性、活性以及重放保护的风格和组合。在个人计算机平台上,保护I/O具有若干复杂性。为了保护用于给定用途的I/O,可能需要保护许多输入设备,因为平台通常具有经由不同I/O控制器连接的多个相同类别的设备,并且用户可能在使用期间动态地选择所连接的设备中的任一个。例如,当输入文本时,用户可以选择使用嵌入式键盘、USB键盘、或蓝牙(BT)键盘。用户还可以使用触摸屏来输入数据。这意味着所有键盘和触摸输入可能都需要被保护,以用于要求安全的文本输入的用途。另外,I/O设备可以由安全应用以及由常规应用使用,这意味着可能要求这些设备从受保护动态地切换到未加密(in-the-clear),并且反之亦然。硬件密码可信I/O(TIO)提供硬件架构来保护用于诸如SGX安全隔离区(enclave)、虚拟机监视器(VMM)以及其他TEE的TEE的I/O数据。硬件密码TIO提供了这样的机制:在I/O设备与存储器之间的直接存储器存取(DMA)路径中使用中央密码引擎(CE)来保护I/O数据,从而在I/O数据移入或移出封装时保护该I/O数据。附图说明本文描述的概念在附图中通过示例的方式而非通过限制的方式示出。为了简单且清楚地说明,图中所示的元素不一定按比例绘制。在认为适当的地方,附图标记在图中重复以指示对应或类似的元素。图1是用于可信I/O访问控制的计算设备的至少一个实施例的简化框图;图2是可以由图1的计算设备建立的环境的至少一个实施例的简化框图;图3是可以由图1-图2的计算设备建立的系统架构的至少一个实施例的简化框图;以及图4是可以由图1-图3的计算设备执行的用于可信I/O访问控制的方法的至少一个实施例的简化流程图。具体实施方式虽然本公开的概念易受各种修改和替代形式影响,但是其特定实施例已经通过附图中的示例示出,并且将在本文中详述。然而,应该理解的是,并非旨在将本公开的概念限制到所公开的特定形式,而是相反,旨在覆盖与本公开和所附权利要求一致的所有修改、等同物以及替代物。在说明书中提及“一个实施例”、“实施例”、“说明性实施例”等指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以必须或可以不一定包括该特定特征、结构或特性。此外,这种短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合无论是否明确描述的其他实施例来实现这样的特征、结构或特性是在本领域技术人员的知识范围内的。另外,应该认识到,包括在“A、B以及C中的至少一个”形式的列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B以及C)。类似地,以“A、B、或C中的至少一个”形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B以及C)。所公开的实施例在一些情况下可以以硬件、固件、软件、或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取并执行。机器可读存储介质可以体现为用于存储或传输机器可读形式的信息的任何存储设备、机制、或其他物理结构(例如,易失性或非易失性存储器、媒体盘、或其他介质设备)。在附图中,可以以特定的布置和/或排序来示出一些结构或方法特征。然而,应该认识到,可以不需要这样的特定布置和/或排序。而是,在一些实施例中,这样的特征可以以不同于说明性的图中所示的方式和/或次序来布置。另外,在特定的图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者这些特征可以与其他特征组合。现在参考图1,在说明性实施例中,用于安全I/O编程访问控制的计算设备100除了其他组件之外包括处理器120、主存储器132、硬件密码引擎140以及与一个或多个I/O设备146通信的一个或多个I/O控制器144。在使用中,密码引擎140提供对经由直接存储器存取(DMA)事务在I/O控制器144与存储器132之间传送的数据的即时(on-the-fly)加密和解密。每个DMA事务被标记有通道ID(CID),其表示与特定I/O设备146或I/O设备146的集合相关联的数据流。密码引擎140使用CID来可靠地识别必须受到保护的事务,取回对应的加密密钥,并对DMA数据执行适当的密码操作。计算设备100建立两个独立的信任域:操作系统(和/或VMM)以及基于安全隔离区的TIO堆栈。基于安全隔离区的TIO堆栈的组件可以使用安全隔离区证明而彼此信任。然而,操作系统和基于安全隔离区的TIO堆栈可以不彼此信任;例如,操作系统可以不对已加密的I/O数据进行解密,并且TIO堆栈可以不对I/O设备146进行完全控制。特许TIO核心服务受操作系统和基于安全隔离区的TIO堆栈两者信任。在使用中,如下面进一步描述的,安全应用隔离区可以请求TIO核心服务对DMA通道进行加密,并且作为响应,TIO核心服务向操作系统提交请求以保护DMA通道。在一些实施例中,该请求可以指定特许委托由TIO核心服务托管,这可以确定用户是否已经确认安全TIO会话已经终止。因此,计算设备100允许TIO核心服务代表安全应用来保护I/O设备146,同时还防止拒绝服务(DoS)攻击,例如,通过防止恶意安全隔离区拒绝释放已加密的I/O设备146。另外,即使原始安全应用崩溃,计算设备100也可以本文档来自技高网...
用于安全可信I/O访问控制的技术

【技术保护点】
一种用于可信I/O访问控制的计算设备,所述计算设备包括:公共信任模块,其用于(i)执行可信I/O核心服务,其中,所述可信I/O核心服务具有由所述计算设备的操作系统授予的密码引擎编程特权,以及(ii)接收来自应用的保护与所述计算设备的I/O设备相关联的DMA通道的请求,其中,所述应用不具有所述密码引擎编程特权;访问控制模块,其用于(i)响应于对来自所述应用的保护所述DMA通道的请求的接收,由所述操作系统接收来自所述可信I/O核心服务的保护所述DMA通道的请求,以及(ii)响应于对保护所述DMA通道的请求的接收,由所述操作系统验证所述可信I/O核心服务的所述密码引擎编程特权;以及编程模块,其用于响应于对所述可信I/O核心服务的所述密码引擎编程特权的验证,对所述计算设备的密码引擎进行编程以保护所述DMA通道。

【技术特征摘要】
【国外来华专利技术】2015.07.20 US 62/194,763;2015.07.21 US 62/195,148;1.一种用于可信I/O访问控制的计算设备,所述计算设备包括:公共信任模块,其用于(i)执行可信I/O核心服务,其中,所述可信I/O核心服务具有由所述计算设备的操作系统授予的密码引擎编程特权,以及(ii)接收来自应用的保护与所述计算设备的I/O设备相关联的DMA通道的请求,其中,所述应用不具有所述密码引擎编程特权;访问控制模块,其用于(i)响应于对来自所述应用的保护所述DMA通道的请求的接收,由所述操作系统接收来自所述可信I/O核心服务的保护所述DMA通道的请求,以及(ii)响应于对保护所述DMA通道的请求的接收,由所述操作系统验证所述可信I/O核心服务的所述密码引擎编程特权;以及编程模块,其用于响应于对所述可信I/O核心服务的所述密码引擎编程特权的验证,对所述计算设备的密码引擎进行编程以保护所述DMA通道。2.根据权利要求1所述的计算设备,还包括具有安全隔离区支持的处理器,其中,所述应用包括利用所述处理器的安全隔离区支持而建立的安全隔离区。3.根据权利要求1所述的计算设备,其中,所述公共信任模块还用于:响应于对所述密码引擎进行编程以保护所述DMA通道,由所述可信I/O核心服务从所述操作系统接收对所述DMA通道解除保护的请求;响应于对所述DMA通道解除保护的请求的接收,由与所述DMA通道相关联的特许委托确定所述计算设备的用户是否已经确认对所述DMA通道的保护终止,其中,所述特许委托是由所述可信I/O核心服务建立的;以及响应于所述用户已经确认对所述DMA通道的保护终止的确定,由所述可信I/O核心服务对所述DMA通道解除保护。4.根据权利要求3所述的计算设备,其中,确定所述计算设备的用户是否已经确认对所述DMA通道的保护终止包括经由所述计算设备的受保护的DMA通道来接收受保护的用户输入。5.根据权利要求4所述的计算设备,其中,经由所述受保护的DMA通道来接收所述受保护的用户输入包括经由第二DMA通道来接收所述受保护的用户输入,其中,所述第二DMA通道与对所述DMA通道解除保护的请求中的所述DMA通道不同。6.根据权利要求3所述的计算设备,其中,接收保护所述DMA通道的请求包括接收识别所述特许委托的请求。7.根据权利要求3所述的计算设备,还包括具有安全隔离区支持的处理器,其中,所述特许委托包括利用所述处理器的安全隔离区支持而建立的安全隔离区。8.根据权利要求3所述的计算设备,其中,所述访问控制模块还用于:响应于对所述密码引擎进行编程以保护所述DMA通道,由所述操作系统确定是否对所述DMA通道解除保护;以及响应于对所述DMA通道解除保护的确定,由所述操作系统请求所述可信I/O核心服务对所述DMA通道解除保护。9.根据权利要求8所述的计算设备,其中,确定是否对所述DMA通道解除保护包括确定所述应用是否已经终止。10.根据权利要求1-9中任一项所述的计算设备,其中:所述公共信任模块还用于:(i)响应于对保护所述DMA通道的请求的接收,由所述可信I/O核心服务建立的密码引擎隔离区(CEE)生成通道加密密钥,以及(ii)由所述CEE对所述通道加密密钥进行打包以生成经打包的编程信息;并且接收来自所述可信I/O核心服务的保护所述DMA通道的请求包括接收来自所述可信I/O核心服务的所述经打包的编程信息。11.根据权利要求10所述的计算设备,其中,对所述通道加密密钥进行打包包括:调用所述计算设备的处理器中的处理器指令,以生成所述经打包的编程信息。12.根据权利要求10所述的计算设备,其中,生成所述通道加密密钥包括:生成用于生成所述通道加密密钥的随机种子;以及将所述随机种子提供给所述计算设备的不可信软件。13.根据权利要求10所述的计算设备...

【专利技术属性】
技术研发人员:幸滨P·M·帕帕占S·查伯拉R·拉尔S·B·麦高恩
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1