DE10108487A1

Method and system for the distributed creation of a program for a programmable portable data carrier

Abstract

The invention relates to a method for the distributed creation of a program for a programmable portable data carrier (10), for example, a chip card. To this end, program source text (Q) is created on a user computer (20), compiled and linked to executable program code (C) on a spatially separate compiler server (30), and the executable program code (C) is loaded into the data carrier (10) once again via the user computer (20). A secure end-to-end link is established for conducting an exchange of data between the data carrier (10) and the compiler server (30). To this end, the data carrier (10) is provided, in a pre-completion step, with software tools for final processing, which permit a transport code (U, Cssl, UCSM) provided in a transition format to be converted into executable program code (C). The transport code (U, Cssl, UCSM) is secured by encoding mechanisms. The transmission of the executable program code (C), which is generated by the compiler server (30), ensues in the transition format (U, Cssl, UCSM).

DE10108487A1, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 22 February 2021, 5.6 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

20 claims: 20 independent, 0 dependent

  1. 1
    A method for distributed creation of an executable program for a programmable portable data carrier, wherein the creation a program source code on a first in a user befindli chen computer, compiling and linking the source code program to an executable program code to transfer to a two th, located with the issuer of the data carrier computer, and the Download the executable program code in the disk to return transmission reverts to the first computer, marked by distinguishedthatin a Vorkomplettierungsschritt on disk (10) software tools are applied for finishing, which allow from egg nem present in a transitional format transport code (U, UCSM. TCSSL,) To get an executable program code (C)in said second computer (30) Generated, executable program code (C) for retransmitted in transport code (U, UCSM, CSSL,) converted is, andto the first computer (20) For introduction into the data carrier (10) back of transmitted transport code (U, UCSM, TCSSL,) By means of software tools will be converted back into executable code (C). 1. Verfahren zur verteilten Erstellung eines ausführbaren Programmes für einen programmierbaren, tragbaren Datenträger, wobei die Erstellung eines Programmquelltextes auf einem ersten, bei einem Nutzer befindli­ chen Computer, Compilieren und Linken des Programmquelltextes zu einem ausführbaren Programmcode nach Übertragung auf einem zwei­ ten, beim Herausgeber des Datenträgers befindlichen Computer, und das Laden des ausführbaren Programmcodes in den Datenträger nach Rück­ übertragung wieder über den ersten Computer erfolgt, dadurch gekenn­ zeichnet, daß in einem Vorkomplettierungsschritt auf dem Datenträger (10) Software­ werkzeuge zur Endbearbeitung angelegt werden, die es erlauben, aus ei­ nem in einem Übergangsformat vorliegenden Transportcode (U, UCSM, TCSSL,) einen ausführbaren Programmcode (C) zu gewinnen, im zweiten Computer (30) erzeugter, ausführbarer Programmcode (C) für die Rückübertragung in Transportcode (U, UCSM, CSSL,) umgewandelt wird, und an den ersten Computer (20) zur Einbringung in den Datenträger (10) rückübertragener Transportscode (U, UCSM, TCSSL,) mittels der Software­ werkzeuge in ausführbaren Programmcode (C) rückgewandelt wird. 1. Verfahren zur verteilten Erstellung eines ausführbaren Programmes für einen programmierbaren, tragbaren Datenträger, wobei die Erstellung eines Programmquelltextes auf einem ersten, bei einem Nutzer befindlichen Computer, Compilieren und Linken des Programmquelltextes zu einem ausführbaren Programmcode nach Übertragung auf einem zweiten, beim Herausgeber des Datenträgers befindlichen Computer, und das Laden des ausführbaren Programmcodes in den Datenträger nach Rückübertragung wieder über den ersten Computer erfolgt, dadurch gekennzeichnet , daß in einem Vorkomplettierungsschritt auf dem Datenträger ( 10 ) Softwarewerkzeuge zur Endbearbeitung angelegt werden, die es erlauben, aus einem in einem Übergangsformat vorliegenden Transportcode (U, UCSM, TCSSL,) einen ausführbaren Programmcode (C) zu gewinnen, im zweiten Computer ( 30 ) erzeugter, ausführbarer Programmcode (C) für die Rückübertragung in Transportcode (U, UCSM, CSSL,) umgewandelt wird, und an den ersten Computer ( 20 ) zur Einbringung in den Datenträger ( 10 ) rückübertragener Transportscode (U, UCSM, TCSSL,) mittels der Softwarewerkzeuge in ausführbaren Programmcode (C) rückgewandelt wird.
  2. 2
    The method according to claim 1, characterized in that the on the first computer (20) Created program source (Q) for transmission to the second computer (30) Receives a transport security by ver is encrypted. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der auf dem ersten Computer (20) erstellte Programmquelltext (Q) für die Übertragung zum zweiten Computer (30) eine Transportsicherung erhält, indem er ver­ schlüsselt wird. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der auf dem ersten Computer ( 20 ) erstellte Programmquelltext (Q) für die Übertragung zum zweiten Computer ( 30 ) eine Transportsicherung erhält, indem er verschlüsselt wird.
  3. 3
    The method according to claim 1, characterized in that the software tools a storage media (10) Designating ID Informa tion (114) As well as a signature key (124) Include. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Softwarewerkzeuge eine einen Datenträger ( 10 ) bezeichnende Identifikationinformation ( 114 ) sowie einen Signaturschlüssel ( 124 ) beinhalten. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Software­ werkzeuge eine einen Datenträger (10) bezeichnende Identifikationinforma­ tion (114) sowie einen Signaturschlüssel (124) beinhalten.
  4. 4
    The method according to claim 1, characterized in that the software tools, a program for performing an SSL handshake Protocol (122) And / or a program for the implementation of Secure- messaging (120) Include. 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Softwarewerkzeuge ein Programm zur Durchführung eines SSL-Handshake- Protokolls ( 122 ) und/oder ein Programm zur Durchführung von Secure- Messaging ( 120 ) beinhalten. 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Software­ werkzeuge ein Programm zur Durchführung eines SSL-Handshake- Protokolls (122) und/oder ein Programm zur Durchführung von Secure- Messaging (120) beinhalten.
  5. 5
    The method according to claim 1, characterized in that the software tools a private media key (130) And a program for verification of a signature with the public key (128) Of two th computer (30) Include. 5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Softwarewerkzeuge einen privaten Datenträgerschlüssel ( 130 ) sowie ein Programm zur Prüfung einer Signatur mit dem öffentlichen Schlüssel ( 128 ) eines zweiten Computers ( 30 ) beinhalten. 5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Software­ werkzeuge einen privaten Datenträgerschlüssel (130) sowie ein Programm zur Prüfung einer Signatur mit dem öffentlichen Schlüssel (128) eines zwei­ ten Computers (30) beinhalten.
  6. 6
    The method according to claim 1, characterized in that in the portable pe ren disk (10) To be loaded, executable program code (C) Inclusion of the second computer (30) Is carried out to potential to detect errors. 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in den tragbaren Datenträger ( 10 ) zu ladender, ausführbarer Programmcode (C) unter Einbeziehung des zweiten Computers ( 30 ) ausgeführt wird, um mögliche Fehler zu ermitteln. 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in den tragba­ ren Datenträger (10) zu ladender, ausführbarer Programmcode (C) unter Einbeziehung des zweiten Computers (30) ausgeführt wird, um mögliche Fehler zu ermitteln.
  7. 7
    The method according to claim 6, characterized in that in the portable pe ren disk (10) To be loaded, executable program code (C) on the second computer (30) Including the first computer (20) out lead is. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß in den tragbaren Datenträger ( 10 ) zu ladender, ausführbarer Programmcode (C) auf dem zweiten Computer ( 30 ) unter Einbeziehung des ersten Computers ( 20 ) ausgeführt wird. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß in den tragba­ ren Datenträger (10) zu ladender, ausführbarer Programmcode (C) auf dem zweiten Computer (30) unter Einbeziehung des ersten Computers (20) ausge­ führt wird.
  8. 8
    The method according to claim 1, characterized in that the ausführba re program code (C) in the memory (113) Of the data carrier (10) Is stored. 8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der ausführbare Programmcode (C) im Speicher ( 113 ) des Datenträgers ( 10 ) abgelegt wird. 8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der ausführba­ re Programmcode (C) im Speicher (113) des Datenträgers (10) abgelegt wird.
  9. 9
    Programmable portable data carrier with an integrated circuit circle, which includes a processor and a memory for recording having by the processor executable program code, thereby ge indicates that in the integrated circuit (12) Software tools are applied for finishing, which make it one in an over gang format supplied transport code (U, UCSM, TCSSL) Into executable Program code (C) to transfer. 9. Programmierbarer tragbarer Datenträger mit einem integrierten Schaltkreis, welcher einen Prozessor sowie einen Speicher zur Aufnahme von durch den Prozessor ausführbarem Programmcode aufweist, dadurch gekennzeichnet, daß in dem integrierten Schaltkreis ( 12 ) Softwarewerkzeuge zur Endbearbeitung angelegt sind, die es ermöglichen, einen in einem Übergangsformat zugeführten Transportcode (U, UCSM, TCSSL) in ausführbaren Programmcode (C) zu überführen. 9. Programmierbarer tragbarer Datenträger mit einem integrierten Schalt­ kreis, welcher einen Prozessor sowie einen Speicher zur Aufnahme von durch den Prozessor ausführbarem Programmcode aufweist, dadurch ge­ kennzeichnet, daß in dem integrierten Schaltkreis (12) Softwarewerkzeuge zur Endbearbeitung angelegt sind, die es ermöglichen, einen in einem Über­ gangsformat zugeführten Transportcode (U, UCSM, TCSSL) in ausführbaren Programmcode (C) zu überführen.
  10. 10
    A data carrier according to claim 9, characterized in that it has little least one sequence counter (136) Has. 10. Datenträger nach Anspruch 9, dadurch gekennzeichnet, daß er wenigstens einen Sequenzzähler ( 136 ) aufweist. 10. Datenträger nach Anspruch 9, dadurch gekennzeichnet, daß er wenig­ stens einen Sequenzzähler (136) aufweist.
  11. 11
    A data carrier according to claim 9, characterized in that it comprises a the disk (10) Designating identification information (114) And a key (124) Includes the formation of a data protection code, which it a defined second computer (30) assign. 11. Datenträger nach Anspruch 9, dadurch gekennzeichnet, daß er eine den Datenträger (10) bezeichnende Identifikationsinformation (114) sowie einen Schlüssel (124) zur Bildung eines Datensicherungscodes enthält, welche ihn einem definierten zweiten Computer (30) zuordnen. 11. Datenträger nach Anspruch 9, dadurch gekennzeichnet, daß er eine den Datenträger ( 10 ) bezeichnende Identifikationsinformation ( 114 ) sowie einen Schlüssel ( 124 ) zur Bildung eines Datensicherungscodes enthält, welche ihn einem definierten zweiten Computer ( 30 ) zuordnen.
  12. 12
    Computer zur Durchführung einer verteilten Erstellung eines ausführbaren Programmes für einen programmierbaren, tragbaren Datenträger, enthaltend zumindest ein Compilierungsprogramm sowie ein Linkprogramm ( 312 ), dadurch gekennzeichnet, daß er über Mittel verfügt, um aus einen zugegangenen, in einem Übergangsformat vorliegenden Transportcode (T, TQ, TQSSL,) einen Programmquelltext (Q) rückzugewinnen. 12. Computer zur Durchführung einer verteilten Erstellung eines ausführba­ ren Programmes für einen programmierbaren, tragbaren Datenträger, ent­ haltend zumindest ein Compilierungsprogramm sowie ein Linkprogramm (312), dadurch gekennzeichnet, daß er über Mittel verfügt, um aus einen zugegangenen, in einem Übergangsformat vorliegenden Transportcode (T, TQ, TQSSL,) einen Programmquelltext (Q) rückzugewinnen. 12. computer to perform a distributed creating a ausführba ren program for a programmable portable data carrier, ent holding at least one Compilierungsprogramm and a link program (312), Characterized in that it has means of a information received, present in a transitional format Transport Code (T, TQ, TQSSL,) A program code (Q) recover.
  13. 13
    Computer nach Anspruch 12, dadurch gekennzeichnet, daß er Mittel aufweist, um die Identität eines zu programmierenden Datenträgers (10) festzustellen und zu überprüfen. 13. Computer nach Anspruch 12, dadurch gekennzeichnet, daß er Mittel aufweist, um die Identität eines zu programmierenden Datenträgers ( 10 ) festzustellen und zu überprüfen. 13. The computer of claim 12, characterized in that it comprises means having to determine the identity of a data carrier to be programmed (10) ascertain and verify.
  14. 14
    A computer according to claim 12, characterized in that it comprises a Ta belle (340) Leads, in the for each portable data carrier (10), Which by means of the computer (30is) programmed, a disk characteristic Identification information (114) Is stored. 14. Computer nach Anspruch 12, dadurch gekennzeichnet, daß er eine Tabelle ( 340 ) führt, in der für jeden tragbaren Datenträger ( 10 ), der mittels des Computers ( 30 ) programmierbar ist, eine den Datenträger bezeichnende Identifikationsinformation ( 114 ) abgelegt ist. 14. Computer nach Anspruch 12, dadurch gekennzeichnet, daß er eine Ta­ belle (340) führt, in der für jeden tragbaren Datenträger (10), der mittels des Computers (30) programmierbar ist, eine den Datenträger bezeichnende Identifikationsinformation (114) abgelegt ist.
  15. 15
    Computer nach Anspruch 12, dadurch gekennzeichnet, daß er über Mittel ( 321 ) zur formalen Verifikation eines durch Compilierung erzeugten Programmcodes (C) aufweist. 15. Computer nach Anspruch 12, dadurch gekennzeichnet, daß er über Mit­ tel (321) zur formalen Verifikation eines durch Compilierung erzeugten Pro­ grammcodes (C) aufweist. 15. The computer of claim 12, characterized in that he With tel (321) For formal verification of a Pro produced by compilation program code (C).
  16. 16
    Computer nach Anspruch 12, dadurch gekennzeichnet, daß er über Mittel ( 316 ) verfügt, um einen erzeugten Programmcode (C) durch unmittelbare Ausführung darauf zu prüfen, ob er Fehler enthält. 16. Computer nach Anspruch 12, dadurch gekennzeichnet, daß er über Mit­ tel (316) verfügt, um einen erzeugten Programmcode (C) durch unmittelbare Ausführung darauf zu prüfen, ob er Fehler enthält. 16. The computer of claim 12, characterized in that he With tel (316) Has to a code generated (C) by direct to consider execution of whether it contains errors.
  17. 17
    17 computer to perform a distributed creating a ausführba ren program for a programmable portable data carrier, ent holding at least a first interface for data exchange with egg nem data carrier and a second interface to a data link, characterized in thatit comprises means to an editing program (22) To create a by the computer (20) Itself is not executable source code (Q) execute,and in that it comprises means on the first and the second interface (24. 26) A direct data transfer between a portable data carriers (10) And via the data link (28) Connected, second computer (39) Allow. 17. Computer zur Durchführung einer verteilten Erstellung eines ausführbaren Programmes für einen programmierbaren, tragbaren Datenträger, enthaltend zumindest eine erste Schnittstelle für einen Datenaustausch mit einem Datenträger sowie eine zweite Schnittstelle zu einer Datenverbindung, dadurch gekennzeichnet, daß er Mittel aufweist, um ein Editierungsprogramm ( 22 ) zur Erstellung eines durch den Computer ( 20 ) selbst nicht ausführbaren Programmquelltextes (Q) auszuführen, und daß er Mittel aufweist, um über die erste und die zweite Schnittstelle ( 24 , 26 ) eine direkte Datenübertragung zwischen einem tragbaren Datenträger ( 10 ) und einem über die Datenverbindung ( 28 ) angeschlossenen, zweiten Computer ( 39 ) zu ermöglichen. 17. Computer zur Durchführung einer verteilten Erstellung eines ausführba­ ren Programmes für einen programmierbaren, tragbaren Datenträger, ent­ haltend zumindest eine erste Schnittstelle für einen Datenaustausch mit ei­ nem Datenträger sowie eine zweite Schnittstelle zu einer Datenverbindung, dadurch gekennzeichnet, daß er Mittel aufweist, um ein Editierungsprogramm (22) zur Erstellung eines durch den Computer (20) selbst nicht ausführbaren Programmquelltextes (Q) auszuführen, und daß er Mittel aufweist, um über die erste und die zweite Schnittstelle (24, 26) eine direkte Datenübertragung zwischen einem tragbaren Daten­ träger (10) und einem über die Datenverbindung (28) angeschlossenen, zweiten Computer (39) zu ermöglichen.
  18. 18
    A computer according to claim 17, characterized in that it comprises means having to run an SSL protocol. 18. Computer nach Anspruch 17, dadurch gekennzeichnet, daß er Mittel aufweist, um ein SSL-Protokoll auszuführen. 18. Computer nach Anspruch 17, dadurch gekennzeichnet, daß er Mittel aufweist, um ein SSL-Protokoll auszuführen.
  19. 19
    A system for distributed creation of an executable program for egg NEN programmable portable data carrier, including a contract Baren data carrier according to claim 9 and a computer according to Claim 12th 19. System zur verteilten Erstellung eines ausführbaren Programmes für einen programmierbaren, tragbaren Datenträger, beinhaltend einen tragbaren Datenträger gemäß Anspruch 9 sowie einem Computer gemäß Anspruch 12. 19. System zur verteilten Erstellung eines ausführbaren Programmes für ei­ nen programmierbaren, tragbaren Datenträger, beinhaltend einen trag­ baren Datenträger gemäß Anspruch 9 sowie einem Computer gemäß Anspruch 12.
  20. 20
    System according to claim 20, characterized in that it further comprises a computer according to claim 17 comprising. 20. System nach Anspruch 20, dadurch gekennzeichnet, daß es weiterhin einen Computer gemäß Anspruch 17 umfaßt. 20. System nach Anspruch 20, dadurch gekennzeichnet, daß es weiterhin einen Computer gemäß Anspruch 17 umfaßt.
Independent claims20