Aller au contenu

PSS : Probabilistic Signature Scheme

Cryptographie

PSS : Probabilistic Signature Scheme. « Schéma de signature probabiliste », par analogie avec une signature manuscrite accompagnée d'un tampon dateur aléatoire qui rend chaque exemplaire unique.

Principe : Avant l'opération RSA, le condensat du message est mélangé à un sel aléatoire et encodé par une fonction de génération de masque. Deux signatures d'un même message diffèrent donc, et le résultat a une structure vérifiable.

Face à PKCS#1 v1.5 : Le bourrage déterministe historique de PKCS#1 v1.5 reste très répandu, mais PSS dispose d'une preuve de sécurité sous des hypothèses raisonnables. Il est recommandé pour les nouveaux déploiements RSA.

Paramètres : Fonction de hachage, fonction de masque et longueur de sel doivent être cohérentes entre signataire et vérificateur. Une incohérence ne crée pas de faille, elle produit juste des signatures que personne n'accepte, ce qui occupe agréablement un après-midi.

Où on le croise : TLS 1.3 impose PSS pour les signatures RSA de la poignée de main. On le retrouve aussi dans les jetons JOSE (JSON Object Signing and Encryption) et certains certificats.

Ce qui arrive si on s'en passe

Signer avec RSA sans bourrage, ou avec un encodage artisanal, expose aux falsifications : la structure mathématique de RSA permet alors de combiner des signatures existantes pour en fabriquer de nouvelles sur des messages jamais signés. L'ancien bourrage déterministe reste accepté mais a connu des failles de vérification dans des implémentations qui analysaient mal la structure reçue. Sans un encodage probabiliste comme celui ci, on perd la preuve de sécurité qui relie la solidité de la signature à celle de RSA elle même, et on garde un bourrage dont la robustesse dépend beaucoup de la rigueur du vérificateur.

Explication de la marmotte

Une signature électronique prouve qu'un document vient bien de son auteur et n'a pas été modifié. Avec l'une des méthodes de calcul les plus connues, il faut d'abord « emballer » le document résumé avant de le signer, un peu comme on met une lettre dans une enveloppe d'une forme précise. Cet emballage-ci ajoute une petite dose de hasard à chaque fois : signer deux fois la même lettre donne deux signatures différentes, toutes les deux valables. Cette façon d'emballer a été étudiée de près par les mathématiciens, qui ont montré qu'elle résiste mieux aux tricheurs que l'ancienne.

Où ce terme est utilisé

← Tout le glossaire