驗證系統實體所聲稱身份的過程

  • 分為兩個步驟
    • Identification step: 向安全系統提供一個識別碼 (identifier)
    • Verification step: 提供或生成認證資訊 (authentication information),證明該實體與識別碼之間的關聯

Electronic User Authentication Model

Cornerstone: Credential and Token

  • Credential (憑證)
    • Paper credentials: 用來證明身份的文件
      • ex: 護照、駕照、學生證
      • 內容通常包含持有人描述、照片或簽名
    • E-authentication credential: 一種物件或資料結構
      • 綁定身份 (透過識別碼)
      • 與使用者持有和控制的至少一個令牌 (Token/Authenticator) 綁定
  • Token (令牌)
    • 也稱為 Authenticator
    • 使用者擁有並控制,用來驗證使用者身份的東西
      • ex: 密碼、加密模組
    • 分類:
      • 使用者知道的東西: 密碼、預先設定的安全問題答案
      • 使用者擁有的東西: 電子門禁卡、smart card
      • 使用者本身的特徵 (static biometrics): 指紋、視網膜、臉部特徵
      • 使用者的行為特徵 (dynamic biometrics): 聲紋、書寫筆跡

Password-based Authentication

  • 廣泛用於防止未經授權者入侵系統
  • User provides name or identifier (ID) and password
  • 系統將輸入的密碼與儲存的密碼進行比對
  • User ID
    • 決定使用者是否有權限存取系統
    • 決定使用者的操作權限
    • 存取控制 (access control) 的依據

Attacks and Countermeasures

  • Offline dictionary attack
    • 攻擊者取得系統的密碼檔 (密碼的 hash values)
    • 使用常見密碼字典計算 hash 並比對
    • 對策: 防止未經授權存取密碼檔案
  • Specific account attack
    • 對某個帳號一直試密碼直到成功或被鎖定
  • Popular password attack
    • 對大量帳號測試常見密碼 (ex: 123456)
    • 對策:
      • 禁止常用密碼
      • 偵測 login pattern (透過 IP/cookie)
  • Password guessing against single user
    • 利用使用者個資猜密碼
    • 對策: 實施 password policies,限制密碼最短長度
  • Workstation hijacking
    • 等待登入的工作站無人值守
    • 對策: 沒有活動一段時間後自動登出
  • Exploiting user mistakes
    • 使用者寫下密碼、分享密碼,或是使用預設密碼
    • 對策:
      • 使用者教育
      • 使用簡單的密碼 + 另一個驗證機制
  • Exploiting multiple password uses
    • 同一使用者在不同系統用相同密碼
    • 對策: 禁止重複密碼
  • Password sniffing/phishing
    • 明文傳輸密碼被攔截
    • 偽造網站誘騙使用者輸入密碼
    • 對策:
      • 加密傳輸
      • 在可信裝置與環境輸入密碼

Still: Most Commonly Used User Authentication

  • 原因:
    • 便宜、使用方便且易於實作
    • 其他依賴客戶端硬體的技術需要客戶端與伺服器端都實作軟體
      • 指紋掃描器、smart card 讀取器
    • 實體令牌昂貴或不方便
    • 生物特徵令牌昂貴或精準度不足

Use of Hashed Passwords

Why Salt?

  • 防止重複密碼在密碼檔中可見
  • 增加 Offline dictionary attack 難度
  • 幾乎不可能判斷同一個人在不同系統使用相同密碼
    • 每個系統的 salt/hash 值不同

Two Threats

  • Password guessing on the machine
    • 攻擊者透過訪客帳號或其他方式取得系統存取權限
    • 在系統上執行密碼猜測程式 (password cracker)
  • Password guessing on another machine
    • 攻擊者取得密碼檔的複本,在另一台機器上執行密碼破解程式

Password Cracking

Traditional

  • Dictionary attack: 逐一嘗試常見密碼
  • Rainbow table attacks: Pre-compute tables of hash values for all salts

Modern

Complex password policy: 強迫使用者選擇更強密碼

  • 計算能力提升
  • 使用進階演算法 (Markov model、自然語言模型) 產生更好的猜測
  • 利用外洩密碼資料做分析

Major Countermeasures

Password file access control

  • Two mechanisms
    • Access control: makes the password file available only to privileged users
    • Shadow password file

Password Selection Strategies

  • 使用者教育
  • 由電腦生成密碼
  • Reactive password checking
    • 系統運行自己的 password cracker 去檢查容易破解的密碼
  • 嚴格排除簡單密碼

Proactive Password Checking

  • Rule enforcement
  • Password checker
    • Compile a large dictionary of “bad” passwords not to use
  • Bloom filter: 一種節省空間的概率型資料結構
    • 用於測試一個元素是否屬於某個集合
    • A bit array of mm bits, and kk different hash functions
    • 可能出現 false positive
    • 優勢: 不需要存整個資料集合,節省空間
    • 應用於密碼檢查

Token-based Authentication

Memory Cards

  • 可以儲存資料,但不能處理資料
  • ex: 背面有磁條的銀行卡
  • 使用
    • 單獨用於物理存取 (ex: 房卡)
    • 與密碼或 PIN 結合,提高安全性
  • 缺點:
    • 需要專用讀卡器
    • 可能遺失
    • 不一定便於攜帶使用

Smart Tokens

Categorized along four dimensions

  • 物理特性
    • 含嵌入式微處理器
    • ex: smart card
  • 使用者介面
    • 包括鍵盤與顯示器,用於使用者互動
    • ex: OTP 產生器上有數字鍵與 LCD 顯示
  • 電子介面
    • smart card 或其他 token 需要與相容的讀卡器/寫卡器通訊
    • 又分為接觸式/非接觸式
  • 認證協議
    • Static:
      • 使用者先向令牌驗證身份
      • 令牌再向電腦驗證使用者
    • Dynamic password generator
      • 令牌週期性產生唯一密碼
      • 令牌與電腦初始化並同步
    • Challenge-response
      • 電腦產生 Challenge
      • 令牌產生對應 response 來驗證身份

Smart Cards

  • 內建完整微處理器
    • Including processor, memory, and I/O ports
  • Three types of memory
    • Read-only memory (ROM)
    • Electrically erasable programmable ROM (EEPROM)
    • Random access memory (RAM)
  • Electronic Identity (eID) Cards
    • 經國家認證,確認有效性與真實性
    • 又分為: ePass, eID, eSign

Biometric Authentication

  • 基於個人獨特的身體或行為特徵來認證身份
    • Static: 臉部特徵、指紋、手型
    • Dynamic: 簽名、聲紋
  • 基於 Pattern Recognition 技術
    • 較密碼與令牌複雜且成本高
    • 尚未成熟為標準工具

Biometric Auth System Operation

  • Verification:
    • 使用者提供自己的生物特徵加上其他識別資訊
    • 系統比對生物特徵是否對應到該使用者的模板
  • Identification:
    • 使用者只提供生物特徵,不提供其他資訊
    • 系統在所有已存模板中比對,找出匹配的使用者

Dilemma

  • Profiles of a Biometric Characteristic of an Imposter and an Authorized User
    • threshold 位置難以確定
  • Tradeoff between security and convenience

Remote user Authentication

  • 比 local authentication 更複雜
    • 透過網路、互聯網或其他通訊管道進行
  • 面臨更多安全威脅:
    • ex: 竊聽、密碼截取、Replay attack
  • General solution: challenge-response protocols

Security Issues for User Authentication

  • Client attacks: 假冒合法使用者
    • 密碼猜測、暴力搜尋 (exhaustive search)、錯誤匹配 (false match)
    • 對策: 使用強密碼、限制嘗試次數
  • Host attacks: 竊取存放使用者資料的檔案
    • 可能取得明文、密碼、或模板
    • 對策: 強化存取控制 (access control)
  • Eavesdropping
    • Shoulder surfing、鍵盤記錄、複製生物特徵
    • 對策: multifactor authentication (MFA)、異常行為偵測
  • Relay: 重複使用先前捕捉到的使用者回應
    • 重放密碼、令牌密碼或生物特徵模板
    • 對策: 在 challenge-response protocols 中加入隨機數
  • Trojan horse: 安裝惡意客戶端或捕捉裝置
    • ex: 假 ATM、信用卡讀取器
    • 對策: 驗證客戶端或捕捉裝置是否在受信任的安全範圍內
  • Denial of service (Dos): 多次失敗認證導致服務中斷
    • 對策: 多因素認證

紅字整理

P30: Proactive Password Checking, Can we use a hash function to address the issues?

  • 使用 Bloom filter: 使用多個 hash 函數,快速檢查某個密碼是否屬於若密碼
  • 使用 hash + salt: 更好的抵抗攻擊以及各種問題