iT邦幫忙

2023 iThome 鐵人賽

DAY 3
1

今天將介紹身分驗證的三大步驟,分別為驗證(Authentication)、授權(Authorization)、稽核(Accounting),由於英文名詞皆為 A 開頭,因此也被稱為 AAA 或 3A 原則。

在提到 3A 前,還有稱為「識別」(Identification)的步驟,主要由使用者提出自己主張的身分,供系統「理解」使用者宣稱自己為何種身分,以便進行後續相對應的驗證與授權動作。

驗證(Authentication)

當使用者主張自己的身分後,系統應該確認使用者是否為所宣稱的合法身分擁有者,這個證明使用者身分的過程就被稱為「身分驗證」,常見的身分驗證方法可以分為三種類型:

  • 所知之事(Something you know):密碼、PIN Code、安全問答等。
  • 所有之物(Something you have):Token、USB 金鑰、智慧晶片卡(Smart Cards)
  • 所具之形(Somethung you are):生物特徵(指紋、虹膜、聲紋等)、可辨識特徵(身高、體重等)

身分驗證方法

身分驗證可分為單因子(Single-factor authentication,SFA)與多因子(Multi-factor authentication,MFA)驗證。所謂的「因子」(Factor)即為上面所提到的三種身分驗證類型(所知之事、所有之物、所具之形),由於單因子驗證只驗證一項資料,容易遭到外洩、獲得並突破,因此使用多因子驗證為較安全的方法。

兩階段驗證(Two-step verification,2SV)== 雙因子驗證(Two-factor authentication,2FA)?

兩階段驗證(Two-step verification)僅代表驗證分為兩個或多個階段,例如密碼 + OTP 就是最常見的兩階段驗證機制,但由於密碼與 OTP 皆屬於「所知之事」的類別,並不符合兩個「因子」的定義,所以不能被認為是雙因子驗證。
兩階段驗證流程範例
兩階段驗證流程範例(圖片來源:What’s the Difference Between 2FA and 2SV?
雙因子驗證流程範例
雙因子驗證流程範例(圖片來源:What’s the Difference Between 2FA and 2SV?

使用密碼作為驗證方法的注意事項

  • 要求最低字元數
  • 要求複雜度(如大小寫字母、數字、特殊符號等)
  • 強制要求定期更換密碼
  • 不得重複使用密碼(如最近 10 次使用的密碼不能成為下次的新密碼)
  • 提供可以簡單快速更換密碼的方式
  • 提醒使用者避免所有系統皆使用相同密碼,例如私人使用與公務使用的密碼不應相同
  • 可使用密碼管理器

單一登入(Single sign-on,SSO)

指可以跨系統共同使用經過授權的 Sessions,使用者只需要於一個系統登入後,其他系統即可使用相同的 Sessions 直到該 Sessions 過期,讓使用者不必重複登入或使用各種不同的帳號密碼,常見的範例為公司或學校經常將公務電腦的 Windows AD 帳號與內部系統整合。

授權(Authorization)

通過前面的驗證步驟,確認使用者的身分後,此時即可依照使用者的身分授予相關的權限,讓使用者能執行經過授權的存取,讓使用者只能存取符合該身分的特定服務、系統或資訊,這個步驟就稱為「授權」,在實務上會透過存取控制列表(Access control lists,ACL)進行授權群組的分類,後續將會再詳細介紹。

稽核(Accounting)

系統應該留存所有使用者的登入、登出、存取等操作記錄(Log),以備未來隨時稽核使用。

不可否認性(Non-repudiation)

由於使用者在使用各項服務前都經過了適當的身分驗證與授權,理論上在使用者沒有被假冒身分(不論是自願或非自願)的情況下,使用者不可以否認在系統內所做出的操作不是自己所進行的操作,確保所有的操作都能追溯到某一個使用者,才能達成可歸責性(Accountability)。

隱私

隱私即為保護個人資料,僅在必要的範圍內,蒐集、處理、使用個資,大多為法律要求,可參考去年鐵人賽的文章:


上一篇
[Day 2] 資安三大目標 C-I-A
下一篇
[Day 4] 風險管理簡介
系列文
30 天取得 ISC2 Certified in Cybersecurity30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言