|
Printed
15-Mar-01 1
IP Smart Cards in the
(Not So) Distant Future
Thierry
Lamotte
Gemplus
Research Lab
Gemplus,
Parc d’Activites de Gémenos - B.P.100 – 13881 Gémenos
Cedex (France)
e-mail:
thierry.lamotte@research.gemplus.com
Abstract.
This
paper suggests that future smart cards should be designed to
communicate
using Internet protocols. A related implementation is
described. A
possible
architecture and some protocol standardizations are suggested.
Most
observers
believe that using Internet Protocol will bring substantial
benefits and
business
potential, yet other issues remain to be resolved. As the
Internet grows
at
a phenomenal rate, security concerns are becoming more
pressing. This paper
suggests
that smart cards could in the future offer the security
features that we
will
need in this global network. This new approach will become
possible in a
few
years when wireless communications use higher communication
rates,
smart
card chips are more powerful, the Internet Protocol v4 has
migrated to
Internet
Protocol v6.
1.
Introduction
We
will provide a brief overview of the history of smart cards,
Internet Protocol
(IP)
and interconnections between these technologies. We will
mention pertinent
work
that has been done in these fields.
1.1.
History of Smart Cards
Early
applications used stored-value memory cards, followed by smart
cards with
micro-controllers
to improve tamper resistance. Cryptographic algorithms,
protocols
and
keys were be stored on these microprocessor cards. The smart
card has since
become
the cardholder’s security device for identification in a
large-scale security
scheme.
This
does not mean that the smart card is the magic bullet of
digital security [16],
but
that it offers a combination of valuable features not found on
any other device so
small
size, portable, flexible and cost effective. These features
meet the needs of large
businesses
which usually target individual consumers.
Tdoc
SCP-010080 ETSI
Project Smart Card Platform Meeting #5
Palm
Springs, USA, 20 - 23 March, 2001
Printed
15-Mar-01 2
Years
ago the 7816-3 ISO standard [11]
defined T=0 and T=1 protocols. These
have
become the standard communication protocols for smart cards
with several
significant
limitations:
The
T=0 and T=1 protocols combine OSI layers 1, 2 and 4 in a
single layer,
The
smart card is always the slave in these protocols and the
transfer rate is
relatively
low,
The
smart card execution model is closely related the
communication model,
These
protocols are specific to smart cards.
We
expect to see far more powerful smart card chips in the
future, allowing
previously
impossible implementations. Following this development, recent
model
smart
cards have the resources to support advanced implementations
(e.g., virtual
machines).
1.2.
The IP World
The
phenomenal growth of today’s networks is evident. We use a
variety of digital
networks
(e.g., LANs) in our everyday lives. These networks, coupled
with the
client/server
model, are commonly used to transfer files, send e-mail and
share disk /
CPU
resources.
We
must say a word about the rapid growth of the Internet and its
vast potential.
Ordinary
people now use the Internet as a means of communication
alongside mail,
telephone,
and television.
The
feature shared by all these networks is the interoperability
of the protocol layer
(which
implements network features according the OSI [Open Systems
Interconnection]
model). The combination of Internet Protocol (IP)[10],
[8],
TCP/IP
(or
UDP/IP), and the socket has now become the de facto standard
throughout the
world.
Network layer IP normally ensures interoperability between
higher-level
local/distant
software applications.
Physical
transport can theoretically be implemented independent of the
network
layer.
It
must be noted that the current Internet Protocol IPv4 [10]
is moving to a new
release,
IPv6 [10],
[1]
which offers new properties, namely:
A
much larger addressing range,
Security
features [14]
to counter some of the known attacks under IPv4,
Printed
15-Mar-01 3
Improved
mobility to meet the needs of contemporary users.
Another
technological breakthrough, pervasive or ubiquitous computing,
is also
expected
to have a major impact. This will become increasingly relevant
as the global
network
is deployed and microchips become more powerful. Once again we
find that
security
concerns will be critical.
1.3.
Today’s Smart Cards and the IP world
Smart
cards have evolved on their own, largely untouched by network
technology
although
early standardization (T=1 proposal) included efforts to
introduce network
features[11].
1.4.
Related work
In
recent years, several organizations have been working toward
new technologies
and
implementations. Notable examples can be seen at the
University of Michigan
[13,15],
Mobile-Mind [3],
[4-7]Bull
CP8 [22],
Deutsche Telecom, Schlumberger and
Gemplus.
These
efforts have received little support due to lack of
standardization and current
technological
limitations. If major players set their mind to it, the
situation will
change
rapidly. In short, we believe that these technological
limitations will be
overcome
if there is a clear need for such applications.
2.
A Related Implementation
2.1.
Introduction
Gemplus
Research Labs have explored what implementing OSI-Layer-3
concepts
in
a smart card might actually imply. Here, we would like to give
some technical
details
and also the results of this implementation in a
recent-generation smart card: A
mid-range
smart card, the ATMEL AT90SC3232C.
2.2.
A Touch of TCP/IP in Smart Cards
Printed
15-Mar-01 4
We
chose to leave aside the current execution model of the smart
cards. We have
retained
the data link layer (OSI layer 1 and 2) which is strictly
compatible with ISO
7816-1,
2 and 3 since all of today’s smart card readers are ISO7816
compliant. The
smart
card execution model is similar to that encountered in
ordinary computers.
The
example below shows the internal structure of OSI Layer 1, 2
and 3
implementations
in the smart card:
System
Communication API
Resolution
Reception
Messages
Datalink
Transport
Protocol
I/O
Driver
IO1
& IO2
OSI
Layer 1 OSI Layer 2 OSI Layer 3
Route
Table
Emission
Message
Stack
IO#1
IO#2
Figure
1: Internal Structure of OSI Layers 1, 2 and 3
Such
an implementation is relatively similar to an actual IP
functional diagram [19],
[20],[21].
OSI Layer 1 runs asynchronously from any system module as does
OSI
Layer
2. It should be noted that OSI Layer 2 used only for two ISO
7816-4
commands,
notably Envelop
and
GetResponse
[12].
OSI
Layer 3 was experimental since we chose to create a smart card
sub-network
(a
daisy chain of smart cards) connected to a host platform
which, in turn, was
connected
to a common IP network (See Figure 2).
Printed
15-Mar-01 5
We
chose a much smaller Maximum Transmission Unit (MTU) than that
used in
an
actual IP layer in order to fit into the relatively small
memory and also, to provide
a
fair distribution of the bandwidth between different
communication channels.
The
system communication interface offers four generic entry
points:
Open
a communication channel()
The
application either declares a socket port number attached to
the channel or
negotiates
this socket number with the host platform. The application
also declares
the
type of the communication channel i.e. server or client. If
the communication
channel
is a client, it can connect to any IP address and port number.
Close
a communication channel()
Terminates
a previously-open communication channel.
Send
message over a communication channel()
An
application sends a message at any time to either a local or a
distant application
via
a previously-open communication channel.
Receive
message from a communication channel ()
An
application requests (waits for) reception of a message from
either a local or a
distant
application via a previously-open communication channel.
This
communication interface model is actually similar to the
socket layer
interface.
A
generic daemon running under the host platform obtains and
propagates all
smart
card channel operations to/from the IP network. This daemon
continuously
supports
a service attached to a fixed socket port number which in turn
provides the
list
of smart card services currently available (i.e., list of
service names and associated
socket
port numbers).
2.3.
Conclusion
This
simple implementation demonstrated the benefits of
implementing OSI
layer
3 above the common OSI Layers 1 and 2. Smart Card applications
could
generically
and seamlessly communicate with one another (loop-back
address). These
applications
can offer services to external applications connected to the
IP-enabled
world
(server model). They can initiate communications to external
applications that
are
connected to the IP-enabled world (client model). Smart Card
applications can
independently
open one or more communication channels. The smart card can
support
multiple
communication channels simultaneously. For the smart card
application, it
would
be very useful to distribute operations and resources to
external applications
connected
to the IP-enabled world.
Printed
15-Mar-01 6
In
short, this implementation does not represent a significant
innovation, but it
helped
us simulate the situation of a device connected to an IP
network in the context
of
the smart cards.
Certain
critical issues were identified in this implementation.
Indeed, the support of
multi-threading
seems necessary for a new communication architecture of this
type.
Hardware,
software or both could be used to provide this support. An
efficient
communication
peripheral in smart cards would go a long way toward
implementing
such
a network communication layer.
Fast-access
memory turns out to be an important issue. To support such
layers
efficiently,
we find a direct correlation between the amount of fast-access
memory
and
the completeness of the implementation. If not enough memory
is available,
external
support needs to be made available.
Such
an implementation may challenge the current execution model
for the smart
card
applications. In short, the ADPU[11]
does not seem properly adapted to such
implementations.
More work needs to be done on this point.
3.
Discussion
3.1.
Introduction
Smart
cards certainly stand to benefit from connections to one or
more socket ports
of
the host platform. This would also be a practical way of
establishing quick and
easy
communications over the global network with the smart card
recovering the IP
address
of the host platform. Is this the right way to proceed given
the rapid
technological
advances in this area? What will we do with this
implementation when
we
want to communicate with the smart card as a separate entity?
Smart cards are
often
moved from one host platform to another (people often change
their cell phone
handsets).
In this respect, a borrowed IP address would not be suitable.
It
might seem that the most important step would be to make the
smart card IPaddressable
independent
of the host platform. This would make the smart card
interoperable
with other systems while bringing the world of smart cards
within the
reach
or other network users.
An
initial solution (with only the IP address and/or the
corresponding name) might
be
replaced by an implementation of the entire IP protocol suite
in the smart card. The
initial
solution would have the disadvantage of increasing the load on
the host
platform
since a specialized daemon (i.e., program that runs in the
background on the
host)
would be needed. There are many intermediate solutions that
might be chosen
for
technological, economic and social reasons.
Printed
15-Mar-01 7
How
the IP address is allocated remains to be resolved. The
solution retained will
depend
on both business and technological considerations. The
technical solutions to
achieve
this already exist. A fixed name with a dynamically-allocated
address might
offer
the best solution in terms of security and privacy. This paper
will not explore
that
option.
In
the next sections we present some suggestions to start the
discussion on how the
smart
cards might move to IP, on the current limitations of the
smart cards and some
short-term
alternatives we may propose. We described a sample
implemention
approach
and some new standard suggestions.
3.2.
Suggestions
This
paper focuses not only on current problems. We aimed to answer
the
immediate
difficulties while providing longer-range solutions that would
offer real
potential
for future architectures. It seems unwise to choose a reduced
implementation
given
the pace of technological progress, as mobile telephony has
shown in recent
years.
The proposed architecture is similar to the one found in
ordinary routers. This
means
that the host platform e.g. the mobile phone would need to
have two network
interfaces
beneath OSI Layer 3 (network layer).
The
network interface to the wireless network (e.g., GPRS),
The
network interface to the smart card sub-network.
In
this case, the network layer is able to route IP packets to
various network
interfaces
(as is the case in a regular IP layer).
Smart
Card Subnetwork
Mobile
Phone UICC Additional
Smart Card
OSI
Layer 4
OSI
Layer 3 (IP)
OSI
Layer 1, 2
Smart
Card
OSI
Layer 4
OSI
Layer 3 (IP)
OSI
Layer 1, 2
Smart
Card
OSI
Layer 4
OSI
Layer 3 (IP, router)
OSI
Layer 1
(GPRS)
OSI
Layer 1, 2
(Smart
Card)
GPRS
Figure
2: Proposed IP Architecture with Smart Card Subnetwork
Printed
15-Mar-01 8
We
obtain a standard IP model and interoperability is ensured. We
can then benefit
from
OSI Layer 3 features, simply adding new routes to the smart
card sub-network.
This
implementation assumes the following:
A
dedicated IP address can be either allocated fixed or
dynamically,
In
cell phones, OSI Layer 3 that can route IP packets (if this
layer has not been
entirely
implemented),
In
cell phones, Smart Card Interface,
Smart
cards that implement the IP Layer.
The
way the smart card gets its IP address is an issue that needs
to take into
consideration
the IP version, on the business model, and other factors.
Regardless,
there
are mechanisms answer such concerns.
It
should also be noted that such an implementation may challenge
the execution
model
in the smart card. For example
The
USIM application may keep its current ADPU model for backward
compatibility.
Other
applications in the smart card (e.g., those related to OTA
services) may
change
the execution model. This would help OTA communications
overcome
today’s
limitations.
3.3.
Current Technological Issues for Smart Cards.
Implementing
an actual IP layer requires smart card chips that did not
exist prior to
2001.
These chips have features that will allow us to start enabling
such
implementations.
The main technological issue in implementing IP in smart cards
may
still be the limited size of the MTU. This amount of data is
assumed to be
received
at once in the smart card. This minimum MTU is 576 bytes and
1280 bytes
long
in IPv4 and IPv6 respectively [1].
Unless the smart card has enough fast access
memory
it will not be able to support the MTU efficiently.
If
we look at today’s smart cards, we might choose a reduced
implementation.
Memory
is an issue in today’s smart cards since there is no
fast-access memory.
Gemplus
Research Labs have however prototyped a new kind of smart card
that could
overcome
these obstacles. The industrial process would need to be
improved to
manufacture
these new smart cards in volume. Coming years will see new
generations
of
smart card chips that dispose of more fast-access memory.
Moreover, if there is an
actual
business need, integrated circuit makers could for example
reduce the amount
of
certain types of memory to increase the amount of the
fast-access memory.
The
communication rate may be an issue, but it can be improved by
using a higher
ISO
7816-3 communication rate within GSM Third Generation (3G)
standard. For
years,
Gemplus smart cards have supported communications at 115,000
Baud (even
Printed
15-Mar-01 9
higher
for certain products). At the smart card trade fair Cartes
2000,
Gemplus
demonstrated
a prototype of a USB data link layer in a smart card, offering
much
higher
communication rates (9.5 Mb per second, in theory).
These
observations suggest that it will be possible to implement an
actual IP layer
within
a few years. This paper deliberately focuses on
medium-/long-term prospects,
meaning
that current limitations should not dissuade us from starting
to integrate IP
into
smart cards.
3.4.
Short-Term Alternatives.
Buffering
the IP packets on the host platform would be an option until
smart cards
can
support enough fast-access memory. A reduced IP protocol could
be defined to
help
smart cards deal with communication. This does not mean that
another protocol
will
be defined but rather that certain IP features will not be
implemented and MTU
flexibility
will be implemented. Both the host platform and the smart card
could
benefit
from this option. MTU flexibility would not be acceptable if
we were to use
IPv6
since the MTU relies at all times on knowledge of the IP
packet, whose value
must
be unique and at least 1280 bytes long.
In
a worst case, certain functional IP features could be
implemented on the host
platform
but this alternative would be far from ideal since it would
overload the host
platform.
3.5.
Sample Implementation
Beyond
the discussion of how an IP address might be allocated (not
discussed
here),
we have shown a possible implementation approach. The IP layer
of the host
platform
is able to route packets. The route table takes into account
the second
interface.
The dark box in Figure 3 is what we call “external
support”. It provides a
regular
IETF interface for the host IP layer. It seems advisable to
choose a procotol
similar
to a standardized IETF protocol. For example Point-to-Point
Protocol (PPP),
RFC1661
[17]
would be a logical choice since it is designed to work on an
asynchronous
line and its interface does not require a universal interface
identifier.
What
is more with IPv4 PPP, the Maximum Receive Unit (MRU) can be
set to a
smaller
value which is adapted to the relatively small MTU supported
by ISO 7816-3
T=0.
It should be noted that PPP (RFC2472[9])
is used under IPv6 (IPv6CP) where
the
smaller MRU, must be at least as long as the minimum IPv6 MTU
(i.e., 1280
bytes).
We can then expect the fast-access memories of the smart cards
to support
such
an MTU.
Moreover,
the communication would be converted from full-duplex to
half-duplex
(e.g.,
ISO7816-3 T=0). This means that buffering would be used in
both
Printed
15-Mar-01 10
communication
directions. This is a temporary solution until a new
generation of
smart
cards has emerged. Efficient double I/O hardware interfaces
will soon be
implemented,
allowing smart cards to support full-duplex communications.
The
way distant users address the smart card would not need to be
modified in the
near
future. This is a major consideration in our present approach.
This
scheme proposes two simultaneous execution models for the
smart card
applications:
The
first model is the one that we are familiar with in smart
cards. It ensures
backward
compatibility with existing Application Programming Interfaces
(API)
and
applications. We might use a single communication channel (a
predefined
socket
port) that would be automatically opened after the smart
card’s Answer to
Reset
(ATR).
The
second model opens the way to future developments by providing
an
execution
model that is well known in computer operating systems. We
might not
want
to start from scratch and choose [a subset of] the socket
layer interface. This
would
offer support for multiple concurrent communication channels.
Printed
15-Mar-01 11
UICC
Regular
execution
model
(1
channel)
|