Che cos'è la crittografia?

La crittografia è la pratica di proteggere le informazioni attraverso l'uso di algoritmi codificati, hash e firme. Le informazioni possono essere a riposo (come un file su un disco rigido), in transito (come una comunicazione elettronica scambiata tra due o più parti) o in uso (durante l'elaborazione dei dati). La crittografia ha quattro obiettivi principali:

  • Riservatezza: rende le informazioni disponibili solo agli utenti autorizzati.
  • Integrità: assicura che le informazioni non siano state manipolate.
  • Autenticazione: conferma l'autenticità delle informazioni o l'identità di un utente.
  • Non ripudio: impedisce a un utente di negare impegni o azioni precedenti.

La crittografia utilizza una serie di algoritmi crittografici di basso livello per raggiungere uno o più di questi obiettivi di sicurezza delle informazioni. Questi strumenti includono algoritmi di crittografia, di firma digitale, hash e altre funzioni. In questa pagina vengono descritti alcuni degli algoritmi crittografici di basso livello più comunemente utilizzati.

Per cosa viene utilizzata la crittografia?

La crittografia affonda le sue radici nell'invio di informazioni sensibili tra figure militari e politiche. I messaggi venivano crittografati in modo da apparire come testo casuale a chiunque tranne che al destinatario.

Oggi, le tecniche di crittografia originali sono state completamente violate, tant'è che ormai si possono trovare solo nei rompicapo di qualche quotidiano. Fortunatamente, il settore della sicurezza ha fatto notevoli progressi e gli algoritmi utilizzati oggi fanno affidamento su analisi rigorose e sulla matematica ai fini della sicurezza.

Con il progredire della sicurezza, il campo della crittografia si è ampliato per includere una gamma più ampia di obiettivi di sicurezza. Tra questi sono inclusi l'autenticazione dei messaggi, l'integrità dei dati, il calcolo sicuro e altro ancora.

La crittografia è alla base della società moderna. È il fulcro di innumerevoli applicazioni Internet tramite Secure Hypertext Transfer Protocol (HTTPS), testo sicuro e comunicazioni vocali, nonché valute digitali.

Che cos'è la crittografia?

Un algoritmo di crittografia è una procedura che converte un messaggio in un testo semplice in un testo criptato crittografato. Gli algoritmi moderni utilizzano la matematica avanzata e una o più chiavi di crittografia. Queste rendono relativamente semplice la crittografia di un messaggio, ma è praticamente impossibile decrittografarlo se non si conoscono le chiavi.

Le tecniche di crittografia rientrano in due categorie, simmetrica e asimmetrica, a seconda della funzione delle chiavi.

Che cos'è la crittografia a chiave simmetrica?

Gli algoritmi crittografici a chiave simmetrica utilizzano le stesse chiavi sia per la crittografia del testo semplice che per la decrittografia del testo criptato. La crittografia simmetrica richiede che tutti i destinatari dei messaggi abbiano accesso a una chiave condivisa.

Le immagini seguenti mostrano come crittografia e decrittografia utilizzano chiavi simmetriche e algoritmi, garantendo che tutte le parti condividano la stessa chiave.

Nella prima immagine, vengono utilizzati una chiave simmetrica e un algoritmo per convertire un messaggio di testo semplice in testo criptato. La seconda immagine mostra la stessa chiave segreta e lo stesso algoritmo simmetrico utilizzati per ritrasformare il testo criptato in testo non crittografato.                

  

Una delle cifrature a blocchi più famosa è Advanced Encryption Standard (AES). Questa cifratura supporta le chiavi da 128, 192 o 256 bit. L'AES è spesso combinata con Galois/Counter Mode ed è conosciuta come AES-GCM per creare un algoritmo di crittografia autenticato.

AES è lo standard del settore per la crittografia ed è infatti eseguita in tutto il mondo. La sua sicurezza è nota e le implementazioni software e hardware efficienti sono ampiamente disponibili.

Che cos'è la crittografia asimmetrica (a chiave pubblica)?

 

La crittografia asimmetrica (o a chiave pubblica) è composta da un ampio set di algoritmi. Questi algoritmi si basano su problemi matematici relativamente semplici da utilizzare in una direzione, ma che non possono essere invertiti.

Un esempio famoso di questo tipo di problema è quello della fattorizzazione: per i numeri primi p e q scelti accuratamente, possiamo calcolare rapidamente il prodotto N=p*q. Tuttavia, dato solo N, è difficile recuperare p e q.

Un algoritmo crittografico a chiave pubblica comune basato sul problema della fattorizzazione è la funzione Rivest-Shamir-Adleman (RSA). Quando combinata con uno schema di riempimento, la funzione RSA può essere utilizzata per più funzioni, tra cui la crittografia asimmetrica.

Uno schema di crittografia è chiamato asimmetrico se utilizza una chiave, quella pubblica, per crittografare i dati e una chiave diversa ma matematicamente correlata, quella privata, per decrittografarli.

A livello di calcolo, deve essere impossibile determinare la chiave privata se l'unico elemento conosciuto è la chiave pubblica. Per questo, la chiave pubblica può essere ampiamente distribuita, mentre quella privata viene tenuta segreta e protetta. Quando le due chiavi vengono considerate insieme, si parla di coppia di chiavi.

Uno schema di crittografia asimmetrica conosciuto è RSA-OAEP, una combinazione della funzione RSA con lo schema di riempimento Optimal Asymmetric Encryption Padding (OAEP). Essendo lento e avendo un testo criptato molto più ampio di quello non crittografato, lo schema RSA-OAEP viene generalmente utilizzato per crittografare piccole quantità di dati.

Che cos'è la crittografia ibrida?

Dato che gli algoritmi di chiave pubblica come RSA-OAEP sono meno efficaci della loro controparte simmetrica, non vengono generalmente utilizzati per crittografare direttamente i dati. Tuttavia, hanno un ruolo importante nell'ecosistema crittografico perché forniscono un metodo di scambio di chiavi.

Per utilizzare la crittografia simmetrica, le parti devono condividere una chiave. Anche se questa chiave può essere inviata su un canale crittografato esistente, non avremmo bisogno di una nuova chiave se avessimo già un canale sicuro. Invece, risolviamo il problema dello scambio di chiavi utilizzando la crittografia a chiave pubblica.

Ecco due metodi comuni per lo scambio di chiavi simmetriche.

  • Crittografia asimmetrica. Una parte genera una chiave simmetrica, poi crittografa la chiave utilizzando un algoritmo come RSA-OAEP sulla chiave pubblica di un'altra parte. Il ricevente può decrittografare il testo criptato utilizzando la chiave privata per recuperare la chiave simmetrica.
  • Scambio di chiavi Diffie-Hellman (DH). Diffie-Hellman è un tipo diverso di algoritmo crittografico a chiave pubblica creato specificamente per aiutare le parti a concordare su una chiave simmetrica in assenza di un canale sicuro. Diffie-Hellman si basa su un problema matematico diverso rispetto alla funzione RSA ed è meno flessibile dell'RSA. Tuttavia, ha delle costruzioni più efficienti che lo rendono preferibile in alcuni casi d'uso.

Questa combinazione di crittografia a chiave pubblica per lo scambio di chiavi e crittografia simmetrica per la crittografia dei dati in blocco è conosciuta come crittografia ibrida.

La crittografia ibrida utilizza le proprietà uniche della crittografia a chiave pubblica per scambiare le informazioni dei segreti su un canale inaffidabile con l'efficienza di una crittografia simmetrica. Questo permette una soluzione end-to-end pratica per la privacy dei dati.

La crittografia ibrida viene utilizzata ampiamente nei protocolli di trasferimento dati per il Web, come in Transport Layer Security (TLS). Quando ti connetti a un sito Web che utilizza HTTPS (HTTP protetto con TLS), il tuo browser negozierà gli algoritmi crittografici che proteggono la connessione. Tra questi ci sono gli algoritmi per lo scambio di chiavi, la crittografia simmetrica e le firme digitali.

Che cos'è la firma digitale?

