论文部分内容阅读
随着网络技术在嵌入式系统中的成功应用,越来越多的嵌入式设备连接到Internet。因为嵌入式系统资源受限的特点,当前广泛应用的轻量级TCP/IP协议栈并没有考虑到网络安全因素,特别是在较低端的嵌入式设备中更是如此,这使得相应的嵌入式系统完全暴露在安全威胁之中。因此,在连接到Internet的嵌入式系统上实现IPsec安全协议势在必行。考虑到低端嵌入式系统主要应用于控制领域,一般不涉及大量信息的传递,且部分嵌入式平台对网络数据传递的速率要求并不十分明显,这些特点使得在嵌入式系统上应用IPsec实现网络安全保护成为可能。本论文重点讨论如何在较低端的嵌入式平台上实现轻量级的IPsec协议栈,将其嵌入到现有的嵌入式网络设备上,或者添加到新的嵌入式设备中,使之无缝衔接。本论文以lwIP协议栈为支撑,对标准的IPsec进行裁剪,在设计SPD和SAD数据库查找时采用静态添加方案,在内存管理上采用零拷贝技术和动态调整数据包大小的方案,在算法设计上采用就地处理的方案来提高代码的执行效率和内存空间的利用率。为了能够应用于现有设备,采用IPsec虚拟设备的方式将整个代码嵌入式到现有软件系统中。整个系统实现了IPsec的隧道模式下的ESP和AH数据包封装方法、并提供了SHA1和MD5认证算法和DES和3DES加密算法实现代码,整个IPsec代码大小在120KB以内。最后在以硬件平台为S3C2440(ARM9内核)为CPU和PIC16F877(16位单片机)为CPU,操作系统为ucOSIIV2.80的嵌入式平台上进行整体测试。在10M以太网接口、CPU主频设置为20M时使用AH封装的数据包(最大为1280byte)往返回时间在120ms以内,使用ESP封装的数据包(最大为1280byte)往返时间为1000ms以内,因此,基本满足特定的嵌入式设备对网络传输效率和数据处理能力的需求。基于以上讨论,本论文所设计的IPsec协议栈能够嵌入到现有的部分嵌入式系统中,并能够应用于新型嵌入式设备中,为其提供网络安全服务,在一定程度上解决了嵌入式系统中的网络安全问题。