電腦安全-L3
驗證系統實體所聲稱身份的過程
- 分為兩個步驟
- Identification step: 向安全系統提供一個識別碼 (identifier)
- Verification step: 提供或生成認證資訊 (authentication information),證明該實體與識別碼之間的關聯
Electronic User Authentication Model
Cornerstone: Credential and Token
Credential(憑證)- Paper credentials: 用來證明身份的文件
- ex: 護照、駕照、學生證
- 內容通常包含持有人描述、照片或簽名
- E-authentication credential: 一種物件或資料結構
- 綁定身份 (透過識別碼)
- 與使用者持有和控制的至少一個令牌 (Token/Authenticator) 綁定
- Paper credentials: 用來證明身份的文件
Token(令牌)- 也稱為
Authenticator - 使用者擁有並控制,用來驗證使用者身份的東西
- ex: 密碼、加密模組
- 分類:
- 使用者知道的東西: 密碼、預先設定的安全問題答案
- 使用者擁有的東西: 電子門禁卡、smart card
- 使用者本身的特徵 (static biometrics): 指紋、視網膜、臉部特徵
- 使用者的行為特徵 (dynamic biometrics): 聲紋、書寫筆跡
- 也稱為
Password-based Authentication
- 廣泛用於防止未經授權者入侵系統
- User provides name or
identifier (ID)andpassword - 系統將輸入的密碼與儲存的密碼進行比對
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 bits, and 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
securityandconvenience
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): 多次失敗認證導致服務中斷- 對策: 多因素認證


