iClass is a popular format of RFID enabled access cards. These are issued to company employees to grant them access to parts of a building via a card reader at each security door. We’ve known for a long time that these access systems are rather weak when it comes to security. But now you can find out just how weak they are and how the security can be cracked. [Milosch Meriac] delved deep into the security protocol for HID iClass devices and has laid out the details in a white paper.
The most invasive part of the process was breaking the copy protection on PIC 18F family of chips in order to read out the firmware that controls card readers. This was done with a USB to serial cable and software that bit-bangs its own implementation of the ICSP protocol. After erasing and attacking several chips (one data block at a time) the original code was read off and patched together. Check out [Milosch’s] talk at 27C3 embedded after the break, and get the code for the ICSP bit banging attacks from the white paper (PDF).
Continue reading “Breaking the iClass security”
[Simon Inns] is still hard at work making USB connectivity for PIC microcontrollers easier for the hobbiest. He’s released a framework for PIC based USB devices under Windows. It includes the firmware needed for USB compatible 18F PIC chips as well as a C# class library and example programs for the Windows side of things. This goes quite a bit further than his PIC-USB tutorial but with little added effort on your end of things.
We do our USB prototyping on a breadboard just like [Simon] did in this example. He’s got a nice little USB-B connector breakout that is easy to plug into the breadboard. If you prefer to have a more stable development area, check out the one he designed. It’s a single-sided PCB made for through-hole components with just a handful of jumper wires.
USB is convenient and that makes it desirable in many many projects. [Simon Inns] has the process down and is sharing it with his recent PIC based USB tutorial. Prompted by requests for help on the matter after having published a post about his Commodore 64 interface, he set out to detail the particulars when it comes to using the PIC 18F family as USB input devices. This example uses a PIC 18F4550 with the circuit built on a breadboard. There’s not much required here, an oscillator, a few passives, and a USB B connector. The magic really happens in the code. Take a look at this well-written guide and give it a try with your next project.
Don’t need USB? [Simon’s] game hack, the Ultimate Simon is always worth another look too.