Cas d’usage · Projet ouvert · Preuve photographique
Probative : prouver qu’une photo est authentique
Une photo géolocalisée ordinaire ne prouve rien. Probative, une bibliothèque mobile et un vérificateur serveur, établit qu’une image a été prise par ce capteur, à cet endroit, à cet instant, sur un appareil non compromis.
Technologies
- Python
- Kotlin
- Android
- Swift
- iOS
- CBOR et COSE
- Play Integrity
- App Attest
Le besoin
Les données EXIF se modifient, le GPS se simule avec une application grand public, et des coordonnées incrustées sur l’image ne sont que des pixels. Dès qu’un paiement, une validation ou un contrôle dépend de la photo, c’est un problème : c’est le quotidien du contrôle à distance.
L’approche : quatre propriétés, attestées ensemble
- Origine : capture native, empreinte des octets bruts, attestation de l’application.
- Position : sources croisées, corroboration barométrique et inertielle.
- Instant : défi du serveur, horloge monotone, ordre inviolable.
- Intégrité : signature par une clé matérielle non exportable.
L’appareil collecte, le serveur juge
Le code de l’appareil est considéré comme hostile : aucune décision n’y est prise, et l’API ne renvoie jamais un simple « oui, c’est vrai ». Le serveur vérifie chaque propriété, classe la preuve, et dit laquelle des quatre garanties est faible.
Où en est le projet
- Le modèle de menace et la spécification de l’enveloppe sont rédigés.
- Le vérificateur Python fonctionne, avec 51 tests au vert.
- Les cœurs natifs Android, en Kotlin, et iOS, en Swift, ont leurs encodeurs validés.
- Les liaisons Flutter et React Native sont à venir.
Des limites assumées
En v0.1, la photographie d’un écran n’est pas encore détectée : la position est vraie, l’attestation valide, seul le contenu est faux. Un simulateur GNSS matériel reste indiscernable, et la bibliothèque prouve l’appareil, jamais l’identité de la personne. Ces limites sont documentées, pas minimisées.
Questions fréquentes
Une photo géolocalisée prouve-t-elle quelque chose ?
Non. Les données EXIF se modifient, le GPS se simule et les coordonnées incrustées ne sont que des pixels. Probative atteste ensemble l’origine, la position, l’instant et l’intégrité de la photo.
Qui décide si la photo est authentique ?
Le serveur, jamais l’appareil. L’appareil collecte et signe des preuves avec une clé matérielle ; le vérificateur classe la preuve et dit laquelle des quatre garanties est faible.
Probative est-il utilisable aujourd’hui ?
Le vérificateur Python fonctionne, avec 51 tests au vert, et les cœurs natifs Android et iOS sont en cours. Le code est ouvert, sous licence Apache 2.0, sur github.com/ysimonx/probative.
Parlons-en