As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O que é o AWS Encryption SDK?
O AWS Encryption SDK é uma biblioteca de criptografia do lado do cliente projetada para facilitar a criptografia e a descriptografia de dados para todos usando os padrões e as melhores práticas do setor. Ele permite que você se concentre na funcionalidade principal do aplicativo, em vez de sobre como melhor criptografar e descriptografar os dados. O AWS Encryption SDK é fornecido gratuitamente sob a licença do Apache 2.0.
O AWS Encryption SDK responde a perguntas como as seguintes para você:
-
Qual algoritmo de criptografia devo usar?
-
Como, ou em qual modo, devo usar esse algoritmo?
-
Como faço para gerar a chave de criptografia?
-
Como faço para proteger a chave de criptografia e onde devo armazená-la?
-
Como posso tornar meus dados criptografados portáteis?
-
Como faço para garantir que o destinatário pretendido possa ler meus dados criptografados?
-
Como posso garantir que meus dados criptografados não sejam modificados entre o momento em que são gravados e o momento em que são lidos?
-
Como faço para usar as chaves de dados queAWS KMSO retorna?
Com aAWS Encryption SDK, você define umProvedor de chaves mestras do(Java e Python) ou umToken de autenticação do(C, C#/.NET e JavaScript) O determina quais chaves de empacotamento usadas para proteger seus dados. Você criptografa e descriptografa os dados usando os métodos diretos fornecidos pelo AWS Encryption SDK. O AWS Encryption SDK cuida do resto.
Sem o AWS Encryption SDK, você pode despender mais esforço na criação de uma solução de criptografia do que na funcionalidade principal do aplicativo. O AWS Encryption SDK responde a essas perguntas, fornecendo as funcionalidades a seguir.
- Uma implementação padrão que segue as melhores práticas de criptografia
-
Por padrão, o AWS Encryption SDK gera uma chave de dados exclusiva para cada objeto de dados que criptografa. Isso segue a melhor prática de criptografia de usar chaves de dados exclusivas para cada operação de criptografia.
O AWS Encryption SDK criptografa os dados usando um algoritmo de chave simétrica seguro e autenticado. Para obter mais informações, consultePacotes de algoritmos compatíveis no AWS Encryption SDK
- Uma estrutura para proteção de chaves de dados com chaves de embalagem
-
OAWS Encryption SDKO protege as chaves de dados que criptografam seus dados criptografando-as sob uma ou mais chaves de empacotamento. Ao fornecer uma estrutura para criptografar chaves de dados com mais de uma chave de embalagem, oAWS Encryption SDKajuda a tornar seus dados criptografados portáteis.
Por exemplo, criptografar dados em umAWS KMS keyemAWS KMSe uma chave do HSM local. Você pode usar qualquer uma das chaves de empacotamento para descriptografar os dados, caso uma esteja indisponível ou o chamador não tenha permissão para usar ambas as chaves.
- Uma mensagem formatada que armazena chaves de dados criptografadas com os dados criptografados
-
O AWS Encryption SDK armazena os dados criptografados e a chave de dados criptografada juntos em uma mensagem criptografada que usa um formato de dados definido. Isso significa que você não precisa controlar ou proteger as chaves de dados que criptografam seus dados pois o AWS Encryption SDK faz isso para você.
Algumas implementações de linguagem doAWS Encryption SDKRequer umAWSSDK, mas oAWS Encryption SDKNão requer umConta da AWSe não depende de nenhumAWSServiço do. Você precisa de umConta da AWSsomente se você optar por usarAWS KMS keysPara proteger seus dados.
Desenvolvido em repositórios de código aberto
OAWS Encryption SDKé desenvolvido em repositórios de código aberto em GitHub. Você pode usar esses repositórios para visualizar o código, ler e enviar problemas e encontrar informações específicas para a implementação do idioma.
AWS Encryption SDK for C — aws-encryption-sdk-c
AWS Encryption SDKpara .NET —aws-encryption-sdk-net
directory do aws-encryption-sdk-dafny
repository.AWSCLI de criptografia —aws-encryption-sdk-cli
AWS Encryption SDK for Java — aws-encryption-sdk-java
AWS Encryption SDK para JavaScript — aws-encryption-sdk-javascript
AWS Encryption SDK for Python — aws-encryption-sdk-python
Compatibilidade com bibliotecas e serviços de criptografia
OAWS Encryption SDKO é compatível com váriosLinguagens de programação do. As implementações de linguagem são interoperáveis É possível criptografar com uma implementação de linguagem e descriptografar com outra. A interoperabilidade pode estar sujeita às restrições de linguagem. Em caso afirmativo, essas restrições estarão descritas no tópico sobre a implementação de linguagem. Além disso, ao criptografar e descriptografar, é necessário usar tokens de autenticação compatíveis ou chaves mestras e provedores de chaves mestras. Para obter detalhes, consulte Compatibilidade dos tokens de autenticação.
No entanto, o AWS Encryption SDK não pode interoperar com outras bibliotecas. Como cada biblioteca retorna dados criptografados em um formato diferente, você não pode criptografar com uma biblioteca e descriptografar com outra.
- Cliente de criptografia do DynamoDB e criptografia do lado do cliente do Amazon S3
OAWS Encryption SDKNão é possível descriptografar dados criptografados peloCliente de criptografia do DynamoDBouCriptografia do lado do cliente do Amazon S3. Essas bibliotecas não podem descriptografar oMensagem criptografadaaAWS Encryption SDKO retorna.
- AWS Key Management Service (AWS KMS)
OAWS Encryption SDKPode usarAWS KMS keyseChaves de dadospara proteger seus dados, incluindo chaves KMS de várias regiões. Por exemplo, você pode configurar oAWS Encryption SDKpara criptografar seus dados em um ou maisAWS KMS keysem seuConta da AWS. No entanto, você deve usar o AWS Encryption SDK para descriptografar esses dados.
OAWS Encryption SDKnão pode descriptografar o texto cifrado que oAWS KMS EncryptouReEncryptretorno de operações. Da mesma forma, oAWS KMS Decryptoperação não pode descriptografar oMensagem criptografadaaAWS Encryption SDKO retorna.
OAWS Encryption SDKsó é compatível comChaves KMS de criptografia simétrica. Não é possível usar umChave do KMS assimétricaPara criptografia ou assinatura noAWS Encryption SDK. O AWS Encryption SDK gera suas próprias chaves de assinatura ECDSA para pacotes de algoritmos que assinam mensagens.
Para obter ajuda para decidir qual biblioteca ou serviço usar, consulteComo escolher uma ferramenta ou serviço de criptografiaemAWSServiços e ferramentas criptográficas.
Support e manutenção
OAWS Encryption SDKUsar o mesmoPolítica de manutençãoque oAWSSDK e ferramentas usam, incluindo suas fases de controle de versão e ciclo de vida. Como umprática recomendada, recomendamos que você use a versão mais recente disponível doAWS Encryption SDKPara a linguagem de programação e atualize à medida que novas versões são lançadas. Quando uma versão requer alterações significativas, como a atualização deAWS Encryption SDKversões anteriores a 1.7.xPara as versões 2.0.xe mais tarde, fornecemosInstruções detalhadaspara ajudá-lo.
Cada implementação de linguagem de programação doAWS Encryption SDKé desenvolvido em um código aberto separado GitHub repository. O ciclo de vida e a fase de suporte de cada versão provavelmente variará entre os repositórios. Por exemplo, uma determinada versão doAWS Encryption SDKpode estar na fase de disponibilidade geral (suporte total) em uma linguagem de programação, mas o end-of-supportfase em uma linguagem de programação diferente. Recomendamos que você use uma versão totalmente compatível sempre que possível e evite versões que não são mais suportadas.
Para encontrar a fase do ciclo de vida doAWS Encryption SDKConsulte a versão da sua linguagem de programaçãoSUPPORT_POLICY.rst
arquivo em cadaAWS Encryption SDKrepository.
AWS Encryption SDK for C—support_policy.RST
AWS Encryption SDKpara .NET —support_policy.RST
AWSCLI de criptografia —support_policy.RST
AWS Encryption SDK for Java—support_policy.RST
AWS Encryption SDK para JavaScript—support_policy.RST
AWS Encryption SDK for Python—support_policy.RST
Para obter mais informações, consulteVersões doAWS Encryption SDKeAWSPolítica de manutenção de SDKs e ferramentasnoAWSGuia de referência de SDKs e ferramentas da.
Saiba mais
Se estiver procurando mais informações sobre o AWS Encryption SDK e a criptografia do lado do cliente, tente essas fontes.
-
Para obter ajuda com os termos e conceitos usados neste SDK, consulte Conceitos no AWS Encryption SDK.
-
Para obter diretrizes de melhores práticas, consulteMelhores práticas para a AWS Encryption SDK.
-
Para obter informações sobre como o SDK funciona, consulte Saiba como o SDK funciona.
-
Para obter exemplos que mostram como configurar opções noAWS Encryption SDK, consulteConfigurar o AWS Encryption SDK.
-
Para obter informações técnicas, consulte a Referência do AWS Encryption SDK.
Para a especificação técnica para oAWS Encryption SDK, consulte oAWS Encryption SDKEspecificação
em GitHub. -
Para obter respostas às suas perguntas sobre como usar oAWS Encryption SDK, leia e publique noAWSFórum de discussão sobre ferramentas de criptografia
.
Para obter informações sobre as implementações do AWS Encryption SDK em diferentes linguagens de programação.
-
C: ConsulteAWS Encryption SDK for C, oAWS Encryption SDK Documentação C
, e oaws-encryption-sdk-c repository em GitHub. -
C#/.NET: ConsulteAWS Encryption SDKpara .NETO e aaws-encryption-sdk-net
directory do aws-encryption-sdk-dafny
repository em GitHub. -
Interface da linha de comando: ConsulteInterface da linha de comando do AWS Encryption SDK,Ler a documentação
para aAWSCLI de criptografia e oaws-encryption-sdk-cli repository em GitHub. -
Java: ConsulteAWS Encryption SDK for Java, oAWS Encryption SDK Javadoc
, e oaws-encryption-sdk-java repository em GitHub. JavaScript: ConsulteAWS Encryption SDK para JavaScriptO e aaws-encryption-sdk-javascript
repository em GitHub. -
Python: ConsulteAWS Encryption SDK for Python, oAWS Encryption SDK Documentação do Python
, e oaws-encryption-sdk-python repository em GitHub.
Enviar comentários
Os seus comentários são bem-vindos. Se você tiver uma pergunta ou comentário, ou um problema a relatar, use os seguintes recursos.
-
Se você descobrir uma potencial vulnerabilidade de segurança no AWS Encryption SDK, notifique a segurança da AWS
. Não crie um público GitHub Problema do. -
Como fornecer feedback sobre aAWS Encryption SDK, registre um problema no GitHub repository para a linguagem de programação que você está usando.
-
Para fornecer comentários sobre esta documentação, use aFeedbacklinks nesta página. Você também pode registrar um problema ou contribuir paraaws-encryption-sdk-docs
, o repositório de código aberto para esta documentação sobre GitHub.