Irgendwo in der Installationsanleitung wird ein Verzeichnis komplett auf jedes Notebook kopiert, weil das einfacher war, als zu entscheiden, welche Dateien dorthin gehören. Dieses Verzeichnis enthält ca.key, und in dem Moment, in dem es ein zweites Gerät erreicht, ist die Zertifizierungsstelle keine Autorität mehr. Jeder Besitzer kann nun Identitäten ausstellen, denen der Rest des Netzes vertraut.

Die Verwirrung lohnt sich einmal aufzulösen, denn die beiden Dateien sehen ähnlich aus und tun das Gegenteil.

Prüfmaterial und Signaturmaterial

Ein Client braucht das öffentliche Zertifikat der CA, um zu prüfen, dass das von einer Gegenstelle vorgelegte Zertifikat von dieser Stelle signiert wurde. Das ist eine Prüfaufgabe und benötigt überhaupt kein Geheimnis. Das Signieren eines Gegenstellen-Zertifikats ist eine andere Aufgabe, die einmal von demjenigen ausgeführt wird, der die CA betreibt, mit dem privaten Schlüssel, der seinen geschützten Speicher nie verlässt. Diese beiden Aufgaben getrennt zu halten, ist der ganze Sinn zweier ausgelieferter Dateien.

Also gehört ca.crt ins Profil und ca.key nirgendwo in dessen Nähe. Die Dateinamen sind eine Konvention, keine Garantie, weshalb der Typ geprüft und nicht aus dem Namen geschlossen werden muss.

Eine Architektur mit einer Zwischen-CA oder einem Online-Ausstellungsdienst ist davon keine Ausnahme. Sie ist der übliche Weg, Signierfähigkeit von Endpunkten fernzuhalten und trotzdem Gerätezertifikate in großem Umfang auszustellen.

Was ein Client mit seinem eigenen Schlüssel beweisen muss

Jedes Gerät erhält sein eigenes Schlüsselpaar und sein eigenes Zertifikat, einmal von der CA signiert. Der Client legt dieses Zertifikat vor und beweist den Besitz des passenden privaten Schlüssels, und der Server entscheidet, ob er ihn annimmt. Das ist die Identität, die widerrufen wird, wenn ein Notebook verloren geht.

Der Kontrast zählt am meisten nach einem Diebstahl. Mit Identitäten pro Gerät wird ein offengelegter Client durch Widerruf oder Entfernen der Gegenstelle beseitigt, und der Rest der Flotte arbeitet weiter.

Ein geleakter Behörden-Schlüssel lässt sich so nicht behandeln. Jedes Zertifikat, das er je signiert hat oder hätte signieren können, wird verdächtig, also ist die Antwort ein Austausch des Vertrauens statt eines einzelnen Widerrufs. Das ist ein Projekt, kein Ticket.

FileRoleBelongs on
ca.crtPublic certificate used to verify signaturesEvery client profile
ca.keyPrivate key that issues certificatesProtected CA storage only
client key pairProves one device's identityThat device alone

Eine Datei lesen, bevor man sie irgendwohin kopiert

Zwei Befehle sagen Ihnen, welche Art von Objekt Sie in der Hand halten, ohne ein Geheimnis auszugeben. Der erste nennt den Betreff und das CA-Flag eines Zertifikats; der zweite validiert einen Schlüssel und meldet seinen Typ. Führen Sie beide für die Dateien in dem Paket aus, das Sie verteilen wollen. Alles, was sich als privater Schlüssel validiert, gehört nicht in ein Client-Verzeichnis.

openssl x509 -in ca.crt -noout -subject -ext basicConstraints
openssl pkey -in ca.key -noout -check

Wenn der zweite Befehl bei einer Datei in einem Client-Paket erfolgreich ist, halten Sie an und behandeln Sie das Paket als kompromittiert. Eine Ausgabe, die sagt, dass ein Schlüssel gültig ist, sagt auch, dass er vorhanden ist, und die Anwesenheit ist das ganze Problem.

Beachten Sie auch die andere Richtung: Ein Client-Profil enthält rechtmäßig den eigenen privaten Schlüssel dieses Clients. Jeden gefundenen Schlüssel zu löschen, bricht die Verbindung, ohne etwas zu verbessern, deshalb muss das Objekt vor dem Entfernen identifiziert werden.

Einen bereits verteilten Schlüssel eindämmen

Gehen Sie nicht davon aus, dass das Löschen der lokalen Kopie die Exposition rückgängig macht. Wer die Datei hatte, kann sie kopiert haben, und die sichere Annahme ist, dass er es getan hat. Folgen Sie dem Incident-Prozess des Betreibers und ersetzen Sie den Vertrauensanker, indem Sie Gerätezertifikate unter einer neuen CA neu ausstellen.

Dann ändern Sie die Paketierung, die das Problem geschaffen hat. Versenden Sie eine Verzeichnisliste mit einer ausdrücklichen Positivliste von Dateien, halten Sie den CA-Schlüssel auf einer Maschine, die nie der Clientflotte beitritt, und notieren Sie, welches System ihn hält.

Muss die Behörde häufig ausstellen, verlegen Sie das Signieren hinter einen Dienst oder eine Zwischenstelle mit engem Umfang und kurzer Gültigkeit. So legt ein künftiger Fehler eine Teilmenge der Ausstellung offen statt die Vertrauenswurzel der gesamten Bereitstellung.

Ähnliche Artikel