Sécurité : Appareil de sécurité de courriel Cisco

Comment les identifiants intelligents fonctionnent

17 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Ce document décrit les identifiants intelligents, qui sont des modèles satisfaits intégrés de lecture qui détectent certains types de données. Pour cette release, le système implémentera les identifiants intelligents pour des numéros de carte de crédit, des numéros de sécurité sociale des États-Unis, des nombres CUSIP, et l'aba conduisant des nombres.

Intérieurement, un identifiant intelligent se compose d'une expression régulière qui apparie des chaînes de candidat, avec une fonction de validation qui vérifie la correspondance de candidat d'une certaine façon. Par exemple, la fonction de validation pour un numéro de carte de crédit s'assure que la clef de contrôle est correcte.

Les expressions régulières pour chaque identifiant intelligent incluront les ancres de limite de mot ("b ") aux deux extrémités. (Ceci empêche le système d'apparier un numéro de sécurité sociale des États-Unis, par exemple, au milieu d'une plus longue chaîne de chiffres.) Pour la simplicité, ceux-ci sont omis des descriptions ci-après.

L'implémentation intelligente d'identifiants doit faire attention au sujet des correspondances superposantes, parce qu'une sous-chaîne trouvée par l'expression régulière peut ne pas valider. Par exemple, un filtre balaye pour des numéros de carte de crédit contre la chaîne 9999 que 4321 9999 9999 9995 1234 5678 9000 devraient trouver le numéro de carte de crédit valide 4321 9999 9999 9995, quoiqu'un balayage simple d'expression régulière pour les nombres possibles trouve 9999 4321 9999 9999 et 9995 1234 5678 9000.

Contribué par des ingénieurs TAC Cisco.

Numéros de carte de crédit

Un numéro de carte de crédit commence par un type de carte de longueur variable, qui indique si le nombre est un VISA, MasterCard, Amex, etc., et des extrémités avec une clef de contrôle. Les différents types de carte utilisent des numéros différents de chiffres dans le nombre entier, mais le calcul de clef de contrôle est identique dans chaque cas.

Notez cela en route ou des cartes JCB ne sont pas appariées. En outre, les nombres du VISA 13-digit n'existent pas, et ne seront pas appariés dans notre implémentation.

les numéros de carte de crédit 16-digit apparieront une des expressions régulières suivantes :

