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

用于I/O数据的完整性、防重放和真实性保证的技术制造技术

技术编号:17573306 阅读:67 留言:0更新日期:2018-03-28 20:47
用于I/O数据的真实性保证的技术包括具有加密引擎和一个或多个I/O控制器的计算设备。所述计算设备的元数据生成器对I/O数据执行经认证的加密操作以生成经加密的I/O数据和认证标签。所述元数据生成器将所述经加密的I/O数据存储在DMA缓冲器中,并且将所述认证标签存储在认证标签队列中。元数据消费器对来自所述DMA缓冲器的所述经加密的I/O数据进行解密,并且使用来自所述认证标签队列的所述认证标签来判定所述经加密的I/O数据是否是真实的。对于输入,所述元数据生成器可以被实施为所述加密引擎,并且所述元数据消费器可以被实施为可信软件组件。对于输出,所述元数据生成器可以被实施为所述可信软件组件,并且所述元数据消费器可以被实施为所述加密引擎。描述并要求保护了其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于I/O数据的完整性、防重放和真实性保证的技术相关申请的交叉引用本申请要求于2015年12月18日提交的题为“TECHNOLOGIESFORINTEGRITY,ANTI至REPLAY,ANDAUTHENTICITYASSURANCEFORI/ODATA(用于I/O数据的完整性、防重放和真实性保证的技术)”的美国专利技术专利申请序列号14/974,874的优先权,所述美国专利技术专利申请根据35U.S.C.§119(e)要求以下各项的优先权:于2015年7月20日提交的题为“CRYPTOGRAPHICPROTECTIONOFIODATAFORDMACAPABLEI/OCONTROLLERS(用于有DMA能力的I/O控制器的I/O数据的加密保护)”的美国临时专利申请序列号62/194,763;于2015年7月21日提交的题为“CRYPTOGRAPHICPROTECTIONOFI/ODATAFORDMACAPABLEI/OCONTROLLERS(用于有DMA能力的I/O控制器的I/O数据的加密保护)”的美国临时专利申请序列号62/195,148;以及于2015年7月28日提交的题为“TECHNOLOGIESFORINTEGRITY,ANTI至REPLAY,ANDAUTHENTICITYASSURANCEFORI/ODATA(用于I/O数据的完整性、防重放和真实性保证的技术)”的美国临时专利申请序列号62/197,802。
技术介绍
对于安全性,典型的计算设备可以依靠软件代理,例如反恶意软件代理。但是,难以跟上用户设备上越来越多的恶意软件攻击。为了对抗恶意软件威胁,通过在可信执行环境(TEE)内部运行安全性敏感软件以保护安全性敏感软件是一种趋势。TEE提供了即使系统的其他部分受到损害仍可以保护秘密的通过安全检查的环境。TEE的示例包括软件防护扩展(SGX)、安全虚拟机(VM)以及融合式安全引擎(CSE)。TEE虽然对保护TEE内的秘密很有用,但可能不保护被传达进入和/或离开安全“容器(container)”的I/O数据,例如用户数据和传感器数据。可信I/O的安全性要求因使用情况和设备而异,并且涉及保密性、完整性、活跃度、以及重放保护的风格和组合。当前的处理器可以提供对可信执行环境如安全飞地的支持。安全飞地包括由处理器保护以免受未经授权的访问(包括未经授权的读取和写入)的存储器的一部分(包括代码和/或数据)。特别地,某些处理器可能包括软件防护扩展(SGX),以提供安全飞地支持。特别地,SGX为安全飞地数据提供机密性、完整性以及重放保护,同时所述数据驻留在平台存储器中。片上边界形成了自然的安全边界,数据和代码可以以明文形式存储于此并且被假定是安全的。SGX不保护横跨片上边界移动的I/O数据。处理I/O数据的可信应用通常需要保证它们消费(或生成)的数据来源于特定的源设备(对于输入)或将到达特定的设备目标设备(对于输出)。可信应用可能还需要确保应用与设备之间传输的数据的完整性得以保留,并且对手无法重放早前捕获的数据。完整性违规必须由可信应用(对于输入)或消费设备(对于输出)可检测到。例如,银行应用可能要求来自用户的用于资金转让交易的键盘输入受到完整性保护。在没有完整性保护的情况下,平台上的恶意软件可能会在所述应用处理用户输入在存储器中的转账金额之前对所述转账金额进行修改,导致待执行的交易不同于用户所期望的。存在已知的加密算法用于计算数据(诸如消息认证码(MAC))的完整性度量。现有的I/O控制器和软件堆栈(例如,总线驱动器、设备驱动器等)除数据外不携带这种额外的信息。另外,许多现有的硬件设备和控制器不支持用于生成验证完整性和真实性所需的元数据的加密基元。视频捕获控制器通常将所捕获的视频数据组织为帧缓冲器的循环队列。视频加速控制器通常将所捕获的数据组织为帧缓冲器的流水线。帧缓冲器数据通常被固定大小的单元(通常是高速缓存行)中的视频捕获和加速控制器访问。视频加速硬件可以线性地(例如,如顺序像素)、以像块(例如,像素阵列)的方式、或随机地访问帧缓冲器数据。附图说明在附图中通过示例的方式而不是通过限制的方式来展示了本文中所描述的概念。为了说明的简单和清楚起见,附图中所展示的元件不一定按比例绘制。在认为适当的情况下,在附图当中已经重复了参考标号以表示相应或相似的元件。图1是用于I/O数据真实性保证的计算设备的至少一个实施例的简化框图;图2是可由图1的计算设备建立的环境的至少一个实施例的简化框图;图3是可由图1至图2的计算设备建立的系统架构的至少一个实施例的简化框图;图4是可由图1至图3的计算设备执行的用于I/O数据完整性和真实性保证的方法的至少一个实施例的简化流程图;图5是展示可由图1至图3的计算设备建立的认证标签队列的至少一个实施例的示意图;图6是可由图1至图3的计算设备执行的用于数据匹配和认证的方法的至少一个实施例的简化流程图。图7是可由图1至图3的计算设备执行的用于I/O数据完整性和真实性保证的另一方法的至少一个实施例的简化流程图;图8是展示了可由图1至图3的计算设备维持的数据阵列的示意图;并且图9是展示了可由图1至图3的计算设备执行的元数据地址计算的示意图。具体实施方式虽然本公开的概念易于经历各种修改和替代形式,但是在附图中已经通过示例的方式示出了其特定实施例并且将在本文中对其进行详细描述。然而,应当理解的是,不意在将本公开的概念限制于所公开的特定形式,而相反,意图是覆盖与本公开和所附权利要求书一致的所有修改形式、等效形式和替代形式。在说明书中提到的“一个实施例”、“实施例”、“说明性实施例”等指示所描述的实施例可以包括具体特征、结构或特性,但每一个实施例可能或者可能不一定包括所述具体特征、结构或特性。此外,此些短语不一定指相同的实施例。进一步地,当结合实施例描述具体特征、结构或特性时,应认为,无论是否明确描述,结合其他实施例来实现这种特征、结构或特性是在本领域的普通技术人员的知识范围内。另外,应当认识到,包括在采用“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)。在一些情况下,可以在硬件、固件、软件或其任何组合中实施所公开的实施例。所公开的实施例还可以被实施为由一个或多个暂态或非暂态机器可读(例如,计算机可读)存储介质所承载的或存储于其上的指令,所述指令可以由一个或多个处理器读取和执行。机器可读存储介质可以被实施为任何存储设备、机制、或用于存储或传输采用机器可读形式的信息的其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。在附图中,可以采用特定安排和/或排序来示出一些结构特征或方法特征。然而,应当理解的是,可能不需要这种特定的安排和/或排序。相反,在一些实施例中,可以采用与在说明性附图中所示出的方式和/或顺序不同的方式和/或顺序来安排这种特征。另外,在特定的图中包括结构性特征或方法特征并不意味着暗示在所有实施例中都需要这种特征,并且在某些实施例中,可以不包括这种特征或者这种特征可以与其本文档来自技高网...
用于I/O数据的完整性、防重放和真实性保证的技术

【技术保护点】
一种用于I/O数据完整性验证的计算设备,所述计算设备包括:元数据生成器模块,所述元数据生成器模块用于:(i)对与所述计算设备的I/O控制器相关联的I/O数据执行经认证的加密操作,以生成经加密的I/O数据和认证标签;(ii)将所述经加密的I/O数据写入与直接存储器存取操作相关联的存储器缓冲器中;以及(iii)将所述认证标签写入存储器中的认证标签队列中;以及元数据消费器模块,所述元数据消费器模块用于:(i)响应于所述直接存储器存取操作而对所述经加密的I/O数据进行解密;以及(ii)响应于对所述经加密的I/O数据的解密而用所述认证标签来判定所述经加密的I/O数据是否是真实的。

【技术特征摘要】
【国外来华专利技术】2015.07.20 US 62/194,763;2015.07.21 US 62/195,148;1.一种用于I/O数据完整性验证的计算设备,所述计算设备包括:元数据生成器模块,所述元数据生成器模块用于:(i)对与所述计算设备的I/O控制器相关联的I/O数据执行经认证的加密操作,以生成经加密的I/O数据和认证标签;(ii)将所述经加密的I/O数据写入与直接存储器存取操作相关联的存储器缓冲器中;以及(iii)将所述认证标签写入存储器中的认证标签队列中;以及元数据消费器模块,所述元数据消费器模块用于:(i)响应于所述直接存储器存取操作而对所述经加密的I/O数据进行解密;以及(ii)响应于对所述经加密的I/O数据的解密而用所述认证标签来判定所述经加密的I/O数据是否是真实的。2.如权利要求1所述的计算设备,其中,所述元数据生成器模块包括所述计算设备的加密引擎,并且所述元数据消费器模块包括所述计算设备的可信软件组件。3.如权利要求2所述的计算设备,其中,所述元数据消费器模块进一步用于:响应于确定了所述经加密的I/O数据不是真实的而由所述可信软件组件指示完整性失败。4.如权利要求2所述的计算设备,其中,对与所述I/O控制器相关联的所述I/O数据执行所述经认证的加密操作包括:由所述加密引擎拦截由所述I/O控制器发起的DMA事务,其中,所述DMA事务包括所述I/O数据并且与DMA通道标识符相关联;以及响应于对所述DMA事务的拦截而由所述加密引擎执行所述经认证的加密操作。5.如权利要求4所述的计算设备,其中,所述元数据生成器模块进一步用于:由所述加密引擎评估写入条件,以判定是否将所述认证标签写入所述认证标签队列中;响应于确定了不将所述认证标签写入所述认证标签队列中而由所述加密引擎将所述认证标签累积到累积认证标签中;以及响应于确定了将所述认证标签写入所述认证标签队列中而由所述加密引擎写入所述累积认证标签;其中,评估所述写入条件以判定是否将所述认证标签写入所述认证标签队列中包括:将所述DMA事务的长度与所述I/O控制器的DMA通道最大传输单元进行比较;将用于所述DMA通道的I/O数据的累积字节数与用于认证标签生成的最大长度进行比较;判定所述DMA事务是否从前一DMA事务越过页边界;判定所述DMA事务的消息结束标志是否被设定;或者将所述DMA事务的所述DMA通道标识符与前一DMA事务的DMA通道标识符进行比较。6.如权利要求1所述的计算设备,其中,所述元数据生成器模块包括所述计算设备的可信软件组件,并且所述元数据消费器模块包括所述计算设备的加密引擎。7.如权利要求6所述的计算设备,其中,所述元数据消费器模块进一步用于:响应于确定了所述经加密的I/O数据是真实的而由所述加密引擎将所述I/O数据输出到所述I/O控制器。8.如权利要求6所述的计算设备,其中,所述元数据消费器模块进一步用于:响应于确定了所述经加密的I/O数据不是真实的而由所述加密引擎执行加密引擎失败模式。9.如权利要求1所述的计算设备,其中,所述元数据生成器模块包括所述计算设备的加密引擎,并且所述元数据消费器模块包括所述加密引擎。10.如权利要求1至9中任一项所述的计算设备,其中,所述认证标签队列包括认证标签结构阵列的链表,其中,所述认证标签结构阵列中的每一个都包括存储器页,并且其中,每个认证标签结构阵列包括下一阵列指针和多个认证标签结构。11.如权利要求1至9中的任一项所述的计算设备,其中,用所述认证标签来判定所述经加密的I/O数据是否是真实的包括:从所述认证标签队列中读取认证标签结构,其中,所述认证标签结构包括消息长度值和所述认证标签;从与所述直接存储器存取操作相关联的所述存储器缓冲器中读取第一数量的字节,其中,字节的第一数量是所述消息长度值;用所述认证标签对所述第一数量的字节执行经认证的解密,以判定所述经加密的I/O数据是否是真实的;响应于确定了所述经加密的I/O数据是真实的而将所述字节的第一数量添加到消息长度计数器中;判定所述消息长度计数器是否小于与所述直接存储器存取操作相关联的所述存储器缓冲器的大小;响应于确定了所述消息长度计数器小于所述存储器缓冲器的大小而从所述认证标签队列中读取下一认证标签结构;以及响应于确定了所述消息长度计数器不小于所述存储器缓冲器的大小而返回成功。12.一种用于I/O数据完整性验证的计算设备,所述计算设备包括:视频捕获模块,所述视频捕获模块...

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

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

1