2012-03-26 5 views
1

Ich möchte in meinen REST-Webdiensten zwei Sicherheitsstufen implementieren.Sicherheit auf Nachrichtenebene in Rest Web-Services

  1. Transportschicht Für Punkt-zu-Punkt-Sicherheit (Transportschicht) i entschieden hat, HTTPS zu verwenden.

  2. Nachrichtenschicht (Ende zu Ende) Ich brauche die JSON-Daten (sehr empfindlich) in verschlüsselter Form, die nur vom beabsichtigten Benutzer entschlüsselt werden können.

Ich brauche ein paar Vorschläge, wie ich das umsetzen kann? Gibt es Webstandards wie WS-Security in SOAP, die wir verwenden können? Ich bin auf JSON Web Encryption (JWE) gestoßen, aber ich bin mir nicht sicher, ob es meinem Ziel entspricht.

+0

Warum genügt HTTPS nicht für beide Anforderungen? –

+0

Mit HTTPS wird die Nachricht nur während der Übertragung geschützt. Unser Ziel ist, dass die Nachrichtenverschlüsselung für jeden Benutzer, der die Anwendung verwendet, unterschiedlich ist und nur durch die beabsichtigte Verwendung entschlüsselt werden kann. – shashankaholic

+0

Wenn Sie Bibliothek Vorschläge suchen, müssen Sie sagen, welche Plattform Sie verwenden und das gleiche für Ihre Kunden. Offensichtlich müssen Sie es Ihren Kunden leicht machen, also müssen Sie sagen, was sie verwenden werden, um Ihren Service zu erreichen - nur ein Webbrowser? –

Antwort

1

Ein guter Ansatz ist, dass Amazon Web Services mit ihrer clientseitigen Datenverschlüsselung verwendet wird. Die documentation bietet einen guten Überblick über die Funktionsweise, Leistungsmerkmale, clientseitige Anforderungen und Implikationen wie Schlüsselverwaltung.

AWS Clientseitige Verschlüsselung verwendet Envelope-Verschlüsselung. Die Daten werden mit einer symmetrischen Verschlüsselung schnell verschlüsselt, und die Metadaten wie der symmetrische Schlüssel und die Nutzdaten werden mit einem langsameren, aber sichereren assymetrischen Schlüssel verschlüsselt.

Hoffe, dass hilft.

+0

Danke. Für einen Vorsprung. Schlüsselmanagement wird dabei eine große Herausforderung sein. Eine weitere Herausforderung sind die verschiedenen Plattformen (iOS, Android, HTML5), von denen REST-Webdienste im Gegensatz zu JAVA SDK für aws aufgerufen werden. Irgendwelche Ideen. – shashankaholic

+0

Hallo shashankaholic, ich habe keine Vorschläge über die Client-Verschlüsselung für eine Reihe von Plattformen und Sprachen, außer dass es eine große Aufgabe ist. Wenn Sie sich an etwas wie HTML5 als Ihre clientseitige Option halten können, haben Sie Ihre Probleme stark vereinfacht. –