Você está na página 1de 60

Criptografia e Chaves Digitais

Versão 1.0.0
Sumário

I Sobre essa Apostila 3

II Informações Básicas 5

III GNU Free Documentation License 10

IV Criptografia e Chaves Digitais 19

1 O que é o curso 20

2 Plano de ensino 21
2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Lição 1 - Noções Básicas de Segurança 25


3.1 Introdução a Segurança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Safety x Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Desafios de seguranças . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Principais Componentes de um Processo de Proteção . . . . . . . . . . . . . . . . . 28
3.5 Tipos de Ataques Computacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Lição 2 - Introdução a Criptologia 32


4.1 História e Criptologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Idéias Gerais sobre Criptologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 A Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Lição 3 - Introdução a Criptografia 35


5.1 Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Chaves Simétricas e Assimétricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Tipos de Cifras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3.1 Cifras de Substituição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

1
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.3.2 Cifras de Transposição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


5.4 Introdução a Protocolos Criptográficos . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5 Alocação de Confiança nos Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.6 Estrutura Básica de Protocolos Criptográficos . . . . . . . . . . . . . . . . . . . . . . 45
5.7 Introdução a Algoritmos Criptográficos . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.8 Algoritmo DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.9 Algoritmo RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 Lição 4 - A Prática 55
6.1 Visão Geral do SeaHorse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.2 Instalação do Seahorse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.3 Utilização do SearHorse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2
Parte I

Sobre essa Apostila

3
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Conteúdo
O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-
ternet, disponíveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.)

O formato original deste material bem como sua atualização está disponível dentro da licença
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de
mesmo nome, tendo inclusive uma versão traduzida (não oficial).

A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Críticas e sugestões construtivas serão bem-vindas a qualquer hora.

Autores
A autoria deste é de responsabilidade de Edson Lek Hong Ma (edson@cdtc.org.br) .

O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento que
vêm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com
outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e
utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades
no país.

Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da


home page da entidade, através da URL http://www.cdtc.org.br.

Garantias
O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-
lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam
direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.

Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) .

Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-
TILA. A copy of the license is included in the section entitled GNU Free Documentation
License.

4
Parte II

Informações Básicas

5
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Sobre o CDTC

Objetivo Geral

O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-


ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do
desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.

Objetivo Específico

Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e


de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os
servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios
de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo
treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,
criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como
incentivadores e defensores dos produtos de software não proprietários e código fonte aberto, ofe-
recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de
produtos de software não proprietários e do seu código fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-
dutos de software livre.

Guia do aluno

Neste guia, você terá reunidas uma série de informações importantes para que você comece
seu curso. São elas:

• Licenças para cópia de material disponível;

• Os 10 mandamentos do aluno de Educação a Distância;

• Como participar dos foruns e da wikipédia;

• Primeiros passos.

É muito importante que você entre em contato com TODAS estas informações, seguindo o
roteiro acima.

Licença

Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br).

6
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos
da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior
públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-
mentação Livre GNU".

Os 10 mandamentos do aluno de educação online

• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é


pré-requisito para a participação nos cursos a distância;

• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-


tica é necessário para poder executar as tarefas;

• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-


cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,
dos colegas e dos professores;

• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus


colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos;

• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão
e a sua recuperação de materiais;

• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e
realizá-las em tempo real;

• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre;

• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens


e descobertas;

• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é


ponto - chave na comunicação pela Internet;

• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não
controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.

Como participar dos fóruns e Wikipédia

Você tem um problema e precisa de ajuda?

Podemos te ajudar de 2 formas:

A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:

. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações
que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a

7
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que
interesse ao grupo, favor postá-la aqui.
Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do
curso. É recomendado que você faça uso do Fórum de dúvidas gerais que lhe dá recursos mais
efetivos para esta prática.

. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo
para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas
a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem
ajudar.
Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a
formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico
é recomendável ver se a sua pergunta já foi feita por outro participante.

A segunda forma se dá pelas Wikis:

. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-
ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-
dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em português pelos links:

• Página principal da Wiki - http://pt.wikipedia.org/wiki/

Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!

Primeiros Passos

Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:

• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;

• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas básicas do mesmo;

• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;

• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.

Perfil do Tutor

Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.

O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos


valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as
idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.

8
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor
ou instrutor:

• fornece explicações claras acerca do que ele espera e do estilo de classificação que irá
utilizar;

• gosta que lhe façam perguntas adicionais;

• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-
que motivo a classificação foi ou não foi atribuída’;

• tece comentários completos e construtivos, mas de forma agradável (em contraste com um
reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de
ameaça e de nervossismo’)

• dá uma ajuda complementar para encorajar um estudante em dificuldade;

• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;

• ajuda o estudante a alcançar os seus objetivos;

• é flexível quando necessário;

• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,


talvez numa fase menos interessante para o tutor);

• escreve todas as correções de forma legível e com um nível de pormenorização adequado;

• acima de tudo, devolve os trabalhos rapidamente;

9
Parte III

GNU Free Documentation License

10
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

(Traduzido pelo João S. O. Bueno através do CIPSGA em 2001)


Esta é uma tradução não oficial da Licença de Documentação Livre GNU em Português Brasi-
leiro. Ela não é publicada pela Free Software Foundation, e não se aplica legalmente a distribuição
de textos que usem a GFDL - apenas o texto original em Inglês da GNU FDL faz isso. Entretanto,
nós esperamos que esta tradução ajude falantes de português a entenderem melhor a GFDL.

This is an unofficial translation of the GNU General Documentation License into Brazilian Por-
tuguese. It was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GFDL–only the original English text of the GFDL does
that. However, we hope that this translation will help Portuguese speakers understand the GFDL
better.

Licença de Documentação Livre GNU Versão 1.1, Março de 2000

Copyright (C) 2000 Free Software Foundation, Inc.


59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, mas
não é permitido alterá-lo.

INTRODUÇÃO
O propósito desta Licença é deixar um manual, livro-texto ou outro documento escrito "livre"no
sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copiá-lo ou redistribui-lo,
com ou sem modificações, comercialmente ou não. Secundariamente, esta Licença mantém
para o autor e editor uma forma de ter crédito por seu trabalho, sem ser considerado responsável
pelas modificações feitas por terceiros.

Esta Licença é um tipo de "copyleft"("direitos revertidos"), o que significa que derivações do


documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licença Pública Ge-
ral (GNU GPL), que é um copyleft para software livre.

Nós fizemos esta Licença para que seja usada em manuais de software livre, por que software
livre precisa de documentação livre: um programa livre deve ser acompanhado de manuais que
provenham as mesmas liberdades que o software possui. Mas esta Licença não está restrita a
manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente
do assunto ou se ele é publicado como um livro impresso. Nós recomendamos esta Licença prin-
cipalmente para trabalhos cujo propósito seja de introdução ou referência.

APLICABILIDADE E DEFINIÇÕES
Esta Licença se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo
detentor dos direitos autorais dizendo que ele pode ser distribuído sob os termos desta Licença.
O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do público é um

11
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

licenciado e é referida como "você".

Uma "Versão Modificada"do Documento se refere a qualquer trabalho contendo o documento


ou uma parte dele, quer copiada exatamente, quer com modificações e/ou traduzida em outra
língua.

Uma "Seção Secundária"é um apêndice ou uma seção inicial do Documento que trata ex-
clusivamente da relação dos editores ou dos autores do Documento com o assunto geral do
Documento (ou assuntos relacionados) e não contém nada que poderia ser incluído diretamente
nesse assunto geral (Por exemplo, se o Documento é em parte um livro texto de matemática, a
Seção Secundária pode não explicar nada de matemática).

Essa relação poderia ser uma questão de ligação histórica com o assunto, ou matérias relaci-
onadas, ou de posições legais, comerciais, filosóficas, éticas ou políticas relacionadas ao mesmo.

As "Seções Invariantes"são certas Seções Secundárias cujos títulos são designados, como
sendo de Seções Invariantes, na nota que diz que o Documento é publicado sob esta Licença.

Os "Textos de Capa"são certos trechos curtos de texto que são listados, como Textos de Capa
Frontal ou Textos da Quarta Capa, na nota que diz que o texto é publicado sob esta Licença.

Uma cópia "Transparente"do Documento significa uma cópia que pode ser lida automatica-
mente, representada num formato cuja especificação esteja disponível ao público geral, cujos
conteúdos possam ser vistos e editados diretamente e sem mecanismos especiais com editores
de texto genéricos ou (para imagens compostas de pixels) programas de pintura genéricos ou
(para desenhos) por algum editor de desenhos grandemente difundido, e que seja passível de
servir como entrada a formatadores de texto ou para tradução automática para uma variedade
de formatos que sirvam de entrada para formatadores de texto. Uma cópia feita em um formato
de arquivo outrossim Transparente cuja constituição tenha sido projetada para atrapalhar ou de-
sencorajar modificações subsequentes pelos leitores não é Transparente. Uma cópia que não é
"Transparente"é chamada de "Opaca".

Exemplos de formatos que podem ser usados para cópias Transparentes incluem ASCII sim-
ples sem marcações, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML
usando uma DTD disponibilizada publicamente, e HTML simples, compatível com os padrões, e
projetado para ser modificado por pessoas. Formatos opacos incluem PostScript, PDF, formatos
proprietários que podem ser lidos e editados apenas com processadores de texto proprietários,
SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edição não estejam
disponíveis para o público, e HTML gerado automaticamente por alguns editores de texto com
finalidade apenas de saída.

A "Página do Título"significa, para um livro impresso, a página do título propriamente dita,


mais quaisquer páginas subsequentes quantas forem necessárias para conter, de forma legível,
o material que esta Licença requer que apareça na página do título. Para trabalhos que não
tenham uma página do título, "Página do Título"significa o texto próximo da aparição mais proe-
minente do título do trabalho, precedendo o início do corpo do texto.

12
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

FAZENDO CÓPIAS EXATAS


Você pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou não
comercial, desde que esta Licença, as notas de copyright, e a nota de licença dizendo que esta
Licença se aplica ao documento estejam reproduzidas em todas as cópias, e que você não acres-
cente nenhuma outra condição, quaisquer que sejam, às desta Licença.

Você não pode usar medidas técnicas para obstruir ou controlar a leitura ou confecção de
cópias subsequentes das cópias que você fizer ou distribuir. Entretanto, você pode aceitar com-
pensação em troca de cópias. Se você distribuir uma quantidade grande o suficiente de cópias,
você também precisa respeitar as condições da seção 3.

Você também pode emprestar cópias, sob as mesmas condições colocadas acima, e também
pode exibir cópias publicamente.

FAZENDO CÓPIAS EM QUANTIDADE


Se você publicar cópias do Documento em número maior que 100, e a nota de licença do
Documento obrigar Textos de Capa, você precisará incluir as cópias em capas que tragam, clara
e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e
Textos da Quarta Capa na capa de trás. Ambas as capas também precisam identificar clara e
legivelmente você como o editor dessas cópias. A capa da frente precisa apresentar o título com-
pleto com todas as palavras do título igualmente proeminentes e visíveis. Você pode adicionar
outros materiais às capas. Fazer cópias com modificações limitadas às capas, tanto quanto estas
preservem o título do documento e satisfaçam a essas condições, pode ser tratado como cópia
exata em outros aspectos.

Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma
legível, você deve colocar os primeiros (tantos quantos couberem de forma razoável) na capa
verdadeira, e continuar os outros nas páginas adjacentes.

