SSL交互过程

SSL交互过程

HTTPS将HTTP和SSL结合,即加了SSL隧道封装的HTTP,通过SSL对客户端身份和服务器进行验证,对传输的数据进行加密。不同情况下SSL的协商过程存在差异,本节以只验证服务器为例介绍。SSL的协商过程如图1所示。

图1 SSL协商过程 

    1. 客户端发送的第一条消息为ClientHello,其中包含了客户端所推荐的加密参数和准备使用的加密算法。
    2. 服务器以三条消息进行响应:
      1. 发送选择加密算法的ServerHello。
      2. 服务器发送携带自己公钥的Certificate消息。
      3. 服务器发送表示握手阶段不再有任何消息的ServerHelloDone。
    3. 客户端发送一条Client Key Exchange消息,将一个随机生成的使用服务器公钥加密的密钥发送给服务器。
    4. Change Cipher Spec消息表示客户端在此之后发送的所有消息都将使用刚刚商定的密钥进行加密。
    5. Finished消息包含了对整个连接过程的校验,是通过先计算已交互的握手消息的Hash值,再利用协商好的密钥对Hash值加密得到的。

      服务器利用同样地方法计算已交互的握手信息的Hash值与Finished消息解密结果比较,就能够判断要使用的加密算法是否是安全商定的。

    6. 一旦服务器接收到了客户端的Finished消息,它就会发送自己的Change Cipher Spec和Finished消息,于是连接就准备好进行应用数据的传输了。
时间: 2024-10-13 22:20:11

SSL交互过程的相关文章

安全与加密-SSL交互与握手过程 创建CA和证书管理

上一篇章中我们讲了使用gpg和openssl加密公钥进行安全数据通讯的场景.可是,网络中总是有不怀好意的角色存在,别以为你以公钥加密了就是安全的,有没有想过,你得到的这个公钥是不是真正要跟你通讯的服务器公钥呢?万一被伪造了?那将会如下图,黑客能打开加密的文件,而真正的ServerB却无法解开密文. 所以,就如现实生活中,大家都要确认某样东西的真实性的时候,找第三方权威机构,把各自己的信息交回权威机构进行验证后,再由权威机构公布各自需要的信息. 如下图,CA证书机构就是用来做这事的. 既然有了第三

HTTPS协议,SSL协议及完整交互过程

文章转自 https://blog.csdn.net/dfsaggsd/article/details/50910999 SSL 1.        安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议. 2.    SSL协议的三个特性 ?  保密:在握手协议中定义了会话密钥后,所有的消息都被加密. ?  鉴别:可选的客户端认证,和强制的服务器端认证. ?  完整性:传送的消息包括消息完整性检查(使用MAC). 3.    SSL的

SSL交互和握手过程

SSL消息按如下顺序发送:  1.Client Hello  客户发送服务器信息,包括它所支持的密码组.密码组中有密码算法和钥匙大小: 2.Server Hello  服务器选择客户和服务器都支持的密码组到客户. 3.Certificate  服务器发送一个证书或一个证书链到客户端,一个证书链开始于服务器公共钥匙证书并结束于证明权威的根证书.这个消息是可选的,但服务器证书需要时,必须使用它. 4.Certificate request  当服务器需要鉴别客户时,它发送一个证书请求到客户端.在网络

SSL握手过程

一.SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致:2. 它们需要确立一组由那些算法所使用的加密密钥:3. 握手还可以选择对客户端进行认证. 二.SSL握手过程:1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器:2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端:该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数:3. 客户端对服务器的证书进行验证(有关验证证书,可以参考

第6课第2节_Binder系统_驱动情景分析_打印数据交互过程

添加宏: 功能:把NAME(n) 中的n作为字符串返回,eg:BR_NOOP作为字符串返回 BR开头:Binder--->IPC BC开头:IPC------>Binder #define NAME(n) case n: return #n const char *binder_cmd_name(uint32_t cmd) { switch(cmd) { NAME(BR_NOOP); NAME(BR_TRANSACTION_COMPLETE); NAME(BR_INCREFS); NAME(B

SSH基本简介及连接交互过程

简介: SSH(Secure+SHell):是一种网络协议,顾名思义,就是非常安全的shell,主要用于计算机间的加密传输. SSH服务基于非对称加密(public-key cryptograthy,也称公开密钥加密)技术实现数据加密传输.该技术会生成一对密钥,一个对数据进行加密,而且只能用于加密,而另一个只能用于解密.使用加密密钥加密后的数据,只能用对应的解密密钥才能解密.而且只知道其中一个密钥,无法计算出另一个.因此,如果公开了一对密钥中的一个,并不会危害到另一个密钥.通常把公开的密钥称为公

SSL 握手过程

SSL协议的握手过程 SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术.SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下: ①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息. ②服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书

B/S交互过程及tomcat体系结构

浏览器与服务器交互过程: 1.浏览器根据主机名,如www.baidu.com,去操作系统的hosts文件中查找主机名对应的ip地址. 2.如果查找不到,则会去互联网上的dns服务器上查找主机名对应的ip地址. 3.通过ip地址连接服务器. 4.浏览器使用http请求向服务器发送请求,同时会以stream(流)的形式传输数据,告诉服务器访问哪个web应用下的web资源. 5.服务器传输对应的web资源给浏览器. 6.浏览器解析接收到的数据. Tomcat体系结构: tomcat服务器的启动是基于s

转:简单的RTSP消息交互过程

简单的RTSP消息交互过程 C表示RTSP客户端,S表示RTSP服务端 1.   第一步:查询服务器端可用方法 1.C->S:OPTION request       //询问S有哪些方法可用 1.S->C:OPTION response    //S回应信息的public头字段中包括提供的所有可用方法 2.   第二步:得到媒体描述信息 2.C->S:DESCRIBE request      //要求得到S提供的媒体描述信息 2.S->C:DESCRIBE response