不论黑客们的意图如何,作为软件专业人员——无论是架构师、开发人员还是管理人员——创建安全的、能够防止黑客行为(或者说对黑客不友好)的解决方案是我们共同的职责。本文将探讨一些应用程序安全性方面的问题,并从高层面上讨论 Java 如何以及在哪些地方适用于混合环境,从而使您能够利用其安全性功能来构建安全的架构。
探讨系统安全性
系统安全性是一个复杂的主题,涉及到许多相关的领域。例如,考虑一台位于公共区域、提供给公众访问的计算机。无论您在它上面安置多少警铃,它依然处于被黑客攻击的危险之中。换句话说,您不会想在这台计算机上计算每年的税额。另一方面,考虑一台位于银行室内、没有磁盘驱动器(软盘、 CD 或 DVD )或网络连接的计算机。对这台计算机进行黑客攻击是不可想像的事情。物理上的安全性只是计算机安全性的一个领域。
另一个领域是程序上的 / 操作上的,它包含了如何维护与安全性相关的信息。例如,如果将密码写在纸上,或者在您的键盘上敲出来,那么即使是最有创意的密码也是不保险的。最后,甚至政府也在保护您的系统中扮演着重要角色,因为政府可以制定、实施和执行与惩罚黑客相关的适用法律。
当大多数人考虑系统安全性的时候,他们会想到一些组件,比如防火墙和代理服务器,或者是安全套接字层( Secure Sockets Layer , SSL )这样的协议。尽管这些对于安全性很重要,但是它们无法始终保证系统的安全性。这些协议的首要功能是使外部人员呆在他们应该呆的地方——外部。统计数据已经反复表明,大多数黑客行为出现在内部。为了避免这些类型的攻击,设计应用程序的架构时必须考虑安全性。
Java 平台中的安全性
Java 平台是创建企业应用程序的普遍选择。它之所以如此受欢迎,主要原因之一是在创建 Java 语言时充分考虑了安全性,而且市场普遍认为 Java 是一种“安全的”语言。尽管从各大厂商(如 Microsoft )的 Java 实现中已经找出了一些安全缺陷,但 Java 中提供安全性的架构部分已经得到了时间的检验。 Java 平台在两个层次上提供安全性:语言层次和企业层次。
语言安全特性
如上所述,创建 Java 时已经充分考虑到了安全性,而且 Java 这些年来已经逐渐成熟。以下组件组成了 Java 在语言层次上的安全性:
| 第1页: 探讨系统安全性 | 第2页: Java 类加载器 |
| 第3页: 自由联盟(和 Web 服务安全) |