PatentDe  


Dokumentenidentifikation DE102004062203A1 13.07.2006
Titel Datenverarbeitungseinrichtung, Telekommunikations-Endgerät und Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Delfs, Eckhard, 90469 Nürnberg, DE;
Hildebrand, Uwe, Dr., 91058 Erlangen, DE;
Jennings, David, 81377 München, DE;
Goedecke, Michael, Dr., 80634 München, DE
Vertreter Viering, Jentschura & Partner, 80538 München
DE-Anmeldedatum 23.12.2004
DE-Aktenzeichen 102004062203
Offenlegungstag 13.07.2006
Veröffentlichungstag im Patentblatt 13.07.2006
IPC-Hauptklasse G06F 15/16(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 12/14(2006.01)A, L, I, 20051017, B, H, DE   G06F 3/00(2006.01)A, L, I, 20051017, B, H, DE   
Zusammenfassung Es sind eine Dateneingabe-Einheit zum Eingeben von Daten sowie ein erster Prozessor und ein zweiter Prozessor vorgesehen. Der erste Prozessor ist eingerichtet zum Empfangen und Verarbeiten von Daten, welche in einem ersten Dateneingabemodus in die Dateneingabe-Einheit eingegeben werden, und der zweite Prozessor ist eingerichtet zum Empfangen und Verarbeiten von Daten, welche in die Dateneingabe-Einheit in einem zweiten, sicherheitsrelevanten Dateneingabemodus eingegeben werden.

Beschreibung[de]

Die Erfindung betrifft eine Datenverarbeitungseinrichtung, ein Telekommunikations-Endgerät sowie ein Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung.

Sowohl in Festnetz-Anwendungen als auch in mobilen Anwendungen gewinnen Sicherheitsaspekte insbesondere im Rahmen der Datenübertragung und Datenverarbeitung, allgemein im Rahmen der Datenkommunikation zwischen zwei oder mehreren Telekommunikations-Endgeräten eine immer größere Bedeutung.

Es ist für Nutzer eines Telekommunikationssystems von fortlaufend wachsender Bedeutung, ihre persönlichen Daten zu schützen ohne ihre Privatsphäre und die Geheimhaltung der persönlichen Daten zu gefährden. Auch im Rahmen des elektronischen Geschäftsverkehrs ist es wichtig, Daten und Gesellschaftsvermögens-Bestandteile und diesbezügliche vertrauliche Information verlässlich zu schützen und insbesondere einen entfernten Zugriff (Remote Access) sehr sicher zu gestalten sowie elektronische Geschäfts-Transaktionen in sicherer Weise durchführen zu können.

Viele Angriffe auf Rechner bzw. die Kommunikation zwischen Rechnern basieren auf oder nutzen aus Schwächen, die insbesondere sogenannten offenen Betriebssysteme inhärent sind, insbesondere die Möglichkeit in einem offenen Betriebssystem, heruntergeladene Computerprogramme (Software) auf einem jeweiligen Rechner, auf welchem das offene Betriebssystem installiert ist, auszuführen. In diesem Zusammenhang sind insbesondere Geräte mit einem solchen Rechner gefährdet, welche eine Funk-Schnittstelle bereitstellen und ein offenes Betriebssystem installiert haben, wie beispielsweise ein Linux-Betriebssystem, ein Unix-Betriebssystem, ein Symbian-Betriebssystem, ein Windows-Betriebssystem oder eine Java-Plattform.

Da böswillige, d.h. Schaden zufügende Computerprogramme (im Folgenden auch bezeichnet als schädigende Computerprogramme), wie beispielsweise Computerviren, Computerwürmer oder Trojanische Pferde, das Potential haben, sich in einem Telekommunikations-Netzwerk sehr schnell zu verbreiten, ist es von erheblicher Bedeutung, geeignete Gegenmaßnahmen gegen solche Bedrohungen zu treffen.

In vielen Anwendungs-Computerprogrammen, in welchen finanzielle elektronische Transaktionen vorgesehen sind zwischen einem oder mehreren Benutzern, ist es üblich, von einem Benutzer dessen Authentifikationsdaten zu erfragen, beispielsweise einen sogenannten PIN-Code (Personal Identification Number-Code), anders ausgedrückt eine einen Benutzer eindeutig identifizierende Ziffernfolge. Ein typisches Beispiel hierfür ist ein Mobilfunk-Telekommunikations-Endgerät, beispielsweise ein GSM-Mobilfunktelefon oder ein UMTS-Mobilfunktelefon, bei dem der Nutzer einen PIN-Code in das Telekommunikations-Endgerät eingibt, und bei dem der eingegebene Code mit einem entsprechenden, auf einer Smart-Card (dort bezeichnet als Subscriber Identity Module, SIM) gespeicherten Wert verglichen wird und der Benutzer erst Zugriff auf die Funktionen des Mobilfunk-Telekommunikations-Endgeräts erhält, wenn der eingegebene PIN-Code mit dem gespeicherten Code übereinstimmt. In anderen Anwendungs-Computerprogrammen kann es erforderlich sein, ein sogenanntes WIM (Wireless Identity Module) bereitzustellen, um kryptographische Operationen unter Verwendung von geheimen kryptographischen Schlüsseln auszuführen.

Sobald es zur Durchführung eines sicherheitsrelevanten Computerprogramms auf einem Prozessor, anders ausgedrückt auf einem Rechner, kommt, ist es von großer Bedeutung, sicherzustellen, dass auf der Plattform, d.h. von dem Prozessor kein schädigendes Computerprogramm ausgeführt wird, welches beispielsweise Daten im Rahmen der Authentifikationsprozedur, allgemein im Rahmen eines bereitgestellten Sicherheitsdienstes, abhört. Kann dies nicht gewährleistet werden, so können mittels des schädigenden Computerprogramms die abgehörten Authentifikationsdaten im Rahmen an sich ungewollter und unbefugter elektronischer finanzieller Transaktionen verwendet werden, ohne dass der eigentlich nur für solche Transaktionen unter Verwendung der Authentifikationsdaten berechtigte Benutzer davon Kenntnis erlangt.

Allgemein kann das oben beschriebene Problem in folgender Weise formuliert werden:

Wie kann eine sichere Authentifikationsprozedur erreicht werden in einem System mit mehreren Prozessoren, wobei in zumindest einem der Prozessoren ein offenes Betriebssystem installiert ist.

Gemäß dem Stand der Technik sind unterschiedliche Ansätze hierzu bekannt.

Einerseits wird zur Sicherung der Authentifikation eine strenge Software-Installations-Sicherheitspolitik vorgesehen, womit die Wahrscheinlichkeit von einem Herunterladen schädigender Computerprogramme reduziert wird. Diese Lösung basiert üblicherweise auf der Nutzung sogenannter Computerprogramm-Zertifikate. Nur korrekt digital signierte Computerprogramme (Anwendungs-Computerprogramme) dürfen auf dem System installiert und von dem jeweiligen Prozessor ausgeführt werden. Dies bedeutet, dass das System in der Lage sein muss, die digitale Signatur über das jeweilige Computerprogramm zu verifizieren und die Gültigkeit des dem Computerprogramm zugehörigen Software-Zertifikats zu überprüfen. Nachteilig an dieser Vorgehensweise ist insbesondere die Komplexität des angewendeten Sicherheitsmodells. In dem Zertifizierungsprozess sind eine Vielzahl von unterschiedlichen Entitäten beteiligt, welche für den Benutzer nicht erkennbar sind. Dies kann schließlich dazu führen, dass der Nutzer hinsichtlich der Entscheidung, ob er einem jeweiligen Software-Zertifikat und damit einem jeweiligen Computerprogramm vertraut oder nicht, überfordert ist.

Gemäß einem anderen Ansatz wird zur Sicherung eines Rechners vor schädigenden Computerprogrammen sogenannte Antiviren-Software, verwendet, d.h. es werden Computerprogramme genutzt, welche schädigende Computerprogramme erkennen und geeignete Gegenmaßnahmen zur Bekämpfung des schädigenden Computerprogramms bereitstellen. Bei diesem Konzept wird versucht, die schädigenden Computerprogramme, welche schon auf das System heruntergeladen worden sind, zu erkennen und diese wieder zu löschen. Dieser Ansatz hat insbesondere den Nachteil, dass nur bekannten Gefahren und damit nur bekannten schädigenden Computerprogrammen begegnet werden kann. Bei noch nicht dem Antiviren-Computerprogramm bekannten schädigenden Computerprogrammen ist das System, auf dem das Antiviren-Computerprogramm installiert ist, solange ungeschützt gegen die von dem schädigenden Computerprogramm ausgehende Gefährdung, bis eine entsprechende Aktualisierung des Antiviren-Computerprogramms erfolgt ist, in dem beispielsweise die neuen Signaturen des schädigenden Computerprogramms enthalten sind und somit das Erkennen dieses schädigenden Computerprogramms ermöglicht ist und dann entsprechende Gegenmaßnahmen getroffen werden können.

Zusammenfassend ist es gemäß beiden oben beschriebenen Ansätzen nicht ohne weiteres möglich zu gewährleisten, dass auf einen Rechner heruntergeladene Software die Rechnersystemsicherheit nicht kompromittiert.

Aus [1] ist eine als „Trust Zone" bezeichnete Sicherheitserweiterung für die ARMV6-Architektur eines Mikroprozessors von ARM bekannt. Dort sowie in [4] ist beschrieben, dass für einen Einzel-Prozessor dieser aus einem nicht-sicherheitsrelevanten Betriebsmodus in einen Sicherheits-Betriebsmodus übergeht, wobei in dem Sicherheits-Betriebsmodus Daten, beispielsweise Passworte, in sicherer Weise eingegeben, verarbeitet und angezeigt werden können. Gemäß [1] und [4] sind eine Vielzahl von Befehlen notwendig, um in den Sicherheits-Betriebsmodus überzugehen bzw. diesen zu verlassen. Dies führt zu Einschränkungen hinsichtlich der Datenverarbeitungs-Geschwindigkeit des jeweiligen Rechnersystems. Ferner ist es bei diesen Ansätzen erforderlich, spezielle Gegenmaßnahmen, beispielsweise das Deaktivieren von unsicheren Interrupts in dem Mikroprozessor vorzusehen, so dass der Sicherheits-Betriebsmodus nicht verlassen werden kann während des Eingebens oder des Verarbeitens der sicherheitsrelevanten Daten. Für das Eingeben von Passworten oder anderen sicherheitsrelevanten Daten ist es erforderlich zu gewährleisten, dass ein Anwendungs-Computerprogramm die gedrückten Tasten erkennen bzw. darauf zugreifen kann oder die Anzeige der eingegebenen Daten manipulieren kann, um den Nutzer zur Eingabe seines Passwortes zu verleiten, wie dies bei einem Trojanischen Pferd der Fall ist. Aus diesem Grund ist es erforderlich, dass eine Dateneingabe-Einheit sowie eine Datenanzeigeeinheit in dem Sicherheits-Betriebsmodus zur Gewährleistung der sicheren Dateneingabe bzw. Datenausgabe vollständig in dem Sicherheits-Betriebsmodus betrieben werden. Das Mischen von nichtsicheren Daten und sicherheitsrelevanten Daten auf der gleichen Anzeigeeinheit, insbesondere auf dem gleichen Bildschirm ist gemäß [1] und [4] nicht möglich. Damit ist es nur begrenzt möglich für das Anwendungs-Computerprogramm im Rahmen der Anzeige der eingegebenen Daten, dem Benutzer ein „Look and Feel"-Bediengefühl beim Eingeben der sicherheitsrelevanten Daten in ein Rechnersystem zu vermitteln. Ferner ist es gemäß diesen Ansätzen nur sehr schwer und technisch aufwendig möglich, ein geeignetes Interrupt-Handling für den Mikroprozessor zu entwickeln, so dass echtzeitkritische Aufgaben in ihrer Durchführung nicht beispielsweise durch eine Dateneingabe seitens eines Benutzers blockiert wird. Aus diesem Grund ist es nicht ausreichend, lediglich einen Sicherheits-Betriebsmodus bereitzustellen, sondern es ist erforderlich, die Fähigkeiten der Peripheriegeräte zur Eingabe und zur Ausgabe von Daten in ein Rechnersystem zu verbessern.

Zur Sicherung eines Personal Computers unter Wahrung der Offenheit und Flexibilität eines der Personal Computer ist die „Trusted Computing Group" (TCG) ins Leben gerufen worden. Die Trusted Computing Group ist fokussiert auf die Spezifikation wichtiger Bereiche einer Gesamt-Sicherheitslösung, insbesondere einem als „Trusted Platform Module" (TPM) bezeichneten Hardware-Computerchip, wie er in [2] beschrieben ist. Das Trusted Platform Module ist eine Hardware-Einrichtung, mittels der ein aus kryptographischer Sicht sicherer Ort zum Speichern von Information bereitgestellt wird und mittels der ferner ein Satz kryptographischer Operationen bereitgestellt wird, welche in einer gesicherten Umgebung durchgeführt werden und mittels welcher ferner Integritätsmetriken gespeichert und berichtet werden. Ein Trusted Platform Module ist nur ein Teil der Gesamt-Sicherheitslösung für ein Rechnersystem. Derzeitige vertrauenswürdige Tastaturen und vertrauenswürdige Graphik-Anzeigeeinheiten wie auch Prozessoren mit verbesserten Sicherheitsmerkmalen und entsprechende Chipsätze liegen nicht in deren Fokus. Weiterhin ist anzumerken, dass die Trusted Computing Group sich auf die Spezifikation eines Trusted Platform Modules für einen Personal Computer fokussiert hat. In letzter Zeit beginnt jedoch die Trusted Computing Group damit, Trusted Platform Modules auch für Mobilfunk-Telekommunikations-Endgeräte, für Handheld-Computer und Server-Computer zu definieren, wie beispielsweise [3] zu entnehmen ist.

Aus [4] ist ferner eine Anzeige eines Sicherheits-Betriebsmodus bekannt, mit dem der Benutzer des Rechnersystems darüber informiert wird, dass der Rechner sich in einem Sicherheits-Betriebsmodus befindet. Die dortige Sicherheits-Anzeige ist eine Leuchtdiode, welche jedoch von einem Benutzer möglicherweise übersehen werden kann.

[5] beschreibt ein System zum Bereitstellen einer vertrauenswürdigen Benutzer-Schnittstelle. Gemäß diesem System wird ein vertrauenswürdiger Datenanzeige-Prozessor vorgesehen, wobei der vertrauenswürdige Prozessor und ein vertrauenswürdiger Speicher physikalisch und funktional von dem Prozessor und Speicher des eigentlichen Computersystems getrennt sind.

Ferner ist eine computergestützte Spielekonsole aus [6] bekannt, bei dem ein Sicherheits-Controller ein Spiel-Computerprogramm ausführt und einen Strom von Datenanzeige-Befehlen an eine Datenanzeige-Engine übermittelt, welche ihrerseits daraufhin die Video-Darstellung des Spiels mittels eines Video-Ausgabesignals erzeugt. Das Video-Ausgabesignal wird zu einem Video-Multiplexer innerhalb des Sicherheits-Controllers übertragen. Der Video-Multiplexer wählt zwischen der Spiel-Videoausgabe und einer Audit-Betriebsmodus-Videoausgabe unter Kontrolle einer Ausgabe-Auswahlfunktion aus. Die Ausgabe-Auswahlfunktion wird von dem Sicherheits-Controller gesteuert. Gemäß [6] ist es jedoch nicht möglich, die Video-Ausgabe in unterschiedliche Bereiche im Rahmen der Datenanzeige, d.h. der Videoausgabe an einen Benutzer, aufzuteilen, wobei die aufgeteilten Datenströme von unterschiedlichen Quellen gesteuert werden können.

[7] beschreibt eine Vorrichtung zur sicheren Eingabe von Daten mittels einer Tastatur unter Verwendung einer graphischen Benutzerschnittstelle, wobei der Benutzer einen Sicherheits-Code eingibt, indem ein Cursor bewegt wird und Zeichen oder Symbole auf einer graphischen Benutzerschnittstellen-Anzeige ausgewählt werden mittels einer Computermaus, eines berührungssensitiven Bildschirms oder anderen hierzu geeigneten Einrichtungen. Nach jeder neuen Auswahl werden die Symbole und Zeichen der graphischen Benutzerschnittstelle auf den Bildschirmen neu angeordnet, so dass selbst für den Fall, dass bei einer Eingabe des Sicherheits-Codes durch einen Benutzer die Cursor-Bewegung auf dem Bildschirm erfasst wird, die Eingabe des Sicherheits-Codes nicht rekonstruiert werden kann.

Bei dem in [8] beschriebenen System ist eine vertrauenswürdige Dateneingabe-Einheit mit einem Co-Prozessor gekoppelt und eine nicht-vertrauenswürdige Tastatur weist eine Sicherheitsinformation-Anzeige auf zum Anzeigen eines Sicherheits-Betriebsmodus.

[9] beschreibt ein Verfahren zum Eingeben eines Passworts in ein Mobilfunk-Telekommunikations-Endgerät. Bei diesem Verfahren werden bestimmte Zeichen in einer Passwort-Zeichentabelle gesucht, welche einer gezählten Anzahl von Angaben einer spezifischen Zeichen-Taste entsprechen.

Der Erfindung liegt das Problem zugrunde, eine sichere Eingabe von Daten in eine Datenverarbeitungseinrichtung zu schaffen.

Das Problem wird durch eine Datenverarbeitungseinrichtung, ein Telekommunikations-Endgerät sowie durch ein Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.

Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen. Die beschriebenen Ausgestaltungen der Erfindung betreffen sowohl die Datenverarbeitungseinrichtung, als auch das Telekommunikations-Endgerät und das Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung.

Eine Datenverarbeitungseinrichtung weist eine Dateneingabe-Einheit zum Eingeben von Daten in die Datenverarbeitungseinrichtung auf. Ferner sind in der Datenverarbeitungseinrichtung ein erster Prozessor und ein zweiter Prozessor vorgesehen. Der erste Prozessor ist derart eingerichtet, dass er in einem ersten, vorzugsweise nicht-sicherheitsrelevanten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfängt und verarbeitet. Der zweite Prozessor ist derart eingereichtet, dass er in einem zweiten, sicherheitsrelevanten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfängt und verarbeitet.

Ein Telekommunikations-Endgerät weist eine oben beschriebene Datenverarbeitungseinrichtung auf.

Ferner werden bei einem Verfahren zur Datenverarbeitung mittels einer Dateneingabe-Einheit Daten in die Datenverarbeitungseinrichtung eingegeben. Von einem ersten Prozessor werden in einem ersten, vorzugsweise nicht-sicherheitsrelevanten, Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfangen und verarbeitet. In einem zweiten, sicherheitsrelevanten Dateneingabemodus werden die in die Dateneingabe-Einheit eingegebenen Daten von einem zweiten Prozessor empfangen und verarbeitet.

Im Gegensatz zu den oben beschriebenen Vorgehensweisen gemäß dem Stand der Technik zielt die Erfindung nicht darauf ab, in einer offenen Betriebssystemumgebung schädigende Computerprogramme oder Programmkomponenten, welche vertrauliche eingegebene Daten abhören können, zu erkennen und von einem Rechnersystem zu entfernen.

Ein Aspekt der Erfindung basiert im Gegensatz zum Stand der Technik anschaulich darauf, dass das Eingeben von vertraulichen und damit sensitiven Daten in das System, d.h. in die Datenverarbeitungseinrichtung, mittels einer vertrauenswürdigen Instanz innerhalb der Datenverarbeitungseinrichtung, vorzugsweise mittels des zweiten Prozessors, gesteuert wird. Da auf dem zweiten Prozessor ausschließlich vertrauenswürdige Computerprogramme ablaufen, weshalb der zweite Prozessor auch als „Trusted Core"-Prozessor bezeichnet wird, wird durch die erfindungsgemäße Implementierung gewährleistet, dass nur vertrauenswürdige Computerprogramme, d.h. nur vertrauenswürdige Software, welche zur Behandlung und Verarbeitung von vertraulichen Daten eingesetzt wird, auf dem zweiten Prozessor ausgeführt werden kann.

Gegenüber der allgemeinen Verwendung von Software-Zertifikaten zeichnet sich der erfindungsgemäße Ansatz insbesondere dadurch aus, dass erkannt wurde, dass nur ein kleiner Teil von Computerprogrammen derart sicherheitsrelevant ist, dass nur dieser kleine Teil mit entsprechenden Zertifikaten oder anderen Sicherheitsmaßnahmen geschützt zu werden braucht, beispielsweise dadurch, dass der zweite Prozessor in einem nur ihm zugänglichen Speicher eine kleine und begrenzte Anzahl von Computerprogrammen gespeichert hat und diese ausführt, wobei diese Computerprogramme sicherheitsrelevante Dienste, wie sie im Folgenden noch näher erläutert werden, realisieren und damit bereitstellen. Damit wird gewährleistet, dass nur Software mit bewiesener und zuverlässiger Datenintegrität von dem zweiten Prozessor ausgeführt wird.

Anschaulich kann ein Aspekt der Erfindung darin gesehen werden, dass ein vertrauenswürdiger Mechanismus zur sicheren Eingabe von sicherheitsrelevanten, d.h. vertraulichen Daten, wie beispielsweise von einem PIN-Code oder von einem Passwort, etc., einem Benutzer des Systems bereitgestellt wird, wobei dieser Mechanismus gegen Abhören in einem offenen Betriebssystem, d.h. in einer offenen Rechnerumgebung geschützt ist. Es werden Mittel bereitgestellt, welche einen Betrieb der Datenverarbeitungseinrichtung in einem sicheren Betriebsmodus (zweiter, sicherheitsrelevanter Dateneingabemodus) und einem unsicheren Betriebsmodus (erster Dateneingabemodus), definieren und bereitstellen.

Die Datenverarbeitungseinrichtung weist bevorzugt folgende Komponenten auf:

  • • Eine Dateneingabe-Einheit, beispielsweise eine Tastatur, welche im Normal-Betriebsmodus (erster Dateneingabemodus) dem ersten Prozessor, welcher bevorzugt eingerichtet ist als Applikationsprozessor, zugeordnet ist und welche temporär dem zweiten Prozessor (Trusted Core) innerhalb der Datenverarbeitungseinrichtung zugeordnet wird, d.h. von diesem allokiert wird.
  • • Alternativ kann in dem Normal-Betriebsmodus die Dateneingabe-Einheit das eingegebene Symbol (beispielsweise das der gedrückten Taste zugeordnete Datensymbol) unmittelbar an den Applikationsprozessor weitergeben. Nachdem der zweite Prozessor gemäß einer Anfrage zum Empfangen einer Dateneingabe aktiviert ist, übermittelt die Dateneingabe-Einheit auf eine Eingabe von Daten hin diese nicht, wie in dem Normal-Betriebsmodus, unmittelbar an den Applikationsprozessor, sondern übermittelt, vorzugsweise für jede gedrückte Taste, d.h. für jedes eingegebene Datensymbol, ein vorgegebenes einstellbares Zeichen/Datensymbol, beispielsweise ein „*"-Symbol anstelle des tatsächlich eingegebenen Datensymbols bzw. Zeichens an den Applikationsprozessor, welcher dieses beispielsweise in einem PIN-Eingabefeld in einer Eingabemaske, welche von dem Applikationsprozessor und/oder dem zweiten Prozessor auf einer graphischen Benutzeroberfläche bereitgestellt wird, ausgibt. In diesem Fall ist es bevorzugt vorgesehen, dass dem Applikationsprozessor vorgebbare Steuertasten, beispielsweise eine Löschtaste, in ihrer Funktionalität weiterhin übergeben werden. Die eingegebenen Daten, d.h. genauer jedes eingegebene Zeichen bzw. Datensymbol, werden in einem Speicher oder in einem Teil eines Speichers akkumuliert, d.h. gesammelt, wobei dieser Speicher bzw. der Teil des Speichers nur von dem zweiten Prozessor beschrieben oder gelesen werden kann, d.h. nur der zweite Prozessor hat Zugang zu diesem Speicher bzw. Teil des Speichers. Nachdem die Eingabe der vertraulichen Daten abgeschlossen ist, wird die eingegebene Datenfolge von dem zweiten Prozessor verarbeitet, beispielsweise mit einem entsprechenden Wert oder mit einer Mehrzahl entsprechender Werte in einer Vergleichstabelle verglichen, wobei der oder die Werte beispielsweise auf einer Smart-Card oder in einem Flash-Speicher in Klartext oder sogar verschlüsselt gespeichert sein können. Sind die Vergleichs-Daten in verschlüsselter Form gespeichert, so hat der zweite Prozessor Zugang zu einem entsprechenden zur Entschlüsselung geeigneten kryptographischen Schlüssel und Entschlüsselungsverfahren. Für diese oben beschriebenen Programmschritte ist der normale Interrupt-Modus des Mikroprozessors deaktiviert, so dass gewährleistet ist, dass ausschließlich der bereitgestellte Sicherheitsdienst zur Dateneingabe vertraulicher Daten nicht unterbrochen werden kann und somit diese die Dateneingabe anschaulich „gekapselt ist". Allgemein ist somit der jeweils bereitgestellte Sicherheitsdienst „gekapselt".
  • • Der zweite Prozessor zeigt vorzugsweise auf einer Datenanzeigeeinheit an, dass die Datenverarbeitungseinrichtung sich in den zweiten Dateneingabemodus befindet, beispielsweise visuell (vorzugsweise mittels einer Leuchtdiode, durch Hintergrundbeleuchten der Tasten, etc. oder mittels eines auf der Datenanzeigeeinheit dargestellten Symbols (Siegel)) oder mittels Darstellens von Audioinformation (bevorzugt eines Alarmsignals oder mittels einer den zweiten Dateneingabemodus eindeutig identifizierenden Tonfolge) wobei sichergestellt ist, dass die Datenanzeigeeinheit (graphisch oder zur Ausgabe von Audioinformation) nur von dem zweiten Prozessor und nicht von dem ersten Prozessor, d.h. nicht von dem Applikationsprozessor, gesteuert werden kann. Damit wird dem Benutzer auf verlässliche und einfache Weise die Information zur Verfügung gestellt, dass sich die Datenverarbeitungseinrichtung in dem zweiten Dateneingabemodus befindet und somit der Benutzer bedenkenlos auch die Eingabe vertrauenswürdiger bzw. vertraulicher Daten vornehmen kann.

Die Dateneingabe-Einheit kann eine der folgenden Dateneingabe-Einheiten sein:

  • • eine Tastatur;
  • • eine Datenkommunikations-Schnittstelle;
  • • ein Touchpad;
  • • eine berührungssensitive Anzeigeeinheit (Touch-Screen);
  • • eine Computermaus; oder
  • • ein Mikrofon inklusive einer Einheit zur Spracherkennung, beispielsweise einer Einheit zur sprecherabhängigen Spracherkennung und/oder einer Einheit zur sprecherunabhängigen Spracherkennung.

Dies bedeutet, dass die Erfindung für jede Art der Dateneingabe, sei es unmittelbar an der Datenverarbeitungseinrichtung oder auch über ein Telekommunikationsnetz (Fest-Kommunikationsnetz oder Mobilfunk-Kommunikationsnetz) geeignet ist. Sobald die Eingabe von sicherheitsrelevanten Daten zu schützen ist, schaltet die Datenverarbeitungseinrichtung zum Empfangen und zum Bearbeiten der eingegebenen vertraulichen Daten auf den zweiten Prozessor um, welcher entsprechend eingerichtet und gesichert ist zur vertrauenswürdigen Verarbeitung der eingegebenen Daten.

Der erste Prozessor ist vorzugsweise ein Applikations-Prozessor, welcher eingerichtet ist zum Ausführen von Anwendungs-Computerprogrammen in einem offenen Betriebssystem, wobei ein offenes Betriebssystem in diesem Sinne ein Betriebssystem ist, welches bevorzugt mindestens eine Betriebssystem-externe Kommunikationsschnittstelle aufweist und somit verletzbar ist für externe Angriffe, beispielsweise mittels eines Computervirus, mittels eines Trojanischen Pferdes, mittels eines Computerwurms oder, allgemein, mittels schädigender Computerprogramme.

Beispiele für ein offenes Betriebssystem sind das Windows-Betriebssystem, das Linux-Betriebssystem, das Unix-Betriebssystem, das Symbian-Betriebssystem oder eine Java-Plattform.

Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass der zweite Prozessor als sogenannter Trusted Core-Prozessor eingerichtet ist. Damit ist der zweite Prozessor anschaulich derart eingerichtet, dass von ihm nur ein oder mehrere vertrauenswürdige Computerprogramme ausgeführt werden kann/können. Dies kann beispielsweise dadurch realisiert werden, dass entweder nur herstellerseitig eine bestimmte Menge von einer vorgegebenen Anzahl von Sicherheitsdiensten realisierenden Prozeduren in Form von Computerprogrammen in einem nur dem zweiten Prozessor zugänglichen Speicher gespeichert ist oder dass Software-Zertifikate, welche auf die jeweils zu realisierenden Sicherheitsdienste angewendet werden, d.h. die den jeweiligen Sicherheitsdienste realisierenden Computerprogrammen zugeordneten Software-Zertifikate, von dem zweiten Prozessor vor der jeweiligen Ausführung überprüft werden und nur bei erfolgreicher Überprüfung der Software-Zertifikate das Programm auf dem zweiten Prozessor ausgeführt wird.

Ein vertrauenswürdiges Computerprogramm ist vorzugsweise ein Integritäts-gesichertes, vorzugsweise kryptographisch Integritäts-gesichertes Computerprogramm, welches insbesondere mindestens einen sicherheitsrelevanten Dienst, bevorzugt mindestens einen kryptographischen Sicherheitsdienst realisiert.

Der zweite Prozessor ist insbesondere bei der Ausgestaltung der Datenverarbeitungseinrichtung als Telekommunikations-Endgerät, insbesondere als Mobilfunk-Telekommunikations-Endgerät ein digitaler Signalprozessor, welcher eingerichtet ist zur Durchführung eines oder mehrerer jeweiliger Sicherheitsdienste.

Bevorzugt ist der zweite Prozessor ein Mikrocontroller, beispielsweise in dem Fall, dass in der Datenverarbeitungseinrichtung mehrere Mikrocontroller und gegebenenfalls noch ein zusätzlicher digitaler Signalprozessor vorgesehen sind, das heißt beispielsweise ein Mikrocontroller für Applikationen, ein Mikrocontroller für vertrauenswürdige Dienste (trusted services), für Modem-Dienste sowie ein digitaler Signalprozessor für echtzeitkritische Dienste, insbesondere im Rahmen der digitalen Signalverarbeitung.

Es ist in diesem Zusammenhang darauf hinzuweisen, dass sichergestellt werden sollte, dass die Operationen des vertrauenswürdigen, d.h. „trusted", zweiten Prozessors nicht von dem (nicht vertrauenswürdigen, d.h. „untrusted") ersten Prozessor gestört werden dürfen. Dies lässt sich beispielsweise durch dedizierte Hauptspeicher für beide Prozessoren oder bei Verwendung eines gemeinsamen Hauptspeichers durch den Einsatz eines Speicher-Controllers, welcher von dem "trusted" zweiten Prozessor gesteuert wird und explizite Zugriffsrechte für bestimmte Adressbereiche vergeben kann, erreichen.

Bevorzugt wird der kryptographische Sicherheitsdienst unter Verwendung von mindestens einem kryptographischen Schlüssel bereitgestellt, beispielsweise unter Verwendung von mindestens einem geheimen (privaten) kryptographischen Schlüssel und/oder mindestens einem öffentlichen kryptographischen Schlüssel.

Anders ausgedrückt bedeutet dies, dass der kryptographische Sicherheitsdienst sowohl unter Verwendung von einem symmetrischen Schlüsselmechanismus als auch von einem asymmetrischen Schlüsselmechanismus im jeweiligen Sicherheitsdienst realisiert sein kann.

Als kryptographischer Sicherheitsdienst ist mindestens eine der folgenden Sicherheitsdienste vorgesehen:

  • • digitale Unterschrift; und/oder
  • • digitales Siegel; und/oder
  • • Authentifikation; und/oder
  • • Verschlüsselung von Daten; und/oder
  • • Zugangskontrolle; und/oder
  • • Zugriffskontrolle; und/oder
  • • Verhinderung von Verkehrsanalysen im Rahmen einer Datenkommunikation; und/oder
  • • Hash-Verfahren.

Grundsätzlich kann jeder kryptographische Sicherheitsdienst, welcher insbesondere eine Eingabe von sicherheitsrelevanter und damit vertraulicher Information seitens eines Benutzers in die Datenverarbeitungseinrichtung mittels der Dateneingabe-Einheit, als Computerprogramm, welches von dem zweiten Prozessor durchgeführt wird, realisiert werden.

