APP下载

数字图书馆系统中的加/解密技术

2011-06-19王小康

河南图书馆学刊 2011年5期
关键词:加密算法数据流解密

王小康

(中共郑州市委党校,河南 郑州 450042)

1 引言

在全球信息爆炸的大潮中,如何快速获取专业资料,普及全社会公民素质,提高公民生活质量,成为公共图书馆义不容辞的责任。纵观全球,越是发达的国家,其图书馆利用率和普及率就越高。图书馆进社区、进家庭等在发达国家已经成为普遍现象,尤其在高等教育院校,公共图书馆已经成为学生学习的重要场所,也成为学校教育能力、水平和质量的重要评估指标。

目前,全国和各省、市都建立了数字图书馆,并购买了相应的数字信息资源。正常情况下,用户在获取图书馆认证的情况下,可以通过网络终端登录图书馆数据库,进行图书馆藏资源的查找、阅读与分析等。然而,部分不法分子经常通过木马病毒等手段窃取登录密码、或直接绕开图书馆系统的安全认证模块,进入图书馆数据库,窃取数据库中的数字信息资源,侵犯图书馆的版权,给国家和图书馆建设造成了损失。因此,如果不能协调好数字图书馆建设与知识产权保护的关系,不能在图书馆与权利人之间建立利益平衡机制,将会直接影响图书馆自身的发展[1]。这就涉及到图书馆信息的网络安全问题。所谓网络安全是指计算机自动化系统内程序和数据的安全程度,能否有效地防止非法访问和使用程序与数据[2]。

可见,网络安全的核心是网络信息的安全。信息安全 (Information Security)是指保持信息的保密性(Confidentiality)、完整性(Integrity)和可用性(Availa—bility)。信息安全主要取决于两个因素:技术和管理。安全技术是信息安全控制的重要手段,许多信息系统的安全性保障都要依靠技术手段来实现[3]。信息安全的实践活动是一项系统工程,技术手段是这项系统工程的一个组成部分[4]。

网络图书馆必须连接国际互联网,不可能与外界物理隔绝。因此,可行的途径是通过加强安全技术防范和控制,主动防御外界的入侵。主动防御可以预测未来的攻击形势,安全风险控制,从而减轻数字图书馆信息安全管理体系构建的难度,从根本上改变以往防御落后于攻击的不利局面[5-6]。

2 问题分析及解决方案

目前,针对上述问题,国内外许多图书管理学者展开了研究,提出了相应的对策。从防范手段上讲,主要有两种对策:

(1)采用硬件认证的方式进行用户许可:采集客户端的计算机硬件编号,并以此作为数据库登录验证的必要手段。例如,计算机的硬盘序列号和网卡编号都是全球唯一的,基于这一特征,用户在终端登陆时,数字图书馆系统将采集用户终端的机器识别号,并与数字图书馆中存在的认证信息进行比较,如果发现客户端的信息与数据库中的信息不一致,或者未在数据库中发现客户端的信息,则可认为该客户为未经授权的客户,将拒绝其访问。

(2)采用软件加密的方式进行图书信息加密处理:该方法主要采用对数字图书馆信息资源加密的方法,使得未经授权的用户无法获取相应的信息。这种加密手段包括对密码的加密、对数字图书馆中的文件加密、以及传输过程中的数据流加密等。

上述安全对策中,硬件加密方法主要针对集体用户而言,比如国家级数据库在针对某一个使用单位(高校、研究所、图书馆等)进行授权,把该单位的所有计算机的硬件号进行采集,然后分别进行授权;或者对其网卡端口进行授权,使其在一定的IP地址范围内使用。但这种方法非常繁琐,针对个人而言,每次都要进行硬件授权是不切实际的。因此,针对大众而言,采用软件授权的方式是可行的。软件授权包括密码授权、加密信息授权等。其中密码授权存安全隐患,一旦密码丢失或者被窃取,就要造成损失。而采用数据流加/解密方式比较安全,也切实可行。其主要特点为:

(1)采用客户端——数据库服务模式(Client—Server,简称C/S模式),把图书馆系统分为两块,即客户端和服务器。

(2)在客户端和服务器两端分别内置数据流加密模块 (客户端的加密模块在用户初次登陆时以插件的方式自动下载并安装)。

(3)客户端和服务器之间的加密模块,是点对点式(Point to Point)的暗箱关联,两者之间采用隐含密码钥匙进行相互认证,用户并不知道其中的加密技术和过程。

(4)只有客户端加载了加密模块后,服务器端发送的图书馆数字流才能被正确解码,并在解码后恢复原样,进行正确显示、阅读。反之,如果用户通过不正当途径,即使截取了加密数据流,也无法解码,不能)进行阅读。

