In che modo la crittografia a chiave pubblica garantisce l'integrità dei dati

Pubblicato: 2021-07-30

I dati hanno bisogno di sicurezza e la sicurezza ha bisogno di crittografia.

Tra l'altro,   crittografia   svolge un ruolo fondamentale nel garantire la sicurezza dei dati. È un processo di conversione dei dati in una forma inintelligibile che può essere decodificata o decifrata solo con l'aiuto di una chiave crittografica.

Una chiave crittografica è una sequenza casuale di caratteri generata in un meccanismo di crittografia. Viene utilizzato per convertire testo in chiaro in testo cifrato durante la crittografia. È possibile utilizzare la stessa chiave (crittografia simmetrica) o una chiave diversa (crittografia asimmetrica) per convertire il testo cifrato in testo normale.

La crittografia nasconde il messaggio effettivo e lo converte in testo cifrato, rendendolo illeggibile. La crittografia a chiave pubblica è uno di questi metodi attraverso il quale è possibile crittografare un messaggio. Pensalo come un lucchetto con due chiavi (chiave pubblica e chiave privata). Se un utente lo blocca con la prima chiave, solo la seconda chiave può sbloccarlo e viceversa.

Esistono altri metodi, come la crittografia simmetrica o la crittografia ibrida, ma per ora diamo uno sguardo più approfondito alla crittografia a chiave pubblica e vediamo come fornisce agli utenti una sicurezza dei dati elevata.

Che cos'è la crittografia a chiave pubblica?

La crittografia a chiave pubblica, nota anche come crittografia a chiave pubblica, è una tecnica che utilizza due chiavi diverse per crittografare e decrittografare i dati. Una è la chiave pubblica, che è disponibile a tutti per crittografare i dati, e l'altra è la chiave privata che un iniziatore può utilizzare per la decrittografia.

La crittografia a chiave pubblica è anche chiamata crittografia asimmetrica ed è ampiamente utilizzata per Transport Layer Security/Secure Sockets Layer (TLS/SSL), rendendo possibile Hypertext Transfer Protocol Secure (HTTPS).

I componenti della crittografia a chiave pubblica includono:

  • Testo in chiaro: dati leggibili e comprensibili forniti a un algoritmo di crittografia come input
  • Testo cifrato: output di crittografia in una forma incomprensibile che non è possibile comprendere
  • Chiave privata: una chiave segreta generalmente utilizzata per la decodifica di un messaggio crittografato
  • Chiave pubblica: disponibile per tutti e in genere utilizzata per crittografare un messaggio

Per inviare un messaggio crittografato, puoi ottenere la chiave pubblica del destinatario da una directory condivisa. Usa questa chiave per crittografare un messaggio prima di inviarlo e il destinatario sarà in grado di decrittografarlo utilizzando la chiave privata corrispondente.

Al contrario, se crittografi un messaggio utilizzando la tua chiave privata, il destinatario può decrittografarlo solo con la tua chiave pubblica, verificando la tua identità. È possibile eseguire automaticamente sia la crittografia che la decrittografia senza bloccare e sbloccare fisicamente un messaggio. Le organizzazioni utilizzano   software di crittografia   per eseguire il processo senza problemi e garantire una solida protezione dei dati.

42%

degli intervistati utilizza la crittografia per i dati dei clienti.

Fonte: Istituto Ponemon

La crittografia a chiave pubblica è un processo di crittografia altamente sicuro in quanto non richiede a nessuno di condividere la propria chiave privata, prevenendone la perdita durante la trasmissione. Fornisce una sostanziale sicurezza delle informazioni e mantiene i tuoi dati protetti da accessi non autorizzati.

Le comunicazioni Internet utilizzano l'infrastruttura a chiave pubblica (PKI) per gestire l'identità e la sicurezza. La crittografia asimmetrica, o crittografia a chiave pubblica, è la tecnologia principale che abilita la PKI e offre la protezione dei dati in vari canali di comunicazione.

D'altra parte, la crittografia a chiave privata, nota anche come crittografia simmetrica, è una tecnica che utilizza una chiave sia per la crittografia che per la decrittografia. Tutti e due   crittografia simmetrica e asimmetrica   hanno i loro vantaggi e sfide in base al caso d'uso e alla forza della crittografia richiesta.

Come funziona la crittografia a chiave pubblica?

