Tag Archives: rfid

Bibliotekens implementation av RFID

Anders Wynne i Västerbottens Kuriren 4 januari 2012

Ny godtycklig kalenderårsuppräkning, nya äventyr. Läste alldeles nyss i Västerbottens Kuriren om Holmsunds bibliotek som implementerat RFID i sitt boklånesystem. I början av året ska tydligen Umeå också införa detta på sina böcker.

Varje bok har fått en egen sändare

Tydligen är streckkoder för jobbiga och tar tid att registrera, så istället bygger man in trådlösa sändare i samtliga böcker som skriker vilt omkring sig till den som lyssnar vilken bok en besökare har lånat. Om någon bara frågar efter det med rätt – enkelt tillgänglig och relativt billig – teknik.

Jag har inte grävt särskilt mycket än, men sannolikt baseras implementationen på motsvarande det kunskapsunderlag som Uppsala län beställde [PDF]. Kom dock ihåg att jag ej ännu kontaktat någon ansvarig för implementationen i någon stad ännu. Det kommer i framtida inlägg när jag fått läsa på lite mer.

Vilka uppgifter kommer att ingå i den biblioteksspecifika standarden? På RFID-taggen läggs uppgifter in om versionsnummer av datamodell, uppgifter om ett unikt ID-nummer*, landskod, kod för det ägande biblioteket, kod för typ av användning (bok, lånekort), uppgift om antal delar i en förpackning samt larm. Det finns flera uppgifter som kan läggas in vid behov, men ovannämnda är de viktigaste och ingår som obligatorisk del i den danska datamodellen.

…vilket låter mycket riskabelt. Inte bara att man kan identifiera den lånade boken utan man kan t.o.m. se vilket bibliotek den tillhör (läs: vilken kommun och stadsdel personen bor i). Som att de inte kunde nyttja unika, ickeavslöjande, ID-nummer i bibliotekets databas till det senare…

Det värsta är som sagt risken för avslöjande av personers läsvanor. Vi har sekretessbelagd lånehistorik av en mycket god anledning. Svenska medborgare utlovas åsiktsfrihet – under vilket man har rätt att inhämta uppgifter om vad man vill utan att myndigheter ska blanda sig in. Det kan kännas självklart att Sveriges myndigheter inte blandar sig i – men är detta verkligen en lucka vi vill öppna? Och inte minst betatesta tekniken så att andra, mindre demokratiska nationer, kan köpa den billigare?

En fråga till läsarna: Hade ett system för utlåning av böcker, som är lätt att spåra utan den utsattes kännedom, varit okej i Kina? Syrien? Vitryssland? Egypten? Italien? Frankrike? Danmark? Sverige?

Nedlagd anmälan och kommande RKF-busskort

Polisanmälan mot mig för “bedrägeri”/”urkundsförfalskning” är nedlagd, fick jag veta igår av polisen som förhörde mig. Trevligt såhär innan jul att slippa vara misstänkt för fängelsegivande brott etc. etc.

För ett par dagar sedan såg jag dessutom från Länstrafiken i Västerbotten att de överanvänder ordet “säkerhet” i nyheten om “nästa generations betalsystem” (som ändå redan hunnit bli beprövad!) för kollektivtrafiken. Tom Westerberg, ekonomichefen som uttryckligen försvarat anmälan mot mig, försäkrar läsarna att det nya systemet givetvis är mycket bättre. Man kan t.o.m. “växa i det nya systemet” (fast det är sluten och inlåst mjukvara).

Och för att säkerställa hela systemet har vi anlitat ett företag som ska analysera säkerheten i det nya betalsystemet inklusive busskortens säkerhet.

Tyvärr har ingen pratat med Umeå Hackerspace, som gärna hade hjälpt till med sin ideella kraft att analysera det nya systemet. Vi hade hoppats på att få hjälpa till, samt att de kanske från sin sida kunde visa lite ödmjukhet trots allt. Men nu övergår de enligt nyheten alltså till RKF-specifikationen för busskorten. Som t.ex. Västtrafik kört sedan 2007(?).

Men ändå – mycket trevligt. Säkra busskort som man inte kan spåra människor genom? I like it! Fast jag läste på Flashback igår, sådär huxflux, att RKF-korten hos Västtrafik ironiskt nog inte alls är särskilt säkra.

Hej Tom. Vad sade ert säkerhetsanalysföretag? Standard konsultbabbel? Oj. Surprise.

Och vad kostar de “nya” maskinerna som ska byta ut samtliga existerande bussläsare trots att de kör samma kommunikationstandard? Multum? Jag hade i alla fall inte betalat mer än 1000kr/st för hårdvaran, då det inte är mer än så det kostar för en Linuxburk, simpel fri mjukvara och valfri kortläsare. Vad har kostnaden blivit för Länstrafiken månntro? Inklusive alla konsulteranden fram och tillbaka. Slöseri med skattemedel om jag får säga det själv. Det är ju främst kommuner och landsting som betalar.

Och har man ö.h.t. analyserat sms-biljetterna? Eller ingår detta i den undanhushade RKF-specifikationen (som finns hos Internet Archive) som är för osäker för att vanliga dödliga ska få ta del av det? Till skillnad från fri mjukvara där säkerheten består av den allmänna granskningen, förstås.

SL Access, går det att hacka?

Jag tycker jag har sett alldeles för lite diskussion och information kring RFID, sårbarheterna i systemet och vad man kan tänkas kunna göra med SL Access-korten. I Umeå har vi ju oerhörda sårbarheter, vilket i och för sig innebär de facto gratis kollektivtrafik, såväl genom algoritmer för SMS-biljetter som manipulering av busskort.

SL Access-kortet verkar ju även det vara RFID, ISO14443A närmare bestämt, och således manipulerbart. Frågan är om systemet i grunden är genomtänkt dock, med förutsättningen att resenärer kan manipulera biljetterna – eller att det skulle vara “säkert”. Stockholms Länstrafik har dock lite mer på spel, samt förmodligen fler leverantörer, så de har rimligen erfarenhet/kompetens att välja ett mer utstuderat system.

För närvarande har jag i vart fall införskaffat ett SL Access-kort och hade tänkt kika närmare på det. Jag bör ju åtminstone kunna klämma fram nycklarna om det, som Länstrafiken i Västerbottens kort, är Mifare Classic. Ifall det är Mifare Plus (AES istället för crypto1 för kommunikatinen) fungerar förmodligen inte samma metod. Beroende på om det är lätt att läsa/skriva korten så vore det intressant att ragga Stockholmare som bidrar med resedata efter respektive typ av resa etc.

Jag misstänker förstås, pessimist som jag är, att anledningen till varför få skrivit om SL Access och sårbarhet är för att det inte fungerar helt enkelt. Stockholms Länstrafik kanske har centraliserad resedatabas, eller så utnyttjas UID-sektorn på korten. Genom sådana metoder är manipuleringen mycket jobbigare och/eller praktiskt omöjlig, med bekostnad på en eller annan administrativ krånglighet.

För de lata, dryga Stockholmarna som bara är ute efter gratis kollektivtrafik så kommer ju väl SMS-biljetter gå att fejka ganska länge framöver. Det är som omöjligt att kräva av SLs anställda att vara lika bryska som väktare – och maskinavläsning är alldeles för opraktiskt så länge folk har olika telefonmodeller. Jag som kör en Nokia N900 kanske inte vill ha ett superflashigt retard-gränssnitt för folk med tjocka fingrar och synfel som en 80-åring – vilket är svårare att läsa av än random smarterthantheuserphone.

Jag är nästan rentav (om det inte vore för fördelningspolitiskt) en förespråkare av att Piratpartiet bör ta kollektivtrafikens frågor till hjärtat (som partiledaren Anna Troberggärna skriver om) och åtminstone möjliggöra dessa resekommunikationer lika för alla. Precis som med datakommunikation.

Bostaden inför lättloggat passersystem

Bostaden, det kommunala bostadsbolaget i Umeå, håller på att gå över till RFID-passersystem på en massa håll verkar det som. Ursprungligen hörde jag endast talas om detta för studentkorridorer (Bostadens tidning september 2008 sida 18) pga nyckelkostnader etc, men tydligen gäller det även övriga typer av hyresrätter och byggnader.

