专利名称:虚拟磁盘管理方法
技术领域:
本发明是有关于一种虚拟磁盘(Virtual Disk)管理方法及系统,且特别有关于一种具有权限控管机制的虚拟磁盘管理方法及系统,其中特定使用者/群组可以在特定主机上对于加密装置进行附挂(Mount)。
背景技术:
在计算机系统中,一些应用程序,如加密装置应用程序(EncryptedDevice Application,EDA)可以将一个特定的文件空间进行加密,且将加密文件附挂为虚拟磁盘。虚拟磁盘可以使用不同的加密算法来保存使用者的信息,以避免病毒或是黑客的恶意攻击。
已知地,在建立加密文件的过程中,加密装置应用程序是依据使用者设定的密码来对于文件进行加密。在附挂加密文件的过程中,加密装置应用程序亦判断密码是否正确来决定是否将加密文件附挂为虚拟磁盘。图1显示已知加密装置应用程序的建立加密文件的方法。首先,如步骤S110,加密装置应用程序10产生输入相应虚拟磁盘的文件尺寸的要求。如步骤S120,使用者20设定欲作为虚拟磁盘的文件尺寸。如步骤S130,加密装置应用程序10产生输入相应虚拟磁盘的密码的要求。如步骤S140,使用者20设定虚拟磁盘的密码。如步骤S150,加密装置应用程序10依据输入的密码对于相应此文件尺寸的空间进行加密,从而建立加密文件30。图2显示已知加密装置应用程序的附挂加密文件为虚拟磁盘的方法。如步骤S210,加密装置应用程序10产生指定特定加密文件的要求。如步骤S220,使用者20选择加密文件30。如步骤S230,加密装置应用程序10检查指定的加密文件30是否存在。若文件不存在(步骤S240的否),流程结束。若文件存在(步骤S240的是),如步骤S250,加密装置应用程序10产生输入相应此加密文件30的密码的要求。如步骤S260,使用者20输入密码。如步骤S270,加密装置应用程序10判断密码是否正确。若密码不正确(步骤S270的否),流程结束。若密码正确(步骤S270的是),如步骤S280,将加密文件30附挂成为虚拟磁盘40。
如前所述,由于文件仅依据使用者设定的单一密码进行加密。密码极有可能被其它人破解,使得加密文件可以被其它人使用。另外,由于已知虚拟磁盘管理不具有任何的权限控管机制,其无法提供不同使用者的存取弹性。此外,由于已知虚拟磁盘管理机制中并无法辨识加密文件所属的主机,加密文件亦可能被复制到其它的主机上使用。
发明内容
有鉴于此,本发明提供虚拟磁盘管理方法及系统。
本发明实施例的虚拟磁盘管理方法。首先,设定文件空间,且设定第一密码。取得第一装置代码。依据第一密码与第一装置代码加密文件空间,从而得到加密文件。之后,接受加密文件的指定。接收第二密码。取得第二装置代码。判断第二密码是否符合第一密码,且判断第二装置代码是否符合第一装置代码。若第二密码符合第一密码,且第二装置代码符合第一装置代码,将加密文件附挂,成为虚拟磁盘。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
图1为流程图是显示已知加密装置应用程序的建立加密文件的方法。
图2为流程图是显示已知加密装置应用程序的附挂加密文件为虚拟磁盘的方法。
图3为示意图是显示依据本发明实施例的虚拟磁盘管理系统。
图4为流程图是显示依据本发明实施例的虚拟磁盘管理的建立加密文件的方法。
图5为流程图是显示依据本发明实施例的虚拟磁盘管理的附挂加密文件为虚拟磁盘的方法。
10~加密装置应用程序;20~使用者;30~加密文件;S110、S120、...、S150~步骤;
40~虚拟磁盘;S210、S220、...、S280~步骤;300~虚拟磁盘管理系统;310~加密装置应用程序;320~储存装置;321~加密文件;322~装置代码;323~存取控制列表;S410、S420、...、S470~步骤;S510、S520、...、S590~步骤。
具体实施例方式
图3显示依据本发明实施例的虚拟磁盘管理系统。
如图所示,依据本发明实施例的虚拟磁盘管理系统300至少包括一加密装置应用程序310与一储存装置320。加密装置应用程序310可以由使用者接收密码,且依据本发明的虚拟磁盘管理方法将储存装置320中的文件空间进行加密,成为加密文件321。储存装置320具有一个装置代码322。这装置代码是用来作为储存装置的识别,可以是人为定义的代码,或是储存装置内元件的识别码等。例如可以是储存装置320的硬盘的通用唯一识别符(Universal Unique Identifier,UUID)或是储存装置320的中央处理单元(未显示)的通用唯一识别符。另外,储存装置320中亦可以包括存取控制列表323,其定义可以不同使用者/群组对于相应加密文件321的虚拟磁盘的存取权限。其中,存取权限可以包括磁盘读取权限、磁盘写入权限、磁盘执行权限、与相应此存取控制列表323的磁盘特定金钥的修改权限。磁盘特定金钥的相关细节将于后说明。值得注意的是,在一些实施例中,加密过后的存取控制列表323可以储存于加密文件321之中。
图4显示依据本发明实施例的虚拟磁盘管理的建立加密文件的方法。在此实施例中,装置代码是以通用唯一识别符来进行说明。然而,任何可以用以辨识储存装置的代码皆可应用于本发明之中,并不限定于此。
如步骤S410,接收相应文件空间尺寸的设定,且如步骤S420,接收相应密码的设定。类似地,加密装置应用程序可以产生相应输入文件空间尺寸与密码的要求给使用者。如步骤S430,取得通用唯一识别符。值得注意的是,通用唯一识别符可以是相应于储存装置或处理单元。如步骤S440,将通用唯一识别符加密,从而得到磁盘根金钥(DRK)。值得注意的是,磁盘根金钥可以利用非对称算法,如RSA,或是对称算法,如AES、DES、与Blowfish来产生。在一些实施例中,可以依据相应加密装置应用程序的公开金钥(Public Key),利用RSA算法加密通用唯一识别符,从而得到磁盘根金钥。在一些实施例中,可以依据相应加密装置应用程序的秘密金钥(Secret Key),利用AES算法加密通用唯一识别符,从而得到磁盘根金钥。如步骤S450,依据磁盘根金钥加密密码,从而得到磁盘加密金钥(DEK)。如步骤S460,依据磁盘根金钥加密存取控制列表,从而得到磁盘特定金钥(DSK)。如步骤S470,依据磁盘加密金钥加密文件空间,从而得到加密文件。值得注意的是,磁盘特定金钥可以储存于加密文件之中。
图5显示依据本发明实施例的虚拟磁盘管理的附挂加密文件为虚拟磁盘的方法。类似地,在此实施例中,装置代码是以通用唯一识别符来进行说明。然而,任何可以用以辨识储存装置的代码皆可应用于本发明之中,并不限定于此。
如步骤S510,接受加密文件的指定,并如步骤S520,接收密码。如步骤S530,取得储存此指定的加密文件的储存装置或是主机的处理单元的通用唯一识别符。如步骤S540,依据相应此加密文件的磁盘根金钥确认通用唯一识别符。在此步骤中,是先将磁盘根金钥解密,从而得到原始的通用唯一识别符,之后再判断目前取得的通用唯一识别符是否符合原始的通用唯一识别符。如前所述,磁盘根金钥可以利用非对称算法,或是对称算法来产生。在一些实施例中,是依据相应加密装置应用程序的私密金钥(Private Key),利用RSA算法解密磁盘根金钥,从而得到原始通用唯一识别符。在一些实施例中,是依据相应加密装置应用程序的私密金钥(Private Key),利用AES算法解密磁盘根金钥,从而得到原始通用唯一识别符。如步骤S550,依据相应此加密文件的磁盘加密金钥确认密码。在此步骤中,是先依据磁盘根金钥解密磁盘加密金钥,从而得到原始的密码,之后再判断目前接收的密码是否符合原始的密码。若通用唯一识别符或密码并未确认通过(步骤S560的否),结束流程。若通用唯一识别符与密码都确认通过(目前通用唯一识别符符合原始通用唯一识别符,且目前密码符合原始密码)(步骤S560的是),如步骤S570,将加密文件附挂,成为虚拟磁盘。之后,由虚拟磁盘中取得磁盘特定金钥,并如步骤S580,依据磁盘特定金钥检索相应特定使用者的存取权限。值得注意的是,在此步骤中,是依据磁盘根金钥解密磁盘特定金钥,从而得到存取控制列表,且由存取控制列表中检索相应此特定使用者对于此虚拟磁盘的存取权限。之后,如步骤590,依据存取权限提供此特定使用者存取虚拟磁盘。
必须说明的是,由于过大体积的磁盘将会增加维护与管理文件/虚拟磁盘的难度。因此,在实施例中,加密文件可以更架构为磁盘阵列(RAID)系统。举例来说,在RAID0架构中,加密文件被分为多个分段,且分别储存于不同的磁盘之中。在RAID1架构中,加密文件被复制为多个备份,且分别储存于不同的磁盘之中。在一些实施例中,磁盘阵列系统中每一磁盘可以依照图4中的方法产生相应的分段或备份。当每一磁盘由使用者建立且皆位于同一储存装置时,每一磁盘可以具有相同的磁盘加密金钥。另外,依据不同需求每一磁盘可以具有不同的磁盘特定金钥。此外,磁盘阵列系统中每一磁盘可以依照图5中的方法来进行附挂为虚拟磁盘。在附挂过程中,当磁盘根金钥与所有磁盘的磁盘特定金钥都正确时,才可以将磁盘阵列系统中所有的磁盘完整地附挂。
因此,通过本发明的虚拟磁盘管理方法及系统,特定使用者/群组可以在特定主机上对于加密装置进行附挂。此外,亦可强化权限控管机制,以增加虚拟磁盘的存取弹性。
本发明的方法,或特定型态或其部份,可以以程序码的型态包含于物理媒体,如软盘、光盘片、硬盘、或是任何其它机器可读取(如计算机可读取)储存媒体,其中,当程序码被机器,如计算机加载且执行时,此机器变成用以实现本发明的装置。本发明的方法与装置也可以以程序码型态通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、加载且执行时,此机器变成用以实现本发明的装置。当在一般用途处理器实作时,程序码结合处理器提供一操作类似于应用特定逻辑电路的独特装置。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
权利要求
1.一种虚拟磁盘管理方法,包括下列步骤设定文件空间;设定第一密码;取得第一装置代码;将该第一装置代码加密,从而得到磁盘根金钥;依据该磁盘根金钥加密该第一密码,从而得到磁盘加密金钥;以及依据该磁盘加密金钥加密该文件空间,从而得到加密文件,其中该加密文件是用以作为虚拟磁盘。
2.根据权利要求1所述的虚拟磁盘管理方法,还包括下列步骤接受该加密文件的指定;接收第二密码;取得第二装置代码;将该磁盘根金钥解密,从而得到该第一装置代码;判断该第二装置代码是否符合该第一装置代码;依据该磁盘根金钥解密该磁盘加密金钥,从而得到该第一密码;判断该第二密码是否符合该第一密码;以及若该第二装置代码符合该第一装置代码,且该第二密码符合该第一密码,将该加密文件附挂,成为虚拟磁盘。
3.根据权利要求2所述的虚拟磁盘管理方法,还包括下列步骤取得存取控制列表;以及依据该磁盘根金钥加密该存取控制列表,从而得到磁盘特定金钥。
4.根据权利要求3所述的虚拟磁盘管理方法,还包括下列步骤取得该磁盘特定金钥;依据该磁盘根金钥解密该磁盘特定金钥,从而得到该存取控制列表;依据该存取控制列表检索特定使用者相应该虚拟磁盘的存取权限;以及依据该存取权限提供该特定使用者存取该虚拟磁盘。
5.根据权利要求2所述的虚拟磁盘管理方法,还包括依据相应加密装置应用程序的公开金钥,利用非对称算法加密该第一装置代码,从而得到该磁盘根金钥。
6.根据权利要求2所述的虚拟磁盘管理方法,还包括依据相应加密装置应用程序的秘密金钥,利用对称算法加密该第一装置代码,从而得到该磁盘根金钥。
7.根据权利要求6所述的虚拟磁盘管理方法,还包括依据相应该加密装置应用程序的该私密金钥,利用该对称算法解密该磁盘根金钥,从而得到该第一装置代码。
8.根据权利要求1所述的虚拟磁盘管理方法,还包括将该加密文件架构为磁盘阵列系统,其中该磁盘阵列系统中每一分段相应共同的磁盘特定金钥或分别相应特定磁盘特定金钥。
9.根据权利要求1所述的虚拟磁盘管理方法,还包括取得相应储存装置或处理单元的该第一装置代码。
10.根据权利要求9所述的虚拟磁盘管理方法,其中该第一装置代码是该储存装置或该处理单元的通用唯一识别符。
全文摘要
本发明提供一种虚拟磁盘管理方法及系统。首先,设定文件空间,且设定第一密码。取得第一装置代码。依据第一密码与第一装置代码加密文件空间,从而得到加密文件。之后,接受加密文件的指定。接收第二密码。取得第二装置代码。判断第二密码是否符合第一密码,且判断第二装置代码是否符合第一装置代码。若第二密码符合第一密码且第二装置代码符合第一装置代码,将加密文件附挂,成为虚拟磁盘。
文档编号G06F21/00GK101055549SQ20071010822
公开日2007年10月17日 申请日期2007年6月4日 优先权日2006年9月7日
发明者陈瑞华 申请人:威盛电子股份有限公司