Funzionalità di AWS Key Management Service

Panoramica

AWS Key Management Service (KMS) offre funzionalità di controllo delle chiavi di crittografia utilizzate per proteggere i dati. AWS KMS fornisce un controllo centralizzato sul ciclo di vita e sulle autorizzazioni delle chiavi. Puoi creare nuove chiavi ogni volta che vuoi e puoi controllare chi può gestirle separatamente da chi può utilizzarle. Il servizio è integrato con altri servizi AWS, il che semplifica la crittografia dei dati archiviati in questi servizi e il controllo dell'accesso alle chiavi che li decrittografano. AWS KMS è anche integrato con AWS CloudTrail e ciò consente di monitorare chi ha utilizzato quali chiavi, su quali risorse e quando. AWS KMS consente agli sviluppatori di aggiungere più facilmente la funzionalità di crittografia o firma digitale al codice dell'applicazione direttamente o utilizzando AWS SDK. SDK di crittografia AWS supporta AWS KMS come provider di chiavi per gli sviluppatori che devono crittografare/decrittografare i dati localmente all'interno delle loro applicazioni

Caratteristiche principali

Se hai abilitato AWS CloudTrail per l'account AWS, ogni richiesta effettuata ad AWS KMS viene registrata in un file di log. Questo file di log viene consegnato al bucket Amazon Simple Storage Service (Amazon S3) specificato quando è stato abilitato AWS CloudTrail. Le informazioni registrate includono i dettagli relativi a utente, ora, data, operazione API e chiave utilizzata, laddove rilevante.

AWS KMS è un servizio completamente gestito. Se fai ampio uso della funzionalità di crittografia, il servizio ridimensiona automaticamente le risorse in base alle tue esigenze. Consente di gestire decine di migliaia di chiavi KMS nel tuo account e di usarle in qualsiasi momento. Stabilisce dei limiti di default per il numero di chiavi e la frequenza di richieste, ma possono essere aumentati in caso di necessità.

Le chiavi KMS create o quelle create per conto tuo da altri servizi AWS non possono essere esportate dal servizio. AWS KMS si assume quindi la responsabilità della loro durabilità. Per garantire la costante disponibilità delle chiavi e dei dati, AWS KMS memorizza più copie delle versioni crittografate delle chiavi in sistemi caratterizzati da una durabilità pari al 99,999999999%.

Per dati crittografati o flussi di lavoro di firma digitale che si spostano tra le regioni (ripristino di emergenza, architetture ad alta disponibilità multi-regione, tabelle globali DynamoDB e firme digitali coerenti distribuite a livello globale), è possibile creare chiavi multi-regione KMS. Le chiavi multi-regione di KMS sono un insieme di chiavi interoperabili con lo stesso materiale chiave e gli stessi ID chiave che possono essere replicati in più regioni.

AWS KMS è progettato per essere un servizio a disponibilità elevata con un endpoint API regionale. Dal momento che la maggior parte dei servizi AWS utilizza AWS KMS per i servizi di crittografia e decrittografia, questo è strutturato in modo da fornire un livello di disponibilità. Questa disponibilità supporta il resto di AWS e si basa sullo SLA di AWS KMS.

AWS KMS è progettato in modo che nessuno, nemmeno i dipendenti di AWS, possa ottenere dal servizio le chiavi in chiaro. Il servizio utilizza moduli di sicurezza hardware (HSM) che vengono continuamente convalidati nel Programma di convalida dei moduli crittografici 140-2 dell’U.S. National Institute of Standards and Technology (NIST) Federal Information Processing Standards (FIPS) per proteggere la riservatezza e l'integrità delle chiavi. Gli HSM AWS KMS sono la radice crittografica della fiducia per proteggere le chiavi KMS. Creano un limite sicuro protetto dall'hardware per tutte le operazioni crittografiche che avvengono in KMS. Tutto il materiale chiave per le chiavi KMS generate negli HSM di AWS KMS e tutte le operazioni che richiedono materiale chiave KMS decrittografato avvengono rigorosamente entro i limiti del livello di sicurezza FIPS 140-2 di livello 3 di questi HSM. Gli aggiornamenti del firmware HSM AWS KMS sono controllati da un controllo di accesso multiparte che viene verificato e verificato da un gruppo indipendente all'interno di Amazon; secondo i requisiti FIPS 140, tutte le modifiche del firmware agli HSM KMS vengono inviate a un laboratorio accreditato NIST per la convalida in conformità con il livello di sicurezza 3 di FIPS 140-2.

Le chiavi in chiaro non vengono mai scritte su disco e vengono utilizzate solo nella memoria volatile dei moduli HSM per l'intervallo di tempo strettamente necessario per eseguire l'operazione di crittografia richiesta. Ciò è vero indipendentemente dal fatto che tu richieda a AWS KMS di creare chiavi per tuo conto, importarle nel servizio o crearle in un cluster AWS CloudHSM utilizzando la funzionalità di archivio delle chiavi personalizzate. Puoi scegliere se creare chiavi regionali singole o multiregionali. Le chiavi regionali singole non sono mai trasmesse al di fuori della Regione AWS in cui sono state create e possono essere utilizzate esclusivamente in tale regione.
 

Per maggiori informazioni sulla struttura di AWS KMS e sulla crittografia usata per proteggere le chiavi, consulta il whitepaper Dettagli di crittografia di AWS KMS.

*Nella Regione AWS Cina (Pechino), gestita da Beijing Sinnet Technology Co., Ltd. (“Sinnet”) Sinnet, e nella Regione AWS Cina (Ningxia), gestita da Ningxia Western Cloud Data Technology Co., Ltd. (“NWCD”) NWCD, gli HSM sono approvati dal governo cinese (non conformi allo standard FIPS 140-2) e il whitepaper sopra menzionato non è applicabile.  

AWS KMS consente di creare e utilizzare chiavi KMS asimmetriche e coppie di chiavi di dati. È possibile definire una chiave KMS da utilizzare come coppia di chiavi di firma, come coppia di chiavi di crittografia o coppia di chiavi di negoziazione. La generazione di coppie di chiavi e le operazioni di crittografia asimmetrica che utilizzano queste chiavi KMS vengono eseguite all'interno degli HSM. Puoi richiedere la parte pubblica della chiave KMS asimmetrica per l'utilizzo nelle applicazioni locali, mentre la parte privata non esce mai il servizio. È possibile importare la parte privata di una chiave asimmetrica dalla propria infrastruttura di gestione delle chiavi.

È inoltre possibile richiedere al servizio di generare una coppia di chiavi dati asimmetriche. Questa operazione restituisce una copia in chiaro della chiave pubblica e della chiave privata, nonché una copia della chiave privata crittografata con una chiave KMS simmetrica specifica. È possibile utilizzare la chiave pubblica o privata in chiaro nell'applicazione locale e memorizzare la copia crittografata della chiave privata per un uso futuro.

* Le chiavi asimmetriche non sono supportate con gli archivi di chiavi personalizzate.

Puoi generare e verificare il codice di autenticazione dei messaggi basato su hash (HMAC) dall'interno degli HSM con convalida FIPS 140-2 di AWS KMS. Gli HMAC sono un blocco crittografico che incorpora il materiale della chiave segreta all'interno di una funzione hash per creare un codice di autenticazione del messaggio con chiave univoco. Le chiavi KMS HMAC offrono un vantaggio rispetto alle HMAC del software applicativo perché il materiale delle chiavi viene generato e utilizzato interamente all'interno di AWS KMS. Sono inoltre soggette ai controlli di accesso impostati sulla chiave. Le chiavi KMS HMAC e gli algoritmi HMAC utilizzati da AWS KMS sono conformi agli standard di settore definiti in RFC 2104. Le chiavi KMS HMAC vengono generate nei moduli di sicurezza hardware di AWS KMS certificati nell'ambito del programma di convalida dei moduli crittografici FIPS 140-2 e non lasciano mai AWS KMS non crittografate. Inoltre, è possibile importare la propria chiave HMAC dalla propria infrastruttura di gestione delle chiavi.

*Le chiavi HMAC di AWS KMS non sono supportate negli archivi di chiavi personalizzati.
**FIPS 140-2 non si applica al servizio AWS KMS nella Regione AWS Cina (Pechino), gestita da Sinnet, e nella Regione AWS Cina (Ningxia), gestita da NWCD. L'uso degli HSM nelle Regioni della Cina è invece approvato dal governo cinese.

I controlli di sicurezza e qualità in AWS KMS sono stati convalidati e certificati in base ai seguenti standard di conformità:

AWS KMS viene convalidato e certificato rispetto ad altri standard di conformità riportati qui.

