Introduzione a EP11 su gRPC- Piano Standard

Enterprise PKCS #11 (EP11) è progettato per i clienti che cercano supporto per standard aperti e sicurezza avanzata. La libreria EP11 fornisce un'interfaccia senza stato, simile all'API PKCS(Public - Key Cryptography Standards)#11 standard del settore. L'API PKCS #11 definisce un'API indipendente dalla piattaforma per i token crittografici, come gli HSM (Hardware Security Module) e le smart card. Le applicazioni esistenti che utilizzano PKCS #11 possono beneficiare di una maggiore sicurezza con la crittografia a chiave sicura e un'interfaccia senza stato, che rende le operazioni di crittografia molto più efficienti.

Ulteriori informazioni sulla libreria EP11 sono disponibili nel documento della struttura della libreria Enterprise PKCS #11(EP11). Per ulteriori informazioni sulle funzionalità e le estensioni EP11, consultare EP11 Introduzione.

IBM Cloud® Hyper Protect Crypto Services fornisce una serie di chiamate API EP11 su gRPC (GREP11), con cui vengono eseguite tutte le funzioni crittografiche nell'HSM cloud di Hyper Protect Crypto Services. L'API GREP11 è un'interfaccia senza stato per operazioni crittografiche sul cloud.

Hyper Protect Crypto Services sfrutta framework come gRPC per abilitare l'accesso dell'applicazione remota. gRPC è un framework RPC (remote procedure call) open source moderno che può collegare i servizi nei e tra i data center per il bilanciamento del carico, la traccia, il controllo dell'integrità e l'autenticazione. Le applicazioni accedono a Hyper Protect Crypto Services richiamando l'API EP11 in remoto tramite gRPC. Per maggiori informazioni su gRPC, consultare la documentazione gRPC.

Con l'API GREP11 puoi effettuare le seguenti operazioni:

  • Generazione chiave.
  • Codificare e decodificare.
  • Firma e verifica.
  • Impacchettare e spacchettare le chiavi.
  • Derivare chiavi.
  • Creare il digest del messaggio.
  • Richiamare le informazioni sul meccanismo.

Per alcune operazioni, esiste una serie di operazioni secondarie. Ad esempio, l'operazione di codifica dati in più parti è composta dalle operazioni secondarie EncryptInit(), EncryptUpdate() e EncryptFinal().

  • EncryptInit() viene utilizzata per inizializzare un'operazione.
  • Encrypt() viene utilizzato per codificare i dati a parte singola senza la necessità di eseguire le operazioni secondarie EncryptUpdate() e EncryptFinal(). Questa operazione deve essere eseguita dopo la chiamata EncryptInit().
  • EncryptUpdate() e EncryptFinal() vengono utilizzati in combinazione per eseguire la codifica dei dati in più parti. Queste operazioni secondarie devono essere eseguite dopo la chiamata EncryptInit().
  • EncryptSingle() è un'estensione IBM EP11 alla specifica PKCS #11 standard e viene utilizzata per eseguire una chiamata singola per codificare i dati di una singola parte senza la necessità di eseguire le operazioni secondarie EncryptInit() e Encrypt().

Il seguente diagramma mostra i tre flussi di sequenze di chiamata delle funzioni GREP11 per eseguire la codifica. I flussi possono essere applicati anche ad altre operazioni quali la decodifica, il digest, la firma e la verifica. Per ulteriori informazioni sull'API GREP11, consulta Guida di riferimento APIGREP11.

GREP11 funzioni che richiamano il flusso per la crittografia
Figura 1. Tre flussi di chiamate delle funzioni GREP11 per la crittografia

L'API GREP11 può elaborare fino a 500 richieste al secondo per una singola unità di crittografia.

Supporto di crittografia post - quantistica

Con l'API GREP11, puoi anche eseguire operazioni post - quantum cryptographic. La crittografia tradizionale si basa su complessi problemi matematici che sono difficili da risolvere per i computer classici. Tuttavia, con le capacità di calcolo, i computer quantistici possono risolvere questi problemi. La crittografia post - quantistica è considerata resistente agli attacchi crittoanalitici dei computer quantistici. Di solito utilizza algoritmi asimmetrici e ha molteplici approcci.

L'API GREP11 fornisce l'algoritmo Dilithium per la crittografia post - quantistica. Si tratta di uno schema di firma digitale basato su reticolo e può essere utilizzato per la generazione e la verifica della firma. Attualmente, è supportata solo la versione ad alta sicurezza di round 2 Dilithium e non è disponibile per operazioni SignUpdate e VerifyUpdate.

L'algoritmo di Dilizio è supportato solo dalla scheda crittografica IBM 4769, indicata anche come Crypto Express 7S (CEX7S). Se crei le tue istanze nelle regioni basate su VPC (Virtual Private Cloud), dove vengono utilizzate le schede di crittografia CEX7S, puoi utilizzare l'algoritmo Dilithium per la crittografia post - quantistica con l'API GREP11. Per un elenco di regioni basate su VPC, vedi Regioni e ubicazioni.

Per ulteriori informazioni sul supporto dell'algoritmo Dilithium in GREP11, vedi Riferimento APIGREP11. È inoltre possibile trovare esempi di codice algoritmo Dilithium nei seguenti repository: