¡GoConqr estrena diseño! Cuéntanos qué te parece.

Fichas

Módulo 6

Selim Nazar Programacion Segura Inglés 53 fichas

Fichas del conjunto (53)

  1. 1¿Qué es la criptografía?Consiste en proteger la información al transformarla de tal modo que no sea legible para una parte (party) no autorizada.
  2. 2¿Cuáles son las áreas básicas de la criptografía?∙ Encryption
    ∙ Hashing
    ∙ Digital Signatures
  3. 3¿Cuáles son las funciones de la criptografía?∙ Authentication: con llaves privadas, se asegura la identidad del usuario.
    ∙ Integrity: con validaciones de hash asegura que no se cambie la data
    ∙ Non repudiation: con llaves privadas, se asegura la identidad del usuario.
    ∙ Confidentiality: la encriptación hace ilegible la información.
  4. 4¿Cuáles son las amenazas comunes en las funciones de criptografía y su técnica de mitigación?∙ Information disclosure: usar encriptación simétrica.
    ∙ Tampering: Utilizar hash o firmas digitales.
    ∙ Spoofing: Autenticar la data del usuario.
  5. 5¿Qué tipos de ataques sufre la criptografía en .NET?∙ Robo de la llave secreta.
    ∙ Explotar algoritmos de encriptacion débiles.
    ∙ Explotar bugs en la implementación del algoritmo de encriptación.
  6. 6¿Cuáles son los namespaces utilizados en .NET para la cryptografía?∙ System.Security.Cryptography
    ∙ System.Security.Cryptography.
    x509Certificate
    ∙ System.Security.Cryptography.Xml
  7. 7¿Cuáles son las clases que provee el espacio de nombre System.Security.Cryptography?∙ SymmetricAlgorithm: DES, RC2, Rijndael, TripleDES.
    ∙ AsymmetricAlgorithm: RSA, DSA.
    ∙ HashAlgorithm: MD5, SHA1, SHA256, SHA384, SHA512, KeyedHasshAlgorithm.
  8. 8¿En qué consiste la encriptación Simétrica?∙ En este tipo de encriptación se usa una sola llave secreta,
    ∙ La llave es conocida por las dos partes, con la cual se encriptan y desencriptan los mensajes.
    ∙ Es apta para encriptar grandes mensajes.
  9. 9¿Cuáles son los algoritmos de encriptación Simétrica soportados por .NET?∙ DES
    ∙ RC2
    ∙ TripleDES
    ∙ Rijndael
    ∙ AES
  10. 10¿Cuál es el nombre de la interfaz utilizada para realizar encriptación Simétrica?ICryptoTransform
  11. 11¿Cómo se determina un algoritmo de encriptación Simétrica fuerte y cuál es el algoritmo de encriptación recomendado?∙ Un algoritmo fuerte debe soportar un tamaño de llave secreta grande
    ∙ AES o Rijndael
  12. 12¿Cuál es el objetivo de la función CIPHER?∙ Su objetivo es transformar el mensaje a bloques de un tamaño fijo.
    ∙ El texto sin cifrar se llama "plain text", el texto cifrado se llama "cipher text".
    ∙ El proceso contrario al "data encryption" es "data decryption".
  13. 13¿Cuáles son los CIPHER MODES?1. Electronic Code Book (ECB)
    2. Cipher Block Chaining (CBC)
    3. Cipher Feedback (CFB)
    4. Output Feedback (OFB)
    5. Cipher Text Stealing (CTS)
  14. 14¿Cuál es la vulnerabilidad del método de cifrado Electronic Codebook?∙ Al cifrar un mensaje, este se divide en bloques de un tamaño fijo.
    ∙ Cuando se utiliza ECB, bloques con la misma información resultarán en un mismo bloque de texto cifrado.
    ∙ Con herramientas de cripto-análisis se puedan analizar patrones repetitivos y descifrar todo o parte del mensaje.
  15. 15¿Cuál es el CIPHER MODE recomendado?∙ Se recomienda utilizar Cipher Codebook (CBC).
    ∙ Esto debido a que no se repiten bloques de texto cifrado, ya que el cifrado de un bloque esta encadenado con el bloque anterior.
  16. 16¿En qué consiste el PADDING en el proceso de encriptación?∙ Cuando un mensaje es dividido en bloques, estos deben ser de un tamaño fijo. En ocasiones, bloques finales queda no cumplen con ese tamaño requerido.
    ∙ Esos bloques deben ser rellenados para crear un bloque completo.
  17. 17¿Cuáles son los métodos de PADDING para encriptación Simétrica?∙ None
    ∙ Zero Padding
    ∙ PKCS #7 Padding
    ∙ ANSIx923 Padding
    ∙ ISO10126 Padding
  18. 18¿Cuál es el problema cuando se utiliza Zero Padding?∙ Consiste en rellenar con bytes 00. Es un método que no se ha estandarizado.
    ∙ Tiene problemas cuando el mensaje original termina con uno mas bytes zero haciendo posible que se pierda información al reversar el proceso.
  19. 19¿Cuál es el método de Padding recomendado en encriptación Simétrica?Se recomienda el PKCS #7
  20. 20¿Cuál es el tamaño de llave permitido por los métodos de encriptación simétricos? [ Algoritmo; bloque (bits); llave (bits) ]Algoritmo; bloque (bits); llave (bits)
    ∙ DES; 64; 56
    ∙ RC2; 64; 40 - 128 en incrementos de 8.
    ∙ Triple DES; 64; dos o tres llaves de 56.
    ∙ AES; 128, 192, 256;
    128, 192, 256
  21. 21¿En encriptación Simétrica, cómo se protege una llave de un ataque de fuerza bruta?Utilizando un algoritmo que permita una llave con el mayor tamaño posible, mayor o igual a 256.
  22. 22¿En encriptación Simétrica, cómo se puede resistir un ataque de cripto-analisis?Utilizando un algoritmo que permita un tamaño de bloque grande,
    mayor o igual a 256.
  23. 23¿Qué método se recomienda para crear la llave secreta en encriptación Simétrica?∙ No se recomienda crear las llaves a mano o utilizar el metodo System.Random. Esto genera llaves que pueden ser adivinadas.
    ∙ Se recomienda utilizar el RNGCryptoServiceProvider.
  24. 24¿Qué mecanismos existen para almacenar la llave secreta en encriptación Simétrica?∙ Base de datos
    ∙ Archivo local
    ∙ Archivos de configuración
    ∙ Registro de Windows
    ∙ COM+ Constructor String
  25. 25¿Cómo se puede proteger la llave secreta utilizando DPAPI?∙ Aunque la llave secreta se puede proteger en el registro de Windows con las ACL, esta se guarda texto plano .
    ∙ DPAPI ofrece un mecanismo de encriptación simétrica, con el cual se puede encriptar dicha llave.
    ∙ DPAPI utiliza las credenciales del usuario como llave para su propia encriptación.
  26. 26¿Qué funciones se utiliza en DPAPI en programación .NET para encriptar y desencriptar?∙ CryptoProtectData
    ∙ CryptoUnprotectData
  27. 27¿En qué consiste la encriptación asimétrica?∙ En este tipo de encriptación se utilizan dos llaves, conocidas como llave PÚBLICA y PRIVADA.
    ∙ El mensaje encriptado por la llave pública solo puede ser desencriptado por la llave privada.
    ∙ No se utiliza para grandes cantidades de datos.
  28. 28¿Qué clase de .NET se utiliza para encriptar utilizando el algoritmo RSA?RSACryptoServiceProvider
  29. 29¿Qué tamaño de llave asimétrica se considera segura? ¿Con que propiedad se define?∙ 2048 bits o mayor
    ∙ Se define con la propiedad KeySize
  30. 30¿De qué manera se puede almacenar llaves privadas de modo seguro?∙ Cuando los códigos de encriptación de cliente y servidor estan en una misma máquina, es necesario guardar la llave privada en un container.
    ∙ Esto se hace con ayuda de la clase CspParameters (Crypto Service Provider Parameters).
  31. 31¿Cómo es el funcionamiento de la clase CspParameters, relacionado con el manejo de Containers para llaves privadas?∙ Se crea un objeto CspParameters y se indica el nombre del Container.
    ∙ Luego se crea un objeto RSACryptoServiceProvider y se le pasa como parámetro el objeto CspParameters.
    ∙ El RSACryptoServiceProvider crea un par de llaves estas se almacenen en el Container indicado por CspParameters.
  32. 32¿Qué problemas de seguridad pueden existir al transmitir una llave pública por medio de un canal de comunicación no seguro?∙ Una parte A crea un par de llaves y manda la llave publica a una parte B.
    ∙ Un atacante intercepta esa llave pública y comienza a enviar mensajes a la parte A haciéndose pasar por la parte B.
  33. 33¿De qué manera se puede combinar encriptación Simétrica y Asimétrica para el intercambio seguro de mensajes?∙ Una parte A crea un par de llaves y manda la llave pública a una parte B.
    ∙ La parte B crea una llave simétrica, la encripta con la llave pública recibida y la manda a la parte A.
    ∙ La parte A desencripta la llave simétrica usando su llave privada.
    ∙ La partes A y B inician la comunicación usando encriptación simétrica.
  34. 34¿Cuál es el método de padding recomendado para la encriptación ASIMÉTRICA?∙ El método recomendado es el Optimal Asymmetric Encryption Padding (OAEP).
    ∙ Se activa al momento de encriptar con la clase RSACryptoServiceProvider:
    RSA.Encrypt(Data, TRUE) <- El parametro TRUE activa el OAEP
  35. 35¿Cómo se puede conseguir que el intercambio de llaves en la encriptación ASIMÉTRICA se haga por medio de SSL?En el web.config
  36. 36¿En qué consiste el Hashing? ¿Cúales son sus caracteristicas?∙ Es un proceso por el cual se transforma información en un valor o código de tamaño fijo que represente a la misma.
    ∙ Es un proceso de una sola vía.
    ∙ Se utiliza para verificar la integridad de la información.
    ∙ Un HASH no puede ser generado por dos cadenas de texto distintas.
  37. 37¿En que punto el Hashing verifica la integridad del mensaje? ¿Sender o Receiver?Lo verifica en ambos puntos.
  38. 38¿Cuáles son los algoritmos de Hash soportados por .NET?Con llave:
    ∙ HMACSHA1
    ∙ MACTripleDES
    Sin llave:
    ∙ MD5
    ∙ SHA-1; SHA-256; SHA-384; SHA-512
  39. 39¿Cuál es la diferencia entre algoritmos manejados y no manejados?∙ Los algoritmos no manejados (terminan en CryptoServiceProvider) son mas veloces pero tienen restricciones de plataforma (Sistema Operativo).
    ∙ Los algoritmos manejados (su clase termina en Managed) no tienen restricciones de plataforma.
  40. 40¿Cuál es el riesgo de generar un Hash para un mensaje que sobrepase el limite del algoritmo elegido? ¿Cómo se resuelve?∙ El código Hash generado será vulnerable a ataques.
    ∙ Puede ocurrir que dos mensajes muy largos generen un mismo código Hash.
    ∙ Se debe elegir un algoritmo que permita un tamaño de código grande, igual o mayor a 2^64.
  41. 41¿Cuál es el tamaño de bloque, limite de mensaje y código HASH de cada algoritmo de Hashing?Algoritmo ; Bloque ; Mensaje ; Código
    MD5 ; 512 ; 2^64 ; 128
    SHA-1 ; 512 ; 2^64 ; 160
    SHA-256 ; 512 ; 2^64 ; 256
    SHA-384 ; 1024 ; 2^128 ; 384
    SHA-512 ; 1024 ; 2^128 ; 512
  42. 42¿Cuál es el algoritmo utilizado para realizar Keyed Hashing? ¿En que consiste?HMAC-SHA1
    ∙ Keyed Hashing añade una llave secreta al Hash, de modo que un atacante no puede sustituir un Hash debido a que no conoce dicha llave.
  43. 43¿En qué consiste la firma digital? ¿Que características tiene?∙ Es un método por medio del cual se puede asegurar el origen y la integridad de un mensaje.
    ∙ Utiliza un algoritmo Asimétrico que soporte las funciones de Firmar y Verificar. A este algoritmo se le llama Algoritmo de Firma Digital.
    ∙ Es un proceso lento, por eso se usa el Hash y no el mensaje original.
  44. 44¿Qué elementos se requieren para realizar la firma digital?∙ Se requiere el código Hash del mensaje.
    ∙ La llave privada del emisor.
    ∙ La función de firmado.
  45. 45¿Cuáles son las áreas de ataque en una firma digital? ¿Cómo se aseguran?∙ El codigo Hash: El atacante trata de descifrar el código hash.
    ∙ La llave privada: El atacante trata de robar la llave privada en caso que esta no esté almacenada en un lugar seguro.
    ∙ Se aseguran utilizando un algoritmo fuerte de Hashing y almacenando la llave de forma segura.
  46. 46En firma digital, por qué no se puede: a) Crear una firma falsa. b) Reutilizar una firma digital c) Alterar el mensaje original d) Denegar firmar un mensajea) Se requiere la llave privada.
    b) Porque los códigos Hash de la firma y el mensaje no coincidirán.
    c) Porque los códigos Hash de la firma y el mensaje no coincidirán.
    d) Porque solo el poseedor de la llave privada puede haber firmado el mensaje.
  47. 47¿Qué algoritmos de firma digital ofrece .NET?∙ RSA
    ∙ DSA (Digital Signature Algorithm)
  48. 48¿Qué algoritmo de Hashing utiliza el algoritmo de firma DSA?SHA-1
  49. 49¿Por qué se utilizan certificados digitales para transmitir la llave pública?Porque ofrecen un método sencillo y seguro para distribuir la llave publica.
  50. 50¿Cuáles son las propiedades de un Certificado Digital?∙ Serial Number
    ∙ Subject
    ∙ Issuer
    ∙ Valid from ; ∙ Valid to
    ∙ Signature algorithm
    ∙ Public Key
    ∙ Key usage
    ∙ Thumbprint algorithm
    ∙ Thumbprint
  51. 51¿Qué usos tienen las llaves públicas?∙ Encriptación de mensajes enviados al dueño de la llave privada.
    ∙ Verificación de firma digital recibida de parte del dueño de la llave privada.
  52. 52¿Qué namespace y clases son utilizados para el manejo de Certificados digitales en .NET?Namespace:
    System.Security.Cryptography.
    X509Certificates.
    Clases:
    ∙X509Store (representa el store de certificados)
    ∙ X509Certificate y X509Certificate2
    ∙ X509Certificate2Collection (representa una colección de certificados)
  53. 53¿Qué clases se utilizan para la firma de archivos XML?Namespace:
    System.Security.Cryptography.XML
    Clases:
    ∙ Reference (para crear referencia al documento XML a firmar)
    ∙ SignedXML (para firmar el documento)

Información

Descripción
.NET Cryptography
Creado por
Selim Nazar
Visitas
37
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?