有人问: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. 线段树之Sum

    题面: 给定一数列,规定有两种操作,一是修改某个元素,二是求区间的连续和. Input: 输入数据第一行包含两个正整数n,m(n<=100000,m<=500000),以下是m行, 每行有 ...

  2. Linux内核分析5

    周子轩 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.学习总结 通过gdb ...

  3. winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)

    http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已 ...

  4. Ubuntu配置vncserver

    https://help.aliyun.com/knowledge_detail/59330.html 首先,安装桌面环境和vnc4server: sudo apt-get install gnome ...

  5. windows使用composer.phar

    把composer.phar复制到php安装目录下, 新建一个composer.bat文件,编辑 @php "%~dp0composer.phar" %* 保存,然后就可以使用co ...

  6. wordpress初始化安装

    数据名,用户名,密码的选择: 从主机购买商的控制面板里面查询: 然后填入到WordPress数据库初始化页面..

  7. STL源码分析-vector

    http://note.youdao.com/noteshare?id=55dc651a7489f1413b3a3169401dcf94

  8. H5禁止手机虚拟键盘弹出

    点击输入框弹出自定义弹窗,输入框是input标:但是在移动端,input会默认触发手机的虚拟键盘,如何阻止手机虚拟键盘弹起呢?目前我试过有两个方案,一个是给input添加readonly属性,另一个就 ...

  9. Hadoop 遇到的问题集

    1. Mac 使用ssh命令无法成功 ssh localhost,但是可以ssh其他的 可能原因:ssh服务未启动 解决方法: 1.启动sshd服务: sudo launchctl load -w / ...

  10. Ajax笔记-加强版

    AJAX :   Asynchronous JavaScript and XML 异步JavaScript和XML   用javascript异步形式去操作xml 进行数据交互   节省用户操作,时间 ...