eID, stat ako IdentityProvider a OAuth2

Uz dlhsie rozmyslam nad temou participacie obcanov vo verejnej sprave v roznych podobach. Mam rozne napady, napriklad davanie feedbacku k produktom verejnej spravy po vzore UserVoice, alebo Q/A portal po vzore StackOverflow a mnoho dalsieho. Nic z toho samozrejme nema pravne zavazny charakter, nepodpisuju sa pri tom ziadne zmluvy ani nejde o volby, ani to neumoznuje pristup k citlivym udajom.

Nebolo by mozne, na zaklade databazy obcanov, vytvorit IdentityProvidera, ktoreho by vlastnil a namazoval stat a ktory by fungoval na otvorenych standardoch ako napr OAuth2?

Cielom tohto IdentityProvidera by bolo jednoducho umoznit tretim instuciam authentifikovat obcana - cize ziskat nejake jeho IDcko a garantovat, ze za tym ideckom je skutocny obcan. Toto IDcko by sa mohlo, ale teoreticky nemuselo dat sparovat s konkretnym obcanom - kvoli ochrane osobnych udajov.

V praxi by to mohlo vyzerat ako klasicky Single-Sign-On princip. Obcan pride na nasu “UserVoice” stranku. Klikne na login, bude presmerovany na stranku identity providera (cize stat). Tam sa prihlasi napr pomocou eID a obcan bude presmerovany naspat na “UserVoice”. Organizacia, ktora prevadzkuje “UserVoice” bude mat garanciu, ze prihlaseny uzivatel je skutocny obcan a ze je jedinecny (nemoze si vytvorit viacero identit) a tym padom by vedela zabezpecit, ze to hlasovanie nebude zmanipulovane.

Iny priklad z praxe by mohol byt, ze na Slovensko.Digital by sa dalo prihlasit nielen pomocou google a facebooku, ale aj pomocou eID.

Z technickeho hladiska by to bola obrovska pomoc, kedze tretie strany, ktore by chceli vyuzivat tuto sluzbu by nemuseli o statnej sprave, alebo o eID nic nediet

Co si o tom myslite z odborneho, alebo pravneho pohladu?

9 Likes

Hehe, myslim, ze mame velmi podobne napady. Nechceme spojit sily na IDEAHACK1 ?

2 Likes

Z “odborného” pohľadu: áno, použiteľnosť eID aj mimo VS dlhodobo presadzujeme, viď. eID - objednávka na dorobenie

Z “právneho” pohľadu: nikde zatiaľ o tom nie je zmienka, ale MV hovorí že eID sa takto dá použiť, t.j. zákony to neblokujú. (Problém by bol ak by niekto chcel robiť “proxy” pre eID medzi MV a tretími stranami.)

Ešte zaujímavejšie by bolo takto otvoriť IAM ÚPVS, API na SSO existujú, právny stav neviem.

Ja v tom naopak problem nevidim, pokial ten clovek vie ake data sa budu posuvat dalej a na aky ucel.

Dokonca mame integracny manual, ja by som to skusil. Ocakavam vsak, ze sa tam posiela RC (minimalne ako URI cloveka) a uz vidim problem.

Plus teda cez OPEN API to teda mozeme potiahnut este dalej. Vid Umožniť prístup tretím stranám k elektronickým službám

Tuto navyse vznikaju zaujimave usecase pre rozne scopes. Napriklad jeden scope moze byt, ze pouzivatel je obcan SR a ma viac ako 18 rokov. Pritom tretia strana sa nedozvie co je to za cloveka, len binarnu odpoved ano/nie.

Do tohto by som zatial nesiel, lebo ked sa na to zacnce vztahovat zakon o ochrane osobnych udajov, pojde to cele dopecka. Zacnime minimom - authentifikacia. nic ine. ziadna autorizacia, ziadne dalsie udaje.

Co s tym ma spolocne OPEN API? Nemal si na mysli OpenID?

slovensko.sk funguje cez SAML2.

Staci poziadat o integraciu … :grinning:

1 Like

Tak v tom pripade by sme mohli spravit zoznam nejakych use case-ov, ktorym by rozumeli bezni ludia, hlavne manazeri v roznych instituciach.

Napriklad skola by chcela dat pristup rodicom svojich deti do elektronickej ziackej knizky. Administrator by do svojho systemu zadal len nieco ako:

//app.UseFacebookAuthentication(
//   appId: "",
//   appSecret: "");

app.UseSlovakGovAuthentication(
     clientId: "000-000.apps.gov.sk",
     clientSecret: _secretManager.Retrieve("Auth:SlovakGov:ClientSecret"));

Autorizaciu, teda to, ze ten prihlaseny clovek je naozaj rodicom nejakeho ich ziaka by som zatial nechal na skole.

Co by mohol urobit stat je, aby ktokolvek (alebo aspon pravnicke osoby) mohol poziadat o clientId. A samozrejme aby kedykolvek mohol zmenit clientSecret.

Co by sme mohli urobit my, je naprogramovat take jednoduche klientske SDK typu UseSlovakGovAuthentication pre rozne platformy, kedze OAuth2, resp SAML niesu bohvieake standardy a vacsinou to nefunguje tak, ze staci nakonfigurovat nejake univerzalne API.

Este jedna vec: mozno to nieje kazdemu uplne zrejme, ale toto sa da vyuzit aj tak, eID sa pouzije len na vytvorenie lokalneho uctu napriklad v tej skole. Clovek sa potom moze dalej prihlasovat lokalnym menom a heslom, nemusi zakazdym pouzivat eID.

1 Like

Naopak, toto je ta celkom standardizovana a lahka cast. To tazke je prvy krat vyslapat tu byrokraciu okolo a dat navod ako napriklad pravnicka osoba o toto poziada a kolko bude trvat to spravit. Preto som ja zastanca proxy, lebo tam to vieme spravit raz a potom to uz pojde rychlo.

Ano, dolezity je ten prvotny proof ze toto konto je tento realny obcan. Ak to konzumentovi staci raz, tak nie je problem.

Pre potreby IS športu, kde je potrebne autentifikovať sportovych odbornikov, sportovcov, funkcionarov a podobne by to bolo skvele, moct pouzit eID autentifikaciu osoby (alebo zakonneho zastupcu) … koniec papierom a OPEN moznosti priamej komunikacie …

Drzim palce priatelia …

1 Like

Ten is športu robí kto. Lebo veď informačné systémy verejnej správy by eid mali používať na autentifikaciu.

Niesom si isty, ako by to malo fungovat. eID login vam nepovie, ci je dana osoba funkcionar, sportovec a podobne…

Podpisovanie zmluv a dokumentov pomocou eID je nieco ine…

Len pripomeniem, že k eID od začiatku chceme tri “úrovne” služby:
.
0. detekcia prítomnosti karty - iba vložená/nie a event pri zmene stavu - áno, na toto netreba MV, dá sa to aj z driverov priamo čítať, avšak štandardizované API použiteľné pre web appku by bolo super (a je ľahké to do eID klienta dorobiť)
.

  1. jednoznačná identifikácia karty, offline - t.j. že karta má priradené nejaké unikátne bezvýznamové ID, ktoré ak je vložená v čítačke viem cez API prečítať, offline (bez spojenia cez internet s auth servermi), bez PIN, bez interakcie s používateľom (ale samozrejme notifikačné okienko “s kartou sa pracuje” nie je problém) - funkcia na čítanie ID karty v eID klientovi samozrejme je spravená, akurát dizajn SW karty je úmyselne spravený tak, aby ID bolo pri každom použití karty iné (semi náhodné), to by bolo treba vyriešiť a prirobiť do eID klienta API použiteľné pre web appku
    .
  2. plné použitie eID - t.j. po zavolaní služby pre klienta okienko s info, zadanie BOK - implementované to je, MV hovorí že ak je záujem dá sa k tomu integrovať, dokonca pôvodne eID klient mal okienko, kde bolo vidieť aké osobné údaje klientská aplikácia dostane (nepovinné sa dali označovať či budú poskytnuté)
1 Like

Stengl … pre Národné športové centrum … je to v plane pokial viem, ale … je to na dlhsiu debatu … prave nabieha novy zakon o sporte do praxe a kedze tieto veci nie su spravene, treneri a ini sportovi odbornici posielaju registracie a ine veci v exceli a podobne … o odhlasovani aktivnej cinnosti a prihlasovani radsej ani nehovorim … musia chodit na Kontaktne miesta, elektronicky to nejde :frowning: … a su tu dalsie vyuzitia ako sportove poukazy (poukazanie penazi rodicom sportovej organizacii), ktore treba zefektivnit …

1 Like

Ináč z minulý týždeň schváleného akčného plánu OGP skoro vyplýva, že eID klient má byť ďalej vyvíjaný ako OpenSource:

“Úloha č. 16:
Pre novovytvárané zásuvné moduly a doplnky webových prehliadačov a klientskych aplikácií umožniť zverejnenie ich zdrojového kódu a vývoj metódou otvoreného softvéru (open source).
Zodpovední: ministri, vedúci Úradu vlády SR, vedúci ostatných ústredných orgánov štátnej správy
Termín: priebežne, kontrolný termín k 31. decembru”

3 Likes

Je jedno kto ho robí (robil), podstatne je že MŠ nemalo prachy, tak rozdelilo jeho vývoj na niekoľko etáp.
V prvej a druhej sa spravili najdôležitejšie komponenty, čiže registre a jedna koncová služba, zápis športového odborníka do RFOŠ (čo je niečo ako živnostenský register) a ISŠ mal tohto športového odborníka zapísať do RPO.
V ďalšej etape mali byť spravené integrácie…

1 Like

Presne tak je úplne jedno kto ho robil len to treba dokončiť :slight_smile:
Nie je to chyba dodávateľa …

Caute,

ja nad tym uz dlho uvazujem ze presne toto treba urobit… (Oauht2 sluzbu pre eID)

Technologicky by to malo byt velmi jednoduche to urobit … zoznam certifikatov sa da nacitat z ca storu, a podpisanim nejakej hlasky sa verifikuje ci certifikat je platny…

Hlavny problem je v tom, ako overit, ze ked clovek zmeni certifikat ze je to stale ta ista osoba… To ma jedine riesenie a to vyzadovat rodne cislo. Tym padom tato oauth sluzba musi byt riadne zabezpecena a musi splnat poziadavky zakona o ochrane osobnych udajov… Respektive toto sa musi splnat ak sa da jednoznacne urcit osoba, takze to sa musi asi tak ci onak uz min ked sa ulozi public key uzivatela…

Volakedy davno som urobil aplikaciu fastzep, ktora umoznovala robit zep podpisy este ked sa o eid ani neuvazovalo… Zdrojaky su na gite, ale je to iba pre windows, co pre tuto cinnost to moze riadne obmedzit. (nerobil som to vtedy pre siroke pouzitie, ale iba tych co maju win)

Hlavna otazka je, ci sa da pouzit na tento ucel eid, alebo ci vytvorit novu aplikaciu ktora bude pristupovat k certifikatom cez citacku kariet.

Dalej som rozmyslal aj ze kto by to mal robit, a zvazujem nad tym, ze by sme mohli vyuzit Komoditnu burzu (som CTO) ako organizaciu co to pravne zastresi a bude doveryhodna pre uzivatelov ze ich rodne cisla a public keys nezverejni…