Formats, bibliothèques et API : rendre la crypto utilisable
- Accueil
- Parcours
- cryptographie
- Formats, bibliothèques et API : rendre la crypto utilisable
Formats, bibliothèques et API : rendre la crypto utilisable
Section intitulée « Formats, bibliothèques et API : rendre la crypto utilisable »Donner une structure web-first pour choisir des API sûres, concevoir des formats robustes et éviter les ambiguïtés de sérialisation.
Objectif du chapitre
Section intitulée « Objectif du chapitre »Donner une structure web-first pour choisir des API sûres, concevoir des formats robustes et éviter les ambiguïtés de sérialisation.
Notions à couvrir
Section intitulée « Notions à couvrir »- Formats: PEM, DER, JWK, JOSE, COSE, PASETO, age, minisign, PKCS
- Formats de preuve et d’attestation pour artefacts logiciels quand ils sont retenus
- Sérialisation, canonicalisation, versionnement et paramètres signés
- Algorithme choisi par le code et non par l’attaquant
- libsodium, OpenSSL, BoringSSL, RustCrypto, ring, Tink et API haut niveau
- Gestion d’erreur, safe defaults, test vectors et interopérabilité
- Signature de code, attestations, packages, conteneurs et supply chain
Sous-sections
Section intitulée « Sous-sections »Un format doit survivre à la migration [Intermédiaire]
Section intitulée « Un format doit survivre à la migration [Intermédiaire] »- Version
- Algorithme
- Nonce
- Sel
- Tag
- AAD
- Paramètres
Sérialiser sans ambiguïté [Intermédiaire]
Section intitulée « Sérialiser sans ambiguïté [Intermédiaire] »- JSON
- CBOR
- Canonicalisation
- Ordre des champs
- Champs signés
- Parser strict
Choisir une bibliothèque [Intermédiaire]
Section intitulée « Choisir une bibliothèque [Intermédiaire] »- API haut niveau
- Paramètres automatiques
- Maintenance
- Audit
- Interopérabilité
- Langage
Supply chain [Expert]
Section intitulée « Supply chain [Expert] »- Signature de release
- Attestation
- Reproductibilité
- SBOM
- Rotation de clés
- Vérification CI
- Provenance et attestation
Exemples et ateliers
Section intitulée « Exemples et ateliers »- Concevoir un format de message AEAD versionné
- Comparer JOSE, COSE et PASETO pour un cas d’usage
- Vérifier une signature de release
- Écrire des tests négatifs de parsing
Pièges classiques
Section intitulée « Pièges classiques »- Parser permissif
- Algorithme accepté depuis le message
- Format sans version
- Erreur ignorée
- Donnée signée partiellement
À ne pas confondre
Section intitulée « À ne pas confondre »- Format de clé et format de message
- JOSE et JWT
- COSE et CBOR
- Signature de code et signature de commit
Points à vérifier
Section intitulée « Points à vérifier »à vérifier: choix définitif des bibliothèques à recommander par langage TortueTech.