Les pirates prennent souvent des logiciels - que ce soit en ligne ou hors ligne - réorganiser et modifier le code pour le rendre illicite, puis télécharger en ligne afin que les utilisateurs télécharger le programme gratuit et le code malveillant qu'il contient. Pour que les utilisateurs ne vont pas dans ce problème, la signature du code est utilisé. La signature du code est une méthode par laquelle le programmeur d'origine ou de la société qui a fait le programme signes du programme et, lorsque le programme est installé, il est authentifié pour s'assurer que le programme n'a pas eu de codage ajouté ou modifié. Cela ne nécessite pas de logiciel particulier du côté de l'utilisateur, et l'utilisateur est en mesure de vérifier l'identité du programmeur. Bien que cela est destiné comme une forme de sécurité, un hacker qui crée un programme ou trouve loin autour d'une signature peut créer la confiance artificielle et déplacée.
Les programmes sont constamment vendus à la fois en ligne et hors ligne. Quand quelqu'un achète un programme hors ligne auprès d'un fournisseur ou d'un détaillant de confiance, l'utilisateur dispose de très peu de raisons de s'inquiéter hackers injectant du code malveillant dans le programme. C'est parce que, à moins que le développeur du logiciel intentionnellement fait un programme dangereux, il n'existe aucun moyen pour quelqu'un d'altérer le logiciel et de le rendre malveillant. Quand un utilisateur télécharge un programme à partir d'Internet, il n'ya pas de garantie.
Pour protéger les utilisateurs qui achètent ou téléchargent des programmes en ligne, la signature du code est mis en œuvre. La signature du code est séparé en deux parties: le développeur et l'utilisateur final. Le développeur utilise un hachage cryptographique, une opération à sens unique qui déguise le code du programme, puis combine sa clé privée avec le hachage. Cela crée une signature qui est implanté sur le programme.
Lorsque l'utilisateur reçoit le programme, la seconde partie du processus de signature de code se produit. Le programme examine le certificat et une clé publique que le programmeur placé dans le programme. En utilisant la clé publique, le programme est en mesure d'exécuter le même hachage sur la programmation actuelle, puis il vérifie l'origine contre la version actuelle en cours d'installation. Si la fois le programme installé et la synchronisation initiale vers le haut, ce qui montre à l'utilisateur que rien n'a été modifié. Ce processus se fait automatiquement, et les programmes nécessaires pour cette authentification doit être pré-installés sur le système d'exploitation de l'ordinateur (OS).
Alors que la signature du code est une méthode puissante pour assurer la sécurité, elle a des défauts. Si l'utilisateur télécharge un programme d'un hacker, alors l'authentification montrera le programme d'origine est intact. Cela conduirait à un utilisateur d'un faux sentiment de sécurité, le programme est fait pour être méchant, si la sécurité n'est pas atteint dans ce sens. Hackers sophistiqués peuvent aussi se déplacer dans la table de hachage pour injecter de codage, ce qui rend la signature de code inutile.