DE19534530A1 - Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine - Google Patents

Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine

Info

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
Application number
DE1995134530
Other languages
English (en)
Inventor
Arndt Berthold
Olav A Zarges
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Francotyp Postalia GmbH
Original Assignee
Francotyp Postalia GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Francotyp Postalia GmbH filed Critical Francotyp Postalia GmbH
Priority to DE1995134530 priority Critical patent/DE19534530A1/de
Priority to EP96250192A priority patent/EP0762338A3/de
Publication of DE19534530A1 publication Critical patent/DE19534530A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00733Cryptography or similar special procedures in a franking system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00733Cryptography or similar special procedures in a franking system
    • G07B2017/00741Cryptography or similar special procedures in a franking system using specific cryptographic algorithms or functions
    • G07B2017/00774MAC (Message Authentication Code), e.g. DES-MAC
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00733Cryptography or similar special procedures in a franking system
    • G07B2017/00951Error 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
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.
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
  • 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.
DE1995134530 1995-09-08 1995-09-08 Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine Ceased DE19534530A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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