[go: up one dir, main page]

DE19717900A1 - Verfahren und Vorrichtung zur Verarbeitung eines Computer-Applets - Google Patents

Verfahren und Vorrichtung zur Verarbeitung eines Computer-Applets

Info

Publication number
DE19717900A1
DE19717900A1 DE19717900A DE19717900A DE19717900A1 DE 19717900 A1 DE19717900 A1 DE 19717900A1 DE 19717900 A DE19717900 A DE 19717900A DE 19717900 A DE19717900 A DE 19717900A DE 19717900 A1 DE19717900 A1 DE 19717900A1
Authority
DE
Germany
Prior art keywords
applet
applets
file
access
domain
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.)
Granted
Application number
DE19717900A
Other languages
English (en)
Other versions
DE19717900C2 (de
Inventor
Richard Deadman
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.)
Microsemi Semiconductor ULC
Original Assignee
Mitel 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 Mitel Corp filed Critical Mitel Corp
Publication of DE19717900A1 publication Critical patent/DE19717900A1/de
Application granted granted Critical
Publication of DE19717900C2 publication Critical patent/DE19717900C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Description

Die vorliegende Erfindung betrifft das Gebiet der Computer­ netzwerke, und insbesondere ein Verfahren zum Verarbeiten von Computer-Applets auf sichere Art und Weise.
Mit dem Aufkommen des objektbasierenden bzw. objektorientier­ ten Programmierens wurde es möglich, Applets über ein Netz­ werk, wie z. B. das Internet, an verschiedene, mit dem Netz­ werk verbundene Computer zu übertragen. Ein Applet ist ein kleines, unabhängiges Anwendungsprogramm bzw. Applikations­ programm, das einen Computer veranlassen kann, eine bestimmte Funktion aus zuführen, und sowohl Anweisungen für den Betrieb des Computers als auch Daten, welche bei seinem Betrieb zu verarbeiten sind, enthält.
Verschiedene Programmiersprachen wurden zur Erstellung von Applets entworfen, wie z. B. Telescript, SafeTCL, Java, Cyber- Agents und ClearLake Agents. Durch Benutzung von Interpretie­ rern können die verschiedenen Applets Hardware-unabhängig sein, d. h. dasselbe Applet kann von Computerhardware mit ver­ schiedenen Betriebssystemen empfangen und verarbeitet werden. Beispielsweise wäre es möglich, daß dasselbe Applet von einem MacIntosh-Betriebssystem empfangen und verarbeitet wird sowie von einem der Microsoft Windows-Betriebssysteme auf Perso­ nalcomputer-Betriebssystemen, basierend auf einem Intel- Prozessor (z. B. IBM).
Man hat spekuliert, daß die Programme und Daten, welche Com­ puter, die Applets empfangen, benutzen, all das bereitstellen würden, was ein Computer braucht, um in der Lage zu sein, vollständig zu funktionieren, was in einem signifikant weni­ ger kostenträchtigen Computer als gegenwärtig resultieren würde. Dies kommt daher, daß der Computer erwartungsgemäß das Netzwerk als Massenspeicher-Ablage von Programmen und Daten benutzen würde. Programme würden auf einer Benutzungsbasis bezahlt werden, und nicht auf einer Vorauszahlungsbasis und einer Basis der unbeschränkten Benutzung. Jedoch setzt dies voraus, daß ein Benutzer darauf vorbereitet wäre, zu erlau­ ben, daß eine Massenspeicherung zur Speicherung kritischer Daten, insbesondere geschriebener Programme usw. außerhalb seiner Kontrolle wäre. Aus Sicherheitsgründen, glaubt man, ist es wünschenswert und/oder notwendig, einen lokalen Mas­ senspeicher in Zusammenhang mit jedem oder mit den meisten Computern bereitzustellen.
Bei der Speicherung von Daten auf einer lokalen Massenspei­ chervorrichtung entsteht das Problem der Sicherheit in bezug auf den Empfang der Applets vom Netzwerk, da diese Applets auf Dateien zugreifen, diese übertragen oder beschädigen könnten.
Das Sicherheitsproblem wurde bisher auf eine von zwei Arten gehandhabt.
Die erste besteht in der Beschränkung der Benutzung der App­ lets auf ein geschlossenes oder verwaltetes System, wobei Softwarekomponenten Domänennamen erhalten können und alle möglichen Ausführungsplätze mit Listen erlaubter Domänen be­ stückt werden können. Beispielsweise werden im CyberAgents- Programm Domänen zur Steuerung der Ausführung und der Sicher­ heit an entfernt gelegenen Plätzen benutzt. Eine Domäne ist eine Gerichtsbarkeitsgruppe von Applets, welche sich Zu­ griffsrechte teilen.
Der zweite Weg der Handhabung der Sicherheit besteht in der Isolierung der Applets von wichtigen Systemressourcen, wie weiter oben bemerkt. Von einem unkontrollierten Systemnetz­ werk, wie z. B. dem Internet, empfangene Applets wurden am Zu­ griff auf Massenspeichervorrichtungen gehindert und wurden zur Bereitstellung fantasievoller Graphiken und zur Bereit­ stellung einer graphischen Benutzerschnittstelle für das Kun­ den-Server-Computing umgeleitet. Programme zur Erzeugung von Applets in offenen unkontrollierten Systemen sind beispiels­ weise Telescript, SafeTCL und Java. Beispielsweise kann Java einen Computer veranlassen, ein Fenster anzuzeigen und den Inhalt des Fensters bereitstellen sowie Klänge zu spielen, aber es kann nicht auf das Computer-Plattenlaufwerk schrei­ ben.
Obwohl die Benutzung von irgendeinem dieser Schemen die Si­ cherheit hervorbringt, welche erforderlich ist, zu gewährlei­ sten, daß Gauner-Applets keinen Schaden an den Ressourcen ei­ nes Computers anrichten, wie z. B. an den Dateien, erlegen sie ebenfalls der Benutzbarkeit von mobilen Applets eines offenen Systems eine Beschränkung auf. Falls ein heruntergeladenes Applet keinen Zugriff auf das Plattenlaufwerk hat, um eine dauerhafte lokale Speicherung für den Benutzer zu erzeugen, ist die Benutzbarkeit von geschriebenen Applets, die solch ein Isolierungsschema benutzen, sehr beschränkt.
Betriebssysteme kümmern sich um die Sicherheit durch Bereit­ stellung von Benutzungsrechten für Verzeichnisse und Dateien. Durch Zuordnung der Applet-Applikationsmaschine zu einer Be­ nutzergruppe werden die durch die Applikationsmaschine ausge­ führten Applets darauf beschränkt, auf die Dateien zuzugrei­ fen, die in der Applikationsmaschine selbst verfügbar sind.
Obwohl dies Sicherheit für weitere Dateisystem-Dateien außer­ halb des Einflußgebiets der Applikationsmaschine bietet, bie­ tet es keine Sicherheit zwischen den Applets. In ähnlicher Weise bieten manche Applet-Applikationsmaschinen, wie z. B. HotJava von Sun, Zugriffskontrollisten. Diese Listen spezifi­ zieren, welcher Untersatz der zugriffsfähigen Dateien der Ap­ plikationsmaschinen einen Zugriff durch Applets erfahren kann. Dies bietet eine ausgedehnte Sicherheit, löst aber nicht das Problem der Bereitstellung der Sicherheit für Daten zwischen Applets.
HotJava spezifiziert ebenfalls ein Verfahren, durch das ein Zugriff auf Dateien für Applets durch Benutzung einer Dialog­ box für den Benutzer des Applet ermöglicht werden kann, wobei der Benutzer eine Sicherheitsautorisierung bzw. -berechtigung eingeben muß. Dies bietet eine größere Sicherheit zwischen den Applets, ist aber intrusiv und erfordert, daß der Benut­ zer die Empfindlichkeit und den Ursprung (virtuelle Inhaber­ schaft) der Daten in jeder Datei versteht.
Falls die Applikationsmaschine die Quelle des Applets bestim­ men kann, können Zugriffsrechte gemäß bestimmten Regeln ein­ gerichtet werden. Java kann erfassen, ob ein Applet von in­ nerhalb einer Feuerwand bzw. "Firewall" (einer Softwarebar­ riere zu einem Außenzugriff auf ein lokales (internes) Netz­ werk) herrührt; der HotJava-Browser ermöglicht verschiedene Sicherheitsrechte für Applets, die auf jeder Seite der Feuer­ wand geladen werden. Lese- und Schreibzugriff kann nur inter­ nen Applikationen gewährt werden.
General Magic′s Telescript-Technologie bietet einen generi­ schen Satz von Berechtigungen und Zulassungen. Agenten inner­ halb eines Bereichs enthalten alle dieselbe Berechtigung - dies ist ähnlich wie das Konzept der Benutzerdomänen. Jeder Telescript-Agent hat nur eine Berechtigung. Zulassungen kon­ trollieren die Ausführung von Anweisungen oder den Zugriff und die Benutzung einer Ressource. Telescript spezifiziert nicht, wie ein Telescript-Ort über Benutzungsrechte für eine Ressource mit einem Agenten einer bestimmten Berechtigung verhandelt oder die Zugriffsrechte für jede Ressourceninstanz speichert.
Der Ausdruck "dauerhafte Speicherung" wird in dieser Be­ schreibung als generischer Ausdruck für alle Medien benutzt, welche Dateien, Daten oder Programme, welche zu schützen sind, speichern oder tragen und kann elektronische Schreib-/ Lesespeicher, Floppy- oder Festplattenlaufwerke, Busse usw. umfassen, ist aber nicht darauf beschränkt.
Die vorliegende Erfindung schafft einen sicheren Zugriff auf einen dauerhaften Speicher für einen verteilten Applet-Code innerhalb einer offenen, unkontrollierten Computing-Umgebung. Sie schützt Dateien vor unberechtigter Benutzung durch unbe­ kannte mobile Applets, wobei sie noch Zugriff auf das Datei- System für diese Applets bietet. Dies involviert die Verhand­ lung von Zugriffsrechten für das unbekannte Applet.
In Übereinstimmung mit einer Ausführungsform der Erfindung umfaßt ein Verfahren zur Verarbeitung eines Applet die Spei­ cherung einer Datei in einem dauerhaften Speichermedium (PSM), wobei die Datei eine Zugriffskontrolliste aufweist, und die Übertragung eines Applet von einem Server, wobei das Applet zumindest eines von Applet-Identifizierungsdaten und einem Paar aus Privatschlüssel-kodiertem Domänenidentifizie­ rer und Allgemeinschlüssel, einem Dateimaximalgrößen-Indika­ tor und einer Spezifikation erforderlicher Speicheroperati­ onen enthält, den Empfang des Applet durch eine Applikations­ maschine, und im Fall, daß der Domänenidentifizierer im App­ let enthalten ist, das Entschlüsseln des Domänenidentifizie­ rers unter Benutzung des Allgemeinschlüssels, das Prüfen von zumindest einem von den Applet-Identifizierungsdaten und dem entschlüsselten Domänenidentifizierers gegenüber der Zu­ griffskontrolliste hinsichtlich einer Übereinstimmung, und im Fall, daß eine Übereinstimmung gefunden wird, das Ermögli­ chen der in dem Applet spezifizierten Operationen an einer in einem dauerhaften Speichermedium gespeicherten Datei, für welche ein Zugriff für das Applet, wie in der Dateizugriffs­ kontrolliste spezifiziert, möglich ist.
In Übereinstimmung mit einer weiteren Ausführungsform umfaßt ein Verfahren zur Verarbeitung eines Applet den Empfang von Applets in einer Applikationsmaschine, wobei die Applets Spe­ zifikationen von durchzuführenden Operationen aufweisen und einige der Applets zumindest eines von Applet-Identifizie­ rungsdaten und Privatschlüssel-verschlüsselten Domänen auf­ weisen, Verarbeiten der Applets in einem Ausmaß, in dem ein Zugriff auf in einem dauerhaften Speichermedium enthaltene Dateien nicht erforderlich ist, in dem Fall, daß die Applets Privatschlüssel-verschlüsselte Domänen aufweisen, Entschlüs­ seln der Domänen, Prüfen von zumindest einem der Applet-Iden­ tifizierungsdaten und der entschlüsselten Domänen gegenüber einer Kontrolliste, und Verarbeiten der Applets, von denen das zumindest eine von Applet-Identifizierungsdaten und ent­ schlüsselten Domänen mit Einträgen in der Kontrolliste zum Zugriff auf die im dauerhaften Speichermedium enthaltenen Da­ teien übereinstimmt, wie durch die Applets gefordert.
In Übereinstimmung mit einer weiteren Ausführungsform umfaßt ein Verfahren zur Verarbeitung eines Applet das Speichern ei­ ner Zugriffskontrolliste, welche eine Identität von Applets oder Domänen enthält, die einen Zugriff auf in einem dauer­ haften Medium gespeicherte Dateien haben können, und Ermögli­ chen des Zugriffs auf das Zugriffskontrollmedium durch die Applets, welche eine Identität oder eine Domäne entsprechend einem Eintrag auf der Liste aufweisen.
In Übereinstimmung mit einer weiteren Ausführungsform umfaßt eine Applet-Applikationsmaschine aus einer Zugriffskontrolli­ ste, wobei die Maschine und die Liste in einem Speicher eines Computers gespeichert sind, und eine Vorrichtung zum Bereit­ stellen eines Applet mit einer Identifizierung mit zumindest einem von einem Applet-Identifizier und einer Domäne zum Ver­ gleich mit der Liste und zur Bestimmung einer Übereinstim­ mung, sowie eine Vorrichtung zur Ermöglichung eines Zugriffs auf eine anderenfalls geschützte Computerressource im Fall der Übereinstimmung.
Ein besseres Verständnis der Erfindung wird durch Betrachtung der nachstehenden detaillierten Beschreibung mit Bezug auf die begleitenden Zeichnungen erhalten.
Es zeigen:
Fig. 1 ein Blockdiagramm eines Netzwerks, auf dem die vor­ liegende Erfindung implementiert werden kann;
Fig. 2 ein Blockdiagramm eines in dem Netzwerk von Fig. 1 benutzten Computers, auf dem die vorliegende Erfin­ dung implementiert werden kann;
Fig. 3 eine Illustration eines repräsentativen Applets, welches bei der vorliegenden Erfindung benutzt wird; und
Fig. 4 ein repräsentatives Betriebsverfahren nach der vor­ liegenden Erfindung.
Fig. 1 illustriert ein offenes und unkontrolliertes Netzwerk und umfaßt einem Server 1, welcher eine Schnittstelle zu ei­ nem Netzwerk 3 aufweist, mit dem verschiedene Computer 5 ver­ bunden sind oder verbunden werden können. Das Netzwerk 3 kann ein Großbereichsnetzwerk, das Internet, ein Telefonnetzwerk usw. sein.
Im Betrieb liefert der Server 1 Applets an das Netzwerk 3 zum Empfang durch einen oder mehrere Computer 5. Ein Computer, der das Applet empfängt, das ein vollständiges objektbasie­ rendes Programm ist, verarbeitet es unter Benutzung der darin enthaltenen Daten. Wie oben erwähnt, war bei offenen Systemen nach dem Stand der Technik das Applet daran gehindert, einen Zugriff auf einen dauerhaften Speicher auszuüben.
Fig. 2 illustriert die grundlegende Architektur eines reprä­ sentativen Computersystems 5. Ein Mikroprozessor 7, ein Schreib-/Lesespeicher 8 (RAM), eine Tastatur 9, eine Netz­ werk-Schnittstellenvorrichtung 10, wie z. B. ein Modem, eine dauerhafte Speichervorrichtung in Form eines Festplattenlauf­ werks 11 sowie ein Anzeigeuntersystem 12, mit der eine Anzei­ ge 13 verbunden ist, sind mit einem Bus 14 verbunden oder stehen in Kommunikation damit.
Zusätzlich ist der Schreib-/Lesespeicher 16 (RAM), der ein Teil des RAM 8 sein kann oder darin enthalten sein kann, mit dem Bus 14 verbunden oder steht in Kommunikation damit. Der RAM 16 enthält eine Applet-Applikationsmaschine, die einen Interpretierer für die bestimmte benutzte Applet-Sprache und eine Software-Befehlsstruktur zur Veranlassung des Mi­ kroprozessors 7, die Applets zu verarbeiten, aufweist. Bei­ spielsweise kann für die Java-Sprache eine Applet-Applikati­ onsmaschine eine HotJava sein, die von Sun Microsystems Inc. erhältlich ist.
Beim Betrieb eines Systems nach dem Stand der Technik werden Applets von dem Server 1 über das Netzwerk 3 und die Netz­ werkschnittstelle 10 empfangen und werden von dem Mikropro­ zessor 7 unter Benutzung des Interpretierers in der Anwen­ dungsmaschine 16 interpretiert, und die interpretierten An­ weisungen werden durch den Mikroprozessor 7 verarbeitet, um zu veranlassen, daß das Anzeigeuntersystem 12 Graphiken usw. auf der Anzeige 13 anzeigt. Die Applikationsmaschine hat kei­ nen Zugriff auf dauerhafte Speichermedien, wie z. B. das Fest­ plattenlaufwerk 11, um eine Beschädigung usw. der Dateien, wie beschrieben, zu vermeiden, und deshalb kann sie darin ge­ speicherte Benutzerdaten oder weitere Programme nicht benut­ zen. Solch ein System ist beträchtlich eingeschränkt.
In Übereinstimmung mit der vorliegenden Erfindung enthält die Applikationsmaschine 16 ein Allgemeinschlüssel- Entschlüsselungsprogramm 18 sowie eine Zugriffskontrolliste 20 berechtigter Applets und/oder Domänen, welche eine Er­ laubnis erhalten können, auf dauerhafte Speichermedien zuzu­ greifen.
In Übereinstimmung mit der vorliegenden Erfindung werden, wenn Applets über die Netzwerkschnittstelle empfangen werden, Zugriffsrechte auf die dauerhaften Speichermedien unter Be­ nutzung der Applikationsmaschine 16 verhandelt. Die Zugriffs­ rechte brauchen nicht beschränkt zu werden, und der Zugriff muß nicht nur hinsichtlich dauerhafter Speichermedien verhan­ delt werden; jegliche Ressource des Computers oder jegliche vom Computer gesteuerte oder zum Zugriff verfügbare Ressource kann beschränkt werden, und über ein Zugriff darauf kann ver­ handelt werden.
Die Zugriffsrechte werden verhandelt durch:
  • (a) Berechtigung; die Applet-Applikationsmaschine verifi­ ziert die Identität oder die Domäne aller Applets, wel­ che einen Zugriff auf den dauerhaften Speicher fordern;
  • (b) Benutzungsrechte-Verhandlung; dies involviert die Veri­ fizierung der Berechtigung des Applet, zu lesen, zu schreiben oder einen Zusatz an eine Datei zu bilden. Verfahren zur Gewährleistung, daß ein Applet Zugriffs­ rechte auf eine bestimmte Datei hat, werden nachstehend beschrieben. Es sollte bemerkt werden, daß in einem of­ fenen unkontrollierten System eine zentrale Berechti­ gungs- oder Domänenverwaltung nicht möglich ist. Aus diesem Grund wird die Verhandlung über die Zugriffsrech­ te zwischen der Applikationsmaschine, der Datei und dem Applet durchgeführt;
  • (c) Servicequalität; eine maximale Plattenbenutzung für eine Applikation wird eingestellt. Grenzen werden den Zu­ griffsrechten vorzugsweise auferlegt, welche Schranken angeben, innerhalb denen die gewährte Ressource benutzt werden kann.
