发明名称 一种基于动态密钥的硬盘数据加密方法及其装置
摘要 本发明涉及基于动态密钥的硬盘数据加密方法及其装置。该方法有主密钥和分区密钥,当需要对硬盘上某个扇区的数据进行加密时,对主密钥、分区密钥和扇区LBA地址混合后的数据进行散列运算,并以散列运算的结果作为加密/解密密钥,对硬盘数据进行序列加密或者分组加密。本装置是串联在计算机主板和硬盘之间的设备,它由加密卡和电子钥匙组成。加密卡主要由单片机和FPGA芯片组成。对写入硬盘的数据进行加密,并对从硬盘读出的数据进行解密。通过利用ATA指令集中的保留命令码,在不增加额外电缆连接的情况下,实现了主机与加密卡中单片机之间的通信。该加密装置具有自检、密钥备份与恢复等功能。本发明可广泛应用于需要保密的计算机系统中。
申请公布号 CN1924835A 申请公布日期 2007.03.07
申请号 CN200610105087.4 申请日期 2006.09.01
申请人 西安交通大学;长春卓尔信息安全产业股份有限公司 发明人 伍卫国;王本中;刘轶;李思;张群;钱德沛;田敏
分类号 G06F12/14(2006.01);G06F21/00(2006.01) 主分类号 G06F12/14(2006.01)
代理机构 西安通大专利代理有限责任公司 代理人 陈翠兰
主权项 1.一种基于动态密钥的硬盘数据加密方法,其特征在于,其实现步骤为:A、在主机上运行密钥生成程序,根据屏幕提示信息,由用户输入一串任意的字符,密钥生成程序使用通用的Hash算法,对用户输入的字符及主机的实时时钟进行Hash运算,把Hash运算的结果作为主密钥;B、提示用户再次输入另一串任意的字符,密钥生成程序使用通用的Hash算法,对用户输入的字符及主机的实时时钟进行Hash运算,并以Hash运算的结果作为随机数的种子,使用标准C函数库中的随机数生成算法,生成若干个随机数,每个随机数被用作一个分区密钥;C、根据硬盘扇区的逻辑块寻址LBA地址中的高位地址把硬盘划分为若干分区,分区的数量与密钥生成程序生成的分区密钥数量相等;D、对数据进行加密时,先根据待加密数据所在的分区,即逻辑块寻址LBA地址中的高位地址找出与之对应的分区密钥;E、把主密钥、对应的分区密钥、数据所在扇区的LBA地址三者拼接,即以字节为单位按顺序排列;F、对拼接后的结果进行散列运算,采用散列函数MD5、散列函数SHA1或者其它散列运算算法;G、以散列运算的结果作为加密的密钥,利用序列加密算法或者分组加密算法对数据进行加密。
地址 710049陕西省西安市咸宁路28号