» »

online davčne blagajne - plagiat hrvaških?

online davčne blagajne - plagiat hrvaških?

fiction ::

http://www.porezna-uprava.hr/HR_Fiskali...
http://datoteke.durs.gov.si/dpr/files/T...

Zakaj se mi dozdeva, da je slovenska verzija online davčnih blagajn "plagiat" hrvaških? Vse kar smo spremenili je SHA1 v SHA256 ter imena. Aja pa pri nas imamo še podporo za JSON in vezano knjigo računov, kar je v bistvu tudi bolj ko ne copy&paste.

Malo bedno je, ko pogledaš example Java in C# kodo na koncu obeh dokumentov. Sej se strinjam, da to napisat ni ne vem kaj. Ampak naša koda je dejansko direktno skopirano iz hrvaške verzije, ki ima na vrhu jasno označen copyright. Še komentarji so dobesedno prevedeni in vsi primeri enaki. Heh, celo maintanance time so očitno skopirali iz unega dokumenta, razen če je to kak standard za javno upravo :)

solatko ::

fiction - Morda se je ministrstvo za finance dogovorilo s hrvaškimi kolegi, da lahko za primerno odškodnino, uporabijo njihov program, namesto, da odkrivajo toplo vodo.
Potrebno je samo ugotoviti, koliko je koštala implementacija na naše področje in gdo je pobral večino tega denarja.
Delo krepa človeka

vofra ::

Nic narobe, ce so se zmenili, saj hrvaski model izgleda deluje,
samo ne vem, zakaj so zakomplicirali s QR kodo na racunu.

Ima kdo izkusnje s QR kodo, kako jo najenostavnje spravit na papir?

Tavher ::

Ne samo da smo uporabili njihov sistem, na začetku bo zadeva tekla celo preko njihovih serverjev.

fiction ::

vofra je izjavil:

Nic narobe, ce so se zmenili, saj hrvaski model izgleda deluje,
samo ne vem, zakaj so zakomplicirali s QR kodo na racunu.

Ima kdo izkusnje s QR kodo, kako jo najenostavnje spravit na papir?

https://github.com/kenglxn/QRGen izgleda kar v redu. Je pa jasno problem, če imaš recimo še iglični tiskalnik za račune. QR koda je dobra ideja, samo vseeno ne razumem zakaj ni to opcijsko.

fiction ::

Tavher je izjavil:

Ne samo da smo uporabili njihov sistem, na začetku bo zadeva tekla celo preko njihovih serverjev.

Reference prosim?

Pol bo APIS IT d.o.o. dobil posel brez javnega razpisa? Mislim sej nočem reči, da je s hrvaškim modelom kaj narobe, razen tega da so malo (pomoje za brezveze) zakomplicirali z ZOI (in uporaba MD5?!). Ampak pomoje bi moralo to potekati tako, da bi mi najprej sestavili en normalen set requirementov in potem bi podjetja tekmovala med sabo. Če pa začneš z "hočemo da bo tako kot na hrvaškem" potem je pa jasno, da je tisti izvajalec takoj v priviligiranem položaju, ker že ima delujoč sistem.

Tilen ::

Odlično. Tako strogo, kot imajo sedaj oni, si lahko samo želimo. Račun se sedaj dobi na lokalnih mini vlakcih, za ležalnik, senčnik, vsako kepico sladoleda v najbolj zakotnem kraju.
413120536c6f76656e696a612c20642e642e

fiction ::

Aja, da še omenim, kaj me moti pri "zaščitni oznaki izdajatelja"

Zaščitna oznaka izdajatelja računa (ZOI) je alfa numeričen zapis, ki ga mora izračunati izdajatelj računa. Prav tako ga mora izpisati na računu in sporočiti na finančno upravo v sporočilu računa.
Namen oznake je generiranje enolične oznake, ki pa jo lahko ponovno generira samo izdajatelj računa. Uporablja se tudi za preverjanje pristnosti računa preko spletnega servisa. V tem primeru se uporabi kombinacija ZOI in davčna številka izdajatelja računa.

