论文部分内容阅读
本文主要研究了基于Web Services的安全服务系统的设计与实现。首先就基于Web Services的安全服务系统与传统安全服务系统的工作模式进行对比,并提出了基于Web Services的安全服务系统三个优点:松耦合性、跨平台性与跨编程语言性。
从功能上系统划分为数字证书、数字签名、密码服务、安全设备管理、人员管理、角色管理、系统报表及系统管理八大模块。
系统架构设计上,根据面向服务对象不同:面向应用程序与面向操作者,划分为三个子系统:JSecurity、JSecurity Port和JSecurity Janitor。JSecurity是提供安全服务的核心,JSecurity Port是在JSecurity的基础上设计的面向应用程序的接口,JSecurity Janitor则是一个通过JSecurity Port接口把JSecurity安全服务提供给操作者的可视化Web服务器。
JSecurity子系统是一个基于JCE框架的安全服务系统,是本系统的核心。划分为四大模块:证书库管理、证书管理、数字签名、对称加密,及17个安全服务:注册新证书、恢复私钥等。使用JCE作为安全算法的实现框架,X.509.v3作为证书格式。可使用的对称算法:”AES”、”Blowfish”、”DES”与”DESede”,非对称算法:”RSA”与”DSA”,散列算法:”SHA1”与”MD5”。
JSecurity Port接口子系统是为JSccurity设计的Web Services接口。JSecurity子系统通过该接口子系统向外发布服务,从而实现跨平台、跨编程语言通讯。该接口系统由五PortType组成:CertKit、KeyStoreKit、CryptKit、SignatureKit、DigestKit。采用XFire作为开发框架,Tomcat作为HTTP容器。本文同时针对开发过程中遇到的关于如何传输复杂对象的问题进行分析,并提出了一个基于对象序列化,即对象与二进制相转换、基于二进制传输的解决方案,并给出测试结果。
JSecurity Janitor子系统是为管理以上JSecurity子系统而设计的,如数字证书签发、更改、注销等的管理。为JSecurity安全服务提供人性化操作界面,如在线数据加密、在线数字签名等。系统在开发过程中同时提出一种基于DAO的开发模式:以数据表为类,POJO为该类属性,DAO为该类方法。该开发模式优点:1.合并样板式代码,简化业务逻辑层;2.降低系统耦合度。并给出一个基于Struts、Hibernate及Spring框架的具体开发模式说明。子系统同时提供了其他安全相关的管理服务,如基于RBAC的用户角色权限管理、安全设备管理等。