The Calypso Applet

 

 

 

 

 

 

 

Objectives and role of an applet

Originally, and given the state-of-the-art in the late nineties, early 2000, the Calypso specifications were directly implemented by the IC manufacturers in a secure component. In this case, we are speaking of “native Calypso application”: one card = one Calypso application. All Calypso cards were native products: CD97, CD Light, GTML, CD21, Tango, etc.

With the improvement of contactless performances, and the emergence of Java Card, which proposes a standardized operating system for smart cards, it becomes possible to propose a purely software Calypso application which can be installed on all mediums using the Java Card operating system: SIM card of a mobile phone, EMV credit card for examples.

Calypso is completely compliant with GlobalPlatform to be downloaded.

This concept of a software application to install on a portable object at whatever step of its life cycle perfectly fits with the Calypso philosophy, because it opens the access to ticketing even more. It brings to transport authorities and operators a new panel of solutions to cover all their customer categories.

The figure below demonstrates all these possibilities:

The Calypso applet offers operators the possibility to accept mobile phones, credit cards, all Java Cards portable object:

  • it offers a solution to ticketing for occasional users, avoiding to issue for each single ticket a specific media,
  • it offers new solutions for ticket reloading, such as the use of mobile phones data communication to access a distant reloading server,
  • it enhances interoperability, the customer using its media in different transport networks. Combined with Hoplink solution, it offers customers the best seamless ticketing solution for customers.

For the operators, it is really the association of better service for customers with a reduction in costs.

 

But this kind of solution requires being very careful: if the applet does not respect all relevant standards, it may lead to a proprietary solution, and all benefits will vanish: no more interoperability, no solution for occasional users, no reduction of costs.

The ticketing technologies which do not share Calypso’s philosophy regarding openness often propose solutions which do not strictly respect all standards: the goal is to lock the link between the hardware platform and the software application, and consequently lock the operator to the manufacturer.

The Calypso applet, of course, strictly respects all the standards (see the technical description of the applet), and can be used with all existing Java Card hardware platforms, provided that this platform strictly respects these standards: it is the only way to guarantee interoperability.

 

Why choose CNA applet?

By directly providing a generic Calypso applet, CNA want to guarantee its openness policy, by delivering an applet whose performances are not designed to better answer to the characteristics of a particular platform of a manufacturer.

 

With CNA applet, you will benefit from an applet totally independent from hardware Javacard platforms, ensuring equal performances.

The current version is the "Calypso Rev 3.1 Applet Version 1.3" (released the 29th of September).

  • The Calypso REV3.1 compliance is currently being evaluate for different Java Card platform.
  • The AFSCM security evaluation is also in progress fort his new version.

 

CNA applet is free of charge, and can be requested directly from this web site.

Activation modules, dedicated to manage the serial number of each applet, and to conform to the license policy, are necessary to activate the applets after their installation.

 

CNA Applet technical specifications

CNA provides a Calypso applet compliant with the “Calypso Specification Revision 3.1 - Portable Object Application” specification.

  • This applet supports all Calypso REV 3.1 non-optional features.
  • Except the binary EF feature, the applet supports also all REV3.1 options which are compatible with Java Card environment.

 

The backward compatibility with Calypso REV2.4 is then supported according to Java Card limitations:

  • The Select Application APDU command shall be set with a class 00h (for this command the class byte 94h is not natively managed by Java Card environment).
  • The ratification shall be ordered with an ISO APDU command different than Select Application (the ratification through a ‘S-DESELECT’ RF signal couldn't be handled).

 

The CNA Calypso applet currently in version 1.1 is available in several packages in order to support different platforms:

  • GlobalPlaform 2.2.1 with amendments A & C / Java Card 2.2.2: the suitable package for NFC UICC supporting OTA personalization & activation privilege.
  • GlobalPlaform 2.1 / Java Card 2.2.1 : the relevant package for recent contactless Java Cards.

 

CNA provides the CNA Calypso applet for free, a User Licence provided by CNA has to be signed to get the applet.

The activation of a Calypso Portable Object requires fees collected by Innovatron, there are two solutions for the applet:

  • Calypso licensees could get specific package supporting factory activation: in this the licensee declares the amount of activation processed to Innovatron as for any Calypso PO. In this case, the licensee use its allocated Calypso serial range.
  • For remote post issuance activation, an Activation Module has to be involved (this is the only way an Over-The-Air activation). The activation could be operated by a non-licensee, the Activation Module provides in this case the unique Calypso serial number. Innovatron sells activation modules through the www.CalypsoStandard.net Web Store.

 

A Calypso package could be instantiated several times on a Java Card PICC in order to support several ticketing applications at a time.

  • Each application requires to be installed with a specific AID and could be personalized with a dedicated  generic file structure.
  • All instances installed from a same package share the same Calypso serial number and the same activation state (only the first instance personalized requires to be activated).