Autenticación/Autorización de Ethereum

Últimamente he estado pensando en cómo integrar Ethereum con otros sistemas que no son de Ethereum. ¿Sería una mala idea importar un par de claves de Ethereum en una aplicación externa (móvil/de escritorio), que podría usarse para verificar la identidad de Ethereum/conducir transacciones?

Los usuarios se autenticarían usando su clave privada en respuesta a un desafío aleatorio generado (descifrarlo o firmarlo), o usarían la clave privada incrustada para firmar transacciones de Ethereum y enviarlas a algún sistema externo.

¿Estaría eso en línea con el espíritu y la idea general de Ethereum y/o representaría una amenaza para la seguridad de los usuarios?

EDITAR:

El valor de usar una aplicación de este tipo sería la capacidad de probar externamente la propiedad de una cuenta de Ethereum. Podría usarse para probar la propiedad de un activo o la ejecución de una transacción.

Sería posible integrar contratos inteligentes en sistemas existentes que no sean Ethereum.

Suena como en el espíritu de Ethereum. Generaría claves para usar solo desde el dispositivo móvil, dales suficiente éter para que funcionen.
Otra idea es pedirle al usuario que llame a una función de contrato que controlas desde su billetera con un número aleatorio dado, registras el evento y tu servidor verifica a partir de la exploración de blockchain que ocurrió el evento.
@MikkoOhtamaa pero esto requeriría gastar Ether, ¿verdad? ¿No sería suficiente firmar un desafío con tu clave privada? No estoy seguro de si dicho mecanismo no podría usarse para piratear la clave privada.
@Blady: El único gasto que debe hacer es pagar la gasolina por la tarifa de transacción. Los beneficios de este enfoque son que funciona con cualquier billetera Ethereum que ofrezca interacción con funciones de contrato inteligente: no necesita extraer la clave privada de su billetera para firmar o implementar una interfaz de usuario de firma con un propósito especial.
@Blady Tal mecanismo no se puede usar para piratear la clave privada, ya que el mecanismo es la base de toda la funcionalidad del contrato inteligente de Ethereum.
@MikkoOhtamaa mira mi edición para aclarar la intención
@Blady Puede probar la propiedad de la dirección (clave privada) haciendo una llamada de contrato inteligente desde su billetera. No se necesita una aplicación externa. Puede poner la lógica en la función de contrato inteligente.
@MikkoOhtamaa Estoy de acuerdo. Sin embargo, hay varias desventajas en comparación con el método de la aplicación. Primero los costos de la gasolina. En segundo lugar, tendría que esperar hasta que se extraiga el bloque y se active el evento, 13 segundos es mucho tiempo en computación. Finalmente, deberá crear manualmente una transacción. La aplicación Ann reemplazaría fácilmente este procedimiento.

Respuestas (1)

¿Estaría eso en línea con el espíritu y la idea general de Ethereum y/o representaría una amenaza para la seguridad de los usuarios?

Probar criptográficamente su identidad con Ethereum es un caso de uso que se ha discutido bastante . Firmar un mensaje predefinido, o un desafío aleatorio como usted sugiere, podría usarse de manera similar al 'iniciar sesión con Facebook' que ofrecen los sitios web de hoy, pero con el beneficio de que en este caso sería criptográficamente inviable falsificar las credenciales de alguien.

¿Sería una mala idea importar un par de claves de Ethereum en una aplicación externa (móvil/de escritorio), que podría usarse para verificar la identidad de Ethereum/conducir transacciones?

Tendría que construir una aplicación muy, muy segura para que las personas se sientan cómodas poniendo su clave privada en ella; sería una mala idea almacenar esa clave, y los más conscientes de la seguridad nunca cargarían su clave en una aplicación. (o incluso dispositivo) conectado a Internet. Hackear su aplicación sería un objetivo demasiado atractivo si alguno de sus usuarios está ingresando claves privadas asociadas con cuentas de alto valor. Es posible que pueda verificar las identidades haciendo que las personas firmen mensajes predefinidos con sus billeteras de hardware, etc., pero los dispositivos en red + claves privadas generalmente no son una combinación recomendada.