WO2002044890A2 - Anordnung zur befehlsübertragung - Google Patents
Anordnung zur befehlsübertragung Download PDFInfo
- Publication number
- WO2002044890A2 WO2002044890A2 PCT/DE2001/004451 DE0104451W WO0244890A2 WO 2002044890 A2 WO2002044890 A2 WO 2002044890A2 DE 0104451 W DE0104451 W DE 0104451W WO 0244890 A2 WO0244890 A2 WO 0244890A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command
- block
- transmission
- memory
- arrangement according
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 22
- 238000000034 method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
- G06K19/0772—Physical layout of the record carrier
- G06K19/07732—Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
Definitions
- the invention relates to an arrangement for command transmission with a command transmission unit with a transmission interface, a command reception unit with a reception interface and a transmission link for the block-wise transmission of a command from the command transmission unit to the command reception unit, the length of a block being fixed and one exceeding the maximum block length Command can be broken down into several blocks by the transmission interface.
- Command transmission in the manner indicated above is often used, the maximum block length being determined by a transmission protocol.
- the length of a command argument is often specified, the command argument itself and several check bits for monitoring a correct transmission.
- Such a block is supplemented by a start bit and stop bit at the beginning or end of the block.
- Such an arrangement for command transmission is also formed by chip cards, in particular multimedia cards.
- multimedia cards are known on the market in which the structure described above is used to transmit commands, for example the MultiMediaCard (MMC) and the so-called SD card.
- MMC MultiMediaCard
- SD card Secure Digital Card
- the standardized commands for both cards are limited to a length of 48 bits. 6 bits are assigned to the command index, i.e. the command number, and 32 bits to the command argument. This means that commands with an argument longer than 32 bits cannot be transferred easily.
- the number of basic possible commands is also limited to 64, corresponding to 6 bits.
- the MultiMediaCard (MMC) has two generic commands that enable the transmission of non-standard commands.
- the "APP_CMD” command enables the transmission of a new user-defined command, which, however, must have the same structure, that is to say the length, as the standard commands.
- the "GEN_CMD” command enables the transmission of a non-standard command, which is however transmitted via the data line. The command itself must be transmitted within a block, the maximum length of which is limited.
- the object of the invention is therefore to provide an arrangement for command transmission, with which commands with any length gene command arguments can be transmitted in a simple manner, the transmission speed should be very high.
- each block has at least one control bit for identification, and this is the last block of a command.
- commands can be transmitted with an arbitrarily long command argument without the data channel having to be used for this.
- Speed disadvantages are avoided because there is an easy way to determine whether the command has been completed or whether further command blocks are to follow.
- a bit is provided to indicate the completeness of an instruction. For example, a "1" means that more blocks will follow.
- blocks are lined up until a "0" is received as the control bit. So only one bit has to be checked.
- the entire command with the command argument is then in the command receiving unit in the form in which it was originally created in the command sending unit.
- the command receiving unit is a chip card, in particular a multimedia card.
- the chip card has a microprocessor for executing cryptographic commands and a memory module for accepting large amounts of data. The data quantities can then be encrypted or decrypted on the chip card.
- the memory chip and the microprocessor are separate components and the microprocessor has an additional smaller memory. Memory units in microprocessors, in particular in crypto processors, are well protected against unauthorized access by software and hardware attacks.
- Access to the memory is particularly advantageous if the microprocessor has a memory management unit by means of which the memory of the memory module and the memory of the microprocessor can be linearly addressed.
- FIG. 1 shows the basic structure of an arrangement for command transmission
- FIG. 2 shows a representation to illustrate the command set of a command transmission unit
- FIG. 3 shows the structural structure of an instruction
- FIG. 4 shows the breakdown of an instruction into blocks according to the invention
- FIG. 5 shows the division of the transmission into so-called channels
- Figure 6 shows an embodiment of a command receiving unit in an exemplary application
- Figure 7 shows the division of the memory into two areas.
- Figure 1 shows the basic arrangement of an arrangement for command transmission.
- a command transmission unit 1 is provided therein. This has means 2 for generating commands and a transmission interface 3, by means of which the commands are brought into a form suitable for transmission.
- a command receiving unit 4 is shown which has a receiving interface 5 corresponding to the transmission interface 3 and also has means 6 for further processing the commands.
- the transmission between the command transmission unit 1 and the command reception unit 4 takes place via a transmission link 7. This is based on a fixed protocol by which commands are transmitted in blocks, the length of a block being fixed. If a block is to be transmitted whose length exceeds the specified maximum block length, the command can be broken down into several blocks by the transmission interface 3.
- Instructions in the standard block length are generated by normal applications 8, as shown in FIG. 2.
- MMC multimedia card
- the length of a command block is fixed at 48 bits. 32 bits of it are provided for the command argument, which is completely sufficient for the standard commands and the standard applications, for example an MP3 player.
- Additional commands 9 are required for such applications. For these, the length of 32 bits is often not enough for the command argument, for example if a key is to be transmitted and this is longer than 32 bits for security reasons.
- the command transmission from the command transmission unit to the command reception unit runs, as shown in FIG. 2, via a command channel 7 and a data channel 11.
- a command channel 7 For reasons of speed and for reasons of a "clean" protocol data is preferably only transmitted via the command channel 7.
- FIG. 3 shows the structure of a command 20.
- a command code number 27 (tag) describes the command that is to be executed.
- the field 28 (length) indicates how many bits an instruction argument 29 has.
- Another field 30 (CH) specifies the channel to which the command is to be transmitted, that is, the application running on the command receiving unit for which the command is intended. This is described in one of the following paragraphs with reference to FIG. 5.
- a field 31 (CB), the so-called control byte, is provided.
- the transmitted command frame 21 now contains the bit sequence 24, which represents the command 20. This is preceded by a start bit 22, at the end of the command frame there are several check bits, in this case a checksum, 26 and a stop bit 23. Since the command argument 29 of the command can be of different lengths, it may be necessary to distinguish between the command argument 29 and the Checksum to insert any values to fill the space. This procedure is possible as long as command 20 does not exceed the maximum permissible length of 48 bits.
- FIG. 4 shows how commands are broken down into blocks according to the invention in order to also be able to transmit commands 20, the length of which exceeds 48 bits.
- the first 48 bits of the entire command 20 are transmitted in a first block.
- this also contains the command number 27 and the total length 28 of the command argument 29.
- This block is terminated with a start bit 22 and a stop bit 23, the checksum 26 is also inserted before the stop bit 23 and this bit sequence is transmitted as a command frame.
- the entire command 20 has not yet been transmitted with this block 32. Therefore the control byte CB contains the
- Blocks 32 an indication that another block will follow.
- the bits of the command argument 29 following the first block are transmitted.
- This block 33 also has a control byte CB, since it is possible for another block of commands to follow after this block 33.
- this block 33 also indicates that another block will follow.
- the remaining bits of the command argument 29 of the command 20 are now transmitted in the third transmitted command block 34. Since it is assumed in this example that all bits of the command 20 have now been transmitted, it is indicated in the control byte CB that no further block will follow.
- FIG. 5 now shows what the channel specification CH can be used in a command 20.
- Several applications can run simultaneously in a command receiving unit 4, in particular in a chip card. This is particularly useful if the chip card 4 is to be used for various functions. But even if there is only one main application to which a unique application number is assigned, a second application can run that performs security functions, for example. This application would have a different application number.
- These application numbers are assigned channel numbers, so that it is always clear to the command receiving unit 4 or the chip card for which application the command just received is intended.
- FIG. 6 shows an application for an arrangement for command transmission according to the invention.
- a multimedia card 4 as the command receiving unit has stored an encrypted file 43 in a memory chip 41. Moreover it has a cryptoprocessor 40 with a working memory 42.
- the multimedia card 4 receives a command 44 on the command channel which is to decrypt and output the file 43 stored in the memory 41, the cryptographic commands are used for decryption in the cryptoprocessor 40 processed.
- the security-relevant data, in particular the keys themselves, are stored in the working memory 42 of the crypto processor 40.
- the file 43 is now read from the memory module 41, decrypted and output as a readable file 45 via the data channel.
- the two memories 42 and 41 can be addressed linearly, although they are physically separate. This fact is shown in FIG. 7.
- the memory 41 can be freely accessed. For security reasons, this is not a problem
- the memory area in which data is also decrypted, is located on the processor 40 and is well protected there against software and hardware attacks.
- the chip card is only a command receiving unit. It is of course equally conceivable that the chip cards can also be used as a command transmission unit.
- the configuration according to the invention with a control bit or byte can also be used in this constellation.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Communication Control (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Die Erfindung betrifft eine Anordnung zur Befehlsübertragung mit einer Befehlssendeeinheit (1) und einer Befehlsempfangseinheit (4), die durch eine Übertragungsstrecke (7) miteinander verbunden sind. Befehle werden über die Übertragungsstrecke (7) blockweise übertragen, wobei die Länge eines Blocks festgelegt ist und ein die maximale blocklänge überschreitender Befehl (20) in mehrere Blöcke zerlegbar ist. Die Anordnung ist dadurch gekennzeichnet, dass jeder Block mindestens ein Kontrollbit aufweist zur Kennzeichnung, ob dies der letzte Block eines Befehls (20) ist.
Description
Beschreibung
Anordnung zur Befehlsübertragung
Die Erfindung betrifft eine Anordnung zur Befehlsübert agung mit einer Befehlssendeeinheit mit einer Sendeschnittstelle, einer Befehlsempfangseinheit mit einer Empfangsschnittstelle und einer Ubertragungsstrecke zur blockweisen Übertragung eines Befehls von der Befehlssendeeinheit zu der Befehlsemp- fangseinheit , wobei die Länge eines Blocks festgelegt ist und eine die maximale Blocklänge überschreitender Befehl durch die Sendeschnittstelle in mehrere Blöcke zerlegbar ist.
Eine Befehlsübertragung in der oben angegebenen Weise findet oft Anwendung, wobei die maximale Blocklänge durch ein Übertragungsprotokoll festgelegt ist. Neben einem Befehl oder einer Befehlsnummer ist oft die Länge eines Befehlsargumentes angegeben, das Befehlsargument selber sowie mehrere Prüfbits zur Überwachung einer ordnungsgemäßen Übertragung. Ein sol- eher Block wird durch ein Startbit und Stoppbit am Anfang beziehungsweise Ende des Blocks ergänzt .
Eine solche anordnung zur Befehlsübertragung wird auch durch Chipkarten, insbesondere Multimediakarten gebildet. Es sind mehrere Multimediakarten auf dem Markt bekannt, bei denen die oben beschriebene Struktur zur Übertragung von Befehlen Anwendung findet, beispielsweise die MultiMediaCard (MMC) wie auch die sogenannte SD-Card. Bei beiden Karten sind die standardisierten Kommandos auf eine Länge von 48 bit begrenzt. Dabei entfallen 6 Bits auf den Kommando-Index, also die Befehlsnummer, und 32 Bits auf das Befehlsargument . Somit lassen sich keine Befehle auf einfache Weise übertragen, deren Argument länger als 32 Bit ist. Auch ist die Anzahl der prinzipiellen möglichen Befehle auf 64 Stück entsprechend 6 Bit begrenzt.
Bei der MultiMediaCard (MMC) gibt es zwei generische Befehle, die die Übertragung nicht-standardisierter Befehle ermöglichen. Durch den Befehl "APP_CMD" wird die Übertragung eines neuen benutzerdefinierten Befehls ermöglicht, der jedoch von derselben Struktur, das heißt auch Länge sein muß, wie die Standardbefehle. Darüber hinaus ermöglicht der Befehl "GEN_CMD" die Übertragung eines nicht-standardisierten Befehls, der jedoch über die Datenleitung übertragen wird. Der Befehl selber muß innerhalb eines Blocks übertragen werden, dessen maximale Länge begrenzt ist.
Es ist allgemein bekannt, daß längere Informationsblöcke in kleinere Teile zerlegt werden können. Dies ist beispielsweise im OSI Referenz-Modell beschrieben. In dem dort beschriebenen Modell ist das Zerlegen in kleinere Einheiten und das anschließende Zusammensetzen jedoch relativ zeitaufwendig, was zu einer verhältnismäßig geringen Übertragungsgeschwindigkeit führt .
Aus der DE 37 29 732 AI ist eine Datenübertragungsvorrichtung und ein Verfahren bekannt, bei dem Daten zwischen Computern und peripheren Einheiten übertragen werden. Dabei ist jedem Datenblock eine Blocknummer zugeordnet. Die sich anschließenden Computer oder peripheren Einheiten sind mit einer Reihe von Blocknummern vorprogrammiert, die diejenigen Datenblöcke identifizieren, in die Daten eingeschrieben werden können oder von denen Daten zu lesen sind.
Aus der US 5,881,260 ist eine Vorrichtung und ein Verfahren bekannt, mit dem Befehle variabler Länge aus einem Speicher ausgelesen werden können, wobei zunächst die Länge der Befehle durch Absuchen einer Zeichenfolge auf Befehlstrennmarkierungen festgestellt und sodann der Programmzähler auf einen neuen Wert entsprechenden Wert gesetzt wird.
Aufgabe der Erfindung ist es daher, eine Anordnung zur Befehlsübertragung anzugeben, mit der Befehle mit beliebig lan-
gen Befehlsargumenten auf einfache Weise übertragen werden können, wobei die Übertragungsgeschwindigkeit sehr hoch sein soll.
Diese Aufgabe wird erfindungsgemäß durch eine Anordnung zur Befehlsübertragung der eingangs genannten Art gelöst, die dadurch gekennzeichnet ist, daß jeder Block mindestens ein Kontrollbit aufweist zur Kennzeichnung, und dies der letzte Block eines Befehls ist.
Durch die Ausgestaltung der Befehlsübertragung gemäß der Erfindung können Befehle mit einem beliebig langen Befehlsargument übertragen werden, ohne daß dafür der Datenkanal herangezogen werden muß. Geschwindigkeitsnachteile werden vermie- den, da eine einfache Möglichkeit besteht festzustellen, ob der Befehl abgeschlossen ist oder ob weitere Befehlsblöcke folgen. Im einfachsten Fall ist ein Bit vorgesehen, um die Vollständigkeit eines Befehls zu kennzeichnen. Beispielsweise bedeutet eine "1", daß weitere Blöcke folgen werden. Beim Empfang der Blöcke werden solange Blöcke einandergereiht , bis als Kontrollbit eine "0" empfangen wird. Es muß also nur ein Bit geprüft werden. Der gesamte Befehl mit dem Befehlsargument befindet sich dann in der Befehlsempfangseinheit in der Form, wie er ursprünglich in der Befehlssendeeinheit erstellt worden ist.
Besonders vorteilhaft ist die Anordnung, wenn die Befehlsempfangseinheit eine Chipkarte, insbesondere eine Multimediakarte ist. In einer besonders vorteilhaften Ausgestaltung weist die Chipkarte einen Mikroprozessor zur Durchführung krypto- grafischer Befehle und einen Speicherbaustein zur Aufnahme großer Datenmengen auf. Die Datenmengen können dann auf der Chipkarte ver- beziehungsweise entschlüsselt werden. Für die Sicherheit der Daten ist es von Vorteil, wenn der Speicher- baustein und der Mikroprozessor getrennte Komponenten sind und der Mikroprozessor einen zusätzlichen kleineren Speicher aufweist. Speichereinheiten in Mikroprozessoren, insbesondere
in Kryptoprozessoren, sind gegen unbefugten Zugriff durch Software- und Hardwareattacken gut geschützt.
Der Zugriff auf den Speicher ist besonders vorteilhaft, wenn der Mikroprozessor eine Speicherverwaltungseinheit aufweist, durch die der Speicher des Speicherbausteins und der Speicher des Mikroprozessors linear adressierbar sind.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei- spieles näher erläutert. Es zeigt:
Figur 1 den prinzipiellen Aufbau einer Anordnung zur Befehlsübertragung,
Figur 2 eine Darstellung zur Veranschaulichung des Befehlssatzes einer Befehlssendeeinheit ,
Figur 3 den strukturellen Aufbau eines Befehls,
Figur 4 die Zerlegung eines Befehls in Blöcke gemäß der Erfindung,
Figur 5 die Gliederung der Übertragung in sogenannte Channels,
Figur 6 ein Ausführungsbeispiel einer Befehlsempfangseinheit in einem exemplarischen Anwendungsfall und
Figur 7 die Aufteilung des Speichers in zwei Bereiche.
Die Figur 1 zeigt die prinzipielle Anordnung einer Anordnung zur Befehlsübertragung. Darin ist eine Befehlssendeeinheit 1 vorgesehen. Diese weist Mittel 2 zum Generieren von Befehlen sowie einer Sendeschnittstelle 3 auf, durch die die Befehle in eine für die Übertragung geeignete Form gebracht werden. Andererseits ist eine Befehlsempfangseinheit 4 dargestellt,
die eine der Sendeschnittstelle 3 entsprechende Empfangs- schnittsteile 5 aufweist und außerdem Mittel 6 zur Weiterverarbeitung der Befehle besitzt. Die Übertragung zwischen der Befehlssendeeinheit 1 und der Befehlsempfangseinheit 4 er- folgt über eine Ubertragungsstrecke 7. Dieser liegt ein festes Protokoll zugrunde, durch welches festgelegt ist, daß Befehle blockweise übertragen werden, wobei die Länge eines Blocks festgelegt ist. Wenn ein Block übertragen werden soll, dessen Länge über die festgelegte maximale Blocklänge hinaus- geht, so ist der Befehl durch die Sendeschnittstelle 3 in mehrere Blöcke zerlegbar.
Befehle in der Standard-Blocklänge werden durch normale Applikationen 8 erzeugt, wie in Figur 2 dargestellt ist. Bei der MMC genannten Multimediakarte ist die Länge eines Befehlsblocks auf 48 Bit festgelegt. 32 Bit davon sind für das Befehlsargument vorgesehen, was für die Standardbefehle und die Standardapplikationen, beispielsweise einen MP3-Player, völlig genügt. Im Zuge von Bestrebungen, eine größere Sicher- heit für die Daten auf Multimediakarten zu erreichen, ist jedoch das Arbeiten mit Verschlüsselungsalgorithem notwendig geworden. Für solche Anwendungen sind zusätzliche Befehle 9 notwendig. Für diese ist oftmals die Länge von 32 Bit für das Befehlsargument zu wenig, beispielsweise wenn ein Schlüssel übertragen werden soll und dieser aus Sicherheitsgründen länger als 32 Bit ist.
Durch diese beiden Befehlsgruppen ergibt sich ein erweiterter Befehlssatz 10, der sowohl Befehle beinhaltet, die innerhalb eines 48 Bit-Blocks übertragen werden können, und andererseits Sicherheitsbefehle aufweist, deren Argumentlänge größer als die möglichen 32 Bit ist.
Die Befehlsübertragung von der Befehlssendeeinheit zu der Be- fehlsempfangseinheit läuft, wie in Figur 2 dargestellt, über einen Befehlskanal 7 sowie einen Datenkanal 11. Aus Geschwin- digkeitsgründen und aus Gründen eines "sauberen" Protokolls
werden Daten vorzugsweise nur über den Befehlskanal 7 übertragen.
Die Figur 3 zeigt die Struktur eines Befehls 20. Eine Be- fehlskennummer 27 (Tag) beschreibt den Befehl, der ausgeführt werden soll. Das Feld 28 (Lenght) gibt an, wieviele Bits ein Befehlsargument 29 besitzt. Ein weiteres Feld 30 (CH) gibt an, auf welchen Channel der Befehl übertragen werden soll, das heißt für welche auf der Befehlsempfangseinheit ablaufen- de Applikation der Befehl bestimmt ist. Dies wird in einem der nachfolgenden Absätze anhand der Figur 5 beschrieben. Schließlich ist ein Feld 31 (CB) , das sogenannte Control Byte vorgesehen. Der übertragene Befehlsrahmen 21 beinhaltet nun die Bitfolge 24, die den Befehl 20 darstellt. Dem wird ein Startbit 22 vorangestellt, am Ende des Befehlsrahmens befinden sich mehrere Prüfbits, in diesem Fall eine Prüfsumme, 26 und ein Stoppbit 23. Da das Befehlsargument 29 des Befehls unterschiedlich lang sein kann, ist es gegebenenfalls notwendig, zwischen dem Befehlsargument 29 und der Prüfsumme belie- bige Werte einzufügen, um den Raum auszufüllen. Dieses Vorgehen ist möglich, solange der Befehl 20 die maximal zulässige Länge von 48 Bit nicht überschreitet.
In Figur 4 ist dargestellt, wie Befehle in Blöcke gemäß der Erfindung zerlegt sind, um auch Befehle 20 übertragen zu können, deren Länge über die 48 Bit hinausgeht. Zunächst werden die ersten 48 Bit des gesamten Befehls 20 in einem ersten Block übertragen. Darin sind neben dem Control Byte CB und der Channelangabe CH auch die Befehlskennummer 27 und die Ge- samtlänge 28 des Befehlsargumentes 29 enthalten. Dieser Block wird wird mit einem Startbit 22 und einem Stoppbit 23 abgeschlossen, zudem vor dem Stoppbit 23 noch die Prüfsumme 26 eingefügt und diese Bitfolge als Befehlsrahmen übertragen. Allerdings ist mit diesem Block 32 noch nicht der gesamte Be- fehl 20 übertragen. Daher enthält das Control Byte CB des
Blocks 32 einen Hinweis, daß noch ein weiterer Block folgen wird. In dem anschließend übertragenen Block 33 werden die
sich an den ersten Block anschließenden Bits des Befehlsargumentes 29 übertragen. Auch dieser Block 33 besitzt ein Control Byte CB, da es möglich ist, daß auch nach diesem Block 33 ein weiterer Befehlsblock folgt. In dem in Figur 4 gezeig- tem Beispiel steht auch in diesem Block 33 der Hinweis, daß noch ein weiterer Block folgen wird. In dem dritten übertragenen Befehlsblock 34 werden nun die restlichen Bits des Befehlsargumentes 29 des Befehls 20 übertragen. Da in diesem Beispiel angenommen wird, daß nun sämtliche Bits des Befehls 20 übertragen sind, ist in dem Control Byte CB gekennzeichnet, daß nun kein weiterer Block folgen wird. Beim Empfang dieses Befehlsblocks in der Befehlsempfangseinheit 4 werden die empfangenen Blöcke so lange aneinandergesetzt , bis ein Block die Angabe enthält, daß zu diesem Befehl nun keine wei- teren Blöcke mehr folgen werden. Nachdem der Befehl nun vollständig in der Befehlsempfangseinheit 4 vorliegt, kann er durch die Mittel 6 abgearbeitet werden.
In der Figur 5 ist nun dargestellt, wozu die Channelangabe CH in einem Befehl 20 verwertbar ist. In einer Befehlsempfangseinheit 4, insbesondere in einer Chipkarte, können mehrere Applikationen gleichzeitig ablaufen. Dies ist insbesondere dann sinnvoll, wenn die Chipkarte 4 für verschiedene Funktionen eingesetzt werden soll. Aber auch wenn es nur eine Hauptapplikation gibt, der eine eindeutige Applikationsnummer zugeordnet ist, kann eine zweite Applikation laufen, die beispielsweise Sicherheitsfunktionen ausführt. Diese Applikation würde eine andere Applikationsnummer erhalten. Diesen Applikationsnummern sind Channel-Nummern zugeordnet, so daß für die Befehlsempfangseinheit 4 beziehungsweise die Chipkarte immer klar ist, für welche Applikation der gerade empfangene Befehl bestimmt ist.
In der Figur 6 ist eine Anwendung für eine erfindungsgemäße Anordnung zur Befehlsübertragung dargestellt. Eine Multimediakarte 4 als Befehlsempfangseinheit hat eine verschlüsselte Datei 43 in einem Speicherbaustein 41 gespeichert. Außerdem
besitzt sie einen Kryptoprozessor 40 mit einem Arbeitsspeicher 42. Wenn die Multimediakarte 4 einen Befehl 44 auf dem Befehlskanal erhält, der lautet, die in dem Speicher 41 gespeicherte Datei 43 zu entschlüsseln und auszugeben, so wer- den die kryptografischen Befehle zur Entschlüsselung in dem Kryptoprozessor 40 abgearbeitet. Die sicherheitsrelevanten Daten, insbesondere die Schlüssel selber, sind dabei in dem Arbeitsspeicher 42 des Kryptoprozessors 40 gespeichert. Die Datei 43 wird nun aus dem Speicherbaustein 41 ausgelesen, entschlüsselt und als lesbare Datei 45 über den Datenkanal ausgegeben. Um eine einfachere Programmierung zu begünstigen, sind die beiden Speicher 42 und 41 linear adressierbar, obwohl sie physikalisch getrennt sind. Dieser Sachverhalt ist in Figur 7 dargestellt. Auf den Speicher 41 kann frei zuge- griffen werden. Aus Sicherheitsaspekten stellt dies keine
Einschränkung dar, da in diesem Ausführungsbeispiel dort nur verschlüsselte Daten abgelegt sind. Der Speicherbereich, in dem Daten auch entschlüsselt vorliegen, befindet sich auf dem Prozessor 40 und ist dort vor Software- und Hardwareattacken gut geschützt.
Im Rahmen des Ausführungsbeispieles wurde immer davon ausgegangen, daß es sich bei der Chipkarte nur um eine Befehlsempfangseinheit handelt. Genauso ist es natürlich denkbar, daß die Chipkarten auch als Befehlssendeeinheit eingesetzt wird. Die erfindungsgemäße Ausgestaltung mit einem Kontrollbit beziehungsweise -byte kann auch in dieser Konstellation Anwendung finden.
Claims
1. Anordnung zur Befehlsübertragung mit
- einer Befehlssendeeinheit (1) mit einer Sendeschnittstelle (3) ,
- einer Befehlsempfangseinheit (4) mit einer Empfangsschnittstelle (5) und
- einer Ubertragungsstrecke (7) zur blockweisen Übertragung eines Befehls (20) von der Befehlssendeeinheit (1) zu der Befehlsempfangseinheit (4) , wobei die durch Anzal der Bits gekennzeichnete Länge eines Blocks festgelegt ist und ein die maximale Blocklänge überschreitender Befehl (20) durch die Sendeschnittstelle (3) in mehrere Blöcke zerlegbar ist, d a d u r c h g e k e n n z e i c h n e t, daß jeder Block mindestens ein Kontrollbit (CB) aufweist zur Kennzeichnung, ob dies der letzte Block eines Befehls (20) ist .
2. Anordnung nach Anspruch 1 , d a d u r c h g e k e n n z e i c h n e t, daß die Befehlsempfangseinheit (4) eine Chipkarte, insbesondere eine Multimediakarte ist .
3. Anordnung nach Anspruch 2 , d a d u r c h g e k e n n z e i c h n e t, daß die Chipkarte (4) einen Mikroprozessor (40) zur Durchführung kryptografischer Befehle und einen Speicherbaustein (41) zur Aufnahme großer Datenmengen aufweist .
4. Anordnung nach Anspruch 3 , d a d u r c h g e k e n n z e i c h n e t, daß der Speicherbaustein (41) eine Speicherkapazität größer als
1 MB aufweist .
5. Anordnung nach Anspruch 3 , d a d u r c h g e k e n n z e i c h n e t, daß der Mikroprozessor (40) und der Speicherbaustein (41) getrennte Komponenten sind und der Mikroprozessor (40) einen zusätzlichen kleineren Speicher (42) aufweist, der gegen unbefugten Zugriff durch Software- und Hardwareattacken ge- schützt ist.
6. Anordnung nach Anspruch 5 , d a d u r c h g e k e n n z e i c h n e t, daß der Mikroprozessor (40) eine Speicherverwaltungseinheit auf- weist, durch die der Speicher des Speicherbausteins (41) und der Speicher des Mikroprozessors (40) linear adressierbar sind.
7. Anordnung nach Anspruch 3 , d a d u r c h g e k e n n z e i c h n e t, daß über die Ubertragungsstrecke übertragene Blöcke an eine von der Befehlsempfangseinheit (4) bestimmte Adresse geschrieben werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10059098.5 | 2000-11-28 | ||
DE2000159098 DE10059098A1 (de) | 2000-11-28 | 2000-11-28 | Anordnung zur Befehlsübertragung |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002044890A2 true WO2002044890A2 (de) | 2002-06-06 |
WO2002044890A3 WO2002044890A3 (de) | 2003-01-16 |
Family
ID=7665002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2001/004451 WO2002044890A2 (de) | 2000-11-28 | 2001-11-27 | Anordnung zur befehlsübertragung |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE10059098A1 (de) |
TW (1) | TW565775B (de) |
WO (1) | WO2002044890A2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300985C (zh) * | 2003-04-04 | 2007-02-14 | 华为技术有限公司 | 在二层虚拟专用网络中处理超长报文的方法 |
CN101369223B (zh) * | 2007-08-17 | 2012-01-04 | 上海奇码数字信息有限公司 | 指令编码方法和处理器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050166A (en) * | 1987-03-17 | 1991-09-17 | Antonio Cantoni | Transfer of messages in a multiplexed system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0685529B2 (ja) * | 1986-09-05 | 1994-10-26 | 株式会社日立製作所 | デ−タ伝送方法および装置 |
US5881260A (en) * | 1998-02-09 | 1999-03-09 | Hewlett-Packard Company | Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction |
-
2000
- 2000-11-28 DE DE2000159098 patent/DE10059098A1/de not_active Withdrawn
-
2001
- 2001-11-02 TW TW90127309A patent/TW565775B/zh active
- 2001-11-27 WO PCT/DE2001/004451 patent/WO2002044890A2/de not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050166A (en) * | 1987-03-17 | 1991-09-17 | Antonio Cantoni | Transfer of messages in a multiplexed system |
Non-Patent Citations (1)
Title |
---|
"BITS: A SMARTCARD PROTECTED OPERATING SYSTEM" COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ASSOCIATION FOR COMPUTING MACHINERY. NEW YORK, US, Bd. 37, Nr. 11, 1. November 1994 (1994-11-01), Seiten 66-70,94, XP000485634 ISSN: 0001-0782 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300985C (zh) * | 2003-04-04 | 2007-02-14 | 华为技术有限公司 | 在二层虚拟专用网络中处理超长报文的方法 |
CN101369223B (zh) * | 2007-08-17 | 2012-01-04 | 上海奇码数字信息有限公司 | 指令编码方法和处理器 |
Also Published As
Publication number | Publication date |
---|---|
DE10059098A1 (de) | 2002-06-13 |
TW565775B (en) | 2003-12-11 |
WO2002044890A3 (de) | 2003-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3606869C2 (de) | Vorrichtung zur Datenkompression | |
EP1246043A2 (de) | Verfahren zur Übertragung von Daten über einen Datenbus | |
DE19782169C2 (de) | Kryptographisch geschütztes Seitenwechsel-Subsystem | |
DE102007016467B3 (de) | Transponder mit Zugriffsschutz und Verfahren zum Zugriff auf den Transponder | |
EP1883906B1 (de) | Tragbarer datenträger mit sicherer datenverarbeitung | |
EP1426849A1 (de) | Verfahren zur Programmierung von Flash-E-PROMs in einer mit einem Mikroprozessor ausgerüsteten Steuerelektronik für Strassenfahrzeuge | |
EP0811204B1 (de) | Verarbeitung langer nachrichten in einer chipkarte | |
DE102007050463A1 (de) | Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger | |
DE60116195T2 (de) | Vorrichtung und Verfahren zur Verschleierung von Eingangsparametern | |
DE102005046462B4 (de) | Netzwerkkomponente für ein Kommunikationsnetzwerk, Kommunikationsnetzwerk und Verfahren zur Bereitstellung einer Datenverbindung | |
DE69621168T2 (de) | Verfahren und System zur Software-Codierung und -Decodierung | |
DE102005039128A1 (de) | Sicherheitseinrichtung für elektronische Geräte | |
EP3576001A1 (de) | Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung | |
WO2002044890A2 (de) | Anordnung zur befehlsübertragung | |
DE69904290T2 (de) | Datenträgervorrichtung mit datenbus deren energieverbrauch unabhängig ist von den über den datenbus gesendeten daten | |
EP1643405A1 (de) | Manipulationsgeschütztes Mikroprozessorsystem und Betriebsverfahren dafür | |
WO2004013821A1 (de) | Einrichten eines dateisystems in einem datenträger | |
EP0384478A2 (de) | Verfahren zum Ver- und Entschlüsseln eines Nachrichtenstromes | |
DE60316183T2 (de) | Verfahren und vorrichtung zur abwechselnden aktivierung einer austauschbaren hardwareeinheit | |
EP1482453A2 (de) | Verfahren zum Laden von Daten in eine Speichereinrichtung | |
WO2003067438A2 (de) | Schlüsselmanagementeinrichtung und verfahren zur verschlüsselten ablage von digitalen datenwörtern | |
DE10162310A1 (de) | Verfahren und Anordnung zur Übertragung von Signalen von erzeugenden Funktionseinheiten an verarbeitende Funktionseinheiten elektrischer Schaltungen | |
DE10001126A1 (de) | Chipkarte als Dongle | |
WO1998039743A2 (de) | Verfahren zur durchführung von veränderungen in berechtigungsdatensätzen | |
EP1460510B1 (de) | Verfahren zur sicheren Kommunikation zwischen einer Datenverarbeitungsanlage und einer Sicherheitseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): BR CA CN IL IN JP KR MX RU UA US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |