Peranan DKIM dalam Pengesahan E-mel
DomainKeys Identified Mail (DKIM) merupakan salah satu tiang utama dalam sistem pengesahan e-mel moden. Protokol ini membolehkan sesebuah organisasi bertanggungjawab ke atas penghantaran mesej dengan cara melampirkan tandatangan kriptografi pada pengepala e-mel. Tandatangan ini disahkan menggunakan kunci awam yang diterbitkan dalam rekod DNS TXT domain penghantar.
Melalui kaedah ini, pelayan e-mel penerima boleh mengesahkan bahawa e-mel tersebut benar-benar berasal daripada domain yang dinyatakan dan kandungannya tidak diubah suai semasa dalam perjalanan. Penggunaan DKIM yang betul sangat penting untuk melindungi reputasi domain daripada aktiviti penipuan (spoofing) dan memastikan e-mel yang sah tidak ditandakan sebagai spam.
Struktur dan Komponen Rekod DKIM TXT
Rekod DKIM TXT dibina menggunakan senarai tag yang dipisahkan oleh tanda titik koma. Setiap tag mempunyai fungsi khusus yang menentukan cara tandatangan e-mel diproses:
- Tag Versi (
v): Menentukan versi protokol yang digunakan. Jika ada, ia mestilah diletakkan sebagai tag pertama dan nilainya mestilah tepatDKIM1. - Tag Jenis Kunci (
k): Menentukan algoritma kriptografi kunci awam. Nilai yang disokong adalahrsaataued25519. - Tag Kunci Awam (
p): Mengandungi data kunci awam yang dikodkan dalam format Base64. Tag ini sangat penting untuk membolehkan pelayan penerima menyahsulit tandatangan e-mel. Jika nilaipdibiarkan kosong, ia menandakan kunci tersebut telah dibatalkan. - Tag Perkhidmatan (
s): Menentukan jenis perkhidmatan yang dibenarkan menggunakan kunci ini, di mana nilainya mesti mengandungiemailatau*. - Tag Algoritma Cincangan (
h): Menentukan algoritma cincangan (hash) yang dibenarkan. Tag ini mesti membenarkan penggunaansha256.
Had Saiz Bait dan Pembahagian Rekod DNS TXT
Sistem Nama Domain (DNS) mempunyai peraturan ketat mengenai cara data teks disimpan. Satu rekod DNS TXT boleh mengandungi beberapa rentetan aksara, namun setiap rentetan atau potongan (chunk) tersebut dihadkan kepada maksimum 255 bait sahaja.
Apabila kunci awam yang panjang digunakan (seperti kunci RSA 2048-bit), keseluruhan rekod DKIM akan melebihi had 255 bait ini. Untuk mengatasi kekangan ini, rekod tersebut mesti dipecahkan kepada beberapa bahagian rentetan yang diapit dengan tanda petik di dalam fail zon DNS. Pelayan DNS akan menyambungkan semula potongan-potongan ini secara berturutan apabila pertanyaan dibuat. Kegagalan memformat potongan ini dengan betul boleh menyebabkan rekod gagal dibaca oleh pelayan penerima.
Amalan Terbaik untuk Saiz Kunci dan Algoritma Cincangan
Keselamatan DKIM sangat bergantung pada kekuatan kriptografi yang digunakan. Berikut adalah standard keselamatan semasa yang perlu dipatuhi oleh pentadbir sistem:
| Parameter | Standard Minimum | Cadangan Keselamatan | Status Lapuk |
|---|---|---|---|
| Saiz Kunci RSA | 1024 bit | 2048 bit atau lebih | Di bawah 1024 bit (tidak sah) |
| Jenis Kunci | RSA atau Ed25519 | Ed25519 (32 bait) | - |
| Algoritma Cincangan | sha256 | sha256 | sha1 (tidak boleh digunakan) |
Penggunaan kunci RSA di bawah 1024 bit dianggap tidak sah kerana mudah dieksploitasi. Walaupun kunci 1024 bit masih diterima, saiz kunci 2048 bit atau lebih adalah sangat disyorkan untuk perlindungan jangka panjang. Selain itu, algoritma cincangan sha1 kini sudah lapuk dan tidak lagi selamat untuk digunakan dalam tandatangan DKIM.
Cara Pemeriksa Rekod DKIM Berfungsi
Alat Pemeriksa Rekod DKIM membolehkan pentadbir domain menampal nilai rekod DKIM TXT untuk menganalisis komponennya secara terperinci. Alat ini menerima input sehingga 20,000 aksara, termasuk potongan TXT yang diapit tanda petik serta tanda kurung fail zon.
Pemprosesan rekod ini dilakukan secara tempatan di dalam pelayar web pengguna. Rekod DKIM anda kekal dalam pelayar anda. BroBroGo tidak memuat naik atau menyimpannya. Ini adalah semakan teks-rekod tempatan. Alat ini tidak menyoal DNS atau mengesahkan emel yang ditandatangani, jadi gunakan hasilnya sebagai semakan konfigurasi dan bukan sebagai bukti penghantaran.
Semasa analisis dijalankan, alat ini akan memaparkan beberapa bahagian maklumat:
- Ringkasan DKIM: Menunjukkan maklumat penting seperti Versi, Jenis kunci, Saiz kunci, dan Perkhidmatan.
- Medan yang diuraikan: Memaparkan jadual yang mengandungi Tag dan Nilai bagi setiap komponen yang ditemui.
- Nota rekod: Memaparkan status semakan, bilangan bahagian TXT, serta sebarang ralat atau amaran yang dikesan.
Jika input yang dimasukkan kosong, alat akan memaparkan mesej ralat "Tempelkan rekod DKIM dahulu.". Sekiranya format input tidak dikenali, mesej "Masukkan rekod DKIM yang disokong." akan dipaparkan.
Memahami Ralat dan Amaran Konfigurasi
Alat ini direka untuk mengesan pelbagai ralat sintaksis dan kelemahan keselamatan dalam rekod yang ditampal. Berikut adalah beberapa mesej ralat dan amaran yang mungkin dipaparkan semasa analisis:
- Masalah Format Rentetan: Jika potongan teks tidak diformat dengan betul, alat akan melaporkan "Persembahan TXT yang dipetik adalah cacat. Simpan semua bahagian yang dipetik dan keluarkan teks di luar petikan.". Jika berjaya digabungkan, ia memaparkan "Menyatukan bahagian
‹detail›yang dipetik TXT sebelum menyemak rekod.". Jika mana-mana bahagian terlalu panjang, amaran "Bahagian TXT‹detail›melebihi had 255 bait untuk satu rentetan aksara DNS." akan muncul. - Masalah Tag dan Sintaksis: Jika tag penting tiada, ralat seperti "Tag kunci awam p yang diperlukan tiada." akan dipaparkan. Jika terdapat pertindihan, alat melaporkan "Tag
‹tag›muncul lebih daripada sekali.". Kesalahan tanda baca akan mencetuskan "Medan “‹tag›” tiada tanda sama dengan." atau "Nama tag “‹tag›” cacat.". - Ketidakpatuhan Protokol: Jika kedudukan tag salah, amaran "Tag v=DKIM1 mesti menjadi tag pertama apabila ia wujud." akan keluar. Jika nilai versi salah, ia memaparkan "Tag v mesti tepat DKIM1, bukan “
‹detail›”.". - Isu Kunci Kriptografi: Jika jenis kunci tidak dikenali, ralat "Jenis kunci “
‹detail›” tidak disokong. Gunakan rsa atau ed25519." akan dipaparkan. Jika kunci tidak sah, ia melaporkan "Nilai p bukan kunci awam yang sah untuk jenis kunci yang dipilih.". Bagi kunci yang dibatalkan, ia memaparkan "Nilai p kosong, yang menerbitkan kunci DKIM yang telah dibatalkan.". - Kekuatan Kunci RSA & Ed25519: Kunci RSA yang terlalu pendek akan mencetuskan ralat "Kunci RSA adalah
‹detail›bit. DKIM memerlukan sekurang-kurangnya 1024 bit." atau amaran "Kunci RSA adalah‹detail›bit. Disyorkan 2048 bit atau lebih.". Untuk Ed25519, ralat "Kunci Ed25519 mengekod kepada‹detail›bait bukannya 32." akan dipaparkan jika saiznya tidak tepat. - Perkhidmatan dan Cincangan: Jika nilai perkhidmatan tidak sah, ia memaparkan "Nilai s “
‹detail›” mengandungi perkhidmatan yang tidak disokong. Gunakan email atau *.". Jika algoritma cincangan tidak mematuhi standard, ralat "Tag h mesti membenarkan sha256 untuk tandatangan DKIM semasa." atau "sha1 sudah lapuk untuk tandatangan DKIM dan tidak boleh digunakan." akan dikeluarkan. - Tag Tidak Dikenali: Bagi tag yang tidak standard, alat akan menyatakan "Tag
‹tag›yang tidak dikenali disimpan tetapi tidak ditafsirkan.".
Setelah semakan selesai, alat akan memaparkan ringkasan status seperti "Tiada ralat rekod atau amaran kunci ditemui dalam nilai yang ditampal." atau "Medan ‹fields› disemak: ralat ‹errors› dan amaran ‹warnings›.".
Soalan Lazim (FAQ)
Mengapa rekod DKIM yang panjang dipecahkan kepada rentetan yang dipetik?
Satu rekod DNS TXT boleh mengandungi beberapa rentetan aksara, dengan setiap rentetan dihadkan kepada 255 bait. DNS menyambungkan rentetan mengikut urutan, jadi semua potongan mesti berada dalam satu rekod TXT.
Jenis kekunci DKIM yang manakah dikenali oleh pemeriksa ini?
Ia mengenali kekunci awam RSA dan Ed25519, memeriksa bentuk Base64 mereka, dan melaporkan kekunci RSA di bawah 1024 bit sebagai tidak sah serta kekunci di bawah 2048 bit sebagai lebih lemah daripada yang disyorkan.
Adakah keputusan bersih membuktikan DKIM berfungsi?
Tidak. Halaman ini hanya memeriksa teks rekod yang anda tampal. Ia tidak menyoal DNS, mengesahkan tandatangan mesej, mengesahkan nama pemilih atau membuktikan bahawa penerima e-mel boleh mengambil rekod itu.
Apakah maksudnya jika nilai tag p kosong dalam rekod DKIM?
Apabila nilai tag p dibiarkan kosong, tindakan ini secara rasmi menerbitkan kunci DKIM yang telah dibatalkan. Ini memberitahu pelayan penerima bahawa kunci tersebut tidak lagi aktif atau sah untuk menandatangani e-mel.