文章目录
HTTPS
- HTTPS = HTTP + SSL(安全套接层)
【1】HTTP缺点
- 通信使用明文(不加密),内容可能会被窃听‘
- 不验证通信方身份,可能遭遇伪装
- 无法验证报文完整性,可能遭遇篡改
【2】TCP/IP可能被窃听
- 窃听:只需要收集互联网上流动的数据包(帧)——抓包
【3】加密防止窃听
通信加密
- 通过SSL(Secure Socket Layer 安全套接层) 或者TCL(Transport Security 安全传输协议),对HTTP通信加密。
- 利用SSL建立一条安全通信线路——HTTPS(HTTP Secure 超文本安全传输协议)
内容加密
由于不是对整个通信过程的加密,所以依然存在很大风险
【4】不验证通信身份
- 任何人都可以发起请求,并且服务器都会返回响应
- 隐患:
(1)遭遇伪装的服务器
(2)遭遇伪装的客户端
(3)无法判定请求的来源
(4)无法确定通信对方是否具备访问权限
(5)既使是无意义的请求也会照单全收,无法组织海量请求下的Dos攻击
查明对方证书确认身份zhnegshu
- HTTP协议不能确认身份,但SSL可以,SSL协议不仅提供了加密手段还提供了证书手段
- 证书:是由值得信任的第三方机构颁发,用于证明client和server的身份
【5】无法验证报文完整性
- 遭遇中间人攻击(man-in-the-middle attack MITM)
- SSL提供了摘要功能
小结
HTTP的四个缺点,都可以由SSL来解决
(1)不加密问题——SSL通信加密,先简历安全通道
(2)不验证身份问题——SSL通过证书手段
(3)不验证报文完整性——SSL通过摘要功能
【6】HTTPS = HTTP +加密+认证+完整性保护
扫描二维码关注公众号,回复:
10617917 查看本文章
HTTPS是一种安全技术手段:http:// ——> https://
【7】HTTPS是身披SSL的HTTP
- HTTP先跟SSL通信,SSL再与TCP建立连接
- SSL是独立于HTTP协议存在的,其他运行在应用层的协议都可以与SSL结合
SSL是目前全世界应用最广泛的网络安全技术
【8】SSL的加密技术——公开密钥加密
- 近代的加密方法:
加密算法公开
密钥保密
- 加密和解密都需要密钥,不能让攻击者得到密钥
共享密钥和公开密钥
- 共享密钥加密:加密解密都使用同一个密钥,发送信息时密钥也要发送给对方去解密
- 公开密钥加密
2个密钥:私有密钥和公开密钥
发送方使用公开密钥
接收方使用私有密钥
公开密钥和私有密钥是一套密钥(实际存在很多套),发送方使用公开密钥加密信息后,也要告诉接收方是哪一套的,这样接收方就利用对应的私有密钥解密
共享密钥由于发送加密信息时也需要发送密钥,所以被截取之后啥用也没有
【9】HTTPS采用混合加密方法
- 共享加密方法:速度快,安全性差
- 公开加密方法:速度慢,安全性高
- HTTPS:交换密钥阶段采用公开密钥加密方法,之后建立通信交换报文阶段采用共享密钥加密方法
- 交换公开密钥阶段:让server拥有私有密钥过程
证明公开密钥的证书
如何确定使用的公开密钥就是对应服务器发行的那套
- 利用公开密钥证书(数字认证机构颁布)
EV SSL证书
- 证明运营企业真实存在
客户端证书
- 例如:网上银行采用了客户端证书,用户除了输入ID、密码还会要求客户端证书确认用户是否是从特定的终端访问的网银
【10】HTTPS完整通信
【11】为什么不一直使用HTTPS
- 加密通信消耗更多内存和CPU
- 节约购买证书的成本
- 敏感信息才使用HTTPS