以前一直傻傻分不清各種網(wǎng)際應(yīng)用中 authentication 和 authorization, 其實很簡單:
這兩個術(shù)語通常在安全性方面相互結(jié)合使用,尤其是在獲得對系統(tǒng)的訪問權(quán)限時。兩者都是非常重要的主題,通常與網(wǎng)絡(luò)相關(guān)聯(lián),作為其服務(wù)基礎(chǔ)架構(gòu)的關(guān)鍵部分。然而,這兩個術(shù)語在完全不同的概念上是非常不同的。雖然它們通常使用相同的工具在相同的上下文中使用,但它們彼此完全不同。
身份驗證意味著確認(rèn)您自己的身份,而授權(quán)意味著授予對系統(tǒng)的訪問權(quán)限。簡單來說,身份驗證是驗證您的身份的過程,而授權(quán)是驗證您有權(quán)訪問的過程。
認(rèn)證
身份驗證是關(guān)于驗證您的憑據(jù),如用戶名/用戶ID和密碼,以驗證您的身份。系統(tǒng)確定您是否就是您所說的使用憑據(jù)。在公共和專用網(wǎng)絡(luò)中,系統(tǒng)通過登錄密碼驗證用戶身份。身份驗證通常通過用戶名和密碼完成,有時與身份驗證因素結(jié)合使用,后者指的是各種身份驗證方式。
身份驗證因素決定了系統(tǒng)在授予訪問文件和請求銀行交易之外的任何內(nèi)容之前驗證某人身份的各種要素。用戶的身份可以通過他所知道的,他擁有的或者他是什么來確定。在安全性方面,必須至少驗證兩個或所有三個身份驗證因素,以便授予某人訪問系統(tǒng)的權(quán)限。
根據(jù)安全級別,身份驗證因素可能與以下之一不同:
單因素 身份驗證 - 這是最簡單的身份驗證方法,通常依賴于簡單的密碼來授予用戶對特定系統(tǒng)(如網(wǎng)站或網(wǎng)絡(luò))的訪問權(quán)限。此人可以僅使用其中一個憑據(jù)請求訪問系統(tǒng)以驗證其身份。單因素身份驗證的最常見示例是登錄憑據(jù),其僅需要針對用戶名的密碼。雙因素身份驗證 - 顧名思義,它是一個兩步驗證過程,不僅需要用戶名和密碼,還需要用戶知道的東西,以確保更高級別的安全性,例如ATM引腳,用戶知道。使用用戶名和密碼以及額外的機(jī)密信息,欺詐者幾乎不可能竊取有價值的數(shù)據(jù)。多重身份驗證 - 這是最先進(jìn)的身份驗證方法,它使用來自獨立身份驗證類別的兩個或更多級別的安全性來授予用戶對系統(tǒng)的訪問權(quán)限。所有因素應(yīng)相互獨立,以消除系統(tǒng)中的任何漏洞。金融機(jī)構(gòu),銀行和執(zhí)法機(jī)構(gòu)使用多因素身份驗證來保護(hù)其數(shù)據(jù)和應(yīng)用程序免受潛在威脅。
例如,當(dāng)您將ATM卡輸入ATM機(jī)時,機(jī)器會要求您輸入您的PIN。在您正確輸入引腳后,銀行會確認(rèn)您的身份證明該卡真正屬于您,并且您是該卡的合法所有者。通過驗證您的ATM卡引腳,銀行實際上會驗證您的身份,這稱為身份驗證。它只是確定你是誰,沒有別的。
授權(quán)
另一方面,授權(quán)發(fā)生在系統(tǒng)成功驗證您的身份后,最終會授予您訪問資源(如信息,文件,數(shù)據(jù)庫,資金,位置,幾乎任何內(nèi)容)的完全權(quán)限。簡單來說,授權(quán)決定了您訪問系統(tǒng)的能力以及達(dá)到的程度。驗證成功后,系統(tǒng)驗證您的身份后,即可授權(quán)您訪問系統(tǒng)資源。
授權(quán)是確定經(jīng)過身份驗證的用戶是否可以訪問特定資源的過程。它驗證您是否有權(quán)授予您訪問信息,數(shù)據(jù)庫,文件等資源的權(quán)限。授權(quán)通常在驗證后確認(rèn)您的權(quán)限。簡單來說,就像給予某人官方許可做某事或任何事情。
例如,驗證和確認(rèn)組織中的員工ID和密碼的過程稱為身份驗證,但確定哪個員工可以訪問哪個樓層稱為授權(quán)。假設(shè)您正在旅行而且即將登機(jī)。當(dāng)您在登記前出示機(jī)票和一些身份證明時,您會收到一張登機(jī)牌,證明機(jī)場管理局已對您的身份進(jìn)行了身份驗證。但那不是它。乘務(wù)員必須授權(quán)您登上您應(yīng)該乘坐的航班,讓您可以進(jìn)入飛機(jī)內(nèi)部及其資源。
對系統(tǒng)的訪問受身份驗證和授權(quán)的保護(hù)。可以通過輸入有效憑證來驗證訪問系統(tǒng)的任何嘗試,但只有在成功授權(quán)后才能接受。如果嘗試已通過身份驗證但未獲得授權(quán),系統(tǒng)將拒絕訪問系統(tǒng)。
認(rèn)證 | 授權(quán) |
身份驗證確認(rèn)您的身份以授予對系統(tǒng)的訪問權(quán)限。 | 授權(quán)確定您是否有權(quán)訪問資源。 |
這是驗證用戶憑據(jù)以獲得用戶訪問權(quán)限的過程。 | 這是驗證是否允許訪問的過程。 |
它決定用戶是否是他聲稱的用戶。 | 它確定用戶可以訪問和不訪問的內(nèi)容。 |
身份驗證通常需要用戶名和密碼。 | 授權(quán)所需的身份驗證因素可能有所不同,具體取決于安全級別。 |
身份驗證是授權(quán)的第一步,因此始終是第一步。 | 授權(quán)在成功驗證后完成。 |
例如,特定大學(xué)的學(xué)生在訪問大學(xué)官方網(wǎng)站的學(xué)生鏈接之前需要進(jìn)行身份驗證。這稱為身份驗證。 | 例如,授權(quán)確定成功驗證后學(xué)生有權(quán)在大學(xué)網(wǎng)站上訪問哪些信息。 |
摘要
雖然這兩個術(shù)語經(jīng)常相互結(jié)合使用,但它們的概念和含義完全不同。雖然這兩個概念對于Web服務(wù)基礎(chǔ)結(jié)構(gòu)至關(guān)重要,特別是在授予對系統(tǒng)的訪問權(quán)限時,理解關(guān)于安全性的每個術(shù)語是關(guān)鍵。雖然我們大多數(shù)人將一個術(shù)語與另一個術(shù)語混淆,但理解它們之間的關(guān)鍵區(qū)別很重要,實際上非常簡單。如果身份驗證是您的身份,則授權(quán)是您可以訪問和修改的權(quán)限。簡單來說,身份驗證就是確定某人是否是他聲稱的人。另一方面,授權(quán)是確定他訪問資源的權(quán)利。
舉個例子來說:
你要登機(jī),你需要出示你的身份證和機(jī)票,身份證是為了證明你張三確實是你張三,這就是 authentication;而機(jī)票是為了證明你張三確實買了票可以上飛機(jī),這就是 authorization。
在網(wǎng)站認(rèn)證領(lǐng)域再舉個例子:
你要登陸論壇,輸入用戶名張三,密碼1234,密碼正確,證明你張三確實是張三,這就是 authentication;再一check用戶張三是個版主,所以有權(quán)限加精刪別人帖,這就是 authorization。