Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: gestione password java

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53

    gestione password java

    salve volevo chiedervi dei consigli su come gestire un utente registrato alla mia applicazione.

    praticamente vorrei che l'utente una volta scelto il proprio user e password questi vengano salvati su un file...e fin qui nessun problema.... solo che non so come proteggere questo file da eliminazioni, spostamenti,letture (avevo pensato di usare la criptazione però come rendere sicura il salvataggio della chiave di criptazione), o comunque come gestire in modo sicuro dati sensibili (naturalmente non posso salvare su database perché con quella password accede contemporaneamente sia all' applicazione che al database).
    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rrt Visualizza il messaggio
    come proteggere questo file da eliminazioni, spostamenti,letture
    Per proteggere da eliminazioni/spostamenti, la questione riguarda più che altro il file-system cioè gli attributi di sicurezza che sono possibili per quel file-system (es. i diritti di accesso su NTFS). Ma resta comunque il fatto che un "amministratore" il file lo puoi comunque cancellare, anche se magari altri utenti no.

    Per impedire la comprensione del file, chiaramente ci vuole un algoritmo di cifratura e la "chiave" dovrebbe averla la applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    in che senso la chiave dovrebbe averla l'applicazione

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    un possibile suggerimento che ti posso dare è quello di seguire, sebbene a grandi linee, ciò che viene fatto sui sistemi Unix tradizionali. Tutto si basa sul concetto di hash di un dato (se non sai cos'è un hash puoi facilmente trovare tutte le informazioni che vuoi in rete). In sostanza tu non salvi la password sul file, ma solo il suo hash. Quando l'utente inserisce la password tu calcoli "al volo" l'hash della parola inserita e lo vai a confrontare con quello salvato. Le proprietà delle funzioni di hash ti garantiscono che questo procedimento sia piuttosto sicuro. Oltretutto in Java non devi re-inventare la ruota: alcuni famosi algoritmi di hash (come SHA-1) sono già disponibili.

    A questo punto tutto ciò che devi fare è proteggere il file dalla scrittura e hai un sistema abbastanza sicuro per l'autenticazione.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da minomic Visualizza il messaggio
    In sostanza tu non salvi la password sul file, ma solo il suo hash. Quando l'utente inserisce la password tu calcoli "al volo" l'hash della parola inserita e lo vai a confrontare con quello salvato.
    Il problema è che rrt ha detto che la password è quella anche per il database e in questo caso non può salvare un hash .... deve proprio riottenere la password in chiaro, quindi serve una cifratura con chiave simmetrica.

    L'autenticazione della password con il match del hash lo si fa tipicamente quando l'account è gestito a livello "applicativo" (es. tabella ACCOUNTS su DB) ... non se l'account è del DB stesso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ah mi era sfuggita la parte del database... Beh sì allora chiave simmetrica.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    vi ringrazio per l'aiuto volevo chiedervi un' ultima cosa.... ho implementato e salvato su un file properties user e password e su un altro file la chiave di criptazione, eventualmente è possibile "nascondere" questi due file in modo da evitare manomissioni come l' eliminazione
    oppure un altro metodo di gestione dei 2 file

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rrt Visualizza il messaggio
    ho implementato e salvato su un file properties user e password e su un altro file la chiave di criptazione, eventualmente è possibile "nascondere" questi due file in modo da evitare manomissioni come l' eliminazione
    oppure un altro metodo di gestione dei 2 file
    Il file "crudo" in sé per memorizzare username/password lo puoi fare nel formato che vuoi: properties di Java, XML, JSON, testo con tuo formato, ecc...
    Se non vuoi che sia "leggibile", deve appunto essere criptato con algoritmo a chiave simmetrica. La chiave però non ha senso che sia in un altro file lì vicino in bella vista .... deve essere ben nascosta. O la nascondi nella applicazione (dentro il codice) oppure la calcoli partendo da qualcosa di stabile/noto come per esempio un serial number di un hard-disk (così però leghi la chiave alla macchina, che può essere un bene o un male a seconda dei punti di vista ...).

    Per quanto riguarda impedire manomissioni, esistono algoritmi di HMAC (Hash-based Message Authentication Code) che sostanzialmente sono degli algoritmi di hash in cui però entra di mezzo una chiave segreta.
    Per impedire eliminazioni, l'ho già detto all'inizio, di base ci sono le eventuali autorizzazioni a livello di file-system ma qui è tutto da valutare e comunque bisogna vedere a chi vuoi impedire di poter cancellare il file.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    Ciao volevo chiederti se puoi fare un esempio di chiave nascosta nell'applicazione
    cioè una volta creata la chiave come posso nasconderla dentro il codice?

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    ciao andbin potresti farmi un esempio di chiave nascosta nell'applicazione?? cioè a cosa si riferisce
    scusa se lo riscrivo ma vedo che è scesa la discussione quindi meno visibile grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.