深入浅出理解HTTPS

PART1:基本知识储备


1.对称密钥(Symmetric Encryption)

  • 对称密钥加密算法使用相同的密钥(Symmetric key)来进行数据加密(encryption)解密(decryption)
  • 加密和解密过程都使用相同的密钥,因此加密速度较快,适用于大量数据的加密。
  • 问题在于密钥的管理:在通信双方交流之前,需要确保安全地分享密钥,这可能会带来密钥安全性的挑战。有时黑客容易截取公钥,从而尝试解密数据。
  • 举例:常见的对称加密算法包括AES(Advanced Encryption Standard)

2.非对称密钥(Asymmetric Encryption)

  • 非对称密钥加密算法使用一对密钥:公钥(PUBLIC KEY)私钥(PRIVATE KEY)。公钥用于加密数据,私钥用于解密数据。
  • 公钥可以公开发布,任何人都可以使用它来加密数据,但只有持有私钥的实体才能解密数据
  • 非对称密钥加密更安全,因为私钥不需要在通信之前共享,从而减少了密钥泄漏的风险。
  • 非对称加密算法也用于数字签名,以确保数据的来源和完整性。
  • 举例:常见的非对称加密算法包括RSA(Rivest-Shamir-Adleman)和ECC(Elliptic Curve Cryptography)。

3.SSL证书

公钥SSL证书中包含了服务器的公钥。这个公钥用于加密数据,只有服务器持有相应的私钥才能解密这些数据
证书颁发者信息证书颁发者是一个受信任的证书颁发机构(CA),他们确认了服务器的身份并签发了证书。证书中包含了CA的名称、数字签名等信息
证书持有者信息这是服务器的信息,包括域名、公司名称、组织信息等。这些信息帮助用户验证他们是否与期望的网站进行通信
数字签名证书颁发者使用其私钥对证书进行数字签名,这表示证书是由该颁发机构签发的,并且未被篡改。浏览器使用颁发者的公钥来验证数字签名。
有效期SSL证书有一个有效期,在这个时间范围内证书是可用的。过期的证书可能会导致浏览器发出警告,因为安全性可能受到威胁
证书指纹这是一个唯一的标识证书的字符串,可用于验证证书的完整性。
加密算法信息证书指定用于加密通信的算法,如RSA、ECC等,以确保数据的安全传输
主题备用名称证书可以包含多个域名或子域名,使同一个证书适用于多个域名

4.CA公钥预置于系统

CA机构也是拥有其CA公钥及CA私钥的,并且CA公钥存在于操作系统内,即当安装操作系统时就会带有CA公钥,因此会使用CA机构来进行非对称加密的验证,如下图:


PART2:HTTPS安全传输流程

 ps:在上述过程中,并未涉及私钥(private key)的传输,因此确保了传输的安全性。相关证书颁发机构(CA)的公钥已预先嵌入操作系统内部,从而为通信提供了安全性保障。

数据是如何加密和解密的?

步骤1: 客户端(浏览器)和服务器建立 TCP 连接。

步骤2:客户端向服务器发送“客户端问候”。该消息包含一组必要的加密算法(密码套件)及其可以支持的最新 TLS 版本。服务器响应“server hello”,以便浏览器知道它是否可以支持算法和 TLS 版本然后服务器将 SSL 证书发送给客户端。证书包含公钥、主机名、到期日期等。客户端验证证书。客户端验证这些信息 

步骤3:  验证 SSL 证书后,客户端生成会话密钥并使用公钥对其进行加密。服务器接收加密的会话密钥并用私钥解密

步骤4: 现在客户端和服务器都持有相同的会话密钥(对称加密)[这种情况下,采用对称加密是合适的,因为会话密钥没有被暴露,而非对称加密则需要进行相当大的数学计算开销。对称加密可以确保数据在安全的双向通道中进行加密的传输,适用于需要长时间会话中的数据交换]

参考文章:http://t.csdn.cn/zX4IZ​​​​​​

欢迎指正.......

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

敲码的小陈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值