Bitcoin para principiantes | Manejo de contraseñas y copias de seguridad

contraseña+seguridad+bitcoin
Image by Angel Arcones

No importa cuántos bitcoins – o fracciones de bitcoin – aspiras a guardar en tu monedero; el día de mañana podrían constituir una pequeña (o gran) fortuna, que odiarías perder a manos de un ciberdelincuente. Y Dios sabe que los robos de bitcoins seguirán ocurriendo – ¿o creías que la mejor moneda disponible no iba a llamar la atención de los ladrones?; ellos aprecian sus cualidades tanto como el más virtuoso de nosotros.

Si vas a poseer bitcoins, tendrás que aprender a defenderlos, y el buen manejo de las contraseñas sigue siendo una de las maneras más efectivas de hacerlo. Este es el primero de una serie de tutoriales creados por la gente del grupo de Facebook «Bitcoin España», para todos aquellos que estén interesados en incursionar en el mundo Bitcoin:

*EDITADO: los principiantes aprovecharán especialmente la primera y la última parte de este tutorial («Fortaleza de la contraseña» y «Resguardo del archivo monedero»). Puede que el resto sea más apropiado para usuarios avanzados.

Tutorial: contraseñas y copias de seguridad

Autores: Ángel José Riesgo, Jorge Abascal, Manuel Polo, Randy Brito, Isa Yago (Grupo BitcoinEspaña).

El presente tutorial no tiene más pretensión que la de facilitar la primera toma de contacto a todos aquellos interesados en el bitcóin y que, tras leerlo, puedan manejarse con un mínimo de soltura en el mundo Bitcoin teniendo cierta idea de lo que se hace. Es fruto de la ignorancia del que empieza pero que, queriendo conocer más, indaga, busca, toma notas y pregunta. Por ello, también es el fruto de todos aquellos participantes del grupo bitcóin-España, de facebook, que preguntaron y de aquellos que, con paciencia, respondieron.

Otoño-2013

Libre disposición

FORTALEZA DE LA CONTRASEÑA

La vulneración de contraseñas por fuerza bruta ha evolucionado mucho. Hoy en día, con hardware apropiado, pueden encontrarse de forma trivial contraseñas con longitud de ocho caracteres, incluso si incluyen mayúsculas, números y caracteres especiales. Por ello, se recomienda una longitud de al menos 12 caracteres. Pueden ser útiles las contraseñas multipalabra y existen técnicas que aumentan la seguridad de las contraseñas sin sacrificar la usabilidad.

No obstante, el mero uso de palabras normales que se encuentran en los diccionarios es inseguro frente a ataques basados en diccionarios. Cuando se usan palabras convencionales del idioma, conviene mezclarlas con símbolos y números. También debe asumirse siempre que cualquier archivo que se suba a Internet (en Gmail o Dropbox, por ejemplo) puede permanecer en algún lugar indefinidamente y nunca será posible borrarlo definitivamente.

Cómo elegir una contraseña fuerte

Asegurarse de elegir al menos un caracter de cada grupo:

[unordered_list style=»tick»]

  • Minúsculas: abcdefghijklmnopqrstuvwxyz
  • Mayúsculas: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Números: 1234567890
  • Símbolos: `~!@#$%^&*()-_=+\|[{]};:'»,<.>/? (espacio)

[/unordered_list]

Seguridad de una contraseña:

[unordered_list style=»bullet»]

  • < 9 caracteres: inaceptable
  • 9 caracteres: insegura
  • 10 caracteres: baja
  • 11 caracteres: media
  • 12 caracteres: buena (suficientemente buena para el monedero)
  • 13 caracteres: excelente (válida para cualquier uso)

[/unordered_list]

Otra opción: un gestor de contraseñas

KeePass es un poderoso gestor de contraseñas gratuito, extremadamente seguro y de código abierto. Disponible en español y portable.

Descarga: http://keepass.info/download.html

Complemento español: http://keepass.info/translations.html


RESGUARDO DE CLAVES PRIVADAS

Dado que las claves privadas son la llave que permite gastar los bitcoines y regenerar una dirección Bitcoin, es imprescindible mantenerlas seguras. Las claves privadas pueden y deben guardarse de alguna de las siguientes formas:

[ordered_list style=»decimal»]

  1. Memorizando una frase
  2. En archivos informáticos
  3. Imprimiéndolas en papel

[/ordered_list]



Carteras deterministas

Son aquellas que, conociendo un mismo origen (sea una contraseña o una semilla generada por un programa al azar), permiten generar infinitas direcciones públicas/privadas.

Electrum: es una estupenda cartera determinista para PC, que genera una semilla de unas cuantas palabras (para memorizar/guardar) y/o para usuarios avanzados importar una semilla/clave pública maestra.


Pasarela de pagos

Pagobit.com: Hace uso de los monederos deterministas generando SOLO las direcciones *públicas*, las privadas se encuentran fuera del sistema, fuera de internet.

Para profundizar: https://en.bitcoin.it/wiki/BIP_0032


Crear una cartera mental

Bitaddress: ofrece un generador de direcciones Bitcoin de diferentes modos: CarteraPapel, CarteraMental, CarteraPersonalizada, etc… Es de código abierto en lado cliente escrito en JavaScript. Todo el código JavaScript está integrado en la página web principal, con lo que se puede guardar el archivo HTML de la página web y copiarlo a un ordenador desconectado de cualquier red. De esta manera, todos los cálculos se pueden realizar en nuestro propio ordenador y resulta segura.

* El uso con conexión a Internet es más peligroso debido a la posibilidad de que haya software malicioso de tipo spyware que pueda espiar las direcciones y claves privadas generadas.
 

La Cartera Mental es una dirección Bitcoin creada a partir de una contraseña. Se crea una frase de como mínimo 15 caracteres. A esa frase le corresponde una sola clave privada y una pública. Siempre que se escriba la misma contraseña va a salir la misma dirección Bitcoin, clavePública + clavePrivada. Solo tenemos que acordarnos de esa frase.

Modo de ejecución:

  1. Entramos en https://www.bitaddress.org/
  2. Descargamos la página en html y la guardamos en nuestro ordenador
  3. Nos desconectamos de la red
  4. Ejecutamos la página descargada llamada: bitaddress.org.htm
  5. Abrimos la pestaña que dice “cartera mental” y obtenemos:

tutorial+contraseñas+Bitaddress

Elegimos una contraseña cualquiera, por ejemplo, “MeGustaLasRosasRojas” y la escribimos. Pulsando el botón «Ver» obtenemos la clave pública y privada de esa contraseña. Siempre que se escriba la misma contraseña, se obtienen las mismas claves. Cualquier página web capaz de generar una cartera mental, dará las mismas claves a partir de la misma frase.

[box type=»note» border=»full»]

ADVERTENCIA:

Mucho cuidado con las carteras mentales. El texto elegido para generar una clave privada no debería ser nunca una palabra o un nombre común, tampoco una combinación sencilla tipo «Ana81» o «pedromadrid». Hay gente dedicada a generar listas de claves a partir de diccionarios e incluso combinando palabras entre sí y con números («tablas arco iris») de modo que poseen un número enorme de claves privadas a la espera de que algún incauto genere esa misma brainwallet.

No solo eso, sino que hay bots que rastrean permanentemente esas direcciones limpiando los bitcoines que puedan aparecer en ellas. Si a alguien se le ocurriera crear una dirección asociada a «angel», los bitcoines no durarían ahí ni un segundo… La única manera de que el brainwallet sea seguro es que la frase conste de unas cuantas palabras arbitrarias o que incorpore números y signos en varias posiciones, pero entonces se hacen más difíciles de recordar.

[/box]

Partición de una contraseña en trozos

Passguardian.com: para aumentar la seguridad de los secretos/contraseñas/claves privadas etc. existe la técnica, ideada por Adi Shamir, de partirlas por división en trozos criptográficamente seguros mediante un método matemático. Para reconstruir el original, se combina el número específico de los trozos en el que se dividió. Es un método muy sencillo, seguro y gratuito.

Para saber más: http://es.wikipedia.org/wiki/Esquema_de_Shamir

Passguardian.com está escrita en código libre. Todos los cálculos se hacen en nuestro navegador.

Modo de ejecución:

  1. Descargamos la página http://passguardian.com/ en html y la guardamos en nuestro ordenador.
  2. Nos desconectamos de la red.
  3. Ejecutamos la página descargada llamada: PassGuardian Safety in Numbers.htm

Elegimos una contraseña cualquiera: por ej: “MeGustaLasRosasRojas”.

Elegimos en cuántas partes deseamos partirla, por ejemplo, en tres partes.

Procedemos:

– Abrimos PassGuardian Safety in Numbers.htm

tutorial+contraseñas+bitcoin

– Cliqueamos en la pestaña Split (Dividir) y nos saldrá esta nueva ventana:

tutorial+contraseñas
Number of shares = No. de partes en que se divide el secreto, por ej: 3
Threshold (umbral) = No. mínimo de partes necesario para reconstruir el secreto, por ej: 2

 

Después de pulsar el botón «Split» en la parte inferior, nos dará las partes secretas (una parte por línea) y ya tenemos subdividida nuestra contraseña, que podemos guardar en tres lugares diferentes o dárselas a tres personas (quizás como herencia, en acta notarial, para que dispongan de nuestra cartera Bitcoin en su momento).

Para reconstruir nuestra contraseña vamos a la ventana «Reconstruct a secret» e insertamos cada una de las subdivisiones en su correspondiente cuadro de texto. En nuestro caso, con dos cualesquiera bastaría:

tutorial+contraseñas

Pulsando el botón «Reconstruct» obtenemos abajo nuestra contraseña elegida:

“MeGustaLasRosasRojas”.

Advertencia: Cada vez que ejecutemos la división de la contraseña, las subdivisiones serán diferentes (nunca salen las mismas) pero, siempre y en todo caso, al reconstruirlas nos dará la misma contraseña.


RESGUARDO DEL ARCHIVO MONEDERO

1- Copias de seguridad basadas en correo electrónico

Una de las maneras más simples de guardar una copia del archivo de la cartera convenientemente cifrada consiste en enviar la copia cifrada como datos adjuntos en un correo a una dirección propia. Los servicios al estilo de Gmail utilizan redes distribuidas enormes que hacen muy improbable que puedan llegar a perder datos de sus usuarios. Para dificultar aún más, además del cifrado, la identificación de los datos como monedero-Bitcoin, es posible ocultar el aspecto del archivo renombrándolo con un nombre poco atractivo como «notas personales».

2- Copias de seguridad basadas en servidores remotos

Otra solución consiste en utilizar un servicio de almacenamiento remoto de datos como Wuala (cifrado, instrucciones),  Dropbox (asegurándose de que el monedero esté cifrado) o SpiderOak (muy seguro).

3- Copiar la cartera en más de un pendrive

En la opción Archivo -> Copia de respaldo del monedero, elegir el destino del archivo-cartera que permitirá, el día de mañana, recuperar tu cartera. Es conveniente hacer copias de seguridad externas de todos los archivos usados. Conviene sacar varias copias de los monederos en más de un pendrive y guardarlos en diferentes sitios porque, si se pierde, resulta dañado o lo roban, se perderán todos los bitcoines que se tengan metidos en esas direcciones.

4- Tener varias carteras

La cartera Bitcoin-qt utiliza el archivo wallet.dat que encuentre en su directorio con dicho nombre. Si no encuentra ninguno, genera uno nuevo. Por ello, puedes tener varias carteras si renombras dicho archivo. Es decir, se puede tener dos carteras diferentes en el directorio bitcoin llamadas, por ejemplo, wallet.dat.diario y wallet.dat.ahorro de modo que se pueda arrancar el cliente Bitcoin-Qt con la cartera que interese con sólo renombrar una de ellas a wallet.dat y después ejecutar el cliente. Para cambiar de monedero habrá que renombrarlos de nuevo.

Copiar en un USB el archivo Cartera wallet.dat actual. Una vez copiado, borrar el archivo del disco duro y, al reiniciar Bitcoin-Qt, generará automáticamente un monedero nuevo. Si se ha guardado, memorizado o escrito alguna de las direcciones de envío del monedero del USB, se puede enviar allí los bitcoines que se quiera ahorrar. El monedero del USB se destina a recibir los bitcoines ahorrados.

Algo importante: si se reciben o gastan bitcoines, después se tiene que hacer una nueva copia de seguridad (la anterior ya no sirve). Las nuevas versiones del cliente van a ofrecer soluciones automáticas para este problema.

Conveniencia de tener dos carteras: si no estamos operando en el mercado con nuestros bitcoines, es muy conveniente tener dos carteras:

– CarteraGastos: La utilizaríamos para pequeños gastos y con tan solo algunos mBTC.

– CarteraDepósito: La utilizaríamos para almacenar todos nuestros BTC (siempre la tendríamos sin conectar a la red, en un pendrive, y alguna otra copia más).

– CarteraMentalDepósito: Esta sería la cartera más segura, pues no estaría en ningún sitio físico, ya que solo es una dirección Bitcoin. Lo único que tendríamos que saber es la contraseña, para así obtener la clave Privada e importarla a una cartera. Tras su uso, borraríamos la dirección Bitcoin de nuestra cartera.