Professional Documents
Culture Documents
CONTENIDO
I.
INTRODUCCION .............................................................................................. 2
II. INSTALACION ................................................................................................. 3 III. CREACIN DE UN VOLUMEN NUEVO .......................................................... 5 IV. ENCRIPTAR UNA UNIDAD ........................................................................... 10 V. MONTAR UN VOLUMEN (IMPRESCINDIBLE PARA SU USO) ................... 16 VI. DESMONTAR UN VOLUMEN (RECOMENDABLE ....................................... 19 VII. CIFRADO DEL CESAR ALGORITMO EN JAVA ....................................... 20 VIII. ENCRIPTACIN USANDO PHP TECNOLOGIA WEB............................... 24
Manual de TrueCrypt
Pgina 1
I. INTRODUCCION
TryeCrypt es una de las mejores soluciones disponibles en el mercado, para cifrar informacin importante, es gratuita y multiplataforma (GNU/Linux, Mac OS X, WindowsXP/2000/2003/Vista/Seven), es recomendada para proteger tu informacin sensible y as evitar que personas no autorizadas tengan acceso a ella. TrueCrypt es una herramienta de cifrado gratuita muy poderosa y fcil de utilizar. Con esta aplicacin podrs crear discos de seguridad virtuales o incluso cifrar unidades enteras.
Es una herramienta on-the-fly, es decir que los archivos son descifrados cuando los accedes o modificas y se vuelven a cifrar cuando no estn en uso.
Gracias a varios trucos de optimizacin y la completa utilizacin de los recursos de los procesadores modernos, no hay diferencia entre trabajar con un volumen cifrado porTrueCrypt a trabajar con una unidad sin cifrar.
Este software no slo ofrece un cifrado potente y flexible, tambin ofrece la habilidad de crear volmenes ocultos dentro de unidades cifradas para una mayor seguridad.
Manual de TrueCrypt
Pgina 2
II. INSTALACION
Buscamos el enlace para su descarga en: http://www.truecrypt.org/downloads Escogemos la versin que nos interese (Mac, Linux o Ms Windows), en nuestro caso, la versin Windows:
Una vez descargado el archivo ejecutable TrueCrypt Setup 7.1a.exe, procederemos a su instalacin.
Manual de TrueCrypt
Pgina 3
Manual de TrueCrypt
Pgina 4
III.
Crear un volumen nuevo quiere decir que vamos a crear un fichero que har de contenedor para nuestros ficheros, de tal forma que todo lo que grabemos dentro del mencionado contenedor permanecer encriptado. La forma de utilizar este volumen ser similar a como se usa una imagen ISO (con Daemon Tools, Alcohol 120%, etc.) o la forma de utilizar dispositivos con las distribuciones Linux (Unix). Como primer paso de nuestra instruccin, debemos arrancar el programa y seleccionamos la opcin para crear un nuevo Volumen. Acto seguido seleccionamos crear un nuevo fichero contenedor encriptado (Opcin recomendada para principiantes):
Manual de TrueCrypt
Pgina 5
Debemos especificar la ubicacin deseada para el fichero. Para documentar esta instruccin, hemos escogido el escritorio del equipo:
En el siguiente paso, dejaremos los valores por defecto: Encriptacin AES y Hash RIPEMD-160.
Manual de TrueCrypt
Pgina 6
La siguiente ventana nos plantea la pregunta la cantidad de espacio que deseamos destinar al contenedor encriptado:
Podemos considerar un tamao de 2 Gb ms que adecuado para la mayora de proyectos que queramos proteger.
Manual de TrueCrypt
Pgina 7
El siguiente paso ser escoger una password para proteger nuestra informacin. La recomendacin estndar es 20 dgitos y con bastante complejidad. En caso contrario el programa mostrar un aviso (como el de la captura) pero nos dejar seguir:
La ventana actual muestra las opciones finales de creacin del volumen, su sistema de ficheros y su formato:
Manual de TrueCrypt
Pgina 8
Para ilustrar la instruccin hemos escogido un sistema de ficheros NTFS con el tamao de clster 64KB (el mayor). Una vez creado el volumen, podemos dar por finalizado el proceso y podemos utilizar nuestro nuevo volumen de datos cifrado con toda normalidad:
A tener en cuenta: Para poder utilizar el volumen/la unidad recin encriptada se deber montar y desmontar (tal como se explica en los puntos correspondientes en el presente documento) y asignando una letra de unidad.
Manual de TrueCrypt
Pgina 9
IV.
Para encriptar una unidad entera, que no sea la de sistema (un disco duro esclavo, una particin para datos, etc.) deberemos seguir las instrucciones siguientes... Primero de todo, vamos a la opcin de crear un nuevo volumen.
Manual de TrueCrypt
Pgina 10
Por norma general, la opcin que seleccionaremos ser Volumen TryeCrytp Comn.
Manual de TrueCrypt
Pgina 11
Si la particin (disco, dispositivo, etc.) no est vaca, seleccionaremos la opcin Encrypt partition in place. La opcin Create encrypted volumen and format it nos crear el volumen y nos supondr perder la informacin que all hubiera.
Manual de TrueCrypt
Pgina 12
Aqu es donde tenemos que informar en las cajas de texto la contrasea deseada. Es recomendable activar el checkbox Mostrar contrasea para mayor comodidad, siempre que se tenga la seguridad de estar solo.
Manual de TrueCrypt
Pgina 13
Cuando hagamos clic en el botn Siguiente, si la contrasea es menor de 20 caracteres (con las sugerencias del programa) podremos leer un aviso que nos advierte de la debilidad de la contrasea y nos pregunta si estamos seguros. Por si en un futuro tenemos inters guardar encriptados ficheros grandes (mayores de 4 Gb, como imgenes de DVD, ficheros multimedia, etc.), marcaremos la opcin Si en la pantalla que nos muestra la siguiente captura:
Manual de TrueCrypt
Pgina 14
En el siguiente paso es donde deberemos escoger el tipo de sistema de ficheros que deseamos para nuestra nueva unidad. En nuestro caso elegimos NTFS y Clster por defecto. Es altamente recomendable mover el cursor por la ventana del TrueCrypt para incrementar la aleatoriedad de las llaves. El ltimo paso es hacer clic en el botn Formatear. En el caso de ejemplo, se trata de una unidad de 300GB y la estimacin de tiempo ha sido entre 4 y 5 horas.
Cuando vemos la siguiente captura, querr decir que el proceso ha ido bien y ya tenemos una nueva unidad encriptada en el sistema.
Manual de TrueCrypt
Pgina 15
A tener en cuenta: La letra de unidad del dispositivo encriptado queda en desuso salvo que se quiera formatear, perdiendo la informacin almacenada y, por supuesto, la encriptacin. Para poder utilizar la unidad recin encriptada se deber montar y desmontar (tal como se explica en los puntos correspondientes en el presente documento) y asignar una nueva letra de unidad.
V.
Montar y desmontar el volumen encriptado es imprescindible para poderlo utilizar. Para ello deberemos: Para montar un volumen, el primer paso es seleccionar el contenedor. En nuestro caso ser el fichero encriptado que hemos guardado en el escritorio el cual hemos buscado a travs del botn Select File...:
Manual de TrueCrypt
Pgina 16
En el caso de nuestro ejemplo, montaremos (cargaremos) la unidad K con nuestro volumen encriptado. Para conseguir esto, debemos clicar el botn Mount.
En este punto, el software nos preguntar por la password que hayamos escogido anteriormente. Si el password que hemos informado en el textbox es el correcto, veremos que el programa nos muestra el estado del volumen de la siguiente forma:
Manual de TrueCrypt
Pgina 17
Manual de TrueCrypt
Pgina 18
VI.
As como es imprescindible montar el volumen para trabajar con l, desmontarlo es una recomendacin ya que este paso se har automticamente cuando se apague el sistema. La recomendacin viene por si alguna persona no autorizada accede a nuestro ordenador antes que hayamos desmontado el volumen o apagado el PC y en ese caso el intruso tendra acceso a la informacin encriptada sin ningn tipo de dificultad. Desmontar un volumen es tan sencillo como ir a la ventana del programa, seleccionar el volumen que hemos montado antes y clicar el botn Dismount:
Manual de TrueCrypt
Pgina 19
En criptografa, el cifrado Csar, tambin conocido como cifrado por desplazamiento, cdigo de Csar o desplazamiento de Csar, es una de las tcnicas de codificacin ms simples y ms usadas. Es un tipo de cifrado por sustitucin en el que una letra en el texto original es reemplazada por otra letra que se encuentra un nmero fijo de posiciones ms adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sera sustituida por la D (situada 3 lugares a la derecha de la A ), la B sera reemplazada por la E, etc. Este mtodo debe su nombre a Julio Csar, que lo usaba para comunicarse con sus generales. El cifrado Csar muchas veces puede formar parte de sistemas ms complejos de codificacin, como el cifrado Vigenre, e incluso tiene aplicacin en el sistema ROT13. Como todos los cifrados de sustitucin alfabtica simple, el cifrado Csar se descifra con facilidad y en la prctica no ofrece mucha seguridad en la comunicacin. [Leer mas] Implementacin en Java del algoritmo del Cifrado del Cesar. Primero creamos una clase a la que llamaremos Cifrar.java la cual tendr todo el cdigo para realizar la sustitucin por desplazamiento correspondiente al algoritmo del Cifrado del Cesar.
Cdigo en Java
/** * @author JF * Implementacin del algoritmo de sustitucin * el cifrado del Cesar. */ public class Cifrar {
public String descifrarMensaje(String msj, int desp){ mensaje = msj; desplazamiento = desp; recorrerMensaje(); return clave; }
/** * Recorrer cada letra del mensaje */ private void recorrerMensaje(){ String decod = ""; for(int i = 0; i < = mensaje.length() - 1; i++){ caracter = mensaje.substring(i, i + 1); if(!caracter.equals(" ")){ int posicion = getPosicionCaracter(caracter);
Manual de TrueCrypt
Pgina 21
decod = decrypt(posicion); clave += decod; }else{ clave += " "; } } //String substring = mensaje.substring(desplazamiento, desplazamiento) }
private int getPosicionCaracter(String letra){ int posicion = 0; for(int i = 0; i <= array.length; i++){ if(String.valueOf(array[i]).equals(letra)){ posicion = i; break; } } return posicion; }
Manual de TrueCrypt
Pgina 22
int posicion = c + desplazamiento; if(posicion > array.length - 1) posicion = posicion - array.length; String decod = String.valueOf(array[posicion]); return decod; } }
Ahora creamos una clase llamada cifradodelcesar.java que ser la que tendr nuestro mtodo principal y crear un objeto de la clase anterior. Cdigo en Java
public static void main(String[] args){ Cifrar c1 = new Cifrar(); Cifrar c2 = new Cifrar(); System.out.println("P JHTL P ZHD P JVUXBLYLK = " + c2.descifrarMensaje("P JHTL P ZHD P JVUXBLYLK", 19)); } }
Proceso Encriptacin:
Manual de TrueCrypt
Pgina 23
Proceso Encriptacin:
Cuando cargues esta pgina, si mcrypt est instalado, deberas encontrar en algn lado de la pgina algo como esto:
Manual de TrueCrypt
Pgina 24
Si usaste el instalador de PHP para Windows, lo ms probable es de que est instalada, si no lo est puedes conseguir la DLL libmcrypt.dll en http://files.edin.dk/php/win32/mcrypt/. Simplemente copia esta DLL en la carpeta ext de tu instalacin de php y en alguna de las rutas que estn dentro de tu PATH y listo. Para mayor informacin de como instalar visita http://www.php.net/manual/en/book.mcrypt.php. Si trabajas con Ubuntu, probablemente necesites instalarla. Para instalarla basta con ejecutar el comando sudo apt-get install php5-mcrypt en un terminal y luego reiniciar tu servidor apache con el comando sudo /etc/init.d/apache2 restart. Voy a implementar dos funciones que me permiten encriptar y desencriptar cadenas. Ambas funciones reciben la cadena que se quiere encriptar o desencriptar y la clave secreta a utilizar. Estas funciones devuelven la cadena encriptada o desencriptada. Para encriptar utilizaremos la funcin mcrypt_encrypt y para desencriptar la funcin mcrypt_decrypt. Ambas funciones reciben los siguientes parmetros:
Manual de TrueCrypt
Pgina 25
Manual de TrueCrypt
Pgina 26
{ $cifrado = MCRYPT_RIJNDAEL_256; $modo = MCRYPT_MODE_ECB; return mcrypt_decrypt($cifrado, $clave, $cadena, $modo, mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND) ); } ?>
En este caso estas dos funciones utilizan el cifrado RIJNDAEL_256 en modo ECB para encriptar la informacin. Ahora hagamos un pequeo programa que muestre como utilizar estas funciones: Cdigo en PHP:
<?php // Las funciones encriptar y desencriptar van aqui ?> <html> <head> <title>Demo Encriptacion</title> </head> <body> <?php $valorEncriptado = encriptar("Copstone", "casa");
Manual de TrueCrypt
Pgina 27
Convertir la cadena encriptada en base 64 para que solo est compuesta por caracteres con representacin visual. Para convertir a base 64 usaremos base64_encode y base64_decode. El cdigo quedara algo as: Cdigo en PHP:
<?php // Las funciones encriptar y desencriptar van aqui ?> <html> <head> <title>Demo Encriptacion</title> </head> <body>
Manual de TrueCrypt
Pgina 28
echo "Encriptado: <code style='color:#ff0000;'>{$valorEncriptado}</code>"; echo "<br/>"; echo "Original: <code style='color:#009922;'>{$valorOriginal}</code>"; ?> </body> </html>
Encriptacin en un solo sentido Ahora que ya hemos visto como realizar la encriptacin de dos sentidos te voy a mostrar como realizar la de un solo sentido. Para encriptar en un solo sentido no necesitas instalar nada ya que PHP a partir de su versin 5.0 viene incluido con esta funcionalidad. Para encriptar en un solo sentido podemos utilizar la funcin hash_hmac que recibe los siguientes parmetros:
Manual de TrueCrypt
Pgina 29
Ejemplo en el que utilizo la funcin de forma directa por su simplicidad: Cdigo en PHP
<html> <head> <title>Demo Encriptacion</title> </head> <body> <?php echo hash_hmac('md5', 'Copstone', 'casa'); ?> </body> </html>
Manual de TrueCrypt
Pgina 30