El lado del cliente generado por la billetera de papel y fuera de la red no es necesariamente seguro [duplicado]

Uno pensaría que si una persona generara una clave privada del lado del cliente y nunca expusiera esa clave a Internet, estaría segura. Sin embargo, el riesgo es que el código de generación de la billetera de papel se vea comprometido y proporcione a la víctima claves privadas que el atacante ya conoce. ¿Cuál es la mejor manera de mitigar este riesgo?

Respuestas (1)

Puede generar los bits aleatorios usted mismo para eliminar posibles debilidades / puertas traseras en un generador de billetera fuera de línea. Por ejemplo, tira un dado 100 veces y escribe la secuencia, y usa el hash SHA256 como tu clave privada. O si no tienes un dado, lanzar una moneda 256 veces también está bien.

¿Cómo generar los bits usted mismo "elimina las puertas traseras"? Todavía necesita usar el software de otra persona, ¿verdad?
Nunca puede estar 100% seguro a menos que realice la multiplicación de puntos EC y SHA256+RIPEMD a mano. Incluso el compilador y la CPU pueden tener puertas traseras. Pero la debilidad de RNG es más común y explotable.
¿La debilidad de RNG es la más común? ¿Puede corroborar que ese es el mayor riesgo? Me parece que la mayoría de las pérdidas no se deben a la debilidad de RNG a pesar de que hubo un problema con Android RNG. Eso fue reparado rápidamente. Me parece que la mayoría de las pérdidas son simples robos donde las personas no tienen control de sus claves privadas. Las recientes fallas en el intercambio son un buen ejemplo. Grandes cantidades se han perdido allí.
@Brad: nunca dije que la debilidad de RNG es más común en general. Pero es la puerta trasera más plausible en el caso particular del "lado del cliente generado por la billetera de papel y fuera de la red" porque no hay otro canal concebible a través del cual se pueda filtrar la información. Sus ejemplos con respecto a las fallas de intercambio son irrelevantes.
Mire, el generador de billetera fuera de línea se trata de realizar algunas funciones bien conocidas, como la multiplicación de puntos EC, el hash SHA256 + RIPEMD y la codificación Base58Check. Hay toneladas de implementaciones de código abierto de referencia que se pueden comparar. Excepto por la debilidad de RNG, un error en la implementación del software en el peor de los casos simplemente haría que la clave generada no se pueda usar.