418 lines
17 KiB
Plaintext
418 lines
17 KiB
Plaintext
![]() |
|
|||
|
|
|||
|
|
|||
|
=================================
|
|||
|
|
|||
|
SMART CARDS - How Do They Work?
|
|||
|
|
|||
|
=================================
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SMART cards are already in use in the VideoCrypt and D2-MAC
|
|||
|
Eurocrypt scrambling systems. They are also widely used for pay
|
|||
|
telephone applications. At this stage the SMART card is throwaway
|
|||
|
technology. Despite being portrayed as being the ultimate in security,
|
|||
|
there are ways to hack the SMART card based systems though the
|
|||
|
cards are relatively secure.
|
|||
|
|
|||
|
|
|||
|
A SMART card has a microprocessor on the card. It may also have
|
|||
|
additional memory. This makes it somewhat different from memory
|
|||
|
only cards as used for prepaid services like telephone calls or rail
|
|||
|
travel.
|
|||
|
|
|||
|
|
|||
|
There are basically two classes of SMART cards; contactless and
|
|||
|
contact. The contact type SMART card requires direct electrical
|
|||
|
connection to the decoder. This is the type of SMART card used in
|
|||
|
the VideoCrypt system. It is the cheapest format.
|
|||
|
|
|||
|
|
|||
|
The non-contact type SMART card has not been used in decoder
|
|||
|
applications yet. It uses oscillators running at different frequencies to
|
|||
|
supply power to the card. A filter and rectifier arrangement circuit on
|
|||
|
the card picks up the signal generated by the descrambler and
|
|||
|
produces a DC voltage. Data can be transferred in a similar fashion.
|
|||
|
This type of card may be used in the future but the cost is prohibitive.
|
|||
|
|
|||
|
|
|||
|
The connector specifications for the contact SMART card have
|
|||
|
been established as an ISO standard. The ISO standard specifies
|
|||
|
eight connections of which only six are actively used. Many of the
|
|||
|
SMART cards used for payphones and banking applications follow
|
|||
|
the pattern that appears in the diagram. The typical payphone card is
|
|||
|
an EPROM memory card rather than a smart card. Videocrypt's card
|
|||
|
does not look like it follows the pattern but it does have the same six
|
|||
|
connections on the connector array.
|
|||
|
|
|||
|
|
|||
|
Due to the difficulties involved in reverse engineering a card, it is
|
|||
|
very difficult to extract the data from the card without destroying the
|
|||
|
card. The fact that the structure of the card is known does not imply
|
|||
|
that the actual program in the card is known.
|
|||
|
|
|||
|
|
|||
|
It should be stated that extracting the program from a smart card is
|
|||
|
not impossible. It will happen and according to one company, the first
|
|||
|
pirate. clones will appear with in the next few months.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SMART CARD STRUCTURE
|
|||
|
====================
|
|||
|
|
|||
|
|
|||
|
The structure of the card is basically simple. It consists of a
|
|||
|
microprocessor and memory. This description fits the microcontrollers
|
|||
|
used to control receivers and video recorders. The type of memory
|
|||
|
used can vary. It generally involves Read Only Memory, Erasable
|
|||
|
Programmable Read Only Memory, Electrically Erasable programm-
|
|||
|
able Read Only Memory and Random Access Memory.
|
|||
|
|
|||
|
|
|||
|
The information stored in the ROM is fixed and cannot be altered
|
|||
|
without changing the design of the SMART card. The information in
|
|||
|
the EPROM generally has to be erased with ultra violet light. This
|
|||
|
would imply that once the card has been programmed, the
|
|||
|
information cannot be erased in the card. The EEPROM is more
|
|||
|
usable in SMART cards for one specific reason - it can be
|
|||
|
reprogrammed in the card. The manner in which the VideoCrypt
|
|||
|
cards can be turned on and off seems to indicated that the
|
|||
|
VideoCrypt SMART card uses EEPROM memory rather than
|
|||
|
EPROM.
|
|||
|
|
|||
|
|
|||
|
The microprocessor used on the France Telecom Visiopasse card
|
|||
|
is based on the 6805 microcontroller. This microcontroller is an eight
|
|||
|
bit type and has on chip ROM, EEPROM and RAM. The VideoCrypt
|
|||
|
card may be similar in structure.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The specification for the Visiopasse PC2 card
|
|||
|
|
|||
|
CPU : 6805
|
|||
|
|
|||
|
RAM : 128 Bytes
|
|||
|
|
|||
|
ROM : 6144 Bytes
|
|||
|
|
|||
|
EPROM: 8192 Bytes
|
|||
|
|
|||
|
|
|||
|
The specification for the Thomson STl834.
|
|||
|
|
|||
|
CPU : 8 Bit
|
|||
|
|
|||
|
RAM : 76 Bytes
|
|||
|
|
|||
|
EPROM: 4095 Bytes
|
|||
|
|
|||
|
Vcc: +5 Volts Vpp: +21 Volts
|
|||
|
|
|||
|
|
|||
|
______________________________________
|
|||
|
/ \
|
|||
|
| |
|
|||
|
| |
|
|||
|
| C1 C5 |
|
|||
|
| C2 C6 |
|
|||
|
| C3 C7 |
|
|||
|
| C4 C8 |
|
|||
|
| |
|
|||
|
| |
|
|||
|
| |
|
|||
|
\________________________________________/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
These contacts have the following purpose:
|
|||
|
|
|||
|
|
|||
|
C1 VCC Supply voltage (+5 V, max. 200 mA)
|
|||
|
C2 RST Reset signal
|
|||
|
C3 CLK Clock signal
|
|||
|
C4 - reserved
|
|||
|
C5 GND Ground
|
|||
|
C6 VPP Programming voltage
|
|||
|
C7 I/O Data input/output
|
|||
|
C8 - reserved
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The actual card type used by Sky is believed to be a Motorola type
|
|||
|
though this has not been established. It would seem logical as the
|
|||
|
main crypto processor is a Motorola microcontroller.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
A Smart Card Memory Map
|
|||
|
=======================
|
|||
|
|
|||
|
|
|||
|
-------------------- MASKED ROM
|
|||
|
| |
|
|||
|
| | This section contains the Card,s
|
|||
|
| | housekeeper programs and the
|
|||
|
| | Primary Decryption algroithm. This
|
|||
|
| | algorithm is used on all services.
|
|||
|
| |
|
|||
|
| |
|
|||
|
| |
|
|||
|
|------------------| EEPROM
|
|||
|
| |
|
|||
|
| | This section contains the service
|
|||
|
| | data, the authorisation, the card
|
|||
|
| | identity, the subsciber identity, the
|
|||
|
| | billing data and period data
|
|||
|
| |
|
|||
|
| |
|
|||
|
|------------------| RAM
|
|||
|
| |
|
|||
|
| | This section is used by the
|
|||
|
-------------------- decryption algorithm and other
|
|||
|
programs as a tempory storage
|
|||
|
area.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The Smart Card's Chip Structure
|
|||
|
===============================
|
|||
|
|
|||
|
|
|||
|
---- EEPROM R/W Voltage
|
|||
|
|
|
|||
|
|
|
|||
|
----------- --------------
|
|||
|
| | | |----- Reset
|
|||
|
| |....| |
|
|||
|
| EEPROM | | Micro- |----------- Data Port
|
|||
|
| |....| Processor |
|
|||
|
| | | |----- Clock
|
|||
|
----------- | |
|
|||
|
| |----- 5v Supply
|
|||
|
--------------
|
|||
|
. . . .
|
|||
|
. . . .
|
|||
|
------------ -----------
|
|||
|
| | | |
|
|||
|
| | | |
|
|||
|
| | | Masked |
|
|||
|
| RAM | | ROM |
|
|||
|
| | | |
|
|||
|
| | | |
|
|||
|
| | | |
|
|||
|
------------ -----------
|
|||
|
|
|||
|
The Smart Card's Microcontroller is fabricated on
|
|||
|
one chip. This chip contains EEPROM. If any attempt
|
|||
|
is made to scan the chip with an electron microscope,
|
|||
|
the EEPROM will be wiped. Since the design is all on a
|
|||
|
single chip the data flow between the memory areas
|
|||
|
cannot be directly examined.
|
|||
|
|
|||
|
|
|||
|
From this information, a memory map of a VideoCrypt SMART card
|
|||
|
can be guessed. The ROM area of the memory is the area where the
|
|||
|
main operational program and decryption algorithms are stored. The
|
|||
|
EEPROM area contains the service data, the pay per view data, the
|
|||
|
card identity data and the billing period data. The RAM is used for
|
|||
|
temporary storage of data.
|
|||
|
|
|||
|
|
|||
|
The ROM area of the card is not accessible. It cannot be read out
|
|||
|
by pumping the card. For this reason it holds the most critical
|
|||
|
information. The programs held in ROM are used for all services or
|
|||
|
channels that use the card. The algorithms will be identical but the
|
|||
|
keys will be totally different. This section will also hold the routine for
|
|||
|
decryption the data in the EEPROM area of the memory.
|
|||
|
|
|||
|
|
|||
|
The EEPROM contains the enabling data for each channel that the
|
|||
|
card user has paid for. The data entry for each channel would consist
|
|||
|
of a channel identifier, a billing period, a regional identifier, key data
|
|||
|
and authorisation data for the channel.
|
|||
|
|
|||
|
|
|||
|
The design of a SMART card is complex and prototyping can take
|
|||
|
a few months. The ROM in the card has to be mask programmed.
|
|||
|
This essentially means that the programs to be stored in the ROM are
|
|||
|
designed as part of the chip. The procedure is straightforward.
|
|||
|
|
|||
|
|
|||
|
The programs to be included in the ROM are developed on a
|
|||
|
SMART card emulator. This is a microprocessor development system
|
|||
|
that is configured to imitate a SMART card. It is hooked to a personal
|
|||
|
computer. The program developer will write the programs on the
|
|||
|
computer, test them, and if they run successfully, load them into the
|
|||
|
SMART card emulator. The SMART card emulator will then be
|
|||
|
plugged into a decoder to ensure that the programs work.
|
|||
|
|
|||
|
|
|||
|
The programs will then be supplied on floppy disc to the chip
|
|||
|
manufacturer. The manufacturer will program an EPROM with the
|
|||
|
programs and send it to the card issuer for verification. Once the
|
|||
|
EPROM is checked, the manufacturer will then produce the chips in
|
|||
|
sample quantity. These chips will also be tested for correct operation.
|
|||
|
The chips can then be mass produced.
|
|||
|
|
|||
|
|
|||
|
The chips are glued to a printed circuit board substrate with epoxy
|
|||
|
resin. The connection pins on the chip are wired to the connections
|
|||
|
on the substrate. The substrate connections are then wired to the
|
|||
|
connector array. The actual plastic card is injection moulded with an
|
|||
|
indent for the chip. The chip is then glued into the indent. The card is
|
|||
|
then tested to ensure that it is operational.
|
|||
|
|
|||
|
|
|||
|
The SMART card at this stage will only have the bare minimum of
|
|||
|
data. There will be no service data in the EEPROM. This data is
|
|||
|
programmed into the card by the card issuer. In VideoCrypt's case,
|
|||
|
the programming and card assembly would be carried out at the
|
|||
|
Gemplus factory in Scotland.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SMART CARD OPERATION
|
|||
|
=====================
|
|||
|
|
|||
|
The SMART card is essentially a partial computer on a card. It is a
|
|||
|
partial computer because it requires other circuitry and inputs to
|
|||
|
operate. The first requirement is supply voltage. This is generally a 5
|
|||
|
Volt DC supply.
|
|||
|
|
|||
|
|
|||
|
The second requirement is a clock signal. This is a stable
|
|||
|
frequency square wave of 5 volts amplitude. This frequency is derived
|
|||
|
from a crystal in the descrambler. The frequency used in the
|
|||
|
VideoCrypt card is 3.5 MHz.
|
|||
|
|
|||
|
|
|||
|
The third requirement is a reset line. This is used to initiate the l@
|
|||
|
programs and routines in the card when the card is inserted into the
|
|||
|
socket.
|
|||
|
|
|||
|
|
|||
|
The fourth requirement is the EEPROM voltage. The EEPROM
|
|||
|
programming voltage is high, typically over twenty volts. This voltage
|
|||
|
is only on for a few milliseconds every three seconds. The chip would
|
|||
|
generate too much heat if it was continually fed with high voltage.
|
|||
|
|
|||
|
|
|||
|
The fifth requirement is the data port. The data flows to and from
|
|||
|
the card on one line. It is serial data. This port would be connected to
|
|||
|
the RAM in the card. The serial data would be clocked into the RAM.
|
|||
|
The microprocessor on the chip would then read the data in a parallel
|
|||
|
format. The data flows at 9600 Baud or at 9600 bits per second. The
|
|||
|
serial data line makes the card more secure. I
|
|||
|
|
|||
|
|
|||
|
When the card is inserted into the descrambler, the reset pin is
|
|||
|
activated. This zeroes the RAM and causes the microprocessor to
|
|||
|
select the boot-up program. This program will verify that the card is
|
|||
|
valid for the period and not on the blacklist. The card will then read
|
|||
|
the data from the descrambler. This data, along with service data from
|
|||
|
the EEPROM, will be used in the decryption algorithm stored in the
|
|||
|
ROM. The product of the decryption algorithm will then be passed
|
|||
|
back to the descrambler.
|
|||
|
|
|||
|
|
|||
|
In the VideoCrypt system, the information flowing to and from the
|
|||
|
card is not useful on its own. The data is not the actual key used to
|
|||
|
descramble the picture. This data is passed via the 8052 Housekee-
|
|||
|
per microcontroller to a secure microprocessor, the ZC404044 or
|
|||
|
ZC404047, where it is then used in a further algorithm to generate
|
|||
|
the seed for cutpoint generator. The secure microprocessor is actually
|
|||
|
a Mask ROM version of the 6805 microcontroller.
|
|||
|
|
|||
|
|
|||
|
Pay Per View is extremely easy to implement with a SMART card.
|
|||
|
The card user will purchase a number of credits or tokens each billing
|
|||
|
period. A typical number would be 99 tokens. The SMART card would
|
|||
|
be programmed so that the token counter would read 99 tokens.
|
|||
|
When ever the user wanted to watch a PPV film or event, a message
|
|||
|
would be shown on screen stating the number of tokens that the
|
|||
|
event is valued at. To watch the programme, the user would press the
|
|||
|
authorise or pay button on the front of the descrambler. The
|
|||
|
descrambler would then decrease the token register by the correct
|
|||
|
amount.
|
|||
|
|
|||
|
|
|||
|
Each service could have a token register. The actual operation of
|
|||
|
the counting mechanism would be more complex. It would be too
|
|||
|
easy to intercept the taken count value and substitute a continual 99
|
|||
|
tokens. This type of hack is commonly used in computer games and
|
|||
|
is known as an "Infinite Lives POKE". At present the actual PPV
|
|||
|
algorithm for VideoCrypt lies mainly in the 8052. There is the
|
|||
|
possibility that the Infinite Lives Poke would work The issue of the O9
|
|||
|
smart cards may have taken this into consideration.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SMART CARD SECURITY AND ADDRESSING
|
|||
|
===================================
|
|||
|
|
|||
|
The VIdeoCrypt cards are valid once they leave the subscription
|
|||
|
centre. This means that they can be used in any VideoCrypt
|
|||
|
descrambler. They can be deactivated over the air by Sky.
|
|||
|
|
|||
|
|
|||
|
When this occurs, a section of the EEPROM in the card is
|
|||
|
overwritten so that when the card is inserted into the descrambler, it
|
|||
|
will not work. In order to reactivate the card, the program providers
|
|||
|
Sky send out a message to the descrambler to reprogram the
|
|||
|
overwritten section of EEPROM.
|
|||
|
|
|||
|
|
|||
|
This weakness was actually used to hack the VideoCrypt system
|
|||
|
though it was quickly discovered and countered. The details of the
|
|||
|
hack are given later.
|
|||
|
|
|||
|
|
|||
|
Other systems using SMART card use over the air enabling. In this
|
|||
|
case, the cards cannot be used immediately. They have to be inserted
|
|||
|
into the descrambler and the subscription centre has to be informed.
|
|||
|
The subscription centre will then activate the card. This method of
|
|||
|
addressing is more time consuming and thus less economical. it is
|
|||
|
basically a trade off between medium security and very high security.
|
|||
|
|
|||
|
|
|||
|
Reverse engineering a SMART card is not an economically viable
|
|||
|
hack. The chip on the SMART card is covered in epoxy resin. Trying
|
|||
|
to remove this resin can sometimes destroy the chip. If the memory
|
|||
|
and the microprocessor are on different chips, it would be barely
|
|||
|
possible to attack the connecting wires and monitor the data flow. if
|
|||
|
the memory and the microprocessor are on the same chip it is
|
|||
|
impossible. Using an electron microscope to read the memory may
|
|||
|
partially work on EPROM type SMART cards. Smart cards using
|
|||
|
EEPROM memory are reasonably secure against this hack. The
|
|||
|
scanning electron beam erases the EEPROM.
|
|||
|
|
|||
|
|
|||
|
It is possible that a method for reprogramming the EEPROM on a
|
|||
|
SMART card could be developed. Using such a method, the
|
|||
|
EEPROM contents of a valid card could be copied and loaded on to
|
|||
|
an old SMART card. There is virtually no problem in obtaining old Sky
|
|||
|
SMART cards. This hack has one fatal flaw. The ROM data on
|
|||
|
SMART cards is changed from billing period to billing period.
|
|||
|
Therefore the algorithms and the EEPROM data decrypting algorithm
|
|||
|
are different. One potential weakness on a multi service card would
|
|||
|
be a cloning of a fully authorised card using a SMART card with the
|
|||
|
minimum authorisation. This hack relies on the development of an
|
|||
|
EEPROM reading and writing method.
|
|||
|
|
|||
|
|
|||
|
It would appear that the SMART card is the most difficult aspect of
|
|||
|
the system to hack. It is certainly not economically viable to hack it.
|
|||
|
The use of a SMART card does not confer immunity to hacking upon
|
|||
|
a system. There are usually fatal flaws in the descrambler that the
|
|||
|
hacker can exploit. The VideoCrypt system has become a rather
|
|||
|
lucrative target after the Sky / BSB merger. There are now three
|
|||
|
movie channels, two foreign language channels, The Adult Channel
|
|||
|
and one sports channel using the system. Other users will adopt the
|
|||
|
system with in the next year or so.
|
|||
|
|