Sistema de Proteção para softwares java

Olá… alguém conhece alguma classe, bean ou algo para proteção de software desenvolvidos em java?

Na sua opnião, o que vc usaria para deixar um software desenvolvido por vc com uma segurança anti-pirataria, tipo:

-Anti-cópia
-Expirar dentro de X dias
-Código para reativação de licensa

…??? :!:

Um bom advogado :stuck_out_tongue:

Hehehe…

Caso vc desenvolva um soft para um comercio. O q vc faria para garantir que aquele cliente utilize apenas a única licensa que ele adquiriu com vc…??

Como irá garantir que ele simplesmente faça uma cópia do seu soft para colocar na outra loja dele q ele tem na eskina da frente…???

Abraços…

certa vez eu li um livro, não lembro ao certo o nome, mas ele tratava justamente deste tipo de situações…
ele trazia alguns códigos de técnicas como: pegar o serial do hd do cara, salvar uma fonte e sempre verificar a existencia dessa fonte para permitir o uso…
é alguma coisa com pirataria no meio do título, me desculpe não lembrar ao certo, mas se vc der uma procurada no google alguma coisa sobre técnicas de proteção contra pirataria, creio que encontrará…

flw

Se você procurar por aí vai descobrir que:

  • Normalmente “sistemas de software comerciais” (ou seja, aqueles para a tal lojinha da esquina com 3 filiais) não se fazem em Java mas em Delphi ou VB 6.0, porque os hardwares são fracos e antigos demais para suportarem Java, e confesso que fazer telas decentes em Java ainda é uma arte que beira a magia negra;
  • É meio difícil proteger um programa Java, se você ainda insiste nisso. Pode tentar um hardware que se liga na porta USB (ou paralela) e que exige que você use uma biblioteca especial - procure por “java” e “dongle”. Não sei se os caras têm representantes no Brasil ou se o tal equipamento é caro demais por cópia.

É exatamente isso, eu estou migrando de Delphi para Java a alguns meses, me deparei com essa dúvida…
No meu soft em Delphi, eu construi minha propria protecao(nao mto boa mas q atende minhas necessidades), mas no meu caso, eu so queria saber se existe uma solucao dessas para a plataforma java, visto que um soft em java, pode ser executado em qualquer SO q contenha a JVM…

São dúvidas para crescer aumentar o conhecimento…

Tenho uma boa noção sobre segurança e anti-pirataria, mas como não tenho um conhecimento avançado da linguagem java, me surgiu esta “duvida”…

Se tiverem mais ideias, desde ja agradeço…

ps: thingol, me desculpe pela “lojinha da eskina”, minha intenção não era ofende-lo…

Abraços…

[quote=Fernandojdk]Olá… alguém conhece alguma classe, bean ou algo para proteção de software desenvolvidos em java?

Na sua opnião, o que vc usaria para deixar um software desenvolvido por vc com uma segurança anti-pirataria, tipo:

-Anti-cópia
-Expirar dentro de X dias
-Código para reativação de licensa

…??? :!: [/quote]

A melhor protecção para esse tipo de coisa realmente é um advogado. Do ponto de vista tecnico protecção anti-pirataria não existe.
Existe apenas atrazo anti-pirataria. Claro, ha coisa que se podem fazer para maximizar o atrazo e frustar os mais leigos. Mas a melhor forma é realmente não haver necessidade de ter essa protecção.

Criar uma licença é relativamente simples: use criptografia assimetrica. Agora, garantir que ninguem viola o codigo das suas classes para driblar essa criptografia são outros 500. A complexidade da defesa é a medida da protecção. Mas nada é inviolável, então pense bem se vale a pena o esforço

[quote=Fernandojdk]É exatamente isso, eu estou migrando de Delphi para Java a alguns meses, me deparei com essa dúvida…
No meu soft em Delphi, eu construi minha propria protecao(nao mto boa mas q atende minhas necessidades), mas no meu caso, eu so queria saber se existe uma solucao dessas para a plataforma java, visto que um soft em java, pode ser executado em qualquer SO q contenha a JVM…

São dúvidas para crescer aumentar o conhecimento…

Tenho uma boa noção sobre segurança e anti-pirataria, mas como não tenho um conhecimento avançado da linguagem java, me surgiu esta “duvida”…

Se tiverem mais ideias, desde ja agradeço…

ps: thingol, me desculpe pela “lojinha da eskina”, minha intenção não era ofende-lo…

Abraços…[/quote]

Trabalhei numa empresa que utiliza este recurso de USB. Cada novo cliente era uma dor de cabeça e sempre me perguntava se aquilo era realmente necessário, olha como funcionava:

  • gerava uma chave específica para cada cliente;
  • gravava a chave no dispositivo USB;
  • envelopava o programa, ou seja, era criada uma “casca” que o usuário então passaria a executar isso (que tinha o programa dentro), então quando executado o envelope a bilbioteca proprietária verificava se o o dispositivo que estava conectado no USB tinha a mesma chave que a compilação do envelope.

Problemas:

  • Logicamente os clientes tiravam esse dispotivo de USB toda hora e quando iam executar o programa ele não rodava… só suporte desnecessário que queimava a imagem da empresa.
  • Cada cliente tinha uma chave, imagine o rolo para gerenciar isso, por exemplo quando o cliente perdia a chave USB ou faltava alguma na implantação.
  • Só tinha um fornecener autorizado a fabricar os dispositivos USB que guardavam a chave, ou seja, se tornava um escravo.

Essa proteção era para um sistema em Delphi. Acompanhava o programa envelopava as aplicações.
No caso de Java aí era bem mais complicado, pois normalmente eles oferecem uma biblioteca que você tem que implementar na mão, ou seja, a própria aplicação vai se comunicar com o USB e ver se possui a chave que foi destinada para aquele programa.

Recursos como este mais atrapalham do que ajudam.
Se você quiser lhe passo o nome, mas não quero fazer proaganda de porcaria.

Obrigado a todos pela colaboração…

Fernando, se o valor venal do seu programa não for muito baixo(por exemplo, uns 1000 reais, ou apenas umas 30 horas-trabalho, por exemplo), acho que vc deve considerar um registro decente, no INPI.Veja mais:
http://www.inpi.gov.br/menu-esquerdo/programa

Fernandojdk, trabalho com software comercial (ERP) a muitos anos e este assunto é muito discutido independente do tamanho da aplicação ou da empresa aplicada, sempre existe preocupação em alguém roubar a sua idéia, como diz o Marcelo Rezende, da trabalho pra fazer…

Mas não existe uma forma totalmente segura e inviolavel, no meu caso, eu cobro por licença de uso, sendo assim tenho um contrato com o cliente e cobro um valor mensal pelo seu uso, para garantir esta cobrança eu envio um arquivo com um novo periodo de uso e pelo sistema ele le e carrega este arquivo (encriptografado), liberando por mais um periodo… o sistema contem os dados do cliente que o adquiriu… e tbm tem o fato de sempre ter algumas melhorias, alterações, atualizações que se alguém piratear, não às terá e isso atrapalha o bom funcionamento do sistema, então uma hora este cara vai acabar contratando os teus serviços.

Isso ajuda a garantir uma certa fidelidade do cliente para com vc, mas como eu disse nenhum programa é aprova de pirataria ou violação, é bobagem perder muito tempo com isso e advogado tbm não é a melhor solução.