E-paperinäyttöjen käyttö kriittisissä IoT-solmuissa vakavista virheistä ja vaarantuneesta tietoturvasta ilmoittamiseen

Kirjoittaja Bill Giovino

Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa

Esineiden internet (IoT) - ja Teollisuuden IoT (IIoT) -solmuja käytetään yhä turvallisemmissa järjestelmissä, joissa verkon turvallisuus on tärkeämpää kuin verkon yksittäisten laitteiden toiminnallisuus. Tämä tarkoittaa, että jos IoT-solmu havaitsee, että sen turvallisuus on vaarantunut, tai on tapahtumassa korjaamaton laiteohjelmistovirhe, turvallisin toimenpide voi olla solmun sammuttaminen niin pian kuin käytännössä on mahdollista. Tämä suojaa solmua ja verkkoa mahdollisesti vaarallisilta seurauksilta.

Kun solmu on sammutettu, kaikki haihtuvat muistisisällöt kuitenkin menetetään. Virheenkorjaustietojen tallentaminen haihtumattomaan muistiin, kuten EEPROM tai flash, vie aikaa ja virtaa, mikä lisää mahdollisten vahinkojen riskiä. Lisäksi järjestelmän turvallisuus on saattanut vaarantua pisteeseen, jossa tietojen lukeminen käynnistyksen jälkeen ei välttämättä tarjoa luotettavaa tietoa, sillä myös käynnistysjärjestys on saattanut vaarantua.

Tässä artikkelissa kerrotaan, kuinka e-paperinäyttö (EPD) voidaan helposti kytkeä IoT- tai IIoT-solmuun viimeisen tunnetun virheen näyttämiseksi. Tämä antaa visuaalisen ilmoituksen virrankatkaisutapahtuman syystä ja teknikot voivat ryhtyä tarvittaviin toimiin. Sitten artikkeli tarjoaa esimerkkejä e-paperinäytöistä yrityksiltä Pervasive Displays ja Display Visions ja siinä tarkastellaan sitä, miten nämä näytöt voidaan yhdistää mikrokontrolleriin ja konfiguroida tarjoamaan diagnostiikkatietoja samalla kun ne käyttävät erittäin vähän tai ei lainkaan sähkövirtaa.

Korkean turvatason IoT- ja IIoT-solmut

IoT- ja IIoT-solmujen suunnittelijoiden vastuulla on yhä enemmän ja yhä sofistikoituneempia suojausmenetelmiä isäntämikrokontrollerin asianmukaisen toiminnan takaamiseksi. Yleisesti ottaen on olemassa kolme erilaista turvallisuusuhkaa, joita vastaan on suojauduttava:

  1. Mikrokontrollerin laiteohjelmiston toimintahäiriö
  2. Virheellinen syötedata antureista, näppäimistöistä, sarjaliikennelaitteista tai muista ulkoisista laitteista
  3. Pahaa tarkoittava tekijän toiminta.

Mikrokontrollerin laiteohjelmiston toimintahäiriö voi aiheutua useista syistä: koodausvirheet asennetussa laiteohjelmistossa; virheelliset laskutoimet, jotka johtavat toimintahäiriöön; tai erittäin harvinaisissa tapauksissa mikro-ohjaimen laitteistohäiriö. Hyvin kirjoitettu laiteohjelmisto yleensä havaitsee tämän siistimällä aliohjelmien ja toimintojen syötteet. Äärimmäisissä tapauksissa, joissa laiteohjelmisto on lukkiutunut tai jäänyt silmukkaan, vahtiajastimen aikakatkaisu palauttaa laiteohjelmiston kontrollin hyppäämällä virheenhallinnan alirutiiniin tai suorittamalla mikrokontrollerin laitekäynnistyksen (hard reset).

Jos syötetiedot ovat virheellisiä, esimerkiksi jos ulkoinen anturi toimii virheellisesti tai sitä on peukaloitu, seurauksena voi olla varaudutun arvoalueen ulkopuolella olevia arvoja, jota ei ehkä ole otettu asianmukaisesti huomioon sovelluskoodissa. Jos esimerkiksi ihmisen käyttämän valvomon ympäristölämpötilan anturi antaa lämpötilaksi polttavan kuuman arvon 250 °F (127 °C), se voi johtua anturin toimintahäiriöstä tai tahallisesta peukaloinnista. Huolimaton laiteohjelmisto-ohjelmoija ei ehkä ole huomioinut koodissa niin korkeaa lämpötilalukemaa. Tämä voisi johtaa johonkin niin triviaaliin kuin virheelliseen tiedon kirjaamiseen tai johonkin niin vakavaan kuin siihen, että tunkeilijan sallitaan päästä suojatulle alueelle, tai niin kriittiseen tilanteeseen kuin virheeseen algoritmissa, joka voisi johtaa laitevikaan tai vakavaan henkilövahinkoon. Mahdollisia negatiivisia seurauksia on useita.

