Beaucoup d’éditeurs de logiciels utilisent les signatures numériques pour garantir l’intégrité de leurs fichiers, par exemple Apple met à disposition sur ces pages de téléchargement une suite de caractères appelé « digest » ou « fingerprint » qui est une signature numérique du fichier proposé en téléchargement.
Une fois le fichier sur votre Mac, vous pouvez vérifier qu’il est bien celui créé par Apple et non un « faux » avec peut être un virus ou un logiciel espion dedans, le fonctionnement est simple : générez sur votre Mac la clé numérique en utilisant le fichier téléchargé comme source, si la clé correspond à celle affichée par Apple le fichier est bien celui créé par Apple.
A chaque fichier correspond une clé, deux fichiers différents ne peuvent pas créer la même clé, en théorie ! car les mathématiciens se font un plaisir à démontrer les faiblesses de ces fonctions.
Les empreintes numériques (« fingerprint ») sont obtenues en « passant » un fichier au travers d’une fonction mathématique, ce processus est appelé « hachage cryptographique », on part d’un fichier puis après une somme de calculs on en déduit une clé.
La plus connue de ces fonctions de « hachage » est md5, elle fut créée en 1992, malheureusement en 1996 une faille est « théoriquement » découverte, fin 2004 md5 était définitivement « cracké », cet algorithme n’est plus considéré sûr, mais Il est toujours utilisé pour des raisons de compatibilité.
Md5 est très répandu, une commande est même intégrée dans Mac OS X, saisissez la commande dans le terminal :
$ md5
puis glissez un fichier derrière et pressez « entrer » et vous obtiendrez la clé de 128 bits, pour obtenir de l’aide sur cette commande:
$ man md5
EN 1995 la NSA (« National Security Agenccy » aux USA service très secret.. fort connu pour ses écoutes !!! ) proposa un nouvel algorithme devant rendre plus « sur « la fonction sha-0 dont l’origine date de 1993 et était considérée comme non fiable. Cette nouvelle fonction porte le nom de sha-1, elle a supplanté progressivement md5 mais elle semble, elle aussi incertaine quant à sa fiabilité, deux français ont découvert en 2004 que cette fonction de hachage contenait des failles, des algorithmes sont apparus tel que sha-256 qui doivent garantir un plus haut niveau de fiabilité.
Contrairement à md5 il n’y a pas de commande, et pour obtenir une clé basée sur la fonction sha-1 vous devez utiliser la commande « openssl » , qui est un ensemble open source cryptographique livré avec Mac OS X.
Pour obtenir une clé sha-1 avec le terminal :
$ openssl sha1 puis le fichier
$ openssl sha1 /Users/hdrapin/Desktop/Sanstitre.app SHA1(/Users/hdrapin/Desktop/Sanstitre.app)= e36d3a03369e5c4fe1bfc64c91c4660da654ebc0
Votre clé correspond à la dernière ligne soit :
« e36d3a03369e5c4fe1bfc64c91c4660da654ebc0 »
Travailler avec le terminal n’est pas des plus pratiques, l’utilisation d’Applescript va soulager notre peine… le script suivant vous simplifiera la vie :
Saisissez ces lignes sous l’éditeur de script puis enregistrez en choisissant le format « Application ».
---------- SCRIPT ------- on run display dialog "Oups, vous devez déposer un fichier sur mon icône pour obtenir la clé sha1" end run on open lefichier do shell script "/usr/bin/openssl sha1 " & quoted form of the POSIX path of the lefichier set leDigest to result set leDigest to (the clipboard as string) display dialog leDigest end open __________ FIN SCRIPT -----
Déposez simplement sur l’icône de votre script un fichier et vous obtiendrez son empreinte numérique.
Ce script s’appuie sur le module « openssl », Remplacez directement dans le script « sha1 » par une autre fonction comme « md5 », voici la liste de quelques fonctions disponibles :
• md2 • md5 • mdc2 • rmd160 • sha • sha1
Lorsque vous effectuez des envois de fichiers rien ne vous empêchent d’utiliser les signatures numériques pour garantir à votre correspondant que les fichiers envoyés sont les authentiques.
Par précaution quand une clé numérique est disponible; prenez le temps d’effectuer la vérification, notre système préféré est de plus en plus la cible d’attaque et le meilleur moyen pour propager sur Mac un programme espion reste de modifier une archive (fichiers .zip ou .sit) téléchargée sur Internet.
Henri Dominique Rapin