2. Funcionamento

Com a adição da emenda IEEE 802.11i, o padrão IEEE 802.11 oferece duas classes gerais de recursos de segurança. A primeira classe, chamada de pré-RSN, compreende dos recursos de segurança da especificação original do IEEE 802.11. Já a segunda inclui mecanismos de segurança que proveem a capacidade de criação de RSNs (Robust Security Networks), que são redes que apresentam melhoramentos capazes de lidar com as falhas já conhecidas do WEP, possibilitando assim uma proteção robusta das conexões sem fio, incluindo confidencialidade e integridade de dados. Nesse contexto, a emenda IEEE 802.11i introduz alguns conceitos.

Figura 1 - Taxonomia de Segurança para RSN e pré-RSN

2.1. Conceitos iniciais

2.1.1. RSNA (Robust Security Network Associations)

Conexões sem fio que proveem um grau de moderado a alto de segurança contra ameaças em WLANs (Wireless Local Area Networks).

2.1.2. RSN (Robust Security Networks)

Redes sem fio seguras que somente permitem a criação de RSNAs. Uma RSN inclui um controle de acesso IEEE 802.1X baseado em portas, técnicas de administração de chaves, e os protocolos de confidencialidade e integridade TKIP e CCMP. Fornece segurança apenas para a parte sem fio da rede.

2.1.3. TSN (Transition Security Network)

Na prática algumas redes possuem uma mistura de conexões RSNAs e não-RSNAs, configurando assim uma rede chamada de TSN. Tal tipo de rede tem a intenção de prover conectividade enquanto uma organização está migrando para uma RSN.

2.2. Entidades

2.2.1. STA (Station) - Estação

Dispositivos como laptops e smartphones.

2.2.2. AP (Access Point) – Ponto de Acesso

Dispositivo da rede que permite que as estações comuniquem e conectem com outras redes, tipicamente cabeadas, através da estrutura sem fio. Também pode permitir que estações comuniquem entre si.

2.2.3. AS (Authentication Server) – Servidor de Autenticação

Provê serviços de autenticação as estações. Pode ser implementado em um ponto de acesso ou em um servidor separado.

2.3. Hierarquia, Distribuição e Administração de chaves

A administração de chaves é definida como o processo responsável por lidar e controlar as chaves criptográficas e todos os itens relacionados a elas. Esse processo inclui gerar, distribuir, armazenar, carregar, auditar e destruir as chaves. Nesse contexto, a emenda IEEE 802.11i especifica duas hierarquias de chaves: Pairwise Key Hierarchy e Group Key Hierarchy, porém deixando algumas áreas abertas a interpretação, dependendo assim da forma como é implementada.

Figura 2 - Hierarquia de Chaves RSNA

2.3.1.Pairwise Key Hierarchy

Desenvolvido para transmissões unicast. Existem duas maneiras em que as chaves podem ser instaladas nas entidades: Pre-Shared Key e Authentication, Authorization, and Accounting Key.

2.3.1.1. PSK (Pre-Shared Key)

A PSK é uma chave entregue ao servidor de autenticação e a estação através de um mecanismo “out-of-band”, utilizando um canal de comunicação seguro e possuindo a necessidade de estar presente nos dois dispositivos antes de estabelecer a associação entre as entidades. A emenda não especifica como essa chave deve ser gerada e distribuída, então existem vários mecanismos para esses processos, como por exemplo, a utilização de dispositivos USBs para distribuir as chaves entre as entidades. Caso alguma PSK seja comprometida deve-se gerar e distribuir outra chave.

Diagrama 3 - Distribuição da PSK

2.3.1.2. Authentication, Authorization, and Accounting Key (AAAK)

A chave AAAK, também conhecida como MSK (Master Session Key) é entregue pelo servidor de autenticação ao ponto de acesso e a estação através do RADIUS (Remote Authentication Dial in User Service) e do EAP (Extensible Authentication Protocol) durante o processo de estabelecimento de um RSNA. Por questões de segurança, toda vez que um usuário solicita uma autenticação, a MSK é alterada, sendo que cada chave tem um tempo de vida pré-determinado.

2.3.1.3. PMK (Pair Master Key)

É uma chave criada através da PSK ou da MSK. É utilizada juntamente com endereço MAC (Media Access Control) da estação e do ponto de acesso para gerar a PTK (Pair Transient Key).

2.3.1.4. PTK (Pair Transient Key)

Chave para a comunicação entre a estação e o ponto de acesso, sendo única para cada associação.

É formada pelas seguintes chaves:

  • EAPOL-KCK (EAP Over Lan Key Confirmation Key)

    Utilizada para prover integridade e autenticidade da origem dos dados durante troca de quadros de controle entre uma estação e um ponto de acesso na configuração de uma RSN.

  • EAPOL-KEK (EAPOL Key Encryption Key)

    Utilizada para proteger a confidencialidade das chaves

  • TK (Temporal Key)

    Utilizada para prover proteção no tráfego unicast.

2.3.2. Group Key Hierarchy

Desenvolvido para transmissões multicast e broadcast. O ponto de acesso gera a GMK (Group Master Key) e toda vez que um cliente se associa ou desassocia uma nova GTK (Group Transient Key) é criada e enviada aos clientes. A GTK então é utilizada para a realização das comunicações multicast e broadcast. A forma como essas chaves são geradas não é especificada na emenda.

2.4. Protocolos de confidencialidade e integridade de dados

A emenda IEEE 802.11i define dois protocolos de confidencialidade e integridade de dados: Temporal Key Integrity Protocol e Counter Mode with Cipher Chaining Message Authentication Code Protocol.

2.4.1.TKIP (Temporal Key Integrity Protocol)

A intenção do TKIP é prover uma solução provisória em um ambiente pré-RSN tratando as inadequações do WEP. O TKIP pode ser implementado por atualizações de softwares, não necessitando da substituição de hardwares nas estações e nos pontos de acesso. Porém, como o TKIP utiliza algumas técnicas que possuem falhas largamente conhecidas, ele não figura como uma boa solução para ambientes com necessidade de um alto grau de segurança.

2.4.2. CCMP (Counter Mode with Cipher Chaining Message Authentication Code Protocol)

Assim como o TKIP, o CCMP foi desenvolvido para tratar as ineficiências do WEP, porém necessita que os hardwares dos dispositivos presentes na pré-RSN sejam substituídos, sendo considerado assim como uma solução de longo prazo e de maior segurança em relação ao TKIP.

O CCMP utiliza o algoritmo AES (Advanced Encryption Standard) com chaves e blocos de 128 bits. Um dos seus requisitos é que cada quadro deve possuir um número único, chamado de nonce. Tal característica é atingida através da utilização do PN (Packet Number) que é incrementado a cada quadro transmitido.

O CCMP possui dois modos de operação (cipher-block chaining e counter mode) que se referem o modo como as entradas passadas para o protocolo são entregues ao algoritmo AES, já que o AES encripta blocos de 128 bits por vez. Diferentes modos produzem diferentes resultados.

2.4.2.1. Cipher-Block Chaining

Inicialmente o nonce (104 bits) é preenchido com 24 bits atingido assim 128 bits. Então utiliza-se o nonce e o TK para encriptar os dados da seguinte maneira:
1. É realizada uma operação XOR entre o primeiro bloco do texto em claro com o nonce.
2. O bloco resultante do passo 1 é encriptado através do algoritmo AES utilizando a TK para assim produzir o texto cifrado.
3. É realizada uma operação XOR entre o próximo bloco de texto em claro com o bloco anterior do texto cifrado.
4. O bloco resultante do passo 3 é encriptado através do algoritmo de AES utilizando a TK para produzir o texto cifrado.
5. Os passos 3 e 4 são repetidos até que todos os dados sejam encriptados.

2.4.2.2. Counter Mode

Possui um custo computacional menor em relação ao cipher-block chaining.
Funcionamento:
Adiciona o contador (24 bits) no final do nonce (104 bits). Inicialmente o valor do contador é zero. Então as mensagens são encriptadas da seguinte maneira:
1. O contador+nonce é encriptado através do algoritmo AES utilizando a TK (Temporal Key).
2. É realizada uma operação XOR entre o bloco resultante do passo 1 e o primeiro bloco do texto em claro para assim produzir o texto cifrado.
3. O contador é incrementado em uma unidade.
4. Repetir os passos de 1 a 3 para cada bloco de texto em claro até que todos os dados sejam encriptados.

Diagrama 4 - Cipher-Block Chaining

Diagrama 5 - Counter Mode

2.5. EAP (Extensible Authentication Protocol)

Protocolo utilizado na fase de autenticação no estabelecimento de um RSNA. Suporta uma grande variedade de técnicas de autenticação, como por exemplo, utilização de senhas, certificados, smart cards e tokens. Podem-se combinar técnicas de autenticação, tornando o protocolo flexível e possibilitando que o EAP seja utilizado em qualquer ambiente em que uma WLAN esteja presente.

Porém, alguns métodos do EAP não satisfazem os requerimentos de segurança do padrão IEEE 802.11.

2.6. Fases da comunicação em uma RSN

2.6.1. Fase 1: Descoberta

Um ponto de acesso transmite quadros beacon periodicamente para anunciar sua política de segurança IEEE 802.11i. Com isso, uma estação consegue identificar um ponto de acesso para uma WLAN na qual ele deseja se comunicar. Durante essa fase as estações e os pontos de acesso negociam alguns parâmetros relacionados com a política de segurança. Em geral, o IEEE 802.11i não suporta uma negociação extensiva dessa política, o ponto de acesso simplesmente divulga as opções que ele suporta e somente as estações que possuírem configurações compatíveis poderão se associar.

2.6.1.1. Estabelecendo uma política de segurança

Durante a fase de descoberta, as estações e os pontos de acesso negociam as seguintes características:

  • Protocolos de confidencialidade e integridade para proteção de tráfego unicast
  • Método de autenticação para a autenticação mútua do ponto de acesso e do servidor de autenticação
  • Técnica de administração de chaves criptográfica

Os protocolos de confidencialidade e integridade para os tráfegos multicast e broadcast são escolhidos pelo próprio ponto de acesso já que todas as estações associadas a um tráfego deve possuir a mesma política de segurança.

2.6.1.2. Fluxo de quadros na fase de descoberta
  • Cenário 1: Estação sonda ativamente por pontos de acesso na sua localidade
    1. Probe request: Primeiramente, a estação envia uma solicitação para localizar um ponto de acesso.
    2. Probe response: Um ponto de acesso responde com as suas opções de política de segurança.
    3. Open System Authentication request e Open System Authentication response (null authentication): Não provê nenhuma segurança. Está presente para manter a compatibilidade com a versão pré-RSN do padrão IEEE 802.11 original.
    4. Association request: A estação envia uma solicitação de associação ao ponto de acesso. Nesse quadro, a estação especifica quais opções de política de segurança ela deseja.
    5. Association response: Se o ponto de acesso não suporta as opções desejadas pela estação a solicitação é recusada, caso contrário é aceita e a fase de descoberta é encerrada.
  • Diagrama 6 - Fluxo de quadros na fase de descoberta

  • Cenário 2: Estação passivamente monitora quadros Beacon
    Nessa situação, os quadros de Probe request e Probe response podem ser retirados já que a estação já possuirá as opções das políticas de segurança dos pontos de acesso.
  • 2.6.2 Fase 2: Autenticação

    Durante esta fase, a estação e a WLAN provam as suas identidades uma para o outro.

    Esta fase ocorre entre a estação e o servidor de autenticação, sendo que a única função do ponto de acesso no processo de autenticação é encaminhar o tráfego. O ponto de acesso bloqueia qualquer tráfego não autenticado entre a estação e o servidor de autenticação até que a transação de autenticação seja concluída.

    2.6.2.1. IEEE 802.1X Framework: Port-Based Access Control

    O IEEE 802.11 utiliza o padrão IEEE 802.1X para prover essa autenticação mútua.

    O IEEE 802.1X é um framework para autenticação de usuários. O mecanismo de autenticação atual incorporado no framework é implementado pela estação e pelo ponto de acesso utilizando o EAP.

    Existem três componentes principais no framework: o cliente (também conhecido como solicitante); um servidor de autenticação; um autenticador (responsável por repassar o tráfego do cliente para o servidor de autenticação).

    O IEEE 802.1X controla o fluxo de dados entre a estação e a rede na qual ela deseja acessar através de um modelo de portas controlada/não controlada. A autenticação EAP ocorre através da porta não controlada do IEEE 802.1X no autenticador, já os quadros de dados não pertencentes ao EAP são transmitidos ou bloqueados pela porta controlada. Esse modelo é conhecido como port-based access control.

    A mensagem de autenticação vai do cliente para o autenticador pelo uso do protocolo EAPOL. Já a mensagem do autenticador para o servidor de autenticação geralmente é transportada pelo protocolo RADIUS em um canal seguro através de mecanismos de chave simétrica.

    No final do processo de uma autenticação bem sucedida a MSK será entregue ao ponto de acesso e a estação. Entretanto, a porta controlada continua bloqueada para tráfego em geral até que as chaves temporais sejam instaladas no ponto de acesso e na estação, o que ocorre no 4-way handshake.

    2.6.2.2. Autenticação com PSK

    Caso durante a fase de descoberta tenha sido negociada a utilização do PSK, a fase de autenticação não é requerida, já que a chave compartilhada já foi distribuída e instalada nas entidades. Tais chaves podem ser utilizadas para a comprovação das autenticidades já que considera-se que tais chaves foram distribuídas de maneira segura e que somente as entidades envolvidas na associação possuirão a chave. Entretanto, as portas controladas do IEEE 802.1X continuam bloqueadas até que as chaves temporais sejam instaladas.

    2.6.3. Fase 3: Geração e distribuição de chave

    Nesta fase são realizados vários processos que possibilitam que as chaves criptográficas utilizadas para a realização de um tráfego seguro sejam posicionadas tanto nas estações quanto nos pontos de acesso.

    Propósitos:

    • Confirmar a existência da PMK
    • Assegurar que as chaves de associações sejam novas
    • Derivar e sincronizar a instalação das chaves temporárias no ponto de acesso e na estação.
    • Distribuir uma chave GTK
    • Confirmar a seleção de uma cipher suite

    Nesta fase existem dois tipos de handshakes: 4-Way Handshake e Group Key Handshake. Ambos são utilizados em diferentes situações para: verificar integridade da mensagem; proteger a mensagem contra alterações; validar a fonte do tráfego; encriptar a mensagem.

    2.6.3.1. 4-Way Handshake
    Diagrama 7 - 4-Way Handshake

    A fase de geração e distribuição de chaves começa com o 4-Way Handshake que permite que o ponto de acesso e a estação derivem a PTK( pairwise transient key) e realizem uma autenticação mútua.

    A PTK é gerada através de uma função pseudo aleatória (PRF) a partir da PMK, o MAC do cliente, o MAC do ponto de acesso, um número aleatório gerado pelo cliente e outro número aleatório gerado pelo ponto de acesso.

    Na primeira mensagem o ponto de acesso envia um número aleatório como texto em claro para o cliente.

    O cliente também gera um número aleatório. Depois, obtém a PTK através de um função pseudo aleatória(PRF) a partir da PMK, o MAC do cliente, o MAC do ponto de acesso, o número aleatório gerado por ele e o número aleatório gerado pelo ponto de acesso. Em seguida, a PTK é divida em três partes: EAPOL-Key KCK, EAPOL-Key KEK e TK.

    Uma segunda mensagem é enviada do cliente para o ponto de acesso contendo o número aleatório gerado por ele e um MIC (Message Integrity Code) criptografado pela KCK para que o ponto de acesso também obtenha a PTK.

    O ponto de acesso deriva a PTK e gera um GTK aleatoriamente. Depois manda uma terceira mensagem contendo o GTK criptografado pela KEK e um MIC criptografado pela KCK.

    O cliente descriptografa a mensagem e verifica se o ponto de acesso obteve a PTK corretamente. Em seguida manda uma quarta mensagem contendo um ACK criptografado pela KEK e um MIC( message integrity code) criptografado pela KCK.

    Na ultima etapa do 4-Way Handshake o ponto de acesso descriptografa a quarta mensagem e verifica se o cliente obteve a PTK corretamente.

    2.6.3.2. Group Key Handshake

    É utilizado pelo ponto de acesso para enviar um novo GTK a uma estação. Pode ocorrer imediatamente após o 4-Way Handshake ou depois da inicialização da estação. O ponto de acesso pode utilizar o handshake para atualizar o GTK nas estações nas seguintes situações: remoção da associação ou remoção da autenticação da estação; atualização de uma configuração na política de segurança da estação.

    A GMK utilizada para gerar a GTK pode ser atualizada no ponto de acesso periodicamente com a intenção de prevenir a exposição o tráfego de dados caso a GMK seja comprometida.

    2.6.4 Fase 4: Transferência de dados protegidos

    Nesta fase ocorre a troca de quadros de maneira segura.

    Antes dessa fase é necessário que as fases 1 a 3 sejam concluídas:

    • O ponto de acesso e a estação devem estar associados e uma política de segurança deve ter sido negociada (fase de descoberta).
    • O ponto de acesso e a estação devem ter sido mutuamente autenticados através do EAP e a MSK deve ter sido gerada utilizando a porta não controlada IEEE 802.1X, ou implicitamente autenticados através da PSK previamente instalada (fase de autenticação).
    • As chaves de sessão devem ter sido geradas, distribuídas e confirmadas através do 4-Way Handshake (fase de geração e distribuição de chaves)
    • A PTK deve ter sido gerada e as portas IEEE 802.1X devem estar desbloqueadas (fase de geração e distribuição de chaves)

    Essas fases prepararam o ponto de acesso e a estação para que realizem uma comunicação segura. Nesta fase o tráfego é protegido utilizando o protocolo de confidencialidade e integridade de dados escolhido durante a fase de descoberta.

    Em uma comunicação unicast o tráfego é protegido utilizando-se a PTK. As proteções nesse tipo de comunicação incluem encriptação, proteção de integridade, mecanismo de autenticação de origem de dados.

    Em comunicações broadcast e multicast, o tráfego é protegido utilizando o CCMP com o GTK. Como todas as estações nesse tipo de comunicação compartilham a mesma GTK, qualquer comprometimento nessa chave afeta todo o tráfego.

    2.6.5 Fase 5: Encerramento de conexão

    Durante esta fase a associação entre o ponto de acesso e a estação é encerrada através dos seguintes eventos:
    • O ponto de acesso remove a autenticação da estação
    • As chaves temporais utilizadas para encriptação dos dados trafegados são deletadas
    • A porta controlada IEEE 802.1X retorna a ser bloqueada, não permitindo o tráfego do usuário
    Essa fase pode ser iniciada de diversas maneiras:
  • A comunicação de rádio entre a estação e o ponto de acesso é perdida, como por exemplo, a estação se move para um local fora da área de cobertura do ponto de acesso
  • O usuário desliga a estação
  • A politica de segurança indica o término da conexão