Bitcoin Forum
April 25, 2024, 05:15:44 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Método seguro-práctico entre monederos offline para firma y online para difusión  (Read 1348 times)
magarto (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
January 03, 2014, 03:50:45 PM
Last edit: January 03, 2014, 06:59:14 PM by magarto
 #1

Buenas,

En primer lugar me gustaría presentarme, soy un madrileño de 30 años que, tras oír durante un par de años de las criptomonedas, me puse con ello tras el boom de diciembre. Tengo una buena cantidad de dinero en un trader para buscar el momento oportuno para comprar criptomonedas, en principio BTC. Si bien filosóficamente y como meta creo en las criptomonedas también lo veo como una inversión a corto-medio plazo.

Estoy buscando un sistema de monedero lo más seguro posible pero añadiendo un parámetro más y es poder distribuir las transacciones de forma fácil, bien a través de Blockchain.info, bien a través de un cliente como Electrum o Multibit. Me gustaría que entre varios me podáis ayudar a buscar un sistema seguro pero funcional en cualquier momento (no como Armory que deberías distribuir las transacciones siempre desde pocos lugares, tal y como comento más adelante).

Tras leer y leer, probar y probar, he llegado a las siguientes conclusiones:
a) Usar una web tipo blockchain.info para tener el monedero, está bien siempre y cuando tengamos copias locales pero, a mi juicio, siempre corremos riesgos como no hacer backups constantemente y, cuando los hagamos, que no sean fácilmente accesibles por terceros (siempre puede llegar a accederse a fichero y buscar en contraseñas de Chrome - en mi caso no uso Google Chrome, sino un programa de gestión de contraseñas - o con un keylogger para verlas).
b) Una contraseña segura, no usada para otras cosas y no guardada en ninguna parte es segura hasta que pensamos en los keyloggers.
c) Un método offline para tener el monedero con las claves privadas, guardado en un volumen encriptado (sea mediante truecrypt o contraseña con winrar), y para firmar nuestras transacciones y luego hacer el broadcast desde la aplicación online que tenga el monedero público (watchonly) es seguro. El problema radica en que el mejor programa que hay, Armory, usa el cliente oficial por lo que tiene que descargar los 11 GB que ocupa actualmente la cadena de bloques al completo.

Actualmente he implementado un USB con dos particiones, ambas en FAT32, la primera con Tails (Live de GNU/Linux más segura que conozco) y la segunda con un archivo de Truecrypt encriptado y renombrado que contiene en su interior el monedero. Desde este Live USB monto el volumen de TrueCrypt e instalo cada vez Armory y accedo offline a mi monedero para firmar transacciones. Estas las guardo en el segundo volumen también para su difusión por el sistema online montado en mi ordenador de uso cotidiano con Ubuntu, empleando Armory online. Armory es el programa más seguro, con más opciones y con más capacidad de restauración de monedero que existe actualmente.
Si alguien quiere hacer algo parecido, lo tiene parecido aquí: https://docs.google.com/document/d/1YoqeEisXpq4b4eYKjADRaIkopgrN5Ye3OGixPhV_9A8/edit

El problema radica, como comenté, en que debemos usar Armory online y este programa, el favorito de los criptoparanoicos, debe descargar el bloque entero, cosa que ocupa una burrada y ralentiza demasiado todo y no nos permite echar mano de nuestro monedero si estamos en otro lugar, como de viaje.
Por ello busco algo intermedio, algo parecido a alguna de las siguientes ideas:
a) Usar blockchain para la difusión. El problema que veo es que si ponemos el monedero de sólo lectura (watch only) en Blockchain.info, no nos permite importar las transacciones firmadas, sino que nos pide directamente la clave privada (cosa que ni de coña haría, y menos copiando directamente).
Esta cartera online, de permitirlo, sería, a mi juicio, la mejor opción.
b) Usar otro cliente online que no descargue el bloque entero, como Electrum o Multibit. Aquí el problema que veo es de importación del monedero watch-only ya que difieren los formatos. Vi tutoriales por internet de cómo pasar de formato el wallet, aunque no he entrado aún demasiado en detalle, pero creo que puede ser un tostón si no se hace de forma sencilla con un script de conversión.

