Nuevos algoritmos criptográficos en "Orcas"

Desde siempre soy un gran aficionado a la criptografía, y en mi opinión Whitfield Diffie se merece el premio Nobel de matemáticas por su contribución a la humanidad 🙂


El caso es que en .NET hay un gran soporte criptográfico, tanto en código manejado, como haciendo uso de la API de criptografía del sistema operativo. Sobre todo en .NET 2.0, porque en .NET 1.x había bastantes carencias en cuanto al manejo de algoritmos de clave pública basados en certificados (lo sufrí enun proyecto a base de bien).


En .NET 3.5, o la versión de la plataforma que saldrá conorcas dentro de unos meses, el soporte de criptografía se ha mejorado mucho. En concreto se han centrado en ofrecer todos los algoritmos conocidos como Suite B, de la NSA.


Esta suite contempla una serie de algoritmos avanzados de seguridad exigidos por el Estado USA e implica ofrecer soporte para AES, SHA-256 y SHA-384 (ya los ofrecía) y una serie de algoritmos criptográficos de curvas elípticas que se han tenido que incorporar (ECDH (Elliptic Curve Diffie-Hellman) para intercambio de claves y ECDSA (Elliptic Curve Digital Signature Algorithm) para firma digital, ambos con curvas de módulos de 256 y 384 bits.).


la criptografía elíptica es similar a la de clave pública tradicional como RSA (algoritmos asimétricos) pero es más eficiente y segura que ésta. Por ejemplo, la NSA recomienda usar claves de 15.360 bits para proteger una clave simétrica de 256 bits con RSA, mientras que la longitud de clave recomendada si usamos un algoritmo elíptico es de 512 bits.


Además de esto el equipo de .NET ha querido soportar implementaciones de estos algoritmos certificadas por el FIPS (Federal Information Processing Standard). Por ejemplo, las implementaciones de SHA de las anteriores versiones no estaban certificadas por FIPS y las nuevas sí lo estarán.


Ello nos ayudará a crear aplicaciones de seguridad mucho más confiables y, en el hipotético caso de que llegásemos a trabajar para organismos oficiales, no tendríamos problema para certificar nuestra aplicación.


Algunas implementaciones de los algoritmos sacan apartido a una nueva API que está presente por primera vez en Windows vista, llamada CNG (Crypto Next Generation). Pos este motivo algunas implementaciones de algoritmos están atadas a determinados sistemas operativos. En concreto todas las nuevas clases de criptografía cuyo nombre termine en ‘Cng’ usan la APi de Windows Vista y necesitan ese sistema o uno superior (Windows Server 2008 de momento) para poder funcionar. Por ejemplo ECDsaCng.

Sin categoría

5 thoughts on “Nuevos algoritmos criptográficos en "Orcas"

  1. Bueno realmente es bueno, pero la verdad nunca eh tenido la oportunidad de trabajar con criptografia en .NET, sera que me podras regalar unos enlaces para estudiar mas a fondo este tema.

  2. Interesante sin duda Jose.

    Lecturas varias recomendadas;

    – Sun Microsystems (poca cosa pero alguna muy interesante en mi opinión)
    http://research.sun.com/projects/crypto/ECC-Whitepaper.pdf

    Y ya que hablamos de CNG:
    SDK de CNG para Windows Vista (no dudo que saquen las APIs y SDKs para Windows XP y Windows Server 2003)
    http://www.microsoft.com/downloads/details.aspx?FamilyID=1ef399e9-b018-49db-a98b-0ced7cb8ff6f&DisplayLang=en

    Información de Microsoft sobre la API de CNG:
    http://msdn2.microsoft.com/en-US/library/aa376210.aspx

  3. Jorge, muchas gracias por los enlaces para Shadow 🙂

    No puedo evitar decir que en mi curso de técnicas de escritura de código seguro en campusMVP hay una parte completa dedicada a criptogfrafía con .NET que incluye incluso una buena introducción a la criptografía de clave pública. En fin, perdonad la cuña 🙂

    Saludetes

    JM.

  4. La cuña está más que perdonada, porque sinceramente, quitando el libro que Marino Posadas escribió en DotNetManía y el curso de CampusMVP que impartes, no hay mucho más material sobre el tema en castellano.

    A mí personalmente es un tema que me encanta y que hoy por hoy, resulta muy necesario conocer. 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *