一个HTTPS连接的前若干毫秒
发表时间:2009-12-01 10:12:42 作者:Lyon 来源:红客联盟 收藏本页

     PS:原文是大名鼎鼎Jeff Moser原创,本人非原创,只是感觉有用,就拿出来晒晒,关于译文本人也没有考过E文四六级啥的,google+个人思想,有个别专业性的术语资询了相关专业人员,存在不足之处,还请您多多指正,装X一下:路漫漫其悠远兮,吾将上下而求索...^_^XcL中国红客联盟-全球最大的红客组织
当你在浏览了一个网站上面的商品之后,点击“继续并结帐”时会发生什么?本文即将对(浏览器)与Amazon建立安全连接的整个过程中最初的若干毫秒进行分析。当你点击继续按钮时一个新的页面将被加载:XcL中国红客联盟-全球最大的红客组织

     XcL中国红客联盟-全球最大的红客组织

在短暂的220毫秒内,发生了很多有趣的事情,Firefox修改了地址栏的颜色,并在其右下角放置了一个锁状的图标。在我最喜爱的网络工具Wireshark以及略微修改的Firefox调试版的帮助下,我们可以对正在发生的事情看个究竟。XcL中国红客联盟-全球最大的红客组织
根据RFC 2818协议的规定,Firefox明白“https”意味着它应该连接Amazon.com的443端口:XcL中国红客联盟-全球最大的红客组织

    XcL中国红客联盟-全球最大的红客组织

大多数人将HTTPS和SSL(Secure Sockets Layer)联系起来,SSL是Netscape公司在90年代中期发明的。随着时间的推移这种说法就渐渐变得不准确了。由于Netscape失去了市场份额,它将SSL的维护工作移交给因特网工程任务组(IETF)。第一个后Netscape版本被重新命名为安全传输层协议(TLS),TLS1.0是在1999年1月份发布的。由于TLS诞生都10年了, 所以真正的“SSL”传输其实是几乎见不到。XcL中国红客联盟-全球最大的红客组织
Client HelloXcL中国红客联盟-全球最大的红客组织
TLS将所有的网络传输打包成不同的“记录”类型。我们看到从浏览器出来的第一个字节是一个十六进制(hex)字节0x16=22,这说明它是一个“握手”记录:XcL中国红客联盟-全球最大的红客组织

     XcL中国红客联盟-全球最大的红客组织

后面的两个字节是0x0301,意味着它的版本是3.1,事实上TLS1.0就是SSL3.1。XcL中国红客联盟-全球最大的红客组织
“握手”记录被分解成若干消息。第一个就是“Client Hello”消息(0x01)。这里面有很重要的几点:XcL中国红客联盟-全球最大的红客组织
随机数: XcL中国红客联盟-全球最大的红客组织

      XcL中国红客联盟-全球最大的红客组织

前面的四个字节是当前的协调世界时(Coordinated Universal Time,UTC),它的格式是Unix时间戳,也就是从1970年1月1日起到此刻所经历的秒数。在本例中的该数字是0x4a2f07ca。跟随其后是28字节的随机数,它将在后面使用。 XcL中国红客联盟-全球最大的红客组织
会话标识(session id): XcL中国红客联盟-全球最大的红客组织

    XcL中国红客联盟-全球最大的红客组织

在这里它是空值或者是null。如果在几秒前该浏览器曾连接过Amazon.com,它就可能继续使用前面的会话,而不需要重新执行整个“握手”过程。 XcL中国红客联盟-全球最大的红客组织
密码套件: XcL中国红客联盟-全球最大的红客组织

      XcL中国红客联盟-全球最大的红客组织

它是浏览器所支持的密码算法的一个列表。最上面的是一个很强大的组合“TLS_ECDHE_ECDSA_与_AES_256_CBC_SHA,下面还有该浏览器支持的另外33个选择。如果现在不明白它们的含义也不必担心,后面你将会发现Amazon并没有选择最上面的强大组合。 XcL中国红客联盟-全球最大的红客组织
server_name extension: XcL中国红客联盟-全球最大的红客组织

     XcL中国红客联盟-全球最大的红客组织

通过它告诉Amazon.com,浏览器正要连接https://www.amazon.com/。这样做非常方便,因为TLS“握手”发生在所有的HTTP传输之前 。HTTP协议中有一个“Host”头, 这就允许了Internet托管公司出于成本的考虑将上百个网站绑定在同一IP 地址上。传统意义上SSL要求每一个地址有一个不同的IP,而这个扩展就使得服务器能够正确响应浏览器所请求的(服务器)证书。最后注意一点,对于 IPv4的地址这一扩展的有效期大概能再多一周左右。 XcL中国红客联盟-全球最大的红客组织
Server HelloXcL中国红客联盟-全球最大的红客组织
对应于Client Hello,Amazon.com也返回一个“握手”记录,它是两个庞大的数据包(2,551字节)。该记录的版本号是0x0301,也就意味这Amazon支持我们使用的TLS1.0版本的请求。这个记录分成三个子消息,他们包含着一些有趣的信息。XcL中国红客联盟-全球最大的红客组织
"Server Hello" 消息(2): XcL中国红客联盟-全球最大的红客组织

   XcL中国红客联盟-全球最大的红客组织

我们得到服务器返回的四字节的Unix时间戳以及28字节的随机数,它也将在后面使用(译注:注Clien Hello是发了一个随机数,这两个随机数将用于产生最后的对称密钥)。

 1/7    1 2 3 4 5 6 下一页 尾页
下一篇:下面没有链接了
豫ICP备09015648号版权所有© 2001-2009中国红客联盟 All Rights Reserved.