{"id":217,"date":"2007-08-11T20:06:00","date_gmt":"2007-08-11T18:06:00","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/217-217"},"modified":"2009-03-15T20:01:23","modified_gmt":"2009-03-15T19:01:23","slug":"217-ccc-camp-practical-rfid-attacks","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/217-217-ccc-camp-practical-rfid-attacks","title":{"rendered":"CCC Camp: Practical RFID Attacks"},"content":{"rendered":"<p>Auf dem Camp wurde der <a href=\"http:\/\/events.ccc.de\/camp\/2007\/Fahrplan\/events\/1957.en.html\">Vortrag zu RFID<\/a> von Milosch Meriac, dem Hauptentwickler der RFID-Hardware und von Henryk Pl\u00f6tz gehalten, der an der Software schraubt. Der Vortrag war recht \u00e4hnlich zum RFID-Vortrag von Harald Welte und Milosch Meriac auf dem letzten Congress.<\/p>\n<p><strong>RFID-Standards<\/strong><\/p>\n<p>Als Einleitung wurde wieder der RFID-Standard ISO 14443 vorgestellt, der Proximity Integrated Circuit Cards (PICC) definiert. Der Standard beschreibt im Detail<br \/>\n1. Physical Characteristics<br \/>\n2. RF Power &amp; Signal Interface<br \/>\n3. Initialization &amp; Anti-collision<br \/>\n4. Transmission Protocol<\/p>\n<p>Haupts\u00e4chlich gibt es zwei verschiedene Kartentypen, Typ A, die Mifare-Karten von Phillips und Typ B, die z.B. bei ePassports zum Einsatz kommen. ISO 14443 setzt Amplitude Shift Keying (ASK) Modulation ein, die so kodierten Signale des Receivers (PDC) sind aus 5-10 m empfangbar, die Antwortsignale der Karte (PICC) liegen 60-80 dB unter der Signalst\u00e4rke des Senders und sind typischerweise aus maximal 2 m empfangbar. Ein Anti-Collision-Protokoll soll unterschiedliche Karten in Reichweite des Empf\u00e4ngers trennen. Dazu werden UIDs (Unique Identifier mit 4, 7 oder 10 Byte) verwendet. Auf dem Congress im Dezember gab es dazu einen interessanten Vortrag einer holl\u00e4ndischen Gruppe, die durch gezielte Erzeugung von Kollisionen einzelne Karten ausblenden konnte.<\/p>\n<p><strong>Kartentypen<\/strong><\/p>\n<p>ISO 14443A<\/p>\n<ul>\n<li>16&#215;4 = 64 Byte Speicher<\/li>\n<li>10 Byte Read-Only Factory-Programmed, davon 7 Byte UID<\/li>\n<li>6 Byte PROM, davon 2 Byte Lock-Bits<\/li>\n<li>48 Byte nutzbarer Speicher<\/li>\n<li>Keine Verschl\u00fcsselung<\/li>\n<li>Keine Security-Funktionen au\u00dfer der UID<\/li>\n<\/ul>\n<p>Mifare Classic<\/p>\n<ul>\n<li>Weitverbreiteter Standardtyp<\/li>\n<li>1-4 KB Speicher<\/li>\n<li>Propriet\u00e4rer Stream-Cipher (&#8222;Crypto1&#8220;) mit 48 Byte Schl\u00fcssell\u00e4nge, bisher nicht gebrochen<\/li>\n<li>4 Byte UID<\/li>\n<li>ACLs f\u00fcr einen Speicherbereich f\u00fcr Geldwerte auf den nur mit INCREASE\/DECREASE-Kommandos zugegriffen werden kann<\/li>\n<li>Multiple User-Areas mit unterschiedlichen Schl\u00fcsseln<\/li>\n<li>Multi-Application-f\u00e4hig<\/li>\n<\/ul>\n<p>Mifare DESfire<\/p>\n<ul>\n<li>Mifare Classic-kompatibel<\/li>\n<li>DES\/3DES Verschl\u00fcsselung<\/li>\n<li>7 Byte UID<\/li>\n<\/ul>\n<p>T=CH<\/p>\n<ul>\n<li>In ISO 14443-4 definiert<\/li>\n<li>APDUs vergleichbar zu kontaktbasierten Karten nach ISO 7816<\/li>\n<li>Wird in vielen ePassports verwendet<\/li>\n<\/ul>\n<p><strong>Hardware<\/strong><\/p>\n<p>Milosch hat sehr sch\u00f6n die ben\u00f6tigte Hardware beschrieben, im einfachsten Fall reicht eine triviale Kupferspule mit LED und Kondensator. F\u00fcr die komplexeren Angriffe gibt es einen von ihm entwickelten RFID Sniffer\/Sender, mit dem auch trivial Replay-Angriffe m\u00f6glich sind. Die ben\u00f6tigte Hardware kann man entweder bei <a href=\"http:\/\/www.openpcd.org\">www.OpenPCD.org<\/a> fertig kaufen oder anhand der Anleitungen und Vorlagen selbst bauen.<\/p>\n<p><strong>Work in Progress<\/strong><\/p>\n<p>Ein paar Sachen funktionieren noch nicht ganz:<\/p>\n<ul>\n<li>Anticollision tut noch nicht so 100%, aber daran arbeitet das Team<\/li>\n<li>Bereitstellen von Mifare-Samples um die Verschl\u00fcsselung zu brechen<\/li>\n<li>OpenPDC\/OpenPICC OS nach FreeRTOS portieren<\/li>\n<\/ul>\n<p>Und f\u00fcr folgendes ben\u00f6tigen die Jungs dringend Hilfe:<\/p>\n<ul>\n<li>Brechen der Mifare-Verschl\u00fcsselung<\/li>\n<li>OpenPCD und OpenPICC in ein Standalone-Sniffer\/Replay-Ger\u00e4t kombinieren<\/li>\n<li>RFID Fuzzing Suite<\/li>\n<\/ul>\n<p>Hier kann jeder mithelfen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auf dem Camp wurde der Vortrag zu RFID von Milosch Meriac, dem Hauptentwickler der RFID-Hardware und von Henryk Pl\u00f6tz gehalten, der an der Software schraubt. Der Vortrag war recht \u00e4hnlich zum RFID-Vortrag von Harald Welte und Milosch Meriac auf dem letzten Congress. RFID-Standards Als Einleitung wurde wieder der RFID-Standard ISO 14443 vorgestellt, der Proximity Integrated [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/217"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=217"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/217\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}