HTTPS 和 HTTP 差协议

超文本传输协定HTTP 对于web 浏览器和现场服务之间传递消息,HTTP 以纯文本协议 发送内容 无论不提供数据加密方法 假设拦截攻击web 浏览器和网站server之间传送报文。信息因此HTTP协议不适合传输一些敏感信息,比方信用卡号、password等。

为了解决HTTP协议的这一缺陷。须要使用还有一种协议:安全套接字层超文本传输协议HTTPS。为了传输数据的安全,HTTPS在HTTP的基础上增加了SSL协议,SSL依靠证书来验证server的身份。并为浏览器和server之间的通信加密。

HTTPS和HTTP的差别主要为下面四点:
一、https协议须要到ca申请证书。一般免费证书非常少,须要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性ssl加密传输协议。
三、http和https使用的是全然不同的连接方式,用的port也不一样,前者是80,后者是443。
四、http的连接非常easy。是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。比http协议安全。
信任主机的问题
採用https的server必须从CA (Certificate Authority)申请一个用于证明server用途类型的证书。该证书仅仅实用于相应的server的时候,client才信任此主机。所以全部的银行系统站点,关键部分应用都是https 的。客户通过信任该证书,从而信任了该主机。事实上这样做效率非常低,可是银行更側重安全。这一点对局域网对内提供服务处的server没有不论什么意义。局域网中的server。採用的证书无论是自己公布的还是从公众的地方公布的,其client都是自己人。所以该局域网中的client也就肯定信任该server。

通讯过程中的数据的泄密和被篡改
1. 一般意义上的https,就是server有一个证书。
a) 主要目的是保证server就是他声称的server。这个跟第一点一样。

b)服务端client之间的全部通讯。都是加密的。
i. 详细讲,是client产生一个对称的密钥,通过server的证书来交换密钥,即一般意义上的握手过程。

ii. 接下来全部的信息往来就都是加密的。

第三方即使截获,也没有不论什么意义。由于他没有密钥,当然篡改也就没有什么意义了。

2. 少许对client有要求的情况下,会要求client也必须有一个证书。
a) 这里client证书,事实上就类似表示个人信息的时候。除了username/password,另一个CA 认证过的身份。

由于个人证书一般来说是别人无法模拟的,全部这样可以更深的确认自己的身份。

b) 眼下大多数个人银行的专业版是这样的做法,详细证书可能是拿U盘(即U盾)作为一个备份的载体。

4限制编辑

它的安全保护依赖浏览器的正确实现以及server软件、实际加密算法的支持。
一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与server的加密连接中能保护银行卡号的部分,仅仅实用户到server之间的连接及server自身。并不能绝对确保server自己是安全的。这点甚至已被攻击者利用。常见样例是模仿银行域名的钓鱼攻击。少数罕见攻击在站点传输客户数据时发生,攻击者会尝试窃听传输中的数据。

商业站点被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。

只是他们经常存储银行卡号在同一个数据库里。那些数据库和server少数情况有可能被未授权用户攻击和损害。

[1]

TLS 1.1之前,这段仅针对TLS 1.1之前的状况。由于SSL位于http的下一层,并不能理解更高层协议,通常SSLserver仅能颁证给特定的IP/port组合。这使指它常常不能在虚拟主机(基于域名)上与HTTP正常组合成HTTPS。

这一点已被即将来临的TLS 1.1更新为—种全然支持基于域名的虚拟主机

5ssl编辑

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

TLS与SSL在传输层对网络连接进行加密。

SSL (Secure Socket Layer)为Netscape所研发,用以保障在Internet上传输数据之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。

眼下一般通用之规格为40 bit之安全标准,美国则已推出128
bit之更高安全标准,但限制出境。

仅仅要3.0版本号以上之I.E.或Netscape浏览器就可以支持SSL。

当前版本号为3.0。它已被广泛地用于Web浏览器与server之间的身份认证和加密传输数据。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL
Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上。用于在实际的传输数据開始前,通讯两方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有哪些
1)认证用户和server,确保数据发送到正确的客户机和server
2)加密数据以防止数据中途被窃取
3)维护数据的完整性。确保数据在传输过程中不被改变。
SSL协议的工作流程
server认证阶段:
1)client向server发送一个開始信息“Hello”以便開始一个新的会话连接;
2)server依据客户的信息确定是否须要生成新的主密钥,如须要则server在响应客户的“Hello”信息时将包括生成主密钥所需的信息;
3)客户依据收到的server响应信息,产生一个主密钥,并用server的公开密钥加密后传给server;
4)server恢复该主密钥。并返回给客户一个用主密钥认证的信息。以此让客户认证server。

用户认证阶段
在此之前。server已经通过了客户认证,这一阶段主要完毕对客户的认证。

