Skip to content
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Git-crypt – Du chiffrement transparent pour Git

Si vous cherchez un moyen de chiffrer certains de vos fichiers présents sur un dépôt git, je vous invite à tester git-crypt. Ce logiciel utilise un algorithme de chiffrement AES-256 et permet de manière totalement transparente de synchroniser des fichiers tout en les protégeant des yeux indiscrets.

Attention, ce n’est pas conçu pour chiffrer tout un dépôt. Si c’est ce que vous voulez faire, il vaut peut-être mieux tout mettre dans un conteneur TrueCrypt et synchroniser ce conteneur. Mais en tout cas, dans certaines situations, cela permet de partager des dépôts en toute sécurité, avec des développeurs que vous connaissez un peu moins et en lesquels vous avez un peu moins confiance. Vous pouvez alors proposer un dépôt mixte mi-privé mi-public et protéger des infos confidentielles genre des clés ou des mots de passe qui ne doivent pas se retrouver dans la nature.

Pour installer git crypt, il faudra le compiler sous Linux (ou en mode expérimental sous Windows) et sous mac, il suffit d’utiliser homebrew comme ceci :

brew install git-crypt

Placez vous ensuite dans le dépôt qui vous intéresse et initialisez git-crypt

cd repo
git-crypt init

Cela va générer une clé de chiffrement, que vous devez absolument exporter comme ceci pour en conserver une copie et pouvoir déchiffrer vos fichiers.

git-crypt export-key ../git-crypt-key

Maintenant, imaginez que vous ayez une clé API à protéger dans votre code source ? Cette clé se trouve dans un fichier key.api.conf. Pour dire à git-crypt de s’occuper de ce fichier, il faut le spécifier dans la config .gitattributes présent dans votre dépôt. Ajoutez la ligne suivante dans .gitattribute :

key.api.conf filter=git-crypt diff=git-crypt

Vous pouvez bien sûr utiliser un nom complet de fichier ou un pattern type *.conf ou *.api.conf.

Puis commitez ce fichier sur votre dépôt git :

git add .gitattributes 
git commit -m "Dit à git-crypt de chiffrer key.api.conf"

Maintenant on va rajouter le secret dans le fichier key.api.conf :

echo "mon-secret" > key.api.conf

Pour le moment, le fichier n’est pas encore envoyé sur le git et je vous conseille de vérifier que git-crypt le prend bien en compte. Pour cela, entrez la commande suivante :

git-crypt status

Ajoutez ensuite votre fichier de conf à sécuriser sur le git comme ceci :

git add key.api.conf 
git commit -m "ajout de la clé api"

Ensuite pour voir si vraiment votre fichier est bien déchiffré en local, faites tout simplement un petit cat dessus.

cat key.api.conf 

Pour savoir si le fihier est bien chiffré côté git, il faut verrouiller votre git-crypt avec la commande :

git-crypt lock

Puis allez jetez un œil au fichier.

cat key.api.conf 

Logiquement le contenu devrait être totalement chiffré. Pour débloquer à nouveau votre dépôt local, utilisez la commande unlock en spécifiant la clé de déchiffrement.

git-crypt unlock ../git-crypt-key

Plus d’infos ici.

Article mis à jour le 12/11/2020
Article publié initialement le 22/04/2014


NordVPN à moins de 3€/mois

-68% 3,3€/mois durant 2 ans

Protection en un clic, fonctionnalité Kill Switch, masquage de votre adresse IP, prise en charge des partages de fichiers en p2p, protection contre les malwares et les pubs, streaming sans interruption, test de fuite DNS et même possibilité de coupler l’outil avec l’anonymat de The Onion Router … sont quelques-unes des autres options disponibles.

NordVPN a tissé une toile de serveurs dans le monde entier (plus de 5 500 dans 60 pays) permettant ainsi de se localiser dans la zone géographique de son choix. Vous avez envie d’un Anime japonais ou bien d’une exclusivité US ? Aucun problème. À vrai dire, vous pouvez même vous localiser en France en cas de déplacement à l’étranger.

En complément de cet impressionnant réseau, NordVPN a aussi développé la fonctionnalité SmartPlay qui permet d’accéder en toute sécurité aux contenus qui sont normalement inaccessibles. C’est un système de SmartDNS performant qui ne nécessite pas d’intervention complexe, vous profitez d’une connexion sécurisée et vous visionnez le contenu de votre choix en streaming sans vous prendre la tête.

Profiter de la promo



Les articles du moment