En bekant till mig har fått information att deras nycklar blir oanvändbara för att ta sig in i hyreshuset. Inom loppet av 10 dagar måste man ha hämtat ut RFID-taggar (utan pin-kod), annars är man utelåst från sitt bostadshus. Dygnet runt. Följande “information” får man om systemet ifråga – utan att Bostaden påpekar varken att det är trådlös, enkelt avlyssningsbar teknik, kontaktlösa och osäkra kort, förmodligen loggat och absolut inte lika säkert som fysiska nycklar:

Vad innebär det nya systemet för mig?

Du måste hämta ut taggar som hör till din lägenhet och som du alltid måste ha med dig för att komma in i entrédörrarna. Dessa kommer att vara låsta dygnet runt. Till varje lägenhet ingår tre taggar. Behöver du fler taggar kan köpa för 150kr styck.

Informationsbladet är alltså mycket fattigt på fakta och jag själv har ett par extra funderingar – med egenförfattade svar. Citerat delvis från IRC:

> Kan ni se när jag går in och ut ur mitt hem?
– Nej, vi ser endast när du kommer in i huset. Inte när du lämnar det.

> Ifall jag vill ha fler taggar men inte betala 150kr/st, går det att lösa?
– Ja, systemet är så osäkert att du kan kopiera dina egna taggar med väldigt billig utrustning.

> Ifall jag stannar hemma sjuk, men går på promenad till butiken för att kylskåpet är tomt, loggas min passering och eventuellt finns tillgänglig för arbetsgivaren att kolla upp detta för att därefter göra en felaktig slutsats om falsk sjukanmälan och således avskeda mig?
– Haha, nä det skulle ju aldrig ske. Men det är klart att polis och myndigheter får titta på loggarna om de hittar på en lösryckt anledning att göra det.

Även ifall systemet ej loggas så är det ett relevant argument mot. för hur ska du veta att det inte bokförs? Systemet som Bostaden köpt in är förmodligen lika slutet och otransparent som t.ex. busskorten. Alla typer av säkerhetssystem skulle må bra av öppen granskning av källkod. implementering och dylikt, förutsatt att leverantör och köpare har intentionen att använda den bästa och i slutänden billigaste lösningen. Eller för den delen vill förmedla trygghet till sina användare.

Notera även att detta är samma typ av passersystem som implementerats på många andra ställen i Umeå kommun. Inom kommunal verksamhet. Ett av dessa ställen är Hamnmagasinet, dit jag personligen har RFID-tagg (+kod) istället för tidigare då det bara gällde PIN-kod. Det är inte bara en gång som systemet på Hamnmagasinet trilskats på diverse sätt, vilket förvisso säkert bara går att vifta bort som barnsjukdomar.

Notera särskilt att detta system (antar jag) använder sig av lättknäckt och enkelt kopierbar teknologi. Ungefär som busskorten. Så ifall dörrloggarna säger att du kommit in genom dörren strax innan ett lägenhetsinbrott – ja då kan du och din egen tagg lika gärna ha varit i Thailand och semestrat med ladyboys.

Så what the shit? Läser man informationsbladet ser man även att det handlar om att “öka tryggheten”. Frågan är vems trygghet som ökar när man riskerar grov övervakning och digital förföljelse. Vilken politiker eller tjänsteman är det som behöver få ett mail och/eller telefonsamtal? Följande mail skickade jag i alla fall till de som informationsbladet ansåg att man bör ställa sina frågor till, projektansvarige Kurth Edman och kvartersvärden Lars Lind vid Bostaden:

Halloj.

Jag har sett info-lappen om bytet av låssystem i entrédörrarna där ni effektivt tar bort möjligheten att använda sin lägenhetsnyckel för att ta sig in i trapphuset. Istället används ett digitalt system med RFID-taggar som måste användas dygnet runt för att ta sig in.

En omedelbar fråga som dyker upp när nu entrén direktkopplas mot en centralt styrd databas är huruvida detta loggas. Kommer entréer gjorda med dessa RFID-kort att sparas någonstans – i så fall hur länge, av vilken orsak och åtkomligt för vem?

