איך עובדת החתימה
מערכת השליחה משתמשת במפתח פרטי ומוסיפה כותרת DKIM-Signature. המקבל מאתר מפתח ציבורי לפי דומיין החתימה והבורר, selector, ומאמת את החלקים שנחתמו בהתאם לכללי המנגנון.
המפתח הפרטי נשאר במערכת החתימה. המפתח הציבורי מתפרסם דרך DNS, לעיתים באמצעות הפניה של הספק. פרסום מפתח לבדו אינו מפעיל בהכרח חתימה במערכת.
שלושה פרטים שעוזרים לקרוא הודעה
אין צורך להעתיק את כל ההודעה כדי להבין את מבנה החתימה. בבדיקה מקצועית שומרים רק את המידע הנדרש, בערוץ מתאים.
| שדה | מה הוא מתאר | מה הוא לא מוכיח |
|---|---|---|
| d= | דומיין החתימה | שהוא זהה לדומיין From |
| s= | הבורר שמזהה את המפתח ב-DNS | שהמפתח קיים או תקין כעת |
| dkim=pass אצל מקבל מהימן | המקבל אימת חתימה מסוימת | שהבקשה העסקית בהודעה מאושרת |
חתימה, הצפנה והתאמת דומיין
DKIM אינו מסתיר את תוכן ההודעה מהקוראים או מהמערכות שמקבלות אותה. הוא מאפשר אימות חתימה. הצפנת תעבורה או תוכן הן מטרות נפרדות.
גם חתימה שעברה יכולה להיות של דומיין ספק חיצוני. כדי להשתמש בה לצורך DMARC, נדרשת התאמה לדומיין From לפי המדיניות. הודעה יכולה להכיל כמה חתימות; יש להבין איזו מהן עברה ולאיזה דומיין היא שייכת.
דוגמה עסקית: תיבה ואתר הם שני שולחים
עסק שולח מייל ידני מהתיבה וגם אישור הזמנה מהאתר. אם החתימה תקינה בתיבה, עדיין צריך לבדוק הודעה שנשלחה מהאתר. ייתכן שהוא משתמש בשירות אחר, בבורר אחר או ללא חתימה.
זו מסגרת בדיקה מוצעת, לא תוצאת בדיקה של לקוח. הדרך לאמת היא לשלוח הודעה מכל מערכת לתיבת בדיקה ולבחון את תוצאת המקבל.
למה חתימה יכולה להיכשל
שינוי בחלקים החתומים בדרך, מפתח שגוי או חסר ותצורה שלא הופעלה הם כיווני בירור אפשריים. העברה דרך מערכת שמשנה תוכן עשויה להשפיע על התוצאה. אין לקבוע את הסיבה רק לפי המילה fail.
בעת החלפת מפתחות עובדים לפי תהליך הספק ושומרים על חפיפה מתאימה. מחיקת בורר ישן בלי בדיקת ההודעות והמערכות עלולה לפגוע באימות.