ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:20.42KB ,
资源ID:2833817      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2833817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ssl20协议.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ssl20协议.docx

1、ssl20协议竭诚为您提供优质文档/双击可除ssl,2.0协议篇一:协议ssl加密ssl加密研发部xxxopenssl是使用非常广泛的ssl的开源实现。由于其中实现了为ssl所用的各种加密算法,因此openssl也是被广泛使用的加密函数库。到目前为止,openssl的算法已经非常完善,对ssl2.0、ssl3.0以及tls1.0都支持。资料:使用opensslapi建立ssl安全通信的一般流程文章图示如下,不详细,后续修改:openssl使用指南openssl建立ssl连接例子程序openssl重大漏洞心脏流血,那是什么,如何补救心脏出血漏洞,如果网站配置了一项名为“perfectforwar

2、dsecrecy”的功能,那么这一漏洞的影响将被大幅减小。该功能会改变安全密钥,因此即使某一特定密钥被获得,攻击者无法解密以往和未来的加密数据。openssl漏洞补救办法详解(图文)具体修补方式为:openssl版本升级到最新的1.0.1g重新生成你的私钥请求和替换ssl的证书也可以使用-dopenssl_no_heaRtbeats参数重新编译低版本的openssl以禁用heartbleed模块,最新版本升级地址为:https:/www.openssl.org/source/.(openssl官方)ssl/tls如果服务端只设置了一种加密套件,那么客户端要么接受要么返回错误。加密套件的选择是由

3、服务端做出的。用openssl编写ssl,tls程序(1)【winlinkopenssl实现】应用到模块:服务器之间通讯tcpmodule,web通讯clientproxy,托管服务器通讯dataproxysocketserver侧。协议通讯与调用过程图示:官网:ssl版本,1.0,2.0,3.0openssl版本,1.0.2a(可能不稳定,20xx-3-19),1.0.1m(最新稳定版本,20xx-3-19)篇二:第一章.ssl握手协议的研究1.第一章.对ssl的基本概念和框架的介绍2.第二章.对ssl握手协议的研究(part-1)3.第三章.对ssl握手协议的研究(part-2)4.第四章

4、.对ssl握手协议细节和实现的介绍5.第五章.对ssl记录协议细节和实现的介绍6.第六章.对ssl的安全性分析7.第七章.举例一种将usbkey融入javajsse框架的解决方案sl握手过程即完成身份认证和建立加密通道的过程,分为四种。Fullhandshake:全流程握手,c/s双方从无到有建立ssl连接;Resumsessionhandshake:c/s双方曾经建立过连接,但中途断了,ssl会话信息还有保留,只需要执行部分握手流程就可建立ssl连接;serverRe-negotiationhandshake:已经建立了ssl连接,但server端为了某些原因(比如安全性)要求重新对密钥进行

5、协商,也只需要执行部分握手流程;clientRe-negotiationhandshake:已经建立ssl连接,但client端为了某些原因要求重新协商,只需执行部分握手流程。Fullhandshake这里主要介绍全流程握手,握手步骤如下图所示,其他的握手过程都属于全流程的子集。ssl握手协议总共有10中消息类型,类型名和枚举值如下:hello_request(0),client_hello(1),server_hello(2),certificate(11),server_key_exchange(12),certificate_request(13),server_done(14),cer

6、tificate_verify(15),client_key_exchange(16),finished(20)所有的握手消息有统一的结构:structhandshaketypemsg_type;/*握手消息类型,如上所述的枚举值*/uint24length;/*握手消息体的长度用24位表示,即最大长度不超过16m*/handshakemsgpayload/*握手消息的有效荷载,上面列的10类型之一*/handshake;clienthello阶段客户端首先发clienthello消息到服务器端,服务器端收到hello消息后再发serverhello消息回应客户端。clienthello和se

7、rverhello消息结构如下:structprotocolVersionclient_version;Randomrandom;sessionidsession_id;ciphersuitecipher_suites;compressionmethodcompression_methods;clienthello;structprotocolVersionserver_version;Randomrandom;sessionidsession_id;ciphersuitecipher_suite;compressionmethodcompression_method;serverhello;

8、选择ssl通信,当底层连接建立好后会触发或调用ssl的初始化和握手,握手由clinet端发出clienthello消息开始。clienthello消息protocolVersion:消息中协议版本是两个byte长度分别表示主次版本,如若在jaVa中初始化sslcontext时候选择了sslv3则主版本号是3,次版本号为0,若选择了tlsv1(tlsv1相当sslv3的升级版)则主版本号是3,次版本号是1。Random:随机数结构,由两部分组成,structuint32gmt_unix_time;opaquerandom_bytes28;Random;一个4字节的系统当前时间,一个28位长的随机

9、数,在后面计算所有消息的摘要或计算主密钥时候会用到。(疑惑1:在java的jsse实现版本中貌似只有一个4字节的系统当前时间,没有28位的随机数,奇怪了,怎么和非jsse版本实现正确握手的啊)sessionid:ssl会话id标识一次会话用,可以重用。会话id都是由服务器分配因此在全流程握手中clienthello消息中的sessionid是空,用字节0表示。ciphersuitlist:密钥套件列表,列表中包含了client端支持的所有密钥套件。一个密钥套件定义了一个密钥规格,其中描述如下内容:密钥交换算法,是否出口,对称加密算法,支持的最高对称密钥位数,mac算法(或摘要算法)。一个cip

10、hersuit用2个字节表示,下面列举jsse支持的几个套件:ssl_Rsa_with_Rc4_128_md5=0x0004/*非对称加密算法或密钥交换算法为Rsa,采用高强度128位对称加密算法Rc4,摘要或mac算法为md5,不支持出口*/ssl_dhe_Rsa_expoRt_with_des40_cbc_sha=0x0014/*非对称加密算法或密钥交换算法支持Rsa和dh,采用40位对称加密算法des,摘要或mac算法为sha,可以出口*/关于出口,美帝国主义要求要用他们的加密算法比如jdk中的jsse,对称加密密钥长度不能超过40,非对称密钥长度不超过512,在国内只能使用这种低强度的

11、玩意,赤裸裸的技术封锁啊。这个加密套件列表长度不超过128k。compressionmethods:客户端支持的压缩算法列表,填0表示空,jsse会有默认算法。clienthello承载着这些信息被发送到server端。serverhello阶段serverhello消息protocolVersion:服务端服务器拿出消息中的版本号,再看看自己支持的版本列表,选个两者都支持的最高版本号定为这次协商出来的ssl协议使用的版本。比如c端发过来ssl3.0,而s端发现自己只支持ssl2.0,server就会选择ssl2.0作为这次协商版本,反之若server支持ssl2.0,ssl3.0,tls1.

12、0,选两者都支持的最高版本ssl3.0。Random:产生的方式和clienthello中相同。sessionid:服务端检测到传过来的sessionid是空或者检索session列表没有发现传过来的sessionid就会新建一个,jsse中sessionid是取系统时间的前32位(系统时间是long类型64位,只取其中32位)。ciphersuit:server端收到密钥套件列表后,将密钥套件一个个拿出来,经过几道检查,选择第一个通过检查的套件。jsse实现的ssl协议中的检查项目有如下几项:检查服务端是否也支持这个套件,检查这个套件是不是被禁用(的确是支持某个套件,但出于某些原因被禁用了)

13、,检查套件是否符合出口限制,比如在国内加密强度128或256位的对称密钥在检查时候就会被认为不合法pass掉;若server端启用了双向认证,某些不支持双向认证的套件就会被pass掉。层层选拔,第一个通过的幸运儿光荣的成为密钥协商的成果,被放入serverhello消息中。这样serverhello消息组装好了,发出去告诉客户端协商的ssl版本和加密套件,并创建了一个会话,hello阶段结束。服务发送证书(servercertificates可选)消息在服务器发送完hello消息后接下来可以发送3个可选消息,服务器证书消息,服务器证书交换消息,客户端证书请求消息。服务器证书消息在全流程握手中一

14、般是必须发的(疑惑2:不知道除了session重用外在什么情况下服务器端不需要发送证书过去?),但是在会话重用的消息中就不需要再发。服务器证书中包含公钥,发给客户端用来验证签名或在密钥交换时候给消息加密。证书消息是紧跟着serverhello消息发送,证书消息中就是一个证书列表,证书应该转换成asn.1deR格式,不支持pkcs7格式。证书链中的证书挨个取下来放入列表中,按照次序服务器自己的证书放列表最前头,根ca证书放列表最后,证书链长度不超过16m。服务端密钥交换消息(serverkeyexchange可选)说到这个不得不介绍下ssl密钥交换方式。安全加密通信是发送方将信息加密,接收方将信息解密,加解密用的密钥分两类:对称和非对称加密(具体概念google之)。非对称加密的最大优点是可以将一部分密钥公开,叫公钥(publickey),这样通信双方交换密钥很简单,a和b通信,a有一个密钥对pri-a和pub-a,b也有一个密钥对pri-b和pub-b,ab互相交换自己公钥,a用pub-b加密要发给b的篇三:sslVpn入门之ssl协议sslVpn入门之ssl协议华为赛门铁克科技有限公司版权所有不得复制二零一一年20xx-2-6华赛机密,未经许可不得扩散第1页,共15页目录第1章概述.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1