derwowusste
Goto Top

Echte 2FA mit TPM-VSC (virtuelle Smartcards)

Ich habe eine neue Methode erdacht, wie man die Authentifizierungsmöglichkeit TPM Virtual Smartcard („TPM-VSC“) verschärfen kann.
So wie Microsoft (siehe Doku) sich das denkt, hat man eine SmartCard an einen PC gebunden und erreicht somit schon etwas, was 2FA nahe kommt, denn die SmartCard kann nur der nutzen, der den PC hochfahren kann. Wer diesen Schutz verbessern möchte, lese weiter.

Ein Unterschied zwischen der virtuellen Smartcard und der physischen ist der, dass die virtuelle immer "gesteckt" ist und sich jemand, der die PIN kennt und den Computer angeschaltet vorfindet, anmelden kann. Meine Methode benutzt einen USB-Stick als weiteren Faktor.
Nur wer den Stick hat und die PIN weiß, kann die TPM-VSC benutzen, um sich anzumelden.

Um eine virtuelle SmartCard zu erzeugen und ein Zertifikat zu laden, geht man vor, wie unter Abschnitt 3 von https://download.microsoft.com/download/5/A/B/5ABDDED2-F56E-427D-88C1-41 ... verständlich beschrieben ist.
Ich setze also eine fertige VSC voraus.

Was ich herausgefunden habe und mir zu Nutze mache: Bei der Erzeugung der VSC wird unter
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Windows\SmartCard\Tpm
ein Ordner angelegt (evtl. sind mehrere dort – nur der nicht-leere gehört zur VSC).
Benennt man diesen Ordner um, funktioniert die VSC nicht mehr!

Ich erstelle also einen geplanten Task, mit 3 Triggern, welcher als Systemkonto läuft und diesen Ordner umbenennt und so die VSC temporär deaktiviert
1 sobald ich den Computer sperre
2 wenn ich mich abmelde
3 wenn ich den Rechner neu starte, so dass die VSC selbst bei einem Rechnerabsturz/Reset sofort deaktiviert wird.
Screenshots dazu:

task1
task2
task3

Die Batch, welche ausgeführt wird:
ren C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Windows\SmartCard\Tpm\2h264d81-038e-4403-9e86-788ab3d70362 2h264d81-038e-4403-9e86-788ab3d70362bak


Dann erstelle ich einen zweiten Task, der getriggert wird, wenn ich einen bestimmten USB-Stick (die Device-ID wird ausgelesen) anstecke.
Dieser Task macht die VSC wieder funktionsfähig, indem er den Ordner auf seinen alten Namen zurücksetzt. Zwei Sekunden nach dem Anstecken kann ich mich bereits wieder damit anmelden.

Screenshots zum Task:

task01
task02
Hier noch im Detail:
taskdetail
task03

Das Powershellskript, welches ausgeführt wird (die Hardware-ID des Sticks kann man aus dem Gerätemanager auslesen):

$JustNow = (Get-Date).AddSeconds(-5)
$foundstick = Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-DriverFrameworks-UserMode/Operational'; starttime=$JustNow}| where message -match 'USBSTOR#DISK&VEN_CORSAIR&PROD_VOYAGER_SLIDERX2&REV_000A#02097C507420BD11&0'  
if ($foundstick -ne $null) {mv C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Windows\SmartCard\Tpm\2h264d81-038e-4403-9e86-788ab3d70362bak C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Windows\SmartCard\Tpm\2h264d81-038e-4403-9e86-788ab3d70362}
if ($foundstick -ne $null) {devcon restart @ROOT\SMARTCARDREADER\0000}
Achtung: das Skript benötigt die devcon.exe, welche nicht zu Windows gehört, aber frei von Microsoft bezogen werden kann, siehe https://networchestration.wordpress.com/2016/07/11/how-to-obtain-device- ...

Content-Key: 638919

Url: https://administrator.de/contentid/638919

Printed on: October 1, 2023 at 14:10 o'clock

Member: emeriks
emeriks Jan 08, 2021 updated at 14:19:10 (UTC)
Goto Top
Hi DWW,
Danke für den Input.

Ich denke auch schon ne Weile darüber nach, ob und wie man VSC wirklich sinnvoll einsetzen könnte. Dein Hinweis mit diesem Ordner macht mich jetzt nachdenklich. Ich hatte bisher angenommen, dass alle relevanten Informationen für eine VSC in der TPM-Hardware gespeichert werden. So aber scheint es doch so zu sein, dass nach einer Neuinstallation des OS die bereits erstellten VSC nicht mehr nutzbar sind, es sei denn man weiß das mit diesen Ordnern und sichert diese vorher und stellt sie in der Neuinstallation wieder her.
Oder?

E.
Member: DerWoWusste
DerWoWusste Jan 08, 2021 updated at 14:34:11 (UTC)
Goto Top
Moin.

Sei versichert: das TPM alleine reicht nicht. Ob man die gesicherten Ordner in einem neu aufgesetzten PC einfach zurückspielen kann, habe ich noch nicht getestet.