Pergunta

Praticamente toda a minha carreira trabalhei com construção de soluções (aplicações customizadas para um único cliente).Agora que minha empresa está desenvolvendo software para as massas, muitas embalagens estão esperando por nós.
Quero perguntar sobre licenciamento de software.Como gerar números de série e números de ativação.Quais são minhas opções para licenciar software em geral.
Sei que é uma pergunta geral, mas é um começo de conversa.

Foi útil?

Solução

Nosso modelo de licença funciona usando criptografia de chave pública/privada.Eles nos enviam seu nome e detalhes de contato, que criptografamos usando nossa chave privada.O arquivo criptografado é então enviado de volta ao licenciado, que ele insere no aplicativo.O aplicativo tem nossa chave pública embutida no binário (ou se tiver uma conexão com a rede, ele a extrai do nosso site) e a usa para descriptografar as informações da licença.Se a licença descriptografada corresponder aos detalhes inseridos, eles estarão licenciados para usar o produto!

Ao usar criptografia de chave privada/pública, damos ao nosso aplicativo a confiança de que os dados na chave de licença são realmente nossos (autenticidade da licença)

Existem outras coisas interessantes que você pode fazer com isso, como codificar níveis de assinatura na chave de licença.O aplicativo irá descriptografar a chave de licença e verificar se eles só têm permissão para usar determinadas funcionalidades.

Isso pode ser atacado.Por exemplo, um blackhat pode remover toda a parte de verificação da chave de licença do binário ou atualizar a chave pública armazenada no aplicativo para uma que ele tenha gerado.Eles poderão então fazê-lo aceitar sua própria licença.No entanto, como as nossas aplicações não são tão convencionais, não consideramos isto uma grande ameaça.

Outras dicas

Este artigo sobre pirataria escrito por um cara que criou e comercializou um pequeno aplicativo .NET é muito informativo.Seu aplicativo foi pirateado, o que lhe dá uma perspectiva interessante:

http://kalzumeus.com/2006/09/06/yo-ho-me-hearties-yo-ho/

Seus argumentos são basicamente que você precisa tornar o sistema de ativação uma barreira para usuários normais - não há nada que você possa fazer se seu aplicativo for popular o suficiente para ser pirateado por um grupo de hackers.O mais importante é garantir que uma versão crackeada do seu programa, se existir, seja invisível para 99% do público.

Se você estiver usando .Net para construir suas soluções, talvez valha a pena conferir Xheo.Já os usei antes para implementar o licenciamento e eles se integram perfeitamente às soluções .net.Você pode fazer coisas como exigir chaves seriais básicas para ativar produtos diretamente para configurar um servidor de ativação e exigir que as pessoas ativem e desativem seus produtos para usá-los e portá-los entre máquinas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top