abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    dnes 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Ideální parametry pro LUKS

    Petr Fiedler avatar 27.12.2021 03:13 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Ideální parametry pro LUKS
    Přečteno: 440×

    Zdravím,
    potřeboval bych poradit, jak co nejlépe zašifrovat oddíl s citlivými daty. Já to dělám takto:

    # Zaplnění oddílu XY náhodnými daty
    cryptsetup open --type plain --key-file /dev/random /dev/sdXY nejaky_nazev
    dd bs=1M if=/dev/zero of=/dev/mapper/nejaky_nazev status=progress
    cryptsetup close nejaky_nazev
    
    # Likvidace LUKS hlavičky
    dd if=/dev/urandom of=/dev/sdXY bs=1M count=10 status=progress
    
    # Zašifrování oddílu XY
    cryptsetup luksFormat --cipher aes-xts-plain64 --key-size 512 --hash sha512 --use-random /dev/sdXY status=progress
    
    # Passphrase bude složená z > 35 znaků - 0-9, a-z, A-Z a speciální znaky.

    Použili byste jiné parametry? Třeba jinou šifru? Že by to bylo pomalejší nevadí. HDD připojím ~1 x za rok. Zkontroluji, případně doplním data a rok na něj zase nesáhnu, takže tu chvilku to vydržím. Hlavně, aby data byla opravdu dobře zabezpečená.


    Řešení dotazu:


    Odpovědi

    27.12.2021 10:35 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS
    Skúsil by som si spustiť benchmark aby som vedel aké šifry a s akými veľkosťami kľúčov podporuje tebou používané distro aktuálnej verzie.

    Vybral si si prúdovú šifru AES-XTS ktorá má u mňa dostatočnú rýchlosť keďže inštrukčná sada AES-NI (kryptoakcelerátor) je bežnou súčasťou CPU už dlhšiu dobu. Pre porovnanie (Algo aes-xts 512b):
    CPU Priepustnosť Vek CPU Poznámka
    i5-2520M 1071 MiB/s 9 rokov Nejaké procesy mi brali 20% zo 400% CPU
    i3-10110U 1495.9 MiB/s 2 roky Nič mi nebežalo, ale CPU prepnuté do úsporného režimu so zakázaným pretaktovaním.
    i3-10110U 2438 MiB/s 2 roky Nič mi nebežalo, CPU prepnuté do výkonného režimu s povoleným pretaktovaním.
    Obávam sa že v prípade tebou vybratej prúdovej šifry nebude rýchlosť limitujúcim faktorom. Na tom prastarom kuse mi to zvládlo rýchlosť cca 1GB/s (8Gb/s). Ale ten benchmark ti prezradí či náhodou už nemáš novší kernel a cryptsetup ktoré by mohli zvládnuť dlhší kľúč.
    Řešení 1× (Petr Fiedler (tazatel))
    Max avatar 27.12.2021 12:54 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS
    Já čerpal info z:
    dm-crypt/Device encryption
    When to use Argon2i vs Argon2d vs Argon2id?

    takže toto je myslím plně ok:
    cryptsetup --cipher aes-xts-plain64 --hash sha512 --key-size 512 --pbkdf argon2id --type luks2 --use-urandom --verify-passphrase luksFormat /dev/sdXY
    
    Zdar Max
    Měl jsem sen ... :(
    Petr Fiedler avatar 27.12.2021 19:42 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS

    Díky za odkaz.

    Díky za příkaz. Proč --use-urandom ?

    Max avatar 28.12.2021 00:57 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS
    Je to v tom odkazu:
    Note that /dev/random blocking pool has been removed. Therefore, --use-random flag is now equivalent to --use-urandom

    Zdar Max
    Měl jsem sen ... :(
    27.12.2021 14:18 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS

    Důležitý parametr je --pbkdf argon2id. Jinak (pokud se to poslední dobou nezměnilo) se použije (i pro dnes už implicitní LUKS2) stará PBKDF z LUKS1, což je trochu škoda.

    Jinak to „plnění nulami“ je poměrně sporný nápad.

    Vstup má v sobě jakési náhodnosti velmi málo, diplomaticky řečeno, což znamená, že se pak uživatel spoléhá jenom a pouze na odolnost příslušné šifry vůči protivníkovi, který téměř přesně ví, co bylo zapsáno do většiny šifrovaných bloků. Ovšemže, šifra (jako algoritmus, matematická abstrakce) bude proti takovým scénářům odolná a pevně opřená o matematické důkazy. Platí však totéž pro tuhle konkrétní implementaci příslušné šifry, od hardwaru až po software? Možná jo, doufejme, ale bezpečnost je jako cibule: pokud nemusím odloupnout slupku, nechám slupku být.

    Jo, kdybych cítil potřebu tam za každou cenu něco zapsat (což fakt není potřeba), zapsal bych tam asi /dev/urandom místo /dev/zero.

    Dotaz sice zmiňuje HDD (tedy rotující disk, předpokládám), nicméně i přesto bych dodal, že například na SSD, zejména pokud chce uživatel mít funkční discard skrz všechny vrstvy (filesystém, LUKS atd.) [jo, chce], je takové plnění daty dvojnásob sporné. Všeho všudy se tím vyplýtvá jeden zápis na SSD, které obvykle vydrží za svou životnost jenom cca 1000 zápisů. Po prvním discardu, který většinou nastane automaticky rovnou při vytváření filesystému, vezme celý plán s rádoby-náhodností za své.

    Závěrem bych ještě upozornil na off-topic zajímavost: Pokud chce člověk --hash sha512 místo implicitního --hash sha256 u všech key slotů [jo, proč by nechtěl], musí volbu --hash sha512 zopakovat navíc i u následného / následných luksAddKey. Jinak totiž bude mít nově přidaný key slot pouze implicitní sha256. Manuálová stránka tohle bohužel nepopisuje dostatečně přesně.

    Petr Fiedler avatar 27.12.2021 19:54 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS
    Důležitý parametr je --pbkdf argon2id. Jinak (pokud se to poslední dobou nezměnilo) se použije (i pro dnes už implicitní LUKS2) stará PBKDF z LUKS1, což je trochu škoda.

    To je dobré vědět.

    Jinak to „plnění nulami“ je poměrně sporný nápad.

    Jo, kdybych cítil potřebu tam za každou cenu něco zapsat (což fakt není potřeba), zapsal bych tam asi /dev/urandom místo /dev/zero.

    Snad to chápu správně. Myslím, že díky CPU instrukci AES NI se ten oddíl nezaplní nulami, ale náhodnými daty.

    Závěrem bych ještě upozornil na off-topic zajímavost: Pokud chce člověk --hash sha512 místo implicitního --hash sha256 u všech key slotů [jo, proč by nechtěl], musí volbu --hash sha512 zopakovat navíc i u následného / následných luksAddKey. Jinak totiž bude mít nově přidaný key slot pouze implicitní sha256. Manuálová stránka tohle bohužel nepopisuje dostatečně přesně.

    Taky dobré vědět. Díky za informace.

    28.12.2021 15:04 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS

    Jinak to „plnění nulami“ je poměrně sporný nápad.

    Jo, kdybych cítil potřebu tam za každou cenu něco zapsat (což fakt není potřeba), zapsal bych tam asi /dev/urandom místo /dev/zero.

    Snad to chápu správně. Myslím, že díky CPU instrukci AES NI se ten oddíl nezaplní nulami, ale náhodnými daty.

    Ne, to není správná interpretace skutečnosti. :-)

    Ta data nebudou náhodná. Z principu náhodná být nemohou, protože musí existovat způsob, jak z nich zpátky dešifrovat ty zapsané nuly.

    Ovšemže, jedním z cílů kryptografie je, aby se šifrovaná data na první i druhý pohled co nejvíc podobala náhodným datům. Nicméně zašifrovat spoustu nul znamená, jak už jsem psal, zbytečně se vzdát jedné ze slupek zabezpečení: Kdyby implementace příslušné šifry náhodou měla nějakou zásadní slabinu, která by umožňovala zneužít znalost šifrovaných a odpovídajících nešifrovaných dat k (snazšímu) získání klíče, zbytečný zápis spousty nul by právě takovou slabinu přímo okatě vystavil.

    Je zkrátka v určitém smyslu lepší (pokud nechceme doufat v ideálně-dokonalou implementaci každé šifry) „zašifrovat“ náhodná data z /dev/urandom než samé nuly z /dev/zero. A ještě lepší bude, zejména pak v případě SSD, nezapisovat tam zpočátku vůbec nic.

    AES-NI nemají vůbec nic společného s tím, jaký bude výsledek šifrování nul. Šifrovací algoritmus je pořád stejný. Instrukce AES-NI umožňují výrazně (například deseti+násobně) zrychlit implementaci některých výpočtů typických pro šifrování. Nemají ale žádný vliv na to, jak přesně daná šifra funguje a jaký bude její výsledek. Kdyby totéž chroupal procesor bez AES-NI, výsledek by byl stejný, jen by to ukrutně dlouho trvalo.

    28.12.2021 15:39 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS
    Myslel HW-RNG, ktorý zvykol byť pribalovaný aj k AES-NI. Ja so ho prvý krát videl v inštrukčnej sade VIA Padlock.
    Petr Fiedler avatar 27.12.2021 20:08 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Ideální parametry pro LUKS

    Jinak ten benchmark jsem sem taky mohl dát. Takže tady je:

    ~$ cryptsetup benchmark 
    # Testy jsou počítány jen z práce s pamětí (žádné I/O úložiště).
    PBKDF2-sha1      3387967 iterací za sekundu pro 256bitový klíč
    PBKDF2-sha256    5857966 iterací za sekundu pro 256bitový klíč
    PBKDF2-sha512    2526689 iterací za sekundu pro 256bitový klíč
    PBKDF2-ripemd160 1216445 iterací za sekundu pro 256bitový klíč
    PBKDF2-whirlpool  918192 iterací za sekundu pro 256bitový klíč
    argon2i      12 iterací, 1048576 paměti, 4 souběžných vláken (procesorů) pro 256bitový klíč (požadován čas 2000 ms)
    argon2id     12 iterací, 1048576 paměti, 4 souběžných vláken (procesorů) pro 256bitový klíč (požadován čas 2000 ms)
    #    Algoritmus |      Klíč |       Šifrování |     Dešifrování
            aes-cbc        128b      1563,4 MiB/s      6872,6 MiB/s
        serpent-cbc        128b       151,4 MiB/s      1078,9 MiB/s
        twofish-cbc        128b       298,8 MiB/s       551,6 MiB/s
            aes-cbc        256b      1172,2 MiB/s      5460,9 MiB/s
        serpent-cbc        256b       151,1 MiB/s      1073,4 MiB/s
        twofish-cbc        256b       296,1 MiB/s       548,0 MiB/s
            aes-xts        256b      5406,9 MiB/s      5406,1 MiB/s
        serpent-xts        256b       970,0 MiB/s       956,0 MiB/s
        twofish-xts        256b       512,9 MiB/s       523,7 MiB/s
            aes-xts        512b      4541,8 MiB/s      4494,1 MiB/s
        serpent-xts        512b       965,8 MiB/s       955,6 MiB/s
        twofish-xts        512b       509,7 MiB/s       523,2 MiB/s

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.