(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf_第1页
(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf_第2页
(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf_第3页
(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf_第4页
(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机软件与理论专业论文)基于pki、x509证书的移动代理安全认证研究.pdf.pdf 免费下载

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

文档简介

摘要 移动a g e n t ( m o b i l e a g e n t ,m a ) 是一个能在异构的网络中自主地从一台主机迁移到另 一台主机并可以与其他a g e n t 或资源交互的程序。而当前移动a g e n t 系统研究的首要问题 之一就是其安全问题,目前对移动a g e n t 系统的安全研究主要集中在移动a g e n t 间通信、移 动a g e n t 系统服务器资源的安全和移动a g e n t 自身的安全三个方面,针对其中的m a 认证安 全问题,本文在分析、研究移动a g e n t 系统的基础上,运用旨在解决网络信息安全问题的公 钥基础设施p i g 技术,深入探讨了用p i g 技术中x 5 0 9 v 3 数字证书与移动a g e n t 安全认证 所需的可行性和所需的a s n 。1 编码等相关知识、x 5 0 9 v 3 数字证书的标准基本格式分析了 实现移动a g e n t 系统所使用的j a v a 语言的远程方法调用( r m i ) 技术及移动a g e n t 系统的 组成结构,分析研究了移动a g e n t 系统所面临的安全问题,并提出了解决的安全模型。通过 安全套接字协议s s l 为移动a g e n t 系统间的安全通信提供了保障并提出了一个采用对称 加密算法和非对称公开密钥加密体制混合加密的s - p - p i g 认证方案,利用对称加密算法的快 速高效和非对称公开密钥加密体制的安全强度高、密钥易于分发的特点进行移动a g e n t 之间 或a g e n t 与主机及其它对象、实体间的安全认证,实现并以核心部分编程验证了上述移动 a g e n t 安全认证体系的有效性。 关键字:移动a g e n t 、p i g 、数字证书、r m i 、s s l a b s t r a c t m o b i l ea g e n t ( m a ) i sap r o c e d u r ew h i c hc a ne x c h a n g er e s o u r c e sw i t ho t h e ra g e n t so rb e t r a n s f e r r e di n t oa n o t h e rc o m p u t e rt h r o u g ht h ed i f f e r e n tn e t w o r k s t h ep r e s e n ti s s u et ob es o l v e di s t h es e c u r i t yp r o b l e mo fm o b i l ea g e n ts y s t e m ,n o w a d a y s ,t h er e s e a r c ha b o u tt h i ss y s t e m ss e c u r i t y i sm a i n l yf o c u s e do nt h em o b i l ea g e n t sc o m m u n i c a t i o n ,s e r v e r sr e s o u r c e s s e c u r i t yo fm o b i l e a g e n ts y s t e ma n dm o b i l ea g e n t ss e l fs e c a r i t y i na l l u s i o nt ot h e r e i n t oi d a c e r t i f i c a t ei s s u eo nb a s e o fa n a l y s i sa n dr e s e a r c ho nm o b i l ea g e n ts y s t e mt h i sp a p e rg o e sd e e pi n t od i s c i s st h ef e a s i b i l i t yo f m o b i l ea g e n ts e c u r i t yc e r t i f i c a t e ,k n o w l e d g er e l a t e dt oa s n 1c o d ea n dx 5 0 9 v 3d i g i t a ls i 印a t o m s t a n d a r db a s i cf o r m a tb yu s i n gx 5 0 9 v 3d i g i m ls i g n a t u r ei np i gt e c h n i q u e m a k ea n a l y s i so f m a l i z a f i o n o fr e m o t e m e t h o d i n v o c a t i o n ( r m i ) o f j a v a l a n g u a g e u s e d b ya m o b i l ea g e n ts y s t e m , a n dt h ec o m p o s i n gs t r u c t u r e ,a n da n a y l s eo fs e c u r i t yi s s u eo fm o b i l ea g e n ts y s t e mf a c i n ga n d b r i n gf o r w a r ds o v l i n gm o d e l a n d 晡n gf o r w a r das - p - p i ga u t h e n t i c a t i o np r o j e c tb l e n d i n g s y m m e t r ya l g o r i t h ma n da s y m m e t r ye n c l - y p t i o n ,u s i n g t h es p e e d i n e s sa n dh i 叻e f f e c t i o no f s y m m e t r ye n c r y p t i o na l g o r i t h m ,a n dt h ec h a r a c t e ro fh i g hs e c u r i t ya n ds e c r e tk e y se a s yt o d i s t r i b u t eo fa s y m m e t r yc a r r yt h r o u g hs e c u r i t yc e r t i f i c a t eb e t w e e nm o b i l ea g e n t so rb e t w e e nh o s t c o m p n t e r s ,o t h e ro b j e c t sa n de n t i t i e s , r e a l i z et h ec o r ep a r tp r o g r a m m et ov a l i d a t et h ev a l i d i t yo f a b o v em o b i l ea g e n ts e c o i t yc e r t i f i c a t es y s t e m k e yw o r d s :m o b i l ea g e n t , p i g ,d i g i t a lc e r t i f i c a t e r m i ,s s l 论文独创性声明 y7 7 5 4 5 3 本人声明所呈交的学位论文是我个人在导师指导下进行研究工 作所取得的研究成果。尽我所知,除文中已经标明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的研究成果;所涉 他人的所有研究成果,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 学位论文作者签名:驰诒 2 0 0 5 年6 月1 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权云南师范大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名: 指导老师签名:糯 2 0 0 5 年6 月1 日 基于h ( ix 5 0 9 证书的移动a g e n t 安全认证研究 第一章引言 1 1 移动a g e n t 系统安全性研究背景 移动a g e n t ( 即m o b i l ca g e n t ,m a 以下简记为m r ) 是一个在计算机网络中代表某个 用户完成特定任务的程序,它可以按事先安排的路线在网络中漫游,也可根据从网上收集的 信息动态地决定移动路线,具有自主性、移动性、协作性、安全性和智能性等特性f j n s ,2 0 0 0 】, m a 在网络管理、在线购物,实时控制、智能信息检索以及分布式领域中具有广泛应用前景。 移动a g e n t 技术对传统分布式应用产生了巨大的影响,但由于i u t c m e t 网络的开放性和 移动代理的移动性、自主性,是否具有足够的安全性和可靠性成为影响m a 应用的关键问 题。 m a 系统是由多个m a 作为结点构成的一个网络子系统,它的安全问题主要在m a 系 统的服务器资源安全、移动代理的安全和通信中的安全三个方面【邓卫2 0 】。 服务器资源的安全:由于移动a g e n t 服务器允许不同的代理程序驻留访问,使得服务器 有可能面i i 岛各种恶意代理程序的攻击 m o n t2 0 0 1 】。 m a 的安全:当m a 在其它的m a 服务器上运行时,m a 程序及其所携带的敏感数据对 其它m a 服务器都可能是暴露的,如果该m a 服务器是恶意的,或是被攻击者侵占或假冒 的情况下,它可能对i d a 进行各种攻击。 通信的安全:在基于m a 系统的分布式应用系统中,由于髓络的开放性,攻击者可能 通过窃听信息、身份假冒、篡改数据等手段在数据传输、通信链接等过程中对m a 发起主 动或被动的攻击 m o n t2 0 0 1 r o t h1 9 9 8 g u a n2 0 0 3 】因此必须采用签名认证、数据加密等安 全措施以防范数据传输过程中的损失。 为实现代理安全访问,可以构建基于p k i 的移动代理安全访问控制体系,利用x 5 0 9 公钥认证来确保数据的完整性、保密性一身份的确定、不可否认性。 完整性:数据的完整性就是确认m a 的数据没有被修改,即无论是传输还是存储过程 中的a g e n t 的信息资源( 数据、代码、运行状态) 没有被修改。 保密性:即确保m a 的机密性除了指定的实体对象外,非法月 授权实体对象不能读 出这些受保护的数据。保密性可以防止被动攻击而对传送的数据加以保护。并可保护通信流 被分析攻击。 1 基于p k ix 5 0 9 证书的移动a g e n t 安全认证研究 身份确定性;为保证m a 通信的可靠、有效,通信a g e n t 双方都需要确认对方身份的真 实性以确保信息来源的可信性、真实性、防伪冒性。 不可否认性:避免在m a 通信中涉及到的实体( 包括a g e n t 、交互程序代码、进程等) 2 - 一都不承认参加本次通信的全部或部分过程与内容。 1 2 移动a g e n t 系统安全研究现状 由于m a 是一个能在异构的网络中自主地从一台主机迁移到另一台主机,并可以与其 它的a g e n t 资源进行资源交互的程序,因此当m a 在迁移时,由于网络的开放性m a 面临 着安全威胁,目前对于m a 系统安全性的研究主要集中在m a 间通信、m a 服务器资源( m a 平台) 、m a 自身安全三个方面( 可参阅综述部分第二章) 。 1 3 本文的主要研究内容 本文旨在研究解决m a 系统在安全方面的问题,通过j a v a 下的r m i ( 远程方法调用) 实现一个简单的移动a g e n t 系统,并在此基础上通过s s l 协议及使用p i g ( p u b l i ck e y i n f r a s t r u c t u r e 公开密钥体制】和5 0 9 数字证书技术来实现信息的有效性、机密性、完整性 和不可否认性,保护移动a g e n t 的安全。 本文所研究的内容属于信息安全领域,由于公钥体制下的x 5 0 9 数字证书生成涉及到编 码的问题,所以在本文第二章简要介绍了p 瞰技术;第三章介绍了与x 5 0 9 证书有关的a s n 1 编码、b e r 、d e r 编码规范;5 0 9 证书的基本标准及格式。第四章给出了基于3 a v a 语言 p , m i 技术、移动a g e n t 系统的组成,分析了移动a g e n t 系统的安全问题并提出了解决这些 问题的安全体系结构模型。第五章则通过对s s l 协议的分析提出一个采用对称和非对称 加密算法混合加密的s - p - p k i 认证方案来实现n 协间的安全认证,并进行了验证。 2 基于p k ix 5 0 9 证书的移动a g e n t 安全认狂研究 第二章公钥密码基础设旌 公钥基础设施( p u b l i ck e yi n f r a s t u r c t u r e ,p k i ) 是2 0 世纪8 0 年代由美国学者提出来的 概念,公钥基础设施( p k i ) 是信息安全基础设施的一个重要组成部分,是一种普遍适用的 网络安全基础设施。实际上,授权管理基础设施( p m i ) 、安全时间戳服务系统、安全保密 管理系统、统一的安全电子政务平台等的构筑都离不开它的支持【黄茹芬2 0 0 4 。作为提供信 息安全服务的公共基础设施p k 是目前公认的保障嘲络社会安全的最佳体系。 2 1p k i 的概念 公钥基础设施( p u b l i ck e yi n f t a s t u r c t u r e ,p k l ) 是一个采用公开密钥技术和数字证书等 来确保系统信息安全并负责验证数字证书持有者身份的一种体系【李建廷2 0 0 4 1 。它通过标准 的接口为电子商务和电子政务等安全性要求较高的网上信息交流活动提供必需的认证f 刘知 贵2 0 0 4 】、保密和不可抵赖服务【杜明艳2 0 0 4 。除了提供这些核心服务之外,在p k i 基础上, 还提供安全公证服务、安全时间戳服务、数据完整性服务等p k l 支撑服务【陈飞2 0 0 4 。它采 用证书管理公钥,通过可信第三方机构,把用户的公钥和用户的其他标识信息绑定在一起, 实现用户在i n t e r a c t 上的身份认证,从而提供安全可靠的信息处理【张岩2 0 0 4 【柯毅敏2 0 0 4 。 2 2p k i 的组成 p k i 作为一种在分布式计算系统中利用公开密钥技术和x 5 0 9 证书所提供的安全服务, 企业或组织可利用其相关功能或产品建立安全域,并在其中发布密钥与证书。在安全域内, p k i 管理加密密钥和证书的发布,并提供诸如密钥管理( 包括密钥更新,密钥恢复和密钥委 托等) 、证书管理( 包括证书产生和撤销等) 和策略管理等。p k i 产品也允许一个组织通过 证书级别或直接交叉认证等方式来同其他安全域建立信任关系【陈涛2 0 0 4 。这些服务和信任 关系不能局限于独立的网络之内,而应建立在网络之间和i n t c m c t 之上,为电子商务和网络 通信提供安全保障,所以具有互操作性的结构化和安全标准化技术成为p k i 的核一i ) a n d e r w 2 0 0 2 】【李胜勇2 0 0 5 。 一个典型的p k i 系统如图2 1 所示,其中包括p k i 策略、软硬件系统、证书机构c a ( c a i f i c a t ca u t h o r i t y ) 、注册机构r a 、证书发布系统和p k i 应用等【黄茹芬2 0 0 4 i ? & i e 兰 3 基于p k ix 5 0 9 证书的移动a g e n t 安全认证研究 圄 圄 圄 :一 匡司匡司i 图2 1 p k i 安全策略建立和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统 使用的处理方法和原则 证书机构c a ,又称为证书授权中心或认证中心,是p k i 的核一f i , ,是p k i 应用中权威的、 可信任的、公正的第三方机构,专门负责发放并管理所有参与网上交易的实体所需的数字证 书,它负责管理公钥的整个生命周期包括:发放证书、规定证书的有效期和通过发布证书 注销列表( c r l ) 确保必要时可以废除证书 注册机构r a 提供用户和c 之间的一个接口,它获取并认证用户的身份向c 提出证 书请求 证书发布系统负责证书的发放。如可以通过客户端、主机,或是通过耳录服务器进行证 书发放。目录服务器可以是一个组织中现存的,也可以是p k i 方案中提供的。 p k i 的应用非常广泛包括在w e b 服务器和浏览器之间的通信、电子邮件、电子数据交 换( e d i ) 、在i n t e r n e t 上的电子商务、电子政务、信用卡交易和虚拟专用网( v p n ) 等。 4 基于p k ix 5 0 9 证书的移动 b e n t 安全认证研究 第三章x 5 0 9 数字证书标准及其基本格式 在p k i 及x 5 0 9 中使用各种数据结构时,必须用到a s n 1 语法和相应的编码,下面我 们首先对编码进行分析研究。 3 i 介绍 众所周知软件开发管理最主要的设计原理就是抽象,通过抽象。设计者可以定义系统 的一部分而不需要关心这部分实际上如何实现或如何表示。这一方法使得实现很开放它简 化了定义过程,使得在实现部件之前可以声明某些“公理( a x i o m s ) ”、并且在设计高层部 件时假定下层部件是可以实现的。抽象是现代多数规范软件的特点。 作为当今最复杂的软件系统之一,开放系统互联( o s i ,o p e ns y s t e mi n t e u m n n e c t i o n ) 是一个集中应用了大量抽象的例子o s i 是一个国际通用标准体系从物理层一直到用户应 用层。整合管理着计算机之间的互联高层次的对象被抽象定义,并通过底层的对象来实现。 例:某层的一个服务可能需要在计算机之间传递某个抽象的对象,某一底层则可能提供关于 0 ,1 串的实现,利用一些编码规则把高层的抽象对象转换成这些0 - 1 串。o s i 之所以被称为 开放系统是因为它在每一层上支持不同的服务实现。o s i 定义抽象对象的方法称为a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ,x 2 0 8 ) ,把这些转换成“0 ”和。1 ”的位串的一套规则称 为b e r ( b a s i ce n c o d i n gr u l e s ,x 2 0 9 ) 。a s n 1 是一套灵活的记号,它允许定义多种数据类 型,从i n t e g e r 、b i ts t r i n g 一类的简单类型至结构化类型如s e t 和s e q u e n c e ,还可以使用这 些类型构建复杂类型。b e r 说明了如何把每种a s n 1 类型的值编码为8 b i t 的字节( o c t e t ) 流。通常每个值有不止一种的b e r 编码方法,一般使用另一套编码规则d e r ( d i s t i n g u i s h e d e n c o d i n gr u l e s ) ,它是b e r 的一个子集,对每个a s n 1 值只有唯一的编码方法 a s n i ,1 9 9 1 1 。 3 2a s n i 概述 在a s n 1 中,一个类型就是一个值的集合,有些类型的值是有限的,有些则有无限多 个。一个给定的a s n 1 类型的值是该类型集合里的一个元素。a s n 1 有四种类型:简单类 型( s i m p l et y p e ) ,它相当于原子,没有组件( c c p e n 砷:结构类型( s t m c t u r e dt y p e ) ,有组 件:标记类型f i a gt y p e ) 由其他类型生成:其他类型,包括c h o i c e 和a n y 类型。可以使用 5 基于p k ix 5 0 9 证书的移动a g e n t 安全认证研究 a s n 1 的分配符( := ) 给定类型的值指定名字,这些名字可以用于定义其它类型名值。除 c h o i c e 和a n y 类型外,每种a s n 1 类型都有一个标签,由一个类和一个非负的标签数组成。 标签值可以唯一区分a s n 1 的类型。也就是是说,a s n 1 类型的名字并不影响它的担负含 义,只有标签才有这个作用。a s n 1 类型的标签共有四类: u n i v e r s a l ( 全局类型) l 该类型的含义在所有的a p p l i c a t i o n 中都相同。 a p p l i c a t i o n ( 应用类型) i 该类型的含义由a p # i c a t i o n 决定。两个不同的a p p l i c a t i o n 中 的类型可以具有相同的a p p l i c a t i o n - s p e c i f i c 标签但是有不同的含义。 p r i v a t e ( 私有类型) 。该类型的含义根据给定的企业而不同。 c o n t e x t - s p e c i f i c ( 上下文特定类囊) l 该类型的含义根据给定的结构类型而不同该标 签用于在一个给定的结构类型上下文中区分使用相同的下层标签的组件类型。在两个不同的 结构类型中组建类型可以具有相同的标签但是含义不同 具有u n i v e r s a l 标签的类型在x 2 0 8 中定义给出图3 1 列出了部分a s n 1 的 u n i v e r s a l - c l a s s 标签 t a g 加m b c r ( 标签号)t a gn u m b e r ( 标签号) d p e ( 类型) 十进行制表示十六进行制表示 盯旺 g e r 20 2 b r r s t 矾g30 3 o c t e ts t r i n g 40 4 n u l l 50 5 o i l j e c ti d e n n f r60 6 s e q u e n c e a n ds e q u e n c f x ) f 1 6 1 0 s e t a n ds e to f1 71 1 p f i n t a b l e s t r i n g 1 91 3 t 6 1 s t d n g 2 01 4 i a 3 s t r i n g 2 21 6 u t c n m c 2 3 1 7 图3 1 下面分别介绍a s n 1 中的简单类型、结构类型、隐式和显示标签类型及其他类型。 6 基于p k ix 5 0 9 证书的移动a s e n t 安垒认证研究 3 2 1 简单类型 简单类型没有子组件,是原子级的类型。a s n 1 定义了几个简单类型其中与p k c s ( p u b l i c - k e yc r y p t o g r a p h ys t a n d a r d s ) 标准有关的类型如下: b i ts t r i n g :由0 和】任意组成的位串 i a s s t r i n g :任意由a s c i i 字符组成的字符串 i n t e g e r :一个任意的整数 , n u e l :n u l l 值 o o 啪i d e n 3 3 f i e r - 对象标识符,由一串整数寒标识一个对象 , o c t e ts t r i n g :任意的8 元组 p r i n t a b l e s t r i n g :一串任意可打印字符 t 6 1 s t r i n g = t 6 l 字符的任意字符 lm 皿m :“c o o r d i n a t e du a i v e r s a tt i m e ”瓤“g r c e e w i c h 日n 辩( g 搬1 “的值。 简单类型分为两类:s t r i n g 类型和n o n - s t r i n g 类型b i ts t r i n g 、 a s s t r i n g 、o c t e t s t r i n g 、p r i n t a b l e s t r i n g 、t 6 1 s t r i n g 和1 r r c 墨i 是s t r i n g 类型。考虑到编码,s t r i n g 类型可 以看作由组件组成,组件是s u b s t r i n g 。这样即使事先不知道值的长度也可以使用结构化的、 不定长的编码方式进行编码 s - p - f k i :请求1l c e r b s - p p k i 一 i i - a :e k r c a c e r b it m a - ) 幔_ b :e s p k b e s k r a k sjj r j j 其中“旷表示“串联”,e 表示用给定的秘钥加密信息,d 为用给定的秘钥进行解密, t 为时间戳。k s 为随机生成的会话密钥,步骤为a 向s - p - p k i 服务嚣发出请求,请求 获取i l a _ b 的证书;为s p p k i 服务器用自已的私钥将m ab 的证书及时间戳加密后发给 m a _ a ,m ar 在收到后用s p _ p k i 服务器的公钥解密验证了证书的真实性。最后一部分 e s p k b e s k r a k s lj t 实际为a 的签名,从而实现了m a _ b 对m ar 的认证达到了双向认证 基于p k ix 5 0 9 证书的移动 g e n t 安全认证研究 的目的。 ( 3 ) m a _ a 与m ab 间安全通信过程 在进行了身份认证后,接下来就是移动a g e n t 问的安全通信,采用混合加密体制来对数 据进行加密以保证安全传输,具体的过程如图5 6 所示:其中e 表示加密,c 表示m a c ( 消 息验证码) 函数( 如m d 5 、s h a - i 等) ,d 表示解密,s p k b 为m ab 的证书的公钥,s r k b 为m ab 的证书私钥。l ( s 为使用对称加密算法随机生成的会话密钥。 虚线左边部分为对m aa 所维护管理的m a 进行加密并发送到m a _ b 的过程,整个过 程可由下式表示: m a _ a - - m a _ b :e s p k b m a l c k s e s p k b m a l l l k s 在接收方m a _ b 通过d s r k b e s p k b ( m a ) 得到明文m 同时利用消息验证函数c 比较两 次所得的消息认证码是否相等,若相等则说明数据未被篡改。 m a _ a 加密 图5 6 5 2 2 实现 m a _ b 解密 通过实现证实所提出的移动a g e n t 系统s - p - p k i 体系的可行性、有效性的模拟实验 ( 1 ) 实验环境:操作系统为w i n d o w s 2 0 0 3s e v e r 、所用开发工具为s u n 公司提供的j a v a 语言的开发工具包j 2 s d k l 4 1 _ 0 2 。 ( 2 ) j a v a 语言提供了核心的j a v a 安全体系结构j s a ( j a v as e c u r i t y a r c h i t e c t u r e ) 和 j a v a 加密体系结构j c a ( j a v ac r y p t o g r a p h y a r c h i t e c t u r e ) ,主要由j a v a 密码术扩展j c e ( j a v a c r y p t o g r a p h ye x t e n s i o n ) 、j a v a 安全松套接字扩展j s s e ( j a v a s e c u r es o c k e t 2 6 基于p k ! x 5 0 9 证书的移动a g e n t 安全认证研究 e x t e n s i o n ) 以j a v a j 3 1 t t 和授权服务j a a s ( j a v aa u t h e n t i c a t i o na n d a u t h o r i z a t i o n s e r v i c e l 三个部分组成。如图5 7 所示: 图5 7 j a a s :提供了灵活和可伸缩的机制来保证客户端或服务器端的j a v a 程序。j a v a 早期 的安全框架强调的是通过验证代码的来源和作者。保护用户避免受到下载下来的代码的攻 击。 j c e :它是s u n 的加密服务软件,包含了加密和密钥生成功能。j c e 是j c a 的一种扩展 j s s e :是s u n 公司为解决在i n t e r a c t 上的安全通讯而推出的解决方案。它实现了s s l 和 t s l ( 传输层安全) 协议。在j s s e 中包含了数据加密,服务器验证消息完整性和客户端 验证等技术。通过使用j s s e 。可以在客户机和服务器之间通过t c p f t p 协议安全地传输数据 ( 3 ) 在实现过程中用到了j c a 提供的类 随机数生成类lj d k 提供了一个j a v a s e c u t i t y s e c u r i t y s e c u r e r a n d o m 类,它使用s h a - 1 摘要算法来产生强度更大的随机数。 r a n d o mr a n d = n e wr a n d o m o ; b y t e 【ls s | t m n e wb y t e 1 2 ; r a n d n e x t b y t e s ( s a l o ; 密钥类:j a v a s e c u r i t y k e y 接口封装了密码学的密钥概念。以下接口扩展了k e y 接口, 分别代表了密码术中的公钥、私钥以及对称密钥。 j a v a s e c u r i t y p u b l i c k e y j a v a s e c u r i t y p r i v a t e k c y j a v a s e c u r i t y s e c u e t k e y 密钥生成类:主要包括两类,一类用于生成非对称密钥( k e y p a i r g e n e r a t o r ) ,一类用于 生成对称密钥( k e y g e n e r a t o r ) 2 7 基于p k i 】l6 0 9 证书的移动a g e n t 安全认证研究 非对称密钥: k e y p a i r g e n e r a t o rk p g = k e y p a i r g e n e r a t o r g e t l n s t a n c e ( r s a ;创建密钥对生成器 k p g i n i t i a l i z e ( 1 0 2 4 ) ;初始化密钥生成器 y p a i rk p = k p t g e n k e y p a i r 0 ;生成密钥对 p u b l i c k e yp b k e y f k p g e t p u b l i c o ;获取公钥 p d v a t e k e yp r k e y = 印g e t p r i v a t e 0 ;获取私钥 对称密钥: k e y g e n e r a t o rk g = l 沁y g e n e r a t o r g e t l n s t a n e e ( d e s ) ;创建密钥生成器 k g j n i t ( 5 6 ) :初始化密钥生成器 s e e r e t k e yk e y = k g g e n e r a t e k e y 0 ;生成密钥 完成数字签名与验证的部分代码:同其它的密钥术的概念一样,要应用签名算法,只 能遵循相同的规范。 即使用密钥对k e y 中的私钥对明文p l a i n t e x t 进行签名 b y t e 【】p l a i n t e x t = s 泗a m r es i g = s i g n a t u r e g e t l n s t a n e e ( m d 5 w i t h r s a ) ;获取签名对象 s i g i n i t s i g n ( k e y g e t p r i v a t e o ) ;初始化签名对象 s i g u p d a t e o l a i n t e x 0 ;传入要签名的数据 b y t e 】s i g n a t u r e = s i g s i g n o ;执行签名 签名的验证 s i g n a t u r es i g = s i g n a t u r e g e t l n s t a n e e ( m d 5 w i t h r s a ) ;获取签名对象 s i g i n i t v e d f y ( k e y g e t p u b l i c o ) ;通过s i g n a t u r e 对象的i n i t v e r f y o 方法初始化s i g n a t u r e 对象 s i g u p d a t e ( p l a i n t e x t ) ;传入要签名的数据 s i g v e f f y ( s i g n e d d a t e ) ;用签名检验原始数据 加,解密方式的设定的方法; j a v a 中的j a v a x c r y p t o c i p h e r 类负责处理对数据的加密和解密,可以处理对称和非对称 的加密算法也可处理不同的填充模式。使用c i p h e r 可以按以下三个步骤 通过c i p h e r 的工厂方法g e t l n s t a n e e0 获得一个满足需要的c i p h e r 实例。 初始化c i p h e r 类。根据加密或解密的实际情况,使用i n i t ( ) 方法初始化c i p h e r 基于p k i ) l5 0 9 证书的移动a g e n t 安全认证研究 类。该方法接受一个加解密模式( c i p h e r e n c r y p tm o d e 或者c i p h e r d e c r y p tm o d e ) , c i p h e r e n c r y p t _ m o d e 表示将对数据进行加密处理,c i p h e r d e c r y p t _ m o d e 模式表示将对加 密数据进行解密操作。以及接受一个密钥来确定是采用对称还是非对称。 使用u p d a t e o 和d o f i n a l 0 p 亨法加密或解密数据 下面是一个使用a e s c b c p k c ! s 7 p a d d 吨模式加密的方法 c i p h e rc i p h e r = c i p h e r g e t l n s t a n c e ( ”a e s c b c p k c s 7 p a d d i n g ”) ; c i p h e r 1 n i t ( c i p h e r e n c r y p t _ m o d e , k e y ) : b y t e r a w = e i p h e r d o f i n a l ( s t r i l l l g b y t e s ) : ( 3 ) j d k 中的数字证书及相关操作: s u n 的j d k 对数字证书的操作提供了较完善的支持,通过使用j a v a 的a p i 方法,能将 数字证书的几乎所有功能集成到应用程序中因为j a v aa p i 的体系结构提供了相应的类如 s u b 。s e e u d t y + 、j a v a s e c u r l t y c e r t c e r t i f i c a t e 、j a v a 。s e c u r i t y c e r t * 等,支持在应用程序中进行证 书操作。 j d k 同时还提供了管理数字证书的实用程序k e y t o o l 。用户可通过用k e y t o o l 工具来生成、 导入和导出证书上。本文即通过该工具分别生成两个白签的证书来进行实验。图5 8 为用 k e y t o o l 工具采用r s a 算法生成一个别名为c h a 的证书的过程。 图5 ,8 2 9 基于p k ix 5 0 9 证书的移动a g e n t 安全认证研究 图5 9 为用k c y t o o l 导出别名为c c r a 并产生一个名为c e r a c e r 证书文件的过程。 图5 9 图5 1 0 生成的x 5 0 9 数字证书文件c e r a c e r 在w i n d o w s 下显示的内容 图5 1 0 图5 1 1 为从证书c c r a o e r 读出的签名和证书的公钥。 基于p k ix 5 0 9 证书的移动a s e n t 安全认证研究 图5 1 1 ( 4 ) 实现过程中用到的关键代码: 生成安全随机数代码: s e c _ r a n d = s e c u r e r a n d o m g e t l n s t a n c e ( 。s h a l p r n g , 。s u n ”) ; 生成消息验证码: m a cm a c = m a c g e t , i n s t a n c e ( ”h m a c s h a l ”,。s i j n ”) s e c _ r a n d n e x t b y t e s ( m a c _ k e yb y t e s ) ; k e ym a ck e y = l l e ws e c r e t k e y s p e c ( m a c _ k e yb y t e s , 。h m a c s h a l ”) ; m a c i n i t ( m a c _ k e y ) ; 用对称加密a e s 算法生成1 2 8 位密钥的代码: k e y g e n e r a t o rk e y _ g e n = k e y g e n e r a t o r g e t l n s t a n c e ( a e s ”,”s u n ”) ; k e y _ g e n i n i t 0 2 8 ,s e cr a n d ) ; k e ya e s _ k e y = k e y _ j g e n g e n e r a t e k e y 0 对密钥进行初始化并设置为加密方式的代码: c i p h e ro u t p u t _ c i p h e r = c i p h e r g e t l n s t a n c e ( ”a e s c b c p k c s 7 p a d d i n g , s u n ”) ; o u t p u l c i p h e r i n i t ( c i p h e r e n c r y p t _ m o d e ,a e sk e y , s e c _ r a n d ) ; 以下为读取证书公钥的代码: b y t e a r r a y i n p u t s t r e a mb _ i n = n e wb y t e a r r a y l n p u t s t r e a m ( r a w ) ; c e l t i f i c a t e f a c t o r y c f = c e r t i f i c a t e f a c t o r y g e t l n s t a n c e ( ”x 5 0 9 ”) ; x s 0 9 c e r t i f i c a t e x _ c e l t = ( x s 0 9 c e r t i f i c a t e ) c f g e n e r a t e c e r t i f i c a t e ( b _ i n ) ; d e s l k e y 2x _ c e l t g e t p u b l i c k e y o ; 基于雎ix 5 0 9 证书的咎动 g e n t 安全认证研究 第六章结束语 本文完成的主要工作有: 1 分析研究了p k i 技术及x 5 0 9 数字证书,与x 5 0 9 证书相关的a s n 1 语法、b e r 编 码的规则、d e r 编码规则。 2 分析了实现移动& g e n t 系统所使用的r m i ( 远程方法调用) 技术及移动a g e n t 系统的 组成部份,研究了移动a g e n t 系统所面临的安全问题,并提出相应的安全模型。 3 提出一个基于对称、非对称混合加密实现移动a g e n t 系统安全认证的s - p - p k i 方案。 4 模拟实现了此s - p p k i 方案的认证,证实了该方案的可行性和有效性。 由于时问、精力、技术的有限性及作者自身研究基础和认识能力方面的不足,还有大量 的研究需要我们进一步深入研究将来的工作主要在以下几个方面: 1 采用更为安全、快速的非对称密钥算法进行认证。如可选用椭圆曲线密码体制( e l l i p t

温馨提示

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

评论

0/150

提交评论