八 代理
下面探讨一下SSL的代理是怎样工作的(可参见[6])。这可能与你开始想的不太一
样:)
当在浏览器里设置了https的代理,而且在浏览器里输入了
https://www.example.com之后,
浏览器会与proxy建立tcp链接,然后向其发出这么一段消息:
CONNECT server.example.com:443 HTTP/1.1
Host: server.example.com:443
然后proxy会向webserver端建立tcp连接,之后,这个代理便完全成了个内容转发
装置。浏览器
与web server会建立一个安全通道,因此这个安全通道是端到端的,尽管所有的
信息流过了proxy,
但其内容proxy是无法解密和改动的(当然要由证书的支持,否则这个地方便是个
man in the middle攻击的好场所,见上面的讨论)。
九 关于证书
注意,如果对于一般的应用,管理员只需生成“证书请求”(后缀大多为.csr)
,它包含你的名字和公钥,然后把这份请求交给诸如verisign等有CA服务公司(
当然,连同几百美金),
你的证书请求经验证后,CA用它的私钥签名,形成正式的证书发还给你。管理员
再在web server上导入这个证书就行了。如果你不想花那笔钱,或者想了解一下
原理,可以自己做CA。
从ca的角度讲,你需要CA的私钥和公钥。从想要证书的服务器角度将,需要把服
务器的证书请求交给CA.
如果你要自己做CA,别忘了客户端需要导入CA的证书(CA的证书是自签名的,导
入它意味着你“信任”这个CA签署的证书)。
而商业CA的一般不用,因为它们已经内置在你的浏览器中了。
十 wtls
在WAP的环境中,也有安全加密的需求,因此wapforum参照在WWW世界里最为流行
的SSL协议设计了WTLS.从原理上说,这份协议与SSL是基本相同的,但在具体的地
方作了许多改动。这些改动的大多没有什么技术上的需要,而是由于考虑到手持
设备运算与存储的局限而尽量做了简化。不过我的感觉是这些改动意义实在不大
,其获得的计算和存储上节省出来的时间和空间并不多。在硬件速度突飞猛进的
时代,这种改动能获得的好处也许并不很多(一个新的协议便需要大量新的投入
,而且与原有体制并不兼容,关于这点有文章[7]做了精彩阐述,可参看)。
这里我简单举一些SSL与WTLS的差别。
1 WTLS在一般udp这类不可靠信道之上工作,因此每个消息里要有序列号,协议里
也要靠它来处理丢包,重复等情况。
此外,拒绝服务攻击也因此变得更加容易。
2 WTLS建立的安全连接是在wap网关和手持设备之间,wap网关和web server之间
如果也要保密,便要采再用SSL,即在这种模型中无法实现端到端的加密。
---------- ------------- ---------
| Mobile |----------->| WAP |---------->| WEB |
| Device |<-----------| Gateway |<----------|Server |
| | WTLS | | SSL | |
---------- ------------- ---------
3 WTLS协议里加了一种成为key_refresh的机制,当传递了一定数量数据包后,双
方通过同样的算法将自己的密钥做一下更新。付出了很小的代价,安全性得以增
强。
参考文献
[1] SSL 3.0 SPECIFICATION
http://home.netscape.com/eng/ssl3/
[2] TLS
http://www.ietf.org/rfc/rfc2246.txt
[3] 《应用密码学》
机械工业出版社
[4] The End of SSL and SSH?
http://www.nuoha.cn/
[5] HTTP Over TLS
http://www.ietf.org/rfc/rfc2818.txt
[6] HTTP Upgrade to TLS
http://www.ietf.org/rfc/rfc2817.txt
[7] W* Effect Considered Harmful
http://www.nuoha.cn/
[8] 智能卡数字加密技术
http://www.yicard.com/cardtech/smartcard/jiami/index.htm
[9] HMAC: Keyed-Hashing for Message Authentication
http://www.ietf.org/rfc/rfc2104.txt
关于MAC地址和IP地址的知识
在校园网络中,最方便的捣乱方法就是盗用别人的IP地址,被盗用IP地址的计算
机不仅不能正常使用校园网络,而且还会频繁出现IP地址被占用的提示对话框,
给校园网络安全和用户应用带来极大的隐患。捆绑IP地址和MAC地址就能有效地避
免这种现象。
何为MAC地址
网卡在使用中有两类地址,一类是大家都熟悉的IP地址,另一类就是MAC地址
,即网卡的物理地址,也称硬件地址或链路地址,这是网卡自身的惟一标识,就
仿佛是我们的身份证一样,一般不能随意改变。它与网络无关,无论把这个网卡
接入到网络的什么地方,MAC地址都是不变的。其长度为48位二进制数,由12个00
~0FFH的16进制数组成,每个16进制数之间用“-”隔开,如“00-10-5C-AD-72-E3
”。