可移动磁盘的加密与解密方法

文档序号:6399544阅读:200来源:国知局
专利名称:可移动磁盘的加密与解密方法
技术领域
本发明涉及一种用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法。
背景技术
可移动磁盘可以方便地存储文件,为了克服可移动磁盘操作的开放性给数据安全带来的隐患,可移动磁盘的加密技术已经取得了长足的进步,目前大部分可移动磁盘都采用了软件加密或硬件加密技术来提高可移动磁盘的安全性,但是这些可移动磁盘的加密技术都存在某些弊端,如可移动磁盘与计算机连接后在计算机只显示单盘符,普通盘和加密盘无法同时存在,实现不了两盘之间的文件拷贝;可移动磁盘里的解密程序可以被删除,造成无法解密,只有回到本地电脑把解密程序恢复后才能解密;解密需要电脑软件参与,在电脑上必须安装相关软件方能解密;加密的对象是文件而不是磁盘,操作繁琐,文件的加密也只是进行带密码压缩,加密工具等同于压缩工具;不能给多个用户分配各自的空间和密码。

发明内容
为了克服上述可移动磁盘加密和解密技术存在的弊端,本发明提供了一种新的可移动磁盘的加密和解密方法。
利用加密工具根据用户的需要可以对磁盘的空间自由地进行划分,同时用自定义命令向韧件传送普通盘、加密盘、钥匙盘各自在Flash的起始地址,容量等信息,接着分别对普通盘和加密盘进行格式化,把钥匙盘即存有解密程序的小磁盘的镜象写入Flash末端。利用同样的方法可以对磁盘空间进行多用户划分,每个用户都有自己的空间,用户名和密码,解密后只能使用自己的空间。在加密盘加密状态时,韧件把指针指向镜象,于是电脑就看到一个里含解密程序的钥匙盘。电脑对钥匙盘的磁盘操作如拷贝,删除,格式化等,反映到韧件都是对钥匙盘地址范围内的读写操作,韧件对一切写操作忽略,这样就实现了无法删除或破坏解密程序的功能。
根据《Universal Serial Bus Specification v1.1》协议,在MassStorage Class Bulk-Only传输中,电脑会向可移动磁盘发出GetMaxLUN命令获取盘符个数(LUN即Logic Unit Number)。可移动磁盘为了同时显示普通盘和加密盘,必须回复0x01(从0x00算起),其中LUN0对应普通盘,LUN1对应加密盘。此后电脑会分别询问LUN0和LNU1两个磁盘的磁盘状况,电脑对LUN0询问时回复普通盘的磁盘情况,而加密盘存在加密和解密两种状态,当加密盘处于加密状态时,电脑对LNU1询问时回复钥匙盘的磁盘状况;当加密盘处于解密状态时,电脑对LNU1询问时回复真正的加密盘状况。磁盘和PC断开后,加密盘恢复为加密状态。
在钥匙盘里执行解密程序,程序收取用户输入的用户名和密码后向韧件下传,韧件判别其正确性,如果正确,把磁盘指针指向加密盘,并上报程序解密通过,如果不正确,磁盘指针维持指向钥匙盘,上报程序解密不通过。如果密码遗忘,可以通过加密工具重新划分空间取回无法使用的加密空间。
本发明具有如下几个重要的优点1、默认普通盘和加密盘同时出现,也可以设置为只出现普通盘或只出现加密盘,选择更多。
2、解密程序不可删除。
3、解密过程独立完成,无需电脑软件参与,与电脑无关。
4、对磁盘进行加密,解密前不可见,解密后磁盘文件直接使用,无需单独解密。
5、磁盘空间可以多用户划分,每个用户有自己的空间,用户名和密码,解密后可见自己的空间。
本发明操作方便、简单、直观,可以有效保护用户数据,防止拷贝、剽窃事件发生,且多个用户可以共用一个可移动磁盘,但相互无法查看各自保护内容。


图1是本发明的原理图。其中,A为普通盘,B为加密盘,C为钥匙盘,D0为A的数据区、D1为B的数据区、D2为C数据区,a为普通盘起始地址Addr0,b为加密盘起始地址Addr1,c为钥匙盘起始地址Addr2,E为加密盘加密状态,e为加密盘解密状态。
具体实施方法如图1,钥匙盘(C)是存放解密程序的磁盘,其大小是不变的,现举例为500KB,这样,如果一个可用空间为60M的可移动磁盘,用户希望把其中的30M划为加密盘,则可以确定图中Addr2(c)的地址为60M-0.5M=59.5M=0x3b80000,由于磁盘地址(LBA)是以扇区为单位,1扇区=0x200Byte,所以Addr2(c)的地址Addr2LBA=0x3b80000/0x200=0x1dc00。同理Addr1(b)和Addr0(a)的地址为Addr1LBA=0x1dc00-30M/0x200B=0x1dc00-0xf000=0xec00,Addr0LBA=0x00。加密工具把这几个地址连同用户输入的用户名和密码下传给韧件,韧件用变量记录下来并写入Flash系统代码区,这样可移动磁盘断电后也可以保存下来。
电脑对可移动磁盘的访问是通过发送读写命令来进行的,读写命令包含三个主要参数为LUN,起始地址,读写长度。起始地址和读写长度单位为LBA,起始地址是相对于LUN的相对地址。如电脑此时需要读取LUN1的0x300开始的0x20个扇区,则韧件向Flash读取数据的地址应该为根据目前状态标志(加密或解密),把Addr2(c)加上0x300或Addr1(b)加上0x300才是真正的Flash读取地址。
解密程序把用户输入的用户名和密码下传给韧件,韧件从系统代码区读出加密时记录的用户名和密码进行比较,完全一致后才上报电脑密码通过,同时把内部状态标志拔为解密状态。
权利要求
1.一种用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法,其特征是双盘符出现在电脑上,对应为普通盘和加密盘,加密盘有两种状态,加密状态磁盘内容为一不可删除解密程序,解密状态磁盘内容为受保护内容,解密通过就自动发生状态切换。
2.根据权利要求1所述的用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法,其特征是解密过程独立完成,无需电脑软件参与,与电脑无关。
3.根据权利要求1所述的用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法,其特征是可以对可移动磁盘空间自由进行划分,可移动磁盘空间可以多用户划分,每个用户有自己的空间,用户名和密码,解密后可见自己的空间。
4.根据权利要求1所述的用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法,其特征是可移动磁盘和电脑断开后,加密盘恢复为加密状态。
5.根据权利要求1所述的用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法,其特征是遗忘密码可以通过加密工具重新划分空间取回无法使用的加密空间。
全文摘要
一种用以提高可移动磁盘的安全性的可移动磁盘的加密和解密方法。利用加密工具根据用户对磁盘的划分,用自定义命令向韧件传送普通盘、加密盘、钥匙盘各自在Flash的起始地址,容量等信息,接着分别对普通盘和加密盘进行格式化,把钥匙盘即存有解密程序的小磁盘的镜象写入Flash末端。电脑对钥匙盘的磁盘操作反映到韧件都是对钥匙盘地址范围内的读写操作,韧件对一切写操作忽略,这样就实现了无法删除解密程序的功能。在钥匙盘里执行解密程序,程序收取用户输入的用户名和密码后向韧件下传,韧件判别其正确性,如果正确,把磁盘指针指向加密盘,并上报程序解密通过,如果不正确,磁盘指针维持指向钥匙盘,上报程序解密不通过。
文档编号G06F12/14GK1645343SQ20041003718
公开日2005年7月27日 申请日期2004年6月11日 优先权日2004年6月11日
发明者陈亮 申请人:珠海炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1