计算机网络 HTTPS 如何保证安全
01.Https加密方式
- 如下所示
02.Https为何安全
2.1 Https=Http+Ssl
- Https保证了我们数据传输的安全,Https=Http+Ssl
- 之所以能保证安全主要的原理就是利用了非对称加密算法,平常用的对称加密算法之所以不安全,是因为双方是用统一的密匙进行加密解密的,只要双方任意一方泄漏了密匙,那么其他人就可以利用密匙解密数据。
- 非对称加密算法之所以能实现安全传输的核心精华就是:公钥加密的信息只能用私钥解开,私钥加密的信息只能被公钥解开。
2.2 非对称加密算法为什么安全
- 简述非对称加密算法为什么安全:
- 服务端申请CA机构颁发的证书,则获取到了证书的公钥和私钥,私钥只有服务器端自己知道,而公钥可以告知其他人,如可以把公钥传给客户端,这样客户端通过服务端传来的公钥来加密自己传输的数据,而服务端利用私钥就可以解密这个数据了。由于客户端这个用公钥加密的数据只有私钥能解密,而这个私钥只有服务端有,所以数据传输就安全了。
- 上面只是简单说了一下非对称加密算法是如何保证数据安全的,实际上Https的工作过程远比这要复杂
03.为什么要用Https
- 为什么要用HTTPS?
- 通信使用明文(不加密),内容可能被窃听(抓包工具可以获取请求和响应内容)
- 不验证通讯方的身分,任何人都坑你发送请求,不管对方是谁都返回相应
- 无法证明报文的完整性,可能会遭到篡改,即没有办法确认发出的请求/相应前后一致
- HTTP和Socket的区别
- HTTP是应用层协议;基于TCP协议;使用“请求—响应”方式建立连接,在请求时需要先建立连接且客户端要先发出请求,可见服务器需要等到客户端发送一次请求后才能将数据传回给客户端
- Socket(套接字)是对TCP/IP协议的封装,是接口而不是协议;创建Socket连接时可以指定传输层协议TCP或UDP;Socket建立连接过程三步骤:服务器监听->客户端请求->连接确认,可见服务器可以直接将数据传送给客户端(HTTP2.0也增加了服务端推送的功能)
HTTPS 加密原理详解
HTTPS 是 Hyper Text Transfer Protocol Secure 的缩写,是 HTTP 协议的安全版本。它通过使用加密技术来保护通信内容,防止数据在传输过程中被窃听或篡改。
HTTPS 加密过程主要涉及以下步骤:
1. 客户端和服务器协商加密套件
客户端和服务器首先会协商使用哪种加密套件进行通信。加密套件通常包括以下几种算法:
- 对称加密算法:用于加密数据传输
- 非对称加密算法:用于加密密钥交换
- 哈希算法:用于验证数据完整性
2. 服务器发送证书
服务器将自己的SSL证书发送给客户端。SSL证书包含了服务器的公钥、服务器信息以及证书颁发机构的签名。
3. 客户端验证证书
客户端会验证服务器证书的有效性。如果证书有效,客户端会提取服务器的公钥。
4. 生成对称密钥
客户端和服务器会生成一个随机的对称密钥,用于加密数据传输。
5. 加密数据传输
客户端和服务器使用对称密钥加密数据进行传输。
6. 验证数据完整性
客户端会使用服务器的公钥对接收到的数据进行解密,并使用哈希算法验证数据的完整性。
HTTPS 加密使用的算法
HTTPS 加密通常使用以下几种算法:
- 对称加密算法:AES、RC4、Blowfish 等
- 非对称加密算法:RSA、DSA、ECC 等
- 哈希算法:SHA-1、SHA-256、MD5 等
HTTPS 加密的优势
HTTPS 加密具有以下优势:
- 数据保密性:HTTPS 加密可以防止数据在传输过程中被窃听。
- 数据完整性:HTTPS 加密可以防止数据在传输过程中被篡改。
- 身份认证:HTTPS 加密可以确保客户端和服务器的身份真实性。
HTTPS 加密的应用
HTTPS 加密广泛应用于各种需要安全通信的场景,例如:
- 电子商务
- 网上银行
- 在线支付
- 社交网络
- 电子邮件