Buscar

História e Aplicações da Criptografia

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

História e Aplicações da Criptografia
Criptografia (kriptós = escondido, oculto; grápho = grafia) : é a arte ou ciência de escrever em cifra ou em códigos, de forma a permitir que somente o destinatário a decifre e compreenda ou seja, criptografia transforma textos originais, chamados texto original (plaintext) ou texto claro (cleartext), em uma informação transformada, chamada texto cifrado (ciphertext), texto código (codetext) ou simplesmente cifra (cipher), que usualmente tem a apararência de um texto randômico ilegível. 
A criptografia é tão antiga quanto a própria escrita, já estava presente no sistema de escrita hieroglífica dos egípcios. Os romanos utilizavam códigos secretos para comunicar planos de batalha. O mais interessante é que a tecnologia de criptografia não mudou muito até meados deste século. Depois da Segunda Guerra Mundial, com a invenção do computador, a área realmente floresceu incorporando complexos algoritmos matemáticos. Durante a guerra, os ingleses ficaram conhecidos por seus esforços para decifração de códigos. Na verdade, esse trabalho criptográfico formou a base para a ciência da computação moderna. 
Termos utilizados 
  
Criptografia (kriptós = escondido, oculto; grápho = grafia) : é a arte ou ciência de escrever em cifra ou em códigos, de forma a permitir que somente o destinatário a decifre e a compreenda. 
Criptoanálise (kriptós = escondido, oculto; análysis = decomposição) : é a arte ou ciência de determinar a chave ou decifrar mensagens sem conhecer a chave. Uma tentativa de criptoanálise é chamada ataque. 
Criptologia (kriptós = escondido, oculto; logo = estudo, ciência) : é a ciência que reúne a criptografia e a criptoanálise. 
A criptografia computacional como a conhecemos protege o sistema quanto à ameaça de perda de confiabilidade, integridade ou não-repudiação, é utilizada para garantir : 
Sigilo : somente os usuários autorizados têm acesso à informação. 
Integridade : garantia oferecida ao usuário de que a informação correta, original, não foi alterada, nem intencionalmente, nem acidentalmente. 
Autenticação do usuário : é o processo que permite ao sistema verificar se a pessoa com quem está se comunicando é de fato a pessoa que alega ser. 
Autenticação de remetente : é o processo que permite a um usuário certificar-se que a mensagem recebida foi de fato enviada pelo remetente, podendo-se inclusive provar perante um juiz, que o remetente enviou aquela mensagem. 
Autenticação do destinatário : consiste em se ter uma prova de que a mensagem enviada foi como tal recebida pelo destinatário. 
Autenticação de atualidade : consiste em provar que a mensagem é atual, não se tratando de mensagens antigas reenviadas. 
O único método disponível para oferecer proteção contra esses tipos de fatos, tanto durante o armazenamento quanto em  trânsito, é a criptografia. 
Cifrar é o ato de tranformar dados em alguma forma ilegível. Seu propósito é o de garantir a privacidade, mantendo a informação escondida de qualquer pessoa não autorizada, mesmo que esta consiga visualizar os dados criptografados. 
Decifrar é o processo inverso, ou seja, tranformar os dados criptografados na sua forma original, inteligível. 
Para cifrarmos ou decifrarmos uma mensagem, necessitamos de informações confidenciais geralmente denominadas chaves ou senhas. Dependendo do método de criptografia empregado, a mesma chave pode ser utilizada tanto para criptografar como para decriptografar mensagens, enquanto outros mecanismos utilizam senhas diferentes. 
O que a criptografia não protege
Criptografia não impede um atacante de apagar todos os seus dados. 
Um atacante pode comprometer seu programa de criptografia. O atacante pode modificar o programa para usar uma chave diferente da que você gerou ou talvez gravar todas chaves de encriptção em um arquivo para análise posterior. 
Um atacante pode encontrar uma forma relativamente fácil de decriptografar as mensagem conforme o algorítimo que você esteja usando. 
Um atacante pode acessar seus arquivos antes de você encripta-lo ou após a decripatação. 
Por tudo isso, a criptografia deve fazer parte da sua estratégia de segurança, mas não deve ser a substituta de outras técnicas de segurança.
�
Técnicas básicas de criptografia 
Transposição e Substituição 
  
