Zum Inhalt springen

Microsoft Point-To-Point Encryption Protocol

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Oktober 2005 um 11:02 Uhr durch 212.78.103.100 (Diskussion) (Aushandlungen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Einführung

MPPE steht für Microsoft Point-To-Point Encryption Protocol. MPPE soll die Vertrauenswürdigkeit von über PPP übertragenen Packeten sicher stellen. MPPE basiert auf den in RFC 3078 vom März 2001 genannten Verschlüsslungsverfahren.

Funktion

Aushandlungen

MPPE benutzt den RSA-RC4 Algorithmus. Die länge der Session Keys kann dabei bei der Sessionaushandling festgelegt werden. Erlaubt sind dabei 40Bit, 56Bit und 128Bit. Die Verhandlungen und Verwaltung wird über das Compression Control Protocol abgehandelt. MPPE wird innerhalb Option 18 im CCP ausgehandelt.

Dabei benutzt CCP eine länge von 6 Bit im 2 Oktet:

   3                   2                   1
 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             |H|                               |M|S|L|D|     |C|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • C = wird von MPPC genutzt (compression)
  • D = veraltet wird aber von einigen älteren Clienten noch unterstützt
  • L = 40Bit Session Key
  • S = 128Bit Session Key
  • M = 56Bit Session Key
  • H = stateless Mode wird verwendet. Dabei wird der Schlüssel nach jedem übertragenem Packet geändert.

Bevor MPPE ein Packet versenden kann muß PPP die "Network-Layer Protocol" Phase erreicht haben und CCP muß den sogenannten "Open State" erlangen. Also die schlüsselverhandlungen müssen abgeschlossen werden.

Übertragung

      0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          PPP Protocol         |A|B|C|D|    Coherency Count    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Encrypted Data...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


  • PPP = In den ersten anderhalb Byte werden die PPP Steuerinformationen gesendet.
  • A = Die Verschlüsslungstabelle wurde initialisiert befor das Packet generiert wurde. Der Empfänger muss also die Tabelle auch Reinitialisieren bevor das Packet entschlüsselt wird.
  • B = keine Bedeutung für MPPE
  • C = keine Bedeutung für MPPE
  • D = Hier wird mitgeteilt ob da Packet verschlüsselt oder unverschlüsselt ist.
  • Cohereny Count (Koherenz check) = Hier wird sichergestellt das, die Packete in der richtigen Anordnung übertragen wurden und das keine Packete unterwechs fallengelassen wurden.
  • Encrypted Data = Das Packet beginnt mit dem Protokollfeld. (Zuerst wird das Protokollfeld entschlüsselt und dann der Header des gesendeten Protokolls (z.B. der IP Header). Danach wird dann der Inhalt des Packetes entschlüsselt.