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
Publicar un comentario