S SecSS-om do učinkovite e-vlade

Alois Paulin, 2011

Dnevi slovenske informatike - DSI, Portorož,

Povzetek

Ta članek predstavlja tehnološko rešitev »Secure SQL Server« - SecSS, ki odgovarja na pravne in politične zahteve pri bralno/pisalnem dostopu do vladnih oz. državnih informacij z uveljavljenimi sredstvi informacijsko-komunikacijskih tehnologij. Motivacija v razvoju predstavljene rešitve izhaja iz spoznanja, da se moderna Slovenska javna uprava utaplja v nestandardiziranem prenosu (bodisi manualno, bodisi semi-avtomatično) strukturiranih elektronskih državnih podatkov med celicami državnega sistema in iz državnega sistema k javnosti. To zamudno in neučinkovito delo po nepotrebnem bremeni državo kot sistem, zlasti pa državljane kot plačnike tega sistema – tako finančno, kot psihično, saj državljan sodobne informacijske družbe upravičeno pričakuje odzivno in učinkovito državno birokracijo.

Ključne besede

e-vlada, e-uprava, vlada kot platforma, informacije javnega značaja, SQL

Uvod

Eksplozivni razvoj informacijsko-komunikacijskih tehnologij, kateremu smo priča od popularizacije interneta naprej, je povzročil civilizacijsko revolucijo, ki se odraža v kulturi, gospodarstvu, morali. »Internetna« revolucija že dolgo izziva tudi hegemonialni sistem, ki pa zaradi svoje konzervativistične narave in tendenc vladajočih socialnih omrežij po ohranitvi obstoječih privilegijev le togo reagira na nova družbena dejstva. Revolucija je iz vidika mladih (tehnično pismeni del družbe) »fait accompli«, pri tem pa coklo razvoja predstavljajo tehnično nepismeni kadri, ki držijo oblastne pozicije v državnem aparatu.

Odgovor tega generacijskega ozkega grla na upravičene zahteve po informatizaciji države je poplava raznovrstnih spletnih uporabniških vmesnikov, ki omogočajo državljanom dostop do državnih »storitev«. A čeprav so tovrstne vladne internetne aplikacije soliden korak na poti v sedanjost, je nemogoče obiti dejstvo, da gre zgolj za drage in enostransko vsiljene fasade z močno omejeno tehnično funkcionalnostjo in kratkim rokom uporabe.

Slovenija iz vidika internacionalnih družboslovnih raziskav, ki se bavijo z informatizacijo poslovanja med državljanom in državo, dosega sicer dokaj dobro uvrstitev (Capgemini, 2009; The Economist, 2009) in se tozadevno giblje med petimi najvišje uvrščenimi državami v Evropi. A resnica je, da se tovrstne raziskave osredotočajo zlasti na kvantitativno razpoložljivost spletnih portalov, pravno pokritost elektronskega poslovanja ter prijaznost grafičnih uporabniških vmesnikov do uporabnikov. Kvalitete in trajnosti razpoložljivih sistemov, ter izobraženost kadrov, ki z njimi delajo oz. uporabnikom nudijo pomoč, pa tovrstne raziskave ne merijo.

V Sloveniji izstopajo predvsem solidno informatizirani spletni portali E-Uprava, E-Vem, AJPES, ter spletne aplikacije GURS. Vsem naštetim portalom je skupno, da lahko uporabnik do njih dostopa preko spleta, pri tem pa je prisiljen uporabljati spletne uporabniške vmesnike (HTML strani, deloma še Java apleti) da lahko dostopa do informacij, ki jih te aplikacije ponujajo.

Ko država nudi elektronske storitve v obliki spletnih aplikacij in pri tem nudi le grafične uporabniške vmesnike (GUI), si s tem naredi medvedjo uslugo, predvsem pa naleti na sledeče ključne probleme, ki so v stroki sicer splošno znane zakonitosti:

  1. Grafični uporabniški vmesnik je prilagojen le končnemu naboru tehničnih odjemalcev (tu: brskalnikov). Širok nabor podprtih tehničnih vmesnikov močno poveča strošek razvoja GUI, a še vedno je del potencialnih uporabnikov diskriminiran.
  2. Učinkovitost sistema je odvisna od dragega vzdrževanja. Tako GUI kot podatkovna baza takšnega sistema zastarajo že v nekaj mesecih. GUI zastara zato, ker se brskalniki hitro razvijajo, vsebina pa zato, ker je pristojne službe ne osvežujejo redno.
  3. Nabor storitev je končen. Dostop do podatkov in storitev je mogoč le v obsegu kot je bil upoštevan ob načrtovanju rešitve. Uporabnik ki ima – povsem legitimno – »posebne želje«, ne more uporabljati prednosti državnih portalov. Morebitna sprememba zakonodaje pa celoten sistem razvojno postavi zopet na točko nič.

