您的位置:首页 > 其它

二 密码技术

2004-10-23 13:04 169 查看
2.2 密码技术

2.2.1 计算安全性
信息安全的技术基础是密码技术。当前的各种加密算法没有理论安全性,只有计算安
全性。
当代密码学需要三个基本假设,即:
随机性假设:在单一地域内,物理地产生均匀分布的随机比特序列是可能的。
物理假设:物理地保护存储在单一地域内的数据是可能的,对长距离传输中的数
据实行物理保护是困难的。
计算假设:合理的计算时间有一个量的界限,在合理的计算时间内单向函数是存
在的,它正向计算容易求逆困难。
密码学的这三个基本假设是信息系统设计的基本前提,但现实中只能接近它们,而无法
从理论上证明达到这三个假设的要求。自然也就无法从理论上证明某个密码算法的安全性

一个密码算法如果在它使用期间或者在它所保护的信息失去保密需求之前具有抗破译能
力是可能的,也可以说达到了设计的安全性目标。而期望一个算法能够一劳永逸地保持安全
性是不现实的,因为未来数学的发展可能使得密码破解方法取得突破性进展。不但是理论
上还没有证明这样的算法存在,就算是在实际应用中,由于密码分析方法和计算机计算能
力的快速发展,原来可以认为具有计算安全性的算法经过一段时间之后不再具有计算安全
性。这样的例子随处可见,DES算法就是其中之一。
没有办法能够证明一种加密方式的安全性;只可以证明不安全或者试验失败。这就是
所谓的证明虚假设。密码学专家的审查-长时间的审查是目前人们所拥有的,关于安全性
能的唯一证据。

2.2.2传统密码体制
传统对称密钥体制基于替换和置换,其安全性是计算安全性。
以DES为例,从它被采纳为联邦标准以来对它的安全性一直争论不休。争论的焦点集中
在密钥的长度和算法本身的安全性上面。对于现在的计算能力,56位密钥长度的DES已经岌
岌可危,所以专家建议的密钥长度在不断增加。但是这也只不过是增加了密码破解的时间
而已,理论上仍然可以破解。1998年,电子新领域基金会建立了一台能够暴力破解DES算法
的计算机。这台计算机名为DES深层破解,每秒试验900亿个密钥;它平均用4.5天可以找到
一个56位DES密钥。1999年,名为distributed.net的破解DES密钥的分布式互联网密钥查找
工程可以每秒试验2500亿个密钥。DES的扩展算法3DES将密钥长度定为112位,而大多数的
现代算法都有至少128位的密钥。美国政府新的高级加密标准AES支持128位,192位和256位
的密钥长度。当然使用更长的密钥会影响算法本身的加解密速度(3重DES算法在许多环境
下太慢),这也是在安全性和成本方面必须进行做出的权衡之一。另一个问题集中在每轮
迭代所用的S盒上面,因为S盒的设计标准不公开,因此人们怀疑如果知道S盒的构造方法,
有可能能够找出S盒的弱点。
对于DES的密码分析,目前最有希望的是差分密码分析和线性密码分析。尽管这两种方
法需要的攻击次数明显少于穷举攻击,但是由于分析的前提条件还是相对较高(对于56位密
钥长度,前者需要247个选择明文,后者需要247个明文),使得这两种方法对于较长的密钥
也只有理论上的意义。

2.2.3公钥密码体制
公钥密码学的发展是整个密码学发展历史中最伟大的一次革命。公钥算法基于数学函
数。当代公钥密码体制的安全性依赖于几个数学难题,如大质数的分解、离散对数问题、
椭圆曲线上的离散对数问题等等,这些问题没有在数学上严格证明是不可解的,所以公钥
密码体制同样达不到理论安全性。另外公钥密码算法的计算速度大大低于对称密钥算法,
使得在许多的密码协议中,采用对称加密算法加密明文消息,再用公钥算法加密对称加密
算法所用的密钥。
以RSA为例,它基于数学中的大质数分解问题,所以安全性依赖于大质数分解的困难性
。尽管大质数的分解在数学上依然是个难题,但是由于计算机计算能力的不断增强和因子
分解算法的不断改进,RSA算法已经受到了威胁。1999年RSA实验室提供的秘文RSA-155已经
被解密,其密钥长度为155十进制位,攻击者使用的分解方法是一般数域筛法。因此在选择
RSA的密钥长度时需要小心,最近一段时间,密码学专家建议的比较安全的密钥长度为 10
24到2048位。
理论上,对于RSA算法可能的攻击有以下三种:穷举攻击、数学攻击、计时攻击。其中
计时攻击值得一提。计时攻击类似于窃贼通过观察他人转动保险柜拨号盘的时间长短来猜
测密码,攻击者通过记录计算机解密消息所用的时间来确定私钥。计时攻击不仅可用于攻
击RSA,而且可以用于攻击其他的公钥密码系统,由于这种攻击的完全不可预知性以及它仅
依赖于明文,所以计时攻击具有很大的威胁。尽管如此,对于当前的计算能力,采取如上
建议的密钥长度,RSA是计算安全的。
.
2.2.4密码协议
密码协议,指双方或者多方使用密码学来完成某项任务的一系列有序的步骤,目的是
为了防止攻击者实施欺骗和非法存取信息。各种密码协议都着眼于满足信息安全的五个基
本属性中的一个或者多个。可以用简单的协议为基础构造复杂的协议,甚至是深奥的协议

