信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx

上传人:b****1 文档编号:14340840 上传时间:2022-10-22 格式:PPTX 页数:81 大小:1.39MB
下载 相关 举报
信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx_第1页
第1页 / 共81页
信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx_第2页
第2页 / 共81页
信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx_第3页
第3页 / 共81页
信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx_第4页
第4页 / 共81页
信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx

《信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx》由会员分享,可在线阅读,更多相关《信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx(81页珍藏版)》请在冰豆网上搜索。

信息安全系统工程SSL和OpenSSLPPT文件格式下载.pptx

KDF一般基于Hash算法。

一种最简单的KDF可能如下(由同一个主密钥MS生成了四个不同的会话密钥):

Ecs=Hash(MS,nonce,”ECS”)/”ECS”等是一个常量Mcs=Hash(MS,nonce,”MCS”)/E是加密密钥,M是MAC密钥Esc=Hash(MS,nonce,”ESC”)/cs和sc是传输方向Msc=Hash(MS,nonce,”MSC”),协议过程数据传输,数据记录为实现数据传输的灵活性,必须对数据分块(记录)传输数据分块后MAC如何处理,放最后吗?

解决方法:

分块后,每个记录应该自带MAC记录大小定长,不经济理想的应是变长记录,每个记录要加上长度字段记录格式长度Mx+数据D+MACMAC计算M=MAC(Mx,D),协议过程数据传输(续),序号为对抗重放、删除、重排攻击,需要增加序号Sequence序号必须是MAC输入的一部分可以放在记录中在基于TCP的连接中,也可以使用隐含序号MAC的计算M=MAC(Mx,Sequence|D),协议过程关闭连接,控制信息为防止攻击者恶意切断连接,需要有一种机制使得Alice能告诉Bob(或反之),她已完成数据传送两种方法1、传送长度为0的记录2、在记录中增加类型字段增加类型字段后的记录格式长度Mx+序号Sequence+类型Type+数据D+MAC类型为0:

普通数据类型为1:

结束记录类型为其他:

报告错误信息MAC的计算M=MAC(Mx,Sequence|Type|D),协议过程完整图示,Alice,Bob,协议小结,该简单协议已经包含了SSL绝大多数的核心功能握手密钥交换双向鉴别保密传输遗漏的部分不完整,不包括具体实现细节数据结构定义每一字段大小使用何种算法涉及到数据结构表示、翻译等问题更重要的是缺少协商(negotiation)功能,二、SSL协议,1、SSL协议概述2、SSL的会话和连接3、SSL的握手协议4、SSL的ChangeCipherSpec协议5、SSL的Alert协议6、SSL的记录协议,1、SSL协议概述,SSL:

SecureSocketLayer(安全套接层)SSL是用于Internet上两台机器间提供安全通道的协议,主要有两项功能:

保护传输数据(机密性和完整性);

识别通信机器(认证性)。

SSL协议的安全通道是透明的对传输的数据内容上不加变更,仅作了加密;

透明性使得几乎所有基于TCP的协议稍加改动就可以在SSL上运行。

SSL的历史,TLS:

TransportLayerSecurity;

TLSV1.0是一个Internet协议,完全建立在SSLV3的基础上,又称为SSLv3.1;

RFC2246:

TheTLSProtocolVersion1.0Rfc3546:

TransportLayerSecurity(TLS)Extensions,SSL在协议栈中的位置,在分层模型下,某层进行了加密,则上层协议都将自动被加密,网络协议栈,TCP/IP协议报文封装,在分层模型下,某层进行了加密,则上层协议都将自动被加密,SSL的保护区域,SSL协议的使用,用于Web的SSLhttps:

/https的端口:

一般为443;

在SSL上构建一切ftps-data(989),ftps(990)nntps(563)pop3s(995)telnets(992)目前SSL的主要应用范围是http协议。

加密传输,WWW服务器,HTTPsoverSSL,Internet,客户浏览器(1,2,n),路由器,路由器,路由器,攻击者,实际的报文传输物理路径,利用SSL构建的端到端的逻辑安全通道,利用WireShark抓包分析,SSL的体系结构,SSL由Handshake、ChangeCipherSpec、Alert和Record这四个子协议组成,2、SSL连接和会话,连接(Connection):

指一次提供适当类型服务的传送。

会话(Session):

由握手协议创建;

定义了一组可以被多个连接共用的密码安全参数。

连接vs会话在任意一对的双方之间,也许会有多个安全连接;

理论上,双方可以存在多个同时会话,但在实践中并未用到这个特性。

会话状态参数,(48字节),会话状态中的Cipherspec,Enumstream,blockCipherType;

Enumtrue,falseIsExportable;

Enumnull,rc4,rc2,des,3des,des40,idea,fortezzaBulkCipherAlgorithm;

