FPGA - jak si? zabezpieczy? przed skopiowaniem IP

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?

Reply to
stchebel
Loading thread data ...

W dniu 2014-03-11 11:44, snipped-for-privacy@gmail.com pisze:

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.

Adam

Reply to
Adam Górski

W dniu wtorek, 11 marca 2014 12:03:25 UTC+1 użytkownik Adam Górski napisał:

Ja dziargam co prawda na Xilinx'sie , ale to ino drobny szczegół. Podtrzymanie bateryjne jest też możliwe w X. Z gubsza łapię o co chodzi, ale zanim zadam ewentualnie kolejne pytanie, poczytam trochę na stronach X. Jak czegoś nie zakumam, to dam znać. Jak zakumam, to też parę słów tutaj napiszę. Dzięki !!

Reply to
stchebel

  • Zewnętrzny procesor (zabezpieczony) współpracujący z FPGA
  • Procesor, FPGA w BGA
  • Wielowarstwowa PCB
  • Zastosować FPGA Xilinxa z flashem wewnątrz plus Sector Lockdown np.: Spartan AN

Pozdrawiam MiSter

Reply to
MiSter

W dniu wtorek, 11 marca 2014 13:43:33 UTC+1 użytkownik MiSter napisał:

1) Niezły pomysł, przemyśle to. 2) Chcę się zmieścić w Spartanie-6 (xc6slx45). I kurde mieszczę się w tym. I coby było weselej, całe to badziewie działa poprawnie nie tylko na symulatorze, ale po prostu to funguje w realu!! 3) SoftProcesor zaimplementowany w FPGA taż sprawy nie załatwia. Bo niby dlaczego ?? 4) W Spartanie3-AN niestety się nie zmieszczę. Ciuta za mały...
Reply to
stchebel

Oczywiście, że nie chodziło mi o SoftProcesor, chciałem napisać: "Zewnętrzny procesor w obudowie BGA, FPGA w obudowie BGA i dodatkowo obwód wielowarstwowy - znacząco komplikuję możliwość kopiowania projektu"

MiSter

Reply to
MiSter

W dniu wtorek, 11 marca 2014 16:42:32 UTC+1 użytkownik MiSter napisał:

OK, to teraz wiem co miałeś na myśli. Wielowarstwowe PCB jest oczywiście utrudnieniem, korzystam z

formatting link
, robią perfekcyjnie 8 warstw, i co z tego? Choćby i pierdyljon warstw było, nawet w technologii BGA, DOBRY serwisant (a takich jest od groma) wypruje pamięć konfiguracyjną i ją odczyta... Amen !! W prototypieniu korzystam z usług takich firm.. Bez problemu wylutują, odczytają, i zaś zalutują. BGA, ilość warstw nie ma znaczenia, o ile PCB jest porządnie zrobione i wytrzyma 2-3 procesy wylutuj/wlutuj.. Z reguły wytrzymuje.

Reply to
stchebel

W dniu wtorek, 11 marca 2014 13:43:33 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".

Reply to
stchebel

A czy tak zaprogramowanego FPGA nie da się odczytać? ;-)

Pozdrawiam

Reply to
MiSter

W dniu wtorek, 11 marca 2014 16:28:44 UTC+1 użytkownik snipped-for-privacy@gmail.com napisał:

Szyfrowanie bitstreamu X. ma już od czasów V2Pro - ale w "high-endowych" FPGA. Wg noty WP365 ("Solving Today's Design Security Concerns") parę XC6S też ma taką możliwość... tyle że od xc6slx75(t) w górę.

Reply to
KB

Użytkownik Adam Górski napisał:

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.

Reply to
invalid unparseable

W dniu 2014-03-12 12:21, "Dariusz K. Ładziak" pisze:

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.

Dokładnie tak.

Reply to
Adam Górski

W dniu środa, 12 marca 2014 08:58:50 UTC+1 użytkownik MiSter napisał:

Chyba nie, ale pewien nie jestem, Jeżeli masz wiedzę jak to zrobić, to napisz. Ot z czystej ciekawości...

Reply to
stchebel

W dniu środa, 12 marca 2014 12:21:25 UTC+1 użytkownik Dariusz K. Ładziak napisał:

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ć...

Reply to
stchebel

Użytkownik snipped-for-privacy@gmail.com napisał:

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.

Reply to
invalid unparseable

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.