系统与设计
的意见

新时代的解决方案数据完整性和真实性

如何安全地传输数据从一个设备到另一个地方。

受欢迎程度

随着更快的处理芯片,数据传输的速率大为增加。人工智能(AI)、物联网(物联网),计算密集的分析,或云计算,处理数据的需求在几分之一秒是巨大的。与超高速计算机芯片功能应用在有故障可以危及生命,如在自动驾驶汽车,所以准确性是至关重要的。

你可曾想过:这些生死攸关的设备的安全维护和数据是如何安全地从一个设备转移到另一个?这些都是重要的问题,因为数据传输的真实性是最重要的。想象这样一个情况下,黑客操纵数据从传感器到处理器的无人驾驶汽车,而不是信号车右转,黑客操纵它向左拐,结果可能是致命的,可能非常昂贵。

PCI Express想出了一个解决方案来解决安全问题的数据从一个设备转移到另一个地方。PCI Express社区,一种总线标准团体,想出了一个新特性,称为完整性和数据加密(IDE)。顾名思义,通过加密过程完整性的数据维护,和真实性是保证应用程序的消息验证码(MAC)和传输数据。这是通过传输数据在事务层数据包(tlp),这是第一次加密,然后用MAC附加这样接收者可以确保包在运输途中是真实的和untampered之前回到原始数据进行解密。IDE的加密-解密过程中使用的算法很好地证明,最佳实践,行业标准算法。

本文讨论了流用于加密和解密的PCI Express IDE张力腿平台。它解释了IDE提供了安全数字攻击张力腿平台发送从发射机到接收机用于各种模型,包括数据传输通过开关设备连接link-to-link或设备连接。进一步,还讨论了聚合功能作为PCIe QVIP IDE和综合验证解决方案,提供了验证整个IDE的功能。

完整性和数据加密(IDE)
IDE特性介绍了作为PCIe提供完整性和机密性张力腿平台之间的传输和接收请求者和响应者。它提供了安全对张力腿平台的重新排序,张力腿平台的删除,修改之间的张力腿平台内容,恶意的扩展设备等。

在图1中,数据加密和完整性保护,所以攻击者可以听,甚至修改内容的数据,因为没有办法检查接收机。


图1:没有加密。

在图2中,数据是加密的,但不完整性保护,所以攻击者可以修改的内容实际接收机在不知情的情况下。


图2:数据加密。

在图3中,数据加密和完整性保护,所以攻击者不能读取内容他也不会修改内容。任何试图修改内容将在接收器和检查会有MAC检查失败。


图3:数据加密和完整性。

IDE流是建立两个端口之间如果没有开关之间的连接端口,然后可以安全的张力腿平台传输使用链接IDE或只能获得选定的张力腿平台使用选择性的IDE。之间没有依赖关系链接IDE和选择性IDE和两个可以独立工作在一起两个直接连接的端口。与选择性相关联的张力腿平台IDE使用流的流加密密钥集和所有其他张力腿平台链接将使用IDE和使用流的数据包加密密钥集。如果有一个开关两个端口之间的连接,然后选择IDE将用于加密两个端口之间的数据包传输。图4说明如何IDE流连接的链接和选择性的IDE。


图4:IDE流连接图。

加密逻辑如图5所示。张力腿平台头包括前缀和数据(称为纯文本)通过AES-GCM逻辑和它使用密钥和初始化向量(IV)加密包和输出加密数据(称为密文)和MAC值。由此产生的输出传送到应答器和接收器,解密的数据包。


图5:加密逻辑IDE张力腿平台。

在接收端,张力腿平台的头,密文和MAC值传递给AES-GCM逻辑进而IDE密钥管理过程中使用相同的密钥交换和IV值解密包。MAC检查在这里,如果有任何不匹配,那么接收器和MAC包不被接受的检查报告失败的错误。解密后,原来的标题和数据传输在接收端恢复。当使用聚合时,可以有顺序或并行处理的数据AES-GCM引擎。并行处理有几个优势顺序处理,如增加吞吐量,不需要Tx缓冲区。作为PCIe QVIP ICVIP使用并行处理数据,有助于获得上面提到的优势。


图6:解密IDE TLP的逻辑。

有两个州与IDE流,它可以是在不安全的状态或安全状态。过程建立会话启动IDE时,处于不安全状态。将国家安全状态,首先建立安全连接使用CMA / SPDM然后键使用IDE配置密钥管理过程,然后通过设置启用IDE IDE支持。如果IDE支持清除,流转换从安全的不安全状态。港口可以随时从安全过渡到不安全的状态确定安全条件的妥协。


图7:IDE流的状态机。

IDE张力腿平台

一旦建立了一个流IDE会话,IDE交通可以在IDE的港口之间开始。IDE张力腿平台识别通过IDE前缀。位在IDE前缀表明MAC存在与否。MAC是消息身份验证代码是一个96位的领域和检查张力腿平台的完整性。K在IDE前缀表明用于集TLP的关键。当收到张力腿平台中K位的话,年长的按键是无效的。T在IDE前缀表明张力腿平台启动从可信执行环境(T)和P位表明张力腿平台包含PCRC,它是集也设置了只有当M位。

IDE张力腿平台聚合
聚合功能中使用IDE来增加吞吐量。张力腿平台的数字传输可以聚合和MAC聚合单元的计算作为一个整体,是附加的最后TLP聚合单元。张力腿平台的最大数量,可以聚合是8,取决于配置空间中相应的寄存器的值,如果超过8张力腿平台接收位明确,然后接收者将它视为IDE检查失败错误和采取适当的行动过渡相关的流不安全的状态。支持IDE聚合是由IDE聚合表示支持在IDE的功能寄存器。张力腿平台之间的聚合是起诉与相同的流和子流值。

验证的IDE特性作为PCIe ICVIP ICVIP作为PCIe QVIP支持整个软件栈需要验证最新IDE特性从CMA / SPDM安全会话建立通过IDE密钥管理和密钥配置链接和选择性IDE使用和不聚合。

有多个进程支持IDE验证序列和api帮助刺激序列生成和提供物品来生成所需的刺激。有一组断言捕捉小虫子在设计周期的早期。

创建错误注入情况下,回调提供了在不同的水平。提供了一套详尽的序列为每个特性严格测试验证设计。

有许多调试和日志消息有助于调试任何问题在快速的时间通过查看日志文件和伐木工也提供轻松解决任何问题的设计。一些示例快照如图8和9。


图8:IDE支持的日志消息。


图9:调试消息KEY_PROG命令。

结论
更多的背景,深入探讨了为什么它是如此重要,以确保两个设备之间传输数据包和维护数据的完整性,以及新特性介绍了PCI Express将如何帮助你安全地传输数据,阅读完整的西门子EDA白皮书,通过张力腿平台加密数据完整性在PCI Express



留下一个回复


(注意:这个名字会显示公开)

Baidu