有人问:http和https有什么区别?

HTTP,全称"Hyper Text Transfer Protocol",是从浏览器访问网站时使用的默认协议.由于浏览器到网站之间的数据传送是明文方式,容易受到中间人攻击和窃听,不适合如银行账号,口令等敏感信息的传送. 如新浪http://www.sina.com.cn.

HTTPS,代表Hyper Text Transfer Protocol Secure,将SSL/TLS加密和认证功能融入到HTTP协议里面,在信息传送前先通过SSL/TLS协议加密,收到的信息会先被浏览器解密,再显示出,从而保证了网上交易时的安全. HTTPS广泛用在网上交易\支付\敏感信息下载(如电子邮件)等领域. 如招行网上银行

如何启用HTTPS

为了准备让Web服务器接受HTTPS连接,管理员必须创建一个Web服务器的SSL证书。 此证书必须由一对浏览器信任的证书颁发机构接受,如VeriSign, GlobalSign, Geotrust, Thawte, Comodo等。 浏览器在发布时就已经内置了主要认证机构签名证书 ,使他们能够验证他们签名的证书。

获取证书

是向SSL代理商购买受信的国际SSL证书.用户不需要安装插件,直接就可以安全访问.

也有不受信的CA机构或个人签发自签名证书, 但是用户需要手工添加的不被浏览器内置的签名证书到受信任根证书列表中。

TLS与SSL协议

Transport Layer Socket和Secure Socket Layer本质上是一样的,是集加密和身份认证于一身的安全协议,为浏览器,IIS,Apache,Exchange Server等所有应用默认支持.

TLS是在SSL(由最早的浏览器厂商Netscape公司推出)基础上,发展成国际标准组织IETF的标准RFC5246。

TLS协议允许客户机/服务器应用程序通过网络进行通信的目的是防止窃听、干扰和伪造的信息。

TLS使用加密和数字签名技术提供在互联网上端点认证和通信的保密性。加密强度可以达到1024或2048位。

在典型的end-user/browser使用,TLS身份验证是单方面的:只有服务器进行身份验证 (客户端知道服务器的身份),而不是相反 (客户端仍然未经验证或匿名)。严格地说, 服务器认证对于浏览器(工具)和最终用户(个人)意义并不完全相同。对于浏览器,它只是意味着浏览器验证服务器的证书,即检查了服务器证书的颁发机构是受信的,有完整的信任链。一旦通过验证,浏览器就显示安全图标(如状态栏上的“小锁”)。但是,仅仅是验证不“确定”服务器到最终用户。

对于最终用户,最好要执行下列操作之一:检查证书机构的根信息,及证书的CA信任链)。

特别是:在“小锁”图标,并不表示所访问的网站是可信的,只是浏览器到网站的信息进行了加密,避免误解。恶意网站不能使用另一个网站的有效证书,因为他们网址URL和SSL证书是一一对应的。由于只有受信任的CA可以嵌入证书中的网址,是为了确保检查与证书中指定的URL明显的网址是识别真正的网站上的有效方式。

TLS的还支持更安全的双向身份认证模式(通常是在企业应用中),即客户端(通常是浏览器)不仅验证安全网站,安全网站也会验证客户端的身份(需要安装客户端或个人证书)。双向验证要求的客户端也持有证书。

TLS/SSL协议建立涉及三个基本阶段:

1. Peer negotiation for algorithm supporthttp://en.wikipedia.org/wiki/Transport_Layer_Security对等协商
2. Key exchange and authentication 密钥交换和认证
3. Symmetric cipher encryption and message authentication 对称密码加密和消息认证

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包。由于这是互联网应用最广泛的安全传输方法,被网银在线支付电商网站、门户网站电子邮件等重要网站广泛使用,所以该漏洞影响范围广大。
OpenSSL漏洞不仅影响以https开头的网站,黑客还可利用此漏洞直接对个人PC发起“心脏出血”(Heartbleed)攻击。据分析,Windows上有大量软件使用了存在漏洞的OpenSSL代码库,可能被黑客攻击抓取用户电脑上的内存数据。

