[0001] Die Erfindung betrifft ein Verfahren und Anordnung zur Erhöhung der Manipulationssicherheit
von kritischen Daten, welche in informationsverarbeitenden Einrichtungen vor einer
Manipulation geschützt werden müssen, insbesondere von kritischen Registerdaten in
elektronischen Frankiermaschinen oder in einer anderen elektronischen Einrichtung,
in welcher sicherheitsrelevante Daten gehändelt werden bzw. in der eine Abrechnung
von geldwerten Daten vorgenommen wird.
[0002] Frankiermaschinen sind, mit mindestens einem Eingabemittel, einem Steuermodul, einem
Speichermittel und einem Druckermodul ausgerüstet. Im Speichermittel werden nichtflüchtig
Daten gespeichert, welche zum Betrieb der Frankiermaschine erforderlich sind sowie
Daten, welche Geldmitteln entsprechen.
[0003] Die Frankiermaschinentypen unterscheiden sich in Form und Ausstattung entsprechend
des zu bearbeitenden Postaufkommens. Sollen aber verschiedene Typen an Frankiermaschinen
produziert werden dann müssen eine Vielzahl an Schaltkreisen (ASIC's oder/ und andere
Bauelemente) vorgesehen werden. Gerade die Vielzahl an Bauelementen und Schaltkreisen
bietet dann Ansatzpunkte für eine Manipulation, wenn kein alternativer Aufwand getrieben
oder ein Sicherheitsgehäuse eingesetzt wird.
[0004] Aus dem EP 465 236 A2 ist ein ASIC bekannt, welches eine Schaltung zur Drucksteuerung
zur Motorsteuerung und zur Abrechnung umfaßt. Die Schaltung zur Drucksteuerung umfaßt
einen Speicher für feste und einen anderen für variable Daten, welche mit den festen
Daten überlagert werden. Ein Motorcontroller ist für ein Aktuieren eines Motorantriebes
in Abhängigkeit von der Poststückzuführung vorgesehen. Ein Vorteil ist zweifellos
die hohe Manipulationssicherheit aufgrund der Verwendung eines einzigen ASIC, d.h.
resultierend allein bereits aus der eingeschränkten Anzahl an Ansatzpunkten für eine
Manipulation. Ein Nachteil der Verwendung eines einzigen ASICs ist die schlechte Verwendbarkeit
für unterschiedliche Frankiermaschinen, welche einen unterschiedlichen Drucker und
Steuermodul je nach Art des realisierten Frankiermaschinensystems bzw. Poststraße
aufweisen.
[0005] Aus der US 4 858 138 ist ein modulares System für eine Frankiermaschine mit Meter/Base-Trennung
bekannt, wobei ein Sicherheitsmodul (Meter) mit einem Drucksteuermodul (Base) gekoppelt
ist. Das Sicherheitsmodul kann Kreditkartenform aufweisen. Als elektrische Verbindungseinrichtung
zum Drucksteuermodul dient hierbei ein als parallele CPU-Schnittstelle ausgebildeter
Hochgeschwindigkeitskommunikationsbus. Der Drucksteuermodul weist einen Hochgeschwindigkeitsdrucker
auf. Von der Tastatur des Drucksteuermoduls eingegebene Portobetrag wird zum Sicherheitsmodul
übertragen. Der Sicherheitsmodul liefert eine digitale Darstellung des festen Teils
des Postwertzeichens und eine verschlüsselte Gültigkeitsnummer. Die Gültigkeitsnummer
umfaßt den Portobetrag und ggf. weitere Informationen, wie die Frankiermaschinenseriennummer
und das Datum. Die verschlüsselte Gültigkeitsnummer ist geeignet, um ein illegales
Drucken eines Geldbetrages, der nicht berechnet wurde, festzustellen. Die Fälschungsicherheit
beruht auf einer in einer Sicherheitslogik vorgenommenen Verschlüsselung einer Gültigkeitsnummer,
die über eine CPU-Schnittstelle übertragen wird. Diese Lösung bringt aber keinen Vorteil
bei Manipulationen, welche im Sicherheitsmodul bzw. am Bus zwischen den Postwertspeichern
und der Sicherheitslogik vorgenommen werden. Ein Nachteil ist hier, daß als einziger
Schutz nur das Sicherheitsgehäuse des Sicherheitsmoduls vorgesehen ist. Nachteilig
ist auch die hohe Anzahl der Leitungen der Meter/Base-Verbindung an der Schnittstelle
zur Base und daß eine teure Hochgeschwindigkeitsschnittstelle erforderlich ist.
[0006] Eine weitere Manipulationsmöglichkeit besteht während der Dateneingabe beim Nachladen
der Frankiermaschine mit einem Guthaben. In üblicher Weise wird von einer Datenzentrale
bzw. von einem Speicher eines Übertragungsmittels, vorzugsweise einer Chipkarte, ein
Guthaben geladen. Davon werden die durch die Frankiermaschine verbrauchten Portobeträge
abgebucht.
[0007] Zur Sicherheit gegen betrügerische Manipulationen ist bereits weiterhin aus der DE
38 23 719 bekannt, ein repräsentatives Zeichenmuster ab einem bestimmten Datum auszudrucken.
Bei der Prüfung der Post wird im Postamt das Druckdatum und das Zeichen mit dem Muster
verglichen, das für dieses Datum berechtigt ist. Zum Drucken dient eine Berechtigungsvorrichtung,
die eine Speichervorrichtung zur Speicherung einer Anzahl Zeichenmuster- und Datumsdaten
aufweist. Die Daten, die das repräsentative Zeichenmuster einem definierten Datum
zuordnen, werden über eine Fernwertvorgabe mittels einer externen Wahlvorrichtung
dann aktualisiert, wenn die Anwender der Frankiermaschinen um eine Rekreditierung
nachsuchen. Die Sicherheit der Daten beruht auf dem Prüfen der Daten in der Datenzentrale
bevor ein Nachladen erfolgt und im Prüfen der Frankierabdrucke seitens der Postbehörde.
Die Datenzentrale trägt somit zur Erhöhung der Manipulationssicherheit von kritischen
Registerdaten bei. Dieses Sicherheitssystem ist jedoch auf Festnetze beschränkt und
für tragbare Frankiermaschinen, die von einem Ort zu einem anderen Ort mitgeführt
werden (mobiles Büro) nicht anwendbar. Eine Selbstprüfung seitens der Frankiermaschine
auf Manipulation ist nicht vorgesehen.
[0008] Ein Portorechner, welcher aus dem Gewicht des Poststückes den gültigen Portobetrag
bestimmt, ist gewöhnlich bereits in der an die Frankiermaschine angeschlossenen Waage
integriert. Jedoch wurden auch schon Lösungen mit einem in die Frankiermaschine integrierten
Portorechner vorgeschlagen. Einer Portogebührentabelle ist die für das Poststück erforderliche
Portogebühr entnehmbar.
[0009] Beispielsweise weist eine aus der DE 42 13 278 A1 bekannte transportierbare Frankiermaschine
Speichermittel und mit diesen in Verbindung stehende Empfangsmittel für über ein Übertragungsmittel
übertragbare Daten auf. Das Speichermittel der Frankiermaschine weist aktualisierbare
Abschnitte für an bestimmte Bedingungen geknüpfte Tabellen auf, beispielsweise für
mindestens eine aktuelle Portogebührentabelle, anhand derer die jeweilige Portogebühr
ermittelt wird. Die Frankiermaschine weist im Steuermodul erste Mittel auf, die bei
Inbetriebnahme der Frankiermaschine mindestens eine Portogebührentabelle für die Frankiermaschine
aus dem Speicher des Übertragungsmittels über die Empfangsmittel in einen vorbestimmten
Speicherraum des Speichermittels laden. Sie enthält zweite Mittel im Steuermodul,
die mittels der über dritte Mittel eingegebenen Bedingungen anhand des bereits eingegebenen
Absendelandes bzw. - ortes und des Datums die aktuelle in Kraft befindliche Portogebührentabelle
auswählen, um diese zu laden. Diese ersten und zweiten Mittel sind hardware- und/oder
softwaremäßig als ein fest- oder freiprogrammierbarer Logikmodul bzw. Programm einer
Mikroprozessorsteuerung ausgebildet und bewirken bei jedem Einschalten eine Verbindungsaufnahme
zum externen Speicher.
[0010] Solche aktualisierbaren Abschnitte des Speichermittels sind ebenfalls für andere
Informationen und/oder Zusatzinformationen vorgesehen. Insbesondere kann die Sicherheit
vor betrügerischen Manipulationen dadurch erhöht werden, daß bei der Aktualisierung
eine dem Aktualisierungsdatum zugeordnete Anzahl von Funktionen in die Frankiermaschine
ladbar sind und die weiteren zu ladenden auslösbaren Funktionen vielfältig und nicht
wählbar vorgegeben sind. Zur Sicherheit gegen betrügerische Manipulationen kann von
der nationalen Postbehörde, zu der der jeweilige Absendeort gehört, ein nur von der
jeweiligen nationalen Postbehörde maschinenlesbarer Ausdruck vorgegeben sein. Dieser
Ausdruck kann beispielsweise die Transaktionsnummer für eine Berechtigungprüfung in
Strichcodedarstellung sein oder ein anderes vereinbartes Zeichen, welches unter Verwendung
des gleichen oder weiteren Druckers an einer definierten Stelle auf dem Postgut abgedruckt
wird.
[0011] Solche Sicherheitsmaßnahmen sind geeignet den Einsatz eines Farbkopierers zur unerlaubten
Vervielfälltigung eines Frankierabdruckes zu vereiteln. Sie können jedoch nicht die
innere Manipulationssicherheit der Daten in der Frankiermaschine erhöhen.
[0012] Einige der Postbehörden fordern ein redundantes Abspeichern von Abrechnungsdaten
in Speichern von unterschiedlicher Technologie. Jede Technologie ist mit spezifischen
Vor- und Nachteilen behaftet. Einige Halbleiterspeicher benötigen keine Batterie,
um eine Ladung über viele Jahre zu speichern. Sie haben aber zu wenig Speicherkapazität.
Elektrisch programmierbare nichtflüchtige Speicher, welche keine Beschränkungen durch
eine gegrenzte Batterielebensdauer haben, sind beispielsweise E
2PROM
's. Der Nachteil der E
2PROM
's besteht in der beschränkten Anzahl an zulässigen Schreib/Lesezyklen. Bei Überschreitung
der zulässigen Anzahl an Schreib/Lesezyklen, können Fehler in einem benutzten Speicherbereich
auftreten.
[0013] Im EP 457 114 B1 wurde eine Frankiermaschine mit nichtflüchtiger Speicherung von
Abrechnungsdaten vorgeschlagen, wobei jeder Abrechnungsdatensatz einen Anfangsabschnitt
mit Stückzahldaten enthält. Über die Anfangsabschnitte läßt sich der aktuelle Datensatz
bestimmen. Bei einem Fehler in einem benutztem Speicherbereich wird auf einen anderen
bisher ungenutzten Speicherbereich umgeschaltet, um den Datensatz abzuspeichern. Somit
ist ein EPROM um so länger benutzbar, je mehr ungenutzte Speicherbereiche im Speicher
noch vorrätig sind. Das beschränkt aber die Anzahl an zu speichernden Daten.
[0014] Gewöhnlich werden in Frankiermaschinen batteriegestützte CMOS-RAM
's verwendet, um die Abrechnungsdaten in den Postregistern nichtflüchtig zu speichern.
Nur begrenzt durch die Batterielebensdauer, können die Abrechnungsdaten beliebig oft
gespeichert werden. Wenn eine Batterie für CMOS-RAM
's gewechselt werden muß, müssen die Daten auf einen anderen Speicher, beispielsweise
auf einem anderen batteriegestützten CMOS-RAM kopiert werden. Dieses Kopieren aller
Daten von einem Speicher auf einen anderen Speicher wird auch als Klonen bezeichnet.
Der neue batteriegestützte CMOS-RAM oder der alte batteriegestützte CMOS-RAM mit ausgewechselter
bzw. erneuerter Batterie sind beide voll einsetzbar, wenn in ihren Speicherbereichen
alle Daten identisch vorhanden sind. Durch Klonen könnten bei geöffneten Gehäuse auch
unbefugte Personen beliebig viele Speicher mit identischen Dateninhalten versehen.
[0015] Damit nicht unbefugt die Speicherinhalte geklont wiederverwertet werden, müßte aber
die Abrechnungseinheit wieder mit einem Sicherheitsgehäuse ausgerüstet werden. Andererseits
ist dann aber dadurch weiterhin der Austausch defekter Bauelemente erschwert.
[0016] In der EP 560 714 A2 sind die Montageeinheiten durch ein Sicherheitsgehäuse gekapselt.
Zur fälschungssicheren Übertragung von Abrechnungsdaten von einem Speicher in einer
defekten Montageeinheit auf den Speicher einer in die Frankiermaschine neu eingesetzten
Montageeinheit wird jede Montageeinheit mit zwei Steckereinheiten ausgerüstet. Zunächst
wird der Datenfluß durch eine besondere Übertragungsleitung einer ersten Steckereinheit
geschlauft, wobei aber an der gleichen ersten Steckereinheit der alten Montageeinheit
die Schlaufung entfernt und der normale Datenfluß unterbrochen und umgeleitet ist.
Vom Speicher der alten Montageeinheit wird über die letztgenannte Steckereinheit und
mittels einer zweiten Steckereinheit der neuen Montageeinheit der Datenfluß auf die
neue Montageeinheit umgeleitet. Es sind mechanische Verriegelungsglieder vorgesehen,
welche in Wirkverbindung mit einem eine elektronische Erkennungsmarke (Flag) setzenden
Schalters stehen, welcher beim Herausnehmen der defekten Montageeinheit betätigt wird.
Nach dem Übertragen der Daten auf die neue Montageeinheit wird ein zweites unlöschbares
Flag gesetzt, so daß eine zweite Datenübertragung unmöglich gemacht ist. Die Sicherheit
beruht im wesentlichen auf der Kapselung von CPU und nichtflüchtigem Speicher auf
der Montageeinheit und dem vorgenannten Schalter zum Setzen der Flags. Bei Kenntnis
der Lage bzw. Anordnung des Schalters kann ein Eindringen und eine Manipulation in
Fälschungsabsicht aber nicht verhindert werden.
[0017] Aus der DE 41 29 302 A1 ist die Verwendung eines Sensors bekannt, welcher beim Öffnen
des Frankiermaschinengehäuses die Postregister löscht. Jedoch kann damit nicht verhindert
werden, daß neue Daten in das Postregister von einem geschickten Manipulator eingeschrieben
werden können, wenn das Gehäuse erst einmal geöffnet ist.
[0018] Aus der EP 231 452 A2 ist das periodische Abfragen von Sensoren entsprechend einer
Softwareroutine einer CPU bekannt. Der Nachteil dieser Lösung besteht in einer hohen
Rechenzeit bedingt durch das periodische Abtasten der Sensoren. Dieser Nachteil wird
noch vergrößert, wenn es sich um eine besonders zeitkritische Abfrage handelt. Um
möglichst schnell auf eine Zustandsänderung reagieren zu können, muß die Abfragefrequenz
hoch gewählt werden. Somit verbringt der Mikroprozessor einen großen Anteil seiner
Rechenzeit mit der Abfrage. Insbesondere kann nicht die Manipulation einer ausgeschalteten
Maschine verhindert werden. Ebenfalls in der EP 231 452 A2 wird von einer redundanten
Abspeicherung von Abrechnungsdaten ausgegangen. Da eine Kontrolle der abgespeicherten
Registerwerte nicht alle Fehler festzustellen gestattet, wurden separate Adreß- und
Datenleitungen jeweils für zwei redundante Speicher eingesetzt. Dadurch wird das Auftreten
von bisher nicht entdeckbaren Fehlerbedingungen reduziert, die aufgrund von Fehlfunktionen
der Maschine oder durch Spannungsausfall entstehen können. Fälschungen aufgrund einer
unbefugten Manipulation, d.h. wenn beim Klonen der Postregister vom Orginal die Abrechnungsdaten
insgesamt kopiert werden, sind aber durch vorgenannte Maßnahmen nicht feststellbar,
denn die Kopie und Orginal sind voreinander ununterscheidbar.
[0019] Es wurde bereits in der DE 42 17 830 A1 ein Verfahren zum Betreiben einer Datenverarbeitungsanlage
mit einem ersten nichtflüchtigen Speicher, einem Zustandsspeicher und einem zweiten
nichtflüchtigen Speicher vorgeschlagen. Eine Modulkennung ermöglicht die Fortsetzung
des Programms und eine Zustandskennung ermöglicht die Bearbeitung und Fortsetzung
des Programmsabschnitts bei dem eine Programmunterbrechung eintrat, d.h. ggf. die
Korrektur fehlerhaft eingeschreibener Daten in einem NVM aufgrund redundant vorliegender
Daten in dem anderen NVM. Diese Lösung kann aber nicht den Dateninhalt, auf Vorliegen
einer Manipulation überprüfen. Beim Klonen von Speicherinhalten werden korrekte Daten
auf externe Speicher überspielt. Beim Rückübertragen dieser Speicherinhalte bzw. beim
Einsatz dieser externen Speicher in die Frankiermaschine zu einem späteren Zeitpunkt
wird ein von der Frankiermaschine selbst nicht als fehlerhaft erkennbarer Zustand
wiederhergestellt, der zu einem früheren Zeitpunkt einmal korrekt war.
[0020] Es ist bereits ein Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen
vorgeschlagen worden (DE 43 44 476 A2) indem die Frankiermaschine zwischen autorisierten
und unautorisierten Eingriff bzw. Öffnen ihres Gehäuses unterscheiden kann. Das Verfahren
setzt aber voraus, daß die Frankiermaschine ständig mit Energie für die Selbstprüfung
versorgt wird. In diesem Fall können keine sicherheitsrelevanten Daten aus der Frankiermaschine
unerlaubt herausgeladen, abgenommen oder eingespeist werden, ohne daß dies im Rahmen
der Selbstprüfung bemerkt würde. Dennoch sind zusätzliche Gehäuse, Siegel und/oder
weitere Sicherheitsmaßnahmen erforderlich zum Schutz der ausgeschalteten Maschine.
[0021] Vielfach wird die Forderung erhoben, daß für Reparaturzwecke die Speicherbausteine
leicht austauschbar sind, also weder gekapselt noch fest eingelötet sondern gesockelt
werden. Nun wäre es damit aber nicht möglich, die tragbaren, d.h. die nicht fest über
ein Telefonnetz installierten Frankiermaschinen im ausgeschalteten Zustand gegenüber
betrügerischen Manipulationen abzusichern. Im Interesse der Manipulationssicherheit
von kritischen Registerdaten muß bisher auf Verbesserungen beim Service für die Maschine
verzichtet werden.
[0022] Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Erhöhung der Manipulationssicherheit
von kritischen Registerdaten zu entwickeln, welche die Nachteile des Standes der Technik
vermeidet und für eine Vielzahl an Frankiermaschinenvarianten kostengünstig realisierbar
ist, ohne dabei die Manipulationssicherheit zu vermindern.
[0023] Eine weitere Aufgabe ist es, bei einer Anordnung zum Frankieren von Postgut, vorzugsweise
einer tragbaren ortsunabhängig betreibbaren Frankiermaschine der eingangs genannten
Gattung eine Sicherheit gegen betrügerische Manipulationen jeder Art und ein Frankieren
nach gültigen Posttarifen in Abhängigkeit von dem eingebbaren Gewicht und Format des
Postgutes zu gewährleisten. Auch bei ausgeschalteter Frankiermaschine und ohne Stromversorgung
soll die frankiermaschineninterne Sicherheitsschaltung für Postregisterdaten und andere
sicherheitsrelevante Daten wirksam sein.
[0024] Die Aufgabe wird mit den Merkmalen der Ansprüche 1, 8, 22, 24 bzw. 25 gelöst.
[0025] Die Erfindung geht davon aus, daß ein Duplizieren bzw. Klonen des zu schützenden
nichtflüchtigen Speichers NVM nicht verhindert werden braucht, sondern auch ein Duplikat
des Speicherinhalts, welches gegen den Speicherinhalt des Orginals ausgetauscht wird,
weiterverwendet werden kann. Im Reparaturfall wird oft ein Kopieren und Rücktausch
der Speicherinhalte erforderlich, wobei allerdings vorausgesetzt wird, daß zwischenzeitlich
keine gültigen Frankierungen vorgenommen werden.
[0026] Erfindungsgemäß wird ein interner Prozessorspeicher verwendet, um ein Codewort nichtflüchtig
zu speichern. Es ist vorgesehen, daß jedem zu schützenden nichtflüchtigen Speicher
oder Speicherbereich ein separates Codewort zugeordnet wird, wobei mindestens eines
der vorgenannten separaten Codeworte in einem weiteren internen Speicher eines Prozessorsystems,
einer Chipkarte und/oder in einem ähnlichen System nichtflüchtig gespeichert worden
ist und daß eine Bildung von neuen Codewörtern ab einem vorbestimmten Zeitpunkt und
danach eine Einspeicherung der neuen Codewörtern in die vorgenannten nichtflüchtigen
Speicher vorgenommen wird.
[0027] Die erfindungsgemäße Lösung verhindert also nicht, daß die Postregister einschließlich
Inhalt entfernt werden, um beliebig viele Kopien anzufertigen, sondern sie verhindert,
daß mit Hilfe dieser Kopien Postgüter frankiert werden können, ohne daß eine adäquate
Abrechnung bei der Datenzentrale bzw. Bezahlung bei der Post vorgenommen wird. Eine
Verkapselung der Bauelemente für die herausnehmbaren die Postregister speichernden
NV-RAMs mit einem Sicherheitsgehäuse oder das Vorsehen anderer zusätzlicher Maßnahmen
zum Schutz vor Entnahme, wie Aufkleben auf die Leiterplatte, Versiegeln oder Vergießen
mit Epoxidharz sind nun nicht erforderlich.
[0028] Die frankiermaschineninterne Sicherheitsschaltung für Postregisterdaten und andere
sicherheitsrelevante Daten beruht auf nichtflüchtigen Speicherbausteinen. Bei der
ausgeschalteten Frankiermaschine bzw. bei ausgefallener Stromversorgung bleiben die
Daten gespeichert. Solche beispielsweise mit einer Lithiumbatterie gestützten CMOS-SRAM's
sind während ihrer Lebensdauer von ca. 10 Jahren beliebig oft beschreibbar. Die Batterie
kann weder nachgeladen noch entladen werden, ohne den Speicherbaustein zu zerstören.
Es wird davon ausgegangen, daß im Leben einer Frankiermaschine bis zu 150 000 Abdrucke
möglich sind und daß die Lithiumbatterie während dieser Zeit nicht ausgewechselt werden
muß.
[0029] Ebenfalls können Speichermittel von anderer Speichertechnologie durch die Sicherheitsschaltung
entsprechend vor Mißbrauch geschützt werden, wenn zu vorbestimmten Ereignissen sicherheitsrelevante
Daten in diese nichtflüchtigen Speicher gespeichert werden.
[0030] Vom Herstellerwerk der Frankiermaschine wird in die nichtflüchtigen Speicherbausteine
(Bat-NV-CMOS-SRAM's und E
2PROM) ein Codewort eingespeichert, welches einer vorbestimmten Frankiermaschine zugeordnet
ist. Das Codewort kann am Anfang beispielsweise die Seriennummer der Frankiermaschine
umfassen oder kann ein Teil einer anderen Nummer sein. Außerdem werden die Registerspeicherplätze
mit Anfangswerten vom Herstellerwerk vorbesetzt.
[0031] Die erfindungsgemäße Lösung vermeidet, daß die nichtflüchtigen Speicher (NV-RAMs,
E
2PROMs) in Fälschungsabsicht verwendet werden könnten, welche ausgewechselt und geklont
wurden, um später mit den geklonten oder ausgewechselten NV-RAMs bzw. E
2PROMs die Frankiermaschine FM zu betreiben. Die Erfindung geht von einem OTP-Prozessor
mit einem internen OPT-ROM und internen OTP-RAM aus. Im internen OPT-ROM ist eine
Liste von Codewörtern gespeichert, wobei jedes Codewort zeitweise und möglichst nur
einmal aktiv ist. Das Codewort wird unabhängig vom Speicherinhalt der NV-RAMs aus
der Tabelle - die im von außen nicht zugänglichen internen ROM-Bereich des OTP gespeichert
vorliegt - ausgewählt.
[0032] Das neue Codewort wird mindestens beim Einschalten der Frankiermaschine der internen
OTP-Tabelle entnommen und in den nichtflüchtigen Speichern (NV-RAMs, E
2PROMs) abgespeichert, wenn das alte in der Liste das jeweilige Vorgänger-Codewort
war.
[0033] Beispielsweise ist ein E
2PROM der einzige nichtflüchtige Speicher der zusammen mit dem OTP-Prozessor unlösbar
fest auf die Platine aufgeklebt ist. In einer bevorzugten Varianten wird während des
Betriebes der Frankiermaschine vor jedem Abdruck und damit vor jeder neu zu registrierenden
Stückzahl an Frankieraufdrucken auf Basis der vorhergehenden Stückzahl und gegebenenfalls
der aktuellen vom Uhren/Datumsbaustein gelieferten Zeit eine Zufallszahl erzeugt.
Hierzu kann ein Pseudo-zufallsgenerator hard- und/oder softwaremäßig realisiert werden.
Im internen OPT-ROM des OTP-Prozessors liegt mindestens eines aus der Vielzahl von
möglichen erzeugbaren Zufallswörtern gespeichert vor. Nach einem Vergleich innerhalb
des OTP-Prozessors wird bei Übereinstimmung eine redundante Speicherung des neuen
Codewortes einmal in die lösbaren nichtflüchtigen Speicher (NVRAMs) und erfindungsgemäß
auch in den vorgenannten unlösbar fest auf die Platine aufgeklebten nichtflüchtigen
Speicher (E
2PROM) vorgenommen. Die zulässige Anzahl an Schreib/Lese-Zyklen für den E
2PROM wird nicht überschritten, wenn beispielsweise durchschnittlich nur jede vierunzwanzigste
Frankierung die nichtflüchtigen Speicher (E
2PROM und NVRAMs) redundant mit einem neuen Codewort beschrieben werden.
[0034] Zusätzlich werden die nichtflüchtigen Speicher (E
2PROM und NVRAMs) redundant mit einem neuen Codewort auch bei einem anderen letzten
Betriebszustand der Frankiermaschine beschrieben, welcher vorbestimmten Zuständen
zugeordnet ist, wie dem Ergebnis der Herstellung oder einer Nachladung der Frankiermaschine
bzw. dem Ausschalten bzw. vor Spannungsausfall oder einer Stillstandszeit (Stand by)
bzw. Programmunterbrechung und entsprechend anderen Ereignissen.
[0035] Das Weiterschalten der im internen OPT-ROM gelisteten Codewörter wird über Flags
oder Zeiger, die in dem unlösbar fest eingebauten nichtflüchtigen Speicher gespeichert
sind, realisiert. Der Zeiger wird außerhalb des jeweils zu überprüfenden lösbar eingebauten
nichtflüchtigen Speichers (NV-RAMs) in dem ständig eingebauten und/oder während der
Laufzeit der Frankiermaschine mit ihrem Prozessorsystem in Kommunikationsverbindung
stehenden und gegen Herausnahme während der Laufzeit der Frankiermaschine abgesicherten
ersten Sicherheitsspeicher nichtflüchtig gespeichert. Zur Verhinderung von Manipulationen
in Fälschungsabsicht des vorgenannten ständig eingebauten und gegen Herausnahme abgesicherten
Sicherheitsspeicher sollten diese Flag oder Zeiger MAC-gesichert gespeichert sein.
[0036] Das Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Registerdaten
umfaßt in einer bevorzugten Variante die folgenden Schritte:
- Laden einer Zahl oder eines Zeigers, welcher einem Codewortes zugeordnet ist, in einen
ersten nichtflüchtigen Speicher, der gegen Herausnahme und Manipulation abgesichert
ist,
- Laden eines Codewortes in zweite die Postregisterdaten enthaltenden nichtflüchtigen
Speicher (NVM), wobei das Codewort dem letzten Betriebszustand der Frankiermaschine
zugeordnet ist bzw. vom Prozessor entsprechend ausgewählt worden ist,
- Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der Frankiermaschine
und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort, wenn der Prozessor,
nach Gültigkeitsprüfung mit Bezug auf das in seinem internen Prozessorspeicher aus
einer Liste mit gespeicherten Codewörten entsprechend der Zahl bzw. der Zeigerstellung
ausgewählte Codewort, die Gültigkeit des alten Codewortes anerkennt oder
- Blockierung der Frankiermaschine nach dem Zeitpunkt des Einschaltens der Frankiermaschine,
wenn der Prozessor nach Gültigkeitsprüfung mit Bezug auf das ausgewählte in vorgenannter
Liste gespeicherte Codewort die Gültigkeit des alten Codewortes aberkennt.
[0037] Das Programm für die Auswahl des jeweils neuen Codewortes ist im internen Programmspeicher
(internen OTP-ROM bzw. OTP-EPROM) gespeichert. Die Auswahl des neuen Codewortes wird
vom vorherigen und/oder vom Zustand der Frankiermaschine zu einem vorbestimmten Zeitpunkt
bzw. bei einer vorbestimmten Stückzahl abhängig durchgeführt. Jedem nichtflüchtigem
Speicher oder Speicherbereich, der geschützt werden muß, kann ein separates Codewort
zugeordnet werden. Das kann in der Frankiermaschine ermöglichen, eine automatische
Analyse vorzunehmen, welcher Speicherbaustein aus einer Vielzahl an Speicherbausteinen
entnommen wurde.
[0038] Der vorgenannte dem Codewort entsprechende letzte Betriebszustand der Frankiermaschine
entspricht insbesondere einem Zustand im Ergebnis der Herstellung oder einer Nachladung
der Frankiermaschine oder im Ergebnis der Bildung einer Pseudozufallsfolge oder einem
Zustand vor dem Ausschalten der Frankiermaschine oder einem Zustand vor einem Spannungsausfall
oder vor einer Stillstandszeit (Stand by) bzw. vor Programmunterbrechung. Es ist vorgesehen,
daß die Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens
der Frankiermaschine und nachfolgend mindestens aufgrund einer Pseudozufallsfolge
durchgeführt wird.
[0039] Für eine Anordnung zur Erhöhung der Manipulationssicherheit von kritischen Daten,
insbesondere von Registerdaten in Frankiermaschinen mit Eingabe- und Anzeigemitteln,
einer Steuereinrichtung und Speichern, ist vorgesehen, daß die Steuereinrichtung einen
Mikroprozessor oder einen OTP-Prozessor (ONE TIME PROGRAMMABLE) aufweist. Im OTP sind
neben einem Mikroprozessor CPU auch weitere Schaltungen und/oder Programme bzw. Daten
im internen OTP-ROM bzw. im internen OTP-RAM in einem gemeinsamen Bauelementgehäuse
untergebracht, welche ein erstes Sicherheitsmittel gegen unbefugte Manipulation bilden.
Es ist vorgesehen, daß ein erster und ein zweiter nichtflüchtiger Speicher mit der
Steuereinrichtung verbunden sind, wobei der erste nichtflüchtige Speicher NVM ein
zweites Sicherheitsmittel gegen unbefugte Manipulation bildet und gegen Herausnahme
gesichert ist.
[0040] In einer Variante ist vorgesehen, daß der erste nichtflüchtige Speicher als interner
Prozessorspeicher zur nichtflüchtigen Speicherung im Prozessor realisiert und damit
gegen eine Herausnahme und Manipulation gesichert ist.
[0041] In einer anderen Variante ist der erste nichtflüchtige Speicher als externer nichtflüchtiger
Speicher NVM mit dem Prozessor elektrisch und mechanisch unlösbar über eine Leiterplatte
verbunden.
[0042] In einer weiteren Variante ist der externe nichtflüchtiger Speicher NVM über einen
Ein/AusgabeSteuermodul am Prozessor angeschlossen und während der Laufzeit der Frankiermaschine
gegen eine Herausnahme gesichert. Es ist auch vorgesehen, daß der externe nichtflüchtiger
Speicher NVM Bestandteil einer Chipkarte ist und über eine Chipkarten-Schreib/Leseeinheit
am Ein/Ausgabe-Steuermodul angeschlossen ist.
[0043] Ein alternatives Verfahren geht von einer speziellen Bildung von Codewörtern in der
OTP-CPU aus. Eine Auflistung von Codewörtern im internen OTP-ROM ist dann unnötig.
Das Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Registerdaten
umfaßt die Schritte:
- Laden eines Codewortes in einen ersten internen Prozessorspeicher zur nichtflüchtigen
Speicherung und in zweite die Postregisterdaten enthaltene nichtflüchtige Speicher
(NVM), wobei das Codewort dem letzten Betriebszustand der Frankiermaschine entspricht,
- Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der Frankiermaschine
und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort, wenn der Prozessor
nach Gültigkeitsprüfung mit Bezug auf das in seinem ersten ersten nichtflüchtigen
internen Prozessorspeicher (NVM) gespeicherte Codewort die Gültigkeit des alten Codewortes
anerkennt oder
- Blockierung der Frankiermaschine nach dem Zeitpunkt des Einschaltens der Frankiermaschine,
wenn der Prozessor nach Gültigkeitsprüfung mit Bezug auf das in seinem ersten nichtflüchtigen
internen Prozessorspeicher (NVM) gespeicherte Codewort die Gültigkeit des alten Codewortes
aberkennt.
[0044] Das Programm für die Bildung des jeweils neuen Codewortes ist im Programmspeicher
(internen ROM bzw. EPROM) gespeichert. Die Bildung des neuen Codewort ist vom vorherigen
abhängig. Jedem nichtflüchtigem Speicher oder Speicherbereich kann ein separates Codewort
zugeordnet werden, wobei (vorher oder gleichzeitig) mindestens eines der vorgenannten
Codeworte erfindungsgemäß im internen Prozessorspeicher nichtflüchtig gespeichert
worden ist.
[0045] Es ist weiterhin alternativ zur vorgenannten Codewortauflistung vorgesehen, daß in
einem Schritt zur Bildung eines neuen veränderbaren einzigartigen ersten Codewortes
auch die Bildung des neuen zweiten Codewortes identisch zur Bildung des neuen ersten
Codewortes erfolgt, um ein identisches neues zweites Codewort in die zu schützenden
nichtflüchtigen Speicher zu laden.
[0046] Alternativ ist in einer weiteren Variante vorgesehen, daß in einem Schritt zur Bildung
eines neuen veränderbares einzigartigen ersten Codewortes auch die Bildung des neuen
zweiten Codewortes als komplementärer Schatten zum neuen ersten Codewortes erfolgt,
um ein komplementäres neues zweites Codewort in die zu schützenden nichtflüchtigen
Speicher zu laden.
[0047] Es ist in einer anderen Variante vorgesehen, daß in einem Schritt zur Bildung eines
neuen veränderbares einzigartigen ersten Codewortes auch die Bildung des neuen zweiten
Codewortes als zu dem neuen veränderbaren einzigartigen ersten Codewort identischen
Codewort und als komplementärer Schatten zum neuen ersten Codewortes erfolgt, um mindestens
ein neues zweites Codewort in die zu schützenden nichtflüchtigen Speicher zu laden
oder daß beim Schutz eines entsprechenden Speichers in mindestens einem der Speicherbereiche
auch mit dem komplementären Schatten gearbeitet wird.
[0048] In Weiterführung der Erfindung kann das vorgenannte in zeitlichen oder stückzahlmäßigen
Abständen geänderte Codewort auch zur MAC-Absicherung der Postregisterdaten verwendet
werden. In den zu schützenden nichtflüchtigen Speichern wird dann statt des Codewortes
der MAC gespeichert. Ein solches Verfahren zur Erhöhung der Manipulationssicherheit
von kritischen Registerdaten ist gekennzeichnet
durch die Schritte:
- Laden eines mittels einem Codewort erzeugten Autentifikationscodes (MACn), welcher dem Codewort zugeordnet ist, welches Abrechnungsdaten verschlüsselt, in
einen ersten nichtflüchtigen Speicher, der während der Laufdauer der Maschine gegen
eine Herausnahme und Manipulation gesichert ist,
- Laden der Abrechnungsdaten und des vorgenannten Autentifikationscodes (MACn) in zweite die Postregisterdaten enthaltende zu schützende nichtflüchtige Speicher
NVM, wobei das Codewort dem letzten Betriebszustand der Maschine zugeordnet ist,
- Gültigkeitsprüfung des Autentifikationscodes (MACn), welcher dem Codewort zugeordnet ist, mindestens zum Zeitpunkt des Einschaltens
der Maschine und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort zur Bildung eines
weiteren Autentifikationscodes (MACn+1), welcher dem neuen Codewort zugeordnet ist, welches Abrechnungsdaten verschlüsselt,
wenn der Prozessor die Gültigkeit des alten Codewortes anerkennt oder
- Blockierung der Maschine nach dem Zeitpunkt ihres Einschaltens, wenn der Prozessor
nach Gültigkeitsprüfung die Gültigkeit des anhand des alten Codewortes geprüften Autentifikationscodes
(MACn) aberkennt.
[0049] Die Abstände für das Laden eines MESSAGE AUTHENTIFICATION CODE (MAC) nach dem Zeitpunkt
des Einschaltens der Frankiermaschine sind zeitliche oder stückzahlmäßige Abstände
und/oder solche mindestens aufgrund einer Pseudozufallsfolge bestimmten Abstände.
[0050] Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet
bzw. werden nachstehend zusammen mit der Beschreibung der bevorzugten Ausführung der
Erfindung anhand der Figuren näher dargestellt. Es zeigen:
- Figur 1a,
- Blockschaltbild einer Frankiermaschine mit erfindungsgemäß erhöhter Sicherheit nach
einer ersten Variante mit E2PROM,
- Figur 1b,
- Blockschaltbild einer Frankiermaschine mit erfindungsgemäß erhöhter Sicherheit nach
einer zweiten Variante mit OTP-internem E2PROM,
- Figur 2a,
- Variante mit OTP-Prozessor ohne internen E2PROM nach der ersten Variante,
- Figur 2b,
- Variante mit OTP-Prozessor mit internem E2PROM nach der ersten Variante,
- Figur 3,
- Gesamtablaufplan für die Frankiermaschine,
- Figur 4,
- Details des Ablaufplans nach Figur 3,
- Figur 5,
- Ablaufplan für den Frankiermodus,
- Figur 6,
- Details des Ablaufplans nach Figur 4,
- Figur 7,
- Flußplan für das erfindungsgemäße Verfahren zur Erhöhung der Manipulationssicherheit,
- Figur 8a bis c,
- Zeigerstellungen nach dem erfindungsgemäßen Verfahren der ersten Variante.
[0051] Die Figur 1a zeigt ein Blockschaltbild der erfindungsgemäßen Frankiermaschine mit
einem Druckermodul 1 für ein vollelektronisch erzeugtes Frankierbild, mit mindestens
einem mehrere Betätigungselemente aufweisenden Eingabemittel 2, einer Anzeigeeinheit
3, einem die Kommunikation mit einer Datenzentrale herstellenden MODEM 23, welche
über einen Ein/Ausgabe-Steuermodul 4 mit einer Steuereinrichtung 6 gekoppelt sind
und mit mindestens einem nichtflüchtigen Speicher 5a bzw. 5b für die variablen und
einen Speicher 10, 11 für die konstanten Teile des Frankierbildes.
[0052] Ein Charakterspeicher 9 liefert die nötigen Druckdaten für einen flüchtigen Arbeitsspeicher
7. Der flüchtige Arbeitsspeicher 7 umfaßt beispielsweise einen externen RAM in Verbindung
mit einem im Prozessor angeordneten internen RAM 6b. Die Steuereinrichtung 6 weist
einen entsprechend ausgebildeten Mikroprozessor µP auf und ist mit dem Ein/Ausgabe-Steuermodul
4, dem Charakterspeicher 9, dem flüchtigen Arbeitsspeicher 7, mit einem nichtflüchtigen
Kostenstellenspeicher NVM 5a und mit einem nichtflüchtigen Arbeitsspeicher NVM 5b,
mit einem anwendungsspezifischen Programmspeicher ASP 10 (Klischee-EPROM), einem Programmspeicher
PSP 11 (Programm-EPROM), mit dem Motor einer Transport- bzw. Vorschubvorrichtung ggf.
mit Streifenauslösung 12, einem Encoder (Codierscheibe) 13, einem Briefsensor 16 sowie
mit einem Uhren/Datums-Baustein 8 verbunden. Ein entsprechendes Verfahren zum Steuern
eines spaltenweisen Drucks eines Postwertzeichenbildes ist beispielsweise in der EP
578 042 A2 oder in der EP 576 133 A2 ausführlicher beschrieben.
[0053] Bei dem in der Figur 1a gezeigten Blockschaltbild einer Frankiermaschine wird die
erfindungsgemäß erhöhte Sicherheit in Verbindung mit einem E
2PROM 20, welcher sich extern vom Mikroprozessorgehäuse befindet, erzielt. Beide sind
unlösbar auf der Platine befestigt.
[0054] Die - in der Figur 2a näher dargestellte - Steuereinrichtung 6 weist einen Mikroprozessor
oder einen OTP-Prozessor (ONE TIME PROGRAMMABLE) auf. Im OTP sind neben einem Mikroprozessor
CPU 6a auch weitere Schaltungen in einem gemeinsamen Bauelementgehäuse untergebracht.
Diese weiteren Schaltungen und/oder Programme bzw. Daten im internen OTP-ROM 6c bzw.
im internen OTP-RAM 6b in dem gemeinsamen Prozessorgehäuse bilden eine Sicherheitsschaltung
bzw. ein erstes Sicherheitsmittel gegen unbefugte Manipulation. Der erste nichtflüchtige
Speicher NVM 20 ist beispielsweise ein E
2PROM und dient als zweites Sicherheitsmittel gegen unbefugte Manipulation.
[0055] Es ist außerdem vorgesehen, daß ein externer nichtflüchtiger Speicher NVM 25 ein
zweites Sicherheitsmittel gegen unbefugte Manipulation bildet und über einen Ein/Ausgabe-Steuermodul
4 am Prozessor 6 angeschlossen ist und während der Laufzeit der Frankiermaschine gegen
Herausnahme gesichert ist.
[0056] Die übrigen einzelnen Speicher können in mehreren physikalisch getrennten oder in
gemäß der Figur 2a gezeigten Weise in wenigen Bausteinen zusammengefaßt verwirklicht
sein. Vorzugsweise sind die Festwertspeicher CSP 9 und PSP 11 in einem EPROM und die
zu schützenden nichtflüchtigen Speicher NVM 5a und 5b in einem Postregisterspeicher
zusammengefaßt. Letzterer ist vorzugsweise doppelt vorhanden und wird in seinen Speicherbereichen
redundant mit Daten beschrieben. Ein Verfahren zum Speichern Sicherheitsrelevanter
Daten ist beispielsweise in der EP 615 211 A1 näher ausgeführt.
[0057] Das in der Figur 1b gezeigte Blockschaltbild einer Frankiermaschine erzielt erfindungsgemäß
eine erhöhte Sicherheit mit einem OTP-internem nichtflüchtigen Speicher (NVM), vorzugsweise
einem E
2PROM 6d.
[0058] Die - in der Figur 2b näher dargestellte - Steuereinrichtung 6 weist einen Mikroprozessor
oder einen OTP-Prozessor (ONE TIME PROGRAMMABLE) auf. Im OTP sind neben einem Mikroprozessor
CPU 6a auch interne nichtflüchtige Speicher NVM 6d und weitere Schaltungen in einem
gemeinsamen Bauelementgehäuse untergebracht. Der vorgenannte interne nichtflüchtige
Speicher NVM 6d und weitere Schaltungen und/oder Programme bzw. Daten im internen
OTP-ROM 6c bzw. internen OTP-RAM 6b in dem gemeinsamen Prozessorgehäuse bilden wieder
eine Sicherheitsschaltung bzw. ein Sicherheitsmittel gegen unbefugte Manipulation.
[0059] Ein interner nichtflüchtiger Speicher NVM 6d im Sicherheitsmittel des OTP-Prozessors
(CPU) 6 arbeitet mit dem Programmspeicher 6c (internes EPROM oder ROM) und flüchtige
Datenspeicher RAM 6b zusammen. Durch die Möglichkeit Sicherungsbits zu setzen (bei
internen EPROM) bzw. während der Herstellung eine Maskenprogrammierung (bei internen
ROM) vorzunehmen, kann das Auslesen des internen nichtflüchtigen Speichers von außen
verhindert werden.
[0060] Bei der Lösung nach der in der Figur 1a gezeigten - ersten Variante mit nichtflüchtigem
Speicher NVM 20 extern vom OTP-Prozessor 6 bildet letzterer ein zweites Sicherheitsmittel
gegen unbefugte Manipulation. Der externe nichtflüchtige Speicher NVM 20 ist in der
bevorzugten Variante dabei - wie in der Figur 1a gezeigt - ein Bestandteil des Prozessorsystems
der Frankiermaschine und arbeitet mit dem Programmspeicher 6c (internes EPROM oder
ROM) und flüchtige Datenspeicher RAM 6b zusammen.
[0061] Im vorgenannten Blockschaltbild der erfindungsgemäßen Frankiermaschine 1 wird auch
eine Chipkarten-Schreib-Lese-Einheit 21 dargestellt. Diese steht über einen BUS 11
mit einem Prozessor 6 direkt oder über Ein/Ausgangsmittel (I/O-Ports) 4 in Verbindung.
Weiter ist ein - in der Figur 1a nicht näher dargestellter - Anschluß eines MODEMs
23 über den BUS 11 direkt oder über vorgenanntes Ein/Ausgangsmittel 4 vorgesehen.
Die Chipkarte, welche in die Chipkarten-Schreib-Lese-Einheit 21 eingesteckt werden
muß, schließt einen externen nichtflüchtigen Speicher 25 ein. Ein solcher nichtflüchtiger
Speicher kann aber auch in einem ähnlichen System vorhanden sein.
[0062] Wie bereits erwähnt kann durch die Möglichkeit Sicherungsbits zu setzen (bei internen
EPROM) bzw. während der Herstellung eine Maskenprogrammierung (bei internen ROM) vorzunehmen,
das Auslesen des internen Programm-Speichers von außen verhindert werden. Die Sicherungsbits
werden durch Programmierung des internen EPROM während der Herstellung der Frankiermaschine
im OTP-Prozessor gesetzt. Das Observieren solcher sicherheitsrelevanter Routinen,
wie beispielsweise Abrechnungsroutinen, mit einem Emulator/Debugger würde ebenfalls
zu einem veränderten Zeitablauf führen, was durch den OTP feststellbar ist. Dieser
umfaßt auch eine Taktgeber/Zähler-Schaltung für die Vorgabe von Zeitintervallen bzw.
Taktzyklen beispielsweise für die Time-out-Generierung oder Druckersteuerung. Vorteilhaft
wird die Taktgeber/Zähler-Schaltung für eine Programmlaufzeitüberwachung eingesetzt,
welche in der Anmeldung EP 660 269 A2 genauer beschrieben ist. Wenn eine bestimmte
Zeit abgelaufen und das erwartete Ereignis nicht eingetreten ist, wird vom der Taktgeber/Zähler-Schaltung
ein Interrupt generiert, der dem Mikroprozessor den ergebnislosen Ablauf der Zeitspanne
meldet, woraufhin der Mikroprozessor weitere Maßnahmen veranlaßt. Die Überwachungsfunktion
wird in vorgenannter Weise durch das vorgenannte erste Sicherheitsmittel übernommen,
das Bestandteil des Prozessors (OTP) ist und die in Verbindung mit einer entsprechenden
Software während des Betriebes der Frankiermaschine wirksam wird. Bei einer vorteilhaften
weiteren Variante der Zeitkontrolle wird ein Codewort im externen NVM 5a, 5b oder
25 gelöscht. Das kann durch Überschreiben mit einem vorbestimmten anderen Wort, beispielsweise
0000 erfolgen. Der Vorteil liegt insbesondere darin, daß die Sicherheitsschaltung
während des Betriebes auf eine Manipulation durch unbefugten Eingriff in die Frankiermaschine
reagiert.
[0063] Die Überwachungsfunktion wird auch bei der - in der Figur 1b und 2b gezeigten - zweiten
Variante in vorgenannter Weise durch nun aber von der durch Mittel 6a und 6d gebildeten
Sicherheitsschaltung übernommen, die Bestandteil des Prozessors (OTP) ist und die
in Verbindung mit einer entsprechenden Software während des Beriebes der Frankiermaschine
wirksam wird. Als Prozessor kann beispielsweise ein CMOS-Einchip-8-Bit-Microcontroller
Philips 80C851 bzw. 83C851 mit einem nichtflüchtigen 256x8-bit E
2PROM als internen Prozessorspeicher eingesetzt werden. Das Codewort kann im o.g. internen
Prozessorspeicher über 50 000 mal nichtflüchtig gespeichert werden. Der Datenerhalt
wird ebenfalls für 10 Jahre garantiert. Ein anderer geeigneter Prozessor ist beispielsweise
der TMS 370C010 von Texas Instruments, der ebenfalls einen internen 256 Byte E
2PROM aufweist.
[0064] Die frankiermaschineninterne Sicherheitsschaltung für Postregisterdaten und andere
sicherheitsrelevante Daten schützt den Dateninhalt von nichtflüchtigen Speichern,
beispielsweise von mit einer Lithiumbatterie gestützten CMOS-SRAM's, gegenüber einer
Verwendung unerlaubt geklonter Kopien ohne Abrechnung.
[0065] Vorgenannte Lithiumbatterie gestützten CMOS-SRAM's haben eine Lebensdauer von mindestens
10 Jahren. Als nichtflüchtige Speicherbausteine sind beispielsweise von Dallas Semiconductor
beim Typ DS1230Y/AB ein Speicherbereich von 256 K oder ein Speicherbereich von 1024
K für ein NV-SRAM beim Typ DS1245Y/AB verfügbar.
[0066] Ebenfalls kann der Uhren/Datums-Baustein 8 nach dem gleichen Verfahren geschützt
werden. Dieser vorgenannte Baustein ist ein nichtflüchtiger Zeitgeber-RAM und enthält
ebenfalls eine Lithiumbatterie für mindestens 10 Jahre. Der Baustein DS 1642 von Dallas
Semiconductor weist einen 2K x 8 NV-SRAM auf.
[0067] Zusätzlich sind auch Speichermittel von anderer Speichertechnologie entsprechend
ihrer Lebensdauer einsetzbar. Die Sicherheitsschaltung speichert in diese nichtflüchtigen
Speicher beispielsweise nur Daten zum Zeitpunkt des Einschaltens bzw. Wiederinbetriebnahme
der Frankiermaschine nach einem Stand by-Betrieb, also zu Zeitpunkten, wo kein Abrechnungserfordernis
vorliegt und keine Frankierung erfolgt. Normale E
2PROM-Speicher, insbesondere vom Typ 28256 benötigen keine interne Batterie und lassen
mindestens 10 000 bis 100 000 Schreib-/Lese-Zyklen zu. Die frankiermaschineninterne
Sicherheitsschaltung für Postregisterdaten und andere sicherheitsrelevante Daten steuert
entsprechend die vorgenannten nichtflüchtigen Speicherbausteine so an, daß die Lebensdauer
erhöht bzw. ausreichend ist.
[0068] Wenn in den nichtflüchtigen Speichern 5a, 5b neben einem Codewort der Dateninhalt
der Postregister als Checksumme verschlüsselt gespeichert wird, kann die Manipulation
der Postregister wirksam von Anfang an verhindert werden. Beispielsweise wird ein
OTP-Prozessor (ONE TIME PROGRAMMABLE) eingesetzt, der im internen ROM einen gespeicherten
Algorithmus für ein solches Prüfsummenverfahren aufweist. Gesetzte Flags verhindern
ein Auslesen der sicherheitsrelevanten Daten aus dem Prozessor. Ein bekanntes Prüfsummenverfahren
beruht auf einem MAC (MESSAGE AUTHENTIFICATION CODE) der an die zu sichernden Daten
angehängt wird. Eine solche MAC-Absicherung wird vorteilhaft über die Postregisterdaten
gelegt. In Weiterführung der Erfindung kann das vorgenannte in zeitlichen oder stückzahlmäßigen
Abständen geänderte Codewort auch zur MAC-Absicherung der Postregisterdaten verwendet
werden. Im Regelfall genügt bereits ein gespeichertes Codewort, welches in Zeitabständen
geändert wird, um die Sicherheit zu garantieren.
[0069] Die Überwachungsfunktion wird auch bei der - in der Figur 1a und 2a gezeigten - ersten
Variante im Prozessor realisiert. Dies kann beispielsweise ein 8051-Prozessor mit
einem 16 kByte On-Chip-EPROM als internen Programmspeicher eingesetzt werden. Der
interne OTP-RAM hat einen Speicherbereich von 256 Byte.
[0070] Erfindungsgemäß ist nun vorgesehen, daß die die Postregisterdaten enthaltenen nichtflüchtigen
Speicher, insbesondere batteriegestützte CMOS-RAM's (Bat-NV-CMOS-RAM's) ein Codewort
enthalten, welches dem letzten Betriebszustand der Frankiermaschine vor dem Ausschalten
bzw. Spannungsausfall oder vor einer gewissen Stillstandszeit (Stand by) bzw. vor
Programmunterbrechung entsprechend gewählt wurde und daß mindestens zum Zeitpunkt
des Einschaltens der Frankiermaschine das alte Codewort durch ein vorbestimmtes neues
Codewort ersetzt wird.
[0071] Erfindungsgemäß wird also das Codewort zu vorbestimmten Ereignissen durch die betriebsbereite
Frankiermaschine automatisch in allen nichtflüchtigen Speichern, welche sicherheitsrelevante
Daten händeln, geändert. Eine derartige Maßnahme verhindert, daR ein geklonter Speicherinhalt
eines nichtflüchtigen Speichers (Bat-NV-CMOS-RAM's) öfter als einmal verwendet werden
kann, weil das Codewort im nichtflüchtigen internen Prozessorspeicher und im Postregister
(Bat-NV-CMOS-RAM's) geändert wird, sobald ein vorbestimmter Betriebszustand der Frankiermaschine
nach dem Einschalten der Maschine bzw. nach Spannungswiederkehr nach einem Ausfall,
nach Verlassen des Kommunikationsmodus bzw. dem Nachladen der Frankiermaschine mit
einem Guthaben oder nach einer gewissen Stillstandszeit (Stand by) erreicht ist oder
nach einer anderen Programmunterbrechung.
[0072] Dabei wird durch o.g. Maßnahme ein Duplizieren bzw. Klonen eines Bat-NV-CMOS-RAM's
oder anderen NVRAM's nicht verhindert. Auch ein Duplikat des Speicherinhalts, welches
gegen den Speicherinhalt des Orginals ausgetauscht wird, kann weiterverwendet werden.
In diesem Fall wird das Codewort des Orginals später ungültig, d.h. ein Rücktausch
der Speicherinhalte würde vom Prozessor aufgrund des inzwischen ebenfalls geänderten
Codewortes im nichtflüchtigen internen Prozessorspeicher bemerkt werden.
[0073] Die Veränderung der Codeworte bei gleichgebliebenen Dateninhalt des Speichers kann
ohne Kenntnis des Schlüssels und der Parameterdaten vom Manipulator auch nicht vorgenommen
werden, wenn der Algorithmus zur Bildung des neuen Codewortes bekannt wäre. Deshalb
kann ein bekanntes Verschlüsselungsverfahren, wie beispielsweise DES, eingesetzt werden.
[0074] Das Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Registerdaten
umfaßt weitere Sicherungsschritte, die in der Figur 7 dargestellt sind.
[0075] Im Schritt 106 werden nacheinander die in den zu schützenden nichtflüchtigen Speichern
gespeicherten Codewörter gelesen und dann zum Prozessor übertragen. Der Prozessor
führt einen Sicherungsschritt 107 zur Überprüfung des bisher gültigen Codewortes und
einen Schritt 108 zur entsprechenden Veränderung des Codewortes aus, wenn die Überprüfung
die Übereinstimmung bzw. Fehlerfreiheit ergeben hat. Anderenfalls wird vom Schritt
107 auf den Schritt 109 verzweigt, um einen eine den Kill-Mode kennzeichnende Zahl
bzw. mindestens aber ein MAC-gesichertes Kill-Mode-Flag im ständig eingebauten nichtflüchtigen
externen Sicherheits-Speicher zu setzen.
[0076] In den Figuren 8a bis c werden Zeigerstellungen nach dem erfindungsgemäßen Verfahren
dargestellt. Die Figur 8a zeigt eine Anfangszustandsvoreinstellung. Eine solche wird
im Schritt 107 (Fig.7) benötigt, um das richtige alte Codewort aus der gespeicherten
Liste zu ermitteln. Der Zeiger steht beim ersten Initialisieren der Maschine im Herstellerwerk
auf einer Zahl 1. Alternativ kann auch die Seriennummer der Frankiermaschine eine
Anfangszahl bilden. Die Zeigerstellung (Zahl 1 bzw. Anfangszahl) wird gespeichert.
Dann wird ein entsprechender erster Code, der in der Liste an einer ersten Stelle
steht im zu schützenden NVM 5a bzw. 5b gespeichert. Die Frankiermaschine verläßt das
Herstellerwerk auf eine Zahl 1 bzw. Anfangszahl gestellt. Beim Händler bzw. beim Kunden
wird nun die Frankiermaschine eingeschaltet bzw. wiedereingeschaltet (Fig. 8b). Der
erste Code wird entsprechend der Zeigerstellung aus der Liste gelesen und mit dem
im zu schützenden NVM 5a bzw. 5b gespeichert vorliegenden ersten Code verglichen.
Diese erste Phase entspricht dem Schritt 107 der Figur 7, in welcher festgestellt
wird ob ein Speicher zwischenzeitlich ohne abzurechnen herausgenommen und durch einen
anderen ersetzt worden war und nun erneut mit alten Datenbestand eingesetzt wurde.
Sind die Code gleich, wird entsprechend der Figur 8c die Zeigerstellung auf ein zweites
Codewort in der Liste weitergeschaltet, was dem Schritt 108 in der Figur 7 entnembar
ist. Die Zeigerstellung wird in vorbestimmter Weise verändert. Im einfachsten Fall
wird die Zeigerstellung inkrementiert oder dekrementiert. Der erste Code im zu schützenden
NVM 5a bzw. 5b wird nun durch den zweiten Code ausgetauscht, d.h. überschrieben. Wird
nun nach dem Ausschalten die Frankiermaschine eingeschaltet bzw. wiedereingeschaltet
wird eine Überprüfung auf der Basis des aktuellen Code analog zu der Fig. 8b und Fig.
7, Schritt 107 gezeigten Weise vorgenommen.
[0077] Im bevorzugten Ausführungsbeispiel wird für zwei nichtflüchtige Speicher NVM 6d und
NVM 5a im Schritt 107 zur Überprüfung des bisher gültigen Codewortes V(-1), U(-1)
ein für jeden physikalischen Speicherbaustein vorgesehenes separates Codewort W(-1),
T(-1) verwendet.
[0078] Für zwei nichtflüchtige Speicher NVM 20 und NVM 5a wird nach Überprüfung des alten
Codewortes im Schritt 107 und vor der entsprechenden Veränderung von Codewötern V
und U zunächst im Schritt 108 ein neues Codewort W' und dannach ein Codewort T' gebildet,
nach den Gleichungen:

wobei P1 und P2 gelistete Codewörter sind.
[0079] In einer Variante werden mit den gelisteten Codewörtern und mit internen Daten nach
einem internen Programm ein neues Codewort mittels einer solchen mathematischen Funktion
F erzeugt, welche das externe Nachbilden von Codewörtern wesentlich erschwert, so
daß eine Manipulation in Fälschungsabsicht praktisch unmöglich gemacht wird.
[0080] Im einfachsten Fall wird im internen NVM 20 ein Zählwert inkrementiert, bevor ein
neues Codewort (W', T', U', V') gebildet wird. Als mathematische Funktion F kann beispielsweise
eine kryptographische Funktion verwendet werden, welche im internen OTP-ROM als Algorithmus
bzw. Programm gespeichert vorliegt. Zum Beispiel kann der DES-Algorithmus (Data-Encryption-Standard)
oder eine Zufallsfunktion eingesetzt werden, beispeilsweise um den neuen Zeiger entsprechend
F zu ermitteln.
[0081] Das vorgenannte Bilden von Codewörtern umfaßt das Berechnen und/oder das Auswählen
aus einer Liste von Codewörtern, welche im internen OTP-ROM gespeichert vorliegt.
Im Idealfall soll jedes Codewort nur ein einziges mal zur Absicherung der externen
nichtflüchtigen Schreib/Lese-Speicher verwendet werden. Das erfordert aber eine Vielzahl
von Codewörtern, welche im internen OTP-ROM gespeichert werden.
[0082] Lediglich die Zeigerstellung oder Zahl die auf die Stellung des jeweiligen Codewortes
in der in OTP-ROM gespeicherten Liste hinweist muß extern vom OTP-Prozessor und extern
von den zu schützenden nichtflüchtigen Schreib/Lese-Speichern NVM 5a und 5b besonders
gesichert gespeichert werden. Dieses Sichern des zweiten Sicherheitsmittels 20 gegen
Entnahme aus dem Prozessorsystem kann durch ein Aufkleben oder ein gesichertes Kapseln
des vorgenannten Sicherheits-Speichers zusammen mit dem Prozessor gewährleistet werden.
[0083] Bei den erfindungsgemäßen Varianten mit Speicherung in der Chipkarte kann auf ein
Aufkleben oder ein gesichertes Kapseln mindestens eines der externen nichtflüchtigen
Schreib/Lese-Speicher verzichtet werden.
[0084] Diesen Varianten liegt die Voraussetzung zugrunde, daß der Speicher der Chipkarte
nicht manipuliert oder geklont werden kann. Ein Manipulator darf das neu zu bildende
Codewort vor dem Einschalten nicht abfragen können, um damit seine geklonten Speicher
auszurüsten. Die Zeigerstellung bzw. Zahl kann mittels DES verschlüsselt werden, wenn
diese zur Chipkarte transferiert wird. Alternativ wird das Codewort übermittelt, oder
nur die Anweisung zu seiner Wiederherstellung oder wesentliche Teile der Anweisung.
Die Übermittlung erfolgt wieder verschlüsselt bzw. als MAC-gesicherte Daten. Ein solches
Verfahren hat den Vorteil, daß man ohne o.g. speziellen Prozessor auskommt und daß
dennoch alle Postregister-NVRAMs weiterhin gesockelt und somit leicht austauschbar
montiert sind.
[0085] Alternativ ist es auch möglich, daß ein in der Liste gespeichertes Codewort verschlüsselt
ausgelesen werden kann, wenn ein spezieller Prozessor vorliegt. Die Codewörter aus
dem zu schützenden Speicher und das Codewort aus der vorgenannten Liste, auf welches
der Zeiger weist, werden verschlüsselt zur Chipkarte übertragen, die ebenfalls einen
Prozessor aufweist, der auch einen Vergleich zwecks Sicherheitsüberprüfung vornemmen
kann.
[0086] In einer weiteren Variante wird von der Frankiermaschine das Codewort zum Speicher
eines entfernten ähnlichen Prozessorsystems übertragen. Bei jedem Einschalten der
Frankiermaschine wird eine Verbindung zum Speicher des entfernten ähnlichen Prozessorsystems
hergestellt. Die Fehlerfreiheit wird durch Vergleich des extern in dem entfernten
ähnlichen Prozessorsystem gespeicherten Codewortes mit dem in den PostregisterNVRAM
gespeicherten Codewort festgestellt, um dann ein neues Codewort zu bilden und im NVRAM
des entfernten ähnlichen Prozessorsystems und im Postregister-NVRAM abzuspeichern.
Der Vergleich der einzigartigen Codewörter wird in der Frankiermaschine durchgeführt.
[0087] Eine zweckmäßige Variante besteht im Abspeichern des nach einem Algorithmus gebildeten
einzigartigen Codewortes in einem näherem speziellen Übertragungsmittel (z.B. Chipkarte).
Eine Kommunikationsverbindung zum entfernten ähnlichen Prozessorsystem wäre dann keine
Voraussetzung zur Inbetriebnahme der Frankiermaschine, wenn zu Beginn die Chipkarte
gesteckt wurde, welche auch bei letzten Mal, d.h. bei vorherigen Frankieren eingesteckt
war. Es ist selbstverständlich ein entsprechender Kommunikations-Modus 300 nach dem
Einschalten während der Laufzeit der Frankiermaschine vorgesehen.
[0088] Bei der - in der Figur 1b und 2b gezeigten - zweiten Variante werden im Schritt 106
nacheinander in den zu schützenden nichtflüchtigen Speichern gespeicherten die Codewörter
gelesen und dann zum Prozessor übertragen. Der Prozessor führt einen Sicherungsschritt
107 zur Überprüfung des bisher gültigen Codewortes und einen Schritt 108 zur entsprechenden
Veränderung des Codewortes aus, wenn die Überprüfung die Übereinstimmung bzw. Fehlerfreiheit
ergeben hat. Anderenfalls wird vom Schritt 107 auf den Schritt 109 verzweigt, um ein
Codewort Y zu löschen oder um mindestens ein Kill-Mode-Flag im prozessorinternen nichtflüchtigen
Speicher 6d zu setzen.
[0089] Für zwei nichtflüchtige Speicher NVM 6d und NVM 5a wird nach Überprüfung des alten
Codewortes im Schritt 107 und vor der entsprechenden Veränderung von Codewortern V
und U zunächst im Schritt 108 ein neues Codewort W' und dannach ein Codewort T' für
den zweiten prozessorinternen NVM 6d gebildet, nach den Gleichungen:

wobei P1 und P2 verschiedene monoton stetig veränderbare Parameter sind, beispielsweise
die aktuelle Zeit, Anzahl von Programmunterbrechungen bzw. andere Programm-, Zeit-
oder pysikalische Parameter oder gelistete Code sind. In einer Variante werden wieder
mit internen Daten und nach einem internen Programm ein neues Codewort mittels einer
solchen mathematischen Funktion F erzeugt, welche das externe Nachbilden von Codewörtern
wesentlich erschwert, so daß eine Manipulation in Fälschungsabsicht praktisch unmöglich
gemacht wird.
[0090] Bei der erfindungsgemäßen zweiten Variante kann auf die Einbeziehung von Postregisterwerten
als Prüfkennwert und auf ein Aufkleben oder ein gesichertes Kapseln mindestens eines
der externen nichtflüchtigen Schreib/Lese-Speicher verzichtet werden. Erst später,
beispielsweise im Frankiermodus 400 (Fig.5), wird bei der Abrechnung der Dateninhalt
überprüft, ob die Registerwertsumme R3 gleich der Summe aus ascending Register R1
(Restwert) und descending Register R2 ist und/oder ob die Postregisterwerte gültig
sind (z.B. durch Authentizitätsprüfungen, Plausibilitätsprüfungen und ähnliche Prüfungen).
[0091] Das erfindungsgemäße Verfahren ist in einem - in der Figur 3 dargestellten - Gesamtablaufplan
der Frankiermaschine eingebunden. Nach dem Start 100 erfolgen in einem die Startroutine
und Initialisierung umfassenden Schritt 101 Maßnahmen zur Sicherheitsüberprüfung und
zur Wiederherstellung eines definierten Anfangszustandes.
[0092] Die weiteren Schritte 102 bis 105 erfolgen gegebenenfalls zur Wiederherstellung der
Betriebbereitschaft beispielsweise nach einer Reparatur der Frankiermaschine und sind
in der Figur 7 näher dargestellt.
[0093] In den Schritten 106 bis 109 werden die gelesenen alten Codewörter überprüft und
gegen neue Codewörter ausgetauscht. Anschließend wird das neue Codewort auch in die
NV-RAMs NVM 5a und NVM 5b übertragen und bildet dort ein entsprechendes Codewort (V',
U'). Der Schritt 108 beinhaltet außerdem die Überprüfung des ordnungsgemäßen Einspeicherns
der Codewörter (U',V' bzw. W', T'). Wird bei der Überprüfung des bisher gültigen Codewortes
eine nicht plausible Abweichung festgestellt, wird zu einem Schritt 109 verzweigt,
der Maßnahmen umfaßt, die letztlich weitere Frankierungen mit der Frankiermaschine
verhindern. Beispielsweise kann ein drittes von einer Datenzentrale vorgegebenes Codewort
Y gelöscht werden, dessen Fehlen die Manipulation belegt. Nachfolgend wird auf die
Systemroutine (Punkt s) verzweigt.
[0094] Der in der Figur 3 dargestellte Gesamtablaufplan für die Frankiermaschine weist Schritte
201 bis 206 und 207 bis 208 für eine Überwachung weiterer Kriterien auf. Bei einer
Verletzung beispielsweise eines im Schritt 207 überprüften Sicherheitskriteriums tritt
die Frankiermaschine in einen entsprechenden Kill-Modus ein (Schritt 208), Die Frankiermaschine
tritt aufgrund eines im Schritt 202 überprüften Sicherheitskriteriums in einen Sleeping-(Warn)-Modus
(203-206) ein, wenn nach Verbrauch einer vorbestimmten Stückzahl noch keine Verbindung
zur Datenzentrale aufgenommen wurde.
[0095] Die Frankiermaschine und die Datenzentrale verabreden jeweils eine vorbestimmte Stückzahl
S, d.h. die Menge, die bis zur nächsten Verbindungsaufnahme frankiert werden kann.
Falls eine Kommunikation nicht zustande kommt (Stückzahlkontrolle), verlangsamt die
Frankiermaschine ihre Arbeitsweise (Sleeping Modus-Variante 1), damit bis zu einer
nächsten Stückzahlgrenze ohne Anzeige einer Warnung weiter gearbeitet werden kann.
Jedoch ist es möglich in immer kürzeren Abständen, d.h. nach einer vorbestimmten Anzahl
an Frankierungen, eine erneute Warnung auszugeben, welche so immer dringlicher auf
das Erfordernis einer Kommunikation mit der Datenzentrale aufmerksam macht (Sleeping
Modus-Variante 2). Schließlich ist es möglich (Sleeping Modus-Variante 3), eine ständige
Warnung für ein bevorstehendes Schlafenlegen der Frankierfunktion im Schritt 203 auszugeben,
wenn dieser aufgrund des erfüllten Abfragekriteriums in Schritt 202 ständig durchlaufen
werden muß, bevor Schritt 205 erreicht wird. Es ist weiterhin vorgesehen, daß der
Schritt 203 einen Subschritt zur Fehlerstatistik entsprechend dem Statistik- und Fehlerauswertungsmodus
213 umfaßt. Diese Variante kommt ohne den vorgenannten Schritt 204 aus. Das Frankieren
wird durch den Sleeping Modus nicht beeinträchtigt. Solange die Überprüfung im Schritt
205 ergibt, daß die Stückzahl S noch größer Null ist, wird der Schritt 207 erreicht.
Lediglich die Warnung erscheint immer öfter in der Anzeige. Anderenfalls wird auf
den Schritt 206 verzweigt, wobei beispielsweise ein FLAG gesetzt wird, welches später
im Schritt 301 abgefragt und als Kommunikationsersuchen gewertet wird. Im Schritt
206 kann ebenfalls eine zusätzliche Anzeige erfolgen, daß nun automatisch die Kommunikation
erfolgt und solange die Frankierfunktion ruht, bis die Kommunikation erfolgreich abgeschlossen
ist. Natürlich kann jederzeit der Frankiermaschinenbenutzer schon vorher den Kommunikationsmodus
300 aufrufen. In einem dem Kommunikationsmodus 300 vorausgehenden Schritt 207 werden
weitere für die Manipulationssicherheit relevante Kriterien überprüft. Bei einer festgestellten
Manipulation der Maschine, die in Fälschungsabsicht vorgenommen wurde, wird zum Schritt
208 verzeigt, um ein Frankieren mit der manipulierten Maschine zu verhindern. Die
Maschine würde in einem solchen Fall in den Kill-Mode eintreten. Befindet sich die
Frankiermaschine nur im Sleeping-Mode wird ein Frankieren nicht verhindert.
[0096] Nach der Überprüfung der Kriterien für den Kill-Modus (Schritte 207 bis 208) und
für den Sleeping-Modus (Schritte 202 bis 206) wird ein in der Figur 3 gezeigter Punkt
t erreicht. Im Schritt 209 können Eingaben getätigt werden, bevor der Punkt e erreicht
wird.
[0097] Mit dem Eintritt in den Kommunikationsmodus 300 besteht für den Nutzer die Möglichkeit
eine Kommunikation mit der Datenzentrale herbeizuführen bzw. es wird gegebenenfalls
eine Kommunikation mit der Datenzentrale automatisch - gemäß dem in der Figur 3 gezeigten
Gesamtablaufplan - herbeigeführt.
[0098] Falls die Kommunikation erfolgreich war, wird im Schritt 211 abgefragt, ob Daten
übermittelt wurden. Anschließend wird der Schritt 213 erreicht. Im Schritt 213 werden
die aktuellen Daten ermittelt bzw. geladen, welche im Schritt 201 aufgerufen und anschließend
wieder beim Vergleich im Schritt 202 benötigt werden. Das übermittelte Entscheidungskriterium
ist vorzugsweise die neue Stückzahl S'.
[0099] Der Auswertemodus im Schritt 213 umfaßt erfindungsgemäß auch die Bildung neuer Codewörter
U', V' für die zu schützenden nichtflüchtigen Speicher im Ergebnis eines Nachladevorganges,
der in Kommunikationsverbindung mit einer Datenzentrale vorgenommen wurde. Hierbei
laufen die in der Figur 7 für Codewort Y beispielhaft gezeigten Schritte 106 bis 109
in analoger Weise auch für die Codewörter U', V' ab.
[0100] Wurde zuvor bei der Datenzentrale eine Eingriffsbefugnis für die Frankiermaschine
angefordert, wird ein von der Datenzentrale vorgegebenes neues drittes Codewort Y'
geladen, welches das alte dritte Codewort Y ersetzen kann. Für Reparaturzwecke ist
ein Öffnen der Frankiermaschine und ein Austausch defekter Bauelemente ggf. unvermeidlich.
Deshalb sind vorausgehende Maßnahmen zur Erlangung einer Eingriffsbefugnis erforderlich,
welche den Betrieb der Frankiermaschine nach deren Instandsetzung erlauben. Ein unbefugtes
Öffnen der Frankiermaschine wird dabei ausgeschlossen. Wenn die Frankiermaschine nach
dem Eingriff wieder in Betrieb genommen wird, kann aufgrund der Eingriffsbefugnis
für die Frankiermaschine jenes von einer Datenzentrale vorgegebenes neues dritte Codewort
Y' das alte dritte Codewort Y ersetzen, wie dies beispielsweise in der Anmeldung DE
43 44 476 A1 vorgeschlagen wurde.
[0101] Sollte also das von einer Datenzentrale vorgegebene alte dritte Codewort Y gelöscht
werden, weil die Speicher vollständig ausgetauscht wurden und deren veränderbares
Codewort (V, U) nicht vorhanden ist, bzw. nicht mit dem intern gespeicherten übereinstimmt,
würde die Frankiermaschine weiterbetrieben werden können.
Der Weiterbetrieb der Frankiermaschine ist möglich, weil ein neues drittes Codewort
Y'verwendet wird, wobei - wie in der Figur 7 dargestellt ist - auf den Schritt 108
verzweigt wird, um ein neues veränderbares Codewort (T', W') zu bilden und als Codewort
(V', U') in die NV-RAMs zu laden.
[0102] In einer - gegenüber dem in der Figur 7 gezeigten Flußplan - modifizierten Flußplanvariante
kann anstatt mit einem zu dem veränderbaren Codewort (W, T) identischen Codewort (V,
U ) auch mit dem komplementären Schatten (V'', U'' ) in mindestens einem der Speicherbereiche
bzw. NVRAM's gearbeitet werden. Entsprechend verändern sich auch die Form der Überprüfung
der bisher gültigen Codewörter und deren Ersatz durch neue Codewörter in einem der
Speicherbereiche des nichtflüchtigen Speichers NVM 5a, 5b gemäß der - in den Figuren
3 und 5 gezeigten - Schritte 102 bis 105. Nach einem Verifizieren der gegebenenfalls
in einem Speicherbereich E des NVM 5a, 5b gespeichert vorliegenden neuen Codewörter
V', U' und/oder Y' werden die alten Codewörter gelöscht und die neuen Codewörter entsprechend
abrufbar adressiert. Das kann vorteilhaft analog zum Ablauf - wie er in der Figur
7 in DE 43 44 476 A1 dargestellt ist - erfolgen, indem die neuen Codewörter V', U'
und/oder Y'auf die Adresse der alten Codewörter V, U und/oder Y gesetzt werden.
[0103] Nach einem vorausgehenden Ereignis bzw. einer Programmunterbrechung (Stand by) wird
ein Punkt p erreicht und gemäß den - in der Figur 4 dargestellten - Details des Ablaufplanes
wird über Schritte 102 bis 105 ein erster Sicherungsschritt 106 des in der Figur 7
gezeigten Flußplanes des erfindungsgemäßen Verfahrens erreicht.
[0104] Nur bei einer Inbetriebnahme oder nach Spannungsausfall wird nach einem Initialisieren
in einem dem vorgenannten Punkt p vorgelagerten Schritt 1050 zuerst das aktuelle Programmodul
PM entsprechend der Modulkennung aufgerufen, dessen Abschnitte anschließend weiter
bearbeitet werden sollen. Der in der Figur 3 gezeigte Schritt 101 umfaßt mehrere Subschritte,
welche nachfolgend anhand der Figur 4 näher erläutert werden.
[0105] Zunächst laufen im Schritt 1010 übliche Hardware- und Anzeige-Initialisierungsroutinen
ab, bevor ein Schritt 1011 zum Timer- und Interrupt-Start erreicht wird. Das interne
Programm beginnt dann mit Startsicherheitsüberprüfungen. In vorteilhafter Weise kann
hier im Schritt 1020 bereits geprüft werden, ob ein Codewort oder Speicherinhalt gültig
ist. Anschließend wird bei Gültigkeit ein Schritt 1040 zur automatischen Eingabe gespeicherter
Daten mit Druckdatenaufbereitung und Einbettung der Bilddaten erreicht.
[0106] Nach dem Aufruf des Merkers oder Zeigers im Schritt 1051 wird in einem weiteren Schritt
1052 getestet, ob der Programmodul weiterabgearbeitet werden muß. Ist das nicht der
Fall wird im Schritt 1054 der nächste Programmodul PM(+1) aufgerufen. Anderenfalls
wird in einem Schritt 1053 überprüft, ob Programmabschnitte eines vorhergehenden Programmoduls
PM(-1) zuende abgearbeitet werden müssen und zu einem Schritt 1056 verzweigt oder
zu einem Schritt 1055 verzweigt, wenn ein Programmabschnitt des aktuellen Programmoduls
PM weiter abgearbeitet werden muß. Nach Feststellung des aktuellen Programmoduls gemäß
den Schritten 1054, 1055 oder 1056 wird auf den Punkt p verzweigt.
[0107] Für eine Abarbeitung kritischer und unkritischer Programmabschnitte innerhalb dieses
Programmoduls werden Merker, beispielsweise eine Phasenkennung gesetzt, wie das aus
DE 42 17 830 A1 bekannt ist, oder Zeiger gestellt, welche nach Spannungsausfall und
Wiedereinschalten eine Rekonstruktion definierter Zustände für die weitere Programmabarbeitung
ermöglicht.
[0108] Gemäß der Figur 3 wird nach Ausführung der Schritte 102 bis 105 und 106 bis 109 der
Punkt s und damit die Systemroutine 200 erreicht. Außerdem wird der Punkt s nach Ausführung
der Schritte für einen Testmodus 216, für einen Anzeigemodus 215 und für einen Frankiermodus
400 erreicht.
[0109] Die Erläuterung der Abläufe nach dem - in der Figur 5 gezeigten - Frankiermodus 400
erfolgt in Verbindung mit dem - in der Figur 1a dargestellten - Blockschaltbild und
in dem - in der Figur 3 dargestellten - Gesamtablaufplan der elektronischen Frankiermaschine.
[0110] Die Erfindung geht davon aus, daß nach dem Einschalten automatisch der Postwert im
Wertabdruck entsprechend der letzten Eingabe vor dem Ausschalten der Frankiermaschine
und das Datum im Tagesstempel entsprechend dem aktuellem Datum vorgegeben werden,
daß für den Abdruck die variablen Daten in die festen Daten für den Rahmen und für
alle unverändert bleibenden zugehörigen Daten elektronisch eingebettet werden (Fig.4,
Schritt 1040).
[0111] Außerdem läuft die Zeit im batteriegestützten Uhren/Datums-Baustein 8 ständig auch
bei ausgeschalteter Frankiermaschine weiter und wird ständig aktuell mindestens als
Datum gespeichert und im Schritt 1040 der Figur 4 in der Initialisierungsroutine 101
eingebettet.
[0112] Wird also nach dem Einschalten der Frankiermaschine, nach der durchgeführten Systemroutine
200 und während des Betriebsmodus der Schritt 401 im Frankiermodus 400 erreicht, kann
auch ohne Eingabe auf bereits gespeicherte Daten zurückgegriffen werden. Diese Einstellung
betrifft insbesondere die letzte Einstellung der Frankiermaschine hinsichtlich des
Portowertes, welche im Schritt 209 angezeigt wird, bevor ggf. eine erneute Eingabe,
Anzeige und Druckdatenaufbereitung erfolgt. Hierbei werden die aktuellen variablen
Pixelbilddaten (Datum und Portowert) in die festen Rahmenpixelbilddaten eingebettet.
Anschließend erfolgt im Schritt 401 eine Abfrage der Eingabemittel auf eventuelle
weitere Eingaben. Liegen weitere Eingaben vor wird ein Schleifenzähler im Schritt
403 zurückgesetzt und zum Punkt t (Fig. 3) zurückverzweigt.
[0113] Die Eingabedaten, die mit einer Tastatur 2 oder aber über eine an die Ein/Ausgabeeinrichtung
4 angeschlossene, den Portowert errechnende, elektronische Waage 22 eingegeben werden,
werden automatisch im Speicherbereich D des nichtflüchtigen Arbeitsspeichers NVM 5
gespeichert. Außerdem sind auch Datensätze der Subspeicherbereiche, zum Beispiel B
j, C usw., nichtflüchtig gespeichert. Damit ist gesichert, daß die letzten Eingabegrößen
auch beim Ausschalten der Frankiermaschine erhalten bleiben, so daß nach dem Einschalten
automatisch der Portowert im Wertabdruck entsprechend der letzten Eingabe vor dem
Ausschalten der Frankiermaschine und das Datum im Tagesstempel entsprechend dem aktuellem
Datum vorgegeben wird. Im Schritt 209 wird die eventuelle Eingabe neuer Werte abgefragt.
Wenn beispielsweise kein neuer Portowert eingegeben wurde, dann wird auf den im Speicherbereich
gespeichert vorliegenden bisherigen Portowert zurückgegriffen und der Punkt e (Fig.3)
erreicht, um weitere Eingaben abzufragen, bevor der Frankiermodus 400 (Fig.5) erreicht
wird.
[0114] Bei einer im Schritt 401 festgestellten erneuten Eingabeanforderung wird über den
Schritt 403 wieder auf den Schritt 209 zurückverzweigt. Anderenfalls wird auf den
Schritt 402 verzweigt, um den Schleifenzähler zu inkrementieren. Über den Schritt
404, in welchen die durchlaufenen Schleifenanzahl überprüft wird, wird der Schritt
405 erreicht, um die Druckausgabeanforderung abzuwarten. Durch einen Briefsensor wird
ein Brief detektiert, welcher frankiert werden soll. Dadurch wird ein Signal für die
Druckausgabeanforderung generiert.
[0115] Im Schritt 405 wird die Druckausgabeanforderung abgewartet, um dann über die Schritte
407, 409 und 410 zur Abrechnungs- und Druckroutine im Schritt 406 zu verzweigen. Liegt
keine Druckausgabeanforderung (Schritt 405) vor, wird - nach dem in der Figur 3 gezeigten
Gesamtablaufplan - zum Schritt 209 (Punkt t) und gegebenenfalls, wenn kein Kommunikationsersuchen
vorliegt über die Schritte 211, 212 und 214 zum Schritt 401 des Frankiermodus 400
zurückverzweigt.
[0116] Wenn nach der - in der Figur 5 dargestellten - Weise nunmehr zum Punkt t zurückverzweigt
und nach Schritt 209 der Schritt 301 erreicht wird, kann jederzeit durch manuelle
Eingabe ein Kommunikationsersuchen gestellt oder eine andere Eingabe gemäß den Schritten
Testanforderung 212 und Registercheck 214 getätigt werden. Wieder wird Schritt 401
erreicht. Wenn keine Eingabeanforderung erkannt wird, werden weitere Schritte 402
und 404 - wie in der Figur 5 gezeigt - durchlaufen. Ein weiteres Abfragekriterium
kann in einem Schritt 404 abgefragt werden, um im Schritt 408 ein Standby-Flag zu
setzen, wenn nach einer durchlaufenen Schleifenanzahl weder eine Eingabe getätigt
wurde, noch keine Druck-ausgabeanforderung vorliegt.
[0117] Der Standby-Modus wird in einer anderen Variante auch erreicht, wenn ein ansich bekannter
- in der Figur 1a dargestellter - Briefsensor 16 in vorbestimmter Zeit keinen nächsten
Briefumschlag ermittelt, welcher frankiert werden soll. Der - in der Figur 4 gezeigte
- Schritt 404 im Frankiermodus 400 umfaßt entweder eine Abfrage nach einem Zeitablauf
oder nach der Anzahl an Durchläufen durch die Programmschleife, welche letztendlich
wieder auf die Eingaberoutine gemäß Schritt 401 führt. Wird das Abfragekriterium erfüllt,
wird im Schritt 408 ein Standby-Flag gesetzt und direkt auf den Punkt p oder alternativ
dazu auf den Punkt s zur Systemroutine 200 zurückverzweigt, ohne daß die Abrechnungs-
und Druckroutine im Schritt 406 durchlaufen wird. Bei einer Verzweigung auf den Punkt
p kann ein zusätzlicher Wechsel der Codewörter während des Standby-Modus erzielt werden.
Bei einer - in der Figur 5 nicht dargestellte - Variante mit einer Verzweigung auf
den Punkt s kann dagegen nur ein Wechsel der Codewörter nur nach dem Einschalten erzielt
werden.
[0118] Das Standby-Flag wird während der Systemroutine 200 im Schritt 211 abgefragt und
gegebenenfalls nach der Checksummenprüfung im Schritt 213 zurückgesetzt, falls kein
Manipulationsversuch erkannt wird.
[0119] Das Abfragekriterium im Schritt 211 wird dazu um die Frage erweitert, ob das Standby-Flag
gesetzt ist, d.h. ob der Standby Modus erreicht ist. In diesem Fall wird einmal auf
den Schritt 213 verzweigt. Eine bevorzugte Variante mit Manipulationsüberwachung während
des Standby-Modus besteht darin, ein Codewort Y in der bereits beschriebenen Weise
zu löschen, wenn ein Manipulationsversuch im Standby-Modus auf vorgenannte Weise im
Schritt 213 festgestellt worden ist. Das Fehlen des Codewortes Y wird im Schritt 207
erkannt und dann auf den Schritt 208 verzweigt. Der Vorteil dieses Verfahrens in Verbindung
mit dem ersten Modus besteht darin, daß der Manipulationsversuch statistisch im Schritt
213 erfaßt wird.
[0120] Somit kann das Standby-Flag im auf den Kommunikationsmodus 300 folgenden Schritt
211 abgefragt werden. Damit wird nicht auf den Frankiermodus 400 verzweigt, bevor
nicht die Checksummenprüfung die Vollzähligkeit und Gültigkeit aller oder mindestens
einiger ausgewählter sicherheitsrelevanter Programme ergeben hat.
[0121] Falls eine Druckausgabeanforderung im Schritt 405 erkannt wird, werden weitere Abfragen
in den nachfolgenden Schritten 409 und 410 sowie im Schritt 406 getätigt. Beispielsweise
kann im Schritt 407 eine Überprüfung der Registerwerte und zusätzlich des Codewortes
Y vorgenommen werden und im Schritt 409 wird die Gültigkeit und zusätzlich das Vorhandensein
eines im Schritt 208 (Fig.3) gesetzten Kill-Mode-Flag's festgestellt, um auf den Schritt
410 zu verzweigen. Anderenfalls wird auf den Schritt 413 zur Statistik- und/oder Fehlerauswertung
und Schritt 415 zur Anzeige des Fehlers verzweigt, wenn die Registerwerte nicht authentisch
waren.
[0122] Im Schritt 410 wird das Erreichen eines weiteren Stückzahlkriterium abgefragt. War
die zum Frankieren vorbestimmte Stückzahl bei der vorhergehenden Frankierung verbraucht,
d.h. Stückzahl gleich Null, wird automatisch zum Punkt e verzweigt, um in den Kommunikationsmodus
300 einzutreten, damit von der Datenzentrale eine neue vorbestimmte Stückzahl S wieder
kreditiert wird. War jedoch die vorbestimmte Stückzahl noch nicht verbraucht, wird
vom Schritt 410 über Schritte 4060, 4061 bzw. 4062 und 4063 auf die Abrechnungs- und
Druckroutine im Schritt 406 verzweigt.
[0123] Im Schritt 4060 wird eine Pseudozufallsfolge während des Betriebes der Frankiermaschine
vor jedem Abdruck und damit vor jeder neu zu registrierenden Stückzahl an Frankieraufdrucken
auf Basis der vorhergehenden Stückzahl und gegebenenfalls der aktuellen vom Uhren/Datumsbaustein
gelieferten Zeit eine Zufallszahl erzeugt. Dafür ist ein Pseudozufallsgenerator mit
entsprechender - nicht dargestellter - Hardware oder mit einem im internen OPT-ROM
des OTP-Prozessors gespeicherten Programm vorgesehen. Im internen OPT-ROM des OTP-Prozessors
liegt mindestens eines aus der Vielzahl von möglichen erzeugbaren Zufallswörtern gespeichert
vor. Nach einem Vergleich im Schritt 4061 und einer anschließenden Authentizitätsprüfung
des MACs im Schritt 4062 innerhalb des OTP-Prozessors wird bei Übereinstimmung eine
redundante Speicherung des neuen Codewortes einmal in die lösbaren nichtflüchtigen
Speicher (NVRAMs) und erfindungsgemäß auch in den vorgenannten unlösbar fest auf die
Platine aufgeklebten nichtflüchtigen Speicher (E
2PROM) 20 oder im internen OTP-NVM 6d bzw. im externen Speicher 25 vorgenommen. In
- nicht näher dargestellten - Subschritten zum Schritt 4061 sind außerdem eine Vielzahl
gespeicherter weiterer Bedingungen abfragbar, bei deren Eintreffen im Ergebnis die
Abspeicherung eines neuen Codewortes in einem nichtflüchtigen Speicher 20, 25 bzw.
im internen OTP-Speicher 6d zur Folge hat. Dabei ist ein E
2PROM einsetzbar. Die zulässige Anzahl an Schreib/Lese-Zyklen für einen E
2PROM wird nicht überschritten, wenn beispielsweise durchschnittlich nur jede vierunzwanzigste
Frankierung die nichtflüchtigen Speicher (E
2PROM und NVRAMs) redundant mit einem neuen Codewort beschrieben werden.
[0124] Wird ein Codewort zur Verschlüsselung von Abrechnungsdaten eingesetzt, entsteht ein
sogenannter MAC. Zur Speicherung von Abrechnungsdaten mit angehängten MAC in den zu
schützenden nichtflüchtigen Speichern 5a und 5b bei jeder Abrechnung existiert parallel
in unregelmäßigen Abständen eine Speicherung von Abrechnungsdaten mit angehängten
MAC in dem jeweiligen als zweite Sicherungsmitteln gegen unbefugte Manipulation dienenden
nichtflüchtigen Speicher, vorzugsweise einem E
2PROM 20 oder 25. Vor dem nächsten Abrechnen werden im Schritt 406 gewöhnlich die Abrechnungsdaten
in den zu schützenden nichtflüchtigen Speichern 5a und 5b anhand des angehängten MAC
's überprüft. Aber im Falle eines nächsten im Schritt 4061 eintreffenden Ereignis wird
in - nicht näher dargestellten - Subschritten des Schrittes 4062 der Abrechnungsdatensatz
in den OTP 6 übertragen, um ihn anhand desjenigen MAC
's oder Codewortes zu überprüfen, welches im - als zweites Sicherungsmittel gegen unbefugte
Manipulation dienenden - nichtflüchtigen Speicher gespeichert vorliegt. Der Abrechnungsdatensatz
wird mittels des Codewortes zu einem MAC verschlüsselt. Der so gebildete MAC wird
mit dem an den Abrechnungsdatensatz angehängten MAC im zu schützenden nichtflüchtigen
Speicher 5a und 5b verglichen. Der Vergleich kann auch im kreuzweisen Vergleich erfolgen.
Bei authentischen MAC
'Is wird auf den Schritt 4063 verzweigt.
[0125] Es ist vorgesehen, im Schritt 4063 sowohl die Bildung des neuen Codewortes als auch
die Speicherung von Abrechnungsdaten zumindest vorzubereiten, bevor auf die Abrechnungs-
und Druckroutine im Schritt 406 verzweigt wird. Vom Schritt 4062 wird bei einem festgestellen
Fehler bzw. bei Nichtübereinstimmung der MACs auf den Schritt 413 zur Statistik- und
Fehlerauswertung zurückverzweigt.
[0126] Anderenfalls, wenn im Schritt 4060 eine nicht passende Pseudozufallszahl Z
ist während des Betriebes der Frankiermaschine vor jedem Abdruck erzeugt wird, d.h. eine
Pseudozufallszahl Z
ist, welche beim Vergleich im Schritt 4061 eine Nichtübereinstimmung mit der mindestens
einen im internen OPT-ROM des OTP-Prozessors gespeichert vorliegenden Zufallszahl
Z
soll ergibt, dann wird ohne ein neues Codewort zu bilden auf die Abrechnungs- und Druckroutine
im Schritt 406 verzweigt. Die MAC-Bildung erfolgt dann mittels des bisher gültigen
Codewortes.
[0127] Die Erfindung vermeidet, daß wenn die Postregister samt Inhalt unbefugt entfernt
werden, um beliebig viele Kopien anzufertigen, daß dann ohne Abrechnung bei der Datenzentrale
bzw. Bezahlung bei der Post Postgüter frankiert werden können, wenn geklonte Speicherinhalte
eingesetzt werden. Eine Verkapselung der NVRAM-Bauelemente für die Postregister mit
einem Sicherheitsgehäuse ist nicht erforderlich. Wenn ein potentieller Manipulator,
beispielsweise von der 1. bis 23. Frankierung mit geklonten Speichern (batteriegestützten
CMOS-RAMs) arbeitet, ist dies mittels einer Selbstüberprüfung durch die Frankiermaschine
automatisch nachträglich feststellbar, wenn dazwischen ein Codewortwechsel stattfand.
[0128] Es ist vorgesehen, daß die in den Postregister - d.h. insbesondere in den batteriegestützten
CMOS-NVRAM's - enthaltenen Daten nach einer Zufalls- bzw. Pseudozufallsfolge ermittelten
Stückzahl an Frankierungen auch im E
2PROM 20, 25 bzw. im internen OTP-Speicher 6d nichtflüchtig gespeichert werden.
[0129] Ein potentieller Verletzer kann nicht voraussehen, wann dies geschieht. Dabei ergibt
sich ein durchschnittliches Abspeichern von beispielsweise 24 Frankierungen, so daß
die Lebensdauer der E
2PROMs nicht gegenüber der bisherigen Lösung verringert wird.
[0130] Es wird von einem Code ausgegangen, der vor jeder (im Ý ca. nach der 24.Frankierung
erfolgenden) Abspeicherung im E
2PROM vom Prozessor überprüft wird (im Schritt 4062, Fig.5) und welcher für jede neue
Abspeicherung im E
2PROM gewechselt wird (im Schritt 4063, Fig.5). Dieser Prüfcode wird in einem k-ten
Register der NVRAMs gespeichert und kann zugleich eine Prüfsumme, beispielsweise eine
MAC-Absicherung für die Registerwerte bilden. Die Prüfsumme bzw. MAC-Absicherung für
die Registerwerte wird mittels wechselnder und für NVRAM und E
2PROM unterschiedlicher Algorithmen und Schlüssel gebildet, welche in einem OTP-ROM
eines OTP-Prozessors gespeichert vorliegen. Damit ist ein Kopieren des E
2PROM-Speicherinhalt auf den NVRAM sinnlos, wenn verschiedenen Prüfcode verschiedene
Speicher mit zusammengehörigen bzw. aufeinander bezogenen Speicherinhalten absichern.
[0131] In einer einfachen Variante, wird zur Überprüfung ein verschlüsselter Prüfcode aus
den Registerwerten für jede Stückzahl

gebildet und mit dem im E
2PROM gespeicherten MAC verglichen. Bei Gleichheit, gibt es eine Stückzahl

, bei der im NVRAM und im E
2PROM Daten entsprechend gespeichert wurden. Die einzelnen Registerwerte bilden für
eine Anzahl

Frankierungen eine Tabelle, welche eine Zeile für die Stückzahl m einschließt, bei
welcher der Prüfcode im E
2PROM als MAC gespeichert wurde. Somit ergibt sich eine historische Abfolge von Daten
für eine begrenzte Anzahl z. Für eine redundante Abspeicherung der Registerwerte kann
jeder einzelne Registerwert verschlüsselt im E
2PROM gespeichert werden. Ein Vorteil der Erfindung ist aber, daß dies nicht bei jeder
Abrechnung erfolgen muß. Ebensowenig muß jeder einzelne Registerwert im E
2PROM redundant gespeichert werden. Ein potentieller Manipulator vermag die Zugehörigkeit
der Daten zu einer Zeile der Tabelle selbst nicht wiederherzustellen. Welche Schlüssel
und Algorithmen wo eingesetzt werden, ist im OTP-ROM gelistet.
[0132] Ein Zeiger, dessen Daten verschlüsselt oder MAC-gesichert im E
2PROM gespeichert werden, weist auf entsprechende Stellen in der Liste im OTP-ROM (siehe
Fig.8). Hierzu kann ein Zähler de- oder inkrementiert werden, um den Zeiger zu bilden.
[0133] Wenn eine Pseudozufallszahl (im Schritt 4061, Fig.5) erreicht ist und die Überprüfung
der MACs vom NVRAM und vom E
2PROM eine Authentizität der Daten ergab, wird in einer bevorzugten Variante, eine
Abrechnung vorgenommen und eine CRC-Prüfsumme über alle Registerwerte zum Zeitpunkt
unmittelbar vor einer Frankierung bzw. vor dem Schritt 406 für die übliche Abrechnungs-und
Druckroutine gebildet und unterschiedlich verschlüsselt zum NVRAM im E
2PROM gespeichert (im Schritt 4063, Fig.5). Wird dann zum Schritt 406, (Fig.5) verzweigt,
braucht nur noch die Druckroutine ausgeführt werden, wie sie beispielsweise im EP
576 113 A2, im Schritt 49 der Fig.6 ausgeführt wird. Anderenfalls wird vom Schritt
4061 auf die normale Abrechnungs- und Druckroutine (im Schritt 406, Fig.5) direkt
verzweigt und die Abrechnung im Schritt 406 ausgeführt, bevor ein Drucken erfolgt.
[0134] Die erfindungsgemäße Lösung basiert auf einer Ausbausicherheit von Prozessor mit
internen oder externen E
2PROM mit einer unlösbaren E
2PROM-Befestigung auf der Prozessor-Leiterplatte. Vor jeder neu zu registrierenden
Stückzahl an Frankieraufdrucken wird auf Basis der vorhergehenden Stückzahl und gegebenenfalls
der aktuellen vom Uhren/Datumsbaustein gelieferten Zeit eine Zufallszahl erzeugt.
Solche elektronischen Zähler können auch mittels des batteriegestützten Uhren/Datums-Bausteins
8 realisiert werden. Der Uhren/Datums-Baustein kann dabei nicht auf ein zurückliegendes
Datum vor dem aktuellen Datum eingestellt werden. Die laufende Zeit wird gemessen
und in einen Zufallsalgorithmus eingegeben, um eine Zahl zu bilden. Wird eine vorbestimmte
Zahl erreicht, wird bei der nächstfolgenden Frankierung eine redundante Abspeicherung
im E
2PROM und NVRAM in o.g. Weise entsprechend gesichert vorgenommen.
[0135] In einer anderen Variante wird ein Pseudozufalls-Algorithmus mittels eines Bitmustergenerators
hardwaremäßig generiert. Hierbei handelt es sich um ein n-fach-Schieberegister mit
spezieller Rückkopplung, welches vorzugsweise Bestandteil eines ASICs sein kann.
[0136] In dem vorgenannten ASIC können E
2PROM und Prozessor mindestens mit ihren sicherheitsrelevanten Teilen realisiert sein.
[0137] Durch den Pseudozufalls-Algorithmus ergibt sich ein durchschnittlicher Wert von ca.
24 Frankierungen, bei welchen redundant abgespeichert wird. Ein E
2PROM (ca.10.000 Zyklen) könnte somit 24 * 10.000 = 240.000 Frankierungen durchhalten.
[0138] Vorteilhaft wird von einem nichtflüchtigen Speicher im OTP bzw. (ausbau)sicher zum
OTP angeordneten E
2PROM ausgegangen, um die Manipulationssicherheit gegenüber geklonten Speicherinhalten
zu gewährleisten. Dabei wird nicht nur von bestimmten Zeitpunkten abhängig, wie beim
Einschalten und/oder Übergang in den Standby-Betrieb, eine Speicherung vorgenommen,
um die Manipulationssicherheit gegenüber geklonten Speicherinhalten zu gewährleisten
(Verzweigung auf Punkt p, Fig.3), sondern der vorgenannte zeitpunkt ist nunmehr zufällig
gewährt. Der Zeitpunkt des Abspeicherns kann somit von einem potentiellen Fälscher
nicht mehr logisch abgeleitet bzw. vorausgesehen, sondern nur noch nachträglich in
Bezug zur Stückzahl ermittelt werden.
[0139] Im Schritt 406 werden die in bekannter Weise zur Abrechnung eingezogenen Registerdaten
ggf. inhaltlich überprüft und entsprechend geändert. Beispielsweise wird bei einem
gültigen Frankieren mit einem Wert > 0 der Stückzähler R4 inkrementiert. Der Registerwert
R1 wird verringert und der Registerwert R2 entsprechend erhöht, so daß der Registerwert
R3 konstant bleibt. Danach wird eine Prüfsumme (beispielsweise CRC) über jeden der
Registerwerte gebildet und im NVM 5a und/oder NVM 5b zusammen mit den zugehörigen
Registerwerten gespeichert. Eine solche Absicherung, die über die einzelnen Registerdaten
gelegt wurde, um eine Manipulation Verringern von R2 (Verbrauchssumme) und Erhöhung
von R1 (Restwert) bei gleichbleibenden R3 während des laufenden Betriebes zu verhindern,
wurde bereits in der Anmeldung DE 43 44 476 A1 vorgeschlagen. Der MAC (Message Authentification
Code) ist eine verschlüsselte Checksumme, welche an den Registerwert bei Abrechnung
im Schritt 406 (Fig.4) angehängt wird. Geeignet ist beispielsweise eine DES-Verschlüsselung.
Im Frankiermodus 400 (Fig.4) kann bei der Abrechnung zusätzlich noch der Dateninhalt
überprüft werden, ob die Registerwertsumme R3 gleich der Summe aus Ascending-Register
R1 (Restwert) und Descending-Register R2 ist. Aufgrund der Absicherung mit den verschlüsselten
Prüfsummen kann aber auf eine inhaltliche Überprüfung völlig verzichtet werden, zumal
eine solche von der Datenzentrale bei jeder Kommunikation mit der Frankiermaschine
durchgeführt wird. Sind alle Spalten eines Druckbildes gedruckt worden, wird wieder
zur Systemroutine 200 zurückverzweigt.
[0140] Zusätzlich zur vorgenannten Bildung von neuen Codewörtern mittels Pseudozufallsfolge
werden auch bei einem anderen letzten Betriebszustand der Frankiermaschine die nichtflüchtigen
Speicher (E
2PROM und NVRAMs) redundant mit einem neuen Codewort beschrieben. Ein solche andere
letzter Betriebszustand ist vorbestimmten Zuständen zugeordnet ist, wie vorstehen
beschrieben wurde.
[0141] Die Anzahl von gedruckten Briefen, und die aktuellen Werte in den Postregistern werden
entsprechend der eingegebenen Kostenstelle im nichtflüchtigen Speicher 5a der Frankiermaschine
während der Abrechnungsroutine 406 registriert und stehen für eine spätere Auswertung
zur Verfügung. Ein spezieller Sleeping-Mode-Zähler wird während der unmittelbar vor
dem Druck erfolgenden Abrechnungsroutine veranlaßt, einen Zählschritt weiterzuzählen.
Die Registerwerte können bei Bedarf im Anzeigemodus 215 (Fig.3) abgefragt werden.
Von diesem wird anschließend zur Systemroutine 200 zurückverzweigt.
[0142] Für die frankiermaschineninterne Sicherheitsschaltung eignet sich der TMS370 C010
aus der Prozessor-Familie von Texas Instrument. Dieser weist ein internes E
2PROM von 256 Bytes als NVM auf.
[0143] In einer Variante enthalten der nichtflüchtige interne Prozessorspeicher und der
zu schützende nichtflüchtige Postregisterspeicher (Bat-NV-CMOS-RAM's) nicht das identische,
sondern einer von beiden das komplementäre Codewort. Das prozessorinterne Codewort
ist nicht von außen abfragbar.
[0144] In einer anderen Variante sind verschiedene Codeworter einzelnen Speichern zugeordnet,
wobei die verschiedenen Codewörter jedoch einen gemeinsamen Stamm haben, aus dem sie
gebildet wurden und wobei der gemeinsame Stamm vom Prozessor rekonstruiert wird, um
die Gültigkeit der einzelnen Codewörter zu überprüfen.
[0145] Die Routine zum Codewörter-Vergleich bzw. zur Gültigkeitsprüfung wird im Prozessor
jeweils nach dem Einschalten bzw. bei Programmfortsetzung abgefragt. Wird beim Vergleich
eine Unstimmigkeit festgestellt, wird die Frankiermaschine für den weiteren Betrieb
blockiert.
[0146] Es ist weiterhin vorgesehen, daß die Anzahl der Bildung von neuen Codewörtern ab
einem vorbestimmten Zeitpunkt gezählt und nichtflüchtig prozessorintern gespeichert
wird. Zum Zeitpunkt einer Kommunikation mit der Datenzentrale wird die vorgenannte
Anzahl an in der Vergangenheit gebildeten Codewörtern und das aktuell gültige Codewort
abgefragt. Das erlaubt bei einer unabsichtlichen Blockierung der Frankiermaschine
aufgrund ungültiger Codewörter dann bei Bedarf die nachträgliche Wiederherstellung
des alten Zustandes durch entsprechende Datenübermittlung seitens der Datenzentrale
an die Frankiermaschine.
[0147] Es ist vorgesehen, daß ein dem Codewort entsprechender letzter Betriebszustand der
Frankiermaschine einen Zustand im Ergebnis der Herstellung oder einer Nachladung der
Frankiermaschine oder einen Zustand vor dem Ausschalten der Frankiermaschine oder
einen Zustand vor einem Spannungsausfall oder vor einer Stillstandszeit (Stand by)
bzw. vor Programmunterbrechung einschließt. Ebenfalls können bei der Überwachung weiterer
Kriterien solche letzten Betriebszustände eintreten, indem die Frankiermaschine zu
einem entsprechenden Modus übergeht. Solche Schritte 202 bzw. 207 für eine Überwachung
weiterer Kriterien weist der in der Figur 3 dargestellte Gesamtablaufplan für die
Frankiermaschine auf. Bei einer Verletzung eines der Sicherheitskriterien tritt die
Frankiermaschine in einen entsprechenden Modus ein und führt zusätzlich in entsprechenden
Subroutinen die - in der Figur 7 dargestellten - erfindungsgemäßen Schritte 106 bis
109 aus. Tritt die Frankiermaschine beispielsweise in einen Sleeping-Modus ein, wenn
nach Verbrauch einer vorbestimmten Stückzahl noch keine Verbindung zur Datenzentrale
aufgenommen wurde, und wird keine manuelle Auslösung einer Kommunikation durch den
Nutzer vorgenommen, erfolgt bei Erschöpfung des Stückzahlkredites eine automatische
Kommunikation mit der Datenzentrale und eine Durchführung des Verfahrens zur Erhöhung
der Manipulationssicherheit von kritischen Registerdaten.
[0148] Die Erfindung ist nicht auf die vorliegenden Ausführungsform beschränkt, da offensichtlich
weitere andere Anordnungen bzw. Ausführungen des Verfahrens für andere informationsverarbeitende
Einrichtungen entwickelt bzw. eingesetzt werden können, die vom gleichen Grundgedanken
der Erfindung ausgehend, von den anliegenden Ansprüchen umfaßt werden.
1. Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten, insbesondere
von Registerdaten in Frankiermaschinen,
gekennzeichnet, durch die Schritte:
- Laden einer Zahl oder eines Zeigers, welcher einem Codewortes zugeordnet ist, in
einen ersten nichtflüchtigen Speicher (20 bzw 6d), der gegen Herausnahme und Manipulation
abgesichert ist,
- Laden eines Codewortes in zweite die Postregisterdaten enthaltenden nichtflüchtigen
Speicher (NVM 5a, 5b), wobei das Codewort dem letzten Betriebszustand der Frankiermaschine
zugeordnet ist bzw. vom Prozessor (6, 6a) entsprechend ausgewählt worden ist,
- Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der
Frankiermaschine und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort, wenn der Prozessor,
nach Gültigkeitsprüfung mit Bezug auf das in seinem internen Prozessorspeicher (NVM
6c) aus einer Liste mit gespeicherten Codewörten entsprechend der Zahl bzw. der Zeigerstellung
ausgewählte Codewort, die Gültigkeit des alten Codewortes anerkennt oder
- Blockierung der Frankiermaschine nach dem Zeitpunkt des Einschaltens der Frankiermaschine,
wenn der Prozessor nach Gültigkeitsprüfung mit Bezug auf das ausgewählte in vorgenannter
Liste gespeicherte Codewort die Gültigkeit des alten Codewortes aberkennt.
2. Verfahren, nach Anspruch 1, dadurch gekennzeichnet, daß ein dem Codewort entsprechender letzter Betriebszustand der Frankiermaschine
einen Zustand im Ergebnis der Herstellung oder einer Nachladung der Frankiermaschine
oder im Ergebnis der Bildung einer Pseudozufallsfolge oder einen Zustand vor dem Ausschalten
der Frankiermaschine oder einen Zustand vor einem Spannungsausfall oder vor einer
Stillstandszeit (Stand by) bzw. vor Programmunterbrechung einschließt und daß die
Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der Frankiermaschine
und nachfolgend mindestens aufgrund einer Pseudozufallsfolge in Abständen durchgeführt
wird.
3. Verfahren, nach den Ansprüchen 1 bis 2, dadurch gekennzeichnet, daß ein Laden eines neuen Codewortes in zu schützende nichtflüchtige Speicher (NVM
5a, 5b), erfolgt, wobei das Programm für die Berechnung der Zeigerstellung bzw. Bildung
des jeweils neuen Codewortes im Programmspeicher (PSP 11) gespeichert ist.
4. Verfahren, nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der Zeiger außerhalb des jeweils zu überprüfenden lösbar eingebauten nichtflüchtigen
Speichers (NVM 5a, 5b) in dem ständig eingebauten und/oder während der Laufzeit der
Frankiermaschine mit ihrem Prozessorsystem in Kommunikationsverbindung stehenden und
gegen Herausnahme und Manipulation während der Laufzeit der Frankiermaschine abgesicherten
ersten Sicherheitsspeicher nichtflüchtig gespeichert wird und daß die Auswahl des
neuen Codewortes vom vorherigen abhängig ist.
5. Verfahren, nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die Nachladung mit einem monetären Guthaben, Stückzahl S und/oder anderen Daten
in einem Kommunikationsmodus (300) erfolgt, daß die Anzahl der Bildung von neuen Codewörtern
ab einem vorbestimmten Zeitpunkt gezählt und nichtflüchtig prozessorintern gespeichert
wird und zum Zeitpunkt einer Kommunikation mit der Datenzentrale die vorgenannte Anzahl
an in der Vergangenheit gebildeten Codewörtern und das aktuell gültige Codewort abgefragt
wird, zum Überwinden einer unabsichtlichen Blockierung der Frankiermaschine aufgrund
ungültiger Codewörter bzw. bei Bedarf die nachträgliche Wiederherstellung des alten
Zustandes durch entsprechende Datenübermittlung seitens der Datenzentrale an die Frankiermaschine.
6. Verfahren, nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß eine Überwachung weiterer Kriterien erfolgt und solche vorgenannten letzten
Betriebszustände eintreten, indem die Frankiermaschine zu einem entsprechenden Modus
bei einer Verletzung eines der Sicherheitskriterien übergeht, daß die in einen entsprechenden
Modus eingetretene Frankiermaschine in zusätzlichen entsprechenden Subroutinen die
Schritte (106 bis 109) zur Durchführung des Verfahrens zur Erhöhung der Manipulationssicherheit
von kritischen Registerdaten ausführt.
7. Verfahren, nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß jedem nichtflüchtigem Speicher oder Speicherbereich ein separates Codewort zugeordnet
wird, wobei mindestens eines der vorgenannten separaten Codeworte in einem weiteren
internen Speicher eines Prozessorsystems, einer Chipkarte und/oder eines ähnlichen
Systems nichtflüchtig gespeichert worden ist, welches während der Laufzeit der Frankiermaschine
mit dem Prozessorsystem der Frankiermaschine in Kommunikationsverbindung steht und
gegen Herausnahme und Manipulation während der Laufzeit der Frankiermaschine abgesichert
ist und daß eine Bildung von neuen Codewörtern ab einem vorbestimmten Ereignis und
danach eine Einspeicherung der neuen Codewörter in die zu schützenden nichtflüchtigen
Speicher und in die weiteren nichtflüchtigen Speicher vorgenommen wird.
8. Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten, insbesondere
von Registerdaten in Frankiermaschinen,
gekennzeichnet, durch die Schritte:
- Laden eines Codewortes in einen ersten internen Prozessorspeicher (NVM 6d) zur nichtflüchtigen
Speicherung und in zweite die Postregisterdaten enthaltenen nichtflüchtigen Speicher
(NVM 5a, 5b), wobei das Codewort dem letzten Betriebszustand der Frankiermaschine
entspricht,
- Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der
Frankiermaschine und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort, wenn der Prozessor
nach Gültigkeitsprüfung mit Bezug auf das in seinem ersten nichtflüchtigen internen
Prozessorspeicher (NVM 6d) gespeicherte Codewort die Gültigkeit des alten Codewortes
anerkennt oder
- Blockierung der Frankiermaschine nach dem Zeitpunkt des Einschaltens der Frankiermaschine,
wenn der Prozessor nach Gültigkeitsprüfung mit Bezug auf das in seinem ersten nichtflüchtigen
internen Prozessorspeicher (NVM 6d) gespeicherte Codewort die Gültigkeit des alten
Codewortes aberkennt.
9. Verfahren, nach Anspruch 8, dadurch gekennzeichnet, daß ein dem Codewort entsprechender letzter Betriebszustand der Frankiermaschine
einen Zustand im Ergebnis der Herstellung oder einer Nachladung der Frankiermaschine
oder im Ergebnis der Bildung einer Pseudozufallsfolge oder einen Zustand vor dem Ausschalten
der Frankiermaschine oder einen Zustand vor einem Spannungsausfall oder vor einer
Stillstandszeit (Stand by) bzw. vor Programmunterbrechung einschließt und daß die
Gültigkeitsprüfung des Codewortes mindestens zum Zeitpunkt des Einschaltens der Frankiermaschine
und nachfolgend mindestens aufgrund einer Pseudozufallsfolge in Abständen durchgeführt
wird.
10. Verfahren, nach Anspruch 9, dadurch gekennzeichnet, daß die Nachladung mit einem monetären Guthaben, Stückzahl S und/oder anderen Daten
in einem Kommunikationsmodus (300) erfolgt, daß die Anzahl der Bildung von neuen Codewörtern
ab einem vorbestimmten Zeitpunkt gezählt und nichtflüchtig prozessorintern gespeichert
wird und zum Zeitpunkt einer Kommunikation mit der Datenzentrale die vorgenannte Anzahl
an in der Vergangenheit gebildeten Codewörtern und das aktuell gültige Codewort abgefragt
wird, zum Überwinden einer unabsichtlichen Blockierung der Frankiermaschine aufgrund
ungültiger Codewörter bzw. bei Bedarf die nachträgliche Wiederherstellung des alten
Zustandes durch entsprechende Datenübermittlung seitens der Datenzentrale an die Frankiermaschine.
11. Verfahren, nach Anspruch 9, dadurch gekennzeichnet, daß eine Überwachung weiterer Kriterien erfolgt und solche vorgenannten letzten
Betriebszustände eintreten, indem die Frankiermaschine zu einem entsprechenden Modus
bei einer Verletzung eines der Sicherheitskriterien übergeht, daß die in einen entsprechenden
Modus eingetretene Frankiermaschine in zusätzlichen entsprechenden Subroutinen die
Schritte (106 bis 109) zur Durchführung des Verfahrens zur Erhöhung der Manipulationssicherheit
von kritischen Registerdaten ausführt.
12. Verfahren, nach Anspruch 8,
dadurch gekennzeichnet, Laden eines Codewortes in den ersten internen Prozessorspeicher (NVM 6d) zur nichtflüchtigen
Speicherung und in eine Vielzahl an zweiten die zusichernden Daten enthaltenen nichtflüchtigen
Speichern (NVM 5a, 5b), wobei das alte Codewort dem vorletzten Betriebszustand der
Frankiermaschine entsprechend für die Vielzahl nichtflüchtiger Speicher (NVM 6d, NVM
5a und NVM 5b) im Schritt 107 überprüft wird und vor der entsprechenden Veränderung
von Codewörtern V und U zunächst im Schritt 108 ein neues Codewort W' und dannach
ein Codewort T' für den zweiten prozessorinternen nichtflüchtigen Speicher (NVM 6d)
gebildet wird, nach den Gleichungen:

wobei P1 und P2 verschiedene monoton stetig veränderbare Parameter sind, beispielsweise
die aktuelle Zeit, Anzahl von Programmunterbrechungen bzw. andere Programm-, Zeit-
oder pysikalische Parameter.
13. Verfahren, nach Anspruch 12, dadurch gekennzeichnet, daß vor dem Laden eines neuen Codewortes ein Zählwert inkrementiert und dann das
neue Codewort (W', T', U', V') berechnet wird.
14. Verfahren, nach Anspruch 8,
dadurch gekennzeichnet, daß die Bildung des neuen Codewort vom vorherigen abhängig ist, wobei für einen
ersten und zweiten nichtflüchtige Speicher NVM (6d, 20, 25 und 5a, 5b) nach Uberprüfung
des alten Codewortes im Schritt 107 und vor der entsprechenden Veränderung von Codewötern
V und U zunächst im Schritt 108 ein neues Codewort W' und dannach ein Codewort T'
gebildet wird, nach den Gleichungen:

wobei P1 und P2 gelistete Codewörter sind.
15. Verfahren, nach Anspruch 8, dadurch gekennzeichnet, daß ein Laden eines neuen Codewortes erfolgt, wobei das Programm für die Berechnung
des jeweils neuen Codewortes im Programmspeicher (PSP 11 ) gespeichert ist.
16. Verfahren, nach Anspruch 15, dadurch gekennzeichnet, daß als Programmspeicher ein ROM bzw. EPROM verwendet wird.
17. Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten, dadurch gekennzeichnet, daß jedem nichtflüchtigem Speicher oder Speicherbereich ein separates Codewort zugeordnet
wird, wobei (vorher oder gleichzeitig) mindestens eines der vorgenannten separaten
Codeworte im internem Prozessorspeicher nichtflüchtig gespeichert worden ist, daß
ein Wechsel des Codewortes ab einem vorbestimmten Ereignis und danach eine Einspeicherung
der neuen Codewörter in die zu schützenden nichtflüchtigen Speicher vorgenommen wird,
wobei der Wechsel vorgenommen wird, nach dem die Gültigkeit des Codewortes festgestellt
worden ist, oder anderenfalls bei Ungültigkeit die Maschine gesperrt wird.
18. Verfahren, nach Anspruch 17, dadurch gekennzeichnet, daß das Codewort in zeitlichen oder stückzahlmäßigen Abständen gewechselt wird und
daß die Bildung des neuen Codewortes vom vorherigen abhängig ist.
19. Verfahren, nach Anspruch 17, dadurch gekennzeichnet, daß in einem Schritt (108) zur Bildung eines neuen veränderbaren ersten Codewortes
(T', W') auch die Bildung des neuen zweiten Codewortes (V', U') identisch zur Bildung
des neuen ersten Codewortes (T', W') erfolgt, um ein identisches neues zweites Codewort
(V', U') in die zu schützenden nichtflüchtigen Speicher (NVMs 5a, 5b) zu laden.
20. Verfahren, nach Anspruch 17, dadurch gekennzeichnet, daß in einem Schritt (108) zur Bildung eines neuen veränderbares ersten Codewortes
(T', W') auch die Bildung des neuen zweiten Codewortes (V'', U'') als komplementärer
Schatten (V'', U'' ) zum neuen ersten Codewortes (T', W') erfolgt, um ein komplementäres
neues zweites Codewort (V', U') in die zu schützenden nichtflüchtigen Speicher (NVMs
5a, 5b) zu laden.
21. Verfahren, nach Anspruch 17, dadurch gekennzeichnet, daß in einem Schritt (108) zur Bildung eines neuen veränderbares ersten Codewortes
(T', W') auch die Bildung des neuen zweiten Codewortes (V',U'') als zu dem veränderbaren
neuen ersten Codewort (W') identischen Codewort (V') und als komplementärer Schatten
(U'' ) zum neuen ersten Codewortes (T') erfolgt, um mindestens ein neues zweites Codewort
(V', U'') in die zu schützenden nichtflüchtigen Speicher (NVMs 5a, 5b) zu laden oder
daß beim Schutz eines entsprechenden Speichers (NVM's) in mindestens einem der Speicherbereiche
auch mit dem komplementären Schatten (V'' oder U'' ) gearbeitet wird.
22. Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Registerdaten gekennzeichnet
durch die Schritte:
- Laden eines mittels einem Codewort erzeugten Autentifikationscodes (MACn), welcher dem Codewort zugeordnet ist, welches Abrechnungsdaten verschlüsselt, in
einen ersten nichtflüchtigen Speicher (20 oder 25), der während der Laufdauer der
Maschine gegen eine Herausnahme und Manipulation gesichert ist,
- Laden der Abrechnungsdaten und des vorgenannten Autentifikationscodes (MACn) in zweite die Postregisterdaten enthaltende zu schützende nichtflüchtige Speicher
NVM (5a, 5b), wobei das Codewort dem letzten Betriebszustand der Maschine zugeordnet
ist,
- Gültigkeitsprüfung des Autentifikationscodes (MACn), welcher dem Codewort zugeordnet ist, mindestens zum Zeitpunkt des Einschaltens
der Maschine und nachfolgend aufgrund eines Ereignisses,
- Ersetzen des alten Codewortes durch ein vorbestimmtes neues Codewort zur Bildung
eines weiteren Autentifikationscodes (MACn+1), welcher dem neuen Codewort zugeordnet ist, welches Abrechnungsdaten verschlüsselt,
wenn der Prozessor die Gültigkeit des alten Codewortes anerkennt oder
- Blockierung der Maschine nach dem Zeitpunkt ihres Einschaltens, wenn der Prozessor
nach Gültigkeitsprüfung die Gültigkeit des anhand des alten Codewortes geprüften Autentifikationscodes
(MACn) aberkennt.
23. Verfahren, nach Anspruch 22, dadurch gekennzeichnet, daß die Abstände für das Laden eines Autentifikationscodes (MAC) nach dem Zeitpunkt
des Einschaltens der Frankiermaschine zeitliche oder stückzahlmäßige Abstände und/oder
solche mindestens aufgrund einer Pseudozufallsfolge bestimmten Abständen sind.
24. Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten, dadurch gekennzeichnet, daß in jedem nichtflüchtigem Speicher oder Speicherbereich ein mittels einem separaten
Codewort erzeugter Autentifikationscodes (MACn) gespeichert wird, wobei mindestens eines der vorgenannten Autentifikationscodes
(MACn) und separaten Codeworte in einem ersten internen Speicher eines Prozessorsystems,
einer Chipkarte und/oder eines ähnlichen Systems nichtflüchtig gespeichert worden
ist, welches während der Laufzeit der Maschine mit ihrem Prozessorsystem in Kommunikationsverbindung
steht und gegen Herausnahme und Manipulation während der Laufzeit der Maschine abgesichert
ist und daß eine Bildung von neuen Codewörtern ab einem vorbestimmten Ereignis und
danach eine Einspeicherung der mittels der neuen Codewörter erzeugten Autentifikationscodes
(MACn+1) in die zu schützenden nichtflüchtigen Speicher und in die ersten nichtflüchtigen
Speicher vorgenommen wird.
25. Anordnung zur Erhöhung der Manipulationssicherheit von kritischen Daten, insbesondere
von Registerdaten in Frankiermaschinen mit Eingabe- und Ausgabemitteln, einer Steuereinrichtung
und Speichern, dadurch gekennzeichnet, daß die Steuereinrichtung (6) einen Mikroprozessor oder einen OTP-Prozessor (ONE
TIME PROGRAMMABLE) aufweist, in welchem neben einem Mikroprozessor CPU (6a) auch weitere
Schaltungen und/oder Programme bzw. Daten im internen OTP-ROM (6c) bzw. im internen
OTP-RAM (6b) in einem gemeinsamen Bauelementgehäuse untergebracht sind, welche ein
erstes Sicherheitsmittel gegen unbefugte Manipulation bilden, daß ein erster und ein
zweiter nichtflüchtiger Speicher mit der Steuereinrichtung (6) verbunden ist, wobei
der erste nichtflüchtige Speicher NVM (6d, 20, 25) ein zweites Sicherheitsmittel gegen
unbefugte Manipulation bildet und gegen Herausnahme gesichert ist.
26. Anordnung, nach Anspruch 25, dadurch gekennzeichnet, daß der erste nichtflüchtige Speicher als interner Prozessorspeicher (NVM 6d) zur
nichtflüchtigen Speicherung im Prozessor (6) realisiert ist oder als externer nichtflüchtiger
Speicher NVM (20, 25) am Prozessor (6) angeschlossen ist.
27. Anordnung, nach den Ansprüchen 25 bis 26, dadurch gekennzeichnet, daß der externe nichtflüchtiger Speicher NVM (25) über einen Ein/Ausgabe-Steuermodul
(4) am Prozessor (6) angeschlossen ist und während der Laufzeit der Frankiermaschine
gegen Herausnahme gesichert ist.
28. Anordnung, nach Anspruch 27, dadurch gekennzeichnet, daß der externe nichtflüchtiger Speicher NVM (25) Bestandteil einer Chipkarte ist
und über eine Chipkarten-Schreib/Leseeinheit (21) am Ein/Ausgabe-Steuermodul (4) angeschlossen
ist.
29. Anordnung, nach Anspruch 25, dadurch gekennzeichnet, daß der Programmspeicher ein EPROM ist.