SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
1
CRIPTOGRAFIA E INFRA-ESTRUTURA DE CHAVES PÚBLICAS
Samuel Sangio Canuto Teixeira
Orientador: Prof. Maurílio Coutinho
Departamento de Eletrônica (DON)
Resumo – O objetivo deste trabalho é o de
levantar os aspectos de uma ICP e, em
específico, da ICP-Brasil; observando-se suas
leis, decretos, resoluções, que determinaram
suas evolução e atual condição operacional.
Antes, porém, será feita uma explanação
acerca da criptografia, seus algoritmos e os
dois tipos de chaves usadas, mostrando suas
diferenças e aplicabilidades.
Palavras-Chave: Criptografia, Chave
Pública, Infra-Estrutura de Chave Pública,
ICP-Brasil, Certificação Digital, Autoridade
Certificadora, Autoridade de Registro.
I. INTRODUÇÃO
A segurança em uma Rede de Computadores,
independente do seu tamanho, deve ser
proporcional ao valor das informações que por
ela transitam. Então, é importante garantir um
meio de transmissão seguro, confiável e
específico à necessidade. Além disso, deve-se
também proteger os dados transmitidos de
possíveis invasões aos sistemas, impedindo que
àqueles fiquem à mercê de ações inescrupulosas.
Para tanto, usa-se a criptografia, que, mesmo
antes do advento das redes computacionais, é
uma ferramenta útil para a proteção de dados
sensíveis a olhos curiosos [1].
I.1 – Um Pouco de História
Há milhares de anos a criptografia tem sido
usada para fins militares e diplomáticos. Nos
dias de hoje, a Internet exige que as transações
comerciais requeiram privacidade e integridade
aos seus 327 bilhões de dólares movimentados
em transações comerciais em 2002 [2].
Seu uso nos princípios da comunicação foi
amplamente estudado por Claude Shannon nos
anos 40 e 50; e, até meados da década de 70, os
algoritmos de ciframento eram baseados em
transposições, substituições e a combinação de
ambas; dispondo de uma única chave para cifrar
e decifrar a mensagem, chamada chave secreta.
Atualmente, a criptografia computacional ainda
utiliza esses tipos de ciframento, porém, em
1976, os pesquisadores da Universidade de
Stanford, Whitfield Diffie e Martin Hellman,
desenvolveram um novo sistema criptográfico
(sistema criptográfico assimétrico) baseado em
operações e funções matemáticas que utiliza
duas chaves distintas: uma para cifrar e outra
para decifrar a mensagem; sendo, em termos
práticos, impossível, senão muito difícil, obter
uma a partir da outra [1]. Surgia aí o conceito de
chaves públicas e chaves privadas.
Além da mudança conceitual, tal método abriu
novos horizontes para as garantias que um
sistema criptográfico pode oferecer (discutidas
adiante), viabilizando assim, uma transmissão
de dados praticamente infalível às invasões.
Basta que o usuário crie o seu par de chaves,
guarde para si a chave de deciframento, e torne
pública a sua chave de ciframento.
Porém, esse é um ponto delicado desse sistema:
o fato da chave de ciframento ser pública requer
que alguém fique com essas chaves e as
administre de forma confiável, segura e,
principalmente, desinteressada quanto aos
motivos de quem as usa.
Então, foram criadas regras para que uma
entidade ganhe o direito de administrar as
chaves, passando a ser uma Autoridade
Certificadora – AC ou uma Autoridade de
Registro – AR, e toda uma infra-estrutura, a
chamada Infra-estrutura de Chave Pública –
ICP foi projetada para se garantir a emissão de
chaves e os certificados que lhes dão validade e
autenticidade [2].
I.2 – Situação da ICP no Mundo e no Brasil
A ICP (PKI – Public Key Infrastructure) foi
estabelecida pela IEEE P1363 [3] e
ANAIS DOS TRABALHOS DE DIPLOMA – DEZEMBRO/2002
INSTITUTO DE ENGENHARIA ELÉTRICA
UNIVERSIDADE FEDERAL DE ITAJUBÁ
2
implementada pela IETF – Internet Engineering
Task Force (Força Tarefa de Engenharia da
Internet) por meio da IETF – Internet X.509
Public Key Infrastructure [4].
Para a IETF a ICP é um conjunto de serviços de
segurança capaz de proporcionar o uso e o
gerenciamento da criptografia de chave pública,
assim como os certificados digitais, incluindo o
gerenciamento de chave e sua política de uso.
No Brasil, foi instaurada recentemente uma ICP,
denominada Infra-estrutura de Chaves
Públicas-Brasil – ICP-Brasil seguindo a Medida
Provisória 2.200 de 18 de junho de 2001 [5].
Esta MP determinou a criação de um Comitê
Gestor da ICP-Brasil – CG-ICP Brasil. O CG é
“a entidade máxima responsável pelo
estabelecimento e administração das políticas a
serem seguidas pelas ACs integrantes desta
estrutura” [6].
A ICP-Brasil vem atender à necessidade das
organizações governamentais e privadas
brasileiras em dar suporte técnico e legal aos
documentos criados e transmitidos
eletronicamente.
I.3 – Objetivos deste trabalho
O objetivo deste trabalho é o de levantar os
aspectos de uma ICP e, em específico, da ICP-
Brasil; observando-se suas leis, decretos,
resoluções, que determinaram suas evolução e
atual condição operacional. Antes, porém, será
feita uma explanação acerca da criptografia,
seus algoritmos e os dois tipos de chaves usadas,
mostrando suas diferenças e aplicabilidades.
II. A CRIPTOGRAFIA
A criptografia, do grego kryptós (oculto) e
grápho (escrita), ou escrita oculta, é a ciência
que propõe tornar incompreensível uma
mensagem originalmente escrita com clareza a
quem desconhece o processo de codificação
usado [1]. Dessa forma, uma informação pode
ser transmitida por meios de comunicação não
confiáveis, garantindo que somente o
destinatário, que sabe como decifrá-la, a
compreenda. Ao cifrar uma mensagem, esta
sofre transformações ditadas por um algoritmo,
que a tornam ininteligível. Para se decifrar a
mensagem, segue-se o algoritmo ao inverso, e
extrai-se a mensagem original.
Figura 1 – Modelo de Criptosistema [7].
II.1 – A Chave Criptográfica
A chave criptográfica é o verdadeiro segredo de
um algoritmo. Ela muitas vezes é o próprio
algoritmo, e, senão o é, dita os caminhos para
que um algoritmo aparentemente simples torne-
se imune a uma criptoanálise (a ciência de
determinar a chave ou decifrar mensagens sem o
conhecimento da chave) bem aplicada. A chave
pode ser um número, uma seqüência de bits,
uma cifra, um código, uma tabela, etc. Sempre
há uma chave de ciframento e outra para
deciframento da mensagem (Figura 1). Porém,
nos métodos simétricos elas são consideradas
iguais e, portanto, é tratada como uma só.
À luz da criptografia computacional, uma chave
pode ter dimensões brutais, como no caso do
algoritmo RSA (vide o item II.3.2.2), cujas
chaves chegam a ordem de 10200
.
II.2 – Tipos de Algoritmos Criptográficos
O tipo de algoritmo criptográfico diz o tipo de
chave usada para cifrar e decifrar a mensagem.
II.2.1 – Algoritmos Criptográficos Simétricos
Os algoritmos criptográficos simétricos podem
ser dos tipos transposição, substituição e
ciframentos compostos, e visam somente o
embaralhamento dos caracteres da mensagem, a
substituição dos caracteres da mensagem,
segundo uma tabela, ou a aplicação de ambas as
técnicas ao mesmo tempo, respectivamente [1].
Nesses casos, a chave de criptografia usada é
chamada de chave secreta, pois exige que o
usuário a mantenha oculta sob seu poder, e só a
repasse para quem for transmitida uma
mensagem criptografada. Isto se faz necessário,
pois a mesma chave que é usada para cifrar uma
mensagem serve também para decifrá-la [1].
Então, se a chave for de domínio público,
qualquer um que interceptar a transmissão de
uma mensagem codificada com essa chave
consegue decifrá-la, acessando seu conteúdo.
II.2.2 – Algoritmos Criptográficos Assimétricos
Os algoritmos criptográficos assimétricos
seguem os princípios da unidirecionalidade [1]
de certas funções ou propriedades matemáticas,
que permitem um cálculo rápido, simples e
barato de seus resultados, porém é inviável a
partir destes, retornar ao ponto inicial sem seu
conhecimento. Um exemplo, usado no algoritmo
RSA (vide adiante), é o produto de dois
números primos, que, por maiores que sejam,
pode ser feito em instantes, e a obtenção destes,
sem se saber quais são, a partir da fatoração do
produto, despende muito tempo [1].
Então, Whitfield e Hellman propuseram a
criação de um par distinto de chaves, uma usada
3
para cifrar, chamada de chave pública, e outra
usada para decifrar, chamada de chave privada,
seguindo o conceito da unidirecionalidade
acima. Assim, um usuário cria um par de
chaves com um algoritmo assimétrico, publica a
sua chave pública e guarda para si a chave
privada. Se for necessário enviar uma
mensagem criptografada a esse usuário, basta
acessar sua chave pública, usá-la para cifrar a
mensagem e enviar esta ao usuário, que, por sua
vez, será o único capaz de decifrá-la, acessando
seu conteúdo [1].
II.2.3 – Diferenças e Aplicação Real
Os métodos assimétricos garantem maior
segurança em relação aos métodos simétricos,
pois a distribuição de chaves nestes pode ser
algo perigosa se houver qualquer tipo de escuta
durante a troca de chaves. Com aqueles, a
distribuição de chaves é simples, pois qualquer
usuário pode, sem medo de interceptações ou
escutas, publicar sua chave de ciframento, que
será impossível obter-se a sua correlata. Porém,
os métodos assimétricos podem exigir muito
tempo, mesmo com os recursos computacionais
disponíveis atualmente, para se codificar uma
mensagem de tamanho considerável, quando
comparado com o tempo gasto por um método
simétrico para se realizar a mesma tarefa. Então,
para se agilizar o processo sem perder a
segurança, usa-se um algoritmo simétrico para
cifrar a mensagem, e a chave secreta usada é,
por sua vez, cifrada com um método
assimétrico, usando-se a chave pública do
destinatário, que será o único, com sua chave
privada, capaz de decifrar a chave secreta e, com
esta, então, decifrar a mensagem.
Tudo isto pode parecer um tanto trabalhoso de
se fazer, mas com os recursos computacionais
disponíveis atualmente, todo o processo é feito
de modo automático e praticamente transparente
ao usuário, se ele assim o desejar.
II.3 – A Criptografia Computacional
O propósito da criptografia computacional é
dispor da grande velocidade de processamento
disponível aliada à facilidade em se implementar
os algoritmos criptográficos em linguagens de
programação, visando se obter um sistema
criptográfico viável de se computar e
praticamente inviável de se computar sua
inversa [1].
II.3.1 – Garantias da Criptografia
Computacional
As garantias que um bom sistema criptográfico
computacional deve dar, além da descrita no
item anterior, são [1]:
Sigilo de informações;
Integridade de informações;
Autenticação de usuário;
Autenticação de remetentes;
Autenticação de destinatários;
Autenticação de atualidade.
A primeira garantia diz que somente os usuários
autorizados possam ter acesso à informação, ou
que consigam torná-la inteligível. A segunda
oferece inalterabilidade da informação, seja ela
intencional ou acidental, mantendo-a sempre a
mesma. As quatro seguintes garantem,
respectivamente, a real identidade do usuário ao
sistema usado; que, de fato, um, e somente um
usuário emitiu aquela mensagem específica,
tendo inclusive validade como prova perante um
tribunal; que o destinatário de uma mensagem
especifica foi recebida por ele, e somente ele; e,
por fim, que a informação enviada naquele
momento não possa ser reenviada em outro
momento qualquer, impossibilitando que uma
versão antiga, interceptada por um agente
externo, seja usada para se obter informações
atuais do sistema [1].
Essas garantias são as bases de uma ICP.
II.3.2 – Tipos de Algoritmos Computacionais
A criptografia computacional simétrica nasceu
nos laboratórios da IBM na década de sessenta,
culminando em 1971 com o algoritmo chamado
LUCIFER, criado por Horst Feistel. Entre 1972
e 1974, baseado neste sistema, o pesquisador
Walter Tuchman, veterano da IBM e
especialista em teoria da informação, criou o
DES - Data Encryption Standart (Padrão de
Ciframento de Dados), padronizado pelos EUA
como sendo o algoritmo padrão, primeiro, para
uso pelos órgãos não governamentais e não
militares, em 1978, e depois pelo segmento
privado e instituições financeiras, em 1981 [8].
O sistema assimétrico nasceu da falha dos
métodos simétricos em garantir autenticação e
privacidade em redes de grande porte (WANs e
a Internet). Whitfield Diffie e Martin Hellman
debruçaram-se sobre este problema e, em 1976,
divulgaram seus conceitos sobre um método de
troca de mensagens cifradas sem que haja a
necessidade de se compartilhar as chaves [9].
Bastava se aproveitar da intratabilidade de certas
funções ou propriedades matemáticas. Assim,
em 1978, Ronald Rivest, Adi Shamir e Leonard
Adleman, na época professores do MIT –
Massachusetts Institute of Technology (Instituto
de Tecnologia de Massachustts),
implementaram um algoritmo chamado RSA (o
acrônimo é a inicial dos sobrenomes dos
inventores do algoritmo) baseado na
intratabilidade de se fatorar um produto muito
4
grande entre dois números primos também
muito grandes [1].
II.3.2.1 – O Algoritmo DES
O DES é um algoritmo simétrico feito para ser
implementado em hardware, e está restrito à
cifragem de dados não confidenciais. “O DES é
um ciframento composto que cifra blocos de 64
bits (8 caracteres) em blocos de 64 bits, usando
uma chave de 56 bits (64 bits, dos quais 8 de
paridade)” [1]. Basicamente, o processo de
cifragem do DES segue os seguintes passos
(Figura 2):
1. A mensagem é dividida em blocos de 64
bits, que serão cifrados individualmente.
2. Cada bloco sofre uma transposição inicial
TI, alterando a ordem dos bits segundo uma
tabela.
3. Cada bloco de 64 bits é dividido em blocos
de 32 bits cada, um esquerdo, LI, e outro
direito, RI.
4. A chave de 56 bits é usada para gerar 16
chaves de 48 bits cada (K1 até K16).
5. O bloco LI-1 sofre uma transformação T de
acordo com a primeira chave, K1, de 48 bits
e a metade RI-1. Este bloco não é alterado
nem o número original de 64 bits (Figura 3).
6. Os blocos de 32 bits são trocados de
posição (LI-1 → RI e RI-1 → LI).
7. O “novo” bloco esquerdo LI sofre uma
transformação pela segunda chave, K2.
8. Repetem-se os passos 6 e 7 até a 16.a
chave.
9. O bloco de 64 bits é reunido e sofre uma
transposição final TF, inversa à inicial.
10. Os passos de 1 a 9 são repetidos para cada
bloco de 64 bits da mensagem inteira, que é
reconstruída com todos os blocos cifrados.
O processo de cifragem é representado da forma
C = DES(K,M); onde C é a mensagem cifrada,
DES é o algoritmo aplicado, K é a chave usada e
M é a mensagem a ser criptografada.
O processo de decifragem, M = DES(K,C),
segue os mesmos passos da cifragem, somente
invertendo-se a ordem das chaves usadas em
cada um dos 16 estágios [1].
Figura 2 – Processo de Cifragem do DES [7].
Figura 3 – Transformação T e Inversão de
Blocos do DES [7].
O algoritmo diz que quaisquer pequenas
alterações na mensagem original provocam
grandes alterações na mensagem cifrada. Em 20
anos a criptoanálise não encontrou nenhum
método eficaz para se “quebrar” o DES além da
aplicação da “força bruta”, ou seja, tentar todas
as combinações possíveis de chaves. Como a
chave tem 56 bits, existem no máximo 256
(≈72.000.000.000.000.000) diferentes chaves
para serem testadas. Por isso a única maneira
eficiente de se implementar este algoritmo é por
hardware [10].
II.3.2.2 – O Algoritmo RSA
O RSA é um processo assimétrico que envolve a
escolha de dois números primos, multiplicá-los
e obter duas chaves, uma em função da outra
seguindo os seguintes passos:
1. Usa-se um algoritmo probabilístico para se
calcular dois números primos distintos p e
q, da ordem de 10100
cada um.
2. Calcula-se um número n = p⋅q e f(n) = (p-
1)⋅(q-1). Ambos da ordem de 10200
.
3. Gera-se um número inteiro c, ao acaso,
dentro do intervalo (1,f(n)) tal que
mdc(c,f(n)) = 1 e c < f(n). Ou seja, c e f(n)
são primos entre si.
4. Com a equação c⋅d⋅modf(n) = 1 no intervalo
[0,f(n)], determina-se o número d; sendo a
operação mod o resto de uma divisão.
5. Com isso, obtém-se a chave privada P =
(c,n) e a chave secreta S = (d,n).
Um usuário para cifrar uma mensagem usando a
chave P, quebra a mensagem em blocos de bits
de tamanho m no intervalo 0 ≤ m < n, e cifra
cada bloco m usando o procedimento de
exponenciação modular P(m) = mc
mod n. O
destinatário decifra a mensagem por meio da
S(P(m)) = md
mod n = m.
Convém notar, como dito em [1], que o RSA é
um sistema criptográfico comutativo, ou seja,
pode-se cifrar uma mensagem também com a
chave privada, e, conseqüentemente, decifrá-la
com a chave pública. É provado, também em
5
[1], que se a mensagem foi criptografada com
uma das chaves, só é possível decifrá-la com a
outra chave. Isso torna o RSA capaz de prover
assinaturas digitais e trocas de chaves entre
usuários.
Atualmente, o RSA é a base do sistema PGP –
Pretty Good Privacy (Privacidade Satisfatória),
sistema não estruturado de troca de chaves
públicas, que também usa a lógica do sistema
IDEA (vide adiante) para embaralhar os bits da
mensagem. O algoritmo também suporta o
Kerberos, uma aplicação que permite a
autenticação de duas pessoas frente a um
servidor de autenticação específico. Vários
fornecedores como a IBM, NEC, HP e Sun,
visam a implantação do sistema em seus
Sistemas Operacionais UNIX [11].
II.3.2.3 – Outros Algoritmos
Muitos dos métodos descritos foram
implementados seguindo as filosofias do DES e
do RSA.
Os RC2, RC4, RC5 e RC6 – Rivest Cipher
são notoriamente mais rápidos que o DES, e
os dois últimos permitem uma chave de
tamanho variável (sendo muito seguro),
enquanto os outros possuem uma chave de
somente 40 bits (facilmente quebrável por
força bruta) [12] [10].
O Triplo DES é o mesmo algoritmo DES
aplicado três vezes segundo a equação C =
DES{K1,DES-1
[K2,(K1,M)]}, onde DES-1
representa o algoritmo inverso (decifragem)
e K1 e K2 são duas chaves secretas distintas.
O 3DES é usado atualmente no lugar do
DES comum [10].
O IDEA – International Data Encryption
Algorithm (Algoritmo de Cifragem de
Dados Internacional) embaralha blocos de
64 bits com uma chave de 128 bits. É um
algoritmo simétrico projetado para ser fácil
de ser programado e é forte o suficiente para
resistir à maioria dos ataques
criptoanalíticos [12].
O algoritmo Diffie-Hellman é baseado na
dificuldade em se calcular logaritmos
discretos em um plano finito. Foi o primeiro
algoritmo implementado para troca de
chaves, e é usado unicamente para isso. É o
método base para o RSA [1].
O algoritmo DSA – Digital Signature
Algorithm (Algoritmo para Assinatura
Digital), desenvolvido pela NSA dos
Estados Unidos, é utilizado somente para a
implementação da assinatura digital. A
força desse algoritmo está na dificuldade de
se calcular logaritmos discretos [13].
O El Gammal é um algoritmo parecido com
o RSA, porém utiliza a aritmética dos
módulos além do cálculo de logaritmos
discretos para criptografar os dados. Assim
como o RSA, o El Gammal é um dos
poucos métodos que permite a cifragem de
dados e também a assinatura digital [7].
Recentemente foi especificado o novo
algoritmo simétrico, chamado Rijndael,
(Vincent Rijmen e Joan Daemen) para ser
usado pelo governo dos EUA para proteger
informações restritas. O FIPS – Federal
Information Processing Standard (Padrão
de Processamento de Informação Federal)
aprovou o AES – Advanced Encryption
Standard (Padrão de Criptografia
Avançado), que determinou a adoção desse
novo padrão. O Rijndael trabalha com
tamanhos de chaves de 128, 192 e 256 bits,
criptografando blocos de mesmo tamanho,
sendo possível usar todas as nove
combinações, e se estender facilmente esses
números para múltiplos de 32 bits. O código
do algoritmo é bem enxuto e não depende
de números aleatórios ou constantes
matemáticas, como o número pi, por isso o
Rijndael possui alto nível de segurança e é
facilmente implementado em equipamentos
que utilizam pouca RAM [14].
II.3.2.4 – Um Pouco de Polêmica
Apesar de alguns desses algoritmos serem
notoriamente mais seguros que o DES e o RSA,
ambos são os algoritmos mais difundidos para o
uso geral. Só o fato de terem sido adotados
como padrões nos EUA já é um indicativo de
suas “popularidades”. Os dois algoritmos são
também famosos, em parte, devido as diversas
polêmicas em que estiveram, e estão envolvidos.
O primeiro é duramente criticado pela
comunidade acadêmica porque foi supostamente
alterado pela NSA – National Security Agency
(Agência de Segurança Nacional) dos EUA,
durante a sua implementação técnica na IBM,
para conter uma “porta dos fundos” (do inglês
back-door), que permitiria livre acesso à agência
ao conteúdo da mensagem, e a redução do
número de bits da chave de 128 bits, usado no
LUCIFER, para os 56 bits, padrão no DES. Isso
gerou um certo repúdio das entidades privadas
quanto ao quesito privacidade. Além disso, o
algoritmo possui a fraqueza de ter uma chave
com dimensão muito pequena para os dias de
hoje (em julho de 1998, um hardware, custando
U$250.000,00 foi apresentado pela EFF –
Eletronic Frontier Foundation, que realizava o
trabalho de quebrar o DES em pouco mais de 3
horas usando a “força bruta”), e o seu aumento é
inviável, pois o tamanho da chave faz parte do
6
projeto. O método de criptoanálise diferencial,
revelado há pouco tempo, reduz as chaves para
247
. Com outro método, chamado criptoanálise
linear esse número cai para 243
[10] [15] [16].
O RSA possui o inconveniente de ser fundado
em uma propriedade matemática: a dificuldade
em se fatorar números primos grandes; e, a
qualquer momento alguém pode descobrir uma
maneira mais simples de se resolver esse
problema. Por enquanto a única maneira de se
fazer isso é por “força bruta”. O pior é que, logo
na sua invenção, em 1977, os criadores do RSA,
Rivest, Shamir e Adleman, propuseram um
desafio de quebrar uma mensagem codificada
com uma chave pública de 129 bits, e afirmaram
que poderia ficar oculta por décadas. Essa tarefa
ficou conhecida como a tarefa RSA129. No ano
de 1993, milhares de pessoas usando máquinas
poderosas trocaram dados e testes através da
Internet, e, em 1994, em menos de um ano de
tentativa, quebraram a famosa chave.
Então, parece fácil admitir que agora essa
sempre será uma tarefa fácil, mas deve-se
atentar que a quebra da chave só foi possível
com o auxílio de supercomputadores, e poucas
pessoas no mundo têm acesso a eles (Figura 4).
Ademais, um ano é tempo suficiente para que
qualquer informação contida nas mensagens que
utilizam uma chave desse tamanho perca sua
validade.
Figura 4 – Tempo para se Quebrar Diversos
Tamanhos de Chaves Usando Força Bruta por
Diversas Entidades [17].
II.3.3 – Assinatura Digital
O ponto mais importante dos métodos
assimétricos é a corroboração imediata das seis
garantias da criptografia computacional. Isso
pode ser feito por meio da assinatura digital de
duas maneiras: usando a chave privada ou a
função Hash.
A assinatura digital é muito usada por empresas
que disponibilizam instalações de softwares,
atualizações, plug-ins, etc. Sempre que aparece
na tela do computador uma janela pedindo
autorização para se confiar em tal produto de tal
empresa, está-se fazendo uso da assinatura
digital. Se for aceita a assinatura, o navegador
automaticamente armazena a chave pública da
empresa, para facilitar o processo em caso de
futuras instalações.
Para assinar usando sua chave privada, o usuário
Remetente a utiliza para cifrar uma mensagem e
a envia ao usuário Destinatário. Este recebe a
mensagem cifrada e acessando a chave pública
daquele, comprova que não há como outro
usuário ter mandado aquela mensagem, somente
ele.
Deve-se notar, porém, que a assinatura não
garante o sigilo da informação, pois qualquer
um que interceptar a mensagem e usar a chave
pública do Remetente para decifrá-la terá acesso
ao seu conteúdo. Então, para se garantir o sigilo
da informação, garantindo também a
autenticação de destinatário, o Remetente, após
cifrar a mensagem com sua chave privada, usa a
chave pública do Destinatário para cifrar tudo de
novo. Assim, somente o Destinatário será capaz
de decifrar, primeiro com a sua chave privada, a
mensagem duplamente cifrada, e logo em
seguida usa a chave pública do Remetente para
decifrar a mensagem pela segunda vez.
II.3.4 – A Função Hash
A assinatura digital por chave privada é um
processo muito demorado e pode-se criar uma
mensagem, no mínimo, com o dobro do
tamanho original. A solução encontrada é usar
um processo, chamado a função Hash (do
inglês, confundir ou moer), que identifique
aquela mensagem de modo único, assegurando
que não haverá dois textos diferentes com a
mesma identidade, chamada message digest
(mensagem compilada). O message digest é a
essência da mensagem original. Mesmo se
mudar uma só palavra desta, a função Hash
produzirá outro messagem digest completamente
diferente do anterior.
Então, para assinaturas digitais mais eficientes
combina-se a assinatura digital por chaves
privadas com a função Hash, da seguinte
maneira (Figura 5): passa-se a mensagem por
uma função Hash, obtendo-se seu message
digest. Este é cifrado com a chave privada do
Remetente e com a chave pública do
Destinatário. O message digest cifrado é
anexado à mensagem e ambos são enviados. O
Destinatário segue o roteiro inverso para
decifrar o message digest, passa a função Hash
pela mensagem e obtém um message digest que
é comparado ao recebido. Se forem idênticos,
está garantida a integridade da informação.
Contudo, apesar da praticidade, esse método não
garante o sigilo da informação, pois não houve
qualquer tipo de ciframento da mensagem.
Os algoritmos de Hash mais comuns são:
O MD5 – Message Digest 5 foi criado por
Ron Rivest e produz um valor de hash de
128 bits. Esse algoritmo é otimizado para
processadores Intel, mas ultimamente seu
7
uso vem caindo, pois algumas partes do seu
algoritmo foram comprometidas [15].
O SHA-1 – Secure Hash Algoritm-1 foi
criado pela NSA. Ele produz um valor de
Hash de 160 bits. O SHA-1 se tornou
bastante popular e hoje é utilizado para criar
assinaturas digitais [15].
Figura 5 – Geração (a) e Verificação (b) de
Assinatura Digital [18].
III. A INFRA-ESTRUTURA DE CHAVE
PÚBLICA
Uma ICP garante a tecnologia necessária para se
adotar uma política adequada ao armazenamento
das chaves públicas. Ela também estabelece as
formas de certificação e autenticação das
chaves.
A IETF designou um grupo de trabalho, o PKIK
working group (Grupo de Trabalho ICP), para
avaliar as técnicas, protocolos, políticas de
trabalho, arquiteturas, perfis de documentos,
gerenciamento, etc. que forem apresentadas ao
grupo; que também decide quais serão os
padrões adotados que promoverão a
interoperabilidade das diversas ICPs já
instaladas.
Uma ICP pode ser hierárquica, que prevê uma
Autoridade Certificadora Raiz – AC Raiz, ou
distribuída, com Autoridades Certificadoras em
Ponte. Esta arquitetura realiza o credenciamento
par-a-par, cujo contrato de certificação é
cruzado, sendo verificadas as políticas de
certificados e práticas operacionais baseados em
políticas de mapeamento. Na arquitetura
hierárquica, cada ambiente dita suas políticas e
práticas por meio das DROs – Declaração de
Regras Operacionais, e cada contrato de adesão
é avaliado e validado conforme ao processo de
credenciamento a que está subordinado [19].
Esta é a arquitetura adotada pela ICP-Brasil
(Figura 6).
III.1 – Distribuição de Chaves Públicas
O ponto fraco da criptografia assimétrica é a
distribuição das chaves públicas. Quando dois
usuários decidem trocar mensagens secretas eles
devem concordar em usar uma chave especifica
para aquela conversa, denominada chave de
sessão. O problema é transmitir essa chave por
um meio não confiável. Para se garantir tal troca
deve-se assegurar que um terceiro usuário, de
confiança de ambas as partes, sirva de árbitro e
garanta a autenticidade das chaves usadas.
Figura 6 – Estrutura de uma ICP [20].
III.2 – A Autoridade Certificadora Raiz
É a primeira entidade em uma cadeia de
certificação. É ela quem distribui os certificados
para todas as outras ACs da estrutura. Para isso
ela mesma assina o seu certificado. A AC Raiz
não pode emitir certificados diretamente ao
usuário, responsabilidade essa dada às ACs
comuns.
III.3 – A Autoridade Certificadora
Uma Autoridade Certificadora – AC é a
entidade designada para desempenhar o papel de
árbitro durante a troca de mensagens entre
usuários, fornecendo, certificando e validando
as chaves usadas, segundo a DRO vigente.
Um usuário que desejar criar um par de chaves
pode fazê-lo direto em uma AC. Durante o
processo, esta cria um Certificado Digital
padrão, de acordo com a norma adotada, que
ateste sua legitimidade e unicidade, sempre que
outro usuário precisar verificar a autenticidade
da chave.
III.4 – A Autoridade de Registro
Para se evitar que uma AC fique sobrecarregada
com todas as verificações que forem
requisitadas a ela, foram criadas as Autoridades
de Registro – ARs. Estas dão suporte às ACs
para que possam dispor de tempo para gerar
certificados.
Deve-se notar que uma AR nunca estará
autorizada a criar um certificado. Seu único
papel é o de verificar as informações pertinentes
aos certificados já criados. Ela é a última
entidade possível da cadeia antes do usuário.
III.5 – Certificados Digitais
Um Certificado Digital é a identidade digital de
um par de chaves criado frente a uma AC
qualquer. Ele armazena todas as informações
pertinentes ao dono do par de chaves e a esta em
questão. Quando criado, o certificado é assinado
8
digitalmente com a chave privada da AC,
evitando-se qualquer possibilidade de
falsificação, ou alteração, acidental ou não, do
mesmo. Todo certificado digital possui uma data
de validade, então, de tempos em tempos a AC
cria uma Lista de Certificados Revogados –
LCR, que fica disponível para consultas.
O padrão digital para os certificados digitais
adotados pela International Telecomunication
Union – ITU-T (União de Telecomunicação
Internacional) é o X.509 v3 (o “v3” indica que
essa é a terceira versão do certificado). O PKIK
working group se encarregou de criar padrões
suportáveis pela Internet, facilitando a
comunicação entre diferentes ICPs. Atualmente,
o X.509 já está amplamente difundido na
Internet. Muitas lojas eletrônicas somente
realizam uma transação, mediante o certificado
padrão X.509 autenticado por uma AC.
Contudo, o que ocorre é um padrão comum
difundido para certificados digitais, mas não há
um consenso global para gerenciá-los. As
grandes empresas da Internet simplesmente
forçam o seu produto como padrão para
interoperabilidade, esquecendo-se que o maior
recurso de uma ICP é a sua integração com
diversas espécies de aplicações. Se uma ICP
perder essa interoperabilidade, perde totalmente
sua utilidade [2].
Um fato curioso no uso da certificação digital,
por meio da assinatura digital, é a sua
similaridade com a estrutura de autenticação de
cartório, usado no sistema legal do Brasil. Os
cartórios no caso da ICP seriam as ACs e ARs.
IV. A INFRA-ESTRUTURA DE CHAVE
PÚBLICA BRASIL
Prevista como um meio confiável de trocas de
documentos sigilosos através da Internet entre as
entidades governamentais brasileiras, a ICP-Gov
[21] ganhou âmbito público depois que as
empresas brasileiras exigiram o uso de tal
recurso para tornar seguras suas transações via
Internet. Revisto o projeto, a ICP-Gov passou a
ser chamada de ICP-Brasil (Figura 7) [5].
Figura 7 – Logotipo da ICP-Brasil [22].
A ICP-Brasil segue as características de uma
ICP hierárquica, possuindo uma AC Raiz,
diversas entidades credenciadas como AC, e
outras como AR e prestadoras de serviços
(Figuras 8, 9 e 10).
IV.1 – O CG ICP-Brasil
Instaurado pela MP 2.200 e definido pelo
decreto 3.872 [24], o CG, como já foi dito, é a
entidade máxima na estrutura da ICP Brasil, e
exerce a função de Autoridade Gestora de
Políticas – AGP da ICP (Art. 1°).
Ficou disposto pelo decreto 3.872, a composição
do CG, as medidas, políticas, critérios e as
normas para implantação e funcionamento da
ICP-Brasil, e licenciamento das ACs, ARs e das
demais prestadores de serviços de suporte à ICP,
em todos os níveis da cadeia de certificação.
IV.2 – A AC Raiz da ICP-Brasil
“O ITI – Instituto Nacional de Tecnologia da
Informação, Autarquia Federal vinculada à Casa
Civil da Presidência da República, é a
Autoridade Certificadora Raiz da ICP-Brasil”
[23]. O ITI ganhou o status de AC Raiz da ICP-
Brasil pela MP 2.200.
O ITI segue os padrões, técnicas e políticas
definidas na DRO da AC Raiz [25], que entre
outras coisas define que o certificado desta
entidade utilizará o RSA com o SHA-1 como
algoritmos de assinatura digital. Diz também
que o próprio certificado não deverá ter validade
superior a dez anos nem inferior a oito anos.
Figura 8 – Estrutura Hierárquica da ICP-Brasil em 26/11/2002. (As ACs em amarelo são as entidades já
credenciadas. As ACs em verde estão em processo de credenciamento) [23].
9
Figura 9 – Entidades Credenciadas da ICP-Brasil [23].
Figura 10 – Entidades em Processo de Credenciamento da ICP-Brasil [23].
Todos os certificados emitidos pela AC Raiz
devem estar em conformidade com o padrão
ISO/IEC 9594 X.509 v3, tendo os seguintes
campos:
Versão;
Emissor;
Validade;
Assinatura Digital da AC, segundo o
algoritmo vigente;
Usuário;
Chave pública do usuário;
Número Serial, único em cada AC.
São definidos os serviços oferecidos pela AC
Raiz: a Política de Revogação de Certificados,
os acordos para certificação cruzada com ICPs
de outros países, a segurança dos dados
armazenados (chaves, certificados, LCR) e a:
IV.3 – Política de Certificado da ICP-Brasil
A PC da ICP-Brasil estabelece as regras
específicas à aplicabilidade dos certificados
conforme os requisitos de segurança ditados
pela Política de Segurança da própria ICP [26].
Para tanto, foram estabelecidos quatro níveis de
segurança relacionados com assinatura digital
(A) e quatro com sigilo (S), que classificam os
certificados em (Figura 11).
Figura 11 – Tabela dos Tipos de Certificados da
ICP-Brasil [27].
V. CONCLUSÃO
Uma ICP é vital para o uso da criptografia
assimétrica e da certificação digital. Mas, apesar
de todo seu aspecto técnico, muito se discute
acerca da aplicabilidade legal dada à ICP-Brasil.
Sendo toda ela basicamente calcada na ICP dos
EUA, a crítica recai sobre a nossa dependência
em relação a uma tecnologia que exige uma base
legal bem fundada e específica ao âmbito
jurídico em que é estabelecida.
Enquanto o modelo europeu dá margem legal
para certificados não cadastrados frente a uma
entidade oficial, o modelo brasileiro, decalcado
do modelo dos EUA, força uma ditadura
disfarçada de “tecnologia a serviço de todos”.
Os certificados eletrônicos declarados ilegais
pela MP 2.200 (Art. 12.°) paradoxalmente têm
valor garantido pelo Código Civil desde 1917
10
(Art. 129.°) [28] e são derrubados em seus
artigos 5.°, 11.° e 12.° [28], mudados para
satisfazer a MP 2.200.
Outro fato discutível é que apesar das empresas
brasileiras estarem despertando para a
certificação digital e a criptografia de chave
pública para a proteção de seus dados, visando o
crescimento via Internet, elas devem atentar
para o fato de que as grandes empresas
detentoras de tais recursos são dos EUA.
E lá as empresas seguem as normas de
segurança da NSA, que não permite que os
sistemas criptográficos lá registrados sejam
exportados se a chave ultrapassa 40 bits. Sem
contar os rumores de que todo padrão adotado
por lá possui uma porta-dos-fundos para que a
NSA vasculhe os documentos alheios sob a
égide de sua segurança nacional.
Então, seria uma prática salutar que as empresas
brasileiras busquem os recursos necessários aqui
mesmo, visto que somos fonte exportadora de
bons sistemas criptográficos, e que os mesmos
são adequados às nossas necessidades.
Para a ICP internacional, fica a espera da
resolução dos problemas relacionados a padrões
e interoperabilidade de aplicações, e,
conseqüente, possibilidade de gerenciamento
global de certificados digitais.
Mas, a despeito de todo esse falatório, fica a
certeza de que não há um sistema criptográfico
que garanta privacidade ideal. O ideal é aliar a
criptografia com todos os outros métodos que se
conhece para, ao menos, prevenir que os ataques
recebidos não causem tanto estrago.
A criptografia sempre foi uma das melhores
estratégias de ocultação de dados, porém não
deve ser a única. Um usuário mal-intencionado
pode muito bem, como vingança por não ter
acesso aos dados alheios, apagá-los, interceptar
e impedir seu envio, comprometer o programa
criptográfico, alterando-o para trocar ou
armazenar as chaves geradas, ou para
simplesmente gerar chaves diferentes daquelas
previstas pelo dono do programa, mas de acordo
com a vontade do invasor [29].
VI. AGRADECIMENTOS
Ao professor Maurílio por sua paciência em
aceitar o encargo de me orientar. Também
agradeço a liberdade e incentivo para que o
trabalho tivesse o meu jeito.
Muito obrigado à Marilena por seu eterno bom
humor e disponibilidade.
E, por último, mas não menos importante,
agradeço à Aline por entender que um dia isso
terá um fim.
VII. REFERÊNCIAS
[1] Lucchesi, Cláudio Leonardo, Introdução à
criptografia computacional, Editora da
UNICAMP, 1986.
[2] SecureNet, Zaninoti, Thiago, Entendendo a
Infra-estrutura de Chaves Públicas, artigo
publicado em 06/01/2001, disponível em:
www.securenet.com.br/artigo.php?artigo=90
, acessado em 30/10/2002.
[3] Página da Internet, The IEEE P1363 Home
Page Standard Specification for Public-Key
Cryptography, disponível em
http://grouper.ieee.org/groups/1363/,
acessado em 16/11/2002.
[4] IETF – Internet X.509 Public Key
Infrastructure, disponível em www.ietf.org/,
acessado em 16/11/2002.
[5] Medida Provisória 2.200, de 18 de junho de
2001, disponível em www.icpbrasil.gov.br/,
acessado em 17/04/2002.
[6] Termo de Referência do CG ICP-Brasil,
disponível em
www.planalto.gov.br/ccivil_03/consulta_pub
lica/PDF/termodereferencia.pdf, acessado
em 11/03/2002.
[7] Weber, R. F., Criptografia Contemporânea,
Instituto de Informática – UFRGS, Porto
Alegre – RS, disponível em
www.inf.ufsc.br/~castoldi/_Criptografia.pdf,
acessado em 17/11/2002.
[8] Redes de Computadores e suas Aplicações
na Educação, DES – Data Encrypt Standard,
disponível em
http://penta.ufrgs.br/gere96/segur2/des.htm,
acessado em 30/10/2002.
[9] Certising, AJUDA – Introdução à
Criptografia disponível em
https://digitalid.certisign.com.br/server/serve
r/help/hlpIntroCryp.htm, acessado em
30/10/2002.
[10] Criptografia, disponível em
www.dei.isep.ipp.pt/~andre/documentos/crip
tografia.html, acessado em 27/01/2001.
[11] Redes de Computadores e suas Aplicações
na Educação, RSA, disponível em
http://penta.ufrgs.br/gere96/segur2/rsa.htm,
acessado em 13/11/2001.
[12] UNICAMP, Equipe de Segurança em
Sistemas e Redes - Documentos - Conceitos
Básicos, disponível em
www.security.unicamp.br/docs/conceitos/o3.
html, acessado em 30/10/2002.
[13] FUTURE TECNOLOGIES, Stohler, Paulo,
página da Internet, Criptografia: Conceitos
Básicos – Primeira Parte, publicado em
25/02/2002, disponível em
www.fti.com.br/n_jornal/artigo_paulo_cripto
01.htm, acessado em 30/10/2001.
[14] FUTURE TECNOLOGIES, Stohler, Paulo,
página da Internet, Criptografia: Conceitos
11
Básicos – Segunda Parte, publicado em
25/02/2002, disponível em
www.fti.com.br/n_jornal/artigo_paulo_cripto
01.htm, acessado em 30/10/2001.
[15] Revista do Linux, Introdução à
Criptografia, disponível em
www.revistadolinux.com.br/ed/005/criptogra
fia.php3, acessado em 30/10/2002.
[16] Domingos, Henrique J. L., artigo,
Segurança em Sistemas Informáticos
Distribuídos, Departamento de Informática,
Faculdade de Ciências e Tecnologia,
Universidade Nova de Lisboa, disponível em
www.asc.di.fct.unl.pt/ssid/docs/acetatos/ssid
-mei-01-02-4.pdf, acessado em 02/12/2002.
[17] CÂMARA DE COMÉRCIO FRANÇA-
BRASIL, Palestra sobre Criptografia:
Conceito e Uso, disponível em
www.ccfb.com.br/eventos/cmss_int_sp.asp,
acessado em 27/11/2002.
[18] Linhalis, Flávia, Moreira, Dilvan de A.,
artigo, Interface de Segurança para
Servidores de Dados Universais, disponível
em
http://java.icmc.sc.usp.br/dilvan/papers/2001
-SSI/siuds01.pdf, acessado em 17/11/2002.
[19] Machado, Pedro Paulo Lemos, ICP-Gov -
Infra-estrutura de Chaves públicas do Poder
Executivo Federal, via correio eletrônico em
26/07/2002.
[20] Santos, André A. J. dos, Santos, Igor Lucas
C. dos, Borges, Leonardo M., Vieira Thaís
Ruas, Seminário de Comércio Eletrônico
ICP Brasil, disponível em
http://prometeu.speed.dcc.ufmg.br/~nolineon
line/seminario-icp.ppt, acessado em
17/11/2002.
[21] Decreto 3.587, de 05 de Setembro de 2000,
disponível em www.icpbrasil.gov.br,
acessado em 17/04/2002.
[22] ICP Brasil, disponível em
www.icpbrasil.gov.br, acessado em
27/07/2002.
[23] ITI – Instituto Nacional da Tecnologia da
Informação – Autoridade Certificadora Raiz
da ICP-Brasil, publicado em 26/11/2002,
disponível em www.iti.gov.br, acessado em
02/12/2002.
[24] Decreto 3.872, de 18 de Julho de 2001,
disponível em www.icpbrasil.gov.br,
acessado em 17/04/2002.
[25] Parte II-1 – Declaração de Regras
Operacionais da AC-Raiz, INTEGRANTE
DA ICP-Brasil, disponível em
www.iti.gov.br, acessado em 05/04/2002.
[26] Parte III – Política de Segurança da ICP-
Brasil, publicado em 19/06/2001, disponível
em www.icpbrasil.gov.br, acessado em
05/04/2002.
[27] Parte I-1 – Políticas de Certificado da ICP-
Brasil, Assinatura Digital Nível 1 ao 4,
Sigilo Nível 1 ao 4, disponíveis em
www.icpbrasil.gov.br, acessados em
05/04/2002.
[28] Marcacini, Augusto, artigos diversos,
disponíveis em
http://augustomarcacini.cjb.net/dirinfo.html,
acessado em 30/10/2002.
[29] VERDADE ABSOLUTA, O que a
criptografia não protege, disponível em
http://www.absoluta.org/cripty/cripty_dont_
do.htm, acessado em 14/02/2002.
BIOGRAFIA:
Samuel Sangio Canuto Teixeira
Nasceu em Guaratinguetá-SP em
21 de Novembro de 1976.
Mudou-se para Salvador em
1985, onde adquiriu seu diploma
de Técnico em Eletrônica em
1993. Ingressou na EFEI em Agosto de 1995,
onde graduar-se-á Engenheiro Eletricista em
Janeiro de 2003. Estagiou no Laboratório de
Telecomunicações - ALCATEL/UNIFEI do
Grupo de Telecomunicações da Universidade
Federal de Itajubá – UNIFEI de Setembro a
Dezembro de 2002.

