DOMINO/NOTES动态口令身份认证系统解决方案
潘成文 2008-1-03
1.引言
电子政务和政府上网工程是信息时代政府信息化建设的重点内容之一,政府上网不仅仅是在公众信息网上建立各级政府部门的门户网站,通过Internet把政府信息通告公众。更重要的是通过政府门户网站实现政府与公众的信息交互,政府把涉及公众的重要信息及时通知到用户,例如暴雨、强风、冰雹的预警信息,重大活动时部分路段的交通管制信息,重大灾难发生时的公众紧急避难信息等;公众通过Internet和政府门户网站向政府有关部门及时报告所发现的影响区域运行的重大事故信息,公众对区域建设的建议信息等;促进政府依法行政,提高政府办事效率,全面推动和谐社会地建设。随着我国政府电子政务工程的全面启动,从中央到地方各级政府机构积极采用先进、成熟、安全、可靠的设备和技术,强化政府内部信息网络的建设,建立网上审批工程,实现内部公文信息的高效率流转及业务办公自动化,实现民众通过网络完成报批工作,实现民众与政府的互动。在这种背景下,世界领先的企业级通讯、协同计算和Internet/Intranet平台Lotus Domino/Notes深受我国政府部门的青睐,国家科技部、化工部、公安部、外交部、北京市政府、安徽省政府、四川省政府、广东省政府、山东省政府、河南省政府等多家政府部门纷纷采用Lotus Domino/Notes构建安全、高效的电子邮件系统和协作系统,有效地与公众、相关机构进行沟通与合作,更好地为社会公众服务。但是,Lotus Domino/Notes系统在身份认证方面仍沿用了“用户名+口令”的静态认证方式,制约了系统安全强度的提高。许多电子政务工程急需提升系统的身份认证的安全强度。
2.需求分析
许多政府内部网办公系统是基于DOMINO/NOTES R5开发的OA系统,其用户身份认证方式采用DOMINO自身所带的静态口令。由于Notes的安全模块是静态口令身份验证机制,静态口令的弱安全性已经不适应当前的安全需求。因此,OA系统急需有一个统一的、具有较高安全机制的身份验证系统,以保证OA系统的应用安全。为了提高OA系统的安全性,采用基于UKey的双因素动态口令强身份认证系统是不要的。基于DOMINO/NOTES R5开发的OA系统对动态口令强身份认证系统的基本需求是:
1)用基于UKey的动态口令强身份认证系统替换DOMINO所带的静态口令验证系统,并与DOMINO/NOTES R5无缝连接。NOTES安全认证模块对那些通过Web浏览器来访问Lotus Domino资源的用户进行动态口令身份验证,保护Domino服务器的资源的安全。这些资源包括Domino服务器上的Lotus数据库、URL目录和文件等。
2) OA系统是基于JAVA语言开发的B/S结构系统,双因素动态口令强身份认证系统应适应该应用系统结构;
3) OA系统的客户端是采用IE浏览器方式工作,双因素动态口令强身份认证系统应适应该工作方式;
4)系统用户规模应能根据用户数量增加方便地扩充,初期用户规模不小于200客户端。
由于政府OA系统是一个对安全、效率、性能要求都较高的内部办公系统。因此用户访问内部网时的身份认证系统是网络安全的一道重要安全屏障,为此,在身份认证安全解决方案设计过程中,必须遵循以下原则:
l
实现动态口令身份认证系统与用户OA系统的无缝对接,并能与用户新改进、增加的系统功能兼容。
l 在保证系统安全性的前提下,遵循不改动用户应用系统程序,只完成动态口令身份认证模块与用户应用系统的连接。
l 设计中所采用的操作方式、技术规范和动态密码身份认证产品性能,符合国家的有关法律和法规。
l 为用户提供安全、完善和方便的安全管理手段和方法。
l 做到动态密码认证系统认证速率不成为原系统的瓶颈,并保持系统无单点故障。
l 最大限度地减少用户的设备和管理费用。
l 安全解决方案应具有较好的可扩展性,保护用户的投资,当系统在一定范围内扩容时,不许要增加投资。
3.2.1 系统组成
根据某市OA系统的动态密码身份认证系统的需求,采用捷安世纪信息技术公司研发成功基于USBKey动态口令身份认证系统能满足用户需求。本方案采用独立的认证服务器模式。即在Domino 内安装Notes口令认证模块,实现Domino与认证服务器的通信。安全认证的功能与用户原应OA系统相对独立,对某市而言,采用认证服务器独立模式,它虽然是原系统中逻辑功能模块,但在物理上能够独立出来,这样便于功能划分和系统安全管理,并可以使对原有的系统的影响降至最小。具体的讲,采用了独立的认证服务器模式主要是基于以下考虑:
l 用户系统与动态身份认证系统相对独立,分工明确,便于身份认证系统的维护、管理和升级;
l 用户系统与动态口令身份认证系统的连接简单、易于实施、方便调试;
l 独立设置动态密码认证系统,对Domino的改动很少,易于用户系统的实时运行。

