⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pki++-

📁 在网上发现的<PKI技术及应用开发指南> 个人认为是关于pki的一篇不错的文章!
💻
📖 第 1 页 / 共 5 页
字号:
                  class=title 
                  href="http://www.javaresearch.org/article/postarticle.jsp?column=33&thread=631&reply=true" 
                  title="Click to reply to this topic">发表评论</A> &nbsp;&nbsp;<A 
                  href="http://www.javaresearch.org/search.jsp?column=33"><IMG 
                  alt=搜索栏目 border=0 height=17 
                  src="PKI技术及应用开发指南.files/search.gif" width=17></A>&nbsp;<A 
                  class=title 
                  href="http://www.javaresearch.org/search.jsp?column=33" 
                  title=搜索栏目>搜索文章</A> </TD></TR></TBODY></TABLE>
            <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
              <TBODY>
              <TR>
                <TD><!-- start of article title -->
                  <TABLE bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0 
                  width="100%">
                    <TBODY>
                    <TR>
                      <TD align=middle bgColor=#eeeeee class=title1 colSpan=3 
                      height=40 width="100%"><B>PKI技术及应用开发指南</B></TD></TR>
                    <TR>
                      <TD align=middle bgColor=#eeeeee width="100%"><A 
                        href="http://www.javaresearch.org/profile.jsp?user=62">david</A> 
                        转贴&nbsp;(参与分:7929,专家分:40)&nbsp;&nbsp; 发表:2002-6-24 
                        上午9:25 &nbsp;&nbsp;更新:2002-6-24 上午9:38 
                        &nbsp;&nbsp;版本:1.1 
                    &nbsp;&nbsp;阅读:<B>1538</B>次</TD></TR></TBODY></TABLE></TD></TR><!-- end of article title -->
              <TR>
                <TD vAlign=top><!--start of article content -->
                  <TABLE border=0 width="100%">
                    <TBODY>
                    <TR>
                      <TD align=left class=text 
                        width="100%"><BR>[i]关于PKI,国外的资料比较多,本来想写下一些东西,偶遇下面这篇,觉得在中文PKI文档里面算是够完善了,所以转贴。[/i]<BR><BR>公钥基础设施(Public 
                        Key 
                        Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因此,对PKI技术的研究和开发成为目前信息安全领域的热点。本文对PKI技术进行了全面的分析和总结,其中包括PKI组成、证书认证机构CA、PKI应用、应用编程接口和PKI标准等,并对CA的开发做了简要分析。本文对PKI,特别是CA的开发、应用和普及具有一定的促进作用。<BR>1 
                        前言 
                        <BR>随着网络技术和信息技术的发展,电子商务已逐步被人们所接受,并在得到不断普及。但由于各种原因,国内电子商务的安全性仍不能得到有效的保障。在常规业务中,交易双方现场交易,可以确认购买双方的身份。利用商场开具的发票和客户现场支付商品费用,无须担心发生纠纷和无凭证可依。但通过网上进行电子商务交易时,由于交易双方并不现场交易,因此,无法确认双方的合法身份,同时交易信息是交易双方的商业秘密,在网上传输时必须保证安全性,防止信息被窃取;双方的交易非现场交易,一旦发生纠纷,必须能够提供仲裁。<BR><BR>因此,在电子商务中,必须从技术上保证在交易过程中能够实现身份认证、安全传输、不可否认性、数据完整性。在采用数字证书认证体系之前,交易安全一直未能真正得到解决。由于数字证书认证技术采用了加密传输和数字签名,能够实现上述要求,因此在国内外电子商务中,都得到了广泛的应用。<BR><BR>PKI采用证书进行公钥管理,通过第三方的可信任机构(认证中心,即CA),把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信息,以在Internet网上验证用户的身份。PKI把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的安全传输。<BR><BR>因此,从大的方面来说,所有提供公钥加密和数字签名服务的系统,都可归结为PKI系统的一部分,PKI的主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性。数据的机密性是指数据在传输过程中,不能被非授权者偷看;数据的完整性是指数据在传输过程中不能被非法篡改;数据的有效性是指数据不能被否认。<BR><BR>一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI的内部运作机制。在一个典型、完整和有效的PKI系统中,除证书的创建和发布,特别是证书的撤销,一个可用的PKI产品还必须提供相应的密钥管理服务,包括密钥的备份、恢复和更新等。没有一个好的密钥管理系统,将极大影响一个PKI系统的规模、可伸缩性和在协同网络中的运行成本。在一个企业中,PKI系统必须有能力为一个用户管理多对密钥和证书;能够提供安全策略编辑和管理工具,如密钥周期和密钥用途等。<BR><BR>PKI发展的一个重要方面就是标准化问题,它也是建立互操作性的基础。目前,PKI标准化主要有两个方面:一是RSA公司的公钥加密标准PKCS(Public 
                        Key Cryptography 
                        Standards),它定义了许多基本PKI部件,包括数字签名和证书请求格式等;二是由Internet工程任务组IETF(Internet 
                        Engineering Task Force)和PKI工作组PKIX(Public Key 
                        Infrastructure Working 
                        Group)所定义的一组具有互操作性的公钥基础设施协议。在今后很长的一段时间内,PKCS和PKIX将会并存,大部分的PKI产品为保持兼容性,也将会对这两种标准进行支持。<BR><BR>PKI的发展非常快,已经从几年前的理论阶段过渡到目前的产品阶段,并且出现了大量成熟技术、产品和解决方案,正逐步走向成熟。PKI的发展受应用驱动的影响,比如,早期的Internet商务和Web安全要求主要依赖于SSL,并要求应用首先对证书进行处理,所以,在很多公司的消息和群组产品中都提供了公钥和证书系统,如Exchange和Notes等。另外,基于标准的基础设施和应用也同样促进了PKI的发展,它能够保证基于Internet的安全消息传送的可交互性,如S/MIME等。<BR><BR>目前,PKI产品的生产厂家很多,比较有代表性的主要有VeriSign和Entrust。VeriSign作为RSA的控股公司,借助RSA成熟的安全技术,提供了PKI产品,为用户之间的内部信息交互提供安全保障。另外,VeriSign也提供对外的CA服务,包括证书的发布和管理等功能,并且同一些大的生产商,如Microsoft、Netscape和JavaSoft等,保持了伙伴关系,以在Internet上提供代码签名服务。<BR><BR>Entrust作为北方电讯(Northern 
                        Telecom)的控股公司,从事PKI的研究与产品开发已经有很多年的历史了,并一直在业界保持领先地位,拥有许多成熟的PKI及配套产品,并提供了有效的密钥管理功能。<BR><BR>另外,一些大的厂商,如Microsoft、Netscape和Novell等,都开始在自己的网络基础设施产品中增加PKI功能。Netscape已经开始把证书服务器作为了SuiteSpot的一部分,虽然其证书服务器没有Entrust产品的功能全面和完善,但提供了基本的证书生成和管理功能。即使没有密钥管理功能,但由于Netscape把证书服务器同SuiteSpot服务器和Communicator客户端产品的集成,依靠广泛的市场基础,也取得的越来越多的市场份额。由SUN和Netscape联盟组成的iplanet公司(Sun|Netscape 
                        Alliance)也在PKI方面做了很大的努力,凭借其在网络和电子商务方面的优势,发展了很多性能优越的PKI产品,如LDAP目录服务器和证书管理系统等。<BR><BR>2 
                        PKI组成 
                        <BR>PKI作为一组在分布式计算系统中利用公钥技术和X.509证书所提供的安全服务,企业或组织可利用相关产品建立安全域,并在其中发布密钥和证书。在安全域内,PKI管理加密密钥和证书的发布,并提供诸如密钥管理(包括密钥更新,密钥恢复和密钥委托等)、证书管理(包括证书产生和撤销等)和策略管理等。PKI产品也允许一个组织通过证书级别或直接交叉认证等方式来同其他安全域建立信任关系。这些服务和信任关系不能局限于独立的网络之内,而应建立在网络之间和Internet之上,为电子商务和网络通信提供安全保障,所以具有互操作性的结构化和标准化技术成为PKI的核心<BR><BR>PKI在实际应用上是一套软硬件系统和安全策略的集合,它提供了一整套安全机制,使用户在不知道对方身份或分布地很广的情况下,以证书为基础,通过一系列的信任关系进行通讯和电子商务交易。<BR><BR>一个典型的PKI系统如图1所示,其中包括PKI策略、软硬件系统、证书机构CA、注册机构RA、证书发布系统和PKI应用等。 
                        <BR><BR>PKI安全策略建立和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。它包括一个组织怎样处理密钥和有价值的信息,根据风险的级别定义安全控制的级别。一般情况下,在PKI中有两种类型的策略:一是证书策略,用于管理证书的使用,比如,可以确认某一CA是在Internet上的公有CA,还是某一企业内部的私有CA;另外一个就是CPS(Certificate 
                        Practice 
                        Statement)。一些由商业证书发放机构(CCA)或者可信的第三方操作的PKI系统需要CPS。这是一个包含如何在实践中增强和支持安全策略的一些操作过程的详细文档。它包括CA是如何建立和运作的,证书是如何发行、接收和废除的,密钥是如何产生、注册的,以及密钥是如何存储的,用户是如何得到它的等等。 
                        <BR>证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。后面将会在CA进行详细介绍。 
                        <BR>注册机构RA提供用户和CA之间的一个接口,它获取并认证用户的身份,向CA提出证书请求。它主要完成收集用户信息和确认用户身份的功能。这里指的用户,是指将要向认证中心(即CA)申请数字证书的客户,可以是个人,也可以是集团或团体、某政府机构等。注册管理一般由一个独立的注册机构(即RA)来承担。它接受用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资格审查。因此,RA可以设置在直接面对客户的业务部门,如银行的营业部、机构认识部门等。当然,对于一个规模较小的PKI应用系统来说,可把注册管理的职能由认证中心CA来完成,而不设立独立运行的RA。但这并不是取消了PKI的注册功能,而只是将其作为CA的一项功能而已。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。 
                        <BR>证书发布系统负责证书的发放,如可以通过用户自己,或是通过目录服务。目录服务器可以是一个组织中现存的,也可以是PKI方案中提供的。 
                        <BR>PKI的应用非常广泛,包括在web服务器和浏览器之间的通讯、电子邮件、电子数据交换(EDI)、在Internet上的信用卡交易和虚拟私有网(VPN)等。 
                        <BR><BR><BR><IMG 
                        src="PKI技术及应用开发指南.files/fig1.gif"><BR><BR>图1 
                        PKI组成框图<BR><BR>一个简单的PKI系统包括证书机构CA、注册机构RA和相应的PKI存储库。CA用于签发并管理证书;RA可作为CA的一部分,也可以独立,其功能包括个人身份审核、CRL管理、密钥产生和密钥对备份等;PKI存储库包括LDAP目录服务器和普通数据库,用于对用户申请、证书、密钥、CRL和日志等信息进行存储和管理,并提供一定的查询功能。<BR><BR>3 
                        证书认证机构CA<BR><BR>3.1 数字证书基础 
                        <BR>数字证书是一种数字标识,可以说是Internet上的安全护照或身份证明。当人们到其他国家旅行时,用户护照可以证实其身份,并被获准进入这个国家。数字证书提供的是网络上的身份证明。<BR><BR>数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息和公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT 
                        X.509国际标准。<BR><BR>3.1.1 证书格式 
                        <BR>在Internet网络中,应用程序使用的证书都来自不同的厂商或组织,为了实现可交互性,要求证书能够被不同的系统识别,符合一定的格式,并实现标准化。X.509为证书及其CRL格式提供了一个标准。但X.509本身不是Internet标准,而是国际电联ITU标准,它定义了一个开放的框架,并在一定的范围内可以进行扩展。<BR><BR>为了适应PKI技术的发展,IETF也必须制定在Internet上使用X.509和CRL的标准。PKIX工作组就提供了一个Internet草案"Part 
                        I: X.509 Certificate and CRL 
                        Profile"(详细内容可见:ftp://ftp.ietf.org/internet-drafts/draft-ietf-pkix-ipki-part1-11.txt),用于定义在Internet 
                        PKI中使用X.509和CRL的方法和规范。该草案把X.509作为标准,并对各标准项和扩展做了说明,基本接收了X.509作为Internet中的证书标准,但也定义了被PKI应用的X.509 
                        V3和CRL 
                        V2标准格式的设置,这些设置包含了PKIX工作组对X.509所做的一些新的扩展。<BR><BR>X.509目前有三个版本:V1、V2和V3,其中V3是在V2的基础上加上扩展项后的版本,这些扩展包括由ISO文档(X.509-AM)定义的标准扩展,也包括由其他组织或团体定义或注册的扩展项。X.509由ITU-T 
                        X.509(前身为CCITT X.509)或ISO/IEC 
                        9594-8定义,最早以X.500目录建议的一部分发表于1988年,并作为V1版本的证书格式。X.500于1993年进行了修改,并在V1基础上增加了两个额外的域,用于支持目录存取控制,从而产生了V2版本。<BR><BR>为了适应新的需求ISO/IEC和ANSI 
                        X9发展了X.509 
                        V3版本证书格式,该版本证书通过增加标准扩展项对V1和V2证书进行了扩展。另外,根据实际需要,各个组织或团体也可以增加自己的私有扩展。<BR><BR>X.509 
                        V1和V2证书所包含的主要内容如下: 
                        <BR><BR>证书版本号(Version):版本号指明X.509证书的格式版本,现在的值可以为0、1、2,也为将来的版本进行了预定义。 
                        <BR>证书序列号(SerialNumber):序列号指定由CA分配给证书的唯一的数字型标识符。当证书被取消时,实际上是将此证书的序列号放入由CA签发的CRL中,这也是序列号唯一的原因。 
                        <BR>签名算法标识符(Signature):签名算法标识用来指定由CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和hash算法,须向国际知名标准组织(如ISO)注册。 
                        <BR>签发机构名(Issuer):此域用来标识签发证书的CA的X.500 
                        DN名字。包括国家、省市、地区、组织机构、单位部门和通用名。 
                        <BR>有效期(Validity):指定证书的有效期,包括证书开始生效的日期和时间以及失效的日期和时间。每次使用证书时,需要检查证书是否在有效期内。 
                        <BR>证书用户名(Subject):指定证书持有者的X.500唯一名字。包括国家、省市、地区、组织机构、单位部门和通用名,还可包含email地址等个人信息等 
                        <BR>证书持有者公开密钥信息(subjectPublicKeyInfo):证书持有者公开密钥信息域包含两个重要信息:证书持有者的公开密钥的值;公开密钥使用的算法标识符。此标识符包含公开密钥算法和hash算法。 
                        <BR>签发者唯一标识符(Issuer Unique 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -