Frage

Wir sind dabei, unser Gesundheitsprodukt (Hitech Zertifizierung) zu zertifizieren. Eines der Kriterien des Zertifizierungsprozesses ist, dass unser Produkt der Verwendung von „Hashing“ in der Lage sein soll, wenn Patientendaten über das Netzwerk gesendet werden. Unser Produkt ist ein Thick-Client, der direkt mit SQL Server 2005-Datenbank verbindet. Wenn wir also Patienteninformationen vom Client an dem DB-Speichervorgang senden, sollte es „Hashing“ verwenden, um sicherzustellen, dass die Informationen nicht während der Übertragung geändert wurden.

Nun planen wir unsere Kunden auf den SQL-Server mit SSL gesicherter Verbindung zu verbinden. Wenn ich über die SSL-Protokoll zu lesen, scheint es wie SSL verwendet Hashing intern. Also, wenn das ist wahr, konnte ich automatisch die Hashing-Anforderung erfüllen, indem SSL-Verbindung zwischen Client und SQL SVR verwendet wird.

Also hier sind meine Fragen

  • Wenn Daten über eine SSL-Verbindung übertragen wird, wird jede Nachricht mit einem Hash intern angebracht ist, so dass das SSL-Protokoll überprüft, dass die Daten modifiziert worden hasnt?
  • Does SSL verwenden, um den Hashing-Mechanismus nur während der ersten Schritte seiner Handshake? So, nachdem der Handshake abgeschlossen ist, ist es nur verschlüsselt / entschlüsselt Daten ohne Hashing-Mechanismus beteiligt?
  • Wenn SSL einen Hash für jede Nachricht tut anhängen, ist der "Public-Key" verwendet, um den Hash zu erstellen?
War es hilfreich?

Lösung

  

Wenn Daten über eine SSL-Verbindung übertragen wird, wird jede Nachricht mit einem Hash intern angebracht ist, so dass das SSL-Protokoll überprüft, dass die Daten modifiziert worden hasnt?

Ja. Es hängt einen Schlüssel MAC zu jedem TLS Datensatz ausgetauscht werden.

  

Does SSL verwenden, um den Hashing-Mechanismus nur während der ersten Schritte seiner Handshake?

Nein, es tritt in der gesamten.

  

Wenn SSL einen Hash für jede Nachricht tut anhängen, ist der "Public-Key" verwendet, um den Hash zu erstellen?

Nein. Ein gemeinsames Geheimnis wird verwendet, um den Hash zu erstellen.

Siehe RFC2246 .

Andere Tipps

Auch wenn SSL-Hashing verwendet, das wird nur der Teil der Übertragung, dass SSL Griffe gewährleisten. Es gibt immer noch eine Lücke an jedem Ende zwischen der Client-Anwendung und der Netzwerkverbindung und zwischen dem Netzanschluss und der Server-Anwendung.

Sie benötigen einen Hash der Daten zu erstellen, die aus dem Innern der Client-Anwendung mit den Daten der ganzen Weg reisen nach innerhalb der Server-Anwendung.

Es hängt davon ab. Die beiden Verhandlungsparteien können das Schutzniveau verhandeln und die verwendeten Algorithmen. Der häufigste Fall ist, dass die Verhandlungen Anwendungen TLS , nicht SSL, Nachricht Privatsphäre angefordert wird (dh. Verschlüsselung) und Manipulationsschutz beantragt wird (dh. Signing). TLS Anwendungen pro Hashing-Nachricht basierend auf HMAC finden Sie in Kapitel 5 von RFC2246 . SSL verwendet einen MAC , die etwas schwächer als ein HMAC ist (ein MAC enthält kein Geheimnis seine Digest).

Bei einer 10000 ft Führungsebene Ansicht, die Antwort ist ‚Ja, Hashes SSL jede Nachricht‘. Erzwingen von SSL-Verschlüsselung auf dem SQL Server-Client-Protokoll usualy in konformen Implementierungen erforderlich. Für weitere Informationen und Beratung Überprüfung der Webcast und Whitepaper unter SQL Server-Konformität .

SSL ist stärker als Hashing. Es sollte Ihre Anforderung erfüllen.

Ich werde deutlicher:

SSL verschlüsselt alle Daten, die übertragen wird. Dies bedeutet, dass die Daten nicht gelesen werden, und wenn es geändert wird, nicht entschlüsselt werden kann. SSL somit verhindert, dass Sie Traufe Tropfer und von Änderungen.

Die Forderung wurde mit der Erwartung geschrieben, dass die meisten Kommunikation im Klartext durchgeführt wurde. Mit dem Einsatz von SSL erfüllen Sie einfach diese Anforderung.

Wichtiger Hinweis:. Achten Sie darauf, die SSL-Kommunikation korrekt implementiert ist - es ist die Single Point of Failure

SSL oder TLS (Sie sind wahrscheinlich in der Lage sein TLSv1.0 zumindest heutzutage zu verwenden, auch wenn man über „SSL“ sprechen), Ziele schützen soll „ [...] Privatsphäre bieten und Datenintegrität zwischen zwei kommunizierenden Anwendungen “(siehe RFC ).

RFC 4346 geht auf zu sagen:

  

Der TLS Record Protocol bietet   Verbindungssicherheit, die zwei Grund hat   Eigenschaften:

     
      
  • Die Verbindung ist privat. [...]
  •   
  • Die Verbindung ist zuverlässig. Nachrichtentransport enthält eine Nachrichtenintegrität   überprüfen Schlüssel MAC verwenden. Secure Hash   Funktionen (z.B. SHA, MD5 usw.)   für MAC-Berechnungen verwendet. Der Datensatz   Protokoll kann auch ohne MAC arbeiten,   aber in der Regel nur in dieser verwendet   Modus, während ein anderes Protokoll verwendet   das Record-Protokoll als Transport für   Verhandlungen über Sicherheitsparameter.
  •   

Also, ja, es wird versucht, korrupt erfaßt die Datenübertragung (absichtlich oder unabsichtlich).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top