-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese
Erfindung betrifft eine mit graphischen Symbolen gedruckte Urkunde,
welche Informationen codieren. Die codierten Informationen sind
nicht visuell lesbar, aber sie sind in der gleichen Weise sichtbar,
wie ein Barcode sichtbar, aber nicht visuell lesbar ist. Der Begriff „graphisches
Symbol" meint jedes
sichtbare Kennzeichen, das Informationen codiert; es schließt daher
Piktogramme, 2D-Barcodes und andere Formen von graphischen Indicia
ein.
-
2. Beschreibung des Stands
der Technik
-
Es
gibt viele Sicherheitsurkunden, die zwischen verschiedenen Geschäfts-/Dienststellen übermittelt werden,
wobei die Integrität
der Urkunden ein Hauptanliegen ist. Ein erstes Beispiel ist die
Verwendung von Schecks für
finanzielle Transaktionen, von denen Milliarden zwischen Kunden
und Banken befördert
werden, und wo das Betrugsrisiko eine fortwährend bestehende Gefahr darstellt.
-
Sicherheitsurkunden
wurden im Laufe der Geschichte durch eine beachtliche Reihe an Vorrichtungen geschützt. Die
gegenwärtigen
Materialien, aus denen sie hergestellt sind, sind für Außenstehende
schwierig zu bekommen oder zu reproduzieren. Es gibt Vorrichtungen,
wie zum Beispiel Hologramme oder Metallstreifen, die dazu gedacht
sind, einen visuellen Integritätsnachweis
zu liefern. Es gibt maschinenlesbare Magnetstreifen und, in jüngerer Zeit
Chips, die Informationen enthalten können, die die Authentizität garantieren.
Es gibt eine Reihe von speziellen Arten von Druckerfarbe, einige
von diesen zum Beispiel mit speziellen reflektierenden Eigenschaften,
die Scanner verwirren und die die Herstellung von Duplikaten für Fälscher schwierig machen.
-
Sicherheitsurkunden
können
eingeteilt werden in (a) solche, wie Bargeld, bei denen die Herstellung von
Fälschungen
das Hauptthema ist und wo Sicherheit gegen einfache Methoden der
Reproduktion erforderlich ist, und in (b) solche, wie Schecks, bei
denen die in der Urkunde enthaltenen Informationen die Hauptrolle spielen.
Die zuletzt genannte Gruppe ist Gegenstand dieser Erfindung.
-
Es
besteht ein Bedürfnis,
viele dieser Dokumente automatisch zu bearbeiten, wobei Hochgeschwindigkeitsdrucker
und – sortiermaschinen
benutzt werden. Für
diesen Zweck ist die Benutzung von maschinenlesbaren Symbolen entscheidend.
Unter diesen Umständen
liegt der Bedarf in einer Lösung,
die keine besonderen Materialien oder Unterbrechungen des Arbeitsablaufes
erfordert.
-
Ein
System für
Maschinenlesbarkeit von gedruckten Urkunden ist das OCR-System,
und dieses kann einen hohen Grad an Exaktheit bei Standardschriftarten
erreichen, neigt jedoch dazu, weit unter der praktischen Schwelle
für handgeschriebene
Schrift zu liegen. Eine gut etablierte Alternativlösung besteht
in dem Drucken von maschinenlesbaren Indicia oder anderen Arten
von graphischen Symbolen mit festgelegten Formaten, wobei das Standarddruckverfahren
verwendet wird.
-
Ein
Verfahren zur Hinzufügung
von Daten zu gedruckten Urkunden besteht in der Benutzung von graphischen
Symbolen, die „Piktogramme" genannt werden (siehe
US-Patente mit den
Nummern 5.091.966 und 5.245.165). Piktogramme sind Schriftzeichen,
die aus vier oder fünf
Pixeln von gedruckten Daten bestehen, welche ein gleichmäßig gräuliches
Erscheinungsbild verleihen, und die üblicherweise in einem Rechteck über die
obere Seite einer Sicherheitsurkunde verteilt sind. Diese Daten
können
gelesen werden, indem sie gescannt und durch ein geeignetes Software-Programm
laufen gelassen werden. Piktogramme variieren nicht in bedeutender
Art und Weise hinsichtlich ihres Erscheinungsbildes auf einer gedruckten
Urkunde. Sie sind typischerweise kleine Vorwärts- und Rückwärtsschrägstriche. Piktogramme sind
ebenso stets gegen ein feststehendes, geradliniges Gitter angeordnet.
Die Standardisierung der Form von Piktogrammen und deren Platzierung
entlang einem vorherbestimmten, geradlinigen Gitter wurden für ein schnelles
und akkurates maschinelles Scannen und Erkennen als notwendig erachtet.
-
Ein
weiteres Verfahren zur Hinzufügung
von Daten besteht in der Benutzung von 2D-Barcodes, insbesondere von denen im
PDF417-Format. Diese Barcodes benutzen einen festgelegten Satz von
Symbolen und sie sind sehr robust unter solchen Transformationen
wie zum Beispiel Komprimierung und Fotokopieren.
-
2D-Barcodes
und Piktogramme können
durch zwei hauptsächliche
Verfahren Authentifizierung liefern. Ein Verfahren besteht in der
Vernetzung der Daten in der maschinen-integrierten Form mit Daten,
die in einer anderen Form in der Urkunde enthalten sind. Diese andere
Form könnte
gewöhnlich
lesbare Schrift sein, oder sie könnte
in einer stilisierten Form bestehen, wie zum Beispiel bei der MICR
(magnetic ink character recognition) Zeile auf einem Scheck. Ein
Verfahren ist in dem Patent von Payformance Corporation beschrieben, US-Patent
mit der Nummer 6.170.744, wo ein One-Way-Hash von visuell lesbaren
Informationen in einem 2D-Barcode integriert ist. Eine alternative
Form der Authentifizierung wird geliefert, wenn die integrierten
Daten mit in einer Datenbank enthaltenen Informationen verglichen
werden, welche von Daten auf der Urkunde indexiert werden.
-
Eine
wichtige Eigenschaft der Codierung mit graphischen Symbolen besteht
darin, dass das Vorhandensein des Trägers der Information vollständig offen
oder klar offensichtlich ist. Folglich sind die Piktogramme und
die 2D-Barcodes deutlich sichtbar, obwohl die Informationen, die
in ihnen codiert sind, eine Decodierung benötigen würden. Die Sichtbarkeit des
Informationsträgers
steht in auffälligem
Kontrast zu steganographischen Wasserzeichen-Systemen, bei denen
der Informationsträger
in besonderer Weise gestaltet ist, damit er nicht gleich wahrnehmbar
ist; das primäre
Ziel solcher Wasserzeichen-Schemata
ist das Verbergen sowohl des Informationsträgers als auch der Informationen
selbst. Die vorliegende Erfindung betrifft steganographische Wasserzeichen-Systeme überhaupt
nicht, sondern stattdessen Systeme, bei denen der Informationsträger gleich
wahrnehmbar ist. Als praktische Sache sollte vermerkt werden, dass
die Verwendung eines steganographischen Wasserzeichens zur Integrierung
von Informationen mit einer geringen visuellen Wirkung bei Sicherheitsurkunden
keine realistische Option ist. Dies ist deswegen so, weil steganographische
Wasserzeichen typischerweise eine viel geringere Informationsrate
besitzen und weil es schwierig ist, sie in einer geeigneten Art
und Weise zu erstellen, wenn nur der typische Laserdrucker benutzt
wird, der zu dem Zeitpunkt verfügbar
ist, zu dem die Informationen in die Sicherheitsurkunde, wie zum
Beispiel einen Scheck, integriert werden.
-
Es
gibt einen bedeutenden Nachteil bei den gebräuchlichen Systemen, bei denen
der Informationsträger
ein Muster eines deutlich sichtbaren Features von graphischen Symbolen
ist (z.B. Piktogramm und 2D-Barcodes). Er besteht darin, dass das
Feature das Erscheinungsbild der Urkunde beeinträchtigen kann. In vielen Situationen,
insbesondere bei Schecks, ist alles, was das Gesamterscheinungsbild
der Urkunde in bedeutender Weise beeinträchtigt, kommerziell sehr unattraktiv.
Aber vor der vorliegenden Erfindung gab es zu unansehnlichen, herkömmlichen
Piktogrammen und 2D-Barcodes keine Alternative. Es sollte jedoch
auf das Patent
EP0549507 Bezug
genommen werden, das die Einfügung
von wenigen einzelnen Pixeln mit unterschiedlicher Farbe in ein
Schriftzeichen, das vorwiegend in einer Farbe gedruckt ist, um das
Schriftzeichen in einer unaufdringlichen Weise zu farbcodieren,
offenbart.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Bei
einem ersten Aspekt der Erfindung gibt es eine mit graphischen Symbolen,
die nicht visuell lesbar sind, gedruckte Urkunde, wobei die graphischen
Symbole in virtuellen Zellen organisiert sind, wobei jede dieser
Zellen Informationen aufgrund des Vorhandenseins eines graphischen
Symbols von einer Anzahl gegebener Typen innerhalb der Zelle, oder
aufgrund der Anordnung des Vorhandenseins und des Nicht-Vorhandenseins
eines primitiven graphischen Symbols darin codiert, wobei die Zellen
so angeordnet sind, dass sie ein Element, das visuell lesbar ist,
teilweise oder ganz füllen,
basierend auf der Kontur des Elements; wobei die Gestalt, die Größe und/oder
die Position der Zellen von dem visuell lesbaren Element gemäß den vorher festgelegten
Regeln abhängen.
Weitere Aspekte und Details der Erfindung sind in den Ansprüchen dieser
Beschreibung enthalten.
-
Graphische
Symbole nach dem Stand der Technik (z.B. herkömmliche Piktogramme) wurden
in keiner Art visuell lesbarer Elemente eingesetzt, wie zum Beispiel
ein Wort oder ein Siegel. Stattdessen waren sie im Allgemeinen große und aufdringliche
Blocks, die das Erscheinungsbild der gedruckten Urkunde trüben. Diese negative
Auswirkung hinsichtlich des Erscheinungsbildes war einer der Hauptgründe für die Verhinderung
der Aufnahme der Technologie der graphischen Symbole zur Codierung
von Informationen.
-
Das
Vorhandensein von graphischen Symbolen ist größtenteils getarnt, weil sie
die innere Struktur eines Elements bilden, das selbst in das Gesamterscheinungsbild
der Urkunde übergeht,
anders als bei den Piktogrammen oder bei den 2D-Barcodes nach dem
Stand der Technik, die deutlich hervortreten. Innerhalb des Elements
selbst ist eine feine Struktur – (d.h.
die einzelnen graphischen Symbole) vorhanden, (auch wenn es schwierig
sein kann, diese deutlich zu sehen); diese feine Struktur trägt die Nutzdaten.
Die Erfindung kann man sich als eine Verteilung einer visuell offensichtlichen,
feinen Struktur in einer ästhetischen
Art und Weise vorstellen. Da es kein Bedürfnis dafür gibt, die feine Struktur
vollständig
nicht wahrnehmbar zu machen (anders als bei steganographischen Wasserzeichen-Systemen), kann diese
Struktur viel mehr Nutzdaten in einer robusten Art und Weise tragen;
dies ist dort ein entscheidender Vorteil, wo die Urkunde mit hoher
Geschwindigkeit gedruckt werden muss, wobei herkömmliche Drucker verwendet werden
(z.B. Hochgeschwindigkeitslaserdrucker) und ebenso wo sie bei hoher
Geschwindigkeit und mit einer, relativ wenig hoch entwickelten Ausstattung
gescannt werden muss, so wie man dies bei Einzelhandelsgeschäften oder
in der gewöhnlichen
Retailbank-Branche vorfinden kann.
-
Folglich
kombiniert die Erfindung die Vorteile von robusten Nutzdaten (verfügbar in
herkömmlichen 2D-Barcodes
und in Piktogrammen, aber auf Kosten von unattraktiven und aufdringlichen
graphischen Elementen) mit den Vorteilen eines insgesamt ästhetischen
Designs (verfügbar
bei der Kennzeichnung mit steganographischen Wasserzeichen, aber
auf Kosten von eingeschränkten
Nutzdaten und eingeschränkter
Robustheit).
-
Bei
einer Implementierung, die BitmorphTM Seal
EncodingTM genannt wird, von EnSeal Systems
Limited des Vereinigten Königreiches,
werden die graphischen Symbole „Bitmorphs" genannt. Bitmorphs besitzen die folgenden
einzigartigen Eigenschaften, die sie von anderen herkömmlichen
Piktogrammen und anderen Formen von graphischen Symbolen unterscheidet:
- • Bitmorphs
werden in ein dekoratives Element eingesetzt, wie zum Beispiel ein
Bild, ein Siegel oder in eine Signatur.
- • Bitmorphs
können
leicht dazu gebracht werden, in ein dekoratives Element überzugehen,
weil ihre Gestalt verändert
werden kann (z.B. gestreckt, gedehnt, gedreht, usw.), um um die
Konturen des dekorativen Elements zu passen. Folglich kann der gebogene
Rand eines Bildes gebogene Bitmorphs verwenden. Die Größe und die
Gestalt des Bitmorph wird automatisch berechnet, um ein Siegel optimal
auszufüllen
(so dimensioniert, um eine maximale Dichte zu verleihen, übereinstimmend
mit adäquaten
Erkennungseigenschaften; so gestaltet, um so übereinstimmend wie möglich mit
der Ästhetik
zu sein, um so effektiv wie möglich
darin überzugehen).
- • Bitmorphs
können
leicht dazu gebracht werden, in ein dekoratives Element überzugehen,
weil sie „polymorph" sind, insofern,
dass es für
jeden Bit oder jedes Schriftzeichen, der/das codiert werden muss,
mehrere mögliche
Bitmorphs gibt, die ausgewählt
und gedruckt werden könnten.
Folglich können
schwach bedruckte Flächen
eines Bildes Bitmorphs mit einer relativ geringen Pixeldichte benutzen;
fett bedruckte Flächen
können
Bitmorphs mit einer höheren
Dichte benutzen. Ein automatischer Prozess kann den optimalen Bitmorph
für einen
bestimmten Bereich eines Bildes, das auf eine Urkunde aufgedruckt
werden soll, auswählen,
indem ein Original des Bildes analysiert wird und Bitmorphs mit
dem am besten geeigneten Erscheinungsbild (z.B. Pixeldichte; Pixelanordnung – Bitmorphs
mit einer stark horizontalen Pixelanordnung, wo dies zu dem in dem
Bild verwendeten Schraffierungsschema passt, usw.) verwendet werden.
- • Die
obigen Ansätze
führen
zu der maximalen Informationsdichte der codierten Informationen;
ferner ist es mit dem verwendeten System kompatibel, insbesondere
mit der Auflösung
und der Qualität
der Drucker und Scanner, die Teil eines typischen Urkunden-Transaktions-Systems
sind (z.B. High-Speed-Scheck-Drucker und
Scanner; Produkt-Etikettier-Drucker).
- • Bitmorphs
selbst brauchen nicht einzeln erkannt zu werden, um zunächst einen
Scann-Vorgang akkurat zu registrieren; stattdessen wird die Registrierung
oder Synchronisierung gegen den Umriss des Elements durchgeführt, das
aus der Ansammlung von Bitmorphs gebildet wird. Dies ist schnell
und robust.
-
Mit
Bitmorphs wird der Informationscodierprozess durch einen Schlüssel gesteuert,
der auf einen Nutzer oder eine Gruppe von Nutzern beschränkt ist.
Die Informationen sind lesbar, sowohl wenn sich das Siegel in elektronsicher
Form befindet, als auch wenn sie von einer gedruckten Version der
Urkunde gescannt wurden.
-
Der
Zweck der Codierung ist typischerweise, die Selbst-Authentifizierung
von Urkunden zu gestatten, insbesondere von solchen wie Schecks,
die finanzielle Transaktionen involvieren. Die mit Bitmorphs mögliche hohe
Informationsdichte gestattet es kleinen Siegeln, effektiv zu sein;
sie können
daher für
Wertzeichen-Label, wie zum Beispiel Postwertzeichen-Label und elektronische
Wertzeichen-Label (d.h. Wertzeichen, die nicht bei einer herkömmlichen
Poststelle gekauft werden, aber von einem Nutzer von einem PC aus
gedruckt werden) und für
andere Urkunden, wie zum Beispiel Personalausweise und Reisepässe, die
ebenso eine schnelle Authentifizierung benötigen, benutzt werden. Bei
vielen dieser Art von Urkunden kann nur ein relativ kleiner Anteil der
Urkundenfläche
für diese
Art von Siegel benutzt werden (z.B. weniger als 20 %); die ICAO
schreibt zum Beispiel einen sehr begrenzten Bereich für Authentifizierungssiegel
auf Reisepässen
vor.
-
Die
codierten Informationen werden sich im Allgemeinen auf Informationen
beziehen, die woanders auf der Urkunde aufgedruckt sind und visuell
lesbar oder „offen" sind (d.h. nicht
versteckt) und der Authentifizierungsprozess besteht in dem Scannen
der Urkunde, dem Decodieren der codierten Informationen und deren
Vergleich mit der visuell lesbaren, offenen, gedruckten Informationen.
So ist zum Beispiel der Name des Zahlungsempfängers normalerweise auf einem
Scheck aufgedruckt (vorausgesetzt, dass der Scheck von einem Unternehmen
oder einer Regierungsbehörde
kommt). Mit der vorliegenden Erfindung ist dieser Name ebenfalls
in einem visuell attraktiven Element oder Muster codiert, das einen
relativ kleinen Teil des Schecks ausmacht; es könnte eine Unterschrift, ein
Unternehmenslogo, ein Bild, ein Wort, eine Marke oder ein Siegel sein.
-
Die
vorliegende Erfindung ist bei „positiven
Zahlungs-" Services
nützlich;
ein positiver Zahlungsservice ist, wenn ein Bankkunde seiner Bank
für alle
Schecks, die er ausgestellt hat, die Informationen über die Schecknummern,
den Zahlungsempfänger
und den Betrag übersendet;
die Bank vergleicht dann diese Daten mit allen tatsächlich eingereichten
Schecks, und nimmt die Zahlung nur vor, wenn sie eine Übereinstimmung findet.
Die vorliegende Erfindung kann bei Unternehmen verwendet werden,
die Schecks ausstellen, da sie ohne Weiteres bereits bestehenden
Systemen hinzugefügt
werden kann, da (i) die Computerbelastung gering ist, und sie folglich
gehandhabt werden kann, ohne schnelle Systeme zum Drucken von Schecks
zu verlangsamen, und (ii) sie nur herkömmliche Laserdrucker (unter
geeigneter Software-Steuerung) benötigt. Ferner sind das Einlesen
und die Authentifizierung ebenfalls schnell und effizient, mit einer
geringen Computerbelastung, was es wiederum einfach macht, sie in
bereits bestehende Bank-Authentifizierungs-Systeme
zu integrieren.
-
Zur
Rekapitulation, es gibt zwei wichtige Aspekte bei der Bitmorph-Implementierung
der Erfindung, die sie von den Lösungen
nach dem Stand der Technik unterscheiden. Der erste Aspekt (wie
oben vermerkt) ist der, dass die zu codierenden Informationen in
ein Feature platziert werden, das auch für gewöhnlich in einer Urkunde vorhanden
wäre, wie
zum Beispiel ein Logo, eine Signatur oder ein attraktives Bild,
usw. Falls ein solches Feature nicht in dem Design der Urkunde eingeschlossen
sein sollte, dann wird der Urkunde als Träger der Informationen ein Feature
hinzugefügt,
das mit dem Erscheinungsbild der Urkunde kompatibel ist, eher als ein
grob offensichtlich aufgezwungenes Sicherheits-Feature (z.B. ein
großer
Block von unansehnlichen herkömmlichen
Piktogrammen), und zwar in einer Axt und Weise, die das ästhetische
Erscheinungsbild nicht nachteilig beeinflussen wird.
-
Zweitens
weil graphische Symbole eine variable Größe und Gestalt besitzen und
polymorph sind (d.h. es gibt verschiedene Formen des graphischen
Symbols, die den gleichen Bit-Wert oder das gleiche Schriftzeichen
codieren), können
die Informationen bei einer maximalen Dichte hinzugefügt werden
und in einer Art und Weise, die mit dem System kompatibel ist, das
benutzt wird, insbesondere mit der Auflösung und der Qualität der Drucker
und Scanner, die Teil des Transaktionssystems sind (d.h. das System
zum Drucken der Urkunden und zu deren Scannen zu Authentifizierungszwecken).
Dies steht im Kontrast zu Barcodes, bei denen die Dichte von den
festgelegten Schriftzeichen und den Rahmen, die den Umfang des Codierens
abgrenzen, bestimmt wird. Die Folge ist, dass die von den Informationen
eingenommene Fläche
auf einem Minimum gehalten wird oder dass alternativ die Menge an
codierten Daten erhöht
werden kann.
-
Die
hohe Dichte an Informationen macht ein eigens konstruiertes Codierverfahren
erforderlich, so wie es unten beschrieben wird.
-
Eine
Implementierung der Erfindung schließt ein System zur Authentifizierung
ein, das insbesondere, aber nicht ausschließlich in dem Fall anwendbar
ist, wo die Erfindung verwendet wird, um Bankschecks zu authentifizieren.
Die Implementierung schließt
ein Verfahren zur Verschlüsselung
von Daten und zu deren Hinzufügung
zu einem Siegel ein, aber aufgrund der hohen Dichte können die
gesamten Informationen auf dem Scheck integriert werden, was eine
Wiedergewinnung gestattet, wenn einige der visuell lesbaren Informationen
beschädigt
werden. Dies steht zum Beispiel im Kontrast zu dem US-Patent mit
der Nummer 6.170.744, wo eine gehashte Version der Daten integriert
ist; unvermeidbar ist dies nur ein kleiner Teil der verfügbaren Daten.
-
Eine
weitere Implementierung für
hochwertige Urkunden (z.B. Handelsübereinkommen) umfasst die Hinzufügung eines
Siegels, wahrscheinlich in der Form eines Unternehmenslogos oder
eines ähnlichen
Elements, in das die ausgewählten
Informationen codiert werden. Typischerweise kann eine Urkunde aus
einem Standardtext bestehen, zu dem Informationen hinzugefügt werden,
die sich auf eine bestimmte Transaktion beziehen, und es sind ebendiese
letztgenannten Daten, die von dem Bitmorph Seal Encoding' geschützt werden
würden.
-
Die
hohe Dichte der codierten Daten in einer Implementierung machen
es weniger einfach, sie durch Standard-Kopier- und Druck-Verfahren
zu reproduzieren, als einen herkömmlichen
Barcode oder ein Piktogrammmuster. Dies ist teilweise deswegen so,
weil die Letztgenannten festgelegte Schriftzeichensätze besitzen,
um zu ermöglichen,
teilweise wiedergewonnenen Schriftzeichen relativ leicht wiederherzustellen:
Es gibt keine festgelegten Schriftzeichensätze bei dieser Implementierung – eine „1" kann auf viele verschiedenen
Arten dargestellt werden, genau wie eine „0". Ein weiterer Vorteil der vorliegenden
Erfindung liegt darin, dass die Fehlerkorrektur eine Messung der
Degradation des Originalmusters von dessen elektronischer Form ausgehend
liefern kann. Dies liefert einen Hinweis auf das Vorliegen einer
Fälschung,
weil jede Reproduktion eines Schecks, wie geschickt sie auch sein
mag, dazu neigen wird, Informationen mit einer geringeren Qualität zu erzeugen.
-
Wie
bereits oben angemerkt, kann das Muster, das das Herz dieser Erfindung
ist, aus kleinen Informationseinheiten in einer ähnlichen Art und Weise hergestellt
werden, in der Bilder durch Punkte bei einem Standard-Druck-Prozess
gebildet werden. Die Auswahl von Informationseinheiten gestattet
die Herstellung von verschiedenen visuellen Effekten, während die
gleichen Informationen übertragen
werden. Das Muster kann auf verschiedenenfarbige Hintergründe aufgesetzt
werden, was es gestattet, das Design der Urkunde nur minimal zu
beeinträchtigen.
-
Ein
wichtiger Aspekt bei der Siegelcodierung liegt darin, dass sie kostengünstig mit
einer minimalen Auswirkung auf die Betriebsparameter implementiert
werden kann. Für
viele Sicherheitsanwendungen ist ein bedeutender Faktor bei der
Bewertung der Effektivität
die Quote der Annahme durch bedeutende Geschäfts-/Dienststellen und eine
geringe Auswirkung, ein einfaches Schema kann effektiver sein als
ein Hochsicherheitsschema mit einer geringen Aufnahme. Bitmorph
Seal Encoding bietet die Aussicht auf ein einfaches Schema mit einer
Reihe von Sicherheitsstufen.
-
Eine
Implementierung betrifft Urkunden, wie zum Beispiel Zertifikate,
bei denen ästhetische
Gesichtspunkte wichtig sind und in denen bedeutende Informationen
enthalten sind. Das Erfordernis besteht darin, sie gegen Fälschungen
zu schützen,
eher als gegen das Kopieren, und ein geeignetes maschinenlesbares
Verfahren zur Authentifizierung zu haben. Dabei sind Versicherungsscheine,
Verträge,
Zeugnisse über
die berufliche Qualifikation mit eingeschlossen. Die wesentlichen
variablen Daten auf diesen Zertifikaten würden in einem Siegel codiert,
welches zu dem Stil der Urkunde passen könnte. In einigen Ländern enthalten
persönliche Papiere
nicht nur die Geburtsdaten, sondern auch Daten von nachfolgenden
Lebensereignissen. Diese Urkunden sind für Fälschungen anfällig und
könnten
durch ein Siegel geschützt
werden.
-
Die
Siegelcodier-Software würde
als ein Hilfsprogramm zur Verfügung
gestellt werden, das als „plugin" an Textverarbeitungssysteme,
so wie an die, die „Word"- oder „pdf"-Dokumente produzieren, angehängt werden
könnte.
Typischerweise würde
ein Word-Dokument
zum Beispiel ein festgelegtes Template für ein Zertifikat haben. Diesem
würden
die variablen Daten hinzugefügt
werden, die die bestimmte Transaktion beschreiben. Diese Daten würden in
einem Siegel codiert werden, die zu einem Teil des Word-Dokuments
werden würden.
-
Sollte
solch ein Siegel den Fahrzeugpapieren hinzugefügt werden, würde dies
es der Polizei gestatten, mit Handscannern zu überprüfen, dass keine Fälschung
der Daten geschehen ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben werden, in denen:
-
1 eine
Abbildung einer Scheckurkunde in Übereinstimmung mit der vorliegenden
Erfindung ist, bei der eine Signatur die codierten Informationen
trägt;
-
2 ein
vergrößerter Teil
dieser Signatur ist, die das Array von schwarzen und weißen Pixeln
(Bitmorphs) zeigt, die die Informationen codieren;
-
3 eine
vergrößerte Abbildung
eines Unternehmenslogos ist, bei dem der Hintergrund die als Bitmorphs
codierten Informationen trägt;
-
4 und 5A und 5B schematisch
veranschaulichen, wie die Informationen in ein Template oder ein
Siegel codiert werden;
-
6 schematisch
den Prozess des Schreibens der codierten Informationen veranschaulicht;
-
7 schematisch
den Prozess des Einlesens der codierten Informationen bei einer
Bank veranschaulicht;
-
8 schematisch
den Prozess des Einlesens der codierten Informationen an einer Örtlichkeit,
die von einer Bank entfernt ist, veranschaulicht;
-
9 schematisch
den Prozess des Bitmorph Seal Encoding veranschaulicht.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN IMPLEMENTIERUNG
-
Eine
Beschreibung der bevorzugten Implementierung wird unten gegeben.
Diese Implementierung wird BitmorphTM Seal
EncodingTM genannt, von der EnSeal Systems
Limited des Vereinigten Königreiches.
Bitmorph Seal Encoding liefert ein neues Verfahren zur Integrierung
von Informationen in ein Siegel oder ein Logo, in Zusammenhängen, wo
weder ein 2D-Barcode noch ein digitales Wasserzeichen die erforderlichen
Eigenschaften erfüllt.
-
Bitmorph
Seal Encoding liefert eine Vorrichtung zur Integrierung einer großen Menge
an Informationen in ein kompaktes Symbol, wo das Erscheinen eines
herkömmlichen
2D-Barcodes nicht
akzeptabel ist. Die 2D-Barcode-Anforderung für einen Satz von vorherbestimmten
Schriftzeichen (z.B. der Industriestandard pdf417 Barcode) wird
durch jede beliebige Form eines gedruckten Logos, Bildes, Siegels,
Wortes, usw. ersetzt, bei denen einzelne Pixel in subtiler Weise
verändert
werden, gemäß dem Schlüssel, der
für das
Codieren und die zu codierenden Daten verwendet wird.
-
Das
Siegelcodierverfahren umfasst im Wesentlichen einen Prozess der
Verwürfelung
der hinzuzufügenden
Informationen, gefolgt von der Aggregation der verwürfelten
Informationen in ein Element oder Template der erforderlichen Form.
Die gleichen Informationen werden in verschiedenen Formen innerhalb
des Bildes erscheinen, sodass Distorsionen aufgrund des Druck- und
Scannprozesses in einer berechneten Art und Weise berücksichtigt
werden können,
anstatt im Gegensatz dazu, einfach einige statische Mittel zu nehmen. Die
Sicherheit des Verfahrens liegt in dem Verwürfelungsprozess, der von einem
Schlüssel
und von einem Template abhängt.
Der Schlüssel
kann Teil der Daten sein, die in die betreffenden Urkunde eingeschlossen sind,
oder er kann Teil eines Schlüssel-Management-Systems
sein, wie zum Beispiel das PKI. Das Template ist sowohl für das Hinzufügen als
auch für
das Extrahieren der Informationen erforderlich. Der Hauptweg der tatsächlichen
Benutzung des Schlüssels
erfolgt durch die Steuerung der Erzeugung der Permutation und der Erzeugung
der Zufallssequenz, die bei dem Formatieren der Daten verwendet
werden. Als solches verkörpert es
die Sicherheit des Vorgangs.
-
Anders
als bei der digitalen Kennzeichnung mit Wasserzeichen ist das Siegelcodieren
nicht auf ein Bild angewiesen, das leicht modifiziert ist, um Informationen
zu enthalten, vielmehr werden die Informationen mit einer viel höheren Dichte
zusammengesetzt, um das gedruckte Bild auszumachen. Dieses Verfahren
kann mit einem Druck-Screen-Prozess verglichen werden, wobei Punkte
in großer
Anzahl verwendet werden, um ein „Contone"-Bild
aufzubauen, wo aber die eigentliche Gestalt der Punkte zu einem
gewissen Grad willkürlich ist.
-
Ein
Hauptanliegen bei allen Techniken zum Integrieren von Informationen
ist die Robustheit des Verfahrens. Es kann in einigen Fällen erforderlich
sein, dass Informationen Komprimierungen zusätzlich zu dem Druck- und Scannverfahren überstehen.
In dieser Hinsicht verkörpert
das Siegelcodieren Eigenschaften, die zwischen digitalen Wasserzeichen
und 2D-Barcodes liegen. Das Siegelcodieren ist viel robuster als
die Kennzeichnung mit digitalen Wasserzeichen, die auf Korrelation
oder andere statistische Verfahren angewiesen sind, um eine Wiedergewinnung
zu bewirken. Stattdessen werden die codierten Daten direkt von dem
Siegel mit einer eingeschlossenen Fehlerkorrektur eingelesen, um „falsche
Positive" zu vermeiden.
Umgekehrt ist das Siegelcodieren weniger robust als 2D-Barcodes,
weil die Eigenschaften des Siegels nicht Teil eines universalen
Satzes von vorherbestimmten Codes sind. Infolgedessen können die
Daten nach einer Degradation, zum Beispiel durch Fotokopieren, ohne
die Kenntnis des Schlüssels
weniger leicht rekonstituiert werden, als es der Fall mit Barcodes
ist, die einen bekannten Satz an Schriftzeichen benutzen. Bei einem
2D-Barcode ist keine Kenntnis des Verschlüsselungsverfahrens erforderlich,
um dubiose Flächen
zu rekonstruieren, da der Satz an Schriftzeichen festgelegt ist.
Die Robustheit des Siegelcodierens kann jedoch adjustiert werden,
sodass die Informationen dazu neigen, durch illegales Fotokopieren
zerstört
zu werden, aber unter normalen Betriebsbedingungen wiedergewonnen
werden können.
-
Der
Codierprozess hat mehrere Phasen. Der erste Prozess besteht in der
Auswahl eines geeigneten Designs des Siegels – d.h. das Element, das aus
einer großen
Anzahl von einzelnen Bitmorphs hergestellt werden soll. Bei Implementierungen,
bei denen eine maximale Informationsdichte erforderlich ist, besteht
der nächste
Prozess in der Kalibrierung der relevanten Hardware. Dann überprüft das System
den in dem Siegel verfügbaren
Raum und arbeitet die optimale Anordnung der internen Zellen innerhalb
des Raumes aus. Jede Zelle ist tatsächlich ein leerer Bitmorph – d.h. eine
Gruppe von Pixeln von potenziell variabler Größe, Gestalt und Aussehen. Die
eigentlichen Daten, die codiert werden sollen, durchlaufen dann
mehrere Phasen. Zunächst
werden die Daten in eine geeignete arithmetische Form konvertiert,
für gewöhnlich ein
Binärstring.
Es wird eine Fehlerkorrektur hinzugefügt, um die bekannten, durch
die Verarbeitung verursachten Degradationen zu überwinden. Eine Verschlüsselung
unter der Verwendung von PKI-Verfahren
kann eingeleitet werden, um Sicherheit zu verleihen, eine Auswahl
an möglichen
Szenarien zur Verschlüsselung
kann in verschiedenen Ausführungsformen
erscheinen. Das System speichert sowohl den Außenrand des Siegels als auch
die internen Zellenpositionen. Es kreiert dann das Bitmorph-Siegel,
indem das Siegel auf die Urkunde gedruckt wird. Ein Detektor wird
mit den Außenrandinformationen
und der internen Zellenstruktur ausgestattet; er benutzt die Außenrandinformationen
zur Registrierung, oft als Synchronisierung bezeichnet – der Prozess
des Abgleichens des im Speicher gespeicherten Siegelrandumrisses
mit dem zu testenden Bild, bis die Korrelation eine Ausrichtung
anzeigt. Nach der Ausrichtung liest der Detektor unter Verwendung
seiner Kenntnisse über
die Zellenposition die Werte von jedem Bitmorph in dem Siegel ein.
Die Einzelheiten dieser Phasen werden weiter unten dargelegt.
-
Auswahl des Siegels
-
Ein
Muster, wie zum Beispiel eines Signatur, ein Bild, ein Wort oder
ein Siegel wird ausgewählt,
um ein Template zu liefern, in das die Informationen codiert werden.
In vielen Fällen
ist das Muster eines, das bereits als Teil der Urkunde entworfen
wurde. Um Wiederholungen zu vermeiden wird der Begriff „Siegel" in den folgenden
Abschnitten generell verwendet werden. Das Siegel ist eigentlich
eine bloße
Silhouette, die eine Fläche
bestimmt, die dazu verwendet werden soll, die Informationen zu enthalten,
und als solche kann es mit den begrenzenden Zeilen eines Barcodes
verglichen werden. In 1 besteht das Siegel aus den
Initialen unter 1. Ein Teil dieser Initialen wird in 2 vergrößert gezeigt;
die feine Struktur der Bitmorphs, die die Nutzdaten trägt, ist
in der vergrößerten Abbildung
deutlich zu sehen, obwohl sie in normaler Größe kaum wahrnehmbar ist. 3 zeigt
ein Unternehmenslogo für
EnSeal, bei dem der Hintergrund einzelne Bitmorphs zeigt. Die Größe der Bitmorphs
in 3 wurde über
das Normale hinaus erhöht,
um es der feinen Struktur zu gestatten, leichter gesehen zu werden.
-
Der
Codierprozess ersetzt jedes Pixel der Fläche innerhalb des Siegels durch
eine Farbe, die aus einer Palette von zwei oder mehreren ausgewählt wird,
wobei die Farben von der bei der relevanten Phase des Druckprozesses
vorhandenen Druckerfarbe abhängen.
In dem Fall von Bankschecks ist normalerweise ein Schwarz-Weiß-Laserdrucker
verfügbar,
und daher können
die Pixel einfach schwarz oder weiß sein, oder sie können Grautöne enthalten,
die bei dem Standard-Screen-Prozess erzeugt werden.
-
Es
sind Urkunden möglich,
die jede beliebige Auswahl aus Druckerfarben benutzten, genauso
wie Farbtöne
von Übergangsfarben,
die durch Screening erzeugt werden, aber zur Erleichterung der Fähigkeit
der Wiedergewinnung muss das Farbenspektrum sorgfältig kontrolliert
werden.
-
Das
Siegel kann auf einem leeren Hintergrund platziert werden, aber
es besteht keine Schwierigkeit, wenn es einer vorgedruckten Urkunde
hinzugefügt
wird, wie zum Beispiel bei einem Scheck, bei dem es ein darunter
liegendes Muster geben kann, das zwischen den Zeilen des Siegels
sichtbar ist. Solche Hintergründe können dabei
nützlich
sein, das Siegel schwieriger kopierbar zu machen.
-
Die
Implementierungen der hier beschriebenen Erfindung setzen voraus,
dass das Siegel von einem binären
Array beschrieben werden kann, mit den binären Schriftzeichen, wobei eine
von zwei möglichen
Farben ausgewählt
wird. Es ist eine bloße
Erweiterung, mehr Farbtöne
zu benutzen, indem zum Beispiel 4 Grautöne oder Töne einer anderen ausgewählten Farbe
benutzt werden, anstatt nur Schwarz und Weiß.
-
Codieren und Decodieren,
unter Verwendung des Templates
-
Das
Diagramm der 4 zeigt die Prozesse. Das Original-Template
ist eine Silhouette in Schwarz und Weiß. Es werden Regeln für die Unterteilung
in Zellen übernommen.
In diesem Fall sind die Zellen rechteckig mit einer festgelegten
Höhe von
3 Pixeln, einer minimalen Breite von zwei Pixeln und einer maximalen
Breite von fünf
Pixeln. Eine Zelle enthält
einen einzelnen Bitmorph. Die sich ergebende Unterteilung des Templates in
5 Zellen wird in (b) gezeigt. Es gibt restliche schwarze Eckpixel,
die nicht codiert sind.
-
Bei
diesem Beispiel wird die Ziffer „1" durch ein Bitmorph mit einem vertikalen
Streifen und die Ziffer „0" durch einen Bitmorph
mit einem horizontalen Streifen dargestellt. Die Figur bei (c) zeigt,
wie die Bitmorphs den Zellen hinzugefügt werden, um den Code 10010
darzustellen. Dies wird in der folgenden Tabelle zusammengefasst:
-
Die
Informationen, die zu dem Decoder gesendet werden, befinden sich
in einer Form, die von der in dem Codierer abweicht, um das einfache
Reverse Engineering des Schreibens des Templates zu verhindern. Der
Decoder wird mit dem Plan der Codierungszellen ausgestattet. Er
wird ebenfalls mit der Anzahl von Pixeln in jeder Zeile und Spalte
des Templates ausgestattet. Obwohl es nicht nur eine einzige Beschreibung
des Templates gibt, ist es ausreichend, um die Synchronisierung
des gescannten Templates zu ermöglichen.
Das gescannte Template muss eventuell gedreht werden oder der Maßstab geändert werden,
um mit dem Original übereinzustimmen.
Der Prozess ist teilweise einer des Versuchs und Irrtums, um die
beste Korrelation mit der Anzahl der Zeilen und Spalten zu erzielen.
-
Die
Zellen können
dann von dem Decoder identifiziert werden und die Bitmorphs können analysiert werden,
um zu sehen, ob sie besser mit den horizontalen oder mit den vertikalen
Streifen korrelieren.
-
Kalibrierung der Drucker
und Scanner
-
Codierte
Siegel werden im Allgemeinen in geschlossenen Systemen mit einer
bekannten Reihe von Hardware benutzt, und da sie so gestaltet sind,
dass sie einen hohe Informationsdichte besitzen, ist es wichtig, die
Eigenschaften der verfügbaren
Geräte
zu kennen.
-
Die
Kalibrierung von Druckern wird durchgeführt, indem von elektronischen
Dateien aus gedruckt wird, die bekannte Merkmale enthalten, die
die Fähigkeit
der Drucker testen, genau zu funktionieren. Insbesondere sehr feine
Linien und Gitter testen den „Dot
Gain" in einem Druckprozess,
das ist der Umfang, zu dem die Druckerfarbe außerhalb der geplanten Abgrenzung
verstreut wird, wobei dies ebenso von der Art des Papiers abhängt, auf
dem der Druck stattfindet. Folglich wird ein Schachbrettmuster von
scharf umrissenen schwarzen und weißen Quadraten zu einer weniger
scharf umrissenen Kombination von Schwarz und Grau. Es gibt mathematische
Modelle für
das Dot Gain, die es den Druckertreibern gestatten werden, die Streuung
der Druckerfarbe zu korrigieren und so wird die verwendete Art des
Treibers Teil der Begrenzung hinsichtlich der Genauigkeit sein.
-
Die
Kalibrierung wird ebenso von der Art und Weise abhängen, nach
der die Daten gescreent und gerastert werden, bevor sie letztendlich
gedruckt werden. Insbesondere die Verwendung von an die Kundenwünsche angepassten
Schriftarten, als ein Mittel zur effizienten Herstellung der gewünschten
Muster, erfordert seine eigene detaillierte Untersuchung zum Zwecke
der Kalibrierung.
-
Durch
die Messung der Ausgabe des Druckers bei unterschiedlichen Auflösungen und
durch die Messung, wie viele effektive unterschiedliche Grautöne erreichbar
sind, ist es möglich,
die Auflösung
zu berechnen, bei der die höchste
Informationsdichte von einem Drucker ausgegeben werden kann.
-
Die
Kalibrierung von Scannern wird durchgeführt, indem vorbereitete Urkunden
mit ähnlichen
Merkmalen wie die oben erwähnten
gescannt werden. Wenn die Auflösung
des Scannens niedrig ist, werden schwarze und weiße Merkmale
verschmiert und Informationen gehen verloren. Ähnliches passiert, wenn es Unregelmäßigkeiten
gibt, zum Beispiel bei der Antriebsspindel eines Flachbettscanners,
dann wird ein Grad an Zufälligkeit
in die Ergebnisse eingeführt,
was die erkannten Informationen beschränkt.
-
In
dem besonderen Fall von Hochgeschwindigkeitsscannern, die bei der
Sortierung von Bankschecks verwendet werden, können Funktionen eingebaut werden,
die versuchen, jede Lücke
bei den Scanns zu füllen, von
denen sie Software annimmt, dass sie zufällig sind. Die Kalibrierung
muss diese Eigenschaften erkennen und das Siegelcodieren muss angepasst
werden, um diese Auswirkungen zu bewältigen. Infolge der Verwendung
von Komprimierungstechniken oder der Verwendung von Schwarz-und-Weiß-Daten,
eher als Contone-Daten, kann es bedeutende Degradationen von gescannten
Daten geben.
-
Als
ein Ergebnis von solchen Kalibrierungen kann eine Funktion bestimmt
werden, die das Verhältnis zwischen
der Auflösung,
dem Screeningprozess und der Informationsdichte zeigt. Davon ausgehend
kann die optimale Auflösung
für ein
gewisses System bestimmt werden und diese Informationen wirken bei
dem Design des Integrationsprozess für das Muster mit.
-
Eine
Verfeinerung des Prozesses des Einlesens der Schriftzeichen kann
erreicht werden, indem Kalibrierungsschecks oder Kalibrierungsurkunden
verwendet werden, abhängig
von dem jeweiligen Zusammenhang. Ein Satz von Kalibrierungsschecks
kann codiert werden, indem die ausgewählten graphischen Symbole benutzt
werden, die einen bekannten Datenstreifen darstellen. Die Schecks
werden dann in der Umgebung gedruckt und gescannt, in der die Schecks
gehandhabt werden. Auch wenn die ursprüngliche elektronische Form
des Codes sehr scharf und deutlich sein wird, kann die Form, die
aus dem Scannprozess entsteht, nun beachtliche Distorsionen und
allgemeine Degradationen aufweisen. Angenommen zum Beispiel, dass
es zwei Arten von Schriftzeichen gibt, Typ A und Typ B, die zu dem
Zweck der Decodierung voneinander unterschieden werden müssen. Nach
dem Druck- und Scannprozess kann die jeweilige Gestalt durchaus
sehr von den Originalen abweichen und es kann notwendig sein, sie
zum Gegenstand einer sorgfältigen
Analyse zu machen, um zu entscheiden, welcher Typ vorhanden ist.
Typischerweise wird eine Berechnung der Art der Korrelation durchgeführt, um
einen Differenzierungsindex zu erzeugen. Zum Beispiel kann der Index
berechnet werden, um Werte von zwischen 0 und 100 hervorzubringen
und es kann sein, dass das Schriftzeichen als Typ A klassifiziert
werden sollte, wenn der Index kleiner als 50 ist, und wenn er größer als
50 ist, als Typ B.
-
In
der Praxis kann es durchaus verschiedene Schriftzeichen des Typs
A geben, die einen Index größer als
50 hervorbringen, oder Schriftzeichen des Typs B, die einen Index
kleiner als 50 hervorbringen. Der Kalibrierungsprozess funktioniert,
indem die Verteilung der Indexwerte untersucht werden, die den Schriftzeichen entsprechen,
von denen bekannt ist, dass sie zu dem Typ A gehören, und in ähnlicher
Weise für
den Typ B. Das Ergebnis werden zwei Kurven sein, die ungefähr gaußisch sein
sollten, mit dem Maximum für
Schriftzeichen des Typs A mit einem Index kleiner als 50 und einem
Maximum für Schriftzeichen
des Typs B mit einem Index größer als
50. Die Fehler bei der Erkennung der Schriftzeichen liegen dort,
wo sich die beiden Kurven überschneiden.
Der erste Teil der Kalibrierung besteht einfach darin, eine Schwelle
für den
Index zu finden, die die wenigsten fehlerhaften Schriftzeichen produziert,
d.h. die theoretische Schwelle entsprechend den empirischen Werten
zu erhöhen
oder zu senken.
-
Die
Kalibrierung kann noch ausgeklügelter
werden, wenn sie die verschiedenen möglichen Konfigurationen berücksichtigt.
Wenn ein Schriftzeichen des Typs A unmittelbar über ihm ein Schriftzeichen
des Typs B hat, und eines unmittelbar auf seiner linken Seite, kann
es zum Beispiel sein, dass es einen Grad von Distorsion gibt, der
von der Verstreuung von Druckerfarbe oder von der Software-Ausfüllung durch
den Scanner verursacht wurde. Diese Konfigurationen können von
der Kalibrierungssoftware analysiert werden und es können neue
Schwellen berechnet werden. Die Schwellen können für Konfigurationen berechnet
werden, die den Effekt einschließen, sich an der Ecke eines
Templates zu befinden, oder für
Fälle,
bei denen graphische Symbole modifiziert wurden, um Features in
dem Template zu akkomodieren. Die Kalibrierung kann folglich zu
einem hohen Grad die Unzulänglichkeiten
des Druck- und Scannprozess überwinden.
Die sorgfältige
Auswahl des Index ist ebenfalls ein wesentlicher Gesichtspunkt.
-
Vorbereitung der Daten
zur Codierung
-
Die
erste Phase der Datenvorbereitung besteht darin, die zu codierenden
Daten zu nehmen und sie auf einen Satz von Schriftzeichen aus einem
bekannten Alphabet zu reduzieren, oder auf einen Binärstring
in dem Fall, wo Verschlüsselung
benutzt werden soll. In dieser Form können Fehlerkorrekturtechnischen
angewendet werden. Der Vorteil des Arbeitens mit Schriftzeichen
liegt darin, dass der Beschädigung
von einzelnen Schriftzeichen mit der Verwendung von ergänzenden
Informationen von einer optischen Schriftzeichenerkennung oder Ähnlichem
entgegengewirkt werden kann.
-
Fehlerkorrektur
-
Bitmorphsiegel
funktionieren bei der höchsten
Auflösung,
die von Druckern und Scannern in dem besonderen Kontext, in dem
sie implementiert sind, erreicht werden kann. Ein Vorteil dafür liegt
darin, dass es viel schwieriger ist, eine Kopie anzufertigen, die
genau dieselben Eigenschaften wie das Original besitzt. Es ist ebenso
möglich,
sich sensitive Messungen des Grades, zu dem die Originalinformationen
degradiert worden sein könnten,
auszudenken.
-
Eine
Konsequenz dieser Form der Codierung ist das Bedürfnis nach einer ausgeklügelten Methodik zur
Wiedergewinnung von Informationen, die ein Verfahren zur Fehlerkorrektur
einschließt,
das an den besonderen Kontext angepasst ist.
-
Die
prinzipielle Situation ist die, dass ein Binärstring in eine Urkunde in
der Weise codiert wird, dass eine „1" und eine „0" jeweils durch eine unterschiedliche
Farbe, Gestalt oder Anordnung des Pixels dargestellt werden. Folglich
kann eine „1" durch ein schwarzes
Pixel und eine „0" durch ein graues
Pixel dargestellt werden. Diese Pixel werden zur Konstituierung
des Siegels auf die Urkunde in einem Template aufgedruckt.
-
Es
gibt drei besondere Arten von Fehler, die beim Versuch der Wiedergewinnung
des Binärstrings
aus einer Urkunde, die gescannt wurde, auftreten. Diese sind:
- (i) Die Lage und die Ausrichtung des Siegels
sind durch den Druck- und Scannprozess beeinträchtigt. Der Druckprozess kann
die Distorsion des Papiers verursachen, insbesondere wenn eher ein
absorbierendes Papier als ein gestrichenes Papier benutzt wird.
Ein Scanner, insbesondere wenn es sich um einen billigen Flachbettscanner
handelt, kann ein leicht verzerrtes Seitenverhältnis und Unregelmäßigkeiten
bei der Transportrichtung des Scannwagens haben. Hochgeschwindigkeitsscanner
rufen oft eine kleine Drehung beim Scannen hervor, aufgrund der
schnellen Bewegung der Urkunde, die gescannt wird.
- (ii) Die Pixel können
an „Dot
Gain" leiden, d.h.
die Tendenz zur Verstreuung der Druckerfarbe, und infolge dessen
werden zum Beispiel die gegenwärtigen
Grauwerte entsprechend der Anzahl der umgebenden schwarzen Pixel
variieren. In ähnlicher
Weise tendieren die CCDs in einem Scanner dazu, eine Elision von Pixeln
mit ihren Nachbarn hervorzurufen. Die Scannereigenschaften, auf
die oben Bezug genommen wird, können
schwere Auswirkungen auf besondere Arten von Mustern haben.
- (iii) Es kann örtlich
begrenzte oder allgemaine Degradationen an dem Siegel geben, durch
irgendwelche Schmutzstellen oder Kaffeeflecken, oder in der Form,
die sich aus dem normalen gelegentlichen Gebrauch ergeben.
-
Die
ersten beiden Arten von Fehler werden später behandelt, aber die Überwindung
der dritten Art erfordert die Modifikation der Inputdaten, so wie
es in dem folgenden Abschnitt beschrieben wird.
-
Hinzufügung von Begriffen zur Fehlerkorrektur
-
Die
Probleme von örtlich
begrenzten Degradationen werden durch eine Anpassung der hoch entwickelten
Theorie der Fehlerkorrektur behandelt.
-
Die
Grundlage der Fehlerkorrekturtheorie liegt in der Idee, dass n Bitcodes
einen n-dimensionalen Raum
bilden, wo ein Abstand zwischen jedem der Codes definiert werden
kann. Ein Standardverfahren zur Beschreibung der Distanz ist die „Hamming
Distanz" (HD), und
dieses zählt
einfach für
jedes Paar von n Bitcodes die Anzahl der Positionen, um die die
Bits differieren, zusammen. Folglich würden 11110000 und 01110001
eine Hamming Distanz von 2 haben, weil sie bei ihrer ersten und
bei der letzten Position differieren.
-
Um
in der Lage zu sein, einen empfangenen Code zu korrigieren, wird
ein Satz von Codes produziert, bei dem keine zwei Codes eine wechselseitige
HD von weniger als einer ausgewählten
Summe haben, z.B. 3. Wenn der Code mit einem einzigen Fehler empfangen
wird, ist es folglich möglich,
ihn dem am ehesten akzeptablen Code zuzuweisen. Das Korrekturschema,
das als Teil dieser Erfindung verwendet wird, erzeugt einen Satz
von Codes mit einer vorgegebenen minimalen Distanz, so wie oben
beschrieben. Um die Anzahl der Bits zu minimieren sind die Codes
nicht notwendigerweise linear. Dies beeinträchtigt die Leichtigkeit, mit
der das Decodieren stattfindet, aber bei der hier betrachteten Implementierung
werden die Daten in kleine Codes aufgeteilt, wo die Komplexität der Wiedergewinnung
kein Problem sein wird.
-
Wo
die Inputinformationen die Form von Schriftzeichen haben, werden
die Korrekturcodes ausgewählt,
um dem besonderen Alphabet, zu dessen Darstellung sie erforderlich
sind, die maximale Effizienz zu verleihen, und dies ist oft wichtig,
wo es nötig
ist, einzelne Symbole wiederzugewinnen, eher als eine gesamte Mitteilung
zu verknüpfen.
-
Wenn
es erforderlich ist, ein Alphabet von Großbuchstaben zusammen mit den
Ziffern zu codieren, würden
folglich 36 Symbole erforderlich sein. Unter Verwendung von nur
14 Bitcodes ist es möglich,
48 Codes mit einer minimalen Hamming Distanz von 6 zu produzieren.
-
Eine
weitere Verfeinerung wird erreicht, indem ein Codierverfahren der „weichen
Entscheidung" verwendet
wird. Während
ein Verfahren der „harten
Entscheidung" die
Zuordnung der Werte „1" oder „0" zu den Quanta der
beim Scannen erhaltenen Informationen involviert, ordnet das Verfahren
der „weichen
Entscheidung" gemäß den Scanndaten
einen Wert aus einem Bereich an Werten zu. In der einfachsten Form
kann ein Scannvorgang eines Pixels einen Wert zwischen 0 und 255
hervorbringen, abhängig
davon, ob es weiß,
grau oder schwarz war. Wenn jedoch eine Gruppe von Pixeln ein Schriftzeichen
darstellen sollte, das aus einem Bereich von möglichen Schriftzeichen ausgewählt wurde,
kann dem Schriftzeichen ein Wert zugeordnet werden, der das Ausmaß darstellte,
in dem es am besten zu einem der bekannten Alphabete von Schriftzeichen passte.
-
Eine
wichtige Implementierung der Erfindung liegt in Kontexten, wo die
Daten auf dem Siegel durch anderen Formen von Daten auf der Urkunde
bekräftigt
werden. Ein Beispiel davon ist der Fall von Schecks, bei denen die
Daten als Text erscheinen können.
Der Text wird durch den Einsatz von OCR-Software maschinenlesbar.
Nun werden gewisse Buchstaben, wie zum Beispiel das O und das Q,
oder das E und das F, in Fällen,
bei denen die Scannqualität
niedrig ist, ziemlich häufig
verwechselt. In diesen Fällen
kann eine Kombinierung des Siegels und der OCR erforderlich sein,
um das gewollte Schriftzeichen zu bestimmen. Zur Unterstützung dieses
Prozesses werden die Codes, die zur Darstellung von Buchstaben ausgewählt sind,
die visuell geschlossen sind, jene sein, mit großen wechselseitigen Hamming
Distanzen. Auf diese Weise ist es unwahrscheinlich, dass ein Fehler
in dem einen maschinellen Einleseprozess in dem anderen Prozess
dupliziert wird.
-
Eine
zweite Adaption besteht darin, dass die Codes permutiert werden,
bevor sie auf der Urkunde angewendet werden, sodass sie unter einer
Gruppe von Codes verstreut verteilt werden, wenn irgendwelche „Auftrenn-Fehler" auftreten, und folglich
werden sie durch die Minimierung der Hamming Distanz korrigierbar sein.
In dem Kontext einer Urkunde werden die Auftrenn-Fehler dort auftreten,
wo sich zum Beispiel eine Fläche
befindet, die durch irgendein externes Mittel verdunkelt ist. Das
Ergebnis wird sein, dass die Bits, die ein einzelnes Schriftzeichen
ausmachen, über
das Siegel zerstreut werden, sodass die Flächen mit degradierter Qualität durch
Flächen
mit guter Qualität
kompensiert werden können.
-
Das
Korrekturschema, das als Teil dieser Implementierung verwendet wird,
erzeugt einen Satz von Codes mit einer vorgegebenen minimalen Distanz,
so wie oben beschrieben. Bei herkömmlichen Fehlerkorrekturschemata
sind die Codes „linear", was bedeutet, dass,
wenn zwei Codes in einer besonderen Weise kombiniert werden, ein
weiterer Code gebildet wird, der die erforderlichen Eigenschaften
besitzt. Das Ziel davon ist es, das Decodieren zu vereinfachen,
wenn großdimensionierte
Samples verarbeitet werden, andernfalls müsste eine sehr zeitaufwändige Suche
stattfinden.
-
Bei
vielen Implementierungen, die die vorliegende Erfindung verwenden,
werden die Codes klein genug sein, um eine gründliche Suche zu ermöglichen,
um den am besten geeigneten Wert ausfindig zu machen, ohne über Zeiteinbußen besorgt
zu sein.
-
Wenn
nicht lineare Codes gestattet sind, gibt es eine größere Auswahlfreiheit
für die
gleiche Hamming Distanz zwischen den Gliedern des Satzes von akzeptablen
Codes. Es ist ebenso einfacher möglich,
die Codes passend zu machen, um die Anzahl der zu codierenden Schriftzeichen
anzupassen. Dies wird zu Codes führen,
die weniger Bits für
eine vorgegebene minimale Hamming Distanz erfordern. Der Gesamteffekt
liegt darin, die minimale Anzahl an codierten Bits zu verwenden,
und immer noch in der Lage zu sein, eine große Anzahl von Fehlern hinsichtlich
des Kontingentes zu korrigieren. Wo sich die Inputinformationen
in der Form von Schriftzeichen befinden, werden die Korrekturcodes
ausgewählt,
um dem besonderen Alphabet, für
dessen Darstellung sie erforderlich sind, die maximale Effizienz
zu verleihen.
-
Formatierung der Daten
-
Die
Daten, die mit der eingeschlossenen Fehlerkorrektur vorbereitet
wurden, können
sich in einer geeigneten mathematischen Form befinden, sie können aber
durchaus auch sehr unregelmäßige Verteilungen von „1"-en und „0"-en besitzen, die
Probleme bei dem Druck- und Scannprozess darstellen und ein nicht
akzeptables Erscheinungsbild haben.
-
Zur Überwindung
dieses Problems werden die Daten durch irgendein Mittel randomisiert.
Bei einer Implementierung wird der Binärstring in Längen einer
ausgewählten
festgelegten Größe unterteilt,
vielleicht, aber nicht notwendigerweise mit einer Länge von
8 Bits, sodass jeder String ein Schriftzeichen darstellt. Ein Zufallsgenerator
wird verwendet, um ein Array von zufälligen Nullen und Einsen zu
erzeugen. Dieser String wird mit dem Schriftzeichenstring XOR-verknüpft, um
eine weitere Codierung zu produzieren.
-
Die
Daten, die vorbereitet wurden, werden bei vielen Implementierungen
in weniger Pixeln ausgedrückt,
als die, die in dem Siegel verfügbar
sind. Aus diesem Grund werden die Daten so oft wiederholt, wie es
erforderlich ist, um das Siegel zu füllen. Dies hilft bei der Korrektur
von Fehlern des ersten und zweiten Typs, die oben aufgezählt sind,
so wie es in dem unten stehenden Absatz über die Detektion angegeben
ist.
-
Schriftzeichencodierung
-
Nachdem
ein Binärstring
unter Verwendung von Fehlerkorrekturverfahren und Zufallsadjustierung
berechnet worden ist, ist es erforderlich, über die aktuellen physischen
Formen zu entscheiden, die benutzt werden sollen, um die Werte „1" und „0" darzustellen. Am
einfachsten kann ein einziges Pixel zum Beispiel die Werte darstellen,
indem schwarz oder weiß in
der normalen Gestaltung verwendet wird.
-
Bei
der nächsten
Phase der Komplexität
kann eine Gruppe von Pixeln eine „1" oder „0" darstellen, oder sie kann einen Binärstring
darstellen. Die Natur dieser Gruppe wurde ausgewählt, um die Kalibrierungseigenschaften
der Drucker und Scanner widerzuspiegeln. Die Unterscheidung zwischen
dieser Auswahl von Codes und der vorhergehenden Auswahl von Codes
zur Fehlerkorrektur liegt darin, dass wir es hier mit der physischen
Art und Weise zu tun haben, nach der die Daten dem Papier auf eine
sehr eingegrenzte Weise hinzugefügt
werden.
-
Bei
einer Implementierung wird der Binärstring in Längen von
einer ausgewählten
festgelegten Größe unterteilt.
Folglich können
die Strings eine Länge
von 8 Bits haben, wobei 256 mögliche
Schriftzeichen geliefert werden. Diese 256 Schriftzeichen werden dann
durch ein Alphabet von Informationseinheiten ersetzt. Diese Einheiten
können
ausgewählt
werden, um den erforderlichen Fehlerkorrekturlevel hinsichtlich
ihrer visuellen Unterscheidbarkeit und der erforderlichen visuellen
Qualitäten
in einem allgemeinen ästhetischen
Sinne zu haben.
-
Beispielsweise
kann bei einem Schwarz-Weiß-Bild,
wenn die Informationseinheiten so ausgewählt wurden, dass sie 12 Bits
enthalten, entschieden werden, dass es stets 4 schwarze und 8 weiße Bits
geben sollte, um die erforderliche visuelle Intensität zu erreichen.
Diese können
in jedem beliebigen geeigneten Array, wie zum Beispiel einem Rechteck,
angeordnet werden, sie können
aber auch in einer unregelmäßigen, aber kompakten
Figur angeordnet werden, um in die Einschränkungen des Templates zu passen.
Der sich ergebende visuelle Effekt würde der eines 33-prozentigen
Grautons sein. Es gibt 495 Codes, die 4 schwarze und 8 weiße Bits
haben, und daher können
alle 256 Schriftzeichen codiert werden und es würde manche Redundanz geben.
Beim Versuch, die Informationseinheiten wiederzugewinnen, würde eine
erste Überprüfung darin
bestehen, dass nur eines der ausgewählten Alphabetschriftzeichen
zulässig
ist.
-
Bei
einer Implementierung werden die Originalcodes den Alphabetcodes
zugeordnet, indem eine von dem Schlüssel gesteuerte Funktion verwendet
wird.
-
Es
kann sein, dass ein höherer
Level an Fehlerprotektion erforderlich ist. In diesem Fall könnten die Informationseinheiten
vielleicht 16 Bits lang sein und 5 von diesen könnten als schwarz ausgewählt werden, womit
4.368 mögliche
Codes geliefert werden. Mit diesem Grad an Redundanz ist es möglich, Codes
in der Weise auszuwählen,
dass die Hamming Distanz zwischen jeden zwei Codes maximiert wird.
Dies gestattet das Stattfinden von Korrekturen, um solchen Distorsionen
entgegenzuwirken, so wie sie zum Beispiel durch das Strecken des
Papiers oder durch das Scannen mit veränderten Seitenverhältnissen
auftreten. Auch wenn ein Schriftzeichen verzerrt werden sollte,
sollte der Scannvorgang immer noch ein Ergebnis bringen, das näher an dem
erforderlichen Schriftzeichen ist, als jedes andere Glied des Alphabets.
Da jedes Schriftzeichen erkannt wird, kann der Grad der geometrischen
Distorsion bewertet und dazu benutzt werden, die Detektion des nächsten Schriftzeichens
zu erleichtern.
-
Ein
wichtiger Aspekt des Siegelcodierens besteht in der Abhängigkeit
der Codierschriftzeichen von dem Template und von der Art und Weise,
nach der das Template unterteilt ist. Dies wird am besten durch
ein Beispiel veranschaulicht. Angenommen, dass ein Verfahren zur
Codierung von 4 Schriftzeichen erforderlich ist: Die Schriftzeichen
kann man sich als Binärziffern
00,01,10,11 oder vielleicht als Buchstaben a, b, c, d vorstellen.
Für jedes
Schriftzeichen muss ein erkennbares Muster auf der Urkunde platziert
werden.
-
Angenommen,
dass der Druckprozess Pixel produziert, die schwarz oder weiß sind,
und dass es erforderlich ist, das Erscheinen eines 50-prozentigen
Graus zu produzieren. Dies würde
bedeuten, dass wenn Muster von 6 Pixeln die Schriftzeichen darstellten,
3 von diesen Pixeln weiß und
3 schwarz sein würden.
-
Wie
oben vorgehend könnte
man 4 Binärstrings
produzieren, eines, um jedes der Schriftzeichen darzustellen. Daher
könnten
wir haben:
„a" = 000111: „b" = 011001 : „c" = 101010 : „d" = 110100
-
Wenn
auf einem Papier eine „0" als weißes Leerzeichen
und eine „1" als ein schwarzer
Punkt dargestellt werden würde,
dann würde
jedes dieser Schriftzeichen im Erscheinungsbild 50-prozentig grau
sein. Dies ist ein Teil des Verfahrens des Siegelcodierens, um ein
Erscheinungsbild zu erreichen, das mit ästhetischen Anforderungen kompatibel
ist.
-
Es
wurde ebenso ausgewählt,
dass diese Codes eine Hamming Distanz von 3 haben. Der Effekt davon
besteht darin, dass wenn der Code für „a" beschädigt werden sollte, indem die
erste 0 eine 1 wird, so ist der String 100111 immer noch näher an der
Darstellung für „a", als für jedes
andere Schriftzeichen.
-
Wenn
nun das Template in 3 × 2
Rechtecke unterteilt werden sollte, würden die Codes so erscheinen, wie
es in der 4A(a) veranschaulicht ist.
Wenn jedoch eine alternative Unterteilung vorgenommen werden sollte,
so wie in der 4A(b), dann würden dieselben
Codes durch andere Muster dargestellt werden. Der Algorithmus für die Unterteilung
muss natürlich
sowohl dem Codierer, als auch dem Decoder bekannt sein.
-
In
Fällen,
bei denen die Qualität
des Scannvorgangs niedrig ist, gestattet das Bitmorph Seal Encoding die
Möglichkeit
der Verwendung von Schriftzeichen, die speziell dazu entworfen sind,
besonderen Formen der Distorsion zu widerstehen. Bei einigen Hochgeschwindigkeitsscannern
füllt die
Scanner-Software zum Beispiel kleine Lücken in den Daten in einer
horizontalen Richtung aus. Aus diesem Grund werden die Schriftzeichen, die
verwendet werden, dazu neigen, aus Zeilen zusammengestellt zu sein,
eher als aus unkoordinierten Gruppen von Punkten. Die Schriftzeichen
werden trotzdem angepasst werden, um in die Gestalt des Templates
zu passen, eher als dass sie aus einem festgelegten Typ bestehen.
Dies ist in der letzten Phase der 5 veranschaulicht.
-
Bei
der Vorbereitung zum Drucken werden die Daten, die berechnet wurden,
im Allgemeinen in ein gerastertes Format konvertiert. Für ein Bild überprüft die mit
dem Drucker verbundene Software im Allgemeinen die Daten, das heißt, sie
werden in Sätze
von Punkten konvertiert, die selbst aus den kleinsten druckbaren Punkten,
die die Hardware anwenden kann, bestehen. Es ist jedoch möglich, die
Daten in der „bitmapped" Form vorzubereiten,
in genau der Art und Weise, in der sie gedruckt werden, wobei der
Screeningprozess umgangen wird. Bei manchen Implementierungen wird
dieses Verfahren benutzt, um die erforderliche Qualität des Siegelcodierens
zu erreichen.
-
Bei
einer anderen Implementierung werden die Daten in der gleichen Form
verarbeitet, wie Text verarbeitet wird, d.h. indem man Schriftarten
vorbereitet hat, die auf den Drucker heruntergeladen werden. In
dem Falle eines Bitmorph-Siegels werden diese Schriftarten besonders
vorbereitet, um den erforderlichen geometrischen Effekt zu erreichen.
Die Schriftarten sind keine Buchstaben, sondern Gruppen von Pixeln,
die sorgfältig
angeordnet sind, sodass durch deren Kombination jeder geometrische
Effekt produziert werden kann. Die Weiterleitung von Daten in der
Form von Schriftarten ermöglicht
es dem Siegelcodieren, sich mit dem Arbeitsablauf in einer besonders
einfachen Art und Weise zu verbinden.
-
5 veranschaulicht eine Implementierung
des Prozesses.
-
Bei
Phase 1 sind die hinzuzufügenden
Daten in der Form ABC123.
-
Bei
Phase 2 wurde ein Alphabet ausgewählt, um diese Werte darzustellen.
Dieses besondere Alphabet verwendet 14 Bits pro Schriftzeichen.
Folglich wird „A" durch 00001011101000
dargestellt und „1" wird durch 00001101011011
dargestellt. Ihre Hamming Distanz beträgt 6, weil sie in der 6., 7.,
9., 10., 13. und 14. Position voneinander abweichen. Dies bedeutet,
dass selbst wenn der String für „A" mit zwei Fehlern
wiedergewonnen werden sollte, würde
er immer noch von dem String für „1" unterscheidbar sein,
der mindestens 4 Fehler haben würde.
-
Bei
Phase 3 werden die Bit-Strings verknüpft. Dann werden die Bits einer
Permutation unterzogen, wobei die Permutation einer der Parameter
ist, die für
jede Anwendung variiert werden können,
aber sowohl dem Codierer als auch dem Decodierer bekannt sein müssen.
-
Bei
Phase 4 wird der Binärstring
ausschließlich
mit einem Random Array OR-verknüpft,
sodass die Einsen und Nullen in einer vergleichbaren Weise verteilt
sind. Wieder ist das Random Array ein Parameter, das sowohl dem
Codierer als auch dem Decoder bekannt sein muss.
-
Bei
Phase 5 wird das Template in Flächen
von ausreichender Größe für die Integrierung
von Formen, die für
die verfügbaren
Scannern unterscheidbar sind, unterteilt. Die Flächen müssen nicht genau gleichgroß sein,
sie brauchen auch nicht die gleiche Gestalt zu haben (Bitmorphs
können
eine variable Größe und Gestalt besitzen – sie sind
kein festgelegter Schriftzeichensatz, sodern nehmen ihre Größe und Gestalt
von der Zellgröße und -gestalt,
und das wird automatisch in Abhängigkeit
von der Größe und der
Gestalt des gesamten Siegels oder von signifikanten Features darin
berechnet). Der Algorithmus, der die Unterteilung leitet, muss sowohl
dem Codierer als auch dem Decoder bekannt sein. Jede der Unterteilungen
wird einer „1" oder einer „0" zugeteilt, gemäß dem Binärstring,
der bei Phase 4 produziert wurde.
-
Bei
Phase 6 werden die Bitwerte von Bitmorphs ersetzt, d.h. von Annordnungen
von Pixeln. Der Wert „1" in diesem Fall wird
ungefähr
durch ein Kreuz dargestellt. Die Kreuze brauchen nicht die gleiche
Gestalt und Größe zu haben.
Alles, was erforderlich ist, ist, dass bei manchen Gestalten darin
erkennbar ist, dass sie Einsen darstellen, oder dass sie Nullen
darstellen. Die Auswahl der Gestalt der Bitmorphs spiegelt die Eigenschaften
des Druck- und Scannprozesses
wieder. Es wäre
zum Beispiel nicht sinnvoll, Bits durch sehr feine Strukturen darzustellen,
wenn die Scanner einfach alle Pixel ineinander übergehen ließen. Andererseits
ist es so, dass wenn die in Frage stehende Urkunde eine hochwertige
Urkunde sein sollte, die von einem hoch auflösenden Scanner gescannt wird,
dass dann die ausgewählten
Muster komplex und fein strukturiert sein könnten und ein Erscheinungsbild verleihen
könnten,
das den hohen ästhetischen
Anforderungen angemessen ist.
-
Einlesen des Siegels
-
Das
Siegel wird durch Scannen in der Urkunde und durch die ungefähre Umkehrung
der beschriebenen Prozesse eingelesen. Jedoch müssen die Fehler des Typs (i)
und (ii) in dem obigen mit „Fehlerkorrektur" überschriebenen Absatz vor dem
Entschlüsselungsprozess
adressiert werden.
-
Das
Ausrichtungsproblem kann überwunden
werden, indem Linie für
Linie der gescannten Daten und das Original-Template korreliert
werden. Dies liefert eine sehr feine Adjustierung, wobei die durch
die Kenntnis der Koordinaten des eingefügten Original-Siegels erlangten
Informationen erhöht
werden.
-
Wo
Gruppen von Pixeln eines ausgewählten
Alphabets verwendet werden, um Bits oder Strings darzustellen, können kleine
Adjustierungen hinsichtlich der Lage und Ausrichtung bewirkt werden,
indem gefordert wird, dass jedes eingelesene Schriftzeichen tatsächlich ein
Glied des definierten Alphabets ist. Folglich wird von einem Schriftzeichen
angenommen, dass es eine berechnete Position in Bezug auf das Template
hat, das Schriftzeichen kann sich aber aufgrund der Distorsion des
Papiers oder aufgrund der Ungenauigkeit der Lage des Scanners leicht
höher oder
tiefer befinden als es ursprünglich
angenommen wurde. Davon ausgehend, dass jedes Schriftzeichen ein
Schriftzeichen eines festgelegten Alphabets sein muss, können die
gescannten Daten angehoben oder gesenkt werden, bis das beobachtete
Muster von Pixeln mit einem zulässigen
Schriftzeichen übereinstimmt.
Diese Verschiebung wird dann verwendet, um die fehlerhafte Lage
der nachfolgenden Schriftzeichen vorherzusagen.
-
Außerdem gestattet
der Umstand, dass die Daten wiederholt worden sind, die Nutzung
der Korrelation zwischen verschiedenen Teilen des Siegels, um andere
Distorsionen zu kompensieren.
-
Bei
der Implementierung, wo eine Gruppe von Pixeln einen Bit (oder einen
String von Bits) von Informationen darstellt, besteht die nächste Phase
des Detektionsprozesses darin, zu identifizieren, welches Glied des
ausgewählten
Alphabets am ehestens der Gruppe von Pixeln von dem Scann-Vorgang
entspricht. Dies wird typischerweise unter Verwendung einer einfachen
Korrelationsberechnung durchgeführt.
Folglich wird es für
jede Gruppe von Pixeln einen attribuierten Wert geben, der die Wahrscheinlichkeit
für eine
Gruppe ausdrückt,
eine „1" oder eine „0" darzustellen. Eine ähnliche
Situation tritt auf, wenn ein einzelnes Pixel einen Bit darstellt.
-
Die
nächste
Phase des Decodierens besteht in der Umkehrung der Permutation,
die die fehlerkorrigierten Binärdaten über die
Urkunde verteilt hatte.
-
Die
Decodierung von fehlerkorrigierten Daten erfordert das Finden des
Codes mit der minimalen Hamming Distanz, indem Wahrscheinlichkeiten
verwendet werden, die auf Werten in den gescannten Daten beruhen.
Wo ein einzelnes Pixel einen Bit darstellt, kann die Fehlerkorrektur
folglich bei manchen Gelegenheiten anzeigen, dass ein dunkelgraues
Pixel einer „0" eher entsprechen
sollte, als einer „1". Der Gesamtumfang
der Adjustierung bei der Durchführung
einer Decodierung wird bewertet und gibt einen Hinweis darauf, wie
viel Degradation das Bild während
der Bearbeitung durchlaufen hat. Dies gibt wiederum einen Hinweis
zu der Wahrscheinlichkeit, dass die Urkunde kopiert wurde oder andernfalls
absichtlich beschädigt
wurde.
-
Die
Kalibrierungsdaten für
den Scanner und den Drucker können
verwendet werden, um Dot-Gain-Fehler, die aufgetreten sein könnten, zu
korrigieren.
-
Der
Decodier-Software muss das Siegel-Template und jeder der Schlüssel, die
bei der Verschlüsselung
verwendet wurden, bekannt sein.
-
Sicherheit
-
Bei
den meisten Implementierungen wird das Siegel als Sicherheitsvorrichtung
verwendet.
-
Auf
dem Systemlevel liegt die Sicherheit in dem Umstand, dass das Siegel
Informationen enthält,
die in einer anderen Form anderswo auf der Urkunde vorhanden sind,
und die Urkunde wird authentifiziert, indem die beiden Formen der
Informationen verglichen werden. Folglich können die Zahlungsempfängernamen
auf einem Scheck maschinengelesen werden, indem OCR-Software verwendet
wird, und diese Informationen können
mit dem in dem Siegel in codierter Form gespeicherten Zahlungsempfängernamen
verglichen werden. Alternativ könnte
eine Kontonummer aus der MICR-Zeile gelesen werden und in ähnlicher
Weise verglichen werden. Die Selbst-Konsistenz dieser Informationen liefert
die Bestätigung
ihrer Integrität.
Wie bereits oben erwähnt
können
vorhersehbare Fehler bei der OCR-Dechiffrierung bei dem Siegeldecodieren
berücksichtigt werden.
-
Die
Sicherheit des Siegels selbst kann entweder durch Verschlüsselung
oder durch die Kontrolle der Codierparameter geschützt werden.
-
Bei
einer Implementierung werden die zu codierenden Daten vor dem Codierprozess
entweder vollständig
oder teilweise verschlüsselt.
Dies kann unter Verwendung eines PKI-Systems geschehen, sodass die Geschäfts-/Dienststellen,
die die Daten decodieren keinen Zugang zu dem Privaten Schlüssel haben,
der für das
Schreiben der Daten erforderlich ist. Bei einer Implementierung
wird der öffentliche
Schlüssel
auf die Urkunde aufgedruckt, sodass die Entschlüsselung ohne die Bezugnahme
auf irgendeine entfernte Datenbank stattfinden kann.
-
Bei
einer Implementierung wird die Verschlüsselung durchgeführt, indem
eine elliptisch gebogene Kryptographierung verwendet wird. Dies
gestattet den Gebrauch von kleineren Schlüsseln, was mehr Platz für andere
Informationen gestattet.
-
Wo
es keine Verschlüsselung
gibt, besteht die Sicherheit in der Kontrolle des Zugangs zu der
Permutation, die als Teil der Fehlerkorrektur ausgeführt wird.
Dies hat den Vorteil, dass Fehler in einzelnen Schriftzeichen nicht
die Informationen in anderen Schriftzeichen beschädigen, wohingegen
dann, wenn Schriftzeichen zum Zwecke der Verschlüsselung verknüpft werden,
der Verlust eines kleinen Teils der Daten zu dem Verlust des gesamten
Datenstrings führt.
-
Das
Template, das Fehlerkorrekturverfahren, die Permutation und das
Random Array für
die Datenaufbereitung sind alles Vorbedingungen für das Codieren
und das Decodieren des Siegels. Typischerweise wird die Codier-Software
in einer Örtlichkeit
verwendet, die sicher ist, und wo die einer besonderen Anwendung entsprechenden
Parameter verfügbar
sind, um in die Software heruntergeladen zu werden. Die Decodier-Software
wird dazu neigen, an weniger sicheren Orten verfügbar zu sein. Das Risiko hinsichtlich
der Sicherheit besteht darin, dass die Decodier-Software einem Reverse
Engineering unterzogen wird, um einen Codierer zu produzieren. Dies
erfordert einen hohen Grad an technischen Fähigkeiten. Um den Sicherheitslevel
anzuheben haben jedoch weniger Informationen an entfernte Orte freigegeben
zu werden.
-
Bei
einer Implementierung besitzen die entfernten Orte die Vorrichtungen
zur Decodierung der Daten bis zur Permutation, das heißt, sie
können
die Phasen 6, 5 und 4 in der 4 ungeschehen
machen. Der Binärstring
wird dann über
ein sicheres Netzwerk zu einem Authentifizierungsserver übertragen,
der den String mit der ungeschehen gemachten Permutation zurücksendet,
sodass der Rest des Decodierens vollendet werden kann.
-
Wo
es eine Gruppe von Banken oder eine Reihe von einer Bank zugeordneten
Konten gibt, wird es erforderlich sein, die Codierparameter für jedes
Konto zu speichern. Diese Parameter werden gemäß einer Bankkennzeichnung indexiert,
typischerweise die Bankleitzahl. Damit die Banken die Parameter ändern können, werden
sie ebenfalls gemäß dem Datum
indexiert.
-
Bitmorph Seal Encoding
für Bankschecks
-
Überblick
-
Bitmorph
Seal Encoding kann angewendet werden, um Informationen in Schecks
zu codieren, da sie mit Informationen zum Zahlungsempfänger und
zum Betrag gedruckt werden. Dieser letzte Absatz erläutert diese
besondere Benutzung der Erfindung eingehender.
-
Bitmorph
Seal Encoding kann auf zwei Ebenen Sicherheit liefern, wobei die
untere Ebene von den Parametern zum Siegelcodieren abhängt und
wobei die höhere
Ebene von einer Form der Verschlüsselung
abhängt.
Wo die Rekonzilianz bei der ausstellenden Bank stattfindet, werden
die Verschlüsselungsparameter verfügbar sein,
wobei sie es der Validierung gestatten, automatisch als Batchprozess
stattzufinden. Wo die Validierung in Cash-Verkaufsstellen oder in
anderen entfernten Geschäfts-/Dienststellen
erforderlich ist, kann auf die höhere
Sicherheitsebene zugegriffen werden, aber nur über den Online-Kontakt mit der ausstellenden Bank
oder über
eine Zertifizierungsbefugnis.
-
Implementierung
-
Die
Parameter zur Codierung, inklusive einer Datenbank von Kennzeichnungen
für bestimmte
Banken oder von Unternehmenskonten, die von diesen Banken verwaltet
werden, werden entweder bei der Bank selbst oder durch eine Zertifizierungsagentur
aufbewahrt.
-
Die
Prozesse zum Beschreiben und zum Einlesen der Bitmorph-Siegel werden
unten beschrieben.
-
Beschreiben (6)
-
- 1. Die MICR-Bankleitzahl der ausstellenden
Bank und möglicherweise
eine Kontonummer werden verwendet, um das Template, den Zufallsgenerator
(RNG) und das CodeBook zu indexieren.
- 2. Eine zwischen den Banken vereinbarte generische Permutation
wird neben den obigen Parametern verwendet, um das Datum und die
Bankleitzahl in dem Siegel zu codieren.
- 3. Eine zweite Permutation wird als eine Funktion des Datums,
der Bankleitzahl und einer Zufallszahl erzeugt, die als eine Kennzeichnung
(ID) für
jede Bank oder Unternehmenskunden der Bank dient. Diese drei Körperschaften
werden gehashed und der so berechnete Wert wird in einem festgelegten
Algorithmus verwendet, um eine für
das Konto einzigartige Permutation zu erzeugen.
- 4. Unter Verwendung der neuen Permutation wird der Rest der
Daten, d.h. der Zahlungsempfänger,
die Schecksumme und die Kontodetails in das Siegel codiert.
-
Einlesen (bei der ausstellenden
Bank) (7)
-
- 1. Die Bankleitzahl der Bank und möglicherweise
eine Kontonummer werden aus den MICR-Daten eingelesen und verwendet,
um das das Template, den Zufallsgenerator (RNG) und das Codebook
zu erhalten.
- 2. Unter Verwendung der obigen Parameter wird das Datum von
dem Siegel eingelesen.
- 3. Die Bankleitzahl und das Datum, zusammen mit der ID der ausstellenden
Bank werden verwendet, um die einzigartige Permutation zu erzeugen.
- 4. Der Rest der Daten wird mit der Hilfe der einzigartigen Permutation
decodiert.
-
Einlesen (bei Cash-Verkaufsstellen
oder anderen entfernten Geschäfts-/Dienststellen) (8)
-
- 1. Die Bankleitzahl der ausstellenden Bank
und möglicherweise
eine Kontonummer werden aus den MICR-Daten eingelesen und verwendet,
um das das Template, den Zufallsgenerator (RNG) und das Codebook
zu erhalten.
- 2. Unter Verwendung der obigen Parameter wird das Datum von
dem Siegel eingelesen.
- 3. Das Template und der RNG werden benutzt, um mit der Decodierung
des Rests der Daten bis zu dem Punkt zwischen den Phasen 3 und 4
zu beginnen (siehe Diagramm – „Prozesse
der Siegelcodierung" 9),
wo die Umkehrung der Permutation angewendet werden muss.
- 4. Der auf diese Weise erhaltene Binärstring wird zusammen mit der
Bankleitzahl und dem Datum zu der ausstellenden Bank gesendet. Die
ausstellende Bank schickt den String mit der Umkehrung der angewendeten
einzigartigen Permutation zurück.
- 5. Der Rest der Daten wird decodiert, indem der Codierprozess
umgekehrt wird.
-
Authentifizierung
-
Die
Daten können
authentifiziert werden, indem die entsprechenden Felder, so wie
sie von dem Siegel codiert werden, die MICR-Daten und die lesbaren
Textdaten verglichen werden.
-
Detaildarstellung
des Codierprozesses
-
9 vermittelt
eine Diagrammansicht des Codierprozesses.
-
Die
Siegelcodierung wird durch ein Template und 3 Parameter geleitet:
- (i) Das Codebook zur Fehlerkorrektur
- (ii) Eine Permutation zur Verteilung des codierten Signals
- (iii) Eine Zufallssequenz zur Konditionierung des Signals, das
ausgedruckt werden soll.
-
Es
sind zwei Permutationen erforderlich. Die erste ist eine festgelegte
Permutation, die für
alle Benutzer verfügbar
ist, und die verwendet wird, um das Datum und die Bankleitzahl zu
codieren.
-
Die
zweite ist eine Permutation, die für eine Bank oder ein Konto
bei dieser Bank einzigartig ist. Diese Permutation wird dazu verwendet,
den Rest der Daten zu verteilen. Diese zweite Permutation wird über einen Hash-Prozess
produziert, der von dem Datum, der Bankleitzahl und einer Kennzeichnung,
die mit dem in Frage stehenden Konto verbunden ist, abhängig ist,
obwohl es manche Redundanz geben können, wenn die Kennzeichnung über das
Datum und die Bankleitzahl indexiert ist. Jeder anständige Hashing-Algorithmus kann
verwendet werden, um die gehashten Werte einheitlich über den
verfügbaren
Hashing-Raum zu verteilen. Der entscheidende Punkt liegt darin,
dass niemand Sätze
von veröffentlichten
Schecks nehmen, und bei einer Permutation ein Reverse Engineering
vornehmen könnte.
Es besteht eine potenzielle Gefahr, dass die übermittelten Werte der Kennzeichnungen
der Bank erhältlich
sein werden, sodass Schecks produziert werden könnten, die ein paar Tage abgelaufen
sind. Es kann sein, dass es eine strikte Begrenzung der Zeit geben
wird, in der die Einreichung von Schecks gestattet ist.
-
Die
Hauptgründe
für die
Ausführung
der Sicherheit in den Permutationen sind doppelt.
-
Erstens
sind die Nutzdaten für
die Siegel durch ästhetische
Gesichtspunkte begrenzt und die Verwendung von Permutationen maximiert
die Kompaktheit. Die Nutzdaten sind ebenso durch Speichergesichtspunkte
begrenzt; Schecks werden für
den Druckprozess vor-verarbeitet, sodass Datensätze die hinzuzufügenden Bilder
enthalten und die große
Anzahl an Schecks setzt der Größe der Bilder
eine praktische Grenze. Eine Alternative würde darin bestehen, die Bilder
während
dem Drucken zu verarbeiten, dies würde jedoch dazu neigen, die
Vorgänge
zu verlangsamen.
-
Zweitens
werden die Siegeldaten in Verbindung mit anderen Formen von Daten
verwendet, MICR-Daten und Textdaten, und das Extrahieren von Daten
von beschädigten
Schecks kann durch eine intelligente Kombination dieser Quellen
in bedeutender Weise gesteigert werden. Die Permutationen gestatten
die Verarbeitung von beschädigten
Daten in einer Art und Weise, die mit einer Standardverschlüsselung
nicht möglich ist.
Es sei bemerkt, dass der von den Cash-Verkaufsstellen erforderliche
Kontakt mit der Bank vollständig
von jeder Kontoinformation getrennt ist, und daher für Zwecke
des Zugangs weniger problematisch sein sollte.