加密是什麼?有哪些常見加密法?
在數位時代,保護資料已成為企業與個人最重要的任務之一。最直觀的做法,就是將資料「上鎖」,讓未經授權的人無法讀取,而「加密」就是上鎖的方式。加密的原理是什麼?有哪些常見的加密方式?又能應用在哪些場景?本文將帶你深入了解加密的基本原理、各類型加密法與常見的加密演算法。
加密是什麼?
加密(Encryption)是一種保護資訊安全的方式,歷史悠久,在電腦和資訊系統誕生之前,就被用來保存重要資訊。而加密的方式是透過「特定規則」,將原本是「明文的資料」轉變為「亂碼形式的密文」,唯有知道加密規則的人,才能將密文解碼回明文內容,藉以在資料傳輸或保存的過程中確保資訊內容的機密性和完整性。
【加密過程示意圖】
在資訊科技的時代,用來加密的「特定規則」也更趨於複雜,通常為某種數學演算法。數學演算法為數學公式或模型,白話來說就是一系列計算規則,有明確的步驟和程序。在密碼學中,演算法是公開的計算規則,而「金鑰」則是保密的參數。將金鑰代入演算法中,才能進行加密與解密。
2 大常見加密法類別與概念介紹
在由「明文」轉變為「亂碼的密文」再解碼「明文」的過程,主要有兩大常見加密法:
對稱加密 Symmetric Encryption
加密與解密使用相同的「私密金鑰(私鑰,Private Key)」,因此所需要的運算資源較少,加密和解密的效率較高、速度較快,尤其適合即時傳輸或大量資料的加密需求,例如即時通訊軟體、雲端硬碟等。
對稱加密中,金鑰只需要在雙方之間傳送一次(此過程稱為「金鑰交換」),即可進行受到加密保護的資訊傳遞,因此操作上簡便。然而一旦該金鑰被竊取,就可能會危及整個系統。因此實務上仍需搭配完善的金鑰管理機制,例如安全的金鑰交換方式、妥善的儲存與定期更換,才能確保整體資安防護。
非對稱加密 Asymmetric Encryption
相比於相同的金鑰加密和解密的對稱式加密,非對稱式加密則以兩把不同的金鑰進行加密。傳送資料的一方使用「公開金鑰(公鑰,Public Key)」將資料轉為亂碼,接收資料的一方使用「私鑰」解讀密文。
這樣的加密方式,可提供較高的資訊安全保護,並且因為只有特定的私鑰才能解密受保護的資料,非對稱加密中的公鑰與私鑰還可反向應用在「數位簽章」上,協助確認身份:發送方以私鑰加密、簽署文件,而接收方以公鑰解密和驗證簽章真偽與發送者身份。
非對稱加密中,公鑰公開與外界分享,私鑰則是由單一使用者獨自持有,因此不需要另外建立交換金鑰的管道。但相對來說,非對稱加密的速度較慢。目前非對稱加密多用於區域鏈、電子郵件,或用來進行金鑰交換。
雖然對稱加密與非對稱加密有不同的運作邏輯,但在實務上,兩者常同時被使用,以提升資料安全性。
其他常見加密相關技術
除了常見加密法以外,也有許多其他技術會在加密過程中同時使用,包含:
雜湊函式 Hashing
嚴格上來說,雜湊並非加密的方式,因為無法將結果逆向回推為原始資料。但雜湊與加密同樣透過數學函式進行,將輸入資料轉換成一組固定長度的值,也稱為雜湊值(Hash Value)。雜湊可以用來驗證資料的完整性,雜湊常與加密技術搭配使用。
比如說,如果資料傳送前透過雜湊函數得到了 X 結果,但接收者收到的資料以相同的函數計算後,得到了 Y 結果,代表了被傳送的資料可能受到變造。
同態加密 Homomorphic Encryption
同態加密屬於一種特殊的加密設計,可以在密文沒有被解密的情況下,直接對密文進行特定的運算。換句話說,即使資料保持加密狀態,也能進行分析與處理,進而提升資料的隱私保護。
用簡單的例子說明:
- 假設「明文 A = 3」,「明文 B = 5」,分別加密後變成「密文 X」 和「密文 Y」
- 以同態加密對「密文 X」 和「密文 Y」 進行加法運算,得到結果「密文 Z」
- 最後解密「密文 Z」,就會得到 8,與明文相加的結果一致
同態加密的應用廣泛,雲端運算中,服務供應商,可以直接分析其客戶上傳到雲端的加密資料;在金融和醫療場景中,也能在不揭露個人細節的前提下,執行統計分析或風險評估。
量子加密 Quantum Cryptography
借鏡量子力學中「量子在被觀測時會改變狀態」的原理,來偵測潛在的竊聽行為,確保資料傳輸安全的技術。目前應用以「量子金鑰分發(Quantum Key Distribution,QKD)」為主,在發現有未經授權的使用者試圖竊聽或竊取金鑰時,金鑰就會產生異常,傳送方與接收方也可以即時受到警告。
不過,目前量子加密應用僅限於金鑰分發,也就是產生與分發鑰匙,無法用來加密資料本身,因此多和其他常見加密法搭配使用。
7 種常見加密演算法
加密法定義加密的基本原則與結構,而演算法則是關於加密邏輯的具體方式與步驟說明。下面整理了常見的加密與加密技術演算法:
對稱加密的演算法
- 進階加密標準(Advanced Encryption Standard,AES): 目前最常見的演算法,將要被加密的資料切割成 128 位元(16 byte)的區塊進行加密。AES 的金鑰長度有 128、192 或 256 位元三種:長度越長,安全性越高,但也需要較多時間運算。
- 資料加密標準(Data Encryption Standard,DES):同樣是區塊加密,只是加密的資料區塊大小僅為 64 位元。DES 過去主流的加密演算法,但因為金鑰長度僅有 56 位元和另外 8 位元的檢查碼,容易被暴力破解,現已逐漸停用。
- 三重資料加密演算法(Triple DES,3DES):改良版的 DES,區塊大小不變,但以「加密 → 混淆 → 再加密」(但業界習慣稱為「加密 → 解密 → 再加密」)的方式,增加破解密文的難度,也因此加密運算需要的時間較多。
非對稱加密的演算法
- RSA:由三位發明者李維斯特(Rivest)、薩莫爾(Shamir)和阿德曼(Adleman)的姓氏組合而成。加密原理的基礎為「大數質因數分解困難」的數學問題,金鑰長度介於 2048 - 4096 位元之間,因此破解難度較高。
- 橢圓曲線密碼學(Elliptic Curve Cryptography,ECC):利用橢圓曲線數學的演算法,金鑰長度比 RSA 短,但可以達到相同等級的資訊安全性。因此 ECC 效率更高,又資源消耗較少,常用於行動裝置、物聯網等運算資源有限的環境中。
雜湊演算法
- MD5 訊息摘要演算法(MD5 Message-Digest Algorithm):簡稱 MD5,常見的雜湊演算法。使用之後,可產出一個 128 位元的雜湊值。
- 安全雜湊演算法 256 位元(Secure Hash Algorithm 256-bit):縮寫為 SHA-256,是 SHA 密碼雜湊函式家族的其中一個演算法,產生的雜湊值為 256 位元。
為什麼要加密?加密的重要性
資訊系統中,最具有價值的資產就是資料。若資料遭竊,攻擊者可能藉此取得機密資訊、進行轉賣牟利,甚至破壞系統以達成網路攻擊等惡意目的。無論是儲存在系統內部的資料,還是透過網路傳輸的資料,只要系統與其他裝置連線或連接至網路,就有可能成為攻擊目標。
透過加密,即使資料遭竊,攻擊者若無法取得正確的金鑰,就無法解密內容,因而難以竄改、濫用或販售資料。例如,面對勒索軟體攻擊時,若資料事先已加密,即使被竊取,也不容易被還原成明文,進而降低遭威脅公開的風險。另外,若使用較強的雜湊技術來處理使用者密碼,也能有效降低資料外洩與撞庫攻擊的風險。
對企業來說,加密在許多方面都有以下優勢:
- 提升保密性:無法被未授權存取,避免資料外洩。
- 提升資料完整性:雖然加密的主要目的為保密,但若搭配雜湊函數等技術,也可以偵測資料是否遭竄改,進而保護資料完整性。
- 驗證身分:唯有持有金鑰的使用者才可以解讀,加強驗證使用者身分,避免未授權的存取。
- 提升合規性:協助企業符合資安標準與法規要求,如 GDPR、ISO 27001 等。
加密技術實際應用
加密的重要性不容忽視。雖然加密技術需要一定的運算資源,且過程看似複雜,但在現今數位化的日常生活中,其實已廣泛應用在各種情境中。以下是幾個常見的加密應用範例:
數位簽章 Digital Signature
利用非對稱式加密的公鑰加密技術,以及雜湊演算法,加密電子簽章,並可以驗證簽署者身分。廣泛應用於電子合約、線上認證等領域,確保資料的真實性與不可否認性。
SSL/TLS
SSL 和 TLS 為網路通訊協定,也就是規範不同裝置之間的連線與資料傳輸要如何進行的規則。由於 SSL 和 TLS 與資料傳輸有關,因此更需要重視資訊保護與加密。目前取代 SSL 的 TLS 結合了對稱式與非對稱式加密,先透過非對稱加密交換金鑰,再以對稱加密進行資料傳輸,兼具安全性與效率。
VPN
VPN(虛擬私人網路)利用加密通道(如 IPSec 或 SSL)保護使用者與伺服器之間的資料傳輸,防止第三方竊聽或竄改資料。
資料庫加密
上面提到的三種應用,都是與裝置之間的連線或是網際網路資料傳輸有關的加密。儲存在固定位置(如伺服器或本地端)的靜態資料,也可以透過加密技術保護,這種做法稱為資料庫加密。依照加密的範圍與單位不同,可分為以下幾種方式:
- 欄位級加密(Column-level Encryption):僅加密特定欄位的敏感資料,如身份證號、信用卡號等。靈活度高,但實作與管理較複雜。
- 表格級或資料表加密(Table-level Encryption):將整個資料表中的內容加密。
- 資料庫級加密(Database-level Encryption):針對整個資料庫進行加密,可以較全面保護資料庫。
- 檔案或磁碟層級加密(File/Disk-level Encryption):加密整個資料庫檔案或儲存磁碟,作業系統層級實作,部署方便但安全性依賴底層系統保護。
加密與解密,就像駭客與目標之間的攻防戰。理解加密的原理與重要性後,企業更應積極導入加密技術,強化資料防護。
歡迎聯絡晟崴科技