Smart Card Identification

Uvod

Prejekt je namenjen centralni identifikaciji uporabnikov z uporabo pametnih kartic na delovnih postajah.

Opis delovanja

Na centralnem stežniku teče aplikacija, ki ob zahtevi preveri stanje na delovni postaji. Iz pomnilniške pametne kartice na delovni postaji se prebere ključ, ki se na strežniški strani premapira v uporaben podatek (npr. Username). Vsa komunikacija med deamonom in klienti poteka po XMLRPC protokolu.

Avtorji

Peter Tomaž Dobrila (peco at kibla.org)
Uroš Indihar (indy at kibla.org)
Aleš Zupančič (zu at kibla.org)

Podatki

Strežnik:

Dostop do različnih podatkov se dodaja med “dataConnectors” (možno brez vsakršne prekinitve delovanja deamona). Pripravljene pa so povezave

Novo povezava mora imeti končnico .dc.py, upošteva pa se ob prvem client klicu.

Podatki se preverjajo skozi vse povezave. Ob najdenem uporabniku se iskanje v novi povezavi ne nadaljuje.

Odjemalci:

Na delovnih postajah teče service/daemon, ki zna upravljati z čitalcem pametnih kartic. Ko dobi od strežnika zahtevo za identifikacijo, prečita podatke iz kartice in jih vrne strežniku.

Komunikacija s čitalcem pametnih kartic poteka prek PC/SC ‘middleware’ paketa, ki je v Windows okolju že del operacijskega sistema, na Linux okoljih pa se uporablja PC/SC Lite. Komunikacija s strežnikom pa poteka preko XMLRPC protokola.

Odjemalec je napisan za Windows (XP, 2000) in Linux okolja. Zaradi uporabe jezika Python, kot razvojnega orodja, in knjižnic, ki so podprte v skoraj vseh okoljih, je koda enaka za Windows in Linux okolje, razlikuje se samo v tem, da se v Windows okolju odjemalec naloži kot ‘windows service’, na Linux okolju pa kot deamon.

Datoteke:

Skupno:

Windows

Linux

Mape

Knjižnice in programi

Namestitev

odjemalca na delovni postaji

Predpogoji

Windows:

Linux:

Namestitev

Windows:

instaliramo service:

# scidentWinClient.exe –install –auto
zaženemo service:
# net start scidentWinClient

Linux:

1. Client se skopira v /opt/scident
2. scident skripta v /etc/init.d/ (odvisno od distribucije)
3. /etc/init.d/scident start 

deamona

Strežnik uporaba v shellu

# ./scidentClient.py http://127.0.0.1:8000/ 192.168.100.101
indy567

Pomeni, da je na hostu 192.168.100.101 uporabnik indy567.

Strežnik uporaba iz pythona

Python 2.3.4 (#1, Jun  6 2004, 16:09:13)
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from scidentClient import scidentClient
>>> scic=scidentClient("http://127.0.0.1:8000/")
>>> scic.getUser("192.168.100.101")
'indy567'
>>>

Zapis na kartici

<SCIDKEY>xxxxxxxxx</SCIDKEY>

Licenca

LGPL

Prenos (download)

scident-1.0.tar.gz