Enumnull,md5,shaMACAlgorithm;

StructBulkCipherAlgorithmBulk_Cipher_Algorithm;

MACAlgorithmMAC_Algorithm;

CipherTypeCipher_Type;

IsExportableIs_Exportable;

Uint8hash_size;

/MAC的长度Uint8key_material;

/对称加密密钥的长度Uint8IV_size;

/IV的长度(CBC模式使用)CipherSpec;

连接状态参数,上述状态中的各种密钥,SSL使用两个相互独立的密钥,即Serverwritekey和clientwritekey,分别用于同一连接的两个方向上的加解密,对于MAC操作也一样。

各个密钥的关系如下:

预备状态和当前状态,SSL中定义了预备状态(pendingstate)和当前状态(currentoperatingstate):

用这些状态来协调客户和服务器同时使用新的加密参数和密钥。

预备状态:

包含本次握手过程中协商成功的各种算法和密钥。

当前状态:

包含记录层正在使用的各种算法和密钥。

此外,客户和服务器都有各自独立的读状态和写状态读状态:

包含解密、解压缩、MAC验证算法;

解密密钥。

写状态:

包含加密、压缩、MAC生成算法;

加密密钥。

预备状态和当前状态(续),以上二者结合,SSL的每一端都包含预备读、预备写、当前读、当前写4个逻辑状态。

客户/服务器通过Changecipherspec消息进行状态同步客户/服务器收到changecipherspec后,会将预备读状态中的内容复制到当前读状态;

客户/服务器发送changecipherspec后,会将预备写状态中的内容复制到当前写状态。

3、SSL握手协议,SSL的握手协议层的功能是验证实体身份,协商密钥交换算法、压缩算法和加密算法,完成密钥交换以及密钥导出等。

客户和服务器的握手过程是指建立一个会话或恢复一个会话的过程。

在这一过程中,客户和服务器都建立新的会话的会话状态或使用已经存在的会话的会话状态,但每次握手都产生新的密钥、MAC密钥和IV,并将这些参数作为当前连接状态中的元素。

SSL握手协议消息,握手消息共有10种,除了Finished消息外,所有其他握手消息都以明文传送。

建立一个新会话的握手过程,建立一个新会话的握手过程(续),SSL握手协议本质上是一个密钥交换协议。

密钥交换最多用到5条消息:

ServerCertificate、ServerKeyExchange、ClientCertificate、ClientKeyExchange和CertificateVerify。

实际上,不同的握手过程蕴含了SSL的3种验证模式:

1)客户和服务器都被验证;

2)只验证服务器,不验证客户,这是目前应用最广的模式;

3)客户和服务器都不被验证,也成为完全匿名模式(SSL不鼓励,甚至反对使用该模式)。

Hello消息中的CipherSuite,包括一个密钥交换算法和一个CipherSpec。

DataEncryption:

AESRC2-40RC4-128DESDES403DESIDEAFortezzaMessageDigest:

MD5SHA,KeyExchange.RSAFixedDiffie-HellmanEphemeralDiffie-HellmanAnonymousDiffie-HellmanFortezzaDataCompression:

PKZipWinZipgzipStuffIt,Serverkeyexchange消息,服务器在3种情况下发送该消息,向客户提供ciphersuite中指定的密钥交换算法的临时公开密钥:

1)服务器没有证书2)服务器有证书,但只用于签名3)使用了Fortezza_dms密钥交换算法服务器可以对发送的临时公开密钥进行签名。

Clientkeyexchange消息,根据密钥交换算法的不同,该消息分为3类:

1)RSAEncryptedPre_master_secret:

当使用RSA密钥交换算法时,客户产生48字节的Pre_master_secret,用服务器证书中的公钥或Serverkeyexchange中给出的临时RSA公钥加密,然后发送给服务器。

2)Fortezza密钥交换消息:

略。

Clientkeyexchange消息(续),3)ClientDiffie-HellmanPublicValue:

当使用D-H算法时,客户端通过该消息发送其公开密钥(Publicvalue)。

当使用D-H时,双方产生的秘密值被用作pre-master-secret,因此在每次建立会话时,对于使用固定D-H的场合,pre-master-secret总是相同。

有鉴于此,SSL规定必须先通过pre-master-secret生成master-secret,再通过master-secret生成最终的会话密钥。

Finished消息,Finished消息总是在ChangeCipherSpec消息之后立即发送,用于证实密钥交换和验证过程的成功。

该消息是第一个应用刚刚协商成功的加密算法和密钥加密的消息。

如果客户或服务器在验证Finished消息的正确性时没有通过,则终止当前握手;

如果都成功,就可以开始传送保密数据。

Finished消息(续),该消息的散列计算方法如下(以SHA为例):

SHA_Hash=SHA(master_secret+pad2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

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

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