Verwenden von SmartCards
Stand: 15.03.2011
Üblicherweise werden Schlüsselpaare und Zertifikate auf dem Rechner oder auf einem Datenträger gespeichert, z. B. im Software-Sicherheitsmodul der Mozilla-Software (Firefox, Thunderbird, SeaMonkey) oder im Windows-Zertifikatspeicher.
Das ist jedoch nur mäßig sicher: Der private (geheime) Schlüssel des Schlüsselpaares wird dort zwar selbst wiederum verschlüsselt abgelegt; falls der Rechner jedoch durch ein Virus befallen wird, könnte das Virus sowohl das zertifizierte Schlüsselpaar als auch das eingetippte, zur Entschlüsselung notwendige Passwort abfangen und an den Angreifer übermitteln, der dann ohne weitere Probleme Ihre elektronische Identität annehmen und insbesondere auch Ihre elektronische Unterschrift fälschen kann.
Um dieser Gefahr zu begegnen, kann man eine SmartCard verwenden. Dann wird der private Schlüssel auf der SmartCard selbst erzeugt und es ist unmöglich, diesen Schlüssel aus der SmartCard auszulesen. Das ist auch nicht notwendig, denn das Signieren oder Entschlüsseln wird bei Verwendung einer SmartCard nicht mehr von Ihrem Computer, sondern von der SmartCard selbst durchgeführt.
Um SmartCards zu verwenden, benötigen Sie:
-
eine SmartCard mit passender Treiber-Software für Ihr Betriebssystem und
-
einen passenden SmartCard-Leser ebenfalls mit passender Treiber-Software für Ihr Betriebssystem.
Folgende SmartCards haben wir erfolgreich ausprobiert. (Es haben aber keine gründlichen Tests stattgefunden, daher enthalten die folgenden Seiten nur Hinweise, keine ausgereiften Anleitungen.)
-
Gemalto .NET (Hersteller-Infos)
Mit dieser Karte ist es uns gelungen, unter Windows XP, unter Windows Vista, und unter MacOS eine Zugangskontrolle zum System einzurichten (unter Linux soll es auch gehen). Die Zugangskontrolle zu den Windows-Systemen konnte auch mittels rdesktop von einem Linux-System aus genutzt werden.
Es ist uns auch gelungen, unter Windows XP, unter Windows Vista und unter Linux (Hinweise) uns gegenüber Webservern auszuweisen und E-Mails mit S/MIME zu signieren und zu ver- und entschlüsseln.
-
Aladdin eToken Pro 64k und ähnliche (Hersteller-Infos)
Mit diesem USB-Stick - er ist SmartCard und SmartCard-Leser in einem - ist es uns unter Windows XP und unter Windows Vista gelungen, eine Zugangskontrolle zum System einzurichten. Die Zugangskontrolle zu den Windows-Systemen konnte auch mittels rdesktop von einem Linux-System aus genutzt werden.
Es ist uns auch gelungen, unter Windows XP, unter Windows Vista und unter Linux (Hinweise) uns gegenüber Webservern auszuweisen und E-Mails mit S/MIME zu signieren und zu ver- und entschlüsseln.
Weiterhin ist es uns gelungen, unter Windows XP, unter Windows Vista und unter Linux (Hinweise) SSH-Verbindungen zu anderen Systemen aufzubauen und uns dabei mit Public-Key-Authentifizierung auszuweisen.
Bei Linux-Distributionen mit OpenSSH 5.3 oder älter (z. B. Ubuntu bis 10.04) galt: Allerdings mussten wir für die SSH-Verbindungen unter Linux ein getrenntes Schlüsselpaar mit eigenem Zertifikat verwenden, denn OpenSSH bis 5.3 verwendet PKCS#15-Datenstrukturen, während alle anderen genannten Funktionen PKCS#11-Datenstrukturen verwenden. Beide können aber nebeneinander auf dem eToken abgelegt werden und stören sich nicht gegenseitig.
Bei Linux-Distributionen mit OpenSSH 5.4 oder neuer (z. B. Ubuntu ab 10.10) ist diese Sonderbehandlung nicht mehr erforderlich.
Wenn man die Sicherheit noch weiter steigern möchte, benutzt man einen SmartCard-Leser mit eingebauter Tastatur, so dass man die PIN einer SmartCard nicht mehr auf dem virengefährdeten Computer eintippt, sondern direkt auf dem SmartCard-Leser.
Extreme Sicherheit wird erreicht, wenn der SmartCard-Leser neben der Tastatur auch noch einen Bildschirm hat, auf dem die zu signierenden Daten zur Kontrolle noch einmal angezeigt werden, denn ein Virus könnte ja andere Daten zum Signieren zur Karte schicken als auf dem Bildschirm angezeigt werden.
Wir haben aber bislang keine Erfahrungen mit solchen Geräten gesammelt.

