Technické důvody chápu, ale přijde mi, že to akorát demostruje, že se kryptografie moc nesetkává s lidskými potřebami.
Prostý člověk očekává, že certifikát bude mít trvalou hodnotu, jenže v reálu se dozvídá, že musí certifikáty přegenerovávat, smlouvy v datové schránce přerazítkovávat atd. Proti své vůli se dostane do neustálého závodu s časem.
S lidskými potřebami to nemá nic společného. Pokud člověk očekává, že certifikát bude mít trvalou hodnotu, je chyba v tom očekávání. Navíc nechápu, k čemu je takové očekávání dobré. Systém důvěryhodných certifikačních autorit je založený na tom, že důvěřujete tomu, co nějaká certifikační autorita podepsala. Takže i kdyby se ten certifikát měnil každý den, prostému člověku to bude jedno, protože pořád ověřuje jenom to, zda certifikát podepsala důvěryhodná CA. Něco jiného je to u certifikátů samotné CA, protože ten certifikát reprezentuj danou CA a když skončí jeho platnost, musí se tím člověk zabývat (obstarat si nový certifikát té CA).
Tak treba u zmineneho Google pri stahovani mailu byste take nedelal nic jineho, nez overoval certifikaty. Skoro pokazde, kdyz stahuji mail, je mi receno, ze se zmenil certifikat. Tak nevim, jestli je meni kazdych 5 minut, aby meli stale cerstve certifikaty, ale spis jsou to chlivaci a nejsou schopni udrzet konzistetni certifikaty na ruznych serverech a ja dostanu certifikat podle toho, kam me zrovna hodi nejaky ten roundrobin nebo co. Za techto okolnosti je kryptografie skoro na hovno.
Key pinning v tomhle případě opravdu nepomůže, protože každý Google certifikát má i jiný klíč - v tom je celá pointa té hromady certifikátů - nesdílet privátní klíč všemi stroji v serverové farmě.
Když už tak se dá udělat pinning na intermediate certifikát (nebo SPKI, tady je to jedno) a takhle je to implementováno v Chrome HSTS preload list pro Google služby.
A to zase vy chápete špatně. Systém "důvěřuji certifikační autoritě" je už roky překonán, proto vznikly protokoly DANE, Certificate Transparency, HTTP Public Key Pinning a v různé proprietární varianty jako Chrome HSTS preload list. DANE se bohužel nerozšíří, protože se DNSSEC zásadně víc nerozšírí.
Certificate Transparency naopak zakazuje velmi časté vydávání certifikátů, protože by zaspamovaly logy. CT je vlastně obrácený certificate pinning, kde se musí vydané certifikáty kontrolovat přes monitory.
Skutečný důvod, proč se pravděpodobně rozhodli pro relativně krátké 90-denní certifikáty je, že revokace v praxi často moc dobře nefunguje. Vlastně to ta zpráva říká zaobaleně.
DANE nemá s důvěrou nebo nedůvěrou certifikačním autoritám nic společného. Certificate Transparency je obyčejný způsob kontroly certifikačních autorit, přičemž na tom, že je možné práci certifikačních autorit kontrolovat, je celý systém CA založen. HTTP Public Key Pinning má v názvu „Public Key“, nevidím tam „Certificate“.
Já neříkám, jaký je důvod pro krátké certifikáty. Jenom vysvětluju, že spoléhat se na neměnnost certifikátu je nesmysl, protože když si ověříte veřejný klíč a někam si ho připíchnete, tak už nemá smysl řešit ten certifikát vystavený k tomu veřejnému klíči. Dává to asi tak stejný smysl, jako kdybyste po někom chtěl, aby vám přinesl ukázat vysvědčení a zároveň s ním ukázat i ověřenou kopii toho vysvědčení.
DANE nemá s důvěrou nebo nedůvěrou certifikačním autoritám nic společného.
Tak pochopitelně, viz např. http://tools.ietf.org/html/rfc6394#page-4 - vono obecně ty tvoje blitky z hladu už fakt nemá smysl komentovat.