5 Stimmen

WCF netTCPBinding - Ist Transportverschlüsselung genug?

Ich habe einen WCF-Dienst, der einige sensible Daten verarbeitet. Ich möchte sicherstellen, dass diese Daten nicht offengelegt werden, und deshalb schaue ich mir netTCPBinding an... vor allem, weil ich das Netzwerk, über das er läuft, kontrollieren kann und die Leistung eine hohe Priorität hat.

Ich weiß, dass es zwei Bereiche gibt, die verschlüsselt werden können: die Transportebene und die Nachrichtenebene. Ich beabsichtige, Zertifikate zur Verschlüsselung auf der Transportebene zu verwenden, die meines Wissens TLS über TCP nutzt.

Die anrufenden Kunden gehören ebenfalls mir, so dass ich die Kontrolle über die Transportebene habe. Da ich keine Änderungen auf der Transportebene erwarte, muss ich mich mit der Verschlüsselung auf Nachrichtenebene befassen? Sie scheint unnötig, es sei denn, ich möchte die Flexibilität haben, den Transport zu ändern.

5voto

hurst Punkte 1700

Die Verschlüsselung auf Nachrichtenebene wird benötigt, wenn Sie keine Kontrolle über einen Vermittler haben. Zwischengeschaltete Dienste müssen in der Lage sein, die Soap-Header zu ändern und könnten Ihre sensiblen Daten zu böswilligen Zwecken ausspähen. Wenn Sie jedoch alles vom ersten Absender bis zum letzten Empfänger kontrollieren, brauchen Sie keine Verschlüsselung auf dieser Ebene.

Ich arbeite an einem Projekt, das netTCP für interne Dienste verwendet, und ich kann bestätigen, dass es gut funktioniert.

4voto

tomasr Punkte 13533

Generell gilt: Solange es sich um Punkt-zu-Punkt-Verbindungen handelt und die Zertifikate auf beiden Seiten überprüft werden (insbesondere bei gegenseitiger Authentifizierung), könnte die Sicherheit auf Transportebene ausreichen. Die Überprüfung der Zertifikate ist nützlich, um sicherzustellen, dass niemand den Server verdrängt (oder dass sich kein Man-in-the-Middle in den Weg stellt).

Sicherheit auf Nachrichtenebene ist dann sinnvoller, wenn Inhalte signiert werden müssen oder eine Nichtabstreitbarkeit erforderlich ist, und vor allem, wenn zwischen Client und Server Vermittler (Router) stehen, die sicherstellen sollen, dass sie die Nachricht weiterleiten können, ohne deren Inhalt zu sehen.

2voto

Jonas Follesø Punkte 6343

Ich denke, Sie haben Recht. Wenn Sie nicht vorhaben, das Ganze auf einen anderen Transportmechanismus zu verlagern, sehe ich nicht, warum Sie sowohl Nachrichten- als auch Transportverschlüsselung benötigen. Wenn die Leistung ein Schlüsselfaktor ist, spart das Überspringen der Nachrichtenverschlüsselung etwas Leistung, da Sie nicht jede Nachricht beim Senden/Empfangen schützen müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X