对openssl源码的记录层的解析,想学习openssl的可以看看。
电脑编程技巧与维护
OpenSSL源码的记录层解析
张艺博
(河南经贸职业学院信息管理系,郑州450053)
摘要:讲解了在SSL握手过程中产生的数据包在经过记录层时是怎样被封装的,经历了哪几个过程,并对这些数据包可能经过的所有过程进行了全面的解析。
关键词:OpenSSL;握手协议;加密函数;记录层协议
OpenSSLSourceCodeAnalysisoftheRecordingLayer
ZttANGYibo
(Department
of
informationmanagement,HeNanEconomyandTradeVocationalCollege,Zhenzhou450053)
Abstract:ThispaperintroducestheprocessintheSSLhandshakepacketsgeneratedafterrecordinglayerisbeingpack—
alltheprocessisgoingtobeacomprehensiveanalysis.aged,theprocesshasgonethroughseveralofthosepackets
Keywords:OpenSSL;handshakeprotocol;encryptionfunction;Recordlayerprotocol
l
引言
SSL是一种在客户端和服务器端之间建立安全通道的协
长度,故不需要分段。又如ClientHello等数据包只经过添加协议头这个处理过程,而Finished数据包则要经过加MAC值、加密处理、添加协议头等过程。
对于不同的数据包,所发送的数据包组成结构将由所不同。对于从握手过程中传输出来的不同的数据包的第一个字节也不同,分别表示了该数据包的类型,即该数据包是从哪个过程中产生的。除了Finished数据包之外,表示数据包类型的数据都可以直接从最后的数据包中直接获得。具体如图2所示。
’
议。SSL一经提出,就在Intemet上得到广泛的应用。SSL常用来保护Web的安全,这主要是为了保护存有敏感信息的Web服务器的安全,消除用户在interact上数据传输的安全顾虑。OpenSSL是一个支持SSL认证的服务器,它是一个源码开放的自由软件,支持多种操作系统。OpenSSL软件的目的是实现一个完整的、健壮的、商业级的开放源码工具,通过强大的加密算法来实现建立在传输层之上的安全性。OpenSSL包含一套SSL协议的完整接口,应用程序应用它们可以很方便地建立起安伞套接层,进而能够通过网络进行安全的数据传输。
记录协议处理握手过程散鼍包
Server
Ck,ntHello
2
记录层处理数据包
在SSL通信中,握手协议中产生的数据包向下层传递,
.ServHH—o
22I22l22l
33
00
l长度l致据包(1)1I长度l数据包(2)1I长度}数据包(11jl长度I数据包(12jl长度I数据包(13jl长度I数据包(14ji长度I数据包(11j.l长度l数据包(16{.
阶段3阶段2
到达记录协议,然后记录协议对这些数据包进行分组、压缩、HASH、加密和封装,最后将其发送。
记录层对数据包的处理过程如图1所示。
.cH蠊∞k
30000
.ServerKeyExdlange}22}3.CerUflcateIk-cluest}22i
.ServerHelloDone
33
22l22I22l22I20I22l20Il22I
上层瓷辩广——————————厂——西品磊■————r——————]
分段处理压缩处理
FragmentCompressCompress
SSL记录协议处理数据包过控
ce一6口协
333
l
00
==二二e==一
l
MAC
l
(1ientIc州Exchange
(er6flcjteVerify
f0}长度|数据包(15j.
000
JmMAC僵l
抽密处鼍
ri—.————-—JL—————1j—_1;=二j[=====
l
EntryplEnc,ypt
cha旭ec帅Hspec
finidled
.ChangeOpherSpec.finished
3333
I长度l数据色(1)1.I长度I加密数据(2D!l长度I数据包(1)II长度I加密数撂(∞H
阶段4
l
。=二二]===二二=
加协议头IHI
图1SSL记录协议处理数据包过程
在SSL握手过程中的数据包并非每个数据包都要进行分组、压缩、HASH、加密和封装这几个步骤,如在没有压缩算法的情况下,所有的数据包都不会经过压缩处理这个环节。而对于握手协议中的数据包,都不需要经过分段处理这个过程,握手过程中传送的数据都比较短,没有超出分段的最大本文收稿13期:2009—2—15
——48—
洼:括号中的数字是代衰了备教嚣包的类型
l
0
图2记录协议处理握手过程的数据包
由图2,很容易看到.除了客户端发送的Finished消息和服务器发送的Finished消息外,其他消息的处理过程都只是在握手过程中产生消息的基础上添加一个协议头组成。而客户端和服务器发送的Finished消息则经过了计算MAC值,进行
万方数据
openssl源代码分析_计算机软件及应用_IT/计算机_专业资料 暂无评价0人阅读0次下载举报文档 openssl源代码分析_计算机软件及应用_IT/计算机_专业资料。Openssl 源...
7页 免费 OpenSSL源码的记录层解析 3页 免费 第九章 openssl签名和验证 12页 免费 OpenSSL之X509系列 5页 免费 第八章 openssl消息摘要 13页 免费...
1.2论文主要工作对OpenSSL从整体进行分析。包括OpenSSL源代码的模块结构,它支持 ...如下图: 图2-3 SSL协议结构 2.3.1 SSL记录层 SSL记录层协议是建立在可靠...
1.2论文主要分析工作辩OpenSSL扶整体进行分撰。包话OpenSSL源代码豹模块结梅,玄...其中SSL记录层协议是握手协议、密码更改协议、警告协议的基础。 10 华中科技大学...
对 OpenSSL 源代码的学习,可以对协议中一些没有明确指定的行为或者 是模糊的...首先将对 SSL 记录层协议进行分析,SSL 记录是分析的基本单位。然后, 将分析一...
C语言利用OpenSSL实现AES加解密源代码_计算机软件及应用_IT/计算机_专业资料。#... OpenSSL教程 8页 1下载券 openssl的EVP函数详解 28页 免费 2014年教师考试...
解析OpenSSL漏洞_法律资料_人文社科_专业资料。解析OpenSSL漏洞解析OpenSSL 漏洞:影响巨大 两年前 已存在什么是 SSL? SSL 是一种流行的加密技术,可以保护用户通过...
Wireshark的Pcap文件格式分析及解析源码_IT/计算机_专业资料。Wireshark的Pcap文件格式分析及解析源码Wireshark 的 Pcap 文件格式分析及解析源码 下面主要介绍下 ...
SSL 握手协议 SSL 改变加密约定协议 SSL 记录层协议 TCP 层 IP 层 底层协议 ...本文在对 SSL 协议工作原理进行分析的基础上,利用 OpenSSL 软件包在 IE 客户...
热门文档