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