Como véis, abro una tertulia que ya habéis barajado antes, añadiendo el parámetro de la usabilidad y el poder usar nuestro monedero sencillamente si no tenemos a mano nuestro programa oficial con el bloque completo descargado.
Espero que no sea un post muy de novatos Tongue

Saludos
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714065344
Hero Member
*
Offline Offline

Posts: 1714065344

View Profile Personal Message (Offline)

Ignore
1714065344
Reply with quote  #2

1714065344
Report to moderator
1714065344
Hero Member
*
Offline Offline

Posts: 1714065344

View Profile Personal Message (Offline)

Ignore
1714065344
Reply with quote  #2

1714065344
Report to moderator
Hades_
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
January 07, 2014, 01:06:29 AM
 #2

Has pensado en utilizar un cliente ligero, como multibit o electrum, para la gestión de las transacciones y meterlo por completo (como portable o autocontenida) en un volumen cifrado de truecrypt? así tendrías la usabilidad, ligereza y comodidad de estos clientes y la seguridad de truecrypt.

Como veo que tienes necesidades especiales de seguridad, y con el fin de evitar keyloggers cuando crees el volumen de truecrypt (sin extensión o con una extension falsa, como parece que ya haces), establece la forma de acceso en una contraseña mas un archivo que actúe como key file. El archivo llave puede ser cualquier otro que tengas en el pendrive, o en el pendrive con el SO live que utilizas.
Consigues que sea necesario no solo conocer la contraseña, sino saber que archivo es el que actúa como llave. Es mas, no se puede saber a priori si un archivo cifrado requiere de contraseña, key file, o ambas cosas. Así, aún en el caso que te capturen la contraseña con un keylogger, si no conocen que un archivo actúa de llave y cuál es, no podrán hacer nada.
Eso sí, ten en cuenta que si pierdes ese archivo pierdes el acceso al monedero, así que ten varias copias de ese archivo por varios sitios. Al fin y al cabo, quien va a pensar que el mp3 del waka waka de Shakira puede servir de llave para el monedero?

En un pendrive, o incluso en la nube (dropbox, drive, etc) tienes un volumen cifrado, digamos Boda_prima_Maria.avi. En ese contenedor guardas un cliente que se pueda ejecutar de forma portable.
Y en tu ordenador (o tu pendrive con SO live, para paranoicos) tienes instalado truecrypt y en algún lado perdido una foto, o un mp3 o lo que sea, que actúe como key file.

Sencillo, práctico y a la vez inexpugnable.
JotaStar
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
January 07, 2014, 11:52:57 AM
 #3

Hola,

magarto ojo que "Hades" te está diciendo como guardar tú dinero... veis la ironía? Tongue (Es una coña, para aquellos que no la pillen Hades era el Dios griego del infierno y maldad)

Yo lo que veo, y es mi humilde opinión, es que la gente con esto es muy paranoica. Os imagináis que aplicásemos la misma filosofía para, simplemente, llevar la cartera del dinero todos los días?

A fin de cuentas el dinero te lo pueden quitar y no por ello contratas a personal de seguridad (a no ser que seas millonario). Las tarjetas de crédito/débito tienen un ridículo PIN y aún así, a poca gente conocerás que le haya pasado algo con las tarjetas... (sí, siempre hay alguien  (el que tenía de PIN 1111))

No sé, como persona que se dedica al mundo de la informática, puedo decir y digo como es bien conocido que ningún sistema es del todo seguro. Pero creo que si cumples unos MÍNIMOS, por ejemplo contraseñas complejas, cifrados que ofrecen los propios sistemas, no usar la misma clave como decíais... Incluso lo de cambiarle el nombre a "Boda_de_mi_prima.avi", usar algo en la nube, respaldo en un USB por si acaso colapsa DropBox, Google, etc, pienso que es más que suficiente.

Pero cuanto más leo, más cerca veo que alguien contrate un bunker antinuclear para guardar un USB donde está todo encriptado, dentro de un LiveUSB, en el directorio más profundo existente y finalmente encontrar el vídeo de la boda de la prima...

No sé de cuantos BTC dispondréis, imagino que de muchos, pero creo que como empezaba bien el POST magarto, al final la complejidad es tal que en algún punto perderás el control.

Me parece muy interesante este POST, alguien da más? Hagan sus apuestas!

Salu2!
LuisCar
Legendary
*
Offline Offline

