跳到主要内容

1 篇博文 含有标签「Https」

关于Https相关的话题

查看所有标签

浅谈https非对称加密

· 阅读需 4 分钟
季冠臣
后端研发工程师

背景在互联网上,许多敏感信息被传输,例如账号密码、信用卡信息等等,如果这些信息被黑客窃取,就会导致严重的安全问题。为了保障网络安全,人们开发了一种名为HTTPS的安全协议

HTTP协议的缺陷

HTTP(Hyper Text Transfer Protocol)是一种客户端和服务器之间通信的协议,它是Web应用程序的基础。HTTP协议的通信过程中,数据是明文传输的,这使得黑客可以通过中间人攻击来窃取数据,例如通过网络钓鱼或假冒WiFi热点等方式。此外,黑客还可以通过重放攻击或篡改攻击来破坏数据传输的完整性和机密性。

HTTPS的优势

为了保证数据的安全性和完整性,人们开发了HTTPS协议。HTTPS(Hyper Text Transfer Protocol Secure)是一种安全协议,它使用SSL / TLS协议来保护数据传输。与HTTP不同,HTTPS的数据传输是经过加密的,黑客无法窃取数据。此外,HTTPS协议还可以防止重放攻击和篡改攻击,从而保证了数据传输的完整性和安全性。

HTTPS的实现技术

非对称加密

HTTPS使用非对称加密算法来保护数据传输的机密性。非对称加密算法使用一对公钥和私钥来加密和解密数据。公钥可以公开发布,任何人都可以使用它来加密数据,但只有持有相应私钥的人才能解密数据。因此,即使黑客拦截了数据,也无法解密。

数字证书

数字证书用于验证通信双方的身份,并确保数据传输的安全性。数字证书中包含了以下信息:

  • 证书颁发机构(CA)的名称和地址
  • 证书持有人的名称和地址
  • 证书的有效期限
  • 证书的公钥

证书颁发机构(CA)是一家受信任的第三方机构,用于签发和验证数字证书。CA会对证书持有人的身份进行严格的验证,并为其签署数字证书。由于CA是受信任的第三方机构,因此数字证书可以被广泛地接受和使用。

HTTPS的连接过程

以下是HTTPS连接的步骤:

  1. 客户端连接服务器。
  2. 客户端发送SSL / TLS协议版本和加密算法。
  3. 服务器发送SSL / TLS协议版本和加密算法。
    1. 客户端验证数字证书,验证服务器身份。
    2. 如果数字证书有效并可信,则客户端生成一个随机值并使用服务器的公钥加密它。
    3. 服务器使用其私钥解密客户端发送的随机值。
    4. 客户端和服务器都使用该随机值生成对称密钥。
    5. 客户端向服务器发送已使用对称密钥加密的“完成”通知。
    6. 服务器使用对称密钥解密“完成”通知,然后使用对称密钥对数据进行加密和解密。

HTTPS的连接过程

客户端:

  1. 连接服务器。
  2. 发送SSL / TLS协议版本和加密算法。
  3. 接收SSL / TLS协议版本和加密算法。
  4. 验证数字证书,验证服务器身份。
  5. 如果数字证书有效并可信,则生成一个随机值并使用服务器的公钥加密它。
  6. 使用生成的随机值生成对称密钥。
  7. 向服务器发送已使用对称密钥加密的“完成”通知。
  8. 对称加密和解密数据。

服务器:

  1. 接收客户端连接。
  2. 接收SSL / TLS协议版本和加密算法。
  3. 发送SSL / TLS协议版本和加密算法。
  4. 发送数字证书。
  5. 如果数字证书有效并可信,则使用私钥解密客户端发送的随机值。
  6. 使用生成的随机值生成对称密钥。
  7. 接收已使用对称密钥加密的“完成”通知。
  8. 对称加密和解密数据。

总结

HTTPS是一种安全协议,它使用SSL / TLS协议来保护数据传输。HTTPS使用非对称加密算法和数字证书来保证数据传输的机密性和安全性。HTTPS连接的步骤包括客户端连接服务器、发送SSL / TLS协议版本和加密算法、验证数字证书、生成随机值、生成对称密钥、发送“完成”通知和对称加密和解密数据。HTTPS可以保护数据的安全性和完整性,从而有效地防止黑客攻击。

浏览量:加载中...