RADIUS mit MS-CHAPv2 Erläuterung

8

Es können keine Ablaufdiagramme zur Kommunikation zwischen Peers gefunden werden. Ich weiß, wie es in Radius mit PAP aktiviert ist, aber es scheint, dass mit MS-Chapv2 eine Menge Arbeit zu entwickeln ist.

Ich versuche, einen RADIUS-Server zu entwickeln, der Benutzeranforderungen empfängt und authentifiziert. Bitte helfen Sie mir in Form von Information nicht Code.

    
QuantumMechanic 19.05.2015, 08:18
quelle

3 Antworten

11

MSCHAPv2 ist ziemlich kompliziert und wird normalerweise innerhalb einer anderen EAP-Methode wie EAP-TLS, EAP-TTLS oder PEAP ausgeführt. Diese äußeren Methoden verschlüsseln den MSCHAPv2-Austausch mithilfe von TLS. Die folgende Abbildung zeigt ein PEAP-Flussdiagramm, in dem ein Client oder Supplikant einen TLS-Tunnel mit dem RADIUS-Server (dem Authentifizierungsserver) aufbaut und den MSCHAPv2-Austausch durchführt.

Der MSCHAPv2-Austausch selbst kann wie folgt zusammengefasst werden:

  • Der AS beginnt mit der Generierung einer zufälligen 16-Byte-Server-Herausforderung und sendet sie an den Supplicant.
  • Der Supplicant generiert auch eine zufällige 16-Byte-Peer-Anfrage. Dann wird die Challenge-Antwort basierend auf dem Passwort des Benutzers berechnet. Diese Challenge-Antwort wird zusammen mit der Peer-Challenge an die AS zurückgeschickt.
  • Der AS prüft die Challenge-Antwort.
  • Der AS berechnet eine Peer-Challenge-Antwort basierend auf der Passwort- und Peer-Challenge.
  • Der Supplicant überprüft die Peer-Challenge-Antwort und schließt die MSCHAPv2-Authentifizierung ab.

Wenn Sie mehr über die Details und die genauen Berechnungen erfahren möchten, schauen Sie sich meine Diplomarbeit an hier . Die Abschnitte 4.5.4 und 4.5.3 sollten alle Informationen enthalten, die Sie benötigen, um einen RADIUS-Server zu implementieren, der einen MSCHAP-Austausch durchführen kann.

Wie Sie in der Abbildung sehen können, werden viele verschiedene Schlüssel abgeleitet und verwendet. Dieses Dokument bietet einen sehr einfachen Einblick in ihre Funktionalität. Der CSK wird jedoch in diesem Dokument nicht erläutert. Dieser Schlüssel wird optional für "Cryptobinding" verwendet, d. H. Um dem AS zu beweisen, dass sowohl der TLS-Tunnel als auch der MSCHAPv2-Austausch von demselben Peer durchgeführt wurden. Es ist möglich, die MSK nur aus dem TLS-Master-Secret abzuleiten, aber dann sind Sie anfällig für einen Relay-Angriff (die These enthält auch eine Forschungsarbeit, die ein Beispiel für einen solchen Angriff gibt).

Schließlich gibt die asleap-Liesmme eine weitere gute und allgemeine Schritt-für-Schritt-Beschreibung des MSCHAPv2-Protokolls, die Ihnen weiterhelfen kann.

    
red 19.05.2015 08:54
quelle
1

Leider kann ich keine weiteren Kommentare hinzufügen, die Forderung ist, dass ich 50 Reputation habe.

Zu Ihrer Anfrage: Meine Laborumgebung besteht aus SSL-VPN, das mit AS von RADIUS verwendet wird. Konstruiert mit den folgenden 3 Elementen:

  1. Endbenutzer - & gt; Da kein "Client" installiert ist, beginnt die Verbindung über ein Webportal. Client = Webbrowser

  2. NAS - & gt; Dies ist der Computer, der das Web-Portal (den Ort, an dem der Endbenutzer den Benutzernamen und das Passwort eingibt) AND als RADIUS-Client bereitstellt und Anforderungen an das AS überträgt.

  3. AS (RADIUS) - & gt; Das bin ich. Ich erhalte die Zugangsanfragen und validiere den Benutzernamen & amp; Passwort.

