EP0762338A2 - Method for securing data and progam code of an electronic franking machine - Google Patents

Method for securing data and progam code of an electronic franking machine Download PDF

Info

Publication number
EP0762338A2
EP0762338A2 EP96250192A EP96250192A EP0762338A2 EP 0762338 A2 EP0762338 A2 EP 0762338A2 EP 96250192 A EP96250192 A EP 96250192A EP 96250192 A EP96250192 A EP 96250192A EP 0762338 A2 EP0762338 A2 EP 0762338A2
Authority
EP
European Patent Office
Prior art keywords
data
mac
franking machine
program
routine
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
EP96250192A
Other languages
German (de)
French (fr)
Other versions
EP0762338A3 (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
Publication of EP0762338A2 publication Critical patent/EP0762338A2/en
Publication of EP0762338A3 publication Critical patent/EP0762338A3/en
Ceased legal-status Critical Current

Links

Images

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)

Abstract

A summation is used for a starting check (1020) in the frame of the starting and initialisation routine (101) that runs before the printed date routine (1040) and the following system routine (200) for validating the programme code and certain data. The appropriate MAC is entered and the above routine is performed using a summation testing method from the OTP processor, with its algorithm and key. The franking machine is run in the same routine (200) of a similar validation is made, and the process is repeated for various manipulation or handling modes.

Description

Die Erfindung betrifft ein Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine in der im Oberbegriff des Anspruchs 1 bzw. 13 angegebenen Art. Dieses Verfahren verbessert die Sicherheit von Frankiermaschinen.The invention relates to a method for securing data and program code of an electronic franking machine in the manner specified in the preamble of claims 1 and 13, respectively. This method improves the security of franking machines.

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.
A franking machine generally creates an imprint in a form agreed with the post right-aligned, parallel to the upper edge of the mail item, starting with the content of the postage in the postmark, the date in the day stamp and stamp imprints for the advertising slogan and, if applicable, the type of shipment in the election print stamp. The post value, the date and the type of shipment form the variable information to be entered according to the item.
The postage value is usually the transport fee paid in advance by the sender, which is taken from a refillable credit register and used to clear the mail item. In contrast, in the current account procedure, a register is only counted up depending on the frankings made with the postage value and is read at regular intervals by a postal inspector.

Grundsätzlich ist jede vorgenommene Frankierung abzurechnen und jede Manipulation, welche zu einer nichtabgerechneten Frankierung führt, muß verhindert werden.In principle, every franking made must be accounted for and any manipulation which leads to franking that has not been invoiced must be prevented.

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.A known franking machine is equipped with at least one input means, an output means, an input / output control module, a program, data and in particular storage device carrying the accounting register, a control device and a printer module. In the case of a printer module with a printing mechanism, measures must also be taken so that the printing mechanism cannot be misused for unpredictable impressions when it is switched off.

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ültiges Frankieren verhindert werden muß.The invention relates in particular to franking machines which provide a fully electronic impression for franking mail, including an advertisement cliché. The result of this is that a valid franking that has not been invoiced must only be prevented when it is switched on.

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.In the case of a franking machine known from US Pat. No. 4,746,234, fixed and variable information is stored in storage means (ROM, RAM) in order to be read out by means of a microprocessor when a letter actuates a microswitch on the transport path in front of the printing position and to send a print control signal form. Both are then electronically assembled into a print image and can be printed out on an envelope to be franked using thermal transfer printing means.

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.A method for controlling the column-by-column printing of a postage stamp image in a franking machine has also already been proposed EP 578 042 A2, which separately and separately composes fixed and variable data converted into graphic pixel image data during column-by-column printing. It would therefore be difficult to manipulate the print control signal without high and expensive effort when printing at a high speed.

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.In the usual way, the memory device comprises at least one non-volatile memory module which contains the currently remaining remaining credit, which results from the fact that the respective postage value to be printed is subtracted from a credit previously loaded into the franking machine. The franking machine blocks when the remaining credit is zero.

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.Known franking machines contain in at least one memory three relevant post registers for the total value used (increasing register), remaining credit remaining (falling register) and registers for a checksum. The checksum is compared with the sum of the total value used and the available credit. A check for correct billing is already possible with this.

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.Furthermore, it is also possible to transmit recharge information to the franking machine from a data center via a remote value specification in order to reload a credit into the register for the remaining credit (residual value). It goes without saying that suitable security measures must be taken for this so that the credit stored in the franking machine cannot be topped up in an unauthorized manner. Protecting the aforementioned solutions against misuse and attempts at counterfeiting requires additional material and time.

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.From US 4,864,506 it is known that communication to the remote data center is started by the franking machine when the value of the credit in the falling register is below a threshold value and a predetermined time has been reached.

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.From the above-mentioned patent it is also known that the data center for receiving register data and for checking whether the franking machine is still connected to a specific telephone number - connects to the franking machine after a defined period of time and the franking machine responds only at predetermined times.

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.According to the above-mentioned patent, it is also provided for authorization before the credit is reloaded into the franking machine the data center to query the identity number of the franking machine and the values in the falling and rising register.

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.Furthermore, it is known from the above-mentioned patent that the communication of the data center with the franking machine need not be limited to the mere transfer of credit into the franking machine. Rather, if the franking machine is deregistered, the communication between the data center and the franking machine is used to transfer the remaining credit of the franking machine to the data center. The value in the falling post register of the franking machine is then zero, which effectively puts the franking machine out of operation.

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 Restguthabens 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.A security housing for franking machines, which has internal sensors, is known from DE 41 29 302 A1. The sensors are, in particular, switches connected to a battery, which are activated when the security housing is opened in order to delete a memory (falling postal register) storing the residual value credit by interrupting the energy supply. As is known, however, it is not possible to predict the state of a de-energized memory chip when the voltage returns. This could result in an unpaid higher remaining balance. On the other hand, it cannot be ruled out that the residual value credit will at least partially discharge in the manner mentioned above. However, this would be disadvantageous during an inspection, since the residual value credit, which had been paid by the franking machine user, also has to be reloaded, but the amount of this remaining credit must be determined by the above Influences can be falsified. Finally, the description does not show how a manipulator can be prevented from restoring an unpaid remaining credit.

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 known franking machines, further security measures such as breakaway screws and encapsulated, shielded security housing are already known. Keys and a combination lock are also common to make access to the franking machine more difficult.

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.In US 4,812,994, unauthorized access to use of the franking machine is also to be prevented by blocking the franking machine if a predetermined password is entered incorrectly.

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.In addition, the franking machine can be set by means of a password and corresponding input on the keyboard so that franking is only possible during a predetermined time interval or times of day.

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.The password can be entered by a personal computer via MODEM, by a chip card or manually in the franking machine. After a positive comparison with a password stored in the franking machine, the franking machine is released. A security module (EPROM) is integrated in the control module of the accounting unit. As a further security measure, an encryption module (separate microprocessor or program for FM CPU based on DES or RSA code) is provided, which generates an identification number in the franking stamp that includes the postage value, the subscriber number, a transaction number and the like. If there is enough criminal energy, a password could also be researched and, together with the franking machine, brought into the possession of a manipulator.

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.A remote inspection system for franking machines has already been proposed in US Pat. No. 4,812,965, which is based on special messages in the printing of mail pieces which have to be sent to the central office, or on a remote query via MODEM. Sensors within the postage meter machine are to detect any counterfeiting act that has been carried out, so that a flag can be set in associated memories if the postage meter machine has been tampered with for manipulation purposes. Such an intervention could take place in order to load an unpaid credit into the register.

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 abgerechneten 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.If tampering is detected, the franking machine is blocked by a signal from the data center during remote inspection via modem. On the other hand, a clever manipulation could consist in returning the flag and the registers to the original state after franking imprints have not been billed. Such manipulation would not be recognizable via remote inspection by the data center if this reversed manipulation was prior to the remote inspection. The receipt of the postcard from the data center, on which franking is to be carried out for inspection purposes, allows the manipulator to reset the franking machine to its original state in sufficient time. This means that no higher security can be achieved.

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.The disadvantage of such a system is that it cannot be prevented that a sufficiently qualified manipulator who breaks into the postage meter machine subsequently removes its traces by deleting the flags. It also cannot prevent the impression itself from being manipulated, which is produced by a properly operated machine. In known machines there is the possibility of producing impressions with the postage value zero. Zero frankings of this kind are required for test purposes and could also be falsified subsequently by simulating a postage value greater than zero.

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.A security imprint in accordance with FP's own European patent application EP 576 113 A2 provides symbols in a marking field in the franking stamp which contain cryptified information. This allows the postal authority, which interacts with the data center, to identify manipulation of the franking machine at any point in time from the respective security imprint. It is technically possible to continuously check such pieces of mail provided with a security imprint by means of appropriate security markings in the stamp image, but this means additional effort in the post office. In the case of a control based on random samples, however, manipulation is usually only detected late.

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älschungsabsicht vorgenommene Manipulation geschlußfolgert werden.On the other hand, an additional evaluation can be carried out in the data center with regard to a user of a franking machine which the user continued to operate beyond the inspection date. However, it has not yet been possible to conclude from this information that manipulation was carried out with the intention of forgery.

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.In US 4,251,874, a mechanical printing unit that must be preset for printing is used with a detector device to monitor the preset. Means are also provided in the electronic accounting system for determining errors in data and control signals. If this number of errors reaches a predetermined value, the further operation of the franking machine is stopped interrupted. However, the sudden failure of the franking machine is disadvantageous for the franking machine user. With a non-mechanical printing principle, on the other hand, such internal errors are hardly to be expected, and in the case of a serious error, the franking machine must be switched off immediately anyway. In addition, the security against manipulation of the postage meter machine is hardly increased in that the postage meter machine is switched off after a predetermined number of errors.

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.A franking machine with program sequence monitoring is known from US Pat. No. 4,785,417. The correct execution of a larger program section is checked by means of a special code assigned to each program section, which code is stored in a specific memory cell in RAM when the program section is called up. It is now checked whether the code stored in the aforementioned memory cell is still present in the program section currently running. If, during manipulation, one part of the program was interrupted and another part of the program was running, an error can be determined by such a control question. Such monitoring of the execution of all program parts is based on the difference in the code, and if the number of program parts is very high, the length of the code word must also be correspondingly greater. A comparison of such code words is of course more time-consuming, which causes an additional cost for a faster processor for fast franking machines. In the event of manipulation by means of such error-free program parts from the franking machine, which were put together to form a manipulated program piece, no error would be found, since it cannot be determined in program branches which program branch was executed and how often.

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.Another type of expected manipulation is the reloading of the franking machine registers with a credit value that has not been invoiced. This results in the need for secure reloading. According to US Pat. No. 4,549,281, an additional security measure is the comparison of an internal fixed combination stored in a non-volatile register with an input external combination, the postage meter machine being blocked by means of escapement electronics after a number of failed attempts, ie non-identity of the combinations. To No. 4,835,697, the combination can in principle be changed to prevent unauthorized access to the franking machine. A method for changing the configuration of the franking machine is also known from US Pat. No. 5,077,660, wherein the franking machine can be switched from the operating mode to a configuration mode by means of a suitable input via a keyboard and a new meter type number can be entered which corresponds to the desired number of features. The franking machine generates a code for communication with the computer of the data center and the input of the identification data and the new meter type number in the aforementioned computer, which also generates a corresponding code for transmission and input into the franking machine, in which the two codes are compared. If both codes match, the franking machine is configured and switched to the operating mode. As a result, the data center always has precise records of the meter type set for the corresponding franking machine. However, security depends solely on the encryption of the transmitted code.

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.In addition, EP 388 840 A2 discloses a comparable security technique for setting a franking machine in order to clean it of data without the franking machine having to be transported to the manufacturer. Here too, security depends solely on the encryption of the transmitted code.

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.In US 3,255,439, the secure reloading of a franking machine with a credit was on the one hand associated with an automatic signal transmission from the franking machine to the data center whenever a predetermined sum of funds which was franked or the number of processed mail pieces or a predetermined time period was reached. Alternatively, a signal corresponding to the sum of funds, number of pieces or time period can be transmitted. Communication takes place by means of binary signals via converters connected to one another via a telephone line. The machine receives an equally secured reload in accordance with the credit balance and blocks if no credit is replenished.

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 Datenzentale 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.It is known from US 4,811,234 that the transactions are encrypted carry out and in doing so query the registers of the franking machine and transmit the register data to the data center in order to indicate a temporal reference to the reduction in the amount authorized to dispose stored in the register. On the one hand, the franking machine identifies itself at the data center by means of its encrypted register content when a presettable threshold value has been reached. On the other hand, the data center modifies the desired franking amount up to which franking can be carried out by means of corresponding authorization signals. Encryption is therefore the only security against manipulation of the register status. If a manipulator always loads the same amount at the same time intervals, but in the meantime franked a much higher amount with the manipulated franking machine than he paid, the data center cannot detect any manipulation.

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.From EP 516 403 A2 it is known to regularly transmit the errors of the franking machine that have been logged in the past and stored in a memory to a remote error analysis computer for evaluation. Such a remote inspection allows an early warning of an occurring error and enables further measures (service) to be taken. This alone does not offer a sufficient criterion for 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.According to GB 22 33 937 A and US 5 181 245, the franking machine periodically communicates with the data center. A blocking means allows the franking machine to block after a predetermined time or after a predetermined number of operation cycles and provides a warning to the user. To unlock an encrypted code must be entered from the outside, which is compared with an internally generated encrypted code. In order to prevent incorrect billing data from being delivered to the data center, the billing data are included in the encryption of the aforementioned code. It is disadvantageous that the warning occurs at the same time as the franking machine is blocked, without the user being able to change his behavior accordingly in good time.

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.A franking machine is known from US Pat. No. 5,243,654, where the current time data supplied by the clock / date module are compared with stored decommissioning time data. Is the If the stored shutdown time is reached by the current time, the franking machine is deactivated, that is to say printing is prevented. When a connection is established with a data center that reads the accounting data from the rising register, the franking machine is transmitted an encrypted combination value and a new period is set, which makes the franking machine operational again. The total amount of consumption, which contains the total postage used and is read by the data center, is also part of the encrypted combination value. After decoding the combination value, the amount of consumption sum is separated and compared with the amount of consumption amount stored in the franking machine. If the comparison is positive, the franking machine is automatically blocked. This solution ensures that the franking machine periodically reports to the data center in order to transmit accounting data. However, use cases are quite conceivable where the amount of mail to be franked fluctuates (seasonal operation). In these cases, the franking machine would disadvantageously be blocked unnecessarily often.

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. ohne daß 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.The task was to solve the disadvantages of the prior art and to achieve a significant increase in safety without an extraordinary inspection on site. In this case, a manipulation carried out with the intention of falsification is to be recognized and the data security is to be increased without a special mechanical encapsulation or without a sensor being required to detect the opened housing. The safety housing is to be replaced by a housing which improves the accessibility to individual electronic components for the service technician. In addition, a processor without an internal NV-RAM should be used. Another object is to improve the security of the keys in the franking machine that are required for communication with the data center when data is being transmitted.

