APP下载

数字图书馆防盗链方案设计与实现

2013-09-01孙晓丽阳广元西南民族大学图书馆四川成都610041

图书馆理论与实践 2013年9期
关键词:汇文服务器数据库

●孙晓丽,阳广元(西南民族大学 图书馆,四川 成都 610041)

1 引言

所谓资源服务盗链是指未经合法性认证授权,非法链接到高校数字图书馆所提供的各种数字资源服务,并直接利用数字图书馆的带宽在资源服务盗链者的网站上显示和散布该资源服务,从而为资源服务盗链者谋取利益。这既大量消耗数字图书馆的有效网络带宽,影响合法读者对数字图书馆的正常利用,又将因数字图书馆防盗链能力不足而引起如数字版权等法律问题。

本文通过对Cookie技术的研究,结合Cookie技术在Web服务安全认证系统[1]中的运用,设计并实现了一种基于Cookie的数字图书馆防盗链方案DLAMBC(Digital Librar Anti-leech Method Based on Cookie)——利用Cookie技术具有保持会话状态的特性实现对数字图书馆访问者的身份认证授权,即未经认证授权的访问者只能浏览数字图书馆所提供的各种数字资源服务,而无法访问和使用这些数字资源服务,从而阻断盗链者对数字资源服务的盗链,实现数字图书馆的防盗链,有效增强数字图书馆的安全性。

2 防盗链方案的设计

防盗链方案的设计既要考虑方案的实施是否影响合法读者对数字图书馆的正常利用,又要考虑Cookie运用到数字图书馆防盗链中带来的新安全问题。本方案在设计过程中综合考虑了防盗链能力、实现难度、安全性及适应性四个方面的因素。防盗链能力强且高效;运用成熟的技术实现防盗链方案;运用成熟的安全技术方案提升防盗链方案自身安全性;运用成熟的Cookie技术传输认证授权信息以增强防盗链方案适应性,基于Cookie的数字图书馆防盗链方案如图1所示。

图1 基于Cookie的数字图书馆防盗链方案

方案采用Cookie传输认证授权信息;认证授权服务器对数字图书馆访问者进行统一认证授权;读者同步系统保证认证授权服务器中的有效读者数据与汇文数据库服务器中的有效读者数据保持一致;汇文网上图书馆直接读取汇文数据库服务器中的有效读者数据进行认证授权;系统管理员通过汇文流通管理系统对有效读者进行管理。

为确保认证授权信息传输的安全性,方案引入会话密钥 (Session Key)[2]以加解密每次会话 Cookie中携带的认证授权信息,并利用它来获取本馆只提供给合法读者的数字资源服务。由于会话密钥只在每次会话期间有效,即每次会话结束时,会话密钥就失效,而且每次会话动态产生的新会话密钥不重复和无规律,从而保证即使攻击者获得已加密的认证授权信息,但没有此次会话的会话密钥,也无法获得所包含的认证授权信息,从而既保证了Cookie传输的安全性,又能防止盗链者直接利用已加密的认证授权信息非法盗取只提供给合法读者的数字资源服务,即防止盗链者利用过期认证授权信息盗取数字资源服务。

为确保Cookie传输的完整性,即防篡改,方案引入了数字摘要 (Digital Digest):[3,4]指运用单向 Hash函数将传送的任意长度的消息“摘要”成一串固定长度的密文,并且不同消息其摘要不同,相同消息其摘要必定一致,同时即使知道摘要也无法反推出原消息,这串摘要就能被用于校验消息是否在传输过程中被篡改,从而确保Cookie传输的完整性。

3 防盗链方案的实现

3.1 Web服务器

Web服务器软件实现读者通过浏览器访问和使用数字图书馆提供的所有数字资源服务的功能,主要包括Cookie解包与封包、数字资源展示页面、数据通信和读者登录授权页面等。Web服务器软件根据读者对数字资源服务的请求动态处理读者身份的合法性认证授权,以及认证授权信息的Cookie解包和封包。如果认证授权成功,则将读者请求的数字资源返给读者;否则重定向到认证授权页面。其中,Cookie解包和封包是本方案设计和实现的核心。

Cookie解包主要负责对携带有访问读者认证授权信息的Cookie进行检验,以检测Cookie的完整性,验证Cookie的有效性和合法性,并提取包含的数字摘要、读者证号、登录密码及认证授权标识。

Cookie封装利用单向Hash函数将授权标识、读者证号和已用会话密钥加密的授权信息一起生成数字摘要,然后将生成的数字摘要附加在Cookie消息之后,并将Cookie写回读者端,以用于后续请求的认证授权,以减少读者在已认证授权有效期内进行多次认证授权,提升读者访问和使用数字图书馆服务的速率和增强防盗链能力。

3.2 认证授权服务器

认证授权服务器软件是读者身份认证授权的核心,负责对访问者身份的合法性认证和授权;动态生成每次会话所需的会话密钥;动态为已认证读者生成认证授权信息;利用会话密钥加密已认证授权信息,并返回给Web服务器;实时更新授权数据库;验证已认证授权信息的合法性、有效性和正确性。认证授权服务器软件流程如图2所示:

图2 认证授权服务器软件流程图

3.3 读者同步系统

