US20020194479A1 - Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system - Google Patents

Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system Download PDF

Info

Publication number
US20020194479A1
US20020194479A1 US10/145,299 US14529902A US2002194479A1 US 20020194479 A1 US20020194479 A1 US 20020194479A1 US 14529902 A US14529902 A US 14529902A US 2002194479 A1 US2002194479 A1 US 2002194479A1
Authority
US
United States
Prior art keywords
data
smart card
microcomputer system
additional
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
Application number
US10/145,299
Other versions
US7213267B2 (en
Inventor
Michael Beuten
Klaus Schneider
Ralf Angerbauer
Bernd Illg
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: ANGERBAUER, RALF, ILLG, BERND, SCHNEIDER, KLAUS, BEUTEN, MICHAEL
Publication of US20020194479A1 publication Critical patent/US20020194479A1/en
Application granted granted Critical
Publication of US7213267B2 publication Critical patent/US7213267B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client

Definitions

  • the present invention relates to a method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system.
  • the data is, for example, a program, limiting values, characteristics maps, or parameters, or a serial number of the microcomputer system.
  • the present invention also relates to a storage element for a smart card having a computing device, particularly a microprocessor, and a storage element.
  • Various methods are used to prevent unauthorized manipulation of a control program stored in a control device of a motor vehicle or data stored from this program.
  • the control program controls or regulates specific functions in the motor vehicle, for example an internal combustion engine, a driving dynamics regulator, a stop control system (SCS), or an electronic steering system (steer-by-wire).
  • a defect and/or a change in the mode of operation of the controlled or regulated unit of the motor vehicle may occur due to a manipulation of the control program. Therefore, manipulation of the control program or the data is to be prevented as much as possible, but the manipulation is at least to be detectable afterwards, so that the cause of a defect of a controlled or regulated unit may be established or so that warranty claims may be pursued correctly.
  • Control devices can be protected against manipulation of the control program by asymmetrically encrypting the data in which the control program and the data are stored in a storage assembly of the control device.
  • the asymmetrical encryption method is also referred to as a public key encryption method and is used by BMW AG, whose main office is in Kunststoff, Germany, and by Siemens AG, whose main offices are in Kunststoff and Berlin, Germany, for encrypting or marking a control program stored in a control device of a motor vehicle and/or of data stored therein.
  • a hash value is formed from the control program and/or the data to be marked with the aid of a hash function.
  • a hash value is a type of check-sum of fixed length having special properties which are a function of the hash function used.
  • the hash value is encrypted with the aid of a private key, which is not freely accessible.
  • the encrypted hash value is referred to as a signature.
  • the signature is appended to the program and/or the data to be marked and is transmitted to the motor vehicle control device together with them and stored there in the storage assembly.
  • the signature is decrypted with the aid of a freely accessible public key. In this way, the decrypted hash value is obtained.
  • an additional hash value is determined from the control program and/or data received. Subsequently, it is checked whether the decrypted hash value is identical to the additional hash value. If this is the case, the execution of the control program transmitted and/or the use of the data transmitted is enabled. Otherwise, the execution of the control program and/or the use of the data is blocked.
  • a problem of the conventional method lies in the management of the private key.
  • This key is available to multiple persons at a control device developer or a motor vehicle developer, each user being assigned his own private key. If a private key—for whatever reason—falls into the hands of unauthorized persons, they may misuse the private key for reprogramming a whole series of control devices of the same type, without the control device manufacturer or the motor vehicle manufacturer being capable of preventing this and without the manipulation of the control program and/or the data by unauthorized persons being capable of being recognized afterward. In the conventional method, a compromised private key may not be detected as such and, if necessary, blocked.
  • An object of the present invention is to provide a possibility for minimizing the misuse of private keys which fall into the hands of unauthorized persons.
  • a smart card protected by a personal identification number (PIN), on which a private key and an encryption algorithm for the asymmetrical encryption method are stored may be used for marking or encrypting the data.
  • PIN personal identification number
  • the microcomputer may come into contact with electrical components lying outside the smart card, for example a read/write unit, via contact zones located on the surface of the card.
  • a private key and an encryption algorithm for an asymmetrical encryption method are stored on the smart card. The authorization of a user to use the smart card and to mark or encrypt a program or data is checked using the PIN.
  • the verification in the microcomputer system, e.g., the control device, of the data stored in the storage assembly is performed in a conventional way by decryption of the signature or the encrypted data with the aid of a public key and by comparison of the decrypted signature or the decrypted data with the original data or the original check-sum.
  • the verification of the data in the microcomputer system may be performed before every execution or every use of the data or only at specific times and may be performed for all of the data or only a part of it.
  • the check of the authorization of a user via the PIN is performed on the smart card and/or on electric components connected to the smart card and located outside the smart card, e.g., on a suitable interface.
  • the actual marking or encryption of the data may also be performed on the smart card.
  • the actual marking or encryption of the data is performed on an additional microcomputer system, which may be part of a trust center, located outside the smart card.
  • the authorization of a user is checked using the PIN and, if the authorization of the user has been established, the data to be marked or encrypted is marked or encrypted for storage in the storage assembly with the aid of the private key and the encryption algorithm stored on the smart card.
  • the marked or encrypted data is then transmitted to the storage assembly of the microcomputer system, stored there, and verified to a selectable extent at a selectable time.
  • the marking and/or the encryption of the data is thus performed on the smart card itself. An additional external microcomputer system for marking or encryption is not necessary.
  • the authorization of a user is checked using the PIN and, if the authorization of the user has been established, the data to be marked or encrypted is transmitted to an additional microcomputer system, and the data transmitted is marked or encrypted for storage in the storage assembly with the aid of an additional private key and an additional encryption algorithm stored in the additional microcomputer system.
  • the marked or encrypted data is then transmitted to the storage assembly of the microcomputer system (e.g., control device), stored there, and verified to a selectable extent at a selectable time.
  • the private key stored on the smart card is therefore only used to mark or encrypt the data for the data transmission to the additional microcomputer system.
  • the actual encryption of the data for storage in the storage assembly of the microcomputer system is performed with the aid of the additional private key and the additional encryption algorithm stored in the additional microcomputer system.
  • the additional microcomputer system is, for example, a signature server, which is part of a trust center. An ability to block compromised private keys before the marking or encryption of the data for storage in the storage assembly of the control device may be provided on the signature server. In this way, misuse of private keys which fall into the hands of unauthorized persons may be significantly reduced.
  • the transmission of the data to the additional microcomputer system may be performed either via a local computer network or via any other network, particularly via the Internet.
  • the data to be marked or encrypted for storage in the storage assembly is marked or encrypted for transmission to the additional microcomputer system with the aid of the private key and the encryption algorithm stored on the smart card, the data transmitted is verified to authenticate the private key stored on the smart card, and, if the private key stored on the smart card is successfully authenticated, the data is marked or encrypted for storage in the storage assembly with the aid of the additional private key and the additional encryption algorithm.
  • the signature of the data transmitted is decrypted with the aid of a public key and compared with the data transmitted, and if the decrypted data corresponds to the data transmitted, a successful authentication is established.
  • a check-sum value is determined from the data to be marked using a check-sum function, the check-sum value is encrypted into a signature with the aid of the private key and the encryption algorithm stored on the smart card, the signature is transmitted with the data to the additional microcomputer system, where, to verify marked data, the signature is decrypted with the aid of a public key stored on the additional microcomputer system, an additional checksum value is calculated from the data transmitted using the check-sum function, the decrypted check-sum value is compared with the additional check-sum value, and, if the decrypted check-sum value corresponds to the additional check-sum value, a successful authentication is established.
  • An ID of the user is advantageously transmitted together with the data to the additional microcomputer system and the public key is taken from a user database as a function of the user ID. If no corresponding public key may be taken from the user database for a specific user or if the public key stored in the user database is incorrect, i.e., the marked or encrypted data transmitted to the additional microcomputer system may not be decrypted or may not be decrypted correctly, there may be two reasons for this. Either the user ID is not known, because the person is unauthorized, or the private key used has been blocked. In both cases, it is assumed that an unauthorized attempt is being made to mark or encrypt data and appropriate defensive measures are initiated.
  • an ID of the user is transmitted together with the data to the additional microcomputer system and an authorization of a user to mark or encrypt various data is taken from a project database as a function of the user ID and is correspondingly taken into account during marking or encryption of the data for storage in the storage assembly.
  • the data transmission to and from the additional microcomputer system is performed via the Internet.
  • At least the data transmission to the additional microcomputer system is advantageously performed as electronic mail (e-mail), particularly in accordance with the Simple Mail Transfer Protocol (SMTP) standard.
  • e-mail electronic mail
  • SMTP Simple Mail Transfer Protocol
  • the implementation of the method according to the present invention in the form of a storage element which is provided for a smart card or for a microcomputer system is particularly significant.
  • a computer program is stored on the storage element which is executable on a computing device, particularly on a microprocessor, and which is suitable for carrying out the method according to the present invention.
  • the present invention is thus implemented by a computer program stored on the storage element, so that this storage element provided with the computer program represents the present invention in the same way as the method which the computer program is suitable for performing.
  • An electrical storage medium may particularly be used as the storage element, for example a read-only memory, a random access memory, or a flash memory.
  • the present invention also provides a computer program which is executable on a computing device, particularly on a microprocessor, and which is suitable for carrying out the method according to the present invention when it runs on the computing device. It is particularly advantageous in this case if the computer program is stored on a storage element, particularly on a flash memory.
  • the smart card may be protected by a personal identification number (PIN), and a private key and an encryption algorithm for marking or encrypting data using an asymmetrical encryption method may be stored on the storage element.
  • PIN personal identification number
  • an encryption algorithm for marking or encrypting data using an asymmetrical encryption method may be stored on the storage element.
  • a computer program which is executable on the computing device and which is suitable for carrying out the method according to the present invention is stored on the storage element.
  • a microcomputer system to carry out the method described above may be provided.
  • the microcomputer system may be, for example, a signature server of a trust center. Data to be marked or encrypted is transmitted to the signature server before it is, for example, stored in a control device of a motor vehicle.
  • a private key present in the trust center may be used for marking or encrypting the data.
  • the private key may be assigned by a certification authority of the trust center. For security reasons, the signature server is only connected to the certification authority offline.
  • the means for carrying out the method may be realized using hardware.
  • the means for carrying out the method can also be implemented as a computer program which is stored on the storage element and is executable on the computing device.
  • the microcomputer system includes a safety lock element to a data connection in order to prevent unauthorized access to the microcomputer system via the data connection, every access to the microcomputer system occurring via the safety lock element.
  • the data to be marked or encrypted is, for example, transmitted to the signature server via this safety lock element, so that unauthorized access to the signature server and manipulation of the trust center are almost eliminated.
  • FIG. 1 shows a flow chart of a method according to a first embodiment of the present invention
  • FIG. 2 shows a further flow chart of the method shown in FIG. 1.
  • FIG. 3 shows a flow chart of a method according to a second embodiment of the present invention.
  • FIG. 4 a shows a flow chart of the first part (data transmission) of the method shown in FIG. 3.
  • FIG. 4 b shows a flow chart of a second part (marking) of the method shown in FIG. 3.
  • FIG. 5 shows a trust center having a microcomputer system according to an embodiment of the present invention.
  • FIG. 6 shows a smart card according to an embodiment the present invention.
  • An object of the present invention is to provide a method of protecting a microcomputer system, which is, for example, implemented as a control device of a motor vehicle, against manipulation of data stored in a storage assembly of the microcomputer system.
  • the data is, for example, implemented as a control program, as limiting values, characteristic maps, or parameter values.
  • the data are stored in marked or encrypted form in the storage assembly with the aid of an asymmetrical encryption method. Before the execution or use of the data, it is verified in the control device at specific times and to a specific extent. If the verification fails, the data is blocked.
  • a private key is used to mark or encrypt the data.
  • a public key is used to check the signature of the data or to decrypt the data in the control device.
  • the management and assignment of the key pairs, which include a private and a public key, is a large security problem.
  • the private key must be made available to multiple authorized persons on the part of a control device manufacturer and on the part of a motor vehicle manufacturer in order to be capable of reprogramming a control device as often as desired during its development, production, and testing.
  • a smart card protected by a personal identification number (PIN), on which a private key and an encryption algorithm for the asymmetrical encryption method are stored, is used for marking or encrypting the data.
  • PIN personal identification number
  • FIG. 1 A flow chart of a method according to the present invention according to a first example embodiment is illustrated in FIG. 1.
  • the data is marked and/or encrypted completely in the smart card before it is stored in the storage assembly of the control device.
  • the method begins in a function block 1 .
  • a PIN is input by a user, and subsequently, in a query block 3 , it is checked whether the PIN input is the PIN assigned to the smart card. If the PIN is incorrect, function block 9 is branched to and the method is terminated. After multiple incorrect inputs of the PIN, the smart card is completely blocked.
  • the method is continued in a function block 4 , where the data is marked or encrypted with the aid of the personal key stored in the smart card.
  • the marked or encrypted data is then transmitted to the motor vehicle control device and stored there in a storage assembly.
  • the data stored in the storage assembly is then verified in a function block 6 .
  • the verification of the data is described in more detail below.
  • the verification of the data may be performed at specific times and to any desired extent. It is possible to perform the verification only upon the very first use of the data, always before every use of the data, or at selectable intervals before the use of the data.
  • the data may be verified during use or after use. In the course of the verification, it is possible to verify all or only a part of the data stored in the storage assembly. If only a part of the data is verified, the same part of the data may always be verified or different parts of the data may be verified.
  • a query block 7 it is then checked whether the verification of the data stored in the storage assembly was successful. If not, function block 9 is branched to and the method is terminated. The data is therefore blocked and may not be used. If the verification was successful, the data is released for use in a function block 8 . In this case, the control program may be executed completely normally and the limiting values or parameter values may be used completely normally.
  • FIG. 2 shows a part of the method illustrated in FIG. 1.
  • data 10 to be marked is transmitted to the smart card.
  • a hash value 12 is formed from data 10 with the aid of a hash function.
  • hash value 12 may also be transmitted directly to the smart card.
  • Hash value 12 is encrypted in a function block 13 with the aid of private key 14 stored in the smart card.
  • the encrypted hash value is referred to as a signature 15 .
  • Signature 15 is appended to data 10 , and both are transmitted to the control system of a motor vehicle via a suitable data interface and stored there in the storage assembly.
  • data 10 is separated from signature 15 .
  • Signature 15 is decrypted in a function block 16 with the aid of a public key 17 .
  • the decrypted hash value is indicated using reference number 18 .
  • an additional hash value 20 is determined from data 10 using the same hash function as was also used in function block 11 .
  • a query block 21 it is checked whether decrypted hash value 18 is identical to additional hash value 20 . If this is the case, data 10 is released for use. Otherwise, data 10 is blocked and may not be used.
  • FIG. 3 A flow chart of a second example embodiment of the method according to the present invention is illustrated in FIG. 3.
  • the method differs from the method illustrated in FIGS. 1 and 2 in that the marking or encryption of the data before storage in the storage assembly of the control device is performed not on the smart card, but rather in an additional external microcomputer system, which is, for example, implemented as a signature server of a trust center.
  • the private key and the encryption algorithm stored on the smart card are merely used for marking or encrypting the data for the purpose of secure data transmission from the smart card to the signature server.
  • the method from FIG. 3 begins in a function block 30 .
  • a PIN is input by a user in a function block 31 and it is subsequently checked in a query block 32 whether the PIN input is the PIN assigned to the smart card. If the PIN is incorrect, a function block 42 is branched to and the method is terminated. After multiple incorrect inputs of the PIN, the smart card is completely blocked.
  • the method is continued in a function block 33 , in which the data is marked or encrypted with the aid of the personal key stored in the smart card.
  • the marked or encrypted data is then transmitted to the signature server in a function block 34 .
  • the data transmitted to the signature server is verified in order to check whether the personal key used is OK or compromised. The verification of the data transmitted is described in more detail below.
  • a query block 36 It is then checked in a query block 36 whether the verification of the data transmitted to the signature server was successful. If not, function block 42 is branched to and the method is terminated. The data is therefore not marked or encrypted and stored in the storage assembly of the control device at all. If the verification was successful, the data is marked or encrypted in a function block 37 using an additional private key stored in the signature server. In a function block 38 , the marked or encrypted data is then transmitted to the motor vehicle control device and stored there in the storage assembly.
  • a function block 39 the data stored in the storage assembly is verified.
  • the verification of the data is also described in more detail below.
  • the verification of the data may be performed at specific times and to any desired extent.
  • a query block 40 it is then checked whether the verification of the data stored in the storage assembly was successful. If not, function block 42 is branched to and the method is terminated. The data is therefore blocked and may not be used. If the verification was successful, the data is released for use in a function block 41 . In this case, the control program may be executed completely normally and the limiting values or parameter values may be used completely normally.
  • FIG. 4 a shows a first part of the method illustrated in FIG. 3.
  • data 10 to be marked is transmitted to the smart card.
  • a hash value 12 is formed from data 10 with the aid of a hash function.
  • hash value 12 may also be transmitted directly to the smart card.
  • Hash value 12 is encrypted in a function block 13 with the aid of private key 14 stored on the smart card.
  • the encrypted hash value is referred to as a signature 15 .
  • Signature 15 is appended to data 10 and both are transmitted via Internet 50 to the signature server of a trust center.
  • an ID of a user of the smart card is transmitted to the signature server.
  • signature server data 10 is separated from signature 15 .
  • Signature 15 is decrypted in a function block 51 with the aid of a public key 52 stored in the signature server.
  • the decrypted hash value is indicated using reference number 53 .
  • Public key 52 is selected from a user database with reference to the user ID.
  • an additional hash value 55 is determined from data 10 using the same hash function as was also used in function block 11 .
  • query block 56 it is checked whether decrypted hash value 53 is identical to additional hash value 55 . This is not the case if no public key 52 or an incorrect public key 52 is stored in the user database for a transmitted user ID.
  • FIG. 4 b The actual marking of the data in the signature server, before the data is stored in the storage assembly of the control device, is illustrated in FIG. 4 b .
  • an additional hash value 58 is formed from data 10 with the aid of an additional hash function.
  • Additional hash value 58 is encrypted in a function block 59 with the aid of a private key 60 present in the signature server.
  • the encrypted hash value is referred to as a signature 61 .
  • Signature 61 is appended to data 10 , and both are transmitted via a suitable data interface to the control system of a motor vehicle and stored there in the storage assembly.
  • data 10 is separated from signature 61 .
  • Signature 61 is decrypted in a function block 16 with the aid of a public key 17 .
  • the decrypted hash value is indicated using reference number 18 .
  • an additional hash value 20 is determined from data 10 using the same hash function as was also used in function block 57 .
  • a query block 21 it is checked whether decrypted hash value 18 is identical to additional hash value 20 . If this is the case, data 10 is released for use. Otherwise, data 10 is blocked and may not be used.
  • hash value 12 may also simply be included in a request e-mail and the e-mail marked with the aid of private key 14 stored on the smart card.
  • the e-mail is transmitted via Internet 50 to the signature server, where the signature of the e-mail is checked.
  • Encrypted hash value 61 may then be appended to data 10 again in the control device.
  • a trust center having a signature server 70 is referred to as a whole using reference number 71 .
  • Signature server 70 is connected via Internet 50 to a microcomputer 72 , to which a smart card 74 is connected via a suitable interface 73 .
  • Smart card 74 is described in more detail in the following with reference to FIG. 6.
  • Microcomputer 72 is, for example, implemented as a personal computer (PC).
  • Data 10 for example, a new control program for a motor vehicle control device 75 , which are to be stored marked or encrypted in a storage assembly 76 of control device 75 , is stored on microcomputer 72 .
  • a computing device, particularly a microprocessor, of control device 75 is indicated using reference number 77 .
  • the authorization of a user is checked via inputting and checking a PIN as marked to smart card 74 . If the user is authorized, new control program 10 is marked or encrypted for data transmission to signature server 70 with the aid of a private key 14 and an encryption algorithm stored on smart card 74 . The marked or encrypted control program is transmitted, together with a user ID, to signature server 70 via Internet 50 .
  • a firewall 78 through which unauthorized access to signature server 70 from Internet 50 is to be prevented, is positioned between Internet 50 and signature server 70 for security reasons.
  • the data transmission is performed, for example, in the form of electronic mail, particularly in the form of an e-mail in accordance with the Simple Mail Transfer Protocol (SMTP) standard.
  • SMTP Simple Mail Transfer Protocol
  • the control program received is verified on signature server 70 using a public key 52 .
  • Public key 52 is taken from a user database 79 as a function of the user ID. If a user has lost his smart card 74 , public key 52 assigned to this user in user database 79 , which matches private key 14 stored on lost smart card 74 , may be erased immediately. If a new public key 52 , which matches a new private key 14 stored on a new smart card 74 , is subsequently stored for this user in user database 79 , this new public key 52 is used for verification and leads to an error message for data which is still marked and/or encrypted using old private key 14 . Therefore, as soon as the loss of a smart card 74 , and therefore also the loss of a private key 14 , is noted in user database 79 , data which was marked or encrypted using this private key 14 is no longer accepted by signature server 70 .
  • the authorizations of individual users are stored in a project database 80 .
  • project database 80 it is checked as a function of the user ID transmitted whether a user is authorized for the marking or encryption of the control program requested.
  • User database 79 and project database 80 may also be combined into a joint database.
  • control program transmitted to signature server 70 was successfully verified and the user is authorized to mark or verify the control program, the control program transmitted is marked or encrypted using a private key 60 present in signature server 70 .
  • Private key 60 is generated inside trust center 71 by a certification authority 81 and may be transmitted to signature server 70 offline.
  • the marked and/or encrypted control program is then transmitted again via Internet 50 and also possibly via firewall 78 to microcomputer 72 . From there, the marked or encrypted control program is then transmitted to control device 75 and stored in storage assembly 76 .
  • Signature server 70 includes a complete microcomputer having a computing device implemented as a microprocessor 82 and a storage element 83 .
  • Private key 60 and an encryption algorithm for an asymmetrical encryption method exist in read and write protected form on storage element 83 of signature server 70 .
  • trust center 71 There may also be multiple signature servers 70 in trust center 71 , which are assigned, for example, to various companies. There may also be multiple user databases 79 and/or project databases 80 in trust center 71 .
  • smart card 74 is shown in detail.
  • Smart card 74 is manufactured from plastic and includes a complete microcomputer having a computing device implemented as a microprocessor 90 and a storage element 91 .
  • the entire microcomputer is embedded so it terminates flush with the surface of smart card 74 .
  • Microprocessor 90 may come into contact with electric components lying outside smart card 74 , for example, a read/write unit (not shown), via contact zones 92 positioned on the surface of smart card 74 .
  • Private key 14 and an encryption algorithm for an asymmetrical encryption method are stored in read and write protected form on storage element 91 of smart card 74 .
  • a computer program which is executable on microprocessor 90 and is suitable for carrying out the parts of the method according to the present invention indicated in FIGS. 2, 4 a , and 4 b with “smart card”, is stored on storage element 91 .

Abstract

A method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system, particularly for protecting a program stored in the storage assembly, is described. In the method, the data is stored in marked or encrypted form in the storage assembly with the aid of an asymmetrical encryption method. In order to minimize the misuse of private keys which fall into the hands of unauthorized persons, a smart card protected by a personal identification number, on which the private key and an encryption algorithm for the asymmetrical encryption method are stored, is used for marking or encrypting the data.

Description

    FIELD OF THE INVENTION
  • The present invention relates to a method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system. The data is, for example, a program, limiting values, characteristics maps, or parameters, or a serial number of the microcomputer system. The present invention also relates to a storage element for a smart card having a computing device, particularly a microprocessor, and a storage element. [0001]
  • BACKGROUND INFORMATION
  • Various methods are used to prevent unauthorized manipulation of a control program stored in a control device of a motor vehicle or data stored from this program. The control program controls or regulates specific functions in the motor vehicle, for example an internal combustion engine, a driving dynamics regulator, a stop control system (SCS), or an electronic steering system (steer-by-wire). A defect and/or a change in the mode of operation of the controlled or regulated unit of the motor vehicle may occur due to a manipulation of the control program. Therefore, manipulation of the control program or the data is to be prevented as much as possible, but the manipulation is at least to be detectable afterwards, so that the cause of a defect of a controlled or regulated unit may be established or so that warranty claims may be pursued correctly. [0002]
  • In spite of the danger of manipulation of the control program or the data by unauthorized persons, it is usually not advisable to prevent access to the storage assembly of the control device completely. In order to, for example, perform reprogramming of the control device, it must be possible for an authorized user group to access the storage assembly. Specifically, it may be necessary from time to time to store a new version of a control program or new parameters or limiting values in the control device in order to, for example, remove errors in the software or to take new legal requirements into account. [0003]
  • Control devices can be protected against manipulation of the control program by asymmetrically encrypting the data in which the control program and the data are stored in a storage assembly of the control device. The asymmetrical encryption method is also referred to as a public key encryption method and is used by BMW AG, whose main office is in Munich, Germany, and by Siemens AG, whose main offices are in Munich and Berlin, Germany, for encrypting or marking a control program stored in a control device of a motor vehicle and/or of data stored therein. [0004]
  • In the conventional asymmetric encryption method, a hash value is formed from the control program and/or the data to be marked with the aid of a hash function. A hash value is a type of check-sum of fixed length having special properties which are a function of the hash function used. The hash value is encrypted with the aid of a private key, which is not freely accessible. The encrypted hash value is referred to as a signature. The signature is appended to the program and/or the data to be marked and is transmitted to the motor vehicle control device together with them and stored there in the storage assembly. [0005]
  • In the control device, the signature is decrypted with the aid of a freely accessible public key. In this way, the decrypted hash value is obtained. In addition, with the aid of the same hash function which was also used in the course of encryption to obtain the hash value, an additional hash value is determined from the control program and/or data received. Subsequently, it is checked whether the decrypted hash value is identical to the additional hash value. If this is the case, the execution of the control program transmitted and/or the use of the data transmitted is enabled. Otherwise, the execution of the control program and/or the use of the data is blocked. [0006]
  • A problem of the conventional method lies in the management of the private key. This key is available to multiple persons at a control device developer or a motor vehicle developer, each user being assigned his own private key. If a private key—for whatever reason—falls into the hands of unauthorized persons, they may misuse the private key for reprogramming a whole series of control devices of the same type, without the control device manufacturer or the motor vehicle manufacturer being capable of preventing this and without the manipulation of the control program and/or the data by unauthorized persons being capable of being recognized afterward. In the conventional method, a compromised private key may not be detected as such and, if necessary, blocked. [0007]
  • SUMMARY
  • An object of the present invention is to provide a possibility for minimizing the misuse of private keys which fall into the hands of unauthorized persons. [0008]
  • According to an example embodiment of the present invention, a smart card protected by a personal identification number (PIN), on which a private key and an encryption algorithm for the asymmetrical encryption method are stored, may be used for marking or encrypting the data. [0009]
  • A card manufactured from plastic, into which a complete microcomputer having a computing device, particularly a microprocessor, and a storage element are embedded so that they terminate flush with the surface of the card, is typically referred to as a smart card. The microcomputer may come into contact with electrical components lying outside the smart card, for example a read/write unit, via contact zones located on the surface of the card. A private key and an encryption algorithm for an asymmetrical encryption method are stored on the smart card. The authorization of a user to use the smart card and to mark or encrypt a program or data is checked using the PIN. [0010]
  • The verification in the microcomputer system, e.g., the control device, of the data stored in the storage assembly is performed in a conventional way by decryption of the signature or the encrypted data with the aid of a public key and by comparison of the decrypted signature or the decrypted data with the original data or the original check-sum. The verification of the data in the microcomputer system may be performed before every execution or every use of the data or only at specific times and may be performed for all of the data or only a part of it. [0011]
  • Through the use of a PIN-protected smart card according to the present invention, the misuse of a private key which falls into the hands of an unauthorized person may be greatly restricted. Specifically, to manipulate a program and/or data, the unauthorized person must be in possession of not only the smart card for the private key, but also the PIN for checking the authorization of the user. The use of the private key is therefore additionally ensured by checking the authorization of the user via the PIN. [0012]
  • Two advantageous embodiments of the present invention are described in detail below. In both embodiments, the check of the authorization of a user via the PIN is performed on the smart card and/or on electric components connected to the smart card and located outside the smart card, e.g., on a suitable interface. According to a first embodiment of the present invention, the actual marking or encryption of the data may also be performed on the smart card. According to a second embodiment of the present invention, the actual marking or encryption of the data is performed on an additional microcomputer system, which may be part of a trust center, located outside the smart card. [0013]
  • According to the first embodiment of the present invention, the authorization of a user is checked using the PIN and, if the authorization of the user has been established, the data to be marked or encrypted is marked or encrypted for storage in the storage assembly with the aid of the private key and the encryption algorithm stored on the smart card. The marked or encrypted data is then transmitted to the storage assembly of the microcomputer system, stored there, and verified to a selectable extent at a selectable time. According to this embodiment, the marking and/or the encryption of the data is thus performed on the smart card itself. An additional external microcomputer system for marking or encryption is not necessary. [0014]
  • According to a second embodiment of the present invention, the authorization of a user is checked using the PIN and, if the authorization of the user has been established, the data to be marked or encrypted is transmitted to an additional microcomputer system, and the data transmitted is marked or encrypted for storage in the storage assembly with the aid of an additional private key and an additional encryption algorithm stored in the additional microcomputer system. The marked or encrypted data is then transmitted to the storage assembly of the microcomputer system (e.g., control device), stored there, and verified to a selectable extent at a selectable time. According to this embodiment, the private key stored on the smart card is therefore only used to mark or encrypt the data for the data transmission to the additional microcomputer system. The actual encryption of the data for storage in the storage assembly of the microcomputer system (e.g., control device) is performed with the aid of the additional private key and the additional encryption algorithm stored in the additional microcomputer system. The additional microcomputer system is, for example, a signature server, which is part of a trust center. An ability to block compromised private keys before the marking or encryption of the data for storage in the storage assembly of the control device may be provided on the signature server. In this way, misuse of private keys which fall into the hands of unauthorized persons may be significantly reduced. The transmission of the data to the additional microcomputer system may be performed either via a local computer network or via any other network, particularly via the Internet. [0015]
  • According to a refinement of the present invention, the data to be marked or encrypted for storage in the storage assembly is marked or encrypted for transmission to the additional microcomputer system with the aid of the private key and the encryption algorithm stored on the smart card, the data transmitted is verified to authenticate the private key stored on the smart card, and, if the private key stored on the smart card is successfully authenticated, the data is marked or encrypted for storage in the storage assembly with the aid of the additional private key and the additional encryption algorithm. [0016]
  • According to a further embodiment of the present invention, to verify marked data, the signature of the data transmitted is decrypted with the aid of a public key and compared with the data transmitted, and if the decrypted data corresponds to the data transmitted, a successful authentication is established. [0017]
  • Furthermore, to mark data, a check-sum value is determined from the data to be marked using a check-sum function, the check-sum value is encrypted into a signature with the aid of the private key and the encryption algorithm stored on the smart card, the signature is transmitted with the data to the additional microcomputer system, where, to verify marked data, the signature is decrypted with the aid of a public key stored on the additional microcomputer system, an additional checksum value is calculated from the data transmitted using the check-sum function, the decrypted check-sum value is compared with the additional check-sum value, and, if the decrypted check-sum value corresponds to the additional check-sum value, a successful authentication is established. [0018]
  • An ID of the user is advantageously transmitted together with the data to the additional microcomputer system and the public key is taken from a user database as a function of the user ID. If no corresponding public key may be taken from the user database for a specific user or if the public key stored in the user database is incorrect, i.e., the marked or encrypted data transmitted to the additional microcomputer system may not be decrypted or may not be decrypted correctly, there may be two reasons for this. Either the user ID is not known, because the person is unauthorized, or the private key used has been blocked. In both cases, it is assumed that an unauthorized attempt is being made to mark or encrypt data and appropriate defensive measures are initiated. [0019]
  • According to another advantageous refinement of the present invention, an ID of the user is transmitted together with the data to the additional microcomputer system and an authorization of a user to mark or encrypt various data is taken from a project database as a function of the user ID and is correspondingly taken into account during marking or encryption of the data for storage in the storage assembly. [0020]
  • According to another embodiment of the present invention, the data transmission to and from the additional microcomputer system is performed via the Internet. At least the data transmission to the additional microcomputer system is advantageously performed as electronic mail (e-mail), particularly in accordance with the Simple Mail Transfer Protocol (SMTP) standard. [0021]
  • The marking or encryption of the data is logged and the log is stored. In this way, it is possible afterwards to identify the user who had specific data marked or encrypted at a specific time. This allows further reduction of the misuse of compromised private keys. [0022]
  • The implementation of the method according to the present invention in the form of a storage element which is provided for a smart card or for a microcomputer system is particularly significant. A computer program is stored on the storage element which is executable on a computing device, particularly on a microprocessor, and which is suitable for carrying out the method according to the present invention. In this case, the present invention is thus implemented by a computer program stored on the storage element, so that this storage element provided with the computer program represents the present invention in the same way as the method which the computer program is suitable for performing. An electrical storage medium may particularly be used as the storage element, for example a read-only memory, a random access memory, or a flash memory. [0023]
  • The present invention also provides a computer program which is executable on a computing device, particularly on a microprocessor, and which is suitable for carrying out the method according to the present invention when it runs on the computing device. It is particularly advantageous in this case if the computer program is stored on a storage element, particularly on a flash memory. [0024]
  • According to an example embodiment of the present invention, the smart card may be protected by a personal identification number (PIN), and a private key and an encryption algorithm for marking or encrypting data using an asymmetrical encryption method may be stored on the storage element. [0025]
  • According to an advantageous refinement of the present invention, a computer program which is executable on the computing device and which is suitable for carrying out the method according to the present invention is stored on the storage element. [0026]
  • In another example embodiment of the present invention, a microcomputer system to carry out the method described above may be provided. The microcomputer system may be, for example, a signature server of a trust center. Data to be marked or encrypted is transmitted to the signature server before it is, for example, stored in a control device of a motor vehicle. A private key present in the trust center may be used for marking or encrypting the data. The private key may be assigned by a certification authority of the trust center. For security reasons, the signature server is only connected to the certification authority offline. The means for carrying out the method may be realized using hardware. [0027]
  • According to an advantageous refinement of the present invention, the means for carrying out the method can also be implemented as a computer program which is stored on the storage element and is executable on the computing device. [0028]
  • According to another embodiment of the present invention, the microcomputer system includes a safety lock element to a data connection in order to prevent unauthorized access to the microcomputer system via the data connection, every access to the microcomputer system occurring via the safety lock element. The data to be marked or encrypted is, for example, transmitted to the signature server via this safety lock element, so that unauthorized access to the signature server and manipulation of the trust center are almost eliminated.[0029]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a flow chart of a method according to a first embodiment of the present invention; [0030]
  • FIG. 2 shows a further flow chart of the method shown in FIG. 1. [0031]
  • FIG. 3 shows a flow chart of a method according to a second embodiment of the present invention. [0032]
  • FIG. 4[0033] a shows a flow chart of the first part (data transmission) of the method shown in FIG. 3.
  • FIG. 4[0034] b shows a flow chart of a second part (marking) of the method shown in FIG. 3.
  • FIG. 5 shows a trust center having a microcomputer system according to an embodiment of the present invention. [0035]
  • FIG. 6 shows a smart card according to an embodiment the present invention.[0036]
  • DETAILED DESCRIPTION
  • An object of the present invention is to provide a method of protecting a microcomputer system, which is, for example, implemented as a control device of a motor vehicle, against manipulation of data stored in a storage assembly of the microcomputer system. The data is, for example, implemented as a control program, as limiting values, characteristic maps, or parameter values. In the method, the data are stored in marked or encrypted form in the storage assembly with the aid of an asymmetrical encryption method. Before the execution or use of the data, it is verified in the control device at specific times and to a specific extent. If the verification fails, the data is blocked. [0037]
  • A private key is used to mark or encrypt the data. A public key is used to check the signature of the data or to decrypt the data in the control device. The management and assignment of the key pairs, which include a private and a public key, is a large security problem. The private key must be made available to multiple authorized persons on the part of a control device manufacturer and on the part of a motor vehicle manufacturer in order to be capable of reprogramming a control device as often as desired during its development, production, and testing. In order to minimize the misuse of private keys which fall into the hands of unauthorized persons, a smart card protected by a personal identification number (PIN), on which a private key and an encryption algorithm for the asymmetrical encryption method are stored, is used for marking or encrypting the data. [0038]
  • A flow chart of a method according to the present invention according to a first example embodiment is illustrated in FIG. 1. In the first embodiment, the data is marked and/or encrypted completely in the smart card before it is stored in the storage assembly of the control device. The method begins in a [0039] function block 1. In a function block 2, a PIN is input by a user, and subsequently, in a query block 3, it is checked whether the PIN input is the PIN assigned to the smart card. If the PIN is incorrect, function block 9 is branched to and the method is terminated. After multiple incorrect inputs of the PIN, the smart card is completely blocked.
  • Otherwise, the method is continued in a [0040] function block 4, where the data is marked or encrypted with the aid of the personal key stored in the smart card. In a function block 5, the marked or encrypted data is then transmitted to the motor vehicle control device and stored there in a storage assembly.
  • The data stored in the storage assembly is then verified in a [0041] function block 6. The verification of the data is described in more detail below. The verification of the data may be performed at specific times and to any desired extent. It is possible to perform the verification only upon the very first use of the data, always before every use of the data, or at selectable intervals before the use of the data. In addition, the data may be verified during use or after use. In the course of the verification, it is possible to verify all or only a part of the data stored in the storage assembly. If only a part of the data is verified, the same part of the data may always be verified or different parts of the data may be verified.
  • In a [0042] query block 7, it is then checked whether the verification of the data stored in the storage assembly was successful. If not, function block 9 is branched to and the method is terminated. The data is therefore blocked and may not be used. If the verification was successful, the data is released for use in a function block 8. In this case, the control program may be executed completely normally and the limiting values or parameter values may be used completely normally.
  • FIG. 2 shows a part of the method illustrated in FIG. 1. After a successful PIN query, [0043] data 10 to be marked is transmitted to the smart card. In a function block 11, a hash value 12 is formed from data 10 with the aid of a hash function. Alternatively, hash value 12 may also be transmitted directly to the smart card. Hash value 12 is encrypted in a function block 13 with the aid of private key 14 stored in the smart card. The encrypted hash value is referred to as a signature 15. Signature 15 is appended to data 10, and both are transmitted to the control system of a motor vehicle via a suitable data interface and stored there in the storage assembly.
  • In the control device, [0044] data 10 is separated from signature 15. Signature 15 is decrypted in a function block 16 with the aid of a public key 17. The decrypted hash value is indicated using reference number 18. In a function block 19, an additional hash value 20 is determined from data 10 using the same hash function as was also used in function block 11. In a query block 21 it is checked whether decrypted hash value 18 is identical to additional hash value 20. If this is the case, data 10 is released for use. Otherwise, data 10 is blocked and may not be used.
  • A flow chart of a second example embodiment of the method according to the present invention is illustrated in FIG. 3. The method differs from the method illustrated in FIGS. 1 and 2 in that the marking or encryption of the data before storage in the storage assembly of the control device is performed not on the smart card, but rather in an additional external microcomputer system, which is, for example, implemented as a signature server of a trust center. The private key and the encryption algorithm stored on the smart card are merely used for marking or encrypting the data for the purpose of secure data transmission from the smart card to the signature server. [0045]
  • The method from FIG. 3 begins in a [0046] function block 30. A PIN is input by a user in a function block 31 and it is subsequently checked in a query block 32 whether the PIN input is the PIN assigned to the smart card. If the PIN is incorrect, a function block 42 is branched to and the method is terminated. After multiple incorrect inputs of the PIN, the smart card is completely blocked.
  • Otherwise, the method is continued in a [0047] function block 33, in which the data is marked or encrypted with the aid of the personal key stored in the smart card. The marked or encrypted data is then transmitted to the signature server in a function block 34. In a function block 35, the data transmitted to the signature server is verified in order to check whether the personal key used is OK or compromised. The verification of the data transmitted is described in more detail below.
  • It is then checked in a [0048] query block 36 whether the verification of the data transmitted to the signature server was successful. If not, function block 42 is branched to and the method is terminated. The data is therefore not marked or encrypted and stored in the storage assembly of the control device at all. If the verification was successful, the data is marked or encrypted in a function block 37 using an additional private key stored in the signature server. In a function block 38, the marked or encrypted data is then transmitted to the motor vehicle control device and stored there in the storage assembly.
  • In a [0049] function block 39, the data stored in the storage assembly is verified. The verification of the data is also described in more detail below. The verification of the data may be performed at specific times and to any desired extent. In a query block 40, it is then checked whether the verification of the data stored in the storage assembly was successful. If not, function block 42 is branched to and the method is terminated. The data is therefore blocked and may not be used. If the verification was successful, the data is released for use in a function block 41. In this case, the control program may be executed completely normally and the limiting values or parameter values may be used completely normally.
  • FIG. 4[0050] a shows a first part of the method illustrated in FIG. 3. After a successful PIN query, data 10 to be marked is transmitted to the smart card. In a function block 11, a hash value 12 is formed from data 10 with the aid of a hash function. Alternatively, hash value 12 may also be transmitted directly to the smart card. Hash value 12 is encrypted in a function block 13 with the aid of private key 14 stored on the smart card. The encrypted hash value is referred to as a signature 15. Signature 15 is appended to data 10 and both are transmitted via Internet 50 to the signature server of a trust center. In addition, an ID of a user of the smart card is transmitted to the signature server.
  • In the signature server, [0051] data 10 is separated from signature 15. Signature 15 is decrypted in a function block 51 with the aid of a public key 52 stored in the signature server. The decrypted hash value is indicated using reference number 53. Public key 52 is selected from a user database with reference to the user ID. In a function block 54, an additional hash value 55 is determined from data 10 using the same hash function as was also used in function block 11. In a query block 56 it is checked whether decrypted hash value 53 is identical to additional hash value 55. This is not the case if no public key 52 or an incorrect public key 52 is stored in the user database for a transmitted user ID. In this case, the method is terminated and data 10 is neither marked nor encrypted nor stored in the storage assembly of the control device. If, however, decrypted hash value 53 is identical to established hash value 55, it is assumed that private key 14 is correct. The method is continued in FIG. 4b.
  • The actual marking of the data in the signature server, before the data is stored in the storage assembly of the control device, is illustrated in FIG. 4[0052] b. In a function block 57, an additional hash value 58 is formed from data 10 with the aid of an additional hash function. Additional hash value 58 is encrypted in a function block 59 with the aid of a private key 60 present in the signature server. The encrypted hash value is referred to as a signature 61. Signature 61 is appended to data 10, and both are transmitted via a suitable data interface to the control system of a motor vehicle and stored there in the storage assembly.
  • In the control device, [0053] data 10 is separated from signature 61. Signature 61 is decrypted in a function block 16 with the aid of a public key 17. The decrypted hash value is indicated using reference number 18. In a function block 19, an additional hash value 20 is determined from data 10 using the same hash function as was also used in function block 57. In a query block 21 it is checked whether decrypted hash value 18 is identical to additional hash value 20. If this is the case, data 10 is released for use. Otherwise, data 10 is blocked and may not be used.
  • As an alternative to the method illustrated in FIGS. 4[0054] a and 4 b, hash value 12 may also simply be included in a request e-mail and the e-mail marked with the aid of private key 14 stored on the smart card. The e-mail is transmitted via Internet 50 to the signature server, where the signature of the e-mail is checked. Encrypted hash value 61 may then be appended to data 10 again in the control device.
  • In FIG. 5, a trust center having a [0055] signature server 70 according to an embodiment of the present invention is referred to as a whole using reference number 71. Signature server 70 is connected via Internet 50 to a microcomputer 72, to which a smart card 74 is connected via a suitable interface 73. Smart card 74 is described in more detail in the following with reference to FIG. 6. Microcomputer 72 is, for example, implemented as a personal computer (PC). Data 10, for example, a new control program for a motor vehicle control device 75, which are to be stored marked or encrypted in a storage assembly 76 of control device 75, is stored on microcomputer 72. A computing device, particularly a microprocessor, of control device 75 is indicated using reference number 77.
  • First, the authorization of a user is checked via inputting and checking a PIN as marked to [0056] smart card 74. If the user is authorized, new control program 10 is marked or encrypted for data transmission to signature server 70 with the aid of a private key 14 and an encryption algorithm stored on smart card 74. The marked or encrypted control program is transmitted, together with a user ID, to signature server 70 via Internet 50. A firewall 78, through which unauthorized access to signature server 70 from Internet 50 is to be prevented, is positioned between Internet 50 and signature server 70 for security reasons. The data transmission is performed, for example, in the form of electronic mail, particularly in the form of an e-mail in accordance with the Simple Mail Transfer Protocol (SMTP) standard.
  • The control program received is verified on [0057] signature server 70 using a public key 52. Public key 52 is taken from a user database 79 as a function of the user ID. If a user has lost his smart card 74, public key 52 assigned to this user in user database 79, which matches private key 14 stored on lost smart card 74, may be erased immediately. If a new public key 52, which matches a new private key 14 stored on a new smart card 74, is subsequently stored for this user in user database 79, this new public key 52 is used for verification and leads to an error message for data which is still marked and/or encrypted using old private key 14. Therefore, as soon as the loss of a smart card 74, and therefore also the loss of a private key 14, is noted in user database 79, data which was marked or encrypted using this private key 14 is no longer accepted by signature server 70.
  • The authorizations of individual users are stored in a [0058] project database 80. Using project database 80, it is checked as a function of the user ID transmitted whether a user is authorized for the marking or encryption of the control program requested. User database 79 and project database 80 may also be combined into a joint database.
  • If the control program transmitted to [0059] signature server 70 was successfully verified and the user is authorized to mark or verify the control program, the control program transmitted is marked or encrypted using a private key 60 present in signature server 70. Private key 60 is generated inside trust center 71 by a certification authority 81 and may be transmitted to signature server 70 offline. The marked and/or encrypted control program is then transmitted again via Internet 50 and also possibly via firewall 78 to microcomputer 72. From there, the marked or encrypted control program is then transmitted to control device 75 and stored in storage assembly 76.
  • [0060] Signature server 70 includes a complete microcomputer having a computing device implemented as a microprocessor 82 and a storage element 83. Private key 60 and an encryption algorithm for an asymmetrical encryption method exist in read and write protected form on storage element 83 of signature server 70. A computer program, which is executable on microprocessor 82 and is suitable for carrying out the parts of the method according to the present invention indicated in FIGS. 4a and 4 b with “signature server”, is also stored on storage element 83.
  • There may also be [0061] multiple signature servers 70 in trust center 71, which are assigned, for example, to various companies. There may also be multiple user databases 79 and/or project databases 80 in trust center 71.
  • In FIG. 6, [0062] smart card 74 is shown in detail. Smart card 74 is manufactured from plastic and includes a complete microcomputer having a computing device implemented as a microprocessor 90 and a storage element 91. The entire microcomputer is embedded so it terminates flush with the surface of smart card 74. Microprocessor 90 may come into contact with electric components lying outside smart card 74, for example, a read/write unit (not shown), via contact zones 92 positioned on the surface of smart card 74.
  • [0063] Private key 14 and an encryption algorithm for an asymmetrical encryption method are stored in read and write protected form on storage element 91 of smart card 74. In addition, a computer program, which is executable on microprocessor 90 and is suitable for carrying out the parts of the method according to the present invention indicated in FIGS. 2, 4a, and 4 b with “smart card”, is stored on storage element 91.

Claims (24)

What is claimed is:
1. A method of protecting a microcomputer system against manipulation of data stored in the storage assembly of the microcomputer system, comprising:
providing a smart card protected by a personal identification number (PIN);
storing a private key and an encryption algorithm for an asymmetrical encryption method on the smart card; and
encrypting or marking the data using the asymmetrical encryption method stored on the smart card.
2. The method of claim 1, wherein the data includes a program stored in the storage assembly.
3. The method of claim 1, further comprising:
checking an authorization of a user using the PIN; and
if the authorization of the user is established, encrypting or marking the data for storage in the storage assembly using the private key and the encryption algorithm stored on the smart card.
4. The method of claim 1, further comprising:
checking an authorization of a user using the PIN;
if the authorization of the user is established, transmitting the data to an additional microcomputer system; and
encrypting or marking the transmitted data for storage in the storage assembly using an additional private key and an additional encryption algorithm, the additional private key and the additional encryption algorithm being stored in the additional microcomputer system.
5. The method of claim 4, further comprising:
encrypting or marking the data for transmission to the additional microcomputer system using the private key and the encryption algorithm stored on the smart card;
verifying the transmitted data to authenticate the private key stored on the smart card; and
if the private key stored on the smart card is authenticated, encrypting or marking the data for storage in the storage assembly using the additional private key and the additional encryption algorithm.
6. The method of claim 5, wherein the verifying step includes:
decrypting a signature of the transmitted data using a public key; and
comparing the decrypted signature to the transmitted data, verification occurring if the decrypted signature corresponds to the transmitted data.
7. The method of claim 6, further comprising:
determining a check-sum value from the data using a check-sum function;
encrypting or marking the check-sum value into the signature using the private key and the encryption algorithm stored on the smart card;
transmitting the signature with the data to the additional microcomputer system;
to verify the transmitted data, decrypting the signature at the additional computer system using the public key;
determining an additional check-sum value from the transmitted data using the check-sum function; and
comparing the decrypted signature to the additional check-sum value;
wherein authentication is established if the decrypted signature corresponds to the additional check-sum value.
8. The method of claim 6, further comprising:
transmitting a user ID with the data to the additional microcomputer system; and
obtaining the public key from a user database as a function of the user ID.
9. The method of claim 4, further comprising:
transmitting a user ID with the data to the additional microcomputer system;
obtaining authorization for the user to encrypt or mark the data from a project database as a function of the user ID; and
obtaining authorization to encrypt the data for storage in the storage assembly as a function of the user ID.
10. The method of claim 4, wherein the data is transmitted to and from the additional microcomputer system via the Internet.
11. The method of claim 10, wherein the data is transmitted to the additional microcomputer system as electronic mail.
12. The method of claim 11, wherein the electronic mail is formed in accordance with the Simple Mail Transfer Protocol (SMTP) standard.
13. The method of claim 4, further comprising:
recording an encryption of the data in a log; and
storing the log.
14. A storage element storing computer-executable instructions for causing a computer system to:
protect a smart card via a personal identification number;
store a private key and an asymmetrical encryption method or the smart card; and
encrypt or mark data using the asymmetrical encryption method.
15. The storage element of claim 14, wherein the storage element includes at least one of a read-only memory, a random access memory and a flash memory.
16. A computer program which is executable on a computing device providing instructions for causing the computing device to:
protect a smart card via a personal identification number;
store a private key and an asymmetrical encryption method;
encrypt or mark data using the asymmetrical encryption method stored on the smart card.
17. The computer program of claim 16, wherein the computer program is stored in a flash memory.
18. A smart card comprising:
a computing device; and
a storage element coupled to the computing device, the storage element stores a private key and an asymmetrical encryption algorithm for making or encrypting;
wherein the smart card is protected by a personal identification number (PIN).
19. The smart card of claim 18, wherein the computing device is a microprocessor.
20. The smart card of claim 19, wherein the computing device is configured to execute a computer program for causing the computing device to:
encrypt or mark data using the asymmetric encryption algorithm.
21. (New) A microcomputer system comprising:
a storage element; and
a computing device coupled to the storage element, the computing device being configured to:
check an authorization of a user based on a PIN;
store a private key and an encryption algorithm in the storage element; and
if the authorization of the user is established, encrypt or mark data for storage using the private key and the encryption algorithm.
22. (New) The microcomputer system of claim 21, wherein the computing device is a microprocessor.
23. (New) The microcomputer system of claim 21, wherein the storage element stores a computer program for configuring the computing device.
24. (New) The microcomputer system of claim 21, further comprising:
a safety lock element coupled to a data connection for preventing unauthorized access to the microcomputer system via the data connection, all access to the microcomputer system occurring via the safety lock element.
US10/145,299 2001-05-12 2002-05-13 Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system Expired - Fee Related US7213267B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10123169.5 2001-05-12
DE10123169A DE10123169A1 (en) 2001-05-12 2001-05-12 Method for protection of a microcomputer system against manipulation of data, especially program data, stored in its memory by use of an asymmetric encryption method with the data encrypted using a card holder PIN

Publications (2)

Publication Number Publication Date
US20020194479A1 true US20020194479A1 (en) 2002-12-19
US7213267B2 US7213267B2 (en) 2007-05-01

Family

ID=7684566

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/145,299 Expired - Fee Related US7213267B2 (en) 2001-05-12 2002-05-13 Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system

Country Status (3)

Country Link
US (1) US7213267B2 (en)
JP (1) JP2002373116A (en)
DE (1) DE10123169A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103288A1 (en) * 2002-11-27 2004-05-27 M-Systems Flash Disk Pioneers Ltd. Apparatus and method for securing data on a portable storage device
US20040206812A1 (en) * 2003-04-21 2004-10-21 Stmicroelectronics, Inc. Smart card device and method used for transmitting and receiving secure e-mails
US20060130154A1 (en) * 2004-11-30 2006-06-15 Wai Lam Method and system for protecting and verifying stored data
US20070061567A1 (en) * 2005-09-10 2007-03-15 Glen Day Digital information protection system
US20070169074A1 (en) * 2003-07-07 2007-07-19 Ja-In Koo Upgrade apparatus and its method for home network system
US20080055629A1 (en) * 2006-08-29 2008-03-06 Xerox Corporation Image archiver
US20080216067A1 (en) * 2005-04-04 2008-09-04 Volvo Lastvagnar Ab Arrangement and Method for Programming Motor Vehicles
US8695087B2 (en) 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
CN105631362A (en) * 2014-10-29 2016-06-01 奇方科技有限公司 Encryption method of microcontroller unit
EP3038008A1 (en) * 2014-12-22 2016-06-29 TechniSat Digital GmbH Method for authorising access to protected data stored in a device and assembly for carrying out the method
EP2471020A4 (en) * 2009-08-28 2018-02-21 Volvo Lastvagnar AB Tampering detection method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2457478A1 (en) * 2004-02-12 2005-08-12 Opersys Inc. System and method for warranting electronic mail using a hybrid public key encryption scheme
DE102004046291A1 (en) * 2004-09-24 2006-03-30 Robert Bosch Gmbh Method and device for signature formation
DE102004047191A1 (en) * 2004-09-29 2006-04-06 Robert Bosch Gmbh Tamper-proof microprocessor system and operating method therefor
US8095977B2 (en) * 2007-01-19 2012-01-10 Microsoft Corporation Secure PIN transmission
US20200389325A1 (en) * 2018-02-21 2020-12-10 Mitsubishi Electric Corporation In-vehicle-function access control system, in-vehicle apparatus, and in-vehicle-function access control method
DE102018006368A1 (en) 2018-08-13 2019-02-14 Daimler Ag Method for protection against manipulation of software of a vehicle
EP3620660B1 (en) * 2019-08-06 2021-07-28 Pfeiffer Vacuum Gmbh Vacuum device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5949882A (en) * 1996-12-13 1999-09-07 Compaq Computer Corporation Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768390A (en) 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
US5774544A (en) 1996-03-28 1998-06-30 Advanced Micro Devices, Inc. Method an apparatus for encrypting and decrypting microprocessor serial numbers
DE19723332A1 (en) 1997-06-04 1998-09-03 Bosch Gmbh Robert Microprocessor program manipulation protection method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5949882A (en) * 1996-12-13 1999-09-07 Compaq Computer Corporation Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234500B2 (en) 2002-11-27 2012-07-31 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US8694800B2 (en) 2002-11-27 2014-04-08 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US20110035603A1 (en) * 2002-11-27 2011-02-10 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US8893263B2 (en) 2002-11-27 2014-11-18 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US7900063B2 (en) 2002-11-27 2011-03-01 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US20040103288A1 (en) * 2002-11-27 2004-05-27 M-Systems Flash Disk Pioneers Ltd. Apparatus and method for securing data on a portable storage device
US8103882B2 (en) 2002-11-27 2012-01-24 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US7941674B2 (en) 2002-11-27 2011-05-10 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US20090055655A1 (en) * 2002-11-27 2009-02-26 Aran Ziv Apparatus and Method For Securing Data on a Portable Storage Device
US20090119517A1 (en) * 2002-11-27 2009-05-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US20090119502A1 (en) * 2002-11-27 2009-05-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US20110167489A1 (en) * 2002-11-27 2011-07-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US20040206812A1 (en) * 2003-04-21 2004-10-21 Stmicroelectronics, Inc. Smart card device and method used for transmitting and receiving secure e-mails
US7178724B2 (en) * 2003-04-21 2007-02-20 Stmicroelectronics, Inc. Smart card device and method used for transmitting and receiving secure e-mails
US20070169074A1 (en) * 2003-07-07 2007-07-19 Ja-In Koo Upgrade apparatus and its method for home network system
US20060130154A1 (en) * 2004-11-30 2006-06-15 Wai Lam Method and system for protecting and verifying stored data
US20080216067A1 (en) * 2005-04-04 2008-09-04 Volvo Lastvagnar Ab Arrangement and Method for Programming Motor Vehicles
US20070061567A1 (en) * 2005-09-10 2007-03-15 Glen Day Digital information protection system
US20080055629A1 (en) * 2006-08-29 2008-03-06 Xerox Corporation Image archiver
US8132014B2 (en) * 2006-08-29 2012-03-06 Xerox Corporation Image archiver
US8695087B2 (en) 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
EP2471020A4 (en) * 2009-08-28 2018-02-21 Volvo Lastvagnar AB Tampering detection method
CN105631362A (en) * 2014-10-29 2016-06-01 奇方科技有限公司 Encryption method of microcontroller unit
EP3038008A1 (en) * 2014-12-22 2016-06-29 TechniSat Digital GmbH Method for authorising access to protected data stored in a device and assembly for carrying out the method

Also Published As

Publication number Publication date
JP2002373116A (en) 2002-12-26
US7213267B2 (en) 2007-05-01
DE10123169A1 (en) 2002-11-14

Similar Documents

Publication Publication Date Title
US7213267B2 (en) Method of protecting a microcomputer system against manipulation of data stored in a storage assembly of the microcomputer system
US10841102B2 (en) Method and system for creating and checking the validity of device certificates
US7844832B2 (en) System and method for data source authentication and protection system using biometrics for openly exchanged computer files
US7325135B2 (en) Method and system for authorizing reconfiguration of a vehicle
US6408389B2 (en) System for supporting secured log-in of multiple users into a plurality of computers using combined presentation of memorized password and transportable passport record
US7370211B2 (en) Arrangement and method of execution of code
US7131005B2 (en) Method and system for component authentication of a vehicle
EP1518349B1 (en) Method and system for vehicle authentication of a component
EP1407339B1 (en) Firmware validation
US7600114B2 (en) Method and system for vehicle authentication of another vehicle
US7181615B2 (en) Method and system for vehicle authentication of a remote access device
US20150365240A1 (en) Digital rights management system and method
US7137001B2 (en) Authentication of vehicle components
US20050055552A1 (en) Assurance system and assurance method
WO2002103495A1 (en) A method for securing an electronic device, a security system and an electronic device
WO2004004202A1 (en) Method and system for authen tication of a vehicle compo nent class
EP1518350B1 (en) Method and system for vehicle authentication of a component
US20050229006A1 (en) Digital sealer apparatus
US20040003232A1 (en) Method and system for vehicle component authentication of another vehicle component
WO2004004209A1 (en) Method and system for vehicle subassembly authentication of a component
CN111399980A (en) Safety authentication method, device and system for container organizer
JP2008226191A (en) System, method, and program for authenticating information processing terminal
WO2004015918A1 (en) System and method for signing a document and verifying its authenticity
CN108886529B (en) System for remotely controlling a vehicle
KR100480377B1 (en) Environment enactment and method for network apparatus in using smart card

Legal Events

Date Code Title Description
AS Assignment

Owner name: ROBERT BOSCH GMBH, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEUTEN, MICHAEL;SCHNEIDER, KLAUS;ANGERBAUER, RALF;AND OTHERS;REEL/FRAME:013219/0981;SIGNING DATES FROM 20020610 TO 20020619

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20110501