DE112011103164T5 - Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger, - Google Patents

Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger, Download PDF

Info

Publication number
DE112011103164T5
DE112011103164T5 DE112011103164T DE112011103164T DE112011103164T5 DE 112011103164 T5 DE112011103164 T5 DE 112011103164T5 DE 112011103164 T DE112011103164 T DE 112011103164T DE 112011103164 T DE112011103164 T DE 112011103164T DE 112011103164 T5 DE112011103164 T5 DE 112011103164T5
Authority
DE
Germany
Prior art keywords
data
distribution
access control
client
distribution data
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
DE112011103164T
Other languages
English (en)
Inventor
Sanehiro Furuichi
Taku Aratsu
Masami Tada
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011103164T5 publication Critical patent/DE112011103164T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • 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
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

Es wird ein Mittel bereitgestellt, um Informationslecks von einem Datenverteilungsziel zu verhindern. Ein Datenverteilungsserver 20 umfasst eine Datenbank 130, die Zugriffskontroll-Ausführungsmodule 132 bis 138 speichert, um auf einem Client einen Zugriffskontrollmechanismus und eine Ladeeinheit zu realisieren, wobei der Zugriffskontroll-Ausführungsmechanismus an eine Umgebung des Clients anpasst, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine Weise kontrolliert, die von einer gegebenen Richtlinie abhängt, wobei die Ladeeinheit in einem Verteilungspaket enthaltene Verteilungsdaten in einen geschützten Speicherbereich lädt, eine Datenbank 120, um die Verteilungsdaten 124 und eine für die Verteilungsdaten 124 spezifizierte Sicherheitsrichtlinie 122 zu speichern, einen Umgebungserkennungsabschnitt 144, um eine Umgebung eines Clients 30B, der den Empfang von Verteilungsdaten anfordert, zu erkennen, und einen Übertragungsverarbeitungsabschnitt 150, um ein Verteilungspaket 160 zu übertragen, das Verteilungsdaten 162, eine Sicherheitsrichtlinie 164 und ein der Umgebung des Clients 30B entsprechendes Zugriffskontroll-Ausführungsmodul 166 enthält.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Technik, um Informationslecks zu verhindern, und insbesondere eine Datenverteilungsvorrichtung, ein Datenverteilungssystem, eine Client-Vorrichtung, ein Datenverteilungsverfahren, ein Datenempfangsverfahren, ein Programm und einen Datenträger, um Informationslecks von einem Datenverteilungsziel zu verhindern.
  • Stand der Technik
  • Aufgrund der Entwurfszusammenarbeit inner- und außerhalb von Unternehmen und der Globalisierung von OEM(Original Equipment Manufacturing)-Herstellern wurde die Auslandsexpansion der Entwicklungs-/Fertigungsstandorte in den letzten Jahren vorangetrieben. Darüber hinaus haben sich durch den weit verbreiteten Einsatz des Cloud-Computings die geografischen Trennungen zwischen Standorten und zwischen einem Auftraggeber und einem Auftragnehmer verringert, und die Weitergabe von technischen Daten über ein Netzwerk ist immer aktiver geworden. Unter solchen Umständen ist das Risiko der unbefugten Offenlegung wertvoller technischen Daten erheblich gestiegen. Daher sind Datensicherheitsmaßnahmen und die Gewährleistung der Verfolgbarkeit wichtiger geworden.
  • Insbesondere in Fertigungsindustrien, in welchen Operationen zur Auftragserteilung an Unterauftragnehmer und Unterunterauftragnehmer häufig auftreten, ist die Verhinderung von Sekundärlecks von Design-/Fertigungsdaten bei Auftragnehmern ein wichtiges Thema. Einige Dienstleistungen können durch Cloud-Dienste ausgelagert werden. In Bereichen wie z. B. dreidimensionales CAD (computergestützter Entwurf), NC-Bearbeitung (numerisch gesteuerte Bearbeitung) und Medizin gibt es jedoch noch viele Dienstleistungen, die die Verarbeitung durch lokale Endgeräte erfordern. Deshalb können vertrauliche Daten in vielen Fällen auf lokalen Endgeräten von Auftragnehmern gespeichert sein.
  • Da vertrauliche Daten, die auf einem lokalen Endgerät eines Auftragnehmers gespeichert sind, normalerweise außerhalb der Kontrolle eines Auftraggebers liegen, ist es wünschenswert, technische Präventivmaßnahmen gegen unbefugte Verwendung oder Informationslecks zu ergreifen. Insbesondere ist es wünschenswert, dass vertrauliche Daten, die auf einem lokalen Endgerät eines Auftragnehmers gespeichert sind, nach Ablauf der Vertragslaufzeit unbrauchbar werden. Als oben erwähnte technische Maßnahmen offenbart die ungeprüfte japanische Patentanmeldung Nr. 2009-26046 (PTL 1) zum Beispiel eine Technik zur Einschränkung des Zugriffs auf eine Speichereinheit durch Filtern eines Lesebefehls oder eines Schreibbefehls, der an einen Einheitentreiber des Speichers oder an eine Ein-/Ausgabeschnittstelle ausgegeben wird.
  • PTL 1 offenbart auch Präventivmaßnahmen gegen Sekundärdatenlecks, wobei, um Sekundärdatenlecks aus einer Organisation an einem Datenverteilungsziel zu einem Dritten zu verhindern, indem aus einer Image-Datei zur Herstellung einer Ausführungsumgebung, die der Verteilungsdatenverarbeitung gewidmet ist, umfassend ein Betriebssystem und eine Anwendung zur Herstellung einer Ausführungsumgebung, die den Verteilungsdaten gewidmet ist und von einer Ausführungsumgebung der Nicht-Verteilungsdaten getrennt ist, durch Virtualisierungsmittel, die im Datenverteilungsziel-Computer bereitgestellt werden, die Installation des Betriebssystems und der Anwendung durchgeführt wird, und die Ausführungsumgebung, die der Verteilungsdatenverarbeitung gewidmet ist und von der Ausführungsumgebung der Nicht-Verteilungsdaten getrennt ist, durch die im Verteilungsziel-Computer bereitgestellte Virtualisierungsmittel hergestellt wird.
  • Dementsprechend offenbart die japanische ungeprüfte Patentanmeldung Nr. 2009-86840 (PTL 2) eine Informationsverarbeitungsvorrichtung, die eine Administrator-Umgebung mit einem Betriebssystem und einer spezifischen Anwendung aufweist, wobei das Betriebssystem für die Datenverwaltung bestimmt ist und durch ein in der Informationsverarbeitungsvorrichtung bereitgestelltes Virtualisierungsmittel von einer Betriebssystemumgebung, auf die vom Benutzer zugegriffen wird, getrennt aufgebaut ist; und Mittel zum Ausführen der Anwendung mithilfe eines Verfahrens, in welchem die Betriebssystem-Umgebung, auf die vom Benutzer zugegriffen wird, Eingabeinformation einer Tastatur oder dergleichen an die Verwaltungsumgebung übermittelt und als Reaktion darauf Information eines Anzeigebildschirms von der Verwaltungsumgebung empfängt.
  • Als kommerzielle DRM(Digital Rights Management)-Produkte werden auch Softwareanwendungen bereitgestellt, die eine Zugriffskontrollfunktion in einem Anwendungsprogramm realisieren. Zum Beispiel sind RMS (Rights Management Services) von Microsoft® (NPL 1) und LiveCycle® Rights Management ES2 von Adobe® (NPL 2) Techniken, in denen eine Anwendung Sicherheitsrichtlinien einschließlich der Berechtigung, die Bearbeitung durchzuführen, und der Berechtigung, das Drucken durchzuführen, die für Einzeldokumente eingestellt sind, selbst interpretiert und verschiedene Operationen wie z. B. das Blättern, Bearbeiten, Kopieren und Drucken einschränkt.
  • Liste der Bezugsliteratur
  • Patentliteratur
  • Ungeprüfte japanische Patentanmeldung Nr. 2009-26046
  • Ungeprüfte japanische Patentanmeldung Nr. 2009-86840
  • Sonstige Literatur
    • „Windows Rights Management Services", [online], [abgerufen am 10. September 2010], Internet <URL; http://www.microsoft.com/windowsserver2003/technologies/rightsmgmt/default.mspx>
    • „Adobe LiveCycle Rights Management ES2", [online], [abgerufen am 10. September 2010], Internet <URL; http://www.adobe.com/products/livecycle/rightsmanagement/>
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Im Stand der Technik, der in PTL 1 und PTL 2 offenbart wird, muss ein Verteilungsziel-Computer jedoch Virtualisierungsmittel aufweisen, um eine Ausführungsumgebung herzustellen, die der Verteilungsdatenverarbeitung gewidmet ist und von einer normalen Ausführungsumgebung getrennt ist. Diese Techniken können daher nur in einer begrenzten Umgebung eingesetzt werden. Alternativ dazu ist die Installation eines Betriebssystems und einer Anwendung notwendig, um im Verteilungsziel-Computer eine Ausführungsumgebung herzustellen, die der Verteilungsdatenverarbeitung gewidmet ist und von der normalen Ausführungsumgebung getrennt ist, was für das Verteilungsziel eine Belastung darstellt. Da ein Bediener während der Verarbeitung von Verteilungsdaten allgemein viele Operationen durchführt, einschließlich des Sendens und Empfangens von E-Mails und des Blätterns von Webseiten, ist die Unannehmlichkeit der häufigen Verwendung virtueller OS in der Konfiguration mit einer Virtualisierungstechnik nicht zu vernachlässigen.
  • In den Techniken, welche die Zugriffskontrollfunktion innerhalb einer Anwendung realisieren, wie in NPL 1 und NPL 2 offenbart, können leider nur begrenzte Anwendungen geschützt werden. Daher können nur begrenzte Datentypen verwendet werden. Deshalb können nicht alle Dienstleistungen umfassend kontrolliert werden, solange nicht alle Dienstleistungsanwendungen unterstützt werden.
  • Die vorliegende Erfindung wurde angesichts der oben beschriebenen Probleme des Stands der Technik entwickelt, und eine Aufgabe der vorliegenden Erfindung ist es, eine Datenverteilungsvorrichtung und ein Datenverteilungssystem bereitzustellen, die den Informationsfluss verschiedener Daten kontrollieren, indem sie Daten in Form eines Verteilungspakets verteilen, das einen geeigneten Zugriffskontrollmechanismus enthält, der die Zugriffskontrolle für Verteilungsdaten ausführt, und die zusätzlich in der Lage sind, Informationslecks von einem Verteilungsziel zu verhindern, ohne die Einsatzumgebung des Verteilungsziels einzuschränken, und ohne das Verteilungsziel mit einer übermäßigen Arbeitslast zu belegen.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Client-Vorrichtung, die ein Verteilungspaket von der Datenverteilungsvorrichtung empfängt, ein Datenverteilungsverfahren, das von der Datenverteilungsvorrichtung oder vom Datenverteilungssystem durchgeführt wird, ein Datenempfangsverfahren, das von der Client-Vorrichtung durchgeführt wird, ein Programm zur Realisierung der Datenverteilungsvorrichtung oder des Datenverteilungssystems, und einen Datenträger bereitzustellen, auf dem das Programm gespeichert ist.
  • Lösung des Problems
  • Die vorliegende Erfindung wurde in Anbetracht der oben beschriebenen Nachteile des Stands der Technik entwickelt. Die vorliegende Erfindung stellt eine Datenverteilungsvorrichtung zur Bereitstellung eines Verteilungspakets und ein Datenverteilungssystem bereit, das eine Vielzahl von Computern umfasst, wobei die Vorrichtung und das System die im Folgenden beschriebenen Merkmale aufweisen.
  • Eine Datenverteilungsvorrichtung oder ein Datenverteilungssystem gemäß der vorliegenden Erfindung umfasst eine Programmspeichereinheit, die ein Zugriffskontroll-Ausführungsprogramm speichert, um auf einem Client einen Zugriffskontrollmechanismus und eine Ladeeinheit zu realisieren, wobei das Zugriffskontroll-Ausführungsprogramm an eine Umgebung des Clients angepasst ist, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine Weise kontrolliert, die von einer gegebenen Richtlinie abhängt, wobei die Ladeeinheit in einem Verteilungspaket enthaltene Verteilungsdaten in einen geschützten Speicherbereich lädt. Die Datenverteilungsvorrichtung oder das Datenverteilungssystem erkennt eine Umgebung eines anfordernden Clients, der den Empfang der Verteilungsdaten angefordert hat, liest die zu verteilenden Verteilungsdaten und eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie und überträgt an den anfordernden Client ein Verteilungspaket, das die Verteilungsdaten, die Sicherheitsrichtlinie und das an die Umgebung des anfordernden Clients angepasste Zugriffskontroll-Ausführungsprogramm enthält.
  • Darüber hinaus kann der vorliegenden Erfindung gemäß eine Client-Vorrichtung zum Empfangen des Verteilungspakets bereitgestellt werden. Die Client-Vorrichtung umfasst eine Anforderungsübertragungseinheit, um eine Empfangsanforderung für Verteilungsdaten an die Datenverteilungsvorrichtung zu übertragen, und eine Umgebungsinformationsübertragungseinheit, um Umgebungsinformation zur Beschreibung einer Umgebung der Client-Vorrichtung zu übertragen. Überdies kann der vorliegenden Erfindung gemäß ein Datenverteilungsverfahren, das von der Datenverteilungsvorrichtung oder von einem Datenverteilungssystem durchgeführt wird, ein Datenempfangsverfahren, das von der Client-Vorrichtung durchgeführt wird, ein Programm zur Realisierung der Datenverteilungsvorrichtung oder des Datenverteilungssystems und ein Datenträger zum Speichern des Programms bereitgestellt werden.
  • Vorteilhafte Wirkungen der Erfindung
  • Mit der oben beschriebenen Konfiguration ist ein Registrant von Verteilungsdaten in der Lage, Verteilungsdaten an ein Verteilungsziel zu senden, wobei er einer Betriebsumgebung des Verteilungsziels eine spezifische Sicherheitsrichtlinie auferlegt. Die Verteilungsdaten werden unter der lokalen Umgebung des Verteilungsziels gespeichert. Für Verteilungsdaten, die unter der lokalen Umgebung vorliegen, wird der Zugriff auf eine Ressource aus einem laufenden Prozess durch den Zugriffskontrollmechanismus einer Sicherheitsrichtlinie entsprechend so kontrolliert, dass der Umfang, in dem die Verteilungsdaten weitergegeben werden können, eingeschränkt werden kann. Dadurch können zum Beispiel Informationslecks durch unabsichtliche Datenfreigabe nach der Bereitstellung authentifizierter Information an einen Geschäftspartner, das heißt, Sekundärlecks verhindert werden. Zudem ist mit der oben beschriebenen Konfiguration die obligatorische Einführung und Einrichtung einer komplizierten speziellen Kontrollsoftware an einem Verteilungsziel nicht erforderlich, und die Anwendung auf verschiedene Daten und verschiedene Anwendungen kann erreicht werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein schematisches Diagramm eines Datenverarbeitungssystems mit einem Datenverteilungsserver gemäß einer ersten Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Funktionsblockdiagramm, das auf dem Datenverteilungsserver gemäß der ersten Ausführungsform der vorliegenden Erfindung realisiert wird.
  • 3 ist ein Diagramm, das die Datenstruktur einer Sicherheitsrichtlinie veranschaulicht, die in der ersten Ausführungsform der vorliegenden Erfindung verwendet wird.
  • 4 ist ein Diagramm, das einen Teil der Datenstruktur einer Sicherheitsrichtlinie veranschaulicht, die in der ersten Ausführungsform der vorliegenden Erfindung verwendet wird.
  • 5 ist ein Flussdiagramm, das einen Paketregistrierungsprozess veranschaulicht, der von einer Paketregistriereinheit im Datenverteilungsserver gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
  • 6 ist ein Flussdiagramm, das einen Paketverteilungsprozess veranschaulicht, der von der Paketverteilungseinheit im Datenverteilungsserver gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
  • 7 ist ein detailliertes Funktionsblockdiagramm eines Verteilungspakets, das an eine Client-Vorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung verteilt wird.
  • 8 ist ein Flussdiagramm, das einen Zugriffskontroll-Ausführungsprozess veranschaulicht, der von der Client-Vorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
  • 9 ist ein Funktionsblockdiagramm, das auf einer Client-Vorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung realisiert wird, in welcher ein Zugriffskontrollmodul aktiviert ist.
  • 10 ist ein Diagramm, das den Fluss einer Dienstleistung darstellt, die im in 1 gezeigten Datenverarbeitungssystem unter einem Auftraggeber, einem Hauptauftragnehmer und einem Unterauftragnehmer durchgeführt wird.
  • 11 ist ein Funktionsblockdiagramm, das auf einem Datenverteilungsserver gemäß einer zweiten Ausführungsform der vorliegenden Erfindung realisiert wird.
  • 12 ist ein detailliertes Funktionsblockdiagramm eines Verteilungspakets, das an eine Client-Vorrichtung in der zweiten Ausführungsform der vorliegenden Erfindung verteilt wird.
  • 13 ist ein Flussdiagramm, das einen Zugriffskontroll-Ausführungsprozess veranschaulicht, der durch eine Client-Vorrichtung gemäß der zweiten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
  • Beschreibung von Ausführungsformen
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung erläutert. Die vorliegende Erfindung beschränkt sich nicht auf die Ausführungsformen, die weiter unten beschrieben werden. In den Ausführungsformen, die weiter unten beschrieben werden, wird als Beispiel einer Datenverteilungsvorrichtung ein Datenverteilungsserver beschrieben, der eine Serverfunktion des Bereitstellens von zu verteilenden Datenpaketen (nachstehend als Verteilungsdaten bezeichnet) und des Verteilens der Verteilungsdatenpakete realisiert.
  • 1 ist ein schematisches Diagramm eines Datenverarbeitungssystems mit einem Datenverteilungsserver nach einer ersten Ausführungsform der vorliegenden Erfindung. Ein Datenverarbeitungssystem 10 umfasst einen Datenverteilungsserver 20, der eine Serverfunktion des Verteilens paketierter Daten realisiert, und eine oder mehrere Client-Vorrichtungen 30, die über ein Netzwerk 12 mit dem Datenverteilungsserver 20 verbunden sind. Das Netzwerk 12 ist nicht besonders beschränkt. Das Netzwerk 12 schließt zum Beispiel LANs (lokale Netzwerke) mit TCP/IP und Ethernet®, VPNs (virtuelle Netze für geschlossene Benutzergruppen), WANs (Weitverkehrsnetze) mit Standleitungen und das Internet ein.
  • Zur Veranschaulichung ist das in 1 gezeigte Datenverarbeitungssystem 10 als ein Dienstleistungssystem zur Ausführung von allen Dienstleistungen konfiguriert, wobei die Datenübertragung zwischen den Client-Vorrichtungen 30 über den Datenverteilungsserver 20 erfolgt und lokale Operationen von den einzelnen Client-Vorrichtungen 30 durchgeführt werden. In 1 sind ein Auftraggeber-Endgerät 30a, das von einem Auftraggeber benutzt wird, der mithilfe von Verteilungsdaten einen Auftrag für eine Dienstleistung erteilt, ein Hauptauftragnehmer-Endgerät 30b und ein Unterauftragnehmer-Endgerät 30c als Client-Vorrichtungen 30 dargestellt. Das Hauptauftragnehmer-Endgerät 30b ist ein Endgerät, das von einem Hauptauftragnehmer benutzt wird, der eine übernommene Dienstleistung mithilfe von Verteilungsdaten einer Anfrage eines Auftraggebers entsprechend ausführt. Dagegen ist das Unterauftragnehmer-Endgerät 30c ein Endgerät, das von einem Unterauftragnehmer benutzt wird, der vom Hauptauftragnehmer, der die übernommene Dienstleistung der Anfrage vom Auftraggeber entsprechend ausführt, einen Teil der vom Hauptauftragnehmer übernommen Dienstleistung übernimmt.
  • Allgemein sind die Client-Vorrichtungen 30 als Universalcomputer wie z. B. Tower-, Desktop-, Laptop- oder Tablet-Personal Computer, Arbeitsstationen, Netbooks und PDAs (Personal Data Assistances) konfiguriert. Insbesondere umfasst jede Client-Vorrichtung 30 eine Zentraleinheit (CPU) wie z. B. einen Einzelkernprozessor oder einen Mehrkernprozessor, einen Cachespeicher, einen RAM, eine Netzwerkschnittstellenkarte (NIC), eine Speichereinheit und dergleichen. Jede Client-Vorrichtungen 30 wird unter der Steuerung eines geeigneten Betriebssystems (nachstehend als OS bezeichnet) wie z. B. Windows®, UNIX®, Linux®, Mac OS®, AIX® oder dergleichen betrieben. In dieser Ausführungsform wird bevorzugt ein OS in die Client-Vorrichtungen 30 geladen, das auf einer graphischen Benutzeroberfläche (nachstehend als GUI bezeichnet) basiert, die eine Desktop-Umgebung wie z. B. ein Windows-System bereitstellt. Jede Client-Vorrichtung 30 gemäß dieser Ausführungsform realisiert auch einen Webbrowser, der auf dem OS läuft.
  • Allgemein ist der Datenverteilungsserver 20 als ein Universalcomputer wie z. B. ein PC, eine Arbeitsstation, ein rackinstallierter Server oder Blade-Server, ein mittelgroßer Rechner, ein Großrechner oder dergleichen konfiguriert. Insbesondere umfasst der Datenverteilungsserver 20 eine CPU wie z. B. einen Einzelkernprozessor oder einen Mehrkernprozessor, einen Cachespeicher, einen RAM, eine Netzwerkschnittstellenkarte (NIC), eine Speichereinheit und dergleichen. Der Datenverteilungsserver 20 wird unter der Steuerung eines geeigneten OS wie z. B. Windows®, UNIX®, Linux® oder dergleichen betrieben.
  • Wenn er vom Auftraggeber-Endgerät 30a eine Registrierungsanforderung für Daten empfängt, die für eine in Auftrag gegebene Dienstleistung benötigt werden, registriert der Datenverteilungsserver 20 die für die Dienstleistung benötigten Daten, um sie an einen Auftragnehmer zu verteilen. Und wenn er vom Hauptauftragnehmer-Endgerät 30b oder vom Unterauftragnehmer-Endgerät 30c, das von einem Auftragnehmer benutzt wird, der eine in Auftrag gegebene Dienstleistung übernommen hat, eine Empfangsanforderung für Daten empfängt, führt der Datenverteilungsserver 20 die geeignete Benutzerauthentifizierung durch und verteilt die für die Dienstleistung benötigten Daten an das Endgerät. Falls der Hauptauftragnehmer einen Teil der übernommenen Dienstleistung an den Unterauftragnehmer vergibt, ist der Datenverteilungsserver 20 dementsprechend in der Lage, vom Hauptauftragnehmer-Endgerät 30b Verteilungsdaten oder einen Teil der oder sämtliche Sekundärdaten, die durch Verarbeitung der Verteilungsdaten generiert werden, zu empfangen und die empfangenen Daten an das Unterauftragnehmer-Endgerät 30c zu verteilen. Der Datenverteilungsserver 20 gemäß dieser Ausführungsform realisiert eine Funktion des Empfangens und Verteilens der oben beschriebenen Daten zum Beispiel als Webanwendung.
  • Die zu verteilenden Verteilungsdaten sind nicht besonders beschränkt. Die zu verteilenden Verteilungsdaten schließen Dateien in Universalformaten wie z. B. verschiedene Dateien ein, die von einer Textverarbeitung, einer Tabellenkalkulation, einem Zeichen-, Präsentationsprogramm, einem Datenbankverwaltungssystem und von verschiedenen Anwendungen verwendet werden, wie z. B. DTP (Desktop Publishing), numerische Analysesoftware, CAD, NC-Bearbeitung, CT (Computertomografie) und MRI (Magnetresonanztomografie), Textdateien, Dokumentdateien, Audiodateien, Videodateien und dergleichen. Darüber hinaus können die Verteilungsdaten eine Datei sein, die ein Abfrageergebnis enthält, das durch eine spezifische Abfrage aus einer Datenbank extrahiert wird, die mit dem Datenverteilungsserver 20 verbunden ist.
  • Verteilungsdatenpakete werden einer Empfangsanforderung für Verteilungsdaten von der Client-Vorrichtung 30 entsprechend vom Datenverteilungsserver 20 an die anfordernde Client-Vorrichtung 30 verteilt. Wenn Verteilungsdaten direkt als Datei an eine Client-Vorrichtung 30 verteilt werden, können die Verteilungsdaten normalerweise auf unabhängige Weise frei weitergegeben werden. Selbst, wenn eine Codierung der Verteilungsdaten durchgeführt werden kann, kann dies vom Standpunkt der Datensicherheit daher nicht wünschenswert sein, wenn die Verteilungsdaten vertrauliche Informationen enthalten. Unter solchen Umständen führt der Datenverteilungsserver 20 in dieser Ausführungsform, wie weiter unten beschrieben, die Verteilung durch, indem er einen Zugriffskontrollmechanismus einschließt, der die Zugriffskontrolle einer spezifischen Sicherheitsrichtlinie in einem Verteilungspaket entsprechend ausführt.
  • In dieser Ausführungsform liegt der in die Verteilungsdaten einzuschließende Zugriffskontrollmechanismus auf der Ebene zwischen einem OS und einer Anwendung und ist in der Lage, die Zugriffskontrolle mit feiner Auflösung, z. B. in Prozess-, Benutzer- und Dateieinheiten, dem Benutzerkontext entsprechend auf flexible Weise auszuführen. Der Zugriffskontrollmechanismus gemäß dieser Ausführungsform ist in der Lage, den Zugriff auf Ressourcen wie z. B. das Speichern und Drucken nicht erlaubter Daten, das Kopieren und Einfügen zwischen Prozessen über eine Zwischenablage während der Datenoperation und das Bildschirmkopieren durch Anzeigenausdruck zu verbieten. Im Folgenden wird die Datenverteilungsverarbeitung, die ein Verteilungspaket verwendet, das einen Zugriffskontrollmechanismus gemäß einer Ausführungsform der vorliegenden Erfindung enthält, ausführlicher erläutert.
  • 2 veranschaulicht einen Funktionsblock, der auf einem Datenverteilungsserver nach einer ersten Ausführungsform der vorliegenden Erfindung realisiert wird. Ein in 2 gezeigter Funktionsblock 100 des Datenverteilungsservers 20 umfasst eine Paketregistriereinheit 110, die zu verteilende Verteilungsdaten registriert, auf welche eine spezifische Sicherheitsrichtlinie angewandt wird, und eine Registrant-Datenbank 120, die eine Sicherheitsrichtlinie 122 und Verteilungsdaten 124 speichert, die von einem Registranten registriert werden.
  • Hier wird ein Benutzer, der Verteilungsdaten registriert, als „Registrant” bezeichnet, und ein Benutzer, der registrierte Verteilungsdaten empfängt, wird als „Empfänger” bezeichnet. Im Folgenden wird die Datenverteilungsverarbeitung zwischen dem Registranten und dem Empfänger erklärt. Das heißt, der Auftraggeber, der Hauptauftragnehmer und der Unterauftragnehmer, die auf 1 Bezug nehmend erläutert wurden, können jeder als Registrant oder Empfänger fungieren. In der folgenden Beschreibung meldet sich ein Benutzer des Datenverarbeitungssystems 10, außer bei besonderer anderslautender Angabe, im Datenverarbeitungssystem 10 an, indem er die Client-Vorrichtung 30 benutzt und eine spezifische Benutzerauthentifizierung durchgeführt wird.
  • Die Registrant-Datenbank 120 definiert eine Datenspeichereinheit gemäß dieser Ausführungsform und stellt einen Speicherbereich bereit, in welchem ein Benutzer, der als Registrant fungieren kann, Verteilungsdaten registriert. In der Registrant-Datenbank 120 werden zum Beispiel Datenbanken für einzelne Benutzer bereitgestellt.
  • Die registrantseitige Client-Vorrichtung 30 (nachstehend als Registrant-Endgerät 30A bezeichnet) überträgt eine Paketregistrierungsanforderung für Verteilungsdaten an den Datenverteilungsserver 20. Die Paketregistrierungsanforderung kann Verteilungsdaten, eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie (nachstehend wird eine Sicherheitsrichtlinie, die von einem Registranten spezifiziert wurde, als registrantspezifizierte Richtlinie bezeichnet) und Verteilungszielinformation einschließen, die ein Verteilungsziel beschreibt, an das die Verteilungsdaten verteilt werden dürfen.
  • Zum Beispiel wird das Hochladen von Verteilungsdaten über einen Webbrowser des Registrant-Endgeräts 30A spezifiziert. Die Verteilungsdaten werden aus einem lokalen Speicherbereich des Registrant-Endgeräts 30A gelesen und an den Datenverteilungsserver 20 übertragen. Dementsprechend werden Einzelpunkte für eine Sicherheitsrichtlinie über einen Webbrowser eingegeben. Die Eingabewerte der Einzelpunkte sind zum Beispiel als eine XML(eXtensible Markup Language)-Datei konfiguriert und werden an den Datenverteilungsserver 20 übertragen. Ein Upload-Formular mit einem Upload-Befehl für die Verteilungsdaten und eine GUI zum Festlegen einer Sicherheitsrichtlinie werden zum Beispiel als Webseite auf eine Weise bereitgestellt, die der Webbrowser des Registrant-Endgeräts 30A interpretieren kann.
  • Insbesondere umfasst die Paketregistriereinheit 110 einen Empfangsabschnitt für die Paketregistrierungsanforderung 112, der eine Paketregistrierungsanforderung empfängt, einen Daten-/Richtlinienerfassungsabschnitt 114 und einen Registrierungsverarbeitungsabschnitt 116. Der Daten-/Richtlinienerfassungsabschnitt 114 erfasst Verteilungsdaten, eine registrantspezifizierte Richtlinie und Verteilungszielinformation bezüglich einer Paketregistrierungsanforderung. Falls Verteilungsdaten bezüglich der Paketregistrierungsanforderung Sekundärdaten anderer Verteilungsdaten sind (hier Daten, die durch Verarbeitung der Verteilungsdaten generiert wurden), kann der Daten-/Richtlinienerfassungsabschnitt 114 auch eine Richtlinie erfassen, die für die ursprünglichen Verteilungsdaten spezifiziert wurde, und die erfasste Richtlinie und die registrantspezifizierte Richtlinie zusammenführen. Der Registrierungsverarbeitungsabschnitt 116 speichert die Verteilungsdaten 124, die registrantspezifizierte Richtlinie 122 und die Verteilungszielinformation, die erfasst wurden, in die Registrant-Datenbank 120 und registriert die zu verteilenden Verteilungsdaten.
  • Da in der Ausführungsform, die hier beschrieben wird, jeweils Verteilungsdaten, eine registrantspezifizierte Richtlinie und Verteilungszielinformation vom Registrant-Endgerät 30A an den Datenverteilungsserver 20 übertragen werden, empfängt der Daten-/Richtlinienerfassungsabschnitt 114 diese Daten, die zum Beispiel einem HTTP-Protokoll gemäß vom Registrant-Endgerät 30A übertragen werden. Ein Verfahren zum Spezifizieren der Verteilungsdaten, einer registrantspezifizierten Richtlinie und eines Verteilungsziels ist aber nicht besonders beschränkt.
  • In einer anderen Ausführungsform kann alles von den Verteilungsdaten, der registrantspezifizierten Richtlinie und dem Verteilungsziel oder eines von den Verteilungsdaten, der registrantspezifizierten Richtlinie und dem Verteilungsziel vorab im Datenverteilungsserver 20 gespeichert sein, und eine Kennung zur Identifizierung der Verteilungsdaten, der registrantspezifizierten Richtlinie oder der Verteilungszielinformation kann vom Registrant-Endgerät 30A an den Datenverteilungsserver 20 ausgegeben werden. In diesem Fall liest der Daten-/Richtlinienerfassungsabschnitt 114 die Daten, die durch die Kennung identifiziert werden, aus einem Speicherbereich, auf den der Datenverteilungsserver 20 zugreifen kann. In einer anderen Ausführungsform kann alles von den Verteilungsdaten, der registrantspezifizierten Richtlinie und dem Verteilungsziel oder eines von den Verteilungsdaten, der registrantspezifizierten Richtlinie und dem Verteilungsziel als Ressource in einem Netzwerk vorbereitet sein, und eine URI (Universal Resource Identifier), in der die Verteilungsdaten, die registrantspezifizierte Richtlinie oder die Verteilungszielinformation gespeichert ist, kann vom Registrant-Endgerät 30A an den Datenverteilungsserver 20 ausgegeben werden. In diesem Fall erfasst der Daten-/Richtlinienerfassungsabschnitt 114 die Daten aus einer Ressource, die durch die URI identifiziert wird.
  • Eine Sicherheitsrichtlinie definiert die Informationsflusskontrolle zwischen Prozessen in einem Computer und/oder zwischen Computern für die in einem Paket enthaltenen Verteilungsdaten. Hier definiert Informationsflusskontrolle einen Umfang, in welchem Information zwischen Prozessen in einem bestimmten Computer und zwischen miteinander verbundenen Computern weitergegeben werden kann. Zum Beispiel definiert eine Sicherheitsrichtlinie das Verbot oder die Erlaubnis, Verteilungsdaten oder Sekundärdaten der Verteilungsdaten zu lesen, Daten auf einen Wechseldatenträger zu speichern, Daten in einen ungeschützten Speicherbereich eines lokalen Laufwerks zu speichern, die Daten zu drucken, Daten in einem Zustand, in welchem sie geöffnet sind, über eine Zwischenablage zwischen Prozessen zu kopieren und einzufügen, den Bildschirm in einem Zustand, in welchem ein Fenster der Daten in einem aktiven Zustand ist, über eine Zwischenablage zu kopieren, und dergleichen.
  • 3 und 4 sind Diagramme, die die Datenstruktur einer Sicherheitsrichtlinie veranschaulichen, die in der ersten Ausführungsform der vorliegenden Erfindung verwendet wird. Obwohl das Format einer Sicherheitsrichtlinie nicht besonders eingeschränkt ist, veranschaulicht 3 eine Sicherheitsrichtlinie, die in einem XML-Format beschrieben ist. In 3 stellt ein Abschnitt zwischen Rule-Tags, der durch „Regel (Gruppe 1)” dargestellt wird, einen Richtliniensatz dar. Im Beispiel, das in 3 gezeigt wird, wird eine Richtlinie für einen „notepad” (Texteditor) beschrieben.
  • In einem Abschnitt zwischen Subjects-Tags wird durch Subject-Tags ein Gegenstand (Prozess) spezifiziert, auf den die Richtlinie angewandt wird. Im Beispiel von in 3 ist ein Prozess „notepad.exe” als Gegenstand spezifiziert. In einem Abschnitt zwischen Ressourcen-Tags wird durch Ressource-Tags eine Richtlinie für den Zugriff durch den Gegenstand (Prozess) auf eine Ressource beschrieben. Das Beispiel, das in 3 gezeigt wird, beschreibt, dass der Zugriff „Schreiben” auf eine Ressource „Zwischenablage”, der Zugriff „Druckbefehl” auf eine Ressource „Drucker”, der Zugriff „Schreiben” auf eine Ressource „Wechseldatenträger” durch den Prozess „notepad.exe” jeweils verboten ist. In einem Abschnitt zwischen Obligations-Tags wird durch Ressource-Tags eine Anforderung beschrieben, die nach Beendigung eines Prozesses oder während eines laufenden Prozesses erfüllt sein muss.
  • 4 veranschaulicht einen Abschnitt der Datenstruktur einer anderen Sicherheitsrichtlinie, die im XML-Format beschrieben ist. Im Beispiel, das in 4(A) gezeigt wird, wird eine Richtlinie für einen Dateimanager (Windows® Explorer) beschrieben, und ein Prozess „explorer.exe” ist als Gegenstand spezifiziert. In 4 stellt „%LDMROOT%” einen geschützten Ordner dar, in den ein Verteilungspaket geladen wird und der später beschrieben wird (nachstehend als geschützter Ordner bezeichnet). In einem Abschnitt zwischen Resources-Tags wird durch Resource-Tags eine Beschreibung gegeben, in der jeder (*.*) Zugriff „Schreiben und Lesen” auf eine Ressource „geschützter Ordner” durch den Prozess „explorer.exe” verboten ist. In einem anderen Beispiel kann eine Beschreibung vorgesehen sein, in welcher der Zugriff auf eine Datei mit einer bestimmten Dateinamenerweiterung oder auf eine bestimmte Datei in einem geschützten Ordner kontrolliert wird.
  • Im Beispiel, das in 4(B) gezeigt wird, wird eine Richtlinie für das Kopieren und Einfügen zwischen allen gewünschten Prozessen beschrieben. In einem Abschnitt zwischen Subjects-Tags wird durch einen AnySubject-Tag eine Richtlinie für einen gewünschten Prozess beschrieben. In einem Abschnitt zwischen Resources-Tags wird eine Beschreibung gegeben, in der das Lesen des Inhalts einer Zwischenablage, der von einem anderen Prozess geschrieben wurde, durch einen gewünschten Prozess verboten wird. In einem Abschnitt zwischen Obligations-Tags wird durch Resource-Tags eine Zwischenablage spezifiziert, und die Löschung der Zwischenablage nach der Beendigung wird durch ein Obligations-Tag erzwungen. Anforderungen, die nach Beendigung eines Prozesses oder während eines laufenden Prozesses erfüllt sein müssen, schließen auch das Erzwingen einer Protokollierung oder dergleichen ein.
  • Durch Verwenden der Sicherheitsrichtlinien, die in 3 und 4 veranschaulicht werden, wird der Zugriff auf eine Ressource durch einen auf der Client-Vorrichtung 30 ausgeführten Prozess kontrolliert. Als Ergebnis wird die Weitergabe von Daten zwischen Prozessen kontrolliert. Darüber hinaus wird die Weitergabe von Daten von der Client-Vorrichtung durch einen anderen Prozess wie z. B. einen Wechseldatenträger, einen ungeschützten Ordner, FTP (File Transfer Protocol) oder dergleichen an einen externen Computer kontrolliert. Zudem kann nach der direkten Verteilung an ein Verteilungsziel durch das Datenverteilungssystem auch die Weitergabe von Daten an einen externen Computer kontrolliert werden, indem in einer Sicherheitsrichtlinie für einen Prozess eines Webbrowsers ein Umfang von Verteilungsdaten und Sekundärdaten der Verteilungsdaten beschrieben wird, der von einem Verteilungsziel im Datenverteilungsserver 20 neu registriert werden kann. Auch wenn in 3 und 4 beispielhaft Sicherheitsrichtlinien gezeigt werden, die für Windows® verwendet werden, ist eine entsprechende Beschreibung auch für andere OS möglich.
  • Verteilungszielinformation schließt Information zur Identifizierung der Client-Vorrichtung 30 oder eines Benutzers ein, die als Verteilungsziel von Verteilungsdaten zulässig sind. Die Verteilungszielinformation kann zum Beispiel eine Benutzer-ID, die einen Benutzer identifiziert, für den die Verteilung erlaubt ist, eine Client-ID, die ein Client-Endgerät identifiziert, für das die Verteilung erlaubt ist, eine Gruppen-ID, die eine Gruppe von Benutzern oder Clients identifiziert, für welche die Verteilung erlaubt ist, eine einmalige Kennung (eine OS-Seriennummer, eine Maschinen-UUID (Universally Unique-IDentifier), eine Maschinenseriennummer usw.), die der Client-Vorrichtung 30, für welche die Verteilung erlaubt ist, einmalig zugewiesen ist, eine IP-Adresse, die der Client-Vorrichtung 30 zugewiesen ist, für welche die Verteilung erlaubt ist, eine MAC-Adresse, die einer NIC der Client-Vorrichtung 30 zugewiesen ist, für welche die Verteilung erlaubt ist, und den Bereich von IP-Adressen, die einer Client-Gruppe zugewiesen sind, für welche die Verteilung erlaubt ist, oder eine Kombination aus einigen der oben genannten Informationen einschließen.
  • Wieder auf 2 Bezug nehmend, wenn die Verteilungsdaten, eine registrantspezifizierte Richtlinie, und die Verteilungszielinformation in der Registrant-Datenbank 120 registriert sind, wird ein Verteilungspaket der Verteilungsdaten in einen Zustand versetzt, in dem die Verteilungsdaten verteilt werden können. Der Funktionsblock 100 des Datenverteilungsservers 20 umfasst außerdem eine Ausführungsmodul-Datenbank 130, die ein Zugriffskontroll-Ausführungsmodul (nachstehend auch als Ausführungsmodul bezeichnet) speichert, das in ein Verteilungspaket einzuschließen ist, und eine Paketverteilungseinheit 140, die als zu verteilend registrierte Verteilungsdaten und das Zugriffskontroll-Ausführungsmodul paketiert und die paketierten Datenpakete verteilt.
  • Das Zugriffskontroll-Ausführungsmodul ist ein Programm, um einen Zugriffskontrollmechanismus, der weiter unten beschrieben wird, auf einer Client-Vorrichtung zu realisieren, und um die Zugriffskontrolle auf der Client-Vorrichtung der oben beschriebenen Sicherheitsrichtlinie entsprechend auszuführen. Das Zugriffskontroll-Ausführungsmodul hängt vom Typ eines OS ab. Daher speichert die Ausführungsmodul-Datenbank 130 das Zugriffskontroll-Ausführungsmodul für jeden OS-Typ. Zugriffskontroll-Ausführungsmodule sind für spezifische OS wie zum Beispiel Windows® 132, Linux® 134, MAC OS® 136, AIX® 138 vorbereitet. Die Ausführungsmodul-Datenbank 130 definiert eine Programmspeichereinheit gemäß dieser Ausführungsform.
  • Die Client-Vorrichtung 30 auf einer Empfängerseite (nachstehend als Empfänger-Endgerät 30B bezeichnet) greift auf den Datenverteilungsserver 20 zu und überträgt eine Paketempfangsanforderung sowie eine Verteilungsdaten-ID, welche die gewünschten Verteilungsdaten identifiziert. Hier kann die Verteilungsdaten-ID mit verschiedenen Mitteln wie zum Beispiel per E-Mail von einem Registranten zu einem Empfänger übertragen werden. Ein Benutzer ist in der Lage, eine Paketempfangsanforderung mit der ID der gewünschten Verteilungsdaten an den Datenverteilungsserver 20 zu übertragen, indem er in der E-Mail auf einen direkten Link zu einer Webseite klickt, von der die Verteilungsdaten herunterzuladen sind. Alternativ dazu kann die Verteilungsdaten-ID so zu einem Empfänger übertragen werden, dass die Verteilungsdaten-ID auf einer Webseite enthalten ist, in welcher Verteilungsdaten aufgelistet sind, die vom Benutzer empfangen werden können. In diesem Fall ist der Benutzer in der Lage, eine Paketempfangsanforderung mit einer gewünschten Verteilungsdaten-ID an den Datenverteilungsserver 20 zu übertragen, indem er einzelne aufgelisteten Verteilungsdaten auswählt.
  • Insbesondere umfasst die Paketverteilungseinheit 140 einen Empfangsabschnitt für die Paketempfangsanforderung 142, der eine Paketempfangsanforderung empfängt, einen Umgebungserkennungsabschnitt 144, einen Abschnitt zur Bestimmung der angewandten Richtlinie 146, einen Paketierungsverarbeitungsabschnitt 148 und einen Übertragungsverarbeitungsabschnitt 150. Der Umgebungserkennungsabschnitt 144 erfasst Umgebungsinformation, in welcher der Typ eines OS beschrieben wird, das vom Empfänger-Endgerät 30B verwendet wird, das als Anforderungsquelle fungiert, und erkennt die Umgebung des Empfänger-Endgeräts 30B. Hier schließt die Umgebung des Empfänger-Endgeräts 30B den Typ eines OS ein, mit dem das Empfänger-Endgerät 30B konfiguriert ist, und schließt in einem weiteren Sinne die Gesamtheit einschließlich der Kombination aus Software wie z. B. ein OS, ein Browser und eine Anwendung und Hardware wie z. B. ein Laufwerk sowie einzelne Konfigurationszustände und Einstellungen ein.
  • Ein vom Empfänger-Endgerät 30B verwendetes OS kann leicht auf der Basis einer Kennung eines Benutzeragenten bestimmt werden, die zum Beispiel in einer HTTP-Anforderung gemeldet wird. Um abgesehen vom Typ eines OS die detaillierte Umgebung zu erkennen, kann im Empfänger-Endgerät 30B darüber hinaus ein Programm eines Applets oder dergleichen bereitgestellt werden, um mit Einwilligung des Benutzers Systeminformation der Client-Vorrichtung 30 zu sammeln und die Systeminformation an den Datenverteilungsserver 20 zu übertragen, und Umgebungsinformation kann mit dem Programm erfasst werden. In diesem Fall erfasst der Umgebungserkennungsabschnitt 144 vom Empfänger-Endgerät 30B Umgebungsinformation, in der Systeminformation des Empfänger-Endgeräts 30B beschrieben wird.
  • Die oben beschriebene Systeminformation kann Information zur Identifizierung eines Clients wie z. B. den Namen eines Computers, eine OS-Seriennummer, eine Maschinen-UUID und eine Maschinenseriennummer, das Laufwerk, auf dem das System installiert ist, die Laufwerksbezeichnung eines anderen Datenträgers, die Laufwerkkonfiguration eines Windows®-Verzeichnisses, eines Systemverzeichnisses, eines Programmverzeichnisses oder dergleichen, die Codierungsattribute eines Hauptordners, lokale Ressourceninformation wie z. B. einen lokalen Druckernamen und dergleichen umfassen. Information zur Identifizierung eines Clients kann zum Beispiel verwendet werden, wenn ein Client, für den die Verteilung erlaubt ist, eingeschränkt ist, oder wenn eine Maschine, durch die ein Verteilungspaket geladen werden kann, eingeschränkt ist. Die Laufwerkkonfiguration wird verwendet, wenn ein Pfad zum Erstellen eines geschützten Ordners bestimmt wird, in welchen Verteilungsdaten geladen werden. Die Codierungsattribute können verwendet werden, wenn zur Erzeugung eines geschützten Ordners bestimmt wird, ob die Codierung für eine Datei im geschützten Ordner separat durchgeführt werden soll oder nicht.
  • Der Abschnitt zur Bestimmung der angewandten Richtlinie 146 korrigiert eine registrantspezifizierte Richtlinie in der Registrant-Datenbank 120 auf geeignete Weise derart, dass die registrantspezifizierte Richtlinie an die vom Umgebungserkennungsabschnitt 144 erkannte Umgebung des Empfänger-Endgeräts 30B angepasst wird, und bestimmt eine Sicherheitsrichtlinie, die tatsächlich in ein Verteilungspaket aufgenommen wird (nachstehend als beim Empfänger angewandte Richtlinie bezeichnet). Als Korrektur zur Anpassung an die Umgebung des Empfänger-Endgeräts 30B werden der Pfad eines Ordners, in welchen die oben beschriebenen Verteilungsdaten geladen werden, der Dateiname eines Prozesses und die für ein OS spezifische Richtlinie korrigiert. Da zum Beispiel Windows®-Explorer der Dateimanager von Windows® ist, Finder UNIX® der Dateimanager von MAC OS® ist und Dolphin oder Natilus der Dateimanager von Linux® ist, kann die Information über einen Prozess, auf welchen eine Richtlinie angewandt wird, dem OS-Typ entsprechend korrigiert werden.
  • Der Paketierungsverarbeitungsabschnitt 148 erfasst Verteilungsdaten in der Registrant-Datenbank 120, eine beim Empfänger angewandte Richtlinie, die vom Abschnitt zur Bestimmung der angewandten Richtlinie 146 bestimmt wurde, und ein an die Umgebung angepasstes Zugriffskontroll-Ausführungsmodul in der Ausführungsmodul-Datenbank 130. Der Paketierungsverarbeitungsabschnitt 148 codiert bevorzugt mindestens die Verteilungsdaten und generiert paketierte Verteilungsdaten, die die Verteilungsdaten, die beim Empfänger angewandte Richtlinie und das Zugriffskontroll-Ausführungsmodul einschließen. Ein Verteilungspaket 160 wird zum Beispiel als eine Datei in einem Ausführungsformat bereitgestellt, das Verteilungsdaten 162, eine beim Empfänger angewandte Richtlinie 164 und ein Zugriffskontroll-Ausführungsmodul 166 enthält. Der Übertragungsverarbeitungsabschnitt 150 überträgt das generierte Verteilungspaket 160 an das Empfänger-Endgerät 30B, das als Empfangsanforderungsquelle für Verteilungsdaten fungiert.
  • Als Codierungsschlüssel, der zum Codieren von Verteilungsdaten in einem Verteilungspaket verwendet wird, kann zum Beispiel ein öffentlicher Schlüssel des persönlichen Zertifikats des Empfänger-Endgeräts 30B verwendet werden. Ein Verschlüsselungsschlüssel ist jedoch nicht besonders beschränkt. In dieser Ausführungsform kann ein gemeinsamer Schlüssel verwendet werden, der davor oder danach zwischen dem Datenverteilungsserver 20 und dem Empfänger-Endgerät 30B ausgetauscht wird. Überdies ist ein Verschlüsselungsverfahren nicht besonders beschränkt. Verschiedene Verschlüsselungsverfahren mit einem gemeinsamem Schlüssel und Verschlüsselungsverfahren mit einem öffentlichen Schlüssel können angewandt werden. Auch wenn in der hier beschriebenen Ausführungsform erklärt wurde, dass die Verteilungsdaten codiert werden, wenn sie vom Datenverteilungsserver 20 paketiert werden, können die Verteilungsdaten an sich in einer anderen Ausführungsform vom Registrant-Endgerät 30A codiert werden. In diesem Fall kann dementsprechend ein öffentlicher Schlüssel des Empfänger-Endgeräts 30B oder ein gemeinsamer Schlüssel verwendet werden, der davor oder danach zwischen dem Registrant-Endgerät 30A und dem Empfänger-Endgerät 30B ausgetauscht wird.
  • Der in 2 gezeigte Funktionsblock 100 des Datenverteilungsservers 20 wird realisiert, indem von einem computerlesbaren Speichermedium wie z. B. einer Festplatte ein Programm gelesen wird, das Programm in einen Speicher geladen wird, das Programm ausgeführt wird und der Betrieb der jeweiligen Hardwareressourcen gesteuert wird.
  • Im Folgenden werden eine Paketregistrierungsanforderung und die Verarbeitung für die Paketempfangsanforderung Bezug nehmend auf 5 und 6 ausführlicher beschrieben. 5 ist ein Flussdiagramm, das einen Paketregistrierungsprozess veranschaulicht, der von der Paketregistriereinheit im Datenverteilungsserver gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Der Prozess, der in 5 gezeigt wird, beginnt in Schritt S100 in Reaktion auf die Ausgabe einer Paketregistrierungsanforderung von der Client-Vorrichtung 30 an den Datenverteilungsserver 20.
  • In Schritt S101 empfängt die Paketregistriereinheit 110 eine von der Client-Vorrichtung 30 ausgegebene Paketregistrierungsanforderung. In Schritt S102 erfasst die Paketregistriereinheit 110 Verteilungsdaten, eine registrantspezifizierte Richtlinie und Verteilungszielinformation bezüglich der Anforderung. In Schritt S103 bestimmt die Paketregistriereinheit 110, ob eine zu übernehmende Richtlinie vorliegt oder nicht. Wenn hier festgestellt wird, dass Verteilungsdaten bezüglich der Anforderung Sekundärdaten anderer Verteilungsdaten sind, wird bestimmt, dass eine zu übernehmende Richtlinie vorliegt. Wenn in Schritt S103 bestimmt wird, dass eine zu übernehmende Richtlinie vorliegt (JA), geht der Prozess zu Schritt S104 über. In Schritt S104 erfasst die Paketregistriereinheit 110 eine Sicherheitsrichtlinie, die für die übergeordneten Verteilungsdaten spezifiziert ist, und führt die erfasste Sicherheitsrichtlinie und die registrantspezifizierte Richtlinie für die Registrierungsanforderung zusammen. Dann geht der Prozess zu Schritt S105 über. Andrerseits, wenn in Schritt S103 bestimmt wird, dass keine zu übernehmende Richtlinie vorliegt (NEIN), geht der Prozess direkt zu Schritt S105 über.
  • In Schritt S105 speichert die Paketregistriereinheit 110 die Verteilungsdaten, die registrantspezifizierte Richtlinie und die Verteilungszielinformation in der Registrant-Datenbank 120 und registriert ein zu verteilendes Verteilungspaket. In Schritt S106 sendet die Paketregistriereinheit 110 auf die Paketregistrierungsanforderung eine Bestätigungsantwort und meldet, dass die Paketregistrierungsverarbeitung erfolgreich abgeschlossen wurde.
  • 6 ist ein Flussdiagramm, das einen Paketverteilungsprozess veranschaulicht, der von einer Paketverteilungseinheit im Datenverteilungsserver gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Der Prozess, der in 6 gezeigt wird, startet in Schritt S200 in Reaktion auf die Ausgabe einer Paketempfangsanforderung von der Client-Vorrichtung 30 an den Datenverteilungsserver 20. In Schritt S201 empfängt die Paketverteilungseinheit 140 eine Paketempfangsanforderung von der Client-Vorrichtung 30. In Schritt S202 erfasst die Paketverteilungseinheit 140 Umgebungsinformation von der Client-Vorrichtung 30 einschließlich des Typs eines OS, der Laufwerksinformation und dergleichen und erkennt die Umgebung der Client-Vorrichtung 30.
  • In Schritt S203 bestimmt die Paketverteilungseinheit 140, ob die Verteilung an die Anforderungsquelle erlaubt ist oder nicht, indem sie sich auf Verteilungszielinformation in der Registrant-Datenbank 120 bezieht, die den Verteilungsdaten bezüglich der Empfangsanforderung zugeordnet ist. Wenn in Schritt S203 bestimmt wird, dass die Verteilung an die Anforderungsquelle nicht erlaubt ist (NEIN), zweigt der Prozess zu Schritt S207 ab, wo der Prozess beendet wird. Hier wird eine Anforderung von einem Benutzer oder einem Client, der die Bedingungen für die Verteilungserlaubnis in der Verteilungszielinformation nicht erfüllt, ausgeschlossen. Andernfalls, wenn in Schritt S203 bestimmt wird, dass die Verteilung zur Anforderungsquelle erlaubt ist (JA), geht der Prozess zu Schritt S204 über.
  • In Schritt S204 erfasst die Paketverteilungseinheit 140 eine registrantspezifizierte Richtlinie, die den Verteilungsdaten bezüglich der Empfangsanforderung zugeordnet ist, bestimmt der Umgebungsinformation entsprechend unter den ein oder mehreren Zugriffskontroll-Ausführungsmodulen, die in der Ausführungsmodul-Datenbank 130 gespeichert sind, ein Zugriffskontroll-Ausführungsmodul, das der Umgebung der Empfangsanforderungsquelle entspricht, und bestimmt eine beim Empfänger angewandte Richtlinie, indem sie die registrantspezifizierte Richtlinie an die Umgebung der Empfangsanforderungsquelle anpasst. In Schritt S205 erfasst die Paketverteilungseinheit 140 die Verteilungsdaten bezüglich der Empfangsanforderung, codiert die erfassten Verteilungsdaten und paketiert das bestimmte Ausführungsmodul, die codierten Verteilungsdaten und die bestimmte, beim Empfänger angewandte Richtlinie, um ein Verteilungspaket zu generieren. In Schritt S206 überträgt die Paketverteilungseinheit 140 das generierte Verteilungspaket an die Client-Vorrichtung 30, die als Empfangsanforderungsquelle fungiert. In Schritt S207 wird der Prozess beendet.
  • Im Folgenden wird die Verarbeitung erläutert, die vom Client durchgeführt wird, der ein Verteilungspaket empfängt. 7 ist ein Diagramm, das den detaillierten Funktionsblock eines Verteilungspakets veranschaulicht, das an die Client-Vorrichtung in der ersten Ausführungsform der vorliegenden Erfindung verteilt wird. Das Verteilungspaket, das in 7 gezeigt wird, enthält die Verteilungsdaten 162, die beim Empfänger angewandte Richtlinie 164 und das Zugriffskontroll-Ausführungsmodul 166. Insbesondere umfasst das Ausführungsmodul 166 Programmcode, um auf der Client-Vorrichtung 30 eine Zugriffskontrollmechanismus-Injektionseinheit 170, eine Einheit zur Erzeugung des geschützten Bereichs 172, eine Datenladeeinheit 174, eine Neupaketierungseinheit 176, eine Einheit zum Löschen des geschützten Bereichs 178 und einen Zugriffskontrollmechanismus 190 zu realisieren.
  • Der Zugriffskontrollmechanismus 190 ist als eine Bibliothek konfiguriert, die einen API(Anwendungsprogrammierschnittstelle)-Aufruf durch einen Prozess überwacht, der auf der Client-Vorrichtung 30 läuft, und die Zugriffskontrolle ausführt. Eine derartige Bibliothek wird als dynamische Verbindungsbibliothek (DLL), allgemeine Bibliothek oder gemeinsam genutzte Bibliothek bezeichnet. Die Zugriffskontrollmechanismus-Injektionseinheit 170 injiziert den Zugriffskontrollmechanismus 190 in einzelne Prozesse, die auf der Client-Vorrichtung 30 laufen, um den Zugriffskontrollmechanismus 190 zu betreiben. Nachdem er in die Prozesse injiziert worden ist, überwacht der Zugriffskontrollmechanismus 190 die Haupt-API-Aufrufe der Prozesse und kontrolliert den Zugriff auf Ressourcen durch die Prozesse Richtlinien für die einzelnen Prozesse entsprechend, die in einer beim Empfänger angewandten Richtlinie beschrieben sind.
  • Die Einheit zur Erzeugung des geschützten Bereichs 172 erzeugt auf einem lokalen Laufwerk der Client-Vorrichtung 30 einen Speicherbereich, in den Verteilungsdaten zu laden sind (nachstehend als geschützter Bereich bezeichnet). Hier bezieht sich der geschützte Bereich auf einen Speicherbereich, der durch Codierung derart geschützt ist, dass ein unerlaubter Zugriff ausgeschlossen ist. Der Zugriff auf den geschützten Bereich ist im Prinzip verboten, und nur ein Prozess des Zugriffskontroll-Ausführungsmoduls 166 und ein Prozess, der in einer beim Empfänger angewandten Richtlinie als Ausnahme erlaubt ist, kann auf erlaubte Weise auf den geschützten Bereich zugreifen. Der geschützte Bereich wird zum Beispiel als ein geschützter Ordner derart realisiert, dass für einen Unterordner des geschützten Ordners der gleiche Schutz gilt.
  • Die Datenladeeinheit 174 decodiert die im Verteilungspaket 160 enthaltenen Verteilungsdaten 162 und lädt die decodierten Verteilungsdaten 162 in den erzeugten geschützten Speicherbereich, damit der erlaubte Prozess auf die Verteilungsdaten 162 zugreifen kann. Als Schlüssel, der zum Decodieren verwendet werden, kann ein geheimer Schlüssel des persönlichen Zertifikats des Empfänger-Endgeräts 30B verwendet werden, falls ein öffentlicher Schlüssel für einen Verschlüsselungsschlüssel benutzt wird, und falls ein gemeinsamer Schlüssel benutzt wird, kann ein Schlüssel verwendet werden, der davor oder danach zwischen dem Registrant-Endgerät 30A und dem Empfänger-Endgerät 30B oder zwischen dem Datenverteilungsserver 20 und dem Empfänger-Endgerät 30B ausgetauscht wird.
  • Wenn eine lokale Operation abgeschlossen ist, codiert die Neupaketierungseinheit 176 lokale Daten in einem geschützten Bereich und paketiert die codierten lokalen Daten neu. Wenn die lokale Operation beendet ist und die Neupaketierung abgeschlossen ist, löscht die Einheit zum Löschen des geschützten Bereichs 178 die lokalen Daten im geschützten Bereich und eliminiert den geschützten Bereich selbst. Die Einheit zum Löschen des geschützten Bereichs 178 ist bevorzugt in der Lage, die lokalen Daten im geschützten Bereich komplett zu löschen, indem sie diese mit einem Zufallswert überschreibt. Dadurch werden die Spuren streng vertraulicher und der geladenen Daten vom lokalen Laufwerk der Client-Vorrichtung 30 gelöscht, wenn ein Prozess des Zugriffskontroll-Ausführungsmodul 166 beendet wird.
  • 8 ist ein Flussdiagramm, das einen Zugriffskontroll-Ausführungsprozess veranschaulicht, der von der Client-Vorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Im Folgenden wird ein Beispiel eines Prozesses in einer Windows®-Umgebung erläutert. Eine vergleichbare Verarbeitung kann aber auch für ein anderes OS durchgeführt werden. Der Prozess, der in 8 gezeigt wird, startet in Schritt S300 in Reaktion auf die Aktivierung des Verteilungspakets 160 (des Zugriffskontroll-Ausführungsmoduls 166 in einem Paket) auf der Client-Vorrichtung 30.
  • In Schritt S301 lädt das Zugriffskontroll-Ausführungsmodul 166 eine DLL, die den Zugriffskontrollmechanismus 190 realisiert, in einen temporären Ordner. In Schritt S302 listet das Zugriffskontroll-Ausführungsmodul 166 auf der Client-Vorrichtung 30 laufende Prozesse auf und injiziert die DLL des Zugriffskontrollmechanismus 190 in alle Prozesse (DLL-Injektion). Dadurch beginnt die injizierte DLL des Zugriffskontrollmechanismus 190, die Haupt-API-Aufrufe der Einzelprozesse zu überwachen, und die oben beschriebene Zugriffskontrolle wird in Prozesseinheiten ausgeführt.
  • In Schritt S303 erzeugt das Zugriffskontroll-Ausführungsmodul 166 einen geschützten Bereich (geschützter Ordner). In Schritt S304 lädt das Ausführungsmodul 166 die Verteilungsdaten 162 im Verteilungspaket 160 in den geschützten Bereich und aktiviert eine Anwendung zur Verarbeitung der Verteilungsdaten. Schritt S305 durchläuft eine Schleife, bis die Abbruchbedingungen in Schritt S305 erfüllt sind (während der Zeitperiode, in der die Bestimmung NEIN ergibt). Für das Verteilungspaket 160 kann Anwendungssoftware zum Editieren der Verteilungsdaten 162 im Paket spezifiziert sein. Der Zugriffskontrollmechanismus 190 wird betrieben, während die Anwendungen ausgeführt werden. Unter der oben beschriebenen Zugriffskontrolle in Prozesseinheiten werden Informationslecks verhindert. Andrerseits, wenn alle aktivierten Anwendungen beendet werden, wird bestimmt, ob Abbruchbedingungen erfüllt sind.
  • Wenn in Schritt S305 bestimmt wird, dass Abbruchbedingungen erfüllt sind (JA), geht der Prozess zu Schritt S306 über, wo das Zugriffskontroll-Ausführungsmodul 166 die lokalen Daten im geschützten Bereich neu paketiert. In Schritt S307 werden die lokalen Daten im geschützten Bereich gelöscht, und der geschützte Bereich wird eliminiert. In Schritt S308 wird der Prozess beendet. In der oben beschriebenen Ausführungsform wurde eine Erklärung gegeben, in der lokale Daten in einem geschützten Bereich neu paketiert werden. Im Fall von Nur Lesen-Verteilungsdaten oder dergleichen können die geladenen Daten jedoch ohne Durchführung einer Neupaketierung gelöscht werden.
  • Im Folgenden wird die Arbeitsweise des Zugriffskontrollmechanismus 190 Bezug nehmend auf 9 erklärt. 9 ist ein Diagramm, das einen Funktionsblock veranschaulicht, der auf der Client-Vorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung realisiert wird, in welcher das Zugriffskontroll-Ausführungsmodul aktiviert ist. Im Folgenden wird ein Beispiel eines Funktionsblocks in der Windows®-Umgebung erläutert.
  • Wie in 9 gezeigt, werden DLLs der Zugriffskontrollmechanismen 190 dem Betrieb des Zugriffskontroll-Ausführungsmoduls 166 gemäß in Prozesse 210 wie z. B. Anwendungsprogramme injiziert, die auf der Client-Vorrichtung 30 laufen. Die DLLs des Zugriffskontrollmechanismus 190 überwachen Haupt-API-Aufrufe der Prozesse und kontrollieren den Zugriff auf Ressourcen unterer Ebene wie z. B. die Datei 192, den Druck 194, eine Zwischenablage 196 und dergleichen der Richtlinie entsprechend.
  • Wenn in einer Sicherheitsrichtlinie eine Richtlinie beschrieben wird, die die Informationsflusskontrolle für ein auf das Verteilungsziel für Daten in einem Verteilungspaket folgendes Ziel beschreibt (zum Beispiel der Umfang der Daten, der weitergegeben werden darf), ist die DLL des Zugriffskontrollmechanismus 190 in der Lage, der Richtlinie entsprechend zu kontrollieren, ob eine Registrierungsanforderung, in der Verteilungsdaten im geschützten Bereich oder ein Teil der oder sämtliche Sekundärdaten der Verteilungsdaten als Verteilungsdaten dienen, vom oben beschriebenen Mechanismus zur Überwachung von API-Aufrufen zugelassen werden soll oder nicht. Die Erlaubnis oder Nichterlaubnis der Registrierungsanforderung kann kontrolliert werden, indem eine Upload-Operation durch einen Browser erlaubt oder verboten wird. Eine Sicherheitsrichtlinie, die einen Umfang von Daten definiert, die weitergegeben werden dürfen, kann zum Beispiel eine Beschreibung enthalten, in der eine Upload-Operation durch einen Browser im Prinzip verboten ist und das Lesen von Verteilungsdaten oder eines Teils der oder sämtlicher Sekundärdaten der Verteilungsdaten als Ausnahme für eine Upload-Ziel-URL erlaubt ist, die spezifische Bedingungen erfüllt.
  • Als Haupt-API in der Windows®-Umgebung kann zum Beispiel eine Win32API-Funktion wie z. B. CreateFile, DeleteFile, CopyFile, StartDoc, SetClipboardData, GetClipboardData oder CreateProcess verwendet werden, die in DLLs 202a bis 202c eingeschlossen sind, wie z. B. GDI32.dII, User32.dII und Kernel32.dII, die im Sekundärsystem 200 vorgesehen sind. Zudem ist der Zugriffskontrollmechanismus 190 in der Lage, einen Methodenaufruf einer spezifischen COM(Component Object Model)-Schnittstelle 204a zu überwachen und den Zugriff auf eine Ressource hoher Ebene zu kontrollieren.
  • Die beim Empfänger angewandte Richtlinie 164, die im Verteilungspaket 160 enthalten ist, wird als Richtlinienverwaltungstabelle 230 in einen Speicher geladen, und die DLL des Zugriffskontrollmechanismus 190 führt die Zugriffskontrolle aus, indem sie sich auf die Richtlinienverwaltungstabelle 230 bezieht. Zum Beispiel ruft das Anwendungsprogramm 210 die API der DLL 202 auf, um auf Daten 222 in einem geschützten Bereich 220 zuzugreifen. Der Zugriffskontrollmechanismus 190 bestimmt dem Eintrag in der Richtlinienverwaltungstabelle entsprechend, ob er den API-Aufruf zulässt oder nicht. Die Richtlinienverwaltungstabelle kann aus statischen Daten bestehen. Um einen Status eines Fensters und eines Prozesses in Echtzeit zu reflektieren, kann ein Verwaltungsmechanismus (nicht gezeigt) zur Rückführung aufgezeichneter API- und COM-Aufrufe und einer Meldung von einem OS an eine Anwendung jedoch bevorzugt so bereitgestellt werden, dass die Richtlinienverwaltungstabelle 230 den Benutzerbetriebsbedingungen entsprechend dynamisch aktualisierbar ist.
  • Wenn zum Beispiel das Bildschirmkopieren verboten ist, ist die Frage wichtig, ob ein Fenster, das eine Datei einer zu schützenden Anwendung anzeigt, auf dem Bildschirm sichtbar ist oder nicht. Um den aktiven Status und Sichtbarkeitsstatus des Fensters zu bestimmen, ist der Verwaltungsmechanismus in der Lage, die Richtlinienverwaltungstabelle 230 in einem Speicher durch Überwachen einer Fenstermeldung wie z. B. WM_CREATE dynamisch zu aktualisieren, Information wie z. B. einem Fensterklassennamen, einem Titelnamen, und einem Fensterattribut entsprechend zu bestimmen, welche Datei angezeigt wird und welche Datei aktiviert ist, und ein Ereignis zu erkennen.
  • Für den oben beschriebenen dynamischen Zugriffskontrollmechanismus im Kontext einer GUI wird für mehr Details auf Sanehiro Furuichi und Michiharu Kudo, „GUI beesu no conpyuta ni tekishita akusesu seigyo porishi kanri houhou no teian (Zugriffskontrollrichtlinienverwaltung für Computer mit grafischer Benutzeroberfläche)”, Journal of Information Processing Society of Japan, Vol. 49, No. 9, S. 1–11 (September 2008) verwiesen. Der oben beschriebene Zugriffskontrollmechanismus 190 basiert auf der Binärinterzeption für eine Haupt-API und eine COM-Schnittstelle. Eine vergleichbare Anwendung kann jedoch für auch andere OS-Umgebungen als Windows® wie z. B. UNIX® oder MAC OS® geschaffen werden.
  • Im Folgenden wird Bezug nehmend auf 10 die Verwendungsweise einer Datenverteilungsfunktion durch den Datenverteilungsserver 20 gemäß dieser Ausführungsform erläutert. 10 ist ein Diagramm, das den Fluss einer Dienstleistung veranschaulicht, die unter einem Auftraggeber, einem Hauptauftragnehmer und einem Unterauftragnehmer im Datenverarbeitungssystem 10 durchgeführt wird, das Bezug nehmend auf 1 erläutert wurde. Zuerst überträgt das Auftraggeber-Endgerät 30a, das als Registrant-Endgerät fungiert, an den Datenverteilungsserver 20 eine Paketregistrierungsanforderung, in der als Verteilungsziel ein spezifischer Hauptauftragnehmer spezifiziert ist. Der Datenverteilungsserver 20 empfängt vom Auftraggeber-Endgerät 30a Verteilungszielinformation, Auftragnehmer-Daten, eine Auftragnehmer-Richtlinie und speichert die Verteilungszielinformation, die Auftragnehmer-Daten und die Auftragnehmer-Richtlinie, die empfangen wurden, in eine Auftraggeber-Datenbank 120A. Dadurch werden die Auftragnehmer-Daten registriert, um verteilt zu werden.
  • Unterdessen überträgt das Hauptauftragnehmer-Endgerät 30b, das als Empfänger-Endgerät fungiert, eine Paketempfangsanforderung für Auftragnehmer-Daten an den Datenverteilungsserver 20. In Reaktion auf die Empfangsanforderung überträgt der Datenverteilungsserver 20 an das Hauptauftragnehmer-Endgerät 30b ein Hauptauftragnehmer-Verteilungspaket 160A, das die Auftragnehmer-Daten, die Auftragnehmer-Richtlinie und ein Ausführungsmodul enthält. Dann werden die im Hauptauftragnehmer-Verteilungspaket 160A enthaltenen Auftragnehmer-Daten in das Hauptauftragnehmer-Endgerät 30b geladen, und eine lokale Operation für die Auftragnehmer-Daten wird unter der Kontrolle eines Zugriffskontrollmechanismus durchgeführt.
  • Falls das Hauptauftragnehmer-Endgerät 30b einen Teil der übernommenen Dienstleistung an einen Unterauftragnehmer vergibt, überträgt das Hauptauftragnehmer-Endgerät 30b, das als Registrant-Endgerät fungiert, an den Datenverteilungsserver 20 mindestens den erlaubten Teil der Auftragnehmer-Daten im geschützten Bereich (nachstehend als Unterauftragnehmer-Daten bezeichnet) und eine Zusatzrichtlinie, die zusätzlich auf die Daten angewandt wird, die vom Hauptauftragnehmer an den Unterauftragnehmer gesendet werden, und überträgt eine Paketregistrierungsanforderung, in welcher ein Verteilungsziel auf einen spezifischen Unterauftragnehmer festgelegt ist. In diesem Fall wird eine Unterauftragnehmer-Richtlinie derart konfiguriert, dass eine registrantspezifizierte Richtlinie für die ursprünglichen Auftragnehmer-Daten übernommen wird.
  • Daten, die von einem Hauptauftragnehmer an einen Unterauftragnehmer weitergegeben werden dürfen, können in einer Auftragnehmer-Richtlinie beschrieben sein, die von einem Auftraggeber spezifiziert wird, der die Originalquelle darstellt. Zum Beispiel kann die Auftragnehmer-Richtlinie eine Beschreibung enthalten, in der das Lesen einer Datei, die weitergegeben werden kann, ausnahmsweise für eine Upload-Ziel-URL zur Weitergabe erlaubt ist. Wie oben beschrieben, ist ein Auftraggeber in dieser Ausführungsform in der Lage, die Informationsflusskontrolle für auf den Hauptauftragnehmer folgende Auftragnehmer festzulegen.
  • Das Unterauftragnehmer-Endgerät 30c, das einen Teil einer Dienstleistung eines Hauptauftragnehmers übernimmt, fungiert als Empfänger-Endgerät. Das Unterauftragnehmer-Endgerät 30c überträgt eine Paketempfangsanforderung für Unterauftragnehmer-Daten an den Datenverteilungsserver 20, erfasst ein Sekundärempfänger-Verteilungspaket 160B, das Unterauftragnehmer-Daten, eine Unterauftragnehmer-Richtlinie und ein Ausführungsmodul enthält, und führt eine lokale Operation für die Unterauftragnehmer-Daten durch.
  • Wenn Daten nach der Operation zur Auftragsquelle zurückgesendet werden sollen, überträgt das Unterauftragnehmer-Endgerät 30c, das als Empfänger-Endgerät fungiert, an den Datenverteilungsserver 20 ein Verteilungspaket, das nach Abschluss der Operation neu paketiert wird, und überträgt eine Anforderung, das Paket an den Hauptauftragnehmer zurückzusenden. Das Hauptauftragnehmer-Endgerät 30b, das als Registrant-Endgerät fungiert, empfängt vom Datenverteilungsserver 20 das Verteilungspaket, das vom Unterauftragnehmer zurückgesendet wird. Dementsprechend überträgt das Hauptauftragnehmer-Endgerät 30b, das als Empfänger-Endgerät fungiert, an den Datenverteilungsserver 20 eine Anforderung, das Paket an den Auftraggeber zurückzusenden. Das Auftraggeber-Endgerät 30a, das als Registrant-Endgerät fungiert, empfängt vom Datenverteilungsserver 20 das Verteilungspaket, das vom Hauptauftragnehmer zurückgesendet wird.
  • Der oben beschriebenen ersten Ausführungsform der vorliegenden Erfindung gemäß erlegt ein Registrant von Verteilungsdaten der Betriebsumgebung eines Verteilungsziels eine spezifische Sicherheitsrichtlinie auf, und die Verteilungsdaten können an das Verteilungsziel gesendet werden. Die Verteilungsdaten werden unter der lokalen Umgebung des Verteilungsziels gespeichert. Für Verteilungsdaten, die unter der lokalen Umgebung vorliegen, wird der Zugriff auf eine Ressource durch einen laufenden Prozess mit dem oben beschriebenen Zugriffskontrollmechanismus einer Sicherheitsrichtlinie entsprechend kontrolliert, und der Umfang, in welchem die Verteilungsdaten weitergegeben werden können, ist einschränkt. Dadurch können zum Beispiel Informationslecks durch unabsichtliche Datenfreigabe nach der Bereitstellung authentifizierter Information an einen Geschäftspartner, das heißt, Sekundärlecks verhindert werden. Nachdem eine Operation in einer lokalen Umgebung abgeschlossen wurde, können die Daten überdies aus der lokalen Umgebung gelöscht werden oder nach der Löschung zurückgesendet werden.
  • Da der Datenverteilungsserver 20 darüber hinaus die Umgebung eines Verteilungsziels erkennt und ein Paket verteilt, das ein geeignetes Zugriffskontroll-Ausführungsmodul enthält, kann die Betriebseffizienz erhöht werden, ohne dass ein Registrant sich um ein Paketierungsverfahren für die Daten zu kümmern hat. Der oben beschriebenen Ausführungsform gemäß besteht zudem keine Notwendigkeit, an einem Verteilungsziel obligatorisch eine spezielle Kontrollsoftware einzuführen und einzurichten. Da ein Verfahren zur Realisierung der Zugriffskontrolle verwendet wird, das eine Bibliothek in einen laufenden Prozess injiziert, kann das oben beschriebene Zugriffskontroll-Ausführungsmodul im Prinzip auf verschiedene Daten und verschiedene Anwendungen angewandt werden.
  • Da in der oben beschriebenen Ausführungsform zudem auch eine spezifische Sicherheitsrichtlinie für die auf ein Verteilungsziel folgende Informationsflusskontrolle auferlegt werden kann, kann zum Beispiel der Umfang der Daten, die von einem Auftraggeber weitergegeben werden können, von einem Auftraggeber eingeschränkt werden, der die ursprüngliche Quelle darstellt. Dadurch können Informationslecks von einem Unterunterauftragnehmer und von einem Unterunterunterauftragnehmer auf geeignete Weise verhindert werden.
  • Es ist wünschenswert, dass vertrauliche Information, die in einem lokalen Endgerät eines Auftragnehmers gespeichert ist, insbesondere nach Ablauf der Vertragslaufzeit gelöscht wird oder unbrauchbar wird. Im Folgenden wird eine zweite Ausführungsform erläutert, in welcher die Gültigkeitsdauer für ein Verteilungspaket festgelegt wird und die Verteilungsdaten im Verteilungspaket unbrauchbar werden, wenn die Gültigkeitsdauer abgelaufen ist. Da der Datenverteilungsserver 20 gemäß der zweiten Ausführungsform eine Konfiguration hat, die mit der der ersten Ausführungsform vergleichbar ist, werden nur die Punkte erläutert, die von der ersten Ausführungsform abweichen. Ferner werden Funktionseinheiten, deren Funktionen denen in der ersten Ausführungsform gleichen, mit denselben Bezugszeichen bezeichnet.
  • 11 ist ein Funktionsblockdiagramm, das in einem Datenverteilungsserver gemäß der zweiten Ausführungsform der vorliegenden Erfindung realisiert wird. Der Funktionsblock 100 des Datenverteilungsservers 20, der in 11 gezeigt wird, enthält die Paketregistriereinheit 110 und die Registrant-Datenbank 120.
  • Das Registrant-Endgerät 30A überträgt an den Datenverteilungsserver 20 eine Paketregistrierungsanforderung für Verteilungsdaten. Die Paketregistrierungsanforderung schließt die für die Verteilungsdaten festgelegte Gültigkeitsdauer sowie die Verteilungsdaten, eine registrantspezifizierte Richtlinie und Verteilungszielinformation ein. Die Gültigkeitsdauer wird ähnlich wie eine Sicherheitsrichtlinie über einen Webbrowser eingegeben, und die Werte der jeweiligen Eingabepunkte werden zum Beispiel zusammen mit der Sicherheitsrichtlinie an den Datenverteilungsserver 20 übertragen. Eine GUI zur Festlegung der Gültigkeitsdauer wird zum Beispiel als eine Webseite auf eine Weise bereitgestellt, die der Webbrowser des Registrant-Endgeräts 30A interpretieren kann.
  • Die Paketregistriereinheit 110 empfängt die Paketregistrierungsanforderung, die vom Registrant-Endgerät 30A übertragen wurde, erfasst die Verteilungsdaten, die registrantspezifizierte Richtlinie sowie die Verteilungszielinformation und die Gültigkeitsdauer bezüglich der Anforderung, und erfasst eine zu übernehmende Richtlinie auf geeignete Weise. Die Paketregistriereinheit 110 gemäß dieser Ausführungsform erfasst auch einen Verschlüsselungsschlüssel, der zum Verschlüsseln des Verteilungspakets verwendet wird. Der Verschlüsselungsschlüssel ist nicht besonders beschränkt. Der Verschlüsselungsschlüssel kann jedoch auch vom Datenverteilungsserver 20 generiert werden oder zusammen mit der Paketregistrierungsanforderung vom Registrant-Endgerät 30A übertragen werden. Die Paketregistriereinheit 110 stellt die Gültigkeitsdauer für den Verschlüsselungsschlüssel ein, speichert die Verteilungszielinformation, die registrantspezifizierte Richtlinie 122, die Verteilungsdaten 124 und einen zeitlich begrenzten Verschlüsselungsschlüssel 126 in der Registrant-Datenbank 120 und registriert die zu verteilenden Verteilungsdaten.
  • Der Funktionsblock 100 des Datenverteilungsservers 20 enthält außerdem die Ausführungsmodul-Datenbank 130 und die Paketverteilungseinheit 140. Insbesondere umfasst die Paketverteilungseinheit 140 gemäß dieser Ausführungsform den Empfangsabschnitt für die Paketempfangsanforderung 142, den Umgebungserkennungsabschnitt 144, den Abschnitt zur Bestimmung der angewandten Richtlinie 146, den Paketierungsverarbeitungsabschnitt 148, den Übertragungsverarbeitungsabschnitt 150 und einen Verschlüsselungsschlüssel-Verteilungsabschnitt 152.
  • Der Paketierungsverarbeitungsabschnitt 148 codiert mindestens Verteilungsdaten und generiert ein Verteilungsdatenpaket, das die codierten Verteilungsdaten, eine beim Empfänger angewandte Richtlinie und ein Zugriffskontroll-Ausführungsmodul enthält. Der Übertragungsverarbeitungsabschnitt 150 überträgt das generierte Verteilungspaket 160 an das Empfänger-Endgerät 30B, das eine Empfangsanforderungsquelle für die Verteilungsdaten darstellt. Der Verschlüsselungsschlüssel-Verteilungsabschnitt 152 liest in Reaktion auf eine Schlüsselerfassungsanforderung vom Zugriffskontroll-Ausführungsmodul 166, das auf dem Empfänger-Endgerät 30 aktiviert wurde, einen entsprechenden zeitlich begrenzten Verschlüsselungsschlüssel aus der Registrant-Datenbank 120 und stellt dem Empfänger-Endgerät 30B den Verschlüsselungsschlüssel bereit, wenn die Gültigkeitsdauer nicht abgelaufen ist. Wenn die Gültigkeitsdauer abgelaufen ist, wird die Bereitstellung des Verschlüsselungsschlüssels beendet.
  • Im Folgenden wird die Verarbeitung durch eine Client-Seite erläutert, die ein Verteilungspaket gemäß der zweiten Ausführungsform empfängt. 12 ist ein Diagramm, das den detaillierten Funktionsblock eines Verteilungspakets zeigt, das an eine Client-Vorrichtung gemäß der zweiten Ausführungsform der vorliegenden Erfindung verteilt wird. Der ersten Ausführungsform entsprechend enthält das Verteilungspaket, das in 12 gezeigt wird, das Zugriffskontroll-Ausführungsmodul 166, die Verteilungsdaten 162, und die beim Empfänger angewandte Richtlinie 164.
  • Das Ausführungsmodul 166 gemäß der zweiten Ausführungsform schließt Programmcode zur Realisierung der Zugriffskontrollmechanismus-Injektionseinheit 170, der Einheit zur Erzeugung des geschützten Bereichs 172, der Datenladeeinheit 174, der Neupaketierungseinheit 176, der Einheit zum Löschen des geschützten Bereichs 178, des Zugriffskontrollmechanismus 190, einer Schlüsselerfassungseinheit 180 und einer Einheit zum Löschen der geladenen Daten 182 ein.
  • Die Schlüsselerfassungseinheit 180 ist eine Funktionseinheit, die mit dem Datenverteilungsserver 20 kommuniziert, um einen zeitlich begrenzten Verschlüsselungsschlüssel zu erfassen. Die Datenladeeinheit 174 decodiert die Verteilungsdaten im Verteilungspaket 160 mithilfe des erfassten Verschlüsselungsschlüssels und lädt die decodierten Verteilungsdaten in den erzeugten geschützten Bereich. Die Einheit zum Löschen der geladenen Daten 182 löscht die Daten, die in den geschützten Bereich geladen wurden, regelmäßig oder unregelmäßig. Beim Löschen der geladenen Daten erfasst die Schlüsselerfassungseinheit 180 erneut einen Verschlüsselungsschlüssel vom Datenverteilungsserver 20, und die Datenladeeinheit 174 decodiert die Daten im Verteilungspaket 160 erneut mit dem erfassten Verschlüsselungsschlüssel und lädt die Daten in den geschützten Bereich. Die Schlüsselerfassungseinheit 180, die Datenladeeinheit 174 und die Einheit zum Löschen der geladenen Daten 182 definieren eine Gültigkeitsablaufverarbeitungseinheit dieser Ausführungsform.
  • 13 ist ein Flussdiagramm, das den Zugriffskontroll-Ausführungsprozess veranschaulicht, der von einer Client-Vorrichtung gemäß der zweiten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Der Prozess, der in 13 gezeigt wird, startet in Schritt S400 in Reaktion auf die Aktivierung des Verteilungspakets 160 (des Zugriffskontroll-Ausführungsmoduls 166) auf der Client-Vorrichtung 30.
  • In Schritt S401 lädt das Ausführungsmodul 166 eine DLL, die den Zugriffskontrollmechanismus 190 realisiert, in einen temporären Ordner. In Schritt S402 listet das Ausführungsmodul 166 auf der Client-Vorrichtung 30 laufende Prozesse auf und injiziert die DLL des Zugriffskontrollmechanismus 190 in alle Prozesse. In Schritt S403 erzeugt das Ausführungsmodul 166 einen geschützten Bereich. In Schritt S404 kommuniziert das Ausführungsmodul 166 mit dem Datenverteilungsserver 20 und versucht, einen zeitlich begrenzten Verschlüsselungsschlüssel zu erfassen.
  • In Schritt S405 bestimmt das Ausführungsmodul 166, ob die Erfassung des Schlüssels erfolgreich war oder nicht. Wenn in Schritt S405 bestimmt wird, dass die Erfassung des Schlüssels fehlgeschlagen ist (NEIN), zweigt der Prozess zu Schritt S412 ab, und der Prozess wird beendet. Andrerseits, wenn in Schritt S405 bestimmt wird, dass die Erfassung des Schlüssels erfolgreich war (JA), zweigt der Prozess zu Schritt S406 ab.
  • In Schritt S406 lädt das Ausführungsmodul 166 die Verteilungsdaten 162 im Verteilungspaket 160 in den geschützten Bereich und aktiviert eine Anwendung. In Schritt S407 bestimmt das Ausführungsmodul 166 zum Beispiel, ob eine bestimmte Zeitperiode abgelaufen ist oder nicht. Wenn in Schritt S407 bestimmt wird, dass die bestimmte Zeitperiode nicht abgelaufen ist (NEIN), geht der Prozess zu Schritt S409 über, und eine Schleife zu Schritt S407 wird wiederholt, bis die Abbruchbedingungen erfüllt sind (während der Zeit, in der die Bestimmung in Schritt S409 NEIN ergibt). Andrerseits, wenn in Schritt S407 bestimmt wird, dass die bestimmte Zeitperiode abgelaufen ist (JA), geht der Prozess zu Schritt S408 über. In Schritt S408 löscht das Ausführungsmodul 166 die Daten im geschützten Bereich ein Mal, und der Prozess tritt in eine Schleife zu Schritt S404 ein.
  • Andrerseits, wenn in Schritt S409 bestimmt wird, dass die Abbruchbedingungen erfüllt sind (JA), geht der Prozess zu Schritt S410 über, wo das Ausführungsmodul 166 die Daten im geschützten Bereich neu paketiert. In Schritt S411 eliminiert das Ausführungsmodul 166 den geschützten Bereich. In Schritt S412 wird der Prozess beendet.
  • Durch die Schleife der oben beschriebenen Schritte S404 bis S409 wird die Löschung der Daten im geschützten Bereich, die erneute Erfassung des Schlüssels und das erneute Laden regelmäßig wiederholt, und nachdem die Gültigkeitsdauer des Schlüssels abgelaufen ist, kann der Schlüssel nicht erfasst werden. Nach Ablauf der Gültigkeitsdauer können die Daten im Verteilungspaket daher nicht verwendet werden. In der zweiten Ausführungsform, die oben beschrieben wurde, wurde eine Beschreibung gegeben, in welcher die geladenen Daten gelöscht werden. Im Fall überschreibbarer Verteilungsdaten kann jedoch eine Konfiguration verwendet werden, in der eine Differenz zwischen den aktuellen lokalen Daten im geschützten Bereich und den Verteilungsdaten zur Zeit der Verteilung des Verteilungspakets in einen anderen Speicherbereich gespeichert wird, statt die Daten zu löschen.
  • In der zweiten Ausführungsform, die oben beschrieben wurde, kann die Einschränkung derart durchgeführt werden, dass Verteilungsdaten nicht verwendet werden können. Daher können zum Beispiel vertrauliche Daten, die in einem lokalen Endgerät eines Auftragnehmers gespeichert sind, unbrauchbar gemacht werden, sobald die Laufzeit eines Vertrags abgelaufen ist. Dadurch kann die unbefugte Verwendung oder Preisgabe von Information nach Ablauf der Vertragslaufzeit verhindert werden.
  • Wie oben beschrieben, wird den oben beschriebenen Ausführungsformen gemäß die Datenverteilung in Form eines Verteilungspakets durchgeführt, das einen Zugriffskontrollmechanismus enthält, der die Zugriffskontrolle für Verteilungsdaten ausführt. Dadurch können eine Datenverteilungsvorrichtung und ein Datenverteilungssystem bereitgestellt werden, die in der Lage sind, den Informationsfluss von Daten zu kontrollieren, und zusätzlich in der Lage sind, Informationslecks von einem Verteilungsziel zu verhindern, ohne der Einsatzumgebung des Verteilungsziels Einschränkungen aufzuerlegen und ohne das Verteilungsziel mit einer übermäßigen Arbeitslast zu belegen. Den oben beschriebenen Ausführungsformen gemäß kann darüber hinaus eine Client-Vorrichtung, die ein Verteilungspaket von der Datenverteilungsvorrichtung oder vom Datenverteilungssystem empfängt, ein Datenverteilungsverfahren, das von der Datenverteilungsvorrichtung durchgeführt wird, ein Datenempfangsverfahren, das von der Client-Vorrichtung durchgeführt wird, ein Programm zur Realisierung der Datenverteilungsvorrichtung und ein Datenträger zum Speichern des Programms bereitgestellt werden.
  • In den oben beschriebenen Ausführungsformen wurden als Einzelcomputer konfigurierte Beispiele des Datenverteilungsservers 20 erläutert. Doch in einer anderen Ausführungsform kann eine Konfiguration verwendet werden, in der die Datenverteilungsfunktion als Cloud-Dienst auf einem Computersystem mit einer Vielzahl von Computern realisiert wird.
  • In den oben beschriebenen Ausführungsformen wurde eine Beschreibung gegeben, in welcher registrierte Verteilungsdaten in Reaktion auf eine Empfangsanforderung vom Empfänger-Endgerät 306 als ein Verteilungspaket verteilt werden. Da aber davon ausgegangen wird, dass Unterauftragnehmer in Fertigungsindustrien in einer Umgebung sind, in welcher die Verbindung zum Internet nicht möglich ist, kann es wünschenswert sein, ein Verfahren vorzusehen, um ein Verteilungspaket über einen physikalischen Datenträger bereitzustellen. Daher kann ein Registrant in einer anderen Ausführungsform vom Datenverteilungsserver 20 ein paketiertes Verteilungspaket erfassen, und das erfasste Verteilungspaket kann auf einen Datenträger wie z. B. eine CD-R, einen USB-Flashspeicher oder eine SD-Karte geschrieben werden. In diesem Fall kann ein Verteilungspaket, auf welches eine Sicherheitsrichtlinie angewandt wird, an einem gewünschten Ziel bereitgestellt werden, indem solch ein Datenträger per Post oder dergleichen zugestellt wird. In diesem Fall kann ein Verschlüsselungsschlüssel per Post, mündlich oder durch andere Mittel übermittelt werden.
  • Überdies wurden in den oben beschriebenen Ausführungsformen Beispiele eines Datenverarbeitungssystems beschrieben, das die Datenverteilung durchführt. Doch die Realisierung als ein Kollaborationssystem, das verschiedene Funktionen wie z. B. Terminplanung, Projektplanung, Aufgabenmanagement, Workflow-Management und dergleichen aufweist, ist auch möglich. Darüber hinaus ist in einer anderen Ausführungsform die Realisierung als Content-Management-System möglich, das ein elektronisches Dokument usw. sicher verteilt.
  • Die oben genannten Funktionen der vorliegenden Erfindung können durch ein maschinenausführbares Programm realisiert werden, das in einer traditionellen Programmiersprache, einer objektorientierten Programmiersprache oder dergleichen wie z. B. Assembler, C, C++, Java®, JavaBeans®, Java® Applet, JavaScript®, Perl oder Ruby geschrieben ist, und auf einem Datenträger wie z. B. ein ROM, ein EEPROM, ein EPROM, ein Flashspeicher, eine Diskette, eine CD-ROM, eine CD-RW, eine DVD-ROM, ein DVD-RAM, eine DVD-RW, eine Blu-ray-Disc, eine SD-Karte oder einen magnetooptischen Datenträger gespeichert sein kann, der von einer Vorrichtung gelesen werden kann und verteilt oder übertragen und verteilt werden kann.
  • Die vorliegende Erfindung wurde anhand spezifischer Ausführungsformen und Beispiele auf beispielhafte Weise erläutert. Die vorliegende Erfindung ist aber nicht auf die spezifischen Ausführungsformen oder Beispiele beschränkt. Andere Ausführungsformen und Änderungen an der vorliegenden Erfindung wie z. B. Zusätze, Modifikationen oder Streichungen können von einem Fachmann im denkbaren Rahmen vorgenommen werden, und jede Form liegt im Umfang der vorliegenden Erfindung, solange eine Arbeitsweise und ein Vorteil der vorliegenden Erfindung erreicht werden kann.
  • Bezugszeichenliste
  • 10
    Datenverarbeitungssystem,
    12
    Netzwerk,
    20
    Datenverteilungsserver,
    30
    Client-Vorrichtung,
    100
    Funktionsblock,
    110
    Paketregistriereinheit,
    112
    Empfangsabschnitt für die Paketregistrierungsanforderung,
    114
    Daten-/Richtlinienerfassungsabschnitt,
    116
    Registrierungsverarbeitungsabschnitt,
    120
    Registrant-Datenbank,
    122
    registrantspezifizierte Richtlinie,
    124
    Verteilungsdaten,
    126
    zeitlich begrenzter Verschlüsselungsschlüssel,
    130
    Ausführungsmodul-Datenbank,
    132 bis 138
    Ausführungsmodul,
    140
    Paketverteilungseinheit,
    142
    Empfangsabschnitt für die Paketempfangsanforderung,
    144
    Umgebungserkennungsabschnitt,
    146
    Abschnitt zur Bestimmung der angewandten Richtlinie,
    148
    Paketierungsverarbeitungsabschnitt,
    150
    Übertragungsverarbeitungsabschnitt,
    152
    Verschlüsselungsschlüssel-Verteilungsabschnitt,
    160
    Verteilungspaket,
    162
    Verteilungsdaten,
    164
    beim Empfänger angewandte Richtlinie,
    166
    Zugriffskontroll-Ausführungsmodul,
    170
    Zugriffskontrollmechanismus-Injektionseinheit,
    172
    Einheit zur Erzeugung des geschützten Bereichs,
    174
    Datenladeeinheit,
    176
    Neupaketierungseinheit,
    178
    Einheit zur Eliminierung des geschützten Bereichs,
    180
    Schlüsselerfassungseinheit,
    182
    Einheit zum Löschen der geladenen Daten,
    190
    Zugriffskontrollmechanismus,
    192
    Datei,
    194
    Druck,
    196
    Zwischenablage,
    200
    OS (Betriebssystem),
    202
    DLL,
    204
    COM-Schnittstelle,
    210
    Anwendungsprozess,
    220
    geschützter Bereich,
    222
    Daten,
    230
    Richtlinien-Verwaltungstabelle
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2009-26046 [0004]
    • JP 2009-86840 [0006, 0009]

