© 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.
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.
| 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)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|