US20010027524A1 - Method of detecting manipulation of a programable memory device of a digital controller - Google Patents

Method of detecting manipulation of a programable memory device of a digital controller Download PDF

Info

Publication number
US20010027524A1
US20010027524A1 US09/749,050 US74905000A US2001027524A1 US 20010027524 A1 US20010027524 A1 US 20010027524A1 US 74905000 A US74905000 A US 74905000A US 2001027524 A1 US2001027524 A1 US 2001027524A1
Authority
US
United States
Prior art keywords
programing
memory device
reprograming
storing
memory area
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.)
Abandoned
Application number
US09/749,050
Inventor
Immanuel Krauter
Claus Moessner
Axel Aue
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Assigned to ROBERT BOSCH GMBH reassignment ROBERT BOSCH GMBH ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOESSNER, CLAUS, AUE, AXEL, KRAUTER, IMMANUEL
Publication of US20010027524A1 publication Critical patent/US20010027524A1/en
Priority to US12/414,404 priority Critical patent/US8140216B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/2406Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
    • F02D41/2425Particular ways of programming the data
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24142Program has a protected, independent part and a free programmable part

Definitions

  • the present invention relates to a method of detecting manipulation of a programable memory device of a digital controller for a motor vehicle, where data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle can be stored in the memory device.
  • the present invention also relates to an external programing unit for programing and/or reprograming a flash memory of a digital controller for a motor vehicle, where data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle can be stored in the flash memory.
  • the present invention also relates to a digital controller for a motor vehicle having a programable memory device for storing data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle.
  • a method of detecting the manipulation of a programable memory device of the type defined above is known, for example, from German Published Patent Application No. 196 15 105.
  • a controller described there contains a microcomputer, a first programable memory device and a second programable memory device.
  • the first memory device is designed as an erasable non-volatile flash EPROM.
  • the second memory device is designed as an EEPROM.
  • Data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle are stored in the first programable memory device.
  • the microcomputer processes the control programs which are stored in the first memory device together with data that might be needed to execute the programs.
  • an external programing unit is provided and is connected by a serial interface to the controller.
  • the programing unit causes the controller to erase the data and/or control programs stored in the first memory device and then causes a new control program and/or new data to be stored in the first programable memory device.
  • the programing/reprograming operation is documented by storing the corresponding information in the second programable memory device. Storing the information during the programing/reprograming operation is preferable because, due to time interleaving of the programing/reprograming of the first memory device and the storage of information in the second memory device, the possibility of reprograming the first memory device without storing information regarding the programing/reprograming operation in the second memory is extremely low.
  • a disadvantage of the method known from the related art is that it cannot readily be used with a traditional controller which has only the first programable memory device.
  • the controller is first expanded by the second programable memory device.
  • the microcomputer of the controller not only has access to the first memory device but also has access to the second programable memory device.
  • the information regarding the programing/reprograming operation to be stored in the second memory device is also very complex, so the time for programing/reprograming the memory device of the controller is greatly increased.
  • the second memory device is erased before storing the information. This means that the second memory device can also be erased by any unauthorized person having access to appropriate knowledge and hardware and can be overwritten with new information. Thus, with the method known from the related art, unauthorized manipulation of the control program of the controller cannot be detected reliably.
  • An object of the present invention is thus to design and improve upon a method such that unauthorized manipulation of the control program in the controller can be detected reliably and easily.
  • the present invention proposes that in conjunction with each programing/reprograming operation of the programable memory device, information regarding the programing/reprograming operation can be stored in a separate memory area of the memory device where only reading and programming are possible, and in order to detect manipulation, the content of the separate memory area is read out and compared with given information.
  • the method according to the present invention has the advantage that the information regarding the programing/reprograming operation is not stored in a second programable memory device as in the related art but instead is stored within the programable memory device where the control program is also stored.
  • the information is stored within the memory device in a memory area where only reading and programing are possible, i.e., this memory area cannot be erased.
  • This memory area lacks the hardware requirements (e.g., a line for erasing) for erasing it. It is thus impossible to erase this memory area of the programable memory device under any circumstances.
  • the information regarding the programing/reprograming operation stored in the memory area can be documented. If the motor vehicle then enters a workshop and warranty claims are made or if the memory device of the controller is to be reprogrammed, the content of the separate memory area can be read out and compared with the documented content of the memory area. If the information stored in the separate memory area matches the documented information, then there has not been unauthorized manipulation of the controller. If the information read out of the memory area does not match the documented information, then there has been unauthorized manipulation of the controller. In such a case, warranty claims or liability claims, for example, can be refused.
  • information regarding the cumulative number of programing/reprograming operations is stored in the memory area of the programable memory device.
  • the number stored in the separate memory area is incremented.
  • the number of programing/reprograming operations is documented.
  • the number stored in the separate memory area can be read out on demand and compared with the documented number. If the two numbers do not match, there has been an undocumented and therefore unauthorized programing/reprograming operation.
  • the information stored in the separate memory area is reduced to the minimum amount of data needed to detect unauthorized manipulation of the controller.
  • the information regarding the programing/reprograming operation is stored in the separate memory area with each erase operation of the programable memory device.
  • the programable memory device is erased before programing/reprograming the control program.
  • the programable memory device is also erased before programing/reprograming the control program if the control program is secured with a seed-and-key method, as is known in the related art for preventing unauthorized manipulation, in addition to the method according to the present invention.
  • the seed-and-key method is described in detail in German Published Patent Application No. 197 23 332, to which reference is herewith made explicitly.
  • a reference word is formed and stored by a programmer in conjunction with programing/reprograming the controller as a function of the content of the programable memory area and a key.
  • a code word is formed and compared with the reference word inside the controller on the basis of the programable memory area content and the key. If the code word matches the reference word, the control program is executed; otherwise, it is blocked, because the reference word is assumed to be incorrect because the programmer did not know the key and therefore this is a case of unauthorized programing/reprograming. If the content of the programable memory device is not erased before each programing/reprograming, checksum errors may occur in forming the reference word or the code word.
  • the information is stored by setting bits in the separate memory area.
  • an additional bit to be set in the memory area in conjunction with each programing/reprograming operation to thereby store the cumulative number of programing/reprograming operations.
  • This embodiment is a type of method of storing information regarding the programing/ reprograming operation in the separate memory area that saves on storage space and reduces storage time in particular.
  • the information is stored in a one-time-programable (OTP) region of a programable memory device designed in the form of a flash memory.
  • OTP region involves one or more cells of the flash memory having no line for erasing the content of the flash cells.
  • the flash cells of the OTP region have only lines for programing or reading the content of the flash cells.
  • the flash memory is designed as a flash EPROM, for example.
  • a flash memory is preferably programmed or reprogrammed with the help of an external programing unit, in particular with the help of a state machine.
  • a state machine the sequences of operations for programing/reprograming the programable memory device of a controller are encoded in the hardware.
  • the sequences of operations for storing the information in the memory area are also encoded in the hardware in the state machine. In this way, manipulation of the storage operation of information in the separate memory area can be prevented effectively, and manipulation of the memory device can be reliably detected.
  • the information from an element of the controller for storing information regarding the programing/reprograming operation is stored in the separate memory area.
  • the information is thus stored in the memory area in conjunction with the programing/reprograming operation by a suitable element of the controller.
  • the programing/reprograming of the memory area can take place through an external programing unit, for example, as in the past.
  • the element of the controller has a sequence of operations encoded in the hardware of the controller for example, necessarily causing the information to be stored in the separate memory area with each programing/ reprograming operation of the memory device.
  • the programing unit has an element for carrying out the method according to the present invention.
  • an external programing unit is also known as a state machine.
  • a state machine is characterized in that the sequences of operations for programing/ reprograming the control program in the memory device and for storing the information in the separate memory area are encoded in the hardware, and the functionality is written in very high description language (VHDL).
  • VHDL is a hardware description language which writes digital circuits on different levels (behavior, register transfer logic (RTL)).
  • the external programing unit may be connected to the controller over a serial interface, for example, or by a K line and a diagnostic plug.
  • the controller has an element for carrying out the method according to the present invention.
  • the information regarding the programing/reprograming operation is thus not stored in the separate memory area by external devices but instead this information is stored by an internal element which is part of the controller.
  • FIG. 1 shows a digital controller for a motor vehicle for carrying out the method according to the present invention as in a preferred embodiment.
  • FIG. 2 a digital controller for a motor vehicle having an external programing unit for carrying out the method according to the present invention as in a second preferred embodiment.
  • FIGS. 1 and 2 show a digital controller 1 in its entirety. It has a programable memory device 2 , where data and control programs for operation of controller 1 and for controlling/regulating certain functions of the motor vehicle can be stored. Controller 1 also has a microcomputer 3 which processes the control programs stored in memory device 2 for execution of the control/ regulatory function allocated to it and for self-control. The control program and the data needed for execution of the control program are transmitted over a data line 4 from memory device 2 to microcomputer 3 .
  • Memory device 2 of controller 1 is programmed/reprogrammed by way of an external programing unit 5 connected to controller 1 over a serial interface, for example.
  • External programing unit 5 is designed as a state machine, characterized in that the sequences of operations for programing/reprograming controller 1 are encoded in the hardware.
  • external programing unit 5 is connected to controller 1 by a K line 6 and a diagnostic plug 7 .
  • the new data and/or the new control program is transmitted to programable memory device 2 over K line 6 , microcomputer 3 and data line 4 .
  • Programable memory device 2 is designed as a flash EPROM.
  • a flash EPROM has a separate memory area 8 , the one-time-programable (OTP) region.
  • This separate memory area 8 of programable memory device 2 has a plurality of flash cells having no line for erasing the memory content of the flash cells.
  • the flash cells of separate memory area 8 only have lines for programing and for reading the content of the flash cells.
  • Controller 1 therefore has an element 9 to receive from microcomputer 3 over a line 10 information regarding when memory device 2 is erased or programmed. Element 9 then stores information regarding the programing/reprograming operation in separate memory area 8 following each erase operation and each programing operation of programable memory device 2 over a line 11 .
  • Information stored in memory area 8 preferably includes the cumulative number of programing/reprograming operations of memory device 2 .
  • a bit is set in separate memory area 8 for each programing/reprograming operation executed.
  • the information regarding the programing/reprograming operation stored in memory area 8 is documented.
  • the content of separate memory area 8 can be read out and compared with the documented information in memory area 8 . If the information stored in separate memory area 8 matches the documented information, there has not been any unauthorized manipulation of controller 1 . If the information read out of memory area 8 does not match the documented information, then there has been an unauthorized manipulation of controller 1 . In such a case, warranty or liability claims can be refused.
  • FIG. 2 illustrates an alternative embodiment for implementation of the method according to the present invention.
  • external programing unit 5 in this embodiment is connected to controller 1 via a serial interface 12 and a data line 13 .
  • Programing unit 5 has an element 14 by which information regarding the programing/reprograming operation in conjunction with each programing/reprograming operation of programable memory device 2 is stored in separate memory area 8 .
  • Element 14 is designed as an electric circuit, for example, causing microcomputer 3 of controller 1 to set certain bits in memory area 8 over line 11 before, during or after the programing/ reprograming operation.

Abstract

A method of detecting manipulation of a programable memory device of a digital controller for a motor vehicle is described; data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle can be stored in the memory device. To permit especially reliable detection of manipulation in the simplest possible way, in conjunction with each programing/reprograming operation of the programable memory device, information regarding the programing/reprograming operation is stored in a separate memory area of the memory device where only reading and programing are possible, and in order to detect manipulation, the content of the separate memory area is read out and compared with given information.

Description

    FIELD OF THE INVENTION
  • The present invention relates to a method of detecting manipulation of a programable memory device of a digital controller for a motor vehicle, where data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle can be stored in the memory device. The present invention also relates to an external programing unit for programing and/or reprograming a flash memory of a digital controller for a motor vehicle, where data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle can be stored in the flash memory. Finally, the present invention also relates to a digital controller for a motor vehicle having a programable memory device for storing data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle. [0001]
  • BACKGROUND INFORMATION
  • A method of detecting the manipulation of a programable memory device of the type defined above is known, for example, from German Published Patent Application No. 196 15 105. A controller described there contains a microcomputer, a first programable memory device and a second programable memory device. The first memory device is designed as an erasable non-volatile flash EPROM. The second memory device is designed as an EEPROM. Data and control programs for operation of the controller and for control/regulation of certain functions of the motor vehicle are stored in the first programable memory device. For execution of the control/regulatory functions assigned to the microcomputer and for self-control, the microcomputer processes the control programs which are stored in the first memory device together with data that might be needed to execute the programs. [0002]
  • For programing/reprograming the controller, an external programing unit is provided and is connected by a serial interface to the controller. The programing unit causes the controller to erase the data and/or control programs stored in the first memory device and then causes a new control program and/or new data to be stored in the first programable memory device. [0003]
  • In conjunction with programing/reprograming the first memory device, i.e., before, during and/or after erasing and/or overwriting the first memory device, the programing/reprograming operation is documented by storing the corresponding information in the second programable memory device. Storing the information during the programing/reprograming operation is preferable because, due to time interleaving of the programing/reprograming of the first memory device and the storage of information in the second memory device, the possibility of reprograming the first memory device without storing information regarding the programing/reprograming operation in the second memory is extremely low. [0004]
  • Various conclusions can be drawn on the basis of the information stored in the second memory device. First, disturbances in programing/reprograming the controller due to a defective external programing unit can be detected rapidly and correctly. Second, unauthorized manipulation of the control program in the first memory device can be detected and sometimes even traced back to the unauthorized manipulator on the basis of the stored information. Detection of an unauthorized manipulation of the controller is important because defects in the controller or in the units of the motor vehicle controlled or regulated by the controller can occur due to a faulty control program or a control program not aimed at error-free operation of the internal combustion engine of the motor vehicle. Unauthorized manipulation of the control program usually makes any warranty or liability claims null and void. [0005]
  • A disadvantage of the method known from the related art is that it cannot readily be used with a traditional controller which has only the first programable memory device. The controller is first expanded by the second programable memory device. In addition, the microcomputer of the controller not only has access to the first memory device but also has access to the second programable memory device. The information regarding the programing/reprograming operation to be stored in the second memory device is also very complex, so the time for programing/reprograming the memory device of the controller is greatly increased. [0006]
  • Furthermore, the second memory device is erased before storing the information. This means that the second memory device can also be erased by any unauthorized person having access to appropriate knowledge and hardware and can be overwritten with new information. Thus, with the method known from the related art, unauthorized manipulation of the control program of the controller cannot be detected reliably. [0007]
  • SUMMARY OF THE INVENTION
  • An object of the present invention is thus to design and improve upon a method such that unauthorized manipulation of the control program in the controller can be detected reliably and easily. [0008]
  • Therefore, the present invention proposes that in conjunction with each programing/reprograming operation of the programable memory device, information regarding the programing/reprograming operation can be stored in a separate memory area of the memory device where only reading and programming are possible, and in order to detect manipulation, the content of the separate memory area is read out and compared with given information. [0009]
  • The method according to the present invention has the advantage that the information regarding the programing/reprograming operation is not stored in a second programable memory device as in the related art but instead is stored within the programable memory device where the control program is also stored. The information is stored within the memory device in a memory area where only reading and programing are possible, i.e., this memory area cannot be erased. This memory area lacks the hardware requirements (e.g., a line for erasing) for erasing it. It is thus impossible to erase this memory area of the programable memory device under any circumstances. [0010]
  • The information regarding the programing/reprograming operation stored in the memory area can be documented. If the motor vehicle then enters a workshop and warranty claims are made or if the memory device of the controller is to be reprogrammed, the content of the separate memory area can be read out and compared with the documented content of the memory area. If the information stored in the separate memory area matches the documented information, then there has not been unauthorized manipulation of the controller. If the information read out of the memory area does not match the documented information, then there has been unauthorized manipulation of the controller. In such a case, warranty claims or liability claims, for example, can be refused. [0011]
  • According to a preferred refinement of the present invention, information regarding the cumulative number of programing/reprograming operations is stored in the memory area of the programable memory device. Thus, with each programing/reprograming operation, the number stored in the separate memory area is incremented. The number of programing/reprograming operations is documented. The number stored in the separate memory area can be read out on demand and compared with the documented number. If the two numbers do not match, there has been an undocumented and therefore unauthorized programing/reprograming operation. According to this refinement, the information stored in the separate memory area is reduced to the minimum amount of data needed to detect unauthorized manipulation of the controller. [0012]
  • According to a preferred embodiment of the present invention, the information regarding the programing/reprograming operation is stored in the separate memory area with each erase operation of the programable memory device. According to this embodiment, it is assumed that the programable memory device is erased before programing/reprograming the control program. The programable memory device is also erased before programing/reprograming the control program if the control program is secured with a seed-and-key method, as is known in the related art for preventing unauthorized manipulation, in addition to the method according to the present invention. The seed-and-key method is described in detail in German Published Patent Application No. 197 23 332, to which reference is herewith made explicitly. [0013]
  • In the seed-and-key method, a reference word is formed and stored by a programmer in conjunction with programing/reprograming the controller as a function of the content of the programable memory area and a key. Before executing the control program, a code word is formed and compared with the reference word inside the controller on the basis of the programable memory area content and the key. If the code word matches the reference word, the control program is executed; otherwise, it is blocked, because the reference word is assumed to be incorrect because the programmer did not know the key and therefore this is a case of unauthorized programing/reprograming. If the content of the programable memory device is not erased before each programing/reprograming, checksum errors may occur in forming the reference word or the code word. [0014]
  • According to another preferred embodiment of the present invention, the information is stored by setting bits in the separate memory area. Thus, for example, it is conceivable for an additional bit to be set in the memory area in conjunction with each programing/reprograming operation to thereby store the cumulative number of programing/reprograming operations. This embodiment is a type of method of storing information regarding the programing/ reprograming operation in the separate memory area that saves on storage space and reduces storage time in particular. [0015]
  • According to another advantageous refinement of the present invention, the information is stored in a one-time-programable (OTP) region of a programable memory device designed in the form of a flash memory. The OTP region involves one or more cells of the flash memory having no line for erasing the content of the flash cells. The flash cells of the OTP region have only lines for programing or reading the content of the flash cells. The flash memory is designed as a flash EPROM, for example. [0016]
  • A flash memory is preferably programmed or reprogrammed with the help of an external programing unit, in particular with the help of a state machine. In a state machine, the sequences of operations for programing/reprograming the programable memory device of a controller are encoded in the hardware. The sequences of operations for storing the information in the memory area are also encoded in the hardware in the state machine. In this way, manipulation of the storage operation of information in the separate memory area can be prevented effectively, and manipulation of the memory device can be reliably detected. [0017]
  • As an alternative, the information from an element of the controller for storing information regarding the programing/reprograming operation is stored in the separate memory area. According to this alternative embodiment, the information is thus stored in the memory area in conjunction with the programing/reprograming operation by a suitable element of the controller. The programing/reprograming of the memory area can take place through an external programing unit, for example, as in the past. The element of the controller has a sequence of operations encoded in the hardware of the controller for example, necessarily causing the information to be stored in the separate memory area with each programing/ reprograming operation of the memory device. [0018]
  • To carry out the method according to the present invention, starting from the external programing unit, the programing unit has an element for carrying out the method according to the present invention. Such an external programing unit is also known as a state machine. A state machine is characterized in that the sequences of operations for programing/ reprograming the control program in the memory device and for storing the information in the separate memory area are encoded in the hardware, and the functionality is written in very high description language (VHDL). VHDL is a hardware description language which writes digital circuits on different levels (behavior, register transfer logic (RTL)). The external programing unit may be connected to the controller over a serial interface, for example, or by a K line and a diagnostic plug. [0019]
  • Finally, starting from a digital controller, to carry out the method according to the present invention, the controller has an element for carrying out the method according to the present invention. The information regarding the programing/reprograming operation is thus not stored in the separate memory area by external devices but instead this information is stored by an internal element which is part of the controller.[0020]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a digital controller for a motor vehicle for carrying out the method according to the present invention as in a preferred embodiment. [0021]
  • FIG. 2 a digital controller for a motor vehicle having an external programing unit for carrying out the method according to the present invention as in a second preferred embodiment.[0022]
  • DETAILED DESCRIPTION
  • The explanations given below relate to a method of detecting manipulation of a programable memory device of a digital controller for a motor vehicle, in particular for controlling the internal combustion engine, the transmission or the brakes of the motor vehicle. FIGS. 1 and 2 show a [0023] digital controller 1 in its entirety. It has a programable memory device 2, where data and control programs for operation of controller 1 and for controlling/regulating certain functions of the motor vehicle can be stored. Controller 1 also has a microcomputer 3 which processes the control programs stored in memory device 2 for execution of the control/ regulatory function allocated to it and for self-control. The control program and the data needed for execution of the control program are transmitted over a data line 4 from memory device 2 to microcomputer 3.
  • [0024] Memory device 2 of controller 1 is programmed/reprogrammed by way of an external programing unit 5 connected to controller 1 over a serial interface, for example. External programing unit 5 is designed as a state machine, characterized in that the sequences of operations for programing/reprograming controller 1 are encoded in the hardware. In the embodiment in FIG. 1, external programing unit 5 is connected to controller 1 by a K line 6 and a diagnostic plug 7. For programing/reprograming of controller 1, the new data and/or the new control program is transmitted to programable memory device 2 over K line 6, microcomputer 3 and data line 4.
  • [0025] Programable memory device 2 is designed as a flash EPROM. A flash EPROM has a separate memory area 8, the one-time-programable (OTP) region. This separate memory area 8 of programable memory device 2 has a plurality of flash cells having no line for erasing the memory content of the flash cells. The flash cells of separate memory area 8 only have lines for programing and for reading the content of the flash cells.
  • According to the present invention, information regarding the programing/reprograming operation is stored in [0026] separate memory area 8 of memory device 2 in conjunction with each programing/reprograming operation of programable memory unit 2. Controller 1 therefore has an element 9 to receive from microcomputer 3 over a line 10 information regarding when memory device 2 is erased or programmed. Element 9 then stores information regarding the programing/reprograming operation in separate memory area 8 following each erase operation and each programing operation of programable memory device 2 over a line 11.
  • Information stored in [0027] memory area 8 preferably includes the cumulative number of programing/reprograming operations of memory device 2. For storing the cumulative number of programing/reprograming operations, a bit is set in separate memory area 8 for each programing/reprograming operation executed.
  • The information regarding the programing/reprograming operation stored in [0028] memory area 8 is documented. When the motor vehicle is taken to a workshop and warranty claims are made or if memory device 2 of controller 1 is to be reprogrammed, the content of separate memory area 8 can be read out and compared with the documented information in memory area 8. If the information stored in separate memory area 8 matches the documented information, there has not been any unauthorized manipulation of controller 1. If the information read out of memory area 8 does not match the documented information, then there has been an unauthorized manipulation of controller 1. In such a case, warranty or liability claims can be refused.
  • Data stored in [0029] memory device 2 is protected against unauthorized manipulation of the control program by a seed-and-key method which is described in detail in German Published Patent Application No. 197 23 332.
  • FIG. 2 illustrates an alternative embodiment for implementation of the method according to the present invention. In contrast with the embodiment according to FIG. 1, external programing unit [0030] 5 in this embodiment is connected to controller 1 via a serial interface 12 and a data line 13. Programing unit 5 has an element 14 by which information regarding the programing/reprograming operation in conjunction with each programing/reprograming operation of programable memory device 2 is stored in separate memory area 8. Element 14 is designed as an electric circuit, for example, causing microcomputer 3 of controller 1 to set certain bits in memory area 8 over line 11 before, during or after the programing/ reprograming operation.

Claims (9)

What is claimed is:
1. A method for detecting a manipulation of a programable memory device of a digital controller for a motor vehicle, comprising the steps of:
storing in the programmable memory device data and control programs for an operation of the digital controller and for a control/regulation of functions of the motor vehicle;
storing information regarding a programing/reprograming operation in a separate memory area of the programmable memory device where only reading and programing are possible, the step of storing information regarding the programming/reprogramming operation being performed in conjunction with each programing/reprograming operation of the programable memory device; and
reading out and comparing a content of the separate memory area with another set of information in order to detect a manipulation.
2. The method according to
claim 1
, further comprising the step of:
storing in the separate memory area information regarding a cumulative number of programing/reprograming operations of the programable memory device.
3. The method according to
claim 1
, further comprising the step of:
storing in the separate memory area the information regarding the programing/reprograming operation with each erase operation of the programable memory device.
4. The method according to
claim 1
, wherein:
the information regarding the programming/reprogramming is stored in the separate memory area by setting bits.
5. The method according to
claim 1
, further comprising the step of:
storing the information regarding the programming/reprogramming in a one-time programable region of the programable memory device, the programmable memory device being arranged as a flash memory.
6. The method according to
claim 1
, further comprising the step of:
storing in the separate memory area information from an external programing unit for programing/reprograming a flash memory.
7. The method according to
claim 1
, further comprising the step of:
storing in the separate memory area information from an arrangement of the digital controller for storing the information regarding the programing/reprograming operation.
8. An external programing unit for at least one of programing and reprograming a flash memory of a digital controller for a motor vehicle, comprising:
an arrangement for storing in the flash memory data and control programs for an operation of the digital controller and for a control/regulation of functions of the motor vehicle;
an arrangement for storing information regarding a programing/reprograming operation in a separate memory area of the programmable memory device where only reading and programing are possible, the storing of the information regarding the programming/reprogramming operation occurring in conjunction with each programing/ reprograming operation of the programable memory device;
an arrangement for reading out and comparing a content of the separate memory area with another set of information in order to detect a manipulation; and
storing in the separate memory area information from an external programing unit for programing/reprograming the flash memory.
9. A digital controller for a motor vehicle, comprising:
a programable memory device for storing data and control programs for an operation of the digital controller and for a control/regulation of functions of the motor vehicle;
an arrangement for storing information regarding a programing/reprograming operation in a separate memory area of the programmable memory device where only reading and programing are possible, the storing of the information regarding the programming/reprogramming operation occurring in conjunction with each programing/ reprograming operation of the programable memory device;
an arrangement for reading out and comparing a content of the separate memory area with another set of information in order to detect a manipulation; and
an arrangement for storing in the separate memory area information from an arrangement of the digital controller for storing the information regarding the programing/ reprograming operation.
US09/749,050 1999-12-28 2000-12-27 Method of detecting manipulation of a programable memory device of a digital controller Abandoned US20010027524A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/414,404 US8140216B2 (en) 1999-12-28 2009-03-30 Method of detecting manipulation of a programmable memory device of a digital controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19963208.1A DE19963208B4 (en) 1999-12-28 1999-12-28 A method of tampering with a programmable memory device of a digital controller
DE19963208.1 1999-12-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/414,404 Continuation US8140216B2 (en) 1999-12-28 2009-03-30 Method of detecting manipulation of a programmable memory device of a digital controller