Auf diese Weise ist insbesondere aufgrund der Programmierbarkeit des zweiten Prozessors eine sehr flexible Erweiterbarkeit der Datenverarbeitungseinrichtung hinsichtlich seiner kryptographischen Nutzbarkeit unter Gewährleistung der Sicherung der Benutzer-Dateneingabe realisiert.

Gemäß einer anderen Ausgestaltung der Erfindung ist eine Datenanzeigeeinheit vorgesehen zum Anzeigen mindestens eines Teils der eingegebenen Daten an einen Benutzer.

Auf diese Weise ist insbesondere ein „Look and Feel"-Bediengefühl für den Benutzer bei Eingaben von sicherheitsrelevanten Daten oder nicht sicherheitsrelevanten Daten in die Datenverarbeitungseinrichtung erreicht.

Bevorzugt ist die Datenverarbeitungseinrichtung derart eingerichtet, dass in dem zweiten Dateneingabemodus der zweite Prozessor die eingegebenen Daten empfängt und gegenüber den eingegebenen Daten unterschiedliche Daten, bevorzugt mit der gleichen Anzahl von Datensymbolen, an den ersten Prozessor und/oder die Datenanzeigeneinheit übermittelt. Auf diese Weise wird die Nutzbarkeit und insbesondere das „Look and Feel"-Bediengefühl für den Benutzer weiter verbessert, da er für jede durchgeführte Eingabe, beispielsweise für jeden Tastendruck, unmittelbar eine Quittung, d.h. eine Bestätigung hinsichtlich der erfolgten Eingabe dargestellt bekommt, auch wenn er nicht dargestellt bekommt, welche Eingabe er tatsächlich durchgeführt hat, d.h. beispielsweise welche Taste er tatsächlich gedrückt hat.

Die Datenverarbeitungseinrichtung ist bevorzugt derart eingerichtet, dass die von dem zweiten Prozessor an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelten Daten eine Folge vorgegebenen Datensymbole ist, insbesondere eine Folge eines vorgegebenen Datensymbols, wobei die Anzahl der Datensymbole gleich ist der Anzahl der Datensymbole der eingegebenen Daten.

Ferner kann der zweite Prozessor derart eingerichtet sein, dass er in dem zweiten Dateneingabemodus im ersten Prozessor und/oder der Datenanzeigeeinheit eine Sicherheitsmodus-Anzeigeinformation übermittelt. Auf diese Weise ist erreicht, dass dem Benutzer verlässlich auf einfache Weise die Information bereitgestellt wird, dass er gefahrlos vertrauliche Information mittels der Dateneingabe-Einheit in die Datenverarbeitungseinrichtung eingeben kann.

Die Sicherheitsmodus-Anzeigeinformation ist bevorzugt eine visuelle Information und/oder eine Audioinformation.

Ferner kann eine Prozesskommunikations-Einheit zum Durchführen der Kommunikation zwischen dem ersten Prozessor und dem zweiten Prozessor im Rahmen des Übergebens der Steuerung der Dateneingabe-Einheit von dem ersten Prozessor an den zweiten Prozessor oder von dem zweiten Prozessor an den ersten Prozessor, vorgesehen sein. Anders ausgedrückt bedeutet dies, dass gemäß dieser Ausgestaltung der Erfindung die Übergabe der Steuerung der Dateneingabe-Einheit bzw. des Empfangens und Verarbeitens der eingegebenen Daten mittels einer Inter-Prozessorkommunikation zwischen den beiden Prozessoren erfolgt.

Diese Realisierung hat insbesondere den Vorteil, dass aufgrund der Verwendung an sich bekannter Mechanismen zur Kommunikation zwischen zwei Prozessoren die Rechteübergabe im Rahmen der sicheren Dateneingabe einfach und kostengünstig erfolgen kann.

Ferner kann eine, vorzugsweise als Computerprogramm eingerichtete, Dateneingabe-Einheit-Treibereinheit vorgesehen sein, die derart eingerichtet ist, dass

  • • die in dem ersten Dateneingabemodus eingegebenen Daten an den ersten Prozessor übermittelt werden; und
  • • die in dem zweiten Dateneingabemodus eingegebenen Daten an den zweiten Prozessor übermittelt werden.

Somit stellt gemäß dieser Ausgestaltung der Erfindung die Dateneingabe-Einheit-Treibereinheit eine Art Weiche dar, in der entschieden wird, ob die eingegebenen Daten vertraulicher Art sind und somit dem zweiten Prozessor zuzuführen sind oder ob die eingegebenen Daten nicht sicherheitsrelevant sind, in welchem Fall die Daten unmittelbar an den ersten Prozessor, vorzugsweise den Applikationsprozessor, übermittelt werden.

Die Dateneingabe-Einheit-Treibereinheit kann derart eingerichtet sein, dass gegenüber dem in dem zweiten Dateneingabemodus eingegebenen Daten unterschiedliche Daten, bevorzugt mit der gleichen Anzahl von Datensymbolen, an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelt werden.

Gemäß dieser Ausgestaltung der Erfindung ist es bevorzugt, dass die an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelten Daten eine Folge vorgegebene Datensymbole, insbesondere eine Folge, d.h. eine Mehrzahl eines gleichen vorgegebenen Datensymbols ist, wobei die Anzahl der Datensymbole gleich ist der Anzahl der Datensymbole der eingegebenen Daten.

