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