CIA 資安鐵三角 圖片來源
美國國家標準暨技術研究院(National Institute of Standards and Technology, Nist)針對資訊系統的資料提供三種安全保護:
以上統稱叫 「CIA原則」,是安全架構的基石,也是被廣泛採納的原則。 CIA 所訂定的保護已經算完善,但有些研究人員仍覺得不太夠,所以就提出信賴性(Authenticity)、究責性(Accountability)
要確保「資料機密性」通常是透過「加密」(Encryption)的方式來處理,把要加密的資訊轉換為無法直接讀懂的方式(例如:密碼、身分證字號等)。可以分為兩大類:
「對稱式金鑰」中的加密演算法使用同一組密碼(金鑰)來進行資料的加密(Encryption)和解密(Decryption)或是使用兩個可以簡單地相互推算的密鑰。這意味著,如果 Alice 用一個密鑰加密一條消息,然後發送給 Bob,Bob 也需要使用同一個密鑰來解密這條消息
在加密的過程中,未被加密的原始資料稱為「本文/明文」(Plaintext); 而經過加密後的資料稱為「密文」(Ciphertext)。「對稱式金鑰」的加密演算法就是負責將本文轉換為密文(廢話!!!
在過去,打仗時為了不要讓訊息被敵方識破,所以會把訊息加密。像是羅馬的凱薩大帝曾用了「向前移三個字母」來保護真實訊息,因而稱為「凱薩加密法」(Caesar Cipher)。是一種最古老和最簡單的加密技術之一,它是對稱式加密的一種特殊形式,由於這種加密方法相當容易被破解,所以在現代加密中很少單獨使用,以下舉個凱薩加密法的例子:
上面講的是較古老的加密方式,在密碼學裡又稱為「古老密碼學」,透過簡單的分析,就可以被破解,因此這些演算法不會使用在近代的系統上。實務上為了讓密碼系統不易被破解,「近代密碼學」所提出的「對稱式金鑰」的加密演算法通常透過位移(shift)、替換(substitute)、查表、數值運算、排列組合等方式來進行多種加密
這種加密方式相對於「非對稱式加密」來說,計算通常更快,因為加解密使用同一把密鑰,但也造成一個致命缺點就是,雙方必須共享一個密鑰,如果哪天它不小心洩露出去,那就完了了,任何人都可以解密
今天簡單介紹了「對稱式金鑰」加密的概念,但由於密鑰管理和傳輸的問題,所以通常不會單獨使用喔!
明天會來介紹另一種資料加密方式 -「非對稱式金鑰」,又叫「公開金鑰加密」,它很常與「對稱式加密」一起合併使用,以達到更全面的安全保護
BTW~ 如果對前端資安想了解更多可以參考胡立大大的文章,也是我今年有發摟的鐵人系列文章之一