☠ <a href="https://morketsmerke.github.io">morketsmerke</a> ☠
</p>
<div class="main">
- <h1 class="title">Wykorzystanie modułu TPM 1.2 do odblokowania cryptroot</h1>
+ <h1 class="title">Wykorzystanie modułu TPM do odblokowania cryptroot</h1>
<p>
Myślałem, że na zdalnym odblokowywaniu cryptroot seria się skończy, ale
- rodziła się potrzeba stworzenia laptopa do zdalnej pomocy, przyczym
- system na tym laptopie miałbyć jak najbardziej bezobsługowy. To jest
+ rodziła się potrzeba stworzenia laptopa do zdalnej pomocy, przy czym
+ system na tym laptopie miał być jak najbardziej bezobsługowy. To jest
użytkownik końcowy ma go tylko włączyć i już jak system się załaduje to
- załóżmy pomocnik działu IT, powinien już się z nim połączyć. Kiedy
+ załóżmy konsultant działu IT, powinien już się z nim połączyć. Kiedy
rozwiązano wszystkie inne problemy - takie jak wybór sposóbu
udostępnienia zdalnego pulpitu. Pozostał problem ochrony klucza
prywatnego VPN, ze zdjętym hasłem. Dla nas sprawa wydaje się oczywista.
może nasza platforma nie posiada modułu TPM (większość, komputerów
profesjonalnych takich jak Lenovo TP, Dell Latitude czy komputerów
stacjonarnych takich jak HP Z Workstations posiada moduł TPM w wersji
- zależnej od wieku sprzętu).
+ zależnej od wieku sprzętu). W BIOS-ach mogą one nazywać się przeróżnie
+ od <em>Security Chip</em> po <em>Embedded Security Device Support</em>.
</p>
<p>
- W przypadku modułów TPM w wersji niższej niż 2.0. Może być problem z
+ W przypadku modułów TPM w wersji niższej niż 2.0, może być problem z
oprogramowaniem pozwalającym obsługiwać moduł TPM w dzisiejszych
wersjach dystrybucji. Jednym z takich programów jest
<strong>clevis</strong> - modularny <em>framework</em> do automatyzacji
./clevis-luks_20-1+tpm1_amd64.deb ./clevis_20-1+tpm1_amd64.deb
</pre>
<p>
- Po zainstalowaniu oprogramowania, może zainicjować moduł TPM. Za pomocą
+ Po zainstalowaniu oprogramowania, można zainicjować moduł TPM. Za pomocą
odpowiedniego polecenia. Polecenie zarząda od nas ustawienia sobie
hasła właściciela:
</p>
do naszej zaszyfrowanej partycji.
</p>
<pre class="code-block">
-xf0r3m@romek:~$ sudo clevis luks bind -d /dev/sdb5 tpm1 '{"pcr_ids":"0,4,7"}'
+xf0r3m@romek:~$ sudo clevis luks bind -d /dev/sdb5 tpm1 '{"pcr_ids":"0,4,7"}'
Enter existing LUKS password:
</pre>
<p>
Polecenie powinno zakończyć się bez żadnych dodatkowych komunikatów.
- Wartości PCR_IDS są wskaźnikami status bezpieczeństwa. Ich wartości
+ Wartości <em>PCR_IDS</em> są wskaźnikami status bezpieczeństwa. Ich
+ wartości
pozwalają ustalić czy TPM działa w zaufanym środowisku. Jeśli któraś z
wartości nie jest zgodna z oczekiwaniami - moduł TPM, może odmówić
wydania klucza kryptograficznego.
</pre>
<p>
Teraz możemy uruchomić ponownie komputer. Kiedy przyjdzie do odblokowania
- dysku. Program poprosi nas o hasło, ale po chwili powinien pojawić się
- komunikat, że dysk został odblokowany przez <em>clevis</em>.
+ partycji. Program poprosi nas o hasło, ale po chwili powinien pojawić się
+ komunikat, że partycja został odblokowana przez <em>clevis</em>.
</p>
<pre class="code-block">
Please unlock disk sda5_crypt:Unlocked /dev/sdb5 with clevis
pendrive-a nic nie da. TPM sprawdzi wartość rejestru nr. 4 i jeśli nie
uruchomiliśmy komputera z prawidłowego dysku to nie wyda klucza.
</p>
+ <p>
+ Źródła:
+ </p>
+ <ul>
+ <li><a href="https://github.com/latchset/clevis/issues/84">Wsparcie clevis dla TPM 1.X</a></li>
+ <li><a href="https://github.com/oldium/clevis/releases/tag/v20_tpm1">Nieoficjalna wersja clevis ze wsparciem dla TPM 1.X</a></li>
+ <li><a href="https://linux.die.net/man/8/tpm_takeownership">Strona podręcznika polecenia tpm_takeownership</a></li>
+ <li><a href="https://pl.wikipedia.org/wiki/Trusted_Platform_Module#Pomiar_PCR">Objaśnienie PCR w TPM - Wikipedia</a></li>
+ <li><a href="https://wiki.archlinux.org/title/Trusted_Platform_Module#Accessing_PCR_registers">Bardziej szczegółowe omówienie rejestrów PCR - ArchWiki</a></li>
+ </ul>
+ <p>
+ ~ xf0r3m
+ </p>
</div>
<p class="footer">
2024; COPYLEFT; ALL RIGHTS REVERSED;