微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于IDT75K62100 芯片的硬件控制库设计

基于IDT75K62100 芯片的硬件控制库设计

时间:06-17 来源:互联网 点击:

下。指令总线宽20 位,配置指令,读写指令从该总线输入。数据总线宽72 位, 输入数据时,先将数据写入数据输入输出缓存区,在内部地址译码控制下,再将数据写入数据存储区或比较寄存器。比较后得到匹配项的地址由24 位索引总线送出,数据经输入输出缓存器从数据总线输出,并由匹配标志信号线给出匹配状态。

图 2 :IDT75K62100 内部逻辑结构与外部总线示意图

SRAM 选用IDT 公司的71V65603 ,该款SRAM 工作频率为100M-150MHZ ,支持ZBT 技术,容量为256KX36bit 。其内部逻辑结构及主要外部总线如图三所示。

图 3 :IDT71V65603 内部逻辑结构与外部总线示意图

查找时,先从包头中提取出查表关键字送CAM 查SP,若查到了SP,则将此SP 对应的SA 的地址通过CAM 索引总线送给SRAM 并将匹配标志送IPSec 处理单元,SRAM 根据送来的地址将对应的SA 通过数据总线写入IPSec 处理单元。每查到一条SA,则需要对SAD 中的该SA 条目进行更新,因为SA 中包括序列号和SA 生存期等需要及时更新的字段。更新过程和查找过程基本一致,先从CAM 中找到对应的SP 条目,得到该SA 的存放地址,然后将修改后的SA 写入该地址或将原SA 删除。

4 SPD 和SAD 数据格式设置

一个好的IPSec 协议实现方案,一定程度上取决于SPD 和SAD 条目的合理的设置,因为合理的SPD 和SAD 条目设置可以使IPSec 处理即不复杂,又达到了预期的安全保护的要求。

根据实际需要,本安全模块的SPD 中每个条目设置源IP 地址,目的IP 地址,传输层协议三个选项。需要注意的是,源IP 地址和目的IP 地址项完全没必要设为128 位的, 只需要储存各自地址的高64 位即可,因为在128 位的IPV6 地址中,高64 位是所属网络地址,由于是在路由器上实现IPSec 保护,故在进行策略查找时,只需要检查数据包中的源和目的的网络地址是否与策略库中的网络地址相匹配即可。传输层协议选项为8 位宽,对于输出处理单元,只对TCP 和UDP 进行安全保护,故该选项的十进制值应为6(TCP)或17(UDP)

; 对于输入处理单元,只对ESP 进行处理,故该选项的十进制值应为50。由此看来,SPD 的表项宽度应在136 位以上。

对于输出包处理的SAD,每个SA 条目包括SPI 字段,序列号计数器字段,序列号溢出字段,密钥字段和SA 生存期字段。其中,SPI 字段为32 位宽, 取值范围为256―232-1,我们规定,若SPI 为全1,则表示SA 尚未建立,需要进行协商;若SPI 为其它有效值,则根据对应的SA 进行安全处理。序列号计数器字段为32 位宽,为所处理的数据包提供一个唯一的编号用来抗重放。序列号溢出字段为1 位宽,当该位为‘1’时,表示需要对序列号字段进行溢出检查;为‘0’表示不需进行溢出检查。密钥字段128 位,存放3DES 算法的密钥。SA 生存期字段16 位宽, 值为预先约定的该SA 所处理的数据包的个数,每处理一包该值减一,为0 时该SA 过期, 重新协商。综上所述,输出包处理的SAD1 每个表项宽度应在209 位。

对于输入包处理的SAD2,每个条目包括SPI 字段,抗重放窗口字段,密钥字段和SA 生存期字段。抗重放窗口字段32 位宽, 用来存放该SA 所接收到的验证有效的最大序列号, 接收到的包的序列号如果小于该值将被丢弃。其它字段的设置与输出包处理单元对应字段相同,不再重复。综上所述,输入包处理的SAD 每个表项宽度为208 位。

需要说明的是,以上设置是根据本安全模块实际设计的需要设置的,在IPSec 协议中建议的一些选项在本设计中省略了。例如,SPD 中的SPI 选项被省略,因为本设计中SPD 和SAD 是同时查找的,故可以将SPD 中的SPI 项省略。另外本安全模块默认使用隧道模式,密码算法为3DES,不进行认证,故SAD 中的相关选项被省略。

在设计中,SPD1 和SPD2 所用CAM 都设置为128KX144bit 模式,数据存储格式如图4-1 所示。SAD1 和SAD2 均由SRAM 组成,其存储空间为256KX36bit,这样SAD1 和SAD2 中一条SA 条目需要占用6 个存储单元。数据存储格式如图4-2 所示。

图 4-2:SAD1 和SAD2 数据格式

5 创新点总结本文的创新点在于提出并实现了一种用硬件IDT75K62100 芯片实现快速的SPD 与SAD 数据库的思想。目前的SPD 和SAD 往往用软件的方式来实现,但这极大地限制了IPSEC 处理数据流的速度,本文提出的这种思想,经过实现与测试,对提高IPSEC 保护节点提高数据流的处理速度有很大的帮助。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top