Penandatanganan DKIM
Menandatangani pesan secara kriptografis.
Penandatanganan DKIM adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Fungsi DKIM
DKIM (DomainKeys untuk Email Teridentifikasi) menambahkan tanda tangan kriptografis ke email keluar. Penerima dapat memverifikasi tanda tangan tersebut untuk memastikan dua hal:
- Pesan benar-benar diotorisasi oleh domain penanda tangan
- Konten yang ditandatangani tidak diubah selama pengiriman
Jika SPF mengotorisasi server, DKIM mengautentikasi pesan itu sendiri, dan tanda tangan tersebut tetap valid saat diteruskan.
Dasar-Dasar Kriptografi Kunci Publik
DKIM mengandalkan kriptografi asimetris. Pemilik domain memiliki pasangan kunci:
- kunci privat tetap rahasia di server email pengirim dan digunakan untuk menandatangani
- kunci publik diterbitkan di DNS dan digunakan siapa pun untuk memverifikasi
Karena hanya pemegang kunci privat yang dapat menghasilkan tanda tangan yang valid, verifikasi yang berhasil membuktikan bahwa pesan berasal dari domain yang sah.
Proses Penandatanganan
Saat server pengirim mengirimkan pesan, server tersebut menghitung tanda tangan atas tajuk dan isi yang dipilih, lalu menambahkan tajuk DKIM-Signature.
Steps on the sender side:
1. Select headers to sign (From, Subject, Date, ...)
2. Hash the message body
3. Build the DKIM-Signature header with those fields
4. Sign the hash with the private key
5. Attach the signature to the outgoing messageStruktur Tajuk DKIM-Signature
Tajuk DKIM-Signature memuat parameter yang diperlukan penerima untuk melakukan verifikasi:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=company.com; domain that signed
s=mail2024; selector (which key)
h=from:subject:date; signed headers
bh=base64bodyhash; body hash
b=base64signature the signature itselfSelektor dan Kunci Publik di DNS
Selektor (tag s=) memberi tahu penerima kunci publik mana yang harus diambil. Kunci tersebut berada di lokasi DNS yang dapat diperkirakan:
Location: <selector>._domainkey.<domain>
Example DNS TXT record:
mail2024._domainkey.company.com. IN TXT \
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."
p = the base64-encoded public keyProses Verifikasi
Saat menerima pesan, server yang memverifikasi membalikkan proses tersebut:
- Baca domain
d=dan selektors=dari tanda tangan DKIM - Ambil kunci publik dari
selector._domainkey.domaindi DNS - Hitung ulang hash isi dan hash tajuk
- Gunakan kunci publik untuk memverifikasi bahwa tanda tangan cocok
Jika tanda tangan valid, DKIM lulus. Jika pesan diubah atau ditandatangani dengan kunci yang salah, verifikasi gagal.
Hash Isi Mendeteksi Manipulasi
Kolom bh (hash isi) membuat perubahan pada DKIM dapat terdeteksi. Pengirim menghitung hash isi dan menyertakan hash tersebut dalam data yang ditandatangani.
Jika seseorang mengubah isi pesan selama pengiriman, hash yang dihitung ulang oleh penerima tidak akan cocok dengan bh yang ditandatangani, sehingga verifikasi gagal. Dengan cara inilah DKIM memberikan integritas, bukan sekadar autentikasi asal.
Kanonikalisasi
Server email di sepanjang jalur sering melakukan perubahan kecil yang tidak berbahaya, seperti membungkus ulang baris atau menyesuaikan spasi. Untuk mencegah perubahan tersebut merusak tanda tangan yang valid, DKIM menggunakan kanonikalisasi (tag c=).
- sederhana — ketat; hampir semua perubahan akan merusak tanda tangan
- longgar — toleran terhadap spasi dan perubahan kapitalisasi tajuk
Sebagian besar penerapan menggunakan relaxed/relaxed agar andal di berbagai infrastruktur email.
Selektor Memungkinkan Rotasi Kunci
Selektor bukan sekadar label, tetapi memungkinkan rotasi kunci yang aman. Anda sebaiknya mengganti kunci DKIM secara berkala untuk membatasi dampak jika salah satunya bocor.
Proses rotasi:
- Buat pasangan kunci baru dengan selektor baru, misalnya
mail2025 - Terbitkan kunci publik baru di DNS
- Alihkan penanda tangan agar menggunakan selektor baru
- Biarkan selektor lama tetap ada di DNS sampai email yang sedang dikirim selesai diterima, lalu hapus
Menggunakan selektor baru mencegah jeda ketika tanda tangan tidak dapat diverifikasi.
DKIM Tetap Valid saat Diteruskan
Berbeda dengan SPF, DKIM tetap valid saat diteruskan. Tanda tangan ikut berpindah bersama pesan, sehingga selama tajuk dan isi yang ditandatangani tidak diubah, pesan yang diteruskan tetap dapat diverifikasi.
Hal ini melengkapi kelemahan SPF dengan sempurna. Saat pesan diteruskan, SPF mungkin gagal karena IP yang terhubung berubah, tetapi DKIM masih dapat lulus sehingga DMARC dapat menerima email yang sah.
Keterbatasan DKIM
DKIM sangat kuat, tetapi tidak sepenuhnya memadai jika digunakan sendiri:
- DKIM membuktikan bahwa suatu domain menandatangani pesan, tetapi tidak memastikan domain penanda tangan sama dengan tajuk From yang terlihat; itulah penyelarasan DMARC
- Penyerang dapat menandatangani email dengan kunci DKIM yang valid milik domain mereka sendiri
- Kunci privat yang bocor memungkinkan penyerang membuat tanda tangan yang valid sampai kunci tersebut diganti melalui rotasi
DKIM harus dipadukan dengan DMARC agar efektif melawan pemalsuan.
Pemeriksaan Singkat
Uji pemahaman Anda tentang DKIM.
Ringkasan
Anda telah mempelajari cara DKIM menandatangani pesan:
- DKIM menambahkan tanda tangan kriptografis yang membuktikan asal dan integritas
- kunci privat menandatangani pesan di server; kunci publik diterbitkan di DNS di bawah selektor
- hash isi mendeteksi manipulasi; kanonikalisasi menoleransi perubahan yang tidak berbahaya
- Selektor memungkinkan rotasi kunci yang aman, dan DKIM tetap valid saat diteruskan ketika SPF gagal
- DKIM tetap memerlukan penyelarasan DMARC untuk mengaitkan tanda tangan dengan From yang terlihat
Selanjutnya, Anda akan menghubungkan SPF dan DKIM dengan kebijakan serta pelaporan DMARC.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penandatanganan DKIM” gratis?
Ya — teks lengkap “Penandatanganan DKIM” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penandatanganan DKIM”?
Menandatangani pesan secara kriptografis. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Penandatanganan DKIM” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Cara Pemalsuan Email Bekerja
- Catatan SPF
- Penandatanganan DKIM
- Kebijakan dan Pelaporan DMARC