Slabe primere, ki dokazujejo naštete argumente srečamo na vsakem koraku če se sprehajamo skozi ponudbo državnih »e-vsebin« - podatki so zastareli, linki nedelujoči, vtičniki (plug-ins) za elektronsko podpisovanje pa ne delujejo več v najnovejših brskalnikih. Da bi empirično ocenili stanje e-države smo leta 2010 sistematično analizirali odzivnost in tehnično kompetenco Republike Slovenije pri pridobivanju informacij javnega značaja, ki še niso dosegljive na spletu (podrobneje opisano v Paulin, 2010).

Pri tej študiji smo kot prvo skušali pridobiti elektronske naslove vseh zavezancev po ZDIJZ (Zakon o dostopu do informacij javnega značaja). To informacijo bi moral hraniti Centralni katalog informacij javnega značaja (CKIJZ), za katerega je odgovorno Ministrstvo za javno upravo. Junija 2010 je CKIJZ hranil zgolj 863 navedb pravnih oseb, od tega 165 od takrat 210 občin. Pravne osebe imajo možnost, da svoj katalog IJZ gostijo znotraj CKIJZ (122 jih je to izkoristilo) ali pa da katalog hranijo pri sebi, v CKIJZ pa navedejo povezavo – 152 takšnih povezav je bilo mrtvih, 190 zapisov ni vsebovalo elektronskega naslova, 15 navedenih elektronskih naslovov pa ni več obstajalo.

Na vse dostopne elektronske naslove smo poslali zahtevo po informacijah o javnih uslužbencih. Zanimivo – kmalu po razposlanih zahtevah je 23 prej razpoložljivih katalogov poniknilo, med njimi tudi katalogi štirih ministrstev. Podobno kot CKIJZ, je tudi portal E-Uprava vsebinsko danes predvsem propadajoča razvalina polna zastarelih informacij in nedelujočih povezav.

Zahtevali smo informacije o imenih in prejemkih javnih uslužbencev in funkcionarjev naslovljenih organizacij. To so podatki, ki jih posamezne organizacije hranijo znotraj svojih elektronskih podatkovnih baz v strukturirani obliki in verjetnost je visoka, da s podatkovnimi bazami upravljajo preko sistemov (SUPB), ki razumejo povpraševalni jezik SQL. Večji del podatkov o slovenskih javnih uslužbencih se nahaja v centralni podatkovni bazi sistema MFERAC, katerega upravlja Ministrstvo za finance. MFERAC je strogo varovan sistem znotraj državnega omrežja HKOM, podatke pa shranjuje v podatkovni bazi proizvajalca Oracle.

Ministrstvo za finance je do sklopa zahtev, ki jih je bilo mogoče zadovoljiti s podatki iz podatkovne baze MFERAC pristopilo kvalitetno in organizirano. Pripravili so izpise iz podatkovne baze glede na organizacijo, te pa nato posredovali organizacijam na zahtevo. A kljub temu je iz absolutnega vidika celoten proces od poslane zahteve do vrnjenih podatkov potekal zamudno, na način, kot razvidno iz slike 1.

Slika 1: Med elektronsko postavljeno zahtevo in elektronsko poslanim odgovorom se zgubi mnogo časa.

Opisani pasijon zahtevanih podatkov od izvora (elektronska podatkovna baza) do ponora (informacijski sistem vlagatelja zahteve) bi lahko preprečili na način, da bi država omogočila kontroliran, a kljub temu neoviran dostop do same podatkovne baze. Postavljeno zahtevo je tehnično pismeni uslužbenec moral sprva interpretirati in pretvoriti v ustrezno SQL poizvedbo, katero je s pomočjo tehničnih vmesnikov posredoval SUPB. Enako poizvedbo pa bi lahko sestavil že vlagatelj sam in jo avtomatizirano posredoval sistemu, znotraj katerega se nahaja podatkovna baza z zahtevanimi podatki. Na ta način bi vlagatelj dobil podatke v trenutku in država si bi prihranila na stotine ur dela, ki so bile potrebn za realizacijo naše zahteve.

Informatizacija pravic

Vladanje v dobi informacijsko pismene družbe je vladanje po modelih, ki so jih uveljavili internetni in spletni gigantje, kot sta Google in Facebook. Ključ do uspeha obeh je odprtost platforme in storitev do tistih, ki jih uporabljajo. Ravno to pa je tudi ključna razlika med uspešnimi modernimi koncerni in zastarelo birokracijo, saj sta tako Google kot Facebook primerka dinamičnega poslovanja, ki nudi kvalitetne storitve (od varnega upravljanja komunikacije in identitete do logističnih storitev), medtem ko zahodne države ne obvladujejo niti lastnih komunikacijskih tokov, kot je paradigmatično dokazalo zadnje veliko razkritje iniciative Wikileaks.

Na opisano problematiko je opozoril že Tim O'Reilly, ki je na nujnost odprtega in participativnega vladanja opozoril s pojmom »government as a platform«, torej »vlada kot tehnična platforma«. Vlada kot platforma je ideja, ki vnaša koncept tehničnih/programatskih vmesnikov (ang.: application programming interface, API) v politični in vladni kontekst, kar javnosti in gospodarstvu omogoča razvoj in uporabo lastnih višjenivojskih uporabniških vmesnikov. Programatski dostop do vladnih storitev pa ne ustvarja le dodane vrednosti iz vidika razvoja storitev, temveč hkrati močno razbremeni državo, kateri ni več potrebno skrbeti za ažurnost in dostopnost grafičnih uporabniških vmesnikov preko spleta ali terminalov, saj to dejavnost prevzame prosti trg in tržno gospodarstvo.

Vlada kot platforma ni koncept, ki bi zasledoval cilj neštetih državnih spletnih aplikacij namenjenih imitiranju obstoječih rešitev, temveč koncept, ki predpostavlja redefinicijo vladanja s fokusom na možnostih, ki jih nudi elektronska dimenzija. Pri tem je pomembno, da si odmislimo obstoječo državno ureditev, saj je obstoječ državni sistem odraz družbe, ki elektronske dimenzije še ni poznala.

Civilizirana družba je sistem, ki temelji na oblastnih razmerjih med posamezniki, katere regulira formalni sisem pravnih pravil, sprejetih v sklopu »družbene pogodbe« med člani sistema in njihovo oblastjo. Ta »družbena pogodba« (gl. tudi dela Hobbes, Locke, Rousseau) je bodisi implicitni (lahko tudi vsiljeni), bodisi eksplicitni dogovor med člani neke skupnosti in oblastjo, v kateri oblast v zameno za oblastni monopol in kontrolo nad resursi (tipično so to olje, naravna bogastva ali pa le davki če drugega ni) zagotovi red in mir v obliki represivnega sistema.

Dejavnost »vladanja« oblast izvršuje tako, da svojim subjektom podeljuje pravice, za pravice pa jamči skozi represivni aparat. Pravica je osnovni gradnik civilizirane družbe in vezni člen med subjekti oblasti. Pravice pa ne smemo zamenjati s pojmom svobode. Temeljna razlika med svobodo in pravico je ta, da je pravica umetni konstrukt, ki vpliva na svobodo. Brez umetnih omejitev je svoboda lahko hipotetično neskončna, pravica pa nujno pogojuje oblast, ki se zaveže k branitvi pravice.

Razmerje med pravico in svobodami ilustrira slika 2 – pravico ustvari oblast preko oblastnega mandatarja (npr. uradnik, sodnik, skupščina, komisija, itd.), kateri pravico formalizira v obliki informacije (npr. sodna ali upravna odločba). Tako formalizirana pravica se nato shrani v podatkovni bazi (elektronska podatkovna baza, zbirka odločb, dosje, ...) in tako postane veljavna.

Slika 2: Pravica je temeljni gradnik civilizirane družbe, ki lahko obstaja le, če je izražena.

