时代的变迁!这个功能即将从Java中移除

开发 后端
为了推动 Java 向前发展,OpenJDK 17 打算弃用其安全管理器(Security Manager)功能,以便与旧的小应用 API ( JEP 398 )一起删除。

 

为了推动 Java 向前发展,OpenJDK 17 打算弃用其安全管理器(Security Manager)功能,以便与旧的小应用 API ( JEP 398 )一起删除。

安全管理器功能可追溯到 Java 1.0,在我们用按键手机或者诺基亚在 Web 浏览器上下载 Java 游戏小应用(Applet)的时代,安全管理器通过在沙箱中运行小游戏,从而拒绝它访问文件系统或网络等资源,保护我们的设备的安全性和数据的隐私性。安全管理器会批准所有涉及可信任代码资源访问的操作,但拒绝不可信代码的资源访问。

但随着时代变迁和 Java 库的激增,安全管理器变得力不从心,随着搭载 Android 智能手机的普及,Java 平台也不再支持小应用这种格式,安全管理器使用的环境变得更少了。多年来,它一直不是保护客户端 Java 代码的主要手段,也很少用于保护服务器端代码。

安全管理器三宗罪:

  • 脆弱的权限模型

安全管理器必须授予应用程序执行操作所需的所有权限,无法进行部分安全性访问控制。例如,用户担心非法的访问数据,因此要求安全管理器授予应用只从特定目录读取文件的权限,但只有文件读取权限是不够的,因为应用程序肯定会使用 Java 类库中除了读取文件之外的其他操作(例如写入文件),而这些其他操作将被安全管理器拒绝。

  • 困难的编程模型

安全管理器通过检查一次操作的所有代码权限,以决定来批准安全敏感操作,使得编写与安全管理器一起运行的库变得困难,因为库开发人员不会记录其库代码所需的一切权限。

  • 性能差

安全管理器的核心是一个复杂的访问控制算法,通常会带来不可接受的性能损失。因此,默认情况下,对于在命令行上运行的 JVM,安全管理器始终处于禁用状态。

基于上述种种原因,这个见证移动设备发展史的功能即将从 Java 中移除,按键手机和它的 Java 小应用也随岁月一去不返。

 

责任编辑:张燕妮 来源: 开源前线
相关推荐

2017-03-14 12:29:09

2020-12-21 10:14:48

黑客网络安全网络攻击

2011-07-18 09:34:51

2011-07-29 18:03:30

IT职位变迁云计算

2014-02-28 15:57:02

MWC物联网炒作

2013-08-27 16:01:38

微软鲍尔默

2021-04-20 09:11:51

MozillaFirefox浏览器

2010-04-19 15:58:33

互联网

2011-12-07 10:18:11

2021-12-14 10:04:52

无密码时代多因素身份验证MFA

2013-05-28 13:02:35

微软必应

2012-11-01 13:48:26

HR管理

2015-10-23 13:56:00

华为ICT

2021-02-02 13:10:18

微软WindowsWindows 10

2019-11-18 09:43:49

安卓安卓应用安卓系统

2021-01-13 23:08:00

数字货币人民币金融

2019-05-22 21:39:26

2021-03-14 22:32:45

SQL数据库XML

2018-04-16 13:22:08

区块链智能合约大数据

2022-01-14 11:47:15

UbuntuLTSGNOME 版本
点赞
收藏

51CTO技术栈公众号