Wie schützen Sie die session-id und cookies ohne SSL/HTTPS?
Als für wie ich Sie verstehe, wenn ich nicht die Verwendung von SSL/HTTPS, cookies und session-ids die Reise als Klartext über die Leitung. Ein attacher verwenden können, packet sniffer, um zu bekommen seine hand auf diese. Wie kann ich mich schützen, dies ohne Verwendung von SSL/HTTPS? Ich vermute, dass die Lösung darin besteht, etwas zu tun, sowohl auf der client-Seite und server-Seite zu kümmern. Mein server-Seite Java.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie so etwas wie die Secure Cookie Protocol (PDF) zum verschlüsseln der cookies vor dem versenden. Anstatt die session-id, können Sie mit der angeforderten IP-Adresse, oder einen anderen Bezeichner, der 100% spezifisch für die Benutzer im Allgemeinen.
So, um es einzurichten, Sie würde erstellen Sie einen server-Schlüssel
k
. Dann, Sie würde das cookie wie folgt:Dann können Sie entschlüsseln, die Sie später mithilfe der umgekehrte Prozess. Der HMAC überprüft, dass es nicht manipuliert wurde außerhalb Ihrer server (vorausgesetzt, dass
k
ist wirklich geheim)...Die Tatsache, dass es eine Sitzungs-id (SSL, am besten ist, aber die IP kann möglicherweise zu dienen) bedeutet, dass es immun gegen replay-Angriffe oder hijacking-Angriffe.
SSL wäre am besten, aber man kann sich ein ziemlich gutes system durch die Verwendung einer Verschlüsselung, wie diese. Das absolut beste wäre die Kombination dieser Regelung mit SSL, was dann verhindert, dass alle Arten von Gemeinheiten (einschließlich MITM Manipulation, nicht aber andere MITM-Angriffe)...
Kurze Antwort: keine Verschlüsselung bedeutet, dass Daten unverschlüsselt.
Längere Antwort: Wenn Sie möchten, verschlüsseln Sie Ihre HTML-Zeug (und ich gehören cookies und session-id als HTML-Zeug), Sie müssen Sie verschlüsseln Ihre Daten. Sie haben zwei Optionen: ein. HTTPS oder b. Rollen Sie Ihre eigenen Schema. Option b ist fast nie eine gute Idee.