(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf_第1页
(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf_第2页
(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf_第3页
(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf_第4页
(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)一种安全中间件的逻辑设计与接口实现.pdf.pdf 免费下载

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

文档简介

硕士论文一种安全中间件的逻辑设计与接口实现 摘要 在信息技术飞速发展的今天,信息安全是网络应用不可避免的问题。保障信息的 机密性、完整性、通信双方身份认证和不可抵赖性等成了急需解决的安全问题。安全 中间件克服了传统安全技术中代价高、易用性差、互操作能力弱等问题,把信息安全 技术和中间件技术相结合,从整个系统中分离出来,提出相应的安全服务接口使之成 为通用的松祸合的软件。本文在此背景下,提供了一种安全中间件的逻辑设计与接口 实现,为上层应用提供编程接口,实现了安全中间件的底层核心功能。 本文在研究密码学理论和公钥基础设施p k i 、分析比较成熟的安全中间件体系结 构c d s a 基础上,提出了一种安全中间件的设计方案;用开源安全平台0 p c n s s l 库 实现安全中间件的密码服务( c s p ) 模块和证书服务( c e r t s p ) 模块,从而为安全中 间件之上的应用层提供密码服务和证书服务的接口。系统在设计时充分利用了面向对 象技术的优势,克服了o p c n s s l 面向过程、使用不方便、结构复杂的缺陷,具有扩 充非常方便、可重用性和健壮性好的特点。 最后,对本文设计的安全中间件的两大模块进行测试和分析。测试结果表明,文 中设计的安全中间件能提供多种密码服务和证书服务,具有良好的灵活性、可扩展性、 可伸缩性。 关键词:安全中间件,p k i ,密码服务,证书服务,o p e n s s l 。 硕士论文一种安全中间件的逻辑设计与接l :1 实现 a b s t r a c t w i t i lt h er a p i dd e v e l o p m e n to ft h ei n f o r m a t i o nt e c h n o l o g yt o d a y , i n f o r m a t i o ns e c u r i t y i sa l li n e v i t a b l ep r o b l e mo fn e t w o r ka p p l i c a t i o n e n s u r i n gc o n f i d e n t i a l i t ya n di n t e g r i t yo f t h ed a t a , a u t h e n t i c a t i o na n dn o n - r e p u d i a t i o no ft h ec o m m u a i c a t i o np a r t n e rm u s tb e g u a r a n t e e d s e c u r i t ym i d d l e w a r es o l v e st h ep r o b l e m so ft h ec o s t , t h ea v a i l a b i l i t ya n dt h e i n t e r o p e r a t i o no ft r a d i t i o n a li n f o r m a t i o ns e c u r i t y nc o m b i n e st h es e c u r i t yt e c h n o l o g yw i t h t h em i d d l e w a r et e c h n o l o g y , s e p a r a t e st h es e c u r i t ym o d u l ef r o mt h ea p p l i c a t i o ns o f p v v a r e a n dd p a ? a ) m ec o m m o nu s a g es o f t w a r e ,t h u si m p r o v e st h er e u s a b l eo ft h es o t 蕾w a r e i nt h i s b a c k g r o u n d , t h i sp a p e ra i m st or e s e a r c ht h el o g i c a ld e s i g na n di n t e r f a c er e a l i z a t i o no f s e c u r i t ym i d d l e w a r e ,p r o v i d es e v e r a li n t e r f a c e sf o rt h ea p p l i c a t i o nl a y e r , r e a l i z et h ep i v o t a l f u n c t i o no f t h eb o t t o m , a st oi m p r o v et h er e l i a b i l i t yo f t h ew h o l es y s t e m f i r s t l y , b yr e s e a r c h i n g0 1 1t h eb a s i ct h e o r y 一c r y p t o g r a p ht h e o r ya n dp u b l i ck e y i n f r a s t r u c t u r e ,r e f e r e n c i n gt h el a y e r e dm o d e lo fc d s as e c u r i t ym i d d l e w a r e ,t h i sp a p e r f o u n dak i n do fd e s i g ns c h e m e ,t h e ni nt h er e a l i z a t i o np a r t , i tu s e do p c n s s ll i b r a r yt o r e a l i z es e v e r a lr e l a t e di n t e r f a c e so fs e c u r i t ym i d d l e w a t e ,i n c l u d i n gc i p h e rs e r v i c em o d u l e a n dc e r t i f i c a t es e r v i c em o d u l e s oa st op r o v i d es o m eu s a b l ei n t e r f a c e st ot h ea p p l i c a t i o n l a y e r b yu s i n gt h es t r o n g p o i n to fo b j e c to r i e n t e dt h i n k i n gt od e s i g n ,t h i ss y s t e m o v e r c o m e st h ed e f e c to fo p c n s s l ,i tc a ne x t e n de x p e d i e n t l ya n db eu s e dr e p e a t e d l ya n d s t r o n g l y f i n a i u y , b yt e s t i n ga n da n a l y s i n gt h em o d u l e so fs e c u r i t ym i d d l e w a r ei nt h ep a p e r , i t s h o w st h ei n t e r f a c eo fs e c u r i t ym i d d l e w a r er e a l i z em u l t i f a r i o u sc i p h e rs e r v i c ea n d c e r t i f i c a t e 翻嘶t h i ss y s t e mi sw i t hp r e f e r a b l ef l e x i b i l i t y , e x p a n s i b i l i t ya n dr e t r a c t i l i t y k e y w o r d s :s e c u r i t ym i d d l e w a r e ,p k i ,c i p h e rs e r v i c e , c e r t i f i c a t e s e r v i c e ,o p e n s s l 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名: 加7 年占月,7 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阕或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:聊年莎月功日 硕士论文一种安全中间件的逻辑设计与接口实现 l 绪论 1 1 信息安全 1 1 1 信息安全背景 信息安全技术是伴随着网络和通信设施的产生和应用产生的。这些网络和通信 设施用来在各种终端以及计算机之间传输数据信息,这个传输过程很容易受到非法 窃听等攻击,这就需要对在网络中传输的数据采取安全的保护措施。针对这种需求 发展起来的技术有v p n 、s s l 等【2 7 】。 由于现在的绝大部分数据终端设备( 包括计算机) 基本上都是跟网络相联的, 所以无论是计算机安全、系统安全还是网络安全,都不是完全独立的。信息安全技 术也逐渐发展到更加广泛的内容。 1 1 2 信息安全内容 安全问题就如一条链子一样,必须保证每一个环节的安全才能达到使整个链子 具有安全性。通过分析可能存在的多种安全缺陷,可以总结出信息安全主要包括以 下几个方面,进而采取相应的安全措施【4 5 1 。 1 机密性 机密性用于保护信息免受主动的非法窃取、阅读等攻击。机密性涉及的范围是 多方面的,主要包括内容的机密性和信息量的机密性。 内容的机密性既可以针对计算机中的一个重要文件,也可以是网络中传输的一 些数据。对于计算机中的一个文件内容的保护情况显得可能简单一点,最简单的处 理方法是我们只需要采用足够强大的加密算法将文件的内容加密即可。对于保护网 络传输的信息,需要考虑的情况就会多一点,其中之一就是我们可能需要考虑对数 据做不同层次的保护。 信息量的机密性源于网络传输中通信量分析技术的产生,但不仅仅限于网络通 信量的分析,在本地的计算机系统中,一样存在类似的安全危险,因此,将它们统 称为信息量的机密性。 2 完整性 完整性用来确保信息没有被修改,也可以防止假冒的信息。对予一个计算机中 存储的信息来说,完整性的概念就是确保信息在存储的过程中没有被非法进行修改 或替换。 3 鉴别 硕士论文一种安全中间件的逻辑设计与接口实现 鉴别用来确认访问者的身份或消息的来源,防止冒充他人的行为发生。对于计 算机中存储的信息来说,鉴别的功能就是确保访问者的身份,如最简单的是使用口 令和密码来确保访问者的身份,安全一点的解决方案是通过u s bk e y 、i c 卡或其它 信息的令牌进行身份鉴别。 4 抵赖性 抗抵赖的功能是保证消息制造或发出者不能在事后否认他制作或发出的消息。 对于计算机中存储的信息,抗抵赖的功能就是确保文件在被合法授权用户修改后。 该用户不能否认自己做过这样的修改或创建这个文件的行为。这在传统的书面文件 中,可以使用手写签名来解决这个问题,相应的,对于数字信息,可以使用数字签 名来达到相同的目的。 对于网络信息传输的过程而言,抗抵赖的功能要求接受方能够验证消息的发送 方,同时要求发送方能够验证消息的接受方,并能够在发生争议后向第三方( 比如 法庭) 证明消息的发送方或接受方。 1 2 中间件技术概述 1 2 1 中阃件定义 中间件这一技术名词在国外出现在2 0 世纪9 0 年代初,当时用来指一种软件,它在 系统软件( 操作系统和网络软件) 与应用软件之间。有了这层处于中间的软件,就能 使远距离相隔的应用软件可协同工作( 互操作) ,如图1 2 1 1 所示; 应用软件 中间件 网络协议 操作系统 硬件平台 两者内含有 协同工作的 应用成分 应用软件 中间件 网络协议 操作系统 硬件平台 图1 2 1 1 中间件的定义 i d c ( 互联网数据中心) 的定义是:中间件是一种独立的系统软件或服务程序, 分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器 的操作系统之上,管理计算资源和网络通信【5 】中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软 2 硕士论文一种安全中问件的逻辑设计与接口实现 件。 中间件可以满足大量应用的需要:运行于多种硬件和o s 平台;支持分布式计算, 提供跨网络、硬件和0 s 平台的透明性的应用或服务的交互功能;支持标准的协议: 支持标准的接口。通过调用中间件提供的大量a p i ,实现异构环境的通讯,从而屏蔽 异构系统中复杂的操作系统和网络协议 4 1 。 1 2 2 中间件分类 宏观上,从中间件所起的作用上看可以分为三大类: 1 ) 数据类( d a t ai n t e g r a t i o n ) :用于数据的存取、利用和增值,此类中间件用 于构建以数据为中心的应用。 2 ) 处理类( p r o c e s si n t e g r a t i o n ) :把分布在网络结点上的各个应用或处理连接 在一起,形成一个统一的、协同工作的分布式应用。 3 ) 分布式构件类( d i s t r i b u t e dc o m p o n e n t s ) :支持构件式应用,这是应用的发 展方向。 据i d c 、g a r t n e r c r r o u p 等国际著名的咨询机构预测,尽管中间件的种类繁多,但 未来几年闻增长率最高的中间件将集中在应用服务器、消息中间件、交易中间件和应 用集成服务器等方面。近几年,随着互联网的发展,信息安全越来越受到普遍关注, 安全中间件也应运而生。 1 2 3 中间件优点 世界著名的咨询机构s t a a d i s hg r o u p 在一份研究报告中归纳了中间件的十大优越 缩短应用的开发周期 节约应用的开发成本 减少系统初期的建设成本 降低应用开发的失败率 保护已有的投资 简化应用集成 减少维护费用 提高应用韵开发质量 保证技术进步的连续性 增强应用的生命力 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单 硕士论文一种安全中间件的逻辑设计与接口实现 而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再 为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的 维护、运行和管理的工作量,还减少了计算机总体费用的投入。s t a n d i s h 的调查报告 显示,由于采用了中间件技术,应用系统的总建设费用可以减少5 0 左右。在网络经 济大发展、电子商务大发展的今天,从中问件获得利益的不只是r r 厂商,玎用户同样 是赢家,并且是更有把握的赢家。 其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系 统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、 数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们 以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。 1 3 安全中间件产生的背景及特点 安全中间件的产生有着深刻的用户需求。随着网络拓扑结构的日益复杂,许多 应用安全软件难以适应复杂多变的网络环境,尽管许多用户花费大量精力为各项应 用系统开发安全软件,但仍无法确保安全策略的一致性。面对移动办公的兴起,越 来越多的公司开始关注系统的伸缩性和可扩展性。而对于军事、政府等对安全有着 特殊要求的用户来说,产生不安全的因素大多是由众多安全产品及其操作系统引起 的。在一些用户看来,传统的“防火墙+ 入侵检测+ 防病毒产品”等安全产品集合而 成的安全模式开始受到挑战,安全产品实质上都是对网络层进行基本防护,而来自 企业内部的攻击者根本不受防火墙的监控,入侵者只要躲过入侵检测的过滤,就可 以合法访问服务器端口,并在无须认证和授权的情况下浏览服务器的内容和应用。 解决以上问题的需求就成为安全中间件发展的动力口z j 。 安全中间件把信息安全技术和中间件技术相结合。利用0 0 和组件技术,分析 各种应用系统中的公共安全服务请求,把这部分软件从整个系统中分离出来,提出 相应的安全服务接口使之成为通用的松耦合的软件,来解决目前信息安全领域软件 的高代价、易用性和互操作能力差等问题【3 射。 安全中间件又是连接安全产品和安全应用的纽带。它自身不能单独构成一个应 用系统,但在一个应用系统中担负着这样一个角色,它负责对一个应用系统中使用 者身份的识别、相关信息数字签名处理、传递的数据的加密等瞰】。它的重要责任是 保证一个应用系统的运行和其中保存的数据的安全。安全中间件可以跨平台操作, 为不同操作系统上的应用软件集成提供方便,满足用户对系统伸缩性和可扩展性的 要求。在频繁变化的企业计算机环境中,安全中间件能够将不同的应用程序无缝地 融合在一起,使用户业务不会因计算环境的改变遭受损失。同时,安全中间件屏蔽 硕士论文 一种安全中问件的逻辑设计与接口实现 了安全技术的复杂性,使设计开发人员无须具备专业的安全知识背景就能够构造高 安全性的应用。 安全中间件一般是基于p k i ( p u b l i ck e yi n f r a s t r u c t u r e ,公共密钥基础设施) 体 系思想,p k i 采用证书进行公钥( 公钥符合x 5 0 9 国际标准) 管理和身份认证阁。同 时,安全中间件还把公钥密码和对称密码结合起来,在i i l t e m c t 网上实现会话密钥 的协商,保证网上数据的安全传输,并向数据交换系统提供标准的、完整统一的安 全处理调用接口。目前,业界普遍认为一个比较完整的p k i 至少应包括以下部分的 内容:认证机构( c e r t i f i c a t e a u t h o r i t y ,c a ) 和注册机构( r e g i s t r y a u t h o r i t y ,r a ) 、 证书库、密钥备份和恢复系统、密钥和证书的注销更新系统、证书历史档案、应用 接口系统、交叉认证1 4 ”。 1 4 安全中间件技术在国内外的发展 国外对于安全产品的研究和开发已有较长的历史,企业和个人的安全意识相对 较强,安全产品的应用较为广泛。目前,公钥基础设施( p ) 被认为是必不可少的 安全体系结构。保证安全的主要方法是采用x 5 0 9 证书模型i 捌。其中,e n t r u s t 公司 是世界信息系统领域p k i 方案的卓越提供者,其e n t r u s t p k i 系列产品在最近五年 里已经成为事实上的工业标准。r s a 公司提出的p k c s # i i 规范是用于统一加密实 现的接口标准。这个标准的提出有两个目的,一个是屏蔽各种加密实现的差异,提 供统一的接口,增强安全技术的互揉作性;另一个是实现安全资源的共享,使得多 个应用请求可以共享有限的安全服务提供者。为了这两个目标,p k c s # 1 1 不仅提出 了一种接口,同时也提出了一整套的f r a m e w o r k 。可以说p k c s # 1 l 已经很类似于一 个安全中间件的规范。i n t e l 公司推出的c d s a 虽然还存在效率、通用性等方面的问 题,但确实是一个结构比较完善的安全中间件。 国内对于安全技术方面的研究已经进行了一段时间,但大多集中于基础算法等 方面,缺乏能透明支持应用的安全软件产品。另一方面,国内的中间件市场日趋成 熟,但大都集中于传统的消息中间件和交易中间件。而新一代的中间件产品,例如 基于c o r b a 规范的对象中间件产品和基于j 2 e e 的应用服务器产品则正在开发过 程中,成熟度较差。目前国内的主要产品有:东方通科技的t o n g s e c ,上海华腾软 件系统有限公司自主的安全服务管理器t o p s e c u r e 。 1 5 本文研究内容与组织结构 本文首先讨论了对安全中间件的进行安全保障的密码理论,主要阐述了对称算 法加密、公开密钥算法加密、数字签名技术以及综合了对称算法加密技术和公开密 5 硕士论文 一种安全中间件的逻辑设计与接口实现 钥算法加密技术的混合密码体制。然后在此基础上引入了一种运用公钥的概念与技 术来实施并提供安全服务的,具有普遍适用性的网络安全基础设施公钥基础设 施p k i 。在接下来的章节中讨论了安全中间件的主要组件、功能及包含的接口,详 细叙述了安全中间件的核心模块一密码服务模块和证书服务模块的设计思想:并 使用o p e n s s l 库实现相关模块的主要功能。 第一章绪论。介绍了本文的研究背景和目的,以及安全中间件在国内外的发 展现状。 第二章安全中间件的理论基础。包括介绍各类加密算法以及公钥基础设施 p k i 。 第三章安全中间件的总体设计。参考i n t e l 公司已提出的安全中间件模型 c d s a ,针对应用背景,给出本文中安全中间件的模型,简要介绍其组成模块以及 功能划分。 第四章安全中间件密码服务模块与证书服务模块的详细设计。此为本文的核 心部分。充分利用面向对象的思想,详细说明安全中间件的各个功能模块的具体设 计。 第五章用o p e n s s l 实现密码服务和证书服务。参照开源软件包o p e n s s l ,用 c 抖编程实现各个服务接口的功能,具体包括:密码服务的功能消息摘要,对 称加解密,非对称加解密,数字签名及验证,数字信封及拆封;p k i 认证体系的核 心部分c a 的基本功能生成自签名根证书,证书请求,证书生成,证书废止, 证书编码等。 第六章功能测试。对实现的各个接口测试,证明其正确性。并且用m f c 设计 简要界面以方便说明。 最后对本文所作的工作做了总结,指出存在的问题,提出了进一步研究方向。 6 硕士论文 一种安全中间件的逻辑设计与接口实现 2 安全中间件的理论基础 安全中间件是将加密技术和业务安全管理规则以软件实现的一个组合,其中加 密技术起着非常重要的作用,目前主要使用的加密技术有:公开密钥技术、对称加 密技术。本章首先介绍密码学的相关概念以及对称加密技术和非对称加密技术,然 后介绍混合密码体制,以及综合应用哈希函数和对称加密技术进行数字签名等。 最后介绍了采用非对称密码算法原理和技术来实现并提供安全服务的、具有通 用性的安全基础设施r p 。 2 1 密码学基础 最原始的密码学的作用是进行信息保密,即解决前面叙述的机密性问题。但现 代发展起的密码学功能已经远远超出了这个范围,它可以用来解决包括机密性、完 整性、鉴别以及抵赖相关的各种难题【l l 。 机密性问题是密码学最早关心的问题,也是核心的问题。目前针对机密性问题, 密码学提出了各种算法,主要分为对称加密算法和公开密钥算法。不管是什么算法, 都是为了在各种复杂和苛刻的条件下实现信息保密的功能,对称加密算法主要适用 于通信双方已经共享了秘密的密钥的情况,而公开密钥算法则适用于通信双方没有 共享的密钥的情况。目前常用的对称加密算法有d e s 、3 d e s 、a e s 等等,常用的 公开密钥算法有r s a 、d h 算法等等。 鉴别问题和抗抵赖问题在密码学中的解决不仅仅依赖密码算法本身,还依赖一 套严格执行的密码协议或网络协议。这些协议以密码算法为基础,达到了鉴别和抗 抵赖的功能。虽然设计一个好的密码协议并非如想象的那么容易。目前密码协议还 是种类繁多,我们熟悉的有k e r b c r o s 、s k i d 等,网络协议有s s l 、s e t 等。这些 协议基本上都具备了鉴别和抗抵赖的功能。 在研究加密算法及其技术之前,必须明确一些密码学相关的基本概念: 消息( 明文) :未被加密的信息。 密文:被加密的消息。 加密( e n c r y p t i o n ) :用某种方法伪装消息以隐藏其内容的过程。 解密( d e c r y p t i o n ) :把密文转变为明文的过程 密码算法( a l g o r i t h m ) :也叫密码( c i p h 盯) ,是用于加密和解密的数学函数。 假设发送者想发送消息给接收者,且想安全地发送消息:他想确信窃听者不能 阅读发送的消息。消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称 为加密( e n c r y p t i o n ) ,被加密的消息称为密文( c i p h e r t e x o ,而把密文转换为明文的过 7 硕士论文一种安全中间件的逻辑设计与接口实现 程称为解密( d e c r y p t i o n ) 。 现代密码学用密钥( k e y ) 解决了这个问题,密钥用k 表示。k 可以是很多数值里 的任意值。密钥k 的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥 ( 即运算都依赖于密钥、并用k 作为下标表示) ,这样,加密、解密函数现在变成【1 2 , 1 3 : e k i ( m ) d r 2 ( c ) = m 。如图2 1 1 所示: 加密k 1解密蛀 2 2 主要加密算法及技术 图2 1 1 加密、解密过程 目前主要的加密技术有:对称加密技术、公开密钥技术。其中对称加密技术基 于对称算法,公开密钥技术基于公开密钥算法( 非对称算法) l 。 2 2 1 对称密钥加密技术 对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来, 反过来也成立。在大多数对称算法中,加解密密钥是相同的,即k l = k 2 。这些算法 也叫秘密密钥算法或单密钥算法,它要求发送者向接收者在安全通信之前,商定一 个密钥。对称算法的加密和解密表示为:& 0 v t ) = c ,d k ( c ) f f im 【2 】。 对称算法的安全性依赖于密钥,泄漏密钥就意昧着任何人都能对消息进行加 解密。只要通信需要保密,密钥就必须保密。 对称加密技术的特点是,保密强度高,计算开销少,处理速度快,适合于大文 件加密。对称密钥密码技术的缺点是密钥分发管理困难。 对称密钥算法的强度主要是由密钥的长度决定的。密钥越长,破解难度越大。 密钥长度用比特表示,通常从4 0 b i t 到4 4 8 b i t 不等,目前对称密钥加密强度一般使 用到1 2 8 b i t 。 常用的对称加密算法有d e s 、i d e a 、a e s 等。其中最著名的是d e s ( d a t a e n c r y p t i o ns t a n d a r d ) ,是第一个成为美国国家标准的加密算法。 8 硕士论文一种安全中间件的逻辑设计与接口实现 2 2 2 非对称密钥加密技术 公开密钥算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解 密密钥不能根据加密密钥计算出来( 至少在合理假定的长时间内) 。之所以公开密钥 算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应 的解密密钥才能解密信息。在这些系统中,加密密钥叫做公开密钥( p u b l i ck e y ,简 称公钥) ,解密密钥叫做私人密钥( p d v a t ek e y ,简称私钥) 。这样每个用户都有两个 密钥,即公钥和私钥j 。 用公开密钥k 1 加密表示为:e k l ( m ) = c 用相应的私人密钥l c 2 解密可表示为:d 虹( c 产m 有时消息用私人密钥加密两用公开密钥解密,这用于数字签名。 非对称密码技术的特点是便于密钥的管理和分发,便于通信加密和数字签名。 它的缺点是处理速度较慢,特别是被加密的文件大时,计算开销很大【如l 。 非对称加密算法有r s a ,e l g g a m a l 等。最通用和最有名的是r s a l 2 1 1 r s a 的 密钥一个可贵的特点是可以互换,也就是说公钥和私钥都可以用于加密数据。 2 2 3 消息摘要 消息摘要( m e s s a g e d i g e s t ) 也叫散列( h a s h ) 函数,是一种单向杂凑函数,它可以 很容易地把明文变成密文( 消息摘要) ,却无法反向执行散列算法来恢复最初的明文, 而且创建或发现散列值为某个特定值的明文在计算上是不可行的。这些特性使得攻 击者无法在替换文件的同对确保散列值仍然匹配。适用于不需要把密文转换为明 文的场合,即不需要解密的场合。 假设明文为m ,哈希值为h ,哈希函数为h ,则哈希运算过程可用数学公式表 示如下: 哈希运算过程:h i i h ( m ) 其中h 是一个具有固定长度的数据,h 是一个不可逆函数,即m = h - 1 是不 可能的。根据具体算法的不同h 会有不同的过程,随算法的不同h 的长度也会改变。 散列算法非常多,如:m d 2 是r s a 公司提出的一个散列算法,它产生2 2 8 位 的摘要并且针对低端8 位微处理器进行了优化处理;m d 5 也是产生1 2 8 位的摘要, 但最优化处理所针对的是3 2 位处理器;s h a - i 算法针对高端处理器做了优化,它 产生1 6 0 位的摘要。 2 2 4 数字签名 数字签名( d i g i t a ls i g n a t u r e ) 在信息安全,包括身份认证,数据完整性、不可否 9 硕士论文 一种安全中间件的逻辑设计与接口实现 认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认 证以及电子商务系统中具有重要作用。数字签名是认证的重要工具l l 叼。 数字签名是指信息发送方使用自己的私有密钥对待发数据进行加密处理,产生 一段别人无法伪造的密文信息附在原文上一起发送,这段信息类似现实中的签名或 印章,接受方用发送方的公钥解开数据后对其进行验证,就可确定消息是否来自于 发送方。其过程为m j : 1 信息发送者使用事先商量好的哈希函数对信息生成信息摘要: 2 信息发送者使用自己的私钥加密信息摘要,得到文件的数字签名; 3 信息发送者把信息本身和己签名的信息摘要一起发送出去; 4 信息接收者通过使用与信息发送者一样的哈希函数对接收的信息本身生成 新的信息摘要,并使用信息发送者的公钥对收到的已签名摘要进行解密; 5 信息接收者将两个数据进行比较,如相同,则文件确实是该信息发送者所 发,并且信息没有被修改过。 对小文件的数字签名无需首先进行数字摘要,直接对原文进行加密即可;对于 大文件的数据签名,则预先用散列函数做数据摘要,再对数据摘要进行加密处理【3 7 1 。 如图2 2 4 1 所示,给出了结合数据摘要和数字签名,对大文件进行数字签名的过程。 采用数字签名,能够确认以下两点( 3 s i : 1 1 保证信息是由签名者自己签名发送的,签名者不能否认或难以否认: 2 ) 保证信息自签发后到收到为止未曾作过任何修改,签发文件是真实文件。 甲l 甲 : l 图2 2 4 1 结合数据摘要的数字签名 比 较 1 0 硕士论文一种安全中间件的逻辑设计与接口实现 2 2 5 数字信封 数字信封( d i g i t a l e n v e l o p ) 是公钥密码体制( p r o ) 在实际中的一个应用,是用加密 技术来保证只有规定的特定收信人才能阅读通信的内容。 在数字信封中,信息发送方采用对称密钥来加密信息内容,然后将此对称密钥 用接收方的公开密钥来加密( 这部分称数字信封) 之后,将它和加密后的信息一起 发送给接收方,接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使 用对称密钥解开加密信息。这种技术的安全性相当高。数字信封主要包括数字信封 打包和数字信封拆解,数字信封打包是使用对方的公钥将加密密钥进行加密的过 程,只有对方的私钥才能将加密后的数据( 通信密钥) 还原;数字信封拆解是使用 私钥将加密过的数据解密的过程。 数字信封的功能类似于普通信封,普通信封在法律的约束下保证只有收信人才 能阅读信的内容:数字信封则采用密码技术保证了只有规定的接收人才能阅读信息 的内容。数字信封中采用了对称密码体制和公钥密码体制。信息发送者首先利用随 机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的 对称密码被称之为数字信封。在传递信息时,信息接收方若要解密信息,必须先用 自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。 这样就保证了数据传输的真实性和完整性。数字信封打包及拆封过程如图2 2 5 1 所 刁隋。 甲l 甲 对公钥加密算法数公钥解密算法对 称字称 密信密 钥 封 钥 图2 2 5 1 数字信封 在一些重要的电子商务交易中密钥必须经常更换,为了解决每次更换密钥的问 题,结合对称加密技术和公开密钥技术的优点,克服秘密密钥加密中秘密密钥分发 困难和公开密钥加密中加密时间长的问题,使用两个层次的加密来获得公开密钥技 硕士论文一种安全中间件的逻辑设计与接n 实现 术的灵活性和秘密密钥技术高效性信息发送方使用密码对信息进行加密,从而保 证只有规定的收信人才能阅读信的内容。采用数字信封技术后,即使加密文件被他 人非法截获,因为截获者无法得到发送方的通信密钥,故不可能对文件进行解密。 2 3 公钥基础设施p k i 的研究 2 3 1 公钥基础设施简介 p k i 是一个用公钥密码算法原理和技术来实现并提供安全服务的具有通用性的 安全基础设施。二十世纪八十年代,p k i ( p u b l i ck e yi n f r a s t r u c t u r e ,公开密钥基础设 施) 诞生了。公钥基础设施是一个采用非对称密码算法原理和技术来实现并提供安全 服务的、具有通用性的安全基础设施,它采用证书管理公钥,通过可信第三方机构, 把用户的公钥和用户的其他标识信息绑定在一起,实现用户在i n t e r n e t 上的身份认 证,从而提供安全可靠的信息处型1 0 1 。它能够为所有网络应用提供加密和数字签名 等密码服务及所需的密钥和证书管理体系。p k i 所提供的安全服务以一种对用户完 全透明的方式完成所有与安全相关的工作,极大地简化了终端用户使用设备和应用 程序的方式,而且简化了设备和应用程序的管理工作,保证了他们遵循同样级别的 安全策略。简单来说,p k i 就是利用公钥理论和技术建立的提供安全服务的基础设 施。p k i 提供了一个框架,在这个框架内建立起了可以创建鉴定和认证过程需要的 身份和相关信任关系,建立了可以管理的公开密钥加密系统。从广义上讲,所有提 供公钥加密和数字签名服务的系统,都可叫做p k i 系统刚。 虽然公钥基础设施是建立在密码学的公开密钥算法的基础上,但其解决了仅仅 依靠密码学算法所无法解决的问题。公开密钥算法的密钥对能够实现对特定密钥对 的鉴别和验证,但是无法建立将特定密钥对和具体的个人身份联系起来的可信任关 系。 数字签名关键的问题是怎么确认那对先用于加密散列值,然后又用于解密散列 值的那对密钥是确实属于所声称的签名者。对于一个聪明的入侵者来说,因为公钥 是公开的,他可以通过某种方法用自己的公钥替换那个用于标识某个特定签名者的 公钥,公钥被发布后,他就可以用自己的私钥生成一个能够通过上述验证过程的数 字签名。所以,虽然拥有了公开密钥算法,但是算法本身并不足以确定一个可信任 的身份。 公钥基础设施正是为了建立这种信任关系而产生的,它的主要目的就是建立可 信任的数字身份,将特定密钥对和特定的人或实体联系起来,建立这种联系的主要 形式就是颁发可信任的数字证书,下节将详细介绍 硕士论文一种安全中间件的逻辑设计与接u 实现 2 3 2 数字证书 数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通 讯各方的身份,即要在i n t c r n c t 上解决“我是谁”的问题,就如同现实中我们每一 个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份或某 种资格。 数字证书认证中心( c e r t f i c a t ea u t h o r i t y , c a ) 是整个网上电子交易安全的关键 环节。它主要负责产生、分配并管理所有参与网上交易的实体所需的身份认证数字 证书。每一份数字证书都与上一级的数字签名证书相关联,最终通过安全链追溯到 一个已知的并被广泛认为是安全、权威、足以信赖的机构根认证中心( 根c a ) 【3 0 1 。 数字证书即是由权威公正的第三方机构即c a 中心签发的,以数字证书为核心 的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保 网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否 认性,从而保障网络应用的安全性。 数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。每 个用户拥有一把仅为本人所掌握的私有密钥( 私钥) ,用它进行解密和签名;同时 拥有一把公共密钥( 公钥) 并可以对外公开,用于加密和验证签名。当发送一份保 密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密, 这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的 私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有 用私有密钥才能解密。在公开密钥密码体制中,常用的一种是r s a 体制。 数字证书可用于:发送安全电子邮件、访问安全站点、两上证券、网上招标采 购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电 子交易活动等。 2 3 3p k i 技术相关标准 关于p k i 的标准化工作,目前世赛上有很多标准化小组,其中备受关注的有如 下几种: 1 x 5 0 9 标准 x 5 0 9 协议是i t u t ( 国际电联电信标准化部门,简称l t u - d 组织制定的有关标 准。在p i g 由小变大,由原来网络封闭环境到分布式开放环境的过程中,x 5 0 9 标 准起到了举足轻重的作用,它提出的证书概念使公钥技术变得可行。多种环境、多 种应用系统和众多生产厂商的采用,也表明了它的通用、灵活性以及它已经成为有 硕士论文 一种安全中间件的逻辑设计与接口实现 效国际标难的事实。许多与p k i 相关的协议标准( 如p k i x 、s m i m e 、s s l 、t l s 、 i p s * c ) 等都是在x 5 0 9 基础上发展起来的。 。 x 5 0 9 证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列 号、c a 标识符、签名算法标识、签发者名称、证书有效期等信息。这一标准的最 新版本是x 5 0 9v 3 ,它定义了包含扩展信息的数字证书【2 酊。 2 p k i x 标准 可互操作的p k i 标准是由i n t e r a c t 工程任务组( i e t f ) q 6 的p k i 工作组制订的一 系列r f c 文档组成,称为p k i x ( 1 l 【ix 5 0 9 认证的p k i ) 规范。其主要完成的工作有; 一,证书和证书撤销列表;二,证书管理协议;三,证书操作协议;四,证书策略 ( p c p ) 和认证管理陈述( c p s ) 结构。p k i x 在将p k i 概念应用到i n t e m e t 环境起到了举 足轻重的作用。 3 p k c s 标准 公开密码学标准p k c s ( p u b l i c k e y c r y p t o g r a p h y s t a n d a r d ) 是r s a 数据安全公司 制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩 展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议,该标准目前 己经成为p k i 体系中不可缺少的一部分。 2 3 4 p k i 组件 公钥基础设施并不是一个单一的设施,它由一系列的组件组成以完成其特定的功 能。p k i 由密码技术、数字证书、证书发放机构( c a ) 和注精机构( r a ) 等组成。p i e d 的组件分为如下几个部分 4 3 】,图2 3 4 1 表明了各部分之间的联系。当然在一个p k i 的 作用域中,并非所有设施都是必须的,例如有些设施如r a 可能并不需要【3 1 。 1 认证机构( c a ) c a ( c e r t i f i c a t ea u t h o r i t y ) 可以说是p 斑系统中的核心机构,负责确认身份和创 建数字证书,建立一个身份和一对密钥之间的联系【2 9 】。它通过自身的注册审核体系, 检查核实进行证书申请的用户身份和各项相关信息,使网上交易的用户属性客观真实 性与证书的真实性一致。认证中心作为权威的、可信赖的、公正的第三方机构,专门 负责发放并管理所有参与网上交易的实体所需的数字证书。作为一个程序员或技术人 员,通常可能将c a 跟证书签发服务器( 或说证书签发应用程序) 等同起来,事实上 远远不是如此。c a 是一个软硬件和服务的集合,包括了人、操作流程、操作规程和 认证策略、支持软硬件以及环境。一个成功的c a 必须制定一些规则,使申请者和证 书用户确信该c a 所确认的身份适用于自己的目的并且是可信任的。一个c a 是否能够 获得成功,可能更重要的是在于其管理因素而不是技术因素1 2 9 1 。 2 注册机构( r a ) 1 4 硕士论文一种安全中间件的逻辑设计与接口实现 r a ( r e g i s t r a t i o na u t h o r i t y ) 负责证书申请人的资料登记和初始的身份鉴别,还可能 需要接受证书用户提出的证书撤销等其它服务。事实上,r a 是一个可选的组件,在 很多时候,它所负责的功能并不需要独立出来,而是可以成为证书服务器的一部分。 一般来说,r a 最主要的职责就是接受申请人的申请请求,确认申请人的身份,然后 将确认了身份的申请请求递交给c a 。 3 证书服务器 证书服务器是负责根据注册过程中提

温馨提示

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

评论

0/150

提交评论