A dixitalización de tódolos campos cos que interactuamos día a día é un feito. A administración pública non é menos. Hoxe en día para pedir unha beca ou mesmo para facer a declaración da renda empregamos sistemas informáticos que axilizan e dixitalizan toda a información.

Porén, as identidades no mundo dixital non se comproban do mesmo xeito e, tratándose de información tan delicada como a que se intercambia nunha declaración da renda, é moi importante xestionar dun xeito seguro e moderno as identidades.

Se queres ir ao práctico, salta ao tutorial

Que é a autenticación?

No mundo real, moitos trámites requiren verificar a identidade dunha persoa. Por exemplo, ao presentarse a un exame importante, ao recoller un paquete ou ao facer viaxes internacionais. Case sempre, implica ensinar algún tipo de documento que acredite esta identidade, como o pasaporte ou o DNI.

Do mesmo xeito, no mundo dixital tamén se verifica a nosa identidade a diario, incluso nas redes sociais. Cada vez que entramos en Facebook, por exemplo, estase verificando a nosa identidade, a cal demostramos co noso usuario e contrasinal. Outro caso similar é cada vez de desbloqueamos o noso smartphone coa pegada, moi común nos novos terminais hoxe en día.

De feito, hai tres formas xerais de autenticar (verificar a identidade) no mundo dixital:

  • Con algo que sabemos. Por exemplo, un contrasinal.
  • Con algo que temos. Por exemplo, un certificado.
  • Con algo que somos. Por exemplo, a pegada dun dedo.

Sabemos que é un contrasinal, e que é unha pegada. Pero que é iso dun certificado?

Fingerprint authentication

Imaxe: Autenticación por pegada nos dispositivos móbiles

Os certificados dixitais

Para evitar entrar en detalles de criptografía de clave pública nesta entrada, asumiremos que un certificado dixital é un arquivo que garda unha chave. Unha chave é como un contrasinal, pero moito máis longa, e xerada aleatoriamente. O certificado que contén a chave, ademais, asegura que esa chave é auténtica, pois está asinada dixitalmente por unha identidade recoñecida.

Esta chave ou certificado é algo que posuímos, un arquivo, e pode ser instalado nun navegador para usala para entrar nunha aplicación web. Por exemplo, o portal da declaración da renda. Un certificado tamén pode servir para asinar documentos, pero isto tratarémolo noutra entrada.

A día de hoxe, na administración española, pode solicitarse un certificado de persoa física aquí, o cal require presenciarse fisicamente nunha oficina autorizada para obter un código por correo electrónico, o que nos servirá para obter (xerar) o certificado.

Sexa cal sexa o uso que lle demos, é moi importante non compartilo con ninguén, como calquera outra chave do mundo físico, esta pode copiarse sen que nos demos conta se lla prestamos a calquera. Por iso, cando se obtén un certificado e se garda (exporta) nun USB para empregalo noutro ordenador, pídenos un contrasinal para cifralo. Isto é, se algúen nos rouba a chave, necesita saber este contrasinal para usalo. Porén, cando un certificado está instalado nun navegador, non precisa de contrasinal para usarse.

O DNI electrónico

O DNI é unha tarxeta que foi evolucionando ao longo dos anos, pero cuxo obxectivo foi sempre o mesmo: acreditar a identidade dun cidadán. Coa nova versión, o DNI electrónico, a tarxeta pasou a servir para acreditar as identidades tamén no mundo dixital.

O DNI electrónico non é máis que unha Smart Card (unha tarxeta intelixente, con CHIP) que almacena dun xeito seguro os nosos certificados. De feito, se nos rouban o DNI, estes certificados non se poden copiar, a diferenza dos certificados mencionados anteriormente.

A tarxeta intelixente ten que conectarse ao ordenador para poder funcionar. De feito, é na tarxeta onde se producen todas as operacións criptográficas que verifican a nosa identidade, non no ordenador. Por isto, os certificados nunca saen do propio DNI.

DNI update machine

Imaxe: Máquina de actualización do DNI electrónico

Para poder utilizalos, en calquera oficina de expedición de DNI da policía, hai unhas máquinas que nos deixan activalos (xeralos). Para isto é preciso utilizar a pegada para autorizar a operación, pedíndonos un PIN (máis ben, contrasinal) para protexer o noso DNI por se o perdemos, pois, aínda que non pode copialo, podería utilizar o mesmo DNI malintencionadamente. Así, cada vez que o queiramos utilizar, hai que desbloquealo con ese PIN.

Como usar os certificados e o DNI electrónico

Agora que sabemos o que son os certificados e o DNI electrónico, hai que poñerse mans á obra. Neste caso trataremos o uso para autenticarse en servizos web e deixaremos o de asinar documentos para outra entrada.

Ingredientes:

  • DNI electrónico (activado: coñecemos o PIN :D)
  • Navegador (Firefox ou Google Chrome, por exemplo)
  • Un lector de tarxetas Smart Card.

Receita para Windows

MiniDriver Windows Install for DNI

Imaxe: Instalación de drivers en Windows para o DNI electrónico

A modo de resumo, se temos os ingredientes, a receita simplemente consistirá na instalación dun driver (descargar e executar). Incluso, hai algúns lectores que xa o fan esta instalación por nós. Se utilizas Firefox, hai un proceso un pouco máis manual. Isto é porque Google Chrome e IE utilizan a arquitectura Smart Card Mini Driver, e Firefox usa PKCS#11.

Pasos xerais

  1. Instalar o Smart Card Mini Driver de aquí. (descargas do dnielectronico.es)
  2. Cerrar o navegador e instalar executando o arquivo .exe.
  3. Enchufar o lector de tarxetas e o DNI electrónico neste.

Instalación Firefox:

  1. Comprobar que o módulo PKCS#11 está correctamente instalado en Firefox:
    • Menú > Preferencias > Privacidade e Seguridade > Seguridade
    • Seleccionar Ver Dispositivos de Seguridade.
    • No caso de non atoparse o módulo, engadilo manualmente: C:\Windows\system32\DNIe_P11_x64.dll ou o equivalente.
Load PKCS#11 in Firefox

Imaxe: Carga do módulo PKCS#11 en Firefox (Windows)

Receita para Linux

Neste caso necesitamos seguir os pasos da arquitectura PKCS#11, propia de Firefox. Do mesmo xeito, unha vez temos os ingredientes, só temos que instalar no sistema os drivers necesarios e facer a instalación manual en Firefox.

Instalación de drivers

  1. Instalar o módulo PKCS#11 de aquí. (descargas do dnielectronico.es)
  2. Cerrar o navegador e instalar o paquete.
  3. No directorio /usr/share/libpkcs11-dnietif encóntranse os certificados AC Raíz e unha páxina html coas instruccións a seguir.
  4. En Firefox acceder a Menú > Preferencias > Privacidade e Seguridade > Seguridade.
  5. Clicamos en Ver certificados. Na pestaña Autoridades, importamos os certificados (.crt) do directorio do punto 3, como indica nas instruccións do html mencionado no mesmo punto.
  6. No mesmo menú, clicamos en Dispositivos de Seguridade, e importamos o módulo instalado para que poidamos acceder á tarxeta: /usr/share/libpkcs11-dnietif.so.
  7. Instalamos a dependencia para que Linux recoñeza o lector de tarxetas Common Card: pcscd.
Linux directory of installed files

Imaxe: Directorio post-instalación dos drivers en Linux

Certificates menu in Firefox

Imaxe: Menú Firefox en Linux

Load PKCS#11 in Firefox

Imaxe: Carga do módulo PKCS#11 en Firefox (Linux)

Obrigado!