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