政府内网CA的设计与实现

来源 :信息化建设 | 被引量 : 0次 | 上传用户:sxlijx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  为解决网络安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的基于Internet的安全解决方案,即目前被广泛采用的公钥基础设施PKI,而签发数字证书的CA则是PKI的核心。CA的基本功能有:证书签发、证书更新、证书撤销和证书验证。其核心功能就是发放和管理数字证书。
  
  政府内网CA的需求分析
  
  政府内网CA是相对于整个Internet CA而言的。Internet CA要对全球范围内各种人员提供服务,要考虑方方面面的需要。因此其结构复杂、开发周期长、软硬件规模庞大、投资成本高昂、部署困难、使用和维护复杂。
  目前,很多政府内部建立了Intranet,在内部网中同样需要保证信息的安全。在一个单位中部署Internet CA显然是不现实的,这就需要一个适合在至多有数千用户的政府部门内部使用的CA。虽然它仅具有Internet CA的部分功能,但它足以满足需求,同时对它另一方面的要求是结构简单、开发周期短、软硬件规模小、投资成本较低、易部署、使用和维护简单。我们与某计算机公司合作,设计并实现了政府内网CA。
  1.总体需求
  系统应部署简单,用户使用方便。用户申请、更新、撤销、查询下载证书都应通过浏览器进行。只需在身份验证的时候到CA办公地点离线审核。
  CA签发的证书要符合x.509 v3国际标准。
  由于需要针对不同的繁忙程度,因此各软件模块可分别在不同服务器上运行,也可在同一台服务器上运行。
  由于仅在一个单位内部使用,无需设置远程RA(Registration Authority)。对于用户分散的部门,可通过电话联系或部门领导对部门员工集体注册等方式解决身份验证的问题。
  由于至多有数千用户,证书的撤销操作较少,政府内网CA不设置0CSP服务器,证书撤销验证采用CRL。可令CRL中的下次更新时刻与此次更新时刻的间隔较短,比如几天。同时每次有证书撤销操作时都更新CRL。这样既不会增加多少服务器的负担,又保证了CRL的实时性。
  同样由于用户较少,也不需查询速度较快的LDAP服务器:由于一般用户对数据库非常熟悉,可将用户证书同其他信息一同存于数据库中。
  2.软件需求
  为尽可能在一台服务器上运行多个软件模块,各服务器必须使用同一种操作系统。在实现中,为使用户操作简便,我们选用了Windows 2003 Server SP1。
  考虑到有较多的底层密码操作,也为了提高软件的移植性,各软件模块中与用户界面无关的部分统一用标准C++语言开发。
  密码操作使用何种方式实现是一个复杂的问题。可使用微软的CryptoAPI,自己作为CSP(Cryptographic Service Provider)来实现对密码硬件设备的操作,但这需要微软对CSP的签名。也可以根据PKCS#11标准编制自己的密码操作库。在实现中,我们使用了该计算机公司已有的符合PKCS#11标准的密码操作库。
  3.硬件需求
  尽量减少服务器的数量,尤其要减少昂贵的密码硬件设备的数量。为了系统的安全,CA私钥、系统主密钥(一个对称密钥,用于加密敏感信息)等高度敏感的信息必须使用密码硬件设备存储,密码硬件设备同时完成各种基本的密码操作。考虑到用户较少,可用一台加密机,或只用一台装有加密卡的普通服务器。
  4.功能需求
  要尽可能灵活,给用户尽可能多的选择。用户申请新证书时,有密钥托管与不托管两种选择。所谓密钥托管,是指用户的公私钥对由CA产生;密钥不托管,则指用户的公私钥对由用户自己产生,并产生PKCS#10请求。
  
  政府内网CA的总体设计
  
  1.政府内网CA的软件模块划分
  用户证书申请及管理模块:主要以网页形式提供证书申请、证书更新、证书撤销、证书/CRL的查询/下载、PKCS#12包的下载等功能。各种证书请求直接存入数据库,各种查询/下载直接从数据库中读取数据。
  CA管理模块:CA管理模块对系统进行日常的配置和管理。提供各种证书请求的审核、CA策略设定、系统监控、操作员管理、日志管理、统计报表以及各种查询功能。将各种证书请求从数据库中读出供操作员审核,审核通过后调用CA服务模块进行处理。
  CA服务模块:这是CA的核心,由CA管理模块调用。对各种证书请求进行处理,如证书的签发、更新、撤销、CRL的生成等,并将处理结果存入数据库。其中的密码操作调用密码服务模块。
  密码服务模块:由CA服务模块调用。执行产生用户公私钥对、对证书及CRL签名及验证签名、对称密钥加密解密等密码操作。产生的用户公私钥对经系统主密钥加密后存入数据库。
  数据库模块:存储各种数据。如CA的各种参数、用户的证书和PKCS#12包、用户的公私钥对。注意应将敏感信息加密后存储。
  2.政府内网CA的硬件配置
  政府内网CA的硬件配置包括:数据库服务器、CA服务器、密码服务器、Web服务器、管理Pc机分别运行数据库模块、CA服务模块、密码服务模块、用户证书申请及管理模块、CA管理模块。密码服务器为一台装有加密卡的普通服务器。对于较大的政府部门,可不用加密卡,而另设一台加密机。
  在实际使用中,根据用户的多少,可以将几个软件模块置于一台服务器上运行,以节省硬件投资。如将CA服务模块和密码服务模块放在一台服务器上运行。另外,很多政府部门都已有政府内网Web服务器,可根据需要灵活使用。
  
  政府内网CA各软件模块的详细设计及实现
  
  1.用户证书申请及管理模块
  本模块直接面向最终用户,要求操作简单、功能灵活。由于服务器操作系统使用Windows 2003 Server SP1,因此Web服务器我们选用了微软操作系统内置的IIS,网页使用ASP.net2.0技术、AJAX技术、COM技术和ActiveX技术。由于要传送口令、PKCS#12包等敏感数据,IIS配置成使用SSL保护。
  (1)用户注册功能。考虑到用户管理已有证书的需要,同时用户可能申请多个不同类型的证书,因此用户首先要注册。建立用户名和口令,同时填写申请证书时用到的基本信息。在网页中要用AJAX脚本对各项内容进行合法性检查。
  (2)证书申请功能。用户可以选择密钥托管或不托管。如果密钥托管,用户只需选择证书类型,并且设立PKCS#12包的口令。证书及私钥将封入一个PKCS#12包供下载。如果密钥不托管,用户可以提交一个已有的PKCS#10请求,也可以选择智能卡或USB KEY等硬件设备生成标准的PKCS#10请求,必须编写操作智能卡或USB KEY等硬件设备的ActiveX控件。如果没有硬件设备,也可以直接利用微软的ActiveX控件XEnroll.dll中接口ICEnroll的方法createPKCS10产生PKCS#10请求。在具体实现中,我们实现了以上全部的选项。
  (3)个人证书管理功能。用户输入用户名和口令后,可从这里完成证书的各种管理功能。为防止黑客编程反复尝试口令,可在输入口令页面中以图片的形式放置验证码,还可考虑采用一次性口令等技术提供更高的安全性。
  用户可对自己的证书提出更新、撤销等请求;也可以下载证书或PKCS#12包;还可以修改PKCS#12包的口令。证书或PKCS#12包下载后可导入系统的证书存储区,也可以导入智能卡或USB KEY等硬件设备,还可以另存为文件。这些功能均需通过ActiveX控件来完成。还需编写COM组件来完成修改PKCS#12包口令的功能。
  值得考虑的是,如何下载PKCS#12包。PKCS#12包中有用户的私钥,非常重要。为顺利通过防火墙和NAT网关等设备,PKCS#12包的下载ActiveX控件实现,该控件采用直接向Web服务器发送HTPP请求,由ActiveX控件直接下载,不通过浏览器下载,避免在浏览器临时文件夹中留有痕迹,安全性高。
  2.CA系统管理模块
  (1)系统初始化。本模块完成整个政府内外CA系统的初始化,包括数据库表的创建,CA根证书及私钥、管理员证书及私钥的生成。仅在安装完成后运行一次。
  (2)系统登录。操作人员都拥有智能卡或USB KEY等硬件设备,存放其证书和私钥。登录时用其证书及私钥执行鉴别协议。每个操作人员登陆后可进行日常的系统管理操作,如查看日志、统计数据、修改系统的设置。
  (3)证书请求处理。本模块主要实现对各种证书请求的审核,审核通过后则通过套接字编程调用CA服务模块处理。仅发送一个请求序列号给CA服务模块,CA服务模块据此从数据库中取出有关数据处理,然后将处理结果直接存入数据库,同时发给证书请求处理模块一个结果状态代码。
  (4)查询统计和日志管理。本模块能够查询统计用户和证书等的信息。并能记录操作人员在系统中的操作及操作结果等信息,以备日后核查。
  (5)系统设置。本模块主要设置证书有效期,使用算法等CA策略。还完成操作人员的添加、删除、查询、更新等功能。只能由管理员来做。
  3.CA服务模块
  本模块以后台守护进程的方式运行,监听并接收CA管理模块发来的请求序列号。根据请求序列号,从数据库中获取请求类型和用户信息,完成证书签发、撤销和更新等操作,并将签好的证书、CRL及PKCS#12包存人数据库。然后给CA管理模块返回处理结果状态代码。
  (1)证书签发处理。根据请求序列号,从数据库中取出用户基本信息和用户请求信息。如果用户选择了密钥托管,则从数据库中取出一未用公私钥对。经系统主密钥解密后,根据用户信息为用户制作证书和PKCS#12包,再将其存入数据库,PKCS#12包必须用系统主密钥加密;如果用户选择了密钥不托管,则先解开PKCS#10包,然后根据解出的信息为用户制作证书,最后把证书存入数据库。
  所有的签名和验证签名、对称密钥加解密等密码操作都需调用密码服务模块来完成。
  (2)证书撤销处理。根据请求序列号,在数据库中添加该证书的撤销信息,将此证书归档。由于用户不多,证书撤销后立即刷新CRL。CRL能签名操作需调用密码服务模块来完成。
  (3)证书更新处理。这是证书撤销和申请的结合。即撤销原有证书,申请新证书。不再赘述。
  4.密码服务模块
  本模块主要完成公私钥对的生成,以及签名和验证签名、对称密钥加解密等密码操作。本模块也以后台守护进程的方式运行,监听并接收CA服务模块发来的请求。
  (1)密钥数量监控。生成公私钥对是非常消耗时间资源的操作。本模块随时监控数据至中未用公私钥对的数量,当未用公私钥对少于某一数值时,以较低的运行优先级启动密码硬件设备生成一定数量的公私钥对,系统主密钥加密后存入数据库。
  (2)签名和验证签名。根据CA服务模块发来的请求,调用密码硬件设备完成签名和验证签名等密码操作。
  (3)其他密码操作。调用密码硬件设备完成对称加解密、生成哈希值等其他密码操作。如利用系统主密钥加解密敏感数据。
  5.数据库模块
  本模块比较简单,根据需要建立几十个基表即可,用不到存储过程、触发器等复杂对象。不再赘述。
  在PKI中,CA实现了对证书申请者的身份验证以及签发、管理数字证书的过程。政府内网CA具有CA的基本功能,且具有配置简单,灵活易用的优点。对于政府部门具有较强的针对性和推广应用前景。
  
   (作者单位:南京市建设工程交易中心信息部)
其他文献
2009年12月2日至3日,工业和信息化部在江苏扬州召开“全国地方电子政务信息共享和业务协同经验交流会”, 各省、自治区、直辖市和副省级城市及部分省会城市的信息化主管部门代表参加会议,工业和信息化部信息化推进司徐愈司长出席会议并讲话。  一直以来,信息共享和业务协同问题是我国电子政务发展过程中深化应用和取得更大实效的主要制约因素。为切实解决这一瓶颈问题,2008年12月,工信部在杭州召开“深化地方
期刊
近年来,北京市大力加强信息化在政府职能转变中的支撑作用,不断创新机制与模式,探索突破瓶颈,在政务信息资源共享与业务应用方面取得较好成效。    以主题应用共享为抓手,促进城市高效安全运行    北京市根据保障奥运会残奥会成功举办、首都国庆六十周年庆祝大会顺利进行等重大活动以及北京市经济发展对应急指挥、城市管理等电子政务应用的需求,把围绕重大应用主题开展资源共享作为推进信息资源共享和业务协同的重要方
期刊
近日,中国电信在2009年第九届中国年度管理大会上荣获“具价值企业之社会责任榜样奖”。 这是社会各界对中国电信为社会公益事业所做卓越贡献的再次肯定。  中国电信浙江公司张新建总经理始终认为,企业是社会财富的创造者,是有血有肉的“企业公民”,不仅要为社会提供产品和服务,更要履行社会责任。近年来,浙江大力支持社会公益事业、积极做好扶贫济困工作,提升“反哺”水平和能力。10年累计捐赠金额超过3.5亿元。
期刊
在浙江省嵊州市行政审批服务中心,党员干部聚集在一起,多次座谈有关对本单位如何开展深入学习实践科学发展观活动进行动员部署。他们在讨论中纷纷谈到:这次学习实践活动的关键是要做好“结合”和“转化”的文章。就是要结合新一轮行政审批制度的改革,破解审批难题,并要进一步增强服务意识,建立一套科学管用的长效监管机制,从而更好地服务嵊州的科学发展大业。  自去年8月份市政府作出全面部署以来,四轮审改开始在全市上下
期刊
经过十几年的发展,电子政务建设搭起了公民与政府间、政府不同部门间便捷、高效的沟通桥梁,提高了政府行政效率,提升了公共服务水平,在建设人民满意的服务型政府过程中功不可没。电子政务应用已经覆盖全社会,“网络政府”、“智慧政府”的理念逐步深入人心。  然而,发展与问题并存。  近些年来,一次次网络事件把政府推向舆论的风口浪尖,政府信誉遭遇尴尬质疑,人民满意的服务型政府建设任重道远。电子政务统一规划不足、
期刊
随着2004年环境信息法案(EIA)的修正,奥地利在联邦一级将公众获取环境信息纳入了国家法律。环境信息修正法案对环境信息的获取和传播提出了高要求,联邦政府、各省以及城镇和直辖市必须遵循这些要求,各级政府组织之间的合作必须达到一个新的水平,才能有助于增加政府的透明度,从而使环境管理更加贴近奥地利公民。为了确保协调和执行既定措施,奥地利政府已经在“数字奥地利”的基础上成立了一个专门针对环境信息的电子政
期刊
走进裁缝店,裁缝师要无一例外地了解顾客喜欢的颜色、款式、面料,测量每个人的三围尺寸,掌握了这些信息他才能为顾客量身打造一套既舒适又合身的新衣服,这一司空见惯的生活常识告诉我们:信息对于决策至关重要。  相比之下,政府系统更为庞杂,一个决策——尤其是在重大问题、突发事件时的决策会波及到大量人群,产生更大影响。因此,对于政府部门来说,全面完整的信息收集、分析和挖掘更为重要。为了给政府决策提供有力的数据
期刊
只要你拥有一个QQ号,那么你就同时有一个以QQ号为用户名的QQ邮箱。或许,你将这个邮箱弃之不用,这有些可惜,因为QQ邮箱确实有些特殊的功能能够满足你较特殊的需要。这不,以下就是这些功能中的两个实例。    一、分别发送    有时,你需要将同一封邮件发送给多人,但又希望每一个收到邮件的人只看到这封邮件是唯一发送给他自己的。该怎么办呢?此时,QQ邮箱的“分别发送”就能够帮上你的大忙了。  1.登录Q
期刊
近年来,随着“面向公众、服务公众”的政府门户应用理念的不断提升,政府门户应用越来越多,身份越来越复杂。为了满足大量应用系统的整合,选择什么样的技术构架就显得非常重要。  当前,Web2.0和面向服务架构(SOA)给政府门户的发展注入了新的活力。SOA是一种IT体系结构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。SOA帮助我们站在一个新的高度理解政府门户应用架构
期刊
受理各类审批服务事项49015件,市一级行政审批效率较法定时限平均提速58%,服务对象评价满意率达98.58%……  2009年3月2日正式启用的青岛市行政审批服务大厅,以“依法审批、便捷服务”为载体,围绕服务理念、审批流程、体制机制和评价监督等四方面践,进一步提高行政效率,提升政府服务水平。    创新理念 依法审批便捷服务    青岛市行政审批服务大厅在对全国30多个城市的审批工作情况和本市1
期刊