DE19534530A1 - Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine - Google Patents
Verfahren zur Absicherung von Daten und Programmcode einer elektronischen FrankiermaschineInfo
- Publication number
- DE19534530A1 DE19534530A1 DE1995134530 DE19534530A DE19534530A1 DE 19534530 A1 DE19534530 A1 DE 19534530A1 DE 1995134530 DE1995134530 DE 1995134530 DE 19534530 A DE19534530 A DE 19534530A DE 19534530 A1 DE19534530 A1 DE 19534530A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- franking machine
- routine
- franking
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00733—Cryptography or similar special procedures in a franking system
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00733—Cryptography or similar special procedures in a franking system
- G07B2017/00741—Cryptography or similar special procedures in a franking system using specific cryptographic algorithms or functions
- G07B2017/00774—MAC (Message Authentication Code), e.g. DES-MAC
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00733—Cryptography or similar special procedures in a franking system
- G07B2017/00951—Error handling, e.g. EDC (Error Detection Codes)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Absicherung von Daten und
Programmcode einer elektronischen Frankiermaschine in der im
Oberbegriff des Anspruchs 1 angegebenen Art. Dieses Verfahren
verbessert die Sicherheit von Frankiermaschinen.
Eine Frankiermaschine erzeugt in der Regel einen Aufdruck in einer mit
der Post vereinbarten Form rechtsbündig, parallel zur oberen Kante des
Postgutes beginnend mit dem Inhalt Postwert im Poststempel, Datum im
Tagesstempel und Stempelabdrucke für Werbeklischee und ggf.
Sendungsart im Wahldruckstempel. Der Postwert, das Datum und die
Sendungsart bilden hierbei die entsprechend dem Poststück
einzugebenden variablen Informationen.
Beim Postwert handelt es sich meist um die vom Absender
vorausbezahlte Beförderungsgebühr (Franko), die einen
wiederauffüllbaren Guthabenregister entnommen und zum Freimachen
der Postsendung verwendet wird. Im Gegensatz dazu wird beim
Kontokorrentverfahren ein Register in Abhängigkeit von den mit dem
Postwert vorgenommenen Frankierungen lediglich hochgezählt und in
regelmäßigen Abständen, von einem Postinspektor abgelesen.
Grundsätzlich ist jede vorgenommene Frankierung abzurechnen und jede
Manipulation, welche zu einer nichtabgerechneten Frankierung führt, muß
verhindert werden.
Eine bekannte Frankiermaschine ist mit mindestens einem Eingabemittel,
einem Ausgabemittel, einem Ein/Ausgabe-Steuermodul, einer Programm-,
Daten- und insbesondere die Abrechnungsregister tragenden
Speichereinrichtung, einer Steuereinrichtung und einem Druckermodul
ausgerüstet. Bei einem Druckermodul mit Druckmechanik müssen auch
Maßnahmen ergriffen werden, damit im ausgeschalteten Zustand die
Druckmechanik nicht für unabgerechnete Abdrucke mißbraucht werden
kann.
Die Erfindung betrifft insbesondere Frankiermaschinen, die einen
vollelektronischen erzeugten Abdruck zum Frankieren von Postgut
einschließlich Abdruck eines Werbeklischees liefern. Das hat zur Folge,
daß nur noch im eingeschalteten Zustand ein nicht abgerechnetes gül
tiges Frankieren verhindert werden muß.
Bei einer aus der US 4 746 234 bekannten Frankiermaschine werden
feste und variable Informationen in Speichermitteln (ROM, RAM)
gespeichert, um diese dann, wenn ein Brief auf dem Transportpfad vor
der Druckposition einen Mikroschalter betätigt, mittels eines
Mikroprozessors auszulesen und um ein Drucksteuersignal zu bilden.
Beide sind danach elektronisch zu einem Druckbild zusammengesetzt
und können durch Thermotransferdruckmittel auf einen zu frankierenden
Briefumschlag ausgedruckt werden.
Es wurde auch bereits ein Verfahren zum Steuern des spaltenweisen
Druckens eines Postwertzeichenbildes in einer Frankiermaschine
vorgeschlagen EP 578 042 A2, welches getrennt voneinander in
graphische Pixelbilddaten umgesetzte feste und variable Daten während
des spaltenweisen Druckens zusammensetzt. Es wäre daher schwierig,
ohne großen und teuren Aufwand eine Manipulation am
Drucksteuersignal vorzunehmen, wenn das Drucken mit einer hohen
Geschwindigkeit erfolgt.
In üblicher Weise umfaßt die Speichereinrichtung mindestens einen
nichtflüchtigen Speicherbaustein, der das aktuell verbliebene
Restguthaben enthält, welches daraus resultiert, daß von einem früher in
die Frankiermaschine geladenen Guthaben der jeweilige zu druckenden
Portowert abgezogen wird. Die Frankiermaschine blockiert, wenn das
Restguthaben Null ist.
Bekannte Frankiermaschinen enthalten in mindestens einem Speicher
drei relevante Postregister für verbrauchten Summenwert (steigendes
Register), noch verfügbares Restguthaben (fallendes Register) und
Register für eine Kontrollsumme. Die Kontrollsumme wird mit der Summe
aus verbrauchten Summenwert und aus verfügbaren Guthaben
verglichen. Bereits damit ist eine Überprüfung auf richtige Abrechnung
möglich.
Weiterhin ist es auch möglich von einer Datenzentrale über eine
Fernwertvorgabe eine Wiederaufladeinformation zur die
Frankiermaschine zu übertragen, um in das Register für das
Restguthaben (Restwert) ein Guthaben nachzuladen. Es versteht sich von
selbst, daß hierfür geeignete Sicherheitsmaßnahmen getroffen werden
müssen, damit das in der Frankiermaschine gespeicherte Guthaben nicht
in unbefugter Art und Weise aufgestockt werden kann. Die vorgenannten
Lösungen gegen Mißbrauch und Fälschungsversuche zu schützen,
erfordert einen zusätzlichen materiellen und zeitlichen Aufwand.
Aus der US 4 864 506 ist bekannt, daß eine Kommunikation zur
entfernten Datenzentrale von der Frankiermaschine aufgenommen wird
wenn der Wert des Guthabens im fallenden Register unter einem
Schwellwert liegt und eine vorbestimmte Zeit erreicht ist.
Aus obengenanntem Patent ist weiterhin bekannt, daß die Datenzentrale
zum Empfang von Registerdaten und zur Kontrolle, ob die
Frankiermaschine noch an eine bestimmte Telefonnummer
angeschlossen ist - die Verbindung mit der Frankiermaschine nach einer
definierten Zeitdauer aufnimmt und die Frankiermaschine nur zu
vorbestimmten Zeiten antwortet.
Es ist nach obengenanntem Patent außerdem vorgesehen, vor einer
Guthabennachladung in die Frankiermaschine, zur Autorisierung durch
die Datenzentrale die Identitätsnummer der Frankiermaschine und die
Werte im fallenden und steigenden Register abzufragen.
Weiterhin ist aus obengenanntem Patent bekannt, daß die
Kommunikation der Datenzentrale mit der Frankiermaschine nicht auf
bloße Guthabenübertragung in die Frankiermaschine beschränkt bleiben
braucht. Vielmehr wird im Falle einer Abmeldung der Frankiermaschine
die Kommunikation der Datenzentrale mit der Frankiermaschine zur
Übertragung des Restguthabens der Frankiermaschine in die
Datenzentrale genutzt. Der Wert im fallenden Postregister der
Frankiermaschine ist dann Null, was die Frankiermaschine wirksam außer
Betrieb setzt.
Ein Sicherheitsgehäuse für Frankiermaschinen, welches innere Sensoren
aufweist, ist aus der DE 41 29 302 A1 bekannt. Die Sensoren sind
insbesondere mit einer Batterie verbundene Schalter, welche beim Öffnen
des Sicherheitsgehäuses aktiv werden, um einen das Restwertguthaben
speichernden Speicher (fallendes Postregister) durch Unterbrechen der
Energiezufuhr zu löschen. Es ist bekanntlich aber nicht vorhersagbar,
welchen Zustand ein spannungsloser Speicherbaustein beim Wiederkehr
der Spannung einnimmt. Somit könnte auch ein nicht bezahltes höheres
Restguthaben entstehen. Andererseits kann nicht ausgeschlossen
werden, daß sich auf oben genannte Weise, das Restwertguthaben
zumindest teilweise entlädt. Das wäre aber bei einer Inspektion nachteilig,
da das Restwertguthaben, welches vom Frankiermaschinennutzer bezahlt
worden war, auch wieder geladen werden muß, die Höhe dieses Restgut
habens jedoch durch o.g. Einflüsse verfälscht sein kann. Schließlich ist
der Beschreibung nicht entnehmbar, wie verhindert werden kann, daß ein
Manipulator ein nicht bezahltes Restguthaben wieder herstellt.
Bei bekannten Frankiermaschinen sind bereits weitere
Sicherheitsmaßnahmen wie Wegbrechschrauben und gekapseltes
abgeschirmtes Sicherheitsgehäuse bekannt. Üblich sind auch Schlüssel
und ein Zahlenschloß um den Zugriff auf die Frankiermaschine zu
erschweren.
In der US 4 812 994 soll ein unautorisierter Zugriff einer Benutzung der
Frankiermaschine darüber hinaus durch Sperrung der Frankiermaschine
bei Falscheingabe eines vorbestimmten Paßwortes verhindert werden.
Außerdem kann die Frankiermaschine mittels Paßwort und
entsprechender Eingabe über Tastatur so eingestellt werden, daß ein
Frankieren nur während eines vorbestimmten Zeitintervalls bzw.
Tageszeiten möglich ist.
Das Paßwort kann durch einen Personalcomputer über MODEM, durch
eine Chipkarte oder manuell in die Frankiermaschine eingegeben werden.
Nach positiven Vergleich mit einem in der Frankiermaschine
gespeicherten Paßwort wird die Frankiermaschine freigegeben. Im
Steuermodul der Abrechnungseinheit ist ein Sicherheitsmodul (EPROM)
integriert. Als weitere Sicherheitsmaßnahme ist ein
Verschlüsselungsmodul (separater Mikroprozessor oder Programm für
FM-CPU basierend auf DES- oder RSA-Code) vorgesehen, der eine den
Portowert, die Teilnehmernummer, eine Transaktionsnummer und
ähnliches umfassende Erkennungsnummer im Frankierstempel erzeugt.
Bei genügend krimineller Energie könnte aber auch ein Paßwort
ausgeforscht und samt Frankiermaschine in den Besitz eines
Manipulators gebracht werden.
Es ist bereits in der US 4,812,965 ein Ferninspektionssystem für
Frankiermaschinen vorgeschlagen worden, welches auf speziellen
Mitteilungen im Abdruck von Poststücken, die der Zentrale zugesandt
werden müssen, oder auf einer Fernabfrage über MODEM basiert.
Sensoren innerhalb der Frankiermaschine sollen jede vorgenommene
Verfälschungshandlung detektieren, damit in zugehörigen Speichern ein
Flag gesetzt werden kann, falls in die Frankiermaschine zu
Manipulationszwecken eingegriffen wurde. Ein solcher Eingriff könnte
erfolgen, um ein nicht bezahltes Guthaben in die Register zu laden.
Bei Feststellung einer Manipulation wird die Frankiermaschine während
der Ferninspektion über Modem durch ein von der Datenzentrale
ausgehendes Signal gesperrt. Eine geschickte Manipulation könnte aber
andererseits darin bestehen, nach der Herstellung von nicht abge
rechneten Frankieraufdrucken, das Flag und die Register in den
ursprünglichen Zustand zurückzuversetzen. Eine solche Manipulation
wäre über Ferninspektion durch die Datenzentrale nicht erkennbar, wenn
diese rückgängig gemachte Manipulation vor der Ferninspektion lag.
Auch der Empfang der Postkarte von der Datenzentrale, auf welche eine
zu Inspektionszwecken vorzunehmende Frankierung erfolgen soll,
gestattet dem Manipulator die Frankiermaschine in ausreichender Zeit in
den ursprünglichen Zustand zurückzuversetzen. Damit ist also noch keine
höhere Sicherheit erreichbar.
Der Nachteil eines solchen Systems besteht darin, daß nicht verhindert
werden kann, daß ein genügend qualifizierter Manipulator, welcher in die
Frankiermaschine einbricht, seine hinterlassenen Spuren nachträglich
beseitigt, indem die Flags gelöscht werden. Auch kann damit nicht
verhindert werden, daß der Abdruck selbst manipuliert wird, welcher von
einer ordnungsgemäß betriebenen Maschine hergestellt wird. Bei
bekannten Maschinen besteht die Möglichkeit, einer Herstellung von
Abdrucken mit dem Portowert Null. Derartige Nullfrankierungen werden zu
Testzwecken benötigt und könnten auch nachträglich gefälscht werden,
indem ein Portowert größer Null vorgetäuscht wird.
Ein Sicherheitsabdruck gemäß der FP-eigenen europäische
Patentanmeldung EP 576 113 A2 sieht Symbole in einem Markierungsfeld
im Frankierstempel vor, die eine kryptifizierte Information enthalten. Dies
gestattet der Postbehörde, welche mit der Datenzentrale zusammenwirkt,
aus dem jeweiligem Sicherheitsabdruck eine Erkennung einer
Manipulation an der Frankiermaschine zu beliebigen Zeitpunkten. Zwar ist
eine laufende Kontrolle solcher mit einem Sicherheitsabdruck versehenen
Poststücke über entsprechende Sicherheitsmarkierungen im Stempelbild
technisch möglich, jedoch bedeutet das einen zusätzlichen Aufwand im
Postamt. Bei einer auf Stichproben beruhenden Kontrolle, wird aber eine
Manipulation in der Regel erst spät festgestellt.
Andererseits kann im Datenzentrum eine zusätzliche Auswertung
hinsichtlich eines Nutzers einer Frankiermaschine, die vom Nutzer über
das Inspektionsdatum hinaus weiterbetrieben wurde, erfolgen. Jedoch
kann bisher aus diesen Informationen noch nicht eine in Fälschungsab
sicht vorgenommene Manipulation geschlußfolgert werden.
In der US 4 251 874 wird ein mechanisches Druckwerk, das zum Drucken
voreingestellt werden muß, mit einer Detektoreinrichtung verwendet, um
die Voreinstellung zu überwachen. Ferner sind im elektronischen
Abrechnungssystem Mittel zum Feststellen von Fehlern in Daten- und
Steuersignalen vorgesehen. Erreicht diese Fehlerzahl einen
vorgegebenen Wert, wird der weitere Betrieb der Frankiermaschine
unterbrochen. Der plötzliche Ausfall der Frankiermaschine ist aber für den
Frankiermaschinenbenutzer nachteilig. Bei einem nichtmechanischen
Druckprinzip sind andererseits kaum solche internen Fehler zu erwarten
und bei einem schweren Fehler ist die Frankiermaschine ohnehin sowieso
sofort abzuschalten. Außerdem wird die Sicherheit gegenüber einer
Manipulation der Frankiermaschine dadurch kaum größer, indem die
Frankiermaschine nach einer vorbestimmten Fehleranzahl abgeschaltet
wird.
Aus der US 4 785 417 ist eine Frankiermaschine mit einer
Programmsequenzüberwachung bekannt. Der korrekte Ablauf eines
größeren Programmstücks wird mittels eines jedem Programmteil
zugeordneten speziellen Codes kontrolliert, der bei Aufruf des
Programmstücks in einer bestimmten Speicherzelle im RAM abgelegt
wird. Es wird nun überprüft, ob der in der vorgenannten Speicherzelle
abgelegte Code im gerade ablaufenden Programmteil immer noch
vorhanden ist. Würde bei einer Manipulation der Lauf eines
Programmteils unterbrochen und ein anderer Programmteil läuft ab, kann
durch eine solche Kontrollfrage ein Fehler festgestellt werden. Eine
solche Überwachung auf Ausführung aller Programmteile beruht auf der
Verschiedenheit der Code, wobei bei einer sehr hohen Anzahl an
Programmteilen auch die Länge des Codewortes entsprechend größer
sein muß. Ein Vergleich solcher Codewörter ist natürlich zeitintensiver
was für schnelle Frankiermaschinen einen Kostenmehraufwand für einen
schnelleren Prozessor verursacht. Bei einer Manipulation mittels solcher
fehlerfreien Programmteile aus der Frankiermaschine, welche zu einem
manipulierten Programmstück zusammengesetzt wurden, würde kein
Fehler festgestellt werden, da bei Programmverzweigungen nicht
festgestellt werden kann, welcher Programmzweig wie oft durchlaufen
wurde.
Eine andere Art einer erwarteten Manipulation ist das Nachladen der
Frankiermaschinenregister mit einem nicht abgerechneten Guthabenwert.
Damit ergibt sich das Erfordernis einer gesicherten Nachladung. Eine
zusätzliche Sicherheitsmaßnahme ist nach US 4 549 281 der Vergleich
einer internen in einem nichtflüchtigen Register gespeicherten festen
Kombination mit einer eingegebenen externen Kombination, wobei nach
einer Anzahl an Fehlversuchen, d. h. Nichtidentität der Kombinationen, die
Frankiermaschine mittels einer Hemmungselektronik gesperrt wird. Nach
US 4 835 697 kann zur Verhinderung eines unautorisierten Zugriffs auf
die Frankiermaschine die Kombination grundsätzlich gewechselt werden.
Aus der US 5,077,660 ist außerdem eine Methode zum Wechsel der
Konfiguration der Frankiermaschine bekannt, wobei die Frankiermaschine
mittels geeigneter Eingabe über eine Tastatur vom Betriebsmode in einen
Konfigurationsmode umgeschaltet und eine neue Metertypnummer
eingegeben werden kann, welche der gewünschten Anzahl an Merkmalen
entspricht. Die Frankiermaschine generiert einen Code für die
Kommunikation mit dem Computer der Datenzentrale und die Eingabe der
Identifikationsdaten und der neuen Metertypnummer in vorgenannten
Computer, der ebenfalls einen entsprechenden Code zur Übermittlung
und Eingabe in die Frankiermaschine generiert, in der beide Code
verglichen werden. Bei Übereinstimmung beider Code wird die
Frankiermaschine konfiguriert und in den Betriebsmode umgeschaltet. Die
Datenzentrale hat dadurch vom jeweils eingestellten Metertyp für die
entsprechende Frankiermaschine immer genaue Aufzeichnungen. Jedoch
ist die Sicherheit allein von der Verschlüsselung der übertragenen Code
abhängig.
Darüber hinaus ist aus der EP 388 840 A2 eine vergleichbare
Sicherheitstechnik für ein Setzen einer Frankiermaschine bekannt, um
diese von Daten zu säubern, ohne daß die Frankiermaschine zur
Herstellerfirma transportiert werden muß. Auch hier ist die Sicherheit
allein von der Verschlüsselung der übertragenen Code abhängig.
Die gesicherte Nachladung einer Frankiermaschine mit einem Guthaben
wurde in US 3 255 439 einerseits bereits mit einer automatischen
Signalübertragung von der Frankiermaschine zur Datenzentrale
verbunden, wenn immer eine vorbestimmte Geldmittelsumme, welche
frankiert wurde, oder Stückzahl an bearbeiteten Poststücken oder eine
vorbestimmte Zeitperiode erreicht wurde. Alternativ kann ein der
Geldmittelsumme, Stückzahl oder Zeitperiode entsprechendes Signal
übermittelt werden. Dabei erfolgt die Kommunikation mittels binärer
Signale über miteinander über eine Telefonleitung verbundene Konverter.
Die Maschine erhält eine ebenso gesicherte Nachladung entsprechend
der Kreditbalance und blockiert in dem Fall, wenn kein Kredit
nachgeliefert wird.
Aus der US 4 811 234 ist bekannt, die Transaktionen verschlüsselt
durchzuführen und dabei die Register der Frankiermaschine abzufragen
und die Registerdaten der Datenzentrale zu übermitteln, um einen
zeitlichen Bezug der Verringerung des im Register gespeicherten verfü
gungsberechtigten Betrages anzuzeigen. Einerseits identifiziert sich die
Frankiermaschine bei der Datenzentrale, wenn ein voreinstellbarer
Schwellwert erreicht ist, mittels ihres verschlüsselten Registerinhaltes.
Andererseits modifiziert die Datenzentrale durch entsprechende
Berechtigungssignale den gewünschten Frankierbetrag, bis zu dem
frankiert werden darf. Die Verschlüsselung ist somit die einzige Sicherheit
gegen eine Manipulation der Registerstände. Wenn also ein Manipulator
zwar ordnungsgemäß immer den gleichen Betrag in gleichen zeitlichen
Intervallen lädt, aber zwischenzeitlich mit der manipulierten
Frankiermaschine einen viel höheren Betrag frankiert, als er bezahlt hat,
kann die Datenzentrale keine Manipulation feststellen.
Aus der EP 516 403 A2 ist bekannt, die in der Vergangenheit
protokollierten und in einem Speicher gespeicherten Fehler der
Frankiermaschine regelmäßig zu einem entfernten
Fehleranalysecomputer zur Auswertung zu übertragen. Eine solche
Ferninspektion erlaubt eine frühe Warnung vor einem auftretenden Fehler
und ermöglicht weitere Maßnahmen (Service) zu ergreifen. Allein dies
bietet noch kein ausreichendes Kriterium für eine Manipulation.
Gemäß der GB 22 33 937 A und US 5 181 245 kommuniziert die
Frankiermaschine periodisch mit der Datenzentrale. Ein Blockiermittel
gestattet die Frankiermaschine nach Ablauf einer vorbestimmten Zeit bzw.
nach einer vorbestimmten Anzahl an Operationszyklen, zu blockieren und
liefert eine Warnung an den Benutzer. Zum Freischalten muß von außen
ein verschlüsselter Code eingegeben werden, welcher mit einem intern
erzeugten verschlüsselten Code verglichen wird. Um zu verhindern, daß
falsche Abrechnungsdaten an die Datenzentrale geliefert werden, werden
in die Verschlüsselung des vorgenannten Codes die Abrechnungsdaten
mit einbezogen. Nachteilig ist, daß die Warnung zugleich mit dem
Blockieren der Frankiermaschine erfolgt, ohne daß der Benutzer eine
Möglichkeit hat, sein Verhalten rechtzeitig entsprechend zu ändern.
Aus der US 5 243 654 ist eine Frankiermaschine bekannt, wo die
laufenden von Uhr/Datumsbaustein gelieferten Zeitdaten mit
gespeicherten Stillegungszeitdaten verglichen werden. Ist die
gespeicherte Stillegungszeit durch die laufende Zeit erreicht, wird die
Frankiermaschine deaktiviert, das heißt ein Drucken verhindert. Bei
Verbindungsaufnahme mit einer Datenzentrale, welche die
Abrechnungsdaten aus dem steigenden Register ausliest, wird der
Frankiermaschine ein verschlüsselter Kombinationswert übermittelt und
eine neue Frist gesetzt, wodurch die Frankiermaschine wieder
betriebsfähig gemacht wird. Dabei ist der Verbrauchssummenbetrag, der
das verbrauchte Porto summiert enthält und von der Datenzentrale
gelesen wird, ebenfalls Bestandteil des verschlüsselt übermittelten
Kombinationswertes. Nach der Entschlüsselung des Kombinationswertes
wird der Verbrauchssummenbetrag abgetrennt und mit dem in der
Frankiermaschine gespeicherten Verbrauchssummenbetrag verglichen.
Ist der Vergleich positiv, wird die Sperre der Frankiermaschine
automatisch aufgehoben. Durch diese Lösung wird erreicht, daß sich die
Frankiermaschine bei der Datenzentrale periodisch meldet, um
Abrechnungsdaten zu übermitteln. Es sind jedoch Benutzungsfälle
durchaus denkbar, wo das zu frankierende Postaufkommen schwankt
(Saisonbetrieb). In diesen Fällen würde in nachteiliger Weise die
Frankiermaschine unnötig oft blockiert werden.
Es war die Aufgabe zu lösen, die Nachteile des Standes der Technik zu
überwinden und einen signifikanten Zuwachs an Sicherheit ohne eine
außerordentliche Inspektion vor Ort zu erreichen. Dabei soll ohne daß
eine besondere mechanische Kapselung bzw. ein Sensor zur Erkennung
des geöffneten Gehäuses erforderlich ist, eine in Fälschungsabsicht
vorgenommene Manipulation erkannt und die Datensicherheit erhöht
werden. Das Sicherheitsgehäuse soll durch ein Gehäuse ersetzt werden,
welches die Zugänglichkeit auf einzelne Bausteine der Elektronik für den
Servicetechniker verbessert. Außerdem soll ein Prozessor ohne einen
internen NV-RAM eingesetzt werden. Eine weitere Aufgabe ist es, die
Sicherheit der Schlüssel in der Frankiermaschine zu verbessern, die bei
einer Kommunikation mit dem Datenzentrum benötigt werden, wenn
Daten übermittelt werden.
Die Aufgabe wird mit den kennzeichnenden Merkmalen des Anspruchs 1
gelöst.
Die Erfindung geht von einem Prozessor aus, der nur einmal
programmiert werden kann.
Eine erhöhte Sicherheit kann beispielsweise mit einem
maskenprogrammierten Mikroprozessor erreicht werden, der nach außen
Port′s und eine interne Busstruktur, ein internes ROM, ein internes RAM
für sicherheitsrelevante Abläufe aufweist. In das interne Rom werden
sicherheitsrelevante Daten und Routinen während der Herstellung
eingebrannt.
Eine bevorzugte Variante geht von einer Frankiermaschine mit
Mikroprozessor aus, in der Mikroprozessor einen internen ROM enthält
der ein Auslesen des darin enthaltenen Programmcodes nicht erlaubt.
Dies kann ein handelsüblicher OTP-Prozessor (ONE TIME
PROGRAMMABLE) sein, den man nach dem Programmiervorgang durch
setzen/brennen einer Auslesesperre in einen solchen Zustand versetzt.
Die Frankiermaschine kann auch mit einem OTP-Typ ausgerüstet
werden, der ein Auslesen von sicherheitsrelevanten Daten und
Programmen in verschlüsselter Form gestattet (Encryption-Table). Das
hat den Vorteil, daß eine Kontrolle darüber möglich ist, ob die Daten
ordnungsgemäß gespeichert wurden.
Die Erfindung hat den Vorteil, daß Programmcode und konstante
sicherheitsrelevante Daten nicht verändert, nicht übersprungen und nicht
ausgespäht werden können. Damit ist die Programmausführung von
Programmteilen, die im internen OTP-ROM ausgeführt werden, nicht
manipulierbar. Solange keine Programmverzweigung stattfindet besteht
ein sicherer Schutz vor betrügerischer Manipulation. Erfindungsgemäß
wird mit den Programmteilen, die im internen OTP-ROM ausgeführt sind,
auch ein Schutz auch von extern gespeicherten Programmteilen
ermöglicht, die beispielsweise in einem EPROM gespeichert vorliegen.
Im OTP-ROM sind erfindungsgemäß auch eine Vielzahl von Schlüsseln
und ein Verschlüsselungsalgorithmus gespeichert, welche bei der
Programmausführung von sicherheitsrelevanten Transaktionen und bei
der externen Speicherung von sicherheitsrelevanten Daten Anwendung
finden.
Der EPROM nimmt den größeren Teil des Programmcodes auf und stellt
dem Mikroprozessor über den Mikroprozessorbus einen externen
Programmcode zur Verfügung. Da aber zusätzlich die Programmvariablen
im internen OTP-RAM gespeichert werden, wird eine sicherheitsrelevante
Kapselung der Programmausführung erreicht. Mit einem OTP-Prozessor
lassen sich somit gezielt Programmausführungen in unterschiedlichen
Sicherheitsstufen realisieren. Eine fehlerhafte oder manipulierte
Frankiermaschine verbleibt mit ihrer Programmausführung vollständig im
OTP-ROM und kann nicht in andere Betriebsmodi gezwungen werden.
Die erfindungsgemäße Lösung geht weiterhin davon aus, daß die in der
Frankiermaschine gespeicherten Geldmittel vor unautorisiertem Zugriff
geschützt werden müssen. Die Verfälschung von in der Frankiermaschine
gespeicherten Daten wird so weit erschwert, daß sich der Aufwand für
einen Manipulator nicht mehr lohnt.
Handelsübliche OTP-Prozessoren (ONE TIME PROGRAMMABLE)
können alle sicherheitsrelevanten Programmteile im Inneren des
Prozessorgehäuses enthalten, außerdem den Code zur Bildung des
Message Authentification Code (MAC). Letzterer ist eine verschlüsselte
Checksumme, die an eine Information angehängt wird. Als Krypto
algorithmus ist beispielsweise Data Encryption Standard (DES) geeignet.
Damit lassen sich MAC-Informationen an die sicherheitsrelevanten
Registerdaten anhängen und somit die Schwierigkeit der Manipulation an
den Postregistern maximal erhöhen.
Diese sicherheitsrelevanten Programmteile umfassen auch Programmteile
für eine Flußkontrolle, die die Anzahl der abgelaufenen Programmteile
überwacht. Damit können Fehlfunktionen des Mikroprozessors oder in
Fälschungsabsicht vorgenommene Manipulationen aufgedeckt werden.
Spezifische Rechenoperationen erlauben die Überprüfung, welche
Programmteile wie oft benutzt wurden.
Eine andere Sicherheitsmaßnahme, die zusätzlich zum Error Handling
(Kill Mode) der Startsicherheitsüberprüfung ablaufen kann, ist das
Überwachen der Programmlaufzeit ausgewählter sicherheitsrelevanter
Programme oder Programmteile in einem Time Supervisions Mode (Kill
Mode 1). Bei Abweichung der Laufzeit von Programmen bzw.
Programmteilen von einer vorbestimmten Laufzeit, wie sie bei
Manipulation bzw. Überwachung des Programmablaufes mittels Emulator
auftreten, wird die Maschine gehemmt. Ein solcher Programmteil betrifft
den Kommunikationsmodus. Ein Geheimschlüssel für die verschlüsselte
Kommunikation wird außerhalb des OTP in verschlüsselter Form
gespeichert. Der OTP kann daraus den eigentlichen Schlüssel durch
Entschüsselung zurückgewinnen, welcher für Transaktionen zwischen
Frankiermaschine und Datenzentrale benötigt wird.
Die Frankiermaschine kann von der Systemroutine mittels eines
Entscheidungskriteriums in den zweiten Modus eintreten, um an den
Benutzer der Frankiermaschine eine Warnung und Aufforderung zur
Kommunikation mit der Datenzentrale abzugeben. Gleichzeitig wird auch
von der Datenzentrale das Verhalten des Frankiermaschinenbenutzers
auf der Basis von bisherigen während einer Kommunikation übermittelten
Daten überwacht.
In der Frankiermaschine ist vorgesehen, daß ein spezieller
Sleepingmodezähler bei jeder Kommunikation mit der Datenzentrale auf
eine spezifische Stückzahl gesetzt wird und bei jeder Frankierung, d. h. im
Verlauf einer Abrechnungs- und Druckroutine, zur Weiterzählung
veranlaßt wird, bis eine bestimmte Zahl erreicht wird. Die spezifische
Stückzahl kann sowohl in der Frankiermaschine errechnet, als auch in der
Datenzentrale errechnet und an die Frankiermaschine über eine
Kommunikationsverbindung übermittelt werden.
Ausgehend von der Überlegung mit nur einem Mikroprozessor und einem
geeigneten Programm einer Frankiermaschine ein Verfahren zur
Verbesserung der Sicherheit von Frankiermaschinen zu schaffen, bildet
eine gleichzeitig in der Datenzentrale identisch vorliegende nut
zerspezifische Information über den Guthabenverbrauch eine erste
Berechnungsbasis, um in der Datenzentrale gespeichert vorliegenden
Guthabenverbrauchs- und Guthabennachladedatumsdaten auf ihre
Plausibilität zu überprüfen. Eine weitere erfinderische Berechnungsbasis
aufgrund weiterer Daten, insbesondere in Verbindung mit der Stückzahl
seit der letzten Kommunikation, gestattet eine außerordentliche
Inspektion derjenigen Frankiermaschine vor Ort vorzunehmen, welche bei
der Datenzentrale als suspekt gilt.
Die Frankiermaschine, welche eine regelmäßige Guthabennachladung
erhält und dabei inspiziert wird, kann dabei als unverdächtig eingestuft
werden. Die über ein vorgegebenes Inspektionsdatum ohne Inspektion
weiter betriebene Frankiermaschine, muß jedoch nicht zwangsläufig
manipuliert sein. Vielmehr kann sich auch das von der Frankiermaschine
zu bearbeitende Postaufkommen überdurchschnittlich verringert haben.
Wenn in der Frankiermaschine noch genügend Restwertguthaben
verfügbar ist, kann damit natürlich weiterfrankiert werden. Erst eine
außerordentliche Inspektion vor Ort, kann in diesem Falle klären, ob eine
Manipulation vorliegt.
Für die Überprüfung suspekter Frankiermaschinen wird von der
Datenzentrale der Postbehörde bzw. dem mit der Prüfung beauftragten
Institut die zugehörige Frankiermaschinenseriennummer übermittelt. Mit
dieser Information kann das Vorkommen an Poststücken (Briefen) be
stimmter Absender überwacht werden, indem deren Anzahl im
Zeitintervall beispielsweise von 90 Tagen gezählt wird.
Bei einer Inspektion oder Reparatur bzw. durch den Service vor Ort muß
eventuell in die Frankiermaschine eingegriffen werden. Zur Vorbereitung
des Eingriffs werden die Register der Frankiermaschine abgefragt bzw.
ausgedruckt, um die Art des erforderlichen Eingriffs zu ermitteln. Nach
einem erfolgten autorisierten Eingriff in die Frankiermaschine ist der
ursprüngliche Betriebszustand mittels spezieller geeigneter Weise
eingegebenen Daten wiederhergestellt.
Nimmt aber ein Manipulator einen unautorisierten Eingriff vor, wird die
Frankiermaschine nach dem Einschalten durch das Überführen der
Frankiermaschine in den ersten Modus (Error Handling) wirksam außer
Betrieb gesetzt.
Eine andere Sicherheitsmaßnahme, die im zweiten Modus neben oder
anstatt einer Sleeping-Mode-Variante durchgeführt werden kann, ist der
Error Overflow Mode. Dieser verlängert die Reaktionszeitdauer der
Frankiermaschine bei Überschreiten einer vorbestimmten Anzahl an
Fehlern und meldet über die Anzeige diesen Zustand an den Bediener
der Frankiermaschine. Wird der Zustand der Überschreitung der
Fehleranzahl nicht beseitigt, beispielsweise im Rahmen einer Inspektion
durch einen Servicedienst oder durch Rücksetzen während einer Kom
munikation mit der Datenzentrale, kann die Reaktionszeitdauer weiter
erhöht werden, um eventuelle Manipulationen zu erschweren.
Das Verfahren zur Absicherung von Daten und Programmcode einer
elektronischen Frankiermaschine, welche zur Kommunikation mit einer
entfernten Datenzentrale fähig ist und einen OTP-Prozessor in einer
Steuereinrichtung der Frankiermaschine aufweist, umfaßt außerdem das
Übertragen eines extern gespeicherten vorbestimmten MAC-Wert in den
internen OTP-RAM und ein Bilden einer Checksumme im OTP-Prozessor
über den Inhalt desjenigen externen Speichers, welchem der MAC
zugeordnet ist, und einen Vergleich des Ergebnisses mit dem im internen
OTP-RAM flüchtig gespeicherten vorbestimmten Wert des MAC vor
und/oder nach Ablauf des Frankiermodus bzw. Betriebsmodus, und somit
auch nach der Initialisierung (das heißt wenn die Frankiermaschine
betrieben wird), oder in Zeiten, in welchen nicht gedruckt wird (das heißt
wenn die Frankiermaschine im Standby-Modus betrieben wird). Im
Fehlerfall erfolgt dann eine Protokollierung und anschließende
Blockierung der Frankiermaschine.
Die Erfindung umfaßt weiterhin eine Durchführung von Authentizitäts
prüfungen im Ergebnis der Druckdateneingabe für Rahmen und/oder
Fensterdaten während der Start- und Initialisierungsroutine 101 und einer
Eingabe-, Anzeige- und Prüfroutine für sicherheitsrelevante Fensterdaten,
welche bei der Druckdateneingabe geändert wurden. Bei fehlender
Authentizität werden Schritte zum Verhindern einer weiteren
Programmausführung bzw. einer vom OTP-Prozessor nach extern
führenden Programmverzweigung im Rahmen vorgenannter
Systemroutine. Bei bestehender Authentizität werden Schritte zur
weiteren Programmausführung im Rahmen vorgenannter Systemroutine
durchgeführt.
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:
Fig. 1, Blockschaltbild einer Frankiermaschine
mit erfindungsgemäß erhöhter Sicherheit,
Fig. 2, Variante mit OTP in der Steuereinrichtung
der Frankiermaschine,
Fig. 3, Gesamtablaufplan für die Frankiermaschine
nach der erfindungsgemäßen Lösung,
Fig. 4, Ablaufplan für die Start- und
Initialisierungsroutine,
Fig. 5, Ablaufplan für den Frankiermodus
Fig. 6, Bilden einer MAC-Prüfsumme mittels
Verschlüsselung für ein externes
Programm-EPROM,
Fig. 7, Ablaufplan zum Prüfen eines externen
Programm-EPROM′s,
Fig. 8, Bilden einer MAC-Prüfsumme mittels
Verschlüsselung für ein externes
Klischee-EPROM,
Fig. 9, Ablaufplan zum Prüfen eines externen
Klischee-EPROM′s,
Fig. 10, Ablaufplan zum Absichern ausgewählter
Registerdaten,
Fig. 11, Ablaufplan zum Prüfen ausgewählter
Registerdaten,
Fig. 12, Ablaufplan zur Eingabeverschlüsselung der Schlüssel
die für die gesicherte Übertragung von Daten
zwischen Frankiermaschine und Datenzentrale
eingesetzt werden,
Fig. 13, Ablaufplan zur Entschlüsselung der Schlüssel
für die Fernwertvorgabe,
Fig. 14, Ablaufplan zur Absicherung von sicherheitsrelevanten Daten
in einem frei zugänglichen Speicher
Fig. 15, Prüfschritt im Ablaufplan zur Absicherung von
sicherheitsrelevanten Daten.
Die Fig. 1 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, weitere Eingabemittel 21 bzw. Waage 22 welche über einen
Ein/Ausgabe-Steuermodul 4 mit einer Steuereinrichtung 6 gekoppelt sind
und mit nichtflüchtigen Speichern 5a, 5b bzw. 9, 10 und 11 für Daten bzw.
Programme, welche die variablen bzw. die konstanten Teile des
Frankierbildes einschließen.
Ein Charakterspeicher 9 liefert die nötigen Druckdaten für die variablen
Teile des Frankierbildes zu einen flüchtigen Arbeitsspeicher 7. Die
Steuereinrichtung 6 weist einen Mikroprozessor µP auf, der mit dem
Ein/Ausgabe-Steuermodul 4, mit dem Charakterspeicher 9, mit dem
flüchtigen Arbeitsspeicher 7 und mit nichtflüchtigen Arbeitsspeichern 5a,
5b, welche einen Kostenstellenspeicher umfassen, mit einem
Programmspeicher 11, mit dem Motor einer Transport- bzw.
Vorschubvorrichtung ggf. mit Streifenauslösung 12, einem Encoder
(Codierscheibe) 13 sowie mit einem Uhren/Datums-Baustein 8 in
Verbindung steht. Die einzelnen Speicher können in mehreren
physikalisch getrennten oder in nicht gezeigter Weise in wenigen
Bausteinen zusammengefaßt verwirklicht sein. Derjenige
Speicherbaustein, welcher den nichtflüchtigen Arbeitsspeicher 5b umfaßt,
kann beispielsweise ein EEPROM sein, der durch mindestens eine
zusätzliche Maßnahme, beispielsweise Aufkleben auf der Leiterplatte,
Versiegeln oder Vergießen mit Epoxidharz, gegen Entnahme gesichert
wird.
In der Fig. 1 ist ein Blockschaltbild einer elektronischen
Frankiermaschine mit erfindungsgemäß erhöhter Sicherheit gezeigt. Die
Erfindung basiert auf einer Frankiermaschine mit einem Mikroprozessor,
der einen internen OTP-ROM enthält, der ein Auslesen des darin
enthaltenen Programmcodes nicht erlaubt. Außerdem sind
sicherheitsrelevante Daten im internen OTP-ROM gespeichert. Zur
Verhinderung des Auslesens durch einen externen Eingriff können im
Mikroprozessor entsprechende Sicherungsbits während der Herstellung
der Frankiermaschine gesetzt werden. Dies kann ein handelsüblicher
OTP-Prozessor sein, den man nach dem Programmiervorgang durch
setzen/brennen einer Auslesesperre in einen solchen Zustand versetzt
oder dies kann ein Mikroprozessor mit maskenprogrammierbarem ROM
sein, der nach dem Herstellungsprozeß ein Auslesen des
Programmcodes nicht mehr erlaubt oder nur ein Auslesen des
Programmcodes und der Daten in verschlüsselter Form erlaubt.
In der Fig. 2 ist ein Detail des Blockschaltbildes der elektronischen
Frankiermaschine für eine Variante mit OTP in der Steuereinrichtung
gezeigt. Bei dieser prinzipiellen Anordnung in der Fig. 2 können
Sensoren und Aktoren, wie beispielsweise die in der Fig. 1
dargestellten Encoder 13 und Motor 12 wahlweise direkt oder über I/O-Ports
mit dem OTP verbunden sein.
Eine bevorzugte Variante eines Mikroprozessors ist ein 8051-Prozessor
mit 16kByte On-Chip-EPROM (Philips 87C51FB) Ein solcher OTP-Typ
(One Time Programmable) kann nicht durch UV-Licht gelöscht werden
weil dieser kein für UV-Lichtdurchtritt geeignetes Fenster aufweist.
Deshalb kann ein OTP nur einmal programmiert werden. Der interne
OTP-RAM hat einen Speicherbereich von 256 Byte.
Weiter geht die Erfindung davon aus, daß der gesamte zum Betrieb einer
Frankiermaschine benötigte Programmcode nicht in den mikro
prozessorinternen ROM paßt, es also eines weiteren Speichers (EPROM)
bedarf, der den größeren Teil des Programmcodes aufnimmt und der über
den Mikroprozessorbus Programmcode dem Mikroprozessor zur
Verfügung stellt. Vorteilhaft kann wird eine Anordnung angewendet
werden, die den Programmspeicher in Speichersegmente aufteilt,
sogenannte Speicherbänke, die es erlauben den Programmspeicher
bereich über den Adressbereich des Mikroprozessor durch Benutzung
von Mikroprozessor-Portleitungen beliebig zu vergrößern.
In der Fig. 3 ist ein Gesamtablaufplan für eine Frankiermaschine mit
erfindungsgemäß erhöhter Sicherheit gezeigt, während die Fig. 4 ein
erfinderisches Detail daraus, nämlich einen Ablaufplan für die Start- und
Initialisierungsroutine genauer darstellt.
Aus den Fig. 3 und 4 geht hervor, daß ein Einschalten der
Frankiermaschine im Schritt Start 100 erfolgt und anschließend innerhalb
einer Startroutine 101 eine Funktionsprüfung mit anschließender
Initialisierung vorgenommen und erst später auf eine Systemroutine 200
verzweigt wird.
Ein Programmcode im nichtlesbaren internen OTP-ROM erlaubt nun
mehrere vorteilhafte Startsicherheitsüberprüfungsroutinen aber
mindestens diejenigen, wie sie in der Fig. 4 benannt sind und in
Verbindung mit den Fig. 7, 9 und 11 näher dargelegt werden.
Diese Routinen betreffen das Verfahren zur Absicherung von Daten und
Programmcode einer elektronischen Frankiermaschine und dienen der
Verbesserung der Sicherheit dieser elektronischen Frankiermaschine im
Rahmen einer Startsicherheitsüberprüfung in Verbindung mit ihrer
Initialisierung.
Nach dem Start erfolgt im Schritt 101 eine Startroutine und eine
Initialisierung der Frankiermaschine. Solche Routinen initialisieren die
Hardware und Anzeige in üblicher Weise und starten einen Timer
und/bzw. Interrupt. Der Schritt 101 schließt erfindungsgemäß eine
Startsicherheitsüberprüfung 1020 ein.
Eine Startsicherheitsüberprüfungsroutine, die mit ihrem Programmcode
die wichtigsten extern gehaltenen Frankiermaschinen-Daten und externen
Programmcode völlig gekapselt im internen ROM- und RAM-Bereich des
OTP überprüft, kann, ohne daß dabei eine äußere
Einwirkungsmöglichkeit in Manipulationsabsicht besteht, Manipulationen
erkennen, die während des ausgeschalteten Zustandes der
Frankiermaschine durchgeführt worden sind und dann den weiteren
Betrieb der Frankiermaschine wirkungsvoll sperren, falls die
Überprüfungsroutinen nicht fehlerfrei durchlaufen werden. In diesem Fall
verbleibt der Programmablauf in einer Programmendlosschleife im OTP-ROM
(error handling 1030). Erst nachdem die Checks fehlerfrei
durchlaufen sind, werden die externen Speichermedien vom
Mikroprozessor (Eprom lesen, RAM schreiben) benutzt und wird die
Systemroutine 200 erreicht.
In der Fig. 4 ist der schematische Programmablaufplan aller Funktionen,
die während der Startsicherheitsüberprüfung der Frankiermaschine im
OTP-ROM ausgeführt werden, dargestellt. Erfindungsgemäß umfaßt die
Startsicherheitsüberprüfung der Frankiermaschine eine Vielzahl von
Routinen, neben der Routine 1026 für die Absicherung des externen
Programmspeichers.
Beispielsweise bezeichnet die nicht näher beschriebene Routine 1021
eine Überprüfung des internen OTP-RAM hinsichtlich seiner
Betriebsfähigkeit. In den Routinen 1022 und 1023 werden die
Programmversionsnummern verglichen, das heißt festgestellt, ob der
gebrannte OTP mit dem EPROM einen Satz an vollständigen
Programmcode bildet bzw. ob ein anderer EPROM zum OTP gehört. In
der Routine 1024 wird anhand der vom Klischee-EPROM vorgegebenen
Daten überprüft, ob ein gültiges bzw. zum o.g. Satz zugehöriges Klischee-EPROM
im Sockel steckt. Hierbei ist als Vorteil zu erwähnen, daß das
Klischee-EPROM nicht nur ausschließlich vom Servicetechniker, sondern
auch problemlos von jeder anderen befugten Person in den Sockel
gesteckt bzw. ausgewechselt werden darf. Spezielle Treiberschaltkreise
(Buffer), welche zwischen Bus und EPROM-Sockel geschaltet ist (Fig. 2),
verhindern das Auslesen von frankiermaschineninternen Daten nach
außen. Andererseits können Daten jederzeit über den Sockel in die
Frankiermaschine eingegeben werden.
Während die Routine 1026 die Absicherung des externen
Programmspeichers und die Routine 1025 die Absicherung der von
außen zugänglichen Eproms und der darin gespeicherten Daten vor
Manipulationen durch Sicherheitsüberprüfung betreffen, wird in den
Routinen 1027 und 1028 eine erste Überprüfung von
sicherheitsrelevanten bzw. Postregisterdaten im externen NVRAM und
EEPROM vorgenommen. Die Routine 1029 stellt ungültige oder
reparaturfähige Datenkopien fest und beseitigt gegebenenfalls den
Fehler.
Im Schritt 1029 wird - wie das in der europäischen Anmeldung EP 615
211 A1 näher erläutert wird - mindestens eine Registerprüfung der
Datenstruktur der Postregister durchgeführt, um die Fehler zu protokol
lieren. Dort wird ein Verfahren zur Speicherkorrektur sicherheitsrelevanter
Daten in einer Frankiermaschine vorgeschlagen, wobei redundant
abgespeicherte Daten untereinander verglichen werden, um einen
Speicherbereich mit fehlerhaften Daten wieder mit fehlerfreien Daten zu
laden. Das ist aber bei einem sechsten Fehlertyp nicht mehr möglich, weil
alle redundant gespeicherten Daten nun unterschiedliche Fehler haben,
welche nicht mehr automatisch korrigiert werden können. Nur ein
Servicetechniker könnte die Daten nach einer vorbestimmten Weise
rekonstruieren, was dann nach jedem autorisiertem Öffnen vor erneuter
Inbetriebnahme der Frankiermaschine zu geschehen hat. Im Schritt 1030
werden deshalb auch Maßnahmen ergriffen, um die Frankiermaschine bei
Registerdatenstrukturfehlern zu sperren.
Die folgend näher beschriebene Routine 1026 für die Absicherung des
externen Programmspeichers basiert auf der Speicherung eines MAC im
jeweils abzusichernden Speicherbaustein. Das hat neben der
erforderlichen Aufrechterhaltung der Datensicherheit vor allem den Vorteil
einer Austauschbarkeit eines fehlerbehafteten Programm-EPROM′s, ohne
daß gleichzeitig auch der zugehörige OTP ausgetauscht werden müßte.
Zur Absicherung des externen Programmspeichers erfolgt im Schritt 1026
eine Anwendung des MAC-Verfahrens zur Überprüfung der Integrität des
Programmcode externer busgekoppelter Speicher (EPROMs) vor dem
Buszugriff des Prozessors und während der laufenden Programm
ausführung. In vorteilhafter Weise lassen sich mit einem Geheimschlüssel
der unauslesbar im internen Programmspeicher versteckt ist, sichere
kryptographische Funktionen realisieren, deren Sicherheit auf der
Benutzung dieses Geheimschlüssels beruht. Werden Daten betreffend
einer Prüfsumme (z. B. CRC) über den Speicherinhalt (Block 70) des
Programmspeichers mit einer krytographischen Funktion (Block 60), wie
z. B. Data-Encryption-Standard (DES), unter Verwendung dieser
Geheimschlüssel (Block 61) verschlüsselt, wird eine kryptographische
Prüfsumme erhalten, den sogenannten Message-Authentication-Code
(MAC), der eine Prüfsumme (z. B. CRC) über den Speicherinhalt (Block
70) abbildet. Erfindungsgemäß wird dieser MAC einmal zu einem
Zeitpunkt T₁ gebildet, zu dem Manipulationen ausgeschlossen sind und
in einem nichtflüchtigen Speicherbereich (Block 71) des externen
Programmspeichers des Mikroprozessorsystems abgespeichert. Dieser
Zeitpunkt T1 wird allein beim Frankiermaschinenhersteller erreicht, wobei
dieser MAC(T1), z. B. während der Programmcode-Datenerstellung im
Personalcomputer, mit dem kryptographischen Prüfsummenverfahren
(z. B. DES-Algorithmus) gebildet und in einem definierten Speicherbereich
im Eprom-Quelldaten eingebettet wird. Die vorgenannten Daten werden
beim Programmieren in den EPROM eingebrannt.
Die Fig. 6 zeigt ein solches Bilden einer MAC Prüfsumme mit DES-Verfahren
über externe Programm-EPROMs, wobei der MAC im
Speicherbereich eingebettet wird, der dem zu schützenden
Speicherbereich zugeordnet ist.
Zwar wurde bereits (ohne dies näher zu erläutern) in der EP 660269,
Fig. 2a (Schritt 101) eine Startroutine und Initialisierung einer
elektronischen Frankiermaschine vorgeschlagen. Weiterhin wurde eine
Routine für die Initialisierung vorgeschlagen, wobei ein
sicherheitsrelevanter Programmcode im OTP-abgelegt wird und wobei im
OTP das Bilden einer Checksumme über den Inhalt des externen
Programmspeichers und ein Vergleich erfolgt. Jedoch wurde der MAC in
einem speziellen OTP mit internen NVRAM gespeichert. Außerdem
wurde noch keine Maßnahmen mitgeteilt, welche verhindern, daß, sobald
der Mikroprozessor mit einem Jump- oder Callbefehl den internen ROM-Bereich
verläßt, ein Manipulator die Kontrolle über den Mikroprozessor
mit eigenem Programmcode im externen Eprom übernehmen kann und so
z. B. Sicherheitsüberprüfungsroutinen, die eigentlich hinterher im OTP-ROM
durchgeführt werden sollten, überspringen kann. Weiterhin wurde
noch keine Maßnahmen mitgeteilt, welche verhindern, daß, sobald der
Mikroprozessor den als Datenspeicher für seinen auszuführenden
Programmcode dienenden externen RAM beschreibt, dieser durch einen
Manipulator verändert werden kann, was den Programmablauf verändern
oder stören kann.
In der Fig. 7 ist ein Ablauf für das Prüfen eines externen Programm-EPROMs
mit MAC-Prüfsummenverfahren auf Manipulationen dargestellt.
Zur Laufzeit der Frankiermaschine kann das Mikroprozessorsystem nach
dem gleichen kyptographischen (Schritt 1026.2) Prüfsummenverfahren
über den zu prüfenden Speicherbereich (Schritt 1026.1) den MAC (im
Schritt 1026.2) zum Zeitpunkt T₂ und später (T2+n) unter Zuhilfenahme
des gleichen Geheimschlüssels (Schritt 1026.3) bilden und diesen MAC
(T2+n) mit dem aus dem EPROM (im Schritt 1026.5) entnommenen MAC
(T₁) vergleichen (siehe Schritt 1026.6).
Durch diesen Vergleich kann während der Laufzeit der Frankiermaschine
die Datenintegrität überprüft und Manipulationen der Speicherinhalte (im
Schritt 1026.7) erkannt werden. Bei einem negativen Vergleich können
dann entsprechende Maßnahmen ergriffen werden, die einen weiteren
Betrieb der Frankiermaschine verhindern (Schritt 1030) oder eine
Manipulation erschweren bzw. eine solche durch geeignete Maßnahmen
anzeigen.
Die kontinuierliche MAC-Bildung erfolgt nach der Startsicherheits
überprüfung in jedem Durchlauf der Betriebsprogrammschleife, so daß
vorschreitend über jeweils eine größere Anzahl von
Programmspeicherzellen mittels des kryptographischen Prüfsummen
verfahrens ein relevanter MAC gebildet und mit dem jeweiligen
gespeicherten, zum Zeitpunkt T1 gebildeten MAC verglichen werden
kann.
Damit wird erreicht, daß die Zeit bis zu einem MAC- Prüfsummenvergleich
über den gesamten Speicherinhalt relativ kurz ausfällt. Das Intervall
zwischen den Prüfsummenvergleichen kann mit einer zeitlichen
Überwachung verknüpft werden, so daß ein Anhalten des Programms
erkannt wird und zu einem negativen MAC-Vergleich führt.
Die Fig. 8 zeigt das Bilden einer MAC-Prüfsumme mit DES-Verfahren
über EPROMs im Sockel der offenen Postklappe. Dies ist eine weitere
vorteilhafte Anwendung des MAC-Verfahrens zur Überprüfung der
Integrität der Daten und des Programmcodes von Eproms, die bei einer
Frankiermaschine mit geöffneter Postklappe in den extern zugänglichen
Sockel eingesetzt werden.
In EP 660 269 wird noch von einer Frankiermaschine ausgegangen, die
eine verschließbare und versiegelte Klappe hat, die den Zugriff auf die
dahinter liegende Hardware (EPROM-Sockel) nur einem begrenztem
speziell vertrauenswürdigen Personenkreis erlaubt. Hier konnte davon
ausgegangen werden, daß durch diese Personen kein Manipulation der
Frankiermaschine erfolgt. Es wurde nun eine Lösung gefunden, daß die
Sicherheit für eine Frankiermaschine aufrecht erhalten werden kann, die
eine teilweise geöffnete Postklappe aufweist. Das hat den Vorteil, daß der
Anwender Zugriff auf den Klischee-EPROM-Sockel hat und den Klischee-EPROM
selbständig wechseln kann. Dieser Sockel ist, wie in Fig. 2 zu
entnehmen, mit dem Mikroprozessorbus verbunden, d. h. eine
Manipulation könnte so erfolgen, daß ein Manipulator ein manipuliertes
Programm-EPROM einsetzt, das wie ein RESET-Eprom die Kontrolle über
das Mikroprozessorsystem übernimmt und somit Geldwerte, Einträge oder
Sicherheitseinträge in der Frankiermaschine gezielt verändert oder daß er
ein manipuliertes Klischee-Eprom einsetzt, daß veränderte Druckdaten
des Wertstempels enthält (Ort des Absenders, Postleitzahl des
Absenders) und eine Manipulation des Wertstempelabdruckes zur Folge
hätte.
Die Fig. 8 zeigt die Absicherung eines weiteren externen EPROM′s.
Auch hier läßt sich das bereits oben erwähnte Prinzip der MAC-Absicherung
über die Speicherbereiche anwenden, da mit einem
Geheimschlüssel der unauslesbar im internen Programmspeicher (OTP-ROM)
versteckt ist, sich sichere kryptographische Funktionen realisieren
lassen, deren Sicherheit auf der Benutzung dieses Geheimschlüssels
beruht. Verschlüsselt man eine Prüfsumme dieser Datenbereiche (Block
40) mit einer krytographischen Funktion (Block 60) z. B. DES unter
Verwendung dieser Geheimschlüssel (Block 40) entsteht eine
krytographische Prüfsumme, welche den Speicherinhalt abbildet. Dieser
MAC muß einmal zu einem Zeitpunkt T₁ gebildet werden, zu dem
Manipulationen und wird in dem betreffenden
Eprom, der in dem Klischeesockel eingesetzt wird (Klischeeeprom,
RESET-Eprom), abgespeichert (Block 41). Dieser MAC(T₁) wird z. B.
während der Programmcode-Datenerstellung des RESET-Eproms im
Personalcomputer und bei der Klischeedatenerstellung mit dem
kryptographischen Prüfsummenverfahren (z. B. DES-Algorithmus) gebildet
und in einem definierten Speicherbereich in den Eprom-Quelldaten
eingebettet.
Die Fig. 9 zeigt das Prüfen eines EPROMs im Klischeesockel mit
MAC-Prüfsummenverfahren auf Manipulation. Zur Laufzeit der
Frankiermaschine kann das Mikroprozessorsystem nach dem gleichen
kryptographischen Prüfsummenverfahren (Schritt 1025.2) über den zu
prüfenden Speicherbereich (Schritt 1025. 1) den MAC zu den Zeitpunkt T₂
der Startsicherheitsüberprüfung unter Zuhilfenahme (Schritt 1025.3) des
gleichen Geheimschlüssels bilden und diesen MAC (T₂) mit dem EPROM
entnommenen (Schritt 1025.5) MAC (T₁) vergleichen (Schritt 1025.6).
Durch diesen Vergleich (Schritt 1025.6) lassen sich die Datenintegrität
der Wertstempeldaten überprüfen und eine Manipulationen des
Programmcodes erkennen (Schritt 1025.7). Bei einem negativen
Vergleich können dann entsprechende Maßnahmen ergriffen werden, die
einen weiteren Betrieb der Frankiermaschine verhindern (error handling
1030).
Die Fig. 11 betrifft das Prüfen ausgewählter Postdatenwerte in einer
elektronischen Frankiermaschine, die mit einem MAC abgesichert sind.
Eine solche Prüfung wird beispielsweise im Schritt 1027 während der
Start- und Initialisierungsroutine, im Kommunikationsmodus 300 und im
Frankiermodus 400 durchgeführt.
Die Startsicherheitsüberprüfung in der Start- und Initialisierungsroutine
wird also mittels eines ausgewählten Prüfsummenverfahren innerhalb
eines OTP-Prozessors (ONE TIME PROGRAMMABLE) durchgeführt, der
intern die entsprechenden Programmteile und außerdem den Code zur
Bildung eines MAC (MESSAGE AUTHENTIFICATION CODE) gespeichert
enthält, weshalb der Manipulator die Art des Prüfsummenverfahrens nicht
nachvollziehen kann. Auch weitere sicherheitsrelevante Schlüsseldaten
und Abläufe sind ausschließlich im Inneren des OTP-Prozessors
gespeichert, um eine MAC-Absicherung über die Postregister zu legen.
In der EP 660 269 ist die Absicherung der Registerwerte R1, R2, R3, die
in einem nichtflüchtigen NVRAM gepeichert sind (siehe Fig. 1), mit
einem MAC bereits ausgeführt. Die folgende Ausführung erweitert diese
Registerabsicherung, um gezielt eine noch höhere Sicherheit der
Frankiermaschine zu erreichen. Es sollen zusätzlich weitere Fälle
abgesichert werden:
- 1. Stückzählerregister R4, mit dem in der Frankiermaschine folgende sicherheits relevante Überprüfungen durchgeführt werden:
- - Suspicious Mode
- - Abdruck des R4-Wertes im Frankierstempelbild zur visuellen Postkontrolle
- - Sleeping Mode
Eine Manipulation von R4 würde diese aufgelisteten
Sicherheitsüberprüfungen in Frage stellen und deshalb wird R4 in die
nachfolgende MAC-Absicherung von Registern einbezogen.
- 2. Seriennummer, mit der das Benutzen von NVRAM′s aus anderen Fran kiermaschinen verhindert werden kann.
Der Vorschlag geht von einer Frankiermaschine aus, die die
Registerdaten,die Seriennummer und andere zur Laufzeit der
Frankiermaschine veränderliche Sicherheitsrelevante Daten (z. B
Codewort Y,Flags) in einem NVRAM hält (siehe Fig. 1) der nicht auf der
Steuereinheit aufgelötet ist, sondern in einem handelsüblichen Sockel
steckt, damit im Servicefall dieser NVRAM gezogen und mit einem
speziellen Servicecomputer ausgelesen werden kann um z. B.
Registerdaten zu auszulesen.
Ein Manipulator könnte die Frankiermaschine öffnen und sich von diesem
NVRAM oder dem einer anderen Frankiermaschine, die einen
konsistenten Datensatz (Geldwerte, Registerstände, MACs,
Sicherheitsdaten, FLAGs) beinhaltet, Kopien erzeugen. Nun führt er
gezielt Manipulationen am Datensatz durch, indem er z. B. den
abgerechneten Frankierwert verringert. Bei einer Inspektion oder der
nächsten Fernwertvorgabe würde diese Manipulation auffallen z. B. durch
die Überprüfungen des Suspicous Mode.
Bezieht man die Seriennummer, die eine eindeutige Kennzeichnung einer
einzelnen Frankiermaschine ist, also auch die eindeutige Kennzeichnung
des Datensatzes der Frankiermaschine ist, mit in die MAC-Absicherung
von Registerdaten ein, so läßt sich ein Datensatz im NVRAM aus einer
anderen Frankiermaschine nicht benutzen, weil die Seriennummer noch
in einem anderen nichtflüchtigen Speicher (z. B. EEPROM) eingespeichert
ist, der nicht aus der Frankiermaschine heraus genommen werden kann.
Bei einem Vergleich der verschieden abgespeicherten Seriennummern
würde die Manipulation erkannt werden und die Frankiermaschine
blockieren.
Um diese erhöhte Sicherheit zu erreichen, werden folgende Register mit
einem MAC abgesichert und sind somit gegenüber Manipulationen abge
sichert:
- - Restsummenregister R1
- - Vorgabesummenregister R3
- - Stückzahlregister R4
- - Maschinennummer Nr.
Das Prinzip dieser MAC-Generierung ist in Fig. 10 dargestellt.
Nach jeder Änderung der Register z. B. Frankieren wird der MAC neu
berechnet, in dem die Register mit der kryptographischen Funktion (Block
60), Data-Encryption-Standard (DES), unter Verwendung (Block 63) des
Geheimschlüssels Kreg verschlüsselt werden. Das Ergebnis der
Verschlüsselung, der MAC, wird in der dafür reservierten Datenbereich
50a im NVRAM gespeichert.
Der Register-MAC wird wie die anderen Postregister mehrfach im NVRAM
abspeichert und zu bestimmten Ereignissen in dem EEPROM
abgespeichert, da dieser nur eine begrenzte Anzahl von Speicherzyklen
zuläßt.
Die Fig. 11 zeigt den prinzipiellen Ablauf einer Überprüfung bei
eingeschalteter Frankiermaschine. Zur Laufzeit der Frankiermaschine
kann das Mikroprozessorsystem nach dem gleichen kryptographischen
Prüfsummenverfahren (Schritt 1027.2) über den zu prüfenden
Speicherbereich 50a (Schritt 1027.1) den MAC (Schritt 1027.4) zu den
Zeitpunkten Startsicherheitsüberprüfung 1020, vor jeder Frankierung
(Frankiermodus 400) und vor jeder Fernwertvorgabe
(Kommunikationsmodus 300) unter Zuhilfenahme des gleichen
Geheimschlüssels (Block 63, (Schritt 1027.3) bilden und diese
generierten MAC′s (Schritt 1027.4) mit dem entnommenen (Schritt
1027.5) MAC (T1) vergleichen im Schritt 1027.6).
Bei einem negativen Vergleich (Schritt 1027.7) können dann
entsprechende Maßnahmen (Schritt 1030) ergriffen werden, die einen
weiteren Betrieb der Frankiermaschine verhindern.
Die Fig. 5 zeigt den Ablaufplan für einen Frankiermodus mit
erfindungsgemäß integrierten Prüfschritten, die vor dem Drucken
ausgeführt werden. Diese umfassen ebenfalls die in den Fig. 10 und
11 näher erläuterte Absicherung ausgewählter Postdatenwerte in einer
elektronischen Frankiermaschine mit einem MAC.
Die Erläuterung der Abläufe nach dem - in der Fig. 5 gezeigten -
Frankiermodus erfolgt in Verbindung mit dem - in den Fig. 1, 2 bzw. 3,
4 dargestellten - Blockschaltbildern bzw. Abläufen.
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. Diese variablen Daten der Fensterinhalte werden nachfolgend
kurz als Fensterdaten und alle festen Daten für den Wertstempel, den
Tagesstempel und den Werbeklischeestempel als Rahmendaten
bezeichnet. Die Rahmendaten sind einem ersten Speicherbereich eines
Nurlesespeichers (ROM), welcher zugleich als Programmspeicher 11
dient, entnehmbar. Die Fensterdaten werden einem zweiten
Speicherbereich entnommen und entsprechend der Eingabe in
Speicherbereichen Bj des nichtflüchtigen Arbeitsspeichers 5 gespeichert.
Für eine solche Klischee- und oder Frankierbildverarbeitung ist ein - in
der Fig. 4 gezeigter - Schritt 1040 vorgesehen. Dieser Schritt umfaßt eine
automatische Routine für den Aufruf von Bildpunktdateien, die Zuordnung
und Einbettung von Pixelbilddaten der festen und semivariablen sowie
variablen Druckbilddaten. Das zugehörige Programm ist im Programm-EPROM
und/oder im internen OTP-ROM gespeichert. Da bis zum Schritt
1040 keine Programmverzweigung auf im externen Programm-EPROM
gespeicherte Programmteile erfolgt, kann keine Manipulation der
Druckbilderstellung erfolgen.
Sie sind den vorgenannten Speichern natürlich auch jederzeit während
der Laufzeit der Frankiermaschine zwecks eines neuen
Zusammensetzens zu einer Gesamtdarstellung eines Frankierbildes
entnehmbar. Dabei ist in einer bevorzugten Variante vorgesehen, die
hexadezimalen Fensterdaten in lauflängencodierter Form in die jeweils
getrennten Speicherbereiche B₁ bis B₄ des nichtflüchtigen
Arbeitsspeichers 5a zu übertragen und dort abzuspeichern. Außerdem
läuft die Zeit im Uhren/ Datums-Baustein 8 ständig auch bei
ausgeschalteter Frankiermaschine weiter. Wird also der Schritt 401 im
Frankiermodus 400 erreicht, wurde ggf. auch ohne manuelle bzw. erneute
externe Daten-Eingabe nach dem Einschalten der Frankiermaschine 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
die Druckdatenaufbereitung erfolgt. Hierbei werden die aktuellen
variablen Pixelbilddaten (Datum und Portowert) in die festen
Rahmenpixelbilddaten eingebettet. Anschließend erfolgt im Schritt 301
des Kommunikationsmodus 300 bzw. in weiteren Schritten, wie
beispielsweise im Schritt 401 des Frankiermodus 400 eine Abfrage der
Eingabemittel auf eventuelle weitere Eingaben.
Im Schritt 209 werden die Daten aus den vorgenannten
Speicherbereichen entsprechend einer vorbestimmten Zuordnung zu
einem Pixeldruckbild noch vor dem Druck zusammengesetzt. Die variable
Information im dafür vorgesehenen Fenster können nachträglich ergänzt
und modifiziert werden. Um Zeit einzusparen, werden nur die Teile einer
graphischen Darstellung bei einer Änderung neu im nichtflüchtigen
Arbeitsspeicher eingespeichert, die tatsächlich geändert werden. Im
Programmspeicher 11 liegt ein erster Speicherbereich A (u. a. für die
Daten der konstanten Teile des Frankierbildes) und im Klischee-EPROM
liegt ein weiterer Speicherbereich AAi (für den Werbeklischeerahmen)
vor. Die Subspeicherbereiche Ai, AAi sind für i = 1 bis m Rahmen- oder
Fixdaten vorgesehen, wobei ein zugeordneter Index i den jeweiligen
Rahmen kennzeichnet, welcher vorzugsweise einer bestimmten
Kostenstelle zugeordnet ist. Die entsprechende Zuordnung der jeweiligen
Kostenstelle zu den Rahmendaten wird nach dem Einschalten
automatisch abgefragt. In einer in der EP 658 861 A1 vorgeschlagenen
Variante kann nach jeder Auswahl eines anwenderspezifischen Klischees
durch Eingabe einer Klischee-Nummer die Kostenstelle automatisch
zugeordnet und in den Speicherbereich C eingegeben werden. In einer
anderen - nicht gezeigten - Variante muß nach jedem Einschalten
während der Startroutine die Kostenstelle erneut in den Speicherbereich
C eingegeben werden.
Im Charakterspeicher 9 sind alle alphanumerischen Zeichen bzw.
Symbole pixelweise als binäre Daten abgelegt. Die Daten für
alphanumerische Zeichen bzw. Symbole werden im nichtflüchtigen
Arbeitsspeicher 5 komprimiert in Form von Hexadezimalzahlen
abgespeichert. Sobald die Nummer der Kostenstelle eingegeben im
Speicherbereich C gespeichert vorliegt, werden die komprimierten Daten
aus dem Programmspeicher 11 mit Hilfe des Charakterspeichers 9 in ein
binäre Pixeldaten aufweisendes Druckbild umgewandelt, welches in
dekomprimierten Form im flüchtigen Arbeitsspeicher 7 gespeichert wird.
Zur Erläuterung der Erfindung werden nachfolgend Arbeitsspeicher 7a, 7b
und Pixelspeicher 7c verwendet, obwohl es sich hierbei physikalisch
vorzugsweise um einen einzigen Speicher handelt. Aus Sicherheits
überlegungen heraus, werden die wesentlichen
Bilderzeugungsprogrammschritte im internen OTP-RAM ablaufen und
sind somit nicht manipulierbar.
Die Speicherbereiche im nichtflüchtigen Arbeitsspeicher 5 können eine
Vielzahl von Subspeicherbereichen enthalten, unter welchen die
jeweiligen Daten in Datensätze gespeichert vorliegen. Die Subspeicher
bereiche Bj sind für j = 1 bis n Fensterdaten vorgesehen, wobei
verschiedene Zuordnungen zwischen den Subspeicherbereichen der
verschiedenen Speicherbereiche vorbestimmt gespeichert sind.
In einem jeden Datensatz eines Subspeicherbereiches Ai AAi, Bj sind
abwechselnd nacheinander Steuercode und lauflängencodierte Rahmen- bzw.
Fensterdaten enthalten. Vor dem Druck werden im Schritt 209 aus
dem nichtflüchtigen Programmspeicher (PSP) 11 die jeweiligen
ausgewählten festen Daten in erste Register 701, 711, 721, . . . , des
flüchtigen Arbeitsspeichers 7a übernommen, wobei während der
Übernahme Steuercodes dekodiert und in einem gesonderten
Speicherbereich des Arbeitsspeichers 7b gespeichert werden. Ebenso
werden die jeweiligen ausgewählten Fensterdaten für den Poststempel
und den Portostempel in zweite Register 702, 712, 722, . . . , geladen.
Vorzugsweise werden die Register von Subspeicherbereichen im
Speicherbereich des Arbeitsspeichers 7a gebildet. In der bevorzugten
Variante sind diese vorgenannten Register Bestandteil der
Mikroprozessorsteuerung 6. Durch Dekomprimieren werden die
lauflängencodierten hexadezimalen Daten in entsprechende binäre
Pixeldaten überführt.
Die Erfindung besteht weiterhin in einer Durchführung von
Authentizitätsprüfungen im Ergebnis der Druckdateneingabe im Schritt
1040 für Rahmen und/oder Fensterdaten während der Start- und
Initialisierungsroutine 101 und im Schritt 209 für sicherheitsrelevante
Fensterdaten, welche bei der Druckdateneingabe geändert wurden,
wobei bei fehlender Authentizität Schritte zum Verhindern einer weiteren
Programmausführung bzw. einer vom OTP-Prozessor nach extern
führenden Programmverzweigung im Rahmen vorgenannter
Systemroutine (200) und wobei bei bestehender Authentizität Schritte zur
weiteren Programmausführung im Rahmen vorgenannter Systemroutine
(200) durchgeführt werden.
Die Fig. 14 zeigt einen Ablaufplan zur Absicherung von
sicherheitsrelevanten Daten in einem frei zugänglichen Speicher bei einer
elektronischen Frankiermaschine. Im Schritt 209-1 erfolgt eine Eingabe
zur Veränderung von Fensterdaten. Die Eingabe wird im Schritt 209-2
angezeigt und dann auf einen ersten Prüfschritt 209-3 aus einer Anzahl
Prüfschritten 209-3 bis 209-12 verzweigt. Im externen
Programmspeicher (EPROM) befinden sich beispielsweise auch
Druckdaten des Wertstempels und andere Daten, wie beispielsweise Ort
des Absenders, Postleitzahl des Absenders usw., die durch das anhand
der Fig. 14 erläuterten Verfahren vor Manipulation geschützt werden
sollen. Die Prüfschritte erlauben eine Verzweigung auf jeweils einen der
Schritte 209-4 bis 209-11, falls bei der Eingabe ein anderer Wert, Slogan,
Klischee oder andere Daten ausgewählt wurden. Damit hat das
beschriebene Verfahren eine ausreichende Sicherheit, obwohl der MAC
jeweils nur über den Teilbereich im EPROM gebildet ist, der Daten
entsprechend der Auswahl enthält. Anschließend wird über einen Schritt
209-20 zur Rücksetzung des Schleifenzählers auf den Schritt 209-1
zurückverzweigt. Sind alle Prüfschritte 209-3 bis 209-12 ohne Änderung
bzw. Auswahl eines neuen Wertes bzw. Daten durchlaufen worden, dann
wird der Punkt e erreicht.
Das in EP 0 660 269 A2 mitgeteilte Verfahren, in welchem die
Überprüfung des Programmes mittels MAC nur einmal zu Beginn der
Laufzeit der Frankiermaschine erfolgt, wird erfindungsgemäß durch
zusätzliche Sicherheitsüberprüfungen der einzelnen nachträglich
geänderten Fensterdaten verbessert. In vorteilhafter Weise kann nun ein
nachträgliches Austauschen der EPROM-Daten während der Laufzeit der
in Betrieb befindlichen Frankiermaschine erkannt werden. Eine
Manipulation oder Unterschieben von manipulierten Daten in dem
Moment, wo die Daten eingelesen werden sollen, wird damit unmöglich
gemacht.
In der Fig. 15 sind die Schritte 209-10 bzw. 209-11 näher erläutert. Wird
keine Neueingabe erkannt (Schritt 2090) wird zum Schritt 209-20
zurückverzweigt. Vor der Anwendung des MAC werden die
abzusichernden externen EPROM-Daten vollständig in den Speicher der
Frankiermaschine geladen (Schritt 2091) und über diesen RAM-Bereich
wird danach ein MAC gebildet (Schritt 2092). Dieser MAC wird im Schritt
2094 mit einem vorberechneten MAC (Schritt 2093) verglichen, der an
geeigneter Stelle abgelegt ist, vorzugsweise im externen EPROM. Der
Vorteil dieser Variante liegt nun darin, daß jeweils nur solche Daten in der
Frankiermaschine verwendet werden, die die Sicherheitsprüfung
bestanden haben, da das von außen zugängliche EPROM und somit die
Daten für die Prüfung und die Weiterverarbeitung hierbei nur einmal
gelesen werden. Diese Vorgehensweise verhindert, daß die Daten
nachträglich manipuliert werden können (z. B. durch Umschalten des
externen EPROMs), da zum Bilden des MAC und zur Weiterverarbeitung
der Daten diese nur einmal gelesen werden.
Fällt der Vergleich von gebildetem MAC und dem Referez-MAC, der sich
vorzugsweise im externen ROM befindet, negativ aus, so können
geeignete Maßnahmen erfolgen. Vorzugsweise wird zwecks
Fehlerauswertung und Anzeige über den Schritt 209-13 auf den Schritt
209-14 verzweigt.
Im externen EPROM lassen sich die externen Daten in Speicherbereichen
unterteilt nach Datensätzen abspeichern, die jeweils nicht gleichzeitig in
der Frankiermaschine benötigt werden. Dieses Verfahren erlaubt eine
Zeitersparnis beim Prüfen der externen Daten, weil hier nur über einen
Teilbereich ein MAC gebildet und mit dem im EPROM gespeicherten
verglichen werden muß. Der für die Prüfung des MAC in der
Frankiermaschine benötigte Speicher wird dadurch verringert. Existieren
z. B. fünf externe Datenbereiche (Werbeklischees, Wahldrucke, o. a.), so
braucht beispielsweise nur 1/5 der Gesamtdatenmenge in den internen
Speicher übertragen werden (geringerer Speicherbedarf) und auch für
das Bilden des MAC wird nur ca. 1/5 der Zeit benötigt. Über alle vier nicht
benötigten Datenbereiche braucht also keine Prüfung zu erfolgen. Je
nach Anzahl der abzusichernden Datenbereiche befindet sich die gleiche
Anzahl an Referenz-MACs auch im externen Speicher (EPROM bzw.
ROM).
In anderen Varianten können sich die MACs auch im NV-RAM der
Frankiermaschine oder sogar im internen ROM der Frankiermaschine
befinden. Werden die MACs im internen NV-RAM abgelegt, so hat dies
auch den Vorteil, daß man auch ein nicht abgesichertes externes EPROM
bzw. ROM durch Eingabe eines Codes in die Frankiermaschine
authorisiert. Dadurch brauchen bei der Erzeugung der externen ROMs
keine festen Schlüssel eingesetzt zu werden, jede Frankiermaschine kann
über einen eigenen Schlüssel für das Erzeugen der MACs verfügen.
Die Sicherheit dieses neuen Verfahrens beruht nun darauf, daß sich im
internen OTP-ROM der Frankiermaschine ein oder mehrere
unzugängliche Verfahren (z. B. DES) und/oder ein oder mehrere
unzugängliche Schlüssel befinden, die für das Bilden des MAC
herangezogen werden. Die selben Schlüssel bzw. die selben Verfahren
sind auch für die im ROM gespeicherten MACs bei der Erstellung des
ROMs verwendet worden.
Bei der Verwendung dieses Verfahrens für die Absicherung von
komprimierten Klischeedaten wird der MAC über die entpackten Daten im
RAM gebildet. Dadurch erreicht man eine zusätzliche
Speicherplatzersparnis, da komprimierte und entkomprimierte Daten nicht
gleichzeitig im Speicher der Frankiermaschine abgelegt werden müssen.
In einer anderen Variante können die externen Daten auch unkomprimiert
vorliegen, wobei die Daten dann in den internen Speicher direkt
übernommen werden und dann über den internen Speicher oder Teile
davon der MAC gebildet wird. Die separate Absicherung der einzelnen
Klischeeteile hat darüberhinaus den Vorteil, daß der Zeitbedarf für das
Prüfen des MAC beim Anwählen eines Klischees gering bleibt, da immer
nur die Klischeeteile geprüft werden, die gerade benötigt werden. Für die
Prüfung der Daten in einem Klischeespeicher (z. B. ROM) ist daher nicht
nur ein MAC vorgesehen, sondern jedes Einzelklischee (Werbeklischee,
Wahldrucke bzw. Slogan oder andere Teile, wie beispielsweise die
"Entgelt bezahlt"-Leiste) besitzt einen eigenen MAC.
Neben Klischeedaten lassen sich auch andere in die Frankiermaschine
einzubringende Daten durch dieses Verfahren absichern. Diese Daten
können sich dabei in einem externen ROM, in einem externen RAM, in
einem externen NV-RAM, auch auf einer Chipkarte oder auch in einer
Kombination der vorgenannten befinden. Die Prüfung erfolgt dabei
wiederum erst nach der Übertragung der Daten in den internen Speicher
der Frankiermaschine.
Werden im Schritt 209-11 festgestellt, daß die MACs nicht identisch sind,
so kann wie im vorliegenden Fall im Schritt 209-14 der Fehler zur
Anzeige gebracht werden und die Maschine daraufhin blockieren. Eine
andere Möglichkeit, z. B. beim Absichern von Klischeedaten besteht
darin, ein Standardklischee für diesen Fall zu drucken, welches auf eine
Manipulation hinweist. Dabei kann dieses Klischee an Stelle des
manipulierten Klischees oder zusätzlich gedruckt werden. Es ist auch
möglich, ein anderes Klischee (z. B. Datum, Wert) so zu verändern, daß
eine Manipulation erkennbar ist.
Die einmal aufgerufenen konstanten Teile des Frankierbildes stehen im
Pixelspeicherbereich I im flüchtigen Pixelspeicher 7c ständig dekodiert
zur Verfügung. Für eine schnelle Änderung der Fensterdaten, existiert ein
zweiter Speicherbereich B im nichtflüchtigen Arbeitsspeicher 5.
Die Zahlenketten (sTrings), die für die Erzeugung der Eingabedaten 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 5 gespeichert. Außerdem bleiben auch
Datensätze der Subspeicherbereiche, zum Beispiel Bj, C usw., erhalten.
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. Ist eine Waage 22 angeschlossen, wird der Portowert aus dem
Speicherbereich D entnommen. Im Schritt 401 wird geprüft, ob eine
Eingabe vorliegt. Bei einer erneuten Eingabeanforderung im Schritt 401
wird auf den Schritt 209 zurückverzweigt.
Anderenfalls wird über die Schritte 402 und 404 zur Erhöhung eines
Durchlaufzählers und zur Prüfung der Anzahl an Durchläufen auf den
Schritt 405 verzweigt, um die Druckausgabeanforderung abzuwarten.
Durch einen Briefsensor wird der zu frankierende Brief detektiert und
damit eine Druckanforderung ausgelöst. Somit kann auf die Abrechnungs- und
Druckroutine im Schritt 406 verzweigt werden. Liegt keine
Druckausgabeanforderung (Schritt 405) vor, wird zum Schritt 209
(Punkt t) zurückverzweigt.
Wenn nach der - in der Fig. 5 dargestellten - bevorzugten Variante
nunmehr zum Punkt t zurückverzweigt und der Schritt 301 erreicht wird
kann jederzeit ein Kommunikationsersuchen gestellt oder eine andere
Eingabe gemäß den Schritten zum Datenwechsel 209, Testanforderung
212, Registercheck 214 sowie Eingabeanforderung 401 getätigt werden.
Es werden wieder Schritte 401 bis 404, wie bei der Variante nach Fig. 5
gezeigt durchlaufen. Bei einer vorbestimmten Anzahl an Durchläufen wird
vom Schritt 404 auf den Schritt 408 verzweigt. Das alternatives
Abfragekriterium kann im Schritt 404 abgefragt werden, um im Schritt 408
ein Standby-Flag zu setzen, wenn nach einer vorbestimmten Zeit noch
keine Druckausgabeanforderung vorliegt. Wie bereits oben erläutert,
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
aller oder mindestens ausgewählter Programme ergeben hat.
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 werden im Schritt 409 das
Vorhandensein authentischer Registerwerte (Fig. 11) und im Schritt 410
das Erreichen eines weiteren Stückzahlkriterium und im Schritt 406 die in
bekannten Weise zur Abrechnung eingezogenen Registerdaten
abgefragt. Außerdem wird, wie bereits anhand der Fig. 10 erläutert, eine
Absicherung ausgewählter Register im NVRAM der Frankiermaschine
durch MAC-Bildung durchgeführt. War die zum Frankieren vorbestimmte
Stückzahl bei der vorhergehenden Frankierung verbraucht, d. h. Stückzahl
gleich Null, wird vom Schritt 410 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 auf die Abrechnungs- und Druckroutine im Schritt 406
verzweigt. Ein spezieller Sleeping-Mode-Zähler wird im Schritt 406, d. h.
während der unmittelbar vor dem Druck erfolgenden Abrechnungsroutine
veranlaßt, einen Zählschritt weiterzuzählen. Ebenso die Anzahl von
gedruckten Briefen, und die aktuellen Werte in den Postregistern werden
entsprechend der eingegebenen Kostenstelle in nichtflüchtigen Speichern
5a, 5b der Frankiermaschine in der Abrechnungsroutine 406 registriert
und stehen für eine spätere Auswertung zur Verfügung.
Die Registerwerte können bei Bedarf im Anzeigemodus 215 abgefragt
werden. Es ist ebenfalls vorgesehen, die Registerwerte oder andere
Servicedaten mit dem Druckkopf der Frankiermaschine zu Abrechnungs- oder
Kontrollzwecken auszudrucken. Das kann beispielsweise ebenso
erfolgen, wie das normale Drucken des Frankierbildes wobei jedoch
anfangs ein anderer Rahmen für fixe Bilddaten gewählt wird, in welche die
variablen Daten entsprechend den im nichtflüchtigen Speicher NVM 5
bzw. im Kostenstellenspeicher gespeicherten Registerwerten eingefügt
werden, ähnlich wie das bereits in den Spalten 1 bis 2 bzw. im Anspruch
9, in der deutschen Offenlegungsschrift DE 42 24 955, für die Bildung und
Darstellung in drei mehrzeiligen Informationsgruppen bzw. für eine
erforderliche Umschaltung in einen entsprechenden Modus prinzipiell
ausgeführt wird. Wird eine gedrehte Darstellung verlangt, können
entgegen den speziellen Ausführungen in der deutschen
Offenlegungsschrift DE 42 24 955 A1, die Daten bereits im flüchtigen
Speicher direkt so gedreht abgelegt werden, wie sie für den Druck
benötigt werden. Die zeitaufwendige Routine des Drehens der
Druckdaten wird nur einmalig für eine zusätzliche Bildpunktdatei bei der
Programmierung des EPROMs beim Hersteller durchgeführt, was nur
mehr Speicherplatz erfordert aber keine erhöhte Rechenleistung in der
Frankiermaschine bindet.
Es ist bei einer anderen Variante weiterhin vorgesehen, daß auch
variable Pixelbilddaten während des Druckens in die übrigen
Pixelbilddaten eingebettet werden. Entsprechend der vom Encoder 13
gelieferten Positionsmeldung über den Vorschub der Postgutes bzw.
Papierstreifens in Relation zum Druckermodul 1 werden die
komprimierten Daten aus den Arbeitsspeichern 5a, 5b gelesen und mit
Hilfe des Charakterspeichers 9 in ein binäre Pixeldaten aufweisendes
Druckbild umgewandelt, welches ebenfalls in solcher dekomprimierten
Form im flüchtigen Arbeitsspeicher 7 gespeichert wird. Nähere
Ausführungen sind den europäischen Anmeldungen EP 576 113 A2 und
EP 578 042 A2 entnehmbar.
Der Pixelspeicherbereich im Pixel-Speicher 7c ist also für die
ausgewählten dekomprimierten Daten der festen Teile des Frankierbildes
und für die ausgewählten dekomprimierten Daten der variablen Teile des
Frankierbildes vorgesehen. Nach der Abrechnung erfolgt die eigentliche
Druckroutine (im Schritt 406).
Wie aus der Fig. 1 hervorgeht, stehen der Arbeitsspeicher 7b und der
Pixelspeicher 7c mit dem Druckermodul 1 über eine ein Druckregister
(PReg) 15 und eine Ausgabelogik aufweisende Druckersteuerung 14 in
Verbindung. Der Pixelspeicher 7c ist ausgangsseitig an einen ersten
Eingang der Druckersteuerung 14 geschaltet, an deren weiteren
Steuereingängen Ausgangssignale der Mikroprozessorsteuereinrichtung
6 anliegen.
Sind alle Spalten eines Druckbildes gedruckt worden, wird wieder zur
Systemroutine 200 zurückverzweigt.
Beim Übergang in die Systemroutine 200 wird - wie in der Fig. 3
dargestellt - nach einem weiteren Schritt 201 zum Datenaufruf,
insbesondere von Sleeping-Mode-Stückzahldaten, zunächst im Schritt
202 überprüft, ob die Kriterien für den Eintritt in den Sleeping-Mode erfüllt
sind. Ist das der Fall wird zum Schritt 203 verzweigt um mindestens eine
Warnung mittels der Anzeigeeinheit 3 anzuzeigen. Dabei können weitere
Schritte 204 bis 206 durchlaufen werden, bevor zum Schritt 209 verzweigt
wird. Ist das aber nicht der Fall wird ebenfalls zum Schritt 209 verzweigt.
Nach den Schritten wird in jedem Fall der Punkt t erreicht.
Nach erfolgter Neueingabe und Eingabe/Anzeige-Routine mit
Druckdatenzusammenstellung und Aufruf der erforderlichen
Bildpunktdateien im Schritt 209, wird unter der Voraussetzung, daß keine
relevante Mängel festgestellt wurden, nun der Punkt e, d. h. der Beginn
eines Kommunikationsmodus 300 erreicht. Dazu wird in einem Schritt 301
abgefragt, ob ein Transaktionsersuchen vorliegt. Ist das nicht der Fall,
wird der Kommunikationsmodus 300 verlassen und der Punkt f, d. h. der
Betriebsmodus 290 erreicht. Wurden relevante Daten im
Kommunikationsmodus übermittelt, dann ist zur Datenauswertung auf den
Schritt 213 zu verzweigen. Oder anderenfalls, wenn im Schritt 211 die
Nichtübermittlung festgestellt wird, ist auf den Schritt 212 zu verzweigen.
Nun wird überprüft, ob entsprechende Eingaben getätigt worden sind, um
bei Testanforderung 212 in den Testmodus 216, anderenfalls um bei
beabsichtigter Registerstandüberprüfung 214 in einen Anzeigemodus 215
zu gelangen. Ist das nicht der Fall, wird automatisch der Punkt d, d. h. der
Frankiermodus 400 erreicht.
Erfindungsgemäß ist weiterhin vorgesehen, daß im Schritt 213 eine
Statistik- und/oder Fehlerauswertung durchgeführt wird, um weitere
aktuelle Daten zu gewinnen, welche nach Verzweigung zur Systemroutine
200 in Schritt 201 ebenfalls aufrufbar sind.
Wird der Punkt e, d. h. der Beginn des nachfolgend erläuterten
Kommunikationsmodus 300 erreicht, wird im Schritt 301 abgefragt, ob ein
Transaktionsersuchen vorliegt. Ein solches kann beispielsweise zur
Guthaben- und Stückzahlnachladung oder Aktualisierung anderer
relevanter Daten gestellt werden.
Der Benutzer wählt den Kommunikations- bzw. Fernwertvorgabemodus
der Frankiermaschine über die Eingabe der Identifikationsnummer
(achtstelligen Portoabrufnummer) und über die Betätigung der
vorbestimmten T-Taste an. Ist der gewünschte Eingabeparameter richtig
angezeigt, wird dies durch erneutes Betätigen der vorbestimmten T-Taste
des Eingabemittels 2 bestätigt. Der Eingabeparameter wird bei Bedarf
editiert. In der Anzeigeeinheit < ;B 22240 00070 552 001000280000000200012000285912212900040 0002019534530 00004 22121OL<3 erscheint dann eine Darstellung
entsprechend der Eingabe.
Durch Betätigung der vorbestimmten T-Taste wird die Übertragung des
Eingabeparameters über MODEM-Verbindung gestartet und die Eingabe
überprüft. Der weitere Vorgang läuft automatisch ab, wobei der Ablauf
durch eine entsprechende Anzeige begleitet wird.
Dazu prüft die Frankiermaschine, ob ein MODEM angeschlossen und
betriebsbereit ist. Ist das nicht der Fall, wird auf den Schritt 310 verzweigt,
um anzuzeigen, daß das Transaktionsersuchen wiederholt werden muß.
Anderenfalls liest die Frankiermaschine die Wahlparameter, bestehend
aus den Herauswahlparametern (Haupt/Nebenstelle, usw.) und der
Telefonnummer aus einem NVRAM-Speicherbereich F und sendet diese
mit einem Wahlaufforderungskommando an das Modem 23. Anschließend
erfolgt der für die Kommunikation erforderliche Verbindungsaufbau über
das MODEM 23 mit der Datenzentrale. Nach einer vorbestimmten Anzahl
n ergebnisloser Wahlwiederholungen zwecks Verbindungsaufbau wird
über einen Anzeigeschritt 310 auf den Punkt e zurückverzweigt.
Es ist vorgesehen, daß eine während der Kommunikation mit
verschlüsselten Meldungen durchgeführte Transaktion einen Vorgabewert
für einen Guthabennachladewert umfaßt, welcher der entfernten
Datenzentrale übermittelt wird und/oder daß eine andere während der
Kommunikation mit verschlüsselten Meldungen durchgeführte Transaktion
eine spezifische Stückzahl S′ für einen Sleeping-Mode umfaßt.
Eines der Transaktionsersuchen führt in der Frankiermaschine zu einer
speziell gesicherten Guthabennachladung. Vorzugsweise erfolgt ein
Absichern der außerhalb des Prozessors im Kostenstellenspeicher
vorliegenden Postregister außerdem während der Guthabennachladung
mittels einer Zeitsteuerung. Wird die Frankiermaschine beispielsweise mit
einem Emulator/Debugger observiert, dann ist es wahrscheinlich, daß die
Kommunikations- und Abrechnungsroutinen nicht innerhalb einer
vorbestimmten Zeit ablaufen. Ist das der Fall, d. h. die Routinen be
nötigen erheblich mehr Zeit, würde dies in der Frankiermaschine erkannt
und als Folge werden kritische Speicherbereiche unwiederbringlich
gelöscht. Damit wird die Frankiermaschine am Weiterbetrieb gehindert.
Für die Übermittlung der für eine Guthaben- und/oder
Stückzahlnachladung erforderlichen Daten sind relevante Schlüssel
(Krypto-Keys) erforderlich, welche im Speicher in kryptifizierter Form
abgelegt worden sind. Das Prinzip des Sicherungskonzeptes ist in den
Fig. 12 und 13 dargestellt.
Vorzugsweise erfolgt eine Anwendung der DES-Algorithmus auf die für
die Fernwertvorgabe benötigten Schlüssel, um diese in kryptifizierter
Form abzulegen. Die Datenübertragung der Frankiermaschine zur
Datenzentrale wird im Kommunikationsmodus 300 ebenfalls mit DES-Algorithmus
abgesichert, wofür ein geheimer DES-Schlüssel benötigt
wird. Dieser geheime DES-Schlüssel wird im Kommunikationsmodus 300
gebildet, indem die verschlüsselten Schlüssel während der Laufzeit der
Frankiermaschine, d. h. während des Kommunikationsmodus 300 im OTP
entschlüsselt werden, um einen geheimen Schlüssel KAct in den internen
OTP-RAM zu laden.
Die Fig. 12 zeigt die Eingabeverschlüsselung des Fernwertvorgabe
DES-Schlüssels KFix zur Absicherung des Fernwertvorgabe DES-Schlüssels
KFix vor Manipulation.
Bei der Herstellung oder durch den Service-Techniker erhält jede
Frankirmaschine über ihr Userinterface 2, 3 einen festen
Fernwertvorgabeschlüssel KFix, der prinzipiell verborgen im NVRAM
gehalten werden muß. Dafür wird der Fernwertvorgabeschlüssel im
Schritt 60 mit der kryptographischen Funktion, Data-Encryption-Standard
(DES), unter Verwendung des im OTP-ROM (Schritt 64) gespeicherten
Geheimschlüssels Kkfix verschlüsselt. Der verschlüsselte
Geheimschlüssel Kfix wird nun im externen Datenspeicher (NVRAM)
abgelegt.
In der Fig. 13 ist dargestellt, welche Schritte zur Laufzeit der
Frankiermaschine für eine Fernwertvorgabe durchgeführt werden müssen,
damit aus dem verschlüsselten KFix-Wert im externen NVRAM der DES-Schlüssel
KAct gebildet wird, der für die Zeit der
Fernwertvorgabeprozedur im prozessorinternen RAM gehalten wird. Der
Geheimschlüssel KKfix wird dem internen OTP-ROM (Block 64) und
verschlüsselte Schlüssel Crypt KFix wird dem NVRAM entnommen. Der
Block 60 der Fig. 13 zeigt die Entschlüsselung DES-Schlüssels KFix
und eine Speicherung im internen OTP-RAM für die Fernwertvorgabe im
Block 65.
Die Frankiermaschine führt regelmäßig und/oder beim Einschalten den
Registercheck durch und kann somit die fehlende Information erkennen,
falls die Maschine unautorisiert geöffnet worden war. Die Frankier
maschine wird dann blockiert.
Der potentielle Manipulator einer Frankiermaschine muß mehrere
Schwellen überwinden, was natürlich einen gewissen Zeitaufwand bedarf.
Erfolgt in gewissen Zeitabständen keine Verbindungsaufnahme von der
Frankiermaschine zur Datenzentrale, wird die Frankiermaschine bereits
suspekt. Es ist dabei davon auszugehen, daß derjenige, der eine
Manipulation an der Frankiermaschine begeht, sich kaum wieder bei der
Datenzentrale melden wird.
Die Steuereinrichtung 6 weist einen Mikroprozessor oder einen OTP auf.
Im OTP sind neben einem Mikroprozessor auch nichtflüchtige Speicher
und weitere Schaltungen in einem gemeinsamen Gehäuse untergebracht.
Der interne nichtflüchtige Speicher umfaßt beispielsweise Programm
speicher und insbesondere auch die Möglichkeit Sicherungsbits zu
setzen, die das Auslesen des internen nichtflüchtigen Speichers von
außen verhindern. Diese Sicherungsbits werden während der Herstellung
der Frankiermaschine im OTP 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 Drucker
steuerung. Wenn eine bestimmte Zeit abgelaufen ist 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. Erfindungsgemäß wird die Taktgeber/Zähler-Schaltung
für eine Programmlaufzeitüberwachung eingesetzt. Dabei wird
von einer bekannten Anzahl von Taktzyklen für den Programmablauf von
vorbestimmten Programmteilen ausgegangen. Vor dem Start der Routine
wird der Zähler der Taktgeber/Zähler-Schaltung in vorbestimmter Weise
voreingestellt bzw. zurückgesetzt. Nach dem Start der Programmroutine
wird entsprechend den Taktimpulsen des Taktgebers der Zählerstand
laufend verändert. Nach Abarbeitung der kritischen vorbestimmten
Programmteile wird der Zustand des Zählers vom Mikroprozessor
abgefragt und mit dem erwarteten Wert verglichen. Beim Überschreiten
einer vorbestimmten Abweichung in der Laufzeit kritischer bzw.
sicherheitsrelevanter Programmteile kann die Frankiermaschine somit
nicht weiter zum Frankieren betrieben werden (Kill Mode 1). Nimmt ein
Manipulator einen unautorisierten Eingriff vor, wird die Frankiermaschine
während der Laufzeit durch das Überführen in den ersten Modus wirksam
außer Betrieb gesetzt.
Bei einer Inspektion werden die Registerstände überprüft. Bei Bedarf
kann ein Probeabdruck mit dem Wert 0 gemacht werden. Bei einer
Reparatur durch den Service vor Ort muß eventuell in die
Frankiermaschine eingegriffen werden. Die Fehlerregister sind
beispielsweise mit Hilfe eines speziellen Service-EPROM auslesbar,
welches an die Stelle des Advert-EPROM gesteckt wird. Wenn auf diesen
EPROM-Steckplatz vom Prozessor nicht zugegriffen wird, wird
gewöhnlich ein Zugriff auf die Datenleitungen durch spezielle - in der
Fig. 2 dargestellte - Treiberschaltkreise (Buffer) verhindert. Die
Datenleitungen, welche hier durch eine unversiegelte Gehäusetür erreich
bar sind, können somit nicht unbefugt kontaktiert werden. Eine andere
Variante ist das Auslesen von Fehlerregisterdaten durch einen über eine
Schnittstelle angeschlossenen Service-Computer, wobei die Schnittstelle
dann entsprechende Sicherheitsmaßnahmen aufweisen muß.
Es ist außerdem auch in Zeiten in welchen nicht gedruckt wird (Standby
Modus) vorgesehen, daß eine Abfrage hinsichtlich Manipulations
versuchen erfolgt und/ oder die Checksumme der Registerstände
und/oder über den Inhalt des Programmspeichers PSP 11 gebildet wird.
Zur Verbesserung der Manipulationssicherheit wird dabei für einen Kill-Mode
2 die Checksumme im OTP über den Inhalt des externen
Programmspeichers PSP 11 gebildet und das Ergebnis mit einem im OTP
gespeicherten vorbestimmten Wert verglichen. Dies erfolgt vorzugsweise
im Schritt 101, wenn die Frankiermaschine gestartet wird, oder im Schritt
213, wenn die Frankiermaschine im Standby-Modus betrieben wird. Der
Standby-Modus wird erreicht, wenn eine vorbestimmte Zeit keine
Eingabe- bzw. Druckanforderung erfolgt. Letzteres ist der Fall, wenn ein
an sich bekannter - nicht näher dargestellter - Briefsensor keinen
nächsten Briefumschlag ermittelt, welcher frankiert werden soll. Der - in
der Fig. 5 gezeigte - Schritt 405 im Frankiermodus 400 umfaßt daher
noch eine weitere Abfrage nach einem Zeitablauf, welche bei
Zeitüberschreitung letztendlich wieder auf den Punkt t und damit auf die
Eingaberoutine gemäß Schritt 209 führt. Wird das Abfragekriterium erfüllt,
wird wie im Schritt 408 ein Standby-Flag gesetzt und direkt auf den Punkt
s zur Systemroutine 200 oder zum Punkt t zurückverzweigt, ohne daß die
Abrechnungs- und Druckroutine im Schritt 406 durchlaufen wird. Das
Standby-Flag wird später im Schritt 211 abgefragt und nach der
Checksummenprüfung im Schritt 213 zurückgesetzt, falls kein
Manipulationsversuch erkannt wird.
Das Abfragekriterium in 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 ebenfalls auf den Schritt 213 verzweigt. Der Vorteil
dieses Verfahrens in Verbindung mit dem ersten Modus besteht darin,
daß der Manipulationsversuch statistisch im Schritt 213 erfaßt wird.
Um die Sicherheit gegenüber Manipulationen weiter zu erhöhen wird
erfindungsgemäß eine Flußkontrolle (Flow Control) eingesetzt, welche
nachfolgend erläutert wird. Eine solche Flow Control erfolgt durch
Verändern eines Zählwertes in einem Speicher an mindestens einem
Punkt während der Ausführung der Programmroutine. Nach Ausführung
der Programmroutine wird der veränderte Zählwert mit einem dieser
Programmroutine zugeordneten vorbestimmten Zählwert verglichen.
Werden nun während der Programmausführung Verzweigungen
durchlaufen, so können sich unterschiedliche Zählwerte ergeben. In einer
nachfolgenden Auswertung wird ein Plausibilitätstest durchgeführt bzw.
es kann festgestellt werden, welche Verzweigungen durchlaufen wurden.
Das ist dadurch möglich, da die Veränderung des Zählwertes durch eine
Multiplikation mit einer bestimmten dem jeweiligen Programmteil
zugeordneten Primzahl erfolgt. Bei einer späteren Auswertung muß dann
lediglich eine Primzahlzerlegung durchgeführt werden.
In einer anderen Variante, wo nur solche Programmteile ohne
Verzweigungen berücksichtigt werden bzw. keine Rückverfolgung der
durchlaufenen Programmzweige erforderlich wird, ist ein Inkrementieren
des Zählwertes und abschließender Vergleich mit mindestens einem
vorbestimmten Zahlwert ausreichend.
Der in der Fig. 3 dargestellte Gesamtablaufplan für ein
Sicherheitssystem weist Schritte 201 bis 206 für eine Überwachung
weiterer Kriterien auf. Bei einer Verletzung eines der Sicherheitskriterien
tritt die Frankiermaschine in einen Sleeping-Modus ein, beispielsweise,
wenn nach Verbrauch einer vorbestimmten Stückzahl noch keine
Verbindung zur Datenzentrale aufgenommen wurde.
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 Frankier
maschine ihre Arbeitsweise (Sleeping Modus-Variante 1).
Eine andere Variante gibt eine ständige Warnung für ein bevorstehendes
Schlafenlegen der Frankierfunktion im Schritt 203 aus, wobei dieser nun
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.
Die Frankiermaschine verlangt in der aus US 3 255 439 bekannten
Weise eine Verbindung zur Datenzentrale. Kommt die Verbindung
zustande, prüft die Datenzentrale die Registerstände. Falls die
Nachladung nicht vorgenommen werden kann, hindert die Datenzentrale
durch ein zur Frankiermaschine übermitteltes Signal diese am weiteren
Betrieb. Wenn die Verbindung kurz nach der von der Frankiermaschine
vorgenommenen Signalisierung zustande kam und die Registerstände
nicht bemängelt werden, kann die Frankiermaschine ohne eine weitere
außerordentliche Inspektion in den Betriebsmodus zurückgeschaltet
werden. Hierzu werden neue aktuelle Daten beispielsweise für ein
Guthaben und für die erlaubte Stückzahl übermittelt, welche bis zur
nächsten Verbindungsaufnahme frankiert werden kann.
Die Datenzentrale kann aufgrund des übermittelten Signalisierungscodes
zwischen automatisch vorgenommener und normaler Kommunikation
unterscheiden. Erstere wird immer dann erfolgen, wenn der Nutzer der
Frankiermaschine die Aufforderungen zur Kommunikation übersehen bzw.
ignoriert hat und entsprechende Eingabehandlungen unterläßt. Hierbei
kann im Wiederholungsfall bei einem Verdacht einer Manipulation eine
Sonderinspektion angeordnet werden.
Vom Frankiermodus kann dann direkt auf den Kommunikationsmodus 300
Punkt e zurückverzweigt werden. Damit können weiterhin auch andere
Eingaben, beispielsweise gemäß den Schritten Testanforderung 212 oder
Registercheck 214 getätigt werden. Nur falls auf den Frankiermodus 400
verzweigt wird, wird dann im Schritt 410 entsprechend dem
Entscheidungskriterium erneut festgestellt, ob eine automatische
Kommunikation erforderlich ist. Das ist vorzugsweise der Fall, falls die
vorbestimmte Stückzahl verbraucht ist.
War die Kommunikation erfolgreich und wurden Daten übermittelt (im
Schritt 211 abgefragt), wird ebenfalls 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′.
Eine alternative Variante besteht darin, daß das Entscheidungskriterium
das neue zum Frankieren übermittelte Guthaben ist und im
Auswertemodus 213 die neue Stückzahl S′ intern in der Frankiermaschine
ermittelt wird. Die Kommunikation mit der Datenzentrale umfaßt in diesem
Fall nicht mehr die neue Stückzahl S′, sondern ist lediglich zur Auslösung
der Berechnung im Auswertemodus 213 erforderlich. Die Berechnung
erfolgt intern in der Frankiermaschine und gleichzeitig parallel dazu in der
Datenzentrale nach den gleichen Methoden aufgrund der übermittelten
Registerdaten.
Die Frankiermaschine kann der Datenzentrale Registerwerte vor einer
Guthabennachladung übermitteln:
R1 (descending register) vorrätige Restbetrag in der Frankier maschine,
R2 (ascending register) Verbrauchssummenbetrag in der Frankier maschine,
R3 (total resetting) die bisherige Gesamtvorgabesumme aller Fern wertvorgaben,
R4 (piece count Σprinting with value =/=O) Anzahl gültiger Drucke,
R8 (R4 + piece count Σprinting with value =O) Anzahl aller Drucke
R1 (descending register) vorrätige Restbetrag in der Frankier maschine,
R2 (ascending register) Verbrauchssummenbetrag in der Frankier maschine,
R3 (total resetting) die bisherige Gesamtvorgabesumme aller Fern wertvorgaben,
R4 (piece count Σprinting with value =/=O) Anzahl gültiger Drucke,
R8 (R4 + piece count Σprinting with value =O) Anzahl aller Drucke
daraus folgt: R3 = R2 + R1 (1)
Bei jeder Fernwertvorgabe läßt sich R1 abfragen und statistisch
auswerten. Wird R1 immer größer, dann kann der gleiche Nachladebetrag
in immer größeren Nachladeperioden nachgeladen werden, bzw. die
Stückzahl wird kleiner angesetzt, welche bis zur nächsten Kommunika
tion frankiert werden darf.
Anhand der frankiermaschinenspezifischen Daten läßt sich ein
Frankiermaschinen-Profil erstellen. Dieses Frankiermaschinen-Profil gibt
darüber Auskunft, ob ein Kunde mit den durchgeführten
Nachladevorgängen in der Lage war, die ermittelte Anzahl an
Frankierungen durchzuführen. Es sind innerhalb des Suspicious Mode
zwei Stufen zu unterscheiden:
1. Frankiermaschine ist verdächtig und
2. Frankiermaschine muß manipuliert worden sein.
1. Frankiermaschine ist verdächtig und
2. Frankiermaschine muß manipuliert worden sein.
In regelmäßigen Abständen wird in der Datenzentrale eine
Plausibilitätskontrolle sämtlicher im Einsatz befindlicher
Frankiermaschinen durchgeführt. Bei diesem Verfahren werden die
Maschinen gekennzeichnet und der Postbehörde gemeldet, deren
Frankierverhalten verdächtig erscheinen oder manipuliert worden sind.
In der Frankiermaschine ist ggf. noch eine andere Sicherheitsmaßnahme
(Error Overflow Mode) vorgesehen. Diese kann im zweiten Modus neben
oder anstatt der Sleeping-Mode-Variante 1 oder Sleeping-Mode-Variante
2 durchgeführt werden. Bei Erfüllung des Abfragekriteriums im Schritt
202, d. h. bei Überschreitung einer vorbestimmten Anzahl an Fehlern,
verlangsamt sich die Reaktionszeitdauer der Frankiermaschine im Schritt
203, wobei über die Anzeige gleichzeitig dieser Zustand an den Bediener
der Frankiermaschine gemeldet wird. In den weiteren Schritten kann
ähnlich verfahren werden, wie in Zusammenhang mit den Fig. 2 und 5
bereits erläutert wurde. Die Frankiermaschine speichert sowohl interne
als auch Bedienungsfehler und Manipulationsversuche in einem
Fehlerregister zu protokollarischen Zwecken beispielsweise bis zu der
Zahl 999. Wird der Zustand der Überschreitung der Fehleranzahl nicht
beseitigt beispielsweise im Rahmen einer Inspektion durch einen
Servicedienst oder durch Rücksetzen während einer Kommunikation mit
der Datenzentrale, kann die Reaktionszeitdauer weiter erhöht werden, um
eventuelle Manipulationen zu erschweren. Die Fehlerzahl wird dann
weiter d. h. wieder bis zu einer vorbestimmten Zahl, beispielsweise im
Schritt 213 protokolliert.
In einer ersten Variante ist vorgesehen, die Reaktionszeitdauer
beispielsweise die Zeitdauer bis zum Beginn des Druckbetriebes, linear
mit der Anzahl der Fehler zu erhöhen. Die Ausführung des Programmes
wird dadurch weder modifiziert noch verhindert, sondern nur verzögert.
Insbesondere werden solche unkritischen Programmteile, welche nicht
durch Time supervision (Kill Mode 1) oder Flow control überwacht
werden, mehrfach aufgerufen, wie beispielsweise die Fehleranzeige.
Damit bleibt die Wirkung des Programmes im wesentlichen unverändert.
In einer zweiten Variante wird die Reaktionszeitdauer jeweils um eine
Stufe erhöht, wobei die Stufen Sekunden, Minuten, Stunden, Tage,
usw. betreffen können.
In Abänderung bzw. in Kombination mit vorgenannten Varianten kann
eine Erhöhung der Reaktionszeitdauer außerdem bei jeder
Fehlbedienung vorgesehen werden. Hierzu wird in einer Ausführungsform
ein elektronisches Zeitschloß betätigt. Vorzugsweise wird eine
progressive Steigerung der Reaktionszeitdauer im Betriebsprogramm
vorgesehen, um eine Manipulation zu erschweren.
Es ist vorgesehen, daß der Schritt 213 teilweise oder ganz in Verbindung
mit anderen Schritten als Subschritt aufgerufen wird. Beispielsweise ist
der Statistik und Fehlermodus Bestandteil des Schrittes 203 und der
Abrechnungs- und Druckroutine gemäß des Schrittes 406 im
Frankiermodus 400, welcher in den Fig. 3 und 5 näher dargestellt ist.
Tritt ein schwerer Abrechnungsfehler auf wird die Maschine im Schritt 406
blockiert. Tritt ein Fehler aber während der Initialisierungsphase im Schritt
101 auf, bleibt die Maschine unter Anzeige eines bestimmten Fehlercodes
stehen.
Andererseits gibt es schwere Fehler, welche erst anläßlich der nächsten
Inspektion vor Ort von einer dazu berechtigten Person aufgehoben
werden können. Ein solcher Fehler, beispielsweise wenn der Prozessor
nicht auf den Arbeitsspeicher zugreifen kann, d. h. den Dateninhalt des
RAM′s weder lesen noch verändern kann, wird beispielsweise durch
Stecken eines speziellen RESET-EPROM′s beseitigt. Hierzu muß die
Verplombung der Klappe und die Frankiermaschine geöffnet werden. Das
RESET-EPROM enthält die erforderlichen Daten, beispielsweise den
entsprechenden Schlüssel, und spezielle Programme zur
Wiederherstellung der Frankiermaschinenfunktion. Beispielsweise kann
ein solches Programm eine erfolgte Redundanzverringerung wieder
rückgängig machen. Die Protokollierung der Fehler, welche während des
Betriebes der Frankiermaschine im Statistik- und
Fehlerauswertungsmodus (Schritt 213) getrennt nach Fehlerarten erfolgt,
wird dabei von der berechtigten Person daraufhin überprüft, ob ein
Manipulationsversuch unternommen worden ist.
Die Erfindung ist nicht auf die vorliegenden Ausführungsformen
beschränkt. Vielmehr ist eine Anzahl von Varianten denkbar, welche von
der dargestellten Lösung auch bei grundsätzlich anders gearteten
Ausführungen Gebrauch machen.
Claims (15)
1. Verfahren zur Absicherung von Daten und Programmcode einer
elektronischen Frankiermaschine gegen Manipulation mit einem
Mikroprozessor in einer Steuereinheit der Frankiermaschine zur
Ausführung von Schritten für eine Start- und Initialisierungsroutine und
nachfolgender Systemroutine mit einer Möglichkeit in einen
Kommunikationsmodus mit einer entfernten Datenzentrale einzutreten
sowie weiteren Eingabeschritten, um in einen Frankiermodus einzutreten
von dem nach Ausführung einer Abrechnungs- und Druckroutine in die
Systemroutine zurückverzweigt wird,
gekennzeichnet durch
gekennzeichnet durch
- a) eine Startsicherheitsüberprüfung (1020) im Rahmen einer Start- und Initialisierungsroutine (101), welche abläuft vor einer sicheren Druckdatenaufrufroutine (1040) und der nachfolgenden Systemroutine (200), zur Feststellung der Gültigkeit eines Programm-Codes und/oder von Daten im vorbestimmten Speicherplatz und eines zugehörigen MAC (MESSAGE AUTHENTIFICATION CODE), welche im selben Speichermittel gespeichert vorliegen, wobei die Überprüfung auf gültigen Programm-Code und/oder auf Gültigkeit der Daten mittels eines ausgewählten Prüfsummenverfahrens innerhalb eines OTP-Prozessors (ONE TIME PROGRAMMABLE) durchgeführt wird, der intern die entsprechenden Programmteile enthält und
- b) Überführung der Frankiermaschine in die vorgenannte Systemroutine (200) bei Gültigkeit der Daten oder Überführung der Frankiermaschine in einen ersten Modus, wenn die Daten ungültig sind bzw. ein spezifisches Manipulationskriterium erfüllt ist, durch Schritte zum Verhindern des Frankierens bzw. Sperrens der Frankiermaschine (1030) und/oder Schritte zum Verhindern einer weiteren Programmausführung bzw. einer vom OTP-Prozessor nach extern führenden Programmverzweigung im Rahmen vorgenannter Systemroutine (200).
2. Verfahren nach Anspruch 1, gekennzeichnet durch die
Schritte:
- - Übertragen eines extern gespeicherten vorbestimmten MAC-Wertes in den internen OTP-RAM zur flüchtigen Speicherung und ein Bilden einer MAC-Prüfsumme im OTP-Prozessor über den Inhalt desjenigen externen Speichers, welchem der MAC zugeordnet ist,
- - Vergleich des Ergebnisses mit dem im internen OTP-RAM flüchtig gespeicherten vorbestimmten Wert des MAC vor und/oder nach Ablauf des Frankiermodus, im Kommunikationsmodus (300) bzw. in einem weiteren Betriebsmodus oder in Zeiten, in welchen nicht gedruckt wird, mittels der internen Verarbeitungseinheit (OTP-CPU).
3. Verfahren nach den Ansprüchen 1 bis 2, dadurch gekenn
zeichnet, daß die Frankiermaschine nach Zeitablauf ohne
Frankierauslösung und/oder nach einer Anzahl von Programmschleifen-Durchläufen
ohne Eingabe im Standby-Modus betrieben wird, wobei im
Standby-Modus Sicherheitsüberprüfungen sicherheitsrelevanter Daten
und Programme durchgeführt werden und im Fehlerfall eine
Protokollierung und anschließende Blockierung der Frankiermaschine
erfolgt.
4. Verfahren zur Absicherung von Daten einer elektronischen
Frankiermaschinen gegen Manipulation mit einem Mikroprozessor in einer
Steuereinheit der Frankiermaschine zur Ausführung von Schritten für eine
Start- und Initialisierungsroutine und nachfolgender Systemroutine mit
einer Möglichkeit in einen Kommunikationsmodus mit einer entfernten
Datenzentrale einzutreten sowie weiteren Eingabeschritten, um in einen
Frankiermodus einzutreten von dem nach Ausführung einer Abrechnungs- und
Druckroutine in die Systemroutine zurückverzweigt wird,
gekennzeichnet dadurch , daß für die Kommunikation mit
der Datenzentrale ein geheimer erster Schlüssel eingesetzt wird, der im
nichtflüchtigen Speicher extern vom OTP-Prozessor in verschlüsselter
Form gespeichert vorliegt der mittels eines internen zweiten Schlüssels
innerhalb des OTP-Prozessors entschlüsselt wird, daß der verschlüsselte
erste Schlüssel in Verbindung mit dem DES-Algorithmus und dem
vorgenannten zweiten Schlüssel entschlüsselt wird, welche im internen
OTP-ROM sicher gespeichert vorliegen, daß der entschlüsselte erste
Schlüssel in Verbindung mit dem DES-Algorithmus zur Sicherung der
Kommunikation der Frankiermaschine mit der Datenzentrale eingesetzt
wird.
5. Verfahren nach Anspruch 4, gekennzeichnet dadurch,
daß während der Kommunikation Transaktionen mit verschlüsselten
Meldungen durchgeführt werden, um ein Guthaben und/oder weitere
aktuelle Daten in die Frankiermaschine zu laden, sowie daß die
Transaktionsdaten einzeln und seriell übertragen und durch einen
MESSAGE AUTHENTIFICATION CODE (MAC) gesichert werden, wobei
die MAC-Bildung intern im OTP-Prozessor erfolgt.
6. Verfahren nach den Ansprüchen 4 bis 5, dadurch gekenn
zeichnet, daß eine während der Kommunikation mit verschlüsselten
Meldungen durchgeführte Transaktion einen Vorgabewert für einen
Guthabennachladewert umfaßt, welcher der entfernten Datenzentrale
übermittelt wird.
7. Verfahren nach den Ansprüchen 4 bis 6, dadurch gekenn
zeichnet, daß eine während der Kommunikation mit verschlüsselten
Meldungen durchgeführte Transaktion eine spezifische Stückzahl S′ für
einen Sleeping-Mode umfaßt.
8. Verfahren zur Absicherung von Daten einer elektronischen
Frankiermaschine gegen Manipulation mit einem Mikroprozessor in einer
Steuereinheit der Frankiermaschine zur Ausführung von Schritten für eine
Start- und Initialisierungsroutine und nachfolgender Systemroutine mit
einer Möglichkeit in einen Kommunikationsmodus mit einer entfernten
Datenzentrale einzutreten sowie weiteren Eingabeschritten, um in einen
Frankiermodus einzutreten von dem nach Ausführung einer Abrechnungs- und
Druckroutine in die Systemroutine zurückverzweigt wird,
gekennzeichnet durch
- a) Übertragen eines extern gespeicherten vorbestimmten MAC-Wertes und ausgewählter Daten eines zu prüfenden Speicherinhaltes in den internen OTP-RAM zur flüchtigen Speicherung und ein Bilden einer MAC-Prüfsumme im OTP-Prozessor über den Inhalt desjenigen externen Speichers, welchem der MAC zugeordnet ist
- b) eine Startsicherheitsüberprüfung (1020) im Rahmen einer Start- und Initialisierungsroutine (101), welche abläuft vor einer sicheren Druckdatenaufrufroutine (1040) und der nachfolgenden Systemroutine (200), zur Feststellung der Gültigkeit eines Programm-Codes und/oder von Daten in einem vorbestimmten Speicherplatz eines ersten Speichermittels, wobei ein zugehöriger MAC (MESSAGE AUTHENTIFICATION CODE) in einem zweiten Speichermittel gespeichert vorliegt und wobei die Überprüfung auf gültigen Programm-Code und/oder auf Gültigkeit der Daten mittels eines ausgewählten Prüfsummenverfahrens innerhalb eines OTP-Prozessors (ONE TIME PROGRAMMABLE) durchgeführt wird, der intern die entsprechenden Programmteile für die Überprüfung enthält und
- c) einem Verschlüsselungs-Algorithmus und einem zugehörigen Schlüssel, welche im internen OTP-ROM sicher gespeichert vorliegen, wobei ein Schlüssel für die Absicherung aller Speicherinhalte oder eine Anzahl verschiedener Schlüssel für die Absicherung der unterschiedlichen Speicherinhalte verwendet wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet
daß zur Bildung des MAC ein DES-Algorithmus verwendet wird, der im
internen OTP-ROM sicher gespeichert vorliegt.
10. Verfahren zur Absicherung von Daten und Programmcode einer
elektronischen Frankiermaschine mit einem Mikroprozessor in einer
Steuereinrichtung der Frankiermaschine zur Ausführung von Schritten für
eine Start- und Initialisierungsroutine und nachfolgender Systemroutine
mit einer Möglichkeit in einen Kommunikationsmodus mit einer entfernten
Datenzentrale einzutreten sowie weiteren Eingabeschritten, um in einen
Frankiermodus einzutreten von dem nach Ausführung einer Abrechnungs- und
Druckroutine in die Systemroutine zurückverzweigt wird, gekenn
zeichnet durch
- a) mit einer Startsicherheitsüberprüfung (1020) im Rahmen einer Start- und Initialisierungsroutine (101), welche abläuft vor einer sicheren Druckdatenaufrufroutine (1040) und der nachfolgenden Systemroutine (200), zur Feststellung der Gültigkeit eines gültigen Programm-Code und/oder von gültigen Daten im vorbestimmten Speicherplatz, wobei ein zugehöriger MAC (MESSAGE AUTHENTIFICATION CODE) im selben Speichermittel gespeichert vorliegt und wobei die Überprüfung auf gültigen Programm-Code und/oder auf Gültigkeit der Daten mittels eines ausgewählten Prüfsummenverfahrens innerhalb eines OTP-Prozessors (ONE TIME PROGRAMMABLE) durchgeführt wird, der intern die entsprechenden Programmteile enthält.
- b) Überführung der Frankiermaschine in einen ersten Modus, wenn die Daten ungültig sind bzw. ein spezifisches Manipulationskriterium erfüllt ist, durch Schritte zum Verhindern des Frankierens bzw. Sperrens der Frankiermaschine und/oder Schritte zum Verhindern einer weiteren Programmausführung bzw. einer vom OTP-Prozessor nach extern führenden Programmverzweigung im Rahmen vorgenannter Systemroutine (200), wobei Schritte im Rahmen einer Fehlerbehandlung ausgeführt werden, um die Auswertung und Anzeige des vorgenannten ersten Modus zu sichern,
- c) Überführung der Frankiermaschine in die vorgenannte Systemroutine (200),
- d) Überführung der Frankiermaschine in einen zweiten Modus, wenn ein spezifisches Kriterium erfüllt ist, durch Schritte (201 bis 206), die nach dem Beginnpunkt s der Systemroutine (200) und vor dem Punkt t ablaufen, umfassend:
- - einen Schritt (201) zum Aufruf aktueller Daten
- - einen Schritt (202) zur Überprüfung der Daten mittels eines Entscheidungskriteriums und Eintritt bei Erfüllung des Kriteriums in den zweiten Modus (Schritte 203-206), um an den Benutzer der Frankiermaschine eine Warnung und Aufforderung zur Kommunikation mit der Datenzentrale abzugeben.
- e) Durchführung von Authentizitätsprüfungen in mindestens einem weiteren Modus.
11. Verfahren, nach Anspruch 10, dadurch gekennzeichnet
daß eine Authentizitätsprüfung von Registerwerten und/oder weiterer
vorbestimmter sicherheitsrelevanter Daten aus den Speicherbereichen
eines nichtflüchtigen Speichers (NVRAM, EEPROM) bei der
Startsicherheitsüberprüfung (1020) und im Frankiermodus durchgeführt
wird.
12. Verfahren nach einem der vorgenannten Ansprüche 10 bis 11, da
durch gekennzeichnet, daß eine Authentizitätsprüfung von
mindestens den wesentlichsten Teilen des Programmcodes und den
wesentlichsten Daten in Speicherbereichen eines Klischee-EPROM oder
eines anderen externen EPROMs durchgeführt wird.
13. Verfahren nach einem der vorgenannten Ansprüche 1 bis 12, da
durch gekennzeichnet, daß im Betriebsmodus (290) ein
Schritt (214) für eine Umschaltung in einen Anzeigemodus (215) zur
Anzeige von Registerwerten zum Zwecke ihrer Überprüfung vorgesehen
ist, wobei zu Kontrollzwecken wahlweise Registerwerte mit dem
frankiermaschinen-internen Drucker ausgedruckt werden können.
14. Verfahren nach einem der vorgenannten Ansprüche 1 bis 13, da
durch gekennzeichnet, daß alle wesentlichen
Programmabläufe in das Innere des OTP-Prozessors verlegt ablaufen
und daß die Frankiermaschine auf Vorliegen einer Manipulation
wiederholt geprüft wird.
15. Verfahren zur Absicherung von Daten und Programmcode einer
elektronischen Frankiermaschine gegen Manipulation mit einem
Mikroprozessor in einer Steuereinheit der Frankiermaschine zur
Ausführung von Schritten für eine Start- und Initialisierungsroutine und
nachfolgender Systemroutine mit einer Möglichkeit in einen
Kommunikationsmodus mit einer entfernten Datenzentrale einzutreten
sowie weiteren Eingabeschritten, um in einen Frankiermodus einzutreten
von dem nach Ausführung einer Abrechnungs- und Druckroutine in die
Systemroutine zurückverzweigt wird,
gekennzeichnet durch
- a) eine Startsicherheitsüberprüfung (1020) im Rahmen einer Start- und Initialisierungsroutine (101), welche abläuft vor einer sicheren Druckdatenaufrufroutine (1040) und der nachfolgenden Systemroutine (200), zur Feststellung der Gültigkeit eines Programm-Codes und/oder von Daten im vorbestimmten Speicherplatz und eines zugehörigen MAC (MESSAGE AUTHENTIFICATION CODE), welche im selben Speichermittel gespeichert vorliegen, wobei die Überprüfung auf gültigen Programm-Code und/oder auf gültige Daten mittels eines ausgewählten Prüfsummenverfahrens innerhalb eines OTP-Prozessors (ONE TIME PROGRAMMABLE) durchgeführt wird, der intern die entsprechenden Programmteile enthält und
- b) Überführung der Frankiermaschine in die vorgenannte Systemroutine (200) bei Gültigkeit der Daten oder Überführung der Frankiermaschine in einen ersten Modus, wenn die Daten ungültig sind bzw. ein spezifisches Manipulationskriterium erfüllt ist, durch Schritte zum Verhindern des Frankierens bzw. Sperrens der Frankiermaschine (1030) und/oder Schritte zum Verhindern einer weiteren Programmausführung bzw. einer vom OTP-Prozessor nach extern führenden Programmverzweigung im Rahmen vorgenannter Systemroutine (200).
- c) Durchführung von Authentizitätsprüfungen im Ergebnis der Druckdateneingabe in der Druckdatenaufrufroutine 1040 für Rahmen und/oder Fensterdaten während der Start- und Initialisierungsroutine 101 und im Schritt 209 für sicherheitsrelevante Fensterdaten, welche bei der Druckdateneingabe geändert wurden, wobei bei fehlender Authentizität Schritte zum Verhindern einer weiteren Programmausführung bzw. einer vom OTP-Prozessor nach extern führenden Programmverzweigung im Rahmen vorgenannter Systemroutine (200) und wobei bei bestehender Authentizität Schritte zur weiteren Programmausführung im Rahmen vorgenannter Systemroutine (200) durchgeführt werden.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1995134530 DE19534530A1 (de) | 1995-09-08 | 1995-09-08 | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine |
EP96250192A EP0762338A3 (de) | 1995-09-08 | 1996-09-06 | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1995134530 DE19534530A1 (de) | 1995-09-08 | 1995-09-08 | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19534530A1 true DE19534530A1 (de) | 1997-03-13 |
Family
ID=7772452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1995134530 Ceased DE19534530A1 (de) | 1995-09-08 | 1995-09-08 | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0762338A3 (de) |
DE (1) | DE19534530A1 (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19757653A1 (de) * | 1997-12-15 | 1999-06-24 | Francotyp Postalia Gmbh | Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte |
EP0969420A2 (de) | 1998-06-29 | 2000-01-05 | Francotyp-Postalia Aktiengesellschaft & Co. | Verfahren zur sicheren Übertragung von Dienstdaten an ein Endgerät und Anordnung zur Durchführung des Verfahrens |
US6148292A (en) * | 1997-07-14 | 2000-11-14 | Francotyp-Postalia Ag & Co. | Method for statistics mode reloading and for statistical acquisition according to statistics classes in the storing of a dataset |
DE19928061A1 (de) * | 1999-06-15 | 2000-12-28 | Francotyp Postalia Gmbh | Sicherheitsmodul zur Überwachung der Systemsicherheit und Verfahren |
US6199752B1 (en) | 1997-12-15 | 2001-03-13 | Francotyp-Postalia Ag & Co. | Postage meter machine with a chip card write/read unit and method for operating same |
DE10300609A1 (de) * | 2003-01-10 | 2004-07-29 | Wincor Nixdorf International Gmbh | Rückwirkungsfreie Geräteschnittstelle |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6295523B1 (en) | 1997-09-16 | 2001-09-25 | Ascom Hasler Mailing Systems Ag | Man-machine interface |
DE19757649B4 (de) * | 1997-12-15 | 2005-10-20 | Francotyp Postalia Ag | Anordnung und Verfahren zum Datenaustausch zwischen einer Frankiermaschine und Chipkarten |
DE19757651B4 (de) * | 1997-12-15 | 2005-06-23 | Francotyp-Postalia Ag & Co. Kg | Frankiermaschine mit einer Chipkarten-Schreib-/Leseeinheit |
DE19757652B4 (de) * | 1997-12-15 | 2005-03-17 | Francotyp-Postalia Ag & Co. Kg | Frankiermaschine mit einer Chipkarten-Schreib-/Leseeinheit |
CA2334922A1 (en) * | 1998-06-15 | 1999-12-23 | Ascom Hasler Mailing Systems, Inc. | Technique for securing a system configuration of a postage franking system |
DE19928057B4 (de) | 1999-06-15 | 2005-11-10 | Francotyp-Postalia Ag & Co. Kg | Sicherheitsmodul und Verfahren zur Sicherung der Postregister vor Manipulation |
DE10036623A1 (de) | 2000-07-27 | 2002-02-07 | Francotyp Postalia Gmbh | Postmaschine und Verfahren zu deren Initialisierung |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0647925A2 (de) * | 1993-10-08 | 1995-04-12 | Pitney Bowes, Inc. | Postgebührensystem mit nachprüfbarer Unversehrtheit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4726025A (en) * | 1985-10-16 | 1988-02-16 | Sperry Corporation | Generation and diagnostic verification of complex timing cycles |
JPS63196936A (ja) * | 1987-02-10 | 1988-08-15 | Nec Corp | プログラム起動チエツク方式 |
GB8704883D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure information storage |
DE4129302A1 (de) * | 1991-09-03 | 1993-03-04 | Helmut Lembens | Frankiermaschine |
DE4344476A1 (de) * | 1993-12-21 | 1995-06-22 | Francotyp Postalia Gmbh | Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen |
-
1995
- 1995-09-08 DE DE1995134530 patent/DE19534530A1/de not_active Ceased
-
1996
- 1996-09-06 EP EP96250192A patent/EP0762338A3/de not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0647925A2 (de) * | 1993-10-08 | 1995-04-12 | Pitney Bowes, Inc. | Postgebührensystem mit nachprüfbarer Unversehrtheit |
Non-Patent Citations (3)
Title |
---|
BRÜGGEMANN, T., BÜRK, H.: Damit Geheimdaten ver- traulich bleiben * |
DREWS, S.: Asymmetrische Verschlüsselung auf der Chipkarte, In: Design & Elektronik 4, 16.2.93, S. 76-81 * |
In: Elektronik 10/1993, S. 84-87und 92, 93 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148292A (en) * | 1997-07-14 | 2000-11-14 | Francotyp-Postalia Ag & Co. | Method for statistics mode reloading and for statistical acquisition according to statistics classes in the storing of a dataset |
DE19757653A1 (de) * | 1997-12-15 | 1999-06-24 | Francotyp Postalia Gmbh | Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte |
US6199752B1 (en) | 1997-12-15 | 2001-03-13 | Francotyp-Postalia Ag & Co. | Postage meter machine with a chip card write/read unit and method for operating same |
DE19757653C2 (de) * | 1997-12-15 | 2003-07-17 | Francotyp Postalia Ag | Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte |
EP0969420A2 (de) | 1998-06-29 | 2000-01-05 | Francotyp-Postalia Aktiengesellschaft & Co. | Verfahren zur sicheren Übertragung von Dienstdaten an ein Endgerät und Anordnung zur Durchführung des Verfahrens |
DE19928061A1 (de) * | 1999-06-15 | 2000-12-28 | Francotyp Postalia Gmbh | Sicherheitsmodul zur Überwachung der Systemsicherheit und Verfahren |
US6351220B1 (en) | 1999-06-15 | 2002-02-26 | Francotyp-Postalia Ag & Co. | Security module for monitoring security in an electronic system and method |
DE19928061C2 (de) * | 1999-06-15 | 2003-08-28 | Francotyp Postalia Ag | Sicherheitsmodul zur Überwachung der Systemsicherheit und Verfahren |
DE10300609A1 (de) * | 2003-01-10 | 2004-07-29 | Wincor Nixdorf International Gmbh | Rückwirkungsfreie Geräteschnittstelle |
Also Published As
Publication number | Publication date |
---|---|
EP0762338A3 (de) | 2000-01-26 |
EP0762338A2 (de) | 1997-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0660269B1 (de) | Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen | |
EP0660270B1 (de) | Verfahren und Anordnung zur Erzeugung und Überprüfung eines Sicherheitsabdruckes | |
EP0762337A2 (de) | Verfahren und Anordnung zur Erhöhung der Manipulationssicherheit von kritischen Daten | |
DE3613007B4 (de) | System zur Ermittlung von nicht-abgerechneten Drucken | |
EP0944027B1 (de) | Frankiereinrichtung und ein Verfahren zur Erzeugung gültiger Daten für Frankierabdrucke | |
EP0762335B1 (de) | Verfahren zur Veränderung der in Speicherzellen geladenen Daten einer elektronischen Frankiermaschine | |
EP0892368B1 (de) | Verfahren zur Statistikmodusnachladung und zur statistischen Erfassung nach Statistikklassen bei der Speicherung eines Datensatzes | |
DE69828331T3 (de) | Elektronische Frankiermaschine mit mehreren Taktsystemen zur verbesserten Sicherheit | |
DE3729342A1 (de) | Sicherheitsdrucker fuer ein wertdrucksystem | |
DE19534530A1 (de) | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine | |
EP1035516B1 (de) | Anordnung für ein Sicherheitsmodul | |
EP1035517B1 (de) | Verfahren zum Schutz eines Sicherheitsmoduls und Anordnung zur Durchführung des Verfahrens | |
EP1035518A2 (de) | Verfahren zum Schutz eines Sicherheitsmoduls und Anordnung zur Durchführung des Verfahrens | |
EP1063619B1 (de) | Sicherheitsmodul und Verfahren zur Sicherung der Postregister vor Manipulation | |
DE19757653C2 (de) | Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte | |
EP0969420B1 (de) | Verfahren zur sicheren Übertragung von Dienstdaten an ein Endgerät und Anordnung zur Durchführung des Verfahrens | |
EP1061479A2 (de) | Anordnung und Verfahren zur Generierung eines Sicherheitsabdruckes | |
EP0717379B1 (de) | Verfahren zur Verbesserung der Sicherheit von Frankiermachinen bei der Guthabenübertragung | |
DE19534529C2 (de) | Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten | |
EP0996097A9 (de) | Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen bei der Guthabenübertragung | |
DE19534527C2 (de) | Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten | |
DE102006022315A1 (de) | Anordnung und Verfahren zum Erstellen eines Frankierabdrucks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 19549614 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref country code: DE Ref document number: 19549614 |
|
8131 | Rejection |