IoT-tietoturvan perusteet - osa 5: Turvallinen yhteyden muodostaminen IoT-pilvipalveluihin
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2020-07-02
Toimittajan huomautus: IoT-laitteiden leviämisestä huolimatta näiden laitteiden turvaaminen on edelleen jatkuva huolenaihe siinä määrin, että turvallisuushaasteet voivat estää kytkettyjen laitteiden käyttöönottoa teollisen internetin (IIoT) ja operaatiokriittisissä sovelluksissa, joissa yrityksen tiedot ja henkilökohtaiset tiedot voivat vaarantua hyökkäyksen onnistuessa. IoT-sovellusten turvaaminen voi olla pelottavaa, mutta todellisuudessa IoT-laitteiden tietoturva voidaan rakentaa muutamiin suhteellisen yksinkertaisiin periaatteisiin, joita laitteistotason turvalaitteet tukevat. Nämä huolenaiheet voidaan käsitellä noudattamalla vakiintuneita turvallisuuskäytäntöjä. Tämä moniosainen sarja tarjoaa käytännön ohjeita, joiden avulla kehittäjät voivat varmistaa parhaiden käytäntöjen noudattamisen alusta alkaen. Osa 1 käsittelee turvallisten mallien taustalla olevia salausalgoritmeja. Osa 2 käsittelee yksityisten avainten, avainten hallinnan ja suojatun tallennuksen roolia turvallisissa IoT-malleissa. Osa 3 tutkii suojattuihin prosessoreihin rakennettuja mekanismeja muun tyyppisten IoT-laitteisiin kohdistuvien uhkien vähentämiseksi. Osa 4 identifioi ja osoittaa, kuinka monipuolisten prosessorien suojausmekanismeja voidaan käyttää varmistettaessa eristyksen, jota tarvitaan IoT-laitteiden suoritusympäristön suojaamiseen hyökkäyksiltä. Tässä osassa 5 kuvataan kuinka IoT-tietoturva jatkuu IoT-laitteista korkeamman tason turvatoimenpiteiden avulla, joita käytetään näiden laitteiden yhdistämiseen IoT-pilviresursseihin.
Asioiden Internetin (IoT) turvallisuus riippuu useista suojaustasoista, jotka ulottuvat IoT-laitteen laitteistoalustasta sen suoritusympäristöön. Kaikki kytketyt laitteet ovat kuitenkin vaarassa ja pilviyhteyteen liittyvät tyypilliset IoT-sovellusvaatimukset voivat jättää sekä IoT-laitteet että pilvipalvelut avoimiksi uusille hyökkäyksille. Näiden uhkien vähentämiseksi IoT-pilvipalveluntarjoajat käyttävät erityisiä suojausprotokollia ja -käytäntöjä, mutta jos niitä ei käytetä oikein, ne voivat jättää IoT-sovellukset haavoittuviksi. Valmiiksi konfiguroituja kehityslevyjä käyttämällä kehittäjät voivat nopeasti hankkia kokemusta tietoturvamenetelmistä, joita käytetään johtavissa IoT-pilvipalveluissa yhteyksien todentamiseksi ja IoT-laitteiden ja pilviresurssien käytön valtuuttamiseksi.
Tässä artikkelissa kuvataan kahden johtavan pilvipalvelun, AWS:n (Amazon Web Services) ja Microsoft Azuren, yhteysvaatimukset ja esitetään, kuinka kehittäjät voivat käyttää useiden valmistajien kehityssarjoja ja niihin liittyviä ohjelmistoja muodostaakseen nopeasti yhteyden näihin palveluihin.
IoT-portaalien rooli pilvipalveluissa
Kun IoT-laite muodostaa yhteyden resurssiin, esimerkkinä pilvipalvelu tai etäisäntä, se altistaa itsensä – ja samalla koko IoT-verkon – uhille, jotka ovat naamioituneet laillisiksi palveluiksi tai palvelimiksi. Itse pilvipalvelu sitä vastoin kohtaa samalla tavoin hyökkäysuhan, jossa hakkerit jäljittelevät IoT-laitteiden transaktioita ja yrittävät tunkeutua pilvipalveluiden suojauksen lävitse. Sekä IoT-laitteiden että pilviresurssien suojauksen varmistamiseksi pilvipalvelut vaativat erityisten tietoturvaprotokollien käyttämistä molemminpuolisen identiteetin todentamiseksi kirjautumisen yhteydessä ja sen jälkeen valtuutusta, jolla varmistetaan palveluiden hyväksytty käyttö. Nämä protokollat sisältyvät tyypillisesti palvelujoukkoon, joilla tarjotaan turvallinen portaali IoT-laitteiden ja pilviresurssien välillä.
Kuten muissakin saatavana olevissa IoT-pilvipalvelualustoissa, AWS ja Azure tarjoavat kumpikin erityisen pääsyportaalin, jota IoT-laitteiden on käytettävä voidakseen olla vuorovaikutuksessa kunkin palveluntarjoajan pilvipalveluiden kanssa, esimerkkinä virtuaalikoneet (VM) ja ohjelmisto palveluna (SaaS). Azure IoT Hub ja AWS IoT käyttävät toiminnallisesti samanlaista mekanismeja ja ominaisuuksia, ja ne tarjoavat tällaisen portaalin kyseisiin yrityspilvipalveluihin.
Nämä ja muut IoT-portaalit käyttävät minimissään tiettyjä todennusprotokollia suojatun yhteyden luomiseen. Kyseiset protokollat on toteutettu kunkin palveluntarjoajan ohjelmistokehityspaketin (SDK) kautta. AWS IoT -laitteet muodostavat yhteyden vastavuoroisella todennuksella laitteen yhdyskäytävän kanssa. Laiteyhdyskäytävä yhdistää IoT-laitteen muihin IoT-tukipalveluihin käyttämällä laiterekisterissä olevia tietoja yksilöllisen laitetunnisteen, kirjautumistietojen sekä muiden metatietojen tallentamiseksi, joita tarvitaan AWS-palveluiden käytön hallitsemiseen (kuva 1). Azuressa identiteettirekisteri toimii samanlaisessa tehtävässä.
Kuva 1: Kuten muutkin pilvipalvelujen tarjoajat, AWS tarjoaa kehittäjille joukon erikoistuneita palveluita, jotka parantavat IoT-laitteiden ja yrityspilvipalvelujen välisten transaktioiden turvallisuutta ja tehokkuutta. (Kuvan lähde: Amazon Web Services)
AWS IoT ja Azure IoT tarjoavat kumpikin palvelun, joka ylläpitää tilatietoja kuhunkin fyysiseen IoT-laitteeseen liittyvässä virtuaalilaitteessa. AWS IoT:ssä laitevarjot tarjoavat tämän toiminnallisuuden AWS IoT:lle, kun taas laitekaksoset tarjoavat samanlaisen toiminnallisuuden Azure IoT:lle.
Tämä tietoturvaportaalin käsite ulottuu myös IoT-reunapalveluihin, esimerkkinä AWS Greengrass ja Azure IoT Edge. Nämä tarjottavat reunapalvelut tuovat joitain pilvipalveluita ja -ominaisuuksia lähiverkkoon, jossa reunajärjestelmät sijoitetaan fyysisesti lähelle IoT-laitteita ja -järjestelmiä mittakaavaltaan suurissa sovelluksissa. Kehittäjät voivat käyttää Azure IoT Edgen kaltaista palvelua sovellusliiketoimintalogiikan toteuttamiseen, muiden viiveen vähentämiseen tarvittavien toiminnallisien ominaisuuksien tarjoamiseen sekä palveluiden tarjoamiseen paikallisille operaattoreille, esimerkkinä teollisuusautomaatio (kuva 2).
Kuva 2: Pilvipalveluntarjoajat tukevat reunalaskentaa tarjoamalla erityispalveluita, esimerkkinä Microsoft Azure IoT Edge, joka tuo joitain Azure IoT -pilvipalveluita lähemmäksi IoT-sovellukseen liittyviä fyysisiä laitteita. (Kuvan lähde: Microsoft Azure)
IoT-portaaliin yhteyden muodostamista koskevien vaatimusten käsittely
Riippumatta siitä yhdistetäänkö IoT-laite reunajärjestelmän kautta tai suoraan palveluntarjoajan IoT-palveluun, niiden on tyypillisesti täytettävä joukko vaatimuksia yhteyden muodostamiseksi palveluntarjoajan IoT-portaalin kautta ja palveluntarjoajan pilvipalvelujen käyttämiseksi. Vaikka yksityiskohdat eroavat toisistaan, IoT-laitteiden on tarjottava vähintäänkin sellaisia ominaisuuksia kuten yksityinen avain, X.509-varmenne tai muu suojaustunnus. Avain, sertifikaatti tai tunnus antaa IoT-portaalille vahvistuksen tai todistuksen IoT-laitteen identiteetistä laite-pilviyhteyssekvenssin todennusvaiheen aikana. Lisäksi IoT-pilvipalvelut vaativat tyypillisesti määrittämään käytännöt ja käyttöoikeudet IoT-laitteiden ja pilvipalvelujen väliseen vuorovaikutukseen.
Kuten muissakin yritystason tietojenkäsittelyvaatimuksissa, autentikoinnissa käytettävät todennustiedot ja käyttöoikeuksien hallintaa koskevat käytännöt on toimitettava käyttäen määrämuotoja ja menettelytapoja, jotka johtavat IoT-pilvipalvelut, kuten AWS IoT ja Azure IoT, ovat määrittäneet. Nämä palvelut tukevat vähintäänkin sertifikaattipohjaista todennusta, mutta tukevat myös muiden todennusmuotojen käyttöä. Kehittäjät voivat esimerkiksi käyttää tunnuspohjaisia todennusmenetelmiä, jotka perustuvat AWS IoT -palvelun tapauksessa JSON Web Token (JWT) -teknologiaan ja Azure IoT -palvelun tapauksessa jaettuja käyttöoikeuden allekirjoituksia (SAS).
Kuten aiemmin mainittiin, nämä palvelut käyttävät rekistereitä metadatan säilyttämiseksi jokaisesta IoT-laitteesta. Näihin rekistereihin tallennetaan tietoturvan ja muiden tietojen lisäksi käyttöoikeuskäytännöt, jotka on määritettävä IoT-laitteen kytkemiseksi. Vaikka nämä käytäntömääritelmät on määritelty eri tavoin eri pilvipalveluille, ne kuvaavat eri viestintäkanavien ja -entiteettien käyttöoikeuksia. Esimerkiksi yksinkertainen AWS IoT -käyttöoikeuskäytäntö ilmaisee JSON-muodossa, että IoT-laite, jonka nimi on AWS IoT -laiterekisterissä "thing", voisi muodostaa yhteyden ja julkaista viestejä vain kanavalla, jolla on sama liittyvän asian nimi (listaus 1).
Kopioi
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action":["iot:Publish"],
"Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingName}"]
},
{
"Effect": "Allow",
"Action": ["iot:Connect"],
"Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"]
}
]
}
Listaus 1: Kehittäjät käyttävät JSON-muotoa kuvaamaan IoT-laitteiden AWS IoT -käyttöoikeuskäytäntöjä. (Lähdekoodi: AWS)
Pilvivalmiit kehityssarjat
Vaikka pilvipalveluntarjoajat tarjoavat yksityiskohtaisia tietoja näistä muodoista ja menettelyistä, palveluntarjoajien tukifoorumit ovat tyypillisesti täynnä kehittäjien kysymyksiä, joissa kehittäjä on kompastunut johonkin pieneen mutta tärkeään yksityiskohtaan, joka estää todennuksen ja käyttöoikeuksien hallinnan. Turvallisuuden kannalta on ehkä pahempaa, että todistuksen tahaton väärinkäyttö tai käyttöoikeuskäytäntöjen epätäydellinen määrittely voi jättää IoT-laitteet, verkot ja sovellukset avoimeksi hyökkäykselle. Tarjolla olevat valmiit kehitysalustat ja niihin liittyvät ohjelmistopaketit antavat kehittäjille mahdollisuuden päästä näitä yhteysmenettelyistä nopeasti läpi käyttämällä myyjän toimittamia esimerkkejä ja muodostaa nopeasti yhteys IoT-pilviin. Esimerkiksi, Espressif Systems -yrityksen ' ESP32-Azure IoT -sarja tai Seeed Technologyn AZ3166 IoT -kehittäjäsarja sisältävät Azure-sertifioidut kortit, jotka on suunniteltu muodostamaan helposti yhteys Microsoft-pilveen.
Microsoft tarjoaa täydelliset demonstraatiot vaihe vaiheelta, mukaan lukien todennus ja käyttöoikeustiedot tuetuille kehityssarjoille. Esimerkiksi AZ3166-kortin kanssa kehittäjät painavat kortilla sijaitsevia painikkeita aloittaakseen yhteyden paikallisiin Wi-Fi-verkkoihin. Kun yhteys on muodostettu, he voivat käyttää Azure IoT Tools -laajennuspaketin Azure IoT Device Workbench -sovellusta Microsoft Visual Studio Codelle kehittääkseen, debugatakseen ja käyttääkseen Azure IoT Hub -palvelua. Tämän työkalusarjan ja sen mallikoodipakettien avulla kehittäjät luovat IoT-laitteelle objektin Azure IoT Hub -sovelluksessa ja käyttää mukana toimitettua tiedostoa tarjotakseen objektiin liittyvä identiteettirekisteri käyttöoikeustiedoilla ja muilla metatiedoilla, joita tarvitaan IoT-kortin yhdistämiseen Azure IoT Hubiin (kuva 3).
Kuva 3: Microsoft Azure IoT Device Workbench -sovelluksessa toimitetut mallikoodit ja käyttöoikeustiedot auttavat kehittäjiä Seeed Technology AZ3166 IoT Developer Kit -sovelluksen yhdistämisessä Azure IoT Hub -sovellukseen. (Kuvan lähde: Microsoft Azure)
Azure IoT Device Workbench tarjoaa ylimääräisiä tukiohjelmistoja ja metatietoja, joiden avulla kehittäjät voivat nopeasti ladata näytekoodin AZ3166-kortille ja aloittaa mittausten siirtäminen kortin lämpötila- ja kosteusanturista Azure IoT Hubiin.
Vaiheet, jotka liittyvät fyysisen IoT-laitteen esityksen luomiseen IoT-pilvessä ja siihen liittyvän rekisterin tarjoamiseen, tarvitaan vain laitteiden yhdistämiseksi IoT-pilveen. Pilvipalvelujen hyödyntämiseksi Azure IoT Hub tarvitsee kuitenkin käyttöoikeuskäytännön. Seuratakseen AZ3166-anturin pilveen lähettämiä viestejä kehittäjät voivat yksinkertaisesti käyttää Azuren Jaetun pääsyn käytännöt -näyttöä ja valita esivalmistetun käytännön, joka on suunniteltu tarvittavien käyttöoikeuksien nopeaa käyttöönottoa varten (kuva 4).
Kuva 4: Kehittäjät voivat käyttää valmiiksi muodostettuja käytäntöjä valtuuttaakseen helposti Azure-pilvipalveluiden käytön Seeed Technology AZ3166 IoT -kehittäjäsarjan anturitiedoille. (Kuvan lähde: Microsoft Azure)
Kehittäjät voivat AWS IoT: n kanssa työskennellessään kääntyä kehityssarjojen kuten Microchip TechnologynAT88CKECC-AWS-XSTK-B Zero Touch Provisioning -sarjan ja siihen liittyvän ohjelmiston puoleen arvioidakseen pilviyhteyttä nopeasti. Tämä aikaisemman Microchip Zero Touch Provisioning -sarjan päivitetty versio sisältää valmiit todennustodistukset. Käyttämällä sarjan mukana toimitettuja lisäkomentosarjoja kehittäjät voivat yhdistää kortin nopeasti AWS IoT -palveluun tarvitsematta käsitellä yksityisiä avaimia ja varmenteita (katso " Lukitse IoT-laite turvallisesti käyttämällä nollan kosketuksen lähestymistapaa ").
Muut kehityssarjat, mukaan lukien RenesasinRTK5RX65N0S01000BE RX65N -pilvisarja ja Infineon Technologies -yrityksen KITXMC48IOTAWSWIFITOBO1 AWS IoT -sarja, laajentavat tukea AWS IoT -yhteyksille ja tukevat Amazon FreeRTOS -pohjaisten sovellusten nopeaa kehitystä. AWS tarjoaa yksityiskohtaiset ohjeet korttien rekisteröimiseksi, todennustodistusten luomiseksi ja toimitettujen JSON-käytäntöjen lataamiseksi. Näitä tarvitaan yhteyden muodostamiseen AWS IoT- ja AWS-palveluihin ja niiden käyttämiseen.
Suuren mittakaavan IoT-sovellusten yksinkertaistaminen
Edellä kuvatut kehityssarjat toimivat tehokkaina alustoina sekä nopeassa prototyyppien muodostamisessa IoT-sovelluksista että IoT-pilvipalveluiden yhteysvaatimusten tutkimisessa. Käytännössä kehittäjien on kuitenkin tyypillisesti siirryttävä tehokkaampiin lähestymistapoihin, joiden tarkoituksena on yksinkertaistaa IoT-laitteiden käyttöönottoa reaalimaailman sovelluksissa. Sekä Azure IoT että AWS IoT tukevat useita erilaisia menetelmiä, jotka mahdollistavat yksittäisten laitteiden tai suurten IoT-laitemäärien automaattisen käyttöönoton mittakaavaltaan suurissa sovelluksissa.
Esimerkiksi AWS IoT -palvelussa kehittäjät voivat käyttää käynnistysmenetelmää varmenteiden välittämiseen. Tässä tapauksessa älykäs tuote toimitetaan käynnistysvarmenteella, jolla on minimaaliset käyttöoikeudet uuden sertifikaatin pyytämistä ja käyttöä varten (kuva 5).
Kuva 5: AWS IoT tukee menetelmää, jolla IoT-laitteille toimitetaan käynnistysvarmenne. (Kuvalähde: DigiKey, Amazon Web Services)
Käynnistyssertifikaattia käytettäessä laite muodostaa yhteyden pilveen ("1" kuvassa 5), pyytää ("2") uuden varmenteen, vastaanottaa ("3") URL-osoitteen palvelimettoman AWS Lambda -funktion luomaan varmenteeseen ja hakee ("4") kyseisen sertifikaatin AWS Simple Storage Services (S3) -tallennuslevystä. Laite kirjautuu sen jälkeen uutta varmennetta käyttämällä takaisin AWS IoT -palveluun ("5") jatkaaksesi normaalia toimintaa.
AWS tarjoaa myös muita pilvipalveluita, jotka tukevat todennustunnusten dynaamista tarjoamista käyttäen sellaisia suoritusresursseja kuten AWS Lambda -funktiot. Esimerkiksi autosovellus voi luottaa sarjaan lyhytaikaisia yhteyksiä, jolloin tunnuksen käyttö on sekä käytännöllisempää että turvallisempaa. Tässä tapauksessa kun IoT-todennuksen ja -valtuutuksen suorittava AWS-moduuli on hyväksynyt tunnuspyynnön, AWS Security Token Service (STS) luo tunnuksen toimitettavaksi ajoneuvon järjestelmiin. Tätä tunnusta käyttämällä nämä järjestelmät pääsevät AWS-palveluihin, jotka edellyttävät AWS Identity and Access Management (IAM) -palvelun validointia (kuva 6).
Kuva 6: Johtavat pilvipalveluntarjoajat tukevat myös muita autentikoinnin vahvistamismuotoja, esimerkkinä tämä prosessi AWS Security Token Service (STS) -turvallisuustunnusten dynaamiseksi generoimiseksi. (Kuvan lähde: Amazon Web Services)
AWS tarjoaa samanlaisen toiminnon käyttöoikeuksien dynaamista määritystä varten. Tässä muut AWS Lambda -funktiot määrittäisivät joukon käytäntöjä, jotka liittyvät validiin tunnukseen (kuva 7).
Kuva 7: Kehittäjät voivat käyttää pilvipalveluita toteuttaakseen dynaamisen käyttöoikeuksien osoittamisen. Tämä on erityisen hyödyllistä sovelluksissa, jotka käyttävät lyhytaikaisia yhteyksiä tai lyhyitä operaatioita. (Kuvan lähde: Amazon Web Services)
Muut IoT-pilvipalvelut tarjoavat kehittäjille mahdollisuuden käsitellä tehokkaammin mittakaavaltaan suuria käyttöönottoja. Esimerkiksi AWS IoT tarjoaa mahdollisuuden suuren laitemäärän hallintaan, mukaan lukien tuki aiemmin kuvatun tyyppisen käynnistysmenetelmän käytölle suurelle laitemäärälle. Azure IoT -palvelun Device Provisioning Service tarjoaa ryhmärekisteröintitoiminnon, joka tukee suurten samaa X.509-varmennetta tai SAS-tunnusta käyttävien IoT-laitemäärien hallintaa.
Jaettu vastuu turvallisuudesta
IoT-pilvipalveluntarjoajat tarjoavat useita tehokkaita menetelmiä IoT-sovellusten päästä päähän -turvallisuuden parantamiseksi. IoT-kehittäjät eivät kuitenkaan voi odottaa, että nämä menetelmät täyttäisivät halutun IoT-sovelluksen tietoturvavaatimukset. Itse asiassa pilvipalvelujen tarjoajat kuvaavat huolellisesti heidän nimenomaisen roolinsa ja vastuunsa IoT-sovellusten tietoturvassa erityisillä malleilla, kuten AWS: n jaetun vastuun malli (kuva 8).
Kuva 8: Kuten muutkin johtavat pilvipalveluntarjoajat, AWS kuvaa vastuut, jotka se jakaa pilvikäyttäjien kanssa pilvipalveluiden ja toisaalta asiakassovellusten suojaamiseksi. (Kuvan lähde: Amazon Web Services)
AWS ja Microsoft Azure tarjoavat kumpikin jaettuja vastuualueita käsittelevät dokumentit, jotka kuvaavat ja selittävät palveluntarjoajan ja asiakkaan roolia resurssien, tietojen ja sovellusten suojaamisessa. Microsoft tarjoaa dokumentaatiossaan myös yleiskatsauksen eräistä yhteyksistä yhteisen tietoturvan ja vaatimustenmukaisuusvaatimusten välillä. Viime kädessä pilvipalveluntarjoajat kantavat vastuun pilvien turvallisuudesta, kun taas asiakkaat vastaavat edelleen pilvessä käytettävistä sovelluksista, tiedoista ja resursseista.
Yhteenveto
IoT-sovellukset ovat riippuvaisia tietoturvakerroksista, jotka on muodostettu laitteistopohjaisten salausmekanismien ja suojatun avainten varastoinnin päälle. Kuten minkä tahansa verkkoon liitetyn tuotteen kanssa, tietoturvauhkia voi esiintyä kaikenlaisessa vuorovaikutuksissa, kun IoT-laitteet muodostavat yhteyden pilvipalveluihin. IoT-pilvipalveluntarjoajat sanelevat itsensä ja asiakkaidensa suojaamista ja käyttöoikeuksien hallintaa koskevat erityisvaatimukset. Vaikka palveluntarjoajat tarjoavat yksityiskohtaisen dokumentaation näistä vaatimuksista sekä niihin liittyvät spesifikaatiot, kehittäjät voivat huomata, että heidän pyrkimyksensä suojatun yhteyden luomiseksi jättävät joskus resursseja alttiiksi tai sitä vastoin saavuttamattomiksi. Kehitysalustoja ja niihin liittyviä ohjelmistoja käyttämällä kehittäjät voivat nopeasti muodostaa yhteyden pilvipalveluihin ja tehdä IoT-sovelluksista nopeasti päästä päähän -suojausta käyttäviä prototyyppejä.
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.


