游戏的双方发消息是什么原理

摘    要:SSL利用数据加密、身份验证囷消息完整性验证机制为基于TCP等可靠连接的应用层协议提供安全性保证。本文介绍了SSL的产生背景、安全机制、工作过程及典型组网应用

基于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活受到人们的青睐。因为这些应用都须要在网络上进行在線交易它们对网络通信的安全性提出了更高的要求。传统的万维网协议HTTP不具备安全机制——採用明文的形式数据传输、不能验证通信两方的身份、无法防止传输的数据被篡改等导致HTTP无法满足电子商务和网上银行等应用的安全性要求。

Netscape公司提出的安全协议SSL利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证SSL能够为HTTP提供安全连接,从而非常大程度上改善了万维网的安全性问题

SSL具有例如以下长处:

部署简单。眼下SSL已经成为网络中用来鉴别站点和网页浏览者身份在浏览器使用者及Webserver之间进行加密通信的全浗化标准。SSL协议已被集成到大部分的浏览器中如IE、Netscape、Firefox等。这就意味着差点儿随意一台装有浏览器的计算机都支持SSL连接不须要安装额外嘚client软件。

SSL协议实现的安全机制包含:

网络上传输的数据非常easy被非法用户窃取SSL採用在通信两方之间建立加密通道的方法保证传输数据的机密性。

所谓加密通道是指发送方在发送数据前,使用加密算法和加密密钥对数据进行加密然后将数据发送给对方;接收方接收到数据後,利用解密算法和解密密钥从密文中获取明文没有解密密钥的第三方,无法将密文恢复为明文从而保证传输数据的机密性。

与非对稱密钥算法相比对称密钥算法具有计算速度快的长处,通经常使用于对大量信息进行加密(如对全部报文加密);而非对称密钥算法┅般用于数字签名和对较少的信息进行加密。

SSL加密通道上的数据加解密使用对称密钥算法眼下主要支持的算法有DES、3DES、AES等,这些算法都能夠有效地防止交互数据被窃听

对称密钥算法要求解密密钥和加密密钥全然一致。因此利用对称密钥算法加密数据传输之前,须要在通信两端部署同样的密钥对称密钥的部署方法请參见“2.4  利用非对称密钥算法保证密钥本身的安全”。

电子商务和网上银行等应用中必须保證要登录的Webserver是真实的以免重要信息被非法窃取。SSL利用数字签名来验证通信对端的身份

非对称密钥算法能够用来实现数字签名。因为通過私钥加密后的数据仅仅能利用相应的公钥进行解密因此依据解密是否成功,就能够推断发送者的身份如同发送者对数据进行了“签洺”。比如Alice使用自己的私钥对一段固定的信息加密后发给Bob,Bob利用Alice的公钥解密假设解密结果与固定信息同样,那么就能够确认信息的发送者为Alice这个过程就称为数字签名。

使用数字签名验证身份时须要确保被验证者的公钥是真实的,否则非法用户可能会冒充被验证者與验证者通信。如图1所看到的Cindy冒充Bob,将自己的公钥发给Alice并利用自己的私钥计算出签名发送给Alice,Alice利用“Bob”的公钥(实际上为Cindy的公钥)成功验证该签名则Alice觉得Bob的身份验证成功,而实际上与Alice通信的是冒充Bob的CindySSL利用PKI提供的机制保证公钥的真实性,具体介绍请參见“2.5  利用PKI保证公鑰的真实性”

为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性

MAC算法是在密钥參与下的数据摘要算法,能将密钥和随意长度的数据转换为固定长度的数据利用MAC算法验证消息完整性的过程如图2所看到的。发送者在密钥的參与下利用MAC算法计算出消息的MAC值,并将其加在消息之后发送给接收者接收者利用相同的密钥和MAC算法计算出消息的MAC值,并与接收到的MAC值比較假设二者相同,则报文没有改变;否则报文在传输过程中被改动,接收者将丢弃该报文

MAC算法具有例如以下特征,使其可以用来验证消息的完整性:

MAC算法要求通信两方具有同样的密钥否则MAC值验证将会失败。因此利用MAC算法验证消息完整性之前,须要在通信两端部署同样的密钥MAC密钥嘚部署方法请參见“2.4  利用非对称密钥算法保证密钥本身的安全”。

2.4  利用非对称密钥算法保证密钥本身的安全

对称密钥算法和MAC算法要求通信兩方具有同样的密钥否则解密或MAC值验证将失败。因此要建立加密通道或验证消息完整性,必须先在通信两方部署一致的密钥

SSL利用非對称密钥算法加密密钥的方法实现密钥交换,保证第三方无法获取该密钥如图3所看到的,SSLclient(如Web浏览器)利用SSLserver(如Webserver)的公钥加密密钥将加密后的密钥发送给SSLserver,仅仅有拥有相应私钥的SSLserver才干从密文中获取原始的密钥SSL通常採用RSA算法加密传输密钥。

secret生成用于对称密钥算法、MAC算法等的密钥premaster secret是计算对称密钥、MAC算法密钥的关键。

l      用来实现密钥交换的算法称为密钥交换算法非对称密钥算法RSA用于密钥交换时,也能够称の为密钥交换算法

利用非对称密钥算法加密密钥之前,发送者须要获取接收者的公钥并保证该公钥确实属于接收者,否则密钥可能會被非法用户窃取。如图1所看到的Cindy冒充Bob,将自己的公钥发给AliceAlice利用Cindy的公钥加密发送给Bob的数据,Bob因为没有相应的私钥无法解密该数据而Cindy截取数据后,能够利用自己的私钥解密该数据SSL利用PKI提供的机制保证公钥的真实性,具体介绍请參见“2.5  利用PKI保证公钥的真实性”

PKI通过数芓证书来公布用户的公钥,并提供了验证公钥真实性的机制数字证书(简称证书)是一个包括用户的公钥及其身份信息的文件,证明了鼡户与公钥的关联数字证书由权威机构——CA签发,并由CA保证数字证书的真实性

如图4所看到的,SSL位于应用层和传输层之间它能够为不論什么基于TCP等可靠连接的应用层协议提供安全性保证。SSL协议本身分为两层:

SSL通过握手过程在client和server之间协商会话參数并建立会话。会话包括嘚主要參数有会话ID、对方的证书、加密套件(密钥交换算法、数据加密算法和MAC算法等)以及主密钥(master secret)通过SSL会话传输的数据,都将採用該会话的主密钥和加密套件进行加密、计算MAC等处理

不同情况下,SSL握手过程存在差异以下将分别描写叙述以下三种情况下的握手过程:

洳图5所看到的,仅仅须要验证SSLserver身份不须要验证SSLclient身份时,SSL的握手过程为:

Spec消息外全部已交互的消息)的Hash值利用协商好的密钥和加密套件處理Hash值(计算并加入MAC值、加密等),并通过Finished消息发送给SSLserverSSLserver利用相同的方法计算已交互的握手消息的Hash值,并与Finished消息的解密结果比較假设二鍺相同,且MAC值验证成功则证明密钥和加密套件协商成功。

SSLserver计算已交互的握手消息的Hash值利用协商好的密钥和加密套件处理Hash值(计算并加叺MAC值、加密等),并通过Finished消息发送给SSLclientSSLclient利用相同的方法计算已交互的握手消息的Hash值,并与Finished消息的解密结果比較假设二者相同,且MAC值验证荿功则证明密钥和加密套件协商成功。

SSLclient的身份验证是可选的由SSLserver决定是否验证SSLclient的身份。如图6中蓝色部分标识的内容所看到的假设SSLserver验证SSLclient身份,则SSLserver和SSLclient除了交互“3.2.1  仅仅验证server的SSL握手过程”中的消息协商密钥和加密套件外还须要进行下面操作:

图7 恢复原有会话的SSL握手过程

协商会話參数、建立会话的过程中,须要使用非对称密钥算法来加密密钥、验证通信对端的身份计算量较大,占用了大量的系统资源为了简囮SSL握手过程,SSL同意重用已经协商过的会话详细过程为:

HTTPS是基于SSL安全连接的HTTP协议。HTTPS通过SSL提供的数据加密、身份验证和消息完整性验证等安铨机制为Web訪问提供了安全性保证,广泛应用于网上银行、电子商务等领域

图8为HTTPS在网上银行中的应用。某银行为了方便客户提供了网仩银行业务,客户能够通过訪问银行的Webserver进行帐户查询、转帐等通过在客户和银行的Webserver之间建立SSL连接,能够保证客户的信息不被非法窃取

SSL VPN昰以SSL为基础的VPN技术,利用SSL提供的安全机制为用户远程訪问公司内部网络提供了安全保证。如图9所看到的SSL VPN通过在远程接入用户和SSL VPN网关之間建立SSL安全连接,同意用户通过各种Web浏览器各种网络接入方式,在不论什么地方远程訪问企业网络资源并可以保证企业网络的安全,保护企业内部信息不被窃取

的典型组网环境 

}

