Grid Zertifikate
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. (Vgl.
Abschnitt 3.2.3 der
Grid Policy CP/CPS
Dokumente der DFN PKI.) Um diesen
Vorgang für die Nutzer zu vereinfachen und ihnen den Weg nach Hamburg
bzw. Stuttgart oder Berlin zu ersparen, wurden sog. Registration
Authorities (RA) eingerichtet, die diesen Vorgang im Auftrag
der CAs übernehmen können. Das RRZE ist akkreditiert, eine Grid-RA für
den DFN-CERT zu betreiben und Zertifikatsanträge von Angehörigen der
Universität Erlangen-Nürnberg entgegenzunehmen.
Schritte zum Grid-Zertifikat
Für Angehörige der Universität Erlangen-Nürnberg gilt folgendes Verfahren, um ein Grid-Zertifikat zu bekommen:
- Privaten Schlüssel und Zertifikatsantrag generieren (s.u.).
- Termin bei der Grid-RA des RRZE vereinbaren.
- Persönlichei Vorstellung bei der Grid-RA (Akkreditierungsschreiben,
Zertifikatsantrag und Personalausweise/Reisepass mitbringen) zur
Identitätsüberprüfung.
Nur bei Verlängerungen kann die persönliche Vorstellung entfallen, wenn weiterhin das gleiche Ausweisdokument verwendet wird und das bisherige Zertifikat nicht widerrufen wurde. - Das signierte Zertifikat erhalten Sie dann per Email von der DFN-CA.
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.
Der private Schlüssel kann unter gewissen Umständen auch direkt in modernen Webbrowsern generiert werden. Die DFN-Webseiten unterstützen diese Vorgehensweise; das RRZE kann davon jedoch nur strikt abraten, da das Extrahieren des privaten Schlüssels aus dem Webbrowser immer mit erheblichen Komplikationen verbunden ist. Im Fall von Problemen kann die HPC-Gruppe des RRZE nur für die unten beschriebene Vorgehensweise via OpenSSL Unterstützung bieten.
Erzeugung eines RSA-Schlüsselpaares
Dieser Schritt kann entfallen, wenn Sie bereits einen geeigneten privaten Schlüssel besitzen.
| Persönliches Zertifikat | Maschinen-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 Maschinenzertifikaten 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 kanndies 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.
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 HPC-Beratung.
| Persönliches Zertifikat | Maschinen-Zertifikat |
|---|---|
| Angepasste Konfigurationsdatei rrze-grid-ra-openssl-user.cnf | Angepasste Konfigurationsdatei rrze-grid-ra-openssl-host.cnf |
openssl req -config rrze-grid-ra-openssl-user.cnf -new -key
PrivateUserKey.pem -out usercert_request.pem
|
openssl req -config rrze-grid-ra-openssl-host.cnf -new -key
PrivateHostKey.pem -out hostcert_request.pem
|
Beantworten Sie die Fragen zum DN wie folgt:
|
Beantworten Sie die Fragen zum DN wie folgt:
|
Registrierte Lehrstuhlnamen (ohne Umlaute)
- Lehrstuhl fuer Informatik 2
- Lehrstuhl fuer Informatik 3
- Lehrstuhl fuer Stroemungsmechanik
- Lehrstuhl fuer Systemsimulation
- Physikalisches Institut 2
- Regionales Rechenzentrum Erlangen
- für weitere Namen bitte bei hpc@rrze.fau.de nachfragen!
Hinweis: Zertifikatsanträge, die als primäre E-Mail-Adresse keine universitäre E-Mail-Adresse enthalten, werden nicht bearbeitet! Auf Wunsch können im Rahmen des Genehmigungsprozesses jedoch noch weitere E-Mail-Adressen im Zertifikat eingetragen werden, wenn diese auf dem Akkreditierungsschreiben vermerkt sind.
Hinweis: das Feld "Organizational Unit Name" ist verpflichtend; verwenden Sie hierfür ausschließ mit der HPC-Gruppe abgestimmte Einrichtungsnamen und Schreibweisen.
Überprüfung des Certificate Signing Request
Die Angaben im CSR können Sie mit folgendem Befehl überprüfen:
| Persönliches Zertifikat | Maschinen-Zertifikat |
|---|---|
openssl req -noout -text -in usercert_request.pem
|
openssl req -noout -text -in hostcert_request.pem
|
openssl req -noout -subject -in usercert_request.pem
|
openssl req -noout -subject -in hostcert_request.pem
|
Entscheidend ist hierbei die Subject-Zeile mit dem DN. Die
ersten Bestandteile müssen C=DE, O=GridGermany,
OU=Universitaet Erlangen-Nuernberg sein.
Übertragung des Certificate Signing Request
| Persönliches Zertifikat | Maschinen-Zertifikat |
|---|---|
|
Rufen Sie in einem Web-Browser das Bitte verwenden Sie nicht den Kartenreiter Nutzerzertifikat, da in diesem Fall der private Schlüssel im Webbrowser generiert wird und nur sehr umständlich nach erfolgreichem Import des Zertifikats extrahiert werden kann! |
Rufen Sie in einem Web-Browser das |
Laden Sie nun den eben
erstellen Zertifikatsantrag zum DFN hoch, 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
hostcert_request.pem auswählen.
|
Wählen Sie als Zertifikatsprofil User aus.
|
Wählen Sie als Zertifikatsprofil Grid 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 Maschinenzertifikate 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.
Überprüfung des Fingerprints
Um den Fingerprint, der auf dem Zertifizierungsantrag automatisch ausgegeben wird, zu überprüfen, können Sie eine der beiden folgenden Befehlssequenz verwenden: (jeweils eine lange Befehlszeile!)
| Persönliches Zertifikat | Maschinen-Zertifikat |
|---|---|
openssl rsa -in PrivateUserKey.pem -pubout | openssl rsa -pubin -text -noout | sed -e '/Modulus:$/d' | sed -e 's/Public-Key: (\(.*\))/Modulus (\1):/' | openssl sha1 -c
|
openssl rsa -in PrivateHostKey.pem -pubout | openssl rsa -pubin -text -noout | sed -e '/Modulus:$/d' | sed -e 's/Public-Key: (\(.*\))/Modulus (\1):/' | openssl sha1 -c
|
alternativ
| Persönliches Zertifikat | Maschinen-Zertifikat |
|---|---|
openssl req -in usercert_request.pem -pubkey | openssl rsa -pubin -text -noout | sed -e '/Modulus:$/d' | sed -e 's/Public-Key: (\(.*\))/Modulus (\1):/' | openssl sha1 -c
|
openssl req -in hostcert_request.pem -pubkey | openssl rsa -pubin -text -noout | sed -e '/Modulus:$/d' | sed -e 's/Public-Key: (\(.*\))/Modulus (\1):/' | openssl sha1 -c
|
Durch diese Prüfsumme kann sichergestellt werden, dass bei der Übermittlung an die RA/CA keine Übertragungsfehler aufgetreten sind.
Persönliche Vorstellung
Vereinbaren Sie mit der Grid-RA des RRZE 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 für persönliche Zertifikate bzw.
formloses
Akkreditierungsschreiben für Maschinenzertifikate, das von der
RRZE-Kontaktperson und einer autorisierten Person Ihres Lehrstuhls
unterschrieben ist.
Die persönliche Überprüfung wird der DFN-CA gemeldet. Erst dann kann Ihr Request signiert werden. Dieser Vorgang kann unter Umständen mehrere Tage in Anspruch nehmen.
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.
Konvertierung des Zertifikats in einen pkcs12-Keystore
Für UNICORE 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
Wenn im Keystore die komplette Zertifikatskette
aufgenommen werden soll, so müssen Sie zunächst die entsprechenden
Zertifikate der DFN-CA im PEM-Format herunterladen. Den entsprechenden Link
(DFN-PKI Grid Wurzelzertifikat) finden Sie weiter unten.
Wenn Sie root-Rechte auf Ihrer Maschinen haben, so können Sie
das Wurzelzertifikat in /etc/ssl/certs allgemein installieren, anderenfalls
können Sie auch ein beliebiges anderes Verzeichnis verwenden.
Zunächst muss dann aber noch das Zertifikat über den Hash-Wert zugänglich gemacht
werden: (1 bzw. 2 Befehlszeilen)
cd /etc/ssl/certs # OPTIONAL
ln -s dfn-pca-grid.pem `openssl x509 -hash -noout -in dfn-pca-grid.pem`.0
Nun können Sie den Keystore mit der gesamten Zertifikatskette erzeugen:
openssl pkcs12 -export -in cert.pem -inkey PrivateUserKey.pem -name "Ihr Name" -out keystore-chain.p12 -chain [-CApath dir-with-hash-files]
Die Angabe von -CApath dir kann entfallen, wenn das
Zertifikat der DFN-Zertifizierungsstelle in
/etc/ssl/certs abgelegt wurden.
Ablage der Zertifikate für die Benutzung
Nun muss das Zertifikate bzw. der Keystore nur noch an der richtigen Stelle abgelegt werden,
- für Globus: im Verzeichnis
$HOME/.globus
GSI-SSHTerm:
kann entweder auf das $HOME/.globus-Verzeichnis oder auch auf einen pkcs12-Keystore zugreifen; es wird Java-Webstart benötigt, das derzeit (unter Linux) nur in 32-bit Java-Versionen enthalten ist. Zusätzlich müssen ggf. die Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files lokal installiert werden (vgl.
FAQ des
englischen Grid-Support-Teams). Die für D-Grid Sites benötigten
CA-Zertifikate
und Signing Policies müssen darüberhinaus im
Verzeichnis $HOME/.globus/certificatesabgelegt werden. Siehe
Anleitung des LRZ- im UNICORE-Client: bei "User Settings" / "Keystore Editor"
- im Web-Browser: bei "Einstellungen" / "Verschlüsselung" oder "Zertifikate"
- für mutt kann der Keystore via
smime_keyszugänglich gemacht werden (vgl.
Anleitung im BLOG)
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. Die Fingerprints dieser Zertifikate können Sie manuell mit
openssl x509 -fingerprint -noout [-md5|-sha1] -in
xyz.pem überprüfen.
Wurzelzertifikat der DFN-PKI Grid Hierarchie (DFN-Verein PCA Grid - G01)
- Gültig bis 7. September 2013
- MD5 Fingerprint=41:39:4A:58:2E:F0:45:B2:29:28:F1:72:AB:F7:05:08
- SHA1 Fingerprint=1C:BB:D4:BA:97:7B:3A:B9:FF:CD:4A:97:77:50:87:9C:6A:2E:8E:38
- Zertifikat im
DER/CRT-Format - Zertifikat im
PEM-Format - zugehörige
Widerrufslisten
In Deutschland werden für einige Benutzergruppen auch
GRID-Zertifikate vom Forschungszentrum Karlsruhe (
GridKa) ausgestellt.
- NEUES ROOT CA Zertifikat der GridKa-CA (Achtung: gleicher Hash-Wert [dd4b34ea.0] wie das alte Root-CA Zertifikat der GridKa-CA, d.h. evtl. müssen Sie das alte Root-CA Zertifikat der GridKa-CA erst manuell auf Ihrem Browser etc. löschen bevor Sie das neue Importieren können!)
- Gültig bis 10. Juni 2014
- MD5 Fingerprint=74:7A:9E:7B:6B:03:5A:FA:FC:BF:70:FB:DD:E9:95:0B
- SHA1 Fingerprint=AF:A0:D1:16:FB:E6:E9:44:9B:22:01:8A:6E:0D:AC:23:A7:DC:CD:A7
- Zertifikat im
DER/CRT-Format - Zertifikat im
PEM-Format - zugehörige
Widerrufslisten



