官术网_书友最值得收藏!

2.2 身份驗證

在信息安全中,身份驗證是用于確定身份聲明是否屬實的一系列方法。需要注意的是,身份驗證并不決定被驗證方被允許做什么,這只是一個單獨的任務,稱為“授權”。我將在第3章討論授權。

2.2.1 因子

進行身份驗證有多種方法:你知道的事項、你的特征、你擁有的東西、你所做的事情,以及你所在的位置。這些方法被稱為因子。當嘗試驗證身份聲明時,你將使用盡可能多的因子。你使用的因子越多,得到的結果就越真實。

你知道的事項,這是一個常用的身份驗證因子,包括密碼或PIN碼。但是,這類因子有些弱,因為如果這類因子所依賴的信息被公開,你的身份驗證方法就可能不再唯一。

你的特征,這是基于個人相對特有的身體特征的因子,通常稱為生物識別。雖然生物識別可以包括簡單的屬性,如身高、體重、發色或瞳孔顏色,但這些屬性通常不夠獨特,不足以構成非常安全的識別符。而復雜的識別符,如指紋、虹膜、視網膜圖案或面部特征,則更為常見。它們比密碼要強,因為偽造或竊取物理識別符的副本盡管存在可能性,但更為困難。存在的問題是,生物識別是否真的算是一個驗證因子,或者只構成證實。我將在本章稍后的部分再次就生物識別問題進行更深入的討論。

你擁有的東西,通常是基于物質占有的因子,盡管可以擴展到某種邏輯概念。常見的例子有ATM卡,州或聯邦頒發的身份證或基于軟件的安全令牌,如圖2-1所示[3]。一些機構(如銀行)已開始使用訪問邏輯設備作為身份驗證的方法,如手機或電子郵件賬戶。

036-01

圖2-1 向移動電話發送安全令牌是一種常見的身份驗證方法

這類因子的強度可能會根據實施情況而有所不同。如果想要使用發送到不屬于你的設備的安全令牌,就需要竊取這個設備來偽造身份驗證方法。另外,如果將安全令牌發送到電子郵件地址,攔截起來就會容易得多,而且強度也會大大降低。

你所做的事情,有時被認為是你身體特征的變種,這是基于個人活動或行為的一個因子。這可能包括對個人步態或筆跡的分析,或者對他人輸入密碼時兩次按鍵時間延遲的分析。這類因子顯示了一種強認證方法,不易被偽造。但相較于其他因子,這類因子可能更容易錯誤地拒絕合法用戶。

你所在的位置,是基于地理位置的身份驗證因子。這個因子與其他因子的運行方式不同,需要一個人出現在特定的位置。例如,當更改ATM的PIN碼時,大多數銀行都會要求你進入分行,在那里還將要求你出示身份證和賬號。如果銀行允許在線重置PIN碼,攻擊者就可以遠程更改你的PIN碼,并進一步清理你的賬戶。雖然這類因子可能不如其他一些因子有用,但在不完全顛覆驗證系統的情況下,人們很難對抗這一因素。

2.2.2 多因子身份驗證

多因子身份驗證,是指使用上文中討論的一個或多個因子。當你只使用兩個因子時,有時也稱為雙因子身份驗證。

我們回到ATM示例,它能夠很好地說明多因子身份驗證。在這個示例中,你使用的是你知道的事項(你的PIN碼)和你擁有的東西(ATM卡)。ATM卡既是身份驗證的一個因子,也是身份識別的一種形式。多因子身份驗證的另一個示例是寫支票。在這種情況下,你使用的是你擁有的東西(支票)和你所做的事情(簽名)。此時,開具支票所涉及的兩個因子相當薄弱,所以有時你會看到與第三個因子——指紋一并使用。

根據選定的因子,你可以針對每種情況,組合更強或更弱的多因子身份驗證方案。在某些情況下,雖然有些方法可能更難被擊敗,但實施起來卻不切實際。例如,DNA是一種強大的身份驗證方法,但大多數情況下并不實用。我在第1章中說過,你的安全應該與你保護的對象價值成正比。你當然可以在每個信用卡終端上安裝虹膜掃描儀,但這是昂貴的、不切實際的,而且可能會讓客戶感到不安。

2.2.3 雙向驗證

雙向驗證是一種身份驗證機制,雙方根據該機制對彼此進行身份驗證。這些參與方通常是基于軟件的。在標準的單向身份驗證過程中,客戶端向服務器進行身份驗證。在雙向驗證中,不僅客戶端向服務器進行身份驗證,服務器也向客戶端進行身份驗證。雙向驗證通常依賴數字證書,我將在第5章討論這一點。簡而言之,客戶端和服務器都將擁有一個證書來驗證對方的身份。

在不執行雙向驗證的情況下,你可能會受到假冒攻擊(通常稱為中間人攻擊)。在中間人攻擊中,攻擊者將自己插入客戶端和服務器之間。然后,攻擊者對客戶端仿冒服務器,對服務器仿冒客戶端,如圖2-2所示,繞過正常的流量模式,然后攔截和轉發通常直接在客戶端和服務器之間流動的流量。

038-01

圖2-2 中間人攻擊

這通常是可行的,攻擊者只需要破壞或偽造從客戶端到服務器的身份驗證。而如果執行雙向驗證,這種攻擊將更為困難,因為攻擊者必須偽造兩個不同的身份驗證。

盡管多因子驗證通常只在客戶端進行,但你可以將雙向驗證與其結合起來。從服務器返回客戶端的多因子身份驗證不僅在技術上具有挑戰性,在大多數環境中也是不切實際的,因為這將增加客戶端的技術負擔,甚至可能影響用戶。你很可能會顯著降低生產效率。

主站蜘蛛池模板: 玛沁县| 彭州市| 石城县| 包头市| 铁力市| 平和县| 昌图县| 翁牛特旗| 宁城县| 华阴市| 潼南县| 汨罗市| 柘城县| 当涂县| 阿荣旗| 长宁县| 团风县| 襄垣县| 天水市| 陆良县| 穆棱市| 赫章县| 海伦市| 巴东县| 从江县| 广汉市| 襄垣县| 安溪县| 德昌县| 鄂托克前旗| 南木林县| 望谟县| 西和县| 库伦旗| 通州市| 诸城市| 永安市| 沁阳市| 泾阳县| 荔波县| 滕州市|