出版時間:2009-1 出版社:機械工業(yè)出版社 作者:(美)查利納(Challener,D.)等 著,趙波 等譯 頁數:245
Tag標簽:無
前言
目前,可信平臺模塊(TrustedPlatformModule,TPM)成為世界各大PC供應商積極推廣的一類新產品。《可信計算》作為第一本關于正確使用。TPM的工具書,向用戶展示可信計算技術的風采,并指導用戶進行相關的開發(fā)工作?!犊尚庞嬎恪穬热荨犊尚庞嬎恪穱@快速發(fā)展的可信計算學科展開內容。近幾年來,隨著病毒、木馬以及間諜軟件數量的快速增長,安全問題呈現(xiàn)出愈演愈烈的狀態(tài),用戶急需一種新的方法為他們提供更為安全的保障。目前,盡管已經有一些書對可信計算理念進行了講述,但《可信計算》是第一本對可信計算本質進行深入探討的專著,其內容涵蓋了如何使用’I?M提供安全解決方案,并討論了如何編碼實現(xiàn)?!犊尚庞嬎恪方榻B了’YPM的基本功能以及如何編寫代碼通過標準TCG(1:rustedComputingGroup,可信計算組織)軟件棧訪問這些功能,同時還提供了相關范例,并討論了利用FPM能夠實現(xiàn)的解決方案。在《可信計算》的撰寫過程中,幾位作者正從事將TSS1.1規(guī)范擴展到TSS1.2規(guī)范的工作。TSS1.2可以訪問由TPM1.2提供的新功能,《可信計算》在第14章中介紹了’YPM1.2的新功能,所以對于那些試圖將TSS代碼放在任意TPM上工作的讀者,可以跳過這一章;而對于那些想使用TPM1.2新功能的讀者,可以將第14章納入學習過程中?!犊尚庞嬎恪返淖髡叨际强尚庞嬎泐I域的專家,他們參與了TSS棧相關規(guī)范的編寫,并直接編寫過使用TPM的軟件。此外,他們還開辦了研討班講授相關課程,同時發(fā)表了如何使用TPM的論文。相關基礎知識《可信計算》的代碼都是基于c語言的,所以c語言代碼的閱讀能力是理解范例的必要條件。此外,讀者應具有一定的密碼學基礎——特別是對稱公鑰密碼、非對稱公鑰密碼以及散列密碼?!犊尚庞嬎恪泛唵谓榻B了這些概念,但沒有對算法進行詳細描述。對于想深入研究此內容的讀者,BruceSchneier的《應用密碼學》@是一本不錯的參考書。如果只是想體會一下TCG的優(yōu)點,《可信計算》的第一部分和第三部分值得推薦。如果讀者在思考一個特定項目,《可信計算》的所有篇章都會對你有所幫助。讀者群體《可信計算》提供了編寫、使用TPM軟件的具體細節(jié)。如果讀者不熟悉可信計算并想編寫利用’YPM功能的代碼,那么整《可信計算》都是有價值的。如果想了解’rPM的設計及其本質,就需要重點研究第一部分和第二部分?!犊尚庞嬎恪分形陌嬉延蓹C械工業(yè)出版社引進出版?!庉嬜⑦m用于軟件工程師《可信計算》介紹了所有與’FPM編程相關的內容,提供了一些已經編譯通過的范例,實現(xiàn)了真實的功能要求。此外,為幫助讀者理解這些代碼的真實含義,《可信計算》還解釋了這些代碼的設計理論,同時提供了代碼注釋。如果想了解待解決問題的復雜性,請閱讀第1章。如果想了解’FPM的功能,請閱讀第2章以及第3章。如果想了解使用’TPM的功能可以解決何種問題,請閱讀第11到13章。如果已經理解TPM:的功能并想使用TPM1.1編寫程序,請閱讀第4到10章。如果想使用TPM1.2的擴展功能,請閱讀第14章。適用于軟件項目經理和技術主管軟件項目經理需要理解TPM的功能與項目體系結構之間的關系。在任何安全程序中,最重要的是在編碼之前建立完善的體系結構。體系結構設計上的缺陷將導致大量安全漏洞的出現(xiàn)?!犊尚庞嬎恪穼椭x者設計和理解基于TPM功能的安全系統(tǒng)體系結構的關鍵問題。尤其是第1、2、3、11、12、13和14章,對于項目經理將非常有用。適用于用戶界面設計者易用性和安全之間一直是一對不可調和的矛盾需求,而《可信計算》的第11、12和13章則為用戶界面設計者提供了改進安全方案易用性所需的信息。適用于可信計算愛好者如果讀者考慮使用TPM,請參閱第l一3章和11一13章,這些章節(jié)敘述了可信計算能解決的問題及其在體系結構方面的解決方法。適用于TPM的熟練用戶對于具有TPM使用經驗的用戶,如果對使用TPM還能實現(xiàn)什么功能感興趣的話,《可信計算》(特別是書中第11、12、13和14章)可能會給您帶來靈感。畢竟他山之石可以攻玉!《可信計算》的結構第一部分:背景材料第一部分是可信計算概述,包括可信計算產生的背景、所解決的問題及可信平臺模塊提供的功能。第1章可信計算概述目前,黑客的注意力已經逐漸從網絡和服務器轉移到客戶端。本章介紹當前面向客戶端的安全攻擊概況及其嚴重性,并解釋TPM對于解決該問題的優(yōu)勢。本章也討論隱私問題,并向程序員給出避免產生該問題的建議。第2章可信平臺模塊的設計目標最初設計TPM規(guī)范時,專家們就提出了設計需求及目標。本章通過討論這些設計目標使讀者從廣義上對TPM有所了解,并建立必要的背景知識,從而理解TPM實現(xiàn)的具體特性。第3章可信平臺模塊功能概述本章從體系結構的角度考察規(guī)范設計,對’TPM1.1所能實現(xiàn)的具體特性及其實現(xiàn)方式進行描述。通過閱讀本章,讀者將會對TPM所能解決的問題有所認識。此外,還討論了規(guī)范中某些被忽略的特性。第二部分:TCG編程接口第二部分的內容適合于程序員學習。通過學習范例,對軟件棧接口進行深入研究。首先,從底層設備驅動程序的通信開始,到計算機系統(tǒng)的啟動過程以及如何使用。TPM進行安全加固,然后討論軟件棧提供的核心服務,以及遠程應用程序使用TPM時的接口通信問題。以此為主線,后面幾章討論在高層上使用TPM的應用接口。第4章編寫TPM設備驅動程序本章提供用于編寫與TPM通信的設備驅動程序的必要信息,這對于希望在現(xiàn)有操作系統(tǒng)(Windows、Linux)之外使用TPM的讀者來說尤為重要。第5章底層軟件:直接使用BIOS和TDDL本章提供不通過TSS棧與芯片直接通信的方法,這對于編寫在BIOS中運行的代碼或在新操作系統(tǒng)或內存受限環(huán)境中編寫TSS棧都很重要。本章最初實現(xiàn)于Linux平臺,不過已經修改為系統(tǒng)無關模式。此外,本章向使用TSS棧的用戶提供真實的體會,以便他們了解底層完成的具體工作。第6章可信啟動本章描述如何使用TPM芯片來度量平臺的安全狀態(tài)。目前,有兩種實現(xiàn)方式:1.1版本中的靜態(tài)可信根和1.2版本中的動態(tài)可信根。書中對這兩者都有詳細描述,而且所用范例代碼也展示了如何實現(xiàn)狀態(tài)度量。這是《可信計算》中少有的經過測試的1.2版本的代碼之一,因為這些接口并不需要目前還不存在的1.2版本TSS棧。第7章TCG軟件棧TSSAPI。是訪問TPM的最通用接口。本章描述TSS體系結構、使用API的約定以及軟件對象類型的使用。通過一些簡單TSSAPI示例程序,可以區(qū)分1.1API和1.2API編程的不同之處。第8章使用TPM密鑰密鑰管理在安全程序中是最難實現(xiàn)的功能之一,而這正是TPM的優(yōu)點之一。本章詳細描述密鑰的創(chuàng)建、存儲、裝載、遷移與使用并給出范例。對特定的密鑰(如認證密鑰、存儲密鑰和簽名密鑰),配合使用的示例給予說明。第9章使用對稱密鑰本章介紹如何在應用中使用TPM提供的對稱密鑰。對于有興趣使用TPM進行整體加密,從而加強應用程序安全性的讀者來說,閱讀本章可以學會如何利用TPM的特性來加強安全。第10章TSS核心服務(TCS)核心服務層在正常應用程序接口API的下層。對于應用程序開發(fā)者而言,了解這些服務提供的內容可以幫助他們準確理解每個API的功能。此外,如果應用程序開發(fā)者想開發(fā)一個客戶/服務器程序,TPM需要提供遠程服務,那么核心服務層就是被調用的應用層。本章深入分析核心服務機制并提供執(zhí)行遠程調用的范例代碼。第11章公鑰加密標準PKCS#11本章給出了使用TSS的真實范例程序,提供一個將PKCS#11棧與TSS棧相聯(lián)系的完整工程實例。該實例.——IV2向應用程序提供中間件服務,其中的代碼有注釋并可以開源使用。第三部分:體系結構第三部分主要介紹可信計算軟件棧的功能,以及規(guī)范撰寫者在設計體系結構時的設計理念。即使讀者對編寫特定的應用程序不感興趣,閱讀這些章節(jié)也會有助于解釋設計時所做的決策。第12章可信計算和安全存儲TPM通過兩個命令提供安全存儲功能:BIND和SEAL。本章提供一些范例,解釋如何使用這些命令向終端用戶提供功能,同時也討論了安全實現(xiàn)時應該解決的某些問題。閱讀本章有助于讀者理解這兩個命令的設計思想。第13章可信計算和安全認證TPM提供芯片內部的安全簽名功能。本章給出一些使用命令的范例,這些范例可用于一些實際的應用以幫助用戶解決實際問題。閱讀本章將有助于讀者理解簽名命令的設計準則。第14章可信設備管理大規(guī)模部署TPM時,如何有效管理這些TPM將尤為重要。本章關注如何使用遷移命令來提供TPM的遠程管理。第15章輔助硬件TPM的設計定位是一種廉價的硬件設備,因此不能僅僅依靠TPM解決所有的安全問題。但是,它可以向其他的安全設備提供大量可利用的功能。本章介紹一些增強客戶端安全的方法。第16章從TSS1.1到TSS1.2TSS12規(guī)范已于最近發(fā)布。這一章介紹新規(guī)范中提到的新功能,并給出每個功能如何使用的范例代碼。新功能包括:CMK、代理、DAA、新的PCR行為、Locality、NVRAM、審計、單調計數、傳輸、時鐘中斷和管理命令。本章適合試圖使用新功能來編寫代碼的讀者,代碼只能在使用TPM1.2的客戶端匕運行。第四部分:附錄第四部分可以幫助讀者快速查找API的特定功能。對于直接與硬件或可信計算軟件棧通信的函數,附錄中還分別提供了TPM命令參考和TSS命令參考。這些參考對命令均做了簡短描述,并都給出了使用方法。附錄ATPM命令參考該附錄包括TPM級的命令、命令使用的環(huán)境及其功能的簡要描述。附錄BTSS命令參考該附錄包括TSS級的命令、命令使用的環(huán)境及其功能的簡要描述。附錄C函數庫該附錄包括幫助函數和函數的描述信息,這些函數可以幫助用戶創(chuàng)建使用TPM的程序。附錄D依據對象和API級別劃分TSS函數該附錄根據受內部TSS對象影響與API交互的級別來對函數進行分類。在編寫代碼時,該分類信息可以用于快速查表以確認API函數是否可用。一些《可信計算》的評閱者指出,從TPM應用的角度思考將有助于理解TPM設計的依據。作者希望《可信計算》能夠幫助讀者理解TPM,而且可以推進TPM資源的有效利用。致謝特別感謝《可信計算》的評閱者提出許多寶貴的修改意見,他們是:DavidGrawrock、KenGoldman、SeanSmith和EmilyRatliff等。
內容概要
本書圍繞不斷快速發(fā)展的可信計算學科展開全書內容,其內容涵蓋了如何使用可信計算模塊(TPM)提供安全解決方案,并討淪了如何編碼實現(xiàn)。本書介紹了TPM的基本功能以及如何編寫代碼通過標準TCC(Trusted Computing Group,可信計算組織)軟件棧訪問這些功能,同時還提供了相關范例,并討論了利用TPM能夠實現(xiàn)的解決方案。 本書簡明實用,可作為高等院校相關專業(yè)的教材或教學參考書,同時也適合軟件工程師、軟件項目經理和技術主管、用戶界面設計者和可信計算愛好者閱讀。
作者簡介
David Challener美國伊利諾伊大學厄巴納一尚佩恩分校應用數學專業(yè)博士。在紐約州East Fishkill加入IBM公司之后,設計了第一個TPM(代表IBM公司),其后成為TCG TSS委員會的主席。在IBM PC拆分出售給Lenovo后,加人Lenovo公司。此后,作為Lenovo公司的代表加入TCG技術委員會、TP
書籍目錄
譯者序前言關于作者第一部分 背景材料 第1章 可信計算概述 1.1 計算機安全攻擊所造成的損失是驚人的 1.2 正在變化中的計算機安全威脅 1.2.1 易受攻擊的程序 1.2.2 惡意程序:病毒和間諜軟件/廣告軟件 1.2.3 錯誤配置的程序 1.2.4 社會工程:網絡釣魚和網絡嫁接 1.2.5 物理數據竊取 1.2.6 電子竊聽 1.3 軟件能夠做到完全安全嗎 1.4 TPM能幫我們做什么 1.5 隱私和恢復——硬件的特殊考慮 1.6 小結 1.7 尾注 第2章 可信平臺模塊的設計目標 2.1 安全地報告當前環(huán)境:平臺狀態(tài) 2.1.1 存儲系統(tǒng)啟動序列的記錄 2.1.2 報告啟動序列記錄 2.2 安全存儲 2.2.1 存儲數據和對稱密鑰 2.2.2 存儲非對稱密鑰 2.2.3 授權 2.3 安全簽名 2.4 安全身份標識 2.5 多用戶環(huán)境中用戶的隔離 2.6 內部隨機數產生器 2.7 沒有包含的特性 2.8 安全性分析 2.9 小結 第3章 可信平臺模塊功能概述 3.1 安全存儲:存儲根密鑰(SRK) 3.2 可遷移密鑰與不可遷移密鑰 3.3 密鑰類型 3.3.1 存儲密鑰 3.3.2 綁定密鑰 3.3.3 身份密鑰 3.3.4 簽名密鑰 3.4 平臺完整性 3.4.1 平臺配置寄存器(PCR) 3.4.2 移交過程 3.4.3 密鑰維護 3.5 安全簽名 3.5.1 避免密鑰泄露 3.5.2 私密性和多種簽名 3.6 小結第二部分 TCG編程接口 第4章 編寫TPM設備驅動程序 4.1 TCG設備驅動程序庫 4.2 TPM1.1b規(guī)范設備接口 4.2.1 技術細節(jié) 4.2.2 設備編程接口 4.3 TPM1.2規(guī)范設備接口 4.3.1 技術細節(jié) 4.3.2 設備編程接口 4.4 小結 第5章 底層軟件:直接使用BIOS和TDDL 5.1 通過BIOS與TPM進行會話 5.2 通過TDDL與TPM進行會話 5.2.1 IBM的1ibtpm包 5.2.2 啟用和清空TPM 5.2.3 與TPM進行會話 5.2.4 以一些簡單的TPM命令開始 5.3 獲得所有權 5.3.1 創(chuàng)建和使用密鑰 5.3.2 檢查TPM配置 5.4 小結 第6章 可信啟動 6.1 用靜態(tài)可信根實現(xiàn)可信啟動 6.2 動態(tài)可信度量根 6.3 AMD安全虛擬機 6.4 驗證Locality 6.5 小結 第7章 TCG軟件?! ?.1 TSS設計概況 7.2 TCG服務提供者接口(Tspi) 7.3 TSP對象類型 7.3.1 上下文對象 7.3.2 TPM對象 7.3.3 策略對象 7.3.4 密鑰對象 7.3.5 加密數據對象 7.3.6 散列對象 7.3.7 PCR合成對象 7.3.8 非易失性數據對象(TSS1.2) 7.3.9 可遷移數據對象(TSS1.2) 7.3.10 代理簇對象(TSS1.2) 7.3.11 直接匿名證明(DAA)對象(TSS1.2) 7.4 TSS返回代碼 7.5 TSS內存管理 7.6 可移植的數據設計 7.7 永久密鑰存儲 7.8 簽名和認證 7.9 設置回調函數 7.10 TSS確認數據結構 7.11 小結 第8章 使用TPM密鑰 8.1 創(chuàng)建密鑰層次結構 8.2 效用函數 8.3 小結 第9章 使用對稱密鑰 9.1 數據綁定 9.2 數據密封 9.3 加密文件 9.4 小結 第10章 TSS核心服務(TCS) 10.1 TCS概述 10.1.1 TCS是如何處理有限資源的 10.1.2 對TCS抽象能力的進一步分析 10.1.3 為什么TCS可以實現(xiàn)本地和遠程調用 10.2 使用和實現(xiàn)一個TCS 10.2.1 開始 10.2.2 為什么選擇WSDL 10.3 .wsdl文件的簡要分析 10.3.1 頭文件 10.3.2 段 10.4 復雜類型中的InParms和OutParms 10.5 消息 …… 第11章 公鑰加密標準PKCS#11第三部分 體系結構 第12章 可信計算和安全存儲 第13章 可信計算和安全認證 第14章 可信設備管理 第15章 輔助硬件 第16章 從TSS 1.1到TSS 1.2第四部分 附錄 附錄A TPM命令參考 附錄B TSS命令參考 附錄C 函數庫 附錄D 依據對象和API級別劃分TSS函數 索引
章節(jié)摘錄
插圖:第一部分 背景材料第1章 可信計算概述本主主要描述由可信計算組織(TrustedComputingGroup,TCG)定義的可信平臺模塊(TrustedPlatformModule,TPM),它是一種置于計算機中的新的嵌入式安全子系統(tǒng),同時還將介紹TPM的相關知識和實際應用方法。本書并沒有限于對TPM功能和應用編程接口(API)標準的描述,而是通過很多實例,告訴讀者TPM到底能夠解決什么問題,以及規(guī)范中所做設計決策的理由。
編輯推薦
目前,TPM(可信平臺模塊)成為世界各大PC供應商積極推廣的一類新產品?!犊尚庞嬎恪肥堑谝槐娟P于正確使用TPM的工具書,向用戶展示可信計算技術的風采,并指導用戶進行相關的開發(fā)工作。《可信計算》涵蓋了如何使用TPM提供安全解決方案,并討論了如何編碼實現(xiàn)。書中介紹了TPM的基本功能以及如何編寫代碼通過標準TCG(Trusted Compting Group,可信計算組織)軟件棧訪問這些功能,同時還提供了相關范例,并討論了利用TPM能夠實現(xiàn)的解決方案?!犊尚庞嬎恪分饕攸cTPM提供的服務和功能。TPM設備驅動程序:在BIOS中運行代碼的解決方案、新操作系統(tǒng)的TSS棧和內存受限的環(huán)境。·使用TPM增強PC啟動序列的安全性。·深入探討密鑰管理方面的問題:創(chuàng)建、存儲、加載、遷移和使用密鑰,對稱密鑰等?!KCS#1 1與TSS棧結合起來,以支持具有中間件服務的應用。·TPM和隱私——包括如何避免隱私問題。·從TSS 1.1規(guī)范轉移到TSS 1.2規(guī)范。·TPM和TSS命令參考以及完整的函數庫。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載