GnuPG + Yubikey: ¿Puede un troyano extraer alguna clave secreta o información confidencial?

6

Cuando use GnuPG con un Yubikey 4 en una computadora portátil para la comunicación por correo electrónico: ¿Puede un troyano extraer alguna clave secreta o información confidencial?

Si es así, ¿qué información sería?

    
pregunta user3200534 03.01.2016 - 02:52
fuente

1 respuesta

10

Puede resumir el resto de la respuesta con "Las YubiKeys implementan el protocolo criptográfico de tarjeta inteligente mediante un microcontrolador programable". Entonces, ¿qué implica esto?

Tarjetas inteligentes criptográficas

La idea detrás de las tarjetas inteligentes criptográficas es que están equipadas con su propio procesador criptográfico y pueden realizar varias operaciones:

  • crear claves para criptografía de clave pública / privada
  • como alternativa, cargue dichas claves
  • firmar documentos (hashes) usando estas claves
  • claves de sesión de cifrado para cifrado simétrico

Una operación no admitida es extraer , la idea de las tarjetas inteligentes OpenPGP es limitar el impacto de las violaciones al momento en que la tarjeta / clave está conectada a la máquina. Esto también significa que si desea una copia de seguridad, tendría que crear la clave en una computadora y luego cargarla en la tarjeta inteligente / YubiKey.

Todo esto se explica en la entrada del blog de Yubico YubiKey NEO y OpenPGP :

  

ADVERTENCIA: no puede hacer una copia de seguridad de las claves secretas; por lo tanto, si pierde el NEO de YubiKey, vuelve a generar otro par de claves u otro pierde el par de claves, ¡no hay manera de recuperarlo! Cuando cifre un archivo, asegúrese de tener una copia de seguridad de texto sin formato.

Información sensible más allá de las claves privadas

Usted puede (pero no tiene que hacerlo) almacenar cierta información personal en tarjetas inteligentes OpenPGP, también el proveedor podría hacerlo (por ejemplo, la FSFE firma el contenido original de la clave con su propia clave, Incluyendo alguna información personal que preprogramaron). No estoy seguro de si YubiKey implementa todo el estándar de la tarjeta inteligente OpenPGP y no tengo mi YubiKey conmigo ahora, pero supongo que sí. La información que siempre se almacena es el número de serie y, tan pronto como se crean las claves, sus huellas digitales y las fechas de creación. Hay un contador de firmas que puede indicar el uso de la llave / tarjeta. Además, puede (pero no tiene que) establecer el nombre del titular de la tarjeta, el idioma, el sexo, el URI de la clave pública y algunos datos de inicio de sesión.

Microcontroladores programables

La YubiKey en realidad es una computadora completa, y todas las operaciones de la tarjeta inteligente se implementan en el software. Puede haber errores y otros problemas, y realmente no puede verificar el software. En los productos que no están en desarrollo, ni siquiera puede instalar su propio software (que, por supuesto, también se aplica a los tokens de hardware, que también podrían incluir errores y puertas traseras, donde también necesita confiar en el proveedor, pero el software suele ser más complejo, menos comprendido y con más probabilidades de tener problemas).

El YubiKey (Neo) ya se vio afectado por un problema , que permite realizar criptografía Operaciones sin conocimiento del PIN del usuario . Extraer claves fue no posible debido a este problema.

Un atacante muy sofisticado podría incluso abrir el dispositivo y leer la información almacenada (lo que también se aplica a las tarjetas inteligentes "dedicadas" para OpenPGP y otros protocolos, por supuesto).

Una alternativa que dice ser hardware y software de código abierto (que en teoría permitiría la verificación, mientras que producir su propio dispositivo probablemente está fuera del alcance) es Nitrokey . No estoy seguro de cómo verificar el software que se ejecuta en el dispositivo y si se puede intercambiar todo el software con el código fuente autocompilado (¿y evaluado?), Al menos debe poder hacerlo para las aplicaciones individuales ( como OpenPGP).

    
respondido por el Jens Erat 03.01.2016 - 10:10
fuente

Lea otras preguntas en las etiquetas