SSH como promiscuidad para HTTPS

2

Quiero construir algo, pero no lo he visto antes. Tal vez tienes?

Me gustaría crear una aplicación HTML5, que se sirva para navegadores y teléfonos modernos desde un microcomputador (por ejemplo, BBB ). El microordenador sería un punto de acceso abierto (no necesariamente conectado a Internet)

Los clientes podrían conectarse al AP y ver la aplicación. Piense en un EULA de clickwrap en un wifi AP, pero hizo cosas útiles y agradables para usted. Una aplicación.

La aplicación necesita una comunicación segura. Si uso HTTPS, entonces necesitaría un certificado SSL. ¿Para qué nombre de dominio? ¿Y uno para cada microordenador? ¿No podría compartirlos o serían "comprometidos" y revocados? Eso no parece funcionar o escalar. Los usuarios están capacitados para no aceptar certificados autofirmados. Es horrible UX trabajar contra y deshacer ese entrenamiento.

Realmente, solo necesito lo que SSH tiene:

  1. Configura un nuevo servidor con SSH, hace sus propias claves.
  2. ssh a un nuevo servidor y obtenga una nueva huella digital: "Esto es nuevo, ¿acepta?"
  3. ssh a un servidor conocido con una huella digital diferente: "¡Algo está mal!"

Esta pregunta habló sobre DANE / RFC 6698 . Pero eso requiere DNS (y una conexión a Internet), y no parece ser compatible con los navegadores.

Sólo quiero que sea tan bueno como ssh. No necesito identidad centralizada. Las versiones futuras administrarían la identidad al compartir huellas digitales entre los clientes.

En el paso 2 "huellas digitales nuevas", los navegadores modernos muestran una advertencia de miedo. Para los primeros usuarios eso está bien como un comienzo. Pero para los usuarios habituales, prefiero no asustarlos / desenterrarlos. Lo que realmente quiero es un llavero como known_hosts .

¿Alguien está pensando en eso para HTTPS y navegadores?

¡Gracias!

    
pregunta Michael Cole 28.06.2015 - 15:24
fuente

1 respuesta

2

Lo que describe es https con certificados autofirmados, es decir,

  
  1. Configura un nuevo servidor con SSH, hace sus propias claves.
  2.   

Configure un servidor https con un certificado autofirmado.

  
  1. ssh a un nuevo servidor y obtenga una nueva huella digital: "Esto es nuevo, ¿acepta?"
  2.   

Conéctate al nuevo servidor con el navegador. Recibes una advertencia pero puedes decirle al navegador que agregue una excepción.

  
  1. ssh a un servidor conocido con una huella digital diferente: "¡Algo está mal!"
  2.   

Conéctate de nuevo con el navegador. Le dirá que algo está mal porque la excepción ya no coincide. Si ha usado HSTS, entonces ni siquiera tendría una opción para anular.

En ambos casos, el segundo paso es el crítico, es decir, solo debe aceptar el certificado del servidor si ha verificado la huella digital y tiene la huella digital correcta de forma segura (tal vez al configurar el servidor ).

    
respondido por el Steffen Ullrich 28.06.2015 - 15:59
fuente

Lea otras preguntas en las etiquetas