Aus Linux-Magazin 05/2006

Die monatliche GNU-Kolumne

Diese Kolumne berichtet aus der Perspektive von GNU-Projekt und FSF über Projekte und aktuelle Geschehnisse im Umfeld freier Software. In diesem Monat dreht sich alles um Mathematik und Grafik sowie um den Einsatz von Smartcards bei kryptographischen Anwendungen.

Abbildung 1: Mit Hilfe einer speziellen Montagesoftware verschwinden die Passanten wie von Geisterhand aus einer Szene vor einer Kathedrale.

Abbildung 1: Mit Hilfe einer speziellen Montagesoftware verschwinden die Passanten wie von Geisterhand aus einer Szene vor einer Kathedrale.

Während die letzte Ausgabe sich auf juristische Fragen konzentriert hat, stehen in diesem Monat coole Technologien auf Basis freier Software im Mittelpunkt. Oft sind es die Universitäten, die im Rahmen ihrer Forschungsaktivität neue Möglichkeiten eröffnen. Hier haben auch zwei Projekte ihren Ursprung, die diese Ausgabe vorstellt.

Viele Forschungsstätten veröffentlichen die Ergebnisse wissenschaftlicher Arbeit als freie Software. So erhält die Gesellschaft etwas von dem zurück, was sie mit Steuern finanziert hat. Ein Programm, auf das Rolf Niepraschk hinwies, gibt dafür ein gutes Beispiel.

Fotomontage

Eine Forschungsgruppe, bestehend aus den Mitgliedern Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker, Alex Colburn, Brian Curless, David Salesin und Michael Cohen, hat auf der Siggraph-Konferenz 2004 in Los Angeles eine sehr interessante Studie zu “Interactive Digital Photomontage” präsentiert [1].

Obwohl der Titel wenig spannend klingt, leistete die Gruppe mit dieser Arbeit Erstaunliches: So erlaubt es ihre Software beispielsweise, störende Passanten aus Gebäudefotografien zu entfernen (Abbildung 1). Aus mehreren Fotos derselben Perspektive, aber zu unterschiedlichen Zeitpunkten, entsteht am Computer eine menschenleere Szene.

Auf ähnliche Art und Weise, durch Aufnahmen mit leicht unterschiedlicher Perspektive, verschwinden auch störende Drähte aus dem Sichtfeld. Doch damit nicht genug. Die Software kann auch Panoramen so zusammensetzen, dass Passanten wie in einem einzigen Foto erscheinen, obwohl sie sich zwischen den Aufnahmen bewegt haben.

Ein Klassiker ist das Familienfoto, bei dem fast immer irgendjemand wenig intelligent aus der Wäsche schaut. Bei großen Familien kann die Aufnahme die Geduld der Anwesenden stark strapazieren. Eine Beispielanwendung der Software ist es daher auch, das perfekte Familienfoto aus mehreren Bildern so zusammenzusetzen, dass die jeweils gelungenste Aufnahme einer Person zum Einsatz kommt. Dem Resultat sieht man kaum an, dass hier fünf Einzelbilder als Quelle dienten (Abbildung 2).

Abbildung 2: Selten genug - die komplett glückliche Familie. Diese Situation kombiniert Personen aus fünf Gruppenbildern zu einem neuen Motiv.

Abbildung 2: Selten genug – die komplett glückliche Familie. Diese Situation kombiniert Personen aus fünf Gruppenbildern zu einem neuen Motiv.

Es gibt viele weitere Beispiele, die das Team auf der Webseite vorstellt. Unter anderem eine extreme Nahaufnahme eines Insekts, die durch die Software digital mehr Tiefe erhält, oder einer Statue, deren optimal ausgeleuchtetes Bild sich aus mehreren Aufnahmen mit verschiedener Beleuchtung zusammensetzt. Sehr schön ist auch die digitale Fotomontage von Gesichtern, deren Resultate etwas skurril anzuschauen sind (Abbildung 3). Ein rund sieben Minuten langes Video [2] dokumentiert die Funktionsweise des Programms.

Abbildung 3: Mittels interaktiver Bildmontage entstehen zum Teil vollkommen neue Portraits: Aus Jim und David wird Javid.

Abbildung 3: Mittels interaktiver Bildmontage entstehen zum Teil vollkommen neue Portraits: Aus Jim und David wird Javid.

Die Software läuft nachweislich auf Linux und Windows und steht unter der General Public License (GPL) zur Verfügung. Das macht auch die Integration des Programmcode in andere freie Bildbearbeitungsprogramme möglich. Die Verwendung der GPL überrascht umso mehr, da sich neben der University of Washington auch Microsoft Research am Projekt beteiligte. Weniger erstaunt dagegen, dass die Routinen für das Schneiden entlang von Graphen nicht als freie Software verfügbar sind.

Fragen und
Anregungen

Für Ideen, Anregungen und Kommentare zur Brave GNU World steht die Adresse [column @brave-gnu-world.org]zur Verfügung. Die Homepage des GNU-Projekts findet sich unter [http://www.gnu.org]. Georgs Kolumne “Brave GNU World” steht online unter [http://brave-gnu-world.org] und die Initiative “We run GNU” betreibt eine Webseite unter: [http://www.gnu.org/brave-gnu-world /rungnu/rungnu.de.html]

Ob es angesichts des Partners sinnvoll ist, den Sourcecode zu sichern solange er frei verfügbar ist, mag dahingestellt sein. Unabhängig davon wäre es eine extrem wertvolle Aufgabe für eine Gruppe freier Entwickler, sich dieser Software anzunehmen und sie in Zukunft öffentlich weiterzuentwickeln.

Formeln mit Maxima

Ein weiterer Hinweis zu einer interessanten Software kam von Oliver Bandel. Er schlug vor ein paar Worte über die Mathematik-Software Maxima [3] zu schreiben. Maxima und das GNU-Projekt sind in gewisser Hinsicht Geschwister, denn beide stammen aus den Labors des Massachusetts Institute of Technology (MIT) in Boston und zeigen noch heute einige Aspekte ihrer Herkunft. So ist Maxima die Fortentwicklung des DOE-Macsyma-Projekts aus den späten 60er und 70er Jahren am MIT.

DOE Macsyma war das erste Programm für moderne Computeralgebra auf Basis symbolischer Verarbeitung verschiedenster Funktionstypen und legte den Grundstein für Software wie Maple oder Mathematica. Doch auch DOE Macsyma entwickelte sich weiter und wurde 1998 freie Software unter der General Public License (GPL). Zu verdanken ist dies dem 2001 verstorbenen Programmierer William Schelter, der es von 1982 bis zu seinem Tod betreute.

Wie viele Projekte des MIT aus dieser Zeit basiert auch Maxima auf der Programmiersprache Lisp [4], die bis heute fasziniert. Sie ist, wie es Lisp-Manual-Autor John Foderaro ausdrückte, “eine programmierbare Programmiersprache”. Jeder Software-Entwickler sollte eigentlich einmal einen Blick auf dieses Konzept werfen. Auch der Gnu Emacs [5] basiert auf Lisp.

Wegen dieser Gemeinsamkeit überrascht es auch nicht, dass Maxima sich hervorragend in Gnu Emacs und auch Gnu Texmacs [6] integriert (Abbildung 4). Ebenso lassen sich Maxima-Ausgaben gut in Latex [7] importieren, das ungeachtet der Fortschritte bei Office-Anwendungen bis heute im wissenschaftlichen Bereich sehr beliebt ist. Die Latex-Eleganz im Formelsatz bleibt bis heute unübertroffen und seine Konzentration auf den Inhalt kommt vielen Autoren entgegen.

Abbildung 4: Das Tool Maxima verhilft dem Gnu Emacs zu einer ansehnlichen Darstellung des Formelsatzes im Editor-Fenster.

Abbildung 4: Das Tool Maxima verhilft dem Gnu Emacs zu einer ansehnlichen Darstellung des Formelsatzes im Editor-Fenster.

Mit einer Entwicklungszeit von über 30 Jahren dürfte Maxima zu den wohl langlebigsten Projekten gehören, bis heute pflegt und entwickelt ein Team von Freiwilligen das Projekt weiter. Das ist eine sehr gute Sache: Neue Software weist meist mehr Fehler auf. Wer also nach einem zuverlässigen und stabilen Programm sucht, dem sei Maxima ans Herz gelegt.

Smartcards

Noch ein weiteres Projekt steht im Fokus dieser Ausgabe. Es ist zwar vielen ein Begriff, bringt jedoch weit mehr Funktionen mit als landläufig vermutet: Die Rede ist von Gnu PG [8] und dem Einsatz von so genannten Smartcards. Diese Karten sind letztlich kleine Computer, die ohne interne Stromquelle in Chipkarten untergebracht sind. Sie beziehen ihre Energie über die einzige Schnittstelle zur Außenwelt, dem mittlerweile zum Alltag gehörenden Chipkartenfeld. Wie alle Computer benötigen auch Smartcards ein Betriebssystem, das über ihre Funktion bestimmt. Das erlaubt ihnen bestimmte kryptographische Operationen, die normalerweise Gnu PG selbst übernimmt.

Eine fundamentale Schwäche bei digitaler Sicherheit liegt nämlich in dem kompletten Bruch der Sicherheit beim Verlust des Schlüssels. Dieses Szenario bedroht alle Daten, die mit einem solchen Schlüssel gesichert wurden. Die Sicherheit wieder herzustellen ist dabei teilweise mit erheblichem Aufwand verbunden und manchmal sogar unmöglich. Sicherheitsexperte Bruce Schneier weist aus diesem Grund auch gerne darauf hin, dass Computersicherheit fast ausschließlich auf Prävention beruht.

Schlüsselfrage

Neben der Stärke des Algorithmus und der Güte der Implementierung ist der Schutz des Schlüssels wichtig. Ein Schlüssel auf einer Festplatte kann verloren gehen oder auf ein Backup-Band gelangen. Die besondere Stärke von Smartcards: Alle kryptographischen Operationen, die den Schlüssel benötigen, finden ausschließlich auf der Karte statt, das heißt, der Schlüssel verlässt niemals die Karte. Auch der Einsatz auf einem prinzipiell nicht vertrauenswürdigen oder einem ans Netz angeschlossenen Rechner kann maximal den aktuellen Vorgang kompromittieren, niemals jedoch den Schlüssel selber – und damit den gesamten Rest der Daten, die mit diesem Schlüssel gesichert sind.

Anwendungsfall

Nahe liegend und bereits weit verbreitet ist der Einsatz bei elektronischer Post. Mails sind auf ihrem Transportweg beliebig les- und manipulierbar. Es existieren hunderte potenzieller Gelegenheiten für die Manipulation außerhalb der Kontrolle des Nutzers. So ist weder die Vertraulichkeit noch die Authentizität bei normaler E-Mail in irgendeiner Art und Weise geschützt.

Für Privatleute mag dies unangenehm sein, Unternehmen kommt Datendiebstahl oder -manipulation mitunter teuer zu stehen. Wer also aus welchen Gründen auch immer Wert auf Vertraulichkeit und Privatsphäre legt, kommt um Verschlüsselung und elektronische Signatur nicht herum. Glücklicherweise unterstützen die meisten im Gebrauch befindlichen Mailprogramme bereits OpenPGP und mittels Gnu PG ist die Integration einer Smartcard relativ einfach.

Als weiteres Beispiel drängt sich das Login des Benutzers am Rechner auf. Hier gibt es zwei Varianten: lokal und über das Netzwerk. In beiden Fällen kommen normalerweise Passwörter zum Einsatz, die zwar schwer zu erraten, aber leicht zu merken sein sollten. Zudem sollte kein Passwort für mehr als einen einzigen Rechner gelten. Diese drei Dinge unter einen Hut zu bringen fällt fast allen Menschen schwer.

Selbst Sicherheitsguru Bruce Schneier empfiehlt daher, lieber sichere Passwörter zu wählen und diese auf einem Zettel zu notieren, als unsichere zu verwenden, die Angreifer automatisiert durchprobieren können. Die Alternative ist auch hier wieder eine Smartcard.

Lokale Zugriffe lassen sich über das Poldi-Modul [9] für PAM absichern (Pluggable Authentication Modules). Alle großen Linux-Distributionen unterstützen Authentifizierung per PAM. Damit sichert nicht mehr das Duo Username/Passwort den Login-Bildschirm, sondern eine Smartcard mit Pin.

Wenig bekannt ist, dass auch SSH sichere Anmeldungen mit Smartcards erlaubt, und zwar durch einen Umweg über Gnu PG. Als Teil des Gnu-PG-Pakets gibt es den GPG-Agenten. Ein Programm, das sich im Hintergrund die Pin oder das Passwort für Gnu-PG-Schlüssel merkt, damit der Anwender beim Einsatz nicht immer wieder das Passwort eingeben muss. Dieser Agent versorgt auf Wunsch auch SSH.

Woher nehmen?

Es gibt zurzeit zwei Hauptbezugsquellen aus dem Umfeld freier Software für solche Smartcards. Zum einen über den Entwickler Werner Koch, der sie über G10code zum Kauf anbietet [10]. Zum anderen ein Fellowship der FSFE [11], bei dem alle Fellows eine personalisierte Fellowship Cryptocard erhalten (Abbildung 5). Beim Fellowship ist derzeit der Aufbau von CA-ähnlichen Aktivitäten (Certification Authority) in Arbeit: Die Fellowship Cryptocard könnte es zum Beispiel erlauben, sich über Cacert.org SSL-Zertifikate zu erstellen. Darüber hinaus unterstützen Fellows der FSFE auch die Free Software Foundation.

Abbildung 5: Fellowship Cryptocard für einen gewissen "Saint iGNUtius". Die Rückseite zeigt, welche Freiheiten Software dem Anwender bieten sollte.

Abbildung 5: Fellowship Cryptocard für einen gewissen “Saint iGNUtius”. Die Rückseite zeigt, welche Freiheiten Software dem Anwender bieten sollte.

Der Einsatz setzt ein Lesegerät voraus, das zumeist als USB-Gerät oder PCMCIA-Karte erhältlich ist und ab etwa 28 Euro über den Ladentisch geht. Beim Einrichten der Hardware am Rechner fällt unter allen Distributionen relativ wenig Aufwand an. Kurzanleitungen finden sich auf der Fellowship-Homepage [12]. Die erste Distribution mit OpenPGP-Smartcard-Integration kommt vermutlich in diesem Jahr heraus. (agr)

Infos

[1] University of Washington: Interactive Digital Photomontage: [http://grail.cs.washington.edu/projects/photomontage/]

[2] Demo-Video: [http://grail.cs.washington.edu/projects/photomontage/video.avi]

[3] Maxima: [http://maxima.sourceforge.net]

[4] Lisp: [http://www.lisp.org]

[5] Gnu Emacs: [http://www.gnu.org/software/emacs/]

[6] Gnu Texmacs: [http://www.texmacs.org]

[7] Latex: [http://www.latex-project.org/]

[8] Gnu-PG-Homepage: [http://www.gnupg.org]

[9] Poldi-PAM-Modul: [ftp://ftp.gnupg.org/gcrypt/alpha/poldi/]

[10] G10code OpenPGP Smartcard: [http://www.g10code.de/p-card.html]

[11] Fellowship der FSFE: [http://www.fsfe.org]

[12] Fellowship-Crypto-Card-Howtos: [http://www.fsfe.org/card/howto]

Der Autor


Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er ist. Mehr Informationen finden sich unter: [http://www.gnuhh.org]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben