[发明专利]一种Linux网络层的端对端加密方法和系统有效
申请号: | 201910058656.1 | 申请日: | 2019-01-22 |
公开(公告)号: | CN109862000B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 戚建淮;郑伟范;宋晶;伍贤云 | 申请(专利权)人: | 深圳市永达电子信息股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 高占元 |
地址: | 518057 广东省深圳市南山区西丽街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 网络 加密 方法 系统 | ||
一种Linux网络层的端对端加密方法,包括:S1、在数据包的传输路径上的第一端口通过钩子机制从Linux网络层获取数据包并对所述数据包进行加密并转发;S2、在数据包的传输路径上的第二端口通过钩子机制从Linux网络层获取加密后的数据包并对所述加密后的数据包进行解密并转发。实施本发明的Linux网络层的端对端加密方法,通过利用Linux内核中的Netfilter中的钩子机制,可以在对接收到的数据包长度不作变换的情况下,实现对网络数据的加密,加密后数据包的报文长度保持不变,不需要额外封装数据包,节省加密时间,提高传输效率。
技术领域
本发明涉及信息安全技术领域,更具体地说,涉及一种Linux网络层的端对端加密方法和系统。
背景技术
信息安全防护问题是技术问题,更是涉及人因的系统问题,而目前最好的方法就是使用专业的加密软件对其机密数据进行加密,这样的话,加密直接作用于数据本身,只要加密算法不被破解,数据依然是安全的。数据加密作为一项基本技术是所有通信安全的基石。数据加密过程是由形形色色的加密算法来具体实施,它以很小的代价提供很大的安全保护。在多数情况下,数据加密是保证信息机密性的唯一方法。
在端对端的网络通讯中,如果需要对网络数据进行加密处理,通常采用VPN隧道方式进行安装部署,但通常会对原有的网络结构有所更改,没有实现端对端的透明加密,并且对数据加密长度不增加不减少,避免由于数据包长度改变对原有的业务处理流程的改变,导致意想不到的问题发生。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种不会改变数据包原有长度,因此加密时间短、传输效率高的Linux网络层的端对端加密方法和系统。
本发明解决其技术问题所采用的技术方案是:构造一种Linux网络层的端对端加密方法,包括:
S1、在数据包的传输路径上的第一端口通过钩子机制从Linux网络层获取数据包并对所述数据包进行加密并转发;
S2、在数据包的传输路径上的第二端口通过钩子机制从Linux网络层获取加密后的数据包并对所述加密后的数据包进行解密并转发。
在本发明所述的Linux网络层的端对端加密方法中,所述步骤S1进一步包括:
S11、将数据包从源地址经至少第一端口和第二端口发送到目标地址;
S12、在所述第一端口通过钩子机制从Linux网络层获取数据包;
S13、解析所述数据包并对所述数据包进行加密;
S14、将加密的数据包转发到所述第二端口。
在本发明所述的Linux网络层的端对端加密方法中,在所述步骤S12中,在所述第一端口通过钩子机制从Linux网络层获取多个数据包以形成多个钩子数据包队列,每个钩子数据包队列具有一个由多个数据包构成的包池。
在本发明所述的Linux网络层的端对端加密方法中,所述步骤S13进一步包括:
S131、采用用户态进程从所述钩子数据包队列获取所述数据包,并对所述数据包进行解析和过滤处理;
S132、对过滤后的所述数据包进行加密处理。
在本发明所述的Linux网络层的端对端加密方法中,所述用户态进程支持多个线程,每个线程对应一个钩子数据包队列;其中在所述步骤S131中,对所述数据包进行解析包括获取所述数据包的数据信息,所述过滤处理包括基于黑名单和/或白名单以及所述数据信息过滤所述数据包,所述数据信息包括:源地址、目的地址、源端口、目的端口和传输协议。
在本发明所述的Linux网络层的端对端加密方法中,所述步骤S2进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市永达电子信息股份有限公司,未经深圳市永达电子信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910058656.1/2.html,转载请声明来源钻瓜专利网。