Conikehitystä: Eroon rannekkeista (2/2)

Tämä kirjoitus koostuu kahdesta osasta: tämä osa käsittelee langattomaan tunnistamiseen perustuvan lippujärjestelmän teknistä puolta. Yleisempää informaatiota koko kuviosta löydät edellisestä osasta. Tervetuloa mukaan keskusteluun!

Halp halp wat do.

Saattaa sisältää järkeä, ehkä.

Näin alkuun on disclaimerin omaisesti varoitettava, että vaikka IT-alalla töissä olenkin, ei kulunvalvontajärjestelmien softakehitys ole ihan ominta puuhaa. Pläänit sisältävät siis todennäköisesti varmasti jonkintasoista teknistä derppiä tai huonoa suunnittelua. Saa korjata!

Pienenä kertauksesta edellisestä osasta, tapahtuu tunnistaminen järjestelmässä siis langattomin tunnistein. Arkielämässä tällaisia ovat mm. matkakortit ja tulevaisuudessa myös monet kännykät. Oikein valitulla tekniikalla tunnisteena voisi siis halutessaan käyttää vaikka omaa kännykkäänsä.

Kortin datapuolella olisi tallessa kortin oma, uniikki ID (numeroita, tekstiä, mitälie kanjeja) sekä mahdollisesti jokin ID:stä laskettu tarkistusosa. Muuta dataa kortilla ei tallennettaisi, paitsi korkeintaan nimi. Tapahtumaan saavuttaessa kävijä vilauttaisi ovella korttiaan lukijalle, johon yhteydessä oleva tietokone tarkistaisi ID:n oikeellisuuden ja varmistaisi että tällä on myös oikeus päästä tapahtumaan sisään.

Muu järjestelmä pitää noin niinkuin oletuksena sisällään yhden tai useampia päätelaitteita ja vähintään yhden palvelimen, jossa on tallessa sisäänpääsyyn oikeutetut ID:t. Koska sisäänpääsyn on oltava nopeaa, on tiedon oikeista ID:istäkin syytä olla lähellä. USB-lukijassa kiinni oleva tietokone on suhteellisen lähellä, mutta lähiverkon päässä oleva keskitetty palvelin alkaa taas olla aika kaukana, tapahtumapaikan ulkopuolella olevasta palvelimesta puhumattakaan. Tietotekniikassa tämä on verrannollinen siihen, että juustonsa joutuisi lähikaupan sijasta hakemaan Kuusta.

Just like in my Japanese animus

Nopeeta touhua.

Tarvitaan siis ID-tietokannan kopio jokaisen lukulaitteen lähelle (ehkäisee mukavasti myös sen ainokaisen palvelimen kaatumisesta seuraavia pulmia). Tämä asettaa projektille hiukan puuhasteltavaa datan ajantasaisuuden, synkronoinnin ja myös luotettavuuden suhteen. Nopealla pohdinnalla tämän voisi tehdä esim. niin että ylemmän tason palvelin voisi lähettää lukulaitteiden yhteydessä oleville koneille muutoksia ID-tietokantaan (jos jokin ID esim. lisätään tai poistetaan kesken tapahtuman), ja lukulaitteet puolestaan voisivat lähettää ylemmälle taholle ainoastaan tietoja luetuista ID:istä.

Tästä päästäänkin luontevasti ongelmapuoleen, ensimmäisenä korttien kopiointi. Kiinasta saa korttien kopiointiin sopivia laitteita satasella tai parilla ja varmasti suht oikeannäköisen kuvankin saisi jotenkin kikkailtua valekorttinsa päälle. Tämän estäminen vaatii jo hiukan enemmän poliisivaltioilua. Käytännössä joko siis niin että samalla ID:llä tiettynä aikana liian monesti sisään tuleminen saisi systeemin vinkkaamaan ovea vahtivalle JV:lle kortin tsekkausta. Toinen vaihtoehto on että myös ulos mennessä leimattaisiin korttia, aiheuttaen tietenkin sen, että osalta tämä voisi unohtua, josta seuraisi ongelmia seuraavan kerran sisään tullessa. Ihan ongelmatonta ratkaisua en tähän ainakaan suoraan keksi, keksisikö joku muu paremman? Onneksi kaikki tähänastiset conit ovat onneksi olleet huomattavasti kopiointivehkeitä halvempia, ja kopiointi on huomattavasti nykyisiä rannekkeita hankalampaa.

For your protection!

Tuleepas turvallinen olo!

Toinen juttu korttikirjausten valvonnassa on yksityisyys. Tapahtumassa on oltava mahdollista selvittää, kenen omistuksessa kopioitu kortti on, jotta henkilöön voidaan olla kortin kopioimisesta yhteydessä. Tapahtuman jälkeen kerätystä datasta voidaan katsella tarkemmin sisääntuloaikoja, jotta osataan jatkossa esim. varata oville riittävästi henkilöstöä oikeisiin aikoihin. Jälkeenpäin sillä ei sensijaan ole enää merkitystä, että kuka ovesta on milloinkin astellut, eikä tämän selvittäminen saa enää tapahtuman jälkeen olla mahdollistakaan. Tämä on onneksi toteutettavissa helpommin. Noin muutenkin koko systeemissä ihmisten henkilötietoihin tulee olla pääsy vain oikeasti niiden kanssa tekemisissä olevilla, hyvin pienellä määrällä henkilöitä. Tällainen onkin syytä huomioida jo suunnittelussa.

Väärinkäytöksistä ja isoveleilystä vielä selvittiin, mutta vielä on jäljellä kolmas haaste! Nimittäin käytettävyys. Tunnisteilla voidaan kerätä siistiä infoa mm. ohjelmien kävijämääristä, käyttää niitä cosplaykisan pääsylippuna ja järjestää helposti erilaisia kisoja. (Käy katsomassa eniten ohjelmia, voita jotain!) Kysymys kuitenkin kuuluu, että alkaako kortin vilauttelu kymmenennen kerran conilauantaina jo hiukkasen jurppia? Jos kortti on lompakossa tai muualla vähän hankalammin tavoitettavassa paikassa, kuinka monessa paikassa sitä uskaltaa kysyä? Hyvän käytettävyyden tavoittelu ei aiheuta hankaluuksia pääsylippukäytölle, mutta rajoittaa muuta käyttöä, ellei tähän keksitä jotain ovelaa. Mahdollistaako tekniikka esim. kortin lukemisen suoraan taskusta? Ja jos mahdollistaa, tuntuuko tämä kyttäykseltä?

For science!

”We do what we must, because we can.”

Tässäpä siis taasen hiukkasen mietteitä keskustelun pohjaksi! Eilinen postaus aiheesta yleisemmin sai aikaan jo vilkasta keskustelua niin blogikommenteissa kuin irkissäkin useilla kanavilla, ja tämä jatkuu toivottavasti myös tämän myötä, painottuen hiukan enemmän juuri tekniseen toteutukseen. Yleisempää keskustelua kannattaa käydä edelleen 1. osan kommenteissa.

Kuten viimeistään nyt selkeni, on tässä melkoisesti puuhaa. Tästä huolimatta, tai kenties juuri siksi, minua innostaisi selvittää tällaisen ratkaisun käyttöä ja rikkoa nykyisten käytäntöjen asettamia rajoja. Mukaan saa tulla. 🙂

