Che cosa è la AWS Encryption SDK? - AWS Encryption SDK

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Che cosa è la AWS Encryption SDK?

AWS Encryption SDK è una libreria di crittografia lato client progettata per rendere ancora più semplice la crittografia e la decrittazione dei dati utilizzando best practice e standard di settore. Questo servizio consente di concentrarsi sulle funzionalità principali dell'applicazione, piuttosto che su come crittografare e decrittografare i dati nel migliore dei modi. AWS Encryption SDK viene fornito gratuitamente con la licenza Apache.

AWS Encryption SDK risponde a domande come le seguenti:

  • Quale algoritmo di crittografia devo usare?

  • Come o in che modo è consigliabile utilizzare tale algoritmo?

  • Come posso generare la chiave di crittografia?

  • Come posso proteggere la chiave di crittografia e dove è possibile archiviarla?

  • Come posso rendere i miei dati crittografati portatili?

  • Come posso assicurarmi che il destinatario previsto possa leggere i miei dati crittografati?

  • Come posso garantire che i miei dati crittografati non vengano modificati nel periodo che intercorre tra la scrittura e la lettura?

  • Come posso usare le chiavi dati che AWS KMS restituiscono?

ConAWS Encryption SDK, definisci un provider di chiavi master (Java e Python) o un portachiavi (C, C#/.NET e JavaScript) che determina quali chiavi di wrapping utilizzare per proteggere i tuoi dati. Quindi è possibile crittografare e decrittare i dati tramite semplici procedure fornite da AWS Encryption SDK. AWS Encryption SDK si occuperà di tutte le altre operazioni.

Eliminando AWS Encryption SDK, puoi dedicare più risorse alla creazione di una soluzione di crittografia rispetto alla funzionalità di base della tua applicazione. AWS Encryption SDK risponde a queste domande fornendo i seguenti oggetti.

Un'implementazione predefinita conforme alle best practice di crittografia

Per impostazione predefinita, AWS Encryption SDK genera una chiave di dati univoca per ogni oggetto dati che crittografa. Questo segue le best practice di crittografia sull'uso di chiavi di dati univoche per ciascuna operazione di crittografia.

AWS Encryption SDK consente di crittografare i dati utilizzando un algoritmo della chiave simmetrico, sicuro e autenticato. Per ulteriori informazioni, consulta Suite di algoritmi supportate in AWS Encryption SDK.

Un framework per proteggere le chiavi di dati con chiavi di avvolgimento

AWS Encryption SDKProtegge le chiavi dati che crittografano i dati crittografandole con una o più chiavi di avvolgimento. Fornendo un framework per crittografare le chiavi di dati con più di una chiave di wrapping, AWS Encryption SDK contribuisce a rendere portatili i dati crittografati.

Ad esempio, crittografa i dati con un input AWS KMS e una AWS KMS key chiave dal tuo HSM locale. Puoi utilizzare una delle chiavi di wrapping per decrittografare i dati, nel caso in cui una non sia disponibile o il chiamante non sia autorizzato a utilizzare entrambe le chiavi.

Un messaggio formattato che memorizza le chiavi di dati crittografati con i dati crittografati

AWS Encryption SDK memorizza i dati crittografati e la chiave di dati crittografati insieme in un messaggio crittografato che utilizza un formato di dati definito. Questo significa che non è necessario tenere traccia o proteggere le chiavi di dati che crittografano i dati poiché AWS Encryption SDK lo fa per te.

Alcune implementazioni linguistiche AWS Encryption SDK richiedono un AWS SDK, ma AWS Encryption SDK non lo richiedono Account AWS e non dipendono da alcun servizio. AWS Ne hai bisogno Account AWS solo se scegli di utilizzarlo per AWS KMS keysproteggere i tuoi dati.

Sviluppato in repository open source

AWS Encryption SDKÈ sviluppato in repository open source su. GitHub È possibile utilizzare questi repository per visualizzare il codice, leggere e segnalare problemi e trovare informazioni specifiche sull'implementazione del linguaggio.

Compatibilità con librerie e servizi di crittografia

AWS Encryption SDKÈ supportato in diversi linguaggi di programmazione. Tutte le implementazioni linguistiche sono interoperabili. È possibile crittografare con un'implementazione di una lingua e decrittografare con un'altra. L'interoperabilità potrebbe essere soggetta a vincoli linguistici. In tal caso, questi vincoli sono descritti nell'argomento relativo all'implementazione della lingua. Inoltre, durante la crittografia e la decrittografia, è necessario utilizzare keyring compatibili o chiavi master e provider di chiavi master. Per informazioni dettagliate, consultare Compatibilità dei keyring.

Tuttavia, AWS Encryption SDK non può interagire con altre librerie. Poiché ogni libreria restituisce dati crittografati in un formato diverso, non è possibile crittografare con una libreria e decrittare con un'altra.

Client di crittografia DynamoDB e crittografia lato client Amazon S3

AWS Encryption SDKNon possono decrittografare i dati crittografati dal DynamoDB Encryption Client o dalla crittografia lato client Amazon S3. Queste librerie non possono decrittografare il messaggio crittografato restituito. AWS Encryption SDK 

AWS Key Management Service (AWS KMS)

AWS Encryption SDKPossono utilizzare chiavi dati per proteggere AWS KMS keysi dati, incluse le chiavi KMS multiregionali. Ad esempio, puoi configurare per AWS Encryption SDK crittografare i tuoi dati in uno o più AWS KMS keys sistemi. Account AWS Tuttavia, è necessario utilizzare AWS Encryption SDK per decrittare tali dati.

AWS Encryption SDKNon possono decrittografare il testo cifrato restituito da Encrypt o dalle operazioni. AWS KMSReEncrypt Analogamente, l'operazione AWS KMS Decritta non può decrittare il messaggio crittografato AWS Encryption SDK restituito.

AWS Encryption SDKSupporta solo chiavi KMS con crittografia simmetrica. Non è possibile utilizzare una chiave KMS asimmetrica per la crittografia o l'accesso a. AWS Encryption SDK AWS Encryption SDK Genera le proprie chiavi di firma ECDSA per le suite di algoritmi che firmano i messaggi.

Per informazioni su come decidere quale libreria o servizio utilizzare, vedi Come scegliere uno strumento o un servizio di crittografia in AWS Servizi e strumenti di crittografia.

Support e manutenzione

AWS Encryption SDKUtilizza la stessa politica di manutenzione utilizzata dall'AWSSDK e dagli strumenti, comprese le fasi di controllo delle versioni e del ciclo di vita. Come procedura ottimale, si consiglia di utilizzare l'ultima versione disponibile di AWS Encryption SDK per il linguaggio di programmazione in uso e di eseguire l'aggiornamento non appena vengono rilasciate nuove versioni. Quando una versione richiede modifiche significative, come l'aggiornamento da AWS Encryption SDK versioni precedenti alla 1.7. x alle versioni 2.0. x e versioni successive, forniamo istruzioni dettagliate per aiutarti.

Ogni implementazione del linguaggio di programmazione AWS Encryption SDK è sviluppata in un GitHub repository open source separato. È probabile che il ciclo di vita e la fase di supporto di ciascuna versione varino tra i repository. Ad esempio, una determinata versione di AWS Encryption SDK potrebbe trovarsi nella fase di disponibilità generale (supporto completo) in un linguaggio di programmazione, ma la end-of-support fase in un linguaggio di programmazione diverso. Ti consigliamo di utilizzare una versione completamente supportata ogni volta che è possibile ed evitare versioni che non sono più supportate.

Per trovare la fase del ciclo di vita delle AWS Encryption SDK versioni per il tuo linguaggio di programmazione, consulta il SUPPORT_POLICY.rst file in ogni AWS Encryption SDK repository.

Per ulteriori informazioni, consulta la politica di manutenzione degli AWS SDK Versioni di AWS Encryption SDK e degli strumenti nella Guida di riferimento agli SDK e agli AWS strumenti.

Ulteriori informazioni

Se hai bisogno di ulteriori informazioni su AWS Encryption SDK e la crittografia lato client, prova queste origini.

Per informazioni sulle implementazioni di AWS Encryption SDK in diversi linguaggi di programmazione.

Invio di feedback

Apprezziamo il tuo feedback. Se hai una domanda, un commento o un problema da segnalare, utilizza le seguenti risorse.

  • Se scopri una potenziale vulnerabilità della sicurezza in AWS Encryption SDK, ti preghiamo di informare i responsabili della sicurezza di AWS. Non create un problema pubblico. GitHub

  • Per fornire un feedback suAWS Encryption SDK, segnala un problema nell' GitHub archivio del linguaggio di programmazione che stai utilizzando.

  • Per fornire feedback su questa documentazione, utilizzate i collegamenti Feedback disponibili in questa pagina. Puoi anche segnalare un problema o contribuire al aws-encryption-sdk-docsrepository open source di questa documentazione. GitHub