Cela fait maintenant un jour que le blog GoogleWebmasterCentral (le blog ultra lu de Google parlant aux webmasters du monde, à commencer par les amateurs de bullshit-SEO-esque) affiche un article expliquant que Google favorisera désormais les sites disponibles en HTTPS. Les articles de réactions pour ou contre cette mesure ne se sont pas fait attendre, avec plus ou moins de profondeur et de réflexion, il me parait donc intéressant d’y mettre mon grain de sel … détaillons …
Tout d’abord rappelons ce que dit Google à ce sujet :
- « we’re also working to make the Internet safer more broadly. » = Ils veulent qu’Internet soit plus sûr
- « we’re starting to use HTTPS as a ranking signal » = LA grosse nouvelle : un site accessible en HTTPS sera donc favorisé par rapport à un non accessible en HTTPS
- « carrying less weight than other signals such as high-quality content » = L’AUTRE grosse partie de l’information : cela reste un facteur négligeable par rapport au reste : contenu de qualité, liens entrants, pas reconnu comme spammeur, etc.
J’en ai déduit qu’il n’y avait pas tant de bruit à faire autour de cette histoire. Le facteur « site accessible en HTTPS » restera négligeable, et ce probablement un certain temps.
Pourquoi est-ce une bonne nouvelle ?
Pour faire rapide, voici les arguments contre l’idée de mettre du HTTPS partout, et ma réponse sur ce sujet, montrant à quel point généraliser HTTPS est faisable, et rendra l’Internet plus sûr
Pour un site n’hébergeant pas de données personnelles, avoir HTTPS ne sert à rien
Non, HTTPS est toujours une bonne idée car cela chiffre plus du traffic que l’on échange tous les jours. Une écoute passive du réseau ne verra pas, sur les sites en HTTPS, où vous surfez [au pire, dans les métadonnées, votre agence gouvernementale préférée saura sur quel domaine vous vous connectez via l’IP cible ou le [domaine SNI, en effet, les certificats multiples utilisent une extension à TLS qui fait que votre navigateur envoie le nom du domaine demandé avant de terminer la négociation de chiffrement.]], ce qui est bien contre la surveillance pervasive de masse, donc contre la surveillance la moins légitime.
De plus, ce que vous considérez comme des données personnelles n’est pas forcément ce que vos lecteurs considèrent comme des données personnelles : si votre blog parle de sécurité informatique, cela peut être incriminant dans certains pays. Un blog parlant de santé peut aussi être très personnel même si vous ne faites qu’y surfer !
Un certificat SSL, ça coûte cher
Oui et non. Si vous allez chez Symantec (ex Verisign) vous allez payer très cher un certificat qui n’a aucune valeur technique de plus que celle de Comodo ou StartSSL. Or ces 2 derniers sont au quart, voire au dixième du prix de Verisign !
Ainsi, un certificat mono-domaine standard coûte 7€ par an chez Namecheap, un wildcard 67€, et un certificat EV 110€ [[Les certificats EV, pour Extended Validation, impliquent de vérifier votre société ou votre nom dans le registre du commerce, en plus de vérifier que le domaine est à vous, mais affichent ensuite une barre verte dans le navigateur avec votre nom commercial]].
Sous-argument du même acabit : « j’ai 40 noms de domaines, ça va me ruiner ! ». Si vous avez 40 noms de domaines, vous payez donc déjà au moins 8*40 = 320€ par an en nom de domaine, si on passe à (8+7)*40 = 600€, c’est plus cher en effet. Sauf que si vous avez 40 noms de domaines, cela signifie que vous gérez 40 sites web différents : si vous n’avez pas un budget de 600€ au lieu de 320€ pour ces 40 sites, je ne comprends pas bien ce que vous en faites …
Un certificat SSL, c’est compliqué à installer
Mon hébergeur ne gère pas SSL en mutualisé / vm / etc.
En effet, SSL est, à ce jour, compliqué à installer. Il faut comprendre les concepts de certificat, CSR, certificat chaîné, etc. J’ai même fait une conférence sur SSL/TLS il y a un an expliquant tout cela.
Cependant, il y a 15 ans, installer son propre nom de domaine ou configurer ses boites mails était un cauchemar pour tous. Désormais les panneaux de contrôle web et les interfaces propriétaires d’hébergeurs permettent de gérer tout cela en un clic. En faisant de HTTPS un sujet en soi, Google donne aux hébergeurs et développeurs de logiciels libre l’initiative d’intégrer ce service à leur offre, et donc d’en simplifier l’intégration !
Ainsi, Octopuce a récemment utilisé l’API de Namecheap pour déployer, et surtout renouveler de manière totalement automatique les certificats SSL de ses hébergés. Ce service, actuellement en Beta, sera mis à disposition de tous nos clients en septembre 2014.
le HTTPS c’est plus lent que le HTTP
oui et non, c’est forcément plus compliqué que cela.
Oui HTTPS est un peu plus lent, surtout parce que lorsque l’on se connecte au serveur web, on doit recevoir et vérifier son certificat, négocier les clés de chiffrement etc. Sur un site proche (géographiquement) cela se voit à peine, mais sur un site lointain ou sur un téléphone mobile, la surcharge peut rapidement atteindre la seconde.
Or, de nombreux sites web servent leur page avec des latences de l’ordre de la seconde. Donc la première chose à faire, étant donné qu’il est extrêmement important d’avoir un site rapide de nos jours, sera d’optimiser la vitesse de votre site, pour descendre en-dessous de la seconde, voire de la demi-seconde pour servir une page. Profitez-en pour voir aussi à quel point les trucs en javascript ralentissent le rendu et le ressenti de votre page.
Ensuite, HTTPS une fois lancé n’est pas plus lent : les navigateurs enchaînent les requêtes les unes derrières les autres dans le même socket. Et si un nouveau socket TCP doit être créé, la session TLS sera réutilisée (si le serveur est bien configuré)
Enfin, dernier clou dans le cercueil : Speedy ! SPDY, le nom du protocole alternatif à HTTP mis au point par Google et déployé sur Firefox, Opera, Chrome, Safari, Internet Explorer (donc en pratique sur 99% des navigateurs) permet d’accélérer la navigation en profitant de tout un tas d’optimisations : compression automatique, pipelining (envoi simultané de plusieurs flux) etc. et SPDY, pour fonctionner, requiert HTTPS ! Donc HTTPS+SPDY est la bonne solution pour retrouver de meilleures performances qu’en HTTP tout en garantissant le chiffrement de la connexion !
Le HTTPS ça ne sert à rien, la NSA/le FSB/ le GCHQ … a cassé toute la crypto
Le HTTPS ça ne sert à rien car les autorités de certification sont un bazar sans nom, cassé au-delà de l’imaginable
non, la crypto n’a précisément pas été cassée : S’il y a bien une chose que l’on a appris des révélations d’Edward Snowden, c’est que l’on peut se reposer sur les algorithmes de chiffrement. Cela ne signifie pas que votre windows 8 ne sera plus jamais vérolé, mais au moins les tuyaux ne pourront pas être écoutés aussi facilement !
Par contre, oui, le système d’autorités de certifications de SSL/X.509 est cassé bureaucratiquement au-delà du réparable. N’importe quelle autorité installée dans les navigateurs peut signer le certificat de n’importe quel domaine. Quand ces autorités ne se font pas tout simplement pirater !
Enfin, argument choc à mon avis pour la généralisation de HTTPS : si nous sommes beaucoup plus nombreux à utiliser HTTPS, donc à avoir besoin de certificats SSL, d’autorités de certification fiable et de prix bas, cela mettra l’attention des utilisateurs de service Internet sur la sécurité, la confidentialité, les protocoles utilisés etc. Se faisant, l’attention et la scrutation des protocoles, mises en œuvres de ces protocoles (qui a dit openssl ? tu sors ![OpenSSL est le logiciel mondialement utilisé pour faire du SSL en général, et du HTTPS en particulier. De nombreuses failles graves ont été trouvées dans cette librairie en 2014, donnant lieu à 2 versions censément plus sérieuses : [LibreSSL et BoringSSL ]]) ira vers un maximum, favorisant les améliorations progressives de ces protocoles et normes de sécurité.
Conclusion
Vous vous en doutez, la conclusion est : installez HTTPS dès aujourd’hui sur vos sites web. Au moins pour tester, vérifier qu’ils fonctionnent bien (car les ressources externes comme les images, css, js, doivent elles aussi être servies en HTTPS, ce qui peut s’avérer être un challenge).
Une fois cela fait, faites ajouter votre site à HTTPS Everywhere en créant une règle ad-hoc, et ajoutez l’en-tête HSTS pour signaler que vos pages doivent être accédées en HTTPS de force, et vérifiez la qualité de votre serveur web à l’aide de l’outil du SSL Labs de Qualys !
Enfin, le fait qu’un empire comme celui de Google favorise HTTPS est une bonne nouvelle, mais cela n’empêche en rien que l’empire a un empereur, et qu’il porte donc atteinte en masse à nos libertés, notre vie privée, et qu’il convient de continuer les efforts en vue de décentraliser mieux les services que nous utilisons sur Internet : email, recherche, collaboration en ligne etc.