semi-automated prototyping of a tpm v2 software and hardware simulation ... - trust 2013 ·...
TRANSCRIPT
![Page 1: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/1.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
1
TRUST'13 17.Jun.2013
Semi-Automated Prototyping of aTPM v2 Software and Hardware
Simulation Platform
Martin Pirker, Johannes Winter
{mpirker,jwinter}@iaik.tugraz.at
Institute for Applied Information Processing and Communications (IAIK),Graz University of Technology, Austria
rev 20130628, non-interactive
![Page 2: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/2.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
2
TRUST'13 17.Jun.2013
2
Trusted Platform Module
Feb'02 TPM v1.1b specification
Oct'03 TPM v1.2 rev. 62
Mar'11 TPM v1.2 rev. 116
![Page 3: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/3.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
3
TRUST'13 17.Jun.2013
3
Trusted Software Stack
2 full open-source implementations of TSS specs
TrouSerS / C http://trousers.sourceforge.net/
jTSS / Java http://trustedjava.sourceforge.net/
![Page 4: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/4.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
4
TRUST'13 17.Jun.2013
4
jTSS
Developed / started by IAIK within EU OpenTC project
100% Java implementation of every TSS detail
Manual work
Tried automation of implementation process...but gave up on it
![Page 5: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/5.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
5
TRUST'13 17.Jun.2013
5
Oct'12
TPM v2first publicdraft
![Page 6: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/6.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
6
TRUST'13 17.Jun.2013
6
v2 Specification Promise
“The information in this document is formatted so thatit may be converted to standard computer-language formats by an automated process. The purpose ofthis automated process is to minimize the transcription errors that often occur during the conversion process […]In addition, the conventions and notations in thisclause describe the representation of various dataso that it is both human readable and amenable to automated processing.”
![Page 7: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/7.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
7
TRUST'13 17.Jun.2013
7
Specification Text Extraction
*.PDF files, ~1400 pages TPM v2 spec
… run through Libreoffice PDF import ...
→ *.FODG files OpenDocument Graphics (XML based)
… run through custom script ...
→ raw text fragments[x,y,style,text], [x,y,style,text], ...
![Page 8: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/8.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
8
TRUST'13 17.Jun.2013
8
![Page 9: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/9.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
9
TRUST'13 17.Jun.2013
9
Spec Parts
Part 2Data structures
Part 3Commands
Part 4Support / Runtime environment
![Page 10: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/10.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
10
TRUST'13 17.Jun.2013
10
![Page 11: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/11.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
11
TRUST'13 17.Jun.2013
11
![Page 12: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/12.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
12
TRUST'13 17.Jun.2013
12
![Page 13: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/13.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
13
TRUST'13 17.Jun.2013
13
Script Run
![Page 14: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/14.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
14
TRUST'13 17.Jun.2013
14
![Page 15: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/15.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
15
TRUST'13 17.Jun.2013
15
![Page 16: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/16.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
16
TRUST'13 17.Jun.2013
16
![Page 17: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/17.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
17
TRUST'13 17.Jun.2013
17
Towards a TPM v2 Simulator
write Makefile / OpenSSL inclusion remove winsock.h / windows.h references socket interface instead of RPC
remove MS-stuff, e.g. fopen_s CFLAGS += -std=C99 -pedantic case sensitive header includes (e.g. Tpm.h vs tpm.h) duplicate / inconsistent s_NvIsAvailable declaration startup / init / self-test code … … ...
→ and obtain a Linux build :-)
![Page 18: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/18.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
18
TRUST'13 17.Jun.2013
18
Hardware TPM v2
TPM v2 in software is nice.... and as hardware?
Idea: run SW Simulator on FGPA platform
![Page 19: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/19.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
19
TRUST'13 17.Jun.2013
19
Hardware TPM v2
Xilinx XC3S700ANN FGPA board
32-bit Xilinx MicroBlaze soft-core processor
I2C+LPC bus slave controllers
open-source lwIP TCP/IP stack
stripped OpenSSL cryptography
..…fits just in on-chip flash (8Mbit) of FPGA (FPGA bitstream + bootloader + TPM simulator code)
![Page 20: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/20.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
20
TRUST'13 17.Jun.2013
20
Net
Power
![Page 21: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/21.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
21
TRUST'13 17.Jun.2013
21
Net USB/JTAGPower
LPCSerial
I2C
![Page 22: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/22.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
22
TRUST'13 17.Jun.2013
22
SerialConsole
![Page 23: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/23.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
23
TRUST'13 17.Jun.2013
23
“Hello World”
![Page 24: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/24.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
24
TRUST'13 17.Jun.2013
24
TPM v2 in-system Simulation
Done JTAG debugging of FPGA TPM I2C interface for embedded (e.g. for Arduino) Network interface (similar to IBM SW TPM v1.2)
Ongoing FPGA LPC interface based on previous work, FPGA side
handling of TIS protocol work-in-progress
![Page 25: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/25.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
25
TRUST'13 17.Jun.2013
25
Lessons Learned
Is the TPM v2 spec suited for automated processing?Yes, better than v1.2
Is it possible to synthesize a TPM simulator from it?Yes, but quite some work to create/generate missing code
Can we use a SW simulator to fake a HW TPM v2?Port to FPGA board, work-in-progress...
Outlook Cleanup, debug, document… someone with a TSS v2... ? :-)
![Page 26: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/26.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
26
TRUST'13 17.Jun.2013
26
Credits
Martin Pirker ([email protected]) Spec parser, extractor, code generation
Johannes Winter ([email protected]) FPGA port
Paper:Proceedings of 6th International Conference onTrust & Trustworthy Computing (TRUST 2013),17-19 Jun 2013, London, UK; LNCS 7904, Springerhttp://trust2013.sba-research.org/
![Page 27: Semi-Automated Prototyping of a TPM v2 Software and Hardware Simulation ... - TRUST 2013 · 2016-01-13 · Institute for Applied Information Processing and Communications (IAIK) Secure](https://reader035.vdocuments.site/reader035/viewer/2022070711/5ec8998e2b8d8c2258791985/html5/thumbnails/27.jpg)
Institute for Applied Information Processing and Communications (IAIK)Secure and Correct Systems Group (SCoS) – Graz University of Technology (TUG)
27
TRUST'13 17.Jun.2013
27
INTRUST'13 conference
5/6 Dec 2013 – Graz, Austria
CFP: 8.Jul !
intrust13.iaik.tugraz.at