Newsgroup: it.comp.lang.visual-basic
Titolo: Accesso con Password

Dovrei realizzare un programma in VB6 con una sezione di amministrazione
protetta da pasword.
Vorrei solo chiedere qualche suggerimento per una protezione abbastanza
sicura, quindi anche dove e come memorizzare una o due password valide.
Grazi in anticipo.
Ciao ciao
                by Iw7
--
Penso tutto ciò che dico,
ma non sempre dico tutto ciò che penso !!

 password valide. Grazi in anticipo.
I dati (per esempio nome utente e relativa password) vengono generalmente
depositati su disco, su un file, diciamo pure su un database. Però ogni
file, compreso un database, può essere "letto" con strumenti esterni, quindi
la prima regola è quella di non depositare la password "in chiaro", ovvero
per il suo effettivo e corretto valore.
Si tratta di "camuffarla" depositandone la sua "trasformazione" secondo un
algoritmo (semplice o complicato) che solo il programme (e quindi il
programmatore) conosce.
Operativamente e concettualmente è molto semplice:
Si richiede il nome/codice/nick dell'operatore, se ne verifica l'esistenza
ricercandone le informazioni sul file/database e si agisce di conseguenza.
Se esiste si deve consentire l'annullamento, se non esiste si deve
consentire la creazione.
Poi e in ogni caso, si richiede poi la password, meglio se non mostrandola
mentre la si digita (vedi per esempio la proprietà PasswordChar di un
TextBox) e, se l'operatore era presente, se ne verifica l'identicità con
quella depositata, meglio se, come detto, trasformando la password digitata
con la funzione di camuffamento allo scopo di ottenere la password
"crittata" depositata su file/database. Se la verifica è corretta, ok, si
procede, se no, ciccia.
Un'altra semplice tecnica di camuffamento della password è quella di
"spalmarla" (neologismo pseudo-informatico copright by Gigio) in più punti,
ovvero scomporla nelle sue parti (caratteri) e depositare le stesse in punti
non contigui del file/database di destinazione.
Per finire, sappi che, purtroppo (o per fortuna, finchè l'uomo avrà il
controllo sulle macchine), di sicuro al 100% non c'è nulla, ma proprio
nulla. Quindi il malandrino di turno, se capace e sufficientemente motivato,
potrà superare ogni tipo di protezione.


Ti ringrazio per i preziosi consigli, infatti sono gia alla ricerca di
qualche buona idea per cifrare la password.
Purtroppo lo so che niente è sicuro al 100%, io per primo in passato ho
praticato un po' di reverse engeenering anche se solo a livello di assebly,
ma cercavo qualche buono spunto per proteggere un'area ben definita dwl mio
programma.
Perchè solo di un'area? Devo gestire una rete di lettori biometrici, in
pratica devo leggere delle impronte digitali a cui sono assegnati dei
permessi definiti in base a luoghi e orari.
A questo punto è ovvia la conclusione che la password limiterà l'accesso
all'amministrazione dell'anagrafica.....
Di nuovo grazie e scusami se sono stato prolisso, volevo solo spiegare
meglio il perchè della mia domanda.
Ciao e al prossimo post che credo proprio arriverà molto presto!!!!

 password valide.
Generi al volo un codice ogni volta che bisogna accedere all'area protetta
(in caso di errore ne rigeneri uno nuovo ogni volta). Tu sarai in possesso
di un programma che ti genera un controcodice per sbloccare la funzione.
Il vantaggio è che non salvi nulla nè del programma nè sul disco e che è
praticamente impossibile indovinare per tentativi la password.
Lo svantaggio ovviamente è che ogni volta che bisogna accedere all'area
protetta devi servirti del programma per generare la controchiave.