-
Diese
Erfindung betrifft eine Frankiermaschinenvorrichtung und ein Kommunikationssystem
und -verfahren, und insbesondere die Kommunikation elektronischer
Frankiermaschinen mit einer computergesteuerten zentralen Einrichtungen
für solche Systeme
und Verfahren.
-
Die
durch Fernsteuerung unterstützte
Einstellungstechnik TMS (Tele-Meter-Setting) ist dafür bekannt,
dass sie dem Benutzer einer Frankiermaschine die Möglichkeit
bietet, die Frankiermaschine bei erhöhtem Postaufkommen per Telefon
neu einzustellen. Einige dieser Verfahren sind beispielsweise in
den US-Patenten Nr. 5,237,506, verliehen am 17. August 1993 an Horbal
et al., und Nr. 4,097,923, verliehen am 27. Juni 1978 an Eckert,
Jr. et al., beschrieben. Dank solch einer Technik muss die Frankiermaschine
nicht mehr zu einer Postbehörde
zur autorisierten Neueinstellung gebracht werden. In einem typischen
Prozess der Neueinstellung per Telefon rufen der Benutzer oder,
per Modem, die Frankiermaschine des Benutzers, die computergesteuerte
zentrale Einrichtung an, um zusätzlich
verfügbare
Portowerte anzufordern. Die zentrale Einrichtung verifiziert dann
die Identität
der Frankiermaschine und ermittelt die Verfügbarkeit von Geldmitteln auf
dem Konto des Benutzers. Nach der Bestätigung der Information belastet
die zentrale Einrichtung das Konto des Benutzers und schickt einen
kombinierten Code an die Frankiermaschine oder den Benutzer, welcher
diesen dann in die Frankiermaschine eingibt. Die Frankiermaschine
erstellt dann selbständig
einen weiteren kombinierten Code und vergleicht diesen mit dem zuvor
eingegebenen Code. Wenn die Beziehung zwischen den beiden Codes
korrekt ist, wenn zum Beispiel die beiden kombinierten Codes gleich
sind, wird die Frankiermaschine mit dem angeforderten zusätzlichen
Porto neu eingestellt.
-
Ebenfalls
gut bekannt ist der Verschlüsselungsstandard
für Daten
DES (Data Encryption Standard), ein Verschlüsselungs algorithmus, welcher
die Geheimhaltung in der Datenkommunikation absichert. Im DES-Algorithmus
erfolgt eine Anzahl von Iterationen, durch die zu verschlüsselnde
Daten durch eine einfache Transformation bearbeitet werden, wofür abwechselnd
Transpositions- und Substitutionverfahren angewendet werden. Dieser
Algorithmus benötigt
einen bestimmten DES-Schlüssel
zur Entschlüsselung
und Verschlüsselung
der Daten. Dieser Schlüssel
muss geheim gehalten werden, da der DES-Algorithmus selbst allgemein bekannt
ist und die Bekanntgabe des DES-Schlüssels es ermöglichen
würde,
die verschlüsselten
Daten zu entschlüsseln.
-
Der
DES-Schlüssel
besteht aus 8 Bytes. Bei der Verschlüsselung teilt der DES-Algorithmus
eine Data-Byte-Sequenz in Blocks zu je 8 Bytes. Er arbeitet jeweils
nur an einem Block, wobei er den Block halbiert und ein Zeichen
nach dem anderen verschlüsselt.
Die Zeichen werden unter der Kontrolle des Schlüssel 16 Mal verschlüsselt und
ergeben letztlich einen verschlüsselten
oder chiffrierten Text, welcher aus 64 Bits besteht.
-
Der
DES ermöglicht
vier unterschiedliche Betriebsarten, welche hinsichtlich Komplexität und Anwendbarkeit
variieren. Einzelheiten zu diesen vier Betriebsarten sind in der
Veröffentlichung
von M. Schmid et al., „The
Data Encryption Standard: Past and Future", Proceedings of the IEEE, Vol. 76,
Nr. 5, Mai 1988 nachzulesen. Eine dieser vier DES-Betriebsarten
ist unter dem Namen CBC-Modus (Cipher Block Chaining-Modus) bekannt, da
dieser Chiffretextblöcke
miteinander verknüpft.
Der CBC-Modus verschlüsselt
jeden Block auf Basis der acht Data-Bytes im Block, des Schlüssels und
eines dritten Werts, welcher eine Funktion des vorherigen Blocks ist.
Diese wiederholte Verschlüsselung,
welche Chaining genannt wird, enthält versteckte sich wiederholende
Muster.
-
Bestimmte
Verschlüsselungsalgorithmen können auch
zur Authentifizierung in der Datenkommunikation genutzt werden,
um Virusattacken oder unbefugten Datenzugriff zu verhindern.
-
Tatsächlich wurde
die Anwendung des oben beschriebenen DES-CBC-Modus in jüngster Zeit auf die Datenauthentifizierung
ausgeweitet. Wird die CBC-Modus-Verschlüsselung nach oben beschriebener
Art und Weise auf die Daten einer Nachricht angewandt, entsteht
ein Code zur Authentifizierung einer Nachricht, welcher einer Nachricht
als Signatur angehängt
werden kann. Ohne die Kenntnis des verwendeten DES-Schlüssels ist
es praktisch unmöglich,
die Signatur zu fälschen.
Nach Erhalt der Nachricht zusammen mit dem Authentifizierungscode
errechnet der Empfänger
selbständig
auf Basis der erhaltenen Nachricht einen Authentifizierungscode
und vergleicht ihn mit dem erhaltenen Code. Sind die beiden Codes
identisch, ist die Wahrscheinlichkeit sehr groß, dass die Nachricht ohne Änderungen
verschickt wurde.
-
Das
US-Patent
US 4122532 (Dlugos
et al./Pitney-Bowes, Inc.), welches ein System zur Aktualisierung
von Informationen zu Posttarifen für entfernt liegende Frankiermaschinen
beschreibt, ist uns bekannt. Dieses System weist einen zentralen
Datenprozessor zur Generierung von neuen Daten auf. Ein Codiergerät übersetzt
die neuen Daten in elektronische Tonsignale, welche beispielsweise über Telefonleitungen
zu den entfernt liegenden Maschinen übermittelt werden. Die elektronischen
Tonsignale werden von einem Decoder in neue Daten rückübersetzt.
Die entfernt liegende Maschine ist mit einem Speicher ausgestattet,
um veraltete oder neue Daten in einer Vielzahl von Speicherplätzen und
einem Programming-Transfer-Kontroller
zu speichern, der den Decoder und den Speicher miteinander verbindet, nacheinander
jeden Speicherplatz mit veralteten Daten anwählt, die veralteten Daten löscht und
neue Daten auf die angewählten
Speicherplätze
lädt.
-
Ein
Ziel der Erfindung ist die Ermöglichung von
effektiver Kommunikation zwischen Frankiermaschinen und einer computergesteuerten,
zentralen Einrichtungen sowohl für
TMS- als auch für
andere Verwaltungszwecke.
-
Die
Erfindung bietet eine Frankiermaschine für Drucksachen, die die Merkmale
von Patentanspruch 1 aufweist. Es wird ebenso ein Verfahren zur Bearbeitung
von Postnachrichten gemäß Patentanspruch
8 geboten.
-
Gemäß der Erfindung
kommuniziert die zentrale Einrichtung mit jeder Frankiermaschine,
um in der Frankiermaschine mindestens eine Gebührenklasse mit einem ersten
Portowert als oberen Grenzwert und einem zweiten Portowert als unteren
Grenzwert zu definieren. Die Frankiermaschine verknüpft dabei
eine Untermenge der so bearbeiteten Postnachrichten mit der Gebührenklasse,
die auf den für die
Untermenge ausgewählten
Portowerten basiert. In diesem Fall liegen die ausgewählten Portowerte zwischen
dem oberen und dem unteren Grenzwert der Gebührenklasse. Mit Hilfe von Zählern in
den Frankiermaschinen werden statistische Daten über die Anzahl der Postnachrichten
in der Untermenge erstellt. Die statistischen Daten werden zu vorgegebenen
Zeiten gelesen und anschließend
an die zentrale Einrichtung übertragen.
Letztere führt
detaillierte statistische Aufzeichnungen für jede Frankiermaschine.
-
Die
Ausführung
der Erfindung wird nun beispielhaft mit Bezug auf die Zeichnungen
beschrieben, wobei:
-
1 ein
Blockdiagramm eines Systems zur Kommunikation zwischen einem Datencenter
und Frankiermaschinen gemäß der Erfindung
ist;
-
2 ein
Blockdiagramm der Frankiermaschine aus 1 ist;
-
3A ein
Speicherabbild des Speicherplatzes der Frankiermaschine aus 2 darstellt;
-
3B ein
weiteres Speicherabbild eines zweiten Speicherplatzes der Frankiermaschine
aus 2 darstellt;
-
4 ein
Ablaufdiagramm eines Routineprogramms dar stellt, welches von der
Frankiermaschine durchführt
wird, um eine TMS-Transaktion mit dem Datencenter abzuwickeln;
-
5A und 5B ein
kombiniertes Ablaufdiagramm des Routineprogramms eines Hostcomputers
im Datencenter zur Durchführung
einer TMS-Transaktion mit der Frankiermaschine darstellt;
-
6A ein
Blockdiagramm ist, welches das Datenformat eines Anfrage-Datenpakets
darstellt, das von der Frankiermaschine an das Datencenter kommuniziert
wird;
-
6B eine
Tabelle ist, in der Steuerungsanfragen von der Frankiermaschine
und Steuerungsbefehle vom Datencenter während ihre Kommunikation nachgeschlagen
werden können;
-
7A und 7B Tabellen
sind, welche jeweils schwache und halb-schwache DES-Schlüssel zur
Verschlüsselung
und/oder Authentifizierung von ausgewählten Daten zur Übertragung
auflisten;
-
8 ein
Blockdiagramm ist, welches das Datenformat eines Antwort-Datenpakets
darstellt, welches vom Datencenter an die Frankiermaschine kommuniziert
wird;
-
9 ein
Blockdiagramm ist, welches das Datenformat eines Summen-Datenpakets
darstellt, das von der Frankiermaschine an das Datencenter kommuniziert
wird;
-
10 ein
Blockdiagramm ist, welches das Datenformat eines Freigabe-Datenpakets
darstellt, das vom Datencenter an die Frankiermaschine kommuniziert
wird;
-
11A ein Blockdiagramm ist, welches das Datenformat
eines Abbruch-Datenpakets darstellt, welches vom Datencenter an
die Frankiermaschine kommuniziert wird;
-
11B ein Blockdiagramm ist, welches das Datenformat
eines Logout-Datenpakets darstellt, welches von der Frankiermaschine
an das Datencenter kommuniziert wird;
-
12 ein
Blockdiagramm umfasst, welches eine dynamische Datenstruktur darstellt,
wie sie von ausgewählten
Feldern der Datenpakete gemäß der Erfindung
verwendet wird;
-
13 eine
Tabelle ist, welche den Inhalt eines weiteren exemplarischen Summen-Datenfeldes in
der dynamischen Datenstruktur aus 12 beschreibt;
-
14 eine
Tabelle ist, welche den Inhalt eines weiteren exemplarischen Freigabe-Datenfeldes in
der dynamischen Datenstruktur aus 12 beschreibt;
-
15 einen
Satz von Puffern im Speicherplatz von 3A darstellt;
-
16 einen
exemplarischer Ablauf der Vorgänge
darstellt, welche die Frankiermaschine bei ihrem Betrieb durchläuft; und
-
17 ein
Blockdiagramm einer IC-Karte ist, wie sie im System von 1 verwendet
wird.
-
Bei
allen Zeichnungsfiguren bezeichnen die selben Referenznummern und
-buchstaben die gleichen Funktionen, Elemente, Komponenten oder
Teile des dargestellten Systems.
-
In 1 weist
System 10 das Datencenter 15 und eine Vielzahl
elektronischer Frankiermaschinen 101-1 bis -p auf, welche
im Aufbau identisch sind, wobei p eine ganze Zahl ist. Der Hostcomputer 103 im
Datencenter 15 kann Daten mit den Frankiermaschinen austauschen,
beispielsweise über
Telefonverbindungen. Zu diesem Zweck ist der Hostcomputer 103 mit dem
Terminal-Server 105 konventioneller Bauart verbunden. Server 105 ermöglicht dem Host
die gleichzeitige Kommunikation mit den Frankiermaschinen durch
eine Auswahl von Modems 107-1 bis -m, wobei m eine bestimmte
ganze Zahl ist.
-
In 2 ist
die Frankiermaschine 101-1 dargestellt, welche für die Frankiermaschinen 101-1 bis -p
aus 1 steht. Im Mittelpunkt der Frankiermaschine 101-1 ist
der Kontroller 201, der einen konventionellen Mikroprozessor
(nicht dargestellt) aufweist. Der Kontroller 201 ist zur
Orchestrierung des Betriebes der Frankiermaschine 101-1 programmiert.
An den Kontroller 201 sind die Tastatur 203, das
interne Modem 205, der Interface-Schaltkreis 207,
das Display 215, der löschbare,
programmierbare Festspeicher (EPROM) 220, der permanente
Schreib-Lese-Speicher (nv-RAM) 230, der elektronisch löschbare,
programmierbare Festspeicher (EEPROM) 240, das elektromechanische
Untersystem 250 und der elektrische Schaltkreis 260 angeschlossen.
Die Tastatur 203 gibt einem Benutzer die Möglichkeit,
Daten und/oder Befehle in die Frankiermaschine einzugeben. Das interne
Modem 205 dient der Kommunikation mit dem Datencenter 15 durch
eines der Modems 107-1 bis -m. Der Interface-Schaltkreis 207 weist
universelle, asynchrone Sender-Empfänger (UARTs) auf, welche als
RS-422 und RS-232
Eingabe-/Ausgabe-Ports (E/A-Ports) konfiguriert wurden. Durch diese
E/A-Ports kann die Frankiermaschine 101-1 mit Peripheriegeräten wie
einer Postwaage, einem Personalcomputer (PC) usw. verbunden werden.
Das Display 215 kann interne Nachrichten und Nachrichten
vom Datencenter 15 anzeigen. Das EPROM 220 weist
ein Bedienprogramm auf, welches dem Kontroller 201 Anweisungen
zur Bedienung der Frankiermaschine 101-1 gibt. Das elektromechanische
Untersystem 250 umfasst Standardkomponenten der Frankiermaschine
wie Treiber und Sensoren, die den Druck des gewünschten Portos auf Postnachrichten bewirken,
und Zwischenschaltmechanismen zur regulierten Sperrung der Frankiermaschine
für den weiteren
Betrieb und zur Entsperrung, um den Betrieb fortzusetzen. Der elektrische
Schaltkreis 260 umfasst Standardkomponenten wie Netzanschluss, Echtzeituhr
mit Kalenderfunktion, die ein Signal für das aktuelle Datum übermittelt,
eine Batterie für
die Echtzeituhr usw.
-
3A stellt
das Speicherabbild des Speicherplatzes dar, welches vom nv-RAM 230 der
Frankiermaschine 101-1 bereitgestellt wird. Das Speichermodul 230a im
nv-RAM 230 ist durch Hardware gesichert und umfasst Ringpuffer,
die aus Pages bestehen. Jede Page beinhaltet zum Beispiel (a) Uhrzeit
und Datum der Speicherung der Page, (b) einen Postenzähler, der
stets die Übersicht über die
Gesamtzahl der bearbeiteten Postnachrichten behält, (c) ein absteigendes Register,
(d) ein aufsteigendes Register und (e) zyklische Redundanz-Prüfungen (CRC).
Letztere sind das Ergebnis der Bearbeitung übermittelter Daten gemäß einem
System zur Erkennung von Standardabweichungen in den übermittelten
Daten, welche durch störanfällige Telefonleitungen
verursacht werden. Das Speichermodul 230b weist Arbeitsspeicherplatz
und Puffer zur temporären Speicherung
von Programmdaten auf, einschließlich beispielsweise eines
Klassendefinitions-Puffers und eines Limit-Puffers, die noch beschrieben
werden.
-
3B stellt
ein Speicherabbild des Speicherplatzes dar, der von EEPROM 240 bereitgestellt wird.
Das Speichermodul 240a in EEPROM 240 ist ebenfalls
durch Hardware gesichert und speichert eine Kopie des Inhalts von
Modul 230a. Das Speichermodul 240b enthält Daten
zur Hardwarekonfiguration der Frankiermaschine.
-
In
diesem Ausführungsbeispiel
wird das Datencenter 15 zum Beispiel von einer Postbehörde gesteuert.
Unter anderem ist die Postbehörde
möglicherweise
an der Erfassung statistischer Daten interessiert, beispielsweise über die
Anzahl von Postnachrichten in unterschiedlichen Versandklassen (z. B.
Erste-Klasse-Briefe, Paketpost, Auslandsbriefe usw.), die von einer
Frankiermaschine bearbeitet werden. Solche Daten werden durch eine
herkömmliche
Frankiermaschine nicht erfasst.
-
Gemäß einem
Aspekt der Erfindung ist jede Frankiermaschine mit Gebührenklassen
programmiert, die alle durch einen oberen Grenzwert und einen unteren
Grenzwert der Portowerte definiert sind. Ist eine Klasse nur durch
einen Wert definiert, sind die oberen und die unteren Grenzwerte
auf diesen Wert eingestellt. Zum Beispiel: Gebührenklasse 1 umfasst Postnachrichten
mit einem Portowert von 29 Cents; Gebührenklasse 2 umfasst Postnachrichten mit
Portowerten zwischen 30 und 35 Cents; Gebührenklasse 3 umfasst Postnachrichten
mit Portowerten zwischen 36 und 42 Cents etc. Jedes Versandstück, das
nicht unter eine der oben angeführten
Gebührenklassen
fällt,
werden in einer separaten gemischten Klasse 0 zusammengefasst.
-
Jede
der oben genannten Klassen ist so eingerichtet, dass sie sich auf
eine der Versandklassen bezieht. Postnachrichten, die von der Frankiermaschine
bearbeitet werden, sind nach diesen Gebührenklassen eingeteilt. Zu
diesem Zweck teilt die Frankiermaschine jeder Gebührenklasse
einen Zähler
zu, um die Versandstücke,
die zu den einzelnen Klassen gehören,
zu zählen.
Die Zählung
ist kumulativ bis der Zähler
vom Datencenter 15 abgelesen wird.
-
Durch
das Kommunikationsprotokoll, das im Folgenden noch beschrieben wird,
erfasst das Datencenter 15 von Zeit zu Zeit die statistischen
Daten jeder Frankiermaschine für
die Klassen und kann die Struktur der Gebührenklassen der Frankiermaschinen ändert.
-
Jede
Frankiermaschine ist mit einem Portosummen-, einem Zeit- und einem
Stücklimit
versehen, und diese Limits werden durch das Datencenter 15 an
die Frankiermaschine übermittelt.
Die Frankiermaschine ist so programmiert, dass sie ihren Betrieb anhält, wenn
eines dieser Limits erreicht ist. Ein Limit kann vermieden werden,
wenn das Datencenter 15 das entsprechende Limit auf unbegrenzt
einstellt.
-
Nach
gängiger
Methode wird das absteigendes Register in der Frankiermaschine verwendet,
um die Summe des Portos, das noch gedruckt werden kann, zu registrieren.
Andererseits wird das aufsteigendes Register dazu verwendet, das
schon gedruckte Porto zu registrieren. Wenn der Wert des absteigenden
Registers mit der Zeit unter einen vorgegebenen Grenzwert fällt, wird
der Betrieb der Frankiermaschine angehalten, bis sie wieder neu
eingestellt wird. Nach herkömmlichen
TMS-Freimachungs-Modellen wird der Betrag nach erneuter Einstellung
und nach Bestätigung
dem momentanen Wert des absteigenden Registers hinzugefügt und die
Frankiermaschine kann ihren Betrieb dann wieder aufnehmen.
-
Der
Wert des aufsteigenden Registers kann jedoch nie das Portosummenlimit überschreiten.
Die Frankiermaschine schaltet sich ab, sobald der Wert des aufsteigenden
Registers größer als
oder genauso groß wie
das Portosummenlimit ist. Nur durch die Verbindung der Frankiermaschine
mit dem Datencenter 15 kann ein neues Portosummenlimit
eingerichtet werden. Die Erhebung des Portosummenlimits ist vorteilhaft
in einem Modell mit nachträglicher Zahlung,
bei dem den Benutzern der Frankiermaschine die Beträge nach
der erneuten Einstellung in Rechnung gestellt werden, da so der
den Benutzern in Rechnung gestellte Betrag kontrolliert werden kann.
Das Portosummenlimit wird vom Datencenter 15 je nach der
Kreditwürdigkeit
der Benutzer eingestellt.
-
Das
Zeitlimit, auf das eine Frankiermaschine eingestellt wird, grenzt
den Zeitraum ein, in dem die Frankiermaschine betriebsbereit ist.
Im Speziellen drückt
sich das Zeitlimit als vorausgewählter
Zeitpunkt aus, nach dem die Frankiermaschine keine weiteren Postnachrichten
mehr bearbeiten darf. Das heißt,
unmittelbar nach Überschreiten
des vorausgewählten
Zeitpunktes wird die Frankiermaschine für den weiteren Betrieb gesperrt.
Nur durch die Verbindung der Frankiermaschine zum Datencenter 15 kann
ein neues Zeitlimit eingerichtet werden, wodurch die Frankiermaschine
freigeschaltet wird und ihren Betrieb wieder aufnehmen kann. Auch
hier hat das Datencenter die vollständige Kontrolle über die Dauer
der Betriebszeit, die einer bestimmten Frankiermaschine gewährt wird,
was wiederum von der Vertrauenswürdigkeit
des Benutzers der Frankiermaschine abhängt.
-
Als
Alternative kann das oben beschriebenen Zeitlimit-Konzept durch einen
rückwärts zählenden
Timer in die Frankiermaschine implementiert werden. Das Zeitlimit
wird durch einen genehmigten Betriebszeitraum der Frankiermaschine,
in Form von beispielsweise Stunden, Minuten und Sekunden ausgedrückt. Der
rückwärts zählende Timer
zählt eine festgesetzte
Zeitperiode, die auch dem ursprünglich vorgegebenen
Zeitlimit entsprechen kann, bis auf Null herunter. Die Frankiermaschine
wird gesperrt, sobald der Timer bei Null angelangt ist. Nur durch
die Verbindung der Frankiermaschine mit Datencenter 15 kann
ein neues Zeitlimit zur aktuellen Laufzeitdauer des Timers hinzugefügt werden,
um (a) den Betrieb neu zu starten, wenn die aktuelle Laufzeit bei Null
ist oder (b) die Betriebszeit zu verlängern, wenn die aktuelle Laufzeit
nicht bei Null ist.
-
Das
Stücklimit,
welches einer Frankiermaschine auferlegt wurde, schränkt die
Anzahl der Postnachrichten ein, die von der Frankiermaschine bearbeitet
werden. Das heißt,
dass die Frankiermaschine während
des Betriebes nicht mehr Postnachrichten bearbeiten kann, als es
das Stücklimit
erlaubt. Die Frankiermaschine wird für den weiteren Betrieb gesperrt,
sobald der Postenzähler
das Stücklimit
erreicht. Nur durch die Verbindung der Frankiermaschine mit dem
Datencenter 15 kann ein neues Stücklimit eingerichtet und die
Frankiermaschine entsperrt und wieder in Betrieb genommen werden.
Wiederum hat das Datencenter 15 die Kontrolle über den
Grenzwert und dadurch über
die Frankiermaschine.
-
Als
Alternative kann das oben beschriebenen Stücklimit-Konzept durch einen rückwärts zählenden
Postenzähler
in die Frankiermaschine implementiert werden. Letzterer zählt eine festgesetzte Anzahl
von Postnachrichten, welche dem ursprünglich Stücklimit entsprechen kann, bis
auf Null herunter. Die Frankiermaschine wird gesperrt, sobald der Zählerstand
bei Null angelangt ist. Nur durch die Verbindung der Frankiermaschine
zum Datencenter 15, kann ein neues Stücklimit dem aktuellen Zählerstand hinzugefügt werden,
um (a) den Betrieb neu zu starten, wenn der aktuelle Zählerstand
Null beträgt
oder (b) den erlaubten Zählerstand
zu erhöhen,
wenn der aktuelle Zählerstand
nicht bei Null ist.
-
4 ist
ein Ablaufdiagramm, welches den Ablauf eines Routineprogramms darstellt,
das die Frankiermaschine durchführt,
um eine TMS-Transaktion mit Datencenter 15 abzuwickeln.
Der Kontroller 201 startet bei einem anfänglichen
Stadium der Frankiermaschine bei Schritt 401, wobei er
von dem Routineablauf im Betriebsprogramm des EPROM 220 angeleitet
wird. Der Kontroller 201 setzt in diesem Stadium die Kommunikation
mit dem Hostcomputer 103 in Gang, indem er wie bei Schritt 405 angegeben das
Login-Datenpaket sendet. Der Kontroller 201 tritt dann
in einen Wartezustand ein und wartet wie bei Schritt 410 angegeben
auf ein Anfangswert-Datenpaket
vom Hostcomputer 103. Nach Erhalt des Anfangswert-Datenpakets
veranlasst der Kontroller 201 in Schritt 415 die
Frankiermaschine, ein Anfrage-Datenpaket an Computer 103 zu
senden. Der Kontroller 201 fährt dann mit Schritt 420 fort,
wobei er in einen weiteren Wartezustand eintritt und auf ein Antwort-Datenpaket
von Computer 103 wartet. Nach Erhalt des Antwort-Datenpakets
veranlasst Kontroller 201 die Frankiermaschine, wie bei
Schritt 425 angegeben ein Summen-Datenpaket an Computer 103 zu senden.
Das Summen-Datenpaket beinhaltet üblicherweise Reset-Amount-Data
zur Erhöhung
des verfügbaren
Portos in der Frankiermaschine oder, in anderen Worten, den Wert
des absteigenden Registers. Der Kontroller 201 tritt bei
Schritt 430 in einen weiteren Wartezustand ein und wartet
auf ein Freigabe-Datenpaket von Computer 103. Nach dem
Erhalt des Freigabe-Datenpakets bringt Kontroller 201 wie bei
Schritt 435 angegeben die Frankiermaschine mit den Daten
aus dem Freigabe-Datenpaket auf den neuesten Stand, einschließlich der
oben beschriebenen Limits. Wenn die TMS-Transaktion ohne Probleme
abgelaufen ist, veranlasst der Kontroller 201 die Frankiermaschine
in Schritt 440, ein Logout-Datenpaket an den Computer 103 zu
senden.
-
Falls
der Kontroller 201 jedoch während der Transaktion die Betätigung der
Abbruchtaste durch den Nutzer der Frankiermaschine, den Erhalt einer Abbruchmeldung
vom Datencenter 15, ein Modemproblem oder ein generelles Übertragungsproblem feststellt,
wird die laufende Kommunikation zwischen der Frankiermaschine und
dem Computer 103 abgebrochen. Infolgedessen werden alle
Daten, die von der Frankiermaschine davor erhalten wurden, verworfen;
die Frankiermaschine tritt wieder in den vorherigen Zustand ein,
der Benutzer wird anschließend über den
Abbruch der Kommunikation informiert und alle Abbruchmeldungen vom
Datencenter erscheinen auf Display 215.
-
5A und 5B zeigen
beide ein Ablaufdiagramm, welches das Routineprogramm des Hostcomputers 103 zur
Durchführung
einer TMS-Transaktion mit einer der Frankiermaschinen 101-1 bis
-p darstellt. Wird eine TMS-Transaktion durch eine Frankiermaschine
initiiert und von einem Routineprogramm auf Hostcomputer 103 angeleitet,
prüft letzterer
in Schritt 501, ob bei der letzten Kommunikationssitzung
ein Logout-Datenpaket von der entsprechenden Frankiermaschine erhalten
wurde. Wird durch den Computer 103 festgestellt, dass ein
solches Logout-Datenpaket nicht erhalten wurde, bedeutet dies, dass
die letzte Kommunikationssitzung nicht vollständig war, und das Routineprogramm
führt die Schritte
aus 5B aus, die im Folgenden noch beschrieben werden.
Wurde das Logout-Paket jedoch erhalten, führt Computer 103 stattdessen
Schritt 503 aus und ist somit bereit, ein Login-Datenpaket
von der Frankiermaschine zu erhalten. Wenn Computer 103 ein
solches Datenpaket erhält,
sendet er als Antwort wie in Schritt 511 dargestellt ein
Anfangswert-Datenpaket an die Frankiermaschine. Der Computer 103 wartet
dann in Schritt 516 auf ein Anfrage-Datenpaket von der
Frankiermaschine. Nach Erhalt des Anfrage-Datenpakets erstellt Computer 103 in
Schritt 528 ein Antwort-Datenpaket. Wie im Folgenden beschrieben
enthält
das Anwort-Datenpaket ein Steuerbefehlsfeld, das der Frankiermaschine
beispielsweise anzeigen kann, ihre verschiedenen Gebührenklassen
zu ändern.
Der Computer 103 sendet in Schritt 536 das Antwort-Datenpaket
an die Frankiermaschine und wartet auf ein Summen-Paket als Antwort.
Nach Erhalt des Summen-Pakets erstellt der Computer 103 in
Schritt 541 die neu eingestellte Summe, wie sie von der
Frankiermaschine angefordert wurde. Der Computer 103 kann
das Summenlimit der Frankiermaschine reduzieren, wenn der Kontenstand
des Benutzers nicht über
ausreichende Mittel verfügt,
um den angeforderten Betrag zu decken. Andernfalls zieht Computer 103 den
angeforderten Betrag vom Konto des Benutzers ab. Der Computer 103 sendet
dann in Schritt 551 ein Freigabe-Datenpaket an die Frankiermaschine
und zeigt ein neues Limit für
die Portosumme an, d. h. einen neuen maximalen Wert, bis zu dem
das aufsteigende Register der Frankiermaschine gehen darf. Der Computer 103 fährt danach
mit Schritt 553 fort, in dem er auf ein Logout-Datenpaket
von der Frankiermaschine wartet, um nach dessen Erhalt die Daten
darin zu prüfen (einschließlich beispielsweise
einer Logout-Nachricht). Hierbei muss angemerkt werden, dass der Host-Computer 103 zu
jeder Zeit die volle Kontrolle über
die Beendigung der Kommunikationssitzung behält. Der Computer 103 beendet
die Sitzung mit der Frankiermaschine vor allem dann, wenn er beispielsweise
irgendeinen Fehler in den erhaltenen Datenpaketen, einen Defekt
in der Datenbank der Frankiermaschine, nicht ausreichende Mittel
zur Deckung des angeforderten Betrages auf dem Konto des Benutzers
usw. feststellt. Die Beendigung durch den Computer 103 wird
durch das Senden einer Abbruchnachricht und der anschließenden Rückkehr zu Schritt 501 erreicht.
Solch ein Abbruch führt
zu einer einfachen Rückstellung,
wodurch Frankiermaschine und Datencenter in ihren ursprünglichen
Zustand zurückkehren,
als ob die aktuelle Kommunikationssitzung nie stattgefunden hätte.
-
Mit
Bezug auf das Ablaufdiagramm in 5B fährt Computer 103 mit
Schritt 561, einschließlich
der Unterschritte, d. h. des Erhalts des Login-Datenpakets, des
Sendens des Anfangswert-Datenpakets und des Erhalts des Anfrage-Datenpakets von
der bzw. an die Frankiermaschine, wie in 5A beschrieben,
fort, nachdem festgestellt wurde, dass das Logout-Datenpaket in
der letzten Kommunikationssitzung nicht empfangen wurde. Da das
Logout-Paket jedoch nicht erhalten wurde, was infolge eines Stromausfalls
während
der letzten Kommunikationssitzung aufgetreten sein kann, ist der
Computer 103 nicht sicher, ob die Frankiermaschine ihre
Register und Puffer aktualisieren konnte. Deshalb verwendet Computer 103 provisorisch
die aktuellen Aufzeichnungen der Frankiermaschine, einschließlich des
Authentifizierungsschlüssels,
der in der aktuellen Kommunikationssitzung erhalten wurde, um nachzuprüfen, ob
die Signatur im Anfrage-Datenpaket gültig ist, ohne dabei die vorherigen
Aufzeichnungen der Frankiermaschine, einschließlich des Authentifizierungsschlüssels, welcher
in der letzten Kommunikationssitzung erhalten wurde, zu zerstören. Wie
bereits beschrieben ist die Signatur für die authentifizierten Daten
des Anfrage-Datenpakets spezifisch. Der Computer 103 errechnet
basierend auf den erhaltenen Daten und dem aktuellen Authentifizierungsschlüssel in
Schritt 562 selbständig
eine Signatur. In Schritt 568 vergleicht der Computer 103 die
errechnete Signatur mit der erhaltenen Signatur. Wenn die beiden
Signaturen übereinstimmen, übernimmt der
Computer 103 die aktuellen Aufzeichnungen der Frankiermaschine
und fährt
basierend auf den aktuellen Aufzeichnungen der Frankiermaschine
mit der Durchführung
von Schritt 570 fort, einschließlich der Unterschritte, d.
h. des Sendens des Antwort-Datenpakets, des Erhalts des Summen-Datenpakets
und des Sendens des Freigabe-Datenpakets an die bzw. von der Frankiermaschine.
Der Computer 103 fährt dann
mit Schritt 573 fort, in dem er auf ein Logout-Datenpaket
von der Frankiermaschine wartet und nach dessen Erhalt die Daten
des Logout-Datenpakets prüft.
Wird jedoch in Schritt 568 festgestellt, dass die errechnete
Signatur sich von der erhaltenen Signatur unterscheidet, fährt der
Computer 103 mit Schritt 575 fort, bei welchem
unter Verwendung des vor herigen Authentifizierungsschlüssels eine
zweite Signatur errechnet wird. In Schritt 577 verifiziert
Computer 103, dass die zweite Signatur mit der erhaltenen
Signatur übereinstimmt.
Dies zeigt an, dass die vorangegangene Kommunikationssitzung grundlegend
gestört wurde
und nicht unvollständig
war. Als Reaktion darauf beginnt der Computer 103 mit einem
Umkehrungsprozess, der die Übernahme
der vorherigen Aufzeichnungen der Frankiermaschine, wie in Schritt 578 dargestellt,
umfasst. Der Computer 103 fährt dann basierend auf den
vorherigen Aufzeichnungen der Messeinrichtung mit der Durchführung von Schritt 579 fort,
einschließlich
der Unterschritte, d. h. des Sendens des Antwort-Datenpakets, des
Erhalts des Summen-Datenpakets und des Sendens des Freigabe-Datenpakets an die
bzw. von der Frankiermaschine. Der Computer 103 fährt dann
mit Schritt 581 fort, in dem er auf ein Logout-Datenpaket
von der Frankiermaschine wartet und die Daten des Datenpakets nach
dessen Erhalt prüft.
-
Das
Protokoll der oben beschriebenen Kommunikation zwischen dem Hostcomputer 103 und
einer der Frankiermaschinen in Verbindung mit den unterschiedlichen
Datenpaketen wird nun im Folgenden beschrieben. Jedes Datenpaket
enthält
in üblicher Art
und Weise einen Datenteil, dem ein Dateikopf, ein Nachspann und/oder
andere Standard-Overheads, wie sie zur Datenübertragung und zum Routing
der Datenpakete im System 10 benötigt werden, angehängt sind.
-
Wie
schon zuvor erwähnt
ist das erste Datenpaket, das von einer Frankiermaschine während der
Sitzung an den Computer 103 übermittelt wird, das Login-Datenpaket.
Der Datenteil dieses Datenpakets beinhaltet ein Bytezeichen, das
die Protokollversion, in der die Kommunikation stattfindet, festlegt.
-
Das
Anfangswert-Datenpaket, welches von Computer 103 übermittelt
wird, beinhaltet eine zz-Nummer, die acht Bytes lang ist. Diese
Nummer ist eine von Computer 103 nach dem Zufallsprinzip generierte
Nummer und wird von der Frankierma schine verwendet, um einen CBC-Initialisierungsvektor
für Verschlüsselungszwecke
zu errechnen.
-
An
dieser kritischen Stelle soll darauf hingewiesen werden, dass die
Daten der unterschiedlichen Datenpakete für die Kommunikation in diesem Ausführungsbeispiel
unter Verwendung eines CBC-Modus der DES-Verschlüsselung selektiv verschlüsselt und/oder
authentifiziert sind. Wie in Fachkreisen allgemein bekannt arbeitet
der CBC-Modus mit Data-Byte-Sequenzen
in Blocks, von denen jeder acht Bytes beinhaltet. Der CBC-Modus
verschlüsselt einen
Datenblock basierend auf den acht Databytes im Block, dem DES-Schlüssel und
einem dritten Wert, der eine Funktion des vorangegangenen Blocks
ist. Diese wiederholte Verschlüsselung,
Chaining genannt, hält
wiederholte Muster versteckt. Außerdem sind alle hier genannten
DES-Schlüssel,
sowohl die zur Verschlüsselung
als auch jene zur Authentifizierung, geheime Schlüssel und
vor Bekanntheit in der Öffentlichkeit
geschützt.
-
In
diesem besonderen Ausführungsbeispiel wird
die CBC-verschlüsselte Version
des aktuellen Datenblocks Dn durch eine
Funktion ausgedrückt: DES
(Key, Dn + En–1),
wobei DES für
die CBC-verschlüsselte
DES-Funktion steht, Key einen ausgewählten DES-Schlüssel bezeichnet,
n = 0, 1, 2, ..., D0 den ersten Datenblock
repräsentiert
und En–1 die CBC-verschlüsselte Version
des vorangegangenen Datenblocks bezeichnet. Es ist offensichtlich,
dass En–1 unbestimmt
ist, wenn n = 0, und deshalb ein CBC-Initialisierungsvektor für den Anfangswert
von En–1 bei
n = 0 benötig
wird, um den Chaining-Prozess zu starten.
-
Wenn
CBC zur Authentifizierung einer Reihe von Datenblöcken angewandt
wird, bearbeitet CBC die Datenblöcke
auf die selbe Art und Weise wie bei ihrer Verschlüsselung.
Die verschlüsselte
Version des letzten Datenblocks Elast wird
zu Generierung einer Signatur angewandt, welche durch DES (Key, Elast) ausgedrückt werden kann.
-
Zur
Veranschaulichung beinhaltet der CBC-Initialisierungs vektor k2,
welcher der Verschlüsselung
bestimmter Daten im Anfrage-Datenpaket dient, wahlweise acht Bytes,
die repräsentativ
für DES
(Key = loginID, zz) sind. Das „loginID" ist ein individueller
Login-Key für
eine Frankiermaschine. Das loginID darf kein so genannter schwacher
oder halb-schwacher DES-Schlüssel
sein, welcher noch beschrieben wird. Das Datencenter 15 erkennt
ein ungültiges
Anfrage-Datenpaket, wenn sowohl die Frankiermaschine als auch das
Datencenter nicht das selbe loginID verwenden. Eine zusätzliche
Sicherheitsmaßnahme
wird hier etabliert, um die schnelle Errechnung eines unmittelbaren
Antwort-Funktionswertes für
zz zu fordern. Insbesondere wird gefordert, dass das Anfrage-Datenpaket
innerhalb einer im Voraus festgelegten, kurzen Zeitperiode, die
so lange dauert wie die Übermittlung
des Anfangswert-Datenpakets
durch das Center 15 an die Frankiermaschine, an das Datencenter 15 gesendet
wird. Innerhalb eines solch kurzen Zeitintervalls ist es angesichts
der Tatsache, dass zz in Echtzeit im Datencenter generiert wird,
für einen
unautorisierten Benutzer der Frankiermaschine praktisch unmöglich, ein
gültiges
Anfrage-Datenpaket, einschließlich
korrekt verschlüsselter
Anfragedaten, zu erstellen. Der Initialisierungsvektor k2 ändert sich
in jeder Kommunikationssitzung mit dem Computer 103.
-
In 6A ist
das Datenformat des Anfrag-Datenpakets dargestellt. In diesem Paket
enthält das
Steuerungsanfragefeld 603 zwei Bytes für Flags, um den Computer 103 über einen
bestimmten Ablauf, für
welchen die Frankiermaschine bereit ist, einschließlich der
Art von Fernbedienung, welche die Frankiermaschine anwendet, und
Daten, die möglicherweise übermittelt
werden, zu informieren. Aus diesem Grund ist Bit 15 in Feld 603 mit
der Ferneinstellung der Frankiermaschine, Bit 14 mit der Fernablesung
des Zählers,
Bit 13 mir der Fernkonfiguration und Bit 12 mit der Fernstatistik
verbunden, Bits 8 bis 11 sind gegenwärtig reserviert. In diesem
Ausführungsbeispiel
sind Bits 8 bis 15 als Kontroll-Bytes ausgewiesen und Bits 0 bis
7 sind als Unterkontroll-Bytes ausgewiesen. 6B ist
eine Tabelle, in welcher die Steue rungsanfragen (R), die im Steuerungsanfragefeld 603 spezifiziert
werden, und die Steuerungsbefehle (C) eines Steuerungsbefehlsfelds des
Antwort-Datenpakets, das im Folgenden noch erläutert wird, nachgesehen werden
können.
Für den Moment
reicht das Wissen, dass die Steuerungsanfrage definiert, welche
Art der Kontrolle die Frankiermaschine im Moment der Übertragung
erwartet. Der tatsächlich
auszuführende
Steuerungsbefehl wird von Computer 103 als Antwort auf
die Steuerungsanfrage übermittelt. Ähnlich dem
Steuerungsanfragefeld 603 enthält das Steuerungsbefehlsfeld
ein Kontroll-Byte
und ein Unterkontroll-Byte und bei manchen Anfragen R kann der Computer 103 mit
einem aus verschiedenen Befehlten C ausgewählten Befehlt darauf antworten.
Zum Beispiel zeigt in Reihe 681 der Tabelle aus 6B das
Kontroll-Byte aus Feld 603 mit einem Wert von 90 (hexadezimal)
und das Unterkontrollbyte mit einem Wert von 01 (hexadezimal) eine
Steuerungsanfrage für
die Ferneinstellung einer Frankiermaschine und die statistischen Ablesung
von zum Beispiel einer Klasse statistischer Daten der Frankiermaschine
an. Als Antwort auf diese Anfrage kann Computer 103 ein
Antwort-Datenpaket generieren, wie in Reihe 683 – ein Steuerungsbefehlsfeld
mit einem Kontroll-Byte von 90 (hexadezimal) und einem Unterkontroll-Byte
von 01 (hexadezimal) – dargestellt,
was die Neueinstellung der Frankiermaschine, einen Statistikbefehl
und die Beibehaltung der vorherigen Definitionen statistischer Klassen
darstellt. Alternativ dazu zeigen ein Kontroll-Byte von B0 (hexadezimal)
und ein Unterkontroll-Byte von 01 (hexadezimal) wie in Reihe 685 dargestellt
das Kommando für
(1) die Ferneinstellung einer Frankiermaschine, (2) die Klassenkonfiguration
(z. B. Definition neuer Gebührenklassen)
und (3) die statistische Ablesung der Frankiermaschine an.
-
Der
Benutzer einer Frankiermaschine kann durch das Steuerungsanfragenfeld 603 die
Rückerstattung
unbenutzten Portos anfordern, wie es von dem absteigenden Register
der Frankiermaschine angezeigt wird. Zu diesem Zweck sollten die
Kontroll- und Unterkontroll-Bytes wie in Reihe 687 darge stellt auf
80 (hexadezimal) bzw. 02 (hexadezimal) eingestellt werden. Der angeforderte
Betrag im Summen-Datenpaket, welcher anschließend an das Datencenter 15 geschickt
wird, sollte ein negativer Wert sein, so dass er das absteigende
Register auf Null bringt (das heißt, der angeforderte Betrag
+ der aktuelle Wert des absteigenden Registers = 0). Als Antwort
auf solche eine Anfrage zur Rückerstattung schreibt
das Datencenter 15 am Ende der Transaktion dem Konto des Benutzers
die ungenutzte Portosumme gut.
-
Auf
gleiche Weise wird das ungenutzte Porto rückerstattet, wenn ein Benutzer
eine Frankiermaschine der Postbehörde zurückgibt. Zusätzlich wird die Frankiermaschine
deaktiviert, um einen unautorisierten Zugriff auf die Frankiermaschine
zu verhindern. Solch eine Rückgabe
der Frankiermaschine kann durch die Festlegung der Kontroll- und
Unterkontroll-Bytes im Steueranfragenfeld 603 auf 80 (hexadezimal)
bzw. 03 (hexadezimal), wie in Reihe 689 dargestellt, erreicht
werden. Bei einer nachträglichen Zahlung,
bei der keine Rückerstattung
bei der Rückgabe
der Frankiermaschine nötig
ist, kann diese Rückgabe
durch die Einstellung der Kontroll- und Unterkontroll-Bytes im Steuerungsanfragefeld 603 auf 40
(hexadezimal) bzw. 03 (hexadezimal), wie in Reihe 691 dargestellt,
erzielt werden. Durch diese Einstellungen kann die Behörde die
Zähler
der Frankiermaschine ein letztes Mal ablesen, bevor die Frankiermaschine
zur Verhinderung eines unautorisierten Zugriffs deaktiviert wird.
-
Mit
Rückbezug
auf 6A enthält
das Seriennummernfeld der Frankiermaschine 605 fünf Bytes,
welche eine Seriennummer zur eindeutigen Identifizierung der Frankiermaschine
darstellen. Diese Nummer wird bei der Übertragung nicht verschlüsselt, da
der Computer 103 auf die Seriennummer angewiesen ist, um
zur Entschlüsselung
die aktuellen Schlüssel
der entsprechenden Frankiermaschine aufzurufen.
-
Das
Hardware-ID-Feld der Frankiermaschine 607 enthält 4 Bytes
zur Identifizierung der Form, Bauweise, des Modells, der gedruckten
Schaltungen und anderer Details der Hardware. Der Computer 103 kann
diese Hardware-Information zur Anzeige oder zur Erstellung von Statistiken
nutzen.
-
Das
Software-ID-Feld der Frankiermaschine 609 enthält 16 Bytes
zur Identifizierung der aktuellen Version der Frankiermaschinen-Software
und aktualisiert den Computer 103 dadurch hinsichtlich
aller Modelländerungen
der Frankiermaschine. Das Feld 609 umfasst das Unterfeld 609a,
welches acht Bytes ASCII-Text für
die Repräsentation
der Software-Hauptversion
der Frankiermaschine, und das Unterfeld 609b, welches weitere
acht Bytes ASCII-Text zur Repräsentation
der landesspezifischen Softwareversion enthält. Durch die von Feld 609 bereitgestellten
Information erkennt Computer 103 die Software-Leistungsfähigkeit
der Frankiermaschine und kann dadurch effektiv mit der Messeinrichtung
zur Erzeugung von Anzeigen und Bekanntmachungen auf der Frankiermaschine
und zur Erstellung von Statistiken usw. zusammenarbeiten.
-
Das
Parameterinformationsfeld der Frankiermaschine 611 enthält 12 Bytes,
welche die Konfigurationsdaten repräsentieren. Insbesondere sind
vier Bytes für
zusätzliche
Identifikationsdaten der Frankiermaschinenkonfiguration in der Zukunft
reserviert. Das fünfte
Byte identifiziert die Sprache, in welcher der interne Anzeigetext
der Frankiermaschine geschrieben ist. Das sechste Byte identifiziert
das Land, in dem sich die Frankiermaschine befindet. Das siebte
Byte identifiziert den Display-Typ. Das achte Byte zeigt die Anzahl
der Textzeilen in einem Display an. Das neunte Byte zeigt die Anzahl
der Zeichen in einer Displayzeile an. Das zehnte Byte identifiziert
den Druckertyp des Benutzers. Das elfte und zwölfte Byte bestehen aus sechzehn
Flag-Bits, die anzeigen, welche Geräte an die Frankiermaschine
angeschlossen und aktiv sind. Zum Beispiel zeigt Flag-Bit 0, wenn
es aktiv ist, die Verbindung mit einem aktiven Testmodul zum Test
der Frankiermaschine an. Flag-Bit 1 zeigt, wenn es aktiv ist, die
Verbindung mit einem aktiven PC an. Flag-Bit 2 zeigt, wenn es aktiv
ist, die Verbindung mit einem aktiven internen Drucker an. Flag-Bit 3
zeigt, wenn es aktiv ist, die Verbindung mit einem aktiven externen
Drucker an. Flag-Bit
4 zeigt, wenn es aktiv ist, die Verbindung mit einer aktiven Postwaage
an. Flag-Bits 5 bis 15 sind derzeitig für andere Peripheriegeräte reserviert.
Anhand der Informationen aus Feld 611 erkennt der Computer 103 die
aktuelle Anordnung der Frankiermaschine und kann dadurch effektiv
mit der Frankiermaschine zur Generierung von Anzeigen und Bekanntmachungen
auf einem Drucker, zur Erstellung von Statistiken usw. zusammenarbeiten.
Zum Beispiel kann der Computer 103 bei der Feststellung,
dass der externe Drucker der Frankiermaschine aktiv ist, eine Textdatei
zum Drucken auf dem externen Drucker an die Frankiermaschine senden,
welche TMS-Nachrichten und den aktuellen Kontostand enthält.
-
Das
Feld für
Stellen nach dem Komma 613 enthält ein Byte zur Anzeige der
möglichen
Anzahl der Stellen nach einem Dezimalpunkt oder der Position des
Dezimalpunktes in Bezug auf das am weitesten rechts stehende Zeichens
einer Abfolge von Zeichen.
-
Das
Datums- und Zeitfeld der Frankiermaschine 615 enthält sechs
Bytes. Byte 5 identifiziert das aktuelle Jahr; Byte 4 identifiziert
den aktuellen Monat; Byte 3 identifiziert den aktuellen Tag; Byte
2 identifiziert die aktuelle Stunde; Byte 1 identifiziert die aktuelle
Minute und Byte 0 identifiziert die aktuelle Sekunde. Diese Zeit-
und Datumsangaben sind nach dem Standard der Westeuropäischen Zeit
(WEZ) eingestellt. Alle Zeit- und Datumsangaben, die im System 10 kommuniziert
werden, basieren auf WEZ.
-
Das
Aufsteigende-Register-Feld 617 enthält sechs Bytes zur Darstellung
der individuellen Ziffern des aktuellen Wertes des aufsteigenden
Registers. Durch die Information des Feldes für die Stellen nach den Komma 613 kann
der Computer 103 die Position des Dezimalpunktes innerhalb
dieser individuellen Ziffern bestimmen. Dadurch kann der Computer 103 den
exakten Wert des aufsteigenden Registers bestimmen.
-
Das
Absteigende-Register-Feld 619 enthält fünf Bytes zur Darstellung der
individuellen Ziffern der aktuell verfügbaren Portosumme für die Zählwerterfassung.
Auch hier kann der Computer 103 anhand der Informationen
des Feldes für
die Stellen nach dem Komma 613 den exakten Wert der Summe bestimmen.
Der Wert des absteigenden Registers kann durch Berechnung ermittelt
werden, das heißt aktuelles
Portosummenlimit minus dem Wert des aufsteigendes Registers.
-
Postenzählerfeld 621 enthält fünf Bytes
zur Darstellung der Anzahl der Postnachrichten, die bearbeitet wurden.
-
Das
lokale Feld zur Neueinstellung des Betrages 623 enthält fünf Bytes
zur Darstellung der Beträge
von Neueinstellungen, die üblicherweise
durch die Postbehörden
ausgeführt
werden, wenn die Frankiermaschine physikalisch dorthin gebracht
wird, und dient zur Bestätigung
der lokalen Neueinstellungen. So ermöglicht dieses Ausführungsbeispiel
sowohl lokale als auch Fern-Einstellungen.
-
Das
reservierte Feld 625 enthält fünf Bytes, welche zukünftiger
Nutzung vorbehalten sind.
-
Das
Kontonummernfeld 627 enthält vier Bytes zur Darstellung
der Nummer eines vorher im Datencenter 15 eingerichteten
Kontos, mit dem TMS-Transaktionen durchgeführt werden. Da die Kontonummer
vertraulich ist, sind die vier Bytes in Feld 627 nach dem
bereits beschriebenen DES-CBC-Verschlüsselungsalgorithmus verschlüsselt.
-
Das
Feld der nächsten
Schlüsselnummer 629 enthält acht
Bytes zur Darstellung des DES-Schlüssels, der in der nächsten Kommunikationssitzung
verwendet wird. Dieser Schlüssel
nimmt die Form einer von der Frankiermaschine generierten Pseudo-Zufallszahl an und
darf kein schwacher oder halb-schwacher DES-Schlüssel sein. 7A ist
eine Tabelle, in der zwölf
Beispiele schwacher Schlüssel aufgelistet
sind, und 7B ist eine Tabelle, in der zwölf Beispiele
halbschwacher Schlüssel
aufgelistet sind. Der Verschlüsselungsschlüssel in
Feld 629 ist auch verschlüsselt.
-
Das
Feld des nächsten
Authentifizierungsschlüssels 631 enthält acht
Bytes, welche einen Authentifizierungsschlüssel darstellen, der im nächsten Kommunikationzyklus
verwendet wird. Dieser Authentifizierungschlüssel darf jedoch nicht vom Schlüssel des
Feldes 629 abhängig
oder davon abgeleitet sein. Er tritt auch in der Form einer von
der Frankiermaschine generierten Pseudo-Zufallszahl auf und darf
kein schwacher oder halbschwacher DES-Schlüssel sein. Zusätzlich ist
dieser Schlüssel verschlüsselt.
-
Das
Zählerfeld 633 enthält zwei
Bytes zur Darstellung einer Zählung,
welche die Kommunikationssitzungen zwischen der Frankiermaschine
und dem Computer 103 aufzeichnet. Nachdem 65.535 erreicht
ist, beginnt sie wieder bei Null. Diese Zählung ist ebenfalls verschlüsselt und
wichtig für
den Computer 103 zur Feststellung des Auftretens von Umkehrungen.
-
Das
zweite reservierte Feld 635 enthält zwei Bytes für zukünftige Nutzung,
die verschlüsselt
sind.
-
Das
letzte Feld des Anfrage-Datenpakets ist das Signaturfeld 637,
das gemäß dem oben
beschriebenen DES-CBC-Verschlüsselungsalgorithmus
acht Bytes zur Darstellung einer Signatur enthält, welche von der Authentifizierung
der Daten in jedem Datenfeld des Request-Datenpakets, mit Ausnahme
von Feld 637, stammen. Anders als der CBC-Initialisierungsvektor
für Verschlüsselungszwecke
wird der CBC-Initialisierungsvektor für Authentifizierungszwecke
auf Null gesetzt. Bei der Authentifizierung ändert sich die Signatur, sobald
irgendwelche authentifizierten Daten verändert werden.
-
Nach
dem Erhalt des Anfrage-Datenpakets errechnet der Computer 103 zuerst
die Signatur, die auf den Authentifizierungsdaten im Datenpaket
basiert, und verifiziert dann ihre Au thentizität, indem er die errechnete
Signatur mit der erhaltenen Signatur vergleicht. Die verschlüsselten
Daten werden anschließend
mit Hilfe der Umkehr-DES-Funktion entschlüsselt.
-
Der
CBC-Initialisierungsvektor zur Verschlüsselung bestimmter Daten im
oben beschriebenen Antwort-Datenpaket enthält die ausgewählten acht
Bytes, welche aus einer XOR (Exclusive-OR) Bit-Addition des oben
beschriebenen Vektors k2 mit 1 resultiert.
-
An
diesem Punkt soll darauf hingewiesen werden, dass in Fällen, in
denen als Alternative sowohl der rückwärts zählende Timer als auch der rückwärts zählende Postenzähler verwendet
werden, um die zuvor beschriebenen Zeitlimit- und Stücklimitkonzepte
umzusetzen, dem Datenformat des Anfrage-Datenpakets aus 6A zwei
Felder hinzugefügt werden
können.
Zur Information für
das Datencenter 15 können
diese zusätzlichen
Felder Daten enthalten, welche die aktuelle Laufzeit bzw. Stückzahl darstellen.
Diese zusätzlichen
Felder können ähnlich wie
das absteigende Registerfeld 619 gehandhabt und ebenfalls
authentifiziert werden.
-
8 stellt
das Datenformat des oben beschriebenen Antwort-Datenpakets dar. In diesem Datenpaket
enthält
das Steuerungsbefehlsfeld 803 zwei Flag-Bytes, welche ein ähnliches
Format wie das Steuerungsanfragenfeld 603 haben, welches
zuvor bereits ausführlich
beschrieben wurde. Diese Flags zeigen unterschiedliche Steuerungsbefehle
des Datencenters 15 an, wie in der Tabelle aus 6B beschrieben.
-
Das
Benutzerdialog-Timeout-Feld 805 enthält ein Byte zur Darstellung
der Anzahl von Sekunden. Auf Basis dieser Daten legt die Empfänger-Frankiermaschine
ihren Benutzer-Timeout fest. Dies bedeutet, dass dem Benutzer ein
Zeitintervall vorgegeben wird, in dem er auf Informationen, die vom
Datencenter 15 gesendet werden, reagieren muss.
-
Das
reservierte Feld 807 enthält fünf Bytes zur zukünftigen
Verwendung. Der Ausgangswert dieses Felds kann auf Null gestellt
werden.
-
Das
Feld für
den Kontostand vor der Neueinstellung 809 enthält sechs
Bytes, welche einen Geldbetrag anzeigt, der auf dem Benutzerkonto
aktuell verfügbar
ist. Dieses Feld ist verschlüsselt,
da der Geldbetrag als vertraulich angesehen wird.
-
Das
zweite reservierte Feld 811 enthält zwei Bytes zur zukünftigen
Verwendung. Auch hier kann der Ausgangswert dieses Felds auf Null
gestellt werden.
-
Das
zweite Antwort-Datenfeld 813 enthält zusätzliche Antwortdaten unterschiedlicher
Länge. Die
Struktur von Feld 813 wird als „dynamische Datenstruktur" bezeichnet und wird
im Folgenden ausführlich
beschrieben. In jedem Fall können
die Daten des Feldes 813 je nach Art der Daten verschlüsselt und/oder
authentifiziert werden.
-
Das
Signaturfeld 815 enthält
acht Bytes zur Darstellung der Signatur, welche gemäß dem oben beschriebenen
DES-CBC-Verschlüsselungsalgorithmus
aus der Authentifizierung ausgewählter
Daten im Antwort-Datenpaket resultiert. Auch hier wird der CBC-Initialisierungsvektor
zur Authentifizierung auf Null gestellt.
-
Der
CBC-Initialisiserungsvektor zur Verschlüsselung bestimmter Daten im
oben beschriebenen Summen-Datenpaket enthält die ausgewählten acht
Bytes, welche aus einer XOR (Exclusive-OR) Bit-Addition des oben
beschriebenen Vektors k2 mit 2 resultiert. In 9 ist
das Datenformat des Summen-Datenpakets
dargestellt. In diesem Datenpaket enthält das Anforderungsbetragsfeld 903 fünf Bytes zur
Darstellung der Anforderung des neu eingestellten Betrages, d. h.
das zusätzliche
Porto, welches der Frankiermaschine zur Verfügung steht. Dieser angeforderte
Betrag ist verschlüsselt.
-
Das
reservierte Feld 905 enthält drei Bytes für zukünftige Verwendung
und ist verschlüsselt.
Der Ausgangswert dieses Feldes ist Null.
-
Das
Feld für
einen weiteren Betrag 907 enthält zusätzliche Betragsdaten von unterschiedlicher Länge in der
dynamischen Datenstruktur, die im Folgenden noch beschrieben wird.
Auf jedem Fall können
die Daten in Feld 907 je nach ihrer Art verschlüsselt und/oder
authentifiziert werden.
-
Das
Signaturfeld 909 enthält
acht Bytes zur Darstellung einer Signatur, welche gemäß dem oben beschriebenen
DES-CBC-Verschlüsselungsalgorithmus
aus der Authentifizierung ausgewählter
Daten im Summen-Datenpaket resultiert. Auch hier wird der CBC-Initialisierungsvektor
zur Authentifizierung auf Null gestellt.
-
Der
CBC-Initialisiserungsvektor zur Verschlüsselung bestimmter Daten im
oben beschriebenen Freigabe-Datenpaket enthält die ausgewählten acht
Bytes, welche aus einer XOR (Exclusive-OR) Bit-Addition des oben
beschriebenen Vektors k2 mit 4 resultiert. In 10 ist
das Datenformat des Freigabe-Datenpakets
dargestellt. In diesem Datenpaket enthält das freigegebene Feld für das Tageslimit 1003 drei
Bytes zur Darstellung eines zukünftigen
Tageslimits, nach dem die Frankiermaschine für den weiteren Betreib gesperrt
wird. Insbesondere identifiziert Byte 2 das Jahr, Byte 1 den Monat
und Byte 0 den Tag des Tageslimitslimits. Das Limit wird um Mitternacht
des so identifizierten Tages erreicht. Die Daten in Feld 1003 sind
verschlüsselt.
-
Das
freigegebene Feld für
das Zählerlimit 1005 enthält fünf Bytes
zur Darstellung des Stücklimits
der von der Frankiermaschine zu bearbeitenden Anzahl von Postnachrichten.
Die Frankiermaschine wird für
den weiteren Betrieb gesperrt, wenn dieses Limit erreicht ist. Das
Limit ist gemäß vorher bestimmten
Erhöhungsschritten
eingestellt, die von Datencenter 15 definiert werden. Die
Daten in Feld 1005 sind verschlüsselt.
-
Das
Feld für
das nächste
Limit der Frankiermaschine 1007 enthält sechs Bytes zur Darstellung eines
neuen Portosummenlimits für
das aufsteigende Register. Auch hier wird die Frankiermaschine für den weiteren
Betrieb gesperrt, wenn dieses Limit erreicht ist. Dieses Limit wir
auf Basis des erhaltenen Wertes des absteigenden Registers in Feld 617,
der Informationen des Anforderungsbetragsfeld 903 und der
aktuell verfügbaren
Mittel auf dem Benutzerkonto definiert. Die Daten in Feld 1007 sind
verschlüsselt. Das
neue Portosummenlimit soll das aktuelle Portosummenlimit, welches
zuletzt an die Frankiermaschine kommuniziert wurde, ersetzen. Dieses
neue Portosummenlimit ist größer als
das aktuelle Portosummenlimit, und zwar um den angeforderten Betrag
zur Neueinstellung, vorausgesetzt, dass die Mittel auf dem Benutzerkonto
den angeforderten Betrag zur Neueinstellung decken. Auf diese Art
und Weise wächst
das Portosummenlimit ständig;
ebenso der Wert des aufsteigenden Registers. Das aufsteigende Register
kann jedoch nie ein physisches Limit übersteigen, welches die Frankiermaschine
physisch zulässt.
Aus diesem Grund kann das neue Portosummenlimit nie das entsprechende
physische Limit übersteigen. Übersteigt
das neue Portosummenlimit das physische Limit, muss die Frankiermaschine
zur Anpassung des aufsteigenden Registers gewartet werden, so dass
das neue Portosummenlimit deutlich unter das physische Limit gesetzt
werden kann.
-
Das
reservierte Feld 1009 enthält zwei Bytes für die zukünftige Verwendung
und ist verschlüsselt. Der
Ausgangswert dieses Feldes ist Null.
-
Ähnlich dem
Format des Daten- und Zeitfeldes der Frankiermaschine 615,
das zuvor beschrieben wurde, enthält das Ortsdaten- und Zeitfeld 1011 sechs
Bytes zur Darstellung einer Zeitreferenz, welche der Einstellung
des Datums und der Zeit der Frankiermaschine auf die korrekten Werte
dient. Auch diese Zeitreferenz stimmt mit dem Standard der WEZ überein.
-
Das
zweite reservierte Feld 1013 enthält zwei Bytes für die zukünftige Verwendung.
Der Ausgangswert dieses Feldes ist Null.
-
Das
weitere Freigabe-Datenfeld 1015 enthält zusätzliche Freigabe-Daten unterschiedlicher
Länge in
der dynamischen Datenstruktur, die im Folgenden noch beschrieben
wird. Auf jedem Fall können
die Daten in Feld 1015 je nach ihrer Art verschlüsselt und/oder
authentifiziert werden.
-
Das
Nachrichtenfeld 1017 lässt
eine unbegrenzte Anzahl von Bytes zu, welche zur Darstellung einer
Bildschirmnachricht vom Datencenter 15 benötigt werden.
Die Nachricht wird durch vorher festgelegte Zeichen (in diesem Fall
#0) abgeschlossen. Diese Nachricht ist weder verschlüsselt noch
authentifiziert, so dass der Benutzer sie lesen kann, auch wenn
ein Verschlüsselungs-
oder Authentifizierungsfehler auftritt. Die Nachricht wird vom Computer 103 gemäß Display-Typ/-Abmessungen formatiert,
welche vorher durch das Parameterinformationsfeld der Frankiermaschine 611 an
diesen mitgeteilt wurden.
-
Das
Feld zur Nachrichtenübermittlung
an den Drucker 1018 lässt
eine unbegrenzte Anzahl von Bytes zu, welche zur Darstellung einer
Nachricht an einem mit der Frankiermaschine verbundenen Drucker
zum Drucken benötigt
werden. Die Nachricht wird durch zuvor festgelegte Zeichen (in diesem
Fall #0) abgeschlossen und nur geschickt, wenn der Drucker aktiv
ist. Diese Nachricht ist weder verschlüsselt noch authentifiziert,
so dass der Benutzer sie lesen kann, auch wenn ein Verschlüsselungs-
oder Authentifizierungsfehler auftritt. Die Nachricht wird vom Computer 103 gemäß dem Druckertyp
formatiert, der zuvor durch das Parameterinformationsfeld der Frankiermaschine 611 an
diesen mitgeteilt wurde.
-
Das
Signatur-Feld 1019 enthält
acht Bytes zur Darstellung einer Signatur, welche gemäß dem oben
beschriebenen DES-CBC-Verschlüsselungsalgorithmus
aus der Authentifizierung ausgewählter Daten
im Freigabe-Datenpaket stammen. Auch hier muss der CBC-Initialisierungsvektor
zur Authentifizierung auf Null gesetzt werden.
-
An
diesem Punkt soll darauf hingewiesen werden, dass in Fällen, in
denen als Alternative rückwärts zählende Timer
und rückwärts zählende Postenzähler verwendet
werden, um die zuvor beschriebenen Zeitlimit- und Stücklimitkonzepte
umzusetzen, die Daten im freigegebenen Feld für das Tageslimit 1003 eine
zeitlich Dauer anstelle eines Datums darstellen sollten. Nach dem
Erhalt solcher Zeitlimit-Daten von Feld 1003 und der Stücklimit-Daten
von Feld 1005 rechnet die Frankiermaschine das Zeit- und
das Stücklimit
der aktuellen Laufzeit des rückwärts zählenden
Timers bzw. der aktuellen Stückzahl
des rückwärts zählenden
Postenzählers
an.
-
An
diesem Punkt soll darauf hingewiesen werden, dass das Datencenter 15 basierend
auf dem Anfrage-Datenpaket der Frankiermaschine, einschließlich der
Information des Postenzählerfeldes 621,
und der Limits, einschließlich
des Stücklimits, welches
zuvor der Frankiermaschine mitgeteilt wurde, ermitteln kann, ob
eines der Limits erreicht wurde. Das Datencenter 15 setzt
voraus, dass die Frankiermaschine für den weiteren Betrieb gesperrt
wird, wenn festgestellt wird, dass eines der Limits erreicht wurde.
Neue Limits, durch die die Frankiermaschine ihren Betrieb wieder
aufnehmen kann, werden in den Feldern 1003, 1005 und 1007 des
Freigabe-Datenpakets nur dann mitgeteilt, wenn gewisse vorher festgelegte
Bedingungen erfüllt
sind. Diese Bedingungen schließen
zum Beispiel ein, dass die Komponenten der Frankiermaschine in gutem
Zustand sind, die Frankiermaschine nicht als gestohlen gemeldet
wurde und dass kein Zahlung an die Postbehörde überfällig ist, wenn ein Modell mit
Zahlung im Voraus vereinbart wurde.
-
11A stellt das Datenformat des oben beschriebenen
Abbruch-Datenpakets dar, das vom Computer 103 generiert
wird, wenn er sich während der
Kommunikation mit der Frankiermaschine aus irgendeinem Grund zum
Abbruch entschließt.
In diesem Datenpaket enthält
das Abbruchstatus-Code-Feld 1101 zwei Bytes, welche den
Abbruchstatus identifizieren, auf den die Anwendung der Frankiermaschine
möglicherweise
reagiert.
-
Wie
das Nachrichtenfeld 1017 lässt das Abbruchnachricht-Feld 1103 eine
unbegrenzte Anzahl von Bytes zu, die zur Darstellung einer Display-Nachricht
des Datencenters 15 benötigt
werden. Die Nachricht wird von zuvor festgelegten Zeichen (in diesem
Fall #0) abgeschlossen. Diese Nachricht ist weder verschlüsselt noch
authentifiziert, so dass der Benutzer sie lesen kann, auch wenn
ein Verschlüsselungs-
oder Authentifizierungsfehler auftritt. Da das Center 15 bei
einem Abbruch möglicherweise
noch keine Informationen über
Display-Typ/-Abmessungen
der Frankiermaschine besitzt, ist die Abbruchnachricht normalerweise
einfach und unformatiert.
-
11B stellt das Datenformat des oben beschriebenen
Logout-Datenpakets dar. Dieses Datenpaket wird durch die Frankiermaschine
generiert, um dem Datencenter 15 eine vollständige Kommunikationssitzung
zu bestätigen,
so dass das Datencenter informiert ist, dass in der nächsten Kommunikationssitzung
kein Umkehrprozess nötig
ist. In diesem Datenpaket enthält
das Feld des nächsten
Limits der Frankiermaschine 1107 zwei Bytes, welche den
Inhalt des freigegebenen Feldes für das nächste Limit 1007 in
dem erhaltenen Freigabe-Datenpaket wiederholen. Das Logout-Status-Code-Feld 1109 ähnelt hinsichtlich
seiner Funktion und Formatierung dem vorher beschriebenen Abbruchstatus-Code-Feld 1101.
Das Logout-Nachricht-Feld 1111 ähnelt hinsichtlich
seiner Funktion und Formatierung dem vorher beschriebenen Abbruchnachrichtenfeld 1103. Das
Signatur-Feld 1113 enthält
acht Bytes zur Darstellung einer Signatur, welche aus der Authentifizierung
der Daten in jedem Feld, außer
dem Logout-Nachricht-Feld 1111, resultiert.
-
Wie
schon zuvor erwähnt
enthalten das Datenfeld für
eine weitere Antwort, das Datenfeld für einen weiteren Betrag und
das weitere Freigabedaten-Datenfeld erforderlichenfalls zusätzliche
Daten in der dynamischen Datenstruktur.
12 stellt
solch ein Datenfeld
1200 in der dynamischen Datenstruktur dar.
Das Datenfeld
1200 kann vollständig/teilweise verschlüsselt und/oder
vollständig/teilweise
authentifiziert sein. Das Feld
1200 beginnt mir dem Byte-Paar
1201,
das zwei Bytes zur Darstellung einer Zählung von Datenelementen (N)
im Feld
1200 enthält.
Dem Byte-Paar
1201 folgt das Byte-Paar
1203 zur
Darstellung einer Nummer E, welche angibt, dass Datenteile (bezeichnete
Daten x, wobei 1 ≤ x ≤ N) der ersten E-Datenelemente
verschlüsselt
sind. Das nächste Byte-Paar
1205 dient
der Darstellung einer Nummer A, welche angibt, dass die ersten A-Datenelemente zusätzlich zu
den Byte-Paaren
1201,
1203,
1205 und
1207 authentifiziert
sind. Byte-Paar
1207 ist
für zukünftige Verwendung
vorgesehen. Dem Byte-Paar
1207 folgen die N-Daten-Elemente.
Jedes Datenelement beginnt mit einer Bytelänge zur Darstellung von einer
Anzahl von Bytes (Lx) in den Daten x des Elementes. So kann gezeigt
werden, dass die Länge
des Datenfeldes
1200 Bytes beträgt.
-
Hierbei
soll hervorgehoben werden, dass oben beschriebene Byte-Paare 1201, 1203 und 1205 zur
jeweiligen Darstellung der Werte N, E und A und die Bytelängen nicht
verschlüsselt
sein können,
da sie zur Längenberechnung
benötigt
werden, noch bevor eine Entschlüsselung
stattfindet.
-
Außerdem muss
die Länge
jedes zu verschlüsselnden
Datenteils aufgrund der Anforderungen des DES-CBC-Verschlüsselungsalgorithmus
ein Vielfaches von acht Bytes betragen. Tritt der Fall auf, dass
ein zu verschlüsselnder
Datenteil nicht ein Vielfaches von acht ist, wird dieser Datenteil
durch Auffüllung
mit Bytes vom Wert Null auf das nächste Vielfache von acht erweitert.
Die Füll-Bytes
werden verschlüsselt
und übertragen,
als ob sie tatsächliche
Data-Bytes wären.
Durch das Wissen aus der Angabe Lx über die Anzahl der tatsächlichen
Data-Bytes in den entsprechenden Datenteilen, kann der Computer 103 erkennen,
welche der erhaltenen Bytes Füll-Bytes sind und kann
sie somit nach der Entschlüsselung
ignorieren.
-
Für die Authentifizierung
gilt die ähnliche
Anforderung, dass die Anzahl der Bytes in jedem Datenelement, welches
authentifiziert werden soll, ein Vielfaches von acht sein muss.
Tritt der Fall ein, dass ein zu authentifizierendes Datenelement
nicht ein Vielfaches von acht Bytes enthält, werden virtuelle Bytes mit
dem Wert Null während
der Authentifizierung vorübergehend
hinzugefügt,
um eine Länge
des nächsten
Vielfachen von acht zu erreichen. Diese virtuellen Bytes werden
jedoch weder übermittelt,
noch erscheinen sie tatsächlich
in den Datenteilen.
-
Des
Weiteren soll hervorgehoben werden, dass der Inhalt des Steuerungsbefehlsfeldes 803 im Antwort-Datenpaket
die Existenz des weiteren Antwort-Datenfeldes 813 im selben
Datenpaket, des Feldes für
einen weiteren Betrag 907 im Summen-Datenpaket und des weiteren Freigabe-Datenfeldes 1015 im
Freigabe-Datenfeld während
der Kommunikationssitzung vorschreibt. Dies ist insbesondere der Fall,
wenn das Steuerungsbefehlsfeld 803 eine Hexadezimalzahl 8001 enthält, welche
eine Standard-Ferneinstellung der Frankiermaschine anzeigt (sieh 6B)
oder 4001, welche die Standard-Fernablesung der Frankiermaschine
anzeigt. Die Felder 813, 907 and 1015 werden
für keine
dieser Funktionen benötigt
und daher ausgelassen.
-
Andererseits,
wenn das Steuerungsbefehlsfeld 803 eine der Hexadezimalzahlen 9001,
B001, 5001 und 7001 enthält, welche der Frankiermaschine unter
anderem anzeigen, dass sie statistische Daten an das Datencenter 15 senden
soll, wird das weitere Betrags-Datenfeld 907 von der Frankiermaschine
im folgenden Summen-Datenpaket zur Mitteilung solcher statistischen
Daten eingestellt. 13 ist eine Tabelle, welche
den Inhalt eines exemplarischen weiteren Betrags-Datenfeldes in
der oben beschriebenen dynamischen Datenstruktur beschreibt, welche statistische
Daten über
die Klassen übermittelt.
Wie in 13 dargestellt zeigt N = 4 vier
Datenelemente im Datenfeld an; E = 0 zeigt an, dass kein verschlüsselter
Datenteil vorhanden ist, A = 0 zeigt an, dass kein authentifiziertes
Datenelement vorhanden ist. Das erste Datenelement enthält einen
Datenteil von L1 = 3 Bytes. Die ersten zwei Bytes dieses Datenteils stellen
Gebührenklasse
0 dar, welche eine gemischte Klasse ist. Das dritte Byte ist zur
Darstellung einer statistischen Trefferzahl ungleich Null (z. B.
175) von Postnachrichten vorgesehen, welche durch die Frankiermaschine
bearbeitet wurden und der Gebührenklasse
0 angehörten.
Auf ähnliche
Weise enthält
das zweite Datenelement einen Datenteil von L2 = 4 Bytes. Die ersten
beiden Bytes dieses Datenteils stellen wiederum eine Klasse dar,
in diesem Beispiel die Gebührenklasse
3. Das dritte und vierte Byte sind zur Darstellung einer weiteren
statistischen Trefferzahl ungleich Null vorgesehen, die in diesem
Beispiel 9.278 beträgt.
Das dritte und vierte Datenelement zeigen auf ähnliche Weise die statistischen
Treffer der Klassen 4 bzw. 7. Hierbei soll darauf geachtet werden,
dass in diesem Beispiel die Klassen 1, 2, 5 und 6, welche keine
Treffer aufweisen, nicht dargestellt sind, um die Länge des
weiteren Betrags-Datenfelds
zu minimieren.
-
Enthält das Steuerungsbefehlsfeld 803 eine der
Hexadezimalzahlen B001 und 7001, welche der Frankiermaschine
unter anderem anzeigen, dass sie die Gebührenklassen neu definieren
soll, wird das weitere Freigabe-Datenfeld 1015 vom Datencenter 15 im
nächsten
Freigabe-Datenpaket so eingestellt, dass es Informationen über die
neuen Gebührenklassendefinitionen
mitteilt. 14 ist eine Tabelle, welche
den Inhalt eines exemplarischen weiteren Freigabe-Datenfeldes in
der oben beschriebenen dynamischen Datenstruktur darstellt, welches
Informationen, einschließlich
neuer Gebührenklassendefinitio nen,
mitteilt. Wie in 14 dargestellt zeigt N = S an, dass
im Datenfeld S Datenelemente sind, wobei S eine vorgegebene ganze
Zahl ist; E = 0 zeigt an, dass keine verschlüsselten Datenteile vorhanden
sind, A = S zeigt alle authentifizierten Datenelemente an. Das erste
Datenelement enthält
einen Datenteil der Größe L1 =
6 Bytes zur Darstellung eines neuen Ablesedatums. Das Format dieses
Datenteils gleicht dem Format des Datums- und Zeitfeldes der Frankiermaschine 615 im
vorher beschriebenen Anfrage-Datenpaket. Steht der Wert des Datenteils
auf Null, findet die Ablesung in der nächsten Kommunikationssitzung
zwischen der Frankiermaschine und dem Datencenter 15 statt,
vorausgesetzt, dass die Sitzung vollständig ist. Die neue Ablesedatums-Information spezifiziert,
wann die Frankiermaschine die neuen Klassen, wie sie in den vorangegangenen
Datenelementen definiert sind, implementieren wird. Das zweite Datenelement
enthält
einen Datenteil von L2 Bytes. Das erste Byte in diesem Datenteil
identifiziert den Typ einer Mailklasse der Gebührenklasse 1, welche in diesem
Beispiel Erste-Klasse-Post ist. Andere Mailklasse-Typen beinhalten
Paketpost, Expresspost, internationale Post usw. Der Rest des Datenteils
ist in zwei Hälften
geteilt, von denen jede aus (L2 – 1)/2 Bytes besteht. Die erste
Hälfte
definiert den unteren Grenzwert (einschließlich) der Gebührenklasse 1,
und die andere Hälfte
definiert ihren oberen Grenzwert (einschließlich). Wie das zweite Datenelement definieren
das dritte bis S-te Datenelement jeweils die Mailklasse-Typen der
Gebührenklassen
2 bis S-1 mit Hilfe des ersten Bytes des Datenteils und definieren
den unteren bzw. oberen Grenzwert der Klasse unter Verwendung der
ersten bzw. zweiten Hälfte
des verbleibenden Datenteils. Hierbei soll darauf hingewiesen werden,
dass die Gebührenklasse
0 von der Frankiermaschine intern erzeugt wird, um statistische
Treffer, die nicht in eine der oben definierten Klassen fallen,
zu erfassen.
-
15 stellt
ein Pufferset im nv-RAM 230 in einer Frankiermaschine dar,
welches in der Frankiermaschine eine Datenbank zur Kommunikation
mit dem Datencenter 15 bildet. Wie in 15 dargestellt enthält Puffer 1501 aktuelle
Klassendefinitionen. Diese Klassendefinitionen sind in aufsteigender
Reihenfolge angeordnet, wobei die Klasse mit dem kleinsten Wert
zuerst aufgeführt
ist. Jede Klasse ist nach ihrem unteren und oberen Grenzwert, und
zwar in dieser Reihenfolge, definiert. Sollte eine Klasse nur durch einen
einzelnen Wert beschrieben werden, wird der untere und der obere
Grenzwert auf diesen Wert eingestellt.
-
Der
Puffer 1503, dessen Struktur mit der von Puffer 1501 identisch
ist, enthält
neue Klassendefinitionen, welche nach einem bestimmten Lesedatum gültig sind.
Ist das Lesedatum nicht spezifiziert, tritt an seine Stelle das
Datum, an dem die Frankiermaschine eingeschaltet wird. Steht das
Lesedatum auf Null, findet auch in diesem Fall die Ablesung in der nächsten Kommunikationssitzung
statt, vorausgesetzt, dass die Sitzung vollständig ist.
-
Der
Puffer 1505 enthält
entsprechend den Klassendefinitionen individuelle Klassenzähler oder Stückzähler. Jeder
Klassenzähler
ist dynamisch gemäß den Klassendefinitionen
auf eine Gebührenklasse
eingestellt. Ein zusätzlicher
Klassenzähler
ist immer auf die zuvor beschriebene Gebührenklasse 0 eingestellt. Diese
Klassenzähler
enthalten statistische Daten der Klasse, einschließlich der
Anzahl der Treffer in den entsprechenden Klassen.
-
Der
Klassenlese-Puffer 1507, der ähnlich wie Puffer 1505 strukturiert
ist, enthält
statistische Daten der Klasse, welche von Puffer 1505 an
einem festgelegten Ablesedatum abgelesen werden. Der Puffer 1509 enthält entsprechende
Ablesedatum. Der Puffer 1511 enthält ein neues Ablesedatum. Auf
diese Weise werden am Ablesedatum die statistischen Daten der Klasse
in den Klassenlesepuffer 1507 eingelesen, die neuen Klassendefinitionen
werden in den Puffer 1501 und das neue Ablesedatum in den
Puffer 1509 kopiert.
-
Puffer 1513 enthält die Werte
für das
Zeitlimit, das obere Summenlimit und das Stücklimit. Einem Limit oder einem
Datum, das nicht verwendet wird, kann ein 0-Wert (nur Nullen) zugeordnet
werden.
-
16 zeigt
einen exemplarischen Kreislauf, welchen eine Frankiermaschine bei
der Durchführung
ihrer Operationen durchläuft.
Der Kreislauf schließt
zwei Stadien – 1
und 2 – ein,
die mit den drei Phasen A, B und C verschachtelt sind.
-
In
Stadium 1, in dem Klassen, neue Klassen, das Ablesedatum und das
neue Ablesedatum definiert werden, während die Frankiermaschine
auf den Ablauf des Ablesedatums wartet, werden die statistischen
Daten der Klasse in Puffer 1505 aktualisiert. In diesem
Stadium kann Puffer 1513 mit neuen Limits aktualisiert
werden, welche vom Datencenter 15 geliefert werden. Es
werden jedoch keine statistischen Daten der Klasse übermittelt.
Zu diesem Zweck muss in einer TMS-Transaktion während dieses Zustandes Bit
12 des Steuerungsanfragenfeldes 603 im Anfrage-Datenpaket,
welches von der Frankiermaschine übermittelt wurde, auf Null
gestellt werden.
-
Die
Frankiermaschine tritt in Phase A ein, wenn das Ablesedatum erreicht
wird. In dieser Phase werden die neuen Klassendefinitionen von Puffer 1503 in
Puffer 1501 kopiert; die statistischen Daten der Klasse
aus 1505 werden in den Klassen-Lesepuffer 1507 kopiert
und Puffer 1505 ist dann frei; das neue Ablesedatum aus
Puffer 1511 wird in Puffer 1509 kopiert. Die Limits
in Puffer 1513 bleiben unverändert.
-
Nach
Phase A tritt die Frankiermaschine in Zustand 2 ein und wartet auf
eine TMS-Transaktion, bei der eine Übertragung von statistischen
Daten der Klasse an das Datencenter 15 angefordert wird.
Wie in Stadium 1 wird auch in Stadium 2 der Puffer 1505 mit
neuen statistischen Daten der Klasse aktualisiert.
-
Die
Frankiermaschine tritt in Phase B des Stadiums 2 ein, wenn sie eine
TMS-Transaktion mit Datencenter 15 durchführt.
-
Während der
Transaktion zeigt das Steuerungsanfragefeld 603 im Anfrage-Datenpaket
(Bit 12 = 1) eine Nachfrage zur Übertragung
der statistischen Daten der Klasse an das Datencenter 15 an. Wie
zuvor bereits beschrieben wird solch eine Anfrage normalerweise
vom Datencenter durch einen Befehl im Antwort-Datenpaket bestätigt. Die
statistischen Daten der Klasse im Klassen-Lesepuffer 1507 wird
dann einem Summen-Datenpaket
zur Übermittlung
an Datencenter 15 beigefügt.
-
Auf
Phase B folgt unmittelbar Phase C, wobei der Klassen-Lesepuffer frei gemacht
wird. Das Datencenter übermittelt
ein Freigabe-Datenpaket an die Frankiermaschine, welches neue Limits,
ein neues Ablesedatum und neue Klassendefinitionen enthalten kann.
Diese Limits treten in Kraft sobald sie von der Frankiermaschine
erhalten wurden. Die Frankiermaschine tritt dann in Stadium 1 ein
und beginnt den Kreislauf von Neuem.
-
Die
oben beschriebene Kommunikation zwischen den Frankiermaschinen 101-1 bis
-p und dem Datencenter 15 wird in Echtzeit über die
Telefonverbindung durchgeführt.
Es versteht sich, dass eine ähnliche
Kommunikation, offline und mit Hilfe einer herkömmlichen IC-Karte, durch entsprechende Fachleute
durchgeführt
werden kann.
-
17 ist
ein Blockdiagramm der IC-Karte 1700, welche an die Nutzung
in System 10 angepasst wurde. Die IC-Karte 1700 weist
den Mikroprozessor 1105 und Leitungen 1707 auf.
Der Mikroprozessor 1705 weist einen konventionellen Speicher auf
(nicht dargestellt), wie zum Beispiel ein EEPROM. Hierbei muss beachtet
werden, dass der Inhalt eines solchen Speichers löschbar und überschreibbar
ist. Das heißt,
dass in solch einem Speicher Geschriebenes nicht irreversibel ist,
so dass vorteilhafterweise der limitierte Raum eines Speichers wieder
verwendbar ist. Die Leitungen 1707 sind mit dem Mikroprozessor 1705 verbunden,
um Daten durch das Eingabe/Ausgabe-(E/A-)Interface 1709 auf
der IC-Karte zu transportieren.
-
Um
die IC-Karte 1700 unterzubringen, muss in die Frankiermaschine
aus 2 eine IC-Kartenverbindung eingebaut werden, welche
einen Steckplatz für
die IC-Karte besitzt. Die Kartenverbindung besitzt ein Interface
mit Metallkontakten zur elektrischen Verbindung der Karte 1700 mit
dem Kontroller 201 der Frankiermaschine, wenn sie in den
Steckplatz gesteckt wird. Die Konfiguration dieser Metallkontakte
entspricht einem allgemeinen Interface-Standard. Der Hostcomputer 103 enthält eine ähnliche
IC-Kartenverbindung für
Karte 1700, um mit dem Prozessor von Computer 103 zu
kommunizieren. Durch oben beschriebene Anordnung können Daten
zwischen der IC-Karte 1700 und der Frankiermaschine aus 2 oder
dem Hostcomputer 103 ausgetauscht werden, je nachdem in
welchen Steckplatz sie gesteckt wird.
-
Die
im Speicher des Mikroprozessors 1705 enthaltenen Daten
entsprechen den Datenformaten der oben beschriebenen Datenpakete.
Die Sequenz des Austausches der Paketdaten ist der vorherigen ähnlich.
Solch ein Austausch ist jedoch normalerweise verzögert, da
die Karte zwischen der Frankiermaschine und dem Datencenter 15 physisch
(z. B. durch einen Kurierdienst) transportiert werden muss. In diesem
alternativen Ausführungsbeispiel
kann die IC-Karte 1700 als neutrale Karte verwendet werden, welche
nur die Anfangswert-Datenpaket-Daten
im Speicher 1705 enthält;
sie kann als Frankiermaschinen-Karte verwendet werden, welche Daten
der Frankiermaschine enthält
oder als Centerkarte, welche Center-Daten enthält. Zu diesem Zweck identifiziert
eine Header-Datei im Speicher 1705 den Kartentyp. In Bezug
auf den Kreislauf aus 16 muss zum Beispiel, in Stadium
2, die Karte 1700 eine neutrale Karte sein. Nachdem die
Frankiermaschine auf Basis des Anfangswert-Datenpakets Daten auf
der neutralen Karte errechnet hat und das Anfrage-, Summen- und
Logout-Datenpaket
während
Phase B auf die Karte schreibt, wird sie zur Frankiermaschinen-Karte
umfunktioniert. Die Frankiermaschinen-Karte wird dann an das Datencenter 15 geschickt.
-
Nachdem
der Computer 103 im Datencenter 15 die Frankiermaschinen-Karte
gelesen hat, überschreibt
er auf der Karte die vorherigen Kartendaten mit Centerdaten, einschließlich der
Daten des Antwort-, Freigabe- und Anfangswert-Datenpakets für den nächsten Kreislauf,
und die Karte wird dann zur Centerkarte unfunktioniert. In Phase
C werden die Daten von der Karte gelöscht, nachdem die Frankiermaschine
die Centerkarte gelesen hat, mit Ausnahme der Daten des nächsten Anfangswert-Datenpakets,
und wird wieder zur neutralen Karte.
-
Aus
obiger Diskussion geht eindeutig hervor, dass die IC-Karte 1700 ausschließlich als
Medium zur Datenspeicherung verwendet wird und zum Austausch von
Daten zwischen der Frankiermaschine und dem Datencenter 15 von
einem Kurierdienst hin- und hertransportiert wird. Das heißt, dass
die Karte 1700 während
des gesamten Porto-Druck-Betriebes nicht in der Frankiermaschine
bleibt, um Dateneingaben aufzuzeichnen, welche zum Beispiel den
Wert und die Menge der Porto-Posten,
die in jeder Portodruck-Transaktion gedruckt werden, betreffen.
Tatsächlich
erhält
die Karte 1700 nicht solche Dateneingaben von der Frankiermaschine.
Außerdem
ist die Karte 1700 nicht „smart", da sie nicht zur Verarbeitung von
Daten programmiert ist, welche sie von der Frankiermaschine oder
von Datencenter 15 erhält.
-
Die
Frankiermaschine kann in Phase C nur eine Centerkarte akzeptieren,
aber keine Karte, die anders ausgezeichnet ist. Daher wird gleichzeitig
mit der Offline-Kommunikation Stadium 2 zwischen den Phasen B und
C benötigt,
was die Zeit darstellt, welche verstreicht, wenn die Frankiermaschinen-Karte zum
Center und die Centerkarte zurück
zur Frankiermaschine transportiert wird. Das heißt, dass Stadium 3 in dem Moment
beginnt, wenn die Frankiermaschinen-Karte an das Datencenter geschickt
wird, und in dem Moment endet, wenn die Centerkarte von der Frankiermaschine
in Empfang genommen wird. Während
Stadium 3 wird Puffer 1505 mit neuen statistischen Daten
der Klasse aktualisiert.
-
Das
Ausführungsbeispiel
der Erfindung ist hier in einer Form dargelegt, in welcher unterschiedliche
Systemfunktionen von einzelnen Funktionsblöcken durchgeführt werden.
Diese Funktionsblöcke können auf
unterschiedliche Weise und in unterschiedlichen Kombinationen mit
Hilfe von logischen Schaltkreisen und/oder entsprechend programmierten
Prozessoren implementiert werden, wie es Fachleuten auf diesem Gebiet
ersichtlich sein wird.