Dieses Projekt fasst Demonstratoren zu CrySIL (ehemals „SkyTrust“) zusammen.
Der Cryptographic Service Interoperability Layer (CrySIL), ehemals bekannt als Skytrust, hat sich zur Aufgabe gemacht, angewandte Kryptografie so zu ergänzen, dass diese sonst lokal gehaltenes Schlüsselmaterial für Anwendungen transparent zentral halten kann. Dieses Projekt konsolidiert bisher geleistete Beiträge zu CrySIL aus verschiedensten Quellen. Das Ergebnis des Projekts ist eine Informationswebsite, die neben den A-SIT Projekten, wissenschaftlichen Veröffentlichungen oder Studentenprojekten zu CrySIL auch verschiedene Demonstratoren zur Ansicht zur Verfügung stellt.
Links
CrySIL-Demoseite (deaktiviert)
1. Einleitung
Der Cryptographic Service Interoperability Layer (CrySIL), ehemals bekannt unter dem Namen Skytrust, fand seinen Anfang in den Jahren 2013/2014. Die Motivation war damals, dass die Smart-Card-Version der österreichischen Bürgerkarte für über die Grund-Funktionalität hinausgehende Anwendungen wie Email-Signaturen verwendet werden kann, speziell für Benutzer und Benutzerinnen, die weniger Technologie-affin sind, und auch Nutzer und Nutzerinnen, die nicht Microsoft Windows als Betriebssystem verwenden. Seither haben sich Motivation als auch zutreffenden Anwendungsfälle erweitert und CrySIL ist zu einem mächtigen Stück Technologie herangewachsen. Erste wissenschaftliche Veröffentlichung folgten dann ab dem Jahr 2015 ( [1] und andere) – sowohl A-SIT Projekte, Dissertationsbemühungen, Studentenprojekte und auch eine Industriekooperation haben das Projekt vorangetrieben. Das Ziel von CrySIL ist, mehr Flexibilität und Benutzbarkeit im Bereich der angewandten Kryptografie zu erreichen. Speziell dort, wo aktuelle Lösungen nicht mehr in der Lage sind, mit den vorherrschenden und damit auch zukünftigen Situationen und Anwendungsfällen Schritt zu halten, © A-SIT, Partner für Sicherheitsfragen versucht CrySIL neue Möglichkeiten zu schaffen, die einem Anwender oder einer Anwenderin die Nutzung von angewandter Kryptografie weiterhin (wieder) möglich macht, Daten gegen Missbrauch zu schützen. CrySIL erreicht dies mit zwei dedizierten Eigenschaften. Erstens trennt CrySIL seine API strikt von der tatsächlichen Implementierung. Dabei versteckt sich CrySIL hinter existierenden KryptoAPIs und erlaubt gleichzeitig die Verwendung von geräteübergreifenden Implementierungen. Abbildung 2 illustriert das Konzept. Der Benutzer oder die Benutzerin kann verschiedene APIs verwenden, die
![Interoperabilitätskonzept von CrySIL transparent für den Benutzer oder die Benutzerin verschiedene Implementierungen verwenden kann, die unterschiedliche Eigenschaften haben. So können sich solche Implementierungen lokal am selben Gerät befinden, im Unternehmensnetzwerk oder auch in der Cloud, es können softwarebasierte Implementierungen verwendet werden genauso wie hochsichere Hardware Security Modules (HSMs), bezahlte Services oder eigene Schlüssel. Zum anderen ergänzt CrySIL Funktionalitäten, die existierende Lösungen nur sehr vereinzelt anbieten. Zum Beispiel übernimmt CrySIL die Schlüsselautorisierung vollständig. CrySIL interagiert selbst mit der Benutzerin oder dem Benutzer, sammelt die Authentifizierungsdaten ein und entscheidet basierend auf diesen Daten, ob ein Schlüssel für eine gegebene Operation genutzt werden darf. Basierend auf diesen Möglichkeiten kann CrySIL die Verantwortung von Sicherheit auf mehrere Parteien aufteilen; die Applikation, die kryptografische Operationen benötigt, die Applikation, die Authentifizierungsdaten sammelt und die Applikation, die die Operation selbst ausführt. Weiters ermöglicht es CrySIL, mehrere verschiedene Schlüsselspeicher hinter einer API zusammenzufassen, sodass lokal und entfernt verfügbare Schlüssel mit gleichem Aufwand verwendet werden können. Damit ermöglicht CrySIL unter anderem, dass ein Benutzer oder eine Benutzerin Cloud-basierte (ev. kommerzielle) Schlüsselservices, seine Bürgerkarte-Smartcard und einen lokalen Schlüsselspeicher ohne zusätzliche Komplexität und Aufwand verwenden kann, und das von jedem seiner/ihrer Geräte. Mit entfernten Schlüsselspeicher wird es auch möglich, Schlüssel mit anderen zu teilen, sodass zum Beispiel der Sender von Daten entscheiden kann, welcher kryptografische Schutz für die zu senden Daten angemessen ist, indem er einen passenden Schlüssel selbst erstellt und mit dem Empfänger (via Authentifizierung) teilt. CrySIL ermöglicht teilweise auch, Eigenschaften von kryptografischen Methoden nachzubilden, die nicht im Mainstream der angewandten Kryptografie zu finden sind (zb. Identity-Based Encryption (IBE)) bzw. (noch) nicht produktiv einsetzbar sind (zB proxy-reencryption (PRE)). In den vergangenen Jahren haben viele Beiträge von unterschiedlicher Quelle CrySIL ergänzt und vorangetrieben. Dieses Projekt hat nun einen Teil dieser Beiträge konsolidiert und eine Demonstrationsplattform erstellt, wo einige der Anwendungsfälle direkt ausprobiert werden können. Diese Demonstratoren bauen auf einem konsolidierten Kern von CrySIL auf, der nach Abschluss des Projekts einen Großteil der Beiträge enthält. Informationen zu CrySIL, dessen Source Codes und auch die nachstehen beschriebenen Demonstratoren sind auf der CrySIL Demonstrationswebsite [1] zu finden.](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-1.webp)
2. Demonstratoren
Im Laufe der Zeit haben sich einige Demonstratoren gesammelt, die die Flexibilität und Modularität des Cryptographic Service Interoperability Layers zeigen. Die Demonstratoren sind auf der CrySIL 1 https://crysil.iaik.tugraz.at Website veröffentlicht. Hier werden nun die bis jetzt konsolidierten Demonstratoren vorgestellt, deren Funktion erklärt und deren Demonstrationsziel diskutiert.
2.1. Einfacher Schlüsselservice in der Cloud
Dieser Demonstrator ist der einfachste und grundlegendste der Demonstratoren. Es wird ein Schlüsselservice angeboten, das von internet-fähigen Geräten verwendet werden kann. Der Demonstrator bietet nur die grundlegendsten Operationen der CrySIL-Welt an. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Simple Static Key RSA CrySIL Node without authentication: https://crysil.iaik.tugraz.at/tomcat/simple- webservice/json. Der hinter der URL zur Verfügung gestellte CrySIL Knoten beinhaltet nur wenige Komponenten. Abbildung 2 illustriert den CrySIL Knoten und wie diese zu verwenden ist. Den zum Knoten bildet ein http-Interface, das CrySIL Befehle im JSON Format akzeptiert. Ein zweites Modul bietet kryptografische Operationen an und hängt direkt hinter dem http-Interface. Um den Demonstrator

Benutzer
| Col1 | HTTP JSON Kryptographie CrySIL Node statischer Schlüssel |
|---|---|
2.2. Komplexerer Schlüsselservice in der Cloud
Dieser Demonstrator erweitert die Funktionalität des vorher beschriebenen Demonstrators. Es wird ein Schlüsselservice angeboten, das von internet-fähigen Geräten verwendet werden kann. Der Demonstrator bietet erweiterte Funktionalität der CrySIL-Welt an. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel CrySIL Node with authentication and key database: https://crysil.iaik.tugraz.at/tomcat/webservice-with-auth-and-keydatabase/json . Die hinter der URL zur Verfügung gestellte CrySIL Node beinhaltet neben einem Interface und einem Modul für Kryptografie zusätzliche Komponenten. Abbildung 3 illustriert die CrySIL Node und wie diese zu verwenden ist. Den Einstieg zur Node bildet wieder ein http-Interface, das CrySIL Befehle im JSON Format akzeptiert. Dahinter findet ein Gatekeeper-Modul seinen Platz. Dieses Modul entscheidet aufgrund der Metadaten in der Schlüsseldatenbank, ob ein Befehl einem Autorisierungsprozess unterzogen werden muss. Wenn ja, merkt sich das Modul den ursprünglichen Befehl, fordert aber gleichzeitig Authentifizierungsdaten an. Erst wenn diese eingetroffen und korrekt sind, wird der ursprüngliche Befehl an das nächste Modul weitergeleitet. Dieses nächste Modul bietet kryptografische Operationen an. Die verfügbaren kryptografischen Schlüssel werden aus der Schlüsseldatenbank gelesen. Wenn ein CrySIL-Befehl einen Schlüssel verlangt, der in der Datenbank nicht existiert, führt dies, im Gegensatz zum vorherigen Demonstrator, zum Abbruch der Operation. Die kryptografischen Operationen werden von der BouncyCastle Kryptolibrary zur Verfügung gestellt. Ziel des Demonstrators ist es, nach erfolgreicher Integration des vorher beschriebenen Demonstrators, mehr aus der CrySIL Welt für Experimente zur Verfügung zu stellen. Der Service kann mehrere kryptografische Schlüssel zur Verfügung stellen. Dabei sind RSA und auch AES möglich mit Schlüssellängen bis 2048 Bit, bzw. 256 Bit. Diesen Schlüsseln können verschiedene

Benutzer
| Col1 | HTTP JSON Gatekeeper Kryptographie Schlüsseldatenbank mit Metadaten CrySIL Node |
|---|---|
2.3. Schlüsselmanagement Webapplikation
Dieser Demonstrator arbeitet eng mit dem vorher beschriebenen komplexeren Schlüsselservice in der Cloud zusammen. Es wird ein Web Userinterface bereitgestellt, mit dem die Inhalte der vorher erwähnten Schlüsseldatenbank verwaltet werden können. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Simple Webapp for key management for the node above: CloudKS. Das Webservice besteht aus 4 großen Bausteinen. Abbildung 4 illustriert diese Bausteine und setzt diese in den Kontext eines Anwendungsfalls. Die grafische Bedienoberfläche bietet dem

2.4. Schlüsselservice auf dem eigenen Android Smart Phone
Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Personal keyservice on your Android phone: Download . Der dazu benötigte Relay Service ist wiederum im Abschnitt Demonstratoren unter dem Titel Crysil Android Relay Service (formerly known as WebVPN) endpoint: https://crysil.iaik.tugraz.at/.../YOURIDHERE zu finden. Dieser Demonstrator besteht aus mehreren Bausteinen, die in Abbildung 5 illustriert sind. Der Benutzer oder die Benutzerin bedient eine Applikation. Diese Applikation verwendet für kryptografische Operationen die Welt von CrySIL. Die Applikation ist so konfiguriert, dass Anfragen an einen Schlüsselservice über das Internet mittles http und JSON an den Relay Service abgesetzt
| Relay Service | Col2 |
|---|---|
| Relay Service |

2.5. CrySIL Javascript IFrame
Um die Verwendung von Kryptografie in Browserapplikation sowohl für den Anwender/die Anwenderin als auch für Entwickler und Entwicklerinnen noch einfacher zu gestalten, wurde ein weiterer Demonstrator geschaffen. Dieser Demonstrator ermöglich es, hinter der W3C Web Cryptography API die Welt von CrySIL nutzbar zu machen, wobei die Applikation selbst sich weder um Schlüsselmanagement, noch um Bereitstellung von Authentifizierungsdaten kümmern muss. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel CrySIL Javascript IFrame: https://crysil.iaik.tugraz.at/iframe/credential-node/credential-node.html . Die CrySIL Node im IFrame besteht aus mehreren Komponenten. Abbildung 6 illustriert die Komponenten und bettet diesen in einen Anwendungsfall ein. Die Javascript CrySIL Bibliothek wird in der Browser-Applikation initiiert. Damit wird der W3C Cryptography API eine JCE-ähnliche

2.6. Verschlüsselungsdemonstratoren
Diese Demonstratoren verwenden sowohl das CrySIL Javascript IFrame als auch verschiedene Schlüsselservice Demonstratoren. Es werden einfache Webapplikationen bereitgestellt, die einfache Verschlüsselungsoperationen ausführen können. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Encryption demos using the IFrame: Demos . Jeder Demonstrator ist prinzipiell gleich aufgebaut. Abbildung 7 illustriert deren Bausteine. Der Benutzer/die Benutzerin bedient die Bedienoberfläche in seinem/ihrem Web Browser. Die Bedienoberfläche kommuniziert mit der Programmlogik, die wieder mit dem CrySIL IFrame kommuniziert. Ziel dieser Demonstratoren ist es, zu zeigen, wie einfach, schnell und unkompliziert einer Browserapplikation der Zugang zu kryptografischen Methoden ermöglicht werden kann. Damit sind diese Demonstratoren hauptsächlich an Entwickler und Entwicklerinnen gerichtet. Alles in allem zeigen die Demonstratoren, wie eine Webapplikation Zugang zur CrySIL Welt und

| utzerin | Bedienoberfläche CrySIL JS Bibliothek W3C Web Programmlogik Cryptography API Browser Applikation | Col3 |
|---|---|---|
| utzerin | Browser Applikation CrySIL JS Bibliothek Bedienoberfläche Programmlogik W3C Web Cryptography API |
2.7. Verschlüsselungsapplikation im Browser
Dieser Demonstrator bietet eine Webapplikation, mit der kryptografische Operationen auf lokal gespeicherten Dateien ausgeführt werden können. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Browser-based Crypto-Application: Crypto for CrySIL .
Dieser Demonstrator folgt im Wesentlichen dem Aufbau der vorhergehend beschriebenen Demonstratoren. Abbildung 7 illustriert auch hier die Bausteine. Wieder erlaubt eine Webapplikation die Verwendung von Kryptografie mit Hilfe des CrySIL IFrames. Besonders bei diesem Demonstrator ist aber, dass dieser auch lokal generierte Schlüssel mit der browsereigenen Implementierung verwenden kann. Dieser Demonstrator demonstriert wieder, wie einfach, schnell und unkompliziert einer Browserapplikation der Zugang zu kryptografischen Methoden ermöglicht werden kann. Im Gegensatz zu den vorhergehenden Demonstratoren ist dieser Demonstrator aber an den Benutzer und an die Benutzerin gerichtet. Er zeigt damit, dass eine browserbasierte Applikation ohne Installation verwendet werden kann, um private Daten zu schützen. Alles in allem zeigt dieser Demonstrator auf, wie eine browserbasierte Verschlüsselungsapplikation ausschauen könnte. Dank gilt hier Herrn Daniel Anthofer, der an der Bereitstellung dieses Demonstrators maßgeblich beteiligt war.
2.8. CMS Verschlüsselung am Desktop
Dieser Demonstrator zeigt, wie eine einfache Desktop-Applikation die Welt von CrySIL nutzen kann, um Dateien mit Hilfe des CMS-Formats zu verschlüsseln. Der Demonstrator ist damit funktional ähnlich zur den Verschlüsselungsdemonstratoren im Browser, tritt aber als eigenständiges Programm auf, das von Benutzern und Benutzerinnen eines Desktop-PC-artigen Geräts verwendet werden kann. Zu finden ist der Demonstrator auf der CrySIL Website im Abschnitt Demonstratoren mit dem Titel Java Desktop Encryption Application: Download . Dieser Demonstrator folgt im Wesentlichen dem Aufbau des vorhergehend beschriebenen Demonstrators, der Verschlüsselungsapplikation für den Browser. Jedoch existiert kein Äquivalent für das IFrame und es wird nur CMS Verschlüsselung/Entschlüsselung mit kryptografischen Schlüsseln eines Schlüsselservice angeboten. Abbildung 8 illustriert die Bausteine. Der Benutzer

Alles in allem zeigt auch dieser Demonstrator die Flexibilität und Einfachheit von CrySIL auf. Einerseits in der Bedienung für Benutzer und Benutzerinnen und andererseits in der Integration in bestehenden Java Applikationen.
2.9. Weitere Demonstratoren
Neben den hier im Detail beschriebenen Demonstratoren gibt es noch weitere, die aber bis jetzt noch nicht konsolidiert werden konnten. Darunter sind Demonstratoren, die zum Beispiel die Welt von CrySIL in eine PKCS#11 Bibliothek verpacken, damit Programme wie Mozilla Thunderbird oder Schlüsselringe von Betriebssystemen CrySIL’s Möglichkeiten nutzen können. Ein weiterer Demonstrator ermöglicht es der Microsoft Windows Schlüsselverwaltung, CrySIL zu verwenden. Damit kann zum Beispiel Microsoft Outlook Emails mit Hilfe von CrySIL und damit mit Schlüsselservices der Cloud signieren. Ein Demonstrator erkundet das Authentifizierungsverfahren Universial Second Factor (U2F) der FIDO Alliance und demonstriert, wie ein U2F USB Token mit CrySIL ergänzt werden kann. Der Demonstrator zeigt, wie ein U2F-Token von einem Schüsselservice, der österreichischen Bürgerkarte-Smart Card, oder einer NFC-fähige Kryptosmartcard via Mobiltelefon emultiert werden kann, und damit eine Authentifizierung bei U2Ffähigen Webapplikationen als auch bei Installationen von Microsofts Windows 10 möglich wird. Dazu kommen noch Applikationen, die die Funktionalität der oben beschriebene Java Desktop CMS Applikation als auch des CrySIL IFrames auf Smart Phones bringt. Weitere Demonstratoren zeigen die Integration der eXtensible Access Control Modeling Language (XACML) in den Authentifizierungsprozess von CrySIL, die Emulation von Proxy-Reencryption und Identity-based Encryption und zu guter Letzt ein Showcase einer CrySIL-enabled Org, wo eine neue Art von Schlüsselmanagement in Unternehmen demonstriert wird.
3. Zusammenfassung
Viele Beiträge haben den Cryptographic Service Interoperability Layer ergänzt und erweitert. Dieses Projekt hat viele davon soweit konsolidiert, dass die jeweiligen Demonstratoren miteinander verwendbar sind. Damit wird über das Projekt die Vielseitigkeit von CrySIL demonstriert.
Literaturverzeichnis
[1] F. Reimair, P. Teufl und T. Zefferer, „CrySIL: Bringing Crypto to the Modern User,“ in Lecture Notes in Business Information Processing, Bd. 246, Springer, 2016, pp. 70-90.
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-2.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-3.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-5.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-7.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-8.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-10.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-11.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-12.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-13.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-15.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-17.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-18.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-20.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-22.webp)
![[Platzhalter: Alt-Text]](/veroeffentlichungen/konsolidierung-von-skytrust-werkzeugen/abbildung-23.webp)