Activity: 1820
Merit: 1017



View Profile
January 07, 2014, 04:48:15 PM
 #4

Substituye en Tails, Armory por Electrum. Así en los pc conectados desde los que quieras enviar el pago, solamente tendrás que instalar Electrum que no necesita sincronizar. La clave pública maestra correspondiente a la cartera en Electrum es simplemente una cadena de texto larga. De todas formas no veo la necesidad de llevar por ahí constantemente un monedero (aunque esté cifrado) con todos tus ahorros en bitcoins, en vez de la fracción de ellos que suelas utilizar que además será mucho menor.

magarto (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
January 07, 2014, 10:40:45 PM
 #5

Muchas gracias chicos. Estoy de acuerdo en que nos convertimos en demasiado paranoicos, pero he leído de demasiados robos como para que mis humildes ahorros los pierda.
Por otro lado, Hades_, me parece muy acertado lo del archivo que actúe de clave de acceso al volumen encriptado aunque discrepo en lo de montarlo en un propio ordenador (y eso que puedo casi afirmar, tras muchas pruebas anti-hack, que mi Ubuntu es "bastante" seguro), porque siempre podemos tener un spyware o un logger de pantalla o de pulsaciones.

Mi idea, como indicaba, es hacer un sistema medianamente seguro en un pendrive y de modo offline y que sea también funcional y creo que he dado con la "solución".

- Montar un Live USB con Tails (buscar por internet tutoriales) en una partición y creamos otra para albergar copias de seguridad y descargamos Electrum en esa última siguiendo el siguiente enlace https://tails.boum.org/forum/Report:_the_electrum_bitcoin_client_in_tails/
- Arrancamos el Live USB. Como el sistema usa Tor, no podremos conectarnos al cliente ejecutando su lanzador #electrum aunque nos conectemos a internet. Ejecutamos Electrum (veremos que está offline) y creamos nuestro monedero.
- Hacemos un backup del monedero digital, de la semilla y de la clave maestra (para posteriormente tener uno de sólo lectura por si nos interesa en un futuro).
- Cerramos el programa, nos conectamos a internet y le abrimos de nuevo a través del siguiente comando ./electrum -s 56ckl5obj37gypcu.onion:50001:t -p socks5:localhost:9050
Desde aquí tenemos Electrum online

Para cualquier transacción, simplemente creamos la transación online, cerramos el programa, le abrimos sin conexión a internet, firmamos la transacción y cerramos el programa, nos conectamos de nuevo online (desde el mismo Live USB o con la copia que tenemos de sólo lectura en otro ordenador normal que usemos) y la difundimos.

No lo explico al detalle, porque requiere ciertos conocimientos y hay muchos tutoriales por internet.

Se me olvidaba, las copias de seguridad (y más de la semilla) siempre las meto en un rar con contraseña robusta, encriptado en otro archivo y hago copias de seguridad en la nube y en mi propio pendrive.
LuisCar
Legendary
*
Offline Offline

Activity: 1820
Merit: 1017



View Profile
January 08, 2014, 11:58:01 AM
Last edit: January 08, 2014, 12:08:11 PM by LuisCar
 #6

No veo la necesidad de que el USB que contiene la semilla tenga conexión a la red. Es mejor llevar dos, uno que contiene la semilla y que nunca se conecta, ni se conectará a internet (si es necesario desconectar el cable de red cuando se use éste se hace), y un segundo réplica del primero que solamente contiene la clave pública maestra de nuestra cartera y que será el que tiene conexión. La transacción a firmar o firmada se puede transferir entre los USB usando el disco duro del PC en el que se arranquen.

El problema radica, como comenté, en que debemos usar Armory online y este programa, el favorito de los criptoparanoicos, debe descargar el bloque entero, cosa que ocupa una burrada y ralentiza demasiado todo y no nos permite echar mano de nuestro monedero si estamos en otro lugar, como de viaje.
Por ello busco algo intermedio...

Ayer me enteré de que blockchain.info tiene una sección que permite la difusión de la transacción firmada.

https://blockchain.info/pushtx

magarto (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
January 08, 2014, 04:39:24 PM
 #7

Chapó!!!! Pedazo de aporte ese enlace... pues entonces ya tenemos todo... firma offline como comenté y online con Blockchain Smiley
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!