SK.Digital vyvíja náhradu e-podpisovača od štátu

OK, inak. Toho času máme na Linuxoch problém s podpisovaním kvôli nepodporovanej Jave resp. OpenJDK 8 + IcedTea, pričom podporovaná je v11. No a otázka znie, či toto niečo rieši, alebo nie. Prebehol som diskusiu a nie je mi to celkom jasné, že čo to vlastne konkrétne robí. dík

Upresnenie otázky: či to úplne nahrádza aktuálny podpisovač (websigner), alebo to je len nejaký wrapper.

Java sa bali okresana (minimum nutne pre tuto aplikaciu) uz priamo s aplikaciou. Je teda nezavisla od systemovej Javy a nemal by byt problem s akymkolvek Linuxom/Windowsom/macOS. Vsetci co na tom pracujeme pouzivame primarne Linux - Ubuntu a Fedoru. Problem moze byt mozno akurat na nejakych starsich alebo zvlastnych distribuciach.

Je to komplet nezavisla desktop aplikacia, jedina prerekvizita je nainstalovane eID.

3 Likes

Tak to znie mega dobre, už sa teším, dík :slight_smile:

1 Like

Ahojte, drzim palce s podpisovacou aplikaciou. Ak by bol mozny niekedy beta test, dajte vediet.

Este otazka - bude podporovane aj multi-user prostredie? Napriklad ak by som nainstaloval aplikaciu na server a spustal pod viacerymi user-mi s tym, ze smart card bude redirectnuta napr. cez RDP?

Napriklad pod Windows Server sa smart karta redirectne bez problemov, aj EID klient aplikacia ide spustit, ale kedze otvara port na localhost-e tak ju nemozu spustit 2 pouzivatelia naraz.

Citam, ze EID klient bude stale pouzivany ale iba na pozadi, takze tento problem asi bude nadalej?

1 Like

Ahoj, aký problém sa snažíš riešiť? Toto mi trošku smrdí nejakým škaredým (a nebezpečným) hackom. Že ty chceš podpisovať niečo na diaľku?

1 Like

Ano, podpisovanie na dialku nie je ziadne “tabu”. Vsetci vyrobcovia smart kariet a KEP to podporuju (na serveri ti bezi podpisovacia aplikacia a ty sa pripajas cez “tenkeho klienta” ku ktoremu mas pripojenu citacku). Aj eID klient tak funguje, akurat ten beh cez lokalny port mu znemoznuje fungovat v multi-user prostredi.

Jednoduchy use case: Je ovela lacnejsie a menej starosti udrziavat podpisovu aplikaciu na serveri ako na 20+ klientskych PC. A presmerovanie smart kariet cez vzdialeny pristup uz funguje posledne desatrocie.

Hack by bol, ak by si chcel podpisovat na dialku bez toho, aby si mal cipovu kartu pri sebe (lokalne pripojenu).

Asi úplne nerozumiem tomuto scenáru. Na serveri máš podpisovaciu aplikáciu a tie karty pripájaš kam? Lebo tá aplikácia má nejaký driver, ktorý pracuje s usb/čítačkou a to chceš nejako tunelovať niekam?

Ešte skôr ako toto začneme rozpitvavat, pre aký scenár potrebuješ mať pripojených 20 rôznych eid/kariet? Nestačí ti trebárs pečatenie, ktoré vieš robiť komplet remote a nemusíš sa o nič veľmi na klientovi starať?

Jednoduchy scenar napr. doma. Mas nainstalovane pc s win10, kazdy clen rodiny ma na pc svojw user konto. kazdy clen domacnosti po skonceni prace si len lockne pracovnu plochu (cize procesy ostavaju spustene, aj eid klient). druhy clen rodiny sa prihlasi na dane pc, ale eid mu uz nejde spustiť, lebo eid bezi uz ako proces prveho uzivatela.

Tomuto rozumiem, ale to nie je server. Server je pre mňa niečo na čo sa pripojiť treba vzdialene.

Ale nie je to bezpečné a dôveryhodné.

Elektronický podpis (najmä ak je ekvivalent notársky overenému podpisu ) by mal byť vytváraný na bezpečnom HW/SW, ktorý máš ako podpisujúca osoba po osobnou kontrolou. Cudzí server nemáš pod svojou kontrolou, localhost máš ( s prižmúrením oboch očí).

Podpisujúca osoba musí vidieť čo podpisuje, takže podpisová aplikácia musí byť schopná zobraziť daný dokument ešte pred podpisom.

Technologický áno. Práve toto je však vec, ktorej sa bezpečáci snažia zabrániť. Ak by to zobrazovanie robil server ( nad ktorým nemáš kontrolu), tak Ti zobrazí dokument A, ale podpísať Ti nechá dokument B.

Z uvedených dôvodov je podpisujúca aplikácia úmyselne realizovaná ako standalone aplikácia bežiaca na localhost.

Toto však robí komplikácie vo WEB aplikáciách, pretože prehliadače povypínali (deravé) technológie komunikujúce s OS/HW ( napr. ActiveX, Java Applet ). Povolená zostala sieťová komunikácia z JavaScript. Niekomu napadlo využiť to pri podpisovaní.

Podpisová natívna aplikácia beží ako daemon a počúva požiadavky na dohodnutom porte localhost. WEB aplikácia vie cez aký localhost:port sa má spojiť s podpisujúcou aplikáciou.

