新闻资讯
看你所看,想你所想

ssl

ssl

ssl

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网路通信提供安全及数据完整性的一种安全协定。TLS与SSL在传输层对网路连线进行加密。

基本介绍

  • 中文名:安全套接层
  • 外文名:Secure Sockets Layer
  • 缩写:SSL
  • 套用:在传输层对网路连线进行加密

解析

Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网路上之传输过程中不会被截取及窃听。一般通用之规格为40 bit之安全标準,美国则已推出128 bit之更高安全标準,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
当前版本为3.0。它已被广泛地用于Web浏览器与伺服器之间的身份认证和加密数据传输。
SSL协定位于TCP/IP协定与各种套用层协定之间,为数据通讯提供安全支持。SSL协定可分为两层: SSL记录协定(SSL Record Protocol):它建立在可靠的传输协定(如TCP)之上,为高层协定提供数据封装、压缩、加密等基本功能的支持。 SSL握手协定(SSL Handshake Protocol):它建立在SSL记录协定之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

提供服务

1)认证用户和伺服器,确保数据传送到正确的客户机和伺服器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。

伺服器类型

1. Tomcat 5.x
2. Nginx
3. IIS
4. Apache 2.x
5. IBM HTTP SERVER 6.0

工作流程

伺服器认证阶段:1)客户端向伺服器传送一个开始信息“Hello”以便开始一个新的会话连线;2)伺服器根据客户的信息确定是否需要生成新的主密钥,如需要则伺服器在回响客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的伺服器回响信息,产生一个主密钥,并用伺服器的公开密钥加密后传给伺服器;4)伺服器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证伺服器。
用户认证阶段:在此之前,伺服器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的伺服器传送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向伺服器提供认证。
SSL协定提供的安全通道有以下三个特性:
机密性:SSL协定使用密钥加密通信数据。
可靠性:伺服器和客户都会被认证,客户的认证是可选的。
完整性:SSL协定会对传送的数据进行完整性检查。
从SSL 协定所提供的服务及其工作流程可以看出,SSL协定运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web伺服器双方的身份验证,但是SSL协定仍存在一些问题,比如,只能提供交易中客户与伺服器间的双方认证,在涉及多方的电子交易中,SSL协定并不能协调各方间的安全传输和信任关係。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协定,为网上信用卡支付提供了全球性的标準。

SSL的体系结构

SSL的体系结构中包含两个协定子层,其中底层是SSL记录协定层(SSL Record Protocol Layer);高层是SSL握手协定层(SSL HandShake Protocol Layer)。SSL的协定栈如图所示,其中阴影部分即SSL协定。
ssl
SSL记录协定层的作用是为高层协定提供基本的安全服务。SSL纪录协定针对HTTP协定进行了特别的设计,使得超文本的传输协定HTTP能够在SSL运行。纪录封装各种高层协定,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。
SSL握手协定层包括SSL握手协定(SSL HandShake Protocol)、SSL密码参数修改协定(SSL Change Cipher Spec Protocol)、套用数据协定(Application Data Protocol)和SSL告警协定(SSL Alert Protocol)。握手层的这些协定用于SSL管理信息的交换,允许套用协定传送数据之间相互验证,协商加密算法和生成密钥等。SSL握手协定的作用是协调客户和伺服器的状态,使双方能够达到状态的同步。

SSL记录协定

SSL记录协定(Record Protocol)为SSL连提供两种服务。
(1)保密性:利用握手协定所定义的共享密钥对SSL净荷(Payload)加密。
(2)完整性:利用握手协定所定义的共享的MAC密钥来生成报文的鉴别码(MAC)。
SSL的工作过程如下。
(1)传送方的工作过程为:
从上层接受要传送的数据(包括各种讯息和数据);
对信息进行分段,分成若干纪录;
使用指定的压缩算法进行数据压缩(可选);
使用指定的MAC算法生成MAC;
使用指定的加密算法进行数据加密;
添加SSL记录协定的头,传送数据。
(2)接收方的工作过程为:
接收数据,从SSL记录协定的头中获取相关信息;
使用指定的解密算法解密数据;
使用指定的MAC算法校验MAC;
使用压缩算法对数据解压缩(在需要进行);
将记录进行数据重组;
将数据传送给高层。
SSL记录协定处理的最后一个步骤是附加一个SSL记录协定的头,以便构成一个SSL记录。SSL记录协定头中包含了SSL记录协定的若干控制信息。

