-
11. Data: 2014-03-12 12:21:25
Temat: Re: FPGA - jak się zabezpieczyć przed skopiowaniem IP ?
Od: "Dariusz K. Ładziak" <d...@n...pl>
Użytkownik Adam Górski napisał:
> W dniu 2014-03-11 11:44, s...@g...com pisze:
>> Mam opracowane IP i chcę sprzedawać specjalistyczny moduł z FPGA na
>> pokładzie.
>> Wiadomo, że musi być na pokładzie FPGA i pamięć konfiguracyjna. I
>> jeszcze trochę pierdulamentów, ale to mało istotne. Wiadomo,
>> najważniejszym elementem jest nie samo FPGA, nie kostka pamięcie
>> konfiguracyjnej. Najważniejsza jest zawartość pamięci konfiguracyjnej.
>> Bez problemu KAŻDY może to skopiować i mogę se wówczas "pogwizdać"..
>>
>> Patent międzynarodowy? Kupa czasu, papierologii, koszty, a w razie
>> czego sądy międzynarodowe (też nie za darmola) i takie tam...
>>
>> ASIC? Zbyt duże jest to IP, a ponadto nie stać mnie na to.
>>
>> Xilinx oferuje "Hardcopy", ale z tego co się doczytałem dotyczy to
>> tylko wybranych układów FPGA. I do tego wcale nie najtańszych, ale być
>> może miałoby to sens. Macie jakąś wiedzę jaka jest minimalna ilość
>> zamówienia i ile to kosztuje?
>>
>> Macie Koledzy jakiś chytry pomysł na zabezpieczenie?
>>
>
> Zaczynając od Altery Cyclone III LS chyba również w Cyclone IV i na
> pewno w Cyclone V możliwa jest konfiguracja z zaszyfrowanego obrazu.
>
> Wygląda to mniej więcej tak ( na bazie Cyclone III LS których używam )
>
> 1. Tworzysz klucz szyfrujący
> 2. Jednorazowo zapisujesz go bezpośrednio do fpga ( pamięć z
> podtrzymaniem bateryjnym )
> 3. Przygotowujesz zaszyfrowany image który jest przechowywany we flashu.
> 4. Podczas konfiguracji obraz jest rozszyfrowywany w locie.
> 5. Zewnętrznego flasha można wtedy sobie kopiować ale nie będzie działał
> z innym egzemplarzem który nie ma zapisanych pasujących kluczy.
>
>
> Z tego co czytałem w Cyclone 5 jest możliwość wyboru co do sposobu
> przechowywania klucza. Pamięć z podtrzymaniem bateryjnym lub mały flaszyk.
Czyli jedyną metodą skutecznego zabezpieczenia jest wystawienie systemu
na zależność od jednej, jedynej bateryjki? Bo faktycznie - jak
sprzętowo, paląc jakiegoś fusa uniemożliwić wtórny odczyt z zewnątrz
tego klucza to miałbym problem - jak rozebrać kość nie wyłączając
zasilania (a trzeba rozebrać żeby na chipie trochę połączenia
poprzerabiać w celu odczytania klucza).
Na pocieszenie - takie metody rozgryzania systemów są tak drogie że
nieczęsto się w ogóle opłaci. Jednostkowo czy małoseryjnie robionego
sprzętu nikt nie puści przez reverse engineering, taniej zaprojektować
od początku.
--
Darek
-
12. Data: 2014-03-12 13:02:05
Temat: Re: FPGA - jak się zabezpieczyć przed skopiowaniem IP ?
Od: Adam Górski <gorskiamalpa@wpkropkapl>
W dniu 2014-03-12 12:21, "Dariusz K. Ładziak" pisze:
> Użytkownik Adam Górski napisał:
>> W dniu 2014-03-11 11:44, s...@g...com pisze:
>>> Mam opracowane IP i chcę sprzedawać specjalistyczny moduł z FPGA na
>>> pokładzie.
>>> Wiadomo, że musi być na pokładzie FPGA i pamięć konfiguracyjna. I
>>> jeszcze trochę pierdulamentów, ale to mało istotne. Wiadomo,
>>> najważniejszym elementem jest nie samo FPGA, nie kostka pamięcie
>>> konfiguracyjnej. Najważniejsza jest zawartość pamięci konfiguracyjnej.
>>> Bez problemu KAŻDY może to skopiować i mogę se wówczas "pogwizdać"..
>>>
>>> Patent międzynarodowy? Kupa czasu, papierologii, koszty, a w razie
>>> czego sądy międzynarodowe (też nie za darmola) i takie tam...
>>>
>>> ASIC? Zbyt duże jest to IP, a ponadto nie stać mnie na to.
>>>
>>> Xilinx oferuje "Hardcopy", ale z tego co się doczytałem dotyczy to
>>> tylko wybranych układów FPGA. I do tego wcale nie najtańszych, ale być
>>> może miałoby to sens. Macie jakąś wiedzę jaka jest minimalna ilość
>>> zamówienia i ile to kosztuje?
>>>
>>> Macie Koledzy jakiś chytry pomysł na zabezpieczenie?
>>>
>>
>> Zaczynając od Altery Cyclone III LS chyba również w Cyclone IV i na
>> pewno w Cyclone V możliwa jest konfiguracja z zaszyfrowanego obrazu.
>>
>> Wygląda to mniej więcej tak ( na bazie Cyclone III LS których używam )
>>
>> 1. Tworzysz klucz szyfrujący
>> 2. Jednorazowo zapisujesz go bezpośrednio do fpga ( pamięć z
>> podtrzymaniem bateryjnym )
>> 3. Przygotowujesz zaszyfrowany image który jest przechowywany we flashu.
>> 4. Podczas konfiguracji obraz jest rozszyfrowywany w locie.
>> 5. Zewnętrznego flasha można wtedy sobie kopiować ale nie będzie działał
>> z innym egzemplarzem który nie ma zapisanych pasujących kluczy.
>>
>>
>> Z tego co czytałem w Cyclone 5 jest możliwość wyboru co do sposobu
>> przechowywania klucza. Pamięć z podtrzymaniem bateryjnym lub mały
>> flaszyk.
>
> Czyli jedyną metodą skutecznego zabezpieczenia jest wystawienie systemu
> na zależność od jednej, jedynej bateryjki? Bo faktycznie - jak
> sprzętowo, paląc jakiegoś fusa uniemożliwić wtórny odczyt z zewnątrz
> tego klucza to miałbym problem - jak rozebrać kość nie wyłączając
> zasilania (a trzeba rozebrać żeby na chipie trochę połączenia
> poprzerabiać w celu odczytania klucza).
Bateryjka lub jak w moim wypadku akumulatorek CR2032 doładowywany w
trakcie pracy ( Cyclone 3 LS ). Cyclone 5 posiada już wewnątrz fpga
flash na klucz - write only.
Można uzyskać względne bezpieczeństwo stosując kombinację wcześniej
wspomnianych metod.
>
> Na pocieszenie - takie metody rozgryzania systemów są tak drogie że
> nieczęsto się w ogóle opłaci. Jednostkowo czy małoseryjnie robionego
> sprzętu nikt nie puści przez reverse engineering, taniej zaprojektować
> od początku.
>
Dokładnie tak.
-
13. Data: 2014-03-12 13:35:26
Temat: Re: FPGA - jak się zabezpieczyć przed skopiowaniem IP ?
Od: s...@g...com
W dniu środa, 12 marca 2014 08:58:50 UTC+1 użytkownik MiSter napisał:
> >
>
> > Sensownie w tym temacie wypowiedział się Adam Górski. Ponad wszelaką, gościu zna
się na tym. Trza poczytać co nie co , i zaś Adama poprosić o poradę jak coś będzie w
tym temacie nie za bardzo "hallo"..
>
> >
>
>
>
> A czy tak zaprogramowanego FPGA nie da się odczytać? ;-)
>
>
Chyba nie, ale pewien nie jestem, Jeżeli masz wiedzę jak to zrobić, to napisz. Ot z
czystej ciekawości...
-
14. Data: 2014-03-12 13:56:56
Temat: Re: FPGA - jak się zabezpieczyć przed skopiowaniem IP ?
Od: s...@g...com
W dniu środa, 12 marca 2014 12:21:25 UTC+1 użytkownik Dariusz K. Ładziak napisał:
> Użytkownik Adam Górski napisał:
>
> > W dniu 2014-03-11 11:44, s...@g...com pisze:
>
> >> Mam opracowane IP i chcę sprzedawać specjalistyczny moduł z FPGA na
>
> >> pokładzie.
>
> >> Wiadomo, że musi być na pokładzie FPGA i pamięć konfiguracyjna. I
>
> >> jeszcze trochę pierdulamentów, ale to mało istotne. Wiadomo,
>
> >> najważniejszym elementem jest nie samo FPGA, nie kostka pamięcie
>
> >> konfiguracyjnej. Najważniejsza jest zawartość pamięci konfiguracyjnej.
>
> >> Bez problemu KAŻDY może to skopiować i mogę se wówczas "pogwizdać"..
>
> >>
>
> >> Patent międzynarodowy? Kupa czasu, papierologii, koszty, a w razie
>
> >> czego sądy międzynarodowe (też nie za darmola) i takie tam...
>
> >>
>
> >> ASIC? Zbyt duże jest to IP, a ponadto nie stać mnie na to.
>
> >>
>
> >> Xilinx oferuje "Hardcopy", ale z tego co się doczytałem dotyczy to
>
> >> tylko wybranych układów FPGA. I do tego wcale nie najtańszych, ale być
>
> >> może miałoby to sens. Macie jakąś wiedzę jaka jest minimalna ilość
>
> >> zamówienia i ile to kosztuje?
>
> >>
>
> >> Macie Koledzy jakiś chytry pomysł na zabezpieczenie?
>
> >>
>
> >
>
> > Zaczynając od Altery Cyclone III LS chyba również w Cyclone IV i na
>
> > pewno w Cyclone V możliwa jest konfiguracja z zaszyfrowanego obrazu.
>
> >
>
> > Wygląda to mniej więcej tak ( na bazie Cyclone III LS których używam )
>
> >
>
> > 1. Tworzysz klucz szyfrujący
>
> > 2. Jednorazowo zapisujesz go bezpośrednio do fpga ( pamięć z
>
> > podtrzymaniem bateryjnym )
>
> > 3. Przygotowujesz zaszyfrowany image który jest przechowywany we flashu.
>
> > 4. Podczas konfiguracji obraz jest rozszyfrowywany w locie.
>
> > 5. Zewnętrznego flasha można wtedy sobie kopiować ale nie będzie działał
>
> > z innym egzemplarzem który nie ma zapisanych pasujących kluczy.
>
> >
>
> >
>
> > Z tego co czytałem w Cyclone 5 jest możliwość wyboru co do sposobu
>
> > przechowywania klucza. Pamięć z podtrzymaniem bateryjnym lub mały flaszyk.
>
>
>
> Czyli jedyną metodą skutecznego zabezpieczenia jest wystawienie systemu
>
> na zależność od jednej, jedynej bateryjki? Bo faktycznie - jak
>
> sprzętowo, paląc jakiegoś fusa uniemożliwić wtórny odczyt z zewnątrz
>
> tego klucza to miałbym problem - jak rozebrać kość nie wyłączając
>
> zasilania (a trzeba rozebrać żeby na chipie trochę połączenia
>
> poprzerabiać w celu odczytania klucza).
>
>
>
> Na pocieszenie - takie metody rozgryzania systemów są tak drogie że
>
> nieczęsto się w ogóle opłaci. Jednostkowo czy małoseryjnie robionego
>
> sprzętu nikt nie puści przez reverse engineering, taniej zaprojektować
>
> od początku.
>
>
Szczerze powiedziawszy, od samego początku myślę o "bakterii" jako o elemencie
zabezpieczającym. Natomiast warto moim zdaniem zastanowić się nad tym , i trochę
poczytać w pdf'ach A+X pod kątem tego co napisał Adam Górski. Jak na tą chwilę, nie
będę się "wymądrzał", wydaje mi się że Adam dał dobrą wskazówę, tera trza ino trochę
papierów poczytać...
-
15. Data: 2014-03-12 16:04:31
Temat: Re: FPGA - jak się zabezpieczyć przed skopiowaniem IP ?
Od: "Dariusz K. Ładziak" <d...@n...pl>
Użytkownik s...@g...com napisał:
> W dniu środa, 12 marca 2014 08:58:50 UTC+1 użytkownik MiSter napisał:
>>>
>>
>>> Sensownie w tym temacie wypowiedział się Adam Górski. Ponad wszelaką, gościu zna
się na tym. Trza poczytać co nie co , i zaś Adama poprosić o poradę jak coś będzie w
tym temacie nie za bardzo "hallo"..
>>
>>>
>>
>>
>>
>> A czy tak zaprogramowanego FPGA nie da się odczytać? ;-)
>>
>>
> Chyba nie, ale pewien nie jestem, Jeżeli masz wiedzę jak to zrobić, to napisz. Ot z
czystej ciekawości...
Wszystko się da - pytanie tylko ile będzie kosztowało. Na mój gust (a
parę lat się tym zajmowałem) pomysł z bateryjką zwielokrotnia koszty
dobrania sie do układu - najpierw trzeba parę kości rozebrać żeby się
nauczyć jak do tego flasha się dobrać, potem cały, nieprosty w sumie
proces przerabiania połączeń (otwarcie układu, parę fotolitografii czy
innych technik osadzania selektywnego warstw) trzeba zrobić nie tracąc
zasilania - za którymś razem zapewne się uda, bałbym się optymistycznie
zakładać że za drugim. W efekcie - koszty szybują w kosmos, jak już
pisałem - najczęściej taniej jest zrobić od początku.
--
Darek