【学习笔记】SSL/TLS如何运用加密工具

一、前文回顾:

1、SSL/TLS有3个目的,分别由不同密码学工具提供

  • Confidentiality(保密性):数据只有Client和Server才能访问,由Encryption(加密)所提供
  • Integrity(完整性):Client和Server间的数据不会被修改,由Hashing(哈希)所提供
  • Authentication(真实性):Client和Server确实是他们所表述的身份,由PKI(公钥基础设施)所提供

2、前文提到的所有内容及其关联罗列,如下表,

二、SSL/TLS如何运用加密工具

  • 现在,Client(浏览器)和Server(freessl.cn)想要相互分享批量数据,并且希望能够以一种安全的方式进行分享。这意味着他们想要应用对称加密来保证批量数据的保密性,并且应用MAC(Message Authentication Code)来保证批量数据的完整性,而这两者都需要相互的密钥。
  • 因此,我们既然要保证批量数据的保密性和完整性,我们首先要创建对称密钥。
  • 我们知道非对称加密被用来进行密钥交换来创建对称密钥。所以,我们需要服务器拥有一套非对称密钥,之后Client和Server两端可以运用这些密钥来创建对称密钥(提供保密性和完整性)。
  • 此时我们发现我们没提到Authentication(真实性),事实是:世界上任何人都可以生成非对称密钥。此时,所有Client侧知道在线的另一端有着相同的对称密钥,Client还是无法确认对面的到底是谁(因为任何人的都可以生成非对称密钥),所以此时需要的一个角色就是CA机构(Certificate Authority)
  • CA是一个被Client所信任的实体;CA会生成一张证书,这张CA生成的证书会将特定的一对密钥与身份链接起来;这张证书表明拥有与这个公钥(在证书内)相匹配的私钥的实体,确实是freessl.cn
  • 我们也注意到,这张证书被CA所签名,而Clients信任该CA。
  • 因为CA签名了这张证书,我们知道这张证书能证明它自己的Authentication(真实性),而Client也能知道从证书发出之时,证书的内容没有被修改过。
  • 因为Client信任CA,我们知道的事实是证书未被修改过,而证书验证和识别的非对称密钥也继承了CA证书的真实性(Authentication)。也就意味着,我们用非对称密钥(拥有Authentication)所生成的对称密钥也继承了Authentication(真实性)。也就是说,当我们用MAC(Message Authentication Code)时,用的对称密钥(源自被授权过后的非对称密钥)也提供了Authentication。

以上就是SSL/TLS如何提供Confidentiality、Integrity和Authentication来保护在线数据。

需要注意的是,Client、Server和CA三者都是至关重要的,这三者让SSL/TLS起作用;

三者也形成一个三角形,我们称之为PKI(Public Key Infrastructure),在后文将会进行介绍

参考文献

1、网站:Practical Networking.net:Practical TLS

相关推荐
小堃学编程3 小时前
计算机网络(七) —— https协议与网络安全证书
计算机网络·web安全·https
小羽网安10 小时前
2024有哪些值得关注,学习类的网络安全公众号?
安全·web安全
炫彩@之星10 小时前
攻防实战-nacos新洞如何反弹和注入内存马
web安全·安全测试·nacos新洞·内存马注入
Dovir多多10 小时前
渗透测试入门学习——php文件上传与文件包含
前端·后端·学习·安全·web安全·php
Dovir多多12 小时前
渗透测试入门学习——php表单form与POST、GET请求练习
学习·安全·web安全·网络安全·系统安全·php·xss
桶将军T12 小时前
SEAFARING靶场渗透
数据库·web安全
没有名字的小羊14 小时前
fastjson漏洞
运维·网络·web安全·中间件
Hello_WOAIAI15 小时前
ImportError: DLL load failed while importing _ssl: 找不到指定的模块的解决方法
网络·网络协议·ssl
Dragon_qu·x15 小时前
Certbot 生成 SSL 证书并配置自动续期
运维·网络协议·https·ssl