Record CAA Membatasi Penerbitan oleh Certificate Authority

Sebuah certificate authority publik hanya dapat menerbitkan sertifikat setelah memenuhi persyaratan validasi dan kebijakannya. DNS Certification Authority Authorization menambahkan kontrol lain: pemegang domain dapat mempublikasikan resource record set CAA yang menyatakan issuer mana yang diizinkan untuk suatu nama.

CAA merupakan batas penerbitan, bukan pengganti validasi kontrol domain. CA yang diizinkan tetap harus menjalankan validasi yang diwajibkan oleh certificate policy-nya. Sebaliknya, validasi domain yang berhasil tidak memberi izin kepada CA yang patuh untuk mengabaikan pembatasan CAA yang berlaku.

RRset yang relevan dapat berasal dari nama induk

RFC 8659 menetapkan pencarian RRset CAA yang relevan. Untuk FQDN yang diminta, pemrosesan dimulai pada nama tersebut dan dapat naik menuju root DNS sampai sebuah RRset CAA ditemukan. Pencarian berhenti pada RRset pertama yang berlaku, bukan menggabungkan kebijakan dari setiap ancestor.

Perilaku ini memungkinkan registered domain menetapkan kebijakan luas sementara nama yang lebih spesifik mempublikasikan kebijakan CAA sendiri. RRset pada child bukan tambahan terhadap record milik parent; setelah RRset tersebut menjadi RRset yang relevan, isinya mengatur lookup itu.

Pemrosesan CAA juga memperhitungkan alias DNS. CNAME yang ditemui selama lookup mengubah lokasi lanjutan pemrosesan CAA, sehingga otomasi sertifikat perlu memperhitungkan target alias dan tidak hanya memeriksa hostname aplikasi yang terlihat.

issue memberi otorisasi penerbitan biasa

Property issue mengidentifikasi issuer yang boleh menerbitkan sertifikat untuk nama yang dicakup RRset relevan. Record dasar berbentuk seperti berikut:

example.org.  CAA 0 issue "ca.example"

Beberapa property issue bersifat aditif. Jika RRset relevan memuat beberapa issuer yang diizinkan, sebuah CA dapat melanjutkan ketika salah satu property yang berlaku memberi otorisasi kepadanya, dengan tetap memenuhi persyaratan penerbitan lainnya.

Nilai issuer kosong dapat dipakai untuk menolak otorisasi melalui property tersebut. Kondisi ini berbeda dari tidak mempublikasikan RRset CAA: tidak adanya kebijakan CAA yang membatasi tidak dengan sendirinya memilih CA tertentu.

issuewild memiliki semantik wildcard tersendiri

Permintaan sertifikat wildcard memiliki jalur kebijakan tambahan. Property issuewild memakai sintaks nilai umum yang sama dengan issue, tetapi hanya berlaku untuk wildcard domain name.

example.org.  CAA 0 issue     "ca-a.example"
example.org.  CAA 0 issuewild "ca-b.example"

Ketika setidaknya satu property issuewild ada dalam RRset relevan untuk permintaan wildcard, property issue diabaikan dalam keputusan otorisasi wildcard tersebut. Pada contoh ini, kebijakan wildcard bukan izin tambahan di atas issue; issuewild menjadi set issuer yang berlaku untuk penerbitan wildcard.

Untuk FQDN non-wildcard, issuewild tidak ikut menentukan otorisasi.

Critical flag mengubah penanganan property yang tidak dikenal

Sebuah record CAA memuat flags, property tag, dan property value. Bit 7 pada field flags adalah issuer-critical flag. Representasi numerik yang umum adalah 128.

Jika CA menemukan property yang tidak dikenalnya dengan flag tersebut aktif, CA tidak dapat dengan aman menganggap property itu tidak relevan lalu meneruskan penerbitan. Penanda critical menyatakan bahwa pemrosesan property secara benar penting bagi kebijakan pemegang domain.

Property yang sudah dikenal tidak menjadi lebih kuat hanya karena bit tersebut aktif. Flag ini terutama mengatur perilaku ketika issuer tidak mengenali property tag.

CAA membatasi issuer, bukan penggunaan sertifikat

CAA dievaluasi oleh issuer sertifikat sebelum penerbitan. Browser tidak memeriksa record CAA ketika menentukan penerimaan sertifikat pada koneksi TLS biasa, dan perubahan RRset CAA tidak mencabut sertifikat yang sudah diterbitkan.

Batas ini penting dalam respons insiden. Pengetatan CAA dapat membatasi penerbitan berikutnya, tetapi sertifikat yang sudah ada dan tidak diinginkan memerlukan prosedur pencabutan serta penggantian yang berlaku pada sertifikat dan ekosistem CA tersebut.

CAA juga tidak mengautentikasi data DNS kepada browser relying party. DNSSEC dan CAA menangani properti protokol yang berbeda. CAA mendefinisikan sinyal otorisasi penerbitan di DNS; DNSSEC dapat memberi autentikasi asal dan integritas untuk data DNS bertanda tangan ketika mekanisme tersebut diterapkan dan divalidasi.

Ketersediaan DNS menjadi bagian dari reliabilitas penerbitan

CA harus dapat menentukan state CAA yang berlaku sebelum mengandalkan hasilnya. Kegagalan DNS karena itu dapat menghambat penerbitan meskipun pemegang domain tidak bermaksud membatasi sebuah CA. Menganggap kegagalan lookup sama dengan jawaban tanpa pembatasan akan menghilangkan kontrol tersebut setiap kali resolusi DNS bermasalah.

Secara operasional, CAA perlu masuk ke disiplin perubahan yang sama dengan input otomasi sertifikat lainnya. Migrasi DNS, perubahan CNAME, subdomain yang didelegasikan, dan pergantian issuer dapat mengubah kebijakan efektif yang terlihat saat penerbitan.

Properti keamanan CAA bersifat sempit dan konkret: pemegang domain dapat mengurangi himpunan certificate authority yang diizinkan menerbitkan sertifikat untuk suatu nama. CAA tidak menyatakan bahwa penerbitan oleh CA yang diizinkan pasti benar, tidak mencabut sertifikat yang sudah ada, dan tidak menggantikan validasi. Nilainya berasal dari batas otorisasi yang dikelola secara terpisah di jalur penerbitan sertifikat.