CLICK HERE FOR BLOGGER TEMPLATES AND MYSPACE LAYOUTS »

15 feb 2009

Seguridad a

3 feb 2009

CRIPTOGRAFIA

conceptos y definiciones

. criptografia: kriptos=ocultar graphos=escritura; la criptografia tiene como objetivo transformar un mensaje intelegible, tambien conocido como texto en claro a uno que no lo sea y lo puedan entender las personas autorizadas.

. criptograma: texto cifrado.

. algoritmo de encriptacion: es el metodo o sistema que se utiliza para encriptar el texto en claro.

. criptoanalisis: es el proceso contrario de la desencriptacion, es el arte de romper los sistemas criptograficos.

. criptosistema: son los componentes que conllevan al cifrado de un texto encriptado.

. criptografia clasica: de una u otra manera los geroglificlos egipcios fueron considerados una forma de criptografia, ya que solo personas relamente capacitadas eran capaces de leer en su totalidad este lenguaje; pero el primer sistema criptografico conocido fue el de julio cesar, el cual consistia en reeplazar cada letra de la palabra tres mas adelante en el abecedario, asi:

ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
DEFGHIJKLMNÑOPQRSTUVWXYZABC

asi la palabra "como estas" se convertiria en "fror hvwdv", y para devolverse a la palabra original hay que devolverse 3 letras en el abecedario.

aunque han sido muchos los sistemas de criptografia antigüos caben destacar 2, el de sustitucion y el de permutacion o transpocision.

- sustitucion:consiste en cambiar los caracteres componentes del mensaje original en otros segun la regla determinada de pocision natural en el alfabeto, la manera mas clara de explicar lo anterior es fijar una equivalencia entre las letras del alfabeto original y una variacion de el, de la misma forma que pasa con el metodo del cesar aolo que la variacion depende del autor del metodo que se utilice, vale la pena aclarar que la variacion del alfabeto no siempre debe de estar organizada, por el contrario peude estar en cualquier orden siempre y cuando tenga todos y cada uno de los elementos del alfabeto original.


ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
LMNÑOPQRSTUVWXYZABCDEFGHIJK

asi la palabra "como estas" se convertira en "nzwz odeld" a este tipo de situaciones se le denominan monoalfabeticas, pero tambien hay metodos eficaces como los polialfabeticos, en los cuales hay varios alfabetos de cifrado que se mezclan en rotacion.

- transposicion: cambia el orden de la palabra o frase sin agregar algun otro caracter, esto determina el orden de la palabra o frase encriptada, claro dependiendo de la regla utilizada. asi:

la letra 123456789
pasa a ser la 495813267

la frase "como estas" pasa a ser "osea cmost".

la sustitucion y la transposicion son formas basicas de encriptar, pero han sido los pilares de la criptografia moderna.

. claves: inplementar un mecanismo de sustitucion o permutacion es ma eficaz si se utiliza una palabra o serie facil de de recordar como una clave. tomando el diguiente ejemplo: se va a cifrar "como estas" basandonos en la palabra "HTLM". para hacer esto escribiremos una tabla o matriz con tantas columnas como letras tenga la palabra elegida, y colocamos en la fila superior dicha palabra y consecutivamente colocamos las otras si sobran celdas las dejamos vacias:

HTLM
COMO
ESTA
S
el siguiente paso es organizar la clave alfabeticamente y asi sus filas:

HLMT
COMO
EATS
S
y por ultimo convertir las filas en columnas:

HCES
LOA
MMT
S
y leer el mensaje segun sus columnas:
transformacion: "como estas"= "hces loa mmt s"

. Criptografia moderna: gracias a los avances tecnologicos cada vez mas grandes se dio la criptografia moderna, ya que los sistemas de computadoras son capaces de hacer calculos de factorizacion de numeros grandes en muy pco tiempo. a continuacion mostrare los sistemas criptograficos modernos.

- Chiper: sistema criptografico que permite transformar textoplano mediante transpocicion o sustitucion de acuerdo al algoritmo previamente establecido. ejemplo: DES, 3DES.

. Mecanismos de Seguridad
- algoritmos de llave simetrica.
- algoritmos de llave asimetrica.
- hash.
- MAC.
- firmas digitales.
- Certificados digitales.

- Algoritmos de llave simetrica: la llave con que se encripta se utiliza tambien para desencriptar, estos son tambien conocidos como algoritmos de llave privada ya que esta es solo conocida por los participantes de la comunicacion, el principal problema de este sistema es la distribucion de la llave, ya que si alguno de los participantes de la comunicacion la pierde la informacion que se envie puede estar en peligro, estos algoritmos son eficientes en cuanto a terminos de rapidez, y suelen dividirse en 2 grupos: por bloques y por flujo.
* los algoritmos de bloque fraccionan el texto en claro y el criptosistema cifra un bloque a la vez; ejemplos de este tipo de sistema los son el DES, 3DES, IDEA,AES, RC2.
* los algoritmos de flujo o tambien conocidos como de stream cogen el texto en claro y cifran simbolo por simbolo; un ejemplo de este seria el RC4.

Ahora les explicare cada uno de los algoritmos de llave simetrica por bloques:

. DES: (Data Encription Standar) desarrollado por IBM; encripta bloques de 64 bits y produce bloques de 64 bits. la llave es de 56 aunque aconstumbra escribir como 8 bytes (1 bit de paridad); es rapido y eficiente, es utilizado en multiples tecnologias como IPSec, es un sistema monolafabetico que aplica sustituciones y permutaciones sucesivas.

. 3DES: clave simetrica de 124 bits, es una variacion del DES y consiste en 3 procesos DES en cadena

. IDEA (International Data Encription Algoritm) fue desarrollado en suiza, su llave es de 128 bits, consiste en un XOR- exclusiva suma y multiplicacion de enteros para cifrar, trabajado en UNIX, es libre encripta bloques de 64 y saca bloques de 64 bits, es utilizado en GPG y correo seguro.

. RC2: desarrollado por rivest, encripta bloques de 64 bits, su llave es de longitud variable, es 3 veces mas rapido que el DES.

. AES: (Advanced Encription Standard) el algoritmo se llama rijndael, desarrollado en europa, encripta bloques de 128 bits y produce bloques de 128 bits, llave de 128, 192 y 256 bits.

Los algoritmos de llave simetrica por stream son:

. RC4: este es muy utilizado en ssl, consiste en un XOR al mensaje para cifrarlo.

. RC5: hace una dependencia de datos que aplica shift a los datos para cifrarlos, permite diferentes longitudes de claves y esta prohibido su uso por fuera de EEUU con algoritmos mayores a 56 bits.

- Algoritmos de llave asimetrica: una llave es utilizada para encriptar y otra muy distinta para desencriptar, y cada persona tiene un par de llaves una privada y una publica, la publica es alojada en un servidor de llaves, mientras que se debe de quedar con la privada para desencriptar los mesajes que le manden. basados en la dificultad de factorizar numeros grandes y logaritmos discretos, son mas lentos que los simetricos; generalmente son utilizados al comienzo de una autenticacion de sesion segura para el proceso de autenticacion y/o proteger el intercambio de llaves simetricas.

los algoritmos de encriptacion mas utilizados son:

. RSA: creado por Ron Rivest, Adi Shamir, Leonard Adleman; este es de 100 a 1000 veces mas lento que DES, muy utilizado en SSL.

. Diffie Hellman: se basa en la dificultad para calcular logaritmos discretos, no autentica las partes, utilizado en IPSec, se definen varios tipos de grupos asi:
DF grup 1: 768bits, DF grup 2: 1024 bits, DF grup 3: 1536 bits.

- Algoritmos HASH: mensaje digiesto, hace un resumen del texto y lo cifra, se utiliza en las llaves asimetricas, y es lo que se conoce como firma digital, los algoritmos mas usados para esta funcion son: el MD5 y el SHA -1.

- MAC: message authentication code hash de llave simetrica, este garantiza la integridad de un mensaje.