Die Aufgabe wird mit den kennzeichnenden Merkmalen des Anspruchs 1, 13 bzw. 14 gelöst.The object is achieved with the characterizing features of claims 1, 13 and 14, respectively.

Die Erfindung geht von einem Prozessor aus, der nur einmal programmiert werden kann.The invention is based on a processor that can only be programmed once.

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.Increased security can be achieved for example with a mask-programmed microprocessor having outwardly Port 's and an internal bus structure, an internal ROM, internal RAM for safety-relevant processes. Safety-related data and routines are burned into the internal Rome during production.

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.A preferred variant is based on a postage meter machine with a microprocessor in which the microprocessor contains an internal ROM which does not allow the program code contained therein to be read out. This can be a commercially available OTP processor (ONE TIME PROGRAMMABLE), which is set to such a state after the programming process by setting / burning a readout lock.

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.The franking machine can also be equipped with an OTP type that allows security-relevant data and programs to be read out in encrypted form (encryption table). This has the advantage that it is possible to check whether the data has been saved properly.

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.The invention has the advantage that program code and constant security-relevant data cannot be changed, cannot be skipped and cannot be spied on. This means that the program execution of program parts that are executed in the internal OTP-ROM cannot be manipulated. As long as there is no program branching, there is secure protection against fraudulent manipulation. According to the invention, the program parts that are executed in the internal OTP-ROM also enable protection of externally stored program parts that are stored, for example, in an EPROM. According to the invention, a multiplicity of keys and an encryption algorithm are also stored in the OTP-ROM, which are used in the execution of programs for security-relevant transactions and in the external storage of security-relevant data.

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.The EPROM takes up most of the program code and provides the microprocessor with an external program code via the microprocessor bus. But there are also the program variables A safety-relevant encapsulation of the program execution is achieved in the internal OTP-RAM. With an OTP processor, targeted program executions in different security levels can be realized. A faulty or manipulated franking machine remains completely in the OTP-ROM with its program execution and cannot be forced into other operating modes.

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.The solution according to the invention also assumes that the funds stored in the franking machine must be protected against unauthorized access. The falsification of data stored in the franking machine is made so difficult that the effort for a manipulator is no longer worthwhile.

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 Kryptoalgorithmus 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.Commercial OTP processors (ONE TIME PROGRAMMABLE) can contain all security-relevant program parts inside the processor housing, as well as the code for forming the message authentication code (MAC). The latter is an encrypted checksum that is attached to information. Data encryption standard (DES), for example, is suitable as the crypto-algorithm. This allows MAC information to be attached to the security-relevant register data and thus increases the difficulty of manipulating the postal registers to a maximum.

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.These safety-relevant program parts also include program parts for a flow control that monitors the number of program parts that have expired. Malfunctions of the microprocessor or manipulations carried out with the intention of forgery can thus be detected. Specific arithmetic operations allow checking which parts of the program have been used and how often.

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.Another security measure that can run in addition to the error handling (kill mode) of the start security check is to monitor the program runtime of selected security-relevant programs or program parts in a time supervision mode (kill mode 1). If the runtime of programs or program parts deviates from a predetermined runtime, as occurs when manipulating or monitoring the program sequence using an emulator, the machine is inhibited. Such a program part concerns the communication mode. A secret key for the encrypted Communication is stored in encrypted form outside of the OTP. From this, the OTP can recover the actual key by decryption, which is required for transactions between the franking machine and the data center.

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.The franking machine can enter the second mode from the system routine using a decision criterion in order to issue a warning and request to the user of the franking machine to communicate with the data center. At the same time, the data center also monitors the behavior of the franking machine user on the basis of data previously transmitted during communication.

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.It is provided in the franking machine that a special sleeping mode counter is set to a specific number of pieces each time it communicates with the data center and that each time it is franked, i.e. in the course of a billing and printing routine, is caused to continue counting until a certain number is reached. The specific number of pieces can be calculated in the franking machine, as well as calculated in the data center and transmitted to the franking machine via a communication link.

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 nutzerspezifische 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.Starting from the consideration of using only one microprocessor and a suitable program for a franking machine to create a method for improving the security of franking machines, user-specific information about the credit consumption that is present in the data center at the same time forms a first calculation basis in order to store the credit consumption data stored in the data center. and check credit reload date data for plausibility. Another inventive calculation basis based on further data, in particular in connection with the number of pieces since the last communication, allows an extraordinary inspection of the postage meter machine that is considered suspect at the data center.

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) bestimmter Absender überwacht werden, indem deren Anzahl im Zeitintervall beispielsweise von 90 Tagen gezählt wird.
The franking machine, which receives a regular credit recharge and is inspected in the process, can be classified as unsuspicious. However, the franking machine that continues to operate without inspection over a predetermined inspection date does not necessarily have to be manipulated. Rather, the volume of mail to be processed by the franking machine may have decreased above average. If there is still enough credit remaining in the franking machine, you can of course continue to postage. In this case, only an extraordinary inspection on site can clarify whether there is any manipulation.
For the verification of suspect franking machines, the data center of the postal authority or the institute commissioned with the check transmits the associated franking machine serial number. With this information, the occurrence of mail pieces (letters) from certain senders can be monitored by counting their number in the time interval, for example of 90 days.

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.In the event of an inspection or repair or by on-site service, it may be necessary to intervene in the franking machine. To prepare for the intervention, the registers of the franking machine are queried or printed out in order to determine the type of intervention required. After an authorized intervention in the franking machine has taken place, the original operating state is restored by means of data entered in a special suitable manner.

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.However, if a manipulator carries out an unauthorized intervention, the franking machine is effectively put out of operation after switching on by transferring the franking machine to the first mode (error handling).

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 Kommunikation mit der Datenzentrale, kann die Reaktionszeitdauer weiter erhöht werden, um eventuelle Manipulationen zu erschweren.Another safety measure that can be carried out in the second mode in addition to or instead of a sleeping mode variant is the error overflow mode. This extends the response time of the postage meter machine when a predetermined number of errors is exceeded and reports this status to the operator of the postage meter machine via the display. If the state of exceeding the number of errors is not eliminated, for example in the course of an inspection by a service provider or by resetting during communication with the data center, the reaction time can be increased further to make any manipulation more difficult.

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.The method for securing data and program code of an electronic franking machine, which is used for communication with a remote data center is capable and has an OTP processor in a control device of the postage meter machine, also comprises transferring an externally stored predetermined MAC value into the internal OTP-RAM and forming a checksum in the OTP processor about the content of the external memory which assigned to the MAC, and a comparison of the result with the predetermined value of the MAC stored volatile in the internal OTP-RAM before and / or after expiry of the franking mode or operating mode, and thus also after the initialization (ie when the franking machine is operated) , or at times when there is no printing (i.e. when the franking machine is operated in standby mode). In the event of an error, the franking machine is then logged and subsequently blocked.

Die Erfindung umfaßt weiterhin eine Durchführung von Authentizitätsprü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.The invention further comprises carrying out authenticity checks as a result of the print data input for frames and / or window data during the start and initialization routine 101 and an input, display and check routine for security-relevant window data which were changed during the print data input. If there is no authenticity, steps are taken to prevent further program execution or a program branch leading externally from the OTP processor within the framework of the aforementioned system routine. If there is authenticity, steps for further program execution are carried out as part of the aforementioned system routine.

Erfindungsgemäß ist ein Verfahren vorgesehen, umfassend

  • a) eine Startsicherheitsüberprüfung im Rahmen einer Start- und Initialisierungsroutine, welche abläuft vor einer sicheren Druckdatenaufrufroutine und der nachfolgenden Systemroutine, zur Feststellung der Gültigkeit eines Programm-Codes und/oder von Daten im vorbestimmten Speicherplatz,
  • b) Überführung der Frankiermaschine in die vorgenannte Systemroutine 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,
  • c) kontinuierliche Programmüberwachung innerhalb der Systemroutine und Überführung der Frankiermaschine in den ersten Modus, wenn die Daten ungültig sind bzw. ein spezifisches Manipulationskriterium erfüllt ist, wobei über jeden der Subblöcke eines Blocks eine Prüfsumme oder MAC inkrementell berechnet wird, wobei eine kumulierte Prüfsumme bzw. MAC gebildet und ein Vergleich mit einem früher gespeicherten Wert für vorgenannte Prüfsumme bzw. MAC vorgenommen wird, um die Authentizität der Programmteile voranschreitend festzustellen.
According to the invention, a method is provided, comprising
  • a) a start security check as part of a start and initialization routine, which runs before a secure print data call routine and the subsequent system routine, to determine the validity of a program code and / or data in the predetermined storage space,
  • b) transfer of the postage meter machine into the aforementioned system routine when the data is valid or transfer of the postage meter machine into a first mode if the data is invalid or a specific manipulation criterion is met,
  • c) Continuous program monitoring within the system routine and transfer of the franking machine into the first mode if the data is invalid or meets a specific manipulation criterion a checksum or MAC is calculated incrementally over each of the subblocks of a block, a cumulative checksum or MAC being formed and a comparison being made with a previously stored value for the aforementioned checksum or MAC in order to determine the authenticity of the program parts as it progresses.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet bzw. werden nachstehend zusammen mit der Beschreibung der bevorzugten Ausführung der Erfindung anhand der Figuren näher dargestellt. Es zeigen:

Figur 1,
Blockschaltbild einer Frankiermaschine mit erfindungsgemäß erhöhter Sicherheit,
Figur 2,
Variante mit OTP in der Steuereinrichtung der Frankiermaschine,
Figur 3,
Gesamtablaufplan für die Frankiermaschine nach der erfindungsgemäßen Lösung,
Figur 4,
Ablaufplan für die Start- und Initialisierungsroutine,
Figur 5,
Ablaufplan für den Frankiermodus,
Figur 6,
Bilden einer MAC-Prüfsumme mittels Verschlüsselung für ein externes Programm-EPROM,
Figur 7,
Ablaufplan zum Prüfen eines externen Programm-EPROM's,
Figur 8,
Bilden einer MAC-Prüfsumme mittels Verschlüsselung für ein externes Klischee-EPROM,
Figur 9,
Ablaufplan zum Prüfen eines externen Klischee-EPROM's,
Figur 10,
Ablaufplan zum Absichern ausgewählter Registerdaten,
Figur 11,
Ablaufplan zum Prüfen ausgewählter Registerdaten,
Figur 12,
Ablaufplan zur Eingabeverschlüsselung der Schlüssel, die für die gesicherte Übertragung von Daten zwischen Frankiermaschine und Datenzentrale eingesetzt werden,
Figur 13,
Ablaufplan zur Entschlüsselung der Schlüssel für die Fernwertvorgabe
Figur 14,
Ablaufplan zur Absicherung von sicherheitsrelevanten Daten in einem frei zugänglichen Speicher
Figur 15,
Prüfschritt im Ablaufplan zur Absicherung von sicherheitsrelevanten Daten
Figur 16,
Aufteilung der EPROM-Speicherbereiche
Figur 17,
Ablaufplan zur kontinuierlichen Programmüberwachung
Advantageous developments of the invention are characterized in the subclaims or are shown in more detail below together with the description of the preferred embodiment of the invention with reference to the figures. Show it:
Figure 1,
Block diagram of a franking machine with increased security according to the invention,
Figure 2,
Variant with OTP in the control device of the franking machine,
Figure 3,
Overall flow chart for the franking machine according to the solution according to the invention,
Figure 4,
Flow chart for the start and initialization routine,
Figure 5,
Schedule for franking mode,
Figure 6,
Formation of a MAC checksum by means of encryption for an external program EPROM,
Figure 7,
Flowchart for checking an external program EPROM's,
Figure 8,
Formation of a MAC checksum using encryption for an external cliché EPROM,
Figure 9,
Flowchart for checking an external EPROM cliché 's,
Figure 10,
Flowchart for securing selected register data,
Figure 11,
Flow chart for checking selected register data,
Figure 12,
Flow chart for the input encryption of the keys that are used for the secure transmission of data between the franking machine and the data center,
Figure 13,
Flow chart for decrypting the keys for the remote value specification
Figure 14,
Schedule for securing security-related data in a freely accessible memory
Figure 15,
Test step in the schedule for securing security-relevant data
Figure 16,
Allocation of the EPROM memory areas
Figure 17,
Schedule for continuous program monitoring

Die Figur 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.1 shows a block diagram of the franking machine according to the invention with a printer module 1 for a fully electronically generated franking image, with at least one input means 2 having a plurality of actuating elements, a display unit 3, a MODEM 23 establishing communication with a data center, further input means 21 or scales 22 which are coupled via an input / output control module 4 to a control device 6 and to non-volatile memories 5a, 5b or 9, 10 and 11 for data or programs which include the variable or the constant parts of the franking image.

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.A character memory 9 supplies the necessary print data for the variable parts of the franking image to a volatile working memory 7. Die Control device 6 has a microprocessor .mu.P, which with input / output control module 4, with character memory 9, with volatile working memory 7 and with non-volatile working memories 5a, 5b, which comprise a cost center memory, with a program memory 11, with the motor one Transport or feed device, if necessary, is connected to a strip release 12, an encoder (coding disk) 13 and a clock / date module 8. The individual memories can be implemented in several physically separate or combined in a few modules in a manner not shown. The memory module which comprises the non-volatile working memory 5b can be, for example, an EEPROM which is secured against removal by at least one additional measure, for example gluing on the printed circuit board, sealing or potting with epoxy resin.

