La gestión de de identificación:

Seguro que cada uno se apaña a su manera, pero no he visto demasiada información sobre esto. Es un problema que se convierte en un quebradero de cabeza para mucha gente, y surge con el aumento del uso de Internet.

Hay claves que pueden ser muy importantes, como las claves de acceso al banco, la clave de paypal, la clave de usuario del correo electrónico. Esta última en particular podría usarse para recuperar un montón de claves, ya que en caso de pérdida de una clave te la mandan por correo. Otras son menos críticas y sin embargo las necesitamos. Clave de administración de un Blog,  y en general para cada servicio que uses en Internet sea de pago o gratuito, necesitarás una clave.

Este no es un tema baladí. Mantener las claves en secreto es uno de los problemas más difíciles en la criptografía. De hecho, en la práctica se ha demostrado que siempre es el eslabón más débil de todos los sistemas de , ya que un atacante que las obtenga por medios físicos, como por ejemplo robo, espionaje, extorsión, engaño, suplantación de identidad, rebuscando en la basura, ingeniería social,  aprovechando un descuido, o por simple casualidad, podría  acceder a todos los datos cifrados en cualquier sistema por bien diseñado que esté,  una vez en posesión de la clave.

Por lo tanto, propondré una solución que es la que yo uso y que no importa que los demás lo sepan, porque no es un sistema que base su seguridad en el secreto del método empleado. Empezaremos por un tema evidente.

Una sola clave para todo, o una para cada cosa:

La elección de una misma clave para todo no es una buena estrategia por una serie de razones:

  • Si te descubren la clave que usas para todo…, prepárate para una experiencia inolvidable.
  • En algunos sitios te obligan a usar la clave que ellos generan de forma aleatoria, o te imponen alguna restricción que debe cumplir tu clave. Puede que tu clave ‘123’ no les guste.
  • En otros lugares regularmente te obligan a cambiar la clave.

Por lo tanto, yo creo que es mejor asumir el hecho de usar una clave para cada cosa, aunque sean muchas. Incluso deberíamos asumir cambiarlas con cierta periodicidad.

Generación de la clave:

La generación de una clave se puede hacer de forma totalmente aleatoria generando una secuencia de dígitos y letras. Esto genera claves muy robustas y seguras desde el punto de vista de la seguridad, pero las claves en la medida de lo posible deben ser memorizadas. Por ello  se puede usar un sistema que facilite un poco el poder recordarla, sin caer en los errores típicos.  Nunca se debe usar información personal como fechas significativas, nombres de conocidos o de mascotas, ni cosas así. En realidad cualquier palabra que signifique algo aunque sea escrita al revés sería totalmente inadecuada ya que es susceptible de ataque por fuerza bruta usando programas que prueban con palabras sacadas de diccionarios. La gente no suele tomarse estas cosas en serio.

Yo para generar claves uso un sistema simple. Mezclo al azar sílabas pronunciables de forma que no signifiquen nada y sean fáciles de recordar. Para mayor seguridad se puede intercalar algún dígito, por ejemplo: murvene3lago, anala2todo, envego4sado, sado8retona, etc.

Estamos usando 5 sílabas y un dígito en una posición arbitraria. De esa forma quedará algo pronunciable pero carente de significado. Es decir, fácil de recordar y difícil de craquear por fuerza bruta.  Si no te viene nada a la cabeza puedes partir de varias palabras al azar y combinar sus sílabas arbitrariamente. El ejemplo anterior de claves lo he sacado combinando sílabas de estas tres palabras.

murciélago, anatomía, enrevesado.

¿Crees que no es buen sistema?  Analicemos la fortaleza de este sistema. El número de sílabas posibles en castellano es bastante superior a 2.000. (Véase un estudio sobre el número de sílabas posibles en castellano) en :

http://www.cuadernoscervantes.com/art_36_silabas.html

Por lo tanto la combinación de cinco sílabas nos daría un mínimo de: 2000^5=32000000000000000 combinaciones distintas.

Por el contrario una clave que use una combinación de letras mayúsculas, minúsculas y digitos nos daría un número de: 62^9= 13537086546263552 combinaciones distintas. Muy por debajo de la anterior cifra, y mucho más difícil de recordar porque sería impronunciable.

Me he molestado en demostrar esto matemáticamente porque la gente se deja llevar por la intuición y la lógica con bastante poca fortuna. Esta propuesta es totalmente segura, las matemáticas no fallan. Cinco sílabas al azar constituyen una muy buena clave. Ni siquiera hemos considerado la fortaleza añadida que da el dígito intercalado en posición arbitraria, porque somos así de chulos.

¿Quieres multiplicar por 2000 la eficiencia de la clave? Pues añade otra sílaba y listo. ¿Tampoco te basta? Prueba con esta. ‘tiechuflatepasesunpelotasloscojinetes’. Memorizalo poniendo los espacios donde más te plazca.

¿Dónde y cómo guardar nuestras claves?

Es evidente que el lugar más seguro para guardar una clave es en nuestra cabeza, pero supongamos que tenemos muchas, y las guardamos en un listado. Lo organizaremos de la forma más concisa posible, más o menos como una relación con filas del tipo: sitio , usuario , clave. separadas por comas, sin demasiado texto adicional.

