2016-04-27 17 views
5

Ich habe eine Anwendung, die einen Ad-hoc-Webserver starten wird, um eine Web-Anwendung (nur über das lokale Wifi-Netzwerk verfügbar) mit Front-End/Back-End-Kommunikation über SignalR zu bedienen. Dies wird auf zufälligen Computern eingerichtet, so dass SSL nicht verfügbar ist, aber beide Seiten der Kommunikation können ein Kennwort out-of-band leicht teilen.SignalR mit symmetrischer Verschlüsselung

Wir gehen davon aus nicht, dass es keine böswillige Akteure auf dem WiFi-Netzwerk (in der Tat sein wird, wird dies in den Schulen verwendet werden, und ich würde für ein kluges Kind hassen zu „hacken“ es mit einigen sehr grundlegende Netzwerk-Snooping und erhalten vertrieben).

Ohne ssl, würde ich gerne alt-Schule gehen und die Person an jedem Ende eine Passphrase eingeben, und dann diese Passphrase verwenden, um die gesamte Kommunikation zwischen dem Client und dem Server zu verschlüsseln. Ich bin glücklich, AES oder irgendeinen etablierten symmetrischen Verschlüsselungsalgorithmus zu verwenden.

Das Problem, das ich habe, ist, dass ich keine Ahnung habe, wie man das in SignalR steckt. Genauer gesagt, habe ich C#/javascript encrypt(str, key) und Funktionen - wie sage ich SignalR, um diese sowohl auf dem Client-und den Server-Endpunkten zu verschlüsseln/entschlüsseln Nachrichten verwenden?

Um zu klären, wie es scheint, etwas Verwirrung zu sein; Das Teilen von Schlüsseln ist in diesem Fall kein Problem, das Integrieren eines beliebigen Verschlüsselungs-/Entschlüsselungsschemas in SignalR ist möglich. Jede Hilfe wird geschätzt

Antwort

1

Ich glaube nicht, dass Sie SignalR tatsächlich etwas mit Encrypt/Decrypt tun müssen. Sie können den Client die Verschlüsselung/Entschlüsselung mit Hilfe von Nur-Text-Routing-Informationen durchführen lassen, die die verschlüsselte Payload dorthin bringen können, wo sie benötigt wird.