Rozhraní Crypt je jedním z nejpopulárnějších rozhraní určených pro ochranu ukládaných hesel.
Původní verze Crypt z Unix V7 (Unix Version 7) pochází z roku 1979. V této době podporovala jenom jednosměrné ukládání hesel pomocí upravené verze DES algoritmu. Ve starších verzích se používalo ukládání hesel v otevřené formě. Zavedení rozhraní Crypt bylo významným vylepšením a postupně se rozšiřovala o další algoritmy. Následně se začalo toto rozhraní používat i pro autentizaci jinými systémy, na což nebylo primárně určeno. Přibližně v roce 2010 se zjistilo, že aktuálně používané metody nestačí požadavkům a začaly se hledat náhrady. Výraznou změnu přinesl Password Hashing Competition, který začal v roce 2013 a byl ukončen v roce 2015. Cílil na hledání specifické třídy pomalých hash funkcí. Tedy skupiny funkcí, pro které je obtížné až nemožné vytvořit duhovou tabulku (Rainbow-table, forma konverze času výpočtu za uložená data, tzv. computing time-memory trade-off).
Další rozšíření přinesl glibc 2.7, kdy došlo k přidání dalšího parametru, obsahující uživatelem definovaný počet rund hash funkce. V současnosti crypt interface používá obecný formát záznamu řetězce hashe hesla '$ID$parameter_2$parameter_3$password_hash'. Počet parametrů se v tomto řetězci může lišit dle zvoleného ID algoritmu (více viz přehled). Předchozí verze ale tuto možnost nenabízely, u starších systémů lze proto stále narazit na strukturu '$ID$parameter_2$password_hash'. V tomto případě je sůl vkládána zpravidla jako parametr č.2.
Algoritmus | ID Schematu | Schéma | Počet rund | Sůl | Popis |
DES | _ | BSDI | 1 | 24b, parametr č.3 | Slabé a zastaralé |
DES | DES | 25 | 12b, parametr č.3 | Slabé a zastaralé | |
MD5 | $1$ | MD5 | parametr č.2 | Slabé a zastaralé | |
Blowfish | $2$ | bcrypt | parametr č.2 | součást hash | Heslo <72 znaků, zastaralé |
Blowfish | $2a$ | bcrypt | parametr č.2 | součást hash | Heslo <72 znaků, CVE-2011-2483, zastaralé |
Blowfish | $2b$ | bcrypt | parametr č.2 | součást hash | Heslo <72 znaků, zastaralé |
Blowfish | $2x$ | bcrypt | parametr č.2 | součást hash | Heslo <72 znaků |
Blowfish | $2y$ | bcrypt | parametr č.2 | součást hash | Heslo <72 znaků |
MD4 | $3$ | NTHASH | Slabé, MD4(UNICODE(password)) | ||
SHA1 | $4$ | SHA1 | parametr č.2 | parametr č.3 | Slabé |
SHA2 | $5$ | SHA2-256 | parametr č.2 | parametr č.3 | |
SHA2 | $6$ | SHA2-512 | parametr č.2 | parametr č.3 | |
scrypt | $7$ | scrypt | parametr č.2 | ||
MD5 | $md5,rounds=x$ | Solaris MD5 | parametr č.2 | parametr č.3 | Slabé |
SHA1 | $sha1$ | PBKDF1 with SHA2-256 | parametr č.2 | parametr č.3 | Slabé |
SHA2 | $sha256$ | PBKDF2 with SHA2-256 | parametr č.2 | parametr č.3 | |
SHA2 | $sha512$ | PBKDF2 with SHA2-512 | parametr č.2 | parametr č.3 | |
ARGON2D | $argon2d$ | Argon2d | parametr č.2 | parametr č.3 | |
ARGON2I | $argon2i$ | Argon2i | parametr č.2 | parametr č.3 | |
yescrypt | $gy$ | ghost-yescrypt | parametr č.2 | parametr č.3 | Oslabené - Streebog S-Box |
yescrypt | $y$ | yescrypt | parametr č.2 | parametr č.3 |
V současnosti Crypt interface využívají jako "lokální autentizaci" různé webové, poštovní a databázové systémy.
Toto rozhraní opírají o svoje vlastní úložiště hesel, případně systémové nebo hierarchické databáze (LDAP). Ale
uvedené funkce jsou určeny pro ukládání a ověřování hashí hesel, kde se jedná o funkce se zpětnými vrátky, jinak
také jednosměrné funkce. Jejich rozšíření pro ověřování v síti bylo nešťastné, byť se jedná o výrazně bezpečnější
postup než v případě hesel v otevřeném textu. Autentizační mechanismus musí zajistit podstatně více požadavků,
než jenom jednosměrné uložení.
Z dnešního pohledu je používání starých technologií nevhodné. Současné používání čistých hash funkcí je nedostatečné,
stejně jako je nedostatečné použití HMAC či PBKDF odvození. Z hlediska bezpečnosti tak je nutné se soustředit pouze
na scrypt, yescrypt a Argon. Na starších implementacích lze "vzít na milost" starší bcrypt. Přes archaickou konstrukci
je stále účinný, přestože z hlediska kryptografie by bylo vhodné ho nahradit za modernější systémy.
Již zmiňované PHC (Password Hashing Competition) zaměřené na hledání pomalých hash funkcí (Slow Hash Functions)
přineslo zajímavý pokrok. Některé z těchto funkcí, určených pro zabezpečení klíčového materiálu, byly schopné díky
návrh odolávat, přestože na první pohled je jejich architektura lehce archaická. Příkladem je bcrypt, založený na
algoritmu BlowFish (přesněji EksBlowfish - Expensive Key Schedule Blowfish), přestože vlastní Blowfish se z hlediska
kryptografie považuje za zastaralý. Novinkou v této oblasti byl algoritmus scrypt, postavený nad PBKDF2 a HMAC-SHA256
a algoritmem Salsa20/8 (předchůdce ChaCha20). Algoritmus scrypt vytváří vyšší paměťovou náročnost, která slouží jako
další bariéra pro útočníka. Dalším podobným algoritmem je yescrypt, který opět používá PBKDF2 a HMAC-SHA256. Oproti
algoritmu scrypt má podstatně vyšší odolnost. Výherce, algoritmus Argon je postaven nad v té době novou hashovací
funkcí Blake2 (inspirací byly algoritmy ChaCha20 a Salsa).
V rámci této soutěže byly porovnávány v té době dostupné funkce jako je bcrypt, scrypt, yescrypt, Catena, Lyra2,
Makwa, Argon2 a další. V tomto ohledu exceluje funkce Argon2, která má několik variant:
Argon2i – odolné proti útoku postranním kanálem.
Argon2d – odolné proti útokům „bruteforce cracking“, zpravidla za pomoci grafických karet.
Argon2id – kompromisní kombinace uvedených vlastností.
1. Úvodní ustanovení
1.1. Tyto všeobecné obchodní podmínky jsou, není-li ve smlouvě písemně dohodnuto jinak, nedílnou součástí všech smluv týkajících školení, pořádaných nebo poskytovaných školitelem, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, se sídlem Pod Harfou 938/58, Praha 9, zapsané u Úřadu městské části Praha 9 (dále jen „školitel“).2. Vznik smlouvy přihlášením ke kurzu
2.1. Přihláškou se rozumí jednostranný úkon objednatele adresovaný školiteli prostřednictvím datové schránky s identifikací euxesuf, e-mailu na adresu register@cryptosession.cz nebo register@cryptosession.info, internetových stránek cryptosession.cz, cryptosession.info nebo kontaktním telefonem +420 602 427 840.3. Zánik smlouvy zrušením přihlášky
3.1. Přihláška může být objednatelem zrušena pomocí e-mailu, nebo pomocí datové schránky.4. Cena a platební podmínky
4.1. Odesláním přihlášky objednatel akceptuje smluvní cenu (dále jen účastnický poplatek) uvedenou u daného kurzu.5. Podmínky školení
5.1. Školitel je povinnen informovat objednatele 14 dní dopředu o místě a času školení, včetně termínu zahájení a ukončení denního programu.6. Reklamace
6.1. Pokud je účastník hrubě nespokojen s průběhem kurzu, je školitel o této informaci vyrozuměn.7. Autorská práva k poskytnutým materiálům
7.1. Školicí materiály poskytnuté školitelem v rámci konání školení splňují znaky autorského díla dle zákona č. 121/2000 Sb.8. Zodpovědnost
8.1. Školitel nepřebírá odpovědnost za nedostatky ve službách kterékoliv třetí strany, kterou využívá při školeních.9. Platnost podmínek
9.1 Tyto všeobecné obchodní podmínky jsou platné a účinné od 1. října 2024.Informace o sběru a zpravování osobních údajů
Zpracovatel Jan Dušátko (dále jen „Správce“), dle nařízení Evropského parlamentu a Rady (EU) č. 2016/679 o ochraně fyzických osob v souvislosti se zpracováním osobních údajů a o volném pohybu těchto údajů a o zrušení směrnice 95/46/ES (obecné nařízení o ochraně osobních údajů, dále jen „Nařízení“) zpracovává osobní údaje. Dále jsou rozepsané jednotlivé osobní údaje, které jsou součástí zpracování při konkrétních aktivitách u této webové prezentace a v rámci obchodního styku.Informace o záznamech přístupu na webovou prezentaci
Tento web nesbírá žádné cookies. Stránka nepoužívá ani žádné analytické scripty třetích stran (sociální sítě, cloud provideři). Z těchto důvodů je také nabízena volba pro zobrazení mapy formou odkazu, kde primárním zdrojem je OpenStreet a alternativy pak často používané Mapy společnosti Seznam, a.s., případně Google Maps společnosti Google LLC Inc. Využití jakéhokoliv z těchto zdrojů je zcela na libovůli uživatelů těchto stránek. Správce nenese odpovědnost za sběr dat realizovaný těmito společnostmi, neposkytuje jim data o uživatelích a na sběru dat nespolupracuje.Informace o kontaktování provozovatele stránek
Formulář pro kontaktování provozovatele stránek (správce) obsahuje následující osobní údaje: jméno, příjmení, e-mail. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu nezbytnou k naplnění účelu, maximálně pak po dobu jednoho roku, pokud si uživatel neurčí jinak.Informace o objednávkovém formuláři
Pro případ zájmu o objednávku formulář obsahuje více údajů, tj. jméno, příjmení, e-mail a kontaktní údaje na organizaci. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu jednoho roku, pokud si uživatel neurčí jinak. V případě, kdy na základě této objednávky dojde k uzavření obchodního vztahu, budou nadále správcem udržovány pouze informace vyžadované českými zákony na základě obchodních vztahů (název a adresa společnosti, číslo bankovního účtu, typ kurzu a jeho cena).Informace o dokumentu o absolovování kurzu
V rámci kurzu je vydán zpracovatelem dokument o absolovování kurzu. Tento dokument obsahuje následující údaje: jméno a příjmení studenta, název a datum absolovování kurzu a jméno zaměstnavatele. Uvedené informace se následně používají pro tvorbu lineárního stromu hashí (nemodifikovatelný záznam). Tato databáze obsahuje pouze informace o poskytnutých jménech a názvech společností, které mohou a a nemusí odpovídat realitě a je udržován zpracovatelem pro případné opětovné vystavení nebo ověření vydání dokumentu.Práva subjektu osobních údajů
Zákazník nebo návštěvník tohoto webu má možnost požádat o informace o zpracování osobních údajů, právo požadovat přístup k osobním údajům, případně právo požádat o opravu nebo výmaz veškerých dat, které by o něm byly vedeny. V případě výmazu tento požadavek není možné splnit pouze pokud se nejedná o data nezbytně nutná v rámci obchodního styku. Zákazník nebo návštěvník webu má dále právo na vysvětlení týkající se zpracování jeho osobních údajů, pokud tento zjistí nebo se domnívá, že zpracování je prováděno v rozporu s ochranou jeho soukromého a osobního života nebo v rozporu s platnými právními předpisy a právo požadovat odstranění takto vzniklého stavu a zajištění nápravy.