Configurar a Criptografia de Chave Dupla

Aplica-se a: Microsoft Purview Double Key Encryption, Microsoft Purview, Azure Proteção de Informações

Descrição do serviço para: Microsoft Purview

Siga estes passos gerais para configurar o DKE. Depois de concluir estes passos, os seus utilizadores finais podem proteger os seus dados altamente confidenciais com a Encriptação de Chave Dupla.

  1. Implemente o serviço DKE conforme descrito neste artigo. Certifique-se de que o seu ambiente cumpre os requisitos mínimos de licenciamento e sistema. Para obter mais informações, veja System and licensing requirements for DKE (Requisitos de sistema e licenciamento para dKE).

  2. Crie uma etiqueta com Encriptação de Chave Dupla. No portal de conformidade do Microsoft Purview, navegue para Proteção de informações e crie uma nova etiqueta com Encriptação de Chave Dupla. Veja Restringir o acesso ao conteúdo através de etiquetas de confidencialidade para aplicar a encriptação.

  3. Configure o registo em dispositivos cliente para que possa utilizar etiquetas de Encriptação de Chave Dupla. Em seguida, proteja os seus dados ao selecionar a etiqueta Chave Dupla Encriptada no friso Confidencialidade do Microsoft Office.

Existem várias formas de concluir alguns dos passos para implementar a Encriptação de Chave Dupla. Este artigo fornece instruções detalhadas para que os administradores menos experientes implementem o serviço com êxito. Se estiver à vontade para o fazer, pode optar por utilizar os seus próprios métodos.

Implementar o DKE

Este artigo e o vídeo de implementação utilizam o Azure como destino de implementação do serviço DKE. Se estiver a implementar noutra localização, terá de fornecer os seus próprios valores.

Siga estes passos gerais para configurar a Encriptação de Chave Dupla para a sua organização.

  1. Instalar pré-requisitos de software para o serviço DKE
  2. Clonar o repositório do GitHub de Encriptação de Chave Dupla
  3. Modificar as definições da aplicação
  4. Gerar chaves de teste
  5. Compilar o projeto
  6. Implementar o serviço DKE e publicar o arquivo de chaves
  7. Valide a sua implantação
  8. Registar o arquivo de chaves
  9. Criar etiquetas de confidencialidade com o DKE
  10. Migrar ficheiros protegidos de etiquetas HYOK para etiquetas DKE

Quando terminar, pode encriptar documentos e ficheiros com o DKE. Para obter informações, consulte Aplicar etiquetas de confidencialidade aos seus ficheiros e e-mails no Office.

Instalar pré-requisitos de software para o serviço DKE

Instale estes pré-requisitos no computador onde pretende instalar o serviço DKE.

SDK .NET 8.0. Transfira e instale o SDK a partir da transferência do .NET 8.0.

Visual Studio Code. Transfira Visual Studio Code a partir de https://code.visualstudio.com/. Depois de instalado, execute Visual Studio Code e selecione Ver>Extensões. Instale estas extensões.

  • C# para Visual Studio Code

  • Gestor de Pacotes NuGet

Recursos do Git. Transfira e instale uma das seguintes opções.

OpenSSL. Tem de ter o OpenSSL instalado para gerar chaves de teste depois de implementar o DKE. Certifique-se de que o está a invocar corretamente a partir do caminho das variáveis de ambiente. Por exemplo, consulte "Adicionar o diretório de instalação ao PATH" em https://www.osradar.com/install-openssl-windows/ para obter detalhes.

Clonar o repositório do GitHub DKE

A Microsoft fornece os ficheiros de origem DKE num repositório do GitHub. Clone o repositório para compilar o projeto localmente para utilização da sua organização. O repositório do GitHub DKE está localizado em https://github.com/Azure-Samples/DoubleKeyEncryptionService.

As seguintes instruções destinam-se a utilizadores inexperientes do git ou Visual Studio Code:

  1. No browser, aceda a: https://github.com/Azure-Samples/DoubleKeyEncryptionService.

  2. No lado direito do ecrã, selecione Código. A sua versão da IU poderá mostrar um botão Clonar ou transferir . Em seguida, na lista pendente apresentada, selecione o ícone copiar para copiar o URL para a área de transferência.

    Por exemplo:

    Clone o repositório do serviço Encriptação de Chave Dupla a partir do GitHub.

  3. Em Visual Studio Code, selecione Ver>Paleta de Comandos e selecione Git: Clonar. Para aceder à opção na lista, comece a git: clone escrever para filtrar as entradas e, em seguida, selecione-a no menu pendente. Por exemplo:

    Visual Studio Code opção GIT:Clone.

  4. Na caixa de texto, cole o URL que copiou do Git e selecione Clonar a partir do GitHub.

  5. Na caixa de diálogo Selecionar Pasta que é apresentada, navegue para e selecione uma localização para armazenar o repositório. Selecione Abrir.

    O repositório é aberto no Visual Studio Code e apresenta o ramo Git atual na parte inferior esquerda. O ramo deve ser main. Por exemplo:

    Captura de ecrã do repositório DKE no Visual Studio Code a apresentar o ramo main.

  6. Se não estiver no ramo main, selecione-o. No Visual Studio Code, selecione o ramo e selecione main na lista de ramos apresentados.

    Importante

    Selecionar o ramo main garante que tem os ficheiros corretos para compilar o projeto. Se não escolher o ramo correto, a implementação falhará.

Tem agora o seu repositório de origem DKE configurado localmente. Em seguida, modifique as definições da aplicação para a sua organização.

Modificar as definições da aplicação

Para implementar o serviço DKE, tem de modificar os seguintes tipos de definições de aplicação:

Pode modificar as definições da aplicação no ficheiro appsettings.json. Este ficheiro está localizado no repositório DoubleKeyEncryptionService que clonou localmente em DoubleKeyEncryptionService\src\customer-key-store. Por exemplo, no Visual Studio Code, pode navegar para o ficheiro, conforme mostrado na imagem seguinte.

Localizar o ficheiro appsettings.json para DKE.

Principais definições de acesso

Escolha se pretende utilizar o e-mail ou a autorização de função. A DKE suporta apenas um destes métodos de autenticação de cada vez.

  • Email autorização. Permite que a sua organização autorize o acesso a chaves apenas com base em endereços de e-mail.

  • Autorização de função. Permite que a sua organização autorize o acesso a chaves com base em grupos do Active Directory e requer que o serviço Web possa consultar o LDAP.

Para definir definições de acesso chave para dKE com autorização de e-mail
  1. Abra o ficheiro appsettings.json e localize a AuthorizedEmailAddress definição.

  2. Adicione o endereço de e-mail ou endereços que pretende autorizar. Separe vários endereços de e-mail com aspas e vírgulas. Por exemplo:

    "AuthorizedEmailAddress": ["email1@company.com", "email2@company.com ", "email3@company.com"]
    
  3. Localize a LDAPPath definição e remova o texto If you use role authorization (AuthorizedRoles) then this is the LDAP path. entre aspas duplas. Deixe as aspas duplas no lugar. Quando tiver terminado, a definição deverá ter o seguinte aspeto.

    "LDAPPath": ""
    
  4. Localize a AuthorizedRoles definição e elimine toda a linha.

Esta imagem mostra o ficheiro appsettings.json corretamente formatado para autorização de e-mail.

O ficheiro appsettings.json a mostrar o método de autorização de e-mail.

Para definir as principais definições de acesso para dKE com a autorização de função
  1. Abra o ficheiro appsettings.json e localize a AuthorizedRoles definição.

  2. Adicione os nomes dos grupos do Active Directory que pretende autorizar. Separe vários nomes de grupo com aspas e vírgulas duplas. Por exemplo:

    "AuthorizedRoles": ["group1", "group2", "group3"]
    
  3. Localize a LDAPPath definição e adicione o domínio do Active Directory. Por exemplo:

    "LDAPPath": "contoso.com"
    
  4. Localize a AuthorizedEmailAddress definição e elimine toda a linha.

Esta imagem mostra o ficheiro appsettings.json corretamente formatado para autorização de função.

appsettings.json ficheiro a mostrar o método de autorização de função.

Definições de inquilino e chave

As definições de chave e inquilino DKE estão localizadas no ficheiro de appsettings.json .

Para configurar o inquilino e as definições de chave para dKE
  1. Abra o ficheiro appsettings.json .

  2. Localize a ValidIssuers definição e substitua <tenantid> pelo seu ID de inquilino, certificando-se de que mantém a barra no final do ID do inquilino. Pode localizar o ID do inquilino ao aceder ao portal do Azure e visualizar as propriedades do inquilino. Por exemplo:

    "ValidIssuers": [
    "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b500002d4b/"
    ]
    

Observação

Se quiser ativar o acesso B2B externo ao seu arquivo de chaves, também terá de incluir estes inquilinos externos como parte da lista de emissores válidos.

Localize o JwtAudience. Substitua <yourhostname> pelo nome do anfitrião do computador onde pretende executar o serviço DKE. Por exemplo: "https://dkeservice.contoso.com"

Importante

O valor para JwtAudience tem de corresponder exatamente ao nome do seu anfitrião.

  • TestKeys:Name. Introduza um nome para a sua chave. Por exemplo: TestKey1
  • TestKeys:Id. Crie um GUID e introduza-o como o TestKeys:ID valor. Por exemplo, DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE. Pode utilizar um site como o Gerador DE GUID Online para gerar aleatoriamente um GUID.

Esta imagem mostra o formato correto para as definições de inquilino e chaves no appsettings.json. LDAPPath está configurado para autorização de função.

Mostra as definições de inquilino e chave corretas para dKE no ficheiro appsettings.json.

Gerar chaves de teste

Assim que tiver as definições da aplicação definidas, estará pronto para gerar chaves de teste públicas e privadas.

Para gerar chaves:

  1. No menu Iniciar do Windows, execute a Linha de Comandos OpenSSL.

  2. Mude para a pasta onde pretende guardar as chaves de teste. Os ficheiros que criar ao concluir os passos nesta tarefa são armazenados na mesma pasta.

  3. Gere a nova chave de teste.

    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
    
  4. Gere a chave privada.

    Se instalou a versão 3 ou posterior do OpenSSL, execute o seguinte comando:

    openssl rsa -in key.pem -out privkeynopass.pem -outform PEM -traditional
    

    Caso contrário, execute o seguinte comando:

    openssl rsa -in key.pem -out privkeynopass.pem -outform PEM
    
  5. Gere a chave pública.

    openssl rsa -in key.pem -pubout > pubkeyonly.pem
    
  6. Num editor de texto, abra pubkeyonly.pem. Copie todo o conteúdo no ficheiro pubkeyonly.pem , exceto as primeiras e últimas linhas, para a PublicPem secção do ficheiro appsettings.json .

  7. Num editor de texto, abra privkeynopass.pem. Copie todo o conteúdo no ficheiro privkeynopass.pem , exceto as primeiras e últimas linhas, para a PrivatePem secção do ficheiro appsettings.json .

  8. Remova todos os espaços em branco e as novas linhas nas PublicPem secções e PrivatePem .

    Importante

    Quando copiar este conteúdo, não elimine nenhum dos dados PEM.

  9. No Visual Studio Code, navegue para o ficheiro de Startup.cs. Este ficheiro está localizado no repositório DoubleKeyEncryptionService que clonou localmente em DoubleKeyEncryptionService\src\customer-key-store.

  10. Localize as seguintes linhas:

    #if USE_TEST_KEYS
    #error !!!!!!!!!!!!!!!!!!!!!! Use of test keys is only supported for testing,
    DO NOT USE FOR PRODUCTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
    #endif
    
  11. Substitua estas linhas pelo seguinte texto:

    services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
    

    Os resultados finais devem ter um aspeto semelhante ao seguinte.

    startup.cs ficheiro para pré-visualização pública.

Agora, está pronto para criar o seu projeto DKE.

Compilar o projeto

Utilize as seguintes instruções para criar o projeto DKE localmente:

  1. No Visual Studio Code, no repositório do serviço DKE, selecione Ver>Paleta de Comandos e, em seguida, escreva build na linha de comandos.

  2. Na lista, selecione Tarefas: executar tarefa de compilação.

    Se não forem encontradas tarefas de compilação, selecione Configurar Tarefa de Compilação e crie uma para o .NET Core da seguinte forma.

    Configurar a tarefa de compilação em falta para .NET.

    1. Selecione Criar tasks.json a partir do modelo.

      Crie tasks.json ficheiro a partir do modelo para DKE.

    2. Na lista de tipos de modelo, selecione .NET Core.

      Selecione o modelo correto para DKE.

    3. Na secção de criação, localize o caminho para o ficheiro customerkeystore.csproj . Se não estiver lá, adicione a seguinte linha:

      "${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",
      
    4. Execute a criação novamente.

  3. Verifique se não existem erros vermelhos na janela de saída.

    Se existirem erros vermelhos, marcar o resultado da consola. Certifique-se de que concluiu todos os passos anteriores corretamente e que estão presentes as versões de compilação corretas.

A configuração está agora concluída. Antes de publicar o keystore, no appsettings.json, para a definição JwtAudience, certifique-se de que o valor do nome do anfitrião corresponde exatamente ao seu nome de anfitrião Serviço de Aplicativo.

Implementar o serviço DKE e publicar o arquivo de chaves

Para implementações de produção, implemente o serviço numa cloud de terceiros ou publique num sistema no local.

Pode preferir outros métodos para implementar as chaves. Selecione o método que funciona melhor para a sua organização.

Para implementações piloto, pode implementar no Azure e começar imediatamente.

Para criar uma instância da Aplicação Web do Azure para alojar a implementação DKE

Para publicar o arquivo de chaves, crie uma instância Serviço de Aplicativo do Azure para alojar a sua implementação DKE. Em seguida, publique as chaves geradas no Azure.

  1. No seu browser, inicie sessão no Microsoft portal do Azure e aceda a Serviços aplicacionais> Criar > Aplicação Web.

  2. Crie um novo ou selecione um grupo de recursos existente.

  3. Indique um nome para a instância, por exemplo contosodke1. Este nome não corresponde ao nome no ficheiro de configuração. O valor que indicar para o nome também é WebAppInstanceName.

  4. No plano de preços, selecione um tamanho que permita domínios personalizados, por exemplo, Básico B1.

  5. Em Publicar, selecione código e, para Pilha de runtime, selecione .NET 8 (LTS).

  6. Selecione Rever + criar

Por exemplo:

Criar Aplicação Web

  1. Na aplicação Web recém-criada, aceda a "Definições", "Domínios personalizados", selecione Adicionar domínio personalizado

  2. Em Fornecedor de domínio, selecione Todos os outros serviços de domínio

  3. Em Domínio, introduza o nome do anfitrião do computador onde pretende instalar o serviço DKE.

Importante

Certifique-se de que o nome do anfitrião é o mesmo nome definido para a definição JwtAudience no ficheiro appsettings.json.

  1. No DNS público, execute as alterações sugeridas conforme indicado na secção Validação do domínio e selecione Validar.

Por exemplo:

Adicionar domínio personalizado.

  1. Faça o seguinte para publicar as chaves geradas:

por exemplo, ftp

Publicar através do ZipDeployUI

  1. Saiba mais em https://<WebAppInstanceName>.scm.<location>.azurewebsites.net/ZipDeployUI.

    Por exemplo: https://dkeservice-ctaugtfwh7d3c3c.scm.westcentralus-01.azurewebsites.net/ZipDeployUI

  2. Inicie uma linha de comandos do PowerShell.

  3. Na base de código do arquivo de chaves, aceda à pasta customer-key-store\src\customer-key-store e verifique se esta pasta contém o ficheiro customerkeystore.csproj .

  4. Executar: publicação dotnet

    A janela de saída apresenta o diretório onde a publicação foi implementada.

    Por exemplo: customer-key-store\src\customer-key-store\bin\Debug\net8.0\publish\

  5. Enviar todos os ficheiros no diretório de publicação para um ficheiro de .zip. Ao criar o ficheiro .zip, certifique-se de que todos os ficheiros no diretório estão no nível de raiz do ficheiro .zip.

  6. Arraste e largue o ficheiro .zip que criou no site ZipDeployUI que abriu anteriormente.

O DKE é implementado e pode navegar para as chaves de teste que criou. Continue para Validar a implementação neste artigo.

Valide a sua implantação

Depois de implementar o DKE com um dos métodos descritos neste artigo, valide a implementação e as definições do arquivo de chaves.

Executar:

src\customer-key-store\scripts\key_store_tester.ps1 dkeserviceurl/mykey

Por exemplo:

key_store_tester.ps1 https://dkeservice.contoso.com/TestKey1

Certifique-se de que não são apresentados erros na saída. Quando estiver pronto, registe o arquivo de chaves.

O nome da chave é sensível às maiúsculas e minúsculas. Introduza o nome da chave tal como aparece no ficheiro appsettings.json.

Registar o arquivo de chaves

Os passos seguintes permitem-lhe registar o serviço DKE. Registar o serviço DKE é o último passo na implementação do DKE antes de poder começar a criar etiquetas.

Para registar o serviço DKE:

  1. No seu browser, abra o microsoft portal do Azure e aceda a Todos osRegistos de Aplicações deIdentidade> de Serviços>.

  2. Selecione Novo registo e introduza um nome significativo.

  3. Selecione um tipo de conta nas opções apresentadas.

    Por exemplo:

    Novo Registo de Aplicações.

  4. Na parte inferior da página, selecione Registar para criar o novo Registo de Aplicações.

  5. No novo Registo de Aplicações, no painel esquerdo, em Gerir, selecione Autenticação.

  6. Selecione Adicionar uma plataforma.

  7. No pop-up Configurar plataformas, selecioneWeb.

  8. Em URIs de Redirecionamento, introduza o URI do seu serviço de encriptação de chave dupla. Introduza o URL de Serviço de Aplicativo, incluindo o nome do anfitrião e o domínio.

    Por exemplo: https://mydkeservicetest.com

    • O URL introduzido tem de corresponder ao nome do anfitrião onde o serviço DKE está implementado.
    • O domínio tem de ser um domínio verificado.
    • Em todos os casos, o esquema tem de ser https.

    Certifique-se de que o nome do anfitrião corresponde exatamente ao seu nome de anfitrião Serviço de Aplicativo.

  9. Em Concessão implícita, selecione a caixa de verificação Tokens de ID .

  10. Selecione Salvar para salvar suas alterações.

  11. No painel esquerdo, selecione Expor uma API, junto a URI do ID da Aplicação, introduza o URL do Serviço de Aplicativo, incluindo o nome do anfitrião e o domínio e, em seguida, selecione Definir.

  12. Ainda na página Expor uma API , na área Âmbitos definidos por esta API , selecione Adicionar um âmbito. No novo âmbito:

    1. Defina o nome do âmbito como user_impersonation.

    2. Selecione os administradores e utilizadores que podem consentir.

    3. Defina os restantes valores necessários.

    4. Selecione Adicionar escopo.

    5. Selecione Guardar na parte superior para guardar as alterações.

  13. Ainda na página Expor uma API , na área Aplicações cliente autorizadas , selecione Adicionar uma aplicação cliente.

    Na nova aplicação cliente:

    1. Defina o ID de Cliente como d3590ed6-52b3-4102-aeff-aad2292ab01c. Este valor é o ID de cliente do Microsoft Office e permite que o Office obtenha um token de acesso para a sua loja de chaves.

    2. Em Âmbitos autorizados, selecione o âmbito user_impersonation .

    3. Selecione Adicionar aplicativo.

    4. Selecione Guardar na parte superior para guardar as alterações.

    5. Repita estes passos, mas desta vez, se continuar a utilizar o cliente do Azure Proteção de Informações, defina o ID de cliente como c00e9d32-3c8d-4a7d-832b-029040e7db99.

    6. Repita estes passos, mas, desta vez, defina o ID de cliente como 0e25d998-b19a-4080-811c-d74d60d65e42. Este valor é o ID de cliente Proteção de Informações do Purview.

O serviço DKE está agora registado. Continue ao criar etiquetas com o DKE.

Criar etiquetas de confidencialidade com o DKE

No portal de conformidade do Microsoft Purview, crie uma nova etiqueta de confidencialidade e aplique a encriptação como faria de outra forma. Selecione Utilizar Encriptação de Chave Dupla e introduza o URL do ponto final da sua chave. Tem de incluir o nome da chave que indicou na secção "TestKeys" do ficheiro appsettings.json no URL.

Por exemplo: https://testingdke1.azurewebsites.net/KEYNAME

Selecione Utilizar Encriptação de Chave Dupla no portal de conformidade do Microsoft Purview.

Todas as etiquetas DKE que adicionar são apresentadas aos utilizadores nas versões mais recentes do Microsoft 365 Apps para Grandes Empresas.

Observação

Os clientes podem demorar até 24 horas a atualizar com as novas etiquetas.

Migrar ficheiros protegidos de etiquetas HYOK para etiquetas DKE

Se quiser, assim que concluir a configuração do DKE, pode migrar o conteúdo que protegeu com etiquetas HYOK para etiquetas DKE. Para migrar, utilize o Proteção de Informações do Microsoft Purview scanner. Para começar a utilizar o scanner, consulte Compreender o analisador de proteção de informações.

Se não migrar conteúdo, o conteúdo protegido por HYOK permanece inalterado.

Outras opções de implementação

Sabemos que, para alguns clientes em indústrias altamente reguladas, esta implementação de referência padrão com chaves baseadas em software pode não ser suficiente para satisfazer as suas obrigações e necessidades de conformidade melhoradas. Estabelecemos uma parceria com fornecedores de módulos de segurança de hardware (HSM) de terceiros para suportar opções de gestão de chaves melhoradas no serviço DKE, incluindo:

Contacte diretamente estes fornecedores para obter mais informações e orientações sobre as soluções DKE HSM no mercado.

Configurar clientes para aplicar etiquetas de confidencialidade DKE

Em cada dispositivo cliente, conclua esta tarefa.

  1. Certifique-se de que os seguintes valores de registo estão definidos em cada cliente. Crie chaves de registo que ainda não existem:

    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC\flighting]
    "DoubleKeyProtection"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\flighting]
    "DoubleKeyProtection"=dword:00000001