昨天Jim突然问我,SSH和SSL有甚么不1样吗?我1听,是啊,有甚么区分吗?...实事求是得告知他我不知道:(
晚上回来查了查,呵呵,了解啦.
在OSI7层模型中,这两个安全传输协议其实都是建立在利用层上的:
(图片来源:Wikipedia)
在最初的设计意图中,SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被设计为加强Web安全传输(HTTP/HTTPS/)的协议(事实上还有SMTP/NNTP等),SSH(Secure Shell)更多的则被设计为加强Telnet/FTP安全的传输协议,默许地,它使用22端口.
以SSL为例,基本上SSL在传输进程中所处的位置以下:
---------
| HTTP |
---------
| SSL |
---------
| TCP |
---------
| IP |
---------
如果利用SSL协议来访问网页,其步骤以下:
用户:在阅读器的地址栏里输入https://www.sslserver.com
HTTP层:将用户需求翻译成HTTP要求,如
GET /index.htm HTTP/1.1
Host http://www.sslserver.com
SSL层: 借助下层协议的的信道安全的协商出1份加密密钥,并用此密钥来加密HTTP要求。
TCP层:与web server的443端口建立连接,传递SSL处理后的数据。
接收端与此进程相反。
SSL在TCP之上建立了1个加密通道,通过这1层的数据经过了加密,因此到达保密的效果。
SSL协议分为两部份:Handshake Protocol和Record Protocol,。其中Handshake Protocol
用来协商密钥,协议的大部份内容就是通讯双方如何利用它来安全的协商出1份密钥。 Re
cord Protocol则定义了传输的格式。
参考文章:
[1]Secure Shell
http://en.wikipedia.org/wiki/Secure_Shell
[2]Transport Layer Security
http://en.wikipedia.org/wiki/Transport_Layer_Security
[3]SSL/TLS/WTLS原理
http://groups.google.com/group/cn.bbs.comp.ms-windows/browse_thread/thread/e8508d4535c81d2b/2cca1b45b182ceff%232cca1b45b182ceff
[4]What is the difference between SSH and SSL?
http://www.rpatrick.com/tech/ssh-ssl/
转自:http://blog.chinaunix.net/uid⑴2072359-id⑵960969.html
上一篇 jvm调优经验分享