logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega328 - jak skutecznie zabezpieczyć MCU przed kopiowaniem?

mickeu 10 Sie 2016 13:25 2358 23
  • #1 15860106
    mickeu
    Poziom 10  
    Witam wszystkich

    mam pytanie i jednocześnie "pomysł", konkretnie chodzi o zabezpieczenie MCU serii Atmega przed kopiowaniem.
    Ze względu na niejasność informacji czy można wyciągnąć wsad z zabezpieczonego AVR czy nie dla pewności możnaby użyć opcji skasowania pamięci z użyciem drugiego MCU w momencie np otwarcia obudowy.

    Np.
    - główny MCU Atmega328
    - pomocniczy - Attiny45
    - podtrzymanie zasilania dla Attiny45

    w momencie wykrycia zdarzenia przez Attiny45 powinien on zadziałać jak programator ISP, zresetować główny MCU Atmega328 i wysłać komendę ERASE tak jak w przypadku startu sekwencji programowania, co by spowodowało wyczyszczenie pamięci FLASH w głównym MCU uniemożliwiając jakiekolwiek próby skopiowania.

    Co o tym sądzicie?
  • #2 15860161
    excray
    Poziom 41  
    I po co to? Wyciągnięcie wsadu z zabezpieczonej atmegi to spory koszt. Taniej wyjdzie zatrudnić kilku programistów i napisać wsad od nowa na podstawie informacji z analizatora logicznego. A jedyne co uzyskasz to wdzięczna nienawiść użytkowników Twoich projektów. Gangus i tak kupi drugą sztukę którą tym razem umiejętnie otworzy bez naruszania Twojego alarmu.
  • #3 15860184
    Konto nie istnieje
    Poziom 1  
  • #5 15860394
    Konto nie istnieje
    Konto nie istnieje  
  • #6 15860657
    JacekCz
    Poziom 42  
    Piotrus_999 napisał:

    Pomysł z dwoma procesorami zakłada że masz zawsze zasilanie. Jezeli tak to zrób układ palący procek - klient poniesie karę za otwieranie obudowy.


    Czemu tak skromnie, można skorzystać z nowych opracowań radio-tele-informatyki bliskowschodniej
  • #7 15860662
    kamyczek
    Poziom 38  
    Podaj mi przykład czegoś co napisałeś i jest warte sklonowania na razie to budujesz bunkier , sejf i nie masz co do niego włożyć . Klonować można dna i człowieka każde zabezpieczenie można obejść i każde złamać nie chcesz być sklonowany nie pisz nic lub rób buble tego nikt nie klonuje ...
  • #8 15860893
    piotrva
    VIP Zasłużony dla elektroda
    Ja nie widzę sensu. Jak pisali wyżej - ktoś otworzy pudełko bez zasilania, zobaczy tamper/switch/fotoelement/etc. - domyśli się o co chodzi i zablokuje ten element. Na prawdę jeśli już ktoś jest na tyle dobry, że byłby w stanie odczytać pamięć zabezpieczonego procka (tak, jest to możliwe), to jakiś "magiczny kasowacz pamięci" to dla takiej osoby z 5 minut pracy. Tym bardziej, jeśli to osobny scalak, który można... odciąć ;)

    Już bardziej bym widział wykrywanie podpięcia programatora i samokasowanie procka, pytanie tylko - czy na prawdę będziesz robić coś takiego, że ktoś będzie chciał wydać kilka tysięcy $ na kopiowanie ;)
  • #9 15860908
    Konto nie istnieje
    Konto nie istnieje  
  • #10 15861162
    mickeu
    Poziom 10  
    piotrva napisał:

    Już bardziej bym widział wykrywanie podpięcia programatora i samokasowanie procka, pytanie tylko - czy na prawdę będziesz robić coś takiego, że ktoś będzie chciał wydać kilka tysięcy $ na kopiowanie ;)


    Właśnie w tym problem
  • #11 15861219
    Konto nie istnieje
    Poziom 1  
  • #12 15861223
    piotrva
    VIP Zasłużony dla elektroda
    Że będziesz robić na AVR aplikację wartą tysiące $ i niemalże niemożliwą do powtórzenia?

    Z doświadczenia już dłuższego niż kilkuletnie powiem Ci, że nigdy nie kombinowałem z takimi cudami, profesjonalne firmy też nie kombinują.

    Rozwiązanie takie ma tez jedną wadę - jeśli się pomyli - psuje urządzenie.

    A uwierz mi, jak ktoś będzie chciał, zatrudni ludzi, którzy rozbiorą urządzenie i nie tyle skopiują je 1:1, co stworzą na podstawie jego kopię funkcjonalną. Sam nie raz tak robiłem, aby zastąpić pojedynczy egzemplarz jakiegoś urządzenia, którego producent już nie przewidział wsparcia / zniknął z rynku.
  • #13 15861294
    kamyczek
    Poziom 38  
    Są różne sposoby zabezpieczeń , te opisywane są łamane bo wiadomo jaki jest mechanizm . Jak ktoś jest mądry to nie umieszcza informacji o sposobie , mechanizmie i działaniu zabezpieczenia . Poza tym stosuje się co najmniej dwa różne mechanizmy i nadzór nad nimi .
  • #14 15861404
    Konto nie istnieje
    Konto nie istnieje  
  • #15 15861451
    kamyczek
    Poziom 38  
    To ja cię oświecę Piotruś wyobraź sobie że wysyłasz do atmegi 512 bitową zmienną np. po uarcie , atmega na tej zmiennej wykonuje obliczenia matematyczne , lub odczytuje odpowiedź z tablicy i odsyła ją zeskanujesz sobie i połamiesz taki algorytm ? Szczerze wątpię , a to jeden z wielu możliwych przykładów działania atmegi jako klucz szyfrujący n bitowy ...
  • #16 15861472
    mickeu
    Poziom 10  
    kamyczek napisał:
    To ja cię oświecę Piotruś wyobraź sobie że wysyłasz do atmegi 512 bitową zmienną np. po uarcie , atmega na tej zmiennej wykonuje obliczenia matematyczne , lub odczytuje odpowiedź z tablicy i odsyła ją zeskanujesz sobie i połamiesz taki algorytm ? Szczerze wątpię , a to jeden z wielu możliwych przykładów działania atmegi jako klucz szyfrujący n bitowy ...


    mniej więcej opisałeś to nad czym siedzę - szyfrowanie asymetryczne, ECC, AES, dynamiczne klucze, trng, ale jak widać reszta uważa to za proste do napisania aby zabezpieczać.
    Piotruś - może napiszesz za mnie po co mi marnować pół roku nad projektem
  • #17 15861513
    Konto nie istnieje
    Poziom 1  
  • #18 15861524
    excray
    Poziom 41  
    Kolega @mickeu bardzo długo nie był w stanie powiedzieć czego dotyczy jego projekt i dopiero jak kolega @kamyczek podsunął mu gotową odpowiedź to się obudził, że akurat tego właśnie dotyczy jego projekt. [ironia]Nie wiem jak Wy ale ja wierzę w ta historię[/ironia]. Tym bardziej, że od początku podane informacje świadczą o raczej nikłej wiedzy kolegi @mickeu w tej materii. Używanie dodatkowego procesora do kasowania pamięci w sytuacji gdy może on sam sobie to zrobić to raczej nie świadczy najlepiej o wiedzy. Zresztą sam fakt angażowania akurat AVRów do tego projektu nie jest zbyt chlubny dla kogoś kto dba o bezpieczeństwo danych. Kolejne banialuki które sprzedaje elektrodowicz rozczarowany faktem, że jego koncepcja została obśmiana.
  • #19 15861615
    avital
    Poziom 15  
    Realnie - tylko przesiadka na bezpieczny MCU, coś ze stajni Renesansa albo jakis specialny procesor do security dallas-maxim lub coś do kart płatniczych /PAY_TV , jak masz zaparcie to kupisz to THC20F06BD plus środowisko.
  • #20 15861638
    mickeu
    Poziom 10  
    Moderowany przez piotrva:

    Zbędne dyskusje usuwam



    avital napisał:
    Realnie - tylko przesiadka na bezpieczny MCU, coś ze stajni Renesansa albo jakis specialny procesor do security dallas-maxim lub coś do kart płatniczych /PAY_TV , jak masz zaparcie to kupisz to THC20F06BD plus środowisko.

    dzieki
  • #21 15861666
    avital
    Poziom 15  
    STM32 w stosunku do atmegi jest bardziej bezpieczny (w wymiarze nakładów na "włamanie") i ma numer seryjny, ale nie jest bezpieczny w 100%, tu już naprawdę wchodzi w grę kwestia ceny końcowego urządzenia i jego niepowtarzalnej funkcjonalności.

    - proponuje tez nie atakować kolegi exrcay pochopnie, prosta analiza Twojego postu nasuwa niestety podobny tok rozumowania :) nikt nie bierze atmegi do zagadnień wartych kopiowania ...
  • #22 15861672
    mickeu
    Poziom 10  
    avital napisał:
    STM32 w stosunku do atmegi jest bardziej bezpieczny (w wymiarze nakładów na "włamanie") i ma numer seryjny, ale nie jest bezpieczny w 100%, tu już naprawdę wchodzi w grę kwestia ceny końcowego urządzenia i jego niepowtarzalnej funkcjonalności.

    - proponuje tez nie atakować kolegi exrcay pochopnie, prosta analiza Twojego postu nasuwa niestety podobny tok rozumowania :) nikt nie bierze atmegi do zagadnień wartych kopiowania ...


    dlatego zapytałem o zdanie - nie wiem wszystkiego niestety
    co do włamania to chodzi mi tylko o skopiowanie tego co jest w środku, nie o przechwycenie danych, atmega jest tylko częścią całości
    ostatnio rozebrałem niemieckie urządzenie działające na podobnej zasadzie do tego co robię i tam jest atmega168
  • #23 15861711
    piotrva
    VIP Zasłużony dla elektroda
    @avital Racja i trafne uwagi.

    W takim wypadku niestety dowolny AVR, jeśli stanowiłby część projektu, jest podatny na kopiowanie. Ot wystarczy bez zasilania wyjąć strukturę z procesora i odczytać bezpośrednio pamięć flash. Jeśli ktoś chciałby coś ukraść to znajdzie usługodawcę, który taką usługę wykona.

    Co więcej - czytałem kiedyś, że spece od szyfrowania wyciągnęli z XMegi klucze AES badając pobór prądu układu w czasie pracy - nie trzeba nawet obudowy otwierać ;)

    I w 100% zgadzam się - jeśli pracujesz nad czymś do zastosowań w bezpieczeństwie/płatnościach/ochronie danych i chcesz dać na coś gwarancję to tylko procesory, które spełniają odpowiednie normy. Niestety/stety często, żeby dostać je trzeba podpisać odpowiednie umowy z producentami.

    Dodano po 1 [minuty]:

    mickeu napisał:
    ostatnio rozebrałem niemieckie urządzenie działające na podobnej zasadzie do tego co robię i tam jest atmega168

    To niestety świadczy tylko o tym, że autor tego urządzenia nie zdaje sobie sprawy z tego, jak stosunkowo łatwo rozbroić tai uC.
REKLAMA