專利名稱:協(xié)作代理加密和解密的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及安全地傳送數(shù)據(jù),更具體地說,涉及即使通過受到竊聽的通道發(fā)送數(shù)據(jù),也可改進(jìn)地保護(hù)安全性免遭破壞。
背景技術(shù):
在整個人類歷史中,傳送期間數(shù)據(jù)的保護(hù)一直是人們關(guān)心的問題,自古以來,安全通信一直是商業(yè)的必要部分。最近,尤其是自從可普遍獲得數(shù)據(jù)傳輸?shù)挠?jì)算能力和技術(shù)手段以來,借助保護(hù)通過電信通道傳送的數(shù)據(jù)的復(fù)雜手段和同樣復(fù)雜的解密消息的技術(shù)手段,在希望保護(hù)消息的人們和希望“破解”消息的人們之間逐步展開了迅速加速的競賽。一直在尋找新的通過提高解密可行性的門檻在傳輸期間保護(hù)數(shù)據(jù)的技術(shù)手段,同樣一直在尋找使被認(rèn)為不可能的解密變得可能的手段。類似地,安全地發(fā)送信息的處理和傳輸成本也具有意義。在商業(yè)交易期間要傳送的數(shù)據(jù)的量不斷增大,同時利用公共網(wǎng)絡(luò)的成本不斷降低,而利用專用網(wǎng)絡(luò)的成本不斷變得更高。能夠通過費(fèi)用較低的開放通道(諸如因特網(wǎng))發(fā)送更多的數(shù)據(jù)(尤其是在大批量數(shù)據(jù)的應(yīng)用中)將是有利的,但是難以按照商業(yè)秘密目的所通常要求的標(biāo)準(zhǔn)來保護(hù)通過這種介質(zhì)的傳輸。現(xiàn)代加密技術(shù)允許數(shù)據(jù)被超強(qiáng)加密,使得如今破解任何給定編碼的工作量和時間很高或者幾乎不可能實(shí)現(xiàn)。然而,傳統(tǒng)的“加密數(shù)據(jù),發(fā)送數(shù)據(jù),接收和解密數(shù)據(jù)”范例的兩個弱點(diǎn)在于(1)數(shù)據(jù)是作為整體發(fā)送的,以及(2)通常只使用一個加密/解密密鑰。例如,公開的歐洲專利申請EP 0993142A1提出了一種提供數(shù)據(jù)安全性的方法,其中,加密大部分的傳送數(shù)據(jù),并通過先天不太安全的通道傳送所述大部分的傳送數(shù)據(jù),同時通過通常私密的通道,比如電話網(wǎng)絡(luò)傳送選擇的數(shù)據(jù)片段。從而防止不太安全的通道上的竊聽者讀取所有數(shù)據(jù)。另外還公開了按照從數(shù)據(jù)本身得出的公式,利用一種或多種加擾算法來加擾數(shù)據(jù)的想法。公開的PCT專利申請W000/18078提出了一種方法,所述方法按照下述方式來拆分消息并通過兩個通道傳送消息將通過不太安全的通道傳送的那部分消息被加密,而通過安全通道傳送的那部分消息不被加密。公開的美國專利申請2004/0083361A1公開了一種通過自適應(yīng)地變換數(shù)據(jù),并把變換的數(shù)據(jù)分段地遍布在多個傳輸通道上來安全地傳送數(shù)據(jù)的方法。這些已知技術(shù)在一定程度上減輕了上面說明的安全問題。然而,在尋找不斷改進(jìn)的安全方法的過程中,理想的是找出一種在限制處理和傳輸成本的同時,通過進(jìn)一步降低未經(jīng)授權(quán)者恢復(fù)消息的信息內(nèi)容的計(jì)算可行性,進(jìn)一步提高消息的安全性的途徑。
發(fā)明內(nèi)容
因而,在第一方面,本發(fā)明提供一種把數(shù)據(jù)安全地從發(fā)送者計(jì)算機(jī)系統(tǒng)傳送給接收者計(jì)算機(jī)系統(tǒng)的方法,所述方法包括下述步驟由所述發(fā)送者計(jì)算機(jī)系統(tǒng)處的第一智能代理環(huán)境接收明文消息;由所述第一智能代理環(huán)境的分離器組件把所述消息分成多個消息片段;由所述第一智能代理環(huán)境中的代理創(chuàng)建器創(chuàng)建每個所述消息片段的智能代理;由每個所述智能代理的密鑰生成器功能生成每個所述消息片段的密鑰;由每個所述智能代理的加密功能加密所述每個消息片段,以產(chǎn)生各自的加密消息片段;以及傳送以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理。所述方法還包括下述步驟由所述接收者計(jì)算機(jī)系統(tǒng)處的第二智能代理環(huán)境接收以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理;由每個所述智能代理定位一組代理中的每個其它代理;由每個所述智能代理的解密功能解密每個所述加密的各自消息片段,以產(chǎn)生各自的明文消息片段;以及由所述一組代理中的每個所述智能代理進(jìn)行協(xié)作以重組每個所述各自的明文消息片段從而形成明文消息。優(yōu)選地,所述傳送每個所述智能代理的步驟包含通過從多條路由中選擇的路由進(jìn)行傳送,以排除用于傳送所述智能代理中的任何其它智能代理的路由。優(yōu)選地,所述加密每個所述消息片段的步驟包括由從多種加密功能中選擇的加密功能進(jìn)行加密,以排除用于加密所述多個消息片段中的任何其它消息片段的加密功能。優(yōu)選地,所述把所述消息分成多個消息片段的步驟進(jìn)一步包括把序列元數(shù)據(jù)附到每個所述消息片段。優(yōu)選地,所述進(jìn)行協(xié)作以重組的步驟包含按照所述序列元數(shù)據(jù)來排序所述明文消息片段。優(yōu)選地,所述解密步驟進(jìn)一步包括延遲直到預(yù)定時間。在第二方面,本發(fā)明提供一種把數(shù)據(jù)安全地從發(fā)送者計(jì)算機(jī)系統(tǒng)傳送給接收者計(jì)算機(jī)系統(tǒng)的設(shè)備,所述設(shè)備包括所述發(fā)送者計(jì)算機(jī)系統(tǒng)處的第一智能代理環(huán)境,所述第一智能代理環(huán)境可操作用于接收明文消息;所述第一智能代理環(huán)境的分離器組件,所述分離器組件可操作用于把所述消息分成多個消息片段;所述第一智能代理環(huán)境中的代理創(chuàng)建器,所述代理創(chuàng)建器可操作用于創(chuàng)建每個所述消息片段的智能代理;每個所述智能代理的密鑰生成器,所述密鑰生成器可操作用于生成每個所述消息片段的密鑰;每個所述智能代理的加密組件,所述加密組件可操作用于通過加密所述每個消息片段來產(chǎn)生各自的加密消息片段;以及用于傳送以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理的裝置。所述設(shè)備可進(jìn)一步包括所述接收者計(jì)算機(jī)系統(tǒng)處的第二智能代理環(huán)境,所述第二智能代理環(huán)境可操作用于接收以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理;由每個所述智能代理定位一組代理中的每個其它代理的裝置;每個所述智能代理的解密組件,所述解密組件可操作用于通過解密每個所述各自的加密消息片段來產(chǎn)生各自的明文消息片段;以及由所述一組代理中的每個所述智能代理進(jìn)行協(xié)作以重組每個所述各自的明文消息片段從而形成明文消息的裝置。優(yōu)選地,所述傳送每個所述智能代理的裝置包含通過從多條路由中選擇的路由進(jìn)行傳送以排除用于傳送所述智能代理中的任何其它智能代理的路由的裝置。優(yōu)選地,所述加密組件包括從多種加密功能中選擇的加密功能,以排除用于加密所述多個消息片段中的任何其它消息片段的加密功能。優(yōu)選地,所述分離器組件還包括把序列元數(shù)據(jù)附到每個所述消息片段的裝置。優(yōu)選地,進(jìn)行協(xié)作以重組的裝置包含按照所述序列元數(shù)據(jù)來排序所述明文消息片段的裝置。優(yōu)選地,所述解密步驟進(jìn)一步包括延遲直到預(yù)定時間。在第三方面,本發(fā)明提供一種包含計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被載入計(jì)算機(jī)系統(tǒng)并被運(yùn)行時,所述計(jì)算機(jī)程序代碼執(zhí)行按照第一方面的方法的所有步驟。
下面參考附圖舉例說明本發(fā)明的優(yōu)選實(shí)施例,其中圖1是圖解說明按照本發(fā)明的當(dāng)前優(yōu)選實(shí)施例的設(shè)備的設(shè)備方框圖。圖2和3是表示按照本發(fā)明的優(yōu)選實(shí)施例的方法的相應(yīng)部分的處理流程圖。
具體實(shí)施例方式本發(fā)明的優(yōu)選實(shí)施例利用代理間協(xié)作加密和解密,要求所有片段在它們能夠被解密和重構(gòu)為原始完整數(shù)據(jù)形式之前到達(dá)目的地,借助通過不同路由傳送的多個加密片段來提供數(shù)據(jù)的安全傳送。在通過不安全或者不可信的通道發(fā)送數(shù)據(jù)的情況下,這提供了額外的保護(hù),并且允許多個加密密鑰被隨機(jī)地生成并且不被傳給任何其它方。本發(fā)明利用多個密鑰和協(xié)作代理把源數(shù)據(jù)分解成各個片段,每個片段利用不同的密鑰通過相同或不同的算法被加密。任何片段的竊聽和破解仍然不能向攻擊者提供對整個數(shù)據(jù)的訪問。在通過不安全的或者不可信的通道發(fā)送數(shù)據(jù)的情況下,這提供了額外的保護(hù)。 有利地,不需要向發(fā)起點(diǎn)/發(fā)起方和目的地點(diǎn)/目的地方處的任何用戶公開任何密鑰。本發(fā)明的優(yōu)選實(shí)施例利用被證實(shí)的常用便攜式技術(shù),諸如Java和移動代理技術(shù), 更具體地說小任務(wù)(aglet)。Aglet在本領(lǐng)域中已經(jīng)眾所周知,由IBM Tokyo Research Laboratory的研究人員發(fā)明,并且在商業(yè)出版物和學(xué)術(shù)出版物中充分公布,但是關(guān)于 aglet及其應(yīng)用的少數(shù)注解被認(rèn)為有用。按照開源許可,aglet軟件開發(fā)人員工具包(ASDK) 是免費(fèi)提供的,有興趣使用它的軟件開發(fā)人員可從萬維網(wǎng)下載。簡言之,aglet是具有定義的多組方法的代理對象,所述多組方法使得aglet能夠在響應(yīng)于特定“刺激”而實(shí)例化它們自己,隨后串行化其程序代碼和數(shù)據(jù)以便自主地把它們自己發(fā)送給遠(yuǎn)程系統(tǒng)時,以自主方式行動。Aglet還能夠?yàn)楦鞣N用途克隆它們自己,所述各種用途之一是使得它們能夠把它們自己的副本轉(zhuǎn)發(fā)給遠(yuǎn)程系統(tǒng)。Aglet具有能夠被編程激活的其它能力,比如按照某些受約束方式與它們的主機(jī)系統(tǒng)并且與存在于相同主機(jī)系統(tǒng)內(nèi)的其它aglet通信的能力。要從A安全地發(fā)送給B的數(shù)據(jù)由多個移動代理,比如說明的aglet處理。數(shù)據(jù)開始作為明文被傳給其中能夠創(chuàng)建代理的安全代理環(huán)境。代理在它們之間分割源數(shù)據(jù),每個代理利用它自己的密鑰來加密它的片段。分段可按需要錯綜復(fù)雜,以確保如果即使任意一個片段被破解,那么仍然不存在足夠的具有很大用處的可理解數(shù)據(jù)。例如,一種非常簡單的分段是把數(shù)據(jù)分成兩個片段,其中每個片段包含每隔一個的字,比如字1,3,5,7…和字2, 4,6,8…。在分段時,每個代理知道涉及了多少個其它代理和它們的身份,以及它們分別負(fù)責(zé)哪個具體片段。代理隨后利用它們各自選擇的無論哪種路由路徑把它們的加密數(shù)據(jù)片段發(fā)送給目的地。代理隨后把它們自己傳播給目的地代理環(huán)境。安全的目的地環(huán)境隨后接納數(shù)據(jù)片段和代理,直到所有原始片段和代理到達(dá)為止。在保持的同時,每個代理檢查它自己的數(shù)據(jù)片段,并與其它代理進(jìn)行交互以確定所有已知的發(fā)起代理都已到達(dá),并且這些代理都確認(rèn)它具有作為凈荷的各自數(shù)據(jù)片段。一旦發(fā)生這種情況,那么各個代理能夠單獨(dú)解碼它自己的數(shù)據(jù)片段,隨后進(jìn)行協(xié)作以便把各個片段重新接合到一起以形成一個整體。在任何時刻都不會公開單個加密密鑰,從而允許借助有效的自動加密和解密把數(shù)據(jù)無縫地從一個安全環(huán)境發(fā)送給另一個安全環(huán)境。另外,能夠在系統(tǒng)中注入有意的時間延遲,使得在任意時間段內(nèi)遍布數(shù)據(jù)到達(dá)。最后一個片段的到達(dá)也不一定是最終的解密時間, 因?yàn)榭稍谠刺幹甘靖鱾€代理不協(xié)作解密數(shù)據(jù),直到給定日期和時間。源和目的地由能夠接納移動代理和數(shù)據(jù)的安全環(huán)境構(gòu)成。要安全傳送的數(shù)據(jù)被引入所述安全環(huán)境,優(yōu)選地與其它適用參數(shù)(比如片段的數(shù)目、時間參數(shù)和要使用的傳輸路由的數(shù)目)一起被引入所述安全環(huán)境。參數(shù)和數(shù)據(jù)優(yōu)選地由主代理/aglet處理。主代理的用途是1.根據(jù)參數(shù)和數(shù)據(jù)的類型,確定所需代理的數(shù)目。考慮到可用資源和任何其它外部因素,能夠按照主代理規(guī)則集來計(jì)算另外的參數(shù)和/或因素。2.創(chuàng)建/產(chǎn)生所需數(shù)目的代理/aglet。3.給予所有代理唯一標(biāo)識符密鑰,該唯一標(biāo)識符密鑰允許各個代理在目標(biāo)位置相互識別和通信。如果需要,該密鑰或者另一個分配的密鑰也可用于加密代理間通信。4.把源數(shù)據(jù)切片/分段以及給予每個子代理其相關(guān)數(shù)據(jù)和指示該數(shù)據(jù)被如何分段的元數(shù)據(jù)。分段可以是簡單的或者復(fù)雜的。例如,復(fù)雜的例子可以是利用頭尾功能的循環(huán)組合來生成不同長度的片段,其中以由受約束隨機(jī)數(shù)發(fā)生器確定的長度間隔從數(shù)據(jù)剪下每個連續(xù)的頭片段。子代理/aglet借助自己生成的隨機(jī)密鑰和算法選擇來加密分配給它們的數(shù)據(jù)片段,隨后把數(shù)據(jù)片段發(fā)送/路由給期望的目的地。子代理/aglet隨后在備選路由(如果可能的話)上把它們自己傳播給目標(biāo)位置。代理能夠延遲其出發(fā),以便不與數(shù)據(jù)在同一個時間幀內(nèi)。作為在分段、加密和傳播階段的協(xié)作處理的一部分,各個代理能夠確保它們不會都利用至目標(biāo)目的地的相同連接和路由,或者它們在適當(dāng)延遲的情況下利用這些路由,以降低它們的空間和時間共存的可能性。當(dāng)?shù)竭_(dá)安全環(huán)境時,數(shù)據(jù)和代理被接納/聚集,直到所有各方都到場為止。代理可相互通信以確認(rèn)它們都完好無損地到達(dá),隨后它們能夠在片段解密和重新裝配處理中進(jìn)行協(xié)作,從而按照數(shù)據(jù)的原始形式來重構(gòu)原始數(shù)據(jù)。現(xiàn)在參見圖1,圖中示出了圖解說明按照本發(fā)明的當(dāng)前優(yōu)選實(shí)施例的設(shè)備的設(shè)備方框圖。圖1示出發(fā)送者小任務(wù)環(huán)境100,發(fā)送者小任務(wù)環(huán)境100可與網(wǎng)絡(luò)協(xié)作以接收輸入消息102。當(dāng)收到輸入消息102時,主小任務(wù)104被實(shí)例化,使得方法被調(diào)用,以由消息分離器-定序器106把消息分成利用序列元數(shù)據(jù)識別的順序片段。主小任務(wù)104產(chǎn)生這里表示成小任務(wù)1、小任務(wù)2···的多個小任務(wù)112、112'…。小任務(wù)的數(shù)目是如前所述確定的,但是為了易于理解附圖并為了描述的簡潔起見,這里只示出了兩個小任務(wù)。小任務(wù)112、112'可操作用于調(diào)用方法,以由密鑰生成器108、108'生成密鑰,并通過調(diào)用加密器/解密器110、 110'的方法來加密它們各自的消息片段。當(dāng)在發(fā)送者小任務(wù)環(huán)境實(shí)例化小任務(wù)112、112' 時,禁用由消息重組器122、122'重組消息片段的附加方法。對本領(lǐng)域的普通技術(shù)人員來說,顯然小任務(wù)可包含根據(jù)實(shí)例化小任務(wù)的環(huán)境以及根據(jù)外部或內(nèi)部生成的刺激被啟用或禁用的多種方法。
小任務(wù)112、112'可操作用于使它們自己通過網(wǎng)絡(luò)(例如諸如因特網(wǎng)之類的廣域網(wǎng))從發(fā)送者小任務(wù)環(huán)境100被傳送給接收者小任務(wù)環(huán)境116。小任務(wù)112、112'可以作為數(shù)據(jù)凈荷的形式攜帶它們的加密數(shù)據(jù)片段,或者它們可通過網(wǎng)絡(luò)分離地發(fā)送其數(shù)據(jù)凈荷, 并在接收者小任務(wù)環(huán)境116從網(wǎng)絡(luò)接收所述數(shù)據(jù)凈荷。當(dāng)?shù)竭_(dá)小任務(wù)環(huán)境116時,小任務(wù)112、112'被激活并可操作用于利用本領(lǐng)域中公知的方法相互通信。小任務(wù)112、112'協(xié)作確定何時所有相關(guān)的小任務(wù)都到達(dá)接收者小任務(wù)環(huán)境(以及何時任何分離傳送的數(shù)據(jù)已到達(dá)(可選)),使得能夠解密和重新裝配所有消息片段。另一方面,即使所有片段都已到達(dá),小任務(wù)112、112'也可延遲進(jìn)一步的處理, 直到某個預(yù)定時間。當(dāng)所有小任務(wù)112、112'準(zhǔn)備就緒時,它們調(diào)用加密器/解密器方法 IlOUlO'來解密它們各自的片段,隨后調(diào)用消息重組器方法122、122',以按照由消息分離器-定序器106與它們封裝在一起的序列元數(shù)據(jù)來重組各個片段。當(dāng)完成其解密和重組方法時,小任務(wù)112、112'提供解密和重新裝配的消息124。現(xiàn)在參見圖2,圖中示出了按照當(dāng)前優(yōu)選實(shí)施例的方法的發(fā)送部分的各個步驟。圖 2還圖解說明了在計(jì)算機(jī)程序產(chǎn)品中實(shí)現(xiàn)本發(fā)明的當(dāng)前優(yōu)選實(shí)施例所需的計(jì)算機(jī)程序代碼步驟,但是為了簡潔起見,這里將說明方法步驟。對編程領(lǐng)域的技術(shù)人員來說,顯然所述方法適合于用實(shí)現(xiàn)每個邏輯方法步驟的程序代碼裝置來體現(xiàn)。所述方法始于開始步驟200,在步驟202,明文消息102被接收到發(fā)送者小任務(wù)環(huán)境100中。在步驟204,開始由消息分離器-定序器106把消息分成多個片段的處理。利用頭尾處理,在步驟204,使頭片段與尾片段分離,然后在步驟206,利用頭片段作為其凈荷產(chǎn)生(創(chuàng)建)小任務(wù)。下一個頭片段的處理執(zhí)行步驟204、206,直到在測試步驟208確定尾部為空-即,不再存在待處理的消息片段。在步驟210,調(diào)用每個小任務(wù)的密鑰生成器功能108、108',然后在步驟212,為每個小任務(wù)調(diào)用加密功能110、110'。在步驟214,為每個小任務(wù)調(diào)用發(fā)送功能,然后在結(jié)束步驟216完成優(yōu)選實(shí)施例的方法的發(fā)送部分?,F(xiàn)在參見圖3,圖中示出了按照當(dāng)前優(yōu)選實(shí)施例的方法的接收部分的各個步驟。圖 3還圖解說明了在計(jì)算機(jī)程序產(chǎn)品中實(shí)現(xiàn)本發(fā)明的當(dāng)前優(yōu)選實(shí)施例所需的計(jì)算機(jī)程序代碼步驟,但是為了簡潔起見,這里將說明方法步驟。對編程領(lǐng)域的技術(shù)人員來說,顯然所述方法適合于用實(shí)現(xiàn)每個邏輯方法步驟的程序代碼裝置來體現(xiàn)。所述方法始于開始步驟300,在步驟302,小任務(wù)112、112'…到達(dá)接收者小任務(wù)環(huán)境116。包含定位相關(guān)小任務(wù)的步驟304、“都存在? ”的測試步驟306和等待步驟308的迭代執(zhí)行確保所有相關(guān)的小任務(wù)112、112'…都存在于接收者小任務(wù)環(huán)境116中的功能。 在測試步驟310,對于由每個小任務(wù)112、112'…作為凈荷攜帶的消息片段調(diào)用解密功能 IlOUlO',以及處理反復(fù)經(jīng)過測試步驟312、等待步驟314和解密步驟310,直到所有消息片段都被解密。在步驟316,為每個小任務(wù)調(diào)用重組功能,并且處理反復(fù)經(jīng)過測試步驟318, 直到序列完成為止-即,直到解密的消息片段被重組成明文或解密消息1 為止。在步驟 320,返回解密并重組的消息,然后在結(jié)束步驟322,所述方法的接收部分完成。對本領(lǐng)域的普通技術(shù)人員來說,顯然本發(fā)明的優(yōu)選實(shí)施例的方法的全部或部分可恰當(dāng)并且有益地用一個或多個邏輯設(shè)備來體現(xiàn),所述邏輯設(shè)備包含被安排成實(shí)現(xiàn)所述方法的各個步驟的邏輯元件,并且這樣的邏輯元件可包含硬件組件、固件組件或者它們的組合。同樣對本領(lǐng)域的技術(shù)人員來說,顯然按照本發(fā)明的優(yōu)選實(shí)施例的整個或部分邏輯安排可用包含實(shí)現(xiàn)所述方法的各個步驟的邏輯元件的邏輯設(shè)備來體現(xiàn),并且這樣的邏輯元件包含諸如可編程邏輯陣列或?qū)S眉呻娐分械倪壿嬮T之類的組件。這樣的邏輯安排還可用利用虛擬硬件描述語言,臨時或永久地建立這樣的陣列或電路中的邏輯結(jié)構(gòu)的啟動元件來體現(xiàn),所述虛擬硬件描述語言可利用固定的或者可傳送的載體介質(zhì)保存和傳送??梢岳斫馍厦嬲f明的方法和安排也可適當(dāng)?shù)赝耆虿糠钟迷谝粋€或多個處理器 (附圖中未示出)上運(yùn)行的軟件來實(shí)現(xiàn),可以用攜帶在諸如磁盤或光盤之類的任何適當(dāng)數(shù)據(jù)載體(附圖中同樣未示出)上的一個或多個計(jì)算機(jī)程序元件的形式來提供所述軟件。同樣地,數(shù)據(jù)的傳輸通道包含各種存儲介質(zhì)以及信號傳送介質(zhì),比如有線或無線信號傳送介質(zhì)。方法通常被認(rèn)為是產(chǎn)生期望結(jié)果的自相一致的一系列步驟。這些步驟需要物理量的物理處理。通常(盡管不一定),這些物理量采取能夠被保存、傳送、組合、比較和以其它方式處理的電信號或磁信號的形式。主要是因?yàn)槌S?,有時便利的是把這些信號稱為比特、 數(shù)值、參數(shù)、項(xiàng)目、元素、對象、符號、字符、項(xiàng)、數(shù)字等。不過應(yīng)注意,所有這些術(shù)語和類似術(shù)語與適當(dāng)?shù)奈锢砹肯嚓P(guān),僅僅是適用于這些物理量的便利標(biāo)簽。本發(fā)明還可恰當(dāng)?shù)伢w現(xiàn)成供計(jì)算機(jī)系統(tǒng)使用的計(jì)算機(jī)程序產(chǎn)品。這種實(shí)現(xiàn)包含固定在有形介質(zhì),比如計(jì)算機(jī)可讀介質(zhì),例如磁盤、CD-ROM、ROM或硬盤上,或者可通過有形介質(zhì)(包括(但不限于)光通信線路或類似通信線路)或利用無線技術(shù)(包括(但不限于) 微波、紅外或其它傳輸技術(shù)),經(jīng)由調(diào)制解調(diào)器或其它接口裝置,傳送給計(jì)算機(jī)系統(tǒng)的一系列計(jì)算機(jī)可讀指令。所述一系列的計(jì)算機(jī)可讀指令體現(xiàn)前面說明的所有或部分功能。本領(lǐng)域的技術(shù)人員可以理解這樣的計(jì)算機(jī)可讀指令可用供計(jì)算機(jī)架構(gòu)或操作系統(tǒng)使用的許多編程語言來編寫。此外,這樣的指令可以利用目前或未來的任何存儲技術(shù)保存,包括(但不限于)半導(dǎo)體存儲器、磁存儲器或光存儲器,或者可利用目前或未來的任何通信技術(shù)傳送,包括(但不限于)光通信,紅外通信或微波通信。預(yù)期這樣的計(jì)算機(jī)程序產(chǎn)品可以具有附隨的印刷或電子文檔的可拆裝介質(zhì),比如利用計(jì)算機(jī)系統(tǒng)預(yù)先加載到系統(tǒng) ROM或硬盤上的現(xiàn)成軟件的形式分發(fā),或者可通過網(wǎng)絡(luò),比如因特網(wǎng)或萬維網(wǎng),從服務(wù)器或電子公告牌分發(fā)。在一種備選方案中,可用計(jì)算機(jī)執(zhí)行的部署服務(wù)的方法的形式來實(shí)現(xiàn)本發(fā)明的優(yōu)選實(shí)施例,所述服務(wù)包含部署計(jì)算機(jī)程序代碼的步驟,當(dāng)被部署到計(jì)算機(jī)架構(gòu)中并在計(jì)算機(jī)架構(gòu)上被執(zhí)行時,所述計(jì)算機(jī)程序代碼使所述計(jì)算機(jī)系統(tǒng)執(zhí)行方法的所有步驟。在另一種備選方案中,可用上面具有功能數(shù)據(jù)的數(shù)據(jù)載體的形式來實(shí)現(xiàn)本發(fā)明的優(yōu)選實(shí)施例,所述功能數(shù)據(jù)包含當(dāng)被載入計(jì)算機(jī)系統(tǒng)中從而在計(jì)算機(jī)系統(tǒng)上操作時,使所述計(jì)算機(jī)系統(tǒng)執(zhí)行方法的所有步驟的功能計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)。對本領(lǐng)域的技術(shù)人員來說,顯然可對前述例證實(shí)施例做出許多改進(jìn)和修改,而不脫離本發(fā)明的范圍。
權(quán)利要求
1.一種把數(shù)據(jù)安全地從發(fā)送者計(jì)算機(jī)系統(tǒng)傳送給接收者計(jì)算機(jī)系統(tǒng)的方法,包括下述步驟由所述發(fā)送者計(jì)算機(jī)系統(tǒng)處的第一智能代理環(huán)境接收明文消息; 由所述第一智能代理環(huán)境的分離器組件把所述消息分成多個消息片段; 由所述第一智能代理環(huán)境中的代理創(chuàng)建器創(chuàng)建每個所述消息片段的智能代理; 由每個所述智能代理的密鑰生成器功能生成每個所述消息片段的密鑰; 由每個所述智能代理的加密功能加密每個所述消息片段以產(chǎn)生各自的加密消息片段;以及傳送以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理。
2.按照權(quán)利要求1所述的方法,進(jìn)一步包括下述步驟由所述接收者計(jì)算機(jī)系統(tǒng)處的第二智能代理環(huán)境接收以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理;由每個所述智能代理定位一組代理中的每個其它代理;由每個所述智能代理的解密功能解密每個所述加密的各自消息片段,以產(chǎn)生各自的明文消息片段;以及所述一組代理中的每個所述智能代理進(jìn)行協(xié)作以重組每個所述各自的明文消息片段從而形成明文消息。
3.按照權(quán)利要求1或2所述的方法,其中,所述傳送每個所述智能代理的步驟包含通過從多條路由中選擇的路由進(jìn)行傳送,以排除用于傳送所述智能代理中的任何其它智能代理的路由。
4.按照任意前述權(quán)利要求所述的方法,其中,所述加密每個所述消息片段的步驟包括 由從多種加密功能中選擇的加密功能進(jìn)行加密,以排除用于加密所述多個消息片段中的任何其它消息片段的加密功能。
5.按照任意前述權(quán)利要求所述的方法,其中,所述把所述消息分成多個消息片段的步驟進(jìn)一步包括把序列元數(shù)據(jù)附到每個所述消息片段。
6.按照從屬于權(quán)利要求2的權(quán)利要求5所述的方法,其中,所述進(jìn)行協(xié)作以重組的步驟包含按照所述序列元數(shù)據(jù)來排序所述明文消息片段。
7.按照權(quán)利要求2-6任意之一所述的方法,其中,所述解密步驟進(jìn)一步包括延遲直到預(yù)定時間。
8.—種把數(shù)據(jù)安全地從發(fā)送者計(jì)算機(jī)系統(tǒng)傳送給接收者計(jì)算機(jī)系統(tǒng)的設(shè)備,包括所述發(fā)送者計(jì)算機(jī)系統(tǒng)處的第一智能代理環(huán)境,所述第一智能代理環(huán)境可操作用于接收明文消息;所述第一智能代理環(huán)境的分離器組件,所述分離器組件可操作用于把所述消息分成多個消息片段;所述第一智能代理環(huán)境中的代理創(chuàng)建器,所述代理創(chuàng)建器可操作用于創(chuàng)建每個所述消息片段的智能代理;每個所述智能代理的密鑰生成器,所述密鑰生成器可操作用于生成每個所述消息片段的密鑰;每個所述智能代理的加密組件,所述加密組件可操作用于通過加密每個所述消息片段來產(chǎn)生各自的加密消息片段;以及傳送以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理的裝置。
9.按照權(quán)利要求8所述的設(shè)備,進(jìn)一步包括所述接收者計(jì)算機(jī)系統(tǒng)處的第二智能代理環(huán)境,所述第二智能代理環(huán)境可操作用于接收以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個所述智能代理; 由每個所述智能代理定位一組代理中的每個其它代理的裝置; 每個所述智能代理的解密組件,所述解密組件可操作用于通過解密每個所述各自的加密消息片段來產(chǎn)生各自的明文消息片段;以及由所述一組代理中的每個所述智能代理進(jìn)行協(xié)作以重組每個所述各自的明文消息片段從而形成明文消息的裝置。
10.按照權(quán)利要求8或9所述的設(shè)備,其中,所述傳送每個所述智能代理的裝置包含 通過從多條路由中選擇的路由進(jìn)行傳送,以排除用于傳送所述智能代理中的任何其它智能代理的路由的裝置。
11.按照權(quán)利要求8、9或10所述的設(shè)備,其中,所述加密組件包括從多種加密功能中選擇的加密功能,以排除用于加密所述多個消息片段中的任何其它消息片段的加密功能。
12.按照權(quán)利要求8-10任意之一所述的設(shè)備,其中,所述分離器組件進(jìn)一步包括把序列元數(shù)據(jù)附到每個所述消息片段的裝置。
13.按照從屬于權(quán)利要求9的權(quán)利要求12所述的設(shè)備,其中,進(jìn)行協(xié)作以重組的裝置包含按照所述序列元數(shù)據(jù)來排序所述明文消息片段的裝置。
14.按照權(quán)利要求9-13任意之一所述的設(shè)備,其中,所述解密步驟進(jìn)一步包括延遲直到預(yù)定時間。
15.一種包含計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被載入計(jì)算機(jī)系統(tǒng)并被運(yùn)行時,所述計(jì)算機(jī)程序代碼執(zhí)行按照權(quán)利要求1-7任意之一所述的方法的所有步驟。
全文摘要
一種把數(shù)據(jù)安全地從發(fā)送者計(jì)算機(jī)系統(tǒng)傳送給接收者計(jì)算機(jī)系統(tǒng)的方法,包括由第一智能代理環(huán)境接收明文消息;把所述消息分成多個消息片段;創(chuàng)建每個消息片段的智能代理;生成每個消息片段的密鑰;加密每個消息片段以產(chǎn)生各自的加密消息片段;以及傳送以所述各自的加密消息片段作為數(shù)據(jù)凈荷的每個智能代理。該方法進(jìn)一步包括由接收者計(jì)算機(jī)系統(tǒng)處的第二智能代理環(huán)境接收以其各自加密消息片段作為數(shù)據(jù)凈荷的每個智能代理;定位一組代理中的每個代理;解密每個加密的各自消息片段以產(chǎn)生各自的明文消息片段;以及所述一組代理進(jìn)行協(xié)作以重組明文消息片段從而形成明文消息。
文檔編號G06F21/00GK102473214SQ201080032054
公開日2012年5月23日 申請日期2010年7月28日 優(yōu)先權(quán)日2009年7月31日
發(fā)明者M·A·貝伊農(nóng), N·R·貝利, P·斯特雷頓 申請人:國際商業(yè)機(jī)器公司