Développeurs

Une infrastructure technique ouverte et documentée.

Gankpo est une infrastructure que des équipes techniques doivent pouvoir auditer, intégrer, étendre. Cette page rassemble les éléments d'architecture essentiels. La documentation de détail est accessible via le centre de documentation.

Architecture en une image

Au centre, gkp_core — le noyau cryptographique propriétaire en Rust — expose ses fonctions à toutes les applications et services de l'écosystème : via des liaisons natives pour Gankpo Suite et Reader (Tauri), via un binding FFI C ABI pour Gankpo Wallet, Docs, Reader Mobile (React Native / Capacitor), via un binaire autonome pour Gankpo CLI, et via un service HTTP pour Gankpo Gateway.

Autour de ce noyau gravitent les adaptateurs PKI (X.509, OCSP, TSA) et les ponts vers les keystores matériels des plateformes cibles.

gkp_core au centre, entouré des applications, services d'intégration PKI et keystores matériels.

Architecture technique

Le noyau gkp_core centralise les opérations de format, de signature et de vérification réutilisées par les applications et les services d'intégration. Les interfaces disponibles sont précisées dans la documentation associée à chaque produit.

Primitives cryptographiques

CatégorieAlgorithmes implémentés
Signatures émisesEd25519 (natif, via ed25519-dalek 2.1)
Signatures vérifiées (PKI externe)ECDSA P-256, ECDSA P-384, RSA (pour les certificats X.509 émis par des autorités tierces)
Chiffrement authentifié (AEAD)AES-256-GCM, ChaCha20-Poly1305
HachageBLAKE3, SHA-2 (SHA-256, SHA-384)
Dérivation de cléArgon2id, HKDF-SHA-256
Authentification de messageHMAC-SHA-256
Échange de clésX25519, ECIES
Chaînes de certificatsX.509, CMS, OCSP via webpki

Pour la correspondance détaillée standards ↔ RFC ↔ module d'implémentation, consultez la page Standards.

Formats et spécifications

  • Format .gkp v4.0.0 — Original électronique auto-porteur. Magic bytes GKP2, en-tête 64 octets, métadonnées CBOR canonique, enveloppe AEAD, multisignatures append-only.
  • Format .gksend — Conteneur de transmission sécurisée. Magic bytes GKSE, en-tête 32 octets, manifeste CBOR, payload AES-256-GCM.
  • Credential QR GKP1: — Credential vérifiable par code QR. Pipeline GKP1: → Base45 → zlib → COSE_Sign1 (ES256/P-256) → CBOR.
  • Brouillon .gki — Proposition technique non prise en charge par les applications Gankpo.
  • ISO 18013-5 — Référence étudiée pour les cas de documents mobiles ; aucune certification n'est revendiquée.

Environnements supportés

  • Desktop : Tauri v2 (macOS, Windows, Linux).
  • Mobile téléphone : Capacitor 6 (iOS, Android) pour Wallet et Docs ; React Native 0.84 pour Reader Mobile.
  • Tablette : Capacitor 6 (Android) et iPadOS.
  • Keystores matériels : StrongBox / TEE Keystore Android (Curve25519 hardware-backed sur KeyMint v2+), Keychain macOS (module dédié dans gkp_core::secure_keystore::macos_keychain), TPM Windows CNG (module windows_tpm), PKCS#11 Linux. Sur iOS, le wallet utilise Curve25519 software souverain via libsodium déverrouillé par iOS Keychain biométrique : Apple Secure Enclave est exclu car il impose des courbes NIST incompatibles avec notre doctrine de souveraineté.

Commencer à intégrer

Accès technique

Demander un accès développeur.

Les équipes qualifiées peuvent solliciter un accès technique et un échange d'architecture.

Nous contacterLire le quickstart