|
|
| |
|
| |
Integração de Redes
| Consultoria
em Redes
| Equipes

A
TDec Network
Group
é parceira da PGP no Brasil, atuando em projetos de Criptografia (encriptação)
através do fornecimento e integração dos produtos da
PGP.
|
| |
|
Introdução à Criptografia |

Informações
Relacionadas
 |
|
|
 |
O PGP é distribuído no Brasil pela TDec Network Group Av. Brig. Faria Lima, 1903 15O andar São Paulo SP 01452-001 Telefone (11) 3816-0533 Fax (11) 3819-0361 www.tdec.com.br
PGP UMA INTRODUÇÃO À CRIPTOGRAFIA CONCEITOS BÁSICOS DA CRIPTOGRAFIA
Quando Júlio César enviava mensagens aos seus generais, ele não confiava em seus mensageiros. Então ele substitua cada letra A em suas mensagens por uma letra D, cada B por um E, e assim por diante. Somente alguém que soubesse a regra ´pular 3 letras para trás´ poderia decifrar as suas mensagens.
Foi assim que tudo começou. Encriptação e decriptação
Dados que podem ser lidos e compreendidos sem nenhum procedimento especial são chamados de texto puro (plaintext) ou texto transparente (cleartext). O método para disfarçar o texto puro de maneira a esconder o seu conteúdo é chamado encriptação (encryption). Encriptar texto puro resulta em uma sopa de letrinhas e números chamada de texto cifrado (ciphertext).
Você usa a encriptação para proteger a sua informação de olhares a quem ela não se destina, até mesmo daqueles que podem ter acesso à mensagem na forma criptografada. O processo de reverter um texto cifrado em texto puro na forma original é chamado de decriptação (decryption).
A seguinte figura ilustra o processo.

O que é criptografia?
A criptografia é a ciência de usar a matemática para encriptar e decriptar dados. A criptografia permite que você guarde informações sigilosas ou as transmita por redes abertas (a Internet, por exemplo) sem o perigo de serem lidas por alguém que não seja o destinatário final da mensagem.
Assim como a criptografia é a ciência de proteger dados, a criptoanálise é a ciência de analisar e quebrar comunicações encriptadas. A criptoanálise clássica envolve uma combinação interessante de raciocínio analítico, a aplicação de ferramentas matemáticas, a identificação de um padrão, paciência, determinação e sorte.
A criptologia envolve tanto a criptografia quanto a criptoanálise.
Criptologia robusta
´Existem dois tipos de criptografia neste mundo: a criptografia que vai impedir a sua irmãzinha de ler os seus arquivos, e a criptografia que vai impedir que grandes potências governamentais leiam os seus arquivos. Este livro fala sobre o segundo tipo de criptografia.´
-Bruce Schneier, Criptografia Aplicada: Protocolos, Algoritmos, e Código fonte em C
PGP também é sobre este segundo tipo de criptografia.
A criptografia pode ser fraca ou robusta, como mencionado acima. A robustez criptográfica é medida em tempo e recursos que seriam necessários para recuperar o texto puro original. O resultado de uma criptografia robusta é o texto cifrado difícil de decriptar sem a ferramenta apropriada de decodificação. Qual será a dificuldade? Usando toda a capacidade de processamento e tempo disponível existente hoje – até mesmo bilhões de computadores processando bilhões de comparações por segundo – não é possível decifrar o resultado de uma criptografia robusta antes do fim do universo.
Alguém poderia achar então que uma criptografia robusta poderia suportar o ataque de um criptoanalista extremamente determinado. Quem pode saber? Ninguém provou que a encriptação mais robusta disponível hoje pode sair ilesa de um ataque usando os recursos de processamento das máquinas do futuro. No entanto, a criptologia empregada pela PGP é a melhor existente atualmente. Vigilância e conservadorismo vão protege-lo melhor do que declarações de invulnerabilidade.
Como funciona a criptografia?
Um algoritmo criptográfico, ou cifra, é uma função matemática usada no processo de encriptação e decriptação. O algoritmo criptográfico trabalha combinado a uma chave – uma palavra, um número, uma frase – para encriptar o texto puro original. O mesmo texto puro é encriptado em textos cifrados diferentes para chaves distintas. A segurança dos dados encriptados depende inteiramente de duas coisas: a robustez do algoritmo criptográfico e o sigilo da chave.
O algoritmo criptográfico, somado a todas as chaves possíveis e a todos os protocolos que o colocam em funcionamento, compreendem o cripto-sistema. O PGP é um cripto-sistema.
Criptografia convencional
Na criptologia convencional, também denominada encriptação de chave secreta ou de chave simétrica, uma chave apenas é usada para a encriptação e decriptação. A seguinte figura ilustra o processo convencional de encriptação.

A cifra de César
Um exemplo extremamente simples de criptografia convencional é uma cifra de substituição. A cifra de substituição substitui um pedaço de informação por outro. Isto é feito freqüentemente deslocando-se letras do alfabeto. O algoritmo é usado para deslocar o alfabeto e a chave é o número de letras a serem deslocadas pelo algoritmo.
Por exemplo, se nós codificarmos a palavra ´SECRET´ usando a chave de César com o valor 3, estaremos deslocando o alfabeto fazendo com que a terceira letra (D) seja a primeira do alfabeto. Teremos então
ABCDEFGHIJKLMNOPQRSTUVWXYZ deslocando o alfabeto 3 posições obtemos
DEFGHIJKLMNOPQRSTUVWXYZABC onde D=A, E=B, F=C, e assim por diante. Utilizando este esquema o texto original ´SECRET´ torna-se o texto encriptado ´VHFUHW´. Para permitir que outra pessoa leia o texto cifrado, você menciona que a chave é 3.
Fica óbvio que a criptografia do exemplo acima é extremamente fraca para os padrões atuais, mas funcionou muito bem para César e ilustra o funcionamento da criptografia convencional.
A administração de chaves e a encriptação convencional
A criptografia convencional tem seus benefícios. É muito veloz. É especialmente útil para encriptar dados que não serão enviados para algum lugar. No entanto, a criptografia convencional por si só usada como meio de transmitir dados com segurança pode se tornar extremamente cara simplesmente pela dificuldade de se distribuir as chaves com segurança.
Lembre-se do personagem de seu filme de espionagem predileto: o agente secreto com uma maleta trancada algemada no pulso. O que existe dentro da maleta? Com certeza não é o plano secreto que está na maleta e sim a chave para decriptar o dado confidencial (note bem: os dados encriptados já se encontram no destinatário que apenas aguarda a chegada da chave).
Para um remetente e um destinatário comunicarem-se com segurança usando a encriptação convencional, eles devem concordar no uso de uma chave e mantê-la em segredo entre os dois. Se eles estão em locais físicos diferentes, devem confiar num agente de entrega, o Bat Fone, ou algum meio de comunicação seguro para prevenir o acesso à chave secreta durante a transmissão.
Qualquer um que intercepte a chave durante o trajeto pode posteriormente ler, modificar e forjar todas as informações encriptadas e autenticadas com esta chave. O problema com o sistema convencional de encriptação sempre foi a distribuição das chaves: como fazer com que a chave chegue ao destinatário sem ser interceptada?
Chave pública de criptografia (public-key criptography)
Os problemas com a distribuição das chaves foram solucionados com a criptografia de chave pública, conceito introduzido por Whitfield Diffie e Martin Hellman em 1975. (Existem evidências atualmente que o serviço secreto britânico o havia inventado alguns anos antes de Diffie e Hellman, mas manteve como segredo militar e acabou não usando.)
A criptografia de chave pública usa um par de chaves: a chave pública, que encripta os dados, e a chave privada correspondente para a decriptação. Como são usadas duas chaves é chamada às vezes de criptografia assimétrica. Você disponibiliza a sua chave pública para
o mundo e mantém a sua chave privada em sigilo. Qualquer um com uma cópia de sua chave pública pode encriptar informações e enviá-las para você, porque só você poderá lêlas, inclusive informações enviadas por pessoas com as quais você nunca teve contato direto.
Qualquer pessoa de posse de uma chave pública pode encriptar uma informação mas jamais poderá decripta-la. Somente a pessoa com a chave privada correspondente pode decriptar a informação.

O primeiro benefício da criptografia de chave pública é de permitir que pessoas sem um sistema de segurança preexistente possam trocar informações sigilosamente. A necessidade de compartilhamento de chaves secretas através de um canal de distribuição é eliminada; todas as comunicações envolvem apenas as chaves públicas, sendo que as chaves privadas
nunca são compartilhadas ou transmitidas. Alguns exemplos de cripto-sistema de chaves públicas são Elgamal (nomeada por seu inventor, Taher Elgamal), RSA (Ron Rivest, Adi Shamir e Leonard Adleman), Diffie-Helman, e DSA, Algoritmo para Assinatura Digital (inventada por David Kravitz).
Como funciona o PGP
O PGP combina algumas das melhores características da criptografia convencional e de chave pública. O PGP é um cripto-sistema híbrido.
Quando um usuário encripta texto puro com o PGP, o PGP comprime o texto puro em primeiro lugar. A compressão de dados economiza tempo de transmissão de modem e espaço em disco e, mais importante, aumenta a segurança da criptografia. A maioria das técnicas de criptoanálise explora padrões encontrados em textos puros para quebrar o código (Craxi te ceder). A compressão reduz estes padrões no texto original, aumentando substancialmente a resistência a criptoanálise. (Arquivos muitos pequenos para serem comprimidos ou que não suportam a compressão não são comprimidos.)
O PGP cria então uma chave de sessão (session key), uma chave secreta para uso uma única vez. Esta chave é um número gerado aleatoriamente pelos movimentos imprecisos do seu mouse e das teclas que você aciona. A chave de sessão utiliza um algoritmo de encriptação convencional extremamente rápido e seguro, encriptando o texto puro, gerando
o texto cifrado. Uma vez os dados encriptados, a chave de sessão é encriptada na chave pública do destinatário (recipient). Finalmente, esta chave de sessão encriptada numa chave pública é transmitida com o texto cifrado para o destinatário.

A decriptação funciona de modo inverso. O receptor da mensagem usa a sua chave privada para recuperar a chave de sessão, que o PGP usa para decriptar o texto cifrado.

O uso dos dois métodos de encriptação combina a conveniência da encriptação de chave pública com a agilidade da encriptação convencional. A encriptação convencional é aproximadamente 10.000 vezes mais veloz do que a encriptação de chave pública. A encriptação de chave pública por sua vez fornece uma solução para a distribuição de chaves e transmissão de dados. Usadas em conjunto, a performance e a distribuição das chaves são otimizadas sem comprometer a segurança.
Chaves
A chave é um valor que trabalha com um algoritmo criptográfico para gerar um texto cifrado específico. Chaves são basicamente números muito, muito grandes. O tamanho da chave é medido em bits; o número representando uma chave de 2048 bits é enorme! Em termos de criptografia de chave pública, quanto maior a chave, maior a segurança.
No entanto, os tamanhos da chave pública e da chave de criptografia convencional são totalmente independentes. Uma chave convencional de 80 bits tem a robustez de uma chave pública de 1024 bits. Uma chave convencional de 128 bits é equivalente a uma chave pública de 3000 bits. Novamente, quanto maior a chave, mais seguro, mas os algoritmos usados para cada tipo de criptografia são muito diferentes como se comparássemos maçãs e laranjas.
Apesar das chaves públicas e privadas são matematicamente relacionadas, é muito difícil descobrir a chave privada tendo acesso apenas à chave pública; no entanto, é sempre possível desvendar a chave privada com tempo e capacidade de processamento suficiente. Por isso se torna tão importante escolher chaves de tamanho adequado; bastante grandes para serem seguras, e pequenas o bastante para poderem ser usadas de forma rápida e eficiente. Adicionalmente, você deve considerar quem pode estar tentando ler os seus arquivos, quão determinados eles são, de quanto tempo dispõem, e quais podem ser os recursos por eles utilizados.
Chaves maiores serão criptograficamente seguras por mais tempo. Se aquilo que você deseja encriptar deve ser escondido por muitos anos, você pode querer optar por uma chave muito grande. É claro que não sabemos quanto tempo será necessário para decriptar a sua
chave usando os recursos dos computadores do futuro. Houve uma época em que uma chave simétrica de 56 bits era considerada extremamente segura.
Hoje em dia, em 2003, acreditamos que chaves de 128 bits serão eternamente seguras, pelo menos até que alguém construa um computador quântico. Também acreditamos que chaves de 256 bits serão seguras indefinidamente, mesmo que alguém construa um computador quântico. É por isto que a AES (Advanced Encryption Standard, padrão usado pelo governo norte-americano) inclui opções para chaves de 128 e de 256 bits.
As chaves são armazenadas em formato encriptado. O PGP guarda as chaves em dois arquivos no seu disco rígido; um para chaves públicas e outro para chaves privadas. Estes arquivos são chamados de chaveiros (keyrings). À medida que você vai usando o PGP , novas chaves públicas dos seus destinatários são adicionadas ao seu chaveiro público (public keyring). As chaves particulares são guardadas no seu chaveiro particular (private keyring). Caso você perca o seu chaveiro particular será impossível decriptar qualquer mensagem ligada às chaves deste chaveiro. Conseqüentemente, é uma boa idéia fazer bons backups.
Assinaturas digitais
Um dos maiores benefícios da criptografia de chave pública é a possibilidade do uso de assinaturas digitais. As assinaturas digitais permitem ao destinatário da mensagem verificar a autenticidade da origem da informação, e verificar também se a informação não foi alterada durante o trajeto. Logo, assinaturas digitais de chave pública fornecem autenticação e integridade de dados. Estes recursos são tão importantes para a criptografia quanto o sigilo, se não forem mais.
Uma assinatura digital tem o mesmo propósito de um selo num documento, ou uma assinatura escrita à mão. No entanto, da maneira como foi criada, é superior ao selo ou a assinatura por um motivo importante. A assinatura digital não somente atesta a identidade do signatário, mas mostra também que o conteúdo da mensagem assinada não foi modificado. Um selo convencional ou uma assinatura não podem fazer isto. No entanto, assim como um selo físico pode ser criado por qualquer um em poder do carimbo, a assinatura digital pode ser criada por qualquer um com a chave privada deste par de chaves de assinaturas.
Algumas pessoas acabam usando mais a assinatura digital do que a encriptação. Por exemplo, você pode não se importar se alguém ficar sabendo que você acabou de depositar $ 1,000 na sua conta, mas você faz questão de saber que foi com o caixa do banco que você fez a transação e de que ela será efetivada.
O jeito básico de como as assinaturas digitais são criadas é mostrada nas seguintes figuras. O algoritmo de assinatura usa a sua chave privada para criar a assinatura e a chave pública

Funções de ´hash´
O sistema descrito acima tem alguns problemas. É lento e produz um volume enorme de dados – no mínimo o dobro da informação original. Uma melhoria neste esquema é a adição de uma função hash de mão única (one-way hash function) no processo. Uma função hash de mão única utiliza input de tamanho variável – neste caso, uma mensagem de qualquer comprimento, mesmo de bilhões de bits – e produz um output de tamanho fixo; vamos dizer, de 160 bits. A função hash assegura que, se a informação é alterada de algum modo – mesmo em um bit somente – um output totalmente diferente é produzido.
O PGP usa uma função de hash criptograficamente robusta no texto puro que o usuário está assinando. Isto gera um item de dados de tamanho fixo chamado de sinopse da mensagem (message digest). Relembramos que qualquer alteração da informação resulta em uma sinopse da mensagem totalmente diferente.
Por último, o PGP usa a sinopse da mensagem e a chave privada para criar a assinatura. O PGP transmite a assinatura e o texto puro juntos. Na recepção da mensagem, o destinatário usa o PGP para reconstruir a sinopse da mensagem, desta forma verificando a assinatura. O PGP pode encriptar ou não a mensagem; assinar o texto puro pode ser útil se um dos destinatários não está preocupado com a verificação ou não é capaz de verificar a assinatura.
Enquanto for utilizada a função hash segura, não existe como alguém pegar a assinatura de um documento e inseri-la em outro, ou alterar uma mensagem assinada. A menor alteração em um documento assinado causará uma falha no processo de verificação da assinatura digital.

As assinaturas digitais têm um papel fundamental na autenticação e validação das chaves por outros usuários PGP.
Certidões digitais
Uma preocupação com os cripto-sistemas de chave pública é a de que os usuários devem estar constantemente atentos ao encriptar para a chave da pessoa certa. Em um ambiente onde é seguro trocar chaves livremente através de servidores públicos, ataques feitos por invasores da rede são uma ameaça em potencial. Neste tipo de ataque, alguém envia uma chave falsa com o nome e o ´user ID´ do destinatário alvo. Os dados encriptados para e interceptados pelo verdadeiro dono da chave fictícia estão agora nas mãos erradas. Em um ambiente de chaves públicas, é vital saber com certeza que a chave pública que você está usando para encriptar as suas informações é de fato a chave pública do pretenso destinatário e não uma falsificação. Você poderia simplesmente encriptar para aquelas chaves que lhe foram entregues fisicamente nas suas mãos. Mas suponha que você precise trocar informações com pessoas que você nunca teve contato; como ter certeza que você tem a chave verdadeira?
As certidões digitais, ou certs, simplificam a tarefa de estabelecer se uma chave pública pertence realmente ao suposto dono.
Uma certidão é uma espécie de credencial. Outros tipos de credenciais incluem a sua carteira de habilitação, o seu registro de identidade e a sua certidão de nascimento. Cada um desses contém alguma informação ao seu respeito e alguma autorização atestando que alguém confirmou a sua identidade. Algumas certidões, como o seu passaporte, são tão importantes como prova de sua identidade que você não gostaria de perde-los, muito menos gostaria de saber que estariam sendo usados por outra pessoa passando-se por você.
Uma certidão digital (digital certificate) funciona de forma similar a uma certidão física. Uma certidão digital é uma informação embutida na chave pública de uma pessoa que ajuda outros a verificar a validade e legitimidade da chave. As certidões digitais são usadas para frustrar tentativas de substituir a chave de uma pessoa por outra.
Uma certidão digital consiste em três coisas:
Informações da certidão (normalmente informações sobre a identidade do usuário, como nome, ´user ID´e assim por diante. As certidões podem conter também informações de autorização do usuário, como limite de gastos, permissão de acesso a arquivos, etc.)
Uma ou mais assinaturas digitais O propósito da assinatura digital na certidão é declarar que as informações da certidão foram confirmadas por alguma pessoa ou entidade. A assinatura digital não atesta a autenticidade do certificado com um todo; ela valida apenas a informação da identidade assinada que acompanha a chave pública. Sendo assim, uma certidão nada mais é do que uma chave pública com uma ou duas formas de identidade amarradas, somadas a um selo leal de aprovação (assinatura digital) de algum individuo de sua confiança.

Distribuição de certidões (certificate distribution)
Certidões são usadas quando é preciso permutar chaves públicas entre usuários. Para pequenos grupos de pessoas que desejam se comunicar sigilosamente, é fácil trocar disquetes ou e-mails contendo a chave pública de cada um.
Isto se chama distribuição manual de chaves públicas, e é viável na prática até um certo ponto. Além deste ponto, se torna necessário implantar um sistema que possa fornecer a segurança, o armazenamento e os mecanismos de intercâmbio para que colegas de trabalho, parceiros de negócios ou desconhecidos possam se comunicar livremente.
Esta solução pode aparecer na forma de repositórios de armazenamento (storage-only repositories) chamados de Servidores de Certidões (Certificate Servers), ou sistemas mais estruturados oferecendo recursos adicionais para a administração de chaves, sistemas estes chamados de Infra-estruturas de Chaves Públicas (Public Key Infrastructures – PKIs).
Servidores de certidões
Um servidor de certidões é um banco de dados disponibilizado na rede que permite aos usuários enviar e receber certidões digitais. Freqüentemente, os servidores de certidões também são usados como servidores de diretório para uso geral. Um servidor de certidões pode também oferecer alguns recursos administrativos para ajudar a empresa a manter seus regulamentos de segurança. Um exemplo seria permitir o armazenamento apenas para chaves que atendem a certas exigências. O PGP Keyserver (formalmente conhecido como PGP Certificate Server – Servidor de Certidões do PGP) oferece estes recursos administrativos não oferecidos por servidores de diretório genéricos.
Infra-estrutura de Chaves Públicas (Public Key Infrastructures / PKIs)
Uma PKI inclui os aparatos para o armazenamento de certidões encontrados em um servidor de certidões, mas oferece também serviços e protocolos para gerenciar as chaves públicas. Estas incluem a habilidade de emitir, revogar, e atestar certidões. O principal recurso da PKI é a introdução dos componentes que chamamos de Autoridade Certificadora/CA (Certification Authority/CA) e Autoridade Registradora/RA (Registration Authority/RA).
Uma CA (Autoridade Certificadora) cria certidões e as assina digitalmente usando a sua chave privada. Por causa do seu papel na criação de certidões, a CA é um componente central de uma PKI. Usando a chave pública da CA , qualquer um querendo verificar a autenticidade de uma certidão poderá confirmar a legitimidade do emitente da assinatura digital da CA, e portanto, a integridade do conteúdo da certidão (e ainda mais importante, a chave pública e a identidade do portador da certidão).
Tipicamente, uma RA (Autoridade Registradora) se refere às pessoas, os processos e às ferramentas usadas para dar apoio ao registro e gerenciamento de usuários no PKI. A RA pode fazer uma verificação para checar se a chave pública pertence ao seu pretenso usuário.
Uma RA é uma entidade humana – uma pessoa, um grupo, um departamento, uma empresa, ou qualquer outra sociedade. A CA em contrapartida é geralmente um software usado para emitir as certidões para os usuários do sistema. Existem até hardwares sofisticados de CA feitos de aço, invioláveis e com botões que zeram as chaves e que podem ser acionados em caso de algum ataque.
O papel da RA/CA é análogo ao da Policia Federal com o seu departamento de passaportes, onde alguns funcionários verificam se um passaporte pode ser emitido (função da RA) e outros funcionários criam o documento passaporte e o enviam ao portador (função da CA). Na verdade CA e RA não precisam ser necessariamente distintas mas pode ser importante em algumas circunstâncias ter estas duas funções separadas.
Formatos de Certidões (Certificate formats)
Uma certidão digital é basicamente uma coletânea de informações identificadoras amarradas a uma chave pública e assinada por um terceiro de boa fé para provar a sua autenticidade. Uma certidão digital pode ter um de vários formatos existentes.
O PGP reconhece dois formatos de certidões diferentes:
- Certidões PGP (chamadas simplesmente de chaves PGP)
Certidões X.509 O formato PGP de certidão
A certidão PGP inclui (mas não se limita) as seguintes informações:
- A chave pública da certidão do portador – a porção pública do seu par de chaves, junto com o algoritmo da chave: RSA, RSA Legacy, DH (Diffie-Hellman), ou DSA (Digital Signature Algorithm).
Informação do portador da certidão – consiste em informações da identidade do usuário, como nome, user ID, e-mail, número ICQ, retrato fotográfico, e assim por diante.
- Assinatura digital do portador da certidão – chamada também de auto-assinatura, é a assinatura feita usando a chave privada correspondente à chave pública associada à certidão.
Prazo de validade da certidão – Data de início e término da validade da certidão; indica quando expira a certidão. Caso o par de chaves contenha sub-chaves, então serão incluídos os prazos de validade das sub-chaves.
Algoritmo de encriptação simétrica preferido pelo usuário – os algoritmos suportados são: CAST, AES, IDEA, Triple-DES, e Twofish.
Você pode pensar na certidão PGP como uma chave pública com uma ou mais etiquetas coladas. Nestas ´etiquetas´ você encontrará informações identificando o dono da chave e a assinatura do mesmo, determinando que chave e identificação andam juntas. (Esta assinatura em especial é chamada de auto-assinatura; toda certidão PGP contém uma autoassinatura.)
Um aspecto único do formato de certidão PGP é o fato de uma certidão poder conter várias assinaturas. Algumas ou muitas pessoas podem assinar o par de chaves/identificação para atestar para sua própria garantia que a chave pública pertence definitivamente ao dono especifico. Se você for olhar num servidor público de certidões, irá notar que algumas certidões, como a do criador do PGP, Phil Zimmermann, contém várias assinaturas.
Algumas certidões PGP consistem em uma chave pública com várias etiquetas, cada uma contendo meios diferentes de identificar o dono da chave (por exemplo, o nome do dono e e-mail corporativo, o apelido do dono e e-mail pessoal, uma fotografia do dono – tudo embutido em um certificado). A lista de assinaturas de cada uma destas identidades pode ser diferente; as assinaturas atestam que uma das etiquetas pertence à chave pública, e não que todas as etiquetas contidas na chave são autênticas. (Observe que o significado de ´autêntico´está no olho do dono – assinaturas são opiniões, e cada pessoa avalia a autenticidade de uma identidade de modo diverso antes de assinar uma chave.)

O formato X.509 de certidão
O X.509 é outro formato de certidão muito comum. Todas as certidões X.509 obedecem ao padrão internacional ITU-T X.509; sendo que (teoricamente) certidões X.509 criadas para um aplicativo podem ser usadas por qualquer outro aplicativo contendo o padrão X.509 embutido. No entanto na prática, várias empresas criaram as suas próprias extensões da certidão X.509, sendo que algumas não funcionam entre si.
Uma certidão exige que alguém valide que a chave pública e o nome do dono da chave andem juntos. Com certidões PGP, qualquer um pode fazer a certificação (a não ser que esta opção esteja explicitamente limitada pelos administradores da empresa). Com as certidões X.509, o certificador é sempre uma Autoridade Certificadora (Certification Authority/CA) ou alguém designado pela CA. (Ponha em mente que as certidões PGP dão suporte completo à estrutura hierárquica utilizando a CA para validar certidões.)
Uma certidão X.509 é uma lista de campos padronizados contendo informações sobre o usuário ou dispositivo e a sua chave pública correspondente. O padrão X.509 define qual informação entra na certidão, e descreve como esta deve ser codificada (o formato dos dados).
Todos as certidões X.509 possuem os seguintes dados:
- A chave pública do dono da certidão – a chave pública do dono da certidão, junto com o algoritmo identificador que especifica a qual cripto-sistema pertence à chave além de outros parâmetros associados.
O número serial da chave – a entidade (aplicativo ou pessoa) que criou a certidão é responsável pela designação de um número serial único que o distinguirá de outras certidões por ele emitidas. Esta informação é usada de diversas maneiras; por exemplo quando uma certidão é revogada (cancelada, anulada), o seu número serial é colocado numa Lista de Certidões Revogadas (Certificate Revogation List/CRL).
O identificador único do dono da certidão (ou DN/distinguished name – este nome deve ser único na Internet. Uma DN consiste de várias sub-sessões e pode se parecer com isto:
CN=Bob Davis, EMAIL=bdavis@pgp.com, OU=PGP Engineering, O=PGP Corporation, C=US
(Estes se referem a Common Name/CN, Organizational Unit/OU, Organization/O, e Country/C.)
• Prazo de validade da certidão – Data de início e término da validade da certidão; indica quando expira a certidão.
- O nome único do emitente da certidão – o nome único da entidade que assinou a certidão. Normalmente é uma CA (Autoridade Certificadora). O uso da certidão implica na confiança depositada na entidade que assinou a certidão. (Note que em alguns casos, tais como as certidões raiz ou de alto nível das CAs, o emitente assina a própria certidão.)
A assinatura digital do emitente – a assinatura usando a chave particular da entidade que emitiu a certidão.
O identificador do algoritmo da assinatura – identifica o algoritmo usado pela CA para assinar a certidão.
Existem muitas diferenças entre uma certidão X.509 e uma certidão PGP, mas salientaremos as seguintes:
- Você pode criar a sua própria certidão; você precisa solicitar e aguardar a emissão de uma certidão X.509 por uma CA (Autoridade Certificadora)
As certidões X.509 suportam nativamente o nome de apenas um nome para ser dono de uma chave
As certidões X.509 suportam apenas uma assinatura digital para atestar a validade da chave
Para obter uma certidão X.509, você precisa solicitar a emissão pela CA. Você fornece a sua chave pública, prova de que você é possuidor de uma chave particular, e algumas informações específicas ao seu respeito. Você então assina digitalmente a informação e envia o pacote completo – o pedido de certidão – para a CA. A Autoridade Certificadora realizará algumas verificações de praxe (due dilligence) atestando que as informações que você forneceu estão corretas e, em caso positivo, irá gerar uma certidão e enviá-la para você.
Você pode comparar uma certidão X.509 a um certificado físico comum (semelhante a qualquer certificado de conclusão de um curso que você já tenha participado) com uma chave pública colada a ele. Ele contém o seu nome e algumas informações a seu respeito, mais a assinatura da pessoa que o emitiu para você.

Provavelmente o uso mais difundido e visível de certidões X.509 está nos navegadores da WEB.
Validade e confiança
Todo usuário de um sistema de chaves públicas é vulnerável, e pode acabar confundindo uma chave falsa (certidão) com uma verdadeira. A validade é a crença que uma certidão de chave pública pertence ao verdadeiro dono. A validade é essencial em um ambiente de chaves públicas onde você deve constantemente estabelecer se uma certidão em particular é autêntica.
Quando você se certificou que a chave PGP pertencente à outra pessoa é válida, você pode assinar a cópia no seu chaveiro e atestar o fato que você verificou e é autêntica. Se você quiser que outros saibam que você deu à certidão o seu selo de aprovação, você poderá exportar a assinatura para o servidor de diretórios para que outros a vejam.
Assim como foi descrito na seção ´Infra-estrutura de Chaves Públicas (PKIs)´ algumas empresas designam uma ou mais CAs para indicar validades de certidões. Em uma organização usando uma PKI com certidões X.509, é função das RAs aprovar solicitações de certidões e função das CAs emitir as certidões para os usuários – um processo que geralmente obriga responder a um pedido de certidão pelo usuário. Em uma organização usando certidões PGP sem PKI, é função da CA checar a autenticidade de todas as certidões PGP e então assinar as válidas. Basicamente, a principal tarefa de uma CA é de amarrar uma chave pública à informação de identificação contida na certidão e assim assegurar a terceiros que alguma medida de cautela foi tomada para garantir que esta amarração de chave com identificação seja válida.
A Autoridade Certificadora (CA) é uma espécie de entidade burocrática da validação, com grande influência na organização, alguém em que todos confiam. Em algumas organizações, como naquelas que usam o PKI, nenhuma certidão tem validade antes de ser assinada por uma CA de confiança.
Checando a validade
Um modo de estabelecermos a validade é através de algum processo manual. Existem várias maneiras de faze-lo. Você poderia solicitar ao seu destinatário pretendido que lhe entregasse uma cópia da chave pública em mãos. Isto seria inconveniente e ineficiente na maioria dos casos.
Uma outra maneira seria checar manualmente as impressões digitais da certidão. Assim como praticamente todas as impressões digitais humanas são únicas, cada impressão digital de uma certidão PGP é única também. Uma impressão digital é um ´hash´ da certidão do usuário e aparece como uma das propriedades da certidão. No PGP, a impressão digital pode aparecer como um número hexadecimal ou uma série de ´palavras biométricas´, foneticamente distintas e usadas para tornar o processo de identificação da impressão digital um pouco mais fácil.
Você pode checar a validade da certidão chamando o dono da chave e pedindo para que este leia a impressão digital para você, comparando com aquela que você acredita ser a verdadeira. Este procedimento funciona se você reconhece a voz do dono, mas como você verifica a identidade de uma pessoa que você não conhece? Algumas pessoas incluem a impressão digital de suas chaves nos cartões de visita exatamente por esta razão.
Outra maneira de se estabelecer a validade da certidão de alguém é confiar em um terceiro individuo que já tenha processado a validação.
Uma CA, por exemplo, responsável por assegurar antes de emitir uma certidão, checa com cuidado se a porção pública da chave pertence ao dono verdadeiro. Qualquer um que confia na CA automaticamente irá considerar as certidões assinadas pela CA como válidas.
Outro aspecto na checagem de validade é assegurar-se de que a certidão não tenha sido revogada.
Estabelecendo confiança
Você valida certidões, Você confia em pessoas. Mais especificamente, você confia em pessoas para validar certidões de outras pessoas. Tipicamente, a não ser que o dono te entregue a certidão pessoalmente, você dependerá da palavra de outra pessoa para atestar a validade.
Meta-apresentadores e apresentadores de confiança (Meta and trusted introducers)
Na maioria das situações, as pessoas confiam plenamente na CA para estabelecer as validades das certidões. Isto significa que todos dependem da CA executar o processo completo de validação. Isto funciona bem até um certo número de usuários de grupos de trabalho, e então fica impossível para a CA manter o mesmo nível de qualidade de validação. Neste caso, a adição de outros certificadores no sistema se torna necessária.
Uma CA é também uma meta-apresentadora (meta-introducer). Uma meta-apresentadora não concede apenas a validade para as chaves, mas também a habilidade de confiar chaves a outros indivíduos. Assim como um rei concede um selo real aos seus conselheiros de confiança para que estes possam agir em nome de sua alteza, o meta-apresentador possibilita que outros ajam como apresentadores de confiança (trusted introducers). Estes meta-apresentadores podem validar chaves com o mesmo efeito de um meta-apresentador. No entanto, eles não podem criar novos apresentadores de confiança.
Os termos meta-apresentador (meta-introducer) e apresentador de confiança (trusted introducer) são específicos do PGP. Em um ambiente X.509, o meta-apresentador é chamado de Autoridade Certificadora raiz (root CA) e os apresentadores de confiança subordinados a ela de Autoridades Certificadoras (CAs).
A CA raiz usa uma chave particular associada a uma certidão especial chamada de certidão CA raiz (root CA certificate) para assinar certidões. Qualquer certidão assinada pela CA raiz é vista como válida por qualquer outra certidão assinada pela raiz. Este processo de validação funciona também para certidões assinadas por outras CAs no sistema – desde que a certidão CA raiz assine a certidão CA subordinada, qualquer certidão assinada pela CA (subordinada) é considerada válida para outros na hierarquia. Este processo de checagem reversa no sistema para saber quem assinou qual certidão é chamado de rastreamento do caminho da certidão ou cadeia de certificação (certification chain).
Modelos de confiança
Em sistemas relativamente pequenos, como numa pequena empresa, é fácil rastrear o caminho da certidão até chegarmos na CA raiz. No entanto, os usuários freqüentemente precisam se comunicar com pessoas fora do seu ambiente corporativo, incluindo algumas que eles nunca tiveram contato antes como fornecedores, compradores, clientes, associados, e assim por diante. Estabelecer uma linha de confiança para aqueles que não foram explicitamente validados pela sua CA é complicado.
As empresas seguem um ou outro modelo de confiança, que define como os usuários estabelecerão a validade das certidões. Existem três modelos diferentes:
- Confiança Direta (Direct Trust)
Confiança Hierárquica (Hierarquical Trust)
Teia de Confiança (Web Trust)
Confiança Direta
A Confiança Direta é o modelo mais simples de confiança. Neste modelo, um usuário confia na validade de uma chave porque sabe de onde ela veio. Todos os cripto-sistemas usam esta forma de confiança de alguma forma. Por exemplo, nos navegadores de Web, as chaves da CA raiz são diretamente confiáveis porque foram fornecidas pelo fabricante. Se existir alguma forma de hierarquia, esta deriva destas certidões de confiança direta.
No PGP, um usuário que valida a própria chave e não indica uma outra certidão como apresentador de confiança está usando a confiança direta.

Confiança Hierárquica
Num sistema hierárquico, existe um número de certidões ´raiz´ de onde se estende a confiança. Estes certificadores podem atestar certidões por conta própria, ou podem validar certificadores que atestarão outras certidões, descendo por uma árvore hierárquica . Considere como sendo uma grande ´árvore´ hierárquica. A validade da certidão ´folha´ é verificada voltando no caminho traçado pelo certificador, para outros certificadores, até que uma certidão direta de confiança seja achada.

Teia de Confiança
Uma Teia de confiança engloba os dois modelos apresentados acima, mas também inclui a noção de que a confiança está no olho do dono (que é a visão verdadeira do mundo) e a idéia que quanto mais informação, melhor. É portanto um modelo cumulativo de confiança. Uma certidão pode ser validada diretamente (confiança direta) ou validada através de uma cadeia que aponte o meta-apresentador, ou um grupo de apresentadores.
Você pode ter ouvido falar da expressão ´seis graus de separação´, sugerindo que qualquer pessoa no mundo pode determinar algum elo com qualquer outra pessoa no mundo usando seis ou menos pessoas como intermediários. Esta é uma teia de apresentadores.
Esta é também a maneira como o PGP lida com a confiança. O PGP usa assinaturas digitais como uma forma de apresentação. Quando qualquer usuário assina a chave de outro, ele se torna um apresentador desta chave. À medida que este processo se desenvolve, acaba se estabelecendo uma teia de confiança.
Em um ambiente PGP, qualquer usuário pode agir como uma autoridade certificadora. Qualquer usuário PGP pode validar a chave de certidão pública de outro. No entanto, esta certidão só será válida para outro usuário se o destinatário reconhecer o certificador como um apresentador de confiança.(Em outras palavras: você confia na minha opinião a respeito das chaves de terceiros somente se você me considera um apresentador de confiança. Senão, a minha opinião não vale nada.)
Estão armazenados no chaveiro de cada usuário os seguintes indicadores:
- Se o usuário considera uma determinada chave válida ou não
O nível de confiança depositado pelo usuário na chave entregue para validar outras chaves
Você indica, na sua cópia da minha chave, se o meu julgamento tem algum valor para você. É na verdade um sistema de reputação: alguma pessoa tem a reputação de fornecer boas assinaturas, e outras pessoas confiam nelas para atestar a validade das chaves de terceiros.
Existem três níveis de confiança que você pode aplicar à chave pública de alguém:
Confiança marginal - Sem confiança (ou não confiável) Para tornar as coisas confusas, existem também três níveis de validade:
Marginalmente Válido Inválido Para definir a chave de outro como sendo um apresentador de confiança:
1. Comece com uma chave válida que seja: Assinada por outro apresentador de confiança
2. Defina o nível de confiança que você concederá ao dono da chave.
Por exemplo, suponha que o sue chaveiro contenha a chave da Alice. Você validou a chave da Alice e isto ficou indicado pela sua assinatura. Você sabe que Alice é muito insistente na validação de outras chaves. Você então atesta a chave dela com o nível Total de Confiança.
Isto torna Alice uma Autoridade Certificadora. Se a Alice assinar outra chave qualquer, esta aparecerá como Válida no seu chaveiro.
O PGP exige uma assinatura totalmente confiável ou duas assinaturas marginalmente confiáveis para validar uma chave. O método do PGP de considerar duas marginalmente confiáveis como sendo equivalentes a uma completamente confiável é similar ao comerciante pedindo dois documentos de identidade (CIC e RG, ou RG e cartão do banco). Você pode considerar Alice bastante confiável e também considerar Bob bastante confiável. Porém, se um dos dois agir sozinho, corre o risco de assinar acidentalmente uma
chave falsificada. Por isto é melhor não depositar a sua total confiança em qualquer um dos dois. No entanto , as chances dos dois indivíduos assinarem a mesma chave falsa são provavelmente pequenas.
Revogação de Certidões (Certificate Revocation)
Certidões são úteis somente enquanto tiverem validade. É inseguro assumir simplesmente que uma certidão terá validade eternamente. Na maioria das organizações e em todos os PKIs, as certidões têm uma vida útil restrita. Isto delimita o período em que um sistema é vulnerável caso ocorra o comprometimento de uma certidão.
As certidões são criadas então com prazos de validade programados: uma data/horário de inicio e uma data/horário de expiração. A certidão deveria ser utilizada durante todo o seu prazo de validade (seu tempo de vida). Quando uma certidão expira, não terá mais validade, assim como a autenticidade de sua chave/par identificador não está mais assegurada.
Existem situações onde se torna necessário invalidar uma certidão antes de sua data de expiração, como no caso de um funcionário que possui uma certidão e que está sendo demitido, ou existe a suspeita de que a chave correspondente a uma certidão ficou comprometida. Isto se chama revogação. Uma certidão revogada é muito mais suspeita do que uma certidão com prazo de validade vencido. Certidões vencidas são inutilizáveis, mas não carregam a mesma ameaça de comprometimento de uma certidão revogada.
Qualquer um que tenha assinado uma certidão poderá revogar a própria assinatura (desde que este use a mesma chave particular que criou a assinatura). Uma assinatura revogada indica que o assinante na o acredita mais que a chave pública e as informações de identificação andam juntas, ou que a chave pública da certidão (ou chave particular correspondente) ficou comprometida. Uma assinatura revogada deveria ter o peso próximo de uma certidão revogada.
Com certidões X.509, uma assinatura revogada é praticamente equivalente a uma certidão revogada pois a única assinatura na certidão é aquela que a tornou válida inicialmente – a assinatura do CA. As certidões PGP oferecem o recurso adicional de permitirem a revogação da certidão com um todo (não apenas as assinaturas contidas na certidão) caso você sinta que a certidão foi comprometida.
Apenas o dono da certidão (o dono da chave particular correspondente) ou alguém cujo dono da certidão tenha designado como um revogador pode anular uma certidão PGP. (Designar um revogador é uma prática útil, pois geralmente é a perda da frase de senha passfrase -para a chave particular correspondente à certidão que leva o usuário PGP a revogar a sua certidão – uma tarefa que só é possível tendo-se acesso à chave particular.) Apenas o emitente de uma certidão X.509 pode revogar uma certidão X.509.
Comunicando a revogação de uma certidão
Quando uma certidão é revogada, é importante comunicar aos usuários potenciais da certidão que esta não é mais válida. Com certidões PGP, o jeito mais comum de informar que uma certidão foi revogada é anunciando no servidor de certidões para que outros estejam avisados de não usar esta chave pública caso queiram comunicar-se com você.
Em um ambiente PKI, o comunicado de certidões revogadas é geralmente executado através de uma estrutura de dados chamada Lista de Revogação de Certidões (Certificate Revogation List/CRL), publicada pela CA. A CRL contém uma lista validada e datada de todas as certidões revogadas e não expiradas do sistema. As certidões revogadas permanecem na lista somente até a sua data de expiração, e então são removidas da lista – isto impede que a lista se torne muito extensa.
A CA distribui a CRL para os usuários num intervalo regular (e potencialmente fora deste ciclo, sempre que houver uma certidão revogada). Teoricamente, isto irá prevenir os usuários de usar inconscientemente uma certidão comprometida. É possível no entanto que, entre o tempo de publicação das CRLs, uma certidão comprometida seja usada.
O que é uma frase-senha (passfrase)?
A maioria das pessoas está familiarizada com o uso de senhas para restringir o acesso aos seus computadores.
Uma frase-senha é uma versão estendida de uma senha, e na teoria, é mais segura. Geralmente composta de várias palavras, uma frase-senha é mais segura contra ´ataques de dicionários´, onde o agressor aplica todos as palavras contidas em um dicionário na esperança de encontra a sua senha. As melhores frases-senhas são relativamente longas e complexas e contém uma combinação de letras maiúsculas e minúsculas, caracteres numéricos e de pontuação.
O PGP usa uma frase-senha para encriptar a sua chave particular na sua máquina. A sua chave particular é encriptada no seu disco usando um ´hash´ da sua frase-senha como chave secreta. Você usa a frase-senha para decriptar e utilizar a sua chave particular. Uma frasesenha deveria ser difícil de você esquecer e difícil para outros adivinharem. Deveria ser alguma coisa bem fixada na sua memória de longo prazo e não algo que você inventou do nada. Porquê? Porquê se você esquecer a sua frase-senha, você estará em maus lençóis. A sua chave particular será completamente inútil sem a sua frase-senha e nada poderá ser feito. Lembra-se da frase no começo deste capítulo? O PGP é a criptografia que manterá grandes organizações governamentais fora dos seus arquivos. Com certeza manterá você fora dos seus arquivos também! Mantenha isto em mente quando decidir mudar a sua frasesenha para aquele final da piadinha que você não se recorda muito bem.
Divisão de chaves
Dizem que um segredo não é um segredo se é sabido por mais de uma pessoa. Compartilhar um par de chaves apresenta este tipo de problema. Mesmo não sendo uma prática recomendável, o compartilhamento de um par particular de chaves pode ser necessário em determinadas situações. As Chaves Corporativas de Assinatura (Corporate Signing Keys), por exemplo, são chaves particulares usadas por uma empresa para assinar documentos legais, informações confidenciais de seus funcionários, ou para autenticar a origem de comunicados à imprensa. Neste caso, vale a pena que vários membros da companhia tenham acesso à chave particular. No entanto, isto significa que um único indivíduo pode agir por toda a companhia.
Neste caso é sábio partilhar a chave pelos usuários de modo que mais de uma ou duas pessoas apresentem um pedaço da chave, tornando-a utilizável novamente. Se não juntarmos um número suficiente de pedaços a chave não poderá ser utilizada.
Podemos por exemplo dividir a chave em três pedaços e designar apenas dois usuários para reconstituir a chave, ou separar a chave em dois pedaços e exigir ambas as partes. Se uma conexão em rede segura é usada durante a reconstituição do processo, os donos das chaves não precisam estar fisicamente presentes para juntar os pedaços da chave.
|
|
| |
|
|
Consultoria |
| |
A área
de Consultoria da TDec é orientada a negócios,
utilizando a tecnologia de redes para apoiar o negócio
fim de nossos clientes.
Nossa área de consultoria cria
projetos e práticas para melhor uso das redes já
adquiridas através de equipes próprias do cliente ou
através de propostas de outsourcing.
Nossos projetos de consultoria fazem uma análise da
realidade e momento de cada um de nossos clientes,
propondo projetos pragmáticos e com retorno sobre o
investimento otimizado para cada cliente.
|
|
| |
|
|
Equipes de Integração de Redes |
| |
A
TDec possui
uma Área de Integração que conta com
equipes de pré-vendas, equipe de
logística e compras, equipe de suporte,
equipe de cabling e elétrica, equipe de
importação, todas operando em sistema de
"workflow" voltados ao fornecimento de
projetos de rede de alta complexidade.
>>
Nossas Equipes
|
| |
|
|
|