Motivo dell'utilizzo della crittografia asimmetrica con SHA256

1

Ho ricevuto un documento con integrazione con un'altra applicazione. Hanno menzionato Ho bisogno di hash e quindi crittografare i dati con la mia chiave privata prima di inviarlo su HTTPS. In questo modo, si stanno accertando che i dati non siano stati alterati nel mezzo del transito.

Volevo sapere qual è il motivo della sicurezza a tre livelli (SSL + SHA256 + RSA). SHA256 è debole da solo o ci sono altre preoccupazioni di cui non sono a conoscenza?

    
posta Jama 28.08.2013 - 21:44
fonte

1 risposta

3

Il documento che stai leggendo usa l'analogia imperfetta "criptare con la chiave privata". In crittografia asimmetrica , crittografare con la chiave pubblica e decrittografare con la chiave privata . "Crittografia con la chiave privata" è il modo in cui firme digitali sono state descritte per la prima volta, perché questo tipo di opere come quella in RSA . Ma l'analogia non funziona con altri algoritmi di firma come DSA e, quando guardi i dettagli, vedi che non funziona nemmeno con RSA.

Quindi dimentica qui la parola "crittografia". Chiedono una firma . Una firma inizia con l'hashing dei dati che devono essere firmati (con una funzione hash come SHA-256) e il resto del calcolo riguarda solo l'output hash e la chiave privata. La firma non viene utilizzata in aggiunta a SHA-256; SHA-256 è un elemento del processo di firma RSA.

Perché chiederebbero una firma? SSL garantisce già l'integrità dei dati. Ma potrebbero volere non-ripudio . Quando si utilizza SSL, client e server stabiliscono un tunnel per i dati; il cliente ha una certa garanzia che dialoga con il server giusto; se si è verificata qualche autenticazione (ad esempio con un nome utente e una password inviati attraverso il tunnel SSL), il server ha anche una certa garanzia che parli con il cliente giusto. I meccanismi SSL garantiscono inoltre che i dati non vengano ascoltati o alterati durante il trasporto.

Ciò che SSL non fa, tuttavia, è di produrre prove che potrebbero essere mostrate a una terza parte (ad esempio un giudice). In caso di ulteriori problemi legali tra il client e il server, il server non ha nulla da mostrare a un giudice per dimostrare che il cliente ha inviato una richiesta specifica. Quando il server riceve la richiesta, è ben convinto che provenga dal client, ma il server non può provare che non ha fatto una richiesta falsa per incriminare il client. Per avere tali prove, hai bisogno di qualcos'altro. Che qualcos'altro è in parte tecnico, in parte legale; la parte tecnica è firme digitali (la metà legale dipende molto dalla giurisdizione, quindi non c'è una risposta assoluta qui).

Riepilogo: l'altra applicazione desidera una firma. SHA-256 è parte del processo di firma, non un passaggio ridondante. Una firma è richiesta probabilmente al fine di ottenere una sorta di non ripudio, che HTTPS non fornisce (potrebbe anche essere un eccesso di un sistema di autenticazione, però).

    
risposta data 28.08.2013 - 21:59
fonte

Leggi altre domande sui tag