基于FPGA的密钥索引协商装置、系统及方法制造方法及图纸

技术编号:18839791 阅读:28 留言:0更新日期:2018-09-05 08:21
本发明专利技术涉及一种密钥索引协商装置、系统方法,属于通信领域。方法包括:接收到待发送数据包,搜索映射表中对端地址为IP1的表项;未搜索到,则新建密钥索引;发送第一帧至终端2;获取终端2发送的第二帧,并保存在片内RAM;将第二帧中对端地址为IP2的表项状态更新为FIN,同时将终端1相应表项的密钥索引字段更新为第二帧中的密钥索引值;发送第三帧至终端2。本发明专利技术的装置、系统和方法在只消耗极少网络开销的情况下,就能根据当前网络中的数据流,完成所需的密钥索引的协商;大大提高了使用密钥索引的灵活性,而且不受网络拓扑的影响,即便是整个网络拓扑发生改变,密钥索引也会重新动态生成。

Key index negotiation device, system and method based on FPGA

The invention relates to a key index negotiation device and a system method, and belongs to the field of communication. The methods include: receiving the packet to be sent, searching for the table item whose end address is IP 1 in the mapping table; creating a new key index if not searched; sending the first frame to terminal 2; obtaining the second frame sent by terminal 2 and saving it in RAM on chip; updating the table item whose end address is IP 2 in the second frame to FIN and at the same time updating terminal 1 to terminal 1. The key index field of the corresponding table item is updated to the key index value in the second frame; the third frame is sent to the terminal 2. The device, system and method of the present invention can accomplish the required key index negotiation according to the data flow in the current network with minimal network overhead, greatly improving the flexibility of using the key index, and not affected by the network topology, even if the entire network topology changes, the key cable Citation will also be regenerated dynamically.

【技术实现步骤摘要】
基于FPGA的密钥索引协商装置、系统及方法
本专利技术涉及点对点加密通信
,尤其涉及一种基于FPGA的密钥索引协商装置、系统及方法。
技术介绍
纵观密码学的发展历史,对数据的安全保护越来越呈现出基于密钥保密而不是算法保密这一新特点。因此对密钥的管理和使用就成为保障数据安全的重点,至于密钥管理在很多文献和书籍中都有专门论述,在此不再赘述,而密钥使用的方法还停留在比较传统的阶段,有足够的研究价值和提升空间。使用密钥的主要问题是密钥索引,即对于某个终端地址数据包的加解密,如何确定应该使用哪组密钥。目前一般的方法是将由所有地址及其对应的密钥索引组成的表项预制在一张全量映射表中,表项的主键为终端地址。在加解密时就可以根据终端地址的密钥索引来确定需要使用的密钥。但该方法存在诸多缺点,首先预制时必须要知道所有的终端地址,其次当终端地址和密钥索引的映射关系发生变化,映射表修改量太大。综上可知传统使用密钥的方法或系统中存在预制映射表不灵活、成本高和修改映射表工作量大的缺点。
技术实现思路
鉴于上述的分析,本专利技术旨在提供一种基于FPGA的密钥索引协商装置、系统及方法,解决了现有技术所存在的预制映射表不灵活、成本高和修改映射表工作量大的问题。本专利技术的目的主要是通过以下技术方案实现的:一方面,提供了一种基于FPGA的密钥索引协商装置,包括FPGA1和CPU1;所述FPGA1包括片内RAM1:FPGA1,用于接收到待发送数据包时,搜索映射表中对端地址为IP2的表项,未搜索到,则通知CPU1新建密钥索引;还用于获取终端2发送的第二帧,并保存在片内RAM1数据区,并通知CPU1处理;CPU1,用于执行:新建密钥索引;发送第一帧至终端2,所述第一帧包括终端1的密钥索引值、帧计数、IP1和IP2;接收到处理通知时,读出第二帧,将对端地址为IP2的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第二帧中的密钥索引值;发送第三帧至终端2,所述第三帧包括终端1的密钥索引值、帧计数、IP1和IP2。进一步,所述FPGA1通过中断的方式通知CPU1。进一步,所述映射表包括表项索引、状态、本端地址、对端地址和密钥索引字段;所述状态字段用于表示密钥索引的协商状态,FIN表示完成,NEW表示新建,ACK表示响应。进一步,通过二次匹配算法对表项进行搜索查找;所述映射表采用具有地址冲突的冗余设置。进一步,所述新建密钥索引包括:将IP1和IP2写入片内RAM1数据区;将IP2转换为H值,在映射表表项索引值为H值的位置添加状态为NEW的新表项。第二方面,提供了一种密钥索引协商方法,包括以下步骤:接收到待发送数据包,搜索映射表中对端地址为IP2的表项;未搜索到,则新建密钥索引;发送第一帧至终端2,所述第一帧包括终端1的密钥索引值、帧计数、IP1和IP2;获取终端2发送的第二帧,并保存;读出第二帧,将对端地址为IP2的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第二帧中的密钥索引值;发送第三帧至终端2,所述第三帧包括终端1的密钥索引值、帧计数、IP1和IP2。其中,IP1和IP2分别为终端1的IP地址、终端2的IP地址。第三方面,提供了一种基于FPGA的密钥索引协商装置,包括FPGA2和CPU2,FPGA2包括片内RAM2数据区;FPGA2,用于捕获终端1发送的第一帧,并保存在片内RAM2数据区;还用于捕获终端1发送的第三帧,并保存在片内RAM2数据区;CPU2,用于执行:读出第一帧,查找对端地址为IP1的表项,添加或更新该表项的状态为ACK,同时将该表项的密钥索引字段更新为第一帧中的密钥索引值;发送第二帧至终端1,所述第二帧包括终端2的密钥索引值、帧计数、IP1和IP2;读出第三帧,将对端地址为IP1的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第三帧中的密钥索引值。第四方面,提供了一种密钥索引协商方法,包括以下步骤:捕获终端1发送的第一帧,并保存;读出第一帧,查找对端地址为IP1的表项,添加或更新该表项的状态为ACK,同时将该表项的密钥索引字段更新为第一帧中的密钥索引值;发送第二帧至终端1,所述第二帧包括终端2的密钥索引值、帧计数、IP1和IP2;捕获终端1发送的第三帧,并保存;读出第三帧,将对端地址为IP1的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第三帧中的密钥索引值。第五方面,提供了一种基于FPGA的双方密钥索引协商系统,包括与终端1相连的上述第一方面提供的密钥索引协商装置和与终端2相连的上述第三方面提供的密钥索引协商装置。第六方面,提供了一种双方密钥索引协商方法,包括上述第二专利技术所提供的密钥索引协商方法和上述第四方面提供的密钥索引协商方法。上述方案的有益效果如下:在通信的两终端终端1处设置FPGA1、CPU1;终端2处设置FPGA2及CPU2;在FPGA1中设置RAM1,在FPGA2中设置RAM2,FPGA1与FPGA2间通过网络接口进行网络连接实现数据发送和密钥索引协商。只消耗极少网络开销的情况下,就能根据当前网络中的数据流,完成所需的密钥索引的协商。不仅大大提高了使用密钥索引的灵活性,而且不受网络拓扑的影响,即便是整个网络拓扑发生改变,密钥索引也会重新动态生成。软硬件结合,软件辅助硬件。FPGA和CPU通过中断方式通知,通过片内RAM进行数据共享,实现密钥索引的动态协商。映射表以[对端地址]为主键。地址转换确定了每个表的表项数量为1024个,少于传统设计中映射表的表项数量。地址转换结果即表项索引值,访问表项时直接通过索引值寻址,比传统的索引方式更快,避免大量时间消耗在逻辑运算上,大大提高匹配效率。采用简单高效的二次匹配算法设计映射表及表项查找,以极小的地址冲突代价,换来映射表减小的效果。由地址转换函数可知,存在多个地址转换结果相同的情况,仅用一个表来保存映射关系是远远不够的,所以在设计映射表的时候采用了具有地址冲突冗余功能的多表平行方法,一共使用四个映射表,允许多达四个冲突地址,对于地址转换结果相同的多个对端地址,可以分别放在四个映射表的H值位置。同时通过判断表项的命中计数值,定期清理不活动的表项,使映射表尽量处于空闲,保证地址冲突冗余功能,解决了地址冲突问题。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明附图仅用于示出具体实施例的目的,而并不认为是对本专利技术的限制,在整个附图中,相同的参考符号表示相同的部件。图1为本专利技术实施例1硬件结构图;图2为本专利技术实施例2流程图;图3为本专利技术实施例3硬件结构图;图4为本专利技术实施例4流程图;图5为本专利技术实施例5硬件网络结构图;图6为本专利技术实施例6密钥索引协商流程图。具体实施方式下面结合附图来具体描述本专利技术的优选实施例,其中,附图构成本申请一部分,并与本专利技术的实施例一起用于阐释本专利技术的原理。密钥索引协商由通信的两终端终端1、终端2协商完成,终端1的IP地址、终端2的IP地址分别为IP1和IP2。实施例1如图1所示,本实施例涉及通信发起端即终端1处的密钥协商装置。终端1处设置FP本文档来自技高网...