Elektronski podpis je kriptografski hash nad vsebino in to je potem podpisano s tvojim zasebnim ključem. Preverjanje poteka tako, da nekdo vzame dokument, izračuna hash, potem pa to primerja z verzijo, ki jo je dobil tako da je s tvojim javnim ključem dešifriral "podpis".

Torej, če želijo preveriti avtentičnost računa, bi moral ZOI dejansko biti elektronski podpis. Hash funkcija je enosmerna, tako da takoj ko narediš še MD5 nad tem vse skupaj izgubi smisel. Razen če ima davčna tudi tvoj zasebni ključ? Kar potem spet postavlja vprašanje zakaj ne bi uporabljal kar simetrične enkripcije in nekega PSK med tabo in FURS, kar bi bilo vsekakor hitreje.

Pa tudi sicer, zakaj zaboga MD5? Algoritem ima precej problemov glede collisionov. Še SHA1 je deprecated pri X.509 certifikatih.

BTW: kako poteka stornacija računa? Tega pa ne moreš preko web servisa, ampak moraš osebno na FURS ali kako? :)

Zgodovina sprememb…

  • spremenil: fiction ()

sandmat ::

fiction je izjavil:

Še komentarji so dobesedno prevedeni in vsi primeri enaki. Heh, celo maintanance time so očitno skopirali iz unega dokumenta, razen če je to kak standard za javno upravo :)


no, ampak našim vsaj kazalo deluje v PDFju ;) zgleda, da je nekdo stvar pretipkal in malo popravil malomarno pripravljene elektronske dokumente hehe

Miha 333 ::

MD5 zato, da lahko vsak na enostaven način (brez da razpolaga s kakršnimi koli ključi) preveri, če podatki računa (kot so znesek, datum) niso bili naknadno spremenjeni. Za ta namen je kar primerna funkcija, saj je rezultat dokaj kratek hash, ki je lahko natisnjen tudi na fizično manjših računih. Kakor hitro spremeniš eno cifro pri datumu ali znesku, je hash popolnoma drug. Sicer je res, da ima funkcija problem s collision-i (kot vse zgoščevalne funkcije, pri katerih je rezultirajoči hash krajši od potencialne velikosti vhodnega podatka), vendar se tu s temi problemi ne bomo srečali.

boris70 ::

To ne drži. Po dokumentaciji, moraš:

MD5hash(elektronsko podpisano s privatnim ključem ( taxnumber + IssueDateTime + InvoiceNumber + BusinessPremiseID + ElectronicDeviceID +InvoiceAmount ))


MD5 čez je totalna neumnost. In kot je fiction že rekel, pomeni morajo za preverjanje ZOI vrednosti na FURSU hraniti tvoj private key, kar je pa še večja neumnost.
Boriss

Miha 333 ::

Aha, no če je pa tako, je edini namen MD5 kratek hash (da ga lahko natisneš na račun) namesto dolgega niza, ki ga dobiš s podpisom.

Evolve ::

Tilen je izjavil:

Odlično. Tako strogo, kot imajo sedaj oni, si lahko samo želimo. Račun se sedaj dobi na lokalnih mini vlakcih, za ležalnik, senčnik, vsako kepico sladoleda v najbolj zakotnem kraju.


hja po večini, še vedno povsod dobiš samo na roke napisan račun :D

Tilen ::

Sam nimam takšnih izkušenj. Vsaj na otokih je sedaj zelo strogo.
413120536c6f76656e696a612c20642e642e

Smrekar1 ::

fiction je izjavil:


Zakaj se mi dozdeva, da je slovenska verzija online davčnih blagajn "plagiat" hrvaških? Vse kar smo spremenili je SHA1 v SHA256 ter imena. Aja pa pri nas imamo še podporo za JSON in vezano knjigo računov, kar je v bistvu tudi bolj ko ne copy&paste.


Isto stvar delamo, kot jo oni že imajo. Kakšne razlike si pa v bistvu pričakoval? Pogrevanje tople vode pač ni neka težka znanost. Poleg tega se nam splača imeti iste rešitve kot oni, ker lahko na razpis za tehnične izvajalce obe državi pristopita skupaj in si izborita boljše cene.

fiction ::

Smrekar1 je izjavil:

Isto stvar delamo, kot jo oni že imajo. Kakšne razlike si pa v bistvu pričakoval? Pogrevanje tople vode pač ni neka težka znanost. Poleg tega se nam splača imeti iste rešitve kot oni, ker lahko na razpis za tehnične izvajalce obe državi pristopita skupaj in si izborita boljše cene.
Problem je v tem, da je zadeva v 90 % enaka, ni pa identična. Sicer bi lahko samo sistem postavili na nov hardware in sporočili drug URL. Dobro pa še PKI bi bil drug. Kaj takega bi morda res pocenilo vse skupaj. Tukaj pa dvomim, da bo kako pomagalo, kvečjemu zna tole povečati "technical debt" pri implementacijah (copy&paste se ponavadi samo še širi).

Ne rečem, da moramo izumljati toplo vodo, ampak dejmo skopirat bistvo. Web servis, ki mu sporočiš podatke z računa, nazaj pa dobiš potrditveno kodo (in ta mora biti prisotna kot dokaz na natiskanem računu). Ne razumem, zakaj so Hrvati šli izumljat lastne crypto rešitve (sliši se zabavno, samo ponavadi se s tem ustreliš v koleno). Še huje je pa, da smo mi to vzeli kot sveto in po možnosti celo vključili v kak razpis. FURS bi moral pomoje pri izbiri povedati KAJ, ne pa KAKO.

Ko smo ravno pri tem, pričakoval sem, da ne bomo kradli tujega avtorskega dela. Ne rečem, možno, da je zadaj isti avtor oz. da je šlo le za "malomarno citiranje" ;)

St235 ::

Ko smo ravno pri tem, pričakoval sem, da ne bomo kradli tujega avtorskega dela. Ne rečem, možno, da je zadaj isti avtor oz. da je šlo le za "malomarno citiranje"

Zakaj pa ne bi moglo it za povesem legitimen poslovni dogovor? Zaenkrat še nisem zasledil, da bi pri legalni uporabi tuje kode moral "citirat" avtorja pri vsaki vrstici.

Miha 333 ::

Ko že omenjate razpis; za davčne blagajne ga ni in ga ne bo.

Na Fursu pojasnjujejo, da je njihova strateška usmeritev integralni informacijski sistem. Zato »je treba nove rešitve implementirati v okviru obstoječega integralnega sistema in z izvajalcem, ki ima trenutno pogodbo za nadgradnjo in vzdrževanje«. Kot še pravijo, je v zdajšnjih pogodbah »določen del sredstev« namenjen tudi za uvajanje zakonodajnih sprememb, ena takih je tudi zakon o davčnem potrjevanju računov. Trdijo še, da druga rešitev, z novim javnim naročilom za davčne blagajne, »v resnici sploh ni možna, saj bi šlo v takem primeru za podvajanje istega predmeta naročanja z dvema pogodbama, to pa je v nasprotju s predpisi o javnem naročanju«.

Toda naš vir ponavlja, da niti v pogodbi s Comtradom, niti v pogodbi s Sapphirjem, niti v razpisni dokumentaciji za njune zdajšnje posle na Fursu davčne blagajne in razvoj IT-podpore zanje niso omenjene, da ne gre za majhne nadgradnje ter da je zgornje samo izgovor Fursa, ki poskuša nekako pojasniti, da je posel netransparentno oddal tistim IT-podjetjem, s katerimi že sicer največ dela.

Vir