[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}
[0-9]{4}\.[0-9]{4}\.[0-9]{4}\.[0-9]{4}
[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{4}
[0-9]{16}

Avec le préfixe étant "4", "51"-"55", ou "6011".

Les nombres Amex 15-digit apparieront une des expressions régulières suivantes :

[0-9]{4}-[0-9]{6}-[0-9]{5}
[0-9]{4}\.[0-9]{6}\.[0-9]{5}
[0-9]{4} [0-9]{6} [0-9]{5}
[0-9]{15}

Avec les préfixes permis étant "34" ou "37".

Les nombres de club des wagon-restaurants 14-digit apparieront une des expressions régulières suivantes :

[0-9]{4}-[0-9]{6}-[0-9]{4}
[0-9]{4}\.[0-9]{6}\.[0-9]{4}
[0-9]{4} [0-9]{6} [0-9]{4}
[0-9]{14}

Avec les préfixes permis étant "300"-"305", "36", ou "38".

Notez que les expressions régulières définissent un groupement spécifique des chiffres pour une longueur donnée de carte de crédit, et que s'il y a de ponctuation entre les chiffres, ce doit être pareil partout.

Le chiffre final dans un numéro de carte de crédit est une clef de contrôle créée utilisant l'algorithme de Luhn. En fonctionnant de l'extrémité droite du nombre, doublez chaque deuxième chiffre. Ajoutez alors les différents chiffres des nombres en résultant (des les deux qui ont été doublés et ceux qui n'étaient pas). Si le résultat est un multiple de 10, alors le nombre est valide.

Par exemple, donné le numéro 1234 5678 9012 3456 :

  1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

Double : 2 2 6 4 10 6 14 8 18 0 2 2 6 4 10 6

Additionnant 2 + 2 + 6 + 4 + 1 + 0… + 1 + 0 + 6 donne 64, qui n'est pas un multiple de 10, ainsi le nombre est non valide.

Etant donné le numéro 1234 5678 9876 3333 :

  1 2 3 4 5 6 7 8 9 8 7 6 3 3 3 3

Double : 2 2 6 4 10 6 14 8 18 8 14 6 6 3 6 3

Additionnant 2 + 2 + 6 + 4 + 1 + 0… + 6 + 3 donne 80, qui est un multiple de 10, ainsi le nombre est valide.

U.S. Numéros de sécurité sociale

Des numéros de sécurité sociale sont divisés en numéro d'aire de 3 chiffres, qui est assigné géographiquement, un nombre de groupe de 2 chiffres assigné dans une commande particulière dans une zone, et un numéro de série de 4 chiffres assigné séquentiellement.

Notre implémentation utilisera les expressions régulières suivantes :

[0-9]{3}-[0-9]{2}-[0-9]{4}
[0-9]{3}\.[0-9]{2}\.[0-9]{4}
[0-9]{3} [0-9]{2} [0-9]{4}

Voici quelques exemples des expressions ci-dessus :

555-55-5555
555.55.5555
555 55 5555

L'administration de la sécurité sociale met à jour une liste des nombres de zone/groupe qui ont été assignés : SSN a émis [3]. Mais puisque ce document change périodiquement, nous ne pouvons pas compter là-dessus pour la validation.  La fonction de validation vérifiera qu'aucun des 3 champs n'est tous les zéros, et que les 3 premiers chiffres sont moins de 800. (Les utilisations de référence précédentes 771 comme limite, mais l'ASS a déjà des assigned number avec les 3 premiers chiffres 771 et 772.)

(Les nombres démarrant avec 666 sont non affectés, et les nombres dans la plage 987-65-4320 à 987-65-4329 sont réservés pour la publicité. En outre, 078-05-1120 est le SSN le plus abusé ; c'était l'effectif SSN d'un secrétaire à une société de portefeuille, qui a utilisé le nombre comme exemple.)

Nombres CUSIP

Les nombres CUSIP (comité des procédures uniformes d'identification de Sécurité) sont 9 identifiants alphanumériques qui identifient des valeurs nord-américaines de divers types. Le nombre est divisé en nombre à 6 caractères d'émetteur, qui identifie seulement l'émetteur (par exemple, une société), un suffixe de 2 caractères qui identifie la Sécurité particulière ; par exemple, actions ordinaires, contre l'action privilégiée contre l'option contre l'instrument fixe de revenu.

Le code intelligent d'identifiant CUSIP utilisera les expressions régulières suivantes :

[0-9]{3}[0-9a-zA-Z]{3} [0-9a-zA-Z]{2} [0-9]
[0-9]{3}[0-9a-zA-Z]{3}-[0-9a-zA-Z]{2}-[0-9]
[0-9]{3}[0-9a-zA-Z]{3}[0-9a-zA-Z]{2}[0-9]

La fonction de validation est semblable à celle utilisée pour des numéros de carte de crédit. La seule différence est que des lettres dans le nombre CUSIP sont converties en valeur numérique en assignant A=10, B=11,…, Z=35.

Un exemple du site Web de cusip.com utilise le numéro 392690 le quart 3 CUSIP :

  3 9 2 6 9 0 T3 Q

Lettres de conversion : 3 9 2 6 9 0 26 29 3

Double : 3 18 2 12 9 0 26 58 3

Additionnant 3 + 1 + 8 + 2 + 1 + 2 +… + 5 + 8 + 3 donne 50, qui est un multiple de 10, ainsi le nombre d'origine était valide.

Aba conduisant des nombres

Un nombre de routage aba (association bancaire américaine) est une valeur 9-digit. Les 4 premiers chiffres sont Federal Reserve conduisant le symbole, les 4 prochains l'identifiant d'institution, et le bout une clef de contrôle.

Le code intelligent d'identifiant de nombre de routage aba utilisera les expressions régulières suivantes :

[0-9]{4} [0-9]{4} [0-9]
[0-9]{4}-[0-9]{4}-[0-9]
[0-9]{9}

La fonction de validation a impliqué de multiplier chaque chiffre par 3, 7, 1,… ; si la somme des Produits est un multiple de 10, le nombre est valide.

Par exemple considérez le numéro 123 456 789 :

  1 2 3 4 5 6 7 8 9

Multipliez-vous par : 3 7 1 3 7 1 3 7 1
Produit : 3 14 3 12 35 6 21 56 9
Additionner 3 + 14 + 3 + 12 + 35 + 6 + 21 + 56 + 9 donne 159, qui n'est pas un multiple de 10, ainsi le nombre d'origine était non valide.
Etant donné le numéro 322 271 627 :

  3 2 2 2 7 1 6 2 7

Multipliez-vous par : 3 7 1 3 7 1 3 7 1

Produit : 9 14 2 6 49 1 18 14 7

Additionner 9 + 14 + 2 + 6 + 49 + 1 + 18 + 14 + 7 donne 120, qui est un multiple de 10, ainsi le nombre d'origine était valide.

(Bien que certaines chaînes de Federal Reserve conduisant des symboles soient réservées, et donc non assigné, l'algorithme de validation ne vérifiera pas les nombres réservés, pour éviter doit le mettre à jour si l'aba change sa stratégie.)


Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Document ID: 118543