Professional Documents
Culture Documents
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Dejan Paler
Diplomska naloga
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
UNIVERZA V MARIBORU 2000 Maribor, Smetanova ul. 17
ZAHVALA
Zahvaljujem se mentorju dr. Marjanu Heričku za
pomoč in vodenje pri opravljanju diplomske
naloge.
Zahvala Inštitutu za informatiko za izposojo RFID
čitalnika in RFID kartic.
Posebna zahvala velja staršem, ki so mi omogočili
študij.
III
UDK: 004.738.52(043.2)
Povzetek
UDK: 004.738.52(043.2)
Abstract
VSEBINA
1 UVOD ..................................................................................................................................................... 1
7 LITERATURA..................................................................................................................................... 64
VI
UPORABLJENE KRATICE
API - Application Programming Interface
APPEL - A P3P Preference Exchange Language
CF - Compact Flash
DoS - Denial of Service
EAN - European Article Number
ECMA - European Computer Manufacturers Association
EPC - Electronic Product Code
ERP - Enterprise Resource Planning
ETSI - European Telecommunications Standard Institute
GUID - Globally Unique Identifier
HTTP - Hyper Text Transfer Protocol
IRI - Internationalized Resource Identifier
ISO - International Standards Organization
J2ME - Java 2 Platform Micro Edition
MVC - Model-View-Controller
NFC - Near Field Communication
NIST - National Institute of Standards and Technology
OWL - Web Ontology Language
P3P - Platform for Privacy Preferences Project
PDA - Personal Digital Assistant
PIN - Personal Identification Number
RDF - Resource Description Framework
RFID - Radio Frequency Identification
RIF - Rule Interchange Format
SAP - Systems, Applications and Products
UCC - Uniform Code Council
SOAP - Simple Object Access Protocol
UDDI - Universal Description, Discovery and Integration
URI - Uniform Resource Identifier
USB - Universal Serial Bus
WAP - Wireless Application Protocol
WICD - Web Integration Compound Document
WS-CDL - Web Services Choreography Description Language
WSDL - Web Services Description Language
WSRP - Web Services for Remote Portlets
XHTML - Extensible Hypertext Markup Language
XKMS - XML Key Management Specification
XML - Extensible Markup Language
XML Enc - XML Encryption Syntax and Processing
XML Sig - XML-Signature Syntax and Processing
VII
SEZNAM SLIK
SEZNAM PREGLEDNIC
1 UVOD
Nevidnost
Tehnologije vseprisotnih informacijskih rešitev izginejo iz zavedanja uporabnika.
Uporabnik sodeluje s tehnologijami, ki so prisotne v njegovem naravnem okolju, ne da bi
se jih sploh zavedal.
Mobilnost
Prilagajanje vseprisotnih informacijskih rešitev na spremembe in dostopnost virov.
Kadar se uporabnik preseli iz enega okolja v drugo, vseprisotne informacijske rešitve
DEFINICIJA VSEPRISOTNIH INFORMACIJSKIH REŠITEV 6
nastavijo novo okolje tako, da uporabnik lahko nemoteno nadaljuje z delom, ki ga je začel
v drugem okolju. Če pri spremembi okolja nastopi napaka, na primer v brezžičnem
omrežju, vseprisotne informacijske rešitve poskrbijo za usposobitev povezave z novo
možno storitvijo.
Zaznava konteksta
Gre za uporabo naprav, ki imajo informacije o okoliščinah, v katerih delujejo in lahko
reagirajo na morebitne spremembe ali pa kot so definirali na tehnološkem inštitutu Georgia
Institute of Technology [40]: Zaznavanje razmer je katerakoli informacija, ki jo lahko
uporabimo za označitev situacije določene entitete. Entiteta je oseba, kraj ali objekt, ki je
pomemben za medsebojno delovanje med uporabnikom in aplikacijo.
Klasifikacija vseprisotnih informacijskih rešitev 7
Informacijske naprave
Vseprisotna omrežja
Programska oprema
Informacijske naprave
Zaznavni vmesniki
Identifikacijske naprave
Vseprisotna omrežja
Povezljivost
Spletne storitve
Odkrivanje storitev
Semantični splet
Zasebnost in varnost
Programska oprema
aplikacij za širok nabor mnogovrstnih mobilnih naprav. Tako lahko razvijamo uporabniške
vmesnike, upravljamo z integriranimi omrežji in protokoli ter uporabimo robusten
varnostni model.
(prirejeno po [59])
Klasifikacija vseprisotnih informacijskih rešitev 14
TANGIBLE BITS Premosti ovire, ki se pojavljajo med digitalnim svetom in fizičnim okoljem.
[11.]
300 kHz
3 GHz
5.8 GHz
omogočilo integracijo RFID priponk na embalažo. Le-te pa bi kupci lahko odvrgli skupaj z
odpadnim materialom.
Octopus Card podjetja Sony, ki je bila sprva namenjena plačevanju vozovnic javnega
prevoza v Hong Kongu. Njena prednost je v tem, da voznino zaračunava na podlagi števila
dejansko prevoženih postaj. Informacijski sistem preko RFID kartice zabeleži vstopno in
izstopno postajo ter sorazmerno s tem obremeni uporabnikov račun. Zaradi svoje
funkcionalnosti in preprostosti je danes njena uporaba razširjena tudi na plačevanje
izdelkov v vseh vrstah trgovin in tudi prodajnih avtomatih. Prav tako pa se uporablja tudi
kot identifikacijska kartica za dostop do delovnega mesta ali parkirišča. [22, 23]
RFID tehnologija se že dolgo časa uporablja na področju varnosti in nadzora
dostopa. Primer takšne uporabe je elektronski ključ, ki po obliki spominja na kreditno
kartico. Ta ključ omogoča oziroma omejuje uporabniku dostop do poslovnih objektov.
Tam kjer obstaja potreba po izredno strogemu nadzoru, kot je na primer bančni sistem, se
lahko dodatno zahteva vnos osebne identifikacijske številke PIN (Personal Identification
Number). Elektronski ključi se uporabljajo tudi za varovanje vrednostnih predmetov.
Pojavljajo se v sodobnejših verzijah avtomobilov, ki imajo v krmilnem sistemu nameščene
RFID čitalnike. Takšne zaščite se poslužujeta tudi avtomobilska giganta Ford in Toyota, ki
v zagonski sistem avtomobila in lastnikov elektronski ključ vgrajujeta RFID mikročip.
Kadarkoli je elektronski ključ vstavljen v ključavnico, aktivira RFID čitalnik, da si
izmenjata generirano serijsko številko. Če se številki ne ujemata, se avtomobil ne zažene.
[24].
Prednosti tehnologije RFID za podjetja, ob optimalni prilagoditvi sistema, so lahko
zelo velike. Po izračunih podjetja SmartCode [25] bi naj ameriška korporacija Wal-Mart s
tehnologijo RFID letno prihranila 8,35 milijarde dolarjev. Največji, 80 % delež, bi bil
prihranek časa, ki ga sedaj uslužbenci porabijo za branje črtne kode v dobavni verigi, saj
RFID sistem omogoča hkratno branje več RFID priponk. Z nadzorovanjem izdelkov na
zalogi bi prihranili 8%, kar zanaša 600 milijonov ameriških dolarjev. Približno enak delež
bi prihranili s preprečevanjem administrativnih napak in prevar dobaviteljev ter kraj.
Približno 4 % bi bil prihranek zaradi natančnejšega nadzora nad milijardo palet in zabojev
v distribucijskih centrih. Najmanjši delež, 180 milijonov dolarjev, bi prihranili s tem, ker
bi lahko zmanjšali zaloge na podlagi informacij o posameznem produktu.
Ena izmed prvih potrošniških aplikacij tehnologije RFID je bilo avtomatsko
brezgotovinsko cestninjenje. Kot primer vpeljave avtomatskega brezgotovinskega
cestninjenja v Sloveniji je ABC sistem plačevanja cestnine avtocest [26]. Elektronska
Uporabnost tehnologije RFID 20
− Glava: določa dolžino, tip, strukturo, verzijo in generacijo elektronske kode izdelka
EPC;
− Številka upravitelja (EPC Manager Number): podatki organizacije, kot je na primer
predpona podjetja;
− Razred objektov (Object Class): natančno določa razred objekta;
− Serijska številka: natančno določa primerek objekta.
Polje glava in številka upravitelja sta dodeljeni preko standarda EPCglobal. Organizacija
pa je odgovorna za vzdrževanje števil v poljih, razred objektov in serijska številka [57].
Preglednica 4.2 prikazuje prednosti in slabosti obeh tehnologij, ki smo jih opisali v tem
poglavju.
Eno izmed prvih podjetij, ki je na tržišču ponudilo mobilni telefonski aparat s podporo
tehnologije RFID, je Nokia in sicer z modeloma Nokia 5140 in Nokia 3220. Podporo
zagotavlja s pomočjo dodatnega ohišja. Prav tako pa z dodatnim razvojnim okoljem Nokia
NFC (Near Field Communication) & RFID SDK omogoča izdelovanje J2ME (Java 2
Platform Micro Edition) aplikacij.
Uporabnost tehnologije RFID 24
Poplavljanje (Flooding)
Poplavljanje se nanaša na različne tehnike onesposobitve storitve sistema z
vstavljanjem velike količine podatkov [48]. V RFID sistemu lahko poplavljanje povzroči
večje število RFID značk postavljenih pred RFID čitalnik. Na ta način bi se generirala
velika količina podatkov na enkrat, česar sistem ne bi zmogel ali pa bi ostal dlje časa
obremenjen. Tako bi bilo mogoče odtujiti izdelke, ki so označeni z RFID značko, brez da
bi to sistem pravilno zabeležil in kakorkoli ukrepal [47, 48].
Poplavljanju se lahko izognemo tako, da ustvarimo filtriranje RFID značk z
materialom, ki ne prepušča radiofrekvenčnih valovanj. S tem dosežemo, da RFID čitalnik
ne prebere vseh značk naenkrat [47].
Uporabnost tehnologije RFID 29
Sledenje (Tracking)
RFID čitalnik lahko na raznih položajih beleži RFID značke, ki so lahko povezane s
posameznikovo identiteto. Problem pri tem je, da so posamezniki neprostovoljno vključeni
v sistem sledenja in zbiranja podatkov. Nepridiprav, opremljen z RFID čitalnikom, lahko
na ta način ugotovi, kaj ima neka oseba oblečeno in če se jo splača ugrabiti [47].
Najbolj enostavna rešitev tega napada bi bila onesposobitev RFID značke takoj ko je
več ne potrebujemo oziroma takoj ko prodajalno zapustimo. V primeru, da kupec z
izdelkom ni zadovoljen, bi to predstavljalo težavo, saj informacij o izdelku ne moremo več
pridobiti. Standard EPCglobal določa ukaz za uničenje (“kill command”) RFID značke
[66]. Ta ukaz značko trajno deaktivira. Negova slabost je v tem, da potrošnik ne more
ugotoviti ali je njegova značka bila uničena, prav tako pa lahko neavtorizirano uničenje
povzroči za potrošnika neljube posledice.
Podjetje IBM je izdelalo RFID značko Clipped Tag, ki predstavlja rešitev za
potrošnikovo zasebnost. Značka Clipped Tag omogoča branje na razdalji do desetih
metrov in se uporablja za označevanje izdelkov. Posebnost te RFID značke je, da ji je moč
odvzeti antenski del s čimer omogočimo branje zgolj na slab centimeter. Na ta način lahko
potrošnik sam poskrbi za svojo zasebnost. Slika 4.3 prikazuje shemo RFID značke podjetja
IBM. Na shemi je prikazana zareza, ki nakazuje kje odtrgati antenski del nalepke in s tem
zaščititi zasebnost posameznega uporabnika [55].
Uporabnost tehnologije RFID 30
Lažni dogodki
Podatki iz RFID značke se odčitajo vsakokrat, ko značka vstopi v radiofrekvenčno
področje čitalnika. RFID sistem te podatke sprejme in jih obdela. Na primer organizacija je
dobila pošiljko izdelkov in te izdelke shranila v skladišče. Ob vhodu v skladišče je RFID
sistem odčital posamezne izdelke in podatke shranil v podatkovno bazo sistema. Naslednji
dan dobi delavec zadolžitev, da mora izdelke premestiti na novo lokacijo. Med
premeščanjem izdelkov delavec prehodi radiofrekvenčno območje RFID čitalnika na
vhodu skladišča. Tako bodo izdelki ponovno zabeleženi kar pomeni, da podatkovna baza
vsebuje lažne podatke [47].
RFID sistem mora razumeti kontekst, v katerem so bili dogodki generirani in nato
povezati posamezno RFID značko z dogodkom. Ko je to doseženo, se lahko sprejme
poslovna odločitev, kako ravnati z dogodkom [47].
Prekoračitev medpomnilnika
Zasnova RFID sistema je takšna, da sprejme iz RFID značke podatke, ki so vnaprej
definirane velikosti. Sistem za procesiranje podatkov je napisan v programskem jeziku C
ali C++ in prebere podatke iz RFID značke v naprej definirano podatkovno strukturo
določene velikosti. Če se vsiljivec približa z RFID značko, ki vsebuje večjo količino
podatkov, lahko prisili sistem za procesiranje podatkov v prekoračitev pomnilnika [47].
Sistem za procesiranje podatkov mora zagotovit zadostno količino varovalnih in
kontrolnih točk za preverjanje velikosti in pravilnosti podatkov na RFID kartici [47].
Ponavljanje sporočil
Ponavljanje sporočil se pojavi, kadar nekdo med prenosom snema veljavno sporočilo in
to sporočilo ponovno pošlje [48]. V RFID sistemu bi lahko napadalec sistema prestregel
sporočilo, ki se pošilja med čitalnikom in značko. Prestreženo sporočilo bi nato poslal
sistemu za procesiranje podatkov in s tem dosegel prevaro.
Takšnim napadom se lahko izognemo z zaščito protokola za komunikacijo med RFID
značko in RFID čitalnikom. Tukaj pridejo v poštev enkripcijski algoritmi, ki jih lahko
Uporabnost tehnologije RFID 32
1: package pervasive.microedition.properties;
2:
3: import javax.microedition.lcdui.*;
4: import javax.microedition.midlet.MIDlet;
5:
6: public class PSystemProperties extends MIDlet {
7: private Form mMainForm;
8:
9: public PSystemProperties() {
10: mMainForm = new Form("PSystemProperties");
11:
12: StringItem version = new StringItem(null,
13: "Vrednosti nekaterih sistemskih lastnosti:\n");
14:
15: mMainForm.append(version);
16:
17: appendSystemProperties();
18: }
19:
20: protected void appendSystemProperties() {
21: StringItem property;
22:
23: property = new StringItem(null, "microedition.configuration = "
24: + System.getProperty("microedition.configuration"));
25: mMainForm.append(property);
26: mMainForm.append("\n");
27:
28: property = new StringItem(null, "microedition.profiles = "
29: + System.getProperty("microedition.profiles"));
30: mMainForm.append(property);
31: mMainForm.append("\n");
32:
33: property = new StringItem(null, "microedition.platform = "
34: + System.getProperty("microedition.platform"));
35: mMainForm.append(property);
36: mMainForm.append("\n");
37:
38: property = new StringItem(null, "microedition.contactless.version = "
39: + System.getProperty("microedition.contactless.version"));
40: mMainForm.append(property);
41: }
42:
43: public void startApp() {
44: Display.getDisplay(this).setCurrent(mMainForm);
45: }
46:
47: public void pauseApp() {
48: mMainForm = null;
49: }
50:
51: public void destroyApp(boolean unconditional) {
52: }
53: }
Zgoraj navedene vrstice kode predstavljajo majhno J2ME aplikacijo, s pomočjo katere
smo preverili nekatere lastnosti J2ME platforme. V vrstici 39 je ukaz za poizvedbo
sistemske lastnosti »microedition.contactless.version«. Na sliki 4.4 so prikazani
rezultati poizvedbe nekaterih sistemskih lastnosti na posnemovalniku telefonskega aparata.
Za zadnjo verzijo programskega vmesnika 0.95 Contactless Communication API mora
poizvedba vrniti vrednost »1.0«. V našem primeru je bila vrnjena vrednost enaka »null«,
kar pomeni, da programskega vmesnika Contactless Communication API ni mogoče
uporabiti.
Uporabnost tehnologije RFID 34
Programski vmesnik Contactless Communication API vsebuje pet Java paketov. Paket
javax.microedition.contactless omogoča odkrivanje ciljnih označevalcev in ponuja
Uporabnost tehnologije RFID 35
tipa TargetListener in jim poda polje objektov TargetProperty. Vsak podan objekt
predstavlja novo odkrito napravo in vsebuje naslov URL, potreben za vzpostavitev
povezave. Povezave do raznovrstnih brezkontaktnih naprav so zasnovane preko ogrodja
J2ME General Connection Framework. To ogrodje omogoča splošen pristop do
povezljivosti. Splošen je zato, ker ponuja običajne programske vmesnike za vse osnovne
tipe povezav in narekuje izbirnim paketom, da podajo implementacijo za specifične
povezave. Ogrodje J2ME General Connection Framework definira paket
javax.microedition.io [38.]. Naslednje vrstice kode so izvzete iz dokumentacije
1: import javax.microedition.contactless.*;
2:
3: /**
4: * Example class of how to discover targets using JSR 257 Contactless
5: * Communication API
6: */
7: public class CCAPIExample implements TargetListener {
8: private DiscoveryManager dm;
9:
10: public CCAPIExample() {
11: registerTargetToDiscovery();
12: }
13:
14: public void registerTargetToDiscovery() {
15: // Check that NDEF_TAG target is supported
16: TargetType[] targets = DiscoveryManager.getSupportedTargetTypes();
17: boolean supported = false;
18: for (int i = 0; i < targets.length; i++) {
19: if (targets[i].equals(TargetType.NDEF_TAG)) {
20: supported = true;
21: }
22: }
23: if (supported) {
24: // Get DiscoveryManager instance and
25: // set TargetListener for NDEF_TAG target
26: dm = DiscoveryManager.getInstance();
27: try {
28: dm.addTargetListener(this, TargetType.NDEF_TAG);
29: } catch (ContactlessException ce) {
30: // handle exception
31:
32: }
33: }
34: }
35:
36: public void targetDetected(TargetProperties[] prop) {
37: // handle notification
38: }
39: }
ScanRFIDSelectTag()
Metoda aktivira RFID čitalnik za odkrivanje in izbiro RFID značk, ki se nahajajo v
radiofrekvenčnem polju čitalnika. RFID čitalnik podpira štiri načine izbiranja RFID značk,
ki jih določimo z vrednostmi argumentov metode. Načine opisuje preglednica 4.3.
ScanRFIDReadTag()
Prebere enega ali več podatkovnih blokov RIFD značke, ki smo jo izbrali z metodo
ScanRFIDSelectTag(). Preko slednje pridobimo identifikacijsko številko in tip RFID
Uporabnost tehnologije RFID 39
ScanRFIDWriteTag()
Ta metoda omogoča pisanje na enega ali več podatkovnih blokov RFID značke.
Podobno kot pri prejšnji metodi mora tudi tukaj biti RFID značka v stanju »izbrana«, da
lahko uspešno zapišemo podatke.
ScanRFIDGetData()
Metoda vrne odgovor ukaza ali podatke iz zadnje klicane funkcije. Na primer, če smo
uporabili metodo za branje RFID značk, bomo s pomočjo metode ScanRFIDGetData()
dobili informacijo o tem, ali se je ukaz uspešno izvedel. V kolikor je bil klic metode
pozitiven, lahko pridobimo tudi podatke iz značke. Metodo ponavadi uporabimo, ko
dobimo sporočilo dogodka ScannerData.
Janez Novak
Dlančnik z
RFID čitalnikom
S pomočjo skice na sliki 5.3 smo poiskali primerne entitete, njihove lastnosti in
medsebojne povezave. Takoj lahko opazimo nujno potrebne entitete: uporabnik, dogodek
in RFID naprava. Ker želimo doseči, da bo aplikacija uporabna, potrebujemo poljubno
število uporabnikov, ki se bodo lahko udeležili poljubno izbranega dogodka. S tem tudi
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 45
<<include>>
Podatkovna baza
Shrani udeleženca
sistema
Pripravi kartico
RFID Naprava
Aplikacijo smo razvili z orodjem Microsoft Visual Studio .NET 2003 in uporabili
programski jezik C#. Za komunikacijo z napravo smo potrebovali programski vmesnik
SocketScan Managed API, ki smo ga vključili preko razvojnega orodja. Prav tako je bilo
potrebno na dlančniku namestiti gonilnike za RFID napravo. Za prenos podatkov iz
delovnega računalnika na dlančnik smo uporabili program Microsoft ActiveSync. Ta
program je omogočil namestitev aplikacije na dlančniku. Fizična povezava je potekala
preko USB (Universal Serial Bus) podatkovnega kabla.
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 47
Orodna vrstica
Orodna vrstica je sestavljena iz oznake konteksta in padajočega seznama. S pomočjo
padajočega seznama lahko izberemo katero akcijo želimo opraviti na določenem
kontekstu. Na primer v kontekstu uporabniki lahko izbiramo med pregledom uporabnikov
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 48
Vsebnik
Vsebnik predstavlja dinamičen prostor, na katerem se, na podlagi izbrane akcije iz
orodne vrstice, izmenjujejo posamezne strani.
Zavihki
Zavihki se nahajajo tik pod elementom vsebnik. Vsak posamezen zavihek omogoča
preklop oziroma navigacijo med posameznimi konteksti.
Vrstica stanja
Vrstica stanje je področje, ki se nahaja na dnu zaslonske maske in nad glavnim
menijem. Sestavljena je iz tekstovne oznake in vrstice napredka. Vrstica stanja služi za
obveščanje uporabnika o stanju aplikacije. Na primer kadar nastopi dolgotrajna operacija
kot je inicializacija RFID naprave, se v vrstici stanja izpiše tekstovno sporočilo, ki pove
uporabniku kaj se dogaja. Vrstica napredovanja ponuja grafičen prikaz napredka
dolgotrajne operacije z leve na desno.
Glavni meni
Glavni meni vsebuje akcije, ki so potrebne za uporabo aplikacije in ne akcij, ki bi jih
uporabnik pogosto uporabljal. Pogosto uporabljene akcije so nameščene v elementu orodna
vrstica, s čimer je omogočen lažji dostop. S tem akcije med glavnim menijem in orodno
vrstico niso podvojene. Slednje je ravno v nasprotju s priporočili v razvoju namiznih
grafičnih vmesnikov, kjer je potrebno ponuditi več neenakih dostopov do iste akcije.
Edina akcija, ki je implementirana v glavnem meniju, je izhod iz aplikacije. Namreč pritisk
na gumb »X« v desnem zgornjem kotu na zaslonu dlančnika ne zapre aplikacije tako kot
smo navajeni pri namiznih aplikacijah, ampak jo samo postavi v ozadje operacijskega
sistema. Zato je bila potrebna implementacija za izhod iz aplikacije in sprostitev virov, ki
so se uporabljali za RFID čitalnik.
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 49
Kontrolnik
- Definira obnašanje
posamezne strani
preko modela
- Posodobi pogled
ki
Pr
at
ika
d
Po
Do
z
go
de
k
Model Pogled
shrani stanje v model s podatki in ta model posreduje pogledu. Nakar pogled obnovi stanje
posamezne strani s pridobljenimi podatki iz modela.
Vzorcu MVC smo dodali še vedenjski vzorec opazovalec (Observer), ki zagotavlja
pravilno medsebojno delovanje med posameznimi stranmi v aplikaciji. Na primer, če s
pomočjo aplikacije dodamo novega uporabnika, se na drugi ločeni strani samodejno
posodobi seznam vseh uporabnikov in tako ni potrebno ročno posodabljanje. Slika 5.8
prikazuje zgradbo vzorca.
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 51
Slika 5.10: Grafični vmesnik aplikacije v Slika 5.11: Grafični vmesnik aplikacije v
angleškem jeziku nemškem jeziku
kot je na primer jezik, dežela/regija, koledar, format zapisa števila in format zapisa datuma.
Slednje je vidno tudi na prejšnjih slikah, če pogledamo v tretji stolpec v tabeli, kjer so
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 54
Oba načina identifikacije zagotavljata enak cilj, kljub temu da pri samodejni
identifikaciji upoštevamo samo identifikacijsko številko uporabnika. Podatke, ki smo jih
shranili na uporabniški del pomnilnika RFID kartice, predstavlja globalno edinstven
identifikator GUID (Globally Unique Identifier). Identifikator smo pridobili s pomočjo
programskega jezika C# in sistemskih knjižnic. Identifikator GUID [54] je naključno
generirano število, ki se uporablja v raznovrstnih aplikacijah. Generator identifikatorja
GUID ne zagotavlja, da bo generirano število edinstveno. Celotno število edinstvenih
identifikatorjev je tako veliko, da je verjetnost ponovitve identifikatorja zelo majhna.
Pri registraciji uporabnika smo najprej prebrali identifikacijsko številko RFID kartice
in nato generirali identifikator GUID. Vse podatke smo shranili v podatkovno bazo, hkrati
pa tudi zapisali identifikator GUID na RFID kartico. Ti podatki se uporabljajo pri
identifikaciji uporabnika. Podatke iz RFID kartice primerjamo s podatki, ki so shranjeni v
podatkovni bazi s to razliko, da pri samodejni identifikaciji ne upoštevamo identifikatorja
GUID.
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 56
Nevidnost
Tehnologija RFID omogoča, da vseprisotne informacijske rešitve izginejo iz
zavednosti uporabnika. Uporabnik, ki se želi registrirati na posamezen dogodek, uporablja
RFID kartico. Pri tem uporabnik ne potrebuje posebnega napora za uporabo, sistem ga
samodejno identificira in omogoči dostop do izbranega dogodka. V našem sistemu je RFID
kartica po obliki podobna bankomat kartici. Če privzamemo, da uporabnik »nevidno«
uporablja mobilni telefon, bi lahko dodaten predmet (RFID kartica) rešili tako, da RFID
značko integriramo v mobilni aparat. RFID čitalnik omogoča branje RFID značk v dosegu
petih centimetrov. Identifikacija uporabnika bi potekala bolj tekoče, če bi čitalnik
omogočal branje na večji razdalji. Večja razdalja bi omogočila tudi identifikacijo več
uporabnikov hkrati.
Mobilnost
Sama aplikacija je zasnovana tako, da teče na dlančniku, ki ga lahko poljubno
prenašamo. To omogoča uporabniku nemoteno delo, ki je neodvisno od lokacije dogodka.
Recimo, da je udeležba posameznega dogodka plačljiva in je aplikacija naravnana tako, da
ob vsaki aktivnosti preko spletne storitve posreduje podatke o udeležencih. Proces
kompleksne transakcije plačil se upravlja na strežniku, ki potrebuje podatke iz dlančnika.
Kadar bi opravljali identifikacijo uporabnikov na območju, kjer ni brezžičnega dostopa do
interneta, je pomembno, da aplikacija samodejno najde alternativno storitev in tako
omogoči nemoteno delo. V našem sistemu bi lahko aplikacija začasno shranjevala podatke
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 59
Zaznava konteksta
Zaznavanje konteksta bi v našem sistemu rešili z namestitvijo RFID značk na vsak kraj
dogodka. Preko te RFID značke bi prišli do informacij za kateri dogodek opravljamo
identifikacijo. Ob vstopu v dvorano bi aplikacija na dlančniku prebrala podatke iz RFID
značke in samodejno pripravila nastavitve za identifikacijo uporabnika. Podobno bi lahko
napravili tudi za tistega receptorja, ki bi uporabljal dlančnik za identifikacijo udeležencev.
Pred uporabo bi se moral sam prijaviti v aplikacijo z RFID značko. Aplikacija bi na
podlagi tega zagnala grafični vmesnik s pravicami, funkcionalnostjo in osebnimi
nastavitvami receptorja. Na primer, če je receptor iz Anglije, bi grafični vmesnik tekel v
angleškem jeziku. Vsakemu branju z RFID značke lahko programsko pripišemo tudi čas
izvajanja operacije. S tem bi sistem zagotavljal tri ključne informacije zaznavanja
konteksta:
- lokacija: kje se identificiranje uporabnikov opravlja;
- uporabnik: kdo opravlja identificiranje uporabnikov;
- čas: kdaj je bilo identificiranje uporabnikov opravljeno.
Poplavljanje (Flooding)
Poplavljanje v primeru naše aplikacije lahko povzroči identifikacija velikega števila
uporabnikov. Ta scenarij je zelo malo verjeten, saj bi se morali uporabniki približati RFID
čitalniku na pet centimetrov (domet branja čitalnika). Bolj verjetno je, če bi kdo hotel
namenoma povzročiti poplavljanje z velikim številom RFID kartic. Temu se lahko
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 60
izognemo z možnostjo ročne identifikacije in s tem branja ene RFID kartice na enkrat.
Aplikacijo na RFID dlančniku uporablja receptor, ki hkrati tudi nadzoruje potek
identifikacije. Receptor bi v primeru poplavljanja ugotovil nepravilnost in uporabil
možnost ročne identifikacije.
Sledenje (Tracking)
ZASNOVA IN RAZVOJ RFID APLIKACIJE za registracijo udeležencev 61
Lažni dogodki
Razvita aplikacija se zaveda konteksta, v katerem se identifikacija uporabnikov
uporablja. Receptor pred postopkom identifikacije izbere za katero konferenco želi
opravljati identifikacijo udeležencev. Ko udeleženec vstopi v območje RFID čitalnika, se
pri samodejnem identificiranju venomer prožijo dogodki. Ti dogodki v aplikaciji ne
predstavljajo grožnje, ampak preprosto samo obvestijo ali uporabnik ima dostop ali ne.
Tudi sicer bi bila smiselna večkratna identifikacija uporabnika. Tako aplikacija omogoča,
da uporabnik konferenco zapusti in se po želji tudi vrne.
Ponavljanje sporočil
V razviti aplikaciji bi lahko nepridiprav prestregel sporočilo med RFID čitalnikom in
RFID kartico pri opravljanju identifikacije posameznega udeleženca. Prestreženo sporočilo
bi nato posredoval ob udeležbi na določen dogodek.
Nepridiprav bi ob tem tipu napada imel veliko težavo, saj bi se moral približati k RFID
čitalniku na pet centimetrov. Velika verjetnost je, da bi takšno dejanje bilo receptorju
sumljivo. Recimo, da mu napad kljub temu uspe. V tem primeru bi se lahko ubranili z
uporabo RFID kartice, ki omogoča enkriptirano komunikacijo.
Sklep 63
6 SKLEP
7 LITERATURA
[1] Computer Desktop Encyclopedia, The Computer Language Company Inc., 2006
[2] Scrutiny of Acts and Regulations Committee Victorian Electronic Democracy, Final Report, May
2005. Pridobljeno 14. 1. 2006, iz http://www.parliament.vic.gov.au/sarc/E-
Democracy/Final_Report/Glossary.htm
[3] Open Systems - Glossary. Pridobljeno 14. 1. 2006, iz
http://framework.v2.nl/archive/archive/node/text/default.xslt/nodenr-156647
[4] Technical Information Terminology. Pridobljeno 14. 1. 2006, iz
http://www.rapidspec.com/RapidSpec%20Site/PROJECT%20ASSISSTANT%20SECTION/DOC
%20SERVICES%20SECTION/Project%20Literature/rsp-Technicalinfo_Term.htm
[5] International Technology Laboratory No. 66, 1999
[6] Laboratory for Computer Science, Massachusetts Institute of Technology, 1999
[7] National Institute of Standards and Technology, 2001
[8] What's a Wearable. Pridobljeno 28. 1. 2006, iz http://www.media.mit.edu/wearables/
[9] Augmented Reality Pag. Pridobljeno 28. 1. 2006, iz http://www.se.rit.edu/~jrv/research/ar/
[10] Telepresence. Pridobljeno 28. 1. 2006, iz http://en.wikipedia.org/wiki/Telepresence
[11] Tangible Bits. Pridobljeno 28. 1. 2006, iz http://tangible.media.mit.edu/projects/
[12] Roomware. Pridobljeno 28. 1. 2006, iz
http://www.ipsi.fraunhofer.de/ambiente/english/projekte/projekte/roomware.html
[13] Information appliance. Pridobljeno 28. 1. 2006, iz
http://en.wikipedia.org/wiki/Information_appliances
[14] Autonomic Computing. Pridobljeno 28. 1. 2006, iz
http://en.wikipedia.org/wiki/Autonomic_Computing
[15] Proactive Computing. Pridobljeno 28. 1. 2006, iz http://www.intel.com/research/proactive.htm
[16] Amorphous Computing. Pridobljeno 28. 1. 2006, iz
http://www.swiss.ai.mit.edu/projects/amorphous/
[17] W3C Workshop on the Ubiquitous Web. Pridobljeno 28. 1. 2006, iz
http://www.w3.org/2005/10/ubiweb-workshop-cfp.html
[18] RFID Basics. Pridobljeno 18. 2. 2006, iz
http://www.ready4rfid.com/rfid_index.php?menu=rfid_frequencies&spr=e
[19] RFID Frequencies. Pridobljeno 18. 2. 2006, iz
http://www.scansource.com/europe/upload/RFID_Frequencies.pdf
[20] SMARTCODE™ CORP. Announces The World's First 5 Cent RFID Tag. Pridobljeno 18. 2.
2006, iz
http://www.measurementdevices.com/modules.php?op=modload&name=News&file=article&sid=
474&mode=thread&order=0&thold=0
[21] SAP Solutions for RFID: Making Adaptive Enterprise Vision a Reality. Pridobljeno 18. 2. 2006,
iz http://www.sap.com/solutions/business-suite/scm/rfid/index.epx
[22] The "Octopus Card" in Hong Kong. Pridobljeno 18. 2. 2006, iz
http://www.sony.net/Products/felica/csy/hnk.html
[23] The future is in the palm of our hand. Pridobljeno 18. 2. 2006, iz
http://www.oreillynet.com/onjava/blog/2006/02/the_future_is_in_the_palm_of_o.html
[24] RFID: The Ultimate In Car Security. Pridobljeno 18. 2. 2006, iz
http://www.integratedsolutionsmag.com/articles/2001_07/010703.htm
Literatura 65
[25] Retail Case Study - Wal Mart Stores, Inc. Pridobljeno 18. 2. 2006, iz
http://www.smartcodecorp.com/about_us/pdf/SmartCode%20Corp.%20-
%20Wal%20Mart%20Case%20Study.pdf
[26] ABC sistem. Pridobljeno 18. 2. 2006, iz http://www.dars.si/index.php?id=100052
[27] SpeedPass. Pridobljeno 18. 2. 2006, iz
https://www.speedpass.com/forms/frmHowItWorks.aspx?pgHeader=how
[28] Movement of Pets (Dogs, Cats and Ferrets). Pridobljeno 18. 2. 2006, iz
http://ec.europa.eu/comm/food/animal/liveanimals/pets/index_en.htm
[29] About Pet-Id. Pridobljeno 18. 2. 2006, iz http://www.pet-id.net/whatispetid.htm
[30] Personal Shopping Systems. Pridobljeno 4. 3. 2006, iz http://www.sapago.com/products.html
[31] CF RFID Reader Card. Pridobljeno 4. 4. 2006, iz http://www.socketcom.com/product/RF5400-
542.asp
[32] ISO 11784 & 11785. Pridobljeno 29. 4. 2006, iz
http://en.wikipedia.org/wiki/ISO_11784_&_11785
[33] ISO 14443. Pridobljeno 29. 4. 2006, iz http://en.wikipedia.org/wiki/ISO_14443
[34] ISO 15693. Pridobljeno 29. 4. 2006, iz http://en.wikipedia.org/wiki/ISO_15693
[35] What is EPCglobal. Pridobljeno 29. 4. 2006, iz http://www.epcglobalinc.org/about/faqs.html
[36] The Near Field Communication (NFC) Forum. Pridobljeno 29. 4. 2006, iz http://www.nfc-
forum.org/home
[37] JSR 257: Contactless Communication API. Pridobljeno 29. 4. 2006, iz
http://jcp.org/aboutJava/communityprocess/pfd/jsr257/index.html
[38] The Generic Connection Framework. Pridobljeno 29. 4. 2006, iz
http://developers.sun.com/techtopics/mobility/midp/articles/genericframework/
[39] Computing Anytime, Anywhere. Pridobljeno 29. 4. 2006, iz
http://www.smartcomputing.com/editorial/article.asp?article=articles/2000/s1103/08s03/08s03.asp
[40] Towards a Better Understanding of Context and Context-Awareness. Pridobljeno 23. 9. 2006, iz
ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-22.pdf
[41] Introduction to Jini. Pridobljeno 23. 9. 2006, iz
http://www.jini.org/wiki/Category:Introduction_to_Jini
[42] Semantic Web. Pridobljeno 23. 9. 2006, iz http://www.w3.org/2001/sw/
[43] A System Architecture for Pervasive Computing. Pridobljeno 23. 9. 2006, iz
http://www.cs.washington.edu/homes/tom/pubs/sigops00.pdf
[44] User Guides: CF RFID Reader Card
[45] Powell, G. (2005). Beginning Database Design. Indiana: Wiley Publishing
[46] SocketScan SDK .Net User’s Guide
[47] Thornton, F., Haines, B., Das, A. M., Bhargava, H., Campbell, A. in Kleinschmidt, J. (2006).
RFID Security. Rockland: Syngress Publishing
[48] Lehtinen, R. (2006). Computer Security Basics (2nd Edition). Sebastopol: O'Reilly
[49] Analysis of the Texas Instruments DST RFID. Pridobljeno 28. 10. 2006, iz http://rfidanalysis.org/
[50] Barcode replacement comes in from cold. Pridobljeno 28. 10. 2006, iz
http://insight.zdnet.co.uk/specials/rfid/0,39026568,39154051,00.htm
[51] Typical read range for RFID devices. Pridobljeno 28. 10. 2006, iz
http://www.identecsolutions.com/intro_to_rfid.asp#Read%20Range
[52] Barcode Reader. Pridobljeno 28. 10. 2006, iz
http://whatis.techtarget.com/definition/0,,sid9_gci857995,00.html
[53] Črtna koda. Pridobljeno 28. 10. 2006, iz http://www.gs1si.org/sntportal.asp?p=42&m=40
[54] Guid Structure. Pridobljeno 28. 10. 2006, iz http://msdn2.microsoft.com/en-
us/library/system.guid.aspx
Literatura 66
[55] Privacy-Enhancing Radio Frequency Identification. Pridobljeno 28. 10. 2006, iz http://www-
03.ibm.com/solutions/businesssolutions/sensors/doc/content/bin/Clipped_Tag_White_Paper.pdf?g
_type=hpfeat
[56] Introduction to Correctness and Robustness. Pridobljeno 28. 10. 2006, iz
http://www.faqs.org/docs/javap/c9/s1.html
[57] RFID & EPC Essentials. Pridobljeno 28. 10. 2006, iz
http://www.epcglobalinc.org/what/cookbook/chapter1/
[58] The Computer for the 21st Century. Pridobljeno 28. 10. 2006, iz
http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html
[59] About Pervasive Computing. Pridobljeno 5. 11. 2006, iz
http://www.nist.gov/pc2001/about_pervasive.html
[60] Ubiquitous computing. Pridobljeno 5. 11. 2006, iz
http://en.wikipedia.org/wiki/Pervasive_computing
[61] The Visible Problems of the Invisible Computer, Pridobljeno 5. 11. 2006, iz
http://www.firstmonday.org/issues/issue4_9/odlyzko/
[62] Pervasive computing framework for modelling complex virtually-unbounded systems
(PERPLEXUS), Pridobljeno 5. 11. 2006, iz
http://cordis.europa.eu/fetch?CALLER=IST_UNIFIEDSRCH&ACTION=D&DOC=92&CAT=P
ROJ&QUERY=1166358359949&RCN=79438
[63] EPC and RFID Compared to UPC and Bar Codes, Pridobljeno 5. 11. 2006, iz
http://www.rfidsb.com/index.php?page=rfidsb&c_ID=112
[64] Strategic Research Agenda of the European Technology Platform on Smart Systems Integration,
Pridobljeno 5. 11. 2006, iz http://www.smart-systems-
integration.org/public/documents/060808_EPoSS_SRA_final_v1.01.pdf
[65] Security Aspects and Prospective Applications of RFID Systems, Pridobljeno 5. 11. 2006, iz
http://www.bsi.de/fachthem/rfid/RIKCHA_englisch_Layout.pdf
[66] Privacy Enhancing Technologies for RFID, Pridobljeno 5. 11. 2006, iz
http://www.rfidconsultation.eu/?id_categoria=19&id_item=19&info=3