Mudanças entre as edições de "Assinatura de Código"

De LATROMI Manuais
Ir para: navegação, pesquisa
(Verificando a Assinatura)
 
(43 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 6: Linha 6:
  
 
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'''.
 
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'''.
 +
 +
==Vantagens==
 +
* 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.
  
 
==Obtenção do Certificado==
 
==Obtenção do Certificado==
O certificado ''Code Signing'' é obtido através de uma autoridade certificadora reconhecida e homologada internacionalmente. Durante o processo de geração do certificado, a autoridade certificadora verifica a identidade do publicador de software na receita federal e ferramentas de terceiros (como listas telefônicas).
+
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==
 
==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.  
+
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.
 
As assinaturas realizadas dentro do período em que o certificado esteve em vigência continuam funcionando.
  
 
==Assinando o Código==
 
==Assinando o Código==
A assinatura de programas destinados à plataforma Windows, é realizada utilizando a tecnologia de assinatura [https://msdn.microsoft.com/en-us/library/ms537359(v=vs.85).aspx Authenticode] da Microsoft, através da ferramenta [https://msdn.microsoft.com/en-us/library/windows/desktop/aa387764(v=vs.85).aspx SignTool].
+
A assinatura de programas destinados à plataforma Windows é realizada utilizando a tecnologia de assinatura [https://msdn.microsoft.com/en-us/library/ms537359(v=vs.85).aspx Authenticode] da Microsoft, através da ferramenta [https://msdn.microsoft.com/en-us/library/windows/desktop/aa387764(v=vs.85).aspx SignTool].
 +
 
 +
==Assinatura LATROMI==
 +
A LATROMI passa 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.
 +
 
 +
O nome de fornecedor utilizado na assinatura é ''LATROMI Tecnologia de Dados Web LTDA - ME'', 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.
 +
[[Arquivo:Codesign_chrome_unsigned.jpg|none]]
 +
 
 +
O mesmo arquivo depois de assinado, não apresenta nenhum mensagem.
 +
[[Arquivo:Codesign_chrome_signed.png|none]]
 +
 
 +
===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.
 +
 
 +
[[Arquivo:Codesign_windows_execute_diff.png|none|800px|thumb|Diferença na execução de programas assinados e não assinados]]
 +
 
 +
===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 algorítimo de assinatura SHA1 e outra com SHA256, conforme pode ser observado na imagem abaixo:
 +
 
 +
[[Arquivo:Codesign_windows_signature.jpg]]
 +
 
 +
== 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.
 +
 
 +
==Ver Também==
 +
* [https://en.wikipedia.org/wiki/Code_signing Code signing na Wiki (em inglês)]

Edição atual tal como às 21h45min de 30 de março de 2016

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.

Vantagens

  • 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.

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 passa 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.

O nome de fornecedor utilizado na assinatura é LATROMI Tecnologia de Dados Web LTDA - ME, 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.

Codesign chrome unsigned.jpg

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

Codesign chrome signed.png

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.

Diferença na execução de programas assinados e não assinados

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 algorítimo de assinatura SHA1 e outra com SHA256, conforme pode ser observado na imagem abaixo:

Codesign windows signature.jpg

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.

Ver Também