c. IEEE 802.11i (WPA2)
Após o fracasso do WEP, a Wi-Fi
Alliance se viu obrigada a trabalhar na segurança das suas redes sem fio para que
o padrão não fosse abandonado. Assim surgiu o WPA. Porem no IEEE já estava
sendo desenvolvido um padrão de segurança para ser aplicado a longo prazo,
sendo uma solução “definitiva” para os problemas de segurança. Tempo depois foi
lançado o IEEE 802.11 que tem como destaque utilizar o padrão 802.1X para
autenticação, RSN para controlar as ligações da rede e CCMP baseado no AES para
confidencialidade, integridade e autenticação da origem.
Robust Security Networks (RSN): O RSN é um protocolo de autenticação e criptografia inserido no adendo IEEE 802.11i, sendo muitas vezes confundido com o próprio padrão.
O RSN consiste basicamente de dois sub-sistemas:
· Um mecanismo de privacidade de dados, ou seja, um modelo de criptografia de dados utilizando um certo algoritmo. Podem ser utilizados o TKIP com o algoritmo RC4 ou o CCMP com o algoritmo AES.
· Gerenciamento de ligações seguras. Nisso estão implícitas as regras de negociação do RSN para estabelecer um contexto seguro, Utilização do IEEE 802.1X para controle de acesso e o gerenciamento de chaves do mesmo IEEE 802.1X para fornecer as chaves ao ponto de acesso e usuário.
·
O gerenciamento de ligações seguras consiste em:
· Procedimentos de negociação RSN para estabelecer uma conexão segura
· Autenticação IEEE 802.1X
· Gerenciamento de chaves do IEEE 802.1X
Procedimentos de Negociação RSN
O RSN define uma serie de procedimentos para que se possa garantir uma conexão segura entre o usuário, o ponto de acesso e o servidor de autenticação. A figura 5 mostra como funciona essa negociação. Ela consiste de 5 passos:
1. Estabelecimento de um canal seguro entre o ponto de acesso e o servidor de autenticação.
2. Localizar a rede, negociar os algoritmos de criptografia e associar o algoritmo à rede.
3. Realizar a autenticação 802.1X com o servidor de autenticação.
4. Autenticação mutua e estabelecimento das chaves aos pares (para o ponto de acesso e usuário).
5. Estabelecimento das chaves criptográficas.
Os outros aspectos do RSN, que se utilizam do IEEE 802.1X já foram explicados anteriormente.

Ilustração 1: Figura explicando os procedimentos de negociação do RSN
AES (Advanced Encryption Standard): O AES é um padrão estabelecido pelo governo norte-americano, que especifica o algoritmo de criptografia a ser usado por organizações governamentais para proteção de informações sensíveis e não confidenciais. O AES é baseado no algoritmo de Rijndael, um symetric block cipher. A idéia fundamental por trás da criptografia em bloco é dividir os dados que devem ser protegidos em blocos e então criptografar cada bloco separadamente. O AES, particularmente, faz uso de blocos de 128 bits. A princípio, quanto maior o bloco, mais seguro o algoritmo. A chave usada para a criptografia é a mesma para todos os blocos. O AES não é impossível de ser quebrado, ele apenas, na melhor das hipóteses, torna o ataque computacionalmente inviável. Isso quer dizer que: o tempo ou o custo para que o algoritmo seja quebrado é maior que o tempo de vida ou o valor da informação criptografada respectivamente. As chaves do AES podem ser de 128, 192 ou 256 bits. O AES faz a criptografia em rondas e o número de rondas depende do tamanho da chave do AES. Para a chave de 128 bits são feitas 10 rondas, para a de 192 bits são 12 rondas e para a de 256 bits são 14 rondas. Cada bloco é tratado como uma matriz 4x4 de bytes, denominada de estado. O estado passa pelo seguinte processo:
1.
Substituição de bytes. Essa transformação é uma
substituição não-linear que atua independentemente em cada byte do estado. Cada
byte é atualizado através de uma tabela não-linear de substituição (S-box).

Ilustração 2: Substituição de bytes

Ilustração 3: Substituição de valores para o byte xy (formato hexadecimal)
2.
Deslocamento das linhas: 1ª linha não desloca, 2ª linha
desloca 1 byte, a 3ª linha desloca 2 bytes e a 4ª linha desloca 3 bytes, todos
para a esquerda.

Ilustração 4: Deslocamento das linhas
3.
Combinação das colunas:cada byte de uma coluna é
substituído por um valor função dos bytes restantes.

Ilustração 5: Combinação de colunas
4. É feito o XOR entre o estado e a chave de ronda, que é derivada da chave do AES através do Rijndael's key schedule.

Ilustração 6: XOR do estado com a chave de ronda
Esse procedimento é repetido em cada uma das rondas, exceto na ultima, em que a etapa de combinação de colunas não é realizada
Cada uma dessas operações é facilmente inversível. A substituição de bytes procura gerar a não-linearidade da criptografia. O deslocamento das linhas e a combinação das colunas visão dar difusão à criptografia, ou seja, eliminar qualquer redundância presente na mensagem original da mensagem criptografada.
CCMP: O CCMP é um protocolo de criptografia baseado no algoritmo AES, que criptografa por blocos, diferentemente do RC4 do TKIP e do WEP que é um stream cypher, se utilizando do Modo counter (CTR) para garantir a privacidade, em união com o código de autenticação CBC-MAC para garantir a integridade da mensagem.
Esse modelo do CCMP é chamado CCM, um modelo genérico de criptografia e autenticação que pode ser aplicado a diferentes algoritmos de criptografia. A restrição apresentada por esse modelo é que os blocos utilizados na criptografia tem de ser de 128 bits. O modelo exige também que seja fornecida uma chave temporal (TK) por sessão e um valor único para representar cada pacote para cada TK. O CCMP utiliza um numero de pacote (PN) de 48 bits.
O quadro criptografado é formado através do CTR. O processo de criptografia do quadro é o seguinte:
1. Incrementação do PN, para garantir que o pacote enviado terá um PN novo.
2. O cabeçalho do quadro é utilizado para construir dados de autenticação adicionais (AAD)
3. Construção do vetor de inicialização (IV ou Nonce) a partir do PN e de outros dados vindos do quadro (A2-bloco de endereço 2 e priority)
4. Construção do cabeçalho CCMP com a união do PN do KeyID (ID que identifica a chave da sessão em questão no servidor de autenticação)
5. Rodar o algoritmo AES no modo CTR utilizando como entrada o IV, o AAD, a chave TK, os dados do quadro para formar o os dados criptografados mais o MIC (Message integrity code).
6. Concatenação do cabeçalho MAC, do cabeçalho CCMP e dos dados criptografados e MIC.

Ilustração 7: Processo de formação do quadro criptografado
Para o
calculo do MIC, que será enviado concatenado ao quadro criptografado, é
utilizado o mesmo algoritmo AES, mas

Ilustração 8: Calculo do MIC
Para formar o frame criptografado foi necessário utilizar o AES no modo CTR. Esse algoritmo vai ter como entrada o CTR preload (que é um bloco de dados com um byte de flag, um byte de QoS (Quality of Service), um campo endereço de 6 bytes, um PN de 6 bytes e 2 bytes de um contador) e a TK. O cabeçalho do quadro é repetido no quadro criptografado. Na transmissão esse algoritmo ira gerar um quadro criptografado de dados. Na recepção esse algoritmo ira gerar o quadro descriptografado mais o MIC.

Ilustração 9: Criptografia do CTR