CN1373424A - 在Windows环境下虚拟磁盘的方法 - Google Patents

在Windows环境下虚拟磁盘的方法 Download PDF

Info

Publication number
CN1373424A
CN1373424A CN 01132345 CN01132345A CN1373424A CN 1373424 A CN1373424 A CN 1373424A CN 01132345 CN01132345 CN 01132345 CN 01132345 A CN01132345 A CN 01132345A CN 1373424 A CN1373424 A CN 1373424A
Authority
CN
China
Prior art keywords
virtual disk
disk
data
file
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 01132345
Other languages
English (en)
Other versions
CN1154050C (zh
Inventor
吴海明
严华力
顾震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GEER SOFTWARE CO Ltd SHANGHAI
Original Assignee
GEER SOFTWARE CO Ltd SHANGHAI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GEER SOFTWARE CO Ltd SHANGHAI filed Critical GEER SOFTWARE CO Ltd SHANGHAI
Priority to CNB011323450A priority Critical patent/CN1154050C/zh
Publication of CN1373424A publication Critical patent/CN1373424A/zh
Application granted granted Critical
Publication of CN1154050C publication Critical patent/CN1154050C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种在WINDOWS环境下虚拟磁盘的方法。目前,Windows系列软件没有提供数据的安全保护功能,所有用户都可以访问磁盘上的数据,对于用户的数据没有提供有力的保护措施。本发明较好的解决了该问题,提出了在在WINDOWS环境下虚拟磁盘的方法,存放在虚拟磁盘里的数据受到严格的保护,没有口令或未经授权的用户无法访问虚拟磁盘的数据。这个磁盘与实际硬盘上的一个文件相对应,对于虚拟磁盘的读写都对应到实际文件的读写上。虚拟磁盘中的数据受到多种加密算法的保护,可以保证数据的安全性。

Description

在Windows环境下虚拟磁盘的方法
                              技术领域
本发明涉及计算机软件、信息安全软件及系统工具软件领域,尤其涉及一种在Windows环境下虚拟磁盘的方法。
                              背景技术
Windows系列软件包括多个成员,现在广泛使用的包括Windows 9x系列软件和WindowsNT/2000。Windows 9x系列软件是普通PC机使用的操作系统软件,它为一般电脑用户提供了工作和娱乐的平台。而Windows NT/2000由于其具备比Windows 9x系列软件强得多的稳定性,以及Windows 9x系列软件所不具备的安全功能,是企业中PC机操作系统软件的首选。但Windows系列软件没有提供数据的安全保护功能,所有用户都可以访问磁盘上的数据,对于用户的私人数据没有提供有力的保护措施。
在Windows系列软件的开发包里提供了在系统里增加磁盘的方法,操作系统提供了增加磁盘的调用接口,但没有使用这个方法来保护用户的数据的实际应用。
普通加密软件虽然能完成数据的加解密,但对文件的操作仍旧通过操作系统(Windows)进行,所以无法避免明文方式的数据的存在。在使用普通的数据加密技术的软件在使用被加密的文件时,必须把被加密的文件解密出来才能进行操作,在操作完成之后,必须把更新过的文件重新加密,这对于用户是非常不方便的。而且,一般用户在操作完成之后,容易忘记删除解密出来的文件,并且即使在资源管理器中删除了文件也可能被其它软件恢复,这就很不安全。
基于上述现有技术的不足之处,我们考虑在系统中虚拟一个安全磁盘,它能够确保在物理的磁盘上任何时间都不存在任何用户在资源管理器中看到的明文数据,即:用户可以看到的数据在实际磁盘上永远都以加密形式存在,只要关闭虚拟磁盘文件,没有任何技术可行的方法可以用于窃取用户放在虚拟磁盘文件中的数据。
                              发明内容
本发明的目的在于提出在Windows系统中创建一个虚拟的安全磁盘,存放在这个磁盘里的数据受到严格的保护,没有口令或未经授权的用户无法访问这个磁盘的数据。用户可在该虚拟磁盘上对加密文件进行操作,而不必进行解密文件、编辑文件和加密文件的流程,并不会在系统中留下解密文件和临时文件的残骸。
本发明提出了一种在Windows环境下虚拟磁盘的方法,其实现方法如下所述:
一种在Windows环境下虚拟磁盘的方法,利用Windows 9x/NT磁盘驱动程序接口在Windows系统中创建一个与硬盘中的实际文件相对应的虚拟磁盘,所述方法包括以下步骤:
a.从虚拟磁盘对应的文件中读取要生成的虚拟磁盘的信息,其中包括磁盘的容量、磁盘
  包含的柱面个数和磁头个数、每个柱面包含的扇区数、每个扇区包含的字节数和磁盘
  使用的文件系统;
b.虚拟磁盘驱动程序根据步骤a中读到的虚拟磁盘的信息创建一个磁盘设备;
c.使用操作系统提供的增加磁盘的接口,把步骤b中创建的磁盘设备提交给操作系统使
  该磁盘设备可在系统内使用;
其中,虚拟磁盘对应的文件在创建虚拟磁盘之前已建立于硬盘之中;虚拟磁盘对应的文件中保存的信息受加密算法的保护,必须以某种形式获得密匙对其解密,以读取文件内容。根据步骤a中读到的虚拟磁盘的信息创建的磁盘设备实际上是一个包含虚拟磁盘信息的数据结构。
创建虚拟磁盘之后,就在系统中增加了一个虚拟的磁盘,比如如果用户的系统中原来有一个硬盘、软驱和光驱,则他在资源管理器中可以看到A:、C:和D:三个磁盘,可以对这三个盘进行操作,而在创建磁盘分区之后,资源管理器中多出一个盘符为E:的磁盘,盘符可由用户选择,可以在这个磁盘上进行正常磁盘可以进行的任意操作,实际的效果为对这个磁盘对应的文件进行操作。
虚拟磁盘生成后,虚拟磁盘驱动程序截获了所有磁盘调用,并判断系统是否调用虚拟磁盘,如果是,则调用虚拟磁盘;如果不是,则是对系统中原有磁盘的调用,直接由操作系统完成。调用虚拟磁盘包括以下步骤:
a.根据该次调用的信息数据在磁盘上的位置,计算出该信息在虚拟磁盘对应的文件中
  的位置,计算方法如下所述:
确定要读取或写入的数据在虚拟磁盘中的位置,这个位置包括三个参数:柱面号C、磁头号H和扇区号S,用于计算实际数据在虚拟磁盘文件中相对于文件头的偏移量;
假设虚拟磁盘共包含nC个柱面,nH个磁头,每个柱面上的一个磁头控制nS个扇区,每个扇区包括nB个字节,本次读写的柱面号为C、磁头号为H和扇区号为S,则在虚拟磁盘文件中需要读取或写入的数据相对于文件头的偏移量为:
0ffset(偏移量)=(C×nH×nS+H×nS+S-1)×nB;
C×nH×nS表示在要读取或写入的数据所在的柱面C之前的扇区数,H×nS表示在柱面C中要读取或写入的数据所在的磁头H之前的扇区数,S-1表示在磁头H中要读取或写入的数据所在的扇区S之前的扇区数,三者之和为要读取或写入的数据前面的扇区数的总和,再乘以每个扇区的字节数得到数据距离文件头的偏移量;
b.确定该次调用的信息数据在磁盘上的长度即为该信息数据在磁盘文件中所占的长
  度;
c.如果是读虚拟磁盘,则根据要读取的信息数据在虚拟磁盘对应的文件中的位置和长
  度从虚拟磁盘对应的文件中读取需要的数据,并且对读出的数据进行解密,把解密
  的结果返回给用户;
d.如果是写虚拟磁盘,则加密要写入的数据,并且根据要写入的信息数据在虚拟磁盘
  对应的文件中的位置和长度,把加密后的数据写入虚拟磁盘对应的文件中。
尽管用户选择的口令可长可短,实际用来加密虚拟磁盘的密钥是由系统自动生成的,根据不同的需要可以采用128位或者256位的随机密钥,使用256位随机密钥的虚拟磁盘是无法以暴力方法破解的。
加密虚拟磁盘的密钥也以加密形式保存在虚拟磁盘文件里,用户可以选择用口令或者证书来加密这个密钥,并且可以使用IC卡保存这个口令或者证书对应的私钥。
加密密钥的口令并不以明文或者加密形式存在于虚拟磁盘文件中,而是只在虚拟磁盘文件中存放一个口令的摘要,摘要算法的性质决定了它既可以用来验证用户输入的口令是否正确,又不会泄露口令的具体数据及长度等信息。
本发明所具有的显著效果是:
用户可以使用口令或数字证书建立虚拟磁盘,它支持IC卡和USB插口身份识别设备。并且每个用户可建立多个虚拟磁盘,每个虚拟磁盘支持多个用户访问。
虚拟磁盘完全仿真物理磁盘的文件操作,加密和解密对用户是透明的。
虚拟磁盘容量只受磁盘自由空间限制。支持Windows 9x、Windows NT、Windows 2000平台,支持FAT、FAT32和NTFS文件系统。
安装虚拟磁盘后,Windows系统的正常文件操作无明显的时间延迟。
                              附图说明
图1:系统调用虚拟磁盘的简单流程图
                              具体实施方式
下面结合附图对本发明作进一步的详细说明。
一种在Windows环境下虚拟磁盘的方法,利用Windows 9x/NT磁盘驱动程序接口在Windows系统中创建一个与硬盘中的实际文件相对应的虚拟磁盘,所述方法包括以下步骤:
a.从虚拟磁盘对应的文件中读取要生成的虚拟磁盘的信息,其中包括磁盘的容量、
  磁盘包含的柱面个数和磁头个数、每个柱面包含的扇区数、每个扇区包含的字节
  数和磁盘使用的文件系统;
b.虚拟磁盘驱动程序根据步骤a中读到的虚拟磁盘的信息创建一个磁盘设备;
c.使用操作系统提供的增加磁盘的接口,把步骤b中创建的磁盘设备提交给操作系
  统使该磁盘设备可在系统内使用;
其中,虚拟磁盘对应的文件在创建虚拟磁盘之前已建立于硬盘之中;虚拟磁盘对应的文件中保存的信息受加密算法的保护,必须以某种形式或的密匙对其解密,并读取文件内容。根据步骤a中读到的虚拟磁盘的信息创建的磁盘设备实际上是一个包含虚拟磁盘信息的数据结构。
创建虚拟磁盘之后,就在系统中增加了一个虚拟的磁盘,比如如果用户的系统中原来有一个硬盘、软驱和光驱,则他在资源管理器中可以看到A:、C:和D:三个磁盘,可以对这三个盘进行操作,而在创建磁盘分区之后,资源管理器中多出一个盘符为E:的磁盘,盘符可由用户选择,可以在这个磁盘上进行正常磁盘可以进行的任意操作,实际的效果为对这个磁盘对应的文件进行操作。
虚拟磁盘生成后,虚拟磁盘驱动程序截获了所有磁盘调用,并判断系统是否调用虚拟磁盘,如果是,则调用虚拟磁盘;如果不是,则是对系统中原有磁盘的调用,直接由操作系统完成。调用虚拟磁盘包括以下步骤:
a.根据该次调用的信息数据在磁盘上的位置,计算出该信息在虚拟磁盘对应的文件中
  的位置,计算方法如下所述:
确定要读取或写入的数据在虚拟磁盘中的位置,这个位置包括三个参数:柱面号、磁头号和扇区号,用于计算实际数据在虚拟磁盘文件中相对于文件头的偏移量;
假设虚拟磁盘共包含nC个柱面,nH个磁头,每个柱面上的一个磁头控制nS个扇区,每个扇区包括nB个字节,本次读写的柱面号为C、磁头号为H和扇区号为S,则在虚拟磁盘文件中需要读取或写入的数据相对于文件头的偏移量为:
0ffset(偏移量)=(C×nH×nS+H×nS+S-1)×nB;
C×nH×nS表示在要读取或写入的数据所在的柱面C之前的扇区数,H×nS表示在柱面C中要读取或写入的数据所在的磁头H之前的扇区数,S-1表示在磁头H中要读取或写入的数据所在的扇区S之前的扇区数,三者之和为要读取或写入的数据前面的扇区数的总和,再乘以每个扇区的字节数得到数据距离文件头的偏移量;
b.确定该次调用的信息数据在磁盘上的长度即为该信息数据在磁盘文件中所占的长
  度;
c.如果是读虚拟磁盘,则根据要读取的信息数据在虚拟磁盘对应的文件中的位置和长
  度从虚拟磁盘对应的文件中读取需要的数据,并且对读出的数据进行解密,把解密
  的结果返回给用户;
d.如果是写虚拟磁盘,则加密要写入的数据,并且根据要写入的信息数据在虚拟磁盘
  对应的文件中的位置和长度,把加密后的数据写入虚拟磁盘对应的文件中。
其中,加密虚拟磁盘的密匙由系统自动生成,加密虚拟磁盘的随机密匙可根据实际需要采用128位或256位,加密虚拟磁盘的密匙以加密形式保存在虚拟磁盘文件里,用户可选择用口令或证书加密该密匙,并可使用卡保存该口令或证书对应的私匙,加密密钥的口令并不以明文或者加密形式存在于虚拟磁盘文件中,而只是在虚拟安全磁盘文件中存放一个口令的摘要。

Claims (11)

1、一种在WINDOWS环境下虚拟磁盘的方法,其特征在于,利用Windows 9x/NT磁盘驱动程序接口在Windows系统中创建一个与硬盘中的实际文件相对应的虚拟磁盘,所述方法包括以下步骤:
a.从虚拟磁盘对应的文件中读取要生成的虚拟磁盘的信息,其中包括磁盘的容量、磁盘
  包含的柱面个数和磁头个数、每个柱面包含的扇区数、每个扇区包含的字节数和磁盘
  使用的文件系统;
b.虚拟磁盘驱动程序根据步骤a中读到的虚拟磁盘的信息创建一个磁盘设备;
c.使用操作系统提供的增加磁盘的接口,把步骤b中创建的磁盘设备提交给操作系统
  使该磁盘设备可在系统内使用;
2、根据权利要求1所述的方法,其进一步特征在于,虚拟磁盘对应的文件在创建虚拟磁盘之前已建立于硬盘之中,所述文件的大小为虚拟磁盘的容量,用于保存虚拟磁盘中的数据。
3、根据权利要求1所述的方法,其进一步特征在于,虚拟磁盘对应的文件中保存的信息受加密算法的保护,必须以某种形式获得密匙对其解密,以读取文件内容。
4、根据权利要求1所述的方法,其进一步特征在于,根据步骤a中读到的虚拟磁盘的信息创建的磁盘设备实际上是一个包含虚拟磁盘信息的数据结构。
5、根据权利要求1所述的方法,其进一步特征在于,创建虚拟磁盘后,系统中增加了一个虚拟的磁盘,即在资源管理器中多出一个具有盘符名的磁盘,该盘符名可由用户自行命名。
6、根据权利要求1所述的方法,其进一步特征在于,虚拟磁盘生成后,虚拟磁盘驱动程序截获了所有磁盘调用,并判断系统是否调用虚拟磁盘,如果是,则调用虚拟磁盘;如果不是,则是对系统中原有磁盘的调用,直接由操作系统完成。
7、根据权利要求6所述的方法,其进一步特征在于,调用虚拟磁盘包括以下步骤:
a.根据该次调用的信息数据在磁盘上的位置,计算出该信息在虚拟磁盘对应的文件中
  的位置,计算方法如下所述:
   确定要读取或写入的数据在虚拟磁盘中的位置,这个位置包括三个参数:柱面号
C、磁头号H和扇区号S,用于计算实际数据在虚拟磁盘文件中相对于文件头的偏移
量;
    假设虚拟磁盘共包含nC个柱面,nH个磁头,每个柱面上的一个磁头控制nS个扇
区,每个扇区包括nB个字节,本次读写的柱面号为C、磁头号为H和扇区号为S,则
在虚拟磁盘文件中需要读取或写入的数据相对于文件头的偏移量为:
    Offset(偏移量)=(C×nH×nS+H×nS+S-1)×nB;
    C×nH×nS表示在要读取或写入的数据所在的柱面C之前的扇区数,H×nS表示在
柱面C中要读取或写入的数据所在的磁头H之前的扇区数,S-1表示在磁头H中要读取
或写入的数据所在的扇区S之前的扇区数,三者之和为要读取或写入的数据前面的扇区
数的总和,再乘以每个扇区的字节数得到数据距离文件头的偏移量;
b.确定该次调用的信息数据在磁盘上的长度即为该信息数据在磁盘文件中所占的长度;
c.如果是读虚拟磁盘,则根据要读取的信息数据在虚拟磁盘对应的文件中的位置和长度
  从虚拟磁盘对应的文件中读取需要的数据,并且对读出的数据进行解密,把解密的结
  果返回给用户;
d.如果是写虚拟磁盘,则加密要写入的数据,并且根据要写入的信息数据在虚拟磁盘对
  应的文件中的位置和长度,把加密后的数据写入虚拟磁盘对应的文件中。
8、根据权利要求2所述的方法,其进一步特征在于,加密虚拟磁盘的密匙由系统自动生成。
9、根据权利要求8所述的方法,其进一步特征在于,加密虚拟磁盘的随机密匙可根据实际需要采用128位或256位。
10、根据权利要求9所述的方法,其进一步特征在于,加密虚拟磁盘的密匙以加密形式保存在虚拟磁盘文件里,用户可选择用口令或证书加密该密匙,并可使用卡保存该口令或证书对应的私匙。
11、根据权利要求10所述的方法,其进一步特征在于,加密密匙的口令并不以明文或者加密形式存在于虚拟磁盘文件中,而只是在虚拟安全磁盘文件中存放一个口令的摘要。
CNB011323450A 2001-11-29 2001-11-29 在Windows环境下虚拟磁盘的方法 Expired - Fee Related CN1154050C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011323450A CN1154050C (zh) 2001-11-29 2001-11-29 在Windows环境下虚拟磁盘的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011323450A CN1154050C (zh) 2001-11-29 2001-11-29 在Windows环境下虚拟磁盘的方法

Publications (2)

Publication Number Publication Date
CN1373424A true CN1373424A (zh) 2002-10-09
CN1154050C CN1154050C (zh) 2004-06-16

Family

ID=4671376

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011323450A Expired - Fee Related CN1154050C (zh) 2001-11-29 2001-11-29 在Windows环境下虚拟磁盘的方法

Country Status (1)

Country Link
CN (1) CN1154050C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464315C (zh) * 2006-05-22 2009-02-25 中国软件与技术服务股份有限公司 移动存储器失泄密防护的方法和系统
CN101853363A (zh) * 2010-05-07 2010-10-06 北京飞天诚信科技有限公司 一种文件保护方法及系统
CN101923678A (zh) * 2010-07-30 2010-12-22 武汉天喻信息产业股份有限公司 一种企业管理软件的数据安全保护方法
CN103020537A (zh) * 2011-09-22 2013-04-03 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置
CN105550582A (zh) * 2015-12-11 2016-05-04 福建联迪商用设备有限公司 访问虚拟磁盘的方法及系统
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464315C (zh) * 2006-05-22 2009-02-25 中国软件与技术服务股份有限公司 移动存储器失泄密防护的方法和系统
CN101853363A (zh) * 2010-05-07 2010-10-06 北京飞天诚信科技有限公司 一种文件保护方法及系统
CN101853363B (zh) * 2010-05-07 2012-08-08 飞天诚信科技股份有限公司 一种文件保护方法及系统
US8856521B2 (en) 2010-05-07 2014-10-07 Feitian Technologies Co., Ltd. Methods and systems for performing secure operations on an encrypted file
CN101923678A (zh) * 2010-07-30 2010-12-22 武汉天喻信息产业股份有限公司 一种企业管理软件的数据安全保护方法
CN103020537A (zh) * 2011-09-22 2013-04-03 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置
CN103020537B (zh) * 2011-09-22 2015-07-22 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置
US9224002B2 (en) 2011-09-22 2015-12-29 Tencent Technology (Shenzhen) Company Limited Method and apparatus for file encryption/decryption
CN105550582A (zh) * 2015-12-11 2016-05-04 福建联迪商用设备有限公司 访问虚拟磁盘的方法及系统
CN105550582B (zh) * 2015-12-11 2018-08-14 福建联迪商用设备有限公司 访问虚拟磁盘的方法及系统
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法

Also Published As

Publication number Publication date
CN1154050C (zh) 2004-06-16

Similar Documents

Publication Publication Date Title
JP4648687B2 (ja) データストレージシステムにおける暗号化変換の方法と装置
US7802293B2 (en) Secure digital credential sharing arrangement
US8386797B1 (en) System and method for transparent disk encryption
KR101563461B1 (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
Pang et al. StegFS: A steganographic file system
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
CN101408916B (zh) 一种互联网软件上网隐私保护方法
JP3871996B2 (ja) データ分割管理方法及びプログラム
CN1991799A (zh) 一种安全存储装置和数据管理方法
JP2009225437A (ja) 記憶データの安全な処分
CN1700193A (zh) 内容保护系统中的可记录介质上的安全存储
US20050005091A1 (en) Method and apparatus for data integration security
CN102693399B (zh) 一种电子文档在线分离与还原的系统及方法
CN108573176B (zh) 一种密钥派生加密的移动终端数据安全删除的方法及系统
CN1725196A (zh) 一种计算机数据的加密保护及读写控制方法
CN108197478A (zh) 一种采用随机盐值的NandFlash加密文件系统
US12032493B2 (en) Obfuscating cryptographic material in memory
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
CN1154050C (zh) 在Windows环境下虚拟磁盘的方法
CN1788245A (zh) 数字权限管理
CN110837634A (zh) 基于硬件加密机的电子签章方法
CN106919348A (zh) 防暴力破解的分布式存储系统及存储方法
CN1639789A (zh) 读或写用户数据的设备和方法
CN1266617C (zh) 一种计算机数据保护方法
CN101604296A (zh) 磁盘数据扇区级加密方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040616

Termination date: 20141129

EXPY Termination of patent right or utility model