西南民族大学图书馆所有应用系统统以汇文数据库中存储的读者信息中的读者证号为登录读者名,读者密码为登录密码。读者同步系统实现将汇文数据库中存储的有效读者信息根据防盗链认证授权的要求动态生成授权数据库中的读者信息,以保证授权数据库中的读者信息与汇文数据库中存储的有效读者信息一致。读者同步系统运行过程如下。(1)系统参数初始化。初始化汇文数据库连接参数;初始化授权数据库连接参数;初始化两个数据库中读者信息的对应关系;是否初始化授权数据库中的读者信息等。(2)授权数据库中的读者信息初始化。清除授权数据库中的所有读者记录,并将符合要求的汇文数据库中的所有有效读者信息同步到授权数据库。由于同步所有有效读者信息需要大量时间,因此此操作只在系统第一次运行时运行。以后只有在特殊情况下,才运行该操作。(3)启动实时同步监测线程。实时监测汇文数据库中读者信息的动态变化,如删除读者、新增读者、读者密码修改等,同时将变动的汇文数据库中的读者信息同步到授权数据库,从而保证授权数据库中的读者信息与汇文数据库中的有效读者信息实时一致。

4 应用效果验证

在实施该方案时,Web服务器部署在Dawning i600曙光服务器,操作系统为Windows Server 2003 Enterprise Edition SP2,IIS 6.0组件。认证授权服务器与读者同步系统一起部署在Dawning i620r-g曙光服务器,操作系统为Windows Server 2003 Enterprise Edition SP2。汇文系统安装的是4.0版,所用的数据库为Oracle 10g;授权数据库采用Microsoft SQL Server 2005;Web服务器软件部分、授权认证服务器软件部分和读者同步系统均基于Visual C#2005开发。

系统开发、部署、设置完成之后,进行以下测试。

(1)直接浏览Web服务器所展示的数字资源服务,并向Web服务器提出请求。Web服务器将重定向到读者登录授权页面,并要求进行授权认证,即非认证授权读者禁止使用本馆提供的数字资源服务。

(2)在授权数据库中新建一个测试读者libtest:读者证号201230102012;登录密码libtest。使用libtest读者及其密码登陆Web服务器后,能够正常访问并使用数字资源服务。删除该libtest读者,再使用libtest读者及其密码登陆Web服务器认证授权失败,即禁止该libtest读者访问和使用本馆提供的数字资源服务。

(3)读者同步系统运行后,查看授权数据库,自动生成了缺省有效读者,汇文数据库中所有符合条件的读者都生成了对应的读者记录,从中随机抽取5个读者登陆Web服务器,均成功完成认证授权,并在认证授权后能够访问和使用数字资源服务。

(4)登录汇文流通管理系统,并新增一个读者信息记录,使用该读者证号及密码登陆Web服务器进行认证授权成功,并能访问和使用本馆提供的数字资源服务;在汇文流通管理系统中修改该读者的密码,使用该读者旧密码登陆Web服务器进行认证授权失败,并且无法访问和使用数字资源服务;使用该读者的新密码登陆Web服务器进行认证授权成功,并且能访问和使用数字资源服务。

(5)在汇文流通管理系统中修改该新增读者的状态为“挂失”,该读者登陆Web服务器进行认证授权失败,并且无法访问和使用数字资源服务;将读者状态修改为“注销”,该读者登陆Web服务器进行认证授权失败,并且无法访问和使用数字资源服务;将读者状态修改为“停用”,该读者登陆Web服务器进行认证授权失败,并且无法访问和使用数字资源服务;将读者状态修改为“有效”,该读者登陆Web服务器进行认证授权成功,并能访问和使用数字资源服务。

(6)使用该新增读者的读者证号及密码登陆汇文网上图书馆,并修改其登陆密码。然后使用该读者的旧登陆密码登陆Web服务器进行认证授权失败,并且无法访问和使用本馆提供的数字资源服务;使用该读者的新登录密码登陆Web服务器进行认证授权成功,并且能访问和使用本馆提供的数字资源服务。

(7)在该读者登陆Web服务器进行认证授权成功,并能访问和使用本馆提供的数字资源服务后,利用Cookie工具获取其认证授权Cookie,然后利用该认证授权Cookie进行重放攻击以获取数字资源服务失败,有效会话密钥已失效,需要读者重新进行认证授权。

(8)在汇文流通管理系统中删除该新增读者记录,使用该读者证号及密码登陆Web服务器进行认证授权失败,并且无法访问和使用本馆提供的数字资源服务。

通过以上测试,验证了该方案的防盗链能力、安全性和可行性等。同时该访问具有低成本、高安全性和强适应性,能有效地解决防盗链与汇文系统统一读者认证授权的问题,实现了与汇文系统的集成,大大增强了防盗链功能,有效提升了数字图书馆的防盗链能力。

[1] 马亚娜,钱焕延,孙亚民.Cookie在web认证中的应用研究[J].小型微型计算机系统,2004,25(2):207-210.

[2] WIKIPEDIA.Sessionkey[EB/OL].[2012-08-01].http://en.wikipedia.org/wiki/Session_key.

[3] 张晓林.数字权益管理技术[J].现代图书情报技术,2001(5):3-7,10.

[4] 刘伟.浅谈数字摘要技术原理及应用[J].福建电脑,2010(10):108-109.

猜你喜欢

汇文服务器数据库
在现代科技中体验传统音律之美——记南京市金陵汇文中学科创“小匠人”张佩瑜
在机器人的陪伴中自信成长——记南京市金陵汇文学校的“墨者”宋泽卿
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
空白
数据库
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
数据库
数据库