Continue theorie-information-cryptologie
This commit is contained in:
parent
fac64356e7
commit
34b4645a19
1 changed files with 128 additions and 7 deletions
|
@ -43,7 +43,7 @@
|
|||
\end{itemize}
|
||||
|
||||
\paragraph{Choses à retenir}
|
||||
|
||||
|
||||
La cryptographie est un outil formidable et à la base de nombreux mécanismes de sécurité.
|
||||
Mais elle n'est \emph{pas}~:
|
||||
|
||||
|
@ -79,7 +79,7 @@
|
|||
\end{itemize}
|
||||
|
||||
Comme le premier cas est le plus probable, il permettra de deviner la longueur de la clef.
|
||||
|
||||
|
||||
\paragraph{Méthode Bazeries}
|
||||
|
||||
Cette méthode se base sur l'existence d'un mot \emph{probable} et préconise la recherche du mot-clef.
|
||||
|
@ -111,7 +111,7 @@
|
|||
|
||||
\section{Stéganographie}
|
||||
|
||||
\section{cryptographie appliquée au WiFi}
|
||||
\section{Cryptographie appliquée au WiFi}
|
||||
|
||||
\subsection{Les attaques sur WiFi}
|
||||
|
||||
|
@ -149,13 +149,13 @@
|
|||
|
||||
\item 2001, \emph{802.1X} avec WEP (LEAP) --- authentification \emph{802.1X} avec gestion des clés, protection des données par \emph{WEP}.
|
||||
Le protocole 802.1X, au niveau MAC, va contacter un serveur d'authentification.
|
||||
Ces serveurs sont appelés AAA (authentication, authorisation, accounting).
|
||||
Ces serveurs sont appelés AAA (Authentication, Authorisation, Accounting).
|
||||
802.1X permet également de changer les clés, contrairement au \emph{WEP statique}.
|
||||
|
||||
\item 2003, \emph{WPA} --- authentification \emph{802.1X} avec une gestion des clés améliorée, protection des données par \emph{TKIP}.
|
||||
On a patché le WEP avec TKIP parce que WEP avait été cassé.
|
||||
|
||||
\item 2004, \emph{WPA2} --- standard \emph{IEEE 802.11i}, authentification 802.1X avec une gestion des clés améliorée, protection des données par \emph{AES} et \emph{pré-authentification}.
|
||||
\item 2004, \emph{WPA2} --- \emph{standard IEEE 802.11i}, authentification 802.1X avec une gestion des clés améliorée, protection des données par \emph{AES} et \emph{pré-authentification}.
|
||||
|
||||
\item 2018, \emph{WPA3} --- handshake \emph{dragonfly}, \emph{PFS} (Perfect Forward Secrecy), management frames protection (obligatoire).
|
||||
Deux chercheurs ont trouvé une faille dans WPA2 en 2017.
|
||||
|
@ -163,9 +163,31 @@
|
|||
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Résumé}
|
||||
|
||||
\begin{tabularx}{\linewidth}{YYYYY}
|
||||
\toprule
|
||||
& \textbf{WEP} & \textbf{WPA} & \textbf{WPA2} & \textbf{WPA23} \\
|
||||
\toprule
|
||||
\textbf{Acronyme} & Wired Equivalent Privacy & WiFi Protected Access & WiFi Protected Access 2 & WiFi Protected Access 3 \\
|
||||
\midrule
|
||||
\textbf{Année de développement} & 1997 & 2003 & 2004 & 2018 \\
|
||||
\midrule
|
||||
\textbf{Niveau de sécurité} & Très faible & Faible & Élevé & Très élevé \\
|
||||
\midrule
|
||||
\textbf{Chiffrement} & RC4 & TKIP et RC4 & AES-CCMP & AES-CCMP et AES-GCMP \\
|
||||
\midrule
|
||||
\textbf{Taille de clé} & 64bit, 128bit & 128bit & 128bit & 128bit, 256bit \\
|
||||
\midrule
|
||||
\textbf{Authentification} & Open System et clé partagée & clé pré-partagée et 802.1X avec EAP & clé pré-partagée et 802.1X avec EAP & AES-CCMP et AES-GCMP \\
|
||||
\midrule
|
||||
\textbf{Intégrité} & CRC-32 & MIC 64bit & CCMP avec AES & SHA-2 \\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\subsection{WEP}
|
||||
|
||||
La confidentialité est assurée par un chiffrement grâce à algorithme à flot continu.
|
||||
La confidentialité est assurée par un chiffrement grâce à un algorithme à flot continu.
|
||||
|
||||
\paragraph{RC4}
|
||||
|
||||
|
@ -175,8 +197,107 @@
|
|||
Il est \emph{bytes-oriented}~: il génère caractère par caractère (un seul octet à chaque étape).
|
||||
Un secret partagé est nécessaire (par mot de passe par exemple), souvent de 40 bits (5 caractères) ou 128 bits (13 caractères).
|
||||
|
||||
Les algorithmes stream cipher n'utilisent que des opérations basiques avec des XOR (pas d'exonentielle, de factorielles, de multiplication\ldots).
|
||||
Les algorithmes stream cipher n'utilisent que des opérations basiques avec des XOR (pas d'exponentielle, de factorielle, de multiplication\ldots).
|
||||
Ils sont donc simples à implémenter et à déchiffrer.
|
||||
Par ailleurs, pas besoin de faire de bourrage (rendre la taille des blocs identiques).
|
||||
|
||||
\paragraph{Attaque sur RC4}
|
||||
|
||||
\subsection{WPA}
|
||||
|
||||
L'objectif, urgent, était de remplacer WEP\@.
|
||||
Le standard est WPA2.
|
||||
|
||||
On a ajouté un compteur pour empêcher les attaques par rejeu.
|
||||
Le vecteur d'initialisation a une taille de 48 bits.
|
||||
Les clés sont actualisées dynamiquement grâce à TKIP\@.
|
||||
Dans WPA2, on utilise AES à la place de RC4.
|
||||
|
||||
\paragraph{WPA Personnel et Entreprise}
|
||||
|
||||
Il y a deux façons d'utiliser WPA\@.
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item Personnel --- Utilise des clés pré-partagées (PSK).
|
||||
Chaque appareil connecté à l'AP utilise le même secret.
|
||||
L'utilisateur doit entrer une clé de 256 bits.
|
||||
|
||||
\item Entreprise --- Authentification par serveur IEEE 802.1X, qui distribue différentes clés aux utilisateurs.
|
||||
Souvent le serveur utilisé est Radius, ce qui permet de centraliser la gestion des informations d'identification des utilisateurs.
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\paragraph{Robust Security Network (RSN)}
|
||||
|
||||
\begin{itemize}
|
||||
\item Contrôle d'accès~: on se base sur 802.1.
|
||||
Le contrôle d'accès est basé sur le port.
|
||||
Quand on est branché cela ne veut donc pas dire qu'on est authentifié.
|
||||
\item Authentification et génération des clés~: on utilise Extensible Authentication Protocol (EAP).
|
||||
\item Confidentialité, authenticité, intégrité et protection anti rejeu~: on utilise TKIP et CCMP\@.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Le modèle 802.1X}
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\node [rectangle,draw,thick,minimum height=3cm] (supplicant) at (0,0) {Système Supplicant};
|
||||
\node [rectangle,draw,thick] at (0,-1) {Client PAE};
|
||||
\node [rectangle,draw,thick] at (4,-1) {Controlleur PAE};
|
||||
\node [rectangle,draw,thick] (radius) at (8,0) {\parbox{3.1cm}{\centering Serveur \\ d'authentification \\ (Radius)}};
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\paragraph{Phases opérationnelles de 802.11i}
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item Politique de sécurité ---
|
||||
|
||||
\item Authentification ---
|
||||
Le probe request (Open System 802.11) renvoie toujours un ``Authentication Success'', pour des raisons de compatibilité des équipements.
|
||||
La véritable authentification se fait dans la phase 2.
|
||||
|
||||
Après avoir détecté qu'on est en WPA Entreprise (pas de PSK), on va joindre un client Radius, qui demande une identité, \emph{Request Identity}, à laquelle sera répondue une \emph{Response Identity} (802.1X/EAP).
|
||||
Le client Radius fait alors une \emph{Request Identity} au serveur Radius.
|
||||
Ce serveur Radius va alors dériver la clé maîtresse dans un message EAP spécifique.
|
||||
Puis un \emph{Radius Accept} est envoyé au client Radius, qui renvoie un \emph{802.1X Success} au Supplicant.
|
||||
|
||||
Le client Radius (AP), ne décapsule pas toute la trame reçue.
|
||||
Il s'arrête à EAP, ce qui le rend plus léger~: il n'a qu'un protocole à implémenter.
|
||||
|
||||
EAP propose plusieurs méthodes de chiffrement pour permettre une négociation.
|
||||
\texttt{md5} n'est pas utilisé, car il ne génère pas de clé maîtresse.
|
||||
\texttt{TLS} nécessite un certificat.
|
||||
Le plus utilisé est PEAP (Protected EAP).
|
||||
On crée un tunnel SSL avec le certificat du serveur Radius.
|
||||
C'est dans ce tunnel que l'on authentifie le client.
|
||||
|
||||
On peut aussi utiliser EAP/TTLS (Tunneled TLS), ce qui permet de supporter d'anciennes méthodes non supportées par EAP, car on les encapsule dans un tunnel.
|
||||
On peut alors par exemple utiliser \texttt{md5}, même s'il ne génère pas de clé maîtresse.
|
||||
|
||||
\item Dérivation et distribution des clés ---
|
||||
Une fois que le client est authentifié, le point d'accès initie un 4-way handshake.
|
||||
Il permet de~:
|
||||
|
||||
\begin{itemize}
|
||||
\item confirmer la connaissance de la PMK par le client
|
||||
\item dériver une nouvelle PTK
|
||||
\item installer les clés de chiffrement et d'intégrité
|
||||
\item
|
||||
\end{itemize}
|
||||
|
||||
\begin{enumerate}
|
||||
\item L'AP envoie un ANonce (Nonce = Number used Once), aléatoire.
|
||||
\item Le client dérive la PTK et envoie un SNonce aléatoire.
|
||||
\item L'AP dérive la PTK, initialise la GMK et calcule la GTK\@.
|
||||
Puis il envoie la GTK chiffrée.
|
||||
\item Les deux entités sont synchronisées avant le chiffrement, puis le client envoie un ACK\@.
|
||||
\end{enumerate}
|
||||
|
||||
Le port 802.1X est alors ouvert, le client et l'AP installent la PTK et la GTK\@.
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in a new issue