????????关注后回复 “进群” ,拉你进程序员交流群????????
作者丨车小胖谈网络
来源丨车小胖谈网络(ID:chexiaopangnetwork)
一位同学问了一个这样的问题,图片中“传输加密”是什么意思?
计算机网络里的场景,如果不使用非常专业的名词来描述,是非常让人迷惑的。根据上下文可以推测,这里的“传输加密”并不是传输层加密(Transport Encryption/四层加密),而是数据链路层的加密(Data Link Encryption/二层加密)。
Captive Portal认证
换句话说,使用Captive Portal方式认证,即弹出Web页面认证,使用的是开放模式(Open)的认证方式,即使Captive Portal认证完,也仅仅是让用户可以上网访问资源。但是Captive Portal认证,无线的链路层是没有加密的。如果用户的流量本身是加密的,比如HTTPS,那么用户流量是安全的。但是如果用户的流量本身是不加密的,比如HTTP,那么用户的流量是明文传输,是不安全的。
802.1X认证
通常企业员工会使用802.1X认证,安全套件是WPA2-Enterprise。当Radius认证服务器认证完用户的合法身份后,与用户Client共同推导出了一个共同Key。但是Radius认证服务器知道这个Key,Client也知道这个Key,但是AP Controller不知道,AP也不知道这个Key。
有同学会问,为何要AP知道这个Key啊?
因为AP要用这个Key来加密/解密与Client之间的流量,所以AP/AP Controller必须知道这个Key。那怎么才能将Key分享给它们呢?
Radius认证服务器,用Radius消息将Key加密传输给AP/AP Controller就可以了。一旦Client与AP/AP Controller拥有了一个共同的Key,双方就可以使用4-WAY 握手完成最终加密/解密Key的推导,然后流量就可以加密了。
所以802.1X认证比Captive Portal认证安全,是因为它在无线链路层完成了加密。一切看起来非常简单,如果把背后的细节真正搞明白,计算机网络已经学得很好了。我的问题来了:
Client是如何找到Radius认证服务器的?
Client是如何与Radius认证服务器完成相互认证的?
Client在认证完成之前并没有IP地址,是如何与Radius认证服务器通信的?
Client是如何与Radius认证服务器分享一个Key的?
如何保证Key的传输安全?
AP/APController在Client与Radius认证服务器打得火热时,它们在干啥?
以上6个小问题,牵扯了中继(Relay)、代理(Agent)、DHE算法、TLS安全传输以及一点点Radius知识。如果平时呼吁大家去学习TLS,大家一定会觉得很枯燥。但是如果告诉你,学好了TLS,以上的小问题将迎刃而解,是不是有点动力了?
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
点击????卡片,关注后回复【面试题
】即可获取
在看点这里好文分享给更多人↓↓