56
1 概述
C HfNA NEW TELECO M M UN iCATi0 N S f 3-ech nI cai EdItIo n
钟熙宇
(中国船舶重工集团第 722研究所 武汉 430079)
随着互联网的发展,越来越多的网络应用系统
从专用或内部网扩展到互联网上 ,如电子商务、网上
银行和电子政务等。这些应用都急需信息安全传输
机制,包括:身份认证、信息保密、信息完整性、不可
否认性。
一 般网络系统通常采用的访问控制机制,由于
用户名和口令在机器内和网上都是明文传输的,很
容易被截取从而可以假冒用户成功进入服务器;基
于 IP的访问控制很容易被假冒IP所攻破;而网上
数据又都是以明文的形式传输,无法保证涉密信息
的机密性和完整性。
SSL协议的推出从技术上为应用层提供了完整
的安全机制。
1。1 SSL协议概况
SSL协议是 目前保护 Web安全和基于 HTYP的
电子商务交易安全的事实上的工业标准。
SSL协议是在 TCP协议之上和应用协议之下,
用于在两台机器之间提供安全通道的安全协议。安
全通道是透明的,使得几乎所有基于 TCP的协议稍
加改动就可以在SSL上运行,非常方便。它保证了通
信双方的相互身份认证、数据加密和完整性。
1.2 握手协议
SSL握手协议是位于记录协议之上的主要子协
议,握手协议有三个 目的。
①客户端和服务器需要就一组用于保护数据的
算法达成一致;
②它们需要确立一组由那些算法所使用的加密
密钥;
③握手还可以选择对客户端进行认证。
1.3 记录协议
在SSL协议中,实际的数据传输是使用SSL记
录协议来实现的。
SSL记录协议是通过将数据流分割成一系列的
片段并加以传输来工作的,其中对每个片段单独进
行保护和传输。在接收方,对每条记录单独进行解密
和验证。在传输片段之前,为了防止信息在传输中被
一 步信息。通过循环地调用 ReadFile(),即可实现串
口数据的读取。如果只是读取 OEM板中的数据,而
不做写操作,就可以只应用ReadFile()。当需要进行
写操作时,对 WriLeFile()的使用也是类似的。
5.关闭端口
BOOL CloseHandle(HANDLE hObject);
可做如下调用:
if(hCom!=INVALID HANDLE VALUE)CloseHandle
(hCom);
3 结束语
通过使用上述函数,即可顺利地读取 OEM板中
的GPS数据并进行各种解算。在各种野外条件下的
实际应用中,小巧玲珑的Windows CE掌上机也体现
出了它的优势。
CHINA NEW TELEcOMMUNICATIONS (TechnicalEdition)JUL2007No.13
维普资讯
CH l NA N EW TE L ECO M M U N lCA
篡改,可以通过计算数据的消息摘要来提供完整性
保护,摘要与片段一起进行传输,并由接收方验证。
将摘要附加到片段的尾部,并对数据与摘要整合在
一 起的内容进行加密,以形成经过加密的负载。最后
给负载装上信息头,头信息与经过加密的负载的连
接称作记录,记录就是实际传输的内容。
2 SSL安全代理服务系统设计
本系统的设计主要针对涉密网络信息安全的需
求,利用安全代理与安全网关技术实现基于 SSL协
议的安全 Web服务系统。目的在于建立高安全级的
身份认证体系,在对所有访问服务器的用户身份进
行鉴别的基础上建立灵活完善、使用方便的访问控
制策略和加密传输机制,以保障涉密网的信息安全。
2.1 系统功能概述和设计原则
2.1.1 系统功能
系统功能包括以下各项:
①数据加密;
②用户身份认证;
③信息的完整性;
④访问控制;
⑤密钥Ic卡管理功能;
⑥日志审记。
2.1.2 设计原则
①实用性:系统研制紧密结合实际使用情况,并
适应网络进一步发展的需要。
②易用性:对于终端用户而言,网络密码系统尽
量对普通终端用户透明,保持现有应用系统的操作
特点和界面风格;授权管理系统要使系统管理人员
对网络信息的维护、数据更新和管理工作方便快捷。
③安全性:采用高可靠、高强度的安全策略与安
全算法。
④可靠性:采用成熟的技术,并充分注重软件的
可靠性。
2.2 系统组成与结构
2.2.1 系统结构
系统结构如图 1所示。
2.2.2 系统组成
2.2.2.1 Web服务器端
Web服务器以用户证书作为识别用户身份的依
据,实现基于用户身份认证的访问控制和加密传输,
密钥管理中心 Web服务器 Web服务器
代
SS
理
L r 代SS理L 厂 代SS理L r
一 一 ⋯
图1 系统结构图
主要包含以下几项。
@SSL网关程序。运行于每个 Web服务器之上,
负责对受控信息的访问进行身份认证和访问控制,
并对信息进行加密传输。认证和加密采用 SSL协议。
②访问权限管理工具程序。该工具运行于web
服务器上,用于对访问者的访问权限进行设置。该工
具可以按职务、部门以及特殊功能组进行维护和设
置权限,使用方便灵活。
③验证数据库。存放整个系统中人员的验证信
息。
④密码卡(机)。完成基本的密码运算,包括公钥
算法和对称密钥算法。
2.2.2.2 客户端
@SSL代理程序。运行于客户端,提供认证和加
密功能 ,向Web服务器证实 自己的身份 ,并对输人
输出信息进行加解密处理。
②密码卡(机)。完成基本的密码运算,包括公钥
算法和对称密钥算法。
2.2.2.3 密钥管理中心
负责管理系统内用户密钥的产生、发放、传输和
更新,主要包含:密钥管理服务器系统、证书信息发
布系统、中心基础数据库、证书注销列表 CRL发布。
2.2.3 密码卡(机)
密码卡(机)是以高速数字处理器(DSP)为核心
的密码运算部件,另配置有大容量数据存储器和程
序存储器,密钥芯片、随机数发生器、密钥销毁电路
等,主要接口有 IC卡接口 (FC总线和 RS一232)和
中雷赣通信l技术I{霞)2007.7
57
维普资讯
58
CH I NA N EW TE LECO M M U N ICATIO N S lTeC h ni caI EditIo n
图2 USB密码机硬件框图
USB接口,通过与 Ic卡读写器,计算机终端的连接,
用 Ic卡进行密钥的存储和管理(见图 2)。
在系统中,密码卡(机)可完成基本的密码运算,
包括对称密码算法、公钥密码算法和摘要算法的运
算。
2.2.4 系统密码算法
@RSA算法。
②对称密码算法。对称密码算法包括数据加密
算法、掩盖算法和分配算法,均采用定制的算法。本
文仅以DES算法为例。
数据加密算法用于实际通信过程中的加解密处
理 。
掩盖算法用于对数据加密算
法、分配算法和基本密钥的静态存
储保护。
分配算法用于保护基本密钥
的分发和更新。
③摘要算法。摘要算法采用
MD5算法,用于对传输信息的完整
性保护。
2.3 系统工作原理和工作流程
2.3.1 系统工作原理
标准的浏览器,加入认证协议
和加密算法。我们利用安全代理与
安全网关技术来解决这一问题。
在每一个用户计算机上安装
一 个客户端代理软件。在浏览器中
配置先将请求转发至本机的代理,再由其转
发至服务器。在服务器端安装一个安全网关
软件完成与客户端的认证、加解密、访问控
制、日志记录,同时完成对客户请求的转发。
所有对服务器的访问都必须通过安全网关。
系统框架结构如图3所示。
2,3.2 系统工作流程
①可以在浏览器中设置通过代理访问
Web服务,使浏览器将http请求转发给安全
代理;
、 ②安全代理同安全网关建立 TCP连
接;
③安全代理同安全网关进行双向的身
份验证并协商会话密钥;
④安全代理将HTTP的访问请求加密后发给安
全网关;
⑤安全网关将请求解密后转发给相应的应用业
务服务;
⑥业务服务根据访问者的身份进行访问控制,
如果允许访问,将请求的内容发给安全网关;
⑦安全网关将应答加密后发给安全代理,并将
访问信息记入 日志记录;
⑧安全代理解密文件,发给浏览器显示。
2,3.3 访问权限管理
(1)全网设网管中心,负责权限管理系统和中心
基本数据库的管理。
图 3 网络密码系统框架示意图
CHINA NEw TELEcoMMUN|cAT|oNs (Technical Edition)JUL 2007 No.13
维普资讯
CH I NA N EW TE L ECO M M U NICATIO N S ITec h ni caI E dit}o n
(2)首先由网管中心建立全网中心人员基本信
息库。
(3)网管人员设定用户的访问权限,产生验证数
据库。
(4)当 Web服务器增加了一个服务器 目录时,
需具体指定可访问的用户分组;
(5)当增加一个新用户时,首先由中心基本信息
库管理员进行基本设定,如指定部门、级别等基本信
息,然后更新验证数据库。同时网管人员根据需要将
其具体划归到指定的功能组中。
2.3.4 密钥管理
密钥管理用于对系统内所有用户密钥的产生、
存储、发放、更新进行管理。密钥管理由密钥管理中
心完成,密钥管理中心是密钥管理系统的核心,可以
完成用户信息的注册、密钥的生成和发放、密钥更
新、证书的注销、注销列表的发布等功能。密钥管理
中心晓以下功能模块组成:信息录入、密钥生成、密
钥离线发放、密钥离线更新、密钥在线更新、信息查
询。
2.4 关键技术
2.4.1 系统设计
SSL协议是在 TCP层之上提供保证机密性的安
全协议,它能使客户/服务器应用之间的通信不被
攻击者窃听,并提供服务器和客户机的相互认证。为
了在系统中嵌入 自己编写的协议栈,在网络密码系
统中,借用了代理服务器的概念,通过在客户和服务
器端安装代理和网关程序,在Socket层对应用通信
信息进行截获,参照标准的协议格式进行封包处理
后,再往线路上传输。
在实现 SSL协议的时候,很重要的一点就是
SSL的速度是否能够满足应用的需要。SSL协议中开
销最为昂贵的部分就是确立 pre_master_secret,它通
常要求使用公开密钥加密。在加密和解密之间,耗用
了大量的机器时间。同样 ,在记录传送阶段,记录数
据的加密和解密也需要大量的机器开销。实际应用
中,SSL协议的实现中密码算法的实现很重要。它要
求速度快,稳定性好,算法安全等等。
在进行数字签名时,使用的是非对称的RSA算
法。RSA算法是目前最优秀的公钥方案之一,安全性
好,但是计算速度很慢,因此只作为签名和身份认证
算法。数据传输使用相对速度较快的对称密码算法,
双方使用同一密钥,由RSA算法交换密钥。但是由
于传输的数据量非常大,因此,尽力提高数据传输时
的加解密速度也成为提高整个通讯速度很关键的一
个方面。
2.4.2 应用层设计
提供与用户的接口。待加密的数据、密钥、加解
密信息全部在应用层准备好,封装在一起,发到下
层。下层处理完之后将密文信息返回应用层。
2.4.3 驱动层设计
驱动程序的主要作用是提供一个方便的USB
接口,提供即插即用的功能。
采用微软力推的WDM驱动程序模型编写。
要实现的功能主要有以下几个:
·初始化;
·创建和删除设备;
·I/O请求的超时处理;
·I/O请求的撤消;
·访问硬件资源;
·处理Windows的输入/输出请求;
·串行化对设备的访问;
·调用其他驱动程序;
·处理一个可热拔插的设备被加入或删除的情
况;
·处理电源管理请求;
·使用 Windows管理诊断功能;
·处理 Windows的打开和关闭文件句柄的请
求。
2.4.4 DSP层设计
DSP层采用定制的算法进行密码运算。本文仅
以DES算法为例。采用 7bit密钥 Key。
DSP使用 TI公司的TMS320C671 1。
在DSP芯片上实现复杂的密码运算能够极大的
提高运算速度,缩短处理时间。另一个好处是能够将
明文信息和加密后的数据分离。密钥等敏感信息在
DSP芯片上进行分离,并且只存在于DSP芯片上。这
样,如果应用层或是系统出现安全方面的漏洞或是
“后门”,不会导致密钥等关键信息的不安全。
2,5 系统分析与评估
系统有完善的密钥管理体系,有严格的数据认
证、加密机制,有灵活的权限管理方式,有完备的日
志记录,做到了安全性、可用性和可靠性的综合统一。
中国新通信l技术版 )2007.7
59
维普资讯