logo资料库

EJBCA的详细构建过程.doc

第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
资料共41页,剩余部分请下载后查看
前 言
1 绪 论
1.1 PKI基础
1.1.1 概述
PKI 是“Public Key Infrastructure”的缩写, 通常被译为“公钥
1.1.2 PKI现状
自1976年第一个正式的公共密钥加密算法诞生后,上世纪八十年代初期出现了非对称密钥密码体制,即
1.1.3 PKI技术的匮乏
众所周知, PKI 公钥基础设施是目前比较成熟、完善的互联网络安全解决方案。但PKI 实施起
1.2 PKI国内外研究现状与发展
1.2.1 PKI在欧美的发展
欧洲在PKI基础建设方面也成绩显著。已颁布了93/1999EC法规,强调技术中立、隐私权保护、国内与
1.2.2 PKI在亚洲的发展
此外,许多国外的企业开展了PKI的研究。较有影响力的企是有Baltimore和Entrust,其产
1.2.3 PKI在中国
 我国正在拟订全面发展国内PKI建设的规则,其中包括国家电子政务PKI体系和国家公共PKI体系的建设
1.2.4 PKI的应用前景
随着PKI技术应用的不断深入,PKI技术本身也在不断发展与变化,比如近年来比较重要的变化有属性
1.3 本设计所研究工作及成果和意义
针对目前PKI在国内的应用不够丰富,而商业化的CA一般费用比较昂贵,对广大有兴趣研究PKI
本设计研究工作和成果包括以下几个方面:
1)研究PKI的主要内容,实例EJBCA的组成,各部分功能。
2)动手构建一个用EJBCA构建的CA系统,生成构建说明书。
3)对EJBCA的安全性等进行分析。
2 PKI的标准内容
一个标准的PKI域必须具备以下主要内容。
2.1 认证机构CA(Certificate Authority)[2]
CA是PKI的核心执行机构,是PKI的主要组成部分,业界人士通常称它为认证中心。从广义上讲,认证中心
图1
CA的主要职责包括: 
验证并标识证书申请者的身份。对证书申请者的信用度、申请证书的目的、身份的真实可靠性等问题进行
确保CA用于签名证书的非对称密钥的质量和安全性。为了防止被破译,CA用于签名的私钥长度必须足够
管理证书信息资料。管理证书序号和CA标识,确保证书主体标识的惟一性,防止证书主体名字的重复。在
由此可见,CA是保证电子商务、电子政务、网上银行、网上证券等交易的权威性、可信任性和公正性的
图2是CA的结构功能图:
图2CA的功能结构图
CA模式的主要流程:
1.证书所有者向证书注册机构提出申请。
2.证书注册机构对证书所有者的身份确认。
3.证书注册机构向证书认证机构提出发行申请。
4.证书认证机构对证明书所有者发行证明书。
5.证书认证机构在仓库里面公开发行的证明书和失效队列。
6.证书所有者和证书信赖者通信。
7.证书信赖者通过仓库来检验证书的有效性。然后利用证书就可以验证电子签名和进行数据加
2.5 证书历史档案
从以上密钥更新的过程,我们不难看出,经过一段时间后,每一个用户都会形成多个旧证书和至少一
记录整个密钥历史是非常重要的。例如,某用户几年前用自己的公钥加密的数据或者其他人用自己的公
2.6 客户端软件
为方便客户操作,解决PKI的应用问题,在客户装有客户端软件,以实现数字签名、加密传输数据等
2.7 交叉认证  
交叉认证就是多个PKI域之间实现互操作。交叉认证实现的方法有多种:一种方法是桥接CA,即用
用 EJBCA 构建自己的 CA 系统 信息安全 陈勇 摘 要:随着 Internet 的飞速发展,网络中的安全问题日益受到人们的重视。众所周知,PKI 公钥基础设施是目前 比较成熟、完善的互联网络安全解决方案。同时它也是电子商务、电子政务、网上银行等技术的安全核心。但是 PKI 实施起来比较繁琐。并且当前实现 PKI 的商用软件价格较为昂贵, 这都阻碍了 PKI 的广泛应用。本文针对这一现状, 重点介绍实现 PKI 技术的开源软件 EJBCA。由于 EJBCA 的配置、使用过程比较繁杂, 并且相关文档比较缺乏, 因此本 文通过讲解笔者用 EJBCA 搭建的一套 PKI 系统, 详细介绍了 EJBCA 的配置、使用方法并且详细演示如何利用 EJBCA 来构建一个比较完整的 CA 系统来实现颁发证书和验证证书的过程。 关键词: EJBCA, 公钥基础设施 PKI, 认证中心 CA, 数字证书 Build your own CA with EJBCA Information Security ChenYong Abstract: With the explosive growth of Internet, increasingly importance has been attached to the security problem of Internet. As we all know, PKI(Public Key Infrastructure) is a mature and consummate formula for settling the security problem of Inte- -net at present. At the same time it’s the security kernel of e-Buniness ,E-Gov,Web bank and etc. But it’s verycomplicated to put into practice, and the commercial software which performs PKI is expensive, those retard the progress of the widespread use of PKI. In face of this actual state, this dissertation briefly introduces the open source software: EJBCA which realizes the technology of PKI. As the configuration and use of EJBCA is rather complicated, and lack of associated file, so this paper gives a detailed account of the configuration and use of EJBCA by explaining a PKI system built by author with EJBCA, and it will have some effect on improving the extension and development of PKI. Keyword: EJBCA, PKI, CA, Digital certificate
前 言 随着互联网络应用的不断普及, 以及电子商务、电子政务、网上银行、网上证券等金融业网上交 易业务的飞速发展,网络安全,特别是互联网通信的安全性令人瞩目。 互联网络中信息传递的安全 问题日益受到人们的重视。人们在不断探求互联网络中安全问题的解决方法, 从而确保互联网络中信 息传递的保密性、完整性、非否认性, 以使互联网络能够为人们提供更加广泛便捷的服务。PKI 技术 正是解决互联网络安全问题的良方, 越来越多的人开始关注它, 研究它。目前 PKI 已经是公认的保障 网络社会安全的最佳体系。 PKI(Public Key Infrastructure )即"公钥基础设施"较好地解决了 Web 应用中的机密性、完整性、 真实性和抗否认性等安全问题。但在 Web 环境下,还必须证明公钥与其持有者之间的映射关系,并 认证密钥持有者的身份。数字证书很好地解决了这个问题。同样,在分布式环境下,还应该建立起安 全、有效的证书管理机制,实现证书的生成、存储、分发、吊销等操作,从而为 Web 应用乃至网络 通信提供必要的密钥和证书服务。公钥基础设施 PKI 就是这样的一种提供安全服务的基础设施。PKI 的核心是对证书及其公/私钥对的管理。同时,PKI 也代表着一种分布式的信任模型关系,它首先要 选择或定义证书格式及其操作过程,其次需要明确证书签发机构或个人之间的信任关系。 EJBCA 就是这样一个针对 PKI 证书体系企业级的开源解决方案。它基于 J2EE 技术,提供了一 个强大的、高性能并基于组件的 CA 体系。EJBCA 兼具灵活性和平台独立性,能够独立使用,也能 和任何 J2EE 应用程序集成。
1 绪 论 1.1 PKI 基础 1.1.1 概述 PKI 是“Public Key Infrastructure”的缩写, 通常被译为“公钥基础设施”[1]。简单地说, PKI 技术就是使用公开密钥技术和数字证书来提供信息安全服务的基础设施。众所周知, 公开密钥技术是 目前应用最广泛的一种加密技术, 其技术核心是非对称加密技术, 即使用公私密钥对,每对中的公私 密钥是一一对的, 并且由其中任意一个密钥加密的文件, 只能由相对应的另一个密钥才能解密。在实 际使用中公钥是公开的, 任何人都可以拥有; 而与其对应的私钥是唯一的,只能由所有者保管、使用。 通过使用公开密钥技术, 我们可以实现身份认证,数保密等功能。但是为了确保用户的身份及其所持有 密钥的正确匹配, 我们需要一个值得信赖而且独立的第三方机构充当认证中心 CA(CertificationAuthority) 来确认公钥拥有人的真正身份。如同我们现实中使用的身份证一样, 认证 中心发放一种叫"数字证书"的身份证明。这个数字证书包含了用户身份的部分信息及用户所持有的公 钥。认证中心利用自己的私钥为每一个数字证书加上数字签名, 从而保证每个数字证书的权威性。每 个用户通过证书及唯一拥有的私钥, 就可以在互联网络中实现身份识。 1.1.2 PKI 现状 自 1976 年第一个正式的公共密钥加密算法诞生后,上世纪八十年代初期出现了非对称密钥密码 体制,即公钥基础设施(PKI),但是前期一直处于探索发展阶段,直到最近几年,国外的 PKI 应用才 开始快速的发展。我国引入 PKI 已经有五六年时间,作为一项与电子商务电子政务的发展密切相关的 信息安全的新技术和基础设施,PKI 受到业界的青睐和关注,在短期内涌现了大批以 PKI 技术产品为 主业的安全技术企业,PKI 的概念和应用得到了一定范围的普及,PKI 建设取得的一定成就。引用中 国金融认证中心总经理刘大隆的话是“奠定了技术基础,形成了一定的规模,积累了运营管理经验, 探索了应用模式,培育了专业人才” 。然而,随着网络经济的回归理性,PKI 建设也暴露了不少问 题。用一句话来描述 PKI 的现状与未来就是:前途是光明的,道路是曲折的。 1.1.3 PKI 技术的匮乏 众所周知, PKI 公钥基础设施是目前比较成熟、完善的互联网络安全解决方案。但 PKI 实施 起来比较繁琐, 并且当前实现 PKI 的商用软件价格较为昂贵, 这都阻碍了 PKI 的广泛应用。但是由 于我国发展的晚,所以和发达国家在 PKI 方面的发展差距还很大。尤其是在民用领域更是匮乏。目前 对 CA 的研究主要倾向于理论介绍,缺少对 CA 具体的应用研究,其中原因主要在于商业的认证中心 在国内还不太成熟,向国外申请又太贵。若用 Windows 来自己建立 CA 中心,同样也主要是理论介
绍,而且用 Windows 建立的 CA 封装了其内部实现细节,不够灵活,可移植性差,而建立一个安全、 灵活且具有实际应用价值的 CA 是实际搭建安全电子商务平台的核心。EJBCA 参照了 Java 安全解决 方案,使用纯 Java 语言搭建的一个 CA 平台,从而可以做到跨平台使用,另外,EJBCA 还集成了注 册(RA)、证书发布等功能,基本实现了 CA 的全部功能。 1.2 PKI 国内外研究现状与发展 1.2.1 PKI 在欧美的发展 PKI 是建立公钥加密技术基础之上的,PKI 随着加密技术的发展而前进。1976 年,美国的密码学 专家 Diffie 和 Hellman 提出了著名的 D—H 密钥分发体制,第一次解决了不依赖秘密信道的密钥分发 问题,允许在不安全的媒体上双方交换信息,安全地获取相同的用于对称加密的密钥,公钥则在电话 簿中公布。1978 年 Kohnfelder 提出了 Certificate Agency(CA 认证机构)的概念,在 CA 集中式管理的 模式下,公钥以 CA 证书形式公布于目录库,私钥仍以秘密(物理)信道分发。1991 年相继出现了 PGP、 PEM,第一次提出密钥由个人生成的分散式体制,以不传递私钥的方式避开了秘密信道。1996 年出 现 SPKI 解决方案。PKI 设立了 CA 认证中心,以第三方证明的方式将公钥和标识绑定,并创立了层 次化 CA 架构。 美国作为最早提出 PKI 概念的国家,于 1996 年成立了美国联邦 PKI 筹委会,其 PKI 技术在世界 上处于领先地位,与 PKI 相关的绝大部分标准都由美国制定。2000 年 6 月 30 日,美国总统克林顿正 式签署美国《全球及全国商业电子签名法》,给予电子签名、数字证书以法律上的保护,这一决定使 电子认证问题迅速成为各国政府关注的热点。美国联邦政府的 PKI 体系建设形成了以下信任层次和信 任域: · 策略批准机构(PAA):这是联邦 PKI 的根节点,负责批准二级节点的安全策略; · 策略产生机构(PCA):也叫策略认证机构,是联邦 PKI 的二级节点,定义下级产生公钥证书节 点的安全策略; · 认证机构(CA):是联邦 PKI 的三级节点,依据 PCA 定义的安全策略,为下级用户(可能是下级 CA)签发和维护数字证书、CRI‘结构等; · 用户:数字证书及相应私有密钥的持有害,用户利用数字证书和私有密钥进行数据保护、身份 鉴别等安全行为。 除上述层次外,联邦 PKI 体系还包含一个目录系统,用于存放有效证书和已经作废的证书。美国 联邦政府在研究各联邦政府已建成的 PKI 体系的基础之上,为解决各种不同认证系统之间的交叉认证 问题,于 1998 年提出了桥接 CA 的概念,旨在解决了不同信任域之间的信息传递问题,避免形成信 任孤岛。 加拿大在 1993 就已经开始了政府 PKI 体系雏形的研究工作,到 2000 年已在 PKI 体系方面获得重 要的进展,已建成的政府 PKI 体系为联邦政府与公众机构、商业机构等进行电子数据交换时提供信息
安全的保障,推动了政府内部管理电子化的进程。加拿大与美国代表了发达国家 PKI 发展的主流。 欧洲在 PKI 基础建设方面也成绩显著。已颁布了 93/1999EC 法规,强调技术中立、隐私权保护、 国内与国外相互认证以及无歧视等原则。为了解决各国 PKI 之间的协同工作问题,它采取了一系列措 施:积极资助相关研究所、大学和企业研究 PKI 相关技术;资助 PKI 互操作性相关技术研究,并建立 CA 网络及其顶级 CA。并于 2000 年 10 月成立了欧洲桥 CA 指导委员会,于 2001 年 3 月 23 日成立了 欧洲桥 CA。 1.2.2 PKI 在亚洲的发展 在亚洲,韩国是最早开发 PKI 体系的国家。韩国的认证架构主要分三个等级:最上一层是信息通 讯部,中间是由信息通讯部设立的国家 CA 中心,最下一级是由信息通讯部指定的下级授权认证机构 (LCA)。日本的 PKI 应用体系按公众和私人两大类领域来划分,而且在公众领域的市场还要进一步细 分,主要分为商业、政府以及公众管理内务、电信、邮政三大块。PKI 技术在整个亚洲虽然有了一定 的发展,但处于一个相对落后的水平,还存在着许多亟需解决的问题。 此外,许多国外的企业开展了 PKI 的研究。较有影响力的企是有 Baltimore 和 Entrust,其产品如 Entrust/PKI 5.0,已经能较好地满足商业企业的实际需求。VeriSign 公司也已经开始提供 PKI 服务, Internet 上很多软件的签名认证都来自 VeriSign 公司。 1.2.3 PKI 在中国 我国的 PKI 技术从 1998 年开始起步,由于政府和各有关部门近年来对 PKI 产业的发展给予了高 度重视,2001 年 PKI 技术被列为“十五”863 计划信息安全主题重大项目,并于同年 10 月成立了国 家 863 计划信息安全基础设施研究中心。国家计委也在制定新的计划来支持 PKI 产业的发展,在国家 电子政务工程中明确提出了要构建 PKI 体系。目前,我国已全面推动 PKI 技术研究与应用。2004 年 8 月 28 日,十届全国人大常委会第十一次会议 28 日表决通过了电子签名法,规定电子签名与手写签名 或者盖章具有同等的法律效力。这部法律的诞生将极大的推动我国的 PKI 建设。 自从 1998 年国内第一家以实体形式运营的上海 CA 中心(SHECA)成立以来,PKI 技术在我国的商 业银行、政府采购以及网上购物中得到广泛应用。目前,国内的 CA 机构分为区域型、行业型、商业 型和企业型四类;截至 2002 年底,前三种 CA 机构已有 60 余家,58%的省市建立了区域 CA,部分 部委建立了行业 CA。其中全国性的行业 CA 中心有中国金融认证中心 CFCA、中国电信认证中心 CTCA 等。区域型 CA 有上海 CA 中心、广东电子商务认证中心等。但是,我国的 PKI 建设还是处于起步阶 段,存在不少亟需解决的问题,主要是以下几个方面: ·缺乏国家统一指导,管理问题突出,至今尚未建立权威的管理部门。分散的 CA 规模小,利用
率低,低估了建设 CA 的社会责任和经济责任。 ·各种来源不同、层次不齐的技术供应厂商大量涌现,亟待研究具有我国自主知识产权的基础技 术和标准体系。在尚未确立国家标准的情况下,各家在建立 CA 的过程中对技术标准和管理规范的理 解有较大差距,并且各家 CA 基本处于互相分割状态,成为互不关联的信任孤岛,尚未形成完整的国 家 PKI 体系。 ·缺乏有力的法律支持。可喜的是电子签名法的确立让我们看到了希望。 我国正在拟订全面发展国内 PKI 建设的规则,其中包括国家电子政务 PKI 体系和国家公共 PKI 体系的建设。从 2003 年 1 月 7 日在京召开的中国 PKI 战略发展与应用研讨会可知,我国将组建一个 国家 PKI 协调管理委员会来统管国内的 PKI 建设,由它来负责制订国家 PKI 管理政策、国家 PKI 体 系发展规划,监督、指导国家电子政务 PKI 体系和国家公共 PKI 体系的建设、运行和应用。据有关机 构预测,电子政务的外网 PKI 体系建设即将展开,在电子政务之后,将迎来电子商务这个 PKI 建设的 更大商机,中国的 PKI 建设即将迎来大发展。 1.2.4 PKI 的应用前景 由于 PKI 是重大国家利益和网络经济的发展的制高点,也是推动互联网发展、保障事务处理安 全、推动电子政务、电子商务的支撑点。因此,建立健全的国家 PKI 体系,将有力地促进我国电子政 务以及整个国家信息化的发展。这样,政府和企业都十分重视 PKI 建设,PKI 应用有着巨大的发展前 景。 PKI 支持 SSL、IP over VPN、S/MIME 等协议,这使得它可以支持加密 Web、VPN、安全邮 件等应用。而且,PKI 支持不同 CA 间的交叉认证,并能实现证书、密钥对的自动更换,这扩展了它 的应用范畴。一个完整的 PKI 产品除主要功能外,还包括交叉认证、支持 LDAP 协议、支持用于认证 的智能卡等。此外,PKI 的特性融入各种应用(如防火墙、浏览器、电子邮件、群件、网络操作系统) 也正在成为趋势。基于 PKI 技术的 IPSec 协议,现在已经成为架构 VPN 的基础。它可以为路由器之 间、防火墙之间,或者路由器和防火墙之间提供经过加密和认证的通信。目前,发展很快的安全电子 邮件协议是 S/MIME,S/MIME 是一个用于发送安全报文的 IETF 标准。它采用了 PKI 数字签名技 术并支持消息和附件的加密,无须收发双方共享相同密钥。目前该标准包括密码报文语法、报文规范、 证书处理以及证书申请语法等方面的内容。基于 PKI 技术的 SSL/TLS 是互连网中访问 WEB 服务器 最重要的安全协议。当然,他们也可以应用于基于客户机/服务器模型的非 WEB 类型的应用系统。 SSL/TLS 都利用 PKI 的数字证书来认证客户和服务器的身份。 随着 Internet 应用的不断普及和深入,政府部门需要 PKI 支持管理;商业企业内部、企业与企业 之间、区域性服务网络、电子商务网站都需要 PKI 的技术和解决方案;大企业需要建立自己的 PKI 平台;小企业需要社会提供商业 PKI 服务。此外,作为 PKI 的一种应用,基于 PKI 和虚拟专用网市
场也随着 B2B 电子商务的发展而迅速膨胀。总的来说,PKI 的市场需求非常巨大,基于 PKI 和应用 包括了许多内容,如 WWW 安全、电子邮件安全、电子数据交换、信用卡交易安全、VPN。从行业 应用来看,电子商务、电子政务、远程教育等方面都离不开 PKI 技术。 随着 PKI 技术应用的不断深入,PKI 技术本身也在不断发展与变化,比如近年来比较重要的变 化有属性证书、漫游证书、无线 PKI(WPKI)等。随着 PKI 技术的应用与发展,无论是在有线网络, 还在无线世界,PKI 必将发挥巨大作用。 1.3 本设计所研究工作及成果和意义 针对目前 PKI 在国内的应用不够丰富,而商业化的 CA 一般费用比较昂贵,对广大有兴趣研 究 PKI 的爱好者来说要有研究环境比较困难。特此介绍开源软件 EJBCA,对它的基本功能进行介绍。 同时详细写出利用 EJBCA 构建一个基本完整 CA 的过程。供以后研究 PKI 的人参考借鉴,普及 PKI 知识。着重介绍动手过程,目前理论性的研究很多,但是具体怎么建立一个 CA 的过程还是很少。本 文的目的在于探索一些常用的 PKI 过程。让人在看完本文后能够根据本文的指引,能实际的构建出一 个能与自己所需系统集成的 CA 系统。旨在普及 PKI 建设的动手能力。 本设计研究工作和成果包括以下几个方面: 1)研究 PKI 的主要内容,实例 EJBCA 的组成,各部分功能。 2)动手构建一个用 EJBCA 构建的 CA 系统,生成构建说明书。 3)对 EJBCA 的安全性等进行分析。
2 PKI 的标准内容 一个标准的 PKI 域必须具备以下主要内容。 2.1 认证机构 CA(Certificate Authority)[2] CA 是 PKI 的核心执行机构,是 PKI 的主要组成部分,业界人士通常称它为认证中心。从广义上讲, 认证中心还应该包括证书申请注册机构 RA(Registration Authority),它是数字证书的申请注册、证书 签发和管理机构。图 1 是中国金融 CA 和 RA 结构图。 图 1 CA 的主要职责包括: 验证并标识证书申请者的身份。对证书申请者的信用度、申请证书的目的、身份的真实可靠性 等问题进行审查,确保证书与身份绑定的正确性。 确保 CA 用于签名证书的非对称密钥的质量和安全性。为了防止被破译,CA 用于签名的私钥长 度必须足够长并且私钥必须由硬件卡产生,私钥不出卡。 管理证书信息资料。管理证书序号和 CA 标识,确保证书主体标识的惟一性,防止证书主体名 字的重复。在证书使用中确定并检查证书的有效期,保证不使用过期或已作废的证书,确保网上交易 的安全。发布和维护作废证书列表(CRL),因某种原因证书要作废,就必须将其作为“黑名单”发 布在证书作废列表中,以供交易时在线查询,防止交易风险。对已签发证书的使用全过程进行监视跟 踪,作全程日志记录,以备发生交易争端时,提供公正依据,参与仲裁。 由此可见,CA 是保证电子商务、电子政务、网上银行、网上证券等交易的权威性、可信任性 和公正性的第三方机构。 图 2 是 CA 的结构功能图:
分享到:
收藏