摘 要 随着网络技术在各行各业中的广泛应用,网络安全逐渐成为一个重要的问题。Linux是一个优秀的、开源的操作系统,非常适合作为一些新技术的测试平台。本文修改Linux操作系统内核的网络协议,以实现对网络通信数据的加密。先介绍了网络数据加密的发展和现状。接着分析了网际协议、DES加密算法和Linux下的网际协议的实现和套接字结构。然后,实现了DES算法,对内核进行了修改,添加了一些功能性内核模块。在此基础上设计和实现了一个位于IP层的端到端加密的系统,整个系统嵌入到LINUX内核中,可以通过内核模块对其进行操作,来实现其功能。该系统的主要特点是针对IP地址判断是否进行加密操作。最后,通过测试验证了系统设计的正确性。(毕业设计网 )
关键字:网络层;LINUX内核;端到端;加密;模块;网络通信 The Implementation of Encryption and Decryption at Net Layer based on LINUX
Abstract With the abroad use of network technology in various trades, network security is becoming an important issue. Linux is an excellent Open-source Operating System and is very suitable for the test of some new technology. In this paper, the network protocol stack of the Linux operating system kernel is changed to encrypt network communication data. Firstly, introduces the development and actuality of the network data encryption. Secondly, analyses the inernet protocol, the DES encryption algorithm, and the implementation of internet protocol and the socket structure in the linux kernel. Whereafter, realizes the DES algorithm, changes the kernel, and adds some functional kernel modules. And then, an IP end-to-end encryption system is designed and implemented, and it is embeded in the LINUX kernel, we can achieve its function through kernel module. Lastly, a test is given to testify the correctness of the design.
Key Words: Net layer; LINUX kernel; End-to-end; Encrypt; Module; Network communications
引言 随着网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。病毒、黑客的猖獗使身处今日网络社会的人们感觉到谈网色变,无所适从。 但我们必需清楚地认识到,这一切一切的安全问题我们不可一下全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,目前还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以我们不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。 现代的网络加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络中还是近几年的历史。 当今网络社会选择加密已是我们别无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础——TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。为了解决这一对矛盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。(毕业设计网 )
网络层加密系统的测试 该系统已经成功通过测试。为直观显示测试过程,在加密系统中的加密解密程序块中插入了测试语句。测试环境为两个虚拟机A、B、C的内网地址分别为192.168.1.102、192.168.1.107、192.168.1.100,网管地址为192.168.1.9。A、B两机操作系统为加密系统,C和网管系统为普通系统。系统B为系统A的克隆,所以图中A、B主机名和用户名字相同。由于加密系统环境为终端环境, 所以测试程序采用系统本身的ping命令。下面介绍测试细节。 首先测试加密系统的普通工作情况,即A、B两机的list为空时,作为普通主机的网络工作情况。A、B主机互相能够ping通,并且无测试语句出现。
目 录 1 引言 1 2 网络数据加密技术 1 2.1 链路加密 1 2.2 节点加密 2 2.3 端到端加密 2 3 系统的总体分析 3 3.1 网际协议分析 3 3.2 套接字结构分析 5 3.3 LINUX下IPv4的实现 6 3.4 DES算法介绍 8 4 系统的设计与实现 12 4.1 系统的总体设计 12 4.2 模块部分的设计与实现 13 (毕业设计网 ) 4.3 DES算法实现 15 4.4 对内核函数的修改 18 5 网络层加密系统的测试 18 结 论 21 参考文献 21 致 谢 22 声 明 23 |