2024年网络安全最新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所产生的哈希值)。

证书组成内容

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值