In der Figur 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.FIG. 1 shows a block diagram of an electronic franking machine with increased security according to the invention. The invention is based on a postage meter machine with a microprocessor which contains an internal OTP-ROM which does not allow the program code contained therein to be read out. Security-related data is also stored in the internal OTP-ROM. To prevent reading by an external intervention, corresponding security bits can be set in the microprocessor during the manufacture of the franking machine. This can be a commercially available OTP processor, which is put into such a state after the programming process by setting / burning a readout lock, or it can be a microprocessor with mask-programmable ROM which, after the manufacturing process, no longer allows the program code to be read out or only read out the program code and the data in encrypted form.

In der Figur 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 Figur 2 können Sensoren und Aktoren, wie beispielsweise die in der Figur 1 dargestellten Encoder 13 und Motor 12 wahlweise direkt oder über I/O-Ports mit dem OTP verbunden sein.FIG. 2 shows a detail of the block diagram of the electronic franking machine for a variant with OTP in the control device. With this basic arrangement in FIG. 2, sensors and actuators, such as, for example, the encoders 13 and motor 12 shown in FIG. 1, can be connected to the OTP either directly or via I / O ports.

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.A preferred variant of a microprocessor is an 8051 processor with a 16 kbyte on-chip EPROM (Philips 87C51FB). Such an OTP type (One Time Programmable) cannot be deleted by UV light because it does not have a window suitable for UV light passage . Therefore an OTP can only be programmed once. The internal OTP-RAM has a memory area of 256 bytes.

Weiter geht die Erfindung davon aus, daß der gesamte zum Betrieb einer Frankiermaschine benötigte Programmcode nicht in den mikroprozessorinternen 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 Programmspeicherbereich über den Adressbereich des Mikroprozessor durch Benutzung von Mikroprozessor-Portleitungen beliebig zu vergrößern.The invention further assumes that the entire program code required to operate a franking machine does not fit into the microprocessor-internal ROM, that is, an additional memory (EPROM) is required, which holds the greater part of the program code and which is available to the microprocessor via the microprocessor bus program code poses. An arrangement can advantageously be used which divides the program memory into memory segments, so-called memory banks, which allow the program memory area to be enlarged as desired via the address area of the microprocessor by using microprocessor port lines.

In der Figur 3 ist ein Gesamtablaufplan für eine Frankiermaschine mit erfindungsgemäß erhöhter Sicherheit gezeigt, während die Figur 4 ein erfinderisches Detail daraus, nämlich einen Ablaufplan für die Start- und Initialisierungsroutine genauer darstellt.FIG. 3 shows an overall flowchart for a franking machine with increased security according to the invention, while FIG. 4 shows an inventive detail thereof, namely a flowchart for the start and initialization routine.

Aus den Figuren 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.It can be seen from FIGS. 3 and 4 that the franking machine is switched on in step 100 and that a function test with subsequent initialization is then carried out within a start routine 101, and a branch is only subsequently made to a system routine 200.

Ein Programmcode im nichtlesbaren internen OTP-ROM erlaubt nun mehrere vorteilhafte Startsicherheitsüberprüfungsroutinen aber mindestens diejenigen, wie sie in der Figur 4 benannt sind und in Verbindung mit den Figuren 7, 9 und 11 näher dargelegt werden.A program code in the non-readable internal OTP-ROM now allows several advantageous start security check routines, but at least those as they are named in FIG. 4 and explained in more detail in connection with FIGS. 7, 9 and 11.

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.These routines relate to the method for securing data and program code of an electronic franking machine and serve to improve the security of this electronic franking machine as part of a start security check in connection with its initialization.

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.
After the start, a start routine and an initialization of the franking machine take place in step 101. Such routines initialize the hardware and display in the usual way and start a timer and / or. Interrupt. According to the invention, step 101 includes a start security check 1020.
A start security check routine, which uses its program code to check the most important externally held franking machine data and external program code, completely encapsulated in the internal ROM and RAM area of the OTP, can detect manipulations that are intentional against manipulation without the possibility of external manipulation State of the franking machine have been carried out and then effectively block further operation of the franking machine if the checking routines are not carried out without errors. In this case, the program flow remains in an endless loop in the OTP-ROM (error handling 1030). Only after the checks have been carried out without errors, the external storage media are used by the microprocessor (read EPROM, write RAM) and the system routine 200 is reached.

In der Figur 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.
FIG. 4 shows the schematic program flow diagram of all functions that are carried out in the OTP-ROM during the start security check of the franking machine. According to the invention, the start security check of the postage meter machine comprises a large number of routines, in addition to routine 1026 for securing the external program memory.
For example, routine 1021, which is not described in detail, denotes a check of the internal OTP-RAM with regard to its operability. Routines 1022 and 1023 compare the program version numbers, that is, determine whether the burned OTP forms a set of complete program code with the EPROM or whether another EPROM belongs to the OTP. Routine 1024 uses the data specified by the cliché EPROM to check whether there is a valid cliché EPROM or the cliché EPROM belonging to the above-mentioned set in the base. It should be mentioned as an advantage that the cliché EPROM may not only be inserted or replaced by the service technician, but also by any other authorized person. Special driver circuits (buffers), which are connected between the bus and EPROM socket (Fig. 2), prevent data from the franking machine inside being read out. On the other hand, data can be entered into the franking machine at any time via the base.

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 protokollieren. 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.
While routine 1026 concerns the protection of the external program memory and routine 1025 the protection of the externally accessible EPROM and the data stored therein from manipulation through security checks, routines 1027 and 1028 perform a first check of security-relevant or postal register data in the external NVRAM and EEPROM made. Routine 1029 determines invalid or repairable data copies and, if necessary, eliminates the error.
In step 1029 - as is explained in more detail in the European application EP 615 211 A1 - at least one register check of the data structure of the postal register is carried out in order to log the errors. There, a method for correcting the storage of security-relevant data in a postage meter machine is proposed, redundantly stored data being compared with one another in order to reload a memory area with incorrect data with error-free data. However, this is no longer possible with a sixth type of error, because all redundantly stored data now have different errors which can no longer be corrected automatically. Only a service technician could reconstruct the data in a predetermined manner, which must then be done after each authorized opening before the franking machine is started up again. In step 1030, measures are therefore also taken to lock the franking machine in the event of register data structure errors.

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.The routine 1026 for protecting the external program memory described in more detail below is based on the storage of a MAC in the memory module to be protected in each case. This has in addition to the necessary maintenance of data security above all the advantage of interchangeability of a faulty program EPROM's, without there being any need to be replaced at the same time the corresponding OTP.

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 Programmausfü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 T1 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.To secure the external program memory, step 1026 uses the MAC method to check the integrity of the program code of external bus-coupled memories (EPROMs) before Processor bus access and while program is running. Advantageously, with a secret key that is hidden in the internal program memory so that it cannot be read out, secure cryptographic functions can be implemented, the security of which is based on the use of this secret key. If data relating to a checksum (eg CRC) is encrypted via the memory content (block 70) of the program memory using a cryptographic function (block 60), such as data encryption standard (DES), using these secret keys (block 61), one is encrypted receive cryptographic checksum, the so-called message authentication code (MAC), which maps a checksum (eg CRC) via the memory content (block 70). According to the invention, this MAC is formed once at a time T 1 at which manipulations are excluded and stored in a non-volatile memory area (block 71) of the external program memory of the microprocessor system. This time T1 is reached only by the franking machine manufacturer, this MAC (T1), for example during the program code data creation in the personal computer, being formed using the cryptographic checksum method (for example DES algorithm) and embedded in a defined memory area in the Eprom source data. The above-mentioned data are burned into the EPROM during programming.

Die Figur 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.FIG. 6 shows such a formation of a MAC checksum using the DES method via external program EPROMs, the MAC being embedded in the memory area which is assigned to the memory area to be protected.

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.A start routine and initialization of an electronic postage meter machine have already been proposed (without explaining this in more detail) in EP 660269, FIG. 2a (step 101). Furthermore, a routine for the initialization has been proposed, in which a security-relevant program code is stored in the OTP and in which a check sum is made in the OTP about the content of the external program memory and a comparison is made. However, the MAC was saved in a special OTP with internal NVRAM. In addition, no measures have been communicated which prevent that as soon as the microprocessor leaves the internal ROM area with a jump or call command , a manipulator can take control of the microprocessor with its own program code in the external EPROM and so on For example, security check routines that should actually be carried out afterwards in the OTP-ROM can be skipped. Furthermore, no measures have been communicated which prevent that, as soon as the microprocessor describes the external RAM serving as a data store for its program code to be executed, it can be changed by a manipulator, which can change or disrupt the program sequence.

In der Figur 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 T2 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 (T1) vergleichen (siehe Schritt 1026.6). Mit einem solchen Vergleich kann auch während der Laufzeit der Frankiermaschine in einem Schritt 210 die Datenintegrität überprüft und Manipulationen der Speicherinhalte erkannt werden. Bei einem negativen Vergleich (wie Schritt 1026.7 festgestellt) können dann entsprechende Maßnahmen ergriffen werden, die einen weiteren Betrieb der Frankiermaschine verhindern (wie im Schritt 1030) oder eine Manipulation erschweren bzw. eine solche durch geeignete Maßnahmen anzeigen.FIG. 7 shows a sequence for checking an external program EPROM using MAC checksum methods for manipulations. At runtime of the postage meter machine, the microprocessor system can use the same cryptographic (step 1026.2) checksum method over the memory area to be checked (step 1026.1) the MAC (in step 1026.2) at time T 2 and later (T 2 + n ) with the aid of the same secret key ( Form step 1026.3) and compare this MAC (T 2 + n ) with the MAC (T 1 ) taken from the EPROM (in step 1026.5) (see step 1026.6). With such a comparison, the data integrity can also be checked and manipulations of the memory contents can be recognized in a step 210 during the running time of the postage meter machine. In the event of a negative comparison (as determined in step 1026.7), appropriate measures can then be taken which prevent further operation of the franking machine (as in step 1030) or make manipulation more difficult or indicate such by suitable measures.

Die kontinuierliche MAC-Bildung erfolgt - wie im Schritt 210 der Fig.3 gezeigt - nach der im Schritt 101 stattfindenden Startsicherheitsüberprüfung 1020 in jedem Durchlauf der Betriebsprogrammschleife, so daß voranschreitend über jeweils eine größere Anzahl von Programmspeicherzellen mittels des kryptographischen Prüfsummenverfahrens ein relevanter MAC gebildet und mit dem jeweiligen gespeicherten, zum Zeitpunkt T1 gebildeten MAC verglichen werden kann.The continuous MAC formation takes place - as shown in step 210 of FIG. 3 - after the start security check 1020 taking place in step 101 in each run of the operating program loop, so that a relevant MAC is formed and progressed over a larger number of program memory cells using the cryptographic checksum method can be compared with the respective stored MAC formed at time T1.

Zur Erläuterung der kontinuierlichen Programmüberwachung soll auf eine - in der Figur 16 gezeigte - Aufteilung der EPROM-Speicherbereiche mit MAC-Zuordnung hingewiesen werden. Da die Überprüfung des gesamten Speicherbereiches zu lange dauern würde, ist der Speicher in Blöcke und Unterblöcke unterteilt. Zu jedem Block B gibt es einen zugehörigen MAC, der die Gültigkeit des Blocks sicherstellt. Ein Block umfaßt beispielsweise 4 KByte. Bei einem 128 KByte EPROM gibt es also 32 Blöcke und MAC-Prüfsummen. Jeder Block B ist in mehrere Subblöcke SB aufgeteilt. Diese Subblöcke SB haben eine Größe von vorzugsweise 16 Codewörtern.To explain the continuous program monitoring, reference should be made to a division of the EPROM memory areas with MAC assignment shown in FIG. 16. Since it would take too long to check the entire memory area, the memory is divided into blocks and sub-blocks. For each block B there is an associated MAC, which ensures the validity of the block. For example, one block is 4 KB. With a 128 KB EPROM there are 32 blocks and MAC checksums. Each block B is divided into several sub-blocks SB. These subblocks SB have a size of preferably 16 code words.

