TPM 2.0 PKCS # 11 su Windows e Linux

5

I nuovi processori Skylake hanno integrato TPM 2.0 all'interno.

C'è un modo come usare il TPM 2.0 come un token PKCS # 11 su Windows e Linux per le chiavi simmetriche e asimmetriche?

TPM 1.2 ha una libreria PKCS # 11 e sto cercando qualcosa di simile per TPM 2.0 per usare le sue nuove chiavi RSA e la gerarchia dei certificati.

    
posta user1563721 11.06.2016 - 08:47
fonte

1 risposta

0

- È una vecchia domanda bit , ma sono riuscito a trovare una soluzione che funzionasse per me.

È disponibile su Github un modulo che fornisce il backend PKCS # 11 per i chip TPM 2.0.

Usage:

  1. Crea chiave TPM

    • Crea una chiave primaria con algoritmo hash sha256 e algoritmo chiave rsa e archivia il contesto dell'oggetto in un file ( po.ctx ).

      tpm2_createprimary -H o -g sha256 -G rsa -C po.ctx
      
    • Ora crea un oggetto che può essere caricato nel TPM con l'oggetto genitore dal file ( po.ctx ) usando l'algoritmo di hash SHA256 e l'algoritmo della chiave RSA restituisce le chiavi pubbliche e private a key.pub|priv .

      tpm2_create -c po.ctx -g sha256 -G rsa -u key.pub -r key.priv
      
    • Carica le chiavi private e pubbliche nella memoria temporanea del TPM.

      tpm2_load -c po.ctx -u key.pub -r key.priv -C obj.ctx
      
    • Rendi persistente l'oggetto, specificando un handle valido.

      tpm2_evictcontrol -A o -c obj.ctx -H 0x81010010
      
    • Ora puoi rimuovere tutti i file temporaneamente.

      rm key.name *.ctx
      
  2. Installa TPM2-PK11 e copia config.sample in ~/.tpm2/config .

  3. Crea un certificato (ad esempio w / Certtool (GnuTLS)).

  4. Configura la tua applicazione per utilizzare TPM2-PK11 e la chiave TPM creata.

Client OpenSSH:

  • Crea il file di configurazione e modificalo per la configurazione:

    cp config.sample ~/.tpm2/config
    
  • Estrai chiave pubblica:

    ssh-keygen -D libtpm2-pk11.so
    
  • Utilizza il tuo TPM:

    ssh -I libtpm2-pk11.so ssh.example.com
    
  • o aggiungi il modulo PKCS # 11 alla tua configurazione ssh in ~/.ssh/config :

    Host *
        PKCS11Provider libtpm2-pk11.so
    

Firefox:

  • vai a Preferences , Privacy & Security e fai clic sul pulsante Security Devices .
  • Premi Carica e seleziona libtpm2-pk11.so installato sul tuo sistema.
  • Dopo aver caricato lo slot TPM2 PKCS11 dovrebbe essere elencato in Gestione periferiche e i certificati dovrebbero essere elencati quando si seleziona Visualizza certificati sotto Certificati.
risposta data 13.12.2018 - 12:55
fonte

Leggi altre domande sui tag