Ho parlato di chiavetta USB ma sono dei token crittografici, insomma delle Smartcard con API PKCS#11 per la firma/autenticazione/cifratura.
Ma questa applicazione è un fat client o una web app? Perché se è un fat client lo scenario che fai, a meno di non avere un DB che supporti anch'esso il PKCS#11 per l'autenticazione, è ragionevole (cioè te la intercettano). Se invece hai una web app con autenticazione PKCS#11 non intercettano un bel niente sempre che la web app e il DB siano in un posto presidiato e acceduti solo dagli amministratori. ciao roberto Il giorno 16 marzo 2016 13:15, Federico Scrinzi <[email protected]> ha scritto: > Cosa cambia se l'autenticazione è in una chiavetta super sicura se poi le > credenziali lasciano la chiavetta per raggiungere il programma che si > connette al DB? Posso sempre intercettare la password, connettermi al DB e > lanciare le query che voglio. Implementare controlli di sicurezza nel > client non ha senso e non è fixabile con nessuna chiavetta. > > O ho capito male quello che intendi? > > On March 15, 2016 6:01:42 AM GMT+00:00, Roberto Battistoni < > [email protected]> wrote: > >> Siamo alle solite. Alla fine c’è sempre una password storata nel codice per >> superare delle difficoltà organizzative lato security (aka costringere gli >> utenti ad utilizzare una loro pwd etc. etc.). >> >> Comunque qualsiasi sia il metodo di obfuscation che usi, con un debugger, >> eseguendo passo passo l’applicazione, riesci a “scovare” la password finale. >> Quindi ti puoi inventare il mondo, ma se “laqualunque" ha accesso (pieno) a >> quel PC sei comunque nei guai. >> >> Però, visto che lo faccio anche io perché poi alla fine è più importante far >> “girare” le cose che tenerle spente perché insicure, mi viene in mente che >> potresti fare un processo watchdog esterno che ogni tot mesi/gg (decidi tu), >> killa l’applicazione, fa il download da un tuo sito trusted e aggiorna >> l’applicazione con una “nuova” versione con nuova password storata inside. >> Se la pwd ti serve per accedere al DB che sarà da un’altra parte e quindi >> raggiungibile >> anch’esso in remoto, dovrai cambiare in modo sincrono la pwd anche qui. >> >> Più complicato il giro, ma almeno hai una rotazione della credenziale che >> costringe a far rifare il giro ai cattivoni di turno. >> >> Ma usare una chiavetta USB con a bordo un certificato con chiave privata per >> l’autenticazione? Consegnare una procedura in cui la chiavetta va richiesta >> ad un responsabile che ne tiene traccia? Troppo complesso per il tuo >> ambiente? Potresti comunque proporlo come alternativa. Se non te lo >> accettano e ti avallano la pwd storata nel codice allora se la saranno >> cercata…a buon intenditor poche parole :) >> >> bye >> r >> >> Il giorno 07 mar 2016, alle ore 13:06, Giuseppe Paternò (Gippa) >> <[email protected]> ha scritto: >>> >>> Ciao! >>> >>> E' troppo lunga da spiegarvi, ma devo "schiantare" nel codice una >>> password. >>> L'ambiente non e' controllato, quindi meglio che un file di configurazione >>> o -peggio- un passaggio a command line o via envvars. >>> >>> Ora, non pretendo la sicurezza assoluta visto il contorno, ma vorrei >>> evitare che con un semplice hexdump venga fuori la password.... almeno lo >>> faccio impegnare un po' >>> >>> Cosa mi consigliate per fare una string ubfuscation, preferibilmente in >>> golang? >>> Ciao ciao, >>> Gippa >>> >> >> ------------------------------ >> >> http://www.sikurezza.org - Italian Security Mailing List >> >> > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. >