La pregunta del millón: ¿Podemos sacarlo a papel y guardarlo en algún lado que no sea fácil de descubrir?  Mmmm…, Sinceramente,  si no tuviéramos que usar el papelito casi a diario, no sería una solución demasiado mala, y de hecho yo lo hago porque uso muchas claves. A fin de cuentas perder las claves supondría un verdadero problema. ¿Podemos guardarlas bajo llave? Mmmm…, sin ser perfecto eso está mejor, y la idea de guardar todas las claves bajo una única llave, o  combinación, o clave no está mal. A esta clave la llamaremos clave maestra.

por ejemplo si estás acostumbrado a usar el sistema de criptografía PGP, encriptas el fichero con las claves y listo.

Si eso te resulta complicado o poco práctico, yo te voy a proponer un sistema que uso basado en un programita bastante sencillo dentro de lo que son los sistemas criptográficos.

Se trata de un programita en lenguaje desarrollado por mí para y desencriptar ficheros usando la misma clave. (). Lo uso en Linux pero es un programa trivial que puede ser adaptado sin mucho esfuerzo a cualquier sistema operativo. Básicamente me apoyo en el comando externo ‘bzip2’ pero bastaría usar cualquier otro compresor. El compresor no es crítico, se usa para comprimir y aleatorizar la distribución de caracteres complicando bastante las cosas a los hackers que intenten reventar la clave de acceso.

Necesitarás conservar lo siguiente para recuperar la información:

  • El fichero . ¿Parece bastante obvio verdad?
  • La clave maestra. ¿También obvio?
  • El programa.
  • El mismo compresor y misma versión.


El programa encriptar.py:

Lo he puesto entre mis ficheros de libre descarga en esta página. Descargas gratuitas

Es un programita muy sencillito. Sin grandes pretensiones. Es software libre GPL.El programa se usa desde consola pasándole el nombre del fichero a encriptar o desencriptar. Lo primero que mira el programa es la extensión del fichero para saber si es un fichero encriptado, terminado en ‘.crypt’ o uno , terminado en ‘.decrypt’.

Tanto en un caso como en otro el programa solicitará una palabra clave que conviene que sea larga. No menos de 15 caracteres. Con esta palabra haremos la operación lógica () carácter a carácter entre el texto a encriptar o desencriptar. Esto equivale a cambiar en la representación binaria de los caracteres, los ceros por unos, y los unos por ceros, lo cual da un resultado lleno de caracteres extraños. El resultado es reversible aplicando la misma clave. Sin embargo, este sistema no se limita solo a eso ya que existiría una vulnerabilidad. No todos los caracteres tienen la misma probabilidad de aparecer en un texto y esto es una pista fundamental a la hora de descifrar por fuerza bruta un texto, sin embargo mi programa antes de encriptar con la clave, comprimirá el fichero con el máximo de compresión usando como programa externo, el compresor bzip2, (se puede usar cualquier otro compresor). Esto entregará un fichero con una distribución de caracteres totalmente aleatoria, y por lo tanto no ofrecerá ninguna pista para ser desencriptado. Este programa yo lo uso para guardar mis claves, pero si perdiera mi clave ni yo ni nadie podría recuperar el contenido de mi fichero encriptado.

Por lo tanto, y dado que el programa lo ofrezco gratuitamente bajo GPL, no me hago responsable de absolutamente nada. Este es un sistema que convertirá tu información más preciada, en exquisita basura, salvo que lo manejes bien y no olvides tu clave. Guardar bajo llave o en un buen lugar una copia impresa en papel de todas las claves tampoco es una idea demasiado mala. Ni lo recomiendo ni dejo de hacerlo, pero yo lo hago, y en el contenido de este fichero introduzco unas pistas que me permiten recordar la clave maestra y el lugar del disco duro donde he guardado el fichero y ese papelito lo guardo en un buen sitio. A mano voy anotando nuevas entradas a medida que lo necesito y de vez en cuando, desencripto, edito el fichero para actualizarlo, lo encripto de nuevo y borro el fichero desencriptado y todas sus copias sobrescribiendo antes su contenido para no dejar ni rastro.

¿Tiene sentido guardar la información sensible en un fichero encriptado?

¿Para que me molesto yo en encriptar la información en el ordenador si luego voy, y mantengo una copia en papel?  Para empezar tener una copia en el ordenador hacer más fácil editarlo. Reescribir todas las claves en papel puede originar errores de transcripción.

El papel puede perderse, y el contenido del ordenador y de las copias de seguridad también. De hecho un fichero encriptado podrías guardarlo en un servidor remoto, y tu información quedaría a salvo en caso de que un incendio devastara tu casa o tu negocio. De esa forma, conservando una copia encriptada en un servidor remoto, podrías recuperar tus claves para escribir en tu Blog como te quedaste sin casa, o por ejemplo entrar en el banco y renovar tu póliza de seguro de hogar, o mandar mails lacrimógenos a la gente que te debe dinero.

La información en los ordenadores rara vez se pierde si haces las cosas bien, pero imagina que en un descuido borras inadvertidamente ese fichero de claves. Más o menos en plan de… «que mierda de carpeta es esta», y luego, cuando haces copias de seguridad ya no tendrás en ellas el fichero. Quizás quede alguna copia de ese fichero en la copia de seguridad más antigua que conserves, (no puedes permitirte conservarlas todas), pero seguro que esa copia se habrá estropeado por la famosa ley de Murphy. (Si algo malo puede pasar, seguro que pasa, y si no puede pasar también pasará). No te estoy tranquilizando nada ¿verdad? Yo te doy ideas, pero querido amigo. De paranoico a paranoico, te digo que hay cosas que solo tú puedes decidir. Si consideras útil el programita o no, es cosa tuya.