Privacidad: Ataques a la privacidad no relacionados con cadena de bloques

Análisis de tráfico

Los nodos de Bitcoin se comunican entre si a través de una red de pares para transmitir las transacciones y bloques. Los nodos retransmiten estos paquetes a todas sus conexiones, lo que tiene buenas propiedades de privacidad debido a que un nodo conectado no conoce si los datos transmitidos se originan de sus pares o si el par está simplemente retransmitiendo.

Un adversario con capacidad de fisgar su conexión de Internet (como su proveedor de servicios de Internet, un proveedor de acceso WiFi, o un proveedor de VPN) puede ver los datos enviados y recibidos por su nodo. Esto revelaría que usted es un usuario de Bitcoin. Si el adversario identifica una transacción o bloque que se origina desde su nodo, que previamente no ha sido recibido por éste, entonces puede saber con cierto nivel de certeza que la transacción ha sido realizada por usted o que el bloque ha sido minado por usted. Mientras que haya conexiones de internet involucradas, el adversario podrá vincular la dirección IP con la información de bitcoin descubierta.

Un tipo de ataque Sybil se puede emplear para descubrir el origen de una transacción o bloque sin necesidad de que el adversario controle por completo la conexión de Internet de la víctima. Esto funciona a partir de que el atacante crea muchos nodos falsos de su propiedad en diferentes direcciones IP, los cuales se anuncian a si mismos de manera agresiva en un esfuerzo por atraer a que más nodos se conecten a estos. Esta alta conectividad ayuda al adversario a identificar el origen de transacciones y bloques recientemente transmitidos al rastrearlos conforme se propagan en la red. Algunas billeteras retransmiten periódicamente sus transacciones pendientes de confirmación con el objetivo de que se propaguen en la red y sean incorporadas en un bloque.

Algunas billeteras que no son nodos completos sino nodos ligeros funcionan de una manera diferente. Estos generalmente tienen propiedades de privacidad mucho peores, sin embargo, cuán peor depende de los detalles de cada billetera. Algunas billeteras ligeras se pueden conectar a su propio nodo completo y, por tanto, esto permite que su privacidad mejore al nivel de un nodo completo en lo que respecta al análisis de tráfico.

Billeteras custodiadas

Algunas billeteras son simplemente interfaces que se conectan un servidor de alguna empresa. Este tipo de billetera no tiene ningún nivel de privacidad, la empresa que lo opera puede visualizar todas las direcciones del usuario y sus transacciones, la mayor parte del tiempo ellos podrán ver también la dirección IP de los usuarios. Los usuarios no deben emplear billeteras web.

Artículo principal: Billeteras establecidas en la web

Historial de la billetera obtenida por terceros

Todas las billeteras bitcoin deben obtener de algún modo información acerca de su balance e historial, lo cual podría filtrar información acerca de qué direcciones y transacciones le corresponden.

Sitios de explorador de cadena de bloques

Los sitios de explorador de cadena de bloques son usados a menudo. Algunos usuarios incluso buscan sus propias transacciones en estos sitios web y los refrescan hasta que éstas obtengan 3 confirmaciones. Esto es muy inadecuado para la privacidad puesto que el sitio web puede vincular fácilmente la dirección IP del usuario con su transacción bitcoin (a menos que utilice Tor), y las consultas al sitio web revelarán que la transacción o dirección es de interés para alguien que tiene ciertos patrones de comportamiento.

Para obtener información acerca de su transacción es mucho mejor emplear el software de su propia billetera, no algún sitio web.

BIP 37

Muchas billeteras ligeras emplean el estándar BIP37, que tiene serias falencias de diseño que conducen a filtraciones de privacidad. Cualquier billetera que emplee BIP37 no ofrece ningún tipo de privacidad en absoluto y equivale a enviar todas las direcciones de la billetera a un servidor cualquiera. Este servidor puede fácilmente espiar en la billetera. Las lecciones del fallo de BIP37 pueden ser útiles cuando se diseñe y comprenda otras soluciones de privacidad, especialmente en lo que concierne al tema de fusión de datos, que se da al combinar filtraciones bloom de BIP37 con filtraciones de información de cadena de bloques.

Artículo principal: Problemas de privacidad de BIP37

Servidores públicos Electrum

