Middleware for Smart Cards Chapter 16 of the book "Middleware for Communications", John Wiley & Sons 2004 Harald Vogt*, Michael Rohs*, Roger Kilian-Kehr+ * Swiss Federal Institute of Technology (ETH Zurich) + SAP Corporate Research Abstract Smart cards are credit card-sized plastic cards with an integrated microcontroller chip. This chip is protected against physical and logical tampering, thus unauthorized access to internal data structures is virtually impossible. This makes a smart card an excellent device for storing secret cryptographic keys and other sensitive data. In practice, smart cards are used for applications like digitally signing documents, ticketing, controlling access to desktop computers, and authenticating the users of mobile phone networks. The need for middleware and system support became immediately clear when smart cards started to gain ground on the common computing platforms. Application developers cannot be expected to deal with the large number of different, manufacturer-dependent interfaces that are offered by smart card readers and smart card services. Therefore, smart card middleware is necessary for mediating between these services and application software. In such a system, it should be possible to replace one type of smart card with another one offering similar features, without affecting the application level. The major requirements to smart card middleware are therefore encapsulation of communication specifics, interoperability, and system integration. In this chapter, we present an overview of the existing approaches to smart card middleware. Some of them were inspired by the development of powerful microprocessors for smart cards that made it possible to run a Java interpreter. Generally, the availability of the Java programming language for smart cards increased their popularity and made lots of new applications possible. As we will see later in the chapter, this also made it easier to integrate them into distributed computing environments. This shows that, with the right kind of middleware, the power of smart cards can be effectively utilized.