Z vyššie uvedeného spôsobu komunikácie je jasné prečo uvedený problém vzniká. Podpisové aplikácie sa bijú o rovnaký localhost:port.

Pomohlo by spustiť iba jednu inštanciu podpisovej aplikácie pre všetkých používateľov. Takáto aplikácia by však mala problém rozhodnúť do ktorého display a ktorému používateľovi má zobraziť dokument pred podpisom.

1 Like

Pouzivatel ma notebook/PC, do ktoreho je pripojena citacka + na lokalnom OS ma nainstalovany driver na citacku. Do citacky vlozi svoj OP/smart kartu a cez RDP sa pripoji na server. Smart karta je redirectnuta cez RDP session na server. Na serveri bezia aktualne verzie podpisovacich aplikacii (D.Suite/eIDAS pripadne aj ine ako Disig Desktop Signer, Ditec Batch Signer, …) ktore “vidia” redirectnutu smart kartu a podpisuju nou dokumenty.

BTW, redirect smart kariet cez RDP oficialne podporuju vyrobcovia ako Siemens/Atos, Monet ProID, atd. A dokonca aj Microsoft (Win API automaticky spristupnuje aplikaciam smat card token bud lokalny alebo redirectnuty cez RDP).

Napriklad uctovnicka firma ma 20+ uctovnikov, ktori potrebuju podpisat a podat kontrolny vykaz DPH pre 200+ firiem, ktorym robia uctovnictvo. DPH vykazy sa podpisuju KEPom, cize uctovnici ho vedia podpisat napr. svojim OP. Ci na to maju mandat je kapitola sama o sebe (ano, vedia na to mat plnu moc evidovanu u FS).

Kedze kazdy ma svoj notebook a firma ma vlastny server, je ovela praktickejsie instalovat a aktualizovat vsetky podpisovacie aplikacie na serveri ako na 20+ notebookoch (kde staci iba driver na citacku a ten sa aktualizuje vynimocne). A ano, existuje auto-update aplikacii, ale jednak mas BFU a jednak obcas bolo treba novu aplikaciu revertnut na starsiu (bug a pod.).

Bezpecne HW = smart karta s privatnym klucom, ktoru mas pri sebe (“have”) a ktora je chranena BOK/PIN (“know”). Smart karta zaroven chrani, aby sa privatny kluc nikdy nedostal “mimo” smart kartu.
Bezpecne SW = ovladac smart karty + aplikacia od vyrobcu na spristupnenie kluca z karty. Podpisovacie aplikacie su dalsia vec.

Nikde tu nespominam cudzi server, ale firemny server. A v principe mas vacsiu bezpecnost na serveri spravovanom firemnym IT oddelenim ako na nejakom domacom notebooku, ktory zdiela cela domacnost.

Nerozumiem - podpisovacia aplikacia ukazuje podpisovany dokument rovnako ci si na serveri alebo lokalne. Ak myslis nejaku “podvodnu” podpisovaciu aplikaciu, tu mozes mat aj na notebooku/lokalne. Zaver je ten isty - sukromny notebook je menej bezpecny ako firemny server spravovany adminmi.

Riesenie cez localhost:port pouziva iba eID klient, ostatne (komercne) aplikacie ziadny localhost:port nepouzivaju a netrpia tymto problemom.

Presne tak - riesime tu “dizajnovy” problem aplikacie eID klient, ktora je postavena na tom, ze komunikuje s prehliadacom cez lokalny port a teda moze ju mat spusteny iba 1 user zaroven.

Aplikacie od inych vyrobcov smart kariet certifikovanych od NBU pre KEP (Siemens/Atos, cesky Monet ProID+, atd.) funguju bez problemov pre viacerych pouzivatelov (lebo sa nespoliehaju na nejaky lokalny port), problem je iba s eID klientom.

Pritom riesenie nie je az take komplikovane - stacilo by, ak by sa dalo niekde v nastaveniach eID klienta zmenit port individualne pre daneho user-a. Akurat treba este doriesit, aby o tom vedel aj prehliadac, resp. webova stranka, lebo ta podla mna ma fixny port (localhost:15480).

1 Like

V tom prípade nevidím žiadnu prekážku, my to vieme pustit na hocijakom porte.

To je dobra sprava. A pusta ta vasa aplikacia na pozadi eID klient alebo iba vola jeho kniznice?

Na podpisovanie netreba eid klienta len knižnicu/driver na pkcs.

1 Like

Super, tak potom vas podpisovac bude mat obrovsku vyhodu, hlavne pre firmy. Ak by bolo mozne sa zapojit do beta-testu, viem vam dat feedback od desiatky ludi.

Tie PKCS kniznice/drivre sa daju niekde stiahnut? Ci myslis tie includovane v eID klientovi?

EDIT: Nahradi vas podpisovac ten standardny na vsetkych strankach, ktore pouzivaju/vyzaduju D.Signer (napr. financnasprava.sk)?

1 Like

Pracujeme na tom, ale toto sa bez extension do prehliadača nedá.

Na slovensko.sk sa to da riesit bez browser plug-inu?

Pre sk.sk mame uz proof of concept extension. Na tom aby fungovala FS a ostatne weby pracujeme. Ak Vas zaujimaju nejake ine, pokojne napiste ake, mozeme to otestovat aj na nich.