Traitez un numéro de compte secret comme un identifiant : auditez-le
Si connaître le numéro connecte quelqu’un ou récupère une configuration, c’est un identifiant. Effectuez les contrôles d’autorité, de stockage, de résistance aux essais et de rotation.
Un champ intitulé numéro de compte n’est pas automatiquement une référence publique, et l’intitulé n’est pas le test. Le test, c’est ce que la possession permet : si connaître le numéro connecte quelqu’un, télécharge un profil de connexion ou autorise un appareil, ce numéro est un identifiant doté d’un cycle de vie. J’effectue les cinq contrôles ci-dessous chaque fois qu’un service délivre une identité numérique et la qualifie d’inoffensive. Chacun produit une ligne dans un court procès-verbal, et ce procès-verbal est le livrable, pas un verdict sur le produit.
Inventoriez ce que la possession accorde réellement
Notez séparément chaque action que le numéro débloque. Se connecter à un portail, récupérer un fichier de configuration, autoriser un nouvel appareil et fournir une connexion tunnel acceptée sont des autorités différentes, et un service peut en mettre une en œuvre sans les autres. Un portail qui accepte le numéro comme unique champ ne vous dit rien sur la manière dont le tunnel authentifie son pair plus tard ni sur la façon dont les clés de trafic sont dérivées.
Le modèle général est facile à énoncer : un identifiant porteur est celui que le détenteur peut utiliser sans prouver la possession d’une clé cryptographique distincte, ce qui est la distinction que RFC 6750 établit pour les jetons. C’est une comparaison, non l’affirmation qu’un service fondé sur un numéro met en œuvre OAuth. Si le détenteur n’a besoin de rien d’autre, traitez le numéro comme un secret porteur et classez le reste de la conception en conséquence.
Protégez-le comme un secret, pas comme une référence
Le stockage découle de la classification. Une valeur qui connecte a sa place dans un gestionnaire de mots de passe, non dans une capture d’écran, un historique du presse-papiers, un message de discussion ou une note de navigateur. Les captures d’écran sont la fuite habituelle : le numéro est court et paraît inoffensif, il finit donc dans un fil d’assistance qui survit à l’appareil dont il provient.
L’hameçonnage est l’autre mode de défaillance, et il ne se soucie pas du caractère aléatoire du numéro. Un imposteur qui veut la valeur vous demandera de la coller dans un formulaire, et un identifiant qui n’expire jamais et n’a pas de second facteur vaut l’effort. Accédez au chemin de connexion depuis un signet ou une adresse connue, non depuis un lien contenu dans un message qui demande aussi le numéro.
Traitez le matériel de récupération comme faisant partie du secret. Si l’opérateur a aussi délivré un code de récupération, un code PIN ou une adresse e-mail capable de réinitialiser le compte, ce sont des identifiants distincts soumis à la même exigence de protection. Un seul canal de réinitialisation non protégé transforme tous les autres contrôles en décoration.
Vérifiez ensemble la résistance aux essais et la limitation de débit
La longueur n’a de sens qu’à côté de la méthode de génération. Un long numéro produit par une suite prévisible est plus faible qu’une valeur courte produite par un générateur cryptographique, et un nombre impressionnant de chiffres n’établit pas l’imprévisibilité. Demandez comment la valeur est générée avant de raisonner sur la difficulté de la deviner.
La résistance aux essais seule ne survit pas non plus à un débit de tentatives illimité. Les contrôles qui comptent sont ceux que l’opérateur met en œuvre : compteurs d’échecs, verrouillages, limitation par source et possibilité de distinguer un mauvais numéro d’un numéro inexistant. Si le service le permet, une tentative échouée vous montre à quoi ressemble l’erreur et si un compteur de nouvelles tentatives apparaît :
# one attempt, then read the response and any counter or delay
# do not script repeated guesses against a live account
curl -i -X POST https://portal.example.invalid/login -d "account=000000000000"
Notez ce que la réponse révèle. Une erreur distincte pour un compte inconnu est un oracle d’énumération même lorsque le numéro est impossible à deviner, et cette constatation a sa place dans le procès-verbal, que vous puissiez la corriger côté client ou non.
Planifiez la rotation et la révocation avant d’en avoir besoin
Trouvez la procédure prise en charge pour un numéro perdu ou exposé et notez-la pendant que tout fonctionne. L’identifiant de compte peut-il seulement être remplacé ? Le remplacement invalide-t-il les appareils déjà enrôlés, les sessions actives ou la configuration téléchargée ? Quel matériel de récupération la procédure exige-t-elle ? Un service sans dépendance à l’e-mail peut transférer davantage de responsabilité de récupération à l’utilisateur, ce qui rend la procédure plus importante, et non moins.
Séparez le remplacement du compte de la révocation de l’identifiant. Si le numéro autorise le téléchargement d’une clé, d’un certificat ou d’un profil, remplacer le numéro peut laisser ce matériel téléchargé valide, et révoquer le matériel téléchargé peut être une opération différente confiée à un autre responsable. Ne supposez pas qu’un seul champ modifié met fin à toutes les connexions ; vérifiez le modèle réel de l’opérateur et notez où vous l’avez vérifié.
Documentez la décision et revérifiez-la plus tard
Tenez un procès-verbal d’une page par service : quelles autorités le numéro accorde, où il est stocké, qui peut le réinitialiser, quelles preuves d’usage existent et ce que vous feriez dans la première heure suivant une divulgation. Ce procès-verbal transforme une discussion sur la terminologie en une décision que quelqu’un peut auditer.
Les affirmations de confidentialité ont besoin de leur propre portée. Un numéro généré aléatoirement peut rester un identifiant stable qui relie des événements de compte dans le temps ; l’imprévisibilité n’est pas la non-réidentification, et aucune des deux propriétés ne dit quoi que ce soit sur les métadonnées réseau conservées. Comparez des conceptions complètes plutôt que de compter des champs sur un écran de connexion.
Avant de le classer :
- Chaque autorité accordée par le numéro est listée, y compris les téléchargements et l’autorisation d’appareil.
- Les canaux de stockage et de récupération sont protégés au même niveau que le numéro lui-même.
- La méthode de génération et les limites de débit sont connues, non supposées à partir de la longueur.
- Une procédure de remplacement et une procédure de révocation existent, et vous savez laquelle annule l’autre.
- Le procès-verbal indique qui peut réinitialiser la valeur et quelles preuves subsistent après usage.