Certificate Transparency Membuat Misissuance Dapat Diaudit Publik

Browser dapat memvalidasi certificate chain TLS tetapi tetap menghadapi masalah struktural pada PKI: certification authority tepercaya dapat menerbitkan sertifikat valid lain untuk domain yang sama tanpa diharapkan operator domain. Path validation biasa memeriksa sertifikat yang disajikan pada koneksi saat ini. Proses itu tidak menyediakan inventaris global atas sertifikat yang diterbitkan di tempat lain.

Certificate Transparency (CT) menambahkan audit trail publik. Sertifikat TLS publik atau precertificate dapat dikirim ke CT log yang memelihara Merkle tree append-only. Log yang menerima submission mengembalikan Signed Certificate Timestamp (SCT), yaitu komitmen bertanda tangan yang terkait dengan entry tersebut. Monitor dapat memeriksa isi log untuk sertifikat yang relevan, sedangkan auditor dapat memeriksa bukti inclusion dan consistency.

CT tidak membuat sertifikat menjadi tepercaya hanya karena sertifikat tersebut tercatat di log. Perannya adalah memberi visibilitas dan akuntabilitas terhadap penerbitan serta operasi log.

SCT adalah komitmen dari log

Ketika CT log menerima submission sertifikat atau precertificate, log mengembalikan SCT. SCT mengidentifikasi log, membawa timestamp dan extension, serta memuat signature yang dibuat oleh log.

Secara konseptual, pertukarannya seperti ini:

submitter ---- certificate/precertificate ----> CT log
          <----------- signed SCT -------------

SCT menjadi bukti bahwa log menerima submission dan berkomitmen memasukkan entry terkait dalam batas Maximum Merge Delay. SCT bukan hasil validasi certificate chain, bukan hasil pemeriksaan revocation, dan bukan pernyataan bahwa operator domain mengotorisasi penerbitan tersebut.

Pemisahan ini menjaga properti keamanan tetap berbeda. TLS client masih menjalankan validasi sertifikat normal. Bukti CT kemudian dapat dievaluasi berdasarkan kebijakan CT milik client sebagai persyaratan tambahan.

Merkle tree append-only membuat riwayat dapat diperiksa

CT log disusun sebagai Merkle tree append-only. Entry menjadi leaf, lalu hash digabungkan ke atas sampai menghasilkan root hash. Signed tree head mengikat log pada keadaan tree tertentu.

Struktur tree mendukung proof yang ringkas. Inclusion proof dapat menunjukkan bahwa entry tertentu berada dalam tree yang direpresentasikan oleh root tertentu. Consistency proof dapat menunjukkan bahwa tree yang lebih baru memperluas tree sebelumnya tanpa menulis ulang riwayat lama.

             root
            /    \
          H01    H23
         /  \    /  \
        H0  H1  H2  H3
        |   |   |   |
       C0  C1  C2  C3

Verifier tidak memerlukan setiap leaf hanya untuk memeriksa satu inclusion proof. Verifier menggabungkan hash leaf target dengan node pada path yang disediakan, lalu membandingkan root hasil perhitungan dengan tree head yang terautentikasi.

Properti ini membuat perubahan diam-diam dapat menghasilkan bukti kriptografis. Namun, properti tersebut tidak sendirian mencegah setiap bentuk log equivocation; perbandingan view antar-observer independen tetap relevan untuk memeriksa apakah log menyajikan riwayat yang tidak konsisten.

Logging mengekspos penerbitan tanpa memberikan otorisasi

Kemunculan sertifikat di CT berarti sertifikat atau precertificate terkait telah dikirim ke sebuah log. Fakta tersebut bernilai bagi operator domain yang memantau nama di bawah kendalinya.

Misalnya, operator hanya mengharapkan sertifikat dari issuance pipeline tertentu. Monitor dapat mengawasi entry CT yang cocok dengan nama domain tersebut dan menandai issuer, key, pola nama, atau kejadian penerbitan yang tidak diharapkan untuk diperiksa. Log menyediakan bukti yang dapat membuat penerbitan tersembunyi menjadi terlihat.

Respons terhadap kejadian tetap berlangsung di luar CT. Operator mungkin perlu memeriksa catatan CA, mencabut sertifikat, memperbaiki kontrol akun atau DNS, atau mengubah issuance policy. CT menyediakan bukti yang dapat diamati; CT tidak melakukan incident containment.

Batas yang sama berlaku pada otorisasi. Sertifikat yang tercatat tetap dapat merupakan hasil misissuance. Logging publik membuat kejadian tersebut dapat diaudit, bukan menjadikannya sah secara retroaktif.

Validasi SCT dan inclusion adalah pemeriksaan berbeda

Signature SCT dapat divalidasi dengan public key dan parameter milik log terkait. Pemeriksaan itu memastikan komitmen bertanda tangan berasal dari log tersebut dan terkait dengan material sertifikat yang relevan sesuai aturan protokol.

Bukti inclusion menjawab pertanyaan lain: apakah entry yang dijanjikan benar-benar menjadi bagian dari keadaan append-only tree? Merkle inclusion proof yang terikat ke signed tree head dapat membuktikan hubungan tersebut.

Memisahkan pemeriksaan ini penting secara operasional:

certificate + SCT
      |
      +-- validate certificate chain
      |
      +-- validate SCT for this certificate material
      |
      +-- evaluate CT policy
      |
      +-- audit inclusion when required

RFC 9162 mengizinkan TLS server menyajikan SCT bersama inclusion proof yang sesuai. Client yang mengambil inclusion proof langsung dari log dapat mengungkap sertifikat server yang sedang diperiksa, sehingga pilihan mekanisme pengiriman juga dapat membawa konsekuensi privasi.

Precertificate memungkinkan logging sebelum penerbitan final

CT mendukung precertificate agar CA dapat memperoleh komitmen log sebelum membuat sertifikat final. Protokol menentukan representasi material sertifikat sehingga SCT untuk precertificate kemudian dapat divalidasi terhadap sertifikat terbitan yang sesuai.

Mekanisme ini menghindari masalah urutan ketika sertifikat final perlu memuat bukti yang baru dapat dibuat setelah sertifikat final yang sama sudah tersedia. CA dapat mengirim precertificate, menerima SCT, lalu memasukkan informasi transparency yang sesuai ke alur penerbitan.

Validasi tetap harus mengikat SCT ke material sertifikat dan konteks issuer yang tepat. Memperlakukan SCT sebagai approval token portabel yang terlepas dari input tersebut akan menghilangkan binding yang memberi arti pada komitmen itu.

Monitoring mengubah log publik menjadi sinyal keamanan

CT memberi nilai operasional terbesar ketika data log dihubungkan dengan informasi kepemilikan dan prosedur respons. Mengumpulkan entry tanpa menentukan nama, issuer, key, atau pola penerbitan yang relevan hanya menghasilkan arsip, bukan kontrol.

Monitoring pipeline dapat memisahkan penerbitan yang diharapkan dari kejadian yang memerlukan pemeriksaan:

new CT entries
      |
      v
match managed domains
      |
      +-- expected issuer and policy ---> record
      |
      +-- unexpected attributes --------> investigate

Wildcard name, delegated subdomain, beberapa CA yang disetujui, rotasi sertifikat, dan migrasi infrastruktur dapat mengubah himpunan yang diharapkan. Karena itu, aturan alert memerlukan konteks yang cukup agar renewal sah tidak selalu dianggap sebagai insiden, sekaligus tetap menampilkan deviasi yang material.

Monitoring juga mendapat manfaat dari bukti yang disimpan secara tahan lama. Menyimpan sertifikat, SCT atau log entry yang relevan, waktu observasi, dan hasil investigasi mempermudah korelasi berikutnya dibanding hanya mempertahankan alert sementara.

Transparency melengkapi validasi sertifikat

Validasi certificate chain menjawab apakah sertifikat yang disajikan dapat diterima berdasarkan trust policy. Mekanisme revocation menangani status sertifikat. CT mengisi celah yang berbeda: visibilitas terhadap penerbitan sertifikat publik dan bukti mengenai perilaku log.

Mekanisme tersebut saling memperkuat tetapi tidak dapat saling menggantikan. Chain yang valid tidak membuktikan bahwa penerbitan memang diharapkan. Entry CT tidak membuktikan bahwa penerbitan diotorisasi. SCT tidak membuktikan status revocation saat ini. Inclusion proof tidak menggantikan hostname verification.

Properti keamanan yang berguna lebih sempit dan konkret: logging publik dapat membuat penerbitan sertifikat tak terduga terlihat, sedangkan bukti berbasis Merkle tree membuat bagian dari perilaku log dapat diperiksa secara independen. Operator domain dan auditor memperoleh material yang dapat ditindaklanjuti tanpa menjadikan sistem transparency sebagai sumber otoritas sertifikat baru.

References