Code signing
1. Présentation
La signature de code est une technique qui consiste à utiliser la cryptographie asymétrique pour permettre de détecter des modifications dans celui-ci, et vérifier les informations de la personne émettrice du code. C’est une manière de s’appuyer sur les infrastructures de gestion de clés déjà évoquées au chapitre Les attaquants et PowerShell, pour apporter de la confiance dans le programme à exécuter. Cela revient également à transférer cette confiance à la robustesse des PKI (Public Key Infrastructure) qui émettent les bi-clés et certificats qui signeront les programmes. Signature de code
Le mécanisme de signature numérique peut être schématisé comme ci-dessous. Il s’appuie sur les concepts présentés au chapitre Les attaquants et PowerShell pour le chiffrement asymétrique. En revanche en signature l’usage des clés est inversé : on "chiffre" avec sa clé privée pour permettre à tout le monde de déchiffrer le message avec la clé publique associée (c’est-à-dire vérifier que l’émetteur détient bien la clé privée).
Même si elle est plus traditionnellement utilisée avec les programmes compilés, la signature de code existe également pour les scripts PowerShell, bien...