Adott egy Thinkpad T450 Debian Jessie-vel, amin backportolt 4.5-ös kernel szaladgál, egy LUKS-által titkosított LVM diszkről (a /boot és a /boot/efi nincs titkosítva). Ehhez gondoltam hozzápasszítani a gépben lévő TPM-chipet, amit a LUKS-kulcs tárolására használnék, ha ez megoldható.
TPM-el tapasztalatom az viszont nincs és amit gyors kereséssel találtam az sem tette egyértelműbbé a helyzetet. A leginkább használhatónak tűnő megoldást talán ez jelentette: https://github.com/shpedoikal/tpm-luks de ez is több, mint 3 éves és RHEL-re készült. Annyi biztos, hogy bizonyos dolgok máshogy mennek Debian alatt. Szóval valaki, aki próbálkozott már ilyennel megosztaná a tapasztalatait? Egyáltalán működhet ez így, vagy ne kaparjak miatta?
- 7218 megtekintés
Hozzászólások
Engem is érdekel. Hátha Hunger tudja.
http://hup.hu/node/128583#comment-1972852
http://hup.hu/node/128583#comment-1972899
--------------------------------------------------------------------
http://www.kmooc.uni-obuda.hu/
http://www.memooc.hu/
http://www.hbone.hu/hu/hirek/hbone_workshop
http://videotorium.hu/hu/channels/details/814,BME_Villamosmernoki_es_In…
- A hozzászóláshoz be kell jelentkezni
abszolút igaza van, csak amiket ír azok jobbára windows-biztonság témakörbe tartoznak... na de majd jön aztán megmondja a tutit... vagy nem... de azt biztosan... addig is kísérletezek tovább.
- A hozzászóláshoz be kell jelentkezni
Mi a célod? Mit szeretnél elérni?
Azt leszögezhetjük, hogy LUKS esetén olyan, hogy a titkosításhoz használatos kulcsot a géped úgy tárolja, hogy azt onnan sehogyse lehessen kilopni, nem létezik. Ugyanis ahhoz az kellene, hogy HW végezze a CPU helyett a diszk titkosítását (ergó a kulcs sose kerüljön a CPU-hoz, a HW-en belül maradjon), márpedig a LUKS nem így működik.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy nem így működik. A terv minden elméleti fejtegetést mellőzve, hogy a rendszer indulásakor a LUKS a feloldáshoz szükséges kulcsot a TPM-től megkapja, ehhez ha jól olvasom, akkor szükség lesz egy olyan bootloaderre is, ami támogatja a Trusted Boot-ot (TrustedGRUB, TrustedGRUB2).
A CPU trusted bootnál el tudja küldeni az épp betöltött kód (bootloader, kernel, stb.) hash-ét a TPM-nek, amit ő hozzáhash-el egy belső regiszterének (PCR) értékéhez, így a végén a regiszterek értéke jellemző lesz a boot chainre. A TPM-nek így megmondhatod, hogy a titkosított adatokat csak a PCR-ek egy adott értékénél fejtse vissza (ez a sealing). Lényegében a TPM azt tudja, hogy akkor fejti vissza a pl. lemeztitkosító kulcsot, ha a BIOS/bootloader/kernel megegyezik azzal, amivel seal-elted. Vagyis nem csak a titkosítási kulcsot védené, hanem azt is megakadályozná, hogy külső médiáról bootoljon a rendszer.
A fenti folyamathoz erősen ajánlott PIN hozzáadása, de jelen állapotában nem hiszem, hogy a PIN+TPM menni fog linux alatt. A fenti link alatti megoldás egy frissebb forkja itt: https://github.com/momiji/tpm-luks
Egyelőre nem sok mindent tudok viszont felmutatni, egyrészt át kellene nézni a fenti kódot, adaptálható-e debian-ra, valamint több tapasztalat kellene TrustedGRUB-al is...
- A hozzászóláshoz be kell jelentkezni
Hát, majd számolj be, ha sikerült eredményre jutni :D
Igazából a use-case-t nem teljesen értem.
Ha a kulcs benne van a TPM-ben, akkor az a cél, hogy a titkos jelszó/passphrase ismerete nélkül is elindulhasson a gép?
Nálam laptopnál pont az lenne a cél, hogy nélkülem (a jelszó ismerete nélkül) ne lehessen hozzáférni se a géphez, se az adatokhoz. Ezt viszont el lehet érni úgy, hogy a LUKS jelszót a gép magától nem tudja (így még véletlenül sem fordulhat elő, hogy kinyerik belőle valahogy), tehát a TPM-nek elég annyit tudnia, hogy ne lehessen trójaira cserélni a boot loadert/kernelt/initramfst.
- A hozzászóláshoz be kell jelentkezni
Ha a kulcs benne van a TPM-ben, akkor az a cél, hogy a titkos jelszó/passphrase ismerete nélkül is elindulhasson a gép?
Igen PIN nélkül a működése ez lenne. Nyilván az igazán jó megoldás az lenne, ha PIN-t is adhatnánk meg.
A use-case-ről csak annyit, van olyan eset, amikor nem garantálható a jelenlétem a gép indulásakor (wake-on lan, stb), és ekkor is szükséges lenne, hogy elinduljon. Most tekintsünk el attól az esettől hogy a PIN-t ekkor is meg kellene adnom (mert az egyébként a titkosítási kulcstól függetlenül cserélhető, legalábbis Windows-on).
TPM nélkül, tehetem a kulcsot titkosítatlan partícióra, pendrive-ra, memóriakártyára is, viszont ezekről nagyon könnyen megszerezhető a kulcs, illetve könnyen elveszthető az adathordozó. Nem állítom, hogy a TPM mennyivel jobb megoldás, de vannak előnyei.
Nem létfontosságú ez a funkció, csak hasznosnak gondoltam végigpróbálni a lehetőségeit. De valamiért az az érzésem, hogy ezt a technológiát az UEFI Secure Boot-al egy kaptafára tűzzel-vassal irtják a open source világban...
- A hozzászóláshoz be kell jelentkezni
Erre a usecase-re van egy ötletem, mégpedig egy nem titkosított rendszer és egy titkosított adat partíció/container. A luks kötetnek megadsz egy keyfile-t _is_ (ha jól emlékszem 8 slot van), és ezt "elrejted" valahova, célszerűen több részletben több helyre.
Pl. egy webserver-en egy 234rewjofsdö9275zt8gbjdsdé nevű file ami csak https-en érhető el, vagy egy publikusan elérhető kép (flicker, picasa, stb.) 1532. byte-jától kezdve 1725 byte, de lehet a kulcs része pl. a default gw (ottoni nat-olós dobozod) mac address-e is, ilyesmi. Ezek letöltését (és ha szükséges összeállítását) boot után egy memdisk-en kényelmesen elvégezheted, majd a titkosított volume felcsatolása után ennek a tartalmát törlöd.
Hátránya ennek a módszernek, hogy az egész disk titkosítása nem lehetséges, viszont az "érzékeny" adatok titkosítva lesznek és a jelszó vagy a teljes kulcs kell a hozzáféréshez. Nyilván ott van a "megfejtés" a vinyón, de ha pl. ellopják a notit akkor valszeg nem az lesz az első dolguk, hogy átnyálazzák hogy rc.local-ból indított jól eldugott kis script-edet, ami érdemi munkát csak akkor végez ha az otthoni LAN körülményeit tapasztalja. Szóval ilyen esetben simán van időd megsemmisíteni a kulcsot, vagy annak legalább egy részét.
Persze ha kifejezetten rád utaznak az ellen nem véd, érzékeny céges adatokat se feltétlenül tárolnék így, de a "random tolvaj hozzáfér a home video-imhoz" kategóriában akár megfelelő is lehet.
- A hozzászóláshoz be kell jelentkezni
[OFF]
Ebbol ez ugrott be: https://hu.wikipedia.org/wiki/Horcrux
[/OFF]
- A hozzászóláshoz be kell jelentkezni
Nem nagyon merültem el a HP mesékben, de ez érdekes volt, thx.
- A hozzászóláshoz be kell jelentkezni
Nekem az az érzésem, hogy nem gondoltad ezt azért végig rendesen. Mármint hogy az elképzelt megoldásod mi ellen és milyen biztonságot nyújt.
- A hozzászóláshoz be kell jelentkezni
A kérdés az volt működhet-e és mik vele a tapasztalatok. A miértről és mi ellenről szerintem addig felesleges beszélni... Én is ismerek legalább 10 más megoldást. De most ezt szeretném használni.
- A hozzászóláshoz be kell jelentkezni