yescrypt
yescrypt | |
Tervező | Solar Designer (Openwall Systems) |
Fejlesztő | Solar Designer |
Megjelent | 2018-03-09 |
Előzmény | scrypt |
Kapcsolódik | PBKDF2, SHA-256, HMAC |
Blokkméret | 256 bit |
Crypt prefix | $y$ |
Weboldal |
A yescrypt egy jelszó alapú kulcslevezető eljárás (key-derivation function, KDF) és jelszó-hashelési eljárás. A tervezésének alapja Colin Percival script rendszere volt, illetve az eljárás NIST által jóváhagyott kriptográfiai algoritmusokra épül. A yescript célja tehát az, hogy egy jelszót biztonságosan (nehezen visszafejthető módon) tároljon. Ez az eljárás számos Linux disztribúció alapértelmezett eljárása.
A jelszavak nehéz visszafejthetőségét általában két fő eljáráscsoport biztosítja: a kulcslevezető eljárások a megadott „rövid” jelszavakból egy „hosszabb” jelszót készítenek, a hasítófüggvények pedig egy hosszú adatból egy rövidebb, nehezen visszafejthető lenyomtatot hoznak létre. Ez a két eljárás biztosítja azt, hogy nagy kapacitású számítógépekkel se lehessen a tárolt formából egyszerűen visszanyerni az eredeti jelszót.
A yescrypt kifejlesztésének célja az volt, hogy az elavult módszerek (SHA-1, MD5), a modern, de valamilyen szempontból nem elég hatékony módszerek (SHA-2, scrypt, bcrypt) helyett egy olyan módszert alkossanak, ami megnehezíti a modern eszközökkel (nagy teljesítményű számítógépek, FPGA/GPU alapú rendszerek, felhő alapú rendszerek) történő visszafejtést is.
A yescrypt a Password Hashing Competition (2013–2015) egyik indulója volt, és bár a versenyt az Argon2 eljárás nyerte, de benne volt a négy kiemelt eljárásban (a Catena, Lyra2 és Makwa hashek mellett), melyet kiválasztottak a 24 induló közül.
Felépítése
[szerkesztés]A yescrypt az SHA-256, HMAC és PBKDF2 kriptográfiai eljárásokon alapul, örökítve ezek visszafejtéssel szembeni ellenállóképességeit. Még akkor is, ha az SHA2 valaha sérülékenynek bizonyulna az eljárás várhatóan jelentősen csökkenti ennek hatását a visszafejthetőségre.
A hash függvény eredményének hossza 256 bit, a salt mérete pedig maximálisan 512 bit.
Az SHA256crypt és SHA512crypt eljárásokkal szemben jelentősen nagyobb salt értékeket használ (90 bit helyett akár 512 bit) illetve a hosszabb jelszavak nem okoznak eltérést a futási teljesítményben (a kulcslevezető eljárás használata miatt), így nem lehet a jelszó hosszára sem következteni a futásidőből.
Az Argon2'-höz képest előnyei:
- Az eljárás nem csak memóriafüggő, de függ a helyi cpu gyorsmemóriától is, ami nehezíti a GPU alapú visszafejtési módszereket.
- Az eljárás kevesebb alacsony szintű párhuzamosításra ad lehetőséget, mint az Argon2.
Hol használják
[szerkesztés]A yescrypt 2022-ben az alábbi rendszereken alapértelmezett jelszótárolási eljárás:
- Debian 11
- Fedora 35+ (29+ verziótól kezdve támogatott)
- Kali Linux 2021.1+
- Ubuntu 22.04+ (20.04+ verziótól kezdve támogatott)
- ALT Linux
Támogatja még:
- libxcrypt
- Fedora Core
- Red Hat Linux 9+
Források
[szerkesztés]- yescrypt - scalable KDF and password hashing scheme (angol nyelven). Openwall. (Hozzáférés: 2022. december 9.)
- yescrypt as default hashing method for shadow (angol nyelven). Fedora project. (Hozzáférés: 2022. december 9.)
- Password Hashing Competition (angol nyelven). PHC, 2015 (Hozzáférés: 2022. december 9.)