為什麼密碼的驗證方式一直沒有得到突破?
新聞:谷歌研發新型安全驗證產品:戒指或將替代密碼
多用戶、多密碼的管理是否已經嚴重影響互聯網的使用體驗?為什麼這些年密碼驗證方式的突破為什麼都沒有得到普及?
有點長,這一段算是摘要吧。身份鑒別技術主要通過知識和實物對客體進行身份鑒別,口令是一種低成本並且準確有效的身份鑒別方式,因此廣泛使用並且難以有很大的突破。本文還談了好的身份鑒別方式的三個特點。身份鑒別技術的突破,或者應當說是創新還是有的,下拉看圖就知道了。多用戶密碼管理確實影響互聯網的使用體驗,因此OpenID應運而生。
身份鑒別是一項遠遠早於網路技術和計算機技術就已經存在的技術,幾千年來人們用於鑒別身份的方法無非就是那麼幾類,不少信息安全的書籍在介紹這些驗證方法表述為三種形式:know something、have something和is something/someone。
能夠判斷「是某人或某物」當然是我們的最高理想,但是從來就沒有出現過一種方法能夠準確無誤的判定「是某人」。在不同的時代,能夠有一些近似的方法,比如說現在我們會把檢驗DNA或者虹膜當作能夠直接確認「是某人」的方法,但是實際上這還是屬於have something的身份認證形式。
know something是一種通過知識來鑒別身份的方法。口令,即我們通常所說的密碼,就是方式的經典代表,已經使用了幾千年,兩千年前的「雞肋」,現代戲曲中的「天王蓋地虎,寶塔鎮河妖」,大家早已耳熟能詳。而have something則是通過擁有一種特定的實物來進行身份鑒別的,像古代的虎符、印章,現在的門禁卡都屬於這種,實物形式的身份鑒別信息應當具有難以複製和偽造的特點。
對於我們現在使用的計算機而言,兩種形式的身份鑒別措施都有,登錄使用的口令屬於know something這類通過知識進行身份鑒別的,而U盾、動態口令卡之類的屬於have something這類通過實物進行身份鑒別的,另外還有一些通過臉型、指紋這類生物特徵進行身份鑒別的技術也是have something這一類。
口令這種方式適合作為身份鑒別信息的特點,除了簡單方便,一個很重要的因素就是容易準確輸入,或者說輸入空間相比於聲音、圖像之類的數據要小很多。口令只需要判斷兩段數據是否相等就可以完成身份鑒別;而指紋、聲音、面部識別之類的方法,輸入的信息是一個不太準確的信息,需要複雜的演算法進行校正、識別、提取特徵,然後才能判斷,因此容易出現誤判的情況。一個例子就是微軟的Xbox面部識別在昏暗光線環境中不能有效識別黑人的面部特徵,無法通過面部識別登錄而被某位黑人告種族歧視,雖然想想覺得微軟挺冤枉的。微軟否認Xbox Kinect涉嫌種族歧視指責
使用have something方法,判斷擁有的事物又可以區分為本身擁有的,以及專門製造發放的信物。上文討論過聲音、面相、指紋這些都屬於使用者本身擁有的事物,而U盾和動態口令卡之類的實物硬體則是專門製造用於身份鑒別的信物。專門製造的信物成本自然是高,但是安全也比較好,不容易複製和偽造,配合口令使用則具有很高的安全性,所以一般會在像網銀這樣安全級別比較高的場合使用。而聲音、面相和指紋的例子已在上一段中討論。補充說明中說的戒指也是一種實物方式,感覺和U盾之類的東西沒有什麼太大的區別,只是可以佩戴在身上而已。
所以,總結上文討論,一種好的身份鑒別方式應當具有這樣的一些因素:
- 準確可靠鑒別客體,受到外界因素影響較小;
- 用於鑒別的憑證(知識或實物)不易被複制和偽造,成本也不宜過高;
- 容易輸入,而且能夠進行秘密輸入;
而我們現有的身份鑒別方式中,口令這種方式以滿足上述所有因素並且成本最低,理所應當的成為我們最常用的身份鑒別方式,而U盾、動態口令卡等方式在權衡所保護財產的價值以及自身成本的情況下,也可以算是一種比較合適的通過實物進行身份鑒別方式。聲音、面部識別的準確度並沒有那麼高,常常需要配套一個等同於口令的方式(如安全問題)輔助,在工作不正常的時候使用,但是這些問題如果較長時間不使用是很容易忘記的,更不用說聲音相近、相貌相似的人大有人在這樣的問題。而秘密輸入聲音無法具備,阿里巴巴偷聽咒語偷取財寶的童話故事大家應該都聽過。
以上說的是口令這種身份鑒別方式為什麼會被廣泛採用,至於突破,我覺得還是有的,舉幾個例子。
驗證碼也算是一種身份鑒別技術,只不過鑒別的粒度不是一個客體,而是一類客體,通俗的說就是用來區分人和機器,而不是區分人和人。如果要用文章開頭的那幾種方式歸類,我覺得都不算,應該單列一種can do something,有能力做某事,如果非要把這個等價於have ability to do something,從而算作have something的話,那好吧。也可以用上面這類驗證碼區分具體某一類的人,總之驗證碼能夠對一類人的身份進行鑒別,在不少場合還是很有用的。
也可以用上面這類驗證碼區分具體某一類的人,總之驗證碼能夠對一類人的身份進行鑒別,在不少場合還是很有用的。還有一種我覺得算是突破的身份鑒別方法是Android的鎖屏,九點圓點用線連起來(圖片來自:手機中繪圖密碼有9個點,最多能畫出幾個交叉點?)。算是近期出現的安全級別相當於口令,並且能夠滿足上文所述三條特性的一種身份鑒別方法了。
補充說明還提到了一個問題,多用戶密碼的管理是否會影響用戶體驗,這一點顯然是會影響。一百個網站記憶一百套用戶名和口令,誰也不能保證能夠記住,必然會在很多地方重複使用同一個口令。而且大多數都是小型網站,有一些網站訪問的頻率還是會很低,我們甚至還但是小網站是否會因為技術不過硬或者其他非技術問題泄漏我們的口令。所以OpenID這種方法應運而生,通過一個第三方平台的ID登錄,我只需要向這個第三方平台核對訪問者的信息就可以了,過程完全不用用戶參與,可以免除記憶口令、方便用戶,減少小型網站維護這些數據的負擔,在社交行為覆蓋整個網路的環境中,還非常有利於信息的分享和傳遞。
認證手段經常被總結成「我知,我有,我是」。
第一種典型是密碼,第二種典型是ukey,第三種典型是指紋。
第一種最大的優勢是只要有文字輸入設備就夠了。第二種和第三種受限於輸入設備介面還有攜帶方便性。要同時做到多種終端都能登錄,最容易的就是「我知」。除了密碼,其他的也有,比如小學第一個老師是誰。
發展的方向有幾個。
1. 第三方登錄,只要有幾個大的密碼記住就行,例如微信號登錄其他app或網頁(例如懶人聽書,咕咚運動)
2. 將我知轉換為我是。例如指紋登錄淘寶。指紋與密碼間的對應關係交給操作系統或app
3. 密碼集中管理。ios和osx提供這樣的功能,每個應用都由操作系統生成和管理密碼。還有類似onepassword之類的應用app
4. 多因子認證。同時綁定設備,sim卡,密碼,ukey,指紋等到一個賬戶,認證時必須同時滿足幾個匹配一方面,用戶希望足夠簡單,因為越複雜的越容易被忘記。這是人性。
另一方面,密碼其存在的價值在於避免非授權使用,在保持唯一性的同時,還要避免被破解,即有足夠的強度。而唯一性及強度通常都與複雜程度呈正相關。這是科學。
要設計出這樣一個密碼體系,你說難不難?
因為口令指存在於你的大腦里,這樣墜安全。
因為安全與便捷是一對矛盾體,很難找到二者完美的平衡點。
如果樓主能看得進去英文文獻的話,請移步Oakland此文:http://www.cl.cam.ac.uk/~fms27/papers/2012-BonneauHerOorSta-password--oakland.pdf
大致意思和樓上說的都比較類似,就是安全性和實用性有些時候不可兼得,所以還沒有一種方式能完全取代密碼。文章里列舉了具體的安全性和實用性的指標,供樓主參考~
贊同@馮陵的答案,但是需要補充的是,其實用戶需要的是簡單的使用方法,用戶並不介意簡單操作背後的複雜。所以難度在於如何將複雜度高的密碼使用簡單的方式使用,同時又不會很大程度上降低密碼本身的安全性。
諸如指紋,虹膜這類應用走的是利用人體自身的物理特性,而諸如1Password之類的應用走的是「將不同密碼的安全性要求轉化為對特定密碼管理的應用的安全性要求「,通過」一次設置,永久使用」的方式來方便用戶使用密碼。
之所以這兩種方式都沒有絕對的優勢橫掃整個市場,是因為仍然需要第三方的介質(指紋掃描儀、密碼管理應用等)才能完成密碼的使用(其實根本目的是完成對使用者身份的識別),這本身還不夠方便。
如果哪一天這個介質不再需要,在基本任何的使用環境下,都只需要用戶本身就夠了,那才能出現真正的席捲整個市場的情況。我覺的是需求和成本之間的問題,現在很多公司都用Ukey 指紋之類的作為密碼,所有公司相關東西都跟ukey 或指紋綁定,很方便的,當然你為此付出額外的成本吧了,對公司來說是划算的,但是現在對很多個人來說還是有人覺的沒必要。
拋開具體的原因,從技術發展的趨勢來說。大突破往往並不受歡迎。而技術本身的自由發展會達到一種設計者沒有意識到的平衡。比如說,非一致性內存訪問被認為是多核計算的最終解決方案。不過後來沒實現,但是目前的 GPU + FrameBuffer + CPU + main-memory 也算是非一致性內存的變種。
再回來說密碼,其實密碼驗證的用戶體驗一直在做小幅改進。比如說,把一些有時效性的不容易被截獲的信息存儲在設備上,就可以在一定時間內取消密碼驗證。比如網站的「記住登錄狀態」,或者 app-specific password。這種簡單又安全的方式比大費周章的開發硬體不是更好么?各家各自為戰,硬體普及率低。
向大神學習,之前讀書時候破解過一些網站的,現在已經不幹了,但是非常注重自己的站的安全,如果做到上面大神說的方法不是那麼簡單就能拿下。
但是沒有拿不下的網站,美國大選都被爾羅斯給黑了呢。
扯遠了,其實就是在想,密碼說白了就是證明你是你。是我本人登錄,是本人付款。
除了向大神說的那些,眼下比較火的支付寶黑科技,面部識別,那我說面部識別我們單位有部識別攝像頭用於打卡,我裝點什麼邊上能偷錄下什麼,另外我曾經用一本雜誌大小的照片騙過我們單位的面部打卡機,那麼支付寶的面部識別還有用嗎?錄下的視頻完全可以眨眼啊,以及之前火熱的破解釘釘,雖然我們單位老總不用這噁心的玩意。
說白了,自己的安全意識最重要了。
反正我一般不會在外面登錄任何有錢的網頁,一網路安全哥們明確表示現在 有路由劫持網頁行為,哈哈,要是在江漢路什麼的大街上放個免費熱點就等你們用,但是登錄淘寶 知乎 等等就劫持到假的登錄界面,那麼一天可以收穫多少各類登錄密碼?
可恥匿,快來人反對我。
密碼認證的本質是用於判斷:你是誰?
兩個方面:1. 是不是本人。2. 是不是其他人。
複雜度的增加主要是用於排除其他人。今後與硬體(你擁有的設備)或生物特徵綁定,可以減少驗證複雜度。
也許未來的FIDO會消除密碼,同時也提高安全性。
FIDO的目標是創建一套開放的標準協議,保證各個廠商開發的強認證技術之間的互操作性,改變目前的主流在線驗證的方式(即使用密碼作為主要驗證手段),消除或者減弱用戶對密碼的依賴。對於互聯網公司來說,隨著重大數據泄露事故的頻發,過去基於密碼的在線身份驗證技術已經難以維持互聯網經濟的穩定發展,安全界關於"密碼已死"的呼聲越來越高。而FIDO聯盟正是在這個背景下應運而生的一個推動去密碼化的強認證協議標準的組織。
FIDO的會員包括Nok Nok Labs、Google、BlackBerry、ARM、英特爾、PayPal、Lenovo、MasterCard、三星、VISA、Synaptics、RSA、微軟等等。支付寶也於今年9月份左右加入的FIDO組織。
FIDO標準支持多種硬體設備,如U盤(或U盾)、NFC晶元、TPM(可信賴平台模塊)晶元,以及指紋掃描器、語音識別、臉部識別、虹膜識別等生物識別硬體。目前的草案內容主要針對的是USB設備。
想像有人能成立一家密碼服務公司,能向政府和銀行取得個人身份信息庫,例如指紋和信貸額度。簡化所有賬號的註冊和登錄流程。
以現有的蘋果touch ID為例,今後所有網站註冊可輕鬆按下touch ID,身份數據自動抓取匹配建立,不用一遍一遍填郵箱設置帳號和密碼,所有網站和設備都可以用touch ID輕鬆登陸(連賬戶都不用輸)。
然後以極低的價格向各網路公司收費盈利,今後不用記各種密碼,擔心被盜號了。
當然統一設備不太現實,未來也行有很多種識別方式,比如虹膜、指紋。也會有很多識別終端,比如touch iD,**ID。密碼識別服務公司需要整合資源,為不同商家提供一個統一的平台和介面。不能通用;沒錢打造更好的(打造了用戶也不買賬)
從設計方面來說經典既是永恆除非是一次具有非凡意義的變革否則不會輕易嘗試。
謝謝邀請,@馮陵已經回答的很好了,目前的方式是相互矛盾的,易用和安全不可兼得. 要想完美的解決,只能期待出現一個顛覆式的創新.
推薦閱讀: