Antes que dados seguros possam ser trocados, tem de ser estabelecido um contrato entre os dois computadores. Neste contrato, chamado associação de segurança (SA), ambos os computadores concordam num modo de troca e protecção de informações.

Uma chave é um código ou número secreto necessário para ler, modificar ou verificar dados seguros. As chaves são utilizadas em conjunto com algoritmos (um processo matemático) para proteger dados. No IPsec, existem duas fases ou modos que utilizam chaves. O modo principal ocorre primeiro e gera uma chave mestre partilhada que pode ser utilizada pelos dois computadores para a troca de informações de codificação de modo seguro. O modo rápido utiliza a chave mestra para proteger o estabelecimento de uma ou várias chaves de sessão utilizadas para integridade ou encriptação de dados.

O Windows processa automaticamente a geração de chaves e implementa as seguintes propriedades de codificação que maximizam a protecção:

Importante

O snap-in Política de Segurança IP pode ser utilizado para criar políticas IPsec que podem ser aplicadas em computadores que executam o Windows Vista e versões posteriores do Windows, mas este snap-in não utiliza os novos algoritmos de segurança e as outras funcionalidades novas disponíveis nos computadores que executam estas versões posteriores do Windows. Para criar políticas IPsec para estes computadores, utilize o utilize 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 políticas que possam ser aplicadas em versões anteriores do Windows.

Recodificação dinâmica

O IPsec utiliza um método, chamado recodificação dinâmica, para controlar a frequência com que uma nova chave é gerada durante a comunicação. A comunicação é enviada em blocos e cada bloco de dados é protegido com uma chave diferente. Este processo impede que um intruso, que tenha obtido parte de uma comunicação e as respectivas chaves de sessão, obtenha o resto da comunicação. Este serviço de negociação de segurança e de gestão automática de chaves a pedido é fornecido através da Troca de Chaves da Internet (IKE), conforme definido no RFC 2409.

O IPsec permite-lhe controlar a frequência com que uma nova chave é gerada. Se não forem configurados quaisquer valores, as chaves serão novamente geradas a intervalos predefinidos.

Comprimentos das chaves

Sempre que o comprimento de uma chave é aumentado em um bit, o número de chaves possíveis duplica, aumentando exponencialmente a dificuldade de determinação da chave. O IPsec fornece vários algoritmos, de modo a permitir comprimentos de chave curtos ou longos.

Criação de material de chaves: Algoritmo Diffie-Hellman

Para activar a comunicação segura, que dois computadores têm de obter a mesma chave partilhada (modo rápido ou chave de sessão) sem enviarem a chave pela rede e sem comprometer o segredo.

O algoritmo Diffie-Hellman (DH) é um dos mais antigos e seguros algoritmos utilizados para troca de chaves. As duas partes trocam publicamente informações de codificação, que o Windows protege adicionalmente com uma assinatura com função hash. Nenhuma das partes troca a chave real; no entanto, após a troca do material de codificação, cada uma das partes pode criar a chave partilhada idêntica.

O material de codificação DH trocado por ambas as partes pode basear-se em 768, 1024 ou 2048 bits de material de codificação, conhecido como grupos DH. A força do grupo DH é proporcional à força da chave calculada para a troca DH. Grupos DH fortes, combinados com comprimentos de chave mais longos, aumentam o grau de dificuldade do cálculo envolvido na determinação da chave.

Nota

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

O IPsec utiliza o algoritmo DH para fornecer material de codificação a todas as outras chaves de encriptação. O DH não fornece autenticação. Na implementação IPSec do Microsoft Windows, as identidades são autenticadas após conclusão da troca DH, fornecendo protecção contra ataques de intermediário (man-in-the-middle).

Protecção da chave

As funcionalidades seguintes melhoram os números primos base (material de codificação) e a força das chaves mestre e de sessão.

Durações de chave

As durações de chave determinam quando (e não como) é gerada uma nova chave. Também conhecida como recodificação dinâmica ou regeneração de chave, uma duração de chave permite forçar uma regeneração de chave após um intervalo especificado. Por exemplo, se uma comunicação demorar 10.000 segundos e especificar uma duração de chave de 1.000 segundos, serão criadas 10 chaves para concluir a comunicação. Isto assegura que, mesmo que um intruso consiga decifrar parte da comunicação, a restante comunicação estará protegida. As durações de chave podem ser especificadas para a chave mestre e para a chave de sessão. Sempre que uma duração de chave é atingida, a SA também é renegociada. Além disso, a chave é actualizada ou novamente gerada. A quantidade de dados processados por uma única chave não deverá exceder 100 megabytes (MB).

Limite de actualização de chaves de sessão

É utilizado um limite de actualização da chave de sessão de modo rápido porque a recodificação repetida de uma chave de sessão de modo rápido pode comprometer o segredo Diffie-Hellman partilhado.

Por exemplo, a Alice no computador A envia uma mensagem ao João no computador B e, alguns minutos mais tarde, envia outra mensagem ao João. Visto que uma SA foi recentemente estabelecida, o mesmo material de chave da sessão poderá ser reutilizado. Se pretender limitar o número de ocorrências da reutilização, defina o limite de actualização de chaves de sessão para um número baixo.

Se tiver activado a chave mestra de Perfect Forward Secrecy (PFS), o limite de actualização de chaves de sessão de modo rápido não será utilizado. Definir um limite de actualização de chaves de sessão para 1 é o mesmo que activar o PFS de chave mestre. Se for especificada uma duração de chave mestra de modo principal e um limite de actualização da chave de sessão de modo rápido, o limite atingido em primeiro lugar causará a recodificação subsequente. Por predefinição, a política IPsec não especifica um limite de actualização de chaves de sessão.

Grupos Diffie-Hellman

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

Cada grupo DH define o comprimento do material codificação a ser utilizado. O Grupo 1 protege 768 bits de material de codificação; o Grupo 2 protege 1024 bits; o Grupo 3 protege 2048 bits. Quando um grupo maior é utilizado, a chave resultante que é determinada com base numa troca DH é maior e mais difícil de ser determinada por um intruso.

A IKE negoceia o grupo a utilizar com base nas definições configuradas na caixa de diálogo Algoritmos de Segurança IKE, assegurando que não existirão falhas de negociação resultantes de um erro de correspondência do grupo DH entre os dois elementos.

Se o PFS da chave de sessão estiver activado, será negociada uma nova chave DH na primeira negociação de SA de Modo Rápido. Esta nova chave DH elimina a dependência da chave de sessão da troca DH efectuada para a chave mestre.

Se o iniciador estiver a utilizar o PFS de chave de sessão , o dispositivo de resposta não será obrigado a utilizar o PFS de chave de sessão. No entanto, se o iniciador não estiver a utilizar o PFS de chave de sessão mas o dispositivo de resposta estiver, a negociação falhará.

O grupo DH é o mesmo para as negociações SA de modo principal e de modo rápido. Quando o PFS de chave de sessão está activado, apesar de o grupo DH estar definido como parte da negociação de SA de modo principal, afecta qualquer recodificação durante o estabelecimento da chave de sessão de modo rápido.

Perfect Forward Secrecy

Contrariamente às durações de chave, o PFS determina como (e não quando) é gerada uma nova chave. Especificamente, o PFS garante que o compromisso de uma única chave permite apenas acesso aos dados por ela protegidos e não necessariamente a toda a comunicação. Para alcançar isso, o PFS assegura que uma chave utilizada para proteger uma transmissão, em qualquer dos modos, não poderá ser utilizada para gerar chaves adicionais. Além disso, se a chave utilizada tiver derivado de material de codificação específico, esse material não poderá ser utilizado para criar outras chaves.

O PFS de chave mestre de modo principal necessita de uma nova autenticação e consome muitos recursos. Quando está activado, o IKE tem de autenticar novamente identidades, aumentando o overhead dos controladores de domínio quando o protocolo de autenticação Kerberos V5 é utilizado para autenticação. Isto requer uma nova negociação de modo principal para cada negociação que ocorre em modo rápido.

O PFS de chave de sessão de modo rápido pode ser utilizado sem uma nova autenticação e consome menos recursos. O PFS de chave de sessão conduz a uma troca DH para criar novo material de codificação. Requer apenas quatro mensagens e nenhuma autenticação.

O PFS não tem de estar activado em ambos os elementos porque não faz parte da negociação de SA. Se o dispositivo de resposta necessitar do PFS e a SA de modo rápido expirar, a mensagem do emissor será simplesmente rejeitada e será necessária uma nova negociação. O emissor causa a expiração da SA de modo principal e, em seguida, efectua a nova negociação. O PFS pode ser definido individualmente para as chaves mestre (modo principal) e de sessão (modo rápido).

Troca de chaves

Antes que seja possível trocar dados seguros, tem de ser estabelecido um contrato entre os dois computadores. Neste contrato (SA), ambos os computadores concordam num modo de troca e protecção de informações.

Para criar este contrato entre os dois computadores, o 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 a gestão da associação de segurança, reduzindo o tempo de ligação.

  • Gera e efectua a gestão de chaves secretas partilhadas utilizadas para proteger informações.

Este processo não só protege a comunicação entre computadores, como também protege computadores remotos que necessitem de acesso seguro a uma rede de empresa. Além disso, este processo funciona sempre que a negociação para o computador de destino final seja efectuada 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 de um índice de parâmetros de segurança (SPI) que, em conjunto, definem a segurança utilizada para proteger a comunicação entre o emissor e o receptor. O SPI é um valor de identificação exclusivo na SA, utilizado para distinguir entre várias associações de segurança existentes no computador receptor. Por exemplo, poderão existir várias associações se um computador estiver a comunicar de forma segura com vários computadores em simultâneo. Esta situação ocorre geralmente quando o computador é um servidor de ficheiros ou um servidor de acesso remoto que serve vários clientes. Nestas situações, o computador receptor utiliza o SPI para determinar a SA utilizada para processar os pacotes a receber.

SA de modo principal

Para garantir comunicações seguras e com êxito, a IKE executa uma operação de duas fases. A confidencialidade e a autenticação são asseguradas durante cada fase, através da utilização de algoritmos de encriptação e autenticação acordados entre os dois computadores durante as negociações de segurança. Com a divisão de tarefas em duas fases, a criação de chaves torna-se um processo rápido.

Durante a primeira fase, os dois computadores estabelecem um canal de comunicação autenticado e seguro. Isto é chamado SA de modo principal. Durante esta troca, a IKE fornece automaticamente a protecção de identidade necessária.

Os passos seguintes descrevem uma negociação de modo principal.

  1. Negociação da política. Os quatro parâmetros obrigatórios seguintes são negociados como parte da SA de Modo Principal:

    • O algoritmo de encriptação (DES ou 3DES).

    • O algoritmo hash (MD5 ou SHA1).

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

    • O grupo Diffie-Hellman (DH) a utilizar para o material de codificação base (Baixo - 768 bits (Grupo 1), Médio - 1024 bits (Grupo 2) ou Elevado - 2048 bits (Grupo 3)).

    • Se os certificados ou as chaves pré-partilhadas forem utilizados para fins de autenticação, a identidade do computador estará protegida. No entanto, se for utilizado o protocolo de autenticação Kerberos V5, a identidade do computador permanecerá desencriptada até que a encriptação de todo o payload de identidade seja efectuada durante a autenticação.

  2. Troca DH (de valores públicos). Não existe troca de chaves reais. São trocadas apenas as informações necessárias para que o algoritmo de determinação de chaves DH gere a chave secreta partilhada. Após esta troca, o serviço IKE em cada computador gera a chave mestre utilizada para proteger a autenticação.

  3. Autenticação. Os computadores tentam autenticar a troca de chaves DH. Sem esta autenticação, a comunicação torna-se vulnerável a um ataque de intermediário (man-in-the-middle). Sem uma autenticação com êxito, a comunicação não poderá prosseguir. A chave mestre é utilizada para autenticar identidades, em conjunto com os métodos e algoritmos de negociação. São atribuídos algoritmos hash a todo o payload de identidade (incluindo tipo de identidade, porta e protocolo) que também é encriptado através das chaves geradas a partir da troca DH no segundo passo. Independentemente do método de autenticação utilizado, o payload de identidade está protegido contra modificação e interpretação.

    O emissor apresenta ao receptor uma oferta de potencial associação de segurança. O dispositivo de resposta não pode modificar a oferta. Se a oferta for modificada, o iniciador rejeitará a mensagem do dispositivo de resposta. O dispositivo de resposta envia uma resposta aceitando a oferta ou uma resposta com alternativas.

    As mensagens enviadas durante esta fase têm um ciclo de repetição automático, que é repetido cinco vezes. Se uma resposta for recebida antes da conclusão do ciclo de repetição, será iniciada a negociação de SA padrão. Se for permitido pela política IPsec, as comunicações não seguras serão iniciadas após um breve intervalo. Este comportamento é conhecido como reverter para texto simples. Mesmo que a comunicação seja revertida para texto simples, a negociação de comunicação segura será tentada a intervalos de cinco minutos.

    Não existe limite para o número de trocas. 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 Controlador de segurança IPsec.

Os passos seguintes descrevem uma negociação de modo rápido.

  1. Ocorre uma negociação da política. Os computadores IPsec trocam os seguintes requisitos para proteger a transferência de dados:

    • O protocolo IPsec (AH ou ESP)

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

    • O algoritmo para encriptação, se necessário (DES ou 3DES)

    É alcançado 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 da chave de sessão é actualizado ou trocado. A IKE actualiza o material de codificação e são geradas novas chaves partilhadas para integridade, autenticação e encriptação de pacotes (se tal for negociado). Se for necessária uma recodificação, ocorrerá uma segunda troca DH (conforme descrito na negociação de modo principal) ou será utilizada uma actualização da chave DH original.

  3. As SAs e as chaves são transmitidas ao Controlador de segurança IPsec, em conjunto com o SPI. A negociação de modo rápido de definições de segurança e de material de codificação (com o objectivo de proteger os dados) é protegida pela SA de modo principal. Como a primeira fase já forneceu protecção da identidade, a segunda fase de modo rápido fornece protecção através da actualização do material de codificação antes do envio dos dados. Se for necessária uma recodificação, a IKE pode receber um payload de troca de chaves para uma troca DH adicional, ou seja, o PFS de chave mestra é activado. Caso contrário, o IKE actualiza o material de codificação a partir da troca DH concluída no modo principal.

    O modo rápido origina a um par de associações de segurança, cada uma com a respectiva chave e o respectivo SPI. Uma SA é utilizada para comunicação de entrada e outra para comunicação de saída.

    O algoritmo de repetição de uma mensagem é semelhante ao processo descrito na negociação de modo principal. No entanto, se, por qualquer motivo, este processo exceder o tempo limite durante a segunda negociação ou a mais elevada da mesma SA de modo principal, ocorrerá uma tentativa de nova negociação da SA de modo principal. Se for recebida uma mensagem para esta fase sem o estabelecimento de uma SA de modo principal, essa mensagem será rejeitada.

    A utilização 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, a renegociação e a nova autenticação não serão necessárias. O número de negociações de SA de modo rápido que podem ser efectuadas é determinado pelas definições da política IPsec.

    Nota

    A recodificação excessiva a partir da mesma SA de modo principal poderá tornar a chave secreta partilhada vulnerável a um ataque de texto simples conhecido. Um ataque de texto simples conhecido é um ataque de sniffer no qual o intruso tenta determinar a chave de encriptação dos dados encriptados com base no texto simples conhecido.

Durações da SA

A SA de modo principal é colocada em cache para permitir várias negociações de SA de modo rápido (excepto se o PFS da chave mestre estiver activado). Sempre que a duração da chave mestre ou de sessão for atingida, a SA será renegociada. Além disso, a chave é actualizada ou novamente gerada.

Sempre que o período de tempo limite predefinido expirar para a SA de modo principal ou que a duração da chave mestre ou de sessão for atingida, será enviada uma mensagem de eliminação ao dispositivo de resposta. A mensagem de eliminação IKE indica ao dispositivo de resposta que este deve executar a expiração da SA de modo principal. Isto evita a criação de novas SAs de modo rápido adicionais com base na SA de modo principal expirada. A IKE não executa a expiração da SA de modo rápido porque apenas o controlador IPsec contém o número de segundos ou bytes decorridos até atingir a duração da chave.

Tenha especial atenção ao definir durações de chave muito diferentes para chaves mestre e de sessão. Por exemplo, a definição de uma duração de chave mestra de modo principal de oito horas e de uma duração de chave de sessão de modo rápido de duas horas poderia deixar uma SA de modo rápido activa durante quase duas horas após a SA de modo principal ter expirado. Isto ocorre quando a SA de modo rápido é gerada pouco antes de a SA de modo principal expirar.