




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)基于pki的电子签章系统客户端设计与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文 一第1 页 摘要 随着信息技术和计算机网络在社会各个领域应用的深入,自动化办公应 用正变得越来越广泛,其高效、节约资源的优势也日益凸显。而在自动化办 公中,如何保障电子文档的完整性、机密性、文档发送者身份的可认证性以 及签署人的抗抵赖性成为亟需解决的问题。电子签章技术正是在此背景下提 出的,并成为当前信息安全技术领域和计算机应用领域研究的热点和难点。 针对用户使用方便性的要求,本文将电子签章和c o m 组件技术融合起 来,设计并实现了c o m 组件形式的电子签章系统客户端。该系统是以公钥 基础设施p k i ( p u b l i ck e yi n f r a s t r u c t u r e ) 为安全平台,以数字签名理论为安全 基础,解决了自动化办公中保证电子文档完整性、机密性、可认证性和抗抵 赖性等信息安全问题。利用c o m 组件技术系统被设计为若干个功能模块, 每个模块都封装了各自的功能并向外界提供了标准接口以供其它模块调用。 这些模块之间通过互相调用来完成系统所需的功能。本文设计的系统具体实 现的功能有:文档盖章功能、文档验证功能、数字签名功能、签名验证功能、 撤销签章功能、锁定文档功能。 本文设计的电子签章客户端系统基于数字签名加密标准,具有较强的安 全性。同时,该系统以组件形式存在,可以嵌入到w o r d 文档中,运作方式 简单、成本低廉,可以无缝集成到现有的办公自动化系统中,有广泛的应用 前景。 关键词:电子签章,数字签名,p k i ,c o m a bs t r a c t a l o n gw i t ht h ed e e pa p p l i c a t i o no f i n f o r m a t i o nt e c h n o l o g ya n dt h ec o m p u t e r n e t w o r ki ns om a n yf i e l d so fs o c i e t y , t h ea d v a n t a g eo ft h eh i l 9 1 le f f i c i e n c ya n dt h e r e s o u r c e - s a v i n go fo a ( o f f i c ea u t o m a t i o n ) i sh i g h l i g h t i n gd a ya f t e rd a ya n dt h e a p p l i c a t i o no fo ai sa l s om o r ea n dm o r ew i d e s p r e a d h o wt og u a r a n t e et h e i n t e g r i t y , c o n f i d e n t i a l i t yo ft h ee l e c t r o n i co f f i c i a ld o c u m e n t s ,i d e n t i f i a b i l i t ya n d t r a c e a b i l i t yo fs i g n e r sh a sb e c o m eap r o b l e mt ob es o l v e du r g e n t l y a s a b o v e m e n t i o n e d ,t h ee l e c t r o n i cs e a lt e c h n o l o g yi sb r o u g h tf o r w a r d ,a n db e c o m ea r e s e a r c hf o c u si nt h ei n f o r m a t i o ns e c u r i t yt e c h n o l o g ya n dc o m p u t e ra p p l i c a t i o n d o m a i n i no r d e rt os a t i s f yu s e rc o n v e n i e n tu s e ,t h i sp a p e rd e s i g n sa n di m p l e m e n t sa c l i e n to fe l e c t r o n i cs e a ls y s t e m ,i n c o r p o r a t i n gt h ee l e c t r o n i cs e a la n dc o m m o d u l et e c h n o l o g y t a k i n gt h ep u b l i ck e yi n f r a s t r u c t u r e ( p k i ) a st h es e c u r i t y p l a t f o r ma n dt h ed i g i t a ls i g n a t u r et h e o r ya ss e c u r i t yb a s e ,t h i ss y s t e mm e e t st h e r e q u i r e m e n t so fi n f o r m a t i o ns e c u r i t yo fo a u s i n gc o m m o d u l et e c h n o l o g y , t h e s y s t e mi sm a d eu po fs e v e r a lm o d u l e s e a c hm o d u l ee n c l o s e sr e s p e c t i v ef u n c t i o n a n di su s e db yo t h e rm o d u l e st h r o u g ht h es t a n d a r di n t e r f a c e t h e s em o d u l e sc a n i m p l e m e n tt h ef u n c t i o no ft h es y s t e mt h r o u g hm u t u a lc a l l i n g i tr e a l i z e ss e v e r a l f u n c t i o n sa sf o l l o w s :d o c u m e n ts e a l i n gf u n c t i o n ,d o c u m e n tv e r i f i c a t i o nf u n c t i o n , d i g i t a ls i g n a t u r ef u n c t i o n ,s i g n a t u r ev e r i f i c a t i o nf u n c t i o n ,d e l e t i n gs e a lf u n c t i o n , d o c u m e n tl o c k o u tf u n c t i o n t h ee l e c t r o n i cs e a ls y s t e mp r e s e n t e di nt h i sp a p e ri sb a s e do nt h ee n c o d e d s t a n d a r do fd i g i t a ls i g n a t u r e ,w i t hs t r o n gs a f e t ya tt h es a m et i m e ,i te x i s t sb yw a y o fm o d u l e ,w h i c hc o u l db ee m b e d e di nt h ew o r d t h eo p e r a t i o no ft h i ss y s t e mi s s i m p l ea n dt h ee x e n d i t u r eo fi t i sl o w t h i ss y s t e mh a sab r o a da p p l i c a t i o n f o r e g r o u n d ,a n dc o u l db ei n t e g r a t e di no a k e y w o r d s :e l e c t r o n i cs e a l ;d i g i t a ls i g n a t u r e ;p k i ;c o m 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位 论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密d ,使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:了1 霄谌 日期:z 一3 主1 7 指导老师签名- 一= 幻焉 日期:糊、j ,7 , 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 1 、针对电子文档安全性以及用户使用方便性的要求,采用c o m 组件技 术和p k i 技术实现电子签章系统客户端,可以无缝集成到w o r d 软件中。 2 、在c o m 组件中将数字签名信息和印章图片信息进行绑定,来实现数 字签名的可视化。 3 、分析各模块的特点,给出了实现方法和实现步骤。针对实现过程中 的部分技术难点和重点,给出了详细论述。 西南交通大学硕士研究生学位论文第1 页 1 1 研究背景与意义 第1 章绪论 随着计算机技术、网络技术和软件技术的蓬勃发展及广泛应用,现在越 来越多的政府机构、公司企业实现了自动化办公。而在自动化办公活动中, 合同和公文都是以电子文档的形式表现和传递的。由于互联网的自由、开放 性和计算机技术的一些特性,使得这些电子文档在传递的过程中不可避免的 会产生一些安全方面的问题。如:电子文档在传递过程中是否被篡改;接收 方接收到的电子文档是否是真正的发送方发送的;文档发送方是否会在公文 发送之后对其所发的公文信息进行否认,而接收方在接收到文档后是否会否 认接收到文档。 由此可见,如何保证电子公文的真实性、完整性、可靠性和不可抵赖性 是自动化办公系统中电子公文在传递过程中亟待解决的问题。为了解决以上 这些问题,在国际上,由于电子商务的推动,提出了对电子签名的要求。其 主要通过电子签名来解决上述问题。欧美各国都已经颁布了电子商务法 或数字签名法。这些法律的核心内容都是对电子签名的法律效力的认可。 电子签名,其实质是能够在电子文件中识别双方通信人的真实身份,保 证通信的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作 用的签名的电子技术手段。实现电子签名的技术手段有很多种,但目前比较 成熟的,世界先进国家普遍使用的电子签名技术还是“数字签名”技术。由 于保持技术中立性是制订法律的一个基本原则,目前还没有任何理由说明公 钥密码理论是制作签名的唯一技术,因此有必要规定一个更一般化的概念以 适应今后技术的发展。但是,目前电子签名法中提到的签名,一般指的就是 “数字签名 。所谓“数字签名就是通过某种密码运算生成一系列符号及代 码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名 还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比 拟的。 数字签名的结果是不可视的计算机数据,它只是在机器与机器、计算机 西南交通大学硕士研究生学位论文第2 页 系统与系统之间存在着,它随着被签字信息的内容不同或签名的时间不同( 如 带时间戳签名) 而不同,从数字签名信息中不能获得固定的可视化图形化信 息,人们更加希望数字签名能以一种可视的、直观的形式表现在电子公文中。 也就是说,把数字签名这种不可见的数据换一种方式使之可见,这样数字签 名就更加形象,更加贴近使用者。在我国,由于传统纸质的公文中都加盖有 印章,以示公文的真实、完整、可靠性和不可抵赖性。因此,将现实中的印 章数字化,并与数字签名结合开发电子签章系统既能完成保证电子公文的真 实性、完整性、可靠性和不可抵赖性的目的,同时也符合了中国人的传统观 念。 电子签章实现了无纸化办公,有利于社会环境保护,减少了对自然资源 的浪费;提高了政府和企业的运作效率,为政府和企业信息化提供了必备手 段和安全服务。电子签章普遍应用可以实现良好的社会效益增值,间接提高 国民经济产出。据了解,全中国有成千上万政府公章,数千万企业公章,多 不胜数的个人私章:据估计,单纯中国和日本就有上亿次的盖章活动,因此, 电子签章系统有着广阔的应用前景。 1 。2 国内外研究概况 电子签章主要在2 l 世纪初期得到快速的发展,各国都颁布了电子签 章法来规范电子签章系统的开发和使用,但电子签章在各国的发展程度也 各有差异。 1 9 9 7 年8 月德国首先颁布了电子签章法;1 9 9 8 年6 月新加坡通过了电 子签章法;韩国于1 9 9 8 年1 2 月立法通过电子签章法,并于1 9 9 9 年7 月生效; 2 0 0 0 年1 月香港通过了电子签章法;美国、日本于2 0 0 0 年6 月颁布了电子 签章法;欧盟于2 0 0 0 年1 月完成了电子签章法指令的制定,英国( 2 0 0 0 年7 月) 、法国( 2 0 0 0 年7 月) 。值得一提的是,我国台湾地区已于2 0 0 1 年颁布 了电子签章法,其在电子签章的发展方面已经处于世界各国的前列。日本在 电子签章系统的开发和研究方面也走在前面,日本s h a c h i h a t a ,w a c o m 以及日 商岩井3 家公司于2 0 0 2 年7 月2 2 日宣布开发出通过电子印章在电子文本中 盖章的系统”s h a c h i h a t ae 9o nt a b l e t ”。 我国从2 0 0 3 年6 月1 日起开始文施中华人民共和国电子签章条例, 2 0 0 5 年4 月1 日又启动了中国首部真正意义上的信息化法律电子签名 西南交通大学硕士研究生学位论文第3 页 法。电子签章逐步的走进了我们的生活。电子签章首先在政府机构得到了应 用,并作为电子政务的一部分正在迅速的发展。电子签章可以解决政府办公 管理的瓶颈,它与现代政府管理的应用相结合,在公文流转时可以用电子签 章与数字证书绑定后发送,用户可以验证其身份和信息的可靠性,在传递敏 感信息时可以通过s s l 安全通道发送,保证其安全性。这样就使内部管理 信息和外部披露信息的真实性、准确性、完整性和及时性得到保证,也很好 的把总部和分支机构的所有人员连接在一起,提高单位整体的效率。其次电 子签章系统也开始应用于各类企业的办公自动化系统中。含有电子签章( 签名) 技术的办公自动化系统可以大大减少重复劳动。另外电子签章在电子商务中 也得到了越来越广泛的应用,特别是在电子合同的签订中发挥了越来越重要 的作用。它使合同的签订和管理方式发生根本性的变化,进而改进了商务的 运营效率。 国内一些公司已经开始电子签章系统的研发并推出产品。随着电子签 章条例的颁布,各种电子签章系统也随之涌现。北京诚利通数码技术有限 公司的电子签章系统e s s 很具有代表性。e s s 电子签章系列产品是该公司在 认真研究国内外同类产品的基础上历时一年开发出来的,在技术的先进性和 功能的完善性方面,都处于国内领先水平。另外还有江西金格i s i g n a t u r e 签 章系统和优泰电子签章系统等。 国内电子签章技术的开发应用尚处于萌芽阶段,虽然有几家公司致力于 电子签章系统研发工作,并开发出实现了基本功能的电子签章系统,但因其 产品在安全性、规范性和实用性上还与用户期望值存在较大差距,这些产品 都没有得到广泛应用,没有好的销售业绩。从国内外电子签章技术的研究现 状来看,该技术是一项近年来出现的还不够成熟的新技术,又是一项极具发 展价值和实用性的技术。 1 3 论文章节安排 第1 章:绪论。 第2 章:密码学基础。介绍密码学的基础知识,具体包括数据加密技术、 对称密码体制和公钥密码体制,h a s h 函数。 西南交通大学硕士研究生学位论文第4 页 第3 章:数字签名技术。介绍数字签名的概念、原理、签署与验证,典 型的数字签名算法,以及数字证书与p k i 的有关理论。 第4 章:电子签章系统客户端设计与实现。 第5 章:电子签章系统客户端功能测试。 西南交通大学硕士研究生学位论文第5 页 2 1 概述 第2 章密码学基础 目前大多数电子签章系统均是以公钥基础设施p k l ( p u b l i ek e y i n f r a s t r u c t u r e ) 为安全平台,以数字签名为安全理论基础。这两者的基础均为 密码学,具体包括数据加密技术、对称密码体制和公钥密码体制等。本章将 概要介绍密码学基础知识。 2 2 密码学基本概念 密码学以研究秘密通信为目的,研究对传输信息采取何种秘密的变换, 以防止第三者对信息的截取。密码学包含两个相互独立的分支,密码编制学 和密码分析学。前者是研究把信息( 明文) 变换成为没有密钥不能解密或很 难解密的密文的方法:后者是研究分析破译密码的方法。他们彼此目的相反, 相互对立,但在发展中又相互促进。 在密码学中,需要变换的原消息称为明文消息。明文经过变换成为另一 种隐蔽的形式,称为密文消息。完成变换的过程称为加密,其逆过程( 即由 密文恢复成明文的过程) 称为解密。对明文进行加密时所采用的一组规则称 作加密算法。对密文进行解密时所采用的一组规则称作解密算法。加密和解 密操作通常在密钥的控制下进行,并有加密密钥和解密密钥之分。因为数据 以密文的形式存储在计算机文件中,或在数据通信网络中传输,因此即使数 据被未授权者非法窃取,或因系统故障和操作人员误操作而造成数据泄露, 未授权者也不能理解它的真正含义,从而达到数据保密的目的。同样,未授 权者也不能伪造合理的密文,因而不能篡改数据,从而达到确保数据真实性 的目的。 一个密码系统,通常简称为密码体制,由五部分组成: ( 1 ) 明文空间膨,它是全体明文的集合。 ( 2 ) 密文空间c ,它是全体密文的集合。 西南交通大学硕士研究生学位论文第6 页 ( 3 ) 密钥空间k ,它是全体密钥的集合。其中每一个密钥k 均由加密 密钥k 。和解密密钥k d 组成,即k = ( k 。,k d ) 。 ( 4 ) 加密算法e ,它是一族由m 到c 的加密变换,对于每一个具体的 k 。,则e 便确定出一个具体的加密函数,厂把m 加密成密文 c ,c = f ( m ,k 。) 。 ( 5 ) 解密算法p ,它由一族由c 到m 的解密变换,对于每一个确定的 k d ,则d 便确定出一个具体的解密函数一,使得 m = f 叫( c ,k d ) 这样,对于每一个确定的密钥k = ( k 。,k d ) ,加解密过程如式( 2 1 ,2 2 , 2 3 所示) c = e ( m ,k ,) ( 2 1 ) m = d ( c ,k d ) ( 2 2 ) m = d ( e ( m ,k 。) ,秘) ( 2 3 ) 如果一个密码体制的k 。= k d ,或者由其中一个很容易推出另一个,则 称这样的密码体制为对称密码体制或者传统密码体制。否则,称为双密钥密 码体制或者非对称密码体制。进而,如果在计算机上k d 不能由k 。推出,这 样将k 。公开也不会损害k d 的安全,于是便可以将k 。公开。这种密码体制称 为公钥密码体制。其中称被公开的密钥k 。为公钥,而k 。称为私钥。 2 3 对称密码体制 一个密码体制( 密码系统) 的安全性必须依赖于密钥的安仝性。只有在 此前提下,我们才可以称该体制是安仝的。图2 1 为一个典型的对称密码体 制( 系统) 加解密过程。 发送方a 接收方b 图2 1 对称密码体制( 系统) n 解密过程 西南交通大学硕士研究生学位论文 一 第7 舅 从图上可以得知,一个安全的对称密码系统( 假设密钥安全的前提下) 可以达到下列功能【2 l 。 ( 1 ) 保护信息机密:明文经加密后,除非拥有解密密钥( 或者加密密 钥) ,外人无从了解其内容。 ( 2 ) 认证发送方之身份:接收方任意选择一随机数r ,请发送方加密 成密文c ,送回给接收方。接收方再将c 解密,若能还原成原来 的r ,则可确知发送方的身份无误,否则则是第三者冒充。此乃 由于只有发送方( 及接收方) 知道加密密钥。因此只有发送方能 将此随机数r 所对应的密文c 求出。其他人则因不知道加密密钥, 而无法求出正确的c 。 ( 3 ) 确保信息完整性:在许多不需要隐藏信息内容,但需要确保信息 内容不被更改的场合时,发送方可将明文加密后的密文附加于明 文之后送给接收方,接收方可将附加之密文解密( 或将明文加密 成密文) 然后对照是否相符。若相符则表示明文为正确,否则有 被更改之嫌疑。 对称密码体制采用的加密和解密算法多是代换和置换操作,这样可以简 单快捷的进行数据加密和解密,且加解密速度快,破译困难。但它也由其缺 陷。 ( 1 ) 密钥分发困难:因为在对称密码体制中,加解密使用同一个密钥, 这就需要通信双方使用某种方式( 比如网络或电话) 使他们能够 共享该密钥。在分发密钥的过程中一方很难确定另一方的身份是 否合法,即使能够确认另一方目前身份合法,也难以保证以后该 对象的身份合法性。 ( 2 ) 密钥管理困难:若网络中有1 1 个人,两两分别用一个密钥,则n 个用户需要c ( n ,2 ) = n ( n 1 ) 2 个密钥,每个人必须拥有n 1 把密钥。 当n = 1 0 0 0 时,每个人须保管9 9 9 把密钥,而在网络中共需有 4 9 9 5 0 0 把不同的密钥。如何管理这么多才密钥,是一个大问题。 ( 3 ) 无法达到不可否认服务:由于发送方和接收方都知道对方的密钥, 因此发送方可在事后否认他先前送过的任何信息。因为接收方可 以任意地伪造或窜改,而第三者并无法分辨是发送方抵赖送过的 信息,或是接收方自己捏造的。 西南交通大学硕士研究生学位论文第8 页 2 4 公钥密码体制 2 4 1 公钥密码体制概述 由于对称密码体制存在上述缺陷,使得该体制已远远不能满足现代信息 安全的需求,为此人们努力寻求一种新的密钥体制。1 9 7 6 年,w h i t f i e l dd i f f i e 和m a r t i nh e l l m a n 提出了公钥密码这一概念,它是密码学历史上的一个重大 成就。公钥密码与所有以前的密码方法都大相径庭:一是以前的密码算法都 是基于代换与置换操作,而公钥密码使用数学函数进行变换:_ 二是公钥密码 体制使用非对称加密方式,使用两个密钥( a n 密密钥与解密密钥) ,而传统密 码算法仅仅使用一个密钥f 3 i 。一个典型的公钥密码体n ;b i 解密过程如图2 2 所示。 发送方a 接收方b 发送方a 图2 - 2 公钥密码体制加解密过程 接收方b b 的私钥) 图2 3 公钥密码体制身份认证过程 在图2 2 中,发送方a 将机密数据送往接收方b 的过程如下:b 生成 一个密钥对并将其中的一把作为公钥通过公共数据库等方式向各方( 包括a ) 西南交通大学硕士研究生学位论文第9 页 公开,一把作为私钥自己秘密持有:a 得到公钥后使用该公钥对机密信息( 明 文) 进行加密,生成密文,将该密文发送给b ;b 取得密文后用私钥进行解 密,还原出明文。在该过程中实现了机密信息的安全传输而且解决了对称密 码体制密钥分发和管理困难的问题。 公钥密码体制除了可以用于信息的加密传输外,还可以解决对信息发送 人的身份认证问题,如图2 3 所示。在图2 3 中发送方a 也生成一个密钥对 并将其中的一把作为公钥通过公共数据库等方式向各方( 包括b ) 公开,一把 作为私钥自己秘密持有;a 使用自己秘密持有的私钥对信息进行加密后发送 给b ,如果b 可以使用a 公布的公钥对密文成功解密得到明文,在保证私 钥绝对安全的情况下,因为只有a 持有私钥并可进行签名,由公钥密码体 制的特性可以确定该信息确为a 所发,由此确认发送方的身份。此外,公 钥密码体制还可以结合散列函数实现数据信息的完整性验证。当然,非对称 加密算法也有其弊端,如该算法一般加密和解密花费时间较长,不适合于对 大量文件加密而只适用于对少量数据进行加密。 为了更为清晰的比较公钥密码体制与对称密码体制的特点,综合前面的 分析本文得到表2 1 。 西南交通大学硕士研究生学位论文第1 0 页 对称密码体制公钥密码体制 加密和解密使用相同的密钥加密和解密使用相同的算 和相| 司的算法法和不司的密钥,算法公开 发送方和接受方使用相f 司 的算法。加密用途时,加密 发送方和接收方共亨相l 司的 方拥有公钥,接收方拥有私 运行条件 密钥算法。 钥;身份认证用途时,发送 方拥有私钥,接收方拥有公 钥。 密钥必须保密 只需私钥保密,公钥公开, 如果不掌握其它信息,要想解如果不掌握其它信息,要想 安全条件密信息在理论上足不町能的,解密信息在理论上是不可 即使知道加密算法和密文样能的,即使知道加密算法和 本也无法确定密钥。 密文样本也无法确定密钥。 可用于数据加密,数据发送 用途可用于数据加密 源验证。 运算量较大,足前者的上百 运算量和运算速度运算量较小,运算速度快 倍,上千倍,甚至更多,运 行速度较慢 分发和管理密钥困难释易 表2 1 公钥密码体系和对称密码体制特点比较 综合上述两种密钥体制的特点,公钥密码体制很好的满足了电子签章系 统对于数据机密性、完整性、签名者身份可认证性等要求,可支持数字签名 的各项功能实现。 2 4 2r s a 公钥密码体制算法 公钥密码体制自诞生以来,出现了多种算法,包括r s a 公钥算法、 e l g a m a l 公钥算法、椭圆曲线公钥算法、背包加密算法、d i f f i e h e l l m a n 公 钥算法和r a b i n 公钥算法等。大多数公钥密码算法都是基于以下三种数学难 题之一【4 l :背包问题、离散对数问题、因子分解问题。其中,基于因子分解 问题的公钥密码算法如r s a ( 其名称来自于三个发明者姓名的首字母) 是数 西南交通大学硕士研究生学位论文第11 页 字签名技术最为常用的算法。 公钥密码算法具有如下特征:一是加密密钥和解密密钥在本质上是不同 的,也就是说如果仅仅知道密码算法和加密密钥,而要求解出解密密钥是不 可行的。_ 是大多数公钥密码算法的加密密钥与解密密钥具有互换的性质, 如r s a 算法。也就是说一个密钥对中的两个密钥a 和b ,a 若用于加密, b 就用于解密:b 若用于加密,a 就用于解密。 本文所设计的电子签章系统数字签名的实现部分采用了基于r s a 公钥 算法的r s a 数字签名算法。 ( 1 ) r s a 公钥算法【3 l r s a 算法是公钥密码体制中最负盛名的算法。它是由美国麻省理工学院 ( m i t ) 的研究小组于1 9 9 8 年提出的,该体制的理论基础基于数论中的下 述论断:要求得两个大素数的乘积是容易的,但要分解该乘积得到这两个大 素数,则在计算上几乎是不可能的。 下面分析一下r s a 加密算法的基本过程。 假设肌是要加密传送的明文 随机选取两个大素数p 和g 求n = p q 且保证以 m 计算欧拉函数( 刀) = ( p 一1 ) ( g 一1 ) 选择与矽( 疗) 互质的整数e ( 公开指数) ,既满足( e ,矽( ,z ) ) = 1 由公式d e 兰1m o d e ( n ) 求出整数d 其中( 以,e ) 为加密密钥即公钥密码,简称公钥;( 力,d ) 为解密密钥即秘密 密钥,简称私钥。对于明文m ,用公钥( n , e ) 加密得到密文c ,对于密文c , 用私钥( ,z ,d ) 解密得到明文m 。由于其他人不知道( ,1 ) 以及p 和口,因此无 法由公钥密码( 咒,e ) 求解出私钥( ,z ,d ) 。 加密算法:c = m 。( m o d 刀) 解密算法:m = c 4 ( m o d 以1 当用户a 要向用户b 发送消息m 时,就利用b 的公钥疗。和加密明 文m ,得到密文c = m ( m o dn 。) 。然后发送给用户b 。当用户b 收到密文c 后,就用自己的解密密钥d 。解密密文c ,得到明文,l = c 如( m o dn b ) 。 ( 2 ) r s a 公钥密码算法的安全性分析 在理论上,r s a 的安全性取决于模n 分解的困难性。若n = p q 被分解成 功,则p ,d 可依次求得,r s a 便被攻破。目前因子分解速度最快的算法,其 西南交通大学硕士研究生学位论文第1 2 页 时间复杂性为e x p ( s q r t ( 1 n ( n ) l n l n ( n ) ) ) 。若p ,q 为1 0 0 位的十进制数,那么n 就 为2 0 0 位十进制数,按每秒1 07 次运算的超高速计算机,也要1 0 8 年才能破 解。因此,在一定有效期内,采用r a s 数字签名是安全可靠的。但是随着 计算技术的提高,运算次数更高的计算机不断出现,使得因子分解速度越来 越快。统计数据表明,在重要应用中,使用5 1 2 位的密钥己不安全,需要采 用1 0 2 4 位的密钥。 r s a 公钥密码算法是目前研究最深入,应用最广泛的公钥算法,从该算 法被首次提出到现在已近二十年,期间经历了各种攻击的考验,逐渐为人们 接受,在计算机加密研究领域被普遍认为是目前最优秀的公钥密码算法之一。 本文前面提到r s a 算法的安全性依赖于大数的因子分解,但并没有从理论 上证明破译r s a 的难度与大数分解难度等价,也就是说r s a 算法无法从 理论上把握它的保密性能如何。 r s a 算法的缺点主要有: ( 1 ) 密钥对的产生较为复杂,受到素数产生技术的限制,因而难以做 到每一次的数据传输都能使用不同的密钥。 ( 2 ) 分组长度太大,为保证安全性,所取的两个大素数p 幂1 q 的乘积n 至 少也要6 0 0 b i t s 以上,这使得运算代价很高,尤其是导致运算速度较慢,一般 要比对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还 在被迫增加,不利于数据格式的标准化。 2 5h a s h 函数( 哈希函数) 2 5 1h a s h 函数概述 密码学中的h a s h 函数是一类特殊的单向函数,它实质是一种将任意长度 的消息压缩成为某一固定长度的消息摘要的函数。臣o h a s h 函数h ( m ) 作用于任 意长度的消息m ,它返回一个固定长度的散列值( 消息摘要或数据摘要) : h = h ( m ) 。 h a s h 函数在国内学术界也被称为散列函数、杂凑函数、数字摘要函数、 压缩函数等。至于有杂错函数的说法,原因是它将消息混列在一起进行计算, 故称杂凑。若不作特殊声明,上述几种说法含义都是一样的。 西南交通大学硕士研究生学位论文第1 3 页 h a s h 函数使用于只需加密,无需解密的特殊场合。例如为了鉴别消息 的完整性,消息传送之前先对消息作h a s h 变换生成散列值,然后再传送。 接收到的消息也作h a s h 变换处理算出散列值,并与传送过来的消息散列值 进行比较。若两者相同,说明消息是完整的,否则,消息一定被非法篡改了。 实际上,h a s h 函数在许多应用场合,如口令表加密、数字签名等安全 事件中都具有很重要的作用。使用在数字签名中的h a s h 函数要满足以下条 件。 ( 1 ) 弱无碰撞:给定一个消息码,要找到另一个消息m ,而且具有相 同的散列值j i l ( 码) = h ( m :) ,在计算上是不可能的。原消息的微小改变都会使 计算后所得的消息摘要产生极大的改变,一般来说原消息单个位的改变,将 会引起消息摘要中一半位的改变。 ( 2 ) 强无碰撞:找到同时满足n h m 2 并且h ( m a ) = h ( m 2 ) 的消息强和 在计算上是不可能的。 ( 3 ) 单向:给定消息m ,通过h = h ( m ) 计算消息摘要方便而快捷;给定 一个消息摘要h ,由h 找到一个满足h ( m ) = h 的消息m 在计算上是不可能的。 2 5 2m d 5 算法 m d 5 算法是目前被公认比较安全的摘要算法之一,其仝称是 m e s s a g e d i g e s ta l g o r i t h m5 ( 信息摘要算法) 5 1 。9 0 年代初由r i v e s t 开发出来, 经m d 2 、m d 3 和m d 4 发展而来。该算法不基于任何假设和密码体制,它将 一个任意随机长度的信息经四轮变换得到一个1 2 8 位的信息摘要。 m d 5 算法可以简要叙述如下:m d 5 以5 1 2 位分组来处理输入的信息, 且每一分组又被划分为1 6 个3 2 位子分组,经过四轮操作处理后,输出4 个 3 2 位长的字,最后将这4 个3 2 位长的字连接后便得到一个1 2 8 位散列值。 在本文设计中,选择m d 5 算法计算电子文档的消息摘要值,下面描述 该算法并阐述它是如何确保数据安全性的。 输入一个一定字节长的信息 第一步,补位: 对信息进行填充,使其信息的长度( 以b i t 为单位) 对5 1 2 求余的结果 等于4 4 8 ,这样信息的长度将被扩展至l e n = k 5 1 2 + 4 4 8 ,即k 6 4 + 5 6 个字 节,k 为一个正整数。填充的方法如下:在信息的后面填充一个l ,然后补 西南交通大学硕士研究生学位论文第1 4 页 0 ,直至满足上述要求。 第二步,附加数据长度: 在进行完填充的信息后面附加一个6 4 位的填充前信息长度。经过这两 步的处理后,信息的长度( 以b i t 为单位) 为l e n = k 幸5 1 2 + 4 4 8 + 6 4 = ( k + 1 ) 母5 1 2 , 该长度恰好是5 1 2 的整数倍。这样做的原因是为满足后面处理中对信息长度 的要求。 用一个6 4 位的整数表示数据的原始长度( 以b i t 为单位) ,将这个数字 的8 个字节按低位在前,高位在后的顺序附加在补位后的信息后面。这时, 数据被填补后的总长度为:l e n = k 木6 4 + 5 6 + 8 = ( k + 1 ) 木6 4 字节。 第三步,初始化m d 5 参数: 有4 个3 2 位整数变量( a ,b ,c ,d ) 用来计算信息摘要,每一个变量被初 始化成以十六进制数表示的数值,低位的字节在前面。表示方式: a = 0 x 0 1 2 4 5 6 7 b = 0 x 8 9 a b c d e f c = 0 x f e d c b a 9 8 d = 0 x 7 6 5 4 3 2 1 0 将上面四个整数变量复制到另外四个变量中:a 到a ,b 到b ,c 到c ,d 到 d 。 第四步,定义四个m d 5 的按位操作函数: 四个附加函数的3 个输入x ,yz 都是3 2 位的变量,输出是一个3 2 位的值。 f ( x ,y ,z ) = ( xa n dy ) o r ( n o t ( x ) a n dz ) g ( x ,y ,z ) = ( xa n dz ) o f ( y a n dn o t ( z ) ) h ( x ,y ,z ) = xx o yyz ( x ,y ,z ) = yx o y ( xo rn o t ( z ) ) 其中:a n d 表示两个字按位与,n o t 表示对该字按位取反,x o r 表示两个 字按位异或。 再定义四个分别用于四轮变换的函数: 设j 表示信息的第j 个子分组( j 从0 到1 5 ) ,每个子分组都是3 2 位长 的字。 f f ( a ,b ,c ,d ,m j ,s ,i ) 表示a = b + ( ( a + ( f ( b ,c ,d ) + m j 】+ t 【i 】) s ) g g ( a ,b ,c ,d ,m j ,s ,i ) 表示a = b + ( ( a + ( g ( b ,c ,d ) + m j + t i 】) s ) 西南交通大学硕士研究生学位论文第1 5 页 h h ( a b ,c ,d ,m j ,s ,i ) 表示a = b + ( ( a + ( h ( b ,c ,d ) + m j 】+ t i 】) s ) i i ( a ,b ,c ,d ,m j ,s ,i ) 表示a = b + ( ( a + ( i ( b ,c ,d ) + m u 】+ t i ) s ) 其中:t i 】= 2 3 2 a b s ( s i n ( i ) ) 】; s 表示循环左移s 位,+ 表示两个长为 3 2 位的字相加。 第五步,数据变换: 完成上面的准备工作后就可以进行m d 5 算法的四轮( 共6 4 步) 数据转 换了。转换方法如下:在第步完成后的信息中取头5 1 2 个位,将其分别读 到m 【j 】( j 从0 到1 5 ) 中,每个数组元素中有3 2 位,共1 6 组。让m j 和整 数变量a 、b 、c 、d 参加主循环四轮数据转换,每轮循环都很相似。第一轮进 行1 6 次操作,每次操作将整数变量a 、b 、c 和d 作为参数按第一轮循环函 数f f ( a ,b ,c ,d ,m j ,s ,i ) 进行操作,得到一个整数值。最后用该结果取代a 、b 、 c 或d 中之一,然后以同样算法进行下次操作。1 6 次操作全部完成后既完 成第一轮循环。继而进入第轮循环。所有循环完成后,将a 、b 、c 、d 分 别加上a 、b 、c 、d ,然后读取下一组5 1 2 位运行同样过程,最后输出a 、b 、 c 、d 的级联。 在电子签章系统的实现中,我们首先将要签名的数据依据上述运算过程 进行变换,最终得到一个1 2 8 位的固定长度的消息摘要。该值一般比原数据 要短很多,因而可以大大提高公钥密码算法的运算速度。由于h a s h 函数的 强无碰撞性,是无法找到一个与原数据不同的新数据,能够使其经过相同的 h a s h 函数计算后生成的消息摘要与原数据的消息摘要相同,这就保证了任 何人无法用一个改动过的数据来替换原有数据;由于h a s h 函数的弱无碰撞 性,已知消息摘要值,是无法通过穷举法或其他任何方法找到那个经相同的 h a s h 函数计算后生成的消息摘要与原消息摘要相同的数据,这就保证了数 据的安全性,并可以由强无碰撞性和弱无碰撞性来保证数据的完整性;由于 h a s h 函数的单向性,己知消息摘要值,是无法反求出原数据的,这保证了 数据的机密性。因此,在电子签章系统中使用h a s h 函数将会极大的提高系 统的安全性和运行速度。 西南交通大学硕士研究生学位论文第1 6 页 第3 章数字签名技术 本章将介绍数字签名的概念、原理、签署与验证,典型的数字签名算法, 以及数字证书与p k i 的有关理论。 3 1 数字签名简介 3 1 1 数字签名概念 数字签名在i s 0 7 4 9 8 2 标准【6 1 中定义为:“附加在数据单元上的一些数 据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收 者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人( 例 如接收者) 进行伪造。美国电子签名标准( d s s ,f i p s l 8 6 2 ) 对数字签名作了 如下解释:“利用一套规则和一个参数对数据计算所得的结果,用此结果能够 确认签名者的身份和数据的完整性”。 签名机制的本质特征是该签名只有通过签名者的私有信息才能产生,也 就是说,一个签名者的签名只能唯一的由他自己产生。当收发双方发生争议 时候,第三方仲裁机构就能够根据消息上的数字签名来裁定这条消息是否确 实由发送方发出,从而实现不可否认性安全服务。 3 1 2 数字签名原理 数字签名技术的实现方法有多种:使用对称密码体制的数字签名、使用 公钥密码技术的数字签名、使用公钥密码技术和h a s h 函数的数字签名。实 际实现过程中,第一种方案需要信任的中间人,比较繁琐而单纯采用公钥密 码算法对长文件签名效率太低,将其与h a s h 函数结合可以节约时间。步骤 如下: ( 1 ) 发送方a 用事先商量好的h a s h 函数算法计算消息的消息摘要。 ( 2 ) 发送方a 用其私钥对消息摘要加密,然后对摘要值签名。 西南交通大学硕士研究生学位论文第1 7 页 ( 3 ) 发送方a 将消息及签名后的消息摘要发送给接收方b 。 ( 4 ) 接收方b 首先用和发送方a 事先商量好的h a s h 算法计算收到的 消息,得到新的消息摘要:再用发送方a 的公钥解密签名的摘要 值,得到原消息摘要,对比两个计算结果,若一致,则签名有效。 这种数字签名因为只需对消息摘要进行签名,速度有了很大提高。而根 据h a s h 函数的特性,不同消息很难产生相同的消息摘要,因此确保对消息 摘要签名和对消息签名一样安全。同时,签名和原消息可以分开存储,接收 者对原消息和消息摘要的存储量要求大大降低。图3 1 所示为签名和验证过 程。 3 1 3 数字签名功能 图3 1 签名和验证过程 数字签名机制作为保障网络信息安全的重要手段,可以解决伪造、篡改、 冒充、抵赖等问题。所提供的功能主要有以下几方面: ( 1 ) 保证数据完整性。数字签名与原始文件或其摘要一起发送给接收者, 一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从 而保证了数据的完整性。 ( 2 ) 身份鉴别。这是手写签名和数字签名最基本的功能。手书签名时一般 通过对方的笔迹或现场验证;在数字签名中,接收方同样可以鉴别发送方的 身份。 ( 3 ) 防伪造性。其他人不能伪造对消息的签名,因为签名密钥即私钥只有 签名者自己知道,其他人不可能构造出正确的签名数据。 ( 4 ) 防抵赖性。数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古联群化工科技有限公司招聘12人笔试参考题库附带答案详解
- 用房抵债合同协议
- 2025的铝材购销合同范本
- 水库租借合同协议
- 深圳出租合同协议
- 牙科劳务合同协议
- 装修师傅合同协议
- 施工解约合同协议
- 业主水管维修协议书
- 育花劳务合同协议
- 路基石方破碎开挖专项施工方案
- 二年级美术上册课件 《3.我的手印画》 赣美版 (共18张PPT)
- Q∕SY 126-2014 油田水处理用缓蚀阻垢剂技术规范
- 环保管理制度(适用于软件企业)
- 全国青少年机器人技术等价考试三级全套课件
- 适老化改造培训课件(PPT 31页)
- 钢结构门式刚架厂房设计土木工程毕业设计
- 光伏并网逆变器调试报告正式版
- 市政道路大中修工程管理指引
- SF_T 0097-2021 医疗损害司法鉴定指南_(高清版)
- 易学书籍大全291本
评论
0/150
提交评论