La crittografia a chiave pubblica consente agli utenti di inviare e ricevere messaggi in segreto. Consente a ciascun utente di creare una coppia di chiavi: una chiave pubblica e una chiave privata . Entrambe le chiavi hanno una relazione matematica tra loro. Ma una chiave privata non può essere praticamente derivata da una chiave pubblica.

Nella crittografia, è possibile utilizzare una chiave pubblica per crittografare un messaggio, che solo la chiave privata del destinatario può decodificare. Inoltre, se il mittente crittografa un messaggio utilizzando la propria chiave privata, il destinatario previsto può verificare l'identità del mittente con una chiave pubblica.

La crittografia a chiave pubblica utilizza chiavi di lunghezza maggiore che riducono il problema della gestione delle chiavi poiché non è necessario scambiare le chiavi. Una volta utilizzata una chiave per crittografare il messaggio, non può essere utilizzata per decrittografarlo.

Alcune delle proprietà importanti di un sistema di crittografia a chiave pubblica includono:

  • Crittografia e decrittografia utilizzano chiavi diverse
  • I destinatari possiedono la loro chiave privata univoca che viene utilizzata per decrittografare un messaggio
  • I destinatari pubblicano la loro chiave pubblica, che è disponibile per tutti
  • Una terza parte fidata assicura che una chiave pubblica appartenga a una determinata persona o entità per evitare lo spoofing
  • Non è possibile derivare una chiave privata da una chiave pubblica nella crittografia a chiave pubblica

Applicazioni della crittografia a chiave pubblica

La crittografia a chiave pubblica viene in genere utilizzata nelle firme elettroniche. Una firma elettronica è un metodo matematico per autenticare l'identità di un utente e mantenere l'integrità di un documento, messaggio o software. Le aziende generalmente usano   software di firma elettronica   distribuire documenti legalmente sensibili e raccogliere firme digitali.

Oltre alle firme digitali, la crittografia a chiave pubblica viene utilizzata per vari altri scopi.

Sicurezza del server web

La crittografia a chiave pubblica è al centro del protocollo di crittografia TLS/SSL che garantisce la sicurezza in HTTPS. Protegge i server Web e i client da   attacchi informatici   come gli attacchi man-in-the-middle, in cui un utente malintenzionato intercetta la comunicazione e accede al contenuto dei messaggi. Anche la crittografia simmetrica fa parte di HTTPS, in cui la crittografia a chiave pubblica viene utilizzata per scambiare chiavi tra due parti e le chiavi di crittografia simmetrica vengono utilizzate per eseguire il processo di crittografia.

La crittografia a chiave pubblica consente a mittente e destinatario di verificare le proprie identità e li aiuta a difendersi dagli attacchi man-in-the-middle. La sicurezza del server Web offre anche un ulteriore vantaggio nel classificare i siti Web più in alto sui motori di ricerca come Google o Bing.

Autenticazione dell'identità

I dati sono ora passati oltre le reti tradizionali al cloud, ai dispositivi mobili, ai dispositivi Internet of Things (IoT) e a varie altre tecnologie, rendendo fondamentale per le aziende la protezione delle identità. La crittografia a chiave pubblica consente alle organizzazioni di utilizzare i certificati di identità digitale e di sostituire le password per prevenire   attacchi di forza bruta.

Crittografia e-mail

La crittografia e-mail utilizza la crittografia a chiave pubblica per autenticare e crittografare un messaggio. Aiuta a proteggere il messaggio da entità non autorizzate o hacker malintenzionati. Anche se un utente malintenzionato viola la password di un server di posta, non sarà in grado di visualizzare il contenuto delle e-mail a causa della crittografia.

Puoi usare   software di crittografia della posta elettronica   per proteggere le e-mail firmandole digitalmente per provare la tua identità e crittografando il contenuto e gli allegati in transito o archiviati su un server.

I metodi di crittografia della posta elettronica protetti, come i certificati S/MIME (Internet Mail Extensions) protetti/multiuso, utilizzano l'infrastruttura a chiave pubblica per verificare l'identità digitale e facilitare la crittografia.

Criptovaluta

Criptovalute di spicco come Bitcoin si basano sulla crittografia a chiave pubblica per le transazioni. Gli utenti hanno una chiave pubblica disponibile a tutti e le chiavi private vengono mantenute segrete, che vengono utilizzate per eseguire una transazione.

Ad esempio, nel libro mastro Bitcoin, gli output delle transazioni non spesi (UTXO) sono collegati a una chiave pubblica. Quando l'utente A vuole firmare una transazione con l'utente B, l'utente A utilizza la propria chiave privata per spendere l'UTXO e genera un nuovo UTXO collegato alla chiave pubblica dell'utente B.

Algoritmi di crittografia a chiave pubblica

Gli algoritmi di crittografia a chiave pubblica sono funzioni matematiche utilizzate per crittografare un messaggio o verificare l'origine di un messaggio e l'identità del mittente.

Alcuni popolari algoritmi crittografici a chiave pubblica sono menzionati di seguito.

Algoritmo Rivest-Shamir-Adleman (RSA).

L'algoritmo RSA consente alle persone di utilizzare chiavi pubbliche e private per crittografare un messaggio. Quando una chiave pubblica viene utilizzata per la crittografia, una chiave privata faciliterà la decrittografia e viceversa. Grazie a questa proprietà, è diventato un popolare algoritmo di crittografia asimmetrica. RSA aiuta le organizzazioni a garantire la riservatezza, l'integrità, il non ripudio e l'autenticità delle informazioni archiviate o in transito.

L' algoritmo RSA genera una chiave pubblica e una chiave privata attraverso un complesso processo che prevede la fattorizzazione di grandi numeri interi, che sono il prodotto di due grandi numeri primi.

Facciamo un esempio per vedere come funziona l'algoritmo RSA. Considera due numeri primi, p e q, che sono generati usando l'algoritmo del test di primalità di Rabin-Miller. L'algoritmo del test di primalità di Rabin-Miller determina se un numero è primo. Usa i due numeri primi e calcola il loro modulo, n.

Modulo, N = pxq

La chiave pubblica comprende il modulo (n) e un esponente pubblico, e. Il valore dell'esponente pubblico non deve essere un segreto poiché la chiave pubblica è accessibile a tutti. Di solito è preso come 65537.

La chiave privata è costituita da un modulo (n) e da un esponente privato, d (calcolato dall'algoritmo euclideo esteso per trovare l'inverso moltiplicativo rispetto al totiente di n).

Lo sapevate? Il   Algoritmo euclideo esteso   è un'estensione dell'algoritmo euclideo. Calcola il massimo comun divisore di due interi (a,b) e coefficienti dell'identità di Bezout (x, y) tali che ax + by = Massimo comun divisore (a,b).

Le chiavi RSA sono generalmente lunghe 1024 bit, ma il governo e alcuni settori indicano di utilizzare una lunghezza minima della chiave di 2048 bit per una maggiore sicurezza.

Algoritmo di firma digitale (DSA)

Un algoritmo di firma digitale è un tipo di algoritmo di crittografia a chiave pubblica utilizzato per generare firme elettroniche. Consente al destinatario di autenticare l'identità del mittente e verificare l'origine del messaggio.

È interessante notare che un mittente inserisce la propria firma elettronica utilizzando la chiave privata, che viene verificata da un destinatario con l'aiuto della chiave pubblica corrispondente. In poche parole, una chiave privata è unica; una singola persona o entità può usarlo. Tuttavia, chiunque può autenticare l'origine del messaggio utilizzando la chiave pubblica poiché è disponibile per tutti.

Gli algoritmi di firma digitale hanno una forza sostanziale, ma la lunghezza della firma è inferiore rispetto ad altri algoritmi di firma. La sua velocità di calcolo è inferiore e richiede meno spazio di archiviazione per funzionare.

Crittografia a curva ellittica (ECC)

La crittografia a curva ellittica è un tipo di crittografia a chiave pubblica che sfrutta la teoria della curva ellittica per generare chiavi crittografiche efficienti ed efficaci. ECC genera chiavi attraverso le proprietà delle equazioni di curve ellittiche piuttosto che fattorizzare due grandi numeri primi.

È popolare nelle applicazioni mobili poiché fornisce lo stesso livello di sicurezza con una chiave a 256 bit che altri sistemi di crittografia come RSA forniscono in una chiave a 3072 bit utilizzando una potenza di calcolo inferiore e meno risorse della batteria.

Con il continuo sviluppo dell'informatica quantistica, gli algoritmi di crittografia che dipendono dalla fattorizzazione di due grandi numeri primi saranno più facili da decifrare. La distribuzione delle chiavi ECC e Quantum potrebbe essere la migliore alternativa ragionevole per crittografare i dati nei giorni a venire.

Crittografia a chiave pubblica in TLS/SSL

Il protocollo TLS/SSL garantisce comunicazioni crittografate su una rete sfruttando la crittografia asimmetrica e simmetrica fornendo al contempo la sicurezza dei dati end-to-end. In un handshake TLS/SSL, il server concorda su un algoritmo di crittografia. I siti Web dispongono di certificati TLS/SSL che contengono la chiave pubblica, mentre la chiave privata è installata sul server.

Le comunicazioni tra client e server vengono quindi crittografate utilizzando l'algoritmo di crittografia deciso e le chiavi corrispondenti. Aiuta a proteggere i messaggi da hacker malintenzionati e garantisce un canale di comunicazione sicuro tra un client e un server.

Nell'intero processo, non è necessario condividere le chiavi crittografiche. La chiave pubblica del destinatario viene utilizzata per crittografare un messaggio che può essere decrittografato solo dalla chiave privata del destinatario.

La crittografia a chiave pubblica è migliore?

La crittografia a chiave pubblica consiste nell'utilizzo di due chiavi, fornendo un metodo di crittografia più sicuro rispetto alla crittografia simmetrica. Non ci sono scambi di chiavi private nella crittografia a chiave pubblica che elimina il fastidio della gestione delle chiavi. Al contrario, se una chiave privata scambiata viene rubata o persa nella crittografia simmetrica, può compromettere l'intero sistema.

La crittografia a chiave pubblica segue un complesso processo di crittografia dei messaggi. Richiede più tempo e talvolta risorse rispetto alla crittografia simmetrica, ma offre una maggiore sicurezza. Crittografa anche i certificati digitali in modo che gli hacker malintenzionati non possano accedervi anche se sono compromessi.

La scelta della crittografia dipenderà dal suo utilizzo, dalla natura del dispositivo, dall'archiviazione, dalla potenza di calcolo, dal livello di sicurezza e da altri elementi. A seconda di questi parametri, sia i crittosistemi simmetrici che quelli asimmetrici avranno i loro vantaggi e svantaggi.

Vantaggi della crittografia a chiave pubblica

Il principale vantaggio dell'utilizzo della crittografia a chiave pubblica è una maggiore sicurezza dei dati. Poiché gli utenti non devono condividere, trasmettere o rivelare le proprie chiavi private a nessuno, riduce il rischio che un criminale informatico intercetti una chiave privata e la sfrutti per decrittografare le comunicazioni.

Aiuta gli utenti ad affrontare le sfide di distribuzione delle chiavi affrontate durante l'utilizzo della crittografia a chiave privata. Consente alle organizzazioni di mantenere la riservatezza e l'integrità dei dati, con conseguente sicurezza delle informazioni più solida.

Oltre alla forza della crittografia, la crittografia a chiave pubblica consente anche agli utenti di verificare le identità digitali garantendo al contempo il non ripudio. Questi vantaggi hanno reso la crittografia asimmetrica una scelta popolare di crittografia, da Pretty Good Privacy (PGP) e HTTPS a OpenID Connect (OIDC) e WebAuthN.

Sfide della crittografia a chiave pubblica

Il principale svantaggio della crittografia a chiave pubblica è la bassa velocità con cui viene eseguito il processo di crittografia. Occorrono più potenza di calcolo e memoria per generare una coppia di chiave pubblica e chiave privata, utilizzando complesse operazioni matematiche che implicano una considerevole fattorizzazione dei numeri primi.

Alcune sfide comuni della crittografia a chiave pubblica sono:

  • Attacchi di forza bruta: i computer con un'elevata potenza di calcolo possono trovare i dettagli della chiave privata eseguendo ricerche approfondite.
  • Sfide di programmazione: gli utenti potrebbero dover affrontare una curva di apprendimento ripida prima di implementare la crittografia a chiave pubblica.
  • Gestione delle chiavi : sebbene non siano necessari scambi di chiavi tra un mittente e un destinatario, un iniziatore deve comunque gestire autonomamente la propria chiave privata.

Equipaggia per crittografare

Equipaggia il tuo stack di sicurezza con un software di crittografia e proteggi ogni comunicazione che deve rimanere privata. La crittografia a chiave pubblica ti aiuterà a fornire una protezione solida ai tuoi dati con un complesso meccanismo di crittografia.

Insieme alla crittografia e ad altre difese di sicurezza, sarai in grado di garantire la sicurezza delle informazioni e rispettare gli standard normativi.

Scopri cos'altro ti occorre per rafforzare la sicurezza delle informazioni nella tua organizzazione.