Configuraciones adicionales de Yubikey como Smartcard

Posted on lun 13 noviembre 2017

Ya hemos visto como agregar una llave GnuPG a una Yubikey como smartcard. Ahora veremos como configurar algunos parámetros adicionales.

Cambiar el PIN de llave y el PIN de admin

Las Yubikey 4 traen de fábrica configurados dos PIN, uno para usar la llave (123456) y otro para las operaciones de administración (12345678). Éstos deben ser cambiados para que no se pueda usar la Yubikey sin autorización.

Cambio PIN de llave

Debemos ejecutar el comando gpg2 --card-edit para entrar al modo edición. Una vez en el modo edición, ejecutamos passwd. Se pedirá el PIN actual para luego ingresar y confirmar el nuevo PIN.

Cambio PIN de admin

Debemos ejecutar el comando gpg2 --card-edit. Una vez en el modo edición ejecutamos admin y luego passwd. Debemos elegir la opción change Admin PIN. Se pedirá el PIN de admin actual para luego ingresar y confirmar el nuevo PIN.

URL para descargar llave pública

En el post anterior indicamos que para usar la yubikey en otros equipos necesitamos importar la llave pública. Esto se facilita si dejamos la llave en algún servidor de llaves para recuperarla por red.

  1. Listamos las llaves para obtener el hash:

    gpg2 --list-secret-keys
    sec#  rsa2048 2017-11-13 [SC]
          FB4C1101D775522102A6F3D4BA1D54E27D357BCD
    uid           [desconocida] Juan Pérez <jp@example.com>
    ssb>  rsa2048 2017-11-13 [E]
    ssb>  rsa2048 2017-11-13 [S]
    ssb>  rsa2048 2017-11-13 [A]
    
  2. Recuperamos los últimos 16 caracteres del hash hexadecimal, en este caso BA1D54E27D357BCD. Luego publicamos la llave en la web:

    gpg2 --keyserver pgp.key-server.io --send-key BA1D54E27D357BCD
    
  3. Luego determinamos la url donde estará la llave: https://pgp.key-server.io/download/0xBA1D54E27D357BCD

  4. Insertamos la yubikey

  5. Ejecutamos el comando gpg2 --card-edit, luego ejecutamos admin y finalmente url. Colocamos la url que formamos en el punto 3. Nos solicitará el PIN de admin.

  6. Salimos con quit

Ahora que la yubikey ya posee una url con la llave pública, bastará que la conectemos a otro equipo e ingresemos al modo edición gpg2 --card-edit y luego obtengamos la llave con fetch.

    gpg/tarjeta> fetch
    gpg: requesting key from 'https://pgp.key-server.io/download/0xBA1D54E27D357BCD'
    gpg: clave BA1D54E27D357BCD: clave pública "Juan Pérez <jp2@example.com>" importada
    gpg: Cantidad total procesada: 1
    gpg:               importadas: 1