Sicherheit

    So teilen Sie ein privates Zertifikat sicher über einen geschützten Link

    Trennen Sie Zertifikat und privaten Schlüssel, packen Sie den Schlüssel in eine PFX mit Passwort, senden Sie sie per Einmal-Link und das Passwort separat.

    LinkPilot Team · Die Menschen, die LinkPilot bei TetraCore, LLC entwickeln und betreiben · Über LinkPilot

    Eine Zertifikatsanfrage landet in Ihrem Postfach: Ein Dienstleister braucht Ihr Client-Zertifikat, ein neuer Load Balancer braucht das Wildcard-Zertifikat, ein Kollege braucht das Signaturzertifikat, um ein Release zu bauen. Die angefragte Datei kann harmlos sein. Sie kann aber auch den privaten Schlüssel enthalten, mit dem sich jeder als Ihr Dienst ausgeben kann, und oft stecken beide im selben Paket.

    Um ein privates Zertifikat sicher über einen Link zu teilen, klären Sie zuerst, welche Hälfte wirklich gebraucht wird. Verpacken Sie den privaten Schlüssel so, dass er ohne Passwort nutzlos ist, senden Sie die Datei über einen Einmal-Link, der nach einem Download gelöscht wird, und schicken Sie das Passwort auf anderem Weg. Dieser Leitfaden geht jeden Schritt mit den passenden Befehlen durch.

    Das Zertifikat ist öffentlich. Der Schlüssel nicht.

    Ein Zertifikat enthält einen öffentlichen Schlüssel, den Inhaber, für den es ausgestellt wurde, den Aussteller und die Gültigkeitsdaten. Es ist dafür gedacht, verteilt zu werden: Jeder Browser, der sich mit Ihrer Website verbindet, erhält es. Der private Schlüssel ist das separate Geheimnis, das beweist, dass das Zertifikat Ihnen gehört. Wer ihn besitzt, kann Datenverkehr entschlüsseln, der für Sie bestimmt ist, in Ihrem Namen signieren oder einen Server aufsetzen, der sich als Sie ausgibt.

    Die erste Frage lautet also, ob der Empfänger den Schlüssel überhaupt braucht.

    Der Empfänger möchteEr brauchtSensibel?
    Ihrem Dienst vertrauen oder eine Signatur prüfenDas Zertifikat (und eventuell die CA-Kette)Nein
    TLS auf einem eigenen Server oder Gerät einrichtenZertifikat, Kette und privaten SchlüsselJa
    Code oder Dokumente im Namen Ihrer Organisation signierenZertifikat und privaten SchlüsselJa, hochgradig
    Sich mit einem Client-Zertifikat an einem System anmeldenZertifikat und privaten SchlüsselJa

    Trifft die erste Zeile zu, senden Sie die .crt- oder .cer-Datei auf beliebigem Weg und hören hier auf zu lesen. Alles Weitere gilt für die Zeilen, in denen der Schlüssel den Ort wechseln muss.

    Prüfen Sie den Inhalt der Datei vor dem Senden

    Dateiendungen täuschen. Eine .pem kann ein Zertifikat, einen Schlüssel oder beides enthalten. Eine .pfx oder .p12 bündelt meist Zertifikat, Kette und Schlüssel hinter einem Passwort. Prüfen Sie vor dem Senden:

    # what is in this PEM?
    openssl x509 -in cert.pem -noout -subject -issuer -dates
    grep -c "PRIVATE KEY" cert.pem        # 0 means no key inside
    
    # what is in this PFX? (prompts for the password)
    openssl pkcs12 -in bundle.pfx -info -noout
    

    Prüfen Sie, ob der Inhaber dem entspricht, was der Empfänger angefragt hat, und ob das Ablaufdatum in der Zukunft liegt. Das falsche Zertifikat zu senden, kommt häufig vor. Das falsche Zertifikat samt Schlüssel zu senden, ist ein Sicherheitsvorfall.

    Den Schlüssel so verpacken, dass er allein nutzlos ist

    Muss der Schlüssel verschickt werden, dann nie ungeschützt. Bringen Sie ihn in ein Format, das mit einem Passwort verschlüsselt ist, das Sie separat senden.

    # bundle certificate, chain and key into a password-protected PFX
    openssl pkcs12 -export -out service.pfx \
      -inkey service.key -in service.crt -certfile chain.crt
    
    # or encrypt a PEM key on its own
    openssl pkey -in service.key -aes-256-cbc -out service.enc.key
    

    Verwenden Sie ein langes Passwort aus einem Passwortmanager. Das Passwort ist der zweite Faktor: Wer an die Datei kommt, kann sie trotzdem nicht nutzen, und wer an das Passwort kommt, hat nichts, worauf er es anwenden kann.

    Der Link ist der Zustellschritt. Ziel ist, dass danach in keiner Nachricht eine Kopie der Datei übrig bleibt.

    1. Prüfen Sie den Empfänger anhand einer Quelle, der Sie bereits vertrauen: das Ticket, der hinterlegte Kontakt beim Dienstleister, ein Anruf. Eine Zertifikatsanfrage von einer unerwarteten Adresse verdient einen Anruf, keine Antwort per E-Mail.
    2. Erstellen Sie einen Secret-Link mit der Datei als Anhang. Öffnen Sie in einem angemeldeten LinkPilot-Konto „Secret Links“, wählen Sie „New“ und hängen Sie die PFX oder das verschlüsselte PEM an. Dateien sind auf je 9 MB begrenzt, das ist Tausende Male mehr als jedes Schlüsselpaket. Der Anhang wird vor dem Hochladen in Ihrem Browser verschlüsselt und beim ersten Download gelöscht.
    3. Stellen Sie den Ablauf auf das tatsächliche Zeitfenster ein. Eine Stunde, wenn der Empfänger schon wartet, 24 Stunden über Zeitzonen hinweg. Der einmalige Download ist die wichtigste Kontrolle. Der Ablauf ist die Absicherung für einen Link, den niemand öffnet.
    4. Setzen Sie das Aufruflimit auf eins. Brauchen zwei Personen aus dem Team das Paket, bekommt jeder einen eigenen Link.
    5. Fügen Sie in einem Pro-Konto eine Passphrase zum Link hinzu, wenn er über einen Kanal geht, den andere einsehen können.
    6. Senden Sie den Link mit einer Zeile Kontext: welches Zertifikat, welches System, wann er abläuft.
    7. Senden Sie das Dateipasswort über einen anderen Kanal. Per SMS, per Anruf oder als zweiten Secret-Link auf einem anderen Weg. Niemals in derselben Nachricht wie den Dateilink und niemals im Dateinamen.

    Ist der Schlüssel kurzer PEM-Text, können Sie ihn auch direkt in das kostenlose Secret-Link-Tool einfügen, statt eine Datei anzuhängen. Der Text wird ebenso in Ihrem Browser verschlüsselt und beim ersten Öffnen gelöscht.

    Sagen Sie dem Empfänger, was er damit tun soll

    Senden Sie die Installationshinweise mit der Kontextnachricht, nicht mit dem Passwort:

    • Welche Datei kommt, in welchem Format und auf welches System sie gehört.
    • Wo sie gespeichert wird: im Zertifikatsverzeichnis des Servers mit Rechten nur für das Dienstkonto oder im Zertifikatsspeicher des Betriebssystems. Nicht unter Downloads, nicht auf einem geteilten Laufwerk.
    • Die heruntergeladene Kopie löschen, sobald sie importiert ist, und nie in ein Repository committen.
    • Den Empfang bestätigen anhand von Dateiname und Fingerabdruck, niemals durch Zurücksenden der Datei:
    openssl x509 -in service.crt -noout -fingerprint -sha256
    

    Danach

    Prüfen Sie, ob der Link als „revealed“ angezeigt wird und der Empfänger bestätigt, dass der Fingerabdruck übereinstimmt. Pro-Konten sehen im Audit-Verlauf den genauen Zeitpunkt des Downloads. Wurde der Link geöffnet, bevor der Empfänger dazu kam, oder ging die Datei an die falsche Adresse, warten Sie nicht auf Hinweise auf Missbrauch: Lassen Sie das Zertifikat von der ausstellenden CA widerrufen, erzeugen Sie ein neues Schlüsselpaar, lassen Sie das Zertifikat neu ausstellen und ersetzen Sie es überall, wo es installiert ist.

    Halten Sie fest, wer welches Zertifikat wann erhalten hat. Bewahren Sie diesen Nachweis auf. Die Datei selbst sollte auf den Systemen liegen, die sie brauchen, und nirgendwo dazwischen.

    Tools zu diesem Artikel

    Häufige Fragen

    LinkPilot verschickt einen Secret-Link, der nach dem Öffnen verschwunden ist.

    In Ihrem Browser verschlüsselt, einmal angezeigt, dann gelöscht. Ohne Konto.

    Secret-Link erstellen

    Weiterlesen