我們從未像現在這樣接近無處不在的全局身份(ID)。在雙因子身份驗證(2FA)/多因子身份驗證(MFA)的加持下,好處盡在掌握而風險得到控制。
ID,曾是計算機安全防御方面唯一重要的安全邊界。只要可訪問多個域的1個登錄憑證被盜,物理邊界、防火墻邊界、安全域、虛擬網絡等等,全都不再重要了。
今天的ID解決方案,可以1個憑證就訪問成百上千個不同的安全域,但同時又保持處于整體風險很低的狀態。這是怎么做到的呢?
ID技術早期
在計算機和網絡技術早期,大多數人都只用1個登錄名&口令對來訪問全部資源。由于1臺計算機被感染,就會導致共享該相同登錄憑證的其他所有計算機也遭殃,這種1個憑證走天下的做法被證明是非常糟糕的策略。每個人都被建議為自己訪問的各個系統創建不同的口令。
ID技術中期
隨著大多數人如今都需要用口令訪問幾十上百個不同資源,若要每個資源用單獨的口令,就會要求要么把口令全都寫下來,要么用口令管理器把所有口令存儲下來,在訪問時自動登入,要么采用某種形式的單點登錄(SSO)解決方案。
SSO解決方案在企業里非常盛行,口令管理器則在家庭用戶中間非常普遍。但這兩種類型的解決方案無法在全部的安全域和平臺中適用。一些廣泛應用的SSO解決方案被創建出來,比如微軟的Passport服務和去中心化的OpenID標準。盡管全球采用的承諾很誘人,所有中期SSO解決方案沒有一個真正成功了。
當今的ID技術
社交媒體殺手級App,比如Facebook和推特,無情碾壓過其他ID競爭失敗者,方產生了ID大戰中的新勝者。龐大的用戶數量,確保了他們無論使用哪種解決方案和協議,最終都會成為全球通行方案。新的全局ID標準和解決方案幾乎一夜之間冒頭。至少,在ID觀察者眼中是這樣的。
新解決方案并非總能獲得全球認可。這個世界上,還有很多聰明專注的人,長期以來都在磨礪其他可能更棒的解決方案,這部分人感受到了深深的傷害。但都不重要了。要么吸收,要么落后。
最初的陣痛過去后,紛爭平息,強勢的新標準最終被認為是不錯的東西。結果就是,我們可供選擇的SSO身份驗證標準更少,但更廣為接受。而且這些標準在企業和消費者兩種平臺中都能應用。
說到今天的ID解決方案,下列協議和解決方案簡直信手拈來,沒用過也聽過:Facebook的 Graph API、OAuth、OpenIDConnect、xAuth、SAML、RESTful和FIDO聯盟。數十年的嘗試過后,通用ID的世界終于達成。很多網站上,你可以用Facebook、推特或喜歡的 OAuth/xAuth SSO 來驗證身份。互操作問題依然存在,但這些障礙正飛速瓦解。
今天,你可以使用口令、手機、數字證書、生物識別特征、2FA或MFA SSO解決方案,來登錄各種網站。每個ID都有不同的“屬性”或相關“聲明”,關聯至1個或多個受信設備,有不同的保證級別,可用于不同的網站。
當然,目前并非全部網站都接受了SSO,但我們距離這一將來并不太遠。不過,我們真的想要嗎?
我們大多數人都會有用不同身份應對不同事務的需求。比如說,大部分人都有工作和私人賬號。我的工作要求能隨時保有所有工作相關內容,甚至要能夠在雇傭終止時立即清除所有工作內容。同時,我并不希望工作上的管理員可以訪問我在家庭電腦上的個人內容瀏覽歷史。我不想讓自己的個人文檔出現在工作計算機上,反之亦然。這種情況在當前全局ID無孔不入的大環境下,還是經常發生的。比如說,家里小孩把iPod插入大人工作電腦充電,iTunes就自動同步大人的工作文檔到小孩iPod上——很驚悚,很危險,但經常發生。
完美單一ID
如果能用1個全局ID暢行不同“身份”,比如“工作的你”、“家庭的你”……;能1個ID應用到不同用例場景;能確保不同內容和資源各自隔離;那世界就完美了?;蛟S未來能實現,但目前恐怕還沒走到這一步。
單點登錄引入更多風險?
或許你會擔憂,1個統一的ID(或者更少但更通行的ID),會不會意味著一旦該ID被盜,所有內容都曝光在黑客眼中,后果嚴重到不堪設想。畢竟,用單點登錄,跟用同一個口令登錄所有注冊網站,從哪方面看都太像了。難道我們繞這一大圈,只是為了走回原點?
只要做對了,多半是不會繞一圈又繞回老問題的。
如果你用的全局ID從源頭就被黑了(比如ID提供商),被黑ID有可能被用在更多地方,風險自然更大。舉個例子,壞人拿到了你的Facebook登錄名和口令,你所有用Facebook賬戶憑證登錄的地方他就都能訪問了。
但這也正是Facebook,以及大多數其他流行社交站點和身份驗證提供商,主推更強壯的2FA和MFA解決方案,而你也應該使用2FA/MFA的原因所在。這樣一來,即便黑客獲取了你的口令,他也得不到(至少不會立即獲得),你身份驗證所需的第二個因子或物理設備。
另外,大多數全局ID解決方案,并不會在所有參與站點上使用單一身份驗證令牌。相反,你的“全局令牌”被用來創建特定于各站點/會話的身份驗證令牌,令牌間不存在交叉使用的情況。這意味著,即使你用全局身份驗證令牌登錄的某個站點被黑客攻破,該令牌也無法應用到其他站點上。這是雙贏解決方案,比共享口令好多了。
生物特征識別的隱憂
其實不擔心生物特征識別的隨意使用,或者無需擔心生物特征不定哪天就被存儲到每個人的全局ID賬戶中。生物特征識別技術從來都不像表現出來的那么神奇。它們根本沒有號稱的那么精確,很容易被偽造,還經常罷工(手上有汗或者稍微臟點兒的時候去按按指紋打卡機試試,你老板會很樂意扣你全勤獎的)。
但假設你是個指紋識別忠實粉絲,你想用指紋訪問任意網站,然后你挑了個能接受指紋的全局身份驗證提供商。聽起來很棒的主意。但是,一旦我們開始在全局ID中存儲指紋,攻破了該ID提供商的攻擊者就將獲得你的指紋——永久性的。他們有可能以你的名義,橫行在所有接受你指紋的其他網站上。畢竟,你又不可能把自己的指紋改掉。
目前為止,有兩樣東西在阻止生物特征ID盜竊問題蔓延(除了生物特征識別技術并未在手機和筆記本之外的很多用例中被接受的事實)。其一,大多數生物特征都是本地存儲并使用的。這意味著黑客必須實地接觸到你的設備,才能破解并拿到你的生物特征ID。而且,即便他拿到了,該生物特征也用不到其他設備上。
其二,一旦你使用生物特征ID登錄,此后的身份驗證就是:驗證系統使用上述討論過的其他身份驗證方式之一。除了你的指紋,還用一些其他身份驗證令牌。你的生物特征ID一般是不離開你的本地設備。而如果人們開始過度依賴全局生物特征識別身份驗證,這種情況就會發生變化了。
總結
我們從未像現在這樣接近無處不在的全局ID。目前的最佳實踐是:對全局ID啟用2FA/MFA。這樣才能利益最大化而風險最小化。