Newsgroup: it.comp.sicurezza.unix
Titolo: Sistema di sicurezza

Salve a tutti,
dovrei creare un piccolo programmino Client / Server .
Vorrei fare in modo che la comunicazione non venga "sniffata" ,
o che anche se venisse sniffata sia "cifrata" in qualche modo .
Ho fatto qualche ricarca su internet ed ho trovato interessante il sistema di
chiave pubblica e privata .
Ma ciò che dico è :
se mi decompilano il .EXE mi leggono la chiave e sniffano lo stesso la trasmissione .
Forse non ci avro' capito una mazza, bho !
Cosa mi consigliate ?
Qualche dritta ? Libri ? Link ? tutorial ?
buon sabato e domenica a tutti !
dm

 la trasmissione .
E scrivere la chiave su un dongle (parallela, usb), tipo Hasp
www.ealaddin.com
?
Sul dongle la chiave e' cifrata e illeggibile se non hai i codici personali
forniti dal produttore. L'eseguibile potrebbe avviarsi solo con chiave
inserita, e ricavare la chiave di criptazione dalla stessa chiave, per cui
il reverse engineering potrebbe tutt'al piu' rivelare i codici di accesso
alla chiave, ma nessuno potrebbe ottenere altre chiavi hardware senza il tuo
permesso.
Ciao
Luca
-- 
Luca Sasdelli
Microsoft MVP - Networking, Windows NT/2000/XP
http://support.microsoft.com/newsgroups/default.aspx

Ciao , grazie della risposta .
Il problema è che il cliente deve scaricare il client ed usarlo .
Quindi non posso dargli una chiave fisica .
Devo risolvere tutto a livello software.
Secondo te , se comunico sulla porta 430 (SSL) basta per far si che i dati siano "indecifrabili" ?
Non ho proprio esperienza in queste problematiche ,
consigli la consulenza di un esperto oppure posso cavarmelo da solo con qualche dritta su libri/risorse ?
dm

 dati siano "indecifrabili" ?
Puoi sempre far in modo che l'applicazione consulti un server di riferimento
via SSHv2 per ottenere la chiave. Su questo non credo ci sia bisogno di
risorse particolari: crei un tunnel sulla porta 22 con un tuo server
pubblico e su quella connessione protetta fai ottenere al software la chiave
per lavorare.


Grazie,
farň tesoro dei tuoi suggerimenti !
dm

 il sistema di chiave pubblica e privata .
Cifrata a che livello? Se vuoi cifrare a livello di trasporto
puoi usare SSL/TLS, magari anche senza incorporarlo nella tua
applicazione ma semplicemente con un wrapper tipo stunnel.
In ogni caso, se non devi autenticare il client non serve una
chiave anche da quel lato, ma basta averla lato server.
Prova a cercare informazioni sul sito di openssl.
Fabio

se mi decompilano il .EXE mi leggono la chiave e sniffano lo stesso la trasmissione .
Allora, vediamo di far chiarezza.
La chiave pubblica e la chiave privata sono 2 "parole" alfanumeriche.
Con quella privata puoi decriptare ciò che è stato scritto con la
chiave pubblica.
In base a questo principio, è ovvio che sarebbe sciocco mandare in
giro per il mondo la propria chiave privata :-)
Come avvengono le comunicazioni? In questo modo:
A 	<-----------> 	B
A ha una chiave privata (custodita gelosamente in un floppy) ed una
chiave pubblica.
B ha una chiave privata (custodita gelosamente in un floppy) ed una
chiave pubblica.
A, per spedire il messaggio criptato, usa la chiave pubblica di B.
B, una volta ricevuto il messaggio, è in grado di decifrarla con la
sua chiave privata che nessuno conosce. B, a sua volta, per rispondere
ad A utilizzerà la chiave pubblica di A, il quale potrà decrittarla
grazie alla sua chiave privata.
Sembra complicato ma non lo è affatto.
Quello che devi mandare in giro è la tua chiave pubblica, non quella
privata.
Spero di essere stato chiaro.
:: Francesco
:: fran...@NOSPAMdataitalia.com