Hat die TLS-Gewährleistung der Nachrichtenintegrität und Vertraulichkeit der Daten-übertragung in einem RESTful Java enterprise
Ich möchte web-service-Sicherheit nach OWASP Web-Service-Sicherheit. Dabei stolperte ich über die zwei Punkte:
Bisher gibt es nur einen RESTful-Dienst, die direkt aufgerufen werden können, die von einem client. Für jeden request muss der client zur Authentifizierung des Servers. Alle Kommunikation über gesicherte TLS. Ich bin jetzt unsicher Message Integrity
da verstehe ich nicht den Satz:
Bei der Verwendung von public-key-Kryptographie, Verschlüsselung garantiert Vertraulichkeit, aber es garantiert nicht die Integrität, da die
Empfänger den öffentlichen Schlüssel öffentlich ist. Aus dem gleichen Grund, Verschlüsselung
nicht sicher, dass die Identität des Absenders.
Ist es auch erforderlich, dass die Daten signiert wurde dem client, um die Nachricht Integrität gewährleistet ist? TLS ist nur Punkt-zu-Punkt -, was über Proxys?
Über Message Confidentiality
, Verstand ich es wie folgt.
- TLS verwenden, um sicherzustellen, Vertraulichkeit der Nachrichten über den Draht.
- Verwenden Sie eine symmetrische Verschlüsselung zum verschlüsseln von Daten, die übertragen werden.
- Die verschlüsselten Daten erhalten, gespeichert in der Datenbank.
Hast, verstehe ich das richtig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der TLS-Spezifikation:
So, ja, TLS wird Ihnen mit Integrität und Vertraulichkeit der Nachricht während des Transports, vorausgesetzt, es wurde richtig eingesetzt.
Insbesondere muss der client das Zertifikat überprüfen, um sicherzustellen, dass die Kommunikation mit dem richtigen server (bestätigt, dass das Zertifikat echt ist und die durch eine Vertrauenswürdige Partei, und gab den host-Namen-es soll Kontakt).
TLS wird die Vertraulichkeit durch Verschlüsselung. (Sie müssen verwenden Sie eine geeignete cipher-suite, insbesondere nicht um eine anonyme Chiffre-suite oder einer cipher-suite-null-Verschlüsselung), aber das ist immer standardmäßig der Fall.)
Wenn Sie möchten, verschlüsseln Sie die Daten in Ihrer Datenbank, das ist ein anderes problem. TLS stellt nur Sie die Integrität und die Vertraulichkeit während des Transports. Sobald es verarbeitet, indem Sie Ihre web-Anwendung, es ist entschlüsselt.
HTTP-proxies nur relais der TLS-Verkehr als-ist, ohne hineinzusehen oder zu ändern. (Einige proxy-Server abfangen kann der Verkehr, aber das Zertifikat-Verifizierung würde scheitern, wenn Sie vergessen haben, überprüfen Sie das Zertifikat.)
Ja.
Irrelevant. Antwort ist immer noch ja.
Irrelevant. TLS ist nicht public-key-Kryptographie. Ich wirklich nicht sehen, der Punkt, der diese Bemerkung in diesem Zusammenhang, aber Sie sind nicht korrekt. Keine form der Verschlüsselung allein garantiert entweder Integrität oder Identität: Sie müssen zusätzliche Massnahmen; und der Schlüssel ist öffentlich, ist irrelevant, wie gut.
Nicht. Eine sichere HMAC wird genauso gut, und TLS verwendet eine von denen. TLS verwendet digitale Signaturen während der Authentifizierungsphase.
Proxys werden Vertrauenswürdige TLS-Endpunkte, die von Ihrer eigenen oder anderen transparenten byte-passing-proxies, die Erhaltung der Eigenschaften von TLS zwischen Gleichaltrigen als Endpunkte.
Richtig.
TLS funktioniert.
Nicht. Die verschlüsselten Daten bekommt descrypted durch die peer aus dem Netz. Der peer kann re-verschlüsselt an die Datenbank, oder die Datenbank kann es tun, aber das ist ein anderes Thema.