Čo je HPKP?

HPKP je zastaraná hlavička odpovede na webovú bezpečnosť, skratka znamená Piny verejného kľúča HTTP. Jeho cieľom bolo zabrániť napadnutej alebo podvodnej certifikačnej autorite vo vydaní verejne dôveryhodného, ​​ale hackermi kontrolovaného, ​​HTTPS certifikátu pre webovú stránku. V tomto scenári by hackeri boli schopní dešifrovať akýkoľvek zachytený prenos HTTPS na dotknutú webovú stránku.

Tip: Hlavičky webovej odpovede sú časti metaúdajov, ktoré server zahŕňa pri odpovediach na požiadavky. Malá podmnožina z nich sa označuje ako hlavičky zabezpečenia, pretože umožňujú a konfigurujú rôzne funkcie zabezpečenia.

Infraštruktúra certifikátov HTTPS

Certifikačná infraštruktúra, na ktorej je HTTPS postavená, je založená na sieti dôvery. Množstvo spoločností pôsobí ako certifikačné autority (CA), ktoré zverejňujú jeden alebo viac koreňových certifikátov. Sada koreňových certifikátov je zahrnutá vo všetkých zariadeniach v dôveryhodnom úložisku. Keď webová lokalita požaduje vlastný certifikát HTTPS od certifikačnej autority, certifikát je podpísaný koreňovým certifikátom. Keď váš počítač uvidí HTTPS certifikát, skontroluje podpis. Ak je certifikát podpísaný koreňovým certifikátom, ktorému dôveruje, potom váš počítač tiež dôveruje certifikátu HTTPS.

Tip: CA môže mať aj prechodné certifikáty podpísané koreňovým certifikátom. Tieto prechodné certifikáty možno použiť aj na podpisovanie HTTPS certifikátov pre webové stránky.

Úlohou certifikačnej autority je vydať certifikát len ​​vtedy, keď overí, že osoba, ktorá ich požaduje, je skutočným vlastníkom webovej stránky. Myšlienka tejto štruktúry je taká, že ak hacker vytvorí svoj vlastný certifikát pre webovú stránku, nebude podpísaný CA, ktorej váš počítač dôveruje, a preto sa vám zobrazí varovanie.

Čo urobil HPKP?

Celý certifikačný systém sa spolieha na dôveryhodnosť certifikačných autorít. Pôvodne však neexistovala žiadna ochrana proti tomu, aby bola CA kompromitovaná hackermi alebo nečestným a zvolila si nesprávne vydávanie certifikátov.

HPKP bol navrhnutý ako ochrana proti tejto možnosti. Umožňuje webovým stránkam špecifikovať exkluzívny zoznam certifikátov, ktorým možno pre webovú stránku dôverovať v procese nazývanom pripnutie. Bolo možné pripnúť koreňový alebo prechodný certifikát, čo v podstate umožnilo jedinej CA vydávať certifikáty pre webovú stránku. Podarilo sa tiež pripnúť certifikát samotnej webovej stránky, čím sa zabránilo aj tej správnej CA vo vydaní iného platného certifikátu.

Technicky nie je pripnutý samotný certifikát, ale hash kľúča certifikátu. Hash je jednosmerná kryptografická funkcia. To znamená, že je možné overiť, či sa certifikát predložený prehliadaču webovou stránkou zhoduje s pripnutým certifikátom, ale nie je možné použiť hash na vytvorenie platného certifikátu.

HPKP vyžadovalo pripnutie aspoň dvoch kľúčov, z ktorých aspoň jeden musí byť záložný a nie v aktuálnom reťazci certifikátov. Táto záloha vám umožňuje nakonfigurovať hladké odovzdanie na nový certifikát, ktorý nebráni používateľom v pripojení.

Ak sa certifikát HTTPS predložený prehliadaču webovou stránkou nezhoduje s jedným z pripnutých certifikátov, prehliadač je povinný ho odmietnuť a zabrániť používateľovi obísť chybovú správu certifikátu.

