一种磁盘数据快速销毁算法

2012-09-18 02:25江,胡
关键词:明文二进制加密算法

周 江,胡 屹

(1.四川司法警官职业学院司法信息系,四川德阳 618000;2.成都大学教务处,四川成都 610106)

一种磁盘数据快速销毁算法

周 江1,胡 屹2

(1.四川司法警官职业学院司法信息系,四川德阳 618000;2.成都大学教务处,四川成都 610106)

介绍一种磁盘数据快速销毁算法,算法的初始密钥由单向散列算法、非对称加密算法、随机二进制填充和对称加密算法进行混合处理后,磁盘上的数据在存储时就可以处于一种理论上难以恢复的随机加密状态.在进行数据销毁时,只需要销毁极少量数据,就能够在极短时间内使大量数据不可恢复,从而实现磁盘数据的快速销毁.

随机二进制填充;混合处理;快速销毁

0 引 言

磁盘数据恢复技术的研究和利用,使得数据销毁技术在国防、军事、国家安全等重要领域有着超乎寻常的作用.具体而言,数据销毁是通过采用技术手段将磁盘存储的数据予以彻底清除,以使数据不泄密、不外传[1].现有的计算机磁盘存储机制中,销毁数据最有效的方法是数据覆写.数据覆写是对要清除的数据用无意义的数据进行覆写[2].基于此,本研究设计了一种磁盘快速销毁算法,本文将其称作RAOD算法,利用该算法,可以使磁盘上存贮的数据在极短时间内处于一种不可恢复的状态,从而达到磁盘数据快速销毁的目的.

1 算法描述

1.1 RAOD算法基本思路

RAOD算法的基本思路是利用随机二进制填充与混合强加密结合,使存储数据的读取完全依赖于非对称公钥和原始密钥.一旦二者之一未曾获得,那么未经授权者即便获得未销毁的数据,也是没有任何用处的.

1.2 RAOD算法描述

RAOD算法包括标准覆盖算法、加密存贮算法、数据读取算法、数据销毁算法4个子算法.

1.2.1 加密存贮算法.

加密存贮算法的实质是使用散列算法对原始密钥进行预加密,使密钥稳定并且复杂,再进行不可逆的非对称加密,然后依赖不可逆非对称加密的结果进行随机二进制填充和对称分组加密,最后得到加密结果.数据读取依赖于原始密钥与非对称公钥,未经授权者无法借助中间数据进行分析,从而保证数据处于安全状态.

数据加密存贮算法如图1所示.

图1 数据加密存贮算法示意图

数据加密存贮算法具体步骤描述如下:

①生成非对称加密公钥存贮于磁盘,同时销毁私钥;

②数据拥有者产生并输入原始密钥K0;

③使用单向散列算法对K0进行运算得到二进制串K1;

④对K1使用非对称公钥进行加密运算,得到中间密钥K2;

⑤根据K2值对明文M插入随机二进制串,生成预备明文M';

⑥根据分组加密算法需要将预备明文M'分成为长度为m的预备明文组M'A1,M'A2,…,M'An,记录分组数n;

⑦根据分组加密算法需要使用密钥K2生成n组长度为m的密钥得到密钥组KA1,KA2,…,KAn;

⑧使用KAi对相应的预备明文组中的M'Ai进行加密,得到密文Ei,完成后将所有Ei连接成文件存贮在磁盘上,记为E.

⑨使用标准覆盖算法对所有原始数据和中间数据进行完全销毁.

1.2.2 数据读取算法.

数据读取算法是加密存贮的算法的逆过程,如图2所示.

图2 数据读取算法示意图

数据读取算法的具体步骤描述如下:

①重复加密存贮算法的步骤②~④;

②将密文分成长度为m的n组密文E1,E2,…,En,记录分组数n;

③重复加密存贮算法的步骤⑦;

④使用KAi对Ei进行解密操作得到预备明文组M'Ai.解密完成后将得到的预备明文组连接起来形预备明文M';

⑤利用K2值按照加密存贮算法步骤⑤的逆过程对预备明文M'进行二进制串丢弃操作得到明文M,数据恢复完成.

1.2.3 数据销毁算法.

由于RAOD算法在数据存贮前就销毁了非对称私钥,故仅需销毁非对称公钥就意味着数据不可能恢复.假设一硬盘速度7 200 r/min,进行7次覆盖就是对同一磁道进行7次写,无需寻道时间,覆盖需要的时间t=(60/7 200)s*7<0.1 s.

2 算法实例与安全性分析

下面通过实例验证RAOD算法,并对其安全性进行分析.

2.1 算法实例

实例采用SHA-512单向散列算法,ECC-160非对称加密算法和AES对称加密算法进行组合,加密的明文长度为319 488 Byte.加密存贮过程如下:

1)准备.获得ECC公钥并销毁私钥,生成原始密钥:“zxcsdfert345@#$”.

2)用SHA-512使原始密钥变为512 bit的二进制串K1,其十六进制值为:16dcefc1bb21973fb07bfd5f-497987f267707f853148073d56dc56a5c866268201f3a07bd0c7c76466f6e83d01385c8a4784791523e0f2686daa9908-c286e830.

3)使用ECC-160公钥对K1进行加密,得到长度为 160 bit预加密密钥K2,其十六进制值为:C9F2D3DB2969B9B6B28BB95F89014633E554177A.

4)将K2按字节转换成十进制:201 242 211 219 41 105 185 182 178 139 185 95 137 1 70 51 229 84 23 122.对明文的第s位后循环添加随机二制位(s依次是 2,0,1,2,…,1,7,8,1,3,9,…,1,2,2)直到超出明文范围.此时,明文中已加入738 376 bit,明文M 变换为2 629 740 bit的预备明文M'.

5)M'按每组128 bit进行分组得到共20 544组,且最后一组只有108 bit,需填充20 bit满足AES加密需要.

6)将K2 按照 ,Si=Si-1mod 160+f,的循环方法生成20 544组密钥,每轮生成160个密钥,f是取密钥的轮数.

7)使用KAi和M'Ai作为AES算法的输入进行分组加密,得到密文组Ei,最后组合成密文E存贮.

2.2 安全性分析

根据对实例的分析,RAOD算法的威胁可能来自4个方面:密码猜测与暴力破解;随机二进制填充攻击;攻击对称加密算法;攻击非对称加密算法.

2.2.1 密码猜测暴力攻击.

在算法实例中,从原始密钥输入结束到ECC-160加密成K2大约耗时280 ms,似乎可以进行暴力猜测,但这必需以获得非对称公钥为前提.假设公钥泄漏,那么猜测破解12 Byte ASCII可见字符集所花的时间T=0.28*9512s≈42万亿年,显然不会成功.更何况选用的密钥集可以是汉字或更大的字符集,密钥集的增大使猜测难度成几何级数增长.

需要说明的是,当公钥销毁成功时密钥猜测就不可能进行了.

2.2.2 随机二进制填充攻击.

RAOD算法有利的一点是,其填充的随机二进制值约占总信息量的28%,由算法可以看到,插入二进制位置重复,似乎可以使用差分分析方法缩减范围,但是重复域为50~60个插入值大约240个二进制位,而在这个域里必需进行穷举排除,运算次数可达C50230~ C60240>18050,显然直接攻击随机二进制填充不可行.此外,RAOD算法中的二进制填充依赖于非对称加密的K2,因此对二进制填充的攻击转化为非对称加密的攻击.

2.2.3 对称加密算法攻击.

据NIST计算,如果能够制造1 s内破解DES密码的设备,那么用该设备来破解128 bit算法的密码仍需要149万亿年[3].如果没有正确的K2却想要破解RAOD算法,所要破解的AES正是128 bit的对称加密算法.根据前述分析,二进制填充对信息熵的破坏是无法绕过的,因此必须破解非对称加密.

