新四季網

用於安全保護雲中的數據的系統和方法

2023-10-08 07:35:59 5

用於安全保護雲中的數據的系統和方法
【專利摘要】本發明涉及用於安全保護雲中的數據的系統和方法。提供一種可集成到用於安全地將數據存儲在雲計算資源中並與雲計算資源傳送數據的任意合適系統中的安全數據解析器。該安全數據解析器解析數據,然後將該數據分割為獨立存儲或傳送的多個部分。為了增加安全性,可利用原始數據、數據的部分或者這二者的加密。
【專利說明】用於安全保護雲中的數據的系統和方法
[0001]本申請是申請日為2010年5月19日、申請號為201080021718.9、發明名稱為「用於安全保護雲中的數據的系統和方法」的申請的分案申請。
[0002]相關申請的交叉引用
[0003]本申請要求於2009年5月19日提交的、標題為「Systems and Methods forSecuring Data in SOA, Cloud, and High Performance Environments,,的美國臨時專利申請N0.61/179,481的優先權,在此通過引用併入其全部內容。

【技術領域】
[0004]本發明一般涉及用於安全保護(secure)雲中的數據的系統和方法。本文所述的系統和方法可結合以下中所述的其它系統和方法使用:共有美國專利N0.7,391,865和以下共有美國專利申請:於2005年10月25日提交的N0.11/258,839、於2006年11月20日提交的N0.11/602, 667、於2007年11月7日提交的N0.11/983,355、於2007年12月5日提交的N0.11/999,575、於2008年4月18日提交的N0.12/148,365、於2008年9月12日提交的N0.12/209, 703、於2009年I月7日提交的N0.12/349,897、於2009年2月23日提交的N0.12/391,025,在此通過引用併入所有這些專利和專利申請的全部內容。

【背景技術】
[0005]在當今社會中,個人和企業在計算機系統上和通過計算機系統進行數量日益增多的行為。包括專用和非專用計算機網絡的這些計算機系統通常存儲、存檔和發送(transmit)所有類型的敏感信息。因此,存在日益增長的需求:確保通過這些系統存儲和發送的數據不能被讀取或者以其它方式被損壞。
[0006]用於安全保護計算機系統的一種常用解決方案是提供登錄和密碼功能。然而,密碼管理已證明成本相當高,大部分幫助進行與密碼問題相關的桌面調用。而且,由於密碼通常存儲在易於通過例如蠻力攻擊不適當存取的文件中,所以它們提供很低的安全性。
[0007]用於安全保護計算機系統的另一種解決方案是提供密碼基礎設施。總的來講,密碼術是指通過將數據變換或加密為不可讀格式來保護數據。僅擁有加密的密鑰的那些人可將數據解密為可用格式。密碼術被用於識別用戶(比如,認證),以給予創建數字證書和籤名等的存取特權(比如,授權)。一種流行的密碼系統是使用兩個密鑰的公鑰系統,所述兩個密鑰即,每個人都知道的公鑰和僅個人或其企業主知道的私鑰。總的來講,用一個密鑰加密的數據用另一個密鑰解密,並且沒有一個密鑰可從另一個密鑰重建。
[0008]不幸的是,即使前述的典型的公鑰密碼系統對於安全性也仍然高度依賴於用戶。例如,密碼系統例如通過用戶的瀏覽器將私鑰頒發給用戶。單純的用戶然後通常將私鑰存儲在其他人可通過開放計算機系統(例如,網際網路)存取的硬碟上。另一方面,用戶可能為包含其私鑰的文件選擇很弱的文件名,例如,「key」。前述動作和其它動作的結果是使得一個密鑰或多個密鑰易於受損。
[0009]除了前述損壞之外,用戶可能將他或她的私鑰存儲在用存檔或備份系統配置的計算機系統上,從而潛在導致私鑰副本行進通過多個計算機存儲設備或其它系統。該安全漏洞通常被稱為「密鑰遷移」。與密鑰遷移類似,許多應用(最多地)通過簡單的登錄和密碼存取提供對用戶的私鑰的存取。如在前述中所提及的,登錄和密碼存取通常不提供足夠的安全性。
[0010]一種提高前述密碼系統的安全性的解決方案是包括作為認證或授權的一部分的生物辨識(b1metrics)。生物辨識通常包括可測量的物理特性,例如,可通過自動系統(例如指紋模式或語音模式的模式匹配或識別)檢查的指紋或語音。在這樣的系統中,用戶的生物辨識和/或密鑰可存儲在移動計算設備上,從而使得可在移動環境下使用生物辨識或密鑰,所述移動計算設備例如為智慧卡、膝上型電腦、個人數字助理或行動電話。
[0011]前述移動生物辨識密碼系統仍有各種缺點。例如移動用戶可能丟失或弄壞智慧卡或可攜式計算設備,從而使得他或她的對潛在重要的數據的存取完全切斷。或者,懷有惡意的人可能竊取移動用戶的智慧卡或可攜式計算設備,並使用它有效地竊取移動用戶的數字憑證。另一方面,可攜式計算設備可連接至諸如網際網路的開放系統,並且像密碼那樣,存儲生物辨識的文件可易於由於用戶對安全性或惡意侵入者的疏忽而受損。


【發明內容】

[0012]基於前述,存在對於提供一種在仍支持移動用戶的同時其安全性是用戶獨立的密碼系統的需求。
[0013]因此,本發明的一方面是提供一種用於安全保護幾乎任意類型的數據不被未授權地存取或使用的方法。該方法包括解析將被安全保護的數據、將該數據分割和/或分離為兩個或更多個部份或部分的一個或多個步驟。該方法還包括對將被安全保護的數據進行加密。可在數據的第一解析、分割和/或分離之前或之後執行數據加密。另外,對於數據的一個或多個部分,可重複加密步驟。類似地,對於數據的一個或多個部分,可重複解析、分割和/或分離步驟。該方法還可選地包括存儲已在一個位置中或者在多個位置中被加密的解析的、分割的和/或分離的數據。該方法還可選地包括將安全保護的數據重構或重新組裝為其原始形式,以用於授權存取或使用。該方法可被合併到能夠執行該方法的期望步驟的任意計算機、伺服器、引擎等的操作中。
[0014]本發明的另一個方面提供一種用於安全保護幾乎任意類型的數據不被未授權地存取或使用的系統。該系統包括數據分割模塊、密碼處理模塊,可選地,還包括數據組裝模塊。該系統在一個實施例中還可包括可存儲安全數據的一個或多個數據存儲設施。
[0015]相應地,本發明的一方面是提供一種安控伺服器或授信引擎,該安控伺服器或授信引擎具有以伺服器為中心的密鑰,或者換句話講,將密碼密鑰和用戶認證數據存儲在伺服器上。根據本實施例,用戶訪問授信引擎,以便執行認證和密碼功能,諸如,但不限於,例如,認證、授權、數字籤名和產生(生成)、存儲和證書檢索、加密、類似公證的和類似委託書的動作等。
[0016]本發明的另一方面是提供一種可靠的或者可信的認證處理。而且,在可信任地肯定認證之後,可採取大量不同的動作(從提供密碼技術到系統或設備授權和訪問),以使得可使用或控制一個或大量電子設備。
[0017]本發明的另一方面是在密碼密鑰和認證數據沒有丟失、竊取或受損的環境下提供這些密碼密鑰和認證數據,從而有利地避免連續地重新頒發和管理新的密鑰和認證數據的需要。根據本發明的另一方面,授信引擎使得用戶可將一個密鑰對用於多個行為、賣方和/或認證請求。根據本發明的又一方面,授信引擎在伺服器端執行密碼處理中的至少一個步驟,從而使得客戶端或用戶可僅佔有最少計算資源,所述密碼處理例如,但不限於,加密、認證或籤名。
[0018]根據本發明的又一方面,授信引擎包括用於存儲每個密碼密鑰和認證數據的部分的一個或多個貯藏器。所述部分通過數據分割處理來創建,所述數據分割處理禁止在沒有來自一個貯藏器中的多於一個位置的或者來自多個貯藏器的預定部分的情況下進行重構。根據另一個實施例,所述多個貯藏器可以是地理上遙遠的,以使得在一個貯藏器處的破壞員工或者相反受損系統將不提供對用戶的密鑰或認證數據的存取。
[0019]根據又一個實施例,認證處理有利地使得授信引擎可並行處理多個認證行為。根據又一個實施例,授信引擎可有利地跟蹤失敗的存取嘗試,從而限制惡意侵入者可以嘗試破壞系統的次數。
[0020]根據又一個實施例,授信引擎可包括多個實例化,在所述實例化中,每個授信引擎可預測處理負荷,並與其它設備分擔處理負荷。根據又一個實施例,授信引擎可包括冗餘模塊,所述冗餘模塊用於對多個認證結果進行輪詢,以確保多於一個系統對用戶進行認證。
[0021]因此,本發明的一方面包括一種可遠程訪問的用於存儲任意類型數據的安控密碼系統,所述數據包括,但不限於,與多個用戶相關聯的多個私有密碼密鑰。該密碼系統將多個用戶中的每個與多個私有密碼密鑰中的一個或多個不同密鑰相關聯,並使用相關聯的一個或多個不同密鑰對每個用戶執行密碼功能,而不將多個私有密碼密鑰發布給用戶。該密碼系統包括貯藏系統,所述貯藏系統具有存儲將被安全保護的數據的至少一個伺服器,所述數據例如多個私有密碼密鑰和多個註冊認證數據。每個註冊認證數據識別多個用戶之一,所述多個用戶中的每個與多個私有密碼密鑰中的一個或多個不同密鑰相關聯。該密碼系統還可包括認證引擎,所述認證引擎將由所述多個用戶之一接收的認證數據與從貯藏系統接收的、與所述多個用戶之一對應的註冊認證數據進行比較,從而產生認證結果。該密碼系統還可包括密碼引擎,當認證結果指示正確地識別所述多個用戶之一時,所述密碼引擎使用從貯藏系統接收的相關聯的一個或多個不同密鑰來代表所述多個用戶之一執行密碼功能。該密碼系統還可包括事項引擎,所述事項引擎被連接以將數據從多個用戶路由到貯藏伺服器系統、認證引擎和密碼引擎。
[0022]本發明的另一個方面包括安控密碼系統,該安控密碼系統可選地可被遠程訪問。該密碼系統包括貯藏系統,所述貯藏系統具有存儲至少一個私鑰和任意其它數據的至少一個伺服器,所述數據例如,但不限於,多個註冊認證數據,其中,每個註冊認證數據識別可能多個用戶中的一個。該密碼系統還可可選地包括認證引擎,所述認證引擎將由用戶接收的認證數據與從貯藏系統接收的、與該用戶對應的註冊認證數據進行比較,從而產生認證結果。該密碼系統還包括密碼引擎,當認證結果指示正確地識別該用戶時,所述密碼引擎至少使用可從貯藏系統接收的所述私鑰來代表該用戶執行密碼功能。該密碼系統還可可選地包括事項引擎,所述事項引擎被連接以將數據從用戶路由到其它引擎或系統,例如,但不限於,貯藏伺服器系統、認證引擎和密碼引擎。
[0023]本發明的另一個方面包括使密碼功能便利的方法。該方法包括將多個用戶中的一個用戶與存儲在安全位置上的多個私有密碼密鑰中的一個或多個密鑰相關聯,所述安全位置諸如安控伺服器。該方法還包括:從用戶接收認證數據,並將該認證數據與對應於該用戶的認證數據進行比較,從而驗證該用戶的身份。該方法還包括利用所述一個或多個密鑰執行密碼功能,而不將所述一個或多個密鑰發布給所述用戶。
[0024]本發明的另一個方面包括用於通過用戶的註冊認證數據的安全存儲來唯一地識別用戶的認證系統。該認證系統包括一個或多個數據存儲設施,其中,每個數據存儲設施包括存儲註冊認證數據的至少一個部分的計算機可存取存儲介質。該認證系統還包括與所述一個數據存儲設施或多個數據存儲設施進行通信的認證引擎。所述認證引擎包括:數據分割模塊,所述數據分割模塊對註冊認證數據進行操作,以創建部分;數據組裝模塊,所述數據組裝模塊對來自所述數據存儲設施中的至少一個的部分進行處理,以組裝註冊認證數據;和數據比較器模塊,所述數據比較器模塊從用戶接收當前認證數據,並將當前認證數據與組裝的註冊認證數據進行比較,以確定該用戶是否已被唯一地識別。
[0025]本發明的另一個方面包括密碼系統。該密碼系統包括一個或多個數據存儲設施,其中,每個數據存儲設施包括存儲一個或多個密碼密鑰中的至少一個部分的計算機可存取存儲介質。該密碼系統還包括與所述數據存儲設施進行通信的密碼引擎。所述密碼引擎還包括:數據分割模塊,所述數據分割模塊對所述密碼密鑰進行操作,以創建部分;數據組裝模塊,所述數據組裝模塊對來自所述數據存儲設施中的至少一個的部分進行處理,以組裝所述密碼密鑰;和密碼處理模塊,所述密碼處理模塊接收組裝的密碼密鑰,並用這些密碼密鑰執行密碼功能。
[0026]本發明的另一個方面包括一種方法,該方法將任意類型的數據存儲在地理上遙遠的安全數據存儲設施中,從而保護所述數據不被任意個別數據存儲設施所組成,所述數據包括,但不限於,認證數據。該方法包括:在授信引擎接收數據;在授信引擎將所述數據與第一基本隨機值組合,以形成第一組合值;將所述數據與第二基本隨機值組合,以形成第二組合值。該方法包括:創建第一基本隨機值與第二組合值的第一配對;創建第一基本隨機值與第二基本隨機值的第二配對;將第一配對存儲在第一安全數據存儲設施中。該方法包括將第二配對存儲在遠離第一安全數據存儲設施的第二安全數據存儲設施中。
[0027]本發明的另一方面包括一種存儲任意類型數據的方法,所述數據包括,但不限於,認證數據,該方法包括:接收數據;將所述數據與第一組比特組合,以形成第二組比特;將所述數據與第三組比特組合,以形成第四組比特。該方法還包括創建第一組比特與第三組比特的第一配對。該方法還包括:創建第一組比特與第四組比特的第二配對,並將第一配對和第二配對之一存儲在第一計算機可存取存儲介質中。該方法還包括將第一配對和第二配對中的另一配對存儲在第二計算機可存取存儲介質中。
[0028]本發明的另一方面包括一種方法,該方法將密碼數據存儲在地理上遙遠的安全數據存儲設施中,從而保護所述密碼數據不被任意個別數據存儲設施所包含。該方法包括:在授信引擎接收密碼數據;在授信引擎將所述密碼數據與第一基本隨機值組合,以形成第一組合值;將所述密碼數據與第二基本隨機值組合,以形成第二組合值。該方法還包括:創建第一基本隨機值與第二組合值的第一配對;創建第一基本隨機值與第二基本隨機值的第二配對;將第一配對存儲在第一安全數據存儲設施中。所述方法還包括將第二配對存儲在遠離第一安全數據存儲設施的第二安全數據存儲設施中。
[0029]本發明的另一方面包括一種存儲密碼數據的方法,該方法包括:接收認證數據,並將所述密碼數據與第一組比特組合,以形成第二組比特。該方法還包括:將所述密碼數據與第三組比特組合,以形成第四組比特;創建第一組比特與第三組比特的第一配對;創建第一組比特與第四組比特的第二配對。該方法還包括:將第一配對和第二配對之一存儲在第一計算機可存取存儲介質中,並將第一配對和第二配對中的另一配對存儲在第二計算機可存取存儲介質中。
[0030]本發明的另一方面包括處理密碼系統中的任意類型或形式的敏感數據的方法,其中,所述敏感數據僅在授權用戶利用所述敏感數據執行動作期間以可用形式存在。該方法還包括:在軟體模塊中從第一計算機可存取存儲介質接收基本上隨機化的或者加密的敏感數據;以及在所述軟體模塊中,從一個或多個其它計算機可存取存儲介質接收基本上隨機化的或者加密的、可以是敏感數據或者可以不是敏感數據的數據。該方法還包括:在所述軟體模塊中處理基本上隨機化的預先加密的敏感數據和基本上隨機化的或者加密的、可以是敏感數據或者可以不是敏感數據的數據,以組裝所述敏感數據;以及在所述軟體引擎中利用所述敏感數據來執行動作。所述動作包括,但不限於,認證用戶和執行密碼功能之一。
[0031]本發明的另一方面包括一種安全認證系統。該安全認證系統包括多個認證引擎。每個認證引擎接收註冊認證數據,所述註冊認證數據被設計為達到一定程度的確定性地唯一識別用戶。每個認證引擎接收當前認證數據,以與註冊認證數據進行比較,每個認證引擎確定認證結果。安全認證系統還包括冗餘系統,所述冗餘系統接收所述認證引擎中的至少兩個的認證結果,並確定用戶是否已被唯一地識別。
[0032]本發明的另一方面包括運動系統中的安全數據,由此數據可用根據本發明安全保護的不同部分發送,以使得變為受損的任意一個部分不應該提供恢復原始數據的充要數據。這可應用於數據的任意發送,無論它是有線的、無線的,還是物理的。
[0033]本發明的另一方面包括將本發明的安全數據解析器集成到存儲或傳送數據的任意合適的系統中。例如,電子郵件系統、RAID系統、視頻廣播系統、資料庫系統或任意其它合適系統可具有在任意合適級別集成的安全數據解析器。
[0034]本發明的另一方面包括使用任意合適的解析和分割算法來產生(生成)數據份額。隨機的、偽隨機的、確定性的或者它們的任意組合可被用於解析和分割數據。
[0035]本發明的另一方面包括將本發明的安全數據解析器集成到在其中存儲數據或者與雲計算資源傳送數據的任意合適的系統中。安全數據解析器可被用於安全保護存儲在雲中的數據和安全保護雲中提供的數據服務。可安全保護雲中的網絡訪問,以使用戶與興趣社區之間的安全通信便利。在一些實施例中,可將虛擬機圖像發送給用戶,以提供對雲計算資源的安全訪問。
[0036]本發明的另一方面包括將本發明的安全數據解析器集成到用於安全保護數據網絡的任意合適的系統中。安全數據解析器可被用於安全保護正交頻分復用(OFDM)網絡,諸如無線寬帶和電力線寬帶。安全數據解析器還可被用於安全保護對諸如電網的關鍵基礎設施系統的訪問。

【專利附圖】

【附圖說明】
[0037]以下結合附圖對本發明進行更詳細的描述,附圖意在舉例說明本發明,而不是限制本發明,在附圖中:
[0038]圖1示出根據本發明的實施例的方面的密碼系統的框圖;
[0039]圖2示出根據本發明的實施例的方面的圖1的授信引擎的框圖;
[0040]圖3示出根據本發明的實施例的方面的圖2的事項引擎的框圖;
[0041]圖4示出根據本發明的實施例的方面的圖2的貯藏器的框圖;
[0042]圖5示出根據本發明的實施例的方面的圖2的認證引擎的框圖;
[0043]圖6示出根據本發明的實施例的方面的圖2的密碼引擎的框圖;
[0044]圖7示出根據本發明的另一個實施例的方面的貯藏系統的框圖;
[0045]圖8示出根據本發明的實施例的方面的數據分割處理的流程圖;
[0046]圖9平面A示出根據本發明的實施例的方面的註冊處理的數據流;
[0047]圖9平面B示出根據本發明的實施例的方面的互操作處理的流程圖;
[0048]圖10示出根據本發明的實施例的方面的認證處理的數據流;
[0049]圖11示出根據本發明的實施例的方面的籤名處理的數據流;
[0050]圖12示出根據本發明的又一個實施例和方面的加密/解密處理的數據流;
[0051]圖13示出根據本發明的另一個實施例的方面的授信引擎系統的簡化框圖;
[0052]圖14示出根據本發明的另一個實施例的方面的授信引擎系統的簡化框圖;
[0053]圖15示出根據本發明的實施例的方面的圖14的冗餘模塊的框圖;
[0054]圖16示出根據本發明的一個方面的用於評估認證的處理;
[0055]圖17示出根據如本發明的圖16中所示的一個方面的用於將值分配給認證的處理;
[0056]圖18示出如圖17中所示的本發明的一方面中的用於執行信任仲裁的處理;和
[0057]圖19示出根據本發明的實施例的方面的用戶與賣方之間的示例性事項,在該示例性事項中,初始的基於web的接觸導致由雙方籤名的銷售合約;
[0058]圖20示出具有將安全性功能提供給用戶系統的密碼服務提供商模塊的示例性用戶系統;
[0059]圖21示出用於解析、分割和/或分離加密的數據並將加密主密鑰與該數據一起存儲的處理;
[0060]圖22示出用於解析、分割和/或分離加密的數據並將加密主密鑰與該數據分開存儲的處理;
[0061]圖23示出用於解析、分割和/或分離加密的數據並將加密主密鑰與該數據一起存儲的中間密鑰處理;
[0062]圖24示出用於解析、分割和/或分離加密的數據並將加密主密鑰與該數據分開存儲的中間密鑰處理;
[0063]圖25是本發明的密碼方法和系統對於小型工作組的利用;
[0064]圖26是利用根據本發明的一個實施例的安全數據解析器的說明性物理令牌安全系統的框圖;
[0065]圖27是在其中安全數據解析器被集成到根據本發明的一個實施例的系統中的說明性布置的框圖;
[0066]圖28是根據本發明的一個實施例的運動系統中的說明性數據的框圖;
[0067]圖29是根據本發明的一個實施例的運動系統中的另一個說明性數據的框圖;
[0068]圖30-32是具有根據本發明的一個實施例集成的安全數據解析器的說明性系統的框圖;
[0069]圖33是根據本發明的一個實施例的用於解析和分割數據的說明性處理的處理流程圖;
[0070]圖34是根據本發明的一個實施例的用於將數據的部分恢復為原始數據的說明性處理的處理流程圖;
[0071]圖35是根據本發明的一個實施例的用於在比特級別分割數據的說明性處理的處理流程圖;
[0072]圖36是根據本發明的一個實施例的說明性步驟和特徵的處理流程圖,該處理流程圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0073]圖37是根據本發明的一個實施例的說明性步驟和特徵的處理流程圖,該處理流程圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0074]圖38是根據本發明的一個實施例的將密鑰和數據分量存儲在份額內的簡化框圖,該框圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0075]圖39是根據本發明的一個實施例的使用工作組密鑰將密鑰和數據分量存儲在份額內的簡化框圖,該框圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0076]圖40A和40B是根據本發明的一個實施例的用於頭產生和運動中的數據的數據分割的簡化說明性處理流程圖,該處理流程圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0077]圖41是根據本發明的一個實施例的說明性份額格式的簡化框圖,該框圖可以按任意合適的組合、任意合適的添加、刪除或修改使用;
[0078]圖42是根據本發明的一個實施例的在其中安全數據解析器被集成到與雲計算資源連接的系統中的說明性布置的框圖;
[0079]圖43是根據本發明的一個實施例的在其中安全數據解析器被集成到用於通過雲發送數據的系統中的說明性布置的框圖;
[0080]圖44是根據本發明的一個實施例在其中安全數據解析器被用於安全保護雲中的數據服務的說明性布置的框圖;
[0081]圖45是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護雲中的數據存儲的說明性布置的框圖;
[0082]圖46是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護網絡訪問控制的說明性布置的框圖;
[0083]圖47是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護高性能計算資源的說明性布置的框圖;
[0084]圖48是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護使用虛擬機的訪問的說明性布置的框圖;
[0085]圖49和50顯示根據本發明的實施例的用於安全保護使用虛擬機的訪問的可替換說明性布置的框圖;
[0086]圖51是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護正交頻分復用(OFDM)網絡的說明性布置的框圖;
[0087]圖52是根據本發明的一個實施例的在其中安全數據解析器被用於安全保護電網的示例性布置的框圖。

【具體實施方式】
[0088]本發明的一方面提供一種密碼系統,在該密碼系統中,一個或多個安控伺服器或授信引擎存儲密碼密鑰和用戶認證數據。用戶通過對授信引擎的網絡訪問來訪問常規密碼系統的功能,然而,授信引擎不發布實際密鑰和其它認證數據,因此,密鑰和數據保持安全。密鑰和認證數據的這種以伺服器為中心的存儲提供用戶獨立的安全性、便攜性、可用性和簡單性。
[0089]由於用戶能夠對密碼系統執行用戶和文檔認證及其它密碼功能有信心或者信任密碼系統執行用戶和文檔認證及其它密碼功能,所以可將多種功能合併到系統中。例如,授信引擎提供商可通過例如下述方式確保不遭受協議否認,即,認證協議參與者,代表參與者或者為了參與者對協議進行數字籤名,並存儲由每個參與者數字籤名的協議的記錄。另外,密碼系統可監視協議,並基於例如價格、用戶、賣方、地理位置、使用地點等確定應用不同程度的認證。
[0090]為了幫助徹底理解本發明,【具體實施方式】的其餘部分參照附圖對本發明進行描述,在附圖中,相似的元件始終用相似的數字指代。
[0091]圖1示出根據本發明的實施例的方面的密碼系統100的框圖。如圖1所示,密碼系統100包括通過通信鏈路125進行通信的用戶系統105、授信引擎110、證書管理中心115和賣方系統120。
[0092]根據本發明的一個實施例,用戶系統105包括具有一個或多個微處理器的常規通用計算機,所述微處理器例如基於Intel的處理器。而且,用戶系統105包括合適的作業系統,例如,能夠包括圖形或窗口的作業系統,諸如Windows、Unix、Linux等。如圖1所示,用戶系統105可包括生物辨識設備107。生物辨識設備107可有利地捕捉用戶的生物辨識,並將捕捉的生物辨識傳送到授信引擎110。根據本發明的一個實施例,生物辨識設備可有利地包括具有與以下中公開的那些屬性和特徵類似的屬性和特徵的設備:於1997年9月5日提交的、標題為「RELIEF OBJECT IMAGE GENERATOR」的美國專利申請 N0.08/926,277、於 2000 年4月 26 日提交的、標題為「IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHODOF USING THE IMAGE DEVICE」 的美國專利申請 N0.09/558,634、於 1999 年 11 月 5 日提交的、標題為 「RELIEF OBJECT SENSOR ADAPTOR」 的美國專利申請 N0.09/435,011、和於 2000年 I 月 5 日提交的、標題為 「PLANAR OPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATINGAN ELECTRONIC IMAGE OF A RELIEF OBJECT FOR FINGERPRINT READING」 的美國專利申請N0.09/477, 943,所有這些專利申請由即時受讓人擁有,在此通過引用併入所有這些專利申請。
[0093]另外,用戶系統105可通過常規服務提供商與通信鏈路125連接,所述常規服務提供商例如撥號、數字用戶線(DSL)、電纜數據機、光纖連接等。根據另一個實施例,用戶系統105通過網絡連接與通信鏈路125連接,所述網絡連接例如區域網或廣域網。根據一個實施例,作業系統包括處理通過通信鏈路125傳遞的所有輸入和輸出消息業務的TCP/IP堆棧。
[0094]雖然參照前述實施例公開了用戶系統105,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到用戶系統105的多種可替換實施例,包括能夠從另一個計算機系統發送或接收信息的幾乎任意計算設備。例如,用戶系統105可包括,但不限於,可與通信鏈路125交互的計算機工作站、交互式電視、交互式展示亭、個人移動計算設備(諸如,數字助理、行動電話、膝上型電腦等)、無線通信設備、智慧卡、嵌入式計算設備等。在這樣的可替換系統中,作業系統將可能不同,並且適合於特定設備。然而,根據一個實施例,作業系統有利地繼續提供建立與通信鏈路125的通信所需的合適通信協議。
[0095]圖1示出授信引擎110。根據一個實施例,授信引擎110包括用於訪問和存儲敏感信息的一個或多個安控伺服器,所述敏感信息可以是任意類型或形式的數據,例如,但不限於,文本、音頻、視頻、用戶認證數據及公共和私有密碼密鑰。根據一個實施例,認證數據包括被設計為唯一地識別密碼系統100的用戶的數據。例如,認證數據可包括用戶識別號、一個或多個生物辨識和由授信引擎110或用戶產生、但是一開始由用戶在註冊時答覆的一系列問題和答覆。前述問題可包括人口統計數據、個人數據或者被設計為唯一地識別用戶的其它數據,所述人口統計數據諸如出生地、地址、周年紀念日等,所述個人數據諸如母親的婚前姓氏、喜歡的冰淇淋等。授信引擎110將與當前事項相關聯的用戶認證數據與早些時間(例如在註冊期間)提供的認證數據進行比較。授信引擎110可有利地要求用戶在每個事項時產生認證數據,或者授信引擎110可有利地使得用戶可周期性地(例如,在一連串事項開始或者登錄到特定賣方網站時)產生認證數據。
[0096]根據用戶產生生物辨識數據的實施例,用戶將物理特性提供給生物辨識設備107,所述物理特性諸如,但不限於,臉掃描、手掃描、耳掃描、虹膜掃描、視網膜掃描、血管模式、DAN、指紋、手寫或語音。生物辨識設備有利地產生物理特性的電子模式或生物辨識。為了註冊或認證目的,將電子模式通過用戶系統105傳送到授信引擎110。
[0097]—旦用戶產生合適的認證數據並且授信引擎110確定該認證數據(當前認證數據)與註冊時提供的認證數據(註冊認證數據)之間的肯定匹配,授信引擎110就為用戶提供整個密碼功能。例如,被正確認證的用戶可有利地利用授信引擎110執行散列法、數字籤名、加密和解密(通常一起僅僅稱為加密)、創建或發布數字證書等。然而,密碼功能中所使用的私有密碼密鑰將在授信引擎110外部不可用,從而確保密碼密鑰的完整性。
[0098]根據一個實施例,授信引擎110產生並存儲密碼密鑰。根據另一個實施例,至少一個密碼密鑰與每個用戶相關聯。而且,當密碼密鑰包括公鑰技術時,在授信引擎110內產生與用戶相關聯的每個私鑰,並不從授信引擎110發布該私鑰。因此,只要用戶訪問授信引擎110,用戶就可使用他或她的私鑰或公鑰來執行密碼功能。這樣的遠程訪問有利地使得用戶可保持完全移動,並可通過實際上任意網際網路連接來訪問密碼功能,所述網際網路連接例如蜂窩和衛星電話、展示亭、膝上型電腦、酒店房間等。
[0099]根據另一個實施例,授信引擎110使用為授信引擎110產生的密鑰對來執行密碼功能。根據本實施例,授信引擎110首先對用戶進行認證,並且在用戶已正確地產生與註冊認證數據匹配的認證數據之後,授信引擎110使用它自己的密碼密鑰對來代表認證的用戶執行密碼功能。
[0100]技術人員將從本文的公開內容認識到密碼密鑰可有利地包括對稱密鑰、公鑰和私鑰中的一些或全部。另外,技術人員將從本文的公開內容認識到前述密鑰可用可從商用技術獲得的多種算法實現,所述商用技術例如RSA、ELGAMAL等。
[0101]圖1還示出證書管理中心115。根據一個實施例,證書管理中心115可有利地包括頒發數字證書的可信第三方組織或公司,例如VeriSign、Baltimore、Entrust等。授信引擎110可有利地通過一個或多個常規數字證書協議將對數字證書的請求發送到證書管理中心115,所述數字證書協議例如PKCS10。作為響應,證書管理中心115將用許多不同協議中的一個或多個頒發數字證書,所述協議例如PKCS7。根據本發明的一個實施例,授信引擎110向著名的證書管理中心115中的幾個或全部請求數字證書,以使得授信引擎110可以使用與任意請求方的證書標準對應的數字證書。
[0102]根據另一個實施例,授信引擎110在內部執行證書頒發。在本實施例中,授信引擎110可訪問用於產生證書的證書系統,和/或當例如在產生密鑰時或者按請求時所請求的證書標準請求證書時,可在內部產生這些證書。以下將更詳細地公開授信引擎110。
[0103]圖1還不出賣方系統120。根據一個實施例,賣方系統120有利地包括Web伺服器。典型的Web伺服器通常使用幾種網際網路標記語言或文檔格式標準(諸如超文本標記語言(HTML)或可擴展標記語言(XML))之一為網際網路上的內容服務。Web伺服器從像Netscape和Internet Explorer的瀏覽器接受請求,然後返回合適的電子文檔。許多伺服器或客戶端技術可被用於提高Web伺服器的除了其遞送標準電子文檔的能力之外的能力。例如,這些技術包括公共網關接口(CGI)腳本、安全套接字層(SSL)安全性和活動伺服器頁(ASP)。賣方系統120可有利地提供與商業、個人、教育或其它事項相關的電子內容。
[0104]雖然參照前述實施例公開了賣方系統120,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到賣方系統120可有利地包括參照用戶系統105或者它們的組合描述的設備中的任意一個。
[0105]圖1還示出將用戶系統105、授信引擎110、證書管理中心115與賣方系統120連接的通信鏈路125。根據一個實施例,通信鏈路125優選地包括網際網路。如本公開內容處處使用的網際網路是全球計算機網絡。本領域的普通技術人員公知的網際網路的結構包括網絡骨幹與從骨幹分支的網絡。這些分支進而具有從它們分支的網絡,依此類推。路由器在網絡級之間移動信息包,然後在網絡之間移動信息包,直到包到達其目的地的附近為止。目的地網絡的主機將信息包從目的地引向合適的終端或節點。在一個有利的實施例中,網際網路路由集線器包括本領域公知的使用傳輸控制協議/網際網路協議(TCP/IP)的域名系統(DNS)伺服器。路由集線器通過高速通信鏈路與一個或多個其它路由集線器連接。
[0106]網際網路的一個流行部分是全球資訊網。全球資訊網包含存儲能夠顯示圖形和文本信息的文檔的不同計算機。提供關於全球資訊網的信息的計算機通常被稱為「網站」。網站由具有相關聯的電子頁面的網際網路地址定義。電子頁面可用統一資源定位符(URL)識別。總地來講,電子頁面是組織文本、圖形圖像、音頻、視頻等的呈現的文檔。
[0107]雖然按照通信鏈路125的優選實施例公開了通信鏈路125,但是本領域的普通技術人員將從本文的公開內容認識到通信鏈路125可包括大範圍的交互式通信鏈路。例如,通信鏈路125可包括交互式電視網絡、電話網絡、無線數據傳輸系統、雙向有線系統、定製的私有或公共計算機網絡、交互式展示亭網絡、自動取款機網絡、直接鏈路、衛星或蜂窩網絡等。
[0108]圖2示出根據本發明的實施例的方面的圖1的授信引擎110的框圖。如圖2所示,授信引擎110包括事項引擎205、貯藏器210、認證引擎215和密碼引擎220。根據本發明的一個實施例,授信引擎110還包括大容量儲存器225。如圖2進一步所示,事項引擎205與貯藏器210、認證引擎215和密碼引擎220連同大容量儲存器225進行通信。另外,貯藏器210與認證引擎215、密碼引擎220和大容量儲存器225進行通信。而且,認證引擎215與密碼引擎220進行通信。根據本發明的一個實施例,前述通信中的一些或全部可有利地包括將XML文檔發送到與接收設備對應的IP位址。如在前述中所提及的,XML文檔有利地使得設計者可創建他們自己的定製文檔標籤,從而使得能夠定義、發送、驗證和解釋應用程式(applicat1n)之間和組織之間的數據。而且,前述通信中的一些或全部可包括常規SSL技術。
[0109]根據一個實施例,事項引擎205包括數據路由設備,例如可從Netscape、Microsoft、Apache等購買的常規Web伺服器。例如,Web伺服器可有利地從通信鏈路125接收輸入數據。根據本發明的一個實施例,輸入數據被尋址到授信引擎110的前端安全系統。例如,前端安全系統可有利地包括防火牆、搜索已知的攻擊配置文件的侵入檢測系統和/或病毒掃描器。在清除前端安全系統之後,事項引擎205接收數據,並將該數據路由到貯藏器210、認證引擎215、密碼引擎220和大容量儲存器225之一。另外,事項引擎205監視來自認證引擎215和密碼引擎220的輸入數據,並將該數據通過通信鏈路125路由到特定系統。例如,事項引擎205可有利地將數據路由到用戶系統105、證書管理中心115或賣方系統120。
[0110]根據一個實施例,使用例如利用URL或統一資源指示符(URI)的常規HTTP路由技術來路由數據。URI與URL類似,然而,URI通常指示文件或動作的源,例如,可執行文件、腳本等。因此,根據一個實施例,用戶系統105、證書管理中心115、賣方系統120和授信引擎210的部件有利地在通信URL或URI內包括事項引擎205正確地遍及密碼系統路由數據的充要數據。
[0111]雖然參照數據路由的優選實施例公開了數據路由,但是技術人員將認識到大量可行的數據路由解決方案或策略。例如,可以有利的是,根據XML或其它數據包的格式、內容等對它們進行拆包和識別,以使得事項引擎205可遍及授信引擎110正確地路由數據。而且,技術人員將認識到,例如當通信鏈路125包括區域網時,數據路由可以有利地適合於遵照特定網絡系統的數據傳輸協議。
[0112]根據本發明的又一個實施例,事項引擎205包括常規SSL加密技術,以使得在特定通信期間,前述系統可對它們自己進行認證,並且反之亦然,通過事項引擎205對它們進行認證。如該公開內容始終使用的,術語「1/2SSL」是指伺服器(但不必是客戶端)被SSL認證的通信,術語「全SSL」是指客戶端和伺服器被SSL認證的通信。當即時公開內容使用術語「SSL」時,通信可包括1/2SSL或全SSL。
[0113]當事項引擎205將數據路由到密碼系統100的各個部件時,事項引擎205可有利地創建審查跟蹤。根據一個實施例,審查跟蹤包括至少由事項引擎205在整個密碼系統100路由的數據的類型和格式的記錄。這種審查數據可有利地存儲在大容量儲存器225中。
[0114]圖2還示出貯藏器210。根據一個實施例,貯藏器210包括一個或多個數據存儲設施,例如,目錄伺服器、資料庫伺服器等。如圖2所示,貯藏器210存儲密碼密鑰和註冊認證數據。密碼密鑰可有利地對應於授信引擎110或者密碼系統100的用戶,諸如用戶或賣方。註冊認證數據可有利地包括被設計為唯一地識別用戶的數據,諸如,用戶ID、密碼、問題答覆、生物辨識數據等。在註冊用戶時或者在另一個可替換的以後的時間可以有利地獲取該註冊認證數據。例如,授信引擎110可包括註冊認證數據的周期性或其它更新或補發。
[0115]根據一個實施例,從事項引擎205往返於認證引擎215和密碼引擎220的通信包括安全通信,例如,常規SSL技術。另外,如在前述中所提及的,可使用URL、UR1、HTTP或XML文檔傳送往返於貯藏器210的通信數據,前述中的任意一個有利地具有嵌入在其中的數據請求和格式。
[0116]如以上所提及的,貯藏器210可有利地包括多個安全數據存儲設施。在這樣的實施例中,安全數據存儲設施可被構造為,單個數據存儲設施中的安全性的損壞將不會損壞存儲在其中的密碼密鑰或認證數據。例如,根據本實施例,對密碼密鑰和認證數據進行數學運算,以在統計上使存儲在每個數據存儲設施中的數據基本上隨機化。根據一個實施例,單個數據存儲設施的數據的隨機化使得該數據不可破譯。因此,單個數據存儲設施的損壞僅產生隨機化的不可破譯的數,並總體上不損壞任意密碼密鑰或認證數據的安全性。
[0117]圖2還示出包括認證引擎215的授信引擎110。根據一個實施例,認證引擎215包括數據比較器,所述數據比較器被構造為將來自事項引擎205的數據與來自貯藏器210的數據進行比較。例如,在認證期間,用戶將當前認證數據供給授信引擎110,以使得事項引擎205接收當前認證數據。如在前述中所提及的,事項引擎205識別(優選地,URL或URI中的)數據請求,並將認證數據路由到認證引擎215。而且,應請求,貯藏器210將與用戶對應的註冊認證數據轉發到認證引擎215。因此,認證引擎215具有用於比較的當前認證數據和註冊認證數據這二者。
[0118]根據一個實施例,與認證引擎的通信包括安全通信,諸如,例如,SSL技術。另外,可在授信引擎110部件內提供安全性,例如,使用公鑰技術的超級加密。例如,根據一個實施例,用戶用認證引擎215的公鑰對當前認證數據進行加密。另外,貯藏器210還用認證引擎215的公鑰對註冊認證數據進行加密。以這種方式,僅認證引擎的私鑰可被用於對發送進行解密。
[0119]如圖2所示,授信引擎110還包括密碼引擎220。根據一個實施例,密碼引擎包括密碼處理模塊,所述密碼處理模塊被構造為有利地提供常規密碼功能,例如,公鑰基礎設施(PKI)功能。例如,密碼引擎220可以有利地對密碼系統100的用戶頒發公鑰和私鑰。以這種方式,在密碼引擎220產生密碼密鑰,並將這些密碼密鑰轉發到貯藏器210,以使得至少私有密碼密鑰在授信引擎110外部不可用。根據另一個實施例,密碼引擎220使私有密碼密鑰數據隨機化,並至少分割私有密碼密鑰數據,從而僅存儲隨機化的分割數據。與註冊認證數據的分割類似,分割處理確保存儲的密鑰在密碼引擎220外部不可用。根據另一個實施例,密碼引擎的功能可與認證引擎215組合和被認證引擎215執行。
[0120]根據一個實施例,往返於密碼引擎的通信包括安全通信,例如SSL技術。另外,XML文檔可有利地被用於傳送數據和/或提出密碼功能請求。
[0121]圖2還示出具有大容量儲存器225的授信引擎110。如在前述中所提及的,事項引擎205保存與審查跟蹤對應的數據,並將這樣的數據存儲在大容量儲存器225中。類似地,根據本發明的一個實施例,貯藏器210保存與審查跟蹤對應的數據,並將這樣的數據存儲在大容量存儲設備225中。由於審查跟蹤數據包括由貯藏器210接收的請求及其響應的記錄,所以貯藏器審查跟蹤數據與事項引擎205的審查跟蹤數據類似。另外,大容量儲存器225可被用於存儲其中包含用戶的公鑰的數字證書。
[0122]雖然參照授信引擎110的優選實施例和可替換實施例公開了授信引擎110,但是本發明並非意圖受限於此。相反,技術人員將在本文的公開內容中認識到授信引擎110的大量可替換方案。例如,授信引擎110可有利地僅執行認證,或者可替換地,僅執行密碼功能中的一些或全部,諸如數據加密和解密。根據這樣的實施例,可以有利地移除認證引擎215和密碼引擎220之一,從而為授信引擎110創建更簡單的設計。另外,密碼引擎220還可與證書管理中心通信,以使得證書管理中心被嵌入在授信引擎110內。根據又一個實施例,授信引擎110可有利地執行認證和一個或多個密碼功能,例如,數字籤名。
[0123]圖3示出根據本發明的實施例的方面的圖2的事項引擎205的框圖。根據本實施例,事項引擎205包括具有處理線程和監聽線程的作業系統305。可以有利的是,作業系統305與在常規高容量伺服器中找到的作業系統類似,所述高容量伺服器例如可從Apache購買的Web伺服器。監聽線程對於輸入數據流監視來自通信鏈路125、認證引擎215和密碼引擎220之一的輸入通信。處理線程識別輸入數據流的特定數據結構,例如,前述數據結構,從而將輸入數據路由到通信鏈路115、貯藏器210、認證引擎215、密碼引擎220或大容量儲存器225之一。如圖3所示,可以有利的是,通過例如SSL技術安全保護輸入數據和輸出數據。
[0124]圖4示出根據本發明的實施例的方面的圖2的貯藏器210的框圖。根據本實施例,貯藏器210包括一個或多個輕量級目錄訪問協議(LDAP)伺服器。LDAP目錄伺服器可從多個製造商購買,所述製造商諸如Netscape、ISO和其它製造商。圖4還顯示目錄伺服器優選地存儲與密碼密鑰對應的數據405和與註冊認證數據對應的數據410。根據一個實施例,貯藏器210包括按照唯一用戶ID建立認證數據和密碼密鑰數據的索引的單個邏輯存儲器結構。單個邏輯存儲器結構優選地包括確保存儲在其中的數據中的高信任度或安全性的機制。例如,貯藏器210的物理位置可有利地包括大量常規安全性措施,例如有限員工存取、現代監控系統等。除了物理安全性之外,或者代替物理安全性,計算機系統或伺服器可有利地包括保護存儲數據的軟體解決方案。例如,貯藏器210可有利地創建並存儲與採取的動作的審查跟蹤對應的數據415。另外,可以有利的是,用與常規SSL技術結合的公鑰加密對輸入通信和輸出通信進行加密。
[0125]根據另一個實施例,貯藏器210可包括如參照圖7進一步公開的獨立地物理分離的數據存儲設施。
[0126]圖5示出根據本發明的實施例的方面的圖2的認證引擎215的框圖。與圖3的事項引擎205類似,認證引擎215包括作業系統505,作業系統505至少具有常規Web伺服器的修改版本的監聽線程和處理線程,所述常規Web伺服器例如可從Apache購買的Web伺服器。如圖5所示,認證引擎215包括對至少一個私鑰510的訪問。私鑰510可有利地被用於例如對來自事項引擎205或貯藏器210的、已用認證引擎215的對應公鑰進行加密的數據進行解密。
[0127]圖5還示出認證引擎215,認證引擎215包括比較器515、數據分割模塊520和數據組裝模塊525。根據本發明的優選實施例,比較器515包括能夠比較與前述生物辨識認證數據相關的潛在複雜的模式的技術。所述技術可包括用於模式比較的硬體、軟體或者組合解決方案,例如,表示指紋模式或語音模式的那些模式比較。另外,根據一個實施例,為了給予比較結果,認證引擎215的比較器515可有利地比較常規的文檔散列。根據本發明的一個實施例,比較器515包括用於比較的啟發法530的應用程式。啟發法530可有利地尋址認證嘗試周圍的狀況,諸如,例如,當日時間、IP位址或子網掩碼、採購配置文件、電子郵件地址、處理器序號或ID等。
[0128]而且,生物辨識數據比較的實質可導致從當前生物辨識數據與註冊數據的匹配產生不同的置信度。例如,與僅可返回肯定或否定匹配的傳統密碼不同,指紋可被確定為部分匹配,比如,90%匹配、75%匹配或10%匹配,而不是簡單地確定為正確或不正確。諸如聲紋分析或臉識別的其它生物辨識鑑別器可共享概率認證的這個屬性,而不是絕對認證。
[0129]當用這樣的概率認證工作時,或者在認證被認為不是那麼絕對可靠的其它情況下,期望應用啟發法530來確定所提供的認證中的置信水平是否高得足以認證正在進行的事項。
[0130]有時將是這樣的情況,即,討論中的事項是價值相對低的事項,在這種情況下,可以接受的是被認證為較低的置信水平。這可包括具有與其相關聯的低美元價值(比如,$10購入價格)的事項或者具有低危險性(比如,僅準許網站會員進入)的事項。
[0131]相反,為了認證其它事項,期望在使得可繼續進行事項之前,在認證中要求高置信度。這樣的事項可包括高美元價值的事項(比如,籤署數百萬美元供應合約)或者在不正確認證發生(比如,通過遠程登錄到政府計算機上)時具有高危險性的事項。
[0132]可如以下將描述的那樣使用與置信水平和事項價值組合的啟發法530的使用,以允許比較器可提供動態的情景(context)敏感的認證系統。
[0133]根據本發明的另一個實施例,比較器515可有利地跟蹤對於特定事項的認證嘗試。例如,當事項失敗時,授信引擎110可請求用戶重新鍵入他或她的當前認證數據。認證引擎215的比較器515可有利地利用嘗試限制器535來限制認證嘗試的次數,從而禁止假冒用戶認證數據的蠻力嘗試。根據一個實施例,嘗試限制器535包括監視對事項重複認證嘗試的軟體模塊,並且例如,將對於給定事項的認證嘗試限制為三次。因此,嘗試限制器535將限制假冒個人認證數據的自動嘗試限制為例如僅三次「猜測」。當三次失敗時,嘗試限制器535可有利地拒絕另外的認證嘗試。無論正在發送的當前認證數據如何,這樣的拒絕都可有利地通過例如比較器515返回否定結果來實現。另一方面,事項引擎205可有利地阻擋與以前三次嘗試失敗的事項相關的任意另外的認證嘗試。
[0134]認證引擎215還包括數據分割模塊520和數據組裝模塊525。數據分割模塊520有利地包括下述軟體、硬體或者組合模塊,該模塊具有對各種數據進行數學運算以使數據基本上隨機化並將該數據分割為部分的能力。根據一個實施例,原始數據不可從單個部分重建。數據組裝模塊525有利地包括下述軟體、硬體或者組合模塊,該模塊被構造為對前述基本上隨機化的部分進行數學運算,以使得其組合提供原始的破譯數據。根據一個實施例,認證引擎215利用數據分割模塊520使註冊認證數據隨機化,並將該數據分割為部分,並利用數據組裝模塊525將這些部分重新組裝為可用的註冊認證數據。
[0135]圖6示出根據本發明的一個實施例的方面的圖2的授信引擎200的密碼引擎220的框圖。與圖3的事項引擎205類似,密碼引擎220包括作業系統605,作業系統605至少具有常規Web伺服器的修改版本的監聽線程和處理線程,所述常規Web伺服器例如可從Apache購買的Web伺服器。如圖6所示,密碼引擎220包括與圖5的數據分割模塊和數據組裝模塊類似工作的數據分割模塊610和數據組裝模塊620。然而,根據一個實施例,數據分割模塊610和數據組裝模塊620處理密碼密鑰數據,而不是前述註冊認證數據。但是,技術人員將從本文的公開內容認識到數據分割模塊910和數據分割模塊620可與認證引擎215的數據分割模塊和數據組裝模塊組合。
[0136]密碼引擎220還包括密碼處理模塊625,密碼處理模塊625被構造為執行大量密碼功能中的一種、一些或全部。根據一個實施例,密碼處理模塊625可包括軟體模塊或程序、硬體或者這二者。根據另一個實施例,密碼處理模塊625可執行數據比較、數據解析、數據分割、數據分離、數據散列、數據加密或解密、數字籤名驗證或創建、數字證書產生、存儲或請求、密碼密鑰產生等。而且,技術人員將從本文的公開內容認識到密碼處理模塊825可有利地包括公鑰基礎設施,諸如完美隱私(PGP)、基於RSA的公鑰系統或者大量可替換的密鑰管理系統。另外,密碼處理模塊625可執行公鑰加密、對稱密鑰加密或者這二者。除了前述之外,密碼處理模塊625可包括用於實現無縫的、透明的互操作功能的一個或多個電腦程式或模塊、硬體或者這二者。
[0137]技術人員還將從本文的公開內容認識到密碼功能可包括大量或者各種大體上與密碼密鑰管理系統相關的功能。
[0138]圖7示出根據本發明的實施例的方面的貯藏系統700的簡化框圖。如圖7所示,貯藏系統700有利地包括多個數據存儲設施,例如,數據存儲設施Dl、D2、D3和D4。然而,本領域的普通技術人員將易於理解的是,貯藏系統可僅具有一個數據存儲設施。根據本發明的一個實施例,數據存儲設施Dl至D4中的每個可有利地包括參照圖4的貯藏器210公開的元件中的一些或全部。與貯藏器210類似,數據存儲設施Dl至D4優選地通過常規SSL與事項引擎205、認證引擎215和密碼引擎220進行通信。通信鏈路傳送例如XML文檔。來自事項引擎205的通信可以有利地包括對數據的請求,其中,有利的是,將所述請求廣播到每個存儲設施Dl至D4的IP位址。另一方面,事項引擎205可基於大量標準將請求廣播到特定數據存儲設施,所述標準例如響應時間、伺服器負荷、維修計劃等。
[0139]響應於來自事項引擎205的對數據的請求,貯藏系統700有利地將存儲的數據轉發到認證引擎215和密碼引擎220。各個數據組裝模塊接收轉發的數據,並將該數據組裝為可用格式。另一方面,從認證引擎215和密碼引擎220到數據存儲設施Dl至D4的通信可包括存儲的敏感數據的發送。例如,根據一個實施例,認證引擎215和密碼引擎220可有利地利用它們各自的數據分割模塊來將敏感數據劃分為不可破譯的部分,然後將敏感數據的一個或多個不可破譯的部分發送到特定數據存儲設施。
[0140]根據一個實施例,每個數據存儲設施Dl至D4包括分離和獨立的存儲系統,例如,目錄伺服器。根據本發明的另一個實施例,貯藏伺服器700包括多個地理上分離的獨立數據存儲系統。通過將敏感數據分布到完全分開的獨立存儲設施Dl至D4,貯藏系統700提供冗餘度連同增加的安全性措施,可以有利的是,獨立存儲設施Dl至D4中的一些或者全部在地理上分離。例如,根據一個實施例,破譯和重新組裝敏感數據僅需要來自多個數據存儲設施Dl至D4中的兩個的數據。因此,四個數據存儲設施Dl至D4中至多兩個數據存儲設施可以由於維修、系統故障、電力故障等不工作,而不影響授信引擎110的功能。另外,由於根據一個實施例,存儲在每個數據存儲設施中的數據是隨機化的並且不可破譯的,所以任意單個數據存儲設施的損壞不一定損壞敏感數據。而且,在具有地理分離的數據存儲設施的實施例中,多個地理上遙遠的設施的損壞變得更加困難。事實上,即使破壞員工破壞所需的多個獨立的地理上遙遠的數據存儲設施也將受到極大的挑戰。
[0141]雖然參照貯藏系統700的優選實施例和可替換實施例公開了貯藏系統700,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到貯藏系統700的大量可替換方案。例如,貯藏系統700可包括一個、兩個或者更多個數據存儲設施。另外,可對敏感數據進行數學運算,以使得需要來自兩個或更多個數據存儲設施的部分來重新組裝和破譯敏感數據。
[0142]如在前述中所提及的,認證引擎215和密碼引擎220每個分別包括數據分割模塊520和610,數據分割模塊520和610分別用於分割任意類型或形式的敏感數據,例如,文本、音頻、視頻、認證數據和密碼密鑰數據。圖8示出根據本發明的實施例的方面的由數據分割模塊執行的數據分割處理800的流程圖。如圖8所示,當認證引擎215或密碼引擎220的數據分割模塊接收到敏感數據「S」時,數據分割處理800從步驟805開始。優選地,在步驟810,數據分割模塊然後產生基本上隨機的數、值或串或者比特組「A」。例如,可用可供本領域的普通技術人員用於產生適合用在密碼應用中的高質量隨機數的大量不同的常規技術來產生隨機數A。另外,根據一個實施例,隨機數A包括比特長度,所述比特長度可以是任意合適的長度,諸如短於、長於或等於敏感數據S的比特長度。
[0143]另外,在步驟820中,數據分割處理800產生另一個統計上隨機的數「C」。根據優選實施例,可以有利的是,並行產生統計上隨機的數A和C。數據分割模塊然後將數A和C與敏感數據S組合,以使得產生新的數「B」和「D」。例如,數B可包括A XOR S的二進位組合,數D可包括C XOR S的二進位組合。XOR函數或者「異或」函數是本領域的普通技術人員公知的。前述組合優選地分別在步驟825和830中發生,並且根據一個實施例,前述組合還並行發生。數據分割處理800然後繼續進行到步驟835,在步驟835中,對隨機數A和C及數B和D進行配對,以使得沒有一個配對獨自包含識別和破譯原始敏感數據S的充要數據。例如,可如下配對數-M、AD、BC和BD。根據一個實施例,將前述配對中的每個分布到圖7的貯藏器Dl至D4之一。根據另一個實施例,將前述配對中的每個隨機地分布到貯藏器Dl至D4之一。例如,在第一數據分割處理800期間,可通過例如隨機選擇D2的IP位址來將配對AC發送到貯藏器D2。然後,在第二數據分割處理800期間,可通過例如隨機選擇D4的IP位址來將配對AC發送到貯藏器D4。另外,可將配對全部存儲在一個貯藏器上,並可將這些配對存儲在所述貯藏器上的分離的位置中。
[0144]基於前述,數據分割處理800有利地將敏感數據的部分放置在四個數據存儲設施D1至D4中的每個中,以使得沒有單個數據存儲設施Dl至D4包括重建原始敏感數據S的足夠加密數據。如在前述中所提及的,這樣的將數據隨機化為各個不可用的加密部分提高了安全性,並且即使數據存儲設施Dl至D4之一受損,也提供數據中的保持信任。
[0145]雖然參照數據分割處理800的優選實施例公開了數據分割處理800,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到數據分割處理800的大量可替換方案。例如,數據分割處理可有利地將數據分割為兩個數,例如,隨機數A和數B,並通過兩個數據存儲設施隨機地分布A和B。而且,數據分割處理800可有利地通過產生另外的隨機數來在大量數據存儲設施之間分割數據。數據可被分割為任意期望的、選擇的、預定的或者隨機分配的大小單位,包括,但不限於,一個比特、多個比特、字節、千字節、兆字節或更大或者多種大小的任意組合或序列。另外,改變由分割處理產生的數據單元的大小可使得數據更難以恢復到可用形式,從而提高敏感數據的安全性。本領域的普通技術人員將易於明白的是,分割的數據單元大小可以是各種數據單元大小或者大小模式或者大小組合。例如,數據單元大小可被選擇或者預定為全部相同大小、固定的不同大小集合、大小組合或者隨機產生的大小。類似地,可根據固定的或預定的數據單元大小、數據單元大小的模式或組合或者每個份額的隨機產生的一個數據單元大小或多個數據單元大小來將數據單元分布到一個或多個份額中。
[0146]如在前述中所提及的,為了重建敏感數據S,需要對數據部分進行去隨機和重新組織。該處理可有利地分別發生在認證引擎215和密碼引擎220的數據組裝模塊525和620中。數據組裝模塊(例如,數據組裝模塊525)從數據存儲設施Dl至D4接收數據部分,並將該數據重新組裝為可用形式。例如,根據在其中數據分割模塊520利用圖8的數據分割處理800的一個實施例,數據組裝模塊525使用來自數據存儲設施Dl至D4中的至少兩個的數據部分來重建敏感數據S。例如,分布配對AC、AD、BC和BD,以使得任意兩個提供A和B或者C和D之一。注意到,S = A XOR B或者S = C XOR D指示當數據組裝模塊接收到A和B或者C和D之一時,數據組裝模塊525可有利地重新組裝敏感數據S。因此,當例如數據組裝模塊525至少從數據存儲設施Dl至D4中的第一兩個接收到數據部分以對授信引擎110的組裝請求作出響應時,數據組裝模塊525可組裝敏感數據S。
[0147]基於以上數據分割和組裝處理,敏感數據S僅在授信引擎110的有限區域中以可用形式存在。例如,當敏感數據S包括註冊認證數據時,可用的非隨機化的註冊認證數據僅可在認證引擎215中使用。同樣,當敏感數據S包括私有密碼密鑰數據時,可用的非隨機化的私有密碼密鑰數據僅可在密碼引擎220中使用。
[0148]雖然參照數據分割和組裝處理的優選實施例公開了數據分割和組裝處理,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到分割和重新組裝敏感數據S的大量可替換方案。例如,公鑰加密可被用於進一步安全保護數據存儲設施Dl至D4處的數據。另外,本領域的普通技術人員將易於明白的是,本文所述的數據分割模塊也是本發明的單獨且獨特的實施例,該實施例可被合併到其中、與其組合、或以其它方式成為其中一部分:任意原已存在的計算機系統、軟體套件、資料庫或者其組合或者本發明的其它實施例,所述其它實施例諸如本文公開和描述的授信引擎、認證引擎和事項引擎。
[0149]圖9A示出根據本發明的實施例的方面的註冊處理900的數據流。如圖9A所示,當用戶期望向密碼系統100的授信引擎110註冊時,註冊處理900從步驟905開始。根據本實施例,用戶系統105有利地包括詢問用戶鍵入註冊數據的諸如基於Java的客戶端小應用程式,所述註冊數據諸如人口統計數據和註冊認證數據。根據一個實施例,註冊認證數據包括用戶ID、密碼、生物辨識等。根據一個實施例,在詢問處理期間,客戶端小應用程式優選地與授信引擎110進行通信,以確保所選擇的用戶ID是唯一的。當用戶ID不唯一時,授信引擎110可有利地建議一個唯一用戶ID。客戶端小應用程式收集註冊數據,並例如通過XML文檔將註冊數據發送到註冊引擎110,具體地,發送到事項引擎205。根據一個實施例,用認證引擎215的公鑰對發送進行編碼。
[0150]根據一個實施例,用戶在註冊處理900的步驟905期間執行一次註冊。例如,用戶將他或她自己註冊為特定人,諸如Joe User。當Joe User期望註冊為Joe User, MegaCorp.的CEO時,根據本實施例,Joe User第二次進行註冊,接收第二個唯一用戶ID,授信引擎110不關聯兩個身份。根據本發明的另一個實施例,註冊處理900為單個用戶ID提供多個用戶身份。因此,在以上示例中,授信引擎110將有利地關聯Joe User的兩個身份。如技術人員將從本文的公開內容所理解的,用戶可具有許多身份,例如,Joe User—家之主、Joe User公益基金成員等。即使用戶可具有多個身份,根據本實施例,授信引擎110也優選地僅存儲一組註冊數據。而且,有利的是,用戶可在需要身份時添加、編輯/更新或刪除身份。
[0151]雖然參照註冊處理900的優選實施例公開了註冊處理900,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到收集註冊數據(具體地,註冊認證數據)的大量可替換方案。例如,小應用程式可以是基於公共對象模型(COM)的小應用程式坐寸ο
[0152]另一方面,註冊處理可包括分級註冊。例如,在最低級註冊,用戶可通過通信鏈路125進行註冊,而不產生關於他或她的身份的文檔。根據級別提高的註冊,用戶使用可信第三方進行註冊,所述可信第三方諸如數字公證人。例如,用戶可親自當可信第三方的面,出示諸如出生證、駕駛執照、軍官證等的憑證,並且可信第三方可有利地包括例如他們在註冊提交時的數字籤名。可信第三方可包括實際公證人、政府機構、招收僱員的大型公司的人力資源負責人等,所述政府機構諸如郵局或機動車輛部門。技術人員將從本文的公開內容理解的是,大量不同級別的註冊可在註冊處理900期間發生。
[0153]在接收到註冊認證數據之後,在步驟915,事項引擎205使用常規全SSL技術將註冊認證數據轉發到認證引擎215。在步驟920中,認證引擎215使用認證引擎215的私鑰對註冊認證數據進行解密。另外,認證引擎215利用數據分割模塊對註冊認證數據進行數學運算,以將數據分割為至少兩個獨立不可破譯的隨機數。如在前述中所提及的,至少兩個數可包括統計隨機數和二進位XORed數。在步驟925中,認證引擎215將隨機數的每個部分轉發到數據存儲設施Dl至D4之一。如在前述中所提及的,認證引擎215還可有利地使哪些部分被傳送到哪些貯藏器隨機化。
[0154]通常在註冊處理器900期間,用戶還將期望使數字證書被頒發,以使得他或她可從密碼系統100外部的其它設備接收到加密文檔。如在前述中所提及的,證書管理中心115通常根據幾種常規標準中的一種或多種頒發數字證書。一般來講,數字證書包括用戶或系統的公鑰,公鑰是每個人都知道的。
[0155]無論用戶是在註冊時請求數字證書還是在另一個時間請求數字證書,都通過授信引擎110將請求傳送到認證引擎215。根據一個實施例,請求包括具有例如正確用戶名的XML文檔。根據步驟935,認證引擎215將請求傳送到密碼引擎220,所述請求指示密碼引擎220產生密碼密鑰或密鑰對。
[0156]應請求,在步驟935,密碼引擎220產生至少一個密碼密鑰。根據一個實施例,密碼處理模塊625產生密鑰對,在密鑰對中,一個密鑰用作私鑰,一個密鑰用作公鑰。密碼引擎220存儲密鑰,根據一個實施例,存儲公鑰的副本。在步驟945中,密碼引擎220將對數字證書的請求發送到事項引擎205。根據一個實施例,請求有利地包括嵌入在例如XML文檔中的標準化請求,諸如PKCS10。對數字證書的請求可有利地對應於一個或多個證書管理中心和證書管理中心要求的一種或多種標準格式。
[0157]在步驟950中,事項引擎205將該請求轉發到證書管理中心115,認證管理中心115在步驟955中返回數字證書。返回數字證書可有利地為諸如PKCS7的標準化格式或者證書管理中心115中的一個或多個的專用格式。在步驟960中,事項引擎205接收數字證書,並將副本轉發給用戶,並向授信引擎110存儲副本。授信引擎110存儲證書副本,以使得授信引擎110將不需要依賴於證書管理中心115的可用性。例如,當用戶期望發送數字證書或者第三方請求用戶的數字證書時,通常將對數字證書的請求發送到證書管理中心115。然而,如果證書管理中心115正在進行維修或者是故障或安全性損壞的受害者,則數字證書可能不可用。
[0158]在頒發密碼密鑰之後的任意時間,密碼引擎220可有利地利用上述數據分割處理800,以使得密碼密鑰被分割為獨立不可破譯的隨機數。與認證數據類似,在步驟965,密碼引擎200將隨機數傳送到數據存儲設施Dl至D4。
[0159]技術人員將從本文的公開內容認識到用戶可在註冊之後的任意時間請求數字證書。而且,系統之間的通信可有利地包括全SSL或者公鑰加密技術。而且,註冊處理可從多個證書管理中心頒發多個數字證書,所述多個證書管理中心包括授信引擎110內部或外部的一個或多個專用證書管理中心。
[0160]如步驟935至960中所公開的,本發明的一個實施例包括對最後存儲在授信引擎110中的證書的請求。由於根據一個實施例,密碼處理模塊625頒發授信引擎110所使用的密鑰,所以每個證書對應於私鑰。因此,授信引擎110可有利地通過監視用戶所擁有的或者與用戶相關聯的證書來提供互操作性。例如,當密碼引擎220接收到對密碼功能的請求時,密碼處理模塊625可調查請求用戶所擁有的證書,以確定用戶是否擁有與請求的屬性匹配的私鑰。當這樣的證書存在時,密碼處理模塊625可使用證書或者與證書相關聯的公鑰或私鑰來執行請求的功能。當這樣的證書不存在時,密碼處理模塊625可有利地、透明地執行嘗試補救缺少合適密鑰的許多動作。例如,圖9B示出互操作處理970的流程圖,根據本發明的實施例的方面,互操作處理970公開確保密碼處理模塊625使用合適密鑰執行密碼功能的前述步驟。
[0161]如圖9B所示,互操作處理970從步驟972開始,在步驟972中,密碼處理模塊925確定所期望的證書的類型。根據本發明的一個實施例,可以有利的是,在對密碼功能的請求或者由請求者提供的其它數據中指定證書類型。根據另一個實施例,可通過請求的數據格式確定證書類型。例如,密碼處理模塊925可有利地識別與特定類型對應的請求。
[0162]根據一個實施例,證書類型可包括一種或多種算法標準,例如,RSA、ELGAMAL等。另外,證書類型可包括一種或多種密鑰類型,諸如對稱密鑰、公鑰、諸如256比特密鑰的強加密密鑰、安全性較低的密鑰等。而且,證書類型可包括前述算法標準或密鑰中的一個或多個、一個或多個消息或數據格式、一個或多個數據封裝或編碼方案(諸如Base 32或Base64)的升級或替換。證書類型還可包括與一個或多個第三方密碼應用程式或接口、一個或多個通信協議或者一個或多個證書標準或協議的兼容性。技術人員將從本文的公開內容認識到其它差異可存在於證書類型,並且到這些差異的轉變和從這些差異的轉變可如本文公開的那樣實現。
[0163]一旦密碼處理模塊625確定證書類型,互操作處理970就進行到步驟974,並確定用戶是否擁有與在步驟974中確定的類型匹配的證書。當用戶擁有匹配證書時,例如,授信引擎110通過例如其先前存儲訪問匹配證書,密碼處理模塊825知道匹配私鑰也存儲在授信引擎110中。例如,匹配私鑰可存儲在貯藏器210或貯藏系統700內。密碼處理模塊625可有利地請求從例如貯藏器210組裝的匹配私鑰,然後在步驟976中,使用匹配私鑰來執行密碼動作或功能。例如,如在前述中所提及的,密碼處理模塊625可有利地執行散列法、散列比較、數據加密或解密、數字籤名驗證或創建等。
[0164]當用戶不擁有匹配證書時,互操作處理970繼續進行到步驟978,在步驟978中,密碼處理模塊625確定用戶是否擁有交叉認證的證書。根據一個實施例,當第一證書管理中心確定信任來自第二證書管理中心的證書時,證書管理中心之間的交叉認證發生。換句話講,第一證書管理中心確定來自第二證書管理中心的證書滿足某些質量標準,並因此,可被「證明」為與第一證書管理中心自己的證書等同。當證書管理中心頒發例如具有信任級別(水平)的證書時,交叉認證變得更複雜。例如,第一證書管理中心通常可基於註冊處理中的可靠性程度為特定證書提供三個信任級別,而第二證書管理中心可提供七個信任級另O。交叉認證可有利地跟蹤來自第二證書管理中心的哪些級別和哪些證書可代替來自第一證書管理中心的哪些級別和哪些證書。當在兩個證書管理中心之間正式地公共地、進行前述交叉認證時,證書和級別的彼此映射通常被稱為「鏈鎖」。
[0165]根據本發明的另一個實施例,密碼處理模塊625可有利地在由證書管理中心達成一致的那些外部發展交叉認證。例如,密碼處理模塊625可訪問第一證書管理中心的證書操作聲明(CPS)或者其它發布的政策聲明,並通過使用例如特定信任水平所要求的認證令牌來將第一證書管理中心的證書與另一個證書管理中心的那些證書匹配。
[0166]當在步驟978中密碼處理模塊625確定用戶擁有交叉認證的證書時,互操作處理970進行到步驟976,並使用交叉認證的公鑰、私鑰或者這二者執行密碼動作或功能。可替換地,當密碼處理模塊625確定用戶不擁有交叉認證的證書時,互操作處理970繼續進行到步驟980,在步驟980中,密碼處理模塊625選擇頒發請求的證書類型或者對其進行交叉認證的證書的證書管理中心。在步驟982中,密碼處理模塊625確定在前述中論述的用戶註冊認證數據是否滿足所選擇的證書管理中心的認證要求。例如,如果用戶通過網絡例如回答人口統計問題和其它問題進行註冊,則所提供的認證數據可建立比用戶提供生物辨識數據並出現在第三方之前低的信任水平,所述第三方例如公證人。根據一個實施例,可以有利的是,在所選擇的認證管理中心的CPS中提供前述認證要求。
[0167]當用戶向授信引擎110提供滿足所選擇的證書管理中心的要求的註冊認證數據時,互操作處理970繼續進行到步驟984,在步驟984中,密碼處理模塊825從所選擇的證書管理中心獲取證書。根據一個實施例,密碼處理模塊625通過採取註冊處理900的步驟945至960獲取證書。例如,密碼處理模塊625可有利地利用密碼引擎220已經可用的密鑰對中的一個或多個中的一個或多個公鑰來向證書管理中心請求證書。根據另一個實施例,密碼處理模塊625可有利地產生一個或多個新的密鑰對,並使用與其對應的公鑰來向證書管理中心請求證書。
[0168]根據另一個實施例,授信引擎110可有利地包括能夠頒發一種或多種證書類型的一個或多個證書頒發模塊。根據本實施例,證書頒發模塊可提供前述證書。當密碼處理模塊625獲取證書時,互操作處理970繼續進行到步驟976,並使用與所獲取的證書對應的公鑰、私鑰或者這二者執行密碼動作或功能。
[0169]當用戶在步驟982中沒有為授信引擎110提供滿足所選擇的證書管理中心的要求的註冊認證數據時,密碼處理模塊625在步驟986中確定是否存在具有不同認證要求的其它證書管理中心。例如,密碼處理模塊625可尋找具有較低認證要求、但是仍頒發所選擇的證書或者其交叉認證的證書管理中心。
[0170]當前述具有較低要求的證書管理中心存在時,互操作處理970繼續進行到步驟980,並選擇該證書管理中心。可替換地,當沒有這樣的證書管理中心存在時,在步驟988中,授信引擎110可向用戶請求另外的認證令牌。例如,授信引擎110可請求包括例如生物辨識數據的新的註冊認證數據。此外,授信引擎110可請求用戶親自去可信第三方面前,並提供合適的認證憑證,例如,用駕駛執照、社會保障卡、銀行卡、出生證明、軍官證等親自到公證人面前。當授信引擎110接收到更新的認證數據時,互操作處理970繼續進行到步驟984,並獲取前述所選擇的證書。
[0171]通過前述互操作處理970,密碼處理模塊625有利地提供不同密碼系統之間的無縫的、透明的轉譯和轉換。技術人員將從本文的公開內容認識到前述互作業系統的大量優點和實現。例如,互操作處理970的前述步驟986可有利地包括以下更詳細論述的信任仲裁的方面,在所述信任仲裁中,證書管理中心可在特殊狀況下接受較低水平的交叉認證。另夕卜,互操作處理970可包括確保之間的互操作性和標準證書撤銷的利用,例如,利用證書撤銷列表(CRL)、在線證書狀態協議(OCSP)等。
[0172]圖10示出根據本發明實施例的方面的認證處理1000的數據流。根據一個實施例,認證處理1000包括從用戶收集當前認證數據,並將該數據與用戶的註冊認證數據進行比較。例如,在用戶期望與例如賣方執行事項的情況下,認證處理1000從步驟1005開始。這樣的事項可包括,例如,選擇採購選項、請求訪問賣方系統120的限制區域或設備等。在步驟1010,賣方向用戶提供事項ID和認證請求。事項ID可有利地包括192比特數量,這192比特數量具有用128比特隨機數量連接的32比特時間戳或者用32比特賣方特定常數連接的「隨機數」。這樣的事項ID唯一地識別事項,以使得仿造(copycat)事項可被授信引擎110拒絕。
[0173]認證請求可有利地包括特定事項需要什麼水平的認證。例如,賣方可指定討論中的事項所需的特定置信水平。如果不能使認證達到該置信水平,則如以下將論述的,在用戶沒有進行進一步認證以提升置信水平或者就賣方與伺服器之間的認證而言沒有變化的情況下,事項將不發生。以下更完整地論述這些問題。
[0174]根據一個實施例,可以有利的是,由賣方端小應用程式或者其它軟體程序產生事項ID和認證請求。另外,事項ID和認證數據的發送可包括使用常規SSL技術加密的一個或多個XML文檔,所述常規SSL技術例如,1/2SSL,或換句話講,賣方端認證的SSL。
[0175]在用戶系統105接收到事項ID和認證請求之後,用戶系統105從用戶收集當前認證數據,所述當前認證數據可潛在包括當前生物辨識信息。系統105在步驟1015用認證引擎215的公鑰至少對當前認證數據「B」和事項ID進行加密,並將該數據傳送到授信引擎110。發送優選地包括至少用常規1/2SSL技術加密的XML文檔。在步驟1020中,事項引擎205接收發送,優選地,識別URL或URI中的數據格式或請求,並將發送轉發到認證引擎215。
[0176]在步驟1015和1020期間,賣方系統120在步驟1025使用優選的全SSL技術將事項ID和認證請求轉發到授信引擎110。該通信還可包括賣方ID,但是還可通過事項ID的非隨機部分來傳送賣方標識。在步驟1030和1035,事項引擎205接收通信,在審查跟蹤中創建記錄,並產生對將從數據存儲設施Dl至D4組裝的用戶註冊認證數據的請求。在步驟1040,貯藏系統700將與用戶對應的註冊認證數據的部分傳送到認證引擎215。在步驟1045,認證引擎215使用它的私鑰對發送進行解密,並將註冊認證數據與由用戶提供的當前認證數據進行比較。
[0177]步驟1045的比較可有利地應用如在前述中論及的且在以下更詳細論述的啟發式情景敏感認證。例如,如果接收的生物辨識信息不完美匹配,則較低置信匹配產生。在特定實施例中,使認證的置信水平與事項的性質及用戶和賣方這二者的期望平衡。再次,以下更詳細地論述這方面。
[0178]在步驟1050,認證引擎215用步驟1045的比較結果填充認證請求。根據本發明的一個實施例,用認證處理1000的是/否或者真/偽結果填充認證請求。在步驟1055中,將填充的認證請求返回給賣方,以使賣方按照例如使得用戶可完成發起認證請求的事項而動作。根據一個實施例,將確認消息傳遞給用戶。
[0179]基於前述,認證處理1000有利地保持敏感數據安全,並產生被構造為保持敏感數據的完整性的結果 。例如,僅在認證引擎215內部組裝敏感數據。例如,註冊認證數據不可破譯,直到數據組裝模塊在認證引擎215中組裝它為止,並且當前認證數據不可破譯,直到通過常規SSL技術和認證引擎215的私鑰展開它為止。而且,發送到賣方的認證結果不包括敏感數據,用戶可能甚至不知道他或她是否生成有效的認證數據。
[0180]雖然參照認證處理1000的優選實施例和可替換實施例公開了認證處理1000,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到認證處理1000的大量可替換方案。例如,可以有利的是,賣方用幾乎任意請求應用替換,甚至用與用戶系統105 一起駐存的那些應用。例如,諸如微軟Word的客戶端應用程式可使用應用程式接口(API)或密碼API (CAPI)來請求在解鎖文檔之前進行認證。可替換地,郵件伺服器、網絡、蜂窩電話、個人或移動計算設備、工作站等都可提出進行通過認證處理1000填充的認證請求。事實上,在提供前述可信認證處理1000之後,請求應用或設備可提供對大量電子或計算機設備或系統的訪問或使用。
[0181]而且,在認證失敗的情況下,認證處理1000可利用大量可替換過程。例如,認證失敗可保持相同的事項ID,並請求用戶重新鍵入他或她的當前認證數據。如在前述中所提及的,相同事項ID的使用使得認證引擎215的比較器可監視和限制對於特定事項的認證嘗試的次數,從而創建更安全的密碼系統100。
[0182]另外,可以有利的是,利用認證處理1000來制定(發展)簡潔的一次籤入解決方案,諸如,解鎖敏感資料庫。例如,成功的或者肯定的認證可為認證用戶提供自動存取用於幾乎無限數量的系統和應用的任意數量的密碼的能力。例如,用戶認證可為用戶提供對與以下相關聯的密碼、登錄、財務憑證等的存取:多個在線賣方、區域網、各種個人計算設備、網際網路服務提供商、拍賣提供商、投資經紀等。通過利用敏感資料庫,由於用戶不再需要通過關聯記住真正大的隨機密碼,所以用戶可選擇這些密碼。相反,認證處理1000提供對這些密碼的存取。例如,用戶可選擇長度為二十幾數位的隨機字母數字串,而不是與可記憶的數據、名稱等相關聯的某個串。
[0183]根據一個實施例,可以有利的是,將與給定用戶相關聯的敏感資料庫存儲在貯藏器210的數據存儲設施中,或者對該敏感資料庫進行分割,並存儲在貯藏系統700中。根據本實施例,在肯定的用戶認證之後,授信引擎110將請求的敏感數據用於例如請求應用的合適密碼。根據另一個實施例,授信引擎110可包括用於存儲敏感資料庫的單獨系統。例如,授信引擎110可包括實現資料庫功能的獨立軟體引擎,該獨立軟體引擎象徵性地駐存在授信引擎HO的前述前端安全系統「後面」。根據本實施例,在軟體引擎從授信引擎110接收到指示肯定的用戶認證的信號之後,軟體引擎提供(供應)請求的敏感數據。
[0184]在又一個實施例中,資料庫可用第三方系統來實現。與軟體引擎實施例類似,在第三方系統從授信引擎110接收到指示肯定的用戶認證的信號之後,第三方系統可有利地提供請求的敏感數據。根據又一個實施例,資料庫可在用戶系統105上實現。用戶端軟體引擎可有利地在從授信引擎110接收到指示肯定的用戶認證的信號之後提供前述數據。
[0185]雖然參照可替換實施例公開了前述資料庫,但是技術人員將從本文的公開內容認識到其大量另外的實現。例如,特定資料庫可包括來自前述實施例中的一些或全部的方面。另外,前述資料庫中的任意一個可在不同時間利用一個或多個認證請求。例如,所述資料庫中的任意一個可以按每一個事項或多個事項、周期性地、每一個會話或多個會話、每次訪問一個或多個網頁或網站、以一個或多個其它指定間隔等要求認證。
[0186]圖11示出根據本發明的實施例的方面的籤名處理1100的數據流。如圖11所示,籤名處理1100包括與前面參照圖10所述的認證處理1000的步驟類似的步驟。根據本發明的一個實施例,籤名處理1100首先對用戶進行認證,然後執行如以下將更詳細論述的幾種數字籤名功能中的一種或多種。根據另一個實施例,籤名處理1100可有利地存儲與其相關的數據,諸如消息或文檔的散列等。可以有利的是,例如,當參與方試圖拒絕事項時,在審查或任意其它事件中使用該數據。
[0187]如圖11所示,在認證步驟期間,用戶和賣方可有利地對消息達成一致意見,所述消息例如合約。在籤名期間,籤名處理1100有利地確保由用戶籤名的合約與由賣方提供的合約相同。因此,根據一個實施例,在認證期間,賣方和用戶將他們各自的消息或合約副本的散列包括在發送到認證引擎215的數據中。通過僅利用消息或合同的散列,授信引擎110可有利地存儲數量大幅減少的數據,從而提供效率更高的、成本有效的密碼系統。另外,可以有利的是,將存儲的散列與所談及的文檔的散列進行比較,以確定所談及的文檔是否與由所述方中的任意一方籤名的文檔匹配。確定文檔是否與和事項相關的文檔相同的能力提供反對一方拒絕事項的聲稱可使用的附加證據。
[0188]在步驟1103中,認證引擎215組裝註冊認證數據,並將它與由用戶提供的當前認證數據進行比較。當認證引擎215的比較器指示註冊認證數據與當前認證數據匹配時,認證引擎215的比較器還將由賣方提供的消息的散列與由用戶提供的消息的散列進行比較。因此,認證引擎215有利地確保用戶同意的消息與賣方同意的消息相同。
[0189]在步驟1105中,認證引擎215將數字籤名請求發送到密碼引擎220。根據本發明的一個實施例,請求包括消息或合約的散列。然而,技術人員將從本文的公開內容認識到密碼引擎220可對幾乎任意類型的數據進行加密,所述數據包括,但不限於,視頻、音頻、生物辨識、形成期望數字籤名的圖像或文本。返回到步驟1105,數字籤名請求優選地包括通過常規SSL技術傳送的XML文檔。
[0190]在步驟1110中,認證引擎215將請求發送到數據存儲設施Dl至D4中的每個,以使得數據存儲設施Dl至D4中的每個發送與籤名方對應的一個密碼密鑰或多個密碼密鑰的它們各自的部分。根據另一個實施例,密碼引擎220利用前面論述的互操作處理970的步驟中的一些或全部,以使得密碼引擎220首先確定來自貯藏器210或貯藏系統700對於籤名方的請求的合適的一個密鑰或多個密鑰,並採取動作來提供合適的匹配密鑰。根據又一個實施例,認證引擎215或密碼引擎220可有利地請求與籤名方相關聯的且存儲在貯藏器210或貯藏系統700中的密鑰中的一個或多個。
[0191]根據一個實施例,籤名方包括用戶和賣方中的一個或兩個。在這樣的情況下,認證引擎215有利地請求與用戶和/或賣方對應的密碼密鑰。根據另一個實施例,籤名方包括授信引擎110。在本實施例中,授信引擎110證明認證處理1000正確地認證用戶、賣方或者這二者。因此,認證引擎215請求授信引擎110的密碼密鑰,例如,屬於密碼引擎220的密鑰,以執行數字籤名。根據另一個實施例,授信引擎110執行類似數字公證的功能。在本實施例中,除了授信引擎110之外,籤名方還包括用戶、賣方或者這二者。因此,授信引擎10提供用戶和/或賣方的數字籤名,然後用其自己的數字籤名指示用戶和/或賣方被正確地認證。在本實施例中,認證引擎215可有利地請求與用戶、賣方或者這二者對應的密碼密鑰的組裝。根據另一個實施例,認證引擎215可有利地請求與授信引擎110對應的密碼密鑰的組裝。
[0192]根據另一個實施例,授信引擎110執行類似委託書的功能。例如,授信引擎110可代表第三方對消息進行數字籤名。在這樣的情況下,認證引擎215請求與第三方相關聯的密碼密鑰。根據本實施例,籤名處理1100可有利地包括在允許類似委託書的功能之前對第三方進行認證。另外,認證處理1000可包括檢查第三方約束,例如命令什麼時候和在什麼狀況下可使用特定第三方的籤名的業務邏輯等。
[0193]基於前述,在步驟1110中,認證引擎向數據存儲設施Dl至D4請求與籤名方對應的密碼密鑰。在步驟1115中,數據存儲設施Dl至D4將與籤名方對應的密碼密鑰的它們各自的部分發送到密碼引擎220。根據一個實施例,前述發送包括SSL技術。根據另一個實施例,可以有利的是,用密碼引擎220的公鑰對前述發送進行超級加密。
[0194]在步驟1120中,密碼引擎220組裝籤名方的前述密碼密鑰,並對用這些密碼密鑰對消息進行加密,從而形成數字籤名。在籤名處理1100的步驟1125中,密碼引擎220將數字籤名發送到認證引擎215。在步驟1130中,認證引擎215將填充的認證請求與散列消息的副本和數字籤名一起發送給事項引擎205。在步驟1135中,事項引擎205將收條發送給賣方,所述收條包括事項ID、認證是否成功的指示和數字籤名。根據一個實施例,前述發送可有利地包括授信引擎110的數字籤名。例如,授信引擎110可用其私鑰對收條的散列進行加密,從而形成將附到賣方的發送的數字籤名。
[0195]根據一個實施例,事項引擎205還將確認消息發送給用戶。雖然參照籤名處理1100的優選實施例和可替換實施例公開了籤名處理1100,但是本發明並非意圖受限於此。相反,技術人員將從本文的公開內容認識到籤名處理1100的大量可替換方案。例如,賣方可用諸如電子郵件應用程式的用戶應用程式替換。例如,用戶可能希望用他或她的數字籤名對特定電子郵件進行數字籤名。在這樣的實施例中,貫穿籤名處理1100的發送可有利地僅包括消息的散列的一個副本。而且,技術人員將從本文的公開內容認識到大量客戶端應用程式可請求數字籤名。例如,客戶端應用程式可包括字處理器、電子表格、電子郵件、語音郵件、限制系統區域的進入等。
[0196]另外,技術人員將從本文的公開內容認識到籤名處理1100的步驟1105至1120可有利地利用圖9B的互操作處理970的步驟中的一些或全部,從而提供不同密碼系統之間的互操作性,所述密碼系統可能例如需要處理不同籤名類型下的數字籤名。
[0197]圖12示出根據本發明的實施例的方面的加密/解密處理1200的數據流。如圖12所示,解密處理1200通過下述方式開始,S卩,使用認證處理1000對用戶進行認證。根據一個實施例,認證處理1000將同步會話密鑰包括在認證請求中。例如,在常規PKI技術中,技術人員理解的是,使用公鑰和私鑰對數據進行加密或解密在數學上是密集的,並且可能需要大量系統資源。然而,在對稱密鑰密碼系統或者在其中消息的發送者和接收者共享用於對消息進行加密和解密的單個公用密鑰的系統中,數學運算顯著簡單得多,並且快得多。因此,在常規PKI技術中,消息的發送者將產生同步會話密鑰,並使用更簡單的、更快的對稱密鑰系統對消息進行加密。然後,發送者將用接收者的公鑰對會話密鑰進行加密。加密的會話密鑰將被附到同步加密的消息,這兩個數據被發送到接收者。接收者使用他或她的私鑰對會話密鑰進行解密,然後使用會話密鑰對消息進行解密。基於前述,更簡單的、更快的對稱密鑰系統被用於大部分加密/解密處理。因此,在解密處理1200中,解密有利地假設同步密鑰已用用戶的公鑰進行加密。因此,如在前述中所提及的,將加密的會話密鑰包括在認證請求中。
[0198]返回到解密處理1200,在步驟1205中已對用戶進行認證之後,認證引擎215將加密的會話密鑰轉發到密碼引擎220。在步驟1210中,認證引擎215將請求轉發到數據存儲設施Dl至D4中的每個,所述請求請求用戶的密碼密鑰數據。在步驟1215中,每個數據存儲設施Dl至D4將它們各自的密碼密鑰部分發送到密碼引擎220。根據一個實施例,前述發送用密碼引擎220的公鑰進行加密。
[0199]在解密處理1200的步驟1220中,密碼引擎229組裝密碼密鑰,並用該密碼密鑰對會話密鑰解密。在步驟1225中,密碼引擎將會話密鑰轉發到認證引擎215。在步驟1227中,認證引擎215填充包括解密的會話密鑰的認證請求,並將填充的認證請求發送到事項引擎205。在步驟1230中,事項引擎205將認證請求與會話密鑰一起轉發到請求應用程式或賣方。然後,根據一個實施例,請求應用程式或賣方使用會話密鑰對加密的消息進行解密。
[0200]雖然參照解密處理1200的優選實施例和可替換實施例公開了解密處理1200,但是技術人員將從本文的公開內容認識到解密處理1200的大量可替換方案。例如,解密處理1200可放棄同步密鑰加密,並依賴於全公鑰技術。在這樣的實施例中,請求應用程式可將整個消息發送到密碼引擎220,或者可利用一些類型的壓縮或可逆散列,以便將消息發送到密碼引擎220。技術人員還將從本文的公開內容認識到前述通信可有利地包括用SSL技術包裝的XML文檔。
[0201]加密/解密處理1200還提供文檔或其它數據的加密。因此,在步驟1235中,請求應用程式或賣方可有利地將對用戶的公鑰的請求發送到授信引擎I1的事項引擎205。由於請求應用程式或賣方使用用戶的公鑰來例如對將被用於對文檔或消息進行加密的會話密鑰進行加密,所以請求應用程式或賣方提出該請求。如在註冊處理900中所提及的,事項引擎205將用戶的數字證書的副本存儲在例如大容量儲存器225中。因此,在加密處理1200的步驟1240中,事項引擎205向大容量儲存器225請求用戶的數字證書。在步驟1245中,大容量儲存器225將與用戶對應的數字證書發送到事項引擎205。在步驟1250中,事項引擎205將數字證書發送到請求應用程式或賣方。根據一個實施例,加密處理1200的加密部分不包括對用戶進行認證。這是因為請求賣方僅需要用戶的公鑰,並不請求任意敏感數據。
[0202]技術人員將從本文的公開內容認識到,如果特定用戶不具有數字證書,則授信引擎110可利用註冊處理900中的一些或全部,以便為該特定用戶產生數字證書。然後,授信引擎110可發起加密/解密處理1200,從而提供合適的數字證書。另外,技術人員將從本文的公開內容認識到,加密/解密處理1200的步驟1220和1235至1250可有利地利用圖9B的互操作處理的步驟中的一些或全部,從而提供不同密碼系統之間的互操作性,所述不同密碼系統可能例如需要對加密進行處理。
[0203]圖13示出根據本發明的又一個實施例的方面的授信引擎系統1300的簡化框圖。如圖13所示,授信引擎系統1300分別包括多個獨立(distinct)的授信引擎1305、1310、1315和1320。為了幫助更徹底地理解本發明,圖13將每個授信引擎1305、1310、1315和1320示為具有事項引擎、貯藏器和認證引擎。然而,技術人員將認識到,每個事項引擎可有利地包括參照圖1-8公開的元件和通信信道中的一些、組合或全部。例如,一個實施例可有利地包括具有一個或多個事項引擎、貯藏器和密碼伺服器或者它們的任意組合的授信引擎。
[0204]根據本發明的一個實施例,授信引擎1305、1310、1315和1320均在地理上是分離的,以使得例如,授信引擎1305可駐存在第一位置中,授信引擎1310可駐存在第二位置中,授信引擎1315可駐存在第三位置中,授信引擎1320可駐存在第四位置中。前述地理分離有利地在提高整個授信引擎系統1300的安全性的同時縮短系統響應時間。
[0205]例如,當用戶登錄到密碼系統100上時,用戶可能離第一位置最近,並可能期望被認證。如參照圖10所述的,為了被認證,用戶提供當前認證數據,諸如生物辨識等,並將當前認證數據與該用戶的註冊認證數據進行比較。因此,根據一個示例,用戶有利地將當前認證數據提供給地理上最近的授信引擎1305。授信引擎1305的事項引擎1321然後將當前認證數據轉發到認證引擎1322,認證引擎1322也駐存在第一位置。根據另一個實施例,事項引擎1321將當前認證數據轉發到授信引擎1310、1315或1320的認證引擎中的一個或多個。
[0206]事項引擎1321還向例如授信引擎1305至1320中的每個的貯藏器請求註冊認證數據的組裝。根據本實施例,每個貯藏器將它的註冊認證數據部分提供給授信引擎1305的認證引擎1322。認證引擎1322然後利用來自例如第一兩個貯藏器的加密數據部分做出響應,並將註冊認證數據組裝為破譯形式。認證引擎1322將註冊認證數據與當前認證數據進行比較,並將認證結果返回給授信引擎1305的事項引擎1321。
[0207]基於以上,授信引擎系統1300利用多個地理上分離的授信引擎1305至1320中的最近一個來執行認證處理。根據本發明的一個實施例,可以有利的是,在客戶端小應用程式執行信息到最近事項引擎的路由,所述客戶端小應用程式在用戶系統105、賣方系統120或證書管理中心115中的一個或多個上執行。根據可替換實施例,可利用更複雜的決策處理來從授信引擎1305至1320選擇。例如,決策可基於給定授信引擎的可用性、可操作性、連接速度、負荷、性能、地理相鄰性或者它們的組合。
[0208]以這種方式,授信引擎系統1300在保持與地理上遙遠的數據存儲設施相關聯的安全性優點的同時縮短它的響應時間,所述數據存儲設施諸如參照圖7論述的那些數據存儲設施,在圖7中,每個數據存儲設施存儲敏感數據的隨機化部分。例如,諸如授信引擎1314的貯藏器1325處的安全性損壞不一定損壞授信引擎系統1300的敏感數據。這是因為貯藏器1325僅包含非可破譯的隨機化數據,所述數據在沒有更多的情況下完全無用。
[0209]根據另一個實施例,授信引擎系統1300可有利地包括與認證引擎類似的多個密碼引擎。密碼引擎可有利地執行密碼功能,諸如參照圖1-8公開的那些密碼功能。根據又一個實施例,授信引擎系統1300可有利地用多個密碼引擎替換多個認證引擎,從而執行密碼功能,諸如參照圖1-8公開的那些密碼功能。根據本發明的又一個實施例,授信引擎系統1300可用下述引擎替換每個多個認證引擎,所述引擎具有如前面所公開的認證引擎、密碼引擎或者這二者中的功能中的一些或全部。
[0210]雖然參照授信引擎系統1300的優選實施例和可替換實施例公開了授信引擎系統1300,但是技術人員將認識到授信引擎系統1300可包括授信引擎1305至1320的部分。例如,授信引擎系統1300可包括一個或多個事項引擎、一個或多個貯藏器、一個或多個認證引擎或者一個或多個密碼引擎或者它們的組合。
[0211]圖14示出根據本發明的又一個實施例的方面的授信引擎系統1400的簡化框圖。如圖14所示,授信引擎系統1400包括多個授信引擎1405、1410、1415和1420。根據一個實施例,授信引擎1405、1410、1415和1420均包括參照圖1_8公開的授信引擎110的元件中的一些或全部。根據本實施例,當用戶系統105、賣方系統120或證書管理中心115的客戶端小應用程式與授信引擎系統1400進行通信時,那些通信被發送到授信引擎1405至1420中的每個的IP位址。此外,授信引擎1405、1410、1415和1420中的每個的每個事項引擎與參照圖13公開的授信引擎1305的事項引擎1321類似地工作(表現)。例如,在認證處理期間,授信引擎1405、1410、1415和1420中的每個的每個事項引擎將當前認證數據發送到它們各自的認證引擎,並發送組裝存儲在授信引擎1405至1420中的每個的貯藏器中的每個中的隨機化數據的請求。圖14沒有示出這些通信的全部;因為這樣的圖示將變得過度複雜。繼續認證處理,每個貯藏器然後將它的隨機化數據部分傳送到授信引擎1405至1420中的每個的認證引擎中的每個。每個授信引擎的每個認證引擎利用它的比較器確定當前認證數據是否與由授信引擎1405至1420中的每個的貯藏器提供的註冊認證數據匹配。根據本實施例,然後將每個認證引擎的比較結果發送到其它三個授信引擎的冗餘模塊。例如,將來自授信引擎1405的認證引擎的結果發送到授信引擎1410、1415和1420的冗餘模塊。因此,授信引擎1405的冗餘模塊同樣接收到來自授信引擎1410、1415和1420的認證引擎的結果。
[0212]圖15示出圖14的冗餘模塊的框圖。冗餘模塊包括比較器,所述比較器被構造為從三個認證引擎接收認證結果,並將該結果發送到第四授信引擎的事項引擎。比較器比較來自三個認證引擎的認證結果,並且如果所述結果中的兩個一致,則比較器推斷認證結果應該與兩個同意認證引擎的認證結果匹配。然後,將該結果發送回與和三個認證引擎不相關聯的授信引擎對應的事項引擎。
[0213]基於前述,冗餘模塊根據從認證引擎接收的數據確定認證結果,所述認證引擎優選地在地理上遠離該冗餘模塊的授信引擎。通過提供這樣的冗餘功能,授信引擎系統1400確保授信引擎1405至1420之一的認證引擎的損壞不足以損壞該特定授信引擎的冗餘模塊的認證結果。技術人員將認識到授信引擎系統1400的冗餘模塊功能還可應用於授信引擎1405至1420中的每個的密碼引擎。然而,為了避免複雜,在圖14中沒有顯示這樣的密碼引擎通信。而且,技術人員將認識到用於圖15的比較器的大量可替換的認證結果衝突解決算法適合用在本發明中。
[0214]根據本發明的又一個實施例,授信引擎系統1400可有利地在密碼比較步驟期間利用冗餘模塊。例如,可以有利的是,在由一方或多方在特定事項期間提供的文檔的散列比較期間實現參照圖14和15的前述冗餘模塊公開內容中的一些或全部。
[0215]雖然就某些優選實施例和可替換實施例對前述發明進行了描述,但是本領域的普通技術人員將從本文的公開內容明白其它實施例。例如,授信引擎110可頒發短期證書,在這種情況下,在預定時間段內將私有密碼密鑰發布給用戶。例如,當前證書標準包括可被設置為在預定時間量之後過期的有效性欄位。因此,授信引擎110可將私鑰發布給用戶,在這種情況下,該私鑰將在例如24小時內有效。根據這樣的實施例,授信引擎110可有利地頒發與特定用戶相關聯的密碼密鑰對,然後發布新的密碼密鑰對的私鑰。那麼,一旦私有密碼密鑰被發布,由於它不再可被授信引擎110安全保護,所以授信引擎110就立即使這樣的私鑰的任意內部有效使用過期。
[0216]另外,技術人員將認識到,密碼系統100或授信引擎110可包括識別任意類型設備的能力,所述設備例如,但不限於,膝上型電腦、蜂窩電話、網絡、生物辨識設備等。根據一個實施例,這樣的識別可來自於對於特定服務的請求中所提供的數據,所述請求例如對導致存取或使用的認證的請求、對密碼功能的請求等。根據一個實施例,前述請求可包括唯一設備標識符,例如,處理器ID。可替換地,請求可包括特定可識別數據格式的數據。例如,行動電話和衛星電話通常不包括對於全X509.v3重加密證書的處理能力,並因此,不請求它們。根據本實施例,授信引擎110可識別所呈現的數據格式的類型,並僅以同樣的方法作出響應。
[0217]在上述系統的另外的方面中,可使用如以下將描述的各種技術提供情景敏感認證。例如如圖16所示的情景敏感認證提供不僅評估由用戶在嘗試認證他自己時發送的實際數據、而且還評估該數據的產生和遞送周圍的狀況的可能性。如以下將描述的,這樣的技術也可支持用戶與授信引擎110之間或者賣方與授信引擎110之間的事項特定信任仲裁。
[0218]如上所述,認證是證明用戶是他聲稱他是的那個人的處理。總地來講,認證要求向認證管理中心證實一些事實。本發明的授信引擎110表示用戶必須向其認證他自己的管理中心。用戶必須通過以下方式中的任意一種向授信引擎110證實他是他聲稱他是的那個人:知道僅該用戶應該知道的某事(基於知識的認證)、具有僅該用戶應該具有的某物(基於令牌的認證)或者僅該用戶應該是的某人(基於生物辨識的認證)。
[0219]基於知識的認證的示例包括,但不限於,密碼、PIN號或者鎖定組合。基於令牌的認證的示例包括,但不限於,房間鑰匙、物理信用卡、駕駛執照或者特定的電話號碼。基於生物辨識的認證的示例包括,但不限於,指紋、手寫分析、臉掃描、手掃描、耳掃描、虹膜掃描、血管模式、DNA、語音分析或視網膜掃描。
[0220]每種類型的認證具有特定的優點和缺點,並且每個提供不同水平的安全性。例如,創建與其他人的指紋匹配的偽造指紋通常比竊聽某人的密碼並重複它更困難。每種類型的認證還要求認證管理中心知道不同類型的數據,以便使用該形式的認證對某人進行驗證。
[0221]如本文所使用的,「認證」將廣義地表示驗證某人的身份是他聲稱他是的那個人的整個處理。「認證技術」將表示基於特定條知識、物理令牌或者生物辨識讀取的特定類型的認證。「認證數據」表示被發送到認證管理中心或者以其它方式向認證管理中心證實以便建立身份的信息。「註冊數據」將表示一開始提交給認證管理中心以便建立用於與認證數據進行比較的基線的數據。「認證實例」將表示與嘗試通過認證技術進行認證相關聯的數據。
[0222]以上參照圖10對認證用戶的處理中所涉及的內部協議和通信進行了描述。該處理的下述部分在顯示為圖10的步驟1045的比較步驟內發生,在所述部分內進行情景敏感認證。該步驟在認證引擎215內發生,並包括:組裝從貯藏器210檢索的註冊數據410,並將由用戶提供的認證數據與它進行比較。在圖16中顯示了該處理的一種特定實施例,並在以下對該特定實施例進行描述。
[0223]在圖16的步驟1600中,認證引擎215接收由用戶提供的當前認證數據和從貯藏器210檢索的註冊數據。這兩組數據都可包含與單獨的認證技術相關的數據。在步驟1605中,認證引擎215分離與每個單個認證實例相關聯的認證數據。這是必要的,以使得將認證數據與用戶的註冊數據的合適子集進行比較(比如,應該將指紋認證數據與指紋註冊數據,而不是密碼註冊數據進行比較)。
[0224]總地來講,根據用戶可使用哪些認證技術,認證用戶涉及一個或多個獨特認證實例。這些方法受由用戶在他的註冊處理期間提供的註冊數據的限制(如果用戶在註冊時沒有提供視網膜掃描,則他將不能使用視網膜掃描對他自己進行認證),還受用戶當前可使用的手段的限制(比如,如果用戶在他的當前位置沒有指紋讀取器,則指紋認證將不實用)。在一些情況下,單個認證實例可足以認證用戶;然而,在某些情況下,對於特定事項,為了更有信心地認證用戶,可使用多個認證實例的組合。
[0225]每個認證實例包括與特定認證技術(比如,指紋、密碼、智慧卡等)相關的數據和圍繞用於該特定技術的數據的捕獲和遞送的狀況。例如,嘗試通過密碼進行認證的特定實例將不僅產生與密碼本身相關的數據,而且還產生與該密碼嘗試相關的狀況數據,所述狀況數據通稱為「元數據」。該狀況數據包括諸如以下的信息:特定認證實例發生的時間、從其遞送認證信息的網絡地址以及本領域技術人員已知的關於認證數據的起源可確定的任意其它信息(連接類型、處理器序號等)。
[0226]在許多情況下,將可僅獲得少量狀況元數據。例如,如果用戶位於使用代理或者屏蔽始發計算機地址的網絡地址轉譯或另一種技術的網絡上,則僅可確定代理或路由器的地址。類似地,在許多情況下,由於所使用的硬體或作業系統的限制、系統操作者禁用這樣的特徵或者用戶系統與授信引擎110之間的連接的其它限制,而導致諸如處理器序號的信息將不可獲得。
[0227]如圖16所示,一旦在步驟1605中提取並分離認證數據內表示的各個認證實例,認證引擎215就對每個實例評估它在指示用戶是他聲稱是的那個人的可靠性。單個認證實例的可靠性將通常基於幾個因素來確定。這些因素可被分組為:與在步驟1610中評估的與認證技術相關聯的可靠性相關的因素;和與在步驟1815中評估的與所提供的特定認證數據的可靠性相關的因素。第一分組包括,但不限於,所使用的認證技術的固有可靠性和與該方法一起使用的註冊數據的可靠性。第二分組包括,但不限於,註冊數據與提供給認證實例的數據之間的匹配程度和與該認證實例相關聯的元數據。這些因素中的每個均可與其它因素獨立地改變。
[0228]認證技術的固有可靠性基於冒名頂替者提供其他人的正確數據有多難以及認證技術的總體錯誤率。對於基於密碼和知識的認證方法,由於沒有任何措施防止某人對另一個人透露他們的密碼和該第二個人使用該密碼,所以該可靠性通常相當低。由於知識可相當容易地在人之間傳送,所以即使更複雜的基於知識的系統也可僅具有中等的可靠性。由於不能保證適當的人擁有正確的令牌,所以基於令牌的認證(諸如具有正確的智慧卡或者使用特定終端執行認證)類似於在單獨使用時具有低可靠性。
[0229]然而,由於通常難以以方便的方式(甚至是有意地)為其他人提供使用你的指紋的能力,所以生物辨識技術更固有地可靠。由於破壞生物辨識認證技術更困難,所以生物辨識方法的固有可靠性通常比純粹基於知識或令牌的認證技術的固有可靠性高。然而,甚至生物辨識技術也可具有產生錯誤接受或錯誤拒絕的一些時候。可通過同一生物辨識技術的不同實現的不同可靠性來反映這些事件。例如,由一個公司提供的指紋匹配系統可提供比由不同公司提供的指紋匹配系統高的可靠性,這是因為一種指紋匹配系統使用更高質量的光學器件或者更好的掃描解析度或者減少錯誤接受或錯誤拒絕發生的一些其它改進。
[0230]注意到,該可靠性可以以不同方式來表達。期望以啟發法530和認證引擎215用來計算每個認證的置信水平的算法可使用的某種度量來表達該可靠性。表達這些可靠性的一種優選模式是百分數或分數。例如,指紋必須被分配97%的固有可靠性,而密碼可能僅被分配50%的固有可靠性。本領域技術人員將認識到這些特定值僅僅是示例性的,並可在特定實現之間改變。
[0231]必須針對其評價可靠性的第二因素是註冊的可靠性。這是以上論及的「分級註冊」處理的一部分。該可靠性因素反映在初始註冊處理期間提供的識別的可靠性。例如,如果個人一開始以下述方式進行註冊,則數據將比在註冊期間通過網絡提供的、僅由數字籤名或者與個人不是真正相關聯的其它信息擔保的數據更可靠,所述方式即,他們向公證人或其它公共官方實際地出示他們身份的證據,並且在該時間記錄註冊數據,並對該註冊數據進行公證。
[0232]改變可靠性水平的其它註冊技術包括,但不限於:在授信引擎110操作者的實際辦公室進行註冊;在用戶的工作地點進行註冊;在郵局或護照辦公室進行註冊;通過授信引擎110操作者的附屬方或可信方進行註冊;不具名或匿名註冊,在不具名或匿名註冊中,尚未對特定的實際個人識別註冊的身份;以及本領域已知的這樣的其它方式。
[0233]這些因素反映授信引擎110與註冊處理期間提供的識別的源之間的信任。例如,如果在提供身份證據的初始處理期間與僱員相關聯地執行註冊,則為了在公司內的目的,該信息可被認為是極其可靠的,但是政府機構或者競爭者可能更小程度地信任該信息。因此,由這些其它組織中的每個操作的授信引擎可將不同水平的可靠性分配給該註冊。
[0234]類似地,通過網絡提交的、但是通過在先前向同一個授信引擎110進行註冊期間所提供的其它可信數據而被認證的附加數據可被認為如原始註冊數據那樣可靠,即使後面的數據通過開放網絡提交。在這樣的狀況下,隨後的公證將有效地提高與原始註冊數據相關聯的可靠性水平。以這種方式,例如,則可通過向某個註冊官方證實與註冊數據匹配的個人身份來將不具名或匿名註冊提升為完整註冊。
[0235]以上論述的可靠性因素通常是可在任意特定的認證實例之前確定的值。這是因為它們是基於註冊技術,而不是實際認證。在一個實施例中,基於這些因素產生可靠性的步驟涉及查找先前對該特定認證技術和用戶註冊數據確定的值。在本發明的有利實施例的進一步的方面中,註冊數據本身可包括這樣的可靠性。以這種方式,自動地將這些因素與從貯藏器210發送的註冊數據一起遞送到認證引擎215。
[0236]儘管這些因素通常可在任意的單個認證實例之前確定,但是它們仍對將該特定認證技術用於該用戶的每個認證實例具有影響。此外,雖然值可隨時間推移而改變(比如,如果用戶以更可靠的方式重新註冊),但是它們不取決於認證數據本身。相反,與單個特定實例的數據相關聯的可靠性因素可在每個時刻改變。為了在步驟1815中產生可靠性得分,必須對每個新的認證評估如下論述的這些因素。
[0237]認證數據的可靠性反映由用戶在特定認證實例中提供的數據與認證註冊期間提供的數據之間的匹配。這是認證數據是否與用戶聲稱他是的那個人的註冊數據匹配的基本問題。通常,當數據不匹配時,認為用戶沒有被成功認證,並且認證失敗。評估這個因素的方式可根據所使用的認證技術而改變。通過如圖5所示的認證引擎215的比較器515功能執行這樣的數據的比較。
[0238]例如,通常以二進位方式評估密碼匹配。換句話講,密碼要麼是完美匹配,要麼是失敗匹配。如果接近於正確密碼的密碼不是準確地正確,則通常不希望接受作為甚至部分匹配的密碼。因此,當評估密碼認證時,由比較器515返回的認證的可靠性通常是100% (正確)或0% (錯誤),沒有中間值的可能性。
[0239]與用於密碼的規則類似的規則通常應用於基於令牌的認證方法,諸如智慧卡。這是因為持有有著類似標識符的或者與正確的智慧卡類似的智慧卡仍然與持有任意其它不正確令牌一樣錯誤。因此,令牌也趨向於是二進位認證者:用戶要麼持有正確的令牌,要麼他不持有正確的令牌。
[0240]然而,某些類型的認證數據,諸如問卷和生物辨識,通常不是二進位認證者。例如,指紋可與參考指紋不同程度地匹配。一定程度上,這可能是由於在初始註冊期間或者在隨後的認證中捕獲的數據的質量變化導致的。(指紋可能被弄髒,或者一個人可能具有還在癒合的傷疤或者在特定手指上的燒傷。)在其它實例中,由於信息本身有些變化並且是基於模式匹配,所以數據可能不是那麼完美匹配。(由於背景噪聲或者記錄語音的環境的音響效果,或者由於人感冒,而導致語音分析可看似接近的,但是不是完全正確的。)最後,在比較大量數據的情況下,可能僅僅是這樣的情況,即,大部分數據匹配得很好,但是一些數據匹配得不好。(十問題問卷的結果可能是八個正確的個人問題答案,但是兩個錯誤答案。)對於這些原因中的任意一個原因,由比較器515將部分匹配值期望地分配給註冊數據與用於特定認證實例的數據之間的匹配。以這種方式,例如,可以說指紋是85%匹配,聲紋是65%匹配,問卷是80%匹配。
[0241]由比較器515產生的這個度量(匹配程度)是表示認證是否正確的基本問題的因素。然而,如上所述,這僅僅是在確定給定的認證實例的可靠性時可使用的因素中的一個。還指出,即使可確定某個部分程度的匹配,可能還是希望基於部分匹配提供二進位結果。在可替換操作模式下,還可基於匹配程度是否超過特定的閾值匹配水平來將部分匹配處理為二進位數,即,完美(100% )或失敗(0% )匹配。這樣的處理可被用於為否則將產生部分匹配的系統提供簡單的通過/失敗水平的匹配。
[0242]在評估給定的認證實例的可靠性時要考慮的另一個因素與提供用於該特定實例的認證數據的狀況有關。如上所述,狀況是指與特定的認證實例相關聯的元數據。這可包括,但不限於,諸如這樣的信息:認證者的網絡地址、可確定的程度;認證時間;認證數據的發送模式(電話線、蜂窩、網絡等);和認證者的系統的序號。
[0243]這些因素可被用於產生用戶通常請求的認證的類型的配置文件。然後,該信息可被用於以至少兩種方式評價可靠性。一種方式是考慮用戶是否正在以下述方式請求認證,所述方式與由該用戶提出的認證的正常配置文件一致。如果用戶通常在工作日期間(當她在工作時)從一個網絡地址提出認證請求並在晚上或周末期間(當她在家時)從不同網絡地址提出認證請求,則在工作日期間從家庭地址發生的認證不是那麼可靠,這是因為家庭地址不在正常認證配置文件裡。類似地,如果用戶通常在晚上使用指紋生物辨識進行認證,則在白天僅使用密碼發起的認證不是那麼可靠。
[0244]可使用狀況元數據來評估認證實例的可靠性的另外的方式是確定狀況提供多少確證證實認證者是他聲稱是的那個個體。例如,如果認證來自具有已知的與用戶相關聯的序號的系統,則這是用戶是他們聲稱是的那個人的優良狀況指示。相反,如果當知道用戶居住在倫敦時認證來自已知在洛杉磯的網絡地址,則這是該認證基於其狀況不是那麼可靠的指示。
[0245]還可以的是,當cookie或其它電子數據與賣方系統或者授信引擎110交互時,可將它們放置在用戶正使用的系統上。該數據被寫入到用戶系統的儲存器,並可包含可被用戶系統上的Web瀏覽器或其它軟體讀取的標識。如果該數據被允許駐存在用戶系統上會話(「持續性cookie」)之間,則可在特定用戶的認證期間將它與認證數據一起作為過去使用過該系統的進一步的證據發送。實際上,給定實例的元數據,特別是持續性cookie,本身可形成一種基於令牌的認證者。
[0246]一旦如上所述分別在步驟1610和1615中產生基於認證實例的技術和數據的合適可靠性因素,就使用它們產生用於在步驟1620中提供的認證實例的總體可靠性。這樣做的一種方式是簡單地將每個可靠性表達為百分數,然後將它們相乘。
[0247]例如,假設:從完全根據用戶的過去認證配置文件而知道是用戶的家庭計算機的網絡地址遞交認證數據(100%),正在使用的技術是指紋識別(97%),通過用戶的老闆用授信引擎110攪亂初始指紋數據(90% ),認證數據與註冊數據中的原始指紋模板之間的匹配非常好(99% )。然後可將該認證實例的總體可靠性計算為這些可靠性100^^97^^90%*99%的乘積-86.4%可靠性。
[0248]該計算的可靠性表示一個單個認證實例的可靠性。單個認證實例的總體可靠性還可使用下述技術來計算,所述技術例如通過使用下述公式來不同地處理不同的可靠性因素,在所述公式中,不同的權重被分配給每個可靠性因素。此外,本領域技術人員將認識到所使用的實際值可表示除百分數之外的值,並可使用非算術系統。一個實施例可包括下述模塊,該模塊被認證請求者用於設置每個因素的權重的模塊和建立認證實例的總體可靠性時所使用的算法。
[0249]如步驟1620所指示的,認證引擎215可使用以上技術及其變型來確定單個認證實例的可靠性。然後,在許多認證情況下可以有用的是同時提供多個認證實例。例如,在嘗試使用本發明的系統對他自己進行認證的同時,用戶可提供用戶標識、指紋認證數據、智慧卡和密碼。在這樣的情況下,將三個獨立的認證實例提供給授信引擎110進行評估。繼續進行到步驟1625,如果認證引擎215確定由用戶提供的數據包括多於一個認證實例,則進而如步驟1630中所示那樣選擇每個實例,並如以上在步驟1610、1615和1620中所述那樣對每個實例進行評估。
[0250]指出,所論述的可靠性因素中的許多在這些實例之間可不同。例如,與認證數據和註冊數據之間提供的匹配程度一樣,這些技術的固有可靠性可能不同。此外,用戶可在不同時間和不同狀況下為這些技術中的每種提供註冊數據,從而也為這些實例中的每個提供不同的註冊可靠性。最後,即使提交用於這些實例中的每個的數據的狀況相同,這樣的技術的使用也均可不同地適應用戶的配置文件,所以可被分配不同的狀況可靠性。(例如,用戶通常可使用他們的密碼和指紋,而不是他們的智慧卡。)
[0251 ] 結果,這些認證實例中的每個的最終可靠性可以彼此不同。然而,通過一起使用多個實例,用於認證的總體置信水平將趨向於提高。
[0252]一旦認證引擎已對認證數據中所提供的全部認證實例執行步驟1610至1620,就在步驟1635中使用每個實例的可靠性來對總體認證置信水平進行評估。將各個認證實例可靠性組合為認證置信水平的這個處理可用與所產生的各個可靠性相關的各種方法來建模,並且還可解決這些認證技術中的一些之間的特定交互。(例如,多個基於知識的系統(諸如密碼)可產生比單個密碼(甚至相當弱的生物辨識(諸如基本語音分析))低的置信度。)
[0253]認證引擎215可組合多個並發認證實例的可靠性來產生最終置信水平的一種方式是將每個實例的不可靠性相乘,以獲得總體不可靠性。不可靠性通常是可靠性的互補百分數。例如,84%可靠的技術是16%不可靠。產生86^^75%和72%的可靠性的上述三個認證實例(指紋、智慧卡、密碼)將分別具有(100-86)%、(100-75)%和(100-72) %或者14%、25%和28%的對應不可靠性。通過將這些不可靠性相乘,我們得到累積不可靠性14% *25% *28%——.98%不可靠性,其對應於99.02%的可靠性。
[0254]在另外的操作模式下,可在認證引擎215內應用另外的因素和啟發法530,以說明各種認證技術的互相依存。例如,如果某人沒有被授權訪問特定的家庭計算機,則他們也可能在該地址接入電話線。因此,基於始發電話號碼以及認證系統的序號的認證沒有多大提高認證中的總體置信度。然而,基於知識的認證很大程度上與基於令牌的認證無關(即,如果某人竊取你的蜂窩電話或密鑰,則他們同他們沒有竊取你的蜂窩電話或密鑰一樣不可能知道你的PIN或密碼)。
[0255]此外,不同的賣方或其它認證請求者可能希望對認證的不同方面進行不同地加權。這可包括計算各個實例的可靠性時所使用的各自的加權因子或算法的使用以及對不同實例評估認證事件的不同方式的使用。
[0256]例如某些類型的事項的賣主,例如公司電子郵件系統,可能期望默認主要基於啟發法和其它狀況數據進行認證。因此,他們可將高權重應用於下述因素,這些因素與和圍繞認證事件的狀況相關聯的元數據和其它配置文件相關信息相關。由於不需要從用戶得到比該用戶在上班時間期間登錄到正確機器上所需要得到的多,所以該布置可被用於減輕在正常工作時間期間用戶上的負擔。然而,另一個賣方可對來自特定技術(例如指紋匹配)的認證施加最大的權重,這是因為這樣的技術最適合於為了該特定賣方的目的的認證的決策。
[0257]這樣的不同權重可由認證請求者在產生認證請求時定義,並可在一種操作模式下用認證請求發送到授信引擎110。還可在初始註冊處理期間為認證請求者將這樣的選項設置為優選,並在另一種操作模式下將這樣的選項存儲在認證引擎內。
[0258]一旦認證引擎215為所提供的認證數據產生認證置信水平,就在步驟1640中使用該置信水平來完善認證請求,並且將該信息從認證引擎215轉發到事項引擎205,以包括在給認證請求者的消息中。
[0259]上述處理僅僅是示例性的,本領域技術人員將認識到,所述步驟不必按所顯示的順序執行,或者期望僅執行所述步驟中的某些步驟,或者可能期望步驟的各種組合。此外,如果狀況允許,某些步驟,諸如所提供的每個認證實例的可靠性的評估,可彼此並行地執行。
[0260]在本發明的進一步的方面中,提供一種適應當通過上述處理產生的認證置信水平未能滿足要求認證的賣方或其它方的要求信任水平時的條件的方法。在諸如差距存在於所提供的置信水平與所期望的信任水平之間的這樣的狀況下,授信引擎110的操作者能夠為一方或兩方提供提供代替數據或要求的機會,以便閉合該信任差距。本文中將這個處理稱為「信任仲裁」。
[0261]信任仲裁可在如以上參照圖10和11描述的密碼認證的框架內進行。如本文所顯示的,賣方或其它方將請求與特定事項相關聯的特定用戶的認證。在一種狀況下,賣方簡單地請求認證,要麼是肯定的,要麼是否定的,在從用戶接收到合適數據之後,授信引擎110將提供這樣的二進位認證。在諸如這些狀況的狀況下,基於授信引擎110內設置的優選設定來確定安全保護肯定認證所需的置信度。
[0262]然而,還可以的是,賣方可請求特定的信任水平,以便完成特定事項。該要求水平可被包括在認證請求中(比如,以98%的置信度對該用戶進行認證),或者可由授信引擎110基於與事項相關聯的其它因素來確定(S卩,對於該事項,視情況對該用戶進行認證)。一種這樣的因素可以是事項的經濟價值。對於具有更大經濟價值的事項,可能要求更高的信任度。類似地,對於具有高危險性程度的事項,可能要求高信任度。相反,對於低危險性或者低價值的事項,賣方或其它認證請求者可能要求較低的信任水平。
[0263]信任仲裁的處理發生在圖10的步驟1050中授信引擎110接收認證數據的步驟與圖10的步驟1055中將認證結果返回給賣方的步驟之間。在這些步驟之間,導致信任水平和潛在的信任仲裁的評估的處理如圖17所示那樣發生。在執行簡單的二進位認證的狀況下,圖17中所示的處理縮減為:使事項引擎205直接將所提供的認證數據與如以上參照圖10所論述的識別的用戶的註冊數據進行比較;將任意差別標示為否定認證。
[0264]如圖17所示,在步驟1050中接收數據之後的第一個步驟是在步驟1710中事項引擎205確定該特定事項的肯定認證所需的信任水平。該步驟通過幾種不同方法之一來執行。認證請求者可在提出認證請求時向授信引擎110指定要求信任水平。認證請求者還可預先設置存儲在事項引擎205可存取的貯藏器210或者其它儲存器內的優選設定。然後,每次該認證請求者提出認證請求時,可讀取並使用該優選設定。還可將優選設定與特定用戶相關聯作為安全措施,以使得總是要求特定信任水平,以便對該用戶進行認證,用戶優選設定存儲在事項引擎205可存取的貯藏器210或其它存儲介質中。還可由事項引擎205或認證引擎215基於認證請求中所提供的信息來推導要求水平,所述信息諸如將被認證的事項的價值和危險水平。
[0265]在一種操作模式下,當產生認證請求時所使用的政策管理模塊或其它軟體被用於指定用於事項認證的要求信任度。這可被用於提供當基於在政策管理模塊內指定的政策分配要求信任水平時遵循的一系列規則。一種有利的操作模式是將這樣的模塊與賣方的web伺服器合併,以便適當地確定用於用賣方的web伺服器發起的事項的要求信任水平。以這種方式,可根據賣方的政策為來自用戶的事項請求分配要求信任水平,並且可將這樣的信息與認證請求一起轉發到授信引擎110。
[0266]該要求信任水平與賣方想要具有的個人認證事實上是他標識自己是誰的確定性程度相關。例如,如果事項是這樣的事項,即,由於商品正在轉手,所以賣方想要相當程度的確定性,則賣方可能要求85%的信任水平。對於賣方僅僅是對用戶進行認證以使得他可在聊天室查看僅成員的內容或者行使特權的情形,下跌風險可小得足以使得賣方僅要求60%的信任級別。然而,為了進入具有數萬美元價值的生產合約,賣方可能要求99%或更大的信任水平。
[0267]該要求信任水平表示用戶必須以其對他自己進行認證以便完成事項的度量。如果要求信任水平為例如85%,則用戶必須向授信引擎110提供這樣的認證,該認證足以使授信引擎110以85%的置信度聲稱用戶是他們聲稱他們是的那個人。它是該要求信任水平與產生肯定認證(達到賣方的滿意度)的認證置信水平或者信任仲裁的可能性之間的平衡。
[0268]如圖17所示,在事項引擎205接收到要求信任水平之後,在步驟1720中將要求信任水平與認證引擎215對當前認證計算的認證置信水平進行比較(如參照圖16所論述的)。如果在步驟1730中認證置信水平高於事項的要求信任水平,則所述處理移到步驟1740,在步驟1740中,事項引擎205產生該事項的肯定認證。然後,如步驟1055(參照圖10)所示,事項引擎205將該效果的消息插入到認證結果中,並將該消息返回給賣方。
[0269]然而,如果在步驟1730中認證置信水平沒有達到要求信任水平,則置信度差距對於當前認證存在,並在步驟1750中進行信任仲裁。以下參照圖18更完整地描述信任仲裁。如下所述的這個處理在授信引擎110的事項引擎205內進行。由於執行信任仲裁不需要認證或其它密碼操作(除了事項引擎205和其它部件之間的SSL通信所需的那些操作之外),所以可在認證引擎215外部執行所述處理。然而,如以下將論述的,認證數據或者其它密碼或認證事件的任意重新評估將要求事項引擎205將合適的數據重新提交到認證引擎215。本領域的技術人員將認識到可替換地可將信任仲裁處理構造為在認證引擎215自身內部分或全部進行。
[0270]如以上所提及的,信任仲裁是這樣的處理,S卩,授信引擎110在適當情況下試圖安全保護肯定認證時調停賣方與用戶之間的議付。如步驟1805所示,事項引擎205首先確定當前情形是否適合於信任仲裁。如以下將進一步論述的,這可基於認證的狀況(比如,該認證是否已經通過多個仲裁循環)以及賣方或用戶中的任意一個的優選設定來確定。
[0271]在仲裁不可能的這樣的狀況下,所述處理進行到步驟1810,在步驟1810中,事項引擎205產生否定認證,然後將它插入到在步驟1055(參見圖10)中發送給賣方的認證結果中。可有利地被用於防止認證無限地等待判決的一種限制是從初始認證請求設置超時時間段。以這種方式,在時限內沒有被肯定認證的任意事項被拒絕進一步仲裁,並被否定地認證。本領域的技術人員將認識到這樣的時限可根據事項的狀況及用戶和賣方的期望而改變。還可將限制設置在在提供成功認證時可進行的嘗試的次數上。這樣的限制可由如圖5所示的嘗試限制器535處理。
[0272]如果在步驟1805中沒有禁止仲裁,則事項引擎205則將與事項方中的一方或雙方進行議價。事項引擎205可將消息發送到請求某種形式的另外的認證的用戶,以便提升如在步驟1820中產生的認證置信水平。以最簡單的形式,這可簡單地指示認證不充分。還可發送產生一個或多個另外的認證實例以改進認證的總體置信水平的請求。
[0273]如果在步驟1825中用戶提供一些另外的認證實例,則如步驟1015(參見圖10)所示,事項引擎205將這些認證實例添加到用於事項的認證數據,並將它轉發到認證請求215,並且基於用於該事項的原已存在的認證實例和新近提供的認證實例這二者來重新評估認證。
[0274]可向授信引擎110請求另外類型的認證,以例如通過電話呼叫進行授信引擎110操作者(或者可信相聯者)與用戶之間的某種形式的人與人的接觸(聯繫)。該電話呼叫或其它非計算機認證可被用於提供與個人的個人接觸,並且還可被基於認證進行某種形式的問卷。這還可給予驗證始發電話號碼(以及潛在地,當用戶打電話來時他的語音分析)的機會。即使不能提供另外的認證數據,與用戶的電話號碼相關聯的另外的情景也可改進認證情景的可靠性。基於該電話呼叫的任意修訂數據或狀況被饋送到授信引擎110,以在考慮認證請求時使用。
[0275]另外,在步驟1820中,授信引擎110可為用戶提供購買保險的機會,從而有效地購得更確信的認證。如果認證的置信水平高於起始的某個閾值,則授信引擎110的操作者有時可能僅想使得這樣的選項可用。實際上,該用戶方保險是當認證滿足授信引擎110對於認證的正常要求信任水平、但不滿足賣方對於該事項的要求信任水平時授信引擎110擔保用戶的一種方式。以這種方式,即使用戶僅具有產生對於授信引擎110足夠的置信度的認證實例,他也仍可成功地認證到如賣方可能要求的非常高的水平。
[0276]授信引擎110的這種功能使得授信引擎110可擔保其被認證達到授信引擎110的滿意度、但是沒有達到賣方的滿意度的某人。這與下述功能相似,該功能即為由公證人在將他的籤名添加到文檔以便向以後閱讀該文檔的某人指示其籤名出現在該文檔上的人事實上是籤署它的人時執行的功能。公證人的籤名證明用戶的籤名動作。以相同的方式,授信引擎提供事項的人是他們聲稱他們是的那個人的指示。
[0277]然而,由於授信引擎110人為地提升由用戶提供的置信水平,所以由於用戶實際上並不滿足賣方的要求信任水平,所以對於授信引擎110操作者存在更大的風險。保險的成本被設計為補償對授信引擎110(其可有效地公證用戶的認證)的錯誤的肯定認證的風險。用戶付款給授信引擎110,以使認證的風險達到比實際提供的置信水平高的置信水平。
[0278]由於這樣的保險系統使得某人可從授信引擎110有效地購得更高置信度,所以賣方和用戶都可能希望防止在某些事項中使用用戶方保險。賣方可能希望將肯定認證局限於這樣的狀況,即,他們知道實際的認證數據支持他們所要求的置信度,所以可向授信引擎110指示用戶方保險不被允許。類似地,為了保護他的在線(online)身份,用戶可能希望防止在他的帳戶上使用用戶方保險,或者可能希望將它的使用局限於這樣的情形,即,不使用保險的認證置信水平高於某個界限。這可被用作安全性措施,該安全性措施防止:某人竊聽密碼,或者竊取智慧卡並使用它們錯誤地認證到低置信水平,然後購買保險以產生非常高的(錯誤的)置信水平。在確定是否允許用戶方保險時,可評估這些因素。
[0279]如果在步驟1840中用戶購買保險,則在步驟1845中基於購買的保險調整認證置信水平,並再次在步驟1730 (參見圖17)中將認證置信水平與要求信任水平進行比較。所述處理從那繼續進行,並可在步驟1740(參見圖17)中導致肯定認證,或者在步驟1750中返回到信任仲裁處理,以進一步進行仲裁(如果允許的話),或者如果進一步的仲裁被禁止,則在步驟1810中返回到否定認證。
[0280]除了在步驟1820中將消息發送到用戶之外,事項引擎205還可在步驟1830中將消息發送到賣方,該消息指示等待判決的認證當前在要求信任水平之下。該消息還可提供關於如何轉到賣方的各種選項。這些選項之一是簡單地通知賣方當前認證置信水平是什麼並詢問賣方是否希望保持他們的當前未達到的要求信任水平。由於在一些情況下賣方可具有用於認證事項的獨立手段或者可使用默認的一組要求,所以這可以是有益的,所述默認的一組要求通常導致最初指定的要求水平比手邊的特定事項實際上需要的要求水平高。
[0281]例如,預期所有與賣方的輸入購買訂單事項都滿足98%的信任水平可以是常規作法。然而,如果最近通過賣方與老客戶之間的電話討論訂單,並且其後立即對事項進行認證,但是認證僅達到93%的置信水平,則由於電話呼叫有效地為賣方提供另外的認證,所以賣方可能希望僅對於該事項降低接受閾值。在某些狀況下,賣方可能願意降低他們的要求信任水平,但是不是一直降到當前認證置信水平。例如,以上示例中的賣方可考慮訂購之前的電話呼叫可值得將所需的信任度降低4% ;然而,這仍大於由用戶產生的93%置信度。
[0282]如果在步驟1835中賣方不調整他們的要求信任水平,則在步驟1730 (參見圖17)中將通過認證產生的認證置信水平與要求信任水平進行比較。如果置信水平現在超過要求信任水平,則可在步驟1740(參見圖17)中在事項引擎205中產生肯定認證。如果置信水平現在沒有超過要求信任水平,則如果仲裁被允許,則可如以上論述那樣試圖進一步進行仲裁。
[0283]除了請求調整要求信任水平之外,事項引擎205還可對請求認證的賣方提供賣方方保險。該保險用於與以上對於用戶方保險所述的目的類似的目的。然而,這裡,不是與由授信引擎110在認證大於所產生的實際認證置信水平時承擔的風險對應的成本,保險的成本而是對應於由賣方在接收到認證中的較低信任水平時承擔的風險。
[0284]不是只是降低他們的實際要求信任水平,賣方而是具有購買這樣的保險的選擇,該保險保護它自己免受與用戶認證中較低信任水平相關聯的另外的風險。如上所述,可以有利的是賣方僅考慮購買這樣的保險來覆蓋在現存認證已經在某個閾值之上的條件下的/[目任差距。
[0285]這樣的賣方方保險的可用性給予賣方以下選擇:對於他自己沒有附加成本地直接降低他的信任要求,他自己承擔錯誤認證的風險(基於更低的要求信任水平);或者,為認證置信水平與他的要求之間的信任差距購得保險,授信引擎110操作者承擔所提供的更低置信水平的風險。通過購買保險,由於錯誤認證的風險轉移到授信引擎110操作者,所以賣方有效地保持他的高信任水平要求。
[0286]如果在步驟1840中賣方購買保險,則在步驟1730(參見圖17)中將認證置信水平與要求信任水平進行比較,並且所述處理如上所述那樣繼續進行。
[0287]指出,還可以的是,用戶和賣方都對來自授信引擎110的消息作出響應。本領域技術人員將認識到存在能處理這樣的情形的多種方式。一種處理多個響應的可能性的有利模式是簡單地以先來先服務的方式處理響應。例如,如果賣方以降低的要求信任水平作出響應並且其後用戶還立即購買提升他的認證水平的保險,則首先基於來自賣方的降低的信任要求重新評估認證。如果認證現在是肯定的,則忽略用戶的保險購買。在另一種有利的操作模式下,用戶可能僅支付滿足賣方的新的降低的信任要求所需的保險水平(如果即使對於降低的賣方信任要求,信任差距仍存在)。
[0288]如果在步驟1850的信任仲裁處理期間沒有在為認證設置的時限內接收到來自任意一方的響應,則在步驟1805中重新評估仲裁。這有效地再次開始仲裁處理。如果在步驟1805中時限為最後或者其它狀況阻止進一步仲裁,則在步驟1810中由事項引擎205產生否定認證,並在步驟1055(參見圖10)中將該否定認證返回給賣方。如果不是,則可將新消息發送到用戶和賣方,並且可根據需要重複所述處理。
[0289]指出,對於某些類型的事項,例如,不是事項的一部分的數字籤名文檔,可不必存在賣方或者其它第三方;因此,事項主要在用戶與授信引擎110之間。在諸如這樣的狀況下,授信引擎110將具有它自己的要求信任水平,為了產生肯定認證,必須滿意該要求信任水平。然而,在這樣的狀況下,通常將不期望的是,授信引擎110將保險提供給用戶,以便使他提升他自己的籤名的置信度。
[0290]可使用如以上參照授信引擎110描述的各種通信模式執行以上論述的、圖16-18中所示的處理。例如,消息可以是基於web的,並可使用授信引擎110與實時下載到在用戶或賣方系統上運行的瀏覽器的小應用程式之間的SSL連接發送這些消息。在可替換的操作模式下,用戶和賣方可使用使這樣的仲裁和保險事項便利的某些專用應用程式。在另一種可替換的操作模式下,安全電子郵件操作可被用於調停上述仲裁,從而使得可延緩認證的評估和成批處理。本領域技術人員將認識到可使用適合於賣方的狀況和認證要求的不同通信模式。
[0291]參照圖19的以下描述對集成如上所述的本發明的各個方面的示例性事項進行描述。該示例示出授信引擎110在用戶與賣方之間進行調停的整個處理。雖然如以上詳細描述的各個步驟和部件可被用於執行以下事項,但是示出的示例集中於授信引擎110、用戶與賣方之間的交互。
[0292]當在步驟1900中用戶在在線查看網頁的同時在賣方的網站上填寫訂貨單時,事項開始。用戶希望將該訂貨單提交給賣方,該訂貨單籤有他的數字籤名。為了執行這樣做,在步驟1905中,用戶將訂貨單與他對籤名的請求一起提交給授信引擎110。用戶還將提供將如上所述那樣被用於認證他的身份的認證數據。
[0293]在步驟1910中,授信引擎110如上所述那樣將認證數據與註冊數據進行比較,並且如果產生肯定認證,則將籤有用戶的私鑰的訂貨單的散列與訂貨單本身一起轉發到賣方。
[0294]在步驟1915中賣方接收籤名的表格,然後在步驟1920中賣方將產生與將進行的購買相關的發票或其它合約。在步驟1925中,將該合約與對籤名的請求一起發送回用戶。在步驟1930中,賣方還將對該合約事項的認證請求發送給授信引擎110,所述認證請求包括兩方將籤名的合約的散列。為了使得兩方可對合約進行數字籤名,賣方還包括用於它自己的認證數據,以使得如果必要的話,稍後可對賣方在合同上的籤名進行驗證。
[0295]如以上所論述的,授信引擎110然後對由賣方提供的認證數據進行驗證,以確認賣方的身份,如果在步驟1935中數據產生肯定認證,則當從用戶接收到數據時,繼續執行步驟1955。如果賣方的認證數據與賣方的註冊數據沒有達到期望程度的匹配,則將請求進一步認證的消息返回給賣方。如上所述,為了使賣方成功地向授信引擎認證它自己,如果必要的話,則這裡可執行信任仲裁。
[0296]當在步驟1940中用戶接收到合約時,他審核它,如果在步驟1945中它是可接受的,則產生認證數據以對它進行籤名,然後在步驟1950中將合約和他的認證數據的散列發送給授信引擎110。授信引擎110在步驟1955中對認證數據進行驗證,並且如果認證良好,則繼續如上所述那樣處理合約。如以上參照圖17和18所論述的,可視情況執行信任仲裁,以閉合存在於認證置信水平與事項的要求認證水平之間的任意信任差距。
[0297]授信引擎110用用戶的私鑰對合約的散列進行籤名,並在步驟1960中將該籤名的散列發送到賣方,代表它自己對完整消息進行籤名,即,包括用授信引擎110的私鑰510加密的完整消息(包括用戶的籤名)的散列。在步驟1965中,賣方接收該消息。該消息表示籤名的合約(使用用戶的私鑰加密的合約的散列)和來自授信引擎110的收條(包括籤名的合約的消息的散列,該散列使用授信引擎110的私鑰進行加密)。
[0298]在步驟1970中,授信引擎110類似地用賣方的私鑰準備合約的散列,並將由授信引擎110籤名的這個散列轉發給用戶。以這種方式,用戶還接收由賣方籤名的合約的副本以及由授信引擎110籤名的收條,以用於在步驟1975中遞送籤名的合約。
[0299]除了前述之外,本發明的另外的方面提供一種密碼服務提供模塊(SPM),該密碼SPM可供客戶端應用程式用作訪問上述由授信引擎110提供的功能的方式。提供這樣的服務的一種有利方式是密碼SPM調停第三方應用程式接口(API)與可通過網絡或其它遠程連接訪問的授信引擎110之間的通信。以下參照圖20對示例性密碼SPM進行描述。
[0300]例如,在典型的系統上,大量API可供程式設計師使用。每個API提供由在系統上運行的應用程式2000進行的一組函數調用。提供適合於密碼功能、認證功能和其它安全功能的編程接口的API的示例包括由微軟為其Windows作業系統提供的密碼API (CAPI) 2010和由IBM、Intel和開放組織的其它成員發起的通用數據安全架構(⑶SA)。CAPI將被用作以下論述中的示例性安全API。然而,如本領域已知的,所述的密碼SPM應該與CDSA或其它安全性API —起使用。
[0301]當調用密碼功能時,用戶系統105或者賣方系統120使用這個API。這些功能中所包括的是與執行各種密碼操作相關聯的請求,所述各種密碼操作諸如用特定密鑰對文檔進行加密、對文檔進行籤名、請求數字證書、對籤名的文檔上的籤名進行驗證和如本文所述的或者本領域技術人員已知的這樣的其它密碼功能。
[0302]通常對CAPI 2010所處的系統本地執行這樣的密碼功能。這是因為一般而言,調用的功能要求使用本地用戶系統105的資源(諸如指紋讀取器)或者使用在本地機器上執行的庫進行編程的軟體功能。對這些本地資源的訪問通常由如上論及的提供用其執行密碼功能的資源的一個或多個服務提供模塊(SPM) 2015、2020提供。這樣的SPM可包括執行加密或解密操作的軟體庫2015或者能夠訪問專用硬體(諸如生物辨識掃描設備)2025的驅動器和應用程式2020。以CAPI 2010提供可供系統105的應用程式2000使用的功能的這樣的方式,SPM 2015,2020為CAPI提供對與系統上的可用服務相關聯的較低水平的功能和資源的訪問。
[0303]根據本發明,可提供密碼SPM 2030,密碼SPM 2030能夠訪問由授信引擎110提供的密碼功能,並使這些功能可供應用程式2000至CAPI 2010使用。與CAPI 2010僅能夠訪問通過SPM 2015、2020本地可用的資源的實施例不同,如本文所述的密碼SPM 2030能夠將對密碼操作的請求提交給位於遠程的、網絡可獲取的授信引擎110,以便執行所期望的操作。
[0304]例如,如果應用程式(應用)2000具有對密碼操作的需要,諸如對文檔進行籤名,則應用程式2000對合適的CAPI 2010函數進行函數調用。CAPI 2010進而將使用SPM2015,2020和密碼SPM2030使得其可供它使用的資源來執行該函數。在數字籤名功能的情況下,密碼SPM 2030會產生將通過通信鏈路125發送到授信引擎110的合適請求。
[0305]在密碼SPM 2030與授信引擎110之間發生的操作是與任何其它系統與授信引擎110之間將可能發生的操作相同的操作。然而,可通過CAPI 2010有效地使這些功能可供用戶系統105使用,以使得它們似乎可在用戶系統105自身上本地使用。然而,與普通SPM2015、2020不同,在遠程授信引擎110上執行函數,並響應於合適請求通過通信鏈路125將結果轉播到密碼SPM 2030。
[0306]這個密碼SPM 2030使得大量否則可能不可用的操作可供用戶系統105或賣方系統120使用。這些功能包括,但不限於:文檔的加密和解密;數字證書的頒發;文檔的數字籤名;數字籤名的驗證;和如本領域技術人員將明白的這樣的其它操作。
[0307]在一個獨立的實施例中,本發明包括一種用於對任何數據組執行本發明的數據安全保護方法的整個系統。本實施例的計算機系統包括數據分割模塊,所述數據分割模塊包括圖8中所示的且在本文中描述的功能。在本發明的一個實施例中,數據分割模塊包括解析器程序或軟體套件,所述解析器程序或軟體套件包括數據分割、加密和解密、重構或重新組裝功能,數據分割模塊在本文中有時也稱為安全數據解析器。本實施例也可進一步包括一個數據存儲設施或多個數據存儲設施。數據分割模塊或者安全數據解析器包括集成在電子基礎設施內的或者作為要求其數據元素的終極安全性的任何應用程式的附加組件的跨平臺軟體模塊套件。該解析處理對任何類型的數據組、任何和全部文件類型或者在資料庫中在該資料庫中的任何行、列或數據單元進行操作。
[0308]在一個實施例中,可以以模塊化層列的方式設計本發明的解析處理,並且任何加密處理適合於用在本發明的處理中。本發明的解析和分割處理的模塊化層級可包括,但不限於:1)密碼分割、分散和安全存儲在多個位置中;2)加密、密碼分割、分散並安全存儲在多個位置中;3)加密、密碼分割、對每個份額進行加密、然後分散並安全存儲在多個位置中;4)加密、密碼分割、使用與第一步驟中所使用的加密法不同類型的加密法對每個份額進行加密,然後分散並安全存儲在多個位置中。
[0309]在一個實施例中,所述處理包括:根據所產生的隨機數的內容或密鑰分割數據,並執行密鑰的密碼分割,該密碼分割與在將被安全保護的數據分割為解析的且分割的數據的兩個或更多個部分或份額的加密中所使用的密碼分割相同,並且在一個實施例中,優選地,將被安全保護的數據分割為解析的且分割的數據的四個或更多個部分,對所有部分進行加密,然後分散這些部分,並將這些部分存儲回到資料庫中,或者根據請求者對於私密性和安全性的需求將它們固定地或者可移動地重新定位到任何命名設備中。可替換地,在另一個實施例中,加密可在由分割模塊或安全數據解析器設置的數據的分割之前發生。如本實施例中所述那樣處理的原始數據被加密和混淆,並被安全保護。若需要,則幾乎可在任何地方分散加密的元素,所述任何地方包括,但不限於,單個伺服器或數據存儲設備,或者在分離的數據存儲設施或設備之間分散加密的元素。一個實施例中的加密密鑰管理可被包括在軟體套件中,或者在另一個實施例中可被集成到現存基礎設施或者任何其它期望的位置中。
[0310]密碼分割(cryptosplit)將數據劃分為N個份額。所述劃分可以在任何大小的數據單元(包括單個比特、多個比特、字節、千字節、兆字節或更大的單位)以及無論是預定的還是隨機產生的數據單元大小的任何模式或組合上。基於隨機的或者預定的一組值,所述單元的大小也可以不同。這意味著數據可被看作這些單元的序列。以這種方式,數據單元本身的大小可以例如通過下述方式使得數據更安全,即,使用數據單元大小的一個或多個預定的或者隨機產生的模式、序列或組合。然後將所述單元(隨機地或者按照預定的一組值)分布到N個份額中。該分布還可涉及按照份額對所述單元的順序進行混排。本領域技術人員易於明白的是,可根據各種可行的選擇來執行數據單元到份額的分布,所述選擇包括,但不限於,固定大小、預定大小或者預定的或隨機產生的數據單元大小的一個或多個組合、模式或序列。
[0311]該密碼分割處理的一個示例將考慮大小為23位元組的數據,選擇數據單元大小為一個字節,選擇份額數量為4。每個字節將被分布到4個份額之一中。假設隨機分布,則將獲得創建23個隨機數(!1、1'2、1'3至1'23)的序列,每個隨機數具有與四個份額對應的I與4之間的值。所述數據單元(在本示例中,數據的23個單個字節)每個與23個隨機數中與四個份額之一對應的一個隨機數相關聯。數據字節到四個份額的分布將通過下述方式發生,即,將數據的第一個字節放入到份額編號rl中,將數據的第二個字節放入到份額r2,將數據的第三個字節放入到份額r3中,將數據的第23個字節放入到份額r23中。本領域技術人員易於明白的是,在本發明的密碼分割處理中可使用各種其它可行的步驟或者步驟的組合或序列(包括數據單元的大小),並且以上示例是用於對數據進行密碼分割的一個處理的非限制性描述。為了重建原始數據,將執行逆操作。
[0312]在本發明的密碼分割處理的另一個實施例中,用於密碼分割處理的選項是提供份額中的足夠的冗餘度,以使得將數據重新組裝或恢復為其原始或可用形式僅需要份額的一個子集。作為非限制性示例,可以「4個中的三個」密碼分割的形式執行密碼分割,以使得四個份額中的僅三個份額對於將數據重新組裝或恢復為其原始或可用形式是必要的。這也被稱為「N個中的M個密碼分割」,其中,N是份額總數,M比N至少小I。本領域的普通技術人員將易於明白的是,存在用於在本發明的密碼分割處理中創建該冗餘度的許多可能性。
[0313]在本發明的密碼分割處理的一個實施例中,每個數據單元存儲在兩個份額(即,主份額和備份份額)中。通過使用上述「4個中的3個」密碼分割處理,任何一個份額可丟掉,並且由於僅需要總共四個份額中的三個份額,所以這足以恢復沒有丟掉數據單元的原始數據。如本文所述,產生與所述份額之一對應的隨機數。隨機數與數據單元相關聯,並基於密鑰存儲在對應的份額中。在本實施例中,使用一個密鑰來產生主份額和備份份額隨機數。如本文關於本發明的密碼分割處理所描述的,產生等於數據單元的數量的從O至3的一組隨機數(也稱為主份額數)。然後,從I至3產生等於數據單元數量的另一組隨機數(也稱為備份份額數)。然後將每個數據單元與主份額數和備份份額數相關聯。可替換地,可產生少於數據單元數量的一組隨機數,並重複該隨機數組,但是這可降低敏感數據的安全性。主份額數被用於確定數據單元被存儲到哪個份額中。將備份份額數與主份額數組合,以創建O與3之間的第三份額數,該數被用於確定數據單元被存儲到哪個份額中。在本示例中,確定第三份額數的方程是:
[0314](主份額數+備份份額數)M0D4=第三份額數
[0315]在以上所述的實施例中,主份額數在O與3之間並且備份份額數在I與3之間,確保第三份額數與主份額數不同。這導致數據單元存儲在兩個不同份額中。本領域的普通技術人員將易於明白的是,除了本文公開的實施例之外,存在執行冗餘密碼分割和非冗餘密碼分割的許多方式。例如,可利用不同算法對每個份額中的數據單元進行混排。例如,可在原始數據被分割為數據單元時,或者在數據單元被放置到份額中時,或者在份額裝滿之後,執行該數據單元混排。
[0316]可對任何大小的數據單元執行本文所述的各種密碼分割處理和數據混排處理及本發明的密碼分割和數據混排方法的所有其它實施例,所述大小包括,但不限於,小如單個比特、多個比特、字節、千字節、兆字節或更大。
[0317]將執行本文所述的密碼分割處理的原始碼的一個實施例的示例是:
[0318]DATA[1:24]-用於將被分割的數據的字節數組
[0319]SHARES [0:3 ;1:24]-用於表示份額之一的每行的2維數組
[0320]RANDOM [1:24] - 0..3範圍內的數組隨機數
[0321]SI = I ;
[0322]S2 = I ;
[0323]S3 = I ;
[0324]S4 = I ;
[0325]For J = lto24do
[0326]Begin
[0327]IF RANDOM[J[ == Othen
[0328]Begin
[0329]SHARES [1,SI] = DATA[J];
[0330]SI = Sl+1 ;
[0331]End
[0332]ELSE IF RANDOM[J[ == lthen
[0333]Begin
[0334]SHARES [2,S2] = DATA [J];
[0335]S2 = S2+1 ;
[0336]END
[0337]ELSE IF RANDOM[J[ == 2then
[0338]Begin
[0339]Shares [3, S3] = data[J];
[0340]S3 = S3+1 ;
[0341]End
[0342]Else begin
[0343]Shares [4, S4] = data[J];
[0344]S4 = S4+1 ;
[0345]End ;
[0346]END ;
[0347]本文所述的將執行密碼分割RAID處理的原始碼的一個實施例的示例是:
[0348]產生兩組數,PrimaryShare是O至3,BackupShare是I至3。然後,通過與上述密碼分割中的處理相同的處理將每個數據單元放入share[primaryshare[I]]和share[(primaryshare [I] +backupshare [I] )mod4中。該方法將可分級為任何大小N,其中,僅N_1個份額對於恢復數據是必要的。
[0349]加密的數據元素的檢索、重新組合、重新組裝或重構可利用任何數量的認證技術,包括,但不限於,生物辨識,諸如指紋識別、臉掃描、手掃描、虹膜掃描、視網膜掃描、耳掃描、血管模式識別或DNA分析。可根據需要將本發明的數據分割和/或解析器模塊集成到多種基礎設施產品或應用程式中。
[0350]本領域已知的傳統加密技術依賴於用於對數據進行加密的一個或多個密鑰,並使該數據在沒有密鑰的情況下不可用。然而,數據保持完整無損,並容易遭受攻擊。本發明的安全數據解析器在一個實施例中通過下述方式解決該問題,即,執行加密文件的密碼解析和將加密文件分割為兩個或更多個部分或份額的分割,在另一個實施例中通過下述方式解決該問題,即,優選地將加密文件分割為四個或更多個份額,將另一個加密層添加到每個數據份額,然後將份額存儲在不同的物理和/或邏輯位置中。當從系統物理地移除一個或多個數據份額時,或者通過使用可行動裝置(諸如數據存儲設備),或者通過在另一方的控制下放置份額,可有效地去除損壞安全保護的數據的任何可能性。
[0351]圖21中顯示了本發明的安全數據解析器的一個實施例的示例和可如何利用它的示例,以下對這些示例進行描述。然而,本領域技術人員將易於明白的是,除了以下的非限制性示例之外,還可以以各種方式利用本發明的安全數據解析器。作為部署選擇,在一個實施例中,安全數據解析器可通過外部會話密鑰管理或者會話密鑰的安全內部存儲來實現。在實現時,將產生將被用於安全保護應用程式並用於加密目的的解析器主密鑰。還應該指出,將解析器主密鑰合併在所得的安全保護數據中使得工作組、企業或廣大受眾內的個人可靈活地共享安全保護的數據。
[0352]如圖21所示,本發明的本實施例顯示由安全數據解析器對數據執行的將會話主密鑰與解析的數據一起存儲的處理的步驟:
[0353]1.產生會話主密鑰,並使用RS1流密碼對數據進行加密。
[0354]2.根據會話主密鑰的模式將所得的加密數據分離到解析數據的四個份額或部分中。
[0355]3.在本方法實施例中,將會話主密鑰與安全保護的數據份額一起存儲在數據貯藏器中。根據解析器主密鑰的模式分離會話主密鑰,並將密鑰數據附加到加密的解析數據。
[0356]4.所得的四個數據份額將包含原始數據的加密部分和會話主密鑰的部分。為四個數據份額中的每個產生流密碼密鑰。
[0357]5.對每個份額進行加密,然後將加密密鑰存儲在與加密數據部分或份額不同的位置中:份額I得到密鑰4,份額2得到密鑰1,份額3得到密鑰2,份額4得到密鑰3。
[0358]為了恢復原始數據格式,逆向執行所述步驟。
[0359]本領域的普通技術人員易於明白的是,本文所述的方法的某些步驟可根據需要按不同順序執行或者重複執行多次。本領域技術人員還將易於明白的是,可彼此極大不同地處理數據的部分。例如,可僅對解析數據的一部分執行多個解析步驟。僅在數據可被重新組裝、重構、重新形成、解密或恢復為其原始或其它可用形式的條件下,才可以以任何期望的方式唯一地安全保護解析數據的每個部分。
[0360]如圖22所示和本文所述的,本發明的另一個實施例包括由安全數據解析器對數據執行的將會話主密鑰存儲在一個或多個單獨的密鑰管理表中的處理的步驟:
[0361]1.產生會話主密鑰,並使用RSl流密碼對數據進行加密。
[0362]2.根據會話主密鑰的模式將所得的加密數據分離到解析數據的四個份額或部分中。
[0363]3.在本發明方法的本實施例中,將會話主密鑰存儲在數據貯藏器中的單獨的密鑰管理表中。產生用於該交易的唯一交易ID。將交易ID和會話主密鑰存儲在單獨的密鑰管理表中。根據解析器主密鑰的模式分離交易ID,並將數據附加到加密的解析或分離數據。
[0364]4.所得的四個數據份額將包含原始數據的加密部分和交易ID的部分。
[0365]5.產生用於四個數據份額中的每個的流密碼密鑰。
[0366]6.對每個份額進行加密,然後將加密密鑰存儲在與加密的數據部分或份額不同的位置中:份額I得到密鑰4,份額2得到密鑰1,份額3得到密鑰2,份額4得到密鑰3。
[0367]為了恢復原始數據格式,逆向執行所述步驟。
[0368]本領域的普通技術人員將易於明白的是,本文所述的方法的某些步驟可根據需要按不同順序執行或者重複執行多次。本領域技術人員還將易於明白的是,可彼此極大不同地處理數據的部分。例如,可僅對解析數據的一部分執行多個解析步驟。僅在數據可被重新組裝、重構、重新形成、解密或恢復為其原始或其它可用形式的條件下,才可以任何期望的方式唯一地安全保護解析數據的每個部分。
[0369]如圖23所示,本發明的本實施例顯示由安全數據解析器對數據執行的將會話主密鑰與解析數據一起存儲的方法的步驟:
[0370]1.訪問與認證的用戶相關聯的解析器主密鑰
[0371]2.產生唯一的會話主密鑰
[0372]3.從解析器主密鑰和會話主密鑰的異或函數得到中間密鑰
[0373]4.可選地,使用以中間密鑰作為密鑰的現存的或新穎的加密算法對數據進行加密
[0374]5.根據中間密鑰的模式將所得的可選地加密的數據分離到解析數據的四個份額或部分中
[0375]6.在本方法實施例中,將會話主密鑰與安全保護的數據份額一起存儲在數據貯藏器中。根據解析主密鑰的模式分離會話主密鑰,並將密鑰數據附加到可選地加密的解析數據份額。
[0376]7.所得的多個數據份額將包含原始數據的可選地加密的部分和會話主密鑰的部分。
[0377]8.可選地,產生用於四個數據份額中的每個的密碼密鑰。
[0378]9.可選地,使用現存的或新穎的加密算法對每個份額進行加密,然後將密碼密鑰存儲在與加密的數據部分或份額不同的位置中:例如,份額I得到密鑰4,份額2得到密鑰1,份額3得到密鑰2,份額4得到密鑰3。
[0379]為了恢復原始數據格式,逆向執行所述步驟。
[0380]本領域的普通技術人員將易於明白的是,本文所述的方法的某些步驟可根據需要按不同順序執行或者重複執行多次。本領域技術人員還將易於明白的是,可彼此極大不同地處理數據的部分。例如,可僅對解析數據的一部分執行多個解析步驟。僅在數據可被重新組裝、重構、重新形成、解密或恢復為其原始或其它可用形式的條件下,才可以任何期望的方式唯一地安全保護解析數據的每個部分。
[0381]如圖24所示和本文所述的,本發明的另一個實施例包括由安全數據解析器對數據執行的將會話主密鑰存儲在一個或多個單獨的密鑰管理表中的方法的步驟:
[0382]1.訪問與認證的用戶相關聯的解析器主密鑰
[0383]2.產生唯一的會話主密鑰
[0384]3.從解析器主密鑰和會話主密鑰的異或函數得到中間密鑰
[0385]4.可選地,使用以中間密鑰作為密鑰的現存的或新穎的加密算法對數據進行加密
[0386]5.根據中間密鑰的模式將所得的可選地加密的數據分離到解析數據的四個份額或部分中
[0387]6.在本發明方法的本實施例中,將會話主密鑰存儲到數據貯藏器中的單獨的密鑰管理表中。產生用於該交易的唯一交易ID。將交易ID和會話主密鑰存儲在單獨的密鑰管理表中,或者將會話主密鑰和交易ID傳遞迴用於外部管理的調用程序。根據解析器主密鑰的模式分離交易ID,並將數據附加到可選地加密的解析數據或分離數據。
[0388]7.所得的四個數據份額將包含原始數據的可選地加密的部分和交易ID的部分。
[0389]8.可選地,產生用於四個數據份額中的每個的密碼密鑰。
[0390]9.可選地,對每個數據份額進行加密,然後將密碼密鑰存儲在與加密的數據部分或份額不同的位置中。例如,份額I得到密鑰4,份額2得到密鑰1,份額3得到密鑰2,份額4得到密鑰3。
[0391 ]為了恢復原始數據格式,逆向執行所述步驟。
[0392]本領域的普通技術人員將易於明白的是,本文所述的方法的某些步驟可根據需要按不同順序執行或者重複執行多次。本領域技術人員還將易於明白的是,可彼此極大不同地處理數據的部分。例如,可僅對解析數據的一部分執行多個分離或解析步驟。僅在數據可被重新組裝、重構、重新形成、解密或恢復為其原始或其它可用形式的條件下,才可以任何期望的方式唯一地安全保護解析數據的每個部分。
[0393]如本領域技術人員易於明白的是,多種加密方法適合用於本發明的方法中。一次一密算法通常被認為是最安全的加密方法之一,並且適合用在本發明的方法中。使用一次一密算法要求產生如將被安全保護的數據一樣長的密鑰。由於將被安全保護的數據組的大小,而導致該方法的使用在某些狀況下可能不是那麼可靠,所述狀況諸如導致產生和管理非常長的密鑰的那些狀況。在一次一密(OTP)算法中,使用簡單的異或函數,XOR0對於相同長度的兩個二進位流X和y,xXOR y意味著對χ和y進行逐位異或運算。
[0394]在比特級,產生:
[0395]O XOR O = O
[0396]O XOR I = I
[0397]I XOR O = I
[0398]I XOR I = O
[0399]在本文中針對將被分割的η字節機密(secret) s (或數據組)描述該處理的一個示例。該處理將產生η字節隨機值a,然後設置:
[0400]b = a XOR S。
[0401]指出,可通過以下等式得到「s」:
[0402]s = a XOR b。
[0403]值a和b被稱作份額或部分,並被放置在分離的貯藏器中。一旦機密s被分割到兩個或更多個份額中,則以安全的方式丟棄它。
[0404]本發明的安全數據解析器可利用該功能,其執行多個XOR函數來合併多個不同的機密密鑰值:K1、K2、K3、Kn、K5。在操作開始時,對將被安全保護的數據進行第一加密操作,安全數據=數據XOR機密密鑰5:
[0405]S = D XOR K5
[0406]為了安全地將所得的加密數據存儲在例如四個份額Sl、S2、S3、Sn中,對數據進行解析,並根據K5的值將數據分割為「η個」段。該操作得到原始加密數據的「η」個偽隨機份額。然後可用剩餘的機密密鑰值對每個份額執行後面的XOR函數,例如:安全數據段I =加密數據份額IXOR機密密鑰1:
[0407]SDl = SI XOR Kl
[0408]SD2 = S2 XOR Κ2
[0409]SD3 = S3 XOR Κ3
[0410]SDn = Sn XOR Kn。
[0411]在一個實施例中,可能不期望的是,使任何一個貯藏器包含對那裡保存的信息進行解密的足夠信息,所以將對份額進行解密所需的密鑰存儲在不同的數據貯藏器中:
[0412]貯藏器1:SDl, Kn
[0413]貯藏器2:SD2,K1
[0414]貯藏器3:SD3,K2
[0415]忙藏器n: SDn, K3。
[0416]另外,附加到每個份額的可以是檢索原始會話加密密鑰Κ5所需的信息。因此,在本文描述的密鑰管理示例中,原始會話主密鑰用交易ID指代,該交易ID根據安裝相關的解析器主密鑰(TIDl、TID2、TID3、TIDn)的內容而被分割到「η」個份額中:
[0417]貯藏器1:SDl, Kn, TIDl
[0418]貯藏器2:SD2,K1,TID2
[0419]貯藏器3:SD3,K2,TID3
[0420]貯藏器n:SDn,K3,TIDn。
[0421]在本文描述的合併會話密鑰示例中,根據安裝相關的解析器主密鑰(SK1、SK2、SK3、SKn)的內容,將會話主密鑰分割為「η個」份額:
[0422]貯藏器1: SDl, Kn, SKl
[0423]貯藏器2: SD2, Kl, SK2
[0424]貯藏器3: SD3, Κ2, SK3
[0425]忙藏器n: SDn, Κ3, SKn。
[0426]除非檢索到所有四個份額,否則不能根據本示例重新組裝數據。即使捕獲到所有四個份額,也不可能在不使用會話主密鑰和解析器主密鑰的情況下重新組裝或恢復原始信肩、O
[0427]本不例描述了本發明方法的一個實施例,而且還在另一個實施例中描述了這樣的算法,該算法被用於將份額放置到貯藏器中,以使得可組合來自所有貯藏器的份額,以形成機密認證材料。所需要的計算非常簡單,而且快。但是,就一次一密(OTP)算法而言,因為密鑰大小與將被存儲的數據的大小相同,所以可能存在使得它不是那麼令人滿意的狀況,諸如,將被安全保護的大型數據組。因此,需要存儲和發送大約兩倍的原始數據量,這在某些狀況下可能不是那麼令人滿意。
[0428]流密碼RSl
[0429]流密碼RSl分割技術非常類似於本文描述的OTP分割技術。不是η字節隨機值,而是產生n』 = min(n,16)-字節隨機值,並將該隨機值用作RSl流密碼算法的密鑰。RSl流密碼算法的優點在於,從少得多的種子數產生偽隨機密鑰。在不損害安全性的情況下,RSl流密碼加密的執行速度也被評定為本領域公知的三重DES加密的速度的大約10倍。RSl流密碼算法在本領域是公知的,並可被用於產生XOR函數中所使用的密鑰。RSl流密碼算法能夠與其它市售的流密碼算法共同使用,並且適合用於本發明的方法中,所述市售的流密碼算法諸如RSA Security, Inc的RC4?流密碼算法。
[0430]通過使用以上密鑰符號,Kl至K5現在是η』字節隨機值,我們設置:
[0431]SDl = SI XOR E(Kl)
[0432]SD2 = S2 XOR E (Κ2)
[0433]SD3 = S3 XOR E (Κ3)
[0434]SDn = Sn XOR E (Kn)
[0435]其中E(Kl)至E (Kn)是以Kl至Kn作為密鑰的RSl流密碼算法的輸出的第一個η』字節。現在如本文所述那樣將份額放置到數據貯藏器中。
[0436]在該流密碼RSl算法中,所需的計算幾乎如OTP算法那樣簡單和快速。使用RSl流密碼的該示例的益處在於,系統平均僅需要存儲和發送大約16個字節,這16個字節大於每個份額的將被安全保護的原始數據的大小。當原始數據的大小多於16個字節時,由於該RSl算法僅僅更短,所以它比OTP算法效率更高。本領域的普通技術人員易於明白的是,多種加密方法或算法適合用於本發明中,所述加密方法或算法包括,但不限於,RSU 0ΤΡ、RC4?、三重 DES 和 AES。
[0437]本發明的數據安全性方法和計算機系統提供優於傳統加密方法的主要優點。一個優點是,通過將數據份額移到一個或多個數據貯藏器或存儲裝置上的不同位置,來獲得安全性,所述不同位置可能是不同的邏輯位置、物理位置或地理位置。當數據份額例如在不同人員的控制下被物理分割時,損壞數據的可能性極大地降低。
[0438]本發明的方法和系統提供的另一優點是,組合用於安全保護數據的本發明的方法的步驟,以提供保持敏感數據的安全性的綜合處理。用安全密鑰對數據進行加密,並根據安全密鑰將數據分割為一個或多個份額,而且在一個實施例中,分割為四個份額。通過參考指針安全地存儲安全密鑰,所述參考指針根據安全密鑰被安全保護為四個份額。然後分別對數據份額進行加密,並將密鑰與不同的加密的份額一起安全地存儲。當組合時,根據本文描述的方法的用於安全保護數據的整個過程變為用於數據安全性的綜合包。
[0439]根據本發明的方法安全保護的數據可易於被檢索和恢復、重構、重新組裝、解密或以其它方式返回到其原始形式或者其它適合於使用的形式。為了恢復原始數據,可利用以下項:
[0440]1.數據組的所有份額或部分。
[0441]2.用於安全保護數據的方法的處理流程的了解和再現該處理流程的能力。
[0442]3.訪問會話主密鑰。
[0443]4.訪問解析器主密鑰。
[0444]因此,可以期望的是,規劃這樣一種安全安裝,在該安全安裝中,可使以上元件中的至少一個與系統的其餘組件在物理上分離(在例如不同的系統管理員的控制下)。
[0445]可通過使用解析器主密鑰來實施通過調用數據安全保護方法對破壞應用程式的防禦。在採取任何動作之前,在本發明的本實施例中可能要求安全數據解析器與應用程式之間的人工認證握手。
[0446]系統的安全性規定不存在用於重建原始數據的「後門」方法。對於可引起數據恢復問題的安裝,安全數據解析器可被增強以提供四個份額和會話主密鑰貯藏器的鏡像。諸如RAID (用於在幾個盤上散布信息的廉價磁碟冗餘陣列)的硬體選項和諸如複製的軟體選項也可輔助數據恢復規劃。
[0447]密鑰管理
[0448]在本發明的一個實施例中,數據安全保護方法將三組密鑰用於加密操作。每組密鑰可具有基於安裝的各自的密鑰存儲、檢索、安全性和恢復選項。可使用的密鑰包括,但不限於:
[0449]解析器主密鑰
[0450]該密鑰是與安全數據解析器的安裝相關聯的獨立密鑰。它安裝在其上已部署安全數據解析器的伺服器上。存在適合於安全保護該密鑰的多種選擇,包括,但不限於,例如,智慧卡、分離的硬體密鑰儲存器、標準密鑰儲存器、定製密鑰儲存器或者在受到安全保護的資料庫表內。
[0451]會話主密鑰
[0452]每次安全保護數據時,可產生會話主密鑰。會話主密鑰被用於在解析和分割操作之前對數據進行加密。還可將它作為解析加密數據的手段併入(如果會話主密鑰沒有集成到解析數據中)。可以以多種方式安全保護會話主密鑰,所述方式包括,但不限於,例如,標準密鑰儲存器、定製密鑰儲存器、分離的資料庫表或者在加密的份額內安全保護。
[0453]份額加密密鑰
[0454]對於創建的數據組的每個份額或部分,可產生獨立的份額加密密鑰,以進一步對份額進行加密。份額加密密鑰可存儲在與已被加密的份額不同的份額中。
[0455]本領域的普通技術人員易於明白的是,本發明的數據安全保護方法和計算機系統可廣泛應用於任何設置或環境下的任何類型的數據。除了通過網際網路或者在消費者與賣方之間進行的商業應用之外,本發明的數據安全保護方法和計算機系統非常適用於非商業性的或私人的設置或環境。可使用本文所述的方法和系統來安全保護期望保持不受任何未授權用戶攻擊的任何數據組。例如,通過利用用於安全保護數據的本發明的方法和系統,可以有利地使公司或組織內對特定資料庫的存取僅限於被選用戶。另一個示例是產生、修改或存取文檔,其中,期望在一組被選個人、計算機或工作站外部限制存取或者阻止未授權的或意外的存取或公開。按照本發明的數據安全保護方法和系統可應用於任何設置的任何非商業性或商業性環境或設置的方式的這些示例和其它示例包括,但不限於,任何組織、政府機構或公司。
[0456]在本發明的另一個實施例中,數據安全保護方法將三組密鑰用於加密操作。基於安裝,每組密鑰可具有各自的密鑰存儲、檢索、安全性和恢復選項。可使用的密鑰包括,但不限於:
[0457]1、解析器主密鑰
[0458]該密鑰是與安全數據解析器的安裝相關聯的獨立密鑰。它安裝在其上已部署安全數據解析器的伺服器上。存在適合於安全保護該密鑰的多種選擇,包括,但不限於,例如智慧卡、分離的硬體密鑰儲存器、標準密鑰儲存器、定製密鑰儲存器或在受到安全保護的資料庫表內。
[0459]2、會話主密鑰
[0460]每次安全保護數據時,可產生會話主密鑰。會話主密鑰與解析器主密鑰結合使用,以得到中間密鑰。可以以各種方式安全保護會話主密鑰,所述方式包括,但不限於,例如,標準密鑰儲存器、定製密鑰儲存器、分離的資料庫表或在加密的份額內受到安全保護。
[0461]3、中間密鑰
[0462]每次安全保護數據時,可產生中間密鑰。中間密鑰被用於在解析和分割操作之前對數據進行加密。還可將它作為對加密數據進行解析的手段併入。
[0463]4、份額加密密鑰
[0464]對於創建的數據組的每個份額或部分,可產生獨立的份額加密密鑰,以進一步對份額進行加密。份額加密密鑰可存儲在與已被加密的份額不同的份額中。
[0465]本領域的普通技術人員易於明白的是,本發明的數據安全保護方法和計算機系統可廣泛應用於任何設置或環境下的任何類型的數據。除了通過網際網路或者在消費者與賣方之間進行的商業應用之外,本發明的數據安全保護方法和計算機系統非常適用於非商業性的或私人的設置或環境。可通過使用本文所述的方法和系統來安全保護期望保持不受任何未授權用戶攻擊的任何數據組。例如,通過利用用於安全保護數據的本發明的方法和系統,可以有利地使公司或組織內對特定資料庫的存取僅限於被選用戶。另一個示例是產生、修改或存取文檔,其中,期望在一組被選個人、計算機或工作站外部限制存取或者阻止未授權的或意外的存取或公開。按照本發明的數據安全保護方法和系統可應用於任何設置的任何非商業性或商業性環境或設置的方式的這些示例和其它示例包括,但不限於,任何組織、政府機構或公司。
[0466]工作組、項目、獨立PC/筆記本或跨平臺數據安全性
[0467]本發明的數據安全保護方法和計算機系統還可用於通過在例如企業、辦公室、政府機構或者創建、處理或存儲敏感數據的任何設置中使用的工作組、項目、獨立PC/筆記本和任何其它平臺來安全保護數據。本發明提供安全保護下述數據的方法和計算機系統,所述數據已知是諸如美國政府的組織企圖得到的,以用於在整個政府組織或者在州或聯邦級別的政府之間實現。
[0468]本發明的數據安全保護方法和計算機系統不僅提供解析和分割平面文件的能力,還提供解析和分割任何類型的數據欄位、集合和/或表格的能力。另外,所有形式的數據能夠在該處理下受到安全保護,所述數據包括,但不限於,文本、視頻、圖像、生物辨識和語音數據。本發明的安全保護數據的方法的可分級性、速度和數據吞吐量僅限於由用戶支配的硬體。
[0469]在本發明的一個實施例中,在工作組環境下如下所述那樣利用數據安全保護方法。在一個實施例中,如圖23所示和以下所述,本發明的工作組規模的數據安全保護方法使用TrustEngine的私鑰管理功能來存儲用戶/群體關係以及一組用戶共享安全數據所需的相關聯的私鑰(解析器群體主密鑰)。根據解析器主密鑰如何部署的方式,本發明的方法具有安全保護用於企業、工作組或個人用戶的數據的能力。
[0470]在一個實施例中,可提供另外的密鑰管理和用戶/組管理程序,從而使得能夠用單點控制和密鑰管理實現大規模工作組實現。密鑰產生、管理和撤銷用單個維護程序處理,隨著用戶數量增加,密鑰產生、管理和撤銷都變得尤其重要。在另一個實施例中,還可在一個或幾個不同的系統管理員之間建立密鑰管理,這可以不允許任何個人或組根據需要控制數據。這允許根據如由組織限定的角色、責任、成員資格、權利等獲得安全保護的數據的管理,並且對安全保護的數據的存取可僅限於那些被準許或被要求僅對他們工作的部分進行存取的人,而其他人,諸如管理人員或主管領導可對所有安全保護的數據進行存取。本實施例允許在公司或組織內的不同組之間共享安全保護的數據,同時僅允許某些被選個人(諸如具有授權和預定角色以及責任的那些人)整體觀察數據。另外,本發明的方法和系統的本實施例也允許在例如不同的公司或者公司的不同部門或分組或者任何政府或組織或者任何類型機構的任何不同組織部門、群體、機構或辦公室等之間共享數據,在這些地方,要求一些共享,但是不是任何一方可被準許對所有數據進行存取。對於本發明的這樣的方法和系統的需求和效用的特別明顯的示例是允許例如在行政區域、機構和辦公室之間共享但保持安全性,並且在大公司或任何其它組織的不同的分組、部門或辦公室之間共享但保持安全性。
[0471]本發明方法的較小規模的適用性的示例如下。解析器主密鑰被用作安全數據解析器對組織的序列化或品牌化。當解析器主密鑰的使用規模從整個企業減小為較小的工作組時,本文描述的數據安全保護方法被用於在多組用戶內共享文件。
[0472]在圖25中所示的並且在以下描述的示例中,限定了六個用戶以及他們在組織內的職稱或角色。側面的條代表用戶可根據他們的角色所屬的五個可能的群體。箭頭代表用戶在一個或多個群體中的成員資格。
[0473]當構造本示例中所使用的安全數據解析器時,系統管理員通過維護程序從作業系統存取用戶和群體信息。該維護程序產生解析器群體主密鑰,並基於用戶在群體中的成員資格將解析器群體主密鑰分配給他們。
[0474]在本示例中,在高級職員群體中有三個成員。對於該群體,動作將是:
[0475]1.訪問用於高級職員群體的解析器群體主密鑰(如果不可獲得,則產生密鑰);
[0476]2.產生將CEO與高級職員群體關聯的數字證書;
[0477]3.產生將CFO與高級職員群體關聯的數字證書;
[0478]4.產生將副總裁、市場營銷與高級職員群體關聯的數字認證。
[0479]對於每個群體和每個群體內的每個成員將執行同一組動作。當維護程序完成時,解析器群體主密鑰變成群體的每個成員的共享憑證。當通過維護程序將用戶從群體去除而不影響群體中的其餘成員時,可自動撤銷分配的數字證書。
[0480]一旦共享憑證被定義,解析和分割處理就保持相同。當將安全保護文件、文檔或數據元素時,向用戶提示當安全保護數據時將使用的目標群體。所得的安全保護的數據僅可被目標群體的其他成員存取。本發明的方法和系統的這種功能可被用於任何其它計算機系統或軟體平臺,並且可以例如被集成到現存的應用程式中,或者為了文件安全性可被獨立使用。
[0481]本領域的普通技術人員易於明白的是,任何一種加密算法或者加密算法的組合適合用在本發明的方法和系統中。例如,在一個實施例中,可重複加密步驟,以產生多層加密方案。另外,在重複加密步驟中可使用不同的加密算法或者加密算法的組合,以使得不同的加密算法被應用於多層加密方案的不同層。這樣,加密方案本身可變為本發明的方法的用於安全保護敏感數據不被未授權地使用或存取的組成部分。
[0482]安全數據解析器可包括作為內部組件的、作為外部組件的或者作為這二者的驗錯組件。例如,在一種合適的方法中,當使用根據本發明的安全數據解析器創建數據的部分時,為了確保一部分內的數據完整性,在該部分內以預設間隔取得散列值,並將該散列值附加到該間隔的末尾。散列值是數據的可預測的且可再現的數字表示。如果數據內的任何比特改變,則散列值將不同。掃描模塊(或者作為安全數據解析器外部的獨立組件,或者作為內部組件)然後可掃描由安全數據解析器產生的數據部分。將每個數據部分(或者可替換地,根據某個間隔或者通過隨機或偽隨機採樣,少於所有數據部分)與附加的一個散列值或多個散列值進行比較,並可採取動作。該動作可包括報告匹配或不匹配的值、對於不匹配的值發出警告或者調用一些外部或內部程序來觸發數據的恢復。例如,根據本發明,可基於下述概念調用恢復模塊來執行數據的恢復,所述概念即,根據本發明產生原始數據可能需要比所有部分少的部分。
[0483]可使用附加到所有數據部分或者數據部分的一個子集中的任何位置的任何合適的完整性信息來實現任何其它合適的完整性檢查。完整性信息可包括可被用於確定數據部分的完整性的任何合適的信息。完整性信息的示例可包括基於以下計算的散列值:任何合適的參數(比如,基於各個數據部分)、數字籤名信息、消息認證碼(MAC)信息、任何其它合適的信息或它們的組合。
[0484]本發明的安全數據解析器可用於任何合適的應用中。也就是,本文描述的安全數據解析器在不同的計算和【技術領域】中具有多種應用。以下論述幾個這樣的領域。應該理解,這些在本質上僅僅是示例性的,並且任何其它合適的應用可利用安全數據解析器。還應該理解,所描述的示例僅僅是示例性實施例,為了滿足任何合適的需求,可以以任何合適的方式對這些示例性實施例進行修改。例如,解析和分割可基於任何合適的單元,例如,按照比特、按照字節、按照千字節、按照兆字節、按照它們的任何組合或按照任何其它合適的單元。
[0485]本發明的安全數據解析器可被用於實現安全物理令牌,由此為了存取存儲在另一個存儲區域中的另外的數據,可能需要存儲在物理令牌中的數據。在一種合適的方法中,根據本發明,物理令牌可被用於存儲解析數據的至少兩個部分之一,所述物理令牌諸如小型USB快閃記憶體、軟盤、光碟、智慧卡或任何其它合適的物理令牌。為了存取原始數據,可能需要接AUSB快閃記憶體。因此,保存解析數據的一部分的個人計算機將需要在可存取原始數據之前連接具有解析數據的另一部分的USB快閃記憶體。圖26示出該應用。存儲區域2500包括一部分解析數據2502。為了存取原始數據,將需要使用任何合適的通信接口 2508(比如,USB、串行、並行、藍牙、IR、IEEE1394、乙太網或任何其它合適的通信接口)將具有一部分解析數據2506的物理令牌2504連接到存儲區域2500。在例如不幹預計算機上的敏感數據並且對該敏感數據進行未授權的存取嘗試的情況下,這是有用的。通過移除物理令牌(比如,USB快閃記憶體),敏感數據不可存取。將理解,可使用利用物理令牌的任何其它合適的方法。
[0486]本發明的安全數據解析器可被用於實現安全認證系統,由此使用安全數據解析器來解析和分割用戶註冊數據(比如,密碼、私有加密密鑰、指紋模板、生物辨識數據或任何其它合適的用戶註冊數據)。可解析和分割用戶註冊數據,由此將一個或多個部分存儲在智慧卡、政府通用存取卡、任何合適的物理存儲設備(比如,磁碟或光碟、USB快閃記憶體等)或者任何其它合適的設備中。可將解析的用戶註冊數據的一個或多個其它部分存儲在執行認證的系統中。這為認證處理提供了增加的安全級別(比如,除了從生物辨識源獲得的生物辨識認證信息之外,還必須通過合適的解析且分割的數據部分獲得用戶註冊數據)。
[0487]可將本發明的安全數據解析器集成到任何合適的現存系統中,以便在每個系統的相應環境中提供其功能性的使用。圖27顯示示例性系統2600的框圖,示例性系統2600可包括用於實現任何合適的應用的軟體、硬體或這二者。系統2600可以是現存系統,在該系統中,安全數據解析器2602可被改裝為集成組件。可替換地,可將安全數據解析器2602從例如其最早的設計級集成到任何合適的系統2600中。可在系統2600的任何合適的級別集成安全數據解析器2600。例如,可在足夠後端的級別將安全數據解析器2602集成到系統2600中,以使得安全數據解析器2602的存在對於系統2600的終端用戶可以基本上是透明的。根據本發明,安全數據解析器2602可被用於在一個或多個存儲設備2604之間解析和分割數據。以下對在其中集成有安全數據解析器的系統的一些示例性示例進行論述。
[0488]可將本發明的安全數據解析器集成到作業系統內核(比如,LiniDuUnix或任何其它合適的商用或專用作業系統)中。該集成可被用於保護設備級別的數據,由此,例如,安全數據解析器將通常將存儲在一個或多個設備中的數據分成某數量的部分,所述安全數據解析器集成到作業系統中並存儲在所述一個或多個設備之間。當嘗試存取原始數據時,也集成到作業系統中的合適的軟體可以以對於終端用戶可以透明的方式將解析的數據部分重新組合為原始數據。
[0489]可將本發明的安全數據解析器集成到存儲系統的容量管理器或任何其它合適的組件中,以保護任何或所有支持平臺上的本地和聯網數據存儲。例如,就集成的安全數據解析器而言,存儲系統可利用由安全數據解析器提供的冗餘(即,其被用於實現這樣的特徵,即,為重構原始數據需要比所有的分離的數據部分少的數據部分)來防止數據丟失。安全數據解析器還使得:無論是否使用冗餘,寫入到存儲設備的所有數據都可具有根據本發明的解析產生的多個部分的形式。當嘗試存取原始數據時,也集成到存儲系統的容量管理器或任何其它合適的組件中的合適的軟體可以以對於終端用戶可以透明的方式將解析的數據部分重新組合為原始數據。
[0490]在一種合適的方法中,可將本發明的安全數據解析器(作為硬體或軟體)集成到RAID控制器中。這使得可在驅動故障時保持容錯性的同時將數據安全地存儲到多個驅動器。
[0491]可將本發明的安全數據解析器集成到資料庫中,以便例如保護敏感表格信息。例如,在一種合適的方法中,可根據本發明對與資料庫表格的特定單元相關聯的數據(比如,各個單元、一個或多個特定列、一個或多個特定行、它們的任何組合或整個資料庫表格)進行解析和分離(比如,將不同部分存儲在在一個或多個位置處的一個或多個存儲設備上或者單個存儲設備上)。可通過傳統的認證方法(比如,用戶名和密碼查詢)準予為了查看原始數據而進行存取以重新組合部分。
[0492]可將本發明的安全解析器集成到涉及運動數據(即,將數據從一個位置傳送到另一個位置)的任何合適的系統中。這樣的系統包括,例如,電子郵件、流傳輸數據廣播和無線(比如,WiFi)通信。關於電子郵件,在一種合適的方法中,安全解析器可被用於:解析輸出消息(即,包含文本、二進位數據或者這二者(比如,附加到電子郵件消息的文件));和將解析數據的不同部分沿著不同路徑發送,從而創建多個數據流。如果這些數據流中的任何一個受損,則由於為了產生原始數據,系統可以要求根據本發明組合所述部分中的多於一個,所以原始消息保持安全。在另一種合適的方法中,可沿著一個路徑順序地傳送不同數據部分,以使得如果獲得一個部分,則可能不足以產生原始數據。不同部分到達預期接收者的位置,並可根據本發明被組合以產生原始數據。
[0493]圖28和圖29是這樣的電子郵件系統的示例性框圖。圖28顯示發送系統2700,發送系統2700可包括任何合適的硬體,諸如計算機終端、個人計算機、手持設備(比如,PDA、黑莓)、蜂窩電話、計算機網絡、任何其它合適的硬體或它們的組合。發送系統2700被用於產生和/或存儲消息2704,消息2704可以是例如電子郵件消息、二進位數據文件(比如,圖形、語音、視頻等)或者這二者。根據本發明,安全數字解析器2702對消息2704進行解析和分割。可通過網絡2708(比如,網際網路、內聯網、LAN、WiF1、藍牙、任何其它合適的硬連線或無線通信裝置或者它們的組合)經由一個或多個分離的通信路徑2706將所得的數據部分傳送到接收系統2710。可在時間上並行地傳送數據部分,或者可替換地,根據不同數據部分的傳送之間的任何合適的時間延遲來傳送數據部分。接收系統2710可以是以上參照發送系統2700描述的任何合適的硬體。根據本發明,在接收系統2710重新組合沿著通信路徑2706傳載的分離的數據部分,以產生原始消息或數據。
[0494]圖29顯示發送系統2800,發送系統2800可包括任何合適的硬體,諸如計算機終端、個人計算機、手持裝置(比如,PDA)、蜂窩電話、計算機網絡、任何其它合適的硬體或它們的組合。發送系統2800被用於產生和/或存儲消息2804,消息2804可以是例如電子郵件消息、二進位數據文件(比如,圖形、語音、視頻等)或者這二者。根據本發明,安全數字解析器2802對消息2804進行解析和分割。可通過網絡2808(比如,網際網路、內聯網、LAN、WiF1、藍牙、任何其它合適的通信裝置或者它們的組合)經由單個通信路徑2806將所得的數據部分傳送到接收系統2810。可經由通信路徑2806關於彼此串行地傳送數據部分。接收系統2810可以是以上關於發送系統2800描述的任何合適的硬體。根據本發明,在接收系統2810重新組合沿著通信路徑2806傳載的分離的數據部分,以產生原始消息或數據。
[0495]應該理解,圖28和圖29的布置僅僅是示例性的。可使用任何其它合適的布置。例如,在另一種合適的方法中,可組合圖28和圖29的系統的特徵,由此使用圖28的多路徑方法,在該方法中,使用通信路徑2706中的一個或多個來傳載多於一個數據部分,如同通信路徑2806在圖29的情景中那樣傳載。
[0496]可在數據輸入運動系統的任何合適的級別集成安全數據解析器。例如,在電子郵件系統的情景中,可在用戶接口級別集成安全解析器(比如,集成到微軟? Outlook中),在這種情況下,當使用電子郵件時,用戶可控制安全數據解析器特徵的使用。可替換地,可在後端組件中(諸如在交互伺服器處)實現安全解析器,在這種情況下,消息可根據本發明被自動解析、分割和沿著不同路徑傳送,而無需任何用戶介入。
[0497]類似地,在數據(比如,音頻、視頻)的流傳輸廣播的情況下,可將輸出數據解析和分離為多個流,每個流包含解析數據的一部分。根據本發明,可沿著一個或多個路徑發送多個流,並在接收者的位置重新組合這些流。該方法的益處之一是,它避免了與傳統的數據加密相關聯的相對大的開銷,傳統的數據加密之後通過單個通信信道發送加密的數據。本發明的安全解析器使得可按多個並行流發送運動中的數據,從而提高速度和效率。
[0498]應該理解,為了保護任何類型的通過任何傳輸介質的運動數據和該數據的容錯性,可集成安全數據解析器,所述傳輸介質包括,例如,有線的、無線的或者物理的。例如,IP電話(VoIP)應用可利用本發明的安全數據解析器。可使用本發明的安全數據解析器來安全保護來往於任何合適的個人數字助理(PDA)設備的無線或有線數據傳輸,所述PDA設備諸如黑莓和智慧型手機。下述通信可涉及根據本發明的安全數據解析器的運動數據能力,所述通信將無線802.11協議用於對等和基於交換機的無線網絡、衛星通信、點對點無線通信、網際網路客戶端/伺服器通信或任何其它合適的通信。計算機外圍設備(比如,印表機、掃描儀、監視器、鍵盤、網絡路由器、生物辨識認證設備(比如,指紋掃描儀)或任何其它合適的外圍設備)之間的數據通信、計算機與計算機外圍設備之間的數據通信、計算機外圍設備與任何其它合適的設備之間的數據通信或者它們的任何組合可利用本發明的運動數據特徵。
[0499]本發明的運動數據特徵還可通過使用例如分離的路由、載體、方法、任何其它合適的物理傳輸或它們的組合應用於安全份額的物理傳輸。例如,數據的物理傳輸可發生在數字帶/磁帶、軟盤、光碟、物理令牌、USB驅動器、可移動硬碟驅動器、具有快閃記憶體的消費者電子設備(比如,蘋果IPOD或其它MP3播放器)、快閃記憶體、用於傳輸數據的任何其它合適的介質或者它們的組合上。
[0500]本發明的安全數據解析器可提供具有故障恢復能力的安全性。根據本發明,為了檢索原始數據,可能必需比由安全數據解析器產生的分離數據的所有部分少的部分。也就是說,在存儲的m個部分中,η可以是這m個部分中檢索原始數據所需的最小數量,其中n〈=m。例如,如果四個部分中的每個相對於其它三個部分被存儲在不同的物理位置,那麼,如果在本示例中η = 2,則所述位置中的兩個可受損,由此數據被破壞或不可存取,並且可仍從其餘兩個位置中的部分檢索原始數據。可將任何合適的值用於η或m。
[0501]另外,本發明的m個特徵中的η個可被用於創建「兩人規則」,由此為了避免委託單個個人或任何其它實體完全存取可能是敏感數據的內容,兩個或更多個獨特的實體可能需要同意將他們的部分放在一起,以便檢索原始數據,所述實體每個具有由本發明的安全解析器解析的分離數據的一部分。
[0502]本發明的安全數據解析器可被用於提供具有全群體密鑰的一組實體,所述全群體密鑰使得群體成員可存取被授權被該特定群體存取的特定信息。群體密鑰可以是由根據本發明的安全解析器產生的數據部分中的一個數據部分,例如,為了檢索尋找的信息,可能需要將所述一個數據部分與集中存儲的另一個部分組合。該特徵使得例如可在群體之間進行安全合作。它可應用於例如專用網絡、虛擬私人網絡、內聯網或任何其它合適的網絡。
[0503]安全解析器的這種使用的特定應用包括,例如,聯合信息共享,在所述聯合信息共享中,例如,給予多國友好政府部隊在下述安全級別上傳送軍事行動數據和其它敏感數據的能力,所述安全級別通過單一網絡或對偶網絡(即,與目前所用的涉及相對大量的手動處理的許多網絡相比)被授予每個各自的國家。該能力也可應用於公司或其它組織,在所述公司或其它組織中,可通過單一網絡傳送(組織內的或者沒有組織的)一個或多個特定個人需要知道的信息,而無需擔心未授權的個人查看該信息。
[0504]另一個特定應用包括用於政府系統的多級別安全性層次體系。也就是說,本發明的安全解析器可提供使用單一網絡按機密信息的不同等級級別(比如,不機密、機密、秘密、絕密)操作政府系統的能力。如果需要,可使用多個網絡(比如,對於絕密,使用單獨的網絡),但是本發明給予基本上比目前布置更少的布置,在目前布置中,不同網絡被用於每個級別的機密。
[0505]應該理解,可使用本發明的安全解析器的上述應用的任何組合。例如,群體密鑰應用可與運動數據安全性應用一起使用(即,由此通過網絡傳送的數據僅可被相應群體的成員存取,並且在這種情況下,在數據正在運動的同時,根據本發明將該數據在多個路徑之間分割(或者按順序部分發送))。
[0506]可將本發明的安全數據解析器集成到任何中間件應用程式中,以使得應用程式能夠在不修改應用程式或資料庫的情況下將數據安全地存儲到不同的資料庫產品或者不同的設備。中間件是對於使得兩個分離的且已經存在的應用程式或資料庫可進行通信的任何產品的通用術語。例如,在一種合適的方法中,集成有安全數據解析器的中間件可被用於使得對於特定資料庫編寫的程序可與其它資料庫進行通信,而不用定製編碼。
[0507]本發明的安全數據解析器可被實現為具有任何合適能力(諸如,本文論述的那些能力)的任何組合。在本發明的一些實施例中,例如,可實現這樣的安全數據解析器,該安全數據解析器僅具有特定能力,而其它能力可通過使用與安全數據解析器直接或間接通過接口連接的外部軟體、硬體或者這二者來獲得。
[0508]例如,圖30顯示安全數據解析器作為安全數據解析器3000的示例性實現。安全數據解析器3000可被實現為具有非常少的內置能力。如所示,安全數據解析器3000可包括這樣的內置能力,即,根據本發明使用模塊3002解析數據和將該數據分割為數據部分(本文也稱為份額)。安全數據解析器3000還可包括這樣的內置能力,即,執行冗餘,以便能夠使用模塊3004實現例如上述的η個特徵中的m個特徵(即,使用比解析的且分割的數據的所有份額少的份額來重建原始數據)。根據本發明,安全數據解析器3000還可包括使用模塊3006的份額分布能力,模塊3006用於將數據份額放置到將它們從其傳送到遠程位置進行存儲等的緩衝器中。應當理解,任何其它合適的能力可被構建到安全數據解析器3000中。
[0509]組裝數據緩衝器3008可以為被用於存儲安全數據解析器3000將對其進行解析和分割的原始數據(但是,不必是其原始形式)的任何合適的存儲器。在分割操作中,組裝數據緩衝器3008為安全數據解析器3008提供輸入。在恢復操作中,組裝數據緩衝器3008可被用於存儲安全數據解析器3000的輸出。
[0510]分割份額緩衝器3010可以是可被用於存儲從原始數據的解析和分割得到的多個數據份額的一個或多個存儲器模塊。在分割操作中,分割份額緩衝器3010保存安全數據解析器的輸出。在恢復操作中,分割份額緩衝器保存安全數據解析器3000的輸入。
[0511]應該理解,對於安全數據解析器3000可內置任何其它合適的能力的布置。任何另外的特徵可以是內置的,並且可以以任何合適的方式移除所示特徵中的任何一個、使得所示特徵中的任何一個更魯棒、使得所示特徵中的任何一個不是那麼魯棒或者以其它方式修改所示特徵中的任何一個。緩衝器3008和3010同樣僅僅是示例性的,並可以以任何合適的方式對緩衝器3008和3010進行修改、移除或添加。
[0512]用軟體、硬體或者這二者實現的任何合適的模塊可被安全數據解析器3000調用或者可調用安全數據解析器3000。如果需要,則甚至構建到安全數據解析器3000中的能力也可用一個或多個外部模塊替換。如所不,一些外部模塊包括隨機數產生器3012、密碼反饋密鑰產生器3014、散列算法3016、任何一種或多種類型的加密3018和密鑰管理3020。應當理解,這些僅僅是示例性的外部模塊。除了示出的這些模塊之外或者代替示出的這些模塊,可使用任何其它合適的模塊。
[0513]在安全數據解析器3000外部的密碼反饋密鑰產生器3014可(通過使用例如隨機數產生器3012)為每個安全數據解析器操作產生唯一的密鑰或隨機數,所述唯一的密鑰或隨機數將被用作用於將原始會話密鑰大小(比如,128、256、512或1024個比特)擴展為與將被解析和分割的數據的長度相等的值的操作的種子值。任何合適的算法可被用於產生密碼反饋密鑰,所述算法包括,例如,AES密碼反饋密鑰產生算法。
[0514]為了使安全數據解析器3000及其外部模塊(S卩,安全數據解析器層3026)到應用層3024(比如,電子郵件應用程式、資料庫應用程式等)中的集成便利,可使用可利用例如API函數調用的包裝層。可使用使安全數據解析器層3026到應用層3024中的集成便利的任何其它合適的布置。
[0515]圖31示例性地顯示當在應用層3024中發出寫(比如,寫到存儲設備)、插入(比如,插入到資料庫欄位中)或者發送(比如,通過網絡發送)命令時可如何使用圖30的布置。在步驟3100,識別將被安全保護的數據,並調用安全數據解析器。所述調用通過包裝層3022,在該情況下,在步驟3102,包裝層3022將在步驟3100識別的輸入數據流傳輸到組裝數據緩衝器3008中。此外,在步驟3102,可存儲任何合適的份額信息、文件名、任何其它合適的信息或者它們的組合(比如,作為信息3106存儲在包裝層3022)。根據本發明,安全數據處理器3000然後對它從組裝數據緩衝器3008作為輸入取得的數據進行解析和分割。它將數據份額輸出到分割份額緩衝器3010中。在步驟3104,包裝層3022從存儲的信息3106獲得任何合適的份額信息(即,由包裝層3022在步驟3102存儲的份額信息)和(比如,從一個或多個配置文件獲得)份額位置。包裝層3022然後適當地寫(從分割份額緩衝器3010中獲得的)輸出份額(比如,寫到一個或多個存儲設備、傳送到網絡上等)。
[0516]圖32示例性地顯示當讀(比如,從存儲設備讀)、選擇(比如,從資料庫欄位選擇)或者接收(比如,從網絡接收)時可如何使用圖30的布置。在步驟3200,識別將被恢復的數據,並從應用層3024調用安全數據解析器3000。在步驟3202,從包裝層3022獲得任何合適的份額信息,並確定份額位置。包裝層3022將在步驟3200識別的數據部分加載到分割份額緩衝器3010中。安全數據解析器3000然後根據本發明對這些份額進行處理(比如,如果僅四個份額中僅三個份額可用,則可使用安全數據解析器3000的冗餘能力來通過僅使用三個份額恢復原始數據)。然後將恢復的數據存儲在組裝數據緩衝器3008中。在步驟3204,應用層3022將存儲在組裝數據緩衝器3008中的數據轉換為其原始數據格式(如果必要的話),並將其原始格式的原始數據提供給應用層3024。
[0517]應該理解,圖31中示出的原始數據的解析和分割及圖32中示出的數據部分到原始數據的恢復僅僅是示例性的。除了示出的這些處理和組件之外或者代替示出的這些處理和組件,可使用其它合適的處理、組件或者這二者。
[0518]圖33是根據本發明的一個實施例的用於解析原始數據並將該原始數據分割成兩個或更多個數據部分的示例性處理流程的框圖。如所示,期望被解析和分割的原始數據是純文本3306(即,單詞「SUMMIT」被用作示例)。應該理解,根據本發明,可對任何其它類型的數據進行解析和分割。產生會話密鑰3300。如果會話密鑰3300的長度與原始數據3306的長度不一致,則可產生密碼反饋會話密鑰3304。
[0519]在一種合適的方法中,可在解析、分割或者這二者之前對原始數據3306進行加密。例如,如圖33所示,原始數據3306可與任何合適的值(比如,與密碼反饋會話密鑰3304或與任何其它合適的值)進行XOR運算。應該理解,代替示出的XOR技術或者除了示出的XOR技術之外,可使用任何其它合適的加密技術。還應該理解,雖然以字節為單位按照逐字節操作示出圖33,但是操作可在比特級別或者任何其它合適的級別進行。還應該理解,如果需要,無論原始數據3306如何,都不需要任何加密。
[0520]然後使所得的加密數據(或者原始數據(如果沒有進行加密))散列化,以確定在輸出存儲桶(比如,在示出的示例中存在四個輸出存儲桶)之間如何分割加密(或原始)數據。在示出的示例中,散列化按字節進行,並且散列化是密碼反饋會話密鑰3304的函數。應該理解這僅僅是示例性的。如果需要,可在比特級別執行散列化。散列化可以是除密碼反饋會話密鑰3304之外的任何其它合適的值的函數。在另一種合適的方法中,不需要使用散列化。此外,可利用用於分割數據的任何其它合適的技術。
[0521]圖34是根據本發明的一個實施例的用於從原始數據3306的兩個或更多個解析的且分割的部分恢復原始數據3306的示例性處理流程的框圖。該處理涉及作為密碼反饋會話密鑰3304的函數對所述部分進行反向散列化(即,與圖33的處理相反),以恢復加密的原始數據(或者原始數據(如果在解析和分割之前沒有進行加密))。加密密鑰然後可被用於恢復原始數據(即,在示出的示例中,密碼反饋會話密鑰3304被用於通過將它與加密數據進行XOR運算來對XOR加密進行解密)。這樣,恢復了原始數據3306。
[0522]圖35顯示在圖33和圖34的示例中如何實現比特分割。可使用散列(比如,作為密碼反饋會話密鑰的函數,作為任何其它合適的值的函數)來確定分割數據的每個字節的位值。應該理解,這僅僅是在比特級別執行分割的一種示例性方式。可使用任何其它合適的技術。
[0523]應該理解,可關於任何合適的散列算法進行本文提出的散列功能的任何論述。這些包括,例如,MD5和SHA-1。可在不同的時間由本發明的不同組件使用不同的散列算法。
[0524]在根據以上示例性過程或者通過任何其它程序或算法確定分割點之後,可確定關於將左段和右段中的每個附加到哪些數據部分。可使用任何合適的算法進行這個確定。例如,在一種合適的方法中,可創建(比如,以左段目的地和右段目的地的配對的形式的)所有可能的分布的表,由此可通過下述方式確定用於左段和右段中的每個的目的地共享值,即,對會話密鑰、密碼反饋會話密鑰中的對應數據或者任何其它合適的隨機或偽隨機值使用任何合適的散列函數,所述隨機或偽隨機值可被產生和擴展到原始數據的大小。例如,可對隨機或偽隨機值中的對應字節執行散列函數。散列函數的輸出被用於確定從所有目的地組合的表選擇哪個目的地配對(即,一個用於左段,一個用於右段)。基於該結果,將分割數據單元的每段附加到作為散列函數的結果而被選擇的表值所指示的相應兩個份額。
[0525]根據本發明,可將冗餘信息附加到數據部分,以使得可使用比所有數據部分少的部分恢復原始數據。例如,如果期望四個部分中的兩個足以恢復數據,則可以以例如循環的方式將來自份額的附加數據相應地附加到每個份額(比如,在原始數據的大小為4MB的情況下,那麼,份額I得到其自己的份額以及份額2和份額3的份額;份額2得到其自己的份額以及份額3和份額4的份額;份額3得到其自己的份額以及份額4和份額I的份額;份額4得到其自己的份額以及份額I和份額2的份額)。可根據本發明使用任何這樣的合適的冗餘。
[0526]應該理解,可使用任何其它合適的解析和分割方法來從根據本發明設置的原始數據產生數據部分。例如,可隨機地或偽隨機地基於逐比特處理解析和分割。可使用隨機或偽隨機值(比如,會話密鑰、密碼反饋會話密鑰等),由此對於原始數據中的每個比特,對隨機或偽隨機值中的對應數據進行散列函數的結果可指示將相應比特附加到哪個份額。在一種合適的方法中,可產生這樣的隨機或偽隨機值,該隨機或偽隨機值為原始數據的大小的8倍,或者被擴展到原始數據的大小的8倍,以使得可相對於原始數據的每個比特對隨機或偽隨機值的對應字節執行散列函數。根據本發明,可使用按照逐比特級別解析和分割數據的任何其它合適的算法。還應該意識到的是,可以例如以以上剛剛根據本發明描述的方式將冗餘數據附加到數據份額。
[0527]在一種合適的方法中,解析和分割不必是隨機的或偽隨機的。相反,可使用用於解析和分割數據的任何合適的確定性算法。例如,可利用將原始數據分解為順序份額作為解析和分割算法。另一個示例是逐個比特地解析和分割原始數據,以循環的方式將每個相應比特依次附加到數據份額。還應該意識到的是,可以例如以以上根據本發明描述的方式將冗餘數據附加到數據份額。
[0528]在本發明的一個實施例中,在安全數據解析器產生原始數據的許多部分以便恢復原始數據之後,所產生的部分中的某一個或某多個可以是強制性的。例如,如果所述部分之一用作(比如,保存在物理令牌設備上的)認證共享,並且如果正在使用安全數據解析器的容錯特徵(即,在恢復原始數據必需比所有部分少的部分的情況下),則即使安全數據解析器可使用原始數據的足夠多的部分以便恢復原始數據,在它恢復原始數據之前,它也可需要存儲在物理令牌設備上的認證份額。應該理解,可基於例如應用、數據類型、用戶、任何其它合適的因素或它們的任何組合要求任何數量和類型的特定份額。
[0529]在一種合適的方法中,安全數據解析器或者安全數據解析器的某個外部組件可對原始數據的一個或多個部分進行加密。為了恢復原始數據,可能需要提供加密部分並對這些加密部分進行解密。可用不同的加密密鑰對不同的加密部分加密。例如,這個特徵可被用於實現更安全的「兩人規則」,由此第一用戶將需要具有使用第一加密密鑰加密的特定份額,而第二用戶將需要具有使用第二加密密鑰加密的特定份額。為了存取原始數據,兩個用戶都將需要具有他們各自的加密密鑰和提供他們各自的原始數據部分。在一種合適的方法中,可使用公鑰對一個或多個數據部分進行加密,所述數據部分可以是恢復原始數據所需的強制性份額。然後,可使用私鑰對所述份額進行解密,以便使用該份額恢復原始數據。
[0530]可使用利用強制性份額的任何這樣的合適的範例,在該範例中,恢復原始數據需要比所有份額少的份額。
[0531]在本發明的一個合適的實施例中,可隨機地或偽隨機地處理數據到有限數量的數據份額的分配,以使得從統計角度來看,任何特定數據份額接收特定數據單元的概率等於其餘份額中的任何一個將接收該數據單元的概率。結果,每個數據份額將具有大致相等量的數據比特。
[0532]根據本發明的另一個實施例,所述有限數量的數據份額中的每個不必具有從原始數據的解析和分割接收數據單元的相等概率。相反,某一個或某多個份額可具有比其餘份額高或低的概率。結果,某些份額就比特大小而言可以比其它份額大或小。例如,在雙份額情形下,一個份額可具有接收數據單元的1%概率,而第二份額具有99%的概率。因此,應該遵循,一旦安全數據解析器在兩個份額之間分布數據單元,第一份額就應該具有大約1%的數據,而第二份額就應該具有99%的數據。根據本發明,可使用任何合適的概率。
[0533]應該理解,安全數據解析器還可被編程為也根據精確的(或近似精確的)百分數將數據分布給份額。例如,安全數據解析器可被編程為將80%的數據分布給第一份額,而將剩餘的20%數據分布給第二份額。
[0534]根據本發明的另一個實施例,安全數據解析器可產生數據份額,所述數據份額中的一個或多個具有預定義的大小。例如,安全數據解析器可將原始數據分割成數據部分,其中所述部分之一精確為256個比特。在一種合適的方法中,如果不可能產生具有所需大小的數據部分,則安全數據解析器可填充該部分,以使它具有正確大小。可使用任何合適的大小。
[0535]在一種合適的方法中,數據部分的大小可以為加密密鑰、分割密鑰、任何其它合適的密鑰或者任何其它合適的數據元素的大小。
[0536]如前所述,安全數據解析器可在數據的解析和分割中使用密鑰。為了清晰和簡明起見,本文中將這些密鑰稱為「分割密鑰」。例如,先前介紹的會話主密鑰是一種分割密鑰。此外,如前所述,可在由安全數據解析器產生的數據份額內安全保護分割密鑰。可使用安全保護分割密鑰的任何合適的算法來在數據份額之間安全保護它們。例如,可使用Shamir算法安全保護分割密鑰,由此產生可用於重構分割密鑰的信息,並將該信息附加到數據份額。根據本發明,可使用任何其它這樣的合適的算法。
[0537]類似地,根據諸如Shamir算法的任何合適的算法,可在一個或多個數據份額內安全保護任何合適的加密密鑰。例如,可使用例如Shamir算法或任何其它合適的算法來安全保護用於在解析和分割之前對數據組進行加密的加密密鑰、用於在解析和分割之後對數據部分進行加密的加密密鑰或者這二者。
[0538]根據本發明的一個實施例,可使用諸如全包變換的全或無變換(AoNT)來通過變換分割密鑰、加密密鑰、任何其他合適的數據元素或者它們的任何組合來進一步安全保護數據。例如,根據本發明的用於在解析和分割之前對數據組進行加密的加密密鑰可用AoNT算法變換。然後,可根據例如Shamir算法或任何其它合適的算法在數據份額之間分布變換的加密密鑰。為了重構加密密鑰,必須恢復加密的數據組(比如,如果根據本發明使用冗餘,則不必使用所有的數據份額),以便存取關於根據本領域技術人員公知的AoNT的變換的必要信息。當檢索原始加密密鑰時,可使用它來對加密的數據組進行解密,以檢索原始數據組。應該理解,本發明的容錯特徵可結合AoNT特徵使用。也就是,數據部分中可包括冗餘數據,以使得恢復加密的數據組必需比所有的數據部分少的數據部分。
[0539]應該理解,代替與解析和分割之前的數據組對應的相應加密密鑰的加密和AoNT或者除此之外,可將AoNT應用於用於對解析和分割之後的數據部分進行加密的加密密鑰。同樣,可將AoNT應用於分割密鑰。
[0540]在本發明的一個實施例中,為了向安全保護的數據組提供額外級別的安全性,可使用例如工作組密鑰對根據本發明使用的加密密鑰、分割密鑰或者這二者進一步進行加
LU O
[0541]在本發明的一個實施例,可提供審查模塊,該審查模塊跟蹤何時調用安全數據解析器來分割數據。
[0542]圖36示出使用根據本發明的安全數據解析器的組件的可能選項3600。以下對每個選項組合進行概述,並用圖36的合適步驟編號標註每個選項組合。安全數據解析器本質上可以是模塊化的,從而使得可在圖36中所示的每個功能塊內使用任何已知算法。例如,可使用其它密鑰分割(比如,機密共享)算法(諸如Blakely)來代替Shamir,或者可用其它已知加密算法(諸如三重DES)替換AES加密。圖36的示例中所示的標籤僅描繪本發明一個實施例中所使用的一個可能的算法組合。應該理解,可使用任何合適的算法或算法組合來代替標註算法。
[0543]I)3610,3612,3614,3615,3616,3617,3618,3619
[0544]通過在步驟3610使用先前加密的數據,最終可將數據分割成預定義數量的份額。如果分割算法需要密鑰,則可在步驟3612使用密碼安全偽隨機數產生器產生分割加密密鑰。可選地,在在步驟3615將密鑰分割為具有容錯性的預定數量的份額之前,在步驟3614可使用全或無變換(AoNT)將分割加密密鑰變換為變換分割密鑰。然後,在步驟3616可將數據分割成預定義數量的份額。在步驟3617可使用容錯方案,以使得可從比份額總數少的份額重新產生數據。一旦份額被創建,就可在步驟3618將認證/完整性信息嵌入到份額中。可選地,在步驟3619可對每個份額進行後加密。
[0545]2)3111,3612,3614,3615,3616,3617,3618,3619
[0546]在一些實施例中,可使用由用戶或外部系統提供的加密密鑰對輸入數據進行加密。在步驟3611提供外部密鑰。例如,可從外部密鑰儲存器提供密鑰。如果分割算法需要密鑰,則在步驟3612可使用密碼安全偽隨機數產生器產生分割加密密鑰。可選地,在在步驟3615將密鑰分割為具有容錯性的預定數量的份額之前,在步驟3614可使用全或無變換(AoNT)將分割密鑰變換為變換分割加密密鑰。然後,在步驟3616將數據分割成預定義數量的份額。在步驟3617可使用容錯方案,以使得可從比份額總數少的份額重新產生數據。一旦份額被創建,就可在步驟3618將認證/完整性信息嵌入份額中。可選地,在步驟3619可對每個份額進行後加密。
[0547]3)3612,3613,3614,3615,3612,3614,3615,3616,3617,3618,3619
[0548]在一些實施例中,在步驟3612可使用密碼安全偽隨機數產生器產生加密密鑰,以對數據進行變換。在步驟3613可使用產生的加密密鑰對數據進行加密。可選地,在步驟3614可使用全或無變換(AoNT)將加密密鑰變換為變換加密密鑰。然後,在步驟3615可將變換加密密鑰和/或所產生的加密密鑰分割為具有容錯性的預定數量的份額。如果分割算法需要密鑰,則可在步驟3612使用密碼安全偽隨機數產生器產生分割加密密鑰。可選地,在在步驟3615將密鑰分割為具有容錯性的預定數量的份額之前,在步驟3614可使用全或無變換(AoNT)將分割密鑰變換為變換分割加密密鑰。然後,在步驟3616可將數據分割成預定義數量的份額。在步驟3617可使用容錯方案,以使得可從比份額總數少的份額重新產生數據。一旦份額被創建,就將在步驟3618將認證/完整性信息嵌入到份額中。可選地,在步驟3619可對每個份額進行後加密。
[0549]4)3612,3614,3615,3616,3617,3618,3619
[0550]在一些實施例中,可將數據分割成預定義數量的份額。如果分割算法需要密鑰,則在步驟3612可使用密碼安全偽隨機數產生器產生分割加密密鑰。可選地,在在步驟3615將密鑰分割為具有容錯性的預定數量的份額之前,在步驟3614可使用全或無變換(AoNT)將分割密鑰變換為變換分割密鑰。然後,在步驟3616可分割數據。在步驟3617可使用容錯方案,以使得可從比份額總數少的份額重新產生數據。一旦份額被創建,就可在步驟3618將認證/完整性信息嵌入到份額中。可選地,在步驟3619可對每個份額進行後加密。
[0551]儘管在本發明的一些實施例中優選使用以上四種選項組合,但是在其它實施例中特徵、步驟或選項的任何其它合適的組合可與安全數據解析器一起使用。
[0552]安全數據解析器可通過便利物理分離來提供靈活的數據保護。可首先對數據進行加密,然後可將數據分割為具有「η個中的m個」容錯性的份額。這使得當比份額總數少的份額可用時重新產生原始信息。例如,一些份額可能在發送中丟失或損壞。如以下更詳細論述的,可從容錯性或者附加到份額的完整性信息重建丟失或損壞的份額。
[0553]為了創建份額,安全數據解析器可選地使用許多密鑰。這些密鑰可包括以下密鑰中的一個或多個:
[0554]預加密密鑰:當選擇對份額進行預加密時,可將外部密鑰傳遞給安全數據解析器。可在外部產生該密鑰,並在外部將該密鑰存儲在密鑰儲存器(或者其它位置)中,並可使用該密鑰對數據分割之前的數據進行可選加密。
[0555]分割加密密鑰:可在內部產生該密鑰,並且安全數據解析器可使用該密鑰對分割之前的數據進行加密。然後,可使用密鑰分割算法將該密鑰安全地存儲在份額內。
[0556]分割會話密鑰:該密鑰並不用於加密算法;相反,當選擇隨機分割時,可使用它作為數據劃分算法的密鑰。當使用隨機分割時,可在內部產生分割會話密鑰,並且安全數據解析器可使用分割會話密鑰將數據劃分為份額。可使用密鑰分割算法將該密鑰安全地存儲在份額內。
[0557]後加密密鑰:當選擇對份額進行後加密時,可將外部密鑰傳遞給安全數據解析器,並使用該外部密鑰對各個份額進行後加密。可在外部產生該密鑰,並在外部將該密鑰存儲在密鑰儲存器或其它合適的位置中。
[0558]在一些實施例中,當以這種方式使用安全數據解析器安全保護數據時,假如所需的份額和外部加密密鑰全部都存在,則僅可重新組裝信息。
[0559]圖37顯示在一些實施例中使用本發明的安全數據解析器的示例性概要處理3700。如上所述,用於安全數據解析器3706的兩個非常適合的功能可包括加密3702和備份3704。這樣,在一些實施例中,安全數據解析器3706可與RAID或備份系統或者硬體或軟體加密引擎集成。
[0560]與安全數據解析器3706相關聯的主密鑰處理可包括預加密處理3708、加密/變換處理3710、密鑰安全處理3712、解析/分布處理3714、容錯處理3716、份額認證處理3716和後加密處理3720中的一個或多個。這些處理可按照如圖36詳述的幾種合適的次序或組合執行。所使用的處理的組合和次序可取決於特定應用或用途、所需安全級別、是否需要可選的預加密、後加密或者這二者、所需冗餘、基礎或集成系統的能力或性能、或者任何其它合適的因素或因素組合。
[0561]示意性處理3700的輸出可為兩個或更多個份額3722。如上所述,在一些實施例中,可隨機地(或者偽隨機地)將數據分布給這些份額中的每個。在其它實施例中,可使用確定性算法(或者隨機、偽隨機和確定性算法的某個合適的組合)。
[0562]除了單獨地保護信息資產之外,有時還要求在不同的用戶組或利益團體之間共享信息。那麼,可能有必要的是,在該用戶組內控制對各個份額的存取,或者在那些用戶之間共享憑證,所述憑證將僅使得該組的成員可重新組裝份額。為此,在本發明的一些實施例中,可向組成員部署工作組密鑰。因為工作組密鑰的洩露潛在地使得組外的人可存取信息,所以應該保護工作組密鑰,並使工作組密鑰保持秘密。以下對用於工作組密鑰部署和保護的一些系統和方法進行論述。
[0563]工作組密鑰概念使得可通過對存儲在份額內的密鑰信息進行加密來增強信息資產的保護。一旦執行該操作,即使所有的所需份額和外部密鑰被發現,攻擊者也無法在不使用工作組密鑰的情況下重建信息。
[0564]圖38顯示用於將密鑰和數據分量存儲在份額內的示例性框圖3800。在示圖3800的示例中,省略可選的預加密和後加密步驟,但是在其它實施例中可包括這些步驟。
[0565]分割數據的簡化處理包括在加密階段3802使用加密密鑰3804對數據進行加密。然後,根據本發明,可分割加密密鑰3804的部分,並將這些部分存儲在份額3810內。也可將分割的加密密鑰3806的部分存儲在份額3810內。然後,通過使用分割的加密密鑰,分割數據3808,並將它存儲在份額3810中。
[0566]為了恢復數據,可根據本發明檢索並恢復分割的加密密鑰3806。然後,可逆向執行分割操作,以恢復密文。也可檢索並恢復加密密鑰3804,然後使用加密密鑰對密文進行解
LU O
[0567]當利用工作組密鑰時,可稍微改變以上處理,以用工作組密鑰保護加密密鑰。那麼,可在將加密密鑰存儲在份額內之前用工作組密鑰對加密密鑰進行加密。在圖39的示例性框圖3900中顯示了修改步驟。
[0568]使用工作組密鑰分割數據的簡化處理包括首先在階段3902使用加密密鑰對數據進行加密。然後,在階段3904用工作組密鑰對加密密鑰進行加密。然後,可將用工作組密鑰加密的加密密鑰分割為多個部分,並將這些部分與份額3912 —起存儲。也可對分割密鑰3908進行分割,並將它存儲在份額3912中。最後,通過使用分割密鑰3908,分割數據3910的多個部分,並將這些部分存儲在份額3912中。
[0569]為了恢復數據,可根據本發明檢索並恢復分割密鑰。然後,根據本發明,可逆向執行分割操作,以恢復密文。可檢索並恢復(用工作組密鑰加密的)加密密鑰。然後,可使用工作組密鑰對加密密鑰進行解密。最後,可使用加密密鑰對密文進行解密。
[0570]存在用於部署和保護工作組密鑰的幾種安全方法。選擇哪種方法用於特定應用取決於許多因素。這些因素可包括所需安全級別、成本、方便性和工作組中的用戶數量。以下提供在一些實施例中使用的一些常用技術:
[0571]基於硬體的密鑰存儲
[0572]基於硬體的解決方案通常為加密系統中的加密/解密密鑰的安全性提供最強保證。基於硬體的存儲解決方案的示例包括防篡改密鑰令牌設備,所述防篡改密鑰令牌設備將密鑰存儲在可攜式設備(比如,智慧卡/軟體狗)或非可攜式密鑰存儲外設中。這些設備被設計為防止密鑰材料被非授權方容易地複製。密鑰可由可信機構產生,並被發布給用戶,或者可在硬體內產生。另外,許多密鑰存儲系統提供多因素認證,在該情況下,密鑰的使用要求獲得物理對象(令牌)和口令或生物辨識這二者。
[0573]基於軟體的密鑰存儲
[0574]儘管基於專用硬體的存儲可能對於高安全性部署或應用是可取的,但是其它部署可能選擇將密鑰直接存儲在本地硬體(比如,盤、RAM或者諸如USB驅動器的非易失性RAM儲存器)上。這對於防禦內部攻擊或者在攻擊者能夠直接訪問加密機的情況下提供較低級別的保護。
[0575]為了安全保護盤上的密鑰,基於軟體的密鑰管理通常通過下述方式保護密鑰,SP,以用從其它認證度量的組合得到的密鑰加密的形式存儲它們,所述其它認證度量包括:密碼和口令、其它密鑰(比如,來自基於硬體的解決方案的密鑰)的存在、生物辨識或者前述的任何合適的組合。這樣的技術所提供的安全性級別的範圍可從由某些作業系統(比如,MS Windows和Linux)提供的相對弱的密鑰保護機制到使用多因素認證實現的更魯棒的解決方案。
[0576]本發明的安全數據解析器可有利地用於多種應用和技術。例如,電子郵件系統、RAID系統、視頻廣播系統、資料庫系統、磁帶備份系統或任何其它合適的系統可具有在任何合適的級別集成的安全數據解析器。如前所述,應該理解,還可集成安全數據解析器,以用於通過任何傳輸介質的任何類型的運動數據的保護和容錯性,包括,例如,有線、無線或物理傳輸介質。作為一個示例,通過網際網路協議傳輸語音(VoIP)應用可利用本發明的安全數據解析器來解決VoIP中常見的與回聲和延遲相關的問題。可通過使用容錯性來消除對掉包的網絡重試的需要,即使丟失預定數量的份額,所述容錯性也保證包傳輸。還可以以最少的延遲和緩衝「飛速地」、高效率地分割和恢復數據包(比如,網絡包),從而得到用於各種類型的運動數據的綜合解決方案。安全數據解析器可作用於網絡數據包、網絡語音包、文件系統數據塊或者任何其它合適的信息單元。除了與VoIP應用集成之外,安全數據解析器還可與文件共享應用(比如,對等文件共享應用)、視頻廣播應用、電子投票或民意調查應用(其可實現電子投票協議和盲籤名,諸如Sensus協議)、電子郵件應用或者可要求或需要安全通信的任何其它網絡應用集成。
[0577]在一些實施例中,本發明的安全數據解析器可在兩個不同的階段提供對網絡運動數據的支持:頭產生階段和數據劃分階段。圖40A和圖40B分別顯示簡化的頭產生處理4000和簡化的數據劃分處理4010。可對網絡包、文件系統塊或任何其它合適的信息執行這些處理之一或者這二者。
[0578]在一些實施例中,在開始創建網絡包流時,可執行頭產生處理4000 —次。在步驟4002,可產生隨機的(或偽隨機的)分割加密密鑰K。然後可選地,可在AES密鑰包裝步驟4004對分割加密密鑰K進行加密(比如,使用上述工作組密鑰)。儘管在一些實施例中可使用AES密鑰包裝,但是在其它實施例中可使用任何合適的密鑰加密或密鑰包裝算法。AES密鑰包裝步驟4004可對整個分割加密密鑰K進行操作,或者可將分割加密密鑰解析成幾個塊(比如,64比特塊)。然後,如果需要,則AES密鑰包裝步驟4004可對分割加密密鑰的塊進行操作。
[0579]在步驟4006,可使用秘密共享算法(例如,Shamir)將分割加密密鑰K分割成密鑰份額。然後,可將每個密鑰份額嵌入到輸出份額之一中(比如,份額頭中)。最後,可將份額完整性塊和(可選地)後認證標籤(比如,MAC)附加到每個份額的頭塊。每個頭塊可被設計為可容納在單個數據包內。
[0580]在頭產生完成(比如,使用簡化的頭產生處理4000)之後,安全數據解析器可使用簡化的數據分割處理4010進入數據劃分階段。在步驟4012,使用分割加密密鑰K對流中的每個輸入數據包或數據塊進行加密。在步驟4014,可對從步驟4012得到的密文計算份額完整性信息(比如,散列H)。例如,可計算SHA-256散列。然後在步驟4106,可使用以上根據本發明描述的數據分割算法之一來將數據包或數據塊劃分為兩個或更多個數據份額。在一些實施例中,數據包或數據塊可被分割為使得每個數據份額包含加密的數據包或數據塊的基本上隨機的分布。然後,可將完整性信息(比如,散列H)附加到每個數據份額。在一些實施例中,還可計算可選的後認證標籤(比如,MAC),並將該標籤附加到每個數據份額。
[0581]每個數據份額可包括元數據,所述元數據可能是正確重構數據塊或數據包所必需的。該信息可包括在份額頭中。元數據可包括諸如這樣的信息:密碼關鍵字份額、密鑰身份、份額隨機數、籤名/MAC值和完整性塊。為了使帶寬效率最大,可以以緊湊的二進位格式存儲元數據。
[0582]例如,在一些實施例中,份額頭包括沒有被加密的明文頭組塊,所述明文頭組塊可包括諸如這樣的元素:Shamir密鑰份額、每會話隨機數、每共享隨機數、密鑰身份(比如,工作組密鑰標識符和後認證密鑰標識符)。份額頭還可包括加密的頭組塊,所述加密的頭組塊用分割加密密鑰進行了加密。完整性頭組塊也可包括在頭中,所述完整性頭組塊可包括用於任何數量的在前塊(比如,在前兩個塊)的完整性校驗。任何其它合適的值或信息也可包括在份額頭中。
[0583]如圖41的示例性份額格式4100所示,頭塊4102可與兩個或更多個輸出塊4104相關聯。每個頭塊(諸如,頭塊4102)可被設計為可容納在單個網絡數據包內。在一些實施例中,在將頭塊4102從第一位置發送到第二位置之後,然後可發送輸出塊。可替換地,頭塊4102和輸出塊4104可同時並行發送。可經由一個或多個相似或不相似的通信路徑進行所述發送。
[0584]每個輸出塊可包括數據部分4106和完整性/真實性部分4108。如上所述,可使用份額完整性部分來安全保護每個數據份額,所述份額完整性部分包括加密的、預劃分的數據的份額完整性信息(比如,SHA-256散列)。為了在恢復時驗證輸出塊的完整性,安全數據解析器可比較每個份額的份額完整性塊,然後逆向執行分割算法。然後,可對照份額散列驗證恢復的數據的散列。
[0585]如前所述,在本發明的一些實施例中,安全數據解析器可結合磁帶備份系統使用。例如,單獨的磁帶可被用作根據本發明的節點(即,部分/份額)。可使用任何其他合適的布置。例如,由兩個或更多個磁帶構成的磁帶庫或子系統可被當作單個節點。
[0586]根據本發明,冗餘也可用於磁帶。例如,如果在四個磁帶(即,部分/份額)之間分攤數據組,則這四個磁帶中的兩個可以是恢復原始數據所必需的。應該理解,根據本發明的冗餘特徵,恢復原始數據可需要任何合適數量的節點(即,比節點總數少的節點)。這顯著地增大了一個或多個磁帶過期時恢復的概率。
[0587]每個磁帶還可用SHA-256、HMAC散列值、任何其它合適的值或它們的任何組合來進行數字保護,以防止篡改。如果磁帶上的任何數據或散列值改變,則該磁帶將不作為用於恢復的候選,將使用剩餘磁帶中的任何最少所需數量的磁帶來恢復數據。
[0588]在傳統的磁帶備份系統中,當用戶要求將數據寫入磁帶或從磁帶讀取數據時,磁帶管理系統(TMS)提供與物理磁帶安裝座對應的編號。該磁帶安裝座指向將安裝數據的物理驅動器。磁帶由人力磁帶操作員或磁帶機器人裝入磁帶倉中。
[0589]根據本發明,物理磁帶安裝座可被認為是指向多個物理磁帶的邏輯安裝點。這不僅增加了數據容量,而且由於並行處理而改進了性能。
[0590]為了提高性能,磁帶節點可以是用於存儲磁帶圖像的RAID盤陣列,或者可以包括該RAID盤陣列。由於在受保護的RAID中數據總是可用,所以這使得可高速恢復。
[0591 ] 在前述任何實施例中,可使用確定性的、概率性的或者確定性和概率性的數據分配技術將要安全保護的數據分布到多個份額中。為了防止攻擊者對任何密碼塊開始密碼攻擊,可確定性地將密碼塊中的比特分布到份額中。例如,可使用BitSegment例行程序來執行所述分布,或者可修改BlockSegment例行程序,以使得可將塊的部分分布到多個份額。該策略可防禦已累積了比「M」個份額少的份額的攻擊者。
[0592]在一些實施例中,可使用加密鑰信息散布(比如,通過使用加密鑰信息散布算法或「IDA」)來利用加密鑰秘密共享例行程序。還可通過一個或多個外部工作組密鑰、一個或多個共享密鑰、或者工作組密鑰和共享密鑰的任何組合來保護用於加密鑰的IDA的密鑰。以這種方式,可利用多因素秘密共享方案。為了重構數據,在一些實施例中可能需要至少「M」個份額加上工作組密鑰(和/或共享密鑰)。還可將IDA (或者用於IDA的密鑰)驅使到加密處理中。例如,可迫使對明文進行變換(比如,在加密之前的預處理層期間),該變換可在對該明文進行加密之前進一步保護該明文。
[0593]例如,在一些實施例中,加密鑰信息散布被用於將數據組中的數據的獨特部分分布到兩個或更多個份額中。加密鑰信息散布可使用會話密鑰來首先對數據組進行加密,以將數據組中的加密數據的獨特部分分布到兩個或更多個加密數據組份額中,或者將數據組進行加密,並將數據組中的加密數據的獨特部分分布到兩個或更多個加密數據組份額中。例如,為了分布數據組或加密數據組的獨特部分,可使用秘密共享(或者上述方法,諸如BitSegment或BlockSegment)。然後,可選地,可對會話密鑰進行變換(例如,使用全包變換或AoNT),並使用例如秘密共享(或者加密鑰信息散布和會話密鑰)共享該會話密鑰。
[0594]在一些實施例中,在密鑰的獨特部分被分布或均攤到兩個或更多個會話密鑰份額中之前,可使用共享密鑰(比如,工作組密鑰)對會話密鑰進行加密。然後,可通過組合至少一個加密數據組份額和至少一個會話密鑰份額來形成兩個或更多個用戶份額。在形成用戶份額時,在一些實施例中,可將所述至少一個會話密鑰份額交織到加密數據組份額中。在其它實施例中,可將所述至少一個會話密鑰份額插入到加密數據組份額中至少部分基於共享工作組密鑰的位置處。例如,可使用加密鑰信息散布來將每個會話密鑰份額分布到獨特加密數據組份額,以形成用戶份額。將會話密鑰份額交織到或插入到加密數據組份額中至少部分基於共享工作組的位置處可提高面對密碼攻擊的安全性。在其它實施例中,可將一個或多個會話密鑰份額附加到加密數據組份額的開頭或末尾,以形成用戶份額。然後,可將用戶份額集合單獨存儲在至少一個數據貯藏器上。一個數據貯藏器或多個數據貯藏器可位於相同的物理位置(例如,在相同的磁存儲設備或磁帶存儲設備上),或者可在地理上分離(例如,在處於不同地理位置的物理分離的伺服器上)。為了重構原始數據組,可需要一組授權的用戶份額和共享的工作組密鑰。
[0595]加密鑰信息散布即使面對關鍵字檢索Oracle也是安全的。例如,取塊密碼E和用於E的關鍵字檢索oracle,所述關鍵字檢索oracle取出該塊密碼的輸入/輸出對的列表(X1, Y1),..., (Xc, Y。),並返回密鑰K,密鑰K與輸入/輸出示例一致(比如,對於所有i,Yi =EK(Xi))。如果沒有不一致的密鑰,則oracle可返回特異值。該oracle可對可從輸入/輸出示例列表恢復密鑰的密碼攻擊進行建模。
[0596]基於塊密碼的標準方案在關鍵字檢索oracle面前可能失敗。例如,CBC加密或CBCMAC在關鍵字檢索Oracle面前可能變得完全不安全。
[0597]如果11_為IDA方案,ΠΕΜ為由某個塊密碼E的操作模式給予的加密方案,那麼,如果當按照HKl或ΗΚ2將這兩個方案與任意的完全秘密共享方案(PSS)結合時這兩個方案僅僅在對手具有關鍵字檢索oracle的模型中實現魯棒計算秘密共享(RCSS)目標,則(ΠΙΜ, nEnc)面對關鍵字檢索攻擊提供安全性。
[0598]如果存在IDA方案ΠΙΜ和加密方案ΠΕη%以使得這對方案面對關鍵字檢索攻擊提供安全性,則實現這對的一種方式可以是實行「靈巧」 IDA和「笨拙」加密方案。實現這對方案的另一種方式可以是實行「笨拙」 IDA和「靈巧」加密方案。
[0599]為了說明靈巧IDA和笨拙加密方案的使用,在一些實施例中,加密方案可以是CBC,並且IDA可具有「弱私密性」特性。弱私密性特性是指,例如,如果IDA的輸入為塊的隨機序列M = M1...M1,並且對手從未授權集合獲得份額,則存在使得對手無法計算Mi的某個塊索引i。這樣的弱私密性IDA可通過下述方式構建,S卩,首先將信息理論上的AoNT (諸如,Stinson的AoNT)應用於M,然後應用簡單的IDA (諸如,BlockSegment)或者類似Rabin方案的比特有效IDA(比如,Reed-Solomon編碼)。
[0600]為了說明笨拙IDA和靈巧加密方案的使用,在一些實施例中,可使用具有雙加密而不是單一加密的CBC模式。現在,可使用任何IDA,甚至複製。具有用於塊密碼的關鍵字檢索oracle對於對手而言將是無用的,這是因為對手將被拒絕給予任何單個加密的輸入/輸出不例。
[0601]儘管靈巧IDA有價值,但是從面對關鍵字檢索攻擊提供安全性所需的「智能」可能已被「推」向別處的意義上來講,在某些情況下它也可能是非必要的。例如,在一些實施例中,無論IDA如何智能,無論在HK1/HK2背景下試圖用IDA實現什麼目的,智能都可被推出IDA而進入到加密方案中,留下固定且笨拙的IDA。
[0602]基於以上,在一些實施例中,可使用「普遍可靠型」靈巧IDAnIM。例如,提供IDA,以使得對於所有加密方案ΠΕη%對(nIDA,nEnc)在面對關鍵字檢索攻擊時總是提供安全性。
[0603]在一些實施例中,提供在面對關鍵字檢索oracle時RCSS安全的加密方案。可通過任何IDA將該方案與HK1/HK2集成,以在面對關鍵字檢索時實現安全性。通過使用該新方案,例如,對於使對稱加密方案更安全地防禦關鍵字檢索攻擊可以特別有用。
[0604]如上所述,經典的秘密共享概念通常不加密鑰。因此,將秘密分成多個份額,或者以這樣的方式從它們重構秘密,即,既不要求經銷商,也不要求當事人重構該秘密,以擁有任何種類的對稱或不對稱密鑰。然而,可選地,可對本文所述的安全數據解析器加密鑰。經銷商可提供對稱密鑰,如果該對稱密鑰用於數據共享,則該對稱密鑰可能是數據恢復所需要的。安全數據解析器可使用對稱密鑰來將要安全保護的消息的獨特部分散布或分布到兩個或更多個份額中。
[0605]共享密鑰可使得能夠實現多因素或兩因素秘密共享(2FSS)。那麼,對手為了破壞安全機制可能需要導航通過兩個根本不同類型的安全性。例如,為了侵犯安全共享目標,對手(I)可能需要獲得一組授權參與者的份額,並且(2)可能需要獲得應該無法獲得的秘密密鑰(或者破壞用該密鑰加密鑰的密碼機制)。
[0606]在一些實施例中,將一組新的附加要求添加到RCSS目標。所述附加要求可包括「次要因素」 一密鑰擁有。可在不減少原始的一組要求的情況下添加這些附加要求。一組要求可與以下相關:如果對手知道秘密密鑰、但是沒有獲得足夠的份額,則對手不能破壞方案(比如,傳統或首要因素要求),而另一組要求可與以下相關:如果對手不具有秘密密鑰、但是設法得到所有份額,則對手不能破壞機制(比如,新或次要因素要求)。
[0607]在一些實施例中,可存在兩個次要因素要求:私密性要求和真實性要求。在私密性要求中,可涉及這樣的策略,在該策略中,根據環境選擇秘密密鑰K和比特b。對手現在在秘密共享方案的域內提供一對等長消息Mi°和M/。環境計算M113的份額,以得到份額的矢量S1 = (S1,...,S1),並且它將份額S1 (全部份額)給予對手。對手現在可選擇另一對消息(M20, M21),並如前那樣使用相同的密鑰K和隱藏比特b繼續進行每個操作。對手的任務是輸出它相信是b的比特b』。對手私密性優勢是比b = b』的概率的兩倍小。該策略的構思在於,即使知道所有份額,如果對手缺少秘密密鑰,它也仍不能知道關於共享秘密的任何事情。
[0608]在真實性要求中,可涉及這樣的策略,在該策略中,環境選擇秘密密鑰K,並在後來調用「Share」和「Recover」時使用該秘密密鑰K。在一些實施例中,「Share」和「Recover」的句法可被修改,以反映該密鑰的存在。然後,對手對它在秘密共享方案的域內選擇的任何消息M1,...,Mq提出「Share」請求。響應於每個「Share」請求,它得到份額的對應的η矢量S1,, Sq0對手的目的是偽造新的明文;如果它輸出份額矢量S』以使得當該份額矢量S』被饋送給「Recover」算法時得到不在(M1,...,MtJ中的某個內容,則它贏。這是「明文完整性」概念。
[0609]存在實現多因素秘密共享的兩種方法。第一種是通用方法一從以黑箱方式使用基本(R)CSS方案的意義上來講是通用的。使用認證加密方案來對將被CSS共享的消息進行加密,然後可以例如使用秘密共享算法(諸如Blakely或Shamir)來共享所得的密文。
[0610]可能更有效的方法是使得共享密鑰可成為工作組密鑰。也就是,(I)可使用共享密鑰對(R)CSS方案的隨機產生的會話密鑰進行加密,(2)可用認證加密方案替換應用於消息(比如,文件)的加密方案。該方法可僅導致最小程度的性能劣化。
[0611]本發明的安全數據解析器可被用於實現雲計算安全解決方案。雲計算是基於網絡的計算、存儲或者這二者,在雲計算中,可通過網絡向計算機系統和其它設備提供計算和存儲資源。通常通過網際網路存取雲計算資源,但是可通過任何合適的公共或私有網絡執行雲計算。雲計算可在計算資源與其基礎硬體組件(比如,伺服器、存儲設備、網絡)之間提供抽象層次,從而使得能夠遠程存取計算資源庫。這些雲計算資源可總稱為「雲」。雲計算可被用於作為伺服器通過網際網路或任何其它合適的網絡或網絡組合提供可動態分級的且常常虛擬化的資源。
[0612]由於可通過公共網絡傳送私有數據並可在可公共訪問或共享的系統內對該私有數據進行處理和存儲,所以安全性是雲計算所關心的重要問題。安全數據解析器可被用於保護雲計算資源以及在雲與終端用戶或設備之間傳送的數據。例如,安全數據解析器可被用於安全保護雲中的數據存儲、雲中的運動數據、雲中的網絡存取、雲中的數據服務、對雲中的高性能計算資源的存取和雲中的任何其它操作。
[0613]圖42是雲計算安全解決方案的示例性框圖。包括安全數據解析器4210的系統4200與包括雲資源4260的雲4250連接。系統4200可包括任何合適的硬體,諸如計算機終端、個人計算機、手持設備(比如,PDA、黑莓、智慧型電話、平板設備)、蜂窩電話、計算機網絡、任何其它合適的硬體或者它們的任何組合。可在系統4200的任何合適的級別集成安全數據解析器4210。例如,可在充分後端級別將安全數據解析器4210集成到系統4200的硬體和/或軟體中,以使得安全數據解析器4210的存在可基本上對系統4200的終端用戶透明。以上參照例如圖27和圖28對安全數據解析器在合適的系統內的集成進行了更詳細的描述。雲4250包括多個示例性雲資源4260,其包括數據存儲資源4260a和4260e、數據服務資源4260b和4260g、網絡存取控制資源4260c和4260h、以及高性能計算資源4260d和4260f。以下將參照圖43-47對這些資源中的每個進行更詳細的描述。這些雲計算資源僅僅是示例性的。應該理解,可從系統4200存取任何合適數量和類型的雲計算資源。
[0614]雲計算的一個優點是,系統4200的用戶可以不必花錢買專用計算機硬體就能夠存取多個雲計算資源。用戶可具有動態控制系統4200可存取的雲計算資源的數量和類型的能力。例如,可向系統4200提供雲中的按需存儲資源,所述雲的容量可基於當前需求動態調整。在一些實施例中,在系統4200上執行的一個或多個軟體應用程式可將系統4200與雲資源4260連接。例如,可使用網際網路web瀏覽器來使系統4200通過網際網路與一個或多個雲資源4260連接。在一些實施例中,與系統4200集成或連接的硬體可將系統4200與雲資源4260連接。在這兩個實施例中,安全數據解析器4210可安全保護與雲資源4260的通信和/或存儲在雲資源4260內的數據。雲資源4260與系統4200的連接對於系統4200或者系統4200的用戶可以是透明的,以使得雲資源4260對於系統4200看起來好像是本地硬體資源一樣。另外,共享的雲資源4260對於系統4200看起來好像是專用硬體資源一樣。
[0615]安全數據解析器4210可對數據進行加密和分割,以使得沒有可取證辨別的數據穿越雲或者存儲在雲內。雲的基礎硬體組件(比如,伺服器、存儲設備、網絡)可在地理上分配到位,以在電網故障、天氣事件或其它人為或自然事件的情況下確保雲資源的連續性。結果,即使雲內的一些硬體組件遭受巨大故障,雲資源仍可存取。雲資源4260可被設計有冗餘,以不管一個或多個硬體故障如何,都提供不間斷的服務。
[0616]圖43是用於安全保護整個雲上的運動數據(即,在將數據從一個位置傳送到另一個位置期間)的雲計算安全解決方案的示例性框圖。圖43顯示發送方系統4300,發送方系統4300可包括任何合適的硬體,諸如計算機終端、個人計算機、手持設備(比如,PDA、黑莓)、蜂窩電話、計算機網網絡、任何其它合適的硬體或者它們的任何組合。發送方系統4300被用於產生和/或存儲數據,所述數據可以是,例如,電子郵件消息、二進位數據文件(比如,圖形、語音、視頻等)或者這二者。根據本發明的安全數據解析器4310對數據進行解析和分割。所得的數據部分可通過雲4350傳送給接收方系統4370。接收方系統4370可以是如以上參照發送方系統4300描述的任何合適的硬體。根據本發明,可在接收方系統4370重新組合分離的數據部分,以產生原始數據。當在整個雲4310中行進時,可經由一個或多個通信路徑通信傳送數據部分,所述通信路徑包括網際網路和/或一個或多個內聯網、LAN、WiF1、藍牙、任何其它合適的硬接線或無線通信網絡或者它們的任何組合。如以上參照圖28和圖29所述的,即使一些數據部分洩露,安全數據解析器也能安全保護原始數據。
[0617]圖44是用於安全保護雲中的數據服務的雲計算安全解決方案的示例性框圖。在本實施例中,用戶4400可通過雲4430向終端用戶4440提供數據服務4420。根據本文所公開的實施例,安全解析器4410可安全保護數據服務。數據服務4420可以是可通過雲4430訪問的任何合適的應用程式或軟體服務。例如,數據服務4420可以是被實現為面向服務架構(SOA)系統的一部分的基於web的應用。可在雲4430內的一個或多個系統上存儲並執行數據服務4420。通過該雲計算實現提供的抽象化使得無論基礎硬體資源如何,數據服務4420對於終端用戶4440看起來都好像是虛擬化資源一樣。安全解析器4410可安全保護數據服務4420與終端用戶4440之間的運動數據。安全解析器4410還可安全保護與數據服務4420相關聯的存儲數據。可在實現數據服務4420的系統內和/或分離的安全雲數據存儲設備內安全保護與數據服務4420相關聯的存儲數據,以下將對這進行更詳細的描述。儘管顯示圖44的數據服務4420和其它部分在雲4430的外部,但是應該理解,這些元件中的任何一個都可併入雲4430內。
[0618]圖45是用於安全保護雲中的數據存儲資源的雲計算安全解決方案的示例性框圖。包括安全數據解析器4510的系統4500與包括數據存儲資源4560的雲4550連接。安全數據解析器4510可被用於對一個或多個數據存儲資源4560中的數據進行解析和分割。每個數據存儲資源4560可表示一個或多個聯網的存儲設備。這些存儲設備可分配給單個用戶/系統,或者可由多個用戶/系統共享。由安全數據解析器4510提供的安全性可允許來自多個用戶/系統的數據安全地共存於相同存儲設備上。由該雲計算實現提供的抽象化使得無論基礎數據存儲資源的數量和位置如何,數據存儲資源4560對於系統4500看起來都好像單個虛擬化存儲資源一樣。當數據被寫入數據存儲資源4560或從數據存儲資源4560讀取數據時,安全數據解析器4510可以以對終端用戶可以透明的方式分割和重新組裝數據。以這種方式,終端用戶可以能夠按需訪問可動態擴展的存儲器。
[0619]使用安全數據解析器4510將數據存儲在雲中是安全的、彈性的、持久的和私密的。安全數據解析器4510通過確保沒有可取證辨別的數據穿越雲或者存儲在單個存儲設備中來安全保護數據。由於由安全數據解析器提供冗餘(即,重構原始數據需要比所有分離的數據部分少的數據部分),所以雲存儲系統是彈性的。將分離的部分存儲在多個存儲設備內和/或多個數據存儲資源4560內能夠確保:即使所述存儲設備中的一個或多個發生故障或者不可訪問,也可重構數據。由於數據存儲資源4560內的存儲設備的減少對終端用戶沒有影響,所以雲存儲系統是持久的。如果一個存儲設備發生故障,則存儲在該存儲設備內的數據部分可在其它存儲設備重建,而不必暴露該數據。另外,存儲資源4560 (或者甚至構成數據存儲資源4560的多個聯網的存儲設備)可在地理上分散,以限制多個故障的風險。最後,可使用一個或多個密鑰使存儲在雲中的數據保持私密。如上所述,可通過獨特密鑰將數據分配給用戶或利益團體,以使得僅該用戶或團體能夠存取該數據。
[0620]使用安全數據解析器將數據存儲在雲中還可提供優於傳統的本地或聯網存儲的性能提升。系統的吞吐量可通過下述方式改進,即,並行地將分離的數據部分寫到多個存儲設備和從多個存儲設備讀取分離的數據部分。吞吐量的這個增加可使得可使用更慢、更便宜的存儲設備,而基本上不影響存儲系統的總體速度。
[0621]圖46是使用根據所公開的實施例的安全數據解析器安全保護網絡訪問的示例性框圖。安全數據解析器4610可用於網絡存取控制塊4620,以控制對網絡資源的存取。如圖46所示,網絡存取控制塊4620可被用於在用戶4600與終端用戶4640之間提供安全的網絡通信。在一些實施例中,網絡存取控制塊4620可提供對雲(比如,雲4250,圖42)中的一個或多個網絡資源的安全網絡存取。可向授權用戶(比如,用戶4600和終端用戶4640)提供全群體密鑰,所述全群體密鑰向用戶提供通過網絡安全通信和/或存取安全網絡資源的能力。除非提供正確的憑證(比如,群體密鑰),否則安全保護的網絡資源將不會響應。這可防止常見的網絡攻擊,例如,拒絕服務攻擊、埠掃描攻擊、中間人攻擊和重放攻擊。
[0622]除了為靜止存儲在通信網絡內的數據提供安全性以及為通過通信網絡的運動數據提供安全性,網絡存取控制塊4620可與安全數據解析器4620 —起使用,以在不同的用戶組或利益團體之間共享信息。可建立協作組,以在安全虛擬網絡上作為安全利益團體進行參與。可向組成員部署工作組密鑰,以為組成員提供對網絡和聯網資源的存取。以上對用於工作組密鑰部署的系統和方法進行了論述。
[0623]圖47是使用根據所公開的實施例的安全數據解析器來安全保護對高性能計算資源的存取的示例性框圖。安全數據解析器4710可被用於提供對高性能計算資源4720的安全存取。如圖47所示,終端用戶4740可存取高性能計算資源4720。在一些實施例中,安全數據解析器4710可提供對雲(比如,雲4250,圖42)中的高性能資源的安全存取。高性能計算資源可以是大型計算機伺服器或伺服器群。這些高性能計算資源可向用戶提供靈活的、可擴展的、可配置的數據服務和數據存儲服務。
[0624]根據另一個實施例,安全數據解析器可被用於使用虛擬機安全保護數據存取。Hypervisor(超級監視者)(也稱為虛擬機監視器(VMM))是使得多個虛擬機可在單個主機上運行的計算機系統。圖48顯示包括Hypervisor 4800和在Hypervisor 4800上運行的一系列虛擬機4810的示例性框圖。Hypervisor 4800運行基本作業系統(比如,Microsoft Windows?和Linux)。虛擬機4810可通過防火牆與基本作業系統隔離,以使得對基本作業系統的攻擊(比如,病毒、蠕蟲、黑客攻擊等)不影響虛擬機4810。一個或多個安全數據解析器可與Hypervisor 4800集成,以安全保護虛擬機4810。具體地講,通過使用安全數據解析器,虛擬機4810可安全地與一個或多個伺服器或終端用戶進行通信。根據本實施例,可通過向用戶提供安全虛擬機圖像來為用戶部署安全數據存取。本實施例可在確保數據的機密性和完整性的同時使得可按需共享信息。
[0625]圖49和圖50顯示將安全數據解析器與Hypervisor集成的可替換實施例。在圖49中,安全數據解析器4930在Hypervisor 4920上方實現。例如,安全數據解析器4930可被實現為在Hypervisor 4920上工作的軟體應用程式或模塊。在一些實施例中,安全數據解析器4930可通過在Hypervisor 4920上運行的虛擬機來實現。在Hypervisor 4920上運行的虛擬機可使用安全數據解析器4930將伺服器4940與終端用戶4950安全連接。在圖50中,安全數據解析器5030在Hypervisor 5020下方實現。例如,安全數據解析器5030可在Hypervisor 5020的硬體內實現。在Hypervisor 5020上運行的虛擬機可使用安全數據解析器5030安全地與伺服器5040和終端用戶5050進行通信。
[0626]根據其它實施例,安全數據解析器可被用於安全保護正交頻分復用(OFDM)通信信道。OFDM是用於寬帶數字通信的復用方案。寬帶無線標準(比如,WiMAX和LTE)和電力線寬帶(BPL)使用0FDM。由於所有的相鄰信道完全正交,所以OFDM是獨特的。這消除了串擾、對消以及噪聲引入。目前,在這些OFDM標準中,通過單個OFDM通信信道傳輸(transmit)數據。安全數據解析器可通過在多個OFDM通信信道之間分割數據來安全保護OFDM通信。如上所述,由於通過每個信道僅傳輸數據的一部分,所以使用安全數據解析器在多個數據信道之間分割數據的操作安全保護數據。作為另外的益處,安全數據解析器可同時在多個數據信道上傳輸多個數據部分。這些同時傳輸可提高數據傳輸的有效帶寬。另外或者可替換地,安全數據解析器可在多個數據信道上傳輸相同的數據部分。該冗餘傳輸技術可提高傳輸可靠性。圖51是用於安全保護OFDM通信網絡的示例性框圖。如圖51所示,終端用戶5110可使用安全數據解析器5120通過OFDM網絡5140將數據發送給終端用戶5150。OFDM網絡5140可以是無線寬帶網絡、電力線寬帶網絡或任何其它合適的OFDM網絡。
[0627]根據一些其它實施例,安全數據解析器可被用於保護關鍵基礎設施控制,包括,例如,電網。網際網路協議第6版(IPv6)是下一代網際網路協議。IPv6較目前的網際網路協議具有更大的地址空間。實現時,IPv6將使得可通過網際網路直接訪問更多設備。重要的是,限制關鍵基礎設施的控制,以限制授權個體進行訪問。如上所述,安全數據解析器可將對網絡資源的存取限於授權用戶和群體。可使用「兩人規則」來保護關鍵系統,由此,需要至少兩個用戶提供他們各自的密鑰來訪問這些關鍵系統。圖52是用於安全保護電網的示例性框圖。如圖52所示,用戶5210可使用安全數據解析器5220為終端用戶5250提供對電網5240的安全訪問。
[0628]在一些實施例中,可使用電力線寬帶網絡將電網系統與網際網路連接,以消除典型通信網絡的網絡布線和關聯設備。將電網系統與網際網路連接可以能夠實現智能電網技術,該技術通過實時報告使用情況來使得可更有效率地使用電力。作為另一個益處,大功率計算資源和/或數據存儲設施可安裝在連接網際網路的功率監控設施處。這些資源可提供可靠的存儲和處理節點以用於保護雲中的數據。
[0629]儘管以上描述了安全數據解析器的一些應用,但是應該清楚地理解,本發明可與任何網絡應用集成,以便提高安全性、容錯性、匿名性或者前述的任何合適的組合。
[0630]另外,根據本文的公開內容,其它組合、添加、置換和修改對本領域技術人員而言將變得清楚。
【權利要求】
1.一種使用正交頻分復用(OFDM)網絡安全保護數據的方法,所述方法包括: 在第一位置從數據組產生至少兩個數據部分;和 通過至少兩個OFDM信道將所述至少兩個數據部分從第一位置傳送到第二位置,其中,通過不同的OFDM信道傳送不同的數據部分,由此通過重新組合通過所述至少兩個OFDM信道接收的所述至少兩個數據部分的子集中的數據,來在第二位置從所述至少兩個數據部分的至少一個子集恢復所述數據組。
2.根據權利要求1所述的方法,其中,所述OFDM網絡包括寬帶無線網絡。
3.根據權利要求1所述的方法,其中,所述OFDM網絡包括寬帶電力線網絡。
4.一種用於安全保護正交頻分復用(OFDM)網絡中的數據的裝置,所述裝置包括: 安全數據解析器,所述安全數據解析器操作為在第一位置從數據組產生至少兩個數據部分;和 OFDM收發器,所述OFDM收發器操作為通過至少兩個OFDM信道將所述至少兩個數據部分從第一位置傳送到第二位置,其中,通過不同的OFDM信道傳送不同的數據部分,由此通過重新組合通過所述至少兩個OFDM信道接收的所述至少兩個數據部分的子集中的數據,來在第二位置從所述至少兩個數據部分的至少一個子集恢復所述數據組。
5.根據權利要求4所述的裝置,其中,所述OFDM網絡包括寬帶無線網絡。
6.根據權利要求4所述的裝置,其中,所述OFDM網絡包括寬帶電力線網絡。
【文檔編號】H04L29/08GK104079573SQ201410306525
【公開日】2014年10月1日 申請日期:2010年5月19日 優先權日:2009年5月19日
【發明者】R·L·奧西尼, M·S·歐哈萊, D·馬丁 申請人:安全第一公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