Ensayo Seguridad WEB: Cifrados

Cifrados

Introducción:

En este ensayo hablaremos de varios tipos de cifrados, características de cada uno, como es que funciona cada cifrado, sus diferencias y al final veremos cuál de todos es mejor o al menos más funcional, los cifrados de los cuales hablaremos son cifrados asimétricos, uno es el RSA puede ser muy diferente con respecto al cifrado asimétrico  pero su finalidad es la misma sin embargo tienen algoritmo para cifrar diferente y además de esto veremos lo que es la curva elíptica y su definición.

Desarrollo:

 Cifrado Asimétrico:


El cifrado asimétrico es un tipo de criptografía donde se emplea dos llaves diferentes en cada uno de los extremos de la comunicación. Cada usuario tendrá una clave pública y otra privada. La clave privada tendrá que ser protegida y guardada por el propio usuario, será secreta y no la deberá conocer nadie. La clave pública será accesible a todos los usuarios del sistema de comunicación. Estos algoritmos funcionan o están basados en funciones matemáticas fáciles de resolver pero muy complicadas realizarlo en sentido inverso, a menos que se conozca la llave. Las claves públicas y privadas se generan simultáneamente y están ligadas la una a la otra. Esta relación debe ser muy compleja para que resulte muy difícil que obtengamos una a partir de la otra.
Entonces si ciframos con una llave privada, el mensaje solo podrá descifrar con la llave pública que se le asocie y se puede hacer de forma viceversa.
La ventaja del cifrado asimétrico sobre el simétrico radica en que la clave pública puede ser conocida por todo el mundo, no así la privada, sin embargo, en el cifrado simétrico deben conocer la misma clave los dos usuarios. Este tipo de sistemas criptográficos usa algoritmos bastante complejos que generan a partir de la frase de paso (la contraseña) la clave privada y pública que pueden tener perfectamente un tamaño de 2048bits.
Un ejemplo de este sistema es el de poder firmar documentos, certificando que el emisor es quien dice ser, firmando con la clave privada y verificando la identidad con la pública.




RSA:

Es un algoritmo de cifrado asimétrico, o de clave pública, y es uno de los algoritmos más utilizados en la actualidad, pues la mayor parte de los sitios hoy corren sobre SSL/TLS, y permiten la autenticación mediante cifrado asimétrico basado en RSA.

Al ser un cifrado asimétrico, trabaja con dos claves, una pública y una privada. Todo el contenido de texto plano, o contenido sin cifrar, que sea hecho con la clave pública, podrá ser descifrado mediante la clave privada, y viceversa, todo contenido cifrado con la clave privada podrá ser descifrado mediante la clave pública, el nombre RSA proviene de las iníciales de los tres creadores, Rivest, Shamir y Adleman, en 1977.
Cuando se envía un mensaje, el emisor busca la clave pública de cifrado del receptor y una vez que dicho mensaje llega al receptor, éste se ocupa de descifrarlo usando su clave oculta.

Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado.



Emplea expresiones exponenciales en aritmética modular.
La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales.
El proceso matemático como funciona es el siguiente:
En primer lugar  tenemos que generar las llaves:
1   1)    Se eligen dos números primos, por ejemplo p y q
2   2)    Calcula n=p*q
3   3)    Calcula z=(p-1)*(q-1), a esta función se la denomina Función Phi o Fi de Euler.
4   4)    Elige un número primo k, tal que k sea co-primo a z, por ejemplo, z no es divisible por k.
5  5)    Tenemos varias opciones aquí, valores de k como pueden ser 7, 11, 13, 17 o 19 son válidos. 5 es primo, pero no es co-primo de k puesto que 20 (z) es divisible por 5.
6  6)    Elegimos k=7 para simplificarnos los cálculos con un número pequeño.
7  7)    La clave pública va a ser el conjunto de los números (n,k), es decir, (33,7).

Ahora se calcula la clave privada. Para ello, se elige un número j que verifique la siguiente ecuación:

k*j=1 (mod z)
7*j=1 (mod 20), es decir, un valor que verifique que
(7*j)/20 sea una división con resto “1”.

Para trabajar con números chicos en este ejemplo, podríamos decir que 21 /20 nos devuelve “algo” con resto 1, por lo que, para este caso particular, (7*j) = 21, de modo que j=3.

Esta es la clave privada, y no debe ser revelada nunca.

Ventajas:

·         Resuelve el problema de la distribución de las llaves simétricas (cifrado simétrico).
·         Se puede emplear para ser utilizado en firmas digitales.

Desventajas:

·         La seguridad depende de la eficiencia de los ordenadores.
·         Es más lento que los algoritmos de clave simétrica.
·         La clave privada debe ser cifrada por algún algoritmo simétrico.

 Curva Elíptica:

Este tipo de criptografía como una alternativa a los cripto-sistemas de clave pública clásicos como el RSA y el ElGamal, tanto por la disminución del tamaño de las claves que se requieren como por el abanico de grupos que ofrecen en el mismo cuerpo base.
Hoy en día podemos encontrar sistemas criptográficos de curvas elípticas en protocolos reconocidos como TLS, PGP y SSH. También el bitcoin y otras cripto-divisas se basan en esta criptografía de curva elíptica.

