Cos'è la crittografia a chiave pubblica?

Autori

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Cos'è la crittografia a chiave pubblica?

La crittografia a chiave pubblica è un tipo di sistema crittografico che utilizza una coppia di chiavi collegate matematicamente (una pubblica e una privata) per crittografare e decrittografare i dati. Una "chiave" è una stringa di dati univoca che funge da password per bloccare o sbloccare informazioni crittografate, consentendo a persone e sistemi di scambiare informazioni sensibili.

 

Noto anche come crittografia asimmetrica  o crittografia a chiave pubblica, questo approccio alla sicurezza differisce dalla crittografia simmetrica in un modo fondamentale, poiché utilizza due chiavi distinte anziché una chiave condivisa.

Nei sistemi simmetrici come l'Advanced Encryption Standard (AES), entrambe le parti utilizzano la stessa chiave segreta, ovvero una chiave temporanea condivisa da entrambe le parti, per crittografare e decrittografare i dati. Questo approccio richiede che la chiave sia preventivamente scambiata in modo sicuro. La crittografia a chiave pubblica evita questo problema utilizzando una chiave pubblica per crittografare e una chiave privata per decrittografare. È come una casella di posta in cui chiunque può inserire una lettera, ma che solo il proprietario può aprire.

Questa separazione consente una comunicazione sicura su reti non attendibili. Supporta anche funzionalità aggiuntive come firme digitali, autenticazione e non ripudio (prova innegabile della proprietà).

In pratica, i due approcci alla sicurezza sono spesso abbinati: la crittografia a chiave pubblica stabilisce un segreto condiviso che viene poi utilizzato per una crittografia simmetrica più rapida dei dati effettivi.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Perché la crittografia a chiave pubblica è importante?

La crittografia a chiave pubblica risolve una delle sfide più complesse della cybersecurity, ovvero proteggere le informazioni sensibili in ambienti in cui la fiducia è limitata o inesistente.

Secondo il Transparency Report di Google, gli utenti desktop caricano più della metà delle pagine visualizzate su Hypertext Transfer Protocol Secure (HTTPS) e trascorrono due terzi del proprio tempo su pagine crittografate. L'HTTPS si basa su protocolli crittografici come Secure Sockets Layer (SSL) e Transport Layer Security (TLS), che proteggono i dati in transito crittografando la connessione tra i sistemi. Sebbene tecnicamente distinti, SSL e TLS vengono spesso utilizzati in modo intercambiabile, sebbene TLS sia il successore più moderno e sicuro di SSL.

Durante l'handshake iniziale, la comunicazione sicura viene stabilita tramite certificati SSL/TLS, che sono credenziali digitali che verificano l'identità di un sito web e stabiliscono una connessione crittografata. Il sito utilizza la crittografia a chiave pubblica per scambiare in modo sicuro un segreto condiviso che viene poi utilizzato per crittografare il resto della sessione con una crittografia simmetrica più veloce.

Con milioni di certificati SSL/TLS emessi ogni giorno, che a volte raggiungono i 340.000 certificati TLS all'ora, la crittografia a chiave pubblica è alla base delle connessioni sicure stabilite ogni giorno. In tal modo, costituisce la spina dorsale di una comunicazione digitale sicura.

Oltre a rafforzare i siti web, la crittografia a chiave pubblica offre diverse funzionalità essenziali che rendono possibile una comunicazione sicura:

  • Supporta la riservatezza consentendo a qualsiasi mittente di crittografare i messaggi utilizzando la chiave pubblica del destinatario. Solo la chiave privata corrispondente può decrittografarli, mantenendo i dati al sicuro dagli accessi non autorizzati.
  • Garantisce l'identità e l'integrità tramite firme digitali. Un mittente può firmare un messaggio con la propria chiave privata e il destinatario può verificare tale firma utilizzando la chiave pubblica corrispondente, abilitando l'autenticazione e il non ripudio.
  • Consente lo scambio sicuro di chiavi, consentendo ai sistemi di avviare la crittografia senza trasmettere un segreto condiviso sulla rete.
  • Stabilisce la fiducia, soprattutto se integrata con l' infrastruttura a chiave pubblica (PKI) e i certificati digitali, che associano le chiavi pubbliche alle identità verificate tramite un'autorità di certificazione.

Queste funzionalità sono alla base di molti protocolli e applicazioni di sicurezza odierni, tra cui il trasferimento di file sicuro, le e-mail crittografate e vari modelli di sistemi crittografici utilizzati nel cloud computing e oltre.

Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona la crittografia a chiave pubblica

La crittografia a chiave pubblica si basa su una serie di processi interconnessi, ciascuno dei quali è essenziale per consentire comunicazioni sicure e verificabili su larga scala.

  • Generazione e distribuzione delle chiavi
  • Crittografia e decrittografia
  • Crittografia ibrida e segreti condivisi
  • Firme digitali e integrità
  • Implementazione e sicurezza 

Generazione e distribuzione delle chiavi

Gli algoritmi crittografici come l'algoritmo RSA (dal nome dei fondatori Rivest, Shamir e Adleman) e Diffie-Hellman sono utilizzati per generare una coppia di chiavi pubbliche e private. 

Questi algoritmi si basano su complessi problemi matematici, come la scomposizione di grandi numeri primi o la risoluzione di logaritmi discreti, facili da calcolare in una direzione, ma difficili da invertire senza la chiave privata.

La chiave pubblica è ampiamente condivisa tramite directory, application programming interface (API) o certificati digitali emessi da un'autorità di certificazione. La chiave privata rimane riservata. In caso di smarrimento o furto, non può essere recuperata, creando una grave vulnerabilità. Se compromessa, una chiave privata può consentire agli aggressori di decrittografare i messaggi, falsificare le firme digitali o impersonare utenti legittimi.

Le organizzazioni utilizzano spesso chiavi correlate per diverse attività: una chiave asimmetrica per la firma, un'altra per la crittografia e chiavi temporanee per sessioni di breve durata. Gestire efficacemente queste chiavi crittografiche è d'importanza critica per la sicurezza di qualsiasi sistema di crittografia.

Crittografia e decrittografia

Per crittografare i dati, il mittente utilizza la chiave pubblica del destinatario. Questo trasforma il testo in chiaro (dati leggibili) in testo cifrato, che appare codificato e illeggibile senza la corretta chiave. Solo la chiave privata corrispondente del destinatario può decrittografare il testo cifrato e ripristinarlo nella sua forma originale leggibile.

Questo approccio di crittografia consente una comunicazione sicura senza richiedere un precedente scambio di chiavi segrete. Protegge dagli attacchi man-in-the-middle (MITM) assicurando che solo il destinatario previsto possa decrittografare il messaggio.

Crittografia ibrida e segreti condivisi

Sebbene la crittografia asimmetrica elimini la necessità di scambiare in anticipo un segreto condiviso, viene spesso utilizzata per stabilirne uno in modo sicuro. Questo segreto condiviso viene poi utilizzato con algoritmi di crittografia simmetrica per proteggere i dati in transito, che si tratti di un numero di carta di credito o di messaggi privati tra utenti.

La crittografia a chiave simmetrica, nota anche come crittografia simmetrica, è più efficiente per grandi quantità di dati. Un sistema di crittografia ibrido combina quindi questa forza con quella della crittografia a chiave pubblica. Utilizza la crittografia a chiave pubblica per garantire la distribuzione sicura delle chiavi, quindi passa a una crittografia a chiave simmetrica come AES per i dati stessi.

Firme digitali e integrità

Le firme digitali consentono ai mittenti di firmare i dati utilizzando la propria chiave privata. La firma può essere verificata da chiunque utilizzi la chiave pubblica, confermando l'identità del mittente e l'integrità dei dati.

Algoritmi come il Digital Signature Algorithm (DSA) e l'Elliptic Curve Digital Signature Algorithm (ECDSA) svolgono un ruolo critico nel raggiungimento del non ripudio e della fiducia. Sono ampiamente utilizzati nella distribuzione del software, negli aggiornamenti sicuri e nei workflow per la firma dei documenti.

Implementazione e sicurezza

La forza di un sistema di crittografia dipende dagli algoritmi crittografici, dalla lunghezza delle chiavi e dalle pratiche di gestione delle chiavi. Una cattiva implementazione o chiavi brevi lasciano i sistemi aperti agli attacchi di forza bruta.

Il National Institute for Standards and Technology (NIST) raccomanda una lunghezza delle chiavi di almeno 2048 bit per RSA e di 256 bit per la crittografia a curva ellittica. I protocolli di distribuzione delle chiavi e la solida implementazione dell'algoritmo di crittografia sono considerati essenziali per la protezione dei dati a lungo termine.

Algoritmi comuni di crittografia a chiave pubblica

Diversi algoritmi di crittografia delle chiavi offrono diversi compromessi in termini di prestazioni e sicurezza:

RSA

RSA è un elemento fondamentale della crittografia asimmetrica. Si basa sulla difficoltà di fattorizzare numeri di grandi dimensioni e supporta sia la crittografia che le firme digitali.

Digital Signature Algorithm (DSA)

Sviluppato dal NIST, il DSA supporta le firme digitali e soddisfa i requisiti di conformità agli standard FIPS (Federal Information Processing Standards).

Diffie-Hellman

