專利名稱:用于基于用戶身份來提供對文件的訪問的方法和裝置的制作方法
技術(shù)領(lǐng)域:
背景技術(shù):
存儲器件的器件擁有者具有對其中內(nèi)容的完全權(quán)限以進行讀和寫。通常,器件擁有者想要授予或拒絕其它用戶和/或個人的組的訪問權(quán)限。諸如Windows (視窗)的新技術(shù)文件系統(tǒng)(New Technology File System(NTFS))和一些Linux文件系統(tǒng)的文件系統(tǒng)通過分派(assign)對文件的許可來允許器件擁有者控制對文件的訪問。通過使用文件系統(tǒng)技術(shù),器件擁有者可以在內(nèi)部系統(tǒng)存儲裝置中和在諸如USB閃存盤(UFD)的外部便攜式存儲裝置中保護文件。但是,可以通過簡單地將便攜式存儲器件連接到不尊重文件系統(tǒng)的許可規(guī)則的主機來在便攜式存儲器件中繞過(circumvent)用于保護文件的該技術(shù)。例如,Linux NTFS驅(qū)動器無視許可規(guī)則。而且,諸如允許Windows訪問ext2分區(qū)的開源ext2ifs的一些第三方驅(qū)動器不實施Linux許可規(guī)則。(術(shù)語“ext2” 表示“第二擴展文件系統(tǒng)”,且術(shù)語“ext2ifs”指的是由Stephan Schreiber寫的可安裝文件系統(tǒng)(IFS)驅(qū)動器,其是被實施以用于Microsoft Windows (微軟視窗)操作系統(tǒng)的一些版本的驅(qū)動器。)甚至將便攜式存儲器件連接到在不同Windows域中運行的主機將允許當?shù)?local)管理者作為器件擁有者并且隨后推翻(override)安全措施。Microsoft 開發(fā)了加密文件系統(tǒng)(Encrypting File System, EFS),其透明地加密 NTFS內(nèi)的數(shù)據(jù),且在活動目錄(Active Directory)方案(schema)內(nèi)存儲密鑰。這種方法保證了如果繞過了許可,則在文件內(nèi)的數(shù)據(jù)維持不可訪問。但是,雖然這當被集成到Windows 中時工作得很好,但是EFS不在獨立的環(huán)境中工作,且需要中央驗證機制來檢索密鑰。加密技術(shù)ft~etty Good Privacy (PGP)使用透明的文件加密引擎,該透明的文件加密引擎使用共享的密鑰環(huán)。該技術(shù)提供靈活的基于軟件的架構(gòu)來用于維護和實施許可。但是,該許可系統(tǒng)獨立于本地(native)操作系統(tǒng)用戶/組許可集合,且需要附加的管理和客戶端軟件,其必須被安裝在主機上來訪問數(shù)據(jù)。因此,需要一種手段來保護文件不受未授權(quán)訪問,該手段在獨立環(huán)境中工作,不需要中央驗證機制來檢索密鑰,且不需要附加管理和在主機上安裝的客戶端軟件。
發(fā)明內(nèi)容
鑒于前述,在此描述的本發(fā)明的示例實施例被設計為用于保護文件不受未授權(quán)的訪問和修改。然而,可以在替換的實施例中實現(xiàn)所描述的原理。根據(jù)一個示例實施例,一種提供存儲器件中的文件系統(tǒng)的方法,包括開始對存儲器件的至少一部分驗證用戶;如果驗證不成功,則向用戶提供第二文件系統(tǒng),該第二文件系統(tǒng)的內(nèi)容被限制為公共訪問權(quán)限所授權(quán)的文件;以及如果驗證成功,則確定用戶是否是器件擁有者;以及如果用戶是器件擁有者,則向用戶提供第一文件系統(tǒng),該第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng),以及如果用戶不是器件擁有者,則向用戶提供第二文件系統(tǒng),該第二文件系統(tǒng)被限制為用戶被授權(quán)訪問的文件。第一文件系統(tǒng)可以包括用于確定訪問控制權(quán)
4限的算法和支持(supporting)數(shù)據(jù)結(jié)構(gòu)。第二文件系統(tǒng)可以是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。對于不是器件擁有者的驗證過的用戶,可以在開始驗證用戶的處理之前進行第二文件系統(tǒng)的內(nèi)容的限制。可以在確定用戶不是器件擁有者之后進行第二文件系統(tǒng)的內(nèi)容的限制。確定用戶是否是器件擁有者可以包括確認(ascertain)第一文件系統(tǒng)的根目錄的擁有權(quán)。確定用戶是否是器件擁有者可以包括參考在非易失性存儲器中存儲的訪問控制權(quán)限,該非易失性存儲器在第一文件系統(tǒng)內(nèi)或在第一文件系統(tǒng)外。該第一文件系統(tǒng)可以是NTFS,且第二文件系統(tǒng)可以是NTFS。第一文件系統(tǒng)可以是 ext2文件系統(tǒng),且第二文件系統(tǒng)可以是ext2文件系統(tǒng)。第一文件系統(tǒng)可以是NTFS,且第二文件系統(tǒng)可以表現(xiàn)為FAT文件系統(tǒng)。根據(jù)另一示例實施例,存儲器件具有第一存儲器模塊、第二存儲器模塊、驗證模塊、和控制器。第一存儲器模塊可操作以存儲第一文件系統(tǒng),所述第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng)。第二存儲器模塊可操作以存儲生成的文件系統(tǒng)結(jié)構(gòu)。驗證模塊可操作以確定用戶的身份。控制器可操作以激活驗證模塊且取決于由驗證模塊確定的用戶身份來向用戶提供第一文件系統(tǒng)或第二文件系統(tǒng)。提供第二文件系統(tǒng)包括根據(jù)用戶身份和用戶訪問控制權(quán)限,基于第一文件系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)來生成數(shù)據(jù)。所生成的數(shù)據(jù)存儲在第二存儲器模塊中。在該實施例中,存儲器件的第一文件系統(tǒng)可以包括用于確定訪問控制權(quán)限的算法和支持。第二文件系統(tǒng)可以是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。第一文件系統(tǒng)可以駐留在NAND閃存、NOR閃存或另一類型的存儲器。第二存儲器模塊可以駐留在易失性存儲器、NAND閃存、NOR閃存或另一類型的存儲器中。驗證模塊可以以本領(lǐng)域技術(shù)人員公知的任何方式由硬件、軟件、固件或其任意組合組成??刂破骺梢圆僮饕耘c第一文件系統(tǒng)相同的格式提供第二文件系統(tǒng)。存儲器件的第一文件系統(tǒng)可以是NTFS,第二文件系統(tǒng)可以是NTFS。第一文件系統(tǒng)可以是ext2文件系統(tǒng),第二文件系統(tǒng)可以是ext2文件系統(tǒng)。第一文件系統(tǒng)可以是NTFS,第二文件系統(tǒng)可以表現(xiàn)為FAT文件系統(tǒng)。根據(jù)另一示例實施例,一種用于存儲器件的控制器包括第一接口、第二接口和邏輯。第一接口用于與主機通信。第二接口用于與第一存儲器模塊、驗證模塊和第二存儲器模塊通信,所述第一存儲器模塊可操作以存儲第一文件系統(tǒng),所述第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng),所述驗證模塊可操作以確定用戶身份,且第二存儲器模塊可操作以存儲數(shù)據(jù)。邏輯可操作以激活驗證模塊以及取決于由驗證模塊確定的用戶身份來向用戶提供第一文件系統(tǒng)或第二文件系統(tǒng)。提供第二文件系統(tǒng)包括根據(jù)用戶身份和用戶訪問控制權(quán)限, 基于第一文件系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)來生成數(shù)據(jù)。該數(shù)據(jù)存儲在第二存儲器模塊中。控制器的第一和第二接口可以以本領(lǐng)域技術(shù)人員公知的任何方式在硬件、軟件、 固件或其任何組合中實施??刂破鞯牡谝晃募到y(tǒng)可以包括用于確定訪問控制權(quán)限的算法和支持數(shù)據(jù)結(jié)構(gòu)。第二文件系統(tǒng)可以是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。
該邏輯可以操作以與第一文件系統(tǒng)相同的格式提供第二系統(tǒng)??刂破鞯牡谝晃募到y(tǒng)可以是NTFS,第二文件系統(tǒng)可以是NTFS。第一文件系統(tǒng)可以是ext2文件系統(tǒng),第二文件系統(tǒng)可以是ext2文件系統(tǒng)?;蛘?,第一文件系統(tǒng)可以是NTFS,第二文件系統(tǒng)可以表現(xiàn)為 FAT文件系統(tǒng)。將根據(jù)在此的描述、所附權(quán)利要求和此后描述的附圖,將更好地理解本發(fā)明的這些和其它實施例、特征、方面和優(yōu)點。
并入并組成本說明書的部分的附示了本發(fā)明的各個方面,并與本描述一起用于說明其原理。為了方便,相同的參考標號將在附圖中通篇用于指示相同或類似的元件。以下簡要描述附圖,其中圖IA圖示了概述根據(jù)第一示例實施例的提供存儲器件中的文件系統(tǒng)的方法的流程圖;圖IB圖示了概述根據(jù)第二示例實施例的提供存儲器件中的文件系統(tǒng)的替換方法的流程圖;圖2圖示了概述響應于主機的讀取請求而向主機提供第二文件系統(tǒng)的處理的流程圖;圖3圖示根據(jù)另一示例實施例的存儲器件;以及圖4圖示了可以在圖3的存儲器件中實現(xiàn)的控制器。
具體實施例方式在此專利證書申請及其要求的語境中提供以下描述,以使得本領(lǐng)域普通技術(shù)人員能夠制作和使用所要求保護的發(fā)明。對所描述和示出的實施例的各種修改和等同替換是可能的,在此定義的各種通用原理可以應用于這些和其它實施例。因此,所要求保護的發(fā)明要符合與在此公開的原理、特征和教導一致的最寬范圍。首先描述的是基于用戶的訪問權(quán)限來在存儲器件系統(tǒng)中提供文件系統(tǒng)的方法的示例實施例。其次描述的是當呈現(xiàn)第二文件系統(tǒng)時處理主機的讀取請求的方法。還要描述的是一種存儲器件,其基于用戶的訪問權(quán)限來提供文件系統(tǒng)。然后,描述可以在存儲器件中實施的控制器。在此處描述的實施例中,“文件系統(tǒng)”可以是用于存儲和組織計算機文件的方法的實施方式。文件系統(tǒng)可以包括用于存儲、按層次組織、操縱、導航、訪問和檢索數(shù)據(jù)而實施的抽象數(shù)據(jù)類型和元數(shù)據(jù)的集合。抽象數(shù)據(jù)類型和元數(shù)據(jù)形成“目錄樹”,通過其可以訪問、操縱和啟動計算機文件。“目錄樹”通常包括根目錄和子目錄。目錄樹存儲在文件系統(tǒng)中作為 “目錄文件”。在文件系統(tǒng)中包括的元數(shù)據(jù)、目錄文件或其任何子集的集合在此稱為“文件系統(tǒng)結(jié)構(gòu)”。因此,這種文件系統(tǒng)包括有助于訪問、操縱和啟動該數(shù)據(jù)文件的數(shù)據(jù)文件和文件系統(tǒng)結(jié)構(gòu)。圖IA圖示了提供存儲器件中的文件系統(tǒng)的方法的示例實施例。圖IB圖示了這種方法的替換示例實施例。在兩個實施例中,基于用戶的權(quán)限向用戶提供文件系統(tǒng)。當用戶把諸如USB閃存盤(UFD)、安全數(shù)字(SD)卡、多媒體卡(MMC)、miniSD、或MicroSD的便攜式存儲器件連接到主機時,出現(xiàn)調(diào)用這些方法的一個示例場景?!癠SB”表示通用串行總線,其是用于使用雙串行傳輸通過電纜在計算機和外部外設之間通信的外部外圍接口標準。"SD”表示 Secure DigitalTM0 MMC、SD、miniSD、和 microSD 是與諸如多媒體播放器(例如,MP3和MP4播放器)、數(shù)字攝像機、計算機膝上電腦、全球定位系統(tǒng)(“GPS”) 設備等的各種主機設備一起使用的示例閃存器件。各種存儲器件可以適用于在這種連接時自動開始這種方法,且以下后文中描述這種器件的例子。在這種存儲器件中存儲的數(shù)據(jù)根據(jù)“本地文件系統(tǒng)”(在此也稱為“第一文件系統(tǒng)”)來呈現(xiàn)或組織,該“本地文件系統(tǒng)”是在存儲器件上物理地存儲的數(shù)據(jù)的呈現(xiàn)或組織。在用戶具有對于存儲器件中的僅部分數(shù)據(jù)的權(quán)限的情況下,在存儲器件中存儲的數(shù)據(jù)也按照稱為“第二文件系統(tǒng)”的系統(tǒng)中呈現(xiàn)或組織,在本申請中使用的該術(shù)語指基于用戶的有限權(quán)限的數(shù)據(jù)呈現(xiàn)或組織。例如,第二文件系統(tǒng)可以不包含,或可以包含但不向用戶展示由第一或本地文件系統(tǒng)包含/展示的所有數(shù)據(jù)文件,如以下說明的。圖IA的方法中的第一步驟和圖IB的方法中的第二步驟是驗證步驟。“驗證”是確定個體的身份的處理。例如,可以基于用戶名和密碼來驗證用戶。或者,可以實施生物識別硬件來提供驗證。(該處理要與“授權(quán)”處理區(qū)分開,“授權(quán)”處理是基于用戶的身份給驗證過的用戶對系統(tǒng)對象的訪問的處理。)一些用戶不能被驗證,但是,盡管如此,圖IA和IB的方法具有當用戶試圖訪問存儲器件的內(nèi)容時向這種用戶提供文件系統(tǒng)的規(guī)定。為此目的, 兩種方法包括開始驗證用戶的處理的步驟。(步驟Si)(后文將討論在圖IB中步驟Sl之前的步驟。)在開始步驟Sl的驗證處理之后,確定驗證處理是否成功了。(步驟S2。)在驗證不成功的示例情況是不識別用戶的情況下。這可能在用戶名、密碼或兩者未被識別或不匹配任何預期的用戶名/密碼組合的情況下發(fā)生。驗證不成功的另一示例情況是單純地當驗證處理由于任何原因(例如,主機上的軟件故障)而過早終止時。如果驗證處理不成功,則基于公共訪問權(quán)限建立扇區(qū)訪問準則(criteria)(艮口, 識別用戶將被給予對哪些扇區(qū)的訪問)。(步驟S3。)因此,用戶可能不具有對在本地或第一文件系統(tǒng)中的所有文件的訪問,即用戶可能不具有對在存儲器件上存儲的所有文件的訪問??梢酝ㄟ^參考支持數(shù)據(jù)結(jié)構(gòu)、例如訪問控制列表、目錄樹、外部數(shù)據(jù)庫或這種資源的任意組合的算法,來確定訪問權(quán)限(或其限制)。本地文件系統(tǒng)本身可以具有用于確定訪問控制權(quán)限的算法。例如,如果存儲器件的第一文件系統(tǒng)是NTFS 3. O或更高的格式,則在主(master)文件表記錄(MFT)內(nèi)的security_ID(安全標識符)字段和對應的安全文件 (SSecure)條目被用作在NTFS內(nèi)定義的訪問控制算法中的輸入。根據(jù)這種算法,訪問可以僅授予分配給如下文件的扇區(qū),關(guān)于該文件,相應MFT記錄的secUrity_ID字段指示如下訪問控制列表(ACL),該訪問控制列表(ACL)具有其中安全ID(SID)是S-1-1-0 (任何人)或 S-l_5-7(匿名用戶)的訪問控制條目(ACE),該ACE允許訪問,并且關(guān)于該文件沒有其它 ACE拒絕訪問。存儲器件在例如其RAM中存儲該扇區(qū)訪問準則(步驟S4),以在響應于來自主機的扇區(qū)讀取請求而提供第二文件系統(tǒng)時使用,如以下所討論。第二文件系統(tǒng)對于(未被成功驗證的)用戶,將僅僅把定義為“匿名用戶”的用戶被允許訪問的文件示為可用。圖 IA和IB的方法可以在此時結(jié)束。如果步驟S2的驗證是成功的,則用戶視為驗證過的用戶,且確定該用戶是否是器件擁有者。(步驟S5。)器件擁有者可以是個人存儲器件的擁有者或主要用戶、或法人控制的個人存儲器件的管理者組的成員。本方法包容當器件擁有者是個人用戶時的情況和當 “擁有者”是用戶組中的任意一個時的情況二者??梢酝ㄟ^確認第一文件系統(tǒng)的根目錄的擁有權(quán)(ownership)來確定器件擁有者狀態(tài)?;蛘撸梢酝ㄟ^從在非易失性存儲器中存儲的訪問控制權(quán)限讀取擁有者信息來確定器件擁有者狀態(tài)。訪問控制權(quán)限可以被規(guī)定為文件系統(tǒng)外部的規(guī)則或文件系統(tǒng)的內(nèi)部或外部的權(quán)限。如果用戶是器件擁有者,則向用戶提供第一文件系統(tǒng)(步驟S6),且方法此時結(jié)束。在圖IA的方法中,如果驗證過的用戶不是器件擁有者,基于在驗證處理期間確定的用戶的身份來建立扇區(qū)訪問準則。(步驟S7。)例如,如果存儲器件的本地文件系統(tǒng)是 NTFS格式,則可以對如下扇區(qū)授予訪問,該扇區(qū)中,相應NFT記錄的securityjd字段具有指示具體用戶具有對那些扇區(qū)的訪問的值。扇區(qū)訪問準則可以基于應用于整個類型的用戶的單個規(guī)則或分別應用于用戶的不同子組或不同的個人用戶的規(guī)則集合。然后,處理流程進行到步驟S4,其中存儲器件存儲當處理扇區(qū)讀取請求時使用的扇區(qū)訪問準則?,F(xiàn)在向用戶提供第二文件系統(tǒng),且方法此時結(jié)束。第二文件系統(tǒng)對于(已被成功驗證但不是器件擁有者的)用戶把僅僅該具體用戶被允許訪問的文件示為可用。在圖IB的方法中,存儲器件建立用于各種類型的用戶和/或可以被驗證但不是器件擁有者的具體用戶的扇區(qū)訪問準則(步驟S9),且在開始在步驟Sl中的驗證處理之前執(zhí)行該步驟。當由器件擁有者創(chuàng)建或更新本地文件系統(tǒng)時可以建立扇區(qū)訪問準則。如果此后在步驟S5中確定驗證過的用戶不是器件擁有者,則從在步驟S9中建立的準則選擇用于具體用戶的扇區(qū)訪問準則。(步驟S10。)然后,處理流程引導到步驟S4,其中存儲器件存儲當處理扇區(qū)讀取請求時使用的扇區(qū)訪問準則?,F(xiàn)在向用戶提供第二文件系統(tǒng),且方法可以此時結(jié)束。第二文件系統(tǒng)對于(未成功地驗證的)用戶將把僅僅允許用戶(公眾)訪問的文件示為可用。在提供第二文件系統(tǒng)之后,可以根據(jù)參考圖2所述的以下示例過程來處理實施本發(fā)明的存儲器件的存儲器中的扇區(qū)的主機的讀取請求。當存儲器件從主機接收扇區(qū)讀取請求時,該處理開始。(步驟Si。)作為響應,存儲器件生成包含來自本地系統(tǒng)的所請求扇區(qū)的目錄條目的副本。(步驟S2。)可以在RAM中臨時存儲所復制的扇區(qū)。根據(jù)復制的目錄條目,存儲器件確定根據(jù)建立的扇區(qū)訪問準則來向具體用戶許可對所請求扇區(qū)的訪問。(步驟S3。)例如,如果本地文件系統(tǒng)以NTFS格式,則目錄條目是 MFT記錄,且存儲器件檢查所建立的扇區(qū)訪問準則以確定在MFT記錄內(nèi)的securityjd字段是否具有許可用戶具有對該扇區(qū)的訪問的值。如果許可對該扇區(qū)的訪問,則存儲器件向主機返回該扇區(qū)(步驟S4),且該處理結(jié)束。相反,如果存儲器件在步驟S3中確定不向具體用戶許可對扇區(qū)的訪問,則存儲器件修改數(shù)據(jù),即在目錄條目的副本中的扇區(qū),來防止主機從本地文件系統(tǒng)檢索未修改的扇區(qū)。(步驟S5。)例如,在NTFS中,存儲器件可以通過移除標準信息或文件名屬性,或通過改變目錄條目的幻數(shù)(magic number)(唯一地標識記錄類型的代碼)來改變屬性。通過相應地改變的屬性,該文件不再在目錄列表中出現(xiàn)且不能通過使用對文件系統(tǒng)應用程序接口 (API)的標準調(diào)用來訪問,而且,該文件當取證(forensic)軟件工具用于訪問存儲器件時也不顯得有效。也就是說,該文件從用戶隱藏。然后,該處理流到步驟S4,其中存儲器件向主機返回修改的扇區(qū),此時,該處理可以結(jié)束。高速緩存管理的各種選擇作為本領(lǐng)域技術(shù)人員所知技術(shù)而可獲得。例如,修改的扇區(qū)可以在存儲器件的RAM中存儲,以在主機第一次請求扇區(qū)之后,節(jié)省再次修改扇區(qū)本應所需的資源(步驟S6)。如果沒有需要重新計算該修改的中間寫操作出現(xiàn)在第一和隨后的主機請求之間,則資源的這種保持是可能的。雖然圖2的處理可以應用于提供相同格式的第一(本地)和第二文件系統(tǒng)兩者的存儲器件,例如,在NTFS格式中(如上所述),該處理的應用不限于表示相同格式或NTFS格式的文件系統(tǒng)二者。例如,第一(本地)和第二文件系統(tǒng)兩者可以是ext2格式。在該情況下,在各種步驟中引用和/或處理的目錄條目是inode。在步驟S3中,由檢查inode內(nèi)的擁有者信息的存儲器件來確定是否許可具體用戶對inode的訪問。然后,再次,在第一和第二文件系統(tǒng)不具有相同格式的情況下,第一文件系統(tǒng)可以是NTFS格式,第二文件系統(tǒng)可以通過生成諸如第二文件系統(tǒng)的文件分配表、引導參數(shù)塊和目錄的結(jié)構(gòu)而表現(xiàn)為FAT文件系統(tǒng)。因為FAT文件系統(tǒng)不具有用于確定訪問控制權(quán)限的算法和支持數(shù)據(jù)結(jié)構(gòu),因此該實施方式的第二文件系統(tǒng)不包括這種算法和支持數(shù)據(jù)結(jié)構(gòu)。在第一和第二文件系統(tǒng)具有不同的格式的情況下,在使得存儲器件對于主機讀取可訪問之前,生成第二文件系統(tǒng)的所有文件系統(tǒng)結(jié)構(gòu)。但是,在第一和第二文件系統(tǒng)具有相同的格式的情況下,并非在使得存儲器件對于主機讀取可訪問之前需要生成所有文件系統(tǒng)結(jié)構(gòu)的情況;而是,可以響應于來自主機的讀取請求而生成一部分或所有文件系統(tǒng)結(jié)構(gòu)。本發(fā)明的另一示例實施例是圖3所示的存儲器件10。存儲器件10可以實施為例如UFD、SD卡、MMC, miniSD、或MicroSD。存儲器件10包括在第一存儲器模塊14中存儲的第一文件系統(tǒng)12,是本地文件系統(tǒng)。在第一文件系統(tǒng)12中的所有文件可以由器件擁有者訪問,不是器件擁有者的驗證過的用戶也可訪問那些文件的子集,且在該實施例中,未驗證過的用戶可訪問如由公共訪問權(quán)限確定的那些文件的其它子集。在一些替換的實施例中,(1) 不是器件擁有者的驗證過的用戶和( 未驗證的用戶兩者可訪問相同集合的文件。用于驗證用戶,存儲器件10包括驗證模塊16,其通過參考用戶數(shù)據(jù)庫18來確定用戶的身份。驗證模塊16可以被實現(xiàn)為包含硬件、軟件、固件或其組合,基于由用戶提供的身份信息來確定真實性。例如,驗證模塊16可以被實現(xiàn)為包括可由控制器20執(zhí)行的軟件代碼。該軟件代碼比較通過存儲器件10的外部接口而作為輸入接收的用戶名和密碼與在用戶數(shù)據(jù)庫18中存儲的用戶名和相應密碼。如果軟件代碼發(fā)現(xiàn)在用戶數(shù)據(jù)庫18中的輸入的用戶名和密碼, 則軟件代碼通過用戶的身份來響應。否則,軟件代碼指示用戶未被驗證。或者,驗證模塊16可以被實現(xiàn)為生物識別(biometric)硬件。例如,硬件可以包括接收分別以指紋或聲音信號的格式的用戶輸入的指紋掃描器或聲音識別傳感器。硬件比較用戶數(shù)據(jù)與在用戶數(shù)據(jù)庫18中的用戶數(shù)據(jù),當這種信息可用時用用戶的身份來響應。存儲器件10具有控制器20,其可操作以激活驗證模塊16來識別用戶,然后取決于用戶的身份來確定向用戶提供第一文件系統(tǒng)12或者第二文件系統(tǒng)??刂破?0可操作以執(zhí)行這些任務,因為其具有對駐留于控制器20內(nèi)部的ROM掩模(ROM mask) 22內(nèi)的程序代碼的訪問,如圖4所示。在ROM掩模22內(nèi)駐留的程序代碼可以被實現(xiàn)以指導控制器20如之
9前針對由圖1A、1B和2表示的方法的描述而操作。也是控制器20內(nèi)部的處理器M通過接口沈接收主機讀取請求,根據(jù)ROM掩模 22內(nèi)的邏輯來處理請求,相應地通過控制器20的另一接口 30來訪問存儲器件10的其它元件。如圖3和4所示,控制器20的接口沈直接與作為主機的接口的存儲器件10的接口觀通信。可用作接口 28的示例接口是符合USB、SD卡、MMC、miniSD、或MicroSD標準的那些。注意,雖然在該實施例中該邏輯駐留在ROM掩模22中作為固件,但是該邏輯可以在任何其它地方、諸如在分離的ASIC中駐留(作為硬件)。該邏輯也可以被實施為固件,例如在通用核心上運行的基于閃存的代碼。存儲器件10具有第二存儲器模塊,可以是例如雙數(shù)據(jù)速率(DDR)RAM的RAM 32。 RAM 32存儲數(shù)據(jù),即衍生自或基于本地文件系統(tǒng)的目錄條目的目錄條目33,用于根據(jù)用戶的身份和訪問控制權(quán)限來提供第二文件系統(tǒng)。示例的目錄條目可以是先前關(guān)于由圖1A、1B 和2表示的方法而描述的那些??梢岳缬神v留在例如第三存儲器模塊36中的訪問控制列表(ACL) 34來規(guī)定訪問控制權(quán)限。在替換的實施例中,第一文件系統(tǒng)12可以包括用于確定訪問控制權(quán)限的算法和支持數(shù)據(jù)結(jié)構(gòu)。而且,雖然在本實施例中,第二存儲器模塊32是用于存儲生成的文件系統(tǒng)結(jié)構(gòu)的易失性存儲器,但是其不限于該結(jié)構(gòu)。而是,第二存儲器模塊甚至可以被提供在主機的硬盤內(nèi)。在本實施例中的第二存儲器模塊32直接可由控制器20尋址。在替換的實施例中,其中第二存儲器模塊不可直接由控制器20尋址,存儲器管理單元(MMU)或等同的接口模塊用于執(zhí)行該尋址??梢杂米鞯诙鎯ζ髂K的其它類型的存儲器包括同步動態(tài)隨機存取存儲器(SDRAM)和DDR存儲器。本描述將第一文件系統(tǒng)12、RAM 32和訪問控制列表34的存儲器模塊稱為第一、第二和第三存儲器模塊。還可以存在用于保持用戶數(shù)據(jù)庫18的另一存儲器模塊38。盡管在本論述中的這四個存儲器模塊設計為分離的存儲器模塊,然而任何或所有這些存儲器模塊可以被一起實現(xiàn)為單個模塊。例如,存儲器模塊14、36和38可以實現(xiàn)為由圖3中的虛線框指示的單個閃存單元的元件。具有如此描述的示例實施例,將顯然的是,各種替換、修改和改進將容易地對本領(lǐng)域技術(shù)人員得到。例如,可以根據(jù)如在Linux文件系統(tǒng)中發(fā)現(xiàn)的那種擁有者/組/世界規(guī)格來確定訪問控制權(quán)限,其中,訪問權(quán)限的集合被分派給擁有者,訪問權(quán)限的另一集合被分派給在與擁有者相同的組中的任何用戶,權(quán)限的第三集合被分派給不是該組成員或不被驗證的任何用戶(“世界”)。對所有用戶可訪問的文件被視為“世界可訪問的”。總之,雖然已經(jīng)在所公開的實施例的大量細節(jié)替換、修改和改進中描述了本發(fā)明的各種實施例,盡管未明確描述,但是盡管如此其意圖且暗示為在權(quán)利要求的精神和范圍內(nèi)。相應地,先前的討論意圖僅是示例,本發(fā)明僅被所附權(quán)利要求和其等同物所限制和定義。
權(quán)利要求
1.一種提供存儲器件中的文件系統(tǒng)的方法,該方法包括開始對存儲器件的至少一部分驗證用戶;如果驗證不成功,則向用戶提供第二文件系統(tǒng),該第二文件系統(tǒng)的內(nèi)容限制為公共訪問權(quán)限授權(quán)的文件;以及如果驗證成功,則確定用戶是否是器件擁有者;以及如果用戶是器件擁有者,則向用戶提供第一文件系統(tǒng),該第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng),以及如果用戶不是器件擁有者,則向用戶提供第二文件系統(tǒng),該第二文件系統(tǒng)限制為用戶被授權(quán)訪問的文件。
2.根據(jù)權(quán)利要求1的方法,其中,所述第一文件系統(tǒng)包括用于確定訪問控制權(quán)限的算法和支持數(shù)據(jù)結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1的方法,其中,對于不是器件擁有者的驗證過的用戶,在開始驗證該用戶的處理之前,開始對第二文件系統(tǒng)的內(nèi)容的限制。
4.根據(jù)權(quán)利要求1的方法,其中,對于不是器件擁有者的驗證過的用戶,在確定該用戶不是器件擁有者之后,進行對第二文件系統(tǒng)的內(nèi)容的限制。
5.根據(jù)權(quán)利要求1的方法,其中,確定用戶是否是器件擁有者包括確認第一文件系統(tǒng)的根目錄的擁有權(quán)。
6.根據(jù)權(quán)利要求1的方法,其中,確定用戶是否是器件擁有者包括參考在非易失性存儲器中存儲的訪問控制權(quán)限,該非易失性存儲器在第一文件系統(tǒng)內(nèi)或在第一文件系統(tǒng)外。
7.根據(jù)權(quán)利要求1的方法,其中,所述第二文件系統(tǒng)是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。
8.根據(jù)權(quán)利要求1的方法,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)是 NTFS0
9.根據(jù)權(quán)利要求1的方法,其中,所述第一文件系統(tǒng)是ext2文件系統(tǒng),所述第二文件系統(tǒng)是ext2文件系統(tǒng)。
10.根據(jù)權(quán)利要求1的方法,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)表現(xiàn)為FAT文件系統(tǒng)。
11.一種存儲器件,包括第一存儲器模塊,可操作以存儲第一文件系統(tǒng),所述第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng);第二存儲器模塊,可操作以存儲所生成的數(shù)據(jù);驗證模塊,可操作以確定用戶的身份;以及控制器,可操作以激活驗證模塊且取決于由驗證模塊確定的用戶的身份來向用戶提供第一文件系統(tǒng)或第二文件系統(tǒng),其中,提供第二文件系統(tǒng)包括根據(jù)用戶的身份和用戶的訪問控制權(quán)限,基于第一文件系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)來生成數(shù)據(jù),以及其中,所生成的數(shù)據(jù)存儲在第二存儲器模塊中。
12.根據(jù)權(quán)利要求11的存儲器件,其中,所述第一文件系統(tǒng)包括用于確定訪問控制權(quán)限的算法和支持結(jié)構(gòu)。
13.根據(jù)權(quán)利要求11的存儲器件,其中,所述第二文件系統(tǒng)是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。
14.根據(jù)權(quán)利要求11的存儲器件,其中,所述第二存儲器模塊包含易失性存儲器。
15.根據(jù)權(quán)利要求11的存儲器件,其中,所述控制器可操作為以與第一文件系統(tǒng)相同的格式提供第二文件系統(tǒng)。
16.根據(jù)權(quán)利要求11的存儲器件,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)是 NTFS。
17.根據(jù)權(quán)利要求11的存儲器件,其中,所述第一文件系統(tǒng)是ext2文件系統(tǒng),所述第二文件系統(tǒng)是ext2文件系統(tǒng)。
18.根據(jù)權(quán)利要求11的存儲器件,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)表現(xiàn)為FAT文件系統(tǒng)。
19.一種用于存儲器件的控制器,所述控制器包括第一接口,用于與主機通信;第二接口,用于與第一存儲器模塊、驗證模塊和第二存儲器模塊通信,所述第一存儲器模塊可操作以存儲第一文件系統(tǒng),所述第一文件系統(tǒng)是存儲器件的本地文件系統(tǒng),所述驗證模塊可操作以確定用戶的身份,第二存儲器模塊可操作以存儲所生成的數(shù)據(jù);以及邏輯,可操作以激活驗證模塊,且取決于由驗證模塊確定的用戶的身份來向用戶提供第一文件系統(tǒng)或第二文件系統(tǒng),其中,提供第二文件系統(tǒng)包括根據(jù)用戶的身份和用戶的訪問控制權(quán)限,基于第一文件系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)來生成數(shù)據(jù),以及其中,所生成的數(shù)據(jù)存儲在第二存儲器模塊中。
20.根據(jù)權(quán)利要求19的控制器,其中,所述第一文件系統(tǒng)包括用于確定訪問控制權(quán)限的算法和支持數(shù)據(jù)結(jié)構(gòu)。
21.根據(jù)權(quán)利要求19的控制器,其中,所述第二文件系統(tǒng)是不包括用于確定訪問控制權(quán)限的算法或支持數(shù)據(jù)結(jié)構(gòu)的類型。
22.根據(jù)權(quán)利要求19的控制器,其中,所述邏輯可操作為以與第一文件系統(tǒng)相同的格式提供第二系統(tǒng)。
23.根據(jù)權(quán)利要求19的控制器,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)是 NTFS。
24.根據(jù)權(quán)利要求19的控制器,其中,所述第一文件系統(tǒng)是ext2文件系統(tǒng),所述第二文件系統(tǒng)是ext2文件系統(tǒng)。
25.根據(jù)權(quán)利要求19的控制器,其中,所述第一文件系統(tǒng)是NTFS,所述第二文件系統(tǒng)表現(xiàn)為FAT文件系統(tǒng)。
全文摘要
一種存儲器件,基于在驗證期間確定的用戶的訪問權(quán)限來向用戶提供文件系統(tǒng)。如果該驗證不成功,則所述存儲器件向用戶提供被限制為由公共訪問權(quán)限授權(quán)的文件的文件系統(tǒng)。如果驗證成功且該用戶是器件擁有者,則該存儲器件向用戶提供本地文件系統(tǒng)。如果該驗證成功而該用戶不是器件擁有者,則存儲器件提供被限制為給定用戶被授權(quán)訪問的文件的文件系統(tǒng)。由于用于保護文件的機制的內(nèi)部屬性,該安全措施不能通過簡單地將存儲器件連接到不尊重文件系統(tǒng)的許可規(guī)則的另一主機來繞過。
文檔編號G06F17/30GK102227733SQ200980148035
公開日2011年10月26日 申請日期2009年11月4日 優(yōu)先權(quán)日2008年12月26日
發(fā)明者J.G.哈恩 申請人:桑迪士克以色列有限公司