Transparence de Kiraï.
La clé publique, les algorithmes, et la procédure pour qu'un avocat, un magistrat ou un expert puisse vérifier une signature Kiraï sans nous contacter.
Notre engagement
Kiraï met en œuvre une chaîne d'audit cryptographique qui garantit l'intégrité et l'opposabilité des signatures électroniques réalisées via notre plateforme. Cette page publie les éléments verifiables par toute partie tierce (signataire, avocat, magistrat, expert judiciaire) qui souhaite contrôler ou contester une signature Kiraï.
Le service est conforme à la loi sénégalaise n° 2008-08 sur les transactions électroniques et compatible avec le règlement européen eIDAS (article 26) sur la signature électronique avancée.
Clé publique Ed25519 courante
Toute signature Kiraï (entry de la chaîne audit) est signée avec l'algorithme Ed25519. La clé publique ci-dessous permet de vérifier ces signatures sans contact avec Kiraï. Elle peut être intégrée dans vos outils forensiques.
Algorithme : Ed25519 (RFC 8032)
Taille : 256 bits
Première utilisation : mai 2026
Stack cryptographique
Les briques techniques utilisées pour garantir l'auditabilité :
Comment vérifier une signature Kiraï
Si vous avez reçu un export forensique Kiraï (fichier JSON ou PDF), vous pouvez en vérifier l'intégrité sans nous contacter, à l'aide d'un outil open-source.
Vérification offline (recommandée pour expertise judiciaire)
- Téléchargez le script Python verify_export.py depuis notre dépôt public.
- Exécutez : python verify_export.py mon_export.json
- Le script valide chaque entry : signature Ed25519, chaînage, ancrage TSA.
- Résultat : VALID ou liste détaillée des entries corrompues.
Le script utilise uniquement la cryptographie standard (Python cryptography, rfc3161-client) sans aucune connexion à Kiraï. Il accepte la clé publique en argument pour permettre la vérification d'exports anciens (en cas de rotation de clé).
Vérification en ligne
Pour les administrateurs autorisés, l'API https://audit.kirai.sn permet de re-vérifier la chaîne en temps réel via un appel authentifié POST /audit/verify.
Ce qui est enregistré dans l'audit
Pour chaque signature électronique réalisée via Kiraï, nous enregistrons immutablement :
- Action : type d'événement (signature, validation d'identité, etc.)
- Acteur : identifiant interne du signataire (UUID anonymisé)
- Cible : référence de l'accord signé (UUID)
- Données contextuelles : hash du contenu, type de signature (simple/OTP), niveau de protection, adresse IP, user-agent
- Horodatage : instant précis (UTC, milliseconde près)
- Signature Ed25519 : 64 octets prouvant l'authenticité
- Chaînage : hash de l'entry précédente (immutabilité)
Périodiquement, un horodatage RFC 3161 est appliqué à une plage d'entries via freetsa.org, fournissant une preuve d'antériorité opposable à toute tentative de falsification ultérieure.
Conservation et sauvegardes
Les entries audit Kiraï sont conservées indéfiniment. La valeur de la chaîne repose sur sa permanence : une signature doit pouvoir être vérifiée 10 ou 20 ans après l'événement.
Notre dispositif de sauvegarde :
- Snapshots VPS automatiques quotidiens (rétention 7 jours)
- Dumps applicatifs horaires de la chaîne (rétention 24 h)
- Dumps applicatifs quotidiens (rétention 30 jours)
Chaque échec de sauvegarde déclenche une alerte automatique vers l'équipe technique.
Rotation des clés
En cas de compromission ou de rotation périodique, l'ancienne clé publique est conservée pour permettre la vérification des signatures antérieures. Le mapping identifiant_clé → clé_publique est publié sur cette page, et la chaîne reste intégralement vérifiable même après N rotations.
Aucune rotation n'a eu lieu à ce jour. La clé courante est utilisée depuis la mise en service du système.
Genesis de la chaîne de production
Toute chaîne cryptographique a un point de départ. La chaîne Kiraï a démarré sa phase de production officielle le 18 mai 2026 à 11h15 UTC, à partir de l'entry n°55. Cette information est publique pour permettre une vérification rigoureuse par tout tiers.
Production genesis entry
Toute entry d'ID supérieur ou égal à 55 fait partie de la chaîne de production opposable. Elles sont liées entre elles par entry_hash et previous_entry_hash, formant un chaînage cryptographique inviolable.
Entries pré-production (informatives)
Les entries d'IDs 5, 13, 14, 15 ont été créées pendant la phase de développement (sessions de tests des 14-15 mai 2026), avant la mise en service officielle. Elles présentent les caractéristiques suivantes :
- Signatures Ed25519 valides individuellement
- Ancrages TSA RFC 3161 valides individuellement
- Pas de chaînage cryptographique entre elles (previous_entry_hash NULL)
- IDs non-contigus reflétant les itérations de développement
Ces entries sont conservées dans la chaîne par principe d'immutabilité (les triggers PostgreSQL audit_log_no_delete et audit_log_no_update empêchent toute modification, par conception). Elles n'ont pas valeur opposable, mais témoignent honnêtement de l'historique du système.
Mode de vérification recommandé
Pour une expertise judiciaire, le script verify_export.py doit être lancé avec l'option --genesis-hash 849ea8b735f9e484f1366fdafdd14dc52be68e5f10da7e270561dbcf4d45e70e :
Le verifier ignore alors les entries pré-genesis et valide uniquement la chaîne de production. Le résultat doit être VALID.
Documentation détaillée dans CHAIN_HISTORY.md du dépôt public.
Contact
Pour toute question relative à une vérification, contestation, ou expertise judiciaire :
- Email : contact@kirai.sn
- Domaine technique : audit.kirai.sn