G&D StarSign Kryptographie USB Token S für ELSTER

Bild: G&D StarSign Crypto USB Token S

In diesem Kapitel befassen wir uns eingehend mit dem Sicherheitsstick für ELSTER unter Arch Linux. Weitere Informationen zu dem Krypto-USB-Device findet man unter der Technikseite oder im Chipkartenleser-Shop von REINER SCT. Schliesslich wollen wir nun mal nicht, dass unser Client-Certifikat für den Zugang zum ELSTER Onlineportal des Online-Finanzamt nicht auf mehreren Client-Rechnern herum geistert, sondern nur der- bzw. diejenige Zugriff bekommt, die Zugriff auf beide Faktoren hat, also dem Kryptostick mit dem darauf befindlichen Zertifikat und dem Zugangspassort für das entsperren des USB-Sticks!

Die Highlights auf einem Blick.
:OK: Authentisierung und Signatur erfolgt auf dem Kryptochip. Dieser Prozessor stellt einen kompletten Einchip-Rechner (Mikroprozessor, RAM, ROM, EEPROM, Betriebssystem) mit aufwändigen, fest verdrahteten und programmierbaren Sicherheitsfunktionen dar. Sicherheitsrelevante Daten lassen sich nicht direkt auslesen, da sie nur dem Prozessor zur Verfügung stehen.
:OK: Die für Mein ELSTER benötigten Schlüssel werden durch eine PIN geschützt.
Quelle: https://www.chipkartenleser-shop.de/elsterstick/sicherheitsstick-fuer-elster/sicherheitsstick-fuer-elster-s-3072

In dem folgenden Beitrag gehen wir auf die Verwendung unter Arch Linux ein.

Informationen über den Stick können wir z.B. mit Hilfe des Befehls usb-devices aus dem ArchLinux-Paket usbutils dem System abverlangen.

 # usb-devices
T:  Bus=02 Lev=01 Prnt=07 Port=02 Cnt=01 Dev#=  6 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1059 ProdID=0019 Rev=01.00
S:  Manufacturer=Giesecke & Devrient GmbH
S:  Product=StarSign CUT S
S:  SerialNumber=03211108045656
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=60mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=usbfs
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   4 Ivl=32ms

Mit dem Befehl lshw aus dem gleichnamigen ArchLinux-Paket lshw können wir uns ebenso anzeigen lassen, ob der Stick angesteckt und erkannt wird. Da der USB-Stick unter die Klasse generic fällt suchen wir gezielt nach diesen Geräte-Typus.

 # lshw -short -C generic
H/W path       Device    Class          Description
===================================================
/0/100/14/0/3            generic        StarSign CUT S
/0/100/14/0/6            generic        VFS 5011 fingerprint sensor
/0/100/1f/3              generic        PnP device LEN0071
/0/100/1f/4              generic        PnP device LEN200e
/0/100/1f/5              generic        PnP device SMO1200
/0/100/1f.6              generic        Wildcat Point-LP Thermal Management Controller

Mit Hilfe des Befehls lsusb aus dem Arch linux Core-Paket usbutils können wir auch die Produkt- und Hersteller-Identifikationsnummer des Nitrokey-Sticks ermitteln.

 # lsusb | grep StarSign
Bus 002 Device 006: ID 1059:0019 Giesecke & Devrient GmbH StarSign CUT S

Im Journal wird uns beim Anstecken des Sticks dies entsprechend protokolliert:

 # journalctl -f
Jun 20 17:56:43 pml010074 kernel: usb 2-3: new full-speed USB device number 8 using xhci_hcd
Jun 20 17:56:43 pml010074 kernel: usb 2-3: New USB device found, idVendor=1059, idProduct=0019, bcdDevice= 1.00
Jun 20 17:56:43 pml010074 kernel: usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 20 17:56:43 pml010074 kernel: usb 2-3: Product: StarSign CUT S
Jun 20 17:56:43 pml010074 kernel: usb 2-3: Manufacturer: Giesecke & Devrient GmbH
Jun 20 17:56:43 pml010074 kernel: usb 2-3: SerialNumber: 03211108045656
Jun 20 17:56:43 pml010074 mtp-probe[4106]: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3"
Jun 20 17:56:43 pml010074 mtp-probe[4106]: bus: 2, device: 8 was not an MTP device
Jun 20 17:56:43 pml010074 systemd[990]: Reached target Smart Card.
Jun 20 17:56:43 pml010074 systemd[1]: Reached target Smart Card.
Jun 20 17:56:43 pml010074 mtp-probe[4108]: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3"
Jun 20 17:56:43 pml010074 mtp-probe[4108]: bus: 2, device: 8 was not an MTP device

Für den Zugriff auf unseren Sicherheitsstick für ELSTER benötigen wir noch den PC/SC Smart Card Daemon, den später der ElsterAuthenticator zwingend für die Kommunikation mit dem Stick braucht. Der Daemon ist im Arch Linux Extra-Paket pcsclite enthalten. Dieses Paket installieren wir uns nun mit Hilfe des Paketmanagers pacman.

 # pacman -Sy pcsclite

Bei Bedarf können wir uns hier gezielt informieren woher das Paket kommt und was es beinhaltet.

 # pacman -Qil pcsclite

Paketinhalt und -info des Pakets libnitrokey

Der ElsterAuthenticator den wir nachfolhgend noch installieren werden, verlangt zwingend die native libpcsclite.so.1 „C/C++“ Bibliothek im Verzeichnis /usr/lib/x86_64-linux-gnu. Die fragliche Bibliothek wird unter Arch Linux jedoch im Standard-Verzeichnis abgelegt. Mit folgendem Befehl können wir ermitteln wie dieser Standard-Pfad lautet.

 # pacman -Ql pcsclite | grep libpcsclite.so.1
pcsclite /usr/lib/libpcsclite.so.1

Bevor wir einen symbolischen Link anlegen können, legen wir noch das vom ElsterAuthenticator gewünschte Verzeichnis an.

 # mkdir /usr/lib/x86_64-linux-gnu

Anschliessend verlinken wir die betreffende Standardbibliothek.

 # ln -s /usr/lib/libpcsclite.so.1 /usr/lib/x86_64-linux-gnu/libpcsclite.so.1

Zu guter letzt soregn wir noch dafür das der PCSC Daemon beim Booten gestartet wird und dass dieserr auch läuft.

 # systemctl enable pcscd.socket
 # systemctl start pcscd.socket

Ob der Daemon läuft können wir bei Bedarf wie folgt abfragen:

 # systemctl status pcscd.socket

 pcscd.socket - PC/SC Smart Card Daemon Activation Socket
     Loaded: loaded (/usr/lib/systemd/system/pcscd.socket; disabled; preset: disabled)
   Active:active (running) ince Thu 2024-06-20 17:18:36 CEST; 1h 16min ago
 Invocation: da5071af9c50414d936df871d7ffcfaa
   Triggers: ● pcscd.service
     Listen: /run/pcscd/pcscd.comm (Stream)
     CGroup: /system.slice/pcscd.socket

Jun 20 17:18:36 pml010074 systemd[1]: Listening on PC/SC Smart Card Daemon Activation Socket.

Für die Kommunikation mit unserem Sicherheitsstick für ELSTER benötigen wir nun noch den ElsterAuthenticator. Auf der Infoseite finden wir unter dem Abschnitt Download die Schaltfläche [ Lizenzvertrag anzeigen ] die wir nun anklicke um zu dem Lizenzvertrag ElsterAuthenticator zu gelangen. Ganz unten auf der seite klicken wir nun auf die Schaltfläche [ Lizenzvertrag akzeptieren ] um auf die eigentliche Downloadseite zu gelangen: https://www.elster.de/eportal/infoseite/download_elsterauthenticator

Bild: Lizenzvertragsseite des ElsterAuthenticator

Auf dieser Seite sehen wir nun dass die aktuelle Version des https://download.elster.de/download/authenticator/ElsterAuthenticator_unix_59_0_0_x64.sh des Betriebssystem Linux 64Bit die Version 591) ist.

Bild: Downloadseite des ElsterAuthenticator

Diese Nummer merken wir uns nun und fügen diese in den nachfolgenden wget-Befehl zum Holen der Software ein, in unserem Fall also die 59 Stand Ende Juni 2024.

 $ wget https://download.elster.de/download/authenticator/ElsterAuthenticator_unix_59_0_0_x64.sh

Leider gibt es keine Prüfsumme mit der wir die Validität der heruntergeladenen Daten überprüfen können, eben so wenig ist das Paket signiert - uns bleibt also nichts anderes über als dem heruntergeladenen Programmpaket zu vertrauen. :-/

