19 HTTPS 中的 S
-
总结
1、因为 HTTP 是明文传输,所以不安全,容易被黑客窃听或窜改
2、通信安全必须同时具备 机密性、完整性,身份认证和不可否认 这四个特性
3、HTTPS 的语法、语义仍然是 HTTP,但把 下层的协议由 TCP/IP 换成了 SSL/TLS
4、SSL/TLS 是信息安全领域中的权威标准,采用多种先进的加密技术保证通信安全
5、OpenSSL 是著名的开源密码学工具包,是 SSL/TLS 的具体实现
安全特性的详解
-
机密性(Secrecy/Confidentiality)
指对 数据 的保密,只能由可信的人访问,对其他人是不可见的秘密,简单来说就是不能让不相关的人看到不该看的东西
-
完整性(Integrity,也叫一致性)
指数据在传输过程中 没有被窜改,不多也不少,完完整整地保持着原状
-
身份认证(Authentication)
指确认对方的真实身份,也就是证明你真的是你,保证消息只能发送给可信的人
-
不可否认(Non-repudiation/Undeniable) 也叫不可抵赖,意思是不能否认已经发生过的行为,不能说话不算数、耍赖皮
HTTPS vs HTTP
HTTPS:新的协议名 https
,默认端口号 443(HTTP:80)
- 至于其他的什么请求 - 应答模式、报文结构、请求方法、URI、头字段、连接管理等等都完全沿用 HTTP,没有任何新的东西
HTTPS 名字里的“S”
把 HTTP
下层的传输协议由 TCP/IP
换成了 SSL/TLS
,由 HTTP over TCP/IP
变成了 HTTP over SSL/TLS
,让 HTTP
运行在了安全的 SSL/TLS
协议上,收发报文不再使用 Socket API
,而是调用专门的安全接口
SSL/TLS
-
SSL
即安全套接层(Secure Sockets Layer),在OSI
模型中处于第 5 层(会话层) -
SSL
发展到 v3 时,官方把它改名为TLS
(传输层安全,Transport Layer Security),正式标准化【TLS1.0 实际上就是 SSLv3.1】
TLS
由 记录协议、握手协议、警告协议、变更密码规范协议、扩展协议 等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。
-
这些算法的组合被称为密码套件:
基本形式:密钥交换算法 + 签名算法 + 对称加密算法 + 摘要算法,例如:
ECDHE-RSA-AES256-GCM-SHA384
解释:握手时使用
ECDHE
算法进行密钥交换,用RSA
签名和身份认证,握手后的通信使用AES
对称算法,密钥长度 256 位,分组模式是GCM
,摘要算法SHA384
用于消息认证和产生随机数