Se você publicar ou distribuir cópias Opacas do Documento em número maior que 100, você
precisa ou incluir uma cópia Transparente que possa ser lida automaticamente com cada cópia
Opaca, ou informar, em ou com, cada cópia Opaca a localização de uma cópia Transparente
completa do Documento acessível publicamente em uma rede de computadores, à qual o público
usuário de redes tenha acesso a download gratuito e anônimo utilizando padrões públicos de
protocolos de rede. Se você utilizar o segundo método, você precisará tomar cuidados razoavel-
mente prudentes, quando iniciar a distribuição de cópias Opacas em quantidade, para assegurar
que esta cópia Transparente vai permanecer acessível desta forma na localização especificada
por pelo menos um ano depois da última vez em que você distribuir uma cópia Opaca (direta-
mente ou através de seus agentes ou distribuidores) daquela edição para o público.

É pedido, mas não é obrigatório, que você contate os autores do Documento bem antes de
redistribuir qualquer grande número de cópias, para lhes dar uma oportunidade de prover você
com uma versão atualizada do Documento.

13
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

MODIFICAÇÕES
Você pode copiar e distribuir uma Versão Modificada do Documento sob as condições das se-
ções 2 e 3 acima, desde que você publique a Versão Modificada estritamente sob esta Licença,
com a Versão Modificada tomando o papel do Documento, de forma a licenciar a distribuição
e modificação da Versão Modificada para quem quer que possua uma cópia da mesma. Além
disso, você precisa fazer o seguinte na versão modificada:

A. Usar na Página de Título (e nas capas, se houver alguma) um título distinto daquele do Do-
cumento, e daqueles de versões anteriores (que deveriam, se houvesse algum, estarem listados
na seção "Histórico do Documento"). Você pode usar o mesmo título de uma versão anterior se
o editor original daquela versão lhe der permissão;

B. Listar na Página de Título, como autores, uma ou mais das pessoas ou entidades responsá-
veis pela autoria das modificações na Versão Modificada, conjuntamente com pelo menos cinco
dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que
cinco);

C. Colocar na Página de Título o nome do editor da Versão Modificada, como o editor;

D. Preservar todas as notas de copyright do Documento;

E. Adicionar uma nota de copyright apropriada para suas próprias modificações adjacente às
outras notas de copyright;

F. Incluir, imediatamente depois das notas de copyright, uma nota de licença dando ao público
o direito de usar a Versão Modificada sob os termos desta Licença, na forma mostrada no tópico
abaixo;

G. Preservar nessa nota de licença as listas completas das Seções Invariantes e os Textos de
Capa requeridos dados na nota de licença do Documento;

H. Incluir uma cópia inalterada desta Licença;

I. Preservar a seção entitulada "Histórico", e seu título, e adicionar à mesma um item dizendo
pelo menos o título, ano, novos autores e editor da Versão Modificada como dados na Página de
Título. Se não houver uma sessão denominada "Histórico"no Documento, criar uma dizendo o
título, ano, autores, e editor do Documento como dados em sua Página de Título, então adicionar
um item descrevendo a Versão Modificada, tal como descrito na sentença anterior;

J. Preservar o endereço de rede, se algum, dado no Documento para acesso público a uma
cópia Transparente do Documento, e da mesma forma, as localizações de rede dadas no Docu-
mento para as versões anteriores em que ele foi baseado. Elas podem ser colocadas na seção
"Histórico". Você pode omitir uma localização na rede para um trabalho que tenha sido publicado
pelo menos quatro anos antes do Documento, ou se o editor original da versão a que ela se refira
der sua permissão;

K. Em qualquer seção entitulada "Agradecimentos"ou "Dedicatórias", preservar o título da

14
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

seção e preservar a seção em toda substância e fim de cada um dos agradecimentos de contri-
buidores e/ou dedicatórias dados;

L. Preservar todas as Seções Invariantes do Documento, inalteradas em seus textos ou em


seus títulos. Números de seção ou equivalentes não são considerados parte dos títulos da seção;

M. Apagar qualquer seção entitulada "Endossos". Tal sessão não pode ser incluída na Versão
Modificada;

N. Não reentitular qualquer seção existente com o título "Endossos"ou com qualquer outro
título dado a uma Seção Invariante.

Se a Versão Modificada incluir novas seções iniciais ou apêndices que se qualifiquem como
Seções Secundárias e não contenham nenhum material copiado do Documento, você pode optar
por designar alguma ou todas aquelas seções como invariantes. Para fazer isso, adicione seus
títulos à lista de Seções Invariantes na nota de licença da Versão Modificada. Esses títulos preci-
sam ser diferentes de qualquer outro título de seção.

Você pode adicionar uma seção entitulada "Endossos", desde que ela não contenha qual-
quer coisa além de endossos da sua Versão Modificada por várias pessoas ou entidades - por
exemplo, declarações de revisores ou de que o texto foi aprovado por uma organização como a
definição oficial de um padrão.

Você pode adicionar uma passagem de até cinco palavras como um Texto de Capa da Frente
, e uma passagem de até 25 palavras como um Texto de Quarta Capa, ao final da lista de Textos
de Capa na Versão Modificada. Somente uma passagem de Texto da Capa da Frente e uma de
Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade.
Se o Documento já incluir um texto de capa para a mesma capa, adicionado previamente por
você ou por acordo feito com alguma entidade para a qual você esteja agindo, você não pode
adicionar um outro; mas você pode trocar o antigo, com permissão explícita do editor anterior que
adicionou a passagem antiga.

O(s) autor(es) e editor(es) do Documento não dão permissão por esta Licença para que seus
nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer
Versão Modificada.

COMBINANDO DOCUMENTOS
Você pode combinar o Documento com outros documentos publicados sob esta Licença, sob
os termos definidos na seção 4 acima para versões modificadas, desde que você inclua na com-
binação todas as Seções Invariantes de todos os documentos originais, sem modificações, e liste
todas elas como Seções Invariantes de seu trabalho combinado em sua nota de licença.

O trabalho combinado precisa conter apenas uma cópia desta Licença, e Seções Invariantes
Idênticas com multiplas ocorrências podem ser substituídas por apenas uma cópia. Se houver
múltiplas Seções Invariantes com o mesmo nome mas com conteúdos distintos, faça o título de

15
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

cada seção único adicionando ao final do mesmo, em parênteses, o nome do autor ou editor
origianl daquela seção, se for conhecido, ou um número que seja único. Faça o mesmo ajuste
nos títulos de seção na lista de Seções Invariantes nota de licença do trabalho combinado.

Na combinação, você precisa combinar quaisquer seções entituladas "Histórico"dos diver-


sos documentos originais, formando uma seção entitulada "Histórico"; da mesma forma combine
quaisquer seções entituladas "Agradecimentos", ou "Dedicatórias". Você precisa apagar todas as
seções entituladas como "Endosso".

COLETÂNEAS DE DOCUMENTOS
Você pode fazer uma coletânea consitindo do Documento e outros documentos publicados
sob esta Licença, e substituir as cópias individuais desta Licença nos vários documentos com
uma única cópia incluida na coletânea, desde que você siga as regras desta Licença para cópia
exata de cada um dos Documentos em todos os outros aspectos.

Você pode extrair um único documento de tal coletânea, e distribuí-lo individualmente sob
esta Licença, desde que você insira uma cópia desta Licença no documento extraído, e siga esta
Licença em todos os outros aspectos relacionados à cópia exata daquele documento.

AGREGAÇÃO COM TRABALHOS INDEPENDENTES


Uma compilação do Documento ou derivados dele com outros trabalhos ou documentos se-
parados e independentes, em um volume ou mídia de distribuição, não conta como uma Ver-
são Modificada do Documento, desde que nenhum copyright de compilação seja reclamado pela
compilação. Tal compilação é chamada um "agregado", e esta Licença não se aplica aos outros
trabalhos auto-contidos compilados junto com o Documento, só por conta de terem sido assim
compilados, e eles não são trabalhos derivados do Documento.

Se o requerido para o Texto de Capa na seção 3 for aplicável a essas cópias do Documento,
então, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa
do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado.
Senão eles precisarão aparecer nas capas de todo o agregado.

TRADUÇÃO
Tradução é considerada como um tipo de modificação, então você pode distribuir traduções
do Documento sob os termos da seção 4. A substituição de Seções Invariantes por traduções
requer uma permissão especial dos detentores do copyright das mesmas, mas você pode incluir
traduções de algumas ou de todas as Seções Invariantes em adição às versões orignais dessas
Seções Invariantes. Você pode incluir uma tradução desta Licença desde que você também in-
clua a versão original em Inglês desta Licença. No caso de discordância entre a tradução e a

16
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

versão original em Inglês desta Licença, a versão original em Inglês prevalecerá.

TÉRMINO
Você não pode copiar, modificar, sublicenciar, ou distribuir o Documento exceto como expres-
samente especificado sob esta Licença. Qualquer outra tentativa de copiar, modificar, sublicen-
ciar, ou distribuir o Documento é nula, e resultará automaticamente no término de seus direitos
sob esta Licença. Entretanto, terceiros que tenham recebido cópias, ou direitos de você sob esta
Licença não terão suas licenças terminadas, tanto quanto esses terceiros permaneçam em total
acordo com esta Licença.

REVISÕES FUTURAS DESTA LICENÇA


A Free Software Foundation pode publicar novas versões revisadas da Licença de Documen-
tação Livre GNU de tempos em tempos. Tais novas versões serão similares em espirito à versão
presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupações. Veja
http://www.gnu.org/copyleft/.

A cada versão da Licença é dado um número de versão distinto. Se o Documento especificar


que uma versão particular desta Licença "ou qualquer versão posterior"se aplica ao mesmo, você
tem a opção de seguir os termos e condições daquela versão específica, ou de qualquer versão
posterior que tenha sido publicada (não como rascunho) pela Free Software Foundation. Se o
Documento não especificar um número de Versão desta Licença, você pode escolher qualquer
versão já publicada (não como rascunho) pela Free Software Foundation.

ADENDO: Como usar esta Licença para seus documentos

Para usar esta Licença num documento que você escreveu, inclua uma cópia desta Licença
no documento e ponha as seguintes notas de copyright e licenças logo após a página de título:

Copyright (c) ANO SEU NOME.


É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença
de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Soft-
ware Foundation; com as Seções Invariantes sendo LISTE SEUS TÍTULOS, com os Textos da
Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cópia da li-
cença está inclusa na seção entitulada "Licença de Documentação Livre GNU".

Se você não tiver nenhuma Seção Invariante, escreva "sem Seções Invariantes"ao invés de
dizer quais são invariantes. Se você não tiver Textos de Capa da Frente, escreva "sem Textos de
Capa da Frente"ao invés de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os
Textos da Quarta Capa.

Se o seu documento contiver exemplos não triviais de código de programas, nós recomenda-
mos a publicação desses exemplos em paralelo sob a sua escolha de licença de software livre,

17
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

tal como a GNU General Public License, para permitir o seu uso em software livre.

18
Parte IV

Criptografia e Chaves Digitais

19
Capítulo 1

O que é o curso

Criptografia é uma especialização da matemática e engenharia que oferece técnicas de prote-


ção a mecanismos de acesso e a integridade de dados, e também de ferramentas para avaliação
da eficácia dessas técnicas. Este curso irá abordar conceitos, técnicas e procedimentos mais
eficazes hoje conhecidos para a construção de mecanismos criptográficos de dados digitais, e de
meios para que sejam integrados em sistemas de informação que queiram ser protegidos.

Vale ressaltar que em se tratando de criptografia, existe uma gama de possibilidades de tratar
o assunto devido a complexidade dessa área de estudo e pesquisa. Aconselho que tenham uma
grande força de vontade em adquirir a sensibilidade para o melhor aproveitamento deste curso.

20
Capítulo 2

Plano de ensino

2.1 Objetivo

Introduzir conceitos, técnicas e procedimentos conhecidos para a construção de mecanismos


criptográficos de proteção de dados digitais, e de meios para esses mecanismos se integrarem a
sistemas de informação que se queira proteger.

2.2 Público Alvo

Usuários finais ou novatos que desejam adquirir sensibilidade sobre como usar o conheci-
mento e as ferramentas hoje acumuladas, para a busca na área de conhecimento de criptografia
e chaves digitais.

2.3 Pré-requisitos

Os usuários deverão ser, necessariamente, funcionários públicos e ter conhecimentos básicos


para operar um computador.

2.4 Descrição

O curso será realizado na modalidade Educação a Distância e utilizará a Plataforma Moodle


como ferramenta de aprendizagem. O curso tem duração de uma semana e possui um conjunto
de atividades (lições, fóruns, glossários, questionários e outros) que deverão ser executadas de
acordo com as instruções fornecidas. O material didático está disponível on-line de acordo com
as datas pré-estabelecidas em cada tópico.

21
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

2.5 Metodologia

O curso está dividido da seguinte maneira:

• Lição 1 - Noções Básicas de Segurança

• Lição 2 - Introdução a Criptologia

• Lição 3 - Introdução a Criptografia

• Lição 4 - A Prática

• Avaliação de aprendizagem

• Avaliação do curso

Na semana em que o curso abrir será disponibilizado esse conjunto de módulos. É recomendável
que o participante siga as datas estabelecidas.
As lições, disponíveis em cada módulo, contém o contéudo principal. Elas poderão ser acessa-
das quantas vezes forem necessárias, desde que esteja dentro da semana programada. Ao final
de uma lição, você receberá uma nota de acordo com o seu desempenho. Caso sua nota numa
determinada lição for menor do que 6.0, sugerimos que você faça novamente esta lição.
Ao final do curso serão disponibilizadas as avaliações referentes aos módulos estudados ante-
riormente. Somente as notas das avaliações serão consideradas para a nota final. Todos os
módulos ficarão visíveis para que possam ser consultados durante a avaliação final.
Para conhecer as demais atividades de cada módulo leia o tópico seguinte: "Ambientação do
Moodle".
Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deve ser
enviada ao fórum correspondente. Diariamente os monitores darão respostas e esclarecimentos.

2.6 Programa

O curso Criptografia e Chaves Digitais oferecerá o seguinte conteúdo:

Lição 1 - Noções Básicas de Segurança


Por que a criptografia é mais difícil do que parece?

• Introdução

• Safety x Security

• Desafios de Segurança

• Principais Componentes de um Processo de Proteção

• Tipos de Ataques Computacionais

Lição 2 - Introdução a Criptologia

22
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• História e Criptologia
• Idéias Gerais sobre Criptologia

Lição 3 - Introdução a Criptografia

• Fundamentos
• Chaves simétricas e Assimétricas
• Tipos de Cifras
• Introdução a Protocolos Criptográficos
• Alocação de Confiança nos Protocolos
• Estrutura Básica de Protocolos Criptográficos
• Introdução a Algoritmos Criptográficos
• Algoritmo DES
• Algoritmo RSA

Lição 4 - A Prática

• Visão Geral do SeaHorse


• Como Instalar
• Como Utilizar

2.7 Avaliação

Toda a avaliação será feita on-line.


Aspectos a serem considerados na avaliação:

• Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;


• Capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.

Instrumentos de avaliação:
• Participação ativa nas atividades programadas.
• Avaliação ao final do curso.
• O participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação e
obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo
com a fórmula abaixo:
• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições
• AF = Avaliações

23
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

2.8 Bibliografia
Criptografia e Segurança Computacional:

• http://www.cic.unb.br/docentes/pedro/segdadtop.htm

• http://pt.wikipedia.org/wiki/Criptografia

• http://pt.wikipedia.org/wiki/Criptografia_de_chave_p%C3%BAblica

• http://www.numaboa.com/content/section/11/57/

24
Capítulo 3

Lição 1 - Noções Básicas de Segurança

3.1 Introdução a Segurança


Começar um curso sobre criptografia sem mencionar Segurança Computacional faz com que
não sejam preenchidas todas informações necessárias para o bom entendimento do assunto. Co-
meço ilustrando superficialmente sobre esta área de estudo e à medida que passamos as lições,
aprofundaremos nosso foco de estudo e seria um equívoco achar que esta área seja um foco de
estudo específico apenas para estudos em informática.

O mundo de hoje fornece mecanismos facilitadores para adquirir produtos e esse fato nos
faz acreditar que podemos comprar soluções de segurança prontas para atender as nossas de-
manda. Nem sempre o que nós estamos procurando pode ser encontrado em prateleiras de lojas
de informática e também não podemos simplesmente gerar uma receita de bolo na forma de al-
goritmo. Logo, o que iremos ver a seguir, será uma tentativa de desenvolver alguma sensibilidade
de como usar conhecimentos e ferramentas na área de criptografia e chaves digitais.

Iremos passar por conceitos, técnicas e procedimentos mais eficazes, hoje conhecidos para a
construção de mecanismos criptográficos de dados digitais e de meios para que sejam integrados
em sistemas de informação que queiram ser protegidos.

Algumas áreas de conhecimento são diretamente correlacionadas com o nosso assunto de


criptografia e chaves digitais. Podemos citar o conhecimento de aritmética modular (aritmética
dos processadores digitais), do funcionamento básico de sistemas operacionais, conhecimento
em redes de computadores e também noção de complexidade de algoritmos.

Mas uma dúvida pode surgir no ar, por que essas informações são importantes?

Criptografia é uma especialização da matemática e engenharia que oferecem técnicas de


proteção a mecanismos de acesso e a integridade de dados, e também de ferramentas para
avaliação da eficácia dessas ténicas. Estas técnicas e ferramentas são relacionadas no sentido
sintático e não podemos atribuir confiança no sentido semântico nas informações dos dados vei-
culados.

25
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Apesar de ser interessante um pré-requisito nestas áreas, não será estritamente necessário
para este curso pois estarei indiretamente colocando estes conceitos a medida que prosseguir-
mos nessa caminhada ao conhecimento.

Um exemplo básico do que temos que ter em mente quando se trata deste assunto é o se-
guinte: hipoteticamente, suponhamos que temos uma casa e que queremos protegê-la de intru-
sos, a criptografia poderia ser relacionada metaforicamente a cadeados, trancas e mecanismos
fortes na porta para que crie a suposta segurança perfeita. Porém, mesmo com todos estes me-
canismos, não adiantaria nada se o terreno não for bem analisado e deixássemos uma janela
aberta no fundo da casa.

Existe um dilema nessa área de segurança da informação, onde podemos tratar como a ver-
são digital da segunda lei da termodinâmica, expressa pela equação de Nemeth:

Segurança = 1 / Conveniência

Quanto maior a comodidade para o usuário, menor a segurança e vice-versa. Então, a sabe-
doria para equilibrar os dois lados dessa equação (segurança x conveniência), é juntamente em
saber discenir a quantidade certa da paranóia de cada indivíduo, o que torna complexa a tarefa
de um profissional da segurança.

Logo podemos concluir que a criptografia não é uma solução mágica para todos os problemas
de segurança na informática. Esta fornece apenas truques para manipulação dos bits para que
possamos conhecer melhor e ter a sensibilidade para nos defender no mundo virtual.

Um texto muito interessante escrito por um criptógrafo famoso nesta área (Bruce Schneier) se
encontra no link a seguir: "Por que a criptografia é mais difícil do que parece?"

Eu realmente recomendo a leitura deste texto, pois oferece uma boa visão geral do assunto e
ilustra o estado da arte do objeto de nosso estudo.

3.2 Safety x Security

A palavra "segurança"em português do Brasil possui dois sentidos básicos na língua inglesa:

Safety e Security

• Safety está relacionado a controle e proteção contra acidentes (Leis de Murphy).

• Security está ligado a controle e proteção contra ataques (Leis de natureza humana - H.M.D)

*H.M.D - Hipótese Metafísica de Descartes Descartes era um filósofo famoso que acreditava
na hipótese da existência de um gênio maligno, que poderia enganar as pessoas acerca até
mesmo de coisas que lhe parecerem evidentes.

26
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Sendo assim, a idéia seria de que poderiam existir pessoas com gênio maligno para enganar
e ludibriar os mais diversos sistemas de informação, sem que as pessoas percebessem.

A seguir, estudaremos tendo em mente a idéia de "security"ao invés de "safety".

3.3 Desafios de seguranças

Antes de fazermos qualquer planejamento para a segurança de um sistema, logicamente te-


remos que pré estabelecer o que irá demandar proteção. A seguir, será mostrada dois desafios
básicos para a proteção:

Desafio 1 - Padronizar mecanismos e protocolos

Cada localidade é relacionado ao alvo de proteção de cada ambiente. Podemos citar:

• Instituições Financeiras: Transações Eletrônicas

• Grandes Corporações: Gerência e Comércio Eletrônico

• Telecomunicações: Provimento de Serviços

• Comunidades: Internet e Redes Locais

• Governo: Administração, Militar e Espionagem

Desafio 2 - Normas do ambiente

Segurança do tipo:

• Alta e Restrita: Governos e Organizações Militares

• Sensível: Comércio, Indústria e Comunidades

• Virtual Interna: Sistemas Operacionais e Bancos de Dados

• Virtual Externa: Redes de Computadores e Telecomunicações

Basicamente podemos citar quatro tipos de demandas básicas para qualquer mecanismo de
proteção. A tabela a seguir está listada o tipo de mecanismo de proteção, a ameaça básica para
este tipo de proteção e qual a má fé que poderia acontecer para o sistema.

27
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Privacidade ou Sigilo: algumas vezes queremos proteger algum documento confidencial no


qual o remetente e o destinatário são os únicos que serão permitidos a visualização deste mesmo
documento. A ameaça neste tipo de proteção seria um vazamento do documento(senha do
banco) ou desvalorização (número de um sorteio) e a quebra do sistema protegido se dá por
meio da leitura dos dados confidenciais.

Integridade: o envio de alguma informação pelos meios de comunicação, exige que a mesma
chegue ao destinatário contendo o mesmo valor do remetente. Durante a transmissão, alguns
fatos como fraude, adulteração ou perda dos dados poderiam ocorrer e a ação direta relacionada
a estes fatos, seria a escrita sobre as informações.
Legitimidade: como poderíamos, pelos meios de comunicação virtual, saber se alguma in-
formação enviada seria realmente de quem pensamos ser? A ameaça principal seria alguém
se apossar de seus dados e agir de má fé se identificando como o possuidor verdadeiro da in-
formação. Logo, existe uma relação direta entre a personificação e uma posterior execução de
ações(ex.: compra virtual por número de cartão de crédito).

Disponibilidade: para algumas empresas, é muito importante a disponibilidade de seus servi-


ços pois qualquer queda no sistema acarretará em prejuízos. Uma ameaça a estes serviços seria
o bloqueio indevido destes serviços muita vezes pela não execução correta do sistema.

3.4 Principais Componentes de um Processo de Proteção

Analisar cada componente de qualquer processo de um sistema é de suma importância para


que seja bem consistente e de fácil manutenção e identificação de erros. A seguir serão citados
alguns componentes básicos :

Política de Segurança de Dados

1. Planejamento - Avaliar e analisar os riscos e custos.

2. Especificação para implementar serviços e salvaguardas.

3. Atribuição documentada de autorização e responsabilidades.

Para uma boa política de segurança, os três itens ilustrados anteriormente devem ser respeita-
dos. A seguir, um pequeno exemplo de roteiro para planejamento para as políticas de Segurança
de Dados será mostrado:

• Quais recursos e ativos em bits devem ser protegidos?

• De quem (securityu) e de que(safety) se quer protegê-los?

• Qual a chance/probabilidade de acidentes, ameaças e trapaças?

• Como medir o valor dos ativos em bits e recursos?

• Quais ações podem protegê-los com custo/benefício aceitável?

28
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• Que planos de contigência, reavaliação, terceirização, etc. decorrem?

Além de disponibilidade de serviço de segurança é importante também saber o que fazer


quando se ocorre algum problema não planejado. Podemos citar algumas salvaguardas não
computacionais abaixo:

• Segurança física - controle de acesso físico, blindagem, etc...

• Segurança funcional - recrutamento, treinamento, motivação.

• Segurança administrativa - auditoria, fiscalização, contigência.

• Segurança na mídia - backup, destruição de material, etc...

• Radiação ou Engenharia Reversa - blindagem no encapsulamento.

• Controles de ciclos - reavaliação da política de segurança.

Controle e Auditoria

• Monitoramento - gerenciadores (rede, backup) logs, IDS, etc...

• Rastreamento - vacinas, firewalls, wrappers, proxies, etc...

• Avaliação - análise estatística, relatórios, revisão de políticas de estratégias,etc...

Serviços Básicos de Segurança Computacional

• Controle de Acesso - Identificação e Autorização para legitimidade

• Cifragem - Codificação para Sigilo

29
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• Autenticação - Validação de Origem ou Integridade

• Certificação - Autenticação Recursiva com Verificação Aberta para integridade

Esses esquemas serão explicados futuramente, detalhando cada componente dos mecanis-
mos básicos segundo a sua premissa (o que se deseja obter - sigilo, legitimidade, integridade e
autenticação recursiva,etc... )

3.5 Tipos de Ataques Computacionais

Ataques primários por penetração

• Personificação: o atacante invade pelo perímetro de login, onde o sistema considera o


invasor como alguém cadastrado no sistema.

• Desvio de Controle: exploração de falhas de segurança permitem que o controle dele seja
desviado para outras pessoas.

• Violação de Autoridade: uso indevido de privilégios devido a falhas no sistema.

Ataques primários por implantação

• Gancho(backdoor): uso de recurso não documentado.

• Infecção: exploit, virus, vermes.

• Embuste: programa trojan, spoofing(falsificação do remetente).

30
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

31
Capítulo 4

Lição 2 - Introdução a Criptologia

4.1 História e Criptologia

A criptologia desde os tempos antigos, sempre foi um assunto de grande interesse de gover-
nantes e povos, em épocas de paz e de guerra. Essas idéias surgiram devido a história sempre
ter informações confidenciais e interesses diversos que não podiam cair em domínio público.
Podemos suspeitar o porquê em tempos remotos, ela ter sido considerada uma arte: sempre
impulsionou as pessoas a criarem novos meios criativos para "esconder/embaralhar"o sentido de
seus simbolos.

Para facilitar o estudo, os historiadores dividiram a história em fases, épocas, períodos, se-
gundo critérios por eles avaliados. Uma dessas divisões que aprendemos no colégio são: história
antiga, média, moderna e contemporânia.

A divisão da história da criptologia não está estritamente limitado pelas datas oficiais citadas
acima, porém será útil no sentido do entendimento de como a criptologia estava presente nos
tempos citados abaixo.

• Período a.C. até 476 d.C - Idade Antiga

• Período 476d.C até 1453 d.C. - Idade Média

• Período 1453d.C até 1789 d.C - Idade Moderna

• Período 1789d.C até +-1900d.C - Idade Contemporânea Recente

• Período de 1900d.C até hoje - Idade Contemporânea Atualidade

Caso você tenha curiosidade em ver onde e quando estava presente a criptologia (mesmo
quando ela não era considerada como ciência exata), acesse o link disponibilizado abaixo:

http://www.numaboa.com.br/criptologia/historia/index.php

32
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.2 Idéias Gerais sobre Criptologia

O surgimento da escrita significou o advento de uma tecnologia fundamental para o desenvol-


vimento do ser humano na face da Terra. Era uma forma de preservar pensamentos, técnicas e
emoções com um conjunto de traços e com isso foi capaz de acumular e produzir conhecimentos
que, mais tarde, dariam origem à filosofia, às ciências e às artes. Paralela a esta fundação de
um novo meio de preservar informações, o homem também começou a "brincar"com as escritas
cifradas, porém a evolução desse meio "oculto"de escrita foi bem lenta, pois, no início existia ape-
nas uma necessidade da disponibilidade de troca de informação, sem a necessidade de esconder
o conteúdo de qualquer mensagem.

As palavras Criptografia/Criptologia/Criptoanálise têm origem grega na qual "Cripto"vem do


"kryptos"que significa oculto, envolto, escondido. "graphos"significa escrever e "logos"significa,
ciência e "analysis"significa decomposição. Logo, CRIPTOLOGIA é o estudo da escrita cifrada e
tem como ciências relacionadas a CRIPTOGRAFIA e a CRIPTOANÁLISE.

O segredo sempre foi alvo de curiosidade entre as pessoas. Quem nunca brincou da língua
do "pê"? (pês pêta pêmos pêes pêstu pêdan pêdo pêcrip pêto pêlo pêgia!). Isso poderia ser
classificado como algo chamado criptoFONIA na qual o som é encriptado. A chave para abrir o
sentido seria o "pê". Outro ambiente relacionado a isso seria um baile de máscaras onde existe
a idéia de esconder a identidade da pessoa e a chave para a identificação são as fantasias e
máscaras.

Apesar da idéia de "esconder"o sentido das palavras, a criptologia existe como ciência há
apenas 20 anos e antes era considerada uma arte. Hoje em dia existem várias organizações de
pesquisa nessa área, podemos citar a http://www.iacr.org/.

Existe outra área que não faz parte da criptografia: a Esteganografia. Este é o estudo das
técnicas de ocultação de mensagens, diferentemente da criptografia que não a oculta, mas a
confunde de forma a tornar seu significado ininteligível. Um exemplo de esteganografia seria de
colocar alguma mensagem oculta em uma imagem .jpg.

A evolução tecnológica do mundo criou uma maior necessidade do uso da criptografia. Muitas
comodidades de hoje em dia, apesar de criarem grande disponibilidade de serviço, criam também
muita transparência nos seus usos e muitas vezes, os usuários não querem que as informações
sejam deixadas em público. Como consequência direta, a criptolografia evoluiu muito em pouco

33
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

tempo.

Para entender o que tem hoje, é interessante voltar atrás e ir percorrendo a evolução da
criptografia. Como citado anteriormente nas subdivisões da criptologia, a criptografia é a ciência
que estuda como escrever mensagens onde apenas o remetente e o destinatário conseguem ler
e a Criptoanálise seria o contrário, a ciência de decifrar e ler as mensagens cifradas.

4.3 A Criptografia

Existem duas idéias principais com relação as mensagens. As palavras, caracteres ou letras
da mensagem original constituem o Texto Pleno ou Mensagem Clara. As palavras ou letras da
mensagem cifrada são chamadas de Texto Cifrado, Mensagem Cifrada ou Criptograma.

A conversão do Texto Pleno em Texto Cifrado pode ser chamada de composição de cifra e
o inverso é chamado de decifração. Apesar de muita gente falar em "encifração","cifragem"ou
"encriptação", estas palavras não existem no dicionário Português do Brasil e o correto seria falar
"compor cifra". Como estas palavras fazem parte de uma espécie de "jargão"da área, durante os
textos pode ser que seja encontrado alguns destes termos escritos, com o significado de compor
cifras.

Finalmente, podemos dizer que qualquer mensagem cifrada é o resultado de uma aplicação
de um algoritmo (regra de embaralhamento), associado a uma chave específica (que podem ser
de igual e de fácil dedução ou diferentes, para o remente e destinatário)

Na prática, qualquer mensagem cifrada é o resultado da aplicação de um SISTEMA GERAL


(ou algoritmo), que é invariável, associado a uma CHAVE ESPECÍFICA, que pode ser variável. É
óbvio que tanto o remetente quanto o destinatário precisam conhecer o sistema e a chave.

34
Capítulo 5

Lição 3 - Introdução a Criptografia

5.1 Fundamentos

Antes de explicar a criptografia, temos que criar uma terminologia dos componentes de um
mecanismo criptográfico para facilitar seu entendimento.

Remetente/Destinatário

Suponha que uma pessoa queira enviar uma mensagem especial a um destino, mas queira
que a mensagem seja segura.Ela quer que ninguém possa "bisbilhotar"o conteúdo da mensagem.

Texto Pleno/Mensagem Cifrada

Existem duas idéias principais com relação as mensagens. As palavras, caracteres ou bits
da mensagem original constituem o Texto Pleno ou Mensagem Clara. Vamos denotar esse com-
ponente como (M). As palavras ou letras da mensagem cifrada são chamadas de Texto Cifrado,
Mensagem Cifrada ou Criptograma (C).

A conversão do Texto Pleno em Texto Cifrado pode ser chamado de composição de cifra e
o inverso é chamado de decifração. Apesar de muita gente falar em "encifração","cifragem"ou
"encriptação", estas palavras não existem no dicionário Português do Brasil e o correto seria falar
"compor cifra". Como estas palavras fazem parte de uma espécie de "jargão"da área, durante os
textos pode ser que seja encontrado alguns destes termos escritos, com o significado de compor
cifras.

Podemos formalizar uma fórmula matemática para a função de composição de cifra, que será
denotada como E, ela utiliza o texto pleno M para produzir a cifra C:

E(M) = C

O processo contrário seria uma função decifração D na qual irá utilizar a cifra C com argu-
mento de entrada e produzirá de volta o texto pleno M:

35
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

D(C) = M

Logo, podemos verificar como verdadeiro a função abaixo:

D(E(M)) = M

Na qual seria a formalização matemática de todo o processo de composição de cifra e deci-


fração.

Como explicado anteriormente, além de confidencialidade da mensagem, outros serviços que


necessitam de criptografia são:

• Autenticação: Deve ser possível o receptor da mensagem saber que o remetente é quem
ele mesmo diz ser.

• Integridade: O receptor da mensagem deve confiar que a mensagem não foi adulterada no
meio do meio do caminho.

• Não Repúdio: Quem enviou a mensagem não deve poder negar que a mensagem enviada
por ele não foi dele.

Esses 4 mecanismos no mundo virtual garantem uma integração social entre computadores.
Isso pode ser comparado a interações do mundo real: alguém com sua carteira de motorista, seu
passaporte, uma credencial provando sua identidade; comunicações sigilosas para que não seja
"bisbilhotado", etc... Isso tudo existe também utilizando esses quatro mecanismos de proteção
do mundo virtual.

Finalmente, podemos dizer que qualquer mensagem cifrada é o resultado de uma aplicação
de um algoritmo (regra de embaralhamento), associado a uma chave específica (que podem ser
de igual e de fácil dedução ou diferentes, para o remetente e destinatário).

Na prática, qualquer mensagem cifrada é o resultado da aplicação de um SISTEMA GERAL


(ou algoritmo), que é invariável, associado a uma CHAVE ESPECÍFICA, que pode ser variável. É
óbvio que tanto o remetente quanto o destinatário precisam conhecer o sistema e a chave.

5.2 Chaves Simétricas e Assimétricas

Existem basicamente dois tipos de chaves para a cifragem de dados: chaves simétricas e
assimétricas.

Quando as chaves para a cifragem e decifragem das informações são iguais ou de fácil
dedução, podemos colocá-las na categoria de "Chaves Simétricas". Isso requer que o reme-
tente/destinatário concordem com uma chave comum para poderem se comunicar de modo se-
guro. Logo, podemos concluir que a segurança de um sistema baseado em algoritmo simétrico,

36
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

está baseado na chave. Se a chave for divulgada, qualquer pessoa poderá ler a mensagem ci-
frada. Para manter as informações secretas, a chave deve se manter secreta.

Podemos mostrar o esquema como:

EK (M) = C DK (C) = M

K = chave simétrica.

Consequentemente, o esquema de cifragem e decifragem com sua chave simétrica teria a


fórmula:

DK (EK (M)) = M

Por outro lado, as chamadas Chaves Assimétricas foram criadas com a idéia de que a chave
usada para cifragem deve ser diferente da usada para decifragem. Além disso, pela chave de
decifragem, não teria como conseguir achar a chave de cifragem (Pelo menos em um tempo bem
longo. Isso será explicado melhor adiante).

O sistema baseado em Chave Assimétrica é chamado de Algoritmos de Chave Pública, pois


a chave de cifragem pode ser deixada em público e somente o possuidor da chave de decifragem
poderá ler o conteúdo da mensagem. A chave de cifragem é geralmente chamado de Chave-
Pública e a chave de decifragem de Chave-Privada.

Então, formalizando as idéias acima, quando as chaves de cifragem (K1) e decifragem (K2)
são diferentes, podemos ter as seguintes fórmulas:

EK1 (M) = C
DK2 (C) = M
DK2 (EK1
(M)) = M

5.3 Tipos de Cifras


A criptografia em tempos remotos, antes do surgimento de computadores, utilizava apenas
caracteres. Diferentes algoritmos utilizavam técnicas de substituição de um carácter a outro, e/ou
então, faziam a transposição de um carácter com outro. Literalmente era uma sopa de letrinhas
misturadas.

Hoje em dia existe uma complexidade maior, mas a idéia básica da "sopa de letrinhas"se
mantém. A primeira mudança para a atualidade é o uso de bits (0 e 1) em vez de caracteres. Isso
diminui o tamanho do alfabeto para 2 elementos. Muitos bons algoritmos hoje em dia misturam
as duas técnicas de substituição e transposição.

37
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.3.1 Cifras de Substituição

A abordagem principal dessas cifras é a substituição de cada carácter do texto pleno por outro
da cifra. Para voltar ao texto original, o receptor inverte a substituição do carácter na cifra para o
texto pleno.

Existem basicamente quatro tipos de cifras de substituição:

Cifras Monoalfabéticas - é conhecida também como substituição simples, substitui-se cada


um dos caracteres do texto original por outro, de acordo com uma pré-estabelecida, para se obter
o texto cifrado. Como consequência, a frequência de ocorrência das letras (números ou símbo-
los) da mensagem cifrada é a mesma que a frequência de ocorrência das letras da língua usada
na mensagem original. Cada letra da mensagem original é substituída por apenas uma outra
letra, número ou símbolo. Portanto, o comprimento da mensagem cifrada é o mesmo que o da
mensagem original.

Alfabeto normal: abcdefghijklmnopqrstuvwxyz


Alfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZ

Assim, a mensagem

Fujam todos depressa! Fomos descobertos!

é cifrada para

GSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN!

Um exemplo famoso deste tipo de cifra é a Cifra de Caesar, na qual cada texto original é subs-
tituído por outro carácter na direita modulo 26 ("A"é substituído por "D", "B"é substituído por "E",
... , "X"é substituído por "A- o modulo 26 significa que se chegar na letra de posição 26, retornar
para o começo do alfabeto).

Cifras Homofônicas - tem o funcionamento semelhante ao anterior, exceto a parte na qual


cada carácter do texto original pode ser mapeado em vários caracteres da cifra. Exemplo,
"X"poderia corresponder a 20, 25 e 55. "Y"poderia corresponder a 9,13, 30 e 45, etc...

Alfabeto normal: a b c d e f g h i j k l m n o p q r s t u v w x y z
Alfabeto para a cifragem:

8 F H G 3 l 1 L E I w o M X 6 Q P b V 9 a Z S D j r
z - k m x n B u 0 - - O A v 5 p - R y f 4 g - - - -
K - s N q - - - J - - a c - 2 - - T e Y h - - - - -
7 - - - t - - - - - - - - - W - - C - - - - - - - -
i - - - - - - - - - - - - - d - - - - - - - - - - -
Cada letra do alfabeto normal é substituída por uma das que lhe correspondem: Assim, a
mensagem:

38
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Fujam todos depressa! Fomos descobertos!

poderia, por exemplo, ser cifrada para:

l4IiA 9WNdy GqpCxyVz! n2M5V GxeHdF3Rf2e!

que tomaria, em blocos de cinco letras, o aspecto algo incompreensível de:

l4IiA 9WNdy GqpCx yVzn2 M5VGx eHdF3 Rf2e

Cifras de substituição de poligramas - nesse caso, os blocos de caracteres são cifrados em


grupo. Por exemplo, "KXK"pode corresponder a "LOP", "KYK"pode corresponder a "LPL", etc.
Cifras de substituição polialfabética - composto de múltiplas substituições simples ao longo
do texto e também múltiplos alfabetos são usados. A idéia é substituir cada letra do alfabeto por
outro e repetir este procedimento várias vezes.

Por exemplo, supondo que se quer encriptar o texto:

ATACARBASESUL ("atacar base Sul")

Escolhendo a chave e repetindo-a até ter o comprimento do texto a cifrar, por exemplo, se a
chave for"LIMAO":

LIMAOLIMAOLIM

A primeira letra do texto, A, é cifrada usando o alfabeto na linha L, que é a primeira letra da
chave. Basta olhar para a letra na linha L e coluna A na grelha de Vigenere, e que é um L. Para
a segunda letra do texto, ver a segunda letra da chave: linha I e coluna T , que é B, continuando
sempre até obter:

Texto:
ATACARBASESUL
Chave:
LIMAOLIMAOLIM
Texto cifrado:
LBMCOCJMSSDCX

A cifra mais popular deste tipo é o Vigenere, publicada inicialmente em 1585 por Blaise Vige-
nere e foi considerada indecifrável até 1863. Mais Informações podem ser encontradas em:
http://www.numaboa.com.br/criptologia/cifras/substituicao/vigenere.php

5.3.2 Cifras de Transposição

O funcionamento deste tipo de cifra faz com que os caracteres do texto original sejam mis-
turados, mas que os caracteres mantém os mesmos. Em outras palavras, o texto cifrado é um
criptograma obtido através da permutação do texto original. Este método é conhecido desde a

39
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Antiguidade, tendo o scytale (ou bastão de Licurgo) usado pelos espartanos como o exemplo
mais antigo.

Em mensagens curtas, como no caso de uma única palavra, este método não é seguro por-
que existem poucas maneiras de variar a distribuição das letras. Por exemplo, uma palavra de
três letras só pode assumir 6 formas diferentes (fatorial de 3 é 6, ou 3!=6). Desta forma, a palavra
SOL só pode adquirir as seguintes formas: sol, slo, osl, ols, lso e los. Obviamente, à medida que
o número de letras aumentar, o número de arranjos se multiplica rapidamente e fica quase impos-
sível obter o texto original caso não se conheça o processo de deslocamento. Por exemplo, uma
frase de 35 letras pode assumir 35! = 10.333.147.966.386.144.929.666.651.337.523.200.000.000
formas diferentes.

Uma transposição aleatória parece oferecer um alto nível de segurança, mas há um inconveni-
ente: também é aleatória para o destinatário, que não teria como decifrar a mensagem. Para que
a transposição seja eficaz, é necessário que o ordenamento das letras siga um sistema rigoroso,
que seja conhecido tanto pelo remetente quanto pelo destinatário. Com isto, as possibilidades e
a segurança diminuem.

Os sistemas de transposição, usados isoladamente, possuem um grau de segurança muito


baixo, mas podem ser muito úteis quando utilizados em combinação com outros sistemas (a cha-
mada sobrecifragem ou recifragem).

Exemplos: Cifra das colunas, o texto a cifrar é escrito por colunas, com passagem para a co-
luna seguinte sempre que se atingir o número máximo de linhas. A mensagem é então escrita ou
transmitida por linhas. Por exemplo, se houver 3 "linhas"a mensagem FUJAM TODOS. FOMOS
DESCOBERTOS é escrita numa grelha como:

F A O S M D C E O P
U M D F O E O R S D
J T O O S S B T X Q

As letras no final servem para confundir o criptanalista ou obter um número já fixado de ca-
racteres na mensagem. Esta fica assim:

FAOSM DCEOP UMDFO EORSD JTOOS SBTXQ

Trata-se de uma cifra muito fraca (é extremamente fácil de decifrar), mesmo quando se altera
a ordem (por exemplo, colocando a mensagem seguindo uma espiral definida na grelha.

Transposição de Colunas: consiste na escrita de uma chave como cabeçalho da grelha, se-
guida da mensagem escrita por linhas - sendo a última eventualmente completa por caracteres
sem significado. Depois, a mensagem é escrita (ou transmitida) por colunas, por ordem alfabé-
tica das letras no cabeçalho. Por exemplo, se a chave for ZEBRAS, e a mensagem for VAMOS
EMBORA, FOMOS DESCOBERTOS, começa-se por obter a grelha:

ZEBRAS

40
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

seedutiuitqãethasonasogecanaeprtorasap

Ler-se-ia como:

SADEE MOOOS ABMCO ORSBJ EFERU VMOST

Para a decifrar, o destinatário tem apenas que dividir o comprimento da mensagem (30) pelo
da chave (6), e ler as colunas pela ordem das letras da chave.

Apesar de muitos sistemas utilizarem transposição, o grande problema desta técnica é o uso
bastante da memória e as vezes necessitam de que as mensagens sejam de um tamanho fixo.
As cifras de substituição são mais comuns.

5.4 Introdução a Protocolos Criptográficos

Introdução a Protocolos

A criptografia surgiu como ciência para a resolução de alguns problemas. Criptografia foca
nas idéias de conseguir sigilo, autenticação, integridade e pessoas desonestas. Antes de olhar-
mos os algoritmos e técnicas (receitas de bolo de sistema criptográficos), vamos primeiramente
entender o que é um protocolo e a importância do seu estudo.

Um protocolo pode ser entendido como um conjunto de passos, envolvendo duas ou mais
pessoas, para conseguirem juntos alcançar alguma tarefa. Logo, podemos ilustrar esse "conjunto
de passos"como uma sequência de início e fim e que cada passo deve ser executado em cada
turno e nenhum passo posterior pode passar por cima de um anterior. Não faria sentido você
fazer uma série de pequenas tarefas para chegar a um fim sem objetivo, então para que seja um
protocolo, deve ter um objetivo final na qual será alcançado.

Resumindo, as premissas implícitas para a caracterização do conceito de protocolos são:

• Há um propósito especificado que motiva a execução do protocolo;

• Os agentes envolvidos devem conhecer completamente o protocolo e devem também con-


cordar em seguir (executar) o protocolo;

• O protocolo deve ser inambíguo, sem margem para mal entendidos, e completo, com uma
ação especificada para cada situação possível;

Protocolos Criptográficos

São protocolos que usam criptografia. Diariamente, as pessoas se comunicam umas com às
outras e confiam nelas implicitamente. No mundo abstrato da informática, devemos formalizar os
passos para que a comunicação tenha essa confiança quanto a identidade da pessoa e sigilo da
informação. As pessoas participantes da comunicação podem querer compartilhar seus segredos
para computar um valor, gerar uma sequência randômica, convencer a identidade da pessoa e
simultaneamente assinar um contrato. Concluímos então que a criptografia nos protocolos são

41
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

utilizados para detectar ou prevenir de curiosos e trapaças.

Isso é mais difícil do que parece, pois, caso não seja analizado minuciosamente cada passo
dos protocolos, poderá ocorrer problemas como:

• Adulteração ou quebra de sigilo das mensagens;

• Vazamentos de informação;

• Trapaças e desavenças entre as pessoas participantes;

• Conluios (Dois ou mais pessoas enganando alguém);

Demonstramos então que como em qualquer outro tipo de sistema, é muito mais fácil provar
uma insegurança do que provar a segurança.

Para que usar Protocolos?

No dia-a-dia podemos observar o uso de protocolos informalmente a cada instante: jogar


truco, votar na eleição e pedir coisas pelo telefone. As pessoas não pensam antes de "usar"esses
protocolos, mas todos entendem suas regras de modo razoável e funcionam tudo de forma har-
moniosa.

Com o advento da tecnologia, muitos serviços novos que surgiram começam a tomar lugar
dos "protocolos"na interação frente a frente entre as pessoas. Um exemplo seria a utilização de
uma webcam, os computadores necessitam de protocolos formais para criar os passos de uma
comunicação e isso é a diferença entre um protocolo humano "sem pensar"e um protocolo formal
de um computador.

Os protocolos humanos, utilizam a presença da pessoa para garantir segurança e fidelidade.


Se você precisar pedir alguém para te comprar algo, pediria a um desconhecido? No jogo de
truco você aceitaria as cartas se não visse o oponente embaralhar as cartas?

Na informática temos esse problema. Como podemos confiar em algo que não podemos nem
ver nem tocar? Será de muita inocência assumir que as pessoas na rede são honestas e mais
além, acreditar fielmente que o serviço oferecido é totalmente confiável. Em muitos casos eles
são, mas caso não seja? Não seria um grande problema?

Logo, com o estudo de protocolos, podemos entender seu funcionamento para criar e otimizar
seguranças para que sejam imunes (pelo menos quase) a pessoas que hajam de má fé.

5.5 Alocação de Confiança nos Protocolos

Alocação de Confiança (em quem depositar a confiança?)

42
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Conforme seu propósito e premissas, um protocolo pode prever a ação de um agente auxiliar
(i.e., desinteressado em seu propósito) para resolver impasses entre agentes principais(i.e., inte-
ressados em seu propósito).

Logo podemos classificar os protocolos como:

• Protocolo Arbitrado: usa agente auxiliar para prevenção, durante a execução, de trapaça
entre os agentes principais.

• Protocolo Ajuizável: usa agente auxiliar para detecção, após a sua execução, de trapaça
entre agentes principais.

• Protocolo Auto-verificável: na sua construção já há eliminação das possíveis vantagens


para trapaças e refutações para a execução. Este protocolo não necessita de um terceiro
agente para o controle das confianças.

Protocolo Arbitrado

Arbitragem: decisões quanto a lisura de agentes principais que não confiam um no outro,
aceitas por ambos como condição de continuidade na execução do protocolo arbitrado.

A idéia de um protocolo semelhante a este no mundo real, seria uma compra de veículo em
uma agência. O esquema a seguir ilustra a idéia:

Protocolos
Protocolo Ajuizável

Devido ao custo alto na contratação de um árbitro, existe como alternativa um protocolo na


qual é executado apenas em circunstâncias de disputa.

Um remediador, assim como no anterior, não tem interesse na disputa e deve ser confiável.
Diferentemente do árbrito, ele não está diretamente envolvido em todos os protocolos e é cha-
mado apenas para determinar se o protocolo foi executado justamente.

No mundo real podemos relacionar o remediador como um juiz. Um juiz é chamado apenas
em casos de disputa. Exemplo: Fred e Ana podem criar um contrato sem um juiz e esse nunca
irá ver o contrato, a não ser que haja algum desentendimento nos termos do contrato.

Logo, podemos formalizar este em duas partes:

Protocolo não arbitrado (executado sempre):

1. Fred e Ana negociam os termos de contrato.

2. Ana assina o contrato.

3. Fred assina o contrato.

43
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Protocolo ajuizável (executado apenas em caso de disputa):

1. Fred e Ana aparecem antes do juiz.

2. Fred apresenta seus termos.

3. Ana apresenta seus termos.

4. O juiz determina as regras em cima dos termos.

No mundo dos computadores, os protocolos confiam nos dois lados como honestos, mas caso
alguém suspeite de alguma trapaça, um conjunto de dados existem para que um terceiro possa
determinar se alguém realmente trapaceou. A diferença do protocolo anterior é que este apenas
detecta a identidade de quem trapaceou ao invés de prevenir a trapaça. A idéia disso é que como
é "inevitável"nesses protocolos não detectar a trapaça, isso desencoraja enganações.

Protocolo Auto-verificável

Esse tipo de protocolo garante justiça sem a necessidade de um terceiro resolver as disputas.
Esse tipo de protocolo é construído para que não aconteça disputas e se alguém tentar trapacear,
o sistema automaticamente detecta e o protocolo termina. Infelizmente não existe para todas as
situações, uma solução com protocolo auto verificável.

Existem algumas dificuldades na concepção dos protocolos de arbitragem e ajuizáveis, pode-


mos citar:

1. Impessoalidade - programas-árbitro dificilmente inspiram a confiança necessária: ocultam


intenção do programador;

2. Custo - à rede de computadores recai o custo de criação e manutenção de um serviço de


arbitragem;

3. Gargalo - a arbitragem trata toda transação;

4. Tempo de execução - a arbritragem consome tempo considerável;

5. Vulnerabilidade - ponto fraco do protocolo, atraindo ataques;

Resumindo a mediação e a autoverificação em protocolos criptográficos a seguir, ilustram as


suas principais características:

A mediação apresenta dificuldades listadas anteriormente em 1, 2 e 5.

A autoverificação apresenta as seguintes dificuldades:

• A natureza do problema: nem todos os problemas de segurança tem solução em protcolos


autoconfiáveis;

• Análise exaustiva: a autoverificação só existe enquanto formas de ataque ao protocolo fo-


rem desconhecidas;

44
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.6 Estrutura Básica de Protocolos Criptográficos

Protocolo para Sigilo na Comunicação em Rede

Como que duas pessoas podem se comunicar com segurança? Eles devem encriptar sua co-
municação, claro! Mas um protocolo completo para isso é mais complicado do que se parece. A
seguir temos esquemas do que deve acontecer para que Fred se comunique com Ana utilizando
protocolos simétrico e assimétrico.

Premissas e Problemas do Protocolo I

• Agente A = Fred; Agente B = Ana;

• k = chave simétrica;

• m = mensagem original;

• c = cifra;

1. Os agentes confiam no gerenciador de chaves e um no outro.

2. As chaves devem ser distruibuídas em segredo

3. A privacidade da comunicação requer muitas chaves, com uma chave individual para cada
par de agentes. [n²-n pares]

4. Se a chave for comprometida (roubada, vazada, quebrada, subornada, extorquida ou ven-


dida), o possuidor da chave poderá fraudar a comunicação personificando-se como A ou B,
promovendo escuta ativa, spoofing, espelhamento, replay.

5. Não há verificação de fraude por comprometimento de senha.

45
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

II - Protocolo para privacida

Premissas e Problemas do protocolo II:

• Dx = chave privada do agente x;

• Ex = chave pública do agente x;

• m = mensagem original

• c = cifra;

• Agente A = Fred; Agente B = Ana

1. Transforma confiança na integridade da origem de Ea em sigilo.

2. O protocolo é vulnerável a ataques de texto pleno escolhido (M pequeno), e a ataques por


spoofing, espelhamento e replay.

Existe um protocolo híbrido para a solução dos problemas de I.2 e II.3

• As chaves devem ser distruibuídas em segredo.

• Dentre os algoritmos criptográficos robustos conhecidos, os assimétricos são mais lentos


103 a 104 vezes que os simétricos.

Protocolo III

46
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

1. Os agentes escolhe um algoritmo híbrido de I e II.

2. O agente A (Fred) lê a chave pública gerada por B.

3. Agente A gera "k"e encripta "k"e "m".

4. Monta um envelope na qual "k"é cifrado com a chave pública de B e "m"é cifrado com o
"k"(cifra) gerado anteriormente.

5. Agente B decodifica em "k"para ser utilizado para ver o texto original. "k"é obtido utilizando
a chave privada dele mesmo e a mensagem "m"se consegue decifrando-a com a chave
"k"achada.

Protocolos para Assinatura Digital

Para explicar o funcionamento de uma assinatura digital, é importante ilustrar quais são as
premissas implícitas no conceito ideal de uma assinatura do mundo real:

• Inforjabilidade - confiança do verificador na impossibilidade de prática de falsificação (ex.:


identificabilidade da falsificação).

• Inviolabilidade - confiança do verificador na integridade do conteúdo lingüístico vinculado ao


autor da assinatura.

• Irrecuperabilidade - confiança do verificador na impossibilidade de reuso da assinatura. (de


transferência da autenticação).

• Irrefutabilidade - confiança do verificador na impossibilidade prática de negação da auto-


ria da assinatura pelo autor (ajuizamento de refutação/repúdio -> conceitos explicados na
seção anterior).

IV - Protocolo de Assinatura Digital

47
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Premissas do protocolo de uma assinatura digital.

1. Só o titular de um par de chaves a conhece e tem acesso à chave privada.

2. O usuário de uma chave pública confia na titulação desta chave.

3. Presume-se que o titular manifesta sua vontade no conteúdo lingüístico do documento que
assina.

V - Protocolo Arbitrado de Assinatura Digital

48
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

V - Protocolo Arbitrado de Assinatura Digital

Sigilo e Autenticação

Quando Fred loga no seu computador (ou uma conta de telefone, conta bancária, etc...), como
que o computador irá saber quem é ele? Como que o computador sabe que ele não é Waldemar
querendo falsificar a identidade de Fred? Tradicionalmente, as senhas resolvem este problema.
Fred coloca sua senha, e o computador confirma que está correto. Ambos , computador e Fred,
compartilham este segredo e o computador pede esta senha toda vez que ele tentar o acesso ao
computador.

Com essas idéias de autenticação, a seguir será mostrado um protocolo para sigilo e autenti-
cação usando as chaves públicas:

VI - Cifragem de Mensagem Assinada

Premissas e Problemas deste Protocolo de Autenticação:

1. Transforma confiança na integridade da origem de Ea(Chave Pública de A) em sigilo.

2. O protocolo é vulnerável a ataques de texto pleno escolhido e a ataques por spoofing,


espelhamento e replay.

3. Algoritmo fica muito lento em relação aos simétricos.

Existem muitos protocolos criptográficos e não citarei todos pois tornaria o curso cansativo
e extenso. O objetivo principal sobre protocolos é buscar colocar a sensibilidade da sua neces-
sidade. Os serviços básicos são capazes apenas de transformar premissas de confiança em
proriedades de segurança, mas não de criá-las a partir do nada. Ou seja:

49
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• Controle de Acesso - transforma a premissa de posse de segredo ou objeto irrefutável em


verificação da identidade de um agente.

• Controle de Acesso - transforma a premissa de posse de segredo ou objeto irrefutável em


verificação da identidade de um agente.

• Cifragem - transfere o sigilo de uma chave criptográfica para sigilo da informação de uma
mensagem cifrada.

• Autentição - transforma uma premissa de sigilo em verificação de integridade (de origem


e/ou conteúdo).

• Certificação - transforma uma premissa de sigilo em autenticação recursiva, com verifica-


ção.

Logo, os protocolos criptográficos buscam construir, a partir de suas premissas e da capaci-


dade transformadora dos serviços básicos, alguma funcionalidade de proteção para o seu propó-
sito, premissas que devem ser satisfeitas pelo sistema que o protocolo pretende proteger.

5.7 Introdução a Algoritmos Criptográficos

Definição de segurança: Indivíduo encarregado da proteção de bens, pessoas, públicos ou


locais privados; guarda-costas; social - conjunto de sistemas de um regime destinado a garantir
proteção contra diversos riscos sociais, em especial os ligados ao trabalho.

No mundo de TI (Tecnologia da Informação), podemos encontrar vários termos ligados a


definição citada acima: Segurança de Dados, Segurança de Comunicação, Segurança da Infor-
mação, Segurança de Sistemas, etc...

Vamos fazer um experimento "gedunken"(que significa um experimento de racicínio usado


por Einstein para deduzir a teoria da relatividade). Vamos imaginar que a segurança de qualquer
sistema citado acima seja como uma corrente. A segurança do sistema como um todo depende
de cada conexão entre as argolas de uma corrente. Tudo deve estar bem seguro: os algoritmos
criptográficos, os protocolos, os geradores de chaves digitais, os gerenciadores de chaves, etc...
Se seu algoritmo for ótimo mas o gerador de número randômico(utilizado para gerar chaves) for
ruim, qualquer ataque de criptoanálise irá quebrar o seu sistema pelo lado mais fraco (no caso
do gerador de número randômico ruim). Mesmo consertando esse problema mas não tomando
cuidado, é facil criar outro buraco como por exemplo na parte da alocação de memória das cha-
ves, a criptoanálise irá tentar quebrar o sistema nessa parte mais vulnerável.

Logo, podemos afirmar que a criação de um sistema seguro é uma tarefa bem difícil, além
da responsabilidade ser bem maior para criar a segurança, pois deverão ser pensadas todas as
possibilidades possíveis de ataque para proteger seu sistema de todos eles, do que para um
criptoanalista na qual só necessitaria de achar uma pequena vulnerabilidade para quebrar todo o
sistema.

50
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Criptografia é apenas uma pequena parte da segurança de um sistema. As pessoas tendem


a achar que o tamanho da dificuldade de quebrar a criptografia é diretamente proporcional a se-
gurança do sistema (ou seja, quanto mais criptografia, mais seguro) e isso é um equívoco, como
foi afirmado já na introdução deste curso. Podemos ter várias alternativas ao avaliar e escolher
um algoritmo a ser utilizado, podemos ter as seguintes alternativas:

1. Escolher um algoritmo já publicado na comunidade, acreditando que o algoritmo já tenha


sido bem estudado por vários criptógrafos; se ninguém ainda não conseguiu o quebrar, deve
ser um bem robusto.

2. Acreditar em um fabricante de softwares com boa reputação a ser garantia e que eles não
arriscariam vender equipamentos ou softwares com algoritmos ruins.

3. Depositar a confiança em um consultor, baseado no credo de que um consultor imparcial


esta bem capacitado para uma boa avaliação de diferentes algoritmos.

4. Utilizar sistemas criados pelo governo, tendo a confiança de que eles conduzam bem seus
cidadãos.

5. Criar seu próprio algoritmo, baseado na idéia de que todas as alternativas anteriores não
sejam tão eficientes para o seu uso e que nada citado anterior seja confiável.

5.8 Algoritmo DES

Alguns exemplos de Algoritmos Criptográficos mais famosos:

DES - Data Encryption Standard


É um algoritmo de encriptação muito utilizado em criptografia. Foi criado por J.Orlin Grade e é
um dos algoritmos mais utilizados no mundo. É um algoritmo rápido mas pouco seguro e existem
variantes desse algoritmo como o NewDES e o 3DES.

As origens do DES remotam ao início da década de 1970. Em 1972, após concluir um estudo
sobre as necessidades de segurança de informação do governo norte-americano, o então NBS
(National Bureau of Standards, na época o órgão de standards do governo norte-americano)
identificou a necessidade de um padrão governamental para encriptação de informações não
confidenciais, porém sensíveis. Em conseqüência, em 15 de Maio de 1973, após uma consulta
à NASA, o NBS solicitou proposta para um algoritmo de encriptação que atendesse aos critérios
rigorosos de projeto. Entretanto, nenhuma das propostas recebidas se mostrou viável. Uma se-
gunda solicitação foi aberta em 27 de Agosto de 1974. Desta vez, a IBM submeteu uma proposta
candidata que foi considerada aceitável: um algoritmo de encriptação desenvolvido no período de
1973-1974 baseado em um algoritmo mais antigo, o altoritmo Lucifer de Horst Feistel. A equipe
da IBM envolvida no projeto do algoritmo incluía Feistel, Walter Techman, Don Coppersmith, Alan
Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith, and Bryant
Tuckerman.

Com o poder computacional atual, este algoritmo já não é mais considerado seguro, pois é
vulnerável a ataques de força bruta. Em julho de 1998 foi criada uma máquina chamada EFF

51
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

DES Cracker, que levou 3 dias para quebrar o algoritimo DES Challenge II e em Janeiro de 1999
quebrou o DES Challenge III em 22 horas usando milhares de computadores espalhados pelo
mundo. Em 19 de maio de 2005, foi desaprovado seu uso pelo Governo Americano.

Implementação
DES trabalha com bits ou números binários - os 0s e 1s dos computadores digitais. Cada grupo
de 4 bits corresponde a um número hexadecimal, cuja base é 16. O binário "0001"corresponde
ao número hexadecimal "1", o binário "1000"é igual ao número hexadecimal "8", "1001"é igual ao
hexadecimal "9", "1010"é igual a o hexadecimal "A"e "1111"é igual ao hexadecimal "F".

O DES funciona encriptando grupos de 64 bits de mensagem, o que significa 16 números


hexadecimais. Para realizar a encriptação, o DES utiliza "chaves"com comprimento aparente de
16 números hexadecimais, ou comprimento aparente de 64 bits. Entretanto, no algoritmo DES,
cada oitavo bit da chave é ignorado, de modo que a chave acaba tendo o comprimento de 56 bits.
Mas, para todos os efeitos, o DES é organizado baseando-se no número redondo de 64 bits (16
dígitos hexadecimais).

Por exemplo, se tomarmos a mensagem clara "8787878787878787"e a encriptarmos com a


chave DES "0E329232EA6D0D73", obteremos o texto cifrado "0000000000000000". Se o texto
cifrado for decifrado com a mesma chave secreta DES "0E329232EA6D0D73", o resultado é o
texto claro original "8787878787878787".

Este exemplo é limpo e metódico porque nosso texto claro tinha o comprimento de exatos 64
bits. O mesmo seria verdade caso nosso texto claro tivesse um comprimento múltiplo de 64 bits.
Mas a maioria das mensagens não cairá nesta categoria. Não serão um múltiplo exato de 64 bits
(isto é, um múltiplo exato de 16 números hexadecimais).

Por exemplo, considere a seguinte mensagem: "Criptologia sempre Numa Boa". Esta mensa-
gem clara possui 28 bytes (56 dígitos hexadecimais) de comprimento. Neste caso, para encriptar
a mensagem, seu comprimento precisa ser ajustado com a adição de alguns bytes extras no final.
Depois de decifrar a mensagem, estes bytes extras são descartados. É lógico que existem vários
esquemas diferentes para adicionar bytes. Aqui nós iremos adicionar apenas zeros no final de
modo que a mensagem total seja um múltiplo de 8 bytes (ou 16 dígitos hexadecimais, ou 64 bits).

O texto claro "Criptologia sempre Numa Boa"é, em hexadecimal,

43 72 69 70 74 6F 6C 6F
67 69 61 20 73 65 6D 70
72 65 20 4E 75 6D 61 42
6F 61 0D 0A

(Note que os primeiros 54 dígitos hexadecimais representam a mensagem em Português,


enquanto que "0D"é o hexadecimal para Retorno (Carriage Return) e "0A"é o hexadecimal para
Quebra de Linha (Line Feed), indicando que o arquivo de mensagem chegou ao fim.) Completa-
mos então a mensagem com alguns zeros no final para obter um total de 64 dígitos hexadecimais:

43 72 69 70 74 6F 6C 6F
67 69 61 20 73 65 6D 70

52
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

72 65 20 4E 75 6D 61 42
6F 61 0D 0A 00 00 00 00

Se cifrarmos agora a mensagem clara em blocos de 64 bits (16 dígitos hexadecimais), usando
a mesma chave DES "0E329232EA6D0D73", obtemos o seguinte texto cifrado:

9B 79 70 61 C1 12 1E C6
28 A2 65 05 91 17 7D 36
51 FB 97 E9 00 78 7D B4
79 F2 A0 29 CE 58 D6 F4

Este é o código secreto que pode ser transmitido ou armazenado. Decifrando o texto encrip-
tado restaura a mensagem original "Criptologia sempre Numa Boa".

5.9 Algoritmo RSA

RSA - Ron Rivest, Adi Shamir e Len Adleman

É um algoritmo de encriptação de dados, que deve o seu nome a três professores do Instituto
MIT(fundadores da empresa atual RSA Data Security, Inc). Até 2005 este foi o algoritmo mais
sucedido na implementação de sistemas de chaves assimétricas e está baseado todo na área
de estudo da matemática chamada de Teoria Clássica dos Números. Ela é considerada um dos
mais seguros com os inúmeros testes já feitos. Foi um dos primeiros a possibilitar a encriptação
e assinatura digital, e uma das grandes novidades em criptografia de chave pública.

Implementação RSA

Abstraindo a complexidade, são gerados dois pares de números (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. Esta 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.

RSA baseia-se em dois fatos: encontrar números primos de grandes dimensões (p.e. 100
dígitos) ser computacionalmente fácil mas, conseguir fatorar o produto de tais dois números é
considerado computacionalmente quase impossível (o tempo estimado para o conseguir é na
casa dos milhares de anos).

http://pt.wikipedia.org/wiki/N%C3%BAmero_primo

De fato, este algoritmo mostra-se computacionalmente inquebrável com números de tais di-
mensões, e que sua força é geralmente quantificada com o número de bits utilizados para des-
crever tais números. Para um número de 100 dígitos são necessários cerca de 350 bits, e as
implementações atuais superam os 512 e mesmo os 1024 bits.

53
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Assinatura Digital
Para implementar um sistema de assinaturas digitais com RSA, o usuário que possua uma chave
privada d poderá assinar uma dada mensagem (em blocos) m com a seguinte expressão:

s = md mod n

Como se pode deduzir, é difícil descobrir s sem o conhecimento de d. Portanto, uma assina-
tura digital definida conforme esta equação é difícil de forjar. Além disso, o emissor de m não pode
negar tê-la emitido, já que mais ninguém poderia ter criado tal assinatura. O receptor recupera a
mensagem utilizando a chave pública e do emissor:

se = (md )e

Logo, o receptor consegue validar a assinatura do emissor calculando se mod n.

Podemos verificar então que o algoritmo RSA satisfaz os três requisitos necessários de uma
assinatura digital.

É fácil deduzir que a assinatura varia dependendo da mensagem em si, e que operando so-
bre mensagens longas o tamanho da assinatura seria proporcional. Para melhorar esta situação,
faz-se operar o algoritmo sobre um hash da mensagem, que identifique essa mensagem como
única - geralmente o hash de uma mensagem varia alterando um único byte -, tendo como con-
seqüência o fato de que uma assinatura varia de mensagem para mensagem, para um mesmo
emissor.

Resumindo com formalismo matemático:

Geração da chave pública:


n = Produto de dois numeros primos grandes, p e q. (p e q devem ser secretos)
e = primo relativo a (p-1)(q-1)

Geração da chave privada:


d = e−1 mod ((p - 1)(q - 1))

Cifragem
c = me mod n
Decifragem
m = cd mod n

Podemos observar claramente, como foi falado na introdução deste curso, a grande uti-
lização de formalismo matemático para expressar o funcionamento dos algoritmos de cripto-
grafia, e que para o entendimento pleno do assunto, é estritamente necessário pré-requisitos
http://pt.wikipedia.org/wiki/Teoria_dos_n%C3%BAmeros neste sentido. Foram colocado esses
exemplos apenas para ilustrar superficialmente como que a criptografia é expressa na sua li-
teratura e que o entendimento de cada detalhe dos algoritmos fugiriam do objetivo deste curso.

54
Capítulo 6

Lição 4 - A Prática

6.1 Visão Geral do SeaHorse

Agora iremos ilustrar uma pequena parte da criptografia, que seria a do gerenciamento de
chaves públicas/privadas e o seu uso para alguns serviços básicos de criptografia, já citados na
lição anterior. Como já demonstrado anteriormente, ela já é uma realidade hoje, e seu uso é
necessário. O software mais utilizado no ambiente Linux é o GPG (GnuPG). Hoje podemos fazer
tudo por um método mais "humano"(utilizando recursos de interface gráfica), sem utilização de
linha de comando.

O Seahorse um ótimo software para manipular graficamente todas as suas chaves digitais,
ele é integrado com o nautilus, gedit e outros softwares para fazer operações de cifragem.

Este software permite:

• Criar e Manipular Chaves PGP;

• Criar e Manipular Chaves SSH;

• Publicar e Obter Chaves de um Servidor;

• Fazer Backup de Suas Chaves e seu Chaveiro.

6.2 Instalação do Seahorse


A instalação do Seahorse foi testada em uma instalação Debian, então podemos utilizar o
repositório de softwares que ele possui para a sua instalação:

Obtenha permissão de root;

• su <enter>

55
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• <senha>

Agora Digite:

• apt-get install seahorse

E estará tudo pronto para o uso!


Caso você queira fazer a instalação por meio de código fonte (não aconselho pela sua dificul-
dade), você pode fazer download do Seahorse em :
http://www.gnome.org/projects/seahorse/download.html

6.3 Utilização do SearHorse

Com o Seahorse instalado, vamos abrí-lo indo em :

Aplicações > Acessórios > Passwords and Encryption Keys.

Vamos agora criar nosso par de chaves. Clique em:

Chaves > Create New Key e escolha a opção “PGP Key”.

Clique em “Continue” e preencha os dados com seu nome completo, endereço de e-mail e
um comentário qualquer (pode ser uma frase que você goste no comentário, por exemplo. O
preenchimento deste campo é opcional).

Se desejar, clique em cima da opção “Advanced Options” para mudar o tipo de encriptação e
a quantidade de bits. Para um computador de uso pessoal, as opções padrão (DSA 2048) são
mais que suficientes.

Selecione também uma data para sua chave expirar caso queira, ou deixe selecionada a op-
ção “Never Expires” para que a chave seja eterna (você pode mudar estes dados depois se quiser,
e pode cancelar sua chave caso seja comprometida).

Em seguida você será solicitado para digitar uma senha. Escolha uma senha bem difícil mas
de fácil memorização por você, ou, se preferir, deixe em branco (eu não recomendo) para usar
sua chave privada sem senha.

56
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Após algum tempo, sua chave estará criada e aparecerá na janela principal do Seahorse.
Agora você poderá dar um duplo clique sobre sua chave e alterar seus dados, se desejar.

Aproveite para anexar uma foto sua e adicionar todos os seus outros endereços de e-mail.
Quando terminar, clique em “Remote > Sync and Publish Keys” para que os dados sejam envia-
dos para o servidor online de chaves. Agora vamos aprender a usar melhor o Seahorse!

Em primeiro lugar, vamos iniciar o daemon do Seahorse. Este daemon deverá ficar rodando
no plano de fundo o tempo todo, portanto pressione “Alt + F2” e entre com o comando “seahorse-
daemon” (sem as aspas).

Agora vamos configurar para que o Gnome inicie o daemon automaticamente no login indo
em:

Sistema > Preferências > Sessões

Vá na aba “Programas Iniciais” e clique em “Adicionar”. Entre com o comando “seahorse-


daemon” (sem aspas) novamente e clique em Ok. E pronto!
Agora, com o daemon rodando, quando quiser assinar um arquivo qualquer, basta clicar com
o botão direito sobre ele, conforme podemos ver abaixo:

57
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Você ainda poderá escolher a opção “Criptografar” e escolher, na janela que se abrirá, para
quem deseja enviar o arquivo criptografado. O Seahorse irá gerar automaticamente um novo ar-
quivo com extensão “.pgp”. Para descriptografá-lo, basta dar um duplo clique sobre ele e digitar
a senha de sua chave privada. Muito fácil não é mesmo?

Agora vamos configurar o seu Evolution para enviar e receber e-mails assinados e criptogra-
fados. Com o Evolution aberto, vamos em:

“Editar > Preferências > Contas de Correio”

Selecione sua conta de e-mail e clique em Editar. Vá até a aba “Segurança” e coloque o ID da
sua chave (você poderá ver qual o ID da sua chave na janela principal do Seahorse) no campo
correto e ative a caixa “Sempre assinar mensagens enviadas ao usar esta conta”. Agora é só
começar a enviar seus e-mails assinados digitalmente (quando você for enviar um e-mail, será
solicitado pela sua senha da chave). Agora vamos aprender a criptografar!

Para enviar um e-mail criptografado a um amigo, você precisará primeiro possuir uma cópia
da chave pública dele. Na janela principal do Seahorse você poderá clicar em “Procurar Chaves
Remotas” e colocar o e-mail dele no campo. Selecione a chave correta e clique em “Importar”.
De volta à janela principal do Seahorse e já com a chave pública de seu amigo importada, vá até
a aba “Keys I?ve Collected”.

58
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

IMPORTANTE: Quando você localizar a chave de alguém pelo servidor, entre em contato com
a pessoa e certifique-se de que aquela é mesmo a chave verdadeira (passe o Key ID da chave
para a pessoa confirmar). Você deve ter notado que é possível criar dezenas de chaves usando
qualquer nome e qualquer e-mail, portanto tenha certeza de que a chave que está importando
é a correta e não uma falsa. Uma boa dica é procurar as pessoas que assinaram esta chave e
atestaram ser válida (trataremos disto à seguir).

Na aba “Keys I’ve Collected”, selecione a chave de seu amigo e clique em “Properties“. Na
janela que abrir, clique na aba ”Confiar“ e marque a caixa ”I have verified that this key belongs to
who it says it does“ que irá dizer ao GnuPG que você confia naquela chave e que verificou se a
chave é mesmo da pessoa que diz ser. Clique em ”Fechar“.

Agora vá até a aba ”Keys I Trust“ e verá lá as chaves que você confia. Se você realmente
tem certeza de que aquela chave é da pessoa que diz ser a dona, você poderá assinar com sua
chave privada a chave pública de seu amigo, atestando publicamente que você confia naquela
chave (como pode ver, a rede de chaves públicas é uma grande rede de confiança).

Para assinar a chave (você não é obrigado a assiná-la para enviar um e-mail criptografado
a ela, mas é bom ajudar os amigos não é verdade?) selecione-a e clique no botão ”Properties“
novamente. Vá até a aba ”Confiar“ e clique no botão ”Sign“ para fazer a assinatura.

Depois de assinar, clique em ”Fechar“, selecione a chave de seu amigo, clique com o botão
direito e selecione a opção ”Sync and Publish Keys“ para que as alterações sejam enviadas para
o servidor. Peça para seus amigos assinarem a sua chave pública também garantindo uma maior
confiabilidade para a mesma.

Bom, se você já importou a chave de um amigo e disse ao GnuPG que confia nela, basta da
janela do seu Evolution, criar um novo e-mail, e na janela de redigir, selecione a opção:

”Segurança > Criptografar com PGP“.

Note que o Daemon do Seahorse deve estar rodando e sua senha (a da chave) será solicitada
ao clicar em ”Enviar“.

Se alguém lhe enviar um e-mail criptografado, ao selecioná-lo na lista, você já será solicitado
para digitar sua senha da chave privada. Ao digitar a senha, o Evolution irá descriptografar o
e-mail automaticamente para você e exibi-lo. Com isso a garantia é muito maior de que ninguém
consiga ler seus e-mails no meio do caminho entre você e seu amigo.

59

Você também pode gostar