Gemäß einer anderen Ausgestaltung der Erfindung ist der zweite Prozessor als Chipkarten-Prozessor eingerichtet, anders ausgedrückt, der zweite Prozessor ist auf einer Chipkarte realisiert, welche mittels eines Chipkarten-Lesegeräts, welches an beispielsweise einen Personal Computer oder auch an eine Telekommunikations-Einrichtung angeschlossen ist, in Kommunikationsverbindung mit dem ersten Prozessor und der Dateneingabe-Einheit gebracht wird. Auf diese Weise wird selbst für einen üblichen Personal Computer eine sichere Dateneingabe unter Verwendung eines heutzutage oftmals vorhandenen, insbesondere im Rahmen einer entsprechenden Sicherheitsarchitektur vorgesehenen Chipkarten-Lesegeräts, der auf einer Chipkarte vorgesehene Prozessor genutzt, um die sichere Dateneingabe in beispielsweise den Personal Computer zu gewährleisten.

Insbesondere für den Fall, dass die Datenverarbeitungseinrichtung als ein Telekommunikations-Endgerät, insbesondere als Mobilfunk-Telekommunikations-Endgerät eingerichtet ist, ist es in einer Ausgestaltung der Erfindung vorgesehen, dass der in einem SIM-Modul (Subscriber Identity Module) vorgesehene Prozessor als zweiter Prozessor genutzt wird zur Realisierung der jeweils vorgesehenen Sicherheitsdienste.

Die Erfindung eignet sich insbesondere für den Einsatz im Rahmen der Eingabe eines Passwortes oder eines PIN-Codes, d.h. einer Authentifikations-Symbolfolge, welche vorzugsweise nur einem Benutzer bekannt ist, oder auch zum Verschlüsseln oder digitalen Signieren von Daten, beispielsweise zum Verschlüsseln oder digitalen Signieren einer elektronischen Nachricht (Electronic Mail (Email)) unter Verwendung von kryptographischem Material, welches eine Benutzereingabe in Form eines PIN-Codes oder eines Passworts benötigt. Die jeweilige elektronische Nachricht kann mittels des Telekommunikations-Endgeräts zu einem Empfänger übertragen werden, vorzugsweise über eine Luftschnittstelle, sie kann jedoch auch in einem Rechnersystem selbst in einem entsprechendem Verzeichnis lediglich zwischengespeichert werden und bei Bedarf von dem Benutzer oder von einem anderen Benutzer wieder abgefragt werden und dort gegebenenfalls wieder entschlüsselt werden.

Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.

Es zeigen

1 ein Blockdiagramm, in dem die Architektur einer Datenverarbeitungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;

2 eine Skizze eines Mobilfunk-Telekommunikations-Endgeräts gemäß einem Ausführungsbeispiel der Erfindung;

3 eine Skizze eines Mobilfunk-Telekommunikations-Endgeräts gemäß einem weiteren Ausführungsbeispiel der Erfindung;

4 eine Skizze einer Datenverarbeitungseinrichtung gemäß noch einem weiteren Ausführungsbeispiel der Erfindung;

5 ein Blockdiagramm einer weiteren Datenverarbeitungseinrichtung gemäß einem anderen Ausführungsbeispiel der Erfindung;

6 ein Nachrichten-Flussdiagramm, in dem eine Variante des Umschaltens zwischen zwei Dateneingabemodi dargestellt ist;

7 ein Ablaufdiagramm, in dem einzelne Verfahrensschritte zum Bereitstellen einer sicheren Dateneingabe in dem zweiten Dateneingabemodus gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;

8 ein Blockdiagramm, in dem eine alternative Ausführungsform einer Datenverarbeitungseinrichtung dargestellt ist.

Gleiche oder identische Elemente sind in den Figuren gegebenenfalls mit identischen Bezugszeichen versehen.

2 zeigt ein Mobilfunk-Telekommunikations-Endgerät 200, welches eingerichtet ist zur Kommunikation gemäß einem zellenbasierten Mobilfunk-Standard, beispielsweise gemäß GSM, einem 3GPP-Standard, beispielsweise UMTS, etc.

Das Mobilfunk-Telekommunikations-Endgerät 200 weist ein Gehäuse 201 auf, in welchem eine Antenne 202 untergebracht ist sowie ein Display 203, ein Lautsprecher 204, ein Mikrofon 205 sowie in einem Tastenfeld 206 ein Vielzahl von Tasten, darunter Nummerntasten oder Symboltasten 207 zur Eingabe von Ziffern, Symbolen oder Buchstaben in an sich bekannter Weise sowie Sonderfunktionstasten, wie eine Kommunikationsverbindungsaufbau-Taste 208 sowie eine Kommunikationsverbindungsbeendigungs-Taste 209 zum Aufbauen bzw. Abbauen einer Telekommunikationsverbindung. Ferner ist mindestens eine Sonderfunktionstaste 210 vorgesehen, welcher vorgebbare Sonderfunktionen zugeordnet sein können, beispielsweise das Aufrufen eines in dem Mobilfunk-Telekommunikations-Endgerät 200 gespeicherten Adressbuches/Telefonbuchs.

Ferner ist in den Mobilfunk-Telekommunikations-Endgerät 200 eine SIM-Karte (Subscriber Identity Module-Karte) 211 enthalten, in welcher eine einen Benutzer eindeutig identifizierende Angabe, auch bezeichnet als User Identifier, gespeichert ist.

Das Mobilfunk-Telekommunikations-Endgerät 200 weist, wie im Folgenden noch näher erläutert wird, zwei Prozessoren auf (nicht gezeigt), nämlich einen ersten Prozessor zum Ausführen von Applikationsprogrammen (im Folgenden auch bezeichnet als Applikationsprozessor) sowie einen digitalen Signalprozessor (DSP) zum Bereitstellen insbesondere der Funktionen der physikalischen Schnittstelle, d.h. der Funktionalität der Funksignalübertragung, beispielsweise zum Dekodieren von Mobilfunksignalen, etc. Ferner ist ein nicht dargestellter Speicher vorgesehen, wobei die beiden Prozessoren und der Speicher mittels eines Computerbusses miteinander gekoppelt sind.

In einer alternativen Ausgestaltung der Erfindung weist das Mobilfunk-Telekommunikations-Endgerät 200 einen als Mikrocontroller eingerichteten zweiten Prozessor auf. Ferner sind in dieser Ausführungsform noch mindestens ein zusätzlicher Mikrocontroller vorgesehen und gegebenenfalls noch ein zusätzlicher digitaler Signalprozessor. In einem Mikrocontroller werden die Applikations-Computerprogramme ausgeführt, in einem anderen Mikrocontroller werden die vertrauenswürdigen Dienste (trusted services), gegebenenfalls zusätzlich Modem-Dienste ausgeführt, d.h. bereitgestellt. Ferner ist noch ein digitaler Signalprozessor für echtzeitkritische Dienste, insbesondere im Rahmen der digitalen Signalverarbeitung, vorgesehen.

Will ein Benutzer sich nach Einschalten des Mobilfunk-Telekommunikations-Endgeräts 200 bei dem Mobilfunk-Kommunikationsnetzwerk anmelden, so wird der Benutzer von dem Mobilfunk-Telekommunikations-Endgerät 200 gebeten, eine persönliche Identifikationsnummer (Personal Identification Number, PIN) mittels der Tasten 207 einzugeben. In diesem Fall ist die im Folgenden beschriebene sicherheitsrelevante Funktion bzw. Prozedur das Eingeben einer PIN in das Mobilfunk-Telekommunikations-Endgerät 200.

Die eingegebene persönliche Identifikationsnummer wird mit der in der SIM-Karte 211 gespeicherten Benutzeridentität (User IDentity, UID) verglichen und der Teilnehmer wird von dem Mobilfunk-Kommunikationsnetzwerk als berechtigter Teilnehmer akzeptiert und somit bei dem Mobilfunk-Kommunikationsnetz als berechtigter Teilnehmer angemeldet, wenn die eingegebene Nummer der in der SIM-Karte 211 gespeicherten Benutzeridentität entspricht.

Das erfindungsgemäße Umschalten zwischen der Steuerungshoheit über die Tasten 207, 208, 209, 210, insbesondere der Zifferntasten in dem Tastenfeld 206 im Rahmen der Anmeldeprozedur wird im Folgenden noch näher erläutert.

3 beschreibt ein Mobilfunk-Telekommunikations-Endgerät 300 gemäß einem zweiten Ausführungsbeispiel der Erfindung.

Strukturell ist das Mobilfunk-Telekommunikations-Endgerät 300 in der gleichen Weise aufgebaut wie das Mobilfunk-Telekommunikations-Endgerät 200 gemäß dem ersten Ausführungsbeispiel der Erfindung, jedoch mit dem Unterschied, dass wahlweise der digitale Signalprozessor weggelassen werden kann und der im Rahmen der sicherheitsrelevanten Dateneingabe der persönlichen Identifikationsnummer erfindungsgemäß vorgesehene zweite Prozessor als Mikroprozessor auf der SIM-Karte 301 enthalten ist, welche einen Mikroprozessor 302 und einen nichtflüchtigen Speicher 303 aufweist und nicht, wie die SIM-Karte 211 gemäß dem ersten Ausführungsbeispiel nur einen nichtflüchtigen Speicher zur Speicherung der Benutzeridentität.

Gemäß einem dritten Anwendungsszenario ist in einem Blockdiagramm 400 in 4 ein Personal Computer 401 dargestellt, welcher einen Applikations-Prozessor (nicht dargestellt) enthält sowie einen oder mehrere Speicherelemente, wobei der Prozessor und die Speicher miteinander über einen Computerbus sowie mit externen Kommunikations-Schnittstellen gekoppelt sind und darüber mit einer Mehrzahl von Peripheriegeräten, beispielsweise einer Tastatur 402, einer Computermaus 403, einem Bildschirm 404 als Datenanzeigeeinheit sowie mit einer Chipkarten-Leseeinrichtung 405, mittels welcher eine Chipkarte 406 und damit die in der Chipkarte gespeicherte Information gelesen werden und an den Personal Computer 401 übertragen werden kann.

Anhand der in 4 dargestellten Anordnung 400 werden im Folgenden unterschiedliche Szenarien erläutert:

  • • Gemäß einer ersten Alternative sind der erste Prozessor in dem Personal-Computer 401 und der zweite Prozessor in der Chipkarten-Leseeinrichtung 405 enthalten, welche die im Folgenden beschriebenen Dienste bereitstellen.
  • • Gemäß einer alternativen Ausführungsform weist die Chipkarte 406 einen eigenen Mikroprozessor auf, welcher als zweiter Prozessor im Rahmen des im Weiteren beschriebenen Verfahrens genutzt wird.
  • • Gemäß einer anderen Ausführungsform ist es vorgesehen, dass zwei Prozessoren in dem Personal-Computer 401 enthalten sind.
  • • Gemäß noch einer anderen Ausführungsform ist es vorgesehen, dass ein Prozessor in der Datenanzeigeeinheit 404 vorgesehen ist und als zweiter Prozessor im Rahmen der gesicherten Dateneingabe vertraulicher Daten genutzt wird.

Es ist darauf hinzuweisen, dass je nach Bedarf ein oder mehrere der in 4 dargestellten Dateneingabe-Einheiten verwendet werden kann/können, um sicherheitsrelevante Daten in den Personal Computer 401 über eine jeweilige Peripherie-Schnittstelle 407, 408, 409, 410 einzugeben.

Es ist darauf hinzuweisen, dass die Eingabe von Daten mittels der Tastatur 402, mittels der Computermaus 403, mittels der gegebenenfalls als berührungssensitiver Bildschirm ausgestaltete Dateneinrichtung 404 oder mittels der Chipkarten-Leseeinrichtung 405 erfolgen kann.

5 zeigt eine weitere Datenverarbeitungseinrichtungs-Anordnung 500 gemäß einem anderen Ausführungsbeispiel der Erfindung.

Gemäß dieser Anordnung 500 sind eine Vielzahl von Client-Computern 501, 502, 503, 504, 505, welche jeweils eine Tastatur 506, 507, 508, 509, 510 und/oder eine Computermaus (nicht dargestellt) als Dateneingabe-Einheit aufweisen, wobei die Client-Computer 501, 502, 503, 504, 505 mittels eines Telekommunikations-Netzwerks 511 mit einem Server-Computer 512 gekoppelt sind.

In diesem Fall werden sicherheitsrelevante Daten, insbesondere Authentifikationsdaten über das Telekommunikationsnetz, vorzugsweise das Internet/Intranet 511 an den Server-Computer 512 übertragen und dort im Rahmen der Authentifikation eines Client-Computers 501 bis 505 verwendet. In diesem Fall weist der Server-Computer 512 zwei Prozessoren auf und die Eingabeeinheit ist die Eingangs-/Ausgangs-Schnittstelle des Server-Computers 512 zu dem Telekommunikationsnetz 511, da über diese eine Folge von Datensymbolen dem Server-Computer 512 zugeführt werden.

Die im Folgenden allgemein beschriebenen Vorgehensweisen gelten für alle oben beschriebenen Anwendungsszenarien, wobei es lediglich erforderlich ist, dass zwei Prozessoren vorhanden sind, welche miteinander kommunizieren können bzw. wahlweise einem der beiden vorgesehenen Prozessoren die eingegebenen Daten gegebenenfalls zugeführt werden können.