SSL的会话状态

会话(Session)和连线(Connection)是SSL中两个重要的概念,在规範中定义如下。
(1)SSL连线:用于提供某种类型的服务数据的传输,是一种点对点的关係。一般来说,连线的维持时间比较短暂,并且每个连线一定与某一个会话相关联。
(2)SSL会话:是指客户和伺服器之间的一个关联关係。会话通过握手协定来创建。它定义了一组安全参数。
一次会话过程通常会发起多个SSL连线来完成任务,例如一次网站的访问可能需要多个HTTP/SSL/TCP连线来下载其中的多个页面,这些连线共享会话定义的安全参数。这种共享方式可以避免为每个SSL连线单独进行安全参数的协商,而只需在会话建立时进行一次协商,提高了效率。
每一个会话(或连线)都存在一组与之相对应的状态,会话(或连线)的状态表现为一组与其相关的参数集合,最主要的内容是与会话(或连线)相关的安全参数的集合,用会话(或连线)中的加密解密、认证等安全功能的实现。在SSL通信过程中,通信算法的状态通过SSL握手协定实现同步。
根据SSL协定的约定,会话状态由以下参数来定义:
(1)会话标识符:是由伺服器选择的任意位元组序列,用于标识活动的会话或可恢复的会话状态。
(2)对方的证书:会话对方的X.509v3证书。该参数可为空。
(3)压缩算法:在加密之前用来压缩数据的算法。
(4)加密规约(Cipher Spec):用于说明对大块数据进行加密採用的算法,以及计算MAC所採用的散列算法。
(5)主密值:一个48位元组长的秘密值,由客户和伺服器共享。
(6)可重新开始的标识:用于指示会话是否可以用于初始化新的连线。
连线状态由以下参数来定义:
(1)伺服器和客户器的随机数:是伺服器和客户为每个连线选择的用于标识连线的位元组序列。
(2)伺服器写MAC密值:伺服器传送数据时,生成MAC使用的密钥,长度为128 bit。
(3)客户写MAC密值,伺服器传送数据时,用于数据加密的密钥,长度为128 bit 。
(4)客户写密钥:客户传送数据时,用于数据加密的密钥,长度为128 bit。
(5)初始化向量:当使用CBC模式的分组密文算法是=时,需要为每个密钥维护初始化向量。
(6)序列号:通信的每一端都为每个连线中的传送和接收报文维持着一个序列号。

https介绍

HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协定
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网路上传送回的结果。HTTPS实际上套用了Netscape的安全套接字层(SSL)作为HTTP套用层的子层。(HTTPS使用连线埠443,而不是象HTTP那样使用连线埠80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认传送者是谁。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认连线埠及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,它被广泛用于全球资讯网上安全敏感的通讯,例如交易支付方面。
限制
它的安全保护依赖浏览器的正确实现以及伺服器软体、实际加密算法的支持.
一种常见的误解是“银行用户线上使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与伺服器的加密连线中能保护银行卡号的部分,只有用户到伺服器之间的连线及伺服器自身。并不能绝对确保伺服器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者尝试窃听数据于传输中。
商业网站被人们期望迅速儘早引入新的特殊处理程式到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个资料库里。那些资料库和伺服器少数情况有可能被未授权用户攻击和损害。

套用

extended validation ssl certificates翻译为中文即扩展验证(EV)SSL证书,该证书经过最彻底的身份验证,确保证书持有组织的真实性。独有的绿色地址栏技术将循环显示组织名称和作为CA的GlobalSign名称,从而最大限度上确保网站的安全性,树立网站可信形象,不给欺诈钓鱼网站以可乘之机。
对线上购物者来说,绿色地址栏是验证网站身份及安全性的最简便可靠的方式。在IE7.0、FireFox3.0、Opera 9.5等新一代高安全浏览器下,使用扩展验证(EV)SSL证书的网站的浏览器地址栏会自动呈现绿色,从而清晰地告诉用户正在访问的网站是经过严格认证的。此外绿色地址栏临近的区域还会显示网站所有者的名称和颁发证书CA机构名称,这些均向客户传递同一信息,该网站身份可信,信息传递安全可靠,而非钓鱼网站。

转载请注明出处海之美文 » ssl

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com