




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)xml安全技术在erp开发系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 随着企业信息化的发展。作为e r p ( e n t e r p r i s er e s o u r c ep l a n ) 系统中重要的内 容:安全问题,迫切需要解决。基于公钥体制的p k i ( p u b f i ck e yl n f r a s t r u c t u r e 、 系统是一个较好的解决方案它为安全服务提供基础框架,解决了以往密钥分 发与保管的难题,是整个安全体系结构的核心部分。同时x m l ( e x t e n s i b l em a r k e d l a n g u a g e ) 语言以其结构化、互操作性、可扩展性的特点,在许多行业得到了广 泛应用。在x m l 成为w e b 应用中广泛使用的编码方式时,许多针对x m l 安全 性的研究工作也开展了起来,目前w 3 c ( w o d dw i d ew e bc o n s o r t i u m ,国际万维 网组织1 负责x m l 安全标准的开发。x m l 安全标准为x m l 文件的加密与签名 提供了粒度控制能力,使得加密与签名有了新的形式。 目前,由于受多种条件的限制,企业级的p k i 系统还不多见,e o s ( e n t e r p r i s e o p e r a t i o ns y s t e m1s e c r e c y s y s t e m 系统是作者基于微软s e c u r i t y 类库开发的p k i 产品,实现了一个典型的安全系统的主要功能,有证书申请、证书发布、证书 吊销、证书查询、密钥恢复等功能,能满足当前企业的安全需求。e o s s e c r e c y s y s l e m 系统是建立在e o sa u t o e r p ( e r p 开发平台1 之上的一个子系 统,工程实旆人员能方便地使用该系统来搭建p k i 框架,使开发系统具有了开 发集成p k i 安全系统的e r p 系统的能力。该系统结合了p k i 的安全措施和x m l 的元素控制能力,并且以w e b s e r v i e e s 方式发布,可以以较少的代价来实现安 全的e r p 系统,并且具有与平台无关特性。 本文首先介绍了密码学的基础知识,并阐述了p k i 的原理与体系结构,及 x m l 、w e b s e r v i c e s 的相关技术。并在此基础上,分析了企业级安全的特点, 提出了相应的安全服务策略。这些策略的提出都是以x m l 的安全技术为背景的, 且尽量用简单易用的方式来解决问题。最后对系统的整体框架和主要实现部分 作了扼要说明。 关健词:p k i ,x m l ,公钥,加密,签名 武汉理工大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fe n t e r p r i s ei n f o r m a t i o n ,t h e i m p o r t a n tp a r ti ne r p s y s t e m :t h es e c r e c y , m u s tt ob er e s o l v e dt h ep k i ( p u b l i ck e yi n f r a s t r u c t u r e1 t e c h n i q u eb a s e dp u b l i ck e ys y s t e mi sap e r f e c tw a yt or e a l i z eas e c r e c ys y s t e m ,i t o f f e r ss u p p o r tf r a m e so fs e c u r i t ys e r v i c ea n d r e s o l v e st h ep r o b l e mo ft h e d i s t r i b u t i o no fk e y , i s b e c o m i n gt h ek e yp a r to ft h ew h o l es e c u r i t ys y s t e m s t r u c t u r e t h ex m li s w i d e l y u s e di nv a r i o u sf i e l d sf o ri t s f o l l o w i n g a d v a n t a g e :s t r u c t u r e ,l a b e l e d ,a n df l e x i b l e w h e nt h ex m lc o m e st ob eaw i d e s p r e a d d a t ae n c o d i n gf o r m a to fw e b a p p l i c a t i o n , m a n yr e s e a r c ha b o u tt h es e c u r i t yo fx m l a r ed e v e l o p e d n o w , t h ew 3 c m a n a g et h es t a n d a r d so fx m ls e c u r i t ys p e c i f i c a t i o n t h e x m l s e c u r i t ys p e c i f i c a t i o n p r o v e d t h ea b i l i t y o f e l e m e n t c o n t r o l ,i t s m a k ean e w s t y l eo fe n c r y p t i o na n ds i g n b e c a u s eo ft h el i m i t so fm a n yc o n d i t i o n s ,a tp r e s e n t ,p k lw h i c hu s e di n e n t e r p r i s ee n v i r o n m e n ti ss t i l lr a r e ,e o ss e c r e c y - s y s t e mi st h ep r o c e d u r et h a t d e v e l o p e do nt h eb a s i so fm i c r o s o f t ss e c u r i t yc l a s sl i b r a r yb ya u t h o r i tr e a l i z e s m a i nf u n c t i o no ft y p i c a l s e c r i t ys y s t e m , w h l c hh a sc e r t i f i c a t er e q u i s i t i o n ,c e r t i f i c a t e s i g n a t u r e ,c e r t i f i c a t er e v o c a t i o n ,c e r t i f i c a t ei n q u i r e ,p r i v a t ek e yr e c o v e r ye t c ,c a nm e e t t h en e e d so fs e c u r i t yf o re n t e r p r i s e e o ss e c r e c y - - s y s t e mi sas u b s y s t e mo fe o s a u t o e r ei tm a k et h ea u t o e r p d e v e l o p m e n ts y s t e mh a v et h ea b i l i t yo fd e v e l o p ae r p i n c l u d i n gp k i ,a n dt h ee n g i n e e r sc a n u s ei tt oc r e a t eap k if r a m e se a s i l y t h i s s e c r e c ys y s t e mm e r g et h ep r i n c i p l eo fp k ia n dt h ee l e m e n t - c o n t r o la b i l i t yo fx m l a n dp u b l i ci tw i t hw e b s e r v i s e s ,h a st h ea b i l i t yo fr e a l i z eas a f ee r p s y s t e mw i t h l i m i t e dc o s t ,a n de v e nm o r e ,i ti si n d e p e n d e n to f d e v e l o p m e n tl a n g u a g e i nt h i sd i s s e r t a t i o n , t h ea u t l l o ri n t r o d u c ef o u n d a t i o no fc r y p t o g r a p h y , e x p o u n d t h et h et h e o r yo fp k ia n dt h ep k is t r u c t u r e ,a n dt h et e c h n i q u eo fx m l , w e b s e r v i c e s o nt h i sb a s i s ,a n a l y z et h ec h a r a c t e r i s t i c so fe n t e r p r i s e ,a n dg i v et h e p o l i c yo f s e c u r i t ys e r v i c e t h e s ep o l i c ya r ea l ls u p p o r t e db yx m l s e c u r i t yt e c h n i q u e , n 武汉理工大学硕士学位论文 a n dt or e s o l v et h ep r o b l e m sw i t hs i m p l ew a y f i n a l l y , e x p l a i nt h em a i nf r a i m sa n d m a i nm o d u l eo fs e c u r i t y s y s t e mb r i e f l y k e yw o r d s :p k i ,x m l , p u b l i ck e y ,e n c r y p t i o n ,s i g n 武汉理工大学硕士学位论文 第1 章引言 在信息化浪潮的持续影响下,随着软硬件价格的下降,新技术的不断出现, 传统的中小企业也开始用采用信息化技术来完善管理,提升竞争力。在体验信 息化带来的快捷的同时,他们也对敏感信息在网络中四处传播的现象特别担心; 同时,无纸化办公的实现,也迫切需要系统能提供一个与盖章或签名相似的功 能,来保证文件的可靠性。调研发现,企业级的安全与银行军队等要害部门有 较大的差别: 1 ) 使用过程必须简单,不能在增强保密性的同时带来使用上的不便。当用 户对复杂的操作感到厌烦时,往往会置一些基本的保密要求于不顾,给整个系 统带来危险; 2 ) 用户虽然意识到安全问题的重要性,但一般不会愿意在这上面花太多的 资源; 3 ) 机密的刺探者也不会为了得到某个秘密而付出太多代价,不惜血本聘请 密码学领域的专家、使用几十台服务器来攻击安全系统的情形是不太可能会出 现的,特别是企业信息的有效时间往往很短,花几个月时间得到的解密信息可 能早就己经过时了。 所以,一般中小企业需要的是一个低成本、易使用的安全系统。本人所做 的工作是在优时软件公司原有的a u t o e r p 开发平台上,建立一个安全子系统 e o ss e c l e c y - s y s t e m ,提供安全服务系统,实现加解密及数字签名功能。同时, 结合公司的特点,及实际开发经验,这个系统将是易使用、易扩展和轻量级的, 不能对e r p 系统的开发人员和最终用户带来开发和使用上麻烦。一些高级功能, 如硬件加密、匿名签名等将暂不在本系统内实现。但得益于x m l 语言和 w e b s e r v i c e s r 机制,本系统可以实现以下几种新颖且实用的功能: 1 ) c a ( c o r t i f i c a t ea u t h o r i t v l :存放所有用户的公钥证书,解决密钥管理与 分发的难题,同时这也是安全系统的基础。 2 ) 信息的局部加密:x m l 特有的元素概念,使得加密文档的一部分成为可 能,而在以前,这种要求是无法满足的。特别是,用户可以自由选择要加密的 武汉理工大学硕士学位论文 元素,从加密整个文档到不加密任何元素,都不会影响程序的运行,用户有相 当大的自由度。 3 )文件的局部签名:同样基于x m l 的元素概念,系统可以给文件不同的 部分使用不同的签名。一份计划可能需要多个主管的签名,且每个主管只对自 己负责的那一部分签名,该项功能对用户来说是非常有用的。 4 ) 服务的灵活性:采用w e b s e r v i c e s 机制,整个系统具有与平台无关的特 性,同时又具有极强的灵活性,无论c s 结构还是b s 结构,都能正常运行。 目前,对信息系统的安全威胁可归纳为: 1 】 1 ) 线路窃听:通过搭线和电磁泄漏等手段读取和分析电子信号流,获取有 关信息。 2 ) 假冒主机和用户:非法增加网络节点,使用假冒主机以欺骗合法用户及 主机,套取和修改使用权限、口令、密钥等信息,进而达到攻击目的。 3 ) 非授权访问:避开系统访问控制机制,访问本无权访问的系统资源。 4 ) 攻击信息完整性,改变信息流的次序或流向,删除、修改或重发选定的 信息。 5 ) 拒绝服务攻击:干扰网上服务实体,使其忙于执行非服务性操作甚至瘫 痪,从而拒绝合法用户的服务请求。 6 ) 业务流分析:入侵者观察协议控制信息,或对传送信息的长度、频率、 源和目的进行分析,从而获得有价值的情报。 7 ) 非法篡改程序:入侵者破坏操作系统,通信软件和应用程序,如病毒, 特洛伊木马、蠕虫、梅丽莎等。 在开发e r p 平台时,简单地使用本安全系统提供的基本功能,可以实现对 1 ,2 ,4 条的威胁的保护。在此基础上,开发人员可将安全系统提供的身份认证 和e r p 系统原有的身份认证相结合,防止第3 条威胁的出现。如果用本系统提 供的加密功能加密信息传送的目的和源,可以抵抗第6 条威胁。至于第5 条和 第7 条,超出了本系统的范围,需要服务器和杀毒软件来完成。 本论文相关术语: 密码:密码是一个很容易理解的概念,但在现代密码学出现之后,又引 入了密钥( k e y ) 的概念,两者没有本质上的区别,容易引起混淆。在本书中, 将用户设计的用于加密的字符串称为密码( 往往是一串容易记忆的字符串,安 全性不高) ,而将由加密设备产生的称为密钥。密码的概念主要在密钥申请部分 2 武汉理工大学硕士学位论文 使用。 p :安全系统的核心,负责密钥的管理和分发。 数字证书:数字证书是一份经证书授权中心签名的包含公开密钥拥有者 信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及汪书授 权中心的数字签名。通过授权中心的数字签名将公开密钥和密钥拥有者绑定。 3 武汉理工大学顼学位论文 2 1 数学基础 2 1 1数论 第2 章密码学基础 素数与合数吲 对于某个整数p l ,并且因子公为l 和p ,则我们称p 为素数( 或质数) 。 相对的,不是素数的整数a l 称为合数。素数有无穷多个。任何大于1 的整数a 都能被因式分解为如下的唯一形式,称之为标准分解式: a = 开磨p , ( 2 1 ) 其中,p i 为自然数中的第i 个素数,p i p z p 3 ,且e i 为非负整数。 例如:1 1 0 1 1 = 7 1 l z * 1 3 另外,如果p 表示所有素数集合,则任一正整数均可唯一的表示为如下形 式: 口i 】) p 其中铲o( 2 2 ) 上式右边是所有素数p 的乘积;对于任一特定的值a ,大多数分量均为0 。 例如:3 6 0 0 ;2 4x 3 2x 5 2 素数的检测 判断个整数是不是素数的过程叫素数检测。目前还没有一个篱单有效的 办法来确定一个大数是否是素数。理论上常用的方法有f 3 】 ( 1 ) w i l s o n 定理:若( n 一1 ) f - - l ( m o dn ) ,则n 为素数; ( 2 ) 穷举检测:若如不为整数,且r l 不能被任何小于如的正整数整除, 则n 为素数; ( 3 ) 概率算法:上两种理论在n 很大时,计算量太大,不适合密码学使用。 所以现在常用的是数学家s o l o v a y 和s t r a s s e n 提出的概率算法,即在某个区间上 武汉理工大学硕士学位论文 能经受住某个概率检测的整数,就认为它是素数。 2 1 2 模运算 己知一个整数n ,所有整数都可以划分为是n 的倍数的整数与不是n 的倍数 的整数。对于不是n 的倍数的那些整数,我们又可以根据它们除以n 所得的余 数来进行分类。模r l 运算将所有整数映射到整数集合 0 ,l ,( n - 1 ) ) ,在这个 集合内进行的算术运算就是所谓的模运算。 如果 m o d n ) = ( b r o o d n ) ,则称口与6 模h 同余,记为a * 扫i m d h 模运算符具有如下的性质: 1 ) 若n i 曲,则a - b m o d n 2 ) ( 以m o d n ) ap m o d 开) 等价于口| b r o o d n 钔 aib t r d d n 等价于o i l lb m o d n 4 ) 若a l b m o d n h b l c n x ) d n ,则n 1c m o d n 模算术类似于普通算术,它也满足交换律、结合律和分配律: 表2 - 1 模运算的主要性质 性质表达式 ( w + 砷m o d nm ( z + m o d n 交换律 ( w x 力m o d n = ( z x 叻m o d n “w + d + y ) 脚d n 一( w + ( 工+ y ) ) m o d n 结合律 ( ( w x 曲x y ) 啪d n - ( w x ( x x y ) ) m o d n 分配律( w x ( x + y ) ) m o d n 一“w z ) + ( w x y ) ) m o d n ( 0 + 呐m o d n = w m o d n 恒等式 ( 1 l n d d h w m o d n 2 1 3 费马定理和欧拉定理 费马定理和欧拉定理在公钥密码学中有重要的作用。 费马定理:如果p 是素数,a 是不能被p 整除的正整数,则: a ;l m o d p ( 2 3 ) 费马定理的另一种等价形式:如果p 是素数,a 是任意正整数,则 武汉理工大学硕士学位论文 n a m o d p ( 2 4 ) 欧拉定理:对于任何互质的整数a 和n ,有: n p ( ”) _ l r n o d n( 2 5 ) 2 2 对称密钥算法 2 2 1 对称密钥算法概述 对称密码算法( s y m m e t r i ca l g o r i t h m ) ,又称传统密码算法,就是加密密钥能 够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,a n 解密密钥 是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者 在安全通信之前,商定一个密钥。系统的安全依赖于密钥,泄露密钥就意味着 任何人都能对消息进行加解密。只要通信需要保密,密钥就必须保密。对称密 码算法的加密和解密表示为: 医( m ) = c ; 仇( c ) = m ; 2 2 2d e s 算法 d e s ( d a t ae n c r y p t i o ns t a n d a r d ,数据加密标准) 算法是应用广泛的对称密码算 法之一,经受了2 0 多年的考验,目前仍然是安全的。d e s 是一个分组算法,它 以6 4 位分组对数据加密。6 4 位一组的明文从算法的一端输入,6 4 位的密文从 算法的另一端输出。d e s 算法原理如下: 6 武汉理工大学硕士学位论文 图2 - 1 一轮d e s 的实现 d e s 对6 4 位的明文分组进行操作。通过一个初始置换,将明文分组成左半 部分和右半部分,各3 2 位长。然后进行1 6 轮完全相同的运算,这些运算被称 为函数f ,在运算过程中数据与密钥结合。经过1 6 轮后,左、右半部分合在一 起经过一个末置换。 在每一轮中,密钥位移位,然后再从密钥的5 6 位中选出4 8 位。通过一个 扩展置换将数据的右半部分扩展成4 8 位,并通过一个异或操作与4 8 位密钥结 合,通过8 个s 盒将这4 8 位替代成新的3 2 位数据,再将其置换一次。这四步 运算构成了函数f o 然后,通过另一个异或运算,函数f 的输出与左半部分结合, 其结果即成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重 复1 6 次,便实现了d e s 的1 6 轮运算【5 】。 2 3 公开密钥算法 2 31 公开密钥算法概述 公开密钥算法( p u b l i c - k e ya l g o r i t h m ) ,也叫非对称算法算法,它是密码学 历史上一次重大的发明。在公开密钥密码学提出之前,几乎所有的密码编码系 统都建立在替代和置换工具的基础上。公开密钥密码学则与以往的所有方法截 武汉理工大学硕士学位论文 然不同:一方面公开密钥算法基于数学函数而不是替代和置换;更重要的是, 公开密钥密码算法是非对称的,它用到两个不同的密钥,而对称的常规加密只 使用一个密钥嘲。 公钥加密体制都是建立在数学中已知的n p 问题之上的,利用n p 问题来构 造个陷门单向函数,用陷门单向函数和密钥来实现加、解密。加密过程是一 个单向的过程,只知道明文和公钥是无法计算密文的;同样,解密过程也是很复 杂的,只有当给定某些辅助信息即私钥时,计算密文才会变得很容易。现有的 公钥加密算法都是基于以下n p 困难问题的r 7 】 1 ) 背包阏题;n 个整数的集合a ; a 1 ,a 2 , ,a n 和整数s ,找出a 的一个子 集,其中元素之和等于s 。 2 ) 整数分解问题:正整数n ,是否存在整数n l ,n 2 ,l n l ,n z n ,使得n - - - n l n 2 。 3 ) 离散对数:如果p 是素数,g 和m 是整数,找出x 满足9 5 一m m o d p 。 4 ) 丢番图方程:三个正整数a , b ,c ,丢番图方程a # + b y = c 是否存在整数解。 5 、矩阵覆盖问题:也称二次:背包问题。一个整数环上的i i 阶矩阵a ,s z , 是否存在( x l ,x 2 ,x ) e 0 ,1 n ,使得( x 1 ,x 2 ,x n ) a ( x 1 ,x 2 ,x 。y r - s 。一次背包问题 可看成矩阵覆盖问题的特例。 公开密钥密码学解决了两大难题: 1 ) 密钥分配问题:常规加密的密钥分配要求通信双方要么已经共享一个密 钥,要么要用到一个密钥分配中心。公开密钥加密的发现者之一的w h i t i f i e l d d i f f i e 认为,第二个要求从根本上违背了密码学的本意,即使自己的通信完全保 密的能力 a l 。 2 ) 数字签名问题:如果密码学要获得广泛的应用,在用于商业或私人目的 时,电子报文和文件就需要一种与书面材料中使用的签名等效的认证手段。也 就是说,应该设计一种方法可以让参与各方都信服地确认一个数字报文是某个 人发送的。 公开密钥算法的密钥是成对产生的,一个密钥进行加密,另一个用来解密。 公开密钥算法有以下重要特征: 仅仅知道密码算法和加密密钥而要确定解密密钥,在计算上是不可能 的; 两个相关密钥中任何个都可以用作加密而另夕 一个用作解密。 8 武汉理工大学硕士学位论文 2 3 2r s a 密码系统的相关研究 1 、r s a 概述 r s a 公钥密码体制是1 9 7 8 年由r 。t i v e s t ,a s h a m i r 和l a d l e m a n 三人共同提 出的。它是一个基于数论的非对称密码体制,是密码学中第一个较完善的公钥 密码体制,即可用于加密也能用于数字签名。r s a 公钥密码体制的基础在于大 整数因子分解的困难性:求两个大素数的乘积是容易的,但要分解两个大素数 的积以求出它的索因子是困难的。大整数因子分解问题是数学上的著名难题, 至今没有有效的方法予以解决,因此可以确保r s a 算法的安全性【蚺。 2 、r s a 原理 r s a 公钥密码体制的原理可简述如下: 任意选取两个大素数p 、q ,计算n = p q 及欧拉函数咖j p 一1 x 口一1 ) 。随 机选取大接数d 作为解密私钥,满足( d ,妒o ) ) 一1 然后用e u c l i d 算法计算加密公 钥e ,满足e + d t 陋d 畎玎) ) ,换言之,e d - 1 ( m o d 甲( ) ) 。公开参数e 和n ,d 则应保密,两个素数p 、q 及中( 弹) 不再需要,应及时销毁不可泄露。 加密过程为 c e 。( m ) 一( m 。m o d n ) ( 2 6 ) 解密过程为: d ( c ) - d k 但t 伽) ) - ( 一m o d n ) ( 2 - 7 ) 如果第三者进行窃听,他会得到几个数:me ,i l ,c ,他如果要解码的话, 必须要想办法得到d ,所以,他必须先知道p ,q ,即对n 作素因子分解,而分解 大的素数是非常困难的。 3 、r s a 密钥产生过程 1 ) 产生素数f 1 0 】 在r s a 体制中,要求p ,q 必须是素数,否则算法不成立。因此在第一步得 到p , q 的时候,必须判定它是不是素数。 根据修改的欧拉定理,如果p 为素数,则对于x 的所有整数值,应满足: 工,a l m o d p ( 2 8 ) 这是一个必要条件而非充分条件,不过,如果有5 个以上的x 能满足上述 条件,则p 可基本断定为素数。下图是产生素数的流程图。如果随机的5 个x 变化时,均能满足上述条件,则p 为素数。否则将p + l ,重复计算,直到获得素 武汉理工大学硕士学位论文 数为止。 图2 - 2素数的产生 2 ) 产生加密密钥e 加密密钥e 是与妒坼) 互素的任意数,因此可以先随机选择一个1 0 2 4 位的e , 检查它是否与烈力互素,若不是,则执行e = c 十1 ,再次检查,直到与烈力互素为 止【1 “。 检查两数是否互素的方法如下:检查两数的公约数g c d 是否为1 ,若是,则 两数互素。根据欧几里德算法,如果a = b f l + e ,则a 和b 的g c d 等于b 和c 的g c d , 即g c d ( a ,b ) = g c d ( b ,c ) ,因此,g c d ( a ,b ) 可用每次运算的余数去除该算法的除数来计 算,这样逐渐减少参加运算的操作数的数值,最后的非零余数即为公约数。 3 、产生解密密钥d 采用欧几里德算法的一种变型产生解密密钥d 。 设:中( n ) = x ( o ) ,e = x o ) ,中( n ) 和e 是互素的数,x ( “1 ) 为x ( i 一1 ) ( d 的余数; q ( i ) = x ( i 1 ) x ( i ) 的商,d ( o ) = o ,d ( 1 ) = 1 ;则d ( i + 1 ) = d ( i - 1 ) + q ( i ) d ( i ) a 递归计算,直 到搿) = l ,d ( i ) 的值即为密钥。 4 、r s a 安全性【1 2 l i o 武汉理工大学硕士学位论文 r s a 算法的安全性推测完全依赖于大素数因子分解问题。攻击r s a 算法主 要有三种可能的方法: 1 ) 强行攻击: 对所有私钥都迸行尝试;可采用大密钥的方法来防范强行攻击,但同时也 带来系统开销的加大。 2 ) 数学攻击: 对两个素数乘积进行因子分解。目前最好的因子分解的算法有平方筛算法 ( q u a d r a t i cs i e v e ) 、数域筛算法( n u m b e r f i e l ds i e v e ) 等等。己经有人进行了计算, 用最快的数域筛因子分解一个6 6 4 比特的数需要执行1 0 2 3 步,假设一台计算机 每秒可执行1 0 0 万步,那么1 0 0 万台计算机的网络完成这个任务也需要4 0 0 0 年。 由于模n 就是破解需要分解的数,所以说模的长度就是r s a 密钥的长度,这也 是我们需要考虑的长度。r s a 实验室目前建议:对于普通公司使用的密钥大小 为1 0 2 4 位;对于极其重要的资料,使用双倍大小,即2 0 4 8 位;对于日常使用, 7 6 8 位的密钥长度已足够。 3 ) 定时攻击:依赖于解密算法的运行时间。 2 4 数字签名技术 一直以来,我们使用手写签名或加盖图章的方式,来证明文件作者的身份, 或表示同意文件中的内容。当传统的纸质文件逐渐被电子文件代替时,数字签 名技术也应运而生了。所谓数字签名,就是信息发送者产生一段字符串,这段 字符串是别人无法伪造的,从而可以由字符串来确定发送者的身份。将这段字 符串与其所签著的文件相关联,又可进一步确保文件的完整性。 2 4 1 数字签名原理 目前常用的的数字签名算法都是基于公开密钥加密体制的,其实现原理如 下: 1 ) 对将要发送的文件进行运算,得到一个固定长度的数字串,称为摘要 ( m e s s a g ed i g e s t ) ,不同的文件所得到的摘要是不一样的,但对相同的文件它的 摘要却是唯一的。 武汉理工大学硕士学位论文 2 ) 发送方生成摘要,用自己的私钥对摘要进行加密来形成发送方的数字签 名。 3 ) 将这个数字签名作为文件的附件和文件一起发送给接收方。 4 ) 接收方首先从接收到的原始文件中用同样的算法计算出新的摘要,再用 发送方的公钥对报文附件的数字签名进行解密,比较两个摘要,如果值相同, 接收方就能确认该数字签名是有效的。 与加密相比,数字签名使用了单向散列函数来产生摘要,下面简要阐述一 下单向散列函数。 单向散列函数有很多名字:压缩函数、收缩函数、消息摘要、指纹、密码 校验和、信息完整性检验、操作检验码等。它是现代密码学的中心。散列函数 一直在计算机科学中使用,散列函数就是将可变的输入长度转换成固定长度输 出值( 叫做散列值) 的一种函数。而单向散列函数是在一个方向上工作的散列 函数,从预映射的值很容易计算其散列值,但要使其散列值等于一个特殊值却 很难。好的散列函数也是无冲突的:难于产生两个预映射的值,使他们的散列 值相同。 散列函数是公开的,对处理过程并不保密。单向散列函数的安全性是它的 单向性。其输出不依赖于输入。平均而言,预映射值的单个位的改变,将引起 散列值中一半的位的改变。已知一个散列值,要找到预映射的值,使它的散列 值等于已知的散列值在计算上是不可行的。可把单向散列函数看作是构成指纹 文件的一种方法。 单向散列函数的数学接述如下:单向散列函数h ( m ) 作用于任一长度的消息 m ,它返回一固定长度散列值h :h = h ( m ) ,其中h 的长度为m 。其特性为:给 定m ,很容易计算h ;给定h ,根据h ( m ) = h 计算m 很难;给定m ,要找到另 一消息m ,并满足h ( m ) = h ( m ) 很难。大多数的单向散列函数产生1 2 8 位的散列 值 1 3 1 。 2 4 2 数字签名过程 数字签名过程如下: 1 2 武汉理工大学硕士学位论文 图2 - 3 数字签名 首先对信息进行哈希运算,得到摘要h ,然后对h 进行加密,得到加密后的 摘要e ( h ) ,再将信息和e 一并送给接收者。接收者得到附加了e ( 1 1 ) 的文件后, 首先对文件也进行一次哈希运算,得到摘要h ,并将随文件传送过来的摘要e 解密,得到h ,比较这两个值即可判断文件是否被篡改,并验证了发送方的身份。 2 4 3 数字签名的应用 在电子文档中引入数字签名是为了实现以下目的: 签名是可信的。签名使文件的接收者相信签名者是慎重地在文件上签 字。 签名是不可伪造的。签名证明是签字者而不是其他人在文件上签字。 签名是不可重用的。签名是文件的一部分,不法之徒不可能将签名移到 不同的文件上。 签名的文件是不可改变的。在文件签名后,文件不能改变。 武汉理工大学硕士学位论文 签名是不可抵赖的。签名和文件是物理的东西,签名者事后不能声称他 没有签过名。 当然,以上是签名的理想目的,在现实生活中,签名是能够被伪造的。安 全系统存在的意义,就是迫使伪造者需要付出的高昂的代价才能达到他们的目 的:当付出的代价远大于伪造所得的好处时,可以认为系统是安全的。 1 4 武汉理工大学硕士学位论文 第3 章基于公钥的安全系统 在基于公钥的安全系统中,密钥是最重要的资源,整个系统的功能模块都 是围绕密钥来设计的。密钥按用途可分为加密密钥对和签名密钥对。 1 ) 加密密钥对 加密密钥对由加密公钥和解密私钥组成。为防止密钥丢失时丢失数据,解 密用的私钥应该进行备份,同时还可能需要进行存档,以便能在任何时候解密 历史密文数据。加密公钥无需备份,公钥的丢失不会带来大的问题。 加密密钥对通常用于分发会话密钥,这种密钥应该频繁更换,故加密密钥 对的生命周期较短。 2 ) 签名密钥对 签名密钥对由签名私钥和验证公钥组成。签名私钥具有日常生话中公章、 私章的效力。为保证其唯一性,签名私钥绝对不能够作备份和存档,丢失后只 需重新生成新的密钥对,原来的签名可以使用旧公钥的备份来验证。验证公钥 需要存档,用于验证旧的数字签名。用作数字签名的密钥对一般可以有较长的 生命期。 3 1 标准p k i 功能模块简介 完整的p k i 系统必须具有权威认证机构( c a ) 、数字证书库、密钥备份及恢 复系统、证书作废系统、应用接口( a p i ,a p p l i c a t i o np r o c e s si n t e r f a c e ) 等构成部 分,一般把数字证书库放在c a 中,由c a 来保证其安全性和真实性。一个简单 的p k i 示例如下: 武汉理工大学硕士学位论文 3 1 。1 认证机构 图2 4p k i 示例 p k i 系统中产生证书的部分叫证书机构( c e r t i f i c a t e a u t h o r i t y ) ,它是p k l 系 统中的核心组成部分,一般简称c a 。 p k i 服务系统的关键问题是如何实现密钥管理。公钥机制涉及到一对密钥, 即公钥和私钥,私钥只能由证书持有者掌握,无需在网上传输;而公钥是公开 的,需要在网上传送,故公钥体制的密钥管理主要是公钥的管理问题,目前较 好的解决方案是引进证书机制。 证书是公开密钥体制的一种密钥管理媒介。它是一种权威性的电子文档,形 同网络计算环境中的一种身份证,用于证明某一主体的身份以及其公开密钥的 合法性。因此,在公钥体制环境中,必须要有一个可信的机构来对任何一个主 体的公钥进行公证,证明主体的身份以及分与公钥的匹配关系。c a 正是这样的 机构,它的职责归纳起来有: 验证并标识证书申请者的身份; 将生成的证书发布到数据库和l d a p ( l i g h t w e i g h td k e c t o r ya c c e s s p r o t o c 0 1 ) c o ,以供用户方式访问; 确保整个签证过程的安全性,确保签名私钥的安全性; 证书材料信息的管理: 确定并检查证书的有效期限; 确保证书主体标识的唯一性,防止重名: 发布并维护作废证书列表( c r lc e r t i f i c a t er e v o k el i s t ) ; 对整个证书签发过程做目志记录; 向申请人发通知; 武汉理工大学硕士学位论文 用户的公钥可能有两种产生方式: 1 ) 用户自己生成密钥对,然后将其以安全的方式传送给用户。该过程必须 保证公钥的可验证性和完整性: 2 ) c a 替用户生成密钥对,然后将其以安全的方式传送给用户。该过程必 须确保密钥对的机密性、完整性和可验证性。该方式下由于用户的私钥为c a 所 知,所以对c a 的可信性有更高的要求。 在实际使用中,签名密钥对的产生用第一种方式,加密密钥对的产生用第二 种方式。 在c a 中,有一对特殊的密钥对:用于标志c a 本身的密钥对。当c a 与其 它c a 交互时,或者用户与c a 交互时,通过这一对密钥对来验证c a 的身份, 所以,这对密钥的产生和储存必须特别小心。 当系统负荷较大时,可以考虑另设一台服务器,接收和审查用户的申请, 向用户分发证书,以减轻c a 的负担。这一台服务器称为注册服务器。同时,注 册服务器位于c a 和用户之间,客观上起到了保护c a 的作用。 3 1 2 数字证书库 证书库是加密证书和签名证书的集中存放地,是网上的一种公共信息库,用 户可以从此处获得其他用户的证书和公钥。 证书及证书撤销信息的分发方法是发布( p u b l i c a t i o n ) ,其原理是将c a 的信 息放在一个广为人知的、公开且容易访问的地点。这对那些大用户如何来说尤 其重要,因为这个群体内的人们互相之间都难以认识,这种发布就显得更有吸 引力。 当甲要与乙有通信时,首先到证书库访问查询,得到将要与之通信的乙的 公钥。由于证书签发机构事先己将乙的身份与其公钥捆绑,进行了数字签名, 因此甲就能相信他查询到的确实是乙的公钥。 证书库应该可以支持分布式存放,即c a 机构所签发的证书,可以采用数据 库镜像技术,将其中一部分与本组织有关的证书和证书撤消列表存放到本地, 以提高证书的查询效率。从整体的布局来看,证书和证书撤消信息的查询,不 应该成为整个c a 系统的瓶颈。为了获得及时的服务,资料库的访问和查询操作 时间必须尽量的短,证书和证书撤消信息必须尽量少,这样都能减少总共要消 耗的网络带宽。 武汉理工大学硕士学位论文 3 1 3 密钥备份及恢复系统【1 4 j 用户由于某种原因丢失了解密数据的密钥,则被加密的密文无法解开,造 成数据丢失。为了避免这种情况的发生,p k i 需要提供密钥备份与解密密钥的恢 复机制。可将密钥存在数据库中,或者将密钥复制下来交给某个可信赖的人保 管,但这都是不安全的。1 9 7 9 年,s h a m k 和b l a k l e y 独立地提出了密钥分散管 理的概念,实现这一思想的机制称为( t ,n ) 门限方案。s h a m i r 方案的理论基础是拉 格朗日插值多项式,而b l a k l e y 的方案则是基于线性投影几何学原理1 1 ”。这两种 方案都是将一个密钥分成n 个部分,分别交给n 个人保管,使得确定的整数t o n ) 满足: 1 1 在这n 个人中,任意r ( r 毫f ) 个人协作都能恢复出系统密钥; 2 ) 任意“k 1 ) 个人协作对恢复系统密钥没有任何帮助 例如,构造一个( 3 ,5 ) 门限方案,应用这个备份系统,用户可以将密钥分 成5 个部分,分别交给公司的5 个安全官员( 或其他可信任的人) ,当用户意外 丢失密钥时,或公司因特殊原因需要使用该用户的密钥时,只需找齐5 个人中 的3 个,就可以恢复出密钥。 3 1 4 证书作废系统 证书机构c a 签发证书来为用户的身份和公钥进行捆绑,可是在现实世界 中,因种种原因,还必须存在一种机制来撤消这种捆绑关系,将现行的证书撤 消。这种撤消的原因通常有:用户身份的改变、私钥被窃或泄露、用户与其所 属企业关系变更等。这样就必须存在种方法警告其他用户不要再使用这个公 钥。在c a 系统中,这种警告机制被称做证书撤消。所使用的手段为证书撤消列 表,或称c r l 。 证书撤消信息更新和发布的频率是非常重要的。一定要确定合适的间隔频 率来发布证书撤消信息,并且要将这些信息及时地散发给那些正在使用这些证 书的用户。两次证书撤消信息发布之间的间隔被称为撤消延迟产。撤消延迟必 须作为证书策略一部分来规定,在给定一个应用领域中,其撤消措施必须遵照 相应的策略, 证书撤消的实现方法有很多种,一种方法是利用周期性的发布机制,如证 书撤消列表c r l ,这是一种常用的方法;另一种方法是在线查询机制,如在线 1 8 武汉理工大学硕士学位论文 证书状态协议o c s p l “i ( o n l i n ec e r t i f i c a t es t a t ep r o t o c 0 1 ) 。 3 1 5 密钥历史档案 在经过一段时间后,每个用户都会形成多个“旧”证书和至少个“当前” 的证书。这一系列旧证书和相应的私钥就组成了用户密钥和证书的历史档案, 简称密钥历史档案。记录整个密钥历史是件十分重要的事情,比如说甲自己5 年前加密的数据或其他人用甲的公钥为甲加密的数据,无法用现在的私钥解密。 那么,甲就需要从他的历史档案中找到正确的解密密钥来解密数据。如此类似 的,有时也需要从密钥历史档案中找到合适的证书验证甲5 年前的数字签名。 与密钥更新相同,管理密钥历史档案也应当由p k l 自动完成。在一个p k i 的系统中,若让用户自己去查找正确的私钥或用每个密钥去尝试解密数据,这 对用户来说是无法容忍的。c a 系统必须保存所有密钥,以便正确地恢复密钥, 解密历史数据。 3 1 6 时间戳 时间戳( t i m e s t a m p ) 或称安全时间戳,它是个时间权威用一段可认证的完 整的数据表示的时间。最重要的不是时间本身的精确性,而是相关时间的安全 性。支持不可否认性服务的一个关键因素就是在p k i 中使用安全时闻戳,就是 说时间源是可信的,时间值必须被安全地传送。 c a 中必须存在用户可信任的权威时间源,权威时间源提供的时间并不需要 正确,仅仅需要用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民生银行昆明市西山区2025秋招面试典型题目及参考答案
- 中信银行杭州市滨江区2025秋招笔试英语题专练及答案
- 民生银行深圳市罗湖区2025秋招群面模拟题及高分话术
- 2023年度潍坊工程职业学院单招《语文》模考模拟试题附参考答案详解【巩固】
- 平安银行重庆市大渡口区2025秋招结构化面试15问及话术
- 华夏银行锦州市太和区2025秋招群面模拟题及高分话术
- 2024高职单招考试历年机考真题集及参考答案详解【完整版】
- 广发银行芜湖市镜湖区2025秋招笔试性格测试题专练及答案
- 中信银行南宁市江南区2025秋招笔试热点题型专练及答案
- 2024高职单招考试黑钻押题及完整答案详解【考点梳理】
- 物流公司驾驶员管理的规章制度
- 【MOOC】大学物理-电磁学-北京理工大学 中国大学慕课MOOC答案
- 外包服务合作协议
- 拆除空调合同模板
- 美团配送站长述职报告
- 配电箱巡检表
- 机场监控施工方案
- 【品牌手册】无忧传媒品牌手册-市场营销策划-品牌营销案例与品牌手册
- 北京餐厨垃圾收运合同范本
- 压力容器使用单位安全员题库
- 2025届高考英语大作文读后续写写作思路与技巧课件
评论
0/150
提交评论