Wie oben beschrieben kann die jeweilige Dateneingabe-Einheit eine Tastatur, eine Datenkommunikations-Schnittstelle bzw. eine Eingabe-/Ausgabe-Schnittstelle zu einem Kommunikationsnetzwerk oder zu einem anderen Peripheriegerät der Datenverarbeitungseinrichtung sein, ein Touchpad, eine berührungssensitive Datenanzeigeeinheit, eine Computermaus oder ein Mikrofon, wobei mittels des Mikrofons in die Datenverarbeitungseinrichtung eingesprochene Sprachsignale mittels einer Spracherkennungseinheit umgesetzt werden in Datensymbole, welche als die eingegebenen Daten zu verstehen sind.

Somit wird für alle oben beschriebenen Anwendungsszenarien und damit verknüpfte Anordnungen von der in 1 beispielhaft dargestellten Systemarchitektur 100 ausgegangen.

Die meisten Anwendungs-Computerprogramme, die auch eine Benutzerschnittstelle, beispielsweise die Eingabe-/Ausgabe-Schnittstelle zum Empfangen bzw. Senden von Daten von bzw. zu einem Peripheriegerät aufweisen, werden von einem Applikationsprozessor 101 (erster Prozessor) ausgeführt. Der Applikationsprozessor 101 hat ein offenes Betriebssystems, vorzugsweise ein Windows-Betriebssystem, alternativ ein Linux-Betriebssystem, ein Unix-Betriebssystem, ein Symbian-Betriebssystem oder eine Java-Plattform installiert und führt dieses aus.

Ferner ist ein zweiter Prozessor 102 vorgesehen, welcher in einem vertrauenswürdigen Modus (Trusted Mode) läuft. Der zweite Prozessor 102 wird auch als Trusted Core-Prozessor bezeichnet und läuft somit in einer vertrauenswürdigen, vorzugsweise kryptographisch, geschützten Umgebung und wird im Folgenden zum Bereitstellen von sicherheitsrelevanten Diensten, insbesondere von kryptographischen Sicherheitsdiensten eingesetzt, alternativ oder zusätzlich auch für andere Dienste, beispielsweise zum Bereitstellen von Funktionen der physikalischen Schnittstelle im Rahmen einer Datenübertragung, insbesondere einer Mobilfunk-Datenübertragung. In dem Anwendungsfall, dass die Datenverarbeitungseinrichtung als Mobilfunk-Telekommunikations-Endgerät ausgestaltet ist (vgl. 1 und 2) weist dieses üblicherweise zwei Prozessoren, nämlich den Applikationsprozessor sowie einen digitalen Signalprozessor (DSP), auf.

In einem ersten Betriebsmodus (Normal-Betriebsmodus) ist die Tastatur 103, allgemein die Dateneingabe-Einheit dem Applikationsprozessor 101 zugeordnet und wird von diesem gesteuert. Somit ist der Applikationsprozessor 101 verantwortlich für die Steuerung und die Verarbeitung der mittels einer Tastatur 103, allgemein eine oben beschriebenen alternativen Dateneingabe-Einheit eingegebenen Daten 104 mittels eines Tastatur-Peripherie-Blocks 105, welcher gemeinsam vorzugsweise mit dem Applikationsprozessor 101 und dem zweiten Prozessor 102, gekoppelt mittels eines Systembusses 106 in einem gemeinsamen integrierten Systemcontroller-Schaltkreis 107 angeordnet ist.

In den oben beschriebenen Anwendungsszenarien, in welchen der zweite Prozessor 102 nicht gemeinsam in einer integrierten Schaltung 107 mit dem Applikationsprozessor 101 vorgesehen ist, sind die beiden Prozessoren 101, 102 beispielsweise mittels eines Kabels oder einer anderen Art von Kommunikationsverbindung, beispielsweise einer Funk-Kommunikationsverbindung, miteinander gekoppelt.

Wenn sicherheitsrelevante Daten beispielsweise im Rahmen einer Authentifikation eines Benutzers von dem Benutzer in die Datenverarbeitungseinrichtung 100 eingegeben werden soll, dann wird die Kontrolle über die Dateneingabe-Einheit, vorzugsweise die Tastatur 103, an den zweiten Prozessor 102 übergeben so lange bis die Eingabe der vertraulichen Daten beendet ist. Auf diese Weise kann es erreicht werden, dass eine vertrauliche Dateneingabe nicht die vertrauenswürdige Umgebung des Systems 100 verlässt.

In den Ausführungsformen, in denen die Datenverarbeitungseinrichtung in einem Mobilfunk-Telekommunikations-Endgerät integriert ist, sind beispielsweise die Prozessoren beide ARM926-Prozessoren, alternativ ist der Applikationsprozessor ein ARM11-Prozessor.

Im Folgenden werden unterschiedliche Realisierungsalternativen zur Realisierung eines sicherheitsrelevanten Dateneingabemodus innerhalb der Datenverarbeitungseinrichtung dargestellt.

Gemäß einer ersten bevorzugten Ausführungsform ist eine explizite Übergabe der Kontrolle über die Dateneingabe-Einheit, bevorzugt die Tastatur 103 von dem Applikationsprozessor 101 auf den vertrauenswürdigen zweiten Prozessor 102 und von diesem zurück an den Applikationsprozessor 101 vorgesehen.

In diesem Fall wird der Besitz, d.h. anschaulich die Kontrolle über die Dateneingabe-Einheit, bevorzugt die Tastatur 103, von dem Applikationsprozessor 101 zu dem zweiten Prozessor 102 bzw. von diesem zurück an den Applikationsprozessor 101 übertragen mittels expliziter Inter-Prozessorkommunikation.

Dies erfordert, dass beide Prozessoren, d.h. sowohl der Applikationsprozessor 101 als auch der zweite Prozessor 102 jeweils ein Computerprogramm enthalten und ausführen können, welches es ihnen ermöglicht zu ermitteln, wer tatsächlich aktuell die Kontrolle über die Dateneingabe-Einheit 103 besitzt und ein Computerprogramm, welches das Übertragen, anders ausgedrückt das Übergeben der Kontrolle über die Dateneingabe-Einheit 103 an den jeweils anderen Prozessor 101 bzw. 102 durchführt.

Der Trusted Core-Prozessor (zweiter Prozessor) 102 hat für eine begrenzte Zeitdauer während des sicherheitsrelevanten Dateneingabemodus Kontrolle über die Dateneingabe-Einheit 103, mittels welcher die sicherheitsrelevanten, d.h. vertraulichen Daten in die Datenverarbeitungseinrichtung 100 eingegeben werden. Während dieser Zeit aktiviert der Trusted Core-Prozessor 102 bevorzugt eine Sichere-Eingabe-Anzeige, mit der einem Benutzer angezeigt wird, dass sich die Datenverarbeitungseinrichtung 100 in dem zweiten, sicheren Dateneingabemodus befindet. Unterschiedliche Optionen zum Realisieren der Anzeige des zweiten, d.h. sicherheitsrelevanten Dateneingabemodus werden weiter unten näher erläutert.

In diesem Zusammenhang ist anzumerken, dass es für eine verlässliche Anzeige des zweiten Dateneingabemodus an den Benutzer wünschenswert ist, dass im Rahmen der Anzeige dieser Information an den Benutzer der Applikationsprozessor 101 diese Anzeige nicht steuern kann.

In einem Nachrichtenfluss-Diagramm 600 in 6 ist ein Beispiel dargestellt, in dem ein Passwort als vertrauliche Datensymbolfolge in die Datenverarbeitungseinrichtung eingegeben wird und welches zum digitalen Signieren einer Datei verwendet wird.

Bei dem in dem Ablaufdiagramm 600 dargestellten Verlauf wird ein implizites Aktiveren des zweiten Dateneingabemodus (Secure Input Mode) in dem Trusted Core-Prozessor 102 ausgelöst durch den Empfang einer Anfragenachricht zum Signieren einer elektronischen Datei.

Wie in 6 dargestellt ist, wird gemäß diesem Beispiel von dem Applikationsprozessor 101 eine Signier-Anforderungsnachricht 601 erzeugt und an den zweiten Prozessor, d.h. den Trusted Core-Prozessor 102 übermittelt, vorzugsweise über den Systembus 106. In der Signier-Anforderungsnachricht 601 ist der angeforderte Sicherheitsdienst, nämlich das Durchführen einer digitalen Signatur (Sign) 602 über eine elektronische Datei angegeben sowie als Parameter des angeforderten Dienstes die digital zu signierende elektronische Datei (text) 603 sowie eine Schlüssel-Identifikationsangabe (key ID) 604.

Auf dem Empfang der Signier-Anforderungsnachricht 601 fragt der Trusted Core-Prozessor 102 von einem nur ihm zugänglichen nicht flüchtigen Speicher 605 ein Privater-Schlüssel-Profil 606 ab und verifiziert die Signier-Anforderungsnachricht 601 unter Verwendung des ausgelesenen Privater-Schlüssel-Profil 606 (Schritt 607).

Bis zu diesen Zeitpunkt befindet sich die Datenverarbeitungseinrichtung 100 noch in dem ersten Dateneingabemodus, d.h. in einem unsicheren Dateneingabemodus, in dem der Applikationsprozessor 101 noch die Kontrolle über die Dateneingabe-Einheit 103 besitzt.

Dies wird mittels einer ersten, den ersten Dateneingabemodus kennzeichnende Dateneingabemodus-Anzeige 608 dem Benutzer auf einem Bildschirm angezeigt.

Anschließend wechselt der Dateneingabemodus der Datenverarbeitungseinrichtung 100 in den zweiten, sicherheitsrelevanten Dateneingabemodus.

In einem nachfolgenden Schritt sendet der Trusted Core-Prozessor 102 eine erste Moduswechsel-Anforderungsnachricht 609 an den Applikationsprozessor 101, wobei mittels der ersten Moduswechsel-Anforderungsnachricht 609 der Wechsel des Dateneingabemodus von dem ersten Dateneingabemodus in den zweiten Dateneingabemodus von dem Applikationsprozessor 101 angefordert wird.

Nach Erhalt der ersten Moduswechsel-Anforderungsnachricht 609 gibt der Applikationsprozessor 101 die Kontrolle über die Dateneingabe-Einheit 103, insbesondere über die Tastatur 103 frei (Schritt 610).

Die Freigabe der Tastatursteuerung wird dem Trusted Core-Prozessor 102 von dem Applikationsprozessor 101 mittels einer ersten Moduswechsel-Bestätigungsnachricht 611 mitgeteilt.

Auf dem Empfang der ersten Moduswechsel-Bestätigungsnachricht 611 hin übernimmt der Trusted Core-Prozessor 102 die Kontrolle über die Dateneingabe-Einheit 103, insbesondere über die Tastatur 103 (Schritt 612).

Nachfolgend aktiviert der Trusted Core-Prozessor 102 die Dateneingabemodus-Anzeige und setzt diese auf eine zweite Dateneingabemodus-Anzeige 614, mit der angegeben wird, dass sich die Datenverarbeitungseinrichtung in dem zweiten Dateneingabemodus befindet (Schritt 613). Diese Aktivierung erfolgt ausschließlich unter Steuerung des Trusted Core-Prozessors 102, d.h. der Applikationsprozessor 101 hat keinen Zugriff und keine Steuerungsmöglichkeit hinsichtlich der Dateneingabemodus-Anzeigen 608, 614.

Anschließend sammelt der Trusted Core-Prozessor 102 die aufeinanderfolgend von dem Benutzer eingegebenen Zeichen bzw. Datensymbole, welche die vertraulichen, eingegebenen Daten repräsentieren (Schritt 614). Beispielsweise werden die einzelnen Symbole des angefragten Passworts nacheinander in einem nichtflüchtigen Speicher, beispielsweise in dem nichtflüchtigen Speicher 605 des Trusted Core-Prozessors 102 zwischengespeichert.

Das Passwort in dem nichtflüchtigen Speicher sollte vor einem Zugriff des „untrusted" ersten Prozessors geschützt sein. Entweder hat der „trusted core", d.h. der zweite Prozessor, zu diesem Zweck einen dedizierten, reservierten nichtflüchtigen Speicher. Bevorzugt ist das Passwort in dem nichtflüchtigen Speicher verschlüsselt abgelegt und nur mit einem Schlüssel zu entschlüsseln, welchen der zweite Prozessor exklusiv "besitzt", z.B. gewährleistet durch einen oder mehrere spezielle(n) Hardware-Baustein(e). Dies bedeutet, dass nur der zweite Prozessor hat Zugriff auf den Schlüssel zum Entschlüsseln des Passwortes.

In einer alternativen Ausführungsform oder zusätzlich zu obiger Ausführungsform ist es zum Erhöhen der Verarbeitungseffizienz vorgesehen, die Zwischenspeicherung des Passwortes in einem flüchtigen Speicher durchzuführen. Zu diesem Zweck sollte der flüchtige Speicher von Manipulation des „untrusted" ersten Prozessors geschützt sein.

