Report: Extensibility and Implementation Independence of the .NET Cryptographic API

  • Authors:
  • Pieter Philippaerts;Cédric Boon;Frank Piessens

  • Affiliations:
  • Dept. of Computer Science, K.U.Leuven,;Dept. of Computer Science, K.U.Leuven,;Dept. of Computer Science, K.U.Leuven,

  • Venue:
  • ESSoS '09 Proceedings of the 1st International Symposium on Engineering Secure Software and Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

When a vulnerability is discovered in a cryptographic algorithm, or in a specific implementation of that algorithm, it is important that software using that algorithm or implementation is upgraded quickly. Hence, modern cryptographic libraries such as the .NET crypto libraries are designed to be extensible with new algorithms. In addition, they also support algorithm and implementation independent use. Software written against these libraries can be implemented such that switching to a new crypto algorithm or implementation requires very little effort. This paper reports on our experiences with the implementation of a number of extensions to the .NET cryptographic framework. The extensions we consider are smart card based implementations of existing algorithms. We evaluate the extensibility of the libraries, and the support for implementation independence. We identify several problems with the libraries that have a negative impact on these properties, and we propose solutions. The main conclusion of the paper is that extensibility and implementation independence can be substantially improved with only minor changes. These changes maintain backwards compatibility for client code.