2.2.4 非对称加密算法攻击.

对实例中的ECC而言,还没发现大的弱点可以用来进行有效攻击[4].而RAOD算法要求数据加密前销毁私钥,仅需小于0.1 s就完成了对公钥的销毁.当公钥和私钥都不存在时,是完全不可能破解非对称加密算法的.

2.3 RAOD算法的优点和弱点

2.3.1 优 点.

RAOD算法中的具体加密算法可以任意选取,当一种算法不够安全时,可以换用另一种安全的算法,因此RAOD算法本身是安全的.通常对于几种安全加密算法组合的联合破解的难度只能用无穷大来表述[5].要破解RAOD算法,只能破解非对称算法,否则对算法其他点的攻击都绕不过对非对称算法.

2.3.2 弱 点.

由于RAOD算法仅需0.1 s就完成了对公钥的销毁,让算法无法被攻破,这既是算法的优点,同时也是算法的弱点.获得非对称公钥并利用公钥会减小破解整个算法的难度.当然根据公钥破解非对称加密算法本身就难度巨大,从这一点上来说,算法的弱点并不算弱.

3 结 语

磁盘数据快速销毁一直是个难题,因为磁盘读写是耗时操作,而数据销毁必需在短时间内完成.本研究提出的磁盘数据快速销毁算法其实质是形成单向加密链,在数据存贮时做好销毁的准备,需要时可以在最短时间内完成销毁.由于非对称加密公钥的关键性,因而可以对同一公钥处理过的数据进行一次性批量快速销毁.一旦公钥销毁成功,则数据就绝对安全,这也扩大了本算法的适用性.

:

[1]徐菁,朱有佃,赖凡.论磁性存储介质的数据销毁技术[J].西南师范大学学报(自然科学版),2007,32(4):107-110.

[2]Garfinkel S L.Design Principle Sand Patterns for Computer Systems that areSimultaneously Secure andUsable[D].Boston:Massachusetts Institute of Technology,2005.

[3]侯整风,李岚.椭圆曲线密码系统(ECC)整体算法设计及优化研究[J].电子学报,2004,32(11):1904-1906.

[4]韩雯.AES加密算法分析及其安全性研究[J].石油工业计算机应用,2008,16(2):46-48.

[5]王红珍,李竹林.基于AES和ECC的混合加密系统的设计与实现[J].电子设计工程,2012,20(4):9-11.

Algorithm for Rapid Data Destruction

ZHOUJiang1,HUYi2

(1.Department of Judicial Information,Sichuan Judicial and Police Officers Professional College,Deyang 618000,China;2.Teaching Affairs Office,Chengdu University,Chengdu 610106,China)

How to destroy the data on magnetic disc rapidly is always a problem.An algorithm for rapid data destructionwasintroduced,inwhich initial passwordwasmixedly processedby one-way hash encryption algorithm,asymmetric encryption algorithm,random binary filling and symmetric encryption algorithm.This kind of hybrid encryption makes the data on magnetic disc to be at random and be hard to restore in theory.When the data needs to be destroyed ,there is just a small quantity of data which needs to be destroyed ,and then the large quantity of data will be unrecoverable in a very short time and thus the rapid destruction is realized.

binary random filling ;mixedly processed ;rapid destruction

TP311.1;TP309.2

A

1004-5422(2012)04-0357-03

2012-10-18.

周 江(1977—),男,硕士,讲师,从事计算机信息安全与软件开发技术研究.

猜你喜欢
明文二进制加密算法
用二进制解一道高中数学联赛数论题
有趣的进度
二进制在竞赛题中的应用
奇怪的处罚
HES:一种更小公钥的同态加密算法
奇怪的处罚
二进制宽带毫米波合成器设计与分析
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
对称加密算法RC5的架构设计与电路实现