6 vastausta to “Conikehitystä: Eroon rannekkeista (2/2)”

  1. Conikehitystä: Eroon rannekkeista (1/2) « Nip nong Says:

    […] nong Japania? Minun Suomessani? « Kyllästyitkö jo coneihin? Järjestä ne! Conikehitystä: Eroon rannekkeista (2/2) […]

  2. Markus Murto (@_kusokasa) Says:

    Kokisin toimivaksi jos rannekkeissa olisi viivakoodit jotka sisältäisivät tämän ID-tunnuksen. Tällainen olisi kortteja näppärämpää vetästä esiin ja tarkastaa ja halvempikin.

  3. Miika Ojamo (@siikakala) Says:

    Tarkistuslaitteen softahan voi pitää omaa sisäistä cachea kaikista koodeista (ja mahdollisesti muusta datasta, tätä tuskin on montaa megatavua), ja päivittää sitä keskitetyltä palvelimelta x minuutin välein, synkaten samalla vaikkapa aikaleimat jokaisesta lukukerrasta, jolloin saadaan helposti selville, koska on ruuhkahuiput, mutta yksityisyys säilyy. Myöskään palvelimen/verkkoyhteyden hajoaminen ei aiheuta ongelmia cachesta löytyvien koodien sisäänkirjautumiseen. Se tokikin pitää korjata, mutta se ei ole kävijöille suoraa näkyvä toimenpide.

    Etäältä luettavat (lue: taskusta) tunnisteet vaativat käytännössä sen, että porukka kulkee jonossa, jolloin voidaan tarvittaessa nykäistä sivuun henkilö, jolta tunnistetta ei havaittu. Käytännössä ovella oleva väijyjä vahtaa jossain laitteessa olevaa valoa (ei syty kun henkilö kohdalla -> nykäise sivuun, tai muuta vastaavaa). En tosin tiedä, onko tämäntyyppisiä lukijoita kuin porttimallisia. Toisaalta, koska desuconin tapauksessa on yksi väylä sisään ja yksi väylä ulos, molemmille portin pistäminen mahdollistaa molempiin suuntiin tapahtuvan seurannan, ilman että käyttäjän tarvitsee itse muistaa tehdä mitään muuta kuin kantamaan tunnistetta mukanaan. Ja mielestäni se ei ole kyttäystä, mikäli sillä annetaan oikeus päästä tapahtumaan, pikemminkin nimenomaan nostaa käytettävyyttä, koska portin läpi kävelessä kortin mukana kantaminen riittää, ei tarvi kaivaa edes etukäteen tunnistetta/ranneketta/whatever esiin. Tai mikäli lukija ei ole porttimallinen, lukijan ohi anyway.

    Työpaikallani lähes joka oveen (ja hississä) tarvitsee kulkulätkää -> sitä tulee pidettyä jojossa aina käsillä, koska ovia on aika monta, itseäni alkoi ainakin viikossa jurppia tagin kaivaminen aina taskusta. Koulussa sitä tarvitsi joihinkin luokkien oviin ja ilta-aikaan ulko-oviin ja hissiin, jolloin sen pitäminen lompakossa ja kaivaminen tarvittaessa oli riittävä keskimäärin. Se myös toimi bussikortin läpi, eli käytti nähtävästi sitä alempaa RFID-taajuutta (ESMI).

    Mikäli halutaan seurata ”ohjelmakirjauksia”, täytyy kirjautumiset yksilöidä henkilötasolle asti, ja näistä voidaan laillisesti pitää kirjaakin, kunhan siitä on olemassa rekisteriseloste (jollaisen voi antaa kävijän luettavaksi pyydettäessä), ja tietoturva on kunnossa. Toisaalta mikään ei myöskään estä poistamasta yksilöivää dataa tapahtuman jälkeen. Tapahtuman sisäinen Foursquare \:D/

    Voisi olla muuten myös jokseenkin kätevää, jos postilla lähetetään vain jokin lappunen, jolla voi varsinaisen tagin lunastaa tapahtumasta ja jolla pääsisi useampaan tapahtumaan ilman uuden lipun hankintaa. Tapahtumassa pitäisi anyway olla piste, jossa voitaisiin vaihtaa rikkoutuneita/hukkuneita tageja, mieluusti sisäänkäynnin ulkopuolella. Ja tähän pitäisi rakentaa jokin käytäntö, esim. rikkoutumistapauksessa jokin tunniste (QR-koodi?) tulisi olla myös kortin pinnassa. Hukkumistapauksessa ehkä voisi olla jokin ”lähetä uusi lunastuslappu postissa”, jolloin tälle pitäisi rakentaa tietokanta johonkin.

    Mielestäni nyt pitäisi lähtee liikkeelle siitä, että rakennetaan jonkintyyppinen demo, joka käyttää tagia ja lukulaitetta paikallisella cachella. Ja yritetään löytää mahdolliset tamperointitavat, sekä testata lukijan nopeutta ja käytettävyyttä. Ja jos lukija on porttimallinen/ohikäveltävä, pitää ehdottomasti testata, mitä tapahtuu kun läpi kävelee kaltaiseni henkilö, jolla on niitä tageja jo ennestään viisi. Toinen asia, mikä pitäisi aloittaa heti, on tapahtumien väliset keskustelut yhteiskäytöstä, koska potentiaalia on paljon.

  4. Miika Ojamo (@siikakala) Says:

    Mieleeni tuli myös tapaus kirjasto, jolla on ainakin Tampereella jokin tunniste kaikessa lainattavassa aineistossa. Itsepalvelulainaus, joka pistää tietokantaan merkinnän, että nide on lainassa. Ovilla on portit, jotka lukevat kerralla kaikki niteet, mitkä ovat mukanasi, ja hälyyttää, mikäli jotakin näistä ei ole lainattu asiaankuuluvasti.

    En tosin tiedä miten tuo toimii käytännössä, koska se tuntuu toimivan varsinkin peli- ja dvd-levyjen kanssa huonosti (portit hälyyttää vaikka nide on lainattu asiaankuuluvasti. Lainauspiste ei ole saanut luettua tagia..?)

  5. Houndy Says:

    ”Tarvitaan siis ID-tietokannan kopio jokaisen lukulaitteen lähelle (ehkäisee mukavasti myös sen ainokaisen palvelimen kaatumisesta seuraavia pulmia).”
    Ei noin, tuo lisää tietojen vääriin käsiin päätymisen riskiä. Parempi ratkaisu on käyttää kahdennettua palvelinta, niin sen kaatumisesta ei tule ongelmia eikä tarvitse erikseen puuhastella datan ajantasaisuuden ja synkronoinnin kanssa.

  6. animuporvari Says:

    Hei Houndy!

    Kannan replikaatiolla ja muulla kahdennuksella voidaan toki saavuttaa parempaa luotettavuutta, mutta oma lukunsa on latenssilla. Verkon yli datan hakeminen kuin on yleensä aivan tuskallisen hidasta. Samoin yhteyden kriittisyys veisi melkoisesti resursseja, sillä pitäisi toki huolehtia varayhteydestä ym. Ei silti toki ihan mahdoton idea.

    Desucon on itseasiassa huomenna lähdössä tarkemmin pohtimaan tätä lippu-uudistusta. Samalla mukaan on myös saatu enemmän asiantuntemusta ja tuota korttien helppoa kloonattavuutta voidaan taklata tarkemmin esim. jonkinlaisella julkisen ja yksityisen avaimen mallilla. Laitamme toki suunnitelmia julki heti kun niitä syntyy, niin näitäkin on mahdollista kommentoida tarkemmin.

    Palaillaan asiaan toivottavasti pian!

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google photo

Olet kommentoimassa Google -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s


%d bloggaajaa tykkää tästä: