Certificate Transparency (CT) Naplók

Utoljára frissítve: | Dokumentáció megtekinthető

Megjegyzés: Az angol nyelvű változatot a fordítás óta frissítették () Megtekintés angolul

A Certificate Transparency (CT) a TLS tanúsítványok kiállításának naplózására és felügyeletére szolgáló rendszer. A CT jelentősen javítja mindenki képességét a tanúsítványok kibocsátásának nyomon követésére és tanulmányozására, és ezek a képességek számos javulást eredményeztek a hitelesítésszolgáltatói ökoszisztémában és a webes biztonságban. Ennek eredményeképpen a CT gyorsan kritikus infrastruktúrává válik.

A Let's Encrypt minden általa kiállított tanúsítványt átad a CT naplóknak. Évente megosztott két CT naplót is üzemeltetünk Oak és Testflume néven. Minden nyilvánosan megbízható tanúsító hatóságtól szívesen vesszük, ha beküld a naplóinkba. A CT naplóinkban már számos tanúsító hatóság gyökértanúsítványa szerepel. Lépjen kapcsolatba velünk e-mailben az új gyökértanúsítványok naplóinkhoz való hozzáadásával kapcsolatban, ha az öné még nem szerepel a naplóban.

Iratkozzon fel a közösségi fórum CT bejelentések kategória értesítéseire, hogy értesüljön a CT naplóinkkal kapcsolatos fontosabb bejelentésekről.

Támogatás

Szeretnénk köszönetet mondani a következő partnereknek a Let's Encrypt CT napló nagylelkű támogatásáért. Ha az Ön szervezete segíteni szeretne nekünk e munka folytatásában, kérjük, fontolja meg a szponzorálást vagy adományozást.

Sectigo

Architektúra

Nézze meg a blogunkat, hogy megtudja Hogyan futtatja a Let's Encrypt a CT naplókat!

Naplókövetés

A Let's Encrypt létrehozott egy nyílt forráskódú CT naplókövető eszközt CT Woodpecker néven. Ezt az eszközt saját naplóink stabilitásának és megfelelőségének ellenőrzésére használjuk, és reméljük, hogy mások is hasznosnak találják majd.

CT naplók

Termékek

Tesztelés


Napló műveletek

Egy adott CT naplóhoz tartozó root-ok felsorolásához a következő parancsot futtathatja az Ön által választott terminálban:

$ for i in $(curl -s https://oak.ct.letsencrypt.org/2020/ct/v1/get-roots | jq -r '.certificates[]'); do
    echo '------'; base64 -d <<< "${i}" | openssl x509 -inform der -noout -issuer -serial
done

A tanúsítványok CT-naplóba történő benyújtását jellemzően a tanúsító hatóságok végzik. Ha ezzel szeretne kísérletezni, kezdje azzal, hogy lekér egy tetszőleges PEM-kódolású tanúsítványt kedvenc weboldalunkról. Másolja ki és illessze be a következő blokkot a terminálba.

$ echo | \
openssl s_client \
    -connect "letsencrypt.org":443 \
    -servername "letsencrypt.org" \
    -verify_hostname "letsencrypt.org" 2>/dev/null | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.crt

Mielőtt egy tanúsítványt elküldhetnénk, azt egy speciális struktúrában JSON-kódolással kell ellátni. A feladat elvégzéséhez használhatja a https://crt.sh/gen-add-chain által biztosított JSON-generátort. A crt.sh segédprogram egy JSON csomagot fog visszaadni. Töltse le a csomagot a számítógépére, nevezze át a fájlt, ha szükséges, és adja ki a következő parancsot az add-chain művelet végrehajtásához (RFC 6962 4.1 szakasz), hogy a tanúsítványt elküldje egy CT naplóba. A kimenet tartalmazni fog egy aláírást, amely valójában egy SCT. Az aláírásról hamarosan bővebben.

$ curl \
    -X POST \
   --data @example-json-bundle.json \
    -H "Content-Type: application/json" \
    -H "User-Agent: lets-encrypt-ct-log-example-1.0" \
   https://oak.ct.letsencrypt.org/2020/ct/v1/add-chain
{"sct_version":0,"id":"5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=","timestamp":1576689972016,"extensions":"","signature":"BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E"}

Annak megerősítéséhez, hogy a CT naplót az Oak 2020 shard írta alá, használjuk a fenti parancs id mezőjét, és futtassuk le a következő paranccsal. Az eredmény a CT-napló naplóazonosítója lesz.

$ base64 -d <<< "5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=" | xxd -p -c 64 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]'
E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E

Az aláírás mező segítségével ellenőrizhetjük, hogy a tanúsítványt elküldték-e egy naplóba. A SCT deep dive guide segítségével tovább dekódolhatja ezt az értéket.

$ base64 -d <<< "BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E" | xxd -p -c 16 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]'
04:03:00:47:30:45:02:21:00:E0:E9:AE:4D:C7:ED:F4
9A:B7:5C:BB:5C:75:9C:FD:5E:29:D7:0A:F6:04:63:54
5D:49:02:02:5D:AC:8C:27:ED:02:20:7B:AE:8E:42:81
2E:64:33:E4:29:7F:54:6E:82:DF:9E:1C:3F:D8:31:5B
47:5F:80:C5:81:F8:0D:B2:1E:2F:84