SSL/TSL到底是属于哪一层的协议?

前言:

之前有个误解,我一直以为SSL是属于应用层的,因为HTTPS用的就是它嘛。直到笔试遇到了一题选择题,把SSL归到了运输层,我就犹豫了。我需要确切的答案。

首先我查看《计算机网络第七版》,P345:

.....像上述这些服务,需要使用运输层的安全协议。现在广泛使用的有两个协议:

  • 安全套接字SSL
  • 运输层安全TLS
    ......SSL协议是Netscape公司在1994年开发的安全协议,广泛应用于基于万维网的各种网络应用(但不限于万维网)。SSL作用于在端系统应用层的HTTP和运输层之间...

然后在同一页的底部:

因为SSL增强了TCP服务(更加安全了),因此,SSL应该是运输层协议。然而实际上,需要使用安全运输的应用程序(如HTTP)却把SSL驻留在应用层。

按书上的话,那SSL应该属于运输层了。但是这应该两字让我又上网查了一下,发现各种说法都有:会话层、表示层、介于两层之间...都有。

于是我就上Stack Exchange,找到两个提问,以下内容为两个问题中自己的部分翻译(只保留原文,不掺杂自己的评论,翻译得不好见谅哈,原链接也有,可以直接看。(2021年更新:由于简书的傻逼锁定文章机制,链接不得已去除了。)):

1. What layer is TLS?

Q:
TLS 代表着 “运输层的安全性”。并且在IP协议号列表中 “TLSP” 是作为 “运输层安全协议” 的。这两点让我相信 TLS 是一种运输层协议。

但是,大多数人似乎都在谈论TLS是TCP上的。维基百科将其列为 “应用层” 协议。由于TCP没有像协议号这样的东西,这更加复杂:它只是打包原始字节,所以如何解析你得到的TLS数据包,而不是刚开始为0x14 - 0x18或类似的数据包?

A1:
OSI模型,将通信协议分类为连续的层:嗯...它只是一个模型。它试图将现实世界用整齐定义的框框来表示。但没有人能保证它一定有效......

回顾历史,当ISO推动采用自己的网络协议时,该模型就已经建立并发布。但是他们失败了。作为一个整体世界,更倾向于使用更简单的TCP / IP。ISO模型的生态系统死亡了,但这“模型”却幸存了下来。许多人试图用它来理解TCP / IP。甚至以这种方式来教授。但是,这个模型与TCP / IP是不匹配的。TCP / IP中的有些东西不适合放到ISO模型具体的哪一层中,SSL / TLS就是其中之一。

如果你看了协议细节:

  • SSL / TLS使用提供双向字节流的底层传输介质。那会把它放在第4层之上。

  • SSL / TLS将数据组织为记录,特别是可能包含握手消息数据。而握手消息看起来像是在第5层。这会将SSL / TLS放在第6层或第7层。

  • 但是,SSL / TLS传送的是“应用程序的数据”,实际上是双向字节流。使用SSL / TLS的应用程序确实将其用作传输协议。然后,他们在“应用程序数据”中使用自己的数据表示、消息以及语义。因此,在OSI模型中,SSL / TLS不能超出第4层。

因此,在OSI模型中,SSL / TLS必须在第6层或第7层,同时在第4层或更低层。不可避免的结论是:OSI模型不适用于SSL / TLS。TLS不在任何层中。(这并不妨碍某些人在任意一层中使用TLS。它没有实际的影响 - 这只是一个模型 - 你可以在概念上说TLS是第2,5甚至17层的都可以,没人可以证明你说的不对。)

A2:
对于TCP / IP模型:

  • 链接层
  • 互联网(IP)层
  • 传输层
  • 应用层

TLS在传输层应用层之间运行。实际上它只是在传输过程中将应用层数据包装在加密中。

TLS密钥交换发生在层与层之间。这里并不是传输层,因为端口号和序列号之类的东西已经存在于传输层了。它只发送数据来建立加密协议,以便它可以包装应用层。

对于OSI模型:
OSI模型具有更细的粒度。

  • 物理层
  • 数据链路层
  • 网络层(IP)
  • 传输层(TCP)
  • 会话层(TLS)
  • 表达层
  • 应用层(HTTP)

TLS建立加密会话。在OSI模型中,这是TLS运行的地方。它设置其会话,并为应用层(HTTP)添加一层加密。

2. Where does SSL encryption take place?

Q:
我使用Firebug检测了HTTPS网站(gmail.com)的数据传输。但我看到我提交的数据(用户名和密码)的并没有加密。SSL加密到底在哪里做的?

A:

SSL协议实现为HTTP协议的透明包装。就OSI模型而言,它有点像灰色区域。它通常在应用层中实现,但严格来说是在会话层中。如下所示:

  • 物理层(网络电缆/ wifi)
  • 数据链路层(以太网)
  • 网络层(IPv4)
  • 传输层(TCP)
  • 会话层(SSL)
  • 表示层
  • 应用层(HTTP)

请注意,SSL位于HTTP和TCP之间。如果你想看到它的实际效果,请抓包一个用HTTP协议的网站,再抓包另一个用HTTPS协议的网站。您将看到使用HTTP协议网站的请求和响应都是纯文本,但HTTPS协议的网站是加密。您还可以从数据链路层向上看到数据包一层层的拆分。

更新:有人指出(见评论)OSI模型过于概括,并不适合这里。这说得没错。但是,使用此模型是为了说明SSL位于TCP和HTTP之间的“某处”。严格上它不是准确的,是对现实的一种模糊抽象。

下面是这条答案的评论:

  1. 不能与OSI模型相比较。TCP / IP模型本身并不完全匹配该模型(请参阅Wikipedia文章的TCP / IP部分的详细信息)。- Bruno

2.@Bruno 我不确定你说的。TCP / IP是一套网络协议,而TCP和IPv4是OSI模型中各个层的不同协议。在这个例子下,OSI模型是一个很好的抽象,因为它显示了SSL的大概位置。不需要100%准确 - 没有任何关于这种抽象的东西 - 它只是帮助理解。- Polynomial

3.@Polynomial 我只是说OSI模型被广泛传授作为一个理论概念,但TCP / IP协议栈(最常用的协议栈之一)明确地不适合该模型。事实上,维基百科页面将SSL / TLS放在第6层(表示层)中,而不是像你的答案那样。传播OSI模型在许多情况下实际上没有帮助,并且该层可能非常“人为”("artificial")。它只是一个模型,它总是由人决定的,模型并不总是与现实世界相匹配,就像你硬要把VPNs协议归到某一层一样不适合。同样的SSL / TLS也不合适 - Bruno

4.@Bruno 正如我们讨论的那样,TLS并不适合OSI模型中的任一层。严格来说,它是第7层,而不是5或6。但就网络协议封装而言,它位于TCP和应用程序之间,因此5和6是有意义的。5和6之间的区别也是一个灰色区域,因为TLS不仅仅是加密数据。所以,正如我之前所说的,这是一个简单的说明,只是为了在实际意义上表达它在网络协议栈中的大概位置。

哈哈哈,有趣有趣,相信看完后有了进一步了理解,有空再将翻译完善完善,把其他一些答案也翻译出来。

总结

从上面的答案中我总结了以下几点:

1.OSI模型不适用于SSL,不能100%准确的说在哪个位置。只能表示SSL的大概位置。用于帮助理解。
2.SSL作用于应用层和运输层之间。如果硬要说在哪个位置,那就是:会话层

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容