domingo, 20 de agosto de 2006

El imparable ascenso de la Biometria

Según la compañía Endpoint Technologies Associates, el número de PCs con lectores de huella dactilar aumentará en los próximos 5 años hasta multiplicar el número actual por 15, desde los actuales 15 millones de unidades en 2006 a los 228 millones de unidades en el año 2011. Este enorme crecimiento puede ser atribuido a la reducción de precios de estos dispositivios, a su creciente aceptación por parte del público en general y a las nuevas potenciales aplicaciones que estan apareciendo para esta tecnología.

Los lectores de huella (fingerprint scanners) es la más práctica de las tecnologías biometricas cuando hablamos de PCs. Se integran en cualquier pequeño espacio no empleado del teclado y solo requieren un pequeño gesto del usuario para permitir el acceso. La inclusión de estos dispositivos en PCs fue realizada por primera vez por IBM en el año 2004 que incluia lectores de huella en sus portatiles ThinkPad. Desde entonces, la mayor parte de los grandes fabricantes de PC ofrecen esta posibilidad a los usuarios. Compañías como AuthenTec y UPEK fabricantes ambos de lectores de huella, mantienen crecimientos de sus ingresos alrededor de un 200% anualmente.

El precio de un lector de huella para su integración en un ordenador portatil era inicialmente de unos $26 por unidad - precios que ahora estan alrededor de $5 por unidad. Tambien existen teclados con lectores incorporados de diversos fabricantes disponibles para ordenadores de sobremesa y servidores.

Además, es frecuente ver que se combina la tecnología de recocimiento de huella dactilar con tarjetas inteligentes, integrandose tambien dispositivos lectores de tarjetas tanto en portatiles com en ordenadores de sobremesa.

Rames.

viernes, 18 de agosto de 2006

Iniciar sesión en Windows con una smartcard (incluido el DNI Electrónico) ya es posible

Hoy, todas las organizaciones se plantean dejar de usar en algún momento las passwords para pasar a lo que denominan una autenticación fuerte . Y la salida del DNIe no ha hecho más que incrementar este tipo de necesidad.

Lo que sucede, no es que Windows no pueda implementar un logon con smartcards. Esta funcionalidad está presente desde que apareció Windows 2000 hace ya 6 años sino lo que dificulta su uso son los requisitos, que provienen de la aplicación de la especificación PKINIT basada en Kerberos. Estos requisitos se detallan en el articulo de soporte de Microsoft del caso Q281245 y puede consultarse en: http://support.microsoft.com/kb/281245/es

Con respecto a los requisitos, algunos son de configuración y son más o menos faciles de cumplir, mientras otros son relativos a la estructura y contenido del certificado o certificados x509v3 contenidos en la tarjeta intelegente (smartcard).

Windows requier requiera que el certificado contenga:

  • La ubicación del Punto de distribución de CRL (CDP), donde CRL es la Lista de revocación de certificados, debe estar llena, en conexión y disponible. Por ejemplo:[1]Punto de distribución CRLNombre del punto de distribución:Nombre completo:URL=http://server1.name.com/CertEnroll/caname.crl
  • Uso de claves = firma digital
  • Restricciones básicas [Tipo de asunto=Entidad final, Restricción de longitud de ruta=Ninguna] (Opcional)
  • Uso mejorado de claves = Autenticación del cliente (1.3.6.1.5.5.7.3.2)(El OID de autenticación del cliente sólo es necesario si se utiliza un certificado para la autenticación SSL.)
  • Inicio de sesión de tarjeta inteligente (1.3.6.1.4.1.311.20.2.2)
  • Nombre alternativo del sujeto = Otro nombre: Nombre principal= (UPN). Por ejemplo:UPN = usuario1@nombre.com, El OID OtherName UPN es: "1.3.6.1.4.1.311.20.2.3" y el valor OtherName UPN: debe ser una cadena UTF8 codificada en ASN1
  • Asunto = Nombre completo del usuario. Este campo es una extensión obligatoria, pero es opcional rellenarlo.
Si el certificado ha sido emitido por la PKI incluida en Windows 2000 o Windows Server 2003, probablemente se cumplirán. Lamentablemente no hay muchas autoridades de certificación en españa que utilicen la PKI de Windows.

El mayor obstaculo, en mi opinión, son los atributos que he marcado en rojo y en especial el segundo que obliga a establecer la relación entre el certificado y el usuario en el mismo momento de la emisión del certificado.

Esto tiene algunas implicaciones, tanto técnicas como operativas, y es que si se trata de un certificado personal se esta vinculando datos laborales de la persona (usuario del Directorio Activo que corresponde a la persona de la empresa en la que trabaja cuando se emite el certificado), si por cualquier razón esa persona cambia de trabajo necesitaría revocar dicho certificado y solicitar uno nuevo.

Si nos planteamos utilizar en nuestra empresa alguno de los certificados personales que se emiten por la administración como los certificados CERES o el propio DNI electrónico, veremos que ninguno cumple estos requisitos y no pueden solicitarse como requiere Windows.

Y es que Windows no puede configurarse en este aspecto y tiene configurado que la relación entre el certificado y el usuario debe ser siempre a través del contenido del atributo "Nombre alternativo del asunto" (Subject Alternative Name) y que el certificado debe tener el proposito de "Inicio de sesión de tarjeta inteligente" (Smartcard logon) y una dirección (URL) válida para la comprobacion de revocación.j

Adicionalmente es obligatorio en el logon comprobar siempre la revocación de certificados no pudiendo desactivarse por el administrador este comportamiento al igual que se hace en otras aplicaciones. Esto lo hace más seguro, pero en ciertos casos añade más segundos de demora al proceso de inicio de sesión.