Pahaa tarkoittavat tekijät eroavat siinä, että he saattavat tarkoituksellisesti ja tietoisesti aiheuttaa virhetoimintoja IoT-solmussa. Tietoturvarutiinit voivat havaita hakkerointiyrityksen aiheuttaman toimintahäiriön tunkeutumiseksi järjestelmään; se voi kuitenkin myös naamioitua laiteohjelmiston toimintahäiriöksi tai virheelliseksi ulkoiseksi syötetiedoksi. Esimerkki ympäristön lämpötilalukemasta 250 °F voi johtua siitä, että pahantahtoinen tekijä testaa laiteohjelmiston käyttäytymistä näin korkealla arvolla tarkoituksella testata tunkeutumismenetelmää; esimerkiksi ovien lukitus voidaan avata automaattisesti, jos ympäristön lämpötilalukema 250 °F arvioidaan väärin tulipaloksi.

Reagointi laiteohjelmiston toimintahäiriöihin

Virhelähteestä riippumatta korkean turvatason IoT- ja IIoT-solmujen mikrokontrollerin laiteohjelmisto ei saa hyväksyä vikoja. Kaikki viat on koodattava ja napattava kiinni. Aliohjelmien ja funktioiden syöttötiedot on käsiteltävä ja kaikki antureilta saatavat syöttötiedot täytyy validoida. Vahtiajastimet on ohjelmoitava niin, että ne havaitsevat lukkoon tai silmukkaan jääneen koodin, jonka suoritus kestää liian kauan. Tämä voidaan tehdä tunnetun suoritusajan perusteella.

Kun korkean turvatason IoT- tai IIoT-solmussa havaitaan laiteohjelmiston toimintahäiriö, laiteohjelmiston on otettava tapahtuma kiinni mahdollisimman pian riippumatta siitä, onko toimintahäiriö tahaton vai tahallinen. Tavallisesti toimintahäiriötä yritetään kompensoida. Jos virheellisesti toimiva anturi antaa jatkuvasti arvoalueen ulkopuolella olevia tuloksia, laiteohjelmistolla voi olla “ontumistila” kyseiselle anturille, jossa virheelliset tiedot kompensoidaan kunnes anturi voidaan vaihtaa. Laiteohjelmisto, joka antaa virheellisiä tuloksia, voidaan alustaa uudelleen. Usein virhekoodi lähetetään verkon yli ilmoittamaan verkkoisännälle ongelmasta.

Eräissä korkean turvatason IoT- tai IIoT-solmuissa on kuitenkin erityinen toimintahäiriöluokka, joita ei voida kompensoida ja joille ei ole vastatoimenpiteitä, eikä näihin tulisikaan yrittää vastata. Tähän voi sisältyä fyysisen peukaloinnin havaitseminen, sisäisen tarkistussumman virheet, eräät sisäänrakennetuista itsetestausvirheistä (BIST) sekä kaikki viat, jotka saattavat johtua laiteohjelman turvallisuuden vaarantumisesta tai hakkeroidusta järjestelmästä. Näissä korkean turvatason tilanteissa ainoa vaihtoehto voi olla sammuttaa solmu välittömästi ja turvallisesti. Verkkoisäntä havaitsee solmun sammumisen siitä, että se ei vastaa verkkopyyntöihin. Jos solmu sammuu lähettämättä virheraporttia isännälle ja jos solmu ohittaa uudelleenkäynnistysverkkokomennot, tämä osoittaa, että on tapahtunut vakava vika ja että teknikko on lähetettävä tutkimaan solmu fyysisesti.

Kun solmu sammutetaan, kaikki haihtuvat muistit ja tilatiedot poistetaan kuitenkin välittömästi. Tämä tekee sammutussyyn diagnosoinnista erittäin vaikeaa, ellei mahdotonta. Ennen solmun sammutusta diagnostiikkatiedot voitaisiin toisaalta tallentaa haihtumattomaan muistiin, kuten EEPROM-muistiin tai flash-muistiin. Ongelmana on, että tämän tyyppiseen muistiin kirjoittaminen vie aikaa, jonka aikana solmun on pysyttävä aktiivisena, mistä saattaa aiheutua lisävahinkoja.

