Newsgroup: it.comp.java
Titolo: Sicurezza

Devo realizzare un programma in rmi in cui i client si connettono ad un
server e richiedano files  personali che il server aggiorna di
frequente.
Ho tre problemi di sicurezza:
1) Il passaggio della password del client al server per
l'identificazione
2)la presenza delle password sul server che potrebbero essere "rubate"
3)la presenza dei documenti personali sul server che potrebbero essere
"letti" da altri
Ho dato uno sguardo a DES ma non credo possa essermi utile per nessuno
dei tre problemi...
Avevo pensato che forse mi serve un algoritmo a doppia chiave.
Magari al punto 1) il server genera randomaticamente una coppia chiavi
ogni volta(in modo tale da non tenere quella privata "in vista"),invia
la chiave pubblica al client il quale invia la password e poi il server
decifra e  calcola l'hash(e qua forse c'č bisogno di un altro algoritmo
di criptazione..?) e lo confronta con quello salvato in fase di
registrazione.Al punto 2) si puň pensare di salvare l'hash e al punto 3)
si salva tutto con la chiave pubblica del client a cui va spedito il
file.
E' corretto?Se sě dove posso trovare quello che mi serve?
Grazie mille
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Delio Nasso wrote:
| 1) Il passaggio della password del client al server per
| l'identificazione
La sicurezza delle informazioni "in passaggio" la risolvi facilmente
usando un SSLSocket al posto di un normale Socket...
| 2)la presenza delle password sul server che potrebbero essere "rubate"
| 3)la presenza dei documenti personali sul server che potrebbero essere
| "letti" da altri
Questi due punti (che in realtà sono lo stesso: le password non sono
altro che "dati personali") li risolvi salvando sul server i dati solo
in forma crittata.
A riguardo però dovresti specificare un po' meglio cosa intendi con
"richiedano files personali che il server aggiorna di
frequente".
| Ho dato uno sguardo a DES ma non credo possa essermi utile per nessuno
| dei tre problemi...
DES è obsoleto, ma il suo erede AES è sia più sicuro (parecchio più
sicuro) che più veloce.
| Avevo pensato che forse mi serve un algoritmo a doppia chiave.
SSL usa proprio questo, ma per il punto 2-3 non ti serve a molto... a
seconda dei casi. (vedi domanda nella risposta a quel punto)
| Magari al punto 1) il server genera randomaticamente una coppia chiavi
| ogni volta(in modo tale da non tenere quella privata "in vista")
In quale modo se viene generata ogni volta quella privata è "meno in vista"?
| la chiave pubblica al client il quale invia la password e poi il server
Se puoi inviare al client la chiave in modo "privato" non hai bisogno
neanche della chiave stessa... per queste cose comunque ci pensa già SSL.
| calcola l'hash(e qua forse c'è bisogno di un altro algoritmo
| di criptazione..?) e lo confronta con quello salvato in fase di
| registrazione.
Sì, molto melgio mandare un hash della password e non la password stessa
(anzi, possibilmente, un sistema challenge-response; anche se in realtà,
dentro alla protezione di SSL, diventa un po' ridondante).
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkARvE8ACgkQaJiCLMjyUvsTmwCgt4KsYhhEsFjmqmQVILG4Q3ZT
2t4An1deuVrqyIAf0T1XodfheS5D+ll1
=ibJI
-----END PGP SIGNATURE-----

 Lapo
Ciao,vedo che ci ritroviamo in giro ;-)
Grazie ancora


 Ciao,vedo che ci ritroviamo in giro ;-)
Vedo che anche io e Lapo ci stiamo ritrovando spesso in queste ultime 48 ore
;-)
Che ti devo dire, mi piace la crittografia: mi sembra qualcosa di piů che
semplice
informatica! Vorrei continuare a studiarla e a lavorarci se avessi tempo.
GianpieroP