專利名稱:提供對數字文件的差異化訪問的制作方法
提供對數字文件的差異化訪問相關申請的交叉引用
本申請包含序列號為TBD (代理人案號201000333-1)、標題為“Application ofDifferential Policies to at Least One Digital Document”、于與文本相同的日期提交的共同主題待審且共同轉讓的PCT申請,藉此該PCT申請的公開內容通過引用以其整體被并入。
背景技術:
近年來,存在遠離在紙上打印信息而朝著使用包含數字內容的數字文件前進的增加的趨勢。數字文件的示例包括例如便攜式文件格式(Pdf)文件、電子表格、電子圖、通過使用文字處理應用而生成的文件、以及html頁面。數字文件還可以包括復合文件,復合文件包括不同類型的格式的混合。在紙件文件的情況下,使用個人的簽名或其他手寫標記來確定被授權的個人是否進行了對文件的各種改變或添加。然而,這種修改對于數字文件來說不可能或不方便,因為這些類型的修改將需要個人打印數字文件、對文件進行簽名或以其他方式對文件進行標記,并掃描所標記的文件以證明該個人進行了修改。控制對文件(紙件和電子二者)的訪問的這種方式容易被攻擊并且可能容易被偽造。已經提出用于防止或減少對數字文件的攻擊和偽造的各種技術。典型地,這些技術采用數據庫,在數據庫上存儲數字文件,并且,通過防止用戶對數據庫或數據庫所連接至的網絡的訪問來控制對該數據庫或網絡的訪問,除非該用戶持有某秘密信息,諸如用戶標識和密碼。同樣地,為了使這些安全性技術實行對數字文件的訪問控制,用戶需要被授權對數據庫或網絡進行訪問。然而,典型地,出于各種安全性原因(諸如,為了防止擁有該數據庫或網絡的公司或政府實體的承包商或非雇員進行訪問),禁止或不期望對該數據庫或網絡進行訪問。通常,出于簡明和適應性的目的,作為整體提供或者根本不提供訪問控制。
根據參照附圖的以下描述,本發明的特征將變得對本領域技術人員來說顯而易見,在附圖中:
圖1圖示了根據本發明的實施例的數字文件工作流程的簡化示意 圖2示出了根據本發明的實施例的、包含圖1中所描繪的差異化訪問控制設備的差異化訪問提供系統的簡化框 圖3示出了根據本發明的實施例的、用于在多個工作流程參與者當中提供對數字文件的差異化訪問的方法的流程圖,其中,工作流程參與者中的至少一個處于公共安全環境之外;
圖4示出了根據本發明的實施例的、將差異化訪問提供給多個工作流程參與者所依照的方式的圖;以及
圖5示出了根據本發明的實施例的、可用作用于實現或執行圖3中所描繪的過程中的一個或多個的平臺的計算機系統的框圖。
具體實施例方式出于簡明和示意的目的,通過主要參照示例實施例來描述本發明。在以下描述中,闡述了許多具體細節,以提供對實施例的透徹理解。然而,對本領域普通技術人員來說將顯而易見的是,可以在不限于這些具體細節的情況下實施本發明。在其他實例中,未詳細描述公知的方法和結構,以避免不必要地模糊實施例的描述。本文公開的是一種用于在多個工作流程參與者當中提供對數字文件的差異化訪問的方法和設備,其中,工作流程參與者中的至少一個處于公共和統一安全的環境中的至少一個之外。換言之,例如,多個用戶可能正在具有不同安全性級別的環境中訪問文件。數字文件可以包括復合文件,復合文件由具有分離的文件或可尋址的文件片段的形式的多種個體可尋址和可訪問的部分(單元)組成。例如,這些單元可以包括html片段、xml節點、展示幻燈片、文字處理文本框、電子表格文件的部分、包含圖的電子對象、具有flash視頻能力的電子對象等等。貫穿本公開,將個體可尋址和可訪問部分記載為“原子單元”。此外,特定數字文件的原子單元可以包括與彼此相同的格式或不同的格式。還如本文所公開的,可以通過控制針對數字文件或數字文件中包含的一個或多個原子單元而向每一個工作流程參與者供給的密鑰的類型和數目,來提供由工作流程參與者對數字文件或對數字文件中包含的原子單元中的一個或多個的差異化訪問。因此,在一個方面,可以以相對簡單且低廉的方式提供并實行對工作流程參與者授權的訪問的差異化級別。貫穿本公開,附圖標記后的術語“η”意在表示大于I的整數值。此外,術語“一”和“一個”意在表示至少一個特定元素。首先參照圖1,其中示出了根據本發明的實施例的數字文件工作流程100的簡化圖。對本領域普通技術人員來說應當顯而易見的是,圖1中所描繪的圖表示概括性圖示,并且,在不脫離數字文件工作流程100的范圍的前提下,可以添加其他組件或者可以移除、修改或重新布置現有組件。數字文件工作流程100被描繪為包括差異化訪問控制設備102和多個工作流程參與者I IOa-110η。數字文件工作流程100還被描繪為包括數字文件120,數字文件120包含多個原子單元122a-122n。一般來講,差異化訪問控制設備102被配置為通過以受控方式將用于訪問原子單元122a-122的密鑰分發給工作流程參與者IlOa-1lOn中的每一個,來差異化控制由工作流程參與者IlOa-1lOn中的每一個對數字文件120中的原子單元122a_122n中的一個或多個的訪問。差異化訪問控制設備102可以包括硬件設備(諸如,計算機、服務器、電路等),該硬件設備被配置為執行在差異化控制對原子單元122a-122n的訪問的過程中的各種功能。以下更詳細地討論差異化訪問控制設備102所執行的各種功能。工作流程參與者IlOa-1lOn —般表示以下計算設備,通過這些計算設備,工作流程參與者IlOa-1lOn可以接收原子單元122a_122n中的一個或多個,并在被授權充分的訪問時執行對原子單元122a-122n中的一個或多個的查看、編輯和確認中的至少一項。所述計算設備可以包括例如個人計算機、膝上型計算機、平板計算機、個人數字助理、蜂窩電話坐寸O根據實施例,差異化訪問控制設備102處于安全環境中,在該安全環境中,數字文件擁有者/創建者/主人可訪問工作流程控制設備102,并且,工作流程參與者IlOa-1lOn的一些或所有計算設備處于該安全環境之外。換言之,工作流程參與者IlOa-1lOn中的一些或所有不可以訪問來自控制對數字文件120的訪問的公共數據庫的數字文件120。取而代之,通過例如電子郵件、共享服務器、直接文件傳送、可移除存儲介質等,向工作流程參與者IlOa-1lOn并在工作流程參與者IlOa-1lOn當中供給數字文件120。在對工作流程控制設備102的安全環境的訪問不切實際或被禁止的實例中,工作流程參與者IlOa-1lOn中的一些或所有可能未被授權該訪問。數字文件120可以包括具有數字形式的任何合理地合適的類型的文件,并可以包括一個或多個數字文件,這些數字文件可以具有相對于彼此相同或不同的格式。合適的文件類型的示例包括例如便攜式文件格式、電子表格、JPEG或任何其他圖像、文字處理文件、超文本標記語言(html)等。此外,原子單元122a-122n—般包括數字文件120內的個體可尋址元素,諸如簽名行、電子表格內的區格或列、段落、圖形框等。如本文以下更詳細地討論的那樣,差異化訪問控制設備102被配置為識別要對工作流程參與者IlOa-1lOn中的每一個授權的差異化訪問級別,并且基于所確定的訪問級別,識別(選擇)一個或多個密鑰130并(可選地)將該一個或多個密鑰130供給至工作流程參與者110a-110n。此外,差異化訪問控制設備102被配置為生成(或導出)所需的加密和簽名密鑰,對數字文件120的一個或多個原子單元122a-122n進行加密和簽名,并將加密和簽名后的文件140供給至第一工作流程參與者110a。此外,數字文件120被配置為由第一工作流程參與者I IOa供給至第二工作流程參與者IlOb (例如,由第一工作流程參與者將數字文件發電子郵件至第二參與者或者通過郵寄包含數字文件的⑶等),由第二工作流程參與者IIOb供給至第三工作流程參與者110c,以此類推。可替換地,數字文件120可以由工作流程參與者IlOa-1lOn檢索。根據示例,在工作流程參與者IlOa-1lOn中的至少一些之間供給數字文件120所依照的順序是預定的。在另一示例中,工作流程參與者IlOa-1lOn訪問數字文件120所依照的順序可以不是預定的。此外,由于差異化訪問控制設備102可以處于文件主人/擁有者/創建者的某安全環境內,并且工作流程參與者IlOa-1lOn中的至少一些處于公共安全環境之外,因此差異化訪問控制設備102不必須涉及:在將加密和簽名后的文件140第一次傳送至第一工作流程參與者IlOa后,由工作流程參與者IlOb-1lOn供給和/或檢索數字文件120。現在特別參照圖2,其中示出了根據示例的、包含圖1中所描繪的差異化訪問控制設備102的差異化訪問提供系統200的簡化框圖。對本領域普通技術人員來說應當顯而易見的是,圖2中所描繪的框圖表示概括性圖示,并且,在不脫離差異化訪問提供系統200的范圍的情況下,可以添加其他組件或者可以移除、修改或重新布置現有組件。如圖2中所示,差異化訪問控制設備102包括用戶界面模塊202、密鑰關聯模塊204、加密模塊206、簽名模塊208、訪問級別識別模塊210、密鑰識別模塊212、密鑰生成/導出模塊213、密鑰供給模塊214和數字文件供給模塊216。模塊202-216可以包括軟件模塊、硬件模塊或者軟件和硬件模塊的組合。因此,在一個實施例中,模塊202-216中的一個或多個包括電路組件。在另一實施例中,模塊202-216中的一個或多個包括計算機可讀存儲介質上存儲的軟件代碼,該軟件代碼可由處理器執行。在任何方面,差異化訪問控制設備102被配置為由處理器220實現和/或執行。因此,例如,差異化訪問控制設備102可以包括包含處理器220的計算設備的集成和/或追加的硬件設備。作為另一示例,差異化訪問控制設備102可以包括計算機可讀存儲設備,在該計算機可讀存儲設備上存儲所述模塊202-214中的每一個的軟件,并且由處理器220執行該軟件。進一步如圖2中所示,處理器220被配置為從輸入設備230接收輸入。輸入設備230可以包括例如以下用戶界面:通過該用戶界面,用戶可以將數字文件120供給至差異化訪問控制設備102中。輸入設備230還可以包括以下用戶界面:通過該用戶界面,用戶可以針對工作流程參與者IlOa-1lOn中的每一個定義將被授權給原子單元122a_122n中的一個或多個的訪問級別。在任何方面,處理器220被配置為執行或實現差異化訪問控制設備102,以差異化地控制由工作流程參與者對原子單元122a-122n中的一個或多個的訪問。差異化訪問提供系統200還包括輸出界面240,通過該輸出界面240,可以將密鑰130以及加密和簽名后的文件140供給至工作流程參與者IlOa-1lOn中的一個或多個。存在密鑰可以通過其被分發給對應工作流程參與者的不同機制。這些不同機制的非窮舉示例包括:
O文件主人/作者/創建者可以將適當的密鑰130直接(以加密的形式)發電子郵件給每個工作流程參與者I IOa-1 IOn。2)可以要求工作流程參與者IlOa-1lOn登錄至其中存儲密鑰130的云基礎服務,以檢索適當的密鑰130。3)可以以加密或非加密的形式將適當的密鑰130存儲在可移除存儲介質(諸如,緊致盤、便攜式拇指驅動器等)上,并手動地將該適當的密鑰130分發給工作流程參與者llOa-llOn。4)工作流程參與者IlOa-1lOn可能已經持有來自先前使用的適當的密鑰130。5)可以將適當的密鑰130包含在數字文件自身內。在序列號為TBD (代理人案號201000358-1)的美國專利申請中討論該示例的更詳細討論。6)可以通過包括例如生物統計(諸如,語音、虹膜和/或指紋識別和確認)的安全性代理來訪問適當的密鑰。在傳送至工作流程參與者IlOa-1lOn之前,可以將密鑰130和簽名后的文件140存儲在數據存儲器218中。數據存儲器218可以包括易失性和/或非易失性存儲器,諸如DRAM、EEPR0M、MRAM、相變RAM (PCRAM)、憶阻器(Memristor)、閃存等。附加地或可替換地,數據存儲器218可以包括被配置為從可移除介質(諸如,軟盤、CD-ROM、DVD-ROM或者其他光或磁介質)讀取并寫入到可移除介質的設備。針對圖3來更詳細地描述可以依照其實現差異化訪問控制設備102的模塊202-216的各種方式,圖3描繪了根據本發明的實施例的用于在多個工作流程參與者IlOa-1lOn當中提供對數字文件的差異化訪問的方法300的流程圖,其中,該多個工作流程參與者IlOa-1lOn中的至少一個處于公共安全環境之外。對本領域普通技術人員來說應當顯而易見的是,方法300表示概括性圖示,并且,在不脫離方法300的范圍的情況下,可以添加其他步驟或者可以移除、修改或重新布置現有步驟。
特別參照圖1和2中所描繪的差異化訪問控制設備102來進行對方法300的描述。然而,應當理解,在不脫離方法300的范圍的情況下,可以在與差異化訪問控制設備102不同的設備中實現方法300。在步驟302處,訪問將被置于多個工作流程參與者IlOa-1lOn當中的一個工作流程中的數字文件120。例如,差異化訪問控制設備102通過用戶界面模塊202從輸入設備230接收數字文件120。作為另一示例,用戶指示差異化訪問控制設備102訪問來自例如數據存儲器214的數字文件120。作為另一示例,根據模板(諸如例如,應用形成過程)來創建新數字文件120。 在步驟304處,例如通過密鑰關聯模塊204將第一密鑰集合與原子單元122a_122n中的至少一個相關聯。第一密鑰集合包括加密密鑰,或者可替換地,包括加密-解密密鑰對以及簽名和驗證密鑰對。此外,盡管圖3中未明確地示出,一個或多個附加的密鑰集合可以與其他原子單元122a-122n中的一個或多個相關聯。因此,例如,密鑰集合可以與原子單元122a-122n中的每一個相關聯。此外,對于不包含敏感或私密材料的原子單元122a_122n中的一個或多個,密鑰集合可以僅包括簽名-驗證對。此外,第一密鑰集合可以與多個原子單元122a-122n相關聯,以便例如對工作流程參與者IlOa授權對與第一密鑰集合相關聯的多個原子單元122a-122n中的每一個的相同級別的訪問。在步驟306處,例如通過加密模塊206使用一個或多個加密密鑰來對一個或多個原子單元122a-122n進行加密。所述一個或多個原子單元122a_122n可以使用任何標準或專有的加密機制,諸如例如對稱AES加密、雙魚(Twofish)加密、非對稱RSA等。根據實施例,可以使用相應的特殊地生成、導出和/或指派的加密密鑰來對將被提供以差異化訪問級別的原子單元122a-122n中的每一個進行加密。在步驟308處,例如通過簽名模塊208使用一個或多個簽名密鑰來對一個或多個加密后的原子單元122a-122n進行簽名。可以例如通過使用數字簽名算法、基于RSA的簽名等來對一個或多個加密后的原子單元122a-122n進行簽名。根據實施例,使用特殊地指派、生成或導出的簽名密鑰來對已被加密的原子單元122a-122n中的每一個進行簽名。根據實施例,在執行步驟304-308之前,可以考慮對將要針對將被授權給每個工作流程參與者的各個訪問級別而對一個或多個原子單元122a-122n中的哪些進行加密的確定,來確定原子單元122a-122n中的哪些需要差異化訪問。同樣地,可以在步驟304-308之前進行關于將要對原子單元122a-122n中的哪些進行加密的確定。在步驟310處,例如通過訪問級別識別模塊210識別將被授權給工作流程參與者IlOa-1lOn中的每一個的、對一個或多個原子單元122a_122n的訪問級別。更特別地,例如,訪問級別識別模塊210可以跟蹤通過用戶界面模塊202從輸入設備230接收到的指令,這些指令識別將接收數字文件120以及將被授權給工作流程參與者IlOa-1lOn中的每一個的針對一個或多個原子單元122a-122n的差異化訪問權限的工作流程參與者110a_110n。此夕卜,訪問級別識別模塊210可以將從輸入設備230接收到的信息存儲在數據存儲器218中。在另一示例中,將被授權給一個或多個原子單元122a-122n的訪問級別可以被存儲在數據存儲器218中,并且,訪問級別識別模塊210可以訪問數據存儲器218以檢索訪問級別信肩、O根據示例,可以針對一個或多個原子單元122a_122n中的每一個而對工作流程參與者IlOa-1lOn授權“不許訪問”級別、“只讀訪問”級別和“修改訪問”級別之一。同樣地,例如,可以針對加密和簽名后的數字文件140中包含的原子單元122a-122n而對工作流程參與者IlOa授權不同的訪問級別。此外,可以針對原子單元122a-122n中的一個或多個而對第一工作流程參與者IlOa授權與第二工作流程參與者IlOb不同的訪問級別。對于“不許訪問”級別下的原子單元122a_122n,對工作流程參與者IlOa授權用于接收原子單元122a-122n中的一個或多個的能力,但不對工作流程參與者IlOa授權用于打開或以其他方式讀取或修改這些原子單元的能力。同樣地,例如,工作流程參與者IlOa-1lOn可以訪問包含工作流程參與者IlOa已被針對其授權“不許訪問”級別的原子單元122a-122n的數字文件120,但可能不能夠讀取或修改那些原子單元122a_122n。然而,可能要求該工作流程參與者IlOa認證該工作流程參與者IlOa已被針對其授權不許訪問級別的原子單元122a-122n以及該原子單元122a_122n中的所有其他原子單元。例如,該情形可能在已經對工作流程參與者IlOa授權了用于查看原子單元122a-122n中的一個或多個的訪問、但尚未對工作流程參與者IlOa授權用于查看原子單元122a-122n中的其他原子單元的訪問時發生。然后,可以要求工作流程參與者IlOa將數字文件120傳送至可能已被針對工作流程參與者IlOa不可訪問的那些原子單元122a-122n授權了訪問權限的一個或多個后續的工作流程參與者110b-110n。作為另一示例,例如,該情形可能在已經針對加密和簽名后的數字文件140中包含的原子單元122a-122n中的每一個而對工作流程參與者IlOa授權了“不許訪問”級別、但已經選擇了該工作流程參與者IlOa來接收用于在稍后的時刻訪問數字文件140的適當密鑰時發生。對于“只讀訪問”級別下的原子單元122a_122n,對工作流程參與者IlOa授權用于打開并訪問工作流程參與者IlOa已被針對其授權了“只讀訪問”級別的加密和簽名后的數字文件140的原子單元122a-122n的能力。然而,工作流程參與者IlOa未被批準修改那些原子單元122a-122n。在一個方面,接收到加密和簽名后的數字文件140的工作流程參與者IlOb可以確定并必須在接收時自動驗證原子單元122a-122n何時已被未批準的工作流程參與者IlOa修改,如本文以下更詳細地討論的那樣。對于“修改訪問”級別下的原子單元122a_122n,對工作流程參與者IlOa授權對于讀取和修改工作流程參與者已被針對其授權了“修改訪問”級別的原子單元122a-122n的批準。在一個方面,可以向工作流程參與者IlOa供給對應的簽名密鑰,以使工作流程參與者IlOa能夠在對原子單元122a-122n進行修改和加密之后對原子單元122a_122n中的一些或所有進行簽名。此外,可能已經給被識別為從第一工作流程參與者IlOa接收加密和簽名后的數字文件140的第二工作流程參與者IlOb提供了適當的驗證密鑰,第二工作流程參與者IlOb可以使用該適當的驗證密鑰來確定第一工作流程參與者IlOa是否曾被批準修改原子單元122a-122n中的一個或多個。如果至少被授權只讀訪問,則還可以給第二工作流程參與者IlOb提供適當的解密密鑰,以能夠對修改后的原子單元122a-122n進行解密。在步驟312處,基于所識別的訪問級別,例如通過密鑰識別模塊212對將針對原子單元122a-122n中的一個或多個向工作流程參與者IlOa-1lOn中的每一個供給哪些密鑰130進行識別。因此,例如,對于第一原子單元122a,可以識別第一工作流程參與者IlOa以接收第一密鑰集合130,并且可以確定第二工作流程參與者IlOb以接收第二密鑰集合130。同樣,對于第二原子單元122b,可以確定第一工作流程參與者IlOa以從第二工作流程參與者IlOb接收不同的密鑰集合130,以此類推。根據實施例,對于工作流程參與者IlOa-1lOn將被授權“不許訪問”級別的那些原子單元122a-122n,密鑰識別模塊212可以確定那些工作流程參與者IlOa-1lOn將接收用于那些原子單元122a-122n的驗證密鑰,而不是用于那些原子單元122a_122n的加密或簽名密鑰。對于工作流程參與者IlOa-1lOn將被授權“只讀訪問”級別的那些原子單元122a-122n,密鑰識別模塊212可以確定那些工作流程參與者I IOa-1 IOn將接收用于那些原子單元122a-122n的解密密鑰和驗證密鑰,而不是加密和簽名密鑰。對于工作流程參與者IlOa-1lOn將被授權“修改訪問”級別的那些原子單元122a_122n,密鑰識別模塊212可以確定那些工作流程參與者IlOa-1lOn將接收用于那些原子單元122a_122n的加密密鑰、驗證密鑰和簽名密鑰。在步驟314處,基于已在步驟312處被識別為向工作流程參與者IlOa-1lOn中的每一個供給的密鑰130,例如通過密鑰供給模塊214向工作流程參與者IlOa-1lOn中的每一個供給一個或多個密鑰130。密鑰供給模塊214可以通過任何合適的裝置將密鑰130供給至工作流程參與者IlOa-1lOn,如上文更詳細地描述的那樣。例如,密鑰供給模塊208可以通過電子郵件、通過傳送可移除存儲介質中的密鑰、或者通過其他安全通信信道來供給密鑰。在步驟316處,例如通過文件供給模塊216將(一個或多個)原子單元122a_122n供給至第一工作流程參與者110a。更特別地,例如,文件供給模塊214可以將數字文件140供給至第一工作流程參與者110a。現在轉至圖4,其中示出了根據實施例的、可以將差異化訪問提供給多個工作流程參與者IlOa和IlOb所依照的方式的圖400。應當理解的是,圖400是概括性圖示,并且,在不脫離圖400的范圍的情況下,其中可以包括其他元素。因此,例如,盡管在圖400中已經描繪了兩個工作流程參與者IlOa和110b,但是應當理解的是,其中公開的各種原理可以適用于任何數目的工作流程參與者llOc-llOn。圖400包括兩個圖表410和420。這兩個圖表410和420均描繪了兩個工作流程參與者IlOa和IlOb以及三個原子單元122a-122c的簡單例子。第一圖表410描繪了針對原子單元122a-122c中的每一個而提供給工作流程參與者IIOa和IlOb中的每一個的訪問級別的示例。第二圖表420描繪了基于已針對原子單元122a-122c中的每一個而對工作流程參與者IlOa和IlOb授權的訪問級別,來向工作流程參與者IlOa和IlOb供給的對應的密鑰集合。在圖4中所描繪的示例中,已經針對第一原子單元122a而對第一工作流程參與者授權了修改訪問級別,并且針對第二和第三原子單元122b和122c授權了不許訪問級別。此外,已經針對第一和第二原子單元122a和122b而對第二工作流程參與者IlOb授權了只讀訪問級別,并且針對第三原子單元122c授權了修改訪問級別。如第二圖表420中所不,對于第一原子單兀122a而言,向第一工作流程參與者IlOa供給用于該原子單元122a的加密和解密密鑰(E1, D1)以及簽名和驗證密鑰(S1, V1X此外,向第二工作流程參與者IlOb僅供給用于第一原子單元122a的解密和驗證密鑰(D1,V1X對于第二和第三原子單元122b和122c而言,向第一工作流程參與者IlOa僅供給用于那些原子單元122b和122c的驗證密鑰(V2,V3)。對于第二原子單元122b而言,向第二工作流程參與者IlOb供給用于該原子單元122b的解密和驗證密鑰(D2,V2)。對于第三原子單元122c而言,向第二工作流程參與者IlOb供給用于該原子單元122c的加密和解密密鑰(E3,D3)以及簽名和驗證密鑰(S3,V3)。在第二工作流程參與者IlOb意欲在被第一工作流程參與者I IOa修改后訪問第一原子單元122a的實例中,向第二工作流程參與者IlOb供給第二密鑰集合,以能夠認證由第一工作流程參與者IlOa對至少一個原子單元122a的修改。第二密鑰集合可以不同于第一密鑰集合,從而使得第二工作流程參與者IlOb能夠驗證第一工作流程參與者IlOa的簽名。圖中提出的操作中的某些或所有可以作為實用程序(utility)、程序或子程序而包含在任何期望的計算機可讀存儲介質中。此外,所述操作可以由計算機程序體現,這些計算機程序可以以多種形式(活動和不活動二者)存在。例如,它們可以作為由以源代碼、目標代碼、可執行代碼或其他格式的程序指令組成的(一個或多個)軟件程序而存在。以上任一項可以被體現在計算機可讀存儲介質上,計算機可讀存儲介質包括存儲設備。示例性計算機可讀存儲介質包括傳統計算機系統RAM、ROM、EPROM、EEPROM和磁或光盤或帶。以上內容的具體示例包括在⑶ROM上或經由互聯網下載對程序的分發。因此,應當理解的是,能夠執行上述功能的任何電子設備可以執行以上列舉的那些功能。現在轉至圖5,其中示出了根據本發明的實施例而配置的計算設備500的示意表示。設備500包括:一個或多個處理器502,諸如中央處理單元;一個或多個顯示設備504,諸如監視器;一個或多個網絡接口 508,諸如局域網LAN、無線802.1lx LAN、3G移動WAN或WiMax WAN ;以及一個或多個計算機可讀介質510。這些組件中的每一個操作性地稱合至一個或多個總線512。例如,總線512可以是EISA、PC1、USB、火線、NuBus或PDS。計算機可讀介質510可以是參與將指令提供給處理器502以供執行的任何合適介質。例如,計算機可讀介質510可以是:非易失性介質,諸如光或磁盤;易失性介質,諸如存儲器;以及傳輸介質,諸如同軸電纜、銅線和光纖。傳輸介質還可以采取聲、光或射頻波的形式。計算機可讀介質510還可以存儲其他軟件應用,包括文字處理器、瀏覽器、電子郵件、SP時消息收發、媒體播放器和電話軟件。計算機可讀介質510還可以存儲:操作系統514,諸如Mac OS、MS Windows、Unix或Linux ;網絡應用516 ;以及差異化訪問控制應用518。操作系統514可以是多用戶、多處理、多任務、多線程、實時等。操作系統514還可以執行基本任務,諸如:辨別來自輸入設備(諸如,鍵盤或鍵區)的輸入;將輸出發送至顯示器504和設計工具506 ;在介質510上跟蹤文件和目錄;控制外圍設備,諸如盤驅動器、打印機、圖像捕捉設備;以及管理一個或多個總線512上的業務。網絡應用516包括用于建立和維護網絡連接的各種組件,諸如,用于實現包括TCP/IP、HTTP、以太網、USB和火線的通信協議的軟件。差異化訪問控制應用518提供用于如上所述控制數字文件在多個工作流程參與者當中的工作流程的各種軟件組件。在特定實施例中,由應用518執行的過程中的某些或所有可以被集成至操作系統514中。在特定實施例中,所述過程可以至少部分地在數字電子電路中、或者在計算機硬件、固件、軟件中、或者在其任何組合中實現。盡管貫穿整個即時公開具體地進行了描述,但是本發明的代表性實施例在廣泛的應用上具有實用性,并且以上的討論并不意在且不應當理解為限制,而是作為本發明的方面的示意性討論而提供。本文已描述和示意的內容是本發明的實施例及其一些變型。本文使用的術語、描述和附圖僅通過示意的方式而提出,而并不意在作為限制。本領域技術人員將認識到,許多變型在本發明的精神和范圍內是可能的,其中,本發明旨在由以下權利要求及其等同物限定,在權利要求中,除另有指示外,所有術語在其最寬合理意義下表示。
權利要求
1.一種用于在多個工作流程參與者(IlOa-1lOn)當中提供對數字文件(120)的差異化訪問的方法(300),其中,所述多個工作流程參與者中的至少一個處于公共和統一安全的環境中的至少一個之外,所述數字文件包括至少一個原子單元(122a),所述方法包括: 將第一密鑰集合與所述至少一個原子單元相關聯(304),所述第一密鑰集合包括加密密鑰、簽名密鑰和驗證密鑰; 使用所述加密密鑰來對所述至少一個原子單元進行加密(306); 使用所述簽名密鑰來對加密后的至少一個原子單元進行簽名(308); 從將被授權給工作流程參與者中的每一個的針對所述至少一個原子單元的多個訪問級別中識別訪問級別(310); 基于所識別的訪問級別, 識別要向工作流程參與者中的每一個供給第一密鑰集合中的密鑰中的哪個(312); 向工作流程參與者中的每一個供給所識別的一個或多個密鑰(314),其中,所述加密密鑰使得能夠讀取,所述簽名密鑰使得能夠修改,以及所述驗證密鑰使得能夠對所述至少一個原子單元進行認證;以及 將加密和簽名后的至少一個原子單元供給至所述多個工作流程參與者中的第一工作流程參與者(316)。
2.根據權利要求1所述的方法(300),其中,向工作流程參與者中的每一個供給所識別的一個或多個密鑰(314)還包括: 向被識別為針對所述至少一個原子單元而被授權不許訪問級別的工作流程參與者供給驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰和加密密鑰; 向被識別為針對所述至少一個原子單元而被授權只讀訪問級別的工作流程參與者供給加密密鑰和驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰;以及 向被識別為被采用修改訪問級別加以授權的工作流程參與者供給用于所述至少一個原子單元的加密密鑰、簽名密鑰和驗證密鑰。
3.根據權利要求2所述的方法(300),其中,所述加密密鑰包括加密密鑰和解密密鑰的非對稱密鑰對,以及其中,向被識別為被授權只讀訪問級別的工作流程參與者進行供給還包括向被識別為被授權只讀訪問級別的工作流程參與者供給所述至少一個原子單元的解密密鑰和驗證密鑰(314),以及其中,向被識別為被授權修改訪問級別的工作流程參與者進行供給還包括向被識別為被授權修改訪問級別的工作流程參與者供給所述至少一個原子單元的加密密鑰、解密密鑰、簽名和驗證密鑰。
4.根據權利要求2所述的方法(300、320),其中,對第一工作流程參與者授權修改訪問級別,以及其中,向工作流程參與者中的每一個供給所識別的一個或多個密鑰還包括向所述多個工作流程參與者中的被配置為從所述第一工作流程參與者接收修改后的數字文件的第二工作流程參與者供給第二驗證密鑰,所述第二驗證密鑰被配置為使得能夠對所述第一工作流程參與者針對所述至少一個原子單元的修改進行認證(324)。
5.根據權利要求1所述的方法(300),其中,所述數字文件(120)包括第一原子單元(122a)和第二原子單元(122b),其中,所述第一原子單元包括所述至少一個原子單元,所述方法還包括: 將第二密鑰集合與所述第二原子單元相關聯,所述第二密鑰集合包括第二加密密鑰、第二簽名密鑰和第二驗證密鑰(304); 使用所述第二加密密鑰來對所述第二原子單元進行加密(306); 使用所述第二簽名密鑰來對加密后的第二原子單元進行簽名(308); 從將被授權給工作流程參與者的針對所述第一原子單元的所述多個訪問級別中識別第一訪問級別(310); 從將被授權給工作流程參與者的針對所述第二原子單元的所述多個訪問級別中識別第二訪問級別,針對工作流程參與者中的至少一個,所述第二訪問級別與所述第一訪問級別不同(312); 根據將針對所述第一原子單元和所述第二原子單元而授權給工作流程參與者的所識別的訪問級別,向工作流程參與者中的每一個供給所述第一密鑰集合中的所識別的一個或多個密鑰和所述第二密鑰集合中的所識別的一個或多個密鑰(314);以及 將包含加密和簽名后的第一原子單元和第二原子單元的數字文件供給至所述第一工作流程參與者(316)。
6.根據權利要求5所述的方法(300),其中,向工作流程參與者中的每一個供給所述第一密鑰集合中的所識別的一個或多個密鑰和所述第二密鑰集合中的所識別的一個或多個密鑰還包括:向工作流程參與者中的至少一個供給與用于訪問所述第二原子單元的多個密鑰不同的用于訪問所述第一原子單元的多個密鑰,從而使所述至少一個工作流程參與者具有針對所述第一原子單元和所述第二原子單元的不同的訪問級別(314)。
7.根據權利要求5所述的方法(300),其中,所述數字文件(120)包括多個原子單元(122a-122n),以及其中,所 述第一密鑰集合與所述多個原子單元的第一集合相關聯,以及其中,所述第二密鑰集合與所述多個原子單元的第二集合相關聯。
8.根據權利要求1所述的方法(300),其中,識別訪問級別(310)還包括: 識別將對所述第一工作流程參與者針對所述至少一個原子單元而授權的第一訪問級別(310); 識別將對所述多個工作流程參與者中的第二工作流程參與者針對所述原子單元而授權的第二訪問級別(310); 根據將被授權給所述第一工作流程參與者的所確定的訪問級別,向所述第一工作流程參與者和所述第二工作流程參與者供給所識別的一個或多個密鑰(314)。
9.一種用于在多個工作流程參與者(IlOa-1lOn)當中提供對數字文件(120)的差異化訪問的設備(102),其中,所述多個工作流程參與者中的至少一個處于公共和統一安全的環境中的至少一個之外,所述數字文件包括至少一個原子單元(122a-122n),所述設備包括: 一個或多個模塊(202-216),其被配置為:將第一密鑰集合與所述至少一個原子單元相關聯,所述第一密鑰集合包括加密密鑰、簽名密鑰和驗證密鑰;使用所述加密密鑰來對所述至少一個原子單元進行加密;使用所述簽名密鑰來對加密后的至少一個原子單元進行簽名;從將被授權給工作流程參與者中的每一個的針對所述至少一個原子單元的多個訪問級別中識別訪問級別;基于所識別的訪問級別,識別要向工作流程參與者中的每一個供給第一密鑰集合中的密鑰中的哪個;向工作流程參與者中的每一個供給所識別的一個或多個密鑰,其中,所述加密密鑰使得能夠讀取,所述簽名密鑰使得能夠修改,以及所述驗證密鑰使得能夠對所述至少一個原子單元進行認證;以及將加密和簽名后的至少一個原子單元供給至所述多個工作流程參與者中的第一工作流程參與者;以及處理器(220 ),被配置為實現所述一個或多個模塊。
10.根據權利要求9所述的設備(102),其中,所述一個或多個模塊還被配置為: 向被識別為針對所述至少一個原子單元而被授權不許訪問級別的工作流程參與者供給驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰和加密密鑰; 向被識別為針對所述至少一個原子單元而被授權只讀訪問級別的工作流程參與者供給加密密鑰和驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰;以及 向被識別為被采用修改訪問級別加以授權的工作流程參與者供給用于所述至少一個原子單元的加密密鑰、簽名密鑰和驗證密鑰。
11.根據權利要求9所述的設備(102),其中,對所述第一工作流程參與者授權修改訪問級別,以及其中,所述一個或多個模塊還被配置為向所述多個工作流程參與者中的被配置為從所述第一工作流程參與者接收修改后的數字文件的第二工作流程參與者供給第二驗證密鑰,所述第二驗證密鑰被配置為使得能夠對所述第一工作流程參與者對所述至少一個原子單元的修改進行認證。
12.根據權利要求9所述的設備(102),其中,所述數字文件(120)包括第一原子單元(122a)和第二原子單元(122b),其中,所述第一原子單元包括所述至少一個原子單元,所述一個或多個模塊(202-216)還被配置為: 將第二密鑰集合與所述第二原子單元相關聯,所述第二密鑰集合包括第二加密密鑰、第二簽名密鑰和第二驗證密鑰; 使用所述第二加密密鑰來對所述第二原子單元進行加密; 使用所述第二簽名密鑰來對加密后的第二原子單元進行簽名; 從將被授權給工作流程參與者的針對所述第一原子單元的所述多個訪問級別中識別第一訪問級別; 從將被授權給工作流程參與者的針對所述第二原子單元的所述多個訪問級別中識別第二訪問級別,針對工作流程參與者中的至少一個,所述第二訪問級別與所述第一訪問級別不同; 根據將針對所述第一原子單元和所述第二原子單元而授權給工作流程參與者的所識別的訪問級別,向工作流程參與者中的每一個供給所述第一密鑰集合中的所識別的一個或多個密鑰和所述第二密鑰集合中的所識別的一個或多個密鑰;以及 將包含加密和簽名后的第一原子單元和第二原子單元的數字文件供給至所述第一工作流程參與者。
13.根據權利要求12所述的設備(102),其中,所述一個或多個模塊(202-216)還被配置為:向工作流程參與者中的至少一個供給與用于訪問所述第二原子單元的多個密鑰不同的用于訪問所述第一原子單元的多個密鑰,從而使所述至少一個工作流程參與者具有針對所述第一原子單元和所述第二原子單元的不同的訪問級別。
14.一種其上嵌入有一個或多個計算機程序的計算機可讀存儲介質(410),所述一個或多個計算機程序實現用于在多個工作流程參與者(IlOa-1lOn)當中提供對數字文件的差異化訪問的方法(300),其中,所述多個工作流程參與者中的至少一個處于公共和統一安全的環境中的至少一個之外,所述數字文件包括至少一個原子單元(122a),所述一個或多個計算機程序包括指令集,其用于: 將第一密鑰集合與所述至少一個原子單元相關聯(304),所述第一密鑰集合包括加密密鑰、簽名密鑰和驗證密鑰; 使用所述加密密鑰來對所述至少一個原子單元進行加密(306); 使用所述簽名密鑰來對加密后的至少一個原子單元進行簽名(308); 從將被授權給工作流程參與者中的每一個的、針對所述至少一個原子單元的多個訪問級別中識別訪問級別(310); 基于所識別的訪問級別,識別要向工作流程參與者中的每一個供給第一密鑰集合中的密鑰中的哪個(312); 向工作流程參與者中的每一個供給所識別的一個或多個密鑰,其中,所述加密密鑰使得能夠讀取,所述簽名密鑰使得能夠修改,以及所述驗證密鑰使得能夠對所述至少一個原子單元進行認證(314);以及 將加密和簽名后的至少一個原子單元供給至所述多個工作流程參與者中的第一工作流程參與者(316)。
15.根據權利要求14所述的計算機可讀存儲介質(410),其中,向工作流程參與者中的每一個供給所識別的一個或多個密鑰(314)還包括用于執行以下操作的指令集: 向被識別為針對所述至少一個原子單元被授權不許訪問級別的工作流程參與者供給驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰和加密密鑰; 向被識別為針對所述至少一個原子單元被授權只讀訪問級別的工作流程參與者供給加密密鑰和驗證密鑰,同時排除用于所述至少一個原子單元的簽名密鑰;以及 向被識別為被采用修改訪問級別加以授權的工作流程參與者供給用于所述至少一個原子單元的加密密鑰、簽名密鑰和驗證密鑰。
全文摘要
在一種用于在工作流程參與者當中提供對數字文件的差異化訪問的方法中,其中,工作流程參與者中的至少一個處于公共安全環境之外(300),包括加密密鑰、簽名密鑰和驗證密鑰的第一密鑰集合與(一個或多個)原子單元相關聯(304)。使用加密密鑰來對(一個或多個)原子單元進行加密,并使用簽名密鑰來對該(一個或多個)原子單元進行簽名(306、308)。識別將對工作流程參與者中的每一個授權的對(一個或多個)原子單元的訪問級別以及用于基于所識別的訪問級別而向工作流程參與者中的每一個供給的第一密鑰集合中的密鑰(310、312)。此外,向工作流程參與者中的每一個供給所識別的一個或多個密鑰(314),并將加密和簽名后的(一個或多個)原子單元供給至第一工作流程參與者(316)。
文檔編號G06F21/62GK103098071SQ201080069205
公開日2013年5月8日 申請日期2010年9月21日 優先權日2010年9月21日
發明者H.巴林斯基, S.J.辛斯克 申請人:惠普發展公司,有限責任合伙企業