fiction ::

Uf, za vse skupaj ni bilo razpisa. Zanimivo.

St235 je izjavil:

Ko smo ravno pri tem, pričakoval sem, da ne bomo kradli tujega avtorskega dela. Ne rečem, možno, da je zadaj isti avtor oz. da je šlo le za "malomarno citiranje"

Zakaj pa ne bi moglo it za povesem legitimen poslovni dogovor? Zaenkrat še nisem zasledil, da bi pri legalni uporabi tuje kode moral "citirat" avtorja pri vsaki vrstici.
Ja, lahko gre za poslovni dogovor. Vzamem nazaj preveč kritične besede.

Pri primerih nisem prepričan, ali ima copyright komentar na vrhu kak hud smisel. Čisto mogoče, da je avtor oz. tisti na kogar je prenesel pravice, ugotovil, da je to brezveze in je "novo verzijo" za slovenski trg izdal brez tega? V primeru, da avtorji softwara za hrvaške davčne blagajne skopirajo vse (čeprav bi bilo bolje tisto res vzeti samo kot primer), morajo najbrž vključiti tudi originalen copyright in ni težav. Ne smejo pa npr. prikazati kot da je to njihovo delo.

stb ::

Tudi mene je zmotil MD5 pri ZOI, vendar sem po temeljitem pregledu opazil, da collisiona ni tako trivialno sproducirati, ker se hashira rezultat podpisa in ne podatkov neposredno, tako da napadalec (oz potencialni davčni utajevalec) nima neposrednega vpliva na input hash funkcije, s katerim bi izzval collision.

ZOI je pač neka enolična številka v okviru nekega trgovca, se pravi v kombinaciji z davčno številko. Lahko bi uporabili tudi random, vendar je tam težje predpisati algoritem.

Kolikor sem razbral bo služil (vkombinaciji z DŠ) predvsem spletnemu preverjanju obstoja računa v FURSovem sistemu, kjer prepisovanje dolgih števil/hashov predstavlja znatno oviro, pa tudi QR kode so lažje berljive krajše.

fiction ::

stb je izjavil:

ZOI je pač neka enolična številka v okviru nekega trgovca, se pravi v kombinaciji z davčno številko. Lahko bi uporabili tudi random, vendar je tam težje predpisati algoritem.
Dejansko če FURS nima tvojega zasebnega ključa, itak ne more ločiti "pravega" ZOI od niza naključnih bajtov. In v kolikor bo vse skupaj proper, tega tudi ne bi smel imeti (ti jim daš samo CSR, ki ga podpišejo).

Glede na to, da je (davčna, ZOI) neke vrste unikaten ključ računa, si predstavljam "napad" tako, da na vsake toliko ponovno uporabiš star ZOI. Zahteva je samo, da lahko ob istih inputih zgeneriraš tak ZOI (kar z O(n) pomnilnika lahko).

Razlika med tem, da sploh ne pošlješ računa, je "plausible deniability". Približno tako kot če jaz rečem, da je moj random number generator desetkrat vrnil 42. Ni prav zelo verjetno, ampak ne moreš pa dokazati, da lažem. Seveda dokler se ne poglobiš v implementacijo.

Kakšen bi bil sploh pravi postopek v takem (roko na srce, zelo neverjetnem) primeru MD5 collisiona? Davčna blagajna bi morala reči, da tega računa nikakor ne more poslati na FURS in ti bi moral uporabiti vezano knjigo računov ter vse skupaj nest na FURS?

A ne bi bilo lažje, če bi bil ZOI enostavno UUID / GUID? Na račun bi dodali še elektronski podpis in bi FURS ali pa kdorkoli lahko preveril avtentičnost.

stb je izjavil:

Kolikor sem razbral bo služil (vkombinaciji z DŠ) predvsem spletnemu preverjanju obstoja računa v FURSovem sistemu, kjer prepisovanje dolgih števil/hashov predstavlja znatno oviro, pa tudi QR kode so lažje berljive krajše.
Potem je v bistvu dovolj dobra entropija v interesu uporabnikov, da ne more nekdo zenumerirat vseh izdanih računov. Zakaj pa ne bi pustil iskanja samo po EOR?

Matako ::

Meni še vedno ni čisto jasno, zakaj bi se z vsem tem ukvarjal pri plačilu s kartico. Še celo v časih "ribežna" je transakcija nujno bila _nekako_ zavedena, tako da ne-dajanje računa in ostala palamudenja (tipa "večerno storniranje") nikoli ni bilo niti popularno niti se ni dosti dogajalo. Problem je bil vedno in povsod keš.

Mislim, štekam kaj so prednosti... samo voham nek overkill v tem primeru.

Plus mislim, da ves posel fura hrvaška firma v danem trenutku in času... nekako ni najboljši PR. Nič narobe, samo pravim.
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()

Miha 333 ::

Matako je izjavil:

Meni še vedno ni čisto jasno, zakaj bi se z vsem tem ukvarjal pri plačilu s kartico. Še celo v časih "ribežna" je transakcija nujno bila _nekako_ zavedena, tako da ne-dajanje računa in ostala palamudenja (tipa "večerno storniranje") nikoli ni bilo niti popularno niti se ni dosti dogajalo. Problem je bil vedno in povsod keš.

Mislim, štekam kaj so prednosti... samo voham nek overkill v tem primeru.

Ker lahko na bencinski črpalki z gotovino anonimno kupiš predplačniški MasterCard in je to potem praktično enako kot plačilo z gotovino. Prodajalec pa lahko za procesorja kartic izbere tudi kakega tujega ponudnika (tudi npr. PayPal), do katerega transakcij FURS morda ne bi imel dostopa.

Matako ::

Miha 333 je izjavil:

Matako je izjavil:

Meni še vedno ni čisto jasno, zakaj bi se z vsem tem ukvarjal pri plačilu s kartico. Še celo v časih "ribežna" je transakcija nujno bila _nekako_ zavedena, tako da ne-dajanje računa in ostala palamudenja (tipa "večerno storniranje") nikoli ni bilo niti popularno niti se ni dosti dogajalo. Problem je bil vedno in povsod keš.

Mislim, štekam kaj so prednosti... samo voham nek overkill v tem primeru.

Ker lahko na bencinski črpalki z gotovino anonimno kupiš predplačniški MasterCard in je to potem praktično enako kot plačilo z gotovino. Prodajalec pa lahko za procesorja kartic izbere tudi kakega tujega ponudnika (tudi npr. PayPal), do katerega transakcij FURS morda ne bi imel dostopa.


Nisem prepričan, da je to razlog ali celo resen problem (niti ni bil recimo na Hrvaškem). Bolj mi sede razlaga nekega računovodje, da je pač "gotovina" definirana z _namenom_, ne tehnično. Davčne blagaje so, kot piše v objavi zakona, tako obvezne za vsa plačila "ki niso odložena" - kar je glavni finančni namen gotovine, zato jo imamo radi ;). Razen prodajnih avtomatov (ki mimogrede po obsegu poslovanja presegajo vse preplačniške mastercarde ipd... n-krat) in še par izjem.

To mi je nekako bolj logično.
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344294615 (34618) Macketina
»

FURS Preveri račun (strani: 1 2 3 414 15 16 17 )

Oddelek: Pomoč in nasveti
813149301 (33551) PINki
»

Davčne blagajne - PHP

Oddelek: Programiranje
115723 (769) vsepocenv
»

Davčna blagajna za društvo (strani: 1 2 )

Oddelek: Loža
6220536 (4900) Kosek1
»

Brezplačna odprto-kodna POS Blagajna - mikroBLAGAJNA (strani: 1 2 3 )

Oddelek: Programska oprema
10024779 (13299) japol

Več podobnih tem