DNS over HTTPS (DoH) הוא פרוטוקול המיועד לביצוע שאילתות DNS מרחוק באמצעות פרוטוקול HTTPS. מטרתו העיקרית היא להגדיל את פרטיות המשתמשים והביטחון על ידי מניעת יירוט ומניפולציה של נתוני ה-DNS באמצעות התקפות "האדם שבאמצע" (man-in-the-middle), באמצעות הצפנת הנתונים בין לקוח DoH לבין שרת ה-DNS באמצעות פרוטוקול HTTPS.[1][2]
במרץ 2018, גוגל וקרן מוזילה החלו לבדוק גרסאות של DoH.[3][4] בפברואר 2020, פיירפוקס העביר את DNS over HTTPS כברירת מחדל עבור משתמשים בארצות הברית.[5] במאי 2020, גוגל כרום עבר לשימוש ב-DNS over HTTPS כברירת מחדל.[6]
DoH הוא תקן מוצע, שפורסם כ-RFC 8484 באוקטובר 2018 על ידי IETF. הפרוטוקול משתמש ב-HTTPS ומעביר את נתוני התשובה בפורמט ה-"wire format" כפי שמוחזר בתשובות UDP קיימות, ב-HTTPS payload עם סוג ה-MIME "application/dns-message".[7] שכבת ה-HTTP יכולה להיות כל גרסה של HTTP, אם כי HTTP/2 הוא המינימום המומלץ.[7] אם משתמשים ב-HTTP/2, השרת יכול גם להשתמש ב-HTTP/2 server push לשלוח ערכים שהוא צופה שהלקוח עשוי למצוא מועילים מראש.[7]
Oblivious DNS over HTTPS (ODoH) הוא Internet Draft שמציע הרחבה לפרוטוקול על מנת להבטיח ששום שרת DoH לא יידע גם את כתובת ה-IP של הלקוח וגם את תוכן השאילתות והתשובות של ה-DNS. ODoH פותח במקור כ-Oblivious DNS (ODNS) על ידי חוקרים באוניברסיטת פרינסטון ובאוניברסיטת שיקגו כהרחבה ל-DNS שאינו מוצפן, לפני ש-DoH עצמו תקנן והופץ באופן נרחב. אפל ו-Cloudflare פרסמו לאחר מכן את הטכנולוגיה בהקשר של DoH כ-Oblivious DoH (ODoH).[8]
ב-ODoH ו-ODNS, כל הבקשות והתשובות של DNS מנותבות דרך פרוקסי, מסתירים את כתובת הלקוח מהפותח. הבקשות והתשובות מוצפנות כדי להסתיר את תוכנן מהפרוקסי, ורק הפותח יכול לפענח את הבקשות, ורק הלקוח יכול לפענח את התשובות. כך, הפרוקסי יודע את כתובת הלקוח אך לא את הבקשה, והפותח יודע את הבקשה אך לא את כתובת הלקוח, מה שמונע קישור של כתובת הלקוח לשאילתה, אלא אם כן שני השרתים משתפים פעולה.[9][10][11][12]
DoH משמש לפתרון DNS חוזר על ידי פותרי DNS. פותחים (לקוחות DoH) חייבים להיות מחוברים לשרת DoH שמארח נקודת קצה לשאילתה.[13]
שלושה תרחישי שימוש נפוצים:
שימוש ביישום DoH בתוך יישום: כמה דפדפנים מכילים יישום DoH מובנה ויכולים לבצע שאילתות על ידי מעקף על פונקציונליות ה-DNS של מערכת ההפעלה. חיסרון הוא שיישום עשוי לא להודיע למשתמש אם הוא מדלג על שאילתת DoH, בין אם בגלל תצורה שגויה או חוסר תמיכה ב-DoH.
התקנת פרוקסי DoH בשרת השמות ברשת המקומית: בתרחיש זה מערכות הלקוח ממשיכות להשתמש ב-DNS מסורתי (יציאות 53 או 853) כדי לשאול את שרת השמות ברשת המקומית, אשר יאסוף את התשובות הנחוצות באמצעות DoH על ידי הגעה לשרתים באינטרנט. שיטה זו שקופה למשתמש הקצה.
התקנת פרוקסי DoH במערכת מקומית: בתרחיש זה מערכות ההפעלה מוגדרות לשאול פרוקסי DoH הפועל באופן מקומי. בניגוד לשיטה הקודמת, הפרוקסי צריך להיות מותקן על כל מערכת שמעוניינת להשתמש ב-DoH, מה שיכול לדרוש הרבה מאמץ בסביבות גדולות.
בנובמבר 2019, מיקרוסופט הודיעה על תוכניות ליישם תמיכה בפרוטוקולי DNS מוצפנים ב-Windows, החל מ-DoH.[16] במאי 2020, מיקרוסופט הוציאה את Windows 10 Insider Preview Build 19628 שכלל תמיכה ראשונית ב-DoH[17] יחד עם הוראות כיצד להפעיל אותו באמצעות רישום וממשק שורת הפקודה.[18] Windows 10 Insider Preview Build 20185 הוסיף ממשק משתמש גרפי לקביעת תצורה של פותר DoH.[19] תמיכה ב-DoH לא נכללת ב-Windows 10 21H2.[20]
גרסה 1.12.0 של Unbound תומכת ב-DoH מאוקטובר 2020.[25][26] תחילה יישם תמיכה בהצפנת DNS באמצעות פרוטוקול ה-DoT החל מגרסה 1.4.14, שיצאה בדצמבר 2011.[27][28]Unbound פועל על רוב מערכות ההפעלה, כולל הפצות של לינוקס, BSD, MacOS ו-Windows.
DNS over HTTPS זמין ב-Google Chrome 83 ואילך עבור Windows, Linux ו-macOS, וניתן לקבוע אותו באמצעות דף ההגדרות. כאשר הוא מופעל, וכאשר מערכת ההפעלה מוגדרת עם שרת DNS נתמך, Chrome ישדרג שאילתות DNS למוצפנות.[29] ניתן גם לציין שרת DoH מותאם אישית דרך ממשק המשתמש.[30]
בספטמבר 2020, גוגל כרום לאנדרואיד החל בפריסה מדורגת של DNS over HTTPS. משתמשים יכולים לקבוע שרת מותאם אישית או להשבית DNS over HTTPS בהגדרות.[31]
Microsoft Edge תומך ב-DNS over HTTPS, וניתן לקבוע אותו דרך דף ההגדרות. כאשר הוא מופעל, וכאשר מערכת ההפעלה מוגדרת עם שרת DNS נתמך, Edge ישדרג שאילתות DNS למוצפנות. ניתן גם לציין שרת DoH מותאם אישית דרך ממשק המשתמש.[33]
ב-2018, מוזילה שיתפה פעולה עם Cloudflare כדי לספק DoH עבור משתמשי פיירפוקס שמפעילים אותו (ידוע כ-Trusted Recursive Resolver).[34] ב-25 בפברואר 2020, פיירפוקס החלה להפעיל DNS over HTTPS עבור כל המשתמשים בארצות הברית, כשהיא מסתמכת על שרת Cloudflare כברירת מחדל.[35]
DoH יכול להפריע לניתוח ומעקב אחר תעבורת DNS למטרות סייבר; תולעת ה-DDoS Godlua מ-2019 השתמשה ב-DoH כדי להסוות את הקשרים לשרת הפקודות והשליטה שלה.[38][39]
בינואר 2021, NSA הזהירה ארגונים מפני שימוש בפתרונות DoH חיצוניים כי הם מונעים סינון, בדיקה וביקורת של שאילתות DNS. במקום זאת, NSA ממליצה להגדיר פותרי DoH בבעלות הארגון ולחסום את כל הפותרי DoH החיצוניים הידועים.[40]
DoH שימש לעקיפת שליטה הורית שפועלת ברמת ה-DNS הבלתי מוצפן; Circle, נתב לשליטה הורית שמשתמש בשאילתות DNS כדי לבדוק דומיינים מול רשימת חסימה, חוסם DoH כברירת מחדל בגלל זה.[41] עם זאת, ישנם ספקי DNS שמציעים סינון ושליטה הורית יחד עם תמיכה ב-DoH על ידי הפעלת שרתי DoH.[42][43]
איגוד ספקי שירותי האינטרנט הבריטי (ISPA) וגוף ה-Internet Watch Foundation הבריטי מתחו ביקורת על Mozilla, מפתח ה-Firefox, על תמיכתו ב-DoH, כיוון שלדעתם זה יפגע בתוכניות סינון האינטרנט במדינה, כולל סינון תוכן למבוגרים וחסימת הפרות זכויות יוצרים בהוראת בית המשפט. ה-ISPA מועמדת למועמדת למועמדת ל"נבל האינטרנט" על ידי Mozilla על תמיכתם ב-DoH, לצד תקנה 13 של זכויות יוצרים של ה-EU, ודונלד טראמפ.[44][45] בתגובה לביקורת, ISPA התנצלה והסירה את המועמדות.[46][47] מוזילה לאחר מכן הצהירה כי DoH לא ישמש כברירת מחדל בשוק הבריטי עד לדיון נוסף עם הגורמים הרלוונטיים, אך הצהירה כי זה "יספק יתרונות אבטחה אמיתיים לאזרחי בריטניה".[48]