Post on 26-May-2015
description
CriptografíaCriptografía Para Para aplicacionesaplicaciones Web Web
Jose Florez Gaitán (Axia)
Introducción
El propósito de la charla es dar cuenta de algunas de las herramientas de
cifrado incluidas en lenguaje PHP para el desarrollo de sistemas seguros.
Términos a utilizar
La Real Academia Española no reconoce los términos ENCRIPTAR o DESENCRIPTAR, por tanto lo indicado seria usar los términos
CIFRAR y DECIFRAR.
Encriptar datos podría ser… :D
¿Qué es Criptografía?
La criptografía (del griego krypto (oculto), y graphos (escribir),
literalmente «escritura oculta»)En Informatica se podria definir como
“la ciencia de aplicar matemáticas complejas para aumentar la seguiridad de las transacciones electronicas”.
Mirando atrás en la historia
Cifrados por sustitución•Se basa en la sustitución de cada
letra por otra letra para disfrazarla pero conservan el orden de los símbolos de texto normal.
•Entre ellos cabe destacar los siguientes:
- algoritmo de César,
- métodos de cifrado monoalfabéticos,
- polialfabéticos..
- Algoritmo de César:
Debe su nombre a que era usado por Julio César para enviar mensajes secretos
Consiste en sumar 3 al número de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y así sucesivamente.
Este algoritmo no posee clave, puesto que la transformación siempre es la misma.
Para descifrar basta con restar 3 al número de orden de las letras del criptograma.
• Ejemplo: el mensaje ataque se convertiría en DWDTXH
Cifrados por transposición
• Se basa en la reordenación de las letras de un texto de acuerdo a una palabra clave escogida que no contiene letras repetidas.
• Método:
- Con la clave se numera las columnas, estando la columna 1 bajo la letra de la clave más cercana al inicio del alfabeto, y así sucesivamente.
- El texto normal se escribe horizontalmente en filas.
- El texto cifrado se lee por columnas, comenzando por la columna cuya letra clave es más baja
Ejemplo
Texto normal:
“Este es un ejemplo"
- Clave: 53124
- Texto cifrado:
_nm__eue_t_joEe_pssei_eue
1 2 3 4 5
E s t e
e s u n
e j e m
p l o
Criptografía simétrica
Se caracteriza por tener una sola llave o clave, es decir que se cifra y
descifra con la misma llave
Criptografía Asimétrica
Se caracteriza por que usa dos llaves, una privada y una publica, una para
cifrar y otra para descifrar.
Criptografía en una sola vía
Es aquella en donde solo se cifra, es decir una vez cifrado el texto no se
puede volver al original, a este resultado se le llama un Hash.
Usos de la criptografía
Confidencialidad
Es el uso Principal y el mas antiguo, implica mantener la información en secreto y solo disponible a quienes
deben tenerla.
Autenticación
Se utiliza con el fin de proteger credenciales de acceso y de
corroborar la misma después de haber sido reconocido como un
usuario legitimo.
Mecanismos de no repudio
Consiste en evitar que en un caso determinado se pueda negar en envió
de información.
Verificación de integridad
Se utiliza para verificar que no existe algún tipo de manipulación externa.
Aplicaciones en PHP - Mcrypt
Para ser utilizado la librería libmcrypt debe estar instalada.
Soporta una gran variedad de algoritmos de cifrado como DES, TripleDES, Blowfish (por defecto), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 .
Algunos ejemplos
Algunos ejemplos 2