随着信息技术的不断发展,互联网已经成为信息传播、流通、交换及存储的重要手段。信息高速公路的兴建使人类完全突破了传统的信息获取方式,各国存储在计算机中的资料都在逐渐增加,对信息的保护比以往更加重要也更加困难。由于Internet是个开放的网络,网站发布的信息一天二十四小时都在被查询、阅读、下载或转载。网站内容复制容易,转载速度快,网页如果被篡改,后果难以预料,篡改网页将会被迅速、广泛传播,从而直接危害网站的利益。
“基于WEB架构的密码安全防护”是采用事件触发、核心内嵌双重安全保护机制,同时结合数字证书技术与安全传输技术,并且遵循Internet相关标准协议的网页防篡改的网络安全防护系统。本文针对中小型网站进行详细的介绍。
中、小型网站通常使用专门的服务器主机,并有专门人员负责维护。此外,目前的中、小型网站以发布消息为主,且更新频率不高。因此,中、小型网站的信息流向比较单纯,权限划分比较明确。根据中、小型网站的上述特点,我介绍一种基于USB Key的中、小型网站保护系统。
该系统由硬件和软件两部分组成。硬件部分包括两个 USB Key,分别命名为监控Key和授权Key,软件部分则包括监控软件和管理软件。
(1)监控 Key。监控 key是通过硬件方式实现网站备份数据安全存储的设备。在对监控key进行初始化操作时站数据写入到监控key,作为自动恢复时所使用的备份数据。监控key内部的运算单元根据写入的数据计算相应的数字摘要,作为监控时比对的凭据。生成的数字摘要存储在监控Key内部,对于访问监控key的外部进程是不可见的。写入监控key 的网站数据能够被访问监控key的外部进程读取,但是不能修改或者删除,只有在检测到授权key并通过认证的情况下,才可以对写入监控key的网站数据进行更新。
为了对授权key 进行验证,在对监控key进行初始化操作时还将写入与授权Key对应的公钥。验证授权key时,监控key 随机生成一个字符串作为认证消息,将认证消息发送给授权key,接收来自授权key的加密结果并且用公钥进行解密,将解密后的结果与本次的认证消息进行对比,如果二者一致,则通过验证。验证授权 key之后,可以通过管理工具向监控 Key 重新写入网站数据,写入完毕后,监控key内置的运算单元在此计算相应的数字摘要,作为今后对比的依据。
套件运行时,监控key始终通过USB接口连接到网站服务器主机,接收监控软件发来的消息,与监控key内部的数字摘要进行比对,如果二者不一致,则认为网站数据被非法篡改。此时,监控软件从监控key 中读取备份的网站数据,用备份数据覆盖被篡改的网站,从而实现自动恢复。
(2)授权key。授权key是通过硬件方式对监控key的操作权限进行控制的设备。只有当授权Key 经监控key的验证之后,才能够通过管理工具向监控 key 重新写入网站数据,否则监控key中的数据禁止更改。
在对授权 key进行初始化操作时,授权 key 内部生成一对RSA密钥,其中的公钥在对监控key进行初始化操作时写入监控key。当授权key 被监控key验证身份时,二者同时通过usb接口连接到主机,监控key随机生成一个字符串作为认证消息,将认证消息发送给授权key。授权key通过内部的运算单元将收到的消息用私钥进行加密,将结果发送给监控key,监控key验证完毕之后将结果发给授权key,授权key在内部记录日志。通过管理工具,可以查看和到处授权key中存储的日志。
授权key由网站维护人员负责保管,平时不与网站服务器主机相连接,只有在需要修改网站数据,监控key中的数据也需要同步更新时,经网站维护人员许可,将授权Key连接到主机。授权key接受监控key发来的消息,用私钥对消息进行加密,将加密后的结果发送给监控key,验证通过后,取得对监控Key中存储的网站数据进行改写的权限。操作完毕之后,应当将授权key从主机拔下。
(3)监控软件和管理软件。监控软件是对网站数据进行监视,发现网站数据被非法篡改的软件。监控软件以后台进程方式在网站服务器主机运行,在设定的时间间隔内提取网站数据并且计算相应的数字摘要,将计算结果发给监控Key。如果监控key的比对结果为二者一致,则继续监控;否则,认为网站数据被非法篡改,从监控key中读取备份数据,用备份的网站数据覆盖被篡改的网站,从而实现自动恢复网站的数据功能。在恢复网站数据的同时,监控软件还可以记录日志,便于日后审计。管理软件是对key进行初始化等管理操作的应用程序。只有通过管理软件,才能够对监控key和授权key以及监控软件进行管理。管理软件功能包括:查看和到处授权key的日志;设定监控软件提取网站数据的时间间隔,查看和福祉监控软件的日志。
(1)初始化。监控key和授权key初始化的流程如图1所示。授权key和监控key同时通过USB接口连接到主机。授权key内部生成一对RSA密钥,其中的公钥写入监控key。网站数据写入监控key,作为自动恢复时所用的备份数据。监控key内部的运算单元根据写入的数据计算相应的数字摘要,作为监控时比对的依据。初始化完成后,拔下授权key,启动监控软件,开始日常运行。
(2)监控key通过USB接口与主机连接,监控软件以后台进程的方式在网站服务器主机运行。在设定的时间间隔内,监控软件提取网站内容,计算数字摘要,将计算结果发给监控key。监控key接收到消息,将其与内部存储的数字摘要进行对比,将结果发给监控软件。如果比对结果为一致,监控软件认为网站数据未被篡改,急需监控进程;否则,监控软件认为网站数据遭到非法篡改,从监控key中读取备份数据,自动恢复网站内容,并且记录日志,便于日后审计。
(3)数据更新。当需要修改网站数据,监控 key中的数据也需要同步更新时,经网站维护人员许可,将授权key连接到主机。监控key随机生成一个字符串作为认证消息,将认证消息发送给授权key,授权key用私钥对监控key发来的消息进行加密,将加密后的结果发给监控key。监控key接受结果,用公钥解密,将解密后的结果与本次认证消息进行对比,如果二者一致,则通过验证。验证通过后,可以通过管理工具软件向监控key重新写入网站数据,写入完毕后,监控key内置的运算单元在此计算相应的数字摘要,作为以后比对的凭据。操作完成之后,将授权key从主机拔下,继续进行日常运行。
图1 流程图
当内部人员修改网站内容时,现将授权key连接到主机并通过认证,然后才能修改网站内容,再将修改后的数据发送到监控key。监控 key更新所存储的网站内容数据,生成并存储新的数字摘要。数据更新时的流程图1。
本系统以软硬件结合的方式,将USB key应用于小型网站的监控和保护,具有以下几点:
(1)监控流程由在主机上运行的软件和与主机相对独立的硬件共同完成,关键步骤在硬件内部进行。即使攻击者以远程方式控制主机,也难以控制硬件。
(2)发现网站内容被篡改之后可以自动恢复,大幅度降低了攻击造成的不良影响。
(3)内部人员发布信息需要授权,便于内部审计。
本系统也存在一定的局限性。例如,套件的安全程度取决于监控进程的安全程度,当主机被入侵者控制时,在主机上运行的监控进程本身也同样面临威胁。此外,自动恢复网站数据的功能受限于监控key内部存储空间的大小,应用于规模较大的网站时比较困难等等。