DE19717900A1 - Verfahren und Vorrichtung zur Verarbeitung eines Computer-Applets - Google Patents
Verfahren und Vorrichtung zur Verarbeitung eines Computer-AppletsInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing 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
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.
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)
| 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)
| 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)
| 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 |
-
1997
- 1997-04-08 CA CA002202118A patent/CA2202118A1/en not_active Abandoned
- 1997-04-28 DE DE19717900A patent/DE19717900C2/de not_active Expired - Fee Related
- 1997-04-28 GB GB9708608A patent/GB2312767A/en not_active Withdrawn
Cited By (1)
| 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 |