




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2篇信息系统安全信任体系
信任(Trust)是指“他人对不确定行为的良好确定预期”。它通常包含三种性质:(1)时空错位:在时间上是诺言在先,兑现在后;在空间上是此地诺言,彼地兑现。而、空间以及信息主体的全面虚拟话,信任问题比一手交钱一手交货当场完成的交易等行为中,就要重要得多。(2)不确定性:诺言的兑现或行为的发生并不是百分之百的,其间存在一定的风险。若是在确定性的行为过程中,信任就不成问题问题。显然,在数字世界中,不确定性除了先验不确定性——信息本身的不确定性,外后验不确定性——信道传输带来的不确定性更加突出,信任问题也比知识世界更重要。(3)当事者没有客观根据可以绝对相信。在数字世界中,信息载体的非实在性,更使人对客观根据不可绝对信任。德国社会学家卢曼认为,信任是基于人的生存策略的一种简化机制,信任将周围复杂的环境和千差万别的人的性格简化为“二元预限”,即“可以相信”和“不可以相信”。信任并没有帮助人们消除风险,但可促使人们勇敢地进入不确定性当中。在现实生活中,信任被简单地理解为“相信而敢于托付。”(《现代汉语词典》),并且信任关系依靠亲情、组织、利益、法制建立和维系。任何具有一定安全要求的系统都是与具有一定程度的信任形式为前提的。在信息系统中,除了不确定性依然存在以及当事者没有客观根据可以绝对相信外,出现了更全面的虚拟。不仅时空错位继续存在,而且一切实体都数字化了,给人更大的不真实感,信任更为重要。但是,在这个数字化的虚拟世界中,亲情、组织和利益不可体会,唯一可以使用的是规则。因此,一种规则就可以建立和维系一个信任体系。这些规则最基本的描述就是基于加密的直接信任和第三方信任。第6章数据加密与数据隐藏
密码技术是一种保密技术。是数字系统中建立信任关系的基础。简单地说,加密和解密就是关于密文使用的一种信任关系。这一章介绍密码技术和数据隐藏技术的基本知识。密码技术是让信息的截获者无法了解信号的内容;数据隐藏技术则是使信息让人难于截获。6.1密码技术基础
6.1.1基本加密方法数据加密是通过某种函数进行变换,把正常数据报文——明文(Plaintext,也叫明码)转换为密文(Ciphertext,也称密码)。下面介绍几个传统的简单的变换方法。1.置换法:置换法,就是将明文中的每个字母都用其他字母代替。比较简单的置换方法是恺撒算法,它将明文中的每个字母都移动一段距离。例如都移动5个字符空间的明文“CHINA”,变成了密文“HMNSF”。然而,这种密码系统太脆弱、太容易被攻破了。于是人们设计了复杂算法,并使算法依赖于一个参数k。这个参数就称为密钥。这时算法可以写成:
Cc=Ek(P)
下面举例说明法国密码学家Vigenere以他自己的名字命名的维吉利亚密码:P=datasecurity,k=best
算法如下:a.制作维吉利亚方阵如表6.1所示。规则是第i行以I打头。b.按密钥的长度将P分解若干节。这里best的长度为4,故将明文分解为表6.2所示的样子。c.对每一节明文,利用密钥best进行变换。以明文“d”为例,变化的方法是:由于d处于b列,因此在维吉利亚方阵的第b行中找第d个字符既是。于是得到如下密文:C=Ek(P)=EELTTIUNSMLR
表6.1维吉利亚方阵表6.2明文分解
替换法可以有多种形式(1)简单替换密码(SimpleSubstitutionCipher)或单字母密码(MonoAlphabeticCipher):将明文中的一个字母用一个相应的密文字母替换。(2)多名替换密码(HomophonicSubstitutionCipher):一个字母可以映射为多个密文字母。如:A~5,12,25,56B~7,17,31,57……(3)多字母密码(PolyAlphabeticCipher):字符块被成组加密。如:ABA~RTQABB~SLL……2.换位法换位就是将明文中字母的位置重新排列。最简单的换位就是逆序法,即将明文中的字母倒过来输出。例如明文:computersystem密文:metsysretupmoc这种方法太简单,非常容易破密。下面介绍一种稍复杂的换位方法——列换位法。使用列换位法,首先要将明文排成一个矩阵,然后按列进行输出。为此要解决两个问题:排成的矩阵的宽度——有多少列;排成矩阵后,各列按什么样的顺序输出。为此,要引入一个密钥k,它既可定义矩阵的宽度,又可以定义各列的输出顺序。例如k=computer,则这个单词的长度(8)就是明文矩阵的宽度,而该密钥中各字母按字母序出现的次序,就是输出的列的顺序。按密钥对明文“WHATCANYOULEARNFROMTHISBOOK”的排列密钥COMPUTER顺序号14358726
明文WHATCANYOULEARNFROMTHISBOOKXXXXX输出的密文为:
WORONNSXALMKHUOOTETXYFBXARIXCAHX
3.简单异或异或运算具有如下特点:00=001=110=111=0aa=0abb=a即两个运算数相同,结果为0;不同,结果为1。+++++++使用简异或进行加密,就是将明文与密钥进行异或运算,解密则是对密文用同一密钥进行异或运算。即Pk=CCk=P6.1.2密码体制1.密码体系=加密/解密算法+密钥++由上面几个例子可以看到,为了进行加密变换,需要密钥(Cipher)和算法(Algorithm)两个要素。进行解密,也需要此两个要素。为了提高加密强度,一是要设计安全性好的加密算法,二是要尽量提高密钥的长度(因为利用现代计算机技术可以用穷举法,穷举出密钥,加长密钥可以增加穷举的时间)。但是在实际中,如何保证密码方法的安全性呢?为了安全,在实际中可以采用两种不同的策略:一种称为受限制的算法。受限制的算法就是基于算法保密的安全策略。这种策略曾经被使用,但是在现代密码学中,已经不再使用。原因如下:算法是要人掌握的。一旦人员变动,就要更换算法。算法的开发是非常复杂的。一旦算法泄密,重新开发需要一定的时间。不便于标准化:由于每个用户单位必须有自己唯一的加密算法,不可能采用统一的硬件和软件产品。否则偷窃者就可以在这些硬件和软件的基础上进行猜测式开发。不便于质量控制:用户自己开发算法,需要好的密码专家,否则对安全性难于保障。因此,现代密码学都采用基于密钥保护的密码安全策略。就是:将加密算法标准化(可以公开),只保护密钥。这样便于标准化和质量控制(可以由高水平的专家开发算法);一个密钥泄密,只要换一个便可。2.对称密钥体制和非对称密钥体制现在,加密算法已经被标准化——可以公开了,加密过程的管理主要集中到密钥的产生与分配上。目前在网络中一般采用两种密码体制:单钥密码——对称密钥体制:加密与解密用同一个密钥;双钥密码——非对称密钥体制:加密与解密用不同的密钥。(1)对称密码体制在对称型密码体制中,加密和解密采用同一密钥。如图6.1所示,它是利用一个密钥对数据进行加密,对方收到数据后,用同一个密钥进行解密。由于加解密采用同一密钥,密钥决不能泄露,故也将这种体制称为秘密密钥密码体制或私钥密码体制。对称密码体制的加密与解密在对称密码体制中,最为著名的加密算法是IBM公司于1971年~1972年间研制成功的DES(DataEncryptionStandard)分组算法,1977年被定为美国联邦信息标准,这就是称为DES(数据加密标准)的原因。DES使用64位的密钥(除去8位奇偶校验码,实际密钥长度为56位),对64位二进制数进行分组加密,经过16轮的迭代、乘积变换、压缩变换等处理,产生64位密文数据。IDEA(InternationalDataEncryptionAlgorithm)是于1992年推出的另一个成功的分组加密算法。它的核心是一个乘法/加法非线性构件,通过8轮迭代,能使明码数据更好地扩散和混淆。由于加密算法是标准的、公开的,所以DES和IDEA算法的安全性完全依赖于密钥。通常,采用KDC(密钥分发中心)集中管理和分发密钥。初始密钥可作为加密使用,也可作为身份认证使用。为增强网络的安全性,一般将初始密钥作为身份认证使用,一旦认证结束,便由系统自动生成阶段性密钥。阶段性密钥由网络安全管理员指定,可根据网络环境和具体应用确定多长时间(几分钟还是几个小时)为限。秘密密钥系统运算效率高、使用方便、加密效率高,是传统企业中最广泛使用的加密技术。但是,由于秘密密钥要求通信的双方使用同样的密钥,双方无论用任何方式交换密钥都有可能失密。(2)非对称密码体制非对称加密技术将加密和解密分开采用一对不同的密钥进行。它有如下特征:
加密和解密分别用不同的密钥进行,如用加密密钥PK对明文P加密后,不能再用PK对密文进行解密,只能用相应的另一把密钥SK进行解密得到明文。即DPK(EPK(P))≠P,DSK(EPK(P))=P。加密密钥和解密密钥可以对调,即DpK(EsK(P))=P。应能在计算机上容易地成对生成,但不能用已知的PK导出未知的SK。3.公开密钥体制在非对称密钥体制中,存在一个由谁产生一对密钥的问题。若由A端产生一对密钥,则要由A将公钥送达B端,不仅送达过程是非常脆弱的,而且容易引起纠纷;若由第三方产生一对密钥,也存在密钥分配的脆弱性问题。无论多么强大的加密系统,一旦密钥泄露,就将无密可言。因而,实际应用的RSA体制采用的是公开密钥体制。为简化问题,以两方通信为例介绍公开密钥体制的基本原理。(1)为通信的双方各生成一对密钥——PKA、SKA、PKB、SKB,将PKA、PKB称为公开密钥(简称公钥),将SKA、SKB称为私有密钥(简称私钥);(2)按下面的原则分发给数据传送的两方:每一方掌握自己的私钥和对方的公钥;(3)设A为发送方,B为接收方,加密/解密过程如图6.2所示:加密/解密过程A端先用自己的私钥SKA对报文进行单向不可逆加密变换;A端用B端的公钥PKB,对经过签名变换的文本DSKA(P)进行加密,生成密文EPKB(DSKA(P))传向B方;B端收到密文EPKB(DSKA(P)),先用其私钥SKB进行解密,生成DSKA(P),接着再用A端的公钥PKA进行解密变换,便可得到明文P。公开密钥体制是斯坦福大学的两名科学家Diffie和Hellman在1976年提出来的。所以叫做公开密钥体制,是因为它基于非对称密钥体制,每一对密钥中,有一个是公开的。采用公开密钥体制无需事先交换密钥,也无需经常变更密钥,每个用户可以与任何其他用户进行保密通信,在网络环境下有较大的优越性,但其运算复杂、加密效率低。6.1.3分组密码分组密码是将明文进行编码后表示的数字序列)x0,x1,…,xi,…划分成长度为n的组:x=(x0,x1,…,xn-1)在分组密码中,常常要使用抗击对密码系统进行统计分析的扩散和混淆方法。扩散是使明文中的每一位影响密文中的多位,也使密文中的一位受明文中的多位的影响,从而将明文的统计特性散布到密文中,形成尽可能复杂的明文和密文之间的统计关系。在二元分组密码中,对数据重复使用某个置换,再对该置换作用以一个函数,可以获得扩散。混淆是是密钥与密文之间的统计关系变得尽可能复杂,使敌手无法从密文中分析出密钥。使用复杂的换位算法,可以得到预期的混淆结果。6.2典型加密技术
6.2.1数据加密标准DES算法1973年5月,美国国家标准局发出通告,公开征求对计算机数据在传输和存储期间的进行数据加密的算法。要求:(1)必须提供高度的安全性;(2)具有相当高的复杂性,使得破译的开销超过获得的利益,但同时又便于理解和掌握;(3)安全性应当不依赖于算法的保密,加密的安全性仅以加密密钥的保密为基础;(4)必须适合不同的用户和不同的应用场合;(5)实现算法的电子器件必须很经济,运行有效;(6)必须能够出口。此后数年内,美国的许多公司、研究机构和大学开发了许多算法。1975年,IBM提出的算法被采纳,并向全国公布,征求意见。1977年1月15日,美国国家标准局正式采用这个算法作为数据加密标准(同年7月15日生效)。这就是DES。
1.DES的基本思想DES算法的基本思想是将二进制序列的输入明文,以64位为数据分组,然后对这些明文进行替换和换位,最后形成密文。如图6.3所示。DES算法的基本特点如下:(1)对称算法:既可用于加密,也可用于解密。(2)64位的密钥,使用长度为56位(64位明文中,有8位用于奇偶校验)。(3)加密算法是混淆与扩散的结合,或者说是换位与置换的结合。(4)每个DES都在明文上实施16重相同的组合技术,如图6.4所示。这种重复性可以被非常理想地应用到一个专用芯片中。图6.3DES加密2.DES加密过程细化图6.5为对图6.4的细化。从图中可以看出,DES加密过程主要涉及如下环节(模块):初始换位和逆初始换位;将64位明文分为32位的左右两段:L0和R0;DES加密过程64位明文组初始换位IP得到L0得到R0f+K1L1=R0R0=L0f(R0,K1)f+K2L2=R1R2=L1f(R1,K2)f+L15=R14R15=L14f(R14,K15)fKi+R16=L15f(R15,K16)L15=R14逆初始换位IP-1K1664位密文组
进行16轮相同的迭代运算:混淆+异或+交换;将最后左右两段合并;生成每一轮的子密钥。表6.4为初始换位IP和逆初始换位IP-1。初始变换IP为将T=t1t2t3…t63t64变换成T0=t58t50t42…t15t7。IP-1为IP的逆变换。将明文分成左右两段和将左右两段合并比较简单,这里就不介绍了。关于每一轮的迭代和每一轮使用的子密钥的生成,下面专门介绍。表6.4初始换位IP和逆初始换位IP-13.子密钥的生成图6.6为生成每一轮使用的48位子密钥的过程。下面介绍它的各个环节。(1)压缩变换PC-1与将分割得到C0,D0PC-1的作用是去掉奇偶校验位8,16,24,32,40,48,56,64后,按56位进行换位。换位算法如表6.5所示。(2)密钥移位56位密钥被分成两部分之后,每一部分28位。在每一轮中进行一次左移位,左移的位数以轮数而异,如表6.6所示。生成每一轮使用的48位子密钥的过程
(3)压缩置换PC-2PC-2是从56位密钥中,取出48位。其算法如表6.7所示。4.f算法观察图6.5,现在就剩下f算法还没有介绍了。f算法是DES精华所在,用它来实现分组加密的扩展和混淆。在DES中,其他部分是线性的,而f算法是非线性的。如图6.7所示,f算法主要由E-盒、S-盒和P-盒组成。(1)E-盒E-盒(ExpansionPermutation,扩展置换)是把数据明文的右半部分Ri从32位扩展到48位。这样的好处有:可以与48位的密钥进行异或运算;有利于产生雪崩效应(AvalancheEffect),尽快地使输出(密文)的每一位依赖输入(明文和密钥)的每一位。提供了更长的结果,以便替代运算时可以压缩。
具体的办法是对于每个输入分组,在输出分组中将第1、4位分别对应2位,第2、3位不变。如图6.8所示。这样,尽管输出分组大于输入分组,但每一个输入分组产生唯一的输出分组。(2)S-盒代换S-盒是进行了压缩后的密钥(56位→48位)与扩展后的明文分组(32位→48位)异或后进行的。目的是对48位的输入替代压缩成32位的输出。替代由8个S-盒进行。每个S-盒有6位输入,4位输出。如图6.9所示,这8个S-盒,可以将48位的输入变换为32位的输出。
8个S-盒的6变4代换,按表6.8查表进行,并且每个盒的代换都不相同。查该表的方法是,用b1b6(二进制)查行,用b2b3b4b5(二进制)查列。例如,S3的6位输入为101100,则用10(2)查S3的第10行,用1100(12)查S3的12列,得到5。即输出的4位为0101。(3)P-盒置换是对S-盒的32位输出进行一次换位。表6.9给出了每位输入将要换到的新位置。例如,原来的第28位,移位到了第7位的位置上。6.2.2公开密钥算法RSA在Diffie和Hellman提出公钥密码体制理论后两年左右,MIT的R.Rivest,A.Shamir和L.M.Adleman三名数学家共同提出了一种用数论构造的、迄今理论上最为完臻的公开密钥算法,并用他们三人的名字将之命名为RSA算法。
1.数学基础(1)费尔玛(Fermat)定理描述1:若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1(modp)。描述2:对于素数p,若a是任一正整数,则ap≡a(modp)。例1:设p=3,a=2,则23-1=4≡1(mod3)或23=8≡2(mod3)例2:设p=5,a=3,则35-1=81≡1(mod5)或35=243≡3(mod5)
(2)欧拉(Euler)函数欧拉(Euler)函数φ(n)小于n,并与n互素的正整数的个数。例:φ(6)=2{1,5};φ(7)=6{1,2,3,4,5,6};φ(9)=6{1,2,4,5,7,8}
(3)欧拉(Euler)定理欧拉定理:若整数a和m互素,则aφ(m)≡1(modm)例1:设a=3,m=7,则有φ(7)=6,36=729,729≡1(mod7)例2:设a=4,m=5,则有φ(5)=2,42=16,16≡1(mod5)2.RSA加密密钥的产生
RSA依赖于一个基本假设:分解因子问题是计算上的困难问题。即很容易将两个素数乘起来,但分解该乘积是困难的。(1)基本过程
①选两个保密的大素数p和q(保密)。②计算n=p·q(公开),φ(n)=(p-1)(q-1)(保密)。③随机选取一整数e,满足1<e<φ(n)且gcd(φ(n),e)=1(公开)。④计算d,满足d·e≡1(modφ(n))(保密)。说明:d是e在模φ(n)下的乘法逆元。因为e与φ(n)互素,所以其乘法逆元一定存在。⑤得到一对密钥:公开加密钥:{e,n},秘密加密钥{d,n}。(2)应用举例
①选择两个素数p=7,q=17。②计算n=p·q=7×17=119。计算n的欧拉函数φ(n)=(p-1)(q-1)=6×16=96。③从[0,95]间选一个与96互质的数e=5,根据式5·d=1mod96④解出d=77,因为e·d=5×77=385=4×96+1=1mod96。⑤得到公钥PK=(e,n)={5,119},密钥SK={77,119}。
3.RSA加密/解密过程
(1)明文数字化,即将明文转换成数字串。(2)分组。将二进制的明文串分成长度小于log2n的数字分组。如果p和q都为100位素数,则n将有200位,所以每个明文分组应小于200位。(3)加密算法Ci=Mie(modn)最后得到的密文C由长度相同的分组Ci组成。(4)解密算法D(C)≡Cd(modn)4.综合应用举例(1)产生密钥设:p=43,q=59,n=43×59=2537,
φ(n)=42×58=2436取e=13(与φ(n)没有公因子)
解方程d·e≡(mod2436), 2436=13×187+5,5=2436-13×18713=2×5+3,3=13-2×5 1=3-2=3-(5-3)=2×3-5=2×(13-2×5)-5 =2×13-5×5 =2×13-5×(2436-13×187)=(187×5+2)×13-5×2436=937×13--5×2436即937×13≡1(mod2436)故e=13,d=937(2)加密
明文:publickeyencryptions明文分组:publickeyencryptions明文数字化(按字母序,令a=00,b=01,c=02,…,y=24,z=25):1520011108021004240413021724151908141418加密:按照算法Mie(modn)=Ci,如152013(mod2537)=0095得到密文0095164814101299136513792333213217511289解密:按照算法Cie(modn)=Mi,如009513(mod2537)=1520。5.RSA安全性分析
RSA体制的加密强度依赖于大数分解的困难程度。采用穷举法,对于两个100位的十进制大素数,破译它大约需要1023步,若使用100万步/秒的计算机资源对其进行破密,约需要1000年。但是,人类的计算能力也在不断提高,原来一些被认为不可能分解的大数,现在已经被成功分解。例如,RSA-129(即n为129位的十进制数,约428比特),历时8个月,已经于1994年4月被成功分解。而且有报道,国外科学家正在用量子方法对大数分解发起冲击。
不过,在目前的情况下,密钥长度在1024比特~2048比特的RSA还是相对安全的。为了保证RSA安全性,对p和q还有如下要求:(1)p和q的长度相差不要太大;(2)p-1和q-1都应当有大数因子;(3)gcd(p-1,q-1)应小。6.3密钥管理与密钥分配
一般说来,密码算法的研制比更换密钥要困难得多,即使费了九牛二虎的气力研制了一个密码算法,随着对手截获的报文的增多,知识积累的增加,破译密码的可能性就越来越大。因此,近代密码学要求在设计密码系统时,应当不强调密码算法的保密。于是密码系统的安全性就只取决于密钥的安全。历史的经验表明,从密钥的管理途径进行攻击比单纯破译密码算法要容易得多。在计算机网络中,由于用户和节点很多,出于安全的要求,密钥又要经常变换,于是密钥的设置、生成、分配、使用、替换、更新、保护、存储、备份/恢复、丢失、撤销、销毁等管理就成为一个十分棘手的问题。6.3.1密钥的生成
现代密码体制有点像门锁,房间的安全主要依赖于钥匙。也更像现代的电子锁,锁门的操作(相当于加密算法)非常简单,房间的安全关键在于卡片式钥匙的保管,而一旦卡片丢失或房间换人,只要重新对卡片进行设置即可。下面讨论与密钥的安全性有关的几个问题。
1.密钥的长度和密钥空间
在单钥加密体制中,密钥长度(Keylength)必须是足够长的。密钥的长度定义了密钥空间的大小。例如,DES有56位密钥,在正常情况下,任何一个56位的数据串都能成为其中一个密钥,所以DES具有256(1016)的密钥空间。每次使用的密钥都是在这个密钥空间中随机抽取的。因此,对DES攻击的难度,主要决定于密钥长度所定义的密钥空间。
实际上,DES的密钥空间也没有256(1016):在某些实现中,对密钥组成还有一些限制。这些限制,将使密钥空间减小,使DES密钥的攻击难度大为降低。表6.10为不同的限制对密钥空间的影响。此外,根据摩尔法则,计算机的计算能力每隔18个月翻一番,而且计算方法也在进步。所以,一个安全的密钥长度,很快就会不安全。还应当注意,将一个密码使用的长度与另一个的长度进行比较是不合适的,通常,对称密码中的密钥长度与非对称密码中的密钥长度不是直接相等的。
2.弱密钥问题
密钥强度就是密钥攻击的复杂度,除了密钥长度的因素外,还有密钥本身的品质问题。一个好的密钥,应当使好记、难猜。相对而言,易猜,生成具有规律性,提供较低的攻击复杂读的密钥就称为弱密钥(Weakkey)。显然k57=k49=k41=……=k44=k36=0或1,k63=k55=k47=……=k12=k4=0或1时,k将是弱密钥。故DES有以下4种弱密钥(十六进制表示):01010101010101011F1F1F1F1F1F1F1FE0E0E0E0E0E0E0E0FEFEFEFEFEFEFEFE
还有一种密钥称为半弱密钥,即存在k和k’使得DESk(m)=DESk’-1(m),或DESk(DESk’(m))=m。k和k’成对构成半弱密钥。半弱密钥有下面12个。01FE01FE01FE01FEFE01FE01FE01FE011FE01FE01FE01FE0E01FE01FE01FE01F01E001E001E001E0E001E001E001E0011FFE1FFE1FFE1FFEFE1FFE1FFE1FFE1F011F011F011F011F1F011F011F011F01E0FEE0FEE0FEE0FEFEE0FEE0FEE0FEE0严格地说,生成一个密钥后,应当对其进行若密钥测试。若发现是弱密钥,就换一个。但是,在DES的256(1016)的密钥空间中,只有16个弱密钥。这个几率很小。
对于公开密钥体制来说,密钥的产生就不这么简单了。因为密钥必须有一些约束,如:要符合某些数学特征,如:是素数,是二次剩余的等。随机性要强,最好伪随机数种子也是随机的。应当好记。将好记和随机性结合起来解决的好的办法是使用一个容易记忆的通信短语(passphrase)作为用户使用的密钥,如使用短语:MynameisOzymandisa,kingofkings,lookonworks,yemighty,anddespair.然后,使用密钥碾碎(Keycrunching)技术,将该短语碾碎成64位的密钥。如上述短语可以碾碎成: e6c143985ae90a9b这个密钥的随机性与通信短语的长度有关。当通信短语有足够的长度(一般认为有10个以上单词,或有49个以上字母),得到的密钥将具有较好的随机性。此外,密钥的选择还要尽避免字典攻击。美国国防部建议在OFB方式下,使用系统中断向量、系统状态寄存器、程序计数器、系统时钟、系统ID号等产生DES随机密钥。
6.3.2密钥的分配在密钥管理中,最核心、对关键的问题是密钥分配。密钥主要涉及密钥的发送和验证,密钥。前者要求通过非常安全的通路进行传送,后者要求有一套机制用于检验分发和传送的正确性。1.密钥设置协议为了提高密钥的安全性,目前流行的密钥管理方案一般采用层次的密钥设置。X9.17标准描述了两种层次的密钥:数据密钥(datakey,DK):直接对信息序列加密。密钥加密密钥(keyencryptionkey,KK):加密需要分发的密钥。2.网外分发与网内分发密钥的分发方法可以分为两种:网外分发和网内分发。网外分发即人工分发:派非常可靠的信使(邮寄、信鸽等)携带密钥分配给各用户。但是,随着用户的增加、通信量的增大以及黑客技术的发展,密钥的使用量增大,且要求频繁更换,信使分配就不再适用,而多采用网内密钥分配,即自动密钥分配。网内密钥分配的方式有两种:用户之间直接分配和通过设立一个密钥分配中心(KeyDistributionCenter,KDC)分配。具体的密钥分配方法称为密钥分配协议。目前国际有关标准化机构都在着手制定关于密钥管理技术的规范。国际标准化组织ISO和国际电工委员会IEC下属的信息技术委员会JTCI已经起草了关于公钥管理的国际规范。该规范主要由3部分组成:密钥管理框架;采用对称技术的机制;采用非对称技术的机制。3.密钥分配的几种方法在单钥加密体制中,信息交换方必须共享一个密钥,并且这个密钥要防止被他人获得。在公开加密体制中,为了使加密有效进行,信息接受方必须发布其公开密钥,同时防止其私钥被人窃取。此外,密钥还要经常更换,以便泄露见降至最小。
设有通信的双方A和B,密钥的分配可以有如下几种方法:
(1)网外分发方法密钥由A选定,然后通过物理方法传递给B。密钥由可信任的第三方选定,然后通过物理方法传递给A和B。
(2)密钥分配中心分发若A和B有一个共同的可信任的第三方——KDC(密钥分配中心),KDC可以通过加密连接将密钥安全地传送给A和B。这种方法多用于单钥密钥的分配。这个例子的前提:·A和B有一个共同的可信任的第三方——KDC;·KDC分别与A和B有一保密的信道,即KDC与A和B分别已经有一通信密钥Ka和Kb;·假定A与B的通信是A主动。目的是得到KDC分配的通信密钥Ks,在A和B之间建立秘密信道。①A向KDC发出会话密钥请求:IDa||IDb||N1
IDa,IDb标识会话双方A和B;N1标识本次会话(可能是时间戳或随机数等一个他人难于猜测的现时值)。②KDC对A的请求应答:EKa[Ks||{IDa||IDb||N1}||EKb[{Ks||IDa}]]
全部报文用A已经掌握的密钥Ka加密,内容包括三部分:一次性会话密钥Ks。A的请求报文(供A检验)。要求A中转,但A不能知道内容的、用Kb加密的一段报文:Ks||IDa。③A存储Ks,并向B转发:EKb[Ks||IDa]。B得到:
Ks,还知道Ks来自KDC(因为用Kb可解密,A不知道Kb)。由IDa知道会话方是A。④B向A回送报文:EKs[N2]。用Ks表明自己的身份是B(因为Ks要用Kb解密)。用N2再确认。⑤A向B回送报文:EKs[f(N2)]。确认B前次收到的报文不是回放。这样,A与B就有了自己的秘密通道了。
(3)证书授权中心(CertificateAuthority,CA)分发·A和B都有可信任的第三方——CA发布自己的私有密钥,则A和B都可以用彼此的公开密钥加密通信。·用于公开加密密钥的分配。
①用户A向CA发出请求报文:一个带时间戳的消息。获取B的公钥的请求。②CA对A应答(用A的公钥加密,A可以用自己的私钥解密):
B的公钥PKB(供A向B发加密消息)。A的请求(供A验证本报文是对自己请求的应答)。最初的时间戳(供A确认不是CA发来的旧消息,以便确定PKB确是B的)。③、④B用同①、②相同的方法,从CA得到A的公钥PKA。⑤A用PKB向B发送一个消息:
A的身份IDA。一次性随机数N1。⑥B用PKA向A发送一个消息:
N1(只有B才能解密用PKB加密的消息;将N1返回A,让A确认是B)。一次性随机数N2。⑦A用PKB将N2加密,返回B,供B确认。
应当说明,这种方法是基于公钥目录表的。公钥目录表是由某个可信的机构或组织管理、并定期更新、定期公布的用户公钥目录表。目录表中的每个目录项由两个数据组成:用户名和该用户的公钥。用户可以在公钥目录表的管理机构注册自己的公钥,也可以随时更换现有的公钥,也可以通过电子方式在有安全认证的情况下访问公钥目录表。应当注意的是,公钥目录表可能会被攻击者伪造、监听、攻击。
(4)公钥证书
公钥证书是由CA为用户发布的一种电子证书。例如用户A的证书内容形式为:CA=ESKCA[T,IDA,PKA]
其中:
IDA是用户A的标识。
PKA是A的公钥。T是当前时间戳,用于表明证书的新鲜性,防止发送方或攻击者重放一旧证书。SKCA是CA的私钥。证书是用CA的思钥加密的,以便让任何用户都可以解密,并确认证书的颁发者。当一方要与另一方建立保密信道时,就要把自己的证书发给对方。接收方用CA的公钥对证书进行查验,并获得发送方的公钥。接收方同意进行保密通信,也要将自己饿证书发送到对方。这样,就不依赖CA而直接交换了公钥。6.3.3密钥的使用与保护1.密钥的控制使用控制密钥使用,是为了保证按照预定的方式使用。控制密钥使用的信息有:密钥主权人;密钥合法使用期限;密钥标识符;密钥预定用途;密钥预定算法;密钥预定使用系统;密钥授权用户;在密钥生成、注册、证书等有关实体中的名字等。2.密钥的保护与存储密钥从产生到终结,在整个的生存期中都需要保护。一些基本的措施有:(1)密钥决不能以明文形式存放。(2)密钥首先选物理上择最安全的地方存放。(3)在有些系统中可以使用密钥碾碎技术由一个短语生成单钥密钥。(4)可以将密钥分开存放。例如:将密钥平分成两段,一段存入终端,一段存入ROM。将密钥分成若干片,分发给不同的可信者保管。
6.3.4密钥生存期的结束1.密钥的有效期任何密钥都不可能无限期地使用。有许多因素,似的密钥不能使用太长的时间,如:密钥使用越久,攻击者对它的攻击方法越多,攻击的机会越多。密钥一旦泄露,不立即废除,时间越长,损失越大。因此,不同的密钥应当有不同的有效期,同时必须制定一个检测密钥有限期的策略。密钥的有限期依据数据的价值和给定时间里加密数据的数量确定。
2.密钥的停用和更新当发生下列情况时,应当停止密钥的使用,更新密钥。密钥的使用期到,应该更新密钥。确信或怀疑密钥被泄露密钥,密钥及其所有变形都要替换。怀疑密钥是由一个密钥加密密钥或其他密钥推导出来时,各层与之相关的密钥都应更换。通过对加密数据的攻击可以确定密钥时,在这段时间内必须更换密钥。确信或怀疑密钥被非法替换时,该密钥和相关密钥都要被更换。3.密钥的销毁密钥被替换后,旧密钥必须销毁。旧密钥虽然不再使用,却可以给攻击者提供许多有重大参考价值的信息,为攻击者推测新的密钥提供许多有简直的信息。为此,必须保证被销毁的密钥不能给任何人提供丝毫有价值的信息。下面是在销毁密钥时使用过的一些方法,供参考:密钥写在纸上时,要把纸张切碎或烧毁;密钥存在EEPROM中时,要对EEPROM进行多次重写;密钥存在EPROM或PROM时,应将EPROM或PROM打碎成小片;密钥存在磁盘时,应当多次重写覆盖密钥的存储位置,或将磁切碎;要特别注意对存放在多个地方的密钥的同时销毁。
6.4数据隐藏及其数字水印技术6.4.1数据隐藏技术概述数据隐藏技术是指隐藏数据的存在性。通常是将数据隐藏在一个容量更大的数据载体之中,形成隐密载体,使非法者难于察觉其中隐藏有某些数据,或难于从中提取被隐藏数据。载体可以采用文字、图像、声音以及视频等。一般多用多媒体数据作为载体。这是因为多媒体数据本身具有极大的冗余性,具有较大掩蔽效应。为了增加被攻击的难度,还可以把加密与数据隐藏两者结合起来,将加过密的密文隐藏在多媒体载体之中。6.4.3数字水印的主要特征1.不可感知性在多媒体作品中加入水印后,要不改变其感知效果,如图像加入水印后,在视觉上察觉不出有隐藏的水印,同时也不影响原作品的视觉质量,即人们感觉不到图像有了什么变化。因此要求多媒体作品加入数字水印后,数字信息发生的变化和失真应低于可感知的门限,并且在各中分辨率下加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Module 8 Sports Life Unit 1 教学设计 2024-2025学年外研版九年级英语上册
- 副会长聘用合同范本
- 前置物业合同范本
- 劳务分包泥工合同范本
- 公墓bot项目合同范本
- gps销售合同范本
- 2024年新疆格瑞汀新材料科技有限公司招聘考试真题
- 七人合同范本
- 劳务装修合同范本
- 2024年黑龙江省选调考试真题
- 口腔正畸学单词
- 2022牛排消费趋势报告
- TPM╲t4Step Manul(三星TPM绝密资料)
- 细菌群体感应系统及其应用课件
- 司法鉴定程序通则(试行)
- 内衬修复用HTPO管材企标
- 部编教材一年级下册生字笔顺笔画
- 通达信指标——江恩轮
- 二维火收银使用手册
- 神经电生理检查ppt课件
- 管路滑脱风险评估表
评论
0/150
提交评论