Mais conteúdo relacionado

Mais procurados

Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informaçãoalex_it
 
Introdução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosIntrodução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosFábio dos Reis
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Criptografia e certificação digital
Criptografia e certificação digitalCriptografia e certificação digital
Criptografia e certificação digitalJuarez Junior
 
Apresentação chat seguro
Apresentação chat seguroApresentação chat seguro
Apresentação chat seguromanofabio
 
Criptografia: matemática e lógica computacional protegendo informações
Criptografia: matemática e lógica computacional protegendo informaçõesCriptografia: matemática e lógica computacional protegendo informações
Criptografia: matemática e lógica computacional protegendo informaçõesAlex Camargo
 
Tema 09
Tema 09Tema 09
Tema 09Google
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCícero Bruno
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografiaHélio Martins
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmosdigobfpc
 
Segurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - CriptografiaSegurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - CriptografiaMinistério Público da Paraíba
 
Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1VicenteTino
 

Mais procurados (20)

Criptografia Aplicada
Criptografia AplicadaCriptografia Aplicada
Criptografia Aplicada
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Owasp recife 2012
Owasp recife 2012Owasp recife 2012
Owasp recife 2012
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Introdução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosIntrodução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson Treinamentos
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Criptografia e certificação digital
Criptografia e certificação digitalCriptografia e certificação digital
Criptografia e certificação digital
 
Apresentação chat seguro
Apresentação chat seguroApresentação chat seguro
Apresentação chat seguro
 
Criptografia: matemática e lógica computacional protegendo informações
Criptografia: matemática e lógica computacional protegendo informaçõesCriptografia: matemática e lógica computacional protegendo informações
Criptografia: matemática e lógica computacional protegendo informações
 
Tema 09
Tema 09Tema 09
Tema 09
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
Seminário de SD - criptografia
Seminário de SD - criptografiaSeminário de SD - criptografia
Seminário de SD - criptografia
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
Criptografia simétrica
Criptografia simétricaCriptografia simétrica
Criptografia simétrica
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Segurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - CriptografiaSegurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - Criptografia
 
Inf seg redinf_semana6
Inf seg redinf_semana6Inf seg redinf_semana6
Inf seg redinf_semana6
 
Aula 4 semana
Aula 4 semanaAula 4 semana
Aula 4 semana
 
Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1
 

Semelhante a Trabalho de Diploma - Chaves Públicas - SSCT

126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2Marco Guimarães
 
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdfTECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdfssusere0b5a8
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosRaphael Queiroz
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
criptografia de chaves assimetricas
criptografia de chaves assimetricascriptografia de chaves assimetricas
criptografia de chaves assimetricasSuh Valentim
 
Criptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasCriptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasSuh Valentim
 
Pim 2 semestre_v51
Pim 2 semestre_v51Pim 2 semestre_v51
Pim 2 semestre_v51Suh Valentim
 
Criptografia em hardware emicro se - nov 15 2012
Criptografia em hardware   emicro se - nov 15 2012Criptografia em hardware   emicro se - nov 15 2012
Criptografia em hardware emicro se - nov 15 2012Edward David Moreno
 
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosApresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosSanger Dias
 
APLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAPLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAlcindoAntnio
 
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESMateus Cardoso
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídosGeomar Matias Lima
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMPMauro Tapajós
 
Quest cripto chave_lj
Quest cripto chave_ljQuest cripto chave_lj
Quest cripto chave_ljCarol Luz
 

Semelhante a Trabalho de Diploma - Chaves Públicas - SSCT (20)

126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2
 
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.pptCriptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
 
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdfTECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores Instantâneos
 
Inf seg redinf_semana5
Inf seg redinf_semana5Inf seg redinf_semana5
Inf seg redinf_semana5
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
criptografia de chaves assimetricas
criptografia de chaves assimetricascriptografia de chaves assimetricas
criptografia de chaves assimetricas
 
Criptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasCriptografia de Chaves Assimetricas
Criptografia de Chaves Assimetricas
 
Pim 2 semestre_v51
Pim 2 semestre_v51Pim 2 semestre_v51
Pim 2 semestre_v51
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptografia em hardware emicro se - nov 15 2012
Criptografia em hardware   emicro se - nov 15 2012Criptografia em hardware   emicro se - nov 15 2012
Criptografia em hardware emicro se - nov 15 2012
 
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosApresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
 
Apoio
ApoioApoio
Apoio
 
APLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAPLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptx
 
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
Intranet e extranet
Intranet e extranetIntranet e extranet
Intranet e extranet
 
Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMP
 
Quest cripto chave_lj
Quest cripto chave_ljQuest cripto chave_lj
Quest cripto chave_lj
 

Trabalho de Diploma - Chaves Públicas - SSCT

  • 1. 1 CRIPTOGRAFIA E INFRA-ESTRUTURA DE CHAVES PÚBLICAS Samuel Sangio Canuto Teixeira Orientador: Prof. Maurílio Coutinho Departamento de Eletrônica (DON) Resumo – O objetivo deste trabalho é o de levantar os aspectos de uma ICP e, em específico, da ICP-Brasil; observando-se suas leis, decretos, resoluções, que determinaram suas evolução e atual condição operacional. Antes, porém, será feita uma explanação acerca da criptografia, seus algoritmos e os dois tipos de chaves usadas, mostrando suas diferenças e aplicabilidades. Palavras-Chave: Criptografia, Chave Pública, Infra-Estrutura de Chave Pública, ICP-Brasil, Certificação Digital, Autoridade Certificadora, Autoridade de Registro. I. INTRODUÇÃO A segurança em uma Rede de Computadores, independente do seu tamanho, deve ser proporcional ao valor das informações que por ela transitam. Então, é importante garantir um meio de transmissão seguro, confiável e específico à necessidade. Além disso, deve-se também proteger os dados transmitidos de possíveis invasões aos sistemas, impedindo que àqueles fiquem à mercê de ações inescrupulosas. Para tanto, usa-se a criptografia, que, mesmo antes do advento das redes computacionais, é uma ferramenta útil para a proteção de dados sensíveis a olhos curiosos [1]. I.1 – Um Pouco de História Há milhares de anos a criptografia tem sido usada para fins militares e diplomáticos. Nos dias de hoje, a Internet exige que as transações comerciais requeiram privacidade e integridade aos seus 327 bilhões de dólares movimentados em transações comerciais em 2002 [2]. Seu uso nos princípios da comunicação foi amplamente estudado por Claude Shannon nos anos 40 e 50; e, até meados da década de 70, os algoritmos de ciframento eram baseados em transposições, substituições e a combinação de ambas; dispondo de uma única chave para cifrar e decifrar a mensagem, chamada chave secreta. Atualmente, a criptografia computacional ainda utiliza esses tipos de ciframento, porém, em 1976, os pesquisadores da Universidade de Stanford, Whitfield Diffie e Martin Hellman, desenvolveram um novo sistema criptográfico (sistema criptográfico assimétrico) baseado em operações e funções matemáticas que utiliza duas chaves distintas: uma para cifrar e outra para decifrar a mensagem; sendo, em termos práticos, impossível, senão muito difícil, obter uma a partir da outra [1]. Surgia aí o conceito de chaves públicas e chaves privadas. Além da mudança conceitual, tal método abriu novos horizontes para as garantias que um sistema criptográfico pode oferecer (discutidas adiante), viabilizando assim, uma transmissão de dados praticamente infalível às invasões. Basta que o usuário crie o seu par de chaves, guarde para si a chave de deciframento, e torne pública a sua chave de ciframento. Porém, esse é um ponto delicado desse sistema: o fato da chave de ciframento ser pública requer que alguém fique com essas chaves e as administre de forma confiável, segura e, principalmente, desinteressada quanto aos motivos de quem as usa. Então, foram criadas regras para que uma entidade ganhe o direito de administrar as chaves, passando a ser uma Autoridade Certificadora – AC ou uma Autoridade de Registro – AR, e toda uma infra-estrutura, a chamada Infra-estrutura de Chave Pública – ICP foi projetada para se garantir a emissão de chaves e os certificados que lhes dão validade e autenticidade [2]. I.2 – Situação da ICP no Mundo e no Brasil A ICP (PKI – Public Key Infrastructure) foi estabelecida pela IEEE P1363 [3] e ANAIS DOS TRABALHOS DE DIPLOMA – DEZEMBRO/2002 INSTITUTO DE ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DE ITAJUBÁ
  • 2. 2 implementada pela IETF – Internet Engineering Task Force (Força Tarefa de Engenharia da Internet) por meio da IETF – Internet X.509 Public Key Infrastructure [4]. Para a IETF a ICP é um conjunto de serviços de segurança capaz de proporcionar o uso e o gerenciamento da criptografia de chave pública, assim como os certificados digitais, incluindo o gerenciamento de chave e sua política de uso. No Brasil, foi instaurada recentemente uma ICP, denominada Infra-estrutura de Chaves Públicas-Brasil – ICP-Brasil seguindo a Medida Provisória 2.200 de 18 de junho de 2001 [5]. Esta MP determinou a criação de um Comitê Gestor da ICP-Brasil – CG-ICP Brasil. O CG é “a entidade máxima responsável pelo estabelecimento e administração das políticas a serem seguidas pelas ACs integrantes desta estrutura” [6]. A ICP-Brasil vem atender à necessidade das organizações governamentais e privadas brasileiras em dar suporte técnico e legal aos documentos criados e transmitidos eletronicamente. I.3 – Objetivos deste trabalho O objetivo deste trabalho é o de levantar os aspectos de uma ICP e, em específico, da ICP- Brasil; observando-se suas leis, decretos, resoluções, que determinaram suas evolução e atual condição operacional. Antes, porém, será feita uma explanação acerca da criptografia, seus algoritmos e os dois tipos de chaves usadas, mostrando suas diferenças e aplicabilidades. II. A CRIPTOGRAFIA A criptografia, do grego kryptós (oculto) e grápho (escrita), ou escrita oculta, é a ciência que propõe tornar incompreensível uma mensagem originalmente escrita com clareza a quem desconhece o processo de codificação usado [1]. Dessa forma, uma informação pode ser transmitida por meios de comunicação não confiáveis, garantindo que somente o destinatário, que sabe como decifrá-la, a compreenda. Ao cifrar uma mensagem, esta sofre transformações ditadas por um algoritmo, que a tornam ininteligível. Para se decifrar a mensagem, segue-se o algoritmo ao inverso, e extrai-se a mensagem original. Figura 1 – Modelo de Criptosistema [7]. II.1 – A Chave Criptográfica A chave criptográfica é o verdadeiro segredo de um algoritmo. Ela muitas vezes é o próprio algoritmo, e, senão o é, dita os caminhos para que um algoritmo aparentemente simples torne- se imune a uma criptoanálise (a ciência de determinar a chave ou decifrar mensagens sem o conhecimento da chave) bem aplicada. A chave pode ser um número, uma seqüência de bits, uma cifra, um código, uma tabela, etc. Sempre há uma chave de ciframento e outra para deciframento da mensagem (Figura 1). Porém, nos métodos simétricos elas são consideradas iguais e, portanto, é tratada como uma só. À luz da criptografia computacional, uma chave pode ter dimensões brutais, como no caso do algoritmo RSA (vide o item II.3.2.2), cujas chaves chegam a ordem de 10200 . II.2 – Tipos de Algoritmos Criptográficos O tipo de algoritmo criptográfico diz o tipo de chave usada para cifrar e decifrar a mensagem. II.2.1 – Algoritmos Criptográficos Simétricos Os algoritmos criptográficos simétricos podem ser dos tipos transposição, substituição e ciframentos compostos, e visam somente o embaralhamento dos caracteres da mensagem, a substituição dos caracteres da mensagem, segundo uma tabela, ou a aplicação de ambas as técnicas ao mesmo tempo, respectivamente [1]. Nesses casos, a chave de criptografia usada é chamada de chave secreta, pois exige que o usuário a mantenha oculta sob seu poder, e só a repasse para quem for transmitida uma mensagem criptografada. Isto se faz necessário, pois a mesma chave que é usada para cifrar uma mensagem serve também para decifrá-la [1]. Então, se a chave for de domínio público, qualquer um que interceptar a transmissão de uma mensagem codificada com essa chave consegue decifrá-la, acessando seu conteúdo. II.2.2 – Algoritmos Criptográficos Assimétricos Os algoritmos criptográficos assimétricos seguem os princípios da unidirecionalidade [1] de certas funções ou propriedades matemáticas, que permitem um cálculo rápido, simples e barato de seus resultados, porém é inviável a partir destes, retornar ao ponto inicial sem seu conhecimento. Um exemplo, usado no algoritmo RSA (vide adiante), é o produto de dois números primos, que, por maiores que sejam, pode ser feito em instantes, e a obtenção destes, sem se saber quais são, a partir da fatoração do produto, despende muito tempo [1]. Então, Whitfield e Hellman propuseram a criação de um par distinto de chaves, uma usada
  • 3. 3 para cifrar, chamada de chave pública, e outra usada para decifrar, chamada de chave privada, seguindo o conceito da unidirecionalidade acima. Assim, um usuário cria um par de chaves com um algoritmo assimétrico, publica a sua chave pública e guarda para si a chave privada. Se for necessário enviar uma mensagem criptografada a esse usuário, basta acessar sua chave pública, usá-la para cifrar a mensagem e enviar esta ao usuário, que, por sua vez, será o único capaz de decifrá-la, acessando seu conteúdo [1]. II.2.3 – Diferenças e Aplicação Real Os métodos assimétricos garantem maior segurança em relação aos métodos simétricos, pois a distribuição de chaves nestes pode ser algo perigosa se houver qualquer tipo de escuta durante a troca de chaves. Com aqueles, a distribuição de chaves é simples, pois qualquer usuário pode, sem medo de interceptações ou escutas, publicar sua chave de ciframento, que será impossível obter-se a sua correlata. Porém, os métodos assimétricos podem exigir muito tempo, mesmo com os recursos computacionais disponíveis atualmente, para se codificar uma mensagem de tamanho considerável, quando comparado com o tempo gasto por um método simétrico para se realizar a mesma tarefa. Então, para se agilizar o processo sem perder a segurança, usa-se um algoritmo simétrico para cifrar a mensagem, e a chave secreta usada é, por sua vez, cifrada com um método assimétrico, usando-se a chave pública do destinatário, que será o único, com sua chave privada, capaz de decifrar a chave secreta e, com esta, então, decifrar a mensagem. Tudo isto pode parecer um tanto trabalhoso de se fazer, mas com os recursos computacionais disponíveis atualmente, todo o processo é feito de modo automático e praticamente transparente ao usuário, se ele assim o desejar. II.3 – A Criptografia Computacional O propósito da criptografia computacional é dispor da grande velocidade de processamento disponível aliada à facilidade em se implementar os algoritmos criptográficos em linguagens de programação, visando se obter um sistema criptográfico viável de se computar e praticamente inviável de se computar sua inversa [1]. II.3.1 – Garantias da Criptografia Computacional As garantias que um bom sistema criptográfico computacional deve dar, além da descrita no item anterior, são [1]: Sigilo de informações; Integridade de informações; Autenticação de usuário; Autenticação de remetentes; Autenticação de destinatários; Autenticação de atualidade. A primeira garantia diz que somente os usuários autorizados possam ter acesso à informação, ou que consigam torná-la inteligível. A segunda oferece inalterabilidade da informação, seja ela intencional ou acidental, mantendo-a sempre a mesma. As quatro seguintes garantem, respectivamente, a real identidade do usuário ao sistema usado; que, de fato, um, e somente um usuário emitiu aquela mensagem específica, tendo inclusive validade como prova perante um tribunal; que o destinatário de uma mensagem especifica foi recebida por ele, e somente ele; e, por fim, que a informação enviada naquele momento não possa ser reenviada em outro momento qualquer, impossibilitando que uma versão antiga, interceptada por um agente externo, seja usada para se obter informações atuais do sistema [1]. Essas garantias são as bases de uma ICP. II.3.2 – Tipos de Algoritmos Computacionais A criptografia computacional simétrica nasceu nos laboratórios da IBM na década de sessenta, culminando em 1971 com o algoritmo chamado LUCIFER, criado por Horst Feistel. Entre 1972 e 1974, baseado neste sistema, o pesquisador Walter Tuchman, veterano da IBM e especialista em teoria da informação, criou o DES - Data Encryption Standart (Padrão de Ciframento de Dados), padronizado pelos EUA como sendo o algoritmo padrão, primeiro, para uso pelos órgãos não governamentais e não militares, em 1978, e depois pelo segmento privado e instituições financeiras, em 1981 [8]. O sistema assimétrico nasceu da falha dos métodos simétricos em garantir autenticação e privacidade em redes de grande porte (WANs e a Internet). Whitfield Diffie e Martin Hellman debruçaram-se sobre este problema e, em 1976, divulgaram seus conceitos sobre um método de troca de mensagens cifradas sem que haja a necessidade de se compartilhar as chaves [9]. Bastava se aproveitar da intratabilidade de certas funções ou propriedades matemáticas. Assim, em 1978, Ronald Rivest, Adi Shamir e Leonard Adleman, na época professores do MIT – Massachusetts Institute of Technology (Instituto de Tecnologia de Massachustts), implementaram um algoritmo chamado RSA (o acrônimo é a inicial dos sobrenomes dos inventores do algoritmo) baseado na intratabilidade de se fatorar um produto muito
  • 4. 4 grande entre dois números primos também muito grandes [1]. II.3.2.1 – O Algoritmo DES O DES é um algoritmo simétrico feito para ser implementado em hardware, e está restrito à cifragem de dados não confidenciais. “O DES é um ciframento composto que cifra blocos de 64 bits (8 caracteres) em blocos de 64 bits, usando uma chave de 56 bits (64 bits, dos quais 8 de paridade)” [1]. Basicamente, o processo de cifragem do DES segue os seguintes passos (Figura 2): 1. A mensagem é dividida em blocos de 64 bits, que serão cifrados individualmente. 2. Cada bloco sofre uma transposição inicial TI, alterando a ordem dos bits segundo uma tabela. 3. Cada bloco de 64 bits é dividido em blocos de 32 bits cada, um esquerdo, LI, e outro direito, RI. 4. A chave de 56 bits é usada para gerar 16 chaves de 48 bits cada (K1 até K16). 5. O bloco LI-1 sofre uma transformação T de acordo com a primeira chave, K1, de 48 bits e a metade RI-1. Este bloco não é alterado nem o número original de 64 bits (Figura 3). 6. Os blocos de 32 bits são trocados de posição (LI-1 → RI e RI-1 → LI). 7. O “novo” bloco esquerdo LI sofre uma transformação pela segunda chave, K2. 8. Repetem-se os passos 6 e 7 até a 16.a chave. 9. O bloco de 64 bits é reunido e sofre uma transposição final TF, inversa à inicial. 10. Os passos de 1 a 9 são repetidos para cada bloco de 64 bits da mensagem inteira, que é reconstruída com todos os blocos cifrados. O processo de cifragem é representado da forma C = DES(K,M); onde C é a mensagem cifrada, DES é o algoritmo aplicado, K é a chave usada e M é a mensagem a ser criptografada. O processo de decifragem, M = DES(K,C), segue os mesmos passos da cifragem, somente invertendo-se a ordem das chaves usadas em cada um dos 16 estágios [1]. Figura 2 – Processo de Cifragem do DES [7]. Figura 3 – Transformação T e Inversão de Blocos do DES [7]. O algoritmo diz que quaisquer pequenas alterações na mensagem original provocam grandes alterações na mensagem cifrada. Em 20 anos a criptoanálise não encontrou nenhum método eficaz para se “quebrar” o DES além da aplicação da “força bruta”, ou seja, tentar todas as combinações possíveis de chaves. Como a chave tem 56 bits, existem no máximo 256 (≈72.000.000.000.000.000) diferentes chaves para serem testadas. Por isso a única maneira eficiente de se implementar este algoritmo é por hardware [10]. II.3.2.2 – O Algoritmo RSA O RSA é um processo assimétrico que envolve a escolha de dois números primos, multiplicá-los e obter duas chaves, uma em função da outra seguindo os seguintes passos: 1. Usa-se um algoritmo probabilístico para se calcular dois números primos distintos p e q, da ordem de 10100 cada um. 2. Calcula-se um número n = p⋅q e f(n) = (p- 1)⋅(q-1). Ambos da ordem de 10200 . 3. Gera-se um número inteiro c, ao acaso, dentro do intervalo (1,f(n)) tal que mdc(c,f(n)) = 1 e c < f(n). Ou seja, c e f(n) são primos entre si. 4. Com a equação c⋅d⋅modf(n) = 1 no intervalo [0,f(n)], determina-se o número d; sendo a operação mod o resto de uma divisão. 5. Com isso, obtém-se a chave privada P = (c,n) e a chave secreta S = (d,n). Um usuário para cifrar uma mensagem usando a chave P, quebra a mensagem em blocos de bits de tamanho m no intervalo 0 ≤ m < n, e cifra cada bloco m usando o procedimento de exponenciação modular P(m) = mc mod n. O destinatário decifra a mensagem por meio da S(P(m)) = md mod n = m. Convém notar, como dito em [1], que o RSA é um sistema criptográfico comutativo, ou seja, pode-se cifrar uma mensagem também com a chave privada, e, conseqüentemente, decifrá-la com a chave pública. É provado, também em
  • 5. 5 [1], que se a mensagem foi criptografada com uma das chaves, só é possível decifrá-la com a outra chave. Isso torna o RSA capaz de prover assinaturas digitais e trocas de chaves entre usuários. Atualmente, o RSA é a base do sistema PGP – Pretty Good Privacy (Privacidade Satisfatória), sistema não estruturado de troca de chaves públicas, que também usa a lógica do sistema IDEA (vide adiante) para embaralhar os bits da mensagem. O algoritmo também suporta o Kerberos, uma aplicação que permite a autenticação de duas pessoas frente a um servidor de autenticação específico. Vários fornecedores como a IBM, NEC, HP e Sun, visam a implantação do sistema em seus Sistemas Operacionais UNIX [11]. II.3.2.3 – Outros Algoritmos Muitos dos métodos descritos foram implementados seguindo as filosofias do DES e do RSA. Os RC2, RC4, RC5 e RC6 – Rivest Cipher são notoriamente mais rápidos que o DES, e os dois últimos permitem uma chave de tamanho variável (sendo muito seguro), enquanto os outros possuem uma chave de somente 40 bits (facilmente quebrável por força bruta) [12] [10]. O Triplo DES é o mesmo algoritmo DES aplicado três vezes segundo a equação C = DES{K1,DES-1 [K2,(K1,M)]}, onde DES-1 representa o algoritmo inverso (decifragem) e K1 e K2 são duas chaves secretas distintas. O 3DES é usado atualmente no lugar do DES comum [10]. O IDEA – International Data Encryption Algorithm (Algoritmo de Cifragem de Dados Internacional) embaralha blocos de 64 bits com uma chave de 128 bits. É um algoritmo simétrico projetado para ser fácil de ser programado e é forte o suficiente para resistir à maioria dos ataques criptoanalíticos [12]. O algoritmo Diffie-Hellman é baseado na dificuldade em se calcular logaritmos discretos em um plano finito. Foi o primeiro algoritmo implementado para troca de chaves, e é usado unicamente para isso. É o método base para o RSA [1]. O algoritmo DSA – Digital Signature Algorithm (Algoritmo para Assinatura Digital), desenvolvido pela NSA dos Estados Unidos, é utilizado somente para a implementação da assinatura digital. A força desse algoritmo está na dificuldade de se calcular logaritmos discretos [13]. O El Gammal é um algoritmo parecido com o RSA, porém utiliza a aritmética dos módulos além do cálculo de logaritmos discretos para criptografar os dados. Assim como o RSA, o El Gammal é um dos poucos métodos que permite a cifragem de dados e também a assinatura digital [7]. Recentemente foi especificado o novo algoritmo simétrico, chamado Rijndael, (Vincent Rijmen e Joan Daemen) para ser usado pelo governo dos EUA para proteger informações restritas. O FIPS – Federal Information Processing Standard (Padrão de Processamento de Informação Federal) aprovou o AES – Advanced Encryption Standard (Padrão de Criptografia Avançado), que determinou a adoção desse novo padrão. O Rijndael trabalha com tamanhos de chaves de 128, 192 e 256 bits, criptografando blocos de mesmo tamanho, sendo possível usar todas as nove combinações, e se estender facilmente esses números para múltiplos de 32 bits. O código do algoritmo é bem enxuto e não depende de números aleatórios ou constantes matemáticas, como o número pi, por isso o Rijndael possui alto nível de segurança e é facilmente implementado em equipamentos que utilizam pouca RAM [14]. II.3.2.4 – Um Pouco de Polêmica Apesar de alguns desses algoritmos serem notoriamente mais seguros que o DES e o RSA, ambos são os algoritmos mais difundidos para o uso geral. Só o fato de terem sido adotados como padrões nos EUA já é um indicativo de suas “popularidades”. Os dois algoritmos são também famosos, em parte, devido as diversas polêmicas em que estiveram, e estão envolvidos. O primeiro é duramente criticado pela comunidade acadêmica porque foi supostamente alterado pela NSA – National Security Agency (Agência de Segurança Nacional) dos EUA, durante a sua implementação técnica na IBM, para conter uma “porta dos fundos” (do inglês back-door), que permitiria livre acesso à agência ao conteúdo da mensagem, e a redução do número de bits da chave de 128 bits, usado no LUCIFER, para os 56 bits, padrão no DES. Isso gerou um certo repúdio das entidades privadas quanto ao quesito privacidade. Além disso, o algoritmo possui a fraqueza de ter uma chave com dimensão muito pequena para os dias de hoje (em julho de 1998, um hardware, custando U$250.000,00 foi apresentado pela EFF – Eletronic Frontier Foundation, que realizava o trabalho de quebrar o DES em pouco mais de 3 horas usando a “força bruta”), e o seu aumento é inviável, pois o tamanho da chave faz parte do
  • 6. 6 projeto. O método de criptoanálise diferencial, revelado há pouco tempo, reduz as chaves para 247 . Com outro método, chamado criptoanálise linear esse número cai para 243 [10] [15] [16]. O RSA possui o inconveniente de ser fundado em uma propriedade matemática: a dificuldade em se fatorar números primos grandes; e, a qualquer momento alguém pode descobrir uma maneira mais simples de se resolver esse problema. Por enquanto a única maneira de se fazer isso é por “força bruta”. O pior é que, logo na sua invenção, em 1977, os criadores do RSA, Rivest, Shamir e Adleman, propuseram um desafio de quebrar uma mensagem codificada com uma chave pública de 129 bits, e afirmaram que poderia ficar oculta por décadas. Essa tarefa ficou conhecida como a tarefa RSA129. No ano de 1993, milhares de pessoas usando máquinas poderosas trocaram dados e testes através da Internet, e, em 1994, em menos de um ano de tentativa, quebraram a famosa chave. Então, parece fácil admitir que agora essa sempre será uma tarefa fácil, mas deve-se atentar que a quebra da chave só foi possível com o auxílio de supercomputadores, e poucas pessoas no mundo têm acesso a eles (Figura 4). Ademais, um ano é tempo suficiente para que qualquer informação contida nas mensagens que utilizam uma chave desse tamanho perca sua validade. Figura 4 – Tempo para se Quebrar Diversos Tamanhos de Chaves Usando Força Bruta por Diversas Entidades [17]. II.3.3 – Assinatura Digital O ponto mais importante dos métodos assimétricos é a corroboração imediata das seis garantias da criptografia computacional. Isso pode ser feito por meio da assinatura digital de duas maneiras: usando a chave privada ou a função Hash. A assinatura digital é muito usada por empresas que disponibilizam instalações de softwares, atualizações, plug-ins, etc. Sempre que aparece na tela do computador uma janela pedindo autorização para se confiar em tal produto de tal empresa, está-se fazendo uso da assinatura digital. Se for aceita a assinatura, o navegador automaticamente armazena a chave pública da empresa, para facilitar o processo em caso de futuras instalações. Para assinar usando sua chave privada, o usuário Remetente a utiliza para cifrar uma mensagem e a envia ao usuário Destinatário. Este recebe a mensagem cifrada e acessando a chave pública daquele, comprova que não há como outro usuário ter mandado aquela mensagem, somente ele. Deve-se notar, porém, que a assinatura não garante o sigilo da informação, pois qualquer um que interceptar a mensagem e usar a chave pública do Remetente para decifrá-la terá acesso ao seu conteúdo. Então, para se garantir o sigilo da informação, garantindo também a autenticação de destinatário, o Remetente, após cifrar a mensagem com sua chave privada, usa a chave pública do Destinatário para cifrar tudo de novo. Assim, somente o Destinatário será capaz de decifrar, primeiro com a sua chave privada, a mensagem duplamente cifrada, e logo em seguida usa a chave pública do Remetente para decifrar a mensagem pela segunda vez. II.3.4 – A Função Hash A assinatura digital por chave privada é um processo muito demorado e pode-se criar uma mensagem, no mínimo, com o dobro do tamanho original. A solução encontrada é usar um processo, chamado a função Hash (do inglês, confundir ou moer), que identifique aquela mensagem de modo único, assegurando que não haverá dois textos diferentes com a mesma identidade, chamada message digest (mensagem compilada). O message digest é a essência da mensagem original. Mesmo se mudar uma só palavra desta, a função Hash produzirá outro messagem digest completamente diferente do anterior. Então, para assinaturas digitais mais eficientes combina-se a assinatura digital por chaves privadas com a função Hash, da seguinte maneira (Figura 5): passa-se a mensagem por uma função Hash, obtendo-se seu message digest. Este é cifrado com a chave privada do Remetente e com a chave pública do Destinatário. O message digest cifrado é anexado à mensagem e ambos são enviados. O Destinatário segue o roteiro inverso para decifrar o message digest, passa a função Hash pela mensagem e obtém um message digest que é comparado ao recebido. Se forem idênticos, está garantida a integridade da informação. Contudo, apesar da praticidade, esse método não garante o sigilo da informação, pois não houve qualquer tipo de ciframento da mensagem. Os algoritmos de Hash mais comuns são: O MD5 – Message Digest 5 foi criado por Ron Rivest e produz um valor de hash de 128 bits. Esse algoritmo é otimizado para processadores Intel, mas ultimamente seu
  • 7. 7 uso vem caindo, pois algumas partes do seu algoritmo foram comprometidas [15]. O SHA-1 – Secure Hash Algoritm-1 foi criado pela NSA. Ele produz um valor de Hash de 160 bits. O SHA-1 se tornou bastante popular e hoje é utilizado para criar assinaturas digitais [15]. Figura 5 – Geração (a) e Verificação (b) de Assinatura Digital [18]. III. A INFRA-ESTRUTURA DE CHAVE PÚBLICA Uma ICP garante a tecnologia necessária para se adotar uma política adequada ao armazenamento das chaves públicas. Ela também estabelece as formas de certificação e autenticação das chaves. A IETF designou um grupo de trabalho, o PKIK working group (Grupo de Trabalho ICP), para avaliar as técnicas, protocolos, políticas de trabalho, arquiteturas, perfis de documentos, gerenciamento, etc. que forem apresentadas ao grupo; que também decide quais serão os padrões adotados que promoverão a interoperabilidade das diversas ICPs já instaladas. Uma ICP pode ser hierárquica, que prevê uma Autoridade Certificadora Raiz – AC Raiz, ou distribuída, com Autoridades Certificadoras em Ponte. Esta arquitetura realiza o credenciamento par-a-par, cujo contrato de certificação é cruzado, sendo verificadas as políticas de certificados e práticas operacionais baseados em políticas de mapeamento. Na arquitetura hierárquica, cada ambiente dita suas políticas e práticas por meio das DROs – Declaração de Regras Operacionais, e cada contrato de adesão é avaliado e validado conforme ao processo de credenciamento a que está subordinado [19]. Esta é a arquitetura adotada pela ICP-Brasil (Figura 6). III.1 – Distribuição de Chaves Públicas O ponto fraco da criptografia assimétrica é a distribuição das chaves públicas. Quando dois usuários decidem trocar mensagens secretas eles devem concordar em usar uma chave especifica para aquela conversa, denominada chave de sessão. O problema é transmitir essa chave por um meio não confiável. Para se garantir tal troca deve-se assegurar que um terceiro usuário, de confiança de ambas as partes, sirva de árbitro e garanta a autenticidade das chaves usadas. Figura 6 – Estrutura de uma ICP [20]. III.2 – A Autoridade Certificadora Raiz É a primeira entidade em uma cadeia de certificação. É ela quem distribui os certificados para todas as outras ACs da estrutura. Para isso ela mesma assina o seu certificado. A AC Raiz não pode emitir certificados diretamente ao usuário, responsabilidade essa dada às ACs comuns. III.3 – A Autoridade Certificadora Uma Autoridade Certificadora – AC é a entidade designada para desempenhar o papel de árbitro durante a troca de mensagens entre usuários, fornecendo, certificando e validando as chaves usadas, segundo a DRO vigente. Um usuário que desejar criar um par de chaves pode fazê-lo direto em uma AC. Durante o processo, esta cria um Certificado Digital padrão, de acordo com a norma adotada, que ateste sua legitimidade e unicidade, sempre que outro usuário precisar verificar a autenticidade da chave. III.4 – A Autoridade de Registro Para se evitar que uma AC fique sobrecarregada com todas as verificações que forem requisitadas a ela, foram criadas as Autoridades de Registro – ARs. Estas dão suporte às ACs para que possam dispor de tempo para gerar certificados. Deve-se notar que uma AR nunca estará autorizada a criar um certificado. Seu único papel é o de verificar as informações pertinentes aos certificados já criados. Ela é a última entidade possível da cadeia antes do usuário. III.5 – Certificados Digitais Um Certificado Digital é a identidade digital de um par de chaves criado frente a uma AC qualquer. Ele armazena todas as informações pertinentes ao dono do par de chaves e a esta em questão. Quando criado, o certificado é assinado
  • 8. 8 digitalmente com a chave privada da AC, evitando-se qualquer possibilidade de falsificação, ou alteração, acidental ou não, do mesmo. Todo certificado digital possui uma data de validade, então, de tempos em tempos a AC cria uma Lista de Certificados Revogados – LCR, que fica disponível para consultas. O padrão digital para os certificados digitais adotados pela International Telecomunication Union – ITU-T (União de Telecomunicação Internacional) é o X.509 v3 (o “v3” indica que essa é a terceira versão do certificado). O PKIK working group se encarregou de criar padrões suportáveis pela Internet, facilitando a comunicação entre diferentes ICPs. Atualmente, o X.509 já está amplamente difundido na Internet. Muitas lojas eletrônicas somente realizam uma transação, mediante o certificado padrão X.509 autenticado por uma AC. Contudo, o que ocorre é um padrão comum difundido para certificados digitais, mas não há um consenso global para gerenciá-los. As grandes empresas da Internet simplesmente forçam o seu produto como padrão para interoperabilidade, esquecendo-se que o maior recurso de uma ICP é a sua integração com diversas espécies de aplicações. Se uma ICP perder essa interoperabilidade, perde totalmente sua utilidade [2]. Um fato curioso no uso da certificação digital, por meio da assinatura digital, é a sua similaridade com a estrutura de autenticação de cartório, usado no sistema legal do Brasil. Os cartórios no caso da ICP seriam as ACs e ARs. IV. A INFRA-ESTRUTURA DE CHAVE PÚBLICA BRASIL Prevista como um meio confiável de trocas de documentos sigilosos através da Internet entre as entidades governamentais brasileiras, a ICP-Gov [21] ganhou âmbito público depois que as empresas brasileiras exigiram o uso de tal recurso para tornar seguras suas transações via Internet. Revisto o projeto, a ICP-Gov passou a ser chamada de ICP-Brasil (Figura 7) [5]. Figura 7 – Logotipo da ICP-Brasil [22]. A ICP-Brasil segue as características de uma ICP hierárquica, possuindo uma AC Raiz, diversas entidades credenciadas como AC, e outras como AR e prestadoras de serviços (Figuras 8, 9 e 10). IV.1 – O CG ICP-Brasil Instaurado pela MP 2.200 e definido pelo decreto 3.872 [24], o CG, como já foi dito, é a entidade máxima na estrutura da ICP Brasil, e exerce a função de Autoridade Gestora de Políticas – AGP da ICP (Art. 1°). Ficou disposto pelo decreto 3.872, a composição do CG, as medidas, políticas, critérios e as normas para implantação e funcionamento da ICP-Brasil, e licenciamento das ACs, ARs e das demais prestadores de serviços de suporte à ICP, em todos os níveis da cadeia de certificação. IV.2 – A AC Raiz da ICP-Brasil “O ITI – Instituto Nacional de Tecnologia da Informação, Autarquia Federal vinculada à Casa Civil da Presidência da República, é a Autoridade Certificadora Raiz da ICP-Brasil” [23]. O ITI ganhou o status de AC Raiz da ICP- Brasil pela MP 2.200. O ITI segue os padrões, técnicas e políticas definidas na DRO da AC Raiz [25], que entre outras coisas define que o certificado desta entidade utilizará o RSA com o SHA-1 como algoritmos de assinatura digital. Diz também que o próprio certificado não deverá ter validade superior a dez anos nem inferior a oito anos. Figura 8 – Estrutura Hierárquica da ICP-Brasil em 26/11/2002. (As ACs em amarelo são as entidades já credenciadas. As ACs em verde estão em processo de credenciamento) [23].
  • 9. 9 Figura 9 – Entidades Credenciadas da ICP-Brasil [23]. Figura 10 – Entidades em Processo de Credenciamento da ICP-Brasil [23]. Todos os certificados emitidos pela AC Raiz devem estar em conformidade com o padrão ISO/IEC 9594 X.509 v3, tendo os seguintes campos: Versão; Emissor; Validade; Assinatura Digital da AC, segundo o algoritmo vigente; Usuário; Chave pública do usuário; Número Serial, único em cada AC. São definidos os serviços oferecidos pela AC Raiz: a Política de Revogação de Certificados, os acordos para certificação cruzada com ICPs de outros países, a segurança dos dados armazenados (chaves, certificados, LCR) e a: IV.3 – Política de Certificado da ICP-Brasil A PC da ICP-Brasil estabelece as regras específicas à aplicabilidade dos certificados conforme os requisitos de segurança ditados pela Política de Segurança da própria ICP [26]. Para tanto, foram estabelecidos quatro níveis de segurança relacionados com assinatura digital (A) e quatro com sigilo (S), que classificam os certificados em (Figura 11). Figura 11 – Tabela dos Tipos de Certificados da ICP-Brasil [27]. V. CONCLUSÃO Uma ICP é vital para o uso da criptografia assimétrica e da certificação digital. Mas, apesar de todo seu aspecto técnico, muito se discute acerca da aplicabilidade legal dada à ICP-Brasil. Sendo toda ela basicamente calcada na ICP dos EUA, a crítica recai sobre a nossa dependência em relação a uma tecnologia que exige uma base legal bem fundada e específica ao âmbito jurídico em que é estabelecida. Enquanto o modelo europeu dá margem legal para certificados não cadastrados frente a uma entidade oficial, o modelo brasileiro, decalcado do modelo dos EUA, força uma ditadura disfarçada de “tecnologia a serviço de todos”. Os certificados eletrônicos declarados ilegais pela MP 2.200 (Art. 12.°) paradoxalmente têm valor garantido pelo Código Civil desde 1917
  • 10. 10 (Art. 129.°) [28] e são derrubados em seus artigos 5.°, 11.° e 12.° [28], mudados para satisfazer a MP 2.200. Outro fato discutível é que apesar das empresas brasileiras estarem despertando para a certificação digital e a criptografia de chave pública para a proteção de seus dados, visando o crescimento via Internet, elas devem atentar para o fato de que as grandes empresas detentoras de tais recursos são dos EUA. E lá as empresas seguem as normas de segurança da NSA, que não permite que os sistemas criptográficos lá registrados sejam exportados se a chave ultrapassa 40 bits. Sem contar os rumores de que todo padrão adotado por lá possui uma porta-dos-fundos para que a NSA vasculhe os documentos alheios sob a égide de sua segurança nacional. Então, seria uma prática salutar que as empresas brasileiras busquem os recursos necessários aqui mesmo, visto que somos fonte exportadora de bons sistemas criptográficos, e que os mesmos são adequados às nossas necessidades. Para a ICP internacional, fica a espera da resolução dos problemas relacionados a padrões e interoperabilidade de aplicações, e, conseqüente, possibilidade de gerenciamento global de certificados digitais. Mas, a despeito de todo esse falatório, fica a certeza de que não há um sistema criptográfico que garanta privacidade ideal. O ideal é aliar a criptografia com todos os outros métodos que se conhece para, ao menos, prevenir que os ataques recebidos não causem tanto estrago. A criptografia sempre foi uma das melhores estratégias de ocultação de dados, porém não deve ser a única. Um usuário mal-intencionado pode muito bem, como vingança por não ter acesso aos dados alheios, apagá-los, interceptar e impedir seu envio, comprometer o programa criptográfico, alterando-o para trocar ou armazenar as chaves geradas, ou para simplesmente gerar chaves diferentes daquelas previstas pelo dono do programa, mas de acordo com a vontade do invasor [29]. VI. AGRADECIMENTOS Ao professor Maurílio por sua paciência em aceitar o encargo de me orientar. Também agradeço a liberdade e incentivo para que o trabalho tivesse o meu jeito. Muito obrigado à Marilena por seu eterno bom humor e disponibilidade. E, por último, mas não menos importante, agradeço à Aline por entender que um dia isso terá um fim. VII. REFERÊNCIAS [1] Lucchesi, Cláudio Leonardo, Introdução à criptografia computacional, Editora da UNICAMP, 1986. [2] SecureNet, Zaninoti, Thiago, Entendendo a Infra-estrutura de Chaves Públicas, artigo publicado em 06/01/2001, disponível em: www.securenet.com.br/artigo.php?artigo=90 , acessado em 30/10/2002. [3] Página da Internet, The IEEE P1363 Home Page Standard Specification for Public-Key Cryptography, disponível em http://grouper.ieee.org/groups/1363/, acessado em 16/11/2002. [4] IETF – Internet X.509 Public Key Infrastructure, disponível em www.ietf.org/, acessado em 16/11/2002. [5] Medida Provisória 2.200, de 18 de junho de 2001, disponível em www.icpbrasil.gov.br/, acessado em 17/04/2002. [6] Termo de Referência do CG ICP-Brasil, disponível em www.planalto.gov.br/ccivil_03/consulta_pub lica/PDF/termodereferencia.pdf, acessado em 11/03/2002. [7] Weber, R. F., Criptografia Contemporânea, Instituto de Informática – UFRGS, Porto Alegre – RS, disponível em www.inf.ufsc.br/~castoldi/_Criptografia.pdf, acessado em 17/11/2002. [8] Redes de Computadores e suas Aplicações na Educação, DES – Data Encrypt Standard, disponível em http://penta.ufrgs.br/gere96/segur2/des.htm, acessado em 30/10/2002. [9] Certising, AJUDA – Introdução à Criptografia disponível em https://digitalid.certisign.com.br/server/serve r/help/hlpIntroCryp.htm, acessado em 30/10/2002. [10] Criptografia, disponível em www.dei.isep.ipp.pt/~andre/documentos/crip tografia.html, acessado em 27/01/2001. [11] Redes de Computadores e suas Aplicações na Educação, RSA, disponível em http://penta.ufrgs.br/gere96/segur2/rsa.htm, acessado em 13/11/2001. [12] UNICAMP, Equipe de Segurança em Sistemas e Redes - Documentos - Conceitos Básicos, disponível em www.security.unicamp.br/docs/conceitos/o3. html, acessado em 30/10/2002. [13] FUTURE TECNOLOGIES, Stohler, Paulo, página da Internet, Criptografia: Conceitos Básicos – Primeira Parte, publicado em 25/02/2002, disponível em www.fti.com.br/n_jornal/artigo_paulo_cripto 01.htm, acessado em 30/10/2001. [14] FUTURE TECNOLOGIES, Stohler, Paulo, página da Internet, Criptografia: Conceitos
  • 11. 11 Básicos – Segunda Parte, publicado em 25/02/2002, disponível em www.fti.com.br/n_jornal/artigo_paulo_cripto 01.htm, acessado em 30/10/2001. [15] Revista do Linux, Introdução à Criptografia, disponível em www.revistadolinux.com.br/ed/005/criptogra fia.php3, acessado em 30/10/2002. [16] Domingos, Henrique J. L., artigo, Segurança em Sistemas Informáticos Distribuídos, Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, disponível em www.asc.di.fct.unl.pt/ssid/docs/acetatos/ssid -mei-01-02-4.pdf, acessado em 02/12/2002. [17] CÂMARA DE COMÉRCIO FRANÇA- BRASIL, Palestra sobre Criptografia: Conceito e Uso, disponível em www.ccfb.com.br/eventos/cmss_int_sp.asp, acessado em 27/11/2002. [18] Linhalis, Flávia, Moreira, Dilvan de A., artigo, Interface de Segurança para Servidores de Dados Universais, disponível em http://java.icmc.sc.usp.br/dilvan/papers/2001 -SSI/siuds01.pdf, acessado em 17/11/2002. [19] Machado, Pedro Paulo Lemos, ICP-Gov - Infra-estrutura de Chaves públicas do Poder Executivo Federal, via correio eletrônico em 26/07/2002. [20] Santos, André A. J. dos, Santos, Igor Lucas C. dos, Borges, Leonardo M., Vieira Thaís Ruas, Seminário de Comércio Eletrônico ICP Brasil, disponível em http://prometeu.speed.dcc.ufmg.br/~nolineon line/seminario-icp.ppt, acessado em 17/11/2002. [21] Decreto 3.587, de 05 de Setembro de 2000, disponível em www.icpbrasil.gov.br, acessado em 17/04/2002. [22] ICP Brasil, disponível em www.icpbrasil.gov.br, acessado em 27/07/2002. [23] ITI – Instituto Nacional da Tecnologia da Informação – Autoridade Certificadora Raiz da ICP-Brasil, publicado em 26/11/2002, disponível em www.iti.gov.br, acessado em 02/12/2002. [24] Decreto 3.872, de 18 de Julho de 2001, disponível em www.icpbrasil.gov.br, acessado em 17/04/2002. [25] Parte II-1 – Declaração de Regras Operacionais da AC-Raiz, INTEGRANTE DA ICP-Brasil, disponível em www.iti.gov.br, acessado em 05/04/2002. [26] Parte III – Política de Segurança da ICP- Brasil, publicado em 19/06/2001, disponível em www.icpbrasil.gov.br, acessado em 05/04/2002. [27] Parte I-1 – Políticas de Certificado da ICP- Brasil, Assinatura Digital Nível 1 ao 4, Sigilo Nível 1 ao 4, disponíveis em www.icpbrasil.gov.br, acessados em 05/04/2002. [28] Marcacini, Augusto, artigos diversos, disponíveis em http://augustomarcacini.cjb.net/dirinfo.html, acessado em 30/10/2002. [29] VERDADE ABSOLUTA, O que a criptografia não protege, disponível em http://www.absoluta.org/cripty/cripty_dont_ do.htm, acessado em 14/02/2002. BIOGRAFIA: Samuel Sangio Canuto Teixeira Nasceu em Guaratinguetá-SP em 21 de Novembro de 1976. Mudou-se para Salvador em 1985, onde adquiriu seu diploma de Técnico em Eletrônica em 1993. Ingressou na EFEI em Agosto de 1995, onde graduar-se-á Engenheiro Eletricista em Janeiro de 2003. Estagiou no Laboratório de Telecomunicações - ALCATEL/UNIFEI do Grupo de Telecomunicações da Universidade Federal de Itajubá – UNIFEI de Setembro a Dezembro de 2002.