\chapter{Zusammenfassung und Ausblick}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Als Resultat dieser Arbeit ist eine allgemeine Bibliothek zum Schutz von Werten beliebigen Typs durch Wertw"achter entstanden. Diese Wertw"achter verwalten Zugriffskontrollinformationen, die den Zugriff auf gesch"utzte Werte regeln. Bestandteil dieser Zugriffskontrollinformation ist neben einer Liste zugriffsberechtigter Subjekte auch die Polarit"at und Priorit"at der erteilten Rechte. In Anlehnung an objektorientierte Zugriffskontrollmodelle k"onnen Wertw"achter durch Konnektoren wahlfrei miteinander verbunden werden. Ein Konnektor zwischen zwei Wertw"achtern repr"asentiert hierbei die implizite Ableitung von Rechten einer bestimmten Polarit"at. Das Ergebnis einer derartigen Vernetzung ist ein allgemeiner Autorisierungsgraph, dessen Zustand und Zustands"uberg"ange mit einem Formalismus spezifiziert worden sind. Aufbauend auf diesen allgemeinen Autorisierungsgraphen sind Modellierungsvereinfachungen, wie dynamische Schablonen, Quellwertw"achter, Implikationen und Kreuzreferenzen, vorgestellt worden, die den Modellierungsaufwand zur Abbildung eines konkreten Zugriffskontrollsystems erheblich reduzieren. Alle impliziten Rechte werden dabei sofort abgeleitet und zugriffseffizient gespeichert. Umfangreiche Konsistenzpr"ufungen stellen die Widerspruchsfreiheit des Autorisierungsgraphen sicher und vermeiden so Modellierungsfehler durch den Anwender.\\
Die Strukturierung von Subjekten erfolgt durch deren Zusammenfassung in einfache und verschachtelte benannte Gruppen. F"ur die resultierenden Subjekthierarchien k"onnen Gruppenstrukturpolitiken spezifiziert werden, deren Einhaltung durch Konsistenzpr"ufungen erzwungen wird. Dar"uber hinaus steht eine gro"se Kollektion von Anfragen zur Verf"ugung, mit denen weitere Eigenschaften der Subjekthierarchie oder einzelner Gruppen abgefragt werden k"onnen. Die graphische Darstellung der strukturellen Komplexit"at einer solchen Hierarchie erfolgt durch die Aktivierung eines Visualisierungswerkzeugs, f"ur das eine abstrakte Syntaxrepr"asentation des Autorisierungsgraphen generiert wird.\\
Die Delegierung von Benutzerrechten zwischen Subjekten bedingt die Verwaltung von Propagierungshistorien. Die Visualisierung dieser Historien sowie die konsistente Erteilung und der konsistente Entzug eines Rechtes sind Gegenstand weiterer implementierter Module.\\
Zur einfachen Benutzung der Bibliotheken unterst"utzen Generatorfunktionen die automatische Erzeugung sicherer Funktionen. Ausgehend von einer ungesch"utzten Funktion und einem konkreten Autorisierungssystem werden beide Komponenten zu einer gesch"utzen Funktion aggregiert. "Anderungen am Zustand des Autorisierungssystems werden dabei f"ur alle gesch"utzten Funktionen sofort wirksam, ohne da"s eine erneute Generierung vorgenommen werden mu"s.

\section{Zusammenfassende Abschlu"sbetrachtung}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Wird der in Abschnitt \ref{skills} definierte Anforderungskatalog an Zugriffskontrollsysteme herangezogen, um zu "uberpr"ufen, inwiefern die implementierten Zugriffskontrollbibliotheken den gestellten Anforderungen gerecht werden, so ergibt sich folgendes Bild: Die Autorisierungsbibliotheken erm"oglichen einen universellen Einsatz, da sie nicht auf eine feste Sicherheitspolitik zugeschnitten sind, sondern die Modellierung beliebiger Politiken unterst"utzen. Der Einflu"s auf das Laufzeitverhalten einer um Zugriffskontrolle erweiterten Anwendung erweist sich als gering, da implizite Autorisierungen, die sich aus expliziten Rechten ergeben, bereits zum Zeitpunkt der Modellierung abgeleitet und zugriffseffizient gespeichert werden. Zugriffsanfragen k"onnen daher schnell evaluiert werden. Zustands"anderungen am Zugriffskontrollsystem k"onnen dynamisch (am laufenden System) erfolgen. Sie gelten dann sofort f"ur alle sicheren Funktionen, ohne da"s eine erneute Generierung vorzunehmen ist (vergleiche Abschnitt \ref{ValueMod}). Konsistenzpr"ufungen stellen die Widerspruchsfreiheit des Systems sicher; sie erkennen und l"osen Konflikte und weisen widerspr"uchliche Operationen zur"uck. Das zugrundeliegende Konzept, Wertw"achter mit Konnektoren zu verbinden, ist aus Sicht des Anwendungsentwicklers leicht zu verstehen und basiert auf bekannten Methoden. Im Umgang mit dem System kann daher das gew"unschte Resultat einer Modellierung mit relativ geringem Aufwand erzielt werden (vergleiche Modellierungsbeispiele in Abschnitt \ref{usage} und Anhang \ref{daVincI}). Die logische Aufteilung der Gesamtfunktionalit"at in einzelne Teilkomponenten hat nicht nur den Entwicklungsproze"s der Autorisierungsbibliothek selbst durch die M"oglichkeit isolierbarer Testbarkeit beschleunigt, sondern unterst"utzt auch die bedarfsgerechte Kombination einzelner Module zu einem konkreten Autorisierungssystem. Damit erf"ullt die Autorisierungsbibliothek die gestellten Anforderungen.\\
Durch die implementierten Zugriffskontrollbibliotheken kann dar"uber hinaus eine Vielzahl von Beschr"ankungen traditioneller Autorisierungskonzepte (und ihrer Realisierung in kommerziellen Zugriffskontrollsystemen) aufgehoben werden. Die nachfolgende Tabelle \ref{Tabe2} diskutiert diese Verbesserungen "uberblicksartig.

\vspace{26pt}
\tablehead{\multicolumn{2}{l}{\small\slshape Fortsetzung der vorigen Seite}\\
  \hline
  Kriterium & Traditionelle Autorisierungskonzepte & \hspace*{2.5mm}Tycoon-Autorisierungsbibliothek\hspace*{2.95mm}\\ 
    \hline}
\tabletail{\hline\multicolumn{3}{r}{\small\slshape Fortsetzung auf der n"achsten Seite}\\}
\tablelasttail{\hline}
\tablefirsthead{\hline}
\tablecaption{Zusammenfassender Vergleich}
\label{Tabe2}
%\begin{center}
 \begin{supertabular*}{14.78cm}{|c|c|c|} 
  %\hline
  Kriterium & Traditionelle Autorisierungskonzepte & Tycoon-Autorisierungsbibliothek\\ \hline
    \hline
  Flexibilit"at & keine oder geringe Adaptionsm"og- & hohes   
  Adaptionsverm"ogen durch \hspace*{0.19cm}\\
  & lichkeiten an neue Anforderungen & Austauschbarkeit\\ 
  & & der Bibliothekskomponenten\\
\hline
  Erweiterbarkeit & schwer und nur eingeschr"ankt & einfach durchf"uhrbar\\ \hline
  Skalierbarkeit & monolithisch & bedarfsgerechte Kombination\\
  && von Basisdiensten\\ \hline
  Granularit"at & fest vorgegeben,  & freie Definierbarkeit \\ 
der & meist eingeschr"ankt auf Lesen, & funktionsbasierter Zugriffsmodi\\
  Zugriffsarten & Schreiben, Ausf"uhren ...& \\ \hline
  Granularit"at & fest vorgegeben, h"aufig beschr"ankt  & Werte beliebiger Kom-\\ 
  der Objekte&  auf System, Relation, Tupel ... & plexit"at und beliebigen Typs \\ \hline 
  Granularit"at & fest vorgegeben, nur Benutzer,  & frei definierbare Subjekte, beliebig\\ 
der Subjekte & Arbeitsgruppe, alle Subjekte ... &  komplexe Gruppenhierarchien \\ \hline
  Modellierung & explizite Modellierung & explizite Vergabe oder \\
  von Rechten  & jedes einzelnen Rechtes & implizite Ableitung von Rechten \\ %\hline
\end{supertabular*}
%\end{center}
\vspace{10pt}

Die Implementierung eines objektorientierten Zugriffskontrolldienstes erh"oht deutlich die Flexibilit"at hinsichtlich der Erweiterbarkeit, Skalierbarkeit und Adaptierbarkeit gegen"uber traditionellen benutzerbestimmbaren Zugriffskontrollmethoden. In bezug auf die Modellierungsm"achtigkeit wird eine echte Erweiterung erzielt, da sowohl die gesamte Funktionalit"at einfacher Zugriffskontrollisten als auch die speziellen F"ahigkeiten objektorientierter Zugriffskontrolle zur Verf"ugung gestellt werden. Das zugrundeliegende objektorientierte Zugriffskontrollmodell ist dabei nicht nur in Form einer Bibliothek abgebildet worden, sondern existierende Einschr"ankungen sind erkannt und durch generelle Modellierungskonzepte ersetzt worden. Zu derartigen Verbesserungen z"ahlen unter anderem die Ersetzung fest vorgegebener \mbox{Subjekt-,} Objekt- und Zugriffstypgranulate durch frei definierbare Werte generischer Typen und die M"oglichkeit, Konnektoren zu definieren, die nur Rechte einer bestimmten Polarit"at (positiv oder negativ) vererben. Letztere eignen sich, um die durch das Modell geforderte gleichgerichtete und gegengerichtete Vererbung abzubilden; es k"onnen dar"uber hinaus jedoch auch Konnektoren f"ur Rechte einer Polarit"at spezifiziert werden, ohne einen Konnektor f"ur Rechte der entgegengesetzten Polarit"at spezifizieren zu m"ussen.

\section{Ausnutzung von TL Sprachkonzepten}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Typparameter leisten einen wichtigen Beitrag zur "Uberwindung bestehender Einschr"ankungen durch fest vorgegebene Granularit"aten. Hierdurch k"onnen Funktionen und Typoperatoren beliebig parametrisiert werden, so da"s beispielsweise eine "Anderung des zu verwaltenden Subjekttyps einer Sicherheitsanwendung nicht grunds"atzlich eine "Anderung der Implementierung der Zugriffskontrollfunktionen nach sich zieht, sondern durch die bestehende Implementierung befriedigt werden kann. Ein solches Vorgehen vermeidet den Aufwand f"ur Programmanpassungen, der entsteht, wenn zuk"unftige Anforderungen an Zugriffskontrollsysteme die Benutzung neuer Datentypen erfordern.\\
Die rekursiven Verflechtungen, die den verwendeten Datenstrukturen zugrundeliegen (siehe Abschnitt \ref{DataMod}), bedingen dar"uber hinaus den Einsatz rekursiver Typen und Typoperatoren. Als weiteres Sprachkonzept finden abstrakte Datentypen Verwendung, deren Einsatzgebiet die Implementierung der Benutzerschnittstellen ist. Zum einen verstecken abstrakte Datentypen die Komplexit"at der Datentypen und Funktionen vor dem Anwender und erlauben nur fest definierte Zugriffsm"oglichkeiten auf ihre Datenstruktur. Zum anderen sichert die typtechnisch erzwungene Trennung zwischen zwei Werten eines abstrakten Datentyps zu, da"s nicht mit den Funktionen des einen Wertes auf die Struktur des anderen Wertes zugegriffen werden kann. Dies stellt eine wichtige Eigenschaft dar, weil auf diese Weise verschiedene Autorisierungsbereiche (Werte des abstrakten Typs {\it authorization.T}) sicher gegeneinander abgeschirmt werden. Schlie"slich hat sich auch die Orthogonalit"at der Sprache TL als vorteilhaft erwiesen, da die Konstruktion von Typen und Typoperatoren keinen Restriktionen durch die Sprache unterliegt.

\section{Ausnutzung weiterer Tycoon-Konzepte}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Zu den weiteren wichtigen Eigenschaften eines Zugriffskontrollsystems z"ahlen die Verwaltung und persistente Speicherung modellierter und abgeleiteter Zugriffsrechte. Hierbei erweist sich das Tycoon-System als geeignet, da das Persistenzkonzept zu seinen grundlegenen Eigenschaften z"ahlt. Aus dem Angebot an bereits existierenden Programmbibliotheken sind insbesondere Module zur Verwaltung von Massendaten, zur Iterationsabstraktion und zur Ein- und Ausgabe wiederverwendet worden. Verwendbare Grundbausteine f"ur den Aufbau eines Zugriffskontrolldienstes sind jedoch nicht verf"ugbar gewesen und konnten erst durch die vorliegende Implementierung bereitgestellt werden.
Das den Bibliotheken zugrundeliegende Konzept der Modularisierung leistet einen wichtigen Beitrag zur Beherrschung der implementierten Software, denn die Komplexit"at der Zugriffskontrollbibliothek (ca. 600 Kilobyte Quellprogramme) erfordert M"oglichkeiten zur getrennten Entwicklung und Kompilierung einzelner Systemkomponenten. Auch der Offenheit der Tycoon-Umgebung kommt eine wichtige Bedeutung zu. Sie ist die notwendige Grundlage f"ur die Einbindung eines Visualisierungsdienstes (hier: \davinci) gewesen.

\section{Erweiterungsm"oglichkeiten}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Die Erstellung komplexer Programmbibliotheken ist stets einem dynamischen Proze"s unterworfen. Auch die vorliegende Arbeit kann daher nur vorl"aufig als fertiges Programmpaket angesehen werden. Nachfolgend sind daher eine Reihe m"oglicher Erweiterungen aufgef"uhrt, die die Modellierungsflexibilit"at und Funktionalit"at weiter erh"ohen k"onnen:

\begin{itemize}

  \item Die Einf"uhrung von Zugriffskontrollma"snahmen in real existierende Systeme f"uhrt zur Modellierung einer Vielzahl von Benutzerrechten. Dadurch ergibt sich meist ein "Ubersichtsproblem: Mit Hilfe der Funktionen der Zugriffskontrollbibliothek l"a"st sich zum Beispiel nicht entscheiden, f"ur welche Kombinationen von Subjekten, Objekten und Zugriffstypen noch keine Autorisierungen (weder positiv noch negativ) existieren, ob und wo es latente Konflikte gibt und ob bestimmte Rechte ``"uberfl"ussig'' sind, das hei"st ohne Einflu"s auf die existierenden Zugriffsberechtigungen entfernt werden k"onnen. Auch die Darstellung der Kantenz"uge, "uber die sich eine explizite Autorisierung zu einer bestimmten impliziten Autorisierung propagiert, ist bis dato nicht m"oglich. Da es in der Natur menschlicher Wahrnehmung liegt, komplexe Zusammenh"ange eher in Bildern als in textuellen Repr"asentationen zu erfassen, ist ein {\bf Modul zur  Visualisierung} des Autorisierungsgraphen mit der M"oglichkeit, {\bf "Ubersichtsanfragen} zu stellen, vorteilhaft. Ebenso erscheint es w"unschenswert, auch aus einer graphischen Darstellung eines Autorisierungsgraphen heraus ein "aquivalentes Autorisierungssystem in Tycoon zu erzeugen und alle "Anderungen an diesem System durch Modifikationen an der graphischen Repr"asentation auszudr"ucken. Eine Teilvisualisierung zur Darstellung von Subjekthierarchien und Propagierungshistorien delegierter Rechte ist - wie in Anhang \ref{daVincI}  beziehungsweise Abschnitt \ref{ImpProp} beschrieben - bereits Teil der existierenden Implementierung.

  \item Dieser Arbeit liegt ein objektorientiertes Zugriffskontrollmodell zugrunde. Pr"adestiniert f"ur den Einsatz dieser Zugriffskontrollbibliothek sind daher auch objektorientierte Sprachen und Entwurfsumgebungen. Im Rahmen des europ"aischen FIDE-2\footnote{{\bf F}ully {\bf I}ntegrated {\bf D}ata {\bf E}nvironments}-Projektes sind im Forschungsumfeld dieser Arbeit die Entwurfsumgebung STYLE\footnote{{\bf S}ystematics of {\bf Ty}ped {\bf L}anguage {\bf E}nvironments} \cite{Wet94} und die Programmiersprache TooL\footnote{{\bf T}ycoon {\bf o}bject-{\bf o}riented {\bf L}anguage} \cite{GaMa95} entwickelt worden. Die Zugriffskontrollbibliotheken k"onnten daher auch in diesen Umgebungen eingesetzt werden.

  \item Die Autorisierungsbibliothek l"a"st sich zu einem Sicherheitskernsystem weiterentwickeln, wenn neben der M"oglichkeit zur Vergabe, Pr"ufung und zum Entzug von Zugriffsrechten auch eine {\bf Protokollierung}, Untersuchung und Auswertung {\bf sicherheitsrelevanter Aktivit"aten} ({\it auditing}) durchgef"uhrt werden. Einen guten "Uberblick "uber dieses Teilgebiet der Computersicherheit bietet \cite{DoD87}.

\item F"ur die Generierung sicherer Funktionen stehen bisher nur Generatorfunktionen zur Verf"ugung. Diese bilden jeweils genau eine unsichere Funktion auf eine sichere Funktion ab. Ein Code-Generator (vergleiche Abschnitt \ref{generate}), der aus einer kompletten ungesch"utzten Schnittstelle eine sichere Schnittstelle generiert, sollte den bestehenden Generatoransatz erg"anzen.

  \item Die Autorisierungsbibliotheken sind auf der Basis eines diskreten Zugriffs\-kon\-troll\-mo\-dells implementiert worden, da dieses ein hohes Ma"s an Flexibilit"at gew"ahrleistet. Erweitert man diese Autorisierungsbibliotheken um einen Dienst f"ur die Modellierung regelbasierter mehrstufiger Autorisierungen, kann neben dem Zugriff auf Informationen auch der Informationsflu"s kontrolliert werden. W"ahrend der Implementierungsaufwand auf der Applikationsebene dabei deutlich geringer ausfallen d"urfte, stellt ein solcher Dienst erh"ohte Anforderungen an die "ubrige Hard- und Software wie zum Beispiel den Einsatz eines mehrstufigen Betriebssystems ({\it multilevel operating system}) oder eines erweiterten Sicherheitskonzeptes f"ur die Systemschicht des Tycoon-Systems.\\
Existieren diese beiden Dienste parallel, so k"onnen sie f"ur die Modellierung eines {\bf hybriden Gesamtsystems} kombiniert werden. W"ahrend das mehrstufige Autorisierungssystem Subjekte und Objekte disjunkten Kompartimenten zuordnet und den Informationsflu"s von Applikationen kontrolliert, kann benutzerbestimmbare Zugriffskontrolle innerhalb dieser Kompartimente sicherstellen, da"s die Flexibilit"at der Sicherheitsmodellierung erhalten bleibt.


\end{itemize}



\nocite{Smi89} \nocite{Hof82} \nocite{Sen95} \nocite{EDBT93}
