Cifrado Asimétrico
Introducción.
Dentro del ámbito de la protección de datos involucrados dentro de una red, a través de la criptografía, son dos los métodos más utilizados, el cifrado simétrico y el cifrado asimétrico, este último es el objeto de este ensayo, por lo que será explicado a continuación:
Como ya ha sido explicado en ensayos anteriores, el cifrado en sí consiste en el enmascaramiento de los datos que van a ser mandados de un emisor a un receptor, con el objetivo de que estos lleguen a su destino de forma integra y sin que ningún intruso logré visualizar la información, aun si este ha interceptado el mensaje. Para cumplir este propósito es necesario modificar los caracteres que conforman la cadena de datos que vamos a mandar, de forma que sean incomprensibles para todo el mundo excepto para el remitente y para el destinatario, lo que nos lleva a la única posibilidad de que ambos usuarios posean una clave "secreta" en común que sirva para cifrar la información y que sólo ellos posean.
Bajo este principio se basa el cifrado asimétrico el cual consiste en el uso de dos claves, una llamada privada, y otra denominada como pública, y ambas pueden utilizarse para encriptar o para desencriptar la información, con la condición de que, mientras que la clave pública puede ser visualizada y utilizada por cualquier persona, la clave privada solamente es conocida por un individuo. De este modo se pueden dar muchas posibilidades y variantes de este tipo de cifrado, las cuales serán ejemplificadas más adelante.
Este sistema otorga a los usuarios varias ventajas frente a un intruso, ya que de esta forma, los participantes no requieren de intercambiar una clave universal que sirva tanto para cifrar como para descifrar el mensaje, ya que cada quien tiene la suya, de modo que no existe una posibilidad de que la clave sea interceptada por terceros, sin embargo, dentro del campo de la seguridad web es sabido que una mayor seguridad conlleva a una mayor necesidad de capacidad de procesamiento de hardware, y este tipo de cifrado no es la excepción.
Ejemplos de cifrado asimétrico.
Existe una gran variedad de tipos de cifrado, entre ellos están los siguientes:- Cifrado RSA: En este tipo de cifrado, el emisor posee una clave pública, la cual esta compuesta por dos números (n & e), n se obtiene a través del producto de dos números primos, los cuales sólo son conocidos por el receptor, mientras que "e" consiste en un número escogido al azar. Después, se obtiene φn, el cual es igual al producto de los números de los números primos escogidos anteriormente, cada uno restado con la unidad ( ( p−1)×(q −1) ). El receptor es aquel que cuenta con la clave privada, misma que consiste de un número "d", el cual es el inverso de "e" módulo "φn". Una vez obtenidas las claves, se transmuta el mensaje original "m" utilizando la operación " m^e mod n ", obteniendo así, el dato cifrado que llegará a nuestro destinatario. Para descifrar el mensaje y con "m" como el mensaje cifrado, solamente requerimos de utilizar la operación: " (me)d mod n. ".
- Protocolo Diffie-Hellman: Más que un método de cifrado, el sistema de Diffie-Hellman es un protocolo utilizado para el intercambio de las claves simétricas de forma segura, algo así como un cifrado asimétrico para un cifrado simétrico, pues cada usuario deberá generar su propia clave de manera individual. El proceso es el siguiente:
- Uno de los miembros de la comunicación escoge un numero primo "p" y un generador "g", el cual será coprimo de "p"
- Se escoge un número menor a "p" conocido como "a" y se calcula " A = g^a mod p ". Estos números se envían al otro miembro de la comunicación.
- El otro participante escoge un número menor a "p" conocido como "b" y se calcula " B = g^b mod p ", y se regresa nuevamente al participante original
- Ambos individuos calculan, siendo "K" la clave que utilizaremos para realizar el cifrado simétrico de nuestra información, " K= g^(a-b) mod p ", donde para el sujeto uno " B^a mod p = K " y para el dos será igual a " A^b mod p =K "
- Uno de los factores que añade efectividad a este tipo de cifrado es que, además de que el atacante necesita conocer cada una de las variables utilizadas, también requiere conocer el método de cifrado simétrico que se va a utilizar durante la comunicación, lo que lo hace al mensaje, aún más difícil de interceptar.
- Cifrado de curva elíptica : También es posible el uso de curvas elípticas, definidas sobre un cuerpo finito, como métodos de cifrado, utilizando fórmulas de geometría analítica pueden asignarse mensajes a determinados puntos de la curva, de esta forma lo único que hay que hacer es elegir una curva elíptica lo suficientemente compleja para que sea difícil de descifrar, ya que se podría decir que la curva será nuestra clave para cifrar o descifrar el mensaje, esta curva se construye a partir de valores dados con anterioridad, es decir, una tabla que contendrá un valor o mensaje correspondiente a cada uno de los puntos y que debe ser declarada anteriormente.
Comúnmente, no es suficiente cualquier tipo de cifrado asimétrico para garantizar la seguridad de un sistema, al menos de forma oficial y formal, es por ello que, con el propósito de crear estándares de alcance global que garantizaran la seguridad de un sistema, principalmente aquellos que involucran el uso de crédito monetario, se creó en 2004, el "Payment Card Industry Data Security Standard (PCI DSS)", implementado por las más grandes compañías de tarjetas de crédito a nivel mundial, tales como Visa, MasterCard y American Express, es considerado como el más aceptado estándar de políticas y procedimientos que optimicen la seguridad de todo aquello relacionado con las tarjetas de crédito, este sistema se rige bajo 12 principios que, en teoría, garantizan la seguridad de un sistema, y son los siguientes:
- Instalar y mantener una configuración de firewall para proteger los datos de los titulares de tarjetas.
- No utilizar los valores predeterminados suministrados por el proveedor para las contraseñas del sistema y otros parámetros de seguridad.
- Proteger los datos almacenados de los titulares de tarjetas.
- Cifrar la transmisión de los datos de los titulares de tarjetas a través de redes públicas abiertas.
- Usar y actualizar con regularidad el software antivirus.
- Desarrollar y mantener sistemas y aplicaciones seguras.
- Limitar el acceso a los datos de los titulares, únicamente a lo que los negocios necesiten saber.
- Asignar una identificación única a cada persona con acceso a una computadora.
- Restringir el acceso físico a los datos de los titulares de tarjetas.
- Rastrear y monitorear todo acceso a los recursos de la red y a los datos de titulares de tarjetas.
- Probar con regularidad los sistemas y procesos de seguridad.
- Mantener una política que aborde la seguridad de la información
Conclusión.
Los algoritmos de cifrado son cruciales para el enmascaramiento de los datos y la criptografía informática, ya que son la principal herramienta para ocultar la información a ojos ajenos. Por ello es importante conocerlos y aprender su funcionamiento en el caso de que vayamos a crear algún sistema en el se vaya a utilizar información o datos personales, pues el simple hecho de utilizarlos ya otorga mucho mayor seguridad a nuestro software pero puede que eso no sea suficiente para detener un ataque; es por ello que es importante que, como programadores, seamos cuidadosos con el uso y la forma en la que vamos a utilizar la información que se maneje, y aprendamos a utilizar diversos y cada vez más efectivos métodos para proteger los datos.
En mi opinión, también es importante que un experimentado en la seguridad web sepa, no sólo como proteger su sistema, sino que también saber cómo atacarlo, ya que si su sistema nunca es puesto a prueba, no tiene forma de saber a ciencia cierta si su información está segura, es por ello que puede ser de gran ayuda conocer la forma de contrarrestar todos estos métodos de cifrado.
Bibliografía
Pousa, L. A. (Diciembre de 2011). Algoritmo
de Cifrado Simetrico AES. Obtenido de
http://postgrado.info.unlp.edu.ar/Carreras/Especializaciones/Redes_y_Seguridad/Trabajos_Finales/Pousa_Adrian.pdf
Real Academia de Ciencias. (30 de Julio
de 2003). El Sistema RSA. Obtenido de
https://www.uam.es/personal_pdi/ciencias/ehernan/Talento/Maria%20Jesus%20Vazquez/criptorsa.pdf
Rotger, L. H. (8 de Junio de 2008). Criptografía
con curvas elípticas. Obtenido de
https://www.exabyteinformatica.com/uoc/Informatica/Criptografia_avanzada/Criptografia_avanzada_(Modulo_4).pdf
Rouse, M. (15 de Febrero de 2012). SearchFinancialSecurity.
Obtenido de
http://searchfinancialsecurity.techtarget.com/definition/PCI-DSS-Payment-Card-Industry-Data-Security-Standard
Sánchez, H. C. (5 de Diciembre de 2005). Criptografía
y Métodos de Cifrado. Obtenido de
http://www3.uah.es/libretics/concurso2014/files2014/Trabajos/Criptografia%20y%20Metodos%20de%20Cifrado.pdf
Comentarios
Publicar un comentario