Die kontinuierliche Programmüberwachung wird anhand eines in der Figur 17 gezeigten Ablaufplanes näher erläutert. Bei einem Durchlauf wird nicht über den gesamten Block ein MAC berechnet, da das zu lange dauern würde. Erfindungsgemäß wird über jeden der Subblöcke SB eines Blocks B der MAC inkrementell berechnet. Die 16 Codewörter des jeweiligen Subblocks SB werden im aktuellen Block B im Schritt 210-1 aufgerufen, um darüber insgesamt eine Prüfsumme (Checksum) und um gegebenenfalls anschließend daraus mittels DES-Verschlüssellung einen MAC zu bilden. Zu Beginn ist die Prüfsumme noch Null. Ebenfalls wird während der Startroutine der Blockzähler und der Subblockzähler auf den Stand Null gesetzt. Die Prüfsummen- bzw. die MAC-Berechnung für einen ganzen Block wird erfindungsgemäß unterbrochen und im nächsten Durchlauf weitergeführt. Beispielsweise wird die Prüfsumme bei jedem Durchlauf kumuliert und dann gegebenenfalls der MAC gebildet. Der Subblockzählerstand SBZ wird im Schritt 210-2 inkrementiert, um fortschreitend im nächsten Durchlauf wieder im Schritt 210-1 kumulieren zu können und um dann den jeweiligen inkrementellen MAC zu bilden. Nach dem Schritt 210-2 zum Inkrementieren des Subblockzählers wird über einen Prüfschritt 210-3 zum Punkt e der Systemroutine verzweigt, wenn der maximale Subblockzählerstand SBZmax noch nicht erreicht ist. Anderenfalls sind alle Subblocke eines Blockes durchlaufen worden und der Endstand bei der Prüfsummenbildung bzw. bei der MAC-Bildung ist erreicht. Nun kann in einem weiterem Schritt 210-4 die vorgenannte kumulierte Prüfsumme bzw. der MAC mit einem zugehörig gespeicherten Wert verglichen werden. Der zugehörig gespeicherte Wert ist eine Prüfsumme bzw. ein MAC, welcher den Subblock authentifiziert. Der zugehörig gespeicherte Wert kann im selben zu prüfenden EPROM oder in einem andern Speicher, beispielsweise im internen OTP-ROM, zum Zeitpunkt T1, vorzugsweise beim Frankiermaschinenhersteller bei der Programmierung des OTP, eingespeichert worden sein.Continuous program monitoring is explained in more detail using a flow chart shown in FIG. 17. A MAC is not calculated over the entire block during a run, since this would take too long. According to the invention, the MAC is calculated incrementally over each of the subblocks SB of a block B. The 16 code words of the respective sub-block SB are called up in the current block B in step 210-1 in order to use them as a total of a checksum and, if necessary, to subsequently form a MAC therefrom using DES encryption. At the beginning, the checksum is still zero. The block counter and the sub-block counter are also set to zero during the start routine. The checksum or MAC calculation for an entire block is interrupted according to the invention and continued in the next run. For example, the checksum is accumulated with each pass and the MAC is then formed if necessary. The sub-block counter SBZ is incremented in step 210-2 in order to be able to accumulate again in step 210-1 in the next run and then to form the respective incremental MAC. After step 210-2 for incrementing the sub-block counter, a branch is made via a test step 210-3 to point e of the system routine if the maximum sub-block counter reading SBZmax has not yet been reached. Otherwise, all sub-blocks of a block have been run through and the final status of the checksum formation or the MAC formation has been reached. Now, in a further step 210-4, the aforementioned cumulative checksum or the MAC can be compared with an associated stored value. The associated stored value is a checksum or a MAC, which authenticates the subblock. The associated stored value can have been stored in the same EPROM to be checked or in another memory, for example in the internal OTP-ROM, at time T1, preferably at the franking machine manufacturer when programming the OTP.

Wird im nachfolgenden Schritt 210-5 festgestellt, daß keine Identität und somit ein Fehler vorliegt, wird auf eine - nicht gezeigte Fehlerroutine verzweigt. Beispielsweise wird ein Flag gesetzt, welches in Schritt 409 des Frankiermodus 400 ausgewertet wird (Fig.5). Anderenfalls, bei Identität, ist die Autentifizierung erfolgreich abgeschlossen worden und und es werden der Schritt 210-6 zur Blockinkrementation und der Schritt 210-7 zur Rücksetzung des Subblockzählerstandes und der Prüfsumme auf den Wert Null erreicht.If it is determined in the subsequent step 210-5 that there is no identity and thus an error, an error routine (not shown) is activated branches. For example, a flag is set, which is evaluated in step 409 of the franking mode 400 (FIG. 5). Otherwise, if there is an identity, the authentication has been successfully completed and step 210-6 for block incrementation and step 210-7 for resetting the sub-block counter status and the checksum to the value zero are reached.

Der jeweils aktuelle Block B wird durch den Blockzählerstand BZ eines Blockzählers ermittelt, welcher hard- oder softwaremäßig realisiert werden kann. Ebenso wird der jeweils aktuelle Subblock SB durch den Subblockzählerstand SBZ eines Blockzählers ermittelt, welcher ebenfalls hard- oder softwaremäßig realisiert werden kann. Anschließend wird der nächste SubblockThe current block B is determined by the block counter status BZ of a block counter, which can be implemented in hardware or software. Likewise, the current sub-block SB is determined by the sub-block counter SBZ of a block counter, which can also be implemented in hardware or software. Then the next subblock

Bei jedem Durchlauf wird über die 16 Codewörter eines Subblockes eine inkrementelle Prüfsumme gebildet. Beim Erreichen des jeweiligen Blockendes (im vorgenannten Fall nach 4096/16 = 256 Durchläufen durch die Systemroutine) wird die kumulierte Prüfsumme mit dem zugehörigen Wert bzw. die MAC's verglichen. Bei Übereinstimmung wird wieder der Blockzähler im Schritt 210-6 auf den folgenden Block (BZ := BZ+1) gesetzt und der Subblockzähler auf den Anfang des neuen Blocks gesetzt (SBZ := 0). Die Prüfsumme ist somit ebenfalls wieder Null. Anschließend wird im Schritt 210-8 geprüft, ob alle Blöcke abgearbeitetet wurden. Wurde der letzte Block abgearbeitet, so wird der Blockzähler wieder auf den ersten Block gesetzt (BZ := 0) und dann auf den Punkt e verzweigt. Somit wird das System kontinuierlich überprüft.With each pass, an incremental checksum is formed over the 16 code words of a sub-block. Upon reaching the respective block end (in the above case by 4096/16 = 256 passes through the system routine) the cumulative checksum with the corresponding value or the MAC's are compared. If there is a match, the block counter is set again in step 210-6 to the following block (BZ: = BZ + 1) and the sub-block counter is set to the beginning of the new block (SBZ: = 0). The checksum is also zero again. It is then checked in step 210-8 whether all blocks have been processed. If the last block has been processed, the block counter is reset to the first block (BZ: = 0) and then branched to point e. The system is thus continuously checked.

Das vorgeschlagene Ausführungsbeispiel ist an jedes System anpaßbar. Abhängig vom verwendeten System kann es sinvoll sein, die Blockgröße und die Subblockgröße anders zu wählen. Eine zu geringe Blockgröße hat aber den Nachteil, daß die Anzahl der MAC-Prüfsummen steigt und damit auch mehr Speicherplatz verbraucht wird. Eine zu geringe Subblockgröße bedeutet, daß sehr häufig Prüfsummen berechnet werden und Abfragen erfolgen, so daß der Zeitbedarf wieder steigt.The proposed embodiment is adaptable to any system. Depending on the system used, it may make sense to choose the block size and the sub-block size differently. Too small a block size has the disadvantage that the number of MAC checksums increases and thus more memory space is also used. A too small sub-block size means that checksums are very often calculated and queries are made so that the time required increases again.

Durch die voranschreitend über jeweils eine größere Anzahl von Programmspeicherzellen erfolgende Prüfung 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 außerden noch mit - einer nicht gezeigten - zeitlichen Überwachung verknüpft werden, so daß ein Anhalten des Programms erkannt wird und zur gleichen Fehlerbehandlung, wie bei einem negativen MAC-Vergleich führt.As a result of the test proceeding over a larger number of program memory cells, it is achieved that the time until a MAC checksum comparison over the entire memory content is relatively short. The interval between the Checksum comparison can also be linked with a time monitoring (not shown), so that a stop of the program is recognized and leads to the same error handling as with a negative MAC comparison.

Die Figur 8 zeigt das Bilden einer MAC-Prüfsümme 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.FIG. 8 shows the formation of a MAC checksum using the DES method via EPROMs in the base of the open mail flap. This is a further advantageous application of the MAC method for checking the integrity of the data and the program code of Eproms, which are used in the franking machine with the mail flap open in the externally accessible base.

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 Figur 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.In EP 660 269 a franking machine is also assumed which has a lockable and sealed flap which only allows access to the hardware behind it (EPROM socket) to a limited, specially trustworthy group of people. Here it could be assumed that these people did not manipulate the franking machine. A solution has now been found that security can be maintained for a franking machine that has a partially opened mail flap. This has the advantage that the user has access to the cliché EPROM socket and can change the cliché EPROM independently. This base is, as can be seen in Figure 2, connected to the microprocessor bus, i.e. manipulation could take place in such a way that a manipulator uses a manipulated program EPROM which, like a RESET eprom, takes control of the microprocessor system and thus specifically changes monetary values, entries or security entries in the franking machine, or that it uses a manipulated cliché eprom, that contains changed print data of the value stamp (place of the sender, post code of the sender) and would result in manipulation of the value stamp.

Die Figur 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 T1 gebildet werden, zu dem Manipulationen ausgeschlossen sind und wird in dem betreffenden Eprom, der in dem Klischeesockel eingesetzt wird (Klischeeeprom, RESET-Eprom), abgespeichert (Block 41). Dieser MAC(T1) 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.The Figure 8 shows the protection of a further external EPROM's. The above-mentioned principle of MAC security via the memory areas can also be used here, since with a secret key which is hidden in the internal program memory (OTP-ROM) and cannot be read out, secure cryptographic functions can be implemented, the security of which is based on the use of this secret key . If you encrypt a checksum of these data areas (block 40) with a cryptographic function (block 60), for example DES, using these secret keys (block 40), a cryptographic checksum is created which represents the memory content. This MAC must be formed once at a time T 1 at which manipulations are excluded and is stored in the relevant eprom that is used in the cliché base (cliché prom, RESET-eprom) (block 41). This MAC (T 1 ) is formed, for example, during the program code data creation of the RESET EPROM in the personal computer and during the creation of cliché data using the cryptographic checksum method (e.g. DES algorithm) and embedded in the Eprom source data in a defined memory area.

Die Figur 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 T2 der Startsicherheitsüberprüfung unter Zuhilfenahme (Schritt 1025.3) des gleichen Geheimschlüssels bilden und diesen MAC (T2) mit dem EPROM entnommenen (Schritt 1025.5) MAC (T1) 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).FIG. 9 shows the testing of an EPROM in the cliché base with MAC checksum methods for manipulation. At runtime of the postage meter machine, the microprocessor system can use the same cryptographic checksum method (step 1025.2) via the memory area to be checked (step 1025.1) to form the MAC at the time T 2 of the start security check with the help (step 1025.3) of the same secret key and form this MAC (T 2 ) Compare the MAC (T 1 ) taken with the EPROM (step 1025.5) (step 1025.6). This comparison (step 1025.6) enables the data integrity of the stamp data to be checked and manipulations of the program code to be identified (step 1025.7). In the event of a negative comparison, appropriate measures can then be taken to prevent the franking machine from continuing to operate (error handling 1030).

Die Figur 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.FIG. 11 relates to checking selected postal data values in an electronic franking machine that are secured with a MAC. Such a check is carried out, for example, in step 1027 during the start and initialization routine, in communication mode 300 and in franking mode 400.

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.The start security check in the start and initialization routine is therefore carried out using a selected checksum procedure within an OTP processor (ONE TIME PROGRAMMABLE), which internally stores the corresponding program parts and also the code for forming a MAC (MESSAGE AUTHENTIFICATION CODE) contains, which is why the manipulator cannot understand the type of checksum procedure. Other security-relevant key data and processes are also stored exclusively in the interior of the OTP processor in order to provide MAC protection via the postal register.