Questo algoritmo è noto per lo scambio sicuro di chiavi e per la creazione di una chiave segreta condivisa su canali non affidabili.

Esistono anche approcci più ampi per implementare la crittografia a chiave pubblica. Un esempio è la crittografia a curva ellittica (ECC), una famiglia di algoritmi crittografici che consentono una crittografia avanzata con chiavi più piccole e un carico computazionale ridotto. 

Gli algoritmi di firma digitale specifici basati su curve ellittiche, come Edwards-Curve DSA (EdDSA) ed Elliptic Curve DSA (ECDSA), sono ampiamente adottati nelle architetture Secure Shell (SSH), JSON Web Tokens (JWT) e zero trust. La loro efficienza li rende particolarmente utili negli ambienti Internet of Things (IoT) e mobile.

Altri approcci emergenti, come la crittografia lattice-based e hash-based, hanno il potenziale per resistere agli attacchi dei computer quantistici. Questi algoritmi post-quantum fanno parte degli sforzi continui per rendere i sistemi di crittografia a prova di futuro, via via che le minacce computazionali si evolvono. 

Casi d'uso della crittografia a chiave pubblica

La crittografia a chiave pubblica è presente in quasi tutti i moderni framework di cybersecurity, che si tratti di salvaguardare le transazioni di e-commerce o di abilitare accessi remoti sicuri ai server. I casi d'uso più comuni includono: 

  • TLS/SSL (Transport Layer Security): protegge le sessioni web, come quelle tra un browser e un sito web bancario, utilizzando la chiave pubblica del destinatario per crittografare una chiave di sessione condivisa. Questo supporta la comunicazione crittografata utilizzando la crittografia a chiave simmetrica per il resto della sessione.
  • Sicurezza e-mail (S/MIME, PGP): protegge i messaggi in transito utilizzando la crittografia a chiave pubblica per garantire che solo il destinatario previsto possa leggere il contenuto. Le firme digitali verificano anche l'identità del mittente e l'integrità del messaggio.
  • Autenticazione SSH: consente l'accesso remoto sicuro tramite una coppia di chiavi. Il cliente dimostra di essere in possesso di una chiave privata senza esporla, contribuendo a prevenire gli attacchi MITM.
  • Certificati digitali e convalida dell'identità: in una PKI, le autorità di certificazione rilasciano certificati digitali che associano le chiavi pubbliche alle identità verificate, consentendo agli utenti e ai sistemi di fidarsi l'uno dell'altro su tutte le reti.
  • Blockchain e crittografia: la crittografia a chiave pubblica svolge un ruolo centrale nei sistemi decentralizzati come le blockchain. Le chiavi private vengono utilizzate per firmare le transazioni, mentre le chiavi pubbliche fungono da indirizzo che altri possono utilizzare per verificare e inviare asset.
  • Cloud computing: servizi come Amazon Web Services (AWS) e Google Cloud utilizzano la crittografia envelope per proteggere i dati, abbinando le chiavi simmetriche alla crittografia a chiave pubblica per una distribuzione sicura delle chiavi su larga scala.
  • Firma dei documenti: le firme digitali confermano l'autenticità dei documenti, garantiscono l'integrità dei dati e supportano la il non ripudio legale dimostrando l'identità del firmatario.
  • Autenticazione del sistema AI: con gli agenti di intelligenza artificiale (AI) che agiscono per conto di utenti e sistemi, la crittografia a chiave pubblica garantisce una verifica sicura dell'identità e interazioni API crittografate.
  • Preparazione al quantum: poiché il calcolo quantistico minaccia di compromettere gli algoritmi di crittografia tradizionali, le organizzazioni stanno iniziando a esplorare tecniche crittografiche quantum-safe per rendere la propria infrastruttura a prova di futuro.
Soluzioni correlate
Soluzioni per la sicurezza e la protezione dei dati

Proteggi i dati aziendali in ambienti diversi, rispetta le normative sulla privacy e semplifica le complessità operative.

    Scopri le soluzioni per la sicurezza dei dati
    IBM Guardium

    Scopri IBM Guardium, una famiglia di software di sicurezza dei dati che protegge i dati sensibili on-premise e nel cloud.

     

      Esplora IBM Guardium
      Servizi per la sicurezza dei dati

      IBM offre servizi completi di sicurezza dei dati per proteggere i dati aziendali, le applicazioni e l'AI.

      Scopri i servizi per la sicurezza dei dati
      Fai il passo successivo

      Proteggi i dati della tua organizzazione in tutti i cloud ibridi e semplifica i requisiti di conformità con le soluzioni di sicurezza dei dati.

      Scopri le soluzioni per la sicurezza dei dati Prenota una demo live