Claims (20)

  1. Datenverteilungsvorrichtung, aufweisend: eine Programmspeichereinheit, um ein Zugriffskontroll-Ausführungsprogramm zur Realisierung eines Zugriffskontrollmechanismus zu speichern, und eine Ladeeinheit auf einem Client, um das Zugriffskontroll-Ausführungsprogramm an eine Umgebung des Clients anzupassen, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine Weise steuert, die von einer gegebenen Richtlinie abhängt, wobei die Ladeeinheit in einem Verteilungspaket enthaltene Verteilungsdaten in einen geschützten Speicherbereich lädt; eine Datenspeichereinheit, um die zu verteilenden Verteilungsdaten und eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie zu speichern; eine Umgebungserkennungseinheit, um eine Umgebung eines anfordernden Clients, der den Empfang der Verteilungsdaten anfordert, zu erkennen; und eine Übertragungseinheit, um ein Verteilungspaket, das die Verteilungsdaten, die Sicherheitsrichtlinie und das an die Umgebung des anfordernden Clients anpassende Zugriffskontroll-Ausführungsprogramm enthält, an den anfordernden Client zu übertragen.
  2. Datenverteilungsvorrichtung nach Anspruch 1, außerdem aufweisend eine Registriereinheit, um in Reaktion auf eine Registrierungsanforderung für Verteilungsdaten die Verteilungsdaten, für welche die Registrierung angefordert wird, eine Sicherheitsrichtlinie, die die Informationsflusskontrolle für die Verteilungsdaten definiert, und Information über ein Verteilungsziel der Verteilungsdaten in der Datenspeichereinheit zu speichern und die Verteilungsdaten zu registrieren.
  3. Datenverteilungsvorrichtung nach Anspruch 2, wobei das Zugriffskontroll-Ausführungsprogramm Code einschließt, um auf einem Client außerdem eine Bereichseliminierungseinheit zu realisieren, die die Datenlöschung im geschützten Speicherbereich und die Eliminierung des geschützten Speicherbereichs durchführt, wenn eine Operation, die Verteilungsdaten verwendet, abgeschlossen ist.
  4. Datenverteilungsvorrichtung nach Anspruch 3, wobei die Sicherheitsrichtlinie, die für die Verteilungsdaten spezifiziert ist, eine Richtlinie einschließt, die mindestens für einen Teil der Verteilungsdaten die Informationsflusskontrolle für ein auf das Verteilungsziel folgendes Verteilungsziel definiert, wobei der Zugriffskontrollmechanismus der Richtlinie entsprechend kontrolliert, ob eine Anforderung, mindestens einen Teil der lokalen Daten im geschützten Speicherbereich als Verteilungsdaten zu registrieren, erlaubt werden soll oder nicht, und wobei die Registriereinheit in Reaktion auf die Anforderung, mindestens einen Teil der lokalen Daten als Verteilungsdaten zu registrieren, eine Sicherheitsrichtlinie, die eine Richtlinie übernimmt, die für Verteilungsdaten spezifiziert ist, welche als Ursprung der lokalen Daten dienen, und mindestens diesen Teil der lokalen Daten als die Verteilungsdaten in der Datenspeichereinheit speichert.
  5. Datenverteilungsvorrichtung nach Anspruch 4, wobei die Datenspeichereinheit außerdem einen Schlüssel mit der Gültigkeitsdauer für die Verteilungsdaten speichert und das Zugriffskontroll-Ausführungsprogramm Code einschließt, um auf einem Client außerdem eine Gültigkeitsablaufverarbeitungseinheit zu realisieren, die den Zugriff auf die Verteilungsdaten und die lokalen Daten im geschützten Speicherbereich einschränkt, nachdem die Gültigkeitsdauer des Schlüssels abgelaufen ist.
  6. Datenverteilungsvorrichtung nach Anspruch 5, wobei die Gültigkeitsablaufverarbeitungseinheit einen Funktionsabschnitt einschließt, um regelmäßig oder unregelmäßig die lokalen Daten im geschützten Speicherbereich zu löschen oder eine Differenz zwischen den lokalen Daten im geschützten Speicherbereich und den Verteilungsdaten im Verteilungspaket zu speichern, einen Funktionsabschnitt, um den Schlüssel für die Verteilungsdaten neu zu erfassen, und einen Funktionsabschnitt, um Daten im geschützten Speicherbereich mit dem neu erfassten Schlüssel wiederherzustellen.
  7. Datenverteilungsvorrichtung nach Anspruch 6, wobei der Zugriff auf eine Ressource aus dem Prozess, der auf die von einer gegebenen Richtlinie abhängige Weise kontrolliert wird, mindestens eines vom Lesen der lokalen Daten im geschützten Speicherbereich, Speichern der lokalen Daten auf einen Wechseldatenträger, Speichern der lokalen Daten in einen ungeschützten Speicherbereich, Drucken der lokalen Daten, Kopieren in eine Zwischenablage in einem Zustand, in welchem die lokalen Daten geöffnet sind, Kopieren und Einfügen zwischen Prozessen durch eine Zwischenablage in einem Zustand, in welchem die lokalen Daten geöffnet sind, Bildschirmkopieren in einem Zustand, in welchem ein Fenster der lokalen Daten in einem aktiven Modus ist, und Schreiben in den geschützten Speicherbereich einschließt.
  8. Datenverteilungsvorrichtung nach Anspruch 1, wobei die Datenspeichereinheit außerdem einen Schlüssel mit der Gültigkeitsdauer für die Verteilungsdaten speichert und das Zugriffskontroll-Ausführungsprogramm Code einschließt, um auf einem Client außerdem eine Gültigkeitsablaufverarbeitungseinheit zu realisieren, die den Zugriff auf die Verteilungsdaten und lokalen Daten im geschützten Speicherbereich einschränkt, nachdem die Gültigkeitsdauer des Schlüssels abgelaufen ist.
  9. Datenverteilungsvorrichtung nach Anspruch 8, wobei die Gültigkeitsablaufverarbeitungseinheit einen Funktionsabschnitt einschließt, um regelmäßig oder unregelmäßig die lokalen Daten im geschützten Speicherbereich zu löschen oder eine Differenz zwischen den lokalen Daten im geschützten Speicherbereich und den Verteilungsdaten im Verteilungspaket zu speichern, einen Funktionsabschnitt, um den Schlüssel für die Verteilungsdaten neu zu erfassen, und einen Funktionsabschnitt, um Daten im geschützten Speicherbereich mit dem neu erfassten Schlüssel wiederherzustellen.
  10. Datenverteilungsvorrichtung nach Anspruch 1, wobei der Zugriff auf eine Ressource aus dem Prozess, der auf die von einer gegebenen Richtlinie abhängige Weise kontrolliert wird, mindestens eines vom Lesen der lokalen Daten im geschützten Speicherbereich, Speichern der lokalen Daten auf einen Wechseldatenträger, Speichern der lokalen Daten in einen ungeschützten Speicherbereich, Drucken der lokalen Daten, Kopieren in eine Zwischenablage in einem Zustand, in welchem die lokalen Daten geöffnet sind, Kopieren und Einfügen zwischen Prozessen durch eine Zwischenablage in einem Zustand, in welchem die lokalen Daten geöffnet sind, Bildschirmkopieren in einem Zustand, in welchem ein Fenster der lokalen Daten in einem aktiven Modus ist, und Schreiben in den geschützten Speicherbereich einschließt.
  11. Datenverteilungsvorrichtung nach Anspruch 1, außerdem aufweisend eine Einheit zur Bestimmung der angewandten Richtlinie, um die für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie auf eine Weise zu ändern, die von der Umgebung des Clients abhängt, und eine angewandte Richtlinie zu bestimmen, die in das Verteilungspaket aufzunehmen ist.
  12. Datenverteilungssystem zur Bereitstellung eines Verteilungspakets, wobei das Datenverteilungssystem eine Vielzahl von Computern einschließt, wobei das Datenverteilungssystem aufweist: eine Programmspeichereinheit, um ein Zugriffskontroll-Ausführungsprogramm zur Realisierung eines Zugriffskontrollmechanismus zu speichern, und eine Ladeeinheit auf einem Client, um das Zugriffskontroll-Ausführungsprogramm an eine Umgebung des Clients anzupassen, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine Weise kontrolliert, die von einer gegebenen Richtlinie abhängt, wobei die Ladeeinheit Verteilungsdaten, die in einem Verteilungspaket enthalten sind, in einen geschützten Speicherbereich lädt; eine Datenspeichereinheit, um zu verteilende Verteilungsdaten und eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie zu speichern; eine Umgebungserkennungseinheit, um eine Umgebung des anfordernden Clients, der den Empfang der Verteilungsdaten anfordert, zu erkennen; und eine Übertragungseinheit, um ein Verteilungspaket, das die Verteilungsdaten, die Sicherheitsrichtlinie und das an die Umgebung des anfordernden Clients anpassende Zugriffskontroll-Ausführungsprogramm enthält, an den anfordernden Client zu übertragen.
  13. Client-Vorrichtung, die über ein Netzwerk mit einer Datenverteilungsvorrichtung verbunden ist, welche ein Verteilungspaket verteilt, wobei die Client-Vorrichtung aufweist: eine Anforderungsübertragungseinheit, um eine Empfangsanforderung für Verteilungsdaten an die Datenverteilungsvorrichtung zu übertragen; eine Umgebungsinformationsübertragungseinheit, um Umgebungsinformation zur Beschreibung einer Umgebung der Client-Vorrichtung an die Datenverteilungsvorrichtung zu übertragen; und eine Empfangseinheit, um von der Datenverteilungsvorrichtung ein Verteilungspaket zu empfangen, das die Verteilungsdaten, eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie und ein Zugriffskontroll-Ausführungsprogramm zur Realisierung eines Zugriffskontrollmechanismus und einer Ladeeinheit auf der Client-Vorrichtung enthält, wobei das Zugriffskontroll-Ausführungsprogramm an die Umgebung der Client-Vorrichtung angepasst ist, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine von der Sicherheitsrichtlinie abhängige Weise kontrolliert, wobei die Ladeeinheit die Verteilungsdaten in einen geschützten Speicherbereich lädt.
  14. Datenverteilungsverfahren zur Bereitstellung eines Verteilungspakets, wobei das Datenverteilungsverfahren von einem Computersystem aus einem oder mehreren Computern durchgeführt wird, wobei das Datenverteilungsverfahren aufweist: einen Schritt des Empfangens, mit dem Computersystem, einer Empfangsanforderung für Verteilungsdaten von einem Client; einen Schritt des Erkennens, mit dem Computersystem, einer Umgebung des Clients; einen Schritt des Lesens, mit dem Computersystem, der zu verteilenden Verteilungsdaten und einer für die Verteilungsdaten spezifizierten Sicherheitsrichtlinie; einen Schritt des Lesens, mit dem Computersystem, eines Zugriffskontroll-Ausführungsprogramms zur Realisierung eines Zugriffskontrollmechanismus und einer Ladeeinheit auf dem Client, wobei das Zugriffskontroll-Ausführungsprogramm an die Umgebung des Clients anpasst, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine von der Sicherheitsrichtlinie abhängige Weise kontrolliert, wobei die Ladeeinheit die Verteilungsdaten in einen geschützten Speicherbereich lädt; und einen Schritt des Übertragens, mit dem Computersystem, eines Verteilungspakets, das die Verteilungsdaten, die Sicherheitsrichtlinie und das Zugriffskontroll-Ausführungsprogramm enthält, an den Client.
  15. Datenverteilungsverfahren nach Anspruch 14, außerdem aufweisend einen Schritt des Speicherns, mit dem Computersystem, in Reaktion auf eine Registrierungsanforderung für Verteilungsdaten, der Verteilungsdaten, für welche eine Registrierung angefordert wird, einer Sicherheitsrichtlinie, welche die Informationsflusskontrolle für die Verteilungsdaten definiert, und von Information über ein Verteilungsziel der Verteilungsdaten, und des Registrierens der Verteilungsdaten.
  16. Datenverteilungsverfahren nach Anspruch 15, wobei die Sicherheitsrichtlinie, die für die Verteilungsdaten spezifiziert ist, eine Richtlinie einschließt, die mindestens für einen Teil der Verteilungsdaten die Informationsflusskontrolle für ein auf das Verteilungsziel folgendes Verteilungsziel definiert, wobei der Zugriffskontrollmechanismus der Richtlinie entsprechend kontrolliert, ob eine Anforderung, mindestens einen Teil der lokalen Daten im geschützten Speicherbereich als Verteilungsdaten zu registrieren, zulässig ist oder nicht, und der Schritt des Registrierens in Reaktion auf die Anforderung, mindestens einen Teil der lokalen Daten als Verteilungsdaten zu registrieren, einen Unterschritt einschließt, um mit dem Computersystem zu bewirken, dass eine Sicherheitsrichtlinie, die für Verteilungsdaten spezifiziert ist, die als Ursprung der lokalen Daten dienen, von einer Sicherheitsrichtlinie übernommen wird, die für mindestens den Teil der lokalen Daten als die Verteilungsdaten spezifiziert ist.
  17. Datenverteilungsverfahren nach Anspruch 16, außerdem aufweisend einen Schritt des Lesens, mit dem Computersystem, in Reaktion auf eine Schlüsselerfassungsanforderung vom Client, eines Schlüssels mit der Gültigkeitsdauer, der zusammen mit den Verteilungsdaten gespeichert ist, und des Übertragens des Schlüssels an den Client, wobei das Zugriffskontroll-Ausführungsprogramm Code einschließt, um außerdem auf einem Client eine Gültigkeitsablaufverarbeitungseinheit zu realisieren, um den Zugriff auf die Verteilungsdaten und die lokalen Daten im geschützten Speicherbereich einzuschränken, nachdem die Gültigkeitsdauer des Schlüssels abgelaufen ist.
  18. Datenempfangsverfahren zum Empfangen von Verteilungsdaten, wobei das Datenempfangsverfahren aufweist: einen Schritt des Übertragens, mit einer Client-Vorrichtung, die über ein Netzwerk mit einer Datenverteilungsvorrichtung verbunden ist, welche ein Verteilungspaket mit den Verteilungsdaten verteilt, einer Empfangsanforderung für Verteilungsdaten an die Datenverteilungsvorrichtung; einen Schritt des Übertragens, mit der Client-Vorrichtung, von Umgebungsinformation zur Beschreibung einer Umgebung der Client-Vorrichtung an die Datenverteilungsvorrichtung; einen Schritt des Empfangens, mit der Client-Vorrichtung und von der Datenverteilungsvorrichtung, eines Verteilungspakets, das die Verteilungsdaten, eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie und ein Zugriffskontroll-Ausführungsprogramm zur Realisierung eines Zugriffskontrollmechanismus und einer Ladeeinheit auf der Client-Vorrichtung enthält, wobei das Zugriffskontroll-Ausführungsprogramm an die Umgebung der Client-Vorrichtung anpasst, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine von der Sicherheitsrichtlinie abhängige Weise kontrolliert, wobei die Ladeeinheit die Verteilungsdaten in einen geschützten Speicherbereich lädt; einen Schritt des Aktivierens, mit der Client-Vorrichtung, des Zugriffskontrollmechanismus; und einen Schritt des Ladens, mit der Client-Vorrichtung, der im Verteilungspaket enthaltenen Verteilungsdaten in den geschützten Speicherbereich.
  19. Von einem Computer ausführbares Programm, wobei das Programm ein Computersystem aus einem oder mehreren Computern veranlasst, zu realisieren: eine Programmspeichereinheit, um ein Zugriffskontroll-Ausführungsprogramm zur Realisierung eines Zugriffskontrollmechanismus zu speichern, und eine Ladeeinheit auf einem Client, um das Zugriffskontroll-Ausführungsprogramm an eine Umgebung des Clients anzupassen, wobei der Zugriffskontrollmechanismus den Zugriff auf eine Ressource aus einem Prozess auf eine Weise steuert, die von einer gegebenen Richtlinie abhängt, wobei die Ladeeinheit in einem Verteilungspaket enthaltene Verteilungsdaten in einen geschützten Speicherbereich lädt; eine Datenspeichereinheit, um die zu verteilenden Verteilungsdaten und eine für die Verteilungsdaten spezifizierte Sicherheitsrichtlinie zu speichern; eine Umgebungserkennungseinheit, um eine Umgebung des anfordernden Clients, der den Empfang der Verteilungsdaten anfordert, zu erkennen; und eine Übertragungseinheit, um ein Verteilungspaket, das die Verteilungsdaten, die Sicherheitsrichtlinie und das an die Umgebung des anfordernden Clients anpassende Zugriffskontroll-Ausführungsprogramm enthält, an den anfordernden Client zu übertragen.
  20. Datenträger, um das Programm nach Anspruch 19 auf computerlesbare Weise aufzuzeichnen.