In der EP 660 269 ist die Absicherung der Registerwerte R1,R2,R3, die in einem nichtflüchtigen NVRAM gespeichert sind (siehe Figur 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 Frankiermaschinen 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 Figur 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.
In EP 660 269 the register values R1, R2, R3, which are stored in a non-volatile NVRAM (see FIG. 1), have already been secured with a MAC. The following version extends this register protection in order to achieve an even higher level of security for the franking machine. Additional cases should also be covered:
  • 1. Piece counter register R4 with which the following security
    relevant checks are carried out:
    • Suspicious fashion
    • Imprint of the R4 value in the franking stamp image for visual post control
    • Sleeping mode

    A manipulation of R4 would question these listed security checks and therefore R4 is included in the subsequent MAC protection of registers.
  • 2. Serial number, with the use of NVRAM's can be prevented from other franking machines.
    The proposal is based on a postage meter machine that holds the register data, the serial number and other security-relevant data (e.g. code word Y, flags) that can be changed at runtime of the postage meter machine in an NVRAM (see FIG. 1) that is not soldered onto the control unit, but in one commercially available socket is inserted so that this NVRAM can be pulled out in the event of service and read out with a special service computer, for example to read out register data.

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.A manipulator could open the franking machine and make copies of this NVRAM or of another franking machine that contains a consistent data set (monetary values, register values, MACs, security data, FLAGs). Now he leads targeted manipulations of the data record, for example by reducing the billed franking value. In the event of an inspection or the next remote value specification, this manipulation would be noticed, for example, by checking the suspicious 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.If you include the serial number, which is a unique identification of an individual franking machine, i.e. also the unique identification of the data record of the franking machine, in the MAC protection of register data, a data record in NVRAM from another franking machine cannot be used because the serial number is also stored in another non-volatile memory (e.g. EEPROM) that cannot be removed from the franking machine.

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 abgesichert:

  • Restsummenregister R1
  • Vorgabesummenregister R3
  • Stückzahlregister R4
  • Maschinennummer Nr.
If the differently stored serial numbers were compared, the manipulation would be recognized and the franking machine would be blocked.
In order to achieve this increased security, the following registers are protected with a MAC and are therefore protected against manipulation:
  • Residual total register R1
  • Standard total register R3
  • Number register R4
  • Machine number no.

Das Prinzip dieser MAC-Generierung ist in Figur 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 K reg 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 Figur 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.
The principle of this MAC generation is shown in FIG. 10. After each change in the register, for example franking the MAC is recalculated in the register with the cryptographic function (block 60), D ATA E ncryption- S tandard (DES), using (block 63) to be encrypted of the secret key K reg . The result of the encryption, the MAC , is stored in the reserved data area 50a in the NVRAM.
Like the other post registers, the register MAC is stored several times in the NVRAM and is stored in the EEPROM for certain events, since this only allows a limited number of memory cycles.
FIG. 11 shows the basic sequence of a check with the franking machine switched on. At runtime of the postage meter machine, the microprocessor system can use the same cryptographic checksum method (step 1027.2) over the one to be checked Memory area 50a (step 1027.1) form the MAC (step 1027.4) at the time of the start security check 1020, before each franking (franking mode 400) and before each remote value specification (communication mode 300) with the aid of the same secret key (block 63, (step 1027.3) and generate this Compare MAC's (step 1027.4) with the extracted (step 1027.5) MAC (T1) in step 1027.6).
In the event of a negative comparison (step 1027.7), appropriate measures can then be taken (step 1030) which prevent further operation of the franking machine.

Die Figur 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 Figuren 10 und 11 näher erläuterte Absicherung ausgewählter Postdatenwerte in einer elektronischen Frankiermaschine mit einem MAC.FIG. 5 shows the flowchart for a franking mode with test steps integrated according to the invention, which are carried out before printing. These also include the protection of selected postal data values in an electronic franking machine with a MAC, which is explained in more detail in FIGS. 10 and 11.

Die Erläuterung der Abläufe nach dem - in der Figur 5 gezeigten - Frankiermodus erfolgt in Verbindung mit dem - in den Figuren 1, 2 bzw. 3, 4 dargestellten - Blockschaltbildern bzw. Abläufen.The processes according to the franking mode - shown in FIG. 5 - are explained in connection with the block diagrams or processes shown in FIGS. 1, 2 and 3, 4.

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 B1 bis B4 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.
The invention is based on the fact that after switching on, the postage value in the value print corresponding to the last entry before switching off the franking machine and the date in the day stamp corresponding to the current date are automatically specified that the variable data in the fixed data for the frame for the print and be electronically embedded for all associated data that remain unchanged. These variable data of the window contents are referred to below as window data and all fixed data for the value stamp, the day stamp and the advertising slogan stamp as framework data. The frame data can be taken from a first memory area of a read-only memory (ROM), which also serves as a program memory 11. The window data are taken from a second memory area and stored in accordance with the input in memory areas B j of the non-volatile main memory 5. A step 1040, shown in FIG. 4, is provided for such plate and / or franking image processing. This step includes an automatic routine for the call of pixel files, the assignment and embedding of pixel image data of the fixed and semi-variable as well variable print image data. The associated program is stored in the program EPROM and / or in the internal OTP-ROM. Since there is no program branching to program parts stored in the external program EPROM until step 1040, no manipulation of the print image creation can take place.
Of course, they can also be found in the aforementioned memories at any time during the running time of the franking machine for the purpose of a new assembly to form an overall representation of a franking image. A preferred variant provides for the hexadecimal window data to be transmitted in run-length-coded form to the separate memory areas B 1 to B 4 of the non-volatile working memory 5a and to be stored there. In addition, the time in the clock / date module 8 continues to run even when the franking machine is switched off. If step 401 is thus reached in franking mode 400, data that has already been stored may have been used without manual or renewed external data input after the franking machine has been switched on. This setting relates in particular to the last setting of the postage meter with regard to the postage value, which is displayed in step 209 before the print data is prepared. The current variable pixel image data (date and postage value) are embedded in the fixed frame pixel image data. Subsequently, in step 301 of communication mode 300 or in further steps, such as in step 401 of franking mode 400, the input means are queried for any further inputs.

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.In step 209, the data from the aforementioned memory areas are assembled in accordance with a predetermined assignment to a pixel print image even before printing. The variable information in the window provided can be supplemented and modified later. In order to save time, only those parts of a graphic representation that are actually changed are stored in the non-volatile working memory when a change is made. In the program memory 11 there is a first memory area A (among other things for the data of the constant parts of the franking image) and in the cliché EPROM there is another memory area A Ai (for the advertising cliché frame). The sub-memory areas A i , A Ai are provided for i = 1 to m frame or fixed data, an assigned index i identifying the respective frame, which is preferably a specific one Cost center is assigned. The corresponding assignment of the respective cost center to the basic data is automatically queried after switching on. In a variant proposed in EP 658 861 A1, after each selection of a user-specific plate, the cost center can be automatically assigned by entering a plate number and entered in the memory area C. In another variant (not shown), the cost center must be re-entered into the memory area C each time it is switched on during the start routine.

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.All alphanumeric characters or symbols are stored pixel by pixel as binary data in the character memory 9. The data for alphanumeric characters or symbols are stored in compressed form in the non-volatile working memory 5 in the form of hexadecimal numbers. As soon as the number of the cost center entered is stored in the memory area C, the compressed data from the program memory 11 are converted with the help of the character memory 9 into a printed image having binary pixel data, which is stored in decompressed form in the volatile main memory 7. Working memories 7a, 7b and pixel memories 7c are used below to explain the invention, although this is physically preferably a single memory. For security reasons, the essential image generation program steps will take place in the internal OTP-RAM and are therefore not manipulable.

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 Subspeicherbereiche Bj sind für j = 1 bis n Fensterdaten vorgesehen, wobei verschiedene Zuordnungen zwischen den Subspeicherbereichen der verschiedenen Speicherbereiche vorbestimmt gespeichert sind.The memory areas in the non-volatile working memory 5 can contain a large number of sub-memory areas, under which the respective data are stored in data records. The sub-memory areas B j are provided for j = 1 to n window data, different assignments between the sub-memory areas of the different memory areas being stored in a predetermined manner.

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.In each data record of a sub memory area A i A Ai , B j control code and run length-coded frame or window data are alternately contained one after the other. Before printing, in step 209 the respective selected fixed data are transferred from the non-volatile program memory (PSP) 11 into first registers 701, 711, 721, ..., of the volatile working memory 7a, during which Transfer control codes are decoded and stored in a separate memory area of the working memory 7b. Likewise, the respective selected window data for the postmark and the postage stamp are loaded into second registers 702, 712, 722, .... The registers of sub-memory areas are preferably formed in the memory area of the main memory 7a. In the preferred variant, these aforementioned registers are part of the microprocessor control 6. By decompression, the run-length-coded hexadecimal data are converted into corresponding binary pixel data.

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.The invention furthermore consists in carrying out authenticity checks as a result of the print data input in step 1040 for frames and / or window data during the start and initialization routine 101 and in step 209 for security-relevant window data which were changed during the print data input, steps being taken if there is no authenticity Preventing a further program execution or a program branch leading externally from the OTP processor within the framework of the aforementioned system routine (200) and, if there is authenticity, steps for further program execution within the framework of the aforementioned system routine (200) are carried out.

Die Figur 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 Figur 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.FIG. 14 shows a flow chart for securing security-relevant data in a freely accessible memory in an electronic franking machine. In step 209-1, an entry is made for changing window data. The input is displayed in step 209-2 and then branches to a first test step 209-3 from a number of test steps 209-3 to 209-12. The external program memory (EPROM) also contains, for example, print data of the value stamp and other data, such as, for example, the sender's location, the postal code of the sender, etc., which are to be protected against manipulation by the method explained with reference to FIG. The test steps allow branching to one of the steps 209-4 to 209-11, if a different value, slogan, cliché or other data was selected when entering the data. The described method therefore has sufficient security, even though the MAC is only formed over the subarea in the EPROM that contains data corresponding to the selection. Then go over a step 209-20 branched back to step 209-1 to reset the loop counter. If all test steps 209-3 to 209-12 have been carried out without changing or selecting a new value or data, point e is reached.

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.The method disclosed in EP 0 660 269 A2, in which the program is checked by means of MAC only once at the start of the franking machine's runtime, is improved according to the invention by additional security checks of the individually subsequently changed window data. A subsequent exchange of the EPROM data can now advantageously be recognized during the running time of the franking machine in operation. This makes it impossible to tamper with or manipulate manipulated data at the moment the data is to be read in.

In der Figur 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.
15, steps 209-10 and 209-11 are explained in more detail. If no new entry is recognized (step 2090), a branch is made back to step 209-20. Before the MAC is used, the external EPROM data to be secured are completely loaded into the memory of the postage meter machine (step 2091) and a MAC is then formed via this RAM area (step 2092). This MAC is compared in step 2094 with a pre-calculated MAC (step 2093), which is stored at a suitable location, preferably in the external EPROM. The advantage of this variant is that only those data are used in the franking machine that have passed the security check, since the externally accessible EPROM and thus the data for checking and further processing are only read once. This procedure prevents the data from being subsequently manipulated (e.g. by switching the external EPROM), since the MAC is only read once to form the MAC and for further processing of the data.
If the comparison of the formed MAC and the reference MAC, which is preferably located in the external ROM, turns out to be negative, suitable measures can be taken. For the purpose of error evaluation and display, step 209-13 is preferably branched to step 209-14.

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).The external data can be stored in memory areas in the external EPROM store divided according to data records that are not required in the franking machine at the same time. This method saves time when checking the external data, because here a MAC only has to be formed over a partial area and has to be compared with that stored in the EPROM. The memory required for checking the MAC in the franking machine is thereby reduced. Do z. B. five external data areas (advertising clichés, election prints, etc.), for example, only 1/5 of the total amount of data needs to be transferred to the internal memory (less memory requirement) and also for forming the MAC only about 1/5 of the time is required. There is therefore no need to perform a check on all four data areas that are not required. Depending on the number of data areas to be protected, the same number of reference MACs is also in the external memory (EPROM or 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.In other variants, the MACs can also be located in the NV-RAM of the franking machine or even in the internal ROM of the franking machine. If the MACs are stored in the internal NV-RAM, this also has the advantage that an unsecured external EPROM or ROM is also authorized by entering a code in the franking machine. As a result, no fixed keys need to be used when generating the external ROMs; each franking machine can have its own key for generating the MACs.

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.The security of this new method is now based on the fact that there are one or more inaccessible methods (for example DES) and / or one or more inaccessible keys which are used for forming the MAC in the internal OTP-ROM of the franking machine. The same keys or the same methods have also been used for the MACs stored in the ROM when the ROM was created.

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.When using this method to protect compressed cliché data, the MAC is formed from the unpacked data in RAM. This results in an additional saving of memory space, since compressed and decompressed data do not have to be stored in the franking machine's memory at the same time.

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.In another variant, the external data can also be uncompressed are present, the data then being transferred directly to the internal memory and then the MAC being formed via the internal memory or parts thereof. The separate safeguarding of the individual cliché parts also has the advantage that the time required to check the MAC when selecting a cliché remains low, since only the cliché parts that are currently needed are checked. Therefore, not only a MAC is provided for checking the data in a cliché memory (e.g. ROM), but each individual cliché (advertising cliché, election prints or slogan or other parts, such as the "paid fee" bar) has its own 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.In addition to cliché data, other data to be inserted into the franking machine can also be secured using this method. This data can be in an external ROM, in an external RAM, in an external NV-RAM, also on a chip card or in a combination of the aforementioned. The check is only carried out after the data has been transferred to the internal memory of the franking machine.

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.If it is determined in step 209-11 that the MACs are not identical, the error can be displayed as in the present case in step 209-14 and the machine can then be blocked. Another possibility, e.g. B. when securing cliché data is to print a standard cliché for this case, which indicates manipulation. This cliché can be printed in place of the manipulated cliché or additionally. It is also possible to change another cliché (e.g. date, value) so that manipulation can be recognized.

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.The constant parts of the franking image, once called up, are continuously decoded in the pixel memory area I in the volatile pixel memory 7c. For a quick change of the window data, there is a second memory area B in the non-volatile working memory 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.The number strings (sTrings), which are entered for the generation of the input data with a keyboard 2 or via an electronic balance 22 connected to the input / output device 4 and calculating the postage value, are automatically stored in the memory area D of the non-volatile working memory 5. Plus stay too Records of the sub memory areas, for example B j , C etc., are obtained. This ensures that the last input values are retained even when the franking machine is switched off, so that after switching on the postage value in the value print is automatically specified in accordance with the last entry before the franking machine was switched off and the date in the day stamp is specified in accordance with the current date. If a scale 22 is connected, the postage value is taken from the storage area D. In step 401 it is checked whether there is an input. If a new input request is made in step 401, the process branches back to step 209.

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.Otherwise, steps 402 and 404 branch to step 405 to increase a run counter and to check the number of runs to wait for the print output request. The letter to be franked is detected by a letter sensor and thus a print request is triggered. It is thus possible to branch to the accounting and printing routine in step 406. If there is no print output request (step 405), the process branches back to step 209 (point t).

Wenn nach der - in der Figur 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, Registerprüfung 214 sowie Eingabeanforderung 401 getätigt werden. Es werden wieder Schritte 401 bis 404, wie bei der Variante nach Figur 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.If, according to the preferred variant shown in FIG. 5, branching back to point t and step 301 is reached, a communication request can be made at any time or another input can be made in accordance with the steps for data change 209, test request 212, register check 214 and input request 401. Steps 401 to 404, as shown in the variant according to FIG. 5, are carried out again. In the case of a predetermined number of runs, a branch is made from step 404 to step 408. The alternative query criterion can be queried in step 404 in order to set a standby flag in step 408 if there is still no print output request after a predetermined time. As already explained above, the standby flag can be queried in step 211 following communication mode 300. This does not branch to franking mode 400 until the checksum check has shown that all or at least selected programs are complete.

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 Figur 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.If a print output request is recognized in step 405, further queries are made in subsequent steps 409 and 410 and in step 406. For example, in step 409 Presence of authentic register values (FIG. 11) and in step 410 the achievement of a further piece number criterion and in step 406 the register data collected in known manner for billing. In addition, as already explained with reference to FIG. 10, selected registers in the NVRAM of the franking machine are protected by MAC formation. If the number of items predetermined for franking was used up in the previous franking, ie number of items equal to zero, step 410 automatically branches to point e in order to enter communication mode 300 so that a new predetermined number of items S is again credited by the data center. However, if the predetermined number of pieces had not yet been used, the process branches from step 410 to the billing and printing routine in step 406. A special sleeping mode counter is prompted in step 406, that is to say during the accounting routine which takes place immediately before printing, to continue counting. Likewise, the number of printed letters and the current values in the postal registers are registered in the non-volatile memories 5a, 5b of the franking machine in the accounting routine 406 in accordance with the entered cost center and are available for later evaluation.

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.If necessary, the register values can be queried in display mode 215. It is also provided that the register values or other service data are printed out with the print head of the franking machine for billing or control purposes. This can be done, for example, in the same way as the normal printing of the franking image, but another frame is initially selected for fixed image data, into which the variable data are inserted in accordance with the register values stored in the non-volatile memory NVM 5 or in the cost center memory, similar to that in FIG columns 1 to 2 or in claim 9, in the German patent application DE 42 24 955, for the formation and display in three multi-line information groups or for a required switchover to a corresponding mode is carried out in principle. If a rotated representation is required, contrary to the special explanations in German laid-open specification DE 42 24 955 A1, the data can be stored directly rotated in the volatile memory as it is required for printing. The time-consuming routine of rotating the print data is only carried out once for an additional pixel file when programming the EPROM at the manufacturer, which is more storage space does not require increased computing power in the franking machine.

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.In another variant, provision is also made for variable pixel image data to be embedded in the remaining pixel image data during printing. Corresponding to the position report provided by the encoder 13 about the advance of the postal matter or paper strip in relation to the printer module 1, the compressed data are read from the working memories 5a, 5b and converted with the help of the character memory 9 into a printed image having binary pixel data, which likewise decompressed them Form is stored in volatile memory 7. Further details can be found in European applications EP 576 113 A2 and EP 578 042 A2.

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).The pixel memory area in the pixel memory 7c is therefore provided for the selected decompressed data of the fixed parts of the franking image and for the selected decompressed data of the variable parts of the franking image. After billing, the actual printing routine takes place (in step 406).

Wie aus der Figur 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 anlegen.As can be seen from FIG. 1, the main memory 7b and the pixel memory 7c are connected to the printer module 1 via a printer controller 14 which has a print register (P Reg ) 15 and an output logic. The pixel memory 7c is connected on the output side to a first input of the printer controller 14, at the other control inputs of which output signals from the microprocessor control device 6 are applied.

Sind alle Spalten eines Druckbildes gedruckt worden, wird wieder zur Systemroutine 200 zurückverzweigt.If all columns of a print image have been printed, the system branches back to the system routine 200.

Beim Übergang in die Systemroutine 200 wird - wie in der Figur 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.When changing to the system routine 200 - as shown in FIG. 3 - after a further step 201 for calling up data, in particular sleeping mode quantity data, it is first checked in step 202 whether the criteria for entering the sleeping mode are met . If this is the case, a branch is made to step 203 in order to display at least one warning by means of the display unit 3. In this case, further steps 204 to 206 can be run through before branching to step 209 becomes. If this is not the case, a branch is also made to step 209. After the steps, point t is reached in any case.

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.After a new entry and input / display routine with print data compilation and call of the required pixel files in step 209, the point e, d. H. the start of a communication mode 300 has been reached. For this purpose, a query is made in step 301 as to whether there is a transaction request. If this is not the case, communication mode 300 is exited and point f, i. operating mode 290 reached. If relevant data were transmitted in communication mode, branch to step 213 for data evaluation. Or otherwise, if the non-transmission is determined in step 211, branch to step 212. It is now checked whether corresponding entries have been made in order to go to test mode 216 when test request 212 is made, otherwise to go to display mode 215 when register status check 214 is intended. If this is not the case, the point d, i.e. the franking mode 400 is reached.

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.
According to the invention, it is further provided that a statistical and / or error evaluation is carried out in step 213 in order to obtain further current data which can also be called up in step 201 after branching to the system routine 200.
If point e, ie the beginning of the communication mode 300 explained below, is reached, a query is made in step 301 as to whether there is a transaction request. Such can be provided, for example, for reloading credit and quantity or updating other relevant data.

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 3 erscheint dann eine Darstellung entsprechend der Eingabe.The user selects the communication or remote value setting mode of the franking machine by entering the identification number (eight-digit postage request number) and by pressing the predetermined T key. If the desired input parameter is displayed correctly, this is confirmed by pressing the predetermined T key of the input means 2 again. The input parameter is edited if necessary. A display corresponding to the input then appears in the display unit 3.

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.By pressing the predetermined T key, the transmission of the input parameter via the MODEM connection is started and the input is checked. The rest of the process runs automatically, with the process being accompanied by a corresponding display.

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.
To do this, the franking machine checks whether a MODEM is connected and ready for operation. If this is not the case, the process branches to step 310 to indicate that the transaction request must be repeated. Otherwise, the franking machine reads the dialing parameters, consisting of the dial-out parameters (main / extension, etc.) and the telephone number from an NVRAM memory area F and sends them to the modem 23 with a dial request command. The connection required for communication is then established via the MODEM 23 with the data center After a predetermined number n of unsuccessful redials for the purpose of establishing a connection, a branch is made back to point e via a display step 310.
It is provided that a transaction carried out during the communication with encrypted messages comprises a default value for a credit reload value which is transmitted to the remote data center and / or that another transaction carried out during the communication with encrypted messages contains a specific quantity S 'for a sleeping Fashion includes.

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 benö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.One of the transaction requests leads to a specially secured credit reload in the franking machine. The postal registers present outside of the processor in the cost center memory are preferably also secured during the credit reload by means of a time control. If the franking machine is observed with an emulator / debugger, for example, then it is likely that the communication and accounting routines will not run within a predetermined time. If so, i.e. the routines require considerably more time if this were recognized in the postage meter machine and, as a result, critical memory areas are irretrievably deleted. This prevents the franking machine from continuing to operate.

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 Figuren 12 und 13 dargestellt.Relevant keys (crypto keys) are required for the transmission of the data required for a credit and / or quantity reloading, which have been stored in the memory in cryptified form. The principle of the security concept is in the Figures 12 and 13 shown.

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.The DES algorithm is preferably applied to the keys required for the remote value specification in order to store them in cryptified form. The data transmission from the franking machine to the data center is also secured in communication mode 300 with a DES algorithm, for which a secret DES key is required. This secret DES key is formed in the communication mode 300 by the encrypted keys during the running time of the franking machine, i.e. are decrypted in the OTP during the communication mode 300 in order to load a secret key KAct into the internal OTP-RAM.

Die Figur 12 zeigt die Eingabeverschlüsselung des Fernwertvorgabe DES-Schlüssels KFix zur Absicherung des Fernwertvorgabe DES-Schlüssels KFix. vor Manipulation.FIG. 12 shows the input encryption of the remote value specification DES key K Fix for securing the remote value specification DES key K Fix. before 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 K Kfix verschlüsselt. Der verschlüsselte Geheimschlüssel K Fix wird nun im externen Datenspeicher (NVRAM) abgelegt.During manufacture or by the service technician, each franking machine receives a fixed remote value specification key K Fix via its user interface 2, 3, which key must in principle be kept hidden in the NVRAM. For this, the remote value setting key in step 60 with the cryptographic function, D ATA E ncryption- S tandard (DES), the encrypted secret key K stored Kfix using the OTP-ROM (64 step). The encrypted secret key K Fix is now stored in the external data memory (NVRAM).

In der Figur 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 Figur 13 zeigt die Entschlüsselung DES-Schlüssels KFix und eine Speicherung im internen OTP-RAM für die Fernwertvorgabe im Block 65.FIG. 13 shows which steps must be carried out at the runtime of the postage meter machine for a remote value specification so that the DES key KAct is formed from the encrypted K fix value in the external NVRAM and is held in the processor-internal RAM for the time of the remote value specification procedure . The secret key K Kfix is taken from the internal OTP-ROM (block 64) and encrypted key Crypt K Fix is taken from the NVRAM. The block 60 in FIG. 13 shows the decryption DES key K Fix and a storage in the internal OTP-RAM for the remote value specification in the 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 Frankiermaschine wird dann blockiert.The franking machine performs the regularly and / or when switched on Register check and can thus recognize the missing information if the machine was opened without authorization. The franking machine is then blocked.

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.The potential manipulator of a franking machine has to overcome several thresholds, which of course takes a certain amount of time. If there is no connection from the franking machine to the data center at certain time intervals, the franking machine becomes suspect. It can be assumed that anyone who tampering with the franking machine will hardly report back to the data center.

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 Programmspeicher 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 Druckersteuerung. 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.The control device 6 has a microprocessor or an OTP. In addition to a microprocessor, the OTP also houses non-volatile memories and other circuits in a common housing. The internal non-volatile memory includes, for example, program memory and in particular also the possibility of setting save bits which prevent the internal non-volatile memory from being read from the outside. These security bits are set in the OTP during the manufacture of the franking machine. Observing such security-relevant routines, such as billing routines, with an emulator / debugger would also lead to a change in the timing, which can be determined by the OTP. This also includes a clock generator / counter circuit for the specification of time intervals or clock cycles, for example for time-out generation or printer control. When a certain time has elapsed and the expected event has not occurred, the clock / counter circuit generates an interrupt which reports to the microprocessor that the time has elapsed without success, whereupon the microprocessor takes further measures. According to the clock generator / counter circuit is used for program runtime monitoring. A known number of clock cycles for the program execution of predetermined program parts is assumed. Before the start of the routine, the counter of the clock / counter circuit is preset or reset in a predetermined manner. After the start of the program routine, the counter status is continuously changed in accordance with the clock pulses of the clock generator. After the critical predetermined program parts have been processed, the state of the counter is queried by the microprocessor and compared with the expected value. When crossing In the event of a predetermined deviation in the running time of critical or security-relevant program parts, the franking machine can therefore no longer be operated for franking (kill mode 1). If a manipulator carries out an unauthorized intervention, the franking machine is effectively put out of operation during the runtime by switching to the first mode.

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 Figur 2 dargestellte - Treiberschaltkreise (Buffer) verhindert. Die Datenleitungen, welche hier durch eine unversiegelte Gehäusetür erreichbar 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ß.The register status is checked during an inspection. If necessary, a test impression with the value 0 can be made. In the event of a repair by the on-site service, the franking machine may have to be accessed. The error registers can be read out, for example, with the help of a special service EPROM, which is inserted in the place of the advert EPROM. If the processor does not access this EPROM slot, access to the data lines is usually prevented by special driver circuits (buffers) shown in FIG. 2. The data lines, which can be reached through an unsealed housing door, cannot be contacted without authorization. Another variant is the reading out of error register data by a service computer connected via an interface, the interface then having to have appropriate security measures.

Es ist außerdem auch in Zeiten in welchen nicht gedruckt wird (Standby Modus) vorgesehen, daß eine Abfrage hinsichtlich Manipulationsversuchen 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 Figur 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.It is also provided at times when there is no printing (standby mode) that a query regarding manipulation attempts is made and / or the checksum of the register statuses and / or the content of the program memory PSP 11 is formed. In order to improve the security against manipulation, the check sum for the kill mode 2 is formed in the OTP via the content of the external program memory PSP 11 and the result is compared with a predetermined value stored in the OTP. This is preferably done in step 101 when the postage meter machine is started, or in step 213 when the postage meter machine is operated in standby mode. The standby mode is reached when there is no input or print request for a predetermined time. The latter is the case if a letter sensor known per se - not shown in detail - does not determine the next envelope to be franked. Step 405 - shown in FIG. 5 - in franking mode 400 therefore also comprises a further query for a time lapse which, if the time is exceeded, ultimately returns to point t and thus to point Input routine according to step 209 leads. If the query criterion is met, a standby flag is set as in step 408 and a branch is made back directly to point s to system routine 200 or to point t without the billing and printing routine being executed in step 406. The standby flag is queried later in step 211 and reset after the checksum check in step 213 if no attempted manipulation is detected.

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.The query criterion in step 211 is expanded to include the question of whether the standby flag is set, i.e. whether the standby mode is reached. In this case, step 213 is also branched to. The advantage of this method in connection with the first mode is that the manipulation attempt is statistically recorded in step 213.

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 order to further increase security against manipulation, a flow control is used according to the invention, which is explained below. Such a flow control is carried out by changing a count value in a memory at at least one point during the execution of the program routine. After execution of the program routine, the changed count value is compared with a predetermined count value assigned to this program routine. If branches are run through during program execution, different count values can result. In a subsequent evaluation, a plausibility test is carried out or it can be determined which branches have been run through. This is possible because the change in the count value takes place by multiplication by a specific prime number assigned to the respective program part. In a later evaluation, only a prime number decomposition then has to be carried out.

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.In another variant, where only such program parts without branches are taken into account or no tracing of the program branches that have been run through is necessary, an incrementing of the count value and a final comparison with at least one predetermined numerical value is sufficient.

Der in der Figur 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.The overall flowchart for a security system shown in FIG. 3 has steps 201 to 206 for monitoring further criteria. If one of the security criteria is violated the franking machine enters a sleeping mode, for example if a connection to the data center has not yet been established after the consumption of a predetermined number of pieces.

Die Frankiermaschine und die Datenzentrale verabreden jeweils eine vorbestimmte Stückzahl S, d.h. die Menge, die bis zur nächsten Verbindungsaufnahme frankiert werden kann. Falls eine Kommunikation nicht zustande kommt (Stückzahlkontrolle), verlangsamt die Frankiermaschine ihre Arbeitsweise (Sleeping Modus-Variante 1).The franking machine and the data center each agree on a predetermined number of items S, i.e. the amount that can be franked until the next connection. If communication fails (quantity control), the franking machine slows down its mode of operation (sleeping mode variant 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.Another variant issues a permanent warning that the franking function is about to go to sleep in step 203, which must now be run through in step 202 before the step 205 is reached due to the fulfilled query criterion. It is further provided that step 203 comprises a sub-step for error statistics in accordance with the statistics and error evaluation mode 213.

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.The franking machine requires a connection to the data center in the manner known from US Pat. No. 3,255,439. If the connection is established, the data center checks the register status. If the reload cannot be carried out, the data center prevents it from further operation by means of a signal transmitted to the franking machine. If the connection was established shortly after the signaling performed by the franking machine and the register statuses are not criticized, the franking machine can be switched back to the operating mode without any further extraordinary inspection. For this purpose, new current data are transmitted, for example for a credit and for the permitted number of pieces, which can be franked until the next connection.

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.The data center can differentiate between automatic and normal communication based on the transmitted signaling code. The former will always take place if the user of the franking machine has overlooked or ignored the requests for communication and has omitted appropriate input actions. In the event of repetition, a special inspection can be ordered if manipulation is suspected.

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.Communication mode 300 can then be accessed directly from franking mode Point e are branched back. In this way, other inputs can also be made, for example in accordance with the steps of test request 212 or register check 214. Only if a branch is made to franking mode 400 is it determined again in step 410 according to the decision criterion whether automatic communication is required. This is preferably the case if the predetermined number of pieces has been used up.

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'.If the communication was successful and data was transmitted (queried in step 211), step 213 is also reached. In step 213, the current data are determined or loaded, which are called in step 201 and then required again for the comparison in step 202. The transmitted decision criterion is preferably the new number 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.An alternative variant consists in that the decision criterion is the new credit transmitted for franking and in evaluation mode 213 the new number of items S 'is determined internally in the franking machine. In this case, communication with the data center no longer includes the new number S ', but is only required to trigger the calculation in evaluation mode 213. The calculation takes place internally in the franking machine and at the same time in parallel in the data center using the same methods based on the transmitted register data.

Die Frankiermaschine kann der Datenzentrale Registerwerte vor einer Guthabennachladung übermitteln:

  • R1 (descending register) vorrätige Restbetrag in der Frankiermaschine,
  • R2 (ascending register) Verbrauchssummenbetrag in der Frankiermaschine,
  • R3 (total resetting) die bisherige Gesamtvorgabesumme aller Fernwertvorgaben,
  • 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
    Figure imgb0001
The franking machine can transmit register values to the data center before reloading the credit:
  • R1 (descending register) remaining amount in the franking machine,
  • R2 (ascending register) amount of consumption in the franking machine,
  • R3 (total resetting) the previous total of all remote values,
  • R4 (piece count Σprinting with value = / = O) number of valid prints,
  • R8 (R4 + piece count Σprinting with value = O) Number of all prints follows: R3 = R2 + R1
    Figure imgb0001

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 Kommunikation frankiert werden darf.With each remote value specification, R1 can be queried and statistically evaluate. If R1 becomes larger and larger, the same reload amount can be reloaded in ever larger reloading periods, or the number of pieces that can be franked until the next communication is set.

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.
A franking machine profile can be created on the basis of the franking machine-specific data. This franking machine profile provides information as to whether a customer was able to carry out the determined number of frankings with the reloading processes carried out. There are two levels within Suspicious Mode:
  • 1. Franking machine is suspicious and
  • 2. The franking machine must have been manipulated.

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 Figuren 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.A plausibility check of all franking machines in use is carried out in the data center at regular intervals. In this process, the machines are identified and reported to the postal authority whose franking behavior appears suspicious or has been manipulated. Another security measure (error overflow mode) may be provided in the franking machine. In the second mode, this can be carried out in addition to or instead of sleeping mode variant 1 or sleeping mode variant 2. If the query criterion in step 202 is met, ie if a predetermined number of errors is exceeded, the reaction time of the postage meter machine slows down in step 203, this status being reported to the operator of the postage meter machine simultaneously via the display. In the further steps, the procedure can be similar to that already explained in connection with FIGS. 2 and 5. The postage meter machine stores both internal and operating errors and attempts at manipulation in an error register for logging purposes, for example up to the number 999. If the status of the number of errors being exceeded is not eliminated, for example as part of an inspection by a service provider or by resetting during communication with the data center , the response time can be increased further to make any manipulation more difficult. The number of errors is then further logged, ie up to a predetermined number, for example in step 213.

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.A first variant provides for the response time, for example the time until the start of printing, to be increased linearly with the number of errors. The execution of the program is neither modified nor prevented, but only delayed. In particular, such non-critical program parts that are not monitored by time supervision (kill mode 1) or flow control are called multiple times, such as the error display. This means that the effectiveness of the program remains essentially unchanged.

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 a second variant, the reaction time is increased by one level, whereby the levels can relate to seconds, minutes, hours, days, ... etc.

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.In a modification or in combination with the aforementioned variants, an increase in the response time can also be provided for each incorrect operation. In one embodiment, an electronic time lock is actuated for this purpose. A progressive increase in the reaction time period is preferably provided in the operating program in order to make manipulation more difficult.

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 Figuren 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.It is provided that step 213 is partially or completely called up as a sub-step in connection with other steps. For example, the statistics and error mode is part of step 203 and the billing and printing routine according to step 406 in franking mode 400, which is shown in more detail in FIGS. 3 and 5. If a severe accounting error occurs, the machine is blocked in step 406. However, if an error occurs during the initialization phase in step 101, the machine stops and displays a specific error code.

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.On the other hand, there are serious errors which can only be corrected by an authorized person on the next inspection on site. Such an error, for example if the processor cannot access the working memory, ie can neither read nor change the data content of the RAM, is eliminated, for example, by inserting a special RESET EPROM. For this, the sealing of the flap and the franking machine must be opened. The RESET EPROM contains the necessary data, for example the corresponding key, and special programs for Restoration of the franking machine function. For example, such a program can undo a reduction in redundancy. The logging of the errors, which takes place during the operation of the franking machine in the statistics and error evaluation mode (step 213) separately according to the types of errors, is checked by the authorized person to determine whether a manipulation attempt has been made.

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.The invention is not limited to the present embodiments. Rather, a number of variants are conceivable which make use of the solution shown, even in the case of fundamentally different types.

Claims (15)

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, wobei in den Schritten für die Start- und Initialisierungsroutine ein Übertragen eines extern gespeicherten vorbestimmten MAC-Wertes und ausgewählter Daten eines zu prüfenden Speicherinhaltes in einen Speicher der Frankiermaschine, ein Bilden einer MAC-Prüfsumme im OTP-Prozessor über den Inhalt desjenigen externen Speichers, welchem der MAC zugeordnet ist, eine Überprüfung auf Gültigkeit der Daten mittels eines ausgewählten Prüfsummenverfahrens innerhalb eines Prozessors durchgeführt wird, um bei Gültigkeit ein Frankieren zu erlauben,
gekennzeichnet durch a) Übertragen eines extern gespeicherten vorbestimmten MAC-Wertes und ausgewählter Daten und Programmcode 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, für eine Startsicherheitsüberprüfung (1020) im Rahmen der 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 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 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, einen Verschlüsselungs-Algorithmus und einem zugehörigen Schlüssel enthält und b) Überführung der Frankiermaschine in die vorgenannte Systemroutine (200) und Übertragen eines extern gespeicherten vorbestimmten MAC-Wertes und ausgewählter Daten und Programmcode 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, für eine kontinuierliche Überprüfung in jedem Durchlauf der Betriebsprogrammschleife, wobei vorschreitend über jeweils eine größere Anzahl von Programmspeicherzellen mittels eines kryptographischen Prüfsummenverfahrens ein relevanter MAC gebildet und mit dem jeweiligen gespeicherten, zum Zeitpunkt T1 gebildeten MAC verglichen werden kann, c) Ablaufen von Programmen, wobei alle wesentlichen Programmabläufe in das Innere des OTP-Prozessors verlegt ablaufen, wobei ein Überführung der Frankiermaschine in einen ersten Modus, wenn mindestens ein überprüftes Programm ungültig ist 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), und d) Wiederholung der Prüfung der Frankiermaschine auf Vorliegen einer Manipulation im Rahmen vorgenannter Systemroutine (200).
Method for securing data and program code of an electronic franking machine with a microprocessor in a control device of the franking machine for executing steps for a start and initialization routine and subsequent system routine with the possibility of entering a communication mode with a remote data center as well as further input steps for entering a franking mode which is branched back into the system routine after execution of a billing and printing routine, wherein in the steps for the start and initialization routine a transfer of an externally stored predetermined MAC value and selected data of a memory content to be checked into a memory of the postage meter machine form a MAC checksum in the OTP processor via the content of the external memory to which the MAC is assigned, a check for the validity of the data by means of a selected checksum method is carried out within a processor to allow franking if valid,
marked by a) transferring an externally stored predetermined MAC value and selected data and program code of a memory content to be checked into the internal OTP-RAM for volatile storage and forming a MAC checksum in the OTP processor via the content of the external memory to which the MAC is assigned is for a start security check (1020) as part of the start and initialization routine (101), which runs before a secure print data call routine (1040) and the subsequent system routine (200), to determine the validity of a valid program code and valid data in the predetermined storage space, with an associated MAC (MESSAGE AUTHENTIFICATION CODE) stored in the same storage means and with the check for valid program code and validity of the data using a selected checksum procedure within an OTP processor (ONE TIME PROGRAMMABLE) which is carried out internally the corresponding contains program parts, an encryption algorithm and an associated key and b) transfer of the franking machine to the aforementioned system routine (200) and transfer of an externally stored predetermined MAC value and selected data and program code of a memory content to be checked in the internal OTP-RAM for volatile storage and formation of a MAC checksum in the OTP processor about the content of the external memory to which the MAC is assigned, for a continuous check in each run of the Operating program loop, where a relevant MAC can be formed over a larger number of program memory cells by means of a cryptographic checksum method and compared with the respective stored MAC formed at time T1, c) Execution of programs, with all essential program sequences running inside the OTP processor, transferring the franking machine into a first mode if at least one checked program is invalid or a specific manipulation criterion is met, by steps to prevent the Franking or blocking the franking machine and / or steps to prevent a further program execution or a program branch leading externally from the OTP processor within the framework of the aforementioned system routine (200), and d) repetition of the checking of the franking machine for manipulation in the context of the aforementioned system routine (200).
Verfahren, nach Anspruch 1, dadurch gekennzeichnet, daß als ein spezifisches Manipulationskriterium das Intervall zwischen den Prüfsummenvergleichen mit einer zeitlichen Überwachung verknüpft wird, so daß ein Anhalten des Programms erkannt wird.Method according to Claim 1, characterized in that, as a specific manipulation criterion, the interval between the checksum comparisons is linked to a time monitoring so that a stop of the program is recognized. Verfahren nach den Ansprüchen 1 bis 2, dadurch gekennzeichnet, 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.Method according to claims 1 to 2, characterized in that the franking machine is operated after the time has elapsed without franking triggering and / or after a number of program loop runs without input in the standby mode, security checks of security-relevant data and programs being carried out in the standby mode and in the event of an error, the franking machine is logged and subsequently blocked. Verfahren nach einem der vorgenannten Ansprüche 1 bis 3, dadurch 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.Method according to one of the preceding claims 1 to 3, characterized in that an authenticity check of at least the most essential parts of the program code and the most essential data is carried out in memory areas of a cliché EPROM or another external EPROM. Verfahren, nach Anspruch 1, dadurch gekennzeichnet, daß nach einer Gültigkeitsprüfung die Frankiermaschine in einen zweiten Modus überführt wird, wenn ein spezifisches Kriterium erfüllt ist, wobei die 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 sowie gekennzeichnet durch eine Durchführung von Authentizitätsprüfungen in mindestens einem weiteren Modus, wobei zur Bildung des MAC ein im internen OTP-ROM sicher gespeicherter DES-Algorithmus zur Verschlüsselung verwendet wird und daß zugehörige Schlüssel 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. Method according to Claim 1, characterized in that, after a validity check, the postage meter machine is switched to a second mode if a specific criterion is fulfilled, the steps (201 to 206) following the start point s of the system routine (200) and before expire at point t, comprising: - a step (201) for calling up current data - A step (202) for checking the data by means of a decision criterion and entering the second mode when the criterion is met (steps 203-206), in order to issue a warning and request for communication with the data center to the user of the franking machine, and characterized by a Carrying out authenticity checks in at least one further mode, using a DES algorithm for encryption that is securely stored in the internal OTP-ROM to form the MAC and that associated keys are securely stored in the internal OTP-ROM, with one key for securing all memory contents or a number of different keys are used to secure the different memory contents. Verfahren, nach Anspruch 5, dadurch gekennzeichnet, daß der zweite Modus (Sleeping-Mode) eine Warnung vor der bevorstehenden automatischen Durchführung einer Kommunikation mit der Datenzentrale umfaßt und daß eine Authentizitätsprüfung von Registerwerten aus den Speicherbereichen eines nichtflüchtigen Speichers (NVRAM, EEPROM) bei der Startsicherheitsüberprüfung (1020) und im Frankiermodus durchgeführt wird.Method according to Claim 5, characterized in that the second mode (sleeping mode) comprises a warning of the forthcoming automatic communication with the data center and that an authenticity check of register values from the memory areas of a non-volatile memory (NVRAM, EEPROM) during the Start security check (1020) and carried out in franking mode. Verfahren, nach Anspruch 6, dadurch gekennzeichnet, daß für die Kommunikation mit einer 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.Method according to claim 6, characterized in that a secret first key is used for communication with a data center, which is external to the non-volatile memory OTP processor is stored in encrypted form, which is decrypted by means of an internal second key within the OTP processor, that the encrypted first key is decrypted in connection with the DES algorithm and the aforementioned second key, which is secure in the internal OTP-ROM stored that the decrypted first key is used in conjunction with the DES algorithm to secure the communication of the franking machine with the data center. Verfahren nach Anspruch 7, 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.Method according to Claim 7, characterized in that transactions with encrypted messages are carried out during the communication in order to load a credit and / or further current data into the franking machine, and in that the transaction data are transmitted individually and serially and by a MESSAGE AUTHENTIFICATION CODE (MAC ) are saved, whereby the MAC formation takes place internally in the OTP processor. Verfahren, nach Anspruch 8, dadurch gekennzeichnet, 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.Method according to Claim 8, characterized in that a transaction carried out during the communication with encrypted messages comprises a default value for a credit reload value which is transmitted to the remote data center. Verfahren, nach Anspruch 8, dadurch gekennzeichnet, daß eine während der Kommunikation mit verschlüsselten Meldungen durchgeführte Transaktion eine spezifische Stückzahl S' für den Sleeping-Mode umfaßt.Method according to Claim 8, characterized in that a transaction carried out during the communication with encrypted messages comprises a specific number S 'for the sleeping mode. Verfahren nach einem der vorgenannten Ansprüche 1 bis 10, dadurch 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.Method according to one of the preceding claims 1 to 10, characterized in that in the operating mode (290) a step (214) is provided for a switchover to a display mode (215) for displaying register values for the purpose of checking them, with register values optionally being used for control purposes can be printed out on the internal franking machine printer. Verfahren nach einem der vorgenannten Ansprüche 1 bis 11, dadurch 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.Method according to one of the preceding claims 1 to 11, characterized in that all the essential program sequences run inside the OTP processor and that the franking machine is repeatedly checked for manipulation. 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.
Method for securing data and program code of an electronic postage meter machine against manipulation with a microprocessor in a control unit of the postage meter machine for executing steps for a start and initialization routine and subsequent system routine with the possibility of entering a communication mode with a remote data center and further input steps for entering to enter a franking mode from which, after executing an accounting and printing routine, the system branches back,
marked by a) a start security check (1020) as part of a start and initialization routine (101), which runs before a secure print data call routine (1040) and the subsequent system routine (200), to determine the validity of a program code and / or data in the predetermined Storage space and an associated MAC (MESSAGE AUTHENTIFICATION CODE), which are stored in the same storage medium, the check for valid program code and / or for valid data being carried out by means of a selected checksum method within an OTP processor (ONE TIME PROGRAMMABLE) which contains the corresponding program parts internally and b) transfer of the franking machine into the aforementioned system routine (200) if the data is valid or transfer of the franking machine into a first mode, if the data is invalid or a specific manipulation criterion is met, by steps for preventing the franking machine from being franked or blocked ( 1030) and / or steps for preventing a further program execution or a program branch leading externally from the OTP processor within the framework of the aforementioned system routine (200). c) Carrying out authenticity checks as a result of the print data input in the print data call routine (1040) for frames and / or window data during the start and initialization routine (101) and in step (209) for security-relevant window data which were changed when the print data was input, steps in the absence of authenticity to prevent a further program execution or one leading externally from the OTP processor Program branching in the framework of the aforementioned system routine (200) and, if there is authenticity, steps for further program execution are carried out in the framework of the aforementioned system routine (200).
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, 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, c) kontinuierliche Programmüberwachung innerhalb der Systemroutine (200) und Überführung der Frankiermaschine in den ersten Modus, wenn die Daten ungültig sind bzw. ein spezifisches Manipulationskriterium erfüllt ist, wobei über jeden der Subblöcke SB eines Blocks B eine Prüfsumme oder MAC inkrementell berechnet wird, wobei eine kumulierte Prüfsumme bzw. MAC gebildet und ein Vergleich mit einem früher gespeicherten Wert für vorgenannte Prüfsumme bzw. MAC vorgenommen wird, um die Authentizität der Programmteile voranschreitend festzustellen.
Method for securing data and program code of an electronic postage meter machine against manipulation with a microprocessor in a control unit of the postage meter machine for executing steps for a start and initialization routine and subsequent system routine with the possibility of entering a communication mode with a remote data center and further input steps for entering to enter a franking mode from which, after executing an accounting and printing routine, the system branches back,
marked by a) a start security check (1020) as part of a start and initialization routine (101), which runs before a secure print data call routine (1040) and the subsequent system routine (200), to determine the validity of a program code and / or data in the predetermined Storage space, b) transferring the postage meter machine to the aforementioned system routine (200) if the data is valid or transferring the postage meter machine to a first mode if the data is invalid or a specific manipulation criterion has been met, c) continuous program monitoring within the system routine (200) and transfer of the franking machine into the first mode if the data is invalid or a specific manipulation criterion is met, a checksum or MAC being calculated incrementally over each of the subblocks SB of a block B, whereby a cumulative checksum or MAC is formed and a comparison is made with a previously stored value for the aforementioned checksum or MAC in order to determine the authenticity of the program parts as it progresses.
Verfahren, nach Anspruch 14, gekennzeichnet durch die Schritte: - Aufrufen der Codewörter des jeweiligen Subblocks SB des aktuellen Blocks B im Schritt (210-1), um darüber insgesamt eine Prüfsumme oder mittels DES-Verschlüssellung einen MAC zu bilden, wobei die Prüfsummen- bzw. die MAC-Berechnung für einen ganzen Block unterbrochen und im nächsten Durchlauf weitergeführt wird und wobei die Prüfsumme bei jedem Durchlauf kumuliert und dann gegebenenfalls wieder der inkrementell MAC gebildet wird, - Vorsehen eines Schrittes (210-2) zum Inkrementieren des Subblockzählers, um fortschreitend im nächsten Durchlauf wieder im Schritt (210-1) kumulieren zu können und um dann den jeweiligen inkrementellen MAC zu bilden, wobei nach dem Schritt (210-2) zum Inkrementieren des Subblockzählers über einen Prüfschritt (210-3) zum Punkt e der Systemroutine verzweigt wird, wenn der maximale Subblockzählerstand SBZmax noch nicht erreicht ist, oder wobei, wenn Endstand bei der Prüfsummenbildung bzw. bei der MAC-Bildung erreicht ist, nach dem Prüfschritt (210-3) in einem weiterem Schritt (210-4) die vorgenannte kumulierte Prüfsumme bzw. der MAC mit einem zugehörig gespeicherten Wert verglichen wird, wobei im nachfolgenden Prüfschritt (210-5) festgestellt wird, ob eine Identität oder ein Fehler vorliegt, - Verzweigen im Fehlerfall, wobei Flag gesetzt, welches in einem Schritt (409) des Frankiermodus (400) ausgewertet wird, oder - Abschluß der Autentifizierung und Durchführung eines Schrittes (210-6) zur Blockinkrementation und eines Schrittes (210-7) zur Rücksetzung des Subblockzählerstandes (SBZ := 0) und der Prüfsumme auf den Wert Null, Prüfen im Schritt (210-8), ob alle Blöcke abgearbeitetet wurden, um den Blockzähler im Schritt (210-9) wieder auf den ersten Block zu setzten (BZ := 0) und Verzweigung auf den Punkt e zur weiteren Abarbeitung der Systemroutine. Method according to claim 14, characterized by the steps: - Calling the code words of the respective sub-block SB of the current block B in step (210-1) in order to form a total of a checksum or a MAC by means of DES encryption, the checksum or MAC calculation being interrupted for an entire block and is continued in the next pass and the checksum is accumulated with each pass and the incremental MAC is then formed again if necessary, - Providing a step (210-2) for incrementing the sub-block counter, in order to be able to accumulate again in the next pass in step (210-1) and then to form the respective incremental MAC, after step (210-2) for Incrementing of the sub-block counter is branched via a check step (210-3) to point e of the system routine if the maximum sub-block counter reading SBZmax has not yet been reached, or, if the final reading of the checksum or MAC generation has been reached, after the check step (210-3) in a further step (210-4) the aforementioned accumulated checksum or the MAC is compared with an associated stored value, it being determined in the following test step (210-5) whether there is an identity or an error, - branching in the event of an error, the flag being set, which is evaluated in a step (409) of the franking mode (400), or - Completion of the authentication and execution of a step (210-6) for block incrementation and a step (210-7) for resetting the sub-block counter status (SBZ: = 0) and the checksum to the value zero, checking in step (210-8), whether all blocks have been processed in order to reset the block counter to the first block in step (210-9) (BZ: = 0) and branching to point e for further processing of the system routine.
EP96250192A 1995-09-08 1996-09-06 Method for securing data and progam code of an electronic franking machine Ceased EP0762338A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19534530 1995-09-08
DE1995134530 DE19534530A1 (en) 1995-09-08 1995-09-08 Process for securing data and program code of an electronic franking machine

