DE102023102691A1 - Method for writing data to an IC and system for carrying out the method - Google Patents
Method for writing data to an IC and system for carrying out the method Download PDFInfo
- Publication number
- DE102023102691A1 DE102023102691A1 DE102023102691.7A DE102023102691A DE102023102691A1 DE 102023102691 A1 DE102023102691 A1 DE 102023102691A1 DE 102023102691 A DE102023102691 A DE 102023102691A DE 102023102691 A1 DE102023102691 A1 DE 102023102691A1
- Authority
- DE
- Germany
- Prior art keywords
- machine
- data
- programming
- volatile memory
- writing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000015654 memory Effects 0.000 claims abstract description 71
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims 1
- 238000011161 development Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Beschreiben von Daten auf einen IC 3 mit den folgenden Schritten:1. Bereitstellen eines in verschlüsselter Form vorliegenden Datenpakets, enthaltend die auf den IC 3 zu schreibenden Daten;2. Laden des verschlüsselten Datenpakets;3. Entschlüsseln des verschlüsselten Datenpaketes und Ablegen des entschlüsselten Datenpaketes ausschließlich in einem flüchtigen Speicher 10;4. Bereitstellen des entschlüsselten Datenpakets in dem flüchtigen Speicher 10 für eine Programmiermaschine 6;5. Beschreiben eines oder mehrerer ICs 3 mit für den IC 3 bestimmten Daten des entschlüsselten Datenpakets mittels der Programmiermaschine 6;6. Nach dem Fertigstellen des Beschreibens des bzw. der mehreren ICs 3: Löschen des flüchtigen Speichers 10.The invention relates to a method for writing data to an IC 3 with the following steps: 1. Providing a data packet in encrypted form containing the data to be written to the IC 3; 2. Loading the encrypted data packet; 3. Decrypting the encrypted data packet and storing the decrypted data packet exclusively in a volatile memory 10; 4. Providing the decrypted data packet in the volatile memory 10 for a programming machine 6; 5. Writing one or more ICs 3 with data of the decrypted data packet intended for the IC 3 using the programming machine 6; 6. After completing the writing of the or more ICs 3: erasing the volatile memory 10.
Description
Die Erfindung betrifft ein Verfahren zum Beschreiben von Daten auf einen IC sowie ein System zur Ausführung dieses Verfahrens.The invention relates to a method for writing data to an IC and a system for carrying out this method.
In Elektronikartikeln sind ICs essenzieller Bestandteil. Sie dienen dem Ausführen unterschiedlichster Aufgaben, sie empfangen und werten Daten etwa aus und/oder führen in Abhängigkeit von Bedingungen bestimmte Aktionen aus, die die Peripherie eines ICs steuern. Auch können sie zum Speichern von Daten dienen.ICs are an essential component in electronic products. They are used to carry out a wide variety of tasks, such as receiving and evaluating data and/or carrying out certain actions depending on conditions that control the peripherals of an IC. They can also be used to store data.
Aufgrund der zunehmenden Digitalisierung übernehmen solche ICs auch sicherheitsrelevante Aufgaben, etwa das Speichern von personenbezogenen, sicherheitsrelevanten Daten, etwa Smartcards, Bankarten etc. oder auch das Ausführen von sicherheitsrelevanten und kritischen Aktionen, etwa im Automobilbereich. Zum Übernehmen dieser Aufgaben wird der IC mit einem sogenannten Image beschrieben. Diejenigen Informationen, die dazu dienen, einen IC mit den persönlichen Daten oder auch zum Ausführen der sicherheitsrelevanten Aktionen zu beschreiben, werden nachstehend allgemein als Daten angesprochen.Due to increasing digitalization, such ICs also take on security-relevant tasks, such as storing personal, security-relevant data, such as smart cards, bank cards, etc., or carrying out security-relevant and critical actions, for example in the automotive sector. To take on these tasks, the IC is described with a so-called image. The information that is used to describe an IC with the personal data or to carry out security-relevant actions is generally referred to as data below.
ICs können etwa als EPROM, EEPROM oder dazu ähnlich ausgeführt sein, wobei die Erfindung hierauf nicht beschränkt ist. Wichtig ist, dass der genutzte IC in einer Programmiermaschine mit den für ihn bestimmten Daten beschreibbar ist.ICs can be designed as EPROM, EEPROM or similar, although the invention is not limited to this. It is important that the IC used can be written to with the data intended for it in a programming machine.
Um dem Potenzial eines möglichen Angriffes entgegenzuwirken, müssen die für den IC bestimmten Daten, die üblicherweise in einer Entwicklungsabteilung entwickelt werden, sicher an eine Programmiermaschine, die den oder die ICs beschreibt, übertragen werden. Auch sollen Daten nicht im Nachhinein - etwa nach dem Abschließen des Beschreibens des ICs - durch einen Dritten abgreifbar sein. Das ist üblicherweise der Fall, wenn die Daten auf einem nicht-flüchtigen Speicher (zwischen)gespeichert werden. To counteract the potential of a possible attack, the data intended for the IC, which is usually developed in a development department, must be securely transferred to a programming machine that describes the IC(s). Data should also not be accessible to a third party afterwards - for example, after the IC has been written to. This is usually the case when the data is (temporarily) stored on a non-volatile memory.
Um die für den IC bestimmten Daten sicher zu übertragen, werden diese üblicherweise verschlüsselt übertragen und sind nur mit einem entsprechenden Schlüssel entschlüsselbar.In order to securely transmit the data intended for the IC, it is usually transmitted encrypted and can only be decrypted with a corresponding key.
Aus
Auch wenn an dieser bekannten Programmiermaschine selbst aufgrund des Einsetzens eines flüchtigen Speichers ein Abgreifen der Daten nach dem Beschreiben des ICs nicht möglich ist, so müssen die Daten der Programmiermaschine zum Beschreiben des ICs in entschlüsselter Form vorliegen, respektive in entschlüsselter Form an diese übertragen werden. Dies birgt die Gefahr, dass auf dem Übertragungsweg hin zur Programmiermaschine die Daten in einem nicht-flüchtigen Speicher (zwischen)gespeichert werden und im Nachhinein unbemerkt abgegriffen werden können, insbesondere da solche Programmiermaschinen üblicherweise an ein großes Computernetzwerk (etwa LAN) angeschlossen sind.Even if it is not possible to access the data after writing to the IC on this known programming machine itself due to the use of a volatile memory, the data must be available in decrypted form for the programming machine to write to the IC, or must be transferred to it in decrypted form. This entails the risk that the data is (temporarily) stored in a non-volatile memory during transmission to the programming machine and can be accessed later without being noticed, especially since such programming machines are usually connected to a large computer network (such as a LAN).
Aufgabe der Erfindung ist es vor diesem Hintergrund ein Verfahren vorzuschlagen, mit dem die Sicherheit des Prozesses zum Beschreiben von Daten auf einen IC zu erhöht ist. Zudem ist es Aufgabe der Erfindung, ein nachrüstbares System zur Ausführung des Verfahrens vorzuschlagen.Against this background, the object of the invention is to propose a method with which the security of the process for writing data to an IC is increased. In addition, the object of the invention is to propose a retrofittable system for carrying out the method.
Die verfahrensbezogene Aufgabe wird gelöst durch ein Verfahren zum Beschreiben von Daten auf einen IC mit den folgenden Schritten:
- 1. Bereitstellen eines in verschlüsselter Form vorliegenden Datenpakets, enthaltend die auf den IC zu schreibenden Daten;
- 2. Laden des verschlüsselten Datenpakets;
- 3. Entschlüsseln des verschlüsselten Datenpaketes und Ablegen des entschlüsselten Datenpaketes ausschließlich in einem flüchtigen Speicher;
- 4. Bereitstellen des entschlüsselten Datenpakets in dem flüchtigen Speicher für eine Programmiermaschine;
- 5. Beschreiben eines oder mehrerer ICs mit für den IC bestimmten Daten des entschlüsselten Datenpakets mittels der Programmiermaschine;
- 6. Nach dem Fertigstellen des Beschreibens des bzw. der mehreren ICs: Löschen des flüchtigen Speichers.
- 1. Providing a data packet in encrypted form containing the data to be written to the IC;
- 2. Loading the encrypted data packet;
- 3. Decrypting the encrypted data packet and storing the decrypted data packet exclusively in a volatile memory;
- 4. Providing the decrypted data packet in the volatile memory to a programming machine;
- 5. Writing to one or more ICs data from the decrypted data packet intended for the IC using the programming machine;
- 6. After completing the writing of the IC(s): Erase the volatile memory.
Die systembezogene Aufgabe wird gelöst durch ein System zur Ausführung des erfindungsgemäßen Verfahrens, umfassend eine Programmiermaschine zum Beschreiben eines ICs und eine Computermaschine mit einem flüchtigen Speicher.The system-related object is achieved by a system for carrying out the method according to the invention, comprising a programming machine for writing to an IC and a computer machine with a volatile memory.
Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.Advantageous embodiments emerge from the dependent claims and the description.
Kern der Erfindung ist es, das Datenpaket in Vorbereitung des Beschreibens des ICs zu entschlüsseln, das entschlüsselte Datenpaket jedoch ausschließlich in einem flüchtigen Speicher abzulegen und der Programmiermaschine aus diesem flüchtigen Speicher heraus bereitzustellen. Hierunter versteht sich auch das Ablegen in mehreren flüchtigen Speichern, sofern dies notwendig ist.The core of the invention is to decrypt the data packet in preparation for writing to the IC, but the decrypted data packet to be stored exclusively in a volatile memory and made available to the programming machine from this volatile memory. This also includes storing in several volatile memories if necessary.
Um das Verständnis der Ausführung des Verfahrens zu erleichtern, wird nachstehend zunächst das System, in dem das erfindungsgemäße Verfahren durchgeführt wird, erläutert. Es versteht sich, dass die Ausführung des Verfahrens gemäß der Erfindung nicht auf ein Ausführen auf dem nachstehend beschriebenen System beschränkt ist, wenngleich dies bevorzugt ist.In order to facilitate understanding of the implementation of the method, the system in which the method according to the invention is implemented is first explained below. It is understood that the implementation of the method according to the invention is not restricted to implementation on the system described below, although this is preferred.
Eine Programmiermaschine ist mit einer Computermaschine gekoppelt. Bevorzugt ist diese Koppelung so eingerichtet, dass die Computermaschine nur mit einer speziellen Programmiermaschine interagieren kann. Zum Sicherstellen, dass die Computermaschine nur mit einer bestimmten Programmiermaschine interagieren kann, sind dem Fachmann Verfahren und Methoden hinlänglich bekannt. Die Kopplung zwischen Computermaschine und Programmiermaschine erhöht die Sicherheit. Der Einsatz der Computermaschine als separate Maschine zu der Programmiermaschine vereinfacht die Kontrolle über den Datenfluss zwischen Programmiermaschine und externem Netzwerk, da die Computermaschine üblicherweise kontrollierter einstellbar ist als die Programmiermaschine, etwa da auf den ausgeführten Code in der Computermaschine einfacher zugegriffen werden kann als in der Programmiermaschine. So können auch bereits bestehende Programmiermaschinen dergestalt nachgerüstet werden, dass das erfindungsgemäße Verfahren mit diesen ausgeführt werden kann. Die Computermaschine kann etwa als PC ausgeführt sein.A programming machine is coupled to a computer machine. Preferably, this coupling is set up in such a way that the computer machine can only interact with a specific programming machine. Procedures and methods for ensuring that the computer machine can only interact with a specific programming machine are well known to those skilled in the art. The coupling between the computer machine and the programming machine increases security. Using the computer machine as a separate machine to the programming machine simplifies control over the data flow between the programming machine and the external network, since the computer machine can usually be set in a more controlled manner than the programming machine, for example because the code executed in the computer machine can be accessed more easily than in the programming machine. Existing programming machines can also be retrofitted in such a way that the method according to the invention can be carried out with them. The computer machine can be designed as a PC, for example.
Die Computermaschine verfügt über eine Recheneinheit zur Ausführung von Code sowie über einen flüchtigen Speicher, etwa einen RAM.The computer machine has a computing unit for executing code as well as a volatile memory, such as RAM.
Die Computermaschine und die Programmiermaschine sind bevorzugt in einem gemeinsamen Gehäuse untergebracht, um zu vermeiden, dass auf die Kommunikation zwischen Computermaschine und Programmiermaschine eingewirkt, bzw. diese abgegriffen werden kann. Ein physischer Zugriff auf die Computermaschine und die physischen Kommunikationsleitungen zu der Programmiermaschine ist so von außen ohne das Öffnen der Programmiermaschine nicht möglich. Das so gebildete System aus Computermaschine und Programmiermaschine wird nachstehend als Programmiermaschinensystem angesprochen.The computer machine and the programming machine are preferably housed in a common housing to prevent the communication between the computer machine and the programming machine from being influenced or intercepted. Physical access to the computer machine and the physical communication lines to the programming machine is therefore not possible from the outside without opening the programming machine. The system formed in this way, consisting of the computer machine and the programming machine, is referred to below as the programming machine system.
So ist ferner bevorzugt vorgesehen, dass an dem Programmiermaschinensystem alle externen Schnittstellen, etwa USB-Anschlüsse, Laufwerke für CD's und/oder DVDs, serielle Schnittstellen, etc. deaktiviert bzw. verplombt sind.It is also preferably provided that all external interfaces on the programming machine system, such as USB ports, drives for CDs and/or DVDs, serial interfaces, etc. are deactivated or sealed.
Das Programmiermaschinensystem ist in ein Netzwerk eingebettet und hat Zugriff auf externe Netzwerkteilnehmer, etwa einen Server zum Abrufen und Speichern von Daten bzw. Datenpaketen. Bevorzugt ist vorgesehen, dass nur die Computermaschine an dieses Netzwerk angeschlossen ist; die Programmiermaschine ist lediglich an die Computermaschine angeschlossen. Die Computermaschine kann so den Zugriff der Programmiermaschine auf das Netzwerk kontrollieren, da keine physikalische Verbindung zwischen Programmiermaschine und Netzwerk besteht; die Computermaschine ist dazwischengeschaltet. Die Kontrolle seitens der Computermaschine erfolgt mittels eines Zugriffscontrollers. Dieser Zugriffscontroller kann eine Kommunikation zwischen Programmiermaschine und Netzwerk bidirektional (dann hat die Programmiermaschine Read/Write-Zugriff auf das Netzwerk, respektive auf deren Teilnehmer) oder unidirektional (dann hat die Programmiermaschine nur Read-Zugriff auf das Netzwerk, respektive die Netzwerkteilnehmer) zulassen.The programming machine system is embedded in a network and has access to external network participants, such as a server for retrieving and storing data or data packets. Preferably, only the computer machine is connected to this network; the programming machine is only connected to the computer machine. The computer machine can thus control the programming machine's access to the network, since there is no physical connection between the programming machine and the network; the computer machine is connected in between. The computer machine controls this by means of an access controller. This access controller can allow communication between the programming machine and the network bidirectionally (then the programming machine has read/write access to the network or to its participants) or unidirectionally (then the programming machine only has read access to the network or to the network participants).
Die Computermaschine verfügt ferner über einen Zustandsautomaten, der von der Recheneinheit angesteuert wird. Der Zustandsautomat wechselt auf Befehl zwischen einem Normal-Mode und einen Secure-Mode. Der Zustandsautomat schaltet den Zugriffscontroller entsprechend des Modus um: im Normal-Mode ist die bidirektionale Kommunikation, jedenfalls auf relevante Dienste und andere Netzwerkteilnehmer möglich, in dem Secure-Mode ist nur die genannte unidirektionale Kommunikation möglich. Durch die Computermaschine wird der Zugang der Programmiermaschine zu dem Netzwerk maskiert. Des Weiteren wird beim Zurückschalten vom Secure-Mode in den Normal-Mode seitens des Zustandsautomaten der der Computermaschine zugehörige flüchtige Speicher gelöscht.The computer machine also has a state machine that is controlled by the processing unit. The state machine switches between a normal mode and a secure mode on command. The state machine switches the access controller according to the mode: in normal mode, bidirectional communication is possible, at least to relevant services and other network participants; in secure mode, only the aforementioned unidirectional communication is possible. The computer machine masks the programming machine's access to the network. Furthermore, when the state machine switches back from secure mode to normal mode, the volatile memory belonging to the computer machine is erased.
Es versteht sich, dass der hier angesprochene Zugriffscontroller und/oder der Zustandsautomat in der Recheneinheit physikalisch integriert und/oder softwaretechnisch implementiert sein kann bzw. die Aufgaben des Zugriffscontrollers und/oder des Zustandsautomaten durch die Recheneinheit mit ausgeführt werden können.It is understood that the access controller and/or the state machine referred to here can be physically integrated into the computing unit and/or implemented in software, or the tasks of the access controller and/or the state machine can also be carried out by the computing unit.
Im Detail lässt sich der erfindungsgemäße Prozess - teilweise unter Bezugnahme auf das vorstehend beschriebene System - wie folgt beschreiben:
- In einem ersten Schritt (Schritt 1) wird ein Datenpaket bereitgestellt. Das Datenpaket liegt in verschlüsselter Form vor, etwa verschlüsselt mittels einer asymmetrischen Verschlüsselung. So kann eine Entwicklungsabteilung oder ein Kunde diejenigen Daten, die auf den IC geschrieben werden sollen, von seiner Seite aus verschlüsseln. Der Betreiber der Programmiermaschine, respektive das Programmiermaschinensystem, verfügt grundsätzlich über die notwendigen Schlüssel, damit er dieses Datenpaket entschlüsseln kann.
- In a first step (step 1), a data packet is provided. The data packet is in encrypted form, for example encrypted using asymmetric encryption. A development department or a customer can encrypt the data that is to be written to the IC from their side. The operator of the programming machine, or rather the programming machine system, generally has the necessary keys to be able to decrypt this data packet.
Das Datenpaket enthält jedenfalls diejenigen Daten, die zum Beschreiben des ICs bestimmt sind. Dieses sind üblicherweise ein Image, das als Grundstruktur zum Beschreiben des bzw. der ICs bestimmt ist und ggf. prozessabhängige Individualisierungsdaten, mit denen das Image ergänzt werden kann. In diesem Fall können auch Teil des Datenpaketes Informationen sein, auf welche Art und Weise die prozessabhängigen Individualisierungsdaten in das Image eingesetzt werden sollen.The data packet always contains the data that is intended for describing the IC. This is usually an image that is intended as a basic structure for describing the IC(s) and, if necessary, process-dependent customization data that can be used to supplement the image. In this case, the data packet can also contain information about how the process-dependent customization data should be inserted into the image.
Die Individualisierungsdaten können spezifisch bereitgestellt werden; sie können jedoch auch lokal mittels einer Kundenapplikation generiert werden. Auch ist denkbar, dass diese Daten von einem externen Server abgegriffen werden, bevorzugt über eine gesicherte Verbindung.The customization data can be provided specifically; however, it can also be generated locally using a customer application. It is also conceivable that this data is retrieved from an external server, preferably via a secure connection.
Zum Betreiben einer Programmiermaschine sind üblicherweise zusätzliche Konfigurationsdaten notwendig, die maschinenspezifisch und ggf. auf die für den IC bestimmten Daten abgestimmt sind. Auch diese maschinenspezifischen Konfigurationsdaten können Teil des Datenpaketes sein.To operate a programming machine, additional configuration data is usually required that is machine-specific and may be tailored to the data intended for the IC. This machine-specific configuration data can also be part of the data package.
Teil des Datenpaketes können auch weitere Daten sein. Das Datenpaket kann etwa in Form eines Archives vorliegen.Other data can also be part of the data package. The data package can be in the form of an archive, for example.
In einem zweiten Schritt (Schritt 2) wird das bereitgestellte Datenpaket in den Prozess geladen. Dies erfolgt mittels einer Recheneinheit, sei es einer der Programmiermaschine physikalisch zugeordneten Recheneinheit oder - bevorzugt - mittels der Recheneinheit der in dem vorstehend beschriebenen Programmiermaschinensystem genannten Computermaschine.In a second step (step 2), the data packet provided is loaded into the process. This is done by means of a computing unit, be it a computing unit physically assigned to the programming machine or - preferably - by means of the computing unit of the computer machine mentioned in the programming machine system described above.
Das verschlüsselte Datenpaket kann etwa auf einem Server in einer Netzwerkumgebung liegen. Zum Laden des Datenpaketes wird dieses von dem Server abgerufen.The encrypted data packet can be located on a server in a network environment. To load the data packet, it is retrieved from the server.
Im dritten Schritt (Schritt 3) wird das geladene, verschlüsselte Datenpaket entschlüsselt. Das entschlüsselte Datenpaket wird ausschließlich in einem flüchtigen Speicher abgelegt. Ein Schreiben auf einen nicht-flüchtigen Speicher ist ausgeschlossen, etwa das Schreiben auf eine Festplatte. Denn: Auch wenn auf einem nicht-flüchtigen Speicher Speicherplatz freigegeben/gelöscht wird, so ist es für einen Angreifer möglich bzw. besteht die Gefahr, dass die vormals gespeicherten Daten rekonstruiert werden können, insbesondere dann, wenn nicht der gesamte Speicher überschrieben wird, sondern nur ein Teil desselben. Dies ist bei nicht-flüchtigen Speichersystemen üblich.In the third step (step 3), the loaded, encrypted data packet is decrypted. The decrypted data packet is only stored in volatile memory. Writing to non-volatile memory, such as writing to a hard disk, is not possible. This is because even if storage space is released/deleted on non-volatile memory, it is still possible for an attacker to reconstruct the previously stored data, particularly if only part of the memory is overwritten, rather than the entire memory. This is common with non-volatile memory systems.
Bevorzugt ist der flüchtige Speicher als RAM ausgebildet, etwa als Teil der vorstehend genannten Computermaschine. So kann die Entschlüsselung lokal auf der Computermaschine erfolgen; das Ergebnis wird dann ausschließlich im RAM gehalten.Preferably, the volatile memory is designed as RAM, for example as part of the computer machine mentioned above. This allows decryption to be carried out locally on the computer machine; the result is then stored exclusively in the RAM.
Vor dem Schritt 3 oder nach dem Schritt 3 ist bevorzugt vorgesehen, das Programmiermaschinensystem in den oben bereits erläuterten Secure-Mode zu schalten, um zu verhindern, dass entschlüsselte Daten über die Programmiermaschine an das Netzwerk gesendet werden.Before step 3 or after step 3, it is preferably provided to switch the programming machine system to the secure mode already explained above in order to prevent decrypted data from being sent to the network via the programming machine.
Im vierten Schritt (Schritt 4) wird das entschlüsselte Datenpaket in dem flüchtigen Speicher für die Programmiermaschine bereitgestellt. Der Programmiermaschine wird somit Zugriff auf den flüchtigen Speicher gewährt.In the fourth step (step 4), the decrypted data packet in the volatile memory is made available to the programming machine. The programming machine is thus granted access to the volatile memory.
Dies kann etwa dadurch umgesetzt werden, dass in dem flüchtigen Speicher ein Laufwerk emuliert wird, welches für die Programmiermaschine freigegeben wird. Durch das Emulieren eines Laufwerkes in dem flüchtigen Speicher, auf das der Programmiermaschine Zugriff gewährt wird, ist eine einfache Einbindung des erfindungsgemäßen Verfahrens auch in bestehende Produktionslinien ermöglicht. Programmiermaschinen greifen üblicherweise auf externe Laufwerke zu, um die erforderlichen Datenpakete, respektive Daten abzurufen, um einen oder mehrere ICs zu beschreiben. This can be implemented, for example, by emulating a drive in the volatile memory, which is made available to the programming machine. By emulating a drive in the volatile memory, to which the programming machine is granted access, the method according to the invention can also be easily integrated into existing production lines. Programming machines usually access external drives in order to retrieve the required data packets or data in order to write to one or more ICs.
Bevorzugt ist vorgesehen, dass das emulierte Laufwerk nur an der computermaschinenseitigen Schnittstelle zu der Programmiermaschine freigegeben ist und nicht an der computermaschinenseitigen Schnittstelle zu einem externen Netzwerk.Preferably, the emulated drive is only enabled at the computer machine-side interface to the programming machine and not at the computer machine-side interface to an external network.
Sollte der flüchtige Speicher dennoch in ein Netzwerk eingebunden sein, der auch Netzwerkteilnehmer außerhalb des Programmiermaschinensystems umfasst, kann vorgesehen sein, das emulierte Laufwerk mit einem nur der Programmiermaschine bekannten Schlüssel, etwa in Form eines Passwortes, zu sichern bzw. zu verschlüsseln.If the volatile memory is nevertheless integrated into a network that also includes network participants outside the programming machine system, it can be provided to secure or encrypt the emulated drive with a key known only to the programming machine, for example in the form of a password.
In einem fünften Schritt (Schritt 5) werden mittels der Programmiermaschine ein oder mehrere ICs mit den für den bzw. die ICs bestimmten Daten des entschlüsselten Datenpaketes beschrieben. Das Beschreiben erfolgt auf übliche Weise seitens der Programmiermaschine und ist dem Fachmann hinlänglich bekannt.In a fifth step (step 5), the programming machine is used to write the data of the decrypted data packet intended for the IC(s) to one or more ICs. The writing is carried out in the usual way by the programming machine and is well known to the expert.
So ist bevorzugt vorgesehen, dass das entschlüsselte Datenpaket bzw. hieraus extrahierte, entschlüsselte Daten nur in flüchtigen Speichern der Programmiermaschine abgelegt werden. Andere Maßnahmen zum Sicherstellen, dass die entschlüsselten Daten nicht aus der Programmiermaschine durch einen Dritten abgegriffen werden können, sind möglich.It is therefore preferably provided that the decrypted data packet or decrypted data extracted from it are only stored in the programming machine's volatile memory. Other measures to ensure that the decrypted data cannot be accessed from the programming machine by a third party are possible.
Je nach Programmiermaschine besteht zudem die Möglichkeit, dass das Datenpaket ausschließlich aus denjenigen Daten besteht, mit denen der IC beschrieben wird; etwaige zusätzliche Konfigurationsdaten können auch auf separatem Wege der Programmiermaschine zur Verfügung gestellt werden. Bevorzugt ist vorgesehen, dass, sollten die Konfigurationsdaten der Programmiermaschine auf separatem Wege zur Verfügung gestellt werden, dieses analog zu dem hier beschriebenen Prozess erfolgt, nämlich, dass auch die Konfigurationsdaten grundsätzlich verschlüsselt gespeichert sind und nach dem hier vorgeschlagenen Verfahren in einen flüchtigen Speicher entschlüsselt werden und nur aus dem flüchtigen Speicher heraus der Programmiermaschine zur Verfügung gestellt werden.Depending on the programming machine, it is also possible for the data packet to consist exclusively of the data used to describe the IC; any additional configuration data can also be made available to the programming machine separately. Preferably, if the configuration data is made available to the programming machine separately, this is done in a similar way to the process described here, namely that the configuration data is also stored in encrypted form and is decrypted in a volatile memory using the method proposed here and is only made available to the programming machine from the volatile memory.
In einem sechsten Schritt (Schritt 6) ist vorgesehen, dass nach dem Fertigstellen des Beschreibens des bzw. der mehreren ICs der flüchtige Speicher, in dem entschlüsselte Daten vorliegen, gelöscht wird. Mit Löschen der Daten ist gemeint, dass die Daten durch einen Angreifer nicht mehr aus dem Speicher abrufbar bzw. rekonstruierbar sind. Dies erfolgt etwa durch ein Überschreiben des vollständigen flüchtigen Speichers mit anderem Inhalt. Auch kann ein Erden des flüchtigen Speichers vorgesehen sein, sodass dieser stromlos geschaltet wird. Dies ist insbesondere automatisch der Fall, sollte ein Angreifer physisch auf den flüchtigen Speicher zugreifen und diesen ausbauen. Bei einem Ausbau wird die Stromversorgung unterbrochen, sodass der Inhalt des flüchtigen Speichers verloren geht.In a sixth step (step 6), after the writing of the IC(s) has been completed, the volatile memory containing the decrypted data is deleted. Deleting the data means that the data can no longer be retrieved or reconstructed from the memory by an attacker. This can be done, for example, by overwriting the entire volatile memory with different content. It can also be planned to ground the volatile memory so that it is de-energized. This is automatically the case if an attacker physically accesses the volatile memory and removes it. If the memory is removed, the power supply is interrupted, so that the contents of the volatile memory are lost.
Nach dem Löschen des Speichers wird das System wieder in den Normal-Mode geschaltet. Das Schalten in den Normal-Modus kann das Löschen des flüchtigen Speichers auch beinhalten (s. o.).After clearing the memory, the system is switched back to normal mode. Switching to normal mode can also include clearing the volatile memory (see above).
Üblicherweise werden die Daten, mit denen der IC beschrieben werden soll, ggf. ergänzt durch prozessabhängige Individualisierungsdaten, getrennt von dem Schreibvorgang der Programmiermaschine entwickelt, um ein Beschreiben eines ICs auf verschiedenen Programmiermaschinentypen zu ermöglichen. Die zum Betrieb eines Programmiermaschinentyps notwendigen maschinentypspezifischen Konfigurationsdaten werden daher getrennt im Rahmen eines Mustererstellungsprozesses an einem Individuum des jeweiligen Programmiermaschinetyps entwickelt. Hierzu werden die auf den IC zu schreibenden Daten testweise mit der Programmiermaschine auf den IC geschrieben und der IC anschließend validiert, nämlich, ob der Schreibvorgang zu dem gewünschten Ergebnis geführt hat. Ist dies nicht der Fall, werden die Konfigurationsdatenangepasst, ein IC wird abermals testweise beschrieben und validiert etc.Usually, the data with which the IC is to be written, possibly supplemented by process-dependent customization data, is developed separately from the writing process of the programming machine in order to enable an IC to be written on different programming machine types. The machine-type-specific configuration data required to operate a programming machine type are therefore developed separately as part of a sample creation process on an individual of the respective programming machine type. To do this, the data to be written to the IC is written to the IC using the programming machine as a test and the IC is then validated to see whether the writing process has led to the desired result. If this is not the case, the configuration data is adjusted, an IC is written and validated again as a test, etc.
An diesen Mustererstellungsprozess schließt sich ein Serienfertigungsprozess, in dem eine Vielzahl gleicher bzw. sehr ähnlicher ICs beschrieben werden (letzteres ist der Fall, wenn Teil der auf den IC zu beschreibenden Daten prozessabhängige Individualisierungsdaten sind), an. Bevorzugt ist vorgesehen, dass auch während dieses Mustererstellungsprozesses die entschlüsselten Daten zum Beschreiben des ICs als auch die angepassten Konfigurationsdaten nur in einem flüchtigen Speicher abgelegt werden und nicht auf einen nicht-flüchtigen Speicher gespeichert werden.This pattern creation process is followed by a series production process in which a large number of identical or very similar ICs are described (the latter is the case if part of the data to be written to the IC is process-dependent customization data). It is preferably provided that during this pattern creation process, the decrypted data for writing to the IC as well as the adapted configuration data are only stored in a volatile memory and not saved in a non-volatile memory.
Im Detail ist in dem Mustererstellungsprozess zunächst vorgesehen (Schritt A), die vorstehend beschriebenen Schritte 1 bis 4 durchzuführen, mit der Maßgabe, dass es sich bei dem angesprochenen Datenpaket um die auf den oder die ICs zu schreibenden Daten handelt, mithin das Image, ggf. ergänzt um prozessabhängige Individualisierungsdaten.In detail, the pattern creation process initially provides (step A) for carrying out
In einem nächsten Schritt (Schritt B) werden die Konfigurationsdaten, etwa maschinentypspezifische Konfigurationsdaten, bereitgestellt, mithin ggf. erstellt. Auch diese Konfigurationsdaten werden nur in dem flüchtigen Speicher abgelegt, und zwar dergestalt, dass sie der Programmiermaschine bereitgestellt werden. Das Bereitstellen kann analog zum Schritt 4 erfolgen.In the next step (step B), the configuration data, such as machine type-specific configuration data, are provided and, if necessary, created. This configuration data is also only stored in the volatile memory in such a way that it is made available to the programming machine. The provision can be carried out in a similar way to step 4.
In einem weiteren Schritt (Schritt C) schließt sich üblicherweise ein Funktionstest an, nach dem in Abhängigkeit des Ausganges die im Schritt B bereitgestellten Konfigurationsdaten angepasst werden. Sind die Konfigurationsdaten final bereitgestellt, werden die Konfigurationsdaten und die für das Beschreiben des ICs bestimmten Daten zusammengeführt. Diese zusammengeführten Daten werden auch als Job angesprochen. Die Zusammenführung kann etwa in einem Archiv erfolgen.A further step (step C) usually involves a functional test, after which the configuration data provided in step B is adjusted depending on the outcome. Once the configuration data has been finally provided, the configuration data and the data intended for writing to the IC are merged. This merged data is also referred to as a job. The merging can take place in an archive, for example.
In einem nächsten Schritt (Schritt D) wird der Job verschlüsselt. Dieser verschlüsselte Job wird in einem nicht-flüchtigen Speicher abgelegt. Dies kann etwa in einer Netzwerkumgebung auf einem Server sein. Auf diese Weise ist der verschlüsselte Job von allen Netzwerkteilnehmern, etwa auch von anderen Programmiermaschinensystemen, abrufbar. Sollte der Job auch von anderen Programmiersystemen abrufbar sein sollen, ist es notwendig, den Job auf eine Art und Weise zu verschlüsseln, dass auch andere Programmiersysteme diesen entschlüsseln können.In the next step (step D), the job is encrypted. This encrypted job is stored in a non-volatile memory. This can be on a server in a network environment, for example. In this way, the encrypted job can be accessed by all network participants, including other programming machine systems. If If the job is also to be accessible from other programming systems, it is necessary to encrypt the job in such a way that other programming systems can also decrypt it.
Anschließend (Schritt E) wird der flüchtige Speicher, in dem die entschlüsselten Daten zuvor abgelegt waren, gelöscht. Dies kann analog zu Schritt 6 erfolgen.Then (step E), the volatile memory in which the decrypted data was previously stored is deleted. This can be done analogously to step 6.
Es kann vorgesehen sein, dass im Schritt D der verschlüsselte Job nicht sofort auf einen externen Netzwerkteilnehmer gespeichert wird, sondern zunächst nur lokal. Anschließend wird der Schritt E ausgeführt (Löschen des flüchtigen Speichers). Erst nachdem der flüchtige Speicher gelöscht worden ist, wird eine Verbindung zu einem Netzwerkteilnehmer, etwa einem Server, aufgebaut, um den verschlüsselten Job zu speichern.It can be planned that in step D the encrypted job is not immediately saved on an external network participant, but initially only locally. Then step E is carried out (deleting the volatile memory). Only after the volatile memory has been deleted is a connection established to a network participant, such as a server, in order to save the encrypted job.
Zum Durchführen des Serienfertigungsprozesses werden dann die vorstehend beschriebenen Schritte 1 bis 6 durchgeführt, wobei es sich bei dem dort angesprochenen Datenpaket um den im Schritt C des Mustererstellungsprozesses erstellten Job handelt.To carry out the series production process, steps 1 to 6 described above are then carried out, whereby the data package referred to therein is the job created in step C of the pattern creation process.
Auch in dem Mustererstellungsprozess kann vorgesehen sein, dass bevor die verschlüsselten Daten entschlüsselt werden, das Programmiermaschinensystem in den Secure-Mode geschaltet wird und nach dem Schritt E wieder in den Normal-Mode geschaltet wird.The pattern creation process may also provide that before the encrypted data is decrypted, the programming machine system is switched to secure mode and after step E is switched back to normal mode.
Die Erfindung wird anhand der beiliegenden Figur näher erläutert. Sie zeigt:
-
1 : Ein schematisches Schaubild des Programmiermaschinensystems, eingebettet in ein Netzwerk.
-
1 : A schematic diagram of the programming machine system embedded in a network.
Die verschlüsselten Daten werden an das Produktionssystem 4 übertragen und in dem Produktionssystem 4 auf einem Server 5 gespeichert. Hierfür verfügt der Server 5 über nicht-flüchtige Speicher zum sicheren Speichern der verschlüsselten Daten.The encrypted data is transferred to the production system 4 and stored in the production system 4 on a server 5. For this purpose, the server 5 has non-volatile memory for securely storing the encrypted data.
In dem Produktionssystem 4 sollen eine Vielzahl von ICs 3 mit den seitens der Entwicklungsabteilung 2 entwickelten Daten in einem Serienfertigungsprozess beschrieben werden. Hierfür muss zunächst in einem Mustererstellungsprozess eine Programmiermaschine 6 entsprechend eingerichtet werden. Die Einrichtung erfolgt über Konfigurationsdaten, die durch einen Einrichter vorgegeben werden. Zum Konfigurieren der Programmiermaschine 6 ist es notwendig, testweise ein oder mehrere ICs 3 mit den für den IC 3 bestimmten Daten zu beschreiben, und zwar unter Verwendung von bestimmten Konfigurationsdaten, um zu prüfen, ob die eingestellten Konfigurationsdaten in Kombination mit den für den IC 3 bestimmten Daten zu dem gewünschten Ergebnis führen. Mit den Konfigurationsdaten werden etwa der Programmiermaschine 6 zugehörige Peripherie 7 angesteuert, etwa Steuergeräte zum Beschreiben des ICs 3, zum Durchführen von Validierungen, etc.In the production system 4, a large number of ICs 3 are to be written with the data developed by the development department 2 in a series production process. For this, a programming machine 6 must first be set up accordingly in a sample creation process. The setup is carried out using configuration data that is specified by a setter. To configure the programming machine 6, it is necessary to write one or more ICs 3 with the data intended for the IC 3 for test purposes, using specific configuration data to check whether the set configuration data in combination with the data intended for the IC 3 lead to the desired result. The configuration data is used to control peripherals 7 belonging to the programming machine 6, such as control devices for writing to the IC 3, for carrying out validations, etc.
Um die auf dem Server 5 gespeicherten, von der Entwicklungsabteilung 2 übermittelten Daten, die auf dem Server 5 in verschlüsselter Form vorliegen, entschlüsselt der Programmiermaschine 6 zum Beschreiben des ICs 3 zur Verfügung zu stellen, ist eine Computermaschine 8 Teil des Programmiermaschinensystems 1. Die Computermaschine 8 ist mit der Programmiermaschine 6 gekoppelt. Die Computermaschine 8 ist dergestalt eingerichtet, dass sie nur mit einer ganz speziellen Programmiermaschine 6 arbeiten kann; das Anschließen einer anderen Programmiermaschine 6 führt zu einer Nicht-Funktion der Computermaschine 8, jedenfalls in dem Funktionsumfang, wie er in dem hier beschriebenen Verfahren vorgesehen ist. Für die Kopplung notwendige Parameter und Verfahren sind dem Fachmann hinreichend bekannt.In order to make the data stored on the server 5, transmitted by the development department 2, which are available on the server 5 in encrypted form, available in decrypted form to the programming machine 6 for writing to the IC 3, a
Eine Kommunikation zwischen der Computermaschine 8 und der Programmiermaschine 6 erfolgt kabel basiert, etwa über LAN. Um einen Abgriff der ausgetauschten Daten zwischen Programmiermaschine 6 und Computermaschine 8 zu unterbinden, ist die Computermaschine 8 physikalisch Teil des Programmiermaschinensystems 1. Das bedeutet, dass die Computermaschinen 8 in ein und demselben Gehäuse untergebracht sind und gegen einen Zugriff von außen geschützt sind.Communication between the
Die Programmiermaschine 6 hat über die Computermaschine 8 ebenfalls Zugriff auf das Netzwerk außerhalb des Programmiermaschinensystems 1, etwa auf den Server 5. Der Zugriff von Seiten der Programmiermaschine 6 auf das Netzwerk außerhalb des Programmiermaschinensystems 1 wird jedoch durch die Computermaschine 8 mittels eines Zugriffcontrollers 11 kontrolliert. Der Zugriffcontroller 11 ist angeschlossen an einen Zustandsautomaten 12. Es versteht sich, dass der Zugriffscontroller 11 und der Zustandsautomat 12 physikalisch auch Teil der Recheneinheit 9 sein können; zu Erklärungszwecken sind diese getrennt in der
Der Zustandsautomat 12 schaltet das Programmiermaschinensystem 1 zwischen zwei Zuständen: dem Normal-Mode und dem Secure-Mode.The
Im Normal-Mode ist der Zugriffscontroller 11 dergestalt eingestellt, dass die Programmiermaschine 6 bidirektional mit dem Netzwerk außerhalb des Programmiermaschinensystems 1, etwa mit dem Server 5, kommunizieren kann; es besteht somit ein Read/Write-Zugriff.In normal mode, the
Erhält der Zustandsautomat 12 von der Recheneinheit 9 die Information, dass in den Secure-Mode umgeschaltet werden soll, übermittelt der Zustandsautomat 12 dem Zugriffscontroller 11, dass die Zugriffsrechte der Programmiermaschine 6 dahingehend einzuschränken sind, sodass die Programmiermaschine 6 nicht mehr außerhalb des Programmiermaschinensystems 1 schreiben darf; für die Programmiermaschine 6 wird nur ein Read-Zugriff auf das Netzwerk außerhalb des Programmiermaschinensystems 1 gewährt.If the
Zum Abrufen der Daten von dem Server 5 werden diese von Seiten der Computermaschine 8 mittels einer Recheneinheit 9 abgerufen und in einen flüchtigen Speicher 10, hier einem RAM der Computermaschine 8, abgelegt.To retrieve the data from the server 5, they are retrieved by the
Dann wird der Secure-Mode des Programmiermaschinensystems 1 eingeschaltet. Anschließend werden die in dem flüchtigen Speicher 10 abgelegten verschlüsselten Daten durch die Recheneinheit 9 entschlüsselt.Then the secure mode of the
Die entschlüsselten Daten werden ebenfalls ausschließlich in dem flüchtigen Speicher 10 abgelegt. Durch das Vermeiden des Speicherns der entschlüsselten Daten auf einem nicht-flüchtigen Speicher wird der Gefahr begegnet, dass ein Angreifer die entschlüsselten Daten rekonstruieren kann, auch wenn die Daten in dem nicht-flüchtigen Speicher als gelöscht gelten.The decrypted data is also stored exclusively in the
Die in dem flüchtigen Speicher 10 entschlüsselten Daten werden alsdann der Programmiermaschine 6 bereitgestellt. Hierfür wird ein Laufwerk in dem flüchtigen Speicher 10 emuliert, auf das die Programmiermaschine 6 mit ihrer Recheneinheit 13 zugreifen kann. Zuvor an die Computermaschine 8 ebenfalls übergebene und in dem flüchtigen Speicher 10, respektive in dem emulierten Laufwerk abgelegte Konfigurationsdaten werden ebenfalls durch die Recheneinheit 13 der Programmiermaschine 6 abgerufen.The data decrypted in the
Ausgestattet mit diesen Daten beschreibt die Programmiermaschine 6 den IC 3 mit den für den IC 3 bestimmten Daten; für die Steuerung 7 der Programmiermaschine 6 werden die Konfigurationsdaten genutzt.Equipped with these data, the programming machine 6 writes the data intended for the IC 3 to the IC 3; the configuration data are used for the control 7 of the programming machine 6.
Haben die Konfigurationsdaten zu dem gewünschten Ergebnis (der IC 3 ist ordnungsgemäß beschrieben worden) geführt, werden die für das Beschreiben des ICs 3 bestimmten Daten und die Konfigurationsdaten, die beide in dem flüchtigen Speicher 10 der Computermaschine 8 abgelegt sind, zu einem Job zusammengefasst, und zwar in einem Archiv.If the configuration data have led to the desired result (the IC 3 has been properly written), the data intended for writing the IC 3 and the configuration data, both of which are stored in the
Anschließend wird der Job respektive das Archiv verschlüsselt und seitens der Computermaschine 8 auf dem Server 5 abgelegt.The job or archive is then encrypted and stored on the server 5 by the
Anschließend sendet die Recheneinheit 9 an den Zustandsautomaten 12 den Befehl, in den Normal-Mode zurückzuschalten. Daraufhin löscht der Zustandsautomat 12 den flüchtigen Speicher 10, etwa indem er diesen erdet, und sendet an den Zugriffscontroller 11 einen Befehl, dass ein Schreibzugriff für die Programmiermaschine 6 für das Netzwerk außerhalb des Programmiermaschinensystems 1 zuzulassen ist. Auf diese Weise sind die entschlüsselten Daten nicht abgreifbar durch einen Dritten.The
Angedeutet ist auch eine Verbindung des Zustandsautomaten 12 zu dem schematischen Gehäuse des Programmiermaschinensystems 1: Wird das Gehäuse geöffnet oder tritt ein anderer unerwarteter Fehler auf, erkennt dies der Zustandsautomat 12 und schaltet automatisch in den Normal-Mode um (Löschen des flüchtigen Speichers 10 und Umschalten des Zugriffscontrollers 11 in den bidirektionalen Modus.Also indicated is a connection of the
Der Serienfertigungsprozess erfolgt auf die gleiche Art und Weise mit dem einzigen Unterschied, dass seitens der Computermaschine 8 nicht nur die für den IC 3 bestimmten Daten seitens des Servers 5 abgerufen werden, sondern insgesamt den in dem Mustererstellungsprozess erstellten Job. Der Job umfasst die für das Beschreiben des ICs 3 bestimmten Daten sowie die Konfigurationsdaten für die Steuerung 7 der Peripherie der Programmiermaschine 6.The series production process is carried out in the same way, with the only difference being that the
Dieser Job wird - nachdem der Secure-Mode durch den Zustandsautomaten 12 aktiviert wurde - in dem flüchtigen Speicher 10 entschlüsselt abgelegt und der Programmiermaschine 6 zur Verfügung gestellt, sodass diese unter Verwendung der bereitgestellten Konfigurationsdaten den IC 3 mit den für ihn bestimmten Daten beschreiben kann.This job is - after the secure mode has been activated by the state machine 12 - stored in the
Die Erfindung ist anhand eines Ausführungsbeispiels beschrieben worden. Ohne den Schutzbereich, beschrieben durch die Ansprüche, zu verlassen, ergeben sich für den Fachmann zahlreiche weitere Ausgestaltungen, den Erfindungsgedanken zu verwirklichen, ohne dass diese im Rahmen dieser Ausführungen näher erläutert werden müssten.The invention has been described using an exemplary embodiment. Without departing from the scope of protection described by the claims, numerous further embodiments for implementing the inventive concept will become apparent to those skilled in the art without these having to be explained in more detail in the context of these statements.
BezugszeichenlisteList of reference symbols
- 11
- ProgrammiermaschinensystemProgramming machine system
- 22
- EntwicklungsabteilungDevelopment department
- 33
- ICIC
- 44
- ProduktionssystemProduction system
- 55
- Serverserver
- 66
- ProgrammiermaschineProgramming machine
- 77
- Steuerung, der ProgrammiermaschineControl of the programming machine
- 88th
- Computermaschinecomputer machine
- 99
- Recheneinheit, der ComputermaschineComputing unit of the computer machine
- 1010
- Flüchtiger, Speicher für ComputermaschineVolatile, memory for computer machine
- 1111
- ZugriffscontrollerAccess controller
- 1212
- ZustandsautomatState machine
- 1313
- Recheneinheit der ProgrammiermaschineComputing unit of the programming machine
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 20070038851 A1 [0007]US 20070038851 A1 [0007]
Claims (9)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102023102691.7A DE102023102691A1 (en) | 2023-02-03 | 2023-02-03 | Method for writing data to an IC and system for carrying out the method |
TW113102936A TW202433322A (en) | 2023-02-03 | 2024-01-25 | Method for writing data onto an IC and system for carrying out the method |
PCT/EP2024/052136 WO2024160759A1 (en) | 2023-02-03 | 2024-01-30 | Method for writing data onto an ic and system for carrying out the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102023102691.7A DE102023102691A1 (en) | 2023-02-03 | 2023-02-03 | Method for writing data to an IC and system for carrying out the method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102023102691A1 true DE102023102691A1 (en) | 2024-08-08 |
Family
ID=91951395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102023102691.7A Pending DE102023102691A1 (en) | 2023-02-03 | 2023-02-03 | Method for writing data to an IC and system for carrying out the method |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102023102691A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08185361A (en) | 1994-12-28 | 1996-07-16 | Hitachi Ltd | Semiconductor integrated circuit device |
EP0768601A1 (en) | 1995-04-27 | 1997-04-16 | Casio Computer Company Limited | Device for executing enciphered program |
US20010033012A1 (en) | 1999-12-30 | 2001-10-25 | Koemmerling Oliver | Anti tamper encapsulation for an integrated circuit |
US20040088554A1 (en) | 2002-10-31 | 2004-05-06 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit device,program delivery method, and program delivery system |
US20070038851A1 (en) | 2005-08-12 | 2007-02-15 | Babaria Amit G | Method for programming secure data into integrated circuits |
US20100223453A1 (en) | 2002-12-02 | 2010-09-02 | Silverbrook Research Pty Ltd | Integrated circuit for validating and decrypting software data |
US20130046981A1 (en) | 2011-08-17 | 2013-02-21 | Vixs Systems, Inc. | Secure provisioning of integrated circuits at various states of deployment, methods thereof |
US20160293274A1 (en) | 2011-11-14 | 2016-10-06 | Seagate Technology Llc | Storage Device Firmware and Manufacturing Software |
-
2023
- 2023-02-03 DE DE102023102691.7A patent/DE102023102691A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08185361A (en) | 1994-12-28 | 1996-07-16 | Hitachi Ltd | Semiconductor integrated circuit device |
EP0768601A1 (en) | 1995-04-27 | 1997-04-16 | Casio Computer Company Limited | Device for executing enciphered program |
US20010033012A1 (en) | 1999-12-30 | 2001-10-25 | Koemmerling Oliver | Anti tamper encapsulation for an integrated circuit |
US20040088554A1 (en) | 2002-10-31 | 2004-05-06 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit device,program delivery method, and program delivery system |
US20100223453A1 (en) | 2002-12-02 | 2010-09-02 | Silverbrook Research Pty Ltd | Integrated circuit for validating and decrypting software data |
US20070038851A1 (en) | 2005-08-12 | 2007-02-15 | Babaria Amit G | Method for programming secure data into integrated circuits |
US20130046981A1 (en) | 2011-08-17 | 2013-02-21 | Vixs Systems, Inc. | Secure provisioning of integrated circuits at various states of deployment, methods thereof |
US20160293274A1 (en) | 2011-11-14 | 2016-10-06 | Seagate Technology Llc | Storage Device Firmware and Manufacturing Software |
Non-Patent Citations (1)
Title |
---|
btv vault. Secure Automated Programming. btv Gruppe, 2022. URL: https://www.btv-gruppe.com/wp-content/uploads/2022/05/Factsheet_btv-vault_DE.pdf [abgerufen am 04.08.2023] |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69731338T2 (en) | Method and system for secure transmission and storage of protected information | |
DE69522998T2 (en) | SECURE APPLICATION CARD FOR SHARING APPLICATION DATA AND PROCEDURES BETWEEN SEVERAL MICROPROCESSORS | |
DE69524482T2 (en) | SECURE MEMORY CARD WITH PROGRAMMED, CONTROLLED SECURITY ACCESS CONTROL | |
DE69729557T2 (en) | METHOD AND APPARATUS FOR SOFTWARE ACCESS TO A MICROPROCESSOR SERIAL NUMBER | |
DE68927755T2 (en) | SYSTEM FOR SECURE Cipher Key Processing | |
DE112007003231B4 (en) | Programmable display device and control system | |
EP1616232A1 (en) | Method for guaranteeing the integrity and authenticity of flashware for control devices | |
EP1883906A1 (en) | Portable data carrier featuring secure data processing | |
EP0280035B1 (en) | Method for the programme securing and for integrity checking of a secured programme | |
EP0224639A1 (en) | Method to control the memory access of an IC card and implementing device | |
DE19508724C1 (en) | Smart card with protected operating system | |
EP0127809B1 (en) | Circuit arrangement comprising a memory and an access control unit | |
WO2004114131A1 (en) | Method for booting up a software in the boot sector of a programmable read-only memory | |
EP1032871B1 (en) | Process and device for loading data for basic system routines of a data processing system | |
DE10218795A1 (en) | Chip card or security module production method in which the chip producer writes an authentication code, such as a cryptographic key, into the chip's non-volatile memory so that the memory can only be accessed using the key | |
DE102018213615A1 (en) | Cryptography module and operating method therefor | |
DE102023102691A1 (en) | Method for writing data to an IC and system for carrying out the method | |
AT526879A1 (en) | Method for writing data to an IC and system for carrying out the method | |
WO2024160759A1 (en) | Method for writing data onto an ic and system for carrying out the method | |
EP1912184A2 (en) | Data generating device and method | |
DE102021131424A1 (en) | METHODS AND SYSTEMS FOR SESSION-BASED AND SECURE ACCESS CONTROL TO A DATA STORAGE SYSTEM | |
DE10218835A1 (en) | Method of producing electronic security module e.g. for payment card, involves using test value stored in smart card for testing data authentication | |
EP1634252A1 (en) | Method for loading portable data carriers with data | |
DE102015119140A1 (en) | Method for controlling access to encrypted files and computer system | |
EP0813722B1 (en) | Licence-card-controlled chip card system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |