Criptografia Simétrica Distribuição de Chaves Distribuição de Chaves
Compartilhar a mesma chave.
Proteção da chave compartilhada. Mudanças frequentes da chave compartilhada. A força de qualquer sistema criptográfico está na técnica de distribuição de chaves. Técnicas de Distribuir Chaves: meios de entregar uma chave a duas partes, A e B, que querem trocar informações, sem permitir que outros a vejam. Distribuição de Chaves
Uma rede pode ter centenas de hosts e milhares de usuários.
O slide anterior (Fig. 7.7) mostra a magnitude da tarefa de
distribuição de chaves para a criptografia simétrica de ponta- a-ponta.
Uma rede usando criptografia em nível de nodos com 1000
nodos, precisaria distribuir mais de meio milhão de chaves. Distribuição de Chaves
1. A pode gerar uma chave e entregar, fisicamente, a B.
2. Um terceiro pode gerar a chave e entregar, fisicamente, a A e a B. 3. Se A e B tiverem usado uma chave prévia, e recentemente, uma parte pode transmitir uma nova chave criptografada à outra, usando a chave prévia. 4. Se A e B tiverem uma conexão criptografada com um terceiro C, C pode entregar uma chave a A e a B pelos enlaces (camada 2) de comunicação criptografada. Centro de Distribuição de Chaves - CDC
Para a criptografia de ponta-a-ponta, de (4) um CDC pode ser
utilizado.
Um CDC distribui chaves a pares de usuários.
Cada usuário pode precisa compartilhar uma chave exclusiva com
o CDC, para fins de distribuição de chaves: uma Chave-Mestra.
O uso do CDC é baseado no uso de uma hierarquia de chaves.
Centro de Distribuição de Chaves - CDC
Chave de Sessão – A comunicação entre os sistemas finais (ponto-
a-ponto) é criptografada usando uma chave temporária, menciona da como Chave de Sessão.
Uma Chave de Sessão é usada numa conexão lógica e depois
descartada.
Chaves de Sessão são transmitidas em formato criptografado,
usando uma Chave-Mestra, que é compartilhada entre o CDC e o usuário final. Centro de Distribuição de Chaves - CDC Suponha que A precisa estabelecer uma conexão lógica com B.
A precisa de uma Chave de Sessão, Ks, para proteger a
comunicação com B.
A tem um Chave-Mestra, Ka, conhecida apenas por A e o
CDC.
B tem um Chave-Mestra, Kb, conhecida apenas por B e o
CDC. Centro de Distribuição de Chaves - CDC 1. A emite um pedido ao CDC de uma Chave de Sessão para se comunicar com B.
Mensagem: IDA, IDB, N1
N1 é um identificador exclusivo para esta comunicação.
N1 é chamado um nonce (data-hora, um contador, um
número aleatório).
N1 tem o requisito mínimo de que ele seja diferente a cada
solicitação, e que seja difícil para um oponente descobrir. Centro de Distribuição de Chaves - CDC 2. O CDC responde com uma mensagem criptografada usando Ka. A é o único que pode ler esta mensagem e sabe que esta foi originada no CDC: E( Ka,[Ks || IDA || IDB || N1] ) || E( Kb, [Ks || IDA] ) Se A recebe o nonce N1, ele pode combinar esta resposta (parte azul) com o pedido ao CDC em (1).
E( Kb, [Ks || IDA] ) – esta parte, A deve enviar a B, para
estabelecer a comunicação com B e provar sua IDA para B. Centro de Distribuição de Chaves - CDC 3. A armazena Ks para uso na próxima sessão e envia a B, a informação que se originou no CDC: E( Kb, [Ks || IDA] ) Esta mensagem é criptografada por Kb e assim, é protegida contra interceptação.
B, agora, conhece a Chave de Sessão Ks, sabe que a outra
parte é A, e sabe que a informação foi originada no CDC (por causa de Kb).
Neste ponto, uma Chave de Sessão Ks foi entregue para
A e B, e podem começar a troca de informações protegidas. Centro de Distribuição de Chaves - CDC
4. Usando a chave de sessão Ks, B envia um nonce N2 para A.
E( Ks,N2 ) 5. Também usando Ks, A responde com f(N2), uma função que transforma N2, e a transformação é usada em resposta a B: E( Ks, f(N2) )
As etapas 4 e 5 garantem a B, que a mensagem original que
ele recebeu na (etapa 3), não é uma repetição. Centro de Distribuição de Chaves - CDC
Observe que a distribuição da chave de sessão, Ks, ocorre nas
etapas 1, 2 e 3.
As etapas 4 e 5 realizam uma função de autenticação.
Chaves-mestras são protegidas, fisicamente, dentro do
hardware criptográfico do CDC e dos sistemas finais de A e B. Chaves de sessão, criptografadas com chave-mestras, estão disponíveis aos programas de aplicação. Controle de Chaves Descentralizado O uso de um CDC impõe o requisito de que este CDC seja confiável e protegido contra subversão.
Outra alternativa que evita este requisito, se a distribuição for
descentralizada.
Não prática para redes amplas, mas útil em contextos locais.
Exige que cada sistema final seja capaz de se comunicar, de maneira
segura, com todos os sistemas finais parceiros em potencial, para fins de distribuir chaves de sessão.
Devem existir [(n*(n-1)]/2 chaves-mestras, para n sistemas finais.
Controle de Chaves Descentralizado Uma chave de sessão pode ser estabelecida:
1. A emite uma solicitação a B, de uma chave de sessão Ks e
emite um nonce N1.
2. B responde com uma mensagem criptografada por uma
chave-mestra Km, compartilhada com A. A resposta inclui uma chave de sessão selecionada por B, o identificador de B e um f(N1) e um outro nonce N2.
3. Usando a nova chave de sessão, Ks, A retorna f(N2) a B.
Controle de Chaves Descentralizado
Assim, embora cada sistema final deva manter no máximo
(n-1) chaves-mestras, tantas chaves de sessão, quantas necessárias, podem ser geradas e usadas.
Como as mensagens em (2), usando Km, são curtas, a
criptoanálise se torna difícil. Criptografia com Cifras de Fluxo Uma cifra de fluxo típica criptografa o texto claro um byte de cada vez, ou mesmo unidades maiores do que um byte de cada vez.
Uma chave é inserida em um gerador de bytes pseudo-aleatórios,
que produz um fluxo de números pseudo-aleatórios, um fluxo que é imprevisível sem o conhecimento da chave de entrada.
A saída do gerador é combinada um byte de cada vez com o fluxo
de bytes do texto claro, usando-se a operação XOR bit a bit XOR cifrando Cifragem
XOR 01101100 byte pseudo-aleatório _________________________ 11001100 texto claro Estrutura de uma Cifra de Fluxo RC4 Cifra de fluxo, projetada em 1987. Ron Rivest para a RSA Security. Tamanho de chave K é variável de 8 bits à 2048 bits, ou seja, o tamanho da chave K é variável de 1 a 256 bytes. RC4 pode ser usado em SSL ou TLS, na comunicação entre navegadores e servidores Web. Também usado no protocolo WEP (Wired Equivalent Privacy) e no WAP (WiFi Protected Access), do padrão IEEE 802.11 É vulnerável a uma técnica de ataque (WEP).