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 | forrásszöveg szerkesztése]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 SHA-2 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 | forrásszöveg szerkesztése]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 | forrásszöveg szerkesztése]- "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.