Blog GlobalSign

10 sept. 2014

La signature de code : comment ça marche ?

Alors que les cyber-attaques se multiplient, les internautes sont de plus en plus méfiants quant aux applications qu’ils téléchargent depuis internet. Un logiciel non signé est automatiquement assimilé par les solutions de sécurité standard comme une menace provenant d’une source inconnue. Comment les développeurs peuvent-ils éviter cette situation et ainsi optimiser le nombre de téléchargements de leurs applications ?

Qu’est-ce qu’un certificat de signature de code et pourquoi signer du code ?

Un certificat de signature de code est un certificat numérique contenant certaines informations permettant d'identifier une personne ou une organisation, et qui a été émis par une Autorité de Certification. Celui-ci permet aux développeurs d'inclure dans leurs applications ou leurs programmes des informations sur eux-mêmes, ainsi que de créer une signature numérique (signer du code).

Un certificat numérique lie une organisation à une clé publique, elle-même reliée à une clé privée correspondante. La clé privée est utilisée pour appliquer la signature numérique à une version courte du code exécuté à travers un algorithme de hachage, et la clé publique pour vérifier la signature. Signer le hash d'un code permet de détecter si ce dernier a subi des modifications depuis sa signature. Changer le moindre caractère dans une ligne de code modifie le hash, engendrant la suspicion.

La signature de code en pratique

Les certificats de signatures de code, comme ceux de GlobalSign, permettent aux développeurs de signer numériquement un nombre illimité d’applications qu’ils vont ensuite distribuer sur Internet, ainsi que d’y apposer un sceau d’horodatage afin d’empêcher l’expiration de la signature. Ce processus de signature numérique est l’équivalent virtuel de l’emballage plastique pour les programmes distribués sous forme de CD.

Ainsi, un développeur qui signe le code de son programme instaure la confiance avec l’utilisateur final, en garantissant que le programme est légitime, conforme au développement initial, et que le code n’a subi aucune altération entre sa création et sa publication. Les certificats Code Signing garantissent l’authenticité, la sécurité et l’intégrité d’un programme signé, et vont ainsi apporter un niveau de confiance supplémentaire au processus d’installation, réduisant considérablement  le nombre d'abandons de téléchargements de programmes.

Certificats auto-signés ou signature de confiance publique ?

Signer votre code avec un certificat de signature de code émis par une AC de confiance publique offre de nombreux avantages :

- le nom de l'éditeur est affiché lorsqu'un utilisateur télécharge une application signée
- les certificats peuvent êtres révoqués à tout moment s'ils sont compromis
- le code comprend une signature numérique et un sceau d'horodatage

La fonction d'horodatage, quant à elle, assure que le code signé reste valide, même si le certificat utilisé expire.

Code Sign Warning

En plus de pouvoir être utilisée sur toutes les plateformes, la solution prend en charge les différents formats du marché :

- les fichiers Microsoft Authenticode (32 et 64 bits)
- Windows Kernel
- les macros Microsoft Office et vos applications VBA
- les objets Mozilla et Netscape
- Contrôles ActiveX
- les applications Java
- les applications Adobe Air

Itroduction a la Signature De Code


Partager ce blog