Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPS 安全协议主要是啥【热度: 779】 #984

Open
yanlele opened this issue Oct 12, 2024 · 0 comments
Open

HTTPS 安全协议主要是啥【热度: 779】 #984

yanlele opened this issue Oct 12, 2024 · 0 comments
Labels
网络 web 网络相关
Milestone

Comments

@yanlele
Copy link
Member

yanlele commented Oct 12, 2024

关键词:安全协议

HTTPS(Hypertext Transfer Protocol Secure)安全协议主要包括以下几个关键方面:

一、加密通信

  1. TLS/SSL 加密

    • HTTPS 使用传输层安全(TLS)或安全套接层(SSL)协议对数据进行加密。这确保了在客户端(如浏览器)和服务器之间传输的数据是经过加密的,防止数据被窃听、篡改或劫持。
    • 加密过程通过使用对称加密算法(如 AES)和非对称加密算法(如 RSA)的组合来实现。在连接建立阶段,使用非对称加密算法交换对称密钥,然后使用对称密钥进行后续的数据加密和解密,以提高效率。
  2. 数据完整性保护

    • HTTPS 还使用消息认证码(MAC)来确保数据的完整性。接收方可以通过验证 MAC 来确定数据在传输过程中是否被篡改。如果 MAC 验证失败,接收方将拒绝接收数据,从而防止恶意篡改的数据被接受。

二、身份验证

  1. 服务器身份验证

    • HTTPS 通过服务器提供的数字证书来验证服务器的身份。数字证书由证书颁发机构(CA)签发,包含服务器的公钥和其他身份信息。
    • 客户端在连接到服务器时,会验证服务器证书的真实性。这包括检查证书的颁发机构是否可信、证书是否在有效期内以及证书中的域名是否与服务器的域名匹配等。如果证书验证失败,客户端可能会显示警告或拒绝连接。
  2. 客户端身份验证(可选)

    • 在某些情况下,HTTPS 也可以用于客户端身份验证。例如,在企业内部网络或金融交易等场景中,服务器可能要求客户端提供数字证书或其他身份验证信息,以确保只有授权的用户可以访问资源。

三、安全连接建立

  1. 握手过程

    • HTTPS 的连接建立过程包括一个称为“握手”的阶段。在握手过程中,客户端和服务器交换信息,协商加密算法、密钥交换方式和其他安全参数。
    • 这个过程确保双方都支持相同的安全协议版本,并能够建立一个安全的连接。握手过程还包括服务器身份验证和密钥交换,为后续的数据传输做好准备。
  2. 安全参数协商

    • 在握手过程中,客户端和服务器协商各种安全参数,如加密算法、密钥长度、MAC 算法等。双方选择最强的安全配置,以确保通信的安全性。
    • 这个协商过程是动态的,可以根据客户端和服务器的能力以及安全需求进行调整。

四、安全优势和应用场景

  1. 安全优势

    • HTTPS 提供了比 HTTP 更高的安全性,保护用户的隐私和数据安全。它可以防止敏感信息(如密码、信用卡号码、个人信息等)在传输过程中被窃取或篡改。
    • 此外,HTTPS 还可以防止中间人攻击,确保客户端和服务器之间的通信是直接的,没有被第三方拦截或篡改。
  2. 应用场景

    • HTTPS 广泛应用于各种场景,包括电子商务、网上银行、社交媒体、企业内部网络等。任何涉及敏感信息传输或需要保护用户隐私的网站或应用都应该使用 HTTPS。
    • 搜索引擎也越来越重视 HTTPS,将其作为一个排名因素,鼓励网站所有者采用更安全的协议。
@yanlele yanlele added the 网络 web 网络相关 label Oct 12, 2024
@yanlele yanlele added this to the milestone Oct 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
网络 web 网络相关
Projects
None yet
Development

No branches or pull requests

1 participant