O documento fornece uma introdução sobre criptografia, abordando:
1) Definição e objetivos da criptografia;
2) Diferença entre criptografia de chave única e chaves pública e privada;
3) Explicação do formato e estrutura das chaves criptográficas.
2. CONTEÚDO PROGRAMÁTICO
6. Criptografia
6.1. O que é criptografia de chave única?
6.2. O que é criptografia de chaves pública e privada?
6.3 Mas afinal, O que é de fato uma chave? Qual o formato dela?
6.4. O que HASH?
6.5. O que é assinatura digital?
6.6 Certificado Digital
6.7 O que é Autoridade Certificadora (AC)?
6.8 Que exemplos podem ser citados sobre o uso de certificados?
6.9 Que exemplos podem ser citados sobre o uso de criptografia de chave
única e de chaves pública e privada?
6.10 Que tamanho de chave deve ser utilizado?
6.11 Como posso obter um certificado?
6.12 GP
6.12.1 Open PGP
3. /EdZKh K
Olá pessoal!
Finalmente estamos na última semana do nosso curso.
Na parte anterior deste fascículo, tratamos de segurança de computadores sob
um olhar mais complexo e generalista da proteção. Tratamos de segurança de
perímetros de rede. Citamos ferramentas como:
Proxy
Firewall + Proxy (ProxyWall)
IDS – Intrusion Detection System
IPS – Intrusion Prevention System
VPN
Também conhecemos algumas ferramentas utlizadas pelos hackers como
Sniffers, Escaneadores de Rede e ferramentas de Footprinting.
Além disso, tratamos de aspectos de segurança física e lógica
Esta semana iremos abordar uma única área da Segurança. A Criptografia.
Ao final dessa semana você será capaz de:
• Conhecer a finalidade da Criptografia;
• Conhecer métodos de Criptografia;
• Entender a estrutura de Chaves simétricas e assimétricas;
• Conhecer a Esteganografia;
• Entender a função hash;
• Entender o que é Autoridade Certificadora, certificados e assinatura digital;
• Saber Criptografar e Descriptografar arquivos e textos.
• Conhecer e utilizar o PGP e o OpenPGP.
Sempre Seguro! E... Boa leitura!
4. 6. Criptografia
Criptografia (Do Grego kryptós, escondido, e gráphein, escrita) é o estudo dos
princípios e técnicas pelas quais a informação pode ser transformada da sua forma
original para outra ilegível, de forma que possa ser conhecida apenas por seu
destinatário (detentor da chave secreta), o que a torna difícil de ser lida por alguém
não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com
facilidade. É um ramo da Matemática, parte da Criptologia.
No sentido mais básico da palavra, criptografar tem a ver com embaralhar. Veja o
exemplo abaixo:
Imagine que eu queira enviar uma mensagem “secreta” para minha namorada,
mas sei que o pai dela vai ver a mensagem, então a maneira mais primária de
Criptografar uma mensagem é trocando algumas letras por outras ou ainda, por
números. Veja o exemplo abaixo:
“Oi meu amor, me encontre hoje às 6 horas em frente a padaria.”
Se eu apenas fizer uma relação, trocando vogais por número, desta forma:
Toda vez que aparecer a letra a vou trocar pelo número 1
Toda vez que aparecer a letra e vou trocar pelo número 2
Toda vez que aparecer a letra i vou trocar pelo número 3
Toda vez que aparecer a letra o vou trocar pelo número 4
Toda vez que aparecer a letra u vou trocar pelo número 5
Então a nossa chave será essa:
a=1
e=2
i=3
o=4
u=5
A mensagem criptografada ficará assim:
“4i m25 1m4r, m2 2nc4ntr2 h4j2 1s 6 h4r1s 2m fr2nt2 1 p1d1r31.”
Só que para minha namorada entender, eu terei que enviar para ela minha chave
de criptografia para que ele possa Descriptografar o texto e me encontrar -
Mas como entregar a chave para a minha namorada sem que o pai dela veja???
5. Os termos corretos de toda essa mensagem secreta é:
A Mensagem em Texto Puro (Plain text)
“Oi meu amor, me encontre hoje as 6 horas em frente a padaria.”
A Chave secreta de criptografia
a=1 , e=2 , i=3 , o=4 , u=5
A Mensagem Criptografada ou Cifrada
“4i m25 1m4r, m2 2nc4ntr2 h4j2 1s 6 h4r1s 2m fr2nt2 1 p1d1r31.”
A Mensagem Descriptografada ou Decifrada em Texto Puro (Plain text)
“Oi meu amor, me encontre hoje as 6 horas em frente a padaria.”
Claro que isso é uma criptografia super simples e muito fácil de ser quebrada,
mas é um bom exemplo para um encontro “Secreto”!
Criptografia é a ciência e arte de escrever mensagens em forma cifrada ou em
código. É parte de um campo de estudos que trata das comunicações secretas,
usadas, dentre outras finalidades, para:
• Autenticar a identidade de usuários;
• Autenticar e proteger o sigilo de comunicações pessoais e de transações
comerciais e bancárias;
• Proteger a integridade de transferências eletrônicas de fundos.
• Passar mensagens onde somente o emissor e o destinatário possam entender
o conteúdo da mensagem;
• Certificar que a mensagem não foi modificada em parte alguma do trajeto
• Certificar que o remetente da mensagem é realmente autêntico.
Uma mensagem codificada por um método de criptografia deve ser privada, ou
seja, somente aquele que enviou e aquele que recebeu devem ter acesso ao conteúdo
da mensagem. Além disso, uma mensagem deve poder ser assinada, ou seja, a
pessoa que a recebeu deve poder verificar se o remetente é mesmo a pessoa que diz
ser e ter a capacidade de identificar se uma mensagem pode ter sido modificada.
Uma informação não-cifrada que é enviada de uma pessoa (ou organização) para
outra é chamada de texto claro (plaintext). Cifragem é o processo de conversão de
um texto claro para um código cifrado e decifragem é o processo contrário, de
recuperar o texto original a partir de um texto cifrado.
6. Diffie e Hellman são dois pesquisadores que revolucionaram os sistemas de
criptografia existentes até 1976, a partir do desenvolvimento de um sistema de
criptografia de chave pública que foi aperfeiçoado por pesquisadores do MIT
(Massachusetts Institute of Tecnology) e deu origem ao algoritmo RSA.
Os métodos de criptografia atuais são seguros e eficientes e baseiam-se no uso
de uma ou mais chaves. A chave é uma seqüência de caracteres, que pode conter
letras, dígitos e símbolos (como uma senha), e que é convertida em um número,
utilizado pelos métodos de criptografia para codificar e decodificar mensagens.
Atualmente, os métodos criptográficos podem ser subdivididos em duas grandes
categorias, de acordo com o tipo de chave utilizada: a criptografia de chave única e
a criptografia de chave pública e privada.
Termos relacionados à criptografia são Esteganografia, Esteganálise, Código,
Criptoanálise e Criptologia.
A Esteganografia é o estudo das técnicas de ocultação de mensagens dentro de
outras, diferentemente da Criptografia, que a altera de forma a tornar seu significado
original ininteligível. A Esteganografia não é considerada parte da Criptologia, apesar
de muitas vezes ser estudada em contextos semelhantes e pelos mesmos
pesquisadores. Um excelente exemplo de Esteganografia é esconder uma mensagem
de texto dentro de uma imagem.
6.1. O que é criptografia de chave única?
A criptografia de chave única utiliza a mesma chave tanto para codificar quanto
para decodificar mensagens. Apesar deste método ser bastante eficiente em relação
ao tempo de processamento, ou seja, o tempo gasto para codificar e decodificar
mensagens, tem como principal desvantagem a necessidade de utilização de um meio
seguro para que a chave possa ser compartilhada entre pessoas ou entidades que
desejem trocar informações criptografadas.
Conforme o exemplo dado no início deste capítulo:
A Mensagem em Texto Puro (Plain text)
“Oi meu amor, me encontre hoje as 6 horas em frente a padaria.”
A Chave secreta de criptografia
a=1 , e=2 , i=3 , o=4 , u=5
A Mensagem Criptografada ou Cifrada
“4i m25 1m4r, m2 2nc4ntr2 h4j2 1s 6 h4r1s 2m fr2nt2 1 p1d1r31.”
A Mensagem Descriptografada ou Decifrada em Texto Puro (Plain text)
“Oi meu amor, me encontre hoje as 6 horas em frente a padaria.”
7. A chave é única e tanto eu como minha namorada teríamos que ter a mesma
chave para Cifrar e Decifrar o texto.
A figura abaixo ilustra outro exemplo. Note que a chave que Criptografa e
Descriptografa é a mesma:
Fonte: http://www.gta.ufrj.br
6.2. O que é criptografia de chaves pública e privada?
A criptografia de chaves pública e privada utiliza duas chaves distintas, uma para
codificar e outra para decodificar mensagens. Neste método cada pessoa ou entidade
mantém duas chaves: uma pública, que pode ser divulgada livremente, e outra
privada, que deve ser mantida em segredo pelo seu dono. As mensagens codificadas
com a chave pública só podem ser decodificadas com a chave privada
correspondente.
Veja o exemplo, onde José e Maria querem se comunicar de maneira sigilosa.
Então, eles terão que realizar os seguintes procedimentos:
1. José codifica uma mensagem utilizando a chave pública de Maria, que está
disponível para o uso de qualquer pessoa;
2. Depois de criptografada, José envia a mensagem para Maria, através da
Internet;
3. Maria recebe e decodifica a mensagem, utilizando sua chave privada, que é
apenas de seu conhecimento;
8. 4. Se Maria quiser responder a mensagem, deverá realizar o mesmo
procedimento, mas utilizando a chave pública de José.
A figura abaixo ilustra outro exemplo. Note que a chave que Criptografa é
diferente da chave que Descriptografa o texto:
Fonte: http://www.gta.ufrj.br
Apesar deste método ter o desempenho bem inferior em relação ao tempo de
processamento, quando comparado ao método de criptografia de chave, apresenta
como principal vantagem a livre distribuição de chaves públicas, não necessitando de
um meio seguro para que chaves sejam combinadas antecipadamente. Além disso,
pode ser utilizado na geração de assinaturas digitais.
Saiba mais:
O Termo Técnico mais conhecido para estrutura de Chaves Públicas de Chaves
Privadas é PKI – Public Key Infrastructure. No Brasil, convencionou-se o termo ICP
– Infra-estrutura de Chave Pública.
Fim do boxe
6.3 Mas afinal, O que é de fato uma chave? Qual o formato dela?
Bom, uma chave ou um par delas são arquivos que são gerados por algoritmos
criptográficos que estão ligados entre si. O Que um arquivo criptografa o outro é capaz
de Descriptografar. Este tópico visa a lhe familiarizar com o formato da chave. Na
verdade você não vai entender nada, parecem seqüências de caracter aleatórias mas
na verdade só parecem.
9. Veja abaixo como é um arquivo de Chave Privada:
ssh-rsa:
Encryption: none
Comment: Chave-Privada-Teste
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIEAk5jXFkeE9sfX4V2UAVLGfWaDao1qUmPuRzaz
v2JmOKhfoNgok10k1I3BZDxXi4/sk1cl1KmqSgs99vGyOBeIPITd9SKeLlwtROw1
cf90CJDyNbKrYlIgig9l5Z2IfnQj/bji9TzrjIlePrvPy2S/ZUOpQkcuqqulQwdP
bvQAXtc=
Private-Lines: 8
AAAAgFfCqWcxcad9vqGtQz8On4jVK4t2revMtzFDHsTSuVIe7MCAhtQpi4VNXjuZ
gCl4K806vIxJNNIUhbVtHdwpqvKemEY3fhnpBa4KlWkj+JPNQIzE9UldGfYiaSGJ
w9hVMskmk8G1rcI3hA9qE02on+CEMQa4OJVO3jaGaZgp2EItAAAAQQD6r9Mzwfza
rslh1pC6V519aevHF8EqfNPo2SBe8Jnly+ElCNA7RV3IhrVvaq6UNTlbcOt2D9Xd
1wI4oOImnRr3AAAAQQCWuavXWZGQ3ahKBoHltInF+NGJDl/zyYDsrWnuK5uh9xAY
yl8402gdp/sCuQLvIDJPt1cm7jbJKfxg/PWeSQMhAAAAQGTxgjFQWhZezdtqnMum
dTevB8FDQyfe/3Txk0eL7bSvSnp21x/bpySxPTF9q5W9DMYWh///pln9OMt+VXXD
n/c=
Private-MAC: 44476a197d9616c0d7782ab01500efb1e77d7694
Agora a estrutura de uma Chave Pública:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: Chave-Publica-Teste
AAAAB3NzaC1yc2EAAAABJQAAAIEAk5jXFkeE9sfX4V2UAVLGfWaDao1qUmPuRzaz
v2JmOKhfoNgok10k1I3BZDxXi4/sk1cl1KmqSgs99vGyOBeIPITd9SKeLlwtROw1
cf90CJDyNbKrYlIgig9l5Z2IfnQj/bji9TzrjIlePrvPy2S/ZUOpQkcuqqulQwdP
bvQAXtc=
---- END SSH2 PUBLIC KEY ----
6.4. O que HASH?
Uma função hash é uma função (um cálculo) que quando aplicada gera para cada
entrada uma saída única e exclusiva. Desta forma, uma pequena modificação em um
arquivo, como a troca do valor de um bit, altera completamente o resultado da
aplicação desta função.
Muitos sites de downloads utilizam o recurso de HASH para verificar se o
download que foi feito não foi corrompido ou alterado durante o caminho. Exemplo:
Você quer baixar uma imagem de CD do Sistema Operacional Ubuntu Linux. Como
são cerca de 700MB, poderá ter algum problema de bits errôneos. Então se faz um
cálculo dessa imagem lá no site que irá ser um número semelhante a este:
md5 Hash Version
3b5e9861910463374bb0d4ba9025bbb1 ubuntu-9.04-alternate-amd64.iso
c564ae16dffb51a922aef74a07250473 ubuntu-9.04-alternate-i386.iso
cace6ea9dde8dc158174e345aabe3fae ubuntu-9.04-desktop-amd64.iso
66fa77789c7b8ff63130e5d5a272d67b ubuntu-9.04-desktop-i386.iso
8f921e001aebc3e98e8e8e7d29ee1dd4 ubuntu-9.04-netbook-remix-i386.img
78cf52114804f80576b0bfc8f5984339 ubuntu-9.04-server-amd64.iso
20480057590ff8b80ad9094f40698030 ubuntu-9.04-server-i386.iso
10. Veja que cada imagem tem um HASH único. Depois de baixar, você deverá utilizar
algum utilitário que gera o HASH do arquivo que você baixou. Então é só comparar o
número que você gerou com o número da tabela acima. Caso este exatamente igual, a
sua imagem do Ubuntu Linux está intacta e pode ser gravada em um CD para ser
instalado. Caso o número não corresponda, você deverá apagar o arquivo baixado e
fazer o download novamente.
Dentro do escopo da infra-estrutura de chaves públicas, a aplicação de uma
função hash é associada à obtenção de uma assinatura digital para uma dada
mensagem, que pode ser utilizada posteriormente para verificar a integridade do
conteúdo da mensagem.
Dentre os algoritmos que implementam a função hash, podemos citar o Message
Digest 5 (MD5), e o Secure Hash Algorithm (SHA1), este último desenvolvido pelo
instituto americano de ciência e tecnologia.
A figura abaixo, compara o hash com a impressão digital:
Fonte: http://www.gta.ufrj.br
6.5. O que é assinatura digital?
A assinatura digital consiste na criação de um código, através da utilização de
uma chave privada, de modo que a pessoa ou entidade que receber uma mensagem
contendo este código possa verificar se o remetente é mesmo quem diz ser e
identificar qualquer mensagem que possa ter sido modificada.
Desta forma, é utilizado o método de criptografia de chaves pública e privada, mas
em um processo inverso ao apresentado no exemplo da seção 6.3.
Se José quiser enviar uma mensagem assinada para Maria, ele codificará a
mensagem com sua chave privada. Neste processo será gerada uma assinatura
11. digital, que será adicionada à mensagem enviada para Maria. Ao receber a
mensagem, Maria utilizará a chave pública de José para decodificar a mensagem.
Neste processo será gerada uma segunda assinatura digital, que será comparada à
primeira. Se as assinaturas forem idênticas, Maria terá certeza que o remetente da
mensagem foi o José e que a mensagem não foi modificada.
É importante ressaltar que a segurança do método baseia-se no fato de que a
chave privada é conhecida apenas pelo seu dono. Também é importante ressaltar que
o fato de assinar uma mensagem não significa gerar uma mensagem sigilosa. Para o
exemplo anterior, se José quisesse assinar a mensagem e ter certeza de que apenas
Maria teria acesso a seu conteúdo, seria preciso codificá-la com a chave pública de
Maria, depois de assiná-la.
Fonte: http://www.gta.ufrj.br
Seqüência de uma assinatura de uma mensagem:
1 - O emissor gera um hash da mensagem;
12. 2 - Codifica este hash com sua chave privada;
3 - Combina esta assinatura digital com a mensagem e a envia;
4 - O receptor recebe a mensagem;
5 - e calcula o hash dela;
6 - Enquanto isso, ele utilize a chave pública do emissor para obter o hash contido na
assinatura digital;
7 - O receptor compara os valores dos hashs.
Caso os valores sejam idênticos o receptor pode inferir que a mensagem não
foi modificada desde a emissão. Além disso, a mensagem realmente veio do emissor,
pois só ele possui a chave privada que foi utilizada para assinar digitalmente a
mensagem. E ao mesmo tempo, o emissor não pode negar que enviou a mensagem,
afinal ele a assinou com sua chave privada. (Não repúdio)
6.6 Certificado Digital
O certificado digital é um arquivo eletrônico que contém dados de uma pessoa
ou instituição, utilizados para comprovar sua identidade. Este arquivo pode estar
armazenado em um computador ou em outra mídia, como um token ou smart card.
Exemplos semelhantes a um certificado digital são o CNPJ, RG, CPF e carteira de
habilitação de uma pessoa. Cada um deles contém um conjunto de informações que
identificam a instituição ou pessoa e a autoridade (para estes exemplos, órgãos
públicos) que garante sua validade.
Algumas das principais informações encontradas em um certificado digital são:
• Dados que identificam o dono (nome, número de identificação, estado, etc);
• Nome da Autoridade Certificadora (AC) que emitiu o certificado;
• O número de série e o período de validade do certificado;
• A assinatura digital da AC.
O objetivo da assinatura digital no certificado é indicar que outra entidade (a
Autoridade Certificadora) garante a veracidade das informações nele contidas.
Saiba mais:
Token é um dispositivo eletrônico, geralmente ligado a porta USB do
computador para ser usado como mais um passo de segurança. Por exemplo, você só
loga no sistema caso o Token esteja conectado e usuário e senha sejam válidos.
Existem outros tipos de Token como o modelo OTP (On Time Password), o qual gera
uma nova senha numérica aleatória a cada 36 segundos ou segundo a programação
previamente realizada, para ser utilizada como um fator de segurança adicional em
transações financeiras realizadas pela Internet.
13. Exemplo de um Token USB
Fonte: www.etokenusb.com.br/
Exemplo de um Token OTP utilizado em transações bancárias.
Fonte: blogs.verisign.com
Fim do boxe
Smart Card: é um cartão que geralmente assemelha-se em forma e tamanho a
um cartão de crédito convencional de plástico com tarja magnética. Além de ser usado
em cartões bancários e de identificação pessoal, é encontrado também nos celulares
GSM (o chip localizado normalmente atrás da bateria). A grande diferença é que ele
possui capacidade de processamento pois, embute um microprocessador e memória
(que armazena vários tipos de informação na forma eletrônica), ambos com
sofisticados mecanismos de segurança. É cada vez maior o número de cartões de
crédito que utilizam a tecnologia.
Exemplo de um Smart card
Fonte: http://www.gta.ufrj.br
6.7 O que é Autoridade Certificadora (AC)?
14. Autoridade Certificadora (AC) é a entidade responsável por emitir certificados
digitais. Estes certificados podem ser emitidos para diversos tipos de entidades, tais
como: pessoa, computador, departamento de uma instituição, instituição, etc.
Os certificados digitais possuem uma forma de assinatura eletrônica da AC que
o emitiu. Graças à sua idoneidade, a AC é normalmente reconhecida por todos como
confiável, fazendo o papel de Cartório Eletrônico.
As autoridades Certificadoras são reconhecidas no mundo inteiro e todo
browser já trás instalado os seus certificados.
6.8 Que exemplos podem ser citados sobre o uso de certificados?
Alguns exemplos típicos do uso de certificados digitais são:
• Quando você acessa um site com conexão segura, como por exemplo o
acesso a sua conta bancária pela Internet, é possível checar se o site
apresentado é realmente da instituição que diz ser, através da verificação de
seu certificado digital;
• Quando você consulta seu banco pela Internet, este tem que se assegurar de
sua identidade antes de fornecer informações sobre a conta;
• Quando você envia um e-mail importante, seu aplicativo de e-mail pode utilizar
seu certificado para assinar digitalmente a mensagem, de modo a assegurar
ao destinatário que o e-mail é seu e que não foi adulterado entre o envio e o
recebimento.
Para entender melhor, veja o acesso ao site do Unibanco. –
http://www.unibanco.com.br
15. Veja o endereço na figura, é http://www.unibanco.com.br e por enquanto não há dados criptografados
durante esta conexão.
Fonte: Conteudista
O Usuário entra com Agência e Conta corrente, e note que apareceu o endereço HTTPS:// ou seja, a
partir deste ponto, o protocolo é o http Seguro, com dados criptografados. Além disso, note na barra
inferior do lado direito que há um cadeado. Se você der um duplo clique neste cadeado, irá aparecer
informações sobre esse certificado
Fonte: Conteudista
16. Esta é uma tela informativa do certificado. Caso queira ver detalhes do certificado, clique em Exibir
Certificado
Fonte: Conteudista
Detalhes do Certificado que a Verisgn deu ao Unibanco.
Fonte: Conteudista
17. Há outra maneira de saber detalhes do Autoridade Certificadora, é Clicando com o mouse ao lado do
HTTPS:// (na parte azul da barra de endereços)
Fonte: Conteudista
6.9. Que exemplos podem ser citados sobre o uso de criptografia de
chave única e de chaves pública e privada?
Exemplos que combinam a utilização dos métodos de criptografia de chave única
e de chaves pública e privada são as conexões seguras, estabelecidas entre o
browser de um usuário e um site, em transações comerciais ou bancárias via Web.
Estas conexões seguras via Web utilizam o método de criptografia de chave
única, implementado pelo protocolo SSL (Secure Socket Layer). O browser do usuário
precisa informar ao site qual será a chave única utilizada na conexão segura, antes de
iniciar a transmissão de dados sigilosos.
Para isto, o browser obtém a chave pública do certificado da instituição que
mantém o site. Então, ele utiliza esta chave pública para codificar e enviar uma
mensagem para o site, contendo a chave única a ser utilizada na conexão segura. O
site utiliza sua chave privada para decodificar a mensagem e identificar a chave única
que será utilizada. Esse método também é conhecido como Chave de Sessão.
Todo browser tem instalado, os Certificados Digitais das Autoridades certificadoras
do mundo inteiro. Para acessar e visualizar estes certificados faça os seguintes
18. passos:
No Internet Explorer:
Menu Ferramentas / Opções da Internet / Conteúdo / Certificados / Autoridades de
Certificação Raiz Confiáveis.
Tela de gerenciamento de Certificados Digitais do Internet Explorer.
Fonte: Conteudista
Se quiser ver o certificado, basta dar um duplo clique em uma das linhas
Detalhes de um Certificado.
Fonte: Conteudista
No Firefox:
19. Menu Ferramentas / Opções / Avançado / Certificados
Tela de gerenciamento de Certificados do Firefox
Fonte: Conteudista
A partir deste ponto, o browser do usuário e o site podem transmitir informações,
de forma sigilosa e segura, através da utilização do método de criptografia de chave
única. A chave única pode ser trocada em intervalos de tempo determinados, através
da repetição dos procedimentos descritos anteriormente, aumentando assim o nível de
segurança de todo o processo.
Saiba Mais:
SSL - TLS (em português: Protocolo de Camada de Sockets Segura) e o seu
predecessor, Secure Sockets Layer - SSL, são protocolos criptográficos que provêem
comunicação segura na Internet para serviços como email, navegação por páginas
web e outros tipos de transferência de dados. Há algumas pequenas diferenças entre
o SSL 3.0 e o TLS 1.0, mas o protocolo permanece substancialmente o mesmo. O
termo SSL usado aqui aplica-se a ambos os protocolos.
O protocolo SSL provê a privacidade e a integridade de dados entre duas
aplicações que estejam se comunicando pela Internet. Isto ocorre através da
autenticação das partes envolvidas e da criptografia dos dados transmitidos entre as
partes. Esse protocolo ajuda a prevenir que intermediários entre as duas pontas da
comunicação tenham acesso indevido ou falsifiquem os dados sendo transmitidos.
Fim do boxe
20. 6.10. Que tamanho de chave deve ser utilizado?
Os métodos de criptografia atualmente utilizados, e que apresentam bons níveis
de segurança, são publicamente conhecidos e são seguros pela robustez de seus
algoritmos e pelo tamanho das chaves que utilizam.
Para que um atacante descubra uma chave ele precisa utilizar algum método de
força bruta, ou seja, testar combinações de chaves até que a correta seja descoberta.
Portanto, quanto maior for a chave, maior será o número de combinações a testar,
inviabilizando assim a descoberta de uma chave em tempo hábil. Além disso, chaves
podem ser trocadas regularmente, tornando os métodos de criptografia ainda mais
seguros.
Atualmente, para se obter um bom nível de segurança na utilização do método de
criptografia de chave única, é aconselhável utilizar chaves de no mínimo 128 bits. E
para o método de criptografia de chaves pública e privada é aconselhável utilizar
chaves de 2048 bits, sendo o mínimo aceitável de 1024 bits. Dependendo dos fins
para os quais os métodos criptográficos serão utilizados, deve-se considerar a
utilização de chaves maiores: 256 ou 512 bits para chave única e 4096 ou 8192 bits
para chaves pública e privada. Os algoritmos mais utilizados para geração de chaves
públicas e privadas é o RSA e o DSA.
Saiba mais:
RSA - é um algoritmo de criptografia de dados, que deve o seu nome a três
professores do Instituto MIT (fundadores da atual empresa RSA Data Security, Inc.),
Ron Rivest, Adi Shamir e Len Adleman, que inventaram este algoritmo — até a
presente data (2009), a mais bem sucedida implementação de sistemas de chaves
assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado dos
mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o
primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes
inovações em criptografia de chave pública.
DSA - Digital Signature Algorithm
é outra alternativa de gerência de PKI.
Fim do boxe
21. 6.11 Como posso obter um certificado?
Para obter um certificado legítimo e válido no mundo inteiro, você precisa se dirigir
a uma Autoridade Certificadora como a Verisign - http://www.verisign.com.br/ e
solicitar o seu certificado. Aqui no Brasil o Governo Federal está estimulando a
todos a adquirirem seus certificados digitais para terem acesso a CNPJ digital “e-
CNPJ” e CPF digital “e-CPF”. Vejam o texto abaixo retirado do site da Receita
Federal:
“Quem optar pelo documento eletrônico poderá, entre outras coisas, saber em
qual lote receberá a restituição do IR e ainda resolver problemas de malha sem
sair de casa ou do escritório.
Um protocolo de cooperação assinado pela Receita Federal com o Banco do
Brasil e o Instituto Nacional de Tecnologia da Informação (ITI) vai permitir que os
contribuintes realizem, a partir do ano que vem, a maioria dos serviços fiscais e
bancários no conforto de sua casa, escritório ou trabalho.
Com o uso da certificação digital, os chamados e-CPF e do e-CNPJ, o
contribuinte poderá, por exemplo, checar o andamento da declaração do Imposto
de Renda – se o documento já foi processado, em qual lote está previsto o
pagamento da restituição ou ainda se caiu na malha fina.
O objetivo da Receita é popularizar o uso do CPF e do CNPJ eletrônicos.
Atualmente, 30 mil contribuintes brasileiros, entre empresas e pessoas físicas,
dispõem de acesso ao sistema da Receita via certificado digital. Em outras
palavras, esses contribuintes podem realizar operações fiscais (cópia de
declaração, retificação e comprovante de arrecadação, transações de comércio
exterior, entre outras) sem sair de casa ou do escritório.
De acordo com o vice-presidente de Tecnologia e Logística do Banco do Brasil,
José Luiz de Cerqueira César, o custo da certificação digital – que hoje é de R$
200,00 – deverá cair para algo entre R$ 40,00 e R$ 50,00. Vamos estudar ainda
o parcelamento desses custos, além de financiamento para a empresa que
solicitar mais de um certificado, acrescentou.
O e-CPF e o e-CNPJ, nomes comerciais dados aos certificados digitais tipo A3,
seguem as regras da Infra-Estrutura de Chaves Públicas Brasileiras (ICP) Brasil.
O uso de certificados A3, em que a chave privada é gerada e armazenada em um
cartão inteligente (smart card), permite a autenticação do usuário em serviços,
operações e aplicações feitos via- rede.”
Fonte:
22. http://www.receita.fazenda.gov.br/Imprensa/Notas/2004/dezembro/2112200
4.htm
Procedimento de obtenção de um certificado.
Fonte: http://www.gta.ufrj.br
1- Usuário se dirige a autoridade certificadora;
2- Usuário entrega uma requisição de certificado para a autoridade, repassa suas
informações e se registra com a autoridade;
3- Autoridade verifica com sucesso a idoneidade do usuário;
4- Autoridade emite o certificado do usuário, de acordo com suas políticas e
restrições e lhe entrega sua chave privada;
5- Usuário concorda com o certificado recebido e com a chave recebida;
6 – Usuário pode utilizar o certificado e a chave.
Saiba mais:
A ICP-Brasil (Infra Estrutura de Chaves Públicas Brasil) é estrutura hierárquica,
que dá confiança à emissão de certificados digitais brasileiros.
ICP, ou Infra-estrutura de Chaves Públicas, é a sigla no Brasil para PKI - Public
Key Infrastructure -, um conjunto de técnicas, práticas e procedimentos elaborado
para suportar um sistema criptográfico com base em certificados digitais.
Desde julho de 2001, o Comitê Gestor da ICP-Brasil estabelece a política, os
critérios e as normas para licenciamento de Autoridades Certificadoras (AC),
Autoridades de Registro (AR) e demais prestadores de serviços de suporte em
todos os níveis da cadeia de certificação, credenciando as respectivas empresas
na emissão de certificados no meio digital brasileiro.
23. Fim do Boxe
6.12 PGP
O PGP, do inglês Pretty Good Privacy (privacidade bastante boa), é um
programa de computador que utiliza criptografia para proteger a privacidade do e-
mail e dos arquivos guardados no computador do usuário. O PGP pode, ainda, ser
utilizado como um sistema à prova de falsificações de assinaturas digitais
permitindo, desta forma, a comprovação de que arquivos ou e-mails não foram
modificados. Este programa foi escrito por Phill Zimmermann. Nos últimos anos o
PGP conquistou milhares de entusiastas em todo o mundo e tornou-se de fato um
padrão para a criptografia de correio eletrônico (email) na Internet. O PGP é uma
solução completa para implementação de PKI.
Fique de Olho:
A Empresa líder em soluções PGP para é a PGP.COM, em seu site
www.pgp.com é possível baixar versões de testes (Trial) do seu software onde é
possível criar seu par de chaves, criptografar emails, arquivos, pastas e discos
inteiros como HDs e Pendrives. Porém existem soluções gratuitas de altíssima
qualidade como o Open PGP.
Fim do Boxe
6.12.1 Open PGP
O OpenPGP é um padrão aberto de criptografia baseado no PGP. Funciona
através de chaves assimétricas, cada usuário gera em seu computador um par de
chaves correspondentes: uma pública e uma secreta. A pública é distribuída
livremente e permite que qualquer usuário criptografe dados de modo que só
quem possui a chave secreta correspondente possa descriptografar. A chave
secreta, além dessa capacidade de descriptografar, é capaz de assinar dados;
quando algo é assinado com uma chave secreta, a chave pública correspondente
pode verificar se o remetente é verdadeiro e se o conteúdo não foi adulterado
depois de assinado.
Além disso, o padrão OpenPGP conta com um sistema de cadeias de
confiança: cada vez que um usuário obtém a chave pública de outro usuário, ao
24. se encontrar com ele pode verificar a impressão digital da chave obtida,
garantindo certeza de que a chave é a verdadeira. Ao ter certeza de que a chave
é verdadeira, o usuário pode assinar a chave pública do outro usuário com a sua
chave privada, atestando a outros usuários que a chave realmente pertence a
quem diz pertencer.
RESUMO
Criptografia é a arte de esconder informações em um meio comum para que
somente o destinatário consiga decifrá-la.
Diffie e Hellman são dois pesquisadores que revolucionaram os sistemas de
criptografia existentes até 1976, a partir do desenvolvimento de um sistema de
criptografia de chave pública que foi aperfeiçoado por pesquisadores do MIT
(Massachusetts Institute of Tecnology) e deu origem ao algoritmo RSA.
Atualmente, os métodos criptográficos podem ser subdivididos em duas
grandes categorias, de acordo com o tipo de chave utilizada: a criptografia de chave
única e a criptografia de chave pública e privada.
A Esteganografia é uma técnica de esconder informações em imagens (fotos).
A criptografia de chave única utiliza a mesma chave tanto para codificar quanto
para decodificar mensagens.
A criptografia de chaves pública e privada utiliza duas chaves distintas, uma
para codificar e outra para decodificar mensagens. Neste método cada pessoa ou
entidade mantém duas chaves: uma pública, que pode ser divulgada livremente, e
outra privada, que deve ser mantida em segredo pelo seu dono. As mensagens
codificadas com a chave pública só podem ser decodificadas com a chave privada
correspondente.
O Termo Técnico mais conhecido para estrutura de Chaves Públicas de
Chaves Privadas é PKI – Public Key Infrastructure.
No Brasil, convencionou-se o termo ICP – Infra-estrutura de Chave Pública.
Uma função hash é uma função (um cálculo) que quando aplicada gera para
cada entrada uma saída única e exclusiva. Desta forma, uma pequena modificação em
um arquivo, como a troca do valor de um bit, altera completamente o resultado da
aplicação desta função
A assinatura digital consiste na criação de um código, através da utilização de
uma chave privada, de modo que a pessoa ou entidade que receber uma mensagem
contendo este código possa verificar se o remetente é mesmo quem diz ser e
identificar qualquer mensagem que possa ter sido modificada.
O certificado digital é um arquivo eletrônico que contém dados de uma pessoa
25. ou instituição, utilizados para comprovar sua identidade. Este arquivo pode estar
armazenado em um computador ou em outra mídia, como um token ou smart card.
Exemplos semelhantes a um certificado digital são o CNPJ, RG, CPF e carteira
de habilitação de uma pessoa. Cada um deles contém um conjunto de informações
que identificam a instituição ou pessoa e a autoridade (para estes exemplos, órgãos
públicos) que garante sua validade.
Token é um dispositivo eletrônico, geralmente ligado a porta USB do
computador para ser usado como mais um passo de segurança. Por exemplo, você só
loga no sistema caso o Token esteja conectado e usuário e senha sejam válidos.
Smart Card: é um cartão que geralmente assemelha-se em forma e tamanho a
um cartão de crédito convencional de plástico com tarja magnética. Além de ser usado
em cartões bancários e de identificação pessoal, é encontrado também nos celulares
GSM (o chip localizado normalmente atrás da bateria).
Autoridade Certificadora (AC) é a entidade responsável por emitir certificados
digitais.
Na criptografia de chave única existe uma chave chamada Chave de Sessão,
que é obtida da seguinte forma: O site envia a sua chave pública para o cliente. O
cliente criptografa com a chave pública uma chave gerada aleatóriamente e manda de
volta para o órgão emissor. O órgão emissor descriptografa utilizando a sua chave
privada. Esta chave resultante é chamada de Chave de Sessão.
SSL - TLS (em português: Protocolo de Camada de Sockets Segura) e o seu
predecessor, Secure Sockets Layer - SSL, são protocolos criptográficos que provêem
comunicação segura na Internet para serviços como email, navegação por páginas
web e outros tipos de transferência de dados.
Os algoritmos mais utilizados para geração de chaves públicas e privadas é o
RSA e o DSA.
RSA - é um algoritmo de criptografia de dados, que deve o seu nome a três
professores do Instituto MIT (fundadores da atual empresa RSA Data Security, Inc.),
Ron Rivest, Adi Shamir e Len Adleman, que inventaram este algoritmo.
Para obter um certificado, você deve se dirigir a uma Autoridade Certificadora
como a Verisign.
O Governo Federal do Brasil pretende em um futuro próximo apenas utilizar
CPF digitais (e-CPF) e CNPJ digitais (e-CNPJ).
O PGP, do inglês Pretty Good Privacy (privacidade bastante boa), é um
programa de computador que utiliza criptografia para proteger a privacidade do e-mail
e dos arquivos guardados no computador do usuário.
Este programa foi escrito por Phill Zimmermann. Nos últimos anos o PGP
26. conquistou milhares de entusiastas em todo o mundo e tornou-se de fato um padrão
para a criptografia de correio eletrônico (email) na Internet. O PGP é uma solução
completa para implementação de PKI.
O OpenPGP é um padrão aberto de criptografia baseado no PGP.
Referências bibliográficas:
Partes do Textos deste capítulo tem os seguintes créditos:
“Texto extraído da Cartilha de Segurança para Internet, desenvolvida pelo
CERT.br, mantido pelo NIC.br, com inteiro teor em http://cartilha.cert.br/”
http://www.tjpe.gov.br/Boletim/N41/dicadahora01.htm
http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2008_2/hugo/contents.ht
m
http://www.receita.fazenda.gov.br/Imprensa/Notas/2004/dezembro/2112200
4.htm
http://www.gta.ufrj.br/grad/07_2/thiago_castello/AplicaesdaEsteganografia.h
tml
http://icp-brasil.certisign.com.br/
http://www.gta.ufrj.br/grad/07_2/delio/Criptografiasimtrica.html
http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2008_2/hugo/Criptografia.
html
http://www.devaspnet.com.br/colunas2/coluna1406.aspx
http://www.dca.fee.unicamp.br/pgp/windows.shtml