TLS Must-Staple Mewajibkan Status OCSP

OCSP stapling memungkinkan server TLS membawa bukti status sertifikat di dalam handshake. Client dapat memvalidasi response tersebut tanpa membuat request terpisah ke OCSP responder milik certificate authority. Namun, stapling biasa tidak otomatis membuat response yang hilang menjadi kesimpulan tentang status sertifikat: ketiadaan dapat sekadar berarti server tidak mengirimkannya.

RFC 7633 mendefinisikan ekstensi X.509v3 TLS Feature. Sertifikat dapat memakai ekstensi ini untuk menyatakan bahwa sebuah fitur TLS diwajibkan. Fitur yang umum disebut Must-Staple menunjuk status_request, sehingga penggunaan sertifikat terikat pada pengiriman informasi status sertifikat bagi client yang mengimplementasikan ekstensi tersebut.

Konsekuensinya ada pada model kegagalan. Bagi client yang mendukungnya, status yang hilang bukan lagi sekadar data opsional yang tidak tersedia saat sertifikat mewajibkan fitur itu.

Stapling membawa bukti status ke dalam handshake

Ekstensi status_request pada TLS memungkinkan client meminta status sertifikat. Dengan OCSP stapling, server memperoleh response OCSP dan mengirimkannya kepada client sebagai bagian dari TLS, tanpa memaksa setiap client menghubungi OCSP responder.

Susunan ini memiliki sifat keamanan yang praktis. Client tidak perlu mengungkap lookup status sertifikat melalui koneksi terpisah ke responder, dan ketersediaan responder tidak harus bertepatan dengan setiap koneksi client. Server dapat memperbarui response OCSP bertanda tangan lebih awal dan menempelkan response yang sesuai pada handshake.

Response tetap harus divalidasi. Stapling tidak mengubah data OCSP menjadi pernyataan server; client memeriksa informasi status yang ditandatangani beserta kesesuaiannya.

Must-Staple menghapus ambiguitas saat status tidak dikirim

Client yang hanya meminta stapling tidak dapat menyimpulkan status sertifikat dari ketiadaan response. Server mungkin tidak mendukung fitur tersebut, salah konfigurasi, atau tidak mengirim response. RFC 7633 menyediakan sinyal pada tingkat sertifikat bahwa fitur itu memang diharapkan.

Untuk status_request, ekstensi TLS Feature memakai nilai fitur 5. Secara konseptual, sertifikat menyatakan:

TLS Feature:
    status_request (5)

Client yang mendukung RFC 7633 dapat menolak koneksi saat fitur wajib tersebut tidak terpenuhi. Inilah perbedaan utama dari OCSP stapling opsional: ketiadaan berubah menjadi kondisi protokol yang dapat ditegakkan client.

Ekstensi ini tidak membuat layanan status milik certificate authority bebas dari kegagalan dan tidak menciptakan sumber pencabutan baru. Ekstensi tersebut mengubah kontrak penyajian mekanisme status yang sudah ada.

Versi TLS menempatkan status di lokasi berbeda

Lokasi pada wire bergantung pada versi TLS. Pada TLS 1.2 dan rancangan sebelumnya yang dicakup RFC 6066, status OCSP dibawa dalam pesan handshake CertificateStatus setelah sertifikat server.

TLS 1.3 mengaitkan informasi OCSP dengan CertificateEntry yang relevan melalui ekstensi status_request. Representasinya berubah, tetapi kebutuhan operasional tetap terkait dengan penyediaan informasi status sertifikat yang dapat diterima ketika sertifikat mengiklankan fitur wajib tersebut.

Implementasi karena itu memerlukan dukungan TLS yang sadar versi, bukan pemeriksaan terhadap satu susunan pesan handshake yang tetap.

Deployment harus memperhitungkan masa berlaku response OCSP

Must-Staple menjadikan pengiriman status sebagai bagian dari availability koneksi. Server yang memasang sertifikat semacam ini sebelum memiliki response OCSP yang dapat diterima dapat menyebabkan client pendukung menolak koneksi.

Karena itu RFC 7633 menyarankan server agar tidak mulai memakai sertifikat pengganti yang mewajibkan TLS Feature sebelum token status yang diperlukan tersedia. Rotasi sertifikat dan refresh OCSP menjadi satu operasi yang perlu dikoordinasikan.

Jalur deployment yang kokoh dapat memperlakukan sertifikat, private key, chain, dan response OCSP terkini sebagai satu set kesiapan. Traffic baru dialihkan setelah endpoint mampu menyajikan seluruh material wajib. Refresh juga memerlukan margin yang cukup untuk mengganti response yang mendekati akhir masa berlakunya sebelum response tersebut tidak lagi dapat diterima.

Ekstensi ini tidak menyelesaikan salah penerbitan sertifikat

Must-Staple bukan mekanisme untuk mencegah certificate authority menerbitkan sertifikat yang tidak diinginkan. RFC 7633 memisahkan persoalan tersebut dari ekstensi TLS Feature.

Ekstensi dibawa oleh sertifikat yang sedang disajikan. Nilainya paling kuat saat sertifikat yang sah mewajibkan bukti status dan client menegakkan persyaratan itu. Kontrol penerbitan sertifikat, pemantauan certificate transparency, dan perlindungan akun pada certificate authority menangani bagian lain dari siklus PKI.

Pemisahan ini penting dalam threat model. Sinyal pencabutan dan kontrol penerbitan tidak seharusnya diperlakukan sebagai pengaman yang dapat saling menggantikan.

Perilaku kegagalan memang ketat

Sinyal status wajib menukar sebagian toleransi availability dengan persyaratan status pencabutan yang lebih kuat. Jika endpoint tidak dapat menyediakan status yang dapat diterima, client pendukung dapat menggagalkan handshake alih-alih melanjutkan koneksi tanpa bukti yang diwajibkan.

Monitoring operasional karena itu perlu mencakup kesehatan refresh OCSP, jendela validitas response, status rotasi sertifikat, dan pengujian handshake dari client yang menegakkan ekstensi tersebut. Pemeriksaan yang hanya melihat tanggal kedaluwarsa sertifikat tidak mencakup dependensi status yang diperkenalkan Must-Staple.

Fallback yang diam-diam menyajikan sertifikat Must-Staple yang sama tanpa status wajib bertentangan dengan kontrak deployment tersebut. Pemulihan memerlukan material status yang valid atau sertifikat dan konfigurasi dengan persyaratan yang konsisten.

Must-Staple adalah kontrak antara sertifikat dan handshake

OCSP stapling mengoptimalkan pengiriman status pencabutan dengan membawa bukti status bertanda tangan ke dalam TLS. Must-Staple menambahkan persyaratan pada tingkat sertifikat yang dapat ditegakkan client pendukung saat bukti tersebut tidak tersedia.

Cakupannya sempit: mekanisme ini tidak menggantikan kontrol penerbitan sertifikat, tidak membuat infrastruktur pencabutan selalu tersedia, dan tidak menyatakan endpoint aman. Must-Staple mengubah satu kapabilitas handshake opsional menjadi kondisi eksplisit yang melekat pada penggunaan sertifikat. Kontrak yang lebih ketat itu juga membawa biaya operasional: deployment sertifikat dan pengelolaan response OCSP harus tetap tersinkronisasi.