Un poco de seguridad [.NET Crypto Services]
No es mi intención explicar en este post cuestiones teóricas básicas acerca de como trabajan los crypto services de .Net pero si intercambiar algunas experiencias que al lector pueden serle mas útiles en términos prácticos al usar estas clases incluidas dentro de System.Security.Cryptography.
Primero que nada, si el lector se esta iniciando en estos temas de seguridad puede encontrar en Internet algunos ejemplos muy útiles y fáciles de entender, uno de ellos le ayudara a crear rápidamente un pequeño framework de encriptación, es mi deber advertirle que este ejemplo es mas un típico hands-on (copy & paste) que un tutorial, por lo que será necesario que se familiarice con algunos términos como 'encryption key', 'Init Vector' y por supuesto los diferentes tipos y providers de encriptación que existen.
Adicionalmente este ejemplo se acompaña de una pequeña aplicación que inserta un string de conexión (encriptado por supuesto) al registro. Es posible que se encuentre con un error al correr este ejemplo ("Incorrect Data"), el cual se puede replicar asignando a la cadena a encriptar, arreglos de menos de 3 caracteres, este bug se puede corregir eliminando la asignación automática del vector (en el código del framework de encriptación) y especificando un vector propio, cualquier cadena de 64 bits es valida como vector para realizar el proceso.
Por ultimo, si el lector tiene problemas en decidir el tipo de encriptación a utilizar vale la pena mencionar que existen dos tipos de cifrado, el primero denominado como 'Simétrico' (o de dos vías) el cual se refiere a algoritmos de encriptación que usan funciones matemáticas reversibles, es decir; en donde los datos cifrados pueden ser regresados a su estado original mediante una ecuación opuesta. El segundo tipo de cifrado es el 'Asimétrico', el cual indica que los datos una vez cifrados no pueden regresar a su estado original pues no existe ecuación opuesta, es necesario puntualizar que a este tipo de cifrado también se le conoce como hashing.
Algunos sitios de interés :
MD5 Unofficial HomePage
About MD5 Collitions
Como aprovechar colisiones MD5 para firmar controles falsos
0 Comments:
Publicar un comentario
<< Home