【技术保护点】
1.一种基于FPGA的密钥索引协商装置,其特征在于,包括FPGA1和CPU1;所述FPGA1包括片内RAM1:FPGA1,用于在接收到终端1发送的待发送数据包时,搜索映射表中对端地址为IP2的表项,未搜索到,则通知CPU1新建密钥索引;还用于获取终端2发送的第二帧,并通知CPU1处理;RAM1,用于保存所述映射表和所述第二帧;CPU1,用于执行下述流程:新建密钥索引;发送第一帧至终端2,所述第一帧包括终端1的密钥索引值、帧计数、IP1和IP2;接收到处理通知后,读出第二帧,将对端地址为IP2的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第二帧中的密钥索引值;发送第三帧至终端2,所述第三帧包括终端1的密钥索引值、帧计数、IP1和IP2。

【技术特征摘要】
1.一种基于FPGA的密钥索引协商装置,其特征在于,包括FPGA1和CPU1;所述FPGA1包括片内RAM1:FPGA1,用于在接收到终端1发送的待发送数据包时,搜索映射表中对端地址为IP2的表项,未搜索到,则通知CPU1新建密钥索引;还用于获取终端2发送的第二帧,并通知CPU1处理;RAM1,用于保存所述映射表和所述第二帧;CPU1,用于执行下述流程:新建密钥索引;发送第一帧至终端2,所述第一帧包括终端1的密钥索引值、帧计数、IP1和IP2;接收到处理通知后,读出第二帧,将对端地址为IP2的表项状态添加或更新为FIN,同时将该表项的密钥索引字段更新为第二帧中的密钥索引值;发送第三帧至终端2,所述第三帧包括终端1的密钥索引值、帧计数、IP1和IP2。2.根据权利要求1所述的密钥索引协商装置,其特征在于,所述FPGA1通过中断的方式通知CPU1新建密钥索引或处理。3.根据权利要求1所述的密钥索引协商装置,其特征在于,所述映射表包括表项索引、状态、本端地址、对端地址和密钥索引字段;所述状态字段用于表示密钥索引的协商状态,FIN表示完成,NEW表示新建,ACK表示响应。4.根据权利要求1-3之一所述的密钥索引协商装置,其特征在于,通过二次匹配算法对表项进行搜索查找;所述映射表采用具有地址冲突的冗余设置。5.根据权利要求1-3之一所述的密钥索引协商装置,其特征在于,所述新建密钥索引包括:将IP1和IP2写入片内RAM1数据区;将IP2转换为H值,在映射表表项索引值为H值的位置添加状态为NEW的新表项。6.一种密钥索引协商方法,其特征在于,包括以下步骤:接收到终端1发送的待发送数据包,搜索映射表中对端地址为IP2的表项;未搜索到,则新建密钥索引;发送第一帧至终端2,所述第一帧包括终端1的密钥索引值、帧计...

【专利技术属性】
技术研发人员:郑重
申请(专利权)人:北京赛博兴安科技有限公司
类型:发明
国别省市:北京,11

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

1