Štruktúra HPKP

Hlavička HPKP má tri povinné časti a dve voliteľné. Hlavička musí mať názov “Public-Key-Pins”, ďalšie dva alebo viac certifikátov musí mať pripnutý hash SHA256 kódovaný base64 vo formáte 'pin-sha256=””'. Poslednou povinnou časťou je „maximálny vek“, čo je počet sekúnd, počas ktorého by mal prehliadač uplatňovať obmedzenia.

Tip: SHA256 je hašovací algoritmus, ktorý používa HPKP. Base64 je znaková sada so 64 znakmi: 0-9, az, AZ a špeciálnymi znakmi „+“ a „/“. „=“ sa používa na vyplnenie posledných dvoch znakov, ak je to potrebné. 

Voliteľné nastavenia sú „includeSubDomains“ a „report-uri“. „includeSubDomains dáva pokyn prehliadaču, aby aplikoval ochranu HPKP na akúkoľvek subdoménu aktuálnej webovej lokality počas trvania časovača „max-age“. „report-uri“ je funkcia, ktorá umožňuje špecifikovať webovú stránku, na ktorú možno posielať chybové hlásenia, a je navrhnutá tak, aby pomohla identifikovať a vyriešiť problémy.

Existuje druhý variant hlavičky s názvom „Public-Key-Pins-Report-Only“. Všetko je rovnaké, ak sa však nájde chyba, nevykoná sa žiadna akcia okrem vrátenia chybovej správy do prehliadača a do „report-uri“, ak je nakonfigurovaný. Variant iba pre zostavy bol navrhnutý tak, aby umožnil úplné testovanie hlavičky pred nasadením, kde by chyby nespôsobili používateľom problémy.

Problémy s HPKP

HPKP bol zastaraný z dvoch hlavných dôvodov. Existovali dva spôsoby, ktorými by hlavička mohla spôsobiť vážne problémy webovej stránke, ktorá ju používa, tieto boli pomenované HPKP Suicide a Ransom PKP.

Samovražda HPKP je problém, pri ktorom legitímni vlastníci webových stránok stratia prístup ku všetkým pripnutým kľúčom. Môže k tomu dôjsť v dôsledku náhodného vymazania, hackerstva, vírusov, poškodenia údajov alebo z mnohých iných dôvodov. Vzhľadom na zložitosť správnej implementácie HPKP a najmä jeho aktualizácie počas rotácií certifikátov je pomerne jednoduché urobiť chybu v konfigurácii. S HPKP však, ak sa niečo pomýlite, všetkým nedávnym návštevníkom vašej webovej stránky bude zamedzený prístup k vašej webovej lokalite po dobu „max-age“ časovača. Webová stránka smashingmagazine.com zverejnila článok s podrobnosťami o svojich skúsenostiach s presne týmto problémom, ktorý v podstate odstavil stránku pre väčšinu návštevníkov na štyri dni pred nasadením opravy.

Ransom PKP je teoretický útok, pri ktorom hacker získa prístup k webovému serveru, potom ukradne všetky dôveryhodné certifikáty a kľúče a potom požaduje výkupné za ich vrátenie. V bežnom nastavení by ste mohli len vygenerovať nové kľúče a certifikáty a webovú stránku obnoviť a spustiť za menej ako hodinu. Pri povolenom HPKP sú však tieto kľúče pripnuté, ak nemôžete používateľom poskytnúť pripnutý certifikát, nebudú mať prístup na webovú stránku počas trvania časovača „max-age“. V závislosti od konfigurácie a existencie záloh nemusí byť možné tento problém vyriešiť.

S oboma týmito problémami by noví používatelia mohli pristupovať na webovú stránku ako zvyčajne, pretože by nikdy nevideli starú hlavičku HPKP, ktorá inštruovala ich prehliadač, aby dôveroval iba teraz chýbajúcim certifikátom. Všetci nedávni návštevníci, ako sú stáli zákazníci a čitatelia, by však museli čakať na celú dobu trvania časovača „max-age“.

Vzhľadom na závažnosť týchto problémov a zložitosť konfigurácie a údržby bolo použitie hlavičky HPKP veľmi nízke. Nakoniec hlavné prehliadače súhlasili s úplným zrušením podpory a v priebehu niekoľkých rokov bola hlavička HPKP všeobecne zastaraná.


Leave a Comment

Ako požiadať o potvrdenie o prečítaní v Gmaile

Ako požiadať o potvrdenie o prečítaní v Gmaile

Naučte sa trik, ako požiadať o potvrdenie o prečítaní e-mailových správ, ktoré odošlete z účtu Gmail.

NordVPN: Zakázať automatické obnovenie

NordVPN: Zakázať automatické obnovenie

Zistite, ako zastaviť službu NordVPN v automatickom obnovení vášho účtu.

Ako nájsť dátum, kedy ste sa (alebo niekto iný) pripojili k Facebooku

Ako nájsť dátum, kedy ste sa (alebo niekto iný) pripojili k Facebooku

Zistite, ako získať informácie o tom, kedy ste sa pripojili k Facebooku. Užite si jednoduchý spôsob, ako sledovať svoj účet a ostatných.

Ako hľadať priateľov na Facebooku podľa miesta, zamestnania alebo školy

Ako hľadať priateľov na Facebooku podľa miesta, zamestnania alebo školy

Zistite, ako efektívne vyhľadávať priateľov na Facebooku podľa miesta, zamestnania alebo školy. Získajte užitočné tipy na hľadanie vašich známych a spojení.

Prečo váš ovládač PS4 DualShock bliká bielo, modro, červeno a oranžovo

Prečo váš ovládač PS4 DualShock bliká bielo, modro, červeno a oranžovo

Počas hrania na Playstation 4 ste si pravdepodobne všimli rôzne farby blikajúce na zadnej strane ovládača Dualshock 4. Zistite, čo znamenajú rôzne farby a ako vyriešiť problémy s ovládačom.

Ako povoliť alebo zakázať živé prepisy v prehliadači Google Chrome

Ako povoliť alebo zakázať živé prepisy v prehliadači Google Chrome

Živý prepis je praktická funkcia dostupnosti v Google Chrome. Naučte sa, ako ju povoliť alebo zakázať podľa vašich potrieb.

Ako opraviť nefunkčnosť reCAPTCHA

Ako opraviť nefunkčnosť reCAPTCHA

Zistite, ako opraviť problém s nefunkčnosťou reCAPTCHA, aby ste mohli úspešne odosielať online formuláre a znížiť spam na svojich stránkach.

Ako sťahovať a inštalovať mody v Minecrafte

Ako sťahovať a inštalovať mody v Minecrafte

Minecraft je najpredávanejšia hra všetkých čias. Ak sa chcete naučiť, ako sťahovať a inštalovať mody v Minecrafte, prečítajte si našu kompletnú príručku.

Ako odstrániť zlomy strán a zlomy sekcií v Dokumentoch Google

Ako odstrániť zlomy strán a zlomy sekcií v Dokumentoch Google

Konce strán a sekcií v Dokumentoch Google umožňujú väčšiu kontrolu nad rozložením a štruktúrou vášho obsahu, ale môžu tiež spôsobiť problémy. Naučte sa efektívne odstrániť zlomy strán a sekcií, aby ste dosiahli lepšie formátovanie dokumentov.

Ako zabrániť Facebooku v prístupe k mojim fotografiám

Ako zabrániť Facebooku v prístupe k mojim fotografiám

V tejto príručke vám presne ukážeme, ako môžete Facebooku zablokovať prístup k vašim fotografiám a chrániť vaše súkromie.