Billig sikkerhets-FAQ

Fra tid til annen, spesielt rundt UKA, får ITK epost fra mer eller mindre oppglødde personer som mener de har funnet sikkerhetshull i billettsystemet. (Noen sender epost i altruistisk hensikt; andre mener seg berettiget til kompensasjon på ulike måter.) Som regel bunner disse ut i misforståelser rundt hvordan sikkerhetsmodellen fungerer – derav denne siden.

Kan jeg skrive ut en billett flere ganger?

Det kan du selvsagt, men du vil bare komme inn én gang. Systemet lagrer hvilke billetter som har vært i bruk, og vil gi «rød mann» og informasjon om dette neste gang.

Men jeg kan gå inn i forskjellige dører med samme billett?

De forskjellige dørene er synkronisert over nettverk. Synkronisering skjer på få millisekunder så lenge nettet er oppe – om nettet er nede vil synkroniseringen skje idet nettet kommer opp igjen, og det vil gå en alert-epost om det oppdages at en billett er brukt to ganger.

Jeg kan endre det siste sifferet i billettnummeret i PDF-URLen og fortsatt få ut en billett!

PDF-generatoren (den med en URL som inneholder /pdf) genererer en PDF med hvilket som helst bilettnummer du gir inn. Imidlertid gir dette ikke deg nødvendigvis noen gyldig billett. Grafikk på selve billetten er helt irrelevant for om systemet vil slippe deg inn eller ikke; det eneste som betyr noe er billettnummeret (som står både som strekkode og med tall). Det som betyr noe for om du kommer inn er

  1. om billettnummeret er en billett solgt til det aktuelle arrangementet, og
  2. om sikkerhetskoden (de siste fem sifrene) stemmer med resten av billettnummeret.

PDF-generatoren verifiserer ikke sikkerhetskoden. Om du derfor endrer på det siste sifferet, vil du ha en billett med ugyldig sikkerhetskode, og den vil lyse opp som forfalsket idet du prøver å komme deg inn på arrangementet.

Folk med forfalskede billetter vil bli bortvist fra arrangementet.

Jeg kan endre noen av de andre sifrene i billettnummeret og få ut en billett til et annet arrangement!

Se over. Sikkerhetskoden må fortsatt stemme.

Kan jeg gjette rett sikkerhetskode?

Du kan prøve, men med fem siffer er det 100000 mulige koder, og bare én av dem er rett. Det gir 0.001% sannsynlighet for å komme inn, og 99.999% sannsynlighet for at du får en sint vakt etter deg. (I tillegg må du selvsagt sørge for at du kommer tidlig nok til at ingen allerede har brukt den billetten.) Forventningsverdien tilsier at det er en dårlig deal.

Det er ingen andre steder enn ved innslipp du får testet om sikkerhetskoden er riktig eller ikke. (PDF-generatoren har ikke den aktuelle hemmeligheten overhodet.)

Men jeg kan lage billetter som ser helt ekte ut og selge på svartebørs!

Det kan du også gjøre ved å skrive ut den samme billetten mange ganger og selge til forskjellige personer. Det er svært liten sikkerhet i å kjøpe på svartebørsen – om ikke kjøper kan stole på selger, er det å kjøpe et A4-ark med en strekkode på generelt en dårlig plan.

Vær obs på at selv termisk trykte billetter (dvs., de som selges ved Samfundets/UKAs utsalgssteder, og skrives ut på termiske skrivere) ikke er sikre å kjøpe på svartebørs, da det går an å lage en ny PDF med samme strekkode som på papirbilletten og bruke den.

Jeg kan sikkert finne mønsteret for hvordan sikkerhetskoden er generert!

Sikkerhetskoden er en (trunkert) HMAC-SHA1. Det er selvsagt mulig at det finnes svakheter i dette, men om du klarer å knekke HMAC, finnes det antageligvis mye mer interessante ting å bruke det på enn å forfalske billetter.

Eventuelle kollisjoner i SHA-1 er ikke relevant for sikkerheten til HMAC (se Schneier o.a.).

Så systemet er bombesikkert?

Ingen systemer er bombesikre; det viktigste er å få et system som er sikkert nok. Tross alt er de aller fleste ærlige, og det er også en stor verdi i å gjøre systemene enkle å bruke. Vi har generelt få problemer med at folk forsøker å forfalske billetter.

Hvor kan jeg finne mer informasjon om billettsystemet?

F.eks. på http://itk.samfundet.no/dok/Billig.

Lenker: Start, billig

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2011-09-24 16:10 | Revisjon: 1 (historie, blame) | Totalt: 1420 kB | Rediger