Die Verschlüsselung von Daten für RESTful services mit Jersey
Ich bin mit Jersey für meine RESTful-web-service-Entwicklung. Ich habe bereits konfigurierte SSL für Punkt-zu-Punkt Sicherheit...aber ich brauche einige Sicherheit auf Anwendungsebene (Ende-zu-Ende), für die ich denke, die Verschlüsselung ist der einzige Weg zu gehen. Es sind noch ein paar Verschlüsselungs-features, in-built mit Jersey für die Verschlüsselung der XML - /JSON-sende ich zu meinen Kunden ? Oder vielleicht ein third-party-Java-filter, die helfen können Sie mir in diesem Fall ??
Wenn ich nichts bekommen, ich denke ich kann schreiben, code für die Verschlüsselung der Objekte vor dem serialisieren in XML/JSON über Jersey...aber ich denke, das wäre schmerzhaft und weit weniger effizient.
Irgendwelche Gedanken würde geschätzt werden, über dieses Thema. Ich möchte, dass meine RESTful-services so sicher wie die von den SOAP WS-Security-standards.
Vielen Dank !
- Sie sind also die Verschlüsselung der Daten auf der Leitung mit SSL, aber Sie wollen auch, um die Daten zu verschlüsseln, die Sie gehen zu verschlüsseln? Was ist das problem, das Sie versuchen zu lösen indem ich das Tue? Enthält Ihre Anwendung benötigen Zugriff auf die Daten in der XML - /JSON-Nutzlasten oder nicht?
- Ich bin auch auf der Suche nach Sicherheit auf Anwendungsebene ist nicht nur der transport level security. Von was ich gelesen haben über das Internet, SSL bieten keine Ende-zu-Ende-Sicherheit (app. Ebene) : serverfault.com/questions/277644/...
- Ich verstehe immer noch nicht was du meinst mit "application-level-security". Sind Sie versuchen zu verhindern, dass snooping Ihrer Datenbanken? Ihre Protokolle? Ihre Prozesse?
- Produzierte ich den Begriff hier als ich sah, wie über das web ! Ich brauche nur die Daten zu sichern, die ich geschickt in einer Weise, dass nur die bestimmte "Anwendung" (und nicht "das system") ist in der Lage, die Daten verwenden, mein client sendet. Dies ist, weil ich Sie brauche um das weitergeben dieser Daten zwischen vielen Vermittlern, die im Mai/kein SSL verwenden.
- Also, was Sie versuchen zu tun, ist zu verhindern, dass snooping Ihre Daten, wie bewegt es sich zwischen Ihrer Anwendung, Schichten, richtig? Dann müssen Sie darauf bestehen, dass SSL verwendet werden, um die Daten zu verschlüsseln, wie es bewegt sich zwischen jeder Ebene der Anwendung. Wenn Sie nicht machen dies geschehen, werden Sie am Ende re-Implementierung von SSL-Funktionen in Ihre Anwendung, so dass es komplexer und schwieriger zu pflegen. Es wäre viel besser durchzusetzen, um einen sicheren transport zwischen den einzelnen Schichten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum SSL allein nicht Ihren Bedürfnissen entsprechen (nicht "Punkt zu Punkt" das gleiche wie "Ende zu Ende"?) aber die Keyczar encryption library (open Source von Google) sieht sehr einfach zu bedienen.
Wenn Sie dass alles auf die URL der RESTful-Dienst, dann führen Sie wahrscheinlich in ein limit, wie lange die url sein kann, wenn Sie Sie verschlüsseln.
Neige ich zum BouncyCastle (http://www.bouncycastle.org/) für meine Verschlüsselung, aber das ist, weil Sie die Unterstützung der Java-und der .NET.
Aber, warum sind Sie besorgt, dass die SSL-Verbindung kann nicht genug Sicherheit?
Wenn die Sorge ist, dass Sie wollen, um zu überprüfen, denen geschickt, die es dann möchten Sie vielleicht, um einfach nur den Absender erstellen einer digitalen Signatur und anfügen, dass, so dass Sie überprüfen können, Ihre Unterschrift.