Tout d'abord non, la plupart des gens ne souhaitent pas simplement accéder à ce ** de site. Ils veulent le faire *et* ne pas compromettre la sécurité (sinon autant aller en http simple).
Ensuite non, nous ne sommes pas dans une configuration similaire à SSH. SSH se fait souvent dans des conditions idéales :
- peu de destinations, toutes connues,
- généralement ces destinations sont fortement maitrisées (souvent on est l'administrateur de la machine)
- généralement accédé depuis son poste et d'un réseau connu, maitrisé
- on ne rencontre jamais de nouveau serveur "par hasard" ou par découverte, la liste change rarement
- si le serveur ssh change de certificat on le sait, on sait facilement que c'est anormal dans le cas contraire
- on s'adresse à des utilisateurs tous très avertis
Là côté web c'est tout le contraire :
- il y a facile une centaine de destinations même pour l'utilisateur de base
- aucune n'est maitrisée (mais alors *pas* du tout)
- pas si rarement accédées en situation de mobilité, à partir de réseaux non contrôlés
- on découvre fréquemment de nouveaux serveurs, qu'on ne connait pas auparavant, la liste change souvent
- on ne sait jamais si un nouveau certificat est normal ou s'il est révélateur d'une malveillance
- on s'adresse en partie à des utilisateurs qui n'y connaissent rien (voire pire : qui se méprennent)
Et ça change tout.
- On me signale par mail un problème avec mon compte en banque, je vais sur le wifi du mac do avec mon téléphone portable, c'est ma première connexion au site avec ce téléphone, je fais quoi ?
- Un copain me conseille un site par mail, j'y vais pour la première fois, le certificat semble auto-signé, je fais quoi ? est-ce normal ?
- Le certificat de Linuxfr.org change, il est auto-signé (imaginons), comment sait-je s'il y a eu un problème ou s'il a réellement changé ?
Le résultat c'est que le comportement par défaut doit bien être d'abandonner. Le fait d'avertir si le certificat a changé n'est pas suffisant. Si on reprend les habitudes de ssh sur le web, on revient rapidement à ce qu'il y avait avant sous Mozilla : aucun labyrinthe, juste une popup qui retient le statut ensuite. C'est simple, excellent, mais finalement la popup ne sert quasiment à rien, on cliquera toujours sur "continuer" ou presque.
On est d'accord que un changement est un critère principal dans l'équation, mais la problématique n'est pas simple pour autant. Dans mon exemple le navigateur avait bel et bien prévenu que le certificat avait changé (puisque tous ont eu le labyrinthe Mozilla, sinon ça serait passé direct). Ca n'a pas suffit.
En fait une des solutions serait d'avoir enfin une autorité de confiance gratuite *ET* qui fait son boulot (donc qui vérifie réellement la propriété du domaine avant d'envoyer le certificat) *ET* qui passe un audit pour être intégrée dans les navigateurs courants (l'intégration de cacert dans les distributions Linux n'a pas été une bonne chose amha)
[^] # Re: Certificat auto-signé
Posté par Éric (site web personnel) . En réponse à la dépêche HSTS arrive dans Firefox 4. Évalué à 3.
Tout d'abord non, la plupart des gens ne souhaitent pas simplement accéder à ce ** de site. Ils veulent le faire *et* ne pas compromettre la sécurité (sinon autant aller en http simple).
Ensuite non, nous ne sommes pas dans une configuration similaire à SSH. SSH se fait souvent dans des conditions idéales :
- peu de destinations, toutes connues,
- généralement ces destinations sont fortement maitrisées (souvent on est l'administrateur de la machine)
- généralement accédé depuis son poste et d'un réseau connu, maitrisé
- on ne rencontre jamais de nouveau serveur "par hasard" ou par découverte, la liste change rarement
- si le serveur ssh change de certificat on le sait, on sait facilement que c'est anormal dans le cas contraire
- on s'adresse à des utilisateurs tous très avertis
Là côté web c'est tout le contraire :
- il y a facile une centaine de destinations même pour l'utilisateur de base
- aucune n'est maitrisée (mais alors *pas* du tout)
- pas si rarement accédées en situation de mobilité, à partir de réseaux non contrôlés
- on découvre fréquemment de nouveaux serveurs, qu'on ne connait pas auparavant, la liste change souvent
- on ne sait jamais si un nouveau certificat est normal ou s'il est révélateur d'une malveillance
- on s'adresse en partie à des utilisateurs qui n'y connaissent rien (voire pire : qui se méprennent)
Et ça change tout.
- On me signale par mail un problème avec mon compte en banque, je vais sur le wifi du mac do avec mon téléphone portable, c'est ma première connexion au site avec ce téléphone, je fais quoi ?
- Un copain me conseille un site par mail, j'y vais pour la première fois, le certificat semble auto-signé, je fais quoi ? est-ce normal ?
- Le certificat de Linuxfr.org change, il est auto-signé (imaginons), comment sait-je s'il y a eu un problème ou s'il a réellement changé ?
Le résultat c'est que le comportement par défaut doit bien être d'abandonner. Le fait d'avertir si le certificat a changé n'est pas suffisant. Si on reprend les habitudes de ssh sur le web, on revient rapidement à ce qu'il y avait avant sous Mozilla : aucun labyrinthe, juste une popup qui retient le statut ensuite. C'est simple, excellent, mais finalement la popup ne sert quasiment à rien, on cliquera toujours sur "continuer" ou presque.
On est d'accord que un changement est un critère principal dans l'équation, mais la problématique n'est pas simple pour autant. Dans mon exemple le navigateur avait bel et bien prévenu que le certificat avait changé (puisque tous ont eu le labyrinthe Mozilla, sinon ça serait passé direct). Ca n'a pas suffit.
En fait une des solutions serait d'avoir enfin une autorité de confiance gratuite *ET* qui fait son boulot (donc qui vérifie réellement la propriété du domaine avant d'envoyer le certificat) *ET* qui passe un audit pour être intégrée dans les navigateurs courants (l'intégration de cacert dans les distributions Linux n'a pas été une bonne chose amha)