\documentclass{beamer}

\usetheme{AnnArbor}

\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}

\usepackage{bortzmeyer-utils}

\author[Stéphane Bortzmeyer]
{
  Stéphane Bortzmeyer \texttt{stephane+jdll@bortzmeyer.org}
}

\title[DoH]{Qui va contrôler les noms de domaine ?}

\date[2019]
{JDLL, 7 avril 2019}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{Le DNS}
  \includegraphics[scale=0.41]{resolution.eps} 
\end{frame}

\begin{frame}
  \frametitle{Le problème}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item<2->Le DNS est l'étape obligée,
    \item<3->Mais il est très indiscret (RFC 7626),\only<3>{ plein de gens
      peuvent savoir que vous demandez \computer{pornhub.com},}
    \item<4->Et susceptible de modifications en route,\only<4>{
      (largement utilisé à des fins de censure comme Sci-Hub en mars
      en France),}
    \item<5->Comment garantir confidentialité et intégrité ?  
    \end{itemize}
  \end{overlayarea}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Censure en action}
  Vue par les sondes RIPE Atlas
  \begin{info}
% blaeu-resolve --requested 1000 --country FR --type A sci-hub.tw
[] : 12 occurrences 
[127.0.0.1] : 110 occurrences 
[ERROR: SERVFAIL] : 4 occurrences 
[186.2.163.90] : 237 occurrences 
[ERROR: NXDOMAIN] : 2 occurrences 
Test #20567707 done at 2019-04-05T14:54:55Z    
  \end{info}
\end{frame}
  
\begin{frame}
  \frametitle{Les solutions}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item Les solutions présentées ici sont\only<1>{ (pour
      l'instant),} uniquement pour le lien entre machine terminale et résolveur.   
    \item<2->DoT : DNS-over-TLS (RFC 7858), port dédié (853), donc
      susceptible de blocage,
    \item<3->DoH : DNS-over-HTTPS (RFC 8484), le HTTPS normal sur le
      port 443, plus lent mais plus difficile à bloquer.\only<3>{
        Réutilise toute l'infrastructure de HTTP.}
    \item<4->Dans les deux cas, authentification habituelle TLS.  
    \end{itemize}
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Autres choses sur DoH}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item<2->HTTP/2 seulement,
    \item<3->Format « DNS binaire », pas évident à analyser en
      JavaScript.
    \end{itemize}
    \includegraphics[scale=0.32]{doh.png}
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{On ne peut pas plaire à tout le monde} 
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item Depuis quelques semaines, grosse offensive idéologique
      contre DoH,\only<1>{ cf. débat au FOSDEM en février 2019,}
    \item<2-> Le protocole DoH ?\only<2>{ HTTP est trop bavard.}
    \item<3-> Risque de centralisation avec \foreign{certains}
      déploiements.\only<3>{ Deux ou trois résolveurs DNS pour tout le
        monde ? \emph{Problème non spécifique à DoH}.}
    \item<4-> Résolution prise en main par les applications et pas par
      le système d'exploitation ?\only<4>{ \emph{Problème non
          spécifique à DoH}, tous les logiciels malveillants font déjà
      cela.}
  \item<5-> Perte de contrôle par les intermédiaires : ils ne peuvent
    plus surveiller et censurer.\only<5>{ C'est un peu fait exprès… Et
      \emph{ce n'est pas spécifique à DoH}. Cf. RFC 8404 qui
      regrettait déjà cette perte.}
  \item<6-> Résolution dépendant du lieu problématique\only<6>{ (CDN,
    noms privés, DNS64…) Problème commun à tous les résolveurs
    publics.}
  \item<7->  Tout sur le port 443.
    \end{itemize}
  \end{overlayarea}
\end{frame}

% Autres implémentations https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers

\begin{frame}
  \frametitle{Firefox}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item Mozilla a annoncé DoH pour Firefox en juin 2018 % https://blog.nightly.mozilla.org/2018/06/01/improving-dns-privacy-in-firefox/
    \item<2->Par défaut, vers le résolveur public de Cloudflare % https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/firefox/ Les derniers plans de Mozilla https://mailarchive.ietf.org/arch/msg/doh/HdCYfhOwTEvpicW8vgCfCi6pTKk
    \item<3->Pour se protéger des FAI, on va vers un GAFA ?  
    \end{itemize}
    \includegraphics[scale=0.55]{Scylla_and_Charybdis.jpg} % Détroit de
                                % Messine, monstre ou tourbillon ?
                                % Dans l'Odyssée, c'est un tourbillon.
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{HTTP est indiscret}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item<2->Trop de détails dans la requête\only<2>{
      (\computer{User-Agent:}, par exemple)}, comparé au DNS,
    \item<3->Projet de profil pour réduire le bavardage HTTP.  
    \end{itemize}
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Conclusion}
  \begin{overlayarea}{\textwidth}{.6\textheight}
    \begin{itemize}
    \item<2->DoH est nécessaire, puisque les FAI ne veulent pas
      comprendre ce qu'est la neutralité du réseau,
    \item<3->DoH est indispensable puisque souvent seul le port 443
      est libre.  
    \end{itemize}
  \end{overlayarea}
\end{frame}

\end{document}