Transposição - Cifra de transposição (algumas vezes chamada de cifra de permutação) reorganiza a ordem dos bits, caracteres ou bloco de caracteres. 
Substituição - Cifra de substituição troca os bits, caracteres ou blocos de caracteres por outros (por exemplo, uma letra é trocada por outra). Um exemplo clássico de substituição é a cifra de Cesar, que substitui as letras avançando três casas dentro do alfabeto. 
Vejamos um exemplo muito simples de transposição, as letras do texto original (texto plano) são embaralhadas. Com este tipo de cifra, as letra originais do texto plano são preservadas, existe somente uma troca de posições. 
  
NUCLEAR  ==>
ENCRIPTAÇÃO  ==>
LUCNARE
Agora um exemplo também muito simples de cifra de substituição, as letras do texto plano são trocadas por outras letras, números ou símbolos. Com este tipo de cifra as posições originais das letras do texto plano são preservadas, mas as letras são substituidas por outras. 
  
NUCLEAR  ==>
ENCRIPTAÇÃO  ==>  
Troca de cada letra do alfabeto pela próxima letra do alfabeto.
O V D M F B S
  
NUCLEAR  ==>
ENCRIPTAÇÃO  ==>  
Troca de cada letra do alfabeto pelo número de representação da letra dentro do alfabeto.
14 21 3 12 5 1 18
Algoritmos Criptográficos 
Os modernos algoritmos de criptografia podem ser classificados em dois tipos de acordo com a chave que utiliza : os de chave única e os de chave pública e privada. 
�
Chave simétrica 
Os algoritmos de chave única, são também conhecidos como algoritmos de chave simétrica e, caracterizam-se por utilizar a mesma chave tanto para a cifragem como para a decifragem dos dados, esse método funciona  em aplicações limitadas, como as militares, onde o emissor e o receptor podem se preparar antecipadamente para trocar a chave. 
Infelizmente, genericamente esse método não funciona muito bem, pois trocar chaves secretas com todas as pessoas a quem você queira enviar uma mensagem é praticamente impossível. Para ilustrar isso, considere o que você teria de fazer se tivesse de enviar um memorando confidencial para acionistas de uma empresa. Primeiro, você teria de entrar em contato com cada acionista individualmente para que pudesse fazer a troca das chaves secretas. Isso poderia ser feito ao telefone, mas se as mensagens fossem extremamente confidenciais, talvez fosse melhor você trocar chaves pessoalmente. Lembre-se de que você precisaria fazer isso para todas as pessoas; cada uma teria uma chave secreta separada. Para aumentar a complexidade desse sistema, você também deverá se lembrar de qual chave serve para cada cliente. Se você as misturar, os clientes não serão capazes de ler as suas mensagens. Obviamente, esse tipo de sistema não é viável para transações comerciais comuns. 
Algoritmo Simétrico
Bits
Descrição
DES
56
O Data Encryption Standard (DES) é o algoritmo simétrico mais disseminado no mundo. Foi criado pela IBM em 1977 e, apesar de permitir cerca de 72 quadrilhões de combinações (256), seu tamanho de chave (56 bits) é considerado pequeno, tendo sido quebrado por "força bruta" em 1997 em um desafio lançado na Internet. 
O NIST (National Institute of Standards and Technology), que lançou o desafio mencionado, recertificou o DES pela última vez em 1993 e desde então está recomendando o 3DES. O NIST está também propondo um substituto ao DES que deve aceitar chaves de 128, 192 e 256 bits, operar com blocos de 128 bits, ser eficiente, flexível e estar livre de "royalties". 
O novo padrão, denominado AES (Advanced Encryption Standard), está sendo estudado desde 1997 a partir de vários algoritmos apresentados pela comunidade. Os finalistas são: Serpent,
Mars, RC6, Twofish e Rinjdael, e o resultado deverá ser divulgado no final de 2000.
Triple DES
112 ou 168
O 3DES é uma simples variação do DES, utilizando-o em três ciframentos suscessivos, podendo empregar um versão com duas ou com três chaves diferentes. É seguro, porém muito lento para ser um algoritmo padrão.
IDEA
128
O International Data Encryption Algorithm  foi criado em 1991 por James Massey e Xuejia Lai e possui patente da suíça ASCOM Systec. O algoritmo é estruturado seguindo as mesmas linhas gerais do DES. Mas na maioria dos microprocessadores, uma implementação por software do IDEA é mais rápida do que uma implementação por software do DES. O IDEA é utilizado principalmente no mercado financeiro e no PGP, o programa para criptografia de e-mail pessoal mais disseminado no mundo.
Blowfish
32 a 448
Algoritmo desenvolvido por Bruce Schneier, que oferece a escolhe entre maior segurança ou desempenho através de chaves de tamanho variável. O autor aperfeiçoou-o no Twofish, concorrente ao AES.
RC2
8 a 1024
Projetado por Ron Rivest (o R da empresa RSA Data Security Inc.) e utilizado no protocolo S/MIME, voltado para criptografia de e-mail corporativo. Também possui chave de tamanho variável. Rivest também é o autor do RC4, RC5 e RC6, este último concorrente ao AES.
�
Chave assimétrica 
Os algoritmos de chave pública e privada, também chamados de algoritmos de chave assimétrica, utilizam duas chaves : uma pública que pode ser divulgada e outra secreta conhecida somente por pessoas autorizadas. Em um sistema de chave pública, cada pessoa tem duas chaves: uma chave pública e uma chave privada. As mensagens criptografadas com uma das chaves do par só podem se decriptografadas com a outra chave correspondente; portanto, qualquer mensagem criptografada com a chave privada só pode ser decriptografada com a chave pública e vice-versa. Como o nome sugere, normalmente a chave pública é mantida universalmente disponível. A outra chave, a chave privada, é mantida em segredo. 
Vamos ver com a juda de um exemplo o funcionamento da chave pública. Se Frank e Andrea quiserem se comunicar secretamente usando a criptografia com chave pública, eles terão de fazer o seguinte : 
  
