SSL协议栈是什么是什么东西

什么是SSL安全协议_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
什么是SSL安全协议
&&什么是SSL安全协议
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢>> SSL安全协议
SSL安全协议[]
SSL安全协议又称为&安全套接层&(Secure Sockets Layer)协议,是Netscape Communication 公司 1996年设计开发的,主要用于提高应用程序之间的数据安全系数,SSL安全协议主要提高三方面的服务:及所有TCP/IP 应用程序,是一个保证任何安装了安全接层的客户和服务器之间的协议。
网络上信息在源计算机至目的计算机的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。因此网景公司(Netscape)公司提出了SSL协议,旨在达到在开放Internet网络上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。
SSL(Secure Sockets Layer)安全协议又叫&安全套接层协议&。它是在网络传输层之上提供的一种基于RSA和对称加密算法的,用于浏览器和Web服务器之间的安全连接技术,用来提供两个应用之间通信的保密,可信和身份认证。它被视为 Internet 上 Web 浏览器和服务器的标准安全性措施。
SSL可以让一个客户和服务器以协商好的安全和认证级别来进行通信。当一个连接被初始化时,SSL需要协商好一个对称(symmetric )的session key和认证级别。这个对称的key是用来加密和解密数据的。在连接正在被建立的时候,还需要进行客户/服务器的认证。当协商完成后,客户和服务器可以通过加密数据,以一个安全的方式进行数据传送。
SSL协议在应用层收发数据前,协商加密算法、通讯密钥并认证通信双方,从而为应用层提供了安全的传输通道;在该通道上可透明加载任何高层应用协议(如HTTP、FTP、TELNET等)以保证应用层数据传输的安全性。
SSL协议独立于应用层协议,因此,在电子交易中被用来安全传送信用卡号码。中国目前多家银行均采用SSL协议,如在目前中国的电子商务系统中能完成实时支付,用的最多的招行一网通采用的就是SSL协议。所以,从目前实际使用的情况看,SSL还是人们最信赖的协议。
工作原理安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护。使用SSL协议,当一台客户机与一台主机要进行通讯时,首先是要初始化握手协议,然后才建立一个SSL对话。直到对话结束,安全套接层协议都会对整个通信过程加密,并检查其完整性。
通过握手协议,可以完成通讯双方的身份鉴定以及协商会话过程中的信息加密密钥,从而建立安全连接。SSL 完全&握手&协议如下图所示。它展示了在 SSL &握手&过程中的信息交换顺序。
图SSL &握手&协议
以上过程描述如下:
1. ClientHello:客户端将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息(如加密算法和能支持的密钥的大小等)发送到服务器。
2. ServerHello:服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器。
3. Certificate:服务器发送一个证书或一个证书链到客户端,一个证书链开始于服务器公共钥匙证书并结束于证明权威的根证书。该证书(链)用于向客户端确认服务器的身份。这个消息是可选的。如果配置服务器的SSL需要验证服务器的身份,会发送该消息。多数电子商务应用都需要服务器端身份验证。
4. Certificate Request:该消息要求客户端浏览器提供用户证书,以进行客户身份的验证。这个消息是可选的。如果配置服务器的SSL需要验证用户身份,会发送该消息。多数电子商务应用不需要客户端身份验证。不过,在支付过程中经常会需要客户端身份证明。
5. Server Key Exchange:如果服务器发送的公共密钥对加密密钥的交换不是很合适时,则发送一个服务器密钥交换消息。
6. ServerHelloDone:该消息通知客户端,服务器已经完成了交流过程的初始化。
7. Certificate:客户端发送客户端证书给服务器。仅当服务器请求客户端身份验证的时候会发送客户端证书。
8. Client Key Exchange:客户端产生一个会话密钥与服务器共享。在SSL握手协议完成后,客户端与服务器端通讯信息的加密就会使用该会话密钥。如果使用 Rivest-Shamir-Adelman (RSA) 加密算法,客户端将使用服务器的公钥将会话密钥加密之后再发送给服务器。服务器使用自己的私钥对接收到的消息进行解密以得到共享的会话密钥。这一步完成后,客户端和服务器就共享了一个已经安全分发的会话密钥。
9. Certificate Verify:如果服务器请求验证客户端,这个消息允许服务器完成验证过程。
10. Change Cipher Spec:客户端要求服务器在后续的通讯中使用加密模式。
11. Finished:客户端告诉服务器它已经准备好安全通信了。
12. Change Cipher Spec:服务器要求客户端在后续的通讯中使用加密模式。
13. Finished:服务器告诉客户端它已经准备好安全通信了。这是 SSL &握手&完成的标志。
14. Encrypted Data:客户端和服务器现在可以开始在安全通信通道上进行加密信息的交流了。
当上述动作完成之后,两者间的资料传送就会加密。发送时信息用会话密钥加密形成一个数据包A,对称密钥用非对称算法加密形成另一个数据包B,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先用非对称算法打开有对称密钥的加密包B,获得会话密钥。然后再用会话密钥解密数据包A,获取发送来的信息原文。即使盗窃者在网络上取得编码后的资料,如果没有会话加密密钥,也不能获得可读的有用资料。
SSL提供的安全性SSL技术提供了身份认证服务、信息加密服务和数据的完整性服务三项服务以达到高安全性。用户和服务器的合法性认证认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据进行数字认证,以此来确保用户的合法性。
加密数据以隐藏被传送的数据安全套接层协议所采用的加密技术既有对称密钥加密技术,也有非对称密钥加密技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手过程中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。
保护数据的完整性安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。
SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的http协议,我们在与网站建立SSL安全连接时使用https协议,即采用https://ip:port/的方式来访问。
SSL对数字证书的使用SSL协议在做用户和服务器的身份认证时,使用的是数字证书。在本章前面已经就数字证书做了专题说明。前面介绍过,数字证书有个人证书、服务器证书以及软件开发者证书三类。在使用SSL协议进行通信时,通常客户端持有客户证书(即个人证书),而服务器端持有服务器证书。
服务器证书:一个服务器证书是企业服务器的一个电子ID,它可让企业服务器执行两个重要的功能来确保通信的安全:为用户标识自己和加密传送到这些用户的信息。SSL加密需要一个服务器证书被绑定到企业网站中。该证书包含有&Keys&,在企业网站和请求安全信息的用户间建立一个安全连接时,需要用到这些keys。
客户证书:客户端的证书和服务端的是等价的。客户证书是一个数字ID,该ID是用来向企业Web服务器标识一个客户的,并且可让企业服务器使用客户证书映射。客户证书映射将一个客户的证书映射为一个Windows用户帐号,并且可以自动认证和允许带有这些证书和正确帐号的用户进行访问。
认证可以是单向的,这是在一方确认对方的身份,或者是双向的,这时双方都需要确认对方的身份。SSL协议可以使用在多种应用中。例如:网上交易,Web Service(Web 服务)。通常,在网上交易的支付过程中,会使用双向认证。在Web Service 中,可使用客户证书来验证Web服务请求者身份,这样,就可以Web请求者访问位于解决不同平台的应用时的身份认证的问题。要求每个Web服务请求都拥有客户证书。证书映射到用户帐户,而帐户被 IIS 用于授予对 Web 服务的访问权。尽管目前数字证书的使用尚不普及,但对于 Internet 方案是一个可行的选项。
首先将电子商务划分为广义和狭义的电子商务。广义的电子商务定义为,使用各种电子工具从事商务或活动。这些工具包括从初级的电报、电话、广播、电视、传真到计算机、计算机网络,到NII(国家信息基础结构-信息高速公路)、GII(全球信息基础结构)和Internet等现代系统。而商务活动是从泛商品(实物与非实物,商品与非商品化的生产要素等等)的需求活动到泛商品的合理、合法的消费除去典型的生产过程后的所有活动。狭义电子商务定义为,主要利用Internet从事商务或活动电子商务是在技术、经济高度发达的现代社会里,掌握信息技术和商务规则的人,系统化地运用电子工具,高效率、低成本地从事以商品交换为中心的各种活动的总称。这个分析突出了电子商务的前提、中心、重点、目的和标准,指出它应达到的水平和效果,它是对电子商务更严格和体现时代要求的定义,它从系统的观点出发,强调人在系统中的中心地位,将环境与人、人与工具、人与劳动对象有机地联系起来,用系统的目标、系统的组成来定义电子商务,从而使它具有生产力的性质
在线支付SSL模式工作流程可分以下几个步骤:
1)身份认证。SSL模式的身份认证机制比较简单,只是付款人与收款人在建立握手关系时交换数字证书。
2)付款人建立与收款人之间的加密传输通道之后,将商品订单和信用卡转账授权传递给收款人。
3)收款人通过支付网关将转账授权传递给期收单行。
4)收单行通过信用卡清算网关向发卡行验证信用卡相关信息无误后,通知收单行。
5)收单行通知收款人电子交易成功,收款人向收单行申请收款。
参考资料:
扩展阅读:
相关词条:
合作编辑:
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # 。
浏览次数:1198
编辑次数:2
最近更新: 15:23:21
词条分类导航
最受关注词条ssl协议与HTTP协议有哪些区别?
输入手机号码,报价结果将发送到您手机
装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
报价短信已发送到您的手机
因材料品牌及工程量不同,具体报价以量房实测为准
稍候装修管家将回电您,免费提供装修咨询服务
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
3.&您家小区名称 :&&
请选择您家的装修时间
ssl协议与HTTP协议有哪些区别?
提问者:邵淑哲|
浏览次数:319|
时间: 14:43:42
我来帮他解答
还可以输入1500字
已有4条回答
回答数:17055
被采纳数:2
  两种都是应用于电子商务用的网络安全协议。都能保证交易数据的安全性、保密性和完整性。SSL叫安全套接层协议,是国际上最早用的,已成工业标准,但它的基点是商家对客户信息保密的承诺,因此有利于商家而不利于客户。 SET叫安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。因它的对象包括消费者、商家、发卡银行、收单银行、支付网关、认证中心,所以对消费者与商家同样有利。它越来越得到众人认同,将会成为未来电子商务的规范
希望我的回答可帮到您。
回答数:16361
被采纳数:5
SSL(Secure Sockets Layer 安全套接层)协议,及其继任者TLS(Transport Layer Security传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。SSL协议已成为全球化标准,所有主要的浏览器和WEB服务器程序都支持SSL协议,可通过安装SSL证书激活SSL协议。
SSL 证书就是遵守 SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。
超文本传送协议 (HTTP-Hypertext transfer protocol) 定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
回答数:7763
被采纳数:0
简单的来说:ssl协议是对您的数据走加密协议。而http是走不加密(也就是明文)。这样就很容易被窃取数据。所以建议对站点或邮件数据进行加密哪怕是获取到的也都是密文。希望我的回答对你有帮助。
回答数:13111
被采纳数:3
你好,很高兴给你解答,我给你提供一些我的经验,你参考一下
我先大致解释一下什么是内部路由协议。由于历史的原因,当前的INTERNET网被组成一系列的自治系统,各自治系统通过一个核心路由器连到主干网上。而一个自治系统往往对应一个组织实体(比如一个公司或大学)内部的网络与路由器集合。每个自治系统都有自己的路由技术,对不同的自治系统路由技术是不相同的。用于自治系统间接口上的单独的协议称为外部路由器协议,简称EGP(Exterior
Protocol)。用于自治系统内部的路由协议称为内部路由器协议,简称IGP(Interior
Protocol)。
内部路由器与外部路由器协议EGP不同,外部路由协议只有一个,而内部路由器协议则是一族。各内部路由器协议的区别在于距离制式(distance
即距离度量标准)不同,和路由刷新算法不同。RIP协议是最广泛使用的IGP之一,著名的路径刷新程序Routed便是根据RIP
实现的。RIP协议被设计用于使用同种技术的中型网络,因此适应于大多数的校园网和使用速率变化不是很大的连续线的地区性网络。对于更复杂的环境,一般不使用RIP协议。HTTP、SSL/TLS和HTTPS协议的区别与联系-马海祥博客
新型SEO思维就是从一个全新的层次上提升seo优化的水平,达到网络信息最佳化的展示效果!
> HTTP、SSL/TLS和HTTPS协议的区别与联系
HTTP、SSL/TLS和HTTPS协议的区别与联系
时间:&&&文章来源:马海祥博客&&&访问次数:
今天在请求数据的时候,服务器使用的是https请求,相对安全些,但是结果让我请求图片和资源的时候也使用https请求,我之前写的http请求根本用不了!我就感到非常的不爽!最后听公司的人说了下,最后他们决定重要信息使用https访问,但是对于资源什么的就使用http吧!
开始没什么认识,只感觉到使用https请求数据的时候,要经过安全验证,安全性很高!仔细查了一些资料,原来使用https是要分场合的,不是什么时候都可以用的,对此,我们不妨先来看一下HTTP、SSL/TLS和HTTPS协议之间的区别与联系。
1、&HTTP&是什么?
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法(具体可查看马海祥博客《》的相关介绍)。
1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。
简单来说,HTTP就是一个网络协议,是专门用来帮你传输Web内容的,关于这个协议,就算你不了解,至少也听说过吧?比如你访问我的博客的主页,浏览器地址栏会出现的网址:,大部分网站都是通过HTTP协议来传输Web页面、以及Web页面上包含的各种东东(图片、CSS 样式、JS 脚本)。
2、&SSL/TLS&是什么?
SSL是&Secure Sockets Layer&的缩写,中文叫做&安全套接层&,它是在上世纪90年代中期,由网景公司设计的(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的基础设施&&比如&CSS 样式表&和&JS 脚本&)。
为啥要发明SSL这个协议捏?因为原先互联网上使用的HTTP协议是明文的,存在很多缺点&&比如传输内容会被偷窥(嗅探)和篡改,发明SSL协议,就是为了解决这些问题。
到了1999年,SSL因为应用广泛,已经成为互联网上的事实标准,IETF就在那年把SSL标准化,标准化之后的名称改为TLS(是&Transport Layer Security&的缩写),中文叫做&传输层安全协议&。
很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。
3、&HTTPS&是什么意思?
解释完 HTTP 和 SSL/TLS,现在就可以来解释 HTTPS 啦,咱们通常所说的 HTTPS 协议,说白了就是&HTTP 协议&和&SSL/TLS 协议&的组合,你可以把 HTTPS 大致理解为&&&HTTP over SSL&或&HTTP over TLS&(反正 SSL 和 TLS 差不多)。
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系,用于安全的HTTP数据传输。
https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间),这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
4、谈谈&对称加密&和&非对称加密&的概念
如果我们想搞明白&对称加密&和&非对称加密&的概念,首先,我们就要先知道什么是&加密&和&解密&?
(1)、什么是&加密&和&解密&?
通俗而言,你可以把&加密&和&解密&理解为某种互逆的数学运算,就好比&加法和减法&互为逆运算、&乘法和除法&互为逆运算。
&加密&的过程,就是把&明文&变成&密文&的过程;反之,&解密&的过程,就是把&密文&变为&明文&,在这两个过程中,都需要一个关键的东东&&叫做&密钥&&&来参与数学运算。
(2)、什么是&对称加密&?
所谓的&对称加密技术&,意思就是说:&加密&和&解密&使用相同的密钥。这个比较好理解,就好比你用 7zip 或 WinRAR 创建一个带密码(口令)的加密压缩包,当你下次要把这个压缩文件解开的时候,你需要输入同样的密码,在这个例子中,密码/口令就如同刚才说的&密钥&。
对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法,对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
(3)、什么是&非对称加密&?
所谓的&非对称加密技术&,意思就是说:&加密&和&解密&使用不同的密钥,这玩意儿比较难理解,也比较难想到,当年&非对称加密&的发明,还被誉为&密码学&历史上的一次革命。
非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key),私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人,非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
由于篇幅有限,对&非对称加密&这个话题,我就不展开了,有空的话,我会再单独写一篇文章在马海祥博客上发布。
(4)、各自有啥优缺点?
看完刚才的定义,很显然:(从功能角度而言)&非对称加密&能干的事情比&对称加密&要多,这是&非对称加密&的优点,但是&非对称加密&的实现,通常需要涉及到&复杂数学问题&,所以,&非对称加密&的性能通常要差很多(相对于&对称加密&而言)。
这两者的优缺点,也影响到了 SSL 协议的设计。
5、HTTP协议的特点
作为背景知识介绍,还需要再稍微谈一下 HTTP 协议本身的特点,HTTP本身有很多特点,考虑到篇幅有限,马海祥只谈那些和HTTPS相关的特点,想要了解更深入的HTTP知识,可查看马海祥博客《》的相关介绍。
(1)、HTTP的版本和历史
如今咱们用的 HTTP 协议,版本号是 1.1(也就是 HTTP 1.1),这个 1.1 版本是1995年底开始起草的(技术文档是RFC2068),并在1999年正式发布(技术文档是RFC2616)。
在 1.1 之前,还有曾经出现过两个版本&0.9 和 1.0&,其中的 HTTP 0.9 没有被广泛使用,而 HTTP 1.0 被广泛使用过。
(2)、HTTP 和 TCP 之间的关系
简单地说,TCP 协议是 HTTP 协议的基石&&HTTP 协议需要依靠 TCP 协议来传输数据。
在网络分层模型中,TCP 被称为&传输层协议&,而 HTTP 被称为&应用层协议&。
有很多常见的应用层协议是以 TCP 为基础的,比如&FTP、SMTP、POP、IMAP&等。
TCP被称为&面向连接&的传输层协议,关于它的具体细节,俺就不展开了(否则篇幅又失控了),你只需知道:传输层主要有两个协议,分别是TCP和UDP,TCP比UDP更可靠,你可以把 TCP 协议想象成某个水管,发送端这头进水,接收端那头就出水,并且 TCP 协议能够确保,先发送的数据先到达(与之相反,UDP不保证这点)。
(3)、HTTP协议如何使用 TCP 连接?
HTTP对 TCP 连接的使用,分为两种方式:俗称&短连接&和&长连接&(&长连接&又称&持久连接&,叫做&Keep-Alive&或&Persistent Connection&)
假设有一个网页,里面包含好多图片,还包含好多外部的CSS文件和JS文件,在&短连接&的模式下,浏览器会先发起一个 TCP 连接,拿到该网页的 HTML 源代码(拿到 HTML 之后,这个 TCP 连接就关闭了)。然后,浏览器开始分析这个网页的源码,知道这个页面包含很多外部资源(图片、CSS、JS)。然后针对每一个外部资源,再分别发起一个个 TCP 连接,把这些文件获取到本地(同样的,每抓取一个外部资源后,相应的 TCP 就断开)。
相反,如果是&长连接&的方式,浏览器也会先发起一个 TCP 连接去抓取页面,但是抓取页面之后,该 TCP 连接并不会立即关闭,而是暂时先保持着(所谓的&Keep-Alive&),然后浏览器分析 HTML 源码之后,发现有很多外部资源,就用刚才那个 TCP 连接去抓取此页面的外部资源。
在 HTTP 1.0 版本,默认使用的是&短连接&(那时候是 Web 诞生初期,网页相对简单,&短连接&的问题不大)。
到了1995年底开始制定 HTTP 1.1 草案的时候,网页已经开始变得复杂(网页内的图片、脚本越来越多了),这时候再用短连接的方式,效率太低下了(因为建立 TCP 连接是有&时间成本&和&CPU成本&),所以,在 HTTP 1.1 中,默认采用的是&Keep-Alive&的方式。
6、SSL/TLS协议的基本运行过程
SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密,但是这里有两个问题:
(1)、如何保证公钥不被篡改?
解决方法:将公钥放在数字证书中,只要证书是可信的,公钥就是可信的。
(2)、公钥加密计算量太大,如何减少耗用的时间?
解决方法:每一次对话(session),客户端和服务器端都生成一个&对话密钥&(session key),用它来加密信息。由于&对话密钥&是对称加密,所以运算速度非常快,而服务器公钥只用于加密&对话密钥&本身,这样就减少了加密运算的消耗时间。
因此,SSL/TLS协议的基本过程是这样的:
(1)、客户端向服务器端索要并验证公钥。
(2)、双方协商生成&对话密钥&。
(3)、双方采用&对话密钥&进行加密通信。
上面过程的前两步,又称为&握手阶段&(handshake)。
以上图片就是&握手阶段&涉及四次通信,需要注意的是,&握手阶段&的所有通信都是明文的。
7、SSL、HTTP和HTTPS协议的联系
SSL是Netscape公司所提出的安全保密协议,在浏览器(如Internet Explorer、Netscape Navigator)和Web服务器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据通道,它采用了RC4、MD5 以及RSA等加密算法,使用40位的密钥,适用于商业信息的加密。
同时,Netscape公司相应开发了HTTPS协议并内置于其浏览器中,HTTPS实际上就是SSL over HTTP,它使用默认端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。HTTPS协议使用SSL在发送方把原始数据进行加密,然后在接受方进行解密,加密和解密需要发送方和接受方通过交换共知的密钥来实现,因此,所传送的数据不容易被网络黑客截获和解密。
然而,加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一。
假如为了安全保密,将一个网站所有的Web应用都启用SSL技术来加密,并使用HTTPS协议进行传输,那么该网站的性能和效率将会大大降低,而且没有这个必要,因为一般来说并不是所有数据都要求那么高的安全保密级别,所以,我们只需对那些涉及机密数据的交互处理使用HTTPS协议,这样就做到鱼与熊掌兼得(具体可查看马海祥博客《》的相关介绍)。
总之不需要用https的地方,就尽量不要用。
8、HTTPS协议的需求是什么?
花了好多口水,终于把背景知识说完了,下面正式进入正题,先来说说当初设计HTTPS是为了满足哪些需求?
很多介绍 HTTPS 的文章一上来就给你讲实现细节,对此,马海祥觉得这是不好的做法,一上来就给你讲协议细节,你充其量只能知道如何做,无法理解为什么,我在前一个章节讲了&背景知识&,在这个章节讲了&需求&,这就有助于你理解了。
为什么要设计成这样?&&这就是 WHY 型的问题。
(1)、兼容性
因为是先有 HTTP 再有 HTTPS,所以,HTTPS 的设计者肯定要考虑到对原有 HTTP 的兼容性。
这里所说的兼容性包括很多方面,比如已有的 Web 应用要尽可能无缝地迁移到 HTTPS;比如对浏览器厂商而言,改动要尽可能小。
基于&兼容性&方面的考虑,很容易得出如下几个结论:
①、HTTPS还是要基于 TCP 来传输
如果改为 UDP 作传输层,无论是 Web 服务端还是浏览器客户端,都要大改,动静太大了。
②、单独使用一个新的协议,把 HTTP 协议包裹起来
所谓的&HTTP over SSL&,实际上是在原有的 HTTP 数据外面加了一层 SSL 的封装,HTTP 协议原有的 GET、POST 之类的机制,基本上原封不动。
打个比方:如果原来的 HTTP 是塑料水管,容易被戳破;那么如今新设计的 HTTPS 就像是在原有的塑料水管之外,再包一层金属水管,一来,原有的塑料水管照样运行;二来,用金属加固了之后,不容易被戳破。
(2)、可扩展性
前面说了,HTTPS 相当于是&HTTP over SSL&。
如果 SSL 这个协议在&可扩展性&方面的设计足够牛逼,那么它除了能跟 HTTP 搭配,还能够跟其它的应用层协议搭配,岂不美哉?
现在看来,当初设计 SSL 的人确实比较牛,如今的 SSL/TLS 可以跟很多常用的应用层协议(比如:FTP、SMTP、POP、Telnet)搭配,来强化这些应用层协议的安全性。
接着刚才打的比方:如果把 SSL/TLS 视作一根用来加固的金属管,它不仅可以用来加固输水的管道,还可以用来加固输煤气的管道。
(3)、保密性(防泄密)
HTTPS需要做到足够好的保密性。
说到保密性,首先要能够对抗嗅探(行话叫 Sniffer),所谓的&嗅探&,通俗而言就是监视你的网络传输流量,如果你使用明文的 HTTP 上网,那么监视者通过嗅探,就知道你在访问哪些网站的哪些页面。
嗅探是最低级的攻击手法,除了嗅探,HTTPS 还需要能对抗其它一些稍微高级的攻击手法&&比如&重放攻击&(后面讲协议原理的时候,会再聊)。
(4)、完整性(防篡改)
除了&保密性&,还有一个同样重要的目标是&确保完整性&。
在发明 HTTPS 之前,由于 HTTP 是明文的,不但容易被嗅探,还容易被篡改。
举个例子:比如咱们的网络运营商(ISP)都比较流氓,经常有网友抱怨说访问某网站(本来是没有广告的),竟然会跳出很多中国电信的广告,为啥会这样呢?因为你的网络流量需要经过 ISP 的线路才能到达公网,如果你使用的是明文的 HTTP,ISP 很容易就可以在你访问的页面中植入广告。
所以,当初设计 HTTPS 的时候,还有一个需求是&确保 HTTP 协议的内容不被篡改&。
(5)、真实性(防假冒)
在谈到 HTTPS 的需求时,&真实性&经常被忽略,其实&真实性&的重要程度不亚于前面的&保密性&和&完整性&。
举个例子:你因为使用网银,需要访问该网银的 Web 站点,那么,你如何确保你访问的网站确实是你想访问的网站?
有些天真的同学会说:通过看网址里面的域名,来确保,为啥说这样的同学是&天真的&?因为 DNS 系统本身是不可靠的(尤其是在设计 SSL 的那个年代,连 DNSSEC 都还没发明),由于 DNS 的不可靠(存在&域名欺骗&和&域名劫持&),你看到的网址里面的域名未必是真实滴!
所以,HTTPS 协议必须有某种机制来确保&真实性&的需求(至于如何确保,后面会细聊)。
9、HTTPS和HTTP的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。
为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
一般来说,HTTPS和HTTP的区别主要为以下四点:
(1)、https协议需要到ca申请证书,一般免费证书很少,需要交费。
(2)、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
(3)、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(4)、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全(具体可查看马海祥博客《》的相关介绍)。
10、HTTPS和HTTP的性能比较
再来说最后一个需求&&性能。
本来简单的http协议,一个get一个response,由于https要还密钥和确认加密算法的需要,单握手就需要6、7个往返,任何应用中,过多的round trip肯定影响性能,接下来才是具体的http协议,每一次响应或者请求,都要求客户端和服务端对会话的内容做加密/解密。
尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL芯片,如果CPU信能比较低的话,肯定会降低性能,从而不能serve更多的请求,加密后数据量的影响,所以,才会出现那么多的安全认证提示(具体可查看马海祥博客《》的相关介绍)。
一般来说,引入HTTPS之后,不能导致性能变得太差,否则的话,谁还愿意用?
为了确保性能,SSL 的设计者至少要考虑如下几点:
(1)、如何选择加密算法(&对称&or&非对称&)?
(2)、如何兼顾 HTTP 采用的&短连接&TCP 方式?
SSL 是在1995年之前开始设计的,那时候的 HTTP 版本还是 1.0,默认使用的是&短连接&的 TCP 方式&&默认不启用 Keep-Alive。
HTTPS的关键性能影响是CPU和往返,如果CPU很强的话,性能可能就是有人讲的80%;如果cpu是瓶颈的话,有人讲原来可以server330-500个请求每秒,现在只有30-50%,因此在使用https请求数据的时候要注意看看你的项目里面是否真的需要。
马海祥博客点评:
HTTPS是为了安全性而设置的,要验证很多的信息,相对应http请求的速度肯定有点慢,如果使用HTTPS的话很麻烦的,无意给服务器和客户端增加了很大的压力,所以,平时最好不要使用HTTPS,如果牵扯到个人隐私或者是其他的什么重要信息就一定要这么做了。
很多的时候你感觉有点问题,但是如果不去细细发觉的话,暂时没有什么问题,但是在你后面的维护,或者出问题的时候会弄的头痛不已,为了以后的方便,还是此刻就好好的把每一件事做好,分析好!
本文为原创文章,如想转载,请注明原文网址摘自于/internet/1522.html,注明出处;否则,禁止转载;谢谢配合!
您可能还会对以下这些文章感兴趣!
网络实名制是个长期以来争议不断的话题。一方面,当人们面对越来越多的网上低俗与不良信息、黑客与木马、网……
最近百度跟360的搜索引擎之争,也使得更多人开始关注搜索引擎了,回想搜索引擎的快速发展也就是近15年发生……
清明节又叫踏青节,在仲春与暮春之交,也就是冬至后的第108天。是中国传统节日,也是最重要的祭祀节日之一……
最近一直听到圈里的朋友抱怨说,自己辛辛苦苦写的文章,发表的前……
由于此次整理的SEO作弊方法大全的内容比较多,也比较全面,导致……
很多做SEO的朋友都会问,是不是网站收录越多网站关键字排名越好……
作为一名专业的SEO人员,我们很多的时候都在研究站点中有多少页……
最近,我明显发现访问马海祥seo博客的博友越来越多了,随之而来……
相信做个seo的,或者自己已经是站长的,都或多或少的对自己负责……
本月热点文章

我要回帖

更多关于 nbns是什么协议 的文章

 

随机推荐