Si falla cualquiera de estas requisitos, Windows determina que el certificado no es válido para el logon y no progresa la petición, con el consiguiente mensaje al usuario.

La realidad es, que desde hace ya algunos años, y en especial desde el lanzamiento del DNI Electrónico (DNIe) la mayoría de los organismos públicos y empresas estan planteandose evolucionar desde el inicio basado en usuario y contraseña a una autenticación más segura basada en varios factores (algo que tiene el usuario o algo que és, además de lo que sabe).

Lamentablemente, Microsoft no ha publicado planes para cambiar este comportamiento en Windows y las implementaciones que resuelven esta problemática por parte de empresas de software, optan por el método tradicional de reescribir el proceso que gobierna el logon de Windows (comúnmente denominado GINA de Graphical Identification aNd Authentication library)

Todo esto nos ha llevado en Smart Access a desarrollar una familia de productos (denominada SmartID) que facilita y promueve el uso de smartcards, certificados y opcionalmente reconocimiento biométrico para un incio de sesión más seguro en Windows. Estos productos ya se comercializan desde Abril de 2006 y proporcionan la flexibilidad a las organizaciones de utilizar cualquier certificado propio o emitido por terceros para el inicio de sesión en Windows utlizando smartcards de forma segura.

Rames.

Algoritomos criptográficos Suite-B. ¿Porque se debe cambiar?

Realmente no se trata de una suite de hotel, ni de un conjunto de productos de segunda categoría.

Suite B, es lo último en algoritmos criptografícos. Aunque algunos existen desde hace más de dos décadas, es ahora cuando comienzan a aparecer productos comerciales que los implementan y clientes que los demandan.

La situación hoy de los algoritmos criptográficos es la siguiente:

  • La criptografía de 40-bits que tradicionalmente esta sujeta al control de exportación de EEUU, se considera trivial de romper.
  • La criptografía de 56-bits se consiguió romper hace algunos años por menos de 300.000€
    Un hash 128-bit MD4, es equivalente a un algoritmo de clave simétrica de 64-bits y ya ha sido roto.
  • El 128-bit MD5 ha sido roto por un equipo chino.

Hoy es muy frecuente ver que se aplica la criptografía de 80-bit, pero incluso esta tiene un tiempo de vida limitado.

  • SHA-1 tiene solo una fortaleza de 2^80, asumiendo que el atacante pueda obtener 2^40 pares de cifrado.
  • RSA-1024 se considera equivalente a una fortaleza de 2^80
  • El NIST (National Institute de Standards and Technology de Estados Unidos - Agencia federal dedicada a definir standares y tecnología especialmente en el área de seguridad y criptografía) recomienda al resto de agencias federales de EEUU dejar de utilizar la criptografía de 80-bits como muy tarde en el año 2010.

¿Cual es entonces la solución?, parece que los algoritmos empleados en los últimos años han dejado o dejarán en breve de ser seguros.

El siguiente escalón lo representan el manejo de claves RSA de 2048, como las implementadas en el nuevo DNI Electrónico. El algoritmo RSA-2048 es equivalente en fortaleza a un algoritmo de clave simétrica de 112-bits pero requiere mucho más potencia de cálculo.

Aún, así el NIST vuelve a recomendar que se dejen de emplear la criptografía de 112-bit como muy tarde en el año 2030, aunque claro es solo una estimación.

La progresión de uso de los algoritmos de RSA con claves cada vez mayores, no parece sostenible. El tiempo (y potencia de calculo) requerido a medida que crecen la longitud de las claves crece rapidamente. El tiempo requerido para firmar es proporcional a la longitud de la clave elevada al cubo. Como ejemplo:

  • Las operaciones RSA-2048 requiere 8 veces más tiempo que sus equivalentes RSA-1024
    RSA-2048 (3DES) equivale a clave de 112-bit
  • RSA-3072 equivale a una clave de 128-bit (AES)
  • RSA-7680 equivale a una clave de 192-bit (AES)
  • RSA-15380 equivale a una clave AES de 256-bit

A pesar de este panorama, que puede parecer desolador, existen algoritmos alternativos de mayor fortaleza y rapidez y estan disponibles hoy. Estos algoritmos se han denominado Algoritmos Suite-B e incluye 3 componentes:

  • La criptografía de Curva Elíptica - Elliptical Curve Cryptography (ECC)
  • El protocolo de cifrado AES - Advanced Encryption Standard
  • Algoritmos de hash SHA-2

La criptografía de curva elíptica (ECC) fue inventada por Neil Koblitz y Victor Miller en 1985. Solo 8 años despues del algoritmo RSA. Ha sido estudiada durante lo últimos 20 años y se le reconoce su fortaleza y la estabilidad de sus fundamentos matemáticos. ECC ha sido estandarizada por organismos como el ISO y el IETF.

Se han definido 3 curvas y tamaños de claves: P-256, P-384 y P-521 con longitudes de claves de 256, 384 y 521 bits respectivamente. Estas curvas equivalen a claves AES de 256, 192 y 512 respectivamente.

En general ECC es equivalente en fortaleza a RSA pero requiere menos potencia de cálculo en sus operaciones.

  • P-256 equivale a RSA-3020
  • P-384 equivale a RSA-7680
  • P-521 equivale a RSA-15380

El rendimiento de ECC es tambien proporcional a la longitud de la clave elevada al cubo, pero al emplear claves más cortas su rendimiento mejora. P-256 es más rapido que RSA-2048.

Rames.