Durch Wirkung als Vermittler zwischen einem unbekannten App­ let und der Plattenressource verhandelt die Applikationsma­ schine und setzt Zugriffsrechte durch. Für Plattendateien in­ volviert dies die Wirkung als Vermittler für alle Plattenak­ tionen. Wenn eine Zieldatei über eine vorbestimmte Größe hin­ aus anwächst, kann ein Schreibzugriff verneint werden, oder der Benutzer kann nach der Erlaubnis zum Überschreiben ge­ fragt werden, was effektiv ein Wachstum der Zugriffsrechte um einen inkrementierten Betrag ermöglicht. Die Applikationsma­ schine kann eine Überschreibzone definieren, über die hinaus das Zugriffsrecht nicht anwachsen darf.
Als ein Sicherheitsmechanismus kann eine Datei-Versionsver­ waltung durch die Applikationsmaschine vorgesehen werden, um zu gewährleisten, daß irgendwelche Modifikationen oder Löschungen an den Dateien im Fall der Beschädigung des Da­ teisystems behebbar sind. Die Zugriffskontrolliste 20 wird durch die Applikationsmaschine benutzt, um zu spezifizieren, welche vorgegebenen und dateispezifischen Zugriffsrechte für individuelle dauerhafte Speicherobjekte (Dateien) vorliegen.
Jedem Applet sollte ein Server-Platz zugeordnet sein, der das Applet eindeutig identifiziert. Falls beispielsweise von World Wide Web geladen, kann diese Identität der universelle Ressourcen-Lokalisierer (URL) des Applet sein. Wenn ein App­ let eine neue Datei erzeugt, kann es spezifizieren, welche Applets Rechte an der Datei besitzen.
Domänen sind Gruppen von Applets, welche Zugriffsrechte tei­ len. Unter Benutzung von einer Privatschlüssel- Verschlüsselung und einer vom Applet zugeführten verschlüs­ selten Nachricht kann die Applikationsmaschine gewährleisten, daß ein Applet zu einer spezifizierten Domäne gehört. Applet- Dateien enthalten einen Vorsatz, welcher die Zugriffskon­ trolliste für einen Satz von Domänen und die Allgemein­ schlüssel für jede Domäne enthält.
Fig. 3 illustriert ein Applet 22, welches eine Nutzlast 24 bestehend aus einem objektbasierendem Anwendungsprogramm ein­ schließlich Daten, sowie einen Vorsatz 26 enthält. Der Vor­ satz 26 enthält einen Allgemeinschlüssel oder mehrere Allge­ meinschlüssel 28 sowie eine Applikationskontrolliste 30. Er enthält ebenfalls eine Identifizierung des Applets (z. B. den URL, falls bei World Wide Web benutzt), welche am Server un­ ter Benutzung eines Privatschlüssels verschlüsselt werden kann, zur Entschlüsselung unter der Steuerung der Applikati­ onsmaschine 16 unter Benutzung eines Allgemeinschlüssels 28. Der Vorsatz enthält ebenfalls einen verschlüsselten Satz von Domänen, z. B. Domänennachrichten, welche unter Benutzung ei­ nes Allgemeinschlüssels 28 entschlüsselt werden können.
Ein Applet kann gleichzeitig zu einer oder mehreren Domänen gehören. Es ist die Verantwortlichkeit der Domäneninhaber, zu gewährleisten, daß der Privatschlüssel, der zur Erzeugung der verschlüsselten Domänenauthentizitätsnachrichten benutzt wird, geheimgehalten wird.
Wie oben erwähnt, kann die verschlüsselte Nachricht die App­ let-Identifizierung unter Benutzung des Privatschlüssels ver­ schlüsseln. Dies gewährleistet, daß die verschlüsselte Nach­ richt nicht von einem anderen Applet im Versuch, diese App­ let-Domänenmöglichkeiten zu borgen, kopiert worden ist. Jeg­ licher Versuch, das Server-Applet auf eine ändere Maschine zu klonen und dann in der Lage zu sein, die domäneneigenen Da­ teien zu lesen, würde dann bewirken, daß die verschlüsselte Nachricht nicht mit der Applet-Identifizierung übereinstimmt, und würde die Applet-Domäne innerhalb der Applikationsmaschi­ ne ungültig machen.
Eine Kombination von Zugriffsverfahren wird vorzugsweise be­ nutzt, um für Applets einen sicheren Zugriff auf dauerhafte Speicher vorzusehen. Sowohl die Applet-Identifizierung als auch vorzugsweise die Domänen werden als Schlüssel innerhalb der Zugriffskontrolliste für eine Datei implementiert.
Die Sprachenklassen zum Dateizugriff in der Applikationsma­ schine 16 für die bestimmte benutzte Sprache, z. B. Java, sollte verbessert werden, so daß sie einen Zugriff auf das Dateisystem basierend auf der Applet-Identifizierung und der Domäne erlaubt. Applets sollten, wie oben angedeutet bezüg­ lich Fig. 3, modifiziert werden, um optionell ihre Domäne zu enthalten, sowie durch die Benutzung einer Allgemeinschlüs­ sel-Verschlüsselung davon und/oder ihrer Identifizierung. Je­ de Datei mit Zugriffsrechten, die ihr zugeordnet sind, ist in der Zugriffskontrolliste 20 (Fig. 2) in einer im RAM 16 ge­ speicherten Datei, auf die durch die Applikationsmaschine zu­ gegriffen werden kann, z. B. ein Browser-Programm, enthalten. Die Applikationsmaschine, die im RAM 16 enthalten ist, ver­ handelt Zugriffsrechte für jedes geladene Applet. Zugriffs­ rechte können Servicequalitätsinformationen enthalten, welche definiert, wie auf jede Ressource zugegriffen werden kann, einschließlich der Maximalgröße von Änderungen. Jede Änderung am Dateisystem wird überprüft, um offenzulegen, ob sie Zu­ griffsrechte verletzen würde. Dies beinhaltet das Recht auf Zugriff, Änderung oder Schaffung einer Datei und die Grenzen der Größe der Änderungen.
Die Struktur der Zugriffskontrolliste ist vorzugsweise fol­ gende:
wobei:
Filename enthält einen oder mehrere Dateinamen, von denen jeder Wild-Cards enthalten kann
AccessMode ist eines von Lesen, Schreiben, Anhängen, Löschen, Neue Datei, Auflisten, Anfragen, (MMaxSize: x)
IDorDomain ist entweder ein URL zum Spezifizieren eines Applet oder ein (DomainName: publicKey)-Paar
Beispielsweise kann ein Eintrag, wo alle Dateien in "/public"-Verzeichnis lesbar sind, "/private" durch das App­ let neue Dateien geschaffen bekommen kann, URL "http://www.foo.bar/applet.class" und Applets der Domäne "MyDomain" Schreibzugriff auf die Datei "/private/foo.bar" mit auf 5000 Byte eingestelltem Hinzufügungsmodus haben, vor­ liegen als:
Eine innerhalb der Applikationsmaschine gesendete Nachricht würde so, wie im Fließdiagramm von Fig. 4 gezeigt, in dem die Zeit von der Oberseite zur Unterseite der Figur verläuft, in Erscheinung treten.
In diesem Beispiel fordert das Applet das Öffnen der Datei zum Einschreiben von 4000 Byte an. Die Zugriffskontrolliste (ACL) wird durch die Applikationsmaschine befragt. Die Anfor­ derung wird gebilligt, und die Datei wird geöffnet. Wenn 3500 Byte hinzugefügt werden, hat das Schreiben in die Datei Er­ folg. Ein Versuch, weitere 1000 Byte zu schreiben, beschert einen Mißerfolg, und diese werden nicht geschrieben, da sie die gespeicherten Zugriffsrechte (4000 Byte) der Applikati­ onsmaschine für das Applet hinsichtlich der Datei überschrei­ ten.
Somit ist ersichtlich, daß die vorliegende Erfindung ein Ver­ fahren schafft, durch das Applets Zugriff auf Dateien haben können, die auf dauerhaften Speichermedien gespeichert sind, oder Zugriff auf andere Computersystemressourcen in einem of­ fenen System haben können, die anderenfalls geschützt wären, und zwar auf sichere Art und Weise, ohne Besorgnis, daß ein Gauner-Applet die Domäne eines anderen Applet angenommen hat, oder die Besorgnis, daß eine Datei gestohlen oder beschädigt werden kann. Das Verfahren bietet ebenfalls Schutz gegen Über­ lauf der Speichermedien aufgrund einer Erzeugung von Dateien mit übermäßiger Größe. Und zur gleichen Zeit erlaubt es eine sophistiziertere Funktionsweise eines Computers, der mit ei­ nem offenen System verbunden ist, daß Dateien und weitere Ressourcen, die durch einen lokalen Computer gesteuert werden oder damit verbunden sind, bei der Verarbeitung von Applets benutzt werden können.
Eine Person, die die Erfindung versteht, kann jetzt alterna­ tive Strukturen und Ausführungsformen oder Variationen der obigen ersinnen. All diejenigen, welche in den Schutzumfang der hieran angehängten Patentansprüche fallen, sollen Teil der vorliegenden Erfindung sein.

Claims (12)

1. Verfahren zum Verarbeiten eines Applet mit den Schrit­ ten:
  • (a) Speichern einer Datei in einem dauerhaften Spei­ chermedium (PSM), wobei die Datei eine Zugriffskon­ trolliste enthält,
  • (b) Übertragen eines Applets von einem Server, wobei das Applet zumindest eines von Applet- Identifizierungsdaten und eines Paares von einem Privatschlüssel -verschlüsselten Domänenidentifizie­ rer und einem Allgemeinschlüssel, einem Dateimaxi­ malgrößenindikator und einer Spezifizierung erforder­ licher Operationen enthält,
  • (c) Empfangen des Applets durch eine Applikationsma­ schine,
  • (d) im Fall, daß der Domänenidentifizierer im Applet enthalten ist, Entschlüsseln des Domänenidentifi­ zierers unter Benutzung des Allgemeinschlüssels,
  • (e) Prüfen des zumindest einen von den Applet- Identifizierungsdaten und dem entschlüsselten Domä­ nenidentifizierer gegenüber der Zugriffskontrolli­ ste hinsichtlich einer Übereinstimmung; und
  • (f) im Fall, daß eine Übereinstimmung gefunden wird, Ermöglichen der in dem Applet spezifizierten Opera­ tionen an einer in einem dauerhaften Speichermedium gespeicherten Datei, für welche ein Zugriff für das Applet, wie in der Dateizugriffskontrolliste spezi­ fiziert, möglich ist.
2. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt der Beendigung der Durchführung der in dem App­ let spezifizierten Operation in dem Fall, daß die Opera­ tion in einer Dateigröße im dauerhaften Speichermedium resultieren würde, welche die Dateimaximalgröße, die im Applet angezeigt ist, überschreitet.
3. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt der Nicht-Durchführung der Operation im Fall, daß keine Übereinstimmung gefunden wird.
4. Verfahren zur Verarbeitung von Applets mit den Schrit­ ten:
  • (a) Empfangen von Applets in einer Applikationsma­ schine, wobei die Applets Spezifikationen von durchzuführenden Operationen aufweisen und einige der Applets zumindest eines von Applet-Identi­ fizierungsdaten und Privatschlüssel-verschlüsselten Domänen aufweisen,
  • (b) Verarbeiten der Applets in einem Ausmaß, in dem Zu­ griff auf in einem dauerhaften Speichermedium ent­ haltene Dateien nicht erforderlich ist,
  • (c) im Fall, daß Applets Privatschlüssel-verschlüsselte Domänen aufweisen, Entschlüsseln der Domänen,
  • (d) Prüfen des zumindest einen von den Applet- Identifizierungsdaten und den entschlüsselten Domä­ nen gegenüber einer Kontrolliste, und
  • (e) Verarbeiten derjenigen Applets, von denen zumindest das eine von den Applet-Identifizierungsdaten und den entschlüsselten Domänen mit Einträgen in der Kontrolliste zum Zugriff auf die in dem dauerhaften Speichermedium enthaltenen Dateien übereinstimmen, wie durch die Applets gefordert wird.
