2D-Doc
# 2D-Doc

Un 2D-Doc est un type de codes-barres à deux dimensions de type Datamatrix constitué de modules noirs disposés dans un carré à fond blanc. L'agencement de ces points définit l'information que contient le code. Le principe de fonctionnement global est similaire à un code QR, mais contrairement à celui-ci, l'information contenue par le code est sécurisée à l'aide d'une signature numérique fondée sur une cryptographie asymétrique.

Tout comme les techniques générales de cryptographie à clé publique qu'elle met en œuvre, elle permet d'assurer l'authentification, l'intégrité et par voie de conséquence la non-répudiation des données signées, mais en tirant profit de la souplesse offerte par un code imprimable.

Ce code est conçu par l'Agence nationale des titres sécurisés (ANTS) en 2012 et utilisé par l'administration française pour lutter contre la fraude documentaire, et également pour les certificats de vaccination Covid-19 et depuis 2021, les cartes nationales d'identité.

## Technologie

Le code 2D-Doc repose sur la technologie Datamatrix ISO/CEI 16022, à laquelle est rajoutée une couche de sécurité. Un code 2D-Doc est donc lisible par n'importe quel lecteur supportant la norme Datamatrix, mais seul un lecteur 2D-Doc est capable de déchiffrer et certifier la couche de sécurité.

Par exemple, le code exemple en tête de cet article est lu par un lecteur standard Datamatrix comme :

On y retrouve les données en clair (ici un nom et adresse MME/SPECIMEN/NATACHA, 45 AVENUE DES SPECIMENS, 75000), et des caractères en Base256 ou Base32 (similaire à Base64) encodant la certification de ces données selon la norme 2D-Doc.

Le message complet se décompose comme suit :

| Champ | Valeur |
| - | - |
| Date d’émission | 125E - 15 novembre 2012 |
| Date de signature | 125B - 12 novembre 2012 |
| Type de document | Justificatif de domicile - Code 01 |
| Champs obligatoires | 10 MME/SPECIMEN/NATACHA 22 145 AVENUE DES SPECIMENS 24 75000 26 FR |
| Données signées | DC02FR000001125E125B0126FR247500010MME/SPECIMEN/NATACHA 22145 AVENUE DES SPECIMENS |
| Signature (binaire) | EF 16 31 F4 BF 48 F8 92 15 F1 F5 B3 8A E6 A1 D2 73 77 E4 3F DC 9F FB 52 6D EB 79 C7 EC C4 95 ED FE A7 34 C8 FA 56 6C DC A4 40 9F 21 43 94 A8 1F 7B 1B 75 A0 82 1F 5A 37 3D 07 00 D6 3F F0 74 DA |

## Génération et autorités de certification

Les 2D-Doc sont générés et signés avec une clé privée dont la clé publique doit être connue et embarquée dans tous les lecteurs 2D-Doc. Par conséquent, les administrations ou organismes souhaitant générer des codes 2D-Doc doivent faire appel à des autorités de certification référencées par l'ANTS.

Autorités de certification (en 2021) :

| Code | Nom de l'autorité |
| - | - |
| FR00 | Test |
| FR01 | AriadNEXT |
| FR03 | DHIMYOTIS |
| FR04 | AriadNEXT |
| FR05 | ANTS |

Une paire de clés 2D-Doc de test est publiquement disponible, permettant de créer des logiciels codeurs ou décodeurs 2D-Doc et générer des codes de test. Cette clé, correspondant à l'autorité de certification FR00 est reconnue par tous les lecteurs 2D-Doc (et le code est affiché en tant que « code de test »).

