next up previous contents
Nächste Seite: 7.2 Vorarbeiten Aufwärts: 7. Realisierung Vorherige Seite: 7. Realisierung   Inhalt

Unterabschnitte

7.1 Neue Produkte für die Realisierung

Für die Realisierung war zunächst eine CORBA-Entwicklungsumgebung zu wählen, die folgende Rahmenbedingungen zu erfüllen hatte:

Da das Unix-Derivat Linux nicht nur im akademischen Umfeld zunehmend an Bedeutung gewinnt und auch am Lehrstuhl, an dem MASA entwickelt wird, Linux massiv Einsatz findet, wurde auf dessen Unterstützung als Entwicklungs- und Laufzeitplattform besonderen Wert gelegt.


Zwar bietet die Firma Inprise, der Hersteller der bisher verwendeten Umgebung Visibroker, eine SSL-Erweiterung an, allerdings existierte keine Unterstützung von Linux als Laufzeitplattform. Konkret verwendet Visibroker eine als betriebssystem-native Applikation vorliegende Komponente (den sog. osagent), die Voraussetzung für den Einsatz von Visibroker ist und nicht für Linux verfügbar ist.

7.1.1 Die CORBA-Entwicklungsumgebung Orbacus 3.1.2

Das Produkt Orbacus 3.1.2 des Herstellers Object Oriented Concepts (OOC) OOC!Object Oriented Concepts ([OOC Site]) erfüllt alle Anforderungen an eine neue CORBA-Umgebung:

Weitere Merkmale sind:

7.1.1.1 Bewertung und Erfahrungsbericht

Neben den aufgezählten Leistungsmerkmalen erwies sich die Unterstützung seitens des Herstellers durch eine Mailingliste als hervorragend. Gestellte Fragen wurden prompt und kompetent durch die Entwickler selbst beantwortet. Die bereits im Rahmen von [Roel 98] gemachten positiven Erfahrungen mit Orbacus bestätigen dabei die Alltagstauglichkeit des Produkts.

Als weiterer Vorteil des Produkts ist die Tatsache zu werten, daß sowohl die C++ als auch die Java-Variante, anders als bei Visibroker, komplett im Quelltext vorliegen. Probleme durch einfache Bugs, wie sie beispielsweise in [Bran 99] mit Visibroker aufgetreten sind, lassen damit nicht nur einfacher nachvollziehen, sondern in eiligen Fällen auch selbst beheben, bis der Hersteller eine korrigierte Version liefert.

Neben diesen technischen Eigenschaften besitzt Orbacus noch einen positiven wirtschaftlichen Aspekt: Die gesamte Laufzeitumgebung ist für die Verwendung in nicht kommerziellen Projekten frei, was dem MASA-Projekt zugute kam. Dies gilt auch für die SSL-Erweiterung, für die im Fall von Visibroker ein merklicher Betrag zu entrichten gewesen wäre.

Da mit Orbacus ein vollwertiger Ersatz für das bisher verwendete Visibroker gefunden wurde, ist dessen Unterstützung für die erweiterte MASA-Version eingestellt worden. Zu den Zukunftsperspektiven von Orbacus bleibt zu erwähnen, daß gerade die Nachfolgeversion 4.0 zum Alpha-Test durch OOC freigegeben wurde, welche die komplette CORBA V2.3 Spezifikation implementieren wird.


7.1.2 Die SSL-Erweiterung OrbacusSSL 1.0.1

Mit OrbacusSSL 1.0.1 bietet OOC eine SSL-Erweiterung für Orbacus 3.1.x an. Ebenso wie das Hauptprodukt werden für die SSL-Erweiterung die Sprachen C++ und Java unterstützt, wiederum sind beide Versionen im Quelltext verfügbar und die nicht-kommerzielle Nutzung frei.

Allerdings beinhaltet OrbacusSSL selbst keine eigene Implementierung von SSL-Strömen und keine kryptographischen Algorithmen, hierfür werden zusätzliche Fremdprodukte benötigt:

OrbacusSSL 1.0.1 erfüllt die Security Functionality Level 1 aus [OMG 98-03-09] nur teilweise. Zwar werden durch die Verwendung von SSL die Forderungen hinsichtlich von Authentisierung und sicherer Kommunikation erfüllt, allerdings werden nicht alle in der CORBA Security Specification geforderten Schnittstellen implementiert.

7.1.2.1 Bewertung und Erfahrungsbericht

Leider bestätigten sich im Laufe der Arbeiten an der Implementierung die positiven Eindrücke des Hauptprodukts für die SSL-Erweiterung nur eingeschränkt:

7.1.3 Die Kryptographie-Bibliothek IAIK-JCE 2.5.1

IAIK-JCE 2.5.1 vom Institut für angewandte Informationsverarbeitung und Kommunikationstechnologie der Technischen Universität Graz (IAIK) ist eine unabhängige Neuimplementierung der Java Cryptography Extension V1.2 (JCEJCE!Java Cryptography Extension) ([JCE 99]), die aufgrund von US-Exportbeschränkungen nicht außerhalb der USA vertrieben werden darf, und stellt eine Java-Erweiterung im Rahmen der Java Cryptographic Architecture (JCAJCA!Java Cryptographic Architecture) ([JCA 98]) dar.


Die folgenden Algorithmen werden u.a. unterstützt, für eine komplette Übersicht siehe [IAIK Site]:

IAIK-JCE ist frei für Lehrzwecke und wird in Form von fertig übersetzten JAR-Dateien geliefert.

Neben der Standardausgabe ist noch eine sog. Applet-Edition erhältlich, die den gleichen Leistungsumfang besitzt, die Klassen jedoch in einem anderen Package implementiert als in [JCA 98] vorgesehen, um Probleme mit der internen Sicherheitsarchitektur mancher Webbrowser zu vermeiden (siehe auch [IAIK Site]).

7.1.3.1 Bewertung und Erfahrungsbericht

Nachdem mit der Version 2.5.1 die Probleme der Vorgängerversion 2.5 mit JDK 1.2 behoben wurden, hat sich IAIK-JCE als zuverlässige Bibliothek für alle gängigen kryptologischen Verfahren bewährt. Besonders die Unterstützung der proprietären Netscape Erweiterungen für X.509-Zertifikate hat sich im praktischen Betrieb zur Nutzung der weitverbreiteten Netscape Produkte als äußerst hilfreich erwiesen.

Die API-Dokumentation [IAIK-JCE API] ist als gut zu bewerten, allerdings fehlt ein Benutzerhandbuch. Dieses Manko wird durch eine Mailingliste etwas aufgefangen, wo Anwender und Entwickler Fragen beantworten.

7.1.4 Die SSL-Bibliothek IAIK-iSaSiLk 2.5.1

Mit IAIK-iSaSiLk 2.5.1 liefert IAIK eine vollständige Implementierung des SSL V3.0 Protokolls ([FKK 96], vgl. 6.1.2), die komplett in Java verfaßt ist und auf die kryptographischen Funktionen von IAIK-JCE zurückgreift.

IAIK-iSaSiLk 2.5.1 umfaßt Socket-Klassen für den Aufbau von SSL-Strömen über TCP/IP. Dabei sind diese Socket-Klassen und jene des Java-API (vgl. [JDK1.2-SDK]) angelehnt. Eine Übersicht dieser Klassen und ihrer Anwendung, sowie eine Liste der unterstützten Verschlüsselungsalgorithmen findet sich in [iSaSiLk].

Analog zu IAIK-JCE ist IAIK-iSaSiLk 2.5.1 frei für Lehrzwecke und wird in JAR-Dateien geliefert, ebenso ist eine Applet-Edition verfügbar.

7.1.4.1 Bewertung und Erfahrungsbericht

Während der Implementierung erwiesen sich die Klassen von IAIK-iSaSiLk 2.5.1 als äußert einfach und problemlos in der Handhabung. In der Zusammenarbeit mit SSL-fähigen Webbrowsern traten keine nennenswerten Probleme auf.

Mit [iSaSiLk] und [iSaSiLk API] steht eine gute Dokumentation des Produkts zur Verfügung.



Fußnoten

... sind7.1
Am Lehrstuhl bereits getestete Plattformen: Linux, Sun Solaris, HP-UX (nur JDK V1.1.x), Apple MacOS (nur JDK V1.1.x)
... 95/98/NT.7.2
Details und eine Liste der unterstützten C++ Compiler siehe [OOC Site].

next up previous contents
Nächste Seite: 7.2 Vorarbeiten Aufwärts: 7. Realisierung Vorherige Seite: 7. Realisierung   Inhalt
harald@roelle.com