主題 | 說明 |
---|---|
互聯網的特性 | 公開的系統,數據頻繁流動 |
個人可識別信息(PII) | 可以用來推斷個人身份的信息(姓名、醫療和財務信息等) |
保持PII隱私的挑戰 | 需要正確的安全控制措施 |
密碼學(Cryptography) | 將信息轉換為未經授權讀者無法理解的形式 |
加密和解密過程 | 明文plaintext→密文ciphertext→明文 |
歷史背景 | 密碼的使用早於計算機,凱薩密碼的創造 |
凱薩密碼(Caesar's cipher) | 簡單的加密算法,通過固定數量的字母位移進行加密 |
凱薩密碼的缺陷 | 漏洞在於依賴單一密鑰和字符數量,易受暴力攻擊 |
信息安全中的密鑰管理 | 確保密鑰不在公共場所存儲,與解密信息分開共享 |
現代密碼學 | 依賴更複雜的算法來保護信息的隱私 |
密碼學是將資訊轉換為意外讀者無法理解的形式的過程。
Cryptography is the process of transforming information into a form that unintended readers can't understand.
特性 | 非對稱 (Asymmetric Encryption) | 對稱加密 (Symmetric Encryption) |
---|---|---|
密鑰類型 | public and private key pair配對 | a single secret key單一共享密鑰 |
加解密關係 | 公鑰加密 → 私鑰解密私鑰簽章 → 公鑰驗簽 | 同一把密鑰加密與解密 |
應用場景 | SSL/TLS 握手數位簽章密鑰交換 | 文件加密數據庫加密VPN 通道加密 |
速度 | 慢(用於初始化握手) | 快(適合大量數據) |
「密碼對暴力破解攻擊(brute force attacks)」的脆弱性。這種攻擊方式就像嘗試每一個可能的組合鎖密碼,從而找到正確的密碼。這強調了在學習加密過程中,了解安全性的重要性。
演算法名稱 | 演算法類型 | 密鑰長度 | 安全性等級 | 典型應用場景 | 效能特性 |
---|---|---|---|---|---|
AES-256 | 對稱加密 | 256位元 | 軍用級 (NIST認證) | - 全磁碟加密- VPN通道- 資料庫加密 | 高速處理,適合大數據流 |
Triple 3DES | 對稱加密 | 168位元 (3×56位元) | 已淘汰 (NIST棄用) | - 舊系統相容- 金融系統維護 | 速度慢,僅用於傳統系統 |
ChaCha20 | 對稱加密 | 256位元 | 等同AES-256 | - 移動設備加密- TLS 1.3協議 | 低功耗設備優化 |
RSA-4096 Rivest Shamir Adleman | 非對稱加密 | 4096位元 | 高 (FIPS 186-5) | - SSL/TLS證書簽發- 數位簽章 | 密鑰生成慢,加解密效率低,主要用於保護高度敏感的數據。 |
**DSA Digital Signature Algorithm ** | 非對稱加密 | 2,048 位元 | 高 | DSA經常與RSA互補使用,以提供額外的安全性。 | |
ECC-521 | 非對稱加密 | 521位元 (橢圓曲線) | 等同RSA-15360 | - IoT設備認證- 區塊鏈簽名 | 密鑰短,運算速度快 |
| Blowfish | 對稱加密 | 32-448位元 (可變) | 中等 | - 檔案加密- 舊版安全協議 | 靈活但已被AES取代 |
ex:一個在線商業在啟動其網站時,需獲取數位證書。當他們註冊域名時,託管公司會將一些基本資訊(如公司名稱和總部所在國家)發送給certificate authority受信的證書機構(CA),並提供網站的公鑰。證書機構會驗證公司的身份,確認後用其私鑰加密數據,最終製作包含加密公司數據的數位證書,並附上CA的數位簽名以證明其真實性
加密方法 | 類型 | 鍵長 | 特點 | 用途 |
---|---|---|---|---|
Triple DES (3DES) | 對稱算法 | 168位 | 將DES算法應用三次,使用三個不同的56位鍵 | 向後兼容,較少用於新系統 |
高級加密標準 (AES) | 對稱算法 | 128, 192 或 256位 | 被認為是非常安全的,對抗暴力攻擊有極高的安全性 | 廣泛用於多種應用 |
RSA | 非對稱算法 | 1,024, 2,048 或 4,096位 | 生成公鑰和私鑰對,適合保護敏感數據 | 用於敏感數據的保護 |
數字簽名算法 (DSA) | 非對稱算法 | 2,048位 | 與RSA互補,支持公鑰基礎設施 | 廣泛使用於數據完整性驗證 |
生成密鑰這些演算法必須在組織選擇一個來保護其數據時實施。這樣做的一個方法是使用 OpenSSL,這是一個開源命令行工具,可以用來生成公鑰和私鑰。OpenSSL 通常被電腦用來驗證作為公鑰基礎設施的一部分而交換的數字證書。
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:4096 openssl rsa -pubout -in private.pem -out public.pem
openssl x509 -in certificate.crt -noout -text # 查看憑證詳細資訊 openssl verify -CAfile ca-bundle.crt site.crt # 驗證信任鏈