有时候我也经常分不清什么事鉴权, 什么事加密。仔细想想, 想通了, 跟大家分享。
举例, 两个国民党甲和乙特务需要传递一个机密国宝,想要盗出大陆, 他俩从没有见过面。特务甲把这个国宝所在一个盒子了, 上了一把锁, 通过中间人给了特务乙一把钥匙,并约定了接头的时间和地点。某天他们见面了, 特务甲说“天王盖地虎”,特务乙说“宝塔镇河妖”,甲又说“磨合磨合”。这就完成了接头, 然后甲把装着国宝的带锁的盒子给了乙, 接头完成。他们之间特务的对话,就是一个鉴权的过程, 他要认定, 你是不是我要发东西的人, 确认之后, 鉴权完成。而之后甲把带锁的盒子给乙, 乙拿钥匙打开锁的过程就是加密与解密的过程。这里就可以看出鉴权与加密的区别,鉴权的目的, 是非了区分对方是非是自己要找的人或物。加密是与对方事先商量好一种策略, 使信息能够被传递, 而且不被外人偷听或盗取。
具体体现在wlan领域中,WEP, WPA为加密模式, 也就是说它不需要鉴权, 无论是谁, 只要你有密码,那, 我就给你提供接通服, 不分敌我。如果你是敌人, 那你就要有破解密码的本事了, 否则即使我发给敌方东西, 敌方也解不开。
wep是以数字为基础进行加密, 也就是说密码由数字组成。wpa是以字母数字等为基础加密,为什么wpa比wep安全呢? 数字只有10个, 字母加数字可多了去了。
802.1x是一种鉴权认证标准, 其中最严格的如eap-tls协议。必须要对端提供认证证书,来证明你是和我一伙的。举例, 有天你正在家里睡觉, 忽然有人敲门, 你一开门, 看到一带红袖标的老太太大喊“查暂住证!”这里要提到另一个概念, 双向认证, 凭什么你来查暂住证啊?你是警察吗? 请你先出示警察证。对方老太太看没办法, 搬来了警察, 亮出了警察证, 你一看, 是真的, 这时你回去把已经办好的暂住证拿了出来, 对方看了几眼, 认为没问题走掉了,这就是一个双向认证的过程, 谁说什么都没有用, 一定要有证件在手, 否则面谈。
这个证书在tls里就表现为cert。MD5, MSCHAP1, MSCHAP2,GTC,PAP这些都是加密方式, 并不认证用户。TLS, PEAP, TTLS是认证方式, 他们的作用就是鉴定用户真假, 但并不加密数据。TLS-安全传输层协议 就是根据双方数字证书来建立安全的传输, 因为双方证书在手, 所以非常的安全。PEAP与TTLS是简化版的tls,简化掉了证书的验证,也就是说不再需要提供证书。但是必须提供用户名和密码。
为什么会出现peap与ttls?
tls确实非常安全, 无以传输伦比, 可是有着致命的问题。
为了安全性, 牺牲掉了易用性, 一个东西太安全了, 以至于没有几个人会用,导致维护费用居高不下, 那么也就没有了推广利用的价值。以现在流行的ADSL为例, 他们采用的是chap,也就是用户名密码认证。如果改为tls认证, 那么你办理adsl的时候就需要带个u盘, 把证书拷回家, 以后每次上网的时候都需要把你的u盘给挂上, 而且证书过一段时间就会失效, 让你隔三差五的往营业厅跑,用户疯了, 运营商也疯了。这个例子只是想表明, 并不是所有东西都越安全越好, 安全是以成本为代价的。例如网上银行,网上购物, 需要非常的安全, 那么这就证实数字证书以及tls大显伸手的地方。
为了简化流程, 增强易用性,顺应潮流 peap,ttls诞生了,他们的安全性不及tls,可是非常易用, 非常容易推广,所以目前peap, ttls比tls 使用的多得多, 成本也较低。
ttls为什么叫隧道传输协议?
无线客户端连接无线路由器的开始的时候, 理论上在没有认证客户端是不是非法用户前, 无线路由器不应该让客户端接入任何一部分网络, 但是为了实现认证, 路由器临时建立一条从无线客户端到认证服务器的通路, 也就是说, 你只能先接到认证服务器, 如果认证通过, 那么恭喜你, 你可以介入到其他网络的部分, 如果不能够通过热认证, 那么客户端那里也无法访问, 全部被限制。因此ttls是通过了一条隧道通路, 故称之为隧道传输协议。
peap与ttls原理是一样的, 二者是竞争关系, 是不同的厂家联盟提出的隧道技术标准而已, 本质是一样的。微软更推崇peap.
再简单介绍一下MD5, MSCHAP1, MSCHAP2,GTC,PAP,MD5,采用哈希算法, 以512位为单位进行加密验证。MSCHAP1, MSCHAP2是微软版本的多次握手加密认证。GTC, PAP最简单的以固定的词组为单位进行加密, 易被破解。有人问既然peap和ttls都是需要密码的, 那么和MD5, MSCHAP1, MSCHAP2,GTC,PAP有什么区别?MD5, MSCHAP1, MSCHAP2,GTC,PAP是统一的密码加密, 所有人都是一样的密码。peap和 ttls是针对不同的用户, 核对不同的密码。
请问认证和鉴权有什么本质区别?
个人理解,认证偏向于身份的确认,即是不是这个人,而鉴权偏向于对象权限的认定,即这个人是否有这个权限,所以适用的场所肯定是不一样的
Authentication: The act of verifying the identity of an entity(subject).
Authorization: The act of determining whether a requesting entity(subject) will be allowed access to a resource(object).