| The
first article in this two-part series (pub-lished in the September/October
1999 issue of Messaging Magazine) described the history of smart cards,
compared some different types, and discussed their low-level properties.
This article completes the picture by discussing the standards that affect
the adoption of smart cards in mainstream society, and how smart cards relate
to today’s computer systems.
Smart
Card Security Standards
Many of the standards mentioned in Part 1 of this two-part series focus
on the details of the smart card, as well as the related read/write terminal
and low-level software layers. Another important class of stan-dards focuses
on how smart cards are inte-grated into applications that provide computer
and network security. This sec-tion discusses the principles of these
stan-dards, and identifies the emerging standards, as well as the players
who define and utilize them.
Principles
of Smart Card Security Standards
In order to be useful and gain acceptance, any standard designed to facilitate
the inte-gration of smart cards into computer secu-rity systems should
follow certain principles, as illustrated by the examples in Table 1.

Prominent
Smart Card Specifications and Standards
The following are emerging as important standards with respect to the
integration of smart cards into computer and network security applications:
- PKCS#11:
Cryptographic Token Interface Standard
This standard specifies an application pro-gramming interface (API),
called Cryptoki, to devices that hold cryptographic infor- mation and
perform cryptographic func-tions. Cryptoki (pronounced crypto-key and
short for cryptographic token inter-face) follows a simple object-based
approach, addressing the goals of technol-ogy independence (any kind
of device) and resource sharing (multiple applications accessing multiple
devices). PKCS#11 pre-sents to applications a common, logical view of
the device, called a cryptographic token. The standard was created in
1994 by RSA, with input from industry, academia, and government.
- PC/SC
The PC/SC Workgroup was formed in May 1997 to address critical technical
issues related to integrating smart cards with PCs. PC/SC Workgroup
members include Bull Personal Transaction Systems, Gemplus, Hewlett-Packard
Company, IBM, Microsoft Corp., Schlumberger, Siemens-Nixdorf Inc., Sun
Microsystems, Toshiba Corp., and VeriFone. In December 1997, the Workgroup
released Version 1.0 of the specification, which addresses limitations
in existing standards. In particular, the standard focuses on how to
better integrate ICC devices with PCs, while adequately addressing interoperability
(from a PC application perspective) between products from multiple vendors.
In addition, the specification defines standard interfaces to interface
devices (IFDs), as well as common PC programming interfaces and control
mechanisms.
- Open
Card
This standard, open framework, announced in March 1997 by IBM, Netscape,
NCI, and Sun Microsystems Inc., provides an architecture and a set of
APIs that enable the development of interopera-ble smart card solutions
across many hard-ware and software platforms. In particular, the Open
Card Framework enables applica-tion developers and service providers
to build and deploy “smart card aware” solutions in any Open Card-compliant
environment. An Introduction to Smart Cards PART OF A TWO-PART SERIES
By Steve Petri, Litronic, Inc. 2 20 Messaging Magazine November/December
1999 TABLE 1 Principle Implications Multi-platform Standards should
be applicable to numerous modern day operating systems and computer
architectures, such as Windows, Unix, Mac, x86, Sparc, etc. Open Participation
Standards should be defined on the basis of input and peer review from
members of industry, academia, and government. Interoperability Standards
should be interoperable with other leading standards and protocols.
Real, Functional Standards should apply to real-world problems and markets,
and should adequately address their requirements. Experience and Products
Standards should be created by a group of people with experience in
security-related products and standards. Extensibility Standards should
facilitate expansion to new applications, protocols, and smart card
capabilities that weren’t yet around when the standard was created.
- Java
Card
The Java Card API specification enables the “Write Once, Run Anywhere”™
capabilities of Java on smart cards and other devices with limited memory.
The Java Card API was developed in conjunction with leading members
of the smart card industry, and has been adopted by more than 95 percent
of the manufacturers in the smart card industry, including Bull/CP8,
Dallas Semi-conductor, De La Rue, Geisecke & Devrient, Gemplus, Inside
Technologies, Motorola, Oberthur, Schlumberger, and Toshiba.
- Common
Data Security Architecture (CDSA)
Developed by Intel, CDSA provides an open, interoperable, extensible,
and cross-platform software framework that makes computer platforms
more secure for all applications including electronic commerce, communi-cations,
and digital content. The CDSA 2.0 specifications were adopted by The
Open Group in December 1997.
- Microsoft
Cryptographic API
The Microsoft ® Cryptographic API (Cryp-toAPI) enables application developers
to add cryptography and certificate manage-ment functions to their Win32
® applica-tions. Applications can use the functions in CryptoAPI without
knowing anything about the underlying implementation, in much the same
way that an application can use a graphics library without knowing anything
about the particular graphics hardware configuration.
Importance
of Smart Cards as a Design Mechanism for Computer Networks
This section highlights the fundamental security challenges that face
us in this increasingly network-oriented world, and shows how smart cards
can provide impor-tant security advantages.
Fundamental
Security Challenges
Because computers and networks are becoming so central to our lives in
this digital age, many new security challenges are arising. This is the
era of full connectiv-ity, both electronically and physically. Smart cards
can facilitate this connectivity and other value added capabilities, while
providing the necessary security assurances not available through other
means.
On the Internet, smart cards increase the security of the authentication,
authoriza-tion, privacy, integrity, and non-repudia- tion building blocks.
Primarily, this is because the private signing key never leaves the smart
card, making it very diffi-cult to gain unauthorized knowledge of the
private key by compromising the host computer system.
In a corporate enterprise system, multiple disjointed systems often have
their security based on different technologies. Smart cards can bring
these together by storing multi-ple certificates and passwords on the
same card. Secure e-mail and intranet access, dial-up network access,
encrypted files, digitally signed web forms, and building access are all
improved by the smart card.
In an extranet situation, where a com-pany would like to administer security
to business partners and suppliers, smart cards can be distributed to
allow access to certain corporate resources. The smart card’s importance
in this situation relates to the need to ensure the strongest possi-ble
security when permitting access through the corporate firewall and proxy
defenses. When distributing credentials by smart card, a company can have
a higher assurance that those credentials cannot be shared, copied, or
otherwise compromised.
The Smart Card Security Advantage
For modern day systems, smart cards can enhance security by providing
the follow-ing advantages:
- Smart
Cards Enhance Public Key Infrastructures (PKIs), Which Are Better Than
Passwords
PKI systems are more secure than password-based systems, because a PKI
does not allow shared knowledge of the secret. That is, the private
key need only be known in one place, rather than two or more. If the
one place is on a smart card, and the pri-vate key never leaves the
smart card, the crucial secret for the system is never in a situation
where it is easily compromised. A smart card allows the private key
to be usable, without ever appearing on a net-work or in the host computer
system.
- Smart
Cards Increase the Security of Password-Based Systems Although smart
cards have obvious advan-tages for PKI systems, they can also increase
the security of password-based sys-tems. One of the biggest problems
in typi-cal password systems is that users write down their password
and attach it to their monitor or keyboard. They also tend to choose
weak passwords, and they share their passwords with other people. If
a smart card is used to store a user’s multiple passwords, they need
only remember the personal identification number (PIN) to the smart
card in order to access all of the passwords. Additionally, if a security
officer initializes the smart card, very strong pass-words can be chosen
and stored on the smart card. The end user need never even know the
passwords, so they can’t be writ-ten down or shared with others.
- Multiple-Factor
Authentication
Security systems benefit from multiple-factor authentication. Commonly
used factors are: “something you know,” “some-thing you have,” “something
you are,” and “something you do.” Password-based sys-tems typically
use only the first factor, “something you know.” Smart cards add an
additional factor, “something you have.” Such two-factor authentication
has proven to be much more effective than single-factor authentication,
because the “something you know” factor is so easily compromised or
shared. Smart cards can also be enhanced to include the remaining two
factors. Available prototype designs accept a thumbprint on the surface
of the card in addition to the PIN in order to unlock the services of
the card. Alterna-tively, a thumbprint template, retina tem-plate, or
other biometric information can be stored on the card, to be checked
against data obtained from a separate bio-metric input device. Similarly,
“something you do,” such as typing patterns, hand-written signature
characteristics, or voice inflection templates can be stored on the
card and matched against data accepted from external input devices.
- Portability
of Keys and Certificates
Web browsers and other popular software packages can use public key
certificates and private keys, but these security measures identify
the workstation rather than the user. The key and certificate data is
stored in a proprietary browser storage area, and must be exported/
imported in order to be moved from one workstation to another. With
smart cards, the certificate and pri-vate key are portable, and can
be used on multiple workstations, whether they are at work, at home,
or on the road. If the lower-level software layers support it, they
can also be used by different software programs from different vendors,
on different platforms, such as Windows, Unix, and Mac.
- Auto-disabling
PINs Versus Dictionary Attacks
If a private key is stored in a browser storage file on a hard drive,
it is typically protected by a password. This file can be “dictionary
attacked,” meaning that unauthorized per-sons can attempt commonly used
pass-words in a brute force manner until they obtain knowledge of the
private key. On the other hand, a smart card typically locks itself
up after some low number of consecutive bad PIN attempts, for example
10. Thus, the dictionary attack is no longer a feasible way to access
the private key if it has been securely stored on a smart card.
- Non-Repudiation
The ability to deny, after the fact, that your private key performed
a digital signature is called repudiation. If, however, your pri-vate
signing key exists only on a single smart card and only you know the
PIN to that smart card, it is very difficult for oth-ers to impersonate
your digital signature by using your private key. Many digital sig-nature
systems require this “hardware-strength non–repudiation,” meaning that
the private key is always protected within the security perimeter of
a hardware token, and can’t be used without the proper PIN.
- Counting
the Number of Private Key Usages
So many of the important things in our lives are authorized by our handwritten
signature. Smart card-based digital signa-tures offer benefits over
handwritten signa-tures, because they are much more difficult to forge
and they can enforce the integrity of the document through technologies
such as hashing. Also, because the signa-ture is based in a device that
is actually a computer, we can conceive many new benefits. For example,
a smart card could count the number of times that your pri-vate key—and
hence, your digital signa-ture— was used over a given period of time.
Legalities
As with any technology, there are legal issues to keep in mind when dealing
with smart cards. Commonly, for example, a smart card has the ability
to perform cer-tain licensed algorithms, such as the RSA asymmetric cipher.
Usually, any license fees associated with the algorithm are bun-dled into
the cost of the smart card.
If a smart card can perform restricted technologies such as encryption
at large keylengths, it is classified as a munition by certain U.S. Commerce
laws. As such, it can be considered illegal to export or import such an
item in certain regions.
Many states are writing new digital sig-nature laws that make it the end
user’s responsibility to protect their private key. If the private key
can never leave an auto-matically PIN disabling smart card, the end user
can find it easier to meet these respon-sibilities. Certificate authorities
can help in this area by supporting certificate exten-sions that specify
that the private key was generated in a secure environment and has never
left the confines of a smart card. With this mechanism, higher levels
of non-repu-diation can be achieved when verifying a smart card-based
signature while using a certificate containing such an extension. In other
words, a digital signature carries more weight if its associated certificate
val-idates that the private key resides on a smart card and can never
be extracted.
Smart
Card-Enabled Products
This section lists popular security products, and explains how smart cards
can be used to enhance their security.
- Web
Browsers (SSL, TLS)
Web browsers use technology such as Secure Sockets Layer (SSL) and Transport
Layer Security (TLS) to provide security while browsing the World Wide
Web. These technologies can authenticate the client and/or server to
each other and also provide an encrypted channel for any mes-sage traffic
or file transfer. The authentica-tion is enhanced because the private
key is stored securely on the smart card. The encrypted channel typically
uses a sym-metric cipher where the encryption is per-formed in the host
computer because of the low data transfer speeds to and from the smart
card. Nonetheless, the randomly generated session key that is used for
sym-metric encryption is wrapped with the partner’s public key, meaning
that it can only be unwrapped on the smart card. Thus it is very difficult
for an eavesdropper to gain knowledge of the session key and message
traffic.
- Secure
E-Mail (S/MIME, OpenPGP)
S/MIME and OpenPGP allow e-mail to be encrypted and/or digitally signed.
As with SSL, smart cards enhance the security of these operations by
protecting the secrecy of the private key and also unwrapping session
keys within a security perimeter.
- Form
Signing
Web-based HTML forms can be digitally signed using your private key.
This could prove to be a very important technology for Internet-based
business, because it allows digital documents to be hosted by web servers
and accessed by web browsers in a paperless fashion. Online expense
reports, W-4 forms, purchase requests, and group insurance forms are
some examples. For form signing, smart cards provide portability of
the private key and certifi-cate, as well as hardware-strength non-repudiation.
- Object
Signing
If an organization writes code that can be downloaded over the Web and
then exe-cuted on client computers, it is best to sign that code so
that clients can be sure it came from a reputable source. Smart cards
can be used by the signing organization so the private key can’t be
compromised by a rogue organization in order to impersonate the valid
one.
- Kiosk/Portable
Preferences
Certain applications operate best in a “kiosk mode” where one computer
is shared by a number of users, but becomes configured to their preferences
when they insert their smart card. The station can 22 Messaging Magazine
November/December 1999 In a corporate enterprise system, multiple disjointed
systems often have their security based on different technologies. Smart
cards can bring these together by storing multiple certificates and
passwords on the same card.then be used for secure e-mail, web brows-ing,
etc., and the private key would never leave the smart card or enter
the kiosk computer. The kiosk can even be config-ured not to accept
mouse or keyboard input until an authorized user inserts the proper
smart card and supplies the proper PIN.
- File
Encryption
Even though the 9600-baud serial interface of the smart card usually
prevents it from being a convenient mechanism for bulk file encryption,
it can enhance the security of this function. If a different, random
ses-sion key is used for each file to be encrypted, the bulk encryption
can be per-formed in the host computer system at fast speeds, and the
session key can then be wrapped by the smart card. Then, the only way
to easily decrypt the file is by possess-ing the proper smart card and
submitting the proper PIN so that the session key can be unwrapped.
- Workstation
Logon Logon
credentials can be securely stored on a smart card. The normal login
mecha-nism of the workstation, which usually prompts for a username
and password, can be replaced with one that communicates to the smart
card.
- Dial-up
Access (RAS, PPTP, RADIUS, TACACS)
Many of the common remote access dial-up protocols use passwords as
their secu-rity mechanism. As previously discussed, smart cards enhance
the security of pass-words. Also, as many of these protocols evolve
to support public key-based sys-tems, smart cards can be used to increase
the security and portability of the private key and certificate.
- Payment
Protocols (SET)
The Secure Electronic Transactions (SET) protocol allows credit card
data to be securely transferred between customer, merchant, and issuer.
Because SET relies on public key technology, smart cards are a good
choice for storage of the certificate and private key.
- Digital
Cash
Smart cards can implement protocols to enable users to carry “digital
cash” on a smart card. In these systems, the underly-ing keys that secure
the architecture never leave the security perimeter of hardware devices.
Mondex, VisaCash, EMV (Euro-pay- Mastercard-Visa), and Proton are examples
of digital cash protocols designed for use with smart cards.
- Building
Access
Even though the insertion, processing time, and removal of a standard
smart card could be a hassle when entering a build-ing, magnetic stripe
or proximity chip technology can be added to smart cards so that a single
token provides computer security and physical access.
Problems
with Smart Cards
Even though smart cards offer many obvi-ous benefits for computer security,
they still haven’t caught on with great popular-ity in countries like
the United States. This is not only because of the prevalence, infrastructure,
and acceptability of mag-netic stripe cards, but also because of a few
problems associated with smart cards. Lack of a standard infrastructure
for smart card reader/writers is often cited as a complaint. Until very
recently, the major computer manufacturers haven’t given much thought
to offering a smart card reader as a stan-dard component. Many companies
don’t want to absorb the cost of outfitting com-puters with smart card
readers until the economies of scale drive down their cost. In the meantime,
many vendors provide bundled solutions to outfit any personal computer
with smart card capabilities.
Lack of widely adopted smart card stan-dards is often cited as another
complaint. There are a large number of smart card-related standards, and
many of them address only a certain vertical market or only a certain
layer of communications. Recently, however, this situation has begun to
improve as web browsers and other mainstream applications have included
smart cards as an option. Additionally, Microsoft’s impending release
of Windows for Smart Cards operationg system will have native support
for smart cards. Applica-tions like these are helping to speed up the
evolution of standards.
Attacking
Smart Cards
Attacks on smart cards generally fall into four categories:
- Logical
Attacks
Logical attacks occur when a smart card operates under normal physical
condi-tions, but unauthorized persons gain access to sensitive information
by examin-ing the bytes going to and from the smart card. One example
is the so-called “timing attack” described by Paul Kocher 1 . In this
attack, various byte patterns are sent to the card to be signed by the
private key. Infor-mation such as the time required to per-form the
operation and the number of zeroes and ones in the input bytes are used
to eventually obtain the private key. There are logical countermeasures
to this attack, but not all smart card manufacturers have implemented
them. This attack does require knowledge of the smart card PIN, so many
private key operations can be per-formed on chosen input bytes.
- Physical
Attacks
Physical attacks occur when normal physi-cal conditions, such as
temperature, clock frequency, voltage, etc, are altered in order to
gain access to sensitive information on the smart card. Most smart card
operating systems write sensitive data to the EEP-ROM area in a proprietary,
encrypted man-ner so that it is difficult to obtain “clear text” keys
by directly hacking into the EEPROM. Other physical attacks that have
proven successful involve an intense physical fluctuation at the precise
time and location where the PIN verification takes place. Thus, sensitive
card functions can be performed even though the PIN is unknown. This
type of attack can be com-bined with the logical attack mentioned above
in order to gain knowledge of the private key. Most physical attacks
require special equipment. 23 Messaging Magazine November/December 1999
…a smart card typically locks itself up after some low number of consecutive
bad PIN attempts, for example 10. Thus, the dictionary attack is no
longer a feasible way to access the private key if it has been securely
stored on a smart card.
- Trojan
Horse Attacks
This attack involves a rogue Trojan horse application that has been
planted on an unsuspecting user’s workstation. The Tro-jan horse waits
until the user submits a valid PIN from a trusted application, thus
enabling usage of the private key, and then asks the smart card to digitally
sign some rogue data. The operation completes but the user never knows
that their private key was just used against their will. The coun-termeasure
to prevent this attack is to use a “single-access device driver” architecture,
through which the operating system enforces that only one application
can access the serial device (and thus the smart card) at any given
time. This prevents the attack, but also lessens the convenience of
the smart card because multiple applica-tions can not use the services
of the card at the same time. Another way to prevent the attack is to
use a smart card that enforces a “one private key usage per PIN entry”
pol-icy model. In this model, the user must enter their PIN every time
the private key is to be used, thereby preventing the Tro-jan horse
from gaining access to the key.
- Social
Engineering Attacks
In computer security systems, this type of attack is usually the most
successful, espe-cially when the security technology is properly implemented
and configured. Usually, these attacks rely on the faults in human beings.
For example, a hacker impersonating a network service techni-cian might
approach a low-level employee and request their password for network
ser-vicing purposes. With smart cards, this type of attack is a bit
more difficult. Most people would not trust an impersonator wishing
to have their smart card and PIN for service purposes. Any security
system, including smart cards, is breakable. Consequently, the esti-mated
cost to break the system should be much greater than the value of the
data that the system protects. Independent security labs test for common
security attacks on leading smart cards, and can usually esti-mate the
cost (in equipment and expertise) to break the smart card. When choosing
a smart card for an architecture, one can ask the manufacturer for references
of inde-pendent labs that have done security test-ing. Using this information,
designers can strive to ensure that the cost of breaking the system
would be much greater than the value of any information obtained.
Wrapup
Parts 1 and 2 of this series focused on the state-of-the-art for smart
cards, and their use in computer and network security sys-tems. Smart
cards have proven to be useful for transaction, authorization, and identifi-cation
media. Current state-of-the-art smart cards have sufficient cryptographic
capabilities to support popular security applications and protocols. As
their capa-bilities grow, they could become the ulti-mate thin client,
eventually replacing all of the things we carry around in our wallets,
including credit cards, licenses, cash, and even family photographs. By
containing various identification certificates, smart cards could also
be used to voluntarily identify attributes of ourselves—no matter where
we are or to which computer net-work we are attached.
|