Slobodný softvér k (starému) elektronickému OP

pyskeid (prihlasovanie a zobrazenie údajov v čipe) už funguje i s dokladmi na kartách s CardOS 5.0 vydávanými do roku 2021. Kto má chuť, nech vyskúša.

Ako je známe, podpisovať sa s takými dokladmi (viac) nedá, ale kto nepodpisuje, vymieňať nemusí.

O minulosť je postarané, otvorená zostáva kompatibilita s budúcnosťou (karty s bezkontaktným rozhraním).

1 Like

stale mi to hadza podobnu chybu na Linuxe ako na zaciatku. neviem, ci ten modul je starsia verzia alebo je nejaky iny problem.

python pyskeid_serve.py
Traceback (most recent call last):
File "Downloads/pyskeid/pyskeid_serve.py", line 21, in <module>
from pyskeid_common import SkEidCard, perform_eac
File "Downloads/pyskeid/pyskeid_common.py", line 22, in <module>
from smartcard.CardRequest import CardRequest
ModuleNotFoundError: No module named 'smartcard.CardRequest'

test:

$ python -c 'import smartcard'
$ python -c 'import smartcard.CardRequest'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'smartcard.CardRequest'

To mi nejde do hlavy. Nenainštaloval si (a neimportuješ) náhodou smartcard namiesto pyscard?

Dobry point!
Pri sucasnej instalacii pyscard aj smartcard sa ukazuju tieto chyby. Po odinstalacii smartcard a ponechani len pyscard, to uz bezi. Je tam asi nejaka kolizia medzi balikmi.

Edit: Hlasim uspesny test na Linuxe s kartou vydanou pred 2021. Data precitalo, podpis som neskusal este. Prihlasenie do slovensko.sk funguje tiez.

2 Likes

Otestoval som prerobenie kodu tak, aby sa BOK zadal iba jedenkrat na zaciatku a nasledne si ho uz skript stale drzal.

Funguje to! Uzitocne pri opakovanych zmenach schranky napr.

Kliknutie na prihlasit preukazom je potom na jeden klik na tlacidlo a hned zobrazi schranku, nikde sa uz BOK nevyzaduje. Toto je celkom otvorenie oci vs statny softver eID, kde BOK zadavate aj ked si slovensko.sk chce “prdnut”.

3 Likes

@Lubor aha!

Čo aha? Že to prerobenie čo spravil @dusoft funguje nie je prekvapivé. Neodporúčam to takto používať.

A čo konkrétne neodporúčaš? Vypíšem bežné use cases:

Zlepšené UX pre používateľa:

  1. Neprihlasuje sa opakovane pri zmene schránky
  2. Nezadáva opakovane BOK pri preberaní zásielok
  3. … (iné, ktoré mi nenapadnú)

Neodporúčam paušálne obchádzať bezpečnostné mechanizmy, okrem situácie, kedy vieš presne limitovať čo to robí.

To, že karta pri autentifikačnej funkcii nevyžaduje opakovane BOK považujem za absurdnú bezpečnostnú dieru - voči deklarovaným prípadom použitia.

Samozrejme každé používateľom zadané heslo či PIN sa dá “raz zadať a ďalej držať v pamäti”, ale vždy príslušné “zlepšenie UX” je zhoršenie bezpečnosti. Zhoršenie, ktoré možno Ty vieš mať pod kontrolou vo svojom skripte (neviem ako presne ho používaš), ale všeobecne rozhodne nie.

2 Likes

Jasne, ale dolezite je urcit si ako limity, tak moznosti. A na to su algoritmy, bezne ich pouziva Google. Napriklad zmena IP adresy, pripojenie z ineho zariadenia atd. indikuju mozne bezpecnostne riziko. Rovnake zariadenie (cookie, user agent, IP adresa) problemove nebude. A pride mi zvlastne, ze indikujes nutnost sa znovuprihlasovat pri prepinani medzi schrankami. To je zasadne nepriatelske nastavenie celeho slovensko.sk.

Aj mne to príde otravné. Vieš tým svojim skriptom limitovať, že nikde inde “autentifikácia bez BOK” neprebehne, iba pri prepínaní medzi schránkami na ÚPVS?

Ak by bol zverejneny open protokol a dokumentacia, tak je to samozrejme riesitelne. Vychadzajuc zo skriptu, ktory poskytol tuna nadsenec (a za ktory mu patri vdaka!), odpoved je nie. Predpokladam ale (rychlym pohladom na pouzite URL), ze je to len vec matchovania URL, cize trivialna vec.

Ked uz sa bavime o bezpecnostnych rizikach, tak banky ich maju vyhodnotene urcite lepsie ako tento statny polosystem. A nevsimol som si, ze by som musel pri zmene uctu robit dodatocne prihlasovanie. Naopak, je to vec na jeden klik.

Mozno trochu prilis mimo otazka, no ma niekto problem s touto citackou?
Bus 001 Device 042: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1 / SCR3310 SmartCard Reader
Mne OpenSC hlasi, ze: No smart card readers found.
Pri tom je to citacka, ktoru asi ma kazdy druhy …

Fixed: apt install pcscd
Mozno by stalo za to pridat to do dependencies …

Skusil som to s nahradnym autentifikatorom, cize taka biela karticka s cipom ktoru pouzivam miesto obcianky, a hodilo mi to, ze: pyskeid_common.UnsupportedCard
Myslel som, ze to ma rovnaky chip ako obcianka …

1 Like

Parada @sarinay! Znamy sa ma akurat pytal ci som pocul o tomto, ze si na mna spomenul. Ja som pisal ten Octosign a pouzivam ho dodnes. Mam ale toho dost vela v osobnom zivote tak ho pouzivam taky ako som ho vtedy napisal - mne staci :slight_smile:

S bundlovanim tvojej casti by to znamenalo, ze nemusi byt uz ziadna dependencia na eID a magicke hadanie cesty k PKCS #11 DLL, ci staranie sa o to ci sa to niekomu nebude pacit, ze sa pouziva. A tiez niektore blbe bugy co som si vsimol v ich implementacii ked sa obcas “lockne” a treba to otocit aby to slo. Za licenciu LGPL teda palec hore :slight_smile:!

Ludia od @jsuchal budu asi zaneprazdneni, ale daval som mac mini presne na testovanie mac os.

Super, ze mas aj publicitu. Mne zopar ludi pisalo, ale stopol som to na tom, ze je to len dev build. A vacsinu aj tak zaujimalo pouzitie so statnymi sluzbami co nebol moj ciel.

1 Like

Môj prvý ovládač pre OpenSC je len predohrou. Už si brúsim zuby na najnovšie biometrické karty, aby raz všetci mohli podpisovať slobodne (hoci sám si zrejme nechám preukaz z apríla 2022).

Prosím ako viem uvedený SW použiť ako úplný laik v it? Je to možné? Je nejaký návod aby som nemusel meniť OP?

Možné by to azda bolo, ale nie je to dobrý nápad. Je to určené najmä (takým) programátorom, ktorí vedia, čo robia. Ktovie, či to raz dozreje do podoby vhodnej pre širšie publikum.

Kto potrebuje kvalifikovaný elektronický podpis, musí mať preukaz moderný (súčasná či predošlá generácia). S tým nenarobíme nič.

Ďakujem za informáciu. Škoda myslel som si, že je to môžné použiť aj pre normálných userov,keď som o tom čítal. Každopádne ďakujem ešte raz.