1、网络安全认证技术身份认证的概念身份认证是计算机及网络系统识别操作者身份的过程l计算机网络是一个虚拟的数字世界,用户的身份信息是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权l现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份l保证操作者的物理身份与数字身份相对应身份认证的功能信息安全体系的目的是保证系统中的数据只能被有权限的“人”访问,未经授权的“人”无法访问身份认证是整个信息安全体系的基础l用于解决访问者的物理身份和数字身份的一致性问题,给其他安全技术提供权限管理的依据防火墙、入侵检测、VPN、安全网关等安全技术建立在身份认证之上
2、针对数字身份进行权限管理,解决数字身份能干什么的问题身份认证的分类用户与主机之间的认证 认证人的身份l单机状态下的身份认证l计算机验证人的身份:你是否是你声称的那个人?l人的存储和计算能力有限记忆高数量的密码密钥困难执行密码运算能力有限主机与主机之间的认证 通信的初始认证握手l网络环境下的身份认证l计算机验证计算机l计算机存储和计算能力强大能存储高数量的密码和密钥能够快速地进行密码运算认证人的身份认证人的身份所知 (what you know)l密码、口令所有 (what you have)l身份证、护照、智能卡等所是 (who you are)l指纹、DNA等用户名/密码方式用户设定密码,计
3、算机验证易泄露l用户经常用有意义的字符串作为密码l用户经常把密码抄在一个自己认为安全的地方l密码是静态的数据,每次验证过程使用的验证信息都是相同的,易被监听设备截获用户名/密码方式一种是极不安全的身份认证方式l可以说基本上没有任何安全性可言IC卡认证IC卡是一种内置集成电路的卡片,卡片中存有与用户身份相关的数据,可以认为是不可复制的硬件IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份IC卡硬件的不可复制可以保证用户身份不会被仿冒IC卡中读取的数据还是静态的l通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息动态口令 1是一种让用户的密码按
4、照时间或使用次数不断动态变化,每个密码只使用一次的技术。专用硬件:动态令牌l内置电源、密码生成芯片和显示屏l密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码并显示在显示屏上l认证服务器采用相同的算法计算当前的有效密码l用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份的确认动态口令 2优点l每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件l一次一密,每次登录过程中传送的信息都不相同,以提高登录过程安全性缺点l动态令牌与服务器端程序的时间或次数必须保持良好的同步l使用不便生物特征认证 采用每个人独一无二的生物特征来验证用户身份l指纹识别、虹膜识
5、别等生物特征认证是最可靠的身份认证方式,因为它直接使用人的物理特征来表示每一个人的数字身份受到现在的生物特征识别技术成熟度的影响USB Key认证近几年发展起来的一种方便、安全、经济的身份认证技术软硬件相结合一次一密 USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码学算法实现对用户身份的认证可使用以上几种技术保护USB Key本身的安全特点比较 特点 应用 主要产品 用户名/密码方式 简单易行 保护非关键性的系统,不能保护敏感信息嵌入在各种应用软件中IC卡认证简单易行很容易被内存扫描或网络监听等黑客技术窃取 IC加密
6、卡等 动态口令一次一密,较高安全性 使用烦琐,有可能造成新的安全漏洞 动态令牌等 生物特征认证安全性最高 技术不成熟,准确性和稳定性有待提高 指纹认证系统等 USB Key认证安全可靠,成本低廉 依赖硬件的安全性USB接口的设备安全握手协议的基本思想网络环境中的认证分布式的网络环境l大量客户工作站和分布在网络中的服务器l服务器向用户提供各种网络应用和服务l用户需要访问分布在网络不同位置上的服务服务器的安全l服务器需要通过授权来限制用户对资源的访问l授权和访问控制是建立在用户身份认证基础上的通信安全都要求有初始认证握手的要求单向认证只有通信的一方认证另一方的身份,而没有反向的认证过程电子邮件l不
7、要求发送方和接收方同时在线l邮件接收方对发送方进行认证单向认证不是完善的安全措施,可以非常容易地冒充验证方,以欺骗被验证方原始的单向认证技术发送方接收方用户名/密码1、发送方的用户名和密码通过明文方式传送,易窃听2、接收方检验用户名和密码,然后进行通信,通信中没有保密基于密码技术的单向认证不再发送明文的用户名和密码,而是基于“挑战 响应”方式符号lf(KAlice-Bob, R):使用Alice和Bob的共享秘密、按照某种规则对R做密码变换KAlice-BobR:使用KAlice-Bob作为共享密钥,基于秘密密钥算法对R进行加密h(KAlice-Bob, R):计算R和KAlice-Bob的哈
8、希值 lRAlice:Alice使用私钥对数据R签名lRAlice:使用Alice的公钥对数据R加密基于共享秘密的单向认证技术 - 1AliceBobI am Alice挑战Rf(KAlice-Bob, R)1、侦听者可以看到R和f(KAlice-Bob, R),但是不能计算出KAlice-Bob2、不要求 f 可逆,因此 f 可以是一个哈希函数3、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解4、攻取Bob的数据库,则可以冒充Alice基于共享秘密的单向认证技术 - 2AliceBobI am AliceKAlice-Bob RR1、侦听者可以看到R和f(KAlice
9、-Bob, R),但是不能计算出KAlice-Bob2、如果R是一个有格式的数据且具有有限时效,则Alice可以认证Bob,防止假冒3、要求可逆的密码算法4、侦听者掌握R和f(KAlice-Bob, R)后,可以进行离线口令猜解5、攻取Bob的数据库,则可以冒充Alice基于共享秘密的单向认证技术 - 3AliceBobI am Alice, KAlice-Bob timestamp1、timestamp是时戳(当前时间)。Bob解密结果,当结果在一定时差内,则Alice通过认证2、高效:只需要一条消息3、要求Alice和Bob有同步的时钟4、攻击者若能够调整Bob的时间,则可以重新使用以前侦
10、听到的加密时戳5、动作迅速的攻击者可以利用侦听的加密时戳在另一台机器上冒充Alice6、攻取Bob的数据库,则可以冒充Alice基于公钥体制的单向认证技术 - 1AliceBobI am AliceRRAlice1、Alice对数据R用自己的私钥签名,Bob用Alice的公钥检验签名2、侦听者无法冒充Alice,即使他攻取了Bob的数据库3、可以诱骗Alice对特定数据的签名基于公钥体制的单向认证技术 - 2AliceBobI am AliceRAlice1、Bob用Alice的公钥加密数据R,并要求Alice解密2、侦听者无法冒充Alice,即使他攻取了Bob的数据库3、如果想知道其他人发送
11、给Alice的加密信息,可以诱骗Alice解密R双向认证用于通信双方的相互认证认证的同时可以协商会话密钥基于共享秘密的双向认证 - 1AliceBobI am AliceR1f(KAlice-Bob, R1)1、基于“挑战 响应”方式2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证3、效率不高:消息过多R2f(KAlice-Bob, R2)基于共享秘密的双向认证 - 2AliceBobI am Alice, R2R1, f(KAlice-Bob, R2)1、基于“挑战 响应”方式2、双方使用共享的秘密对数据进行密码变换,实现对通信对方的认证3、效率提高:消息减少为三条f(KAli
12、ce-Bob, R1)基于共享秘密的双向认证 - 3AliceBobI am Alice, f(KAlice-Bob, timestamp)1、基于“挑战 响应”方式,使用时戳(timestamp)作为挑战2、双方使用共享的秘密对挑战进行密码变换,实现对通信对方的认证3、效率提高:消息减少为二条f(KAlice-Bob, timestamp+1)基于公钥技术的双向认证AliceBobI am Alice, R2BobR2,R1Alice1、基于“挑战 响应”方式2、双方使用对方的公钥加密数据,要求对方加密,实现对通信对方的认证R1使用KDC的认证 - 1问题:假设基于秘密密钥技术实现认证l如果
13、网络上有n个节点,则每个节点都必须知道n-1个密钥。l每增加一个节点,就必须生成n个新的密钥。密钥分发非常困难解决方法:使用密钥分发中心KDClKDC是一个可靠的节点,知道每个节点的密钥,即KDC和每一个节点都共享一个密钥。l每个节点希望和其它节点通信,则首先和KDC联系,由KDC分配一个临时的会话密钥。使用KDC的认证 - 2AliceBobAlice wants bobKAliceuse KAB for Bob,Ticket to Bob=KBobuse KAB for Alice1、KDC是一个存储所有用户密钥的数据库。用户可以和KDC进行安全通信2、Alice请求KDC分配一个会话密钥
14、,以与Bob通信3、KDC生成一个会话密钥KAB,并用Alice的密钥加密发给Alice。同时,KDC还用Bob的密钥加密KAB,交给Alice转发。4、Alice解密得到KAB,并把用Bob的密钥加密的KAB发送给Bob5、Alice和Bob可以基于KAB实现双向认证f(KAlice-Bob, R2)KDC生成密钥KABKerberos认证协议网络环境的认证需求分布式网络环境l服务器+工作站l服务器向用户提供各种网络应用的服务l用户需要访问分布在网络上的、不同位置的服务(或资源)服务器的安全l服务器需要授权技术来限制用户对资源的访问l授权和访问控制建立在对用户身份认证的基础之上Kerbero
15、s认证服务Kerberos:一种基于对称密钥、在网络上实施身份认证的服务l身份认证作为网络上一种标准的安全服务来提供l能够实现用户和服务器之间的双向认证l集中式的认证服务通过运行在网络中某个安全节点的密钥分发中心(KDC,又称为认证服务器)提供认证服务用户能够用用户名和口令登录工作站,工作站使用用户名和密码与KDC联系,代替用户获得使用远程资源所需要的信息Kerberos v4 and Kerberos v5l相互竞争市场,v4用户量大Kerberos特征提供一种基于可信第三方的认证服务lKDC作为第三方,若用户与服务器都信任KDC,则Kerberos就可以实现用户与服务器之间的双向鉴别。如果
16、KDC是安全的,并且协议没有漏洞,则认证是安全的。安全性l能够有效防止攻击者假冒合法用户可靠性lKerberos服务自身可采用分布式结构,KDC之间互相备份透明性l用户只需要提供用户名和口令,工作站代替用户实施认证的过程可伸缩性l能够支持大量用户和服务器Kerberos背景在MIT的Athena项目中开发的一种认证服务试图解决如下问题l在公用网络中,用户通过工作站访问网络服务,这些服务是由分布在网络中的服务器提供的l服务器能够对用户的每一项服务请求进行认证仅仅依赖工作站对用户的认证是不够的用户访问每一种网络服务,都需要向服务器证明其身份l安全威胁:工作站无法保证用户的身份真实性非法用户访问某个
17、工作站,并假冒另一个合法用户非法用户更改工作站网络地址,假冒另一个工作站非法用户窃听消息交换过程,并实施重放攻击l目标:在各种情况下,都能防止用户对服务的非授权访问Kerberos的几个概念 - 1主密钥l每个实体(使用Kerberos的用户和资源)和KDC之间共享一个秘密密钥,称为实体的主密钥门票l用户需要访问远程服务或资源,其工作站代替用户向KDC提出申请。KDC为双方生成一个共享密钥,并分别用用户和远程服务的主密钥加密这个会话密钥,再将这些信息发送给工作站。该消息包括用远程资源或服务的主密钥加密的会话密钥,以及用户的名字等信息。这部分信息称为访问远程资源的门票。l用户将门票转发给要访问的
18、远程服务,远程服务可以解密获得用户名字和会话密钥。Kerberos的几个概念 - 2门票分发门票l用户提供用户名和口令登录到工作站,主密钥根据其口令生成。从登录到登出这一段时间称为一个登录会话。l工作站可以代替用户实施认证。为了降低口令被盗的风险,工作站并不记忆口令并在会话过程中使用口令,而是首先向KDC申请会话密钥,这个密钥仅用于本次会话。然后,工作站用这个会话密钥替用户申请访问远程服务的门票。l工作站向KDC申请会话密钥,KDC生成会话密钥,并发送一个门票分发门票(TGT)给工作站,TGT包括用KDC的主密钥加密的会话密钥,还包括用户名字和会话密钥过期时间等。TGT的作用l申请访问远程服务
19、或资源的信息工作站发送TGT给KDCKDC根据TGT中的用户名和会话密钥,给双方生成一个共享密钥Kerberos配置Kerberos服务器称为KDC每个实体都和KDC共享一个秘密密钥,称为该实体的主密钥。lKDC有一个记录实体名字和对应主密钥的数据库。这个数据库用KDC的主机密钥KKDC进行加密。用户使用用户名和口令登录工作站,工作站代替用户向KDC申请访问网络服务的门票。用户主密钥由口令生成。用户只需记住口令,其它网络设备需要记住自己的主密钥。算法:DES获得会话密钥和TGTAlice工作站Alice, passwordKDC生成密钥SATGT=KKDC“Alice”, SAAlice ne
20、eds a TGTKASA, TGT1、Alice输入用户名和口令,登录工作站2、工作站向KDC申请会话密钥,申请中包含Alice的名字3、KDC使用Alice的主密钥加密访问KDC的证书,该证书包括:会话密钥SA和TGT4、TGT包括会话密钥、Alice的用户名和过期时间。TGT用KDC的主密钥KA加密,只有KDC可以解密。5、工作站将口令转换为Alice的主密钥,并用此主密钥解密证书,得到会话密钥。然后工作站就抛弃Alice的主密钥。用户请求和远程节点通信Alice工作站rlogin Bob生成密钥KAB解密TGT得到SA解密认证值检验时戳Ticket=KB“Alice”, KABAlic
21、e wants BobTGT=KKDC“Alice, SAAuthenticator=SAtimestampSA“Bob”, KAB, TicketKDC1、Alice请求访问远程服务Bob2、工作站将TGT、名字Bob和一个认证值发给KDC。认证值是用会话密钥SA加密当前时间,证明工作站知道会话密钥。3、KDC解密TGT得到SA,并用SA解密认证值,检验时戳实现对Alice工作站的认证。4、KDC生成会话密钥KAB,并用Bob的主密钥加密Alice的名字和KAB,生成访问Bob的门票。门票和KAB称为Alice访问Bob的证书。5、KDC用会话密钥SA加密Bob的名字、KAB和门票,发送给A
22、lice的工作站。用户和远程节点的通信工作站解密门票得到KAB解密认证值检验时戳Ticket=KB“Alice”, KABAuthenticator=KABtimestampKABtimestamp+1Bob1、Alice的工作站将访问Bob的门票发送给Bob,并发送一个认证值2、Bob解密门票得到KAB和名字Alice。现在Bob可以假设任何知道KAB的实体都代表Alice。3、Bob解密认证值并验证时戳,以确认和它通信的实体确实知道KAB,从而实现了对Alice工作站的认证。4、为了实现双向认证,Bob将他加密得到的认证值加1,使用KAB加密并发回。Alice可以检验时戳实现对Bob的认证
23、。5、Alice和Bob的后续通信:根据不同需求实施不同的保护备份KDC单一KDC的问题:KDC的崩溃导致所有认证无法进行解决方法l多个KDCl每个KDC可以替换任何一个KDC,它们具有相同的KDC主密钥和相同的数据库数据一致性l设置其中一个KDC用来保存数据库的主备份,其它KDC从该KDC更新数据库lKDC的更新操作不频繁域网络上的实体被划分成不同的域l每个域都有自己的KDC服务器l所有用户和服务/资源都在KDC上注册l如果域中有多个KDC,则它们是等价的:拥有相同的KDC主密钥,拥有相同的数据库不同域的KDC拥有不同的KDC主密钥以及不同的数据库,因为它们是为不同的实体集合服务的域间认证问
24、题:某个域中的实体需要认证另外一个域中的实体的身份方法:域B的KDC可以在域A中注册成为一个实体,这使得域A中的用户可以访问域B的KDC,就像访问域A中其它资源一样AliceBobREQ(“AliceA”, “bKDCA”)访问bKDC的证书aKDCbKDCREQ(“AliceA”, “BobB”)访问Bob的证书登录请求Kerberos v4的缺陷依赖性l对IP协议的依赖性和对时间依赖性门票有效期一般为5分钟到21小时,往往不能满足需求领域间的鉴别、管理困难非标准的DES加密,易受攻击未对用户口令进行额外保护,易受攻击Kerberos v5 的改进支持任何加密技术除IP协议以外,还支持其它通
25、信协议门票有效期:任意长度具有鉴别转发能力更有效的方法来解决域间认证问题提供一种预鉴别机制,使得口令攻击更困难PKI技术安全的主要威胁假冒:指非法用户假冒合法用户身份获取敏感信息;截取:指非法用户截获通信网络的数据;篡改:指非法用户改动所截获的信息和数据;否认:指通信的单方或多方事后否认曾经参与某次活动;常见的解决方法信息窃取信息窃取信息传递信息传递信息冒充信息冒充信息篡改信息篡改信息抵赖信息抵赖加密技术加密技术完整性技术完整性技术认证技术认证技术数字签名数字签名PKI的含义PKI(Public Key Infrastructure,公钥基础设施),是一个基于公钥概念和技术实现的、具有通用性的
26、安全基础设施。PKI公钥基础设施的主要任务是在开放环境中为开放性业务提供公钥加密和数字签名服务。PKI是生成、管理、存储、分发和吊销基于公钥密码学的公钥证书所需要的硬件、软件、人员、策略和规程的总和。PKI的内容和目标PKI技术以公钥技术为基础,以数字证书为媒介,结合对称加密和非对称加密技术,将个人、组织、设备的标识信息与各自的公钥捆绑在一起。其主要目的是通过自动管理密钥和证书,为用户建立起一个安全、可信的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,在互联网上验证用户的身份,从而保证了互联网上所传输信息的真实性、完整性、机密性和不可否认性。PKI是目前为止既能实现用户
27、身份认证,又能保证互联网上所传输数据安全的惟一技术。PKI的理解基于公开密钥理论和技术建立起来的安全体系。一个被广泛认识并且被普遍接受的相当标准化的结构。提供信息安全服务的具有普适性的安全基础设施。CA认证、数字证书、目录服务以及相关安全应用组件模块的集合 。核心是要解决信息网络空间中的信任问题,确定可信赖的数字身份。似乎可以解决绝大多数网络安全问题,并初步形成了一套完整的解决方案。PKI技术发展现状及趋势自20世纪90年代初期以来,作为电子商务信息安全的关键和基础性技术的PKI逐步得到了广泛重视,并由理论研究进入到商业化应用阶段。PKI技术经过近十年的发展已日趋成熟,许多新技术还在不断涌现,
28、CA之间的信任模型、使用的加解密算法、密钥管理的方案等也在不断变化中。PKI的应用涉及电子商务、电子政务、电子事务等诸多领域,PKI具有非常广阔的市场应用前景。我国的PKI行业起步较晚,PKI行业的建立还只有不到五年的时间,但其发展还是十分迅速的。国内的这些认证中心可分为三大类:行业性认证中心、区域性认证中心和纯商业性认证中心。PKI的优势节省费用透明性和易用性互操作性可扩展性多用性支持多平台数字证书的概念数字证书就是互联网通讯中标识通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于驾驶执照或身份证。数字证书是一个经数字证书授权中心数字签名的包含公开密钥拥
29、有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。获得证书的人只要信任这个证书授权中心,就可以相信他所获得的证书。数字证书的格式遵循 ITUT X.509国际标准版本号:用来区分X.509的不同版本序列号:每一个证书都有惟一的数字型编号。认证机构标识:颁发该证书的机构惟一的X.500名字。主体标识:证书持有者的名称。主体公钥信息:和该主体私钥相对应的公钥。证书有效期:证书开始有效期和证书失效期。密钥/证书用法:描述该主体的公/私密钥对的合法用途。扩展:说明该证书的附加信息。认证机构签名:用认证机构的私钥生成的数字签名。数字证书的安全性证书是公开的,可复制
30、的。任何具有证书授权中心(certificate authority, CA)公钥的用户都可以验证证书有效性。除了CA以外,任何人都无法伪造、修改证书。证书的安全性依赖于CA的私钥。PKI的主要组件证书授权中心l证书签发机构,是PKI的核心,使PKI 应用中权威的、可信任的、公正的第三方机构。主要负责产生、分配并管理所有参与网上交易的实体所需的身份认证数字证书。证书库l证书的集中存放地,提供公众查询。密钥备份及恢复系统l对用户的解密密钥进行备份,当丢失时进行恢复,而签名密钥不用备份和恢复。证书撤销处理系统l证书由于某种原因需要作废,终止使用,将通过证书撤销列表CRL来实现。PKI应用接口系统l
31、为各种各样的应用提供安全、一致、可信任的方式与PKI交互,确保所建立起来的网络环境安全可靠,并降低管理成本。PKI主要组件PKI主要组件的简介公钥证书:由可信实体签名的电子记录,记录将公钥和密钥(公私钥对)所有者的身份捆绑在一起。公钥证书是PKI的基本部件。根CA:一个单独的、可信任的根CA是PKI的基础,生成一个自签名证书,亦称CA证书或根证书。注册机构和本地注册机构RA:证书发放审核部件,接受个人申请,对证书申请者进行资格审查并发送给CA。本质上, RA 是CA系统的一个功能组件,可设计成CA的代理处,分担CA的一定功能以增强可扩展性。 目录服务(资料库):PKI的一个重要组成部分,主要用
32、于发布用户的证书和证书作废列表(黑名单)。PKI主要组件的简介(续)管理协议:用于管理证书的注册、生效、发布和撤销。lPKI管理协议包括PKI CMP、消息格式、CMMF、PKCS#10。操作协议:允许用户方便地通过证书库检索和验证证书和CRL。l在大多数情况下,操作协议与现有协议(如Ftp、Http、Ldap等)共同合作。最终用户(End User):也称最终实体(End-Entity),可以是人,也可以是机器,如路由器,或计算机中运行的进程,如应用系统。CA的简介CA机构,又称为证书认证(Certificate Authority)中心,作为电子交易中受信任的第三方,承担公钥体系中公钥的合
33、法性检验的责任。核心功能就是发放和管理数字证书CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。CA的概念认证中心:CA负责签发证书和管理证书,对证书的真实性负责,是PKI的核心。互联网定义:一个可信实体,发放和作废公钥证书,并对各作废证书列表签名。美国防部定义:一个授权产生,签名,发放公钥证书的实体。CA全面负责证书发行和管理。CA还全面负责CA服务和CA运行。美联邦政府定义:被一个或多个用
34、户所信任发放和管理X.509公钥证书和作废证书的机构。CA组成签名和加密服务器l对于数字证书和被撤销的数字证书,应有认证机构的数字签名。密钥管理服务器l与签名加密服务器连接,按配置生成密钥、撤销密钥、恢复密钥和查询密钥。证书管理服务器l主要完成证书的生成、作废等操作控制。证书发布和CRL发布服务器l用于将证书信息按一定时间间隔对外发布,为客户提供证书下载和CRL下载等服务。在线证书状态查询服务器l证书用户随时都知道某个证书的最新状态。Web服务器l用于证书发布和有关数据认证系统政策的发布。CA的核心功能接受验证最终用户数字证书的申请。确定是否接受最终用户数字证书的申请(证书审批)。向申请者颁发
35、、拒绝颁发数字证书(证书发放)。接受、处理最终用户的数字证书更新请求(证书更新)。接受最终用户数字证书的查询、撤销。产生和发布证书注销列表(CRL)。数字证书的归档。密钥归档。历史数据归档。注册中心(RA)注册中心是数字证书注册审批机构。RA 系统是CA系统的证书发放、管理的延伸,是整个CA中心得以正常运营不可缺少的一部分。本质上是CA的功能组件。但有的系统中,将RA合并在CA中。一般而言,注册中心控制注册、证书传递、其他密钥和证书生命周期管理过程中主体和PKI间的交换。在任何环境下,RA都不发起关于主体的可信声明。RA的功能主体注册证书的个人认证。确定主体所提供信息的有效性。对被请求证书属性
36、确定主体的权利。在需要撤销时报告报告密钥泄露或终止事件。为识别身份的目的分配名字。在注册初始化和证书获得阶段产生共享秘密。产生公私钥对。认证机构代表主体开始注册过程。私钥归档。开始密钥恢复处理。包含私钥的物理设备的分发。密钥生命周期密钥产生密钥产生证书签发证书签发Bob密钥使用密钥使用Bob证书检验证书检验密钥过期密钥过期密钥更新密钥更新证书管理证书注册证书存放证书撤销证书验证证书状态查询证书注册申请人提交证书请求。 RA对证书请求进行审核。CA生成证书。下载并安装证书证书发布8.证书响应7.证书请求4.注册建立请求5.注册建立结果6.注册结果3.注册表格提交2.注册表格应答终端实体RACA1
37、.注册表格请求9.证书发布证书库证书的更新最终实体证书更新l证书过期l一些属性的改变l发放新证书CA证书更新证书存放 使用IC卡存放直接存放在磁盘或自己的终端上USB Key证书库 证书撤销当条件(雇佣关系结束、证书中信息修改等)要求证书的有效期在证书结束日期之前终止,或者要求用户与私钥分离时(私钥可能以某种方式泄露),证书被撤销。2.证书撤销响应1.证书撤销请求2.证书撤销响应1.证书撤销请求RACA带外请求终端实体证书库3.撤销发布证书验证使用CA证书验证其他终端实体证书有效性。检查证书的有效期,确保该证书是否有效。检查该证书的预期用途是否符合CA在该证书中指定的所有策略限制。在证书撤销列
38、表(CRL)中查询确认该证书是否被CA撤销。证书状态查询定期下载证书撤销列表(CRL)。在线证书状态协议OCSP(Online Certificate Status Protocol),其目的为了克服基于CRL的撤销方案的局限性,为证书状态查询提供即时的最新响应。OCSP使用证书序列号、CA名称和公开密钥的散列值作为关键字查询目标的证书。PKI的运行举例1)终端用户向证明机构(CA)提出数字证书申请;2)CA验明终端用户身份,并签发数字证书;3)CA将证书公布到证书库中;4)终端用户对电子信件数字签名作为发送认证,确保信件完整性,不可否认性,并发送给接受方。5)接受方接收信件,根据终端用户标识
39、向证书库查询证书的状态;6)下载终端用户证书并用其公钥验证数字签名,确定电子信件数字签名的有效性;证书机构证书机构 CA证书库证书库终端用户终端用户接受方接受方312465数字证书的应用(1)现有持证人A向持证人B传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数据加密和数字签名,其传送过程如下:lA准备好要传送的数字信息(明文)。 lA对数字信息进行哈希(hash)运算,得到一个信息摘要。lA用自己的私钥对信息摘要进行加密得到A的数字签名,并将其附在数字信息上。lA随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。 lA获得B的
40、证书,并用CA证书验证及检查证书撤销列表验证B证书是否有效。lA用B的公钥(来自证书)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给B。数字证书的应用(2)lB收到A传送过来的密文和加过密的DES密钥,先用自己的私钥对加密的DES密钥进行解密,得到DES密钥。 lB然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。lB获得A的证书,并用CA证书验证及检查证书撤销列表验证A证书是否有效。lB用A的公钥(来自证书)对A的数字签名进行解密,得到信息摘要。 lB用相同的hash算法对收到的明文再进行一次hash运算,得到一个新
41、的信息摘要。 lB将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。CA的系统结构PKI信任模型单一模型CA树状模型CA对等模型CA网状模型CA单一模型CA 比较理想的情况是建立单一的CA,由它管理所有证书:l特殊的应用领域有着特殊的安全需求(安全策略不同)。l证书颁发和撤销难于直接控制。l证书库难于维护,难于满足实际性能的需求。l根私钥的维护更加困难。树状模型CAAB 根根CACA树状模型CA(续)颁发者南信大主体公钥主体南信大南信大CA签名颁发者南信大主体公钥主体计软院南信大CA签名颁发者计软院主体公钥主体张三计软院CA签名计软院的公/私钥对南信大的公/私钥
42、对对等模型CABABAAB对等模型CA(续)颁发者计算机学院主体公钥主体信息工程学院计算机学院CA签名颁发者信息工程学院主体公钥主体计算机学院信息工程学院CA签名颁发者计算机学院主体公钥主体李四计算机学院CA签名李四的公/私钥对信息工程学院的公/私钥对计算机学院的公/私钥对颁发者信息工程学院主体公钥主体张三信息工程学院CA签名张三的公/私钥对桥CA不同信任域之间的桥梁CA,主要负责为不同信任域的根CA颁发交叉认证的证书,建立各个信任域的担保等级与桥CA的担保等级之间的一一映射关系,更新交叉认证证书,发布交叉认证证书注销黑名单。但是它不要求一个机构在与另一个机构发生信任关系时必须遵循所确定的这种
43、映射关系,而是可以采用它认为合适的映射关系确定彼此之间的信任。 网状模型CAAB桥桥B桥桥AA桥桥B桥桥A桥桥B桥桥桥桥A桥桥B小结CA的主要职责证书的结构,如何实现用户身份与其公钥的绑定。证书颁发:申请者在CA的注册机构(RA)进行注册,申请证书。证书废除:证书持有者可以向CA申请废除证书。证书和CRL的公布:通过服务器维护用户证书和黑名单()。证书状态的在线查询():比更具有时效性。证书认证:在多系统中,提供对其它发布的证书的安全认证。PKI应用的考虑性能l尽量少用公钥加解密操作,在实用中,往往结合对称密码技术,避免对大量数据作加解密操作l除非需要数据来源认证才使用签名技术,否则就使用MAC或者HMAC实现数据完整性检验在线和离线模型l签名的验证可以在离线情况下完成l用公钥实现保密性也可以在离线情况下完成l离线模式的问题:无法获得最新的证书注销信息证书中所支持算法的通用性l在提供实际的服务之前,必须协商到一致的算法个体命名l如何命名一个安全个体,取决于CA的命名登记管理工作谢谢!