Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2007  »  05  »  Zufall unter Beobachtung  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© photocase.com

OCR im Eigenbau mit Perl-Modulen

Zufall unter Beobachtung

von Michael Schilli
Erschienen im Linux-Magazin 2007/05

In manchen Firmen laufen die Mitarbeiter mit Secur-ID-Tokens der Firma RSA Security herum. Das kleine Authentisierungsgerät berechnet und zeigt jede Minute eine Ziffernkombination, die beim Einloggen temporär gültig ist. Eine mit Perl gestrickte Zeichenerkennung schaut dem Schlüsselgenerator beim Zocken zu.

Neulich berichtete mein Arbeitskollege Fergus, dass sein Secur-ID-Token gerade »000000« angezeigt hätte, und postete prompt ein Foto auf Flickr [2]. Das besagte Token in Form eines Secur-ID-Schlüsselanhängers gibt alle 60 Sekunden eine neue sechsstellige Zahl aus (Abbildung 1). Wenn alle Ziffernfolgen mit der gleichen Wahrscheinlichkeit auftreten, ist die Chance, mit einem Blick »000000« zu sehen, eins zu einer Million. Das kommt fast einem Lottotreffer gleich, nur ohne Geld.


Abbildung 1: Der Schlüsselanhänger von RSA Security zeigt alle 60 Sekunden eine neue sechsstellige Zahl an.

Totpatentiert

Das Ereignis weckte meine Neugier: Was zeigt eigentlich mein Keyfob (so heißen Schlüsselanhänger auf Amerikanisch) an, wenn ich gerade nicht hinsehe? Mit einer Webcam oder einem Scanner lässt sich die Anzeige als Bild digitalisieren. Und aus den Pixeln ermittle ich dann per Optical Character Recognition (OCR) die tatsächlichen Ziffernwerte. Da Hersteller den OCR-Bereich aber leider totpatentiert haben, gibt es dafür kaum funktionsfähige freie Software.

Vorher noch ein Warnhinweis: Der heutige Snapshot dient nur zu Forschungszwecken. Niemand sollte die Keyfob-Daten elektronisch übermitteln. Die so genannte Fobcam [3] eines Computernutzers, der die aktuelle Ziffernfolge seines Secur-ID-Token aus Bequemlichkeit per Webcam im Internet anzeigt, ist zwar immer wieder für einen Lacher gut, aber nicht zur Nachahmung empfohlen.

Um ein Bild des Token aufzunehmen, bieten sich eine Webcam (Abbildung 2) oder ein Scanner an. Ein früherer Snapshot [4] zeigte schon, wie unter Linux mittels Video::Capture::V4l eine Webcam anzusteuern ist. Mittlerweile ist das CPAN-Modul Video::Capture::V4l::Imager ebenfalls verfügbar, das die Sache weiter vereinfacht.


Abbildung 2: Der Versuchsaufbau zur Fobcam: Eine Lampe sorgt für gleichmäßig verteiltes Licht und die Webcam zeigt senkrecht auf den Secur-ID-Token.

Ins rechte Licht gerückt

Listing 1 zeigt, wie das Perl-Modul die Kamera anspricht und zunächst die gewünschte Helligkeit mit der Methode »brightness()« einstellt. Der beste Wert hängt vom Kameratyp und von den herrschenden Lichtverhältnissen ab. Nach einigem Experimentieren findet sich meist ein akzeptabler Wert.

Listing 1:
»fobcam«

01 #!/usr/bin/perl -w
02 use strict;
03 use Video::Capture::V4l::Imager;
04 use Log::Log4perl qw(:easy);
05
06 Log::Log4perl->easy_init($DEBUG);
07
08 my $v = Video::Capture::V4l::Imager->new(
09   width  => 640,
10   height => 480,
11 );
12
13 $v->brightness($ARGV[0] || 27_900);
14 my $img = $v->capture();
15
16 $img->write(file => 'fob.jpg')
17  or die "Can't write: $!";

Das Modul bietet auch die Methode »calibrate()« an, die so lange mit verschiedenen Einstellungen für »brightness()« herumprobiert, bis das aufgenommene Bild eine vorgegebene mittlere Helligkeit zeigt. Das Capture-Objekt »$v« liefert im Erfolgsfall als Ergebnis ein Objekt vom Typ »Imager« zurück, dessen Bilddaten sich entweder weiterbearbeiten oder in einem gängigen Format wie Jpeg oder PNG zur weiteren Verwendung auf der Festplatte abspeichern lassen.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Zauberlehrling Automatische Bildbearbeitung mit Imagemagick
Angeln in der Bilderflut Videoüberwachung mit Webcam und Perl
Projekteküche Neues aus der Welt der freien Software und ihrer Macher
Frei-Zeit im Pantoffelkino Firmwarepatch für Samsung-LCD-Fernseher
Weg vom alten Eisen IMAP-Migration mit Imapmigrate, Imapsync und Offlineimap
Runter kommen sie alle Spielerische Fallschirmflug-Simulation mit Perl
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Kommentare (0)