Klasična in zgodovinsko razmeroma stabilna pravica v našem pravnem redu je lastninska pravica na nepremičninah. Lastnina na nepremičnini je pravica v najširši meri razpolagati z geografsko določeno površino zemeljske površine vključno s superficies (npr. hiša, jablana, ...). Lastnik nepremičnine je tisti, katerega lastništvo je razvidno iz zemljiške knjige in če nekdo z lastnikom sklene pravni posel o prenosu lastnine, potem je lastnina prenešena šele takrat, ko se to novo dejstvo na podlagi odločbe pristojnega sodišča vknjiži v zemljiško knjigo. Lastninsko pravico bo branila oblast tako dolgo kot obstaja in po pravilih, ki si jih je zastavila. Ko je po drugi svetovni vojni oblast v Jugoslaviji prevzelo socialno omrežje z novo ideologijo, pa je določenim skupinam prebivalstva odvzelo lastninsko pravico bodisi v skladu z na novo sprejetimi pravili, bodisi tako, da nova oblast starih pravic faktično ni branila.

Razmerja v štirikotniku »oblast-pravica-informacija-subjekt« so elementarna razmerja. Informacijo, ki manifestira pravico je možno preprosto zapisati v elektronski obliki in posledično informatizirati. Informatizirane pravice dejansko že danes srečujemo na vsakem koraku – banke si preko omrežja SWIFT neprestano izmenjujejo pravice (le da jih imenujejo »dolg« ali »terjatev«), ko se pogovarjamo preko telefona se poslužuejmo pravice dostopa do omrežja, celo ko brskamo po spletu, koristimo bralne pravice do resurs, itd. Oblast v naštetih »komercialnih« primerih je ponudnik storitve (banka, operater omrežja, administrator strežnika), ki nam storitev da na razpolago pod določenimi pogoji, našo pravico pa ščiti tako dolgo kot ima zato interes.

Secure SQL Server

SecSS je nov tehnični vmesnik, ki deluje na aplikacijski ravni po RFC 1122, preko njega pa lahko javnost, ter kvalificirani uporabniki transaktivno dostopajo do (oz. manipulirajo z) informacij, ki so shranjene v relacijskih podatkovnih bazah, pri čemer se zahtevki zastavljajo v poizvedovalnem jeziku SQL.

Model SecSS se opira na v prejšnjih poglavjih opisane ugotovitve ter na popularne strokovne standarde, ki so na svojem področju normativni. Model se poslužuje standardov ISO/IEC 9075 (SQL), www.w3.org/XML/ (XML), ter ETSI TS 101 903 (XAdES). Podatki se hranijo v relacijski podatkovni bazi, do slednje pa strežnik SecSS dostopa preko SUPB, ki implementira SQL standard. SUPB mora biti edina točka dostopa do podatkovne baze, komunikacijski kanal med SUPB in strežnikom SecSS pa mora biti ustrezno strogo varovan.

Slika 3: SecSS obstoječe birokratske procedure zamenja za transakcijski sistem, v katerem jasna elektronska pravila (elektronski pravni akti – EPA) in transparenten model upoštevanja teh pravil omogočajo sledljiv ter nezanikljiv bralni in pisalni dostop do vladnih podatkovnih baz.

Strežnik SecSS preko spletnega programatskega vmesnika (API) sprejema elektronsko podpisane poizvedbe SQL. Vsaka poizvedba je v pravnem smislu vloga oz. zahteva – lahko je to zahteva za dostop do informacij javnega značaja, lahko zahteva za spremembo naslova bivališča ali sedeža, registracija spremembe zastopnika pravne osebe, prošnja za dodelitev socialne pomoči, vloga za dodelitev mesta v vrtcu, vknjižba lastninske pravice, itd., itd. Iz tega razloga je krucialno, da je zahtevek nezanikljivo povezan z identiteto vlagatelja, kar zagotavljata varen elektronski podpis SQL poizvedbe (bodisi XAdES ali CAdES) ter ustrezna X.509 infrastruktura.

Ko SecSS prejme elektronsko vlogo, najprej preveri veljavnost elektronskega podpisa in veljavnost digitalnega certifikata vlagatelja. Zahtevano SQL poizvedbo strežnik validira in iz nje razbere katere podatke vlagatelj zahteva. Za vsako polje, do katerega vlagatelj zahteva dostop (select, update, insert ali delete), se preverijo pravice in aplicirajo morebitni filtri. Podatke o pravicah in filtrih dostopa do posameznega podatka SecSS prebere iz elektronskega pravnega akta, ki določa pravila dostopa. Pravila dostopa morajo biti eksplicitna da lahko učinkujejo. Če pravica dostopa vlagatelju ni eksplicitno zagotovljena, potem vlagatelj te pravice nima.

