Zertifikat auf Chipkarte vertrauenswürdig?

  • Hallo zusammen,


    beim Stöbern bin ich auf einen interessanten Punkt gestoßen an den ich noch gar nicht gedacht hatte: Wenn ein Trustcenter meinen privaten Schlüssel hat, ist die Sache ja nicht mehr wirklich sicher (gegen NSA & Co).
    Bei reinen Software-Zertifikaten ist es ja offenbar so, dass der private Schlüssel beim Erstellen den eigenen Rechner nie verlässt.
    Wenn ich aber ein qualifiziertes Zertifikat (Klasse 3) auf Chipkarte habe, ist der PK ja auch mit drauf, sprich das ausgebende Trustcenter muss meinen PK haben. Wie ist das zu interpretieren?


    Viele Grüße
    Azrael42

  • Also zuerst einmal, mich freut, dass du dich so intensiv mit dieser Materie befasst! Und du wirst auch von mir zu allen deinen Fragen eine Antwort bekommen.


    Zitat

    Bei reinen Software-Zertifikaten ist es ja offenbar so, dass der private Schlüssel beim Erstellen den eigenen Rechner nie verlässt.


    Klares JAin!
    Es gibt nämlich zwei Methoden, einen Softwaretoken zu erzeugen.
    1.) Beim Antragsprozess generiert die Kryptoengine deines eigenen Browsers (mit dem Pseudo-Zufallszahlengenerator deines PC :-( ) das Schlüsselpaar, und der Browser übergibt dann an das Trustcenter einen so genannten Zertifikatsrequest. Dieser besteht nur aus dem öffentlichen Schlüssel und deinen Zertifikatsdaten (Name, Mailadresse, Ort usw.) Das TrustCenter ergänzt mit eigenen Angaben (Herausgeber, Zertifikat des Herausgebers, Gültigkeitszeitraum und weitere) und signiert dann das ganze mit seinem private key. Das bekommst du dann zurück, und im Browser kannst du dann deinen private key hinzufügen und alles als Schlüsseldatei (p12 oder pfx) exportieren und hoffentlich mit einem PW versehen.
    Das ist die bessere Variante!
    2.) Und dann gibt es noch TrustCenter, welche "als Service" dem Kunden die komplette Schlüsseldatei produzieren. Also incl. des private keys. Naja ...


    Du musst dich also selbst in der Policy des TC informieren, was da zur Anwendung kommt. Ein seriöses TC beschreibt das sehr ausführlich in seiner Policy.


    Zitat

    Wenn ich aber ein qualifiziertes Zertifikat (Klasse 3) auf Chipkarte habe, ist der PK ja auch mit drauf, sprich das ausgebende Trustcenter muss meinen PK haben. Wie ist das zu interpretieren?


    Im Signaturgesetz ist klar geregelt, wie die Produktion der Signaturkarten zu erfolgen hat. Und auch, dass nur Zertifikate auf evaluierten Signaturkarten ausgegeben werden dürfen, also keine Softtoken.
    Auf diesen Signaturkarten befinden sich u.a.:
    - ein zertifizierter kryptologischer Rauschgenerator (also ein echter Hardwaregenerator, kein "Pseudo-Rauscher"!)
    - ein kryptologischer Coprozessor
    - ein Hauptprozessor
    - Speicher


    Bei der so genannten Vorpersonalisierung in einem nicht vernetzten KGS wird die Karte eingezogen und die Karte (!) bekommt vom Steuerrechner des KGS den Befehl, die entsprechende Anzahl private keys zu "rauschen". Diese werden in die vorbereiteten Slots im dauerhaften Speicher kopiert und diese dann für rw gesperrt. Nur noch Ausführen (x) möglich. Vorher werden noch auf dem krypt. Coprozessor die entsprechenden öffentlichen Schlüssel aus den private keys berechnet und diese ebenfalls gespeichert. Natürlich les- und schreibbar. Die vorpersonalisierte Karte ist elektrisch zu diesem Zeitpunkt noch anonym, besitzt n private, nicht auslesbare Schlüssel und ebenso viele öffentliche. (Manche höherwertige Signaturkarten besitzen 2 bis 6 unterschiedliche, in ihrer Funktionalität bewusst eingeschränkte Schlüsselpaare/Zertifikate. Damit ist sichergestellt, dass für Ver- und Entschlüsselung, el. Signatur für fortgeschrittene und qualifizierte el. Signatur und diverse Auth.-Prozesse jeweils ein anderes Schlüsselpaar zu nehmen ist.)
    Bei der anschließenden Personalisierung werden die Zertifikatsdaten hinzugefügt und das ganze dann mit dem private key des TrustCenters signiert. Das sind dann die exportfähigen persönlichen Zertifikate des Antragstellers. Zusätzlich werden noch die Herausgeberzertifikate auf die Karte kopiert.


    Bei dem beschriebenen Verfahren ist sichergestellt, dass die private keys niemals die Karte verlassen! Weder bei der Produktion, noch bei der späteren Nutzung. Durch den Schutz mit einer 6-10 stelligen PIN (und max drei Fehlversuchen) ist gewährleistet, dass auch kein Austesten einer "gefundenen" Karte möglich ist.


    Eine derartige Signaturkarte ist wesentlich sicherer als jeder Softtoken! Das beginnt bei den nachweislich besseren Zufallszahlen, welche der Pseudo-Zufallszahlengenerator eines PC niemals in dieser Qualität erzeugen kann und geht bis zur Selbstzerstörung der Karte bei mehrfach falschem PIN. Im Gegensatz dazu kannst du einem (jedem!) Softtoken mit Brute Force sein Geheimnis entlocken. Du hst ja "unendlich" viele Versuche.


    Du wirst zwar nie (oder nur äußerst unwahrscheinlich) ein TrustCenter wie D-Trust besichtigen. Ich schon ... . Aber du kannst dir antun, die Policy dieses TC zu studieren. Und kein (dt.) Trustcenter wird sich wagen, gegen das SigG und seine eigene Policy zu verstoßen.



    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Hallo Peter,


    vielen Dank für Deine ausführliche Beschreibung, jetzt ist mir einiges klar.
    Ich dachte vorher, es wird im Prinzip wie z.B. mit openssl auf einem normalen Rechner ein Schlüsselpaar erzeugt und das dann auf die Karte kopiert.
    So wie ich das verstanden habe, kennt das TC selbst die PKs also streng genommen nicht. Wobei man der Zertifizierung halt auch trauen muss, nicht dass die noch andere "Funktionen" voraussetzt, aber jetzt wirds richtig paranoid :P


    Wegen des Softwarezertifikats der Uni muss ich mal schauen wie die das gemacht haben...


    Danke nochmal & viele Grüße
    Azrael42


    EDIT: Im Endeffekt läufts also darauf hinaus ob ich eher dem Pseudogenerator des PC oder dem Rauscher des Chipkartenproduzenten vertraue, richtig?