网络与信息安全课程设计报告优质资料_第1页
网络与信息安全课程设计报告优质资料_第2页
网络与信息安全课程设计报告优质资料_第3页
网络与信息安全课程设计报告优质资料_第4页
网络与信息安全课程设计报告优质资料_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络与信息安全课程设计报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)

网络与信息安全课程设计报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)《网络与信息安全》课程设计报告班级:07网络工程(3)班学号:姓名:韩立伟题目:加密软件的设计评阅:成绩:2010-1-RSA算法加密软件的设计摘要:分析RSA算法的应用现状,论证文件加密应用RSA算法的可行性和意义。设计一套完整实用的RSA文件加密解决方案,具体编码实现。对RSA算法进行研究,从常规RSA算法出发,用C#实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。关键词:RSA,RSA算法,文件加密,加密成文本目录第1章RSA应用现状及应用于文件加密的分析……………….41.1RSA算法介绍与应用现状………….41.2RSA应用于文件加密的分析……….51.2.1文件加密使用RSA的可行性51.2.2文件加密使用RSA的意义6第2章RSA文件加密软件的设计与实现………72.1需求分析与总体设计72.1.1功能分析72.1.2工程方案选择82.2各部分的设计与开发102.2.1实现RSA加密算法的C#核心类库103.2测试数据与分析改进143.2.1密钥生成测试143.2.2数据输入输出测试163.2.3加密解密测试16总结与体会……….17致谢……………….17参考文献…………17前言RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:RonRivest,AdiShamir和LeonardAdleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2007年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(SecureElectronicTransactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动和存储卡的验证功能芯片等,大多数使用RSA技术。当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法RSA应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。整个工程的分层设计,给引用移植和后续开发带来便利。第1章RSA应用现状及应用于文件加密的分析1.1RSA算法介绍与应用现状RSA算法可以简单叙述如下:<密钥生成>取素数p,q,令n=p×q.取与(p-1)×(q-1)互素的整数e,由方程d×e=1(mod(p-1)×(q-1))解出d,二元组(e,n)作为公开密钥,二元组(d,n)作为私有密钥.<加密解密>b=aemodn,c=bdmodn.附录中给出了证明a=c(modn).RSA公开密钥加密算法自20世纪70年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。RSA在软件方面的应用,主要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。日常应用中,有比较著名的工具包OpenSSL(SSL,SecuritySocketLayer,是一个安全传输协议,在Internet上进行数据保护和身份确认。OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的EricYang等发起编写的。相关详细介绍见:///about/)。OpenSSL应用RSA实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE浏览器,自然也实现了SSL协议,集成了使用RSA技术的加密功能,结合MD5和SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用RSA技术。RSA更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台j2ee。事实上,在j2se的标准库中,就为安全和加密服务提供了两组API:JCA和JCE。JCA(JavaCryptographyArchitecture)提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器;JCA由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是java.security包,此软件包包含的是一组核心的类和接口,Java中数字签名的方法就集中在此软件包中。JCE(JavaCryptographyExtension)在JCA的基础上作了扩展,JCE也是由几个软件包组成,其中最主要的是javax.crypto包,此软件包提供了JCE加密技术操作API。javax.crypto中的Cipher类用于具体的加密和解密。在上述软件包的实现中,集成了应用RSA算法的各种数据加密规范(RSA算法应用规范介绍参见:://rsasecurity/rsalabs/node.asp?id=2146,这些API内部支持的算法不仅仅只有RSA,但是RSA是数字签名和证书中最常用的),用户程序可以直接使用java标准库中提供的API进行数字签名和证书的各种操作。单机应用程序使用RSA加密尚比较少见,例如使用RSA加密任意一个文件。1.2RSA应用于文件加密的分析文件加密使用RSA的可行性通过1.1节的论述,不难看出RSA当今的应用多在于数字签名和证书等方面。之所以只应用于这些短小数据的加密解密,是因为RSA算法加密极慢,速度是DES对称密钥加密速度的千分之一左右。正是因为这样,把RSA应用于普通文件加密的想法一直被忽略。通常文件被想象成大数据块,但是实际上在日常应用中,有些极其重要的文本资料是并不太大的,比如因担心遗忘而用普通文本记录的银行帐号和密码、不应被陌生人知道的重要号码、几千字节大的重要小图片等。其实从一个简单的角度来说,既然RSA用于数字签名可行,那就完全可以用于同样大小的普通文件。对于较大的文件,如果分成与数字签名同样大小的段(这里假设数字签名较短,不分段一次计算加密完成),分开的各段逐一进行加密运算,那所需要的时间也只是按文件大小线性的增长。通常数字签名为几十字节,加密运算并不需要很长的等待,这就说明对于几百字节或一两K字节大小的文件来说,如果进行RSA加密,并不会是非常漫长的工作。当然,如果文件更大,加密就显得十分漫长了。比如按前面叙述的45毫秒大数运算程序推理,加密1M字节大小的文件需要约1天的时间。所以,要在普通PC用几百位以上的长密钥RSA加密文件,文件不能过大,一般可以接受的上限是几KB。如果要在较短时间内加密大文件,需要缩短密钥长度以减小运算量,这将带来安全性隐患。本文的第3章将根据实际调试好的软件,测试给出具体的时间消耗数据。例如,在一台配置为AMDAthron2800+,外频333MHZ,物理内存512MB的PC上测试实现的软件,以560bit的n逐字节加密一个1KB大小的文件需要55秒。通常记录如银行帐号密码等重要数据的文本文件大小不足百字节,加密只需要数秒钟。所以对于小型文件,进行较长密钥的RSA加密是完全可行的。文件加密使用RSA的意义如节所述,小型文件加密可以使用RSA。比如,因担心遗忘而用普通文本记录的银行帐号和密码、不应被陌生人知道的重要号码、几千字节大的重要小图片等。可行的方法未必是必要的,本小节讨论何种文件适合用非对称密钥加密,即RSA加密文件的意义所在。对于前面叙述的带有重要信息的小型文本和二进制数据的维护,①如果不加密,将无法放心的保存在计算机上,尤其是连网的或机房里的公共计算机。②如果借助功能强大的大型多用户数据保护程序维护几个小型文件,显得十分烦琐,好比杀鸡用牛刀。③如果采用对称密钥加密,即加密解密的密钥相同,只适合部分情况。在某些情况下,使用对称密钥加密文件,交流使用不够方便。比如,张三由于某种原因,需要将自己的某个文件在公共计算机上留给李四,而不希望别人看到内容。如果采用对称密钥加密,张三和李四提前约好一个密码就可以。但是如果张三想要在同一台公共计算机上再留一个秘密文件给王五,而不希望别人看到,就要和王五另外约定一个密码。如果需要在这台公共计算机上留十个文件给不同的人,自己就要记和十个人约定好的密码,这样以来交流起来不够方便,因为对于张三,要自己维护太多的密钥。非对称密钥(公开密钥方式)恰好解决这样的问题。只要大家都在这台计算机或这台计算机可以访问到的地方,留下自己的公开密钥,一切就变的容易解决了。张三要留给李四的文件,就用李四的公开密钥加密,要留给王五的文件,就用王五的公开密钥加密。李四和王五只要把留给自己的文件用自己的私有密钥解密,就可以得到留给自己的文件了。显然,非对称密钥体制更适合多用户交流,而将这种加密方式直接应用于文件加密,使我们在公开场合的交流更加灵活方便。一种更实际的情况是,我们想通过Internet上的公众论坛或邮件发送重要保密信息给某人。例如发送一个银行帐号和密码给某人。这种情况要保证安全,在当今互联网络上是比较棘手的。①如果用公众论坛直接留言给指定用户,论坛管理员和服务器管理员通常有方法看到数据。②如果发送邮件,虽然传送过程是加密的,但是密码毕竟是由邮件服务器维护,所以系统管理员通常也有办法看到内容。问题的关键在于我们所有的数据包括密钥保存在服务器之上。在这种情况下,我们需要使用公开密钥方式,并自己维护私有密钥。RSA文件加密可以灵活的解决这些问题。例如,我们可以将任意一个文件用某人的公开密钥加密变换成一段可以复制粘贴的文本,然后粘贴在公众互联网上,对方只需把需要解密的文本复制保存成一个文本文件,在本地机用自己的私有密钥解密即可。我们可以将自己的私有密钥通过DES加密后保存在自己的移动磁盘上,使用的时候只要将其解密读取即可,用完后立即从当前操作环境清除。这样,我们自己维护自己的私有密钥,利用简单并且公开的方式,可以安全传送任意小型数据,包括一切二进制文件。所以,对于使用小型文件进行数据交换的情况,更好的方案是通过一个小型应用程序对这些文件进行非对称密钥加密。为了适合前面叙述的在公共BBS与特定的某人交流重要保密信息的情况,加密生成的数据应该是文本,这样可以方便复制粘贴。综上所述,使用前面叙述的方式加密文件有两点重要意义:①应用非对称密钥加密任意文件,使非对称密钥的应用不仅仅局限于互联网络。②非对称加密后的数据变换成文本,使得我们可以通过几乎任何方式安全传递任意文件,比如在只有的环境使用xml方式。第2章RSA文件加密软件的设计与实现2.1需求分析与总体设计功能分析经过节的论述,我们可以将对软件的要求总结如下:① 可以按要求的位数生成非对称密钥。② 可以保存密钥和装载密钥,密钥保存为纯文本。③ 可以用指定密钥以RSA算法加密任意一个文件,加密生成的数据为纯文本。④ 可以装载加密过的文件,并用指定的密钥解密还原出原文件。⑤ 提示信息完整、操作舒适、图形界面雅观按上述描述,给出UseCase和Statechart如图2-1。图2-1本项目的UseCase和Statechart根据以上分析,一般来说,需要进行编码的程序有①RSA密钥生成②RSA加密解密③任意文件的读取和保存操作④各环节必要的数据编码转换⑤图形操作界面。工程方案选择结合现有的常见开发模式综合分析,有多种实现方案,下面陈述其中几种,并分析选择一种解决方案,并给出工程框架。(1.) 整个工程使用java平台实现RSA密钥生成、RSA加密解密的功能实现十分简单,因为标准库中集成几乎所有功能,不需要从RSA算法出发进行编码。在j2se标准库中,javax.crypto中的Cipher类用于具体的加密和解密,java.security包直接提供了数字签名的相关方法。因为有强大的标准库支持,文件的读取和保存操作、各环节必要的数据编码转换、图形操作界面的实现也很简单(使用java.iojava.awt或javax.swing等包),如果结合一种快速开发的IDE,比如JBuilder,整个软件可以在很短的时间内编码完成。如果不考虑非PC设备和机器效率等问题,java平台几乎是最佳解决方案。但是缺点也很明显,如果想把核心算法和功能应用到非PC设备(例如嵌入式手持设备),则要求设备上有支持前面提及的加密类库的CVM;对于在PC上运行,JVM的数据运算速度要远远落后于本地化代码在PC上的运算速度,本软件需要进行大量运算,这一点不适合由java完成。(2.) 整个工程使用.Net平台实现与使用java平台完全类似,加密等有.Net基础类库的支持,不需要大量编码实现,另外由于VisualStudio的强大便利,这种规模的工程可以十分迅速的完成。缺点是只能在有微软.NetFramework的环境运行,在Windows操作系统,.NetFramework的机器效率好于java平台,但是相比于本地化的代码,还是十分拖沓的。(3.)整个工程使用Windows本地化程序实现在不应用Windows或第三方现成组件的情况下,需从RSA算法出发编码实现。其他各功能的设计开发,如文件操作、数据编码转换和图形界面等,可以使用ATL、MFC或WindowsAPI实现。这种工程几乎是为Windows量身订做,执行效率最好。但是对于非PC设备,只能方便的移植到运行Windows嵌入式操作系统的设备,向其他操作系统移植困难,需要重新编写大量代码。通常解决本地化代码的移植问题,都是使用C++标准库,即功能尽量多的由C++标准库完成,这样在移植的时候,只需要重新编写操作系统相关的代码即可。这种开发方式比起前两种,缺点就是设计开发模式陈旧,代码烦琐,不方便维护;流行的.Net上的语言引用各种功能比较麻烦。(4.) 考虑可能的复用,针对具体情况分层开发实现综合考虑复用性、可维护性和执行效率,较妥当的方法是分层设计。核心的RSA算法由C++类库实现,针对用户所在的操作系统封装成本地化组件。其他各功能如文件操作、数据编码转换和图形界面等,由托管代码借助虚拟机平台标准库的功能快速开发实现(本文针对选用.Net上的C#论述,选用java由JNI或其他方式调用本地组件,设计模式上是完全类似的)。这种开发方式,核心功能集中在最底层,在不断的封装中针对具体环境对组件功能不断扩充,任意一个层面的封装都可以被直接应用到其他项目,比如在Web使用以前为某窗体程序写的组件、给嵌入式设备交叉编译算法库等。但是每一层都需要依赖底层的所有组件。图2-2形象的说明了分层设计给复用带来的好处。选用第四种设计方案,上层使用C#,底层算法使用C++,可以由一个VisualStudio解决方案管理,给调试带来极大的方便。整个工程分四层,实现RSA加密算法的C++核心类库、封装C++核心类库的DLL组件、引用DLL的.Net类、实现文件操作功能的.Net窗体应用程序。2.2节详细介绍各部分的设计与开发。考虑到工作量,本软件加解密数据没有严格遵从RSA标准PKCS#1,而是在满足设计要求的前提下,以一种尽可能简单的方式实现加密和解密。2.2各部分的设计与开发实现RSA加密算法的C#核心类库(1.)大数存储和四则运算根据RSA算法的要求,为了实现大数的各种复杂运算,需要首先实现大数存储和基本四则运算的功能。当今开源的大数运算C++类有很多,多用于数学分析、天文计算等,本文选用了一个流行的大数类型,并针对RSA算法和本项目的具体需要对其进行了扩充和改进。下面简单介绍大数存储和四则运算的实现原理。最先完成的功能是大数的存储,存储功能由flex_unit类提供。和普通的类型一样,每一个大数对应一个flex_unit的实例。类flex_unit中,用一个无符号整数指针unsigned*a指向一块内存空间的首地址,这块内存空间用来存储一个大数,所以可以说,大数是被存储在一个以unsigned为单元的线性组中。在方法voidreserve(unsignedx)中通过C++的new来给a开辟空间,当flex_unit的实例中被存入比当前存储的数更大的数时,就会调用reserve来增加存储空间,但是当flex_unit的实例中被存入比当前存储的数更小的数时,存储空间并不会自动紧缩,这是为了在运算的时候提高执行效率。结合指针a,有两个重要的无符号整数来控制存储,unsignedz和unsignedn,z是被分配空间的单元数,随数字变大不断增大,不会自己紧缩,而n是当前存储的大数所占的单元数,组成一个大数的各unsigned单元的存入和读出由set、get方法完成,变量n是只读的。类型unsigned在32位机是32位的,所以对于flex_unit这个大数类来说,每个大数最大可以达到个字节长,这已经超过了32位机通常的最大内存容量,所以是足够进行RSA所需要的各种运算的。图2-3形象的说明了大数存储类flex_unit对大数的管理。(2.)寻找素数•Eratosthenes筛选与Fermat素数测试首先要说明的是,事实上,当今的计算机还不足以聪明到立刻计算生成一个很大的随机素数。一般来说,要得到100%准确的大素数,都是通过查已经计算好的素数表的方式。但是素数表的方式给RSA的安全性带来隐患,因为攻击者如果得到了密钥生成时所使用的素数表,攻破RSA加密的难度将会大大降低。本程序起初使用素数表的方式,后来考虑到安全性问题,生成密钥的方式改为随机计算生成。这样,短时间内如果要得到一个100%准确的大素数是很困难的,只能以尽可能高的概率得到一个大素数。经过.1和小节,所有的大数运算功能都准备完毕,在此基础上,本工程将寻找素数的功能置于类Prime_factory_san之中。外部只要调用本类实例的成员vlongfind_prime(vlong&start)就可以以大数start为起点,得到一个数,这个数是素数的概率很大。下面介绍寻找素数的原理。首先在需要寻找素数的整数范围内对整数进行筛选,把所有确知为合数的整数排除出去。程序中构造了一个数组b[],大小为一轮素数搜索的范围,记搜索范围大小为SS。b[0]到b[SS]分别对应大数start到start+SS。b[]中所有元素先初始化为1,如果对应的大数确定为合数,就将b[]中对应的元素置为0。最后,只需对那些b[]中为1的元素对应的大数进行比较确切的素数测试即可,只要被测试的数是素数概率达到一定门限,就判这个数为素数。这样做既保证了这段程序可以在短时间内执行完,又保证了可以以比较高的准确度得到素数。函数find_prime先把b[]的所有元素赋值为1,然后按参数start给标记数组b[]的各元素赋0值。下面描述标记数组b[]的赋0值算法。首先,在类Prime_factory_san被构造的时候,构造函数中从2开始搜寻一些小素数,记录在数组pl[]中,共记录NP个。这些小素数用来当作因子,他们的倍数将被从大素数搜索范围内剔除(即把数组b[]的对应元素标记为0),剔除的程序代码如下。for(i=0;i<np;i++){unsignedp=pl[i];unsignedr=start%vlong(p);if(r)r=p-r;while(r<SS){b[r]=0;r+=p;}}这里利用start对各小素数因子p求模的办法,得到当前p在素数搜索范围内的最小倍数在b[]中的对应位置,将其剔除后,不断后移p个位置,将这个小素数因子p在搜索范围内的所有倍数全部剔除,如图2-5所示。在完成对所有小素数因子的类似操作后,他们的倍数在搜索范围内的位置标记b[r]被全部标记为0。实际上这就是Eratosthenes筛选法。数轴数轴素数搜索范围start到start+SS小素数因子p搜索起点start对应b[0]距离start:p-(startmodp)b[x]b[x+p]b[x+2p]b[x+3p]b[x+4p]b[x+5p]:剔除。b中对应元素标记为0设在刚执行到while时r>0x=r图2-5在素数搜索范围内剔除小素数因子p的倍数接下来,对可能为素数的数(即标记数组b[]中值为1的元素对应的数)进行素数测试。数论学家利用费马小定理研究出了多种素数测试方法,本程序使用一种最简单的方式,直接应用费马小定理。取一个与p互素的整数A,对于大素数p来说应该满足Ap-1modp=1,但是我们把p代入一个大整数,满足这个关系的数不一定是素数。这时我们改变A,进行多次测试,如果多次测试都通过,这个数是素数的概率就比较大。按这种原理,我们编写素数测试函数如下。intis_probable_prime_san(constvlong&p){constrep=4;//测试次数constunsignedany[rep]={2,3,5,7};//测试用的底数for(unsignedi=0;i<rep;i+=1)if(modexp(any[i],p-vlong(1),p)!=vlong(1))return0;//modexp是幂模函数,按上一小节叙述的算法编码。//这里modexp计算any[i]p-1modp。return1;}测试通过,程序就判定这个数为找到的素数,将找到的素数返回给上层程序使用。在这里其实有一个不可忽视的问题,就是得到一个测试通过的合数。对于这种情况,RSA算法加密解密是否还可以实现,是一个需要从数学角度论证的问题。因为得到素数的概率很高,经过一整天的生成密钥和加密操作,没有发现失败的密钥,所以本文暂没有对这个问题进行讨论。综上所述,总结素数寻找的流程,如图2-6所示。开始开始按start参数初始化标记数组b[SS];i=0计数i<SS?b[i]==1?判定为素数?start+=1;i+=1结束返回素数寻找结果startYesYesYesNoNoNo图2-6函数find_prime寻找素数的流程框图得到了大素数,即RSA算法中的p、q,我们就可以计算出密钥,进行加密等操作了。3.2测试数据与分析改进密钥生成测试生成密钥运算最费时的工作是寻找素数。如.3小节所叙述,寻找素数是一项颇为复杂的工作,其速度可能受以下变量的影响:RSA加密需要的n的位数(寻找素数的整数起点大小start)、大素数测试时底数A的个数(针对一个整数的素数测试次数)、小素数因子p的个数NP、一轮寻找遍历的整数个数SS等。其中最具影响力的因素显然是RSA加密需要的n的位数。以下对各变量分别进行测试,暂且忽略操作系统调度对测试的影响。(1.)测试加密使用的n位数对耗时的影响即在固定A、NP、SS等变量的情况下,改变加密位数n,测试密钥生成的时间消耗情况。测试时,A取4个值,分别为2、3、5、7,NP取200,SS取1000。测试PC配置为CPUCR1.7GHZ/外频100MHZ/物理内存512MDDR/MSI6398主板845Ultra-AD芯片组,下文测试中,未说明PC配置的也都在同一PC完成,不再重复。在较常用的1024位RSA加密时,用本软件的算法,测试时最长出现了17秒多的计算,虽然这对于用户来说时漫长的等待,但是考虑到安全性,还是舍弃了素数表和密钥库的方案,而使用大素数随机生成,用户可以把生成的私钥单独加密保存在可靠的存储空间内,以获得更高的安全性。表3-1仅能从实验的角度直观理解,具体到一次密钥生成的运算,所需要的时间是很不确定的,比如,一次1280位的密钥生成,需要的时间完全可能比一次896位的密钥生成时间短,由于素数分布规律非常奥妙,加上测试运算需要的时间颇长,这里很难给出对于一个具体位数的密钥生成所需时间的统计模型。另外需要说明的是,表3-1的加密位数在实际软件设置时并不严格。这是因为,实际作为参数设置的是两个大素数的搜索起点。如果随机生成的起点整数大小比较接近更长一位的整数的话(例如FFFF很接近10000),向后寻找所得到的素数很可能长出一位。而且,两个k位长的整数相乘的结果也未必是2k位,比如100*100=10000,相乘结果是2k-1位。所以,在表3-1实际测试填写时,加密位数可能会有几位的差距,但是这不碍大局。(2.)测试底数A对耗时的影响为了保证生成素数的成功率,A至少要有4个。如果少于4个,则素数测试失败的可能性比较大,经过测试发现不可以忽略。.3小节曾经提到,如果素数测试通过了合数,就可能产生错误的密钥,使加密解密操作失败。所以测试A的时候,最少有让其取4个值。而取6个值以上,测试算法失败的概率已经非常小,没有什么实用意义,所以这里测试A从4个到6个的情况。固定其他变量:n取512位和1024位(即素数搜索起点位数设置为32和64),NP取200,SS取1000。从理论上说,对于同样的起点,素数测试次数越多,需要的时间就越长。可以看出,对于512bit密钥,A取从4个到6个,对随机密钥的产生时间影响不大。但是对于较长的1024bit密钥,A取4个和A取6个值,密钥生成时间产生明显差距,A取6个值时生成随机密钥需要的平均时间比A取4个值时长数秒之多。为了同时保证密钥生成速度和素数的准确程度,我们在实际使用时取A为5个值,即2、3、5、7、11。(3.)测试小素数因子个数NP对耗时的影响固定其他变量:A取5个分别为2、3、5、7、11,n取512位和1024位(即素数搜索起点位数设置为32和64),SS取1000。由于测试时间漫长,测试的数据量比较有限。这里并没有看出什么明显的规律。而且通过本次测试还可以发现,表3-3中NP为200,n为1024bit测试的一行,变量设置和表3-2中A设置为2、3、5、7、11,n为1024bit的一行完全一致(对应还有一行n为512bit的数据变量设置一致),但是耗时平均差距相差4秒之多(512bit的一行差距不到1秒)。可见对于长密钥,同一种情况测试5个数据取均值并不能精确的说明问题,除非测试得到的数据有很明显的大幅差距,例如前面两段测试n的位数和A的个数的耗时影响情况。这里也正是因为前面提到的,对于大整数来说,可能出现在较长一段区间中没有素数的情况,使得同样设置的各次密钥生成耗时的可能范围很大,再加上大素数分布规律奥妙,观察5次测试结果的均值对于不很明显的规律显得意义不大。实际使用中,设置NP值为200。(4.)测试SS对耗时的影响同样未发现明显规律,在使用中设置SS为1000。数据输入输出测试主要测试文件的输入输出性能。实际上就是测试.Net基础类库中实现文件操作的System.IO中的StreamReader、StreamWriter等类的读写性能。直接在VisualStudio调试一个简单的C#文件读写程序,得到本软件中使用的文件操作方法的执行性能。在配置为CPUCR1.7GHZ/外频100MHZ/物理内存512MDDR/MSI6398主板845Ultra-AD芯片组/UTA1332M缓存硬盘的PC上,读入一个100KB的文件仅需要35毫秒,写出一个100KB的文件需要29毫秒。这样的时间消耗,相对于繁复的RSA计算所消耗的时间来说,是完全可以忽略不计的。加密解密测试进行对任意文件加密与解密的测试,这里给出几组从不同角度进行测试的数据。下面除了第3组测试,其他都是把文件逐字节进行RSA运算,逐字节加密是本软件的默认设置。加密时使用的测试文件、各密钥文件以及加解密后生成的文件可以从以下地址下载:://3/www/download/RSAtestfiles.rar内附说明。(1.)用同样的密钥对不同大小的文件公钥加密、私钥解密,各自消耗的时间与待加密文件大小的关系随机生成两组密钥,一组n长512bit,一组n长1024bit。密钥具体数据见附录(n的实际位数有微小差距)。分别对一组不同大小的文件进行公钥加密。统计消耗时间情况如表3-4所示,统计数据以曲线表示如图3-1。表3-4待加密文件大小与加密时间的关系(时间单位:秒)n位数文件大小50Byte100Byte150Byte200Byte250Byte512bit公钥加密4.85379.763614.320518.908423.5322512bit私钥解密9.545218.920728.128737.955646.57941024bit公钥加密12.611124.566436.589548.628860.65031024bit私钥解密40.008479.2507120.4443158.0028198.365总结与体会RSA应用于文件加密适合交流管理小型文件,将任意文件以非对称密钥加密成文本可以对其更方便的交流和管理,有广阔的开发前景。本项目应用的设计模式兼顾执行效率和可复用性。整个项目开放源代码和各种开发资料,便于引用和继续开发。应用本程序可以方便的在公众论坛等环境交流要求高度安全的各种数据,包括任意二进制和文本文件。通过对RSA文件加密的课程设计,学习到了很多关于密码学的有关信息,为今后的工作有很大的帮助。也对如何设计一款好性能的软件有了进一步的认识和了解。在课程设计报告的过程中老师、同学们的热心指导给了我非常大的帮助。对此,我非常感谢他(她)们!致谢在本次课程设计中,我的代课老师吴老师给了我们学生很大的帮助,她在课程实验时为我们认真辅导。吴老师认真负责的工作态度,严谨的治学精神,深厚的理论水平和丰富的实践经验真的使我们学生受益匪浅。在他的指导与帮助下,我的加密软件一步一步的完成,在此,我想借此机会对她表示深深的感谢!同时,我还要感谢我的同学和我的室友对我的帮助!参考文献段云所魏仕民唐礼勇陈钟《信息安全概论》高等教育出版社卢开澄《计算机密码学》清华大学出版社Saloman丁存生等译《公钥密码学》国防工业出版社蔡乐才著《应用密码学》中国电力出版社赵振江连过卿《密码编码学》电子工业出版社网络安全课程设计报告撰写格式与要求一、课程设计报告格式要求1、采用统一的封面。2、打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为18磅);字符间距为默认值(缩放100%,间距:标准)。二、报告内容要求针对某一公司,企业内部安全状况进行分析,给出信息安全方面的建议,并给出具体的实施方案。某校园网络安全某银行办公局域网的安全实施方案某中小企业网络安全设计课程设计报告内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。计算机与信息工程学院《网络安全课程设计》报告(2021/2021学年第二学期)课程设计名称宾馆管理网络设计专业计算机科学与技术班级13计科(信息)学号08060119姓名张奥然成绩类别成绩个人考勤(20)实践成绩(40)总结报告(40)总成绩(100)等级制成绩2021年5月10日目录(四号黑体)目录根据word生成(小四宋体)一、目标与要求(四号黑体)1。1课程目标与意义(小四黑体)通过本次课程设计,充分锻炼操作设备的能力,熟悉设备环境,练习操作技巧。为今后成为网络管理员起到奠基的作用,在学习过程中具有一定的意义。力争在整个课程设计的阶段,认真体会框架设计的思想,完成为宾馆的局域网设置.,大力夯实自己的专业基础,加强基本知识和基本技能,充分投入到项目设计的实际应用中来吗,为日后的学习和将来的就业做好充分的准备.(内容为小四宋体,行距固定值18磅)1。2课程内容与要求利用服务器,路由器,交换机完成小型局域网设计。在设计中,利用所学的网络知识配置外部及内部的框架,复习并充实自己的网络知识与能力。熟悉路由器和交换机的工作原理,调试方法,内部组织结构,连接及配置方法,以及IP地址的设置和使用。1。3设计与实验方式在计算机上设计模拟的网络拓扑结构,并进行小型的测试.在利用实际的模块进行操作,完成实验。以确保系统的稳定性和可行性。二、选题需求分析2。1选题来源与意义选题:宾馆管理网络设计随着网络时代的日益发展和计算机技术的日益普及,宾馆的管理也逐渐趋于网络化,由于其自身的特殊结构,宾馆的网络拓扑设计显得尤为重要,结构设计的巧妙可以使整体的管理变得容易。随着信息技术的飞速发展,网络在人类的工作和生活中的作用与日俱增。传统的商务活动在与互联网结合后,网络技术为商务活动在时间和空间上提供了极大便利,诞生了宽带上网、移动办公、电子商务等多种趋势。这些新的趋势也对酒店行业提出了新的要求,酒店行业的信息化水平应当与时俱进.现代化的酒店需要为客户提供包括住宿、餐饮、娱乐、会议、办公、网络等在内的全方位服务,具备全方位智能化服务的特点。在此过程中,首先就是为酒店搭建一个高效、灵活、可靠的基础网络环境。酒店网络作为整个酒店的信息化管理、服务的基础,必须满足顾客随时随地接入互联网的要求,以提升酒店的现代化管理水平和整体形象。宽带接入的普及和无线技术的成熟发展为实现这一目标提供了重要支持.2.2用户现状分析宾馆为出差,旅行人员提供的方便住宿环境,但同时也存在着许多安全上的隐患,在入住人员的管理上存在着漏洞和不足.这一切都需要通过网络进行加强管理,从而完善宾馆的管理.在内部管理上,网络的进入可以充分帮助管理人员及时了解入住人员的相关信息,做好充分的准备,做到有备无患,同时顾客也可以通过网络系统查询相关的住宿信息,及时选择入住地点,节省自身的时间,从外部上看,宾馆通过网络结构可以与外界物流联系,合理调配自己的物资储备和硬件设施,同时还可以为顾客提供上网条件,满足其办公或娱乐的需求,总而言之,宾馆的网络是必不可少的,也是切实需要的.2。3网络需求分析作为宾馆自身的网络设计,它应该存在本身的局域网和与外部相连接的广域网。大概需要2名的网络管理人员和1名机器维修人员,其可以自己占用独立的宽带,也可以与其他单位共用宽带。在外部网络的连接上,需要连接到机场,车站,码头,超市等相关单位,从而获取资源信息。结合有线网络的固有优势,灵活发挥无线技术的优势,综合规划酒店的整体网络环境建设,是酒店行业紧跟商务发展潮流与时俱进的重要支持和强大动力.在宾馆的内部,要确保各个部门都能相互连接,互相通信。综合为客户提供服务。2。4软件硬件需求从软件上看,其包括网络操作系统(windows,linux,unix),防火墙,windows组件(ftp。dns.dhcp等等)和其他网络组件。从硬件上看,大致需要20台主机,2台路由器,4交换机及网线若干。三、网络总体规划3。1网络总体规划正文要有整体结构框图、拓扑图、VNP图图3.1网络拓扑结构图(图表序号为五号宋体)该图介绍了宾馆的基本网络框架结构,大致可分为内部网络和外部网络,内部网络上可分为部门子网和客户子网。部门子网主要管理前台,洗衣房,行李栈,餐厅等分属部门;客户子网主要负责管理房客的上网管理及与外部的信息交流.外部网络主要连接到机场,车站,码头及超市等与宾馆相联系的关系单位。3.2网络模块关系正文图3.2网络模块图如上图所示,当线路进入二层时,经交换机分配可分为5条分支,分别连入客房1至客房5的5台主机.各模块之间的关系图、较大的主要模块内部的结构图3.3网络布线规划正文201房间走廊202房间203房间204房间205房间总机房图3.3网络布线图如上图所示,当线路进入二层时,首先通过总机房,在经交换机分线,分至201—205房间.整个房间约占300平方米左右,所有连线均为交叉线。经地下连入各个客房。用户环境现场情况,面积多大,如何布置,如何连接、有线还是无线,布线规划设计四、网络硬件设计4.1服务器设计www,ftp。Dns,windows,linux,unix,netmare作为整个网络拓扑的设计,根据宾馆自身的情况和使用的需求。整个服务器共需3部分组成,包括Web服务器,ftp服务器和dns服务器(一)WEB服务器:WEB服务器也称为WWW(WORLDWIDEWEB)服务器,主要功能是:提供网上信息浏览服务。由应用层使用HTTP协议,HTML文档格式,浏览器统一资源定位器(URL)组成。WWW是Internet的多媒体信息查询工具,是Internet上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。选择使用WEB服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等.主要的WEB服务器包括:(1)MicrosoftIIS:IIS是允许在公共Intranet或Internet上发布信息的Web服务器.(2)Apache:Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。(3)BEAWebLogic:BEAWebLogicServer在使应用服务器成为企业应用架构的基础方面继续处于领先地位。综上分析,并结合宾馆的多方面因素,应选择MicrosoftIIS服务器,它的价位和性能都较适宜宾馆使用。(二)FTP服务器:FTP服务器就是利用FTP协议(即文件传输协议)在网上传送文件的服务器。由于宾馆自身业务及入住房客对外界信息的需要,安装FTP服务器是必须的。一般来说.用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容。FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。FTP服务器现在流行使用的是:(1)Serv-U:它是在windows操作系统下使用最广泛的一种版本.1)支持3x/9x/ME/NT/2K等全Windows系列.2)可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等。3)支持SSlFTP传输,支持在多个Serv—U和FTP客户端通过SSL加密连接保护数据安全等。(2)VsFTP:它是在linux操作系统下使用最广泛的一种版本.1)它是一个基于GPL发布的类Unix系统上使用的FTP服务器软件。2)VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2。4.*的内核,在千兆以太网上的下载速度可达86MB/S。3)VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据RedHat的Ftp服务器(ftp.redhat)的数据,VSFTP服务器可以支持15000个并发用户。(三)DNS服务器:DNS系统是一个域名解析系统,它为Internet上的主机分配域名地址和IP地址。DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个DomainName,而Server必须要回答此DomainName的真正IP地址.4.2交换机设计主要写神州数码,华为,思科交换机:网络节点上话务承载装置、交换级、控制和信令设备以及其他功能单元的集合体.最常见的交换机是以太网交换机。工作在数据链路层。按照层数区别可分为二层交换机和三层交换机.二层交换机二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。三层交换使用IP的设备A——-——三层交换机———-—使用IP的设备B根据宾馆的需要和交换机的功能种类,选购交换机时应保证所买的交换机具有简单的QOS保证、安全机制、支持网管策略、生成树协议、VLAN和链路聚合等功能.现在市面上主要的交换机种类有华为,思科,TP—LINK等。思科交换机产自美国,是当今世界性能最好的交换机。但价格偏高。华为是国产品牌,在世界上也是知名品牌。性能较位出色。TP—LINK的交换机,性能一般,但价位适中。综上各方面,应选择TP—LINK的交换机作为宾馆的交换机.4。3路由器设计主要写神州数码,华为,思科路由器是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备.其工作在网络结构的第三层。路由器是互联网的主要节点设备.路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路.路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网.路由器只接受源站或其他路由器的信息,属网络层的一种互联设备.按照路由器的结构区分,可分为有线路由器和无线路由器.在选购路由器时,应注意安全性,控制软件,网络扩展能力,网管系统,带电插拔能力。现在市面上主要的路由器生产商有:思科,华为,TP-LINK,ALPHA经市场情况分析,宾馆在安装路由器时应选择TP-LINK的路由器。由于它价格低廉,也可以满足宾馆的使用需求。4.4防火墙与网络安全设计硬件防火墙,软件防火墙,其他杀毒软件防火墙(英文:firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过.防火墙可以是一台专属的硬件也可以是架设在一般硬件上的一套软件。防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件.防火墙的作用:入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机.你可以将防火墙配置成许多不同保护级别。防火墙的功能:防火墙最基本的功能就是控制在计算机网络中,不同信任程度区域间传送的数据流.例如互联网是不可信任的区域,而内部网络是高度信任的区域。防火墙的类型:可分为网络层防火墙和应用层防火墙。、现在流行的硬件防火墙主要有cisco,juniper,东软,华为,卓尔,中科网威.经比较和分析,我认为宾馆的防火墙应选择东软的防火墙,因为其涉及到保护房客个人信息和宾馆内部资料,所以应选择较好的品牌。4。5无线模块设计无内容注:以上各个硬件列表给出型号、应用环境、性能参数、参考价格,通过分析比较这些硬件的优缺点,说明满足用户需求,选择这些硬件的理由。五、网络软件设计5.1网络操作系统Windows,linux,unix网络操纵系统向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。当前主要使用的网络操作系统有Windows类,Netware类,Unix系统,Linux系统。(1)Windows系统这类操作系统配置在整个局域网配置中是最常见的.它对服务器的硬件要求较高,且稳定性能不是很高,所以微软的网络操作系统一般只是用在中低档服务器中.在局域网中,微软的网络操作系统主要有:WindowsNT4。0Serve、Windows2000Server/AdvanceServe等在工作站系统可以采用任一Windows或非Windows操作系统,包括个人操作系统,如Windows9x/ME/XP等。WindowsNT4。0是中、小型企业局域网的标准操作系统。一则是它继承了Windows家族统一的界面,使用户学习、使用起来更加容易.再则它的功能也的确比较强大,基本上能满足所有中、小型企业的各项网络求。它对服务器的硬件配置要求要低许多,可以更大程度上满足许多中、小企业的PC服务器配置需求。(2)Netware系统:NetWare操作系统对网络硬件的要求较低(工作站只要是286机就可以了)而受到一些设备比较落后的中、小型企业,特别是学校的青睐.因为它兼容DOS命令,其应用环境与DOS相似,经过长时间的发展,具有相当丰富的应用软件支持,技术完善、可靠。(3)Unix系统:支持网络文件系统服务,提供数据等应用,功能强大。由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户.正因如此,小型局域网基本不使用Unix作为网络操作系统,UNIX一般用于大型的网站或大型的企、事业局域网中。(4)Linux系统:它的最大的特点就是源代码开放,可以免费得到许多应用程序。在国内得到了用户充分的肯定,主要体现在它的安全性和稳定性方面。目前这类操作系统目前使仍主要应用于中、高档服务器中。总的来说,对特定计算环境的支持使得每一个操作系统都有适合于自己的工作场合,这就是系统对特定计算环境的支持.例如,Windows2000Professional适用于桌面计算机,Linux目前较适用于小型的网络,而Windows2000Server和UNIX则适用于大型服务器应用程序。因此,对于不同的网络应用,需要我们有目的有选择合适地网络操作系统。经上面的分析得到,宾馆作为小型网络体系,应使用windows系统作为其的网络操作系统。5.2网络服务协议ftp。Www。dns,dhcp,smtp,nfs,udp(1)FTP协议(filetransferProtocol)(文件传输协议):用于Internet上的控制文件的双向传输。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。其主要作用是让用户连接上一个远程计算机,察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。(2)DNS(DomainNameSystem)(域名解析系统):它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析"。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析.域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。(3)SMTP(SimpleMailTransferProtocol)(简单邮件传输协议):它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。(4)DHCP(DynamicHostConfigurationProtocol,DHCP)(动态主机设置协议):DHCP主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。(5)NFS(NetworkFileSystem)(网络文件系统):网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与它人共享目录和文件.通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件.NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。(6)Telnet协议:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器.终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样.可以在本地就能控制服务器。Telnet是常用的远程控制Web服务器的方法,属于客户机/服务器模型的服务。(7)HTTP协议(HyperTextTransferProtocol)(超文本传输协议):互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。它是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。5.3网络管理软件监控,软件管理,远程管理考虑到宾馆对顾客上网情况管理的需要,在以上的网络协议安装之后,还要在系统安装几款网络管理软件。(1)网络流量监控器:在某些房间中,对房客采取按流量收费的上网收费方式,在这样的情况下,网络流量监控软件就是必不可少的。有了这种软件,可以做到时时对用户能否上网进行限制,也包括其有流量时在非允许时间段不能上网的限制.(2)网络行为管理软件:作为宾馆这样人流复杂的地点,仅能限制用户是否在规定的时间和有流量的情况下才能上网时远远不够的。还要对其上网时的行为做出适当的限制可以调节用户的下载和上传文件的速度,这样可以保证带宽不被少量用户在同一时段占据。可以限制某些软件的使用,如:QQ,迅雷,BT等工具。以保证网络的通畅.可以限制某些网络的浏览可以绑定IP可以限制某些游戏程序的使用。经过在网上的查询,第三只眼的网络监控软件,性能良好,较适合宾馆使用。其功能包括:(1)聊天纪录监视(2)邮件收发记录(3)网页浏览监视(4)FTP监控(5)实时流量监控(6)网页过滤(7)软件运行限制(8)自定义报警5。4安全防护软件在复杂的网络环境下,宾馆作为人流密集地区,保护自身的网络安全是十分必要的。安全防护软件可以保护用户自身免受网上病毒的侵害.安全软件安全软件分为杀毒软件,系统工具和反流氓软件.安全软件是一种可以对病毒、木马等一切已知的对计算机有危害的程序代码进行清除的程序工具,经调查,当前国内热门的安全防护软件是瑞星公司旗下的生产的瑞星系列杀毒软件瑞星杀毒软件的主要功能包括:(1)全面拦截(2)彻底查杀(3)极速响应(4)“云安全”深度应用(5)嵌入式查杀(6)木马入侵拦截(7)邮件监控瑞星的杀毒软件有个人版和企业版两种,宾馆作为小型企业应选择购买企业版安装并使用。卡巴斯基同样也是国内知名的杀毒软件品牌,其主要特点是:1、对病毒上报反应迅速,卡巴斯基具有全球技术领先的病毒运行虚拟机,可以自动分析70%左右未知病毒的行为,每小时升级病毒库的背后是以雄厚的技术为支撑的。2、随时修正自身错误,杀毒分析是项繁琐的苦活,卡巴斯基并不是不犯错,而是犯错后立刻纠正,只要用户去信指出,误杀误报会立刻得到纠正。3、卡巴斯基的超强脱壳能力,无论你怎么加壳,只要程序体还能运行,就逃不出卡巴斯基的掌心.因此卡巴斯基毒库目前的466万左右.是真实可杀数量。5。5远程管理软件正文(3)远程监控软件:远程控制软件一般分客户端程序(Client)和服务器端程序(Server)两部分。通常将客户端程序安装到主控端的电脑上,将服务器端程序安装到被控端的电脑上。使用时客户端程序向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行。远程监控软件的主要功能:(1)键盘屏幕全纪录(2)局域网远程监控(3)远程设置自动开关机(4)自动记录,过滤网址经查询,现在代表性的远程监控软件是TeamViewer。TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案。为了连接到另一台计算机,只需要在两台计算机上同时运行TeamViewer即可,而不需要进行安装(也可以选择安装,安装后可以设置开机运行)。该软件第一次启动在两台计算机上自动生成伙伴ID.只需要输入你的伙伴的ID到TeamViewer,然后就会立即建立起连接。…。…注:以上各个软件列表给出版本、应用环境、性能、参考价格,通过分析比较这些软件的优缺点,说明满足用户需求,选择这些软件的理由.六、实验调试6。1实验调试环境1清空交换机原有配置将其还原到出厂设置2修改系统时间及交换机名称3交换机与主机连通测试6。2网络连接测试两主机通过交换机连接测试连通结果PC机1的IPPC机2的IPPC机1ping通PC机26.3路由交换测试1本机地址查询2路由器1的地址配置3路由器2的地址配置4ping通路由器测试6.4网络管理测试对于某些特殊主机,要将其绑定在固定的端口上,这就需要将主机的MAC地址与交换机端口进行绑定。1查看本机MAC地址2配置交换机的端口信息,将其与本机物理地址绑定3查看配置结果6。5网络安全测试用户可以通过远程telnet命令控制交换机的设置,从而便于控制交换机的各项设置。1对交换机的端口配置:2验证端口配置信息:3设置主机到交换机的telnet模式,并配置用户名和密码:4验证所配置的用户信息:6.6服务性能测试由于在不同房间之间在传输和下载大型文件和数据的时候需要增加传输的口径,这就需要使交换机链路聚合。1将1,2交换机分别恢复出厂设置,避免出现广播风暴。2创建分组,即portgroup3通过手动配置生成链路组合七、总结体会通过本次课程设计首先让我对网络这一门课程的知识溶入到实践设计中,对知识的掌握从理论到实践有了进一步的跨越,尤其是网络的各项协议,组成,数据传输,通信等内容,有了更深的体会.其次,使我熟悉了各种网络服务器的配置、网络方案设计以及领会各种网络设备选择和方案设计要点,也可以了解到许多服务器、行业软件的使用情况。一次整体网络的设计组建,使我学到的网络知识有了完整的系统结构,对网络的各个部分以及各部分之间的连接有了进一步的认识。总之,这次的网络课程设计使我收益非浅。同时,谢谢陈老师的辛勤培养,给我了更为丰富的知识和宽广的视野。不到一个月的小学期课程设计就要结束了,在这短短20多天的时间里,我初步的掌握了小型网络拓扑结构的框架设计。但我相信这还是远远不够,作为一名计算机系的学生,我还要充分利用业余时间,努力掌握和丰富自己的网络知识,为今后的学习和工作打下坚实的基础。八、参考资料格式:作者1,作者2,参考文献名称,出版的期刊杂志名称(或出版社地点:书籍名称)[类型:J、M、C],卷期号,年份,页码.1周学广等。信息安全学平[J]。北京:机械工业出版社,2003.32曹天杰等编著。计算机系统安全[M].北京:高等教育出版社,2003。93刘衍衍等编著。计算机安全技术[J]。吉林:吉林科技技术出版社。1997。84冯元等.计算机网络安全基础[J].北京;科学出版社.2003。105高永强等.网络安全技术与应用[J].北京:人民邮电出版社,2003。36张千里,陈光英.网络安全新技术[M]。北京:人民邮电出版社,2003.17顾巧论等编著。计算机网络安全。北京[J]:科学出版社。2003。18张友生,米安然编著.计算机病毒与木马程序剖析[J].北京:北京科海电子出版社,2003。39(美)JerryLeeFordZ著.个人防火墙[J]。北京:人民邮电出版社,2002.810楚狂等编著。网络安全与防火墙技术[J].北京:人民邮电出版社,2000.411朱雁辉编著。Windows防火墙与网络封包截获技术[M].北京:电子工业出版社,2002。7《网络安全与维护》课程设计班级:姓名:学号:基于认证的攻击设计报告一、课程设计目的:1、熟悉使用端口扫描进行漏洞检测;2、掌握基于认证的攻击方法;3、掌握留后门和清脚印的方法。二、课程设计内容:1、认证漏洞的检测在物理主机使用X—Scan检测自己的虚拟机的密码(虚拟机的密码设置为空密码或者简单的密码)2、使用IPC$进行连接,祛除NTLM验证利用相关命令进行IPC$连接,连接成功后,编写Bat文件祛除虚拟机中的NTML验证,文件名自己设定.3、利用IPC$开启对方的Telnet服务自己编写批处理文件开启虚拟机中的Telnet服务.4、利用Telnet连接,为对方主机设定Telnet服务Mytel利用Telnet连接和相关的软件,在虚拟机中设立一个服务名称是Mytel的服务,且该服务为开机自启动服务,服务实际巡行程序为Telnet关闭原有的Telnet服务。5、留下后门账号和清除自己的脚印自己编写批处理文件,留下后门账号,并将前面进行攻击所使用的所有文件和系统日志清除,并在最后清除批处理文件本身。6、端口扫描使用端口扫描工具X-scan对自己的虚拟机进行端口扫描,分别使用Syn扫描和Fin扫描进行探测,比较两种扫描方式的不同点。三、课程实施方案:1。认证漏洞检测利用x-scan进行扫描打开x—scan扫描,在“设置”菜单里点击“扫描参数”,进行全局核查建设置。在“检测范围"中的“指定IP范围”输入要检测的目标主机的域名或IP,也可以对一个IP段进行检查在全局设置中,我们可以选择线程和并发主机数量。在“端口相关设置”中我们可以自定义一些需要检测的端口。检测方式“TCP”、“SYN”两种。“SNMP设置"主要是针对简单网络管理协议(SNMP)信息的一些检测设置。“NETBIOS相关设置”是针对WINDOWS系统的网络输入输出系统(NetworkBasicInput/OutputSystem)信息的检测设置,NetBIOS是一个网络协议,包括的服务有很多,我们可以选择其中的一部分或全选。“漏洞检测脚本设置”主要是选择漏洞扫描时所用的脚本.漏洞扫描大体包括CGI漏洞扫描、POP3漏洞扫描、FTP漏洞扫描、SSH漏洞扫描、HTTP漏洞扫描等.这些漏洞扫描是基于漏洞库,将扫描结果与漏洞库相关数据匹配比较得到漏洞信息;漏洞扫描还包括没有相应漏洞库的各种扫描,比如Unicode遍历目录漏洞探测、FTP弱势密码探测、OPENRelay邮件转发漏洞探测等,这些扫描通过使用插件(功能模块技术)进行模拟攻击,测试出目标主机的漏洞信息。开始扫描设置好参数以后,点击“开始扫描”进行扫描,X—Scan会对目标主机进行详细的检测。扫描过程信息会在右下方的信息栏中看到,如图所示:扫描结果扫描结束后,默认会自动生成HTML格式的扫描报告,显示目标主机的系统、开放端口及服务、安全漏洞等信息:可以看到管理员密码为空2使用IPC$进行连接,去除NTLM验证建立ipc$空连接建立磁盘映射建立批处理文件上传至远程主机按计划执行文件建立开启telnet批处理命令传送到远程主机并执行将instsrv。exe上传到远程主机telnet连接远程主机后使用instsrv。exe建立一个名为syshealth的服务清除痕迹手工清除服务器日志入侵者通过多种途径来擦除留下的痕迹,其中手段之一就是在远程被控主机的【控制面板】窗口中,打开事件记录窗口,从中对服务器日志进行手工清除。具体的实现方法如下:(1)入侵者先用IPC$连接过去之后,在远程主机的【控制面板】窗口中,双击【管理工具】图标项打开【管理工具】窗口。(2)双击其中的【计算机管理】图标项,即可打开【计算机管理】窗口.(3)展开【计算机管理(本地)】→【系统工具】→【事件查看器】选项之后,打开事件记录窗格,其中的事件日志分为三类:“应用程序”日志、“安全性"日志及“系统"日志,如图12-10所示.(4)这三类日志分别记录不同种类的事件,右击相应日志,在弹出的快捷菜单中选择【清除】菜单项,即可清除指定日志。(5)如果入侵者想做得更干净一点,则可以在【计算机管理】窗口的左窗格中展开【计算机管理(本地)】→【服务和应用程序】→【服务】选项,再在其右窗格中找到“EventLog”服务,并把该服务禁用,如图所示。经过上述设置之后,用户只要重新启动了系统,该主机/服务器就不会对任何操作进行日志记录了.四、课程设计结果:出现的问题及解决方法:1、在进行帐号克隆和清除日志时经常会遇到到空连接和ipc$连接,它们区别在哪里?解答:在进行帐号克隆和清除日志时都需要用到远程上传工具,这就用到了连接,其中最常用的就是空连接和ipc$连接,可以从概念和访问方式上对其进行区分.空连接是指在没有信任的情况下与服务器建立的会话,即它是一个到服务器的匿名访问,不需要用户名和密码。而IPC$连接是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,有许多的远程工具必须用到IPC$连接,如使用命令“netuse\\IP\ipc$“"/user:“””就可以简单地和目标主机建立一个空连接(需要目标开放ipc$).2、在克隆帐号时,需要对注册表中用于存放帐号所有属性的SAM键值进行访问,但在手动克隆帐号时却会出现无法访问SAM键的情况,该怎样解决?解答:当出现手动克隆无法访问注册表SAM键时,在图形界面下,可以在【注册表编辑器】窗口中,右击\HKEY_LOCAL_MACHINE\SAM子项之后,在弹出的快捷菜单中选择【权限】菜单项,在打开的【SAM的权限】对话框中将admin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论