毕业设计-简述网络层加密的实现(终稿).doc
《毕业设计-简述网络层加密的实现(终稿).doc》由会员分享,可在线阅读,更多相关《毕业设计-简述网络层加密的实现(终稿).doc(30页珍藏版)》请在咨信网上搜索。
1、简述网络层加密的实现摘 要随着网络技术在各行各业中的广泛应用,网络安全逐渐成为一个重要的问题。Linux是一个优秀的、开源的操作系统,非常适合作为一些新技术的测试平台。本文修改Linux操作系统内核的网络协议,以实现对网络通信数据的加密。先介绍了网络数据加密的发展和现状。接着分析了网际协议、DES加密算法和Linux下的网际协议的实现和套接字结构。然后,实现了DES算法,对内核进行了修改,添加了一些功能性内核模块。在此基础上设计和实现了一个位于IP层的端到端加密的系统,整个系统嵌入到Linux内核中,可以通过内核模块对其进行操作,来实现其功能。该系统的主要特点是针对IP地址判断是否进行加密操作
2、。最后,通过测试验证了系统设计的正确性。关键字:网络层;Linux内核;端到端;加密;模块;网络通信The Implementation of Encryption and Decryption at Net Layer based on LinuxAbstractWith 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
3、 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 protoc
4、ol, 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, a
5、nd 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目 录论文总页数:23页1 引言12 网络数据加密技术12.1 链路加密12.2 节点加密22.3 端到端加密23 系
6、统的总体分析33.1 网际协议分析33.2 套接字结构分析53.3 Linux下IPv4的实现63.4 DES算法介绍84 系统的设计与实现124.1 系统的总体设计124.2 模块部分的设计与实现134.3 DES算法实现154.4 对内核函数的修改185 网络层加密系统的测试18结论21参考文献211 引言随着网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。病毒、黑客的猖獗使身处今日网络社会的人们感觉到谈网色变,无所适从。 但我们必需清楚地认识到,这一切一切的安全问题我们不可一下全
7、部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,目前还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以我们不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。现代的网络加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络中还是近几年的历史。当今网络社会选择加密已是我们别
8、无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。为了解决这一对矛盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。2 网络数据加密技术2.1 链路加密对于在两个网络节点间的某一次通信链路, 链路加密能为网上传输的数据提供安全保证
9、。对于链路加密(又称在线加密), 所有消息在被传输之前进行加密, 在每一个节点对接收到的消息进行解密, 然后先使用下一个链路的密钥对消息进行加密, 再进行传输。在到达目的地之前, 一条消息可能要经过许多通信链路的传输。由于在每一个中间传输节点消息均被解密后重新进行加密, 因此, 包括路由信息在内的链路上的所有数据均以密文形式出现。这样, 链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖, 从而可以防止对通信业务进行分析。尽管链路加密在计算机网络环境中使用得相当普遍, 但它并非没有问题。链路加密通常用
10、在点对点的同步或异步线路上, 它要求先对在链路两端的加密设备进行同步, 然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步, 带来的后果是数据丢失或重传。另一方面, 即使仅一小部分数据需要进行加密, 也会使得所有传输数据被加密。在一个网络节点, 链路加密仅在通信链路上提供安全性, 消息以明文形式存在, 因此所有节点在物理上必须是安全的, 否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用, 为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成: 保护
11、节点物理安全的雇员开销, 为确保安全策略和程序的正确执行而进行审计时的费用, 以及为防止安全性被破坏时带来损失而参加保险的费用。在传统的加密算法中, 用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存, 并按一定规则进行变化。这样, 密钥分配在链路加密系统中就成了一个问题, 因为每一个节点必须存储与其相连接的所有链路的加密密钥, 这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂, 同时增加了密钥连续分配时的费用。2.2 节点加密尽管节点加密能给网络数据提供较高的安全性, 但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消
12、息提供安全性,都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。然而,与链路加密不同, 节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密, 然后采用另一个不同的密钥进行加密, 这一过程是在节点上的一个安全模块中进行。节点加密要求报头和路由信息以明文形式传输, 以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。2.3 端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密), 消息在被传输时到达终点之前不进行解密, 因为消息在整个传
13、输过程中均受到保护, 所以即使有节点被损坏也不会使消息泄露。端到端加密系统的价格便宜些, 并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题, 因为每个报文包均是独立被加密的, 所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲, 端到端加密更自然些。单个用户可能会选用这种加密方法, 以便不影响网络上的其他用户, 此方法只需要源和目的节点是保密的即可。端到端加密系统通常不允许对消息的目的地址进行加密, 这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与
14、终点, 因此它对于防止攻击者分析通信业务是脆弱的。3 系统的总体分析3.1 网际协议分析网络层是TCP/IP协议栈的核心组件,网际协议(Internet Protocol)是网络层的最重要协议。它为Internet以及其他基于IP的网络上的所有数据通信提供了基本服务。IP的首要任务是:隐藏各种数据传输层之间的差异,并且为不同的网络技术提供一种统一的表示。总的来说,IP实现了如下功能: 提供了无连接的、不安全的数据报服务; 定义了IP数据报是数据传输的基本单元; 定义了IP寻址机制; 在各种互联网络之间路由、转发IP数据报; 验证包的生存期; 分片、组装包; 使用ICMP输出错误。IP的开发思路
15、是,即使有一些传输故障存在,仍能维持两个之间的通信。因此,IP的开发基础是数据报交换原理。IP的头字段如图1:图1 IP首部 4位版本号:表示IP的版本,现有IPv4和IPv6; 4位首部长:表示IP首部长,值域为515; 8位TOS字段:包括3位优先权字段(已废弃),4位TOS子字段和1位未用位(必须为0); 16位IP数据报总长度,包括头部; 16位标志位:为此IP数据报的唯一标志(同一数据报分片后此相同); 3位标志:用于分片于组装的标志位; 13位片偏移:用于确定组装分片的顺序; 8位生存时间:限定路由次数,避免无用数据报长期占用网络资源; 8位协议:标记上层协议类型; 16位首部检验
16、和:首部检验和存放与其中,作用为检验IP头正确性;在Linux系统中IP头部以结构体方式实现,定义在include/linux/ip.h中:struct iphdr #if defined(_LITTLE_ENDIAN_BITFIELD)_u8ihl:4,version:4;#elif defined (_BIG_ENDIAN_BITFIELD)_u8version:4, ihl:4;#else#errorPlease fix #endif_u8tos;_u16tot_len;_u16id;_u16frag_off;_u8ttl;_u8protocol;_u16check;_u32saddr;
17、_u32daddr;/*The options start here. */;3.2 套接字结构分析3.3 Linux下IPv4的实现3.4 DES算法介绍美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改: 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握; DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥
18、的保密为基础; 实现经济,运行有效,并且适用于多种完全不同的应用。 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES/Data Encryption Standard)。 目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥
19、;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核
20、心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。图4 DES流程图通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。DES算法是把64位明文输入块变成64位密文输出块,其流程图如图4:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17, 9,
21、1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,即将输入的第58位换到第一位,第50位换到第2位,.,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例:设置换前的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。经过16次迭代运算后。得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第
22、40位换回到第1位,其逆置换规则如下表所示:40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58 26,33,1,41, 9,49,17,57,25,放大换位表32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 简述 网络 加密 实现 终稿
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。