《计算机网络安全技术第6章.ppt》由会员分享,可在线阅读,更多相关《计算机网络安全技术第6章.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章密钥管理加密技术一般地采用加密算法来实现,而加密算加密技术一般地采用加密算法来实现,而加密算法必须有密钥来控制。法必须有密钥来控制。过去的加密设计人员总是对算法的保密来增加密码过去的加密设计人员总是对算法的保密来增加密码的强度,现在的加密系统算法是公开的,明文的保密的强度,现在的加密系统算法是公开的,明文的保密主要依赖于密钥的保密。主要依赖于密钥的保密。在计算机网络环境中,由于用户和节点很多,需在计算机网络环境中,由于用户和节点很多,需要大量的密钥。信息系统的安全性取决于密钥的保护。要大量的密钥。信息系统的安全性取决于密钥的保护。密钥技术的核心是利用加密手段对大量数据加以保护,密钥技术的
2、核心是利用加密手段对大量数据加以保护,因而可归结为对若干核心参量密钥的保护。因而可归结为对若干核心参量密钥的保护。因此密钥的管理成为加密系统的核心的首要问题。因此密钥的管理成为加密系统的核心的首要问题。6.1 密钥管理的问题密密钥钥的的管管理理是是一一项项复复杂杂细细致致的的长长期期工工作作,既既包包含含了了一一系系列列的的技技术术问问题题,又又包包含含了了行行政政管管理理人人员员的的素素质质问题。问题。在在密密钥钥的的产产生生、分分配配、注注入入、存存储储、更更换换、使使用用和和管管理理等等一一系系列列环环节节中中,必必须须注注意意到到每每一一个个细细小小的的环环节,否则就会造成意想不到的损
3、失。节,否则就会造成意想不到的损失。每每个个具具体体系系统统的的密密钥钥管管理理必必须须与与具具体体的的使使用用环环境境和和保密要求相结合,万能的密钥管理体制是不存在的。保密要求相结合,万能的密钥管理体制是不存在的。实实践践表表明明,从从密密钥钥管管理理渠渠道道窃窃取取密密钥钥比比单单纯纯从从破破译译途径窃取密钥要容易得多,代价要小得多。途径窃取密钥要容易得多,代价要小得多。评价密钥管理系统性能好坏的标准一一个个好好的的密密钥钥管管理理系系统统应应该该尽尽量量不不依依赖赖于于人人的的因因素素,这这不不仅仅是是为为了了提提高高密密钥钥管管理理的的自自动动化化水水平平,根根本本的的目目的的还还是是
4、为为了了提提高高系系统统的的安安全全程程度度。为为此此,有以下具体要求:有以下具体要求:1 1)密钥难以被非法窃取;密钥难以被非法窃取;2)2)在一定条件下,窃取了密钥也没有用;在一定条件下,窃取了密钥也没有用;3)3)密密钥钥的的分分配配和和更更换换过过程程在在用用户户看看来来是是透透明明的的,用户不一定亲自掌握密钥。用户不一定亲自掌握密钥。因因此此,常常常常用用以以上上几几点点要要求求来来评评价价一一个个密密钥钥管管理理系统性能好坏的标准。系统性能好坏的标准。一一个个系系统统设设计计时时,首首先先要要明明确确解解决决什什么么问问题题,有有哪哪些些因因素素要要考考虑虑,这这是是设设计计好好一
5、一个个系系统统的的前前提。一般来说,以下几个方面的因素必须考虑:提。一般来说,以下几个方面的因素必须考虑:系统对保密强度的要求;系统对保密强度的要求;系系统统中中哪哪些些地地方方需需要要密密钥钥,这这些些密密钥钥采采用用什什么么方式预置或装入保密组件;方式预置或装入保密组件;多多长长时时间间要要更更换换一一次次密密钥钥,即即一一个个密密钥钥规规定定使使用的限期是多少;用的限期是多少;密钥在什么地方产生;密钥在什么地方产生;系统的安全性与用户的承受能力。系统的安全性与用户的承受能力。密钥的种类和作用n n数据加密密钥n n基本密钥n n主密钥n n其他密钥uu(1)终端密钥:)终端密钥:uu(2
6、)主机密钥)主机密钥数据加密密钥n n在一个数据通信网中,假定一个主体(可以是应用程序在一个数据通信网中,假定一个主体(可以是应用程序或终端用户等)要通过网络与一个客体(也是一个应用或终端用户等)要通过网络与一个客体(也是一个应用程序或终端用户)通信,为了保证数据的安全性,主体程序或终端用户)通信,为了保证数据的安全性,主体就需要用一个特定的加密算法和密钥来对数据进行加密,就需要用一个特定的加密算法和密钥来对数据进行加密,而客体也必须采用相同的算法和密钥对已加密的数据进而客体也必须采用相同的算法和密钥对已加密的数据进行解密。对数据加密的这种密钥一般定义为数据加密密行解密。对数据加密的这种密钥一
7、般定义为数据加密密钥,也称为初级密钥。当初级密钥直接用于通信保密时,钥,也称为初级密钥。当初级密钥直接用于通信保密时,称为初级通信密钥。当初级密钥直接用于文件保密时,称为初级通信密钥。当初级密钥直接用于文件保密时,称为初级文件密钥。当初级通信密钥直接用于通信过程称为初级文件密钥。当初级通信密钥直接用于通信过程的会话数据保密时,称为会话密钥。数据加密密钥可以的会话数据保密时,称为会话密钥。数据加密密钥可以由系统实体请求通过硬件或软件自动生成,也可以由用由系统实体请求通过硬件或软件自动生成,也可以由用户自己提供。户自己提供。基本密钥n n为为了了提提高高系系统统的的保保密密性性,通通常常要要求求对
8、对数数据据加加密密的的密密钥钥只只能能在在一一次次会会话话中中有有效效,通通话话结结束束,数数据据加加密密密密钥钥消消失失,这这种种密密钥钥可可以以由由主主体体通通过过乱乱码码随随机机产产生生器器产产生生。这这就就大大大大提提高高了了保保密密性性,但但也也存存在在一一个个问问题题,那那就就是是主主体体随随机机产产生生的的这这个个密密钥钥(数数据据加加密密密密钥钥)必必须须让让客客体体知知道道,否否则则客客体体就就无无法法得得到到明明文文。让让客客体体知知道道这这个个密密钥钥的的方方法法有有两两种种:一一种种是是通通过过秘秘密密信信道道或或信信使使送送到到客客体体手手中中,这这种种方方法法显显然
9、然不不适适合合现现代代电电子子通通信信;另另一一种种方方法法(也也是是目目前前比比较较通通用用的的方方法法)是是通通过过通通信信网网发发到到客客体体。由由于于通通信信网网不不能能用用明明文文的的形形式式发发送送,因因此此就就需需要要使使用用另另一一种种密密钥钥对对其其加加密密。这这种种密密钥钥就就叫叫做做基基本本密密钥钥,也也叫叫二二级级密密钥钥,它它用用于于加加密密保保护护数数据据的的密密钥钥。当当基基本本密密钥钥直直接接用用于于保保护护初初级级通通信信密密钥钥时时,称称为为二二级级通通信信密密钥钥;当当二二级级密密钥钥直直接接用用于于保保护护初初级级文文件件密密钥钥时时,称称为为二二级级文
10、文件件密密钥钥。基基本本密密钥钥应应由由安安装装人人员员请请求求系系统统自自动动产产生生,也可由密钥安装人员提供。也可由密钥安装人员提供。主密钥n n在一个大的网络系统中可能有上千个节点或端用户。在一个大的网络系统中可能有上千个节点或端用户。若要实现全网开通,每个节点就需要与其他节点或端若要实现全网开通,每个节点就需要与其他节点或端用户通信的基本密钥。这些基本密钥要形成一张表,用户通信的基本密钥。这些基本密钥要形成一张表,保存在节点(或端节点的保密装置)内。若以明文的保存在节点(或端节点的保密装置)内。若以明文的形式保存,有可能被窃取。为了保证它的安全,通常形式保存,有可能被窃取。为了保证它的
11、安全,通常还需要一个密钥对基本密钥表进行加密保护。这个密还需要一个密钥对基本密钥表进行加密保护。这个密钥就被称为主密钥,它是密钥管理方案中级别最高的钥就被称为主密钥,它是密钥管理方案中级别最高的密钥,用于对存储在主机系统中的数据加密密钥和基密钥,用于对存储在主机系统中的数据加密密钥和基本密钥提供保护。本密钥提供保护。其他密钥n n(1)终端密钥:)终端密钥:n n每一终端配置唯一的一个二级通信密钥,并且由密钥安装人员装入终端的密码装置。n n(2)主机密钥)主机密钥n n主机要进行各种不同的密码操作,因此在主机中同时配置主密钥和基本密钥。主机还要产生和存储数据加密密钥和基本密钥。密钥的生成n
12、n 密密钥钥的的产产生生目目前前主主要要是是利利用用噪噪声声源源技技术术。噪噪声声源源的的功功能能是是产产生生二二进进制制的的随随机机序序列列或或与与之之相相对对应应的的随随机机数数,它它是是密密钥钥产产生生设设备备的的核核心心部部件件。噪噪声声源源的的另另一一个个用用途途是是物物理理层层加加密密环环境境下下进进行行信信息息扩扩充充,使使网网络络具具有有防防止止流流量量分分析析的的功功能能。当当采采用用序序列列编编码码时时,也也有有防防止止乱乱数数空空发发的的功功能能。噪噪声声源源还还被被用用于于某某些些身身份份验验证证技技术术中中,如如对对等等实实体体鉴鉴别别中中。为为了了防防止止口口令令被
13、被窃窃取取,常常常常使使用用随机应答技术,这时的提问和应答是由噪声源控制的。随机应答技术,这时的提问和应答是由噪声源控制的。n n噪声源产生随机序列,按照产生的方法可分为:噪声源产生随机序列,按照产生的方法可分为:(1)伪伪随随机机序序列列:用数学方法和少量的种子密钥产生的周期很长的随机序列。伪随机序列一般都有良好的,能受理论检验的随机统计特性,但当序列的长度超过了唯一解距离时,就成了一个可预测的序列。(2)物物理理随随机机序序列列:用热噪声等客观方法产生的随机序列。实际的物理噪声往往要受到温度、电源、电路特性等因素的限制,其统计特性常常带有一定的偏向性。(3)(3)准准随随机机序序列列:用数
14、学的方法和物理的方法相结合产生的随机序列。准随机序列可以克服前两者的缺点。物理噪声源基本上有三类:基于力学的噪声源技术、基于电子学的噪声源技术、基于混沌理论的噪声源技术。(1)基于力学噪声源的密钥产生技术通常利用硬币或骰子抛撒落地的随机性产生密钥。(2)基于电子学噪声源的密钥产生技术这种方法利用电子学方法对噪声器件(如真空管、稳压二极管等)的噪声进行放大、整形后产生出密钥随机序列。(3)基于混沌理论的密钥产生技术混沌理论是一门新学科。利用混沌理论的方法,不仅可以产生噪声,而且噪声序列的随机性好,产生效率高。密钥的保护n n1密钥的分配n n2密钥的注入n n3密钥的存储n n4密钥的更换n n
15、5保密装置1密钥的分配n n密钥的分配一般要解决两个问题:一是引进自动分配密钥机制,以提高系统的效率;二是尽可能减少系统中驻留的密钥量。n n密钥分配是密钥管理系统最为复杂的问题,根据不同的用户要求和网络系统的大小,有不同的解决方法。过去密钥的分配主要是采用人工分配,今后人工分配方法也不会完全废除,特别是保密要求很高的部门。分配高级密钥采用人工分配是可取的,只要密钥分配人员是忠诚的,而且实施计划是周密的,则人工分配密钥时安全的。随着计算机等高技术措施引入人工分配密钥,人工分配密钥的安全将得到加强。然而,人工分配密钥却不适应现代计算机网络。利用计算机网络的数据处理和数据传输能力实现密钥分配自动化
16、,无疑有利于密钥的安全,反过来又提高了计算机网络的安全。计算机网络的密钥分配方法有:n n(1 1)只用会话密钥只用会话密钥n n在在一一个个较较小小的的网网络络中中,一一种种最最简简单单的的方方法法是是只只是是用用一一个个密密钥钥(即即会会话话密密钥钥)。有有一一专专门门机机构构生生成成密密钥钥后后,将将其其发发到到各各端端用用户户,保保存存在在保保密密装装置置内内。在在通通信信双双方方通信时,就直接使用这个会话密钥对信息加密。通信时,就直接使用这个会话密钥对信息加密。n n如如果果在在一一个个网网中中只只使使用用这这一一种种密密钥钥,在在密密钥钥更更换换时时就就必必须须在在同同一一时时间间
17、,在在网网内内的的所所有有节节点点(或或终终端端)上上进进行行。密密钥钥的的这这种种设设备备管管理理起起来来比比较较简简单单,但但因因为为在在某某一一段段时时间间内内对对网网上上传传输输的的所所有有数数据据都都采采用用同同一一密密钥钥加加密,故保密性不好。密,故保密性不好。(2 2)采用会话和基本密钥采用会话和基本密钥为为了了提提高高保保密密性性,可可使使用用两两种种密密钥钥会会话话密密钥钥和和基基本本密密钥钥。对对于于这这种种方方法法,进进行行数数据据传传输输的的过过程程是是:主主体体在在发发送送数数据据之之前前首首先先产产生生会会话话密密钥钥,用用基基本本密密钥钥对对其其加加密密后后,通通
18、过过网网络络发发送送到到客客体体;客客体体收收到到后后用用基基本本密密钥钥对对其其解解密密,双双方就可以进行通信了;会话结束,会话密钥消失。方就可以进行通信了;会话结束,会话密钥消失。由由于于数数据据加加密密的的密密钥钥只只在在一一次次会会话话内内有有效效,会会话话结结束束,会会话话密密钥钥就就消消失失。下下次次会会话话时时,在在产产生生新新的的会会话话密密钥钥,因因此此大大提高了系统的安全性。大大提高了系统的安全性。为为了了防防止止会会话话密密钥钥和和中中间间一一连连串串加加密密结结果果被被非非法法破破译译,加加密密方方法法和和密密钥钥必必须须保保存存在在一一个个定定义义为为保保密密装装置置
19、的的保保护护区区中中。基基本本密密钥钥必必须须以以秘秘密密信信道道的的方方式式传传送送,由由专专人人注注入入保保密密装装置,不能以明文形式存在于保密装置之外。置,不能以明文形式存在于保密装置之外。(3 3)采用非对称密钥密码体制的密钥分配采用非对称密钥密码体制的密钥分配非非对对称称密密钥钥密密码码体体制制不不仅仅可可以以对对数数据据加加密密,实实现现数数字字签签名名,也也可可用用于于对对密密钥钥的的分分配配。采采用用非非对对称称密密钥钥密密码码体体制制,每每个个用用户户都都需需要要有有一一对对密密钥钥,这这一一对对密密钥钥分分别别表表示示为为DKDK和和EKEK。DKDK用用于于解解密密(也也
20、称称为为秘秘密密密密钥钥),这这个个密密钥钥只只有有该该用用户户自自己己知知道道;EKEK用用于于加加密密(也也称称为为公公开开密密钥钥),全全网网络络互互通通,用用户户都都知知道道。如如果果用用户户A A想想与与用用户户D D通通信信,则则用用户户A A可可用用用用户户D D的的公公开开密密钥钥对对会会话话密密钥钥进进行行加加密密,发发送送到到用用户户D D;用用户户D D用用自自己己保保存存的的密密钥钥解解密密,就就可可得得到到需需要要的的会会话话密密钥钥。其其他他用用户户虽虽然然也也知知道道用用户户D D的的公公开开密密钥钥,但但不不知知道道相相应的秘密密钥,它就得不到相应的会话密钥。应
21、的秘密密钥,它就得不到相应的会话密钥。2密钥的注入密密钥钥的的注注入入通通常常是是采采用用人人工工方方式式。在在可可能能的的情情况况下下,重重要要密密钥钥可可由由多多人人、分分彼彼此此分分开开完完成成注注入入,并并且且注注入入的的内内容容应应不不能能被被显显示示出出来来。为为了了掌掌握握密密钥钥的的注注入入过过程程,所所有有密密钥钥应应按按编编号号进进行行管管理理。密密钥钥常常用用的的注注入入方方法法有有:键键盘盘输入、软盘输入、专用密钥注入设备(即密钥枪)输入。输入、软盘输入、专用密钥注入设备(即密钥枪)输入。除除了了正正在在进进行行加加密密操操作作的的情情况况之之外外,密密钥钥应应当当以以
22、加加密密保保护护的的形形式式存存储储。密密钥钥的的注注入入过过程程应应当当有有一一个个封封闭闭的的环环境境,不不存存在在可可能能被被窃窃听听装装置置接接受受的的电电磁磁泄泄漏漏或或其其他他辐辐射射,所所有接近注入的人员应该是绝对可靠的。有接近注入的人员应该是绝对可靠的。采用密钥枪或密钥软盘与键盘输入的口令相结合,只有在输入了合法的加密操作口令后,才能激活密钥枪或软盘里的密钥信息。因此,应建立一定的接口规约。在密钥注入完成后,不允许存在任何可能导出密钥的残留信息,比如应将内存中使用过的存储区清零。当将密钥注入设备用于远程传递密钥时,注入设备本身应设计成像加密设备那样的封闭式里逻辑单元。密钥注入后
23、,还要检验其正确性。3密钥的存储在在密密钥钥注注入入后后,所所有有存存储储在在加加密密设设备备里里的的密密钥钥平平时时都都应应以以加加密密的的形形式式存存放放,而而对对这这些些密密钥钥的的操操作作口口令令应应该该由由操操作作人人员员掌掌握握。这这样样,即即使使装装有有密密钥钥的的加加密密设设备备被被破破译译者者拿拿到到,也可以保证密钥系统的安全。也可以保证密钥系统的安全。加加密密设设备备应应有有一一定定的的物物理理保保护护措措施施。一一部部分分最最重重要要的的密密钥钥信信息息应应采采用用掉掉电电保保护护措措施施,使使得得在在任任何何情情况况下下,只只要要拆拆开开加加密密设设备备,这这部部分分密
24、密钥钥就就会会自自动动丢丢掉掉。如如果果采采用用软软件件加加密密的的形形式式,应应有有一一定定的的软软件件保保护护措措施施。重重要要的的加加密密设设备备应应有有紧紧急急情情况况下下自自动动消消除除密密钥钥的的功功能能。在在可可能能的的情情况况下下,应应有有对对加加密密设设备备进进行行非非法法使使用用的的审审计计,把把非非法法口口令令输输入入等等事事件件的的发发生生时时间间记记录录下下来来。高高级级专专用用加加密密设设备备应应做做到到:无无论论是是通通过过直直观观的的方方法法还还是是自自动动(电电子子、X X射射线线、电电子子显显微微镜镜等等)方方法法都都不不能能从从密密码码设设备备中中读读出出
25、信信息息。对对当当前前使使用用的的密密钥钥应应有密钥合法性验证措施,以防止被篡改。有密钥合法性验证措施,以防止被篡改。4密钥的更换密密钥钥的的使使用用时时有有寿寿命命的的,一一旦旦密密钥钥的的有有效效期期到到,就就必必须须消消除除原原密密钥钥存存储储区区,或或者者用用随随机机产产生生的的噪噪声声重重写写。为为了了保保证证加加密密设设备备能能连连续续工工作作,也也可可以以在在新新密密钥钥生生效效后后,旧旧密密钥钥还还可可保保持持一一段段时时间间,以以防防止止在在密密钥钥更更换换期期间间不不能能解解密的死锁。密的死锁。密钥的更换,可以采用批密钥的方式,即一次性注入多密钥的更换,可以采用批密钥的方式
26、,即一次性注入多个密钥,在更换时可按照一个密钥生效,另一个密钥废个密钥,在更换时可按照一个密钥生效,另一个密钥废除的形式进行。替代的次序可采用密钥的序号,如果批除的形式进行。替代的次序可采用密钥的序号,如果批密钥的生效和废除是顺序的,则序数低于正在使用的密密钥的生效和废除是顺序的,则序数低于正在使用的密钥的所有密钥都已过期,相应的存储区都应清零。钥的所有密钥都已过期,相应的存储区都应清零。5保密装置密密钥钥变变换换和和数数据据加加密密的的基基本本操操作作都都用用一一个个保保密密装装置置来来实实现现的的,它它是是一一种种专专用用的的、具具有有很很高高安安全全性性和和可可靠靠性性的的数数据据保保护
27、护工工具具。保保密密装装置置可可用用硬硬件件和和软软件件实实现现,用用硬硬件件实实现现更更有有利利于于保保密密和和提提高高效效率率。目目前前国国外外都都采采用用微微处处理理器器和和软软件件相相结结合合的的技技术术来来实实现现。硬硬件件实实现现加加密密算算法法,软软件件实实现现控控制制和和检检测测功功能能,其其硬硬件组成如图件组成如图6.26.2所示所示65网络系统的密钥管理方法n n在加密系统中,算法是很重要的,但一般情况下算法是公开的,秘密全部寓于密钥之中,所以密钥的管理更为重要,而且面向网络的密钥管理尤为重要。如前所述,密钥的传统管理方法是采用密文传送的通信方法以外的安全通信手段将密钥传送
28、。下面介绍几种常用的密钥管理方法。Diffie-Hellman密钥管理方法n nDHDH方方法法是是19761976年年DiffieDiffie和和HellmanHellman提提出出的的Diffie-Diffie-HellmanHellman密密钥钥交交换换方方法法。选选择择大大素素数数q q和和生生成成元元a a(1aq1aq),其其中中q q和和a a是是公公开开的的,下下面面以以通通信双方信双方A A和和B B为例,介绍为例,介绍DHDH方法的思想。方法的思想。n nA A和和B B分分别别选选择择任任意意的的数数X Xa a和和X Xb b作作为为自自己己的的秘秘密信息,首先计算公开
29、的信息密信息,首先计算公开的信息Y Ya a和和Y Yb b:n nn n接着A和B相互地给对方发送Ya,Yb,然后计算共有密钥。由A计算由B计算和Kab相同的值Kba:A(或B)秘密地拥有Xa(或Xb),并拥有通信对方的公开信息Yb(或Ya),就可以计算Kab(或Kba)。Kab(或Kba)的安全性要得到了确保。为了加深理解上面的原理,下面给出DH法的一个例子。假设前面公式中的基本值a和q赋值为a=5,q=563,设A的秘密信息为Xa=9,设B的秘密信息为Xb=14。计算A和B的公开信息分别为Ya和Yb:=59mod563=78=514mod563=534Xa和Xb是秘密信息,Ya和Yb是公
30、开信息。A和B使用Xa、Xb、Ya、Yb可以计算共有密钥:=5349mod563=117=7814mod563=117在这里,A和B的共有密钥是117,就可以进行加密通信了。表表6.1 使用使用Diffie-Hellman密钥管理方法实现加密的过程密钥管理方法实现加密的过程发信者A受信者B前期准备秘密信息Xa秘密信息Xb公开信息Ya=公开信息事先通信取得B的公开信息Yb取得A的公开信息Ya共有密钥生成计算Kab=计算Kba=会话钥生成由随机数生成器生成会话钥数据信息加密用会话钥加密明文信息会话钥被加密用Kab将会话钥加密密文送信数据密文和加密后的会话钥接收从A发来的数据密文一起送给B和加密后的
31、会话钥解密会话钥用Kba将会话钥密文解密获得会话密钥数据信息解密 用会话钥将数据密文解密获 得数据明文基于公开钥加密体制的密钥管理方法基于公开钥加密体制的密钥管理方法1)需要的密钥对需要的密钥对是DH方法的两倍。受信者B的秘密钥和公开钥分别为Kh和Kq,其中秘密钥Kh只有受信者B拥有,公开钥Kq是公开的。对于公开钥加密方式,KhKq。A从B一方得到公开钥,处理过程如表6.2和图6.4所示。使用Kq对会话钥明文Kc进行加密(E变换)形成密文Ks。使用Kh对Ks解密(D变换)形成会话钥明文Kc,过程表示如下:Ks=E(Kq,Kc)Kc=D(Kh,Ks)用公开钥对会话钥进行加密,用会话钥对数据加密,
32、两部分密文内容一起送给B方。B方使用自己的秘密钥将密文解密,已获得会话钥明文,用会话钥将数据密文解密,获得数据明文信息。表表6.2 基于公开钥加密体制的密钥管理方法基于公开钥加密体制的密钥管理方法发信者A受信者B密钥对生成生成秘密钥Kh,公开钥Kq事先通信取得B的公开信息Kq会话钥生成由随机数生成器生成会话钥Kc数据信息加密用会话钥Kc加密明文信息会话钥被加密用Kq将会话钥Kc加密成KsKs=E(Kq,Kc)密文送信数据密文和加密后的会话钥Ks一起接收从A发来的数据密 送给B和加密后的会话钥Ks 用Kh将Ks解密获得会话钥明 文Kc数据信息解密 用会话钥Kc将数据密文解密 获得数据明文2 2)
33、伪造篡改问题)伪造篡改问题使用公开钥加密方式的密钥管理问题之一,就是伪造篡改问题。使用公开钥进行密钥管理的场合,从对方直接取得受信者的公开钥,密钥服务器是必需的,这时,产生怎样的疑问呢?取得的公开钥是自己通信对方的公开钥吗?第三者(盗听者)会不会篡改呢?并且,接受密文时,密文是谁生成发出的?送信者是谁?受信者是谁?这就是伪造篡改问题。解决这一 问 题的 手段 就 是向 系 统 中加 入 认证证 书CA(certificationauthority)机制。送信者取得受信者公开钥时,公开钥具有认证证书作的签名。并且,送信者送信时也要签名。就可以防止伪造篡改问题,而认证证书的伪造篡改问题怎样防止呢?
34、这可以采用层次性认证证书机制来解决。关于认证证书CA机制稍后讲述。公开钥会话钥被解密会话钥会话钥数据加密数据解密会话钥被加密秘密钥随机数生成器明文密文会话钥密文明文图图6.4 6.4 基于公开钥加密体制的密钥交换基于公开钥加密体制的密钥交换 基于基于KPSKPS的密钥管理方法的密钥管理方法1.基本原理基本原理给给出出系系统统参参与与者者的的公公开开的的认认证证子子ID,向向系系统统中中心心准准备备随随机机构构成成的的秘秘密密数数据据G。把把发发信信者者A的的认认证证子子定定义义为为IDa时时,计计算算Xa=GIDa。把把这这个个计计算算结结果果Xa称称为为A的的秘秘密密算算法法。把把接接受受者
35、者B的的认认证证子子定定义义为为IDb,计计算算Xb=GIDb。把把这这个个计计算算结结果果Xb称称为为B的的秘秘密密算算法法。A,B双双方方通通信信时时,把把各各自自的的认认证证子子传传递递给给对对方方,由由对对方方的的认认证证子子及及自自己己的的秘密算法生成密钥,秘密算法生成密钥,A方的共有密钥为:方的共有密钥为:Kab=XaIDb=(IDaG)IDb=IDaGIDbB方的共有密钥为:方的共有密钥为:Kba=XbIDa=(IDbG)IDa=IDbGIDa其其中中,IDbGIDa=IDaGIDb,也也就就是是A和和B有有相相同同的的共共有有密密钥钥。这种方法叫做线性模式。这种方法叫做线性模式
36、。2.2.线性模式线性模式1986年,松本努教授和今井秀树教授提出了一种线性模式。其主要原理介绍如下:首先把表示各用户的文字信息变成n比特的数据。对应单向函数h和密钥长度k比特,定义单向函数g。在管理KPS的中心,准备随机的k个nn行列式:M1,M2,Mk个行列式元素的值必须是0或1,而且,各行列式必须关于对角线对称。这样的对称矩阵M1,M2,Mk相当于基本原理一节中的G。例:假设n=4,k=3,管理中心的对称矩阵M1,M2,M3设定如下:从M1到M3构成了KPS方式的基本核心。A和B进行加密通信。首先两人将电子邮件地址的认证子向中心登录,将认证子用单向函数变成n个比特。A和B的认证子用单向函
37、数变成n个比特后的结果表示为IDa,IDb:IDa=h(A)=(0101)IDb=h(B)=(0011)在登录中心里,首先从M1到M3与IDa作乘法运算,从而计算出到。这种计算方法与一般行列式计算方法相同,相关的乘法运算时用异或原理。这里以A为例,=M1IDa=(1001)=M2IDa=(1010)=M3IDa=(0010)3.抗干扰模型抗干扰模型得到的结果到在基本原理上同秘密算法的Xa。将单向函数h和g及秘密算法(到)装入抗干扰模型,传给A方。抗干扰模型具有这样的特点:对模型内的信息很难进行不正当的读取或篡改。这个模型内的个人信息,A自己也看不见。对于B方,用同样的方法计算秘密算法Xb(到)
38、时,得到=M1IDb=(0011)=M2IDb=(1110)=M3IDb=(1001)把这些装入抗干扰模型,传递给B。从A向B通信的场合,A方要在抗干扰模型中进行下面的工作。(1)把B的认证子输入给单向函数h,单向函数h对全部用户有相同的定义。所以得出IDb=(0011)(2)得到的B的结果(0011)和A的秘密信息的一个相乘。此时加法运算规则是用异或原理IDb*=0*1+0*0+1*0+1*1=1(3)同理把IDb和 、,做相乘计算。(4)把得到的结果按顺序进行排列,形成kab=(101)(5)借助单向函数g计算得到的kab是共有密钥。在B一方,把A的认证子通过单向函数的计算得到IDa=(1
39、010)。然后同样的进行到与IDa的计算。IDa*=10+00+11+01=1IDa*=11+01+11+00=0IDa*=11+00+10+01=1所以kba=(101),kab和kba是相等的,是共有密钥。6.6分布式环境中公钥和单钥结合的密钥管 理体制 网络和分布式环境中,认证服务器星罗棋布,密钥量惊人,如何科学地管理、分配、存储密钥,方便地实现远域服务,是一个严峻的问题。下面介绍一种采用公钥和单钥密码体制相结合的方法来设计认证和密钥分配协议。域内的认证和密钥分配以单钥密码体制为基础,并采用随机数技术防止重放攻击,避免了时戳技术的局限性。域间的认证与密钥分配采用Diffie-Hellma
40、n密钥交换体制设计,有利于简化网络密钥管理。分层式公钥分配框架如下所述。CA0CA1CA1CA1CA2CA2CA3CA3CA2第0层第1层第2层第3层认证服务器认证服务器用户用户图 6.6 分层式公钥分配架构 在分布式环境中,当用户要申请使用另一个区域的服务时,需要申请远域服务票据,这就需要两个区域的认证服务器AS之间安全的信息交换。若采用单钥体制,两个认证服务器之间需要共享一个秘密密钥,但是在分布式环境中,认证服务器星罗棋布,密钥的管理、分配和存储是一个严峻的问题。一般而言,公钥认证体制可较为方便地实现这种域间认证,同时可以简化网络密钥的管理。但是,公钥体制的安全性依赖于公钥的真实性,否则非
41、常容易受到中间人攻击,这就需要在系统中引入公证机制,由可信赖的公证机构为用户和网络认证服务器签发公钥证件,以保证公钥的真实性。对于大型的计算机分布式环境而言。采用单一的公证机构为网络中的所有用户和认证服务器签发公钥证件是很困难的,而且不便于网络的业务扩充。图6.6为基于树型公钥证件签发模式树型公钥分配架构的一种适合计算机分布式环境的、可在全球扩展的分层式公钥分配架构,它可以有效、合理地简化网络管理机制。图6.6中第0层的CA0可以视为全球性的证件签发机构,第1层的CA1可以视为是国家级的证件签发机构,第2层的CA2代表省/州级的证件签发机构,而第3层的CA3则是本地区证件签发机构。实际上,CA
42、的层数应根据网络的分布规模决定,可以少于四层。我们仅以图6.6中虚线箭头所指链路为例,给出各级CA签发的证件链样式。为了便于描述,首先定义一些符号:PK(I),SK(I),(I=0,1,2,3),表示第I层CA的公钥和秘密钥。ID(l+1),(I=0,1,2),表示第I层CA为I+1层CA分配的身份代号。PKM,SKM,IDM,表示第4层持证者M(认证服务器或用户)的公钥,私钥和身份代号。C(l+1),(I=0,1,2),表示第I层CA为I+1层CA签发的证件。sign(X;Y),表示用密钥X对消息Y进行签名。h(X),表示对消息X的杂凑函数值。(1)第0层的CA0负责向第1层的CA1分配密钥
43、并签发公钥、证件:PK(0),C(1)。(2)第1层的CA1负责向第2层的CA2分配密钥并签发公钥、证件链:PK(0)PK(1),C(1)C(2)。(3)第2层的CA2负责向第3层的本地证件机构CA3分配密钥并签发公钥、证件链:PK(0)PK(1)PK(2),C(1)C(2)C(3)。(4)位于最低层的CA3负责向它的服务区域内的认证服务器AS分配密钥并签发公钥、证件链:PK(0)PK(1)PK(2)PK(3),C(1)C(2)C(3)CAS。同时给所有入网用户分配密钥并签发公钥、证件链:PK(0)PK(1)PK(2)PK(3),C(1)C(2)C(3)Cu。所有证件的签发都是脱机(Off-l
44、ine)的,即不包括在实时认证协议中。以C(1)为例说明证件样式:C(1)=P,N(1),lifetime,PK(1),ID(1),sign(SK(0);h(P,N(1),ID(1),PK(1),lifetime),式中,P,是由CA0选择的一个大素数和GF(P)上的本原元(CA1,CA2和CA3不用另外选择),N(1)是CA0为CA1签发证件时产生的随机数,lifetime为证件有效期。这样每个认证服务器和用户都得到一个证件链,可以用一个简化的样式来表示:Cert-AS:CA0CA1,CA1CA2,CA2CA3,CA3AS,Cert-User:CA0CA1,CA1CA2,CA2CA3,CA3
45、User,式中YX表示实体Y给实体X签发的证件。1、认证和密钥分配协议认证和密钥分配协议下面的协议描述中,E(X;Y)表示采用X对消息Y进行公钥加密,e(X;Y)表示采用X对消息Y进行单钥加密。1、初始登录协议中采用基于公钥体制的初始登录方式代替口令键入联机,并获得与AS共享的秘密认证钥。这种利用公钥体制验证身份、交换密钥的方法是目前计算机网络中最流行的做法,它能够有效地防止口令猜测攻击。设用户A已经向本服务区域的证件签发机构申请入网,并获得了证件链Cert-A。(1)认证服务器AS按一定时间间隔,向其域内用户公布其证件链和随机数RN1(每次公布消息时,RN1需要重新产生)。ASA:Cert-
46、AS,RN1(2)用户A首先对AS证件链进行验证。验证通过后,产生随机数RN2,向AS发送询问消息。AAS:E(PKAS;Cert-A,RN1,RN2,sign(SKA;h(RN1,RN2)(3)收到消息后,AS用私钥解密消息,验证Cert-A和签名的合法性。若均合法,存储RN2,向用户A回送应答信息。ASA:e(RN2;IDA,IDAS)(4)用户A收到消息,验证通过后,将RN2作为与AS共享的认证钥kA,AS=RN2。初始化登录中,用户和其域内的认证服务器所共同信赖的证件签发机构位于CA3层上,仅须采用CA3的公钥证件对CA3AS和CA3A进行验证。初始登录完成用户在认证服务器的注册。因无
47、需键入口令,从而避免了口令的一切不安全性;每过一定时间重新登录,用户的认证密钥是暂时存储并经常更换的,一次泄漏不会造成太大的危害,从而提高协议的可修复性,同时也解决了密钥存储、管理方面的问题。2 2认证和密钥分配协议认证和密钥分配协议用户A完成初始登录后,可以和用户B进行通信(假定B已经在其域内的认证服务器ASB登录,并获得共享的认证密钥KB,AS)。1)域内认证)域内认证(1)A首先向AS请求访问用户B。NA是表示消息新鲜性的随机数。AAS:DA,e(KA,AS;IDB,NA)(2)AS解密消息,根据B查询其所在的域,如果发现B在本域内,则按域内认证进行以后的操作。由于协议中避免使用时戳,为
48、了防止重放攻击,必须增加AS与B之间的一次交互,使B能够向AS提供随机数,保证以后传递的消息的新鲜性。AS产生随机数NAS,并向B发出通知ASB:e(KB,AS;IDA,IDB,NAS)(3)B解密AS发来的消息后,产生随机数NB,和地址信息一起加密回送给AS。BAS:e(KB,AS;IDA,NAS+1,IDA,NB)(4)AS产生A,B的会话密钥sk,连同B的身份代号和地址信息用KA,AS加密送至A,给B的消息以票据的方式传给A。ASA:e(KA,AS;IDB,addressB,sk,NA),e(KB,AS;IDA,IDB,sk;NB)(5)A解密AS发来的消息得到会话密钥sk,验证NA正确
49、性。验证通过后,A将AS传递的B的票据发送给B,并将自己的身份、地址信息以及随机数NA用sk加密同时发送给B。AB:e(KB,AS;IDA,IDB,sk,NB)e(sk;IDA,addressA,NA)(6)B解密A发来的消息得到sk后,验证其有效性。验证通过后,再解密得到A的地址信息,然后B发送给A用sk加密的认证符,证明自己的身份。BA:e(sk;NA+1)A对认证符验证通过后,则可以采用sk作为与B进行保密通信的会话密钥。2)域间认证)域间认证(1)A首先向其域内的认证服务器ASh请求访问用户B。AASh:IDA,e(KA,AS;IDB,NA)(2)ASh解密消息,根据B查询其所在的域A
50、Sv,并产生随机数Nhv。计算。AShASv:(3)ASv选择随机数Nvh,计算:,。ASvASh:Svh,e(Kvh;Cert-ASv,sign(SKv;h(Shv,Svh)(4)ASh对证件Cert-ASv和签名进行验证,验证通过后向ASv发送下面的消息。AShASv:e(Khv;Cert-ASh,sign(SKh;h(Shv,Svh),IDA,IDB,Nh)(5)ASv解密收到的消息后,对公钥证件Cert-ASh和签名进行验证。两个认证服务器对双方证件链的合法性的验证过程如下:在接收到对方的证件链后,首先比较、判断双方共同信赖的证件机构处于哪一层上。如果所共同信赖的CA位于CA3层上,仅