Učinkovitost kontrole dostopa do podatkov SecSS doseže preko podpoizvedb (subqueries). Sestava podpoizvedbe je naloga mandatarja, ki določi pravila dostopa. Vlagateljeva poizvedba se posledično ne izvede nad celotno množico podatkov, temveč nad množico, ki ostane, potem ko se aplicirajo vsi filtri. Na ta način SecSS onemogoča tudi da bi vlagatelj sistemu poslal »SQL injection« preko katere bi skušal priti do podatkov za katere ni legitimiran.

Pravila dostopa do podatkov in specifične filtre definira oblastni mandatar (npr. uradnik, komisija) v XML infosetu, ki je javno dosegljiv na predvidenem URI znotraj domene SecSS strežnika. Ta infoset predstavlja elektronski pravni akt (EPA) v katerem odgovorna oseba določi pravice dostopa in manipulacije podatkov določene sheme podatkovne baze. EPA mora biti varno elektronsko podpisan in javen. Javnost EPA je bistvena za pravno vzdržnost definiranih omejitv v pravni državi in sledi načelu, da morajo biti pravila javno oznanjena, predno lahko učinkujejo proti subjektom. Ker je EPA javno dostopen, lahko vsakdo, ki smatra, da je EPA v neskladju z obstoječim pravnim redom (npr. da onemogoča bralni dostop do podatkov ki bi sicer morali biti javni) oblastnega mandatarja pozove k odgovornosti.

Primer delovanja SecSS: peskovnik

Prototip sistema SecSS vključno z grafičnim uporabniškim vmesnikom za intuitivno interakcijo smo uspešno postavili na naslovu http://sex.apaulin.com. Prototip omogoča dostop do testne sheme »playground«, ki simulira otroško igrišče. Akterji na igrišču so otroci, ki se lahko igrajo v peskovniku z igračami. Za vsakega otroka v tabeli »children« hranimo podatke: EMŠO (ninu), ime (name), priimek (surname) in datum rojstva (birthday). Igrače hanimo v tabeli »toychest« ter za vsako podatek: identifikator (item), naziv (name), slika (image) in podatek o primerni starosti (suitable4age). V tretji tabeli – peskovniku (sandbox) hranimo EMŠO (ninu) otroka, identifikator (item) igrače, ter koordinate kje se otrok nahaja (posx in posy).

Za igrišče veljajo sledeča pravila:

  1. Javnost lahko bere vse podatke, z izjemo rojstnih dni otrok, katere zaradi varstva otrok ščitimo
  2. Otrok se lahko igra le z igračo, za katero je dovolj star
  3. Igrača, s katero se otrok igra, se ne more dati drugemu otroku
  4. Javnost lahko doda novo igračo v toychest in vsakdo lahko doda novega otroka na igrišče

Zahteve, ki jih mora igrišče izpolnjevati so kompleksne in ni jih mogoče obvladovati s pravili, ki se bi nanašala zgolj na posamezne otroke ali posamezne igrače. Pravila torej morajo biti generična tako da obsegajo vse zahtevane scenarije.

Zadnja zahteva se realizira tako, da se za vsako polje tabel toychest in children nastavi javno pisalno (insert) pravico. Tudi prva zahteva je preprosta, saj se za vsako polje z izjemo children.birthday določi pravico branja (select). Zahtevi dva in tri pa pogojujeta definicijo filtrov v obliki podpoizvedb. Podpoizvedba za zahtevo št. 2 kot je definirana v EPA izgleda sledeče:

SELECT t.item FROM playground.toychest t
WHERE t.suitable4age < (
SELECT YEAR(FROM_DAYS(DATEDIFF(NOW(), DATE(c.birthday))))
FROM playground.children c WHERE c.ninu = @ninu)

Pri tej podpoizvedbi smo se poslužili spremenljivke @ninu, za katero EPA določa, da njeno vrednost črpa iz vrednosti, ki jo poda vlagatelj za polje ninu (torej EMŠO otroka) ko želi izvesti »update« ali »insert« poizvedbo nad tem poljem.

Vzemimo za primer, da vlagatelj želi v peskovnik (sandbox) postaviti novega otroka (EMŠO 007, letnik 2000) z igračo (št. 15 – žoga, primerna za otroke od 0 let naprej). Da bi to dosegel, bo postavil sledečo zahtevo:

INSERT INTO playground.sandbox (ninu, item) VALUES (007, 15);

SecSS bo originalno zahtevo v skladu z EPA spremenil in v SUPB poslal sledečo zahtevo:

SET @ninu = 007;
SET @item = 15;

INSERT INTO playground.sandbox (ninu, item)
SELECT @ninu, @item
FROM DUAL
WHERE @item IN (
SELECT t.item
FROM playground.toychest t
WHERE t.suitable4age < (
SELECT Year(From_days(Datediff(Now(), Date(c.birthday))))
FROM playground.children c WHERE c.ninu = @ninu));

Kot lahko vidimo na tem primeru, je SecSS rešitev, ki omogoča urejanje bralno-pisalnega dostopa do informacij kljub morebitno kompleksnim pravilom za dostop do posameznih podatkov.

Zaključek

Iz konceptualnega vidika lahko SecSS reši mnogo problemov, s katerimi se državna uprava danes sooča na področju informatizacije poslovanja in delovanja. Državni podatki, do katerih danes dostopamo mučno in zamudno za vse udeležene bi bili tako dostopni na standardiziran in odprt način. Državni API, ki bi bil preko SecSS na voljo, bi lahko mladi razvijalci koristili za razvoj novih poslovnih rešitev (in s tem novih delovnih mest), ki bi za državljane avtomatizirale birokratske procedure, ne da bi pri tem trpel obstoječ pravni in upravni red. Državna uprava ne bi potrebovala več hord birokratov, ki danes manualno opravljajo delo kakršno je v bančništvu in občem trgu že zdavnaj avtomatizirano, takšno razbremenitev proračuna pa bi lahko koristili za rešitev problematičnih socialnih in pokojninskih skladov, ter za investicije v informacijsko pismenost prihajajočih generacij.

SecSS ima trajnostni potencial saj ni odvisen od (trenutne) strukture podatkovne baze – če se struktura iz kakršnihkoli razlogov spremeni, se pač spremeni elektronski pravni akt (EPA), ki določa pravice dostopa do podatkov. Enako fleksibilno lahko SecSS reagira na bodoče spremembe v zakonodaji, sodne judikate ki spremenijo obstoječe modele upravljanja etc. Tako EPA kot SecSS sta dva povsem nevtralna in fleksibilna konstrukta, ki delujeta na podlagi stabilnih strokovnih standardov ki so lahko normativni tudi v pravnem kontekstu.

Kot vsaka stvar pa ima SecSS tudi svoje pomankljivosti. Tako je nesporno, da uvedba takšne rešitve v realni kontekst pogojuje visoko izobražene kadre, ki tekoče obvladajo uporabljene tehnologije. Ker SQL zavzema ključno vlogo pri SecSS, je neobhodno da oblastni mandatarji, ki definirajo pravila dostopa povsem nedvoumno razumejo kaj v tem jeziku definirajo, saj mora biti takšno pravilo neposredno izvršljivo tudi v pravnem kontekstu. Enako velja za sodno vejo oblasti in pravniški ceh – tudi ti kadri morajo postati informacijsko pismeni in to ne le v smislu da znajo vključiti računalnik in poslati elektronsko pošto. Obvladovanje računalniških jezikov bo v prihodnosti namreč enako pomembno kot je bilo v srednjem veku pomembno znati pisati in brati.

Viri in literatura

  1. CAPGEMINI &al.: Smarter, Faster, Better eGovernment – 8th eGovernment Benchmark Measurement. 2009
  2. THE ECONOMIST: E-Readiness rankings 2009
  3. PAULIN, Alois: Slovenia 404: on the e-readiness of modern public administration. V: M. Mertik (ur.), The proceedings of the 2nd International Conference on Information Society and Information Technologies – ISIT 2010. Novo mesto: Fakulteta za informacijske študije, 2010
  4. O'REILLY, Tim: Government As a Platform. 2010