DE102006020093A1 - Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung - Google Patents

Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung Download PDF

Info

Publication number
DE102006020093A1
DE102006020093A1 DE200610020093 DE102006020093A DE102006020093A1 DE 102006020093 A1 DE102006020093 A1 DE 102006020093A1 DE 200610020093 DE200610020093 DE 200610020093 DE 102006020093 A DE102006020093 A DE 102006020093A DE 102006020093 A1 DE102006020093 A1 DE 102006020093A1
Authority
DE
Germany
Prior art keywords
execution
data
data processing
processing application
execution container
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.)
Ceased
Application number
DE200610020093
Other languages
English (en)
Inventor
Peter Dr. Langendörfer
Michael Maaser
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.)
IHP GmbH
Original Assignee
IHP GmbH
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 IHP GmbH filed Critical IHP GmbH
Priority to DE200610020093 priority Critical patent/DE102006020093A1/de
Priority to PCT/EP2007/054117 priority patent/WO2007122266A2/de
Priority to EP07728572A priority patent/EP2014048A2/de
Publication of DE102006020093A1 publication Critical patent/DE102006020093A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung betrifft einen Ausführungscontainer für eine Datenverarbeitungsanwendung eines Diensteanbieters. Neben mindestens einer Ausführungsumgebung verbundenen Kommunikationsschnittstelle enthält der Ausführungscontainer eine mit der Kommunikationsschnittstelle verbundene Sicherheitssteuerungseinheit, die ausgebildet ist, solche Datenkommunikation der Datenverarbeitungsanwendung mit jeglichem relativ zur Ausführungsumgebung externen Kommunikationsendpunkt zu verhindern, deren Kommunikationspfad die Ausführungsumgebung umgeht. Weiterhin ist eine mit der Kommunikationsschnittstelle verbundene Zugriffssteuerungseinheit vorhanden, die ausgebildet ist, solche Datenkommunikation der Ausführungsumgebung mit jeglichem relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu verhindern, der nicht durch eine erste Sicherheitsvereinbarung als zulässig definiert ist.

