计算机身份认证的三种方式

·  阅读 214
原文链接: zhuanlan.zhihu.com

计算机安全是人与计算机交互很重要的一个部分,总的来说就是两个问题,“你是谁”和“你能访问什么”,我们使用“身份认证”(Authentication)来解决“你是谁”这个问题,通常来说有三种方式:

① 你知道什么?

你知道什么是指你知道一个只有你和对方知道的秘密,类似电影里面两个秘密组织的人通过“街头暗号”来确认对方身份一样,这也是我们最常用的的一种方式,例如账号密码,百度网盘的提取码,QQ密码找回的密保问题等等

它的缺点就是可以被暴力破解,顾名思义就是不断尝试你所有密码的可能性组合,直到试出正确的密码,比如银行卡密码只有6位,每位有10种可能的数字,总共就只有100万种可能性,如果不设限制,试100万种密码组合对计算机来说是分分钟的事情,所以银行一般每天只能让你试三次来保证你帐户的安全,因为三次就能猜对密码的概率只有极低的0.0003%。

② 你有什么?

你有什么是指你有一个对方认可的特定物体,最常见的就是钥匙和锁的关系,只要谁有钥匙,锁都会认可你这个人,让你进屋。最常见的有SSH Key、Cookie、JWT等等,SSH Key就是你先把钥匙给我,我根据你的钥匙去配一把锁,每次来你就拿这把钥匙开锁就行了,Cookie和JWT就是先让我确认你知道什么(第一种方式),然后我把钥匙给你让你开锁。

它的缺点就是钥匙容易被偷或被复制,比如我只要能打开你的电脑,把你的SSH Key拷贝到我的电脑里面,我就能读写你远程Git仓库里面的东西了,因为它只认钥匙。

③ 你是什么?

你是什么是指直接把你整个人的特征展示给对方,让对方辨识,比如人类通过体型、声音、脸型、说话的习惯等一系列复杂的信息来辨认一个人,但计算机通常处理不了这么多复杂的信息,它一般会选取部分特征,例如指纹、虹膜、声音等来确认你就是你。

这种方式和上面两种方式相比,“你知道什么”和“你有什么”都是确定性的,100%正确或100%错误,指纹识别、脸部识别、虹膜扫描这种生物特征的识别方式是概率性的,比如你指纹磨损了一点,女生化了个妆,计算机就有可能认不出来了。而且还有个问题就是生物特征无法重设,账号密码或者SSH Key这些你都可以重新设定,但指纹、虹膜这些生物特征却会伴随你的一生,一旦被别人复制了你的这些数据,除非你不用生物认证,否则计算机安全问题将会伴随你一生。

④ 总结

每种身份认证的方式各有优劣,都没办法做到100%安全,最好的策略就是多次或多种认证方式混用,比如你的手机被偷了,小偷知道了你的解锁密码(你知道什么),但他还需要你的支付密码(你知道什么)或者指纹(你是什么)才能把你支付宝里的钱顺利转走,这就大大加重了对方的破解成本和难度,以此来保护你的计算机安全。

收藏成功!
已添加到「」, 点击更改