Escolar Documentos
Profissional Documentos
Cultura Documentos
Crip Chav Dig-01
Crip Chav Dig-01
Versão 1.0.0
Sumário
II Informações Básicas 5
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
1
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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
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.
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
Objetivo Específico
Guia do aluno
Neste guia, você terá reunidas uma série de informações importantes para que você comece
seu curso. São elas:
• Primeiros passos.
É muito importante que você entre em contato com TODAS estas informações, seguindo o
roteiro acima.
Licença
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".
• 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;
• 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.
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.
. 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:
Primeiros Passos
Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:
• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas básicas do mesmo;
Perfil do Tutor
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;
• 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’)
9
Parte III
10
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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.
É 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.
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
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.
12
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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.
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);
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;
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;
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;
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.
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.
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
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.
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:
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
19
Capítulo 1
O que é o curso
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
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
2.4 Descrição
21
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
2.5 Metodologia
• 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
• Introdução
• Safety x Security
• Desafios de Segurança
22
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• História e Criptologia
• Idéias Gerais sobre Criptologia
• 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
2.7 Avaliação
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
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.
Mas uma dúvida pode surgir no ar, por que essas informações são importantes?
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.
A palavra "segurança"em português do Brasil possui dois sentidos básicos na língua inglesa:
Safety e Security
• 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.
Segurança do tipo:
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
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).
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:
28
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Controle e Auditoria
29
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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... )
• Desvio de Controle: exploração de falhas de segurança permitem que o controle dele seja
desviado para outras pessoas.
30
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
31
Capítulo 4
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.
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
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)
34
Capítulo 5
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.
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
D(E(M)) = M
• 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).
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.
EK (M) = C DK (C) = M
K = chave simétrica.
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).
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
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
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.
Assim, a mensagem
é cifrada para
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).
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
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
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.
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:
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:
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.
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.
• 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
Isso é mais difícil do que parece, pois, caso não seja analizado minuciosamente cada passo
dos protocolos, poderá ocorrer problemas como:
• Vazamentos de informação;
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.
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.
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é.
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).
• 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 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
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.
43
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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.
44
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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.
• k = chave simétrica;
• m = mensagem original;
• c = cifra;
3. A privacidade da comunicação requer muitas chaves, com uma chave individual para cada
par de agentes. [n²-n pares]
45
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• m = mensagem original
• c = cifra;
Protocolo III
46
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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.
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:
47
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
3. Presume-se que o titular manifesta sua vontade no conteúdo lingüístico do documento que
assina.
48
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
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:
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
• Cifragem - transfere o sigilo de uma chave criptográfica para sigilo da informação de uma
mensagem cifrada.
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
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.
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.
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".
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).
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
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".
É 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
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.
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
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.
• su <enter>
55
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• <senha>
Agora Digite:
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:
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:
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:
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