PKI安全架构

定义

PKI(Public Key Infrastructure,公钥基础设施)是通过使用公钥技术和数字证书来提供系统信息安全服务,并负责验证数字证书持有者身份的一种体系。PKI基础设施采用证书管理公钥,通过第三方的可信任机构认证中心,把用户的公钥和用户的其他身份信息捆绑在一起,它是一个具有通用性的安全基础设施,是一个系统或服务体系。

PKI 的功能是通过签发数字证书来绑定证书持有者的身份和相关的公开密钥,为用户获取证书、访问证书和撤销证书提供了方便的途径。同时利用数字证书及相关的各种服务(证书发布、黑名单发布等)实现通信过程中各实体的身份认证,保证了通信数据的机密性、完整性、不可否认性和认证性。

PKI就是保障数据在网络传输过程的安全性以及数据收发过程中发送者和接收者身份的认证。

机密性:只有通信双方才能读懂数据,任何第三方都无法获取明文数据。

完整性:数据在传输过程中没有被篡改,也不是其他第三方伪造的数据。

不可否认性:发送数据的一方在事后不能否认自身没有发送过数据,防止依赖和污蔑(接收方不能私自伪造数据是由发送方发送的)。

认证性:为了保证数据就是从某一个可信任的用户所发送的。

PKI组件

终端实体:可以是人也可以是设备,满足证书使用者就行。证书申请者和使用者,也就是USG。

证书机构CA:签发管理证书的第三方机构,需要被所有用户都信任。用于签发并管理数字证书的第三方机构,其作用包括:发放证书、规定证书的有效期和通过发布CRL(Certificate Revocation List)确保必要时可以废除证书。

  • CRL:证书吊销列表由CA颁发的一个文件,这个文件可以导入设备或浏览器,用户证书在吊销列表内看到证书失效就无法使用。

PKI存储库:各个终端实体证书以及CRL列表等信息的集中存放地,提供公众查询,可以是LDAP服务器或普通数据库。

PKI相关基本理论

1、对称加密算法(机密性)

  • 用同一把秘钥对数据进行加密,使用相同秘钥对数据进行解密。传输过程中第三方没有获取到加密秘钥就无法解决。
  • 对称加密算法在VPN中常用的有:

• DES

• 3DES

• AES

优点:1、加解密速度很快,可以用硬件实现,效率高。2、加密后的数据比较紧凑(紧凑:明文数据和加密后的数据大小相差不大)

  • 适合对大的数据进行加解密

缺点:1、通讯双方要提前获取同一份秘钥(用于加解密),秘钥分发、管理、存储,秘钥存在很大问题。2、通信双方如何安全交互这一把秘钥是一个大问题。

  • 1、如何要和100个用户进行数据传输,要为每个用户协商秘钥,这100个用户只用同一个秘钥不安全,要安全就要产生100个秘钥。

2、非对称加密算法(机密性)

  • 通信的两个用户之间会彼此先拥有一把秘钥对,公钥和私钥,彼此之间交互公钥。发送方可以用接收方公钥加密发送给接收方,接收方使用自己的私钥解密(公钥加密私钥解密,私钥解密公钥加密)。

• 公钥:用于共享,所有用户都可以获取(所有用户指需要这把公钥的用户)。

• 私钥:只有拥有者有私钥,不能被其他人获取(私钥具有唯一性)。

• 公钥和私钥存在数学关系,通常公钥由私钥衍生而来,我们无法在很短时间内用公钥反推出私钥。

  • 常见的非对称加密算法有:

• DH

• ASE

优点:1、安全性好,私钥唯一性。

缺点:1、加密后数据变得比较大,对设备性能和带宽有影响。2、加密速度比较慢(相对于对称加密),复杂度更高。

  • 不适合对大的数据进行加密

3、数字指纹(完整性)

  • 数字指纹是指通过某种算法对数据信息进行综合计算得到的一个固定长度的数字序列,这个序列有时也称信息摘要,常采用单向哈希算法对原始数据进行散列计算得出数字指纹

• 作用是保障数据的完整性。

• 哈希算法有两大类:

• MD5系列

• 128bit

• SHA系列

• 160bit

• MD5和SHA都可以实现数字指纹,通过算法都可以得到固定长度的数字序列。SHA的安全性高于MD5。

  • 数字指纹四大特点:

• 1、固定大小

• 无论原始报文是多大,通过哈希后得到的都是固定长度。

• 2、雪崩效应

• 修改文件任何一个bit,修改后得出的哈希值结果和原始文件计算的哈希值结果都会不一样。

• 3、单向不可逆

• 单向算法不可逆,没办法通过哈希值推算出原始数据。

• 4、冲突避免

• 不同的文件计算出的哈希值可能是相同的(几率很低)

  • 数字指纹存在的漏洞

• 如果攻击者将数据和哈希一起替换,接收方就无法判断这份数据是否是完整的数据,为了弥补这个缺点,实际使用中,我们会把文件和某一个key(key可以随机生成或者自己配置)一起做哈希值,这个key在接收和发送方保持一致(key本地存在不在网络传输,这样的话可以防范这种攻击,而且一定情况下也可以避免冲突产生)。

4、数字签名(不可否认性)

  • 数字签名:将明文数据进行哈希计算后得出定长的哈希值,用自己的私钥对哈希值进行加密的结果就是数字签名。非对称加密不适合大量数据的加密,而对定长的哈希值进行加密,设备性能以及网络带宽影响就很小了。
  • 数字签名用途

• 加密:数字签名相当于加密之后的密文。

• 源认证:发送者用自己私钥和哈希值进行的加密,能够产生这份加密数据的人只有私钥的拥有者,而私钥具有唯一性。

• 保障通信双方身份的合法性

  • 存在的漏洞

• 用户2是要用用户1的公钥对数字证书进行解密,用户2如何判断这个公钥就是用户1的?

5、数字信封

1、数字信封的功能类似于普通信封,数字信封采用密码技术保证只有指定的接收人才能阅读信息的内容。2、数字信封中采用了对称密码算法和非对称密码算法。信息发送者首先利用随机产生或预先配置的对称密码加密信息(发送者和接收者随机产生一致的加密秘钥),再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封。3、信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,然后利用对称密码解密所得到的信息,这样就保证了数据传输的真实性和不可窥探性。

  • vpn中交换对称秘钥的方式有三种:

• 1、静态预先配置,两边配置一样。

• 2、通过某种机制协商成一样。

• 3、一边生成对称秘钥,利用接收方的公钥发给对方,对方用自己密码解密获得这个秘钥。

  • 对称加密和非对称加密两者的优点相结合

• 对称秘钥加密数据效率高,非对称加密安全性高。

6、数字证书

数字证书简称为证书,它是由证书机构签发的电子数据,是PKI技术的基础。数字证书是网络上实体的身份证明,证明某一实体身份和公钥的合法性以及实体与公钥的匹配关系。证书是公钥的载体,证书上的公钥与唯一实体身份绑定。证书格式及证书内容遵循X.509标准,主要内容包括:序列号、用户公钥、用户实体信息、签证机构的信息、签证机构的签名(数字签名)、证书有效期等。

7、证书吊销列表

由于用户身份、用户信息或者用户公钥的改变、用户私钥泄漏、CA私钥泄漏、从属关系改变或用户业务中止等原因,需要存在一种方法提前将现行的证书撤消,即撤消公钥及相关用户身份信息的绑定关系。在PKI 中,使用的方法为CRL(CertificateRevocationList,证书吊销列表),即证书黑名单。通常证书具有一定的有效期,但CA可通过证书吊销的过程来缩短这一有效期。CA 发布一个证书吊销列表,列出被认为不能再使用的证书的序列号。CRL指定的寿命通常比证书指定的寿命短得多。CA 也可以在CRL中加入证书被吊销的理由。在吊销的证书到期之后,CRL中的有关条目被删除,以缩短CRL列表的大小。

8、证书注册

证书注册,即证书申请,就是实体向CA 自我介绍并获取证书的过程。实体向CA 提供身份信息,以及相应的公钥,这些信息将成为颁发给该实体证书的主要组成部分。实体向CA 提出证书申请,有离线和在线两种方式。离线申请方式下,CA 允许申请者通过带外方式(如电话、磁盘、电子邮件等)向CA 提供申请信息。在线证书申请有手工发起和自动发起两种方式。

PKI系统逻辑结构

用户通过与PKI的管理层RA进行交互,通过RA身份认证后,就可以提交申请到CA进行证书申请CA就可以颁发证书给用户。通常,我们在现实生活中,例如网上银行要用到证书,证书申请还需要比较传统的方法,到银行去手动办理,进行填写表格后,由银行进行确认后,CA才会颁发。而在我们一些使用证书的解决方案中,就不需要这么麻烦,可以使用计算机通过网络来实现整个PKI结构的使用及其服务申请。

手动秘钥交换与确认

  • 安全地交换公钥,最简单的安全方法是需要带外验证:1、回读收到的密钥(指纹)通过一个安全的通道/途径(电话)。2、如果它是匹配的,说明密钥在传输中没有被更改。3、它不具备可扩展性。

受信任关系

  • 1、用户A和用户B已经安全的交换了公钥(通过离线确认)2、用户B和用户C已经安全的交换了公钥(通过离线确认)3、用户A和用户C能否通过用户B的帮助,安全的交换公钥呢?

  • 用户B能够扮演类似一个受信任的介绍者的角色,因为它是被用户A和C两者都信任的。1、用户B通过自己的私钥给用户A的公钥做签名并把它发送给用户C。2、用户B通过自己的私钥给用户C的公钥做签名并把它发送给用户A。3、用户A和C能够验证签名,因为他们早已拥有了用户B的公钥

CA有自己的公钥和私钥用户A有自己的公钥和私钥用户B有自己的公钥和私钥三者都要具备自己的公钥和私钥(先决条件)

  • 用户A在线或离线向CA办理证书。CA让用户A提交公钥,CA把用户A的公钥做哈希,用自己的私钥对哈希后的公钥做加密,结果就是签名。有了签名之后CA就能向用户A颁发证书。用户A把CA颁发的证书交给用户B的时候证书中包含A的公钥,B可以直接通过证书获得A的公钥。B如何证明证书中就是A的公钥?B会拿CA的公钥去解开签名得到A的公钥哈希值。B把证书中的公钥做本地的哈希值和签名中的哈希值做对比,一致证明这个公钥是合法的。

• 核心逻辑推理:我用CA的公钥能解开CA私钥的签名,一定代表A的签名是CA认证过的。1、B收到A的证书后,提取出证书中的公钥做本地哈希值。2、B根据自己获知的CA公钥去解开数字签名得到的是CA对用户A公钥哈希后的哈希值,本地计算出的哈希和解开数字签名后的哈希做对比,一样的话公钥认证成功,用户B就能确认我通过证书拿到的公钥就是A的公钥(能形成数字签名的机构是CA,而CA用自己私钥实现数字签名,我拿CA的公钥能解开CA的数字签名,这个哈希值一定是CA产生的,这个哈希值是A提交公钥给CA所产生的哈希值)。

证书组成内容

  • CA生成的证书1、版本:即使用X.509的版本,目前普遍使用的是v3版本(0x2)。2、序列号:该序列号在CA服务范围内唯一。3、签名算法:CA签名使用的算法。4、颁发者:CA的名称。5、有效期:包含有效的起、止日期,不在有效期范围的证书为无效证书。6、主题:证书所有者的名称。7、公钥信息:对外公开的公钥。8、扩展信息:通常包含了使用者备用名称、使用者密钥标识符等可选字段。9、签名:CA的签名信息,又叫CA的指纹信息。

CA证书颁发过程

  • PKI继承了这个概念并使其具有可扩展性:1、仅仅只有一个受信任的介绍者(证书颁发机构 )2、CA签署每一个人的公钥3、每个人都拥有CA的公钥
  • CA 的核心功能就是发放和管理数字证书,包括:证书的颁发、证书的更新、证书的撤销、证书的查询、证书的归档、CRL的发布等。具体描述如下:(1)、证书申请处理:接收、验证用户数字证书的申请。(2)、证书审批处理:确定是否接受用户数字证书的申请。(3)、证书颁发处理:向申请者颁发或拒绝颁发数字证书。(4)、证书更新处理:接收、处理用户的数字证书更新请求。(5)、证书查询和撤销处理:接收用户数字证书的查询、撤销。(6)、发布CRL:产生和发布证书吊销列表(CRL)。(7)、证书的归档:数字证书的归档。(8)、密钥的备份和恢复。(9)、历史数据归档。

