Slashdot Mirror


Smart-Card Hacking?

W3bbo asks: "With the ever-increasing information being stored on so-called 'Smart-Cards', including credit cards with the chips, how do we know what data is read by stores when you hand over your plastic? Seaching for 'smart-card hacking' just turns up satelite TV piracy websites and virtually nothing for (sort-of) legitimate investigation to our cards. So what methods are available to hack smart-card chips and see what information about us our banks store on our cards?"

11 of 32 comments (clear)

  1. it's called carding... by da5idnetlimit.com · · Score: 3, Informative

    so have a few searches on this term
    http://www.kallipse.com/creaweb/galaad/carding.php

    Also there is an open source project devoted to reading cards and chips, don't remember the name right now...

    Was on slashdot, so have a check 8)

    --
    It takes 40+ muscles to frown, but only four to extend your arm and bitchslap the motherfucker
    1. Re:it's called carding... by Mattcelt · · Score: 4, Informative

      One of the original smart card hacks was done by Ben Jun, Paul Kocher, and Joshua Jaffe, the guys at Cryptography Research, using a technique called "Differential Power Analysis" which they did with a $50 HP oscilliscope to extract the private key stored on a smart card. You can find the white paper here.

  2. Kind of Esoteric, But... by fuzzybunny · · Score: 4, Informative

    The best way to learn is to latch onto someone who really knows their stuff (which is what I did on a previous project.) If you don't have that luxury, start looking at vendor pages (Schlumberger, ActivCard, Siemens, Utimaco, Gemplus, etc.) and chipset manufacturers (Infineon, Sagem or Giesecke & Devrient for example.)

    Depending on how far down you want to dig (do you want to learn about applications? Circuit design? Interfaces? Security issues?) you should probably browse around related manufacturers' pages and related newsgroups. A good example would be looking at PKCS#11-related docs, Entrust implementation docs, the Javacard specifications, how Javacards differ from other implementations, docs on "Open Platform", types of card readers (class 1 through class 4, what is "middleware", how hardware key storage works, etc.)

    A lot of card-related documentation and information is strongly vendor-specific, poorly documented and, to be honest, largely irrelevant for someone who wants to learn about it in a not-too-hardcore manner.

    If you're professionally seriously interested, I recommend talking to one of the serious pros, such as Jerome Ajdenbaum who really know their stuff. For starters, though, a quick google search on "smart card" +documentation turned up a number of good results, including from Microsoft (whose card interface for many manufacturers and variants is surprisingly well-written), ,a href="http://java.sun.com/products/javacard/refere nce/docs/">Java card docs from Sun, and the Open Card platform.

    --
    Cole's Law: Thinly sliced cabbage
    1. Re:Kind of Esoteric, But... by Cthefuture · · Score: 2, Informative

      Along with PKCS#11 and Javacard, you should be looking at all the ISO 7816 specifications for technical information.

      However, do any stores actually use the smartcard portion of the card? All I have seen is using the mag-strip on the back and nothing more (which is usually just your account number, expiration, and name on the card). So there is no "secret" information that is even being used on the card.

      Once you get into it you will realize that smartcards are not some magical device designed to invade privacy or something. Really, a smartcard is best for carrying protected private keys to be used with PKI (like a certificate). A smartcard provides benefits over traditional "soft" tokens by protecting your data in hardware.

      Generally speaking a smartcard has one or more sets of keys and maybe certificates to go with those keys (just like PGP keys or a certificate you get from Verisign). Other than that the information is similar to what is on your credit card. Maybe your name, expiration date, etc. Some military cards have more information about the person. Almost always all the information is also printed on the card somewhere (just like how your credit card's mag-strip has the same information stamped on the front of the card).

      --
      The ratio of people to cake is too big
    2. Re:Kind of Esoteric, But... by swillden · · Score: 4, Informative

      Along with PKCS#11 and Javacard, you should be looking at all the ISO 7816 specifications for technical information.

      The ISO 7816 specs are generally not free. You buy them from your national standards body, which in the US is ANSI. It'll cost around $150-$200 to buy the whole set from ANSI.

      However, much of the content of the 7816 documents is replicated in the EMV specifications. EMV stands for Europay Mastercard Visa and is a consortium for establishing smart card banking standards, so if you're interested in looking at your bank card chip, that's the more relevant set of documents anyway. You can find all of the EMV documents on-line, free, at the EMVCo web site. You may still have to acquire some of the 7816 specs (parts 3 and 4 are probably the most important), but the EMV docs contain most of what you need. Word of warning: be prepared to plow through a lot of material. Smart card technology has acquired a lot of complexity through 30 years of incremental enhancements.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:Kind of Esoteric, But... by fuzzybunny · · Score: 2, Interesting

      Oh yeah? OH YEAH? Well, if you're going to provide actually _useful_ information, I might as well. Sigh. :-)

      One common implementation of the key store Cthefuture mentioned uses the concept of a fixed-size "private" store on the card to protect your private keys via some sort of applet (as on a Javacard) or similar application. A "smart card" is basically a tiny computer with an external power source--it provides a processor and storage on board.

      Your public keys will reside in a "public" store, typically 3x or more the size of the private store. The rest of the card can, in some instances and depending on the middleware present on the host computer, be used for application storage and execution, not just storage of personal data.

      What you might also look into, if you're interested in hardware crypto, is the concept of hardware key storage units, such as the Chrysalis-ITS Luna, often used to protect master keys of smart card distributions, or CA signing keys.

      Lastly, if you're getting yourself into a smart card-related deployment, you really should be aware that the technology, while occasionally fiddly, isn't going to be your core problem--especially if you're doing authentication, it's going to be the management of the cards and credentials (think: "what to do when called up with 'mommy I forgot my card at home'".)

      --
      Cole's Law: Thinly sliced cabbage
  3. Who else finds it funny... by Toby_Tyke · · Score: 2, Funny

    That the story below this one is "Security Breach Exposes 40M Credit Cards" ?

    --
    "I realise this is not a very popular opinion but it's the truth, and there for needs to be said" -Bill Hicks
  4. Re:Legitimate Investigation? by FidelCatsro · · Score: 2, Insightful

    1:) finding out what personal data is stored on your card
    2:) hacker(traditional meaning) mentality ,Some of us just can shake the urge to explore discover and create.
    3:) setting up your own credit card reader to go into bussiness as a manufacturer

    --
    The only things certain in war are Propaganda and Death. You can never be sure which is which though
  5. No "sort-of" about it... by Saeed+al-Sahaf · · Score: 2
    ...and virtually nothing for (sort-of) legitimate investigation to our cards...

    I think it's important to understand that there is no "sort-of" about it. We have every right to know what information is contained on the cards that we use. Why wouldn't we? What can there possibly be there that is none of our business?

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  6. Card security attacks by brejc8 · · Score: 3, Informative

    These break down to a few different kinds:
    Information leaking e.g. power analysis: observe the power consumption of a divide to determine what operations it is executing and what data it is working on. Usually these will only tell you the number of bits which are on in a particular stage. I found the ARM 6 gave a very clear signature of the result of the adder and could determine the number of on bits down to the nearest 2.
    Error introduction e.g. clock glitch attack: This is an asynchronous engineers favorite. Basically a method of inserting errors into the processor in a deterministic method. Say the processor stage calculating a compare operation is the worst case path, the attack inserts an early clock forcing the comparison to be incorrectly made. Place this in the "are the checksums correct" code. Usually though these are a little more difficult than that.
    Brute force with limited tries e.g. Flash charge pump: So to crack your card it only takes as many attempts as there are pin code combinations. To stop people from just trying out the 10,000 or so combinations the card remembers how many tries you had. Before it writes something to the flash it needs to drive up a charge pump. This is visible using power analysis and at this point you cut the power and try again.

    More interestingly why are these not investigated? Well because there is no money for it. The async community has been offering better methods but the companies who make the only get a tiny profit are not inclined to make them any better.

  7. MUSCLE project by sgifford · · Score: 2, Informative

    Information from the MUSCLE smartcard-on-Linux project be useful:

    http://www.linuxnet.com/