ENCRIPTACION • PORQUE ES IMPORTANTE ENCRIPTAR

Anuncio
ENCRIPTACION
 PORQUE ES IMPORTANTE ENCRIPTAR NUESTROS
DOCUMENTOS
 MODOS DE ENCRIPTACION
 PROGRAMAS PARA INCRIPTAR
 CRYPTEXT
 MD 5
 INCRIPTAR CONTRASEÑAS CON MD5
 COMO PROTEGER CARPETAS WEB
 MEDIDORES DE SEGURIDAD PARA CONTRASEÑAS EN TU
SITIO WEB Y VENTAJAS DE MD5
HECTOR MANUEL MATUS ZAVALA
Página 1
PROGRAMAS PARA ENCRIPTACION
BCArchive
La mejor manera de proteger tus archivos más importantes.
Licencia: Freeware
· SafeHouse Explorer
Bloquea el acceso a distintos ficheros.
Licencia: Freeware
· P-Encrypt Secure Drive
Protege tus archivos mediante unidades virtuales.
Licencia: freeware
Plataforma(s): Windows Vista, XP y 2000
· PeaZip
Comprime y encripta tus archivos.
Licencia: freeware
Plataforma(s): Windows
· Kruptos
Lo mejor en seguridad para tus archivos.
Licencia: freeware
Plataforma(s): Microsoft Windows 2000/XP/2003
· Under Lock and Key
Poderoso sistema de seguridad para contraseñas, totalmente gratis
Licencia: Freeware Plataforma(s): Win NT, 98, 98 SE, 2000, ME, XP, Vista
· My Lockbox
Excelente manera de mantener seguros nuestros archivos más privados
Licencia: Freeware
Plataforma(s): Win NT, 98, 98 SE, 2000, ME, XP, Vista
· Toucan
Excelente opción para proteger toda tu información, totalmente gratis
Licencia: Freeware
Plataforma(s): Win 98, 98SE, 2000, ME, XP, Vista
· Advanced File Security Basic
Excelente soft para proteger tu intimidad y seguridad
Licencia: Freeware
Plataforma(s): Win NT, 98, 98 SE, 2000, ME, XP, Vista
· WinXFiles
Excelente programa para mantener tus imagenes a salvo de los demás
Licencia: Shareware
Plataforma(s): Win NT, 98, 98 SE, 2000, ME, XP, Vista
HECTOR MANUEL MATUS ZAVALA
Página 2
 La incriptación de Datos
Como sabemos, en un Sistema de Comunicación de Datos, es de vital
importancia
asegurar que la Información viaje segura, manteniendo su
autenticidad, integridad,
confidencialidad y el no repudio de la misma entre otros aspectos.
Estas características solo se pueden asegurar utilizando las Técnicas
de Firma Digital
Encriptada y la Encriptación de Datos.
Métodos de encriptación:
Para poder Encriptar un dato, se pueden utilizar tres procesos
matemáticos diferentes:
Los algoritmos HASH, los simétricos y los asimétricos.
 Algoritmo HASH:
Este algoritmo efectúa un cálculo matemático sobre los datos que
constituyen el documento y da como resultado un número único
llamado MAC. Un mismo documento dará siempre un mismo
MAC.

Algoritmos Simétricos:
Utilizan una clave con la cual se encripta y desencripta el
documento. Todo documento encriptado con una clave, deberá
desencriptarse, en el proceso inverso, con la misma clave. Es
importante destacar que la clave debería viajar con los datos, lo que
HECTOR MANUEL MATUS ZAVALA
Página 3
hace arriesgada la operación, imposible de utilizar en ambientes
donde interactuan varios interlocutores.

Algoritmos Asimétricos (RSA):
Requieren dos Claves, una Privada (única y personal, solo conocida
por su dueño) y la otra llamada Pública, ambas relacionadas por una
fórmula matemática compleja imposible de reproducir. El concepto
de criptografía de clave pública fue introducido por Whitfield Diffie
y Martin Hellman a fin de solucionar la distribución de claves
secretas de los sistemas tradicionales, mediante un canal inseguro.
El usuario, ingresando su PIN genera la clave Pública y Privada
necesarias. La clave
Publica podrá ser distribuida sin ningún inconveniente entre todos los
interlocutores. La
Privada deberá ser celosamente guardada.
Cuando se requiera verificar la autenticidad de un documento enviado
por una persona se
utiliza la Clave Publica porque el utilizó su Clave Privada.
HECTOR MANUEL MATUS ZAVALA
Página 4
La confidencialidad de la información, específicamente de los usuarios
que utilizan Internet es fundamental. La realización de compras
electrónicas, el ingreso de una tarjeta de crédito, la publicación de
información confidencial de una empresa en Internet para que
usuarios habilitados puedan accederla, el compartir información
estratégica, el ingreso en sitios web de antecedentes personales, son
solamente algunos ejemplos de contenido sensible que debe contar
con las medidas de seguridad adecuadas para evitar problemas y no
perder la privacidad y confianza.
Es importante que aquellos lugares, sucursales, sitios web, correos
electrónicos en donde los usuarios deban ingresar información crítica,
garanticen esta confidencialidad.
En general en los sitios web, de ingreso de información estratégica,
tales como bancos, pagos en línea, registro de antecedentes, entre
otros, la información es protegida a través de dos protocolos de
seguridad:


Encriptación de Datos
Uso de Claves de Seguridad
Con respecto a la encriptación, corresponde a una tecnología que
permite la transmisión segura de información, al codificar los datos
transmitidos usando una fórmula matemática que "desmenuza" los
datos. Sin el decodificador o llave para desencriptar, el contenido
enviado luciría como un conjunto de caracteres extraños, sin ningún
sentido y lógica de lectura. Esta codificación de la información puede
ser efectuada en diferentes niveles de encriptación. Por lo general en
los sitios web se utiliza el protocolo “SSL”, con cifrado de 128 bits e
intercambio de 1024 bits.
Esto quiere decir que si el contenido es interceptado por alguien
indebido, no podrá ser decodificado, o más aún la decodificación
duraría tanto tiempo en realizarse, que de ser efectiva, la información
ya no sería de utilidad.
CyberCenter, en su calidad de agencia Internet, asesora a sus clientes
en los diferentes casos que se requiera resguardar los datos de
usuarios que utilicen algún sitio web que requiera confidencialidad de
la información. En primer lugar, se debe identificar las áreas sensibles
HECTOR MANUEL MATUS ZAVALA
Página 5
del sitio web. Posteriormente, se debe aplicar protocolos de seguridad
a dichas secciones. Conforme a lo anterior, se utiliza encriptación de la
data a través de SSL, como mecanismo de privacidad. La información
de consulta por parte del usuario, se encuentra bajo un área segura,
con protocolo de seguridad Secure Socket Layer (SSL) y mecanismos
de encriptación apropiados.
El protocolo SSL, protege los datos transferidos mediante conexión
http, es decir navegación web, utilizando encriptación provista por un
Servidor Web de Seguridad.
Una llave pública es empleada para encriptar los datos, y una llave
privada se utiliza para descifrar o desencriptar la información.
CyberCenter ofrece desarrollos que permiten ofrecer las más
sofisticadas alternativas de encriptación. Con soluciones rápidas y
escalabes.
El certificado digital, es el que permite efectuar el proceso de
desencriptación, y en general para servidores web, se utiliza lo
siguiente:
Protocolo a utilizar
SSL 3.0, RC4 con cifrado de 128 bits (alta); RSA con intercambio de
1024 bits.
Emisor
Alguna Autoridad Certificadora adecuada; estas operan como notarías
virtuales.
Algoritmo de Firma
md5RSA
Período de Validez
Anual
HECTOR MANUEL MATUS ZAVALA
Página 6
CRYPTEXT
AQUÍ PODRAN DESCARGART ESTE PROGRAMA DE
CRYPTEXT
http://cryptext.softonic.com CRYPTEXT
http://rbytes.net/descargar/cryptext-descargar
V3.40
INSTALACION
1) Instalar el programa Cryptext
Aunque hay muchos programas que sirven para
encriptar los documentos el Cryptext es muy
sencillo de usar y además gratis.





Cryptext es un programa que te permite encriptar
ficheros.
Su instalación es muy sencilla, funciona en Windows.
Hay una versión en Español
Utiliza una combinacion de los algoritmos SHA-1 y RC4
para encriptar los ficheros, con 160-bit
Con 160-bit mera combinatoria, si el password es
suficientemente complejo, se necesitarían todos los
ordenadores del mundo durante miles de años para
descifrarla, aunque si uno pone como password una
palabra tomada de un diccionario, con un par de horas
sobraría.
Si no tiene instalado el programa Cryptext puede acceder a
la página del autor Nick Payne
(http://www.pcug.org.au/~njpayne) o más cómodo
descargarlo de nuestro servidor: [Pincha aquí para bajarte
el Cryptestp 3.40].
HECTOR MANUEL MATUS ZAVALA
Página 7
Aceptamos y ya está listo para encriptar y desencriptar
3) Encriptar
Vamos a encriptar uno de los ficheros de la figura
de la izquierda, por ejemplo el ana.jpg.
2) Introducimos la
1) Para encriptar
simplemente situamos contraseña.
el cursor sobre el
fichero y con el botón
derecho del ratón
aparece un menú en el
que seleccionamos la
opción de encriptar el
fichero.
HECTOR MANUEL MATUS ZAVALA
3) El
fichero
cambia su
icono por
uno con
una llave
amarilla.
Página 8
4) Desencriptar
2) Introducimos la
1) Para desencriptar
simplemente situamos contraseña.
el cursor sobre el
fichero y con el botón
derecho del ratón
aparece un menú en el
que seleccionamos la
opción de
desencriptar el
fichero.
HECTOR MANUEL MATUS ZAVALA
3) El
fichero
cambia el
icono de la
llave
amarilla
por su
icono
normal.
Página 9
ENCRYPTAR CONTRASEÑAS CON MD5
En criptografía, MD5 (abreviatura de Message-Digest Algorithm 5, Algoritmo
de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128
bits ampliamente usado
MD5 es uno de los algoritmos de reducción criptográficos diseñados por el
profesor Ronald Rivest del MIT (Massachusetts Institute of Technology,
Instituto Tecnológico de Massachusetts). Fue desarrollado en 1991 como
reemplazo del algoritmo MD4 después de que Hans Dobbertin descubriese su
debilidad.
A pesar de su amplia difusión actual, la sucesión de problemas de seguridad
detectados desde que, en 1996, Hans Dobbertin anunciase una colisión de
hash plantea una serie de dudas acerca de su uso futuro.
Codificación
La codificación del MD5 de 128 bits es representada típicamente como un
número de 32 dígitos hexadecimal. El siguiente código de 28 bytes ASCII será
tratado con MD5 y veremos su correspondiente hash de salida:
MD5("Esto sí es una prueba de MD5") =
e99008846853ff3b725c27315e469fbc
Un simple cambio en el mensaje nos da un cambio total en la codificación
hash, en este caso cambiamos dos letras, el «sí» por un «no».
MD5("Esto no es una prueba de MD5") =
dd21d99a468f3bb52a136ef5beef5034
Otro ejemplo sería la codificación de un campo vacío:
MD5("") = d41d8cd98f00b204e9800998ecf8427e
Algoritmo

Terminologías y notaciones
En este documento "palabra" es una entidad de 32 bits y byte es una entidad de
8 bits. Una secuencia de bytes puede ser interpretada de manera natural como
una secuencia de bits, donde cada grupo consecutivo de ocho bits se interpreta
HECTOR MANUEL MATUS ZAVALA
Página 10
como un byte con el bit más significativo al principio. Similarmente, una
secuencia de bytes puede ser interpretada como una secuencia de 32 bits
(palabra), donde cada grupo consecutivo de cuatro bytes se interpreta como
una palabra en la que el byte menos significativo está al principio.
El símbolo "+" significa suma de palabras.
X <<< s se interpreta por un desplazamiento a la
izquierda 's' posiciones
not(x) se entiende como el complemento de x

Descripción del algoritmo md5
Empezamos suponiendo que tenemos un mensaje de 'b' bits de entrada, y que
nos gustaría encontrar su resumen. Aquí 'b' es un valor arbitrario entero no
negativo, pero puede ser cero, no tiene por qué ser múltiplo de ocho, y puede
ser muy largo. Imaginemos los bits del mensaje escritos así:
m0 m1 ... m{b-1}
Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida
eficaz encriptar las contraseñas.
Si en nuestra página web tenemos un sistema de usuarios y queremos proteger
las
contraseñas para prevenir posibles vulnerabilidades en nuestro servidor, es una
medida eficaz encriptar las contrasñas, de manera que si alguien puede
acceder
a ellas no pueda ver la contraseña si no su encriptación.
Para mejorar este sistema, lo que haremos es usar un algoritmo de
encriptación
HECTOR MANUEL MATUS ZAVALA
Página 11
de un solo sentido, es decir que no se puede desencriptar de ninguna manera,
como por ejemplo md5.
Para guardar la contraseña encriptada en md5, usaremos la funcion md5() de
PHP:
<?
$contrasena = md5($contrasena);
?>
Ya podemos guardar la contraseña en nuestra base de datos o fichero, pero…
¿como haremos para comprovar la contraseña en el inicio de sesión?
Muy fácil, como en la base de datos tenemos la contraseña en md5,
encriptaremos
la contraseña que escribe el visitante de la misma manera que hemos
encriptado
la contraseñaa del usuario en el momento de su regístro, ahora ya podremos
comparar la contraseña enviada con la almacenada en el servidor, si la
encriptación coincide es que la contraseña es correcta.
Pero si no usamos una transmisión segura (pe: SSL) sigue habiendo un
problema,
cuando el usuario envía los datos al servidor, la contraseñaa es enviada sin
encriptar, y en ese momento puede ser capturada por un tercero. Para evitar
esto, podemos encriptar la clave en el ordenador del cliente usando JavaScript,
gracias a Javascript MD5, en lugar de encriptarla en el servidor usando PHP.
¿Como proteger carpetas web?
Publicado el 10 de November, 2004
En esta oportunidad le voy a explicar de una manera entendible, como
proteger una carpeta o las carpetas de nuestra web de una forma fácil.
HECTOR MANUEL MATUS ZAVALA
Página 12
En esta oportunidad le voy a explicar de una manera entendible, como
proteger una carpeta o las carpetas de nuestra web de una forma fácil, primero
entendamos que esta nota es para web que estén hospedadas en servidores que
permitían modificar los archivos .htaccess y .htpasswd que la mayoría de las
veces son los servidores pagos.
Bien sabiendo esto empecemos:
Lo primero que vamos hacer es crear la carpeta en el servidor que vamos a
proteger la llamaremos protegida (o lo que quieran) o si ya la tenemos
obviemos este paso.
Ahora miramos dentro de esa carpeta que hemos creado y revisamos que no se
encuentre un archivo llamado .htaccess (tenemos que revisarlo directo del
servidor dado que por vía ftp no aparece)
La mayoría de las veces no aparece pero por si a caso, ahora bien creamos en
nuestra pc un archivo de texto que llamaremos – htaccess.txt y dentro
metemos lo siguiente:
AuthUserFile
/home/virtual/site0/fst/var/www/html/protegida/.htpa
sswd
AuthGroupFile /dev/null
AuthName Mi Web Carpeta Protegida\"
AuthType Basic
<Limit GET>
require user webmaster
</Limit>
* Explicación: AuthUserFile = Es la dirección completa de nos da el servidor
mas la ubicación de la carpeta que vamos a proteger y el archivos que tendra
las claves, cámbienla por la suya.
* Explicación: AuthGroupFile = Déjenlo como esta.
HECTOR MANUEL MATUS ZAVALA
Página 13
* Explicación: AuthName = Es el título que aparecerá en el cuadro que pide
login y contraseña.
* Explicación: AuthType = Déjenlo como esta.
* Explicación: require user = Delande esto escriban los usuarios que van a
poder entrar a la carpeta. Ejemplo: require user tony raul hector, ósea que los
logines o nicks serian: tony raul hector
Ahora creamos una archivo de texto que llamaremos htpasswd.txt que es el
que contendra los logines y claves de esta forma por linea:
tony:vsfgf1546v5!
raul:1f54drt54g21
Ósea (login:clave) creo que se dieron cuenta que la clave es encriptada. Hay
algunos generadores de las líneas que deben incluir..
Ahora suben los dos archivos (htaccess.txt y htpasswd.txt ) a la carpeta de su
servidor quieran proteger en este caso "/protegida" por medio de ftp pero de
forma ASCII y los renombramos así: (htaccess.txt = .htaccess ) (htpasswd.txt
= .htpasswd) y listo ya tenemos la carpeta protegida.
* Ahora les paso lo prometido un script para encriptar claves que encontré por
internet:
<?
//Script en PHP para encriptar contraseñas y poder
usarlas en el archivo .htpasswd:
//Comentario añadido por amen:
// Tener el cuenta que el formato en un fichero de
// password es:
// login:pwdencriptado
if (!isset($submit)) {
?>
<BR>ENCRIPTAR PASSWORD
<br><br><FORM METHOD=\"POST\"
ACTION=\"encrypt.php\">
<p>Password: <INPUT TYPE=\"TEXT\"
NAME=\"password\"></p>
HECTOR MANUEL MATUS ZAVALA
Página 14
<p><input type=\"submit\" value=\"Encriptar\"
name=\"submit\"></p>
</FORM>
<?
}
if (isset($submit)) {
$password_encr=crypt($password,CRYPT_STD_DES);
echo \"<br>ENCRIPTAR PASSWORD\";
echo \"<br><br>Encriptación de <b>$password</b> :\";
echo \"<br>$password_encr\";
?>
<BR><br>Nueva Encriptación:
<br><br><FORM METHOD=\"POST\"
ACTION=\"encrypt.php\">
<p>Password: <INPUT TYPE=\"TEXT\"
NAME=\"password\"></p>
<p><input type=\"submit\" value=\"Encriptar\"
name=\"submit\"></p>
</FORM>
<?
}
?>
Medidores de seguridad para contraseñas en tu sitio web
Si tu sitio web tiene la opción para registrarse como miembros, es importante
que no pierdas de vista la primera impresión que los usuarios van a percibir
desde que llenen el formulario de registro. Para que tus visitantes reconozcan
que le das especial importancia a la seguridad del sitio y todos los datos que
ellos están a punto de almacenar, es recomendable utilizar un medidor de
seguridad en las contraseñas. Incluso si tú te preocupas por la seguridad de la
data almacenada en la página web, las contraseñas poco seguras pueden tener
serias consecuencias.
Es importante conocer algunas reglas básicas para la creación de passwords,
que todos deberíamos saber, pero a las que realmente no hacemos caso y
podríamos estar poniendo en riesgo nuestra identidad virtual.
HECTOR MANUEL MATUS ZAVALA
Página 15




Mientras más caracteres, mejor. Usualmente nos conformamos con
los 6 u 8 que nos exigen los sitios web, pero si empleáramos entre 13 y
15 podemos dormir más tranquilos.
Intercala mayúsculas y minúsculas y tanto letras como números. Es
más difícil ser vulnerable si no utilizas palabras comunes en el lenguaje
y que puedes encontrar en un diccionario.
Utiliza el lenguaje leet y símbolos especiales. Ojo que por símbolos
especiales entendemos todos los símbolos, no necesariamente
aquellos que están en la parte superior del teclado (#, $, %, &, /).
Y sobre todo, no utilices la misma contraseña para todo.
A continuación ponemos a tu disposición unos scripts que serán útiles para
crear una mejor interfaz de registro.
Password Meter:
Password Meter nos explica fácilmente cuáles son los defectos que tienen las
contraseñas que ingresamos y nos devuelve un porcentaje que indica qué tan
segura es. Su algoritmo está basado en una función en lenguaje JavaScript
bastante exacto.
GeekWisdom:
HECTOR MANUEL MATUS ZAVALA
Página 16
GeekWisdom nos ofrece un algoritmo JavaScript y nos devuelve un resultado
numérico, además de darnos tips para la creación de contraseñas.
Yet Another Password Mete:
Yet Another Password Meter también nos detalla los aspectos evaluados y nos
da un veredicto sobre la vulnerabilidad de la contraseña ingresada.
jQuery:
jQuery nos ofrece un código simple de entre su librería para diseñar un
medidor de seguridad que podemos aplicar a nuestro sitio web.
Dave’s Weblog:
HECTOR MANUEL MATUS ZAVALA
Página 17
Y por último, Dave’s Weblog nos ofrece un tutorial detallado para que
podamos crear nuestros propios medidores de seguridad PHP, paso a paso.
El uso de estos medidores es útil para demostrar que todo miembro que se
registre puede dejar de preocuparse acerca de qué va a pasar con su
información, además de ser un proceso bastante sencillo para implementar en
cualquier sitio. Muchas veces los usuarios no tienen conocimiento suficiente
para crear una contraseña que verdaderamente sea segura en su afán de no
olvidarla.
Parecería bastante obvio que “123456” deja la información de las personas
casi tan vulnerable como si su cuenta estuviera abierta al público, pero
contraseñas de este tipo son bastante comunes. Otra opción de seguridad que
te recomendamos para tu sitio web y la información de tus usuarios es
encriptar contraseñas con md5. ¿Cuál utilizas en tu sitio? ¿Qué otra
recomendación incluyes en está lista?
http://www.youtube.com/watch?v=pqolyZYm3Ew&feature=fvw
http://www.youtube.com/watch?v=fgfJIcPZPdc&feature=related
http://www.youtube.com/watch?v=KJX6eDL9zWk
http://www.youtube.com/watch?v=xSsQwd-2wEc&feature=related
http://www.youtube.com/watch?v=yhBeYLB7OEg&feature=related
HECTOR MANUEL MATUS ZAVALA
Página 18
Descargar