Cryptology Academy · Lezione

Architettura HSM e interfaccia PKCS#11

Comprenda i meccanismi interni degli HSM Thales/Entrust e l'API PKCS#11.

Lezione 2 di 412 passaggi

Architettura HSM e interfaccia PKCS#11 è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Che cos'è un Hardware Security Module?

Un HSM è un dispositivo hardware antimanomissione che genera, archivia e utilizza chiavi crittografiche. Le chiavi private non escono mai dall'HSM in chiaro: tutte le operazioni vengono eseguite all'interno del perimetro sicuro.

Funzionalità di sicurezza fisica

Gli HSM includono: rilevamento attivo delle manomissioni, con cancellazione delle chiavi in caso di intrusione; schede riempite di resina epossidica; sensori ambientali per tensione e temperatura; requisiti di certificazione FIPS 140-2/3 di livello 3-4.

Componenti interni degli HSM

I componenti tipici di un HSM includono: un processore crittografico dedicato, un CSPRNG interno basato sull'entropia hardware, SRAM con batteria di backup per l'archiviazione delle chiavi, un sistema operativo isolato e una catena di avvio sicura. Tutto il materiale delle chiavi rimane nell'enclave sicura.

HSM di rete e PCIe

Gli HSM di rete (Thales Luna, Entrust nShield Connect) servono più host tramite una rete. Gli HSM PCIe si collegano a un singolo server. I token USB (YubiHSM, SoftHSM) sono più economici, ma offrono un throughput inferiore.

Standard PKCS#11

PKCS#11 (Cryptoki) è lo standard OASIS per le API C degli HSM. Le applicazioni chiamano funzioni come C_GenerateKeyPair, C_Sign e C_Decrypt tramite una libreria condivisa fornita dal vendor, senza conoscere i dettagli interni dell'HSM.

Modello delle sessioni PKCS#11

Slot → token → sessioni. Uno slot è una partizione dell'HSM; un token è un archivio logico di chiavi. Le applicazioni aprono una sessione, eseguono l'autenticazione con un PIN e quindi effettuano le operazioni nel contesto di quella sessione.

Attributi delle chiavi in PKCS#11

Ogni oggetto chiave dispone di attributi: CKA_SENSITIVE (non può essere esportato in chiaro), CKA_EXTRACTABLE (può essere esportato sotto forma di chiave wrapped), CKA_SIGN, CKA_DECRYPT e così via. La combinazione non estraibile e sensibile garantisce che la chiave non lasci mai l'HSM.

Accesso agli HSM Python tramite python-pkcs11

La libreria python-pkcs11 esegue il wrapping di PKCS#11:

import pkcs11

lib = pkcs11.lib("/usr/local/lib/libyubihsm_pkcs11.so")
token = lib.get_token(token_label="MyHSM")
with token.open(user_pin="1234") as session:
    # Generate RSA key pair inside HSM
    pub, priv = session.generate_keypair(
        pkcs11.KeyType.RSA, 2048,
        store=True,
        label="my-signing-key"
    )
    # Sign data — private key never leaves HSM
    signature = priv.sign(b"data to sign")

Cerimonia delle chiavi e custodi

L'inizializzazione dell'HSM, detta "cerimonia delle chiavi", viene eseguita in un ambiente controllato con più custodi, ciascuno in possesso di una parte conservata su una smart card. Gli auditor FIPS assistono alla cerimonia. Il processo viene documentato e filmato.

Cluster HSM e alta disponibilità

Gli HSM aziendali replicano le chiavi in un cluster per garantire l'alta disponibilità. Thales Luna usa canali di replica sicuri tra i nodi. I bilanciatori del carico lato client distribuiscono le operazioni. Il failover è trasparente per le applicazioni.

Verifica delle conoscenze

Quale attributo di una chiave PKCS#11 garantisce che una chiave privata non possa mai essere esportata dall'HSM in chiaro?

Riepilogo della lezione

Gli HSM sono dispositivi hardware antimanomissione che mantengono le chiavi private all'interno di un perimetro sicuro. PKCS#11 fornisce un'API indipendente dal vendor. Gli attributi delle chiavi, SENSITIVE e non EXTRACTABLE, impediscono l'esportazione. Gli HSM aziendali vengono raggruppati in cluster per l'alta disponibilità e sono sottoposti a cerimonie formali delle chiavi.

Gratis per iniziare

Impara Cryptology Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
67
Lezioni
261

Domande Frequenti

La lezione «Architettura HSM e interfaccia PKCS#11» è gratuita?

Sì — il testo completo di «Architettura HSM e interfaccia PKCS#11» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Architettura HSM e interfaccia PKCS#11»?

Comprenda i meccanismi interni degli HSM Thales/Entrust e l'API PKCS#11. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Architettura HSM e interfaccia PKCS#11»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Ciclo di vita delle chiavi: generazione, archiviazione, rotazione e distruzione
  2. Architettura HSM e interfaccia PKCS#11
  3. AWS KMS, GCP Cloud KMS e Azure Key Vault
  4. Deposito, backup e ripristino delle chiavi
← Torna a Cryptology Academy