(17条消息) 【可信计算】可信计算学习研究资源整理

原文地址: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。

而随着可信计算的发展,可信平台模块不一定再是硬件芯片的形式,特别是在资源比较受限的移动和嵌入式环境中,可信执行环境(TEE,Trusted Execution Environment)的研究比较热,如基于ARM TrustZone、智能卡等可以实现可信计算环境。另一个热点是物理不可克隆函数PUF(Physical 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的动机与设计,以及Intel的Latelaunch和虚拟化支持技术的描述

ü  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的本质。

会议与研究机构

如果四大顶级安全会议(CCS、IEEE S&P、USENIX Security、NDSS)等有关于可信计算的文章,自然值得一读。

另外推荐可信计算领域比较专业的会议Trust(International Conference on Trust & Trustworthy Computing),由欧洲研究可信计算的几个主流机构举办,每年上半年在欧洲开会,每年只录用十篇左右文章,如Trust 2014年的网址为http://www.ics.forth.gr/trust2014/

另外推荐CCS会议的WorkShop,TrustEDInternational 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芯片在很多方面可能与国际主流用法不一致。因此,为了实际使用可信计算功能,这里推荐一些开源项目。

(1)TPM Emulator

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

不需要实际TPM芯片就可以通过软件提供可信平台模块的功能,可以在Windows和Linux上进行编译后使用,建议和可信软件栈TROUSERS一起使用。

(2)可信软件栈TROUSERS

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

IBM实现的一套开源软件栈,是Linux下进行可信计算应用开发的主要接口。

(3)IBM Software TPM

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

提供了一全套实践可信计算的软件工具:包含软件TPM模拟器、libtpm库(类似可信软件栈TSS)、实例命令(用C语言写,可以直接访问TPM命令接口,测试可信计算的功能),而且通过提供的TPM Proxy代理可以去实际TPM芯片、以及其他软件模拟的TPM Emulator进行通信。

(4)OpenTC项目

开源网址:www.opentc.net

是欧盟赞助的一个可信计算项目,目标是开发一套完整的可信操作系统,出了很多成果,包含Trusted XEN Virtualisation OS,Trusted Linux以及Trusted Microkernel for small and embedded systems等。

(5)Trusted JAVA项目

开源网址:http://trustedjava.sourceforge.net/

是OpenTC项目的一部分,显示了如何使用Java来使用TPM和TSS的功能,由IAIK开发,可以支持跨平台的使用可信计算功能。

(6)TPM4JAVA

开源网址:http://tpm4java.datenzone.de/trac

另一个可信Java工程,不过主要由Technical University of Darmstadt大学主持。

(7)内核完整性度量IMA

开源网址:http://sourceforge.net/p/linux-ima/wiki/Home/

结合TPM安全芯片,在Linux内核实现了可信计算的完整性度量体系,对所有可执行程序进行了度量。

(8)EMSCB项目

开源网址:http://www.emscb.com/content/pages/49241.htm

由德国政府赞助,基于对TPM的使用开发一些典型的安全应用(如加密等)。可以基于它们的代码理解可信应用开发的思路,以及嵌入到其它应用开发中。

(0)

相关推荐

  • Windows 11最低硬件要求引争议,大量老电脑面临淘汰?微软认怂了

    众所周知,微软已经正式公布了Windows 11的最低硬件要求,大量老电脑面临淘汰.哪怕你的电脑可以升级到Windows 10,也不一定能满足条件. Windows 11的最低硬件要求分为4点:1GH ...

  • 电脑没TPM不能升级Windows 11?可能只是没启用

    在经历了一系列的泄露与预告后,微软的全新操作系统Windows 11在日前也已经正式发布.其令人耳目一新的界面设计,大幅强化的游戏性能,以及对Android APP的原生支持等特性,很快也吸引了众多的 ...

  • TPM

    TPM的全称是Trust Platform Module,可信平台模块. 当我们谈到TPM的时候,我们通常指的是实现了TPM标准的芯片,这类芯片可以是物理实体的(discrete TPM,简称dTPM ...

  • 微软允许OEM厂商生产不使用任何TPM芯片的Windows 11电脑

    虽然微软坚持认为TPM 2.0芯片是Windows 11的基本要求,但事实证明,OEM厂商实际上可以展示出更多的灵活性.Tom's Hardware留意到微软16页的'Windows 11最低硬件要求 ...

  • TPM的故事---建立清洁检查和润滑的临时标准

    本文为连载第6部分(共计6篇) 在上几篇文章中,谈及的了下面部分: "TPM的故事---准备 TPM的故事---基础数据收集 TPM的故事---团队活动 TPM的故事---初步清洁检查 TP ...

  • (2条消息) 2019深度学习人体姿态估计指南

    本文素材来源于nanonets技术博客网站,经本人编辑首发于CSDN,仅供技术分享所用,不作商用. 原文地址:https://blog.nanonets.com/human-pose-estimati ...

  • (1条消息) zynq开发学习记录:Linux与rt

    Linux + RT-Thread 1.U-boot.Linux设备树修改 memory { device_type = "memory"; reg = <0x0 0x300 ...

  • (17条消息) 微服务监控方案介绍

    微服务的特点决定了功能模块的部署是分布式的,以往在单应用环境下,所有的业务都在同一个服务器上,如果服务器出现错误和异常,我们只要盯住一个点,就可以快速定位和处理问题,但是在微服务的架构下,大部分功能模 ...

  • (17条消息) Maven的安装与配置

    一.安装本地Maven tips: 官网为外网,下载速度较慢,这里提供3.6.3版本的三方链接下载Maven下载 无视下载速度以及需要其他版本的伙伴点此进入Maven官网下载 选择左侧Download ...

  • (17条消息) Maven 3.6.1版本

    解压到文件目录下 mac配置maven环境变量 conf/settings.xml 仓库路径默认目录地址,可修改 <!-- localRepository| The path to the lo ...

  • (17条消息) linux桌面版排行2019

    原标题:2019 面向新用户的五大友好Linux发行版 Linux与第一代产品相比已大有改进.但不管你现在常听到Linux有多容易,仍有人怀疑.桌面必须足够简单,不熟悉Linux的人才能够使用它.众多 ...

  • (17条消息) 2018 年最受欢迎 Linux 发行版排行榜

    2019独角兽企业重金招聘Python工程师标准>>> 国外技术网站 FossBytes 近日梳理了 2018 年最值得开发者尝试 9 个发行版,内容仅代表作者个人观点.读者如有不同 ...

  • (4条消息) ZipKin原理学习

    ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司 ...

  • (4条消息) c# opencvsharp学习笔记(2)

    Mat src = new Mat("lenna.png", ImreadModes.AnyColor);//src就是source源,dst destination,目的地. M ...