專利名稱::用于證明分組蹤跡的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及竊聽(wiretapping)電子通信,并且,特別涉及用于驗證或"證明(notarize)"分組蹤跡(packettrace)的計算機實現(xiàn)的方法、數(shù)據(jù)處理系統(tǒng)、以及計算機程序產(chǎn)品。
背景技術(shù):
:竊聽是第三方經(jīng)常通過隱蔽的手段而監(jiān)視電話或電子通信的過程。截荻(intercept)電話對話和諸如傳真、電子郵件和其它數(shù)據(jù)傳送的電子通信的這種過程提供了一種由法律強制機構(gòu)(agency)使用的有效的調(diào)查工具。為了實現(xiàn)竊聽,典型地,法律強制機構(gòu)向電話公司的中央辦公室或因特網(wǎng)服務(wù)提供商(ISP)提出竊聽請求。法律強制機構(gòu)所采用的用于截獲電子通信的竊聽產(chǎn)品的例子包括由美國聯(lián)邦調(diào)查局開發(fā)的Carnivore,以及商業(yè)產(chǎn)品Cyvei11ance。在法律強制官員具有竊聽授權(quán)以探聽(snoop)并存儲他們的通4言蹤跡的人的ISP處部屬Carnivore系纟充。實質(zhì)上,Cyvei1lance和Carnivore都作為分組探測器(sniffer)操作,其中,所述分組探測器是能夠"看到"通過其連接到的網(wǎng)絡(luò)傳遞的全部信息的程序。該程序在網(wǎng)絡(luò)上觀看、或者"探測(sniff)"例如數(shù)據(jù)流的每個分組。竊聽裝置尋找具有特殊分組屬性的分組或通信會話,并且,如果找到,則將該會話保存到盤或磁帶,以便之后觀看、并且在法庭進行中使用。但是,如果不能證明生成的計算機記錄(例如這些存儲的會話)的保管(custody)鏈,則法庭可能將這些記錄認(rèn)作傳聞,并且必須作出特定的爭辯,以能夠在法庭中將記錄作為證據(jù)引入。在現(xiàn)有技術(shù)中存在的用于存儲關(guān)于竊聽的信息的方法包括對監(jiān)察(audit)日志記錄進行散列(hash)操作;使用硬件裝置來存儲監(jiān)察日志記錄的消息摘要(digest);將消息摘要整合到例如聊天客戶機的特殊的應(yīng)用中;以及使用硬件裝置來存儲談話日志的消息摘要。但是,典型地,所有的這些現(xiàn)有方法將竊聽信息存儲在日志內(nèi),然后執(zhí)行散列完整的記錄。散列功能替換或調(diào)換(transpose)數(shù)據(jù),以創(chuàng)建數(shù)字"指紋",或散列值。典型的散列函數(shù)包括很短的一串字母和數(shù)字(以16進制符號方式寫的二進制數(shù)據(jù))。當(dāng)在之后獲得日志的另一散列值時,比較兩個散列值。如果散列值匹配,則將日志確定為可信的。然而,因為在完整日志的初始散列之前、計算機數(shù)據(jù)可能會被改變,所以,在法庭中還可存在一些關(guān)于數(shù)據(jù)的可信度的問題。當(dāng)前,不存
發(fā)明內(nèi)容說明性實施例提供了一種用于驗證或"證明"分組蹤跡的計算機實現(xiàn)的方法、數(shù)據(jù)處理系統(tǒng)和計算機程序產(chǎn)品。具體地,說明性實施例提供了用于捕獲非可鍛(non-forgeable)分組蹤跡的網(wǎng)絡(luò)探測器。響應(yīng)于探測器的啟動,在探測器利用的信任平臺模塊中獲得一個或多個平臺配置寄存器中的值的第一引用(quote),其中所述第一引用包括在平臺配置寄存器中的起始值的列表,并且,其中,通過所述信任平臺模塊在第一引用上簽名,并將第一引用存儲在分組日志中。當(dāng)在探測器截獲興趣分組時,探測器獲得興趣分組的散列(hash)。然后,探測器指示所述信任平臺模塊通過將興趣分組的散列附加到平臺配置寄存器的當(dāng)前值的散列、并對此值進行散列操作以創(chuàng)建被存儲在PCR中的新的散列,來利用興趣分組的散列而擴展平臺配置寄存器。探測器可指示信任平臺模塊通過調(diào)用PCRExtendAPI來擴展平臺配置寄存器。然后,將興趣分組存儲在分組日志中。當(dāng)關(guān)閉探測器時,獲得在所述平臺配置寄存器中的值的第二引用,其中第二引用包括在平臺配置寄存器中的當(dāng)前值的列表,并且其中,通過所述信任平臺模塊在第二引用上簽名,并將第二引用存儲在分組日志中。在所附權(quán)利要求中闡述了本發(fā)明的確信特性的新穎特征。但是,當(dāng)結(jié)合附圖閱讀時,通過參考以下說明性實施例的詳細描述,將最好地理解發(fā)明本身和優(yōu)選使用模式、其它目標(biāo)和其優(yōu)點,其中圖1描繪了其中可實現(xiàn)說明性實施例的分布式數(shù)據(jù)處理系統(tǒng)的圖示代表;圖2是其中可實現(xiàn)說明性實施例的數(shù)據(jù)處理系統(tǒng)的框圖;圖3是其中可實現(xiàn)說明性實施例的示例信任平臺結(jié)構(gòu)的框圖;圖4是圖解其中可實現(xiàn)說明性實施例的示例信任平臺結(jié)構(gòu)的框圖;圖5A和5B是已知的竊聽配置的框圖;圖6是根據(jù)說明性實施例的包括安全認(rèn)可的探測器的示例竊聽配置的框圖;圖7A和7B描繪了根據(jù)說明性實施例的示例日志文件。圖8是圖解了根據(jù)說明性實施例的探測器邏輯的流程圖;以及圖9是圖解了確認(rèn)(va1idate)根據(jù)說明性實施例的日志正確性的證據(jù)的過程的流程圖。具體實施方式現(xiàn)在參考附圖,并且特別地參考圖1-2,提供其中可實現(xiàn)說明性實施例的數(shù)據(jù)處理環(huán)境的示例圖。應(yīng)當(dāng)理解,圖l-2只是示例,并且不意于斷言或暗示任何關(guān)于其中可實現(xiàn)不同實施例的環(huán)境的限定。可對描述的環(huán)境作出許多修改?,F(xiàn)在參考附圖,圖1描繪了其中可實現(xiàn)說明性實施例的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示代表。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100為可實現(xiàn)實施例的計算機網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,其為用于提供在各種裝置和共同連接在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)的計算機之間的通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可包括諸如有線、無線通信連接或光纖電纜的連接。在描述的例子中,服務(wù)器104和服務(wù)器106與存儲單元108—起連接到網(wǎng)絡(luò)102。此外,客戶機110、112和114連接到網(wǎng)絡(luò)102。例如,這些客戶機110、112和114可為個人計算機或網(wǎng)絡(luò)計算機。在描述的例子中,服務(wù)器104對客戶機110、112和114提供諸如;1導(dǎo)(boot)文件、操作系統(tǒng)映像(image)和應(yīng)用的數(shù)據(jù)。在此例子中,客戶機110、112和114是針對服務(wù)器104的客戶機。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可包括附加的服務(wù)器、客戶機和未示出的其它裝置。在描述的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是具有網(wǎng)絡(luò)102的因特網(wǎng),其代表網(wǎng)絡(luò)和使用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)套件來彼此通信的網(wǎng)關(guān)在世界范圍的匯集。在因特網(wǎng)的中心是在主節(jié)點或主機計算機之間的高速數(shù)據(jù)通信線的中樞,其由對數(shù)據(jù)和消息進行路由的幾千個商業(yè)、政府、教育和其它計算機系統(tǒng)組成。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可被實現(xiàn)為多個不同類型的網(wǎng)絡(luò),如因特網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖1意在作為例子,而不是作為對于不同實施例的架構(gòu)限定?,F(xiàn)在參考圖2,示出了其中可實現(xiàn)說明性實施例的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200是計算機的例子(例如,圖1中的服務(wù)器104或客戶機110),其中,對于說明性實施例,可放置實現(xiàn)處理的計算機可用代碼或指令。在描述的實施例中,數(shù)據(jù)處理系統(tǒng)200采用包括北橋和存儲器控制器集線器(MCH)202、以及南橋和輸入/輸出(1/0)控制器集線器(ICH)204的集線器架構(gòu)。處理單元206、主存儲器208和圖形處理器210耦接到北橋和存儲器控制器集線器202。處理單元206可包括一個或多個處理器,并且,甚至可使用一個或多個異類處理器系統(tǒng)來實現(xiàn)。例如,圖形處理器210還可通過加速圖形端口(AGP)耦接到MCH。在描述的例子中,局域網(wǎng)(LAN)適配器212耦接到南橋和1/0控制器集線器204,并且,音頻適配器216、鍵盤和鼠標(biāo)適配器220、調(diào)制解調(diào)器222、只讀存儲器(ROM)224、通用串行總線(USB)端口和其它通信端口232、以及PCI/PCIe裝置234通過總線238耦接到南橋和1/0控制器集線器204,并且,硬盤驅(qū)動器(HDD)226和CD-COM裝置230通過總線240而耦接到南橋和I/O控制器集線器204。PCI/PCIe裝置可包括,例如,以太網(wǎng)適配器、附加卡、以及用于筆記本計算機的PC卡。PCI使用卡總線控制器,而PCIe不使用卡總線控制器。例如,■224可為快閃二進制輸入/輸出系統(tǒng)(BIOS)。例如,硬盤驅(qū)動器226和CD-COM裝置230可使用集成驅(qū)動電子器件(IDE)或串行高級技術(shù)附連(SATA)接口。超級1/0(SI0)裝置236可耦接到南橋和1/0控制器集線器204。操作系統(tǒng)在處理單元206上運行,并且,調(diào)整并提供在圖2中的處理系統(tǒng)200內(nèi)的各種組件的控制。操作系統(tǒng)可為商業(yè)可用的操作系統(tǒng),例如Microsoft,WindowsXP(Microsoft和Windows是美國、其它國家或者兩者的微軟公司的商標(biāo))。例如JAVATM編程系統(tǒng)的面向?qū)ο缶幊滔到y(tǒng)可與所述操作系統(tǒng)協(xié)作運行,并且,從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用提供對操作系統(tǒng)的調(diào)用。Java和所有基于Java的商標(biāo)是美國、其它國家、或兩者的太陽微系統(tǒng)有限公司(SunMicrosystems,Inc.)的商標(biāo)。在例如硬盤驅(qū)動器226的存儲裝置上放置用于操作系統(tǒng)、面向?qū)ο缶幊滔到y(tǒng)和應(yīng)用或程序的指令,并且將所述指令加載到主存儲器208中,以便由處理單元206執(zhí)行??捎墒褂糜嬎銠C實現(xiàn)的指令的處理單元206來執(zhí)行說明性實施例的處理,其中,可將所述計算機實現(xiàn)的指令置于諸如主存儲器208、只讀存儲器224的存儲器、或者一個或多個外設(shè)裝置中。在圖1-2中的硬件可根據(jù)實現(xiàn)而改變。除了圖1-2中描繪的硬件之外、或者替代圖1-2中描繪的硬件,還可使用例如快閃存儲器、等同的非易失性存儲器或光盤驅(qū)動器等的其它內(nèi)部硬件或外設(shè)裝置。此外,說明性實施例的處理可被應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。在某些說明性實施例中,數(shù)據(jù)處理系統(tǒng)200可為個人數(shù)字助理(PDA),其通常被配置有快閃存儲器,以提供用于存儲操作系統(tǒng)文件和/或用戶生成的數(shù)據(jù)的非易失性存儲器。總線系統(tǒng)可由諸如系統(tǒng)總線、I/O總線和PCI總線的一個或多個總線組成。當(dāng)然,可使用提供在不同組件或附加到電纜或結(jié)構(gòu)的裝置之間傳送數(shù)據(jù)的任意類型的通信組織或架構(gòu)來實現(xiàn)總線系統(tǒng)。通信單元可包括一個或多個用于發(fā)送和接收數(shù)據(jù)的裝置,如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。例如,存儲器可為主存儲器208或例如在北橋和存儲器控制器集線器202中發(fā)現(xiàn)的高速緩存。處理單元可包括一個或多個處理器或CPU。在圖l-2中描述的例子和上述例子不表示架構(gòu)上的限定。例如,除了采用PDA的形式之外,數(shù)據(jù)處理系統(tǒng)200還可為平板(tablet)計算機、膝上型計算機、或電話裝置。在例行且自動生成計算機記錄的情況下,用于在法庭中示出計算機記錄的保管鏈(chain—of—custody)所要求的當(dāng)前標(biāo)準(zhǔn)是為辯論收集方(forensicscollector)用來生成電腦記錄的散列值、并示出在法庭上示出的記錄具有與收集的記錄相同的散列值的。但是,由于記錄和散列可由任何在收集期間和收集之后、但在它們被呈現(xiàn)在法庭之前接觸記錄的人篡改,所以,當(dāng)前保管鏈證據(jù)的可靠性和可信性基于辯論者的可信度。因此,只有通過斷言在保管鏈中的每個人表現(xiàn)誠實,才能確認(rèn)散列。說明性實施例針對在現(xiàn)有技術(shù)中的問題提供了用于驗證或"證明"電子通信的竊聽的計算機實現(xiàn)的方法、數(shù)據(jù)處理系統(tǒng)以及計算機程序產(chǎn)品。具體地,說明性實施例使得網(wǎng)絡(luò)探測器能夠?qū)υ谟涗浭占c的計算機記錄應(yīng)用確認(rèn),從而允許某人檢驗用于法庭進行的分組蹤跡的真實性。探測器是監(jiān)視并捕獲正在網(wǎng)絡(luò)上傳送的數(shù)據(jù)的程序。通過說明性實施例,可通過利用例如信任平臺模塊(TPM)的硬件裝置與用于提供"證明"竊聽的能力的網(wǎng)絡(luò)探測器相結(jié)合,來增加記錄的可靠性。在記錄收集時間時執(zhí)行在說明性實施例中的計算機記錄的散列操作(hashing),從而允許某人在以后的日子中比較運行的散列與存儲的散列,以驗證記錄是真實的。此外,由于將散列值存儲在TPM中,所以,不能在不破壞硬件的情況下篡改值。例如,當(dāng)采取了引用時,通過TPM密鑰來在引用上簽名,并且簽名密鑰從不離開TPM。如果引用被改變,則簽名將使新的(改變的)引用無效。TPM是附加到存儲了密鑰、密碼和數(shù)字證書的PC的母板上的微控制器,并且在芯片上執(zhí)行密碼功能??商鎿Q地,TPM可以以軟件實現(xiàn)。TPM使用需要在計算平臺內(nèi)的信任基礎(chǔ)的完整性測定,來確認(rèn)并存儲竊聽中的數(shù)據(jù)分組,。為了確定所存儲的數(shù)據(jù)分組的完整性,稱為信任構(gòu)件塊(TBB)組件的硬件或固件組件在探測器的最初引導(dǎo)過程采用完整性測定,以創(chuàng)建對于測定的信任的核心基礎(chǔ)(CRTM)。CRTM基于信任鏈。然后,測定在探測器上執(zhí)行的全部軟件,并且,全部軟件成為信任鏈的一部分。TBB組件向平臺的剩余部分提供信任測定功能(例如,安全散列算法-l(SHA-l))。分組測定是完整分組的散列,包括分組頭和有效負(fù)載。將這些測定存儲在TPM中。將散列存儲在被稱為平臺配置寄存器(PCR)的受保護的寄存器中。例如,當(dāng)在探測器接收到分組時,探測器測定完整的分組。然后,探測器擴展特定的PCR。TPM通過將從分組獲得的散列值附加到PCR的當(dāng)前散列值,來擴展PCR。然后,將擴展值重新散列,以形成PCR的合成散列值。然后,這些在分組收集時獲得的擴展PCR值可被用于確認(rèn)在分組日志中存儲的分組的真實性。探測器位于在發(fā)送器和接收器之間的通信路徑之間的某個點上。探測器包括竊聽軟件,其用于確定在網(wǎng)絡(luò)上傳播的哪些分組與興趣標(biāo)準(zhǔn)匹配、并且應(yīng)當(dāng)被保存。由探測器使用的、用于確定應(yīng)當(dāng)捕獲在網(wǎng)絡(luò)上傳播的哪個分組的興趣標(biāo)準(zhǔn)可包括但不限于分組的源或目的因特網(wǎng)協(xié)議地址、分組中關(guān)鍵字或短語、以及其它分組屬性。探測器必須具有TPM實現(xiàn),并且可以混雜(promiscuous)模式利用其網(wǎng)絡(luò)接口而網(wǎng)絡(luò)上操作,或者,探測器可用作路由器或橋。在探測器啟動時間期間,通過探測器獲得由存儲在TPM中的密鑰簽名的初始PCR值的引用(測定)。此初始值一起啟動被散列的PCR值,以形成復(fù)合的初始PCR值。例如,PCR的初始值通常為"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"??商鎿Qi也,如果預(yù)先擴展了PCR,則例值可包括"eala3901c085941efde6fl98f4b62e2fc2a6ea94"。由TPM在初始引用上簽名,以允許某人通過數(shù)字簽名來檢驗分組日志的內(nèi)容是準(zhǔn)確的,并且未被篡改過。當(dāng)分組到達探測器時,探測器識別與興趣標(biāo)準(zhǔn)匹配的分組。如果探測器作出分組應(yīng)被存儲的確定,則可由探測器單獨測定分組,或者,為了速度和測定,探測器可將興趣分組組合在一起。通過擴展具有散列值的PCR來存儲該測定??蓮腜CR值獲得中間的引用。以此方式,可在維持分組日志的同時、將PCR擴展為如所需要的那么多倍。當(dāng)關(guān)閉探測器時,可從由散列的值一起組成、以形成復(fù)合的最終PCR值的PCR值獲得最終引用。最終引用包含整個分組日志的測定。當(dāng)分組是將用作法庭進行中的證據(jù)時,可通過重新運行分組日志、并且確認(rèn)作為結(jié)果的最終PCR值匹配來自最終引用的那些值,來驗證分組。如果所計算的PCR值不匹配最終引用值,則自從收集時起,分組日志或引用已被篡改。如果已篡改了日志,則分組日志不能作為法庭中的證據(jù)被引入?,F(xiàn)在參考圖3,示出了可實現(xiàn)說明性實施例的示例信任平臺結(jié)構(gòu)的框圖。圖3描繪了根據(jù)可信計算組(TCG)的PC特定實現(xiàn)規(guī)范的信任平臺結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,可基于服務(wù)器、虛擬、移動電話或類似的平臺來替換探測器。系統(tǒng)300支持在其平臺308上的諸如操作系統(tǒng)302、應(yīng)用304和驅(qū)動程序306的軟件組件的執(zhí)行??赏ㄟ^例如在圖1中所示的網(wǎng)絡(luò)102來接收軟件組件,或者,例如,可在硬盤31Q上存儲軟件組件。平臺308從電源3U接收電能,以便在包括諸如CPU318和存儲器320的用于執(zhí)行軟件的典型組件的附加卡314和母板316上執(zhí)行軟件組件,然而,母板316可包括多個CPU。接口322將母板316連接到系統(tǒng)300內(nèi)的其它硬件組件,并且,固件324包含POSTBIOS(加電自檢基本輸入/輸出系統(tǒng))326。母板316還可包括信任構(gòu)件塊(TBB)328。由具有TBB328的制造商提供母板316,并且由制造商在物理或邏輯上附加并提供其它組件。TBB328包括CRTM330、TPM332、CRTM330到母板316的連接、以及TPM332到母板316的連接的組合。CRTM330是在平臺復(fù)位事件時執(zhí)行的平臺的初始化代碼的恒定部分?,F(xiàn)在轉(zhuǎn)到圖4,示出了示例信任平臺模塊的框圖。圖4圖解了根據(jù)TCG規(guī)范的信任平臺模塊的組件,例如圖3中的TPM332。如先前所提到的,結(jié)合用于提供證明竊聽的能力的網(wǎng)絡(luò)探測器來使用TPM400。TPM400包括輸入/輸出組件402,其通過執(zhí)行適當(dāng)?shù)膮f(xié)議編碼/解碼操作、并將消息路由到適當(dāng)?shù)慕M件,來管理在通信總線404上的信息流。TPM400包含密碼處理能力。還可在例如PCI-X密碼協(xié)處理器(PCIXCC)的密碼協(xié)處理器406上實現(xiàn)TPM400。密鑰生成單元408創(chuàng)建對稱密鑰和RSA非對稱密碼密鑰對。畫AC引擎410執(zhí)行腿C(用于消息驗證的鍵控散列(keyed-hashing))計算,由此,使用秘密密鑰作為完整性檢查來計算消息驗證代碼,以確認(rèn)信白-'"、o隨機數(shù)生成器412用作諸如密鑰或其它值的各種值的計算的隨機源。SHA-1引擎414實現(xiàn)SHA-1散列算法。電源檢測器416管理與平臺的電源狀態(tài)關(guān)聯(lián)的TPM400的電源狀態(tài)。Opt-in組件418維持持久和可變標(biāo)志的狀態(tài),并強制語義(semantics)與那些標(biāo)志相關(guān)聯(lián),使得可使能或禁用TPM400。執(zhí)行引擎420運行程序代碼,以執(zhí)行TPM400通過輸入/輸出組件402而接收的命令。非易失性存儲器422存儲與TPM400關(guān)聯(lián)的持久身份(identity)和狀態(tài)。非易失性存儲器422可存儲靜態(tài)數(shù)據(jù)項,但是也可用于存儲由TPM擁有者授權(quán)的實體的動態(tài)數(shù)據(jù)項。包括平臺配置寄存器的易失性存儲器424存儲動態(tài)數(shù)據(jù)項,通過興趣分組的測定來擴展平臺配置寄存器。圖5A和5B是已知的竊聽配置的框圖。具體地,圖5A示出了在網(wǎng)絡(luò)中鏈接在一起的若千臺計算機。計算機l502、計算機2504、計算機3506是通過例如網(wǎng)絡(luò)102的網(wǎng)絡(luò)連接的諸如圖1中的客戶機110-114的數(shù)據(jù)處理系統(tǒng)的例子。在此說明性實施例中,可經(jīng)由因特網(wǎng)服務(wù)提供商(ISP)路由器508和510將數(shù)據(jù)分組從計算機1502發(fā)送到計算機2504或計算機35Q6。但是,包含探測器(探測器514)的路由器512位于計算機1502、計算機2504、計算機3506之間。當(dāng)分組通過路由器512行進時,探測器514捕獲目的地為計算機2504或3506的全部分組,并且檢查分組頭和/或內(nèi)容。探測器514是"主動(active)"探測器,即,探測器接收意圖在于目的計算機2504和3506的分組,并且,在分析了分組頭之后將分組發(fā)送到目的計算機。如果捕獲的分組包含探測器感興趣的某些內(nèi)容,則探測器首先將興趣分組存儲在曰志516中,然后將分組轉(zhuǎn)發(fā)到其意圖的目的計算機,如計算機2504或3506。與圖5A類似,圖5B示出了在網(wǎng)絡(luò)中連接的若干計算機,即計算機4522、計算機5524和計算機6526。可經(jīng)由ISP路由器528和530將數(shù)據(jù)分組從計算機4522發(fā)送到計算機5524或計算機6526。但是,在網(wǎng)絡(luò)上使用的探測器不像圖5A中那樣位于路由器內(nèi),而是探測器532是"被動"探測器,并且位于與目標(biāo)計算機中的一個、或沿著到目標(biāo)計算機的路徑的路由器中的一個相同的網(wǎng)段上。被動探測器不直接侵入外部(foreign)網(wǎng)絡(luò)或計算機,并且,被觀察的裝置不能檢測到被動探測器的活動。當(dāng)計算機5524和6526將只接受來自ISP路由器530的那些分組時(其中所述分組具有指示分組意圖用于特定計算機的分組頭信息),探測器532接受全部分組,并且檢查分組頭和/或內(nèi)容。如果捕獲的分組包含探測器532感興趣的某些內(nèi)容,則探測器將興趣分組存儲在日志534中。圖6是包括根據(jù)說明性實施例的安全認(rèn)可的探測器的示例竊聽配置的框圖。與在圖5A和圖5B中可在存儲分組之后驗證分組蹤跡的竊聽配置相反,在圖6中的竊聽配置允許在將分組從源發(fā)送到目的位置的同時,截獲并驗證分組蹤跡。圖5A和5B中的竊聽配置缺點是它們留下了較長的易受攻擊的窗口,在該窗口期間,分組蹤跡可能已被不可4全測地改變。此外,由圖6中的竊聽配置提供的驗證還允許確定收集分組蹤跡的路由器軟件和硬件。在此說明性實施例中,可經(jīng)由ISP路由器608和610將數(shù)據(jù)分組從計算機1602發(fā)送到計算機2604或計算機3606。通過探測器612截獲在計算機l602、計算機2604和計算機3606之間發(fā)送的全部分組。探測器612是安全認(rèn)可的探測器,這是由于,探測器612允許當(dāng)收集分組時獲得分組蹤跡測定,從而增加了用于證據(jù)目的的計算機記錄的可靠性。應(yīng)當(dāng)注意,雖然探測器612是在圖6的特定竊聽配置中的主動探測器,但是也可將該探測器實現(xiàn)為被動探測器,而不背離說明性實施例的精神或范圍。TPM614是例如圖4中TPM400的信任平臺模塊的例子。TPM614連接到探測器612,并且用于存儲并驗證由探測器612截獲的分組的信任測定??蓪⑻綔y器612放置在計算機1602、計算機2604和計算機3606之間的通信路徑中的任意點。當(dāng)分組從計算機l602傳播到計算機2604時,探測器612捕獲分組,并且;f全查分組頭和/或內(nèi)容。如果捕獲的分組包含探測器612感興趣的某些內(nèi)容,則探測器將興趣分組存儲在日志616中,然后將分組發(fā)送到其希望的目的計算機,如計算機2604或3606,而不需要計算機擁有者的得知或同意。與圖5A中的日志516和圖5B中的日志534相反,日志616包含形成日志的有力驗證的基礎(chǔ)的初始引用、中間引用和最終應(yīng)用。圖7A和7B描繪了根據(jù)說明性實施例的示例日志文件。具體地,日志文件700代表例如圖6中的日志616的日志文件。但是,為了說明的目的,曰志文件700被呈現(xiàn)為人類可讀的,并且因此,不代表優(yōu)選實施例中的日志文件的實際內(nèi)容。圖8是圖解了根據(jù)說明性實施例的探測器邏輯的流程圖。過程以探測器的信任引導(dǎo)開始(步驟802)。在信任導(dǎo)入中,探測器指示TPM獲得包括PCR啟始值的散列的PCR的初始引用。然后,通過TPM在初始引用上簽名,并將初始引用提供到分組日志(步驟804)。當(dāng)分組到達探測器時(步驟806),探測器確定該分組是否為興趣分組(步驟808)??苫谥T如分組頭信息(例如,IP源或目的地址)或分組自身的內(nèi)容的興趣標(biāo)準(zhǔn)的集合,來作出此決定。如果探測器確定分組是感興趣的(步驟808的"是"輸出),則探測器通過獲得整個分組的散列來測定分組(步驟810)。然后通過使用分組的散列值擴展當(dāng)前PCR值,而將此散列值測定存儲在PCR中(步驟812)。然后,將興趣分組存儲在分組日志中(步驟814)。然后,將分組發(fā)送到其意圖的目的計算機(步驟816)?;氐讲襟E808,如果探測器確定分組不是感興趣的(步驟808的"否"輸出),則探測器跳至步驟816,并將分組發(fā)送到其意圖的目的地。然后,探測器作出關(guān)于是否應(yīng)當(dāng)從存儲的分組獲得中間引用的決定(步驟818)??芍芷谛缘剌兜么鎯Ψ纸M的中間應(yīng)用,并且將其附加到分組日志。如果探測器確定不應(yīng)獲得中間引用(步驟818的"否"輸出),則該過程繼續(xù)到步驟822。但是,如果探測器確定應(yīng)獲得中間引用(步驟818的"是"輸出),則探測器指示TPM獲得PCR值的引用,并將該應(yīng)用存儲在分組日志中(步驟820)。然后,作出關(guān)于探測器是否已被關(guān)閉的確定(步驟822)。如果未關(guān)閉探測器(步驟822的"否"輸出),則該過程循環(huán)返回到步驟806,并且,探測器等待另一個分組到達。如果關(guān)閉探測器(步驟822的"是"輸出),則通過終止其后的處理而獲得最終引用(步驟824)??蓪⒋鎯Ψ纸M的最終引用附加到分組日志。圖9是圖解了確認(rèn)根據(jù)說明性實施例的日志正確性的證據(jù)的過程的流程圖。圖9中的過程可在探測器中實現(xiàn)或者可為獨立的過程。該過程以確認(rèn)器讀取在日志中的第一引用開始(步驟902)。確認(rèn)器使用探測器TRM密鑰檢驗引用的簽名,以經(jīng)由標(biāo)準(zhǔn)數(shù)字簽名技術(shù)來確定簽名是否有效(步驟904)。如果該簽名未使用探測器TRM密鑰而確認(rèn)(步驟904的"否"輸出),則確認(rèn)器確定日志已被篡改(步驟906),并且終止其后的過程。如果簽名使用了探測器T詣密鑰確認(rèn)(步驟904的"是"輸出),則確認(rèn)器從日志讀取的引用獲得PCR值。然后,對于日志中的每個分組而擴展來自該引用的PCR值(步驟910)。隨后,由TPM讀取在日志中的下一引用(步驟912)。確認(rèn)器比較下一引用的簽名和探測器TRM密鑰,以確定簽名是否有效(步驟914)。如果該簽名未使用探測器密鑰而確認(rèn)(步驟914的"否"輸出),則TPM確定日志已被篡改(步驟906),并且終止其后的過程。如果簽名使用探測器T腹密鑰而確認(rèn)(步驟914的"是,,輸出),則作出關(guān)于在通過在日志中的每個分組將第一引用的PCR值擴展到下一引用之后的第一引用的PCR值是否與下一引用的PCR值相同的確定(步驟916)。如果所述PCR值不同(步驟916的"否"輸出),則確定日志已被篡改(步驟906),并且終止其后的過程。如果所述PCR值相同(步驟916的"是"輸出),則作出關(guān)于該引用是否為日志中的最終引用的確定(步驟918)。如果該引用不是最終引用(步驟918的"否"輸出),則過程循環(huán)回到步驟910,其中對于每個在日志中的分組計算PCR值,直到下一次引用。如果引用是最終引用(步驟918的"是"輸出),則確認(rèn)器確認(rèn)整個日志有效(步驟920),并終止其后的過程。本發(fā)明可采用整體硬件實施例、整體軟件實施例或包括硬件和軟件元素的實施例的形式。在優(yōu)選實施例中,本發(fā)明以軟件實現(xiàn),其包括但不限于固件、駐留軟件、微碼等。此外,本發(fā)明可采用可從計算機可用或計算機可讀介質(zhì)訪問的計算機軟件產(chǎn)品的形式,所述介質(zhì)提供由計算機或任何指令執(zhí)行系統(tǒng)使用或者由計算機和任何指令執(zhí)行系統(tǒng)聯(lián)合使用的程序代碼。為了此描述的目的,計算機可用或計算機可讀介質(zhì)可為任何能夠包含、存儲、通信、傳播或傳輸該程序的切實的設(shè)備,其中由計算機或任何指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用或者由計算機和任何指令執(zhí)行系統(tǒng)、設(shè)備或裝置聯(lián)合使用所述代碼。介質(zhì)可為電、磁、光、電;茲、紅外、或半導(dǎo)體系統(tǒng)(或者設(shè)備或裝置)、或傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲器、磁帶、可拆卸計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、固定磁盤和光盤。光盤的當(dāng)前例子包括致密盤-只讀存儲器(CD-ROM)、致密盤-讀/寫(CD-R/W)、以及DVD。用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括直接或通過系統(tǒng)總線而間接耦接到存儲元件的至少一個處理器。所述存儲元件可包括在程序代碼的實際執(zhí)行期間采用的本地存儲器、大容量存儲裝置、以及提供對于至少一些程序代碼的暫時存儲以便減小在執(zhí)行期間必須從大容量存儲裝置檢索代碼的次數(shù)的高速緩沖存儲器。輸入/輸出或I/O裝置(包括但不限于鍵盤、顯示器、定點裝置等)可直接或通過中間1/0控制器而耦接到該系統(tǒng)。網(wǎng)絡(luò)適配器也可耦接到該系統(tǒng),使得數(shù)據(jù)處理系統(tǒng)能夠通過中間專用或公共網(wǎng)絡(luò)而耦接到其它數(shù)據(jù)處理系統(tǒng)、或到遠程打印機或存儲裝置。調(diào)制解調(diào)器、有線電視調(diào)制解調(diào)器、以及以太網(wǎng)卡正是當(dāng)前可用的網(wǎng)絡(luò)適配器的類型中的一些。為了說明和描述已經(jīng)呈現(xiàn)了本發(fā)明的描述,并且不意于以公開的形式窮舉或限定本發(fā)明。本領(lǐng)域的技術(shù)人員將理解可出現(xiàn)許多修改和改變。為了最佳地解釋本發(fā)明地原理、實踐應(yīng)用和使得本領(lǐng)域的技術(shù)人員能夠理解本發(fā)明權(quán)利要求1.一種在用于捕獲非可鍛分組蹤跡的網(wǎng)絡(luò)探測器中的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法包括響應(yīng)于探測器的啟動,在探測器利用的信任平臺模塊中獲得一個或多個平臺配置寄存器中的值的第一引用,其中所述第一引用包括在一個或多個平臺配置寄存器中的起始值的列表,并且,其中,所述第一引用通過所述信任平臺模塊而被簽名,并被存儲在分組日志中;響應(yīng)于在探測器截獲興趣分組,而獲得興趣分組的散列;指示所述信任平臺模塊通過興趣分組的散列來擴展平臺配置寄存器;將興趣分組存儲在分組日志中;以及響應(yīng)于探測器的關(guān)閉,獲得在所述平臺配置寄存器中的值的第二引用,其中,所述第二引用包括在平臺配置寄存器中的當(dāng)前值的列表,并且,其中,所述第二引用通過所述信任平臺模塊而被簽名,并被存儲在分組日志中。2.如權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括基于第一引用和分組日志,來計算第二引用中的預(yù)期的平臺配置寄存器值;比較第二引用中的預(yù)期的平臺配置寄存器值與第二引用中的實際的平臺配置寄存器值;以及如果比較導(dǎo)致匹配,則確定在分組日志中存儲的興趣分組是可信的。3.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其中,與分組日志中的條目的收集相獨立地執(zhí)行該計算步驟,或者,在不同的計算機上執(zhí)行該計算步驟。4.如權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括基于第一引用和分組日志,來計算在第二引用中的預(yù)期的平臺配置寄存器值;比較第二引用中的預(yù)期的平臺配置寄存器值與第二引用中的實際的平臺配置寄存器值;以及如果比較不導(dǎo)致匹配,則確定在分組日志中存儲的興趣分組是不可信的。5.如權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括在所述信任平臺模塊中獲得平臺配置寄存器的一個或多個中間引用,其中,在分組收集期間獲得每個中間引用,其中,每個中間引用包括至少一個平臺配置寄存器的當(dāng)前值的列表,并且,其中,通過所述信任平臺模塊在每個中間引用上簽名;以及將每個中間51用存儲在分組日志中。6.如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中,所述探測器基于分組的一個或多個屬性,來將分組確定為興趣分組。7.如權(quán)利要求6所述的計算機實現(xiàn)的方法,其中,所述屬性包括因特網(wǎng)協(xié)議源地址、因特網(wǎng)協(xié)議目的地址、協(xié)議、端口、時間、大小、或分組中的關(guān)鍵字中的至少一個。8.如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中,所述探測器是主動或被動探測器中的一個。9.如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中,所述探測器位于在興趣分組的發(fā)送方和興趣分組的接收方之間的通信路徑中的任一點。10.—種用于捕獲非可鍛的分組蹤跡的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線;連接到所述總線的存儲裝置,其中,該存儲裝置包含計算機可用代碼;連接到所述總線的至少一個被管理的裝置;連接到所述總線的通信單元;以及連接到所述總線的處理單元,其中,所述處理單元執(zhí)行計算機可用代碼,以響應(yīng)于探測器的啟動,在探測器利用的信任平臺模塊中獲得一個或多個平臺配置寄存器中的值的第一引用,其中,所述第一引用包括在一個或多個平臺配置寄存器中的起始值的列表,并且,其中,所述第一引用通過所述信任平臺模塊而被簽名,并被存儲在分組日志中,響應(yīng)于在探測器截獲興趣分組,而獲得興趣分組的散列,指示所述信任平臺模塊通過興趣分組的散列來擴展平臺配置寄存器,將興趣分組存儲在分組日志中,以及響應(yīng)于探測器的關(guān)閉,獲得在所述平臺配置寄存器中的值的第二引用,其中,第二引用包括在平臺配置寄存器中的當(dāng)前值的列表,并且,其中,所述第二引用通過所述信任平臺模塊而被簽名,并被存儲在分組日志中。11.如權(quán)利要求IO所述的數(shù)據(jù)處理系統(tǒng),其中,所述處理單元還執(zhí)行計算機可用代碼,以基于第一引用和分組日志來計算第二引用中的預(yù)期的平臺配置寄存器值,比較第二引用中的預(yù)期的平臺配置寄存器值與第二引用中的實際的平臺配置寄存器值,以及如果比較導(dǎo)致匹配,則確定在分組日志中存儲的興趣分組是可信的。12.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,與分組日志中的條目的收集相獨立地執(zhí)行基于第一引用和分組日志來計算第二引用中的預(yù)期的平臺配置寄存器值,或者,在不同的計算機上執(zhí)行基于第一引用和分組日志來計算第二引用中的預(yù)期的平臺配置寄存器值。13.如權(quán)利要求IO所述的數(shù)據(jù)處理系統(tǒng),其中,所述處理單元還執(zhí)行計算機可用代碼,以基于第一引用和分組日志來計算在第二引用中的預(yù)期的平臺配置寄存器值,比較第二引用中的預(yù)期的平臺配置寄存器值與第二引用中的實際的平臺配置寄存器值,以及如果比較不導(dǎo)致匹配,則確定在分組日志中存儲的興趣分組是不可信的。14.如權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,所述處理單元還執(zhí)行計算機可用代碼,以在所述信任平臺模塊中獲得平臺配置寄存器的一個或多個中間引用,其中,在分組收集期間獲得每個中間引用,其中,每個中間引用包括至少一個平臺配置寄存器的當(dāng)前值的列表,并且,其中,通過所述信任平臺模塊在每個中間引用上簽名,以及將每個中間?1用存儲在分組日志中。15.如權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,所述探測器基于分組的一個或多個屬性來確定分組為興趣分組。16.如權(quán)利要求15所述的數(shù)據(jù)處理系統(tǒng),其中,所述屬性包括因特網(wǎng)協(xié)議源地址、因特網(wǎng)協(xié)議目的地址、協(xié)議、端口、時間、大小、或分組中的關(guān)鍵字中的至少一個。17.如權(quán)利要求IO所述的數(shù)據(jù)處理系統(tǒng),其中,所述探測器是主動或被動探測器中的一個。18.如權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,所述探測器位于在興趣分組的發(fā)送方和興趣分組的接收方之間的通信路徑中的任一點。19.一種用于捕獲非可鍛的分組蹤跡的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機可用介質(zhì),具有在其上實現(xiàn)的計算機可用程序代碼,所述計算機可用程序代碼包括計算機可用程序代碼,用于響應(yīng)于探測器的啟動,在探測器利用的信任平臺模塊中獲得一個或多個平臺配置寄存器中的值的第一引用,其中,所述第一引用包括在一個或多個平臺配置寄存器中的起始值的列表,并且,其中,通過所述信任平臺模塊在第一引用上簽名,并將第一引用存儲在分組日志中;計算機可用程序代碼,用于響應(yīng)于在探測器截獲興趣分組,而獲得興趣分組的散列;計算機可用程序代碼,用于指示所述信任平臺模塊通過興趣分組的散列來擴展平臺配置寄存器;計算機可用程序代碼,用于將興趣分組存儲在分組日志中;以及計算機可用程序代碼,用于響應(yīng)于探測器的關(guān)閉,獲得在所述平臺配置寄存器中的值的第二引用,其中,第二引用包括在平臺配置寄存器中的當(dāng)前值的列表,并且,其中,通過所述信任平臺模塊在第二引用上簽名,并將第二引用存儲在分組日志中。全文摘要一種用于捕獲非可鍛分組蹤跡的系統(tǒng)和方法。當(dāng)探測器啟動時,在探測器利用的信任平臺模塊(TPM)中獲得平臺配置寄存器(PCR)的值的第一引用,其中,所述第一引用包括在PCR中的起始值的列表,并且,其中,通過TPM在第一引用上簽名,并將第一引用存儲在分組日志中。當(dāng)由探測器截獲興趣分組時,探測器獲得興趣分組的散列,并且指示TPM通過興趣分組的散列來擴展平臺配置寄存器。隨后,將興趣分組存儲在分組日志中。當(dāng)探測器關(guān)閉時,探測器獲得在PCR中的值的第二引用,其中,第二引用包括在PCR中的當(dāng)前值的列表,并且,其中,通過TRM在第二引用上簽名,并將第二引用存儲在分組日志中。文檔編號H04L12/26GK101166126SQ200710167110公開日2008年4月23日申請日期2007年10月18日優(yōu)先權(quán)日2006年10月18日發(fā)明者丹尼爾·H·瓊斯,埃米莉·J·拉特利夫,托馬斯·G·倫達基申請人:國際商業(yè)機器公司