关于PKICAWord格式文档下载.docx
《关于PKICAWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《关于PKICAWord格式文档下载.docx(17页珍藏版)》请在冰点文库上搜索。
![关于PKICAWord格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/f1e819e4-8bd7-4b4a-9284-ae0b9a28159d/f1e819e4-8bd7-4b4a-9284-ae0b9a28159d1.gif)
证书作废处理系统是PKI的一个必备的组件。
与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。
为实现这一点,PKI必须提供作废证书的一系列机制。
应用接口(API):
PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
通常来说,CA是证书的签发机构,它是PKI的核心。
众所周知,构建密码服务系统的核心内容是如何实现密钥管理。
公钥体制涉及到一对密钥(即私钥和公钥),私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故公钥体制的密钥管理主要是针对公钥的管理问题,目前较好的解决方案是数字证书机制。
PKI介绍1.1PKI的概念PKI是"
PublicKeyInfrastructure"
的缩写,意为"
,是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。
PKI利用数字证书标识密钥持有人的身份,通过对密钥的规范化管理,为组织机构建立和维护一个可信赖的系统环境,透明地为应用系统提供身份认证、数据保密性和完整性、抗抵赖等各种必要的安全保障,满足各种应用系统的安全需求。
简单的说,PKI是提供公钥加密和数字签名服务的系统,目的是为了自动管理密钥和证书,保证网上数字信息传输的机密性、真实性、完整性和不可否认性。
就像墙上的电源插座和TCP/IP栈一样,它的"
接入点"
是统一的。
1.2为什么需要PKI随着网络技术的发展,特别是Internet的全球化,各种基于互联网技术的网上应用,如电子政务、电子商务等得到了迅猛发展。
网络正逐步成为人们工作、生活中不可分割的一部分。
由于互联网的开放性和通用性,网上的所有信息对所有人都是公开的,因此应用系统对信息的安全性提出了更高的要求。
(1)对身份合法性验证的要求
以明文方式存储、传送的用户名和口令存在着被截获、破译等诸多安全隐患。
同时,还有维护不便的缺点。
因此,需要一套安全、可靠并易于维护的用户身份管理和合法性验证机制来确保应用系统的安全性。
(2)对数据保密性和完整性的要求
企业应用系统中的数据一般都是明文,在基于网络技术的系统中,这种明文数据很容易泄密或被篡改,必须采取有效的措施保证数据的保密性和完整性。
(3)传输安全性要求
以明文方式在网上传输的数据,很容易被截获以至泄密,必须对通信通道进行加密保护。
利用通信专线的传统方式已经远远不能满足现代网络应用发展的需求,必须寻求一种新的方法来保证基于互联网技术的传输安全需求。
(4)对数字签名和不可否认的要求
不可抵赖性为了防止事件发起者事后抵赖,对于规范业务,避免法律纠纷起着很大的作用。
传统不可抵赖性是通过手工签名完成的,在网络应用中,需要一种具有同样功能的机制来保证不可抵赖性,那就是数字签名技术。
PKI基于非对称公钥体制,采用数字证书管理机制,可以为透明地为网上应用提供上述各种安全服务,极大地保证了网上应用的安全性。
1.3功能组成结构PKI公钥基础设施体系主要由密钥管理中心、CA认证机构、RA注册审核机构、证书/CRL发布系统和应用接口系统五部分组成,其功能结构如下图所示:
1.密钥管理中心(KMC):
密钥管理中心向CA服务提供相关密钥服务,如密钥生成、密钥存储、密钥备份、密钥恢复、密钥托管和密钥运算等。
2.CA认证机构:
CA认证机构是PKI公钥基础设施的核心,它主要完成生成/签发证书、生成/签发证书撤销列表(CRL)、发布证书和CRL到目录服务器、维护证书数据库和审计日志库等功能。
3.RA注册审核机构:
RA是数字证书的申请、审核和注册中心。
它是CA认证机构的延伸。
在逻辑上RA和CA是一个整体,主要负责提供证书注册、审核以及发证功能。
4.发布系统:
发布系统主要提供LDAP服务、OCSP服务和注册服务。
注册服务为用户提供在线注册的功能;
LDAP提供证书和CRL的目录浏览服务;
OCSP提供证书状态在线查询服务。
5应用接口系统:
应用接口系统为外界提供使用PKI安全服务的入口。
应用接口系统一般采用API、JavaBean、COM等多种形式。
一个典型、完整、有效的PKI应用系统至少应具有以下部分
公钥密码证书管理。
(证书库)
黑名单的发布和管理。
(证书撤销)
密钥的备份和恢复。
自动更新密钥。
自动管理历史密钥。
1.4CA分布式体系结构的建立CA认证机构是PKI安全体系的核心,对于一个大型的分布式企业应用系统,需要根据应用系统的分布情况和组织结构设立多级CA机构。
CA信任体系描述了PKI安全体系的分布式结构,具体结构形式如图2-2所示。
图表?
1CA信任体系结构
1.4.1CA证书签发管理机构
CA证书签发管理机构指包括根CA在内的各级CA。
根CA是整个CA体系的信任源。
负责整个CA体系的管理,签发并管理下级CA证书。
从安全角度出发,根CA一般采用离线工作方式。
根以下的其他各级CA负责本辖区的安全,为本辖区用户和下级CA签发证书,并管理所发证书。
理论上CA体系的层数可以没有限制的,考虑到整个体系的信任强度,在实际建设中,一般都采用两级或三级CA结构。
1.4.2.RA注册审核机构设置
从广义上讲,RA是CA的一个组成部分,主要负责数字证书的申请、审核和注册。
除了根CA以外,每一个CA机构都包括一个RA机构,负责本级CA的证书申请、审核工作。
RA机构的设置可以根据企业行政管理机构来进行,RA的下级级构可以是RA分中心或业务受理点LRA。
受理点LRA与注册机构RA共同组成证书申请、审核、注册中心的整体。
LRA面向最终用户,负责对用户提交的申请资料进行录入、审核和证书制作。
1.4.3KMC密钥管理中心密钥管理中心(KMC),是公钥基础设施中的一个重要组成部分,负责为CA系统提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。
一般来说,每一个CA中心都需要有一个KMC负责该CA区域内的密钥管理任务。
KMC可以根据应用所需PKI规模的大小灵活设置,既可以建立单独的KMC,也可以采用镶嵌式KMC,让KMC模块直接运行在CA服务器上。
1.4.4发布系统发布系统是PKI安全体系中的一个重要组成部分。
它由用于发布数字证书和CRL的证书发部系统、在线证书状态查询系统(OCSP)和在线注册服务系统组成。
证书和CRL采用标准的LDAP协议发布到LDAP服务器上,应用程序可以通过发布系统验证用户证书的合法性。
OCSP提供证书状态的实时在线查询功能。
发布系统支持层次化分布式结构,具有很好的扩展性、灵活性和高性能,可以为企业大型应用系统提供方便的证书服务,能够满足大型应用系统的安全需求。
1.5PKI提供的安全服务
安全登录
当应用系统需要用户远程登录的时候,用于身份认证的信息(如口令)在未受保护的网络上传输,容易被截取和监听,即使口令被加密也无法防范重放攻击.选用足够长的密码或者经常修改密码对用户来说不是一件好的事情.PKI可以让登录的事件只发生在本地并且可以将成功登录的结果安全地扩展到远程的应用程序,因此在远程登录事件中引入强健的认证机制,可以是口令在网络上传递.PKI并不会取消使用口令的方式,口令方式作为用户进入PKI本身的认证机制.
单点登录
当一个用户需要同时运行多个应用程序,而这些程序都需要登陆认证时,PKI将一个成功的登录通知到其他需要登录的设备(代理证书),减少远程登录的需求,减少口令在网络上传递的频率..
严格地说,单点登录指的是允许用户登录到一个应用,这个应用带有经过认证的到其他应用的访问途径,登录到这个应用之后,用户无需再遭遇任何其他的认证。
用更实际的话来说,它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。
终端用户透明
除了初始的登录以外,其他所有的安全任务的完成对用户来说都是透明的
全面的安全服务
安全基础设施保证大范围的组织实体和设备采用统一的方式使用理解和处理密钥,提供在同一水平上的操作一致性.
一般来说PKI提供了3个主要服务
1认证-----向一个实体确认另一个实体确实是他自己
2完整性----向一个实体确保数据没有被有意或无意的修改.一般采用基于对称密钥技术的MAC进行数据完整性的检验.除非需要数据来源的认证,才使用签名算法.
3机密性----向一个实体确保除了接收者,无人能读懂数据的关键部分.用对称密钥加密,用加密公钥加密对称密钥.
1.6PKI用到的加密技术
1.6.1消息摘要与消息认证码
消息摘要是一种确保消息完整性的功能。
消息摘要获取消息作为输入并生成位块(通常是几百位长),该位块表示消息的指纹。
消息中很小的更改(比如说,由闯入者和窃听者造成的更改)将引起指纹发生显著更改。
消息摘要函数是单向函数。
从消息生成指纹是很简单的事情,但生成与给定指纹匹配的消息却很难。
消息摘要可强可弱。
校验和(消息的所有字节异或运算的结果)是弱消息摘要函数的一个示例。
很容易修改一个字节以生成任何期望的校验和指纹。
大多数强函数使用散列法。
消息中1位更改将引起指纹中巨大的更改(理想的比例是更改指纹中50%的位)。
消息摘要算法:
MD2和MD5,它们都是128位算法SHA-1是160位算法SHA-256、SHA-383和SHA-512提供更长的指纹,大小分别是256位、383位和512位特点:
&
适用不需要把密文转化为明文的场合
很容易将明文转化为密文,反过来不可能
适用于不需要解密的场合如签名文件,鉴别,密钥管理
传送过程:
如果在计算消息摘要的过程中加入相应的密码,就是消息认证码
1.6.2私钥密码技术
私钥密码技术是一种确保消息机密性的功能,也称为对称加密技术,加密者和解密者共享密钥.
私钥加密示意图:
对称加密可以加密单一位或块.块一般是64位大小.如果消息大小不是64的整数倍,就要填充补位,填充技术有很多,如:
PKCS5,OAEP,SSL3等等.
私钥加密的强度主要取决于密码算法和密钥的长度,如果算法比较好,那么攻击它的唯一方法就是使用尝试每个可能密钥的蛮力攻击.一般现在采用128位密钥.
优点:
保密强度高,计算开销小,处理速度快。
缺点:
密钥管理困难
私钥算法有:
lDES(Dataencriptionstandard)56位分组密码主要用替换和移位的方法,用56位密钥对64位二进制数据块加密.
lTripleDES对DES的改进,用两个密钥对明文运行DES算法三次,从而得到112位有效密钥强度.两个56位的密钥K1,K2,发送方用K1加密,用K2解密,再用K1加密;
接收方用K1解密,K2加密,再用K1解密,这相当于将密钥长度加倍.
lAES(Advancedencriptionstandard)高级加密标准128位分组密码,密钥长度为128位,192位或者256位
lRC2RC4RC5
lBlowfish一种从32位到448位的可变密钥长度的分组密码,被设计用于在软件中有效实现微处理器
DES加密技术的原理:
1.6.3公钥密码术
公钥密码术是上世纪70年代发明的,它解决在没有事先约定密钥的通信双方之间加密消息的问题。
在公钥密码术中,每个实体都有两个密钥(密钥对)---一个公钥,一个私钥,公钥向外发布,任何人都可以获得,私钥只有自己唯一拥有.消息发送者用消息接收者的公钥加密消息,消息接收者用自己的私钥解密消息.公钥加密示意图:
公钥和私钥是成对生成的,并需要比同等强度的私钥加密密钥更长。
RSA算法的典型密钥长度是1,024位。
从该密钥对的一个成员派生出另一个是不可行的。
便于密钥管理、分发、便于签字签名。
计算开销大,处理速度慢。
公钥加密比较慢(比私钥加密慢100到1,000倍),因此实际上通常使用混合技术。
公钥加密被用于向对方分发称为会话密钥的私钥,使用该私有会话密钥的私钥加密被用于进行大量的消息加密,一般不直接用公钥加密信息.
一般用一个两步过程来代替公钥加密:
1用随机生成的对称密钥来加密数据
2接着用授权接收者的公钥来加密这个对称密钥
授权接收者接受到加过密的数据后,也采取类似的两个过程:
1授权接收者用自己的私钥来解出对称密钥
2接着用对称密钥进行解密获得原始数据
公钥加密中使用下列两种算法:
RSA。
这个算法是最流行的公钥密码,但JDK1.4中不支持它。
您必须使用类似于BouncyCastle的第三方库来获得这种支持。
Diffie-Hellman。
技术上将这种算法称为密钥协定算法。
它不能用于加密,但可以用来允许双方通过在公用通道上共享信息来派生出秘钥。
然后这个密钥可以用于私钥加密。
RSA的演算方法是:
1)用户选择2个够大的保密质数q、p(一般为100位以上十进数)
2)令n=pq,n是公开的,从n分解除qp是极其困难的。
n的欧拉函数:
#934;
(n)=(p-1)(q-1)
(n)小于等于n,并与n互质
3)选择一个相对大的整数e作为加密指数,使e与&
(n)互质,且1&
lt;
e&
(n)。
4)解同等方程:
ed=1mod&
(n)
求出解密指数d
5)设M、C分别为要加密的明文和被加密的密文(M、C小于n)
则:
加密运算为:
C=Memodn
解密运算为:
M=Cdmodn
6)每个用户都有一组密钥(e、d、n)
(e,n)为PK'
可以公开在手册上的公钥,e为加密指数,
(d,n)为SK'
(或PV)是用户保密的私钥
将p.q销毁
7)要求明文X&
n
1.6.4数字签名与数字信封 公钥密码体制在实际应用中包含数字签名和数字信封两种方式。
数字签名
数字签名是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据。
信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与自己用收到的原始数据产生的哈希哈希摘要对照,便可确信原始信息是否被篡改。
这样就保证了数据传输的不可否认性。
数字签名与消息认证不同,消息认证使收方能验证消息发送者是谁及所发消息是否被窜改,当收发者之间没有利害冲突时,只对防止第三者破坏是足够了。
但是,当发收双方有利害冲突时,单是消息认证技术就无法解决他们之间的纠纷,此时就必须采用数字签名了。
要签名的数据大小是任意的,但是一个私钥的操作却有着固定大小的输入和输出,要解决这个问题就用到密码杂凑函数.杂凑函数的输入大小是任意的,输出时固定的,而且很难找到两个不同的杂凑输入他们的杂凑输出是一样的.签名操作就是一个两个过程:
1签名者通过杂凑函数把数据变成固定大小
2签名者把杂凑后的结果用私钥操作得到签名数据
验证操作:
1验证者通过杂凑函数把数据变成固定大小
2验证者检查杂凑后的结果,传输来的签名,签名实体的公钥,如果签名与公钥和杂凑结果相匹配,签名就被验证,否则验证失败
哈希算法是一类符合特殊要求的散列函数(Hash)函数,这些特殊要求是:
接受的输入报文数据没有长度限制;
对任何输入报文数据生成固定长度的摘要("
数字指纹"
)输出;
由报文能方便地算出摘要;
难以对指定的摘要生成一个报文,由该报文可以得出指定的摘要;
难以生成两个不同的报文具有相同的摘要。
过程图:
数字信封
数字信封的功能类似于普通信封。
普通信封在法律的约束下保证只有收信人才能阅读信的内容;
数字信封则采用密码技术保证了只有规定的接收人才能阅读信息的内容。
数字信封中采用了单钥密码体制和公钥密码体制。
信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封。
在传递信息时,信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。
这样就保证了数据传输的真实性和完整性。
过程图:
1.6.5双重数字1.6.6数字证书1.7PKI的标准
从整个PKI体系建立与发展的历程来看,与PKI相关的标准主要包括以下一些。
1)X.209(1988)ASN.1基本编码规则的规范
ASN.1是描述在网络上传输信息格式的标准方法。
它有两部分:
第一部份(ISO8824/ITUX.208)描述信息内的数据、数据类型及序列格式,也就是数据的语法;
第二部分(ISO8825/ITUX.209)描述如何将各部分数据组成消息,也就是数据的基本编码规则。
ASN.1原来是作为X.409的一部分而开发的,后来才独立地成为一个标准。
这两个协议除了在PKI体系中被应用外,还被广泛应用于通信和计算机的其他领域。
2)X.500(1993)信息技术之开放系统互联:
概念、模型及服务简述
X.500是一套已经被国际标准化组织(ISO)接受的目录服务系统标准,它定义了一个机构如何在全局范围内共享其名字和与之相关的对象。
X.500是层次性的,其中的管理域(机构、分支、部门和工作组)可以提供这些域内的用户和资源信息。
在PKI体系中,X.500被用来惟一标识一个实体,该实体可以是机构、组织、个人或一台服务器。
X.500被认为是实现目录服务的最佳途径,但X.500的实现需要较大的投资,并且比其他方式速度慢;
而其优势具有信息模型、多功能和开放性[20]。
3)X.509(1993)信息技术之开放系统互联:
鉴别框架
X.509是由国际电信联盟(ITU-T)制定的数字证书标准。
在X.500确保用户名称惟一性的基础上,X.509为X.500用户名称提供了通信实体的鉴别机制,并规定了实体鉴别过程中广泛适用的证书语法和数据接口。
X.509的最初版本公布于1988年。
X.509证书由用户公共密钥和用户标识符组成。
此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。
这一标准的最新版本是X.509v3,它定义了包含扩展信息的数字证书[21]。
该版数字证书提供了一个扩展信息字段,用来提供更多的灵活性及特殊应用环境下所需的信息传送。
4)PKCS系列标准
PKCS是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
到1999年底,PKCS已经公布了以下标准:
PKCS#1:
定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。
PKCS#3:
定义Diffie-Hellman密钥交换协议[23]。
PKCS#5:
描述一种利用从口令派生出来的安全密钥加密字符串的方法。
使用MD2或MD5从口令中派生密钥,并采用DES-CBC模式加密。
主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息[24]。
PKCS#6:
描述了公钥证书的标准语法,主要描述X.509证书的扩展格式[25]。
PKCS#7:
定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息[26]。
PKCS#8:
描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等[27]。
PKCS#9:
定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型[28]。
PKCS#10:
描述证书请求语法[29]。
PKCS#11:
称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备[30]。
PKCS#12:
描述个人信息交换语法标准。
描述了将用户公钥、私钥、证书和其他相关信息打包的语法[31]。
PKCS#13:
椭圆曲线密码体制标准[32]。
PKCS#14:
伪随机数生成标准。
PKCS#15:
密码令牌信息格式标准[33]。
5)OCSP在线证书状态协议
OCSP(OnlineCertificateStatusProtocol)是IETF颁布的用于检查数字证书在某一交易时刻是否仍然有效的标准[34]。
该标准提供给PKI用户一条方便快捷的数字证书状态查询通道,使PKI体系能够更有效、更安全地在各个领域中被广泛应用。
6)LDAP轻量级目录访问协议
LDAP规范(RFC1487)简化了笨重的X.500目录访问协议,并且在功能性、数据表示、编码和传输方面都进行了相应的修改。
1997年,LDAP第3版本成为互联网标准。
目前,LDAPv3已经在PKI体系中被广泛应用于证书信息发布、CRL信息发布、CA政策以及与信息发布相关的各个方面[35]。
除了以上协议外,还有一些构建在PKI体系上的应用协议,这些协议是PKI体系在应用和普及化方面的代表作,包括SET协议和SSL协议。
目前PKI体系中已经包含了众多的标准和标准协议,由于PKI技术的不断进步和完善,以及其应用的不断普及,将来还会有更多的标准和协议加入。
1.8PKI的应用标准
基于PKI技术,目前世界上已经出现了许多依赖于PKI的安全标准,即PKI的应用标准,如安全的套接层协议SSL、传输层安全协议TLS、安全的多用途互连网邮件扩展协