1)认证服务器
动态口令认证服务器是系统的核心部分,安装在内部网络内,与Domino Server通过局域网相连接,提供严格的身份认证。认证服务器具有自身数据安全保护功能,用户数据经加密后存储在数据库中,认证服务器与管理工作站的数据交换也是将数据变换后,以密文的方式在网上传输。认证服务器的认证算法、加密算法、哈希算法及系统时钟均由认证时钟卡硬件完成,有效地保护了系统安全。认证服务器的主要软件功能是认证管理、用户信息维护、用户信息实时备份等。
用户登录时,使用的动态口令(Plogin),是由加载在USBKey中的安全算法产生的。生成该动态口令码的密钥由两部分组成,其一,是认证服务器给出的一串随机数(挑战数),其二是装载在信息安全锁中的用户私钥。认证服务器有一个与USBKey相同的安全算法,该密码生成器利用系统数据库中的相应用户信息计算出用户当前的正确密码(Pcurrent)。若 Plogin=Pcurrent ,系统判定正在登录的用户为授权用户;否则,即为非授权用户,认证服务器将验证结果返回Domino Server。用户端的信息安全锁所产生的动态口令为“一次一密”。
用户的登录方法与原有的登录方式相差不大,仅仅是把原来的输入的静态口令方式改为输入启动信息安全锁的密码。
基于USBKey的动态身份认证系统除了提供动态口令认证方式外,还提供静态口令、动态口令、设备认证等组合认证;提供基于PKI的数字证书认证;提供数字签名;提供文件存储加密、传输加密等安全功能。
2) 后备认证服务器
后备认证服务器是对认证服务器的完全备份,它能够在认证服务器发生故障或检修时,及时接管认证服务器的认证工作。
3) 管理工作站
管理工作站提供动态身份认证系统的管理界面,它在网络管理员与认证服务器之间提供一个友好的操作界面,便于网络管理员对系统维护和用户管理。通过管理工作站,网络管理员可以进行网络配置、发放动态口令锁、锁删除、锁禁用、锁启用、用户PIN修改和用户查询等操作。
为完成上述功能,管理工作站配备有密钥写入软件,用于实现对信息安全锁的初始化,包括写入姓名、用户密钥和信息安全锁的序列号等。管理工作站的设置可根据用户的实际情况,安装于内部网内。
4) 信息安全锁
信息安全锁USBKey,用于用户的综合身份认证。根据用户的身份认证需要,信息安全锁USBKey存储有用户的私钥信息、动态口令生成算法信息、设备认证信息、数字证书、数字签名、存储加密、传输加密信息等,是捷安世纪Windows信息安全锁系列产品之一。USBKey直接通过USB接口读写数据,具有安全可靠、成本低廉、外型小巧,便于携带等优点。它还提供丰富的API编程接口,满足访问控制、数据加密、密码存放与读取等功能。
1)产品主要功能即技术指标
2)产品的软件模块组成及主要功能说明

Ø 通过USB接口读写数据,比Smart Cart和指纹身份认证更简单、更易用,成本更低廉;
Ø 支持动态口令认证,实现"一次一密";
Ø 支持设备认证,实现用户身份与设备的绑定认证;
Ø 支持数字证书,实现证书认证、传输加密、数字签名等功能;
Ø 通过USB接口读写数据,比Smart Cart和指纹身份认证更简单、更易用,成本更低廉;
Ø 允许设置PIN猜测的最大值,有效防止口令攻击行为;
Ø 用JA-UKey存储的信息无法复制,用户不必担心伪造和失窃;
Ø 即插即用,支持热插拔;
Ø 外型小巧、方便携带。
3.2.2 基于USBKey动态身份认证系统的工作流程
基于USBKey动态身份认证系统的其工作流程如下:
用户访问内部网OA系统时,必须持有一把系统管理员发放的信息安全锁。OA系统管理员在管理工作站上,为每一位OA系统用户初始化一把信息安全锁。客户登录OA系统的步骤如图3-3所示:

(1)客户通过Browser请求登录内部办公网Domino Server;
(2)Web页面提示输入启动信息安全锁,并为用户发送随机数据(挑战数);
(3);终端PC将挑战数通过USB接口发给信息安全锁,并启动认证算法;
(4)信息安全锁将产生的动态口令通过USB传输到终端PC;
(5)用户动态口令信息被传送到Domino Server后台应用程序;
(6)Domino Server应用程序将会调用Notes口令认证模块,Notes口令认证模块将认证请求信息传递给JA-2003认证服务器;
(7)认证服务器使用与信息安全锁同样的安全认证算法对用户口令进行验证;
(8)认证服务器将验证的结果返回给Domino Server 的口令认证模块;
(9)Domino Server根据认证服务器的验证结果,确定是否响应客户的登录请求。
(10)如果验证结果为假,则拒绝远程客户登录;
(11)如果为真,用户登录内部网Domino 的 OA系统,按授权访问系统资源。
3.2.3基于USBKey动态身份认证系统与应用系统的集成
实现客户的安全访问,除了信息安全锁只身要具备的安全性、健壮性之外,另一个关键因素就是能够有效地支持某市原有的系统功能以及以后扩展的功能,实现信息安全锁与原系统的无缝连接。
信息安全锁系统外挂到某市内网的OA系统中,实现客户的身份认证、加密、数字证书、设备认证等功能。我们开发的Notes口令认证模块以DLL形式提供,并安装配置文件使原有认证方式指向信息安全锁服务器,认证通过后仍使用原有Domino系统的基于目录服务的用户授权和各种应用。
客户登录Domino Server时,Domino Server调用Notes口令认证模块。Notes口令认证模块提供了Domino Server与认证服务器的通讯的函数模块。除实现认证请求与响应功能外,还要实现用户主机系统与身份认证服务器通信格式的统一。Domino Server通过对它的调用而得到认证服务器提供的认证应答。Notes口令认证模块接受调用请求后,能自动决定把请求发往认证服务器或后备服务器,认证服务器通过安全算法来验证用户是否具有合法身份,并返回认证信息给Notes口令认证模块,如果用户未通过认证,返回认证失败信息,拒绝用户连接。如果员工认证通过,即可获得访问Domino Server的OA应用,即实现了对用户的身份认证。
具体结构如下图所示:

3.2.4 基于USBKey动态身份认证系统的运行环境
本系统运行的硬件环境如下表:
|
|
机型 |
CPU |
内存 |
硬盘 |
以太网卡 |
数量
|
备注 |
|
认证服务器 |
|
PIII1.0GHZ |
128M |
20G |
10/100M
自适应 |
1 |
预装中文WINNT4.0 WorkstationSP5 |
|
认证备份
服务器 |
品牌机 |
PIII1.0GHZ |
128M |
20G |
10/100M
自适应 |
1 |
预装中文WINNT4.0 WorkstationSP5 |
|
管理工作站 |
品牌机 |
PIII1.0GHZ |
128M |
20G |
10/100M
自适应 |
1 |
预装中文WINNT4.0 WorkstationSP5 |
|
路由器 |
CISCO 2621或其它支持RADIUS协议的路由器 |
1 |
|
|
MODEM |
56K外置MODEM |
2 |
|
|
局域网线 |
CAT5电缆 |
6 |
|
本系统的运行环境是:
l 操作系统:中文Windows NT Server 4.0 SP5;
l 数据库管理系统:Microsoft SQL Server 2000