TPM 2.0 PKCS # 11 en Windows y Linux

5

Los nuevos procesadores Skylake han integrado TPM 2.0 en su interior.

¿Hay alguna forma de usar el TPM 2.0 como token PKCS # 11 en Windows y Linux para claves simétricas y asimétricas?

TPM 1.2 tiene bibliotecas PKCS # 11 y estoy buscando algo similar para que TPM 2.0 use su nueva jerarquía de certificados y claves RSA.

    
pregunta user1563721 11.06.2016 - 08:47
fuente

1 respuesta

0

- Es una pregunta antigua de bit , pero logré encontrar una solución que funcionó para mí.

Hay disponible en Github un módulo que proporciona el backend PKCS # 11 para los chips TPM 2.0.

Uso:

  1. Crear clave TPM

    • Cree una clave primaria con el algoritmo hash sha256 y el algoritmo de clave rsa y almacene el contexto del objeto en un archivo ( po.ctx ).

      tpm2_createprimary -H o -g sha256 -G rsa -C po.ctx
      
    • Ahora cree un objeto que pueda cargarse en el TPM con el objeto principal desde el archivo ( po.ctx ) usando el algoritmo hash SHA256 y el algoritmo de clave RSA envía las claves pública y privada a key.pub|priv .

      tpm2_create -c po.ctx -g sha256 -G rsa -u key.pub -r key.priv
      
    • Cargue las claves privadas y públicas en la memoria transitoria del TPM.

      tpm2_load -c po.ctx -u key.pub -r key.priv -C obj.ctx
      
    • Haga que el objeto sea persistente, especificando un identificador válido.

      tpm2_evictcontrol -A o -c obj.ctx -H 0x81010010
      
    • Ahora puedes eliminar todos los archivos temporalmente.

      rm key.name *.ctx
      
  2. Instala TPM2-PK11 y copia config.sample a ~/.tpm2/config .

  3. Cree un certificado (por ejemplo, w / Certtool (GnuTLS)).

  4. Configure su aplicación para usar TPM2-PK11 y la clave TPM creada.

Cliente OpenSSH:

  • Cree el archivo de configuración y cámbielo para su configuración:

    cp config.sample ~/.tpm2/config
    
  • Extraer clave pública:

    ssh-keygen -D libtpm2-pk11.so
    
  • Usa tu tecla TPM:

    ssh -I libtpm2-pk11.so ssh.example.com
    
  • o agregue el módulo PKCS # 11 a su configuración ssh en ~/.ssh/config :

    Host *
        PKCS11Provider libtpm2-pk11.so
    

Firefox:

  • Vaya a Preferences , Privacy & Security y haga clic en el botón Security Devices .
  • Presiona Cargar y selecciona el libtpm2-pk11.so instalado en tu sistema.
  • Después de cargar la ranura TPM2 PKCS11, ahora debe aparecer en el Administrador de dispositivos y sus certificados deben aparecer en la lista al seleccionar Ver certificados en Sus certificados.
respondido por el mike 13.12.2018 - 12:55
fuente

Lea otras preguntas en las etiquetas