Antes de que la criptografía de curva elíptica (ECC) se hiciera popular, casi todos los algoritmos de criptografía de clave pública se basaban en RSA, DSA y DH. Estos son sistemas criptográficos alternativos basados en aritmética modular.

Si la característica del cuerpo es distinta de 22 y de 33, usando transformaciones lineales de las variables, la ecuación de la curva se puede expresar como

y2=x3+ax+b ,a,b K,


Existen muchos tipos de grupos. Los que nos interesan se denominan “grupos cíclicos”. Un grupo cíclico se caracteriza porque todos sus elementos se pueden obtener mediante un sólo elemento, llamado generador. Si la operación es la multiplicación, se denomina grupo cíclico multiplicativo. Como ejemplo, podemos tomar el grupo formado por las cuatro raíces cuartas de 1: +1,-1,+i,-i (i es la raíz cuadrada de uno). El número i puede servir de multiplicador. 
En efecto:

i*(+1) = i
i*(+i) = -1
i*(-1) = -i
i*(-i) = 1

El concepto de grupo multiplicativo nos permite complicar la obtención de logaritmos. Supongamos un grupo G con n elementos, y sea b un generador. Eso significa que podemos obtener todos los elementos del grupo como {1, b, b^2, b^3 … b^(n-1)}. Es decir, habrá un número entero k de forma que podamos escribir g=b^k para cualquier número g del grupo. En realidad, existen muchos números enteros k que cumplan esta propiedad. Por ejemplo, el número k’=k+n también nos vale, puesto que b^(k+n)=(b^k)*(b^n),y b^n=1. Esto nos dice que cualesquiera dos enteros k,k´ capaces de representar el elemento g son congruentes módulo n (o dicho de otra forma: nos dan el mismo resto al dividirlos por n).

Conclusión:
Yo creo que el cifrado asimétrico es una forma muy segura de poder esconder los datos o el texto que se quiere mandar, sé que el tener dos claves ayuda a dar mayor seguridad pero creo que es un poco más inaccesible el poder trabajar con este tipo de cifrado pues al ser un emisor tercero y querer mandar algún tipo de texto, y no puedes comunicarte con el personal que tiene esta llave privada no puedes mandar el contenido que deseas. Pero a pesar de ello, el cifrado RSA se me hace bueno pero complejo, el método de sacar sus llaves puede ser un poco confuso pero si se hace de buena manera  tendremos un cifrado bastante seguro pues es casi imposible el tratar de descubrir esa clave y la curva elíptica es más complicada aún,  de hecho su mecanismo es muy difícil pero al menos ayuda a reducir las claves y al final para concluir, hay que saber que tipo de cifrado quieres utilizar puesto que hay unos mucho más complejos y seguros pero más tardados y a pesar de ello son muy utilizados, a mi en lo personal a pesar de su complejidad me quedaría con el RSA.

Referencias:

GenbetaDEV(24/08/2017)
Tipos de criptografía, obtenido de:

https://www.genbetadev.com/seguridad-informatica/tipos-de-criptografia-simetrica-asimetrica-e-hibrida

Gersson Ribera(21/10/2017)
Criptografía simétrica y asimétrica, obtenido de: 
          
https://infosegur.wordpress.com/unidad-4/criptografia-simetrica-y-asimetrica/

Sergio de Luz (16/11/2010)
Criptografía : Algoritmos de cifrado de clave asimétrica, obtenido de: 

https://www.redeszone.net/2010/11/16/criptografia-algoritmos-de-cifrado-de-clave-asimetrica/

Diego Córdoba(8/11/2010)
RSA: ¿CÓMO FUNCIONA ESTE ALGORITMO DE CIFRADO?, obtenido de:

https://juncotic.com/rsa-como-funciona-este-algoritmo/

Seguinfo(14/09/2007)
¿Qué es RSA?, obtenido de:

https://seguinfo.wordpress.com/2007/09/14/%C2%BFque-es-rsa/

Universidad Politécnica de Madrid(21/10/2017)
Criptografía con curvas elípticas, obtenido de:

http://www.criptored.upm.es/crypt4you/temas/ECC/leccion1/leccion1.html

Seguinfo(2/10/2007)
¿Qué es la criptografía de curva elíptica?, obtenido de:

https://seguinfo.wordpress.com/2007/10/02/¿que-es-la-criptografia-de-curva-eliptica/

Fernando Gómez(21/10/2017)
Curvas elípticas – ¿Qué son y que propiedades tienen?, obtenido de:

http://www.criptomania.com/criptografia-de-curva-eliptica-introduccion/curvas-elipticas-que-son-y-propiedades/ 

Comentarios

Entradas más populares de este blog

Ensayo SIstemas Distribuidos

Ensayo Cliente-Servidor

Ensayo Modelo OSI y TCP/IP