资源描述
,*,第,5,章,加密与认证技术,本章学习目标:,掌握加密通信的系统模型,了解密码学知识及常见的密码体制,了解三种网络加密方法的特点,了解常用加密算法,了解加密技术在数字签名和认证中的应用,了解公钥基础设施的应用,5.1,加密技术概述,密码学是研究数据的加密、解密及其变换的学科,,涵盖,数学、计算机科学、电子与通信学科。,密码技术不仅服务于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。,密码技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理、密钥托管等技术,是保护大型网络传输信息安全的唯一实现手段,是保障信息安全的核心技术。它以很小的代价,对信息提供一种强有力的安全保护。,5.1.1,加密技术一般原理,5.1,加密技术概述,加密技术的基本思想就是伪装信息,使非法接入者无法理解信息的真正含义。,伪装就是对信息进行一组可逆的数学变换。我们称伪装前的原始信息为,明文,经伪装的信息为,密文,,伪装的过程为,加密,。,用于对信息进行加密的一组数学变换称为,加密算法,。,为了有效控制加密、解密算法的实现,在这些算法的实现过程中,需要有某些只被通信双方所掌握的专门的、关键的信息参与,这些信息就称为,密钥,。用作加密的称,加密密钥,,用作解密的称作,解密密钥,。,5.1,加密技术概述,借助加密手段,信息以密文的方式归档存储在计算机中,或通过数据通信网进行传输,因此即使发生非法截取数据或因系统故障和操作人员误操作而造成数据泄漏,未授权者也不能理解数据的真正含义,从而达到了信息保密的目的。,图,5-1,保密通信系统模型,5.1,加密技术概述,防止消息被篡改、删除、重放和伪造的一种有效方法是使发送的消息具有被验证的能力,使接收者或第三者能够识别和确认消息的真伪,实现这类功能的密码系统称为,认证系统,(Authentication System),。消息的认证性和消息的保密性不同,保密性是使截获者在不知密钥条件下不能解读密文的内容,而认证性是使不知密钥的人不能构造出一个密报,使意定的接收者脱密成一个可理解的消息,(,合法的消息,),。,认证系统的基本要求,:,1,)意定的接收者能够检验和证实消息的合法性和真实性。,2,)消息的发送者对所发送的消息不能抵赖。,3,)除了合法消息发送者外,其他人不能伪造合法的消息,而且在已知合法密文,c,和相应消息,m,下,要确定加密密钥或系统地伪装合法密文在计算上是不可行的。,4,)必要时可由第三者做出仲裁。,5.1,加密技术概述,5.1.2,密码学与密码体制,密码学包括,密码设计,与,密码分析,两个方面,密码设计主要研究加密方法,密码分析主要针对密码破译,即如何从密文推演出明文、密钥或解密算法的学问。这两种技术相互依存、相互支持、共同发展。,加密算法的三个发展阶段:,古典密码,对称密钥密码(单钥密码体制),公开密钥密码(双钥密码体制)。,这些算法按密钥管理的方式可以分为对称算法与非对称算法两大类,即我们通常所说的,对称密钥密码体制,和,非对称密钥密码体制,。,5.1,加密技术概述,1,对称密钥密码体制,传统密码体制所用的加密密钥和解密密钥相同,或实质上等同(即从一个可以推出另外一个),我们称其为对称密钥、私钥或单钥密码体制。对称密钥密码体制不仅可用于数据加密,也可用于消息的认证。,对称算法又可分为序列密码和分组密码两大类。序列密码每次加密一位或一字节的明文,也称为流密码。序列密码是手工和机械密码时代的主流方式。分组密码将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。最典型的就是,1977,年美国国家标准局颁布,DES,算法。,5.1,加密技术概述,图,5-2,对称密钥密码体制的通信模型,5.1,加密技术概述,单钥密码体制的,优点,是:,安全性高且加、解密速度快,其,缺点,是:,进行保密通信之前,双方必须通过安全信道传送所用的密钥。这对于相距较远的用户可能要付出较大的代价,甚至难以实现。,例如,在拥有众多用户的网络环境中使,n,个用户之间相互进行保密通信,若使用同一个对称密钥,一旦密钥被破解,整个系统就会崩溃;使用不同的对称密钥,则密钥的个数几乎与通信人数成正比,需要,n*(n-1),个密钥,。由此可见,若采用对称密钥,大系统的密钥管理几乎不可能实现。,5.1,加密技术概述,2,非对称密钥密码体制,若加密密钥和解密密钥不相同,从其中一个难以推出另一个,则称为非对称密钥或双钥密码体制。,采用双钥密码体制的主要特点是将加密和解密功能分开,因而可以实现多个用户加密的消息只能由一个用户解读,或只能由一个用户加密消息而使多个用户可以解读。,在使用双钥体制时,每个用户都有一对预先选定的密钥:一个是可以公开的,以,kl,表示,另一个则是秘密的,以,k2,表示,公开的密钥,k1,可以像电话号码一样进行注册公布,因此双钥体制又称作,公钥体制,(Public Key System),。,最有名的双钥密码体制是,1977,年由,R,ivest,、,S,hamir,和,A,dleman,等三人提出的,RSA,密码算法。,5.1,加密技术概述,图,5-3,双钥密码体制的通信模型,5.1,加密技术概述,双钥密码体制既可用于实现公共通信网的保密通信,也可用于认证系统中对消息进行数字签名。为了同时实现保密性和对消息进行确认,在明文消息空间和密文消息空间等价,且加密、解密运算次序可换,即,E,kl,(D,k2,(m)=D,k2,(E,k1,(m)=m,。,图,5-4,双钥保密和认证体制,5.1,加密技术概述,3,混合加密体制,实际网络多采用双钥和单钥密码相结合的混合加密体制,即加解密时采用单钥密码,密钥传送则采用双钥密码。这样既解决了密钥管理的困难,又解决了加、解密速度的问题。,5.1,加密技术概述,5.1.3,密码学的作用,密码学主要的应用形式有数字签名、身份认证、消息认证(也称数字指纹)、数字水印等几种,这几种应用的关键是密钥的传送,网络中一般采用混合加密体制来实现。密码学的应用主要体现了以下几个方面的功能。,(,1,)维持机密性,传输中的公共信道和存储的计算机系统容易受到被动攻击(如截取、偷窃、拷贝信息)和主动攻击(如删除、更改、插入等操作)。加密关键信息,让人看不懂,而,无从攻击。,(,2,)用于鉴别,由于网上的通信双方互不见面,必须在相互通信时(交换敏感信息时)确认对方的真实身份,即消息的接收者应该能够确认消息的来源,入侵者不可能伪装成他人。,(,3,)保证完整性,接收者能够验证在传送过程中是否被篡改;入侵者不可能用假消息代替合法消息。,(,4,)用于抗抵赖,在网上开展业务的各方在进行数据传输时,必须带有自身特有的、无法被别人复制的信息,以保证发生纠纷时有所对证,发送者事后不可能否认他发送的消息。,5.2,信息加密方式,网络数据加密常见的方式有链路加密、节点加密和端到端加密三种。,5.2.1,链路加密,链路加密方式中,所有消息在被传输之前进行加密,不但对数据报文正文加密,而且把路由信息、校验和等控制信息也进行加密。在每一个节点接收到数据报文后,必须进行解密以获得路由信息和校验和,进行路由选择、差错检测,然后使用下一个链路的密钥对报文进行加密,再进行传输。,在每一个网络节点中,消息以明文形式存在,5.2,信息加密方式,5.2.2,节点加密,节点加密是指在信息传输路过的节点处进行解密和加密。尽管节点加密能给网络数据提供较高的安全性,但它,在操作方式上与链路加密是类似的,:两者均在通信链路上为传输的消息提供安全性,都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。然而,,与链路加密不同的是,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。,节点加密要求报头和路由信息以明文形式传输。,不能有效,防止攻击者分析通信业务。节点加密与链路加密有共同的缺点:需要网络提供者修改交换节点,增加安全模块或保护装置。,5.2,信息加密方式,5.2.3,端到端加密,端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。,端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。,5.3,常用加密算法,5.3.1,古典密码算法,1,代码加密,它使用通信双方预先设定的一组有确切含义的如日常词汇、专有名词、特殊用语等的代码来发送消息,一般只能用于传送一组预先约定的消息。,2,替换加密,将明文字母表,M,中的每个字母替换成密文字母表,C,中的字母。这一类密码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等。这种方法可以用来传送任何信息,但安全性不及代码加密。因为每一种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解。典型的有,凯撒密码,。,5.3,常用加密算法,5.3.1,古典密码算法,(,续,),3,变位加密,变位加密不隐藏明文的字符,即明文的字母保持相同,但其顺序被打乱重新排列成另一种不同的格式。,1,)简单变位加密。预先约定好一组数字表示密钥,将文字依次写在密钥下,再按数字次序重新组织文字实现加密,也有人喜欢将明文逆序输出作为密文。例如,密钥:,5 2 4 1 6 3 (,密文排列次序,),明文:信息安全技术,密文:技息全信术安,2,)列变位法。将明文字符分割成个数固定的分组(如,5,个一组,,5,即为密钥!),按一组一行的次序整齐排列,最后不足一组用任意字符填充,完成后按列读取即成密文。,5.3,常用加密算法,5.3.1,古典密码算法,(,续,),3,)矩阵变位加密。将明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。一般为按列变换次序,如原列次序为,1234,,现为,2413,。,明文,Network Security,按行排列在,3,6,矩阵中,如下所示:,1 2 3 4 5 6,N e t w o r,k S e c u,r i t y,给定一个置换:,,根据给定的次序,按,5,、,2,、,6,、,4,、,1,、,3,的列序重新排列,得到:,5 2 6 4 1 3,o e r w N t,c u e k S,i y r t,所以,密文为:,oerwNtc uekS i yrt,。解密过程正好相反,按序排列密文后,通过列置换再按行读取数据即可。,4,一次性密码簿加密,密码簿每一页都是不同的代码表,可用一页上的代码来加密一些词,用后销毁,再用另一页加密另一些词,直到全部的明文完成加密,破译的唯一方法就是获取一份相同的密码簿。,5.3,常用加密算法,5.3.2,单钥加密算法,保密性完全依赖于密钥的保密,且加密密钥和解密密钥完全相同或等价,又称为对称密钥加密算法,其加密模式主要有序列密码(也称流密码)和分组密码两种方式。,流密码,是将明文划分成字符(如单个字母),或其编码的基本单元(如,0,、,1,数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流解密。流密码的强度完全依赖于密钥流序列的随机性和不可预测性,其核心问题是密钥流生成器的设计,流密码主要应用于政府和军事等国家要害部门。,分组密码,是将明文消息编码表示后的数字序列,x1,,,x2,,,,,xi,,,,划分为长为,m,的组,x=(xo,,,xl,,,,,xm-1),,各组,(,长为,m,的矢量,),,分别在密钥,k=(ko,,,k1,,,,,kL-1),控制下变换成等长的输出数字序列,y=(yo,,,y1,,,,,yn-1)(,长为,n,的矢量,),
展开阅读全文