Sedan undrar jag ifall detta är “dumma” RFID-taggar, de på 125kHz, eller “smarta” s.k. Mifare Classic-kort på 13.56MHz. Eller används någon annan slags kontaktlös lösning?

Till syverne och sist undrar jag vems “trygghet som ökar”, vilket informationsbladet inleds med. Vad menar Bostaden ens med trygghet i det här fallet? Riskerna med ett kontaktlöst system där ens tagg-identitet mycket enkelt kan kopieras gör inget annat än gör mig personligen otrygg och osäker.

Svaret dyker nog upp i veckan som kommer… Då uppdaterar jag inlägget. Eller skriver ett nytt ifall svaret faktiskt är intressant nog.

—-

Update 2011-04-11 14.37: Ett svar kom från kvartersvärden Lars Lind om att Kurth Edman inte vill svara förrän han vet var jag bor. Följande svarade jag – och jag misstänker att framtida respons förtjänar nya inlägg på bloggen:

På vilken adress bor du, det finns ingen Mikael Nordfeldth vårat
kontraktsystem.

Hej, jag bor inte på Löftets Gränd, men är kund hos Bostaden på annan
adress i Umeå. Min oro ligger i att detta system kan riskera att sprida
sig till andra Bostaden-hus, vilket vore mycket olyckligt och besvärande
för mig som hyresgäst.

Eftersom jag tidigare har gjort undersökningar kring kontaktlösa och
trådlösa systems säkerhet är jag högst orolig för dess säkerhet.
Särskilt ifall det är någon av de tekniker jag nämnde i mitt tidigare
mail till er båda (dvs RFID/Mifare classic). Det är därför jag är
intresserad av att veta vad som eventuellt komma skall till min bostad.

Projekt ansvarige Kurth Edman önskar svar på detta innan han uttalar sig.

Det här är enligt mig en konstig inställning. Bostaden är ett kommunalt
bolag och åtminstone min åsikt är att man då som tjänsteman bör jobba
med största möjliga öppenhet, transparens och insyn. Särskilt när det
gäller säkerhetsrelaterade system som påverkar människors vardag och
trygghet. Ännu mer särskilt ifall projektet ifråga hävdar sig “öka
tryggheten” men snarare implementerar teknik med erkända
säkerhetsbrister.

Jag svarar med CC till Kurth så får även han läsa min syn på insyn i
denna typen av projekt.

Av vilken anledning är den projektansvariga Kurth Edman intresserad av att veta var jag bor? Att jag inte är residensförd på Löftets Gränd gör väl inte mig mer eller mindre berättigad att veta vad som försiggår där? Särskilt när det är ett kommunalt bolag – där jag rentav är kund – det handlar om.

Mifare goes Umeå

Remember Umeå’s SMS bus tickets? Well, we didn’t really go all out on that one, considering it is reasonably an online system. Which means we can’t modify the central database and only imitate a legitimate ticket. However, of course, that’s good enough as long as the ticket inspectors don’t actually check the tickets against the central database. But with risk of becoming stale, we’re moving on to the real tickets. Pre-purchased cards containing any given amount of trips (that people can reasonably afford).

Länstrafiken i Västerbotten (though the buses are driven by Nobina) use RFID cards operating at 13.56MHz following the Mifare Classic standard. This is a fairly easy system to use, giving you contact-less tickets operating at a slightly more rapid verification speed than the old magnetic cards that were in use before.

Mifare Classic is also used in several other scenarios, be it other sorts of ticket systems or even security-related such as access control to buildings or computer systems. Thus, knowing how Mifare works is a good start if you want to crack it. Fortunately (so one doesn’t have to get in over one’s head) lots of people have been doing lost of fine work over the last decade. The tools needed to complete a full secret-key recovery of just about any Mifare classic card are all available as open source hardware and software. Thanks to a friend of mine, I now have access to a reader that allows for toying around with the security issues on Mifare cards.

A lot of the RFID technology has been, by me too, perhaps incorrectly bashed upon to be unsafe. Me and others have concluded that “just by walking into a room” you can know who are present through reading their RFID data. This is not true in the sense of immediate access to this knowledge. However, aggregating enough data may definitely resolve information needed to this at a restricted level. Regardless, the fact remains that RFID is contact-less, meaning it WILL transmit data available for interception – without being removed from your pocket – to the general public. It’s not as easy as 1-2-3. Maybe 5 though.

