PKI und Zertifikate / UniKassel-GridRa

UniKassel-GridRa / CA -Zertifizierungsinstanz in der DFN-PKI

Die Universität Kassel beteiligt sich mit einer eigenen Grid-CA an der DFN-PKI Grid Hierarchie.

Die Authentifikation und Autorisierung der im Grid-Bereich tätigen Personen und Ressourcen erfolgt über Zertifikate und eine sog. Public Key Infrastructure (PKI). Durch die Vorschriften der European Policy Management Authority for Grid Authentication in e-Science (EUGridPMA) und die Zusammenarbeit der EUGridPMA mit den entsprechenden Vereinigungen für den amerikanischen (TAGPMA) und asiatisch-pazifischen (APGridPMA) Raum gibt es inzwischen einen Standard für Grid Computing Zertifikate, so dass entsprechende Zertifikate im wissenschaftlichen Bereich weltweit akzeptiert werden sollten. Das Zertifikat ist dabei jedoch kein Ersatz für einen Benutzeraccount auf den entsprechenden Systemen, sondern gewissermaßen nur eine Alternative zu einem Passwort.

Für Deutschland sind die DFN-CERT Services GmbH und das Forschungszentrum Karlsruhe (FZK) Mitglied der EUGridPMA. Diese betreiben eine sog. Certification Authority (CA), die berechtigt ist, eine Zertifizierung auf Grundlage der EUGridPMA-Vorgaben vorzunehmen. Um ein elektronisches Zertifikat verlässlich mit einer Person oder einer Ressource zu identifizieren, ist es notwendig, dass der Zertifikatsinhaber bzw. ein Ressourcenverantwortlicher persönlich bei einer dieser CAs erscheint und sich mittels eines Ausweispapiers authentifiziert. Um diesen Vorgang für die Nutzer zu vereinfachen und ihnen den Weg nach Hamburg bzw. Karlsruhe zu ersparen, wurden sog. Registration Authorities (RA) eingerichtet, die diesen Vorgang im Auftrag der CAs übernehmen können. Das Hochschulrechenzentrum der Uni Kassel ist akkreditiert, eine Grid-RA für den DFN-CERT zu betreiben und Zertifikatsanträge von Angehörigen der Universität Kassel entgegenzunehmen.

Nach oben

Erzeugung eines Zertifikatsantrags

Für die Erzeugung eines Zertifikatsantrags (Certification Request, Certificate Signing Request, CSR) gibt es prinzipiell mehrere Wege. Im Folgenden soll nur der von einer Grid-Middleware unabhängige Weg mittels OpenSSL aufgezeigt werden. Auf vielen Systemen sollte OpenSSL bereits standardmäßig installiert sein. Ansonsten kann die Software von der OpenSSL-Homepage heruntergeladen und auf allen gängigen Betriebssystemen sehr leicht installiert werden.

Falls Sie eine bestimmte Grid-Middleware, wie z.B. das Globus Toolkit oder UNICORE, einsetzen, können Sie damit prinzipiell auch den passenden Request erzeugen. Achten Sie jedoch darauf, dass die Namensstruktur und der daraus abgeleitete Distinguished Name (DN) exakt stimmt, da die Anträge sonst nicht bearbeitet werden können.

Nach oben

Erzeugung eines RSA-Schlüsselpaares

Dieser Schritt kann entfallen, wenn Sie bereits einen geeigneten privaten Schlüssel besitzen. 

RSA-Schlüsselpaar erzeugen

Persönliches Zertifikat

Server-Zertifikat

openssl genrsa -des3 -out PrivateUserKey.pem 2048

openssl genrsa -out PrivateHostKey.pem 2048

Sie werden nach einem Passphrase für Ihren neuen privaten Schlüssel gefragt. Dieses Passwort sollte den Anforderungen an ein sicheres Passwort genügen (mind. 8 Zeichen, Mischung aus Buchstaben, Zahlen und Sonderzeichen, etc.). Die Eingabe wird ein zweites Mal benötigt, um die korrekte Eingabe zu verifizieren.

Der private Schlüssel von Serverzertifikaten kann/darf nicht durch ein Passwort geschützt werden, da Dienste später automatisch starten sollen.Falls Sie das Passwort von einem privaten Schlüssel entfernen wollen, so kann dies mit dem folgenden Befehl erfolgen:
openssl rsa -in private-key-with-passwd.pem > private-key-without-passwd.pem

Der private Schüssel ermöglicht Ihre Identifikation im Grid. Das bedeutet, dass eine Person, die in den Besitz Ihres privaten Schlüssels gelangt, sich für Sie ausgeben kann. Stellen Sie deshalb unbedingt sicher, dass der private Schlüssel ausschließlich Ihnen allein zugänglich ist. Auf Linux-Systemen etwa sind alle Zugriffsrechte für group oder other zu löschen. Geben Sie das Passwort für ihren privaten Schlüssel an keine anderen Personen weiter und sorgen Sie dafür, das es auch nicht aus Versehen in falsche Hände geraten kann. 

Nach oben

Erstellung des Certificate Signing Request im PKCS#10 Format

In diesem Schritt wird ein eindeutiger Identifikator, der sog. Distinguished Name (DN) abgefragt. Die meisten Teile der Namensstruktur sind dabei fest vorgegeben. Laden Sie daher die angepasste OpenSSL-Konfigurationsdatei herunter, so dass bereits die korrekten Vorgaben gesetzt sind. Sollten Sie bei der Eingabe einzelner Namenbestandteile unsicher sein, wenden Sie sich bitte an die Grid-RA.

CSR erzeugen

Persönliches Zertifikat

Server-Zertifikat

Angepasste Konfigurationsdatei gridra-openssl-user.cnf

Angepasste Konfigurationsdatei gridra-openssl-server.cnf

openssl req -config gridra-openssl-user.cnf -new -key PrivateUserKey.pem -out usercert_request.pem

openssl req -config gridra-openssl-server.cnf -new -key PrivateHostKey.pem -out servercert_request.pem

Beantworten Sie die Fragen zum DN wie folgt:

Beantworten Sie die Fragen zum DN wie folgt:

Liste der Einrichtungen, weitere Einrichtungen bitte mit der Grid-RA abstimmen.

Nach oben

Überprüfung des Certificate Signing Request

Die Angaben im CSR können Sie mit folgendem Befehl überprüfen:

CSR überprüfen

Persönliches Zertifikat

Server-Zertifikat

openssl req -noout -text -in usercert_request.pem

openssl req -noout -text -in servercert_request.pem

openssl req -noout -subject -in usercert_request.pem

openssl req -noout -subject -in servercert_request.pem

Entscheidend ist hierbei die Subject-Zeile mit dem DN. Die ersten Bestandteile müssen C=DE, O=GridGermany, OU=Universitaet Kassel sein.

Nach oben

Übertragung des Certificate Signing Request

CSR übertragen

Persönliches Zertifikat

Server-Zertifikat

Rufen Sie in einem Web-Browser das DFN-Webformular der Grid User CA, wählen Sie dort das Register "Beantragen eines Zertifikats" und klicken Sie dann auf "Zertifikatantrag direkt übergeben". Diese Seite können Sie auch direkt über folgenden Link erreichen.

Rufen Sie in einem Web-Browser das DFN-Webformular der Grid ServerCA auf, wählen Sie dort das Register "Beantragen eines Zertifikats" und klicken Sie dann auf "Zertifikatantrag für Server". Diese Seite können Sie auch direkt über folgenden Link erreichen.

Laden Sie nun den eben erstellen Zertifikatsantrag zum DFN, indem Sie auf "Browse/Durchsuchen" klicken und dort die Datei usercert_request.pem auswählen.

Laden Sie nun den eben erstellen Zertifikatsantrag zum DFN hoch, indem Sie auf "Browse/Durchsuchen" klicken und dort die Datei servercert_request.pem auswählen.

Wählen Sie als Zertifikatsprofil User aus.

Wählen Sie als Zertifikatsprofil Web-Server aus.

Die PIN, die auf diesem Formular abgefragt wird, kann frei gewählt werden und hat nichts mit dem Passphrase Ihres privaten Schlüssels zu tun.

Die PIN, die auf diesem Formular abgefragt wird, kann frei gewählt werden und hat nichts mit dem Passphrase Ihres privaten Schlüssels zu tun. Auch für Serverzertifikate müssen Sie hier eine PIN vergeben.

Vervollständigen Sie noch fehlende Angaben und folgen Sie den Hinweisen auf dem Web-Formular. Drucken Sie am Ende den Antrag auf Papier aus.

Nach oben

Überprüfung des Fingerprints

Um den Fingerprint, der auf dem Zertifizierungsantrag automatisch ausgegeben wird, zu überprüfen, können Sie eine der beiden folgenden Befehlssequenzen verwenden: (jeweils eine lange Befehlszeile!)

Fingerprint überprüfen (ausgehend vom Privaten Schlüssel)

Persönliches Zertifikat

Server-Zertifikat

