Smart Card operating systems: Past Present and Future

Over the last twenty years, the software in smart cards has radically changed. This has happened for several reasons, smart card software was initially rigid and monolithic and has now become more flexible with a clear separation between “operating system level” and “application level” parts. What is more, application-level resources are now much more accessible (nearly to end user level). Nevertheless, smart cards have evolved separately from an ever more distributed “outside world”. This paper presents two contributions to next-generation smart card operating systems. The first, called CAMILLE, relies on the exo-kernel approach to obtain extensibility, without compromising security, raising making operating systems accessible to application designers. The second, called AWARE, reveals the mismatch between the smart card execution model and the role it is expected to play in distributed systems. We propose solutions that allow for multi-tasking and reactivity. Beyond these projects, there are a number of obstacles that need to be overcome before we can reach what might be the ultimate step in smart card operating system design. In conclusion, this paper presents current work around two related challenges, namely resource control and real-time operation.

[1]  Z. Chen Java Card Technology for Smart Cards: Architecture and Programmer''s Guide. The Java Series. Addis , 2000 .

[2]  Karl Crary,et al.  Resource bound certification , 2000, POPL '00.

[3]  Gilles Grimaud,et al.  U-turn to Java Card Byte code verification , 2002 .

[4]  Lilian Burdy,et al.  Formal development of an embedded verifier for Java Card byte code , 2002, Proceedings International Conference on Dependable Systems and Networks.

[5]  Michael Rohs,et al.  Mobile code as an enabling technology for service-oriented smartcard middleware , 2000, Proceedings DOA'00. International Symposium on Distributed Objects and Applications.

[6]  Dawson R. Engler,et al.  Exterminate all operating system abstractions , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[7]  Sylvain Lecomte,et al.  Using some database principles to improve cooperation in multi-application smart cards , 2001, SCCC 2001. 21st International Conference of the Chilean Computer Science Society.

[8]  Sylvain Lecomte,et al.  Implementation of Transactional Mechanisms for Open SmartCard , 1999 .

[9]  Gilles Grimaud,et al.  Proceedings of the 2nd Workshop on Industrial Experiences with Systems Software Building an "impossible" Verifier on a Java Card , 2022 .

[10]  Xavier Leroy On-Card Bytecode Verification for Java Card , 2001, E-smart.

[11]  Jean-Louis Lanet,et al.  FACADE: a typed intermediate language dedicated to smart cards , 1999, ESEC/FSE-7.

[12]  Gilles Muller,et al.  Adapting distributed applications using extensible networks , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[13]  Jean-Jacques Quisquater The adolescence of smart cards , 1997, Future Gener. Comput. Syst..

[14]  Gilles Grimaud Camille : un système d'exploitation ouvert pour carte à microprocesseur , 2000 .

[15]  Pierre Paradinas,et al.  A Personal and Portable Database Server: the CQL Card , 1994, ADB.