一 : 关于PKI,CA
PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
PKI的基本组成:
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。一个典型、完整、有效的PKI应用系统至少应具有以下部分:
· 公钥密码证书管理。
· 黑名单的发布和管理。
· 密钥的备份和恢复。
· 自动更新密钥。
· 自动管理历史密钥。
· 支持交叉认证。
认证机构(CA):即数字证书的申请及签发机关,CA必须具备权威性的特征;
数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;
密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。
证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。
应用接口(API):PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
通常来说,CA是证书的签发机构,它是PKI的核心。众所周知,构建密码服务系统的核心内容是如何实现密钥管理。公钥体制涉及到一对密钥(即私钥和公钥),私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故公钥体制的密钥管理主要是针对公钥的管理问题,目前较好的解决方案是数字证书机制。
PKI 介 绍
1.1 PKI的概念
PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施",是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。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.4 CA分布式体系结构的建立
CA认证机构是PKI安全体系的核心,对于一个大型的分布式企业应用系统,需要根据应用系统的分布情况和组织结构设立多级CA机构。CA信任体系描述了PKI安全体系的分布式结构,具体结构形式如图2-2所示。
图表?1 CA信任体系结构
1.4.1 CA证书签发管理机构
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.3 KMC密钥管理中心
密钥管理中心(KMC),是公钥基础设施中的一个重要组成部分,负责为CA系统提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。
一般来说,每一个CA中心都需要有一个KMC负责该CA区域内的密钥管理任务。KMC可以根据应用所需PKI规模的大小灵活设置,既可以建立单独的KMC,也可以采用镶嵌式KMC,让KMC模块直接运行在CA服务器上。
1.4.4发布系统
发布系统是PKI安全体系中的一个重要组成部分。它由用于发布数字证书和CRL的证书发部系统、在线证书状态查询系统(OCSP)和在线注册服务系统组成。证书和CRL采用标准的LDAP协议发布到LDAP服务器上,应用程序可以通过发布系统验证用户证书的合法性。OCSP提供证书状态的实时在线查询功能。
发布系统支持层次化分布式结构,具有很好的扩展性、灵活性和高性能,可以为企业大型应用系统提供方便的证书服务,能够满足大型应用系统的安全需求。
1.5 PKI提供的安全服务
安全登录
当应用系统需要用户远程登录的时候,用于身份认证的信息(如口令)在未受保护的网络上传输,容易被截取和监听,即使口令被加密也无法防范重放攻击.选用足够长的密码或者经常修改密码对用户来说不是一件好的事情.PKI 可以让登录的事件只发生在本地并且可以将成功登录的结果安全地扩展到远程的应用程序,因此在远程登录事件中引入强健的认证机制,可以是口令在网络上传递.PKI并不会取消使用口令的方式,口令方式作为用户进入PKI本身的认证机制.
单点登录
当一个用户需要同时运行多个应用程序,而这些程序都需要登陆认证时,PKI将一个成功的登录通知到其他需要登录的设备(代理证书),减少远程登录的需求,减少口令在网络上传递的频率..
严格地说,单点登录指的是允许用户登录到一个应用,这个应用带有经过认证的到其他应用的访问途径,登录到这个应用之后,用户无需再遭遇任何其他的认证。用更实际的话来说,它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。
终端用户透明
除了初始的登录以外,其他所有的安全任务的完成对用户来说都是透明的
全面的安全服务
安全基础设施保证大范围的组织实体和设备采用统一的方式使用理解和处理密钥,提供在同一水平上的操作一致性.
一般来说PKI提供了3个主要服务
1 认证-----向一个实体确认另一个实体确实是他自己
2 完整性----向一个实体确保数据没有被有意或无意的修改.一般采用基于对称密钥技术的MAC进行数据完整性的检验.除非需要数据来源的认证,才使用签名算法.
3 机密性----向一个实体确保除了接收者,无人能读懂数据的关键部分.用对称密钥加密,用加密公钥加密对称密钥.
1.6 PKI用到的加密技术
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位密钥.
优点:保密强度高,计算开销小,处理速度快。
缺点:密钥管理困难
私钥算法有:
l DES(Data encription standard) 56位分组密码 主要用替换和移位的方法, 用56位密钥对64位二进制数据块加密.
l TripleDES 对DES的改进,用两个密钥对明文运行DES算法三次,从而得到112位有效密钥强度.两个56位的密钥K1,K2, 发送方用K1加密,用K2解密,再用K1加密;接收方用K1解密,K2加密,再用K1解密,这相当于将密钥长度加倍.
l AES(Advanced encription standard) 高级加密标准 128位分组密码,密钥长度为128位,192 位或者256位
l RC2 RC4 RC5
l Blowfish 一种从32位到448位的可变密钥长度的分组密码,被设计用于在软件中有效实现微处理器
DES加密技术的原理:
1.6.3 公钥密码术
公钥密码术是上世纪 70 年代发明的,它解决在没有事先约定密钥的通信双方之间加密消息的问题。在公钥密码术中,每个实体都有两个密钥(密钥对)---一个公钥 ,一个私钥,公钥向外发布,任何人都可以获得,私钥只有自己唯一拥有.消息发送者用消息接收者的公钥加密消息,消息接收者用自己的私钥解密消息.公钥加密示意图:
公钥和私钥是成对生成的,并需要比同等强度的私钥加密密钥更长。RSA 算法的典型密钥长度是 1,024 位。从该密钥对的一个成员派生出另一个是不可行的。
优点:便于密钥管理、分发、便于签字签名。
缺点:计算开销大,处理速度慢。
公钥加密比较慢(比私钥加密慢 100 到 1,000 倍),因此实际上通常使用混合技术。公钥加密被用于向对方分发称为会话密钥的私钥,使用该私有会话密钥的私钥加密被用于进行大量的消息加密,一般不直接用公钥加密信息.
一般用一个两步过程来代替公钥加密:
1 用随机生成的对称密钥来加密数据
2 接着用授权接收者的公钥来加密这个对称密钥
授权接收者接受到加过密的数据后,也采取类似的两个过程:
1 授权接收者用自己的私钥来解出对称密钥
2 接着用对称密钥进行解密获得原始数据
公钥加密中使用下列两种算法:
RSA。这个算法是最流行的公钥密码,但 JDK 1.4 中不支持它。您必须使用类似于 BouncyCastle 的第三方库来获得这种支持。
Diffie-Hellman。技术上将这种算法称为密钥协定算法。它不能用于加密,但可以用来允许双方通过在公用通道上共享信息来派生出秘钥。然后这个密钥可以用于私钥加密。
RSA的演算方法是:
1)用户选择2个够大的保密质数q、p(一般为100位以上十进数)
2)令n=pq,n是公开的,从n分解除qp是极其困难的。
n的欧拉函数:Φ(n)=(p-1)(q-1)
Φ(n)小于等于n,并与n互质
3)选择一个相对大的整数e作为加密指数,使e与Φ(n)互质,且1<e<Φ(n)。
4)解同等方程:
ed=1modΦ(n)
求出解密指数d
5)设M、C分别为要加密的明文和被加密的密文(M、C小于n)
则:加密运算为:C=Memod n
解密运算为:M=Cdmod n
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.7 PKI 的标准
从整个PKI体系建立与发展的历程来看,与PKI相关的标准主要包括以下一些。
1)X.209(1988)ASN.1基本编码规则的规范
ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:第一部份(ISO 8824/ITU X.208)描述信息内的数据、数据类型及序列格式,也就是数据的语法;第二部分(ISO 8825/ITU X.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.509 v3,它定义了包含扩展信息的数字证书[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(Online Certificate Status Protocol)是IETF颁布的用于检查数字证书在某一交易时刻是否仍然有效的标准[34]。该标准提供给PKI用户一条方便快捷的数字证书状态查询通道,使PKI体系能够更有效、更安全地在各个领域中被广泛应用。
6) LDAP 轻量级目录访问协议
LDAP规范(RFC1487)简化了笨重的X.500目录访问协议,并且在功能性、数据表示、编码和传输方面都进行了相应的修改。1997年,LDAP第3版本成为互联网标准。目前,LDAP v3已经在PKI体系中被广泛应用于证书信息发布、CRL信息发布、CA政策以及与信息发布相关的各个方面[35]。
除了以上协议外,还有一些构建在PKI体系上的应用协议,这些协议是PKI体系在应用和普及化方面的代表作,包括SET协议和SSL协议。
目前PKI体系中已经包含了众多的标准和标准协议,由于PKI技术的不断进步和完善,以及其应用的不断普及,将来还会有更多的标准和协议加入。
1.8 PKI的应用标准
基于PKI技术,目前世界上已经出现了许多依赖于PKI的安全标准,即PKI的应用标准,如安全的套接层协议SSL、传输层安全协议TLS、安全的多用途互连网邮件扩展协议S/MIME和IP安全协议IPSEC等,其中最著名、应用最为广泛的是SSL和SET协议.另外,随着PKI的进一步发展,新的标准也在不断的增加和更新.
SET安全电子交易协议采用公钥密码体制和X.509数字证书标准,主要应用于BtoC模式中保障支付信息的安全性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善。国外的银行和信用卡组织大都采用了SET协议
SSL(安全套接字)协议利用PKI技术来进行身份认证、完成数据加密算法及其密钥协商,很好地解决了身份验证、加密传输和密钥分发等问题。SSL被大家广泛接受和使用,是一个通用的安全协议。在SSL协议上面可以运行所有基于TCP/IP的网络应用。
ssl握手过程:
1.9 PKI的应用模式
上述PKI提供的安全服务恰好能满足电子商务、电子政务、网上银行、网上证券等金融业交易的安全需求,是确保这些活动顺利进行必备的安全措施,没有这些安全服务,电子商务、电子政务、网上银行、网上证券等都无法正常运作。
模式1:电子商务应用
电子商务的参与方一般包括买方、卖方、银行和作为中介的电子交易市场。买方通过自己的浏览器上网,登录到电子交易市场的Web服务器并寻找卖方。当买方登录服务器时,互相之间需要验证对方的证书以确认其身份,这被称为双向认证。
在双方身份被互相确认以后,建立起安全通道,并进行讨价还价,之后向商场提交订单。订单里有两种信息:一部分是订货信息,包括商品名称和价格;另一部分是提交银行的支付信息,包括金额和支付账号。买方对这两种信息进行"双重数字签名",分别用商场和银行的证书公钥加密上述信息。当商场收到这些交易信息后,留下订货单信息,而将支付信息转发给银行。商场只能用自己专有的私钥解开订货单信息并验证签名。同理,银行只能用自己的私钥解开加密的支付信息、验证签名并进行划账。银行在完成划账以后,通知起中介作用的电子交易市场、物流中心和买方,并进行商品配送。整个交易过程都是在PKI所提供的安全服务之下进行,实现了安全、可靠、保密和不可否认性。
模式2:电子政务
电子政务包含的主要内容有:网上信息发布、办公自动化、网上办公、信息资源共享等。按应用模式也可分为G2C、G2B、G2G,PKI在其中的应用主要是解决身份认证、数据完整性、数据保密性和不可抵赖性等问题。
例如,一个保密文件发给谁或者哪一级公务员有权查阅某个保密文件等,这些都需要进行身份认证,与身份认证相关的还有访问控制,即权限控制。认证通过证书进行,而访问控制通过属性证书或访问控制列表(ACL)完成。有些文件在网络传输中要加密以保证数据的保密性;有些文件在网上传输时要求不能被丢失和篡改;特别是一些保密文件的收发必须要有数字签名等。只有PKI提供的安全服务才能满足电子政务中的这些安全需求。
模式3:网上银行
网上银行是指银行借助于互联网技术向客户提供信息服务和金融交易服务。银行通过互联网向客户提供信息查询、对账、网上支付、资金划转、信贷业务、投资理财等金融服务。网上银行的应用模式有B2C个人业务和B2B对公业务两种。
网上银行的交易方式是点对点的,即客户对银行。客户浏览器端装有客户证书,银行服务器端装有服务器证书。当客户上网访问银行服务器时,银行端首先要验证客户端证书,检查客户的真实身份,确认是否为银行的真实客户;同时服务器还要到CA的目录服务器,通过LDAP协议查询该客户证书的有效期和是否进入"黑名单";认证通过后,客户端还要验证银行服务器端的证书。双向认证通过以后,建立起安全通道,客户端提交交易信息,经过客户的数字签名并加密后传送到银行服务器,由银行后台信息系统进行划账,并将结果进行数字签名返回给客户端。这样就做到了支付信息的保密和完整以及交易双方的不可否认性。
模式4:网上证券
网上证券广义地讲是证券业的电子商务,它包括网上证券信息服务、网上股票交易和网上银证转账等。一般来说,在网上证券应用中,股民为客户端,装有个人证书;券商服务器端装有Web证书。在线交易时,券商服务器只需要认证股民证书,验证是否为合法股民,是单向认证过程,认证通过后,建立起安全通道。股民在网上的交易提交同样要进行数字签名,网上信息要加密传输;券商服务器收到交易请求并解密,进行资金划账并做数字签名,将结果返回给客户端。
2.0 PKI的发展
从目前的发展来说,PKI的范围非常广,而不仅仅局限于通常认为的CA机构,它还包括完整的安全策略和安全应用。因此,PKI的开发也从传统的身份认证到各种与应用相关的安全场合,如企业安全电子商务和政府的安全电子政务等。
另外,PKI的开发也从大型的认证机构到与企业或政府应用相关的中小型PKI系统发展,既保持了兼容性,又和特定的应用相关。
目前PKI研究,发展是比较成熟的 ,它所用到的一些算法都比较完善.在国外,一般发达国家政府都建有国家级的PKI系统,应用于各个行业,形成一个有效的PKI信任树层次结构.在国内,研究PKI的人很多,理论上的研究很完善,有很多小型PKI\CA,各自为营,缺乏统一领导,统一规划,统一体制标准,也缺乏有力的法律支持. 目前,国家有关部门已经高度重视PKI产业的发展,我们国家也真在制订一些自己的协议,标准, .如科技部的863计划中专门为PKI立项,国家计委也正考虑制定新的计划来支持PKI产业的发展。随着电子政务和电子商务的发展,PKI技术也将取得比较大的发展,在国家电子政务工程中已经明确提出要构建PKI体系,国家PKI体系总体框架在2003年提出来了,目前正在建设当中。在国内PKI有很大的发展潜力,并且PKI技术在无线通信上也有很好应用.
补充一些PKI术语 CRL、增量 CRL、CTL、OCSP、LDAP、AIA、CDP、名称约束、证书模板
1. 证书吊销列表 (CRL):由 CA 颁发的数字签名列表,其中包括由 CA 颁发而且已经被吊销的证书。该列表包括被吊销证书序列号、证书被吊销的日期和吊销原因。应用程序能够执行 CRL 检查以便确定所示证书的吊销状态,也称为基本 CRL(相对于增量CRL)。
2. 增量 CRL:包括自从发布上一个基本 CRL 以来被吊销的证书列表的 CRL。增量 CRL 经常被用于吊销大量证书,以便优化带宽使用的环境。
3. 在线证书状态协议 (OCSP) :对证书状态进行实时在线验证(CryptoAPI 调用 OCSP 响应器,然后 OCSP 响应器为所示证书的吊销状态提供即时的验证)的协议。OCSP 响应器通常使用 CRL 检查维护其状态信息。
4. LDAP:全称是Lightweight Directory Access Protocol,一般都简称为LDAP。 LDAP 是一种相对简单的协议,它用于更新和搜索基于 TCP/IP 运行的目录。在PKI系统中一般可以用作证书发布、查询、下载服务。
5. AIA:颁发机构信息访问,包含 URL 位置(在此检索要颁发的 CA 证书)的证书扩展。AIA 扩展包括 HTTP、FTP、LDAP 或 FILE URL。
6. CDP:CRL 分发点,它指示从何处开始检索 CA 证书吊销列表。包括多个用于检索 CRL 的 HTTP、FTP、FILE 或 LDAP URL。
7.名称约束:一种约束,它限制提交给 CA 的证书请求中所允许和禁止使用的名称。
8. 证书模板:一般的CA机构不只颁发一种用途的证书,可以颁发像安全电子邮件、智能卡登录、服务器站点证书等多种证书,不同用途的证书是由不同的模板制作而成。
就好比是个旅馆,有很多种房间。你在房间里做什么都可以,只要你能进去。 PKI/CA就是负责给每个房间的客人发钥匙的。什么级别的人领取什么级别的钥匙,什么钥匙开什么锁。
钥匙丢了,就要重新换锁,再重新发钥匙。
举个例子可能更形象一些,PKI作为一种信息安全基础设施,类似于国家的公民身份管理基础设施,而CA就是负责签发公民身份证明文件(身份证)的专职机构(公安部门的户籍派出所),是国家授权的权威部门,每个公民的身份证就是CA签发的数字证书,是用来证明公民身份的权威证件。
说白了
数字证书就是一个在计算机网络上的数字身份证
CA就是负责发证的,同时也对外提供验证证件真伪的服务
PKI就是一整个管理身份证的大的系统
建设了PKI以后,在电脑上做事,必须有专属自己的证书也就是身份证件
才能对外表明自己的确切身份
可以拿数字证书和身份证做下类比。
CA就好象公安局,CA的数字签名就好象公安局的大章。
PKI就好象维护、发布、识别和认可居民身份证的社会体系。
二 : PKI/CA技术介绍
前言
全球经济发展正在进入信息经济时代,知识经济初见端倪。作为二十一世纪的主要经济增长方式--电子商务,将给各国和世界经济带来巨大的变革,产生深远的影响。电子商务通过大幅度降低交易成本,增加贸易机会,简化贸易流程,提高贸易效率;电子商务提高生产力,改善物流系统,并推动企业和国民经济结构的改革。对电子商务的关注和投入可以发展新兴产业,创造就业机会,推动国家和全球经济的发展。电子商务是一个新兴市场,而且是一种替代传统商务活动的新形式。它有可能彻底改变贸易活动的本质,形成一套全新的贸易活动框架。但如何保证Internet网上信息传输的安全,是发展电子商务的重要环节。
为解决Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI技术(Public Key Infrastructure-公钥基础设施),PKI(公钥基础设施)技术采用证书管理公钥,通过第三方的可信任机构--认证中心CA(Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在Internet网上验证用户的身份。目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。
单钥密码算法(加密)
PKI基础设施采用证书管理公钥,通过第三方的可信任机构--认证中心,把用户的公钥和用户的其他标识信息捆绑在一起,在Internet网上验证用户的身份。PKI基础设施把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的安全传输。
从广义上讲,所有提供公钥加密和数字签名服务的系统,都可叫做PKI系统,PKI的主要目的是通过自动管理密钥和证书,可以为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性,数据的机密性是指数据在传输过程中,不能被非授权者偷看;数据的完整性是指数据在传输过程中不能被非法篡改;数据的有效性是指数据不能被否认。一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI是怎样管理证书和密钥的,一个典型、完整、有效的PKI应用系统至少应具有以下部分:
公钥密码证书管理。
黑名单的发布和管理。
密钥的备份和恢复。
自动更新密钥。
自动管理历史密钥。
支持交叉认证。
由于PKI基础设施是目前比较成熟、完善的Internet网络安全解决方案,国外的一些大的网络安全公司纷纷推出一系列的基于PKI的网络安全产品,如美国的Verisign, IBM ,加拿大的Entrust、SUN等安全产品供应商为用户提供了一系列的客户端和服务器端的安全产品,为电子商务的发展以及政府办公网、EDI等提供了安全保证。简言之,PKI(Public Key Infrastructure)公钥基础设施就是提供公钥加密和数字签名服务的系统,目的是为了管理密钥和证书,保证网上数字信息传输的机密性、真实性、完整性和不可否认性。
1.单钥密码算法(加密)
单钥密码算法,又称对称密码算法:是指加密密钥和解密密钥为同一密钥的密码算法。因此,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)。在对称密钥密码算法中,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难;由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。最典型的是DES(Data Encryption Standard)算法。
DES(Data Encryption Standard,数据加密标准)算法,它是一个分组加密算法,它以64 bit位(8 byte)为分组对数据加密,其中有8 bit奇偶校验,有效密钥长度为56 bit。64位一组的明文从算法的一端输入,64位的密文从另一端输出。DES是一个对称算法,加密和解密用的是同一算法。DES的安全性依赖于所用的密钥。
密钥的长度为56位。(密钥通常表示为64位的数,但每个第8位都用作奇偶校验,可以忽略。)密钥可以是任意的56位的数,且可以在任意的时候改变。其中极少量的数被认为是弱密钥,但能容易地避开它们。所有的保密性依赖于密钥。简单地说,算法只不过是加密的两个基本技术--混乱和扩散的组合。DES基本组建分组是这些技术的一个组合(先代替后置换),它基于密钥作用于明文,这是众所周知的轮(round)。DES有16轮,这意味着要在明文分组上16次实施相同的组合技术。此算法只使用了标准的算术和逻辑运算,而其作用的数也最多只有64位。
DES对64位的明文分组进行操作,通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换),这样该算法就完成了。在每一轮中,密钥位移位,然后再丛密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作与48位密钥结合,通过8个s盒将这48位替代成新的32位数据,再将其置换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f输出与左半部分结合,其结果即成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,便实现了DES的16轮运算。
2.双钥密码算法(加密、签名)
双钥密码算法,又称公钥密码算法:是指加密密钥和解密密钥为两个不同密钥的密码算法。公钥密码算法不同于单钥密码算法,它使用了一对密钥:一个用于加密信息,另一个则用于解密信息,通信双方无需事先交换密钥就可进行保密通信。其中加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用;解密密钥只有解密人自己知道。这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。若以公钥作为加密密钥,以用户专用密钥(私钥)作为解密密钥,则可实现多个用户加密的信息只能由一个用户解读;反之,以用户私钥作为加密密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息而多个用户解读。前者可用于数字加密,后者可用于数字签名。
在通过网络传输信息时,公钥密码算法体现出了单密钥加密算法不可替代的优越性。对于参加电子交易的商户来说,希望通过公开网络与成千上万的客户进行交易。若使用对称密码,则每个客户都需要由商户直接分配一个密码,并且密码的传输必须通过一个单独的安全通道。相反,在公钥密码算法中,同一个商户只需自己产生一对密钥,并且将公开钥对外公开。客户只需用商户的公开钥加密信息,就可以保证将信息安全地传送给商户。
公钥密码算法中的密钥依据性质划分,可分为公钥和私钥两种。用户产生一对密钥,将其中的一个向外界公开,称为公钥;另一个则自己保留,称为私钥。凡是获悉用户公钥的任何人若想向用户传送信息,只需用用户的公钥对信息加密,将信息密文传送给用户便可。因为公钥与私钥之间存在的依存关系,在用户安全保存私钥的前提下,只有用户本身才能解密该信息,任何未受用户授权的人包括信息的发送者都无法将此信息解密。
RSA公钥密码算法是一种公认十分安全的公钥密码算法。它的命名取自三个创始人:Rivest、Shamir和Adelman。RSA公钥密码算法是目前网络上进行保密通信和数字签名的最有效的安全算法。RSA算法的安全性基于数论中大素数分解的困难性,所以,RSA需采用足够大的整数。因子分解越困难,密码就越难以破译,加密强度就越高。
RSA既能用于加密又能用于数字签名,在已提出的公开密钥算法中,RSA最容易理解和实现的,这个算法也是最流行的。RSA的安全基于大素数分解的难度。其公开密钥和私人密钥是一对大素数(100到200个十进制数或更大)的函数。从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。
3.公开密钥数字签名算法(签名)
DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。
4.数字签名与数字信封
公钥密码体制在实际应用中包含数字签名和数字信封两种方式。
数字签名是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据。信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与自己用收到的原始数据产生的哈希哈希摘要对照,便可确信原始信息是否被篡改。这样就保证了数据传输的不可否认性。
哈希算法是一类符合特殊要求的散列函数(Hash)函数,这些特殊要求是:
接受的输入报文数据没有长度限制;
对任何输入报文数据生成固定长度的摘要("数字指纹")输出;
由报文能方便地算出摘要;
难以对指定的摘要生成一个报文,由该报文可以得出指定的摘要;
难以生成两个不同的报文具有相同的摘要。
数字信封的功能类似于普通信封。普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证了只有规定的接收人才能阅读信息的内容。
数字信封中采用了单钥密码体制和公钥密码体制。信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封。在传递信息时,信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。这样就保证了数据传输的真实性和完整性。
5.数字证书
数字证书是各类实体(持卡人/个人、商户/企业、网关/银行等)在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方证书的有效性,从而解决相互间的信任问题。证书是一个经证书认证中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
从证书的用途来看,数字证书可分为签名证书和加密证书。签名证书主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。
简单的说,数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据。身份验证机构的数字签名可以确保证书信息的真实性。证书格式及证书内容遵循X.509标准。
6.数字证书的应用
现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下:
(1) 甲准备好要传送的数字信息(明文)。
(2) 甲对数字信息进行哈希(hash)运算,得到一个信息摘要。
(3) 甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。
(4) 甲随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。
(5) 甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。
(6) 乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。
(7) 乙然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。
(8) 乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要。
(9) 乙用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。
(10) 乙将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
三、PKI组成
PKI是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组成的。PKI是利用公钥技术实现电子商务安全的一种体系,是一种基础设施,网络通讯、网上交易是利用它来保证安全的。从某种意义上讲,PKI包含了安全认证系统,即安全认证系统-CA/RA系统是PKI不可缺的组成部分。
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。PKI主要包括四个部分:X.509格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA/RA操作协议;CA管理协议;CA政策制定。一个典型、完整、有效的PKI应用系统至少应具有以下部分;
. 认证中心CA CA是PKI的核心,CA负责管理PKI结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份,CA还要负责用户证书的黑名单登记和黑名单发布,后面有CA的详细描述。
. X.500目录服务器 X.500目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP协议查询自己或其他人的证书和下载黑名单信息。
. 具有高强度密码算法(SSL)的安全WWW服务器 出口到中国的WWW服务器,如微软的IIS 5.0,受出口限制,其RSA算法的模长最高为512位,对称算法为40位,不能满足对安全性要求很高的场合,为解决这一问题,采用了山东大学网络信息安全研究所开发的具有自主版权的SSL安全模块,在SSL安全模块中使用了自主开发的SJY系列密码设备,并且把SSL模块集成在Apache WWW服务器中,Apache WWW服务器在WWW服务器市场中占有百分之50以上的份额,其可移植性和稳定性很高。
. Web(安全通信平台) Web有Web Client端和Web Server端两部分,分别安装在客户端和服务器端,通过具有高强度密码算法的SSL协议保证客户端和服务器端数据的机密性、完整性、身份验证。
. 自开发安全应用系统 自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券的应用系统等。
完整的PKI包括认证政策的制定(包括遵循的技术标准、各CA之间的上下级或同级关系、安全策略、安全程度、服务对象、管理原则和框架等)、认证规则、运作制度的制定、所涉及的各方法律关系内容以及技术的实现。
四、认证中心(CA)简介
为保证网上数字信息的传输安全,除了在通信传输中采用更强的加密算法等措施之外,必须建立一种信任及信任验证机制,即参加电子商务的各方必须有一个可以被验证的标识,这就是数字证书。数字证书是各实体(持卡人/个人、商户/企业、网关/银行等)在网上信息交流及商务交易活动中的身份证明。该数字证书具有唯一性。它将实体的公开密钥同实体本身联系在一起,为实现这一目的,必须使数字证书符合X.509国际标准,同时数字证书的来源必须是可靠的。这就意味着应有一个网上各方都信任的机构,专门负责数字证书的发放和管理,确保网上信息的安全,这个机构就是CA认证机构。各级CA认证机构的存在组成了整个电子商务的信任链。如果CA机构不安全或发放的数字证书不具有权威性、公正性和可信赖性,电子商务就根本无从谈起。
数字证书认证中心(Certficate Authority,CA)是整个网上电子交易安全的关键环节。它主要负责产生、分配并管理所有参与网上交易的实体所需的身份认证数字证书。每一份数字证书都与上一级的数字签名证书相关联,最终通过安全链追溯到一个已知的并被广泛认为是安全、权威、足以信赖的机构-根认证中心(根CA)。
电子交易的各方都必须拥有合法的身份,即由数字证书认证中心机构(CA)签发的数字证书,在交易的各个环节,交易的各方都需检验对方数字证书的有效性,从而解决了用户信任问题。CA涉及到电子交易中各交易方的身份信息、严格的加密技术和认证程序。基于其牢固的安全机制,CA应用可扩大到一切有安全要求的网上数据传输服务。
数字证书认证解决了网上交易和结算中的安全问题,其中包括建立电子商务各主体之间的信任关系,即建立安全认证体系(CA);选择安全标准(如SET、SSL);采用高强度的加、解密技术。其中安全认证体系的建立是关键,它决定了网上交易和结算能否安全进行,因此,数字证书认证中心机构的建立对电子商务的开展具有非常重要的意义。
认证中心(CA),是电子商务体系中的核心环节,是电子交易中信赖的基础。它通过自身的注册审核体系,检查核实进行证书申请的用户身份和各项相关信息,使网上交易的用户属性客观真实性与证书的真实性一致。认证中心作为权威的、可信赖的、公正的第三方机构,专门负责发放并管理所有参与网上交易的实体所需的数字证书。
CA/RA简介
开放网络上的电子商务要求为信息安全提供有效的、可靠的保护机制。这些机制必须提供机密性、身份验证特性(使交易的每一方都可以确认其它各方的身份)、不可否认性(交易的各方不可否认它们的参与)。这就需要依靠一个可靠的第三方机构验证,而认证中心(CA:Certification Authority)专门提供这种服务。
证书机制是目前被广泛采用的一种安全机制,使用证书机制的前提是建立CA(Certification Authority --认证中心)以及配套的RA(Registration Authority --注册审批机构)系统。
CA中心,又称为数字证书认证中心,作为电子商务交易中受信任的第三方,专门解决公钥体系中公钥的合法性问题。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应。CA中心的数字签名使得攻击者不能伪造和篡改数字证书。
在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。认证中心就是一个负责发放和管理数字证书的权威机构。同样CA允许管理员撤销发放的数字证书,在证书废止列表(CRL)中添加新项并周期性地发布这一数字签名的CRL。
RA(Registration Authority),数字证书注册审批机构。RA系统是CA的证书发放、管理的延伸。它负责证书申请者的信息录入、审核以及证书发放等工作;同时,对发放的证书完成相应的管理功能。发放的数字证书可以存放于IC卡、硬盘或软盘等介质中。RA系统是整个CA中心得以正常运营不可缺少的一部分。
概括地说,认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。CA的核心功能就是发放和管理数字证书,具体描述如下:
(1)接收验证最终用户数字证书的申请。
(2)确定是否接受最终用户数字证书的申请-证书的审批。
(3)向申请者颁发、拒绝颁发数字证书-证书的发放。
(4)接收、处理最终用户的数字证书更新请求-证书的更新。
(5)接收最终用户数字证书的查询、撤销。
(6)产生和发布证书废止列表(CRL)。
(7)数字证书的归档。
(8)密钥归档。
(9)历史数据归档。
认证中心为了实现其功能,主要由以下三部分组成:
注册服务器:通过 Web Server 建立的站点,可为客户提供每日24小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。
证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。
认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
从技术角度上说,PMI(Privilege Management Infrastructure,授权管理基础设施)与PKI/CA的结合是发展的趋势。X.509公钥证书的原始含义很简单,目标就是提供不可更改的证据。但是现在人们发现,在许多应用领域,需要的信息远不止是身份信息,证书持有者的权限或者属性信息比身份信息更重要。为了使附加信息能够保存在证书中,X.509 v4.0中引入了公钥证书扩展项,这种证书扩展项可以保存任何类型的附加数据,以满足应用的需求。
证书应用的普及也带动了证书便携性的需要,目前只有智能卡能提供证书和其对应私钥的移动性要求。该技术将公钥和对应的私钥存放在智能卡中,但这种方法存在着易丢失、易损坏的缺陷,并且依赖读卡器。最新的方法是使用漫游证书,它通过第三方软件实现。它的原理是将用户的证书和私钥放在一个安全的服务器上,当用户登录到一个本地系统时,从服务器安全地检索出公钥和私钥,并将其放在本地系统的内存中,当用户注销后,该软件自动删除存放在本地系统中的用户证书和私钥。此外,随着无线通信技术的广泛应用,WPKI技术的研究与应用正处于探索之中,这也是未来PKI发展的一个趋势。
我们有理由相信随着国内电子签名法的颁布,PKI/CA会在各行各业、各个领域中得到广泛应用,PKI/CA技术不仅规范了网络的信任和秩序,还会更多地渗入到人们的日常生活中来。
三 : 关于PKI,CA
PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
PKI的基本组成:
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。一个典型、完整、有效的PKI应用系统至少应具有以下部分:
· 公钥密码证书管理。
· 黑名单的发布和管理。
· 密钥的备份和恢复。
· 自动更新密钥。
· 自动管理历史密钥。
· 支持交叉认证。
认证机构(CA):即数字证书的申请及签发机关,CA必须具备权威性的特征;
数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;
密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。
证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。
应用接口(API):PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
通常来说,CA是证书的签发机构,它是PKI的核心。众所周知,构建密码服务系统的核心内容是如何实现密钥管理。公钥体制涉及到一对密钥(即私钥和公钥),私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故公钥体制的密钥管理主要是针对公钥的管理问题,目前较好的解决方案是数字证书机制。
PKI 介 绍
1.1 PKI的概念
PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施",是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。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.4 CA分布式体系结构的建立
CA认证机构是PKI安全体系的核心,对于一个大型的分布式企业应用系统,需要根据应用系统的分布情况和组织结构设立多级CA机构。CA信任体系描述了PKI安全体系的分布式结构,具体结构形式如图2-2所示。
图表?1 CA信任体系结构
1.4.1 CA证书签发管理机构
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.3 KMC密钥管理中心
密钥管理中心(KMC),是公钥基础设施中的一个重要组成部分,负责为CA系统提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。
一般来说,每一个CA中心都需要有一个KMC负责该CA区域内的密钥管理任务。KMC可以根据应用所需PKI规模的大小灵活设置,既可以建立单独的KMC,也可以采用镶嵌式KMC,让KMC模块直接运行在CA服务器上。
1.4.4发布系统
发布系统是PKI安全体系中的一个重要组成部分。它由用于发布数字证书和CRL的证书发部系统、在线证书状态查询系统(OCSP)和在线注册服务系统组成。证书和CRL采用标准的LDAP协议发布到LDAP服务器上,应用程序可以通过发布系统验证用户证书的合法性。OCSP提供证书状态的实时在线查询功能。
发布系统支持层次化分布式结构,具有很好的扩展性、灵活性和高性能,可以为企业大型应用系统提供方便的证书服务,能够满足大型应用系统的安全需求。
1.5 PKI提供的安全服务
安全登录
当应用系统需要用户远程登录的时候,用于身份认证的信息(如口令)在未受保护的网络上传输,容易被截取和监听,即使口令被加密也无法防范重放攻击.选用足够长的密码或者经常修改密码对用户来说不是一件好的事情.PKI 可以让登录的事件只发生在本地并且可以将成功登录的结果安全地扩展到远程的应用程序,因此在远程登录事件中引入强健的认证机制,可以是口令在网络上传递.PKI并不会取消使用口令的方式,口令方式作为用户进入PKI本身的认证机制.
单点登录
当一个用户需要同时运行多个应用程序,而这些程序都需要登陆认证时,PKI将一个成功的登录通知到其他需要登录的设备(代理证书),减少远程登录的需求,减少口令在网络上传递的频率..
严格地说,单点登录指的是允许用户登录到一个应用,这个应用带有经过认证的到其他应用的访问途径,登录到这个应用之后,用户无需再遭遇任何其他的认证。用更实际的话来说,它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。
终端用户透明
除了初始的登录以外,其他所有的安全任务的完成对用户来说都是透明的
全面的安全服务
安全基础设施保证大范围的组织实体和设备采用统一的方式使用理解和处理密钥,提供在同一水平上的操作一致性.
一般来说PKI提供了3个主要服务
1 认证-----向一个实体确认另一个实体确实是他自己
2 完整性----向一个实体确保数据没有被有意或无意的修改.一般采用基于对称密钥技术的MAC进行数据完整性的检验.除非需要数据来源的认证,才使用签名算法.
3 机密性----向一个实体确保除了接收者,无人能读懂数据的关键部分.用对称密钥加密,用加密公钥加密对称密钥.
1.6 PKI用到的加密技术
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位密钥.
优点:保密强度高,计算开销小,处理速度快。
缺点:密钥管理困难
私钥算法有:
l DES(Data encription standard) 56位分组密码 主要用替换和移位的方法, 用56位密钥对64位二进制数据块加密.
l TripleDES 对DES的改进,用两个密钥对明文运行DES算法三次,从而得到112位有效密钥强度.两个56位的密钥K1,K2, 发送方用K1加密,用K2解密,再用K1加密;接收方用K1解密,K2加密,再用K1解密,这相当于将密钥长度加倍.
l AES(Advanced encription standard) 高级加密标准 128位分组密码,密钥长度为128位,192 位或者256位
l RC2 RC4 RC5
l Blowfish 一种从32位到448位的可变密钥长度的分组密码,被设计用于在软件中有效实现微处理器
DES加密技术的原理:
1.6.3 公钥密码术
公钥密码术是上世纪 70 年代发明的,它解决在没有事先约定密钥的通信双方之间加密消息的问题。在公钥密码术中,每个实体都有两个密钥(密钥对)---一个公钥 ,一个私钥,公钥向外发布,任何人都可以获得,私钥只有自己唯一拥有.消息发送者用消息接收者的公钥加密消息,消息接收者用自己的私钥解密消息.公钥加密示意图:
公钥和私钥是成对生成的,并需要比同等强度的私钥加密密钥更长。RSA 算法的典型密钥长度是 1,024 位。从该密钥对的一个成员派生出另一个是不可行的。
优点:便于密钥管理、分发、便于签字签名。
缺点:计算开销大,处理速度慢。
公钥加密比较慢(比私钥加密慢 100 到 1,000 倍),因此实际上通常使用混合技术。公钥加密被用于向对方分发称为会话密钥的私钥,使用该私有会话密钥的私钥加密被用于进行大量的消息加密,一般不直接用公钥加密信息.
一般用一个两步过程来代替公钥加密:
1 用随机生成的对称密钥来加密数据
2 接着用授权接收者的公钥来加密这个对称密钥
授权接收者接受到加过密的数据后,也采取类似的两个过程:
1 授权接收者用自己的私钥来解出对称密钥
2 接着用对称密钥进行解密获得原始数据
公钥加密中使用下列两种算法:
RSA。这个算法是最流行的公钥密码,但 JDK 1.4 中不支持它。您必须使用类似于 BouncyCastle 的第三方库来获得这种支持。
Diffie-Hellman。技术上将这种算法称为密钥协定算法。它不能用于加密,但可以用来允许双方通过在公用通道上共享信息来派生出秘钥。然后这个密钥可以用于私钥加密。
RSA的演算方法是:
1)用户选择2个够大的保密质数q、p(一般为100位以上十进数)
2)令n=pq,n是公开的,从n分解除qp是极其困难的。
n的欧拉函数:Φ(n)=(p-1)(q-1)
Φ(n)小于等于n,并与n互质
3)选择一个相对大的整数e作为加密指数,使e与Φ(n)互质,且1<e<Φ(n)。
4)解同等方程:
ed=1modΦ(n)
求出解密指数d
5)设M、C分别为要加密的明文和被加密的密文(M、C小于n)
则:加密运算为:C=Memod n
解密运算为:M=Cdmod n
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.7 PKI 的标准
从整个PKI体系建立与发展的历程来看,与PKI相关的标准主要包括以下一些。
1)X.209(1988)ASN.1基本编码规则的规范
ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:第一部份(ISO 8824/ITU X.208)描述信息内的数据、数据类型及序列格式,也就是数据的语法;第二部分(ISO 8825/ITU X.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.509 v3,它定义了包含扩展信息的数字证书[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(Online Certificate Status Protocol)是IETF颁布的用于检查数字证书在某一交易时刻是否仍然有效的标准[34]。该标准提供给PKI用户一条方便快捷的数字证书状态查询通道,使PKI体系能够更有效、更安全地在各个领域中被广泛应用。
6) LDAP 轻量级目录访问协议
LDAP规范(RFC1487)简化了笨重的X.500目录访问协议,并且在功能性、数据表示、编码和传输方面都进行了相应的修改。1997年,LDAP第3版本成为互联网标准。目前,LDAP v3已经在PKI体系中被广泛应用于证书信息发布、CRL信息发布、CA政策以及与信息发布相关的各个方面[35]。
除了以上协议外,还有一些构建在PKI体系上的应用协议,这些协议是PKI体系在应用和普及化方面的代表作,包括SET协议和SSL协议。
目前PKI体系中已经包含了众多的标准和标准协议,由于PKI技术的不断进步和完善,以及其应用的不断普及,将来还会有更多的标准和协议加入。
1.8 PKI的应用标准
基于PKI技术,目前世界上已经出现了许多依赖于PKI的安全标准,即PKI的应用标准,如安全的套接层协议SSL、传输层安全协议TLS、安全的多用途互连网邮件扩展协议S/MIME和IP安全协议IPSEC等,其中最著名、应用最为广泛的是SSL和SET协议.另外,随着PKI的进一步发展,新的标准也在不断的增加和更新.
SET安全电子交易协议采用公钥密码体制和X.509数字证书标准,主要应用于BtoC模式中保障支付信息的安全性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善。国外的银行和信用卡组织大都采用了SET协议
SSL(安全套接字)协议利用PKI技术来进行身份认证、完成数据加密算法及其密钥协商,很好地解决了身份验证、加密传输和密钥分发等问题。SSL被大家广泛接受和使用,是一个通用的安全协议。在SSL协议上面可以运行所有基于TCP/IP的网络应用。
ssl握手过程:
1.9 PKI的应用模式
上述PKI提供的安全服务恰好能满足电子商务、电子政务、网上银行、网上证券等金融业交易的安全需求,是确保这些活动顺利进行必备的安全措施,没有这些安全服务,电子商务、电子政务、网上银行、网上证券等都无法正常运作。
模式1:电子商务应用
电子商务的参与方一般包括买方、卖方、银行和作为中介的电子交易市场。买方通过自己的浏览器上网,登录到电子交易市场的Web服务器并寻找卖方。当买方登录服务器时,互相之间需要验证对方的证书以确认其身份,这被称为双向认证。
在双方身份被互相确认以后,建立起安全通道,并进行讨价还价,之后向商场提交订单。订单里有两种信息:一部分是订货信息,包括商品名称和价格;另一部分是提交银行的支付信息,包括金额和支付账号。买方对这两种信息进行"双重数字签名",分别用商场和银行的证书公钥加密上述信息。当商场收到这些交易信息后,留下订货单信息,而将支付信息转发给银行。商场只能用自己专有的私钥解开订货单信息并验证签名。同理,银行只能用自己的私钥解开加密的支付信息、验证签名并进行划账。银行在完成划账以后,通知起中介作用的电子交易市场、物流中心和买方,并进行商品配送。整个交易过程都是在PKI所提供的安全服务之下进行,实现了安全、可靠、保密和不可否认性。
模式2:电子政务
电子政务包含的主要内容有:网上信息发布、办公自动化、网上办公、信息资源共享等。按应用模式也可分为G2C、G2B、G2G,PKI在其中的应用主要是解决身份认证、数据完整性、数据保密性和不可抵赖性等问题。
例如,一个保密文件发给谁或者哪一级公务员有权查阅某个保密文件等,这些都需要进行身份认证,与身份认证相关的还有访问控制,即权限控制。认证通过证书进行,而访问控制通过属性证书或访问控制列表(ACL)完成。有些文件在网络传输中要加密以保证数据的保密性;有些文件在网上传输时要求不能被丢失和篡改;特别是一些保密文件的收发必须要有数字签名等。只有PKI提供的安全服务才能满足电子政务中的这些安全需求。
模式3:网上银行
网上银行是指银行借助于互联网技术向客户提供信息服务和金融交易服务。银行通过互联网向客户提供信息查询、对账、网上支付、资金划转、信贷业务、投资理财等金融服务。网上银行的应用模式有B2C个人业务和B2B对公业务两种。
网上银行的交易方式是点对点的,即客户对银行。客户浏览器端装有客户证书,银行服务器端装有服务器证书。当客户上网访问银行服务器时,银行端首先要验证客户端证书,检查客户的真实身份,确认是否为银行的真实客户;同时服务器还要到CA的目录服务器,通过LDAP协议查询该客户证书的有效期和是否进入"黑名单";认证通过后,客户端还要验证银行服务器端的证书。双向认证通过以后,建立起安全通道,客户端提交交易信息,经过客户的数字签名并加密后传送到银行服务器,由银行后台信息系统进行划账,并将结果进行数字签名返回给客户端。这样就做到了支付信息的保密和完整以及交易双方的不可否认性。
模式4:网上证券
网上证券广义地讲是证券业的电子商务,它包括网上证券信息服务、网上股票交易和网上银证转账等。一般来说,在网上证券应用中,股民为客户端,装有个人证书;券商服务器端装有Web证书。在线交易时,券商服务器只需要认证股民证书,验证是否为合法股民,是单向认证过程,认证通过后,建立起安全通道。股民在网上的交易提交同样要进行数字签名,网上信息要加密传输;券商服务器收到交易请求并解密,进行资金划账并做数字签名,将结果返回给客户端。
2.0 PKI的发展
从目前的发展来说,PKI的范围非常广,而不仅仅局限于通常认为的CA机构,它还包括完整的安全策略和安全应用。因此,PKI的开发也从传统的身份认证到各种与应用相关的安全场合,如企业安全电子商务和政府的安全电子政务等。
另外,PKI的开发也从大型的认证机构到与企业或政府应用相关的中小型PKI系统发展,既保持了兼容性,又和特定的应用相关。
目前PKI研究,发展是比较成熟的 ,它所用到的一些算法都比较完善.在国外,一般发达国家政府都建有国家级的PKI系统,应用于各个行业,形成一个有效的PKI信任树层次结构.在国内,研究PKI的人很多,理论上的研究很完善,有很多小型PKI\CA,各自为营,缺乏统一领导,统一规划,统一体制标准,也缺乏有力的法律支持. 目前,国家有关部门已经高度重视PKI产业的发展,我们国家也真在制订一些自己的协议,标准, .如科技部的863计划中专门为PKI立项,国家计委也正考虑制定新的计划来支持PKI产业的发展。随着电子政务和电子商务的发展,PKI技术也将取得比较大的发展,在国家电子政务工程中已经明确提出要构建PKI体系,国家PKI体系总体框架在2003年提出来了,目前正在建设当中。在国内PKI有很大的发展潜力,并且PKI技术在无线通信上也有很好应用.
补充一些PKI术语 CRL、增量 CRL、CTL、OCSP、LDAP、AIA、CDP、名称约束、证书模板
1. 证书吊销列表 (CRL):由 CA 颁发的数字签名列表,其中包括由 CA 颁发而且已经被吊销的证书。该列表包括被吊销证书序列号、证书被吊销的日期和吊销原因。应用程序能够执行 CRL 检查以便确定所示证书的吊销状态,也称为基本 CRL(相对于增量CRL)。
2. 增量 CRL:包括自从发布上一个基本 CRL 以来被吊销的证书列表的 CRL。增量 CRL 经常被用于吊销大量证书,以便优化带宽使用的环境。
3. 在线证书状态协议 (OCSP) :对证书状态进行实时在线验证(CryptoAPI 调用 OCSP 响应器,然后 OCSP 响应器为所示证书的吊销状态提供即时的验证)的协议。OCSP 响应器通常使用 CRL 检查维护其状态信息。
4. LDAP:全称是Lightweight Directory Access Protocol,一般都简称为LDAP。 LDAP 是一种相对简单的协议,它用于更新和搜索基于 TCP/IP 运行的目录。在PKI系统中一般可以用作证书发布、查询、下载服务。
5. AIA:颁发机构信息访问,包含 URL 位置(在此检索要颁发的 CA 证书)的证书扩展。AIA 扩展包括 HTTP、FTP、LDAP 或 FILE URL。
6. CDP:CRL 分发点,它指示从何处开始检索 CA 证书吊销列表。包括多个用于检索 CRL 的 HTTP、FTP、FILE 或 LDAP URL。
7.名称约束:一种约束,它限制提交给 CA 的证书请求中所允许和禁止使用的名称。
8. 证书模板:一般的CA机构不只颁发一种用途的证书,可以颁发像安全电子邮件、智能卡登录、服务器站点证书等多种证书,不同用途的证书是由不同的模板制作而成。
就好比是个旅馆,有很多种房间。你在房间里做什么都可以,只要你能进去。 PKI/CA就是负责给每个房间的客人发钥匙的。什么级别的人领取什么级别的钥匙,什么钥匙开什么锁。
钥匙丢了,就要重新换锁,再重新发钥匙。
举个例子可能更形象一些,PKI作为一种信息安全基础设施,类似于国家的公民身份管理基础设施,而CA就是负责签发公民身份证明文件(身份证)的专职机构(公安部门的户籍派出所),是国家授权的权威部门,每个公民的身份证就是CA签发的数字证书,是用来证明公民身份的权威证件。
说白了
数字证书就是一个在计算机网络上的数字身份证
CA就是负责发证的,同时也对外提供验证证件真伪的服务
PKI就是一整个管理身份证的大的系统
建设了PKI以后,在电脑上做事,必须有专属自己的证书也就是身份证件
才能对外表明自己的确切身份
可以拿数字证书和身份证做下类比。
CA就好象公安局,CA的数字签名就好象公安局的大章。
PKI就好象维护、发布、识别和认可居民身份证的社会体系。
本文标题:
pki ca-关于PKI,CA 本文地址:
http://www.61k.com/1114830.html