Frage

Ich bin auf der Suche nach einem vorhandenen HTTP-Protokoll für die Authentifizierung zu sichern, aber nicht die Nutzlast, die folgt. Ich möchte der Server pro Benutzer den Benutzernamen, das Passwort gehasht und anderes Salz speichern.

HTTP-Digest-Authentifizierung nicht diese Anforderungen, da alle Konten das gleiche Salz verwenden. SSL schlägt fehl, da sie die gesamte Verbindung verschlüsselt.

Edited hinzufügen:

Dies ist für einen Desktop-Client im Gespräch mit einem Web-Service (kein Browser beteiligt)

War es hilfreich?

Lösung

Warum hat nicht nur Ihren Authentifizierungsmechanismus von SSL und dann nach vorne auf den Rest der Anwendung geschützt, die unter normaler HTTP läuft?

Andere Tipps

Das beliebte Schema ist Anmeldeformular durch SSL geschützt haben, während Rest der Seite SSL nicht verwenden. Siehe zum Beispiel beliebten Social-Networking-Sites.

Wie wäre es OpenID? Gibt es einen Grund, die Sie haben Authentifizierungsinformationen speichern?

Edited hinzufügen

Leider nicht fangen, dass es sich um eine Desktop-Anwendung ist. Wie wäre es OAuth ?

Gibt es eine Möglichkeit, dass Sie die ursprüngliche Anforderung URL-Struktur könnte den Benutzer anzuzeigen? Dann könnte der Server mit einem anderen anderen Bereich (der als „Salz“) für jeden Benutzer in der HTTP-Antwort-Authentifizierungsantwort verdauen. Zum Beispiel Anfrage URLs der Form http://user.y.com/service oder http://www.y.com/user/service würde in einer Challenge-Response führen wie:

WWW-Authenticate: Digest realm="user@y.com", nonce="oqa9hvq49krprkphtqc"

Können Sie erklären, was die „keine Verschlüsselung“ Mandat fährt? Wenn Sie unterliegen Man-in-the-Middle-Angriffe sind, müssen Sie die Integrität der gesamten Anforderung schützen. Es wäre SSL sehr hilfreich sein. Wenn Sie absolut keine Verschlüsselung haben, SSL würde eine unverschlüsselte Cipher Suite akzeptabel verwenden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top