You see things as they are and ask: 'Why?'
I dream things as they never were and ask: 'Why not? '
-- George Bernard Shaw
Na mom prethodnom blogu o virtuelnoj reintegraciji dijaspore, "Od Tokija do Milvokija", koje inače priča o virtuelnim opštinama, ličnim kartama sa čipom i sličnim mogućim "velikim" projektima, Dragan Pleskonjić, "tripraseta", "KRALJMAJMUNA" i ja smo započeli da iteriramo ideju jednog relativno niskobudžetskog rešenja za pojednostavljenje uplate administrativnih taksi na šalterima državnih službi. Radi se o rešenju iz klase "M-commerce", tj. plaćanja upotrebom mobilnih telefona.
Znači, umesto da čekate u redovima u bankama, popunjavate uplatnice i donosite overene primerke, ideja je da dođete na šalter, pronađete šifru takse koju treba platiti (na oglasnoj tabli kod šaltera) i pošaljete jednu SMS poruku sa šifrom takse, na broj koji bi verovatno zavisio od mobilnog operatora.
Mobilni operator bi vam onda zadužio "račun" (ako ste prepaid, morali biste da imate dovoljno kredita) i platio uslugu u vaše ime, prenoseći u on-line modu poruku o plaćanju ministarstvu finansija. Ovu poruku bi šalterski radnik mogao da vidi, te da na bazi toga izvrši plaćenu uslugu. Ako je plaćanje uspešno, mobilni operator bi vam vratio poruku sa referentnim brojem uplate (koji treba da pročitate/pokažete šalterskom radniku) i iznosom koji je plaćen.
Ovaj blog ima za cilj da prenese ideju (u malo zanatski sređenijem obliku) i da pozove sve one koji su zainteresovani da daju svoj prilog, da svojim komentarima pomognu u unapređenju i preciziranju rešenja. Ideja je da kroz diskusiju dođemo do rešenje koje je jednostavno, bezbedno i efikasno i da damo ideju koliko bi implementacija jednog takvog rešenja mogla da košta državu u raznim aspektima troškova (računarska oprema, mrežna oprema, sistemski softver, aplikativni softver, implementacija – pilot i full rollout, itd).
Ovo bi, sa jedne strane, bio "input" nadležnima u državnim organima (i besplatna stručna konsultacija, da se razumemo, ali ja sam raspoložen za "community work", ako on ima očiglednu korist za zajednicu, a uzgred je i ispunjavajući i zabavan), a sa druge strane, svojom javnošću, mogao bi biti jedna forma "pritiska" na te iste državne organe, ako dobije dovoljnu podršku.
Pretpostavka je da bi mobilni operatori ovo videli kao dobar komercijalan posao, tako da ne verujem da njihove troškove treba previše elaborirati. Oštećeni bi donekle bili oni kojima se dobar deo ovog posla oduzima – šalteri banaka i pošta (ne ekskluzivnošću, nego upravo racionalnošću i produktivnošću) – ali čini mi se da je ovo, sve u svemu, društveno korisan poduhvat.
PREDLOG REŠENJA
Osnovni tok infomacija je prikazan na dijagramu.
Uplatilac ima bilo koji mobilni telefon na mreži koja ima ugovor sa ministarstvom finansija i dovoljno kredita (ili je u pitanju post-paid ugovor i dovoljno "kreditnog limita").
Šalter je opremljen jednim ili više (za svako šaltersko mesto) "smart" telefona (pristup Internetu i dovoljno veliki ekran), koji mogu preko GPRS i Interneta pristupiti zaštićenoj web stranici Ministarstva finansija, na kojoj se, u opadajućem redosledu vremena uplate, vide uplate takse za tu lokaciju.
Ministarstvo finansija stvara namensku virtualnu privatnu mrežu sa mobilnim operatorima koji pokažu interes za ovaj projekat (za očekivati je da bi sva tri bila vrlo zainteresovana) i nudi web servis kojim se, u online režimu, registruju uplate. Stvarno plaćanje se vrši dnevno ili nedeljno, jednim nalogom, a mobilni operator dostavlja elektronski (može čak i emailom) listu transakcija koje su ušle u platni nalog.
Ja ću u ovom tekstu, osim jako grube skice, preskočiti detalje softverskih "tehnologija" i potrebne mrežne opreme. Za to računam da ima mnogo boljih od mene ovde na blogu. Fokusiraću se na "poslovne protokole" A, B i C sa dijagrama. Dizajn ovih poslovnih protokola je ono što značajno utiče na bezbednost, efikasnost i jednostavnost.
Protokol A: Zahtev za uplatu i potvrda uplate
SMS poruka se šalje na specijalni broj mobilnog operatera za ovu svrhu (uplate administrativnih taksi). Mobilni operater autentifikuje pretplatnički broj mehanizmima ugrađenim u SIM karticu.
Poruka se tipično sastoji samo iz 7-cifrene šifre uplate, pošto vrsta takse određuje i iznos. Za neke vrste taksi, uz šifru se unosi i iznos uplate.
Šifra uplate ima sledeću strukturu: MMMMTTK, gde je MMMM slovna šifra uplatnog mesta (case insensitive, što daje do maksimalno 26*26*26*26=457976 uplatnih mesta), TT je tip administrativne takse (26*26=676 tipova takse) a K je modularna kontrola.
Mobilni operator procesira poruku tako što proveri ispravnost šifre takse, pronađe iznos takse (ako nije unet kao deo poruke) i proveri da li korisnik ima dovoljno kredita da obavi transakciju. Ako ima, rezerviše iz kredita iznos plaćanja i uz pomoć protokola B prijavi plaćanje i od odgovarajućeg servisa ministarstva finansija dobije referentni broj uplate.
Referentni broj uplate i tekst uplate se šalju pretplatniku u obliku SMS poruke.
Primer razmene poruka:
Uplatilac šalje na broj 1234 SMS poruku: aacxaaz (aacx – uplatno mesto SO Voždovac, aa – uplata takse za ličnu kartu, z – modularna kontrola).
U roku od nekoliko sekundi dobija nazad SMS poruku: Referenca 170459 - sifra uplate AACXAAZ, uplata 10,12 dinara administrativne takse uspesno izvrsena.
Protokol B: Registracija uplate
Sistem mobilnog operatora šalje sistemu ministarstva finansija poruku sa sledećim elementima: (ReferencaOperatora, BrojTelefona, ŠifraTakse, IznosUplate), plus identifikacioni, autentikacioni i zaštitni elementi, nebitni za ovaj nivo detalja.
Ministarstvo finansija odgovara porukom sa elementima (MrežnaReferencaMF, ReferencaOperatora, ŠifraStatusaTransakcije, ŠifraTakse, Iznos, ReferencaMFZaUplatioca), plus identifikacioni, autentikacioni i zaštitni elementi, nebitni za ovaj nivo detalja. Polje ReferencaMFZaUplatioca se šalje samo u slučaju da je šifra statusa transakcije "uspešna registracija".
Razlika između mrežne reference i reference za uplatioca je što je mrežna referenca jedinstvena "zauvek" i potencijano ima dosta veliki broj znakova (duža je), a referenca za uplatioca može da se ponavlja npr. dnevno ili nedeljno i može da se sastoji od sekvence na nivou uplatnog mesta za tekući dan (npr. 4-5 cifara) i 2-3 zaštitne cifre sračunate kriptografskom metodom, koje otežavaju pogađanje sekvence od strane zlonamernog "uplatioca".
Svrha broja mobilnog telefona je opciona dodatna autentikacija uplatioca, koja se može izvršiti prostim telefonskim pozivom. U svrhu povećanja bezbednosti, MF uništava ovaj podatak iz svoje evidencije posle predefinisanog broja dana od realizovane usluge.
Protokol C: Lista uplata
Ovo je prost skup web stranica, prilagođenih karakteristikama terminala (tj. smart phone / PDA uređaja), koje prikazuju izvršene uplate.
Stranica pokazuje listu uplata, gde svaki red sadrži referencu za uplatioca, šifru usluge i taster/link za stranicu sa detaljima. U detaljnom pregledu vidi se referenca, šifra uplate, iznos uplate, vreme uplate, broj telefona uplatioca i taster "usluga izvršena".
Da bi se omogućila korekcija pogrešnog označavanja usluge kao izvršene, postoji stranica sa listom poslednjih 20 transakcija kojima je postavljena oznaka izvršene usluge i tasterima/linkovima kojima se može vratiti stanje transakcije u "čeka na izvršenje". Osnovna lista prikazuje samo transakcije kod kojih usluga nije izvršena, ali je sa iste stranice moguće pristupiti i stranici za korekciju.
Bezbednost ovih stranica se, idealno, postiže klijentskim sertifikatom ugrađenim u terminal. Ako ovo, zbog osobina terminala (tj. smart telefona) nije moguće, može se koristiti i one-time-password token, ili neki mehanizam sličnog nivoa zaštite.
Umesto zaključka
Evo nekoliko osobina ovog rešenja, kako ih ja vidim:
- Jednostavno i komforno plaćanje, kao alternativa uplati na šalteru, koja, naravno, ostaje kao mogućnost
- Operacija je automatizovana, što znači da teško može da bude skuplja nego ručna uplata na šalteru
- Čak i oni koji imaju pre-paid telefone mogu da uplate kredit na svakom ćošku
- MF bi imalo finansijska potraživanja samo od 3 velike firme, tj:
-- Nema praktično nikakvog kreditnog rizika
-- Način sravnjenja knjiga se brzo može dogovoriti, čak i da je različit za tri provajdera, a neće biti
- Mobilni operatori se već bave ovim i znaju kako da upravljaju kreditnim rizikom kod post-paid korisnika
Zadovoljstvo mi je da vas pozovem da se pridružite oblikovanju ove ideje, tj. ovog rešenja. Čak i ako ništa ne bude od realizacije ovoga (a mislim da će šanse za to biti onoliko manje, koliko budemo "realniji" i ubedljiviji), mislim da će biti interesantno družiti se i analizirati i dorađivati ideju, iz raznih mogućih uglova, kao što su:
* Tehnički
- Funkcionalne karakteristike
- Bezbednost
- Moguća struktura projekta
- Cena/troškovi raznih segmenata projekta
* Poslovni
- Aspekti korisnosti
- Načini plasiranja ove ideje i izazovi koji se tiču plasmana
- Mogući projektni rizici
DODATAK (Br. 1)
Evo malog dodatka o tome kako bi se uplate mogle vršiti preko e-commerce aplikacije, preko Interneta, karticama.
Znači, protokol C ostaje na snazi. Protokol B takođe ostaje na snazi, ali se kao još jedan "uplatilac" pojavljuje e-commerce aplikacija ministarstva finansija (interno arhitekturalno rasprezanje). E-commerce aplikacija onda prosto spreže plaćanje karticom (npr. ono što nudi banka Intesa, ili čak "upakovanu" verziju koju nudi Pexim, koja trivijalizuje integraciju i minimizuje zahteve za bezbednošću e-commerce aplikacije, za neku dodatnu proviziju) sa registracijom uplate kroz već gore opisan sistem registracije uplate taksi.
Na slici ispod, aplikacija za registraciju i aplikativni server e-commerce aplikacije dele aplikativni "box", a aplikacija koju koriste šalterski referenti i e-commerce front-end dele web servere. Naravno, ovo se može izvesti i na odvojenom hardveru (iako nisam siguran da je, strogo gledano, neophodno, ako je da se uštedi na narodnim parama).
Primetite da u ovom slučaju uplatilac može da prepiše referencu uplate sa ekrana, ali e-commerce servis može i da mu je pošalje na mobilni telefon (troškovi su oko 2-3 dinara po poruci kad se kupuje na veliko).
Takođe, šifru takse biste pronašli tako što izaberete iz liste uplatno mesto i vrstu administrativne takse (nadam se da je očigledno da ne biste morali dva puta na šalter :))