Page 60 - Web性能权威指南
P. 60

IETF 后 来 在 标 准 化 SSL 协 议 时, 将 其 改 名 为 Transport  Layer Security
                         (TLS,传输层安全)。很多人会混用 TLS 和 SSL,但严格来讲它们并不相
                          同,因为它们指代的协议版本不同。

               SSL  2.0 是该协议第一个公开发布的版本,但由于存在很多安全缺陷很快就被 SSL
               3.0 取代。鉴于 SSL 协议是网景公司专有的,IETF 成立了一个小组负责标准化该协
               议,后来就有了 RFC 2246,即 TLS 1.0,也就是 SSL 3.0 的升级版。

                   本协议与 SSL 3.0 的区别并不特别明显,但这些区别会严重妨碍 TLS 1.0 与
                   SSL 3.0 之间的互操作性。
                                                              ——TLS 协议(RFC 2246)

               TLS  1.0 自 1999 年 1 月发布后,为解决发现的安全缺陷同时扩展协议的功能,IETF
               工作组先后又发布过两个新版本:2006 年 4 月发布了 TLS  1.1,2008 年 8 月发布了
               TLS  1.2。从内部来看,SSL  3.0 实现与后续所有 TLS 版本很相似,很多客户端到今
               天还在支持 SSL 3.0 和 TLS 1.0。当然,要保护用户免受攻击,最好还是升级到最新
               版本。


                          TLS 设计的初衷是在可靠的传输协议(如 TCP)之上运行。可是,有实现
                          把它放到了数据报协议(如 UDP)之上。RFC  6347,即 DTLS(Datagram
                          Transport  Layer Security,数据报传输层安全)就旨在以 TLS 协议为基础,
                          同时兼顾数据报交付模式并提供类似的安全保障。


               4.1 加密、身份验证与完整性


               TLS 协议的目标是为在它之上运行的应用提供三个基本服务:加密、身份验证和数
               据完整性。从技术角度讲,并不是所有情况下都要同时使用这三个服务。比如,可
               以接受证书但不验证其真实性,而前提是你非常清楚这样做有什么安全风险且有防
               范措施。实践中,安全的 Web 应用都会利用这三个服务。

               •   加密
                 混淆数据的机制
               •   身份验证
                 验证身份标识有效性的机制

               •   完整性
                 检测消息是否被篡改或伪造的机制




               42   |   第 4 章
   55   56   57   58   59   60   61   62   63   64   65