Publications (2)

Publication Number Publication Date
EP0762338A2 true EP0762338A2 (en) 1997-03-12
EP0762338A3 EP0762338A3 (en) 2000-01-26

Family

ID=7772452

Family Applications (1)

Application Number Title Priority Date Filing Date
EP96250192A Ceased EP0762338A3 (en) 1995-09-08 1996-09-06 Method for securing data and progam code of an electronic franking machine

Country Status (2)

Country Link
EP (1) EP0762338A3 (en)
DE (1) DE19534530A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0927971A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Method and postal apparatus with a chipcard read/write unit for reloading change data into a chipcard
EP0927970A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
EP0927968A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
EP0927969A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
EP0930586A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Apparatus and method for transferring information between a franking machine and IC-cards
EP1063619A1 (en) 1999-06-15 2000-12-27 Francotyp-Postalia Aktiengesellschaft & Co. Security module and method for protecting the postal register against manipulation
EP0908852A3 (en) * 1997-09-16 2000-12-27 Ascom Hasler Mailing Systems AG Improved man-machine interface
EP1095343A1 (en) * 1998-06-15 2001-05-02 Ascom Hasler Mailing Systems, Inc. Technique for securing a system configuration of a postage franking system
EP1202223A2 (en) 2000-07-27 2002-05-02 Francotyp-Postalia AG & Co. Mail processing machine and method for its initialisation
EP1069492A3 (en) * 1999-06-15 2006-04-19 Francotyp-Postalia GmbH Security module and method for monitoring de safety of a system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19731304B4 (en) * 1997-07-14 2005-02-24 Francotyp-Postalia Ag & Co. Kg Statistical mode reload and statistical statistics acquisition method when storing a data set
DE19830055B4 (en) 1998-06-29 2005-10-13 Francotyp-Postalia Ag & Co. Kg Method for the secure transmission of service data to a terminal and arrangement for carrying out the method
DE10300609A1 (en) * 2003-01-10 2004-07-29 Wincor Nixdorf International Gmbh Non-reactive device interface

