Assinatura de Código

Visão Geral

Quando se compra algum produto em uma loja física a procedência deste produto é obvia. Os consumidores sabem quem é o fornecedor do produto e podem verificar se a embalagem foi violada ou se o produto está danificado.

Já os consumidores de softwares na internet não tem a certeza de sua procedência ou se alguém alterou o seu conteúdo para incluir um código malicioso.

Ao assinar um software com um certificado do tipo Code Signing, é possível garantir a sua procedência e que o mesmo não foi alterado nem corrompido desde que foi criado.

Dessa forma, os usuários que efetuam o download de softwares assinados com um certificado Code Signing são beneficiados, pois sabem quem publicou o software e que o código não foi alterado.

Certificado

O uso de um certificado de assinatura de código oferece os seguintes benefícios:

  • Garantia de que o programa não foi modificado após a sua assinatura. Sendo assim, garante também que não foi infectado por vírus.
  • Possibilidade de identificar o fornecedor do programa antes de executá-lo.

A seguir, vamos aprender um pouco mais sobre o uso deste certidicado.

Obtenção do Certificado

O certificado Code Signing é obtido através de uma Autoridade Certificadora (CA) reconhecida e homologada internacionalmente. Durante o processo de geração do certificado, a Autoridade Certificadora verifica a identidade do fornecedor de software na Receita Federal e também através de ferramentas de terceiros (como listas telefônicas).

Validade do Certificado

A validade do certificado varia de 1 a 3 anos e quando a data de expiração for alcançada, um novo certificado deve ser adquirido pelo fornecedor de software. As assinaturas realizadas dentro do período em que o certificado esteve em vigência continuam funcionando.

Assinando o Código

A assinatura de programas destinados à plataforma Windows é realizada utilizando a tecnologia de assinatura Authenticode da Microsoft, através da ferramenta SignTool.

Assinatura LATROMI

A LATROMI passou a assinar todos os seus Executáveis e DLL’s a partir da versão 3.5 do sistema. O processo de compilação e publicação de software passa a ser automatizado, e a assinatura é realizada imediatamente após a compilação do programa.

Verificando a Assinatura

A assinatura de um programa pode ser verificada nas propriedades do arquivo, na aba Assinaturas Digitais.

Os programas distribuídos pela LATROMI, possuem duas assinaturas: Uma com o algoritmo de assinatura SHA256 e outra com SHA512, conforme pode ser observado na imagem abaixo:

O nome de fornecedor utilizado na assinatura é “Latromi (LATROMI TECNOLOGIA DE DADOS WEB LTDA)”, e pode ser verificado nas propriedades do arquivo, na aba Assinaturas Digitais.

O que muda?

Download

Na maioria das vezes, ao realizar o download de um programa não assinado, o navegador avisa o usuário que o programa pode ser perigoso. Isso porque, não é possível verificar o fornecedor.

image

O mesmo arquivo depois de assinado, não apresenta nenhum mensagem.

image

Execução

Dependendo do nível de proteção em que o Windows está operando, ele pode solicitar uma confirmação antes de executar um programa. Geralmente, essa é a configuração padrão do sistema operacional.

Quando o programa não está assinado, fica difícil para o usuário determinar a integridade do mesmo, pois não pode identificar o fornecedor. Quando o programa está assinado, o usuário pode verificar a identidade do fornecedor, e neste caso, qualquer problema que o programa possa vir a causar, é de inteira responsabilidade do fornecedor.

Considerações Finais

A assinatura de código por si só não garante a qualidade ou relevância de um software, mas serve para identificar um fornecedor no qual o usuário confie. Se o usuário confia no fornecedor, pode executar o programa tendo a certeza de que o programa realmente foi publicado e distribuído por ele, e que desde então, não sofreu alterações.

Se a partir da versão 3.5 do sistema LATROMI, a assinatura digital não estiver presente no programa que você recebeu, não execute-o. Neste caso, entre em contato conosco através do e-mail suporte@latromi.com.br para reportar o problema.