论文部分内容阅读
CA系统是通过为用户提供证书来确认用户身份,保证在大型开放式网络环境下网络和信息安全而被广泛采用的有效体系。它是在公开密钥基础设施(PKI)技术研究和发展的基础上建立起来的。它应用各种加密技术,使人们通过网络传递的信息成为安全、可靠、和可以信任的。本文通过分析网络安全和用户对CA系统的需求,完成对系统的架构分析和详细设计,其实现分为CA和RA两部分,参考OpenCA系统的实现,通过.NET技术完成了关于用户申请,创建和发布证书等一系列完整流程。本文论述了CA系统开发的背景和现状。介绍了系统的需求分析和安全架构、系统架构的分析和设计,数据库的设计,密码学的应用和.NET的开发实践,介绍了系统的测试和部署。设计和实现过程中主要涉及以下问题:第一、实现了开发过程的控制。为了保证系统的快速开发,同时保证系统的可扩展性,采用迭代开发模型。使系统能够分阶段逐步完成功能,同步进行测试,不断得到完善,同时可以及时改正错误。第二、完成了密码学算法和国际标准的实现。系统中用到的RSA等非对称加密算法,身份确认算法以及公钥加密标准(PKCS)和X.509证书标准,均用C#算法实现。生成的证书符合国际标准,以便互连网上通用。第三、完成系统整体结构的设计。根据软件开发和实施的经验,系统在设计过程中应用了策略模式等设计模式,保证系统的模块化,可配置,可扩展和易维护。本系统按功能分为认证中心(CA)和注册中心(RA)两部分,采用ASP.NET和C#技术实现。密钥和证书的生成与管理在CA部分实现,用户的注册在RA部分实现。密钥、证书和用户信息等用SQL SERVER2000数据库存储,用ADO.NET技术连接数据库。设置LDAP服务器,证书和证书撤消链表信息运用轻量级目录访问协议(LDAP)发布。用户可采用浏览器使用系统的功能。为保证信息传输的安全,客户与服务器之间采用加密套接层(SSL)协议,可通过ⅡS服务器配置实现。第四、实现业务流程的建模。采用业务过程建模技术,对证书申请,发放等过程进行分析,将各个过程定义为一系列状态,由程序根据业务执行情况自动实现其状态转变。第五、实现对系统的审核和管理功能。为保证整个系统的管理和监控,需要有系统日志记录功能。对管理员的身份认证和权限进行严格限制。第六、提供应用程序接口。除提供用户访问功能外,还通过Web Service服务对应用程序提供访问接口以便开发人员使用。安全的CA系统还要求公司规范操作人员管理,制定各种规章制度,加强防护等,这些都是保证CA系统安全的重要措施,但不在本文论述范围。