Developpez.com

Le Club des Développeurs et IT Pro

Connexions SSL 30 % plus rapides avec « False Start »

Une innovation de Google compatible avec la majorité des sites Web

Le 2010-10-05 15:28:17, par jamesfayssal, Chroniqueur Actualités
Mise à jour du 20/05/2011 par Idelways

Des chercheurs de Google dévoilent les résultats d'une longue expérimentation ayant pour but la réduction des délais d'établissement des connexions SSL sécurisées entre le navigateur et les sites Web.
Une lenteur qui freine quelque peu l'adoption de cette mesure de sécurité, pourtant indispensable comme en témoigne l'épisode FireSheep (lire par ailleurs).

La technique conçue par Google s'appelle « False Start ». Implémentée sur le navigateur Chrome depuis la version 9, elle réduit de 30 % le temps nécessaire à l'établissement des connexions SSL (Secure Sockets Layer)

Son fonctionnement repose sur la réduction de la quantité de données échangée entre le serveur et le navigateur durant la négociation d'une nouvelle session.

La spécification exige des échanges en deux aller-retour avant que la clé soit récupérée et le tunnel SSL créé. Une contrainte qui peut ralentir le temps de chargement des pages et augmenter la quantité de paquets devant être traités.

La solution de Google écourte la négociation en réduisant ces échanges à un seul aller-retour. Elle fonctionne pour la majorité des sites Web, sans aucune intervention sur les serveurs HTTPS.

Adam Langley, Nagendra Modadugu et Bodo Moeller, ingénieurs à l'origine de cet exploit, affirment sur le blog de Chromium avoir testé cette solution sur tous les sites HTTPS de l'index Google.
94.6 % des connexions False Start ont réussi contre 0.4 % d'échecs. Les 5 % des sites restants étant indisponibles.

Un test plus robuste a donc été conçu pour analyser les raisons du 0.4 % d’échecs.
En dehors des certificats expirés et les autres raisons indépendantes de False Start, les chercheurs de Google affirment que les certificats restants sont délivrés par une poignée de fournisseurs, contactés par Google à ce sujet.

La plupart d'entre eux aurait déjà corrigé ce problème, en voie de l'être aussi pour les fournisseurs de certificats SSL restants.

En attendant, Google Chrome et Chromium désactivent False Start pour les sites répertoriés dans une liste noire.

La proposition de Google a été soumise l'année passée (en vue de sa standardisation, lire ci-devant) à l'Internet Engineering Task Force, un groupe international ouvert, qui participe à l'élaboration de standards pour Internet.

Plus de détails sur la proposition de Google sur cette page

Source : Blog de Chromium

Et vous ?

Qu'en pensez-vous ?

Chrome va accélérer la navigation
Avec False Start, un protocole qui fonctionnerait avec presque tous les sites

Google va utiliser Chrome pour minimiser le temps de transfert des données lors de la navigation, surtout sur les sites Web trop lents.

Cette nouvelle technologie s'appelle False Start. Elle agit sur les communications entre le navigateur et le serveur lors de l’établissement d’une connexion sécurisée.

Résultat annoncé, une réduction du temps de transfert des données de 7 centièmes de secondes pour une connexion sur les Etats-Unis et de 15 centièmes de secondes pour une connexion entre les Etats-Unis et l’Europe.

La technologie False Start ne nécessite aucun changement sur le serveur. Adam Langely, co-auteur du protocole False Start affirme que c’est au niveau du navigateur que le protocole agit.

Google Chrome a implémenté sur son navigateur une ligne de commande qui permet aux utilisateurs d’activer à volonté le protocole. Une fonctionnalité qui n'est pas sans rappeler le « Turbo » de Opera.

Adam Langely estime sur son blog que cette technologie n’est cependant pas applicable à tous les sites. Une limite toutefois assez faible puisque seuls 0,05% des sites ne fonctionneraient pas avec False Start.

Quoiqu'il en soit, l’équipe Google Chrome a créé une liste noire qui regroupe les sites non compatibles.

Selon Adam Langely, cette Black List est difficile à maintenir à jour. Mais elle reste nécessaire pour inciter ces sites à devenir compatibles.

False Start sera en tout cas vue comme une très bonne intitative par de nombreux webmestres. Encore plus depuis qu'une étude a montré que les internautes désertent les sites Web qu'ils jugent lents.

Source : le blog d'Adam Langley et le site du projet False Start

Et vous ?

Bonne idée que ce False Start ou le gain de temps vous parait-il minime ?
  Discussion forum
17 commentaires
  • Neko
    Membre chevronné
    Le mode turbo d'Opera est au contraire extrêmement différent puisqu'il fait passer les connexions par un proxy qui compresse les pages web et recompresse les images avant de les transmettre au navigateur.
    Maintenant est-ce que 15 centièmes de secondes gagnés sont ne serait-ce que perçus par l'utilisateur ?
  • Et après y'en a qui râlent quand c'est Microsoft qui crée ses propres "standards" du web
  • Neko
    Membre chevronné
    Ben TLS ( complet ) est toujours pris en charge. Si False Start montre des déficiences il sera toujours possible d'y revenir.
    Par contre la perte de l'authentification semble être une baisse du niveau de sécurité.
  • ludosoft
    Membre habitué
    Question un peu naïve mais essentielle : quel est l'impact de cet allègement sur le niveau de sécurité ?
    Je comprends bien que cela ne touche pas le tunnel ssl en lui-même une fois établi mais l'allègement de la négociation a t-il un impact dans le cas du "man in the middle" ?
  • Idelways
    Expert éminent sénior
    Bonjour Michael REMY,

    Il faut plutôt lire "Connexions SSL 30 % plus rapides que les même connexions SSL sécurisés avant que Google n'intègre False Start à Google Chrome", mais on ne peut pas toujours tout mettre dans le titre

    Cordialement
    Idelways
  • 10-nice
    Membre averti
    Elle agit sur les communications entre le navigateur et le serveur lors de l’établissement d’une connexion sécurisée
    Et quid de la charge supplémentaire que le serveur doit encaisser ? Est-ce qu'en plus du souci d'optimisation de multiples CMS les dev et IT vont devoir travailler à résoudre encore des charges serveur supplémentaires ?
  • dolu02
    Membre averti
    Envoyé par jamesfayssal
    Elle agit sur les communications entre le navigateur et le serveur lors de l’établissement d’une connexion sécurisée.
    Uniquement https donc?
  • huit_six
    Membre actif
    Non, personne ne râle quand microsoft crée et propose ses standards, par contre il est sain de râler quand ms tente de les imposer en abusant de sa position dominante, nuance.

    C'est bien souvent les entreprises qui lancent une innovation et la testent sur leurs propres produits. ensuite, ces mêmes entreprises font partager leurs retours d'expérience aux comités de normalisation. Et c'est là qu'émerge la norme.

    Par contre, j'ai vraiment pas compris comment ça marche techniquement.
  • Neko
    Membre chevronné
    Par contre, j'ai vraiment pas compris comment ça marche techniquement.
    Pendant l'établissement de la connexion.
    Ils réduisent le nombre d'informations envoyées par les 2 parties avant l'envoie du contenu. Bref, ils allègent le protocole TLS
  • pseudocode
    Rédacteur
    Envoyé par Neko
    Pendant l'établissement de la connexion.
    Ils réduisent le nombre d'informations envoyées par les 2 parties avant l'envoie du contenu. Bref, ils allègent le protocole TLS
    Tout a fait. En gros le protocole TLS (abusivement appelé SSL, https) procède en deux phases:

    phase 1 : Négociation de la méthode de chiffrage entre le client et le serveur

    (Cette phase inclut aussi le type d'authentification des pairs, via les certificats)

    phase 2 : Échange des clés de chiffrages entre le client et le serveur

    Avec "false start", on aurait seulement la phase d'échange des clés. Le type d'authentification et la méthode de chiffrage serait alors implicite.