Vakavien virheiden diagnosointi e-paperin avulla

EPD:t käyttävät erittäin vähän virtaa, ja niitä voidaan käyttää virheiden ja diagnostiikkatietojen tallentamiseen ja näyttämiseen juuri ennen solmun sammutusta. Kun solmu sammutetaan, EPD voi säilyttää kuvan näytöllä ilman virtaa päiviä tai viikkoja. Näytöllä näkyvät tiedot antavat teknikoille visuaalisen kuvan sammumisen syystä, jolloin he voivat päättää, onko IoT-solmun käynnistäminen turvallista vai pitäisikö se poistaa verkosta yksityiskohtaista analysointia varten.

Pervasive Displays -yrityksen EPD-moduuli E2271CS091 on yksi esimerkki diagnostiikkatietojen näyttämiseen sopivasta EPD:stä. Se voidaan liittää mihin tahansa yhteensopivaan mikrokontrolleriin SPI-sarjaliitännällä ja siinä on kontrastiltaan korkea 2,71 tuuman näyttö (kuva 1).

Kuvassa Pervasive Displays EPD -moduuli  E2271CS091Kuva 1: E2271CS091 EPD -moduulissa on kontrastiltaan korkea 2,71 tuuman näyttö, jonka resoluutio on 264 x 176 pikseliä. Sen katselukulma on laaja ja se voidaan liittää mihin tahansa yhteensopivaan mikrokontrolleriin SPI-liitännällä. (Kuvalähde: Pervasive Displays)

E2271CS091 EPD -moduuli käyttää aktiivimatriisin ohutkalvotransistori (TFT) -näyttöä, jonka natiivitarkkuus on 264 x 176 pikseliä 117 pisteellä tuumalla (dpi). Tämän ansiosta näyttö voi sisältää paljon tietoa, joka auttaa teknikoita diagnostiikassa. Heijastamattomalla näytöllä on laaja lähes 180 asteen katselukulma, mikä mahdollistaa näytön helpon katselun myös epätavallisissa asennuspisteissä. EPD vaatii 3,0 voltin virtalähteen.

Isäntämikrokontrolleri lähettää tietoja EPD:lle SPI-liitännän kautta näytön 24-napaiseen nauhaliittimeen. SPI-tietoliikenne on pelkästään yksisuuntaista isäntämikrokontrollerista EPD:hen. Ainoa tiedonsiirto EPD:ltä isäntämikrokontrollerille on nauhaliittimen "laite varattu" -nasta, mikä yksinkertaistaa liityntää huomattavasti ja lisää luottamusta näytettyihin diagnostiikkatietoihin.

Jos havaitaan virhe tai hakkerointiyritys ja jos virhe on riittävän vakava ja vaatii solmun sammuttamista, virhe on ensin otettava kiinni laiteohjelmalla, vahtiajastimella tai muulla menetelmällä. Ohjaus on tämän jälkeen siirrettävä virheen kirjausrutiiniin, joka lähettää tiedot EPD:lle. Tämän virheen kirjausrutiinin tulisi olla korkeimmalla prioriteetilla, mikä ehkäisee kirjoituksen keskeytymisen ja tietojen vioittumisen. Maksimaalisen luotettavuuden saavuttamiseksi on suositeltavaa, että virheen kirjausrutiini on täysin itsenäinen, ilman että kutsuisi ulkoisia aliohjelmia tai funktioita. Ihannetapauksessa virheen kirjausrutiinin tulisi olla pysyvästi kirjoitussuojatussa flash-muistissa koodin eheyden takaamiseksi myös laiteohjelmistopäivitysten jälkeen.

Ennen kuin virhetiedot päivitetään EPD:hen, isäntämikrokontrollerin tulisi lähettää SPI-liitännän kautta EPD:lle nollauskomento (soft reset) näytön tyhjentämiseksi. Tämän jälkeen se lähettää tietoja mustavalkoiselle näytölle sarjana tavusekvenssejä, jossa jokainen tavun bitti edustaa pikseliä EPD:ssä. Kun sekvenssi on valmis, virheen kirjausrutiini voi sammuttaa mikrokontrollerin. Eri mikrokontrollerien valmistajilla on erilaiset sammutustavat, koska tämä riippuu arkkitehtuurista ja valmistajasta. Joissakin tilanteissa ja turvallisuussyistä valmistajalla voi olla dokumentoimaton tapa sammuttaa mikro-ohjain, joka on saatavana vain pyynnöstä. Myös ulkoista piiriä voidaan käyttää katkaisemaan virta mikrokontrollerista, mutta tämä lisää järjestelmän monimutkaisuutta ja vähentää luotettavuutta. Siksi mikrokontrollerin laiteohjelmisto on paras tapa sammutuksen hallintaan.

Pervasive Displays tarjoaa EPD:n kehittämisessä avuksi B3000MS034-EPD-laajennussarjaa (kuva 2). Tämä tarjoaa laajennuskortin liittimellä 24-napaiselle EPD-näytölle samoin kuin liittimet muille Pervasive Displayn EPD-näytöille, jotka käyttävät 40- ja 26-napaisia liittimiä. Laajennuskortti on yhteensopiva Texas InstrumentsinLaunchPad -kehitys- ja arviointisarjojen kanssa, mutta sitä voidaan käyttää myös muiden kehityssarjojen kanssa. 20-napainen siltauskaapeli voidaan liittää 90-asteen 20-napaiseen piirilevyliittimeen, joka voidaan juottaa laajennuskorttiin ja joka mahdollistaa EPD-ohjaussignaalien seuraamisen kehitystyön aikana.

Kuvassa Pervasive Displays EPD -moduulin laajennussarja E2271CS091 Kuva 2: Pervasive Displays E2271CS091 EPD -moduulin laajennussarja sisältää laajennuskortilla 24-napaisen liittimen näytön 24-napaista nauhakaapelia varten. Se sisältää myös siltauskaapelin ja 90-asteen 20-napaisen piirilevyliittimen. (Kuvalähde: Pervasive Displays)

Toinen EPD-vaihtoehto on Display Visions -yrityksen EA EPA20-A (kuva 3).

Kuvassa Display Visions EA EPA20-A EPD Kuva 3: Display Visions EA EPA20-A EPD on 172 x 72 -näyttö, joka säilyttää näytön tilan ilman sähkövirtaa. (Kuvalähde: Display Visions)

Tämä EPD käyttää 172 x 72 harmaasävynäyttöä ja myös SPI-liitäntää viestintään isäntämikrokontrollerin kanssa. EPD käyttää erittäin vähän virtaa. Se vaatii yksinkertaisen 3,3 voltin jännitteen ja käyttää vain 40 milliwattia (mW) näytön vaihdon aikana. Display Visions EA EPA20-A EPD voi myös säilyttää näyttötilan, kun virtaa ei ole kytketty.

Yhteenveto

Korkean turvatason IoT- ja IIoT-solmut on joskus sammutettava vakavan laiteohjelmavirheen tai havaitun uhkan seurauksena. Tämä voi johtaa kaiken haihtuvan datan menetykseen, mukaan lukien isäntämikrokontrollerin sisäisen tila. Tila- ja diagnostiikkatiedot voidaan kuitenkin lähettää yhdistettyyn EPD:hen ennen sammuttamista ja näyttää päivien tai viikkojen ajan. Tämä antaa teknikoille tietoja, joita he tarvitsevat sammumisen syyn selvittämiseksi ja tarvittaessa varotoimenpiteiden toteuttamiseksi solmun ja verkon suojaamiseksi jatkoa varten.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Tietoja kirjoittajasta

Image of Bill Giovino

Bill Giovino

Bill Giovino is an Electronics Engineer with a BSEE from Syracuse University, and is one of the few people to successfully jump from design engineer, to field applications engineer, to technology marketing.

For over 25 years Bill has enjoyed promoting new technologies in front of technical and non-technical audiences alike for many companies including STMicroelectronics, Intel, and Maxim Integrated. While at STMicroelectronics, Bill helped spearhead the company’s early successes in the microcontroller industry. At Infineon Bill orchestrated the company’s first microcontroller design wins in U.S. automotive. As a marketing consultant for his company CPU Technologies, Bill has helped many companies turn underperforming products into success stories.

Bill was an early adopter of the Internet of Things, including putting the first full TCP/IP stack on a microcontroller. Bill is devoted to the message of “Sales Through Education” and the increasing importance of clear, well written communications in promoting products online. He is moderator of the popular LinkedIn Semiconductor Sales & Marketing Group and speaks B2E fluently.

Tietoja tästä julkaisijasta

DigiKeyn kirjoittajat Pohjois-Amerikassa