更多请参考

http://en.wikipedia.org/wiki/Transport_Layer_Security

SSL与HTTPS,HTTP有什么联系的更多相关文章

  1. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  2. 和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS及其他)

    转自http://blog.csdn.net/bluishglc/article/details/7585965 对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统 ...

  3. Ubuntu Nginx下配置网站ssl实现https访问

    最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Trans ...

  4. SSL证书(HTTPS)背后的加密算法

    SSL证书(HTTPS)背后的加密算法 之前我们介绍SSL工作原理了解到当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信.这些复杂的步骤的第一步 ...

  5. 你的MySQL服务器开启SSL了吗?SSL在https和MySQL中的原理思考

    最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...

  6. Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

  7. Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决

    备注 在创建证书时候的背景信息: 'keytool -genkeypair' 命令将会创建秘钥对,包括公钥和关联的私钥,然后存储到  keystore 中.这个命令打包公钥为  X.509 v3 自签 ...

  8. Confluence 6 通过 SSL 或 HTTPS 运行 - 为 HTTPS 修改你的 Confluence 基础 URL

    在你的浏览器中,进入  > 基本配置(General Configuration). 单击 编辑(Edit). 修改服务器的基础 URL 为 HTTPS.请参考文档  configuring t ...

  9. Confluence 6 通过 SSL 或 HTTPS 运行 - 重定向所有的 URLS 到 HTTPS 的安全考虑

    尽管现在 HTTPS 现在已经激活并且可用了.老的 HTTP URLs (http://localhost:8090)还是可以访问的.现在你需要重定向所有 URLs 到他们的 HTTPS 链接中.你可 ...

  10. Confluence 6 通过 SSL 或 HTTPS 运行 - 确定你的证书路径

    在默认的情况下,Tomcat 希望 keystore 文件被命名为 .keystore 文件,同时这个文件应该放置在 Tomcat 运行的 home 目录中(这个目录可能与你自己的 Home 目录的路 ...

随机推荐

  1. mysql主从复制 master和slave配置的参数大全

    master所有参数1 log-bin=mysql-bin 1.控制master的是否开启binlog记录功能: 2.二进制文件最好放在单独的目录下,这不但方便优化.更方便维护. 3.重新命名二进制日 ...

  2. Win10如何搭建FTP服务器以实现快速传输文件

    原文链接地址:http://blog.csdn.net/bai_langtao/article/details/77751447 Win10如何搭建FTP服务器以实现快速传输文件?相信大家在工作或生活 ...

  3. python基础(5)

    使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子 ...

  4. 硬盘杀手!Windows版Redis疯狂占用C盘空间【转】

    [问题的原因] Windows版Redis启动后,会在C盘自动创建一个很大的文件,C:\Users\{你的用户名}\AppData\Local\Redis\RedisQFolk_****.dat 我们 ...

  5. 【bzoj4004】装备购买

    Portal-->bzoj4004 Solution 这题的话..其实就是求\(n\)个\(m\)维向量的极大线性无关组,并且要求权值最大 然后套路什么的跟Portal-->bzoj310 ...

  6. 使图片水平并垂直居中的一个Hack

    淘宝的一个前端面试题:使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中. 想起了vertical-align:middle;但是不行,后来才知道还要di ...

  7. struts2的action中@Autowired注入为null的解决方案

    今天遇到类似问题,记录下来以便以后查阅: @Aspect作用于action,致使action中的@Autowired注入为null的解决方案,以下三种任选一种: 1.去掉@Autowired,改用se ...

  8. SSM框架使用-wrong

    mybatis手册 1. mybatis 绑定错误 如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement ...

  9. CSS3的新属性

    1.圆角矩形 .border_radius_test{ border-radius:25px; -moz-border-radius:25px; } 数值越大越圆 2.容器阴影 .box_shadow ...

  10. 朋友封装的一个ASP.NET上传文件的方法

    朋友做了asp.net开发多年,做了这个,自我感觉封装得还不错!!! 代码如下: #region 上传文件的方法 /// <summary> /// 上传文件方法 /// </sum ...