*FIPS 140-2 non si applica al servizio AWS KMS nella Regione AWS Cina (Pechino), gestita da Sinnet, e nella Regione AWS Cina (Ningxia), gestita da NWCD. L'uso degli HSM nelle Regioni della Cina è invece approvato dal governo cinese.

Gli archivi di chiavi personalizzate combinano l'interfaccia di gestione delle chiavi comoda e completa di AWS KMS con la possibilità di possedere e controllare i dispositivi in cui si verificano le operazioni relative al materiale delle chiavi e alle crittografia. Di conseguenza, ti assumi maggiori responsabilità per la disponibilità e la durabilità delle chiavi crittografiche e per il funzionamento degli HSM. AWS KMS offre due tipi di archivi di chiavi personalizzate:

Archivio di chiavi supportato da CloudHSM

Puoi creare una chiave KMS in un archivio di chiavi personalizzate AWS CloudHSM in cui tutte le chiavi sono generate e archiviate in un cluster AWS CloudHSM di tua proprietà e da te gestito. Quando usi una chiave KMS in un archivio di chiavi personalizzate, le operazioni di crittografia mediante quella chiave vengono effettuate esclusivamente nel tuo cluster AWS CloudHSM.

L'uso di un archivio di chiavi personalizzate prevede il costo aggiuntivo del cluster AWS CloudHSM e ti rende responsabile della disponibilità del materiale della chiave in quel cluster. Per sapere se la funzionalità di archivi di chiavi personalizzate può rappresentare una buona soluzione per i tuoi requisiti, puoi leggere questo blog.

Archivio di chiavi esterne

Se hai la necessità normativa di archiviare e utilizzare le tue chiavi di crittografia in locale o al di fuori del cloud AWS, puoi creare una chiave KMS in un archivio di chiavi esterne AWS KMS (XKS), in cui tutte le chiavi vengono generate e archiviate in un gestore di chiavi esterno al di fuori di AWS che possiedi e gestisci. Quando si usa un XKS, il materiale della tua chiave non lascia mai l'HSM.

A differenza delle chiavi KMS standard o di una chiave in un archivio di chiavi personalizzate CloudHSM, sei responsabile della durabilità, disponibilità, latenza, prestazioni e sicurezza del materiale della chiave e delle operazioni crittografiche delle chiavi esterne quando utilizzi un archivio chiavi esterno. Le prestazioni e la disponibilità delle operazioni KMS possono essere influenzate dall'hardware, dal software o dai componenti di rete dell'infrastruttura XKS che utilizzi. Per maggiori informazioni su XKS, consulta questo blog di AWS News.

*Gli archivi di chiavi personalizzate non sono disponibili nella regione AWS Cina (Pechino), gestita da Sinnet, e nella regione AWS Cina (Ningxia), gestita da NWCD.
**Gli archivi di chiavi personalizzate non sono disponibili per chiavi KMS.
***CodeArtifact non supporta le chiavi KMS in un XKS.

Puoi usare AWS KMS con librerie di crittografia lato client per proteggere i dati direttamente all'interno della tua applicazione su AWS o in ambienti ibridi e multicloud. Puoi utilizzare queste librerie per crittografare i dati prima di archiviarli nei servizi AWS o in qualsiasi altro supporto di storage e servizi di terze parti che desideri. Queste librerie sono progettate per aiutarti a crittografare e decrittografare i dati utilizzando gli standard e le best practice di settore. Le librerie di crittografia consentono di concentrarsi sulle funzionalità di base dell'applicazione anziché su come crittografare e decrittografare i dati.

  • L'SDK di crittografia AWS è una libreria di crittografia generica per l'implementazione di operazioni di crittografia e decrittografia su tutti i tipi di dati.
  • L'SDK per la crittografia del database AWS è una libreria di crittografia che aiuta a proteggere i dati sensibili archiviati nel database e fornisce funzionalità aggiuntive per la ricerca e l'interrogazione su dati crittografati.
  • Il client di crittografia di Amazon S3 è una libreria di crittografia per la crittografia e la decrittografia degli oggetti archiviati nel bucket S3.

Per ulteriori informazioni, consulta la documentazione di AWS Crypto Tools.

Integrazione con i servizi AWS

AWS KMS si integra con i servizi AWS per crittografare i dati a riposo o per facilitare la firma e la verifica utilizzando una chiave AWS KMS. Per proteggere i dati a riposo, i servizi AWS integrati utilizzano la crittografia a busta, in cui una chiave di dati viene utilizzata per crittografare i dati ed è essa stessa crittografata in una chiave KMS archiviata in AWS KMS. Per la firma e la verifica, i servizi AWS integrati utilizzano le chiavi RSA o ECC KMS asimmetriche in AWS KMS. Per maggiori dettagli su come un servizio integrato utilizza AWS KMS, consulta la documentazione del servizio AWS.

Alexa for Business[1] Amazon FSx Amazon Rekognition AWS CodePipeline
Amazon AppFlow Amazon GuardDuty Amazon Relational Database Service (RDS) AWS Control Tower
Amazon Athena Amazon HealthLake Amazon Route 53 Scambio dati su AWS
Amazon Aurora Amazon Inspector Amazon Simple Storage Service (Amazon S3)[3] AWS Database Migration Service
SDK di Amazon Chime Amazon Kendra Amazon SageMaker AWS DeepRacer
Amazon CloudWatch Logs Amazon Keyspaces (per Apache Cassandra) Amazon Simple Email Service (SES)
AWS Elastic Disaster Recovery
Amazon CloudWatch Synthetics Flusso di dati Amazon Kinesis Amazon Simple Notification Service (SNS) AWS Elemental MediaTailor
Amazon CodeGuru Amazon Kinesis Firehose Amazon Simple Queue Service (SQS) AWS Entity Resolution
Amazon CodeWhisperer Flusso di video Amazon Kinesis Amazon Textract AWS GameLift
Amazon Comprehend Amazon Lex Amazon Timestream AWS Glue
Amazon Connect Amazon Lightsail[1] Amazon Transcribe AWS Glue DataBrew
Profili cliente Amazon Connect Servizio di posizione Amazon Amazon Translate AWS Ground Station
Amazon Connect Voice ID Amazon Lookout per le apparecchiature Amazon WorkMail AWS IoT SiteWise
Amazon Connect Wisdom Amazon Lookout per le metriche Amazon WorkSpaces AWS Lambda
Amazon DocumentDB Amazon Lookout per Vision Amazon WorkSpaces thin client Strumento AWS di gestione delle licenze
Amazon DynamoDB Amazon Macie Amazon WorkSpaces Web Modernizzazione del mainframe AWS
Amazon DynamoDB Accelerator (DAX)[1]
Blockchain gestita da Amazon AWS AppConfig Firewall di rete AWS
Amazon EBS Servizio gestito da Amazon per
Prometeo
AWS AppFabric AWS Proton
Amazon EC2 Image Builder Amazon Managed Streaming for Kafka (MSK) Profilatore AWS dei costi delle applicazioni AWS Secrets Manager
Amazon EFS Amazon Managed Workflows for Apache Airflow (MWAA) AWS Application Migration Service AWS Snowball 
Amazon Elastic Container Registry (ECR) Amazon MemoryDB AWS App Runner Edge AWS Snowball
Amazon Elastic Kubernetes Service (EKS) Amazon Monitron Gestione audit AWS AWS Snowcone
Amazon Elastic Transcoder Amazon MQ Backup AWS Gateway di archiviazione AWS
Amazon ElastiCache Amazon Neptune AWS Certificate Manager[1] AWS Systems Manager
Amazon EMR Amazon Nimble Studio AWS Cloud9[1] Catena di approvvigionamento di AWS
Amazon EMR serverless Amazon OpenSearch AWS CloudHSM[2] Accesso verificato da AWS
Pianificatore Amazon EventBridge Amazon Omics AWS CloudTrail AWS X-Ray
Amazon FinSpace Amazon Personalize AWS CodeArtifact  
Amazon Forecast Amazon QLDB AWS CodeBuild  
Amazon Fraud Detector Amazon Redshift AWS CodeCommit[1]  

[1] Supporta solo chiavi gestite da AWS.

[2] AWS KMS supporta archiviazioni per chiavi personalizzate supportate da un cluster AWS CloudHSM.

[3] S3 Express One Zone non è integrato con AWS KMS, ma supporta la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Per saperne di più sulla crittografia a oggetti S3 Express One Zone, visita S3 Express One Zone Data Protection and Encryption.

[4] Per un elenco dei servizi integrati con AWS KMS nella regione AWS Cina (Pechino), gestita da Sinnet e nella regione AWS Cina (Ningxia), gestita da NWCD, visita la sezione Integrazione del servizio AWS KMS in Cina.

I servizi AWS non elencati sopra crittografano i dati degli utenti usando chiavi che il rispettivo servizio possiede e gestisce.