Limitar números de gravações de firmware

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor Jorge_Francisco » 06 Jan 2010 16:22

André,

Só se enviar o .Hex com chave pública e enviar a chave privada depois.

Acho que estamos em outro nível de conversa,hehe.

Jorge
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor KrafT » 07 Jan 2010 07:03

Se fosse chip da Freescale, tipo um 9s08 da vida, bastava o cliente ter um Cyclone como gravador e via internet voce colocava o firware no mesmo com o numero de gravações desejadas.

Alem de poder atualizar o firware da mesma forma...

Mas sendo PIC tem que se pagar o preço.
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor marcelo campos » 07 Jan 2010 11:09

Amigos,

Grandes idéias, muito mais (e melhores) do que eu sozinho consegui imaginar quando fiquei dias queimando a pestana antes de postar aqui esta questão;

Pela lógica muitos tem razão e vi que tem mesmo muitas maneiras de se fazer umas mais outras menos complexas ou menos ao alcance de cada um...

e por favor sem stress

Agora um porém pra quem quer uma segurança infalível (que não é o meu caso só quero uma "forte" o bastante):
- Uma uma das maiores e mais lucrativas empresas de software do mundo a Microsoft, tem uma a segurança de seu mais lucrativo produto, o Windows, bem quebrável e nem por isto deixa de ter lucros extraordinários e praticamente monopolizar o mercado.

Apesar de dar um trabalho danado, tomar tempo e gasto altos, necessitar de profissional altamente qualificado e.... o firmware não é tudo. E falo isto também como programador;
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor vtrx » 07 Jan 2010 11:51

Kraft,é possível fazer isso com qualquer µc,basta programar um software próprio com um hardware dedicado,o problema ,talvez,seja o 'sniff'.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor marcelo campos » 07 Jan 2010 12:06

vtrx escreveu:Kraft,é possível fazer isso com qualquer µc,basta programar um software próprio com um hardware dedicado,o problema ,talvez,seja o 'sniff'.


É isso aí, em última instância podemos colocar um analizador, ou circuitinho "chupa cabra", direto nos pinos data e ck do pic ou qualquer outro uC.
E pegar o firmware sendo gravado...

Mas até aí já dificultou bastante, é pra se pensar se quem faria isto já não desenvolveria o firmware sendo gravado;

Marcelo Campos
.
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor fabim » 07 Jan 2010 12:24

marcelo campos escreveu:Amigos,

Grandes idéias, muito mais (e melhores) do que eu sozinho consegui imaginar quando fiquei dias queimando a pestana antes de postar aqui esta questão;

Pela lógica muitos tem razão e vi que tem mesmo muitas maneiras de se fazer umas mais outras menos complexas ou menos ao alcance de cada um...

e por favor sem stress

Agora um porém pra quem quer uma segurança infalível (que não é o meu caso só quero uma "forte" o bastante):
- Uma uma das maiores e mais lucrativas empresas de software do mundo a Microsoft, tem uma a segurança de seu mais lucrativo produto, o Windows, bem quebrável e nem por isto deixa de ter lucros extraordinários e praticamente monopolizar o mercado.

Apesar de dar um trabalho danado, tomar tempo e gasto altos, necessitar de profissional altamente qualificado e.... o firmware não é tudo. E falo isto também como programador;


à intão pode ser qualquer porcaria mesmo, isto ja vai dar um certo nivel de dor de cabeça pros xupinhos que tentarem burlar seu sistema.
Só que uma vez burlado, o seu cliente vai gravar quantos pic´s quiser sem te dar nenhum centavo por isto..
Sendo assim faça igual a microsoft, venda pra todo mundo, assim abre mais os seus lucros e não vai ter problemas se alguns burlarem o seu sistema de segurança.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor _blackmore_ » 07 Jan 2010 12:37

marcelo campos

este tópico está muito interessante, a experiência do pessoal ajuda muito mesmo hein?
Agora uma pergunta boba, mas eu não consigo entender pq vc tem que enviar o .hex para o seu (ou seus) cliente(s)?

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor KrafT » 07 Jan 2010 13:43

vtrx escreveu:Kraft,é possível fazer isso com qualquer µc,basta programar um software próprio com um hardware dedicado,o problema ,talvez,seja o 'sniff'.


Na minha sugestão, o cliente compra o uC virgem de quem quiser, mas o gravador que é atualizado remotamente via internet, vai limitar o numero de gravações.

Tudo isso já é nativo na ferramenta, no caso o Cyclone, mas claro que ferramentas sérias tem seu preço, no caso 1000 reais aproximadadente.

Mas também é outro mcu, o que torna minhas colocações meio off-topic.
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Mensagempor vtrx » 07 Jan 2010 20:39

Muito interessante esse tópico,eu projetei a muito tempo atraz,proteção para alguns Software que desenvolví utilizando um pic como Hardlock via serial.
Criei um algorítimo anti-sniff eficaz onde qualquer tentativa de se comunicar com o HardLock com algum byte não implementado,ele grava na eeprom um código deixando-o em loop infinito e um Led piscando infinitamente.
Agora fazer ao contrario,proteger o FirmWare do PIC,é muito engraçado.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor marcelo campos » 08 Jan 2010 08:54

_blackmore_ escreveu:marcelo campos

este tópico está muito interessante, a experiência do pessoal ajuda muito mesmo hein?
Agora uma pergunta boba, mas eu não consigo entender pq vc tem que enviar o .hex para o seu (ou seus) cliente(s)?

abrax!

Olá blackmore,

Realmente muito interessante e o pessoal tem mesmo contribuído muito, sinceramente não espera que viriam tantas idéias boas quando postei

Agora sobre o que perguntou, a reposta é simples e que já deve ter imaginado: quero difundir mais e para qualquer um, ou seja: o cliente 1) compra o firmware 2) baixa 3)grava 4)ativa

Abraço,

Marcelo.
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor _blackmore_ » 06 Mar 2011 18:43

Com a necessidade ...

Eu fiz um fw simples (botao led e LCD) e precisava que atualizações pudessem ser realizadas a distância, por pessoas que não tenham conhecimento técnico nem ferramentas para tal (gravadores).
Alguns pontos q estavam obscuros para mim foram esclarecidos ...

1 - PIC com bootloader, funciona e muito bem ... eu gostei e vai me ajudar em um trabalho q estou desenvolvendo, devia ter fuçado isso muito antes;

2 - Proteção contra leitura, funciona se na hora de vc gravar o bootloader vc ativar a proteção contra leitura da memória ela ficará protegida;

3 - Funcionamento do código, caso vc pegue o .hex a ser "atualizado" e gravar diretamente na memoria do PIC o fw vai funcionar normalmente, se não tiver a criptografia e o cabra for curioso, trabalho perdido;

Agora o negócio é aprender criptografia ...

abraço
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor marcelo campos » 08 Mar 2011 10:05

_blackmore_

sobre seu item 2:
2 - Proteção contra leitura, funciona se na hora de vc gravar o bootloader vc ativar a proteção contra leitura da memória ela ficará protegida;

Qual bootloader está usando ? pois nos que uso ao ativar o code protect "dá pau"

valeu
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor Guri » 08 Mar 2011 11:34

Analizando as inumeras respostas do colegas para a solução do problema sugerido. Eu imaginei o seguinte:

- Você fazer um circuito com o pic onde esse circuito seria uma espécie de contimetro que iria autenticar a liberação de seu programa que estaria no firmware que você deixou com o cliente uma determinada quantidade de vezes (tipo um pre-pago, quando acabar a carga o cliente tem que lhe enviar o aparelho para vc fazer a recarga).

- A comunicação poderia ser rx tx entre os dois circuitos, porém você iria detectar o checksam do seu firmware antes de autenticar o circuito para que funcione, entendeu.

- Após confirmação do checksam o seu firmware irá aguardar por um determinado tempo (tipo 3 segundos) que seja enviado do contimetro a senha de autenticação (essa senha sempre será pedida no programa todas as vezes que o sistema foi reinicializado e estará guardada na eeprom).

- Você então envia uma sequencia por exemplo de 100 bytes e a cada autenticação do contimetro o baudrate seria alterado ciclicamente.

- Lá no seu firmware você teria um detector de baudrate, bem simples, sugiro vc fazer um byte de identificação do baudrate, tipo: 00 = baudrate 1.200bps, 01 = baudrate 9.200bps e assim por diante, lembre-se que lá no seu firmware será feito uma rotina que receber esse byte de status para calibrar o baudrate afim de sincronizar o contimetro.

Essa alternativa de alterar as taxas a cada autenticação de firmware seria para dificultar alguém escutar seus pacotes de dados que estão sendo transmitidos e o fato da leitura do checksam (poderia ser gravado numa área da memória esse cheksam, entendeu, não precisaria ser necessariamente o checksam do mcu) é uma segurança a mais.

Se bem que eu acho que você poderia fazer os clientes enviarem para você gravar os chips, todavia cada um tem seu estilo de trabalho.

Boa sorte,
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor _blackmore_ » 08 Mar 2011 21:36

marcelo campos

Qual bootloader está usando ? pois nos que uso ao ativar o code protect "dá pau"


O bootloader, Tinybootloader com o firm do site ... eficiente, ocupa 103 words ( 3 no início e 100 no final da memória) ...

( http://www.etc.ugal.ro/cchiculita/softw ... loader.htm )

os próximos testes serão com o bootloader da microchip (AN1310)
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Anterior

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x