├── README.md ├── docs ├── Attack_Demonstrations.md ├── CanSecWest_2018_-_TPM_Genie_-_Jeremy_Boone.pdf ├── Hardware_Build.md ├── NCC_Group_Jeremy_Boone_TPM_Genie_Whitepaper.pdf ├── Usage_Instructions.md └── pics │ ├── 470k.png │ ├── breadboard.png │ ├── i2c_interposer_block_diag.png │ ├── infineon_tpm45.png │ ├── raspberry_pi_2_model_b.png │ ├── runt_clock_pulse.png │ ├── teensy_36.png │ ├── teensyduino_fast_optimize_crop.png │ ├── tpm_genie.png │ ├── wires.png │ └── wiring_diagram.png ├── src ├── i2c │ ├── fifo.cpp │ ├── fifo.h │ ├── i2c.ino │ ├── interposer.cpp │ ├── interposer.h │ ├── payloads.h │ ├── pretty_print_packets.cpp │ ├── pretty_print_packets.h │ ├── tpm_cmd_parser.cpp │ └── tpm_cmd_parser.h ├── lpc │ └── placeholder.txt └── spi │ └── placeholder.txt └── utils ├── load_hw_rng.sh ├── pcr_extend.py ├── pcr_read.py ├── reset_tpm.sh └── takeownership_tpm.sh /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/README.md -------------------------------------------------------------------------------- /docs/Attack_Demonstrations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/Attack_Demonstrations.md -------------------------------------------------------------------------------- /docs/CanSecWest_2018_-_TPM_Genie_-_Jeremy_Boone.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/CanSecWest_2018_-_TPM_Genie_-_Jeremy_Boone.pdf -------------------------------------------------------------------------------- /docs/Hardware_Build.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/Hardware_Build.md -------------------------------------------------------------------------------- /docs/NCC_Group_Jeremy_Boone_TPM_Genie_Whitepaper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/NCC_Group_Jeremy_Boone_TPM_Genie_Whitepaper.pdf -------------------------------------------------------------------------------- /docs/Usage_Instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/Usage_Instructions.md -------------------------------------------------------------------------------- /docs/pics/470k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/470k.png -------------------------------------------------------------------------------- /docs/pics/breadboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/breadboard.png -------------------------------------------------------------------------------- /docs/pics/i2c_interposer_block_diag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/i2c_interposer_block_diag.png -------------------------------------------------------------------------------- /docs/pics/infineon_tpm45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/infineon_tpm45.png -------------------------------------------------------------------------------- /docs/pics/raspberry_pi_2_model_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/raspberry_pi_2_model_b.png -------------------------------------------------------------------------------- /docs/pics/runt_clock_pulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/runt_clock_pulse.png -------------------------------------------------------------------------------- /docs/pics/teensy_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/teensy_36.png -------------------------------------------------------------------------------- /docs/pics/teensyduino_fast_optimize_crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/teensyduino_fast_optimize_crop.png -------------------------------------------------------------------------------- /docs/pics/tpm_genie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/tpm_genie.png -------------------------------------------------------------------------------- /docs/pics/wires.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/wires.png -------------------------------------------------------------------------------- /docs/pics/wiring_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/docs/pics/wiring_diagram.png -------------------------------------------------------------------------------- /src/i2c/fifo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/fifo.cpp -------------------------------------------------------------------------------- /src/i2c/fifo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/fifo.h -------------------------------------------------------------------------------- /src/i2c/i2c.ino: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/i2c.ino -------------------------------------------------------------------------------- /src/i2c/interposer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/interposer.cpp -------------------------------------------------------------------------------- /src/i2c/interposer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/interposer.h -------------------------------------------------------------------------------- /src/i2c/payloads.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/payloads.h -------------------------------------------------------------------------------- /src/i2c/pretty_print_packets.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/pretty_print_packets.cpp -------------------------------------------------------------------------------- /src/i2c/pretty_print_packets.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/pretty_print_packets.h -------------------------------------------------------------------------------- /src/i2c/tpm_cmd_parser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/tpm_cmd_parser.cpp -------------------------------------------------------------------------------- /src/i2c/tpm_cmd_parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/i2c/tpm_cmd_parser.h -------------------------------------------------------------------------------- /src/lpc/placeholder.txt: -------------------------------------------------------------------------------- 1 | TODO: LPC support may not be possible with an Arduino-based design. 2 | -------------------------------------------------------------------------------- /src/spi/placeholder.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/src/spi/placeholder.txt -------------------------------------------------------------------------------- /utils/load_hw_rng.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/utils/load_hw_rng.sh -------------------------------------------------------------------------------- /utils/pcr_extend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/utils/pcr_extend.py -------------------------------------------------------------------------------- /utils/pcr_read.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/utils/pcr_read.py -------------------------------------------------------------------------------- /utils/reset_tpm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/utils/reset_tpm.sh -------------------------------------------------------------------------------- /utils/takeownership_tpm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/TPMGenie/HEAD/utils/takeownership_tpm.sh --------------------------------------------------------------------------------