上述方案的工作原理如图1所示。其中最为关键的技术就是数据流加解密技术,因此如何在服务器端进行数据流加密,并在客户端进行解密,是其中的核心与关键。本文针对该核心问题展开研究。

图1 本文解决方案的流程图

3 基于加/解密技术的数字图书馆安全技术

3.1 AES算法原理介绍

AES(Advanced Encryption Standard)是新一代对称加密标准,为取代已经不安全的DES和3DES而制定的。由于近年来芯片技术的指数级增长,普通电脑的计算能力得到了大幅提升,曾被广泛应用于各安全领域的70年代IBM所开发的56bits DES算法遇到了被普通电脑暴力攻破的巨大威胁。有鉴于此,美国国家标准和技术协会(NIST)2000年10月2日从5 个 最 终 算 法 (Rijndael、Twofish、Mars、RC6、Serpent)中,选择Rijndael作为AES正式算法。

图2 AES算法的原理图

AES 分 128bit,支持 128、192、256 三种密钥长度。实践表明AES能抵抗已知的各种密码攻击手段。它由可变数据块长和可变密钥长的迭代分组加密算法。数据块经过多次数据变换操作,每一次变换操作产生一个中间结果,这个中间结果叫做状态(State)。AES算法的主循环对状态执行4个不同的操作:SubBytes(字节替换)、ShiftRows(行位移变换)、MixColumns(列混合变换)和AddRoundKey(轮密钥加)。在加密的最后阶段,状态被变回为128位的线性串。图2演示了该算法的原理。

首先,对状态进行AddRoundKey操作,将RoundKey与状态异或。对前Nr-1轮中的每一轮,用S-BOX对状态进行一次代换操作,称为SubBytes,对状态做一置换ShiftRows;再对状态做一次操作Mix-Columns;然后进行AddRoundKey操作。最后依次进行SubBytes、ShiftROWs和AddRoundKey操作,数据就变成了密文。

AES解密算法结构与加密结构相同,为加密算法变换的逆变换,且密钥扩展策略稍有不同[7]。

3.2 AES算法实现

根据上述AES算法的描述,本文采用Visual C++实现了AES算法。所定义的加密类AesProcess结构如图3所示。

图3 AES算法的VC++实现类

图4 AES算法的原理图

AES的解密算法和加密算法的结构类似,只需将所有操作逆序进行,并逆序使用密钥编排方案即可。最后,本文用Visual C++创建了一个基于对话框的Windows应用程序,来验证其科学性和可用性。它能够接受任何类型的数据流,并对它进行加密和解密处理,运行界面如图4所示。

3.3 AES算法的安全性分析

一种加密算法的好坏,最为关键的方面就是其安全性的问题。自从2000年10月以来,美国国家标准技术研究所(NIST)宣布Rijndael被确定为高级加密标准AES,到目前为止,对于Rijndael密码的攻击还没有比穷尽密钥搜索攻击更有效的方法,已经公布的攻击思想不能够形成有效的攻击,而穷尽钥搜索攻击对于AES密钥为128位时的穷举攻击复杂度为2128,因此,目前使用AES加密算法从理论上讲是安全的。

4 结论

通过使用AES加/解密技术,对数字图书馆中的数据流(如word文件、PDF文件、图片、电子表格、以及其它任何数据信息等)进行加密后,向客户端进行传送,并且在客户端进行正确地解密,使得数字图书馆的系统安全性得到显著提升。

[1]董丽茹.数字图书馆的知识产权保护问题探讨[J].科技情报开发与经济,2010,20(23):105-107.

[2]沈策.浅谈图书馆局域网的安全[J].管理观察-2010年8月上旬刊.

[3]郑德俊,任妮,熊健,黄水清.我国数字图书馆信息安全管理现状[J].现代图书情报技术,2010(8):27-32.

[4]吴亚非,李新友,禄凯.信息安全风险评估[M].北京:清华大学出版社,2007.

[5]冯晓光.对高校图书馆电子阅览室网络安全的思考[J].内蒙古科技与经济,2010(15):115-117.

[6]黄水清,任妮.数字图书馆信息安全风险控制[J].现代图书情报技术,2010(7):39-44.

[7]张景文.基于AES加密算法的数据文件安全策略与实现[J].电脑与信息技术,2010,(4):25-26.

猜你喜欢

加密算法数据流解密
炫词解密
解密“一包三改”
汽车维修数据流基础(下)
炫词解密
一种提高TCP与UDP数据流公平性的拥塞控制机制
基于小波变换和混沌映射的图像加密算法
基于数据流聚类的多目标跟踪算法
Hill加密算法的改进
解密“大调解”
北医三院 数据流疏通就诊量