可信計算與可信執行環境TEE學習研究資源整理

原文地址:http://www.vonwei.com/post/trustedcomputingresources.html

         想要學習和理解可信計算技術的入門者,經常不知道從哪裏下手,下面根據個人經驗總結一些資源供參考(不一定全,歡迎補充):

規範

         通過規範的研究可以理解可信計算的基本概念和思想,方便閱讀更多的書籍和論文。

         早期可信計算的研究主要以TCG(國際可信計算工作組http://www.trustedcomputinggroup.org/resources/tpm_main_specification )組織爲主,國內開展可信計算研究的思路基本也是跟着TCG的步伐。可信計算最核心的就是TPM硬件芯片,其TPM 1.2規範是比較經典的,大多數廠家的芯片都以TPM 1.2爲標準。不過,現在該規範已經升級到TPM 2.0,也稱爲“Trusted Platform Module Library Specification”,而且遵循該規範的新芯片也已經面世。

         國內對應的是TCM芯片,可以參考“可信計算密碼支撐平臺功能與接口規範”,而且已經成爲國家標準,即GB/T 29829-2013

         而隨着可信計算的發展,可信平臺模塊不一定再是硬件芯片的形式,特別是在資源比較受限的移動和嵌入式環境中,可信執行環境(TEETrusted Execution Environment)的研究比較熱,如基於ARM TrustZone、智能卡等可以實現可信計算環境。另一個熱點是物理不可克隆函數PUFPhysical Unclonable Functions),其可以爲可信計算提供物理安全特徵,實現密鑰安全存儲、認證、信任根等功能,而且對應用到物聯網、可穿戴設備、BYOD等場景中具有很好的優勢。關於這方面的標準可以參考“GlobalPlatform”,一個開放式聯盟,定義了關於卡、設備、系統等各個方面的規範,其中包含與可信計算聯繫比較緊密的GP-TEE規範

 

書籍與論文

         中文書籍推薦馮登國教授的“可信計算理論與實踐”,其對可信計算的研究歷史、現狀和技術有比較全面和深入的理解。還有張煥國教授的“可信計算”一書。另外推薦綜述論文“可信計算技術研究”(發表在計算機研究與發展期刊上)和“The Theory and Practice in the Evolution of Trusted Computing”(發表在科學通報CSB上)。

         如果想對可信計算有比較原汁原味的深入理解,推薦閱讀一些經典的英文原版書籍:

ü  S.W. Smith. Trusted Computing Platforms: Design and Applications. 2005 關於設計和使用安全協處理器的早期工作的總結

ü  D. Grawrock. Dynamics of a Trusted Platform. 2008 包含TPM的動機與設計,以及IntelLatelaunch和虛擬化支持技術的描述

ü  D. Challener, K. Yoder, R. Catherman, D. Safford, and L. Van Doorn. A Practical Guide to Trusted Computing. IBM Press 2008. 從一個開發者的角度介紹了可信計算平臺的各個方面,包含設備驅動的撰寫,以及可信軟件棧的應用接口,值得一讀(這本書有中文翻譯的版本,不過還是推薦最好讀英文原版)

         另外推薦閱讀CMU學者的綜述論文“Bootstrapping Trust in Commodity Computers”,發表在信息安全頂會IEEE S&P 2010上面,對可信計算的理解比較到位。

         最後推薦Mark Ryan在訪問TCG後綜述了一篇關於TPM 1.2的論文“Introduction to the TPM 1.2”,適合初學者閱讀,能比較快速準確的抓住TPM的本質。

 

會議與研究機構

         如果四大頂級安全會議(CCSIEEE S&PUSENIX SecurityNDSS)等有關於可信計算的文章,自然值得一讀。

         另外推薦可信計算領域比較專業的會議TrustInternational Conference on Trust & Trustworthy Computing),由歐洲研究可信計算的幾個主流機構舉辦,每年上半年在歐洲開會,每年只錄用十篇左右文章,如Trust 2014年的網址爲http://www.ics.forth.gr/trust2014/

         另外推薦CCS會議的WorkShopTrustEDInternational Workshop on Trustworthy Embedded Devices),其前身爲CCS-STC,每年與頂會CCS一起舉辦,只收錄幾篇文章,也比較專業,主要關注可信計算在嵌入式和移動等方面的新型成果。

         如果做學術研究的話,跟蹤國際上前沿組織與機構的研究成果是很好的選擇,可信計算方面的機構有:CMU Cylab實驗室 ETH Zurich系統安全實驗室Intel&HP實驗室(代表人物Ernie Brickell, Liqun Chen, Jiangtao Li,代表成果DAA),TU Darmstadt CASEDIAIK of Graz等。

 

開源項目

         瞭解了可信計算的思想和原理,如果不從實際上體驗一把可信計算的功能也是很痛苦的。而現在在國內使用TPM的芯片很困難,TCM芯片在很多方面可能與國際主流用法不一致。因此,爲了實際使用可信計算功能,這裏推薦一些開源項目。

         1TPM Emulator

         開源地址:https://github.com/PeterHuewe/tpm-emulator

         不需要實際TPM芯片就可以通過軟件提供可信平臺模塊的功能,可以在WindowsLinux上進行編譯後使用,建議和可信軟件棧TROUSERS一起使用。

         2)可信軟件棧TROUSERS

         開源地址:http://sourceforge.net/projects/trousers

         IBM實現的一套開源軟件棧,是Linux下進行可信計算應用開發的主要接口。

         3IBM Software TPM

         開源地址:http://ibmswtpm.sourceforge.net/

         提供了一全套實踐可信計算的軟件工具:包含軟件TPM模擬器、libtpm庫(類似可信軟件棧TSS)、實例命令(用C語言寫,可以直接訪問TPM命令接口,測試可信計算的功能),而且通過提供的TPM Proxy代理可以去實際TPM芯片、以及其他軟件模擬的TPM Emulator進行通信。

         4OpenTC項目

         開源網址:www.opentc.net

         是歐盟贊助的一個可信計算項目,目標是開發一套完整的可信操作系統,出了很多成果,包含Trusted XEN Virtualisation OSTrusted Linux以及Trusted Microkernel for small and embedded systems等。

         5Trusted JAVA項目

         開源網址:http://trustedjava.sourceforge.net/

         OpenTC項目的一部分,顯示瞭如何使用Java來使用TPMTSS的功能,由IAIK開發,可以支持跨平臺的使用可信計算功能。

         6TPM4JAVA

         開源網址:http://tpm4java.datenzone.de/trac

         另一個可信Java工程,不過主要由Technical University of Darmstadt大學主持。

         7)內核完整性度量IMA

         開源網址:http://sourceforge.net/p/linux-ima/wiki/Home/

         結合TPM安全芯片,在Linux內核實現了可信計算的完整性度量體系,對所有可執行程序進行了度量。

         8EMSCB項目

         開源網址:http://www.emscb.com/content/pages/49241.htm

         由德國政府贊助,基於對TPM的使用開發一些典型的安全應用(如加密等)。可以基於它們的代碼理解可信應用開發的思路,以及嵌入到其它應用開發中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章