数字签名通信模型系统--王晓伟.ppt_第1页
数字签名通信模型系统--王晓伟.ppt_第2页
数字签名通信模型系统--王晓伟.ppt_第3页
数字签名通信模型系统--王晓伟.ppt_第4页
数字签名通信模型系统--王晓伟.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字签名算法的研究与实现,答辩人:王晓伟 指导老师:余生晨,问题引入:通过网络,中国向俄罗斯定购10架飞机,支付15亿美元.,出现的问题: 冒充(身份认证): 假冒别人进行文件的发送或接收,即俄罗斯收到合同后,能够确认这份合同是中国发的,而不是黑客冒充中国发的(不用打电话); 抵赖: 发送者(中国)不承认自己发送过的文件,接收者(俄罗斯)不承认自己接收过的文件; 伪造:接收者(俄罗斯)伪造了一份文件(合同) ,却声称是对方(中国)发来的; 篡改: 接收者对收到的文件进行局部改动;, 数据(合同)完整性:接收合同方(俄罗斯)能检验合同在网上传输过程中,没有被第三方(美国)修改; 数据(合同)保密性:合同在网上传输过程中,被第三方(美国)截获后, 第三方(美国)也不知道合同的内容。,同时实现:,本项目对与该研究内有关的国内外算法和内容进行全面的收集整理,对它们编写程序,并检测其优缺点,给出改进提高的方法,力争给出一个快速、安全、实用的解决方案,并编写实现的计算机程序。,本项目的目的和意义:,当前国内外同类课题研究水平概述:,全球正处于网络化的信息时代。在信息技术推动经济全球化的进程中,信息安全领域一方面成为对抗霸权主义、强权政治、抗击信息侵略的重要屏障;另一方面,又会成为对国家的政治、军事、经济、文化、社会安定繁荣的严重威胁。 信息安全领域所具有的这种两面效应已经被世纪之交发生的重大事件和几场战争(如:海湾战争、科索沃战争、“911“事件、阿富汗战争和伊拉克战争)无情地悉数印证。 从2009年发表的国家信息安全报告中可以看出,中国的信息安全度为55分,即介于相对安全与轻度不安全之间。据拥有20000多个传感器,监视着180多个国家和地区网络活动的美国Symamec公司的因特网威胁数据源显示,2009年中国属于网络安全性薄弱的一类国家;2009年中,面临安全风险最高的有电信、金融等行业。,我国所面临的问题:,1全社会的信息安全意识、法制意识淡薄 2信息与网络的安全防范能力很弱 3信息安全管理机构缺乏权威,协调不够 4对引进的信息技术和设备缺乏保护信息安全所必不可少的有效管理和技术改造 5基础信息产业薄弱,信息技术的主要软、硬件严重依赖国外 6处于垄断地位的大型信息系统在技术上存在着大量的漏洞 7信息犯罪在中国呈快速发展的趋势 8信息安全的高素质人才匮乏,国际上安全度较高的电子商务交易保障系统,外国(美国)不卖给中国,就是买给中国,那也受美国的控制,没有安全性。 密码学作为WW2的决胜的一项秘密武器,收到美国及其他国家进出口的限制,对中国更是如此.这种限制主要是体现在JCE和JSSE的加密算法中. “中国的安全问题只能由中国人来做,用中国的软件,不能用外国的软件”。 目前,在中国,主要使用国外的一些安全度较低的电子商务交易保障系统,不能满足中国的需求,所以,急需开发具有中国知识产权的安全度较高的电子商务交易保障系统,这也是本项目的目的所在。,本文的创新之处,1、实现了电子商务中的合同文件安全交换,此交易模型可以完全实现电子商务中的四大安全原则,即保密性原则、完整性原则、鉴别原则和不可抵赖性原则。 2、通过对数字签名算法的研究和分析,选取了适合的数字签名算法,并通过加盐(时间戳)技术来实现了对重放攻击的预防。,3、通过国外的第三方加密组件Bouncy Castle和Apache Commons Codec来弥补了JCE的不足,实现了JCE所无法实现的算法,突破了西方国家对这些先进算法的进出口限制。 4、本文实现的系统功能强大,不仅有数字签名算法,而且支持几乎所有的散列函数算法和对称加密算法以实现验证文件的完整性和对文件进行加密解密操作。,消息摘要简介:,消息摘要(message digest),也称散列(hash)。 主要用于验证数据完整性,即保证消息在发送之后和接收之前没有被篡改。 数据完整验证的方法是发送方先计算要发送消息M的摘要D,然后把消息M和计算得到的摘要D1一起通过网络发送给接收方,接收方收到消息和摘要后,用同样的方法计算消息M的摘要D2,然后比较D1和D2,如果D1和D2相等则可以肯定M是完整的,没有被篡改,如果D1不等于D2则认为原消息被篡改。,方法是用散列(hash)函数把一段任意长的消息M(message )映射到一个小的固定长的数据D(digest 摘要),但使其逆过程成为不可能。 消息摘要是消息的浓缩,要使得消息摘要的每一位与原消息的每一位都有关联,这样只要原消息改变一点则消息摘要将发生巨大的改变。,消息摘要要求:,(1)给定某个消息,消息摘要应该相同。 即同一个消息不能有不同的摘要。也就是说不能出现一个原消息对应多个不同摘要的映射现象,否则会出现完整性检验错误,出现同一个消息对应接收方与发送方不同的摘要。这时即使消息没有被篡改,因为发送方和接收方对同一个消息产生不同的摘要而使接收方可能认为消息被篡改了,达不到完整性检验的目的。 (2)两个不同的原消息很难求出相同的摘要 对一个消息(M1)及其消息摘要(MD),不太可能找到另一个消息(M2),使其产生完全相同的消息摘要。消息摘要机制应最大程度地保证这个结果。即尽量不能出现多个原消息对应1个摘要的映射情况,否则会出现可以用另一个假消息替换原消息,但摘要不变的情况,出现完整性检验错误。,冲突的概念 如果两个消息得到相同的消息摘要(这种可能性是存在的,因为消息的长度长,摘要的长度短),则会违背上述原则,称为冲突(collision)。如果两个消息摘要发生冲突,则表示其摘要相同。消息摘要算法通常产生长度为128位或160位的消息摘要,即任何两个消息摘要相同的概率分别为2128或2160分之一,显然,这在实际上可能性极小。,消息摘要算法简介:,消息摘要算法主要分为三大类: MD(Message Digest,消息摘要算法), SHA (Secure Hash Algorithm), MAC(Message Authentication Code消息认证码算法) 它们是数字签名算法的核心算法。而其中MD5、SHA和 HMAC都属于消息摘要算法,它们分别是三大消息摘要算法的主要代表。,MD系列算法包括MD2、MD4 和MD5共3种算法。 SHA算法主要包括其代表算法SHA-1和SHA-1算法的变种S HA-2 系列算法(包含 SHA-224 、SHA-256 、S HA-384 和 SHA-512 )。 MAC算法综合了上述两种算法, 主要包括HmacMD5、HmacSHA1、HmacSHA256 、HmacSHA384和HmacSHA512算法。,消息摘要实现:,文件的完整性验证:,字符串的完整性验证:,对称加密解密概述:,对称密码算法(symmetric algorithm)有时又叫传统密码算法,就是加密密钥能够从解密密钥中推出来,反过来也成立。 在大多数对称算法中,加密密钥和解密密钥密码算法,就是加密密钥能够从解密密钥中推出来,反过来也成立。在大多数对称算法中,加密密钥和解密密钥是相同的.,对称加密解密优缺点:,对称密钥加密算法使用起来简单快捷,密钥较短,且破译困难 这种算法需要信使或秘密通道来传送密钥,密钥的传送和管理就比较困难,因此算法的安全性依赖于密钥的秘密保存,当有许多发送者和接收者时,由于每一对之间都需要一个单独的相互同意的密钥,这就成了一个十分蹩脚的不实际的问题了,因为密钥的数量可能达到人数平方的数量级。,对称加密解密示意图:,对称加密算法简介:,DES-数据加密标准 1973年,美国国家标准局(NBS)征求国家秘密标准方案,IBM公司提交了自己研制的算法。1977年7月15日,该算法被正式采纳,作为美国联邦信息处理标准生效,并且很快应用到了国际商用数据加密领域,成为事实标准,即数据加密标准(Data Encryption Standard,DES),DES算法由此诞生。 DES是一种分组加密算法,以64位为分组,为一对称算法,即加密和解密用的是同一种算法,加密和解密时所采用的密钥并不相同,但可以互相推出。一次加密或解密总共有16轮,也就是要完成一次加密(解密)过程,必须在明文(密文)分组上实施16次相同的组合技术。,DES算法被广大密码学机构质疑其半公开性,违法了柯克霍夫原则,甚至怀疑美国国家安全局在未公开的算法实现内安置后门。 DES算法有3点安全隐患:密钥太短,迭代偏少和半公开性。,1998年后,实用化DES算法破译机的出现彻底宣告了DES算法已经不具备安全性。1999年NIST颁布新标准,规定DES算法只能用于遗留加密系统中,但不限制DESede的使用。以当今的计算机技术能力,经DES算法加密的数据可以在24小时之内被破解。由此,DES算法正式推出了应用舞台,AES算法成为了其替代者。作为DES算法的一种改良,DESede算法针对DES密钥长度偏短和迭代次数偏少等问题做了相应的改进,提高了安全强度。但与此同时,DESede算法处理速度较慢,密钥计算时间较长,加密效率不高等问题使得对称加密算法的发展仍不容乐观。DESede算法将密钥长度增至112位或者168位,抗穷举攻击的能力显著增强,但核心仍是DES算法。,AES-高级数据加密标准 1997年,NIST发起了征集DES替代算法-AES(Advanced Encryption Standard,高级数据加密标准)算法的活动. 1997年9月12日,NIST发布了征集算法活动的正式公告和具体细节,要求AES算法要比DESede算法快,至少与DESede算法一样安全,具有128位的分组长度,支持128位,192位,256位的密钥长度,同时要求AES可以在世界范围内被免费使用。,1998年8月20日,NIST公布了满足条件的15个AES的候选算法,继而又筛选出了5个候选算法,包括MARS、RC6、Rijndael、Serpent和Twofish。 2000年,由Dawmen和Rijmen两位比利时人提出的Rijndael算法,以其密钥设置快,存储要求低,在硬件实现和限制存储的条件下性能优异当选AES算法。,IDEA-国际数据加密标准 IDEA(International Data Encryption Algorithm,国际数据加密标准)算法由旅居瑞士的中国青年学者来学嘉和著名密码专家James Massey于1990年提出的一种对称分组密码,并于1992年修改完成。 IDEA算法使用程度为128位的密钥,数据块大小为64位。从理论上讲,IDEA属于强加密算法,至今还没有出现过对该算法的有效攻击算法。 IDEA算法在美国之外提出并发展起来,因此避开了美国法律对加密技术的诸多限制,这极大的促进了IDEA算法的发展和完善。IDEA算法是目前较为常用的电子邮件加密算法之一。电子邮件加密人家PGP使用了具有商业版权的IDEA算法,实现邮件加密解密工作。,对称加密解密算法实现:,加密过程:,解密过程:,密钥交换原理:,混合密钥体制交换原理 DH密钥交换原理,混合密钥体制交换原理:,公开密钥密码系统计算上虽然安全,但在目前的技术水平下,加解密速度比对称密钥系统慢许多; 对称密钥算法非常适合于快速地加密数据,但其缺点是发送方和接收方必须在交换数据之前先交换机密密钥。 结合使用加密数据的对称密钥算法与交换机密密钥的公钥算法可产生一种既快速又灵活的解决方案。,基于公钥的密钥交换步骤如下:,1.发送方获得接收方的公钥; 2.发送方随机地创建一个在对称密钥加解密中使用机密密钥; 3.发送方使用机密密钥和对称密钥算法将明文数据转换为密文数据; 4.发送方使用接收方的公钥将机密密钥转换为密文机密密钥; 5.发送方将密文数据和密文机密密钥一起发给接收方 6.接收方使用其私钥将密文机密密钥转换为明文机密密钥,然后接收方使用明文机密密钥将密文数据转换为明文数据。,DH密钥交换原理:,虽然以上介绍的对称密钥加密技术和公开密钥加密技术结合可以在安全和性能上取得比较良好的平衡,但机密密钥只是由发送方产生,如果攻击者冒认发送方, 则仍然会导致泄密。为了加强对称加密的安全性,对称加密的对称密钥最好由双方共同产生。这就涉及到一个密钥交换的问题。 Diffie和Hellman的“New Directions in Cryptography”论文中,虽然没有提出一个具体可行的公开密钥系统,但论文中提到的密钥交换方案,却得到了业界的广泛使用。这就是著名的Diffie-Hellman密钥交换算法。此算法使通信的双方可以安全地交换对随后的消息加密时所用的对称密钥。,基于DH密钥交换原理:,DH算法中的交换密钥,DH算法中传递信息,DH算法中构建本地密钥,数字签名:,数字签名是解决网络通信中特有安全问题的一种有效方法,它能够实现电子文档的辨认和验证,在保证数据的完整性、私有性、不可抵赖性方面有着极其重要的作用。为了实现网络环境下的身份鉴别、数据完整性认证和抗否认的功能。 大多数国家已经把数字签名看成与手工签名具有相同法律效力的授权机制。数字签名已经具有法律效力,数字签名示意图:,基于RSA的签名思想:,基于RSA的签名的方法: 假设A是发送方,B是接收方, A向B发送消息M,则基本的数字签名方法是: A用自己的私钥加密消息M,用EA私(M)表示,然后把加密的消息发送给B,B接收到加密的消息后用A的公钥解密,用公式DA公(EA私(M))表示,如果解密成功,表示消息M一定是A发送的,起到了数字签名的作用。 基于RSA的签名方法的缺点:不具有保密性 由于签名是用接收方的私钥签名,因此任何人可以用他的公钥进行解密,而公钥是公开的,这样的数字签名只能起到签名的作用但不能保密,容易受到网络截获的攻击。,具有保密作用的RSA签名:,改进的方法: 假设A是发送方,B是接收方, A向B发送消息M,则具有保密作用的数字签名方法是: (1)A用自己的私钥加密消息M,用EA私(M)表示。 (2)A用B的公钥加密第1步的消息,用EB公 (EA私(M)表示 (3)把两次加密后的消息发送给B (4)B接收到加密的消息后用自己的私钥解密,获得签名EA私(M),用公式DB私(EB公(EA私(M))= EA私(M)表示。 (5)B对第4步的解密结果再用A的公钥解密,获得发送的消息M,用公式DA公(EA私(M))=M表示。,基于数字信封的数字签名:,前面两种方法的缺点:速度慢 由于签名是用非对称加密算法RSA对整个消息进行加密,而RSA的加密速度慢,因此不能很好推广。 下面结合数字信封的加密方法,只对一次性对称密钥进行签名。 方法: (1)A用一次性对称密钥K1加密要发送的消息M。(消息保密) (2)A用自己的私钥加密K1。(签名K1) (3)A用B的公钥加密第2步的结果,组成数字信封。(对签名结果保密),(4)B用自己的私钥解密第3步的结果,得到签名。 (5)B用A的公钥解密第4步的结果,得到一次性对称密钥K1。 (6)B用一次性对称密钥K1解密第1步的结果,得到原消息。 缺点:签名只跟一次性对称密钥K1关联,没有跟整个消息关联。,具有数据完整性的数字签名方法,方法: (1)发送方A用MD5或者SHA-1等消息摘要算法对消息M计算消息摘要(MDl)。 (2)发送方A用自己私钥加密这个消息摘要,这个过程的输出是A的数字签名(DS) (3)发送方A用B的公钥加密这个数字签名(DS) ,这个过程的输出是加密的数字签名 (DE) (4)发送方(A)将消息M和加密的数字签名 (DE)一起发给接收方(B),(5)接收方(B)收到消息(M)和加密的数字签名 (DE)后,使用自己的私钥解密加密过的数字签名 (DE) ,得数字签名。 (6)接收方(B) 使用与A相同的消息摘要算法计算消息摘要(MD2)。 (7)接收方(B)用发送方的公钥解密数字签名。注意A用私钥加密消息摘要,得到数字签名,因此只能用A的公钥解密。这个过程得到原先的消息摘要(MDl)。 (8) B比较两个消息摘要如下: MD2,第4步求出; MDl,第5步从A的数字签名求出。 如果MDI=MD2,则可以表明: B接受原消息(M)是A发来的、未经修改的消息(认

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论