PDA

View Full Version : Chiavi di registro... e password...


di_emme
30-09-2004, 13:27
...se doveste salvare una password dove la 'imboschereste'?

E' un discorso in generale... non voglio sapere il posto esatto dove avete le vostre password... è che ho bisogno di capire quali punti del registro sono più sicuri di altri...

maxnaldo
30-09-2004, 13:37
beh, non la imboscherei certamente nel registro di sistema.

:D :D :D

e se proprio vuoi farlo almeno prima "cifrala" in qualche maniera.

di_emme
30-09-2004, 13:45
...of course... logico che la cifro...

l'ho cifrata talmente bene che ho fatto una fatica dannata a decifrarla... :p :p :p :p

..Scherzi a parte... io ho bisogno di salvare la password per accedere ad un mio pgm da qualche parte a modo che, se l'utente perde la password o la dimentica, dalla mia applicazione mi invia la password criptata per recuperarla... ho bisogno che sta password sia salvata in una posizione fissa a modo che il mio programma la possa rcuperare con certezza!!!

maxnaldo
30-09-2004, 14:10
mmmm...forse non ho capito il discorso....

se il programma ha bisogno di una password per accedervi vuol dire che vuoi limitare l'uso solo a determinati utenti.

ma se l'utente non sa la password il programma dovrebbe automaticamente recuperarla ?

allora a che ti serve la password se chiunque alla fine riesce ad accedervi ?

Liam Gallagher
30-09-2004, 14:11
Riesce a recuperarla criptata.... e quindi inutilizzabile a meno che non la invi a lui che la decripta ^_^

di_emme
30-09-2004, 14:28
Esatto Liam!!!

Il programma ha accesso limitato nel senso che per essere utilizzato l'utente deve inserire una password... Nel caso in cui l'utOntO dimentichi la password il mio programma la recupera criptata a modo che me la possa inviare per decriptarla.

;) ;) ;)

Il problema è: dove mantengo la chiave criptata???

maxnaldo
30-09-2004, 16:23
ma cosa intendi per "inviare" ?

te la invia via email ? tramite la rete ?

non capisco...

...se stiamo parlando di un programma che gira su una macchina e l'utente sta usando quel programma dov'è che dovrebbe inviare la password ?

o stai pensando di adottare i meccanismi usati nei siti Web anche per dei programmi in locale sul pc ?

di_emme
30-09-2004, 16:49
La password dovrà essere memorizzata criptata in locale sul pc...

Se l'utente smarrisce la password una procedura del mio programma gli consentirà di inviarmi via mail la chiave criptata (ulteriormente criptata :sofico: ) cosi da potergli rendere la password... ;)

ma non è quello il problema... il problema è: DOVE SALVO LA PASSWORD??? In un file? Nel registry? Dove???

di_emme
04-10-2004, 11:37
...nessuna idea??? :mc:

RaouL_BennetH
04-10-2004, 12:26
Per il problema tecnico non sono assolutamente in grado di risponderti ma pensavo a questo:

Se fornisci l'utente di una procedura di 'soccorso' che lo autentica in maniera esatta, non faresti prima a farti mandare determinati dati e a fornirgli una password nuova?

di_emme
04-10-2004, 13:25
no... perchè quello necessiterebbe della memorizzazione di un set fisso di password rendendo il programma più vulnerabile!!!

RaouL_BennetH
04-10-2004, 13:33
Originariamente inviato da di_emme
no... perchè quello necessiterebbe della memorizzazione di un set fisso di password rendendo il programma più vulnerabile!!!

Uhm, non so se è la stessa cosa ma qui in azienda da me, ogni tanto quando il programma di gestione va a rotoli, chiamano l'azienda fornitrice, se non sbaglio devono comunicare il pin di attivazione della prima volta, e viene fornita una password nuova per l'accesso che ogni volta, ovviamente, è diversa.

Per il caso specifico tuo, ripeto, non sono all'altezza di darti una risposta tecnica.

matpez
04-10-2004, 13:55
Bhe ma scusa, ma se tu per esempio ti crei una falsa DLL o la metti dentro alla tua cartella del programma, la trovi sempre ed è in quella posizione!!

Dentro alla dll usi un file criptato, che tanto essendo criptato a prima vista se uno apre la dll sembra una dll vera (cioè cmq un file compilato) e nn sembra un file che contiene la tua password...

