一种基于动态加解密的磁盘数据防护方案
2014-08-11王伟覃晓宁张晋华
王伟 覃晓宁 张晋华
(蓝盾信息安全技术有限公司,广东广州 510180)
一种基于动态加解密的磁盘数据防护方案
王伟 覃晓宁 张晋华
(蓝盾信息安全技术有限公司,广东广州 510180)
为进一步做好数据存储的安全保护工作,本文设计了一种磁盘数据防护方案,通过本地磁盘读写请求的拦截机制、全盘扇区加解密机制,在内核层实时动态对磁盘数据的读取进行加解密,能从数据源头上都提供更为有效的防护措施,使磁盘数据免受侵扰、破坏和外泄。
动态加解密 磁盘 数据防护
1 引言
随着信息技术的普及,数据信息资源的交换、共享、使用也变得越发容易,同时也加剧了数据存储保护的安全性问题。目前各类信息数据的存储载体已由纸质介质为主发展到了声、光、电、磁等多种形式共存,且由于信息化建设的快速发展,各种盗窃信息的手段防不胜防,这使得各涉密资料和重要数据被窃取并通过各类途径传播的风险大幅提升。在当下信息泄露事件多发,网络安全形势复杂的情况下,进一步做好数据存储的安全保护工作,刻不容缓,势在必行。
2 现状分析
当今,由于计算机的普遍使用,磁盘自然作为存储各信息数据的首选载体。作为数据的直接载体,磁盘所面临的安全威胁更加严峻。于是,各企事业单位为了保护自身存储的数据安全,也引进了各种安全措施以防止数据泄露,如防火墙、入侵检测系统等安全产品,但采用这些安全措施只能保证不受非授权访问的侵扰,若有心者绕过启动认证流程或将该计算机上的磁盘挂到其它计算机上,即可轻易拷贝其中的数据,由此造成的后果不堪设想。
3 磁盘数据防护思路
因此有必要研究更为有效的磁盘数据防护方法,用以弥补一般计算机系统保密措施的缺陷(只是限制其他用户使用计算机,却无法从根本上防止存储在该计算机上的数据泄密的问题)。基于用户的行为习惯和磁盘数据的存取方式,本文提出一种本地磁盘数据防护方案,以便从数据源头上做好信息安全防护工作。
本方案采用先进的动态加解密技术,基于全盘物理扇区级和文件级的加密方法,结合拦截、获取、加解密、数据存取等机制。基本工作原理是:当用户向对磁盘数据发起读写请求时,启动认证机制,对请求操作进行拦截控制,基于用户名和密码双因子确认用户身份,并基于用户提交的验证物对磁盘数据进行实时加密和解密操作。本方案可保护磁盘中所有数据的存储和使用安全,避免因便携终端或移动设备丢失、存储设备报废和维修所带来的数据泄密风险。
4 与传统防护方法的区别
这种加密方式,表面看来跟传统的访问控制和静态加密手段相似,但其实不然。传统的访问控制只是通过身份授权方式,控制用户通过正规的启动方式进入系统,一旦用户通过其他方式引导系统启动或将磁盘挂靠到其它计算机上,便可轻易读取磁盘上的数据,对于数据的深层防护远远不足。
静态加密技术是指在加密期间,待加密的电子文件处于已存在但未使用状态,操作者通过输入密码、密钥证书或数字签名等方式,对电子文件进行加密。加密文件使用时,需要操作者通过输入密码或密钥证书或数字签名等解密信息,在得到明文后才能使用。该方法无法存在不能实时处理、在面对海量数据需加密时效率不高等缺点。而本文提及的动态加解密技术是在系统内核层自动实现,无需用户的干预,可以拦截到所有的数据读写请求操作,并基于用户提交的验证物,对磁盘进行全盘加解密。加密后的数据对于非法用户都是密文形式,其读取完全依赖于用户设置的密码,为了防止破解,系统不会在磁盘上存储用户的密码,它存储的只是算法运算后的散列值,根据现代密码学的理论可知,通过散列值无法逆推出用户密码。即使其他用户通过修改计算机启动流程,实现了不需输入密码即可继续执行的目的,但由于没有正确的密码,系统会用不正确的密码去解密磁盘数据,在这种情况下,“解密”后的数据只会更混乱(因为用不正确的密码去解密相当于用这个不正确的密码去加密)。
5 实例分析
接下来通过选取磁盘级加密方法,并以向磁盘写数据为例,描述此磁盘数据防护方案的具体工作方式。
计算机在安装该防护系统后,启动时,会加载操作系统程序,即向本地磁盘发出读请求,指向操作系统文件。此时拦截功能模块会拦截该读请求,并提示用户输入密码。输入密码后,获取功能模块将获取用户输入的密码作为验证物并提交给加解密功能模块。
然后,数据存取功能模块从本地磁盘读取未解密的操作系统文件,并交由加密解密模块功能解密。加密解密功能模块对获取模块提交的验证物作单向散列运算,得到散列值,并用该散列值以预设的加密解密策略对未解密的操作系统文件进行解密。若用户输入的密码与最初加密操作系统文件所用密码一致(即散列值一致),则可完整还原操作系统文件,进而成功加载操作系统,实现计算机正常开机;否则,由于密码不一致,还原的操作系统文件为乱码(或不可用),导致无法正常开机。
在计算机正常启动后,用户向磁盘发起写数据请求,同样,拦截功能模块会拦截该写请求,同时获取功能模块以正常启动计算机时用户提供的密码作为验证物提交给加解密模块,而加密解密模块必须对该验证物作单向散列运算,得到散列值,并用该散列值以预设的加密解密策略对需要写入磁盘的未加密文件进行加密。最后,数据存取功能模块向本地磁盘的指定位置写入经由加密解密功能模块加密后的文件,以备后续调用。而该加密数据只有当用户输入的密码正确的情况才能被解密成明文,否则,用户得到的只是被错误密码再次加密后的乱码。
综上,该磁盘级物理扇区加密方法确实更能保护全磁盘数据的读写安全。如果密钥长度达到16个字符以上时,在现有计算机运算速度的条件下,从理论上分析,要想解密被加密后的数据,所需的时间也是以百万年为计数单位。且通过拦截、获取验证码、加密解密、数据存取四个功能模块的系统安全设计,能从数据根源上保证数据安全,切断泄密风险。
6 结语
数据存储方式多样,泄密方式也千变万化。本文浅析了一种磁盘数据防护系统,提出了本地磁盘读写请求的拦截机制、全盘扇区加解密机制,在内核层实时动态对磁盘数据的读取进行加解密,能从数据源头上都提供更为有效的防护措施,使磁盘数据免受侵扰、破坏和外泄。但各单位还需加强身份鉴别、移动介质管理、安全审计、应用控制、检查监管、实时监控等安全防护措施,才能更进一步保证敏感信息和重要数据安全。
[1]郑平泰.磁盘数据安全技术与编程实例[M].中国水利水电出版社,2007.
[2]高伟,谷大武,侯方勇等.磁盘安全保护技术综述[J].计算机应用研究,2008,25(5):1288-1291.
[3]俞历丰,侯方勇.基于硬件加密的磁盘数据保护技术综述[C].第十五届全国青年通信学术会议论文集,2010.