CSS hat vor kurzem Informationen über einen potenziellen Angriff zur Privilegieneskalation in SCEP-basierten Zertifikatsausstellungssystemen entdeckt und veröffentlicht. Nach dieser Entdeckung schuf CSS den SCEP-Validierungsdienst, der darauf abzielt, diesen Angriff durch die Validierung des Zertifikatsinhalts zu beenden, bevor die Zertifizierungsstelle es an den Antragsteller sendet. Die zum Patent angemeldete Lösung von CSS wird heute mit unserem Mobile Certificate Management System (mCMS) v 1.1 software ausgeliefert. Der SCEP-Validierungsdienst von CSS besteht aus einer Reihe von Komponenten, die auch in Mobile Device Management (MDM)-Produktevon Drittanbietern integriert werden können.
Produktevon Drittanbietern, die diese Anforderungen erfüllen, können gute Kandidaten für die Integration mit dem SCEP-Validierungsdienst von CSS sein:
- Verwenden Sie eine Microsoft-Zertifizierungsstelle (Einzelplatz oder Unternehmen)
- Erleichtern Sie iOS-Geräten die Anmeldung für ein Zertifikat über einen Microsoft NDES (SCEP) Server
- Aufbauend auf .NET, oder Fähigkeit zur Integration mit WCF-basierten SOAP-Diensten
Normales Benutzerszenario
Werfen wir einen Blick auf das normale Benutzerszenario mit NDES und der CA. In der Abbildung unten hat ein ehrlicher Benutzer ein Zertifikat angefordert. Das MDM gibt eine Konfiguration mit einer SCEP-Server-URL und einer SCEP-Challenge an das Gerät weiter. Das Gerät generiert einen Schlüssel auf dem Gerät und verwendet diese Konfigurationsdaten, um ein Zertifikat von dem angegebenen SCEP-Server anzufordern. Im Erfolgsfall wird ein Zertifikat ausgestellt.
Abbildung 1: Honest User beim Erhalt eines ZertifikatsSzenario eines böswilligen Benutzers
Wie im CSS-Whitepaper SCEP und nicht vertrauenswürdige Geräte beschrieben, kann ein gültiger, aber böswilliger Benutzer, der eine gültige SCEP-Challenge erhält (unabhängig davon, ob es sich um ein statisches oder dynamisches Passwort handelt), diese verwenden, um sich für ein Zertifikat mit einer anderen Identität oder für einen anderen Zweck zu registrieren, als es sonst zulässig wäre.
Im folgenden Diagramm hat ein böswilliger Benutzer eine SCEP-Challenge von seinem MDM-System erhalten. Anstatt dem Gerät zu erlauben, einen Schlüssel und PKCS#10 zu generieren, erstellt der Benutzer einen PKCS#10 mit einem Subject Name-Feldwert, der ihm eine andere (und potenziell höher privilegierte) Identität verleiht.
Abbildung 2: Böswilliger Benutzer, der ein Zertifikat mit einer anderen Identität erhältMDM von Drittanbietern mit SCEP-Validierungskomponenten
Mit dem SCEP-Validierungsdienst, der in eine MDM-Anwendung integriert ist, kann das oben beschriebene Szenario verhindert werden. Die VSCEP-Lösung von CSS erweitert den Prozess der Zertifikatsausstellung um zwei Schritte.
Abbildung 3: Böswilliger Benutzer wird gestoppt, bevor er das Zertifikat durch die Verwendung des SCEP-Validierungsdienstes erhältIm obigen Diagramm ist Schritt 2 der einzige Integrationspunkt auf Quellenebene zwischen dem MDM und dem SCEP-Validierungsdienst von CSS. Wenn ein Benutzer ein Gerät bei der MDM-Anwendung anmeldet, registriert das MDM den erwarteten Zertifikatsinhalt mit der entsprechenden SCEP-Herausforderung unter Verwendung des CSS SCEP-Validierungsdienstes. Dieser Inhalt umfasst Informationen wie den erwarteten Betreff, den alternativen Namen des Betreffs, die Vorlage, die Schlüsselverwendung und die erweiterten Schlüsselverwendungswerte.
Schritt 6 oben zeigt, wie das Richtlinienmodul den neuen Zertifikatsinhalt direkt bei der Zertifizierungsstelle validiert, bevor das Zertifikat an den Antragsteller gesendet wird. Das Richtlinienmodul arbeitet mit dem Validierungsdienst zusammen, um den tatsächlichen Zertifikatsinhalt mit dem zuvor registrierten erwarteten Inhalt aus Schritt Nr. 2 zu überprüfen. Wenn das Richtlinienmodul feststellt, dass alle Daten mit dem erwarteten Inhalt übereinstimmen, wird die Anforderung genehmigt und das Zertifikat an den Antragsteller gesendet. Hat der Benutzer böswillige Absichten, würde das Richtlinienmodul die Informationsabweichung erkennen und die Zertifikatsanforderung ablehnen.
Der SCEP-Validierungsdienst ist ein auf IIS gehosteter Dienst, der überall in der Infrastruktur Ihres Kunden eingesetzt werden kann. Er stellt eine einfache, auf einer Methode basierende WCF-Schnittstelle zur Verfügung, die es dem MDM ermöglicht, die vom Benutzer erwarteten Inhalte zu registrieren. MDM-Anwendungen müssen nicht mit dem Richtlinienmodul selbst integriert werden. Das Richtlinienmodul wird direkt auf einer Zertifizierungsstelle installiert und für die Kommunikation mit dem SCEP-Validierungsdienst konfiguriert.
Zusammenfassung
Die Integration der SCEP-Validierungsdienstkomponenten von CSS in Ihr Produkt ist einfach und erfordert nur minimale Änderungen auf Quellcodeebene. Die erwarteten SCEP-Herausforderungen und Zertifikatsinhalte müssen beim SCEP-Validierungsdienst registriert werden, wie in Abbildung 3 dargestellt. Das CSS Policy Module validiert und erzwingt, dass jedes Zertifikat für die tatsächliche Identität des Benutzers ausgestellt wird. Zusätzlich zu dieser Änderung auf Quellcode-Ebene muss Ihre Produktinstallation modifiziert werden, um die CSS-Komponenten zu integrieren. CSS ist gerne bereit, mit Ihnen zusammenzuarbeiten, um unseren SCEP-Validierungsdienst in Ihr MDM-Produkt zu integrieren.
Besuchen Sie das Validated SCEP Resource Center für weitere Informationen: https://www.css-security.com/vscep/