| 組件 | 功能 | 核心類 |
| JCA | 消息摘要、簽名、鍵對生成、證書 | MessageDigest, Signature, KeyPairGenerator, CertificateFactory |
| JCE | 加密/解密、鍵協商、MAC | Cipher, KeyAgreement, Mac, SecretKeyFactory |
| JSSE | SSL/TLS/DTLS 協議實現 | SSLContext, SSLSocket, TrustManager, KeyManager |
| JAAS | 鑒別與授權框架 | LoginContext, Subject, Principal, LoginModule |
現實威脅與 Java 回應
| 威脅 | Java 防護機制 |
| Applet/遠程代碼竊取本地文件 | 沙箱 + SecurityManager checkRead |
| 惡意代碼修改系統配置 | checkPropertyAccess / checkPermission |
| 中間人竊聽網絡傳輸 | JSSE (HTTPS/TLS) + 憑證驗證 |
| 數據篡改/偽造 | 數字簽名 (JCA) + MAC (JCE) |
| 身份冒充 | JAAS + X.509 憑證體系 |
最佳實踐清單
- 最小權限原則:政策文件僅授予必要權限
- 代碼簽名:JAR 簽名 + 策略按簽名者授權
- 輸入驗證:雖有語言保護,業務邏輯層仍需嚴格校驗
- 敏感數據加密:傳輸層 TLS、存儲層 AES-GCM、密鑰管理用 HSM/密鑰庫
- 定期更新:JDK 安全補丁、加密算法淘汰 (MD5/SHA1/DES → SHA-256/AES/GCM)
Java 安全不是單一機制,而是「語言設計 + 運行時隔離 + 策略授權 + 加密標準」的立體防禦體系。理解各層職責,才能構建真正可信的系統。
- 上一篇文章: 深入淺出模板方法模式:JUnit 源碼實戰與擴展點控制藝術
- 下一篇文章: MVC 模式降低混合語言開發復雜性:模型-視圖-控制器分層藝術
Copyright ©
程式碼之家 All Rights Reserved