1、第3章 密 码 技 术第第3章章 密密 码码 技技 术术3.1 密码技术的基本概念3.2 对称加密技术3.3 非对称加密技术3.4 数字签名3.5 密钥管理3.6 密码技术应用实例3.7 小结习题 第3章 密 码 技 术3.1 密码技术的基本概念密码技术的基本概念就信息传输而言,在计算机通信网络应用于办公自动化之前,人们一直利用纸等物理文档手段记录和传输数据,并且设计、制定了详尽的协议、制度和机制,解决在记录和存储信息的过程中出现的安全问题。以通过邮政服务传递秘密信件为例,信件的私有性通过为信件加上密封的信封来实现,信件的完整性(不丢失、不被他人截获)可以通过挂号信、特快专递等服务而实现,但是
2、信封提供的安全保护十分有限,仍然无法达到人们所期望的安全保护级别。第3章 密 码 技 术因此出现了相应的法律,规定任何未授权拆阅他人信件的行为是犯罪行为,同时也出现这样的情况,即如果信件安全级别很高(比如绝密文件),则需要由专人通过专门的渠道进行传递。有时信息的安全性也借助记录信息的物理媒体来实现,如纸币通过使用特殊的印墨和特殊制作的材料以防止伪造。总的说来,这些传统的安全技术均依赖于物理记录的手段、存储介质、传输方法和法律进行约束,实现安全目标,而不是依赖于信息本身。第3章 密 码 技 术随着计算机办公自动化开始普及,信息的存储手段和发送方式已经发生了本质的变化,信息的形式已经电子化。人们利
3、用电磁、光电介质存储信息,通过网络设施传送这些信息。于是,在信息保护方面,出现了新的问题,即信息极易被非法复制、修改和滥用。人们可以毫不费力地将一份文件复制上千份,而且在几秒钟之内发送到世界各地,并且每一份文件与原文件可能没有任何差别。第3章 密 码 技 术传统的安全手段在现代信息的生成、存储和传输中迅速地失去其生命力,信息安全领域随之爆发了一场技术革命。以电子方式存储和传输的信息安全保护方式,应该是一种独立于存储和传输信息的物理媒体的数字保护方式,要以信息保护信息,也就是说,这些方式仅仅依赖于数字信息本身。我们可以把数字信息按某种规则进行变换,然后进行传输,接收方收到变换的信息后再进行相应的
4、反变换而得知传递的信息。这样,除了通信双方之外,其他任何人,如果他不知道变换的规则,即使能截获传递的变换信息,也不知道它的含义,从而达到用信息保护信息的目的。在这个过程中,密码学起到了非常重要的作用。第3章 密 码 技 术密码学是与信息的机密性、数据的完整性、身份认证和数据起源认证等信息安全问题相关的一门数学技术学科,有着悠久的历史。早在4000多年前就有埃及人运用密码学传递信息的记录。20世纪,密码学的应用和发展取得了长足进展。特别是在第二次世界大战中,密码学在情报、命令的传输过程中起到了重要的作用。不过,当时密码学的研究和应用多属于军事、外交和政府行为。20世纪60年代,计算机与通信系统的
5、迅猛发展,为人们提出了新的课题,即如何保护秘密的数字信息、如何通过计算机和通信网络安全地完成各项事务。正是这种需求,促使密码技术得到普遍的应用。20世纪70年代,IBM公司设计出DES私钥密码体制,并且在1977年被美国政府采纳为联邦信息处理标准,成为历史上最早的私钥密码体制。第3章 密 码 技 术密码学发展史上最为重要的里程碑却是 1976年 Diffie和Hellman公钥密码学的思想。他们利用离散对数难解这一数学问题,构造了如何安全交换数据以及密钥的新方法。可惜当时没有给出这些方法的具体实现。1978年,Rivest、Shamir和Aldleman设计出第一个在实践中可用的公开密钥加密和
6、签名方案,即RSA。这个方案的安全性基于另一类数学难题,即大数难分解问题。到1985年,ElGamal给出了另一个极具实用性的公钥密码体制,即ElGamal体制,这种体制的安全性仍然基于离散对数问题。第3章 密 码 技 术入20世纪90年代,人们对公钥密码体制和私钥密码体制提出了新的安全要求。计算机处理能力的提高以及传输技术的发展,使得DES的安全性受到严重的威胁。人们能在20小时之内利用穷举法破译56位密钥的DES加密。因此,美国政府正在制定一种新型的联邦信息处理标准AES,以代替DES。同时,基于安全性和可操作性方面的考虑,人们不断设计新型的公钥密码体制。例如,基于椭圆曲线和超椭圆曲线的有
7、理点构成的基础交换群的椭圆密码公钥体制,正成为研究的热门。第3章 密 码 技 术3.1.1 加密与解密加密与解密1加密加密加密就是对数据进行编码,使其看起来毫无意义,但同时仍确保其可恢复。接收到的加密消息可以被解密,转换成原来可理解的形式。这一概念是密码学的基础。密码技术结合数学、计算机科学、电子与通信等诸多学科,不仅具有保证信息机密性的信息加密功能,而且具有数字签名、身份验证、秘密分存、维护系统安全等功能。使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和真实性,防止信息被篡改、伪造和假冒,这里的核心技术就是加密。一般的加密过程都是根据一个规则或者一个数学算法进行,并且使用一个
8、加密参数,我们把这个参数叫做密钥。第3章 密 码 技 术换位和置换是两种主要的加密(编码)方法,它们是组成最简单的密码的基础。换位就是将组成信息块的数字位进行交换,很像那种把组成一个单词的字母组成顺序打乱的游戏。在换位密码中,数据本身并没有改变,只是被安排为另一种不同的格式,或者其顺序被“打乱”了。例如,把信息块 1234567890按1与3、2与4、5与7、6与8、9与0位互换的规则进行换位编码,其结果是 3412785609,其形式与原来完全不同。第3章 密 码 技 术加密的另一种主要形式是置换。它将每一个字符或数位替换为其它内容。对文件中的字符或符号进行替换,就能创建一个置换密码。事实上
9、,除了能对单个字符进行置换以外,还可以对数位进行置换,甚至可以对字符块或组进行置换,以获得编码信息。有许多种不同的置换密码。例如,假设置换规则是每个字母都用(26个字母的自然顺序)其前面的第二个字母置换,如果到了最后那个字母,则又从头开始算。按照这个置换规则,security被置换为qcaspgrw,该字符串无任何意义。第3章 密 码 技 术在现代通信中,为了保护数据在传递过程中不被别人窃听或修改,必须对数据进行加密。加密后的数据称为密文,加密前的原始数据称为明文。接收方因为有正确的密钥,因此可以将密文还原成正确的明文。如果密文被别人窃取了,也会因为没有密钥而无法将之还原成原始未经加密的数据,
10、从而保证了数据的安全性。可以说加密技术是计算机通信网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。第3章 密 码 技 术信息的编码以及随后的解码方法可以很简单,也可以很复杂。要完成这些操作,需要一些加密算法或方法。加密算法可以很简单,比如置换字母或字符,也可以非常复杂,比如使用复杂的过程将某些数学方法结合起来创建出复杂的代码,只能被特别的密钥或一组密钥解开。当文件中包含敏感或关系重大的数据时,最适合的安全保护方法就是加密,比如口令文件,必须进行加密保护。第3章 密 码 技 术在通常情况下,通信网络中最重要的问题之一就是对口令和
11、网络上传输的信息加密。网络系统的主要敏感信息是有关网络登录和口令认证信息,这些信息经常在网络上传输。未加密的口令会带来安全问题,因为有人可能会用口令探测和其它形式的偷听、窃听设备,读取被传输的数据,并能够掌握被传输的口令。特别是文件服务器上的口令文件如果处于未加密的状态,就会有人偷窃它,并且用其中的信息访问不同的系统账户,造成对整个网络系统的安全威胁。有些系统已经设计成在网络上加密传输口令的方式,确保了口令的可靠性,真正构成了一道安全的防线。随着技术的进步,加密正逐步被集成到系统和网络中,例如正在发展的下一代网际协议IPv6就考虑了数据包加密传输的问题。硬件方面,Intel公司也在研制用于PC
12、机和服务器主板的加密协处理器。第3章 密 码 技 术2解密解密加密的逆过程称为解密。加密的作用是为了保护信息的安全,因此,一段信息经过加密保护后,应该能够恢复成明文。一般在设计加密方法时,同时要设计解密方法,加密与解密是成对出现的,从算法上来讲,解密应该是加密的逆运算。解密就是将密文恢复成明文的过程。当然,这里所说的解密是一种经过授权的解密,这里的授权是指经过加密方的允许,不是私自进行解密,更不能是窃取、截获密文后所进行的解密。要对一段加密的信息进行解密,需要具备两个条件,一个条件是需要知道解密规则或者算法,另一个条件是需要知道解密的密钥。用于公共服务的加密技术,比如DES、RSA等加密算法,
13、其加密规则和加密算法、解密规则和解密算法都是公开的,在这种情况下,解密所需要的条件就是要知道解密密钥。第3章 密 码 技 术就加密方式而言,有对称密钥技术和非对称密钥技术。对称密钥技术要求加密密钥和解密密钥相同,而非对称密钥技术的加密密钥与解密密钥不相同,并且,加密密钥和解密密钥在计算上是不能相互算出的。第3章 密 码 技 术3密码破译密码破译未经授权的解密称为破译。破译者不具有解密密钥,因此,他首先要试图得到解密密钥。一个好的加密算法,破译者是不能从公开的必要的信息中(比如加密算法、密钥长度等)推算出解密密钥的,就密码技术而言,获取密钥的唯一有效的方法就是穷举法。穷举法是需要付出人力、财力以
14、及时间代价的。密码学包括密码编码学和密码分析学,密码体制的设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容,密码编码技术和密码分析技术是相互依存、互相支持、密不可分的两个方面。选择一个强壮的加密算法是至关重要的,而安全系统的结构和算法的实现以及通信协议也会影响到系统的安全性。为了防止密码被破译,可采用以下机制:第3章 密 码 技 术(1)强壮的加密算法:一个好的加密算法往往只有用穷举法才能得到密钥,所以只要密钥足够长,就会很安全。建议密钥至少为64位。(2)动态会话密钥:每次会话的密钥不同,即使一次会话通信被破解,也不会因本次密钥被破解而殃及其它通信。(3)保护关键密钥:定期变
15、换加密会话密钥的密钥,因为这些密钥是用来加密会话密钥的,一旦泄漏会引起灾难性的后果。第3章 密 码 技 术(4)基于密码技术的访问控制是防止数据传输泄密的主要防护手段,访问控制可分为初始保护和持续保护两类。初始保护只在入口处检查访问控制权限,一旦被获准,则此后的一切操作不在安全机制控制之下。防火墙提供初始保护。持续保护指在网络中的入口及数据传输过程中都受到存取权限的检查,这是为了防止监听、重发和篡改链路上的数据来窃取对主机的访问控制。在计算机通信系统中,阻止黑客的最可靠有效的办法是设计一种难以破译的网络加密软件。但是,事实表明,单纯的软件加密是不安全的,在一些特殊的应用环境中,需要软件加密和硬
16、件保护同时进行。第3章 密 码 技 术4加密分类加密分类信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。信息加密可分为两种,在传输过程中的数据加密称为通信加密,对存储数据进行加密称为文件加密。通信加密的目的是对传输中的数据流加密,以防止通信线路上的窃听、泄漏、篡改和破坏。如果以加密实现的通信层次来区分,加密可以在通信的三个不同层次来实现,即节点加密、链路加密和端到端加密。节点加密的目的是对源节点到目的节点之间的传输链路提供保护;链路加密的目的是保护网络节点之间的链路信息安全;端到端加密的目的是对源端用户到目的端用户的数据提供保护。第3章 密 码 技 术1)节点加密从时
17、间顺序来讲,节点加密在信息被传入实际通信连接点之前进行;从逻辑空间来讲,它在第一层、第二层之间进行;从实施对象来讲,它是对相邻两节点之间传输的数据进行加密。不过它仅对报文加密,而不对报头加密,以便于传输路由根据其报头的标识进行选择。一般的节点加密使用特殊的加密硬件进行解密和重加密,而且该硬件通常放置在安全的保险箱中。第3章 密 码 技 术2)链路加密链路加密在OSI七层参考模型的第二层,即数据链路层进行,是对相邻节点之间的链路上所传输的数据进行加密。链路加密侧重于在通信链路上,而不考虑信源和信宿,是对保密信息通过各链路采用不同的加密密钥提供安全保护,即不同节点对之间用不同的密码。链路加密是面向
18、节点的,对于网络高层主体是透明的,它不仅对数据加密,而且还对高层的协议信息(地址、检错、帧头帧尾)加密,因此数据在传输中是密文形式,但在中央节点必须解密得到路由信息。第3章 密 码 技 术3)端到端加密端到端加密在OSI七层参考模型的第六层或第七层进行,是为用户之间传送数据而提供的连续的保护。信息由发送端自动加密,并用TCP/IP数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,这些信息一旦到达目的地,将自动重组、解密,成为可读数据。第3章 密 码 技 术端到端加密是面向网络高层主体的,它不对下层协议进行信息加密,协议信息以明文形式传输,用户数据在中央节点不需解密。网络本身并不知道正在传
19、送的数据是加密数据,这对防止拷贝网络软件和软件泄漏很有效。而且网络上的每个用户可以拥有不同的加密密钥,网络本身不需要增添任何专门的加解密设备,不过每个系统要具备加解密软件,其中的加解密运算量也相当大。第3章 密 码 技 术在OSI参考模型中,除了会话层不能实施加密外,其它各层都可以实施一定的加密措施,但通常是在最高层上加密,即应用层上的每个应用都被密码编码进行修改,因此能对每个应用起到保密的作用,从而保护在应用层上的投资。例如在TCP层上实施加密,就只能对这层起到保护作用。不同层次的加密需要不同的加密密钥,因此密钥的管理和分发也是网络安全中的重要环节。另外,通信数据加密所采用的方法不应降低数据
20、的传输速度,通信数据解密进程应当能够校验和修复数据。第3章 密 码 技 术5安全管理安全管理在设计使用密码技术时,除了考虑加密与解密的问题外,还要考虑安全管理、安全协议设计、秘密分存、散列函数等内容。安全管理主要涉及密钥以及机密信息的产生、分发、使用、销毁等问题。第3章 密 码 技 术3.1.2 加密算法加密算法1加密算法的概念加密算法的概念信息加密过程由形形色色的加密规则和加密算法来具体实施,为了叙述方便,我们把加密规则也抽象成一种算法,这样,我们可以说,信息加密是通过密钥使用加密算法实现的。信息加密是保障信息安全的最基本、最核心的技术措施和理论基础。信息加密也是现代密码学的主要组成部分。在
21、多数情况下,信息加密是保证信息机密性的唯一方法。而加密算法是实施具体加密的基础,它决定了加密的强度、运算量以及实用性。第3章 密 码 技 术密码算法的目的是保护信息的机密性、完整性和安全性,简单地说就是信息的防伪造与防窃取,这一点在网上付费系统中特别有意义。信息论的创始人香农可以说是密码学的鼻祖,他提出了一些概念和基本理论,论证了只有一种密码算法是理论上不可解的,那就是 One Time Padding,这种算法要求采用一个随机的二进制序列作为密钥,与待加密的二进制序列按位异或,其中密钥的长度不小于待加密的二进制序列的长度,而且一个密钥只能使用一次。而其它算法都是理论上可解的,如DES算法,其
22、密钥实际长度是56比特,做256次穷举,就肯定能找到加密使用的密钥。所以采用的密码算法只需做到理论上可解,但事实上不可解即可。当一个密码算法已知的破解算法的时间复杂度是指数级时,即称该算法为事实上不可解的。第3章 密 码 技 术从保护性角度看,密码算法可分为保密的和公开的两种。保密的密码算法要与加密密钥一样进行秘密保护,除了通信双方外,不应该被第三方所知晓。比如,它可以是通信双方在进行通信前商定的算法,这种密码算法不能用于公共密码服务上,因为它要求无论是加密方还是解密方,都必须知道而且会用这种加密算法,这在实际应用中是很不方便的。公开的密码算法是公众都可以知道的,它便于使用在计算机通信这种开放
23、性的环境中,因为在这种环境中,参与通信的不仅仅是通信双方,还涉及到中继、路由等中间环节,让每个环节都对一个算法进行保密是不可行的。另外,一个算法如果长时间由多方重复使用,总会有泄密的可能,因此,必须要有公开的密码算法,而且这种密码的加密强度不应该因为算法的公开而降低,它的保密强度由密钥来保证。第3章 密 码 技 术我们可以把密码算法看做是一个复杂的函数变换,s=F(m,k),s代表密文,即加密后得到的字符序列,m代表明文,即待加密的字符序列,k表示密钥,是秘密选定的一个字符序列。密码学的一个原则是“一切秘密寓于密钥之中”,这就意味着算法可以公开。当加密完成后,可以将密文通过不安全的渠道送给收信
24、人,只有拥有解密密钥的收信人可以对密文进行解密,即反变换得到明文,而密钥的传递必须通过安全渠道。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方密钥是否相同来分类,可以将这些加密算法分为对称密钥算法和非对称密钥算法。具有代表性的密码算法主要有DES、RSA、IDEA、DSA等。第3章 密 码 技 术2加密算法的实现加密算法的实现 加密算法的实现可划分为两大类,一类是软件加密,另一类是硬件加密。软件加密主要是通过算法的计算机程序实现,这种密码算法的特点是实现简单,成本低,速度比较慢,相对来说机密性差。软件加密的代表是RSA的实现,RSA算法的可变长关键字需通过软件
25、的重新编译来更改,其关键字分配及管理的安全保密是通过关键字管理软件来实现的。硬件加密是通过具体的电子线路实现加密算法,特点是实现复杂,成本高,但加密速度比较快,相对于软件加密算法,其机密性更好。硬件加密的代表是DES的硬件实现,DES硬件加密使用专用或机密加密关键字,符合现行ANSI标准。第3章 密 码 技 术由于加密算法的高度复杂性,软件加密算法与硬件加密算法相比有3方面的弱点:软件加密的复杂运算大大降低了系统的运行速度,且可能耗尽路由器的CPU;一般情况下,软件加密的速度只是硬件加密的速度的十分之一或百分之一;软件加密比硬件加密的机密性强度弱很多,比较而言容易被破译。第3章 密 码 技 术
26、3.1.3 密码体制分类密码体制分类按照收发双方密钥是否相同来分类,可以将加密算法分为对称密钥算法和非对称密钥(也叫公钥)算法。在对称密钥算法中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。它的优点是加密算法比较简便、高效,密钥简短,破译极其困难,但其密钥必须通过安全的途径传送,因此,其密钥的管理成为影响系统安全的重要因素。比较著名的常用对称密码算法有美国的DES及其各种变形,比如Triple DES、GDES以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中,影响最大的是DES密码。第3章 密 码 技 术在对称密码体制中,系统的机密性主要取决于密钥的安全性,
27、与算法的安全性无关,即由密文和加解密算法不可能得到明文。换句话说,算法无须保密,需要保密的仅是密钥。根据对称密钥体制的这种特性,对称密钥加解密算法可通过低费用的芯片来实现。密钥可由发信方产生,然后再经过一个安全可靠的途径(如信使递送)送至收信方,或由第三方产生后安全可靠地分配给通信双方。如何产生满足保密要求的密钥以及如何将密钥安全可靠地分配给通信双方是这类体制设计和实现的主要课题。第3章 密 码 技 术对称体制对明文消息的加密有两种方式:一种方式是明文消息按字符(如二进制数字)逐位加密,称之为流密码;另一种方式是将明文消息分组(含有多个字符),按组进行加密,称之为分组密码。对称密码体制不仅可用
28、于数据加密,也可用于消息认证。在非对称密钥算法中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导出解密密钥。它的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,使用它可以方便地实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。比较著名的公钥密码算法有RSA、背包密码、零知识证明、椭圆曲线算法等。第3章 密 码 技 术非对称密钥体制是现代密码学最重要的发明和进展。一般理解密码学的目标是保护信息传递的机密性,但这仅仅是当今密码学主题的一个方面。对信息发送人的身份的验证是密码学主
29、题的另一方面。公开密钥体制对这两方面的问题都给出了出色的答案,并正在继续产生许多新的思想和方案。当然在实际应用中人们通常将对称密钥和非对称密钥结合在一起使用,比如利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。第3章 密 码 技 术非对称密钥体制的每个用户都有一对选定的密钥:一个是可以公开的,可以像电话号码一样进行注册公布;另一个则是秘密的。因此非对称密钥体制又称做公钥体制。非对称密钥体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而多个用户可以解读。前者可用于在公共网络中实现保密通信,而后者可用于实现对用户的认证。第
30、3章 密 码 技 术3.1.4 密码体制与安全服务密码体制与安全服务密码学主要是为了解决信息安全问题而存在的学科。总的来说,在信息安全所涉及的诸多方面中,密码学主要为存储和传输中的数字信息提供机密性、数据完整性、认证以及不可否认性等4个方面的安全保护。第3章 密 码 技 术1机密性机密性机密性服务是指只允许特定用户访问和阅读信息,而使任何非授权用户对信息都无法理解的服务。在密码学中,机密性通过数据加密而实现。2数据完整性数据完整性数据完整性是用于确保数据在存储和传输过程中不被未授权修改的服务。为提供这种服务,用户必须有检测未授权修改的能力。未授权修改包括数据的篡改、删除、插入和重放等。密码学通
31、过数据加密、数据散列或数字签名提供这种服务。第3章 密 码 技 术3认证认证认证服务是一种与数据和身份识别有关的服务。认证服务包括对实体身份的认证和对数据起源的认证。对于任何一次通信,都必须确信通信的两端是预期的实体,这就涉及实体身份的认证。对于数据,我们希望每个数据单元都是正确地发送到或者来源于预期的实体,这就是数据起源认证。数据起源认证隐含地提供数据完整性服务。密码学通过数据加密、数据散列或数字签名提供认证服务。第3章 密 码 技 术4不可否认性不可否认性不可否认性服务是一种用于阻止合法用户否认先前的言论或行为的服务。密码学通过对称加密或非对称加密,以及数字签名等机制,借助可信任的注册机构
32、或证书机构的辅助,提供这种服务。密码学的主要任务是从理论上和实践上阐述和解决这些问题。密码学还对其它欺骗和恶意攻击行为提供阻止和检测手段。第3章 密 码 技 术3.1.5 密钥密钥密钥是密码算法中的可变参数。现代密码学中有一句名言,即“一切秘密寓于密钥之中”。这就意味着在理论上,除了当时所用的密钥需要保密外,密码算法是可以公开的。也就是说,密码体制的安全性完全建立在密钥的安全性上。由此可见保守密钥秘密的重要性。第3章 密 码 技 术设计一个安全性很高的密码算法是很困难的,且在现实的信息系统运行中确保密钥的安全也非常困难。密码破译者经常通过获得密钥而破译密码体制。因此,密钥管理成了密码系统中的一
33、个关键问题。密钥管理涉及密钥的各个方面,包括密钥的产生、密钥的分发、密钥输入和输出、密钥的更换、密钥的存储、密钥的保存和备份、密钥的生命周期以及密钥的销毁等。有关密钥管理的标准由ISO/IEC 11770-1密钥管理的第一部分密钥管理框架和ISO/IEC 11770-2密钥管理的第二部分使用非对称技术的机制进行了规定。第3章 密 码 技 术3.1.6 通信网络安全与保密通信网络安全与保密1信息安全与保密信息安全与保密以计算机和计算机网络为基础的信息系统成为当前计算机应用的主要形式,研究信息系统的安全保密就和建立信息系统同样重要和迫切。第3章 密 码 技 术信息系统的广泛建立和规模化,使计算机的
34、应用形式上升为网络形态。这种网络化的信息系统在系统内纵向贯通,在系统间横向渗透,构成了集通信、计算机和信息处理于一体的庞大复杂的巨型系统,成为现代社会运转不可缺少的基础。信息系统规模化发展势头强劲,这从一个侧面反映了信息技术本身发展迅速,同时也深刻反映了当今社会对信息系统的巨大需求,而这种需求在很大程度上依赖于信息系统的安全特性,特别是在当今的网络时代,一方面强调网络的开放性,另一方面要求服务的私有性,这就会出现这样的局面,即办公环境需要开放性,而办公过程中的信息需要机密性,而这里存在一定的矛盾,因为开放的环境意味着任何人都有可能进入,而机密性的信息意味着只有获得授权的人可以阅读信息。解决这一
35、矛盾的有效手段就是信息的安全保密。第3章 密 码 技 术信息系统以网络化为特点,成分多,环节多,既要解决系统内的异构问题,又要满足元素间的互操作要求,因而计算机网络安全保密问题不是简单的信息安全问题,而是一个涉及计算机、通信、网络、信息、系统等诸多方面的信息系统安全问题。信息系统有其自身的特点。它的组成成分复杂,覆盖面广;信息处理既有集中式,又有分布式;构成其基础的计算机、操作系统和网络既可能是同构的,也可能是异构的;实现计算机连接的网络结构可能是多种拓扑结构的混合;所用的网络组件繁杂,通信介质多种多样;信息出、入口多,并且分布面广。因此,信息系统的安全保密具有无所不包的内容广泛性,它的实现必
36、然是所有安全保密学科的综合运用。第3章 密 码 技 术信息系统安全保密研究的对象是系统,而不仅仅是系统中的某个或某些元素,即系统内所有元素或成分都是研究的内容。从系统内看,研究内容包括通信安全、计算机安全、操作安全、信息安全、人事安全、工业安全、资源保护和实体安全;从系统外看(因为系统不是孤立的),研究内容还包括管理和法律两个方面,它们的综合构成了一个合理的研究结构和层次。按照系统平衡的观点,信息系统安全保密追求并强调均匀性,因而各子项的研究深度要相互协调,不能重此轻彼。这就是系统论的观点。第3章 密 码 技 术在信息系统安全保密研究的总的范畴内,不同领域的信息系统由于环境、要求的差异,表现为
37、在研究上有所侧重,这是合理且符合逻辑的。随着信息系统的广泛建立和各种不同网络的互联、互通,人们意识到,不能再从单个安全功能、单个网络来个别地考虑安全问题,而必须系统地、从体系结构上全面地考虑安全保密问题。因此,安全保密的研究应着力于系统这个层次,把信息系统作为安全保密研究的对象。第3章 密 码 技 术当前,信息系统正朝着多平台、充分集成的方向发展,分布式将成为最流行的处理模式,而集中分布相结合的处理方式也将受到欢迎。今后的信息系统将建立在庞大、集成的网络基础上,因而在新的信息系统环境中,存取点将大大增加,脆弱点将分布更广。信息系统的这些发展趋势将影响安全保密的研究。信息系统安全保密研究的一种动
38、态是研究分布式环境及集中分布式相结合环境的安全保密策略,它反映了分布式信息系统的社会需求和传统的集中式安全保密策略的不适应性。第二种动态是为适应多平台计算环境而研究面向整个网络的安全机制。第3章 密 码 技 术80年代的安全保密研究主要集中于标准的一致性和单一平台的安全控制,已不能适应新一代信息系统对安全保密的要求。第二种研究动态有可能产生新的安全保密理论,至少会在方法学上有所突破。第三个动态是,在开放系统安全标准的研究和制定上,确定开放系统的安全评价标准极为必要,并由于人们对开放系统的普遍认同而显得迫切。第3章 密 码 技 术2计算机安全与保密计算机安全与保密计算机是通信网络中诸多节点的转接
39、设备或者是通用终端,在数据安全保密问题得到广泛认识以前,计算机的安全保密在绝大多数人的印象中是指硬件的物理安全。但是,当今计算机远程终端存取、通信和网络等新技术已取得长足的发展,单纯物理意义上的保护措施除了可以保护硬件设备的安全外,对信息和服务的保护意义越来越小。数据安全保密已成为计算机安全保密的主题,而且研究的重点是内部问题,即由合法用户造成的威胁(或许是无意的)。事实上,绝大多数的计算机犯罪是内部知情者所为,因此20世纪80年代以来,计算机安全保密研究的重点一直放在解决内部犯罪这个问题上。第3章 密 码 技 术计算机安全保密工作研究数据的机密性、完整性和可用性三方面内容。数据机密性解决数据
40、的非授权存取(泄露)问题;数据完整性保护数据不被篡改或破坏;可用性研究如何避免系统性能降低和系统崩溃等威胁。在计算机安全保密研究中,美国的Gasser提出了系统边界和安全周界概念。他认为,在计算机安全保密的一切努力中,必须对系统边界有清晰的了解,并明确哪些是系统必须防御(来自系统边界之外)的威胁,否则就不可能建造一个良好的安全环境。他进一步指出,系统内的一切软硬件都要得到保护,而系统外的一切不受保护。第3章 密 码 技 术系统内部由两部分元素组成,一部分与维护系统安全有关,另一部分与维护系统安全无关。应对与安全相关的元素实行内部控制。这两部分划分由一个想象中的边界实现,称做安全周界。Gasse
41、r的观点很有代表性,反映了计算机安全保密研究的一种方法,但有一定的局限性。系统周界的限制使这种研究方法很难适用于以计算机网络为特征的信息系统安全保密的研究。第3章 密 码 技 术在计算机安全保密研究中,主体(Subject)和客体(Object)是两个重要的概念,保护客体的安全、限制主体的权限构成了访问控制的主题。这两个概念的提出使计算机安全保密中最重要的研究内容访问控制的研究问题得以抽象化,抽象化的结果是可以模型化,这就使计算机安全保密研究前进了一大步。第3章 密 码 技 术3通信安全与保密通信安全与保密密码学是研究通信安全保密的科学,是保护信息在信道的传递过程中不被敌方窃取、解读和利用的方
42、法。通信安全保密研究围绕寻找更强、更好的密码体制而展开。从代换密码、单表代换密码、多名代换密码、多表代换密码、转轮密码和多字母代换密码等古典密码体制到现代密码体制,通信安全保密研究不断向前发展。第3章 密 码 技 术在通信和通信安全保密研究的历史中,Shannon做出了特殊的贡献。他在1948年发表的“通信的数学理论”,首次把数学理论运用于通信,开创了通信研究的新视角,在科学和工程界引起了强烈反响。他在1949年发表的“保密通信的信息理论”,把安全保密的研究引入了科学的轨道,使信息论成为研究密码编码学和密码分析的一个重要理论基础,宣告了科学钥密码编码学的到来,创立了信息论的一个新学科。在人类开
43、始步入信息时代的今天,这个理论已经开始引起普遍重视。第3章 密 码 技 术4安全保密研究安全保密研究安全保密研究伴随人类社会的发展走过了漫长的历程,其应用领域不断拓宽,研究方法有所突破。纵观安全保密研究的历史,有三个分水岭:一是计算机诞生前的密码学(通信安全保密)研究;二是计算机诞生后,以计算机和计算机网络为基础的信息系统广泛建立前的计算机安全保密研究;三是信息系统广泛建立、全球信息高速公路酝酿和开始建设后的信息系统的安全保密研究。这三个分水岭对应着安全保密研究的三个阶段。这三个阶段的研究互不排斥,而是相互衔接、相互借鉴和相互融合。第3章 密 码 技 术通信安全保密是计算机和信息系统安全保密的
44、基础,并随着计算机和信息系统安全保密研究的提出和开展而走向深入;计算机安全保密是信息系统安全保密的重要内容,它们之间表现为相依相存的紧密关系;信息系统安全保密研究将综合前面两者的研究,并开辟新的研究方向,构成新的研究体系。在研究层次上,这三个阶段体现了递进的研究层次,前者是后者的基础和前提,后者对前者具有反馈和激励作用。一方面,没有密码学的研究成果,计算机和信息系统的安全保密研究就无法进行;另一方面,计算机和信息系统(网络)在为密码学研究提供巨大的计算机资源的同时,也不断对其提出挑战。第3章 密 码 技 术通信安全保密作为实施安全保密策略的基本工具,起着基础研究的作用。计算机安全保密利用基础密
45、码学来研究计算机的安全保密问题,表现了研究对象的个体性,而不管计算机系统之外的事情。信息系统安全保密综合利用通信和计算机安全保密的研究成果,并将研究定位在系统这个层次,系统内的一切成分都是研究的对象。因此,若把通信安全保密比作基础层次,则计算机安全保密问题就是中间层次,而信息系统安全保密处在最高层次。第3章 密 码 技 术3.2 对称加密技术对称加密技术对称密钥体制的定义是,加密密钥与解密密钥相同(或者相容)。在早期的对称密钥体制中,典型的对称密钥体制有代替密码、凯撒、字符替换、移位、转轮等。第3章 密 码 技 术3.2.1 对称密钥体制对称密钥体制1对称密钥体制的产生对称密钥体制的产生密码技
46、术对信息的保护是由加密算法和密钥共同承担的。实际上,只要在算法上和密钥上达到特定应用背景的安全要求,每个人都可以自行设计自己的加密方式,例如,我们设计一个加密和解密方法,描述为“将信息的二进制形式每隔k位进行一次非运算”,这种加密方式,其算法就是隔k位进行取反,其密钥就是k。第三方如果只知道算法和密钥二者之一,是不能对信息进行正常解密的,他除了需要知道密钥之外,还需要知道算法。第3章 密 码 技 术如果我们把算法公开,实际上解密者已经知道加密算法,这时,只要他知道加密密钥,就可以进行解密操作了。在这个简单的加密方法中,加密和解密的密钥相同,都是选定的k,这就是典型的对称密钥体制。有些对称密钥算
47、法,将任一个字母映射至另一个字母,此映射则根据一个映射表,而不仅仅是简单的移位,难度增加,但这类技巧若稍微花点心思是很容易被破解的。比方说,我们可以根据语言的单词长短及常用单词在文法上的出现频率渐次猜出哪个字元被映射至哪个字元,最后找出完整的字元映射表。现在英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种代替密码进行破译。第3章 密 码 技 术一般而言,密码学普遍依赖数学,越是先进的加密法,所涉及的数学就越高深,而随着计算机技术的进步,加密技术也日新月异,原本不可能破解的加密技术也可能因计算机速度的提高与计算成本的降低而变得容易。所以,每当出现新的加密技术时,破
48、解技术亦尾随而至,加密与破解互相促进。第3章 密 码 技 术2对称密钥技术原理对称密钥技术原理对称密码体制是从传统的简单换位代替密码发展而来的,自1977年美国颁布DES密码算法作为美国数据加密标准以来,对称密钥体制得到了迅猛发展,在世界各国都备受关注。如果按照每次加密所处理的比特来分类,对称密钥体制从加密模式上可分为序列密码和分组密码两大类。前者每次只加密一个比特,而后者则先将信息序列分组,每次处理一个组。第3章 密 码 技 术典型的对称密码体制的发展趋势将以分组密码为重点。分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成。密钥扩展算法将b字节用户主密钥扩展成r个子密钥。加密算法由
49、一个密码学上的弱函数f与r个子密钥迭代r次组成。混乱和密钥扩散是分组密码算法设计的基本原则。一种密码体制抵御已知明文的差分和线性攻击的设计要点是可变长密钥和分组。例如,AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度为128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。1999年3月完成了第二轮AES的分析和测试。第3章 密 码 技 术尽管在应用方面,DES在安全上是脆弱的,但由于快速DES芯片的大量生产,使得D
50、ES仍能暂时继续使用。为提高安全强度,通常使用独立密钥的Triple DES。但是DES迟早要被AES代替。流密码体制较之分组密码在理论上成熟且安全,但未被列入下一代加密标准。第3章 密 码 技 术3序列密码序列密码序列密码基本原理是,通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,通过逐比特加密,得到密文序列。所以,序列密码算法的安全强度完全取决于它所产生的伪随机序列的好坏。衡量一个伪随机序列好坏的标准有多种,比较通用的有著名的Golamb三个条件、Rueppel的线性复杂度随机走动条件、线性逼近以及产生该序列的布尔函数满足的相关免疫条件等。产生好的序列密码的主要途径之一是利用