Making ASN.1 (Abstract Syntax Notation One) human-readable : Investigative and practical study to generalize decoding and manual validation of ASN.1 from the cellular network during run time

University essay from Luleå tekniska universitet/Institutionen för system- och rymdteknik

Abstract: ASN.1 is a powerful formal notation divided into two parts, a specification of the data and the data itself in binary form. Creating decoders for these files can often be tedious. The purpose of this degree work is to extend current tools at Arctic Group to make an application that decodes a range of different ASN.1 specifications and data. This should be done during runtime, without needing to rebuild the application for each specification, while generating human-readable data and abstracting unwanted information. Two ways to create ASN.1 decoders were identified, and the application was designed taking heavy inspiration from a solution that stores intermediate data in a list. By not including encoding as a feature of the application a few shortcuts could be made, and the desired result could be achieved during runtime. The application was designed to include three parts. The first part was an ASN.1 parser using the Java-based tool ANTLR4. The second part matched the binary data to the information in the specification. The final part was an output formatter that abstracts and prettifies the output data to text files. The result was an application that parses at least three of the most commonly used specifications of the employer and does only have to be rebuilt when a new data type is present in the specifications. Problems arose when matching the data to the ASN.1 specifications, thus the matching and output formatting was only partially implemented. The application was evaluated by testing many different ASN.1 specifications, making sure everything was generated correctly during runtime and extending the parser to support more syntax as it was introduced in new specifications. Although the application did not support any arbitrary ASN.1 specification, it could serve as a foundation for further development to make the application truly generalized.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)