510 likes | 739 Views
第 5 章 加密与认证技术. 本章学习目标: 掌握加密通信的系统模型 了解密码学知识及常见的密码体制 了解三种网络加密方法的特点 了解常用加密算法 了解加密技术在数字签名和认证中的应用 了解公钥基础设施的应用. 5.1 加密技术概述. 信息安全主要包括 系统安全 和 数据安全 两个方面。 系统安全一般采用防火墙、防病毒及其他安全防范技术等措施,是属于被动型的安全措施 。 数据安全则主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。. 5.1 加密技术概述.
E N D
第 5 章加密与认证技术 • 本章学习目标: • 掌握加密通信的系统模型 • 了解密码学知识及常见的密码体制 • 了解三种网络加密方法的特点 • 了解常用加密算法 • 了解加密技术在数字签名和认证中的应用 • 了解公钥基础设施的应用
5.1 加密技术概述 信息安全主要包括系统安全和数据安全两个方面。 系统安全一般采用防火墙、防病毒及其他安全防范技术等措施,是属于被动型的安全措施。 数据安全则主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。
5.1 加密技术概述 密码学是研究数据的加密、解密及其变换的学科,涵盖数学、计算机科学、电子与通信学科。 密码技术不仅服务于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。 密码技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理、密钥托管等技术,是保护大型网络传输信息安全的唯一实现手段,是保障信息安全的核心技术。它以很小的代价,对信息提供一种强有力的安全保护。
5.1 加密技术概述 5.1.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年由Rivest、Shamir和Adleman等三人提出的RSA密码算法。
5.1 加密技术概述 图5-3 双钥密码体制的通信模型
5.1 加密技术概述 双钥密码体制既可用于实现公共通信网的保密通信,也可用于认证系统中对消息进行数字签名。为了同时实现保密性和对消息进行确认,在明文消息空间和密文消息空间等价,且加密、解密运算次序可换,即Ekl(Dk2(m))=Dk2(Ek1(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的矢量),其加密函数E:Vn×K→Vn,Vn是n维矢量空间,K为密钥空间。 实质上是字长为m的数字序列的代替密码。
5.3 常用加密算法 5.3.2 单钥加密算法(续) 图5-9 56位DES加密算法的框图 DES算法是一种对二元数据进行加密的分组密码,数据分组长度为64bit(8byte),密文分组长度也是64bit,没有数据扩展。密钥长度为64bit,其中有效密钥长度56bit,其余8bit为奇偶校验。DES的整个体制是公开的,系统的安全性主要依赖密钥的保密。
5.3 常用加密算法 5.3.3 双钥加密算法 双钥密码体制的加密密钥和解密密钥不相同,它们的值不等,属性也不同,一个是可公开的公钥,另一个则是需要保密的私钥。双钥密码体制的特点是加密能力和解密能力是分开的,即加密与解密的密钥不同,或从一个难以推出另一个。 它可以实现多个用户用公钥加密的消息只能由一个用户用私钥解读,或反过来,由一个用户用私钥加密的消息可被多个用户用公钥解读。其中前一种方式可用于在公共网络中实现保密通信;后一种方式可用于在认证系统中对消息进行数字签名。
5.3 常用加密算法 双钥加密算法的主要特点如下: 1)用加密密钥PK对明文m加密后得到密文,再用解密密钥SK对密文解密,即可恢复出明文m,即 DSK(EPK(m))=m 2)加密密钥不能用来解密,即: DPK(EPK(m))≠m ;DSK(ESK(m))≠m 3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。 4)从已知的PK不可能推导出SK。 5)加密和解密的运算可对调,即 EPK(DSK(m))=m 双钥密码体制大大简化了复杂的密钥分配管理问题,但公钥算法要比私钥算法慢得多(约1000倍)。
5.3 常用加密算法 RSA算法 RSA体制是由R.L.Rivest、A.Shamir和L.Adleman设计的用数论构造双钥的方法,它既可用于加密,也可用于数字签名。RSA得到了世界上的最广泛应用,ISO在1992年颁布的国际标准X.509中,将RSA算法正式纳入国际标准。1999年,美国参议院已经通过了立法,规定电子数字签名与手写签名的文件、邮件在美国具有同等的法律效力。在Internet中广泛使用的电子邮件和文件加密软件PGP(Pretty Good Privacy)也将RSA作为传送会话密钥和数字签名的标准算法。 RSA算法的安全性建立在数论中“大数分解和素数检测”的理论基础上。
5.3 常用加密算法 RSA算法表述 假定用户A欲送消息m给用户B,则RSA算法的加/解密过程为: 1)首先用户B产生两个大素数p和q(p、q是保密的)。 2)用户B计算n=pq和φ(n)=(p-1)(q-1)(φ(n)是保密的)。 3)用户B选择一个随机数e(0<e<φ(n)),使得(e,φ(n))=1,即e和φ互素。 4)用户B通过计算得出d,使得d×e mod φ(n)=1(即在与n互素的数中选取与φ(n)互素的数,可以通过Euclidean算法得出。d是用户B自留且保密的,用作解密密钥)。 5)用户B将n及e作为公钥公开。 6)用户A通过公开渠道查到n和e。 7)对m施行加密变换,即EB(m)=me mod n=c。 8)用户B收到密文c后,施行解密变换 DB(c)=cd mod n=(me mod n)d mod n=med mod n=m mod n
5.3 常用加密算法 数论运算法则: a=b mod n ,则 b=a mod n a=b mod n ,b=c mod n,则 a=c mod n a mod n=b mod n ,则 (a-b) mod n=0 [(a mod n) +(b mod n)] mod n =(a+b) mod n [(a mod n)-(b mod n)] mod n =(a-b) mod n [(a mod n) *(b mod n)] mod n =(a*b) mod n 例: 计算 154 mod 12
5.3 常用加密算法 例: 明文为“HI”。则操作过程如下: 1、设计密钥公钥(e,n)和私钥(d,n) 令p=11,q=5。取e=3,计算: n=p*q=55,求出φ(n)=(p-1)(q-1)=40 计算:e×d mod φ(n) =1,即在与55互素的数中选取与40互素的数 得:d=27(保密数)。因此:公钥对为(3,55),私钥对为(27,55)。 2、加密: 按1-26的次序排列字母,则H为8,I为9。用公钥(3,55)加密: E(H)=83 mod 55=17 E(I)=93 mod 55=14 即密文为:QN。 3、解密: D(Q)=1727 mod 55=8 D(N)=1427 mod 55=9, 还原成功。
5.4 认证技术 认证的目的有三个:一是消息完整性认证,即验证信息在传送或存储过程中是否被篡改;二是身份认证,即验证消息的收发者是否持有正确的身份认证符,如口令或密钥等;三是消息的序号和操作时间(时间性)等的认证,其目的是防止消息重放或延迟等攻击。认证技术是防止不法分子对信息系统进行主动攻击的一种重要技术。 5.4.1 认证技术的分层模型 认证技术一般可以分为三个层次:安全管理协议、认证体制和密码体制。安全管理协议的主要任务是在安全体制的支持下,建立、强化和实施整个网络系统的安全策略;认证体制在安全管理协议的控制和密码体制的支持下,完成各种认证功能;密码体制是认证技术的基础,它为认证体制提供数学方法支持。
5.4 认证技术 一个安全的认证体制至少应该满足以下要求: 1)接收者能够检验和证实消息的合法性、真实性和完整性。 2)消息的发送者对所发的消息不能抵赖,有时也要求消息的接收者不能否认收到的消息。 3)除了合法的消息发送者外,其他人不能伪造发送消息。 认证体制中通常存在一个可信中心或可信第三方(如认证机构CA,即证书授权中心),用于仲裁、颁发证书或管理某些机密信息。通过数字证书实现公钥的分配和身份的认证。 数字证书是标志通信各方身份的数据,是一种安全分发公钥的方式。CA负责密钥的发放、注销及验证,所以CA也称密钥管理中心。CA为每个申请公开密钥的用户发放一个证书,证明该用户拥有证书中列出的公钥。CA的数字签名保证不能伪造和篡改该证书,因此,数字证书既能分配公钥,又实现了身份认证。
5.4 认证技术 5.4.2 数字签名技术 数字签名就是信息发送者使用公开密钥算法技术,产生别人无法伪造的一段数字串。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可以确定消息来自于谁,同时也是对发送者发送信息的真实性的一个证明。发送者对所发信息不能抵赖。 数字签名与传统签名的区别:①需要将签名与消息绑定在一起;②通常任何人都可以验证;③要考虑防止签名的复制、重用。 数字签名必须保证: 1)可验证。签字是可以被确认的。 2)防抵赖。发送者事后不承认发送报文并签名。 3)防假冒。攻击者冒充发送者向收方发送文件。 4)防篡改。收方对收到的文件进行篡改。 5)防伪造。收方伪造对报文的签名。 签名对安全、防伪、速度要求比加密更高。
5.4 认证技术 5.4.3 身份认证技术 身份认证,又称身份鉴别,是指被认证方在没有泄露自己身份信息的前提下,能够以电子的方式来证明自己的身份,其本质就是被认证方拥有一些秘密信息,除被认证方自己外,任何第三方(某些需认证权威的方案中认证权威除外)无法伪造,被认证方能够使认证方相信他确实拥有那些秘密,则他的身份就得到了认证。 身份认证的目的是验证信息收发方是否持有合法的身份认证符(口令、密钥和实物证件等)。从认证机制上讲,身份认证技术可分为两类:一类是专门进行身份认证的直接身份认证技术;另一类是在消息签名和加密认证过程中,通过检验收发方是否持有合法的密钥进行的认证,称为间接身份认证技术。 1.身份认证方式:主要有通行字方式和持证方式两种 常用的身份认证技术 2.身份认证协议:询问-应答式协议,验证身份真伪
5.4 认证技术 5.4.4 消息认证技术 消息认证是指通过对消息或消息相关信息进行加密或签名变换进行的认证,目的是为防止传输和存储的消息被有意或无意地篡改,包括消息内容认证(即消息完整性认证)、消息的源和宿认证(即身份认证)及消息的序号和操作时间认证等。 消息认证所用的摘要算法与一般的对称或非对称加密算法不同,它并不用于防止信息被窃取,而是用于证明原文的完整性和准确性。也就是说,消息认证主要用于防止信息被篡改。 1.消息内容认证 消息内容认证常用的方法是:消息发送者在消息中加入一个鉴别码(MAC、MDC等)并经加密后发送给接收者(有时只需加密鉴别码即可)。接收者利用约定的算法对解密后的消息进行鉴别运算,将得到的鉴别码与收到的鉴别码进行比较,若二者相等,则接收,否则拒绝接收。
5.4 认证技术 5.4.4 消息认证技术(续) 2.源和宿的认证 一种是通信双方事先约定发送消息的数据加密密钥,接收者只需证实发送来的消息是否能用该密钥还原成明文就能鉴别发送者。 另一种是通信双方实现约定各自发送消息所使用的通行字,发送消息中含有此通行字并进行加密,接收者只需判别消息中解密的通行字是否等于约定的通行字就能鉴定发送者。 3.消息序号和操作时间的认证 消息的序号和时间性的认证主要是阻止消息的重放攻击。常用的方法有消息的流水作业、链接认证符随机数认证法和时间戳等。 1)MD5。信息摘要算法,由RSA Data Security公司的Rivest于1992年提出,能对任何长度的输入消息进行处理,产生128bit长的“消息摘要”输出。 典型算法 2)SHA算法。它能为任意长度的输入产生160bit的杂凑值。
5.4 认证技术 5.4.5 数字水印技术 数字水印就是将特定的标记隐藏在数字产品中,用以证明原创者对产品的所有权,并作为起诉侵权者的证据。 1996年,在英国召开了首届国际信息隐藏会议,提出了数字水印技术,用来对付数字产品的非法复制、传播和篡改,保护产权。在多媒体信息中隐蔽地嵌入可辨别的标记,实现版权声明与跟踪。数字水印还可以广泛应用于其他信息的隐藏,如在一个正常的文件中嵌入文本、图像、音频等信息。 当然,数字水印技术必须不影响原系统,还要善于伪装,使人不易察觉。隐藏信息的分布范围要广,能抵抗数据压缩、过滤等变换及人为攻击。总之,数字水印应“透明”、“健壮”和“安全”。
5.5 公钥基础设施PKI 公钥体制采用两个密钥将加密和解密能力分开:一个公钥作为加密密钥,一个私钥作为用户专有的解密密钥,通信双方无需实现交换密钥,即无需在网上传递私钥这样敏感信息就可以实现保密通信。 由于公钥体制的这一特征,在信息安全技术领域里,特别是网络安全技术中,公开密钥加密技术发展更快速,应用广泛。 PKI(Public Key Infrastructure,即公钥基础设施)就是在这项技术基础上形成和发展起来的。它很好地适应了因特网的特点,为因特网以及相类似的网络应用提供了全面的安全服务,如安全认证、密钥管理、数据完整性检验和不可否认性保证等。
5.5 公钥基础设施PKI 5.5.1 PKI的基本概念 PKI是一个用公钥密码算法原理和技术来提供安全服务的通用性基础平台,用户可以利用PKI平台提供的安全服务进行安全通信。PKI采用标准的密钥管理规则,能够为所有应用透明地提供采用加密和数字签名等密码服务所需要的密钥和证书管理。 PKI采用公钥技术、高级通信协议和数字签名等方式进行远程登录。由一个可信任的权威机构CA来证实用户的身份,然后CA对由该用户身份标识及对应公钥组成的证书进行数字签名,以证明公钥的有效性。 PKI应该对终端用户的操作是透明的,即所有安全操作在后台自动地进行,无需用户的干预,也不应因为用户的错误操作对安全造成危害。在整个应用环境中使用单一可信的安全技术。
5.5 公钥基础设施PKI PKI的功能: 证书产生与发放 证书撤销 密钥备份及恢复 证书密钥对的自动更新 密钥历史档案 支持不可否认 时间戳 交叉认证 用户管理 客户端服务(恢复密钥、检验证书、请求时间戳等) 支持用于认证的智能卡
5.5 公钥基础设施PKI 5.5.2 PKI的组成 认证中心CA:可靠的第三方机构验证,为信息安全提供有效的、可靠的保护机制,包括机密性、身份验证特性、不可否认性(交易的各方不可否认它们的参与)。CA是数字证书的签发机构,是PKI的核心。 CA的职责: 1)接收验证最终用户数字证书的申请。 2)确定是否接受最终用户数字证书的申请,即证书的审批。 3)向申请者颁发、拒绝颁发数字证书,即证书的发放。 4)接收、处理最终用户的数字证书更新请求,即证书的更新。 5)接收最终用户数字证书的查询、撤销。 6)产生和发布证书废止列表CRL(Certificate Revocation List)。 7)数字证书的归档。 8)密钥归档。 9)历史数据归档。
5.5 公钥基础设施PKI CA为了实现其功能,主要由三个部分组成。 1)注册服务器。通过 Web Server 建立的站点,可为客户提供每日24h的服务。因此,客户可以在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去排队等候等烦恼。 2)证书申请受理和审核机构。负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。 3)认证中心服务器。是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理服务。 数字证书的主要内容含:版本号、序列号、签字算法(认证机构的数字签字)、发出该证书的认证机构和有效期限。
5.5 公钥基础设施PKI 注册机构RA:RA系统是CA的证书发放、管理的延伸,它负责证书申请者的信息录入、审核以及证书发放等工作;同时,对发放的证书完成相应的管理功能;发放的数字证书可以存放于IC卡、硬盘或软盘等介质中;RA系统是整个CA中心得以正常运营不可缺少的一部分。 证书库CR:证书库是CA颁发证书和撤销证书的集中存放地,是网上的一种公共信息库,供广大公众进行开放式查询。 证书申请者: 是利用PKI进行网上交易的参与者。 证书信任方: 客户端软件:全功能、可操作PKI的必要组成部分。 PKI系统还必须提供密钥备份与解密密钥的恢复机制,即密钥备份与恢复系统,它由可信任的CA来完成。 可以在不同PKI之间建立信任关系,进行“交叉认证”。 PKI从技术上保证实体对他们行为的不可否认性。
5.5 公钥基础设施PKI 5.5.3 PKI的特点和标准 特点 1)节省费用 2)互操作性 3)开放性 4)一致的解决方案 5)可验证性 6)可选择性
5.5 公钥基础设施PKI 标准 1)PKI(Public-Key Infrastructure):公钥体系基础框架。 2)PKIX(Public-Key Infrastructure Using X.509):使用X.509的公钥体系基础框架。 3)X.500:由ISO和ITU提出的为大型网络提供目录服务的标准体系。 4)X.509:为X.500提供验证(Authenticating)体系的标准。 5)PKCS(Public Key Cryptography Standards):公钥加密标准
X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息.目前的版本是3。X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息.目前的版本是3。 证书持有人的公钥:包括证书持有人的公钥,算法(指明密钥属于哪种密码系统)的标示符和其他相关的密钥参数。证书的序列号:创建证书的实体(组织或个人)有责任为该证书指定一个独一无二的序列号,以区别于该实体发布的其他证书.序列号信息有许多用途;比如当一份证书被回收以后,它的序列号就被放入证书回收列表(CRL)之中。 证书持有人唯一的标示符:(或称DN,distinguished name)这个名字在Internet上应该是唯一的.DN由许多部分组成,看起来象这样: CN=Bob Allen, OU=Total Network Security Division, O=Network Associates, Inc., C=US这些信息指出该科目的通用名,组织单位,组织和国家 证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书何时失效。 证书发布者的唯一名字:这是签发该证书的实体的唯一名字。通常是CA使用该证书意味着信任签发证书的实体。 发布者的数字签名:这是使用发布者私钥生成的签名。签名算法的标示符:指明CA签署证书所使用的算法。 5.5 公钥基础设施PKI X.509证书包含以下数据
5.6 密码破译方法及预防破译措施 5.6.1 密码破译方法 (1)密钥的穷尽搜索 破译密文最简单的方法,就是尝试所有可能的密钥组合。 (2)密码分析 在不知道密钥的情况下,利用数学方法破译密文或找到秘密密钥。 (3)其他密码破译方法 社会工程、“窥视”或“盗窃”、利用加密系统实现中的缺陷或漏洞、“垃圾分析”、威胁等。
5.6 密码破译方法及预防破译措施 5.6.2 预防破译的措施 为了防止密码被破译,可以采取以下措施: 1)采用更强壮的加密算法。一个好的加密算法往往只能通过穷举法才能得到密钥,所以只要密钥足够长就会很安全。 2)动态会话密钥。尽量做到每次会话的密钥都不相同。 3)保护关键密钥。 4)定期变换加密会话的密钥。因为这些密钥是用来加密会话密钥的,一旦泄漏就会引起灾难性的后果。 5)建设良好的密码使用管理制度。
本章小结 信息加密是保障信息安全最核心的技术措施和理论基础,它采用密码学的原理与方法对信息进行可逆的数学变换,从而使非法接入者无法理解信息的真正含义,达到保证信息机密性的目的。信息加密算法共经历了古典密码、单钥密码体制(对称密钥密码)和双钥密码体制(公开密钥密码)三个阶段。 网络数据加密常见的方式有链路加密、节点加密和端到端加密三种。链路加密是对网络中两个相邻节点之间传输的数据进行加密保护;节点加密是指在信息传输路过的节点处进行解密和加密;端到端加密是指对一对用户之间的数据连续地提供保护。 古典密码常见的算法有:简单代替密码或单字母密码、多名或同音代替、多表代替,以及多字母或多码代替等。现代密码按照使用密钥方式的不同,可分为单钥密码体制和双钥密码体制两类。按照加密模式的差异,单钥密码体制有序列密码(也称流密码)和分组密码两种方式,它不仅可用于数据加密,也可用于消息认证,其中,最有影响的单钥密码是DES算法和IDEA算法。双钥密码体制的加密密钥和解密密钥不同,在网络通信中,主要用于认证(如数字签名、身份识别等)和密钥管理等,其优秀的算法有基于素数因子分解问题的RSA算法和基于离散对数问题的ElGamal算法。双钥密钥体制是一种非常有前途的加密体制。 在认证技术领域,通过使用密码手段,一般可以实现三个目标,即消息完整性认证、身份认证,以及消息的序号和操作时间(时间性)等的认证。认证技术模型在结构上由安全管理协议、认证体制和密码体制三层组成。 PKI是一个采用公钥密码算法原理和技术来提供安全服务的通用性基础平台,用户可以利用PKI平台提供的安全服务进行安全通信,PKI采用标准的密钥管理规则,能够为所有应用透明地提供采用加密和数字签名等密码服务所需要的密钥和证书管理。PKI在组成上主要包括认证机构CA、证书库、密钥备份(即恢复系统)、证书作废处理系统、PKI应用接口系统等。
作业与实验 MD5软件的使用 信息隐藏的软件实验 利用Windows构建CA中心