Anders ausgedrückt bedeutet dies, dass sichergestellt werden sollte, dass die Operationen des vertrauenswürdigen, d.h. „trusted", zweiten Prozessors nicht von dem (nicht vertrauenswürdigen, d.h. „untrusted") ersten Prozessor gestört werden dürfen. Dies lässt sich beispielsweise durch dedizierte Hauptspeicher für beide Prozessoren oder bei Verwendung eines gemeinsamen Hauptspeichers durch den Einsatz eines Speicher-Controllers, welcher von dem "trusted" zweiten Prozessor gesteuert wird und explizite Zugriffsrechte für bestimmte Adressbereiche vergeben kann, erreichen.

In einem nachfolgenden Schritt (Schritt 615) wird das eingelesene Passwort von dem Trusted Core-Prozessor 102 mit in dem nichtflüchtigen Speicher 605 zuvor gespeicherten geheimen Passwort 616 verglichen.

Stimmt das eingegebene Passwort mit dem in dem nichtflüchtigen Speicher 605 gespeicherten Passwort 616 für den geheimen Schlüssel des Benutzers überein, so liest der Trusted Core-Prozessor 102 anschließend aus dem nichtflüchtigen Speicher 605 den privaten, d.h. geheimen Schlüssel 617 des Benutzers aus und signiert den in der Anforderungsnachricht 601 angegebenen Text 603 unter Verwendung des geheimen Schlüssels des Benutzers (Schritt 618).

Nachfolgend gibt der Trusted Core-Prozessor 102 die Kontrolle über die Dateneingabe-Einheit 103 wieder ab (Schritt 619) und deaktiviert die zweite Datenmodus-Anzeige 614, mit der der zweite Dateneingabemodus angezeigt wird, derart, dass nunmehr mittels der Datenmodus-Anzeige 608 wiederum der erste Dateneingabemodus zur Eingabe nicht vertraulicher Daten dem Benutzer angezeigt wird (Schritt 620).

Anschließend sendet der Trusted Core-Prozessor 102 eine zweite Moduswechsel-Anforderungsnachricht 621 an den Applikationsprozessor 101 und fordert damit einen erneuten Wechsel des Dateneingabemodus an, diesmal jedoch von dem zweiten, sicherheitsrelevanten Dateneingabemodus in den ersten Dateneingabemodus, d.h. den Normal-Betriebsmodus zur Eingabe von nichtvertraulichen Daten in die Datenverarbeitungseinrichtung 100.

Auf den Empfang der zweiten Moduswechsel-Anforderungsnachricht 621 hin übernimmt wiederum der Applikationsprozessor 101 die Kontrolle über die Dateneingabe-Einheit 103 (Schritt 622).

Das Beenden der erneuten Übernahme der Kontrolle über die Dateneingabe-Einheit 103 teilt der Applikationsprozessor 101 dem Trusted Core-Prozessor 102 mittels einer zweiten Moduswechsel-Bestätigungsnachricht 623 mit, womit der zweite Dateneingabemodus (in 6 symbolisiert mit dem Bezugszeichen 624) beendet ist.

Anschließend übermittelt der Trusted Core-Prozessor 102 dem Applikationsprozessor 101 das Ergebnis des angeforderten Sicherheitsdienstes, in diesem Beispielfall die digitale Signatur 625 über den in der Signatur-Anforderungsnachricht 601 angegebenen elektronischen Datei 603.

Gemäß einer alternativen Ausführungsform ist es vorgesehen, dass die Dateneingabe-Einheit, insbesondere die Tastatur 103 für den Applikationsprozessor 101 transparent sowohl von dem Applikationsprozessor 101 als auch gegebenenfalls von dem Trusted Core-Prozessor 102 genutzt wird.

In dieser Ausführungsform ist es dem Applikationsprozessor 101 nicht bekannt, dass die Dateneingabe-Einheit 103 temporär von dem Trusted Core-Prozessor 102 im Rahmen des zweiten Dateneingabemodus verwendet wird. Anders ausgedrückt wird es dem Applikationsprozessor 101 nicht mitgeteilt, dass ein Übergang des Dateneingabemodus von dem ersten Dateneingabemodus in den zweiten Dateneingabemodus und umgekehrt stattfindet.

Während des zweiten Dateneingabemodus, d.h. solange bis die Eingabe der vertraulichen Daten abgeschlossen ist, ist mittels eines Dateneingabe-Einheit-Treiber-Computerprogramms, vorzugsweise einem Tastatur-Treiber-Computerprogramms, welches in der sicheren Umgebung des Trusted Core-Prozessors 102 implementiert ist und von dem Trusted Core-Prozessor 102 ausgeführt wird der folgende Mechanismus zur Bearbeitung und zum Empfangen jedes eingegebenen Zeichens bzw. Datensymbols, welches mittels der Dateneingabe-Einheit 103 in die Datenverarbeitungseinrichtung eingegeben wird, bereitgestellt:

  • 1. Die Verbindung zwischen der Dateneingabe-Einheit 103 und dem Applikationsprozessor 101 wird getrennt („disconnect").
  • 2. In dem zweiten Dateneingabemodus (Secure Input Mode) wird ein eingegebenes Datensymbol eingelesen.
  • 3. In ein vorgesehenes Tastatur-Peripherie-Register wird ein vorgegebenes Symbol, vorzugsweise ein „*"-Symbol geschrieben, um für den Applikationsprozessor 101 das Eingeben eines Datensymbols zu simulieren.
  • 4. Die Verbindung zwischen der Dateneingabe-Einheit 103 und dem Applikationsprozessor 101 wird wieder aufgebaut („connect").

Es ist anzumerken, dass bevorzugt in Schritt 3 der in 8 dargestellte Dateneingabe-Einheit-Peripherieblock 801 der Anordnung 800 verwendet wird.

Die oben und im Folgenden im Zusammenhang mit 7 dargestellte Realisierung auf den Trusted Core-Prozessor 102 bewirkt, dass aus Sicht des Applikationsprozessors 101 in dem zweiten Dateneingabemodus lediglich ein vorgegebenes Zeichen eingegeben, d.h. eine vorgegebene Taste gedrückt wird, beispielsweise die Taste mit dem Symbol „*". Damit zeigt der Applikationsprozessor 101 das „*"-Symbol, welches er von dem Tastatur-Treiber-Computerprogramm empfängt, auf der Datenanzeigeeinheit an. Auf diese Weise wird ein „Look and Feel"-Bediengefühl für den Benutzer bei der Eingabe eines PIN-Codes oder eines Passworts erreicht.

Während sich die Datenverarbeitungseinrichtung 100 in dem zweiten Dateneingabemodus befindet, ist es optional vorgesehen, eine entsprechende Sicherheitsmodus-Anzeigeinformation der Datenanzeigeeinheit bereitzustellen, woraufhin die Datenanzeigeeinheit eine entsprechende Dateneingabemodus-Anzeige 614 an den Benutzer ausgibt. Die unterschiedlichen Möglichkeiten zur Darstellung des jeweils vorhandenen bzw. aktivieren Dateneingabemodus werden weiter unter noch näher erläutert.

7 zeigt in einem Ablaufdiagramm 700 die Vorgehensweise gemäß der zweiten oben beschriebenen Ausführungsform.

Nach Aktivieren des zweiten Dateneingabemodus (Schritt 701) wird von dem Trusted Core-Prozessor 102 bei dem Applikationsprozessor das Durchführen bzw. Auslösen von Dateneingabe-Einheit-Interrupts, insbesondere von Tastatur-Interrupts deaktiviert (702) und der Zugriff des Applikationsprozessors 101 auf den Tastatur-Peripherieblock 801 (vgl. 8) (allgemein auf den Dateneingabe-Einheit-Peripherieblock) wird ebenfalls deaktiviert (Schritt 703).

Nachfolgend werden die Tastaturblockregister, in welchen die Information der gedrückten Tasten gespeichert sind, von dem zweiten Prozessor, d.h. von dem Trusted Core-Prozessor 102, abgefragt (Schritt 704).

Wird eine in der Tastatur vorzugsweise vorgesehene Sichere-Dateneingabemodus-Beendigungstaste gedrückt, was in einem Prüfschritt 705 überprüft wird, so wird angenommen, dass die sichere Dateneingabe beendet ist und aus den abgefragten Registerwerten werden ein oder mehrere vertrauliche Eingabe-Datenwerte erzeugt (Schritt 706).

Nachfolgend erhält der Applikationsprozessor 101 erneut Zugriff auf den Tastatur-Peripherieblock 801 (Schritt 707) und auch die Tastatur-Interrupts werden für den Applikationsprozessor 101 wieder aktiviert (Schritt 708).

Damit ist der zweite Dateneingabemodus wieder deaktiviert (Schritt 709).

Solange jedoch die Sichere-Dateneingabemodus-Beendigungstaste nicht gedrückt ist, wird für jede gedrückte Taste der die jeweilig gedrückte Taste repräsentierende Wert in einem nur dem Trusted Core-Prozessor 102 zugänglichen Speicher gespeichert (Schritt 710).

Anschließend wird in den Tastaturblockregistern für jedes eingegebene Symbol ein „*"-Symbol eingeschrieben (Schritt 711) und der Applikationsprozessor 101 erhält wiederum Zugriff auf den Tastatur-Peripherieblock (Schritt 712) und schließlich werden die Tastatur-Interrupts für den Applikationsprozessor 101 wieder freigeschaltet (Schritt 713). Anschließend wird solange gewartet, bis der Applikationsprozessor 101 das „*"-Symbol aus dem Tastatur-Peripherieblock-Register ausgelesen hat (Schritt 714) und es wird fortgefahren in Schritt 702. Anders ausgedrückt wird sichergestellt, dass der Applikationsprozessor 101 das „*"-Symbol aus dem Tastatur-Peripherieblock-Register ausgelesen hat.

Wie in 8 zu sehen ist, ist in dem modifizierten Tastatur-Peripherieblock 801 eine Abtast- und Tasten-Entprell-Logik 802 vorgesehen sowie eine Schaltereinheit 803, mittels welcher die eingegebenen Symbole von der Abtast- und Tasten-Entprell-Logik 802 gemäß einer ersten Schalterstellung (A) der Schaltereinheit 803 einem Abtast-Ergebnisregister 804 zugeführt werden oder in einer zweiten Schalterstellung (B) der Schaltereinheit 803 direkt der Computerbus-Schnittstelle 805 zugeführt wird, welche zusätzlich mit dem Ausgang des Abtast-Ergebnisregisters 804 gekoppelt ist. Die Computerbus-Schnittstelle 805 ist ferner mit einem Steuerregister 806 gekoppelt, wobei die in dem Steuerregister 806 gespeicherten Daten gegebenenfalls ein Schalterzustands-Steuersignal 807 generieren und mit diesem die Schaltereinheit 803 ansteuert.

Gemäß einer dritten Ausführungsform ist es vorgesehen, dass in dem Normal-Dateneingabemodus die Tastatur oder das Keypad die Information über die gedrückte Taste unmittelbar an den Applikationsprozessor 101 übermittelt.

Nach erfolgter Aktivierung des zweiten Dateneingabemodus (sicherer Dateneingabemodus) und nachdem der Trusted Core-Prozessor 102 die Eingabe der vertraulichen Datensymbole angefordert hat, gibt die Tastatur-Peripherie-Treibereinrichtung anstelle der Information über die gedrückte Taste ein vorgebbares Austausch-Datenzeichen/Datensymbol, beispielsweise das „*"-Symbol, welches beispielsweise in dem PIN-Eingabefeld auf der graphischen Benutzeroberfläche der Datenanzeigeeinheit 103 dem Benutzer dargestellt wird, aus.

Wenn die Zifferntasten von dem Benutzer gedrückt werden, wird diese Information ohne Austauschen der Tasteninformation unmittelbar an den Applikationsprozessor 101 weitergeleitet. Damit erhält der Applikations-Prozessor 101 immer eine gültige Tasteninformation, welche dieser in der graphischen Benutzeroberfläche, d.h. auf der Datenanzeigeeinheit dem Benutzer anzeigen kann und damit dem Benutzer ein „Look and Feel"-Bediengefühl bereitstellen kann. Die tatsächlich eingegebenen Tasten werden sequentiell in einem Speicher oder einem Teil eines Speichers akkumuliert, wobei der Speicher bzw. der Teil des Speichers nur von dem Trusted Core-Prozessor 102 zugänglich ist.

Der Applikationsprozessor 101 hat keinen Zugriff auf diesen Speicher bzw. diesen Teil des Speichers. Nachdem die Eingabe der vertraulichen Information vollständig beendet wurde, wird die eingegebene Datenfolge von dem Trusted Core-Prozessor 102 zu deren Validierung weiter verarbeitet.

So wird die eingegebene Datenfolge beispielsweise mit einem korrespondierenden, auf einer Smart-Card oder in einem Flash-Speicher gespeicherten Wert verglichen.

Gemäß dieser Ausführungsform ist es nicht erforderlich, irgendeinen Interrupt in dem Applikationsprozessor 101 während des Eingebens der vertraulichen Datenzeichen/Datensymbole, bevorzugt während der Passworteingabe oder während der PIN-Eingabe, zu deaktivieren. Die Interrupts sollten nur deaktiviert werden während der Verifikation des Passwortes durch den Trusted Core-Prozessor 102. Die Verifikation des Passwortes oder des PIN-Codes kann jedoch in einem zusätzlich vorgesehenen kryptographisch gesicherten Block durchgeführt werden. Auf diese Weise kann das Passwort nicht direkt von dem Applikationsprozessor 101 ermittelt werden, anders ausgedrückt, dieser hat keinen Zugriff auf das Passwort, welches in dem Kryptoblock gespeichert ist.

Das Passwort kann nicht von dem Applikationsprozessor 101 ermittelt werden, anders ausgedrückt, dieser hat keinen Zugriff auf das Passwort, welches in dem Kryptoblock gespeichert.

Der Tastatur-Treiber oder der Keypad-Treiber bzw. dessen Funktionalität kann direkt in Hardware, d.h. mittels einer speziellen elektronischen Schaltung, mittels beispielsweise eines FPGA oder eines ASIC oder in einer Multi-Prozessor-Umgebung in Software, mittels eines Computerprogramms oder in einer beliebig hybriden Form, d.h. in beliebigen Anteilen in Hardware und in Software, realisiert werden. Wenn die Treiberfunktionalität mittels eines Computerprogramms realisiert wird, so wird das Computerprogramm auf dem Trusted Core-Prozessor 102 ausgeführt und die Information über die gedrückte Taste bzw. das Austausch-Zeichen für die gedrückte Taste wird unter Verwendung der Inter-Prozessorkommunikation (IPC) dem Applikationsprozessor 101 übermittelt.

Im Folgenden werden unterschiedliche Varianten zum Aktiveren des zweiten Dateneingabemodus beschrieben.

In einer ersten Variante ist ein implizites Aktivieren des zweiten Dateneingabemodus vorgesehen. Im Fall des impliziten Aktivierens des zweiten Dateneingabemodus ist keine eigene Aktion seitens des Benutzers erforderlich, um die Datenverarbeitungseinrichtung in den zweiten Dateneingabemodus zu überführen. Die von dem Trusted Core-Prozessor 102 ausgeführte Software aktiviert den zweiten Dateneingabemodus selbsttätig, sobald eine Funktion aufgerufen wird, welche einen Sicherheitsdienst enthält (alternativ kann die Funktion der Sicherheitsdienst selbst sein), in dessen Rahmen vertrauliche, von einem Benutzer eingegebene Information verarbeitet wird. Dies kann seitens des Trusted Core-Prozessors 102 beispielsweise dadurch bewirkt werden, dass eine entsprechende Anforderungsnachricht von dem Applikationsprozessor 101 empfangen wird, wie dies im Zusammenhang mit dem Ablaufdiagramm 500 in 5 erläutert wurde.

In einer alternativen Ausgestaltung ist eine explizite Aktivierung des zweiten Dateneingabemodus bzw. dessen Deaktivierung unter Verwendung einer speziellen, dafür vorgesehenen Dateneingabemodus-Änderungs-Taste vorgesehen. In diesem Fall wird eine Dateneingabemodus-Änderung durch den Benutzer bewirkt, indem eine spezielle Taste gedrückt wird, wobei die Taste ausschließlich unter der Kontrolle des Trusted Core-Prozessors 102 steht, d.h. anders ausgedrückt, nur der Trusted Core-Prozessor 102 kann eine das Drücken dieser speziellen Taste repräsentierende Information empfangen und verarbeiten. In diesem Fall fragt das Anwendungs-Computerprogramm unter Verwendung einer entsprechenden graphischen Benutzeroberfläche den Benutzer nach einer Eingabe eines Passwortes oder eines PIN-Codes. Nach dargestellter Aufforderung zur Eingabe vertraulicher Daten drückt der Benutzer die spezielle Taste und bewirkt damit den Übergang der Datenverarbeitungseinrichtung von dem ersten Dateneingabemodus in den zweiten, sicheren Dateneingabemodus und überträgt somit die Kontrolle bzw. den Besitz der Tastatur, allgemein der Dateneingabe-Einheit, von dem Applikationsprozessor 101 an den Trusted Core-Prozessor 102. Der Trusted Core-Prozessor 102 aktiviert, wie oben im Zusammenhang mit unterschiedlichen Ausführungsformen beschrieben, eine entsprechende Dateneingabemodus-Anzeige, beispielsweise unter Verwendung einer zusätzlich vorgesehenen Leuchtdiode oder mittels eines Symbols, welches auf der Datenanzeigeeinheit dargestellt wird, und der Benutzer kann anschließend das Passwort in sicherer Umgebung in die Datenverarbeitungseinrichtung eingeben.

Im Folgenden werden unterschiedliche Möglichkeiten und Ausführungsalternativen zur Anzeige des zweiten Dateneingabemodus, d.h. des sicheren Dateneingabemodus für die Datenverarbeitungseinrichtung an den Benutzer derselben beschrieben.

Gemäß einer ersten Implementierung, wie sie in [4] beschrieben ist, nutzt der Trusted Core-Prozessor 102 eine speziell dazu vorgesehene Leuchtdiode (oder eine andere geeignete Ausgabeeinrichtung) um dem Benutzer anzuzeigen, dass der zweite, sichere Dateneingabemodus aktiviert ist.

Es ist in diesem Zusammenhang wünschenswert, dass die jeweils verwendete Datenausgabeeinrichtung nur von dem Trusted Core-Prozessor 102, nicht aber von dem Applikationsprozessor 101 ansteuerbar und kontrollierbar ist. Die Anzeige des sicheren Dateneingabemodus wird dem Benutzer solange dargestellt, wie der zweite Dateneingabemodus aktiviert ist.

Gemäß einer alternativen Ausführungsform ist es vorgesehen, dass ein sicheres Display, alternativ eine gesicherte graphische Benutzeroberfläche oder ein gesicherter Teil einer graphischen Benutzeroberfläche verwendet wird zum Anzeigen des zweiten Datenanzeigemodus der Datenverarbeitungseinrichtung.

Dies kann auf folgende Weise realisiert werden:

  • • Wird beispielsweise ein Mobilfunk-Telekommunikations-Endgerät verwendet, so wird der Benutzer aufgefordert, einen persönlichen Code (eine Ziffernfolge oder ein Passwort) in das Mobilfunk-Telekommunikations-Endgerät einzugeben.
  • • Der eingegebene Code wird in einem externen Flash-Speicher, vorzugsweise in verschlüsselter Form, gespeichert und ein Flag wird in dem externen Flash-Speicher gesetzt, so dass ein Initialisierungszustand erfasst wird. Dieses Verfahren zum sicheren Eingeben der vertraulichen Daten ist nun initialisiert und betriebsbereit. Dies alles erfolgt unter der Kontrolle des Trusted Core-Prozessors 102.
  • • Sobald die Betriebsbereitschaft hergestellt ist, wird das identische Verfahren durchgeführt wie oben im Zusammenhang mit [4] beschrieben wurde, mit dem folgenden Unterschied:

    Wenn der Benutzer eine gesicherte Transaktion durchführen möchte zeigt das Mobilfunk-Telekommunikations-Endgerät seinen sicheren Dateneingabemodus an, indem der benutzereigene persönliche Code bzw. das benutzereigene Passwort dem Benutzer auf der Datenanzeigeeinheit dargestellt wird, anstatt dass eine Leuchtdiode aktiviert wird.
  • • Nun kann der Benutzer seine gesicherte Transaktion durchführen.

Gemäß einer noch anderen alternativen Ausgestaltung ist es vorgesehen, ein vertrauenswürdiges Display (Trusted Display) zu verwenden um den sicheren Dateneingabemodus der Datenverarbeitungseinrichtung anzuzeigen.

In dieser Ausführungsform ist eine einzige Datenanzeigeeinheit vorgesehen zum Anzeigen vertrauenswürdiger Applikationsdaten und zum Anzeigen, ob der sichere Dateneingabemodus aktiviert ist.

Ist der sichere Dateneingabemodus aktiviert, so ist es vorgesehen, dass nur ein vorgebbar programmierbarer Teilbereich der Datenanzeigeeinheit, vorzugsweise einer graphischen Benutzeroberfläche oder die gesamte Datenanzeigeeinheit, vorzugsweise die gesamte graphische Benutzeroberfläche nur von dem Trusted Core-Prozessor 102 gesteuert werden kann, d.h. nur von diesem auf sie zugegriffen werden kann. Der Applikationsprozessor 101 hat keine Zugriffsrechte auf den Inhalt, welcher in der Datenanzeigeeinheit bzw. der graphischen Benutzeroberfläche bzw. in den jeweils ausgewählten Teilbereichen angezeigten Information. Dies verhindert, dass schädigender Computerprogrammcode, welcher auf dem Applikationsprozessor 101 installiert ist, beispielsweise ein Trojanisches Pferd-Computerprogramm, die auf der Datenanzeigeeinheit bzw. der graphischen Benutzeroberfläche angezeigte vertrauliche Information lesen oder manipulieren kann. Um den Zugriff des Applikationsprozesses 101 auf die entsprechenden Bereiche zu verbieten, ist es vorgesehen zu verhindern, dass auf dem Applikationsprozessor 101 ausgeführter Computerprogrammcode dazu benutzt wird, Daten in der Datenanzeigeeinheit bzw. den entsprechenden gesicherten Teilbereichen der Datenanzeigeeinheit bzw. der graphischen Benutzeroberfläche zu überschreiben beispielsweise mit irgendeiner Art von Eingabeaufforderung an den Benutzer.

Dies kann in folgender Weise realisiert werden:

  • • Wird ein Mobilfunk-Telekommunikations-Endgerät verwendet, so wird der Benutzer aufgefordert, einen persönlichen Code (beispielsweise eine Ziffernfolge oder ein Passwort) mittels der Dateneingabe-Einheit in das Mobilfunk-Telekommunikations-Endgerät einzugeben und zusätzlich, optional, ein ein digitales Siegel repräsentierendes Symbol auszuwählen, mittels welchem der zweite Dateneingabemodus (Trusted Input Mode) dem Benutzer angezeigt wird. Die angeforderte Eingabe seitens des Benutzers wird, wenn durchgeführt, in einen externen Flash-Speicher, vorzugsweise in verschlüsselter Form, gespeichert und ein Flag wird in dem externen Speicher gesetzt, womit der Initialisierungsstatus angezeigt wird. Damit ist das Verfahren zur sicheren Dateneingabe initialisiert und betriebsbereit. Dies alles geschieht unter der Kontrolle des Trusted Core-Prozessors 102. Der Applikationsprozessor 101 kann auf diese Daten nicht zugreifen.
  • • Ist der zweite Dateneingabemodus aktiviert, so ist das Verfahren identisch mit dem in [4] beschriebenen Verfahren mit dem folgenden Unterschied:

    Wenn der Benutzer eine gesicherte Transaktion durchführen möchte, zeigt der Trusted Core-Prozessor 102 seinen gesicherten Status an, in dem er den persönlichen Code des Benutzers oder das persönliche Passwort des Benutzers diesem anzeigt oder das von dem Benutzer ausgewählte, das digitale Siegel repräsentierende Symbol, welches von dem Benutzer ausgewählt wurde, in dem Bereich der Datenanzeigeeinheit anzeigt, welcher ausschließlich von dem Trusted Core-Prozessor 102 angesteuert werden kann, anders ausgedrückt, auf welchen nur von dem Trusted Core-Prozessor 102 zugegriffen werden kann.

Um den Benutzer die Bereiche des vertrauenswürdigen Bereichs auf der Datenanzeigeeinheit bzw. der graphischen Benutzeroberfläche anzuzeigen, kann das Symbol oder der persönliche Code als Muster für die Grenzlinie des vertrauenswürdigen Bereichs verwendet werden oder es kann eine entsprechend veränderte Farbe oder ein entsprechend verändertes Muster des Hintergrundes der Datenanzeigeeinheit bzw. der grafischen Benutzeroberfläche in den gesicherten Bereich vorgesehen sein. In [5] sind diese Anzeigen beispielsweise unter Verwendung eines vertrauenswürdigen Bildes realisiert.

Alternativ kann ein Cursor (Verdeckung) verwendet werden. Das Bild des Cursors kann gemäß dieser Ausgestaltung nur von dem Trusted Core-Prozessor programmiert bzw. angesteuert werden. Das Bild hängt von der Position des Cursors innerhalb der Datenanzeigeeinheit bzw. innerhalb der graphischen Benutzeroberfläche ab und davon, ob die Position zu dem vertrauenswürdigen Bereich gehört oder nicht. Befindet sich der Cursor in dem vertrauenswürdigen Bereich, d.h. in dem gesicherten Bereich, dann erhält der Cursor das Aussehen, welches der Benutzer zum Anzeigen des gesicherten Dateneingabemodus gewählt hat und befindet sich der Cursor außerhalb des gesicherten Bereichs, wird ein voreingestellter Cursor, mittels welchem der Normal-Dateneingabemodus angezeigt wird, dem Benutzer angezeigt.

In dem zweiten Dateneingabemodus wird die durchgeführte Eingabe von Daten mittels des Benutzers ausschließlich von dem Trusted Core-Prozessor 102 verarbeitet.

Gemäß einer anderen Ausgestaltung ist es vorgesehen, eine das vertrauenswürdige Bild repräsentierende Bildpunktkarte auf der Datenanzeigeeinheit darzustellen oder Instruktionen vorzusehen, das Bild einem Benutzer jeweils unterschiedlich darzustellen, je nachdem, ob die Daten, welche von einem Benutzer eingegeben werden, in einem ungesicherten Dateneingabemodus eingegeben und damit dem Applikationsprozessor 101 zugeführt werden oder ob die Daten in einem gesicherten Dateneingabemodus eingegeben und nur dem Trusted Core-Prozessor 102 zugeführt werden.

Werden programmierbare graphische Benutzeroberflächen (Masken), welche je nach Aussehen eindeutig einen jeweiligen Dateneingabemodus repräsentieren, verwendet, ist es möglich, gesichert und ungesicherte Bereich zur Datenangabe innerhalb einer Datenanzeigeeinheit vorzusehen.

Anschließend kann der Benutzer seine gesicherte Transaktion durchführen unter Eingabe der vertraulichen Daten in die Datenverarbeitungseinrichtung oder er kann sicher sein, dass der auf dem Bildschirm, allgemein der Datenanzeigeeinheit, dargestellten Information vertrauen kann.

In diesem Dokument sind folgende Veröffentlichungen zitiert:

  • [1] Tom R. Halfhill, ARM Dons Armor Microprocessor Report, 25. August 2003
  • [2] TPM Main Part 1 Design Principals, Specification Version 1.2, Revision 62, 2. Oktober 2003
  • [3] R. Meinschein, Trusted Computing Group Helping Intel Secure the PC, Technology Intel Magazine, Januar 2004-12-01
  • [4] EP 1 329 787 A2
  • [5] EP 1 056 014 A1
  • [6] US 2002/0068627 A1
  • [7] WO 02/100016 A1
  • [8] WO 99/61989 A1
  • [9] US 2003/110402 A1

100Datenverarbeitungseinrichtung 101Applikationsprozessor 102Trusted Core-Prozessor 103Tastatur 104Daten 105Tastatur-Peripherieblock 106Systembus 107integrierter Systemcontroller 200Mobilfunk-TElekommunikations-Endgerät 201Gehäuse 202Antenne 203Datenanzeigeeinheit 204Lautsprecher 205Mikrofon 206Tastenfeld 207Nummerntaste 208Einschalt-Taste 209Ausschalt-Taste 210Sonderfunktions-Taste 211SIM-Karte 300Mobilfunk-Telekommunikations-Endgerät 301SIM-Karte 302Mikroprozessor SIM-Karte 303Speicher SIM-Karte 400Datenverarbeitungs-Anordnung 401Personal-Computer 402Tastatur 403Computer-Maus 404Bildschirm 405Chipkarten-Leseeinrichtung 406Chipkarte 407Schnittstelle 408Schnittstelle 409Schnittstelle 410Schnittstelle 500Datenverarbeitungsanordnung 501Client-Computer 502Client-Computer 503Client-Computer 504Client-Computer 505Client-Computer 506Tastatur 507Tastatur 508Tastatur 509Tastatur 510Tastatur 511Telekommunikations-Netzwerk 512Server-Computer 600Nachrichten-Flussdiagramm 601Signier-Anforderungsnachricht 602Signier-Anforderung 603Angabe elektronischer Datei 604Angabe Schlüsselidentifikation 605nichtflüchtiger Speicher 606geheimer Schlüssel-Profil 607Verfahrensschritt 608Anzeige erster Dateneingabemodus 609erste Dateneingabemodus-Änderungs- Anforderungsnachricht 610Verfahrensschritt 611Bestätigungsnachricht 612Verfahrensschritt 613Verfahrensschritt 614Anzeige zweiter Dateneingabemodus 614Verfahrensschritt 615Verfahrensschritt 616geheimer Schlüssel 617Verfahrensschritt 618Verfahrensschritt 619Verfahrensschritt 620zweite Dateneingabemodus-Änderungs-Nachricht 621Verfahrensschritt 622zweite Bestätigungsnachricht 623digitale Signatur 700Ablaufdiagramm 701Verfahrensschritt 702Verfahrensschritt 703Verfahrensschritt 704Verfahrensschritt 705Prüfschritt 706Verfahrensschritt 707Verfahrensschritt 708Verfahrensschritt 709Verfahrensschritt 710Verfahrensschritt 711Verfahrensschritt 712Verfahrensschritt 713Verfahrensschritt 714Verfahrensschritt 800Datenverarbeitungseinrichtung 801modifizierter Tastatur-Peripherieblock 802Abtast- und Entprell-Logik 803Schaltereinheit 804Abtast-Ergebnisregister 805Computerbus-Schnittstelle 806Steuer-Register 807Auswahl-Signal

Anspruch[de]
  1. Datenverarbeitungseinrichtung,

    • mit einer Dateneingabe-Einheit zum Eingeben von Daten in die Datenverarbeitungseinrichtung;

    • mit einem ersten Prozessor;

    • mit einem zweiten Prozessor;

    • bei dem der erste Prozessor derart eingerichtet ist, dass er in einem ersten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfängt und verarbeitet;

    • bei dem der zweite Prozessor derart eingerichtet ist, dass er in einem zweiten, sicherheitsrelevanten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfängt und verarbeitet.
  2. Datenverarbeitungseinrichtung gemäß Anspruch 1, wobei die Dateneingabe-Einheit eine der folgenden Dateneingabe-Einheiten ist:

    • Tastatur;

    • Datenkommunikations-Schnittstelle;

    • Touchpad;

    • berührungssensitive Anzeigeeinheit;

    • Computermaus;

    • Mikrophon.
  3. Datenverarbeitungseinrichtung gemäß Anspruch 1 oder 2, wobei der erste Prozessor als Applikations-Prozessor eingerichtet ist, Anwendungs-Computerprogramme auszuführen.
  4. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 3, bei dem von dem ersten Prozessor ein offenes Betriebssystem ausgeführt wird.
  5. Datenverarbeitungseinrichtung gemäß Anspruch 4, bei dem das offene Betriebssystem mindestens eine Betriebssystem-externe Kommunikationsschnittstelle aufweist.
  6. Datenverarbeitungseinrichtung gemäß Anspruch 4 oder 5, bei dem das offene Betriebssystem

    • ein Windows-Betriebssystem,

    • ein Linux-Betriebssystem,

    • ein Unix-Betriebssystem,

    • ein Symbian-Betriebssystem, oder

    • eine Java-Plattform ist.
  7. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 6, wobei der zweite Prozessor derart eingerichtet ist, dass von ihm nur ein oder mehrere vertrauenswürdige Computerprogramme ausgeführt werden kann/können.
  8. Datenverarbeitungseinrichtung gemäß Anspruch 7, bei dem ein vertrauenswürdiges Computerprogramm ein Integritäts-gesichertes Computerprogramm ist.
  9. Datenverarbeitungseinrichtung gemäß Anspruch 8, bei dem ein Integritäts-gesichertes Computerprogramm ein kryptographisch Integritäts-gesichertes Computerprogramm ist.
  10. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 7 bis 9, bei dem ein vertrauenswürdiges Computerprogramm eingerichtet ist zum Bereitstellen von mindestens einem sicherheitsrelevanten Dienst.
  11. Datenverarbeitungseinrichtung gemäß Anspruch 10, bei dem der sicherheitsrelevante Dienst ein kryptographischer Sicherheitsdienst ist.
  12. Datenverarbeitungseinrichtung gemäß Anspruch 11, bei dem der kryptographische Sicherheitsdienst unter Verwendung von mindestens einem kryptographischen Schlüssel bereitgestellt wird.
  13. Datenverarbeitungseinrichtung gemäß Anspruch 12, bei dem der kryptographische Sicherheitsdienst unter Verwendung von mindestens einem geheimen kryptographischen Schlüssel und/oder mindestens einem öffentlichen kryptographischen Schlüssel bereitgestellt wird.
  14. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 11 bis 13,

    bei dem der kryptographische Sicherheitsdienst mindestens einer der folgenden Sicherheitsdienste ist:

    • Digitale Unterschrift,

    • Digitales Siegel,

    • Authentifikation,

    • Verschlüsselung von Daten,

    • Zugangskontrolle,

    • Zugriffskontrolle,

    • Verhinderung von Verkehrsanalysen im Rahmen einer Datenkommunikation,

    • Hash-Verfahren.
  15. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 14, mit einer Datenanzeigeeinheit zum Anzeigen zumindest eines Teils der eingegebenen Daten.
  16. Datenverarbeitungseinrichtung gemäß Anspruch 15, derart eingerichtet, dass in dem zweiten Dateneingabemodus der zweite Prozessor die eingegebenen Daten empfängt und gegenüber den eingegebenen Daten unterschiedliche Daten, bevorzugt mit der gleichen Anzahl von Datensymbolen, an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelt.
  17. Datenverarbeitungseinrichtung gemäß Anspruch 16, derart eingerichtet, dass die von dem zweiten Prozessor an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelten Daten eine Folge vorgegebener Datensymbole ist, insbesondere eine Folge eines vorgegebenen Datensymbols, wobei die Anzahl der Datensymbole gleich ist der Anzahl der Datensymbole der eingegebenen Daten.
  18. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 15 bis 17, wobei der zweite Prozessor derart eingerichtet ist, dass er in dem zweiten Dateneingabemodus dem ersten Prozessor und/oder der Datenanzeigeeinheit eine Sicherheitsmodus-Anzeigeinformation übermittelt.
  19. Datenverarbeitungseinrichtung gemäß Anspruch 18, wobei die Sicherheitsmodus-Anzeigeinformation eine visuelle Information und/oder eine Audioinformation sind/ist.
  20. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 19, mit einer Interprozess-Kommunikations-Einheit zum Durchführen der Kommunikation zwischen dem ersten Prozessor und dem zweiten Prozessor im Rahmen des Übergebens der Steuerung der Dateneingabe-Einheit von dem ersten Prozessor an den zweiten Prozessor oder von dem zweiten Prozessor an den ersten Prozessor
  21. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 19,

    mit einer Dateneingabe-Einheit-Treibereinheit, die derart eingerichtet ist, dass

    • die in dem ersten Dateneingabemodus eingegebenen Daten an den ersten Prozessor übermittelt werden; und

    • die in dem zweiten Dateneingabemodus eingegebenen Daten an den zweiten Prozessor übermittelt werden.
  22. Datenverarbeitungseinrichtung gemäß Anspruch 21, wobei die Dateneingabe-Einheit-Treibereinheit derart eingerichtet ist, dass gegenüber den in dem zweiten Dateneingabemodus eingegebenen Daten unterschiedliche Daten, bevorzugt mit der gleichen Anzahl von Datensymbolen, an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelt werden.
  23. Datenverarbeitungseinrichtung gemäß Anspruch 22, bei dem die an den ersten Prozessor und/oder die Datenanzeigeeinheit übermittelten Daten eine Folge vorgegebener Datensymbole, insbesondere eine Folge eines vorgegebenen Datensymbols ist, wobei die Anzahl der Datensymbole gleich ist der Anzahl der Datensymbole der eingegebenen Daten.
  24. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 23, wobei der zweite Prozessor als Digital-Signalverarbeitungs-Prozessor eingerichtet ist.
  25. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 23, wobei der zweite Prozessor als Chipkarten-Prozessor eingerichtet ist.
  26. Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 23, wobei der zweite Prozessor in einem Teilnehmer-Identifikations-Modul eines Telekommunikations-Endgeräts integriert ist.
  27. Telekommunikations-Endgerät mit einer Datenverarbeitungseinrichtung gemäß einem der Ansprüche 1 bis 26.
  28. Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung,

    • bei dem mittels einer Dateneingabe-Einheit Daten in die Datenverarbeitungseinrichtung eingegeben werden;

    • bei dem von einem ersten Prozessor in einem ersten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfangen und verarbeitet werden; und

    • bei dem von einem zweiten Prozessor in einem zweiten, sicherheitsrelevanten Dateneingabemodus die in die Dateneingabe-Einheit eingegebenen Daten empfangen und verarbeitet werden.
Es folgen 8 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com