Otoritas sertifikat publik memvalidasi kendali atas nama domain sebelum menerbitkan sertifikat, tetapi kendali domain bukan satu-satunya kebijakan yang dapat dipublikasikan operator domain. Certificate Authority Authorization (CAA), yang ditetapkan dalam RFC 8659, menambahkan sinyal berbasis DNS yang menyatakan CA mana yang diizinkan menerbitkan sertifikat untuk suatu nama.
CAA tidak menggantikan validasi kendali domain. CAA menambahkan titik keputusan lain sebelum penerbitan: CA yang mematuhi ketentuan memeriksa kebijakan CAA yang berlaku dan hanya melanjutkan jika kebijakan tersebut mengizinkan CA menerbitkan sertifikat yang diminta.
Record CAA menyatakan kebijakan penerbitan
Resource record CAA memiliki field flags, property tag, dan property value. Record sederhana dapat mengotorisasi satu CA:
example.com. CAA 0 issue "ca.example"Properti issue mengotorisasi CA yang diidentifikasi untuk menerbitkan sertifikat bagi domain, dengan tetap mengikuti persyaratan validasi dan penerbitan normal milik CA tersebut. Beberapa record issue dapat mengotorisasi beberapa CA; otorisasi tidak dibatasi pada satu record.
Nilai issue kosong dapat secara eksplisit menolak penerbitan melalui properti tersebut:
example.com. CAA 0 issue ";"Konfigurasi operasional perlu mencakup setiap CA yang memang diharapkan melakukan penerbitan. CA yang dibutuhkan tetapi tidak dicantumkan dapat mengubah kontrol keamanan menjadi masalah ketersediaan saat renewal atau penggantian darurat dilakukan.
Penerbitan wildcard memiliki kontrol terpisah
CAA mendefinisikan issuewild untuk sertifikat wildcard. Properti ini memungkinkan domain menyatakan kebijakan penerbitan wildcard secara terpisah dari penerbitan biasa.
Contoh:
example.com. CAA 0 issue "ca.example"
example.com. CAA 0 issuewild "wildcard-ca.example"Kebijakan ini dapat mengotorisasi CA yang berbeda untuk sertifikat biasa dan wildcard. Pemisahan tersebut relevan karena penerbitan wildcard dapat memakai alur operasional dan metode validasi yang berbeda dari penerbitan non-wildcard.
Jika tidak ada properti issuewild yang relevan, properti issue yang berlaku juga mengatur penerbitan wildcard. Penambahan issuewild membentuk kebijakan wildcard yang terpisah.
Kebijakan dapat diwarisi dari nama induk
Pemrosesan CAA tidak mensyaratkan record pada setiap hostname. Saat suatu nama tidak memiliki kumpulan record CAA yang berlaku, pencarian dapat berlanjut melalui hierarki DNS sesuai aturan pemrosesan CAA.
Kebijakan pada domain terdaftar karena itu dapat mencakup nama-nama di bawahnya kecuali kebijakan yang lebih spesifik mengubah hasil. Pola ini berguna untuk kebijakan penerbitan terpusat, tetapi subdomain yang didelegasikan atau dioperasikan secara independen perlu ditangani secara sengaja.
Pemrosesan CNAME juga relevan. Evaluasi CAA mengikuti aturan yang ditetapkan untuk alias dan nama DNS terkait, sehingga operator perlu memeriksa jalur DNS efektif, bukan berasumsi bahwa hanya hostname yang terlihat yang berkontribusi pada kebijakan.
Critical flag mengubah penanganan properti yang tidak dikenal
Oktet flags mencakup issuer-critical bit. Ketika bit tersebut disetel pada properti yang tidak dikenali CA, CA tidak boleh menerbitkan berdasarkan kumpulan record yang tidak dapat diprosesnya dengan benar.
Sebuah record dapat menandai properti sebagai critical:
example.com. CAA 128 custom-property "value"Penggunaan critical bit memerlukan kehati-hatian. Properti critical yang tidak didukung dapat secara sengaja menghentikan penerbitan, tetapi penerapan yang keliru atau tidak terkoordinasi juga dapat memblokir operasi sertifikat yang sah.
Flag tersebut tidak membuat properti yang sudah dikenal menjadi lebih kuat. Fungsinya adalah mengatur perilaku ketika property tag tidak dikenali.
CAA membatasi penerbitan, bukan penggunaan sertifikat
CAA diperiksa dalam proses penerbitan sertifikat. Browser tidak memakai CAA sebagai pengganti validasi certificate path, pemeriksaan hostname, masa berlaku, mekanisme revocation, atau aturan verifikasi TLS lainnya.
Sertifikat yang sudah ada tidak menjadi tidak valid hanya karena domain kemudian mengubah record CAA. Kebijakan baru memengaruhi keputusan penerbitan berikutnya yang dibuat berdasarkan persyaratan CAA yang berlaku.
Perbedaan waktu ini penting saat migrasi CA. Mengubah kebijakan DNS dan mengganti sertifikat yang sudah ada merupakan dua operasi terpisah.
Integritas DNS menentukan kekuatan sinyal
CAA dibawa melalui DNS. Tanpa validasi DNSSEC, respons DNS tidak memperoleh autentikasi asal secara kriptografis dari CAA itu sendiri. Penyerang yang mampu mengubah jawaban DNS yang relevan mungkin dapat mengganggu kebijakan yang dilihat CA, bergantung pada posisi serangan dan jalur resolusi CA.
DNSSEC dapat mengautentikasi data DNS ketika chain of trust tervalidasi, tetapi CAA dan DNSSEC memiliki peran berbeda. CAA menyatakan kebijakan penerbitan; DNSSEC dapat melindungi autentisitas dan integritas data DNS yang membawa kebijakan tersebut.
Karena itu, CAA sebaiknya diperlakukan sebagai salah satu kontrol dalam tata kelola penerbitan sertifikat, bukan jaminan tunggal terhadap setiap bentuk salah penerbitan.
Perubahan operasional perlu diuji pada jalur renewal
Otomasi sertifikat sering berjalan tanpa perhatian sampai renewal gagal. Perubahan CAA perlu diperiksa terhadap identifier CA yang sebenarnya, kebutuhan wildcard, delegasi DNS, alias, dan akun otomasi yang digunakan di produksi.
Sebagian CA mendukung parameter CAA tambahan berdasarkan praktik yang mereka dokumentasikan, tetapi parameter tersebut spesifik untuk CA dan tidak boleh diasumsikan memiliki semantik universal. Konfigurasi perlu mengikuti dokumentasi masing-masing CA yang diotorisasi.
Nilai CAA bersifat sempit dan konkret: domain dapat memublikasikan batas penerbitan melalui DNS. Batas tersebut paling efektif ketika kumpulan CA yang diotorisasi dijaga tetap kecil, kebijakan DNS efektif dapat diamati, dan jalur renewal sertifikat diuji sebelum sertifikat yang ada mendekati masa kedaluwarsa.