您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第2章 网络安全技术基础知识
2020/1/19Page1第2章网络安全技术基础知识密码学基础2.1DES和RSA算法2.2Windows注册表基础2.3网络技术基础2.42020/1/19Page22.1密码学基础2.1.1加密与解密2.1.2认证、完整性、不可抵赖性2.1.3协议与算法2.1.4对称与不对称加密2020/1/19Page32.1.5有关密码学的其他问题1.单向函数2.密码散列3.口令、密码和密钥4.安全性对比模糊性5.密钥长度与蛮力攻击6.对密码的字典攻击7.如何破解替代密码2020/1/19Page41.密码学的发展(1)加密的历史数据加密起源于公元前2000年,埃及人最先使用特别的象形文字作为信息编码。随着时间推移,巴比伦、美索不达米亚和希腊都开始使用一些方法来保护他们的书面信息。(2)密码学的发展密码学的发展可以分为两个阶段。第一个阶段是计算机出现之前的四千年,这是传统密码学阶段,基本上靠人工对消息加密、传输和防破译。2020/1/19Page5第二阶段是计算机密码学阶段,包括:①传统方法的计算机密码学阶段。解密是加密的简单逆过程,两者所用的密钥是可以简单地互相推导的,因此无论加密密钥还是解密密钥都必须严格保密。这种方案用于集中式系统是行之有效的。②包括两个方向:一个方向是公用密钥密码(RSA),另一个方向是传统方法的计算机密码体制——数据加密标准(DES)。2020/1/19Page6密码学的三个阶段1949年之前,古典密码学1949年~1976年,现代密码学1976年以后,公钥密码学2020/1/19Page7古典密码学(1949年以前)密码学还不是科学,而是艺术出现一些密码算法和加密设备密码算法的基本手段出现,保密针对的是字符简单的密码分析手段出现主要特点:数据的安全基于算法的保密2020/1/19Page8现代密码学(1949年-1976年)密码学成为科学计算机使得基于复杂计算的密码成为可能相关技术的发展1949年Shannon的“TheCommunicationTheoryofSecretSystems”1967年DavidKahn的《TheCodebreakers》1971-73年IBMWatson实验室的HorstFeistel等几篇技术报告主要特点:数据的安全基于密钥而不是算法的保密2020/1/19Page9公钥密码学(1949年至今)现代密码学的新方向相关技术的发展1976年:Diffie&Hellman提出了公开密钥密码学的概念,并发表论文“NewDirectionsinCryptography”1977年Rivest,Shamir&Adleman提出了RSA公钥算法90年代逐步出现椭圆曲线等其他公钥算法主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。2020/1/19Page10(3)什么是密码学?密码学包括密码编码学和密码分析学。密码体制的设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容。密码编码技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。密码学不仅仅是编码与破译的学问,而且包括安全管理、安全协议设计、秘密分存、散列函数等内容。2020/1/19Page112.数据加密数据加密的基本过程包括对称为明文的可读信息进行处理,形成称为密文或密码的代码形式。该过程的逆过程称为解密,即将该编码信息转化为其原来的形式的过程。(1)为什么需要进行加密因特网是危险的,而且这种危险是TCP/IP协议所固有的,一些基于TCP/IP的服务也是极不安全的,另一方面,因特网把全世界连在了一起,走向因特网就意味着走向了世界。为了使因特网变得安全和充分利用其商业价值,人们选择了数据加密和基于加密技术的身份认证。2020/1/19Page12(2)加密密钥加密算法通常是公开的。一般把受保护的原始信息称为明文,编码后的信息称为密文。●对称密钥和公用/私有密钥在保密密钥中,加密者和解密者使用相同的密钥,也被称为对称密钥加密。这种加密算法的问题是,用户必须让接收人知道自己所使用的密钥,这个密钥需要双方共同保密,任何一方的失误都会导致机密的泄露,而且在告诉收件人密钥过程中,还需要防止任何人发现或偷听密钥,这个过程被称为密钥发布。2020/1/19Page13公用/私有密钥,使用相互关联的一对密钥,一个是公用密钥,任何人都可以知道,另一个是私有密钥,只有拥有该对密钥的人知道。发信人用收信人的公用密钥对信件进行加密,收件人收到信后,可以用自己的私有密钥进行解密,而且只有持有的私有密钥可以解密。密钥只有一个人持有,也就更加容易进行保密,因为不需在网络上传送私人密钥,也就不用担心别人在认证会话初期截获密钥。①公钥和私钥有两个相互关联的密钥;②公用密钥加密的文件只有私有密钥能解开;③私有密钥加密的文件只有公用密钥能解开。2020/1/19Page14●摘要函数(密码散列)摘要是一种防止信息被改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有影响。总之,摘要算法从给定的文本块中产生一个数字签名,数字签名可以用于防止有人从一个签名上获取文本信息或改变文本信息内容。2020/1/19Page15(3)密钥的管理和分发一般强调仅将一个对话密钥用于一条信息或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。建立了一个安全的、可信任的密钥分发中心(KeyDistributionCenter,KDC),每个用户只要知道一个和KDC进行通信的密钥就可以了,而不需要知道成百上千个不同的密钥。2020/1/19Page163.基本概念(1)消息和加密消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称为加密(Encryption),被加密的消息称为密文,而把密文转变为明文的过程称为解密(Decryption)。2020/1/19Page17使消息保密的技术和科学叫做密码编码学。从事此行的叫密码编码者。密码分析者是从事密码分析的专业人员。密码分析学就是破译密文的科学和技术,即揭穿伪装。密码学作为数学的一个分支,包括密码编码学和密码分析学两部分,精于此道的人称为密码学家,现代的密码学家通常也是理论数学家。2020/1/19Page18加密函数E作用于明文M得到密文C,可用数学公式表示:E(M)=C相反地,解密函数D作用于C产生M:D(C)=M先加密后再解密,原始的明文将恢复,故下面的等式必须成立:D(E(M))=M2020/1/19Page19(2)鉴别、完整性和抗抵赖除了提供机密性外,密码学通常还有其它的作用。鉴别。消息的接收者应该能够确认消息的来源,入侵者不可能伪装成他人。完整性。消息的接收者应该能够验证在传送过程中消息没有被修改,入侵者不可能用假消息代替合法消息。抗抵赖。发送者事后不可能虚假地否认他发送的消息。2020/1/19Page20(3)算法和密钥密码算法(Algorithm)也叫密码(Cipher),是用于加密和解密的数学函数。通常情况下,有两个相关的函数,一个用作加密,另一个用作解密。密钥用K表示。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成:EK(M)=CDK(C)=M这些函数具有的特性:DK(EK(M))=M2020/1/19Page212020/1/19Page22基于密钥的算法通常有两类:对称算法和公用密钥算法。(4)对称算法对称算法又叫传统密码算法,就是加密密钥能够从解密密钥中推导出来,反过来也成立。对称算法可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。2020/1/19Page23对称密钥密码体制(1)对称密钥密码体制的加密方式:序列密码、分组密码。(2)对称密钥密码体制的特点:对称密钥密码系统具有加解密速度快、安全强度高、使用的加密算法比较简便高效、密钥简短和破译极其困难的优点。2020/1/19Page24(5)公用密钥算法公用密钥算法(Public-KeyAlgorithm)也叫非对称算法。它是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。2020/1/19Page25非对称密钥密码体制(1)用户可以把用于加密的密钥公开地分发给任何人。(2)极大地简化了密钥管理。(3)公开密钥加密不仅改进了传统加密方法,还提供了传统加密方法不具备的应用,这就是数字签名系统。2020/1/19Page26(6)密码分析密码分析学是在不知道密钥的情况下,恢复出明文的科学。成功的密码分析能恢复出消息的明文或密钥。密码分析也可以发现密码体制的弱点,最终得到上述结果。密钥通过非密码分析方式的丢失叫做泄露。密钥的穷尽搜索破译密文就是尝试所有可能的密钥组合。虽然大多数的密钥尝试都是失败的,但最终有一个密钥让破译者得到原文,这个过程称为密钥的穷尽搜索。2020/1/19Page27常用的密码分析攻击有三类:(1)已知明文的破译方法(2)选定明文的破译方法(3)其他密码破译方法“窥视”或“偷窃”密钥内容;利用加密系统实现中的缺陷或漏洞;对用户使用的加密系统偷梁换柱;从用户工作生活环境的其他来源获得未加密的保密信息,比如进行“垃圾分析”;让口令的另一方透露密钥或信息;威胁用户交出密钥等等。2020/1/19Page28(7)算法的安全性不同的密码算法具有不同的安全等级。如果破译算法的代价大于加密数据的价值;破译算法所需的时间比加密数据保密的时间更长;用单密钥加密的数据量比破译算法需要的数据量少得多;那么这种算法可能是安全的。2020/1/19Page29破译算法可分为不同的类别,安全性的递减顺序为:全部破译。密码分析者找出密钥K,这样DK(C)=M。全盘推导。密码分析者找到一个代替算法在不知道密钥K的情况下,等价于DK(C)=M。局部推导。密码分析者从截获的密文中找出明文。信息推导。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几个位、有关明文格式的信息等。2020/1/19Page30补充:传统密码技术1.数据表示方法数据的表示有多种形式,使用最多的是文字,还有图形、声音、图像等。这些信息在计算机系统中都是以某种编码的方式来存储的。传统加密方法的主要应用对象是对文字信息进行加密解密。大多数加密算法都有数学属性,这种表示方法可以对字母进行算术运算,字母的加减法将形成对应的代数码。2020/1/19Page312.替代密码替代密码(SubstitutionCipher)是使用替代法进行加密所产生的密码。替代密码就是明文中每一个字符被替换成密文中的另外一个字符。接收者对密文进行逆替换就恢复出明文来。替代法加密是用另一个字母表中的字母替代明文中的字母。在替代法加密体制中,使用了密钥字母表。它可以由明文字母表构成,也可以由多个字母表构成。2020/1/19Page32如果是由一个字母表构成的替代密码,称为单表密码。其替代过程是在明文和密码字符之间进行一对一的映射。如果是由多个字母表构成的替代密码,称为多表密码。在经典密码学中,有四种类型的代替密码:简单代替密码、多名码代替密码、多字母代替密码和多表代替密码。2020/1/19Page33(1)单表替代密码一种典型方法是凯撒(Caesar)密码,又叫循环移位密码。它的加密方法就是把明文中所有字母都用它右边的第k个字母替代,并认为Z后边又是A。这种映射关系表示为如下函数:F(a)=(a+k)modn其中:a表示明文字母;n为字符集中字母个数;k为密钥。2020/1/19Page34映射表中,明文字母中在字母表中的相应位置数为C,(如A=1,B=2,…)形式如下:设k=3;对于明文
本文标题:第2章 网络安全技术基础知识
链接地址:https://www.777doc.com/doc-3184407 .html