《计算机网络与信息安全技术》教学课件1加密与认证技术第4章2本章内容4.1加密技术概述4.2信息加密方式4.3常用加密算法介绍4.4认证技术4.5密码破译方法及预防破译措施34.1加密技术概述信息安全主要包括系统安全和数据安全两个方面。系统安全一般采用防火墙、防病毒及其他安全防范技术等措施,是属于被动型的安全措施。数据安全则主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。4密码学是研究数据的加密、解密及其变换的学科,涵盖数学、计算机科学、电子与通信学科。密码技术不仅服务于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。密码技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理、密钥托管等技术,是保护大型网络传输信息安全的唯一实现手段,是保障信息安全的核心技术。它以很小的代价,对信息提供一种强有力的安全保护。54.1.1加密技术一般原理加密技术的基本思想就是伪装信息,使非法接入者无法解信息的真正含义。伪装就是对信息进行一组可逆的数学变换。我们称伪装前的原始信息为明文,经伪装的信息为密文,伪装的过程为加密。用于对信息进行加密的一组数学变换称为加密算法。为了有效控制加密、解密算法的实现,在这些算法的实现过程中,需要有某些只被通信双方所掌握的专门的、关键的信息参与,这些信息就称为密钥。用作加密的称加密密钥,用作解密的称作解密密钥。1.基本概念6借助加密手段,信息以密文的方式归档存储在计算机中,或通过数据通信网进行传输,因此即使发生非法截取数据或因系统故障和操作人员误操作而造成数据泄漏,未授权者也不能理解数据的真正含义,从而达到了信息保密的目的。图4-1保密通信系统模型加密变换C=Ek1(m)明文m发送者A信息传送信道密文c明文m接收者B解密变换m=Dk2(c)非法接入者直接注入密码分析搭线窃听窃听者明文m’加密器解密器密钥传送信道密钥k1密钥k22.保密通信系统模型7防止消息被篡改、删除、重放和伪造的一种有效方法是使发送的消息具有被验证的能力,使接收者或第三者能够识别和确认消息的真伪,实现这类功能的密码系统称为认证系统(AuthenticationSystem)。消息的认证性和消息的保密性不同,保密性是使截获者在不知密钥条件下不能解读密文的内容,而认证性是使不知密钥的人不能构造出一个密报,使意定的接收者脱密成一个可理解的消息(合法的消息)。认证系统的基本要求:1)意定的接收者能够检验和证实消息的合法性和真实性。2)消息的发送者对所发送的消息不能抵赖。3)除了合法消息发送者外,其他人不能伪造合法的消息,而且在已知合法密文c和相应消息m下,要确定加密密钥或系统地伪装合法密文在计算上是不可行的。4)必要时可由第三者做出仲裁。3.认证系统84.1.2密码学与密码体制密码学包括密码设计与密码分析两个方面,密码设计主要研究加密方法,密码分析主要针对密码破译,即如何从密文推演出明文、密钥或解密算法的学问。这两种技术相互依存、相互支持、共同发展。加密算法的三个发展阶段:古典密码对称密钥密码(单钥密码体制)公开密钥密码(双钥密码体制)。这些算法按密钥管理的方式可以分为对称算法与非对称算法两大类,即我们通常所说的对称密钥密码体制和非对称密钥密码体制。91.对称密钥密码体制传统密码体制所用的加密密钥和解密密钥相同,或实质上等同(即从一个可以推出另外一个),我们称其为对称密钥、私钥或单钥密码体制。对称密钥密码体制不仅可用于数据加密,也可用于消息的认证。对称算法又可分为序列密码和分组密码两大类。序列密码每次加密一位或一字节的明文,也称为流密码。序列密码是手工和机械密码时代的主流方式。分组密码将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。最典型的就是1977年美国国家标准局颁布DES算法。10图4-2对称密钥密码体制的通信模型11单钥密码体制的优点是:安全性高且加、解密速度快其缺点是:进行保密通信之前,双方必须通过安全信道传送所用的密钥。这对于相距较远的用户可能要付出较大的代价,甚至难以实现。例如,在拥有众多用户的网络环境中使n个用户之间相互进行保密通信,若使用同一个对称密钥,一旦密钥被破解,整个系统就会崩溃;使用不同的对称密钥,则密钥的个数几乎与通信人数成正比[需要n*(n-1)个密钥]。由此可见,若采用对称密钥,大系统的密钥管理几乎不可能实现。122.非对称密钥密码体制若加密密钥和解密密钥不相同,从其中一个难以推出另一个,则称为非对称密钥或双钥密码体制。采用双钥密码体制的主要特点是将加密和解密功能分开,因而可以实现多个用户加密的消息只能由一个用户解读,或只能由一个用户加密消息而使多个用户可以解读。在使用双钥体制时,每个用户都有一对预先选定的密钥:一个是可以公开的,以kl表示,另一个则是秘密的,以k2表示,公开的密钥k1可以像电话号码一样进行注册公布,因此双钥体制又称作公钥体制(PublicKeySystem)。最有名的双钥密码体制是1977年由Rivest、Shamir和Adleman等三人提出的RSA密码算法。13图4-3双钥密码体制的通信模型14双钥密码体制既可用于实现公共通信网的保密通信,也可用于认证系统中对消息进行数字签名。为了同时实现保密性和对消息进行确认,在明文消息空间和密文消息空间等价,且加密、解密运算次序可换,即Ekl(Dk2(m))=Dk2(Ek1(m))=m。图4-4双钥保密和认证体制153.混合加密体制实际网络多采用双钥和单钥密码相结合的混合加密体制,即加解密时采用单钥密码,密钥传送则采用双钥密码。这样既解决了密钥管理的困难,又解决了加、解密速度的问题。164.1.3密码学的作用密码学主要的应用形式有数字签名、身份认证、消息认证(也称数字指纹)、数字水印等几种,这几种应用的关键是密钥的传送,网络中一般采用混合加密体制来实现。密码学的应用主要体现了以下几个方面的功能。(1)维持机密性(2)用于鉴别(3)保证完整性(4)用于抗抵赖174.2信息加密方式网络数据加密常见的方式有链路加密、节点加密和端到端加密三种。4.2.1链路加密链路加密方式中,所有消息在被传输之前进行加密,不但对数据报文正文加密,而且把路由信息、校验和等控制信息也进行加密。在每一个节点接收到数据报文后,必须进行解密以获得路由信息和校验和,进行路由选择、差错检测,然后使用下一个链路的密钥对报文进行加密,再进行传输。在每一个网络节点中,消息以明文形式存在184.2.2节点加密节点加密是指在信息传输路过的节点处进行解密和加密。尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性,都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。然而,与链路加密不同的是,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。节点加密要求报头和路由信息以明文形式传输。不能有效防止攻击者分析通信业务。节点加密与链路加密有共同的缺点:需要网络提供者修改交换节点,增加安全模块或保护装置。194.2.3端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。204.3.1加密系统的组成尽管密码学的数学理论相当高深,但加密的概念却十分简单。加密就是把数据和信息(称为明文)转换为不可辨识形式(称为密文)的过程,使不应了解该数据和信息的人无法识别。任何加密系统,不论形式多么复杂,至少包括以下4个组成部分:待加密的报文,也称明文。加密后的报文,也称密文。加密、解密装置或称算法。用于加密和解密的密钥,它可以是数字,词汇或者语句。4.3常用加密算法(也称古典密码算法)214.3.2四种传统加密方法(4种)(1)代码加密发送秘密消息的最简单做法,就是使用通信双方预先设定的一组代码。代码可以是日常词汇、专有名词或特殊用语,但都有一个预先指定的确切含义。它简单有效,得到广泛的应用。代码简单好用,但只能传送一组预先约定的信息。当然,可以将所有的语意单元(如每个单词)编排成代码簿,加密任何语句只要查代码簿即可。不重复使用的代码是很安全的。代码经过多次反复使用,窃密者会逐渐明白它们的意义,代码就逐渐失去了原有的安全性。举例密文:黄姨白姐安全到家了。明文:黄金和白银已经走私出境了。22(2)替换加密由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种替换密码进行破译。举例将字母a,b,c,…,x,y,z的自然顺序保持不变,但使之与D,E,F,…,A,B,C分别对应(即相差3个字符)若明文为student,则对应的密文为VWXGHQW(此时密钥为3)。23(3)变位加密代码加密和替换加密保持着明文的字符顺序,只是将原字符替换并隐藏起来。变位加密不隐藏原明文的字符,但却将字符重新排序,即把明文中的字母重新排列,字母本身不变,但位置变了。常见的变位加密方法有列变位法和矩阵变位法。简单的变位加密:首先选择一个用数字表示的密钥,写成一行,然后把明文逐行写在数字下。按密钥中数字指示的顺序,逐列将原文抄写下来,就是加密后的密文。列变位法:将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好,最后不全的组可以用不常使用的字符填满。矩阵变位法:把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。241)简单的变位加密密钥:416825739明文:来人已出现住在平安123456789密文:出来住平人现在已安2)列变位法(这里的密钥是数字5)明文:WHATYOUCANLEARNFROMTHISBOOK分组排列为:WHATYOUCANLEARNFROMTHISBOOKXXX密文:WOLFHOHUERIKACAOSXTARMBXYNNTOX。变位加密举例253)矩阵变位法这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。如将明文ENGINEERING按行排在3*4矩阵中,如下所示:1234ENGINEERING给定一个置换:现在根据给定的置换,按第2、第4、第1、第3列的次序重新排列,就得:2413NIEGERNENIG所以,密文为:NIEGERNENIG。其解密过程正好反过来,先将密文根据3*4矩阵,按行、按列,及列的顺序写出矩阵;再根据给定置换f产生新的矩阵;最后恢复明文ENGINEERING。26(4)一次性密码簿加密密码簿的每一页上都是一些代码表,可以用一页上的代码来加密一些词,用后撕掉或烧毁;再用另一页上的代码加密另一些词,直到全部的明文都被加密。破译密文的惟一办法,就是获得一份相同的密码簿。举例加密过程:(明文与密码按位异或计算)明文:101101011011密码:011010101001密文:110111110010解密过程:(密文与密码按位异或计算)密文:110111110010密码:011010101001明文:101101011011274.3.3单钥加密算法保密性完全依赖于密钥的保密,且加密密钥和解密密钥完全相同或等价,又称为对称密钥加密算法,其加密模式主要有序列密码(也称流密码)和分组密码两种方式。流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0、1数字),字符分别与密钥流作用进行