專利名稱:網絡環(huán)境中的協作不可抵賴消息交換的制作方法
網絡環(huán)境中的協作不可抵賴消息交換技術領域本申請的實施例一般涉及網絡計算,更具體地說,涉及對等即時 消息傳遞系統(tǒng)。
背景技術:
常規(guī)的對等即時消息傳遞系統(tǒng)和方法提供了用于加密、簽名和部分不可抵賴(non-r印udiation)的手段。具體地,加密確保n個系統(tǒng) 之間的通信是秘密的,只允許預期的接收者進行訪問。數字簽名提供 可識別標記以及數據完整性,由此第 一 系統(tǒng)可對一數據集進行簽名, 第二系統(tǒng)可以檢驗該數據與其被簽名時是否相同、以及哪個實體對該 數據進行了簽名。當在給定時間點已知給定數據集和其來源時,發(fā)生 不可抵賴。支持不可抵賴的系統(tǒng)可以證明給定數據集來源于系統(tǒng)A 上的用戶A,并且該數據沒改變。常規(guī)技術支持確保信息安全并部分地確保不可抵賴的各種手段。 在所有的參與者都同意某事為真時,發(fā)生不可抵賴。例如,當某人試 圖購買房子時,該交易所涉及的多人提供文件,并交換了簽名,證人 也證明了該事件。因此,得到的文件集在法律上不能抵賴。合法地綁 定文件是非常關鍵的。在數字領域,可以看到確保預期的接收者只從 特定的源接收消息的類似活動,但是常規(guī)系統(tǒng)通常無法確保特定的消 息在其從發(fā)起到被接收的傳播過程中保持完好。類似地, 一旦每個人都簽名并同意抵押合同中的條款,銀行就不 能改變合同中的利率。然而,第一人可以獲取由第二人發(fā)送(加密并 簽名)的電子郵件,并在第一人將該電子郵件轉發(fā)到第三人(或發(fā)回 第二人)之前修改消息。但是,人們一般信任第一人會與由第二人原 先提供的那樣表示該消息,且不會修改它。然而,數字世界使得一個8人可以非常容易地變更數字內容。在合作領域,特別是在即時消息傳 遞中,存在嘗試提供不可抵賴的系統(tǒng),然而這些系統(tǒng)傾向于依賴信任。 具體地,在即時消息傳遞的情況下,通常不存在確保兩個客戶機都保存完全相同的謄本(transcript)(即數字文檔)的能力。因此,仍然 有改進網絡計算中的不可抵賴消息交換的需要。發(fā)明內容鑒于上述問題,本發(fā)明的實施例提供了一種在計算機網絡中執(zhí)行 從第一系統(tǒng)到第二系統(tǒng)的協作不可抵賴消息交換的方法,以及一種可 由計算機讀取的程序存儲設備,所述程序存儲設備有形地包含指令的 程序,所述指令的程序可由所述計算機運行以執(zhí)行在計算機網絡中執(zhí) 行從第一系統(tǒng)到第二系統(tǒng)的協作不可抵賴消息交換的方法。其中,所 述方法包括檢查所述第二系統(tǒng)的當前系統(tǒng)時間與實際時間之間的差異; 執(zhí)行時間同步處理,以使所述當前系統(tǒng)時間與所述實際時間匹配;在 第 一和笫二系統(tǒng)之間交換公共加密密鑰;從所述第 一 系統(tǒng)向所述第二系統(tǒng)發(fā)送經數字簽名的消息;對所述經數字簽名的消息進行解碼;從 所述第二系統(tǒng)向所述第一系統(tǒng)發(fā)送經數字簽名的確認消息;對所述經 數字簽名的確認消息進行解碼;以及將所述經數字簽名的消息的文本 遞交(commit)到所述第一系統(tǒng)上的正式桊本。該方法還可以包括如下步驟在所述第一和第二系統(tǒng)之間傳輸調 和消息;對所述調和消息進行解碼,其中所述調和消息包括包含謄本 的有效載荷;通過創(chuàng)建所述謄本中的所識別文本和所述謄本中的實際 文本之間的謄本增量(delta),來確定所述謄本的準確度;發(fā)送經數 字簽名的調和響應消息;對所述經數字簽名的調和響應消息進行解碼; 審查所述謄本;以及確定是否接受所述謄本。該時間同步處理可以包 括如下步驟由所述第二系統(tǒng)檢驗所述第二系統(tǒng)的所述當前系統(tǒng)時間; 確定是否需要對所述第二系統(tǒng)進行正式時間檢查;連接到已知時間服 務器的列表,以重新同步所述第二系統(tǒng)的所述當前系統(tǒng)時間;用所述 時間服務器來驗證所述第二系統(tǒng)的所述當前系統(tǒng)時間;確定所述當前9系統(tǒng)時間是否與預先指定的閾值匹配;以及確定是否接受所述當前系 統(tǒng)時間作為所述實際時間。優(yōu)選地,對所述經數字簽名的消息進行解碼包括如下步驟檢驗 所述經數字簽名的消息的數字簽名;以及檢驗所述經數字簽名的消息 的數字完整性。優(yōu)選地,對所述經數字簽名的確認消息進行解碼包括 以下步驟檢驗所述經數字簽名的確認消息的數字簽名;檢驗所述經 數字簽名的確認消息的數字完整性;識別所述經數字簽名的確認消息 中的消息標識符和數字簽名;以及檢驗所述數字簽名是否與針對所述 消息標識符生成的數字簽名匹配。優(yōu)選地,對所述調和消息進行解碼 包括以下步驟檢驗所述調和消息的數字簽名;以及檢驗所述調和消 息的完整性。另 一 實施例提供了 一種在計算機網絡中執(zhí)行從第 一 系統(tǒng)到第二系 統(tǒng)的協作不可抵賴消息交換的系統(tǒng)和方法,以及一種可由計算機讀取 的程序存儲設備,所述程序存儲設備有形地包含指令的程序,所述指 令的程序可由所述計算機運行以執(zhí)行在計算機網絡中執(zhí)行從第 一 系統(tǒng) 到第二系統(tǒng)的協作不可抵賴消息交換的方法。其中,該方法包括如下 步驟從所述第一系統(tǒng)向所述第二系統(tǒng)發(fā)送經數字簽名的消息;對所 述經數字簽名的消息進行解碼;從所述第二系統(tǒng)向所述第一系統(tǒng)發(fā)送 經數字簽名的確認消息,其中所述經數字簽名的確認消息對接收到所 述經數字簽名的消息進行確認,并通過所述第二系統(tǒng)檢驗所述經數字 簽名的消息的正確性;對所述經數字簽名的確認消息進行解碼;以及 將所述經數字簽名的消息的文本遞交到所述第 一 系統(tǒng)上的正式謄本。另 一 實施例提供了 一種在計算機網絡中執(zhí)行協作不可抵賴消息交 換的系統(tǒng),其中該系統(tǒng)包括第一系統(tǒng),所述第一系統(tǒng)適于檢查第二系 統(tǒng)的當前系統(tǒng)時間與實際時間之間的差異,以及執(zhí)行時間同步處理以使 所述當前系統(tǒng)時間與所述實際時間匹配;在第 一 和第二系統(tǒng)之間交換 的數據公共加密密鑰;從所述第一系統(tǒng)發(fā)送到所述第二系統(tǒng)的經數字 簽名的消息;第一解碼器,其可操作地連接到所述第二系統(tǒng),并且適 于對所述經數字簽名的消息進行解碼;從所述第二系統(tǒng)發(fā)送到所述第一系統(tǒng)的經數字簽名的確認消息;第二解碼器,其可操作地連接到所 述第一系統(tǒng),并且適于對所述經數字簽名的確認消息進行解碼;以及 所述第一系統(tǒng)上的正式謄本,其包括所述經數字簽名的消息的文本。 該系統(tǒng)還可以包括在所述第 一和第二系統(tǒng)之間傳輸的調和消息; 第三解碼器,其可操作地連接到所述第二系統(tǒng),并且適于對所述調和 消息進行解碼,其中所述調和消息包括包含謄本的有效載荷;處理器, 其可操作地連接到所述第二系統(tǒng),并且適于通過創(chuàng)建所述謄本中的所 識別文本和所述謄本中的實際文本之間的謄本增量,來確定所述謄本 的準確度;經數字簽名的調和響應消息;以及第四解碼器,其可操作 地連接到所述第一系統(tǒng),并且適于對所述經數字簽字的調和響應消息 進行解碼,其中所述第一系統(tǒng)適于審查所述謄本,并確定是否接受所 述拳本。優(yōu)選地,所述第二系統(tǒng)適于檢驗所述第二系統(tǒng)的所述當前系統(tǒng)時 間,其中所述第一 系統(tǒng)適于確定是否需要對所述第二系統(tǒng)進行正式時 間檢查,并且其中所述系統(tǒng)還包括已知時間服務器的列表,所述已知 時間服務器可操作地連接到所述第 一系統(tǒng),并且適于重新同步所述第 二系統(tǒng)的所述當前系統(tǒng)時間。優(yōu)選地,所述時間服務器適于驗證所述 第二系統(tǒng)的所述當前系統(tǒng)時間,其中所述第一系統(tǒng)適于確定所述當前 系統(tǒng)時間是否與預先指定的閾值匹配并確定是否接受所述當前系統(tǒng)時 間作為所述實際時間。所述第一解碼器適于檢驗所述經數字簽名的消息的數字簽名; 以及檢驗所述經數字簽名的消息的數字完整性。另外,所述第二解碼 器適于檢驗所述經數字簽名的確認消息的數字簽名;檢驗所述經數 字簽名的確認消息的數字完整性;識別所述經數字簽名的確認消息中的消息標識符和數字簽名;以及檢驗所述數字簽名是否與針對所述消 息標識符生成的數字簽名匹配。另外,所述第四解碼器適于檢驗所 述調和消息的數字簽名;以及檢驗所述調和消息的完整性。在結合以下的說明書和附圖進行考慮的情況下,可以更好地明白 和理解本發(fā)明的實施例的這些和其它方面。然而,必須理解,以下說 明雖然指出優(yōu)選實施例及其眾多具體細節(jié),但是給出它們僅僅是例示 性的,而不是限制性的。在不脫離本發(fā)明的精神的前提下,可以在本 發(fā)明的實施例的范圍內進行多種改變和修改,本發(fā)明的實施例包括所 有這些修改。
下面參考附圖僅通過示例說明本發(fā)明的優(yōu)選實施例,在附圖中 圖1至8示出根據本發(fā)明的優(yōu)選實施例的處理的系統(tǒng)實現的示意圖;圖9是示出根據本發(fā)明的優(yōu)選實施例的優(yōu)選方法的流程圖;以及 圖io示出根據本發(fā)明的優(yōu)選實施例的計算機系統(tǒng)圖。
具體實施方式
下面參考在附圖中示出并在以下的說明書中詳細說明的非限制性 實施例,更充分地說明本發(fā)明的實施例及其各種特征和有益的細節(jié)。 省略了對公知的部件和處理技術的說明,以免不必要地導致實施例難 于理解。在本發(fā)明中使用的示例只是為了幫助理解可以實施本發(fā)明實 施例的方式,并進而使得本領域技術人員能實施本發(fā)明的實施例。因 此,不應將示例理解為限制本發(fā)明的實施例的范圍。如上所迷,仍然有對改進網絡計算中的不可抵賴消息交換的需要。 本發(fā)明的實施例通過提供一種在基于網絡的合作(更具體地為即時消 息傳遞系統(tǒng))中確保不可抵賴結果的技術,來實現上述目的。具體來 講,該實施例提供一種方法,通過該方法至少兩個客戶可以確保它們 的事務是相同的,并且該事務的任何部分可以被識別為可疑的,并且被重新協商或記錄為妥協的。另外,本發(fā)明的實施例提供一種用于確 保不可抵賴結果的程序協議,該程序協議識別妥協結果和如何處理潛在失配的謄本。現在參考附圖,更具體地參考圖1至10,其中相似的附圖標記在所有附圖中一致地表示相應的特征,在圖中示出了優(yōu)選實施例。圖l至5示出根據本發(fā)明實施例的方法的連續(xù)步驟。即時消息傳 遞將被用作示例性消息交換應用,以幫助例示事件流。在圖1中,第 一系統(tǒng)100發(fā)起與第二系統(tǒng)200的連接,其中所述連接發(fā)生在網絡環(huán) 境、共享存儲器環(huán)境或超套接字(hyper-sockets)中的任一個中。在 即時消息傳遞的情況下,在網絡50中,第一用戶位于第一系統(tǒng)100, 而第二用戶位于第二系統(tǒng)200。第一用戶將第二用戶識別為希望與之 談話(即,交換消息)的某人。在第一用戶選擇(例如,雙擊)第二 用戶的名字時發(fā)起便開始,從而連接被發(fā)起。接著,第一系統(tǒng)100從 第二系統(tǒng)200請求當前時間,其中所述時間以諸如格林威治時間 (GMT )或例如從1970年1月1日00:00:00 GMT算起的毫秒數的 標準方式表示。這里,第一和第二系統(tǒng)100、 200嘗試同步它們各自的 時鐘。這使得系統(tǒng)100、 200都能確保包含時間戳的消息能被檢驗。系 統(tǒng)IOO、 200可以準確地檢測從該時間值的偏差,并將該消息報警或標 記為可疑。然后,第二系統(tǒng)200以適當的標準格式對該時間作出響應 300。在完成該步驟后,第一系統(tǒng)IOO比較從第二系統(tǒng)200接收到的時 間和本地已知時間以尋找差異。標準時間格式能夠表示時區(qū)數據,在 該情況下每個時區(qū)數據被表示為世界時間,其通常被稱為格林威治標 準時間。在即時消息傳遞的情況下,可以將時間從GMT轉換為本地 時間,從而保持一致的用戶體驗。如果時間不同(即,不匹配),則 第一系統(tǒng)100觸發(fā)包括如下步驟的時間同步方法400。第一系統(tǒng)100請求第二系統(tǒng)200檢驗其時間。然后,第二系統(tǒng)200 處理該請求,以確定是否需要使用以下步驟進行正式時間檢查。第二 系統(tǒng)200檢查最后更新變量。最后更新變量表示第二系統(tǒng)200將其本 地時鐘與另一系統(tǒng)同步的最后時間,該另一系統(tǒng)通常為權威時間服務200680047034.X 器(例如,time.nist.gov)。時間服務器是網絡上的系統(tǒng),其利用從原 子鐘廣播的時間來更新其本地時鐘。每次當本地時鐘被更新時,最后 更新變量被用更新發(fā)生時的時間更新。該變量位于本地機器上,并可 以以包括存儲器、文件等的多種方式進行存儲。如果在最后的n秒/ 分鐘內第二系統(tǒng)200沒有檢查該時間,則第二系統(tǒng)200通過調用先前 識別的時間服務器強制執(zhí)行檢查。此后,第二系統(tǒng)200連接到已知時 間服務器的列表來重新同步時間。在本技術領域,時間同步是公知的, 并且存在利用時間服務器來檢查時間的已知標準。之后,第二系統(tǒng)200 任選地連接到至少另兩個遠程服務器,所述遠程服務器能夠響應時間 請求(未圖示),來驗證其所接收到的時間的準確度。最后,《二系 統(tǒng)200用新時間值響應第一系統(tǒng)100。然后,第一系統(tǒng)IOO從所述遠程服務器(未圖示)以及可選地從 已經進行了驗證的其它時間服務器接收時間。然后,第一系統(tǒng)100進 行檢查,以確定從第二系統(tǒng)200返回的時間是否落入預先指定的閾值 內。例如,從第一服務器向第二服務器進行通信是可以接受的,只要 各個系統(tǒng)上的時鐘彼此在15秒以內即可。接著,第一系統(tǒng)100檢查其 本地時間,并確定是否應該簡單地將其時鐘設置為第二系統(tǒng)200提供 的值。如果應該,則第一系統(tǒng)100接受第二系統(tǒng)200的時間值。在一 替代方法中,第一系統(tǒng)IOO可以連接到至少一個時間服務器(未圖示), 并與之比較由第二系統(tǒng)200指定的值,以驗證該時間值的準確度。另 選地,第一系統(tǒng)IOO連接到至少一個時間服務器(未圖示),并與之 比較由第二系統(tǒng)200指定的值,以驗證該時間值的準確度,直到第一 系統(tǒng)IOO檢測到時間上的匹配。另選地,第一系統(tǒng)100利用第二系統(tǒng) 200使用的一個或所有時間服務器來驗證和同步它們的時間。另外, 第一系統(tǒng)100或第二系統(tǒng)200可以另選地通過指定消息同意對于時間 的不一致。這里,系統(tǒng)100或200都可以發(fā)起這樣的消息;然而,首 先發(fā)起交互的系統(tǒng)負責建立安全的可檢驗連接。然后,第一系統(tǒng)100和第二系統(tǒng)200交換公共密鑰500。在公共 密鑰交換500中,由某指定機構(authority)提供作為加密密鑰的公14共密鑰,該公共密鑰被實現為字母數字值,所述加密密鑰在非對稱方 法中可以與從公共密鑰得出的私有密鑰相結合??梢栽诠裁荑€基礎設施上運行公共密鑰交換500,該基礎設施包括(a)發(fā)布并檢驗數 字證書的證書機構(CA),所述數字證書包括公共密鑰或有關公共密 鑰的信息;(b)注冊機構(RA),用于在向請求者發(fā)布數字證書之 前檢驗CA; (c)—個或多個目錄,其中保持有包括它們的公共密鑰 的證書;以及證書管理系統(tǒng)。公共密鑰證書被實現為用于驗證發(fā)送者(第一系統(tǒng)100或第二系統(tǒng)200 )的授權和名稱的經數字簽名的文檔。 該文檔可以包括包含證書持有者的名稱(可以是用戶或系統(tǒng)的名稱) 和持有者的公共密鑰的格式化數據塊、以及用于認證的CA的數字簽 名。然后,包括發(fā)送者(第一系統(tǒng)100或第二系統(tǒng)200 )的唯一標識 符的用戶ID分組在證書分組之后被發(fā)送。在其它實施例中,這種交 換可以通過第三系統(tǒng)(未圖示)發(fā)生或得到第三系統(tǒng)的幫助。如圖2所示,然后,第一系統(tǒng)100發(fā)送經數字簽名的消息600, 其中消息至少包括消息ID、作者、接收者、有效載荷和第一系統(tǒng)IOO 的數字簽名。所述"消息ID"表示用于跟蹤消息的唯一標識符。該ID 可以是全局唯一的,或者對于消息傳遞系統(tǒng)是唯一的。所述"作者" 表示消息的創(chuàng)建者。"作者"可以為能夠鏈接回一實體的唯一ID,例 如user@xx.ibm.com。所述"接收者"表示該消息要被發(fā)送至的實體。"接收者"可以為能夠鏈接回 一 實體的唯一 ID ,例如 user@xx.ibm.com。所述"有效載荷"表示消息的內容,即正文,其 可以包括文本、富文本、圖像、視頻、音頻、軟件等。所述"數字簽 名"類似于合同或其它文檔上的手寫簽名。主要的區(qū)別在于數字簽名 是數字(機器可讀)的,并且無法偽造。數字簽名著眼于全部或部分 數據集(在此情況下為消息)并生成簽名,所述簽名允許該數據集的 接收者檢驗該數據集是否未被篡改且其是否來源于該作者。然后,第 二系統(tǒng)200從第一系統(tǒng)IOO接收第一消息,并利用在圖3至5中進一 步示出的接下來的步驟來解碼消息600。如圖3所示,第二系統(tǒng)200檢驗(圖2的)消息600的簽名和消息720的完整性。在本技術領域中,用于檢驗數字簽名的技術是公知 的。對該檢驗的簡單說明包括首先重新計算摘要(digest)(通常為 表示唯一的校驗和的字符串,所述唯一的校驗和表示被簽名數據), 然后檢驗數據創(chuàng)建者的公共密鑰與摘要創(chuàng)建者的公共密鑰是否匹配。 接著,第二系統(tǒng)200用經數字簽名的確認消息730響應發(fā)起系統(tǒng)(即, 第一系統(tǒng)IOO),其中,所迷確認消息730至少包括以下中的一個 消息ID,其與圖2的經數字簽名的消息600中提供的消息ID相同; 與該ID相關聯的簽名,其與圖2的經數字簽名的消息中提供的簽名 相同;以及第二系統(tǒng)200的簽名。如圖4所示,第二系統(tǒng)200利用以下步驟對(圖3的)第一確認 消息730進行解碼。第一系統(tǒng)100檢驗該消息的簽名,并檢驗消息740 的完整性,即檢驗該消息在傳輸過程中是否未被變更。然后,第一系 統(tǒng)100識別該消息中的消息ID和簽名,并檢驗該消息中的簽名是否 與為該消息ID生成的簽名匹配。若不匹配,則由驗證簽名并進一步 識別出訛誤(corruption)的系統(tǒng)將錯誤返回到創(chuàng)建了該消息的系統(tǒng)。 如果匹配,則第一系統(tǒng)100用確認來響應第二系統(tǒng)200。接著,第一 系統(tǒng)100等待來自第二系統(tǒng)200的、利用針對在先確認消息750的返 回確認消息而進行的響應。若對確認750進行了成功確認,則(圖2 的)消息600的文本被遞交到正式謄本或記錄760,其可以包括由第 二系統(tǒng)200將消息寫入日志并更新用戶界面,如圖5所示。在此情況 下,謄本760是表示從第 一 系統(tǒng)100到笫二系統(tǒng)200的完整消息流的 正式記錄??蛇x地,在事務結束時,其中一個系統(tǒng)(例如,系統(tǒng)200)發(fā)送 通信結束命令,可以利用如圖6至8中進一步所示的以下步驟進行調 和(reconciliation)處理。如圖6所示,第一系統(tǒng)100對正式謄本810 進行數字簽名。數字簽名在本領域中是公知的。通常,根據被簽名數 據集和簽名者的私有密鑰創(chuàng)建唯一的散列。然后,第一系統(tǒng)100將調 和消息820發(fā)送到第二系統(tǒng)200,其中所述調和消息820包括以下中 的至少一個調和ID、消息ID、謄本和第一系統(tǒng)100的數字簽名。接著,第二系統(tǒng)200利用以下的步驟接收并調和消息并對其進行解碼 830。第二系統(tǒng)200檢驗該消息的簽名和該消息的完整性。然后,第二 系統(tǒng)200識別消息820的有效載荷中的謄本。更具體來講,如圖7所 示,第二系統(tǒng)200利用以下步驟處理謄本840。第二系統(tǒng)200從謄本中識別消息ID,并比較該謄本中的每行的數 字簽名與第二系統(tǒng)200所保存的謄本的本地版本。然后,第二系統(tǒng)200 將該部分的不表示相同數據的每個部分記錄在存儲器(未圖示)中, 該存儲器可以為內存、文件、盤、遠程存儲器等。然后,第二系統(tǒng)200 創(chuàng)建包括以下中的至少一個的經數字簽名的調和響應消息850:消息 ID、調和ID、謄本和增量(若在謄本審查處理中存在不匹配的話)。 然后,第一系統(tǒng)100接收調和響應消息850,并利用如下步驟對消息 860進行解碼。第一系統(tǒng)100檢驗消息的簽名和完整性,并識別消息 的有效栽荷中的謄本增量。若沒有增量,則經簽名的調和響應850包 括兩個簽名(第一系統(tǒng)100和第二系統(tǒng)200)。在該處理的下一步驟中,如圖8所示,第一系統(tǒng)100檢測謄本增 量的存在,并向第一系統(tǒng)100上的用戶870提供謄本。用戶870用下 述方法審查謄本880: (a)接受第二系統(tǒng)200的謄本版本;(b)手 動地校正謄本以解決沖突;或(c)拒絕改變,使謄本無法檢驗。然后, 在第一系統(tǒng)100中的用戶870通過新調和消息890向第二系統(tǒng)200提 交改變,并且該處理持續(xù)直到其被中止或調和成功為止,其中由所有 系統(tǒng)(第一系統(tǒng)100和第二系統(tǒng)200 )簽名的兩個精確拷貝來確定成 功。在另一實施例中,可以由增量被保存在第一系統(tǒng)100和第二系統(tǒng) 200雙方中的謄本來確定成功。在該實施例中,系統(tǒng)IOO、 200都跟蹤 所有的變化以及最終文檔。增量作為通信的一部分被記錄在本地,使 得每個系統(tǒng)IOO、 200具有最終謄本760的相同拷貝,以及可以或者不 可以調和的增量。另一實施例可能在預定的一致度達到成功,例如IO %的一致。更具體地,關于在第一系統(tǒng)100的謄本和第二系統(tǒng)200的 謄本之間的區(qū)別有多少達成了一致。例如,在聊天謄本中可以允許有1%的區(qū)別,但如果有50%不同,則必須對其進行調和并存儲為可疑 物。另一實施例可能根據過去的行為或偏好使該處理為自動的。在該 實施例中,本地系統(tǒng)100、 200存儲偏好,例如所要求的相同謄本的必 要百分比。例如,第一系統(tǒng)IOO可能有如下偏好,即30%準確的文檔 是可接受的。這使得第一系統(tǒng)IOO可以自動接受達到這個準確度水平 的所有謄本。另一個示例可能包括關于如何處理調和區(qū)別的偏好。這 里,第一系統(tǒng)100可能從不關心調和,因此所有的謄本將簡單地與所 識別的增量一起被保存。第一系統(tǒng)100不會促使計算機操作者(即, 用戶870 )從事交互式調和。另一示例可能存儲遵從(defer)偏好, 其向給定用戶指明是否有人遵從他們的記錄。例如,第一系統(tǒng)100可 以通過簡單地接受其中第二系統(tǒng)200指出發(fā)生了改變并且正確數據應 該是什么的任何消息,來遵從第二系統(tǒng)200的斷言。圖9是參考圖1至8示出了在計算機網絡50中執(zhí)行從第一系統(tǒng) 100到第二系統(tǒng)200的協作不可抵賴信息交換的方法的流程圖,其中 所述方法包括檢查(901)第二系統(tǒng)200中的當前系統(tǒng)時間和實際時 間之間的差異;執(zhí)行(903 )時間同步處理400,以使當前系統(tǒng)時間與 實際時間匹配;在第 一 系統(tǒng)100和第二系統(tǒng)200之間交換(905 )公共 加密密鑰500;以及從第一系統(tǒng)100向第二系統(tǒng)200發(fā)送(卯7 )經數 字簽名的消息600。下一步驟(卯9)包括對經數字簽名的消息600進 行解碼;以及從第二系統(tǒng)200向第一系統(tǒng)100發(fā)送(9U)經數字簽名 的確認消息730。然后,下一步驟(913)包括對經數字簽名的確認消 息730進行解碼740;以及在第一系統(tǒng)100上將經數字簽名的消息600 的文本遞交(915)到正式謄本760。另選地,交換步驟(卯5)可以 在檢查步驟(901)之前發(fā)生。所述方法還可以包括以下步驟在第一系統(tǒng)100和第二系統(tǒng)200 之間傳輸調和消息820;以及對調和消息820進行解碼830,其中調和 消息820包括包含謄本的有效栽荷;通過創(chuàng)建謄本中所識別的文本和 謄本中的實際文本之間的謄本增量來確定840謄本的準確度;發(fā)送經 數字簽名的調和響應消息850;對經數字簽字的調和響應消息850進行解碼860;以及審查并確定880是否接受該謄本。時間同步處理400可以包括由第二系統(tǒng)200檢驗第二系統(tǒng)200 的當前系統(tǒng)時間;確認是否需要對第二系統(tǒng)200進行正式時間檢查; 連接到已知時間服務器的列表,以重新同步第二系統(tǒng)200的當前系統(tǒng) 時間;利用時間服務器來驗證第二系統(tǒng)200的當前系統(tǒng)時間;確定當 前系統(tǒng)時間是否與預先指定的閾值匹配;以及確定是否將當前系統(tǒng)時 間作為實際時間接受。優(yōu)選地,對經數字簽名的消息600進行解碼720的處理(909)包 括檢驗經數字簽名的消息600的數字簽名;以及檢驗經數字簽名的 消息600的數字完整性。優(yōu)選地,對經數字簽名的確認消息730進行 解碼740的處理(913 )包括檢驗經數字簽名的確認消息730的數字 簽名;檢驗經數字簽名的確認消息730的數字完整性;識別經數字簽 名的確認消息730中的消息標識符和數字簽名;以及檢驗該數字簽名 是否與為該消息標識符生成的數字簽名匹配。優(yōu)選地,對調和消息820 的解碼830包括檢驗調和消息820的數字簽名;以及檢驗調和消息 820的完整性。本發(fā)明的實施例可以采用完全硬件實施例、完全軟件實施例或包 括硬件和軟件元件的實施例等形式。優(yōu)選的實施例被實現為軟件,其 包括但不限于固件、駐留軟件、微碼等。另外,本發(fā)明的實施例可以采用計算機程序產品的形式,其可以 從供計算機或任何指令執(zhí)行系統(tǒng)使用或與之有關的計算機可用或計算 機可讀的介質中被訪問。就本說明書而言,計算機可用或計算機可讀 的介質可以為可以包括、存儲、通信、傳播、或傳輸供指令執(zhí)行系統(tǒng)、 裝置或設備使用或與之有關的程序的任意裝置。該介質可以為電子、磁、光學、電磁、紅外、或半導體系統(tǒng)(或 者裝置或設備)或傳播介質。計算機可讀介質的例子包括半導體或固 態(tài)存儲器、磁帶、可拆卸計算機軟盤、隨機存取存儲器(RAM)、只 讀存儲器(ROM)、硬磁盤和光盤。光盤的目前的例子包括致密盤只 讀存儲器(CD-ROM)、可讀寫致密盤(CD-R/W)和DVD。19適用于存儲和/或執(zhí)行程序代碼的數據處理系統(tǒng)包括至少一個直 接地或者經由系統(tǒng)總線而與存儲元件間接地連接的處理器。該存儲元 件可以包括在程序代碼實際執(zhí)行期間使用的本地存儲器、大容量存儲 器和高速緩沖存儲器,該高速緩沖存儲器為至少一些程序代碼提供臨 時存儲,以便在執(zhí)行期間減少必須從大容量存儲器取回代碼的次數。輸入/輸出(I/O)設備(包括但不限于鍵盤、顯示器、指針設備 等)可以與直接或經由居間的1/0控制器連接到系統(tǒng)。網絡適配器也可以與系統(tǒng)相連接,使得數據處理系統(tǒng)能夠經由居間的私有或公共網 絡與其它的數據處理系統(tǒng)、遠程打印機或存儲設備連接。調制解調器、 電纜調制解調器和以太網卡僅僅是目前可獲得的一些類型的網絡適配 器。在圖10中示出了用于實施本發(fā)明的實施例的代表性硬件環(huán)境。該示意圖示出根據實施例的信息處理/計算機系統(tǒng)的硬件配置。該系統(tǒng)包括至少一個處理器或中央處理器(CPU) 10。 CPU 10經由系統(tǒng)總線 12與例如隨機存取存儲器(RAM) 14、只讀存儲器(ROM) 16和輸 入/輸出(I/O )適配器18的各種設備相連。I/O適配器18可以連接到 外圍設備,例如盤單元11、磁帶機13或可由系統(tǒng)讀取的其它程序存 儲設備。系統(tǒng)可以讀取程序存儲設備上的本發(fā)明的指令,并遵循這些 指令來執(zhí)行本發(fā)明的實施例的方法。該系統(tǒng)還包括用戶接口適配器 19,該用戶接口適配器19將鍵盤15、鼠標17、揚聲器24、麥克風22 和/或其它用戶接口設備(例如觸摸屏設備(未圖示))與總線12連 接,以便采集用戶輸入。另外,通信適配器20將總線12與數據處理 網絡25連接,顯示適配器21將總線12與顯示設備23連接,所述顯 示設備可以實現為輸出設備,例如監(jiān)視器、打印機或發(fā)射機。上述對具體實施例的說明非常充分地揭示了本發(fā)明實施例的一般 性質,通過應用現有技術,在不背離總體構思的前提下,普通技術人 員可以很容易地針對各種應用進行修改和/或調整,因此這樣的調整和 修改應當被理解為處于所公開的實施例的等同物的意義和范圍內。應 當理解,在這里采用的措辭或術語僅是用于說明目的,而不是限制性目的。因此,盡管用優(yōu)選的實施例說明了本發(fā)明的實施例,但是本技 術領域的普通技術人員會知道,在所附權利要求書中的精神和范圍內, 可以帶有改動地實施本發(fā)明的實施例。
權利要求
1.一種在計算機網絡中執(zhí)行從第一系統(tǒng)到第二系統(tǒng)的協作不可抵賴消息交換的方法,所述方法包括如下步驟檢查所述第二系統(tǒng)的當前系統(tǒng)時間與實際時間之間的差異;執(zhí)行時間同步處理,以使所述當前系統(tǒng)時間與所述實際時間匹配;在第一和第二系統(tǒng)之間交換公共加密密鑰;從所述第一系統(tǒng)向所述第二系統(tǒng)發(fā)送經數字簽名的消息;對所述經數字簽名的消息進行解碼;從所述第二系統(tǒng)向所述第一系統(tǒng)發(fā)送經數字簽名的確認消息;對所述經數字簽名的確認消息進行解碼;以及將所述經數字簽名的消息的文本遞交到所述第一系統(tǒng)上的正式謄本。
2. 如權利要求l所述的方法,還包括如下步驟 在所述第 一和第二系統(tǒng)之間傳輸調和消息;對所述調和消息進行解碼,其中所述調和消息包括包含謄本的有 效栽荷;通過創(chuàng)建所述謄本中的所識別文本和所述謄本中的實際文本之間 的謄本增量,來確定所迷謄本的準確度; 發(fā)送經數字簽名的調和響應消息; 對所述經數字簽名的調和響應消息進行解碼; 審查所述謄本;以及 確定是否接受所述謄本。
3. 如權利要求l所述的方法,其中,所述時間同步處理包括如下 步驟由所述第二系統(tǒng)檢驗所述第二系統(tǒng)的所述當前系統(tǒng)時間; 確定是否需要對所述第二系統(tǒng)進行正式時間檢查; 連接到已知時間服務器的列表,以重新同步所述第二系統(tǒng)的所述 當前系統(tǒng)時間;用所述時間服務器來驗證所述第二系統(tǒng)的所述當前系統(tǒng)時間; 確定所述當前系統(tǒng)時間是否與預先指定的閾值匹配;以及 確定是否接受所述當前系統(tǒng)時間作為所述實際時間。
4. 如權利要求l所述的方法,其中,對所述經數字簽名的消息進 行解碼包括如下步驟檢驗所述經數字簽名的消息的數字簽名;以及 檢驗所述經數字簽名的消息的數字完整性。
5. 如權利要求l所述的方法,其中,對所述經數字簽名的確認消 息進行解碼包括以下步驟檢驗所述經數字簽名的確認消息的數字簽名;檢驗所述經數字簽名的確認消息的數字完整性;識別所述經數字簽名的確認消息中的消息標識符和數字簽名;以及檢驗所述數字簽名是否與針對所述消息標識符生成的數字簽名匹配。
6. 如權利要求2所述的方法,其中,對所述調和消息進行解碼包 括以下步驟檢驗所述調和消息的數字簽名;以及 檢驗所述調和消息的完整性。
7. —種在計算機網絡中執(zhí)行從第一系統(tǒng)到第二系統(tǒng)的協作不可抵 賴消息交換的方法,所述方法包括如下步驟從所述第 一 系統(tǒng)向所述第二系統(tǒng)發(fā)送經數字簽名的消息; 對所述經數字簽名的消息進行解碼;從所述第二系統(tǒng)向所述第一系統(tǒng)發(fā)送經數字簽名的確認消息,其 中所述經數字簽名的確認消息對接收到所述經數字簽名的消息進行確 認,并通過所述第二系統(tǒng)檢驗所述經數字簽名的消息的正確性;對所述經數字簽名的確認消息進行解碼;以及將所述經數字簽名的消息的文本遞交到所述第一系統(tǒng)上的正式謄本。
8. —種可由計算機讀取的程序存儲設備,所述程序存儲設備有形 地包含指令的程序,所迷指令的程序可由所述計算機運行以執(zhí)行在計 算機網絡中執(zhí)行從第一系統(tǒng)到第二系統(tǒng)的協作不可抵賴消息交換的方 法,所述方法包括如下步驟檢查所述第二系統(tǒng)的當前系統(tǒng)時間與實際時間之間的差異;執(zhí)行時間同步處理,以使所述當前系統(tǒng)時間與所述實際時間匹配;在第一和第二系統(tǒng)之間交換公共加密密鑰;從所述第 一 系統(tǒng)向所述第二系統(tǒng)發(fā)送經數字簽名的消息;對所述經數字簽名的消息進行解碼;從所述第二系統(tǒng)向所述第 一 系統(tǒng)發(fā)送經數字簽名的確認消息; 對所述經數字簽名的確認消息進行解碼;以及 將所述經數字簽名的消息的文本遞交到所述笫一系統(tǒng)上的正式謄本。
9. 如權利要求8所述的程序存儲設備,其中,所述方法還包括 在所述第 一 和第二系統(tǒng)之間傳輸調和消息;對所述調和消息進行解碼,其中所述調和消息包括包含謄本的有 效栽荷;通過創(chuàng)建所述謄本中的所識別文本和所述謄本中的實際文本之間 的謄本增量,來確定所述謄本的準確度; 發(fā)送經數字簽名的調和響應消息; 對所述經數字簽名的調和響應消息進行解碼; 審查所述謄本;以及 確定是否接受所述謄本。
10. 如權利要求8所述的程序存儲設備,其中,在所述方法中, 所述時間同步處理包括如下步驟由所述第二系統(tǒng)檢驗所述第二系統(tǒng)的所述當前系統(tǒng)時間; 確定是否需要對所述第二系統(tǒng)進行正式時間檢查; 連接到已知時間服務器的列表,以重新同步所述第二系統(tǒng)的所述 當前系統(tǒng)時間;用所述時間服務器來驗證所述笫二系統(tǒng)的所述當前系統(tǒng)時間; 確定所述當前系統(tǒng)時間是否與預先指定的閾值匹配;以及 確定是否接受所迷當前系統(tǒng)時間作為所述實際時間。
11. 如權利要求8所述的程序存儲設備,其中,在所述方法中, 對所述經數字簽名的消息進行解碼包括如下步驟檢驗所述經數字簽名的消息的數字簽名;以及 檢驗所述經數字簽名的消息的數字完整性。
12. 如權利要求8所述的程序存儲設備,其中,在所述方法中, 對所述經數字簽名的確認消息進行解碼包括以下步驟檢驗所述經數字簽名的確認消息的數字簽名;檢驗所述經數字簽名的確認消息的數字完整性;識別所述經數字簽名的確認消息中的消息標識符和數字簽名;以及檢驗所述數字簽名是否與針對所述消息標識符生成的數字簽名匹配。
13. 如權利要求9所述的程序存儲設備,其中,在所述方法中, 對所述調和消息進行解碼包括以下步驟檢驗所述調和消息的數字簽名;以及 檢驗所述調和消息的完整性。
14. 一種在計算機網絡中執(zhí)行協作不可抵賴消息交換的系統(tǒng),所 述系統(tǒng)包括第一系統(tǒng),所述第一系統(tǒng)適于檢查第二系統(tǒng)的當前系統(tǒng)時間與實際 時間之間的差異,以及執(zhí)行時間同步處理以使所述當前系統(tǒng)時間與所 述實際時間匹配;在第一和第二系統(tǒng)之間交換的數據公共加密密鑰; 從所述第 一 系統(tǒng)發(fā)送到所述第二系統(tǒng)的經數字簽名的消息; 第一解碼器,其可操作地連接到所述第二系統(tǒng),并且適于對所述經數字簽名的消息進行解碼;從所述第二系統(tǒng)發(fā)送到所述第一系統(tǒng)的經數字簽名的確認消息;第二解碼器,其可操作地連接到所述第一系統(tǒng),并且適于對所述經數字簽名的確認消息進行解碼;以及所述第一系統(tǒng)上的正式謄本,其包括所述經數字簽名的消息的文本。
15. 如權利要求14所述的系統(tǒng),還包括 在所述第一和第二系統(tǒng)之間傳輸的調和消息;第三解碼器,其可操作地連接到所述第二系統(tǒng),并且適于對所述 調和消息進行解碼,其中所述調和消息包括包含謄本的有效栽荷;處理器,其可操作地連接到所述第二系統(tǒng),并且適于通過創(chuàng)建所 述謄本中的所識別文本和所述謄本中的實際文本之間的謄本增量,來 確定所述謄本的準確度;經數字簽名的調和響應消息;以及第四解碼器,其可操作地連接到所述第一系統(tǒng),并且適于對所述 經數字簽字的調和響應消息進行解碼,其中所述第 一 系統(tǒng)適于審查所述謄本,并確定是否接受所述桊本。
16. 如權利要求14所述的系統(tǒng),其中所述第二系統(tǒng)適于檢驗所述 第二系統(tǒng)的所述當前系統(tǒng)時間,其中所述第一系統(tǒng)適于確定是否需要 對所述第二系統(tǒng)進行正式時間檢查,并且其中所述系統(tǒng)還包括已知時 間服務器的列表,所述已知時間服務器可操作地連接到所述第 一 系統(tǒng), 并且適于重新同步所述第二系統(tǒng)的所述當前系統(tǒng)時間。
17. 如權利要求16所述的系統(tǒng),其中所述時間服務器適于驗證所述第二系統(tǒng)的所述當前系統(tǒng)時間,其中所述第一系統(tǒng)適于確定所述當 前系統(tǒng)時間是否與預先指定的閾值匹配并確定是否接受所述當前系統(tǒng) 時間作為所述實際時間。
18. 如權利要求14所述的系統(tǒng),其中,所述第一解碼器適于 檢驗所述經數字簽名的消息的數字簽名;以及 檢驗所述經數字簽名的消息的數字完整性。
19. 如權利要求14所述的系統(tǒng),其中,所述第二解碼器適于 檢驗所述經數字簽名的確認消息的數字簽名;檢驗所述經數字簽名的確認消息的數字完整性;識別所述經數字簽名的確認消息中的消息標識符和數字簽名;以及檢驗所述數字簽名是否與針對所述消息標識符生成的數字簽名匹配。
20.如權利要求15所述的系統(tǒng),其中,所述第四解碼器適于 檢驗所述調和消息的數字簽名;以及 檢驗所述調和消息的完整性。
全文摘要
本發(fā)明提供了一種在計算機網絡中執(zhí)行從第一系統(tǒng)到第二系統(tǒng)的協作不可抵賴消息交換的系統(tǒng)和方法,所述方法包括檢查第二系統(tǒng)的當前系統(tǒng)時間與實際時間之間的差異;執(zhí)行時間同步處理,以使當前系統(tǒng)時間與實際時間匹配;在第一和第二系統(tǒng)之間交換公共加密密鑰;從第一系統(tǒng)向第二系統(tǒng)發(fā)送經數字簽名的消息;對該經數字簽名的消息進行解碼;從第二系統(tǒng)向第一系統(tǒng)發(fā)送經數字簽名的確認消息;對該經數字簽名的確認消息進行解碼;以及將所述經數字簽名的消息的文本遞交到第一系統(tǒng)上的正式謄本。
文檔編號G06F21/00GK101331493SQ200680047034
公開日2008年12月24日 申請日期2006年12月11日 優(yōu)先權日2005年12月16日
發(fā)明者B·古德曼, D·M·肖, F·L·加尼亞, J·K·克賓格 申請人:國際商業(yè)機器公司