QR-prune

Une personne de ma connaissance s’est récemment vu infliger un procès-verbal pour un stationnement jugé inadéquat par l’autorité locale. Jusque là, rien de très original, sauf que le procès-verbal se réduisait à un papier format carte postale agrémenté d’un code QR et d’une légende que je reproduis ci-dessous (les zones masquées de rouge vif sont de mon fait, de manière à assurer l’anonymat de la personne en question).

Amende d’ordre QR

L’utilisation de codes QR pour tout et pour rien n’est certes pas une nouveauté, et l’usage risque de se généraliser à d’autres cantons ou régions dans le proche futur (ou, plus probablement, c’est déjà fait !). Je ne connais pas les diverses implémentations qui ont pu être effectuées, mais celle de Neuchâtel appelle tout de même quelques commentaires.

La personne qui a reçu cet avis d’infraction a tout d’abord cru qu’il s’agissait d’un code QR de facturation, comme les codes figurant sur les bulletins de versement, et qui seront bientôt (à l’automne 2022) les seuls utilisables; cette personne a donc tenté de le lire avec son logiciel de paiement, ce qui bien sûr a échoué avec un message d’erreur sibyllin, genre « Code QR invalide« . Cet échec l’a poussée à se renseigner auprès d’un spécialiste (enfin, supposé tel), en l’occurrence votre serviteur, les explications données sur le site mentionné dans le bulletin d’amendes ne lui ayant apparemment pas permis de répondre aux questions qu’elle se posait.

L’idée du code QR est de rediriger l’utilisateur vers un site web qui permettra d’accéder à l’avis d’infraction; la démarche correcte est donc de scanner le code QR, d’en extraire l’adresse (URL) de la page web correspondant au paiement d’infractions, de visiter cette page et de régler le montant dû. Parfait. Mais il y a quelques détails d’implémentation qui dérangent. Tout d’abord, ce n’est pas n’importe quel smartphone qui peut scanner et interpréter un code QR; des modèles plus anciens nécessitent un logiciel spécialisé, comme le vénérable Barcode scanner pour Android. Et pour les réfractaires à l’informatique mobile, il faut donc introduire à la main l’URL mentionnée dans le texte au-dessous du code QR, puis, arrivé sur la bonne page web, introduire son numéro d’immatriculation et un numéro de référence (appelé maladroitement « référence web » sur le bulletin) relativement malaisé à manipuler. Ce n’est d’ailleurs qu’à ce stade que l’on peut prendre connaissance de la somme à payer. Il semble que cette information eût pu être donnée plus tôt, mais bon…

Même en disposant d’un smartphone de dernière génération, les ennuis ne sont pas terminés pour autant. Comme mentionné précédemment, le montant à payer n’est pas mentionné sur le bulletin d’amende d’ordre; il ne peut être connu qu’au travers du site web. Arrivé sur ce site au moyen de son smartphone, le malheureux contrevenant sera donc amené à payer le montant de l’infraction, probablement au moyen de ce même smartphone. Il devra donc ouvrir une deuxième session, scanner un deuxième code QR dans une deuxième application pour effectuer son paiement, par exemple avec une application comme TWINT. Les interfaces utilisateurs de smartphones ne sont pas vraiment conçus pour faciliter la gestion du multitâches, même si ce dernier est supporté de manière native par les systèmes d’exploitation; il y a donc quelque chance pour que l’une des sessions actives se ferme intempestivement, au grand dam de l’utilisateur ! Au mieux, il peut tout recommencer; au pire il abandonnera, ou pensera avoir effectué un paiement et recevra un rappel surfacturé dans quelques jours. Voilà une source d’erreurs pour l’utilisateur qu’une procédure plus intuitive eût sans doute permis d’éviter !

Il y a un autre souci, beaucoup plus préoccupant, celui-là. L’URL contenu dans le code QR n’est pas identique à celui qui est proposé pour l’accès « manuel » au site. La différence qui interpelle, c’est que le site défini par le code QR est un site « http » (donc non sécurisé et ne proposant aucun certificat garantissant son authenticité), alors que le site indiqué pour l’accès manuel est un site en « https » (donc sécurisé !). Voilà qui n’est pas fait pour inspirer confiance, surtout quand votre smartphone vous gratifie d’un avertissement péremptoire du genre « Attention, vous allez visiter un site non sécurisé, êtes-vous sûr de vouloir prendre ce risque ? » ou similaire. Il n’y a aucune raison valable pour utiliser un site non sécurisé alors qu’un pendant sécurisé existe, à moins qu’une erreur de programmation ne se soit glissée dans le développement, ou que le « s » de https n’aie rendu l’URL trop longue pour la capacité du code QR (ce qui ne constitue en aucun cas une raison valable, bien sûr). Cette erreur est loin d’être bénigne, et témoigne d’un manque de rigueur dans le développement et dans les tests qui laisse perplexe.

Une autre question que je me pose, c’est de savoir quand un petit futé amateur de programmation web s’amusera à créer de fausses amendes d’ordre sur ce modèle, redirigeant la procédure vers un site qu’il contrôle, lui (site de phishing ou Hameçonnage) et développé sur le modèle du site original; c’est beaucoup plus facile à réaliser que ce que l’on veut bien prétendre : un de mes diplômants (brillant, certes) avait en son temps réalisé un tel site en deux heures pour les besoins d’une démonstration lors de sa défense de diplôme, et l’expert n’y avait vu que du feu… S’il réalise ceci, il n’aura plus qu’à imprimer de fausses « prunes » à placer de ci, de là sur des pare-brise en ville de Neuchâtel, et attendre que son compte en banque se remplisse.

Je continue à penser que l’on doit aller vers une plus grande numérisation des procédures; mais cette numérisation devrait simplifier la vie des utilisateurs, et leur garantir une meilleure sécurité des transactions. Dans le cas présent, j’ai quelques doutes.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.