Citations (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 (en) * 1987-02-10 1988-08-15 Nec Corp Program start check system
EP0281225A2 (en) * 1987-03-03 1988-09-07 Hewlett-Packard Company Secure information storage
DE4129302A1 (en) * 1991-09-03 1993-03-04 Helmut Lembens Franking machine
DE4344476A1 (en) * 1993-12-21 1995-06-22 Francotyp Postalia Gmbh Process for improving the security of franking machines

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448641A (en) * 1993-10-08 1995-09-05 Pitney Bowes Inc. Postal rating system with verifiable integrity

Patent Citations (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 (en) * 1987-02-10 1988-08-15 Nec Corp Program start check system
EP0281225A2 (en) * 1987-03-03 1988-09-07 Hewlett-Packard Company Secure information storage
DE4129302A1 (en) * 1991-09-03 1993-03-04 Helmut Lembens Franking machine
DE4344476A1 (en) * 1993-12-21 1995-06-22 Francotyp Postalia Gmbh Process for improving the security of franking machines

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 012, no. 480 (P-801), 15. Dezember 1988 (1988-12-15) & JP 63 196936 A (NEC CORP), 15. August 1988 (1988-08-15) *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0908852A3 (en) * 1997-09-16 2000-12-27 Ascom Hasler Mailing Systems AG Improved man-machine interface
US6295523B1 (en) 1997-09-16 2001-09-25 Ascom Hasler Mailing Systems Ag Man-machine interface
US6418422B1 (en) 1997-12-15 2002-07-09 Francotype-Postalia Ag & Co. Postage meter machine with a chip card write/read unit and method for operating same
EP0927970A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
EP0930586A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Apparatus and method for transferring information between a franking machine and IC-cards
EP0927971A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Method and postal apparatus with a chipcard read/write unit for reloading change data into a chipcard
EP0927968A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
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
EP0927969A3 (en) * 1997-12-15 2000-09-27 Francotyp-Postalia AG & Co. Franking machine with chipcard read/write unit
EP1095343A1 (en) * 1998-06-15 2001-05-02 Ascom Hasler Mailing Systems, Inc. Technique for securing a system configuration of a postage franking system
EP1095343A4 (en) * 1998-06-15 2007-05-02 Ascom Hasler Mailing Sys Inc Technique for securing a system configuration of a postage franking system
US6362724B1 (en) 1999-06-15 2002-03-26 Francotyp-Postalia Ag & Co. Security module and method for securing computerized postal registers against manipulation
EP1063619A1 (en) 1999-06-15 2000-12-27 Francotyp-Postalia Aktiengesellschaft & Co. Security module and method for protecting the postal register against manipulation
EP1069492A3 (en) * 1999-06-15 2006-04-19 Francotyp-Postalia GmbH Security module and method for monitoring de safety of a system
EP1202223A2 (en) 2000-07-27 2002-05-02 Francotyp-Postalia AG & Co. Mail processing machine and method for its initialisation
EP1202223A3 (en) * 2000-07-27 2005-06-08 Francotyp-Postalia AG & Co. KG Mail processing machine and method for its initialisation
US7974927B2 (en) 2000-07-27 2011-07-05 Francotyp-Postalia Gmbh Mailing machine and initialization method

Also Published As

Publication number Publication date
DE19534530A1 (en) 1997-03-13
EP0762338A3 (en) 2000-01-26

Similar Documents

Publication Publication Date Title
EP0660269B1 (en) Method for enhancing franking machines security
EP0762337A2 (en) Method and device for enhancing manipulation-proof of critical data
EP0660270B1 (en) Method and device for generating and checking security imprints
DE3613007B4 (en) System for determining unbilled print
EP0892368B1 (en) Method for downloading statistical data and for the classification in statistical sets at the loading of a batch of data
DE69736246T2 (en) Device for secure cryptographic data processing and protection of storage devices for franking machines
DE3729342A1 (en) SECURITY PRINTER FOR A VALUE PRINTING SYSTEM
EP0762338A2 (en) Method for securing data and progam code of an electronic franking machine
DE19534528A1 (en) Method for changing the data of an electronic franking machine loaded in memory cells
EP1035516B1 (en) Arrangement for a security module
EP1035517B1 (en) Method for the protection of a security module and arrangement for implementing said method
DE19757653C2 (en) Method and postal device with a chip card read / write unit for reloading change data by chip card
EP1063619B1 (en) Security module and method for protecting the postal register against manipulation
EP1035518A2 (en) Method for the protection of a security module and arrangement for implementing said method
EP0969420B1 (en) Method for secure transfer of service data to a terminal and arrangement for carrying out the same
EP0717379B1 (en) Method for improving the security from franking machines at a credit transfer
DE19534529C2 (en) Process for increasing the security against manipulation of critical data
DE19928058A1 (en) Arrangement and method for generating a security imprint
DE19534527C2 (en) Process for increasing the security against manipulation of critical data
EP0996097A9 (en) Method for improving the security of franking machines during the credit transfer
DE102006022315A1 (en) Arrangement and method for creating a franking imprint
DE102006022210A1 (en) Arrangement and method for creating a franking imprint

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): CH DE FR GB IT LI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): CH DE FR GB IT LI

17P Request for examination filed

Effective date: 20000214

17Q First examination report despatched

Effective date: 20020408

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FRANCOTYP-POSTALIA AG & CO. KG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20030426