Schlagwort: Interview

  • Warum funktionieren nicht alle Fingerabdrucksensoren unter Linux?

    Warum funktionieren nicht alle Fingerabdrucksensoren unter Linux?

    Im Rahmen der Reihe mit Interviews mit deutschsprachigen Entwicklern habe ich Werner Sembach, Entwickler bei Tuxedo Computers ein paar Fragen gestellt. Anlass war meine News zur demnächst verfügbaren Unterstützung für Fingerprint Reader in KDE Plasma 5.24. Ich fragte mich, warum der Sensor an meinem Tuxedo Aura 15 unter Linux noch immer nicht funktioniert. Kollegen berichten ähnliches von anderen Notebooks verschiedener Hersteller. Da ich weiß, dass Werner sich mit dem Thema beschäftigt hat, hier meine Fragen an ihn:

    LN: Als ich vor rund einem Jahr ein TUXEDO Aura 15 Notebook kaufte, war der Treiber für den Fingerabdrucksensor noch in Arbeit. Wie ist denn da der aktuelle Stand?

    WS: Das Aura 15 Gen 1 hat einen ElanTech Match-On-Host Fingerprint Reader. Das Protokoll dazu wurde bereits vor einigen Jahren von Igor Filatov implementiert, aber benutzbar sind nur die breiten Swipe-Style Fingerprint Reader. Das war auch der Grund, warum bis vor kurzem der Reader das Aura 15 Gen 1 bewusst als nicht kompatibel in der libfprint geführt wurde. Inzwischen haben sich die Maintainer aber umentschieden. Problem ist, auch wenn der Reader von der aktuellen Version der libfprint jetzt erkannt wird, benutzbar ist er immer noch nicht.

    LN: Kannst Du bitte ein wenig auf die technischen Hintergründe eingehen, warum es unter Linux bei manchen Geräten so schwierig ist, den Fingerabdrucksensor zur Mitarbeit zu bewegen?

    WS: Ok, ich muss ein wenig ausholen, dann wird meine erste Antwort wahrscheinlich verständlicher. Bei Fingerprint Readern gibt es sogenannte Match-On-Host und Match-On-Device/Match-In-System Modelle. Der Unterschied ist, ob die Bilder, die der Reader macht, vom Betriebssystem (Match-On-Host) oder von der Firmware der Reader selbst (Match-On-Device/Match-In-System) ausgewertet werden. Bei Zweiterem ist der Algorithmus, der eine Aussage trifft, ob 2 Fingerabdrücke gleich sind oder nicht Teil des Firmware-BLOBs der mit dem Reader mitgeliefert wird. Nicht Open Source, aber funktioniert auf allen Betriebssystemen gleich, vorausgesetzt das Protokoll, um mit dem Reader zu sprechen, ist bekannt.

    Bei den Match-On-Host Readern bekommt das Betriebssystem nur Bilder geliefert und muss die Auswertung vollständig selbst übernehmen. Im Falle des Aura 15 Gen 1, das, wie zuvor erwähnt, ein Match-On-Host Typ Reader hat, wird ein rund 4 x 4 mm großer Ausschnitt des Fingers in einer 80 x 80 Pixel großen Auflösung aufgenommen und das bringt uns zum Kern des Problems: Es gibt einfach keinen guten Open Source Fingerprint-Matching Algorithmus.

    Für Linux-Systeme gibt es die Open-Source-Bibliothek libfprint die es Login Screens und Desktop Environments ermöglicht, Fingerprint-Reader anzusteuern. For Match-On-Host Reader benutzt sie im Backend Teile der NIST Biometric Image Software (NBIS), die ursprünglich für amerikanische Polizeibehörden entwickelt wurde, um physische Fingerabdruck-Karteikarten zu digitalisieren und die im Zuge eines Public Money – Public Code Gesetzes als Public Domain als Source Code downloadbar ist. Das letzte Release ist von 2015, war wahrscheinlich da schon leicht veraltet, geht von weitgehend vollständigen Abdrücken aus, die bei Bedarf händisch aufbereitet wurden.

    Kurz, 4 x 4 mm in 80 x 80 Pixel Auflösung sind zu wenig und der Algorithmus versagt mit einer nahezu 100% false negative Rate. Die libfprint Implementierung versucht das noch zu verbessern, indem auch bei diesem „One Touch“ Reader ein Swipe des Fingers verlangt wird: Dann ist der Ausschnitt zwar weiterhin nur 4 mm breit aber hat immerhin die volle Höhe. Aber auch das reicht nicht aus, um ein zuverlässiges Ergebnis zu bekommen. Und dann gibt es noch Fingerprint Reader bei denen einfach das Protokoll nicht in der libfprint implementiert ist. In der Regel, weil es einfach noch nicht bekannt ist und sich noch niemand daran gesetzt hat es herauszufinden.

    LN: Was muss geschehen, damit es im Fall des Aura 15 und weiterer Geräte mit Fingerabdrucksensor vorwärtsgeht?

    WS: Für das Aura 15 Gen1 bräuchte es jemanden, der sich mit Biometrischer Mustererkennung und/oder mit Machine Learning auskennt, um die NBIS Algorithmen zu verbessern oder durch etwas Besseres zu ersetzen. Bisherige Ansätze waren eher auf semi-erfolgreicher Ausprobier-Ebene:

    Die zwei großen Blocker sind diese Issues:

    • https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/271
    • https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/272

    Ruhm und Ehre demjenigen der als erster eine gute Lösung findet 😉. Aber Spaß beiseite, das fprint Project hat gute Arbeit geleistet und aus persönlicher Erfahrung kann ich sagen, das es nette Maintainer hat, die für alle Vorschläge offen sind und vielleicht findet sich ja unter den Lesern hier jemand, der helfen kann. Tuxedo Computers will, um die Nutzbarkeit von verbauten Fingerprint Readern zu gewährleisten, künftig nach Personal und Mitstreitern aus der Community suchen. Vom dort erstellten Open-Source-Code können unter Umständen auch andere Projekte profitieren.

    Danke an Werner Sembach für die ausführliche Darlegung des komplexen Sachverhalts.

  • Interview: Linux in der Verwaltung von Schwäbisch Hall

    Interview: Linux in der Verwaltung von Schwäbisch Hall

    Im Januar suchte die Stadt Schwäbisch Hall einen neuen IT-Leiter, was mir eine Nachricht wert war, da Schwäbisch Hall in Baden-Württemberg mit rund 40.000 Einwohnern fast komplett auf Linux in der Verwaltung setzt.

    Dadurch ergab sich ein Kontakt zu Mathias Waack, dem Leiter des Fachbereichs Organisation und IT bei der Stadt, der mir freundlicherweise ein paar Fragen zu Linux in der Verwaltung von Schwäbisch Hall beantwortet hat.

    Herr Waack, die Verwaltung von Schwäbisch Hall nutzt seit 2002 durchgehend Linux und Freie Software und ist somit Vorreiter auf diesem Gebiet. Nach dem Ende von Linux in München ist Schwäbisch Hall meines Wissens damit in dieser Ausprägung in Deutschland ziemlich allein auf weiter Flur. In welchen Ressorts und Abteilungen wird denn Linux überall eingesetzt?

    Wir setzen Linux in allen Fachbereichen und Abteilungen der Verwaltung ein. Und wir sind auch nicht so ganz allein damit, ich bin in Kontakt mit Kollegen in anderen Verwaltungen, die einen ähnlichen Weg gehen, das aber nicht an die große Glocke hängen. Im Norden wurde jüngst das Projekt Phoenix abgeschlossen, welches einen standardisierten, Linux-basierten Desktop für die Verwaltung anbietet. Da ist also einiges in Bewegung.

    Die Entscheidung für Linux fiel damals vordergründig wegen Sparzwang, da die Stadt einen Einbruch bei der Gewerbesteuer verkraften musste. Wie sehen Sie heute die Gewichtung bei den Vorteilen von Linux und Freier Software?

    Der große Vorteil Freier Software ist die Unabhängigkeit von großen Herstellern, die Gewissheit der eigenen Datenhoheit und ein Gewinn an Sicherheit. Die Kosten lassen sich nicht einfach messen, was man bei Freier Software an Lizenzen spart, zahlt man an Administration und Support wieder drauf. Das konkrete Ergebnis dieser Rechnung hängt dann vom konkreten Anwendungsfall ab.

    Hard- und Software

    Lassen Sie uns konkret über Hard- und Software sprechen. Wie viele Server und Clients laufen in der Stadtverwaltung unter Linux?

    Wir betreiben ungefähr 450 Linux-Clients und einige Dutzend Server.

    Wie viele Server oder Clients laufen mit anderen Betriebssystemen und was sind deren Aufgaben? Ich denke da z.B. an Fachverfahren.

    Den teilweise notwendigen Zugriff auf Windows ermöglichen wir durch den Einsatz von Desktop-Virtualisierung oder die Nutzung von Terminal-Services. Für letzteres setzen wir entsprechende virtuelle Maschinen mit Windows-Servern ein. Reine Windows-Rechner nutzen wir nur in sehr wenigen Ausnahmefällen.

    Ich weiß, dass Sie derzeit Ubuntu LTS mit Xfce als Desktop-Umgebung nutzen. Was kam denn vor Ubuntu zum Einsatz?

    Wir haben damals mit Suse begonnen, bevor wir den Schwenk auf Ubuntu gestartet haben.

    Wie schaut es denn diesbezüglich bei Servern aus?

    Dort setzen wir auf ein kommerzielles Linux, da wir hier den Hersteller-Support nutzen.

    Warum setzen Sie nicht gleich auf Debian?

    Es gibt einige Dutzend Linux-Varianten, man kann sich trefflich streiten, ob das Vor- oder Nachteil ist. Letztendlich muss man sich für eine entscheiden, neben den Features spielt da auch die Erfahrung der Administratoren eine gewichtige Rolle. Und wir haben uns nun für Ubuntu entschieden.

    Ist hier der LTS-Support von Canonical ausschlaggebend?

    Nein, den Support von Canonical nutzen wir nicht.

    Wie sieht es mit dem Einsatz von Virtuellen Maschinen und Containern aus?

    Unsere Server-Landschaft ist durchgehend virtualisiert, bei Bedarf setzen wir auch auf den Desktops virtuelle Maschinen ein. Container nutzen wir derzeit noch nicht.

    Der menschliche Faktor

    Bei der Umstellung von einem System auf ein anderes spielt der menschliche Faktor eine gewichtige Rolle. Wie sind die Mitarbeiter anfangs mit dem neuen System klargekommen und wie hat sich das im Laufe der Zeit entwickelt?

    Die Mitarbeiter kommen mit dem System prinzipiell klar. Heutzutage spielt das Betriebssystem ohnehin nur noch eine sehr untergeordnete Rolle, wichtig für die Akzeptanz ist die Unterstützung der für die Erledigung der Arbeit notwendigen Software. Hier ist Linux nicht immer stark und die Unterstützung der Hersteller sehr häufig mangelhaft. Das muss unsere IT dann ausgleichen.

    Bieten Sie spezielle Einführungen an? Inwieweit wurden die Mitarbeiter geschult und unterstützt?

    In der Vergangenheit haben wir den Fachabteilungen eine Reihe von Schulungen angeboten. Aufgrund der Erfahrungen aus der Vergangenheit erstellen wir gerade ein neues Schulungskonzept, welches verpflichtende Einweisungen und Grundlagenschulungen umfasst.

    Austausch mit der Außenwelt

    Wie sieht es beim Austausch mit externen Behörden und mit den Bürgern bezüglich verwendeter Formate aus? Gibt es dort Probleme?

    Hier hat sich in den letzten Jahren vieles verbessert. Zum einen lassen sich die meisten Windows-Formate inzwischen auch gut mit den entsprechenden Linux-Programmen verarbeiten. Zum anderen sind immer mehr Austauschformate standardisiert worden. Bei letzteren gibt es natürlich noch einige Luft nach oben, der positive Trend ist aber unverkennbar.

    Die Verwaltung von Schwäbisch Hall scheint so etwas wie das gallische Dorf bei Asterix zu sein und somit eine Enklave. Gab oder gibt es Anfeindungen auf politischer Ebene von Außen oder gar von Innen von der eigenen Opposition?

    Prinzipielle Einwände gegen Linux oder unsere Open-Source-Strategie sind mir nicht bekannt. Natürlich werden wir an unseren Leistungen gemessen, und wenn die Open-Source-Tools nicht an die Leistungsfähigkeit kommerzieller Tools heranreichen, wird das natürlich und zu Recht durchaus kritisiert. Daher fahren wir ja auch einen durchaus pragmatischen Ansatz und setzen in den entsprechenden Bereichen kommerzielle Software ein.

    Spart Linux in Schwäbisch Hall Steuergelder ein?

    Gibt es belastbare Zahlen zu den Einsparungen, die durch die Verwendung von Linux und Freier Software in Schwäbisch Hall bisher erzielt wurden?

    So eine Rechnung ist schwierig, da hier viele Komponenten eine Rolle spielen. Wir haben ja in München gesehen, wie die verschiedenen Seiten zu sehr unterschiedlichen Zahlen gekommen sind. Wir gehen von einer jährlichen Einsparung im mittleren sechsstelligen Bereich aus.

    In Schwäbisch Hall arbeitet die gesamte Verwaltung von der Spitze bis hin zu den Stadtwerken mit Linux. In welchen Bereichen gab oder gibt es die meisten Probleme?

    Die größten Herausforderungen gibt es mit Spezial-Hardware, gefolgt von einigen wenigen exotischen Softwareprodukten. Besonders enttäuschend ist es, immer wieder zu sehen, wie solche Systeme sogar vom Bund oder dem Land gefördert, ja teilweise deren Einsatz sogar erzwungen wird. Da gibt es Spezial-Drucker (für offizielle Dokumente), für die es nur Windows-Treiber gibt, oder das Land bezahlt die Entwicklung eines Excel-Makros, welches es den Kommunen dann „kostenlos“ zur Verfügung stellt. Das so etwas immer noch möglich ist, ärgert mich persönlich.

    Neuer IT-Leiter

    Vor einigen Wochen habe ich hier im LinuxNews-Blog die Suche nach einem neuen IT-Leiter für die Stadt geteilt. Gibt es da inzwischen eine Erfolgsmeldung?

    Wir hatten erstaunlich viele Bewerbungen, ganz sicher auch dank der Werbung des LinuxNews-Blogs. Am Ende hatten wir sogar den Luxus einer Auswahl. Bei einer demokratischen Wahl im Personal- und Organisationsausschuss des Gemeinderats wurde dann ein Kandidat gewählt, der diese Wahl auch angenommen hat. Wir freuen uns schon sehr auf die künftige Zusammenarbeit.

    Ich persönlich fand es schade, dass wir diesmal ausschließlich männliche Bewerber hatten. Daher möchte ich diese Gelegenheit nutzen, an alle Leserinnen und Leser zu appellieren: IT ist nicht nur sehr spannend, sie ist auch völlig geschlechtsneutral. Wir haben das Glück einer „gut gemischten“ IT-Abteilung, in der alle Kolleginnen und Kollegen wirklich gute Arbeit leisten und ein gutes Arbeitsklima herrscht. Ich hoffe, bei unserer nächsten Ausschreibung ein deutlich bunteres Feld an Bewerberinnen und Bewerbern vorfinden zu können.

    Herr Waack, vielen Dank für dieses informative Interview!

    Bild: Das Barocke Rathaus Schwäbisch Hall von Matthias Süßen| Quelle: Wikimedia | Lizenz: CC BY-SA 4.0

  • Linux- und Open Source-Entwicklung in Deutschland

    Photo by Annie Spratt on Unsplash
    Interview mit Tobias Fella zum Matrix-Client NeoChat

    Dies ist die erste Folge einer lockeren Reihe von Interviews mit Linux- und Open Source-Entwicklern aus Deutschland und dem deutschsprachigen Raum. Heute erzählt Tobias Fella etwas über die Entwicklung des Matrix-Clients NeoChat.

    LN: Carl Schwan und Du habt der Matrix-Community mit NeoChat einen neuen Client beschert, der ein konvergentes User-Interface aufweist und am Desktop wie unter Plasma Mobile eine gute Figur macht. Dabei habt Ihr das kaum mehr weiter entwickelte, in C++ und QtQuick Controls 2 realisierte Projekt Spectral geforked. Was waren Eure Beweggründe für einen neuen Client?

    TF: Das hat hauptsächlich zwei Gründe: Wir arbeiten in KDE schon seit Längerem daran, unsere Kommunikation von IRC und Telegram wegzubringen, wobei ein eigener Client natürlich hilft, Leute zu Matrix hinzubewegen. Außerdem brauchen wir einen guten Matrix-Client für Plasma Mobile und da wir mit QtQuick und Kirigami eine gute Grundlage für konvergente Programme haben, hat sich das angeboten.

    Und weil die wichtigen Teile von Qt und den KDE Frameworks auf vielen Plattformen funktionieren, gibt es damit auch noch einen neuen Matrix-Client für Windows, macOS und Android.

    LN: Gerade ist mit Neochat 1.1.1 die dritte Version nach der stabilen 1.0 im Dezember erschienen. Ihr habt einige neue Funktionen implementiert, einige größere Brocken fehlen aber noch. Kannst du den Lesern etwas über eure Roadmap verraten?

    TF: Der nächste größere Teil, den wir entwickeln, ist die Ende-zu-Ende Verschlüsselung, das wird einige Zeit brauchen. Danach kommen wahrscheinlich Sprach-/Videoanrufe, wobei da selbst die Matrixspezifikation und die meisten Matrix-Clients noch nicht sehr weit sind. Bei der Entwicklung von den Anrufen wollen wir mit den Entwicklern von Nheko (einem anderen Matrix-Client) zusammenarbeiten, da Nheko schon grundlegende Sprach- und Videoanrufe unterstützt und wir damit hoffentlich doppelte Arbeit bei neuen Features sparen können. Außerdem arbeiten wir natürlich immer an Verbesserungen im User Interface, an Bugfixes und Performanceverbesserungen. –

    NeoChat als Flatpak
    NeoChat 1.1

    LN: Besonderes Augenmerk legen potenzielle Anwender auf Ende-zu-Ende-Verschlüsselung. Viele wollen NeoChat erst einsetzen, wenn E2EE umgesetzt ist. Viele Clients, die sich E2EE als Entwicklungsziel auf die Fahnen geschrieben hatten, existieren nicht mehr. Kannst Du etwas zu den Problemen der Implementierung sagen? Könnt ihr euch bei Element (ehemals Riot) diesbezüglich etwas abschauen?

    TF: Das Problem bei der Implementierung von E2EE ist, dass es viel Arbeit ist: die grundlegenden kryptografischen Funktionen müssen implementiert werden, dann die Infrastruktur zur Schlüsselverwaltung. Das ganze muss dann so in den Client eingebunden werden, dass das Interface auf die entschlüsselten Events zugreifen kann, als wären es normale Events. Dann kommen noch andere Sachen dazu: Verifizierung von anderen Geräten und Benutzern, sicheres Speichern von den verschiedenen Schlüsseln und so weiter.

    Und weil das ganze sicherheitskritisch ist, muss es natürlich gut getestet werden. Selbst wenn die Implementierung richtig ist, können einige Dinge schiefgehen, die dem Benutzer dann gut mitgeteilt werden müssen. Bei Element kann man sich dabei ein paar Sachen abschauen.

    Die meisten kryptografischen Funktionen, die gebraucht werden, sind in einer Bibliothek implementiert, die von den meisten Matrix-Clients verwendet wird. Danach wird es etwas schwieriger, weil Element nicht in C++ programmiert ist und intern anders strukturiert ist als NeoChat und die Bibliothek libQuotient, wodurch man nicht alles direkt übernehmen kann. Im User Interface kann man sich dann wieder anschauen, wie andere Clients mit den Details der Verschlüsselung umgehen und sich davon inspirieren lassen.

    Tobias, vielen Dank, dass Du Dir Zeit zur Beantwortung der Fragen genommen hast.