DE112011103164T 2010-09-22 2011-07-01 Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger, Ceased DE112011103164T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010211870 2010-09-22
JP2010-211870 2010-09-22
PCT/JP2011/065184 WO2012039178A1 (ja) 2010-09-22 2011-07-01 データ配信装置、データ配信システム、クライアント装置、データ配信方法、データ受信方法、プログラムおよび記録媒体

Publications (1)

Publication Number Publication Date
DE112011103164T5 true DE112011103164T5 (de) 2013-08-14

Family

ID=45873674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103164T Ceased DE112011103164T5 (de) 2010-09-22 2011-07-01 Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger,

Country Status (6)

Country Link
US (1) US9501628B2 (de)
JP (1) JP5528560B2 (de)
CN (1) CN103109297B (de)
DE (1) DE112011103164T5 (de)
GB (1) GB2498142B (de)
WO (1) WO2012039178A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
US9326145B2 (en) 2012-12-16 2016-04-26 Aruba Networks, Inc. System and method for application usage controls through policy enforcement
US9866382B2 (en) 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
CN105027493B (zh) * 2012-12-21 2018-09-07 移动熨斗公司 安全移动应用连接总线
US9256751B2 (en) * 2013-06-04 2016-02-09 Sap Se Public exposed objects
CN103312706B (zh) * 2013-06-04 2017-05-10 百度在线网络技术(北京)有限公司 网络访问控制的方法和装置
CN103368966B (zh) * 2013-07-18 2016-08-17 北京网鼎芯睿科技有限公司 服务器系统和数据流的传输方法
US9467450B2 (en) * 2013-08-21 2016-10-11 Medtronic, Inc. Data driven schema for patient data exchange system
CN103886264A (zh) * 2014-03-03 2014-06-25 深圳市江波龙电子有限公司 一种存储设备隐藏区内数据保护的方法及装置
US9632700B2 (en) 2014-07-02 2017-04-25 International Business Machines Corporation Managing a shared storage system using hardware identifiers to deter data/file corruption
CN104506483A (zh) * 2014-10-21 2015-04-08 中兴通讯股份有限公司 一种信息加密解密、管理密钥的方法、终端及网络服务器
US9973475B2 (en) * 2014-10-22 2018-05-15 Protegrity Corporation Data computation in a multi-domain cloud environment
US9825959B2 (en) * 2015-02-13 2017-11-21 Ebay Inc. Portable electronic device with user-configurable API data endpoint
US10491639B2 (en) * 2015-03-17 2019-11-26 The Boeing Company Scalable security architecture systems and methods
WO2017129660A1 (en) * 2016-01-29 2017-08-03 British Telecommunications Public Limited Company Secure data storage
CN106339435B (zh) * 2016-08-19 2020-11-03 中国银行股份有限公司 一种数据分发方法、装置及系统
US10027669B2 (en) 2016-10-26 2018-07-17 Intuit Inc. Authorization to access a server in the cloud without obtaining an initial secret
US10412097B1 (en) 2017-01-24 2019-09-10 Intuit Inc. Method and system for providing distributed authentication
US10366240B1 (en) 2017-01-25 2019-07-30 Intuit Inc. Authorization to access a server in the cloud without obtaining an initial secret
CN109617713A (zh) * 2018-11-26 2019-04-12 网宿科技股份有限公司 资源分发的实现方法及服务器
US11159322B2 (en) * 2019-01-31 2021-10-26 Baidu Usa Llc Secure multiparty computing framework using a restricted operating environment with a guest agent
US10438437B1 (en) * 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC
US11342065B2 (en) 2019-06-24 2022-05-24 Fujifilm Medical Systems U.S.A., Inc. Systems and methods for workstation rendering medical image records
JP2022070771A (ja) * 2020-10-27 2022-05-13 シャープ株式会社 画像形成装置、設定方法及びシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026046A (ja) 2007-07-19 2009-02-05 Hitachi Software Eng Co Ltd データの二次流出防止方法及びシステム
JP2009086840A (ja) 2007-09-28 2009-04-23 Hitachi Software Eng Co Ltd 情報処理装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134302A (ja) * 1995-11-08 1997-05-20 Hitachi Ltd データ処理システムおよび方法
EP0880840A4 (de) * 1996-01-11 2002-10-23 Mrj Inc Vorrichtung zur steuerung des zugriffs und der verteilung von digitalem eigentum
US20050071657A1 (en) * 2003-09-30 2005-03-31 Pss Systems, Inc. Method and system for securing digital assets using time-based security criteria
US20040125402A1 (en) * 2002-09-13 2004-07-01 Yoichi Kanai Document printing program, document protecting program, document protecting system, document printing apparatus for printing out a document based on security policy
US7263185B2 (en) * 2003-02-27 2007-08-28 Realnetworks, Inc. Key based decipher including its generation, distribution and usage
US20050021980A1 (en) * 2003-06-23 2005-01-27 Yoichi Kanai Access control decision system, access control enforcing system, and security policy
JP2005332049A (ja) * 2004-05-18 2005-12-02 Nippon Telegr & Teleph Corp <Ntt> ポリシ変換方法、ポリシ移行方法およびポリシ評価方法
JP4377762B2 (ja) * 2004-07-05 2009-12-02 株式会社東芝 デジタルコンテンツ権利生成装置、デジタルコンテンツ権利生成方法およびデジタルコンテンツ権利生成プログラム
JP4740560B2 (ja) * 2004-07-08 2011-08-03 定康 小野 コンテンツ管理利用方法
US8245280B2 (en) * 2005-02-11 2012-08-14 Samsung Electronics Co., Ltd. System and method for user access control to content in a network
US20060184932A1 (en) * 2005-02-14 2006-08-17 Blazent, Inc. Method and apparatus for identifying and cataloging software assets
US20060236408A1 (en) 2005-04-14 2006-10-19 International Business Machines Corporation Method and apparatus for device dependent access control for device independent web content
WO2006127919A2 (en) * 2005-05-25 2006-11-30 1776 Media Network Data management and distribution
US20070140140A1 (en) * 2005-11-22 2007-06-21 Turntv Incorporated System and apparatus for distributing data over a network
US20070288989A1 (en) * 2006-06-09 2007-12-13 Nokia Corporation Method, electronic device, apparatus, system and computer program product for updating an electronic device security policy
US7917963B2 (en) * 2006-08-09 2011-03-29 Antenna Vaultus, Inc. System for providing mobile data security
WO2011130879A1 (en) * 2010-04-23 2011-10-27 Hewlett-Packard Development Company, L.P. Match analysis for encoding optimized update packages
JP4593549B2 (ja) * 2006-11-08 2010-12-08 Necシステムテクノロジー株式会社 ファイル自動復号暗号化システムおよびプログラム
CN101835148B (zh) * 2009-03-13 2012-12-26 中国移动通信集团公司 一种数字内容分发与获取方法、系统及设备
US8838644B2 (en) * 2009-11-25 2014-09-16 International Business Machines Corporation Extensible access control list framework
US8850424B2 (en) * 2011-05-04 2014-09-30 Apperian, Inc. Processing, modification, distribution of installation packages
US8903088B2 (en) * 2011-12-02 2014-12-02 Adobe Systems Incorporated Binding of protected video content to video player with encryption key

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026046A (ja) 2007-07-19 2009-02-05 Hitachi Software Eng Co Ltd データの二次流出防止方法及びシステム
JP2009086840A (ja) 2007-09-28 2009-04-23 Hitachi Software Eng Co Ltd 情報処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Adobe LiveCycle Rights Management ES2", [online], [abgerufen am 10. September 2010], Internet <URL; http://www.adobe.com/products/livecycle/rightsmanagement/>
"Windows Rights Management Services", [online], [abgerufen am 10. September 2010], Internet <URL; http://www.microsoft.com/windowsserver2003/technologies/rightsmgmt/default.mspx>

