您的位置:首页 > 理论基础 > 计算机网络

从HTTP到HTTPS

2016-12-19 16:03 190 查看
TLS(传输层安全协议)的前身是SSL(安全套接层),于1999年,被标准化并改名为TLS

SSL的出现的背景:http协议传输过程中为明文方式,也导致了在传输的过程中很容易被嗅探和更改。

Chrome、火狐、Safari、Opera、IE和Edge都要求使用HTTPS加密连接,才能使用HTTP2.0

http(超文本传输协议)从1.0版本开始在世界范围内流行,到目前为止最为流行的为http1.1,虽然http2.0已经于去年正式发布,但目前来看,使用广度仍然较小。即将于2017年发布的java9也将对http2.0提供支持,相信http2.0会逐渐显现出它的优势。http有两种连接方式:长连接,短连接。1.1之后开始默认长连接。

https(超文本传输安全协议)简单理解就是http+ssl/tls

https的几个特性:

兼容性:完美兼容http,实现原有http项目完美迁移至https

可扩展性:SSL/TLS 可以跟很多常用的应用层协议(比如:FTP、SMTP、POP、Telnet)搭配,来强化这些应用层协议的安全性

保密性:传输的数据均是采用session key加密,保证了保密性;

真实性:双方握手时对对方的身份均有验证,因此可以保证对方的真实性

完整性:每部分数据均有mac验证,验证时计算数据的mac然后与接收到的mac比较,即可确定数据是否完整,确保 HTTP 协议的内容不被篡改

不可否认性:session key只有通信双方有,并且不在网络上传输,因此攻击者无法伪造使用session key加密的数据,所以具有不可否认性。

尽管https如此牛逼,但由于CA证书的成本加之https因为要加密解密等操作造成的服务器压力成本,使得一些小的站点依然采用http传输方式,当然对于看看新闻这种没有隐私信息的可以原谅,但是涉及到登录,支付等私密信息时,传输必须要使用https。据传,ios的应用将在2017年开始不再支持使用http传输协议的接口,强制使用https传输协议

在tomcat中配置SSL

https://waylau.com/tomcat-ssl-tls/

背景知识、协议的需求、设计的难点

http://program-think.blogspot.com/2014/11/https-ssl-tls-1.html?q=ssl&scope=all

可靠密钥交换的难点,以及身份认证的必要性

https://program-think.blogspot.com/2014/11/https-ssl-tls-2.html?q=ssl&scope=all

密钥交换(密钥协商)算法及其原理

https://program-think.blogspot.com/2016/09/https-ssl-tls-3.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssl http协议 java 安全