经认证的server发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向server提供认证。

从SSL 协议所提供的服务及其工作流程能够看出,SSL协议执行的基础是商家对消费者信息保密的承诺。这就有利于商家而不利于消费者。在电子商务0基础阶段。因为运作电子商务的企业大多是信誉较高的大公司。因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也參与进来,这样在电子支付过程中的单一认证问题就越来越突出。尽管在SSL3.0中通过数字签名数字证书可实现浏览器和Webserver两方的身份验证,可是SSL协议仍存在一些问题。比方,仅仅能提供交易中客户与server间的两方认证。在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这样的情况下,Visa和MasterCard两大信用卡公组织制定了SET协议。为网上信用卡支付提供了全球性的标准。

[3]

上Https 和 http 差分的更多相关文章

  1. 流程图制作在云上 https://www.processon.com/

    流程图制作在云上 : https://www.processon.com/

  2. 解决cocos2d 热更是连不上https服务器

    最近苹果宣布所有上架应用都要用https,我们后端走的是同一个函数,导致Android也要连接https. 百度了下,网上说客户端不需要做什么特殊处理,因为cocos本身是支持https的.但是服务端 ...

  3. 给你的网站免费配置上 HTTPS 证书

    现在越来越多的网站或服务增加了 HTTPS 证书,苹果 AppStore.微信小程序等也已强制要求开发者需提供 HTTPS 的后端接口.在阿里云 / 腾讯云上有一年期的免费赛门铁克 SSL 证书可供尝 ...

  4. Fiddler抓包1-抓firefox上https请求

    前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler抓包时候,打开百度网 ...

  5. Fiddler抓包1-抓firefox上https请求【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/p/6538021.html 前言 fiddler是一个很好的抓包工具,默认是抓http请求的, ...

  6. anyproxy学习1-windows平台安装和抓手机app上https请求

    前言 做接口测试肯定离不开抓包,目前比较流行的抓包工具是fiddler和charles,相信并不陌生.这里介绍一个阿里公司研发的一个抓包神器,只需打开web页面,就能抓到手机app上的http和htt ...

  7. 让你的网站用上https

    一般申请了SSL证书,会有安装教程教你一步步配置.这里照搬官方教程. 下载得到的 www.domain.com.zip 文件,解压获得3个文件夹,分别是Apache.IIS.Nginx 服务器的证书文 ...

  8. 最简单的方式用上https

    1.在这个网站申请ssl证书 https://www.sslforfree.com 2.下载的证书使用这个脚本处理一下 #!/bin/bash HOST_NAME=$1 cp certificate. ...

  9. fiddler抓取火狐浏览器上https协议请求

    前言:现在很多网站采用https协议,当打开fiddler时.浏览https协议的网站会提示不安全,若使用fiddler抓取https协议的请求,则需要向浏览器导入证书,才能抓取https协议的请求, ...

随机推荐

  1. MVC与WebForm的简单的比较

    MVC与WebForm的简单的比较 ASP 强制程序员将业务逻辑和展示页放到一个文件中 WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写  业务逻辑代码  ...

  2. Ch06 验证

    6.1  服务器端验证 6.1.1  Data Annotations验证 6.1.2  扩展ModelMetadtaProvider 6.2  客户端验证 6.2.1  客户端验证初步 6.2.2  ...

  3. 基于visual Studio2013解决C语言竞赛题之1022最大数最小数

         题目 解决代码及点评 /************************************************************************/ ...

  4. Codeforces Round #277 (Div. 2) 题解

    Codeforces Round #277 (Div. 2) A. Calculating Function time limit per test 1 second memory limit per ...

  5. PHP学习之-1.7 注释

    注释 在PHP中也有注释语句:用双斜杠 "//" 来表示.其他语言中 HTML使用 "<!--  -->" ,CSS中使用 "/*     ...

  6. Spring MVC Cookie example

    In this post we will see how to access and modify http cookies of a webpage in Spring MVC framework. ...

  7. 基于Greenplum Hadoop分布式平台的大数据解决方案及商业应用案例剖析

    随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...

  8. 单选按钮易忽略的Group属性

    Group就其意思就是一组的意思.就是说用于选择多个控件组合,选了TRUE后,你就可以为这组新建一个变量.把一组控件当一个控件来使用.例如多个单选按钮用group属性,这样你就可以用一个变量来管理这些 ...

  9. Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

    通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于 ...

  10. uva 10129

    主要是求能否形成联通的欧拉回路 并查集+ 欧拉回路判断 一开始用dfs判断联通,死活A不出来,Wa了好多次………哭…… 并查集一次就AC了 感觉还是并查集代码好写一点, 因为dfs还要判断入口在哪里… ...