Ir para o conteúdo

GPWeb

 Voltar a Sugestões de...
Tela cheia

Criptografia de anexos

2 de Junho de 2011, 14:25 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 19 vezes

Reinert!
Os arquivos anexados em msgs criptografadas com senha permanecem em claro.
Seria possível impedir a vizualização da msg para manter o sigilo dos anexos?
qual seria a melhor maneira de solucionar o problema?

Autor: Leandro Bertani


77 comentários

  • F205f9606b3272f6589a208b80b051ee?only path=false&size=50&d=404Sérgio Reinert(usuário não autenticado)
    2 de Junho de 2011, 15:06

     

    Criptografar os anexos é matematicamente inviável pois RSA 128 bit não permite trabalhar com um volume muito grande de dados, como pode ser o caso de um anexo de 20 Mb, por exemplo.

    Toda a sistemática de criptografia é para impedir os funcionários de TI, de dentro da empresa, de lerem as mensagens do GP-Web. Como os mesmos teriam acesso ao servidor, não precisariam entrar no GP-Web para ver os anexos.

    Uma forma elegante de minimizar este problema seria os anexos serem automaticamente zipados com senha, quando for uma mensagem criptografada.

    Confesso que até agora não achei uma biblioteca, funcionando bem, que permita adicionar senha ao arquivo compactado.

    • 17e520409592663f6a8cb7dc2113df65?only path=false&size=50&d=404Ricardo Maia(usuário não autenticado)
      2 de Junho de 2011, 16:00

       

      Verdade, Sérgio. Utilizar um algoritmo assimétrico para criptografar grandes volumes de dados é inviável.

      Minha sugestão é utilizar um algoritmo simétrico como o Rijndael para criptografar o anexo e então utilizar a chave pública do destinatário para criptografar assimetricamente a chave simétrica, assim, somente o destinatário, de posse da chave privada, poderá recupearar a chave para decriptografar o anexo.

       O que você acha?

      Fiz um teste com um arquivo binário de 16MB, para verificar se ele era corrompido durante o processo.

      Com MCRYPT_RIJNDAEL_128 processo levou menos de meio segundo, já com MCRYPT_TRIPLEDES levou cerca de 2,5 segundos.

      <?php
      $marcador_inicial = microtime(1);
      $key = "senha_criptografia_simetrica";
      $input = file_get_contents('teste.exe');
      $encrypted_data = mcrypt_ecb (MCRYPT_RIJNDAEL_128, $key, $input, MCRYPT_ENCRYPT);
      file_put_contents('encriptado.exe', $encrypted_data);

      $marcador_final= microtime(1);
      $tempo_execucao = $marcador_final - $marcador_inicial;
      echo "Tempo para execucao: <b>" .sprintf ( "%02.3f", $tempo_execucao ). "</b> segundos. <br>";

      • F205f9606b3272f6589a208b80b051ee?only path=false&size=50&d=404Sérgio Reinert(usuário não autenticado)
        2 de Junho de 2011, 16:54

         

        Excelente sugestão. Vou colocar na todo list deste portal a implementação. Só fica em aberto a questão do encaminhamento da mensagem. 

        Duas linhas de ação : grava novamente com a nova senha ou mantem a original?

        • 17e520409592663f6a8cb7dc2113df65?only path=false&size=50&d=404Ricardo Maia(usuário não autenticado)
          2 de Junho de 2011, 18:31

           

          Bem, por questões de espaço em disco e performance, acho melhor substituir o arquivo original pelo cifrado, mantendo a chave de criptografia simétrica em local seguro, pois o usuário pode desejar encaminhar o mesmo documento para outros destinatários, neste caso o processo seria mais rápido, pois não seria necessário criptografar novamente o anexo.

          Um detalhe... também acho que seria conveniente armazenar o hash  do documento original de modo que o usuário, ao decriptografar, verifique que o arquivo não foi adulterado ou corrompido.

          • F205f9606b3272f6589a208b80b051ee?only path=false&size=50&d=404Sérgio Reinert(usuário não autenticado)
            2 de Junho de 2011, 20:10

             

            O hash já é criado sempre que a chave privada do usuário está carregada. É assim que se verifica a "assinatura digital" do anexo, reforçando já discutido anteriormente que não tem nenhum valor legal.

            Quando a poeira baixar um pouco vou trabalhar mais a fundo com vista a certificar o GP-Web no tocante a assinatura digital. Para tanto estou aguardando algum patrocínio, pois não entento tirar dinheiro do meu bolso para implementar esse upgrade.

            • 17e520409592663f6a8cb7dc2113df65?only path=false&size=50&d=404Ricardo Maia(usuário não autenticado)
              2 de Junho de 2011, 21:19

               

              Estou estudando a documentação da ICP-Brasil, mas percebo que algumas exigências esbarram em limitações do PHP, como o tratamento de Listas de Certificados Revogados (CRL).

              Estou em contato com o mantenedor da extensão OpenSSL para PHP, Pierre Joye, na tentativa de implementar no core do PHP novas funcionalidades.

              Ainda assim haverá uma barreira que eu não sei o PHP será capaz de lidar, que é a de interagir com dispositivos criptográficos. Vou inserir as informações que tenho a respeito no tópico sobre Validade Jurídica da Assinatura Digital.

              • F205f9606b3272f6589a208b80b051ee?only path=false&size=50&d=404Sérgio Reinert(usuário não autenticado)
                3 de Junho de 2011, 7:42

                 

                Os dispositivos critograficos são realmente um empecilho. Dou como exemplo o Token do SERPRO, necessário para logar no Portal ComprasNet. O mesmo só funciona em algumas versões do Windows, e meu Batalhão, devido a migração para software livre, utiliza Ubuntu. 

GP-Web v. 8.0.26 (24 Jun)

25 de Junho de 2012, 1:22, por Desconhecido



Treinamento do GP-Web em Porto Alegre-RS

8 de Maio de 2012, 0:22, por Desconhecido

Devido a uma solicitação da Polícia Militar do Rio de Janeiro, que enviará oficiais ao 3º Batalhão de Comunicações, para treinamento no software GP-Web, dentre os dias 15 a 17 de maio do corrente ano, foi franqueado para as Forças Armadas, demais Polícias e Bombeiros Militares do Brasil.



Patrocínio do Tribunal de Justiça do Acre ao GP-Web

23 de Abril de 2012, 12:44, por Desconhecido

Foram realizadas diversas melhorias na versão 8.0.17 do GP-Web, todas patrocinadas pelo Tribunal de Justiça do Acre, com destaque para:



Treinamento do GP-Web para o Ministério da Integração

8 de Abril de 2012, 19:56, por Desconhecido



Treinamento do GP-Web para o INSS

4 de Abril de 2012, 5:49, por Desconhecido