Les services de messagerie modernes améliorent d'année en année leur systÚme de sécurité. Tout d'abord, les mécanismes d'authentification sont apparus via SMS, maintenant les mécanismes d'apprentissage automatique pour analyser les activités suspectes dans la boßte aux lettres sont déjà en cours d'amélioration.Mais que se passe-t-il si quelqu'un a reçu le mot de passe convoité de votre courrier et a commencé à lire toute votre correspondance secrÚte, ainsi qu'à écrire des ordures à droite et à gauche. Comment ajouter un niveau de protection supplémentaire dans ce cas? GPG et cartes à puce viennent à la rescousse.
GPG est un programme open source gratuit qui fournit la technologie nécessaire pour une messagerie sécurisée. Cela fonctionne trÚs simplement: c'est une base de données avec toutes les clés publiques des participants au réseau avec lesquels vous souhaitez communiquer. Vous pouvez gérer ces clés: ajoutez-les si vous avez fait une nouvelle connaissance ou supprimez-les si vous décidez d'ajouter quelqu'un à votre «liste noire». GPG stocke également les clés publiques et privées. Chaque clé est associée à une boßte aux lettres spécifique et à un utilisateur spécifique dans le systÚme.
! GPG . : ; , , . .
: GPG -. , , . â ! â, â - . â , . , , . , , (PIN-) .
GPG -, OpenPGP SmartCard. -, PKCS#11, , PKCS#11 -. -, PKCS#11 , OpenPGP. , , , , PKI 2.0. PKI , .. RSA.
Les instructions pour l'intĂ©gration de GPG dans les clients de messagerie courants tels que Thunderbird, KMail, Outlook et le client de messagerie standard Mail sur macOS seront Ă©galement prĂ©sentĂ©es ci-dessous. Cette intĂ©gration aidera les personnes qui ont reçu une lettre de votre part Ă comprendre que la lettre a bien Ă©tĂ© envoyĂ©e par vous.IntĂ©ressĂ© par? Alors allons-y! Utilisateurs de Windows qui veulent suivre le chemin des chamans et rĂ©cupĂ©rer un dĂ©mon Ă partir de zĂ©ro, il est conseillĂ© d'ĂȘtre patient ...
Installer GPG et gnupg-pkcs11-scd
Linux
Installez les packages nécessaires (utilisez la ligne en fonction du systÚme sur lequel vous exécutez, la premiÚre pour Debian, la seconde pour Red Hat):
sudo apt-get install gpg opensc libpkcs11-helper1-dev openssl libgpg-error-dev libassuan-dev libgcrypt20-dev autoconf pkg-config
sudo yum instal gnupg2 gnupg-pkcs11-scd opensc
Assurez-vous que la version est:
gpg >= 2.1.19
gnupg-pkcs11-scd > 0.9.2
Pour debian, vous devrez peut-ĂȘtre tĂ©lĂ©charger et installer la derniĂšre version du dĂ©mon pkcs11 de la carte Ă puce gnupg-pkcs11-scd Ă partir du rĂ©fĂ©rentiel .
Vous pouvez l'installer Ă l'aide de la commande suivante:
autoreconf -i && ./configure --prefix /usr && make -j 4 && sudo make install
librtpkcs11ecp.so , .
~/.gnupg/gpg-agent.conf :
scdaemon-program /usr/bin/gnupg-pkcs11-scd
~/.gnupg/gnupg-pkcs11-scd.conf :
providers rutoken
provider-rutoken-library /usr/lib64/librtpkcs11ecp.so
Windows
, , . , gnupg-pkcs11-scd , libgnupg-error, libassuan, openssl, pkcs11-helper, libgcrypt. Linux ( ), windows , .
, , . . , . , .
, Gpg4Win .
.
, .
, %APPDATA%/gnupg. gpg-agent.conf :
scdaemon-program C:/HERE_IS_PATH_TO/gnupg-pkcs11-scd.exe
â gnupg-pkcs11-scd.conf :
providers rutoken
provider-rutoken-library C:/Windows/System32/rtPKCS11ECP.dll
Welcome to the club, buddy!
. pkcs11 - Windows. , , . , .
Gpg4Win msys2, .
msys2. 
, , . , gnupg-pkcs11-scd , . Linux macOS , . , - , :
pacman -Syuu
.
pacman -S --needed git base-devel mingw-w64-i686-toolchain man2html pkg-config openssl-devel
(libgpg-error)
libgpg-error .
:
./configure --with-cygwin-native
make
make install
VoilĂ ! !
(libassuan)
libassuan , :
./configure --with-cygwin-native
make
make install
(pkcs11-helper)
pkcs11-helper .
pkcs11-helper:
autoreconf --install
./configure --with-cygwin-native
make
make install
(libgcrypt)
libgcrypt , :
./configure --with-cygwin-native
make
make install
, (gnupg-pkcs11-scd)
? ! , .
:
autoreconf --install
./configure --with-cygwin-native
make
make install
Fatality
.
, %APPDATA%/gnupg. gpg-agent.conf :
scdaemon-program C:/msys32/mingw32/bin/gnupg-pkcs11-scd.exe
â gnupg-pkcs11-scd.conf :
providers rutoken
provider-rutoken-library C:/Windows/System32/rtPKCS11ECP.dll
macOS
brew .
, , gpg gnupg-pkcs11-scd:
brew install gpg gnupg-pkcs11-scd
librtpkcs11ecp .
~/.gnupg/gpg-agent.conf :
scdaemon-program /usr/local/lib/gnupg-pkcs11-scd
~/.gnupg/gnupg-pkcs11-scd.conf :
providers rutoken
provider-rutoken-library /usr/local/lib/librtpkcs11ecp.so
! ! , .
, RSA-, - . RSA- ( ).
, , - , SDK pkcs11-tool
gpg-agent. gpgconf. : Linux macOS gpg, Windows Gpg4Win. :
gpgconf --kill gpg-agent
, :
gpg --card-status
:
[lo1ol@localhost .gnupg]$ gpg --card-status
Application ID ...: D2760001240111503131CAE8D55A1111
Version ..........: 11.50
Manufacturer .....: unknown
Serial number ....: CAE8D55A
Name of cardholder: [not set]
Language prefs ...: [not set]
Sex ..............: unspecified
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: 1R 1R 1R
Max. PIN lengths .: 0 0 0
PIN retry counter : 0 0 0
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]
, gpg-agent. gpg-agent :
gpg-agent --server
SCD LEARN
Bad certificate, , , GPG. :
[lo1ol@localhost .gnupg]$ gpg-agent --server
OK Pleased to meet you
SCD LEARN
....
S KEYPAIRINFO 892E053AE031FC23F3E7CCC73BC60859F11F6B90 Aktiv\x20Co\x2E/Rutoken\x20ECP/3ac67ae9/Rutoken\x20ECP\x20\x3Cno\x20label\x3E/45
OK
GPG
-, :
gpg-agent --server
SCD LEARN
, S KEYPAIRINFO. , :
S KEYPAIRINFO 892E053AE031FC23F3E7CCC73BC60859F11F6B90 Aktiv\x20Co\x2E/Rutoken\x20ECP/3ac67ae9/Rutoken\x20ECP\x20\x3Cno\x20label\x3E/45
892E053AE031FC23F3E7CCC73BC60859F11F6B90. , GPG. :
gpg --expert --full-generate-key
, . RSA (13 ):
lo1ol@lo1ol-VirtualBox:~$ gpg --expert --full-generate-key
gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
(9) ECC and ECC
(10) ECC (sign only)
(11) ECC (set your own capabilities)
(13) Existing key
Your selection? 13
:
Enter the keygrip: 892E053AE031FC23F3E7CCC73BC60859F11F6B90
, e-mail . , . e-mail, :
Possible actions for a RSA key: Sign Certify Encrypt Authenticate
Current allowed actions: Sign Certify Encrypt
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
Your selection?
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: lo1ol
Email address: lo1ol@mail.ru
Comment:
You selected this USER-ID:
"lo1ol <lo1ol@mail.ru>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
. :
gpg: /home/lo1ol/.gnupg/trustdb.gpg: trustdb created
gpg: key 676E42AAAFBCF227 marked as ultimately trusted
gpg: directory '/home/lo1ol/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/lo1ol/.gnupg/openpgp-revocs.d/0CD2B9CEE398990609D6C164676E42AAAFBCF227.rev'
public and secret key created and signed.
pub rsa2048 2019-10-25 [SCE]
0CD2B9CEE398990609D6C164676E42AAAFBCF227
uid lo1ol <lo1ol@mail.ru>
, , â .
, , , , GPG â . GPG ( X.509), : , , .. , , GPG.
GPG , , Kleopatra, , . , , X.509.
Thunderbird
, GPG Thunderbird. , , Linux, Windows macOS. ( ).
, . Linux macOS :
sudo apt-get install thunderbird
sudo yum install thunderbird
brew cask install thunderbird
Windows macOS c . , Thunderbird, .
AprÚs avoir installé Thunderbird, nous devons ajouter la boßte aux lettres que nous voulons utiliser et pour laquelle nous avons ajouté les clés et le certificat dans GPG.
Ajouter un
plugin GPG Il est temps d'ajouter un plugin Enigmail pour intégrer Thunderbird avec GPG. Pour ce faire, installez le plugin ENIGMAIL . Accédez à l'onglet Modules complémentaires et cliquez dessus:
Dans la recherche, recherchez le plugin Enigmail et cliquez sur le bouton "Ajouter Ă Thunderbird":
Lorsque le plugin sera installé, il vous proposera d'ajouter des clés existantes. Nous sommes d'accord avec lui et cliquez sur le bouton «Appliquer mes clés».
Presque tout est prĂȘt. Il ne reste plus qu'Ă lier les clĂ©s aux comptes de messagerie.Liaison des clĂ©s aux comptes
Passons Ă la configuration du compte:
Dans la fenĂȘtre contextuelle, sĂ©lectionnez l'onglet «Protection OpenPGP» et sĂ©lectionnez la clĂ© que nous voulons utiliser pour ce courrier. Vous pouvez Ă©galement configurer les options par dĂ©faut.
Tout est prĂȘt et tout est assemblĂ©!
Vous manquez, vous manquez ...
Vieil homme, allons pique-niquer!
Visez santé
Le moment de vérité est venu. Vérifiez que l'ensemble du systÚme fonctionne correctement. Redémarrez Thunderbird et essayez d'envoyer un message à un utilisateur dont la clé publique est enregistrée dans GPG. Pour ce faire, j'ai ajouté un autre compte pour vérifier le résultat. Créez une nouvelle lettre:
Assurez-vous que l'option de cryptage pour la lettre (si nécessaire) et l'option de signature sont activées. De plus, lors du processus d'envoi, il nous sera probablement demandé de saisir un mot de passe de jeton.Vérifiez que la lettre envoyée est arrivée et a été déchiffrée avec succÚs et que la signature est vérifiée.
Comme vous pouvez le voir, tout fonctionne bien!Configuration de Kmail
Pour commencer, téléchargez kmail depuis le référentiel:
sudo apt-get install kmail
sudo yum install kmail
Lancez KMail. Saisissez vos informations de compte de messagerie et cliquez sur «Ajouter un compte».
Dans la fenĂȘtre contextuelle, sĂ©lectionnez «Utiliser GPG».
Nous sélectionnons la clé que nous voulons utiliser pour cette boßte aux lettres:
Configurer l'identifiant d'identité dans les paramÚtres:
Définir les clés de signature et de cryptage:
Définir l'e-mail:
Essayons d'envoyer un e-mail. Assurez-vous que les options de signature et de cryptage sont définies.
Vérifiez que la lettre reçue réussit la vérification de signature et déchiffre:
Comme vous pouvez le voir, tout s'est bien passé!Configuration d'Outlook
Tout est simple ici, car tout ce dont vous avez besoin pour travailler que vous avez dĂ©jĂ et configurĂ©: le plugin GPGol Ă©tait contenu dans Gpg4Win et configurĂ© automatiquement. Essayons simplement d'envoyer un message, indiquant dans les options qu'il doit ĂȘtre cryptĂ© et ajouter une signature.
Regardons la lettre qui est venue. Vous pouvez voir que la signature a réussi la vérification et que la lettre a été déchiffrée.
Configuration du client de messagerie
Payer Tim Cook,
PiÚce frappée ...
PiÚce frappée ...
Cette mĂ©thode, traditionnellement pour Apple, est payante et convient si vous ĂȘtes prĂȘt Ă dĂ©penser vos shekels honnĂȘtement acquis sur le plugin GPG Suite. Si vous apprĂ©ciez votre or, vous pouvez utiliser l'option gratuite - Thunderbird.
Accédez au site Web de GPG Suite et téléchargez la derniÚre version de ce package.
AprÚs l'installation, vous devrez activer le plugin GPGMail. Pour ce faire, accédez aux paramÚtres Courrier> Préférences> Général> Gérer les plug-ins et activez GPGMailLoader.mailbundle.
Le plugin est activé. Essayons d'envoyer une lettre de test. Notez que nous avons défini l'option pour signer le message et le crypter.
Et nous vérifierons que le déchiffrement et la vérification de la signature ont réussi.
Hourra, nous l'avons fait!Emplois chez Kleopatra
Kleopatra fournit Ă l'utilisateur une interface graphique pratique pour travailler avec GPG, telle que: signature, cryptage, vĂ©rification de signature, dĂ©cryptage, etc. Sous Windows, il est installĂ© avec Gpg4Win et sous Linux, il peut ĂȘtre installĂ© via le gestionnaire de packages:
sudo apt-get install kleopatra
sudo yum install kleopatra
Exécutez-le et voyez que le travail dans le programme est intuitif)
Total
GPG , -, , . , , .
, GPG .