Aller au contenu

OPRF : Oblivious Pseudorandom Function

Cryptographie

OPRF : Oblivious Pseudorandom Function. « Fonction pseudo-aléatoire aveugle », par analogie avec un notaire qui tamponne une enveloppe fermée sans jamais en lire le contenu.

Principe : Un client obtient la sortie d'une fonction pseudo-aléatoire calculée avec la clé secrète du serveur, sur une entrée choisie par le client. Le serveur n'apprend pas l'entrée, et le client n'apprend pas la clé.

Aveuglement : Le client masque son entrée par une valeur aléatoire avant l'envoi, le serveur applique sa clé sur la valeur masquée, puis le client retire le masque. Les constructions courantes reposent sur des groupes de courbes elliptiques.

Rôle dans OPAQUE : Dans OPAQUE, le mot de passe passe par une OPRF avec le serveur pour obtenir une valeur forte. Le serveur ne voit jamais le mot de passe, et un vol de sa base n'offre pas de condensat directement attaquable sans la clé de l'OPRF.

Autres usages : On en retrouve dans des jetons anonymes et des vérifications d'appartenance à un ensemble sans révéler l'élément. Un outil qui calcule pour quelqu'un sans rien savoir de ce qu'il calcule : le rêve de tout service juridique.

Ce qui arrive si on s'en passe

Sans OPRF, le serveur qui aide à durcir un mot de passe ou à vérifier l'appartenance d'un élément à un ensemble doit voir l'entrée en clair : il apprend le mot de passe, l'élément cherché, ou de quoi les reconstituer. Dans OPAQUE, se passer de cette étape laisserait sur le serveur une valeur dérivée du seul mot de passe, qu'un vol de base livrerait à des essais hors ligne sans clé secrète pour les freiner. Omettre l'aveuglement côté client produit le même résultat avec davantage de calculs. Le notaire qui tamponne une enveloppe fermée est une invention admirable ; celui qui l'ouvre pour vérifier ce qu'il tamponne l'est beaucoup moins.

Explication de la marmotte

Imaginons qu'on veuille faire tamponner un papier par quelqu'un qui possède un tampon unique, sans lui montrer ce qui est écrit. On glisse le papier dans une enveloppe spéciale, il tamponne à travers, et on retire ensuite l'enveloppe : le tampon est bien sur le papier. Lui ne sait pas ce qu'il a tamponné, et nous ne pouvons pas copier son tampon. Sur ordinateur, ce tour de passe-passe sert par exemple à transformer un mot de passe en code très difficile à deviner, avec l'aide d'un serveur qui ne voit jamais le mot de passe.

Où ce terme est utilisé

← Tout le glossaire