Home
IPSec
SSL

e-Mail an mich

Das Record Protokoll

zurück     weiter

Das Record Protokoll

Das Record Protokoll stellt die untere Ebene des SSL-Protokolls dar. Es stellt die Sicherheitsdienste Vertraulichkeit und Nachrichtenidentität durch Verschlüsselung und Authentifizierung mittels MAC zur Verfügung. Außerdem teilt das Record Protokoll die Daten in einzelne Fragmente ein und komprimiert die zu übertragenen Daten. In den Spezifikationen von SSL und TLS ist außer der NULL-Komprimierung keine weitere Komprimierung definiert. Die Firma Baltimore hat in ihrem Online-Entwicklerhandbuch jedoch ein Beispiel für den Einsatz von GZIP als Kompressionsmethode angegeben. Die Komprimierung darf keinen Verlust an Informationen bewirken oder die Länge der Daten um mehr als 1024 Byte vergrößern. Natürlich will man bei der Komprimierung eine Verringerung der Daten bewirken. Bei besonders kleinen Datenpaketen kann es jedoch auf Grund von Formatierungskonventionen zur Vergrößerung der Datenmenge kommen. Die Standardkomprimierungsmethode ist die NULL-Komprimierung, was keiner Komprimierung entspricht.

Wie bereits beschrieben, stellt das Record Protokoll die Sicherheitsdienste Vertraulichkeit und Nachrichtenintegrität zur Verfügung. Zur Sicherung der Vertraulichkeit werden die zu übertragenen Daten verschlüsselt. Hierzu wird ein geheimer Schlüssel benötigt, der nur Server und Client bekannt sein darf. Dieser wird durch das Handshake Protokoll definiert. Zur Sicherung der Nachrichtenintegrität wird ein MAC berechnet. Die Daten, aus denen der MAC berechnet wird, sind der geheime Schlüssel, die Werte ipad und opad, eine paketspezifische Sequenznummer, der Typ des nächsthöheren Protokolls, die Länge des komprimierten oder nichtkomprimierten Datenblocks und der Datenblock selber. Der geheime Schlüssel, der zur Erstellung des MAC nötig ist, wurde durch das Handshake Protokoll definiert. Vor dem ersten Handshake führt das Record Protokoll die Verschlüsselung NULL und die Authentifizierung NULL durch. Dies entspricht der einfachen Übertragung des Klartextes.

Das Record Protokoll stellt dem Datenpaket den SSL Record Header voran. In diesem sind die folgenden Felder definiert:

  • Content Type (8 Bit): Hier ist das nächsthöhere Protokoll (Handshake, Change Cipher Spec, Alert oder Application) angegeben, mit dem die Daten des Fragments verarbeitet werden sollen.
  • Major Version (8 Bit): Dieses Feld zeigt die Hauptversion von SSL an. Im Falle von SSL Version 3.0 ist der enthaltene Wert 3.
  • Minor Version (8 Bit): Dieses Feld zeigt die Unterversion von SSL an. Im Falle von SSL Version 3.0 ist der enthaltene Wert 0.
  • Compressed Length (16 Bit): Die Länge der Daten in Byte im komprimierten Zustand sind in diesem Feld angegeben. Sind die Daten nicht komprimiert, ist die unkomprimierte Länge der Daten angegeben. Der Höchstwert für dieses Feld beträgt 214 + 2048.

Werden sowohl Vertraulichkeit als auch Nachrichtenintegrität gefordert, verfährt das Record Protokoll wie folgt:

  1. Fragmentierung: Die zu übertragenen Daten werden in Blöcke der Größe 214 Byte (16384 Byte) oder kleiner unterteilt.
  2. Komprimierung: Die Daten werden nach der im Handshake Protokoll festgelegten Komprimierungsmethode komprimiert.
  3. Hinzufügen des MAC: Das Datenpaket dient als Input der SSL-eigenen MAC-Funktion. Der so berechnete MAC wird an das Datenpaket angehängt. Die Definition der zu gebrauchenden Hashfunktion und der geheime Schlüssel zur Berechnung des MAC sind durch das Handshake Protokoll gegeben.
  4. Verschlüsselung: Das Datenpaket wird zusammen mit dem MAC verschlüsselt. Die Verschlüsselungsmethode und der geheime Schlüssel sind durch das Handshake Protokoll definiert.
  5. Anhängen des Headers: Der oben beschriebene Header wird vor das verschlüsselte Datenpaket gesetzt.

Die folgend vorgestellten Protokolle nutzen alle zur Datenübertragung das Record Protokoll.

zurück     weiter

[Home] [IPSec] [SSL] [AES-Kandidaten] [Über mich] [Links] [Gästebuch]