可以用一个简单的例子来说明密码协议的重要性,如果没有安全性良好的密钥分配方案,
那么密码算法的强度再好也无济于事。其结果等同于建立了一个超级安全的大门,而大门的
钥匙却丢在门口。
理论上证明只有一次一密本身是安全的,但是首先一次一密要求使用真随机数,这在
信息系统中无法满足(见下段);其次,各种密码协议是用前面所述的对称密码体制和公钥
密码体制构造出来的,而这两者本身就没有理论安全性;再次,现实应用中要做到一次一
密还有实现复杂度和系统成本上的考虑。所以实际上一次一密加密一般只用在某个局部,
并不能保证整个复杂系统的安全性。

2.2.5随机数
随机数是密码技术里一个很重要的组件,差不多每台使用加密技术的计算机安全系统
都需要随机数,供密钥、协议中的唯一值等等使用或者用做辅助信息或者初始化向量。这
些系统的安全也经常依赖于这些随机数的随机性。如果随机数的随机性不够安全,整个系
统极有可能被攻击者攻破。
真随机数序列满足不可预测性和不可重复性,但是真正的随机数只有上帝造得出来,
计算机只能产生伪随机数。计算机之父冯诺依曼曾指出:“任何想用人为算术方法生成随
机数字的人正处在糊涂状态中”。他这样说的含义,是从一个像计算机这样的确定性物体
中得到真正随机的东西是不可能的。计算机的随机数取决于初始的种子,如果种子一样,
产生的随机序列也一样。以M序列随机数发生器为例,它可以得到随机性良好的随机数,但
是事实上只是它的循环周期比较大而已,比如50级的M序列随机数发生器的循环周期为2的
50次方,输出还是会在一定时间之后产生重复,也即产生的只是伪随机数。
要产生真随机数,只能借助于上帝的力量,利用物理噪声源。遗憾的是,真正的物理
噪声源难以获得也难以在信息系统中直接使用,经过电路模拟之后的噪声源产生的随机数
虽然与上帝创造的随机数相当接近,却终归不是真随机数。这方面有一些例子:NSA在其硬
件电路中使用电子干扰二极管,生成随机数;有些系统在磁盘驱动器中使用空气紊流或者
是表面上的、连续网络信息包的随机到达时间产生随机数。当然这样产生的随机数与真随
机数之间的差别从实用的角度来说可以忽略,但是必须明确理论上这两者是有严格区别的
,不能等同起来。我国现有的WNG系列随机数发生器芯片依照转币模型生成,是做得比较成
功的物理噪声源芯片。

2.2.6公钥基础设施PKI
密码技术当前的一个热点就是公钥基础设施PKI,下面来讨论一下这方面的问题。
PKI(Public Key Infrastructure)是电子商务安全技术平台的基石,它由公开密钥
密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组
成的。PKI是利用公钥技术实现电子商务安全的一种体系,是一种基础设施,网络通讯、网
上交易是利用它来保证安全的。
  PKI是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个
机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。PKI主要包括四个部
分:X.509格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA/RA操作协议;C
A管理协议;CA政策制定。一个典型、完整、有效的PKI应用系统至少应具有以下部分:认
证中心CA 、X.500目录服务器、具有高强度密码算法(SSL)的安全WWW服务器、Web(安全通
信平台)、自开发安全应用系统、完整的PKI。
为了保证电子商务交易中信息的安全性(保密性、真实完整性和不可否认性)。需要使
交易各方能够相互信任,并通过一种信任验证机制互相验证。这种信任及信任验证机制是
通过参加电子商务的各方的数字证书(即证明其身份的标识)认证实现的。
数字证书是各实体在网上进行信息交流及商务交易活动中的身份证明,具有唯一性和
权威性。为满足这一要求,需要建立一个参与电子商务各方都信任的机构,专门负责数字
证书的发放和管理,以保证数字证书的真实可靠。这个机构就是数字证书认证中心(Cert
ificate Authority, 以下简称CA)。CA是保证网上电子交易安全的关键环节,它产生、发
放并管理所有参与网上交易的实体的数字证书。CA的主要职责包括:证书颁发、证书更新
、证书废除、证书和CRL的公布、证书状态的在线查询、证书认证和制定政策等。
为促进电子商务在中国的顺利开展,一些单位和部门都已建成了自己的一套CA体系。
其中较有影响的如中国电信CA安全认证体系(CTCA)、上海电子商务CA认证中心(SHECA)
和中国金融认证中心(CA)等。
尽管取得了一些进展,在设计和实施完全应用PKI技术的系统还面临着严峻的挑战。在
PKI技术广泛和有效的应用之前,还有一些重大的问题必须解决。这些问题包括:共用性、
操作经验、承受能力、明确的和强制的政策和程序、经过培训的人员。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: