Cryptographie
PIR : Private Information Retrieval, en français recherche privée d'information. « Interroger une base de données sans que la base sache ce qu'on lui a demandé », par analogie avec le bibliothécaire qui vous remettrait le bon livre sans avoir pu lire le titre sur votre fiche, exploit que la plupart des bibliothécaires humains n'ont jamais tenté.
Origine : Formalisé en 1995 par Benny Chor, Oded Goldreich, Eyal Kushilevitz et Madhu Sudan, avec plusieurs serveurs supposés ne pas s'entendre entre eux. En 1997, Kushilevitz et Ostrovsky montrent qu'un seul serveur suffit si l'on s'appuie sur une hypothèse de difficulté calculatoire.
La solution triviale : Télécharger toute la base, ce qui garantit une confidentialité parfaite et une facture de bande passante tout aussi parfaite. Les schémas PIR cherchent à faire mieux, au prix d'un calcul côté serveur qui doit, d'une manière ou d'une autre, toucher chaque enregistrement, sans quoi il saurait lesquels on a ignorés.
Usages : Vérifier si un mot de passe figure dans une base de fuites, consulter un annuaire ou un service d'identification d'appelant sans révéler le nom ou le numéro recherché. Les schémas à un seul serveur s'appuient aujourd'hui souvent sur le chiffrement homomorphe.
À ne pas confondre : Le k-anonymat par préfixe d'empreinte, où le client n'envoie que le début du haché recherché, est une approche plus légère : elle réduit ce que le serveur apprend, sans le réduire à rien comme le vise PIR.
Ce qui arrive si on s'en passe
Sans PIR ni mécanisme équivalent, vérifier qu'un mot de passe n'a pas fuité revient à l'envoyer, ou à envoyer son empreinte, à celui qui tient la base : on protège son secret en le confiant à un inconnu. De même, un annuaire interrogé en clair apprend qui cherche qui, et constitue au fil des requêtes un fichier de relations bien plus intéressant que l'annuaire lui-même. La question devient alors la donnée la plus sensible de l'échange.
Explication de la marmotte
Quand on cherche quelque chose dans une base de données, le serveur voit normalement ce que l'on cherche. La recherche privée d'information est une technique de cryptographie qui permet d'obtenir la bonne réponse sans que le serveur sache quelle était la question. Cela sert par exemple à vérifier si son mot de passe a été volé sans le révéler. C'est plus lent qu'une recherche normale, car le serveur doit travailler sur toute la base pour ne rien deviner.
