Export judiciaire & valeur probante
planar produit des dossiers numriques valeur probante conformes la norme NF Z42-013, avec horodatage qualifi eIDAS et chane de custody cryptographique.
Vue d'ensemble
L'export judiciaire gnre un dossier ZIP autonome contenant l'intgralit des preuves d'une mission : photos, vidos bodycam, enregistrements audio, traces GPS, marqueurs et notes. Chaque lment est hash individuellement (SHA-256) et l'ensemble est certifi par un jeton d'horodatage RFC 3161.
La norme NF Z42-013 (AFNOR) dfinit les spcifications relatives la conception et l'exploitation de systmes informatiques en vue d'assurer la conservation et l'intgrit des documents stocks. L'architecture d'export de planar s'inspire des exigences de cette norme : intgrit cryptographique, horodatage certifi, traabilit des oprations et vrifiabilit indpendante.
Stratgie d'horodatage
L'horodatage suit un modle deux niveaux : hachage local continu pendant la mission, certification externe au moment de l'export.
Pendant la mission (hachage local)
Chaque fichier captur (photo, vido, audio, marqueur) reoit immdiatement un hash SHA-256 calcul localement sur l'appareil. Ce hash est stock avec les mtadonnes du fichier. Pour les enregistrements bodycam chiffrs, deux hashes sont conservs :
- hash_sha256_content : hash du contenu original (avant chiffrement), pour la vrification judiciaire
- hash_sha256 : hash du fichier stock (aprs chiffrement AES-256-GCM), pour l'intgrit du stockage
Note : Les horodatages locaux reposent sur l'horloge de l'appareil et n'ont pas de valeur probante en soi. Ils servent de rfrence temporelle interne, certifie ultrieurement par le jeton RFC 3161 l'export.
l'export (certification TSA)
Au moment de l'export judiciaire, un manifest est gnr listant tous les fichiers avec leurs hashes SHA-256. Le hash de ce manifest est soumis une autorit d'horodatage (TSA) qui retourne un jeton RFC 3161 sign. Ce jeton unique certifie cryptographiquement que l'ensemble du dossier existait la date indique.
Autorits d'horodatage (TSA)
Starter — RFC 3161 standard
Services TSA publics gratuits (FreeTSA, DigiCert, Sectigo). Conformes RFC 3161. Admissibles devant les tribunaux, mais la fiabilit du TSA doit tre dmontre par la partie qui s'en prvaut.
Professional — Certigna eIDAS
Certigna (Dhimyotis), TSA qualifie eIDAS et ANSSI. Les horodatages bnficient de la prsomption d'exactitude (art. 41.2 du rglement eIDAS n910/2014). Valeur probante dans les 27 tats membres de l'UE sans formalit supplmentaire.
Structure du dossier export
Le ZIP gnr est un dossier autonome et auto-vrifiable. Un tiers (magistrat, expert, avocat) peut vrifier l'intgrit de l'ensemble avec des outils standard (OpenSSL).
export_mission_<id>_<date>.zip ├── originaux/ │ ├── photos/ │ │ └── photo_<timestamp>_<hash8>.jpg │ ├── videos/ │ │ └── video_<timestamp>_<hash8>.webm │ ├── audio/ │ │ └── audio_<timestamp>_<hash8>.webm │ └── donnees/ │ ├── markers.json │ ├── tracks.gpx │ ├── filatures.json │ ├── notes.json │ ├── evidence_chain.json ← Hash chain incrémentale complète │ ├── chain_anchors.json ← Points d'ancrage Merkle │ └── chain_verification.json ← Rapport de vérification automatique ├── signatures/ │ ├── timestamp.tsr ← Jeton RFC 3161 (binaire DER) │ ├── timestamp_info.json ← Mtadonnes lisibles du jeton │ ├── tsa_certificate.der ← Certificat du TSA (vrification indpendante) │ ├── timestamp_audit.json ← Journal d'audit horodatage │ ├── manifest.sig ← Signature Ed25519 du manifest │ └── public_key.json ← Cl publique Ed25519 ├── manifest.json ← Inventaire complet + hashes SHA-256 └── chain_of_custody.json ← Chane de custody (capture → export)
Le manifest
Le manifest.json est le cur du dossier probatoire. Il contient l'inventaire exhaustif de tous les fichiers exports, chacun avec son hash SHA-256, sa taille, sa date de capture et ses mtadonnes (GPS, auteur, appareil). C'est le hash de ce manifest qui est soumis au TSA.
| Champ | Contenu |
|---|---|
version |
Version du format (1.0) |
mission |
Identifiant, nom de code, dates de dbut/fin |
export |
Date d'export, identit de l'exportateur, appareil |
files[] |
Pour chaque fichier : chemin, hash SHA-256, taille, date de capture, coordonnes GPS, auteur |
integrity |
Hash global du manifest, nombre total de fichiers, taille totale |
signatures |
Algorithme Ed25519, cl publique, signature du manifest |
rfc3161_timestamp |
Jeton RFC 3161 encod base64, date certifie, identit du TSA, statut de vrification |
Chane de custody
Le fichier chain_of_custody.json trace chaque vnement li aux preuves, de la capture l'export. Pour chaque fichier, trois vnements sont enregistrs :
Capture
Cration du fichier sur l'appareil. Enregistre : auteur, appareil, horodatage local, coordonnes GPS, hash SHA-256 du contenu original.
Stockage
Persistance dans le stockage chiffr local (AES-256-GCM). Enregistre : mthode de stockage, statut de chiffrement, IV et salt.
Export
Inclusion dans le dossier judiciaire. Enregistre : identit de l'exportateur, finalit (livrable judiciaire), nombre total de fichiers.
Hash chain incrémentale (anti-falsification)
En plus de la traçabilité capture → stockage → export, le dossier inclut une chaîne de hachage incrémentale qui enregistre en temps réel chaque action probatoire pendant la mission. Comparable à une blockchain privée, chaque entrée est liée cryptographiquement à la précédente par un HMAC-SHA256.
evidence_chain.json
Chaîne complète : chaque entrée avec son sequence, contentHash, previousHash, entryHash (HMAC), timestamp, type d'événement et ID de preuve.
chain_anchors.json
Points d'ancrage Merkle : toutes les 50 entrées ou 15 min, un Merkle root condense un segment de la chaîne. Permet la vérification par lots.
chain_verification.json
Vérification automatique : rapport d'intégrité généré à l'export (liens validés, HMAC recalculés, Merkle roots vérifiés).
La chaîne de hachage est incrémentale et ne progresse que vers l'avant. Il est cryptographiquement impossible d'insérer, supprimer ou modifier une entrée sans casser la chaîne. Un expert judiciaire peut vérifier l'intégrité en recalculant séquentiellement chaque HMAC-SHA256 et chaque Merkle root.
Vrification indpendante
Le dossier export est conu pour tre vrifiable par un tiers sans accs planar. Les outils standard OpenSSL suffisent.
Vrifier le jeton RFC 3161
# Vrifier que le timestamp correspond au manifest openssl ts -verify \ -in signatures/timestamp.tsr \ -data manifest.json \ -CAfile signatures/tsa_certificate.der # Lire le contenu du jeton openssl ts -reply -in signatures/timestamp.tsr -text
Vrifier l'intgrit des fichiers
# Calculer le hash SHA-256 d'un fichier et comparer au manifest sha256sum originaux/photos/photo_20250206_a1b2c3d4.jpg # Comparer avec la valeur dans manifest.json → files[].hash_sha256
Vrifier la signature Ed25519
# La cl publique est dans signatures/public_key.json # La signature du manifest est dans signatures/manifest.sig # Vrifiable avec tout outil supportant Ed25519 (libsodium, openssl 3.x)
Valeur lgale
| Aspect | Starter | Professional |
|---|---|---|
| Autorit d'horodatage | FreeTSA / DigiCert / Sectigo | Certigna (ANSSI) |
| Norme | RFC 3161 | RFC 3161 + eIDAS qualifi |
| Charge de la preuve | L'utilisateur doit dmontrer la fiabilit du TSA | Prsomption lgale d'exactitude (art. 41.2 eIDAS) |
| Porte gographique | Dpend de la juridiction | 27 tats membres UE |
| Chane de custody | Identique : traabilit complte capture → stockage → export | |
| Intgrit | Identique : SHA-256 par fichier + signature Ed25519 du manifest + hash chain HMAC-SHA256 incrémentale avec ancrage Merkle | |
Deux types d'export : judiciaire vs forensique
planar propose deux exports complémentaires pour répondre à des besoins différents dans le cadre d'une procédure.
| Export judiciaire (ZIP) | Export forensique (JSON) | |
|---|---|---|
| Objectif | Livrable complet pour le tribunal : fichiers, métadonnées, horodatage | Kit de vérification pour expert forensique : clés, chaîne, instructions |
| Contenu | Photos, vidéos, audio, GPS, marqueurs + manifest SHA-256 + signature Ed25519 + jeton RFC 3161 | Chaîne de preuves complète + clé maître HMAC + paramètres HKDF + clés publiques Ed25519 |
| Périmètre | Par mission (une mission à la fois) | Global (toute la chaîne de l'utilisateur, toutes missions confondues) |
| Clé maître | Non incluse (sécurité : empêche la falsification) | Incluse (permet la vérification HMAC indépendante) |
| Accès | Page mission → bouton Exporter | Paramètres → Compte → Vérification forensique |
| Manipulation | Partageable librement (pas de secret) | Pièce à conviction (contient la clé : transmettre sous scellé judiciaire) |
L'export judiciaire est le livrable remis au tribunal ou au client. L'export forensique est transmis séparément à un expert désigné par le juge pour qu'il puisse vérifier de manière indépendante que les preuves n'ont pas été altérées.
Vérification forensique indépendante
Pour les procédures judiciaires, un expert forensique peut vérifier l'intégrité de la chaîne de preuves de manière totalement indépendante, sans accès à planar.
Exporter le bundle de vérification
Depuis Paramètres → Compte → Vérification forensique, cliquez sur « Exporter les données de vérification ». Le fichier JSON généré contient :
- La chaîne de preuves complète (entrées, ancres Merkle, tombstones)
- La clé maître cryptographique et les paramètres HKDF (bundle autoportant)
- Le rapport d'intégrité automatique
- Les clés publiques Ed25519 pour vérification des signatures per-entrée
- Les instructions de vérification étape par étape
Le fichier export contient la clé maître cryptographique et tous les paramètres nécessaires à la vérification complète de la chaîne. L'expert n'a besoin que de ce fichier JSON. Il doit être transmis comme pièce à conviction (sous scellé judiciaire).
Processus de vérification par l'expert
- Lire la clé maître depuis le champ
keyDerivation.masterKeyHexdu bundle JSON. - Dériver la clé HMAC :
HKDF-SHA256(ikm=masterKeyHex décodé en 32 octets, salt="evidence-chain-v1", info="hmac-key", 256 bits). - Vérifier chaque entrée :
HMAC-SHA256(clé, contentHash|previousHash|sequence|timestamp) == entryHash. - Vérifier le chaînage :
entry[n].previousHash == entry[n-1].entryHash(première :"GENESIS"). - Vérifier les signatures Ed25519 per-entrée avec les clés publiques fournies dans
signingPublicKeys. - Vérifier les horodatages RFC 3161 des ancres Merkle (si présents).
Questions fréquentes
Quel code PIN dois-je communiquer à l'expert ?
Aucun. Depuis la mise à jour de février 2026, le bundle de vérification est auto-contenu : il inclut directement la clé maître cryptographique nécessaire à la vérification. L'expert n'a besoin que du fichier JSON exporté. Ce fichier doit être transmis comme pièce à conviction (sous scellé).
Note : le code PIN de chiffrement de l'application (utilisé pour protéger vos données locales) est un code séparé de votre mot de passe de connexion. Il n'est pas nécessaire pour la vérification forensique.
Puis-je changer mon code PIN de chiffrement en cours de mission ?
Oui. La clé de la chaîne de preuves est indépendante du code PIN. Changer votre PIN re-chiffre vos données locales mais n'affecte pas l'intégrité de la chaîne de preuves. Toutes les entrées — passées et futures — restent vérifiables avec le même bundle d'export.
Script de vérification (Python)
import hmac, json, sys
bundle = json.load(open(sys.argv[1]))
# Read master key directly from bundle (no PIN needed)
master_key_hex = bundle["keyDerivation"]["masterKeyHex"]
master_key = bytes.fromhex(master_key_hex)
# Derive HMAC chain key via HKDF
import hkdf # pip install hkdf
chain_key = hkdf.hkdf_expand(
hkdf.hkdf_extract(b"evidence-chain-v1", master_key),
b"hmac-key", 32
)
# Verify each entry
entries = sorted(bundle["evidenceChain"]["entries"], key=lambda e: e["sequence"])
prev_hash = "GENESIS"
ok_count = 0
for e in entries:
expected = hmac.new(chain_key,
f'{e["contentHash"]}|{prev_hash}|{e["sequence"]}|{e["timestamp"]}'.encode(),
"sha256").hexdigest()
chain_ok = e["previousHash"] == prev_hash
hmac_ok = expected == e["entryHash"]
ok = chain_ok and hmac_ok
if ok: ok_count += 1
else: print(f'FAIL seq={e["sequence"]} chain={chain_ok} hmac={hmac_ok}')
prev_hash = e["entryHash"]
print(f"\n{ok_count}/{len(entries)} entries verified OK")
planar fournit les outils techniques de collecte et de certification de preuves numriques. La recevabilit d'une preuve dpend du contexte juridique et de l'apprciation du magistrat. Pour les procdures judiciaires, consultez un avocat spcialis.