¿Cómo puedo asegurarles a mis consumidores que en realidad le están pagando a la persona correcta? (prevenir ataques MITM)

Hay muchos ataques a nivel de red que le dan a alguien Man in the Middle la capacidad de reemplazar mi dirección de Bitcoin con la suya.

Dado que no hay forma de cancelar una transacción, y la mejor práctica es generar una dirección única por remitente...

  • ¿Cómo puedo asegurarles a mis consumidores que en realidad le están pagando a la persona correcta?

Quiero evitar la situación en la que un remitente realmente envió el pago a un falsificador (que no se puede cancelar) y todavía tengo una dirección dinámica a la que las personas pueden enviar dinero según el remitente.

Aquí hay una pregunta similar, pero no se enfoca en la seguridad de comunicar la dirección del comerciante (anónimo) al destinatario (anónimo).

Respuestas (3)

Hay mucha evidencia de que los ataques de hombre en el medio son comunes , y esta es una buena pregunta para que la comunidad de Bitcoin la revise.

Al publicar la dirección de Bitcoin en una página web, utilizará una dirección estática (una dirección para muchos remitentes) o generará una nueva dirección para ese usuario en particular.

Independientemente de la frecuencia de generación de una nueva dirección, la conclusión es que si envía su dirección de Bitcoin a través de HTTP, necesita proteger la infraestructura DNS, SSL y asegurarse de que su sitio esté protegido contra ataques XSS basados ​​en HTTP, CSRF.

Aquí hay algunos enlaces para comenzar a proteger HTTP:

Seguridad de DNS ultramoderna

  • Utilice DNSSec con un dominio raíz de confianza que admita DNSSEC en la raíz (.com, .org, etc.)
  • Use TLSA RFC6698 para autopublicar claves SSL en DNS

Para clientes de TdR

Bueno, si te preocupan los ataques de un hombre en el medio, eso significa que hay alguien que puede capturar la comunicación entre dos personas y cambiarla sobre la marcha. Si la amenaza es constante, realmente no puedes hacer mucho. Sin embargo, por lo general, un atacante no tendrá acceso a todos sus canales de comunicación. Podría, por ejemplo, poner su dirección de Bitcoin en algún sitio web seguro, incrustarla en la firma de un foro o, al menos, proporcionar a sus clientes su clave pública PGP para evitar que se modifiquen sus mensajes.

Generalmente, el ataque no es específico de Bitcoin. Es solo una cuestión de obtener cualquier información de forma segura entre dos partes. Se vuelve cada vez más complicado en función de las restricciones que está aplicando: si el atacante puede alterar ambos lados de la comunicación, ¿hay algún canal seguro, algún secreto compartido entre las partes o si saben algo el uno del otro?

En general, asegure su computadora, asegure la forma en que se comunica con su cliente, y esto se encargará de la mayoría de los ataques. Si su computadora no es lo suficientemente segura, sus Bitcoins podrían perderse de todos modos...

Gavin Andresen escribió : "Necesitamos un protocolo de pago con no repudio incorporado".

Propone un método en el que la clave privada de una dirección se convierte en la autoridad para firmar solicitudes de pago para una entidad.

Alternativamente, se podría construir una capa externa a bitcoin usando GPG.

Este hilo aborda la pregunta y las posibles soluciones:

Después de leer la pregunta, inmediatamente pensé en su hilo y en el proyecto de Gavin, pero solo permite probar que ambas partes acordaron la dirección de pago antes de que ocurriera la transacción. ¿Podría explicar cómo esta solución es mejor que SSL si el proceso es secuestrado desde el principio por MITM?
¿Qué es mejor que SSL? TLS 3.2 con TLSA (RFC6698) más DNSSec ~o~ una dirección ToR .onion. Bitcoin estaría apoyando las mejores prácticas actuales si hiciera esto.
@Serith, no estoy seguro de lo que quieres decir con "ambos lados están de acuerdo". Si la solicitud incluye un mensaje firmado, ese es un lado que presenta una dirección y el remitente elige verificar o enviar sin verificar. Pero en un momento posterior, si el remitente afirma no haber recibido los fondos, el remitente tiene el mensaje firmado para confirmar que los fondos se enviaron a la dirección solicitada.