Also Published As

Publication number Publication date
WO2012039178A1 (ja) 2012-03-29
GB201306470D0 (en) 2013-05-22
CN103109297A (zh) 2013-05-15
JPWO2012039178A1 (ja) 2014-02-03
GB2498142B (en) 2019-01-16
CN103109297B (zh) 2015-08-12
GB2498142A (en) 2013-07-03
US20130219462A1 (en) 2013-08-22
US9501628B2 (en) 2016-11-22
JP5528560B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
DE112011103164T5 (de) Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger,
DE60127557T2 (de) Filtern eines erlaubnissets mit hilfe von erlaubnisanfragen die mit einer kodeanordnung verknüpft sind
EP3195556B1 (de) Verteilte datenspeicherung mittels berechtigungstoken
DE60218615T2 (de) Verfahren und Architektur zur durchdringenden Absicherung von digitalen Gütern
DE69732323T2 (de) Unterstützung für die Verteilung von vertrauter Software
DE112010003925B4 (de) Erweiterbare Zugriffssteuerungslisten-Grundstruktur
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE60207812T2 (de) Verfahren und vorrichtung zum dynamischen zuweisen von benutzungsrechten zu digitalen werken
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE112006001978B4 (de) Verifizierte Computerumgebung für persönliches Internetkommunikationsgerät
DE102012210887B4 (de) Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung
DE102004006951A1 (de) Aktualisieren einer Druckserversoftware basierend auf Aktualisierungs-E-Mails
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
AT4261U2 (de) Sich selbst zerstörendes dokument oder e-mailnachrichtensystem
DE202013012493U1 (de) Stufen der Datenspeicherung für Webanwendungen und Browser-Erweiterungen
DE112011101357T5 (de) Dynamisches Token für den vorübergehenden Datenzugriff
EP2502176B1 (de) Verfahren und vorrichtung zum zugreifen auf steuerungsdaten gemäss einer bereitgestellten rechteinformation
DE102014116750A1 (de) Framework für eine feinzugriffskontrolle von anwendungsgenehmigungen auf hoher ebene
EP2232366A2 (de) Verfahren, system und simulations- bzw. analysemodell zur datenverarbeitung
DE102011077513A1 (de) Verfahren zur sicheren Verarbeitung von Daten
DE69637098T2 (de) Sicherheitsvorrichtung und verfahren für ein datenverarbeitungssystem
DE10152121B4 (de) Regelbasierte Verarbeitungskontrolle mobiler Information
DE202022101641U1 (de) Eine auf künstlicher Intelligenz basierende Vorrichtung zur Bereitstellung einer transparenten Zugriffskontrolle von IOT-Zielen
DE10146977A1 (de) Elektronisches Personaldaten-Verwaltungssystem und Personaldaten-Server-Computer

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021240000

Ipc: G06F0021600000

Effective date: 20130709

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final