Java 安全性技术包括大量 API、工具以及常用安全算法、机制和协议的实现。Java 安全 API 涉及领域广泛,包括加密、公共密钥基础架构、安全通信、身份验证和访问控制。Java 安全性技术为开发人员编写应用提供了一个全面的安全框架,同时为用户或管理员安全管理应用提供了一组工具。
Java SE 安全性文档:Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0
|
Java SE 平台基于一个动态、可扩展、基于标准、可互操作的安全架构。加密、身份验证和授权、公共密钥基础架构等安全特性是内置的。Java 安全模型基于一个可定制的“沙盒”,Java 软件程序可在其中安全运行,对系统或用户无潜在风险。
下表详细介绍了各个安全特性,并给出了包含更多信息的资源链接。
有关安全特性以及当前版本变化的更多信息,请参见 Java SE 8 安全性文档。
高级特性 | 低级特性 | 优点 | 参考资料 |
---|---|---|---|
平台安全性 | Java 编译器和虚拟机强制实施的内置的语言安全特性:
| 为应用开发和运行提供一个安全平台。编译时数据类型检查和自动内存管理可使代码更健壮,减少内存损坏和漏洞。字节码验证可确保代码符合 JVM 规范并防止恶意代码破坏运行时环境。类加载器可防止不受信任的代码干扰其他 Java 程序的运行。 | |
加密 |
| 为构建安全的应用提供一个可扩展的、功能齐全的 API:
|
|
身份验证和访问控制 |
| 实现多种身份验证机制的一次性登录和基于用户或代码签名者身份的细粒度资源访问。(JDK 5 中)新增的时间戳签名支持使签名者证书到期时无需重签代码,因此部署签名代码更容易了。 |
|
安全通信 | API 及以下基于标准的安全通信协议的实现:传输层安全性 (TLS)、安全套接字层 (SSL)、Kerberos(可通过 GSS-API 访问)以及简单身份验证和安全层 (SASL)。还包括对基于 SSL/TLS 的 HTTPS 的全面支持。 | 对不受信任网络上的同类进行身份验证,并保护他们之间所传输数据的完整性和隐私性。 |
|
公共密钥基础架构 (PKI) | 用于管理密钥和证书的工具以及支持下列特性和算法的广泛、抽象的 API:
| 简化复杂 PKI 应用的开发和部署。(JDK 5 中)新增的 OCSP 支持为应用检查证书撤销状态提供了一种更可扩展和及时的方法。 |