EP1278164A2 - Anordnung und Verfahren zum Andern der Funktionalität eines Sicherheitsmoduls - Google Patents
Anordnung und Verfahren zum Andern der Funktionalität eines Sicherheitsmoduls Download PDFInfo
- Publication number
- EP1278164A2 EP1278164A2 EP02090220A EP02090220A EP1278164A2 EP 1278164 A2 EP1278164 A2 EP 1278164A2 EP 02090220 A EP02090220 A EP 02090220A EP 02090220 A EP02090220 A EP 02090220A EP 1278164 A2 EP1278164 A2 EP 1278164A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- program
- data
- memory
- application program
- stored
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000015654 memory Effects 0.000 claims abstract description 97
- 238000004891 communication Methods 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 230000008672 reprogramming Effects 0.000 claims description 4
- 239000000872 buffer Substances 0.000 claims description 3
- 230000003936 working memory Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000013478 data encryption standard Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000006378 damage Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 2
- 238000004382 potting Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 241001295925 Gegenes Species 0.000 description 1
- 241000408529 Libra Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000008393 encapsulating agent Substances 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- KSAVQLQVUXSOCR-UHFFFAOYSA-M sodium lauroyl sarcosinate Chemical compound [Na+].CCCCCCCCCCCC(=O)N(C)CC([O-])=O KSAVQLQVUXSOCR-UHFFFAOYSA-M 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00733—Cryptography or similar special procedures in a franking system
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00193—Constructional details of apparatus in a franking system
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00193—Constructional details of apparatus in a franking system
- G07B2017/00258—Electronic hardware aspects, e.g. type of circuits used
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00733—Cryptography or similar special procedures in a franking system
- G07B2017/00959—Cryptographic modules, e.g. a PC encryption board
- G07B2017/00967—PSD [Postal Security Device] as defined by the USPS [US Postal Service]
Definitions
- the invention relates to an arrangement for changing the functionality of a Security module according to the preamble of claim 1 specified type and a corresponding method, according to the Preamble of claim 3 specified type.
- Security modules works in a potentially unfriendly environment in ATMs, Ticket machines, cash registers, electronic purses, Computers for personal use (palmtops, notebooks, Organizers), cell phones and devices that have several of these features combine.
- the modules are encapsulated with a potting compound.
- In Form of a postal security module is an insert in one Postage meter or mailing machine or computer with Mail processing function (PC meter) possible.
- Modern franking machines, or other means for franking of mail are using a printer to print the postmark on the mail, with a control to control the printing and the peripheral components of the franking machine, with a A réelleiser to bill postal fees in non-volatile stores and a unit for cryptographically securing the Postage fee data equipped.
- a security module (EP 789 333 A2) may be a hardware canceling unit and / or the unit for securing printing the postal fee data.
- the former as user circuit ASIC and the latter as OTP processor (One Time Programmable) can be realized.
- An internal OTP memory stores read-safe sensitive data (cryptographic keys) that For example, to recharge a credit are required.
- a Enclosing through a safety enclosure provides further protection.
- flash EEPROMs In modern postal devices are already today as program memory so-called flash EEPROMs used. The latter permit a sectoral Deleting and saving data as well as byte-by-byte insertion of individual data in a memory area (sector). So it already became in EP 724 141 B1 a method for data input into a balance proposed, with the relevant memory areas in the flash EEPROM the balance should be cleared before re-programming is made, for example, a postage rate table at least partially change. The preferably via modem of a franking machine, For example, JetMail®, loaded data is stored in flash EEPROM stored compressed and decompressed before use and in one saved separate application memory.
- modem of a franking machine For example, JetMail®
- the first method has the disadvantage over the second method that a faulty program can no longer be replaced.
- the second method adversely requires a device that own at least two different storage banks, what with him the o.g. strong restrictions on the use of storage space makes more expensive.
- the postal security modules will be special Requirements, what the exchange or expandability of Functions.
- the programming of o.a. program blocks may not be at any time and especially not by any operator can be executed.
- the invention is based on the object with little effort the above mentioned special requirements, while avoiding the disadvantages, too and to provide an arrangement and method for a security module create a state of functionality exchange and functionality Authorized guaranteed.
- the developed security module uses a microprocessor Use of the execution of his program in a working memory allows.
- this memory is also a FLASH program memory for the application-specific program. Both memories are connected to the processor via the bus.
- the security module is thus during its production with program data programmed and receives an identifier for a first Ground state. After switching on by means of a start up Program a first part of the program from the memory area of Program memory copied to the memory. The achieved program state is verified to state the program functionality to be able to execute. A state variable for the achieved Program state, for example, in the program memory or in stored in a nonvolatile memory of the security module. A light emitting diode (LED) signals that the microprocessor has a second program part and on the change of the program functionality the free program memory is waiting. About that in the security module included communication interface are at least Application program data in a free or inactive memory area the program memory loaded.
- Each recharged functionality also includes a subprogram for copying and executing programming instructions in the working memory. This functionality can also be found in the Security module located communication interface are called. When called, it changes the state variable such that, although the Identification of the program is retained, the next boot the Bootloader, however, is indicated that the application specific Software now again a free program memory area represents. As a result, the bootloader will be active again the next time you boot and receive application program data.
- the invention further assumes that by means of a fast Microprocessor and other partially known functional units Security module is created that meets all requirements.
- the fast processor allows symmetric and / or asymmetric Use encryption methods for different applications.
- a real-time processing of events as well as a record or booking.
- a internal battery of the safety module takes over the power supply for a real-time clock and non-volatile memory devices the user data, for permanent monitoring of all safety-relevant Functions as well as the operational readiness of the safety module with the system voltage switched off.
- a state change stored queryable In the case of an error and upon removal of the security module, a state change stored queryable.
- the status of the security module is also after can be interrogated by the device. To signal the condition may be an existing display unit of the device or signaling means of the security module are shared.
- the manufacturer device supplies a system voltage and optionally a second one Battery voltage.
- the safety module is switched on with the manufacturer's device operated with system voltage.
- the security module 100 with a reprogrammable FLash program memory 128, which stores a boot loader, and with a microprocessor 120, the boot loader partially copied to the RAM SRAM 121.
- the integrated Communication interface 150 of the special circuit 160 allows the establishment of a communication link with the manufacturer's device, which application program data is available for the security module provides.
- the microprocessor 120 is connected to the main memory via a BUS SRAM 121, with the FLASH program memory 128 and with the communication interface 150 in a communicative connection.
- the communication interface 150 to provide of data from at least part of an application program, a associated certificate codes and identification data is formed and that the microprocessor 120 through the partially into the main memory 121 copied boot loader program is programmed, the data of the part of Application program on a free memory space of the FLASH program memory save if the identifier data is a successor to the stored predecessor identifier, and the authenticity the loaded at least part of the application program using the certificate code check and authenticity of the loaded Part of the application program to save the latter as valid.
- the microprocessor 120 determines whether the tag data is a successor to mark the stored predecessor identifier by the Identification data are compared with corresponding comparison data, in another memory area of the FLASH program memory 128 are stored, in which information data to one already loaded program are listed.
- the identification data includes the Program type, version and revision data.
- the power management unit (Power Manager) 11 has a plurality of functional units that ensure the operability of the security module with a low power consumption even when the device is switched off.
- the power management unit 11 includes a DC / DC converter (not shown) and a voltage regulator (not shown) for the respective operating voltages (3V, 5V and 8V), a temperature and voltage monitoring circuit (not shown). The latter two can generate a reset signal. The supplied system voltage is monitored for exceeding or falling below of limit values. Within the latter, a DC / DC converter provides for a predetermined operating voltage U B. Voltage generation ensures the generation of all necessary voltages required by the functional units of the safety module.
- the unit When the unit is switched off, besides the monitoring circuits and the destruction detection unit only one real-time clock RTC and the Main memory supplied with battery voltage. An uninterrupted one Supply of the battery-operated units is also in DE 200 20 635 U1 has been notified. At least one of the post stores, some of the detectors and the SRDI memory. To the Security module can connect two independent batteries become. The first battery voltage comes from the internal battery 134, which are optionally supported by a second separate battery can.
- a separate real-time clock RTC 124 are connected.
- the microprocessor 120 is, for example of type ARM7 and the separate real-time clock of type EPSON RTC-4543.
- the microprocessor 120 is over a BUS with the program memory FLASH 128, the main memory SRAM 121, the main memory SRDI-RAM 122 and the special circuit FPGA 160 connected.
- the bus is shown with wide white arrows.
- the special circuit FPGA 160 is a user-specific programmed FPGA (one-time programmable).
- the FPGA contains a hardware accounting unit (not shown), a drive circuit for two more memory NVRAM I and II as well as an input / output interface (digital interface of the Security module not shown) to the device (not shown).
- the special one Circuit FPGA 160 is connected to two nonvolatile memories 114 (NVRAM I) & 116 (NVRAM II), which among other things, the postal contain relevant data.
- NVRAM I nonvolatile memory
- NVRAM II nonvolatile memory 114
- the two nonvolatile memory NVRAM I and II are physically separated and in different technologies executed. They are writeable and readable by the processor, from the FPGA modifiable and from outside the security module readable.
- One of the nonvolatile memory is in a mixed one EEPROM SRAM technology is running, the other is using an SRAM conventional technology.
- the supply of the system voltage (Main Power Supply Interface) and the battery voltages to the interface is with wide black arrows been marked.
- Thin black arrows mark the Supply of modules with a corresponding operating voltage from the power management and monitoring unit 11 or from the Surveillance unit 12.
- Thin white arrows indicate polling and Control lines.
- the erase hardware includes power management & monitoring unit means, a control line CL, and a bus driver unit 127 in part.
- the control lines from the destruction detection unit 15 and the voltage monitoring unit 12 are connected to a common control line CL, shown in phantom.
- the units 12 or 15 control via the common control line CL to an electronic switch S, which selectively applies operating voltage U B or erase voltage U C or ground potential U M to the VCC pin of the SRDI memory 122.
- This SRDI RAM is not directly connected to the processor bus. All digital signals are routed via driver circuits of the bus driver unit 127, which have outputs that can be switched to high impedance. Thus, the BUS can be decoupled from the SRDI memory 122.
- the bus driver unit 127 is also driven by the common control line CL.
- the first two lead in response (or link) to Clearing the data in the SRDI memory.
- the third detector can only cause a change of state and from Processor during operation or at system startup from the program of the security module.
- the temperature sensor monitors the operating temperature of the module and triggers a reset when the temperature is below or above a predetermined value decreases or increases. This will also be one prevent improper use and secure the user data.
- One Reset is also triggered when the input voltage of the module too small or too big or if the internal operating voltage is below a certain level drops. The state of all other voltages can be queried by the system software.
- the security module contains - not shown - LED for status output and comes with a hard, opaque encapsulant 105 potted, in which a Sensor diaphragm 153 is embedded.
- One of the event detectors that Destruction detection unit 15, is with conductor loops of the sensor diaphragm 153 connected.
- FIG. 2 shows a representation of the multi-layer program architecture.
- a pre-initialization program In the top layer are a pre-initialization program and an application program.
- the pre-initialization program will be after the Production of the hardware of the security module via a manufacturer application program loading interface (Manufacturing Application Programming Interface) and causes the generation of a public key pair, which creates a unique identity. The latter enables a recognition of the security module at any time.
- the initial cryptographically unique identity can be later be replaced by the customer's cryptographic identity.
- the Application program determines the regular functionality during the Operation of the safety module. She is above a nursery Application program interface (Operational Application Programming Interface) and can, for example, the PKCS # 11 or another cryptographic standard.
- Open Secure Socket Layer Library contains a large number of Sets of cryptographic algorithms (DES, triple-DES, RSA, DAS, SHA-1, HMAC, etc.) and such PKCS and ASN.1 formatting tools, such as the X.509v3 certification standard.
- the OpenSSL Library also includes a small and efficient collection Elliptic Curve Digital Signature Algorithms (ECDSA), which is a Selection of one or more different elliptic curves - the recommended by NIST - allowed.
- EDSA Elliptic Curve Digital Signature Algorithms
- the bottom layer contains a bootloader with a bootloader integrated code verification program.
- the boot loader is taking action first a loading of the pre-initialization program, which first once loaded and executed, not by another pre-initialization program can be replaced, but at most by a part of the application program.
- the state saves a loaded part of the application program as valid, the latter is checked by means of a certificate code.
- the certificate code becomes provided along with each part of the application program. to Verification requires a code verification key which is loaded during manufacture as part of a pre-initialization.
- a hash value is formed, which, for example, with a key according to the known DES method (Data Encryption Standard) to a message authorization Code (MAC) is encrypted.
- the MAC is called the certificate code Application program attached.
- the code verification key must However, in the security module, read-only memory can be saved if the Code verification key a key of a symmetric encryption method (DES) is.
- DES symmetric encryption method
- FIG 3 is a flow chart for changing the functionality of Security module shown.
- step 200 After switching on a - not shown - manufacturer device is Energy is provided and in step 200 it is checked if the Turn on the intended success had, so on the security module a system voltage is applied. If not, then put on hold branches and the query is constantly repeated. If on the security module the system voltage is applied, in step 201, a start up Program is started and in RAM SRAM 121 becomes at least a first part of the boot loader with the programming functionality copied.
- the microprocessor 120 is through the boot loader programmed that memory area of the FLASH program memory, where the boot loader is located, only copied but can not be overwritten. About an already loaded application program can in another Memory area of the FLASH program memory 128 or others Store non-volatile.
- the information includes one State variable on. In the subsequent program execution, provides the microprocessor in step 202 based on the aforementioned information determines whether a valid state of an application program exists.
- step 209 the application program started. Subsequently, it is constantly checked in step 210 whether in Communication Interface Data for deleting the application program available. If this is not the case, then step on 209 branches back and started the application program. Otherwise, is branched from step 210 to a step 211, in which the existing application program by means of a state variable as 'invalid' is marked.
- the microprocessor determines in step 202 that the existing application program was marked as 'invalid' or there is no valid state of the application program, then branches from step 202 to a step 203, in which a second Part of the boot loader with a communication interface call and verification functionality is started.
- a following Query step 204 checks whether application program data and Identification data present in the communication interface. If that is not the case, then it is branched to a waiting loop and the Query constantly repeated. But if the latter is the case, then it will turn to one Queries step 205 branches, in which is checked whether the identification data mark a successor to the stored predecessor. Of the Microprocessor compares the supplied identification data with stored Identification data.
- the latter can in the aforementioned further memory area the FLASH program memory, in which all information saved to an already loaded program become.
- To the communication interface are from the manufacturer too delivered to the application program data associated information data, as: start and end address of the program, checksum (CRC), program type, version, revision.
- the identification data includes the program type, version and revision data.
- Step 206 branches.
- the microprocessor will be used according to the o.g. first part program of the boot loader with the programming functionality controlled.
- the copied application program data will be set to one for the application program Memory space of the program memory is stored.
- a certificate of authenticity associated with the application program for example a cryptographic signature, in the subsequent query step 207 verifying the authenticity of the application program used. However, if there is no authenticity, then the query step 204 branched back.
- a genuine application program causes in subsequent step 208 that information about a valid State stored non-volatile and then to query step 204 is branched back.
- the state variable a flag with which the loaded application program as is valid after a cryptographic signature verified the authenticity of the loaded application program proves.
- New valid program data their associated identification data one Mark successors only to a storage location enrolled if the already existing program previously in step 211 was marked with the state variable 'invalid'. The latter requires that data for deleting the application program in Communication interface are present (step 210).
- the security module which is used in postal devices, in particular for use in a franking machine, is determined as a postal security module (Postal Security Device) or as secure accounting device (Security Accounting Device).
- Postal Security Device Postal Security Device
- Secure Accounting Device One PSD is based on the same hardware as an SAD.
- the PSD uses an asymmetric encryption algorithm (RSA, ECDSA), but the SAD uses a symmetric encryption algorithm (DES, triple-DES).
- DES symmetric encryption algorithm
- the security module can also have a different design which allows it to be used in different devices can work. Thus, it is possible, for example, on the Motherboard of a personal computer can be plugged, as a PC meter a commercially available printer controls.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
- Programmierung eines Programm-Bausteins durch einen Programmieradapter vor dem Einbau in das Sicherheitsmodul,
- Programmierung des Programm-Bausteins durch die Abarbeitung eines für diesen Zweck in einer Speicher-Bank dieses Programm-Bausteins enthaltenen Teil-Programms.
- Figur 1,
- Blockschaltbild des Sicherheitsmoduls,
- Figur 2,
- Darstellung der Mehrschicht-Programm Architektur,
- Figur 3,
- Flußplan zur Änderung der Funktionalität des Sicherheitsmoduls.
- einen Mikroprozessor 120 mit interner Echtzeituhr,
- einen Programmspeicher 128, zum Beispiel ein FLASH 512K x32,
- einen Arbeitsspeicher SRAM 121, zum Beispiel ein SRAM 64K x32,
- zwei nichtflüchtige Speicher NVRAM I & NVRAM II,
- einen Arbeitsspeicher SRDI-RAM 122 (Secure Relevant Data Items) mit Lösch-Hardware und BUS-Treibereinheit 127,
- eine Langzeit-Batterie 134, zum Beispiel eine Lithium-Batterie,
- eine Leistungsverwaltungs-& Überwachungseinheit (Power Manager) 11 mit Spannungsüberwachungseinheit 12, mit Schnittstellen zur Zuführung der Systemspannung (Main Power Supply Interface) und zur Batteriespannungszuführung (Host Battery Interface),
- Ereignisdetektoren(Event Detectors), einschließlich einer Zerstörungs-Detektionseinheit 15, die mit einer in einer Vergussmasse 105 eingebetten Membrane 153 verbunden ist, und einer Ungestecktsein-Detektionseinheit 13,
- einen speziellen Schaltkreis FPGA 160 mit einem I/O Interface 150 zur Herstellung einer Kommunikationsverbindung mit einem Gerät. Das Kommunikationsinterface 150 enthält eine interne Steuerung und einen 8 Byte-Kommunikations-Puffer, aus welchem zuerst eingelesene Daten zuerst ausgelesen und weitergeleitet werden.
- Spannungsüberwachungseinheit 12, die zur Batteriespannungsüberwachung mit Selbsthaltung ausgebildet ist,
- Zerstörungsdetektionseinheit 15 zur Detektion gegen mechanische Zerstörung des Sicherheitsmoduls mit Selbsthaltung,
- Ungestecktsein-Detektioneinheit 13 (Host-System-Loop) mit Selbsthaltung.
- Temperatursensor und weitere
- Spannungsüberwachungseinheiten zur Überwachung aller Spannungen im System, insbesondere der Systemspannung.
Claims (13)
- Anordnung zum Ändern der Funktionalität eines Sicherheitsmoduls, der einen Mikroprozessor (120) und einen reprogrammierbaren Programmspeicher (128) aufweist, der ein Startladeprogramm speichert, welches teilweise in einen Arbeitsspeicher (121) kopierbar ist, und der einen speziellen Schaltkreis (160) aufweist, der mit einem Kommunikationsinterface (150) zur Herstellung einer Kommunikationsverbindung mit einem Herstellergerät ausgestattet ist, welches eine Systemspannung und Anwendungsprogrammdaten für das Sicherheitsmodul bereitstellt, wobei der Mikroprozessor (120) über einen BUS mit dem Arbeitsspeicher (121), mit dem Programmspeicher (128) und mit einem Kommunikationsinterface (150) in kommunikativer Verbindung steht, dadurch gekennzeichnet, dass das Kommunikationsinterface (150) zur Bereitstellung von Daten mindestens eines Teils eines Anwendungsprogramms, eines zugehörigen Zertifikatcodes und Kennungsdaten ausgebildet ist und dass der Mikroprozessor (120) durch das teilweise in einen Arbeitsspeicher (121) kopierte Startladeprogramm programmiert ist, die Daten des Teils des Anwendungsprogramms auf einem freien Speicherplatz des Programmspeichers (128) zu speichern, wenn die Kennungsdaten einen Nachfolger zur gespeicherten Vorgängerkennung kennzeichnen, und die Authentizität des geladenen mindestens einen Teils des Anwendungsprogramms mittels des Zertifikatcodes zu überprüfen und bei Authentizität des geladenen Teils des Anwendungsprogramms letzteres als gültig zu speichern.
- Anordnung, nach Anspruch 1, dadurch gekennzeichnet, dass der Programmspeicher (128) ein FLASH-Programmspeicher ist, dass das Kommunikationsinterface (150) eine interne Steuerung und einen Kommunikations-Puffer einschließt, aus welchem zuerst eingelesene Daten zuerst ausgelesen und weitergeleitet werden sowie dass ein Mikroprozessor-Typ vorgesehen ist, der die Ausführung seines Programms in einem Arbeitsspeicher (121) ermöglicht.
- Verfahren zum Ändern der Funktionalität eines Sicherheitsmoduls, mittels Reprogrammierung eines Programmspeichers unter Verwendung eines im Programmspeicher gespeicherten Startladeprogramms, welches zum Ausführen eines Programmteils teilweise in einen Arbeitsspeicher kopiert wird, gekennzeichnet durch die Schritte:Verifizieren eines beim Programmieren erreichten Programmzustandes, der nichtflüchtig gespeichert ist, um die Programmfunktionalität zustandsabhängig ausführen zu können,Autorisieren der geänderten Funktionsweise des nachgeladenen Programms bei dessen Authentizität.
- Verfahren, nach Anspruch 3, dadurch gekennzeichnet, dass in einem Kommunikationsinterface (150) Daten mindestens eines Teils eines Anwendungsprogramms, ein zugehöriger Zertifikatcode und zugehörige Kennungsdaten bereitgestellt und dass die Daten mindestens des einen Teils des Anwendungsprogramms auf einem freien Speicherplatz des Programmspeichers gespeichert werden, wenn die Kennungsdaten einen Nachfolger zur gespeicherten Vorgängerkennung kennzeichnen, sowie dass die Authentizität des geladenen mindestens einen Teils des Anwendungsprogramms mittels des Zertifikatcodes überprüft wird, wobei bei Authentizität des geladenen mindestens einen Teils des Anwendungsprogramms letzteres als gültig gespeichert wird.
- Verfahren, nach Anspruch 4, dadurch gekennzeichnet, dass bei Authentizität des geladenen mindestens einen Teils des Anwendungsprogramms eine Zustandsvariable gespeichert wird, die vorgenannten geladenen Programmteil als gültig kennzeichnet.
- Verfahren, nach Anspruch 3, dadurch gekennzeichnet, dass ein Code-Überprüfungsschlüssel zur Überprüfung der Authentizität des geladenen Teils des Anwendungsprogramms bereitgestellt wird.
- Verfahren, nach Anspruch 6, dadurch gekennzeichnet, dass das Bereitstellen ein Laden des Code-Überprüfungsschlüssels einschließt, welcher während der Herstellung im Rahmen einer Vorinitialisierung geladen wird, dass der Code-Überprüfungsschlüssel im Sicherheitsmodul auslesesicher gespeichert wird und ein geheimer Schlüssel eines symmetrischen Verschlüsselungsverfahren ist.
- Verfahren, nach Anspruch 6, dadurch gekennzeichnet, dass das Bereitstellen ein Laden des Code-Überprüfungsschlüssels einschließt, welcher während der Herstellung im Rahmen einer Vorinitialisierung geladen wird, dass der Code-Überprüfungsschlüssel ein öffentlicher Verifizierschlüssel ist, dass der öffentliche Verifizierschlüssel und ein zugehöriger geheimer Signierschlüssel ein Schlüsselpaar bilden, wobei der Zertifikatcode mit Hilfe des geheimen Signierschlüssels vom Hersteller zugehörig zu den Daten mindestens eines Teils eines Anwendungsprogramms erzeugt wird.
- Verfahren, nach Anspruch 4, dadurch gekennzeichnet, dass der Mikroprozessor (120) feststellt, ob die Kennungsdaten einen Nachfolger zur gespeicherten Vorgängerkennung kennzeichnen, indem die Kennungsdaten mit entsprechenden Vergleichsdaten verglichen werden, die in einem weiteren Speicherbereich des Programmspeichers (128) gespeichert sind, in welchem Informationsdaten zu einem bereits geladenen Programm gelistet sind.
- Verfahren, nach Anspruch 9, dadurch gekennzeichnet, dass die Informationsdaten vom Hersteller zu den Anwendungsprogrammdaten zugehörig an die Kommunikationsschnittstelle (150) geliefert werden, wobei die Informationsdaten, die Start- und Endadresse des Programmes, Überprüfungssumme (CRC) und Kennungsdaten umfassen.
- Verfahren, nach den Ansprüchen 9 bis 10, dadurch gekennzeichnet, dass zu den Kennungsdaten der Programmtyp, die Versions- und die Revisionsdaten gehören.
- Verfahren, nach den Ansprüchen 3 bis 5, dadurch gekennzeichnet, dass die zum Verifizieren eines beim Programmieren erreichten Programmzustandes benötigte Zustandsvariable im Programmspeicher (128) oder in einem nichtflüchtigen Speicher des Sicherheitsmoduls gespeichert vorliegt.
- Verfahren, nach Anspruch 12, dadurch gekennzeichnet, dass die Zustandsvariable ein Flag ist, mit welchem das geladene Anwendungsprogramm als gültig gekennzeichnet wird, nachdem eine kryptographische Signatur verifiziert wurde, welche die Authentizität des geladenen Anwendungsprogrammes beweist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10137505A DE10137505B4 (de) | 2001-07-16 | 2001-07-16 | Anordnung und Verfahren zum Ändern der Funktionalität eines Sicherheitsmoduls |
| DE10137505 | 2001-07-16 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| EP1278164A2 true EP1278164A2 (de) | 2003-01-22 |
| EP1278164A3 EP1278164A3 (de) | 2004-01-14 |
| EP1278164B1 EP1278164B1 (de) | 2013-01-16 |
Family
ID=7693871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP02090220A Expired - Lifetime EP1278164B1 (de) | 2001-07-16 | 2002-06-22 | Anordnung und Verfahren zum Andern der Funktionalität eines Sicherheitsmoduls |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7043631B2 (de) |
| EP (1) | EP1278164B1 (de) |
| DE (1) | DE10137505B4 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006124652A3 (en) * | 2005-05-19 | 2007-06-28 | Gilbarco Inc | Encryption system and method for legacy devices in a retail environment |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
| US8621597B1 (en) * | 2004-10-22 | 2013-12-31 | Xilinx, Inc. | Apparatus and method for automatic self-erasing of programmable logic devices |
| US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
| US20060174125A1 (en) * | 2005-01-31 | 2006-08-03 | Brookner George M | Multiple cryptographic key security device |
| US8099324B2 (en) * | 2005-03-29 | 2012-01-17 | Microsoft Corporation | Securely providing advertising subsidized computer usage |
| US20060236375A1 (en) | 2005-04-15 | 2006-10-19 | Tarik Hammadou | Method and system for configurable security and surveillance systems |
| US8508607B2 (en) * | 2005-09-06 | 2013-08-13 | Its-7 | Method and system for a programmable camera for configurable security and surveillance systems |
| US20070174910A1 (en) * | 2005-12-13 | 2007-07-26 | Zachman Frederick J | Computer memory security platform |
| US8176567B2 (en) * | 2005-12-22 | 2012-05-08 | Pitney Bowes Inc. | Apparatus and method to limit access to selected sub-program in a software system |
| US20070204323A1 (en) * | 2006-02-24 | 2007-08-30 | Rockwell Automation Technologies, Inc. | Auto-detection capabilities for out of the box experience |
| DE102007011309B4 (de) | 2007-03-06 | 2008-11-20 | Francotyp-Postalia Gmbh | Verfahren zur authentisierten Übermittlung eines personalisierten Datensatzes oder Programms an ein Hardware-Sicherheitsmodul, insbesondere einer Frankiermaschine |
| DE102007016170A1 (de) * | 2007-04-02 | 2008-10-09 | Francotyp-Postalia Gmbh | Sicherheitsmodul für eine Frankiermaschine |
| DE102007039809A1 (de) * | 2007-08-23 | 2009-02-26 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Bordnetz zur Aktualisierung der Software in mindestens einem Steuergerät eines Kraftfahrzeugs mit einem USB-Speicherstick |
| EP2071898A1 (de) * | 2007-12-10 | 2009-06-17 | Telefonaktiebolaget LM Ericsson (publ) | Verfahren zur Veränderung integritätsgeschützter Daten in einem Gerät, Computerprogrammprodukt und Vorrichtung zur Implementierung des Verfahrens |
| US8201267B2 (en) * | 2008-10-24 | 2012-06-12 | Pitney Bowes Inc. | Cryptographic device having active clearing of memory regardless of state of external power |
| DE102010017798A1 (de) | 2010-07-07 | 2012-01-12 | Turck Holding Gmbh | Parametrieadapter und zugehörige Steuerschaltung für ein elektrisch betriebenes Gerät |
| WO2014030227A1 (ja) * | 2012-08-22 | 2014-02-27 | 富士通株式会社 | 認証方法及び認証プログラム |
| WO2014049830A1 (ja) * | 2012-09-28 | 2014-04-03 | 富士通株式会社 | 情報処理装置および半導体装置 |
| US9323541B2 (en) | 2013-02-25 | 2016-04-26 | Intel Corporation | Method, apparatus, system, and machine readable storage medium for providing software security |
| KR102537788B1 (ko) * | 2018-11-28 | 2023-05-30 | 삼성전자주식회사 | 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법 |
| CN111475191B (zh) * | 2020-04-04 | 2023-06-06 | 东风越野车有限公司 | 基于多核技术的汽车控制器软件升级系统及方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1087294A2 (de) | 1999-09-27 | 2001-03-28 | Nortel Networks Limited | Verfahren und Gerät zur Fernaktualisierung der Firmware eines Kommunikationsgerät |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2205667B (en) * | 1987-06-12 | 1991-11-06 | Ncr Co | Method of controlling the operation of security modules |
| US5144659A (en) * | 1989-04-19 | 1992-09-01 | Richard P. Jones | Computer file protection system |
| US5210854A (en) * | 1989-06-14 | 1993-05-11 | Digital Equipment Corporation | System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version |
| US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
| US5359659A (en) * | 1992-06-19 | 1994-10-25 | Doren Rosenthal | Method for securing software against corruption by computer viruses |
| US5386469A (en) * | 1993-08-05 | 1995-01-31 | Zilog, Inc. | Firmware encryption for microprocessor/microcomputer |
| US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
| US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
| US6151657A (en) * | 1996-10-28 | 2000-11-21 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
| DE69736246T2 (de) * | 1996-11-07 | 2007-05-16 | Ascom Hasler Mailing Systems, Inc., Shelton | Vorrichtung zur gesicherten Kryptographischen Datenverarbeitung und zum Schutz von Speicherermitteln für Frankiermaschinen |
| WO2001001255A1 (en) * | 1999-06-30 | 2001-01-04 | Microsoft Corporation | Methods and systems for reporting and resolving support incidents |
| US6489386B1 (en) | 1999-08-12 | 2002-12-03 | E. I. Du Pont De Nemours And Company | Method and composition for improving gas barrier properties of polymeric containers and films |
| US6622246B1 (en) * | 1999-11-12 | 2003-09-16 | Xerox Corporation | Method and apparatus for booting and upgrading firmware |
-
2001
- 2001-07-16 DE DE10137505A patent/DE10137505B4/de not_active Expired - Fee Related
-
2002
- 2002-06-22 EP EP02090220A patent/EP1278164B1/de not_active Expired - Lifetime
- 2002-07-11 US US10/193,043 patent/US7043631B2/en not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1087294A2 (de) | 1999-09-27 | 2001-03-28 | Nortel Networks Limited | Verfahren und Gerät zur Fernaktualisierung der Firmware eines Kommunikationsgerät |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006124652A3 (en) * | 2005-05-19 | 2007-06-28 | Gilbarco Inc | Encryption system and method for legacy devices in a retail environment |
Also Published As
| Publication number | Publication date |
|---|---|
| DE10137505B4 (de) | 2005-06-23 |
| DE10137505A1 (de) | 2003-03-06 |
| EP1278164A3 (de) | 2004-01-14 |
| EP1278164B1 (de) | 2013-01-16 |
| US7043631B2 (en) | 2006-05-09 |
| US20030014673A1 (en) | 2003-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1278164B1 (de) | Anordnung und Verfahren zum Andern der Funktionalität eines Sicherheitsmoduls | |
| DE69717063T2 (de) | Verfahren und System zur sicheren Datenverarbeitung | |
| DE69733123T2 (de) | Verfahren und vorrichtung zur verhinderung eines unbefugten schreibzugriffes zu einem geschützten nichtflüchtigen speicher | |
| DE3613007B4 (de) | System zur Ermittlung von nicht-abgerechneten Drucken | |
| DE69028894T2 (de) | Einrichtung zur notariellen Beglaubigung des Datums und der Zeit mittels öffentlichem Schlüssel | |
| DE69724946T2 (de) | Programmvermietungssystem und Verfahren zur Vermietung von Programmen | |
| EP0762337A2 (de) | Verfahren und Anordnung zur Erhöhung der Manipulationssicherheit von kritischen Daten | |
| EP0969422B1 (de) | Verfahren und Anordnung zur Verbesserung der Sicherheit von Frankiermaschinen | |
| DE69815599T2 (de) | Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen | |
| DE69527773T2 (de) | Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis | |
| EP0762335A2 (de) | Verfahren zur Veränderung der in Speicherzellen geladenen Daten einer elektronischen Frankiermaschine | |
| DE112023002184T5 (de) | Sram physically unclonable function (puf) speicher zum erzeugen von schlüsseln basierend auf dem besitzer der vorrichtung | |
| EP3337085B1 (de) | Nachladen kryptographischer programminstruktionen | |
| EP1399797B1 (de) | Steuereinheit | |
| WO2020212051A1 (de) | Industrielles automatisierungsgerät umfassend eine überwachungseinheit zur überprüfung und überwachung eines integritätszustandes des industriellen automatisierungsgerätes | |
| EP1063619B1 (de) | Sicherheitsmodul und Verfahren zur Sicherung der Postregister vor Manipulation | |
| DE112019007421T5 (de) | Speichergerät mit sicherer testmoduseingabe | |
| EP0930586A2 (de) | Anordnung und Verfahren zum Datenaustausch zwischen einer Frankiermaschine und Chipkarten | |
| EP2541455A2 (de) | Methode und Verfahren für PIN-Eingaben bei konsistentem Software-Stack auf Geldautomaten | |
| DE19534530A1 (de) | Verfahren zur Absicherung von Daten und Programmcode einer elektronischen Frankiermaschine | |
| DE19830055A1 (de) | Verfahren zur sicheren Übertragung von Dienstdaten an ein Endgerät und Anordnung zur Durchführung des Verfahrens | |
| DE102018211139A1 (de) | Steuergerät sowie Verfahren zu dessen Betrieb | |
| DE19928061C2 (de) | Sicherheitsmodul zur Überwachung der Systemsicherheit und Verfahren | |
| DE19534529C2 (de) | Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten | |
| US20010042054A1 (en) | Postage meter machine with access protection |
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): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
| AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
| PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
| AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
| AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: 7G 07B 17/04 A Ipc: 7G 06F 1/00 B Ipc: 7G 06F 9/445 B |
|
| AKX | Designation fees paid |
Designated state(s): CH DE FR GB IT LI |
|
| 17P | Request for examination filed |
Effective date: 20040202 |
|
| 17Q | First examination report despatched |
Effective date: 20050124 |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: FRANCOTYP-POSTALIA GMBH |
|
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): CH DE FR GB IT LI |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 50215684 Country of ref document: DE Effective date: 20130314 |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: 746 Effective date: 20130319 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R084 Ref document number: 50215684 Country of ref document: DE Effective date: 20130314 |
|
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| 26N | No opposition filed |
Effective date: 20131017 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 50215684 Country of ref document: DE Effective date: 20131017 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R081 Ref document number: 50215684 Country of ref document: DE Owner name: FRANCOTYP-POSTALIA GMBH, DE Free format text: FORMER OWNER: FRANCOTYP-POSTALIA AG & CO., 16547 BIRKENWERDER, DE Effective date: 20130116 Ref country code: DE Ref legal event code: R081 Ref document number: 50215684 Country of ref document: DE Owner name: FRANCOTYP-POSTALIA GMBH, DE Free format text: FORMER OWNER: FRANCOTYP-POSTALIA GMBH, 16547 BIRKENWERDER, DE Effective date: 20150330 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 15 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 16 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 17 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20210622 Year of fee payment: 20 Ref country code: DE Payment date: 20210506 Year of fee payment: 20 Ref country code: IT Payment date: 20210625 Year of fee payment: 20 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 20210618 Year of fee payment: 20 Ref country code: GB Payment date: 20210625 Year of fee payment: 20 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R071 Ref document number: 50215684 Country of ref document: DE |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 Expiry date: 20220621 |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20220621 |