Par François Marier (@fmarier) – Diapositives (PDF – 4,4 Mo)
François travaille chez Mozilla et avait présenté, il y a deux ans aux RMLL, le protocole BrowserID, aussi connu sous le nom de Persona. Cette année, il venait parler des dernières techniques du Web destinées à la protection de la vie privée.
La première est appelée CSP (Content Security Policy). Elle permet d’indiquer au navigateur quels contenus peuvent être chargés, interdisant ainsi par défaut l’exécution des scripts « en ligne ». Ce comportement peut être changé en positionnant la valeur unsafe-inline
dans l’en-tête Content-Security-Policy
.
Une avancée majeure est la possibilité de définir une empreinte associée aux scripts chargés dans la page (paramètre integrity
de la balise <script>
). Si le script a été corrompu, le navigateur refusera ainsi de l’exécuter. Bien entendu cela nécessite de mettre à jour l’empreinte en cas de modification volontaire du script. Cette fonctionnalité est appelée SRI (Sub Resource Integrity) et le site SRI Hash Generator permet de générer les empreintes des ressources que l’on souhaite vérifier.
Autre technique, le HSTS (Strict Transport Security), qui indique au navigateur que le site ne peut être accédé qu’en HTTPS. Aucune tentative de connexion HTTP ne sera alors faire sur le domaine — sauf la première permettant de lire l’en-tête HSTS, ce qui reste contournable en déclarant son site sur hstspreload.appspot.com.
Enfin, sujet assez à la mode dans le développement d’applications Web récentes: le CORS (Cross-Origin Resource Sharing). Par défaut les navigateurs refusent de charger du contenu provenant de domaines différents de la page d’origine. Les en-têtes CORS permettent d’indiquer quels sont les domaines de confiance depuis lesquels des ressources peuvent être récupérées.