mikrocontroller.net

Forum: PC Hard- und Software Welche Smartcard ist die richtige? OpenSSL CA, User Cert


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Sören K. (burnersk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit längerer Zeit habe ich einen Yubikey 4 und nutze dort u.a. das 
OpenPGP-Applet recht häufig. Neben dem OpenPGP-Applet bietet der Yubikey 
parallel aber auch ein PIV-Applet, mit dem man "echte" X509-Zertifikate 
nutzen kann.

Ich möchte meine (eh schon Offline-) CA noch ein wenig mehr absichern 
und den CA-Key/Zertifikat auf die Smartcard übertragen.

Gleichzeitig soll der Kartentyp sich aber auch für normale Nutzer 
eignen. Also neben der "CA-Smartcard" soll es auch eine "User-Smartcard" 
geben, mit der Benutzer z.B. Code signieren (Git commits, Authenticode, 
APK) oder E-Mails/Dateien ver-/entschlüsseln können.

Die Karte sollte/muss die Möglichkeit bieten, die Signatur-PIN direkt am 
Kartenleser eingeben zu können. Genau dieser Umstand hier soll auch die 
(nicht physikalische) Sicherheit erhöhen. So kann z.B. ein Trojaner 
(zumindest) nicht mehr den Key bzw. dessen Passphrase klauen.

Cool wäre es natürlich auch, wenn das Display des Kartenlesers das 
Subject anzeigen würde, welches die Smartcard signieren soll (z.B. wie 
bei ChipTAN-Generatoren). Ich schätze aber, dass das protokolltechnisch 
nicht möglich ist. Der Standard beschreibt glaube ich nur maximal die 
Signatur-PIN-Eingabe am Gerät und darüber hinaus nicht noch eine 
Anzeigemöglichkeit auf dem Display.

Soweit zum Intro...

Da ich vom Yubikey her komme habe ich erst mal nach "PIV Smartcards" 
gesucht und nur die Yubikey-Familie oder das Standardpapier selbst
 bzw. US-Verfahrensanweisungen (daher kommt es ja auch) gefunden.

Eine allgemeine Suche nach "Smartcard kaufen" (u.ä.) brachte überwiegend 
nur JCOP Ergebnisse. Ich möchte aber (vorerst) nicht mein eigenes Applet 
schreiben (ist ja "immer gut", seine Krypto selbst zu schreiben statt 
offene und auditierte Krypto zu nehmen, gelle :P ).

Könnt ihr mir Smartcards empfehlen, mit denen ich X509-Zertifikate mit 
Schlüsseln verwalten kann? Sie müssen die Signatur-PIN erzwingen, bzw. 
die Möglichkeit der Erzwingung (Konfigurierbarkeit) bereitstellen. Die 
Ver-/Entschlüsselung/Signierung muss natürlich auf der Smartcard 
passieren, was hoffentlich bei jeder so ist. Deswegen muss der RNG auf 
der Smartcard auch gut sein und nicht z.B. nie eine 0 oder häufiger die 
gleichen "Zufallszahlen" herausspucken.

: Bearbeitet durch User
Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sören K. schrieb:
> Ich möchte meine (eh schon Offline-) CA noch ein wenig mehr absichern
> und den CA-Key/Zertifikat auf die Smartcard übertragen.

Denk aber auch an Beschädigung oder Verlust der Smartcard. Entweder 
mehrere Ersatzkarten an unterschiedlichen Orten oder den Schlüssel in 
mehrere Teile aufteilen und dann Papierkopien an mehreren Orten lagern:

https://github.com/intra2net/paperbackup

> Cool wäre es natürlich auch, wenn das Display des Kartenlesers das
> Subject anzeigen würde, welches die Smartcard signieren soll (z.B. wie
> bei ChipTAN-Generatoren). Ich schätze aber, dass das protokolltechnisch
> nicht möglich ist.

korrekt. Das ist bei Klasse 3-Kartenlesern (die mit eigener Tastatur) 
nicht vorgesehen. Du müsstest komplett eigene Karten und 
Kartenlesegeräte entwickeln...

> Könnt ihr mir Smartcards empfehlen, mit denen ich X509-Zertifikate mit
> Schlüsseln verwalten kann?

OpenPGP Card:
https://g10code.com/p-card.html

Du kannst auf der Karte aber jeweils nur 3 Schlüssel speichern, die 
jeweils fest definierte Eigenschaften und Funktionen haben:
- Entschlüsseln
- Signieren
- Login Authentifizieren (z.B. für SSH)

Das ist auch in den verschiedenen ISO-Standards für Smartcards so 
festgelegt.

Lies Dir vielleicht vorher mal die Dokumentation/Spezifikation der 
Karten durch.

> Deswegen muss der RNG auf
> der Smartcard auch gut sein und nicht z.B. nie eine 0 oder häufiger die
> gleichen "Zufallszahlen" herausspucken.

Ordentliche Smartcards haben einen brauchbaren Hardware-RNG mit 
verschiedenen Zustandsüberwachungen und Kontrollfunktionen mit drauf. 
"nie eine 0" ist aber keine sinnvolle Anforderung für einen RNG. Genauso 
kann es auch passieren, daß mehrfach die selbe Zahl rauskommt. Das ist 
möglich und tritt bei einer großen Anzahl von "Ziehungen" eben auch mal 
auf. Aber die Beurteilung der Qualität von TRNGs ist ein komplett 
eigenes und komplexes Thema.

: Bearbeitet durch User
Autor: ~Mercedes~ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd E. meinte:

> Ordentliche Smartcards haben einen brauchbaren Hardware-RNG mit
> verschiedenen Zustandsüberwachungen und Kontrollfunktionen mit drauf.

wirklich?
Einen, der mit Rauschdiode wirklichen Zufall
erzeugt?
Einen, die wirklich keine EEPROM - Zellen
zum Funktionieren braucht, die ja Verbarauchsmaterial
sind?

Kannst Du ne Karte empfehlen, die man nicht dauernd
auswechseln muß, weil sie "totgeschrieben" ist oder
die ihre Antenne "nach 14 Tagen verliert"?
Mir kommt es vor, das die Anbieter, ähnlich den
Druckerherstellern mit ihren Patronen, vom Kartennachschub
leben. ;-P ;-))

mfg

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
~Mercedes~ schrieb:
> Gerd E. meinte:
>
>> Ordentliche Smartcards haben einen brauchbaren Hardware-RNG mit
>> verschiedenen Zustandsüberwachungen und Kontrollfunktionen mit drauf.
>
> wirklich?
> Einen, der mit Rauschdiode wirklichen Zufall
> erzeugt?

Na ob die nun Dioden, Transistoren rückwärts oder, wie Intel fürs 
RDRAND/RDSEED, irgendwelche metastabilen Latches verwenden, ist doch 
erstmal zweitrangig - wenn es ordentlich implementiert ist.

> Einen, die wirklich keine EEPROM - Zellen
> zum Funktionieren braucht, die ja Verbarauchsmaterial
> sind?

EEPROM-schreiben für Nutzung des RNG ist tatsächlich nicht die feine 
Art.

> Kannst Du ne Karte empfehlen, die man nicht dauernd
> auswechseln muß, weil sie "totgeschrieben" ist oder
> die ihre Antenne "nach 14 Tagen verliert"?

"Antenne"?

Ich nutze die oben genannten OpenPGP-Cards (Zeitcontrol) regelmäßig als 
RNG und hab damit noch keine Ausfälle oder Probleme bemerkt.

Die Karten sind allerdings nicht 24/7 im RNG-Einsatz, sondern werden nur 
bei Bedarf an einem speziellen Rechner zur Schlüsselerzeugung/Signierung 
verwendet.

Wenn Du mit anderen Karten solche Probleme bemerkt hast, würde ich mich 
mal mit konkreten Problembeschreibungen / Anfrage an die 
gnupg-Mailingliste wenden. Da sind die Entwickler der OpenPGP-Karte zu 
finden und die können Dir ganz genau sagen wie dort der RNG arbeitet. 
Ein Teil der Sourcen für die Karte ist auch veröffentlicht. Leider 
dürfen die wohl nicht alles veröffentlichen, weil ein Teil der Libs 
unter NDA steht.

Wenn Du nur nach einem zuverlässigen RNG für 24/7-Einsatz suchst, würde 
ich mir mal den hier anschauen:
https://github.com/waywardgeek/infnoise

Mit dem habe ich im 24/7-Einsatz bisher gute Erfahrungen gemacht und 
füttere die Daten von dem als zusätzliche Entropie in den Entropiepuffer 
vom Linux-Kernel.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.