5. Verfahren zum Verarbeiten eines Applet mit den Schritten Speichern einer Zugriffskontrolliste, welche eine Iden­ tität von Applets oder Domänen enthält, die einen Zu­ griff auf in einem dauerhaften Speichermedium gespei­ cherte Dateien haben können, und Ermöglichen eines Zu­ griffs auf das dauerhafte Medium durch Applets, welche eine Identität oder eine Domäne entsprechend einem Ein­ trag auf der Liste aufweisen.
6. Verfahren nach Anspruch 5, gekennzeichnet durch den Schritt der Benutzung einer in einem Computer gespeicher­ ten Applikationssteuermaschine zur Prüfung der Applets, Prüfung der Zugriffskontrolliste und Verarbeitung der Applets, die auf der Zugriffskontrolliste zur Bearbei­ tung einer in dem Zugriffssteuermedium gespeicherten Da­ tei identifiziert werden.
7. Verfahren nach Anspruch 6, gekennzeichnet durch den Schritt des Prüfens eines Applet hinsichtlich einer Dateigrößen-Beschränkungsspezifizierung, die von dem Applet getragen wird, und Ablehnen, die Datei zu bear­ beiten, wenn die durch das Applet spezifizierte Operati­ on in einer Dateigröße oberhalb der spezifizierten Dateigröße resultieren würde.
8. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß zumindest eines von der Identifizierung und der Domäne, die von dem Applet getragen werden, Privatschlüssel­ verschlüsselt ist und einen entsprechenden Allgemein­ schlüssel aufweist, und mit den Schritten des Entschlüs­ selns zur Feststellung der Authentizität des zumindest einen von der Identifizierung und der Domäne unter Be­ nutzung des Allgemeinschlüssels, wobei der Schritt der Vergabe eines Zugriffs nur in dem Fall ausgeführt wird, daß das entschlüsseite zumindest eine von der Identifi­ zierung und der Domäne Authentizität aufweist.
9. Applet-Applikationsmaschine mit einer Zugriffssteuerli­ ste, wobei die Maschine und die Liste in einem Speicher eines Computers gespeichert sind, sowie einer Einrich­ tung zum Bereitstellen eines Applet mit einer Identifi­ zierung und zumindest einem von einem Applet- Identifizierer und einer Domäne zum Vergleich mit der Li­ ste und zur Bestimmung einer Übereinstimmung, sowie ei­ ner Einrichtung zur Ermöglichung eines Zugriffs auf eine anderenfalls geschützte Computerressource im Fall der Übereinstimmung.
10. Maschine nach Anspruch 9, dadurch gekennzeichnet, daß die Computerressource ein dauerhaftes Speichermedium ist.
11. Maschine nach Anspruch 9, gekennzeichnet durch eine All­ gemeinschlüssel-Entschlüsselungseinrichtung, wobei das Applet einen Privatschlüssel-verschlüsselten Identifi­ zierer oder eine Domäne und einen Allgemeinschlüssel aufweist, zur Entschlüsselung durch die Entschlüsse­ lungseinrichtung.
12. Computersoftware-Applet mit einem Privatschlüssel­ verschlüsselten Authentizitätscode zum Definieren einer Domäne des Applets.
DE19717900A 1996-04-29 1997-04-28 Verfahren und Applet-Applikationsmaschine zur Verarbeitung eines Computer-Applets sowie ein Computersoftware-Applet Expired - Fee Related DE19717900C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US63880796A 1996-04-29 1996-04-29

Publications (2)

Publication Number Publication Date
DE19717900A1 true DE19717900A1 (de) 1997-10-30
DE19717900C2 DE19717900C2 (de) 2000-05-25

Family

ID=24561525

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19717900A Expired - Fee Related DE19717900C2 (de) 1996-04-29 1997-04-28 Verfahren und Applet-Applikationsmaschine zur Verarbeitung eines Computer-Applets sowie ein Computersoftware-Applet

Country Status (3)

Country Link
CA (1) CA2202118A1 (de)
DE (1) DE19717900C2 (de)
GB (1) GB2312767A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1462910A3 (de) * 2003-03-28 2006-03-15 NTT DoCoMo, Inc. Endgerät und Programm

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL123512A0 (en) 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6223287B1 (en) 1998-07-24 2001-04-24 International Business Machines Corporation Method for establishing a secured communication channel over the internet
CN1227858C (zh) * 1998-08-21 2005-11-16 维斯托公司 实现对计算机网络中服务的安全访问的系统和方法
CA2256934C (en) * 1998-12-23 2002-04-02 Hamid Bacha System for electronic repository of data enforcing access control on data retrieval
GB0012791D0 (en) * 2000-05-25 2000-07-19 Breakertech Inc Mobile node-lock
US7509685B2 (en) 2001-06-26 2009-03-24 Sealedmedia Limited Digital rights management
EP1763744B1 (de) * 2004-04-30 2017-07-19 BlackBerry Limited System und verfahren zur eigneranwendungssteuerung elektronischer einrichtungen
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
EP1826944B1 (de) 2006-02-27 2009-05-13 Research In Motion Limited Verfahren zum Personalisieren einer standardisierten IT-Richtlinie

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414844A (en) * 1990-05-24 1995-05-09 International Business Machines Corporation Method and system for controlling public access to a plurality of data objects within a data processing system
DE69323926T2 (de) * 1992-05-15 1999-09-30 Addison M. Fischer Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1462910A3 (de) * 2003-03-28 2006-03-15 NTT DoCoMo, Inc. Endgerät und Programm

Also Published As

Publication number Publication date
DE19717900C2 (de) 2000-05-25
GB2312767A (en) 1997-11-05
CA2202118A1 (en) 1997-10-29
GB9708608D0 (en) 1997-06-18

Similar Documents

Publication Publication Date Title
DE69531082T2 (de) Verfahren und Vorrichtung mit einem Verschlüsselungskopfteil, die es ermöglicht, Software zu erproben
DE69626530T2 (de) Schutz von software gegen benutzung ohne erlaubnis
DE60123672T2 (de) Computersystemschutz
DE69730321T2 (de) Verfahren und vorrichtung zum schützen von daten mit mehreren auf datenelementebene anwendbaren verschlüsselungsstufen
DE69531077T2 (de) Verfahren und Vorrichtung mit Benutzereinwirkung der Art Erproben-und-Kaufen, die es ermöglicht, Software zu erproben
DE10196006B4 (de) Erzeugen einer Schlüsselhierarchie zur Verwendung in einer isolierten Ausführungsumgebung
DE60212920T3 (de) Verfahren und system zur verwaltung von digitalen abonnementrechten
DE69724946T2 (de) Programmvermietungssystem und Verfahren zur Vermietung von Programmen
DE69627270T2 (de) Sicherheitssystem zum Schutz von Informationen auf Speichermedien
DE60200616T2 (de) Gesicherte Inhaltsobjekte
DE69901231T2 (de) System und verfahren zur beglaubigung gleichrangiger komponenten
DE10051571B4 (de) Methode und System zur Unterstützung von Sicherheitsvorgaben unter Verwendung einer Stylesheet-Verarbeitung
DE69714422T2 (de) Zugriffssteuerungs/verschlüsselungssystem
DE69614944T2 (de) System und Verfahren zur transparenten Integrierung von verschlüsselten Funktionen von einer IC-Karte mit kryptographischen Diensten auf Basis des Hauptrechners
DE69528408T2 (de) Verfahren und Vorrichtung, die es ermöglicht, Software zu erproben und Software-Objekte zu liefern
DE60024696T2 (de) System und Verfahren zur Manipulation eines Rechnersbestandes und/oder eines Programms
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE3751047T2 (de) Softwareschutzsystem einschliesslich eines Einschlüsselkryptosystems, eines auf Hardware beruhenden Genehmigungssystems und eines geschützten Zusatzprozessors.
DE60117757T2 (de) Schlüssel- und schliesseinrichtung
DE60114069T2 (de) System und Verfahren für den Schutz von Digitalwerken
EP1184771A1 (de) Verfahren zum Schutz von Computer-Software und/oder computerlesbaren Daten sowie Schutzgerät
DE10244728A1 (de) System und Verfahren zum Schutz von Daten, die auf einer Speicherungsmedienvorrichtung gespeichert sind

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee