Beacons - AWS SDK de criptografia de banco de dados

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á.

Beacons

Nossa biblioteca de criptografia do lado do cliente foi renomeada para SDK de criptografia de AWS banco de dados. Este guia do desenvolvedor ainda fornece informações sobre o DynamoDB Encryption Client.

Um beacon é uma tag truncada do código de autenticação de mensagens por hash (HMAC) que cria um mapa entre o valor de texto simples e os valores criptografados que estão realmente armazenados no banco de dados. O beacon não altera o estado criptografado do campo. O beacon calcula um HMAC sobre o valor de texto simples do campo e o armazena junto com o valor criptografado. Essa saída de HMAC é uma correspondência de um para um (1:1) para o valor de texto sem formatação desse campo. A saída de HMAC é truncada para que vários valores de texto simples distintos sejam mapeados para a mesma etiqueta de HMAC truncada. Esses falsos positivos limitam a capacidade de um usuário não autorizado de identificar informações diferenciadas sobre o valor do texto sem formatação.

Os beacons só podem ser construídos a partir de campos ENCRYPT_AND_SIGN marcados ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT em suas ações criptográficas. SIGN_ONLY O beacon em si não está assinado nem criptografado. Você não pode construir um beacon com campos marcados com DO_NOTHING.

O tipo de beacon que você configura determina o tipo de consultas que você é capaz de realizar. Há dois tipos de beacons que oferecem suporte à criptografia pesquisável. Os beacons padrão realizam pesquisas de igualdade. Os beacons compostos combinam cadeias de texto simples literais e beacons padrão para realizar operações complexas de banco de dados. Depois de configurar os beacons, você deve configurar um índice secundário para cada beacon antes de poder pesquisar nos campos criptografados. Para ter mais informações, consulte Configuração de índices secundários com beacons.

Beacons padrão

Os beacons padrão são a maneira mais simples de implementar criptografia pesquisável em seu banco de dados. Eles só podem realizar pesquisas de igualdade para um único campo criptografado ou virtual. Para saber mais sobre a configuração de beacons padrão, consulte Configuração de beacons padrão.

O campo a partir do qual um beacon padrão é construído é chamado de fonte do beacon. Ele identifica a localização dos dados que o beacon precisa mapear. A fonte do beacon pode ser um campo criptografado ou um campo virtual. A fonte do beacon em cada beacon padrão deve ser exclusiva. Você não pode configurar dois beacons com a mesma fonte de beacon.

Os beacons padrão podem ser usados para realizar pesquisas de igualdade para um campo criptografado ou virtual. Ou, eles podem ser usados para construir beacons compostos para realizar operações de banco de dados mais complexas. Para ajudá-lo a organizar e gerenciar beacons padrão, o SDK de criptografia de AWS banco de dados fornece os seguintes estilos de beacon opcionais que definem o uso pretendido de um beacon padrão. Para obter mais informações, consulte Definindo estilos de beacon.

Você pode criar um farol padrão que realiza pesquisas de igualdade para um único campo criptografado ou pode criar um farol padrão que realiza pesquisas de igualdade na concatenação de vários camposENCRYPT_AND_SIGN,SIGN_ONLY, e SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT criando um campo virtual.

Campos virtuais

Um campo virtual é um campo conceitual construído a partir de um ou mais campos de origem. A criação de um campo virtual não grava um novo campo em seu registro. O campo virtual não é armazenado explicitamente em seu banco de dados. Ele é usado na configuração de beacon padrão para fornecer instruções ao beacon sobre como identificar um segmento específico de um campo ou concatenar vários campos em um registro para realizar uma consulta específica. Um campo virtual exige pelo menos um campo criptografado.

nota

O exemplo a seguir demonstra os tipos de transformações e consultas que você pode realizar com um campo virtual. No aplicativo, os campos de exemplo usados neste exemplo podem não atender às recomendações de exclusividade de distribuição e correlação para beacons.

Por exemplo, se você quiser realizar pesquisas de igualdade na concatenação dos campos FirstName e LastName, você pode criar um dos campos virtuais a seguir.

  • Um campo NameTag virtual, construído a partir da primeira letra do campo FirstName, seguida pelo campo LastName, tudo em minúsculas. Esse campo virtual permite que você consulte NameTag=mjones.

  • Um campo LastFirst virtual, que é construído a partir do campo LastName, seguido pelo campo FirstName. Esse campo virtual permite que você consulte LastFirst=JonesMary.

Ou, se você quiser realizar pesquisas de igualdade em um segmento específico de um campo criptografado, crie um campo virtual que identifique o segmento que você deseja consultar.

Por exemplo, se você quiser consultar um campo IPAddress criptografado usando os três primeiros segmentos do endereço IP, crie o seguinte campo virtual.

  • Um campo IPSegment virtual, construído a partir de Segments(‘.’, 0, 3). Esse campo virtual permite que você consulte IPSegment=192.0.2. A consulta retorna todos os registros com um valor IPAddress que começa com "192.0.2".

Os campos virtuais devem ser exclusivos. Dois campos virtuais não podem ser construídos exatamente a partir dos mesmos campos de origem.

Para obter ajuda na configuração de campos virtuais e os beacons que os usam, consulte Criar um campo virtual.

Beacons compostos

Os beacons compostos criam índices que melhoram o desempenho das consultas e permitem que você execute operações de banco de dados mais complexas. É possível usar beacons compostos para combinar cadeias de texto simples literais e beacons padrão para realizar consultas complexas em registros criptografados, como consultar dois tipos de registro diferentes de um único índice ou consultar uma combinação de campos com uma chave de classificação. Para obter mais exemplos de soluções de beacon composto, consulte Escolher um tipo de beacon.

Os faróis compostos podem ser construídos a partir de faróis padrão ou uma combinação de faróis padrão e campos assinados. Eles são construídos a partir de uma lista de partes. Todos os beacons compostos devem incluir uma lista de partes criptografadas que identifique os campos ENCRYPT_AND_SIGN incluídos no beacon. Cada campo ENCRYPT_AND_SIGN deve ser identificado por um beacon padrão. Os faróis compostos mais complexos também podem incluir uma lista de partes assinadas que identificam o texto simples SIGN_ONLY ou os SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT campos incluídos no farol e uma lista de partes do construtor que identificam todas as maneiras possíveis pelas quais o farol composto pode montar os campos.

nota

O SDK AWS de criptografia de banco de dados também oferece suporte a beacons assinados que podem ser configurados inteiramente a partir de texto simples SIGN_ONLY e campos. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Os beacons assinados são um tipo de farol composto que indexa e executa consultas complexas em campos assinados, mas não criptografados. Para ter mais informações, consulte Criação de beacons assinados.

Para obter ajuda com a configuração de beacons compostos, consulte Configurar beacons compostos.

O tipo de beacon que você configura determina o beacon composto determina os tipos de consultas que você pode realizar. Por exemplo, você pode tornar algumas partes criptografadas e assinadas opcionais para permitir mais flexibilidade em suas consultas. Para obter mais informações sobre os tipos de consultas que os beacons compostos podem realizar, consulte Consultar beacons.