Co je připnutí certifikátu?
Připnutí certifikátu je technika zabezpečení, kdy se při vytváření zabezpečené relace přijímají pouze autorizované nebo připnuté certifikáty. Jakýkoli pokus o vytvoření zabezpečené relace pomocí jiného certifikátu se odmítne.
Historie připnutí certifikátu
Připnutí certifikátu bylo původně navrženo jako prostředek pro omezování útoků man-in-the-middle (MITM). Připnutí certifikátu se poprvé stalo populárním v roce 2011 v důsledku ohrožení certifikační autority DigiNotar, kde útočník mohl vytvořit certifikáty se zástupnými faktory pro několik vysoce profilovaných webů včetně Googlu. Chrome byl aktualizován tak, aby připnul aktuální certifikáty pro weby Google a odmítl by jakékoli připojení, pokud se zobrazil jiný certifikát. I když útočník našel způsob, jak přesvědčit certifikační autoritu k vystavování podvodného certifikátu, chrome by ho stále rozpoznal jako neplatný a připojení se zamítlo.
Přestože webové prohlížeče, jako je Chrome a Firefox, byly mezi prvními aplikacemi k implementaci této techniky, rozsah případů použití rychle rozšířen. Zařízení IoT (Internet of Things), mobilní aplikace pro iOS a Android a různorodá kolekce softwarových aplikací začala tuto techniku používat k obraně proti útokům Man-in-the-Middle.
Po několik let se připnutí certifikátu považovalo za dobrý postup zabezpečení. Dohled nad infrastrukturou veřejných klíčů (PKI) se zlepšil s transparentností v postupech vystavování veřejně důvěryhodných certifikačních autorit.
Jak adresovat připnutí certifikátu v aplikaci
Aplikace obvykle obsahuje seznam autorizovaných certifikátů nebo vlastností certifikátů, včetně rozlišujících názvů subjektů, kryptografických otisků, sériových čísel a veřejných klíčů. Aplikace můžou připnout na jednotlivé certifikáty typu list nebo koncová entita, podřízené certifikáty certifikační autority nebo dokonce certifikáty kořenové certifikační autority.
Pokud vaše aplikace explicitně určuje seznam přijatelných certifikačních autorit, může být při změně nebo vypršení platnosti certifikačních autorit pravidelně nutné aktualizovat připnuté certifikáty. Pokud chcete zjistit připnutí certifikátu, doporučujeme provést následující kroky:
Pokud jste vývojář aplikace, vyhledejte ve zdrojovém kódu některý z následujících odkazů na certifikační autoritu, která se mění nebo vyprší jeho platnost. Pokud existuje shoda, aktualizujte aplikaci tak, aby zahrnovala chybějící certifikační autority.
- Kryptografické otisky certifikátu
- Rozlišující názvy předmětu
- Běžné názvy
- Sériová čísla
- Veřejné klíče
- Další vlastnosti certifikátu
Pokud se vaše vlastní klientská aplikace integruje s rozhraními Azure API nebo jinými službami Azure a nejste si jisti, jestli používá připnutí certifikátu, obraťte se na dodavatele aplikace.
Omezení připnutí certifikátu
Praxe připnutí certifikátu se stala široce spornou, protože nese nepřijatelné náklady na agilitu certifikátů. Jedna konkrétní implementace– připnutí veřejného klíče HTTP (HPKP) je zcela zastaralé.
Vzhledem k tomu, že neexistuje jediný webový standard pro provedení připnutí certifikátu, nemůžeme nabídnout přímé pokyny ke zjištění jejího využití. I když nedoporučujeme připnutí certifikátu, měli by zákazníci vědět o omezeních, která tento postup vytvoří, pokud se rozhodnou ho používat.
- Ujistěte se, že se připnuté certifikáty dají krátce aktualizovat.
- Oborové požadavky, jako jsou požadavky na standardní hodnoty pro vystavování a správu veřejně důvěryhodných certifikátů, jako jsou požadavky na certifikační autoritu nebo fórum prohlížeče, vyžadují v určitých situacích obměně a odvolávání certifikátů až za 24 hodin.