Endpoint Security - Smartcard

Vielen Firmen ist eine Anmeldung allein durch Benutzername und Kennwort nicht sicher genug. Kennworte können einfach weiter gegeben werden so dass eine klassische "Zwei-Faktor Authentifizierung" immer wieder nachgefragt wird. Ist ist natürlich für Zugriffe auf Outlook Web App und VPNs eine sehr wichtige Aufgabenstellung. Aber auch bei einem Notebooks und selbst einem Desktop kann es durchaus gerechtfertigt sein, auch hier eine stärkere Anmeldung zu erfordern. Eine Smartcard ist hier das häufigste Mittel, welches von Microsoft schon seit  Windows 2000 und höher unterstützt wird.

The Secure Access using Smart Cards Planning Guide
http://technet.microsoft.com/de-de/library/cc170941(en-us).aspx
The Secure Access using Smart Cards Planning Guide
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=4184

Smartcards mit Exchange

Der direkte Einsatz mit Exchange und Smartcards ist eine geteilte Geschichte.

  • OWA 2003/2007/OWA2010
    e Einrichtung ist in der Exchange Hilfe beschrieben und beruht letztlich auf der Konfiguration des IIS, der dann keine formularbasierte Anmeldung mehr anbietet, sondern die Clientzertifikate erfordert, annimmt, prüft und dann die Authentifizierung an Exchange weiter gibt:
  • OWA SMIME-Control
    Das SMIME-Control, damit auch per OWA verschlüsselte E-Mails gelesen und Mails signiert werden können, funktioniert hingegen ohne jede weitere Anpassung, sofern die Smartcard auf dem Client-PC korrekt erkannt wird.
  • TMG/ISA mit Kerberos Constraint Delegation
    Es dürfte kein Problem sein, wenn ein ISA/TMG die Authentifizierung anhand einer Smartcard vornimmt und dann als Client an den nachgeschalteten CAS-Server zugreift. Natürlich muss dazu mit Constraint Delegation gearbeitet werden, da der TMG ja leider kein Kennwort für den Anwender weitergeben kann
    www.it-training-grote.de/download/owa-sc-isa.pdf
  • Outlook
    Aktuell ist es nicht möglich, Outlook mit einer Smartcard an Exchange anzumelden. Es gibt wohl eine einzige Installation, die mit einer besonderen Konstellation den Betrieb mit Smartcards vorsieht und seit Exchange 2010 SP1 gibt es sogar ein PowerShell-Skript, um diese Einstellungen auf dem Server vorzunehmen. Wer dies aber ausführt, sperrt alle Clients aus, die keine Smartcard verwenden. Faktische wird ihr Exchange Server damit unbrauchbar.
  • Outlook SMIME
    Analog zu OWA und SMIME kann auch in Outlook die Funktion der Signierung und Entschlüsselung auch mit einem Zertifikat auf einer Smartcard ohne weitere Einstellungen genutzt werden, sofern die Smartcard korrekt dem Betriebssystem bekannt ist.

Gerade für Outlook ist daher noch lange nicht in Sicht, dass hier eine Lösung kommt. Vielleicht wird sie einfach nicht oft genug nachgefragt. Mit Outlook ist es daher bei solchen Anforderungen noch am besten, ein VPN aufzubauen.

Erste Schritte mit Smartcards

Und die Einrichtung ist gar nicht mal so schwer. Schade ist nur, dass die Anbieter entsprechender Kartenleser und der Smartcards relativ hohe Preise für die Ausstattung verlangen und zudem es nicht immer offensichtlich ist, welche Ausstattung denn nun für die Anmeldung erforderlich ist. Viele "verbinden" ihre Pakete Zum Teil mit Passwort Managern, GSM-Karten-Lese-Tools, HBCI oder Bank-Karten Funktion. Das ganze verwirrt aber mehr, wenn man eigentlich "nur" eine Smartcard Anmeldung umsetzen möchte.

Achtung:
Es gibt verschiedene Anbieter, die Produkte zur "Smartcard-Anmeldung" am Betriebssystem anbieten. Einige hinterlegen dazu aber das Windows Kennwort auf der Smartcard und ein Treiber "tippt" dies für sie dann ein, d.h. es ist keine echte kryptografische Anmeldung. Solche Karten werden oft auch als Passwordsafe etc. bezeichnet oder werben damit, dass "jede" Karte (z.B. auch die österreichische Bürgerkarte, Bankkarten o.ä.) eingesetzt werden kann.
Andere USB-Tokens (z.B. der Rainbow iKey sind zwar gültige Smartcard-Tokens aber der iKey 1000 verschlüsselt NICHT auf dem USB-Key sondern dort liegt nur der Private Key in auslesbarer Form, damit die Clientsoftware dann damit arbeiten kann.

Hier hilft also nur das ganz genaue Nachfragen mit Zusicherung der geforderten Eigenschaften. Allerdings ist es dann schon noch ratsam, sich über Zertifizierungsstellen und den Prozess der Zertifikatsausstellung etc. Gedanken zu machen. (Siehe auch Firmen CA ff). Kaum hat man aber einen entsprechenden CSP (Cryptocraphic Service Provider) installiert, erscheinen an vielen Stellen die Smartcard-Optionen, z.B. bei RDP:

Allerdings sind dafür einige Voraussetzungen zu erfüllen, die vermutlich niemand auf der MSXFAQ suchen würde. Einen sehr guten langen Artikel der Zusammenhänge finden Sie auf:

Windows Vista Smart Card Infrastructure
http://msdn.microsoft.com/en-us/library/bb905527.aspx

Wenn Sie dann aber eine Smartcard haben, dann reicht eine Einstellung in den Gruppenrichtlinien, um einen Desktop zu sperren, sobald jemand die Smartcard entfernt:

Diese Einstellung greift aber nur für Windows 2000/2003/XP. Ab Windows Vista gibt es lokal einen extra Dienst, den Sie auf automatisch stellen müssen, damit die Richtlinien angewendet werden.

Der Tippfehler "Smartcard" ist wirklich bei Windows 7 so drin.

Also auch eine Einstellung über eine Gruppenrichtlinie.

Zudem gibt es einen Eintrag drüber noch die "Require Smartcard" Einstellung, die wie die "Smart card removal behaviour" nur auf dem Computer zu setzen ist. Nach dem nächsten Update der Gruppenrichtlinien auf dem Client wirkt diese Einstellung. Der Zwang zur Anmeldung per Smartcard kann ich auch für Benutzer individuell vorschreiben:

So lassen sich sensible Benutzer besonders schützen.

Matrix der Karten

Die Karten unterscheiden sich bezüglich mehrerer Merkmale, so dass ein direkter Vergleich eigentlich nicht möglich ist

  • CSP Unterstützung und Windows Version
    Einige Karten werden von Windows direkt alleine erkannt, während andere Karten noch einen Treiber benötigen. Einige Hersteller von Karten erfordern sogar, dass Sie den Treiber lizenzieren. Zudem hat Microsoft mit Vista das CSP-Modell geändert, so dass auch hier Karten unter 2000,XP,2003 noch gehen und später nicht bzw. Umgekehrt. Das so genannte "Basic
  • Formfaktor: ID1-Karte, USBToken o.ä.
    Es gibt Karten im EC-Format oder SIM-Format zum Einlegen in entsprechende Kartenleser. Einige Karten sind in einem USB-Token eingebaut, so dass sie eine Einheit bilden (Karte und Leser)
  • Kartentyp
    Auch wenn ich kein Fachmann bin, so gibt es .NET-Karten (z.B.: von Gemalto) und auch die klassischen "Java-Karten", die über eine PKCS-Schnittstelle (PKCS#11) angesprochen werden. Letztere brauchen unter Windows in der Regel einen Treiber, der dann aber auch andere Programme bedient. Erstere kommen mit den Windows Bordmitteln aus. Aber ein zu installierender PKCS#11 Zusatztreiber stellt diese Karten dann auch anderen Anwendungen (Notes, Firefox etc.) zur Verfügung.
  • Bitlänge und Zertifikatanzahl
    Erschreckend viele Karten unterstützen nur 1024bit Zertifikate, die in einigen Jahren wohl "geknackt" sein dürften. Und auch bei der Anzahl der auf der Karte ablegbaren Zertifikate gibt es unterschiede, da manche Karten nur wenig Speicher mit bringen.
  • Zusatzspeicher
    Einige Karten sind nicht nur Smartcards, sondern auch kleiner USB-Speicher. Interessant, wenn Sie auf diesem Speicherplatz z.B. ihr Passworddatenbank samt Programm (z.B. Keepass, TrueCrypt o.ä.) oder Treiber für die Smartcard ablegen können. So ist es einfacher auch an einem fremden System "mal schnell" die Smartcard zu verwenden.

Sicher finden Sie noch weitere unterschiede. Zum anderen könne die Hersteller sich einer gewissen Konsolidierung nicht entziehen. Die Firma Schlumberger wurde z.B. durch Axalto übernommen, so dass Produktnamen wie CryptoFlex und Gemsafe verschwunden sind. Axalto und GemPlus firmieren nun unter dem Namen Gemalto.

Diese Liste ist bei weitem noch nicht fertig und da ich nicht alle Karten testen kann, bitte ich um Feedback durch Kunden. Die Reihenfolge stellt keine Bewertung dard

Hersteller/Name ca. Preis Typ

Gemalto .NET Cards
http://www.gemalto.com/products/dotnet_card/
http://www.gemalto.com/products/pc_link_readers/

Gemalto .NET V2+ Smart
EVK 17,11 €
Distributor:www.lwp.de

Smartcard und SIM-Format im USB-Token-Reader

Kobil mIDentity
http://www.kobil.com/de/produkte/midentity-technologie.html
Siehe auch Datev
http://www.datev.de/inus2/inus?handler=doc&type=0&docnr=0903434&outfmt=view&acc=1
Kobit Smart Token
http://www.kobil.com/de/produkte/smart-token-technologie/smart-token.html

 

USB-Token

Raak C2-10
Raak C2-40 Minidriver Smart Card
http://www.raaktechnologies.com/store/smart_cards.html

$12
$16

Smartcard

Raak Cryptoken CT-40
Omnikey 6121 with C2-10 Smart Card
http://www.raaktechnologies.com/store/tokens.html

$80
$30

USB Token

Aladdin eToken
http://www.aladdin.de/etoken/windows-logon.aspx

 

USB-Token

Feitan ePass3000
http://www.ftsafe.com/products/epass3000.html

 

USB-Token

MiniKey5

 

USB-Token

ePass2000

 

USB-Token

StarKey100

 

USB-Token

Eutron CryptoIdentity5 (nicht mehr am Markt ?)

 

USB-Token

SafeNet iKey 2032 / Rainbow
http://www.safenet-inc.com/products/data_protection/multi-factor_authentication/certificate-based_(pki)_USB_authenticators/ikey_USB_2032.aspx

 

USB-Token

AR PrivateCard

 

SmartCard

D-Trust

 

SmartCard

Giesecke & Devrient

 

SmartCard

Reiner SCT mateKey

 

SmartCard

SignTrust

 

SmartCard

TeleSec NetKey
http://www.pressebox.de/pressemeldungen/kobil-systems-gmbh/boxid/3093

 

SmartCard

Infineon SICRYPT v2

ca 18€

Smartcard

Für Windows XP oder 2003 könnte ein Update des CSP erforderlich sein:

909520 Description of the software Update für Base Smart Card Cryptographic Service Provider

Unabhängig von der Smartcard selbst (Sei es als Chipkarte oder in einem USB-Token eingebaut, muss der PC natürlich einen Smartcard-Reader haben. Das können eigenständige Systeme sein (Siehe Windows HCL und http://blogs.msdn.com/b/shivaram/archive/2007/03/22/pc-sc-standards-support-and-windows-logo-for-smart-card-readers-and-drivers.aspx) oder sind ebenfalls mit dem USB-Token.

Praktische Erfahrungen mit Smartcards

Wer schon viele Jahre mit S/MIME arbeitet und nicht immer seine Zertifikate exportieren will, wird früher oder später natürlich die Zertifikate auf einer Smartcard ablegen wollen. Das ist deutlich sicherer und natürlich auch mobiler. Allerdings bedeutet die Sicherheit auch, dass eine Smartcard den private Key nicht rausrückt. Entsprechend ist beim Verlust der Smartcard natürlich schon zu prüfen, wie man ein "Key Recovery" hinbekommen kann.

Ich bin im Besitz mehrerer Smartcards oder USB-Sticks, die wie eine Smartcard funktionieren. Hier die Liste.

Typ Bild Beschreibung

Rainbow Token iKey 1000 und iKey 2000

Dieser Key ist noch aus der "Vor Vista"-Zeit und läuft nicht mehr mit den aktuellen Systemen. Zumindest der iKEy 1000 dürfte wohl auch schon als "gehackt" gelten. Beide liegen aber nur mit entsprechender Client Software. Anscheinend ist die Firma Rainbow aber in Aladin aufgegangen.

eAladin Token

Diese rote Token wurde auf einer CeBit (2000 ?) verteilt. Damals waren entsprechende Treiber immer erforderlich. Leider sind die heute nicht mehr so einfach verfügbar. Unter Windows Vista oder Windows 7 konnte ich diesen Stick nicht mehr nutzen. Auch hier gibt es sicher neuere Produkte, die ich bei Kunden schon gesehen habe (Smartcards und USB-Tokens).

TeleSec Karte + Leser

Microsoft hat vor einigen Jahren zusammen mit Kobil und T-Systems ein "Sicherheitspaket" für wenig Geld verkauft, welches neben einem ISA-Buch auch einen Kobil Smartcardleser samt Tastatur und eine Smartcard enthielt. Leider ist auch diese Kombination nicht mehr unter dem aktuellen System nutzbar, da es keinen Treiber für den Leser gibt

Gemalto

Dies ist meine aktuelle Smartcard.

Gemalto entstand aus einem Merger von Gemplus und Axalto, die ihrerseits schon länger die Firma Schlumberger gekauft hatten. Das schöne an den ".NET"-Karten ist der Betrieb ohne zusätzliche Software, da die erforderlichen Treiber schon bei Windows enthalten sind.

Insofern entfällt das Rollout von Zusatzsoftware, zumindest wenn man in der Windows Welt mit Applikationen bleibt, die auf dem Windows CSP aufsetzen. Thunderbird und Firefox brauchen ein PKCS11-Modul, welches aber ebenfalls verfügbar ist.

Interessant ist, dass diese Karten mit einem VK von unter 25Euro sehr erschwinglich sind. Ein Lieferant in Deutschland ist z.B. LWP in Karlsruhe.

Das Zeit aber auch hier, dass eine Smartcard nicht ewig hält sondern nur über ein paar Generationen eines Betriebssystems unterstützt wird.

Praktische Erfahrungen mit einer aktuellen Smartcard: Gemalto

Da Kunden immer wieder anfragen, wie es denn im Detail aussieht und welche Erfahrungen ich persönlich gemacht habe, habe ich mich besonders über die Zusendung eines Evaluierungskits von Gemalto (über LWP (www.lwp.de) als deutschen Distributor) gefreut. Auf der TechEd konnte ich mit Gemalto ausgiebig diskutieren und hat sowohl echte "Smartcards" mit Kartenlayout also auch USB-Stick, die eine Kombination aus Smartcard-Leser und Smartcard darstellen. Wer mag kann die noch mit Bild bedrucken und RFID-Chip versehen und so eine komplette Firmenausweiskette aufbauen. Mein Notebook hat leider nur einen Blinddeckel an der Stelle des Smartcard-Readers, so dass ich externe Lesegeräte verwenden muss.

Wer schon mal bei Microsoft geschaut hat, wird den ID1-Kartenleser bei dem anderen Mitarbeitern wieder erkennen. Das USB-.Token ist die USB-Version des Lesers, in der eine Smartcard im SIM-Format eingelegt ist. Sowohl der Smartcardleser als auch die eingelegte Smartcard werden ebenso problemlos erkannt, wie der USB-Stick, welcher eine auswechselbare Smartcard im Mini-SIM ist. Nach dem Einstecken gibt es einfach das folgende zu sehen:

Das ist schon mal ein gutes Zeichen, auch im Hinblick auf ein weiteres Rollout im Feld. Es ist zumindest unter Windows 7 x64 kein Treiber und keine Software erforderlich, um die Hardware zu erkennen. Und wenn ich meinen Windows Desktop "absperre", dann erscheint ganz alleine das "Smartcard Icon. So soll es sein. Wenn ich dann eine MMC für Zertifikate starte, kann ich relativ einfach ein Smart-Card Zertifikat für die eingesteckte Karte generieren.

Das Ganze geht natürlich auch per Browser Enrollment.

Das

Achtung:
Wer so ein Zertifikat für "Sichere E-Mail" anfordert, muss wissen, dass beim Verlust der Smartcard kein Zugriff mehr auf die Mails möglich ist, es sei denn Sie haben ein "Key Recovery" auf der Zertifizierungsstelle umgesetzt.

Bei der Anforderung wird dann natürlich die PIN der Smartcard abgefragt.

Natürlich bietet es sich an z.B.: mit einer Windows Enterprise CA ein eigenes Template anzulegen um dort einen CSP (Cryptographic Service Provider) zu fordern. Das normale Template für "Smartcard-Anmeldung" und "Smartcard Benutzer" erzwingt nämlich nicht den Einsatz einer Smartcard.

 

Danach war auch schon alles passiert. Wer hier eine Smartcard einsetzt, die nicht schon über den "Microsoft Base Smart Card Crypto Provider" abgedeckt ist, muss natürlich auf dem Client als auch auf der Zertifizierungsstelle erst noch den CSP installieren, damit dieser in einem passenden Template als Vorgabe erzwungen werden kann.

Für das Management der Smartcard gibt es für Einzelanwender einen sehr einfach Weg über eine Webseite oder eine Java-Applikation eines Drittherstellers.

Nach der Installation einer kleinen Komponente können Sie dann über die Webseite ihre Smartcard lokal verwalten

Für Firmen gibt es natürlich auch entsprechende Lösungen, auf die ich hier aber nicht weiter eingehen will.

Diese Webseite und die Verwaltung funktioniert nur mit Karten, die als MasterPIN/Adminkey eine 000000000000000000000000000000000000000000000000 haben. So ein "Masterkey" ist natürlich für Evaluierungen ideal aber eine solche Demokarte sollte nicht für einen produktiven Einsatz genutzt werden, da damit jeder Besitzer die PIN zurücksetzen und die Smartcard damit verwenden kann.

Smartcards im Notebook

Wer nicht mit einem externen Smartcard Leser rumhantieren will, kann natürlich auch interne Kartenleser verwenden. In Zeiten von "großen PCMCIA"-Slots (Typ-II oder Typ-III) konnte man eine Smartcard samt PCMCIA-Leser noch komplett im PC verschwinden lassen. Moderne Notebooks haben aber oft nur noch einen halb so breiten PCI-Express Steckplatz, so dass der Platz nicht mehr reicht. Es gibt aber auch ein Paar Business-Notebooks, die von Hause aus schon einen Smartcard-Leser haben oder einen entsprechenden Leser nachrüsten können.

Ich habe einen Lenovo T510 Typ 4349, in welchen ein Smartcard Leser (FRu Partnummer 60y5057) eingebaut werden kann. Mittlerweile habe ich das Teil für 13€ (zzgl. 7€ Porto zzgl. 7€ Mindermenge von www.lodata.de bezogen. Schade nur, dass es als "Ersatzteil" nicht das 6-polige 0,5mm Folienkabel/Flexkabel enthält. Wenn ich in einemalten Notebook nicht fündig werde, dann versuche ich es wohl mal bei http://www.lc-design.de/shop/de/xaranshop_k014003s001_1.htm oder http://shop.aaaa-electronic.de/epages/15164820.sf/de_DE/?ObjectPath=/Shops/15164820/Products/90019-002. Zudem scheint bei meinem T510 die Blindblende doch nicht wechselbar zu sein. Sollte ich also ein Kabel auftreiben, dann muss wohl etwas Plastik abgefräst werden.

Auch andere Marken-Hersteller (Dell, HP etc.) haben entsprechende Modelle. Das Problem dabei ist aber, dass sich damit die Geräteauswahl stark einschränkt. Leider gehört ein Smartcard-Leser nicht zum "Standard" eines Computers. Andere Kartenleser (SDCard, etc. haben es ja mittlerweile schon geschafft) . Insofern bleibt dann wieder der "Fallback" auf einen USB-Stick, welcher Smartcard und Leser in sich vereint. für eine Smartcard muss man sich ja auch nicht den PCI-Express-Slot verbauen.

Smartcard-Zertifikate und CRL mit Kerberos

Wer sich an Windows mit einer Smartcard anmeldet, nutzt das darauf installierte Zertifikat. Der Anmeldeprozess (WINLOGON) prüft auch hier das Zertifikat, ob es abgelaufen ist.

Das Verhalten kann über Registrierungsschlüssel kontrolliert werden. Um die Prüfungen z.B. abzuschalten, reichen folgende Einträge:

Windows Registry Editor 5.0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc]
"useCachedCRLOnlyAndIgnoreRevocationunknownErrors" = 1

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\Kerberos\Parameters]
"useCachedCRLOnlyAndIgnoreRevocationunknownErrors" = 1

Ratsam ist es natürlich nicht, da zumindest beim internen Einsatz die CRL der eigenen CA erreichbar sein sollte.

Smartcard und Webseiten

Natürlich kann ich mit einer Smartcard auch eine Anmeldung an einem Webserver per Zertifikat durchführen. Interessant ist aber auch, dass ich meine Anmeldung per Zertifikat auch im Windows Tresor (Hier Windows 7) mit einer Webseite verknüpfen kann.

Wenn ich dann diese Webseite anspreche, dann meldet sich der Internet Explorer an der Webseite per Zertifikat (?) an, selbst wenn die Webseite dies gar nicht erfordert, sondern nur die "Integrierte Anmeldung" vorgibt.

Weitere Links