DE69732323T2 - Unterstützung für die Verteilung von vertrauter Software - Google Patents

Unterstützung für die Verteilung von vertrauter Software Download PDF

Info

Publication number
DE69732323T2
DE69732323T2 DE69732323T DE69732323T DE69732323T2 DE 69732323 T2 DE69732323 T2 DE 69732323T2 DE 69732323 T DE69732323 T DE 69732323T DE 69732323 T DE69732323 T DE 69732323T DE 69732323 T2 DE69732323 T2 DE 69732323T2
Authority
DE
Germany
Prior art keywords
code
resources
acl
permissions
program
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.)
Expired - Lifetime
Application number
DE69732323T
Other languages
English (en)
Other versions
DE69732323D1 (de
Inventor
Asit West Harrison Dan
Rajiv Ossining Ramaswami
Dinkar Yorktown Heights Sitaram
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 DE69732323D1 publication Critical patent/DE69732323D1/de
Application granted granted Critical
Publication of DE69732323T2 publication Critical patent/DE69732323T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/009Trust
    • 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/101Access control lists [ACL]

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf die Bereitstellung von Software über Verteilungssysteme wie beispielsweise Netzwerke.
  • Die Verteilung von Software stellt heutzutage einen wichtigen Industriezweig dar. Dabei wird Software über Disketten, CD-ROMs und zunehmend auch über Netzwerke verteilt. Neben dem einfachen Herunterladen von Code von entfernten Standorten aus über das Internet können Clients heute Applets von Servern herunterladen und ausführen, wobei dieses Modell in der Programmiersprache Java oder auch in anderen Sprachen wie Telescript angelegt ist.
  • Ein kritischer Aspekt in Zusammenhang mit Code, der von anderer Stelle erhalten wurde, besteht in der Sicherheit. So wird unter dem Betriebssystem Unix der Code beispielsweise in der Shell des Clients und mit allen Berechtigungen des Clients ausgeführt, wobei dies den Zugriff auf alle seine Dateien sowie möglicherweise das Senden von Mail, den Versuch eines unzulässigen Eindringens in das System usw. beinhaltet. Mit Blick auf Applets sieht Java eine Lösung dieses Problems vor, indem die Applets in einer sehr eingeschränkten Umgebung ausgeführt werden. Als Folge hiervon ist jedoch die Nützlichkeit und Funktionsvielfalt von Java-Applets begrenzt. Java-Anwendungen sind dagegen von dem Maß an Sicherheit abhängig, das vom Betriebssystem bereitgestellt wird, und verfügen über keinerlei Echtheitsnachweisfunktionen. Sie bringen somit die gleichen Sicherheitsprobleme mit sich wie jeder andere Code.
  • Eine Form des Echtheitsnachweises wird in „Trusted Distribution of Software Over the Internet", A. D. Rubin, Internet Society Symposium on Network and Distributed Security, 1995, vorgestellt. Hier unterzeichnet eine vertrauenswürdige Fremdpartei ein Zertifikat, um so den Verfasser eines Programms anzugeben und die Unversehrtheit des Programms zu gewährleisten. Obwohl dies einem Client die Überprüfung der Echtheit des Codes gestattet, wird dabei weder ein dem Code zugehöriger flexibler Satz von Berechtigungen festgelegt noch ein automatisches Verfahren bereitgestellt, mit dem der Client diese Berechtigungen durchsetzen kann.
  • In einer bevorzugten Ausführungsform kommuniziert ein System für die Codeerzeugung mit einer Zertifizierungsstelle, bei der es sich um eine vertrauenswürdige Fremdpartei handelt. Die Zertifizierungsstelle gibt ein Zertifikat für den Code sowie ein Zertifikat für die Zugriffskontrollliste (Access Control List, ACL) für diesen Code aus. Nach der Ausgabe des Zertifikats kann der Code bzw. die Zugriffskontrollliste von niemandem geändert werden, ohne dass das Zertifikat seine Gültigkeit verliert. Der Code und seine ACL werden mit ihren Zertifikaten auf einem Server gespeichert. Ein Client, der den Code oder die Zugriffskontrollliste herunterlädt, kann die Unversehrtheit des Codes bzw. der Zugriffskontrollliste überprüfen, und das System kann die Anwendung der Zugriffskontrollliste durchsetzen, so dass die Berechtigungen und Betriebsmittel nicht überschritten werden.
  • US-A-45412217 beschreibt ein Verfahren und eine Vorrichtung für die Sicherheit von Computersystemen, das/die über Strukturen zur Programmberechtigungserteilung verfügt.
  • US-A-5 412 717 beschreibt ein Systemüberwachungsprogramm, das die Ausführbarkeit eines Programms auf die Nutzung vorgegebener Betriebsmittel beschränkt. Hierfür sind dem Programm zertifizierte Fremd-Programmberechtigungsdaten (Program Authorization Information, PAI) zugehörig, welche die dem Programm zugewiesenen Beschränkungen beinhalten.
  • US-A-5 210 872 beschreibt ein Verfahren für die Aufgabeneinplanung, das jeder Aufgabe eine Betriebsmittel-Verbrauchsquote zuweist und jede Aufgabe bei ihrer Ausführung überwacht, indem eine Aufgabe, die ihre Quote übersteigt, deaktiviert wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren für die Verteilung von Programmcode bereitgestellt, das die Schritte umfasst, mit denen einem Empfängersystem eine vertrauenswürdige Fremd-Zertifizierung zur Verfügung gestellt wird, wobei die vertrauenswürdige Fremd-Zertifizierung eine computerlesbare Beschreibung der Betriebsmittel und Berechtigungen beinhaltet, die für die nachgewiesenermaßen ungefährliche Ausführung des Codes notwendig sind, dadurch gekennzeichnet, dass die Beschreibungen der erforderlichen Betriebsmittel Daten beinhalten, die sowohl eine Mengenangabe zu einem jeden Betriebsmittel beschreiben, das von dem Code genutzt wird, als auch eine maximale Verbrauchsrate eines jeden Betriebsmittels durch den Code.
  • 1 zeigt eine Übersichtsdarstellung eines Systems für die Codeverteilung und -zertifizierung gemäß der bevorzugten Ausführungsform der Erfindung;
  • 2 zeigt, wie die beschriebenen Teile des Client-Systems zusammenarbeiten, um die in der Ausführungsform beschriebenen Funktionen auszuführen;
  • 3 zeigt die Zugriffskontrollliste (ACL);
  • 4 zeigt die Datenstrukturen, die von dem ACL-Durchsetzungsprogramm verwendet werden;
  • 5 zeigt, wie logische Betriebsmittelberechtigungen von dem ACL-Durchsetzungsprogramm durchgesetzt werden;
  • 6 zeigt, wie physische Betriebsmittelbeschränkungen von dem ACL-Durchsetzungsprogramm durchgesetzt werden.
  • 7 zeigt den Pseudocode für die Operationen zur Überprüfung der Unversehrtheit, zur Ausführung und zur Durchsetzungsinitialisierung der Client-Systems;
  • 8 zeigt den Pseudocode für das ACL-Verwaltungsprogramm; und
  • 9 zeigt den Pseudocode für das ACL-Durchsetzungsprogramm.
  • 1 zeigt eine Übersichtsdarstellung eines Systems zur Codeverteilung und -zertifizierung gemäß einer bevorzugten Ausführungsform der Erfindung. Es beinhaltet ein oder mehrere Code-Erzeugungssysteme (Code Production Systems, CPS) 10, eine Zertifizierungsstelle (Certification Agency, CA) 15, einen oder mehrere Server 20 und ein oder mehrere Client-Systeme 30. Die Client-Systeme können über ein herkömmliches weiträumiges Netzwerk (Wide Area Network, WAN) oder ein lokales Netz (Local Area Network, LAN) mit den Servern verbunden sein. Das CPS verfügt über einen Programmcode (Code) 140 und eine Zugriffskontrollliste (ACL) 150 für denjenigen Code, den es von der Zertifizierungsstelle zertifiziert haben möchte. Die CA stellt einen öffentlichen Schlüssel K bereit, der weit verbreitet und dem Client-System bekannt ist. Zusätzlich verfügt die CA über einen privaten Schlüssel P, den nur sie kennt. Um für den Code ein Zertifikat zur Verfügung zu stellen, erzeugt die CA ein Zertifikat mit dem Codenamen und der Hash-Verschlüsselung des Codes und unterzeichnet es mit ihrem privaten Schlüssel. Das Zertifikat kann nun nicht geändert werden, ohne dass die Signatur der CA ungültig gemacht wird. Entsprechend erzeugt und unterzeichnet die CA ein anderes Zertifikat für die ACL, die zu dem betreffenden Code gehört (falls gewünscht, kann ein einziges Zertifikat für den Code und seine Zugriffskontrollliste verwendet werden). In der Ausführungsform aus 1 empfangen die Client-Systeme das Zertifikat, die ACL und den Code über das WAN oder LAN. Dabei sollte jedoch klar sein, dass die Client-Systeme zertifizierten Code zusätzlich oder alternativ auch über ein Wechselspeichermedium empfangen können, das von einer lokalen Vorrichtung für den Datenimport wie beispielsweise einem Disketten- oder Bildplattenlaufwerk gelesen wird.
  • Das in 2 dargestellte Client-System beinhaltet ein Prüfprogramm 110, ein ACL-Verwaltungsprogramm 130, ein Ausführungsprogramm 170, ein ACL-Durchsetzungsprogramm 180 und eine Client-Schnittstelle 190. Das Client-System beinhaltet außerdem eine herkömmliche Zentraleinheit und eine zugehörige Steuerlogik 192, eine Kommunikationssteuerung/Netzwerkschnittstelle 194, ein CD-ROM- und/oder Diskettenteilsystem 196 sowie andere Betriebsmittel wie beispielsweise Netzzugangsmodule, ein Anzeigenteilsystem und verschiedene Spezialadapter. Der Fachmann weiß, dass das Client-System eine Anzahl von zusätzlichen, herkömmlichen Komponenten beinhaltet, die hier nicht ausführlich beschrieben werden.
  • Das ACL-Verwaltungsprogramm 130 und das ACL-Durchsetzungsprogramm 180 sind bevorzugt als Programmcode ausgeführt, dessen Funktionsweise weiter unten ausführlicher beschrieben wird. Das Ausführungsprogramm ist ein herkömmlicher Teil des Client-Betriebssystems (nicht abgebildet), mit dem der in das Client-System importierte Code ausgeführt wird. Die Client-Schnittstelle 190 kann als grafische Benutzeroberfläche im Vordergrund ausgeführt sein, welche die Client-Kommunikation mit dem ACL-Verwaltungsprogramm ermöglicht (z. B. kann der Client dem ACL-Verwaltungsprogramm 130 so mitteilen, dass er den Programmzugriff auf ein bestimmtes Betriebsmittel zulassen, nicht zulassen oder steuern soll). Das Prüfprogramm 110 ist vorzugsweise als Programmcode mit einem Entschlüsselungsmodul ausgeführt, mit dem die Echtheit des importierten Codes, einschließlich der Zugriffskontrollliste, überprüft wird. Das Prüfprogramm beinhaltet außerdem ein Modul für die Hash-Codierung, das die Unversehrtheit des importierten Codes und der ACL prüft.
  • Beim Herunterladen des Codes bzw. der ACL und seines/ihres Zertifikats 100 prüft das Prüfprogramm 110 zunächst (unter Verwendung des bekannten öffentlichen Schlüssels der CA), ob die Signatur der CA auf dem Zertifikat gültig ist. Danach berechnet das Prüfprogramm die Hash-Verschlüsselung des Codes bzw. der ACL und überprüft, ob sie mit dem im Zertifikat genannten Wert übereinstimmt. Wenn die Signatur nicht gültig ist oder der Hash-Code nicht übereinstimmt, werden der Code und die ACL zurückgewiesen 120. Wenn die Überprüfung ein positives Ergebnis erbringt, wird das ACL-Verwaltungsprogramm 130 aufgerufen. Das ACL-Verwaltungsprogramm zeigt dem Client über die Client-Schnittstelle 190 die ACL an (Beschreibung siehe unten) und stellt fest, ob der Client die einzelnen Einträge der ACL zulassen möchte. Das ACL-Verwaltungsprogramm speichert den Code 140 entsprechend der Anweisungen, die der Client über die Client-Schnittstelle gibt, und speichert die ACL 150 zusammen mit Berechtigungsmerkern 160.
  • Zu den Betriebsmitteln, deren Zugriff durch das ACL-Durchsetzungsprogramm gesteuert werden kann, gehören sowohl logische Betriebsmittel wie beispielsweise Dateisysteme, bestimmte Dateien und Systemaufrufe als auch physische Betriebsmittel, die z. B. den Festplattenspeicherplatz, den Festplattenzugriff, die Hauptspeicherverwaltung und den Zugriff auf verschiedene Systemsteuerungen und -adapter beinhalten. Mit Blick auf den Zugriff auf logische Betriebsmittel (d. h. Vorrichtungen des Client-Systems) geben die Berechtigungsmerker 160 an, ob einzelne Elemente zulässig sind; mit Blick auf den Zugriff auf physische Betriebsmittel können die Berechtigungsmerker dazu dienen, die höchste zulässige Verbrauchsmenge oder -rate anzugeben.
  • 2 zeigt außerdem, wie die verschiedenen Teile des Client-Systems zusammenwirken. In einem Client-System mit vielen Benutzern kann jeder Benutzer seinen eigenen Satz von Berechtigungsmerkern haben. Die ACL kann außerdem Umgebungsvariablen enthalten; indem sie die Umgebungsvariablen während der Ausführung ändern, können einzelne Benutzer die Zugriffsberechtigungen anpassen. Die ACL und die Berechtigungsmerker werden in einem sicheren Bereich gespeichert; das Lesen oder Aktualisieren dieses Bereichs ist eine Berechtigung, die vom ACL-Durchsetzungsprogramm 180 durchgesetzt wird.
  • Das ACL-Verwaltungsprogramm kann jederzeit durch den Client aufgerufen werden, um die Berechtigungen einer ACL anzuzeigen oder zu ändern. Der Code wird durch das Ausführungsprogramm 170 ausgeführt. Bevor der Zugriff auf ein beliebiges Betriebsmittel gestattet wird, ruft das Ausführungsprogramm das ACL-Durchsetzungsprogramm auf, um die Gültigkeit des Zugriffs überprüfen zu lassen. Hierfür fügt das Ausführungsprogramm 170 Einstiegsstellen in eine Prüfroutine, die das ACL-Durchsetzungsprogramm aufruft, in den Code ein. Die Funktionsweise des ACL-Durchsetzungsprogramms wird weiter unten ausführlicher beschrieben.
  • Das System ermöglicht, dass der Code und seine ACL nach Bedarf entweder getrennt oder zusammen heruntergeladen werden können. So kann es möglicherweise sein, dass das CPS die ACL allen Clients kostenlos zur Verfügung stellen will, während für den eigentlichen Code Gebühren anfallen.
  • 3 zeigt die Zugriffskontrollliste. Die ACL besteht aus zwei Teilen: der Tabelle 200 der physischen Betriebsmittel (Physical Resources Table, PRT), welche die physischen Betriebsmittel enthält, die der Code benötigt, und der Tabelle 250 der logischen Betriebsmittel (Logical Resources Table, LRT) mit den Berechtigungen und logischen Betriebsmitteln, die der Code benötigt.
  • Die PRT 250 enthält für jedes Betriebsmittel eine Zeile, die den Namen 205 des physischen Betriebsmittels (Physical Resource Name, PRN), das Betriebsmittelattribut 210, die maximale Verbrauchsrate 215 und die maximale Menge 220 enthält. Das Betriebsmittelattribut 210 wird verwendet, wenn eine physische Vorrichtung oder eine Betriebsmittel-Festplatte über mehrere Attribute verfügt, wie beispielsweise Speicherplatz und Anzahl der Ein-/Ausgaben für Speichergeräte. Die maximale Verbrauchsrate 215 und die maximale Menge sind die höchstzulässige Verbrauchsrate und der höchstzulässige Verbrauch des Betriebsmittels bzw. Attributs.
  • Die LRT 250 enthält eine Zeile für jeden Aufruf einer externen Routine, die von dem Code benötigt wird (als logisches Betriebsmittel bezeichnet). Dabei enthält jede Zeile den Namen 255 des logischen Betriebsmittels (Logical Resource Name) und eine Parameterliste 260, die auf eine Liste mit Parametereinträgen verweist. Jeder Parametereintrag 265 gibt einen Satz gültiger Parameterbereiche an, d. h. einen Satz von Werten für jeden Parameter, die zusammen genommen gültig sind, sowie ein Feld nextPE 280, das auf den nächsten Parametereintrag verweist. Der Parameterbereich für jeden Parameter enthält zwei Felder, den Parametertyp 270 und den Parameterwert 275, der den Gültigkeitsbereich für diesen Parameter angibt. Bei Kettenparametern lautet der Parametertyp 270 STR, und der Parameterwert 275 ist eine Liste der regulären Ausdrücke, die gültige Formen für die Zeichenkette angeben. Bei ganzzahligen Parametern lautet der Parametertyp 270 INT, und der Parameterwert 275 ist eine Liste der Ganzzahlbereiche. Der Parameterwert 275 kann die Namen der Umgebungsvariablen beinhalten, wobei die Umgebungsvariable in diesem Fall einen Wert enthalten soll, der während der Laufzeit ersetzt wird.
  • Das ACL-Durchsetzungsprogramm des Clients stellt sicher, dass die in der ACL für den Code festgelegten Berechtigungen und Betriebsmittel bereitgestellt werden und dass keine zusätzlichen Berechtigungen bzw. Betriebsmittel zugelassen werden.
  • Die ACL-Durchsetzung kann statisch oder dynamisch erfolgen. Bei der statischen Durchsetzung kann die Durchsetzung vollständig stattfinden, bevor der Code ausgeführt wird, so dass während der Codeausführung keine Durchsetzung erforderlich ist. Bei der dynamischen Durchsetzung muss die Durchsetzung während der Ausführung des Codes erfolgen. Wenn die CA selbst die ACL überprüft und gewährleistet, dass die Berechtigungen und Betriebsmittel durch den Code nicht überschritten werden, ist die ACL-Durchsetzungsfunktion für das Client-System möglicherweise nicht notwendig.
  • 4 zeigt die vom ACL-Durchsetzungsprogramm verwendeten Datenstrukturen. Die Tabelle 300 der physischen Betriebsmittel während der Laufzeit (Runtime Physical Resources Table, RPRT) enthält eine Zeile für jedes Betriebsmittel. Der Betriebsmittelname 300, das Betriebsmittelattribut 310, die maximale Verbrauchsrate 315 und die maximale Menge 320 sind Kopien der entsprechenden Felder in der PRT 200. Die Felder für die tatsächliche Verbrauchsrate 325 und den tatsächlichen Verbrauch 330 dienen zur Erfassung der tatsächlichen Verbrauchsrate bzw. des tatsächlichen Verbrauchs durch den Code während der Laufzeit. Die Tabelle 350 der logischen Betriebsmittel während der Laufzeit (Runtime Logical Resources Table, RLRT) enthält eine Zeile für jedes erforderliche logische Betriebsmittel. Die RLRT ist eine Kopie der LRT mit einem zusätzlichen Merker, der für jede gültige Kombination von Parametern angibt, ob die Kombination vom ACL-Verwaltungsprogramm zugelassen ist. Der Name 355 des logischen Betriebsmittels (Logical Resource Name, LRN) ist eine Kopie des entsprechenden Felds der LRT 250, und die Parameterliste 360 verweist auf eine Liste 365 der Laufzeit-Parametereinträge (Runtime Parameter Entries, RPE). Der Parametertyp 370 und die Parameterwerte der Laufzeit-Parametereinträge 375 sind Kopien der entsprechenden Felder in der LRT. Das Feld nextPE 380 verweist auf den nächsten Laufzeit-Parametereintrag 365, und das Zulässigkeitsfeld 385 kann auf JA oder NEIN gesetzt werden, um anzuzeigen, ob dieser Laufzeit-Parametereintrag 365 zulässig ist. Das ACL-Durchsetzungsprogramm erfasst außerdem die Code-Startzeit 395.
  • 5 zeigt, wie Berechtigungen für logische Betriebsmittel durch das ACL-Durchsetzungsprogramm durchgesetzt werden. Dieser Pfad wird immer dann aufgerufen, wenn der Code eine externe Funktion aufruft. In Schritt 410 ermittelt das ACL-Durchsetzungsprogramm die Anzahl der Parameter, ihre Werte und den Namen der aufgerufenen Funktion. Die genaue Art und Weise, wie dies geschieht, ist abhängig von der Ausführungsform; so befinden sie sich in Java z. B. auf dem Operandenstapel. In Schritt 415 ermittelt das ACL-Durchsetzungsprogramm die Zeile für diese Funktion in der RLRT 350 sowie den ersten RPE 365, dessen Zulässigkeitsfeld auf JA gesetzt wurde. Wenn der Name der Funktion nicht gefunden wird oder wenn es keinen derartigen RPE 365 gibt, fährt das ACL-Durchsetzungsprogramm mit Schritt 455 fort und beendet die Routine, wobei es angibt, dass der Aufruf nicht zulässig ist. In Schritt 420 ermittelt das ACL-Durchsetzungsprogramm den Wert des ersten Parameters und macht ihn zum aktuellen Parameter. In Schritt 425 prüft das ACL-Durchsetzungsprogramm, ob der Wert des aktuellen Parameters durch den RPE 365 zugelassen ist. Wenn der Wert zulässig ist, prüft das ACL-Durchsetzungsprogramm in Schritt 430, ob es noch mehr Parameter gibt. Wenn dies der Fall ist, setzt das ACL-Durchsetzungsprogramm in Schritt 435 den aktuellen Parameter auf den nächsten Parameter und kehrt zu Schritt 425 zurück. Wenn in Schritt 430 keine weiteren Parameter gefunden werden, fährt das ACL-Durchsetzungsprogramm mit Schritt 450 fort und gibt eine Rückmeldung aus, dass der Aufruf zulässig ist.
  • Wenn die Zulässigkeitsprüfung in Schritt 425 nicht erfolgreich ist, fährt das ACL-Durchsetzungsprogramm mit Schritt 445 fort und überprüft die RLRT 350, um einen anderen RPE 365 zu finden, dessen Zulässigkeitsfeld 385 auf JA gesetzt ist. Wenn kein derartiger RPE vorhanden ist, kehrt das ACL-Durchsetzungsprogramm zu Schritt 455 zurück und beendet die Routine, wobei es angibt, dass der Aufruf nicht zulässig ist. Wenn es einen derartigen RPE 365 gibt, fährt das ACL-Durchsetzungsprogramm mit Schritt 420 fort.
  • 6 zeigt, wie Anforderungen für physische Betriebsmittel durch das ACL-Durchsetzungsprogramm durchgesetzt werden. Das ACL-Durchsetzungsprogramm wird in Schritt 500 aufgerufen, bevor das Betriebsmittel zugeteilt wird. Es werden zwei Parameter, die Menge des angeforderten Betriebsmittels (Amount of the Resource Requested, REQAMT) und die geschätzte Dauer des Betriebsmittelverbrauchs (Time of Consumption, COMPT) bereitgestellt. Für Festplatten-E/A ist die REQAMT die Anzahl der Festplatten-E/A, und die COMPT ist die geschätzte Dauer für die E/A-Durchsetzung. In Schritt 505 ermittelt das ACL-Durchsetzungsprogramm die Zeile in der RPRT 300 für dieses Betriebsmittel und überprüft, ob die maximale Menge 320 angegeben ist und ob der tatsächliche Verbrauch plus der REQAMT die maximale Menge 320 übersteigt. Wenn dies der Fall ist, meldet es in Schritt 527 einen Fehler, der angibt, dass der Verbrauch nicht zulässig ist. Wenn die maximale Menge 320 nicht überschritten wird, berechnet das ACL-Durchsetzungsprogramm in Schritt 510 die veranschlagte Verbrauchsrate dieses Betriebsmittels als (tatsächlichen Verbrauch 330 + REQAMT)/(aktuelle Zeit – Code-Startzeit 395 + COMPT). In Schritt 515 prüft das ACL-Durchsetzungsprogramm, ob die maximale Verbrauchsrate 315 angegeben ist und ob die veranschlagte Verbrauchsrate größer ist als die maximale Verbrauchsrate 315. Wenn die maximale Verbrauchsrate 315 nicht angegeben ist oder wenn die veranschlagte Verbrauchsrate nicht größer ist, gibt das ACL-Durchsetzungsprogramm eine Meldung aus, dass der Verbrauch zulässig ist. Wenn die veranschlagte Verbrauchsrate größer ist, berechnet das ACL-Durchsetzungsprogramm in Schritt 530 die erforderliche Verzögerung für die Durchsetzung dieser Operation als (tatsächlicher Verbrauch 300 + REQAMT)/maximale Verbrauchsrate 315 – (aktuelle Zeit – Code-Startzeit 395 – COMPT) und gibt die erforderliche Verzögerung mit einer Meldung zurück, die besagt, dass der Verbrauch um die berechnete Verzögerung verzögert werden muss.
  • In Schritt 550 wird das ACL-Durchsetzungsprogramm aufgerufen, nachdem das Betriebsmittel mit einem Parameter, der die Menge des verbrauchten Betriebsmittels (CONSAMT) angibt, verbraucht wurde. Darauf aktualisiert das ACL-Durchsetzungsprogramm die tatsächliche Verbrauchsrate 325 und den tatsächlichen Verbrauch 330.
  • Verschiedenen Benutzern können auch unterschiedliche Betriebsmittel und Berechtigungen des empfangenden Systems für ein und denselben Code zugewiesen werden. Dies kann entweder zum Zeitpunkt der Installation des Codes vom ACL-Verwaltungsprogramm durchgeführt werden, indem die Berechtigungen der verschiedenen Benutzer betrachtet und mit den Betriebsmitteln und Berechtigungen verknüpft werden, die für den Code zulässig sind. In diesem Fall muss der Satz von Betriebsmitteln und Berechtigungen für jeden Benutzer getrennt gespeichert werden. Bei der Codeausführung werden die Betriebsmittel und Berechtigungen auf einer Benutzerbasis durchgesetzt. Alternativ hierzu können die Betriebsmittel und Berechtigungen während der Ausführung des Codes vom ACL-Durchsetzungsprogramm ermittelt werden, indem die Berechtigungen der verschiedenen Benutzer betrachtet und mit den Betriebsmitteln und Berechtigungen verknüpft werden, die für den Code zulässig sind.
  • 7 zeigt den Pseudocode für die Operationen zur Überprüfung der Unversehrtheit, zur Ausführung und die Durchsetzungsinitialisierung des Client-Systems. Dabei sollte klar sein, dass die verschiedenen hier beschriebenen Tabellen, Listenmerker und anderen Datenstrukturen an speziellen Speicherorten des Client-Systems abgelegt sind (z. B. im flüchtigen Arbeitsspeicher, auf der Festplatte oder in einer Kombination beider Speicherarten). Wie bereits erwähnt, sind das ACL-Durchsetzungs- und ACL-Verwaltungsprogramm vorzugsweise als Programmcode ausgeführt, der mit dem Betriebssystem des Client-Systems verknüpft oder in dieses eingebettet ist. 8 zeigt den Pseudocode für das ACL-Verwaltungsprogramm. 9 zeigt den Pseudocode für das ACL-Durchsetzungsprogramm.
  • Nachdem die Erfindung nun mit Blick auf die bevorzugte Ausführungsform beschrieben wurde, sind für den Fachmann verschiedene Änderungen und Verbesserungen offensichtlich. Somit sollte klar sein, dass die bevorzugte Ausführungsform als Beispiel und nicht als Beschränkung der Ansprüche bereitgestellt wurde.
  • Zusammenfassend wird eine Art des Echtheitsnachweises beschrieben, bei dem eine vertrauenswürdige Fremdpartei ein Zertifikat unterzeichnet, um so den Verfasser eines Programms anzugeben und die Unversehrtheit des Programms zu gewährleisten. Der Programmcode ist gekapselt oder zu dem Zertifikat und zu einer Zugriffskontrollliste (ACL) zugehörig. Die Zugriffskontrollliste beschreibt die von dem Code benötigten Berechtigungen und Betriebsmittel. Ein Durchsetzungsmechanismus weist Systemberechtigungen und Betriebsmittel gemäß der ACL zu.
  • In einer bevorzugten Ausführungsform kommuniziert ein System für die Codeerzeugung mit einer Zertifizierungsstelle, bei der es sich um eine vertrauenswürdige Fremdpartei handelt. Die Zertifizierungsstelle gibt ein Zertifikat für den Code sowie ein Zertifikat für die Zugriffskontrollliste für diesen Code aus. Nach der Ausgabe des Zertifikats kann der Code bzw. die Zugriffskontrollliste von niemandem geändert werden, ohne dass das Zertifikat seine Gültigkeit verliert. Der Code und seine ACL werden mit ihren Zertifikaten auf einem Server gespeichert. Ein Client, der den Code oder die Zugriffskontrollliste herunterlädt, kann die Unversehrtheit des Codes bzw. der Zugriffskontrollliste überprüfen, und das System kann die Anwendung der Zugriffskontrollliste durchsetzen, so dass die Berechtigungen und Betriebsmittel nicht überschritten werden.

Claims (11)

  1. Verfahren für die Verteilung von Programmcode, das die Schritte umfasst, mit denen einem Empfängersystem (30) eine vertrauenswürdige Fremd-Zertifizierung (150) zur Verfügung gestellt wird, wobei die vertrauenswürdige Fremd-Zertifizierung (150) eine computerlesbare Beschreibung der Betriebsmittel und Berechtigungen beinhaltet, die für die nachgewiesenermaßen ungefährliche Ausführung des Codes (200) notwendig sind, dadurch gekennzeichnet, dass die Beschreibungen der erforderlichen Betriebsmittel Daten beinhalten, die sowohl eine Mengenangabe zu einem jeden Betriebsmittel beschreiben, das von dem Code genutzt wird, als auch eine maximale Verbrauchsrate eines jeden Betriebsmittels durch den Code.
  2. Verfahren nach Anspruch 1, wobei die Bereitstellung den Schritt der Kapselung der Zertifizierung mit dem Programmcode umfasst.
  3. Verfahren nach Anspruch 1 oder 2, das die weiteren Schritte des Lesens (410) der Zertifizierung durch das Empfängersystem und des Zuweisens (520) von Betriebsmitteln und Berechtigungen des Empfängersystems auf eine Art und Weise umfasst, dass die in der Zertifizierung vorgegebenen Berechtigungen nicht überschritten werden.
  4. Verfahren nach Anspruch 1, 2 oder 3, das die weiteren Schritte umfasst, mit denen dem Code Zugriff auf und Berechtigungen für die Betriebsmittel des Empfängersystems verweigert oder gestattet wird bzw. werden, wobei vom Benutzer ausgewählte, der Zertifizierung zugehörige Optionen berücksichtigt werden.
  5. Verfahren nach einem beliebigen der Ansprüche 1 bis 4, wobei die computerlesbare Beschreibung der Betriebsmittel und Berechtigungen dem Empfängersystem in verschlüsselter Form bereitgestellt wird.
  6. Verfahren nach einem beliebigen der Ansprüche 1 bis 5, wobei die Zertifizierung weiterhin verschlüsselte Prüfdaten beinhaltet und wobei das Empfängersystem die Prüfdaten entschlüsselt, um so die Unversehrtheit der Beschreibung der Betriebsmittel und Berechtigungen zu überprüfen.
  7. Verfahren nach einem beliebigen der Ansprüche 1 bis 6, wobei die Beschreibungen der erforderlichen Berechtigungen Daten beinhalten, die bestimmte Leistungsmerkmale des Empfängersystems beschreiben, auf die durch den Code zugegriffen werden soll.
  8. Verfahren nach einem beliebigen der Ansprüche 1 bis 7, wobei die Fremd-Zertifizierung eine Beschreibung der Funktionalität des Codes beinhaltet, wie diese durch die Fremdpartei geprüft wurde.
  9. Verfahren nach einem beliebigen der Ansprüche 1 bis 8, wobei der Programmcode ein Applet ist, das als ein Programmobjekt von einem Server heruntergeladen wurde.
  10. Verfahren nach einem beliebigen der Ansprüche 1 bis 8, wobei verschiedenen Benutzern für denselben Code unterschiedliche Betriebsmittel und Berechtigungen des Empfängersystems zugewiesen werden.
  11. Verfahren nach Anspruch 10, wobei der unterschiedlichen Benutzern zur Verfügung gestellte Satz an Betriebsmitteln und Berechtigungen während der Installation des Codes oder während der Ausführung des Codes festgelegt wird.
DE69732323T 1996-06-11 1997-05-20 Unterstützung für die Verteilung von vertrauter Software Expired - Lifetime DE69732323T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/661,517 US5825877A (en) 1996-06-11 1996-06-11 Support for portable trusted software
US661517 1996-06-11

Publications (2)

Publication Number Publication Date
DE69732323D1 DE69732323D1 (de) 2005-03-03
DE69732323T2 true DE69732323T2 (de) 2005-12-22

Family

ID=24653934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732323T Expired - Lifetime DE69732323T2 (de) 1996-06-11 1997-05-20 Unterstützung für die Verteilung von vertrauter Software

Country Status (6)

Country Link
US (1) US5825877A (de)
EP (1) EP0813132B1 (de)
JP (1) JP3701773B2 (de)
KR (1) KR100267872B1 (de)
DE (1) DE69732323T2 (de)
TW (1) TW318230B (de)

Families Citing this family (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
DE69434381T2 (de) 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
US5978484A (en) * 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US5987123A (en) * 1996-07-03 1999-11-16 Sun Microsystems, Incorporated Secure file system
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US6148401A (en) * 1997-02-05 2000-11-14 At&T Corp. System and method for providing assurance to a host that a piece of software possesses a particular property
US6167522A (en) * 1997-04-01 2000-12-26 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6381698B1 (en) 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
JPH1131105A (ja) * 1997-07-10 1999-02-02 Fuji Xerox Co Ltd データカプセル生成装置および方法
US6275938B1 (en) * 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6032257A (en) * 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
KR100246608B1 (ko) * 1997-11-13 2000-03-15 이계철 웹 인포샵 서비스 시스템의 대체 인증 및 대체 과금 방법
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6457130B2 (en) * 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
JPH11282672A (ja) * 1998-03-31 1999-10-15 Hitachi Software Eng Co Ltd オンラインプログラム転送方法およびオンラインプログラム実行システム
US6298443B1 (en) * 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
WO1999066383A2 (en) * 1998-06-15 1999-12-23 Dmw Worldwide, Inc. Method and apparatus for assessing the security of a computer system
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6138235A (en) * 1998-06-29 2000-10-24 Sun Microsystems, Inc. Controlling access to services between modular applications
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6694434B1 (en) * 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
JP3873624B2 (ja) * 1999-01-13 2007-01-24 株式会社日立製作所 モバイルコードの実行方法およびそのシステム
JP4294142B2 (ja) 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
WO2000054127A1 (en) * 1999-03-08 2000-09-14 Spyrus, Inc. Method and system for enforcing access to a computing resource using a licensing certificate
JP3098513B1 (ja) 1999-04-14 2000-10-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 改変判定装置およびその方法
US6449720B1 (en) * 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
US6816965B1 (en) 1999-07-16 2004-11-09 Spyrus, Inc. Method and system for a policy enforcing module
US6954777B1 (en) * 1999-07-29 2005-10-11 International Business Machines Corporation Method for extending capabilities of an arbitrary web server
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
KR100367094B1 (ko) * 1999-10-22 2003-01-06 한국전자통신연구원 컴퓨터 프로그램 온라인 유통 방법
CA2287871C (en) * 1999-11-01 2007-07-31 Ibm Canada Limited-Ibm Canada Limitee Secure document management system
US6571030B1 (en) 1999-11-02 2003-05-27 Xros, Inc. Optical cross-connect switching system
US6792174B1 (en) 1999-11-02 2004-09-14 Nortel Networks Limited Method and apparatus for signaling between an optical cross-connect switch and attached network equipment
US6597826B1 (en) 1999-11-02 2003-07-22 Xros, Inc. Optical cross-connect switching system with bridging, test access and redundancy
US6882765B1 (en) 1999-11-02 2005-04-19 Xros, Inc. Connection protection between clients and optical cross-connect switches
US6650803B1 (en) * 1999-11-02 2003-11-18 Xros, Inc. Method and apparatus for optical to electrical to optical conversion in an optical cross-connect switch
FR2801451B1 (fr) * 1999-11-22 2002-02-08 Cit Alcatel Procede de validation de donnees dans un terminal
US6883120B1 (en) 1999-12-03 2005-04-19 Network Appliance, Inc. Computer assisted automatic error detection and diagnosis of file servers
JP2001175467A (ja) * 1999-12-07 2001-06-29 Kizna.Com Inc コンピュータのセキュリティー確保方法及びそのプログラムを記録した媒体
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
JP3546787B2 (ja) * 1999-12-16 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御システム、アクセス制御方法、及び記憶媒体
US6928550B1 (en) 2000-01-06 2005-08-09 International Business Machines Corporation Method and system for generating and using a virus free file certificate
DE10008974B4 (de) * 2000-02-25 2005-12-29 Bayerische Motoren Werke Ag Signaturverfahren
DE10008973B4 (de) * 2000-02-25 2004-10-07 Bayerische Motoren Werke Ag Autorisierungsverfahren mit Zertifikat
EP1132796A1 (de) * 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobiler Kode und Verfahren zur Betriebsmittelverwaltung für mobilen Kode
GB2366640B (en) * 2000-03-30 2004-12-29 Ibm Distribution of activation information
JP2004534973A (ja) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド ネットワークデバイスのアップグレードシステム及び方法
US7093135B1 (en) * 2000-05-11 2006-08-15 Cybersoft, Inc. Software virus detection methods and apparatus
US20040158353A1 (en) * 2000-05-30 2004-08-12 Poterek Michael G. Inspection equipment integrity enhancement system
US6714930B1 (en) 2000-05-31 2004-03-30 International Business Machines Corporation Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers
JP4095232B2 (ja) * 2000-05-31 2008-06-04 日本電信電話株式会社 アプリケーション管理・運用方法及びシステム及びコンピュータ読み取り可能な記録媒体
AU2000252248A1 (en) * 2000-06-14 2001-12-24 Smarttrust Systems Oy Interpretation of the identity of an entity
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US7360082B1 (en) * 2000-06-19 2008-04-15 International Business Machines Corporation System and method for downloading security context elements governing execution of downloadable and distributable agents
US6981281B1 (en) 2000-06-21 2005-12-27 Microsoft Corporation Filtering a permission set using permission requests associated with a code assembly
US7699699B2 (en) 2000-06-23 2010-04-20 Igt Gaming device having multiple selectable display interfaces based on player's wagers
DE10035171A1 (de) 2000-07-19 2002-02-07 Siemens Ag Verfahren zur Bereitstellung eines Programmoduls in einem Kommunikationssystem
JP4503794B2 (ja) * 2000-07-19 2010-07-14 株式会社日立製作所 コンテンツ提供方法及び装置
US6948060B1 (en) * 2000-08-11 2005-09-20 Intel Corporation Method and apparatus for monitoring encrypted communication in a network
DE10043499A1 (de) 2000-09-01 2002-03-14 Bosch Gmbh Robert Verfahren zur Datenübertragung
US20020144122A1 (en) * 2001-04-03 2002-10-03 S.W.I.F.T. System and method for facilitating trusted transactions between businesses
US6807577B1 (en) 2000-09-14 2004-10-19 International Business Machines Corporation System and method for network log-on by associating legacy profiles with user certificates
US6883098B1 (en) 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
JP2002132585A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録媒体、および情報記録方法、情報再生方法、並びにプログラム提供媒体
TW584801B (en) * 2000-12-11 2004-04-21 Ntt Docomo Inc Terminal and repeater
JP2002182983A (ja) * 2000-12-13 2002-06-28 Sharp Corp データベースへのアクセス制御方法、データベース装置、リソースへのアクセス制御方法、情報処理装置
US20020078380A1 (en) * 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
NZ536782A (en) 2001-01-31 2005-10-28 Ntt Docomo Inc System for program delivery to a storage module of a mobile terminal
FR2820848B1 (fr) * 2001-02-13 2003-04-11 Gemplus Card Int Gestion dynamique de listes de droits d'acces dans un objet electronique portable
DE60100363T2 (de) 2001-05-11 2004-05-06 Sospita A/S Sequenznummerierungsmechanismus zur sicherung der ausführungsordnungs-integrietät von untereinander abhängigen smart-card anwendungen
EP1391810A4 (de) 2001-05-14 2008-04-16 Ntt Docomo Inc System zur verwaltung eines in einem speicherblock eines mobilen endgeräts gespeicherten programms
US7320027B1 (en) * 2001-05-14 2008-01-15 At&T Corp. System having generalized client-server computing
JP2002351563A (ja) * 2001-05-30 2002-12-06 Canon Inc 情報処理装置、情報処理方法およびプログラム
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
US20030167350A1 (en) * 2001-06-07 2003-09-04 Curl Corporation Safe I/O through use of opaque I/O objects
US7065783B2 (en) * 2001-07-06 2006-06-20 Aramira Corporation Mobile application access control list security system
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7380271B2 (en) * 2001-07-12 2008-05-27 International Business Machines Corporation Grouped access control list actions
GB0119629D0 (en) 2001-08-10 2001-10-03 Cryptomathic As Data certification method and apparatus
US6687638B2 (en) * 2001-08-10 2004-02-03 General Hills, Inc. Inspection equipment integrity enhancement system
DE10140721A1 (de) * 2001-08-27 2003-03-20 Bayerische Motoren Werke Ag Verfahren zur Bereitstellung von Software zur Verwendung durch ein Steuergerät eines Fahrzeugs
EP1289326A1 (de) * 2001-08-30 2003-03-05 Motorola, Inc. Verfahren und Gerät zum Überprüfen von heruntergeladener Software
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
AU2003220927A1 (en) * 2002-04-03 2003-10-13 Ntt Docomo, Inc. Distribution method, distribution system, and terminal device
JP3818504B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
EP1361527A1 (de) * 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Verfahren zum Laden einer Anwendung in einem Gerät, Gerät und Chipkarte dafür
US7900048B2 (en) * 2002-05-07 2011-03-01 Sony Ericsson Mobile Communications Ab Method for loading an application in a device, device and smart card therefor
JP2003337716A (ja) 2002-05-20 2003-11-28 Ntt Docomo Inc 電子機器、データ共用方法、プログラム及び記憶媒体
US8155314B2 (en) 2002-06-24 2012-04-10 Microsoft Corporation Systems and methods for securing video card output
AU2003242968A1 (en) * 2002-07-16 2004-02-02 Haim Engler Automated network security system and method
GB2391341A (en) * 2002-07-31 2004-02-04 Hewlett Packard Co A method of validating the rights of a user to participate in an interactive computer environment
US7162744B2 (en) * 2002-08-27 2007-01-09 Micron Technology, Inc. Connected support entitlement system and method of operation
JP4073284B2 (ja) 2002-10-03 2008-04-09 大日本印刷株式会社 通信管理システム、携帯端末装置および通信管理プログラム
KR100499669B1 (ko) * 2002-10-18 2005-07-05 한국과학기술정보연구원 자원할당 시스템 및 방법
EP1420323A1 (de) * 2002-11-18 2004-05-19 Koninklijke KPN N.V. Verfahren und System zur Verteilung von Software-Komponenten
JP2006508436A (ja) 2002-11-28 2006-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルをハイパーリンクするための方法及びシステム
FI20022278A (fi) 2002-12-27 2004-06-28 Nokia Corp Menetelmä ja järjestelmä ohjelman testaamiseksi ja laite
EP1582053A4 (de) * 2002-12-31 2006-04-12 Motorola Inc System und verfahren zur verteiltenautorisierung für zugang zu einem kommunikationsgerät
US7401105B2 (en) 2003-10-02 2008-07-15 International Business Machines Corporation Method, system, and program product for retrieving file processing software
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
DE10309507A1 (de) * 2003-03-05 2004-09-16 Volkswagen Ag Verfahren und Einrichtung zur Wartung von sicherheitsrelevanten Programmcode eines Kraftfahrzeuges
GB2399902A (en) * 2003-03-28 2004-09-29 Hewlett Packard Development Co Security in trusted computing systems
JP4248913B2 (ja) * 2003-03-31 2009-04-02 株式会社エヌ・ティ・ティ・ドコモ 端末装置、プログラムおよび通信システム
JP4176533B2 (ja) 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム
GB2400933B (en) * 2003-04-25 2006-11-22 Messagelabs Ltd A method of, and system for, heuristically detecting viruses in executable code by detecting files which have been maliciously altered
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
US20050091658A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
WO2005079038A1 (fr) * 2004-01-14 2005-08-25 France Telecom Procede, terminal mobile, systeme et equipement pour la fourniture d’un service de proximite accessible par l’intermediaire d’un terminal mobile
US8046763B1 (en) * 2004-02-20 2011-10-25 Oracle America, Inc. Regulation of resource requests to control rate of resource consumption
US20050229004A1 (en) * 2004-03-31 2005-10-13 Callaghan David M Digital rights management system and method
CA2561335C (en) * 2004-04-08 2013-03-19 International Business Machines Corporation Method and system for linking certificates to signed files
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US8074287B2 (en) * 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected environment
WO2005106653A1 (en) * 2004-04-30 2005-11-10 Research In Motion Limited System and method of owner application control of electronic devices
DE102004024869A1 (de) * 2004-05-19 2006-01-19 Siemens Ag Verfahren zur Priorisierung von Telekommunikations-Netzwerken in einem Telekommunikations-Endgerät
US20090205037A1 (en) * 2004-06-25 2009-08-13 Nec Corporation Mobile terminal, resource access control system for mobile terminal, and resource access control method in mobile terminal
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US7587594B1 (en) 2004-08-30 2009-09-08 Microsoft Corporation Dynamic out-of-process software components isolation for trustworthiness execution
US8312431B1 (en) * 2004-09-17 2012-11-13 Oracle America, Inc. System and computer readable medium for verifying access to signed ELF objects
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
CN101853355B (zh) 2005-02-14 2013-04-24 松下电器产业株式会社 集成电路
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
WO2006115532A2 (en) * 2005-04-22 2006-11-02 Microsoft Corporation Renewable and individualizable elements of a protected computing environment
CN101189615B (zh) * 2005-04-22 2010-06-09 微软公司 建立并维护受保护计算环境的方法
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US7665098B2 (en) 2005-04-29 2010-02-16 Microsoft Corporation System and method for monitoring interactions between application programs and data stores
US7631198B2 (en) * 2005-05-10 2009-12-08 Seagate Technology Protocol scripting language for safe execution in embedded system
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US7841939B2 (en) 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8137188B2 (en) 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US7664924B2 (en) * 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US10503418B2 (en) 2005-12-01 2019-12-10 Drive Sentry Limited System and method to secure a computer system by selective control of write access to a data storage medium
US9600661B2 (en) * 2005-12-01 2017-03-21 Drive Sentry Limited System and method to secure a computer system by selective control of write access to a data storage medium
JP4556857B2 (ja) * 2005-12-07 2010-10-06 セイコーエプソン株式会社 情報配信装置、情報配信装置の制御方法および制御プログラム
US7788181B2 (en) * 2005-12-27 2010-08-31 Microsoft Corporation Software licensing using certificate issued by authorized authority
US8332906B2 (en) 2006-02-27 2012-12-11 Research In Motion Limited Method of customizing a standardized IT policy
JP4419977B2 (ja) * 2006-03-31 2010-02-24 ブラザー工業株式会社 プログラム作成装置、及びプログラム
US8751946B2 (en) * 2006-04-05 2014-06-10 International Business Machines Corporation Enhanced display of properties for a program object
US8812556B2 (en) * 2006-04-06 2014-08-19 International Business Machines Corporation Storing modification data for recreating modifications
US7716653B2 (en) * 2006-04-06 2010-05-11 International Business Machines Corporation Configurable importers and resource writers for converting data into another format
US8512130B2 (en) 2006-07-27 2013-08-20 Igt Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award
US8615801B2 (en) * 2006-08-31 2013-12-24 Microsoft Corporation Software authorization utilizing software reputation
US8616959B2 (en) 2006-09-27 2013-12-31 Igt Server based gaming system having system triggered loyalty award sequences
US7862430B2 (en) 2006-09-27 2011-01-04 Igt Server based gaming system having system triggered loyalty award sequences
US7674180B2 (en) 2006-09-27 2010-03-09 Igt Server based gaming system having system triggered loyalty award sequences
WO2008135692A1 (fr) * 2007-03-30 2008-11-13 France Telecom Gestion d'acces a des ressources d'un systeme d'exploitation
US7900248B2 (en) * 2007-05-31 2011-03-01 Microsoft Corporation Access control negation using negative groups
US20080307486A1 (en) * 2007-06-11 2008-12-11 Microsoft Corporation Entity based access management
US8468579B2 (en) * 2007-06-15 2013-06-18 Microsoft Corporation Transformation of sequential access control lists utilizing certificates
US7985133B2 (en) 2007-07-30 2011-07-26 Igt Gaming system and method for providing an additional gaming currency
US8900053B2 (en) 2007-08-10 2014-12-02 Igt Gaming system and method for providing different bonus awards based on different types of triggered events
US9142097B2 (en) 2007-10-26 2015-09-22 Igt Gaming system and method for providing play of local first game and remote second game
JP2008123514A (ja) * 2007-10-29 2008-05-29 Ntt Docomo Inc 配信方法および配信システム
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US20090164919A1 (en) 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment
EP2252957A1 (de) * 2008-03-04 2010-11-24 Apple Inc. Verwaltung von codeberechtigungen für software-entwickler in sicheren operationsumgebungen
JP5159375B2 (ja) 2008-03-07 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム
KR101590188B1 (ko) * 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
US9039516B2 (en) 2009-07-30 2015-05-26 Igt Concurrent play on multiple gaming machines
US8782086B2 (en) * 2009-08-27 2014-07-15 Cleversafe, Inc. Updating dispersed storage network access control information
EP2534604A4 (de) * 2010-02-11 2013-12-04 Hewlett Packard Development Co Zugang zu ausführbaren dateien auf identitätsbasis
US9205328B2 (en) 2010-02-18 2015-12-08 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US9682324B2 (en) 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
JP5132730B2 (ja) * 2010-07-20 2013-01-30 株式会社エヌ・ティ・ティ・ドコモ 配信方法および配信システム
JP5429880B2 (ja) * 2010-08-10 2014-02-26 Necビッグローブ株式会社 アプリケーション配布システム、アプリケーション配布方法、端末及びプログラム
US8788815B1 (en) * 2011-01-31 2014-07-22 Gazzang, Inc. System and method for controlling access to decrypted data
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
JP5734095B2 (ja) * 2011-05-30 2015-06-10 三菱電機株式会社 端末装置およびサーバ装置および電子証明書発行システムおよび電子証明書受信方法および電子証明書送信方法およびプログラム
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US10137376B2 (en) 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
JP5612748B2 (ja) * 2013-10-07 2014-10-22 ソフトバンクモバイル株式会社 通信端末装置
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
JP6471698B2 (ja) 2014-02-06 2019-02-20 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及びサーバ
US9998914B2 (en) 2014-04-16 2018-06-12 Jamf Software, Llc Using a mobile device to restrict focus and perform operations at another mobile device
US10322351B2 (en) 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
US9647897B2 (en) 2014-08-20 2017-05-09 Jamf Software, Llc Dynamic grouping of managed devices
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US11351466B2 (en) 2014-12-05 2022-06-07 Activision Publishing, Ing. System and method for customizing a replay of one or more game events in a video game
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
US10148662B1 (en) * 2015-01-21 2018-12-04 EMC IP Holding Company LLC De-duplication of access control lists
US10486068B2 (en) 2015-05-14 2019-11-26 Activision Publishing, Inc. System and method for providing dynamically variable maps in a video game
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10286314B2 (en) 2015-05-14 2019-05-14 Activision Publishing, Inc. System and method for providing continuous gameplay in a multiplayer video game through an unbounded gameplay session
US10668367B2 (en) 2015-06-15 2020-06-02 Activision Publishing, Inc. System and method for uniquely identifying physical trading cards and incorporating trading card game items in a video game
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US9972171B2 (en) 2015-09-24 2018-05-15 Igt Gaming system and method for providing a triggering event based on a collection of units from different games
US10099140B2 (en) 2015-10-08 2018-10-16 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US11185784B2 (en) 2015-10-08 2021-11-30 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10245509B2 (en) 2015-10-21 2019-04-02 Activision Publishing, Inc. System and method of inferring user interest in different aspects of video game streams
US10376781B2 (en) 2015-10-21 2019-08-13 Activision Publishing, Inc. System and method of generating and distributing video game streams
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access
US10226703B2 (en) 2016-04-01 2019-03-12 Activision Publishing, Inc. System and method of generating and providing interactive annotation items based on triggering events in a video game
US10226701B2 (en) 2016-04-29 2019-03-12 Activision Publishing, Inc. System and method for identifying spawn locations in a video game
US10179289B2 (en) 2016-06-21 2019-01-15 Activision Publishing, Inc. System and method for reading graphically-encoded identifiers from physical trading cards through image-based template matching
US10586380B2 (en) 2016-07-29 2020-03-10 Activision Publishing, Inc. Systems and methods for automating the animation of blendshape rigs
US10463964B2 (en) 2016-11-17 2019-11-05 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible heatmaps
US10709981B2 (en) 2016-11-17 2020-07-14 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible barrier-aware heatmaps
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10055880B2 (en) 2016-12-06 2018-08-21 Activision Publishing, Inc. Methods and systems to modify a two dimensional facial image to increase dimensional depth and generate a facial image that appears three dimensional
US10861079B2 (en) 2017-02-23 2020-12-08 Activision Publishing, Inc. Flexible online pre-ordering system for media
US11392716B2 (en) 2017-05-12 2022-07-19 Jamf Software, Llc Mobile device management at a healthcare facility
US10818060B2 (en) 2017-09-05 2020-10-27 Activision Publishing, Inc. Systems and methods for guiding motion capture actors using a motion reference system
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10537809B2 (en) 2017-12-06 2020-01-21 Activision Publishing, Inc. System and method for validating video gaming data
US10463971B2 (en) 2017-12-06 2019-11-05 Activision Publishing, Inc. System and method for validating video gaming data
US10981051B2 (en) 2017-12-19 2021-04-20 Activision Publishing, Inc. Synchronized, fully programmable game controllers
US10765948B2 (en) 2017-12-22 2020-09-08 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11278813B2 (en) 2017-12-22 2022-03-22 Activision Publishing, Inc. Systems and methods for enabling audience participation in bonus game play sessions
US10596471B2 (en) 2017-12-22 2020-03-24 Activision Publishing, Inc. Systems and methods for enabling audience participation in multi-player video game play sessions
US11263670B2 (en) 2018-11-19 2022-03-01 Activision Publishing, Inc. Systems and methods for dynamically modifying video game content based on non-video gaming content being concurrently experienced by a user
US11192028B2 (en) 2018-11-19 2021-12-07 Activision Publishing, Inc. Systems and methods for the real-time customization of video game content based on player data
US11115712B2 (en) 2018-12-15 2021-09-07 Activision Publishing, Inc. Systems and methods for indexing, searching for, and retrieving digital media
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11305191B2 (en) 2018-12-20 2022-04-19 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US10623520B1 (en) * 2019-06-13 2020-04-14 Sailpoint Technologies, Inc. System and method for tagging in identity management artificial intelligence systems and uses for same, including context based governance
US11344808B2 (en) 2019-06-28 2022-05-31 Activision Publishing, Inc. Systems and methods for dynamically generating and modulating music based on gaming events, player profiles and/or player reactions
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
CN110620782A (zh) * 2019-09-29 2019-12-27 深圳市珍爱云信息技术有限公司 账户认证方法、装置、计算机设备和存储介质
US11423605B2 (en) 2019-11-01 2022-08-23 Activision Publishing, Inc. Systems and methods for remastering a game space while maintaining the underlying game simulation
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11537209B2 (en) 2019-12-17 2022-12-27 Activision Publishing, Inc. Systems and methods for guiding actors using a motion capture reference system
US11420122B2 (en) 2019-12-23 2022-08-23 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US11563774B2 (en) 2019-12-27 2023-01-24 Activision Publishing, Inc. Systems and methods for tracking and identifying phishing website authors
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11717753B2 (en) 2020-09-29 2023-08-08 Activision Publishing, Inc. Methods and systems for generating modified level of detail visual assets in a video game
US11833423B2 (en) 2020-09-29 2023-12-05 Activision Publishing, Inc. Methods and systems for generating level of detail visual assets in a video game
US11724188B2 (en) 2020-09-29 2023-08-15 Activision Publishing, Inc. Methods and systems for selecting a level of detail visual asset during the execution of a video game
US11439904B2 (en) 2020-11-11 2022-09-13 Activision Publishing, Inc. Systems and methods for imparting dynamic and realistic movement to player-controlled avatars in video games
US11853439B2 (en) 2020-12-30 2023-12-26 Activision Publishing, Inc. Distributed data storage system providing enhanced security
US11794107B2 (en) 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH047659A (ja) * 1990-04-25 1992-01-13 Toshiba Corp 複合計算機システム
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems
GB9126779D0 (en) * 1991-12-17 1992-02-12 Int Computers Ltd Security mechanism for a computer system
ES2128393T3 (es) * 1992-05-15 1999-05-16 Addison M Fischer Metodo y aparato para sistemas de ordenador con estructuras de datos de informacion para programas de autorizacion.
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5450593A (en) * 1992-12-18 1995-09-12 International Business Machines Corp. Method and system for controlling access to objects in a data processing system based on temporal constraints
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
JPH0822393A (ja) * 1994-07-07 1996-01-23 Nec Corp 動的ローディング制御装置
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control

Also Published As

Publication number Publication date
DE69732323D1 (de) 2005-03-03
JP3701773B2 (ja) 2005-10-05
TW318230B (en) 1997-10-21
KR980004069A (ko) 1998-03-30
EP0813132A2 (de) 1997-12-17
US5825877A (en) 1998-10-20
KR100267872B1 (ko) 2000-10-16
EP0813132A3 (de) 2003-01-15
EP0813132B1 (de) 2005-01-26
JPH1083310A (ja) 1998-03-31

Similar Documents

Publication Publication Date Title
DE69732323T2 (de) Unterstützung für die Verteilung von vertrauter Software
DE60127557T2 (de) Filtern eines erlaubnissets mit hilfe von erlaubnisanfragen die mit einer kodeanordnung verknüpft sind
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE69838378T2 (de) Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten
DE69936384T2 (de) System und verfahren für die sicherheit eines kodes
EP1073939B1 (de) Intelligentes sicherheitsverwaltungsverfahren und -system
DE60036086T2 (de) Berechtigung und zugriffskontrolle von in set-top geräten vorhandenen programmobjekten
DE60015709T2 (de) Sicherheitspolitik, die auf eine Gemeinschaftsdaten-Sicherheitsarchitektur angewendet wird
DE60207812T2 (de) Verfahren und vorrichtung zum dynamischen zuweisen von benutzungsrechten zu digitalen werken
DE60026468T2 (de) Digitales Zertifikat mit Berechtigungsdaten
DE112012002741T5 (de) Identitäts- und Berechtigungsprüfungsverfahren für die Sicherheit einer Cloud-Datenverarbeitungsplattform
DE112011103164T5 (de) Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger,
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE112018005203T5 (de) Authentifizierung unter Verwendung von delegierten Identitäten
DE112018000525T5 (de) Systeme und Verfahren für die Authentifizierung von Platform Trust bzw. Plattform-Vertrauen in einerNetzwerkfunktions-Virtualisierungsumgebung
DE112021005478T5 (de) Verfahren zum schutz eines edge-gerät-vertrauenswerts
DE102004038566A1 (de) Lizenzsteuerung für Web-Anwendungen
DE112011102224T5 (de) Identitätsvermittlung zwischen Client- und Server-Anwendungen
DE10146361B4 (de) Verteiltes System
DE112021005837T5 (de) Dezentrale sendeverschlüsselung und schlüsselerzeugungseinrichtung
EP1010052A1 (de) Verfahren zur steuerung der verteilung und nutzung von software-objekten bei vernetzten rechnern
DE60017438T2 (de) System zur betriebsmittelzugriffsteuerung
EP3497606B1 (de) Individuelles verschlüsseln von steuerbefehlen
WO2022120400A1 (de) Verfahren zum migrieren einer it-anwendung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7