Para que os dados protegidos possam ser trocados, deve ser estabelecido um contrato entre os dois computadores. Nesse contrato, denominado SA (associação de segurança), os dois computadores concordam na maneira como será feita a troca e a proteção de informações.

Uma chave é um número ou código secreto necessário para ler, modificar ou verificar dados protegidos. As chaves são usadas junto com algoritmos (um processo matemático) para proteger dados. No IPsec, existem duas fases ou modos que usam chaves. O modo principal ocorre primeiro e gera uma chave mestra compartilhada que as duas partes podem usar para trocar informações sobre criação de chave de maneira segura. O modo rápido usa a chave mestra para proteger o estabelecimento de uma ou mais chaves de sessão, que são utilizadas para a integridade ou criptografia de dados.

O Windows lida com a geração de chaves automaticamente e implementa as seguintes propriedades de criação de chaves que maximizam a proteção:

Importante

O snap-in Diretiva de Segurança de IP pode ser usado para criar diretivas IPsec aplicáveis a computadores que executam o Windows Vista e versões posteriores do Windows, mas ele não utiliza os novos algoritmos de segurança e outros recursos novos, disponíveis em computadores que executam essas versões posteriores do Windows. Para criar diretivas IPsec para esses computadores, use o snap-in Firewall do Windows com Segurança Avançada. O snap-in Firewall do Windows com Segurança Avançada não cria diretivas que podem ser aplicadas a versões anteriores do Windows.

Recriação dinâmica de chaves

O IPsec usa um método chamado recriação dinâmica de chaves para controlar a frequência com que uma nova chave é gerada durante a comunicação. A comunicação é enviada em blocos; cada bloco de dados é protegido com uma chave diferente. Isso impede que um invasor que tenha obtido parte de uma comunicação, assim como as chaves de sessão correspondentes, obtenha o restante da comunicação. Essa negociação de segurança por demanda e o serviço de gerenciamento automático de chaves são fornecidos através do protocolo IKE, conforme definido na RFC 2409.

O IPsec permite controlar a frequência com que uma nova chave é gerada. Se nenhum valor for configurado, as chaves serão regeneradas automaticamente em intervalos padrão.

Comprimentos de chave

Cada vez que o comprimento de uma chave é aumentado em um bit, o número de chaves possíveis duplica, tornando exponencialmente mais difícil determinar a chave. O IPSec fornece vários algoritmos para permitir comprimentos de chave longos ou curtos.

Geração de material de chave: algoritmo Diffie-Hellman

Para permitir uma comunicação segura, dois computadores devem ser capazes de obter a mesma chave compartilhada (modo rápido ou chave de sessão), sem enviar a chave através de uma rede e comprometer o segredo.

O algoritmo Diffie-Hellman (DH) é um dos mais antigos e seguros algoritmos usados para troca de chaves. As duas partes trocam informações de chave publicamente e essa troca também é protegida pelo Windows através de uma assinatura de função de hash. Nenhuma parte, em nenhum momento, troca a chave real; no entanto, depois da troca do material de chave, cada uma tem a capacidade de gerar a chave idêntica compartilhada.

O material de chave DH trocado pelas duas partes pode se basear em 768, 1024 ou 2048 bits de material de chave, conhecido como grupos DH. A segurança do grupo DH é proporcional à segurança da chave calculada com base na troca DH. O uso de grupos DH seguros combinado a comprimentos de chave mais longos aumenta o grau de dificuldade para calcular a chave.

Observação

Na caixa de diálogo Algoritmos de Segurança IKE, 768 bits corresponde à configuração Baixo (1) e 1024 bits à configuração Média (2).

O IPsec utiliza o algoritmo DH para fornecer o material de chave para todas as outras chaves de criptografia. O algoritmo DH não fornece autenticação. A implementação de IPsec do Microsoft Windows autentica identidades após ocorrer a troca DH, fornecendo proteção contra ataques man-in-the-middle.

Proteção das chaves

Os recursos a seguir aprimoram os números primos de base (material de chave) e a segurança das chaves mestre e de sessão.

Vidas úteis de chave

Vidas úteis de chave determinando quando, e não como, uma nova chave é gerada. Também conhecida como recriação dinâmica de chaves ou regeneração de chaves, a vida útil das chaves permite que seja feita uma regeneração obrigatória das chaves após um intervalo especificado. Por exemplo, se uma comunicação levar 10.000 segundos e você especificar uma vida útil de 1.000 segundos para as chaves, serão geradas dez chaves para concluir a comunicação. Isso assegura que mesmo que um invasor consiga decifrar parte de uma comunicação, o restante dela permaneça protegido. A vida útil das chaves pode ser especificada para chaves mestras e de sessão. Sempre que a vida útil da chave é atingida, a SA também é renegociada. Além disso, a chave é atualizada ou regenerada. A quantidade de dados processados por uma única chave não deve ultrapassar 100 MB.

Limite de atualização de chaves de sessão

Um limite de atualização de chaves de sessão de modo rápido é usado porque a recriação de uma chave de sessão de modo rápido e de forma repetitiva pode comprometer o segredo compartilhado do algoritmo Diffie-Hellman.

Por exemplo, Ana Maria no Computador A envia uma mensagem para Roberto no Computador B e, em seguida, envia outra mensagem para Roberto após alguns minutos. Como uma SA foi estabelecida recentemente, poderá ser reutilizado o mesmo material de chave de sessão. Para restringir o número de vezes que isso ocorre, defina um número baixo para o limite de atualização de chave de sessão.

Se você tiver ativado a opção sigilo total na transferência de chave mestre, o limite de atualização de chave de sessão de modo rápido não será utilizado. O procedimento de definir o limite de atualização de chave de sessão como 1 equivale ao de ativar a opção de sigilo total. Se forem especificados um tempo de vida de chave mestra de modo principal e um limite de atualização de chaves de sessão de modo rápido, o limite que for atingido primeiro ocasionará o rechaveamento subsequente. Por padrão, a diretiva IPsec não especifica um limite de atualização de chaves de sessão.

Grupos Diffie-Hellman

Os grupos Diffie-Hellman (DH) são usados para determinar o tamanho dos números primos de base (material de chave) para a troca DH. A segurança de qualquer chave derivada de uma troca DH depende, em parte, da segurança do grupo DH no qual os números primos se baseiam.

Cada grupo DH define o tamanho do material de chave a ser usado. O Grupo 1 protege 768 bits de material de chave; o Grupo 2 protege 1024 bits; o Grupo 3 protege 2048 bits. Quando um grupo maior é usado, a chave resultante que é determinada de uma troca DH é maior e mais difícil de ser determinada por um invasor.

O protocolo IKE negocia qual grupo deve ser usado com base nas configurações definidas na caixa de diálogo Algoritmos de Segurança IKE, assegurando que não haja falhas de negociação resultantes de um grupo DH incompatível entre os dois pontos.

Se a opção Sigilo total na transferência de chave da sessão for ativada, uma nova chave DH será negociada na primeira negociação SA de Modo rápido. Essa nova chave DH remove a dependência da chave de sessão na troca DH que é efetuada para a chave mestre.

Se o iniciador estiver usando o sigilo total na transferência de chave de sessão, o respondente também não será solicitado a utilizar esse recurso. No entanto, se o iniciador não estiver utilizando o sigilo total na transferência de chave de sessão e o respondente estiver utilizando esse recurso, a negociação não terá êxito.

O grupo DH é idêntico para as negociações SA de modo principal e de modo rápido. Quando a opção sigilo total na transferência de chave da sessão for ativada, mesmo que o grupo DH seja definido como parte da negociação SA de modo principal, ela afetará qualquer rechaveamento durante o estabelecimento de modo rápido das chaves de sessão.

Sigilo total na transferência

Ao contrário das vidas úteis de chaves, o sigilo total na transferência determina como, e não quando, uma nova chave é gerada. Especificamente, o PFS assegura que o compromisso de uma chave única permita o acesso somente aos dados que estão protegidos por ela, e não necessariamente à comunicação inteira. Para isso, o sigilo total na transferência assegura que uma chave usada para proteger uma transmissão, em qualquer modo, não possa ser usada para gerar chaves adicionais. Além disso, se a chave usada tiver derivado de um material de chave específico, esse material não poderá ser usado para gerar outras chaves.

O sigilo total na transferência de chave mestra de modo principal exige uma nova autenticação e utiliza muitos recursos. Quando habilitado, o IKE deve autenticar novamente as identidades, aumentando a sobrecarga dos controladores de domínio quando o protocolo de autenticação Kerberos V5 é usado na autenticação. Ele exige uma negociação de modo principal para cada negociação de modo rápido que ocorre.

O sigilo total na transferência de chave da sessão de modo rápido pode ser usado sem uma nova autenticação e utiliza menos recursos. Essa opção resulta em uma troca DH para gerar um material de nova chave. Ela exige apenas quatro mensagens e nenhuma autenticação.

O sigilo total na transferência não precisa ser ativado nos dois pontos porque não faz parte de uma negociação SA. Se o respondente necessitar de sigilo total na transferência e a SA de modo rápido do remetente expirar, ele simplesmente rejeitará a mensagem do remetente e exigirá uma nova negociação. A SA de modo principal do remetente expira e é feita uma nova negociação. O sigilo total na transferência pode ser definido individualmente para chaves mestres (modo principal) e de sessão (modo rápido).

Troca de chaves

Antes que os dados protegidos possam ser trocados, deve ser estabelecido um contrato entre os dois computadores. Nesse contrato (SA), os dois computadores concordam na maneira como será feita a troca e a proteção de informações.

Para criar esse contrato entre os dois computadores, a IETF (Internet Engineering Task Force) estabeleceu o método IKE de associação de segurança e resolução de troca de chaves, que:

  • Centraliza o gerenciamento de associações de segurança, reduzindo o tempo de conexão.

  • Gera e gerencia chaves secretas compartilhadas que são usadas para proteger as informações.

Esse processo não só protege a comunicação entre os computadores, como também os computadores remotos que solicitam acesso seguro a uma rede corporativa. Além disso, esse processo funciona sempre que a negociação referente ao computador de destino final é efetuada por um gateway de segurança.

Definição de associação de segurança

Uma SA é a combinação de uma chave negociada, de um protocolo de segurança e da SPI (indexação de parâmetros de segurança), que juntos definem a segurança usada para proteger a comunicação do remetente para o receptor. A SPI é um valor de identificação exclusivo na SA que é usado para diferenciar várias associações de segurança existentes no computador do receptor. Por exemplo, podem existir várias associações se um computador estiver se comunicando, com segurança, com vários computadores simultaneamente. Essa situação é muito frequente quando o computador é um servidor de arquivos ou um servidor de acesso remoto que atende a vários clientes. Nesses casos, o computador do receptor usa a SPI para determinar a SA que será usada para processar os pacotes de entrada.

SA de modo principal

Para garantir uma comunicação segura bem-sucedida, o protocolo IKE executa uma operação de duas fases. São asseguradas confidencialidade e autenticação durante cada fase através do uso de criptografia e de algoritmos de autenticação em relação os quais os dois computadores estão de acordo durante as negociações de segurança. Com a divisão de tarefas entre duas fases, a criação de chaves pode ser feita com rapidez.

Durante a primeira fase, os dois computadores estabelecem um canal autenticado seguro. Esse canal é chamado de SA de modo principal. O IKE fornece automaticamente a proteção de identidade necessária durante essa troca.

As etapas a seguir descrevem a negociação de modo principal.

  1. Negociação de diretiva. Os quatro parâmetros obrigatórios a seguir são negociados como parte da SA de Modo principal:

    • O algoritmo de criptografia (DES ou 3DES).

    • O algoritmo de hash (MD5 ou SHA1).

    • O método de autenticação (o protocolo de autenticação Kerberos V5, certificado ou autenticação de chave pré-compartilhada).

    • O grupo DH a ser usado para o material de chave de base (768 bits Baixa (Grupo 1), 1024 bits Média (Grupo 2) ou 2048 bits Alta (Grupo 3)).

    • Se forem usados certificados ou chaves pré-compartilhadas para autenticação, a identidade do computador estará protegida. No entanto, se for usado o protocolo de autenticação Kerberos V5, a identidade do computador só será descriptografada depois que toda a carga de identidade for criptografada durante a autenticação.

  2. Troca de DH (de valores públicos). Em nenhum momento, as chaves reais serão trocadas. Somente são trocadas as informações exigidas pelo algoritmo de determinação de chave DH para gerar a chave secreta compartilhada. Depois dessa troca, o serviço IKE em cada computador gera a chave mestre que é usada para proteger a autenticação.

  3. Autenticação. Os computadores tentam autenticar a troca de chaves DH. Sem a autenticação da troca de chaves DH, a comunicação fica vulnerável a um ataque com interceptação de terceiros. Sem uma autenticação bem-sucedida, a comunicação não pode continuar. A chave mestre é usada em conjunto com os métodos e algoritmos de negociação para autenticar identidades. São aplicados algoritmos de hash a toda a carga de identidade (incluindo o protocolo, porta e tipo de identidade) e ela também é criptografada por meio de chaves geradas com base na troca DH na segunda etapa. A carga de identidade, independentemente do método de autenticação utilizado, é protegida contra modificações e interpretações.

    O remetente apresenta uma proposta de uma possível associação de segurança para o receptor. O respondente não pode modificar a proposta. Caso a proposta seja modificada, o iniciador rejeitará a mensagem do respondente. Este último enviará uma resposta aceitando a proposta ou uma resposta com alternativas.

    As mensagens enviadas durante essa fase possuem um ciclo de nova tentativa automático que é repetido cinco vezes. Se uma resposta for recebida antes do término desse ciclo, terá início a negociação de SA padrão. Se permitido pela diretiva IPsec, serão iniciadas comunicações sem segurança após um breve intervalo. Esse comportamento é conhecido como retorno ao estado sem criptografia. Mesmo que ocorra esse retorno, tentativas de negociação de comunicação segura serão realizadas em intervalos de cinco minutos.

    O número de trocas que podem ocorrer é ilimitado. O número de SAs estabelecidas só é limitado pelos recursos do sistema.

SA de modo rápido

Nesta fase, as SAs são negociadas em nome do driver de segurança IP.

As etapas a seguir descrevem a negociação de modo rápido.

  1. Ocorre a negociação de diretiva. Os computadores com IPsec trocam os seguintes requisitos para proteger a transferência de dados:

    • O protocolo IPsec (AH ou ESP)

    • O algoritmo de hash para integridade e autenticação (MD5 ou SHA1)

    • O algoritmo para criptografia, se necessário (DES ou 3DES)

    É feito um acordo comum, e são estabelecidas duas SAs. Uma SA destina-se à comunicação de entrada e a outra à comunicação de saída.

  2. O material de chave de sessão é atualizado ou trocado. O IKE atualiza o material de chave e novas chaves compartilhadas são geradas para integridade, autenticação e criptografia de pacotes (se negociado). Se a recriação de chaves for necessária, ocorrerá uma segunda troca DH (conforme descrito na negociação de modo principal) ou será usada uma atualização da chave DH original.

  3. As SAs e as chaves, junto com a SPI, são passadas para o driver de segurança IP. A negociação de modo rápido de configurações de segurança e material de criação de chave (para fins de proteção dos dados) é protegida pela SA de modo principal. Como a primeira fase forneceu proteção de identidade, a segunda fase de modo rápido fornece proteção atualizando o material de criação de chave antes do envio de dados. O IKE pode acomodar uma carga de troca de chaves para uma troca DH adicional se for necessária a recriação de chaves - isto é, se a opção de sigilo total na transferência de chave mestra estiver ativada. Caso contrário, o IKE atualizará o material de criação de chave com base na troca de DH feita no modo principal.

    O modo rápido resulta em um par de associações de segurança, cada um com sua chave e SPI. Uma SA destina-se à comunicação de entrada e a outra à comunicação de saída.

    O algoritmo de nova tentativa para uma mensagem é semelhante ao processo descrito na negociação de modo principal. No entanto, se por algum motivo esse processo atingir o tempo limite durante a segunda negociação, ou a de nível mais alto, da mesma SA de modo principal, haverá uma tentativa de renegociação da SA de modo principal. Se for recebida uma mensagem nessa fase sem que seja estabelecida uma SA de modo principal, ela será rejeitada.

    O uso de uma única SA de modo principal para várias negociações de SA de modo rápido aumenta a velocidade do processo. Desde que a SA de modo principal não expire, não serão exigidas uma renegociação e uma nova autenticação. O número de negociações de SA de modo rápido que podem ser efetuadas é determinado pelas configurações da diretiva IPsec.

    Observação

    A recriação excessiva de chaves da mesma SA de modo principal pode tornar a chave secreta compartilhada vulnerável a um ataque de texto de formatação conhecida. Esse tipo de ataque se dá por meio de programas farejadores em que o invasor tenta determinar a chave de criptografia dos dados criptografados com base no texto sem formatação conhecido.

Vidas úteis das SAs

A SA do modo principal é armazenada em cache para permitir várias negociações de SA do modo rápido (a menos que a opção de PFS de chave mestra esteja habilitada). Quando o término da vida útil da chave mestre ou de sessão é atingido, a SA é renegociada. Além disso, a chave é atualizada ou regenerada.

Quando o tempo limite padrão da SA de modo principal terminar, ou quando for atingido o término da vida útil da chave mestra ou da chave de sessão, uma mensagem de exclusão será enviada ao respondente. A mensagem de exclusão enviada por IKE instrui o respondente a provocar a expiração da SA de modo principal. Isso impede que novas SAs do modo rápido sejam criadas com base na SA do modo principal expirada. O IKE não pode fazer com que a SA de modo rápido expire, porque somente o driver IPsec contém o número de segundos ou bytes que transcorreram até ser atingido o término do tempo de vida da chave.

Tenha cuidado ao definir vidas úteis muito diferentes para as chaves mestras e de sessão. Por exemplo, se você definir um tempo de vida de chave mestra de modo principal de oito horas e um tempo de vida de chave de sessão de modo rápido de duas horas, talvez uma SA de modo rápido seja mantida por quase duas horas depois que a SA de modo principal expirar. Isso ocorre quando a SA de modo rápido é gerada pouco tempo antes de a SA de modo principal ter expirado.