Prejekt je namenjen centralni identifikaciji uporabnikov z uporabo pametnih kartic na delovnih postajah.
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.
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.
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.
Skupno:
Windows
Linux
# scidentWinClient.exe –install –auto zaženemo service: # net start scidentWinClient
1. Client se skopira v /opt/scident 2. scident skripta v /etc/init.d/ (odvisno od distribucije) 3. /etc/init.d/scident start
# ./scidentClient.py http://127.0.0.1:8000/ 192.168.100.101 indy567
Pomeni, da je na hostu 192.168.100.101 uporabnik indy567.
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'
>>>
<SCIDKEY>xxxxxxxxx</SCIDKEY>
LGPL