This is an old revision of the document!
Experiment: Sběr dat z TPM modulu
V rámci laboratoře CRoCS na Fakultě Informatiky provádíme výzkum bezpečnosti kryptografického hardware TPM (Trusted Platform Module), který je nyní umisťován do většiny notebooku a PC. Jedná se de facto o čipovou kartu, která umožňuje mimo jiné generovat a ukládat kryptografické klíče nebo poskytovat základ pro tzv. Trusted boot. Tato stránka popisuje dva základní experimenty, kterými vygenerujete testovací podkladová data z vašeho TPM čipu a umožníte nám jejich výzkumné zpracování.
Základní informace
Příprava experimentu:
- Je nutné mít TPM čip aktivovaný v BIOSu a inicializovaný v OS (viz. Inicializace a příprava čipu níže)
Data sbíraná v rámci experimentu:
- Veřejné klíče TPM (Endorsement key, Root Storage key)
- 1000 veřejných RSA klíčů generovaných na TPM čipu
- 100MB náhodných dat produkovaných TPM čipem
Pozn. V rámci experimentu nesbíráme žádné vaše privátní klíče. Z principu konstrukce TPM to ani není možné - exportovat lze pouze veřejnou část RSA klíčů.
Inicializace a příprava čipu
Je možné že TPM čip již aktivně využíváte (např. pro Bitlocker), ale mnohem pravděpodobněji jej máte ve svém notebooku nebo PC zcela nevyužit a zatím neinicializovaný. V případě, že TPM čip již využíváte nebo máte počítač s více operačnímy systémy (dual boot), kontaktujte nás prosím před dalšími kroky, abyste jste si čip nedopatřením neinicializovali dvakrát.



- Spustťe následující sekvenci příkazů a zašlete nám prosím soubory TPM_EK.txt a EKCert.p7b
PCPTool.exe GetVersion >> TPM_EK.txt PCPTool.exe GetEK >> TPM_EK.txt PCPTool.exe GetSRK >> TPM_EK.txt PCPTool.exe GetEKCert # uložte certifikát do souboru EKCert.p7b včetně všech dalších certifikátů v cestě (viz. obrázek)
Instrukce pro majitele počítačů s OS Linux
- Nainstalujte si balík simple-tpm-pkcs11: sudo apt install simple-tpm-pkcs11 ( GitHub)
- Spustťe v cyklu příkaz stpm-keygen (viz. script níže)
- Zašlete nám výsledný soubor TPMkeys.txt
#!/bin/bash tpm_version >> TPMkeys.txt for i in `seq 1 1000`; do stpm-keygen -o test.key cat test.key >> TPMkeys.txt echo 'Key ' $i ' generated' done
Sběr náhodných dat
TPM modul poskytuje možnost generovat opravdu náhodná data využitelná např. pro tvorbu kryptografických klíčů. Pro otestování jejich kvality na vašem TPM čipu vygenerujeme 100MB dat a následně podrobíme statistickému testování (baterie STS NIST, Dieharder a TestU01).
Instrukce pro majitele počítačů s OS Windows
- Spustťe script randomData.bat (očekávaná doba běhu je zhruba 1-2 hodiny)
- Zašlete nám výsledný soubor TPM_RNG.txt (100MB, např. prostřednictvím Úschovny ISu)
PCPTool.exe GetVersion >> TPM_RNG.txt TPMTool.exe RANDOM 100000000 >> TPM_RNG.txt
Instrukce pro majitele počítačů s OS Linux
Připravujeme, vydržte prosím