Publications (1)

Publication Number Publication Date
US20010027524A1 true US20010027524A1 (en) 2001-10-04

Family

ID=7934643

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/749,050 Abandoned US20010027524A1 (en) 1999-12-28 2000-12-27 Method of detecting manipulation of a programable memory device of a digital controller
US12/414,404 Expired - Fee Related US8140216B2 (en) 1999-12-28 2009-03-30 Method of detecting manipulation of a programmable memory device of a digital controller

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/414,404 Expired - Fee Related US8140216B2 (en) 1999-12-28 2009-03-30 Method of detecting manipulation of a programmable memory device of a digital controller

Country Status (3)

Country Link
US (2) US20010027524A1 (en)
JP (1) JP4865126B2 (en)
DE (1) DE19963208B4 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030237028A1 (en) * 2002-06-20 2003-12-25 Nokia Corporation Method and a system for evaluating the reliability of a program in an electronic device, and an electronic device
US20060100749A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Motor vehicle control device
US20060100757A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Method for protecting a motor vehicle component against manipulations in a control device, and control device
US20060265562A1 (en) * 2005-05-19 2006-11-23 Fujitsu Limited Information processing apparatus, information processing method and record medium
US20070087886A1 (en) * 2005-10-18 2007-04-19 Thomas Rosemeier Vehicle with a drive engine arranged in the transverse direction of the vehicle
US7664580B2 (en) 2005-10-19 2010-02-16 Zf Friedrichshafen Ag Method for operating drive train side components of a motor vehicle
US20150324583A1 (en) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Method for operating a control unit
CN105474111A (en) * 2013-08-22 2016-04-06 恩德斯+豪斯流量技术股份有限公司 Electronic device protected against manipulation

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10139610A1 (en) 2001-08-11 2003-03-06 Daimler Chrysler Ag Universal computer architecture
DE10145906A1 (en) * 2001-09-18 2003-04-10 Bosch Gmbh Robert Method for carrying out remote diagnosis in a motor vehicle, vehicle diagnosis module and service center
EP1947535A1 (en) * 2007-01-17 2008-07-23 Siemens Aktiengesellschaft Monitoring the programming of an automation device
WO2011033528A2 (en) 2009-09-15 2011-03-24 Kpit Cummins Infosystems Limited Motor assistance for a hybrid vehicle
MX348341B (en) 2009-09-15 2017-06-06 Kpit Cummins Infosystems Ltd * Motor assistance for a hybrid vehicle based on predicted driving range.
CN102483020B (en) 2009-09-15 2015-03-04 Kpit技术有限责任公司 Method of converting vehicle into hybrid vehicle
WO2011033529A2 (en) 2009-09-15 2011-03-24 Kpit Cummins Infosystems Ltd. Motor assistance for a hybrid vehicle based on user input
DE102017210484A1 (en) * 2017-06-22 2018-12-27 Audi Ag Method for operating a device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
US6044014A (en) * 1998-07-22 2000-03-28 Denso Corporation Electronic control unit and method for storing rewrite count of nonvolatile memory
US6081447A (en) * 1991-09-13 2000-06-27 Western Digital Corporation Wear leveling techniques for flash EEPROM systems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04359320A (en) * 1991-06-05 1992-12-11 Omron Corp Electronic apparatus incorporating prom
US5303163A (en) 1992-08-20 1994-04-12 Cummins Electronics Company Configurable vehicle monitoring system
WO1995002426A1 (en) * 1993-07-13 1995-01-26 Sims Deltec, Inc. Medical pump and method of programming
DE4440127B4 (en) * 1994-11-10 2007-11-08 Robert Bosch Gmbh control unit
EP0727785B1 (en) * 1995-01-23 1997-06-11 International Business Machines Corporation Enhanced self-test of memories
JPH08249285A (en) * 1995-03-14 1996-09-27 Nintendo Co Ltd Information receiver
DE19615105A1 (en) 1996-04-17 1997-10-23 Bosch Gmbh Robert Method for operating a control device with a programmable memory device
US5991673A (en) 1996-12-27 1999-11-23 Lear Automotive Dearborn, Inc. Vehicle anti-theft system including vehicle identification numbers programmed into on-board computers
US5941915A (en) 1997-02-18 1999-08-24 Cummins Engine Company, Inc. System for providing accurately time stamped vehicle operational messages following a real-time clock reset
DE19723332A1 (en) 1997-06-04 1998-09-03 Bosch Gmbh Robert Microprocessor program manipulation protection method
DE69832609D1 (en) * 1998-09-30 2006-01-05 St Microelectronics Srl Emulated EEPROM memory device and corresponding method
US6687325B1 (en) * 1999-06-23 2004-02-03 Intel Corporation Counter with non-uniform digit base
JP2001022650A (en) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp Non-volatile semiconductor storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081447A (en) * 1991-09-13 2000-06-27 Western Digital Corporation Wear leveling techniques for flash EEPROM systems
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
US6044014A (en) * 1998-07-22 2000-03-28 Denso Corporation Electronic control unit and method for storing rewrite count of nonvolatile memory

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065680B2 (en) * 2002-06-20 2006-06-20 Nokia Corporation Method and a system for evaluating the reliability of a program in an electronic device, and an electronic device
US20030237028A1 (en) * 2002-06-20 2003-12-25 Nokia Corporation Method and a system for evaluating the reliability of a program in an electronic device, and an electronic device
US8683233B2 (en) * 2002-08-21 2014-03-25 Audi Ag Motor vehicle control device
US20060100757A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Method for protecting a motor vehicle component against manipulations in a control device, and control device
US8549324B2 (en) * 2002-08-21 2013-10-01 Audi Ag Method for protecting a motor vehicle component against manipulations in a control device and control device
US20060100749A1 (en) * 2002-08-21 2006-05-11 Oliver Feilen Motor vehicle control device
US20060265562A1 (en) * 2005-05-19 2006-11-23 Fujitsu Limited Information processing apparatus, information processing method and record medium
US8176278B2 (en) * 2005-05-19 2012-05-08 Fujitsu Limited Information processing apparatus, information processing method and record medium
US20070087886A1 (en) * 2005-10-18 2007-04-19 Thomas Rosemeier Vehicle with a drive engine arranged in the transverse direction of the vehicle
US7664580B2 (en) 2005-10-19 2010-02-16 Zf Friedrichshafen Ag Method for operating drive train side components of a motor vehicle
CN105474111A (en) * 2013-08-22 2016-04-06 恩德斯+豪斯流量技术股份有限公司 Electronic device protected against manipulation
US20150324583A1 (en) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Method for operating a control unit
CN105892348A (en) * 2014-05-12 2016-08-24 罗伯特·博世有限公司 Method For Operating A Control Unit
US10025954B2 (en) * 2014-05-12 2018-07-17 Robert Bosch Gmbh Method for operating a control unit

Also Published As

Publication number Publication date
JP2001236239A (en) 2001-08-31
DE19963208A1 (en) 2001-07-12
JP4865126B2 (en) 2012-02-01
US20090187305A1 (en) 2009-07-23
US8140216B2 (en) 2012-03-20
DE19963208B4 (en) 2018-07-05

Similar Documents

Publication Publication Date Title
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
US5712969A (en) Method for completely reprogramming an erasable, non-volatile memory
US6598114B2 (en) Electronic control unit including flash memory and method and apparatus for storing control data group into flash memory
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
KR100446032B1 (en) Method for operating a control device having a programmable memory unit
US5991849A (en) Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
US8209078B2 (en) Electronic control unit and vehicle control system
JP4880105B2 (en) Memory function protection method for control device and control device
JP2001236792A (en) Refresh method for fixed value memory, its refresh device, and digital control device
US7263575B2 (en) Electronic control device
KR20000068300A (en) Process for the protection of stored program controls from overwriting
US7207066B2 (en) Method for protecting a microcomputer system against manipulation of data stored in a storage arrangement of the microcomputer system
JP2005338955A (en) Electronic control device
US6973530B2 (en) Method for writing and erasing a non-volatile memory area
US20100083073A1 (en) Data processing apparatus, memory controlling circuit, and memory controlling method
US8380918B2 (en) Non-volatile storage alteration tracking
US7890721B2 (en) Implementation of integrated status of a protection register word in a protection register array
KR19990028277A (en) How Controls Work with Programmable Memory Devices
US10732894B2 (en) Method of writing in a non-volatile memory device and corresponding non-volatile memory device
JPH0793006A (en) Electronic control unit for vehicle
CN117573155B (en) Product information processing method and chip
JP4917198B2 (en) Control device and control device programming method
JP2008052618A (en) Electronic control device
JP3831429B2 (en) Vehicle control device
US20060155916A1 (en) Writing uncorrupted data to electronic memory

Legal Events

Date Code Title Description
AS Assignment

Owner name: ROBERT BOSCH GMBH, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRAUTER, IMMANUEL;MOESSNER, CLAUS;AUE, AXEL;REEL/FRAME:011787/0020;SIGNING DATES FROM 20010213 TO 20010216

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION