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 Forecast

Amazon QLDB

AWS CodeBuild

Amazon AppFlow

Amazon Fraud Detector

Amazon Redshift

AWS CodeCommit[1]

Amazon Athena

Amazon FSx

Amazon Rekognition

AWS CodePipeline

Amazon Aurora

Amazon GuardDuty

Amazon Relational Database Service (RDS)

AWS Control Tower

Ottimizzazione di Amazon Bedrock

Amazon HealthLake

Amazon Route 53

AWS Data Exchange

Accesso ai modelli Amazon Bedrock

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

Browser sicuro Amazon WorkSpaces

AWS Mainframe Modernization

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

Gestione certificati AWS[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

 

[1] Supporta solo chiavi gestite da AWS.

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

[3] 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 utilizzando chiavi che il rispettivo servizio possiede e gestisce.