openssl rsa -in PrivateUserKey.pem -pubout | openssl rsa -pubin -text -noout | openssl sha1 -c

openssl rsa -in PrivateHostKey.pem -pubout | openssl rsa -pubin -text -noout | openssl sha1 -c

Alternativ:

Fingerprint überprüfen (ausgehend vom Certificate Signing Request)

Persönliches Zertifikat

Maschinen-Zertifikat

openssl req -in usercert_request.pem -pubkey | openssl rsa -pubin -text -noout | openssl sha1 -c

openssl req -in servercert_request.pem -pubkey | openssl rsa -pubin -text -noout | openssl sha1 -c

Durch diese Prüfsumme kann sichergestellt werden, dass bei der Übermittlung an die RA/CA keine Übertragungsfehler aufgetreten sind.

Nach oben

Persönliche Vorstellung

Vereinbaren Sie mit der Grid-RA der Uni Kassel einen Termin für die Vorlage eines Ausweisdokuments (Personalausweis, Reisepass). Bringen Sie den im letzten Schritt erzeugten Antrag ausgefüllt und unterschrieben zu diesem Termin mit. Zusätzlich benötigen Sie auch noch ein formloses Akkreditierungsschreiben, das von einer autorisierten Person Ihres Fachbereichs/Instituts unterschrieben ist.

Die persönliche Überprüfung wird der DFN-CA gemeldet. Erst dann kann Ihr Request signiert werden.

Nach oben

Erhalt des Zertifikats

Nach der Signierung erhalten Sie Ihr Zertifikat per Mail von der DFN-CA. Speichern Sie die Mail in die Datei cert.pem und löschen Sie alle Zeilen bis auf den Bereich unter "Ihr Zertifikat:"

von

--

BEGIN CERTIFICATE

--

bis

--

END CERTIFICATE

--

Kontrollieren Sie mit Hilfe des Befehls openssl x509 -in cert.pem -text, ob der DN in der Subject-Zeile korrekt ist. Der Fingerprint der von openssl x509 -in cert.pem -pubkey | openssl rsa -pubin -text -noout | openssl sha1 -c ausgegeben wird, muss auch wieder mit dem Fingerprint übereinstimmen, den Sie im Zusammenhang mit dem CSR bestimmt haben.

Das signierte Zertifikat (cert.pem) können Sie nun im Grid für Ihre Authentifizierung nutzen. Die Gültigkeitsdauer für DFN-Zertifikate beträgt standardmäßig ein Jahr und muss danach auf die beschriebene Weise erneuert werden.

Nach oben

Konvertierung des Zertifikats in einen pkcs12-Keystore

Für UNICORE (Uniform Access to Compute Resources) oder zum Import in einen Web-Browser muss aus privatem Schlüssel und Zertifikat vorher noch ein sog. pkcs12-Keystore erzeugt werden. Dies geschieht durch:

  • openssl pkcs12 -export -in cert.pem -inkey PrivateUserKey.pem -name "Ihr Name" -out keystore.p12

Dies ist auch gleichzeitig eine Sicherung bzw. ein Backup Ihres Schlüssels.

Nach oben

Ablage der Zertifikate für die Benutzung

Nun muss das Zertifikat bzw. der Keystore noch an der richtigen Stelle abgelegt werden,

  • für Globus: im Verzeichnis $HOME/.globus
  • im UNICORE-Client: bei "User Settings" / "Keystore Editor"
  • im Web-Browser: bei "Einstellungen" / "Verschlüsselung" oder "Zertifikate"

Nach oben

Quellen für die Wurzelzertifikate des DFN und GridKa

Manche Grid Resource Provider verlangen zusätzlich zu Ihrem Zertifikat auch die Schlüssel der signierenden CA. Diese finden Sie in der Mail, die Sie von der DFN-CA erhalten haben. Alternativ finden Sie hier die entsprechenden Links auf die DFN Cert Webseiten:

In Deutschland werden für einige Benutzergruppen auch GRID-Zertifikate vom Forschungszentrum Karlsruhe (GridKa) ausgestellt.

  • Gültig bis 10. Juni 2007
  • MD5 Fingerprint=D2:FB:CC:88:63:E1:FA:83:15:64:96:96:83:22:F2:C9

  • SHA1 Fingerprint=1F:E4:41:02:EC:A7:57:D8:4A:7E:A6:EE:CC:5B:A4:19:10:57:CA:17

  • Zertifikat im DER/CRT-Format

  • Zertifikat im PEM-Format

  • zugehörige Widerrufslisten

Nach oben