Electrum es un software de billetera popular que funciona al conectarse a servidores de propósito especial. Estos servidores reciben hashes de las direcciones bitcoin en la billetera y responden con información de transacción. La billetera Electrum es rápida y de bajo consumo, sin embargo, se conecta de manera predeterminada a estos servidores los cuales pueden espiar fácilmente al usuario. Además de Electrum otros software también emplean los servidores públicos de Electrum. Al 2019 representa una mejor y más rápida alternativa para billeteras ligeras que BIP37.

Los servidores solo pueden conocer los hashes de las direcciones en lugar de las propias direcciones, en la práctica estos solo conocen la dirección verdadera y sus transacciones solo si han sido empleada en la cadena de bloques al menos una vez.

No es muy difícil ejecutar su propio servidor Electrum e instruir a su billetera a que utilice únicamente éste. Esto devuelve a Electrum las mismas propiedades de privacidad y seguridad que un nodo completo en donde nadie puede ver cuales direcciones o transacciones son de interés para la billetera. Entonces Electrum se convierte en una billetera de nodo completo.

Espionaje de comunicaciones

Una filtración de privacidad simple pero efectiva. Alicia entrega a Bob una de sus direcciones para recibir un pago, pero la comunicación ha sido espiada por Eva que ha identificado la dirección y ahora conoce que ésta pertenece a Alicia. La solución es cifrar las direcciones cuando corresponda o emplear otra forma que permita de alguna manera ocultarlas de un adversario de acuerdo a el modelo de amenaza.

Algunas veces el espionaje puede ser trivial, por ejemplo algunos usuarios de foros publican una dirección bitcoin de donación en su sitio web, firma del foro, perfil, página de Twitter, etc. desde donde los motores de búsqueda la pueden obtener. En el ejemplo de la compra del diario chino de forma no anónima de la sección de introducción, el que su dirección sea visible públicamente en la firma del foro ha sido una parte crucial en su identificación. La solución es mostrar a cada donador potencial una nueva dirección, por ejemplo, configurando un servidor web que entregue una dirección única a cada visitante.

Divulgar datos cuando efectúa transacciones con bitcoin

Algunos usuarios pueden divulgar datos personales voluntariamente, o ser requeridos de hacerlo, por la entidad con la que interactúan. Por ejemplo, muchas casas de cambio solicitan a los usuarios el pasar por validaciones anti lavado de activos (LAFT) y de conocimiento del cliente (KYC), lo cual requiere que los usuarios revelen todo tipo de información personal invasora como su nombre real, domicilio, ocupación e ingresos. Toda esta información entonces se vincula con las direcciones bitcoin que se utilizan posteriormente.

Cuando compra bienes en línea con bitcoin se necesita una dirección de entrega. Esto vincula la transacción bitcoin con la dirección de entrega. Lo mismo se aplica a la dirección IP del usuario (salvo cuando se emplea tecnología de privacidad como Tor).

Forense digital

El software de billetera a menudo almacena la información que necesita para operar en el disco duro del ordenador en donde se ejecuta. Si un adversario tiene acceso a este disco puede extraer las direcciones y transacciones bitcoin que se conoce están vinculadas con el propietario de tal disco. Este mismo disco podría contener otra información personal (como una copia digital del documento de identidad). La existencia del forense digital es una razón por la que todas las buenas billeteras bitcoin cifran los ficheros de las billeteras, aunque esto se puede eludir si se emplea una clave de cifrado débil.

Por ejemplo, si usted tiene una billetera bitcoin instalada en su PC y entrega el ordenador a una empresa para que lo repare, entonces el operador de la tienda podría encontrar el fichero de la billetera y registrar todas sus transacciones. Otros ejemplos podrían ser cuando se desecha un disco duro viejo. Otro software instalado en el mismo ordenador (como un malware) también puede leer el disco o la RAM para espiar las transacciones bitcoin efectuadas por el usuario.

Para preservar su privacidad no deje datos en su ordenador a disposición de otros. Cómo hacerlo exactamente depende de su modelo de amenaza. La protección física y el cifrado son opciones, como también lo es el emplear sistemas operativos especiales como Tails OS, que no lee o escribe desde el disco duro sino que solo utiliza la RAM, y luego elimina todos los datos cuando se apaga el ordenador.

Traducción artículo: Privacy en el wiki de Bitcoin.
https://en.bitcoin.it/wiki/Privacy#Non-blockchain_attacks_on_privacy

Parte 1: Privacidad: Introducción
Parte 2: Privacidad: Ataques de cadena de bloques a la privacidad