Description

  • Die Erfindung betrifft einen Ausführungscontainer für eine Datenverarbeitungsanwendung eines Diensteanbieters.
  • Der Schutz persönlicher Daten vor unbefugter Weitergabe und Verwertung durch Dritte ist ein wesentliches Anliegen von Nutzern von Datenfernübertragungsnetzwerken wie beispielsweise dem Internet. Im Englischen Ausdruck wird dieses Anliegen knapper als „privacy protection" formuliert.
  • Drahtlose Zugangsnetzwerke zu Datenfernübertragungsnetzwerken werden zunehmend für Datenverarbeitungsanwendungen ausgerüstet, in denen einem Nutzer-Endgerät entsprechend seinem aktuellen Aufenthaltsort ausgewählte Informationen oder Werbung zugesandt werden. Netzwerkbetreiber oder Diensteanbieter, die eine entsprechende ortsempfindliche Datenverarbeitungsanwendung betreiben, können auf diese Weise das Verhalten eines Nutzers ohne dessen Zustimmung verfolgen.
  • Es ist bekannt, einem Nutzer die Möglichkeit einzuräumen, zu erklären, in welchem Umfang er seine personenbezogene Daten (wie etwa seinen aktuellen Aufenthaltsort oder seine Endgerätekennung etc.) einem Diensteanbieter zur Verfügung stellen möchte. Derartige Daten werden im Rahmen dieser Patentanmeldung unter dem allgemeinen Begriff Nutzereingabedaten zusammengefasst.
  • Andere Ansätze zum Schutz dieser Daten wollen es einem Nutzer erlauben, Regeln aufzustellen, die angeben, wer Zugriff auf Information über den Aufenthaltsort eines Nutzer-Endgerätes haben darf und unter welchen Umständen dieser Zugriff erlaubt ist. Alternativ wurde vorgeschlagen, eine absichtliche Störung der Positionsbestimmung vorzunehmen, um ihre Genauigkeit zu verringern und auf diese Weise den Aufenthaltsort eines Nutzer-Endgerätes geheim zu halten. Allen genannten Ansätzen fehlt ein Mittel zur Durchsetzung des Schutzes der personenbezogenen Daten.
  • Aus den Schriften US 2003/158960 A1 und US 2004/0181683 A1 sind Schutzmechanismen zum Schutz personenbezogener Daten bekannt. Nachteil der dort beschriebenen Schutzmechanismen ist jedoch, dass die personenbezogenen Daten dem Diensteanbieter einer Datenverarbeitungsanwendung zur Verfügung gestellt werden. Dies ermöglicht weiterhin ein unerwünschtes Kopieren, Abspeichern und Verbreiten dieser Daten.
  • In der schon genannten US 2004/0181683 A1 ist weiterhin ein Ansatz eines „trusted agent" diskutiert. Ein dort vorgesehenes „international security, trust and privacy frame work" erlaubt es einem Nutzer, dem Diensteanbieter einer Datenverarbeitungsanwendung mehrere Profile bereitzustellen, für die der Diensteanbeiter dann entsprechend personalisierte Nutzerausgabedaten generiert. Die personenbezogenen Daten des Nutzers werden dadurch geschützt, dass der Diensteanbieter nicht weiß, welches der Profile korrekt ist. Es wird auch vorgeschlagen, die korrekten Nutzereingabedaten auf mehrere Profile zu verteilen.
  • Nachteilig bei diesem Konzept ist es, dass die Erzeugung sinnvoller Nutzerausgabedaten durch den Diensteanbieter erschwert wird, wenn zusammengehörende personenbezogene Daten des Nutzers auf unterschiedliche Nutzerprofile verteilt sind. Sind jedoch alle relevanten Informationen in einem Profil enthalten, ist die Wahrscheinlichkeit groß, dass die korrekten Nutzereingabedaten ermittelt werden können, zumindest dann, wenn der Nutzer die Datenverarbeitungsanwendung des Diensteanbieters häufiger in Anspruch nimmt. Weiterhin wird das Erraten der korrekten Nutzereingabedaten dadurch vereinfacht, dass in der Regel alle falschen Profile zusammen mit dem richtigen Profil vom Nutzer-Endgerät aus zusammen versandt werden.
  • Auch wenn, wie in der US 2004/0816831 A1 vorgeschlagen, eine vertrauenswürdige dritte Instanz die falschen und richtigen Nutzerprofile erstellt, kann der so erhöhte Schutz des Nutzers dadurch unterlaufen werden, dass diese vertrauenswürdige dritte Instanz ausgeforscht wird. Ausserdem fehlt auch diesem Ansatz die Möglichkeit das Kopieren und Speichern der Daten zu verhindern.
  • Aus dem Dokument Crane, Stephen: Privacy Preserving Trust Agents, HP Technical Reports, HPL-2004-197, online verfügbar unter: http://www.hpl.hp.com/techreports/2004/HPL-2004-197.html, ist es bekannt, dass ein vom Diensteanbieter erstellter Agent das Nutzer-Endgerät schützt. In den in diesem Dokument beschriebenen Szenarien wird der Agent von einem Systemadministrator installiert und überwacht Sicherheitseinstellungen auf dem Endgerät, wenn dieses außerhalb eines Geländes genutzt wird, das dem Arbeitgeber des Kunden zugeordnet ist. In einem anderen Szenario wird der genannte Agent von einem Internet-Serviceprovider (ISP) zur Verfügung gestellt und überwacht beispielsweise die Internetnutzung von Kindern zur Filterung von gefährlichen Informationen.
  • In diesem Zusammenhang wird die Nutzung eines „Privacy Preserving Trust Agent" beschrieben. Dieser verhandelt über eine Nutzung von Daten mit dem ISP. Er bietet selbst jedoch noch keinen Datenschutz. In diesem Dokument werden folgende Datenschutz-Konzepte diskutiert:
    • – Weitergabe der Daten an eine vertrauenswürdige dritte Instanz, die die Daten dann an den ISP weitergibt. Hierbei ist jedoch kein tatsächlicher Schutz der Daten erkennbar.
    • – Weitergabe der Daten an den ISP mit einer Nutzungsvorschrift („Nutzungspolicy"). Unklar ist, wie die Durchsetzung dieser Nutzungspolicy erzwungen werden kann. Es ist anzunehmen, dass eine Verletzung der Regeln dieser Nutzungspolicy erst im nachhinein feststellbar ist. Dann jedoch wurden die zu schützenden Daten bereits missbraucht.
  • Das der vorliegenden Erfindung zugrunde liegende technische Problem ist es daher, eine Vorrichtung zum Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer mit einem verbesserten Schutz von Nutzereingabedaten bereitzustellen.
  • Erfindungsgemäß wird das technische Problem durch einen Ausführungscontainer für eine Datenverarbeitungsanwendung eines Diensteanbieters gelöst. Der Ausführungscontainer enthält:
    • – mindestens eine Ausführungsumgebung, die ausgebildet ist, die Datenverarbeitungsanwendung, welche Nutzereingabedaten zur Erzeugung von Nutzerausgabedaten verarbeitet, in Form ausführbarer Programmdaten zu instanzieren und auszuführen, sowie die Nutzereingabedaten und die Nutzerausgabedaten mit der Datenverarbeitungsanwendung auszutauschen;
    • – eine mit der Ausführungsumgebung verbundene Kommunikationsschnittstelle, die ausgebildet ist, Nutzereingabedaten zu empfangen und an die Ausführungsumgebung weiterzuleiten sowie von der Ausführungsumgebung ausgesandte Nutzerausgabedaten nach außerhalb des Ausführungscontainers auszugeben;
    • – eine mit der Kommunikationsschnittstelle verbundene Sicherheitssteuerungseinheit, die ausgebildet ist, solche Datenkommunikation der Datenverarbeitungsanwendung mit jeglichem relativ zur Ausführungsumgebung externen Kommunikationsendpunkt zu verhindern, deren Kommunikationspfad die Ausführungsumgebung umgeht; und
    • – eine mit der Kommunikationsschnittstelle verbundene Zugriffssteuerungseinheit, die ausgebildet ist, solche Datenkommunikation der Ausführungsumgebung mit jeglichem relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu verhindern, der nicht durch eine erste Sicherheitsvereinbarung als zulässig definiert ist.
  • Die erfindungsgemäße Vorrichtung hat den Vorteil, dass die Datenverarbeitungsanwendung des Diensteanbieters nicht durch den Diensteanbieter selbst, sondern durch eine vertrauenswürdige Ausführungsinstanz ausgeführt werden kann. Diese kann auf dem Equipment des Dienstanbieters, des Dienstnutzers oder einer dritten Partei ausgeführt werden. Die erfindungsgemäße Vorrichtung wird im Rahmen der vorliegenden Anmeldung als Ausführungscontainer bezeichnet.
  • Bei dem erfindungsgemäßen Ausführungscontainer ist sichergestellt, dass der Diensteanbieter Nutzereingabedaten nicht zur Verfügung gestellt bekommt. Zwar tauscht die Datenverarbeitungsanwendung Nutzereingabedaten mit der Ausführungsumgebung aus. Doch ist bei dem erfindungsgemäßen Ausführungscontainer sichergestellt, dass die der Datenverarbeitungsanwendung zur Verfügung gestellten Nutzereingabedaten nicht unkontrolliert nach außen, also beispielsweise an den Diensteanbieter der Datenverarbeitungsanwendung, gesendet werden können. Die Zugriffssteuerungseinheit verhindert, dass Daten von der Ausführungsumgebung an externe Kommunikationsendpunkte gesandt werden, die nicht durch eine erste Sicherheitsvereinbarung als zulässig definiert sind. Typischerweise ist die erste Sicherheitsvereinbarung dabei zwischen dem Anbieter der Datenverarbeitungsanwendung und dem Nutzer abgeschlossen. Die Sicherheitsvereinbarung liegt dem Ausführungscontainer in Form einer Datei vor. Die Zugriffssteuerungseinheit verwendet die erste Sicherheitsvereinbarung, um die Datenkommunikation der Ausführungsumgebung mit externen Kommunikationsendpunkten zu überwachen und erforderlichenfalls zu verhindern.
  • Weiterhin ist durch die im erfindungsgemäßen Ausführungscontainer vorgesehene Sicherheitssteuerungseinheit sichergestellt, dass allein die Ausführungsumgebung, nicht jedoch die Datenverarbeitungsanwendung selbst mit Kommunikationsendpunkten kommunizieren kann, die relativ zur Ausführungsumgebung extern angeordnet sind. Die Sicherheitssteuerungseinheit verhindert aktiv jegliche Datenkommunikation der Datenverarbeitungsanwendung, deren Kommunikationspfad die Ausführungsumgebung umgeht. Das bedeutet, dass die Sicherheitssteuerungseinheit insbesondere direkte, unkontrollierte Kommunikation zwischen Datenverarbeitungsanwendungen verhindert, die in unterschiedliche Ausführungsumgebungen innerhalb des Ausführungscontainers eingebettet sind. In einem weiter unten näher beschriebenen Ausführungsbeispiel zählen hierzu auch sog. Covert-channel-Angriffe auf die Sicherheit des Ausführungscontainers.
  • Bei dem erfindungsgemäßen Ausführungscontainer sorgt die Ausführungsumgebung für die notwendige Infrastruktur wie beispielsweise Zugriff zum Prozessor etc.
  • Als Sicherheitsvereinbarung wird im vorliegenden Zusammenhang eine Regelung verstanden, die in Dateiform vorliegt und definiert, welche Datenkommunikation an welche Kommunikationsendpunkte gesendet werden darf. Weiterhin kann die Sicherheitsvereinbarung Information darüber enthalten, welche Daten eine Datenverarbeitungsanwendung (DVA) vom Nutzer erhalten darf sowie welche Daten der Nutzer von der DVA erhalten darf. Wenn in der vorliegenden Anmeldung im Zusammenhang mit der Erfindung von „Sicherheit" gesprochen wird, ist der Begriff im Sinne der eingangs genannten „privacy protection" als Schutz vor unbefugter Weitergabe und Verwertung persönlicher Daten zu verstehen. Was persönliche Daten sind, definiert eine jeweilige Sicherheitsvereinbarung, ist also von Einzelfall zu Einzelfall unterschiedlich.
  • Als Datenverarbeitungsanwendung sind im Rahmen der vorliegenden Anmeldung ausführbare Programmdaten beispielsweise in Form mindestens einer ausführbaren Datei oder mindestens eines Skriptes. Beispiele von Datenverarbeitungsanwendungen werden später im Rahmen der Beschreibung bevorzugter Ausführungsbeispiele erläutert.
  • Unter zulässiger Datenkommunikation, insbesondere unter zulässigen Nutzereingabedaten sind solche Nutzereingabedaten zu verstehen, die in der Sicherheitsvereinbarung anhand nachprüfbarer Kriterien definiert werden. Ein Zulässig keitskriterium kann beispielsweise ein Schwellwert einer mit einer Positionsbestimmung eines Nutzer-Endgeräts verbundenen Messgenauigkeit sein. Ein anderes Zulässigkeitskriterium kann beispielsweise vorschreiben, dass Adressdaten, entweder in Form des Wohnortes eines Nutzers oder in Form einer Netzwerkadresse eines Nutzer-Endgerätes dieses Nutzers dem Ausführungscontainer nicht zur Verfügung gestellt werden. In entsprechender Weise lassen sich auch Zulässigkeitskriterien für Nutzerausgabedaten sowie ein zulässiger Empfänger der Nutzerausgabedaten in Bezug auf die jeweilige Datenverarbeitungsanwendung definieren.
  • Die erste Sicherheitsvereinbarung zwischen dem Diensteanbieter und dem Nutzer regelt demnach den Datenfluss zwischen dem Nutzer und dem Ausführungscontainer einerseits sowie dem Ausführungscontainer und dem oder den zulässigen Empfängern der Nutzerausgabedaten. Dabei können die auszusendenden Nutzerausgabedaten auch entsprechend den Empfängern differenziert ausgesendet werden. Beispielsweise kann die Übersendung an den Diensteanbieter auf Abrechnungsdaten beschränkt werden, während andere Nutzerausgabedaten beispielsweise an den Nutzer selbst übersandt werden, um ihm den mit der Datenverarbeitungsanwendung verbundenen Service des Diensteanbieters zu erbringen.
  • Die erste Sicherheitsvereinbarung wird im Ausführungscontainer implementiert. Das bedeutet, dass der Ausführungscontainer bei der Ausführung der Datenverarbeitungsanwendung stets Zugriff auf die damit verbundene erste Sicherheitsvereinbarung hat und diese einhält.
  • Nachfolgend werden Ausführungsbeispiele des erfindungsgemäßen Ausführungscontainers beschrieben. Dabei können verschiedene Ausführungsbeispiele miteinander kombiniert werden, soweit dies durch die jeweilige Beschreibung nicht ausdrücklich ausgeschlossen ist.
  • Bei einem bevorzugten Ausführungsbeispiels des Ausführungscontainers hat dieser einen relativ zur Ausführungsumgebung externen Speicher für Nutzereingabedaten, der über die Kommunikationsschnittstelle mit der Ausführungsumge bung verbunden ist. In diesem Ausführungsbeispiel ist die Sicherheitssteuerungseinheit ausgebildet, einen direkten Zugriff der Datenverarbeitungsanwendung auf den Speicher zu verhindern. Speicherzugriffe können also nicht von der Anwendung selbst durchgeführt werden, ohne die Ausführungsumgebung in eine solche Operation einzubinden. Damit kann jedoch sichergestellt werden, dass die Datenverarbeitungsanwendung nicht in unzulässiger Weise auf den Speicher zugreift.
  • Eine Weiterbildung dieses Ausführungsbeispiels sieht vor, die Ausführungsumgebung so auszubilden, dass über die Kommunikationsschnittstelle auf relativ zum Ausführungscontainer externe Nutzereingabedaten lesend zugegriffen werden kann und eine lokale Kopie der externen Nutzereingabedaten im Speicher abgelegt werden kann. Ein Zugriff auf externe Nutzereingabedaten erfolgt bei diesem Ausführungsbeispiel allein durch die Ausführungsumgebung. Die Datenverarbeitungsanwendung erhält in diesem Ausführungsbeispiel keine Zugriffsrechte auf externe Nutzereingabedaten.
  • Bei einem weiteren Ausführungsbeispiel enthält der Ausführungscontainer eine Verhandlungseinheit und eine Verhandlungsschnittstelle. Die Verhandlungseinheit ist ausgebildet, über die Verhandlungsschnittstelle entsprechend einem vordefinierten Verhandlungsprotokoll die erste Sicherheitsvereinbarung zwischen einem Diensteanbieter und einem Nutzer auszuhandeln. In einem Ausführungsbeispiel enthält die erste Sicherheitsvereinbarung folgende Angaben:
    • – Literale, die z.B: zu Steuerungszwecken nach außen kommuniziert werden dürfen
    • – Zulässige Kommunikationsendpunkte
    • – Nutzereingabedaten, die vom Ausführungscontainer an die DVA weitergeleitet werden dürfen.
  • Bei einem weiteren Ausführungsbeispiel hat der Ausführungscontainer eine Verhandlungseinheit und eine Verhandlungsschnittstelle, und die Verhandlungs einheit ist ausgebildet, über die Verhandlungsschnittstelle entsprechend einem vordefinierten Verhandlungsprotokoll eine zweite Sicherheitsvereinbarung zwischen dem Ausführungscontainer und einem Dienstnutzer auszuhandeln, wobei diese folgende Angaben enthält:
    • – eine Adresse mindestens eines relativ zum Ausführungscontainer externen Datenspeichers, auf den ein Lesezugriff des Ausführungscontainers zulässig ist, oder
    • – Nutzereingabedaten, auf die ein Lesezugriff des Ausführungscontainers zulässig ist.
  • Mit der zweiten Sicherheitsvereinbarung wird ein Werkzeug zur Verfügung gestellt, dass es dem Ausführungscontainer und dem Nutzer ermöglicht festzulegen, auf welche Weise die in der ersten Sicherheitsvereinbarung definierten Nutzereingabedaten dem Ausführungscontainer zur Verfügung gestellt werden. Neben dem Senden der Nutzereingabedaten von einem Nutzerendgerät zum Ausführungscontainer ist es in der Praxis häufig sinnvoll, dem Ausführungscontainer Zugriff auf Nutzereingabedaten zu gestatten, beispielsweise wenn es sich hierbei um häufig aktualisierte Daten handelt.
  • Dementsprechend können Nutzereingabedaten entweder vom Nutzer an den Ausführungscontainer übersandt und in diesem abgespeichert oder durch einen Zugriff des Ausführungscontainers auf nutzerseitig abgespeicherte Nutzereingabedaten vom Ausführungscontainer selbst abgeholt werden. Der Übersendeschritt kann bei bestimmten Datenverarbeitungsanwendungen auch schon im Zusammenhang mit dem Implementieren der Datenverarbeitungsanwendung im Ausführungscontainer erfolgen. In der Regel wird er jedoch im zeitlichen Zusammenhang mit der Ausführung der Datenverarbeitungsanwendung durch den Ausführungscontainer durchgeführt werden.
  • Es wird angemerkt, dass die Sicherheitssteuerungseinheit und die Zugriffssteuerungseinheit des Ausführungscontainers in einem Ausführungsbeispiel in einer einzigen Einheit integriert sind. Diese integrierte Einheit kann, wie die Sicher heitssteuerungseinheit und die Zugriffssteuerungseinheit selbst, bei Vorliegen eines verteilten Ausführungscontainers auch über diese mehreren Ausführungscontainer verteilt sein.
  • Die Sicherheitssteuerungseinheit ist in einem weiteren Ausführungsbeispiel ausgebildet, ihre genannten Funktionen ebenfalls in Abhängigkeit von Inhalten der ersten oder zweiten Sicherheitsvereinbarung oder in Abhängigkeit von Inhalten beider genannter Sicherheitsvereinbarungen auszuüben.
  • Besonders bevorzugte Ausführungsbeispiele sehen Protokolle zur Aushandlung der Sicherheitsvereinbarungen vor. In einem Ausführungsbeispiel ist demnach ein Schritt des Verhandelns der ersten Sicherheitsvereinbarung zwischen dem Diensteanbieter und dem Nutzer gemäß einem vordefinierten Privacy-Verhandlungsprotokoll vorgesehen. Dieser Schritt wird vor dem Schritt des Empfangens der ersten Sicherheitsvereinbarung beim Ausführungscontainer durchgeführt. Das Privacy-Verhandlungsprotokoll kann beispielsweise Formate von Angebots- und Gegenangebotsnachrichten definieren, die zwischen dem Nutzer und dem Diensteanbieter ausgetauscht werden können. Weiterhin kann das Privacy-Verhandlungsprotokoll Sicherheitspräferenzen-Formate definieren, die durch den Nutzer oder den Diensteanbieter mit ihren jeweiligen Sicherheitspräferenzen zu füllen sind. Die jeweiligen Sicherheitspräferenzen werden zwischen Nutzer und Diensteanbieter dann mit dem vordefinierten Sicherheitspräferenzen-Format durch Übersenden entsprechender Nachrichten gemäß dem Verhandlungsprotokoll ausgetauscht. Dies ermöglicht auf Seiten des Senders und Empfängers ein automatisches Durchführen der Verhandlung der Sicherheitsvereinbarung.
  • In einer bevorzugten Ausführungsform definieren Nutzer und Diensteanbieter mindestens einen Satz jeweiliger Sicherheitspräferenzen sowie nichtverhandelbare Mindestpräferenzen und verhandelbare Zusatzpräferenzen. Durch Definieren einer jeweiligen Verhandlungsstrategie vor der Verhandlung gemäß einem im Privacy-Verhandlungsprotokoll vordefinierten Verhandlungsstrategieformat wird es sogar möglich, die Verhandlung voll automatisch durchzuführen. In einer Verhandlungsstrategie kann eine jeweilige Partei beispielsweise definieren, dass die Verhandlung abgebrochen wird, wenn eine nichtverhandelbare Mindestpräferenz von der Gegenseite nicht akzeptiert wird. Weiterhin kann eine Verhandlungsstrategie vorsehen, dass anstelle eines Abbruchs bei einer verhandelbaren Zusatzpräferenz ein Gegenangebot oder ein eigenes neues Angebot mit einem veränderten Wert der verhandelbaren Zusatzpräferenz erstellt wird.
  • Kommt es zu einer Einigung zwischen den Verhandlungsparteien, wird dies vorzugsweise durch Signieren des aktuellen Angebots bzw. Gegenangebots quittiert. Der Ausführungscontainer kann dann vor dem Implementieren der Sicherheitsvereinbarung einen weiteren Prüfschritt einschieben, der das Prüfen der Signaturen einer empfangenen Sicherheitsvereinbarung beinhaltet. Auf diese Weise wird sichergestellt, dass nur echte Sicherheitsvereinbarungen zwischen dem Diensteanbieter und dem Nutzer implementiert werden, was die Vertrauenswürdigkeit des Ausführungscontainers weiter erhöht. Es versteht sich, dass Signaturen der ersten Sicherheitsvereinbarung auch ohne Durchführung einer Verhandlung zwischen dem Nutzer und dem Diensteanbieter nach dem Verhandlungsprotokoll beigefügt werden können, um die Echtheit der Sicherheitsvereinbarung sicherzustellen.
  • Die Ausführungsumgebung ist so ausgebildet, dass nicht mehr benötigte Daten nicht nachträglich von dritter Seite aus gelesen werden können. Dieses kann bei einem besonders bevorzugten Ausführungsbeispiel z.B. erreicht werden indem nach Abschluss der Ausführung der Datenverarbeitungsanwendung eine Löschung im Speicher abgelegter Nutzereingabedaten und Nutzerausgabedaten der Datenverarbeitungsanwendung zu veranlasst wird, Bei einem weiteren Ausführungsbeispiel ist die Ausführungsumgebung ausgebildet, dass ein Zugriff auf die Programmdaten von dritter Seite nicht möglich ist. Dieses kann z.B. dadurch erreicht werden, dass nach Abschluss der Ausführung der Datenverarbeitungsanwendung eine Beseitigung der instanzierten ausführbaren Programmdaten der Datenverarbeitungsanwendung zu veranlasst wird.
  • Bei einem weiteren Ausführungsbeispiel ist die Sicherheitssteuerungseinheit oder die Zugriffssteuerungseinheit ausgebildet, das Vorliegen eines Kriteriums für eine Beendigung der Gültigkeit der ersten Sicherheitsvereinbarung zu prüfen, und bei Vorliegen eines solchen Kriteriums eine Löschung im Speicher abgelegter Nutzereingabedaten und Nutzerausgabedaten der Datenverarbeitungsanwendung zu veranlassen.
  • Auf diese Weise kann zugunsten sowohl des Diensteanbieters als auch des Nutzers sichergestellt werden, dass die Datenverarbeitungsanwendung nur während der Dauer der Gültigkeit der ersten Sicherheitsvereinbarung ausgeführt wird. Ein Kriterium für die Beendigung der Gültigkeit der ersten Sicherheitsvereinbarung kann beispielsweise durch einen Zeitablauf in der ersten Sicherheitsvereinbarung selbst festgelegt werden. Die erste Sicherheitsvereinbarung kann ebenso als Beendigungskriterium für ihre Gültigkeit festlegen, dass die Gültigkeit bei Feststellung einer Verletzung der in der Sicherheitsvereinbarung definierten Zulässigkeitskriterien endet.
  • Bevorzugt werden also bei Vorliegen eines Kriteriums für die Beendigung der ersten Sicherheitsvereinbarung im Ausführungscontainer abgespeicherte Nutzereingabedaten und Nutzerausgabedaten gelöscht. Auf diese Weise wird sichergestellt, dass diese Daten niemandem zugänglich gemacht werden. Zum Schutz des Diensteanbieters kann vorteilhafterweise alternativ oder zusätzlich vorgesehen werden, dass bei Vorliegen eines Kriteriums für die Beendigung der Gültigkeit der ersten Sicherheitsvereinbarung die im Ausführungscontainer implementierte Datenverarbeitungsanwendung gelöscht wird.
  • Es kann dann vorgesehen werden, eine Nachricht an den Nutzer und den Serviceanbieter zu erzeugen und auszusenden, die entweder über das Vorliegen für die Beendigung der Gültigkeit der ersten Sicherheitsvereinbarung oder über das Löschen der im Ausführungscontainer abgespeicherten Nutzereingabedaten, Nutzerausgabedaten und/oder Nutzerdatenverarbeitungsanwendung berichtet.
  • Der Ausführungscontainer der vorliegenden Erfindung bildet ein Servicemodell. Der Ausführungscontainer kann beispielsweise vom Dienstnutzer, vom Dienstanbieter aber auch von einer dritten Partei betrieben werden. Innerhalb eines Ausführungscontainers kann eine Mehrzahl von Ausführungsumgebungen für Daten verarbeitungsanwendungen bereitgestellt werden. In jeder dieser Ausführungsumgebungen darf aber nur jeweils eine DVA instanziiert und aktiv sein. So kann sichergestellt werden, dass sowohl für den Nutzer als auch für den Anbieter der Datenverarbeitungsanwendung Sicherheit vor zweckfremder Ausbeutung der ausgetauschten Daten bzw. Datenverarbeitungskapazitäten besteht. Ein bevorzugter Ausführungscontainer enthält dementsprechend eine Mehrzahl Ausführungsumgebungen. Zur Wahrung der Sicherheit sind die Ausführungsumgebungen ausgebildet, jegliche Kommunikation zwischen unterschiedlichen Datenverarbeitungsanwendungen in relativ zueinander externen Ausführungsumgebungen innerhalb des Ausführungscontainers zu verhindern. Es ist also sichergestellt, dass die in einem Ausführungscontainer instanziierten Datenverarbeitungsanwendungen einander nicht beeinflussen oder wechselseitig aufeinander zugreifen können.
  • Die Datenkommunikation mit relativ zum Ausführungscontainer externen Datenverarbeitungsanwendungen in externen Ausführungsumgebungen kann in einem bevorzugten Ausführungsbeispiel dadurch ohne Beeinträchtigung der Sicherheit erleichtert werden, dass die Ausführungsumgebung des Ausführungscontainers ausgebildet ist, auf ein von der Datenverarbeitungsanwendung her empfangenes Kommando hin über die Kommunikationsschnittstelle ein im Kommando angegebenes und aus einem Satz vorgegebener Literale ausgewähltes Literal an einen relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu senden. Bei diesem Ausführungsbeispiel wird für eine Datenverarbeitungsanwendung ein Satz vordefinierter Literale zur Verfügung gestellt, die mit externen Ausführungsumgebungen ausgetauscht werden können. Selbstverständlich muss dieser Austausch im Rahmen der ersten Sicherheitsvereinbarung zulässig sein. Die Verwendung vordefinierter Literale, d. h., vordefinierter Befehle und Nachrichten, die in der Kommunikation zwischen der Datenverarbeitungsanwendung und einer externen Ausführungsumgebung erlaubt sind, ermöglicht eine zweckgebundene Kommunikation, die zugleich aufgrund ihrer vordefinierten Muster zur Laufzeit leicht auf ihre Zulässigkeit geprüft werden kann. Zu beachten ist, dass bei diesem Ausführungsbeispiel die Datenverarbeitungsanwendung ein Literal nicht selbst aussendet, sondern die Aussendung durch die Ausführungsumgebung erfolgt.
  • Dadurch bleibt sichergestellt, dass die Datenverarbeitungsanwendung nicht selbstständig mit externen Kommunikationsendpunkten in Verbindung tritt.
  • Es ist jedoch denkbar, dass mit Hilfe der vordefinierten Literale von einer entsprechend manipulierten Datenverarbeitungsanwendung versucht wird, nichtzulässige Information aus dem Ausführungscontainer „herauszuschleusen". Daher wird vorgeschlagen, die Gesamtanzahl an Literalen, die Häufigkeit der Aussendung von Literalen oder die Dauer einer Ausführung der Datenverarbeitungsanwendung, die Literale verwendet, zu begrenzen. Bei einem bevorzugten Ausführungsbeispiel ist die Ausführungsumgebung deshalb ausgebildet, über vordefinierte Literale höchstens eine Maximalzahl T von Datenbits zu senden. Die Maximalzahl T ist definiert durch T = n × log2L = f·t·log2Lwobei n die Anzahl übertragener Literale, L die Gesamtanzahl vordefinierter Literale ist, f die Frequenz der Übersendung von Literalen und t die Zeitdauer einer Sitzung, in der Literale übersandt werden.
  • Ein anderer möglicher Angriff auf die Sicherheit des Ausführungscontainers besteht darin, Übertragungskanäle zu erzeugen, die vom Ausführungscontainer nicht zur Informationsübertragung vorgesehen sind. Solche Kanäle werden im Englischen als „Covert Channels" bezeichnet. Ein solcher versteckter Kanal könnte beispielsweise dadurch gebildet werden, dass die Datenverarbeitungsanwendung gezielt variierende Prozessorauslastung erzeugt, wobei bestimmte Prozessorauslastungszustände bestimmte Bitwerte oder Symbolwerte mit höherer Bitanzahl repräsentieren können. Beispielsweise könnte eine Prozessorlast von 100 % für die Dauer 1 Sekunde als Bitwert „1" vereinbart sein, während eine geringere durchschnittliche CPU-Last während der Dauer einer Sekunde als Bitwert „0" vereinbart sein könnte. Die CPU-Auslastung ist mit bekannten technischen Mitteln auslesbar. Ähnliches gilt für die Speicherverwendung. Bei einem bevorzugten Ausführungsbeispiel ist daher die Ausführungsumgebung ausgebildet, einen durch den Ausführungscontainer nutzbaren Prozessor nach einem nicht vorbestimmten Zeitmuster zu belasten, das unabhängig von einer tatsächli chen Belastung durch die Datenverarbeitungsanwendung ist. Auf diese Weise kann verhindert werden, dass die Datenverarbeitungsanwendung allein die Kontrolle über die Auslastung des Prozessors erhält. Ähnliche Maßnahmen sind für die Auslastung eines Speichers denkbar. Das Zeitmuster muss zufällig, also durch einen Zufallsgenerator gesteuert sein.
  • Um auch auf mobilen Endgeräten mit begrenzten Ressourcen, wie Rechenleistung und Batteriekapazität, Datenverarbeitungsanwendungen eines Diensteanbieters mit dem durch die vorliegende Erfindung geschaffenen Sicherheitsstand ausführen zu können, wird ein verteilter Ausführungscontainer vorgeschlagen, der einen ersten und einen zweiten Ausführungscontainer gemäß der vorstehend beschriebenen Erfindung enthält. Selbstverständlich kann der verteilte Ausführungscontainer auch mehr als zwei einzelne Ausführungscontainer enthalten. Die nachfolgende Beschreibung konzentriert sich der Einfachheit halber ohne Beschränkung der Allgemeinheit der Anwendbarkeit des Konzepts des verteilten Ausführungscontainers auf den Fall, dass dieser aus zwei Ausführungscontainern besteht. Dabei sind die zwei Ausführungscontainer über einen Datenübertragungskanal zum Austausch von Daten verbunden. Der Ausführungscontainer ist ausgebildet, sich gegenüber dem jeweils anderen Ausführungscontainer mit Hilfe eines geeigneten Authentisierungsmechanismus zu identifizieren. Weiterhin sind die Kommunikationsschnittstellen der Ausführungscontainer ausgebildet, Daten in verschlüsselter Form über den Datenübertragungskanal auszutauschen.
  • Zur Bereitstellung einer Ausführungsumgebung gibt es grundsätzlich zwei Optionen. Zum einen könnte eine interpretierte Sprache verwendet werden und die hierfür erforderlichen Interpretationsmittel könnten im Ausführungscontainer vorgesehen sein. Eine Datenverarbeitungsanwendung würde in diesem Fall in Form eines Programms in der vorgesehenen Sprache von einem entsprechenden Diensteanbieter bereitgestellt. Durch Vorsehen von Interpretationsmitteln für unterschiedliche Programmiersprachen, könnte bei Verwendung dieses Konzeptes die Flexibilität des Ausführungscontainers erhöht werden. Dies hat jedoch zur Folge, dass der Ausführungscontainer unnötig hohe Datenmengen bereitstellen muss und stellt für Hardware mit begrenzter Kapazität wie beispielsweise PDAs keine praktikable Lösung dar. Bevorzugt ist daher eine zweite Option, nämlich die Verwendung eines Plattform-unabhängigen Byte-Codes bei den Datenverarbeitungsanwendungen. Entsprechend kann die Ausführungsumgebung eine Anwendungsumgebung wie beispielsweise eine Java-Laufzeitumgebung oder eine .NET-Laufzeitumgebung bilden. Beide alternative und bekannte Anwendungsumgebungen bieten die Leistungsfähigkeit und Effektivität, die benötigt wird, um komplexe Dienstleistungen und Datenverarbeitungsanwendungen zu implementieren. Die DVA stellen kompilierten Code dar und liefern eine geeignete Ausführungsgeschwindigkeit. Zu beachten ist jedoch, dass die Anwendungsumgebung entsprechend der Erfindung anzupassen ist. Hierfür sind entsprechende Ergänzungen der bekannten Anwendungsumgebungen erforderlich.
  • Nachfolgend werden weitere Ausführungsbeispiele des erfindungsgemäßen Verfahrens und der Vorrichtung unter Heranziehung der Figuren beschrieben.
  • 1 zeigt eine vereinfachte Struktur eines Ausführungscontainers nach einem Ausführungsbeispiel der Erfindung;
  • 2 zeigt die Struktur eines verteilten Ausführungscontainers nach einem weiteren Ausführungsbeispiel der Erfindung;
  • 3 zeigt den Ablauf einer Verhandlung über eine Sicherheitsvereinbarung zur Verwendung in einem Ausführungsbeispiel der Erfindung.
  • 1 zeigt eine vereinfachte Struktur eines Ausführungscontainers 100 nach einem Ausführungsbeispiel der Erfindung. Der Container enthält als feste Bestandteile eine Anzahl Ausführungsumgebungen. Für das vorliegende Beispiel wird angenommen, dass der Ausführungscontainer 100 zwei Ausführungsumgebungen 102 und 104 enthält. Andere Ausführungsbeispiele können nur einen oder mehr als zwei Ausführungsumgebungen enthalten. Die Ausführungsumgebungen 102 und 104 stellen eine Infrastruktur bereit, die alle Mittel zum Instanzieren und Ausführen einer Datenverarbeitungsanwendung in Form von ausführbaren Programmdateien, Skripten o. ä. beinhaltet. Die Ausführungsumgebung wird im vorliegenden Ausführungsbeispiel durch eine Anwendungsumgebung realisiert. Beispiele bekannter Anwendungsumgebungen sind die Java- Laufzeitumgebung oder die sogenannte .NET Common Language Runtime (CLR). Die Anwendungsumgebungen 102 und 104 sind grundsätzlich gleich ausgebildet. Gegenüber bekannten Laufzeitumgebungen müssen sie für eine Implementierung der vorliegenden Erfindung angepasst werden, wie es sich aus der nachfolgenden Beschreibung im Einzelnen ergibt.
  • Jede Ausführungsumgebung des Ausführungscontainers 100 ist ausgebildet, eine Datenverarbeitungsanwendung 106 bzw. 108 in Form ausführbarer Programmdaten zu instanzieren und auszuführen. Eine Datenverarbeitungsanwendung wird dem Ausführungscontainer von einem Diensteanbieter in Form eines Plattform-unabhängigen Byte-Codes, der an die Anwendungsumgebung, in der der Ausführungscontainer arbeitet, angepasst ist, zur Verfügung gestellt. Die Datenverarbeitungsanwendung kann beispielsweise in Form von Java-Byte-Code oder in Form einer in .NET Intermediate Language (CIL) vorliegenden Programmdatei übermittelt werden. Hierbei handelt es sich um kompilierten Code, der in der Lage ist, eine für die meisten Datenverarbeitungsanwendungen erforderliche Ausführungsgeschwindigkeit sicherzustellen.
  • In der nachfolgenden Beschreibung wird ohne Einschränkung der Allgemeinheit angenommen, dass die Ausführungsumgebungen 102 und 104, wie auch 100 in der Java-Laufzeitumgebung ausgebildet sind.
  • Bei den Datenverarbeitungsanwendungen 106 und 108 kann es sich um unterschiedliche Typen von Datenverarbeitungsanwendungen handeln. Eine grobe Unterscheidung von Datenverarbeitungsanwendungen kann in Datenlieferdienste, Datensteuerdienste und Warenlieferdienste vorgenommen werden. Ein Beispiel für einen Datenlieferdienst ist beispielsweise ein Navigationsdienst. Derartige Dienste kommunizieren in erster Linie mit dem jeweiligen Nutzer. Ein Navigationsdienst benötigt beispielsweise eine in einem Speicher 110, der mit dem Ausführungscontainer 100 verbunden ist, abgespeicherte Karte sowie vom Nutzer eine aktuelle Position eines mobilen Empfangsgerätes. Eine Kommunikation mit dem Diensteanbieter ist nicht erforderlich. Denkbar ist jedoch, dass dem Diensteanbieter kommuniziert wird, in welchem Umfang von der Datenverarbei tungsanwendung Gebrauch gemacht wurde, um dem Diensteanbieter gegenüber dem Nutzer eine Abrechnung der erbrachten Leistungen zu ermöglichen.
  • Datensteuerdienste sind beispielsweise Fernsteuerdienste für fernsteuerbare Geräte. Ein Beispiel eines solchen Dienstes ist die Möglichkeit, eine Panoramakamera durch einen entfernten Nutzer steuern zu lassen. Bei einem solchen Dienst ist es erforderlich, dass Steuersignale vom Nutzer aus über den Ausführungscontainer 100 zum Diensteanbieter gelangen, um die Kamera steuern zu können.
  • Warenlieferdienste sind bekannte Formen von Online-Shops oder beispielsweise Druckdiensten. Bei diesen Diensten ist es tatsächlich erforderlich, dass der Nutzer private Daten, wie beispielsweise eine Lieferadresse oder auszudruckende Dateien, zur Verfügung stellt.
  • Die einer jeweiligen Datenverarbeitungsanwendung zugeordnete Ausführungsumgebung 102 bzw. 104 ist ausgebildet, Nutzereingabedaten und Nutzerausgabedaten mit der Datenverarbeitungsanwendung 106 bzw. 108 auszutauschen. Wesentlich ist, dass aller Datenaustausch der Datenverarbeitungsanwendung über die zugeordnete Ausführungsumgebung erfolgt. Unterschiedliche Datenverarbeitungsanwendungen, die in unterschiedlichen Ausführungsumgebungen des Ausführungscontainers 100 ausgeführt werden, können nicht miteinander kommunizieren. Dies wird durch die Nichtexistenz von gemeinsamem Speicher und die Struktur der nachfolgend näher beschriebenen Kommunikationsschnittstelle 112 sichergestellt.
  • Die Kommunikationsschnittstelle 112 umfasst eine Sicherheitssteuerungseinheit 114, die im vorliegenden Ausführungsbeispiel in einer verteilten Struktur mit zwei Untereinheiten 114.1 und 114.2 ausgeführt ist. Beide Untereinheiten werden der Einfachheit halber nachfolgend ebenfalls als Sicherheitssteuerungseinheit bezeichnet. Die Sicherheitssteuerungseinheiten 114.1 und 114.2 sind mit einer jeweils zugeordneten Ausführungsumgebung 102 bzw. 104 verbunden und überwachen die Datenkommunikation der Datenverarbeitungsanwendung 106 bzw. 108.
  • Insbesondere ist die Sicherheitssteuerungseinheit 114 ausgebildet, jegliche Kommunikation der zugeordneten Datenverarbeitungsanwendung zu verhindern, wenn diese mit einem relativ zur zugeordneten Ausführungsumgebung externen Kommunikationsendpunkt erfolgen soll und wenn die Datenkommunikation die zugeordnete Ausführungsumgebung umgeht. Die Sicherheitssteuerungseinheit 114 stellt daher sicher, dass alle Datenkommunikation der Datenverarbeitungsanwendungen 106 und 108 mit einem externen Kommunikationsendpunkt über die zugeordnete Ausführungsumgebung erfolgt. Das bedeutet, dass die Ausführungsumgebung stets die Kontrolle über die entsprechende Datenkommunikation hat und sicherstellen kann, dass zur Verfügung gestellte Nutzereingabedaten nicht in unzulässiger Weise nach extern kommuniziert werden. Die in der Sicherheitssteuerungseinheit 114 enthaltenen Sicherheitssteuerungseinheiten 114.1 und 114.2 greifen auf erste Sicherheitsvereinbarungen 118 und 120 zu, die im Ausführungscontainer 100 in Dateiform vorliegen und eine Vereinbarung zwischen dem Anbieter der jeweiligen Datenverarbeitungsanwendung 106 bzw. 108 und dem jeweiligen Nutzer darstellen. Da eine Datenverarbeitungsanwendung für eine große Anzahl Nutzer ausgeführt werden kann, verfügt der Ausführungscontainer 100 über eine entsprechende Anzahl von ersten Sicherheitsvereinbarungen, wobei für jeden Nutzer die ihm zugeordnete erste Sicherheitsvereinbarung verwendet wird. Das Format der ersten Sicherheitsvereinbarung muss einerseits reichhaltig genug sein, um eine komfortable Handhabung zu ermöglichen, und muss andererseits knapp genug sein, um sicherzustellen, dass kein bösartiger Code integriert werden kann, der nutzerbezogene Daten ausforschen und unter Verwendung erlaubter Nachrichten versenden kann. Weiterhin ist das Format der Sicherheit der ersten Sicherheitsvereinbarung so definiert, dass die Kommunikationsschnittstelle 112 des Ausführungscontainers 100 prüfen kann, ob eine jeweilige Nachricht zulässig ist oder nicht. Vorteilhaft ist die Verwendung eines Codes in der ersten Sicherheitsvereinbarung, der nur das Aussenden vordefinierter Nachrichten, so genannter Literale ermöglicht. In diesem Fall kann die Sicherheitssteuerungseinheit 114 einen einfachen Vergleich von Zeichenketten vornehmen, um zu prüfen, ob eine Nachricht zulässig ist oder nicht. Die Sicherheitssteuerungseinheit 114 prüft demnach die ihr zugeleiteten eingehenden und ausgehenden Nachrichten auf ihre Zulässigkeit entsprechend der jeweiligen Sicherheitsvereinbarung. Die Sicherheitssteuerungseinheit 114 ist ausgebildet, solche Datenkommunikation einer jeweiligen Ausführungsumgebung mit jeglichem relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu verhindern, die nicht durch die entsprechende erste Sicherheitsvereinbarung 118 bzw. 120 als zulässig definiert ist.
  • Die Kommunikationsschnittstelle 112 enthält weiterhin eine Zugriffssteuerungseinheit 116. Die Zugriffssteuerungseinheit 116 greift auf zweite Sicherheitsvereinbarungen 119 und 121 zu, die im Ausführungscontainer 100 in Dateiform vorliegen und eine Vereinbarung zwischen dem jeweiligen Nutzer und dem Ausführungscontainer bilden. Da Ausführungscontainer von einer großen Anzahl Nutzer genutzt werden kann, verfügt der Ausführungscontainer 100 über eine entsprechende Anzahl von zweiten Sicherheitsvereinbarungen, wobei für jeden Nutzer die ihm zugeordnete zweite Sicherheitsvereinbarung verwendet wird. Die Zugriffssteuerungseinheit 116 überwacht die Zugriffe auf den Speicher 110 unter Anwendung der zweiten Sicherheitsvereinbarung.
  • Zulässige Nachrichten werden über eine Datenzugriffsschicht 122 nach extern weitergeleitet. Die Schnittstelle 122 steuert die ausschließlich lesenden Zugriffe auf den Speicher 110. Außerdem steuert 122 die zulässige Kommunikation mit Literalen sowie die Kommunikation mit anderen Containern.
  • Für manche Anwendungen ist es jedoch sinnvoll, eine vereinfachte Kommunikation der Ausführungsumgebung mit relativ zum Ausführungscontainer 100 externen Anwendung zu ermöglichen. In 1 ist eine externe Anwendungsumgebung 124 dargestellt, die eine hier nicht näher dargestellte Datenverarbeitungsanwendung beherbergt. Beispielsweise kann es sich hierbei um die Steuerung der oben erwähnten Panoramakamera handeln. In diesem Fall enthält die zugeordnete erste Sicherheitsvereinbarung 118 eine Anzahl Steuerbefehle, die zwischen der Ausführungsumgebung 102 im Ausführungscontainer 100 und der externen Anwendungsumgebung 124 ausgetauscht werden dürfen. Solche Literale können von der Zugriffssteuerungseinheit 114 in einfacher Weise auf ihre Zulässigkeit überprüft werden.
  • Es können, müssen jedoch nicht, alle Nutzerausgabedaten auf ihre Zulässigkeit geprüft werden. In einem Ausführungsbeispiel werden bestimmte Datentypen von der Prüfung ausgenommen. In diesem Ausführungsbeispiel kann beispielsweise festgelegt sein, dass Daten, die zur Steuerung einer graphischen Nutzerschnittstelle dienen, nicht dem Prüfschritt unterworfen werden. Es kann festgelegt werden, dass diese Daten jedoch nur an denjenigen Teil des Containers gesendet werden dürfen, der auf dem Endgerät des Dienstnutzers ausgeführt wird, wo sie ungeprüft angezeigt werden können.
  • Die Kommunikationsschnittstelle 112 stellt also im Zusammenwirken mit der Sicherheitssteuerungseinheit 114 und der Datenzugriffschicht 122 sicher, dass nur diejenigen Nachrichten mit externen Kommunikationsendpunkten ausgetauscht werden, die ausdrücklich in der ersten Sicherheitsvereinbarung als zulässig deklariert sind und sorgt gleichzeitig dafür, dass sie nur an die in der Sicherheitsvereinbarung vordefinierten Empfänger/Kommunikationsendpunkte versandt werden. Zu beachten ist, dass der Ausführungscontainer 100 eine Vielzahl unterschiedlicher Datenverarbeitungsanwendungen beherbergen kann und ebenso eine große Zahl von Nutzern unterschiedlicher Datenverarbeitungsanwendungen betreuen kann. Dementsprechend können sich die zulässigen Daten entsprechend den abgespeicherten ersten Sicherheitsvereinbarungen häufig ändern. Die Kommunikationsschnittstelle 112 bildet daher eine Art Regelmaschine, die nach den vorgegebenen ersten Sicherheitsvereinbarungen die Kommunikation der Ausführungsumgebungen mit anderen Kommunikationsendpunkten überwacht und steuert.
  • Auch die Häufigkeit zu sendender Nachrichten kann durch die Sicherheitsvereinbarungen oder durch vordefinierte Regeln des Ausführungscontainers begrenzt werden. Möglich ist auch, orthogonale Nachrichten in unspezifischer Reihenfolge zu senden. Auf diese Weise wird verhindert, dass in Nachrichten in unerlaubter Weise weitere Informationen codiert werden.
  • Ein Ausführungscontainer 100 kann auch von einem Diensteanbieter betrieben werden. In diesem Fall ist es wichtig, dass die Sicherheitsregeln, die der Ausführungscontainer 100 vorschreibt, nicht vom Betreiber des Ausführungscontainers verändert werden können. Die Sicherheitsregeln des erfindungsgemäßen Ausführungscontainers 100 sind fest und werden durch die vorstehend beschriebenen Mittel überwacht. Eine zusätzliche Absicherung kann dadurch erfolgen, dass der Ausführungscontainer ausgebildet ist, sich nicht zu instanzieren, wenn er nicht die absolut erste Komponente ist, die z.B. in einer Java Virtual Machine (JVM) gestartet wird, oder wenn bereits ein fremder Sicherheitsmanager installiert ist oder die JVM modifiziert worden ist. Vorzugsweise ist der Ausführungscontainer ausgebildet, sichere Hash-Codes aller laufenden Module innerhalb des aktuellen Prozesses mit einem Satz gesicherter Hash-Codes zu vergleichen, um zu überprüfen, ob der aktuelle Code dem original Code des Anbieters des Ausführungscontainers entspricht. Eine solche Hash-Überprüfung stellt auch sicher, dass Klassen z.B. Java-Klassen in einer JVM, die auf externe Ressourcen zugreifen, sicher sind.
  • Um einen Zugriff unterschiedlicher Datenverarbeitungsanwendungen in unterschiedlichen Ausführungsumgebungen aufeinander zu verhindern, kann die Sicherheitssteuerungseinheit 114 in der Form ausgebildet sein, dass für unterschiedliche Ausführungsumgebungen unterschiedliche Java-Klassenlader vorgesehen sind. Objekte in unterschiedlichen Ausführungsumgebungen haben auf diese Weise keinen Zugriff auf Instanzen anderer Ausführungsumgebungen. Allein der Ausführungscontainer oder solche Java-Klassen, die innerhalb derselben Ausführungsumgebung vorgesehen sind, können zugreifen. Durch die Sicherheitssteuerungseinheit 114 ist sichergestellt, dass ein Zugriff auf Klassen in anderen Ausführungsumgebungen nicht ermöglicht wird. Ebenso gibt es auch keinen gemeinsamen Zugriff unterschiedlicher Ausführungsumgebungen auf den selben Speicher.
  • Der Ausführungscontainer 100 sorgt für eine sichere und vollständige Beseitigung von Daten und der Datenverarbeitungsanwendung, wenn die entsprechende Datenverarbeitungsanwendung nicht mehr benötigt wird, oder wenn die erste Sicherheitsvereinbarung nicht mehr gültig ist. Die Anwendungsumgebungen, die für die Ausführung von Byte-Code benötigt werden, d.h., die Java-Laufzeitumgebung (Java Runtime Environment, JRE) und die .NET Common Language Runtime (CLR) beinhalten ein als Garbage Collection bezeichnetes Konzept. Danach wird sichergestellt, dass Daten, die nicht mehr benötigt werden, gelöscht werden. Die Datenverarbeitungsanwendungen selbst werden auf dieselbe Weise beseitigt, wenn sie nicht mehr benötigt werden. Eine Klassen-Definition kann durch eine Klassenbeseitigung gelöscht werden, was z.B: in Java durch einen eigenen Klassenlader („Class Loader") für den Ausführungscontainer implementiert werden kann. Dieser „Class Loader" besorgt das Laden einer Klasse wie auch ihre Beseitigung, wenn sie nicht mehr benötigt wird.
  • 2 zeigt die Struktur eines verteilten Ausführungscontainers nach einem weiteren Ausführungsbeispiel der Erfindung. Die in 2 dargestellte Struktur eines verteilten Ausführungscontainers 200 basiert auf der Struktur des in 1 dargestellten Ausführungscontainers 100. Daher sind entsprechende Elemente des verteilten Ausführungscontainers 200 in 2 mit Bezugszeichen versehen, die sich von den Elementen der 1 lediglich in der ersten Ziffer unterscheiden, wo statt einer „1" eine „2" enthalten ist. Der Ausführungscontainer 200 enthält im vorliegenden Ausführungsbeispiel zwei Teil-Ausführungscontainer 200.1 und 200.2. Die Struktur des Ausführungscontainers 200.1 entspricht mit Ausnahme der nachfolgend beschriebenen Merkmale exakt der Struktur des Ausführungscontainers 100 der 1. Zusätzlich zu den oben beschriebenen Funktionseinheiten sind in der Kommunikationsschnittstelle 212.1 des Teil-Ausführungscontainers 200.1 und in der Kommunikationsschnittstelle 212.2 des Teil-Ausführungscontainers 200.2 Kanalports 226.1 bis 232.1 bzw. 226.2 bis 232.2 vorgesehen. Über entsprechende Kanäle kommunizieren korrespondierende Ausführungsumgebungen 202.1 und 202.2 sowie 204.1 und 204.2 jeweils paarweise miteinander. Die Anzahl der Kanalports ist nicht fix. Die Teil-Ausführungscontainer 200.1 und 200.2 sind auf räumlich getrennter Hardware vorgesehen, die miteinander kommunizieren. Beispielsweise kann der Teil-Ausführungscontainer 200.1 auf einem ortsfesten Server installiert sein, während der zweite Teil-Ausführungscontainer 200.2 auf einem PDA installiert ist. Die Kommunikationsschnittstellen 212.1 und 212.2 sind ausgebildet, die auf jedem Kanal ablaufende Datenkommunikation kanalspezifisch zu verschlüsseln. Auf diese Weise ist sichergestellt, dass die zwischen den kommunizierenden Ausführungsumgebungen 202.1 und 202.2, die gemeinsam jeweils zugeordnete Teile 206.1 und 206.2 einer Datenverarbeitungsanwendung ausführen, ohne Zugriffsmöglichkeit für Dritte miteinander kommunizieren.
  • Auf diese Weise ist es möglich, die Rechenlast einer Datenverarbeitungsanwendung auf mehrere Geräte mit begrenzten Ressourcen zu verteilen. Auf diese Weise wird es möglich, verbesserte Ressourcen und mehr Rechenleistung zu verwenden. Die Teil-Ausführungscontainer identifizieren sich wechselseitig mit Hilfe geeigneter Authentisierungsmechanismen, um sicherzustellen, dass der Gesamt-Ausführungscontainer 200 eine sichere Ausführungsumgebung darstellt.
  • Durch die Verbindung der Teil-Ausführungscontainer 200.1 und 200.2 miteinander können beide Teile auf dieselben Nutzereingabedaten zugreifen, wenn dies durch die jeweilige erste Sicherheitsvereinbarung abgedeckt ist, selbst wenn die Daten physikalisch nur an einem der beiden Teil-Ausführungscontainer angesiedelt sind. In ähnlicher Weise läuft auch die Datenkommunikation mit Ausführungsumgebungen außerhalb des Ausführungscontainers 200. Die erforderlichen Nachrichten können von jedem der beiden Teil-Ausführungscontainer angefordert werden und werden zunächst zu demjenigen Teil-Ausführungscontainer geliefert, der die Datenverbindung mit der externen Ausführungsumgebung 224 herstellen kann. Dabei werden sie intern verschlüsselt übertragen. Die verteilte Struktur des Ausführungscontainers 200 ist für eine interne Datenverarbeitungsanwendung demnach transparent.
  • 3 veranschaulicht einen Verhandlungsschritt zwischen einem Nutzer und einem Diensteanbieter zur Erstellung einer Sicherheitsvereinbarung. Ein zu verhandelnder Vorschlag 302, der entweder vom Nutzer oder vom Diensteanbieter unterbreitet wird, wird von der Gegenseite, also dem Nutzer 304 oder dem Diensteanbieter 306 auf Akzeptanz geprüft. Kann die Sicherheitsvereinbarung nach der beim Nutzer vorliegenden Sicherheitspräferenz 304.1 oder der beim Diensteanbieter vorliegenden Sicherheitspräferenz 306.1 nicht akzeptiert werden, wird entsprechend der jeweiligen Sicherheitspräferenz eine Änderung am Vereinbarungsvorschlag vorgenommen und als Gegenvorschlag unterbreitet. Dieser wird dann von der Gegenseite auf Akzeptanz geprüft. Dieser Mechanismus wird wiederholt, bis eine für beide Seiten akzeptable Vereinbarung vorliegt, die dann von beiden Seiten signiert und als fertige und signierte Sicherheitsvereinbarung 308 an den Ausführungscontainer geleitet wird. Nicht dargestellt ist in 3 ein Abbruch der Verhandlung, der nach vorbestimmten Kriterien, etwa der Dauer der Verhandlung oder der Nichtannahme von geforderten Mindestpräferenzen durch die Gegenseite vorgenommen wird.

Claims (18)

  1. Ausführungscontainer für eine Datenverarbeitungsanwendung eines Diensteanbieters, mit mindestens einer Ausführungsumgebung, die ausgebildet ist, die Datenverarbeitungsanwendung, welche Nutzereingabedaten zur Erzeugung von Nutzerausgabedaten verarbeitet, in Form ausführbarer Programmdaten zu instanzieren und auszuführen, sowie die Nutzereingabedaten und die Nutzerausgabedaten mit der Datenverarbeitungsanwendung auszutauschen; einer mit der Ausführungsumgebung verbundenen Kommunikationsschnittstelle, die ausgebildet ist, Nutzereingabedaten zu empfangen und an die Ausführungsumgebung weiterzuleiten sowie von der Ausführungsumgebung ausgesandte Nutzerausgabedaten nach außerhalb des Ausführungscontainers auszugeben; einer mit der Kommunikationsschnittstelle verbundenen Sicherheitssteuerungseinheit, die ausgebildet ist, solche Datenkommunikation der Datenverarbeitungsanwendung mit jeglichem relativ zur Ausführungsumgebung externen Kommunikationsendpunkt zu verhindern, deren Kommunikationspfad die Ausführungsumgebung umgeht; und einer mit der Kommunikationsschnittstelle verbundenen Zugriffssteuerungseinheit, die ausgebildet ist, solche Datenkommunikation der Ausführungsumgebung mit jeglichem relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu verhindern, der nicht durch eine erste Sicherheitsvereinbarung als zulässig definiert ist.
  2. Ausführungscontainer nach Anspruch 1, mit einem relativ zur Ausführungsumgebung externen Speicher für Nutzereingabedaten, der über die Kommunikationsschnittstelle mit der Ausführungsumgebung verbunden ist, bei dem die Sicherheitssteuerungseinheit ausgebildet ist, einen direkten Zugriff der Datenverarbeitungsanwendung auf den Speicher zu verhindern.
  3. Ausführungscontainer nach Anspruch 2, bei dem die Ausführungsumgebung ausgebildet ist, über die Kommunikationsschnittstelle auf relativ zum Ausführungscontainer externe Nutzereingabedaten lesend zuzugreifen und eine lokale Kopie der externen Nutzereingabedaten im Speicher abzulegen.
  4. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem der Ausführungscontainer eine Verhandlungseinheit und eine Verhandlungsschnittstelle enthält, und bei dem die Verhandlungseinheit ausgebildet ist, über die Verhandlungsschnittstelle entsprechend einem vordefinierten Verhandlungsprotokoll die erste Sicherheitsvereinbarung zwischen einem dem Ausführungscontainer und einem Dienstnutzer auszuhandeln.
  5. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem der Ausführungscontainer eine Verhandlungseinheit und eine Verhandlungsschnittstelle enthält, und bei dem die Verhandlungseinheit ausgebildet ist, über die Verhandlungsschnittstelle entsprechend einem vordefinierten Verhandlungsprotokoll eine zweite Sicherheitsvereinbarung zwischen dem Ausführungscontainer und einem Dienstanbieter oder einem Dienstnutzer auszuhandeln, wobei diese folgende Angaben enthält: – eine Adresse mindestens eines relativ zum Ausführungscontainer externen Datenspeichers, auf den ein Lesezugriff des Ausführungscontainers zulässig ist, oder – Nutzereingabedaten, auf die ein Lesezugriff des Ausführungscontainers zulässig ist.
  6. Ausführungscontainer nach Anspruch 2 oder 3, bei dem die Ausführungsumgebung ausgebildet ist, von der Datenverarbeitungsanwendung erhaltene Nutzerausgabedaten im Speicher abzulegen.
  7. Ausführungscontainer nach Anspruch 2, bei dem die Ausführungsumgebung ausgebildet ist, nach Abschluss der Ausführung der Datenverarbeitungsanwendung eine Löschung im Speicher abgelegter Nutzereingabeda ten und Nutzerausgabedaten der Datenverarbeitungsanwendung zu veranlassen.
  8. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die Ausführungsumgebung ausgebildet ist, nach Abschluss der Ausführung der Datenverarbeitungsanwendung eine Beseitigung der instanziierten ausführbaren Programmdaten der Datenverarbeitungsanwendung zu veranlassen.
  9. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die Sicherheitssteuerungseinheit ausgebildet ist, das Vorliegen eines Kriteriums für eine Beendigung der Gültigkeit der ersten Sicherheitsvereinbarung zu prüfen, und bei Vorliegen eines solchen Kriteriums eine Löschung im Speicher abgelegter Nutzereingabedaten und Nutzerausgabedaten der Datenverarbeitungsanwendung zu veranlassen.
  10. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die erste Sicherheitsvereinbarung Informationen über bezüglich der Datenverarbeitungsanwendung zulässige Kommunikationsendpunkte, Nachrichtentypen oder Datenzugriffe enthält.
  11. Ausführungscontainer nach einem der vorstehenden Ansprüche, mit einer Mehrzahl Ausführungsumgebungen, wobei die Ausführungsumgebungen ausgebildet sind, jegliche Kommunikation zwischen unterschiedlichen Datenverarbeitungsanwendungen in relativ zu einander externen Ausführungsumgebungen innerhalb des Ausführungscontainers zu verhindern.
  12. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die Ausführungsumgebung ausgebildet ist, auf ein von der Datenverarbeitungsanwendung her empfangenes Kommando hin über die Kommunikationsschnittstelle ein im Kommando angegebenes, aus einem Satz vordefinierter Literale ausgewähltes Literal an einen relativ zum Ausführungscontainer externen Kommunikationsendpunkt zu senden.
  13. Ausführungscontainer nach Anspruch 12, bei dem die Ausführungsumgebung ausgebildet ist, über vordefinierte Literale höchstens eine Maximalzahl T Datenbits zu senden, die definiert ist durch T = n × log2L = f·t·log2Lwobei n die Anzahl übertragener Literale, L die Gesamtanzahl vordefinierter Literale ist, f die Frequenz der Übersendung von Literalen und t die Zeitdauer einer Sitzung, in der Literale übersandt werden.
  14. Ausführungscontainer nach einem der vorstehenden Ansprüche, mit mindestens einem Prozessor, bei dem die Ausführungsumgebung ausgebildet ist, eine Prozessorlast nach einem zufälligen Zeitmuster zu variieren, das unabhängig von einer tatsächlichen Belastung durch die Datenverarbeitungsanwendung ist.
  15. Verteilter Ausführungscontainer, mit einem ersten und einem zweiten Ausführungscontainer nach einem der vorstehenden Ansprüche, wobei der erste und der zweite Ausführungscontainer über einen Datenübertragungskanal zum Austausch von Daten verbunden sind und wobei die Ausführungsumgebung jedes Ausführungscontainers ausgebildet ist, sich gegenüber der jeweils anderen Ausführungsumgebung durch geeignete Authentisierungsmechanismen zu identifizieren, und wobei die Kommunikationsschnittstellen der Ausführungscontainer ausgebildet sind, Daten in verschlüsselter Form über den Datenübertragungskanal auszutauschen.
  16. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die Ausführungsumgebung durch eine Anwendungsumgebung, insbesondere eine Java-Laufzeit-Umgebung oder eine .NET-Laufzeitumgebung gebildet wird.
  17. Ausführungscontainer nach einem der vorstehenden Ansprüche, bei dem die ausführbaren Programmdaten in Form von Bytecode vorliegen.
  18. Datenträger mit ausführbaren Programmdaten, die bei Ausführung einen Ausführungscontainer für eine Datenverarbeitungsanwendung eines Diensteanbieters entsprechend einem der vorstehenden Ansprüche bilden.
DE200610020093 2006-04-26 2006-04-26 Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung Ceased DE102006020093A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE200610020093 DE102006020093A1 (de) 2006-04-26 2006-04-26 Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung
PCT/EP2007/054117 WO2007122266A2 (de) 2006-04-26 2007-04-26 Geschütztes ausführen einer datenverarbeitungsanwendung eines diensteanbieters für einen nutzer durch eine vertrauenswürdige ausführungsumgebung
EP07728572A EP2014048A2 (de) 2006-04-26 2007-04-26 Geschütztes ausführen einer datenverarbeitungsanwendung eines diensteanbieters für einen nutzer durch eine vertrauenswürdige ausführungsumgebung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610020093 DE102006020093A1 (de) 2006-04-26 2006-04-26 Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung

Publications (1)

Publication Number Publication Date
DE102006020093A1 true DE102006020093A1 (de) 2007-10-31

Family

ID=38325467

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610020093 Ceased DE102006020093A1 (de) 2006-04-26 2006-04-26 Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung

Country Status (3)

Country Link
EP (1) EP2014048A2 (de)
DE (1) DE102006020093A1 (de)
WO (1) WO2007122266A2 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0909073A2 (de) * 1997-09-12 1999-04-14 Lucent Technologies Inc. Verfahren und Vorrichtung für einen Rechnernetzwerkfirewall mit Proxy-Reflektion
WO2002080457A1 (en) * 2001-03-29 2002-10-10 Sphere Software Corporation Layering enterprise application services using semantic firewalls
DE10253676A1 (de) * 2002-11-18 2004-06-03 Siemens Ag Verfahren und Vorrichtung für die Fernübertragung sensibler Daten
EP1569410A1 (de) * 2004-02-26 2005-08-31 Research In Motion Limited Verfahren und System zur automatischen Konfiguration von Zugangskontrolle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772416B1 (en) * 1999-11-19 2004-08-03 General Dynamics Decision Systems, Inc. Separation kernel with memory allocation, remote procedure call and exception handling mechanisms
US20030158960A1 (en) * 2000-05-22 2003-08-21 Engberg Stephan J. System and method for establishing a privacy communication path
US7103914B2 (en) * 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0909073A2 (de) * 1997-09-12 1999-04-14 Lucent Technologies Inc. Verfahren und Vorrichtung für einen Rechnernetzwerkfirewall mit Proxy-Reflektion
WO2002080457A1 (en) * 2001-03-29 2002-10-10 Sphere Software Corporation Layering enterprise application services using semantic firewalls
DE10253676A1 (de) * 2002-11-18 2004-06-03 Siemens Ag Verfahren und Vorrichtung für die Fernübertragung sensibler Daten
EP1569410A1 (de) * 2004-02-26 2005-08-31 Research In Motion Limited Verfahren und System zur automatischen Konfiguration von Zugangskontrolle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CRANE, S.: Privacy Preserving Trust Agents, 2004, Hewlett-Packard Technical Report HPL-2004-197 *

Also Published As

Publication number Publication date
WO2007122266A3 (de) 2008-01-17
WO2007122266A2 (de) 2007-11-01
EP2014048A2 (de) 2009-01-14

Similar Documents

Publication Publication Date Title
DE602004011689T2 (de) Verfahren und System zur Handhabung der Übermittlung von Inhalten in Kommunikationsnetzen
DE60132833T2 (de) Computersystemschutz
DE102011084728B4 (de) Verfahren zum Starten einer externen Applikation und bidirektionaler Kommunikation zwischen einem Browser und einer externen Applikation ohne Browsererweiterungen
WO2011131715A1 (de) Verfahren zum lesen eines attributs aus einem id-token
WO2007045395A1 (de) Vorrichtungen und verfahren zum durchführen von kryptographischen operationen in einem server-client-rechnernetzwerksystem
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
DE102011077218A1 (de) Zugriff auf in einer Cloud gespeicherte Daten
EP2705477A1 (de) Beantwortung von anfragen mittels des kommunikationsendgeräts eines nutzers
DE10146361B4 (de) Verteiltes System
WO2013017394A1 (de) Zugangsregelung für daten oder applikationen eines netzwerks
EP1298529A2 (de) Proxy-Einheit und Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms
DE102014112478A1 (de) Verfahren zur Verteilung von Tasks zwischen Computersystemen, Computernetz-Infrastruktur sowie Computerprogramm-Produkt
EP3648430B1 (de) Hardware-sicherheitsmodul
DE102012208290B4 (de) Netzübergangskomponente mit anfrage/antwort-zuordnung und überwachung
DE102006020093A1 (de) Geschütztes Ausführen einer Datenverarbeitungsanwendung eines Diensteanbieters für einen Nutzer durch eine vertrauenswürdige Ausführungsumgebung
EP3376419A1 (de) System und verfahren zum elektronischen signieren eines dokuments
EP3618348B1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
EP2186285B1 (de) Verfahren und einrichtung zur authentisierung übertragener nutzdaten
DE102005050336B4 (de) Verfahren und Anordnung zum Betreiben eines Sicherheitsgateways
DE10102979C2 (de) Verfahren zur Absicherung von Rechnern mit Anschluss an ein Netzwerk zum Zweck der Kontrolle von Netzwerkverbindungen
WO2017148559A1 (de) Verfahren und analysemodul zur überprüfung von verschlüsselten datenübertragungen
DE102005062061A1 (de) Verfahren und Vorrichtung zum mobilfunknetzbasierten Zugriff auf in einem öffentlichen Datennetz bereitgestellten und eine Freigabe erfordernden Inhalten
WO2021197822A1 (de) Verfahren zur behandlung einer anomalie von daten, insbesondere bei einem kraftfahrzeug
DE202022101783U1 (de) Intelligentes Managementsystem für die sichere Verbindung mehrerer mobiler Zahlungsanwendungen gegen Sicherheitslücken
EP2591583B1 (de) Verfahren zur sicheren datenübertragung und entschlüsselung für die kommunikation via internet

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: IHP GMBH - INNOVATIONS FOR HIGH PERFORMANCE MI, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final