Questo non è in alcun modo un sostituto per HTTPS, quindi per favore non presumere che sia per questo che sto facendo questa domanda. Sto esplorando e sono curioso. Sto cercando un input esperto su questo, e non sono del tutto sicuro di dove dovrei chiedere questo.
Ok, quindi dico che sto inviando informazioni davvero sensibili (informazioni bancarie per esempio). E voglio fare un ulteriore passo avanti per proteggerlo.
Con JavaScript, crittograferei i dati del modulo quando è stato inviato. Quindi lo decritterei sul server (back-end).
-
La prima opzione sarebbe quella di utilizzare la crittografia asimmetrica da sola. Criptare i dati del modulo al momento dell'invio, con la chiave pubblica. E dal momento che è pubblico, non può ferire il fatto che il cliente lo sappia. Quindi sul server, decrittografare i dati con la chiave privata. Ovviamente è privato e solo il server lo sa.
-
Molti algoritmi asimmetrici sono molto lenti da ciò che ho sentito e possono essere abbastanza limitati in termini di quanto è possibile crittografare (ad esempio RSA). Quindi per quanto riguarda la crittografia ibrida? Criptare i dati del modulo con la crittografia simmetrica (ogni volta viene generata una chiave casuale), quindi crittografare la chiave simmetrica con la chiave pubblica asimmetrica. Invia la chiave simmetrica insieme ai dati. Decifrare la chiave con la chiave privata, utilizzare la chiave per decrittografare i dati.
Che ne pensi? Sono un po 'perso per quale sarebbe meglio. E come andare su questo.