For my part I’m first going to read up on the actual standard, the available security research and whatever else may be necessary to know. In parallell I have started applying the available tools for dumping keys on RFID cards in my personal possession. For example, the crapto1 project (from Mifare Classic’s encryption scheme CRYPTO1) lists these sources as security research reports, it’s as good a start as any:

Also, the documentation provided by the libnfc project is very good and carries the ISO 14443, Mifare dump specifications etcetera. The project which binds crapto1, libnfc etc. together is mfcuk, which I use to maneuver a simple 30€ reader (ACS122 compatible, device ID 072f:2200). Because of WordPress’ disliking of certain file-endings, I’ll tar-gzip just this once and present to you 58127350-initial_payload.tar.gz – straight from nfc-mfclassic. Remember to take into account big/little endian decoding issues. I’m not dead-certain which order is which in the software versus Mifare specifications etc.

In either case, this is what hexdump tells me (cutting off the ASCII part):

00000000  67 62 ce fb 30 88 04 00  43 29 9c 43 00 19 08 09
00000010  34 01 14 07 14 07 14 07  14 07 14 07 14 07 14 07
00000020  14 07 14 07 14 07 00 00  00 00 00 00 00 00 00 00
00000030  a0 a1 a2 a3 a4 a5 78 77  88 c1 83 69 85 fa a9 3e
00000040  80 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000050  00 01 40 16 09 b0 03 76  f3 f6 06 59 08 8e 00 10
*
00000070  71 4a 90 80 b0 9b 78 77  88 00 e0 a8 67 68 31 6f
00000080  13 88 13 88 70 73 dd 70  74 19 00 10 8d 13 88 00
00000090  13 88 13 88 70 74 58 70  74 94 00 90 40 13 88 00
000000a0  1e 20 00 02 02 00 00 00  00 00 00 00 00 00 00 00
000000b0  5b 53 fb 10 d0 0c 78 77  88 00 92 c1 2e fb 21 24
000000c0  1e 1e 00 02 02 00 00 00  00 00 00 00 00 00 00 00
000000d0  10 40 dc 18 aa 1c 18 aa  1c 1c f7 5c 18 9f 70 00
000000e0  10 40 1c 18 aa 1c 18 aa  1c 1c f7 5c 1d 16 30 00
000000f0  32 a9 09 15 8a 1c 78 77  88 00 70 b8 b0 f2 f5 5a
00000100  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
*
00000130  34 4d 0a 51 12 87 78 77  88 00 fe 8f 9e 57 6d e4
00000140  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

- empty sectors -

000002f0  a0 a1 a2 a3 a4 a5 ff 07  80 69 b0 b1 b2 b3 b4 b5
00000300  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

- default keys -

0001000
  • 0x30, I’m not really sure what’s in Sector 0. A friend says it might be a Mifare Application Directory, MAD, sector. This seems reasonable. I’ll still have to read up on how those are specified.
  • 0x70, Sector 1 is most likely relevant data. Note similarities between 0x80-0x8F and 0x90-0x9F
  • 0xB0, Sector 2 is most likely also relevant data. Note similarities between 0xD0-0xDF and 0xE0-0xEF
  • 0x130, from here there are only empty sectors (at least on this specific card)
  • 0x2F0, from here default keys (0xA0A1A2A3A4A5/0xB0B1B2B3B4B5) are used and the sectors contain no data

I haven’t pondered yet at what the various hexes might decode to yet, but the similarities mentioned in sectors 1 and 2 will probably be of interest. Now we need diffs, timestamps, refills etc. This specific card is pretty unknown to me even at this point. But it’s a start and proof of concept.

And we’re out of coffee to brew at Umeå hackerspace. That sucks.

Update 2010-01-07 13.25: Having dumped another card, I verified that they used the very same keys on all sectors. The only difference on the key dump was the following (the first line, 0x0, being the card’s UID). Below is the payload diff:

1c1
< 00000000  d5 d8 20 f3 de 88 04 00  43 25 b4 53 00 11 0a 05
---
> 00000000  67 62 ce fb 30 88 04 00  43 29 9c 43 00 19 08 09
5,6c5,6
< 00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
< 00000050  00 01 40 16 09 b0 03 75  4c 6b 01 51 88 57 80 10
---
> 00000040  80 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 00000050  00 01 40 16 09 b0 03 76  f3 f6 06 59 08 8e 00 10
9,11c9,11
< 00000080  13 88 13 88 6b fc 01 6b  fc 3d 00 10 28 13 88 00
< 00000090  13 88 13 88 6b df 2d 6b  df 69 00 10 19 13 88 00
< 000000a0  12 00 00 02 02 00 00 00  00 00 00 00 00 00 00 00
---
> 00000080  13 88 13 88 70 73 dd 70  74 19 00 10 8d 13 88 00
> 00000090  13 88 13 88 70 74 58 70  74 94 00 90 40 13 88 00
> 000000a0  1e 20 00 02 02 00 00 00  00 00 00 00 00 00 00 00
13,15c13,15
< 000000c0  12 02 00 02 02 00 00 00  00 00 00 00 00 00 00 00
< 000000d0  10 40 9a f7 cb 5a ff 00  5a e4 2a 5a e6 0a 00 00
< 000000e0  10 40 5a f7 cb 5a df eb  9a e4 2a 5a e6 0a 00 00
---
> 000000c0  1e 1e 00 02 02 00 00 00  00 00 00 00 00 00 00 00
> 000000d0  10 40 dc 18 aa 1c 18 aa  1c 1c f7 5c 18 9f 70 00
> 000000e0  10 40 1c 18 aa 1c 18 aa  1c 1c f7 5c 1d 16 30 00

There is no plaintext in any sector. I’ll collect more data for later posts. Once the system is reverse-engineered, there’ll be a post describing the process of interpreting and what all differences are.

Police raid at Forskningsavdelningen

Forskningsavdelningen, a hackerspace down in Malmö, Sweden, was raided by the police last night. I got this message about it:

Tonight we had a police razzia at our space, some shit have been taken by the cops. we will write more about it tomorrow!

Please see our videos (the videos are in really bad quality but we are speaking about whats happening so it’s good to watch if you want to get some more info about the police razzia)

Here is the videos: bambuser.com/forskningsavd

I have no information about what has been removed from site or what is actually going on. What I do know is that Forskningsavdelningen are awesome, technically interested youth. Many of them are enthusiastic members of Piratbyrån, [previously] active within The Pirate Bay site and Piratpartiet as well as other pro-internet [un]organisations. As well as totally unrelated to any of those organisations and just interested in the beauty of engineering and hacking.

See an example (Swedish) of what they do there in Metro Teknik. Besides having RFID workshops, general coding, conferences and stuff.

[bambuser 346430]

People who are interested about what’s happening can check the Bambuser feed and perhaps just visit their site to read more. The video above describes that there was a punk gig in the house where Forskningavdelningen is, but before they had a chance to start the police arrived.

Update 2009-11-29 05.14: It seems all/most technical equipment (except an Xbox or so?) was taken from what I hear in the latest video:

[bambuser 346641]

Studentrum får RFID

Bostaden ska börja implementera RFID-lås i sina studentrum. Korridorsboendet blir spejsat!

Nu är det alltså inte ens lönt att lära sig lock-picking snart. Allt man behöver är att montera RFID-scanners lite här och var.

Jag svär, snart står det i försäkringspapperen att man inte få ha lättkopierade lås. En fysisk nyckel är svårare och dyrare att kopiera än en RFID-nyckel. Samt att du behöver fysisk tillgång till den under en längre period.

Med RFID behöver du bara montera en avläsare i korridordörren. Det är helt galet hur lite de tänker. Eller vet ens de som fattar beslutet något om RFID alls, förutom “åhå, smidigt!”?

Källa: Bostadens tidning september 2008, sida 18

-Och så ska vi pröva de nya låssystemen med en kodad nyckelbricka – som enkelt kan spärras. På så sätt blir det mindre trassel med borttappade nycklar som idag innebär dyra låsbyten, tillägger Inger [Tunell, fastighetsingenjör].