Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Implementar Servicios de Cifrado

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la programación segura en ASP.NET al implementar mecanismos criptográficos seguros. Los datos sensibles almacenados en las aplicaciones se deben cifrar para añadir robustez y evitar fugas de información.

Necesidad

Implementar clases de cifrado en ASP.NET.

Contexto

A continuación se describe las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se está desarrollando una aplicación en ASP.NET.

  2. Se requiere cifrar información confidencial.

Solución

En el .NET Framework, las clases del espacio de nombres System.Security.Cryptography gestiona todos los detalles del cifrado. Algunos son contenedores para la API de criptografía Microsoft no administrado ( CryptoAPI ) , mientras que otros son implementaciones manejadas. No se necesita ser un experto en criptografía para utilizar estas clases. Cuando se crea una nueva instancia de una de las clases de algoritmos de cifrado, claves son generados automáticamente para facilitar el uso y las propiedades por defecto son lo más seguras posible.

Este documento ofrece un resumen de los métodos y prácticas de cifrado compatibles con .NET Framework, incluidos los manifiestos de ClickOnce , Suite B, y criptografía de próxima generación (CNG), apoyo introducido en el .NET Framework versión 3.5. En la siguiente tabla se presentan los principales mecanismos criptográficos de ASP.NET:

Cifrado primario

Uso

Secret-key encryption (cifrado de llave secreta)

Realiza una transformación de los datos para evitar que sean leídos por terceros. Este tipo de cifrado utiliza una única clave secreta compartida para cifrar y descifrar datos.

Public-key encryption (cifrado de llave pública)

Realiza una transformación de los datos para evitar que sean leídos por terceros. Este tipo de cifrado utiliza un par de claves pública / privada para cifrar y descifrar datos.

Cryptographic signing (Firma digital)

Ayuda a verificar que los datos se originan a partir de una parte específica mediante la creación de una firma digital que es único para ese partido. Este proceso también utiliza funciones hash.

Cryptographic hashes (Función Hash o resumen)

Mapear datos de cualquier longitud a una secuencia de bytes de longitud fija. Los valores hash son estadísticamente únicos, una secuencia de dos bytes distinta no generará un hash con el mismo valor.

  1. Secret-Key Encryption (cifrado de llave secreta): .NET Framework proporciona las siguientes clases que implementan algoritmos de cifrado de clave secreta:

    • AesManaged (introducida en la version 3.5 del .NET Framework).

    • DESCryptoServiceProvider.

    • HMACSHA1.

    • RC2CryptoServiceProvider.

    • RijndaelManaged.

    • TripleDESCryptoServiceProvider.

  2. Public-Key Encryption (cifrado de llave pública): .NET Framework proporciona las siguientes clases que implementan algoritmos de cifrado de clave pública:

    • DSACryptoServiceProvider.

    • RSACryptoServiceProvider

    • ECDiffieHellman (clase base).

    • ECDiffieHellmanCng.

    • ECDiffieHellmanCngPublicKey (clase base).

    • ECDiffieHellmanKeyDerivationFunction (clase base).

    • ECDsaCng.

  3. Digital Signatures (Firmas digitales): .NET Framework proporciona las siguientes clases que implementan algoritmos de cifrado de firma digital:

    • DSACryptoServiceProvider.

    • RSACryptoServiceProvider.

    • ECDsa (clase base).

    • ECDsaCng.

  4. Hash Values (Función hash): .NET Framework proporciona las siguientes clases que implementan algoritmos de hash:

    • HMACSHA1.

    • MACTripleDES.

    • MD5CryptoServiceProvider.

    • RIPEMD160.

    • SHA1Managed.

    • SHA256Managed.

    • SHA384Managed.

    • SHA512Managed.

    • HMAC variantes de todos los Secure Hash Algorithm (SHA), Message Digest 5 (MD5), y RIPEMD-160.

    • CryptoServiceProvider.

    • Cryptography Next Generation (CNG).

  5. Random Number Generation (Generación de números aleatorios): La clase RNGCryptoServiceProvider es una implementación de un algoritmo generador de números aleatorios, la cual cuenta con las siguientes clases:

    • ClickOnce Manifests.

    • Suite B Support.

    • Cryptography Next Generation Classes (CNG) (cifrado de próxima generación).




Haz un comentario

Estado de los servicios - Términos de Uso