Buongiorno a tutti anche oggi ho bisogno di un vostro consiglio, spero che il testo non sia di troppa difficile comprensione e di esprimermi al meglio.
Mi sto ponendo il quesito di rendere sicuro il passaggio di dati, generato da un submit, di un form che risiede in una pagina HTML, ho scartato l'idea di usare i certificati SSL perchè per me affittare un server con ip privato è una soluzione troppo costosa commisurata all'uso che andrei a farne.
La mia idea è quella di utilizzare un algoritmo crittografico e delle chiavi che cambiano ad ogni accesso (pubbliche) quindi di crittografare i dati all'uscita dal form, facendoli passare attraverso una routine che utilizza l'algoritmo e che si occupa di inviare anche la chiave di decodifica insieme a i dati cifrati alla pagina destinataria, vado a rappresentare uno schema logico della mia idea.
Form -- (submit) --> Routine crittografica -> Byte crittografati e chiavi --> Destinazione
Secondo voi è sicuro questo tipo di trasmissione? Se si come si potrebbe realizzare concretamente? (Ho già un oggetto ASP.NET che crittografa i dati e genera le chiavi).

Rispondi quotando
) deve esserci a priori uno scambio di informazioni sicuro tra il client e il server, se tu ad esempio dessi una chiave ad ogni client che si connette, accadrebbe che un ipotetico sniffer in ascolto la intercetterebbe (perchè dovresti mandarla in chiaro sulla rete se no il client non potrebbe conoscerla) invalidando la sua utilità, perchè un hacker riuscirebbe a decrittare il flusso dati esattamente come il client. Per ovviare a questo problema, si usa la crittografia asimmetrica, ovvero algoritmi particolari (non sto qui a spiegare io perchè in rete trovi di meglio....) che permettono, data una chiave pubblica di entrambi, di creare un algoritmo sicuro per lo scambio (in genere) di una chiave simmetrica con cui poi iniziare la comunicazione sicura.
anche se molto improbabile romperla)