电子说
Marvel PHY 88E1548P在其LinkCryCore中支持MACSec功能;
以下内容为此PHY的加密/解密通路结构,配置及编程使用介绍;
此款PHY结合了LinkCry Core和一些相关的缓存及逻辑。MACsec Core、Buffers、mac和设备特有的所有其他逻辑被称为“LinkCrypt Core”。半双工模式下不支持LinkCrypt。
下面的两个框图说明了设备内的总体结构,图39更详细地介绍了slice的内容,以及每个slice中内置的各种复用器,这些复用器允许启用/禁用特定块、非中断环回或完全绕过LinkCrypt核心。图39中的重定向块也包含一个小的(32B)迟滞FIFO。
MarvellLinkCrypt实现提供了IEEE 802.1AE规范要求的以下功能:
1. 支持一个端口多个安全通道;
2. 根据报文内容分离受控端口流量和非受控端口流量;
3. 能够选择和过滤非受控端口流量;
4. 能够通过SCI以外的方式选择安全通道;
5. 数据包重定向增加了新的MAC、DA、SA和以太类型;
6. 支持专有的系统头,以及插入和删除这些头;
7. FIPS符合性测试;
8. 中断和非中断环回;
9. 流量控制数据包的延迟最小化;
10. 自适应速率控制以补偿包的扩展;
11. 支持诊断,包括MACsec报头保留和其他统计计数器;
12. 非受控路径的以太类型匹配。
LinkCry CORE 运行原理
LinkCrypt核心执行IEEE 802.1AE标准中定义的加密、解密、身份验证和封装。它还提供了标准之外的额外查找、选择、数据包处理和诊断功能。
Core分为三个主要部分:出口(加密)管道、入口(解密)管道和集中的统计数据收集块。出口管道和入口管道具有一些共同的属性,并且具有相似的功能单元; 两者之间的主要区别在于执行操作的顺序,以及向入口管道添加身份验证检查。
这两个管道都是为“实时”操作而设计的,因此可以在进行加密或解密操作时进行各种表的配置。在管道运行时执行更改需要遵循正确的顺序,每个管道都描述了正确的顺序。不遵循正确的顺序可能导致损坏或流量下降。
由于802.3规范下PHY可用的寄存器空间有限,LinkCrypt核心使用间接访问机制来访问其内部配置状态。这种存取机制由四个22条款寄存器组成。它们包括两个地址寄存器,每个地址寄存器用于读和写,以及两个数据寄存器,它们形成32位数据访问。
MACSec Packet Format
MACsec报文遵循IEEE 802格式报文的规则,由一个具有DA、SA和Ethertype的报文组成。报文中的ethertype表示该报文是MACsec报文,MACsec报头后面的第二个ethertype表示报文内容的类型或下一个报头。
对于遵守IEEE长度约束(非jumbo)的数据包,这将导致有效负载大小在1到1502字节之间。对于MACsec来说,零大小的有效载荷是非法的。大于1502字节的数据包有效载荷超出了IEEE规范的范围,但由LinkCrypt核支持。
请注意,将MACsec报头和ICV添加到最大大小的以太网帧中会导致在线上的帧大于1518字节的802.3最大值。这些帧通过802.1as规范是合法的,并且在任何情况下,这些802.1AE数据包应该可以被任何能够处理MACsec帧的设备接受。
MACSec Header Format
每个MACsec帧包含一个8或16字节的报头,其中包含标识该帧为MACsec帧的Ethertype,以及处理和认证/解密数据包所需的信息。
Tag Control Information (TCI) Field
TCI字段包含描述包和头格式的位。它包含一个版本位(零)、端站位、安全通道报头位、单拷贝广播位、加密位、更改位和2位关联号字段。
其中,ES和SC位是互斥的; 在数据包上同时置位这两个是非法的。SCB位可以与ES位配合使用,但SC位不能。E位和C位共同表示数据包是否被加密;当这两个位都为1时,数据包被加密;当这两个位都为0时,数据包只经过身份验证。
AN字段指定应该使用哪个安全关联(和相应的密钥)来解密此数据包,并执行身份验证检查。
Short Length (SL) Field
该字段包含MACsec有效载荷小于48字节的数据包的有效载荷长度。对于负载较大的报文,该字段设置为0。该字段的目的是允许MACsec实体找到ICV,该ICV跟随那些数据包上的有效载荷,足够短,可能需要以太网填充。
Packet Number (PN) Field
该字段包含该报文的Packet Number。PN用于加密和防止重放攻击。由于这两个原因,给定的包号可能不会在给定的安全关联中重用。驱动程序/密钥交换协议负责在PN计数器转滚之前为MACsec实体提供新的SA。
Secure Channel Identifier (SCI) Field
安全通道标识符标识给定的安全通道。一个安全通道包含1个或多个安全关联,这些安全关联通过上面的关联号(AN)来区分。如果SC位在TCI字段中设置,则SCI可以显式地存在于数据包中,也可以是隐式的。在隐式SCI的情况下,SCI是由MACsec引擎维护的状态和包中包含的信息构建的。
这个构造的SCI用于入方向的表匹配,也是计算数据包ICV的一个因素。(也就是说,如果本地出端口没有将SCI显示带在包中时,那么对端入端口就需要构造这个SCI,而且用这个构造出来的SCI匹配到的密钥等解密关联与本地端的加密关联必须一致 。本地端出口方向只用SCI作为ICV的计算参数,并不用其来进行表项匹配)
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !