下载
第3章 JDK1.2安全结构
本章主要讨论J D K 1 . 2 安全结构的内部机制,它支持策略驱动、基于许可权的、灵活的及
可扩展的访问控制。本章将回顾一下 P o l i c y 和P e r m i s s i o n 类的设计方法、安全类加载的内部机
制及访问控制算法。下面首先概述这种新的结构产生的动机和它的发展历史。
3.1 起源
1 9 9 6 年8月底,J D K 1 . 2 安全结构开始被酝酿,次年 2月开发了相应的代码,3月设计出第一
个许可权控制A p p l e t Viewer appletviewer原型。1 9 9 7年5月获得具有完备特性的A p p l e t Vi e w e r原
型。它们和说明J a v a安全新结构的出版物大约同期。在 1 9 9 7 年2月的IEEE COMPON
[ 2 9 ]
会议上,
我发表了一篇论文,后来,在 IEEE Micro 5/6月双月刊
[ 2 3 ]
上对这篇论文作了一些修改和扩展。
1 9 9 7 年4月在JavaOne 的讨论中,我可以自信地对手边的原型讲出它们的一些技术细节。在后
来的 1 2 个月中,安全结构基本保持不变,而 A P I 却在不断的精化当中。在 1 9 9 7 年1 2 月的
U S E N I X 会议上发表了关于 A P I 的一个概要性文件
[ 2 5 ]
。1 9 9 8 年初,在一个国际社会专题讨论会
上,安全结构的技术细节被发表
[ 2 8 ]
。
我们把J D K 1 . 2的安全工程形象地称为“直布罗陀 ( G i b r a l t a r )” ,这主要是因为J a v a 安全开
发小组人员把它看作是 J a v a技术的重要基石,而且它的顺利完成也颇费周折。目前,开发小
组人员正在构想用其他大力神柱 (古代称为A b y l a,现在称为Mount Hacho)来命名下一代安全
工程。
3.2 为什么需要一个新型的安全结构
如在第2章讨论的,由于并没有多少技术人员把安全性作为设计目标,而 J D K 1 . 0的发行版
着重考虑了安全问题并提供了沙盒安全模型,所以,可以说正是在 J a v a技术、I n t e r n e t 和电子
商务的推动下使安全技术成为计算机工业的主流,这是一个非常重要的成就。接下来应该改
进最初的设计方案,弥补早期版本中的一些不足之处,使 J a v a 平台上的安全解决方案更易于
使用、更为强大。
3.2.1 关于applet的沙盒模型的局限性
沙盒模型严格地限制了几种行为,而这些行为 a p p l e t可以执行。尽管沙盒模型是产生安全
网络计算的必要因素,但它却把所有的 a p p l e t 看成是潜在可疑的。因此,一些 a p p l e t 程序,例
如那些公司财务组编制出的用以处理内部交易的程序,即使它们比从陌生的 We b 站点随意下
载的applet 程序可靠许多,但在使用上也要受到限制。
像这样对所有的 a p p l e t 的全面限制是有局限性的。例如,假设总部在旧金山的经纪公司
Charles Schwab的一个客户正在运行该公司网页上的 a p p l e t 程序来进行股票交易,他也许想用
G i b r a l t a r一词来源于c a l p e ,两个大力神柱之一,见 Brewer's Dictionary of Phrase & Fable。
评论0