DE102005058878B4 - Datentransfervorrichtung und Verfahren zum Senden von Daten - Google Patents

Datentransfervorrichtung und Verfahren zum Senden von Daten Download PDF

Info

Publication number
DE102005058878B4
DE102005058878B4 DE102005058878A DE102005058878A DE102005058878B4 DE 102005058878 B4 DE102005058878 B4 DE 102005058878B4 DE 102005058878 A DE102005058878 A DE 102005058878A DE 102005058878 A DE102005058878 A DE 102005058878A DE 102005058878 B4 DE102005058878 B4 DE 102005058878B4
Authority
DE
Germany
Prior art keywords
data
transfer device
counter
data transfer
value
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.)
Active
Application number
DE102005058878A
Other languages
English (en)
Other versions
DE102005058878A1 (de
Inventor
Peter Dr. Laackmann
Marcus Janke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102005058878A priority Critical patent/DE102005058878B4/de
Priority to US11/608,479 priority patent/US20070162653A1/en
Priority to KR1020060124613A priority patent/KR100831533B1/ko
Publication of DE102005058878A1 publication Critical patent/DE102005058878A1/de
Application granted granted Critical
Publication of DE102005058878B4 publication Critical patent/DE102005058878B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/067Record 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/07Record 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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/086Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means by passive credit-cards adapted therefor, e.g. constructive particularities to avoid counterfeiting, e.g. by inclusion of a physical or chemical security-layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • H04B1/04Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers

Abstract

Datentransfervorrichtung (100; 200) mit folgenden Merkmalen:
einer Datensendeeinrichtung (160) zum Senden von an einem Dateneingang (100a; 200a) der Datentransfervorrichtung (100; 200) eingehenden Daten über einen Datenausgang (100b; 200b);
einem Zähler (170; 270) zum Dekrementieren/Inkrementieren eines Zählerwerts für jedes den Datenausgang (100b; 200b) passierende Byte oder jede Folge einer vorbestimmten Anzahl von Bytes oder Bits; und
einer Überwachungseinrichtung (180; 280) zum Überwachen des Zählerwertes, ob derselbe eine vorbestimmte Bedingung erfüllt, und zum Ausgeben eines Alarmsignals, falls dies der Fall ist.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Datentransfervorrichtung, insbesondere auf einen UART (UART = universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender), wie er beispielsweise bei Chipkarten oder auch bei Smartcards eingesetzt werden kann.
  • Bereits in einfacheren Mikrocontroller-Schaltungen werden Sende- und Empfangseinheiten zum Empfang und zur Übermittlung von Daten an außerhalb des Mikrocontrollers angeschlossene Schaltungselemente und andere Komponenten verwendet, da die Sende- und Empfangseinheiten eine CPU (CPU = central processing unit = Zentralprozessor), die einen Mikrocontroller typischerweise aufweist, dadurch entlastet, dass die Sende- und Empfangseinheit Daten, die beispielsweise von der CPU bereitgestellt werden, beispielsweise unter anderem mit Synchronisationsinformationen versieht und auf einer Signalebene aufbereitet und übermittelt. Wäre eine entsprechende Sende- und Empfangseinheit nicht mit auf dem Mikrocontroller bzw. auf einem Chip, der den entsprechenden Mikrocontroller umfasst, implementiert, müsste die CPU die Aufgaben der Sende- und Empfangseinheit mit übernehmen. Hierdurch würde die Effizienz des Mikrocontrollers deutlich sinken, da dieser beispielsweise in der Zeit, in der Daten gesendet werden, keine weiteren Operationen ausführen kann.
  • Aus diesem Grund weisen heutige Mikrocontroller entsprechende Sende- und Empfangseinheiten auf, die mit auf dem Chip implementiert sind. Häufig werden entsprechende Sende- und Empfangseinheiten als UART (UART = universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender) bezeichnet. Häufig sind UARTs direkt mit einem Bus eines Mikrocontrollers, an den typischerweise auch eine CPU und ein Speicher angeschlossen sind, gekoppelt. Da sehr häufig, insbesondere im Bereich von Chipkarten bzw. Smartcards, eine Kommunikation zwischen dem Mikrocontroller und einer äußeren Komponente, beispielsweise einem Chipkarten-Lesegerät, seriell erfolgt, besteht die Aufgabe der UART darin, die auf dem meist als parallelem Bus ausgeführten Bus des Mikrocontrollers eingehenden Daten unter anderem mit Synchronisationsinformationen und Checksummen zu ergänzen und diese Daten dann in Form serieller Signale an einem entsprechenden Anschluss bereitzustellen.
  • Da Chipkarten heute häufig gerade im Bereich der Sicherheitsüberwachung eingesetzt werden, beispielsweise im Bereich der Zugangskontrolle zu nicht öffentlich zugänglichen Bereichen, zu Computersystemen oder aber auch zur Speicherung von vertraulichen Daten, beispielsweise zur Speicherung privater Schlüssel im Rahmen eines Public-Key-Verfahrens, sind solche Chipkarten bzw. die auf ihnen integrierten Mikrocontroller, die auch als Security-Controller bezeichnet werden, häufig Angriffen ausgesetzt. Ein häufig eingesetzter Angriff gegen Security-Controller besteht darin, dass mittels eines als Fehlerinduktion bezeichneten Verfahrens versucht wird, bei einer Ausgabeoperation mehr Daten aus dem Chip des Security-Controllers ausgeben zu lassen als eigentlich geplant bzw. von dem Programmierer des Security-Controllers beabsichtigt war. So soll im vorliegenden Beispiel nach einem Reset (Zurücksetzen) des Security-Controllers dieser eine als ATR bezeichnete Bytefolge (ATR = answer to reset = Antwort auf ein Zurücksetzen) mit einer Länge von 16 Byte ausgeben. Wird nun von einem Angreifer der Security-Controller in dieser Phase so gestört, dass weitere Bytes ausgegeben werden, bis beispielsweise insgesamt 256 Bytes unplanmäßig ausgegeben worden sind, besteht die Möglichkeit, dass unter den zusätzlich ausgegebenen Bytes auch geheime Informationen enthalten sein können.
  • Es sind viele verschiedene Möglichkeiten bekannt und beschrieben, um einerseits den Ursprung eines solchen Fehleran griffs zu detektieren, beispielsweise durch den Einsatz von Sensoren in dem Security-Controller, oder aber andererseits die Entstehung eines entsprechenden Fehlers in einem als Kern des Chips bezeichneten Bereich, der beispielsweise die CPU, den Speicher sowie eventuell vorhandene Kryptoprozessoren und (Pseudo-) Zufallszahlengeneratoren umfasst, zu verhindern oder zu detektieren. All diese Ansätze haben jedoch den Nachteil, dass sie relativ aufwendig sind. So benötigen sie im Allgemeinen ein hohes Maß an Entwicklungsarbeit und sind in der Realisierung des Endproduktes häufig sehr teuer.
  • Die EP 0 696 016 A2 bezieht sich auf ein Verfahren zur Verwaltung der Sicherheit eines kartenartigen Speichermediums und auf ein kartenartiges Speichermedium. Genauer gesagt bezieht sie sich auf eine Vorrichtung und ein Verfahren zur Verwaltung der Sicherheit einer Chipkarte, wie etwa einer bargeldlosen Bezahlkarte, einer Identifizierungskarte, einer medizinischen Gesundheitskarte, einer örtlichen Verwaltungsservicekarte oder einer ähnlichen Chipkarte, wobei das Ziel verfolgt wird, jede Transaktion der Chipkarte mit einem Objekt mit verbesserter Sicherheitsstufe durchzuführen. Die erlaubte Anzahl von Zugriffen auf eine Datendatei im Rahmen jeder Transaktion ist zuvor festgelegt. Wird eine Transaktion begonnen zwischen dem kartenartigen Speichermedium und einer Transaktionsvorrichtung begonnen, wird die Zahl der Zugriffe auf die Datendatei nach dem Start der Transaktion gezählt und die gezählte Zahl der Zugriffe wird mit der erlaubten Zahl der Zugriffe verglichen. Übersteigt die Zahl der Zugriffe die erlaubte Zahl der Zugriffe, wird dies als ein aufgetretener Fehler bewertet, so dass die Transaktion unterbrochen wird.
  • Die WO 02/05098 A1 bezieht sich auf ein sicheres Datenspeichergerät, das einen Datenspeicher und eine Zugriffssteuerschaltung enthält. Die Zugriffssteuerschaltung behält einen Versuchszählerstand von ungültigen Zugriffsversuchen und einen Zugriffszählstand von erlaubten Zugriffen auf den Speicher. Die Zugriffssteuerschaltung deaktiviert den Zugriff auf den Speicher, wenn der Zählerstand für Versuche oder der Zählerstand für Zugriffe einen jeweiligen, vorbestimmten Wert überschreitet. Die Zählerstände werden in Speicherzellen mit durchbrennbaren Verbindungen behalten.
  • Die WO 01/54057 A1 bezieht sich auf eine integrierte Sicherheitsschaltung, beispielsweise einen Mikrocontroller für Chipkarten, und enthält eine Funktionseinheit, die eine Sicherheitsfunktion ausführt. Eine Steuerungseinrichtung ermittelt die Anzahl der Ausführungen der Sicherheitsfunktionen pro Zeit. Bei Überschreiten eines Schwellenwertes wird die weitere Ausführung der Sicherheitsfunktionen blockiert. Hierzu ist vorzugsweise eine einen Ladungsspeicher umfassende analoge Uhr vorgesehen, die auch bei abgeschalteter Versorgungsspannung die verstreichende Zeit misst. Ein Benutzungszähler wird bei jedem Aufruf der Sicherheitsfunktion aktualisiert. Die Sicherheitsschaltung bietet erhöhten Schutz gegen statistische Angriffe.
  • Die DE 198 31 884 A1 bezieht sich auf ein System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen. Jeder geheimen Information, insbesondere Schlüsseln, wird ein Zähler zugeordnet. Der Zähler zählt die Anzahl der Benutzungen der geheimen Informationen. Hierbei wird der Zähler auf einen Anfangswert eingestellt. Jede Benutzung des geheimen Datenelements erhöht den Zählerstand um einen definierten Wert. Erreicht der Zählerstand einen Maximalwert, wird die Benutzung des geheimen Datenelementes gesperrt. Die Sperrung des geheimen Datenelements kann jedoch verhindert werden, wenn durch Eintreten eines definierten Ereignisses vor Erreichen des Maximalwertes eines Zählers der Zählerstand automatisch wieder auf den Ausgangswert zurückgesetzt wird. Als Ereignis lässt sich jede technische, wirtschaftliche oder organisatorische Bedingung definieren. Hierdurch ist es möglich, dass jedem Schlüssel ein eigener Zähler zugeordnet werden kann, so dass unterschiedliche Benutzungszahlen für jeden Schlüssel im Hinblick auf seine Funktion festgelegt werden können. Da eine Chipkarte eine beliebige Anzahl von Schlüsseln für verschiedenste Anwendungen enthalten kann, beschränkt sich die Sperrung dann jeweils nur auf die betreffende Anwendung. Insbesondere wird die Benutzung der Chipkarte daher nicht als Ganzes gesperrt.
  • Die DE 198 18 830 A1 bezieht sich auf ein Verfahren und eine Anordnung zur Verhinderung der missbräuchlichen Verwendung der auf einem Chipkarten-Interface vorhandenen Identifizierungsprozeduren, bei denen eine übermäßige Nutzung der Authentifizierungsprozeduren durch Bestimmung der absoluten Nutzungshäufigkeit und/oder der relativen Nutzungshäufigkeit pro Zeitintervall durchgeführt wird. Wird ein Missbrauchsfall erkannt, wird die Chipkarte gesperrt, kann jedoch mittels eines geeigneten Schlüssels, gegebenenfalls in Verbindung mit kryptographischen Verfahren auch ferngesteuert, und diesbezüglich noch ausführbarer Prozeduren auf dem Chipkarten-Interface entsperrt werden.
  • Die US 6,726,108 B1 bezieht sich auf ein Gerät zur Begrenzung von Betrugsversuchen an integrierten Schaltungskarten, wie etwa Chipkarten. Ein integriertes Schaltungsgerät hat hierbei einen Speicherbereich, der einen Datenspeicher beinhaltet. Der Datenspeicher hat ein Zählerelement und ein Anzeigeelement. Das Zählerelement zählt wenigstens eine Zahl des Auftretens von Ereignissen oder Vorfällen innerhalb des Geräts. Erreicht das Zählerelement einen Schwellenwert, der eine große, maximale Zahl des Auftretens von Ereignissen oder Vorfällen andeutet, geht das Anzeigeelement von einem ersten Zustand in einen zweiten Zustand über, was beispielsweise zur Folge haben kann, dass eine Deaktivierungseinrichtung die Chipkarte deaktiviert.
  • Die US 6,282,653 B1 bezieht sich auf ein Verfahren zur Einsammlung von Lizenzgebühren und ein System zur Verwendung von urheberrechtlich geschützten digitalen Materials im Internet. Die US 6,282,653 B1 beschreibt ein Verfahren, ein System und ein Computerprogrammprodukt zur Durchsetzung der Lizenzgebühreintreibung im Hinblick auf eine Online-Verteilung von elektronisch veröffentlichtem Material über ein Computernetzwerk. Das Verfahren zur Verwaltung der Verwendung einer digitalen Datei mit einem in dem urheberrechtlichen Schutz unterworfenen Inhalt im Auftrag eines Inhaltanbieters beginnt mit der Etablierung eines Zählers für eine Anzahl erlaubter Kopien der digitalen Datei. In Abhängigkeit eines gegebenen Protokolls wird eine Kopie der digitalen Datei selektiv von der Quelle zu einem Ziel transferiert. So kann beispielsweise die Quelle und das Ziel auf dem gleichen Computer beheimatet sein, wobei die Quelle ein Plattenspeichersystem und das Ziel ein Wiedergabegerät sein kann, wie etwa ein Drucker, eine Anzeige, eine Soundkarte oder Ähnliches. Im Rahmen des Verfahrens wird eine Markierung jedes Mal festgehalten, wenn die digitale Datei von der Quelle zu dem Wiedergabegerät transferiert wird. Der Zähler wird bei jedem Transfer dekrementiert. Erreicht der Zähler einen vorgegebenen Wert, beispielsweise Null, wird die Datei zerstört oder auf eine andere Art und Weise wird der Transport von der Quelle verhindert. Die registrierten Anzeigen werden zu einem Verwaltungsserver übertragen, um die Bezahlung der Lizenzgebühren an den Inhaltsanbieter zu ermöglichen.
  • Ausgehend von diesem Stand der Technik besteht die Aufgabe der vorliegenden Erfindung darin, eine Datentransfervorrichtung und ein Verfahren zum Senden von an einem Dateneingang eingehenden Daten über einen Datenausgang mit einer verbesserten Sicherheit gegenüber Angriffen, die eine unerwünschte Datenausgabe herbeiführen zu versuchen, zu schaffen.
  • Diese Aufgabe wird durch eine Datentransfervorrichtung gemäß Anspruch 1, durch ein Verfahren gemäß Anspruch 11 und durch ein Computer-Programm gemäß Anspruch 12 gelöst.
  • Die erfindungsgemäße Datentransfervorrichtung weist eine Datensendeeinrichtung zum Senden von an einem Dateneingang der Datentransfervorrichtung eingehenden Daten über einen Datenausgang, einen Zähler zum Dekrementieren/Inkrementieren eines Zählerwerts für jedes den Datenausgang passierende Datum und eine Überwachungseinrichtung zum Überwachen des Zählerwertes, ob derselbe eine vorbestimmte Bedingung erfüllt, und zum Ausgeben eines Alarmsignals, falls dies der Fall ist, auf.
  • Bei dem erfindungsgemäßen Verfahren zum Senden von an einem Dateneingang eingehenden Daten über einen Datenausgang wird ein Datums über den Datenausgang gesendet, ein Zählerwert inkrementiert oder dekrementiert, überwacht, ob der Zählerwert eine vorbestimmte Bedingung erfüllt, und wenn der Zäh lerwert die vorbestimmte Bedingung erfüllt, ein Alarmsignal ausgegeben.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass die Sicherheit eines Security-Controllers dadurch verbessert werden kann, dass Angriffe auf eine Ausgabefunktion des Security-Controllers blockiert werden können, indem eine Datentransfervorrichtung so erweitert wird, dass diese durch Dekrementieren oder Inkrementieren eines Zählwerts eines Zählers und Vergleichen des Zählwerts mit einem Vergleichswert das Senden von Daten über einen Datenausgang der Datentransfervorrichtung beschränkt.
  • Ein weiterer Vorteil der erfindungsgemäßen Datentransfervorrichtung und des erfindungsgemäßen Verfahrens zum Senden von an einem Dateneingang eingehenden Daten über einen Datenausgang besteht darin, dass dieses Konzept einfach und sehr preisgünstig umgesetzt werden kann, so dass insbesondere für relativ preisgünstige Security-Controller Angriffe auf die Ausgabefunktion, sogenannte Dumps, blockiert werden können. Der konstruktive und entwicklungstechnische Aufwand kann. hierbei durch eine Umsetzung im Vergleich zu bekannten Lösungen dadurch deutlich reduziert werden, dass neben einer Einführung einer erfindungsgemäß modifizierten Datentransfereinrichtung in vielen denkbaren Ausführungsformen nur eine geringfügige Anpassung der Programmierung der Security-Controller notwendig ist, wie im weiteren Verlauf der vorliegenden Anmeldung erläutert wird.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockschaltbild eines ersten Ausführungsbeispiels eines Security-Controllers mit einer erfindungsgemäßen Datentransfervorrichtung; und
  • 2 ein Blockschaltbild eines zweiten Ausführungsbeispiels eines Security-Controllers mit einer erfindungsgemäßen Datentransfervorrichtung.
  • Bezug nehmend auf die 1 und 2 wird nun ein erstes Ausführungsbeispiel eines Security-Controllers mit einer erfindungsgemäßen Datentransfervorrichtung beschrieben. Hierbei werden in den 1 und 2 für gleiche bzw. ähnliche Objekte gleiche bzw. ähnliche Bezugszeichen verwendet.
  • Den in 1 und 2 gezeigten Ausführungsbeispielen liegen zwei unterschiedliche Vorgehensweise für eine Überwachung einer Anzahl von gesendeten Daten zu Grunde. Während in dem in 1 gezeigten Ausführungsbeispiel ausgehend von einem Startwert, beispielsweise von 0, die Zahl der gesendeten Daten durch Inkrementieren eines Zählers bestimmt und von einer Vergleichseinrichtung bzw. Überwachungseinrichtung mit einem Vergleichswert bzw. Zielwert verglichen bzw. überwacht bzw. überprüft wird, wird in dem in 2 gezeigten Ausführungsbeispiel der Zähler mit einem Startwert initialisiert und mit jedem einen Datenausgang passierenden Datums dekrementiert. Die Vergleichseinrichtung bzw. Überwachungseinrichtung gibt in diesem Fall das Alarmsignal bei Erreichen des Vergleichswertes bzw. des Zielwertes, im vorliegenden Ausführungsbeispiel bei dem Erreichen des Wertes 0, aus. Grundsätzlich ist es jedoch nicht notwendig, der Vergleichseinrichtung bzw. der Überwachungseinrichtung den Zählwert des Zählers zu übermitteln. So ist es durchaus auch denkbar, dass das Alarmsignal ausgegeben wird, wenn eine vorbestimmte Bedingung erfüllt ist, also beispielsweise das „Überlaufen" oder „Unterlaufen" des Zählerwertes, was beispielsweise durch ein Setzen eines Carry-Flags als Über/Unterlaufsignal angezeigt werden kann. Alternativ ist es auch möglich, nur das Erreichen eines Wertes zu überprüfen, indem beispielsweise ein Setzen eines einen Zählerwert 0 anzeigendes Zero-Flag überwacht bzw. überprüft wird. Allgemein gesprochen kann das Erfüllen der vorbestimmten Bedingung somit beispielsweise dem Erreichen, Überschreiten oder Unterschreiten eines Zielwertes durch den Zählerwert bzw. Zählwert, aber auch dem erfüllen einer vorbestimmten Beziehung zwischen Zählerwert und dem Vergleichswert oder dem Zielwert entsprechen.
  • 1 zeigt ein Blockschaltbild eines Ausführungsbeispiels einer Datentransfervorrichtung 100, die ein Security-Controller 110 neben einer CPU 120 (CPU = central processing unit = Zentralprozessor), einem Speicher 130 und einem Bus 140 umfasst. Der Bus 140 verbindet die CPU 120 und den Speicher 130. Darüber hinaus ist die Datentransfervorrichtung 100 über einen Dateneingang 100a ebenfalls mit dem Bus 140 gekoppelt. Der Bus 140 kann hierbei prinzipiell als beliebiger Datenbus ausgeführt sein. Typischerweise ist der Bus 140 zur parallelen oder seriellen Datenübertragung ausgelegt, wobei bevorzugt eine parallele Datenübertragung implementiert wird, da diese im Allgemeinen eine höhere Datentransferrate ermöglicht.
  • Die Datentransfervorrichtung 100 weist neben dem Dateneingang 100a auch einen Datenausgang 100b auf, der mit einem externen Anschluss 150 verbunden ist. Der externe Anschluss 150 kann als Anschlusspin oder als Kontaktfläche eines Chips, in den der Controller bzw. Security-Controller 110 integriert ist, im Fall einer kontaktbehafteten Kommunikation mit einer äußeren, in 1 nicht gezeigten Schaltung ausgeführt sein. Im Falle einer kontaktlosen Kommunikation mit einer äußeren Schaltung ist der externe Anschluss 150 häufig mit einer Induktivität (z. B. einer Spule oder einer oder mehreren Windungen einer Antennenspule oder einer anderen Induktivität), einer Kapazität, einem Schwingkreis, einer Antenne oder einer anderen Vorrichtung zur Kommunikation mittels Funkwellen gekoppelt.
  • Da typischerweise Daten über den Datenausgang 100b der Datentransfervorrichtung 100 mit Hilfe eines seriellen Übertragungsprotokolls übertragen bzw. gesendet werden, die Daten an dem Dateneingang 100a der Datentransfervorrichtung 100 typischerweise jedoch mit einem parallelen Datentransferprotokoll übertragen werden, wird die Datentransfervorrichtung 100 häufig auch als UART (universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender) bezeichnet.
  • Die Datentransfervorrichtung 100 bzw. der UART 100 weist eine Datensendeeinrichtung 160 mit einem ersten Anschluss, der an den Dateneingang 100a gekoppelt ist, und mit einem zweiten Anschluss, der mit dem Datenausgang 100b gekoppelt ist, einen Zähler 170 und eine Überwachungseinrichtung 180 bzw. Vergleichseinrichtung 180 auf. Der Zähler 170 ist hierbei mit einem ersten Anschluss ebenfalls an den Datenausgang 100b und mit einem zweiten Anschluss an die Vergleichseinrichtung 180 gekoppelt. Die Vergleichseinrichtung 180 weist neben einem ersten Anschluss, mit dem sie an den Zähler 170 gekoppelt ist, einen zweiten Anschluss auf, über den sie mit der CPU 120 verbunden ist.
  • Unter normalen Betriebszuständen und wenn der Security-Controller 110 nicht mit einer in 1 nicht gezeigten äußeren Schaltung kommuniziert, also insbesondere an diese in
  • 1 nicht gezeigte äußere Schaltung Daten sendet, können die CPU 120 und der Speicher 130 miteinander über den Bus 140 Daten austauschen. Eine Übermittlung von Daten aus dem Security-Controller 110 an eine äußere Schaltung übernimmt prinzipiell der UART 100. Die Datensendeeinrichtung 160 übernimmt hierbei sowohl die Protokollwandlung (paralleles Protokoll in serielles Protokoll), die eigentliche Ausgabe der Daten sowie die hierzu notwendige Signalanpassung. Die Datensendeeinrichtung 160 empfängt also in dem parallelen Protokoll des Busses 140 die Daten, bereitet diese auf und stellt an ihrem zweiten Anschluss einen entsprechend aufbereiteten seriellen Datenstrom bereit.
  • Der UART 100 weist eine Sicherheitsschaltung auf, die prinzipiell in alle existierenden Security-Controller implementierbar ist und deren zentrale Komponenten der Zähler 170 und die Vergleichseinrichtung 180 sind. Diese Erweiterung des UART 100 ermöglicht es, wie im Folgenden detailliert erörtert wird, beispielsweise durch eine Kopplung der Vergleichseinrichtung 180 mit dem Bus 140, vor einem beabsichtigten Senden von Daten an eine äußere Schaltung über den externen Anschluss 150 der Vergleichseinrichtung 180 einen Vergleichswert zur Verfügung zu stellen. Mit anderen Worten kann vor einer geplanten Ausgabe von Daten die UART 100 auf einen bestimmten Wert programmiert werden. Durch ein Erfassen der Zahl der über den Datenausgang 100b gesendeten Daten durch den Zähler 170 und durch ein Vergleichen des Zählerwerts des Zählers 170 mit dem voreingestellten oder dem der Vergleichseinrichtung 180 zur Verfügung gestellten Vergleichswert kann somit die Anzahl der von der UART 100 ausgegebenen Daten, also der ausgegebenen Bytes, erfasst und daraufhin beschränkt werden. Hierzu wird durch eine Ankündigung einer beabsichtigten Sendung von Daten der Zähler 170 auf einen vorbestimmten Startwert initialisiert, also beispielsweise auf einen Zählerwert 0 gesetzt. Hierbei kann auch der Vergleichseinrichtung 180 zeitgleich der Vergleichswert übermittelt werden, so dass die Übermittlung des Vergleichswertes und die Initialisierung gleichzeitig durchgeführt werden kann. Die Initialisierung und die Übermittlung des Vergleichswertes kann aber auch zeitlich getrennt, beispielsweise durch getrennte Befehlsfolgen durch die CPU 120, erfolgen. Werden nun dem UART 100 an dem Dateneingang 100a Daten zur Verfügung gestellt, so werden diese von der Datensendeeinrichtung 160 aufbereitet und an dem Datenausgang 100b ausgegeben.
  • Aufgrund der Kopplung des Zählers 170 an den Datenausgang 100b der UART 100 weist der Zählerwert des Zählers 170 die Anzahl der seit der letzten Initialisierung des Zählers 170 gesendeten Daten auf. Da der Zähler 170 den Zählerwert der Vergleichseinrichtung 180 zur Verfügung stellt, kann die Vergleichseinrichtung 180 bei Überschreiten des Vergleichswerts durch den Zählerwert an dem zweiten Anschluss der Vergleichseinrichtung 180 ein Alarmsignal erzeugen, das wiederum der CPU 120 zur Verfügung gestellt wird. Die CPU 120 kann so bei einem Eintreffen des Alarmsignals beispielsweise so ausgelegt sein, dass die in dem Moment des Eintreffens ausgeführte Operation abgebrochen wird. Darüber hinaus ist es auch möglich, dass der gesamte Security-Controller 110 durch die CPU 120 in diesem Fall angehalten wird oder dass ein anderer auf dem Chip, der den Security-Controller 110 umfasst, implementierter Schutzmechanismus ausgelöst wird. Mit anderen Worten, wird versucht, mehr als die vorgegebene Anzahl an Bytes auszugeben, so kann der erfindungsgemäße UART 100 je nach Ausführung die laufende Operation stoppen oder auch einen Alarm senden, der dann den gesamten Chip stoppen kann.
  • 2 zeigt ein Blockschaltbild eines zweiten Ausführungsbeispiels eines erfindungsgemäßen Security-Controllers bzw. eines Security-Controller-Chips 110, der sich von dem in 1 gezeigten ersten Ausführungsbeispiel nur durch den Aufbau der erfindungsgemäßen Datentransfervorrichtung 200 bzw. dem erfindungsgemäßen UART 200 unterscheidet. Auch der in 2 dargestellte Security-Controller 110 weist eine CPU 120, einen Speicher 130, einen Bus 140 und einen externen Anschluss 150 auf, die identisch zu dem in 1 gezeigten Ausführungsbeispiel eines Security-Controllers 110 verschaltet sind. Der URRT 200 weist ebenso wie der UART 100 aus 1 einen Dateneingang 200a und einen Datenausgang 200b auf. Ebenso wie der Dateneingang 100a des UART 100 ist der Dateneingang 200a des UART 200 mit dem Bus 140 gekoppelt. Darüber hinaus ist auch der Datenausgang 200b des UART 200 mit dem externen Anschluss 150 gekoppelt, wie dies schon das Ausführungsbeispiel aus 1 gezeigt hat. Im Inneren des UART 200 ist der Dateneingang 200a mit einem ersten Anschluss einer Datensendeeinrichtung 160 und der Datenausgang 200b mit einem zweiten Anschluss der Datensendeeinrichtung 160 verbunden, wobei die Datensendeeinrichtung 160 auch hier mit der in 1 gezeigten übereinstimmt.
  • Der UART 200 weist darüber hinaus einen Zähler 270, eine Vergleichseinrichtung 280 und eine Bereitstellungseinrichtung 290 auf. Der Zähler 270 ist hierbei mit einem ersten Anschluss an den Datenausgang 200b, mit einem zweiten Anschluss an die Vergleichseinrichtung 280 und mit einem dritten Anschluss an einen ersten Anschluss der Bereitstellungseinrichtung 290 gekoppelt. Die Bereitstellungseinrichtung 290 ist darüber hinaus mit einem zweiten Anschluss an den Dateneingang 200a des UART 200 gekoppelt. Die Vergleichseinrichtung 280 weist neben einem ersten Anschluss, über den sie mit dem Zähler 270 verbunden ist, einen zweiten Anschluss auf, über den sie mit der CPU 120 verbunden ist.
  • Die Funktionsweise und das Zusammenspiel der CPU 120, des Speichers 130 und des Busses 140 unterscheidet sich von dem in 1 gezeigten Ausführungsbeispiel eines Security-Controllers 110 nicht, so dass für die Beschreibung der Funktionsweise auf die entsprechenden Absätze weiter oben verwiesen wird. Auch die Funktionsweise der Datensendeeinrichtung 160 des UART 200 unterscheidet sich nicht von der Funktionsweise der Datensendeeinrichtung 160 des UART 100 aus 1.
  • Um in dem in 2 gezeigten Ausführungsbeispiel einen Angriff auf die Ausgabefunktion des Security-Controllers 110, also einen sogenannten Dump, zu blockieren, wird zunächst die Anzahl an Bytes, die von dem Security-Controller 200 ausgegeben werden dürfen, bestimmt. Auch in dem in 2 gezeigten Ausführungsbeispiel wird wiederum die tatsächliche Ausgabe direkt an dem Datenausgang 200b des UART 200, der als ein Ausgabemodul des Security-Controllers 110 fungiert, kontrolliert. Der UART 200 weist somit wiederum eine Kontrollfunktion zur Überwachung der an dem Datenausgang 200b tatsächlich gesendeten Datenmenge auf. Im Falle des erfindungsgemäßen UART 200, wie er auf dem Security-Controller 110, der in 2 gezeigt ist, zum Einsatz kommt, kann beispielsweise durch den Zähler 270 die Ausgabe der Start/Frame-Bits des seriellen Datenstroms der Datensendeeinrichtung 160 abgegriffen und detektiert werden, so dass die Start/Frame-Bits des seriellen Datenübertragungsprotokolls auf den Zähler 270 wirken, der diese letztendlich zählt.
  • Im Unterschied zu dem in 1 gezeigten Ausführungsbeispiel eines Security-Controllers 110 wird in diesem Fall der Zähler jedoch nicht inkrementiert, sondern dekrementiert. Zu diesem Zweck wird nach einer vorherigen Bestimmung der Anzahl der zu sendenden Bytes, die beispielsweise durch die CPU 120 erfolgen kann, die entsprechende Anzahl um 1 erhöht und der Bereitstellungseinrichtung 290 als Startwert zur Verfügung gestellt bzw. übermittelt. Die Erhöhung der Anzahl der zusenden Bytes um 1 kann alternativ auch von der Bereitstellungseinrichtung 290 mit übernommen werden. Die Bestimmung der auszugebenden Anzahl der Bytes kann hierbei Teil der Programmierung des Security-Controllers 110 sein. Dies kann beispielsweise so ausgeführt sein, dass die Programmierung des Security-Controllers 110 vor jeder Ausgabe eine oder mehrere Befehlszeilen aufweist, die der Bereitstellungseinrichtung 290, beispielsweise durch ein Schreiben in ein bestimmtes Register oder in eine bestimmte Adresse, die Zahl der geplanten bzw. beabsichtigten Datenmenge mitteilt. Die Bereitstellungseinrichtung 290 initialisiert daraufhin den Zähler 270 mit dem Startwert. Daraufhin wird mit jedem Start/Frame-Bit, das die Datensendeeinrichtung 160 an dem Datenausgang 200b ausgibt, der Zähler 270 um 1 reduziert. Über die Verbindung zwischen dem Zähler 270 und der Vergleichseinrichtung 280 bzw. der Überwachungseinrichtung steht der Vergleichseinrichtung 280 nun jeweils der aktuelle Zählerwert zur Verfügung. Erreicht dieser einen vorbestimmten oder auch beispielsweise von der CPU 120 bestimmten Vergleichswert, also beispielsweise den Wert 0, gibt die Vergleichseinrichtung ein Alarmsignal an ihrem zweiten Anschluss aus, das beispielsweise, wie dies 2 auch zeigt, der CPU 120 zugeführt werden kann. Wie bereits im Zusammenhang mit dem in 1 gezeigten Ausführungsbeispiel erläutert wurde, ist es so möglich, in dem Fall, wenn versucht wird, mehr als die vorgegebene Anzahl an Bytes auszugeben, ein Stoppen der laufenden Operation oder auch ein Senden eines Alarms herbeizuführen, so dass der ganze Chip, der den Security-Controller 110 umfasst, gestoppt werden kann.
  • In den einführenden Abschnitten der vorliegenden Anmeldung wurde bereits als ein mögliches Angriffsszenario eine Störung des Security-Controllers im Rahmen eines durchgeführten Reset (Zurücksetzens) des Security-Controllers 110 diskutiert. Wie bereits dort erläutert wurde, wird im Rahmen eines Reset durch den Security-Controller 110 eine Bytefolge an dem externen Anschluss 150 ausgegeben, die auch als ATR (ATR = answer to reset = Antwort auf ein Zurücksetzen) bezeichnet wird. Je nach verwendetem Protokoll weist das ATR-Signal eine bestimmte Länge auf. Beträgt diese Länge beispielsweise 16 Byte, so wird die Software im Security-Controller 110 so programmiert, dass der Zähler 270 der UART 200 durch die Bereitstellungseinrichtung 290 auf einen Alarmwert bzw. einen Vergleichswert oder Startwert von 17 eingestellt wird. Anschließend führt der Security-Controller 110 bzw. genauer gesagt die CPU 120 die Ausgabe der ATR-Bytefolge aus, wobei im vorliegenden Beispiel planmäßig 16 Byte ausgegeben werden sollen. Stört nun während der nun folgenden Ausgabe der 16 Byte der ATR-Bytefolge ein Angreifer den Security-Controller 110 beispielsweise mittels Lichtimpulsen, Ionenbeschuss, gezielten Spannungsstößen begleitet von oder auch durch andere invasive Maßnahmen, wie beispielsweise das Rückschleifen oder Rückätzen bestimmter Bereiche des Chips, der den Security-Controller 110 umfasst, in der Form, dass das auf der CPU 120 ablaufende Programm nun weitere Bytes ausgeben würde, greift die durch den Zähler 270, die Bereitstellungs einrichtung 290 und die Vergleichseinrichtung 280 implementierte Kontrollfunktion ein.
  • Gelingt es also einem Angreifer, die Ausgabe des Security-Controllers 110 bzw. die Ausgabe der CPU 120 so zu manipulieren, dass mehr als die beabsichtigten 16 Bytes ausgegeben würden, löst die Vergleichseinrichtung 280 im Zusammenhang mit dem Zähler 270 im Inneren der URRT 200 nun jedoch bei Erreichen des 17. Bytes, also in dem vorliegenden Fall bei Erreichen des Vergleichswertes 0 durch den Zählwert, einen Alarm aus, so dass im vorliegenden Ausführungsbeispiel der CPU 120 ein Alarmsignal zugeführt wird, so dass die CPU 120 den Alarm bzw. den Angriff erkennt und geeignete Gegenmaßnahmen, beispielsweise einen erneuten Reset (Sicherheitsreset), ergreifen kann. In diesem Fall ist der Angriff fehlgeschlagen.
  • Sowohl die Zähler 170, 270 wie auch der Speicher für den Alarmwert bzw. Vergleichswert können in Form eines SFR (SFR = special function register = Spezialfunktionsregister) ausgeführt sein. Hierbei ist es durchaus möglich, dass der entsprechende SFR räumlich im Bereich der CPU 120 angeordnet ist. Darüber hinaus ist es ebenfalls möglich, das SFR durch besondere Maßnahmen gegen invasive Eingriffe zu schützen. Denkbar ist hier beispielsweise eine räumliche Anordnung des SFR in einem Bereich des Chips, der den Security-Controller 110 umfasst, der eine hohe Dichte an funktionalen Elementen, beispielsweise Transistoren, Kondensatoren oder andere Bauelemente, aufweist, die für die Funktionsweise des Security-Controllers 110 unabdingbar sind. Hierdurch wird ein invasiver Eingriff in den Security-Controller 110 dadurch erschwert, dass mit hoher Wahrscheinlichkeit umliegende Bereiche im Rahmen eines invasiven Eingriffs mit beschädigt werden, so dass die gesamte Funktionsweise des Security-Controllers 110 nicht mehr gewährleistet ist bzw. dieser bei dem Eingriff zerstört wird.
  • Bei den in 1 und 2 gezeigten Ausführungsbeispielen ist die Datensendeeinrichtung 160 auf dem Security-Controller 110 bzw. dem Security-Controller-Chip 110 festverdrahtet (hardwired) und hierbei so ausgelegt, dass sie jedes an ihrem ersten Anschluss, und damit an dem Dateneingang 100a, 200a des erfindungsgemäßen UART 100, 200, bereitgestellte Datum entsprechend aufbereitet an ihrem zweiten Anschluss, und damit an dem Datenausgang 100b, 200b des erfindungsgemäßen UART 100, 200 ausgibt. In den hier beschriebenen Ausführungsbeispielen ist sie also als nicht-programmierbar ausgeführt und weist keine interne Logik zur Überwachung der Anzahl, Beschaffenheit oder des Inhalts der gesendeten Daten auf.
  • Obwohl in den in den 1 und 2 gezeigten Ausführungsbeispielen implizit davon ausgegangen wurde, dass der Zähler 170, 270 mit einer Schrittweite von 1 inkrementiert bzw. dekrementiert wurde, ist im Prinzip hier eine beliebige Schrittweise denkbar. So kann die Schrittweise beispielsweise von der Art des zu sendenden Datums abhängen, also beispielsweise ebenfalls von der CPU 120 einstellbar bzw. programmierbar sein. Typischerweise beträgt die Schrittweite beim Inkrementieren bzw. Dekrementieren des Zählerwerts des Zählers 170, 270 jedoch 1. Darüber hinaus kann sich sowohl der Zählerwert des Zählers 170, 270 wie auch der Vergleichswert sowohl auf ein Byte, ein Bit, ein Datenwort der CPU 120 bzw. des Speichers 130 oder auf eine andere beliebige Zahl von Bits beziehen.
  • Wie bereits im Zusammenhang mit dem in 1 gezeigten ersten Ausführungsbeispiel erläutert wurde, kann die erfindungsgemäße Datentransfervorrichtung 100, 200 bzw. der erfindungsgemäße UART 100, 200 zur Kommunikation mit einer äußeren Schaltung neben einer kontaktbehafteten Kommunikation über einen elektrischen Kontakt des die UART 100, 200 umfassenden Chips bzw. Security-Controller-Chips 110, beispielsweise in Form eines Pins oder einer Kontaktfläche, auch über eine berührungslose bzw. kontaktlose Kommunikation erfolgen. In diesem Fall ist der externe Anschluss 150 nicht an einen Pin bzw. an eine Kontaktfläche, sondern an eine Sendevorrichtung angeschlossen. Erfolgt beispielsweise die Kommunikation über Funkwellen, kann es sich bei dieser Sendevorrichtung beispielsweise um eine Induktivität, eine Kapazität, einen Schwingkreis, eine Antenne oder auch eine komplexere Funk-Sendevorrichtung handeln, die Daten beispielsweise über eine Amplitudenmodulation, eine Frequenzmodulation oder eine Phasenmodulation kodiert senden kann. Erfolgt die Signalübermittlung hingegen auf optischem Wege, wobei im Rahmen der vorliegenden Anmeldung unter einer optischen Signalübermittlung neben einer Signalübermittlung im sichtbaren Wellenlängenbereich auch eine Signalübermittlung im Infrarotbereich, im Mikrowellenbereich und im ultravioletten Bereich verstanden wird, so kann zum Senden beispielsweise eine LED (LED = light emitting diode = Leuchtdiode), eine Laserdiode oder auch eine andere Lichtquelle eingesetzt werden.
  • Obwohl die in den 1 und 2 gezeigten bevorzugten Ausführungsbeispiele eines Security-Controllers 110 nur die CPU 120, den Speicher 130, den Bus 140 und die Datentransfervorrichtung 100, 200 umfasst haben, kann ein entsprechender Security-Controller 110 durchaus weitere Komponenten aufweisen. Zu diesen weiteren Komponenten zählen z. B. Krypto-Prozessoren, (Pseudo-) Zufallszahlengeneratoren, Sensoren für elektrische, mechanische, chemische oder andere Größen, andere Komponenten für bestimmte Aufgaben (Spezialkomponenten) sowie weitere Anschlüsse und Datentransfervorrichtungen zur Kommunikation mit äußeren Schaltungen, insbesondere Empfangseinrichtungen, gehören.
  • Abweichend von den hier beschriebenen Ausführungsbeispielen ist darüber hinaus auch eine Realisierung des Zählers 170, 270 und der Vergleichseinrichtung 180, 280 denkbar, bei der der Vergleichswert der Vergleichseinrichtung 180, 280 und der Startwert des Zählers 170, 270 von den erwähnten Werten abweichende, vorbestimmte oder beeinflussbare Werte aufweist.
  • So ist es durchaus denkbar, dass beispielsweise der Zähler 170, 270 mit einem Startwert von 40 initialisiert wird, der Zähler jeweils bei einem Passieren eines Bytes des Datenausgangs 100b, 200b um 8 inkrementiert wird und die Vergleichseinrichtung 180, 280 bei einem Vergleichswert von 64 ein Alarmsignal ausgibt.
  • Grundsätzlich ist es darüber hinaus auch denkbar, dass ein fester, vorbestimmter Vergleichswert im Rahmen der UART 100, 200 zum Einsatz kommt, dass also nicht der Vergleichswert beispielsweise durch eine entsprechende Programmierung der CPU 120 verändert werden kann. Entsprechend ist es auch denkbar, dass ein fester, vorbestimmter Startwert zum Einsatz kommt, dass also der Startwert nicht beispielsweise durch die CPU 120 geändert werden kann. Hierdurch ergibt sich die Möglichkeit, mit nur einer vergleichsweise einfachen und beschränkten Änderung des Layouts durch Einführung eines erfindungsgemäß modifizierten UART 100, 200 die Sicherheit Angriffen gegenüber von Security-Controllern 110 zu verbessern. Eine solche „Nachrüstung", also ein Tausch eines herkömmlichen UART gegen einen modifizierten, erfindungsgemäßen UART 100, 200 ist prinzipiell in alle Security-Controller denkbar und kann kostengünstig implementiert werden, so dass sich auch für günstige, im unteren Preissegment angesiedelte Security-Controller 110 durch eine erfindungsgemäße Datentransfereinrichtung entscheidend verbessert werden kann.
  • Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Senden von an einem Dateneingang eingehenden Daten über einen Datenausgang in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium insbesondere einer Diskette, einer CD oder einer DVD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit auf einem maschinen lesbaren Träger gespeichertem Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
  • 100
    UART
    110
    Security-Controller
    120
    CPU
    130
    Speicher
    140
    Bus
    150
    externer Anschluss
    160
    Datensendeeinrichtung
    170
    Zähler
    180
    Vergleichseinrichtung
    200
    UART
    270
    Zähler
    280
    Vergleichseinrichtung
    290
    Bereitstellungseinrichtung

Claims (12)

  1. Datentransfervorrichtung (100; 200) mit folgenden Merkmalen: einer Datensendeeinrichtung (160) zum Senden von an einem Dateneingang (100a; 200a) der Datentransfervorrichtung (100; 200) eingehenden Daten über einen Datenausgang (100b; 200b); einem Zähler (170; 270) zum Dekrementieren/Inkrementieren eines Zählerwerts für jedes den Datenausgang (100b; 200b) passierende Byte oder jede Folge einer vorbestimmten Anzahl von Bytes oder Bits; und einer Überwachungseinrichtung (180; 280) zum Überwachen des Zählerwertes, ob derselbe eine vorbestimmte Bedingung erfüllt, und zum Ausgeben eines Alarmsignals, falls dies der Fall ist.
  2. Datentransfervorrichtung (100; 200) nach Anspruch 1, wobei die vorbestimmte Bedingung in einem Erreichen, Überschreiten oder Unterschreiten eines Zielwertes besteht.
  3. Datentransfervorrichtung (200) nach einem der vorhergehenden Ansprüche, wobei die Datentransfervorrichtung (200) eine Bereitstellungseinrichtung (290) zum Bereitstellen eines Vergleichswerts als Zielwert aufweist.
  4. Datentransfervorrichtung (100; 200) nach einem der vorhergehenden Ansprüche, wobei die Datentransfervorrichtung (100; 200) ein UART (UART = universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender) ist und über einen Datenbus (140) mit einer CPU (120) (CPU = central processing unit = Zentralprozessor) verbunden ist.
  5. Datentransfervorrichtung (100; 200) nach Anspruch 4, bei der der Vergleichswert durch eine auf der CPU (120) ablaufende Software einstellbar ist.
  6. Datentransfervorrichtung (100; 200) nach einem der vorhergehenden Ansprüche, bei der die Datentransfervorrichtung auf einem Security-Controller-Chip (110) implementiert ist und zum Senden von Daten an eine Chip-externe Komponente ausgelegt ist.
  7. Datentransfervorrichtung (100; 200) nach einem der vorhergehenden Ansprüche, bei der der Zähler (170; 270) ausgelegt ist, um den Zählerwert für jedes den Datenausgang (100b; 200b) passierendes Byte oder jede Folge einer vorbestimmten Anzahl von Bytes oder Bits um Eins zu dekrementieren.
  8. Datentransfervorrichtung (200) nach Anspruch 7, bei der der Zähler (270) mit einem Startwert initialisierbar ist und die Überwachungseinrichtung (280) ausgebildet ist, um das Alarmsignal auszugeben, wenn der Zähler (270) den Zählwert 0 annimmt.
  9. Datentransfervorrichtung (100; 200) nach einem der vorhergehenden Ansprüche, bei der die Datensendeeinrichtung (160) festverdrahtet ist und ausgebildet ist, um die an dem Dateneingang (100a; 200a) der Datentransfervorrichtung (100; 200) eingeschriebenen Daten auf jeden Fall zu senden.
  10. Datentransfervorrichtung (100; 200) nach einem der vorhergehenden Ansprüche, bei der die Überwachungseinrichtung (180; 280) Bestandteil des Zählers (170; 270) ist, der bei einem Unterlaufen oder Überlaufen des Zählerwertes ein Über/Unterlaufsignal als Alarmsignal ausgibt.
  11. Verfahren zum Senden von an einem Dateneingang (100a; 200a) eingehenden Daten über einen Datenausgang (100b; 200b) mit folgenden Schritten: Senden eines Byte oder eine Folge einer vorbestimmten Anzahl von Bytes oder Bits über den Datenausgang (100b; 200b); Inkrementieren oder Dekrementieren eines Zählerwerts; Überwachen, ob der Zählerwert eine vorbestimmte Bedingung erfüllt; und wenn der Zählerwert die vorbestimmte Bedingung erfüllt, Ausgeben eines Alarmsignals.
  12. Computer-Programm mit einem Programmcode zum Durchführen des Verfahrens zum Senden von an einem Dateneingang (100a; 200a) eingehenden Daten über einen Datenausgang (100b; 200b) nach Anspruch 11, wenn das Computer-Programm auf einem Computer abläuft.
DE102005058878A 2005-12-09 2005-12-09 Datentransfervorrichtung und Verfahren zum Senden von Daten Active DE102005058878B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005058878A DE102005058878B4 (de) 2005-12-09 2005-12-09 Datentransfervorrichtung und Verfahren zum Senden von Daten
US11/608,479 US20070162653A1 (en) 2005-12-09 2006-12-08 Data transfer device and method of transmitting data
KR1020060124613A KR100831533B1 (ko) 2005-12-09 2006-12-08 데이터 전송 장치 및 데이터 전송 방법과 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005058878A DE102005058878B4 (de) 2005-12-09 2005-12-09 Datentransfervorrichtung und Verfahren zum Senden von Daten

Publications (2)

Publication Number Publication Date
DE102005058878A1 DE102005058878A1 (de) 2007-06-14
DE102005058878B4 true DE102005058878B4 (de) 2007-08-09

Family

ID=38055922

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005058878A Active DE102005058878B4 (de) 2005-12-09 2005-12-09 Datentransfervorrichtung und Verfahren zum Senden von Daten

Country Status (3)

Country Link
US (1) US20070162653A1 (de)
KR (1) KR100831533B1 (de)
DE (1) DE102005058878B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506337B1 (ko) 2008-03-07 2015-03-26 삼성전자주식회사 스마트 카드 시스템 및 그 구동 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0696016A2 (de) * 1994-08-01 1996-02-07 Fujitsu Limited Verfahren zum Handhaben der Sicherheit einer Speicherkarte und Speicherkarte
DE19818830A1 (de) * 1998-04-27 1999-10-28 Deutsche Telekom Mobil Verfahren und Anordnung zur Verhinderung der mißbräuchlichen Verwendung der auf einem Chipkarten-Interface vorhandenen Authentifizierungsprozeduren
DE19831884A1 (de) * 1998-07-17 2000-01-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
WO2001054057A1 (de) * 2000-01-19 2001-07-26 Infineon Technologies Ag Integrierte sicherheitsschaltung
US6282653B1 (en) * 1998-05-15 2001-08-28 International Business Machines Corporation Royalty collection method and system for use of copyrighted digital materials on the internet
WO2002005098A1 (en) * 2000-07-07 2002-01-17 Activesky, Inc. A secure data storage device
US6726108B1 (en) * 1998-11-17 2004-04-27 Schlumberger Systemes Device for limiting fraud in an integrated circuit card

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269027A (ja) * 1997-03-26 1998-10-09 Toshiba Corp ディスク装置及び同装置におけるバッファ管理制御方法
JP4207325B2 (ja) 1998-09-03 2009-01-14 ソニー株式会社 データ同期装置、データ同期方法、およびデータ同期装置を有する非接触icカード
JP3743173B2 (ja) * 1998-09-08 2006-02-08 富士通株式会社 半導体集積回路
EP2665062A3 (de) * 1998-12-11 2016-10-19 Sony Corporation Technik zur Steuerung des Kopierens von Daten
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
US6704280B1 (en) * 1999-06-10 2004-03-09 Nortel Networks Limited Switching device and method for traffic policing over a network
JP2002175261A (ja) 2000-12-05 2002-06-21 Oki Electric Ind Co Ltd データ転送制御回路
US6989484B2 (en) * 2001-04-17 2006-01-24 Intel Corporation Controlling sharing of files by portable devices
US7237007B2 (en) * 2001-12-05 2007-06-26 Qualcomm Incorporated Method and system for flow control between a base station controller and a base transceiver station
JP3566699B2 (ja) * 2002-01-30 2004-09-15 株式会社東芝 サーバ計算機保護装置および同装置のデータ転送制御方法
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
EP2228988B1 (de) * 2003-08-15 2012-02-08 STMicroelectronics (Research & Development) Limited Datenspeicher mit beschränktem Zugang
US7072640B2 (en) * 2003-11-18 2006-07-04 Nokia Corporation Terminal, method and computer program product for producing a user perceptible output upon reaching a predefined threshold
KR20050098142A (ko) * 2004-04-06 2005-10-11 삼성전자주식회사 직렬 통신 인터페이스를 통해 호스트와 통신하는 전자 장치
JP2007122843A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 情報再生装置及び方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0696016A2 (de) * 1994-08-01 1996-02-07 Fujitsu Limited Verfahren zum Handhaben der Sicherheit einer Speicherkarte und Speicherkarte
DE19818830A1 (de) * 1998-04-27 1999-10-28 Deutsche Telekom Mobil Verfahren und Anordnung zur Verhinderung der mißbräuchlichen Verwendung der auf einem Chipkarten-Interface vorhandenen Authentifizierungsprozeduren
US6282653B1 (en) * 1998-05-15 2001-08-28 International Business Machines Corporation Royalty collection method and system for use of copyrighted digital materials on the internet
DE19831884A1 (de) * 1998-07-17 2000-01-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
US6726108B1 (en) * 1998-11-17 2004-04-27 Schlumberger Systemes Device for limiting fraud in an integrated circuit card
WO2001054057A1 (de) * 2000-01-19 2001-07-26 Infineon Technologies Ag Integrierte sicherheitsschaltung
WO2002005098A1 (en) * 2000-07-07 2002-01-17 Activesky, Inc. A secure data storage device

Also Published As

Publication number Publication date
DE102005058878A1 (de) 2007-06-14
US20070162653A1 (en) 2007-07-12
KR100831533B1 (ko) 2008-05-22
KR20070061441A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
DE2560559C2 (de)
DE19532617C2 (de) Verfahren und Vorrichtung zur Versiegelung von Computerdaten
DE69908245T2 (de) Überwachungssystem gegen Manipulation für Computer
DE69909379T2 (de) System und Verfahren zum Schützen von geheimen Informationen gegen analytische Spionage
DE60310139T2 (de) Erkennung von manipulation an einer chipkartenschnittstelle
WO2008116647A1 (de) Transponder mit zugriffsschutz und verfahren zum zugriff auf den transponder
EP2203863A1 (de) Verfahren zum schutz mindestens von teilen von auf mindestens einem server und/oder in mindestens einer datenbank abgelegten, einem durch ein rfid-tag identifizierten produkt zugeordnete produktdaten vor unberechtigtem zugriff
WO2010115795A1 (de) Verfahren zur durchführung einer applikation mit hilfe eines tragbaren datenträgers
DE112008000057B4 (de) Vorrichtung und Verfahren zur Erzeugung einer Zufallszahl
EP1496420B1 (de) Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
DE10319585A1 (de) Manipulationssicheres Datenverarbeitungssystem und zugehöriges Verfahren zur Manipulationsverhinderung
DE102007008651A1 (de) Chipkarte und Verfahren zur Freischaltung einer Chipkarten-Funktion
EP0276450A1 (de) Datenschutzschaltung zur Sperrung der Uebertragung von Signalen über einen Bus
EP1664978B1 (de) Vorrichtung und verfahren zur sicheren ausführung eines programmes
DE102005058878B4 (de) Datentransfervorrichtung und Verfahren zum Senden von Daten
DE102004036889B4 (de) Detektorschaltung und Zugriffdetektionsverfahren für eine Chipkarte
WO2001046785A2 (de) Verfahren und vorrichtung zur überprüfung einer datei
WO2007129265A1 (de) Sensor mit einer schaltungs anordnung
EP1980080A1 (de) Verfahren und vorrichtung zur vereinbarung eines gemeinsamen schlüssels zwischen einem ersten kommunikationsgerät und einem zweiten kommunikationsgerät
DE202005022130U1 (de) Sicherheitsmodul zum Steuern und Kontrollieren eines Datenverkehrs eines Personalcomputers
EP1326203A2 (de) Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen
DE102014103376A1 (de) Systeme und Verfahren für sichere Zugriffsmodule
DE10360998B4 (de) Schutz von Chips gegen Attacken
WO2002009100A1 (de) Datenträger mit einem datenspeicher und einem zugriffszähler
EP3232640B1 (de) Gültigkeitsprüfung und sperrung von zertifikaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition