TU Darmstadt / ULB / TUbiblio

Design and Implementation of a Code Generator for ASN.1 Data Structures

Ebinger, Peter (2004)
Design and Implementation of a Code Generator for ASN.1 Data Structures.
Buch, Bibliographie

Kurzbeschreibung (Abstract)

A tool was developed that generates Java classes from a given ASN.1 definition, in order to code and decode the corresponding ASN.1 structures based on the CODEC library. CODEC is a Java library for coding and decoding ASN.1 data structures that is developed and maintained at the Fraunhofer IGD. The CODEC library is used particularly for the implementation of network protocols and other tasks within cryptographic environments, e.g. X.509 certificates. The first step is the analysis as well as the consolidation of the CODEC library. In this connection the measures necessary for the consolidation are specified, as well as some possible improvements of the underlying CODEC library are discussed. Furthermore the relevant ASN.1 constructs are defined as basis for realizing the required prototype classes. Thereafter the developed concept of the generator tool to be implemented is presented. This concept has to bridge the gap between strong automation and a broad function range. With consideration of the underlying complexity of ASN.1, a monolithic structure of the program could not be the goal of this concept. Therefore the target of the design is the development of a modular program structure, which can be easily extended. The developed concept is based on the 'Pipes and Filters' design pattern, which on the one hand provides good expandability and flexible configuration and on the other hand is well suited to integrate a template mechanism for the production of the desired ASN.1 data types. Based on this considerations the different aspects of the required generation process are analyzed and assigned to independent modules (filters). In the following the requirements of the individual modules are described in detail. Es wurde ein Werkzeug erstellt, das es erlaubt aus einer gegebenen ASN.1-Definition Java-Klassen zu erzeugen, um die entsprechenden ASN.1-Strukturen zu kodieren oder zu dekodieren. Das Werkzeug baut auf CODEC auf, einer Java-Bibliothek zum Kodieren und Dekodieren von ASN.1 Datenstrukturen, die vom Fraunhofer IGD entwickelt und gepflegt wird. Eingesetzt wird CODEC vor allem im kryptographischen Umfeld, wie z.B. bei X.509-Zertifikaten oder bei der Implementierung von Netzwerkprotokollen. Im Vorfeld der Entwicklung wird eine Analyse sowie eine Konsolidierung der dieser Arbeit zugrundeliegenden CODEC Bibliothek durchgeführt. Es werden die zur Konsolidierung notwendigen Maßnahmen zusammengestellt, sowie einige Möglichkeiten zur Verbesserung der CODEC Bibliothek diskutiert. Desweiteren werden die relevanten ASN.1 Konstrukte definiert die als Basis für die zu realisierenden Prototypen dienen. Danach wird das entwickelte Konzept des zu implementierenden Werkzeuges vorgestellt. Hierbei muss eine Brücke zwischen starker Automatisierung und breitem Funktionsumfang geschlagen werden. Ein monolitischer Aufbau des Programmes kann, bei Berücksichtigung der Komplexität des ASN.1 Standards, nicht Ziel des Konzeptes sein. Im Vordergrund des Designs steht daher die Entwicklung einer modularen und leicht zu erweiternden Programmstruktur. Das entwickelte Konzept basiert auf dem 'Pipes and Filters' Design Pattern, welches einerseits eine gute Erweiterbarkeit bzw. Konfigurierbarkeit ermöglicht und anderseits auch gut geeignet ist einen Template-Mechanismus zur Erstellung der gewünschten ASN.1 Datentypen zu integrieren. Basierend auf diesem Ansatz werden die verschiedenen Aspekte des geforderten Generierungsprozesses analysiert und auf unabhängige Module (Filter) abgebildet. Im Anschluss werden die Anforderungen an die einzelnen Module näher erläutert. Im Anschluss wird die Implemetierung des dargestellten Ansatzes ausführlich vorgestellt. Neben dem Parser-Generator JavaCC dient hierbei die eXtensible Stylesheet Language Transformation (XSLT) als Basistechnologie bei der Implemetierung. Die einzelen Filter der Pipeline werden hierbei mittels XSL-Stylesheets umgesetzt. Abschließend werden zukünftige Erweiterungen des Werkzeuges diskutiert.

Typ des Eintrags: Buch
Erschienen: 2004
Autor(en): Ebinger, Peter
Art des Eintrags: Bibliographie
Titel: Design and Implementation of a Code Generator for ASN.1 Data Structures
Sprache: Englisch
Publikationsjahr: 2004
Kurzbeschreibung (Abstract):

A tool was developed that generates Java classes from a given ASN.1 definition, in order to code and decode the corresponding ASN.1 structures based on the CODEC library. CODEC is a Java library for coding and decoding ASN.1 data structures that is developed and maintained at the Fraunhofer IGD. The CODEC library is used particularly for the implementation of network protocols and other tasks within cryptographic environments, e.g. X.509 certificates. The first step is the analysis as well as the consolidation of the CODEC library. In this connection the measures necessary for the consolidation are specified, as well as some possible improvements of the underlying CODEC library are discussed. Furthermore the relevant ASN.1 constructs are defined as basis for realizing the required prototype classes. Thereafter the developed concept of the generator tool to be implemented is presented. This concept has to bridge the gap between strong automation and a broad function range. With consideration of the underlying complexity of ASN.1, a monolithic structure of the program could not be the goal of this concept. Therefore the target of the design is the development of a modular program structure, which can be easily extended. The developed concept is based on the 'Pipes and Filters' design pattern, which on the one hand provides good expandability and flexible configuration and on the other hand is well suited to integrate a template mechanism for the production of the desired ASN.1 data types. Based on this considerations the different aspects of the required generation process are analyzed and assigned to independent modules (filters). In the following the requirements of the individual modules are described in detail. Es wurde ein Werkzeug erstellt, das es erlaubt aus einer gegebenen ASN.1-Definition Java-Klassen zu erzeugen, um die entsprechenden ASN.1-Strukturen zu kodieren oder zu dekodieren. Das Werkzeug baut auf CODEC auf, einer Java-Bibliothek zum Kodieren und Dekodieren von ASN.1 Datenstrukturen, die vom Fraunhofer IGD entwickelt und gepflegt wird. Eingesetzt wird CODEC vor allem im kryptographischen Umfeld, wie z.B. bei X.509-Zertifikaten oder bei der Implementierung von Netzwerkprotokollen. Im Vorfeld der Entwicklung wird eine Analyse sowie eine Konsolidierung der dieser Arbeit zugrundeliegenden CODEC Bibliothek durchgeführt. Es werden die zur Konsolidierung notwendigen Maßnahmen zusammengestellt, sowie einige Möglichkeiten zur Verbesserung der CODEC Bibliothek diskutiert. Desweiteren werden die relevanten ASN.1 Konstrukte definiert die als Basis für die zu realisierenden Prototypen dienen. Danach wird das entwickelte Konzept des zu implementierenden Werkzeuges vorgestellt. Hierbei muss eine Brücke zwischen starker Automatisierung und breitem Funktionsumfang geschlagen werden. Ein monolitischer Aufbau des Programmes kann, bei Berücksichtigung der Komplexität des ASN.1 Standards, nicht Ziel des Konzeptes sein. Im Vordergrund des Designs steht daher die Entwicklung einer modularen und leicht zu erweiternden Programmstruktur. Das entwickelte Konzept basiert auf dem 'Pipes and Filters' Design Pattern, welches einerseits eine gute Erweiterbarkeit bzw. Konfigurierbarkeit ermöglicht und anderseits auch gut geeignet ist einen Template-Mechanismus zur Erstellung der gewünschten ASN.1 Datentypen zu integrieren. Basierend auf diesem Ansatz werden die verschiedenen Aspekte des geforderten Generierungsprozesses analysiert und auf unabhängige Module (Filter) abgebildet. Im Anschluss werden die Anforderungen an die einzelnen Module näher erläutert. Im Anschluss wird die Implemetierung des dargestellten Ansatzes ausführlich vorgestellt. Neben dem Parser-Generator JavaCC dient hierbei die eXtensible Stylesheet Language Transformation (XSLT) als Basistechnologie bei der Implemetierung. Die einzelen Filter der Pipeline werden hierbei mittels XSL-Stylesheets umgesetzt. Abschließend werden zukünftige Erweiterungen des Werkzeuges diskutiert.

Freie Schlagworte: ASN.1, Cryptography, XSLT, Coder / Decoder
Zusätzliche Informationen:

61 S.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Graphisch-Interaktive Systeme
Hinterlegungsdatum: 16 Apr 2018 09:04
Letzte Änderung: 27 Jun 2019 10:42
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen