Cloud-Token PKCS#11 – Mythos oder Realität?

PKCS#11 (Cryptoki) ist 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 Programmierschnittstelle, die durch Bibliotheken implementiert wird.

Der PKCS#11-Standard für russische Kryptographie wird vom technischen Komitee für Standardisierung „Cryptographic Information Protection“ unterstützt (TC 26).

Wenn wir über Token sprechen, die die russische Kryptographie unterstützen, dann können wir über Software-Token, Software- und Hardware-Token und Hardware-Token sprechen.

Kryptografische Token ermöglichen sowohl die Speicherung von Zertifikaten und Schlüsselpaaren (öffentliche und private Schlüssel) als auch die Durchführung kryptografischer Operationen gemäß dem PKCS#11-Standard. Das schwache Glied hier ist die Speicherung des privaten Schlüssels. Bei Verlust des öffentlichen Schlüssels kann dieser jederzeit mit dem privaten Schlüssel wiederhergestellt oder dem Zertifikat entnommen werden. Der Verlust/die Zerstörung eines privaten Schlüssels hat traurige Folgen: Sie können beispielsweise mit Ihrem öffentlichen Schlüssel verschlüsselte Dateien nicht entschlüsseln und keine elektronische Signatur (ES) erstellen. Um ein ES zu generieren, müssen Sie ein neues Schlüsselpaar generieren und für einen bestimmten Geldbetrag ein neues Zertifikat bei einer der Zertifizierungsstellen erhalten.

Oben haben wir Software, Software-Hardware und Hardware-Token erwähnt. Sie können aber auch eine andere Art von kryptografischem Token in Betracht ziehen – ein Cloud-Token.

Heute werden Sie niemanden überraschen Cloud-Flash-Laufwerk. Alle Vor- und Nachteile Cloud-Flash-Laufwerke sind nahezu eins zu eins im Cloud-Token enthalten.

Dabei geht es vor allem um die Sicherheit der im Cloud-Token gespeicherten Daten, in erster Linie private Schlüssel. Kann dieser Cloud-Token bereitgestellt werden? Wir sagen JA!

Und wie funktioniert der Cloud-Token? Der erste Schritt besteht darin, den Client in der Token-Cloud zu registrieren. Dazu sollte ein Dienstprogramm bereitgestellt werden, mit dem Sie auf die Cloud zugreifen und Ihren Login/Spitznamen darin registrieren können:
Cloud-Token PKCS#11 – Mythos oder Realität?

Nach der Registrierung in der Cloud muss der Benutzer seinen Token initialisieren, nämlich das Token-Label festlegen und vor allem die SO-PIN- und Benutzer-PIN-Codes festlegen. Diese Vorgänge sollten nur über einen sicheren/verschlüsselten Kanal ausgeführt werden. Das Dienstprogramm pk11conf wird zum Initialisieren des Tokens verwendet. Um den Kanal zu verschlüsseln, wird vorgeschlagen, einen Verschlüsselungsalgorithmus zu verwenden Magma-CTR (GOST R 34.13-2015).

Um einen vereinbarten Schlüssel zu entwickeln, auf dessen Grundlage der Verkehr zwischen Client und Server geschützt/verschlüsselt wird, wird vorgeschlagen, das von TC 26 empfohlene Protokoll zu verwenden SESPAKE - Passwortbasiertes Pre-Shared-Key-Generierungsprotokoll.

Als Passwort, auf dessen Grundlage der gemeinsame Schlüssel generiert wird, wird die Verwendung vorgeschlagen Einmalpasswortmechanismus. Da es sich um russische Kryptographie handelt, ist es selbstverständlich, mithilfe von Mechanismen Einmalpasswörter zu generieren CKM_GOSTR3411_12_256_HMAC, CKM_GOSTR3411_12_512_HMAC oder CKM_GOSTR3411_HMAC.

Durch die Verwendung dieses Mechanismus wird sichergestellt, dass der Zugriff auf persönliche Token-Objekte in der Cloud über SO- und BENUTZER-PINs nur dem Benutzer zur Verfügung steht, der sie mithilfe des Dienstprogramms installiert hat pk11conf.

Alles, nachdem Sie diese Schritte ausgeführt haben, ist der Cloud-Token einsatzbereit. Um auf den Cloud-Token zuzugreifen, reicht es aus, die LS11CLOUD-Bibliothek auf dem PC zu installieren. Bei der Verwendung eines Cloud-Tokens in Anwendungen auf Android- und iOS-Plattformen wird das entsprechende SDK bereitgestellt. Es ist diese Bibliothek, die beim Verbinden des Cloud-Tokens im Redfox-Browser angezeigt oder in die Datei pkcs11.txt geschrieben wird. Die LS11CLOUD-Bibliothek interagiert auch mit dem Token in der Cloud über einen sicheren Kanal, der auf SESPAKE basiert und durch den Aufruf von PKCS#11 C_Initialize! erstellt wird.

Cloud-Token PKCS#11 – Mythos oder Realität?

Das ist alles, jetzt können Sie ein Zertifikat bestellen, es in Ihrem Cloud-Token installieren und zur > Website der Regierungsdienste gehen.

Source: habr.com

Kommentar hinzufügen