Molntoken PKCS#11 – myt eller verklighet?

PKCS#11 (Cryptoki) är en standard utvecklad av RSA Laboratories för samverkande program med kryptografiska tokens, smarta kort och andra liknande enheter som använder ett enhetligt programmeringsgränssnitt som implementeras genom bibliotek.

PKCS#11-standarden för rysk kryptografi stöds av den tekniska standardiseringskommittén "Cryptographic Information Protection" (TK 26).

Om vi ​​pratar om tokens med stöd för rysk kryptografi, så kan vi prata om mjukvarutokens, mjukvaru- och hårdvarutokens och hårdvarutokens.

Kryptografiska tokens tillhandahåller både lagring av certifikat och nyckelpar (offentliga och privata nycklar) och prestanda för kryptografiska operationer i enlighet med PKCS#11-standarden. Den svaga länken här är lagringen av den privata nyckeln. Om den offentliga nyckeln tappas bort kan du alltid återställa den med den privata nyckeln eller ta den från certifikatet. Förlusten/förstörelsen av en privat nyckel har ödesdigra konsekvenser, till exempel kommer du inte att kunna dekryptera filer krypterade med din publika nyckel, och du kommer inte att kunna sätta en elektronisk signatur (ES). För att generera en elektronisk signatur måste du skapa ett nytt nyckelpar och, för lite pengar, skaffa ett nytt certifikat från en av certifieringsmyndigheterna.

Ovan nämnde vi mjukvara, firmware och hårdvara tokens. Men vi kan överväga en annan typ av kryptografisk token - moln.

Idag kommer du inte att överraska någon moln flash-enhet. allt fördelar och nackdelar molnminnen är nästan identiska med en molntoken.

Huvudsaken här är säkerheten för data som lagras i molntoken, i första hand de privata nycklarna. Kan en molntoken tillhandahålla detta? Vi säger - JA!

Så hur fungerar en molntoken? Det första steget är att registrera klienten i tokenmolnet. För att göra detta måste ett verktyg tillhandahållas som låter dig komma åt molnet och registrera ditt inloggningsnamn/smeknamn i det:
Molntoken PKCS#11 – myt eller verklighet?

Efter registrering i molnet måste användaren initiera sin token, nämligen ställa in tokenetiketten och, viktigast av allt, ställa in SO-PIN och användarens PIN-koder. Dessa transaktioner måste endast utföras över en säker/krypterad kanal. Verktyget pk11conf används för att initiera token. För att kryptera kanalen föreslås det att man använder en krypteringsalgoritm Magma-CTR (GOST R 34.13-2015).

För att utveckla en överenskommen nyckel utifrån vilken trafik mellan klient och server ska skyddas/krypteras föreslås att man använder det rekommenderade TK 26-protokollet SESPAKE - delat nyckelgenereringsprotokoll med lösenordsautentisering.

Det föreslås att det används som lösenord på grundval av vilket den delade nyckeln kommer att genereras engångslösenordsmekanism. Eftersom vi pratar om rysk kryptografi är det naturligt att generera engångslösenord med hjälp av mekanismer CKM_GOSTR3411_12_256_HMAC, CKM_GOSTR3411_12_512_HMAC eller CKM_GOSTR3411_HMAC.

Användningen av den här mekanismen säkerställer att åtkomst till personliga tokenobjekt i molnet via SO och USER PIN-koder endast är tillgänglig för användaren som installerade dem med hjälp av verktyget pk11conf.

Det är allt, efter att ha slutfört dessa steg är molntokenen redo att användas. För att komma åt molntoken behöver du bara installera LS11CLOUD-biblioteket på din PC. När du använder en molntoken i applikationer på Android- och iOS-plattformarna tillhandahålls en motsvarande SDK. Det är detta bibliotek som kommer att specificeras när en molntoken ansluts i Redfox-webbläsaren eller skrivs i filen pkcs11.txt för. LS11CLOUD-biblioteket interagerar också med token i molnet via en säker kanal baserad på SESPAKE, skapad när PKCS#11 C_Initialize-funktionen anropas!

Molntoken PKCS#11 – myt eller verklighet?

Det är allt, nu kan du beställa ett certifikat, installera det i ditt molntoken och gå till webbplatsen för statliga tjänster.

Källa: will.com

Lägg en kommentar