Mit dem Befehl file sehen wir uns kurz dennoch mal an, was wir nun im ~/home-Verzeichnis unseres aktuellen Nutzers haben.

 $ file ElsterAuthenticator_unix_59_0_0_x64.sh 
ElsterAuthenticator_unix_59_0_0_x64.sh: POSIX shell script executable (binary data)

Damit wir das POSIX Shell Script einfach als User Starten können, statten wir dies kurzer Hand mit den executable-Rechten aus.

 $ chmod +x ElsterAuthenticator_unix_59_0_0_x64.sh 

Nun können wir die Installation des ElsterAuthenticator starten.

 $ ./ElsterAuthenticator_unix_59_0_0_x64.sh 
Unpacking JRE ...
Starting Installer ...

Wir befinden uns nun im Setup Assistenten des ElsterAuthenticators.

Bild: Setup Assistent des ElsterAuthenticator

Hier klicken wir auf die Schaltfläche [ Weiter > ]. Abermals werden uns die Lizenzbedingungen angezeigt, die wir nun anwählen und anschliessend erneut die Schaltfläche [ Weiter > ] anklicken.

Bild: Lizenzbedinungungen des ElsterAuthenticator

Da wir die Software nur für unseren aktuellen angemeldeten Benutzer installieren werden, da dies ja auf seinem bzw. ihrem Gerät das alleiige Nutzerkonto ist, wählen wir in dem nun folgenden Fenster die zugehörige Option aus und klicken dann auf die Schaltfläche [ Weiter > ].

Bild: Installation des ElsterAuthenticator

Bei der Definition des Installationsverzeichnisses machen wir es uns einfach und bestätigen den vorgeschlagenen Pfad und klicken auch hier zur Bestätigung auf die Schaltfläche [ Weiter > ].

Bild: Installation des ElsterAuthenticator

Nun haben wir es fast geschafft, wir bestätigen jetzt nur noch, dass bei der Installation auf unserem Desktop ein Symbol zum Starten angelegt werden soll. Auch hier kicken wir nun auf die Schaltfläche [ Weiter > ] und starten somit den eigentlichen Installationsvorgang.

Bild: Installation des ElsterAuthenticator

Am Ende des Installationsvorgangs haben wir nun noch die Möglichkeit die Änderungshistorie in Form des mitgelieferten PDF-Dokumentes uns anzeigen zu lassen. Egal wie die Entscheidung ausfallen mag, zu guter letzt klicken wir zum Verlassen des Installations Assisteneten auf die Schaltfläche [ Fetigestellen ].

Bild: Installation des ElsterAuthenticator

Nun können wir unseren Stick einrichten und verwenden. Nähere Hinweise zum Elster Athenticator finden sich in den Häufig gestellte Fragen zum Sicherheitsstick sowie im ElsterAuthenticator-Benutzerhandbuch in der bei der Installation gültigen Version (!) welches im Installationsverzeichnis und dort im Unterverzeichnis doc befindet.

 $ ll ElsterAuthenticator/doc/ElsterAuthenticator-Benutzerhandbuch.pdf 
-rw-r--r-- 1 django django 1351425 Apr 23 14:53 ElsterAuthenticator/doc/ElsterAuthenticator-Benutzerhandbuch.pdf

Bild: Nemo-Dateimanager mit Lokation des Benutzerhandbuchs des ElsterAuthenticators

Wollen wir uns nun am ELSTER Online Portal anmelden, so starten wir einfach den Browser unserer Wahl und klcken auf dem Desktop das Start-Icon des ElsterAuthenticator an. Hier klicken wir nun auf den Menüpunkt Bei Mein ELSTER einloggen.

Bild: Elster Authenticator

Im Browser öffnet sich nun die Anmeldeseite von ELSTER Ihr Online-Finanzamt. Hier klicken wir nun auf die Schaltfläche [ Weiter mit ElsterAuthenticator > ]

Bild: Browser mit geöffnetem ELSTER Portal

Im Fenster des ElsterAuthenticator geben wir nun unser geheimes Passwort für die Entsperrung unseres Sicherheitsstick für ELSTER ein.

Bild: Desktop mit geöffnetem ELSTER Portal

Zum Abschluss klicken auf die Schaltfläche [ Login ] und wir befinden uns in unserem Elser Online Konto.

Bild: Browser mit geöffnetem ELSTER Portal

Links


1)
Stand: 06.05.2024
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • linux/elster_kryptostick.txt
  • Zuletzt geändert: 20.06.2024 18:20.
  • von django