Se usi dei buoni metodi di criptazione anche se uno scoprisse che la dll nn è una vera dll ma un file che contiene la tua password è pur sempre criptata e nn facile da decodificare... se nn ti fidi dei metodi di criptazioni già esistenti potresti sempre inventartene uno tuo... così pochi programma al mondo sarebbero in grado di decifrare il testo!!

Magari questo nn è il metodo 100% più sicuro al mondo, ma nn credo che tu stia sviluppando programmai per la NASA o Pentagno che devono essere a prova di bomba...

Io la penso così... :p

di_emme
04-10-2004, 14:00
ma nn credo che tu stia sviluppando programmai per la NASA o Pentagno...

...azz... :muro: mi hai scoperto!!! :eek: :D :D :D

Effettivamente è buona l'idea della dll... il fatto è che l'utente potrebbe erroneamente rimuoverla... più difficile che cancelli una chiave del registry...

Per l'algoritmo di cifraggio... beh... diciamo che me la sono cavata... :O :sofico:

matpez
04-10-2004, 14:03
Bhe ma siamo sempre li, mettila ovunque nel sistema, tanto lo sai tu dove sta... bho mettila sotto: HKEY_LOCAL_MACHINE\SOFTWARE

di solito è li che che si mettono tutte le info dei programmi...

matpez
04-10-2004, 14:07
E poi cmq potresti fare che se cacella la dll, dai un msg di errore dicendo di contattarti o reinstallare il programma!!

Al massimo la metti dentro la cartella system32 che c'è ne sono a bizzeffe di dll, uno prorpio deve avere sfiga a cancellare la tua!!

maxnaldo
04-10-2004, 15:47
io continuo ad essere "dubbioso" su quello che vuoi fare :)

se parliamo di Clients che si connettono ad un Server allora tutta la gestione della sicurezza accessi risiede sul Server che autorizzerà solo gli utenti con password corrette. Eventualmente fornirà una nuova password a chi se l'è dimenticata.
Se non hai una password non potrai mai accedere alle funzionalità dell'applicazione in quanto si tratta sempre di un Client che dialoga con un server. ( e tu al server non hai accesso)

nel caso di applicazioni "StandAlone" o meglio di programmi che girano in locale su un PC non ha molto senso proteggerne l'accesso con delle password.

puoi inventarti tutti i metodi di cifratura e di sicurezza che vuoi ma rimarrà sempre il problema che tutta la gestione di tale sicurezza è affidata al programma stesso.

se volessi accedere al tuo programma non mi sognerei mai di andare a decifrare la DLL nascosta...mi basterà modificare alcune istruzioni nel codice per cambiare le routine di controllo accesso, facendo credere al programma che gli ho inviato una password corretta. In pratica è molto più semplice "crackare" un programma del genere. qualunque sia la tipologia di gestione sicurezza adottata.

io ti consiglierei di evitare di lavorare giorni e settimane per costruire un sistema di sicurezza che poi potrà essere aggirato sempre e comunque cambiando addirittura un solo byte nel tuo programma.

:D :D :D

poi fai te, il mio è solo un consiglio per non lavorare inutilmente.

di_emme
04-10-2004, 15:57
Il prgoramma non è client-server ma stand alone...
Il fatto è che l'introduzione della password non la faccio perchè mi va ma perchè mi è stato detto di farla... allora cerco di farla nel migliore dei modi... Se il programma viene crackato non è un problema che mi riguarda direttamente... non credo ci sia chi si metta a perdere tempo a crackarlo... Il problema che mi riguarda è quello della sicurezza dell'accesso alla mia applicazione... devo renderla più sicura possibile e l'introduzione di una password di accesso è la cosa più semplice... solo che non è semplice, almeno dal mio punto di vista, trovare un posto sicuro in cui conservarla... :muro:

maxnaldo
04-10-2004, 16:19
allora se proprio devi nasconderla nascondila bene !

:D :D :D

uno dei posti più incasinati del pc è proprio la cartella "System32" di windows dove ci sono tutte le DLL e i files del sistema operativo.

io ti consiglio di schiaffarla lì con un nome che la faccia sembrare qualcosa del sistema operativo tipo:

msrip32.dll
msmon32.dll
ecc...ecc...

poi dal programma se non trova questa DLL magari visualizzi un msg di ERRORE generico tipo "DLL mancante. Reinstallare il programma"

ma non dire qual'è il nome della DLL !

:D

non credo che molta gente vada nella System32 a cancellare files senza sapere che cosa sono.

di_emme
04-10-2004, 16:25
potrebbe essere proprio una buona idea... ;) Vediamo cosa mi dicono ai piani alti!!! :cool: