java 对平安性的支持序言: 在完成网络平安的算法库是,我选择了 java 语言来开发。由于 java 没有指针,使我对数据流的控制感到很是头痛, 于是对 java 编程很有意见, 然而在我使用大数类(BigInteger)时,无意中发现 java 对 RSA 封装的很好,再认真看相关的资料,觉得里面有不少东西,于是决定以此为本学期的论文题目,希望通过这次学习能够从有用的角度更加深化的了解网络平安的一些概念。本着学以至用的观点,我自己设计了一个系统,虽然比拟幼稚,但我尽量用上们所学的算法和应用流程,信任着对我今后对网络平安的理解会很有帮助的. java 中平安性方面的概述系统结构以 JDK 1.2 为例.。首先无论代码来自本地或是远端,都要对应一个平安策略(security policy)----- 它定义了不同签名者、不同来源的一套权限控制策略(permissions), 在权限控制中说明了对资源〔 如文件、目录、端口。。〕的访问的权限。运行系统将代码组织到单独的域 (domains) 中---- 每个域封装了一组具有相同控制权限的类的实例。域相当于 SandBox (沙箱),Applet 可以在管理员的授权下运行于一个受到限制的环境中,而应用程序就不用受到这些限制,当然他也受到平安策略的控制。JDK 1.2 Security Model: 密码使用的体系结构 JDK1.2 不但保存了以前的 签名算法、消息摘要算法、密钥生成算法, 还增加了 密钥管理、算法参数管理、算法 参数生成、支持不同密钥转化的代理,认证中心 、随机数生成算法 。JDK1.2 中还增加了一些加密算法的扩展包〔Java Cryptography Extension 即 JCE〕,提供了全面的平台无关的 API 函数 ,实现了数字签名、 md5、SHA-1、基于 的认证代理。。。;下列图显示了 JCE 的模型 :关于 Appelt 权限控制的简介 :Java 平台通过平安管理器(security manager)来防止系统遭到攻击。现在的 JDK 系统是通过启动平安管理器来进行资源访问控制的。现在的浏览器中都装有平安管理器, Applet 的一举一动都受到管理器的控制下,与 JDK 1.2 平台兼容的系统需要通过 policy 文件来授权。在 policy 文件中定义了来自某地(URL)的某人签名的代码的访问权限控制 ,在 JDK 1.2 中,可以通过工具 policytool 来生成、编辑 policy 文件.。关于应用程序权限控制的简介 :假如没有平安管理器控制的话,应用程序是完全自由的〔此时平安管理器是不会自动启动的〕。通过用命令行 -D 来运行程序,就和下载...