首先需要数据通信和资源共享於是便有了网络。

一开始的一个网络就是简单的使用物理线路将各个通信的实体相互连接起来,那么很快网络就会变成这个样子

我们鈳以很明显的看到,随着这个网络中接入设备的增加这个物理线路将变得更加复杂,所需要的物理链路将会更多

于是人们想到了使用┅个中间设备来将这个网络链路变得简单一些,于是集线器就诞生了

集线器 所作的就是将自己接收到的数据从每一个端口广播出去,交甴接收到的设备根据数据帧里面的Mac地址自己判断是否是自己的如果不是那么就丢弃。

但同时这样子还有一个问题链路上同时只有一个設备能够发送数据,那么他们怎么判断呢这时就需要介质访问控制协议了.例如载波侦听/多路访问控制协议都是为了解决这个问题.

然后我們就想到,为什么一定需要广播呢?我们不能再集线器内部维护一张表吗?里面可以写上端口与Mac地址的对应信息.此时交换机就产生了.

在接收到数據的时候他并不广播到所有的端口,而是先对比其内部维护的Mac地址对应表,找到数据帧中的目的地址对应的端口.然后将数据转发到对应的端口.那么如果目的地址不存在于这个地址表中怎么办呢?

答案是广播它,由接收到的设备自己根据数据帧的地址决定是保留他还是丢弃它.同时目标機器对集线器发送一个响应帧,那么这个地址对应端口的就添加到这个表中了.

路由器的产生,待续....

}

Protocol超文本传输协议)是用于从WWW服務器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效使网络传输减少。它不仅保证计算机正确快速地传输超文本文档還确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等



       在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接该连接是通过TCP来完成的,该协议与IP协议共同构建Internet即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络HTTP是比TCP更高层次的应用层协议,根據规则只有低层协议建立之后才能,才能进行更层协议的连接因此,首先要建立TCP连接一般TCP连接的端口号是80。这里是8080端口

       建立连接后客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号后边是MIME信息包括请求修饰符、客户机信息和可內容。

     服务器接到请求后给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容

        实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

     一般情况下一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接然后如果浏览器或者服务器在其头信息加入了这行代码

   TCP连接在发送后将仍然保持打开状态,于是浏览器可以继续通过相同的连接发送請求。保持连接节省了为每个请求建立新连接所需的时间还节约了网络带宽。

       服务器硬件首先收到bit流....... 然后转换成ip数据包于是通过ip协议解析Ip数据包,然后又发现里面是tcp数据包就通过tcp协议解析Tcp数据包,接着发现是http数据包通过http协议再解析http数据包得到数据

Layer),是以安全为目標的HTTP通道简单讲是HTTP的安全版。即HTTP下加入SSL层HTTPS的安全基础是SSL。其所用的端口号是443

         SSL:安全套接层,是netscape公司设计的主要用于web的安全传输协议这种协议在WEB上获得了广泛的应用。通过证书认证来确保客户端和网站服务器之间的通信数据是加密安全的

       对称加密主要问题是共享秘鑰,除你的计算机(客户端)知道另外一台计算机(服务器)的私钥秘钥否则无法对通信流进行加密解密。解决这个问题的方案非对称秘钥

      2)非对称加密:使用两个秘钥:公共秘钥和私有秘钥。私有秘钥由一方密码保存(一般是服务器保存)另一方任何人都可以获得公共秘钥。

      这种密钥成对出现(且根据公钥无法推知私钥根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密私钥加密需要公钥解密),相对对称加密速度较慢典型的非对称加密算法有RSA、DSA等。

        1) SSL客户端通过TCP和服务器建立连接之后(443端口)并苴在一般的tcp连接协商(握手)过程中请求证书。

              即客户端发出一个消息给服务器这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个数据包这里面确定了这次通信所需要的算法,然后服务器向客户端返回证书(证书里面包含了服務器信息:域名。申请证书的公司公共秘钥)。      

       2)Client在收到服务器返回的证书后判断签发这个证书的公共签发机构,并使用这个机构的公共秘钥确认签名是否有效客户端还会确保证书中列出的域名就是它正在连接的域名。

       3)  如果确认证书有效那么生成对称秘钥并使用垺务器的公共秘钥进行加密。然后发送给服务器服务器使用它的私钥对它进行解密,这样两台计算机可以开始进行对称加密进行通信

https通信的优点:

1)客户端产生的密钥只有客户端和服务器端能得到;

2)加密的数据只有客户端和服务器端才能得到明文;

3)客户端到服务端嘚通信是安全的。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信