CIA 三要素(CIA triad)
問問「資訊安全」究竟是什麼意思,你得到的不是一個答案,而是三個,而且它們往不同方向拉扯。想想你的病歷。你希望它被保密——只有你的醫生該讀它(機密性)。你希望它正確、未被竄改——沒人能偷偷改掉你的血型(完整性)。你也希望需要時它就在——緊急時必須能取得,而不是被鎖起來或銷毀(可用性)。這三個目標——機密性、完整性、可用性——就是 CIA 三要素,思考安全問題的標準框架。
機密性意味著資訊只揭露給被授權看的人;它的敵人是竊聽、外洩與竊取,防禦包括加密與存取控制。完整性意味著資訊只以被授權的方式被修改,且不被破壞或偽造;它的敵人是竄改與未授權的寫入,防禦包括檢查碼、數位簽章與寫入權限。可用性意味著系統與其資料在正當使用者需要時可用;它的敵人是「拒絕」——當機、刪除,或一場用洪水淹沒系統的阻斷服務攻擊——防禦包括備援、備份與速率限制。作業系統中每一項具體的安全機制,都能對應到「捍衛這三者之一或多者」。
三要素之所以有用,正是因為這三個目標彼此會衝突,迫使你做出誠實的取捨。最機密的檔案是「沒人能讀的檔案」——但那毀掉了可用性。最不怕竄改的系統也許是唯讀的——但那樣你連正當工作都做不了。輸錯三次密碼就鎖帳號,提升了機密性與完整性,但攻擊者卻可藉此「拒絕你存取」(傷害可用性)。把三者都點名出來,能讓設計者保持誠實:真實的安全決策很少是「最大化某一項性質」,而是針對威脅與成本「在三者間取得平衡」。常見的擴充會再加上真實性與不可否認性,但 CIA 仍是核心。
全磁碟加密保護機密性(筆電被偷也讀不出東西);程式碼簽署保護完整性(被竄改的更新會被拒絕);磁碟陣列與備份保護可用性(一顆硬碟壞了也不會丟資料)。同一個作業系統,為三要素的每一隻腳各用不同的工具。
三要素的每一隻腳,都有自己的威脅與自己的防禦。
三個目標可能彼此牴觸——把機密性拉到最大可能傷害可用性,依此類推。安全很少是「把某一性質拉滿」,而是針對你真正面對的威脅,在三者間取得平衡。