`
逆风的香1314
  • 浏览: 1392823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
 
1. 用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。
2. 服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。
3. 客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。
4. 客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。
5. 如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。
6. 如果服务器要求鉴别客户身份,则检查签署客户证书的CA是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的pre-master secret,并用它通过某些算法生成本次会话的master secret。
7. 客户端与服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。
8. 客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL握手。
9. 服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。
10. 本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。
 
1 SSL通讯示意图
    SSL通讯示意图如图1所示:
    2 SSL通讯说明
    在该部分,将对图1所示的示意图进行说明。为了说明的方便,在本文中称客户端为B,服务器端为S。
    STEP 1: B——〉S(发起对话,协商传送加密算法)
    你好,S!我想和你进行安全对话,我的对称加密算法有DES,RC5,我的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。
    STEP2: S——〉B(发送服务器数字证书)
    你好,B!那我们就使用DES-RSA-SHA这对组合进行通讯,为了证明我确实是S,现在发送我的数字证书给你,你可以验证我的身份。
    STEP 3: B——〉S(传送本次对话的密钥)
    (检查S的数字证书是否正确,通过CA机构颁发的证书验证了S证书的真实有效性后。生成了利用S的公钥加密的本次对话的密钥发送给S)
    S, 我已经确认了你的身份,现在将我们本次通讯中使用的对称加密算法的密钥发送给你。
    STEP4: S——〉B(获取密钥)
    (S用自己的私钥解密获取本次通讯的密钥)。
    B, 我已经获取了密钥。我们可以开始通信了。
    STEP5: S<——>B(进行通讯)
    说明:一般情况下,当B是保密信息的传递者时,B不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。在某些B2B应用,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的身份,验证过程类似于服务器身份的验证过程。
    此外需要说明的是,在一些电子商务的应用中,可能还会使用到电子签名,或者为了信息交换的更加安全,会增加电子签名和消息校验码(MAC)。
 
为了便于了解SSL,下面在简要介绍一下信息加密相关知识。使用密钥类型加密信息的加密算法可以分为以下几类:HASH 编码、对称加密和非对称加密三类。
    HASH 编码是使用HASH算法从任意长度的消息中计算HASH值的一个过程,HASH值可以说是消息的指纹,因为对于任何不同的消息,几乎总有不同的HASH值。因此在SSL通讯过程中,可以对消息的HASH值进行加密,确保传递的消息在传输过程中没有被修改。
    非对称加密或称之为公钥加密使用数学上相关的两个数值来对信息进行编码(加密),其中一个数字称为公钥,另一个称为私钥。公钥加密的信息可以用私钥解密,私钥加密的信息可以用公钥解密。由于公钥可以大面积发放,因此公钥加密在SSL加密通信中应用于对密钥的加密或者进行数字签名。
    对称加密和非对称加密相比的区别在于对称加密中,加密信息和解密信息使用同样的密钥,因此该密钥无法公开。但是其具有加密、解密快速的特点。
    SSL通讯中,首先采用非对称加密交换信息,使得服务器获得浏览器端提供的对称加密的密钥,然后利用该密钥进行通讯过程中信息的加密和解密。为了保证消息在传递过程中没有被篡改,可以加密HASH编码来确保信息的完整性。 
分享到:
评论

相关推荐

    ssl握手协议

    为了便于更好的认识和理解SSL 协议,这里着重介绍SSL 协议的握手协议。介绍SSL协议双向认证的具体过程。

    论文研究-基于批量化密钥重分配的SSL握手协议.pdf

    SSL(安全套接层)握手协议利用公开密钥体制(RSA)保护通信实体之间传输信息的机密性和完整性,其存在信息处理速度过慢的缺点,基于batch RSA的SSL握手协议能较好地解决这一问题,但当服务器收到大量客户端请求或遭受...

    SSL握手协议的研究

    SSL握手协议的研究,安全技术分析,usbkey融入java JSSE案例

    论文研究-SSL握手协议中客户端平衡密钥交换算法.pdf

    由于在SSL握手协议中最耗费计算资源和造成客户端与服务器端计算不平衡的步骤是服务器端解密运算,提出了客户端平衡的密钥交换算法,用来加速SSL会话的初始化和承担服务器端的解密的预运算。对算法中的同时对多个客户...

    国密SSL握手协议抓包

    国密SSL握手协议抓包

    基于Python,以CA认证为基础,通过SSL握手协议交换密钥,实现AES加密通信的聊天室

    基于Python,以CA认证为基础,通过SSL握手协议交换密钥,实现AES加密通信的聊天室

    SSL协议详解

    table of description SSL协议概述 SSL记录层协议 SSL握手协议 SSL协议的安全性分析

    SSL安全协议研究,云大软院

    本文从SSL安全协议的实现原理出发,并深入分析其实现的技术细节特点,以及SSL安全协议在目前科技条件下的主流应用以及它的优缺点,未来SSL安全协议技术的发展。 【关键词】SSL协议;记录层;握手层;安全漏洞;应用

    SSL双向认证

    SSL握手协议和通讯为了便于更好的认识和理解SSL 协议

    ssl协议的实现与改进

    随着SSL的使用,暴露出了SSL存在的某些缺陷,比如容易遭受DOS攻击,握手时间较长,连接速度慢等。为了更好的保护人们的网上交易活动,对SSL协议进行安全分析,并加以改进。改进后增强SSL协议的安全性,更易于人们的...

    SSL交互和握手过程

    SSL交互和握手过程 SSL消息按如下顺序发送: 1.Client Hello 客户发送服务器信息,包括它所支持的密码组。密码组中有密码算法和钥匙大小; 2.Server Hello 服务器选择客户和服务器都支持的密码组到客户。 3....

    华为HCIE-Security培训视频教程【共32集】.rar

    目录:网盘文件,永久连接 IE_1_上午_考试介绍、防火墙基本概念 ...IE_13_下午_SSL 握手协议 IE_14_上午_SSL VPN功能、具体配置 IE_15_上午_UTM介绍 IE_15_下午_UTM配置举例 IE_16_上午_准入控制原理

    SSL协议及其安全威胁分析

    SSL协议简介、握手过程、工作原理、及其面临的安全问题和安全威胁

    论文研究-基于SSL协议的可信应用及实现.pdf

    首先分析了安全套接层(SSL)协议在握手阶段的信任不足问题,然后讨论了信任协商机制的原理,提出了采用信任协商机制来扩充SSL协议,并给出了具体的实现方案。

    HTTPS协议详解(四):TLS:SSL握手过程1

    1、握手与密钥协商过程 2、会话缓存握手过程 3、重建连接

    rfc3711_srtp.pdf

    srtp为安全加密的rtp传输,增加ssl握手协议

    SSL&TLS协议簇加解密流程

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整...该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

Global site tag (gtag.js) - Google Analytics