Also in Übereinstimmung damit, was ich in der Access-Anfrage erhalten habe, ist:

MS-CHAP2-Antwort: 7d00995134e04768014856243ebad1136e3f00000000000000005a7d2e6888dd31963e220fa0b700b71e07644437bd9c9e09

MS-CHAP-Challenge: 838577fcbd20e293d7b06029f8b1cd0b

Gemäß RFC2548:

  • MS-CHAP-Challenge Dieses Attribut enthält die Challenge, die von einem NAS an einen Microsoft Challenge-Handshake Authentication-Protokoll (MS-CHAP) -Benutzer gesendet wird. Es kann in beiden Access-Request und Access-Challenge-Pakete verwendet werden.

  • MS-CHAP2-Antwort Dieses Attribut enthält den Antwortwert, der von einem MS-CHAP2-Response bereitgestellt wird.   CHAP-V2 Peer als Antwort auf die Herausforderung. Es wird nur verwendet in   Access-Request-Pakete.

Wenn ich richtig verstehe, und bitte seien Sie ruhig, das ist alles sehr neu für mich, basierend auf Ihrem Flussdiagramm ist der AS auch der Authenticator, der das LCP eingibt. Und in meinem Fall wird das LCP vom NAS initiiert, also wird mein Leben einfach gemacht und ich bekomme nur die Access-Anfrage, ohne den Tunnel anlegen zu müssen.

Meine Frage ist jetzt, wie kann ich das Passwort entschlüsseln? Ich verstehe, es gibt eine zufällige Herausforderung 16-Byte-Schlüssel, aber das wird von der NAS gehalten.

Aus meiner Erinnerung muss ich nur das gemeinsame Geheimnis kennen und das Ganze mit dem in Ihrer Arbeit beschriebenen Algorithmus entschlüsseln.

Aber die Algorithm ist riesig, ich habe verschiedene Seiten ausprobiert, um zu sehen, welchen Teil davon der AS verwenden sollte und bei jedem Versuch, ihn zu entschlüsseln. Da ich in diesem Thread nicht mehr um Hilfe bitten kann, kann ich nur sagen, dass diese kleine Textbox nicht die Menge an Dankbarkeit füllen kann, die ich für Ihre Hilfe habe, wirklich glücklich, dass Sie meinen Thread sehen.

Senden Sie mir eine E-Mail, meine Kontaktinformationen sind in meinem Profil. Aus irgendeinem Grund kann ich deine Antwort auch nicht als Lösung markieren.

    
Shaul 21.05.2015 09:50
quelle
0

"wird normalerweise in einer anderen EAP-Methode wie EAP-TLS, EAP-TTLS oder PEAP ausgeführt."

Nun ... RADIUS Win2008 Server hier, konfiguriert auf NO EAP, nur MS-CHAPv2-Verschlüsselung, um das PAP zu ersetzen.

Das ist der Grund, warum vieles, was Sie gesagt haben und was ich gesagt habe, nicht zusammengehörte ... Ich bin kein MITM, ich bin der AS, und mein NAS (derjenige, der klopft) ist der RADIUS_Client / Authenticator.

Wenn der Benutzer UN & amp; PW eingibt, wird eine Zufallsverschlüsselung, die ich jetzt suche, mit MS-CHAPv2 erstellt, und alles oben genannte ist irrelevant.

Mit den vom Authenticator empfangenen Elementen, die wiederum: sind - Benutzername, MS-CHAP-Challenge, MS-CHAP2-Antwort

Der AS führt eine magische Zeremonie durch, um folgendes zu erfinden: -Zugang-Akzeptieren

-MPPE-Sende-Taste

-MPPE-Recv-Taste

-MS-CHAP2-Erfolg

-MS-CHAP-DOMÄNE

Dies stammt aus einem Arbeitsszenario, in dem ich einen RADIUS-Server, einen Radius-Client und einen Benutzer habe.

Ein NICHT Arbeitsszenario ist das, wo ich der RADIUS-Server (AS) bin, weil das mein Ziel ist, einen RADIUS-Server aufzubauen, nicht MITM. Alles, was mir geblieben ist, ist herauszufinden, welche Algorithmen für die Entschlüsselung benötigt werden und wie.

    
user3099645 28.05.2015 12:55
quelle

Tags und Links