[发明专利]一种基于FPGA的透明网络加密系统实现方法在审
申请号: | 202111304832.9 | 申请日: | 2021-11-05 |
公开(公告)号: | CN114050920A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 张中方;臧云利;许广建;赵长松;曹敏;刘守昌;张德瑞;李振;朱彤 | 申请(专利权)人: | 山东多次方半导体有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/06 |
代理公司: | 北京首捷专利代理有限公司 11873 | 代理人: | 梁婧宇 |
地址: | 250013 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 透明 网络 加密 系统 实现 方法 | ||
1.一种基于FPGA的透明网络加密系统实现方法,其特征在于,包括:
接收明文网口的原数据包,解析网络报文缓存MAC首部和IP首部信息;
对IP首部和数据区进行数据对齐处理,增加第一、第二自定义字段;
对增加第一、第二自定义字段后的数据,采用预设算法加密;
对加密后的数据,增加第三、第四自定义字段,作为密文数据包;
将所述密文数据包采用UDP协议发送到密文网口。
2.根据权利要求1所述的一种基于FPGA的透明网络加密系统实现方法,其特征在于,对IP首部和数据区进行数据对齐处理,增加第一、第二自定义字段,包括:
对IP首部和数据区进行128位数据对齐处理,将第一自定义字段作为对齐时补充的数据;
增加第二自定义字段;所述第二自定义字段包括:所述原数据包的长度数据相关数据参数。
3.根据权利要求2所述的一种基于FPGA的透明网络加密系统实现方法,其特征在于,对增加第一、第二自定义字段后的数据,采用预设算法加密,包括:
对增加第一、第二自定义字段后的数据,采用杂凑算法SM3以及分组密码算法SM4进行加密及验证;
或
对增加第一、第二自定义字段后的数据,采用SM4-GCM算法进行加密及验证。
4.根据权利要求3所述的一种基于FPGA的透明网络加密系统实现方法,其特征在于,对加密后的数据,增加第三、第四自定义字段,作为密文数据包,包括:
对加密后的数据,增加第三自定义字段;所述第三自定义字段为SM3计算出的HMAC值或为SM4-GCM产生的GMAC值;
再增加第四自定义字段,构成密文数据包;所述第四自定义字段包括:厂商信息、设备ID、以及密钥更新时需要的部分参数。
5.根据权利要求4所述的一种基于FPGA的透明网络加密系统实现方法,其特征在于,将所述密文数据包采用UDP协议发送到密文网口,包括:
确定所述密文数据包的总长度是否大于MTU值;
当确定不大于时,则采用缓存MAC首部、IP首部和自定义的端口号,结合所述密文数据包组成UDP协议的加密数据包,发送到密文网口;
当确定大于时,将所述密文数据包拆分成总长度小于MTU值的至少两个密文数据包,采用缓存MAC首部、IP首部和自定义的端口号,结合所述密文数据包组成UDP协议的加密数据包,发送到密文网口。
6.一种基于FPGA的透明网络加密系统实现方法,其特征在于,包括:
接收密文网口的网络数据包,解析网络报文缓存MAC首部、IP首部和UDP首部信息;
缓存UDP端口号、第三、第四自定义字段;
采用预设解密算法进行整体解密,得到第一、第二自定义字段,以及明文数据;
解析所述明文数据中的长度,对比第一、第二自定义字段,判断所述长度是否正确;
当正确时,采用缓存的MAC首部生成解密后的报文MAC头,用缓存的IP首部替换原IP头中的IP地址,实现NAT转换,生成明文数据包并发送到明文网口。
7.根据权利要求6所述的一种基于FPGA的透明网络加密系统实现方法,其特征在于,缓存UDP端口号、第三、第四自定义字段;包括:
缓存UDP端口号、第三、第四自定义字段,并判断UDP端口是否正确、以及判断所述第四自定义字段是否包括:厂商信息、设备ID、以及密钥更新时需要的部分参数;当所述UDP端口或所述第四自定义字段不正确时丢包处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东多次方半导体有限公司,未经山东多次方半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111304832.9/1.html,转载请声明来源钻瓜专利网。