Vlákno názorů k článku TrueCrypt: profesionální ochrana dat zdarma od Joe - Trochu mě zarazilo hodnocení keyfiles, že mohou prodloužit...

  • Článek je starý, nové názory již nelze přidávat.
  • 16. 7. 2007 11:18

    Joe (neregistrovaný)
    Trochu mě zarazilo hodnocení keyfiles, že mohou prodloužit útok hrubou silou jen o zlomky vteřin. Platí to i v případě, že útočník obsah keyfile(s) nezná?

    Měl jsem totiž za to, že obsah keyfile se "nějak" aplikuje na password, a tom případě by IMHO stačilo i prosté XORování, aby se ze slabého hesla stalo silné (tedy pokud má heslo rozumný počet znaků a keyfile je dostatečně randomizovaný).

    (Že to není XORování jsem si našel na http://www.truecrypt.org/docs/?s=keyfiles-technical-details , ale je to na mě moc složité, nicméně jsem si to vyložil tak, že se jedná skoro o totéž)

    Keyfile, aspoň jak mu rozumím, by tedy měl být jakýmsi "privátním klíčem", který ze své podstaty musí zůstat útočníkovi utajen. Podobně jako u ostatních šifer, kde prozrazení privátního klíče v podstatě znamená její prolomení.
  • 16. 7. 2007 15:57

    bez přezdívky
    Když by útočník obsah keyfiles neznal, tak to pochopitelně je velmi silné - keyfiles se stávají (náhodným) klíčem místo passwordu: Na uvedeném linku je možné zjistit to, co jste zjistil vy. A tedy keyfiles se zpracují do 64 bajtů (to je onen zlomek vteřiny navíc), které znamenají náhodnou masku. Maska se pak naxoruje na password, eventuelně doplněný do 64 bajtů nulami. Jakýkoliv i slabý password se tak stane velmi silným (prakticky) náhodným klíčem o 512 bitech.

    Účelem toho cvičení s keyfiles je tedy ze slabého passwordu udělat silný tím, že se k passwordu ještě xoruje ona Maska. Soubory keyfiles se proto musí utajit, jinak útočník Masku vypočte jen jednou a pak je to pro něj pouhá konstanta do luštícího programu, kterou nemusí počítat pro každý nově zkoušený password.

    O něco lepší by bylo o tyto soubory (zpracovává se z nich jen 1 MByte) rozšířit sůl. Nebo vypočítat klíč z passwordu a soli tradičně bez keyfiles a poté skutečný_klíč = hash(klíč, keyfiles). V tomto případě musí útočník pro každý nový password načíst a zhašovat celý soubor keyfiles znovu. A to je podstatný rozdíl v náročnosti luštění.

    Je to miniaturní připomínka. Účelem keyfiles je zřejmě pouze umožnit externí vstup passwordu (jakožto náhodného binárního souboru) z nějakého média (z USB, ze sítě,...) a zabránit keyloggerům odchytit password. Jediné, co bych TrueCryptu mohl vytknout je, že by měl nějak výrazněji a jednodušeji užiateli napovědět, k čemu jsou keyfiles dobré (nebo ho donutit číst manuál).

    Pokud jsou keyfiles uloženy na hard disku, pak mají menší smysl (to je ale u domácích PC právě běžné). Většinou to bude adresář nebo jeden soubor. Útočník tak může zkoušet všechny do úvahy připadající praktické možnosti kombinací souborů.