Sind REST-Anforderungsheader mit SSL verschlüsselt?
Ich bin die Entwicklung einer client - /server-Anwendung die Kommunikation über rest. Einige benutzerdefinierte request-Daten werden in den header der Anforderung. Der server sendet die Anfrage und der empfangende server ein SSL - Zertifikat, wird die Header verschlüsselt, oder nur der Inhalt?
InformationsquelleAutor der Frage Adam Hopkinson | 2008-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
SSL verschlüsselt die gesamte Kommunikation Weg vom client zum server und zurück, also ja - Header werden verschlüsselt.
Durch die Art und Weise, wenn Sie bei der Entwicklung von vernetzten Anwendungen und kümmern uns um Datensicherheit, die am wenigsten Sie tun sollten, Lesen Sie ein Buch wie "Practical Cryptography", von Niels Ferguson und Bruce Schneier, und wahrscheinlich noch Lesen, das ist mehr konzentrierte sich auf die Sicherheit von web-Anwendungen wäre eine gute Idee. Wenn ich darf machen Sie eine Beobachtung - und bitte, ich meine nicht, dass als eine persönliche Kritik - deine Frage deutet auf einen grundlegenden Mangel an Verständnis, sehr einfache web-security-Technologien, und das ist nie ein gutes Zeichen.
Auch, es ist nie eine schlechte Idee, um zu bestätigen, dass die Daten wird davon ausgegangen, dass verschlüsselt ist, ist ja verschlüsselt. Können Sie ein Netzwerk-analyzer überwachen Sie den Datenverkehr auf der Leitung und achten Sie auf alles sensibler wird in Klartext gesendet. Ich habe Wireshark, um dies zu tun, bevor - die Ergebnisse können überraschend sein, manchmal.
InformationsquelleAutor der Antwort Ori Pessach
Solange Sie kommunizieren, in den SSL-tunnel, alles geschickt zwischen dem server und dem client verschlüsselt werden. Die Verschlüsselung erfolgt, bevor Daten gesendet oder empfangen werden.
InformationsquelleAutor der Antwort zigdon
Beide Kopfzeilen und-Inhalte sind verschlüsselt.
InformationsquelleAutor der Antwort cjm
Sie scheinen zu denken, dass REST ein eindeutiges Protokoll.
REST ist kein Protokoll. Es ist ein design-Stil für HTTP-basierte Applikationen.
So, Ihr schreibt eine HTTP-Anwendung. Sind die Header verschlüsselt? Ja, wenn du dich über HTTPS (HTTP über SSL) - Protokoll anstelle von plain-HTTP.
Zertifikate auf beiden Seiten ist nicht direkt relevant für deine Frage. SSL-Zertifikate für die Authentifizierung verwendet werden. Sie helfen bei der Erkennung von man-in-the-middle-Angriffe wie möglich mit DNS-cache-poisoning.
InformationsquelleAutor der Antwort ddaa
Dass ein Zertifikat ist nicht genug, müssen Sie in der Konfiguration der web-server zum verschlüsseln der verbindungen (das heißt, das Zertifikat zu verwenden) für die Domäne oder einen virtuellen host. Darüber hinaus denke ich, würden Sie brauchen nur ein einziges Zertifikat, Antworten auf Anfragen immer noch verschlüsselt.
Und ja, der HTTP-Header sind verschlüsselt, ebenso wie die Daten.
InformationsquelleAutor der Antwort Vinko Vrsalovic
SSL..oder eher HTTPS (HTTP über SSL) schickt alle HTTP-Inhalte über SSL und HTTP content und Header sind in der Tat die gleiche Sache bedeutet dies, dass der Header auch verschlüsselt.
Zu sehen, wie GET und POST-Daten gesendet über HTTP-Header, dann es macht nur dann Sinn, wenn dem senden von Daten sicher, Sie würden nicht wollen, nur den response-code oder Inhalt verschlüsselt werden.
InformationsquelleAutor der Antwort
Die anderen Antworten sind richtig, dass die Header sind in der Tat verschlüsselt, zusammen mit dem Körper, bei der Verwendung von SSL. Aber Bedenken Sie, dass die URL, die Abfrage-Parameter, ist nie verschlüsselt. Also seien Sie vorsichtig und stellen Sie niemals vertrauliche Informationen in einer URL-query-Parameter.
Update: wie @blowdart wies darauf hin, unten, das ist falsch. Siehe den Kommentar unten.
InformationsquelleAutor der Antwort Avi Flax
Nicht alles ist verschlüsselt: die request-query-string ist nicht verschlüsselt. Glauben Sie mir, ich habe gesehen, Anfragen wie diese:
https://mydomain.com/authenticate?user=username&Passwort=MyStrongPasswordSentInTheClear
Bitte nicht, legen Sie sensible Daten als Parameter im query-string.
InformationsquelleAutor der Antwort Jacob Toronto