【隐私保护】基于公钥基础设施(PKI)的认证

        随着密码学和技术的发展,身份认证方案已经变得非常多样化和复杂。本文介绍的是最为常见且广泛使用的认证方案——基于PKI的身份认证方案。

一、PKI的基本概念

        PKI定义:公钥基础设施(Public Key Infrastructure, PKI)是一种用于管理数字证书和公钥/私钥对的技术体系,它为安全通信提供了基础。

        PKI的基础是公钥密码学,它使用一对密钥即公钥和私钥。公钥可以公开给任何人,而私钥则由个人秘密保存。公钥用于加密消息,而私钥用于解密消息;同样,私钥也可以用于创建数字签名,公钥则用来验证该签名。

        PKI目的:提供一种可靠的方法来解决以下安全需求

  • 身份验证:确认参与通信的各方身份的真实性。
  • 数据保密性:确保信息只能被预期的接收者读取。
  • 数据完整性:防止信息在传输过程中被篡改。
  • 不可否认性:确保发送的信息不能被发送者否认,即确保信息来源的真实性。

        PKI的任务:主要包括但不限于密钥管理、数字证书管理、身份验证等等,我总结成了下表

PKI主要任务描述
密钥管理包括密钥的生成、分配、存储、备份、恢复、撤销和销毁
数字证书管理包括证书的申请、审批、发放、更新、吊销和归档
身份验证验证证书持有者的身份
信任模型建立信任关系,如通过信任链验证证书的有效性
密钥配对确保每个证书持有者都有一个对应的公钥/私钥对
证书撤销维护证书撤销列表(CRL)或提供在线证书状态协议(OCSP)查询服务
政策制定定义PKI的使用政策,例如证书的使用范围、有效期等
审计与监控确保PKI组件的正常运行,并符合安全策略的要求

二、PKI的组成

        从PKI所执行的任务中,我们可以看出要想安全且高效的完成这些任务就必须要对公钥基础设施的不同功能做封装,一般的PKI由6个部分组成:证书机构、注册机构、证书发布库、密钥备份与恢复、证书撤销、PKI应用接口

(1)证书机构CA

       证书机构Certificate Authority,简称CA。是PKI中的重要组成部分,它负责发行、管理数字证书,并验证证书持有人的身份。CA必须是受信任的,因为它们的数字签名保证了证书的有效性和真实性。

证书机构CA的功能:

功能描述
签发和管理数字证书负责签发数字证书,确保每个证书持有者都有一个对应的公钥/私钥对,并且证书中包含了持有者的身份信息。
提供网络身份认证验证证书持有者的身份,确保证书持有者的真实身份与其所声称的身份一致。
证书签发及证书管理管理数字证书的整个生命周期,包括证书的申请、审批、发放、更新、吊销和归档。
跟踪证书状态监控数字证书的状态,确保证书的有效性和可用性。
证书撤销当证书不再有效或被滥用时,发布证书撤销通知,并将其添加到证书撤销列表(CRL)中。
维护证书档案存储和管理数字证书的相关记录,包括证书历史和证书撤销信息。
证书相关的审计记录和审计证书管理活动,确保符合安全策略和合规要求。

(2)注册机构RA

        注册机构(Registration Authority, RA)是数字证书注册审批机构,是认证中心的延伸。RA按照政策与管理规范对用户的资格进行审查,并执行“是否同意给该申请者发放证书、撤销证书”等操作。

RA与CA的关系:

  • 身份验证:RA 负责验证申请人的真实身份,并将验证结果提交给 CA。
  • 证书签发:一旦 RA 完成验证,CA 根据 RA 提供的信息签发数字证书。
  • 证书管理:RA 可能还会参与到证书的后续管理过程中,如证书更新和吊销等。

(3)证书发布库

        证书发布库(Certificate Repository)的主要职责是存储和分发数字证书以及与证书相关的状态信息,比如证书撤销列表(CRL)或在线证书状态协议(OCSP)响应。

证书发布库的功能:

  1. 证书存储:存储由证书颁发机构(CA)签发的有效数字证书。
  2. 证书检索:允许用户或其他系统查询并获取证书。
  3. 证书状态信息发布:发布证书的状态信息,例如哪些证书已被吊销。
  4. 证书撤销列表(CRL)发布:定期发布包含已吊销证书序列号的列表,用于检查证书的有效性。
  5. 在线证书状态协议(OCSP)响应:提供实时的证书状态查询服务,用于验证证书是否已被吊销。

【注】证书发布库用于集中存放CA颁发证书和证书撤销列表。支持分布式存放,以提高查询效率。LDAP协议是创建高效大规模PKI认证的关键技术。

(4)密钥备份和恢复

        密钥备份是指将用户的私钥副本安全地保存在一个或多个备份位置,以便在原密钥丢失或损坏时可以恢复使用。密钥备份通常遵循严格的程序,以确保备份的安全性和机密性。密钥恢复是指在用户无法访问其私钥时,通过备份或其他手段重新获得对该密钥的访问权的过程。

(5)证书撤销

        证书撤销是公钥基础设施(PKI)中的一个重要组成部分。证书撤销机制确保了数字证书的有效性和安全性。实现证书撤销的两种方法:周期性发布机制、在线证书查询机制。

  • 证书撤销列表 (Certificate Revocation List, CRL) 是一个包含已被吊销的数字证书序列号的列表。CRL 由证书颁发机构 (CA) 或授权的注册机构 (RA) 发布,并定期更新。
  • 在线证书状态协议 (Online Certificate Status Protocol, OCSP) 是另一种用于验证证书状态的机制。OCSP 提供了一种实时查询证书状态的方法,而不是依赖于定期更新的 CRL。

(6)PKI的应用接口

二、数字证书

        在介绍PKI的组成部分时多次提到了证书,别着急在介绍数字证书之前,我们还得问问到底为什么需要数字证书,这就得先探究一下它出现之前的背景了。

(1)背景问题

① 身份验证问题:在网络通信中,发送者和接收者需要确认对方的身份。传统的通信方式无法确保这一点,尤其是在开放的互联网环境中。

② 数据完整性问题:在数据传输过程中,数据可能被篡改或修改,这可能导致严重的后果,特别是在金融交易、法律文件和敏感信息的传输中。

③ 数据保密性问题:在网络通信中,数据可能被未经授权的第三方截获和阅读,这会泄露敏感信息。

④ 不可否认性问题:在网络通信中,发送者可能否认自己发送的消息,这在法律和商业环境中是一个严重的问题。

⑤ 信任问题:在网络上,很难确定远程实体的身份和可信度,特别是当通信双方之前从未有过交互时。

(2)数字证书的概念

        数字证书是将用户身份ID与其所持有的公钥PK绑定,再由CA对该用户身份及对应公钥的组合进行数字签名,然后将数字签名、身份ID、公钥PK加以存储的技术。

【注】数字证书是由可信的第三方(通常是证书颁发机构CA)签发的电子文档,用于证明一个公钥属于某个实体。 这样,任何拥有CA公钥的人都可以验证证书的有效性。

(3)数字证书的结构

        证书包含以下信息:持有人的名字(如个人、组织等);持有人的公钥;证书的有效期;颁发者的名称(通常是CA);颁发者的数字签名等。

        不同版本的数字证书的结构会有不同,现在多使用第三版。

(4)数字证书是怎么生成的

        首先我们得知道用户、证书机构CA和注册机构RA三个实体之间到底是怎么联系,看一个系统架构图:

        从先前的介绍中,我们已经知道注册机构RA的职能和证书机构CA的服务职能,我们现在简单回顾一下:

数字证书的生成步骤可以总结成四步:密钥生成、用户注册、验证信息、证书生成。 

第一步:密钥生成

        在这个阶段,用户生成一对密钥,即公钥和私钥。通常情况下,这对密钥是由用户的设备上运行的软件生成的,确保私钥的安全性。公钥则会被用来创建数字证书。 

密钥生成有两种方式:用户自己生成公私钥对、RA为用户生成公私钥对。 

第二步:用户注册

        用户向证书颁发机构(Certificate Authority, CA)提交申请,并提供必要的身份信息。这些信息可能包括姓名、组织名、电子邮件地址等,具体取决于证书类型和CA的要求。 

第三步:验证信息

        RA会对用户提供的信息进行验证,以确认用户的身份。这个过程可能涉及不同的验证级别,比如域名验证(DV)、组织验证(OV)或扩展验证(EV),每种验证级别的要求不同。例如,对于EV证书,需要执行更严格的验证流程,确保组织的合法性和身份的真实性。 

第四步:证书生成

        一旦身份验证完成并且信息被确认无误,CA就会使用用户的公钥以及经过验证的信息来生成数字证书。该证书包含了用户的公钥以及用户的身份信息,并由CA用自己的私钥进行了数字签名。这个签名证明了证书的完整性和有效性,并且证明了公钥确实属于证书所标识的用户。 

(5)数字证书的签名与验证

① CA签发证书

② 数字证书验证

(6)数字证书的层级结构

① 层级结构 

        根证书是最顶级的证书,它是一个自签名证书,意味着它自己签名自己。每个用户的操作系统或浏览器都会内置一系列受信任的根证书颁发机构(CA)的公钥。根证书是整个证书信任链的起点。

        中间证书是由根证书直接或间接签发的证书。它们用于签署其他证书,如服务器证书或用户证书。中间证书可以有多个层级,每个层级都可以用来签署下一层级的证书。这种层次结构增加了灵活性和安全性,因为即使某个中间证书被破坏,也不需要更改根证书的信任状态。

        终端实体证书是指最终用户的证书,例如网站服务器证书或者个人数字证书。这些证书由最接近终端实体的中间证书签发。终端实体证书包含了具体的用户信息和公钥。

② 证书链

        当一个客户端接收到一个终端实体证书时,它还需要验证这个证书的可信度。为了做到这一点,客户端会同时接收一个证书链,其中包括了终端实体证书和一系列的中间证书,一直追溯到一个受信任的根证书。客户端会从终端实体证书开始,沿着证书链向上验证每个证书的签名,直到到达一个受信任的根证书为止。如果整个证书链都是有效的,那么客户端就会认为终端实体证书也是可信的。

(7)数字证书的撤销

        数字证书的撤销确保已不再有效的证书不会被误用。两种主要的撤销状态检查方式:脱机撤销状态检查和联机撤销状态检查。

① 脱机撤销状态检查

        脱机撤销状态检查相对简单,不需要实时查询。 用户可以在离线状态下检查证书状态。

         联机撤销状态检查由于证书撤销列表CRL 是定期更新的,因此可能存在一定的延迟,使得吊销的证书在一段时间内仍被认为是有效的。对于大型 CRL 文件,下载可能会占用较多的网络带宽。

② 联机撤销状态检查

        联机撤销状态检查提供即时的证书状态查询,减少了延迟。

         联机撤销状态检查需要实时连接到 OCSP 服务器,这可能会导致延迟或在某些情况下不可用。每次查询都会向 OCSP 服务器发送证书信息,可能会引起隐私方面的担忧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值