Já mám takové možná hloupé přání. Nejraději bych v prohlížeči dal důvěru nějaké CA jen pro zadané weby.
A z mírně jiného soudku – nepřišel na to, jak globálně pro všechny uživatele Firefox na konkrétním systému definovat důvěryhodné CA (globálně z těch předdefinovaných téměř vše vyházet a přidat si tam nějakou svoji).
%PROGRAMFILES%\Mozilla Firefox\nss\certutil.exe
Ale certstore u Firefoxu je v uživatelském profilu, takže je třeba udělat zásah u každého uživatele zvlášť, nejlíp pomocí logon skriptu. Nenašel jsem možnost, jak změnit „systémový“ seznam CA pro Firefox. Možná ani takový není, a ty výchozí se nakopírují do profilu při jeho vytvoření. Nevím, proč FF nevyužívá na Windows systémové úložiště, které je řešené poměrně dobře.
Jinak je dobře, že takový článek vyšel. Sice je popsaný problém známý už dlouho, ale pořád se bezpečnost současné implementace SSL důvěryhodných autorit přeceňuje. Jestliže nějaký ISP může udělat MITM útok, který je pro většinu lidí nedetekovatelný, bezpečné to není.
Věřím v tomto směru v budoucnost technologie DNSSEC, kdy momentálně probíhají diskuse o možnostech využití právě pro ukládání informací o SSL certifikátech.
Pokud bude existovat standard, jak pomocí záznamu v DNS pro danou doménu např. zakázat všechny implicitně důvěryhodné certifikáty a povolit jen určitou CA, nebo do DNS rovnou dát CA certifikát, je šance, že prohlížeče to začnou během několika nových verzí podporovat. Na straně správců serverů by to také nemusel být problém – pro klienty bez podpory toho standardu by se nic nezměnilo.
„Pokud bude existovat standard, jak pomocí záznamu v DNS pro danou doménu např. zakázat všechny implicitně důvěryhodné certifikáty a povolit jen určitou CA,…“
Hmm, to je zajímavá myšlenka. Je přece logické, že provozovatel Webu ví u koho si nechal svůj klíč podepsat a hodně by se tím eliminovala možnost podvržení certifikátu.
„..nebo do DNS rovnou dát CA certifikát..“
To je velmi velmi zajímavá myšlenka – alespoň pro určité skupiny webů (například těch domácích či menších podnikových). Vlastně by to znamenalo, že dnešní certifikační autority by se staly u takových webů zbytečné. Člověk by si mohl vytvářet pro své weby certifikáty podepsané svoji CA. To, že tato CA je pro příslušné weby důvěryhodná by zajistilo DNSSEC. To je super – nyní mi začíná DNSSEC dávat smysl. Uff, dokonce by se tím dalo řešit mailování – servery by poštu podepisovali, že pochází z jejich domény a na druhé straně by se vědělo, že to opravdu pochází z domény z které se to tváří.
Ad mail: tak od toho je DKIM, která pár let už funguje.
Authentication-Results: muj_server; dkim=pass (1024-bit key)
header.i=@gmail.com; dkim-asp=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:received:mime-version:received:in-reply-to
:references:from:date:message-id:subject:to:content-type
bh=kV3I36Y5b5LajPik0WR3TDWkEfzrpsuH6POA1C/UlA8=;
b=M9Fi90VhOChZMw…
http://www.dkim.org/
http://www.rfc-editor.org/rfc/rfc5672.txt
Odstraneni pro vsechny uzivatele z Firefoxu vyzaduje rebuild Firefoxu, presneji jeho soucasti NSS, certifikaty jsou zadratovany natvrdo v libsoftokn3.so, resp. softokn3.dll. Zavisi od balickovaciho systemu, jestli je tento soubor primo soucasti Firefoxu nebo nss/libnss (windows verze bude obsahovat softokn3.dll nejspis primo v instalatoru FF).
V uzivatelskem profilu se nachazi soubor cert8.db, v nastaveni ktereho lze „overridnout“ nastaveni duvery CA v NSS. Soucasti NSS je nastroj certutil
, kterym lze manipulovat s timhle souborem, napr. certutil -d adresar_kde_je_cert8.db_soubor -L
vylistuje uzivatelske nastaveni CA.
V NSS se nachazi predinstalovane certifikaty v tomhle souboru:
nss-3.12.6/mozilla/security/nss/lib/ckfw/builtins/certdata.txt