SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Professor Conteudista: Dailson de Oliveira Fernandes




             PERNAMBUCO, 2010.
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
/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!
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???
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.
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.”
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;
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.
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
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
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;
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.
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)?
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
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
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
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
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:
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
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
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:
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.
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
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
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
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

Weitere ähnliche Inhalte

Andere mochten auch

Fasciculo inf segredes_unidade_1
Fasciculo inf segredes_unidade_1Fasciculo inf segredes_unidade_1
Fasciculo inf segredes_unidade_1Eduardo Santana
 
Apostila - Introdução ao Linux
Apostila - Introdução ao LinuxApostila - Introdução ao Linux
Apostila - Introdução ao LinuxEduardo Santana
 
Guia prático de redes cabeamento & configuração de carlos e. morimoto por b...
Guia prático de redes   cabeamento & configuração de carlos e. morimoto por b...Guia prático de redes   cabeamento & configuração de carlos e. morimoto por b...
Guia prático de redes cabeamento & configuração de carlos e. morimoto por b...Eduardo Santana
 
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Eduardo Santana
 

Andere mochten auch (6)

Fasciculo inf segredes_unidade_1
Fasciculo inf segredes_unidade_1Fasciculo inf segredes_unidade_1
Fasciculo inf segredes_unidade_1
 
Inf seg redinf_semana5
Inf seg redinf_semana5Inf seg redinf_semana5
Inf seg redinf_semana5
 
Inf sis opeinf_semana6
Inf sis opeinf_semana6Inf sis opeinf_semana6
Inf sis opeinf_semana6
 
Apostila - Introdução ao Linux
Apostila - Introdução ao LinuxApostila - Introdução ao Linux
Apostila - Introdução ao Linux
 
Guia prático de redes cabeamento & configuração de carlos e. morimoto por b...
Guia prático de redes   cabeamento & configuração de carlos e. morimoto por b...Guia prático de redes   cabeamento & configuração de carlos e. morimoto por b...
Guia prático de redes cabeamento & configuração de carlos e. morimoto por b...
 
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
 

Ähnlich wie Criptografia de chaves pública e privada

S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESMateus Cardoso
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografiaHélio Martins
 
Criptografia
CriptografiaCriptografia
CriptografiaPaula P.
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informaçãoalex_it
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
Introdução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosIntrodução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosFábio dos Reis
 
Criptografia - Fernando Muller
Criptografia - Fernando MullerCriptografia - Fernando Muller
Criptografia - Fernando MullerCarlos Veiga
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,Hélio Martins
 
Trabalho de Diploma - Chaves Públicas - SSCT
Trabalho de Diploma - Chaves Públicas -  SSCTTrabalho de Diploma - Chaves Públicas -  SSCT
Trabalho de Diploma - Chaves Públicas - SSCTSamuel Canuto
 

Ähnlich wie Criptografia de chaves pública e privada (20)

Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.pptCriptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Trabalho tic
Trabalho ticTrabalho tic
Trabalho tic
 
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
Aula 2 semana3
Aula 2 semana3Aula 2 semana3
Aula 2 semana3
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Introdução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson TreinamentosIntrodução à criptografia - Bóson Treinamentos
Introdução à criptografia - Bóson Treinamentos
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
 
Apoio
ApoioApoio
Apoio
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptografia - Fernando Muller
Criptografia - Fernando MullerCriptografia - Fernando Muller
Criptografia - Fernando Muller
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Trabalho de Diploma - Chaves Públicas - SSCT
Trabalho de Diploma - Chaves Públicas -  SSCTTrabalho de Diploma - Chaves Públicas -  SSCT
Trabalho de Diploma - Chaves Públicas - SSCT
 

Mehr von Eduardo Santana

Mehr von Eduardo Santana (11)

Fasciculo inf seg_redinf_semana4
Fasciculo inf seg_redinf_semana4Fasciculo inf seg_redinf_semana4
Fasciculo inf seg_redinf_semana4
 
Fasciculo inf segredes_unidade_3
Fasciculo inf segredes_unidade_3Fasciculo inf segredes_unidade_3
Fasciculo inf segredes_unidade_3
 
Fasciculo inf segredes_unidade_2
Fasciculo inf segredes_unidade_2Fasciculo inf segredes_unidade_2
Fasciculo inf segredes_unidade_2
 
Unidade2
Unidade2Unidade2
Unidade2
 
Unidade1
Unidade1Unidade1
Unidade1
 
Unidade O5
Unidade O5Unidade O5
Unidade O5
 
Unidade O4
Unidade O4Unidade O4
Unidade O4
 
Unidade O3
Unidade O3Unidade O3
Unidade O3
 
Unidade O2
Unidade O2Unidade O2
Unidade O2
 
Unidade O1
Unidade O1Unidade O1
Unidade O1
 
Fascículo Sistema Operacional Linux
Fascículo Sistema Operacional LinuxFascículo Sistema Operacional Linux
Fascículo Sistema Operacional Linux
 

Criptografia de chaves pública e privada

  • 1. Professor Conteudista: Dailson de Oliveira Fernandes PERNAMBUCO, 2010.
  • 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