Você está na página 1de 45

Mecanismos de Criptografia

Brasília-DF.
Elaboração

Max Bianchi Godoy

Produção

Equipe Técnica de Avaliação, Revisão Linguística e Editoração


Sumário

APRESENTAÇÃO.................................................................................................................................. 4

ORGANIZAÇÃO DO CADERNO DE ESTUDOS E PESQUISA..................................................................... 5

INTRODUÇÃO.................................................................................................................................... 7

UNIDADE I
CONCEITOS BÁSICOS E HISTÓRICOS...................................................................................................... 9

CAPÍTULO 1
HISTÓRIA DA CRIPTOGRAFIA...................................................................................................... 9

CAPÍTULO 2
CONCEITOS E TERMOS APLICÁVEIS.......................................................................................... 12

CAPÍTULO 3
CONCEITOS DE CRIPTOGRAFIA............................................................................................... 14

UNIDADE II
MECANISMOS DE CRIPTOGRAFIA......................................................................................................... 19

CAPÍTULO 1
CRIPTOGRAFIA SIMÉTRICA....................................................................................................... 19

CAPÍTULO 2
ALGORITMOS DE CRIPTOGRAFIA SIMÉTRICA (DES, 3DES, AES)................................................... 21

CAPÍTULO 3
CRIPTOGRAFIA ASSIMÉTRICA................................................................................................... 24

CAPÍTULO 4
ALGORITMOS DE CRIPTOGRAFIA ASSIMÉTRICA (RSA, DH, ECC, ELGAMAL)................................ 26

CAPÍTULO 5
FUNÇÃO HASH....................................................................................................................... 31

CAPÍTULO 6
TIPOS DE ATAQUES.................................................................................................................. 34

UNIDADE III
ASSINATURA DIGITAL E LEGISLAÇÃO...................................................................................................... 36

CAPÍTULO 1
GERADORES DE NÚMEROS ALEATÓRIOS.................................................................................. 36
CAPÍTULO 2
PKI E APLICAÇÃO DA CRIPTOGRAFIA....................................................................................... 39

CAPÍTULO 3
ICP – BRASIL E LEGISLAÇÃO.................................................................................................... 41

PARA (NÃO) FINALIZAR...................................................................................................................... 43

REFERÊNCIAS................................................................................................................................... 44
Apresentação

Caro aluno

A proposta editorial deste Caderno de Estudos e Pesquisa reúne elementos que se


entendem necessários para o desenvolvimento do estudo com segurança e qualidade.
Caracteriza-se pela atualidade, dinâmica e pertinência de seu conteúdo, bem como pela
interatividade e modernidade de sua estrutura formal, adequadas à metodologia da
Educação a Distância – EaD.

Pretende-se, com este material, levá-lo à reflexão e à compreensão da pluralidade dos


conhecimentos a serem oferecidos, possibilitando-lhe ampliar conceitos específicos
da área e atuar de forma competente e conscienciosa, como convém ao profissional
que busca a formação continuada para vencer os desafios que a evolução científico-
tecnológica impõe ao mundo contemporâneo.

Elaborou-se a presente publicação com a intenção de torná-la subsídio valioso, de modo


a facilitar sua caminhada na trajetória a ser percorrida tanto na vida pessoal quanto na
profissional. Utilize-a como instrumento para seu sucesso na carreira.

Conselho Editorial

5
Organização do Caderno
de Estudos e Pesquisa

Para facilitar seu estudo, os conteúdos são organizados em unidades, subdivididas em


capítulos, de forma didática, objetiva e coerente. Eles serão abordados por meio de textos
básicos, com questões para reflexão, entre outros recursos editoriais que visam a tornar
sua leitura mais agradável. Ao final, serão indicadas, também, fontes de consulta, para
aprofundar os estudos com leituras e pesquisas complementares.

A seguir, uma breve descrição dos ícones utilizados na organização dos Cadernos de
Estudos e Pesquisa.

Provocação

Textos que buscam instigar o aluno a refletir sobre determinado assunto antes
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor
conteudista.

Para refletir

Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa e reflita
sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. É importante
que ele verifique seus conhecimentos, suas experiências e seus sentimentos. As
reflexões são o ponto de partida para a construção de suas conclusões.

Sugestão de estudo complementar

Sugestões de leituras adicionais, filmes e sites para aprofundamento do estudo,


discussões em fóruns ou encontros presenciais quando for o caso.

Praticando

Sugestão de atividades, no decorrer das leituras, com o objetivo didático de fortalecer


o processo de aprendizagem do aluno.

6
Atenção

Chamadas para alertar detalhes/tópicos importantes que contribuam para a


síntese/conclusão do assunto abordado.

Saiba mais

Informações complementares para elucidar a construção das sínteses/conclusões


sobre o assunto abordado.

Sintetizando

Trecho que busca resumir informações relevantes do conteúdo, facilitando o


entendimento pelo aluno sobre trechos mais complexos.

Exercício de fixação

Atividades que buscam reforçar a assimilação e fixação dos períodos que o autor/
conteudista achar mais relevante em relação a aprendizagem de seu módulo (não
há registro de menção).

Avaliação Final

Questionário com 10 questões objetivas, baseadas nos objetivos do curso,


que visam verificar a aprendizagem do curso (há registro de menção). É a única
atividade do curso que vale nota, ou seja, é a atividade que o aluno fará para saber
se pode ou não receber a certificação.

Para (não) finalizar

Texto integrador, ao final do módulo, que motiva o aluno a continuar a aprendizagem


ou estimula ponderações complementares sobre o módulo estudado.

7
Introdução

O único sistema verdadeiramente seguro é aquele que está desligado,


desplugado, trancado num cofre de titanium, lacrado, enterrado em um bunker
de concreto, envolto por gás nervoso e vigiado por guardas armados muito bem
pagos. Mesmo assim, eu não apostaria minha vida nisso.

Gene Spafford

Iniciaremos observando conceitos e um breve histórico da criptografia, verificando


pressupostos básicos de criptografia e criptoanálise.

Em seguida, estudaremos os mecanismos de criptografia, considerando aspectos do


modelo simétrico, no que concerne aos três principais algoritmos: DES, 3DES, AES.

Veremos, então, características do modelo de criptografia assimétrica, sobretudo no


que se refere aos principais algoritmos representados por RSA, DH, ECC, ELGamal.

Após essas definições, apresentaremos a Função Hash e a sua aplicabilidade, além de


citar os principais tipos de ataques.

Concluiremos nosso estudo abordando aspectos das assinaturas digitais e a legislação a


respeito do tema, verificando os geradores de números aleatórios, os certificados PKI e
as aplicações da criptografia, finalizando com o ICP–Brasil e aspectos da legislação que
cercam o tema.

Objetivos
»» Fornecer os conceitos básicos de criptografia e criptoanálise.

»» Explicar como são os métodos de utilização da criptografia.

»» Caracterizar os conceitos de certificação e de assinatura digital.

»» Explicar alguns regulamentos e legislação.

8
CONCEITOS BÁSICOS UNIDADE I
E HISTÓRICOS

CAPÍTULO 1
História da criptografia

“[...] nem mesmo os acontecimentos de 11 de setembro de 2001 nos EUA


mudaram esta situação para aqueles que não viveram de perto o drama de
perder, ou estarem próximos de perder pessoas, ambientes e dados.”

Antunes (2002).

O primeiro uso documentado da criptografia foi em, aproximadamente, 1900 a.C., no


Egito, quando um escriba usou hieróglifos fora do padrão em uma inscrição.

Antigamente a cifragem era utilizada na troca de mensagens, sobretudo em assuntos


ligado à guerra (no intuito de o inimigo não descobrir a estratégia do emissor da
mensagem, caso se apoderasse dela), ao amor (para que os segredos amorosos não
fossem descobertos pelos familiares) e à diplomacia (para que facções rivais não
estragassem os planos de acordos diplomáticos entre nações).

No século IX a.C., Segundo Videira (2006), foi relatado um outro método utilizado pelos
espartanos, conhecido como “cítala espartana”, constituído de dois bastões idênticos
em que eram enrolados pergaminhos. Assim, as mensagens claras eram escritas no
sentido do seu comprimento e depois o pergaminho era desenrolado e enviado a seu
destino. Lá havia um bastão idêntico ao primeiro e, ao ser enrolado novamente, revelava
a mensagem original enviada.

Relata-se que, de 600 a 500 a.C., havia o Livro de Jeremias com diversas Cifras Hebraicas.
De acordo com Tkotz (2005), durante esse período, os hebreus utilizavam a cifra de
substituição simples (de fácil reversão e fazendo uso de cifragem dupla para obter o
texto original), sendo monoalfabética e monogrâmica (os caracteres são trocados um
a um por outros), e com ela escreveram o Livro de Jeremias. Na época, as cifras mais
conhecidas eram denominadas Atbah, Atbash e Atbah.

9
UNIDADE I │ CONCEITOS BÁSICOS E HISTÓRICOS

O chamado “Codificador de Júlio César”, ou “Cifra de César”, que, segundo Stallings


(1998), apresentava uma das técnicas mais clássicas de criptografia, é um exemplo de
substituição que, simplesmente, substitui as letras do alfabeto avançando três casas.

Consoante Weber (1995), o código de César contribuiu bastante para o conceito de


algoritmos criptográficos modernos, uma vez que, na verdade, é um algoritmo muito
simples criado pelo imperador romano Júlio César, no período aproximado de 100-44
a.C. O processo consistia na substituição das letras do alfabeto utilizadas na mensagem.
O autor da cifragem trocava cada letra por outra situada a três posições à frente no
alfabeto. Segundo o autor, esse algoritmo foi responsável por enganar muitos inimigos
do Império Romano; no entanto, após ter sido descoberta a chave, assim como todas,
perdeu a funcionalidade.

Conforme Hinz (2000), a partir desse momento histórico a chave começou a ter
mais importância que o próprio algoritmo utilizado, de forma que passou a refletir os
conceitos que são aplicados até os dias de hoje.

Em 1586, destacam-se os estudos de Blaise de Vigenère que, segundo Videira (2006),


constituíram um método muito interessante. É a cifra de Vigenère que utiliza a
substituição de letras. Tal processo consiste na sequência de várias cifras (como as de
César) com diferentes valores de deslocamento alfanumérico. A partir desse período,
Renascença, a criptologia começou a ser seriamente estudada no Ocidente e, assim,
diversas técnicas foram utilizadas e os antigos códigos monoalfabéticos foram, aos
poucos, sendo substituídos por polialfabéticos.

Dos anos 700 a 1200, são relatados incríveis estudos estatísticos, em que se destacavam
expoentes como al-Khalil, al-Kindi, Ibn Dunainir e Ibn Adlan, que marcaram sua época.

Na Idade Média, a civilização árabe-islâmica contribuiu muito para os processos


criptográficos, sobretudo quanto à criptoanálise (análise da codificação, a procura de
padrões que identificassem mensagens camufladas por códigos).

Na Idade Moderna, merecem destaque o holandês Kerckoff e o alemão Kasiski.

Modernamente, em 1918, Arthur Scherbius desenvolveu uma máquina de criptografia


chamada Enigma, utilizada amplamente pela marinha de guerra alemã em 1926 como
a principal forma de comunicação.

Em 1928, o exército alemão construiu uma versão conhecida como “Enigma G”, que
tinha como garantidor de segurança a troca periódica mensal de suas chaves.

10
CONCEITOS BÁSICOS E HISTÓRICOS │ UNIDADE I

Essa máquina tinha como diferencial ser elétrico-mecânica, funcionando de três


(inicialmente) a oito rotores.

Aparentava ser uma máquina de escrever, mas, quando o usuário pressionava uma tecla,
o rotor da esquerda avançava uma posição, provocando a rotação dos demais rotores
à direita. Esse movimento dos rotores gerava diferentes combinações de encriptação.

Assim, a codificação da mensagem pelas máquinas “Enigma” era de muito difícil


decodificação, uma vez que, para isso, era necessário ter outra máquina dessas e saber
qual a chave (esquema) utilizada para realizar a codificação.

A Colossus surgiu do esforço de engenharia reversa das forças aliadas em decriptar


as mensagens da marinha e do exército alemão, só logrando efetivo êxito após se
ter conseguido uma máquina Enigma alemã (furtada). Tais equipamentos foram,
inicialmente, desenvolvidos como máquinas de decriptação, mas, depois, passaram a
codificar mensagens das forças aliadas.

Em seguida, surgiram outras máquinas tais como a Typex, a SIGABA e a M-134-C,


fisicamente semelhantes à Enigma (pareciam com antigas máquinas de escrever),
porém foram aperfeiçoadas de forma a dificultar o mais possível a decriptação por
quem não as possuísse.

Devido aos esforços de guerra, a criptografia passou a ser largamente utilizada.

Em 1948, Claude Elwood Shannon desenvolveu a Teoria Matemática da Comunicação,


que permitiu grandes desenvolvimentos nos padrões de criptografia e criptoanálise.

Durante a chamada “Guerra Fria”, entre Estados Unidos e União Soviética (URSS),
foram criados e utilizados diversos métodos a fim de esconder, do outro lado, mensagens
a respeito de estratégias e operações, criptografadas com diferentes métodos e chaves.

Além dos avanços da criptografia, a criptoanálise se desenvolveu muito com os esforços


de descobrir padrões e chaves, e também a diversidade dos canais de propagação das
mensagens criptografadas.

Desses esforços, surgiram diversos tipos de criptografia, tais como: por chave simétrica,
por chave assimétrica, por hash e até a chamada criptografia quântica, que se encontra,
hoje, em desenvolvimento.

Em 1978, destacaram-se os esforços de Rivest, Shamir e Adleman.

Atualmente, a criptografia é amplamente utilizada em segurança a fim de autenticar


os usuários para lhes fornecer acesso na proteção de transações financeiras e em
comunicação.

11
CAPÍTULO 2
Conceitos e termos aplicáveis

Nosso fascínio pela tecnologia nos fez esquecer o objetivo principal da


informação: informar. Todos os computadores do mundo de nada servirão se
seus usuários não estiverem interessados na informação que esses computadores
podem gerar.

Davenport (1998).

Criptografia
Segundo Schneier (2001), a criptografia é o estudo da grafia secreta, isto é, o estudo de
métodos que permitam ocultar o conteúdo de mensagens ou dados armazenados. As
aplicações básicas da criptografia são: confidencialidade (garantir que apenas quem é
autorizado pode ler os dados) e autenticação/integridade (garantir que os dados têm a
origem correta e que não foram alterados entre origem e destino).

Conforme Sêmola (2003), na cifragem, a mensagem original é transformada em algo


ininteligível, utilizando um código secreto – a chave criptográfica. A chave é como uma
senha, uma informação secreta que precisa ser fornecida para cifrar e, posteriormente,
decifrar a mensagem. De outra forma, na decifragem, ocorre o processo inverso, ou
seja, a recuperação da mensagem original a partir de sua forma criptografada.

Chave criptográfica
Consoante Schneier (1996), uma chave criptográfica é um valor secreto que modifica
um algoritmo de encriptação. A fechadura da porta da frente da sua casa tem uma série
de pinos. Cada um desses pinos possui múltiplas posições possíveis. Quando alguém
põe a chave na fechadura, cada um dos pinos é movido para uma posição específica. Se
as posições ditadas pela chave são as que a fechadura precisa para ser aberta, ela abre,
caso contrário, não.

Encriptar ou cifrar
Corresponde ao ato de transformar dados ou mensagens em algum bloco, a princípio,
de forma ilegível ou sem que seja descoberto seu real significado. Assim, o seu propósito
está em procurar garantir a privacidade da informação, mantida escondida a fim de que
pessoas não autorizadas não a consigam conhecer, mesmo conseguindo visualizá-la.

12
CONCEITOS BÁSICOS E HISTÓRICOS │ UNIDADE I

Segundo Hinz (2000), a encriptação ou cifragem é o processo de tornar o conteúdo do


texto alterado; após essa etapa, o texto é chamado de texto cifrado.

Decriptar ou decifrar
Constitui-se de processo inverso à cifragem, ou seja, transforma os dados criptografados
na forma que possuíam antes de se submeterem ao processo de criptografia.

De acordo com Hinz (2000), a decriptação ou decifragem corresponde ao processo pelo


qual a mensagem retorna ao seu contexto original. Nesse caso, o resultado recebe o
nome de texto decifrado.

13
CAPÍTULO 3
Conceitos de criptografia

“Os ativos físicos, tecnológicos e humanos fazem uso da informação, sustentando


processos que, por sua vez, mantêm a operação da empresa.”

Sêmola (2003, p. 9).

Segundo Hinz (2000), a criptoanálise é a arte de se tentar descobrir o texto cifrado e/ou
a lógica utilizada em sua encriptação (chave). As pessoas que participam desse esforço
são denominadas criptoanalistas. Pode-se inferir que, da fusão da criptografia com a
criptoanálise, forma-se a criptologia.

A criptoanálise representa o esforço de descodificar ou decifrar mensagens sem que


se tenha o conhecimento prévio da chave secreta que as gerou. As diversas técnicas de
criptoanálise são os caminhos que os analistas podem seguir para conseguir descobrir
ou quebrar a codificação das mensagens que estiverem cifradas, e não apenas a simples
decifração de uma mensagem.

Atualmente, a criptoanálise é utilizada a fim de se consultar as tentativas de quebra


de segurança de outros tipos de algoritmos e de protocolos criptográficos, em geral, e
a encriptação ilegal. Entretanto, a criptoanálise exclui geralmente os ataques que não
alvejam primeiramente fraquezas na criptografia real. Os métodos, tais como o bribery,
coerção física, burglary, keyloggin, embora esses últimos tipos de ataque sejam de
interesse para a segurança do computador, estão se tornando cada vez mais eficazes do
que a criptoanálise tradicional.

Embora o termo criptoanálise seja relativamente recente (foi inventado por William
Friedman, em 1920), métodos para quebrar códigos e cifras são muito mais antigos.
A primeira explanação gravada, conhecida da criptoanálise, foi realizada pelo árabe
Abu Yusuf Yaqub ibn Ishaq al-Sabbah Al-Kindi em A manuscript on deciphering
cryptographic messages.

A análise de frequência é a ferramenta básica para quebrar cifras clássicas. Em línguas


naturais, determinadas letras do alfabeto aparecem mais frequentemente do que outras;
em inglês, “E” é a letra mais comum em toda a amostra dada do texto. Similarmente, o
dígrafo “TH” é o par mais provável de letras, e assim por diante. A análise de frequência
confia em uma cifra não escondendo essas estatísticas. Por exemplo, em uma cifra
simples de substituição (em que cada letra é substituída simplesmente por outra), a letra
mais frequente em uma mensagem cifrada de um texto em inglês seria provavelmente
a letra “E”.

14
CONCEITOS BÁSICOS E HISTÓRICOS │ UNIDADE I

A análise de frequência confia tanto no conhecimento linguístico, como o faz nas


estatísticas, mas, como as cifras se tornaram mais complexas, a matemática aproximou-
se gradualmente da criptoanálise. Essa mudança era particularmente evidente durante
a Segunda Guerra Mundial, quando os esforços para quebrar cifras de linha central
requereram níveis novos de sofisticação matemática. Além disso, a automatização era
aplicada pela primeira vez na criptoanálise com o dispositivo de Bomba e o Colossus –
um dos computadores mais modernos.

Criptoanálise moderna
Com a computação usada para beneficiar a criptoanálise na Segunda Guerra Mundial,
criaram-se novos possíveis métodos de criptografia de magnitude elevada e mais
complexos do que eram antes.

15
UNIDADE I │ CONCEITOS BÁSICOS E HISTÓRICOS

Avaliando tudo, a criptografia moderna tornou-se muito mais intensa a criptoanálise


do que os sistemas “papel-e-caneta” do passado, e parece, agora, ser superior à
criptoanálise pura. As notas do historiador David Kahn:

Muitos são os criptossistemas oferecidos pelas centenas dos vendedores


comerciais hoje que não podem ser quebrados por qualquer método
conhecido da criptoanálise. Certamente que, em tais sistemas, mesmo
um ataque de plaintext escolhido, em que um plaintext selecionado é
combinado contra sua mensagem cifrada, não pode entregar a chave
que destrava outras mensagens. Por isso, então, a criptoanálise está
inoperante. Mas esse não é o fim da história. A criptoanálise pode estar
inoperante, mas há – para misturar minhas metáforas – mais do que
um único caminho para tirar a pele de um gato.

Kahn pode ter sido prematuro em sua criptanálise pós-morte. As cifras fracas não
foram extintas e os métodos criptanalíticos empregados por agências de inteligência
remanescem não publicados. Na academia, os projetos novos são apresentados
regularmente e, também, quebrados frequentemente: a cifra de bloco Madryga, de
1984, foi encontrada para ser substituível aos ataques de mensagem cifrada somente
em 1998; FEAL-4 a propôs como uma recolocação para o Algoritmo Padrão de
Encriptação (DES).

Resultado da criptoanálise

Certamente, a criptoanálise bem-sucedida influenciou a história, visto que a habilidade


de ler os segredos presumidos e as plantas de outros pode ser uma vantagem decisiva.
Por exemplo, na Primeira Guerra Mundial, quebrar o telegrama de Zimmermann foi
fundamental para trazer os Estados Unidos para guerra. Na Segunda Guerra Mundial,
a criptoanálise das cifras alemãs – incluindo a máquina Enigma e a cifra de Lorenz –
foi conhecida como o ponto decisivo para chegar ao fim da guerra europeia por alguns
meses e determinar o resultado eventual. Os Estados Unidos beneficiaram-se também
da criptoanálise do código ROXO japonês.

Os governos reconheceram por muito tempo os benefícios potenciais da criptoanálise


para a inteligência militar e diplomática, e têm estabelecido as organizações dedicadas a
quebrar os códigos e as cifras de outras nações, por exemplo, GCHQ e NSA, organizações
que são ainda hoje muito ativas. Até 2004, relatou-se que os Estados Unidos tinham
quebrado cifras iranianas. Não se sabe, entretanto, se foi pela criptoanálise pura ou se
outros métodos foram utilizados.

16
CONCEITOS BÁSICOS E HISTÓRICOS │ UNIDADE I

Ataques característicos
Os ataques criptoanalíticos variam quanto à potência e ao poder de ameaçar os
criptossistemas do mundo-real (real-world). Assim, uma fraqueza da certificação é um
ataque teórico improvável de ser aplicado em qualquer situação real, pois a maioria
dos resultados encontrados nas pesquisas criptoanalíticas modernas são desse tipo.
Essencialmente, a importância de um ataque depende das respostas às três perguntas
seguintes:

»» Que conhecimento e potencial são necessários como pré-requisito?

»» Quanta informação secreta adicional é deduzida?

»» O que é a complexidade computacional?

Como classificação do sucesso da criptoanálise, verifica-se que seus resultados podem


também variar na utilidade. Por exemplo, o criptógrafo Lars Knudsen (1998) classificou
vários tipos de ataque em cifras do bloco de acordo com a quantidade e a qualidade da
informação secreta que foi descoberta:

»» Ruptura total – o atacante deduz a chave secreta.

»» Dedução global – o atacante descobre um algoritmo funcionalmente


equivalente para a encriptação e decriptação, mas sem aprender a chave.

»» Dedução (local) do exemplo – o atacante descobre os plaintexts adicionais


(ou as mensagens cifradas) não conhecidos previamente.

»» Dedução da informação – o atacante ganha alguma informação de


Shannon sobre os plaintexts (ou as mensagens cifradas) não conhecidos
previamente.

»» Algoritmo distinguindo – o atacante pode distinguir a cifra de uma


permutação aleatória.

As considerações similares aplicam-se aos ataques em outros tipos de algoritmos


criptográficos.

Complexibilidade

Os ataques podem também ser caracterizados pela quantidade de recursos que


requerem. Isso pode estar no formulário de:

17
UNIDADE I │ CONCEITOS BÁSICOS E HISTÓRICOS

»» Tempo – o número “das operações primitivas” que devem ser executadas.


Isso é completa e frouxamente; as operações primitivas podiam ser
instruções básicas de computador, tais como a adição, XOR, deslocamento,
e assim por diante, ou métodos inteiros de encriptação.

»» Memória – a quantidade de armazenamento requerida para executar o


ataque.

»» Dados – a quantidade dos plaintexts e das mensagens cifradas requeridas.

Os esquemas assimétricos são projetados em relação à dificuldade de resolver vários


problemas matemáticos. Se um algoritmo melhorado puder resolver o problema, então
o sistema está enfraquecido. Por exemplo, a segurança do esquema da troca da chave de
Diffie-Hellman depende da dificuldade de calcular o logaritmo discreto. Em 1983, Don
Coppersmith descobriu uma maneira mais rápida de encontrar logaritmos discretos
(em determinados grupos); desse modo, usam-se grupos criptográficos maiores (ou
tipos diferentes de grupos). A segurança de RSA depende (em parte) da dificuldade da
fatoração do inteiro – uma descoberta da fatoração acabaria com a segurança de RSA.

Em 1980, era possível fatorar um número de 50 dígitos em 10^12 operações elementares


de computador. Em 1984, o último modelo de fatorar algoritmos tinha avançado a um
ponto em que um número de 75 dígitos poderia ser fatorado em 10^12 operações.

Os avanços da tecnologia computacional significaram que se poderiam executar as


operações de forma muito mais rápida.

O esforço era maior do que os citados acima, mas não era utilizado em computadores
modernos rápidos. No início do século XXI, 150 números do dígito já foram considerados
um tamanho-chave insuficiente para RSA.

Dessa forma, números com muitos dígitos diferentes ainda são considerados muito
difíceis de serem fatorados, embora todos os métodos continuem a ser melhorados ao
longo do tempo, requerendo que o tamanho-chave mantenha o ritmo ou que novos
algoritmos sejam usados.

Além disso, existe outra característica que distingue os esquemas assimétricos: a


capacidade de empregar a lógica ou o conhecimento que está incluso na chave pública,
podendo ser empregada por esquemas de criptoanálise, sendo bem diferente dos
procedimentos de ataques perpetrados contra sistemas de criptografia simétricos, em
que se parte de uma ideia lógica ou suposição a fim de desvendar a lógica da chave
criptográfica.

18
MECANISMOS DE UNIDADE II
CRIPTOGRAFIA

CAPÍTULO 1
Criptografia simétrica

“As pessoas querem se comunicar e o sistema de segurança é, no máximo, algo


que não prejudique esse desejo.”

Schneier (2001, p. 260).

A criptografia simétrica, também conhecida por criptografia tradicional, utiliza uma


única chave que serve tanto para cifrar como para decifrar. O risco ocorre no momento
em que a cópia da chave é enviada ao destinatário, pois, se essa confidencialidade for
quebrada, todo o processo estará comprometido.

Criptografia Tradicional ou Simétrica

Fonte: <http://www.magnet.com.br/classic/raiox/cripto1.html>. Acesso em: 2 set. 2014.

Sistemas simétricos representam toda forma de criptografia existente até 1976, quando
foram utilizados diversos métodos, inventados pela humanidade para transmitir dados
sigilosos, conforme a necessidade e os meios dispiníveis na época em que precisaram
ser utilizados.

Na década de 1970, surgiu o primeiro algoritmo simétrico para uso comercial, o DES,
decorrente do início da popularização dos computadores. Desde então, a partir do
advento dos sistemas assimétricos, a criptografia difundiu-se e foi se tornando uma área
importante, objeto de diversas pesquisas acadêmicas e comerciais, evoluindo bastante
na associação da Informática com a Matemática, a Engenharia, a Estatística e a Física.

19
UNIDADE II │ MECANISMOS DE CRIPTOGRAFIA

Assim, a criptografia tornou-se uma fonte principal de mecanismos de segurança


que possibilitaram o crescimento do comércio eletrônico e das múltiplas formas de
comunicação via Internet que vemos hoje.

Dessa forma, os sistemas conhecidos hoje como de chave pública foram propostos,
inicialmente, por James Ellis por meio de um trabalho desenvolvido para o Serviço
de Inteligência Britânico. Foram aperfeiçoados posteriormente por Martin Hellman e
Whitfield Diffie, em 1976. No trabalho apresentado por esses pesquisadores, propôs-
se também o primeiro protocolo de chaves públicas a fim de se estabelecer uma ideia
de chave simétrica entre duas entidades, porém sem ter sido utilizado o modelo de
encriptação e decriptação conhecido atualmente.

Tal ideia foi melhorada por Ralph Merkle, em 1978, no mesmo ano em que o novo
modelo foi concretizado pelos pesquisadores Ron Rivest, Adi Shamir e Len Adlema.

20
CAPÍTULO 2
Algoritmos de criptografia simétrica
(DES, 3DES, AES)

“[...] analisar alguma coisa significa decompor o seu todo em partes distintas,
para examinar o conjunto e seus componentes e conhecer suas naturezas,
proporções, funções, características e relações.”

Abreu (1995).

DES – Data Encryption Standard


O DES foi desenvolvido pela IBM e adotado, em 1977, pelo National Bureau of Standards
(NBS), atual National Institute of Standards and Technology (NIST), como o Padrão de
Processamento de Informação Federal 46 (FIPS PUB 46). O DES utiliza uma chave de
56 bits para codificar blocos de texto claro de 64 bits. O algoritmo transforma, mediante
uma série de passos, uma entrada de 64 bits de texto claro em uma saída de 64 bits de
texto codificado. A reversão do processo é realizada por meio dos mesmos passos e da
mesma chave (STALLINGS, 1998).

Dessa forma, o tempo de vida útil do DES está chegando ao fim; em 1997, o NIST
anunciou a intenção de substituir o DES e deu início ao processo de escolha do novo
algoritmo de criptografia que será adotado como padrão.

Tal pretensão é decorrente, sobretudo, do comprimento da chave do DES (56 bits), o que
não se mostra adequado para a tecnologia de criptoanálise dos dias atuais, considerada
de relativa facilidade de dedução.

Assim, como principais características do DES estão: o tamanho do bloco de 64


bits, o comprimento da chave de 56 bits e o processo de codificação do texto ser
considerado “claro”.

O processamento do texto claro realiza-se, primordialmente, em três etapas que


se iniciam com o bloco de 64 bits, passando por uma função de permutação inicial
(IP), sendo depois gerada uma saída permutada. Em seguida, esse bloco passa por
um processo de dezesseis voltas (loops), que consiste em funções de permutação e
de substituição, envolvendo texto claro e a chave. Finalmente, a saída desse processo
se realiza por meio de uma permutação (IP-1), que inverte a função de permutação
realizada inicialmente.

21
UNIDADE II │ MECANISMOS DE CRIPTOGRAFIA

Como se pode observar, o tamanho da chave do DES é o que o torna inadequado para
muitas aplicações, porém algumas de suas variantes, tais como 3DES (Triple DES) e o
DESX, tornaram possível a continuidade de uso do codificador.

3DES Triple Data Encryption Standard


O Triplo DES ou 3DES significa Triple Data Encryption Standard e se constitui de um
padrão de criptografia, com base no algoritmo de criptografia DES (Data Encryption
Standard) que, como se viu anteriormente, foi desenvolvido em 1974 pela IBM e passou
a ser utilizado como padrão em 1977.

O 3DES, como indica o seu nome, utiliza-se de três chaves de 64 bits; o tamanho
máximo alcançado pela chave é de 192 bits. Contudo, a extensão comumente utilizada
nesse algoritmo é de 56 bits.

Ao ser utilizado, os dados são encriptados com a utilização da primeira chave, depois
são decriptados com a segunda chave e, por fim, são novamente encriptados com a
terceira chave. Tal procedimento torna o 3DES mais lento do que o DES original, no
entanto oferece maior segurança.

Uma variante de utilização é permitir o uso de apenas duas chaves, em vez das três
comumente utilizadas.

Pode-se exemplificar sua utilização por meio da variação mais simples do 3DES, que pode
operar por meio da expressão:

DES ( k3;DES (k2;DES (k1; Mensagem))),

Onde:
»» K1 = Primeira Chave DES

»» K2 = Segunda Chave DES

»» K3 = Terceira Chave DES

»» Mensagem = Mensagem a ser criptografada

Advanced Encryption Standard (AES)


Considerando a fragilidade do DES, a sua baixa performance e o custo elevado de
implementação do algoritmo 3DES (Triple DES), o NIST (National Institute of

22
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

Standards Technology – Instituto Nacional de Normatização de Tecnologia) identificou


a necessidade de selecionar um novo padrão de criptografia que fosse mais rápido,
tivesse menor custo e pudesse fornecer maior segurança.

Em 1997, o NIST publicou um novo padrão de criptografia, o AES (Advanced Encryption


Standard – Norma Avançada de Encriptação), um substituto do padrão DES, que tem
protegido, desde sua criação, a maioria das comunicações do governo dos Estados
Unidos, que vem sendo utilizado há mais de duas décadas.

Adicionalmente, o NIST exigiu que o novo algoritmo fosse um codificador de blocos


simétricos e apresentasse, como características, tamanho do bloco de 128, 192 ou 256
bits e comprimento de chave variável, podendo ser de 128, 196 ou 256 bits. Assim, pelas
características exigidas, utilizou-se o algoritmo conhecido por Rijndael.

Outros algoritmos simétricos

IDEA (International Data Encryption Algorithm)

Algoritmo de 128 bits, desenvolvido por James Massey e Xuejia Lai, em 1991, segue, em
linhas gerais, o padrão DES. Contudo, a implementação por software do IDEA funciona
mais rapidamente do que quando se utilizam softwares baseados no DES.

O IDEA é amplamente utilizado no mercado financeiro e é mundialmente utilizado em


inúmeros programas de criptografia para e-mails pessoais.

Blowfish

Algoritmo que funciona de 32 a 448 bits, criado por Bruce Schneier, confere maior
segurança e desempenho devido ao fato de poder utilizar chaves criptográficas de
tamanhos variáveis.

RC2

Algoritmo que pode funcionar de 8 a 1.024 bits, desenvolvido por Ron Rivest (da RSA
Data Security Inc.), é usado em protocolos S/MIME, mais utilizado em criptografias de
e-mails corporativos e apresenta chave de tamanho variável.

O mesmo autor desenvolveu os padrões RC4, RC5 e RC6, sendo o RC6 um concorrente
ao padrão AES, visto anteriormente.

23
CAPÍTULO 3
Criptografia assimétrica

“[...] preciso entender como a tecnologia da informação está alterando nosso


negócio e preciso assegurar que nossa organização utilize eficazmente a
tecnologia. Por conseguinte, passo grande parte de meu tempo tentando
entender as implicações das novas tecnologias”

Newman (1994).

Na criptografia de chave pública (public-key cryptography), também conhecida como


criptografia assimétrica, o problema do risco decorrente da necessidade do envio prévio
da chave ao receptor da mensagem é contornado com o uso de duas chaves. Uma delas,
chamada chave pública, é usada para cifrar as mensagens e a outra, a chave privada,
serve para decifrá-las. Cada um dos interlocutores possui uma cópia de chaves.

A chave de codificação (pública) pode e deve ser compartilhada e estar disponível a


qualquer pessoa interessada em enviar uma mensagem, pois é impossível, a partir dela,
deduzir a chave de decodificação correspondente.

Criptografia de Chave Pública ou Assimétrica

Fonte: <http://www.magnet.com.br/classic/raiox/cripto1.html>.

Nesse caso, a mensagem cifrada só pode ser lida por quem possui a chave privada
associada àquela chave pública, usada para cifrar a mensagem. A característica mais
importante desse esquema é que a chave privada dos usuários não precisa circular,
tornando a transmissão dos dados mais segura.

Outro benefício da criptografia com chave pública é a assinatura digital, que permite
garantir a autenticidade de quem envia a mensagem, associada à integridade do seu
conteúdo. A mensagem é cifrada com a chave privada do remetente e enviada, em
um processo denominado assinatura digital. Os destinatários decifram a mensagem,
utilizando a chave pública do remetente, e verificam a validade da assinatura digital
(essa é a garantia de que a mensagem foi mesmo enviada por aquela pessoa).

24
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

Segundo Pagliusi (2001), a assinatura digital não serve para garantir a confidencialidade.
Como na prática seria inviável utilizar apenas algoritmos de chave pública para
assinaturas digitais (poderia levar de minutos a horas para cifrar uma grande
mensagem), emprega-se uma função de hash.

25
CAPÍTULO 4
Algoritmos de criptografia assimétrica
(RSA, DH, ECC, ELGamal)

“[...] a probabilidade de que agentes, que são ameaças, explorem vulnerabilidades,


expondo os ativos a perdas de confidencialidade, integridade e disponibilidade,
e causando impactos nos negócios. Estes impactos são limitados por medidas
de segurança que protegem os ativos, impedindo que as ameaças explorem as
vulnerabilidades, diminuindo assim o risco.“

Sêmola (2003, p. 56).

RSA
O RSA é um algoritmo de encriptação de dados que envolve um par de chaves; uma
delas, pública, que pode ser associada a uma chave privada, mantida em sigilo. O
processo baseia-se nas teorias clássicas dos números.

Toda mensagem cifrada, usando uma chave pública, só pode ser decifrada usando a
respectiva chave privada. A criptografia RSA atua diretamente na Internet, por exemplo,
em mensagens por e-mails, em compras on-line e o que você imaginar; tudo isso é
codificado e recodificado pela criptografia RSA.

Os criadores desse processo foram Adi Shamir, Len Adleman e Ron Rivest, que eram
três professores do MIT, fundadores da empresa RSA Data Security Inc. O RSA é
considerado o mais bem-sucedido processo de encriptação com chaves assimétricas.
É considerado um dos mais seguros, já que resistiu a todas as tentativas de quebrá-lo.
Foi o primeiro algoritmo a possibilitar encriptação e assinatura digital, sendo uma das
grandes inovações em criptografia de chave pública.

No processo de encriptação (transformação de uma mensagem normal em uma


mensagem cifrada), deve-se utilizar a chave pública do destinatário e, depois, realizar
uma potenciação modular.

Após cifrada, a mensagem pode ser transmitida em um canal, mesmo que inseguro,
para o receptor. Há um algoritmo para realizar essa potência rapidamente.

Ao ser recuperada a mensagem (da mensagem cifrada, usando a respectiva chave


privada do receptor), basta fazer outra potenciação modular.

26
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

Em linhas gerais seu funcionamento teve início a partir da geração de dois pares de
números – as chaves –, de tal forma que uma mensagem encriptada com o primeiro
par possa ser apenas decriptada com o segundo par, mas o segundo número não pode
ser derivado do primeiro. Essa propriedade assegura que o primeiro número possa ser
divulgado a alguém que pretenda enviar uma mensagem encriptada ao detentor do
segundo número, já que apenas essa pessoa pode decriptar a mensagem. O primeiro
par é designado como chave pública e o segundo, como chave secreta.

O algoritmo RSA baseia-se no fato de que conseguir fatorizar o produto de dois números
primos é considerado computacionalmente complexo e o tempo estimado para isso
ronda os milhares de anos.

Esse algoritmo baseia-se computacionalmente inquebrável com números de tais


dimensões, e a sua força é geralmente quantificada com o número de bits utilizados
para descrever esses números. Para cada número com 10 dígitos, seriam necessários
cerca de 35 bits, e as implementações atuais podem, até, superar os 1.024 bits.

Dessa forma, o algoritmo RSA é extensível ao contexto da Assinatura Digital devido às


suas propriedades. Para implementar um sistema de assinaturas digitais com RSA, o
utilizador que possuir uma chave privada “Ch” assinará uma determinada mensagem
blocada (a que denominaremos “M”), como na expressão:

»» Ch

»» Mensagem Criptografada = M

»» (M elevada a Ch)

Portanto, pode-se verificar que seria bastante difícil a mensagem criptografada ser
decifrada sem que sua chave (Ch) fosse conhecida pelo receptor.

A assinatura variaria, dependendo da mensagem em si, operando sobre mensagens


maiores, o tamanho da assinatura seria proporcional.

A fim de resolver essa situação, realizam-se as operações com base no algoritmo, porém
sobre um resumo (digest) da mensagem, que possa identificar essa mensagem como
única e não como o digest de uma mensagem, variando adequadamente e alterando
um byte, o que resulta na variação da assinatura de mensagem para mensagem em um
mesmo emissor. Uma das funções geradoras acompanha o tamanho da mensagem de
um mesmo emissor, o que mantém, como consequência, que uma assinatura variará
em cada mensagem enviada por um mesmo emissor.

27
UNIDADE II │ MECANISMOS DE CRIPTOGRAFIA

DH (Diffie Hellman)
O algoritmo DH (Diffie-Hellman) tem esse nome por ter sido desenvolvido pelos
pesquisadores Whitfield Diffie e Martin Hellman, os precursores dos algoritmos
assimétricos, a partir da publicação de artigo que referenciava a criptografia com o uso
de chave pública.

Segundo Burnett e Paine (2002), o algoritmo DH não gera uma chave de sessão
simétrica, mas a distribui, utilizando a tecnologia de chave pública. Ao invés disso, a
tecnologia de chave pública é utilizada com a finalidade de gerar a chave de sessão
simétrica. Tal artifício possibilita que cada uma das partes possua um valor público e
um valor privado sigiloso.

Dessa forma, ao serem combinados o valor privado com o outro público, cada uma das
partes irá gerar a mesma chave secreta.

Ainda conforme os autores Burnett e Paine (2002), o algoritmo DH apenas gera um


segredo (chave), não criptografando os dados.

As duas partes podem gerar o mesmo segredo e, então, utilizá-lo para criar uma chave de
sessão para ser utilizada em um algoritmo simétrico.

Tal procedimento é conhecido como “acordo de chaves”, significando que as duas partes
estão de comum acordo no que concerne à chave que deverá ser utilizada.

O método DH é baseado no denominado “Problema do Logaritmo Discreto”, em que uma


chave Diffie-Hellman é gerada a partir de um gerador, um módulo e um valor público.
Dessa forma, a chave privada corresponde ao mesmo módulo junto com o valor privado.
Tal algoritmo, por sua vez, utiliza apenas um número primo de 1.024 bits como módulo,
correspondente a um fator que agrega muita complexidade e segurança em comparação
ao algoritmo RSA.

ECC
O algoritmo ECC, também conhecido por ECDH (Elliptic Curve Diffie-Hellman),
corresponde ao resultado de uma curva elíptica (EC – Elliptic Curve). Embora a curva
não seja a única forma que uma EC possa ter, é a mais comum encontrada.

Tais sistemas, baseados em curvas elípticas, geram blocos de tamanho relativamente


pequeno, além de permitirem implementações em hardware e software com boa
performance e alta velocidade e apresentarem strength-per-key-bit, proporcionando
maior resistência a ataques por bit de chave.

28
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

Segundo Burnett e Paine (2002), os criptógrafos utilizam apenas algumas das diversas
possíveis utilizações de ECs, e as curvas mais utilizadas são de duas categorias principais,
denominadas comumente de “ímpares” e “pares”.

Uma EC criptográfica é considerada discreta (constituída apenas por números inteiros),


não existindo os pontos fracionários ou decimais. Dessa forma, um grande número
de possibilidades pode se enquadrar em um certo intervalo; quanto maior for esse
intervalo, maior segurança terá a curva, e quanto menor for o intervalo, mais rápidos
serão os processamentos necessários. Desse modo, uma curva elíptica possui diversos
pontos; cada ponto representa uma coordenada de x, y.

Assim, há também um ponto rotulado “P3”, descrito como uma coordenada (x,y),
podendo-se adicionar outros pontos em uma EC.

Ao serem localizados dois pontos que se deseje adicionar, traça-se uma linha onde são
utilizados esses pontos e, a partir daí, examina-se onde essa linha secciona a EC.

A forma gráfica para as curvas elípticas pode ser descrita como equações matemáticas,
de modo a trabalhar com números e equações em vez de figuras. Dessa maneira,
permite que sejam escritos programas (algoritmos) que consigam realizar o trabalho.
Esses programas manipulam os números de forma a obter a cifragem criptográfica e,
assim, necessitam de uma “multiplicação escalar” (que corresponde a uma função de
via única).

Quando se deseja enviar uma mensagem, utilizando o algoritmo ECDH, o remetente da


mensagem utiliza a chave pública do destinatário, contendo informações suficientes a
fim de gerar seu próprio par de chaves temporário.

Consequentemente, tanto destinatário quanto remetente possuirão um par de chaves


relacionado com a chave pública e privada. O remetente usa a sua chave privada e a
chave pública do destinatário para gerar um “ponto secreto na curva”, utilizando de
alguma forma esse ponto secreto como uma chave de sessão. Sabendo que um ponto
é uma coordenada (x,y), os dois correspondentes terão que decidir antecipadamente
quais bits, a partir desse número, devem ser utilizados como chave. Há uma
combinação de chaves entre o remetente e o destinatário da mensagem a fim de obter
um ponto secreto.

Ocorre que, para decriptar (decifrar) a mensagem, o remetente precisará da chave


de sessão, obtida mediante a combinação da sua chave privada com a chave pública
temporária do remetente, enviada com a mensagem criptografada.

29
UNIDADE II │ MECANISMOS DE CRIPTOGRAFIA

Segundo Burnett e Paine (2002), o algoritmo EC é um pouco semelhante ao algoritmo


DH, uma vez que tanto um quanto o outro realizam a combinação da chave pública
com a privada, de forma especial, a fim de gerar um segredo compartilhado. Contudo, a
diferença primordial está na utilização da matemática subjacente, o que explica o nome
Elliptic Curve (curva elíptica).

ELGamal
O padrão ElGamal, criado em 1984 pelo egípcio Taher ElGamal, corresponde a um
sistema de encriptação de dados com chaves assimétricas.

Seu princípio de segurança e funcionamento baseia-se na utilização de um logaritmo


discreto sobre uma curva elíptica.

Dessa forma, o ElGamal se destaca ao utilizar a aritmética de curvas elípticas, enquanto a


segurança do RSA baseia-se na dificuldade computacional de um problema matemático
(tal como a fatoração de números inteiros), o que é bem distinto do problema em que
se baseia o ElGamal e suas variantes, as quais agem, como vimos, sobre um logaritmo
discreto.

30
CAPÍTULO 5
Função Hash

“A finalidade de uma função de Hash é produzir uma ‘Impressão Digital’ de um


arquivo, mensagem ou outro bloco de dados”

William Stallings (2007, p. 238).

Ao longo do tempo, na prática, percebeu-se que a utilização única de algoritmos de


chave pública para assinaturas digitais, principalmente quando se desejava assinar
mensagens bem maiores, era pouco prática e custosa, por prescindirem de vários
minutos ou, até mesmo, de várias horas para tais mensagens poderem ser inteiramente
encriptadas com a utilização das chaves privadas dos usuários.

Na busca de uma solução que viabilizasse tais encriptações, surgiu a função Hashing,
hoje, amplamente utilizada como componente de assinaturas digitais, devido aos
algoritmos assimétricos serem, normalmente, de processamento bem mais lento do
que os simétricos.

Nesses casos, emprega-se uma função Hashing, que gera um valor pequeno, de tamanho
fixo, derivado da mensagem de qualquer tamanho que se pretende assinar. A função
Hashing oferece agilidade nas assinaturas digitais, além de integridade confiável,
conforme descrito a seguir.

A função Hashing corresponde a uma função matemática que reduz os dados a um


valor menor, porém representativo de toda a mensagem (da mesma forma que o dígito
verificador de uma conta-corrente está para o número da conta, ou como a impressão
digital está para um indivíduo).

Também denominada Message Digest, One-Way Hash Function, Função de


Condensação ou Função de Espalhamento Unidirecional, a função Hashing funciona
como uma impressão digital de uma mensagem, gerando, a partir de uma entrada de
tamanho variável, um valor fixo pequeno, denominado digest ou valor hash.

Esse valor serve, portanto, para garantir a integridade do conteúdo da mensagem que
representa. Após o valor hash de uma mensagem ter sido calculado mediante o emprego
de uma função hashing, qualquer modificação em seu conteúdo, mesmo em apenas um
bit da mensagem, será detectada, pois um novo cálculo do valor hash sobre o conteúdo
modificado resultará em um valor hash bastante distinto.

31
UNIDADE II │ MECANISMOS DE CRIPTOGRAFIA

As funções de Hash mais empregadas nos protocolos criptográficos são:

MD2 e MD4
O MD4 é o precursor do MD5, inventado por Ron Rivest. Após descobrir algumas
fraquezas no MD4, Rivest escreveu o MD5. O MD4 não é mais utilizado. O MD2 é
uma função de espalhamento unidirecional simplificada e produz um hash de 128
bits. A segurança do MD2 é dependente de uma permutação aleatória de bytes. Não é
recomendável sua utilização, pois, em geral, é mais lento do que as outras funções hash
citadas e, acredita-se, menos seguro.

MD5
É uma função de espalhamento unidirecional, inventada por Ron Rivest, do MIT, que
também trabalha para a RSA Data Security. A sigla MD significa Message Digest.
Esse algoritmo produz um valor hash de 128 bits, para uma mensagem de entrada de
tamanho arbitrário. Foi inicialmente proposto em 1991, após a descoberta de alguns
ataques de criptoanálise contra a função Hashing prévia de Rivest: a MD4.

Esse algoritmo foi projetado para ser rápido, simples, seguro e seus detalhes são públicos
e têm sido analisados pela comunidade de criptografia. Descobriu-se uma fraqueza em
parte do MD5, mas, até hoje, não se afetou a segurança global do algoritmo.

Entretanto, o fato de produzir uma valor hash de somente 128 bits causa preocupação;
é preferível uma função Hashing que produza um valor maior.

SHA-1
O SHA-1 (Secure Hash Algorithm – Algoritmo Hash Seguro) corresponde a uma função
de espalhamento unidirecional que funciona, gerando um valor hash de tamanho de
160 bits, a partir de um tamanho arbitrário de mensagem.

Seu funcionamento interno é semelhante ao observado no padrão MD4, de forma que


os estudiosos da Agência Aeroespacial dos Estados Unidos (NASA) basearam-se no
MD4 quando criaram e realizaram melhorias nesse padrão, sobretudo quanto aos seus
aspectos de segurança.

As fragilidades percebidas no padrão MD5, evidenciadas após a criação do padrão


SHA-1, foram cobertas e, desde sua criação até os dias atuais, não foram identificados

32
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

ataques bem-sucedidos de criptoanálise contra o SHA-1. Dessa forma, verificou-se que,


até hoje, mesmo os ataques do tipo “força bruta” têm sido inócuos contra esses padrões,
devido, principalmente, ao seu valor hash ser de 160 bits.

Contudo, não se pode afirmar que, no futuro, alguém não consiga quebrar a segurança
proposta no padrão SHA-1, uma vez que as técnicas de criptoanálise têm crescido
bastante nos últimos anos.

33
CAPÍTULO 6
Tipos de ataques

“Se conheces bem a ti mesmo, tanto quanto ao inimigo não temas a batalha; Já
se conheces a ti mesmo, mas não conheces o inimigo para cada vitória terá uma
derrota; agora se não conheces a si mesmo nem ao inimigo foges do campo de
batalha pois não terás a mínima chance.”

Sun Tzu – A Arte da Guerra.

Segundo Stallings (1998), os tipos de ataque sobre mensagens criptografadas são,


basicamente, cinco e, conforme Schneier (1996), entende-se que, em cada um desses
tipos de ataque, o atacante (ou criptoanalista) tem conhecimento prévio do algoritmo
que foi utilizado para cifrar cada um deles.

Ataque ao texto codificado


O criptoanalista tem textos codificados de várias mensagens criptografadas pelo mesmo
algoritmo. O trabalho do criptoanalista é recuperar o texto original do maior número
de mensagens possível, ou, melhor ainda, deduzir a chave (ou chaves) usadas na
codificação das mensagens. Recuperando a chave, o criptoanalista poderá, no futuro,
usá-la para decriptar outras mensagens. Esse tipo de ataque é mais fácil de se defender,
pois o criptoanalista não dispõe de muitas informações para trabalhar.

Ataque ao texto original conhecido


O criptoanalista não só tem acesso aos textos criptografados de várias mensagens,
mas também aos textos originais dessas mensagens. Nesse método, o trabalho do
criptoanalista é deduzir a chave (ou chaves) usada(s) para criptografar as mensagens,
ou um algoritmo para decriptar novas mensagens codificadas com a mesma chave.

Ataque ao texto original escolhido


O criptoanalista, além de ter acesso a várias mensagens originais e codificadas, pode
escolher o par de textos original e criptografado. Esse tipo de ataque é mais poderoso
que um ataque ao texto original conhecido, porque o criptoanalista pode escolher blocos
de texto original para criptografar, podendo conseguir mais informações sobre a chave.
O trabalho do criptoanalista é deduzir a chave usada na codificação das mensagens.

34
MECANISMOS DE CRIPTOGRAFIA │ UNIDADE II

Ataque adaptativo ao texto original escolhido


É um caso especial de ataque ao texto original escolhido. O criptoanalista pode
escolher não somente o texto original que está criptografado, mas pode modificar a
escolha baseada nos resultados de codificações anteriores. Em um ataque ao texto
original escolhido, o criptoanalista pode estar apto a escolher um bloco grande de texto
original para ser criptografado; em um ataque adaptativo ao texto original escolhido,
o criptoanalista pode escolher um bloco menor de texto original e então escolher outro
baseado nos resultados do primeiro.

Ataque ao texto codificado escolhido


O criptoanalista pode escolher textos criptografados diferentes a serem decriptados e
ter acesso ao texto original decodificado. Esse ataque é mais aplicável aos sistemas de
chave pública. Um ataque ao texto codificado escolhido também pode ser usado em
algoritmos simétricos, mas, devido à simetria desse sistema, equivale ao ataque a um
texto original escolhido.

Contudo, quando, em alguns casos, percebe-se que o algoritmo de criptografia não é


conhecido pelo atacante e esse, assim mesmo, insiste em um ataque, tal circunstância é
denominada de força bruta.

Tal método caracteriza-se por ser perceptível à procura do atacante em descobrir o


texto original, por meio de tentativas com diversas chaves possíveis de codificação.
Caso a faixa de valores possíveis (espaço de chave) seja muito extensa, tal método,
normalmente, torna-se impraticável.

Segundo Biham e Shamir (1993), os computadores estão se tornando cada vez mais
rápidos e baratos; devido a esse avanço da tecnologia, algoritmos considerados seguros
no passado estão se tornando obsoletos. O comprimento das chaves dos codificadores
de blocos tem aumentado consideravelmente, tornando os ataques por força bruta
impraticáveis. Nos últimos anos, os métodos de ataque mais poderosos e promissores
são as criptoanálises diferenciais e lineares.

Conforme Stallings (2007), a segurança de sistemas criptográficos está na dificuldade


em quebrá-los. Se o tempo e o dinheiro necessários para quebrar um algoritmo forem
maiores que o valor da informação criptografada, ele pode ser considerado seguro.

Dessa forma, alguns algoritmos só podem ser quebrados em um período de tempo


superior à idade do universo e em um computador maior que toda a matéria do
universo. Esses algoritmos são teoricamente quebráveis, mas inquebráveis na prática.
Um algoritmo inquebrável na prática é seguro.

35
ASSINATURA DIGITAL UNIDADE III
E LEGISLAÇÃO

CAPÍTULO 1
Geradores de números aleatórios

[...] acredito que muitos conceitos da teoria da informação serão úteis em outros
campos [...] mas o estabelecimento de tais aplicações não é uma questão trivial
de mera tradução de palavras para um novo domínio, e, sim, o processo lento e
tedioso de formulação de hipóteses e verificação experimental.

Shannon (1956).

Gerador de números aleatórios

Os algoritmos cifrados por blocos trabalham, como o próprio nome indica, apenas
realizando a cifragem bloco a bloco.

Quando se pretende cifrar dados de dimensão inferior a um bloco, é necessário preparar


um bloco que contenha os dados a enviar (realizar um padding) e cifrá-lo.

Alternativamente, pode-se ofuscar a mensagem, usando como subterfúgio a transmissão


de um stream (ou keystream), criado a partir de um gerador de números aleatórios.

Uma outra aplicação dos geradores de números aleatórios é no modo conhecido como
Output Feedback (OFB), que transforma uma cifra de bloco em um gerador de números
pseudoaleatórios.

Assim, o texto cifrado pode realimentar a cifra de bloco e esse processo é repetido a fim
de construir um fluxo de bits aleatórios.

O fluxo de bits pode ser totalmente determinado pelo algoritmo, pela chave, por um
vetor de inicialização e pelo número de bits que realimenta a cifra em cada etapa.

36
ASSINATURA DIGITAL E LEGISLAÇÃO │ UNIDADE III

Tal fluxo pode ser destinado a realizar uma operação “XOR” (exclusiva – quando uma
operação lógica entre, pelo menos, dois operandos resulta em um valor lógico verdadeiro
“somente se” um dos operandos tiver um valor verdadeiro) com o texto ainda claro, a
fim de produzir o texto cifrado, de forma a transformar efetivamente a “cifra de bloco”
em uma “cifra de fluxo”.

Uma outra abordagem conhecida como Provable Security também se utiliza desses
recursos e agrega, além desses, o conceito de “Redução” (disserta que a quebra de
um esquema criptográfico é, normalmente, equivalente à resolução de um problema
de alto grau de dificuldade e, portanto, ao criptoanalisá-lo, deve-se buscar a sua
redução a um conjunto de problemas menores que seriam individualmente de mais
fácil resolução).

Assinatura digital

A assinatura digital pode ser entendida como uma identificação composta por
números, empregados como um meio efetivo na proteção de informações, estejam
elas armazenadas em um computador ou transmitidas pela rede. No segundo caso, a
assinatura digital busca garantir que determinada mensagem não seja alterada durante
seu trajeto.

A fim de esclarecimento, o processo de assinatura digital lembra muito o processo


de criptografia RSA, em que é utilizado esse algoritmo para realizar a criptografia de
um documento, de forma a torná-lo mais seguro contra qualquer tentativa de leitura
de terceiros. Assim, é fundamental que seja utilizada uma chave pública a fim de
criptografar a mensagem, que poderá apenas ser decriptografada com o uso de uma
chave privada.

Na assinatura digital, esse processo é realizado de forma contrária, ou seja, como o


algoritmo RSA funciona tanto de privado ao público quanto de público ao privado, os
dados são criptografados utilizando-se a chave privada, e apenas a chave pública pode
ser utilizada para decriptografá-los. Essa técnica não serve como garantia de segurança
contra leitura dos dados criptografados, pois, utilizando-se uma chave pública para
decriptografar, qualquer pessoa com a posse dessa chave poderá ter acesso aos dados
de maneira legível.

No entanto, essa técnica serve para assegurar o conteúdo de um documento, pois, se


uma chave pública decriptografar um documento adequadamente, significa que esse
documento só pode ter sido criptografado com a chave privada equivalente.

37
UNIDADE III │ ASSINATURA DIGITAL E LEGISLAÇÃO

Segundo Burnett e Paine (2002), a técnica convencionalmente denominada de


“assinatura digital” pela comunidade de criptografia refere-se à encriptação por chave
privada de qualquer documento digital: texto, mensagem, gravura.

De acordo com Volpi (2001), a assinatura digital é efetivada mediante algoritmos de


autenticação, por meio de um processo lógico-matemático aplicado sobre a mensagem
a ser transmitida, criando, assim, uma determinada expressão que será utilizada como
assinatura.

Assim, a mensagem original é acompanhada de uma assinatura digital, baseada na chave


privada do remetente.

Quando a mensagem chega a seu destino, a assinatura é verificada, utilizando-se a chave


pública que pertence ao remetente. Confirmada a assinatura digital, a partir da verificação,
pode-se ter a certeza da autenticidade da mensagem e do remetente.

Segundo Burnett e Paine (2002), as assinaturas digitais dependem de três características


primordiais: o fato de a chave privada ser segura; de apenas o proprietário ter acesso a sua
chave privada (inexistindo suposições técnicas, com a exceção de que as chaves deveriam
ser corretamente protegidas); de a única maneira de produzir uma assinatura digital ser
utilizando a chave privada (examinando por um ponto de vista da matemática, pode-se
demonstrar que uma assinatura é única).

Conforme esses autores (BURNETT; PAINE, 2002), a maioria dos criptógrafos tem
informado que ainda não se tem conhecimento de tal ataque bem-sucedido, contendo na
literatura frases como “computacionalmente inviável”. Apesar de ainda não ter provado
completamente a unicidade de uma assinatura digital, pesquisadores já gastaram inúmeras
horas tentando violar esse item, e não conseguiram realizá-lo. Pode-se, então, verificar que
existe uma unicidade na assinatura digital.

Dessa forma, exemplificamos o caminho que os dados tomam para se tornarem uma
assinatura digital e para serem verificados. É possível que haja um ataque de um invasor,
tentando iniciar com um texto simples, encriptá-lo com uma chave que não seja a chave
privada verdadeira e ainda produzir um texto cifrado corretamente; ou, se um invasor
tentar realizar uma outra operação no texto simples, sem utilizar a criptografia normal
RSA, possivelmente utilizando a chave pública como um guia, ainda assim poderá produzir
um texto cifrado corretamente (não quebraria a chave).

Nesses dois últimos exemplos, caso fossem plausíveis, uma assinatura digital não seria
única e, assim, não seria possível afirmar que se constituiria de uma assinatura digital que
pudesse ser validada.

38
CAPÍTULO 2
PKI e aplicação da criptografia

“[...] uma empresa que codifica todos os seus dados nos computadores mas não
tranca seus gabinetes de arquivo ou não tritura seu lixo [em papel] está aberta
ao ataque.”

Schneier (2001, p. 256).

PKI
O padrão PKI (Public Key Infrastructure – Infraestrutura de Chave Pública) é um dos
padrões tecnológicos que estabelecem os alicerces da segurança na Rede Mundial de
computadores e é fundamental para o comércio eletrônico. Trata-se de uma combinação
de software, tecnologias de criptografia e serviços que permitem que as empresas
protejam a segurança de suas comunicações e transações nas redes. O padrão PKI
integra certificados digitais, criptografia de chave pública e autoridades certificadoras
(CA – Certification Authority) em uma arquitetura empresarial completa de segurança
de rede (PROJETO, 2003).

Aplicações da criptografia

Hoje são milhares de aplicações da criptografia, sobretudo em nosso dia a dia, nas
transações bancárias, tráfego de dados entre clientes e bancos, autenticações de usuário
em redes e diversos dispositivos e equipamentos. A seguir, citar-se-ão apenas alguns
dos principais.

Certificado digital

O certificado digital de chave pública pode ser definido como um documento


eletrônico, assinado digitalmente por uma terceira parte confiável (uma autoridade
de certificação funcionando como um cartório eletrônico), que associa o nome (e
atributos) de uma pessoa ou instituição a uma chave criptográfica pública. Isso
evita que um intruso possa interceptar as mensagens e enviar chaves públicas
falsas, fazendo-se passar por um ou até por ambos os interlocutores e causando um
verdadeiro estrago na comunicação.
39
UNIDADE III │ ASSINATURA DIGITAL E LEGISLAÇÃO

VPNs
As Virtual Private Networks (VPNs) foram criadas, inicialmente, para que protocolos
diferentes do IP pudessem trafegar pela rede de IP. Como não era aceitável que as
informações trafegassem sem codificação pela Internet, a VPN passou a utilizar
conceitos de criptografia para manter a confidencialidade dos dados.

40
CAPÍTULO 3
ICP – Brasil e legislação

“As normas são criadas para estabelecerem diretrizes e princípios para melhorar
a gestão de segurança nas empresas e organizações.”

Holanda (2006).

ICP – Brasil

A Medida Provisória no 2.200-2, de 24 de agosto de 2001, criou a ICP – Brasil, ou seja,


a Infraestrutura de Chaves Públicas Brasileiras.

Conforme cita o art. 2o da aludida Medida Provisória, a estrutura da ICP – Brasil é


constituída por uma autoridade gestora de políticas e pela cadeia de autoridades
certificadoras, composta pelo seguinte:

»» Autoridade Certificadora Raiz (AC Raiz).

»» Autoridades Certificadoras – AC.

»» Autoridades de Registro – AR.

A ICP – Brasil constitui-se de um conjunto de técnicas, arquitetura, organização, práticas


e procedimentos, que devem ser implementados pelas organizações governamentais
e privadas brasileiras que possam suportar, conjuntamente, a implementação e a
operação de um sistema de certificação.

Tal prerrogativa apresenta como objetivo estabelecer os fundamentos técnicos e


metodológicos de um sistema de certificação digital baseado em criptografia de
chave pública, a fim de tornar possível a validade jurídica, garantir a autenticidade, a
integridade e a validade jurídica de documentos em forma eletrônica, das aplicações
de suporte e das aplicações habilitadas que utilizem certificados digitais, bem como a
realização de transações eletrônicas seguras.

Além disso, a ICP – Brasil encontra-se regulamentada pelas Resoluções do Comitê


Gestor da ICP – Brasil.

41
UNIDADE III │ ASSINATURA DIGITAL E LEGISLAÇÃO

Legislação
No que concerne à Legislação sobre a ICP – Brasil e Infraestrutura de Chaves Públicas
Brasileiras, pode-se destacar as seguintes referências:

Medida Provisória no 2.200-2, de 24 de agosto de 2001.

Instituiu a Infraestrutura de Chaves Públicas Brasileiras (ICP – Brasil), com o intuito


de garantir a autenticidade, a integridade e a validade jurídica de documentos em
forma eletrônica, das aplicações de suporte e das aplicações habilitadas que utilizem
certificados digitais, bem como a realização de transações eletrônicas seguras.

Decretos
Decreto no 4.414, de 07 de outubro de 2002

Alterou o Decreto no 3.996, de 31 de outubro de 2001, que dispunha sobre a prestação


de serviços de Certificação Digital no âmbito da Administração Pública Federal.

Decreto de 27 de maio de 2002

Designa um membro para compor o Comitê Gestor da ICP – Brasil.

Decreto no 3.996, de 31 de outubro de 2001

Dispõe sobre a prestação de serviços de Certificação Digital no âmbito da Administração


Pública Federal.

Decreto no 3.872, de 18 de julho de 2001

Dispõe sobre o Comitê Gestor da Infraestrutura de Chaves Públicas Brasileiras (o


CG ICP – Brasil) e, também, sobre sua Secretaria-Executiva e sua Comissão Técnica
Executiva, instituindo outras providências.

Decreto no 3.587, de 5 de setembro de 2000

Estabelece normas para a Infraestrutura de Chaves Públicas do Poder Executivo


Federal, conhecido como: ICP – Gov, e fornece outras providências afetas à área.

Decreto no 3.505, de 13 de junho de 2000

Institui a Política de Segurança da Informação nos órgãos e entidades da Administração


Pública Federal do Brasil.

42
Para (não) Finalizar

Nesta disciplina conhecemos os conceitos dos Mecanismos de Criptografia e da


Criptoanálise e verificamos o histórico da Criptografia, ressaltando alguns pressupostos
básicos.

Ao estudarmos os Mecanismos de Criptografia, analisamos características do modelo


simétrico, no que concerne aos três principais algoritmos: DES, 3DES, AES.

Vimos, ainda, os aspectos do modelo de criptografia assimétrica, especificamente no


que se refere aos principais algoritmos representados por: RSA, DH, ECC, ELGamal.

Em seguida, apresentamos a Função Hash e a sua aplicabilidade, além de citar os


principais tipos de ataques.

Concluímos o estudo dissertando sobre os aspectos das assinaturas digitais apresentando


a Legislação a respeito do tema, os geradores de números aleatórios, os certificados PKI
e as aplicações da criptografia, finalizando com o ICP – Brasil e aspectos da legislação
que cercam o tema.

Sucesso!

43
Referências

ATKINS, D.; et al. Internet security: professional reference. New Rides Publishing:
2nd edition. 1997.

BIHAM, E.; SHAMIR, A. Differential cryptanalysis of the data encryption


standard. New York: Springer-Verlag, 1993.

BURNETT, Steve; PAINE, Stephe. Criptografia e segurança: o guia oficial RSA. Rio
de Janeiro: Campus, 2002.

CHESWICK, W. R. Firewalls and internet security. Addison-Wesley, 1994.

GARFINKEL, S.; SPAFFORD, G. Comércio & segurança na Web – riscos,


tecnologias e estratégias. Market Books Brasil, 1999.

HINZ, M. A. M. Um estudo descritivo de novos algoritmos de criptografia.


Instituto de Física e Matemática, Universidade Federal de Pelotas – RS, 2000.

KAHN, David. The codebreakers – the story of secret writing. Macmillian, 1967.

MATSUI, M. Linear cryptanalysis method for DES Cipher. Proceedings,


EUROCRYPT’93, published by Springer-Verlag, 1993.

NAKAMURA, E. T.; GEUS, P. L. Segurança de redes em ambientes cooperativos.


São Paulo: Berkeley, 2002.

PAGLIUSI, Paulo Sérgio. Mecanismos de segurança em sistemas de correio.


São Paulo: Unicamp, 2001.

RUFINO, N. M. O. Segurança nacional – técnicas e ferramentas de ataque e defesa


de Redes de Computadores. Novatec, 2002.

SCHNEIER, Bruce. Applied cryptography: protocols, algorithms and source code in


C. 2. ed. John Wiley & Sons, 1996.

_____. Segurança .com – segredos e mentiras sobre a proteção na vida digital. Rio
de Janeiro: Campus, 2001.

SÊMOLA, M. Gestão da segurança da informação – uma visão executiva. Rio de


Janeiro: Campus, 2003.

44
REFERÊNCIAS

SPITZNER, L. Learning the tools and the tactics of the enemy with honeynets.
In: Proceedings of the 12th Annual Computer Security Incident Handling Conference.
Chicago, Illinois, USA: 2000.

STALLINGS, W. SNMP and SNMPv2: the infrastructure for network management.


IEEE Communications: management of heterogeneous networks, v. 36, n. 3, 1998.

STALLINGS, W. Cryptography and network security – principles and practice. 3.


ed., Prentice-Hall, 2003.

TKOTZ, Viktória. Criptografia – segredos embalados para viagem. São Paulo:


Novatec, 2005.

VIDEIRA, Antônio. Criptografia – síntese histórica. Revista da Armada, n. 371, p.


10. Disponível em:<http.www.marinha.pt/extra/revista/>. Acesso em: 15 abr. 2006.

VILELA, H. S. Criptografia. Escola de Informática, UCPEL – Universidade Católica


de Pelotas. Pelotas: 2003.

VOLPI, Marlon M. Assinatura digital: aspectos técnicos, práticos e legais. Rio de


Janeiro: Axcel Books do Brasil, 2001.

WEBER, R. F. Criptografia contemporânea. UFRGS – Universidade Federal do


Rio Grande do Sul, Porto Alegre RS: 1995.

Sites:
<http://www. ssh.fi/tech/crypto/>

<http:// www.rsasecurity.com/standards>

<http:// www.certicom.com/ecc>

<http://www.segurancadainformacao.com/>

<http://www.itsmf.com>

<http://ds.dial.pipex.com/george.barwood/ec_faq.htm>

45

Você também pode gostar