Les codes de la poste…

Code DataMatrix du courrier de Cablecom

Si le courrier papier est devenu une sorte de dinosaure, il s’adapte néanmoins et de nombreuses lettres en suisse portent un petit code carré à proximité de l’adresse. Clairement ce code renferme des données liées à l’acheminement du courrier, mais lesquelles ? Cablecom ayant eu l’obligeance de m’envoyer un courrier récemment, c’est une bonne occasion de regarder de quoi il retourne.

Première étape, décoder le code, n’importe quelle application pour téléphone mobile qui comprend le format permet d’extraire les données. Ici on obtient la séquence de chiffres 756803150192692000000000000000004200, ce qui n’est que marginalement plus clair. Heureusement la poste met à disposition la documentation des codes numériques qu’elle utilise, le fichier Barcodes and Data Matrix codes Manual en particulier contient les informations qui nous intéressent : le chapitre Generating data matrix codes décrit le format de données utilisé.

Les trois premiers chiffres contiennent le code ISO de pays numérique, le code pour la Suisse est 756. Les deux chiffres suivants contiennent le code de produit, 80 signifie PostMail le produit de la Poste. Le deux chiffres suivants contiennent le format de code, 31 est un code au format PP Easy avec 36 chiffres, 20 est un code Letter ID sur 36 chiffres, et 21 est un code sur 44 chiffres.

Les huit chiffres suivants, 50192692 contiennent le numéro de client auprès de la poste ESR. Il semblerait qu’il s’agisse d’un numéro à 9 chiffres, mais le dernier sert de contrôle, donc il est omis dans les codes DataMatrix. Les six chiffres suivants sont toujours 0000000 pour les codes PP Easy, dans d’autres formats, il sert à identifier le lot de facturation. Le chiffre suivant est réservé et est toujours 0, les huit chiffres suivants indiquent l’adresse pour le retour de courrier, 0000000 est normal quand le code de contrôle des retours (voir ci-bas) est nul.

Les trois chiffres suivants 420 indiquent le type de produit utilisé, une lettre au courrier A porte le code 001, une lettre au courrier B le code 002, etc. Le code 420 n’est pas défini dans le manuel, mais il semblerait que la Poste a toute une ribambelle de produits, par exemple 311 est pour les références publicitaires de produits. Enfin le dernier chiffre 0 contient les instructions en cas de non acheminement, 0 signifie retour au client sans instructions particulière, c’est la valeur par défaut.

En résumé, ce code ne contient pas grand chose comme information, un numéro de client, le type d’affranchissement, aucune information concernant le destinataire, il s’agit ici juste d’une timbre informatique. Ce que je trouve plus inquiétant, c’est qu’ils n’y a pas le moindre mécanisme de sécurité. N’importe qui peut produire un code valide et utiliser le numéro de client d’un tiers. Une forme de signature cryptographique dans ces codes serait une bonne idée…

Leave a Reply