|  | <<  
             ^ 
              >> 
            
              | Date: 1998-08-09 
 
 Pin Code Wizards-.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 
 Smart cards, pin codes, ATM/Abbuchung  online VerifiKation -
 "some banks are still doing utterly stupid things" sagt
 Rabid Wombat, der sich im deutschsprachigen Pin/Raum schwer
 auszukennen scheint.
 
 
 relayed by Michael "MacManiac" Grinner
 m.grinner@mail.gis.at
 -.-.- --.-  -.-.- --.-  -.-.- --.-
 
 by wombat@mcfeely.bsfs.org:
 
 It probably can be assumed that all large-scale ATM systems
 (e.g., the European "eurocheque logo" ATM cards; the
 world-wide Cirrus/Maestro and Plus networks; and credit card
 ATM withdrawals) rely on online PIN verification: The
 relevant data from the magnetic stripe together with the
 amount of the transaction and the PIN entered by the
 customer is sent -- hopefully, using strong encryption -- to
 the appropriate authorization centre, where the PIN (and the
 account balance) can be checked; the centre authorizes the
 transaction if everything is O.K. and says "no" otherwise
 (e.g., when three incorrect PINs have been tried
 previously).  On a local scale, other PIN verification
 schemes are possible; e.g., keyed PIN derivation from the
 data on the card (wich has the disadvantage that the same
 secret key must be known to several ATMs, embedded in some
 security module).
 
 Here in Germany, the first ATMs were installed in 1981.
 Back then, PIN verification was always done offline.  (Thus,
 by resetting the incorrect-PIN counter on the magnetic
 stripe, three more guesses at a different ATM became
 possible -- and, if necessary, another three at the next
 ATM, etc.) Until some years ago, at least some ATMs were
 occasionally operated offline. One common scheme for PIN
 generation was defined (although not all banks used it): A
 DES plaintext formed from the account number and similar
 data contained on the magnetic stripe was encrypted under a
 DES key known only to the respective bank; the PIN was then
 extracted from the resulting ciphertext according to certain
 rules. For PIN _verification_, one common DES key was known
 to all offline ATMs.  The PIN encryption scheme used for
 this purpose basically amounts to using the account number
 etc. as an IV for a one-block CFB encryption (the encrypted
 four-digit PIN was stored on the magnetic stripe) with some
 brain-damaged changes to the usual CFB computations.  (ATMs
 of the bank which issued the card could alternatively employ
 the PIN _generation_ scheme for verification, using the
 bank's key.)
 
 Most customer's PINs staid the same all the time, but
 starting in 1997, the whole scheme is being changed.  Now,
 no encrypted PIN is stored on the magnetic stripe.  Also,
 everyone either already has a new PIN (hopefully created by
 a more secure algorithm than before) or will get it this
 year or in 1999.  The old scheme had several weaknesses:
 
 * The brain-dead PIN generation/verification algorithms used
 a primitive conversion from hex digits (as included in the
 DES output) into decimal digits: 0 -> 0, ..., 9 -> 9, A ->
 0, B -> 1, ..., F -> 5.  While the hex digits in the DES
 output are reasonably equally distributed, the decimal
 digits resulting from this conversion obviously aren't.  For
 the PIN system as originally described (where the PIN should
 be stored encrypted under three different DES keys,
 presumable in order to facilitate changing one of the keys
 [which never happened]), this meant that the success
 probability for guessing the PIN of a random card in three
 attempts could be improved to about 1 : 150, whereas it
 should be 1 : 3333 in a well designed system.
 
 * DES keys are much too insecure.  In 1981, attacking them
 may have been infeasable.  But this argument is definitely
 not valid for the nineties: For a brute force key search,
 you'd need the data (magnetic stripe data and PINs) of only
 five different cards -- which is easy to obtain -- and an
 appropriately fast search engine. Large criminal
 organizations could have built one.  Also, there surely were
 Eastern intelligence agencies with the needed equipment; and
 it is known that Russia has severe problems at paying wages
 to governmental employees -- the possible connection should
 be obvious.
 
 * Because the keys must be present at lots of ATMs, they can
 relatively easily be leaked.  Also, they possibly could be
 retrieved from security modules of, e.g., stolen ATMs --
 most bits remain intact after power-off (see one of Ross
 Anderson's papers for practical experience with this).
 
 * And, even for a pure offline PIN verification scheme,
 everything hinges on the security measures at the PIN
 generation/authorization centres.  The brain-dead PIN scheme
 design is not at all reassuring regarding the competence of
 those responsible for the security of all this ...
 
 Now that this old system is obsoleted, neither a common PIN
 generation algorithm nor a commond PIN verification
 algorithm is defined (verification is only possible online,
 unless a bank still uses card-data-derived keys for its own
 customers).  However:
 
 * Some banks are still doing utterly stupid things: - At one
 bank (in Berlin, I think), the ATMs accepted _arbitrary_
 PINs.  (This was in 1997, if I rember correctly.) - One
 large bank (Commerzbank or Dresdener Bank) gave all its
 customers new PINs in 1997, and at most a few weeks later,
 gave them all new PINs again -- the earlier new PINs were
 "not as secure as intended", it was explained (no further
 details were given; maybe they again used the old hex ->
 decimal map).
 
 * Most new Germany ATM cards not only have a magnetic
 stripe, but are also smart-cards.  (By "ATM cards", I mean
 eurocheque cards and compatible bank cards -- usable,
 amongst other things, at ATMs and also as a debit card for
 paying in stores [POS = point of sale], using the PIN for
 authentication.) While, since 1997, no PIN information is
 contained on the magnetic stripe, the PIN is now stored on
 the chip in order to allow offline POS.  This provides a new
 goal for attacks (note that the attacker may destroy the
 chip, because the magnetic stripe is enough for ATMs).
 
 -.-.- --.-  -.-.- --.-  -.-.- --.-
 TIP
 Download free PGP 5.5.3i (Win95/NT & Mac)
 http://keyserver.ad.or.at/pgp/download/
 
 -.-.- --.-  -.-.- --.-  -.-.- --.-
 - -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 edited by
 published on: 1998-08-09
 comments to office@quintessenz.at
 subscribe Newsletter
 - -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.- -.-. --.-
 <<  
                   ^ 
                    >>
 |  |  |  |