Uninformed: Informative Information for the Uninformed

Vol 1» 2005.May


Sniffer Design

There's plenty of commercial hardware out there (Season) that allow you to sniff asynchronous smart cards, but it's a totally different story for synchronous cards. I wasn't able to find any hardware to do this (and being totally dumb when it comes to electronics) found someone to help me out with this design (thx XElf). It basically taps the lines between a smart card and the reader and runs the signals through an externally powered buffer to make sure our parallel port doesn't drain the connection.

My personal implementation consists of a smart card socket I ripped out of an old smart card reader, a peet's coffee card that I made ISO7816 pinouts on using copper tape, all connected by torn apart floppy drive cables, and powered by a ripped apart usb cable. You should be able to find some pics on the net if you search around, although I guarantee whatever you come up with will be less ghetto than me.

    Parallel Port

D10 - Ack       - I6 o-------------------------,
                                               |
D11 - Busy      - I7 o-----------------------------,
                                               |   |
D12 - Paper Out - I5 o---------------------------------,
                                               |   |   |
D13 - Select    - I4 o-------------------------------------,
                                               |   |   |   |
D25 - Gnd            o-----,                   |   |   |   |
                           |                   |   |   |   |
                           |                   |   |   |   |
    External 5V (USB)      |                   |   |   |   |
                           |                   |   |   |   |
5V  o------------------,   |                   |   |   |   |
                       |   |                   |   |   |   |
0V  o-------*----*-----|---*-------------------|---|---|---|-----,
            |    |     |   |                   |   |   |   |     |
            |    |  ,--==--==--==--==--==--==--==--==--==--==--, |
          __+__  |  |_ 20  19  18  17  16  15  14  13  12  11  | |
          /////  |  | ]               74HCT541N                | |
                 |  |'  1   2   3   4   5   6   7   8   9  10  | |
                 |  '--==--==--==--==--==--==--==--==--==--==--' |
                 |     |   |   |   |   |   |   |   |   |   |     |
                 |     |   '---*---*---*   |   |   |   |   '-----'
                 '-----*---------, ,---|---*   |   |   |
                                 | | ,-|---|---*   |   |
          Smart Card             | | | |   |   |   *---|------,
         ,----------,----------, | | | |   |   |   |   *----, |
 ,-------|--*   Vcc | Gnd   *--|-* | | |  ,-, ,-, ,-, ,-,   | |
 |       |----------|----------| | | | |  | | | | | | | |   | |
 | ,-----|--* Reset | Vpp      | | | | |  | | | | | | | |   | |
 | |     |----------|----------| | | | |  |_| |_| |_| |_|   | |
 | | ,---|--* Clock | I/O   *--|---|-* |   |r1 |r2 |r3 |r4  | |
 | | |   |----------|----------| | | | |   |10k|10k|10k|10k | |
 | | | ,-|--*   RF1 | RF2   *--|---* | |   |   |   |   |    | |
 | | | | '----------'----------' | | | '---*---*---*---'    | |
 | | *-|-------------------------|-|-|----------------------' |
 | *-|-|-------------------------|-|-|------------------------'
 | | | |                         | | |
 | | | |  Smart Card Reader      | | |
 | | | | ,----------,----------, | | |
 '-------|--*   Vcc | Gnd   *--|-' | |
   | | | |----------|----------|   | |
   '-----|--* Reset | Vpp      |   | |
     | | |----------|----------|   | |
     '---|--* Clock | I/O   *--|---' |
       | |----------|----------|     |
       '-|--*   RF1 | RF2   *--|-----'
         '----------'----------'