13
TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃO AULA 2 CRIPTOGRAFIA AES PROF. MEHRAN MISAGHI

TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

  • Upload
    danganh

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

TÓPICOS ESPECIAIS EM

SEGURANÇA DA INFORMAÇÃO

AULA 2 – CRIPTOGRAFIA AES

PROF. MEHRAN MISAGHI

Page 2: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

2

AULA 2 – CRIPTOGRAFIA AES

OBJETIVOS DA AULA

Conhecer o histórico do cifrador AES;

Compreender a arquitetura do cifrador AES;

Compreender os processos de cifração e decifração do

AES.

CONTEÚDO DA AULA

Acompanhe os assuntos desta aula, se preferir, após o seu

término, assinale o conteúdo já estudado. Nesta aula, veremos:

Histórico do cifrador AES;

Arquitetura do cifrador AES;

O algoritmo do cifrador AES.

Page 3: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

3

1. Histórico do AES

Os métodos existentes de criptografia, atualmente, estão empregados em

diversos segmentos do mercado. Com o aumento constante de sistemas

interconectados e avanço significativo em poder computacional, novos e poderosos

métodos de criptografia são necessários e também viabilizados.

As técnicas de criptografia, através de suas principais características, permitem

que um remetente possa enviar uma mensagem (contendo dados ou não) para um

destinatário de tal forma que caso um invasor possa interceptá-la, não seja capaz de

entender o conteúdo da mensagem, nem ainda os dados e arquivos nela contidos.

Na disciplina de Segurança em Redes de Computadores aprendemos diversos

tipos de criptografia e suas principais semelhanças e diferenças. Esta aula tem por

objetivo apresentar a criptografia utilizando o cifrador AES e as suas principais

características, sem entrar no mérito dos aspectos matemáticos que são considerados

complexos. Aconselhamos que o aluno baixe o simulador gráfico de AES, disponível

na biblioteca da disciplina para melhor compreensão dos conceitos aqui

apresentados.

O conteúdo apresentado neste capítulo é de duas aulas (Aula 2 e Aula 3),

devido o volume do material e complexidade do assunto apresentado.

Começaremos o estudo do cifrador AES com um breve histórico. Em 1997, o

National Institute of Standards and Technology (NIST) dos E.U.A. abriu uma

competição internacional chamada AES (Advanced Encrytpion Standard) para

algoritmos candidatos que satisfizessem os seguintes critérios (Terada,00):

Tamanho de bloco de 128 bits na entrada e na saída;

Tamanho da chave de 128 ou 192 ou 256 bits;

Segurança e velocidade do algoritmo igual ou superior ao 3-DES;

Implementação em software, hardware e smart card de forma eficiente;

Código fonte do algoritmo disponível sem custo algum.

Desta forma, em abril 1999, foram escolhidos cinco candidatos:

1.MARS, desenvolvido por Nevenko Zunic (IBM);

2.RC6, desenvolvido por Burt Kaliski (RSA Laboratories);

Page 4: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

4

3.RIJNDAEL, desenvolvido por Joan Daemen e Vincent Rijmen.

4.SERPENT, desenvolvido por Ross Anderson, Eli Biham e Lars Knudsen;

5.TWOFISH, desenvolvido por Bruce Schneier, J. Kelsey, D. Whiting, D. Wagner,

Chris Hall e Neils Ferguson.

Em 2 de dezembro de 2000, foi escolhido o cifrador Rijndael (que passou a ser

referenciado como AES), como novo padrão de criptografia que substitui oficialmente

o DES, a partir de junho de 2001.

O Rijndael foi projetado para ter as seguintes características:

Resistência contra ataques conhecidos;

Velocidade e um código compactos em uma variedade de plataformas;

Simplicidade.

2. Arquitetura do Cifrador AES

O esquema genérico de qualquer cifrador consiste em uma chave de cifração,

o texto de entrada, o esquema de cifração e como resultado o texto de saída será um

texto cifrado. A figura a seguir ilustra melhor esta situação1:

1 Todas as figuras nesta seção são baseadas no simulador do cifrador AES, desenvolvido por Enrique Zabala da Universidad ORT, Uruguay.

Page 5: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

5

O cifrador de bloco AES é projetado para realizar as operações sobre um byte,

e o tamanho da chave e tamanho do bloco podem ser escolhidos entre 128, 192 e 256

bits. O número de rodada varia conforme tamanho da chave escolhida:

9 rodadas, para chave de 128 bits;

11 rodadas, para chave de 192 bits;

13 rodadas, para chave de 256 bits.

Uma rodada do cifrador AES

A cada rodada acontecem 4 transformações da seguinte forma:

SubBytes (substituição);

ShiftRows (rotações);

MixColumn (Combinação linear em GF(28)) que não ocorre em última

rodada;

AddRoundKey (Operação XOR entre State e Roundkey).

Page 6: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

6

As 4 transformações

SubByte

Consiste em simples substituição de byte, usa uma tabela de 16x16 contendo

a permutação de todos os valores de 256 bits. Cada byte é substituído pelo byte

correspondente a linha (esquerda 4 bits) e a coluna (direita 4 bits). A figura a seguir

apresenta um exemplo. O valor 19 é substituído pelo valor que encontra na 1ª linha e

9ª coluna que no caso é d4.

ShiftRows

Consiste em um shift (rotação) circular de byte em cada linha, sendo que:

1ª linha não é trocada;

2ª linha faz 1 shift circular de byte para esquerda;

3ª linha faz 2 shift circular de byte para esquerda;

4ª linha faz 3 shift circular de byte para esquerda;

Page 7: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

7

O processo de decifração faz o shift para a direita. Este passo permuta os

bytes entre as colunas. A figura a seguir apresenta o processo de ShiftRows.

MixColumns

Nesta transformação, cada coluna é processada separadamente e cada byte é

substituído por um valor correspondente aos 4 bytes na coluna. A figura a seguir

ilustra melhor este processo.

AddRoundKey

O matriz de dados no AES é chamado de state e a chave de matriz é chamada

de RoundKey. Na etapa de AddRoundKey, o state é substituido pelo state XOR

RoundKey. Como exemplo ilustrado na figura seguinte, a 1ª coluna após a realização

da operação XOR com a 1ª coluna do Roundkey é trocada pelo resultado obtido.

Page 8: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

8

Além das 4 transformações que existem que cada rodada, precisamos levar em

consideração o processo de Key Schedule que funciona da seguinte forma:

A chave K é expandida através da função Key Expansion();

As RoundKeys serão tiradas da chave expandida do número de colunas de

state. Desta forma a 1ª RoundKey utiliza a 1ª coluna do state e assim

sucessivamente.

A figura a seguir apresenta de uma forma mais clara o processo de Key Schedule.

Page 9: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

9

3. O algoritmo do cifrador AES

O algoritmo do cifrador AES é assim definido:

AES(data_block, key)

{in State, RoundKeys

State <- State XOR RoundKey0

for Round = 1 to Nr

SubBytes(State)

ShiftRow (State)

if not(último round) then MixColumn(State)

State <- State XOR RoundKeyRound out State}

Page 10: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

10

Processos de Rodadas em AES

A figura a seguir apresenta o processo de rodadas (utilizando uma chave de

128 bits e 9 rodadas)

Page 11: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

11

Estrutura do cifrador AES

A estrutura do Rijndael é a seguinte:

Page 12: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

12

EXERCÍCIOS PROPOSTOS

1. Aprendemos que em cada rodada existem quatro transformações. Explique o

processo de ShiftRows. Propõe um algoritmo para a sua execução.

2. Como você considera o AES um avanço com relação aos cifradores já

existentes?

3. Através de mecanismos de busca, procure por algum código executável do

AES e tente fazer a cifração de dados utilizando o código. Como você poderia

testar a randomicidade dos dados cifrados?

SÍNTESE

Nesta aula vimos:

Histórico do cifrador AES;

Arquitetura do cifrador AES;

O algoritmo do cifrador AES.

Page 13: TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃOwiki.stoa.usp.br/images/4/4c/Aula2-texto.pdf · Tópicos Especiais em Segurança da Informação ... através de suas principais características,

Tópicos Especiais em Segurança da Informação

UNISOCIESC – Centro Universitário SOCIESC

13

REFERÊNCIAS

1) DAEMON, Joan; RIJMEN, Vincent. The Design of Rijndael. Springer-Verlag,

2002.

2) MISAGHI, Mehran. Criptanálise Diferencial do Cifrador Rijndael. relatório, USP,

São Paulo, 2003. Disponível em

www.ime.usp.br/~cpgmac/Disciplinas_Passadas/2003ii/mac5701/Relatorios/Mehr

an_mono.pdf

3) TERADA, Routo. Segurança em Redes de Computador. São Paulo, 2000.

4) STALLINGS, William. Cryptography and Network Security: Principles and

Practice, 4th ed., Prentice Hall, 2006.

5) DENIS, Tom St. Cryptography for Developers, 1st ed., Syngress, 2007.