Horodatage

Présentation du fonctionnement de l'horodatage

But : garantir l'intégrité des données

Fonctionnement vulgarisé

Afin de prouver l'intégrité des dossiers, chaque jour, demarche.numerique.gouv.fr fait une photo de tous les dossiers modifiés. On envoie ensuite l'empreinte de cette photo a un tiers de confiance qualifié qui nous renvoie un jeton d'horodatage déclarant : « Moi, Tiers de Confiance, je certifie que demarche.numerique.gouv.fr m'a envoyé cette empreinte à cette date ».

En quoi cela prouve-t-il quoi que soit ?

Le jeton d'horodatage est inaltérable et son auteur peut être identifié. On est donc sûr que l'empreinte de la photo a bien été signée à telle date. Si on veut vérifier qu'un dossier n'a pas été altéré depuis son traitement : - on prend la prend la photo qui correspond à la dernière modification du dossier - on s'assure que le dossier n'a pas changé depuis cette photo - finalement on vérifie l'intégrité de la photo en calculant son empreinte et en la comparant à l'empreinte enregistré dans le jeton d'horodatage

C'est quoi cette histoire d'empreinte ?

Voir https://fr.wikipedia.org/wiki/Fonction_de_hachagearrow-up-right. En simplifié c'est une opération mathématique qui à partir d'un fichier fournit toujours le même grand nombre (empreinte) de sorte que : - pour 2 fichiers différents il y a toujours 2 empreintes différentes - il n'est pas possible de reconstruire le fichier à partir de son empreinte

Fonctionnement dans le détail

Les opérations

À chaque changement d'état du dossier, demarche.numerique.gouv.fr crée un fichier contenant - le numéro de dossier - la date - l'action - la valeur des champs du dossier

procedure-xxx/dossier-yyy/horodatage/operation-zzz-date.json
{
  "operation": "accepter",
  "dossier_id": 1017534,
  "author": {
    "id": "Instructeur#741",
    "email": "[email protected]"
  },
  "subject": {
    "id": "RG9zc2llci0xMDE3NTM0",
    "number": 1017534,
    "archived": false,
    "state": "accepte",
    "dateDerniereModification": "2021-06-11T15:50:52+02:00",
    "datePassageEnConstruction": "2019-10-28T10:07:04+01:00",
    "datePassageEnInstruction": "2019-10-28T10:08:10+01:00",
    "dateTraitement": "2021-06-11T15:50:52+02:00",
    "instructeurs": [
      {
        "email": "[email protected]"
      }
    ],
    "groupeInstructeur": {
      "label": "défaut"
    },
    "champs": [
      {
        "id": "Q2hhbXAtNDA5MDA=",
        "label": "un premier champ",
        "stringValue": ""
      }
    ],
    "annotations": [],
    "avis": [],
    "demandeur": {
    "civilite": "M",
      "nom": "Nom",
      "prenom": "Prénom",
      "dateDeNaissance": "2019-10-22"
    },
    "motivation": "",
    "motivationAttachment": null,
    "revision": {
      "id": "UHJvY2VkdXJlUmV2aXNpb24tMTMzOA=="
    }
  },
  "automatic_operation": false,
  "executed_at": "2021-06-11T15:50:52+02:00"
}

L'empreinte de ce fichier est b193534bd4e8f2f32841e6010286ed98be6dc8e24f89dbd7fae0d5e4496cbcc2

L'empreinte des opérations du jour

Toute les nuits, demarche.numerique.gouv.fr crée un fichier avec toutes les empreintes des opérations de la journée. Il se présente sous le nom demarches-simplifiees-operations-date.json

On retrouve ici l'empreinte de notre opération.

L'horodatage de l'empreinte des opérations du jour

demarche.numerique.gouv.fr fait horodater ce fichier par un service d'horodatage qualifié par l'ANSSI. Le jeton d'horodatage retourné est présent ici : procedure-xxx/bills/horodatage/demarches-simplifiees-signature-date.der

Preuve de l'intégrité de vos dossiers

Pour un dossier donné : - vérifier visuellement la cohérence entre la version pdf et le dernier fichier opération de dossier - puis lancer le script suivant pour vérifier l'horodatage du fichier command.sh dossier/horodatage/operation

Certains horodatages émis par Universign ne sont pas compatibles avec openssl, rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding Ils doivent les vérifier eux-même en attendant de mettre à disposition une API. Contactez nous si besoin.

Astuce pour inspecter le contenu d'un jeton : openssl asn1parse -in token -inform der

Last updated