1、CA系统应用安全解决方案(版本:1.0)目 录1前言12应用安全需求概述13方案总体设计思想24CA认证系统设计34.1iTrusCA系统简介34.2认证体系设计44.3系统网络架构64.4证书存储介质64.5CA系统功能74.6证书应用开发接口(API)94.7系统工作流程设计94.8系统性能和特点分析115应用系统安全集成方案125.1邮件系统安全应用125.2VPN安全应用145.2.1VPN安全登录实现原理145.2.2VPN证书介绍155.2.3VPN证书应用155.3安全域登录应用165.3.1域登陆165.3.2智能卡及数字证书165.3.3智能卡域登录175.4B/S系统安全应
2、用185.4.1B/S架构系统安全原理195.4.2应用系统安全架构215.4.3应用系统身份认证流程225.4.4应用系统签名流程235.5C/S架构系统安全应用255.5.1系统集成原理255.5.2系统安全架构265.5.3证书应用开发接口(API)265.5.4系统工作流程276总结281 前言以Internet为代表的全球性信息化浪潮迅猛发展,信息网络技术的应用正日益普及和广泛,应用层次正在深入,应用领域也从传统的、小型业务系统逐渐向大型、关键业务系统扩展,从典型的如金融业务系统、网上证券交易业务系统、企业内部应用系统,逐渐扩展到政府办公系统应用。在这股浪潮的推动下,为了提高企业的办
3、事效率,各个企业纷纷利用先进的IT技术来降低政务办公的成本和加强信息管理,广泛的开展电子政务。由于业务发展的需要,用户也建设了自己的各种应用信息系统,为了保证系统的正常运转,有必要采取安全的措施来保障各个应用系统运行的安全。本文主要目的是旨在分析用户的系统安全需求,然后阐明采用PKI/CA技术,来保障用户的信息系统安全。2 应用安全需求概述随着用户信息系统的建设,大量的办公业务数据文件通过网络相互传递,同时大量的数据文件也保存于文件服务器之上。如果不能保证这些系统的用户登录认证安全,保证这些数据的传输安全,其后果是可想而知的。此外,在实现资源和数据共享的同时,也面临巨大的威胁和风险,我们必须对
4、这些资料进行严格控制,保证只有被授权的人员才能够访问合法的资源,并且对于每个人产生的信息,需要保留相应的记录。由于互联网的广泛性和开放性,给应用系统带来了很多安全隐患,主要体现在如下几个方面:(1)身份认证目前,应用系统是采用“用户名密码”的方式来验证访问用户的身份。采用“用户名密码”的方式登录应用系统时,用户输入的用户名和密码都是通过明文的方式,传输给系统服务器,系统服务器根据用户提交的用户名和密码,查询数据库,来判断用户的身份是否真实。这种方式存在巨大的安全隐患,非法用户可以通过口令攻击、猜测或窃取口令等方式,假冒合法用户的身份,登录系统进行非法操作或获取机密信息。因此,需要采用安全的手段
5、,解决应用系统身份认证需求。(2)访问控制对于系统的不同用户,具有不同的访问操作权限。因此,应用系统在身份认证的基础上,需要给不同的身份授予不同的访问权限,使他们能够进行相应授权的操作。因此,需要采用有效的手段,解决应用系统访问控制的需求。(3)信息机密性和完整性通过应用系统传输很多敏感资料,如通过应用系统,需要通过开放的互联网,非法用户很容易监听网络传输的数据甚至篡改相关数据,或者入侵到应用系统,窃取有关资料。因此,需要采用有效的方式保证应用系统传输数据的机密性和完整性。(4)信息抗抵赖信息抗抵赖是指信息的发送者不能对自己发送的信息进行抵赖。在应用系统中传输的很多信息,都需要实现信息抗抵赖。
6、比如财务部进行财务汇报时,如果采用纸质的方式,可以在财务报表上签字盖章。但是通过电子数据共享和传输,不可能像纸质文件那样进行手写签字和盖章。而如果没有有效的手段保证电子数据共享和传输的抗抵赖,财务部可以否认自己共享和传输过的电子数据。一旦出现问题,将没有任何有效的证据,对肇事者进行追究。另外,对于通过应用系统进行网上申报与审批时,如果没有抗抵赖性,申报者将可以否认自己的申报数据和行为,审批者也可以否认自己的审批意见和行为,甚至出现假冒他人进行申报或审批的行为。这样,将导致整个应用系统不能正常工作,将给企业造成巨大的损失。为此,根据用户的信息系统安全现状,采用PKI(Public Key Inf
7、rastructure,公钥基础设施)技术,为用户设计了基于数字证书的应用安全解决方案。3 方案总体设计思想根据用户的系统安全需求,基于自身在PKI/CA领域的技术优势,采用自主开发的PKI产品iTrusCA系统,为用户提供了完善的安全解决方案,解决方案总体框架包含如下几个基本思想:一、 采用iTrusCA系统,为用户建设一套功能完善的CA认证系统,为用户各个应用系统的用户颁发数字证书,提供安全认证服务。二、 用户应用系统集成数字证书的应用,用户登录系统时,必须提交CA认证系统颁发的用户证书,系统通过用户证书来实现身份认证和访问控制,同时通过加密技术和数字签名技术,实现信息传输的机密性和抗抵赖
8、性等安全需求。三、 用户证书保存在USB KEY中,USB KEY是一种安全的证书存储介质,可以设置口令,保证证书和私钥的安全,使用USB KEY也可以实现对移动办公的安全需求。以下,将分别对方案总体框架描述中CA认证系统、应用系统安全集成方案等几部分分别进行描述。4 CA认证系统设计CA认证系统负责为用户提供安全认证服务,本方案采用iTrusCA产品进行设计和建设。4.1 iTrusCA系统简介iTrusCA系统是参照国际领先的CA系统的设计思想,继承了国际领先CA系统的成熟性、先进性、安全可靠及可扩展性,自主开发的、享有完全自主知识产权的数字证书服务系统。系统具有完善的功能,能够完成从企业
9、自主建立标准CA到政府、行业建立大型服务型CA等全面的需求。iTrusCA系统采用模块化结构设计,由最终用户、RA管理员、CA管理员、注册中心(RA)、认证中心(CA)等构成,其中注册中心(RA)和认证中心(CA)又包含相应的模块,系统架构如下图:图1 iTrusCA系统模块架构图iTrusCA系统能提供完善的功能,包括:证书签发、证书生命周期管理、证书吊销列表(CRL)查询服务、目录查询服务、CA管理、密钥管理和日志审计等全面的功能。iTrusCA系统按照用户数量的不同分为小型iTrusCA、标准型iTrusCA、企业型iTrusCA和大型iTrusCA,不同类型系统的网络建设架构是不同的。
10、iTrusCA系统具有下列特点:A. 符合国际和行标准;B. 证书类型多样性及灵活配置。能够发放包括邮件证书、个人身份证书、企业证书、服务器证书、代码签名证书和VPN证书等各种类型的证书;C. 灵活的认证体系配置。系统支持树状的客户私有的认证体系,支持多级CA,支持交叉认证;D. 高安全性和可靠性。使用高强度密码保护密钥,支持加密机、智能卡、USB KEY等硬件设备以及相应的网络产品(证书漫游产品)来保存用户的证书;E. 高扩展性。根据客户需要,对系统进行配置和扩展,能够发放各种类型的证书;系统支持多级CA,支持交叉CA;系统支持多级RA。F. 易于部署与使用。系统所有用户、管理员界面都是B/
11、S模式,CA/RA策略配置和定制以及用户证书管理等都是通过浏览器进行,并具有详细的操作说明。G. 高兼容性。支持各种加密机、多种数据库和支持多种证书存储介质。4.2 认证体系设计认证体系是指证书认证的逻辑层次结构,也叫证书认证体系。证书的信任关系是一个树状结构,由自签名的根CA为起始,由它签发二级子CA,二级子CA又签发它的下级CA,以此递推,最后某一级子CA签发最终用户的证书。认证体系理论上可以无限延伸,但从技术实现与系统管理上,认证层次并非越多越好。层次越多,技术实现越复杂,管理的难度也增大。证书认证的速度也会变慢。一般的,国际上最大型的认证体系层次都不超过4层,并且浏览器等软件也不支持超
12、过4层的认证体系。本方案设计的用户的CA认证系统采用如下图所示的认证体系:图2 用户CA认证体系图如图所示,认证体系采用3层结构:n 第一层是自签名的用户根CA,是处于离线状态的,具有用户的权威性和品牌特性。n 第二层是由用户根CA签发的用户子CA,处于在线状态,它是签发系统用户证书的子CA。n 第三层为用户证书,由用户子CA签发,从用户证书的证书信任链中可以看出整个用户的CA认证体系结构,用户证书在用户的应用范围内受到信任。采用这种认证体系具有下列特点:(1) 体现用户的权威性从认证体系上看,用户CA具有自己的统一的根CA,由用户进行统一管理,负责整个用户的认证体系、CA策略和证书策略的定制
13、与管理,这样充分体现了用户的权威性。(2) 具有很好的可扩展性如图所示体系具有很好的可扩展性,采用三层结构为体系的扩展预留了空间(因为大多数应用都只支持四层以下),根据用户实际应用需求,将来可以在子CA下,签发下级子CA;或者针对别的应用再签发子CA这样,使得用户CA认证体系具有很好的可扩展性。(3) 具有很好的可操作性采用三层体系结构,相对比较简单,在CA的创建和管理上也相当比较容易。虽然从技术上认证体系支持无限扩展,但是层次越多,技术实现越复杂,管理的难度也增大。而采用三层结构是目前业界比较通用的、标准的做法。这样,使得用户CA认证体系具有很好的可操作性。4.3 系统网络架构采用iTrus
14、CA系统将为用户建设一个CA中心和一个RA中心,iTrusCA系统的所有模块可以安装在同一台服务器上,也可以采用多台服务器分别安装各模块。系统网络架构如下图所示:图3 CA系统网络架构示意图如图所示,将iTrusCA系统的CA认证中心和RA注册中心各模块安装在CA服务器上,为了保证系统的安全,CA服务器必须位于安全的区域,即采用防火墙与外界进行隔离。最终用户使用浏览器,访问CA服务器,进行证书申请和管理。管理员(包括CA管理员和RA管理员,可以是同一个管理员担任)使用浏览器,访问CA服务器,进行证书管理和CA管理。4.4 证书存储介质本方案推荐使用USB KEY来保存用户的证书及私钥。USB
15、KEY是以USB为接口的存储设备,它便于携带和使用,可以实现在所有的机器(具有USB接口)上的漫游,可以满足用户移动办公的需求。USB KEY可以设置用户口令保护,增强了证书及私钥的安全性。为了在发生USB KEY丢失等情况时,私钥可以恢复或者还可以用私钥解密以前的加密邮件,在申请证书时,密钥对可以在系统中产生而不是在USB KEY中产生,当证书申请成功后,再将私钥和证书导入到USB KEY中;同时系统可以以文件的形式保留私钥和证书的备份,这就提供了在USB KEY丢失时对用户私钥和证书的保护措施。4.5 CA系统功能iTrusCA系统具有完善的功能,采用iTrusCA系统设计的用户CA认证系
16、统也具有完善的功能,包括:(1)证书签发通过CA认证系统,能够申请、产生和分发数字证书,具有证书签发功能。用户访问CA认证系统,提交证书申请请求,申请数字证书;RA管理员访问管理员站点,审查和批准用户的证书申请请求;CA认证中心根据RA管理员的批准,签发用户证书,并将数字证书发布到目录服务器中。用户CA认证系统,获取签发的证书。(2)证书生命周期管理通过CA认证系统,可以实现证书的生命周期管理,包括:l 证书申请 最终用户使用浏览器,访问CA认证系统,可以进行证书申请,在线提交证书申请请求;l 证书批准 管理员登录管理员站点,完成证书批准功能,可以查看和审批最终用户的证书申请请求;l 证书查询
17、 最终用户可以通过CA认证系统,查询自己或别人的数字证书;l 证书下载 通过CA认证系统,可以下载签发的数字证书;l 证书吊销 最终用户在使用证书期间,有可能会出现一些问题,如:证书丢失、忘记密码等,最终用户就需要将原证书吊销。用户吊销证书时,可以直接访问CA认证系统,在线的向CA提交证书吊销请求,CA认证系统根据用户的选择,自动吊销用户的证书,并将吊销的证书添加到证书吊销列表(CRL)中,按照证书吊销列表的发布周期进行发布;l 证书更新 在用户证书到期前,用户需要更新证书,用户访问CA认证系统,查询用户的证书状态,对即将过期的用户证书进行更新。(3)CRL服务功能CA认证系统支持证书黑名单列
18、表(CRL)功能,能够配置指定RA的CRL下载地点及CRL发布时间。CA认证系统定时产生CRL列表,并将产生的CRL发布至Web层CRL服务模块,可以通过手工下载该CRL。(4)目录服务功能CA认证系统支持目录服务,支持LDAP V3规范,CA认证系统在签发用户证书时或者对证书进行吊销处理时,会及时更新目录内容。证书目录服务的功能提供给用户进行证书查询的功能,用户可以通过电子邮件(Email)、用户名称(Common Name)、单位名称(Organization)和部门名称(OU)等字段查找CA认证系统签发的用户证书。(5)CA管理功能CA认证系统具有完善的CA管理功能,包括:l 管理员管理
19、 n RA管理员管理,包括初始化RA管理员申请、增加RA管理员、删除RA管理员;n CA管理员管理,包括初始化CA管理员申请、后续CA管理员证书申请、吊销CA管理员证书。l 账号管理n 个人账号管理,包括注册信息,证书信息等管理;n RA账号管理,包括RA账号申请、批准、吊销、额外管理员证书申请等。l 策略管理n 证书策略配置管理,高度灵活和可扩展的配置CA所签发证书的有效期、主题、扩展、版本、密钥长度、类型等方面;n RA策略配置管理,包括语言、联系方法、证书类型、是否发布到LDAP等;n CA策略配置管理,包括证书DN重用性检查、CA别名设置等。(6)日志与审计功能系统具有完善的日志与审计
20、功能,可以查看和统计各种日志,包括:l 统计各CA、RA账号证书颁发情况;l 记录所有RA与CA的操作日志;l 对所有操作人员的操作行为进行审计。(7)CA密钥管理系统支持CA密钥管理功能,包括:l CA密钥产生和存储(软件与硬件);l CA证书(包括根CA和子CA)的产生和管理;l CA密钥归档与备份。4.6 证书应用开发接口(API)为了实现基于数字证书的安全应用集成,提供了完整的证书应用开发接口(API),提供C、JAVA和COM等多种接口,包括:n 个人信任代理(PTA)个人信任代理(PTA)是客户端的软件包,既包括安装在客户端的文件加密/解密程序,也包括用于数字签名和签名验证的Act
21、iveX控件。文件加/解密模块可以产生随机数密钥对文件进行加密,以及使用输入的密钥对文件进行解密;ActiveX控件由用户访问相关网页时下载到客户端浏览器中,实现使用本地的证书(私钥)对文件进行数字签名,以及对签名进行验证。n 证书解析模块(CPM)证书解析模块是一系列平台下的动态链接库,用于解析DER或PEM编码的X.509数字证书,将证书中的信息,包括用户信息、证书有效期、证书公钥等信息分解为字符串。n 数据签名验证模块(SVM)数据签名及验证模块是一系列平台下的动态链接库或插件,可以应用于客户端和服务器端,实现对传输数据的数字签名,和对数字签名及其证书进行验证。证书的验证可使用CRL或O
22、CSP来进行有效性验证。4.7 系统工作流程设计(1)证书发放流程本方案设计的用户CA认证系统的证书发放采用集中发证的方式,即由管理员集中申请好证书,保存在USB KEY中,发放给用户使用。其工作流程如下图所示:图4 证书发放流程图(a) 管理员使用浏览器,访问用户CA认证系统,进入证书申请页面,替最终用户填写证书申请信息,向用户CA认证系统提交证书申请请求。在本地(本地的USB KEY上)产生证书的公私钥对,并将公钥和用户信息一起作为证书申请请求,提交给CA认证系统;(b) CA认证系统根据管理员提交的证书申请请求,批准并签发用户证书,将用户证书发布到数据库中。同时,将用户证书返回到管理员端
23、,保存到USB KEY中;(c) 管理员将申请好证书的USB KEY发放给最终用户。(2)证书吊销流程在用户证书的私钥受到威胁、或者用户私钥丢失时,需要吊销用户的证书,根据用户信息系统的应用情况,本方案设计证书吊销由管理员进行,其工作流程如下:(a) 管理员在发现用户违反使用规定,或者用户自己向管理员发送邮件,请求吊销自己的证书时,管理员访问CA认证系统管理员模块,进行用户证书吊销用户;(b) 管理员通过证书管理功能页面,查询到需要吊销的用户证书;(c) 管理员选择吊销操作,选择吊销用户证书的原因,向CA认证系统发送证书吊销请求;(d) CA认证系统根据管理员的证书吊销请求,自动的吊销用户的证
24、书,并将吊销的用户证书发布到证书吊销列表中,同时对数据库中保存的用户证书的最新状态进行更新;(e) CA认证系统给管理员返回证书吊销成功信息,同时给用户发送电子邮件,告诉用户证书已经被吊销,不能再使用自己的证书。(3)证书更新流程最终用户在其证书即将过期之前,需要访问CA认证系统,更新自己的证书,其流程为:(a) 最终用户在证书即将过期前(一般为一个月),访问用户CA认证系统,登录用户服务页面,点击“证书更新”选项;(b) 系统自动识别用户是否具有用户CA认证系统颁发的数字证书,并且判断是否过期,如果即将过期,便提示进行更新;(c) 用户选择需要更新的证书,点击提交,向CA认证系统提交证书更新
25、请求。在提交证书更新请求时,在USB KEY中,重新产生更新证书的公私钥对,将公钥和即将过期的证书一起,作为证书更新请求,提交给CA认证系统;(d) CA认证系统自动批准证书更新请求,自动更新用户证书,将更新的证书发布到目录服务器,同时将更新证书返回到用户端,自动保存到USB KEY中。4.8 系统性能和特点分析采用iTrusCA系统建设的用户CA认证系统拥有下列性能和特点:(1)符合国际和行业标准系统在设计中遵循了相应的国际和工业标准,包括X.509标准、PKCS系列标准、IETF的PKIX工作组制定的PKI相关RFC标准,以及HTTP、SSL、LDAP等互联网通讯协议等。严格遵循这些标准,
26、使得系统具有很好的开放性,能够与各种应用结合,成为真正的安全基础设施。(2)证书类型多样性及灵活配置系统能够提供各种证书的签发功能,本方案设计的CA认证系统能够签发个人身份证书。将来根据用户的需要,可以进行扩展,通过灵活配置可以签发企业证书、服务器证书、代码签名证书和VPN证书等。(3)灵活的认证体系配置系统采用“认证体系设计”一节设计的CA认证体系,采用树状结构,支持多级CA,支持交叉认证。(4)注册机关(RA)建设方式多样化本方案设计的CA认证系统采用一个RA的配置,根据用户的要求,将来可以配置多个RA和多级RA,RA界面风格可定制。(5)高安全性和可靠性使用高强度密码保护密钥,支持加密机
27、、智能卡、USB KEY等硬件设备,用户关键信息散列保存,以防遗失。(6)高扩展性根据客户需要,对系统进行配置和扩展,能够发放各种类型的证书;系统支持多级CA,支持交叉CA;系统支持多级RA。(7)易于部署与使用系统所有用户、管理员界面都是B/S模式,CA/RA策略配置和定制以及用户证书管理等都是通过浏览器进行,并具有详细的操作说明。(8)高兼容性支持Windows、Linux、Solaris等多种操作系统;支持多种加密设备:软加密库、山大加密机和天融信加密机等;支持多种数据库:Oracle和SQL server等;支持多种证书存储介质:硬盘、USB KEY和智能卡等5 应用系统安全集成方案本
28、方案主要目的是解决用户应用系统的安全问题,采用iTrusCA系统利用数字证书在不增加用户额外负担的情况下更好的保证了身份认证系统的安全性,以下将从安全原理、安全构架和具体应用流程等方面入手,针对用户中常见的一些应用系统,介绍我们的应用系统集成方案。5.1 邮件系统安全应用邮件用户从管理员处获得保存有证书的USB令牌之后,在所在单位的邮件管理员的指导下,安装USB令牌的驱动,将USB令牌插入到计算机,对邮件客户端进行安全配置,如下图所示为对Outlook邮件客户端进行安全配置的示例:图5 Outlook安全配置示意图在完成邮件客户端的安全配置之后,用户就可以使用邮件客户端发送加密和或签名的安全电
29、子邮件,可以实现:l 对电子邮件的内容和附件进行加密,确保在传输的过程中不被他人阅读、截取和篡改。l 对电子邮件进行签名,使得接收方可以确认该电子邮件是由发送方发送的,并且在传送过程中未被篡改。图6 发送和接收安全电子邮件示意图上图所示是在Outlook邮件客户端使用的情况,其它邮件客户端类似。想对邮件进行签名和加密,只需要按下“签名”和“加密”按钮就可以了,系统后台使用您的证书所对应的私钥对邮件进行签名,再使用接收者的证书的公钥对邮件进行加密;在收到邮件时,系统自动使用您的证书所对应的私钥对邮件进行解密和并自动使用发送者的公钥验证发送者的签名,并提示接收者邮件的安全情况,没出现安全问题,直接
30、打开邮件,当出现安全问题时,则提示邮件接收者,邮件什么地方存在安全隐患,如上图所示。5.2 VPN安全应用对于采用标准协议实现的VPN设备,由于VPN设备对数字证书的支持,我们可以通过CA认证系统为VPN设备颁发数字证书,为客户端颁发个人证书,利用CA系统进行相应的数字证书发放和管理。证书的加密和验证数据在这些设备之间进行传送,产生了一个安全的虚拟专用网络。以下将进行详细阐述:5.2.1 VPN安全登录实现原理目前,使用VPN可以采用两种方式,即使用证书的方式和不使用证书的方式。对于不使用证书的方式建立的VPN存在下列风险:(1) 不使用证书的方式建立VPN时,是基于“用户名和口令”的认证,我
31、们知道“用户名和口令”的认证强度低,存在很多安全弱点,无法满足较高的安全需求;(2) 其次,不使用证书的方式存在VPN密钥分发的困难,VPN密钥是一个对称密钥,用来对VPN链路层数据的加密。而目前比较通常的做法是在配置VPN时,就在VPN客户端和VPN服务端(VPN网关)之间配置一个共享的对称密钥。但是这种方式的对称密钥的安全性不高,很容易被泄漏。为了提高这种方式的安全性,需要管理员不定期的对共享的对称密钥进行更换,但是,由于更换对称密钥的操作中的人为因素等原因,使得这种方式存在巨大的安全隐患。为此,VPN应用引入了证书,来解决不使用证书方式存在的安全隐患:(1) VPN证书(包括VPN设备证
32、书和VPN用户证书)是VPN设备和用户的护照,表明设备和用户的身份,基于数字证书的身份认证是一种强身份认证,完全可以满足应用的身份认证需求;(2) 使用VPN证书(包括VPN设备证书和VPN用户证书)可以实现协商会话密钥,在进行数据通信时,发送方产生会话密钥,对发送数据进行加密,然后使用接收者的证书(公钥)加密会话密钥。接收者使用自己的证书私钥解密会话密钥,再用会话密钥解密被加密的数据;5.2.2 VPN证书介绍VPN证书也是人们常说的IPSec证书,包括两种证书: 一是VPN客户端证书,就是通常的用户证书,可以存放在IPSec客户端软件中管理,也可以存放在IE浏览器或者USB KEY等其他存
33、储介质内。 二是VPN设备证书,是标准的X.509证书,存放在IPSec设备中,如带有VPN功能的路由器、防火墙内,由设备的VPN功能模块来配置、管理。VPN证书用于VPN设备的身份鉴别、建立安全通道。有了VPN证书,客户可在开放的、不安全的Internet上构建安全虚拟专用网,实现各分支机构、合作伙伴和远端用户之间的安全数据通讯。VPN证书可识别使用IPSec(IP安全)协议进行安全通信的设备。IPSec是一套支持IP包安全交换的协议,不像SSL那样在应用层运行,IPSec在IP网络层中运行,对IP包进行加密。IPSec能够利用验证及加密用的VPN证书,将两个网络层对等起来,如两个路由器、或
34、是最终用户与远程路由器之间,以便建立安全的通信。通过本方案设计的CA认证系统可以签发VPN客户端证书(即用户证书)和VPN设备证书。5.2.3 VPN证书应用根据以往的VPN证书应用经验,证书的应用流程主要有:(1) 登录CA服务器,下载VPN根证书,将CA根证书上传到设备系统中;(2) 为VPN设备申请设备证书,将设备证书上传到VPN设备中;配置VPN设备中使用证书的身份认证方式和加密方式等的参数;(3) 为用户申请用户证书,将证书保存在USB KEY中;并配置客户端程序,使VPN系统使用证书进行登录身份认证;(4) 用户在登录系统时,跟原来的流程一样,VPN系统自动通过证书验证用户端额身份
35、,根据用户的权限建立相应的连接;并通过证书来交换VPN加密通道的会话密钥;(5) 整个认证过程采用证书进行用户身份认证,并使用证书交换会话密钥,增强了系统的安全性。5.3 安全域登录应用为用户提供基于数字证书的Windows域登录解决方案,使用户安全方便地使用Windows域中的各种资源。5.3.1 域登陆Windows域登录是指Windows用户从Windows工作站以域用户的身份登录到Windows中的过程。域用户登录到域后,可以不用再次登录就可以访问域中其它服务器所有有效资源。图7 域登录流程示意图以下是典型的Windows域登录过程。Windows用户在登录时输入用户名、密码,选择所属
36、的域(见下图),并确认;域服务器通过密码确认用户后,返回登录成功及其它相关信息;Windows用户登录入域。5.3.2 智能卡及数字证书为了提高安全性,Windows 2000操作系统提供了基于数字证书的智能卡域登录方式。常见的智能卡从实现上主要分为两大类:卡片式智能卡和UsbKey(见下图)。卡式智能卡需要专用读卡器才能使用,相对来说每张卡片成本较低;UsbKey则不需要读卡器,在任何具有Usb接口的机器上皆可使用。图8 卡片式智能卡和UsbKey数字证书是由证书签发机构签发的一组信息,它可用来标识用户的身份,可保证用户在电子世界身份的真实性,该证书签发机构称为CACertification
37、 Authority。一个典型的证书遵循X509标准,上面包含了证书持有者名称、证书签发机构名称、证书有效期、证书序列号、证书签发机构签发及其它证书相关信息。5.3.3 智能卡域登录为用户提供基于数字证书的完整的智能卡登录解决方案,智能卡内含有遵循X509标准的Windows智能卡登录证书。除进行网站登录功外,用户还可以使用这个证书签发安全邮件及进行其他安全应用。基于证书的智能卡登录使用了双因子认证机制。Windows域的使用者必须同时物理拥有正确的智能卡和相应的卡保护口令(也称为个人身份识别码,PIN)才能正常使用智能卡登录到域。登录域时,由于使用了公开密码学的原理,用户的口令不会在网络上以
38、任何形式传输,而且身份不会被假冒。另外,一般情况下,智能卡在连续登录失败三次后,会自动死锁,这样即使其他人获得了他人的智能卡,如果不知道卡的保护口令,也无法通过猜口令使用智能卡登陆到域。系统布署完成后,客户机器登录界面上多一个智能卡登录图标。图9 客户机域登录界面用户在计算机上插入智能卡后,计算机会自动要求用户输入智能卡保护口令(称为PIN)。图10 客户几域登录界面如果口令正确,Windows底层安全模块会自动调用智能卡中的证书及相关信息,通过有关的密码技术完成用户身份的验证,验证通过后用户登录到域。用户登录后即出现标准的用户桌面,用户即可象往常一样使用Windows。图11 客户机域登录成
39、功基于安全需要,用户还可以设置在拔下智能卡时用户自动锁定或注销。缺省情况下用户可以使用口令或智能卡中的任一种方式登录到域,管理员可以设置特定的用户只能使用智能卡登录到域。5.4 B/S系统安全应用以下对B/S架构的系统安全原理、架构和应用流程进行规划。5.4.1 B/S架构系统安全原理(1)身份认证和访问控制实现原理由于用户B/S架构的系统,利用Web服务器对SSL(Secure Socket Layer,安全套接字协议)技术的支持,可以实现系统的身份认证和访问控制安全需求。目前,SSL技术已被大部份的Web Server及Browser广泛支持和使用。采用SSL技术,在用户使用浏览器访问We
40、b服务器时,会在客户端和服务器之间建立安全的SSL通道。在SSL会话产生时:首先,服务器会传送它的服务器证书,客户端会自动的分析服务器证书,来验证服务器的身份。其次,服务器会要求用户出示客户端证书(即用户证书),服务器完成客户端证书的验证,来对用户进行身份认证。对客户端证书的验证包括验证客户端证书是否由服务器信任的证书颁发机构颁发、客户端证书是否在有效期内、客户端证书是否有效(即是否被窜改等)和客户端证书是否被吊销等。验证通过后,服务器会解析客户端证书,获取用户信息,并根据用户信息查询访问控制列表来决定是否授权访问。所有的过程都会在几秒钟内自动完成,对用户是透明的。如下图所示,除了系统中已有的
41、客户端浏览器、Web服务器外,要实现基于SSL的身份认证和访问控制安全原理,还需要增加下列模块:图12 身份认证和访问控制原理图l Web服务器证书要利用SSL技术,在Web服务器上必需安装一个Web服务器证书,用来表明服务器的身份,并对Web服务器的安全性进行设置,使能SSL功能。服务器证书由CA认证中心颁发,在服务器证书内表示了服务器的域名等证明服务器身份的信息、Web服务器端的公钥以及CA对证书相关域内容的数字签名。服务器证书都有一个有效期,Web服务器需要使能SSL功能的前提是必须拥有服务器证书,利用服务器证书来协商、建立安全SSL安全通道。这样,在用户使用浏览器访问Web服务器,发出
42、SSL握手时,Web服务器将配置的服务器证书返回给客户端,通过验证服务器证书来验证他所访问的网站是否真实可靠。l 用户证书用户证书由CA认证中心颁发给企业内用户,在用户证书内标识了用户的身份信息、用户的公钥以及CA对证书相关域内容的数字签名,用户证书都有一个有效期。在建立SSL通道过程中,可以对服务器的SSL功能配置成必须要求用户证书,服务器验证用户证书来验证用户的真实身份。l 证书解析模块证书解析模块以动态库的方式提供给各种Web服务器,它可以解析证书中包含的信息,用于提取证书中的用户信息,根据获得的用户信息,查询访问控制列表(ACL),获取用户的访问权限,实现系统的访问控制。l 访问控制列
43、表(ACL)访问控制列表是根据应用系统不同用户建设的访问授权列表,保存在数据库中,在用户使用数字证书访问应用系统时,应用系统根据从证书中解析得到的用户信息,查询访问控制列表,获取用户的访问权限,实现对用户的访问控制。(2)信息机密性实现原理信息机密性实现原理也是利用SSL技术来实现的,在用户使用浏览器访问Web服务器,完成双向身份认证,并完成对用户访问控制之后,在用户客户端和服务器之间建立安全的SSL通道,会在用户浏览器和Web服务器之间协商一个40位或128位的会话密钥。此时,在客户端和服务器之间传输的数据都是采用给会话密钥进行加密传输,从而保证了系统机密性安全需求。(3)信息抗抵赖性实现原
44、理数字签名技术是实现信息抗抵赖性的有效技术,本方案利用数字签名技术,实现用户信息系统的信息抗抵赖性需求。数字签名技术的实现是指使用数字证书的私钥,对被签名数据的摘要值进行加密,加密的结果就是数字签名。在进行签名验证时,是用数字证书(即公钥)来进行验证,用公钥解密数据,得到发送过来的摘要值,然后用相同的摘要算法对被签名数据做摘要运算,得到另一个摘要值,将两个摘要值进行比较,如果相等,则数字签名验证通过,否则验证无效。数字签名技术的实现依赖于下列两个事实:一是每一个信息的摘要值是唯一的,找不到两个摘要值相同的不同信息;二是证书的私钥只有数字证书的拥有者才拥有,其他人得不到拥有者的私钥。这样,通过数
45、字签名和签名验证,可以确定数据的确是数字证书的拥有者发送的,发送者不能进行抵赖。数据在发送的过程中,没有被别人窜改过的,是完整的。利用数字签名技术,可以对用户信息系统进行集成,用户在成功登录系统之后,系统已经完成了对用户的身份认证和访问控制,用户可以访问到请求的资源或页面,用户可以进行网上办公。此时,需要对用户在线提交的办公的敏感数据,如财务数据、征收信息等,进行数字签名,防止用户对提交的数据进行抵赖。采用数字签名技术,在用户提交重要数据时,客户端采用用户证书的私钥,对数据进行数字签名,然后将数据及其签名一起经过SSL通道发送给系统Web服务器。服务器接收到提交的信息,完成对签名的验证,将数据
46、传输给后台处理,并将用户提交的数据及其签名保存到数据库中,以便将来用户进行抵赖时查询。如下图所示,实现本方案的设计需求需要增加下列模块: 图13 信息抗抵赖实现原理图l 客户端数据签名模块客户端数据签名模块以控件的方式提供。用户使用浏览器访问Web服务器时,该模块作为控件进行下载,注册安装在用户浏览器中。数据签名模块的功能是使用用户选择的客户端证书的私钥对客户端发送的数据进行数字签名,保证数据传输的完整性,防止客户端对发送的数据进行抵赖。l 服务端签名验证模块服务端签名验证模块以插件或动态库方式提供,安装在服务器端,实现对客户端数据签名的验证,对客户端数据签名证书的有效性验证。同时,将通过验证
47、的数据,传输给后台应用服务器,进行相关的业务处理,并将数据及其数字签名保存到数据库中。5.4.2 应用系统安全架构根据上述安全原理,采用证书应用开发产品,对用户B/S构架系统进行安全集成,系统安全架构如下图所示:图14 系统安全集成框架图如上图所示,系统安全集成的实现如下描述:(1) 在用户B/S架构系统Web服务器上,配置服务器证书,配置SSL功能,用户必须使用HTTPs访问,并要求用户证书,配置服务器的可信CA为用户根CA,只有用户CA认证体系下的用户证书才能访问信息系统;(2) 客户端(即用户使用的浏览器)必须从用户CA认证系统申请用户证书,才能进行信息系统登录。申请的用户证书代表了用户的身份,登录时必须提交用户证书;在用户向信息系统提交敏感数据,如财务数据、征收时,必须使用该用户证书的私钥进行数字签名;为了实现用户的移动办公,保证用户证书及其私有的安全,采用USB KEY来保存用户的证书和私钥;(3) 信息系统服务器上配置服务端功能模块CPM(证书解析模块),作为服务器的功能插件安装在信息系统服务器