




已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)基于公共密钥基础设施的小型认证中心的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉科技大学硕士学位论文第1 页 摘要 互联网技术的迅速发展,极大地改变了人们的生活和工作方式,同样也带来了许多安 全隐患,如信息的窃取、修改等。为了解决网络环境的信息安全问题,经过世界各国的研 究,初步形成了一套完整的解决方案,即p k i ( p u b l i ck e yi n f r a s t r u c t u f e ) 技术。p k i 是利用公钥理论和技术建立的提供信息安全服务的基础设施,它建立在公钥技术基础上, 以数字证书为媒介,将用户的标识信息和各自的公钥捆绑在一起,其主要目的是通过管理 密钥和证书,为用户建立起一个安全、可信的网络运行坏境,使用户可以方便地使用加密 和数字签名技术,在网络上验证用户的身份,从而保证了互联网上传输信息的真实性、完 整性、机密性和不可否认性。目前,p k i 广泛地应用于电子商务、电子政务、网上银行、 网上证券等领域。 本文首先从网络的安全需求出发,引入了p k i 的概念,综述了p k i 技术目前的发展和 研究状况,分析了应用p k i 的必然性和意义。在对密码学进行研究的基础上,系统地介绍 了对称密码体制和非对称密钥体制;接着本文阐述了p k i 的体系结构、安全服务、相关标 准及其应用,最后在p - k i 相关理论和实现技术研究的基础上,提出了一个小型c a 系统的 总体设计思想,并着重研究了证书的申请、发放和撤销的实现过程。 关键词:公共密钥基础设施数字证书认证中心o p e n s s l 集i i 页武汉科技大学硕士学位论文 t h er e s e a r c ha n dd e s i g no fm i n i t y p ec e r t i f i c a t i o na u t h o r i t yb a s e d o np u b l i ck e yi n f r a s t r u c t u r e a b s t r a c t t h er a p i dd e v e l o p m e n to ft h ei n t e m e th a sg r e a t l yc h a n g e dp e o p l e sl i f ea n dw o r k i n gs t y l e , m e a n w h i l e ,i tb r i n g sm a n ys e c u r i t yp r o b l e m s f o re x a m p l e ,s e c u r i t yi n f o r m a t i o no nt h ei n t e r n e t c a nb ee x p o s e da n dm o d i f i e de t c t oa d d r e s st h es e c u r i t yp r o b l e m so ft h en e t w o r k ,as e to f i n t e g r a t e dp r o j e c th a sb e e nr e s e a r c h e da n dd e v e l o p e db ym a n yc o u n t r i e s ,t h a ti sp u b l i ck e y l n f r a s t r u c t u r e ( p k i ) p k ii s ap o w e r f u li n f r a s t r u c t u r ew h i c hc a np r o v i d ei n f o r m a t i o ns e c u r i t y s e r v i c e s i ti sb u i l to nt h eb a s i so fp u b l i ck e y , u s i n gd i g i t a li da sm e d i u mt oc o m b i n e i d e n t i f i c a t i o ni n f o r m a t i o no fu s e r sw i t ht h e i ro w np u b l i ck e y i t sm a i np u r p o s ei st oe s t a b l i s h s e c u r ea n dr e l i a b l eo p e r a t i n ge n v i r o n m e n to fi n t e m e tf o rt h eu s e r st h r o u g ha d m i n i s t r a t i o no f p r i v a t ek e ya n dc e r t i f i c a t e w ec a nv e r i f yo t h e ru s e ri d e n t i t yb yd i g i t a ls i g n a t u r ea n de n c r y p t i o n t e c h n o l o g yc o n v e n i e n t l y p k ic a na s s u r et h ei n f o r m a t i o nt r a n s f e r r e db y i n t e r n e to fc o n f i d e n t i a l i t y i n t e g r i t y ,p r i v a c ya n dn o n r e p u d i a t i o n a tp r e s e n t ,t h ep k ii sw i d e l ya p p l i e di nt h ef i e l d so f e c o m m e r c e ,e g o v e r n m e n t ,o n l i n eb a n k ,o n - l i n es e c u r i t i e sa n ds oo n f i r s t l y , t h i sp a p e rp r o p o s e dt h ec o n c e p to fp k ia c c o r d i n gt ot h es e c u r i t yr e q u i r e m e n t so n t h ei n t e r n e t ,s u m m a r i z e dt h ec u r r e n ts t a t u so fr e s e a r c ha n dd e v e l o p m e n to fp k i ,a n da n a l y z e d t h en e c e s s i t ya n ds i g n i f i c a n c e a f t e rr e s e a r c h i n ga b o u tt h ec r y p t o g r a p h y , t h ep a p e ri n t r o d u c e d s y m m e t r i ck e ye n c r y p t i o na n da s y m m e t r i ck e ye n c r y p t i o ns y s t e m a t i c a l l y s e c o n d l y , t h ep a p e r e x p a t i a t e do n t h ec o m p o n e n t s ,s e c u r i t ys e r v i c e s ,r e l a t e ds t a n d a r d sa n da p p l i c a t i o n so fp k i f i n a l l y ,o nt h eb a s i so fr e l a t e dt h e o r ya n dt e c h n o l o g yo fp k i ,t h ep a p e rp u tf o r w a r dap m g r a m o fam i n i t y p ec e r t i f i c a t i o na u t h o r i t ya n ds t u d i e dt h ep r o c e s so fc e r t i f i c a t er e q u e s t ,i s s u ea n d r e v o c a t i o ne m p h a t i c a l l y k e y w o r d s :p k id i g i t a li d c e r t i f i c a t i o na u t h o r i t y o p e n s s l 武汉科技大学硕士学位论文第1 页 第一章绪论 1 1 研究背景 随着互联网技术在我国地迅速发展和普及,各种网络应用,如电子商务、电子政务、 网上银行、网上证券交易等也在我国迅猛发展起来。通过互联网使得任何组织和个人都可 以利用联网的计算机不受时间和空间的限制传递信息,即使远隔万里,信息的发布者和接 收者之间也可以直接沟通,实现即时、双向的交流。同时,海量的信息在互联网上传输, 人们可以很方便地搜索到自己所需的信息,这仿佛给人装上了“千里眼”和“顺风耳”, 使人的能力得到了延伸。 但是任何事情都有两面性,当互联网为个人、企业、政府、学校等带来极大便利和巨 大机会的同时,也培养了一批以破坏计算机系统为乐的人。他们或通过互联网未经许可进 入他人的计算机设施,破解他人的密码,使用他人的计算机资源;或通过网络向他人的计 算机系统散布计算机病毒,堵塞网络,破坏他人计算机和数据;或进行间谍活动,窃取、 篡改或者删除国家机密和商业机密;或盗窃银行中他人存款,非法转移资金;或湮灭证据, 对自己的所作所为百般抵赖,其结果只有一个,让受害者遭受损失。 近年来,随着网络安全事件给互联网用户造成损失地迅速上升,网络安全得到了广泛 的关注。病毒的泛滥,黑客的肆虐,使得杀毒软件和防火墙成为了计算机系统中最基本的 安全配置。然而,杀毒软件和防火墙只解决了网络安全中物理安全的一部分,而对于逻辑 安全方面却没有丝毫帮助。网络安全问题并不仅仅只有病毒和黑客,信任的缺失也是一个 非常重要的方面。由于在互联网上人们无法鉴别与之交流的人或设备的身份,再加之信息 极易被伪造,让人们对在互联网上公开传输的信息不免心存疑虑,也引发了人们对信息的 真实性、完整性、机密性和不可否认性的更高要求。 为了防范用户身份的假冒,数据的截取和篡改以及行为的否认等安全漏洞,互联网急 需一种技术或体制来实现对用户身份的认证,建立可信的网络应用环境、并保证互联网上 所传输数据的安全。经过世界各国的研究,初步形成了一套完整的解决方案,即p k i 技术。 它以公钥技术为基础,以数字证书为媒介,结合对称加密和公开加密技术,将个人的标识 信息与各自的公钥捆绑在一起,其主要目的是通过自动管理密钥和证书,为用户建立起一 个安全、可信的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名 技术,在互联网上验证用户的身份,从而保证了互联网上所传输信息的真实性、完整性、 机密性和不可否认性m 。 1 2p k i 技术研究现状和发展前景 1 2 1 国外p k i 技术研究现状 自2 0 世纪9 0 年代初期以来,作为电子商务信息安全的关键和基础技术的p k i 逐步得 到了许多国家政府和企业的广泛重视,p k i 技术由理论研究进入到商业化应用阶段,并且 第2 页武汉科技大学硕士学位论文 出现了大量成熟的技术、产品和解决方案。在这一时期,i e t f 、i s o 等机构陆续颁发了x 5 0 9 、 p k i x 、p k c s 、s m i m e 、s s l 、s e t 、i p s e c 、l d a p 等p k i 应用相关标准,e n t r u s t 、v e r i s i g n 、 b a i t i m o r e 等企业纷纷推出了自己的p k i 产品和服务。 各国政府也大力发展p k i 技术。美国是最早提出p k i 概念的国家,美国联邦p k i 筹委 会成立于1 9 9 6 年,它由政府信息技术服务部、国家航空航天总署、国家标准技术研究所、 国家安全部、国防部、交通部、财政部、农业部、劳动统计局和联邦网络委员会等2 0 个 部、署共同组建而成。美国联邦p k i 体系结构主要由联邦的桥认证机构( f b c a f e d e r a l b r i d g ec a ) ,首级认证机构( p c a p r i n c i p a lc a ) ,次级认证机构( s c a s u b o r d i n a t ec a ) 等组成。1 。主要用于支持信息资源的安全共享,为联邦政府部门使用数字证书技术实现信 息系统安全、安全电子商务、安全通信等活动提供设施、规则和政策。2 0 0 0 年6 月3 0 日。 美国总统克林顿正式签署美国全球及全国商业电子签名法,给予电子签名、数字证书 以法律上的保护。 加拿大在1 9 9 3 年就已经开始了政府p k i 体系雏型的研究工作,到2 0 0 0 年已在p k i 体系方 面获得重要的进展,已建成的政府p k i 体系为联邦政府与公众机构,商业机构等进行电子 数据交换时提供信息安全的保障,推动了政府内部管理电子化的进程。 除了美国、加拿大外,欧洲的p k i 技术发展也成绩显著。英国的p k i 体系基本建成,同 时开展了大量的标准化研究。德国于1 9 9 7 年8 月颁布了数字签名法,并依据该法建立了根 c a 和电信、邮政等8 个次级c a 。挪威于2 0 0 0 年1 2 月通过了电子签名法并于2 0 0 1 年7 月1 日实 施,在1 9 9 9 2 0 0 0 年间对影响和阻碍电子商务的法律法规进行了全面调研,依据调研结果 在2 0 0 1 年夏天对相关法律进行修订,修订后适应电子通信的法律法规于2 0 0 2 年1 月1 日实 施。荷兰政府在2 0 0 2 年底完成了p k i 标准的研制工作。同时为了解决欧洲各国p k i 之间的协 同工作问题,欧盟积极资助相关研究院所、大学和企业研究p k i 相关技术,特别是p k i 互操 作性相关技术,并建立c a 网络以及顶级c a 。 在亚洲各国,p k i 的发展并不平衡,不过很多国家已经意识到它的重要性。为了缩小 各国技术及制度上的差异,推动p k i 技术的标准化,并充实法律制度,2 0 0 0 年由日本、韩 国、新加坡等国家发起设立了“亚洲p k i 论坛”。参加成员除了r 本以外,还包括中国、 韩国以及新加坡等亚洲及大洋洲的8 个国家和地区的p k i 团体和组织。论坛的会长由亚洲 p k i 论坛推动协议会会长、日立制作所的董事会长金井务担任,并于2 0 0 1 年6 月1 2 日和6 月 1 3 同在东京举行了首次会议。 韩国是亚洲p k i 技术开发较早,且体系相对完整的国家。韩国的认证架构主要分成三 个等级:最上一级是信息通信部,中间是由信息通信部设立的国家c a 认证中心,最下面一 级是由信息通信部指定的下级授权认证机构。信息通讯部还负责相关政策的制定和执行, 以及与国外的交叉认证;认证中心则承担根c a 的运作和对下级授权认证机构的评估、支持。 与此同时,韩国还在1 9 9 9 年成立了国际c a 认证中心。 日本的p k i 管理架构也很有特色。它的应用体系按公众和私人两大领域来划分,在公 众领域的市场还进一步细分,主要分成商业、政府与公众管理内务、电信邮政三大块。 武汉科技大学硕士学位论文第3 页 新加坡在1 9 9 8 年通过了电子业务法案,采用p k i 体系,在地区和全球基础上协调法律 法规。新加坡成立了一个由民间主导的新加坡p k i 论坛,专门研究p k i 的政策管理和技术等 等。 在亚洲的其它国家,如印度、马来西亚、柬埔寨等也认识至u p k i 体系在电子政务和电 子商务中的基础性作用,都纷纷启动和进一步加快发展本国p k i 的规划和建设。 这些国家开展的p k i 服务都有一些共同的特点;政府支持和授权;由政府有关部门实 行统一地审核管理;由政府有关部门或民间有关组织制定和发布电子交易法令法规和认证 中心认证管理办法;采用有关国际组织发布的技术和操作标准与协议;认证中心的设立需 根据有关法令法规严格审核。以上做法为规范、安全、有效地运作p k i c a 奠定了可靠的基 础。 i 2 2 国内p k i 技术发展现状 我国的p k i 行业起步较晚,从1 9 9 8 年国内第一家以实体形式运营的上海c a 中心成立开 始,p k i 行业的建立还不到1 0 年。由于政府和各有关部门对p k i 产业的发展给予了高度重视, 中国p k i 行业的发展十分迅速。据不完全统计,全国已经有超过3 0 家c a 存在,发放证书约 5 0 万份。2 0 0 0 年,p k i 产品与服务市场价值接近2 亿人民币,而在整个p k i c a 建设上的间 接投资在7 个亿左右。 目前,国内的c a 机构分为行业性认证中心、区域性认证中心和纯商业性认证中心嘲。 行业性认证中心主要集中在金融、电信和外经贸等行业: 1 9 9 9 年2 月,由中国银行牵头,中国工商银行、中国农业银行、中国建设银行、交通 银行、招商银行、中信实业银行、华夏银行、广东发展银行、深圳发展银行、光大银行、 民生银行和福建兴业银行等十三家商业银行联合建设中国金融认证中心( c f c a ) 。经过一年 多的开发建设,整个系统已于2 0 0 0 年6 月2 9 日正式挂牌开通。c f c a 为全国的用户提供证书 服务,c f c a 的证书可支持网上银行、网上证券交易、网上购物以及安全电子文件传递等应 用。 在电信行业中,中国电信作为我国最大的电信业务运营商,为解决公共网络上各种数 据业务的安全问题,自1 9 9 6 年开始进行电子商务安全认证的研究、试验工作;1 9 9 7 年底, 开始进行电子商务试点工作;1 9 9 9 年8 月c t c a 通过国家密码管理委员会和信息产业部的联 合鉴定,成为国内较早在公网上运营的c a 安全认证系统。 为满足国家外经贸中电子商务的发展需要,保证电子商务的安全进行,在“金关工程” 中,由中国对外经济贸易合作部成立中国国际电子商务中心 p e r l c o n f i g u r ev c w i n 3 2 ,注意区分大小写。 5 ) 在命令栏中输入c :o p e n s s l o p e n s s 卜0 9 8 d m s d o m s 。 6 ) 转至d :p r o g r a mf i l e s m i c r o s o f tv i s u a ls t u d i o k v c g s b i n 目录下( v c 的安装目录) 执行v c v a r s 3 2 b a t 以配置环境变量。 7 ) 转到o p e n s s l 目录下执行n m a k e - fm s n t d l l m a k ,如果编译成功,o p e n s s l 一0 9 8 d 文件夹中会增加三个新的目录:i n c 3 2 、o u t 3 2 d l l 、t m p 3 2 d l l 。i n c 3 2 目录跟i n c l u d e 目 录相似,存放的是w i n d o w s 平台下使用o p e n s s l 进行编程需要包含的头文件。o u t 3 2 d l l 目录下存放着多个可执行应用程序、静态库文件l i b e a y 3 2 1 i b ,s s l e a y 3 2 1 i b 和两个 动态链接库l i b e a y 3 2 d l l ,s s l e a y 3 2 d l l 。t m p 3 2 d l l 则是在编译过程中存放o b j 等 临时文件的目录。 第3 2 页武汉科技大学硕士学位论文 第五章主要功能设计与实现 由第四章系统结构可知,c a 服务器是整个c a 系统的核心,它实现了c a 系统的主要功 能,包括密钥对的生成、根证书的生成,用户证书的签发,证书的吊销,证书吊销列表的 生成。本章将着重论述这些功能的设计和实现。 5 1 密钥的产生 如前所述,用户密钥对的生成方式主要有三种: a ) 用户自己在计算机上产生密钥对,然后将公钥交给c a 与证书绑定,私钥自己妥善 保存。该过程产生的公钥必须保证可验证性和完整性。 b ) 由可信的第三方产生的,如密钥管理中心k m c ,生成密钥对,再将相应的密钥传送 给c a 和客户。 e ) 由c a 产生密钥对,然后将公钥与证书绑定,私钥通过移动介质的方式发送给用户。 由于c a 拥有更强大的资源和先进的技术,产生的密钥对相对来说比较安全,不易 破解,而且更符合国家的相关政策。 从企业的实际情况和管理上的方便出发,本系统的一切用户私钥由c a 中心产生, 每一个用户可以设置口令来保护私钥,该口令除了用户自己外,不对任何人公开。两 个参数决定密钥的可靠性,一是密钥的位数,二是密钥的生成算法。在本系统中,我 们采用的是现在普遍使用的r s a 算法,位数分为5 1 2 位、7 6 8 位、1 0 2 4 位和2 0 4 8 位, 一般情况下,我们选择密钥位数为1 0 2 4 位。 在本系统中调用g e n e r a t e k e y p a i r ( ) 函数生成密钥对,它主要调用o p e n s s l 函数 库里的r s a 密钥对生成函数,进行r s a 算法运算生成密钥对。 r s a * r s a _ g e n e r a t e k e y ( i n tb i t s ,密钥的长度,通常设置为1 0 2 4 位 u n s i g n e dl o n ge _ v a l u e ,r s a 中公开的加密指数,通常设置为 o x l o 0 0 1 l ( 十进制的6 5 5 3 7 ) v o i d ( * c a l l b a c k ) ( i n t ,i n t ,v o i d * ) ,这两个参数是产生私钥过 程中的回调函数,在一般 应用中将它设置为n u l l 即可。 v o id * c b a r g ) 其中的主要代码如下: e v pp k e y 术p n e w r s a k e y = e v p _ p k e y n e w0 ; e v p _ p k e y _ a s s i g n r s a ( p n e w r s a k e y ,r s a _ g e n e r a t e k e y ( 1 0 2 4 ,o x l 0 0 0 1 , n u l l ,n u l l ) ) : 武汉科技大学硕士学位论文第3 3 页 5 2c a 初始化 c a 本身的体系结构可以被描绘为一棵倒转的树n 8 1 ,根节点代表一个对整个c a 系统的 所有实体都有特别意义的c a ,通常称作根c a ,它充当信任锚,是认证的起点。中间节点 为各级中间证书颁发机构,包含由上一级证书颁发机构签发的本级证书,叶子节点为用户 节点,含有上一级证书颁发机构为自己签发的用户证书。如图所示: 中间 机构 根节点 鼹户 用p躅户甩户 书颁发 图5 1c a 中心的层次结构 由于本系统实现的c a 是一个独立的证书管理机构,没有上一级证书颁发节点,因此 必须生成自己的根证书。c a 初始化生成c a 的根证书,私钥、s e r i a l t x t 以及配置文件, 根证书就是c a 认证中心给自己颁发的自签名证书,是信任链的起始点。根证书文件对外 界公开,用于其他用户验证通信对方的证书是否有效,而私钥文件由c a 中心自己保管, 用于签发其他用户的证书。为了保持c a 的稳定性,c a 的密钥一般生成后不能经常更换, 所以在强度方面我们选择r s a l 0 2 4 位,设置其使用期为一年。s e r i a l t x t 保存的是已经签 发证书的证书数。配置文件中包括根证书的一些信息,如国家名称、组织名称、部门名称 和是否初始化标识等等。生成根证书的流程图如图5 2 所示: 初始化c a 主要由c a i n i t ( ) 实现,在具体的实现过程中调用了一些函数包括生成根证 书的公私钥对、生成根证书的请求信息、生成根证书的文件和密钥文件。具体说明如下: c a b a s e i n f o m a t i o n 生成c a 根证书要填写的基本信息 c s t r i n g c a n a m ec a 的名称 c s t r i n gc h d e p a r t m e n t部门名称 c s t r i n gc a o r g a n i z a t i o n单位名称 c s t r i n gc a c i t y 城市名称 c s t r i n gc a p r o v i n c e 省份名称 c s t r i n gc a c o u n t r y国家名称,一般设置为a n c a e x t i n f o m a t i o n 生成c a 根证书要填写的扩展信息 c s t r i n g c a p a s s w o r dc a 的密码 c s t r i n gc a p w d v e r i f y 验证密码 c s t r i n g l e n 密钥长度 c s t r i n g v a l i d 有效期 第3 4 页武汉科技大学硕士学位论文 s e t c o u n t r y n a m e ( c s t r i n gs t r c n n )设置c a 的国家名称,将输入的国家名称 c a n a m e 存放到s z c o u n t r y n a m e 变量中,以便后续将其设置到证书请求结构中,与 此类似的还包括设置省份名称、城市名称、组织名称、部门名称等等。 g e n e r a t e r e q 生成证书请求。该函数里调用了o p e n s s l 的x 5 0 9 _ r e q _ n e w 生成证书 请求文件;g e n e r a t e k e y p a i r ( ) 生成r s a 密钥对;a d d i n f o t o r e q ( ) 将根证书的基 本信息,也就是输入的c a 的国家名称、城市名称、组织名称等等添加到证书请求 结构中; m a k e c e r t i f i c a t e 生成根证书。该函数主要设置根证书的信息,包括证书的版本 号、序列号、证书的有效时间( 由开始时间和终止时间两部分构成) ,证书的公钥、 证书签发者的信息等等,由于初始化生成的是c a 的根证书,属于白签名证书,证 书的持有者与签发者相同,因此该函数在生成根证书时,即将证书持有者设置为 证书的签发者。 s e t c e r t i f i c a t e 用于生成证书文件。其中主要调用了x 5 0 9 证书对象的i o 函数 i n tp e m _ w r i t eb i o x 5 0 9 ( b i o * b p ,x 5 0 9 x ) : s e t p r i v a t e k e y 用于生成私钥文件。其中主要调用了 i n tp e m _ w r i t eb i op r i v a t e k e y ( b i o * b p ,e v p p k e y 丰x ,c o n s te v pc i p h e r 术e n c ,u n s i g n e dc h a r * k s t r ,i n tk l e n ,p e mp a s s w o r d _ c b * c b ,v o i d u ) b p 参数定义了进行数据读写的b i o 结构; e r i c 参数定义了函数生成私钥时采用的加密算法,在本系统中采用d e s c b c 模式加密c a 私钥; k s t r 参数定义了用于加密私钥的口令,即私钥的密码。 i n s e r t d b ( c u s e r i n f o * p u i ) 将c a 的信息写入到数据库中。c u s e r i n f o 主要存放 的是证书的基本信息,用来与数据库交互,包括序列号、用户名、部门名称、单 位名称、城市名称、省份名称、国家名称、证书、私钥和证书的有效期等。 武汉科技大学硕士学位论文第3 5 页 5 3 申请证书 图5 2 根证书生成的流程图 证书申请分为离线申请和在线申请两种,在线申请就是通过浏览器访问指定的网站, 根据个人需要选择适当的申请类型,以在线的方式来申请证书;离线方式一般指用户直接 到认证中心的注册受理点领取相应的申请表格,用户将申请表填写完整后,向i i a 管理人 员出示申请表与有关证件,接受物理身份审核。在本系统中由于企业人员比较集中,故采 用离线申请的方式。当用户去r a 申请证书时,带上有效身份证件,如实填写相关表格; r a 管理人员按有效身份证件审核用户的身份,由于是离线申请,所以审核比较容易实现; 然后由l a 管理人员录入用户的信息,向c a 申请证书,同时把用户的相关信息一并传给c a 中心;用户在接到通知后的规定时间内到r a 受理点领取数字证书。 第3 6 页武汉科技大学硕士学位论文 用户 一一千 证书申请的数据结构: 生成证书请求是申请证书的第一步,证书请求是符合p k c s 自t l o 标准的数据结构,如图 图5 4 证书申请的数据结构 在证书请求格式中,主要包括三个信息结构类型,c e r t f i c a t i o n r e q u e s t i n f o 结构类 型,s i g n a t u r e a l g o r i t h m 结构类型,s i g n a t u r e 结构类型。 在c e r t f i c a t i o n r e q u e s t i n f o 结构类型中包含了关于证书请求者的所有信息,该结构 包含证书请求的版本号,证书请求的名字域,证书请求者的公钥信息( 主要包括所选择的 公钥算法类型和产生的公钥值) ,最后包含可选的属性域,该属性域扩展了证书请求的附 加信息。 在s i g n a t u r e a l g o r i t h m 结构类型中,定义了和c e r t f i c a t i o n r e q u e s t i n f o 结构类型 中定义的公钥算法相对应的签名算法类型和该算法的一些参数信息,在验证证书请求时需 要使用这个选择域的信息来选择验证签名的公钥算法。 s i g n a t u r e 所对应的数据类型是位串,该位串是使用所指定的签名算法对 c e r t f i c a t i o n r e q u e s t i n f o 域进行签名所得到的签名值,该值用于对证书请求进行验证。 证书申请流程图: 武汉科技大学硕士学位论文第3 7 页 l 生成证书请求对象 l i 生成公开密钥对 i 添加公钥信息到证书 i请求对象中 j l添加用户信息 i 图5 5 证书申请流程图 证书申请的实现: g e n e r a t e k e y p a i r ( ) 密钥生成函数,用来生成密钥对,这个函数在前文中已经介绍过,在此笔者不加 赘述。 a d d p u k t o r e q ( ) 将公钥信息加入到证书请求对象中,这个函数调用了o p e n s s l 的 i n tx 5 0 9r e q _ s e t _ p u b k e y ( x 5 0 9 _ r e q 半x ,e v pp k e y * p k e y ) : x 5 0 9 _ r e q 木x 为设置的证书请求对象, e v p _ p k e y * p k e y 就是通过g e n e r a t e k e y p a i r ( ) 生成的公钥。 h d d i n f o t o r e q ( ) 添加基本信息到用户申请对象中。这个函数首先生成了主体名对象 p s u b j e c t n a m e = x 5 0 9 _ n a m e _ n e w ( ) ,然后调用 h d d i n f o e n t r y ( c h a r * k e y ,c h a r * v a l u e ) 添加证书申请的标识信息如国家、省 份、城市、组织单位,部门名称等,最后调用o p e n s s l 中的 i n tx 5 0 9r e o _ s c t _ s u b j c c t _ n a m c ( x s 0 9r e q r c q ,x s 0 9 _ n a m e 。n a m e ) ;来设置证 书请求人的主体名,在本系统中主体名为前面设置的p s u b j e , c t n a m e 。 第3 8 页武汉科技大学硕士学位论文 5 4 签发证书 c a 服务器从证书申请表中逐条读取已经审核过的证书申请信息,然后用c a 自己的私钥 为该证书请求进行数字签名,生成x 5 0 9v 3 格式的证书,并将签名后的证书发布到数据 库中。使用证书请求生成用户证书的流程如图所示: 开始 证书请求是否为空 丫 获得c a 信息及私钥 生成证书对象 将证书请求对象加 入到证书对象中 设置证书的其他信 息 用c a 私钥对其签名 生成证书 i 箜塞 图5 6 证书生成流程图 在具体的实现过程中主要用到了以下的函数: g e t c e r t i f i c a t e 从根证书文件中获取根证书的信息,包括根证书的持有者信息,根证 书的有效期等等。 g e t p r i v a t e k e y 获取根证书的私钥,由于根证书的一切信息都保存在证书文件和私钥 文件中,其中私钥文件又是经过口令加密保存的,而签发用户证书必须 用到c a 的私钥,因此在签发证书过程的初期要提取根证书的私钥信息 和证书持有者信息。 x 5 0 9 一r g q _ g e t s u b j e c t f l a m e ( ) 读取证书请求主体的信息,调取 武汉科技大学硕士学位论文第3 9 页 x 5 0 9 一s e t s u b j e c t n a m e ( ) 将证书请求的主体名设置为证书的主体名。 e v pp k e y 木x 5 0 9 _ r e q _ g e t _ p u b k e y ( x 5 0 9 _ r e o * r e q ) 从证书请求中获取公钥,调用 x 5 0 9 一s e tp u b k e y ( x 5 0 9 幸x ,e v p _ p k e y * p k e y ) 将获取的公钥设置成为证书的公钥。 接下来设置用户证书的其他信息,包括证书的版本号,证书的序列号,证书的开始时 间和终止时间,程序主要代码如下: x 5 0 9 一s e t v e r s i o n ( x 5 0 9 幸x ,l o n gv e r i s o n ) 设置证书的版本号,在本系统中,采用 的证书是x 5 0 9v 3 版本,因此这里的版本号l o n gv e r s i o n 设置为2 。 a s n i i n t e g e rs e t ( x 5 0 9 _ g e t s e r i a l n u m b e r ( x 5 0 9 木x ,s n ) ) 设置证书的序列号。 x 5 0 9 _ g m t i m e _ a d j ( x 5 0 9 _ g e tn o t b e f o r e ( x 5 0 9 宰x ) ,o ) 设置证书的开始时间。 x 5 0 9 _ g m t i m e _ a d j ( x 5 0 9 _ g e tn o t a f t e r ( x 5 0 9 极) ,( 1 0 n g ) 6 0 * 6 0 * 2 4 * d a y s ) 设置证书的 终止时间。 最后设置证书的签发者信息,这与生成根证书类似,只不过在签发根证书时,属于自 签发证书,即证书的持有者信息和证书的签发者信息相同,在签发用户证书时,证书的签 发信息则为c a 的根证书信息,也就是我们从根证书文件中提取的证书的持有者信息。主 要调用x 5 0 9 _ n a m e * x 5 0 9 _ g e t s u b j e c t _ n a m e ( m _ p c a c e r t ) 读取c a 根证书的主体信息, x 5 0 9 一s e ti s s u e r _ n a m e ( x 5 0 9 宰x ,x 5 0 9 _ n a m e * n a m e ) 将其设置为证书的签发者。 证书的相关信息设置完全之后,调用x 5 0 9 一s i g n ( x 5 0 9 木x ,m _ p c a k e y ,d i g e s t ) 用c a 根 证书的私钥对证书签名生成用户证书。用户证书生成后也要调用i n s e r t d b ( c u s e r i n f o * p u i ) 将用户证书的相关信息写入到数据库中。 5 5 撤销证书 c a 为用户颁发的公钥证书都有一个相对长的有效期( 在本系统中设置为1 年) ,希望在 它的整个有效期内都能被使用。但是很多情况可能引起证书在它的有效期期满之前就交得 无效。在r f c 2 4 5 9 中共定义了8 种证书作废的原因1 : c r l r e a s o n := e n u m e r a r e d u n s p e c i f i e d 未定义 k e y c o m p r o m i s e 密钥不安全 c a c o m p r o m i s e c a 密钥不安全 a f f i l i a t i o n c h a n g e d隶属关系变更 s u p e r s e d e d 证书变更 c e s s a t i o n o f o p e r a t i o n停止操作 c e r t i f i c a t e h 0 1 d 停止使用证书 r e m o v e f r o m c r l从c r l 中删除 ( 1 ) k e y c o m p r o m i s e :用户私钥泄露。用户私钥泄露将会严重影响到用户本身的安全性,所 以要求证书作废。 第4 0 _ 页武汉科技大学硕士学位论文 ( 2 ) c a c o m p r o m i s e :c a 私钥泄露。这是最严重的事故。c a 私钥泄露将会严重影响到整个c a 体系的安全性,在这种情况下,c a 系统以前颁发的所有证书必须立即作废,且产生新的 自签名证书。 ( 3 ) a f f i l i a t i o n c h a n g e d :证书拥有者的从属关系改变。这种从属关系是由证书辨别名中的 组织名o r g a n i z a t i o n 识别,如果某人由于调动工作,那么他的o r g a n i z a t i o n 也将改变, 因此该证书应该被作废。 ( 4 ) c e s s a t i o n o f o p e r a t i o n :证书拥有者由于某种原因被停止使用该证书。 ( 5 ) c e r t i f i c a t e h o l d :用户因为某种原因要求证书作废。与上个作废原因不同的是这种方 式是主动的。 ( 6 ) r e m o v e f r o m c r l :证书需要从c r l 中删除。这种情况是用户要求把作废的证书从c r l 中删 除。 在这些情况下,c a 需要将证书撤销,并根据用户的请求决定是否为其发布新的证书。 在本系统中撤销证书主要是更改所选证书的状态,将证书的状态从“1 ”设置为“0 ”,同 时添加证书的撤销时间。如果用户选择撤销的是根证书,系统将会提示用户,一旦根证书 撤销,所有被签发的证书都会失效。该功能主要调用c a r e v o k e d 函数实现。 5 6 证书撤销列表的生成 c a 将某个证书撤销后,应使得系统内的用户尽可能及时地获知最新的消息,这对于维 护系统的可信性至关重要。本系统通过颁发证书撤销列表( c r l ) 的方式将撤销证书的信 息通知给用户,当用户使用证书时,不仅需要检验证书签名和有效性而且需要在最近发布 的c r l 中检查证书是否已经撤销。证书撤销列表( c r l ) 是一种包含撤销的证书列表的签 名数据结构,它的完整性和可靠性由它本身的数字签名来保证“。c r l 的签名者一般也就 是颁发证书的签发者,在本系统中为c a 的根证书。 c r l 的数据结构为: c e r t i f i c a t e l i s ts e q u e n c e u s e r c e r t i f i c a t e r e v o c a t i o n d a t e c r l e n t r y e x t e n s i o n s 、 r e v o k e d c e r t i f l c a t e t b s c e f i l i s ts e q u e n c e s e q u e n c e 图s 7 证书撤销列表数据结构 武汉科技大学硕士学位论文第4 l 页 图中各域描述如下: ( 1 ) 版本( v e r s i o n ) c r l 的版本号,是一个可选项,使用扩展时,该域必须被描述成为版本2 ( 用整 型值1 表示) 。 ( 2 ) 签名算法标识符( s i g n a t u r e ) 包括c a 发布该c r l 时所用的数字签名算法的标识符,该域所包含的算法标识符 必须和c e r t i f i c a t e l i s t 结构中的s i g n a t u r e a l g o r i t h m 域相同。 ( 3 ) 发行者( i s s u e r ) 该域标识了签名和发行c r l 的实体,在该域中必须使用x 5 0 0 区分名称( d n ) 。 ( 4 ) 该c r l 发布的时间( t h i s u p d a t e ) 该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京专升本测试题及答案
- 合肥市H小学流动儿童家校合作:困境剖析与突破路径
- 合建式奥贝尔氧化沟工艺:低成本与高脱氮除磷的协同探索
- 合募配穴针法对改善应激性胃溃疡胃电的实验探究
- 2026届高考政治一轮复习统编版选必一 9.2 中国与新兴国际组织 课件
- 甘肃省张掖市甘州区2024-2025学年七年级下学期第一次月考历史试题及答案
- 2025年教师招聘之《小学教师招聘》考前冲刺测试卷包(轻巧夺冠)附答案详解
- 2025年教师招聘之《幼儿教师招聘》模拟考试题库B卷带答案详解(达标题)
- 教师招聘之《小学教师招聘》题库(得分题)打印含完整答案详解【各地真题】
- 教师招聘之《小学教师招聘》通关模拟卷及参考答案详解【预热题】
- 房子赠与给子女合同范本
- 医疗器械临床评价报告模板
- (2025秋新版)人教版九年级物理上册全册教案
- 2025年国防教育知识竞赛试题(附答案)
- 非车主押车借款合同范本
- 2025广东中山大学附属第一医院惠亚医院事业编制人员招聘37人(第二批次)笔试备考试题及答案解析
- GJB2220A-2018 航空发动机用钛合金饼、环坯规范
- 六年级上册道德与法治全册教学课件
- 数学算24点题目
- 顾问式销售培训(PPT46页)
- 高考作文卷面书写
评论
0/150
提交评论