Frank escreve uma mensagem e a criptografa utilizando a chave pública de Andrea. A chave está disponível para qualquer pessoa. 
Frank envia a mensagem para Andrea através da Internet. 
Andrea recebe a mensagem e a decriptografa utilizando sua chave privada. 
Andrea lê a mensagem. Se quiser responder, ela deverá fazer o mesmo, a diferença é que dessa vez a chave de Frank será utilizada. 
Como apenas Andrea tem acesso à sua própria chave privada (presupondo-se que a segurança do sistema seja eficiente), somente ela poderá ler a mensagem, pois existe confidencialidade. A grande vantagem deste sistema é que não só Frank pode enviar mensagens secretas para Andrea, todo mundo pode. Tudo o que o emissor precisa é da chave pública de Andrea. 
Lembre-se que o sigilo da chave privada é importantíssimo. O criptossistema inteiro se baseia no fato de que a chave privada é realmente privada. Se um invasor conseguir roubar a sua chave privada, tudo estará perdido. Não importa qual seja a eficiência do algoritmo de criptografia - o intruso vencerá e poderá ler e criar mensagens utilizando seu nome. 
  
ADVERTÊNCIA :
Mantenha sua chave privada secreta. Não a guarde em texto simples no sistema. Se um intruso roubar a sua chave privada, ele poderá assumir a sua identidade, e enviar e receber mensagens como se fosse você.
Algoritmo
Descrição
RSA
O RSA é um algoritmo assimétrico que possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT. É, atualmente, o algoritmo de chave pública mais amplamente utilizado, além de ser uma das mais poderosas formas de criptografia de chave pública conhecidas até o momento. O RSA utiliza números primos.  
A premissa por trás do RSA é que é fácil multiplicar dois números primos para obter um terceiro número, mas muito difícil recuperar os dois primos a partir daquele terceiro número. Isto é conhecido como fatoração. Por exemplo, os fatores primos de 3.337 são 47 e 71. Gerar a chave pública envolve multiplicar dois primos grandes; qualquer um pode fazer isto. Derivar a chave privada a partir da chave pública envolve fatorar um grande número. Se o número for grande o suficiente e bem escolhido, então ninguém pode fazer isto em uma quantidade de tempo razoável. Assim, a segurança do RSA baseia-se na dificuldade de fatoração de números grandes. Deste modo, a fatoração representa um limite superior do tempo necessário para quebrar o algoritmo. 
Uma chave RSA de 512 bits foi quebrada em 1999 pelo Instituto Nacional de Pesquisa da Holanda, com o apoio de cientistas de mais 6 países. Levou cerca de 7 meses e foram utilizadas 300 estações de trabalho para a quebra. Um fato preocupante: cerca de 95% dos sites de comércio eletrônico utilzam chaves RSA de 512 bits. 
ElGamal
O ElGamal é outro algoritmo de chave pública utilizado para gerenciamento de chaves. Sua matemática difere da utilizada no RSA, mas também é um sistema comutativo. O algoritmo envolve a manipulação matemática de grandes quantidades numéricas. Sua segurança advém de algo denominado problema do logaritmo discreto. Assim, o ElGamal obtém sua segurança da dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatoração.
Diffie-Hellman
Também baseado no problema do logaritmo discreto, e o criptosistema de chave pública mais antigo ainda em uso. O conceito de chave pública aliás foi introduzido pelos autores deste criptosistema em 1976. Contudo, ele não permite nem ciframento nem assinatura digital. O sistema foi projetado para permitir a dois indivíduos entrarem em um acordo ao compartilharem um segredo tal como uma chave, muito embora eles somente troquem mensagens em público.
Curvas Elípticas
Em 1985, Neal Koblitz e V. S. Miller propuseram de forma independente a utilização de curvas elípticas para sistemas criptográficos de chave pública. Eles não chegaram a inventar um novo algoritmo criptográfico com curvas elípticas sobre corpos finitos, mas implementaram algoritmos de chave pública já existentes, como o algoritmo de Diffie e Hellman, usando curvas elípticas. Assim, os sistemas criptográficos de curvas elípticas consistem em modificações de outros sistemas (o ElGamal, por exemplo), que passam a trabalhar no domínio das curvas elípticas, em vez de trabalharem no domínio dos corpos finitos. Eles possuem o potencial de proverem sistemas criptográficos de chave pública mais seguros, com chaves de menor tamanho.  
Muitos algoritmos de chave pública, como o Diffie - Hellman, o ElGamal e o Schnorr podem ser implementados em curvas elípticas sobre corpos finitos. Assim, fica resolvido um dos maiores problemas dos algoritmos de chave pública: o grande tamanho de suas chaves. Porém, os algoritmos de curvas elípticas atuais, embora possuam o potencial de serem rápidos, são em geral mais demorados do que o RSA.
Assinatura Digital: 
Ter duas chaves separadas proporciona outro benefício : a assinatura digital. Imagine usar o sistema de forma invertida. Em vez de Frank criptografar a mensagem com a chave pública de Andrea, ele utiliza sua própria chave privada. Você deve observar que agora todo mundo pode ler a mensagem, ele deixou de ser privada. Isso é verdade, mas também é verdade que apenas Frank poderia ter escrito a mensagem. Pois ele é a unica pessoa capaz de criar mensagens que possam ser lidas com sua chave pública, pressupondo-se que Frank não tenha compartilhado sua chave privada com ninguém mais e que ela seja realmente secreta. 
Vejamos um exemplo. Frank quer enviar uma mensagem para todos os seus contatos informando-os que mudou de emprego. Na verdade, ele não se importa com quem lerá a mensagem, mas quer ter certeza de garantir a seus contatos que a mensagem realmente
é dele, e não de outra pessoa. 
Frank escreve a mensagem e a criptografa utilizando sua chave privada. 
Frank envia a mensagem a seus contatos através da Internet. 
Os contatos recebem a mensagem e a decriptografam utilizando a chave pública de Frank. 
O fato de a chave pública de Frank ter decriptografado a mensagem garante aos contatos que a mensagem realmente é de Frank. Qualquer mensagem decriptografada com a chave pública de Frank só poderia ter sido criada com sua chave privada. 
Isso é muito importante. Na criptografia com chave pública, cada par de chaves é único. Só existe apenas uma chave pública para cada chave privada e vice-versa. Se isso não fosse verdade, a assinatura digital não seria possível; um impostor poderia utilizar outra chave privada para criar uma mensagem que pudesse ser lida pela chave pública fornecida. 
Podemos observar que a assinatura digital assegura aos contados que a mensagem não foi alterada (integridade) e que vei de Frank (autenticidade). Além disso, Frank é o único com acesso a sua chave privada. 
Agora combinando so dois métodos, Frank pode enviar uma mensagem privada e assinada para Andrea, vejamos : 
Frank escreve a mensagem e a criptografa utilizando sua chave privada (assinatura da mensagem). 
Em seguida, ele criptografa a mensagem com a chave pública de Andrea (tornando-a privada) 
Frank envia a mensagem duplamente criptografada para Andrea através da Internet. 
Andrea recebe a mensagem. 
Ela decriptografa a mensagem duas vezes. Primeiro, ela utiliza sua chave privada e, depois, a chave pública de Frank. 
Agora Andrea pode ler a mensagem e tem certeza que ela é secreta e vei de Frank. Ela tem certeza de que a mensagem não foi modificada; para alterá-la, o invasor teria de acessar a chave privada de Frank. 
Como Combinar Criptografia com chave pública e criptografia simétrica : 
Agora vamos ver a combinação dos dois métodos : A criptografia com chave pública é computacionalmente intensiva; é necessário muito tempo para criptografar uma mensagem com apenas alguns parágrafos. No entanto, nem tudo está perdido, pois os melhores aspectos da criptografia com chave simétrica e da criptografia com chave assimétrica podem ser combinados codificando-se a mensagem com o método da chave simétrica e criptografando-se a chave simétrica com o método de chave pública, vejamos: 
Novamente vamos considerar Frank e Andrea. Frank quer enviar uma mensagem à Andrea, mas dessa vez ele utilizará uma combinação de criptografia com chave pública e de criptografia com chave simétrica : 
Frank escreve a mensagem e a codifica utilizando a criptografia com chave simétrica com uma chave que ele cria aleatoriamente apenas para essa mensagem. Isso é conhecido como chave de mensagem ou chave de sessão. 
Frank criptografa essa chave de sessão com a chave pública de Andrea. 
Frank envia a mensagem criptografada e a chave de sessão criptografada a Andrea. 
Andrea decriptografa a chave de sessão utilizando sua chave privada. 
Em seguida, Andrea decriptografa a mensagem usando a chave de sessão que acabou de receber. 
Andrea agora pode ler a mensagem. 
Esse método se beneficia da força dos dois tipos de criptossistemas : a velocidade da criptografia simétrica e a facilidade dos mecanismos de distribuição de chave do sistema de criptografia com chave pública. 
Tudo bem, esse método resolve o problema de garantir a confidencialidade de uma mensagem, mas como fica a integridade e a não-repudiação ? Poderíamos simplemente criptografar a mensagem utilizando a chave privada do emissor, como fizemos antes. Infelizmente, encontramos os mesmos problemas de desempenho discutidos anteriormente com relação à confidencialidade. Para resolver o problema, precisamos introduzir outra ferramenta útil conhecida como message digest (ou hash). 
Message digest é uma função que obtém uma mensagem como entrada e produz um código de tamanho fixo como saída. Por exemplo, se tivéssemos uma função de message digest de 10 bytes, qualquer texto que executássemos através da função produziria 10 bytes de saída, como dar3ksjudr. Lembre-se de que cada mensagem deverá produzir facilmente um message digest aleatório. Ou seja, qualquer par de mensagens que escolhermos deverá produzir um message digest específico. 
Existem muitos algoritmos de message digest ou hash, mas para que eles sejam úteis a esse propósito (considerados criptograficamente seguros), o algoritmo deverá exibir determinadas propriedades, como as seguintes : 
Sem retorno - Deverá ser difícil ou impossível determinar a mensagem que produziu uma determinada saída. Isso impedirá que alguém substitua uma mensagem por outra que tenha o mesmo message digest. 
Aleatoriedade - A mensagem deverá parecer aleatória, mais uma vez para impedir que alguém determine a mensagem original. 
Exclusividade - O message digest deverá ser exclusivo, de modo que a existência de duas mensagens com o mesmo message digest seja impossível. 
Vários message digests exibem essas propriedade. Os mais utilizados são o MD4 e o MD5, e o SHA. 
Vejamos como os message digest podem ser usados para oferecer não-repudiação e integridade. Frank deseja enviar uma mensagem assinada a seus contatos, só que agora de uma forma mais eficiente : 
Frank escreve a mensagem e cria um message digest da mensagem. 
Frank criptografa o message digest com sua chave privada (ele assina a mensagem). 
Ele envia a mensagem e o message digest criptografados a seus contatos (eniod da assinatura). 
Os contatos de Frank calculam um novo message digest da mensagem que acabaram de receber. 
Em seguida, eles decriptografam o message digest que Frank enviou. Para isso utilizam a chave pública de Frank. 
Por fim, eles comparam o message digest que criaram com o que Frank enviou (verificação da assinatura). 
Se os dois message digest forem iguais, isso significa que somente Frank poderá ter enviado a mensagem. Além disso, a mensagem não poderia ter sido modificada, pois nesse caso os contatos teriam calculado um message digest que não corresponderia ao enviado pro Frank. 
E finalmante para oferecer confidencialidade, integridade e não repudiação, devemos combinar criptografia com chave pública e message digest, Frank deseja enviar uma mensagem secreta assinada para Andrea : 
Frank escreve a mensagem e cria um message digest da mensagem. 
Frank criptografa o message digest com sua chave privada (ele assina a mensagem). 
Ao mesmo tempo, Frank codifica a mensagem com base na técnica de criptografia com chave simétrica utilizando uma chave de sessão aleatoriamente escolhida. 
Frank criptografa a chave de sessão com a chave pública de Andrea. 
Agora, ele envia à Andrea a mensagem criptografada, o message digest criptografado e a chave de sessão criptografada. 
Andrea recebe todos os três itens. Primeiro, ela decriptografa a chave de sessão usando sua chave privada. 
Usando a chave de sessão decriptografada, Andrea decriptografa a própria mensagem. 
Em seguida, ela calcula seu próprio message digest da mensagem. 
Agora, ela decriptografa o message digest enviado por Frank. Para isso, Andrea utiliza a chave pública de Frank. 
E finalmente, ela compara os dois message digest. Se eles forem iguais, isso significa que a mensagem não foi alterada e realmente foi enviada por Frank. 
Certificados : 
Como acabamos de ver, a criptografia com chave pública pode ser usada para proporcionar confidencialidade, integridade não-repudiação. A assinatura digital exige que o verificador esteja certo de que tem uma chave pública pertencente à pessoa que assinou a mensagem. A confiança do verificador na assinatura deverá ser igual à sua confiança no proprietário da chave pública. Por exemplo, se um violador quiser forjar documentos eletrônicos, uma estratégia seria criar um par de chave pública/chave privada e divulgar a chave pública com o nome de outra pessoa. Quaisquer documento assinado com a
chave privada do violador serão verificados com a chave pública correspondente - uma chave pública que tenha sido anunciada como pertencente a outra pessoa. 
Existem diversas estratégias para solucionar esse problema. Uma delas é trocar chaves públicas através de um meio diret, como uma reunião. Infelizmente, esse método não funciona bem quando temos muitas pessoas envolvidas. Uma opção melhor seria a utilização de certificados e de autoridades de certificação. 
Um certificado é um documento digital contendo informações de identificação e uma chave pública. Em geral, os certificados têm um formato comum, normalmente baseados no padrão ITU-T X.509. Mas ainda não podemos ter certeza de que o certificado é genuíno e não é falso. Uma forma de descobrir isso é utilizar autoridades de certificação ou CAs. 
Uma autoridade de certificação assina certificados de chave pública digitalmente. Ao assinar um certificado, a CA garante sua validade. No entanto um problema persiste : como a chave pública da CA é distribuída? Também existem muitas estratégias para esse problema. Em uma delas, se a CA for muito conhecida, como é o caso do serviço postal americano, ele poderá divulgar amplamente sua chave pública. Outro método seria que a CA tivesse seu próprio certificado assinado por outra CA, também conhecida pelo destinatário. Essa idéia de encadeamento de certificação pode avançar ainda mais, com várias CAs organizadas em uma hierarquia onde cada CA subordinada valida sua assinatura com a assinatura de uma CA mais alta na hierarquia. Obviamente, as CAs de nível mais alto deverão reverter para o método de divulgação direta. 
Quem oferecerá esses serviços ? Há muito para se discutir a respeito de quem deverá manter CAs na Internet. Muitas organizações, incluindo instituições financeiras, fornecedores de aplicações e até mesmo o serviço postal americano expressaram interesse em oferecer serviços de certificação. Em 1995, com a ajuda de muitos parceiros, a RSA Data Security criou uma empresa, a VeriSign, inteiramente dedicada ao fornecimento de serviços de certificação para usuários de chaves públicas. 
Em um fututo próximo, provavelmente existirão CAs na Internet, cada uma com exigências variáveis para comprovar identidade. Algumas podem exigir que você venha pessoalmente com uma cópia da sua certidão de nascimento, enquanto outras podem assinar certificados com a garantia de sua palavra. A questão aqui é que o fato de um documento ter sido assinado por uma CA não o torna necessariamente válido. 
Questões práticas no uso da criptografia : 
Vejamos algumas questões de gerenciamento relacionadas ao uso da criptografia: 
Tamanho da chave - A criptoanálise, a ciência da decodificação de cifras, se baseia no fatoramento de números grandes. Conseqüentemente, quanto maior a chave, mais difícil decifrá-la. No entanto, as empresas que conduzem negócios nos Estados Unidos e no exterior são limitadas pelas leis americanas à utilização de chaves de 40 bits em suas aplicações. Quarenta bits já são o bastante? Depende do que está sendo criptografado; as chaves RC4 de 40 bits podem ser decifradas com uma certa facilidade. Portanto, você não vai quere usá-las para criptografar informações durante um período muito longo. Apesar de exigir um esforço considerável, a decifração de uma mensagem criptografada com uma chave RC4 de 40 bits é possivel. As chaves de 40 bits podem ser seguras para criptografar ordens de compra ou mensagens de correio eletrônico (que só precisam permanecer secretas até que o destinatário as receba), mas talvez não sejam suficientes para proteger segredos vitais para as empresas. 
Revogação de certificado - O que acontece quando uma chave privada é comprometida, ou uma chave pública passa a ser inválida? Nesse caso, os certificados deixam de ser confiáveis, pois as informações que eles estão certificando não são mais verdadeiras. Como podemos impedir que os certificados sejam usados? Muitas autoridades de certificação divulgão periodicamente listas de certificados que não devem mais ser considerados válidos, as CRLs (certificate revocation lists). Os certificados dessas listas podem ter expirados, ou o par de chaves associados ao certificado pode ter sido decifrado. As CRLs são muito eficientes para verificar a precisão de um certificado em um determinado momento. No entanto, as CRLs não lhe dão qualquer garantia de que um certificado não foi revogado desde sua divulgação. Por essa razão, muitas organizações estão procurando outras soluções para lidar com a verificação de certificados. 
Estrutura de CA - Já falamos sobre CAs e como podem ser "encadeadas" em hierarquias de certificação. Portanto, as grandes organizações podem optar por ter dentro delas várias CAs (uma para o departamento de pesquisa, outra para o departamento de bolsas e assim por diante) e ter uma única CA de nível mais alto para certificar as CAs dos departamentos. No entanto, manter vários níveis de CAs pode ser complicado. Além disso, ter uma única CA na empresa cria um "único ponto de falha", pois o comprometimento do par de chaves da CA corporativa pode resultar na perda das chaves de todos os funcionários da empresa. Outras empresas optam por uma estrutura plana de CAs, na qual cada CA departamental tem muitas outras CAs parceiras, que correspondem ao outros departamentos da empresa. É melhor ter uma hierarquia de CAs, na qual o comprometimento de uma única CA pode resultar no comprometimento de todos os certificados da empresa, ou é melhor ter uma estrutura plana, na qual várias CAs devem ser controladas e devem trocar mensagens umas com as outras? 
Fazer ou não fazer caução - Esse é um dos assuntos mais debatidos no que se refere à criptografia. Muitas empresas afirmam que, como a comunicação dos funcionários é propriedade da empresa, a organização deverá ter acesso às chaves dos funcionários, recuperar mensagens (quando houver desligamento de funcionários ou quando eles perderem suas chaves, por exemplo). Po outro lado, a maior parte dos defensores da privacidade é veemente contra essa idéia, citando a emenda federal que garante os direitos dos funcionários à privacidade. (E no Brasil, como anda isso?) 
O que fazer com todas essas informações - O arquivamento de chaves e de dados criptografados (mensagens de correio eletrônico criptografadas, ordens de compra assinadas,...) é uma questão extremamente difícil. Muitas empresas têm de armazenar informações durante muitos tempo, devido a regulamentos ou outras restrições. Mas, com freqüência, armazenar mensagens ou ordens de compra pode envolver muito mais do que simples manutenção de informações. Considere, por exemplo, o armazenamento de ordens de compras assinadas. Como as assinaturas só podem ser verificadas com a chave pública apropriada, todas as chaves públicas (e suas cadeias de certificação) devem ser guardadas para sempre. Mais uma vez, para grandes empresas, isso pode ser complicado.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais