0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaPredstavljamoUporaba DSC in MCU krmilnikov za zagotavljanje varnosti v ugnezdenih sistemih

    Uporaba DSC in MCU krmilnikov za zagotavljanje varnosti v ugnezdenih sistemih

    S selitvijo na internet stvari je varnost močno presegla izbirne funkcije v ugnezdenih aplikacijah in postala obvezna zmogljivost, ki je nujna za zagotovitev neoporečnosti sistema.

    Digi-Key Electronics
    Avtor: Rolf Horn

    V odziv na rastoč niz varnostnih specifikacij razvijalci potrebujejo rešitve, ki ne samo, da se ujemajo z zahtevami aplikacij za nizko porabo energije ali visoko učinkovitost, ampak zagotavljajo tudi varnostne zmogljivosti na osnovi strojne opreme, vključno s preverjanjem pristnosti, šifriranjem, varno shrambo in varnim zagonom.

    Ta članek zajema kratko predstavitev načel ugnezdene varnosti. Nato prikaže, kako lahko razvijalci izkoristijo visokozmogljive digitalne signalne krmilnike[1] (DSC) in nizkoenergijske mikrokontrolerje (MCU) PIC24F[2] podjetja Microchip Technology[3], skupaj s specializiranimi varnostnimi napravami podjetja Microchip, da zadostijo naraščajočim potrebam po strogi ugnezdeni varnosti.

    Ugnezdena varnost temelji na štirih ključnih načelih
    Pametni izdelki, povezani z javnim internetom, so lahko medsebojno povezani v prefinjene aplikacije, ki so jim kos le redki samostojni izdelki. Vendar pa grožnja kibernetskih napadov prek teh istih povezovalnih poti ne le potencialno omejuje vrednost pametnih izdelkov, ampak te izdelke, povezane aplikacije in njihove uporabnike tudi izpostavlja navidezno neskončnemu viru groženj.

    Poleg tega, da se soočajo z nenehno zahtevo potrošnikov po kibernetski varnosti na ravni sistema, morajo razvijalci tudi vedno pogosteje naslavljati varnostne specifikacije nacionalnih in regionalnih organizacij. Dve od najvplivnejših specifikacij, evropski standard ETSI EN 303 645, »Kibernetska varnost za porabniški internet svari: osnovne zahteve«, in ameriški NIST IR 8259 »Osnovne dejavnosti kibernetske varnosti za proizvajalce naprav IoT«, nakazujeta, da so kibernetski postopki odvisni od štirih ključnih načel:

    • uporaba enoličnih gesel;
    • razpoložljivost varne shrambe v napravi za parametre z občutljivo varnostjo;
    • varna komunikacija prek vzajemnega preverjanja pristnosti in šifrirane komunikacije;
    • zmožnost zagotavljanja neoporečnosti ugnezdene programske opreme in pristnosti prek varnega zagona ter varnega posodabljanja ugnezdene programske opreme.

    Zagotavljanje sistemov na podlagi teh temeljnih načel zahteva uporabo zaupanja vredne platforme, ki hekerjem preprečuje dodajanje kompromitirane kode, ki spremeni komunikacije, shrambo, vdelano programsko opremo ali celo same varnostne mehanizme.

    Zaupanja vredne platforme pomagajo zagotoviti varnost z gradnjo varnosti na ravni sistema že od samih temeljev navzgor – z uporabo nespremenljivih varnostnih mehanizmov na osnovi strojne opreme. Čeprav je koncept varnosti na ravni sistema načeloma preprost, njegova implementacija predstavlja izziv, saj lahko varnostna šibkost v kateremkoli delu sistema predstavlja vstopno točko za kibernetski napad. Z uporabo visokozmogljivih DSC-jev dsPIC33C in nizkoenergijskih MCU-jev PIC24F v kombinaciji s spremljevalnimi varnostnimi napravami podjetja Microchip razvijalci lažje implementirajo ugnezdene zasnove, ki zagotavljajo varnost na ravni sistema.

    Izpolnjevanje zahteve glede zmogljivosti in moči
    Družini DSC-jev dsPIC33C in MCU-jev PIC24F podjetja Microchip, zasnovani za podporo širokemu naboru načinov uporabe, združujeta robustne izvedbene platforme z zmogljivostmi, specifičnimi za aplikacijo, vključno z obsežnim naborom dodatnih integriranih perifernih naprav, in sicer analognih, takih z nadzorom valovne oblike in komunikacijskih. Pravzaprav lahko razvijalci z uporabo večjega števila naprav za modulacijo širine impulzov (PWM), programirljivih ojačevalnikov ojačenja (PGA), analogno-digitalnih pretvornikov (ADC) in drugih perifernih naprav v DSC-ju dsPIC33C implementirajo kompleksne sisteme z minimalnim številom dodatnih komponent – običajno so potrebne samo napajalne naprave, ki so zahtevane pri vsaki takšni zasnovi. Primer uporabe enojedrnega DSC-ja DSPIC33CK512MP608[4] za implementacijo brezprekinitvenega napajalnika (UPS) brez povezave na omrežje (slika 1).

    Za aplikacije, ki zahtevajo zmogljivosti nadzora in obdelave digitalnih signalov v realnem času, DSC-ji dsPIC33C kombinirajo zmogljivosti MCU-ja in DSC-ja s specializiranimi navodili in funkcionalnostjo strojne opreme. Za zasnove, pri katerih je varnost kritičnega pomena, so DSC-ji dsPIC33C pripravljeni za funkcionalno varnost v skladu s standardom IEC 60730 in so skladni tudi s standardom ISO 26262, pri čemer ponujajo več funkcij strojne opreme, zasnovanih za poenostavitev certificiranja funkcionalne varnosti za celovito varnost v avtomobilski industriji ravni B (ASIL-B) ter avtomobilske in industrijske aplikacije, kritične za varnost, SIL-2.

    Medtem ko so DSC-ji dsPIC33C zasnovani za aplikacije, kjer je najpomembnejša zmogljivost, pa MCU-ji PIC24F zagotavljajo ravnovesje med zmogljivostjo in energetsko učinkovitostjo za ugnezdene sisteme, predvidene za splošne namene, potrošniško elektroniko, industrijsko avtomatiko, medicinske pripomočke in druge aplikacije, ki zahtevajo nadzor in povezljivost, ne potrebujejo pa DSP zmogljivosti. Tako kot velja za DSC-je dsPIC33C, so tudi MCU-ji PIC24F naprave, pripravljene za funkcionalno varnost v skladu s standardom IEC 60730, z varnostnimi diagnostičnimi knjižnicami razreda B za gradnjo gospodinjskih aplikacij.

    Kot je bilo navedeno že prej, je neoporečnost ugnezdene programske opreme temeljno načelo ugnezdene kibernetske varnosti. Da bi pomagala razvijalcem zagotoviti neoporečnost ugnezdene programske opreme in splošno zaščito kode, podjetje Microchip v napravah DSC dsPIC33C, kot sta enojedrni DSC DSPIC33CK512MP608 in dvojedrni DSC DSPIC33CH512MP508[5], pa tudi v napravah MCU PIC24F, kot je MCU PIC24FJ512GU405[6], poleg številnih drugih, ki so konfigurirane z različnimi nabori perifernih naprav, specifičnimi za namen uporabe, ponuja varnost enkratno programirljivega (OTP) Flash pomnilnika s preprečevanjem zapisovanja serijskega programiranja znotraj vezja (ICSP) in funkcijo CodeGuard Flash.

    Zaščita ugnezdene programske opreme
    Flash OTP s preprečevanjem zapisovanja ICSP omogoča razvijalcem konfiguriranje delov Flash pomnilnika kot OTP pomnilnika ter zaščito Flash pomnilnika pred branjem/zapisovanjem. Lastniška zmogljivost ICSP podjetja Microchip omogoča serijsko programiranje teh naprav prek para priključkov med izvajanjem v končni aplikaciji. Na podlagi te zmogljivosti lahko proizvajalci dokončajo programiranje na proizvodnih ploščah. Medtem ko ICSP za nadzor Flash OTP procesa zahteva uporabo zunanje naprave za programiranje, izboljšani ICSP dovoljuje vgrajeni zagonski nalagalnik za nadzor Flash OTP procesa. Te naprave podpirajo tudi samoprogramiranje v času izvajanja (RTSP), kar omogoča samoposodobitev Flash aplikacijske kode uporabnika v času izvajanja.

    Po programiranju proizvodne naprave lahko razvijalci aktivirajo preprečevanje zapisovanja ICSP, ki prepreči kakršnokoli nadaljnje programiranje ali izbris ICSP. Kljub temu se lahko operacije brisanja in programiranja RTSP Flash pomnilnika nadaljuje tudi, kadar je aktivirano preprečevanje zapisovanja ICSP, če je v napravo pred aktivacijo programirana ustrezna koda za posodobitev Flash pomnilnika. Posledično lahko razvijalci uporabijo zaupanja vreden zagonski nalagalnik, da spremenijo Flash, tudi kadar je aktivirano preprečevanje zapisovanja ICSP, kar jim omogoča varno posodabljanje ugnezdene programske opreme, ob hkratnem preprečevanju zunanjih poskusov posodobitve Flash pomnilnika v proizvodnih sistemih.

    Varnost CodeGuard Flash zagotavlja natančno zaščito Flash pomnilnika programa z uporabo ločenih zagonskih in splošnih segmentov. Razvijalci določijo velikost teh segmentov z nastavitvijo meje (BSLIM) naslova zagonskega segmenta (BS) v registru BSLIM naprave; splošni segment (GS) zaseda preostali pomnilnik. Za dodatno zaščito občutljivih informacij vsak segment vsebuje dodatne particije. Na primer, zagonski segment vsebuje tabelo prekinitvenih vektorjev (IVT), izbirno tabelo alternativnih prekinitvenih vektorjev (AIVT) in prostor za ukaze z dodatnimi navodili (IW); konfiguracijski segment (CS), ki vsebuje kritične podatke o uporabniški konfiguraciji naprave, leži v uporabniškem naslovnem prostoru v splošnem segmentu (slika 2).

    Po nastavitvi particij segmentov lahko razvijalci uporabijo varnostni register ugnezdene programske opreme (FSEC) naprave za izbirno omogočenje zaščite pred zapisovanjem in za vsak segment nastavijo zahtevano raven zaščite kode. V času izvajanja naprave preprečuje, da bi koda, vsebovana v segmentu z nižjo ravnjo zaščite kode, dostopala do kode v segmentu z višjo ravnjo zaščite kode. V tipičnem sistemu bi razvijalci zagonski segment zaščitili pred zapisovanjem in nastavili njegovo zaščito kode na višjo raven, s čimer bi preprečili zunanje poskuse spreminjanja zagonskega segmenta, vključno z zagonskim nalagalnikom.

    Implementacija varnega brezžičnega posodabljanja ugnezdene programske opreme
    Razvijalci programske opreme se neizogibno soočajo s potrebo posodabljanja programske opreme v odziv na kombinacijo na novo odkritih hroščev v programski opremi, konkurenčnih izboljšav ali pojavljajočih se varnostnih groženj. Za razliko od posodobitev mobilnih aplikacij, izvajanje varnih posodobitev ugnezdene programske opreme v ugnezdenih sistemih v najboljšem primeru predstavlja tveganje za motnje aplikacij, ki se trenutno izvajajo, v najslabšem pa uničenje sistema. Družini DSC-jev dsPIC33C in nizkoenergijskih MCU-jev PIC24F podjetja Microchip ponujata dvo-particijski mehanizem, zasnovan za pomoč razvijalcem pri teh težavah. V standardnem načinu delovanja te naprave uporabljajo celoten razpoložljivi fizični pomnilnik kot neprekinjen, enoparticijski pomnilniški prostor (slika 3, levo), ki ga je mogoče konfigurirati na ločene zagonske in splošne segmente. V dvoparticijskem načinu razvijalci razdelijo fizični pomnilnik na ločeni aktivno in neaktivno particijo (slika 3, desno).

    Pri uporabi v dvoparticijskem načinu lahko te naprave nadaljujejo izvajanje aplikacijske kode v aktivni particiji med programiranjem v neaktivni particiji. Ko je programiranje zaključeno, izvedba ukaza izvajalnika za zagonsko zamenjavo (BOOTSWP) povzroči, da naprava preklopi cilj zagona na posodobljeno particijo. Če koda v posodobljeni particiji spodleti ali se ugotovi, da je kako drugače pomanjkljiva, bo ponastavitev naprave samodejno povzročila zagon naprave na prvotni particiji (slika 4).

    Ko je zagotovljena uspešnost posodobljene particije, je mogoče zagonsko zaporedje Flash pomnilnika (FBTSEQ) posodobljene particije nastaviti na vrednost, ki je nižja kot pri prvotni particiji. Ob nadaljnjih ponastavitvah naprave se bo naprava zagnala na posodobljeni particiji z nižjo vrednostjo FBTSEQ (slika 5).

    Varnost Flash OTP s preprečevanjem zapisovanja ICSP in funkcijo CodeGuard Flash zagotavlja kritično podporo za varnost statične kode in kode v času izvajanja, vendar pa celovita vdelana varnost zahteva dodatne mehanizme, vključno z varno shrambo ključev, preverjanjem pristnosti kode in varnimi komunikacijami.

    Uporaba spremljevalnih varnostnih naprav za zagotavljanje varnosti vdelanega sistema
    S kombiniranjem DSC-jev dsPIC33C in mikrokontrolerjev PIC24F z varnostnimi integriranimi vezji ATECC608[7] CryptoAuthentication ali TrustAnchor100 (TA100[8]) CryptoAutomotive podjetja Microchip, razvijalci lažje razmestijo celoten nabor varnostnih zmogljivosti na osnovi strojne opreme.
    Ta varnostna integrirana vezja zagotavljajo varnostne mehanizme na osnovi strojne opreme, odporne proti posegom, vključno z varno shrambo, strojno pospešenimi kriptografskimi mehanizmi, pravimi generatorji naključnih števil in drugimi mehanizmi, ki jih zahtevajo kriptografski algoritmi. Varnostna integrirana vezja, zasnovana posebej kot spremljevalne naprave, je mogoče zlahka dodati zasnovam sistemov DSC ali MCU za dokončanje implementacije v celoti ugnezdene varnosti sistemov (slika 6).

    Izvajanje kritične operacije, kot je varna posodobitev ugnezdene programske opreme, ilustrira dopolnilne varnostne funkcije DSC-jev dsPIC33C in mikrokontrolerjev PIC24F v kombinaciji s temi spremljevalnimi varnostnimi integriranimi vezji. Razvijalci za preverjanje pristnosti in neoporečnosti kode pred dokončanjem vseh operacij posodobitve ugnezdene programske opreme uporabljajo tehnike podpisovanje kode. Tukaj razvijalci uporabijo svoje sisteme za ustvarjanje paketa posodobitev, ki vsebuje kodo, metapodatke kode in podpis, uporabljen za preverjanje (slika 7).

    V ciljnem sistemu preverjanje podpisa na podlagi strojne opreme odpravlja tveganje za kompromitirane protokole preverjanja, ki so bili mogoči pri preverjanju podpisov na podlagi programske opreme, ki so se uporabljali v preteklosti. Namesto tega spremljevalno varnostno integrirano vezje, kot sta ATECC608 in TA100 podjetja Microchip, hitro in varno izvede operacije preverjanje podpisov brez tveganja za ogrožanje (slika 8).

    Za pospešitev implementacije varnih sistemov podjetje Microchip ponuja kombinacijo orodij za razvoj programske in strojne opreme.

    Pospešitev razvoja programske in strojne opreme
    Medtem ko integrirano razvojno okolje (IDE) MPLAB X[9] ponuja razvijalcem celovito okolje za razvoj programske opreme, prevajalnik MPLAB XC C[10] ponuja podporo pri razvoju za obstoječe verige orodij. Za pospešitev razvoja v enem ali drugem okolju konfigurator kode MPLAB[11] (MCC) podjetja Microchip omogoča razvijalcem uporabo grafičnega vmesnika za samodejno generiranje inicializatorjev, gradnjo gonilnikov, dodeljevanje nožic in implementacijo knjižnic ter še na druge načine pomaga pospešiti številne kritične nastavitvene postopke in procese na nižji ravni, povezane s katerimkoli projektom razvoja ugnezdene programske opreme.

    Za pospešitev implementacije primernega varnega zagonskega nalagalnika zagonski nalagalnik za DSC-je dsPIC33 in MCU-je PIC24[12] podjetja Microchip ponuja grafični vmesnik, ki razvijalcem pomaga hitro konfigurirati in generirati zagonske nalagalnike po meri, potrebne za njihovo aplikacijo. Povezana gostiteljska aplikacija zagonskega nalagalnika še dodatno poenostavi prenos aplikacijske kode v ciljno napravo.

    Za razvoj strojne opreme podjetje Microchip ponuja več povezanih razvojnih plošč za gradnjo sistemov, ki temeljijo na DSC-jih dsPIC33C ali MCU-jih PIC24F. Dejansko imata plošča PIC-IoT EV54Y39A[13] in plošča PIC-IoT AC164164[14] (slika 9) podjetja Microchip integrirana varnostna integrirana vezja, ki so predhodno opremljena z varnostnimi poverilnicami za Amazon Web Services (AWS) oziroma Google Cloud.

    Za zasnove po meri Microchip ponuja razvojno ploščo dsPIC33CH Curiosity (DM330028-2[15]), ki temelji na dvojedrnem DSC-ju dsPIC33CH512MP508. Alternativno lahko razvijalci namestijo vtični modul podjetja Microchip, ki temelji na dsPIC33CH128MP508 (MA330040[16]), na vdelano razvojno ploščo Microchip Explorer (DM240001-2[17]) in tako pospešijo razvoj varnih ugnezdenih sistemov.

    Zaključek
    Ugnezdena sistemska varnost je odvisna od razpoložljivosti mehanizmov, ki temeljijo na strojni opremi in podpirajo temeljna načela kibernetske varnosti, ki zajemajo neoporečnost ugnezdene programske opreme, preverjanje pristnosti, šifriranje in varno shrambo. Medtem ko DSC-ji dsPIC33C in MCU-ji PIC24F podjetja Microchip poenostavljajo zaščito kode, njeni varnostni integrirani vezji ATECC608 in TA100 zagotavljata dodatne varnostne mehanizme, potrebne na učinkoviti varnostni platformi. Z uporabo kombinacije teh naprav lahko razvijalci izpolnijo potrebo po varnosti na ravni sistema v ugnezdenih rešitvah za internet stvari, pa tudi za avtomobilske, industrijske potrošniške in medicinske aplikacije.

    Viri:
    1: https://tinyurl.com/23nwcjr8
    2: https://tinyurl.com/48bexm82
    3: https://tinyurl.com/4znzbuzk
    4: https://tinyurl.com/534ew9km
    5: https://tinyurl.com/2p9v973c
    6: https://tinyurl.com/3wachx4k
    7: https://tinyurl.com/3waxake2
    8: https://tinyurl.com/5n7jwkvb
    9: https://tinyurl.com/bdhbvn8d
    10: https://tinyurl.com/mrxw3uja
    11: https://tinyurl.com/tmnwj8km
    12: https://tinyurl.com/y3xvdvn7
    13: https://tinyurl.com/5n7nnyv3
    14: https://tinyurl.com/5n7nnyv3
    15: https://tinyurl.com/22bz229v
    16: https://tinyurl.com/2xhrua53
    17: https://tinyurl.com/4vckpdcb

    https://www.digikey.com