安全HTTP需要提供的功能:
- 服务器认证
- 客户端认证
- 完整性
- 加密
- 效率
- 普适性
- 管理的可扩展性
- 适应性
- 在社会上的可行性
HTTPS
HTTPS方案的URL以https://开头,区别于https://。
HTTPS在HTTP的基础上使用SSL或者TLS(传输层安全)进行加密。
HTTPS是位于安全层之上的HTTP,这个安全层位于TCP之上:

数字加密
密码
密码是一套编码方案——一种特殊的报文编码方式和一种稍后使用的相应解码方式的结合体。

三字符循环移位密码示例;

循环移位N字符中的N(密码参数)由密钥控制。
数字密码
使用不同密钥的旋转N字符密码:

加密过程:编码函数E使用明文P通过密钥e编码生成密文C

对称密钥加密技术
对称密钥指的是加密密钥值和解密密钥值相等。使用对称密钥加密技术,需要发送端和接收端共享相同的密钥值。
对称密钥的解密过程:解密函数D对密文C通过密钥d进行解密,生成明文P

密钥长度和枚举攻击
用暴力去尝试所有的密钥值称为枚举攻击。
公开密钥加密技术
公开密钥加密技术使用了两个非对称密钥:一个用于主机报文编码,一个用于主机报文解码。


所有人都可以用同一个密钥对发给服务器X的报文进行编码,但除了服务器X本身,其他人无法解码,只有X有解码私有密钥。
数字证书
因特网上的“ID卡”——数字证书。数字证书(通常被称作certs)包含了由某个受信任组织担保的用户或公司的相关信息。

验证签名

HTTPS细节
HTTP和HTTPS端口号

HTTP和HTTPS事务

简化版SSL握手

服务器证书

站点证书的有效性
日期检测、签名颁发者(CA)的可信度检测、签名检测、站点身份检测。
HTTPS客户端实例

OpenSSL
OpenSSL是SSL和TLS最常见的开源实现。