Goto page Previous 1, 2
Tomasz Sliwa
Guest
Thu Feb 08, 2007 12:00 pm
Quote:
To może być też do obejścia, ktoś weźmie analizator cyfrowy, posiedzi
i rozgryzie protokół...
I jeszcze inne pomysly z zastosowaniem programatora:
1. Nasze binarne Firmware mozna latwo zaszyfrowac i zahardkodowac w
Software do programatora. Dodatkowo mozna jeszcze jakies kroki
odszyfrowania zostawic programatorowi. Wowczas zmuszamy klienta do
zastosowania naszego softu z naszym programatorem.
2. Binarke szyfrujemy sobie znanym szyfrem ktory potrafi odszyfrowac
tylko nasz Software do programatora.
Pozdrawiam
Tomasz Sliwa
--
www.tgs.sys.net.pl
Tomasz Sliwa
Guest
Thu Feb 08, 2007 12:10 pm
Quote:
To zakodowac sygnal cyfrowy poprzez modulacje analogowa

.
Tak - klient wgrywa tylko loader, podłącza do urządzenia antenę,
urządzenie zgłasza przez radio żądanie pobrania programu a my
wysyłamy. Oczywiście w obie strony używamy DSSS

mozna i tak.
Prosciej: W programatorze umieszczamy wejscie internetowe i
konfigurujemy go tak, zeby wspolpracowal z jakims naszym serwerkiem.
Klient, zeby zaprogramowac urzadzenie, podlacza programator do sieci,
wchodzi na nasza strone, naciska opowiedni przycisk i urzadzenie mu sie
programuje "online" z sieci.
Mozna wtedy klientowi zrobic ladny licznik zaprogramowanych urzadzen na
naszej stronie www w stylu:
Gratulujemy zaprogramowania urzdzenia nr 1292. Dziekujemy za wspolprace.
Pozdrawiam
Tomasz Sliwa
--
T.G.E. Elektronik
www.tgs.sys.net.pl
John Smith
Guest
Thu Feb 08, 2007 12:53 pm
Quote:
Piszę oprogramowanie na uC i projektuję PLD. Generalnie wykazuje
ograniczony poziom zaufania do klientów, ...
....
Z pomysłów "nieelektronicznych": może napisać umowę z % od ilości
sprzedanych sztuk.
Kontrola prawidłowości na podstawie prawa wglądu (a nie kopiowania) do
faktur.
Wystarczy sprawdzić wyrywkowo wybrane miesiące.
Z pomysłów elektronicznych,
1. dostarczyć programator z "licencją" na określoną ilość programowań -
do obejścia.
2. współuczesniczysz w produkcji na etapie programowania układu.
Generalnie umawianie się na % jako podstawą wynagrodzenia ma więcej
wad niż zalet i dawno już od tego odszedłem.
K.
Piotr \"PitLab\" Laskowsk
Guest
Thu Feb 08, 2007 1:02 pm
Quote:
I jeszcze inne pomysly z zastosowaniem programatora:
1. Nasze binarne Firmware mozna latwo zaszyfrowac i zahardkodowac w
Software do programatora. Dodatkowo mozna jeszcze jakies kroki
odszyfrowania zostawic programatorowi. Wowczas zmuszamy klienta do
zastosowania naszego softu z naszym programatorem.
2. Binarke szyfrujemy sobie znanym szyfrem ktory potrafi odszyfrowac
tylko nasz Software do programatora.
Te metody mają jedną słabość:
Do kontrolera dane muszą iść jawne, więc o ile można dostać się fizyczne
pomiędzy programator a programowany układ to użytkownik może podsłuchać
transmisję między programatorem a programowanym układem i w ten sposób
uzyska jawną zawartość pliku programującego. Potem wystarczy programować
układu innym standardowym programatorem.
--
Piotrek.
http://www.pitlab.pl
Roman Filipecki
Guest
Thu Feb 08, 2007 2:07 pm
Witam
Jeśli produkt będzie produkowany na dużą skalę nawet nie myśl o
programowaniu poza systemem.
Kilka lat temu robiłem projekt który został wprowadzony na rynek w ilości
około 20000 sztuk. Moim zabezpieczeniem była podpisana umowa z klientem (
znana firma giełdowa ) z określeniem wysokości tantiem. Fakt że każdy
egzemplarz urządzenia posiada unikalny numer umożliwiający kontrolę, ale mój
kontrahent zachowuje się uczciwie, i nie mam potrzeby weryfikacji informacji
o wysokości sprzedaży.
Pamiętaj także o prawie Murphy'ego " ..urządzenie zabezpieczające niszczy
urządzenie zabezpieczane...".
Pamiętaj że koszty serwisowania oprogramowania dużej populacji produktu mogą
skonsumować cały zysk a nawet jeszcze więcej. Może pamiętacie drakę związaną
z drukarka fiskalną i rokiem 2000?
Co innego jeśli chodzi o produkcję kilkudziesięciu sztuk. Przecież nikt o
zdrowych zmysłach nie będzie dzisiaj montował kilku sztuk płyt, więc możesz
kożdy egzemplarz przygotować osobiście.
To trochę inne spojrzenie ale może się przydać:-)
RomanF
Użytkownik "news.onet.pl" <darwoz@poczta.onet.pl> napisał w wiadomości
news:eqcc1b$kf9$1@news.onet.pl...
Quote:
Witam
Piszę oprogramowanie na uC i projektuję PLD. Generalnie wykazuje
ograniczony poziom zaufania do klientów, choć tego dla którego
wykonuje zlecenie akurat znam i to w sensie pozytywnym - co nie zmienia
mojego podejścia.
Sytuacja wygląda tak, część moich zysków, będzie to prowizja za sprzedaż
i w związku z tym chcę zachować kontrolę nad Tym ile sztuk urządzenia
zostało
wyprodukowanych. Z pewnych względów sam nie będę mógł wrzucać
oprogramowania
do uC + pliku konfiguracyjnego do PLD - problemem będzie dzieląca
odległość.
Oczywiście są przesyłki itd. Ale to raczej nie wchodzi w grę, ze względu
na wynikające
opóźnienia itd. W związku z powyższym, zbiory wynikowe udostępnię
klientowi.
Szukam sposobu zabezpieczenia mojego projektu przed niekontrolowaną
produkcją. Jednym z rozwiązań jest kość "serial number", wtedy wymagany
będzie plik dedykowany pod konkretną sztukę. Oczywiście jest to jakieś
rozwiązanie,
ale do chyba stosunkowo łatwego obejścia.
Można pewnie to załatwić przez Bootloadera, programując BL kości i
pozostawienie
ich klientowi , a następnie dosyłanie w miarę potrzeb kolejne pliki
dedykowane pod
kość z BL z zaszytym kluczem. Problem tylko w tym że uC będzie w obudowie
TQFP i zaprogramowanie go po za systemem, będzie raczej trudne.
Może z własnych doświadczeń możecie podsunąć jakieś rozwiązania
pozwalające w miarę skutecznie się zabezpieczyć w takiej sytuacji?
Pozdrawiam
Darek
point
Guest
Thu Feb 08, 2007 7:48 pm
T.M.F. wrote:
Quote:
Obudowa to zaden problem, do tego masz podstawki testowe, programowanie
to chwilka. Problemem jest to, ze majac kod binarny mozna prosto kazde
zabezpieczenie z niego wywalic.
Sprawa dotyczy szyfrowania kluczem symetrycznym _całego_ pliku z kodem.
Adam Dybkowski
Guest
Thu Feb 08, 2007 8:48 pm
Anna napisał(a):
Quote:
A może bootloader z wszytym kluczem zabezpieczającym. Przy programowaniu
procesor dekoduje w locie zawartość przesyłaną przez klienta.
no to jest najlepsze rozwiązanie o którym zresztą pisałem w głównym
poście, jednak ma ten minus, że bootloadera musiał bym wrzucić do
kości która nie jest przylutowana, a to już problem, obudowa TQFP64.
Kup podstawkę do programowania tego TQFP64 i nie cuduj. Porównaj koszt
zakupu takiej podstawki (kilkaset zł?) do strat jakie możesz ponieść gdy
oprogramowanie wycieknie tam gdzie nie chciałbyś go widzieć. Programuj w
każdym procesorze chociażby prosty bootloader wciągający i programujący
resztę kodu (zaszyfrowanego np. AES256 albo choćby 3DES) po zlutowaniu i
przetestowaniu płytki. Zapewnisz sobie przy okazji możliwość
późniejszego dosyłania nowszych apgrejdów, oczywiście także
zaszyfrowanych kluczem symetrycznym. Wystarczy taki sam klucz dla całej
serii urządzeń (możesz go zmieniać np. co rok) o ile zapewnisz, że
twojego bootloadera nie da się wydłubać z procesora.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
MikloBit
Guest
Thu Feb 08, 2007 9:44 pm
Quote:
Te metody mają jedną słabość:
Do kontrolera dane muszą iść jawne, więc o ile można dostać się fizyczne
pomiędzy programator a programowany układ to użytkownik może podsłuchać
transmisję między programatorem a programowanym układem i w ten sposób
uzyska jawną zawartość pliku programującego. Potem wystarczy programować
układu innym standardowym programatorem.
Oprócz słabości ( główna wada ) metoda jest droga bo trzeba zaprojektować ten
programator co nie będzie takie proste.
Jedyna 100% pewna metoda to wspomniany juz bootloader który ma zaszyty klucz, i
przesyłanie klientowi procków + zaszyfrowanegy program/aktualizacja.
Potrzebny hardware to postawka testowa za ~kilkaset PLN + dość prosty soft do
szyfrowania ( Sa gotowce jak to się robi - chocby noty aplkacyjne dla AVR - z
użyciem AES lub 3DES ).
Miłosz.
--
Wysłano z serwisu OnetNiusy:
http://niusy.onet.pl
T.M.F.
Guest
Thu Feb 08, 2007 11:13 pm
Quote:
Obudowa to zaden problem, do tego masz podstawki testowe,
programowanie to chwilka. Problemem jest to, ze majac kod binarny
mozna prosto kazde zabezpieczenie z niego wywalic.
Sprawa dotyczy szyfrowania kluczem symetrycznym _całego_ pliku z kodem.
I co to zmienia? Cos musi tem plik deszyfrowac. Nie moze to byc
programator, bo po ISP szlyby niezaszyfrowane dane. Wiec musi
bootloader. A skad on sie wezmie w chipe? Albo autor go wgra, albo
firma. Jesli firma ma binaria bootloadera, ma tez klucz, wiec jaki
problem zdeszyfrowac?
--
Inteligentny dom -
http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.
Darek
Guest
Sun Feb 11, 2007 6:41 pm
[quote:0c205768ee]Kup podstawkę do programowania tego TQFP64 i nie cuduj. Porównaj koszt
zakupu takiej podstawki (kilkaset zł?) do strat jakie możesz ponieść gdy
oprogramowanie wycieknie tam gdzie nie chciałbyś go widzieć.
[/quote:0c205768ee]
hmm... może i masz rację, 500zł za adapter to i tak niewiele w porównaniu
z wyciekiem oprogramowania...
Pozdrawiam
Darek
Darek
Guest
Sun Feb 11, 2007 6:41 pm
Goto page Previous 1, 2