11.6 小结

HTTPS协议和SSL/TLS协议分属TCP/IP参考模型中的应用层和传输层。HTTPS协议是Web上最为常用的安全访问协议。简单地说,HTTPS就是HTTP安全版,HTTPS是基于SSL/TLS的HTTP协议,或者说HTTPS=SSL/TLS+HTTP。

SSL/TLS协议包含两个协议:SSL(Secure Socket Layer,安全套接字层)和TLS(Transport Layer Security,传输层安全)协议。SSL共有3个版本:SSL1.0、SSL2.0和SSL3.0。IETF在基于SSL3.0协议的基础上发布了TLS1.0、TLS1.0与SSL3.0几乎是兼容的。

SSL/TLS协议通过使用数字证书确保网络交互安全,为数字证书的使用提供了最佳的应用环境。

基于HTTPS协议的网络平台需要通过底层的SSL/TLS协议完成协商算法、验证证书和产生密钥的工作,最后才能进行加密交互。通过HTTPS协议可以构建两种认证服务:单向认证服务和双向认证服务。单向认证服务仅提供服务器身份验证,即提供服务器证书;双向认证要求服务器提供证书的同时,强制客户端提供证书,最终达到服务器和客户端双方身份的验证。

为确保网络交易安全,各大网银系统均使用HTTPS协议保护数据安全。通常,这些网银系统使用的数字证书有效期不超过3年。为确保交易安全,网银系统提供USB Key(U盾)硬件数字证书,最终起到双向认证的作用。

搭建HTTPS服务比我们设想的要更为简单,以Tomcat配置HTTPS服务为例,通过简单配置即可构建单向认证服务和双向认证服务。Java提供两种密钥库格式:JKS和PKCS12,需在配置时注意。