O que é o AWS Encryption SDK? - AWS Encryption SDK

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?

AWS Encryption SDK É uma biblioteca de criptografia do lado do cliente projetada para facilitar que todos criptografem e descriptografem dados 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. AWS Encryption SDK É fornecido gratuitamente sob a licença Apache 2.0.

As AWS Encryption SDK respostas 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 que AWS KMS retornam?

Com o AWS Encryption SDK, você define um provedor de chave mestra (Python) ou um chaveiro (C, C#/. NET, Java e JavaScript) que determina quais chaves de encapsulamento você usa para proteger seus dados. Em seguida, você criptografa e descriptografa seus dados usando métodos simples fornecidos pelo. AWS Encryption SDK O AWS Encryption SDK faz o resto.

Sem isso AWS Encryption SDK, você pode se esforçar mais na criação de uma solução de criptografia do que na funcionalidade principal do seu aplicativo. Ele AWS Encryption SDK responde a essas perguntas fornecendo as seguintes coisas.

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 ele criptografa. Isso segue a melhor prática de criptografia de usar chaves de dados exclusivas para cada operação de criptografia.

Ele AWS Encryption SDK criptografa seus dados usando um algoritmo de chave simétrica, autenticado e seguro. Para obter mais informações, consulte Pacotes de algoritmos compatíveis no AWS Encryption SDK.

Uma estrutura para proteção de chaves de dados com chaves de encapsulamento

O AWS Encryption SDK protege as chaves de dados que criptografam seus dados, criptografando-as em uma ou mais chaves de encapsulamento. Ao fornecer uma estrutura para criptografar chaves de dados com mais de uma chave de empacotamento, isso AWS Encryption SDK ajuda a tornar seus dados criptografados portáteis.

Por exemplo, criptografe dados com uma entrada AWS KMS key AWS KMS e uma chave do seu localHSM. É possível usar qualquer uma das duas chaves de encapsulamento para descriptografar os dados, caso alguma não esteja disponível ou o chamador não tenha permissão para usar as duas chaves.

Uma mensagem formatada que armazena chaves de dados criptografadas com os dados criptografados

Ele AWS Encryption SDK armazena os dados criptografados e a chave de dados criptografados juntos em uma mensagem criptografada que usa um formato de dados definido. Isso significa que você não precisa acompanhar ou proteger as chaves de dados que criptografam seus dados, pois elas AWS Encryption SDK fazem isso por você.

Algumas implementações de linguagem do AWS Encryption SDK exigem um AWS SDK, mas o AWS Encryption SDK não exige um Conta da AWS e não depende de nenhum AWS serviço. Você Conta da AWS só precisa de um se optar por usar AWS KMS keyspara proteger seus dados.

Desenvolvido em repositórios de código aberto

O AWS Encryption SDK é desenvolvido em repositórios de código aberto em. GitHub É possível usar esses repositórios para visualizar o código, ler e enviar problemas e encontrar informações específicas para sua implementação de linguagem.

Compatibilidade com bibliotecas e serviços de criptografia

O AWS Encryption SDK é suportado em várias linguagens de programação. 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, eles AWS Encryption SDK não podem 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.

DynamoDB Encryption Client e criptografia do lado do cliente do Amazon S3

AWS Encryption SDK Não é possível descriptografar dados criptografados pelo DynamoDB Encryption Client ou pela criptografia do lado do cliente do Amazon S3. Essas bibliotecas não conseguem decifrar a mensagem criptografada que retornam. AWS Encryption SDK  

AWS Key Management Service (AWS KMS)

Eles AWS Encryption SDK podem usar chaves AWS KMS keysde dados para proteger seus dados, incluindo KMS chaves multirregionais. Por exemplo, você pode configurar o AWS Encryption SDK para criptografar seus dados em um ou mais AWS KMS keys em seu Conta da AWS. No entanto, você deve usar o AWS Encryption SDK para descriptografar esses dados.

AWS Encryption SDK Não é possível descriptografar o texto cifrado que as operações Encrypt ou retornam. AWS KMSReEncrypt Da mesma forma, a operação AWS KMSDecrypt não pode descriptografar a mensagem criptografada que ela retorna. AWS Encryption SDK

O AWS Encryption SDK suporta somente KMSchaves de criptografia simétricas. Você não pode usar uma KMSchave assimétrica para criptografia ou login no. AWS Encryption SDK O AWS Encryption SDK gera suas próprias chaves de ECDSA assinatura para conjuntos de algoritmos que assinam mensagens.

Suporte e manutenção

O AWS Encryption SDK usa a mesma política de manutenção que a AWS SDK and Tools usa, incluindo suas fases de controle de versão e ciclo de vida. Como prática recomendada, recomendamos que você use a versão mais recente disponível do AWS Encryption SDK para sua linguagem de programação e atualize à medida que novas versões forem lançadas. Quando uma versão exige alterações significativas, como a atualização de AWS Encryption SDK versões anteriores à 1.7. x para as versões 2.0. x e posteriormente, fornecemos instruções detalhadas para ajudá-lo.

Cada implementação de linguagem de programação do AWS Encryption SDK é desenvolvida em um GitHub repositório de código aberto separado. É provável que o ciclo de vida e a fase do suporte de cada versão variem entre os repositórios. Por exemplo, uma determinada versão do AWS Encryption SDK pode estar na fase de disponibilidade geral (suporte total) em uma linguagem de programação, mas a end-of-support fase 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 já não sejam compatíveis.

Para encontrar a fase do ciclo de vida das AWS Encryption SDK versões da sua linguagem de programação, consulte o SUPPORT_POLICY.rst arquivo em cada AWS Encryption SDK repositório.

Para obter mais informações, consulte Versões do AWS Encryption SDK e AWS SDKse a política de manutenção de ferramentas no Guia de referência de ferramentas AWS SDKs e ferramentas.

Saiba mais

Para obter mais informações sobre a AWS Encryption SDK criptografia do lado do cliente, experimente essas fontes.

Para obter informações sobre implementações do AWS Encryption SDK em diferentes linguagens de programação.

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 possível vulnerabilidade de segurança no AWS Encryption SDK, notifique a AWS segurança. Não crie um GitHub problema público.

  • Para fornecer feedback sobre o AWS Encryption SDK, registre um problema no GitHub repositório da linguagem de programação que você está usando.

  • Para fornecer comentários sobre esta documentação, use os links Feedback nesta página. Você também pode registrar um problema ou contribuir para aws-encryption-sdk-docso repositório de código aberto desta documentação em. GitHub