版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息加密与信息隐藏概述随着计算机和通信网络的广泛应用,特别是电子商务的快速发展,信息的安全性受到人的普遍重视,大量的敏感信息(如银行帐号、商务交易、网上报税以及个人信息等)需要通过网络进行传输,这些信息对用户来讲需要保密。因此,我们每个人的脑子里都记着一堆密码,无论是在ATM机上取钱、拨号上网、登录电子邮箱都要输入密码。密码真的能保证我们的钱财与隐私的安全吗?它又是怎样使我们的信息得到保密和安全的?概述同样,随着网络及信息化技术的发展与普及,也存在着大量的非法信息服务及网络应用,如盗版的音像制品及软件、非法的电子出版物、信用卡欺骗网站以及宣扬反动暴力和色情网站等。所以,如何在充分利用互联网的同时有效地保护知识产权已受到高度重视。信息隐藏技术作为重要新兴课题,在现代网络环境中保护信息安全直到了重要的作用。2.1信息加密技术2.1.1密码学基本知识2.1.2密码学发展历史密码可以导致一场战争的胜负【案例】日本紫密。二战期间,日本采用的最高级别的加密手段是采用M-209转轮机械加密改进型——紫密,手工计算不可能在有限的时间破解,而美国利用计算机轻松地破译了紫密密码,使日本在中途岛海战中一败涂地,日本海军的主力损失殆尽。1943年,在解密后获悉日本山本五十六将于4月18日乘中型轰炸机,由6架战斗机护航,到中途岛视察时,罗斯福总统亲自做出决定截击山本,山本乘坐的飞机在飞往中途岛的途中被美军击毁,山本坠机身亡,日本海军从此一蹶不振。美军破译的日山本五十六视察日程的译文(“山本的死刑判决书”)紫密核心部件密码也可能导致个人隐私的泄露【案例】当当网账户遭盗刷。2012年3月,当当网账户集体被盗,余额被用于购买电子产品、金银首饰等大额商品。当年6月13日,网名为“我是那个向日葵”的微博用户发布微博称,其购进的10张面值500元"当当网礼品卡",被盗充。2014年3月,当当网113位用户账户余额被盗用,损失金额超过6万元。而当当网对于用户账户被盗第一时间均是撇清关系,在舆论压力下才给以补偿。当当网密码的泄露导致了用户经济上的损失。【案例】2014年9月份,有黑客利用苹果手机iCloud云端漏洞,窃取了奥斯卡影后劳伦斯等多位影星、歌手和名模的裸照,并在网络上大肆传播,给这些明星带来了名誉上的损失。同时也再一次在云服务领域拉响了数据危机警报。2.1.2密码学基本知识
信息加密是指把需要传递的消息用某种方法伪装以隐藏它的内容,这个过程被称为加密,消息被称为明文(Plaintext),如英文单词、数字、符号和图像等,加密后的消息称为密文。而把密文转变为明文的过程称为解密。明文:hello密文:QnTtadk3明文:hello加密解密(一)基本概念
明文消息(Plaintext):未加密的原消息,简称明文。密文消息(Ciphertext):加密后的消息,简称密文。加密(Encipher、Encode):明文到官方的变换过程。解密(Decipher、Decode):密文到明文的恢复过程。加密算法(EncryptionAlgorithm):对明文进行加密时采用的一组规则。解密算法(dncryptionAlgorithm):对密文进行解密时采用的一组规则。
一个密码系统(或称为密码体制,Cryptosystem)由加密算法、解密算法、明文空间(全体明文的集合)、密文空间(全体密文的集合)和密钥空间(全体密钥的集合)组成。
(一)基本概念密码学(Cryptology)是研究如何把信息转换成一种隐蔽的方式并阻止其他人得到它。密码学研究进行保密通信和如何实现信息保密的问题,具体指通信保密传输和信息存储加密等。密码学包含密码编码学和密码分析学。密码编码学主要研究对信息进行编码,实现对信息的隐蔽,寻求提供信息机密性、完整性、真实性和非否认性等的方法;密码分析学研究加密消息的破译和伪造等破坏密码技术所能提供安全性的方法。虽然不知道系统所用的密钥,但通过分析可能从截获的密文推断出原来的明文,这一过程称为密码分析也称密码攻击。
(一)基本概念Alice使用事先商量好的密钥对明文进行加密,然后将密文通过信道发送给Bob。接收者Bob,由于知道密钥,可以对密文进行解密,从而获得明文。Cracker可以窃听到信道中Alice发送的密文,但是无法知道其所对应的明文,但是Cracker可以通过密码分析来破绎密码。(二)密码的作用保密性
消息的保密性即在消息传输途中,拦截者不能读取消息的本意,从而达到了保密的目的。完整性
密码可以保证被接收方收到的消息在传输过程中未经任何变动以保护完整性,即消息没有被篡改。不可否认性
不可否认性保证了消息的发送者在发送消息之后不能否认曾经发送过消息。身份可控性用户或系统可以利用密码技术向其他的用户或系统来证明自己的身份。(三)密码安全性Kerckhoff原则:即使密码系统的任何细节已为人悉知,只要密匙未泄漏,它也应是安全的。也就是说,密码系统的安全性取决于密钥,而不是密码算法,密码算法是可以公开的。在Kerckhoff的原则基础上,由于算法公开,为了保证密码的安全,在选择密码算法时,尽可能满足以下两个要求:破译的代价超出信息本身的价值。破译的时间超出了信息的有效期。
(三)密码安全性对密码的攻击:对密码的攻击是指密文分析者在已知密码体制的前提下,破译密钥,将密文恢复出明文。密码分析者攻击密码的两个基本方法是穷举法和分析法。
穷举法:如8位的数字密码所有的组合为108。分析法又分为统计分析法(系统分析法)和确定性分析法,统计分析法通过分析明文与密文的统计规律来破译密码,确定性分析法指针对加密算法的数学依据,通过数学求解的方法来破译密码。《跳舞的人》剧照中“小人密码”(三)密码安全性根据密码分析者破译时具备的条件,通常将攻击类型分为4类:唯密文攻击。密码分析者只有一个或一些用同一个密钥加密的密文。在这种情况下进行密码破译是最困难的。已知明文攻击。密码分析者除了待破解的密文,还有一些已知的与待破解密文同一密钥加密的明文及对应密文(明文-密文对)。选择明文攻击。密码分析者暂时控制了加密机,可以选择任何明文,并构造出其相应的密文,这些密文和待破解的密文是用同一密钥加密的。选择密文攻击。密码分析者暂时控制了解密机,可以选择任何密文(这些密文和待破解的密文是用同一密钥加密的),并获得其对应的明文,获得密钥是分析者的主要目的。上述四种攻击类型的强度按序递增,如果一个密码体系能抵抗选择明文攻击,那么它当然能够抵抗唯密文攻击和已知明文攻击。2.1.2密码学发展历史第一阶段:古代至1949年这阶段的密码技术可以说是一种艺术,而不是一种科学,密码学专家常常是凭知觉和信念来进行密码设计和分析,而不是推理和证明,没有形成密码学的系统理论。这一阶段设计的密码称为经典密码或古典密码。斯巴达密码棒古代隐写术Caesar移位密码恩尼格玛密码机2.1.2密码学发展历史第二阶段:1949年到1975年
这一时期,计算机使得基于复杂计算的密码成为可能,数据的安全基于密钥而不是算法的保密。1949年香农发表的《保密系统的信息理论》首先将信息论引入了密码,利用数学方法对信息源、密钥源、接收和截获的密文进行了数学描述和定量分析,提出了通用的密钥密码体制模型,为私钥密码系统建立了理论基础,从此密码学成为一门科学。Shannon的保密通信模型(X:明文,Y:密文,Z:数字信号)2.1.2密码学发展历史第二阶段:1949年到1975年1971年至1973年IBMWatson实验室的HorstFiestel和他的同事们发表了几篇技术报告,奠定了1976年美国国家安全局(NationalSecurityAgency,NSA)提出数据加密标准(DataEncryptionStandard,DES)的基础。2.1.2密码学发展历史第三阶段:1976年到~1978年,Rivest,Shamir和Adleman公布了RSA密码体制,这是第一个真正实用的公钥密码体制,由于RSA算法对计算机安全和通信的巨大影响,该算法的3个发明人因此获得了计算机界的诺贝尔奖——图灵奖。随着计算能力的不断增加强,DES变得越来越不安全。20世纪90年代对称密钥密码进一步成熟,出现了新的高级数据加密标准AES来取代DES。2.2古典加密体制2.2.1替代密码2.2.2置换密码2.2古典加密体制由于古典密码大都比较简单,其安全性差,目前应用很少。研究古典密码的原理,有助于理解、构造和分析现代密码。替代算法置换算法替代密码就是将明文字母表中的每个字符替换为密文字母表中的字符。这里对应密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。替代密码主要有两种表现形式。单表替代多表替代2.2.1替代密码2.2.1替代密码单表替代——可以称为简单代替密码或者单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。接收者对密文做反向替换就可以恢复出明文。这是所有加密中最简单的方法凯撒密码:把字母表中的每个字母用该字母后面第3个字母进行替代。【例2-1】“中国梦”利用Caesar密码加密
明文:CHINADREAM
密文:FKLQDGUHDP2.2.1替代密码凯撒密码
如果为每个字母分配一个数值,用数字0,1,2,…,24,25分别和字母a,b,c,…,y,z相对应,可以得到Caesar密码的数学形式,也表示一种算法:C=(p+3)(mod26)
其中,C代表密文,p代表明文,mod表示模运算。若明文字母为g,则对应的字母为7,得密文C=(7+3)mod(26)=10,对应的字母为J。所以,明文g的密文为J。Caesar密码体系即由该公式和密钥3组成。但其实密钥可以选择1~25之中的任何一个数字,因此,可以把公式推广成任意密钥K:C=(p+k)(mod26)2.2.1替代密码单表替代使用密钥词的单表替代密码【例2-2】设密钥为student。
因此,如果明文为“china”,则对应的密文为“UBCJS”。单表替代密码的密钥量很小,不能抵抗穷尽搜索攻击。并且很容易受到统计分析的攻击。明文abcdefghijklmnopqrstuvwxyz密文STUDENABCFGGIJKLMOPQRVWXYZ2.2.1替代密码多表替代——为了克服单表替代密码的明文中单字母出现频率分布与密文中的相同这个缺点,多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母出现的频率分布,即由多个简单替代组成,也就是使用了两个或两个以上的替代表。著名的维吉尼亚密码就是多表替代密码。2.2.1替代密码多表替代维吉尼亚密码【例2-3】明文:CHINADREAM
密钥:STUDENT
密文:QMMQEKCOTI
2.2.1替代密码2.多表替代
如果用数字0~25分别表示26个英文字母a~z,则维吉尼亚密码也可用下列公式表示。
加密算法:ci=pi+ki(mod26)
解密算法:pi=ci-ki(mod26)
其中,pi、ci、ki分别表示第i个明文、密文和密钥字母。
维吉尼亚表把凯撒密码做了另一种改进,增加密钥的长度,克服了凯撒密码的缺点,例如,明文中的字母“H”可能对应的密文字母有“A”、“G”,这样就在密文中消除了明文中字母出现频率的规律了,因而提高了密码的保密程度。在置换密码中,明文字符集保持不变,只是字母的顺序被打乱了。第二次大世界中,德军曾一度使用栅栏技术。【例2-4】用深度2的栅栏密码加密明文消息“EastChinaNormalUniversity”,写出如下形式:esciaomlnvriyathnnrauiest
被加密后的消息是:ESCIAOMLNVRIYATHNNRAUIEST。
2.2.2置换密码一种更为复杂的方案是以一个矩形逐行写出消息,再逐列读出该消息,并以行的顺序排列,列的阶则成为该算法的密钥。【例2-5】采用一个字符串“SECURITY”为密钥,把明文“TheEastchinanormaluniversity”进行列换位加密。在列换位加密算法中,按照“SECURITY”各个字母大小的顺序排出列号,以列的顺序将矩阵的字母读出,就构成了密文。
密钥:SECURITY
明文:Theeastchinanormaluniversity
密文:ENUTHILISOVBANIATHASTRECEANYCMRD最后四个字母为空位补齐,具体用什么字母可由自己规定,如可全部用“Z”补齐。2.2.2置换密码2.3现代加密体制2.3.1对称加密算法2.3.2非对称加密算法2.3.3混合加密算法2.3现代加密体制古典密码技术操作的对象是字符级的,计算机的应用自然使人们想到比特级的加密。现代通信方法一般都是开放和公用的。如果要通过现代的通信技术来进行数据的保密传输,便必须采用合适的加密技术,防范那些“偷窥者”窃取秘密。在此基础上,渐渐发展出了现代加密体制。2.3现代加密体制对称密钥密码体制
在对称密码体系中,加密密钥和解密密钥相同,彼此之间很容易相互确定。非对称密钥密钥体制
在非对称密钥密码体制中,加密密钥(又称公钥,PublicKey)与解密密钥(又称私钥,PrivateKey)不同,且由其中一个不容易得到另一个,可将加密能力和解密能力分开,不需要通过专门的安全通道来传送密钥。2.3.1对称加密体制对称密钥密码体制基本思想就是从加密信息使用的密钥可以推出解密信息的密钥,反之亦然。绝大多数的对称加密算法使用的加密密钥和解密密钥都是相同的。实际上,前面介绍的Caesar、置换密码等古典密码都是对称加密算法。对称加密算法要求通信双方在建立安全信道之前,约定好所使用的密钥。根据Kerckhoff原则,好的对称加密算法其安全性完全决定于密钥的安全,算法本身是可以公开的,一旦密钥泄露就等于泄露了被加密的信息。2.3.1对称加密体制(一)DES基本描述DES(DataEncryptionStandard,数据加密标准)由IBM公司于1972年研制成功,目的在于保护公司的机密产品。国际标准化组织ISO(InternationalStandardOrganization)也将DES指定为数据加密标准。这一算法在金融和政府工程中得到大量运用。目前更广泛用于电子商务系统。
对于任意长度的明文,DES算法首先对其进行分组,每组数据64位(8字节),然后分别对每个64位的明文分组进行加密。输出的密文分组长度也是64位,没有数据扩展。64位的密钥中含有8位的奇偶校验位,所以实际有效密钥长度为56位。密钥可以是任意的56位的数,且可在任意的时候改变。其加密大致分为4个过程:初始置换、子密钥生成、16轮迭代变换和逆置换。2.3.1对称加密体制(一)DES基本描述DES的大致流程如下:
首先DES对64位明文分组进行操作。通过一个初始置换,将明文顺序打乱,然后进行16轮完全相同的运算,这些运算被称为函数,在运算过程中明文与密钥结合。所以,密钥也要在进行置换选择后进行16轮循环移位,每一轮运算都会产生子密钥,与明文结合。经过16轮后函数运算后,左、右半部分合在一起经过一个逆置换(初始置换的逆置换),算法就完成了。2.3.1对称加密体制(二)DES具体操作*(三)DES算法的特点DES算法的优点是DES是一种极其灵活的密码算法,有多种运行模式。适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。DES算法的弱点是不能提供足够的安全性。
(1)DES密钥容量只有56位。
(2)DES的迭代次数偏少。2.3.1对称加密体制(四)DES的发展1.多重DES
一般广泛采用3DES方案。3DES基本原理是将采用2~3个不同密钥,对明文多次进行普通的DES加解密操作,从而增强加密强度。
一种方法是使用3个不同的密钥作3次加密,简称EEE3(encryptencryptencrypt3)。一种实用的方法是仅使用2个密钥作3次加密,实现方式为加密—解密—加密,简记为EDE2(encryptdecryptencrypt2)。
DES-EDE2加密流程(k1=k3
)
2.3.1对称加密体制(四)DES的发展2.IDEAIDEA使用128位的密钥,强度高于DES;同一个算法既可用于加密又可用于解密;而且IDEA的设计易于软件实现,如PGP邮件加密软件便是基于IDEA。2.3.1对称加密体制(四)DES的发展3.AES
高级加密标准AES是一种分组密码体制,加密和解密使用相同的密钥,属于对称密码体制。与DES分组密码体制不同的是,AES中明文或密文分组长度以及密钥长度不是固定的,而是可变的,它们可以是128位、192位、256位,因此AES加/解密算法具有一定的灵活性。在安全性要求较高的应用场合,可以选择较长的密钥,比如256位,在安全性要求较低的应用场合,则可以选择较短的密钥,比如128位。2.3.1对称加密体制(五)对称密码算法的优缺点优点:运算量小,加解密速度快,加解密效率高。缺点:用户使用对称加密算法时,需要在A和B传输密文之前使用一个安全的通道交换密钥。对称密码要分发和管理的密钥很多,如何对数量如此庞大的密钥进行管理是另外一个棘手问题。2.3.2非对称加密体制1976年Diffie和Hellman在IEEE期刊上提出了划时代的公开密钥密码系统的概念。非对称密码系统可应用为加解密或数字签名系统。非对称加密算法的通信双方使用不同的密钥。公钥用来加密,可以公开。私钥用来解密,由用户自己保留。除了用于加密,当用户使用自己的私钥对消息进行加密,而使用公钥解密时,非对称密码算法还可以实现签名的功能,保证了数据的完整性。2.3.2非对称加密体制RSA算法是1978年由麻省理工学院的Rivest,Shamir和Adelman三人(见图2-14)提出的一种著名的公开密钥密码算法,并以其三位发明者的名字命名,其简单但意义重大,获得2002年的图灵奖。2.3.2非对称加密体制(一)RSA的体制1.公钥和私钥的产生
随机选择两大素数p和q,p不等于q,p和q保密。
计算n=pq,n公开。
计算欧拉函数φ(n)=(p-1)(q-1),φ(n)保密。
随机选择整数e,
1<e<φ(n)且e与φ(n)互素,e公开。
计算解密密钥d满足:(d×e)modφ(n)=1,d保密。(n,e)是公钥,(n,d)是私钥。2.加密与解密过程
加密变换:对于明文m∈Zn,密文为:c=memod(n)
解密变换:对于密文c∈Zn,明文为:m=cd
mod(n)2.3.2非对称加密体制(一)RSA的体制【例2-6】
Alice想要使用RSA算法与Bob通信。首先,Alice计算公钥/私钥对。选p=11,q=23,n=p×q=253,欧拉函数φ(n)=(p-1)(q-1)=220。选择加密密钥e=3,由(d×e)modφ(n)=1得解密密钥d=147。至此,Alice的公钥对是(253,3),私钥对是(253,147)。Alice将公钥(253,3)传递给Bob,自己保留私钥(253,147)。
设Bob向Alice传递的明文消息m=65。Bob利用公钥(253,3)计算C=memod(n)得到密文c=120。然后,Bob将c=120通过信道传递给Alice。
Alice收到密文消息c=120后,利用私钥(253,147)计算m=cdmod(n),得到明文消息m=65。2.3.2非对称加密体制(二)RSA工具
如果给定两素数,不用通过人工计算或编程得到,我们用RSA-Tool工具就可以很容易得到公钥n和e,以及私钥d。
如假设两个素数p=7,q=17。下面通过小工具RSA-Tool演示上面所说的过程。
选择好密钥长度(Keysize)和进制(NumberBase),并确定P、Q和公钥E(PublicExponent)的值后,单击“Calc.D”按钮,则可算出N和私钥D。可得公开加密密钥(n,e)=(119,5),解密密钥d=77。这样就可以使用公钥对发送的信息进行加密,如果接收者拥有私钥,就可以对信息进行解密了。2.3.2非对称加密体制(三)RSA算法的安全性RSA算法的可靠性正是基于这样的假设:即将两个大的质数合成一个大数很容易,而相反的过程则非常困难。在当今技术条件下,当n足够大时,为了找到d,欲从n中通过质因子分解试图找到与d对应的p、q是极其困难甚至不可能的。2.3.2非对称加密体制(一)RSA的体制
为了增加RSA算法的安全性,最实际的做法是加大n的长度。假设一台计算机完成一次运算的时间需要1µs,下表表明了分解不同长度的n所需要的平均时间。
可见,随着n的位数的增加,分解n将变得非常困难,成本越来越高。2.3.2非对称加密体制(四)公开密钥算法的优缺点1.优点(1)加密密钥与解密密钥不同,所以非对称加密算法的保密性比较好,它消除了对称加密算法中用户交换密钥的需要;(2)加密密钥是完全公开的,用户只需保存好自己的私钥,所以n个用户通信只需保管n个解密密钥,大大减少了通信中用户保管的密钥数量;(3)RSA算法基于大素数因式分解的困难性来产生公钥/私钥对,具有较强的安全性;(4)除了加密之外,公开密钥算法还可用于数字签名。2.3.2非对称加密体制(四)公开密钥算法的优缺点1.缺点(1)因公开密钥算法比较复杂而带来的速度问题。(2)公开密钥算法还可能遭受中间人攻击。中间人攻击是一种常见的攻击方式,攻击者从通信信道中截取数据包并对其进行修改,然后再插回信道中,从而将自己伪装成合法的通信用户。2.3.3混合加密体制在混合加密体系中,使用对称加密算法(如DES算法)对要发送的数据进行加、解密,同时,使用公开密钥算法(最常用的是RSA算法)来加密对称加密算法的密钥。这样既加快了加、解密的速度,又解决了对称加密算法中密钥保存和管理的困难,是目前解决网络上信息传输安全性的一个较好的解决方法。混合加密过程
混合解密过程
2.4信息加密应用2.4.1散列函数2.4.2数字签名2.4.3PGP应用2.4.4数字证书2.4.5
基于标识密码2.4.6认证应用2.4信息加密应用根据密码的作用,密码学的基本应用如下:用加密来保护信息信息验证:采用密码技术对发送信息进行运算生成消息验证码(MAC值),附在消息之后发出或与信息一起存储,对信息进行认证。数字签名:数字签名的作用有两点接收方可以鉴别发送方的真实身份,且发送方事后不能否认发送过该报文这一事实;发送方或非法发送者不能伪造、篡改报文。身份识别
2.4信息加密应用后三个功能中的几个名词:消息验证码、数字签名、数字证书消息验证码(带密钥的Hash函数):在发送数据之前,发送方首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得消息验证码。之后,它和数据一起被发送。接收方收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。消息验证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验,但是无法保证不可否认性,即发送方否认发送过消息的事实。而数字签名可以弥补这个不足。2.4信息加密应用后三个功能中的几个名词数字签名:要产生数字签名,首先要使用一个散列函数来产生明文消息的消息摘要,然后对该消息摘要进行加密(用发送方的私钥加密)。所以,数字签名在对消息进行验证的功能基础上,进一步鉴别发送方的真实身份。但是,如何确认我们用的公钥确实是发送方的公钥,而不是攻击者的公钥呢?这就需要数字证书来进行身份认证。
2.4.1散列函数散列函数,是一种加密形式,主要适用于数字签名标准DSS里面定义的数字签名算法。Hash函数可在获取明文输入后将其置换为固定长度的加密输出(称为“消息摘要”)。此摘要是一组固定长度的位,这些位用途原始消息的唯一“数字指纹”。如果原始消息发生变化,并且重新用Hash函数来处理,则会产生不同的摘要。所以消息摘要算法可以敏感地检测到数据是否被篡改,消息摘要算法再结合其他的算法就可以用来保护数据的完整性。2.4.1散列函数(一)Hash函数完整性检测模型
发送者要发送的明文消息为x,他应用散列函数H生成x的消息摘要H(x),把消息x和消息摘要H(x)的密文y通过公开信道同时发送给接收者,接收者对接收到的消息x’生成消息摘要H(x’),与通过对y解密得到的消息摘要H(x)进行比较,如果两者相等,就可以确认x’=x,消息x在传输中没有被篡改。2.4.1散列函数(二)Hash函数的特点接受的输入报文数据没有长度限制。对输入任何长度的报文数据能够生成该电文固定长度的摘要(数字指纹)输出。从报文能方便地算出摘要。极难从指定的摘要生成一个报文,而由该报文又反推算出该指定的摘要。两个不同的报文极难生成相同的摘要。
Hash函数是单向不可逆的运算过程,形象地说就像“摔盘子”,想通过盘子碎片还原出一个完整的盘子是很困难甚至不可能的,这相当于想通过消息摘要找出报文的过程。
另外,如电文M1与电文M2全等,则有h(m1)与h(m2)全等,如只将M2或M1中的任意一位改变了,其结果将导致h(m1)与h(m2)中有一半左右对应的位的值都不相同。这种发散特性使电子数字签名很容易发现(验证签名)电文的关键位的值是否被篡改。2.4.1散列函数(三)Hash算法的应用
目前常用的Hash函数有MD5(128bit)和SHA-1(160bits)等1.MD5算法(1)MD5简介MD5的全称是Message-DigestAlgorithm5(消息-摘要算法),它的作用是让大容量信息在数字签名软件签署私人密匙前“压缩”成一种格式(就是把一个任意长度的字节串变换成一定长的大整数),也就是我们前面提到的消息摘要。2.4.1散列函数(三)Hash算法的应用1.MD5算法(2)MD5特性
MD5和Hash函数一样具有单向不可逆性,同时也具有雪崩特性。雪崩特性是指明文的微小变化能引起密文(Hash值)的很大变化,反之,密文的很小变化也能引起明文的很大变化。如图2-25和2-26所示,字符串“123456”和“123457”相关个位数字,但它们的明文“e10adc3949ba59abbe56e057f20f883e”和“f1887d3f9e6ee7a32fe5e76f4ab80d63”相比甚远。2.4.1散列函数(三)Hash算法的应用2.SHA-1算法SHA-1在设计的方法上是依据MD4方法的。SHA-1对任意长度明文预处理后的明文长度是512位的整数倍,输出是160位。即对于任何长度小于2^64位的消息,SHA-1会产生一个160位的消息摘要。2.4.1散列函数(三)Hash算法的应用3.SHA-1和MD5对比SHA所产生的摘要较MD5多了32位。若两种散列函数在结构上没有任何问题的话,SHA比MD5更安全。MD5和SHA算法都是主要考虑以32位处理器为基础的系统结构。但SHA的运算步骤较MD5多了16个步骤。而且SHA产生摘要的长度较MD5多了32位。因此若是以硬件来实现SHA,其速度和MD5相比稍慢。2.4.2数字签名在日常的社会生活和经济往来中,签名盖章是非常重要的。在签订经济合同、契约、协议以及银行业务等很多场合都离不开签名或盖章,它是个人或组织对其行为的认可,并具有法律效力。随着网络普及,人们传递信息的方式也发展成了电子形式。与之相适应,为了解决网络环境是交易当事人的身份确认问题,人们从技术上发展出了多种手段,如计算机口令、数字签名、生物技术(指纹、掌纹、视网膜纹、脑电波、声波、DNA等)签名等。上述这些手段,统称为电子签名,它能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性及不可抵赖性,起到手写签名或者盖章同等的作用。2.4.2数字签名
一个安全有效的数字签名具备以下5个特性。可信性。文件的接收方相信签名者在文件上的数字签名,相信签名人认可文件的内容。不可伪造性。除签名本人以外的任何其他人不能伪造签名人的数字签名。不可重用性。签名是被签文件不可分割的一部分,该签名不能转移到别的文件上。不可更改性。除了发送方的其他人不能伪造签名,也不能对发送的信息进行篡改、伪造。若文件更改,其签名也会发生变化,使得原先的签名不能通过验证从而使文件无效。不可抵赖性。签名人在事后不能否认其对某个文件的签名。
满足以上5个条件的数字签名技术就可以解决对网络上传输的报文进行身份验证的问题。2.4.2数字签名实现数字签名有很多方法,除了前面提到的基于Hash函数以外,目前数字签名采用较多的是公钥加密技术。用公钥加密技术进行数字签名的原理为:信息发送方A使用公开密钥算法的主要技术产生别人无法伪造的一段数字串。A用自己的私有密钥加密数据后传给接收方B,B用A的公钥解开数据后,就可确定消息来自于A,同时也是对A发送的信息的真实性的一个证明,A对所发信息不能抵赖。2.4.2数字签名
发送方A传送的明文通过Hash函数计算转换成报文摘要(或称数字指纹),报文摘要用私钥加密后与明文一起传送给接收方B,B用A的公钥来解密报文摘要,再将收到的明文产生新的报文摘要与A的报文摘要比较,若比较结果一致则表明明文确实来自期望的A,并且未被改动。如果不一致表示明文已被篡改或不是来自期望的A。2.4.2数字签名公钥密码技术进行加解密和数字签名的不同:用公钥密码技术进行加解密时,消息发送者用消息接受者的公钥加密,消息接受者用自己的私钥解密用公钥密码技术进行数字签名时,消息发送者用自己的私钥加密,而消息接受者而消息发送者的公钥解密。2.4.2数字签名鲍勃有两把钥匙,一把公钥,一把私钥。鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。2.4.2数字签名苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果。鲍勃收信后,用私钥解密,看到信件内容。2.4.2数字签名鲍勃给苏珊回信,写完后用Hash函数,生成信件的摘要(digest)。鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。2.4.2数字签名鲍勃将这个签名,附在信件下面,一起发给苏珊。苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。2.4.2数字签名苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过,且是由鲍勃发出的。2.4.2数字签名【案例】基于二维码的文书查验和信息加密传送为了解决现有绝大部分仅通过公章证明真伪的公文以及文书易于造假、文书内容易于篡改、难以辨别、容易抵赖、明文打印的不足,得益于二维码的普及性和便利性,提出了基于二维码进行数字签名查验文书与信息加密传达的方法,该方法相对普通当事人及相关部门来说操作简单,实用性强,相关部门仅需要投入较少的软硬件设施即可杜绝假文书、篡改文书的现象。2.4.3PGP应用
PGP(PrettyGoodPrivacy)是基于RSA公钥加密体系的邮件加密软件,使用RSA和传统对称加密算法的杂合算法。
PGP的主要功能有两方面:对邮件加密,以防止非授权用户阅读,保证信息的机密性对邮件进行数字签名使收集人确信邮件的发送者,并确信邮件没有被篡改或伪造,也就是信息的认证性。
除了邮件加密与身份确认功能之外,PGP的还可对文件、磁盘加密。2.4.3PGP应用(一)PGP原理PGP充分利用了对称密码速度快和非对称密码安全性高的优势,并利用了数字签名和密钥认证管理机制。
每次加密邮件时,PGP随机生成一个用于加密邮件内容的IDEA密钥,然后用RSA公钥对该密钥加密。这样收件人收到邮件之后,先用RSA密钥解密出这个随机密钥,再用IDEA解密邮件本身。这样既做到了既有RSA体系的保密性,又有IDEA算法的快捷性。2.4.3PGP应用(一)PGP原理
2.4.3PGP应用(二)软件使用1.生成密钥
在任务栏上选择密钥->添加密钥,弹出密钥的生成导向。(1)输入全名和email地址。
2.4.3PGP应用(二)软件使用1.生成密钥
(2)然后输入保护私钥的密码(Passphrase和Confirmation),重复两次。2.4.3PGP应用(二)软件使用1.生成密钥
(3)在PGP完成创建密钥对后,即可以PGPkeys主界面找到创建的新用户。右键查看属性。(4)接着导出公钥,把公钥作为一个文件保存在硬盘上。并把公钥文件作为邮件附件发送给希望进行安全通信的联系人。2.4.3PGP应用(二)软件使用2.PGP加解密(1)加密
2.4.3PGP应用(二)软件使用2.PGP加解密(2)解密
解密时双击扩展名为“.pgp”的文件或先选中文件并右击,在弹出的菜单中选择PGP->Decrypt命令,在弹出的文本框中输入口令即可。2.4.4数字证书
很多人不理解数字证书和数字签名有什么不一样,接着之前的例子,帕蒂、道格、苏珊都有鲍勃的公钥,鲍勃给苏珊写回信时用数字签名确保信息的准确和鉴定签名人的身份,但如果出现了复杂的情况呢?比如道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。因此,他就可以冒充鲍勃,写信给苏珊。2.4.4数字证书苏珊发现,自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificateauthority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(DigitalCertificate)。鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。2.4.4数字证书
所以,数字证书是网络通信中标志通信各方身份信息的一系列数据,它是由权威公正的第三方机构CA中心签发的证书,它能提供在因特网上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份,其作用类似于现实生活中的身份证。2.4.4数字证书(一)PKIPKI是“PublicKeyInfrastructure”的缩写,意为“公钥基础设施”,是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施,为电子商务、电子政务等提供安全服务的技术和规范。
作为一种基础设施,PKI由公钥技术、数字证书、证书发放机构和关于公钥的安全策略等基本成分共同组成,为用户保证网络通信和网上交易的安全。
2.4.4数字证书(二)CA认证中心
认证机构相当于一个权威可信的中间人,它的职责是核实交易各方的身份,负责电子证书的发放和管理。CA认证系统采用国际领先的PKI技术,总体分为三层CA结构:第一层为根CA;第二层为政策CA,可向不同行业、领域扩展信用范围;第三层为运营CA,根据证书运作规范(CPS)发放证书。2.4.4数字证书(二)CA认证中心1.发放证书,用CA的数字签名绑定用户或系统的识别号和公钥。首先需验证并标识证书申请者的身份,对证书申请者的信用度、申请证书的目的、身份的真实可靠性等问题进行审查,确信申请者身份绑定的正确性。其次,为了防止被破译,CA用于签名的私钥长度必须足够长并且私钥必须由硬件卡产生,私钥不出卡。2.管理证书信息资料。管理证书序号和CA标识,确保证书主体标识的唯一性,防止证书主体名字的重复。规定证书的有效期。发布证书废除列表(CRL),因某种原因证书要作废,就必须将其作为“黑名单”发布在证书作废列表中,以供交易时在线查询,防止交易风险。确保必要时可以废除证书。对已签发证书的使用全过程进行监视跟踪,作全程日志记录,以备发生交易争端时,提供公正依据参与仲裁。2.4.4数字证书(三)数字证书1.数字证书的格式数字证书的内部格式是由CCITTX-509国际标准所规定的,主要包含以下内容:证书的版本信息;证书的序列号,每个用户都有一个唯一的证书序列号;证书所使用的签名算法;证书的发行机构名称;证书的有效期;证书所有人的名称;证书所有人的公开密钥;证书发行者对证书的签名。
此外,X-509证书格式还预留了扩展功能,用户可以根据自己的需要进行扩展。基于X-509证书的认证实际上是将人与人之间的信任转化为个人对组织机构的信任,因此这种认证系统需要有CA的支持。2.4.4数字证书(三)数字证书2.数字证书的作用访问需要客户验证的安全Internet站点。用对方的数字证书向对方发送加密的信息。给对方发送带自己签名的信息。2.4.4数字证书3.数字证书的应用【例】https协议首先,客户端向服务器发出加密请求。服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。2.4.4数字证书客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。2.4.4数字证书如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。数字证书如果是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。2.4.4数字证书(四)基于证书的公钥系统存在的问题1.发送方在发送信息前总需要先获取接收方的证书。2.在每收到一个证书后,实体都需要验证证书的有效性。3.证书颁发和管理系统(PKI)非常复杂,难以部署。2.4.5基于身份密码为了解决公钥难以管理的问题,在1984年以色列科学家Shamir提出了基于标识的密码系统的概念IBC(Identity-BasedCryptograph)。在基于标识的系统中,每个人的公钥就是他的身份标识,比如email地址,电话号码等,而私钥则以数据的形式由用户自己掌握。由于标识本身就是实体的公钥,这类系统就不再依赖证书和证书管理系统如PKI,从而极大地简化在具体安全应用在大量数字证书的交换问题,使安全应用更加易于部署和使用。2.4.5基于身份密码基于身份密码学(IBC)最大的优势就在于它简化了传统基于证书的公钥体制负担最重的密钥管理过程。IBC系统拥有如下性质:用户公钥是他的身份信息(或者是从身份信息变化而来);不需要公钥目录;消息加密或签名验证过程只需要接受者或签名者的身份信息加上一些系统参数。因此,IBC在密钥分发等方面远优于PKI。2.4.5基于身份密码(一)IBC密钥的管理(密钥的产生和更新)
密钥管理包含两大主要功能:密钥产生和密钥更新。在IBC系统平台上,这些功能是通过中央密钥管理服务器来实现的,它管理企业的安全应用。
密钥产生功能就是产生安全通信过程中需要的公钥和私钥。密钥更新功能确保密钥根据需要进行变化,这样密钥如果丢失或被盗,可以对系统和用户进行保护。2.4.5基于身份密码(一)IBC密钥的管理(密钥的产生和更新)密钥产生IBC系统通过一个密钥服务器来产生密钥,密钥服务器的主要功能是为用户产生私钥,并使得用户,服务和应用程序能利用IBC加密。密钥更新
密钥更新是密钥管理的组成部分,它确保密钥的有效性和真实性。为了防止密钥被破解,在实际中公钥可包含用户身份和日期的信息(系统参数),诸如:
“name=Alicevalidity=02/01/2015-02/28/2015”
这样在不同的时间段,公钥都是不同的,相应的私钥也就不同,这在很大程度上又保证了密钥的安全性。密钥服务器仅仅只要停止分发密钥给那些解雇的员工或者不安全的人员,而不要进行繁琐的废止密钥操作。2.4.5基于身份密码(二)IBC在应用中的优势1.IBC简化了管理
管理员使用IBC,只需要管理用来为每个员工创建公钥和私钥的主密码和一组公共参数。IBC用一组信息取代了一千个证书。这些信息结合每个用户的电子邮件地址,就可以创建惟一的密钥。2.打破了事先交换证书才能通信的限制IBC的第二个改进就是能够发送加密信息给没有数字证书的接收方。这样一来,如果需要,企业可以与客户和合作伙伴进行安全通信。通过在智能卡、UKey上部署IBC,开发人员能够开发更安全、更适用、更具性价比的在线和离线企业通讯应用软件。2.4.6认证应用网络安全认证技术是网络安全技术的重要组成部分之一。认证指的是证实被认证对象是否属实和是否有效的一个过程。认证常常被用于通信双方相互确认身份,以保证通信的安全。一般可以分为两种:消息认证
用于保证信息的完整性和抗否认性。在很多情况下,用户要确认网上信息是不是假的,信息是否被第三方修改或伪造,这就需要消息认证。身份认证
用于鉴别用户身份。2.4.6认证应用(一)消息认证
消息认证实际上是对消息本身产生一个冗余的信息——MAC(消息认证码),消息认证码是利用密钥对要认证的消息产生新的数据块,并对数据块加密生成的。消息认证技术可以防止数据的伪造和被篡改,以及证实消息来源的有效性。2.4.6认证应用(二)身份认证1.用户名/密码方式2.IC卡认证,如学生一卡通卡3.动态口令,如短信验证码4.智能卡技术,如电话的客户身份识别卡(SIM卡)5.生物特征认证,如指纹识别、虹膜识别6.USBKey认证,如银行的U盾2.5信息隐藏技术2.5.1传统隐写术2.5.2数字水印2.5.3潜信道2.5.4信息隐藏软件2.5信息隐藏技术现代信息隐藏技术仅起源于20世纪90年代,它指将特定用途的信息隐藏在其他信息载体中,使得它们难以被消除或发现。信息隐藏不同于传统的密码学技术。传统的密码学技术主要研究如何将机密信息进行特殊的编码,以形成不可识别的密码形式(密文)进行传递。信息隐藏主要研究如何将某一机密信息秘密隐藏于另一个公开的信息中,然后通过公开信息的传输来传递机密信息。密码隐藏保密的内容,而隐写隐藏保密的事实(不但隐藏了信息的内容还隐藏了信息的存在)。
2.5.1传统的信息隐藏技术古代信息隐藏的方法可以分为两种:一种是将机密信息进行各种变换,使非授权者无法理解,这就是密码术;另一种是将机密信息隐藏起来,使非授权者无法获取,如隐写术等。古代密码术发展到现代密码学,古代隐写术发展到信息隐藏技术。古代隐写术主要包括技术性的隐写术、语言学中的隐写术和用于版权保护的隐写术。2.5.1传统的信息隐藏技术1.技术性隐写术(1)使用不可见墨水给报纸上的某些字母作上标记来向间谍发送消息。(2)在一个录音带的某些位置上加一些不易察觉的回声。(3)将消息写在木板上,然后用石灰水将它刷白。(4)将信函隐藏在信使的鞋底里或妇女的耳饰中。(5)由信鸽携带便条传送消息。(6)通过改变字母笔画的高度或在掩蔽文体的字母上面或正面挖出非常小的小孔(或用无形的墨水印制作非常小的斑点)来隐藏正文。(7)在纸上打印各种小像素点组成的块来对诸
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025陕西建筑安全员B证(项目经理)考试题库
- 2025年海南省安全员《A证》考试题库
- 2025年广东建筑安全员《C证》考试题库及答案
- 唤醒正能量员工培训课件
- 《企业客户关系管理》课件
- 《如何远离大肠癌》课件
- 《小主持人口才训练》课件
- 《投资理财工具介绍》课件
- 【法语学习】法国概况模版课件
- 单位人力资源管理制度精彩选集十篇
- 2024年安徽安庆宜秀区国企业招聘易考易错模拟试题(共500题)试卷后附参考答案
- 8年级上册(人教版)物理电子教材-初中8~9年级物理电子课本
- 不动产登记申请表
- 2024年中国中铁十局招聘高频难、易错点500题模拟试题附带答案详解
- 项目资金管理统筹实施方案
- 高中英语新课程标准解读课件
- 国家开放大学电大《金融市场》教学考一体化网考形考试题及答案-图文
- 政治-经济与社会 教材探究与分享参考答案高中政治统编版必修二
- 2024年PURL系列反应型皮革用聚氨酯乳液项目合作计划书
- GB/T 44328-2024七氟异丁腈
- 湖南省常德市桃源县市级名校2024年中考数学模试卷含解析
评论
0/150
提交评论