证书交换过程

证书注册

• CA的证书为根证书,根证书通常需要非常可靠的方式获得(根证书包含CA的公钥),

CA使用私钥为证书请求者做数字签名

• 用户提交公钥,CA会先对公钥做哈希,CA然后再用自己的私钥对哈希值做加密,形成数字签名,然后把数字签名、用户公钥、用户身份信息放在证书中,然后再将证书颁发给用户。

交换证书相互认证

• 两个用户都知道CA的公钥,通过CA的公钥来判断对方的公钥是否是可以信任的。

数字证书在VPN中应用

数字证书在IKE中的应用

  • 1、设备先获得CA根证书,根证书导入设备。2、用户在发起访问时会在报文中携带自己的证书。3、IKE协商中的某些参数,双方都知道信息做哈希计算,发起方用私钥对哈希值加密,形成数字签名,证书、 身份信息、数字签名发给对方。4、接收者收到数据包后,从发起方证书中提取发起方的公钥,用这个公钥去解析发起方数字签名拿到哈希值,和接收方计算的哈希值做对比。
  • 用数字证书使双方进行信任

数字证书申请步骤

1、同步时间

• 设备时间如果不同步的话,证书有效期内,设备时间问题会导致证书失效问题。

2、部署证书服务器

  • 通常CA要找权威机构(收费),中小企业在公司内部搭建CA服务器。
  • CA分类:1、世界公认CA2、把自己当为权威CA
  • 部署CA可以使用:(1)、window(2)、linux

3、客户端生成秘钥

  • (1)、设备和用户都生成自己的公钥和私钥。(2)、CA生成自己的公钥和私钥。

4、验证证书服务器

• (1)、客户端先把CA的公钥下载到本地。(2)、用户提交自己的公钥给CA去申请个人证书。

5、申请个人证书

• (1)、CA拿客户的公钥去做哈希计算(2)、CA用自己的私钥对这个哈希的值做加密形成——“签名”(3)、CA生成证书 包含了用户身份、用户所提交公钥、CA为用户公钥做的“签名”、有效期、算法信息。

6、颁发个人证书

• A和B两位用户得到证书之后就可以交换证书去互相验证身份信息了。

• IPsec在IKE阶段一第五、六包中会携带自身证书实现设备认证。

7、交换证书

PKI框架中申请、颁发证书

两种方式从CA获取证书:1、在线方式(带内方式)(1)、网关和CA通过证书申请协议交互报文,在线申请证书。常用的证书申请协议有SCEP(Simple Certification EnrollmentProtocol)和CMP(Certificate Management Protocol)。2、离线方式(带外方式)(1)、首先,通过磁盘、电子邮件等方式将该文件发送给CA。(2)、然后,CA根据证书请求文件为网关制作证书,同样通过磁盘、电子邮件等方式将证书返回。(3)、最后,我们将证书上传到网关的存储设备中。

离线证书申请流程

  • 1、设备在本地生成公私秘钥对。2、实现身份信息配置(我是谁)。3、生成证书请求文件(通过磁盘、电子邮件等方式提交给CA)4、CA收到请求信息根据实体信息、公钥信息对用户生成设备证书(用户证书,CA的公钥交给用户)。5、用户导入证书以及CA公钥(CA的证书)。

• CA证书也有被钓鱼的风险。

• 证书请求文件生成后,可以将该文件通过磁盘、电子邮件等方式将该文件发送给CA,由CA为网关FWA和FWB制作证书。除了网关FWA和FWB的证书之外,CA还会提供自身的证书,即CA证书。CA将制作好的FWA和FWB的证书同自身的证书一道通过磁盘、电子邮件等方式返回。

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数通工程师小明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值