
2016 wurde der Artikel
„PKCS # 11 Cloud Token - Mythos oder Realität?“ Veröffentlicht. . Sechs Monate später und jetzt im Internet erschien eine Cloud (Cloud-Dienst), in der jeder ein persönliches PKCS # 11-Cloud-Token mit Unterstützung für die russische Kryptografie erhalten kann.
Vorwort
Denken Sie daran, dass PKCS # 11 (Cryptoki) ein von RSA Laboratories entwickelter Standard für die Interaktion von Programmen mit kryptografischen Token, Smartcards und anderen ähnlichen Geräten unter Verwendung einer einheitlichen Softwareschnittstelle ist, die über Bibliotheken implementiert wird.
Kryptografische Token ermöglichen die Speicherung von Zertifikaten und Schlüsselpaaren (öffentliche und private Schlüssel) sowie kryptografische Vorgänge gemäß dem PKCS # 11-Standard.

So erschien im Internet der Cloud-Dienst LS11CLOUD, eine Cloud-Implementierung des
PKCS # 11- Standards v.2.40, ergänzt durch die Unterstützung russischer kryptografischer Algorithmen gemäß den vom Technischen Komitee für Standardisierung (
TC 26 ) „Cryptographic Information Protection“ entwickelten Spezifikationen. Der Cloud-Service LS11CLOUD unterstützt die Algorithmen GOST R 34.10-2012, GOST R 34.11-2012, GOST R 34.12-2015 und GOST R 34.13-2015 sowie verwandte Algorithmen und Parameter, die in den maßgeblichen Dokumenten von TC 26 definiert sind.
Der zweifelsfreie Vorteil eines Cloud-Tokens besteht darin, dass der Benutzer jetzt kein Token / keine Smartcard mehr mit sich führen muss, sondern sich um seine Sicherheit kümmert. Mit einem persönlichen Token in der Cloud kann ein Benutzer von seinem Heimcomputer, Laptop und Mobilgerät aus darauf zugreifen.
Die sichere Remote-Interaktion mit einem geschützten persönlichen Container mit kryptografischen Objekten (Token) über einen verschlüsselten Netzwerkkanal wird mithilfe des von TC 26 empfohlenen
SESPAKE -Authentifizierungsprotokolls (Security Evaluated Standardized Password-Authenticated Key Exchange)
sichergestellt .
Auf der Benutzerseite wird die grundlegende Funktionalität von der dynamischen Bibliothek ls11cloud mit der Standardprogrammierschnittstelle pkcs # 11 bereitgestellt. Um ein persönliches Cloud-Token zu erhalten, muss sich der Benutzer beim LS11CLOUD-Clouddienst registrieren und anschließend das persönliche Token im Cloud-Dienst initialisieren und konfigurieren.
Benutzerregistrierung im Cloud-Dienst
Zunächst stellen wir fest, dass sich das LS11CLOUD-Cloud-Token unter pkcs11.ru befindet und Anforderungen für Port 4444 akzeptiert.
Wie bereits erwähnt, werden die Benutzerregistrierung auf dem Server und die Pflege seines Kontos vom Dienstprogramm
ls11cloud_config durchgeführt :
$ ./ls11cloud_config LS11CLOUD User Utility Usage: ls11cloud_config <command> [-p <password>] [-n <new password>] NB: Use -n <new password> with change_pswd command only! Commands: register <host> <port> <id> - register new user on the server duplicate <host> <port> <id> - duplicate user account on other computer change_pswd - change SESPAKE authentication password status - display current configuration data log - display server log file recreate - re-create token to initial empty state unregister - remove all user files from the server NB: Don't use non-latin letters to avoid encoding problems! $
Bei der Registrierung eines Benutzers werden der Standort des Cloud-Dienstes (das Feld "Host"), der Port (das Feld "Port"), über den die Kommunikation mit der Außenwelt durchgeführt wird, und der Spitzname (das Feld "ID") des Benutzers angegeben:
bash-4.3$ ls11cloud_config register pkcs11.ru 4444 HABRAHABR
Für die Registrierung von Linux-, Windows- und OS X-Plattformen (macOS) gibt es ein grafisches Dienstprogramm mit einer intuitiven guils11cloud_conf-Oberfläche für dieses Dienstprogramm:

Der Benutzer kann Verteilungen erhalten
Beginnen wir also mit dem Testen der Implementierung der russischen Kryptografie im PKCS # 11-Cloud-Token.
Nach dem Herunterladen müssen Sie das grafische Dienstprogramm
guils11cloud_conf ausführen und dessen Anweisungen befolgen:

Wenn Sie sich nicht bei einem Cloud-Token von dieser Workstation aus registriert haben, werden Sie aufgefordert, ein Token zu erstellen oder eine Verbindung zu einem zuvor erstellten Token herzustellen (siehe Screenshot). Klicken Sie für die Erstregistrierung in der Cloud auf die Schaltfläche "In der Cloud registrieren":

"Benutzeranmeldung" ist die Anmeldung, unter der der Benutzer in der Cloud registriert wird.
Das Kennwort ist erforderlich, um einen sicheren Kanal (SESPAKE-Protokoll) von der Anwendung des Benutzers zu seinem persönlichen Token in der Cloud zu erstellen. Jedes Mal, wenn ein Benutzer auf ein Token in der Cloud zugreift, wird ein Kennwort angefordert, es sei denn, er speichert es sofort nach erfolgreicher Registrierung in der Cloud:

Nach erfolgreicher Benutzerregistrierung wird ein neues Token mit der SO-PIN 87654321 für ihn erstellt:

Token-Initialisierung
Nachdem Sie auf die Schaltfläche "OK" geklickt haben, wird ein Formular angezeigt, in dem Sie die Token-Bezeichnung (standardmäßig entspricht sie der Anmeldung des Benutzers in der Cloud) und einen PIN-Code angeben müssen, auf den der Benutzer Zugriff auf das Cloud-Token hat:

Nachdem Sie auf die Schaltfläche „Fertig stellen“ geklickt haben, kann das Cloud-Token ausgeführt werden:

In Zukunft wird das
Dienstprogramm p11conf verwendet, um das Cloud-Token wie für jedes andere PKCS # 11-Token / jede Smartcard zu konfigurieren:

Wenn Sie das erstellte Cloud-Token auf einem anderen Computer verwenden möchten, müssen Sie natürlich nur das grafische Dienstprogramm guils11cloud_config ausführen und auf die Schaltfläche "Token duplizieren" klicken:

Merken Sie sich danach das Login, unter dem Sie in der Cloud registriert sind, und das Passwort für den Zugriff. Durch Klicken auf die Schaltfläche "Fertig stellen" erhalten Sie Zugriff auf Ihr Token:

Installieren des ersten persönlichen Zertifikats in einem Cloud-Token
Nachdem wir uns in der Cloud registriert und unser eigenes persönliches Cloud-Token darin erstellt haben, können wir es verwenden. Nehmen
wir zum Testen den
Redfox-52- Browser und den
Redfoxmail-52- E
- Mail-Client, die auf Mozilla Firefox und Mozilla Thunderbird basieren und die russische Kryptografie auf PKCS # 11-Token / Smartcards unterstützen.
Wir werden Tests auf der WIN32-Plattform durchführen.
Zuerst müssen Sie Redfox-52 herunterladen und installieren. Um den Redfox-Browser zu installieren, müssen Sie das Archiv herunterladen und entpacken.
Verschieben Sie den entpackten Mozilla Firefox-Ordner an einen geeigneten Ort. Erstellen Sie dann eine Verknüpfung für die ausführbare Datei fireoxox.exe (im Mozilla Firefox-Ordner) und platzieren Sie sie an einem beliebigen Ort.
Nach dem Starten des Browsers müssen Sie das erstellte Cloud-Token verbinden, indem Sie den Geräten die Bibliothek ls11cloud.dll hinzufügen:

Bitte beachten Sie, dass die Browser-Distribution für MS Windows für die Win32-Plattform erstellt wurde. Daher sollte die Bibliothek ls11cloud.dll auch für die Win32-Plattform verwendet werden.
Nachdem wir ein Cloud-Token in die kryptografischen Geräte aufgenommen haben, mit denen der Browser arbeitet, können wir mit dem Testen beginnen. In der ersten Phase müssen Sie mindestens ein persönliches Zertifikat erhalten. Dazu nutzen wir die Dienste einer der Test-CAs:

Wenn Sie auf die Schaltfläche Weiter klicken, bietet die Zertifizierungsstelle an, die Anwendungsdaten zu überprüfen und dann ein kryptografisches Gerät (Token / Smartcard) auszuwählen, um ein Schlüsselpaar zu generieren und ein persönliches Zertifikat zu speichern:

Natürlich wird ein Cloud-Token ausgewählt und nach dem Klicken auf die Schaltfläche "Weiter" wird angeboten, nicht nur ein von Ihrer Anwendung generiertes persönliches Zertifikat zu erhalten, sondern auch das CA-Stammzertifikat zu installieren / zu speichern:

Sie können die Zertifikatinstallation überprüfen, indem Sie den Browser-Zertifikatspeicher anzeigen:

Testen von HTTPS und PKCS # 12
Cloud-Token-Mechanismen funktionieren also. Lassen Sie uns nun den Betrieb des Cloud-Tokens im autorisierten https-Modus für russische Verschlüsselungen überprüfen:

Um den Betrieb des Cloud-Tokens auf den
CryptoPro-Testseiten zu testen, verwenden wir das
Testzertifikat, das zuvor im CryptoPro-Testcenter erhalten und in den PKCS # 12-Container hochgeladen wurde. Zuerst müssen Sie das
Zertifikat im PKCS # 12-Format herunterladen und auf einem Cloud-Token installieren (Kennwort für den PKCS # 12-Container lautet 01234567):

Als Speichergerät müssen Sie ein Cloud-Token auswählen:

Anschließend müssen Sie eine PIN eingeben, um auf das Token und das Kennwort für PKCS # 12 zuzugreifen. Infolgedessen befindet sich das Zertifikat auf dem Token:

Vergessen Sie gleichzeitig nicht, die Vertrauensstufe für das Stammzertifikat der CryptoPro-Zertifizierungsstelle festzulegen:

Jetzt können Sie sicher zu den CryptoPro-Testseiten gehen, zum Beispiel
hier :

Verwenden eines Cloud-Tokens zum Organisieren sicherer E-Mail-Korrespondenz
Nun wollen wir sehen, wie das Cloud-Token im
Redfoxmail / Thunderbird- Mail-Client funktioniert.
Um den Mozilla Thunderbird-Mail-Client auf der WIN32-Plattform zu installieren, müssen Sie das Thunderbird-52.0-Gost-Archiv herunterladen und entpacken. Verschieben Sie den entpackten Mozilla Thunderbird-Ordner an einen geeigneten Ort.
Erstellen Sie dann eine Verknüpfung für die ausführbare Datei thunderbird.exe (im Ordner Mozilla Thunderbird) und platzieren Sie sie an einem beliebigen Ort. Nach dem Starten des E-Mail-Clients verbinden wir das Cloud-Token, ähnlich wie beim Redfox-Browser:

Nach dem Verbinden eines Cloud-Tokens werden die darauf gespeicherten Zertifikate verfügbar. Dies reicht jedoch möglicherweise nicht aus. Es ist erforderlich, die CA-Stammzertifikate zu installieren, für die persönliche Zertifikate ausgestellt werden. Aus diesem Grund haben wir das Stammzertifikat während der Veröffentlichung gespeichert:

Jetzt müssen Sie in den Kontoeinstellungen ein Zertifikat installieren, mit dem Briefe signiert und verschlüsselt werden:

Jetzt können Sie Ihre Nachrichten sicher signieren:

Diese Nachricht kann von jedem E-Mail-Client akzeptiert werden, der russische Kryptografie unterstützt, z. B.
KMail :

Fazit
Wir können also sagen, dass der Mythos Wirklichkeit wird. Der Hauptbereich des LS11CLOUD-Cloud-Tokens kann die interne Dokumentenverwaltung, sichere E-Mails und Bankgeschäfte sein.
Der Cloud-Dienst LS11CLOUD mit seinen Cloud-Token kann für Anwendungsentwickler, die PKCS # 11-Token / Smartcards verwenden, sehr nützlich sein.

PS Ich habe mein persönliches Zertifikat in ein Cloud-Token gesteckt, es mit dem Plugin für öffentliche Dienste verbunden und die Steuerschuld über das
GOSUSLOG-Portal bezahlt . OC - Linux.