`
Jony.Hwong
  • 浏览: 114995 次
  • 来自: ...
社区版块
存档分类
最新评论

SSL 握手机制

阅读更多
都是些啥哦, 证书包含的是公钥, 私钥总是秘密的, 不会在网络上传播...

SSL 的握手过程通常是酱紫的, 可以看看RFC文档,写的很详细, 代码看 openssl , 应该算比较简单易懂, 自己写也不是非常麻烦...
1) Client->Server : ClientHello 通常包含这些东西..
  clientRand  : client 生成的随机数序列
  sessionID  : 用于session恢复的过程, 简化的SSL握手过程,在第一次的握手工程中服务器生成的..
  cipherSuiteList , CompressionMethodList : 客户端支持的加密算法和压缩算法列表

2) Server->Client :
    21) ServerHello : 通常包含这些东西..
    serverRand  : server 生成的随机数序列
    sessionID  : 如果 ClientHello.sessionID 在服务器端存在, 则服务器返回相同的 SessionID
                以提示这是一次简化的握手过程.
CipherSuite CompressionMethod : 服务器选择的加密算法和压缩算法

A: 不要求服务器鉴权的情况, 不能保证服务器是否伪装, 不安全, 现在可能很少遇到
  22) ServerKeyExchange 包含服务器公钥(没有证书)

  B: 要求服务器鉴权,不要求客户端证书的情况, 这种用的最多.
    22) Certificate : 服务器证书
  
  C: 要求服务器鉴权,要求客户端证书, 在安全性要求很高的场合使用, 比如网银啥的
    22) Certificate : 服务器证书
    23) CertificateRequest : 客户端证书请求
  
  2E) ServerHelloDone
  
3) Client->Server :
  A B )
    31) ClientKeyExchange    服务器公钥加密的 前主密文( PRE_MASTER_SECRET )
  C  )
    31) Certificate   客户端证书
    32) ClientKeyExchange 服务器公钥加密的 前主密文( PRE_MASTER_SECRET )
    33) CertificateVerify   客户端证书对之前握手数据的签名
  
  3E) Finish

4) Server->Client :
    41) ChangeCipherSpec  
    42) Finish

服务器用自己的私钥解密 ClientKeyExchange 中包含的加密的前主密文, 这样服务器和客户端就可以用相同的
参数( clientRand , serverRand , PRE_MASTER_SECRET ) 计算主密钥( MASTER_SECRET ) , 最后双方用同样的
算法对主密钥进行扩展(比如PRF啥的), 生成会话密钥( read_key , write_key , read_mac , write_mac )

session恢复,简化的握手过程:
1) Client->Server : ClientHello
2) Server->Client :
  21) ServerHello
  22) ChangeCipherSpec 密钥改变
  23) Finish
3) Client->Server
  31) ChangeCipherSpec
  32) Finish

客户端和服务器用相同的参数( ClientRand , ServerRand , 上次会话的主密钥 ) 计算此次会话的主密钥.
分享到:
评论

相关推荐

    SSL网络安全技术白皮书.docx

    3 产生背景 3 技术优点 3 协议安全机制 3 数据传输的机密性 4 身份验证机制 4 消息完整性验证 5 利用非对称密钥算法保证密钥本身的安全 6 利用PKI保证公钥的真实性 7 协议工作过程 8 SSL的分层结构 8 SSL握手过程 ...

    工业互联网安全测试技术:DNP渗透测试.docx

    本文设计的DNP3安全传输机制主要分为SSL握手和数据加密两个功能模块。 SSL握手模块:SSL握手是实现安全传输的前提,主要实现签名验证和密钥交换,生成的共享密钥用于数据加密。数据加密模块:基于对数据安全的考虑,对...

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

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

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

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

    网络安全协议(PPT-146页).pptx

    SMTP IP SSL TCP HTTP FTP 17 SSL协议—1 概况 SSL提供一个安全的"握手"来初始化一个TCP/IP连接 建立TCP"连接" SSL握手,建立SSL会话 完成客户端和服务器之间关于安全等级、密码算法、通信密钥的协商,以及执行对...

    Apple推送服务(APNs)Java客户端zpush.zip

    支持SSL握手成功才返回,可以调用 pushManager.start().sync(); 等待握手成功才开始发送; 最大限度重试发送,内部自动处理重连,错误重发机制; 支持配置RejectListener,即通知被...

    CCNA网络安全.doc

    由 SSL记录协议 和 SSL握手协议 两层组成。 4. P93 108 129 黑客(Hacker)源于Hack,本意为"干了一件非常漂亮的事",原指一群专业技能超群、聪 明能干、 精力旺盛、对计算机信息系统进行非授权访问的人员。P93 缓冲...

    网络安全解答题.docx

    为了验证证书持有者是其合法用户(而不是冒名用户), SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。 宿舍里面机子可以上网,某台机子开机后不可以上互联网,但可以访问局域网共享资源...

    网络安全知识竞赛小测试--网络攻击技术.pdf

    一种病毒的名称 20、TCP SYN 泛洪攻击的原理是利用了( )[单选题] * A.TCP 三次握手过程(正确答案) B.TCP 面向流的工作机制 C.TCP 数据传输中的窗口技术 D.TCP 连接终止时的 FIN 报文 21、以下对 TCP 协议发起连接...

    网络安全复习题(2).doc

    安全套接层 9、()协议主要用于加密机制 A、HTTP B、FTP C、TELNET D、SSL 10、数字签名技术使用()进行签名。 A. 发送方的公钥 B. 发送方的私钥 C. 接收方的公钥 D. 接收方的私钥 11、TCP / IP 网络中提供可靠性传输...

    java8看不到源码-java8-token-binding-negotiation:令牌绑定协议协商TLS扩展支持Java8

    java8 看不到源码令牌绑定协议协商 TLS 扩展支持 Java 8 介绍 ...上的令牌绑定 [] 提供了一种机制,使 ...和其他安全令牌绑定到客户端生成的密钥。...握手 ...一个用于使用或生成令牌绑定...此实现依赖于对sun.security.ssl包中的一

    网络安全试题及答案.doc

    D、堆栈 10、WINDOWS主机推荐使用[ ]格式 A、NTFS B、FAT32 C、FAT D、LINUX 11、UNIX系统的目录结构是一种[ ]结构 A、树状 B、环状 C、星状 D、线状 12、[ ]协议主要用于加密机制 A、HTTP B、FTP C、TELNET D、SSL ...

    20秋学期(1909、2003、2009-)《计算机网络管理》在线作业-(1).docx

    20秋学期(1709、1803、1809、1903、1909、2003、2009 ...答案:A TCP为了防止发送端发送数据太快,以至于淹没接收方,采用了()机制 A:拥塞控制 B:三次握手 C:流量控制 20秋学期(1909、2003、2009-)《计算机网络管理

Global site tag (gtag.js) - Google Analytics