免费论文查重: 大雅 万方 维普 turnitin paperpass

谈《计算机网络安全》课程安全编程设计

最后更新时间:2024-03-13 作者:用户投稿原创标记本站原创 点赞:29050 浏览:132208
论文导读:
摘要:网络信息传输安全要求保证信息的身份认证性、完整性、机密性,主要通过TCP/IP上增加安全协议实现,具有一定的安全开发能力可以让开发者的网络应用系统更安全,也是高层次网络安全人员应该具有的能力。该文通过协作完成基于CryptoAPI和OpenSSL安全库的开发项目,提高学生对安全协议的理解。
关键词:CryptoAPI;OpenSSL;安全协议
1009-3044(2014)23-5421-03
1 安全基础
计算机网络安全涉及计算机和网络,综合给出其定义:“保护计算机网络系统中的硬件、软件及其数据不受偶然或恶意理由而遭到破坏、更改、泄露,保障系统连续可靠地正常运转,网络服务不中断”,也即满足安全三元组认证性、完整性、机密性,以及不可否认性、抗抵赖性。信息遭受侵害的理由主要有两大方面,计算机系统技术和网络传输技术,对于计算机系统来说,各种系统内资源访问,共享是系统可用、高效的基础,但是又可能被恶意代码利用,如各种木马、病毒等;对于传输通信来说,会发生诸如信息窃听、篡改、重放、假冒等攻击,很大理由是由于TCP/IP协议本身的漏洞引起,而当前应用又必须建立在TCP/IP协议基础之上,可以采取协议各层次上加入身份认证防止假冒、完整性验证防止篡改、数字签名抗抵赖、加密防止窃听等。在实际的应用当中,一般采用防火墙、入侵检测系统、病毒检测技术等提高网络系统的安全性,采用SSL安全协议,IPSec安全协议,PKI公钥基础设施,PGP电子邮件安全等安全协议来提升TCP/IP协议的安全性。
2 教学目前状况
在网络安全的教学过程中,安全相关概念,基本原理,安全服务和机制的介绍,信息安全学基础,安全管理,安全配置等内容占据了课程大量的课时,对于课时不是足够多的学校,网络安全课程涉及的编程内容较少或者干脆不涉及,专门开设安全编程课程的高校较少。本校安全相关课程有信息安全基础和计算机网络安全两门课程,因此可以在计算机网络安全课程中对安全编程进行一些了解与实践。
从技术上来说,安全理由主要由系统和网络引起,因此针对安全的编程也可以分为两大类型,针对系统的安全编程可归结为恶意代码及其防治,主要内容包括系统编程,注册表操作,日志记录分析,操作系统,系统软件安全等内容,如缓冲区溢出,病毒,远程制约技术,浏览器安全等;针对网络传输安全的编程主要基于学与安全协议进行,目前开发趋于标准化,对于关注应用的人员来说可以从底层算法解脱出来,掌握一些实用的安全编程工具对提高安全编程能力显得很重要。
即使对于不从事开发工作的人,通过学习安全编程提高安全能力,也是很有好处的,使用工具过于浮浅,难以深入了解,难以跟上技术变化,而且工具的深入应用也需要扎实的基础,只是学习原理又显得有些枯燥和抽象。通过在已有库的基础上,手工组合模块或集成式的开发,可以加深对基本原理的理解,又不用花费大量时间精力于底层算法,适合于各种编程基础的学习者。
3 常见安全开发包
网络安全开发包的种类很多,实现功能也千差万别,下面介绍一些常见的网络安全开发包:
1) CryptoAPI: Microsoft提供的加密应用程序接口(Cryptography API),可以方便地在应用程序中加入强大的加密功能,而不必考虑基本的算法。CryptoAPI共有五部分组成:简单消息函数(Simplified Message Functions)、低层消息函数(Low-level Message Functions)、基本加密函数(Base Cryptographic Functions)、证书编解码函数(Certificate Encode/Decode Functions)和证书库管理函数(Certificate Store Functions)。其中前三者可用于对敏感信息进行加密或签名处理,可保证网络传输信息的私有性;后两者通过对证书的使用,可保证网络信息交流中的认证性。
2) OpenSSL: OpenSSL 是一个强大的安全套接字层库,《计算机网络安全》课程的安全编程设计由专注毕业论文与职称论文的www.7ctime.com提供,转载请保留.囊括主要的算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。SSL协议提供的安全信道有三个特性:保密性、完整性、安全验证。Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它是一个多用途的、跨平台的工具。OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL应用广泛。OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、命令行应用程序以及算法库,其中算法使用了EVP封装了加密算法,提供统一的接口,大大提高了开发效率和代码的可重用性能。
3) CryptoAPI++: 采用标准C++编写而成,实现了多种公开密钥加密算法、对称加密算法、数字签名算法、信息摘要算法以及其它相关算法,适用于常用的操作系统和开发平台,实现功能比CryptoAPI少一些。
4) Cryptix: Sun公司发布的采用ja语言的关于JCE(Ja Cryptography Extension)的开放源码的API实现
5) 网络数据包捕获开发包Libpcap和Winpcap: libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础,Winpcap是libpcap的Windows版本。
6) Libnids: Libnids是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它具有捕获数据包的功能。同时,Libnids提供了TCP数据流重组功能,所以对于分析基于TCP协议的各种协议Libnids都能胜任.Libnids还提供了对IP分片进行重组的功能,以及端口扫描检测和论文导读:异常数据包检测功能。《计算机网络安全》课程的安全编程设计论文资料由论文网www.7ctime.com提供,转载请保留地址.上一页12
异常数据包检测功能。《计算机网络安全》课程的安全编程设计论文资料由论文网www.7ctime.com提供,转载请保留地址.