Gli schemi per la firma digitale sono un tipo di crittografia a chiave pubblica che assicura l'integrità, l'autenticità e il non ripudio dei dati.

Il processo di firma può essere pensato come una crittografia del file tramite una chiave privata. Il firmatario utilizza la chiave privata per produrre una "firma" su un documento digitale, come un file o un codice.

La firma è unica per il documento/la coppia di chiavi private e può essere allegata al documento e verificata con la chiave pubblica del firmatario. Due algoritmi comuni per le firme digitali sono gli RSA con Probabilistic Signature Scheme (RSA-PSS) e Digital Signature Algorithm (DSA).

Che cos'è un codice di autenticazione del messaggio?

Un codice di autenticazione del messaggio (MAC) è una versione simmetrica della firma digitale. Con un MAC, due o più parti condividono una chiave. Una parte crea un tag MAC, che è la versione simmetrica della firma digitale, e lo allega al documento. L'altra parte può verificare l'integrità del messaggio utilizzando la stessa chiave impiegata per la creazione del tag.

Ricordiamo che più parti condividono la chiave utilizzata per creare i tag MAC, quindi i MAC non possono essere utilizzati per l'autenticazione o il non ripudio, dato che non è chiaro quale parte abbia creato il tag.

I MAC possono essere algoritmi autonomi, come il codice di autenticazione dei messaggi basato su hash (HMAC). Tuttavia, dato che l'integrità del messaggio è quasi sempre una garanzia di valore, viene frequentemente integrato in algoritmi di crittografia simmetrica come AES-GCM.

Che cos'è la crittografia ellittica?

La crittografia ellittica (ECC) è una tecnica di crittografia a chiave pubblica basata sulla teoria matematica delle curve ellittiche.

Il suo più grande vantaggio è che può fornire un livello di protezione simile a quello delle tecniche tradizionali, ma con chiavi più piccole e operazioni più rapide. L'efficienza della crittografia ellittica la rende perfetta per l'utilizzo nei dispositivi con forza di calcolo relativamente bassa, come i cellulari.

La ECC può essere utilizzata per lo scambio efficace di chiavi utilizzando una variante ellittica di Diffie-Hellman (ECDH) o per le firme digitali utilizzando Elliptic Curve Digital Signature Algorithm (ECDSA). Con la sua velocità e flessibilità, la crittografia ellittica è ampiamente utilizzata su più applicazioni in Internet.

Che cos'è l'hashing in crittografia?

Una funzione hash crittografica è uno strumento che trasforma i dati arbitrari in un'impronta a lunghezza fissa. Le funzioni hash sono create in modo che sia difficile trovare due input diversi con la stessa impronta e individuare un messaggio con impronte corrispondenti a un valore fisso.

A differenza degli schemi di crittografia, quelli di firma e i MAC, le funzioni hash non hanno una chiave. Chiunque può calcolare l'hash di un input e la funzione hash produrrà sempre lo stesso output sullo stesso input.

Le funzioni hash sono una base importante negli algoritmi e nei protocolli crittografici più ampi. Tra loro ci sono gli algoritmi per la firma digitale, quelli MAC dedicati, i protocolli di autenticazione e l'archiviazione di password.

Che cos'è la criptovaluta?

La criptovaluta è una valuta digitale nella quale le transazioni vengono verificate e i registri vengono mantenuti da un sistema decentralizzato, piuttosto che da un'autorità centralizzata. La criptovaluta è un esempio di applicazione di crittografia

e utilizza diversi algoritmi crittografici di basso livello per creare una piattaforma sicura e affidabile. La criptovaluta utilizza molti dei concetti discussi su questa pagina: la crittografia ellittica, le firme digitali, le funzioni hash e molti altri. Insieme, questi algoritmi permettono di creare affidabilità e responsabilità senza un'autorità centralizzata.

Che cos'è la crittografia post-quantistica?

Negli ultimi decenni, sono stati fatti degli investimenti significativi sul calcolo quantistico. I computer quantistici utilizzano la fisica quantistica per risolvere i problemi matematici, come quello della fattorizzazione, che a livello di calcolo non sono gestibili con i computer tradizionali.

Un computer quantistico su larga scala romperebbe i crittosistemi di chiave pubblica che utilizziamo oggi, compresi quelli basati sulle funzioni Rivest-Shamir-Adleman (RSA). Una rottura di questi algoritmi significherebbe una perdita di riservatezza e autenticazione di molte applicazioni e protocolli che utilizziamo oggi.

Anche se oggi esistono computer quantistici piccoli, sono troppo piccoli per rompere gli algoritmi crittografici. Non si sa se o quando sarà disponibile un computer quantistico crittograficamente rilevante (CRQC). Sono necessari dei progressi scientifici significativi per poterlo sviluppare.

La crittografia post-quantistica (PQC) si riferisce agli algoritmi crittografici eseguiti sui computer che utilizziamo oggi e che non sono notoriamente vulnerabili rispetto a un computer quantistico di larga scala.

Scopri di più sul ruolo della ricerca e dell'ingegneria AWS in progetti e gruppi di lavoro di crittografia a resistenza quantistica con la comunità crittografica globale della crittografia post-quantistica di AWS.

Che cos'è il calcolo crittografico?

Gli strumenti introdotti finora consentono di utilizzare la crittografia a riposo e quella in transito. Tradizionalmente, i dati dovevano essere decrittati prima di poter essere utilizzati in un'operazione di calcolo. Il calcolo crittografico risolve questo problema fornendo gli strumenti per operare direttamente sui dati protetti da crittografia.

Il termine calcolo crittografico si riferisce a un'ampia gamma di tecnologie, tra cui il calcolo multilaterale, la crittografia omomorfica e la crittografia ricercabile. Anche se differiscono per alcuni dettagli, queste tecnologie proteggono i dati a livello crittografico in modo tale da permetterti di realizzare operazioni di calcolo sui dati protetti preservando al contempo la loro riservatezza.

Quali servizi crittografici fornisce AWS ai clienti?

I servizi di crittografia di AWS utilizzano un'ampia gamma di tecnologie di archiviazione e crittografia che assicurano l'integrità dei dati a riposo e in transito. AWS offre diversi strumenti per le operazioni di crittografia:

Molti servizi AWS si affidano a questi servizi di crittografia durante il trasferimento di dati o l'archiviazione. Per visualizzare una lista di questi servizi e una panoramica su come utilizzano le pratiche di crittografia, consulta Altri servizi AWS.

AWS offre anche librerie crittografiche open-source:

  • AWS libcrypto (AWS-LC) offre una libreria crittografica a scopo generico mantenuta dal team di crittografia AWS per AWS e i suoi clienti. Si basa sul codice dei progetti Google BoringSSL e OpenSSL. AWS-LC contiene implementazioni C portabile di algoritmi necessarie per TLS e le applicazioni comuni. Per gli algoritmi di prestazione critici, le versioni di assemblaggio ottimizzate sono incluse per x86 e ARM.
  • s2n-tls fornisce un'implementazione dei protocolli TLS/SSL progettata per essere semplice, piccola e rapida e con la sicurezza come priorità.

Puoi consultare anche il blog di Amazon Science e il blog di AWS Security. In questi blog, spieghiamo dettagliatamente cosa stiamo facendo per sviluppare, confrontare e prototipare la ricerca crittografica. Scriviamo sul calcolo crittografico, la crittografia post-quantistica, il codice di crittografia verificato e molto altro.

Come posso utilizzare i servizi di crittografia in AWS che sono conformi alle normative ufficiali e professionali?

I servizi di crittografia di AWS rispondono a una lunga serie di standard di sicurezza crittografica e, per questo motivo, facilitano la protezione dei dati senza doversi preoccupare delle normative ufficiali e professionali. Per visualizzare la lista completa della conformità con gli standard di sicurezza, consulta Programmi per la conformità di AWS.

Passaggi successivi della crittografia di AWS

Scopri ulteriori risorse correlate al prodotto
Visualizza le offerte gratuite per i servizi di sicurezza nel cloud 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al piano gratuito di AWS. 

Registrati 
Inizia a lavorare con la console

Inizia subito a sviluppare nella Console di gestione AWS.

Accedi