Co to jest usługa Azure Sphere?
Azure Sphere to zabezpieczona platforma aplikacji wysokiego poziomu z wbudowanymi funkcjami komunikacji i zabezpieczeń na potrzeby urządzeń połączonych z Internetem. Obejmuje ona bezpieczną, połączoną, skrzyżowaną jednostkę mikrokontrolera (MCU), niestandardowy, oparty na systemie Linux system operacyjny wysokiego poziomu, a także chmurową usługę zabezpieczeń, która zapewnia ciągłe i odnawialne zabezpieczenia.
Mikrokontroler usługi Azure Sphere integruje możliwości przetwarzania w czasie rzeczywistym z możliwością uruchamiania systemu operacyjnego wysokiego poziomu. Mikrokontroler usługi Azure Sphere, wraz z systemem operacyjnym i platformą aplikacji, umożliwia tworzenie zabezpieczonych urządzeń połączonych z Internetem, które można aktualizować, kontrolować, monitorować i obsługiwać zdalnie. Połączone urządzenie, które obejmuje mcU usługi Azure Sphere, obok lub zamiast istniejących jednostek MCU, zapewnia zwiększone bezpieczeństwo, produktywność i możliwości. Na przykład:
- Zabezpieczone środowisko aplikacji, uwierzytelnione połączenia i korzystanie z urządzeń peryferyjnych minimalizuje między innymi zagrożenia bezpieczeństwa spowodowane fałszowaniem, nieuczciwym oprogramowaniem lub atakami typu "odmowa usługi".
- Aktualizacje oprogramowania można automatycznie wdrażać z chmury na dowolnym połączonym urządzeniu, aby rozwiązać problemy, zapewnić nowe funkcje lub przeciwdziałać pojawiającym się metodom ataku, co zwiększa produktywność personelu pomocy technicznej.
- Dane użycia produktu można zgłaszać do chmury za pośrednictwem zabezpieczonego połączenia, aby pomóc w diagnozowaniu problemów i projektowaniu nowych produktów, zwiększając w ten sposób możliwość obsługi produktów, pozytywnych interakcji klientów i przyszłego rozwoju.
Usługa zabezpieczeń Azure Sphere jest integralnym aspektem usługi Azure Sphere. Korzystając z tej usługi, jednostki MCU usługi Azure Sphere bezpiecznie i bezpiecznie łączą się z chmurą i internetem. Usługa zapewnia, że urządzenie jest uruchamiane tylko z autoryzowaną wersją oryginalnego, zatwierdzonego oprogramowania. Ponadto zapewnia zabezpieczony kanał, za pośrednictwem którego firma Microsoft może automatycznie pobierać i instalować aktualizacje systemu operacyjnego do wdrożonych urządzeń w terenie w celu wyeliminowania problemów z zabezpieczeniami. Ani producent, ani interwencja użytkownika końcowego nie jest wymagana, co powoduje zamknięcie wspólnej zabezpieczeń.
Uwaga
Usługa Azure Sphere odnosi się do interfejsu opartego na protokole PAPI jako usługi Azure Sphere (starsza wersja) i zintegrowanego interfejsu usługi Azure Resource Manager jako usługi Azure Sphere (zintegrowanej).
Scenariusz usługi Azure Sphere
Aby zrozumieć, jak działa usługa Azure Sphere w rzeczywistym środowisku, rozważ ten scenariusz.
Contoso, Ltd., jest producentem produktów towarów białych, który osadza mcU usługi Azure Sphere w swoich zmywarkach. Urządzenie DW100 do mycia naczyń łączy MCU z kilkoma czujnikami i dołączaną aplikacją wysokiego poziomu działającą na mcu usługi Azure Sphere. Aplikacja komunikuje się z usługą zabezpieczeń Azure Sphere i z usługami w chmurze firmy Contoso. Na poniższym diagramie przedstawiono ten scenariusz:
Zmywarki połączone z siecią firmy Contoso
Począwszy od lewej górnej i przesuwając się zgodnie z ruchem wskazówek zegara:
Firma Microsoft publikuje aktualizacje systemu operacyjnego usługi Azure Sphere za pośrednictwem usługi zabezpieczeń Azure Sphere.
Firma Contoso publikuje aktualizacje aplikacji DW100 za pośrednictwem usługi zabezpieczeń Azure Sphere.
Usługa zabezpieczeń Azure Sphere bezpiecznie wdraża zaktualizowany system operacyjny i oprogramowanie aplikacji Contoso DW100 do naczyń w lokalizacjach użytkowników końcowych.
Obsługa zmywarki firmy Contoso komunikuje się z usługą zabezpieczeń Azure Sphere, aby określić, która wersja oprogramowania usługi Azure Sphere i oprogramowanie aplikacji DW100 powinny być uruchomione na każdym urządzeniu użytkownika końcowego i zebrać wszelkie dane raportowania błędów zgłoszone do usługi. Obsługa zmywarki do naczyń firmy Contoso komunikuje się również z usługą w chmurze Firmy Contoso, aby uzyskać dodatkowe informacje.
Usługi w chmurze firmy Contoso obsługują aplikacje do rozwiązywania problemów, analizy danych i interakcji z klientami. Usługi w chmurze firmy Contoso mogą być hostowane przez platformę Microsoft Azure, przez usługę w chmurze innego dostawcy lub przez własną chmurę firmy Contoso.
Modele Contoso DW100 w lokalizacjach użytkowników końcowych pobierają zaktualizowane oprogramowanie systemu operacyjnego i aplikacji za pośrednictwem połączenia z usługą zabezpieczeń Azure Sphere. Mogą również komunikować się z aplikacją usługi w chmurze firmy Contoso w celu raportowania dodatkowych danych.
Na przykład czujniki w zmywarki mogą monitorować temperaturę wody, temperaturę suszenia i wypłukać poziom agenta oraz przekazywać te dane do usług w chmurze firmy Contoso, gdzie aplikacja usługi w chmurze analizuje ją pod kątem potencjalnych problemów. Jeśli temperatura suszenia wydaje się niezwykle gorąca lub chłodna — co może wskazywać na awarię — firma Contoso zdalnie uruchamia diagnostykę i powiadamia klienta, że potrzebne są naprawy. Jeśli zmywarka jest objęta gwarancją, aplikacja usługi w chmurze może również zapewnić, że lokalny sklep naprawczy klienta ma część zastępczą, zmniejszając w ten sposób wizyty konserwacyjne i wymagania dotyczące zapasów. Podobnie, jeśli środek płukania jest niski, zmywarka może zasygnalizować klientowi zakup więcej środka spłukanego bezpośrednio od producenta.
Cała komunikacja odbywa się za pośrednictwem zabezpieczonych, uwierzytelnionych połączeń. Personel pomocy technicznej i inżynieryjnej firmy Contoso może wizualizować dane przy użyciu usługi zabezpieczeń Azure Sphere, funkcji platformy Microsoft Azure lub aplikacji usługi w chmurze specyficznej dla firmy Contoso. Firma Contoso może również udostępniać aplikacje internetowe i mobilne dostępne dla klientów, dzięki którym właściciele zmywarki mogą żądać obsługi, monitorować użycie zasobów do naczyń lub w inny sposób korzystać z firmy.
Korzystając z narzędzi wdrażania usługi Azure Sphere, firma Contoso jest przeznaczona dla każdej aktualizacji oprogramowania aplikacji do odpowiedniego modelu zmywarki, a usługa zabezpieczeń Azure Sphere dystrybuuje aktualizacje oprogramowania do odpowiednich urządzeń. Na zmywarkach można zainstalować tylko podpisane i zweryfikowane aktualizacje oprogramowania.
Usługa Azure Sphere i siedem właściwości wysoce zabezpieczonych urządzeń
Podstawowym celem platformy Azure Sphere jest zapewnienie wysokiej wartości zabezpieczeń przy niskich kosztach, dzięki czemu urządzenia z mikrokontrolerami z uwzględnieniem cen mogą bezpiecznie i niezawodnie łączyć się z Internetem. Ponieważ zabawki połączone z siecią, urządzenia i inne urządzenia konsumenckie stają się powszechne, bezpieczeństwo jest niezwykle ważne. Nie tylko musi być zabezpieczony sprzęt urządzenia, jego oprogramowanie i połączenia w chmurze muszą być również zabezpieczone. Zabezpieczenia wygasają w dowolnym miejscu w środowisku operacyjnym, zagrażają całemu produktowi i potencjalnie wszystkim lub osobom znajdującym się w pobliżu.
W oparciu o wieloletnie doświadczenie firmy Microsoft w zakresie zabezpieczeń internetu zespół usługi Azure Sphere zidentyfikował siedem właściwości wysoce zabezpieczonych urządzeń. Platforma Azure Sphere została zaprojektowana wokół tych siedmiu właściwości:
Katalog główny zaufania oparty na sprzęcie. Katalog główny zaufania oparty na sprzęcie gwarantuje, że urządzenie i jego tożsamość nie mogą być oddzielone, uniemożliwiając fałszowanie lub fałszowanie urządzenia. Każdy mikrokontroler usługi Azure Sphere jest identyfikowany przez niewyforowany klucz kryptograficzny generowany i chroniony przez sprzęt podsystemu zabezpieczeń Pluton zaprojektowany przez firmę Microsoft. Zapewnia to odporny na naruszenia, zabezpieczony katalog główny zaufania sprzętu od fabryki do użytkownika końcowego.
Ochrona w głębi systemu. Ochrona w głębi systemu zapewnia wiele warstw zabezpieczeń, a tym samym wiele środków zaradczych przed każdym zagrożeniem. Każda warstwa oprogramowania na platformie Azure Sphere sprawdza, czy warstwa powyżej jest zabezpieczona.
Mała zaufana baza obliczeniowa. Większość oprogramowania urządzenia pozostaje poza zaufaną bazą obliczeniową, co zmniejsza obszar powierzchni w przypadku ataków. Tylko zabezpieczony monitor zabezpieczeń, środowisko uruchomieniowe Pluton i podsystem Pluton — wszystkie te funkcje zapewnia firma Microsoft — działają w zaufanej bazie obliczeniowej.
Przedziały dynamiczne. Przedziały dynamiczne ograniczają zasięg pojedynczego błędu. Jednostki MCU usługi Azure Sphere zawierają miary liczników krzemowych, w tym zapory sprzętowe, aby zapobiec naruszeniu zabezpieczeń w jednym składniku propagacji do innych składników. Ograniczone środowisko uruchomieniowe "piaskownicy" uniemożliwia aplikacjom uszkodzenie zabezpieczonego kodu lub danych.
Uwierzytelnianie bez hasła. Użycie podpisanych certyfikatów, zweryfikowanych przez niewyforowany klucz kryptograficzny, zapewnia znacznie silniejsze uwierzytelnianie niż hasła. Platforma Azure Sphere wymaga podpisania każdego elementu oprogramowania. Komunikacja urządzenie-chmura i chmura-urządzenie wymaga dalszego uwierzytelniania, które jest osiągane przy użyciu certyfikatów.
Raportowanie błędów. Błędy oprogramowania lub sprzętu urządzenia są typowe w pojawiających się atakach zabezpieczeń; błędy, które powodują awarię urządzenia, stanowią atak typu "odmowa usługi". Komunikacja urządzenie-chmura zapewnia wczesne ostrzeżenie o potencjalnych błędach. Urządzenia usługi Azure Sphere mogą automatycznie zgłaszać dane operacyjne i błędy w systemie analizy opartej na chmurze, a aktualizacje i obsługa mogą być wykonywane zdalnie.
Bezpieczeństwo odnawialne. Oprogramowanie urządzenia jest automatycznie aktualizowane w celu skorygowania znanych luk w zabezpieczeniach lub naruszeń zabezpieczeń, nie wymagając interwencji producenta produktu ani użytkownika końcowego. Usługa zabezpieczeń Azure Sphere automatycznie aktualizuje system operacyjny usługi Azure Sphere i aplikacje.
Architektura usługi Azure Sphere
Współpraca sprzętu, oprogramowania i usługi zabezpieczeń Azure Sphere umożliwia unikatowe, zintegrowane podejścia do konserwacji, kontroli i zabezpieczeń urządzeń.
Architektura sprzętu zapewnia zasadniczo zabezpieczoną bazę obliczeniową dla połączonych urządzeń, co pozwala skupić się na produkcie.
Architektura oprogramowania z zabezpieczonym niestandardowym jądrem systemu operacyjnego uruchomionym na szczycie monitora zabezpieczeń napisanego przez firmę Microsoft, umożliwia również skoncentrowanie wysiłków związanych z oprogramowaniem na temat funkcji IoT i funkcji specyficznych dla urządzenia.
Usługa zabezpieczeń Azure Sphere obsługuje uwierzytelnianie, aktualizacje oprogramowania i raportowanie błędów za pośrednictwem zabezpieczonych kanałów chmury do urządzeń i urządzeń do chmury. W wyniku tego powstaje zabezpieczona infrastruktura komunikacji, która zapewnia, że Twoje produkty działają w najbardziej aktualnym systemie operacyjnym Azure Sphere. Aby zapoznać się z diagramami architektur i przykładami architektur w chmurze, zobacz Przeglądanie architektur platformy Azure.
Architektura sprzętu
Crossover MCU usługi Azure Sphere składa się z wielu rdzeni na jednej kostki, jak pokazano na poniższej ilustracji.
Architektura sprzętu mcu usługi Azure Sphere
Każdy rdzeń, wraz ze skojarzonym podsystemem, znajduje się w innej domenie zaufania. Główny element zaufania znajduje się w podsystemie zabezpieczeń Pluton. Każda warstwa architektury zakłada, że warstwa powyżej może zostać naruszona. W każdej warstwie izolacja zasobów i przedziały dynamiczne zapewniają dodatkowe zabezpieczenia.
Podsystem zabezpieczeń Pluton firmy Microsoft
Podsystem zabezpieczeń Pluton jest oparty na sprzęcie (w krzemie) zabezpieczonym elementem głównym zaufania dla usługi Azure Sphere. Obejmuje on rdzenie procesora zabezpieczeń, aparaty kryptograficzne, sprzętowy generator liczb losowych, generowanie kluczy publicznych/prywatnych, szyfrowanie asymetryczne i symetryczne, obsługę wielokropkowego algorytmu podpisu cyfrowego (ECDSA) na potrzeby zabezpieczonego rozruchu i mierzonego rozruchu w krzemie w celu obsługi zdalnego zaświadczania za pomocą usługi w chmurze, a także różnych środków przeciwdziałania manipulacji, w tym jednostki wykrywania entropii.
W ramach bezpiecznego procesu rozruchu podsystem Pluton uruchamia różne składniki oprogramowania. Zapewnia również usługi środowiska uruchomieniowego, przetwarza żądania z innych składników urządzenia i zarządza krytycznymi składnikami innych części urządzenia.
Rdzenie aplikacji wysokiego poziomu
Rdzenie aplikacji wysokiego poziomu mają podsystem ARM Cortex-A, który ma pełną jednostkę zarządzania pamięcią (MMU). Umożliwia ona podział procesów opartych na sprzęcie przy użyciu funkcji strefy zaufania i jest odpowiedzialna za uruchamianie systemu operacyjnego, aplikacji wysokiego poziomu i usług. Obsługuje dwa środowiska operacyjne: Normalny świat (NW), który uruchamia kod zarówno w trybie użytkownika, jak i w trybie nadzorcy, oraz Secure World (SW), który uruchamia tylko dostarczony przez firmę Microsoft monitor zabezpieczeń. Aplikacje wysokiego poziomu działają w trybie użytkownika NW.
Rdzenie czasu rzeczywistego
Rdzenie czasu rzeczywistego zawierają podsystem we/wy ARM Cortex-M, który może uruchamiać aplikacje obsługujące w czasie rzeczywistym jako kod bez systemu operacyjnego lub system operacyjny czasu rzeczywistego (RTOS). Takie aplikacje mogą mapować urządzenia peryferyjne i komunikować się z aplikacjami wysokiego poziomu, ale nie mogą uzyskiwać bezpośredniego dostępu do Internetu.
Łączność i komunikacja
Pierwszy procesor MCU usługi Azure Sphere zapewnia 802,11 b/g/n radio Wi-Fi, które działa zarówno na poziomie 2,4 GHz, jak i 5GHz. Aplikacje wysokiego poziomu mogą konfigurować, używać i wykonywać zapytań dotyczących podsystemu komunikacji bezprzewodowej, ale nie mogą bezpośrednio go programować. Oprócz lub zamiast korzystania z sieci Wi-Fi urządzenia usługi Azure Sphere, które są prawidłowo wyposażone, mogą komunikować się w sieci Ethernet.
Wielokrotny we/wy
Platforma Azure Sphere obsługuje różne możliwości we/wy, dzięki czemu można skonfigurować urządzenia osadzone w taki sposób, aby odpowiadały wymaganiom rynku i produktu. Urządzenia peryferyjne we/wy można zamapować na rdzenie aplikacji wysokiego poziomu lub na rdzeń czasu rzeczywistego.
Zapory firmy Microsoft
Zapory sprzętowe to krzemowe środki zaradcze zapewniające ochronę "piaskownicy", aby upewnić się, że urządzenia peryferyjne we/wy są dostępne tylko dla rdzenia, do którego są mapowane. Zapory nakładają przedziały, uniemożliwiając tym samym zagrożenie bezpieczeństwa zlokalizowane w rdzeniu aplikacji wysokiego poziomu przed wpływem dostępu rdzeni czasu rzeczywistego do swoich urządzeń peryferyjnych.
Zintegrowana pamięć RAM i flash
Jednostki MCU usługi Azure Sphere obejmują co najmniej 4 MB zintegrowanej pamięci RAM i 16 MB zintegrowanej pamięci flash.
Architektura oprogramowania i system operacyjny
Platforma aplikacji wysokiego poziomu uruchamia system operacyjny usługi Azure Sphere wraz z aplikacją wysokiego poziomu specyficzną dla urządzenia, która może komunikować się zarówno z Internetem, jak i z aplikacjami obsługującymi czas rzeczywistym, które działają na rdzeniach czasu rzeczywistego. Na poniższej ilustracji przedstawiono elementy tej platformy.
Elementy dostarczone przez firmę Microsoft są wyświetlane w kolorze szarym.
Platforma aplikacji wysokiego poziomu
Firma Microsoft udostępnia i obsługuje wszystkie oprogramowanie inne niż aplikacje specyficzne dla urządzenia. Wszystkie oprogramowanie uruchamiane na urządzeniu, w tym aplikacja wysokiego poziomu, jest podpisane przez urząd certyfikacji firmy Microsoft. Aktualizacje aplikacji są dostarczane za pośrednictwem zaufanego potoku firmy Microsoft, a zgodność każdej aktualizacji ze sprzętem urządzenia usługi Azure Sphere jest weryfikowana przed instalacją.
Środowisko uruchomieniowe aplikacji
Środowisko uruchomieniowe aplikacji udostępniane przez firmę Microsoft jest oparte na podzestawie standardu POSIX. Składa się z bibliotek i usług środowiska uruchomieniowego, które działają w trybie użytkownika NW. Spowoduje to wsparcie środowiska tworzonych aplikacji wysokiego poziomu.
Biblioteki aplikacji obsługują funkcje sieciowe, magazynowe i komunikacyjne, które są wymagane przez aplikacje wysokiego poziomu, ale nie obsługują bezpośredniego ogólnego dostępu we/wy lub powłoki, między innymi. Te ograniczenia zapewniają, że platforma pozostaje zabezpieczona i że firma Microsoft może zapewnić aktualizacje zabezpieczeń i konserwacji. Ponadto ograniczone biblioteki zapewniają długoterminową stabilną powierzchnię interfejsu API, dzięki czemu oprogramowanie systemowe można zaktualizować w celu zwiększenia bezpieczeństwa przy zachowaniu zgodności binarnej aplikacji.
Usługi systemu operacyjnego
Usługi systemu operacyjnego hostują kontener aplikacji wysokiego poziomu i są odpowiedzialne za komunikację z usługą zabezpieczeń Azure Sphere. Zarządzają uwierzytelnianiem sieciowym i zaporą sieciową dla całego ruchu wychodzącego. Podczas programowania usługi systemu operacyjnego komunikują się również z połączonym komputerem i aplikacją, która jest debugowana.
Niestandardowe jądro systemu Linux
Niestandardowe jądro oparte na systemie Linux działa w trybie nadzorcy wraz z modułem ładujący rozruchu. Jądro jest dokładnie dostrojone pod kątem pamięci flash i pamięci RAM mcu usługi Azure Sphere. Zapewnia ona powierzchnię do wywłaszczanego wykonywania procesów przestrzeni użytkownika w oddzielnych wirtualnych przestrzeniach adresowych. Model sterowników uwidacznia urządzenia peryferyjne MCU w usługach i aplikacjach systemu operacyjnego. Sterowniki usługi Azure Sphere obejmują między innymi sieć Wi-Fi (obejmującą stos sieciowy TCP/IP), UART, SPI, I2C i GPIO.
Monitor zabezpieczeń
Monitor zabezpieczeń dostarczony przez firmę Microsoft działa w sw. Jest on odpowiedzialny za ochronę sprzętu wrażliwego na zabezpieczenia, takiego jak pamięć, pamięć, pamięć flash i inne współużytkowane zasoby MCU oraz bezpieczne ujawnianie ograniczonego dostępu do tych zasobów. Brokerzy i bramy monitora zabezpieczeń plutona mają dostęp do podsystemu zabezpieczeń Pluton oraz sprzętu zaufania i pełnią rolę strażnika dla środowiska NW. Uruchamia moduł ładujący rozruch, uwidacznia usługi środowiska uruchomieniowego NW oraz zarządza zaporami sprzętowymi i innymi składnikami krzemowymi, które nie są dostępne dla NW.
Usługa zabezpieczeń Azure Sphere
Usługa zabezpieczeń Azure Sphere składa się z trzech składników: uwierzytelniania bez hasła, aktualizacji i raportowania błędów.
Uwierzytelnianie bez hasła. Składnik uwierzytelniania zapewnia zdalne zaświadczanie i uwierzytelnianie bez hasła. Zdalna usługa zaświadczania łączy się za pośrednictwem protokołu challenge-response, który korzysta z mierzonej funkcji rozruchu w podsystemie Pluton. Sprawdza nie tylko, czy urządzenie zostało uruchomione przy użyciu poprawnego oprogramowania, ale z poprawną wersją tego oprogramowania.
Po pomyślnym zakończeniu zaświadczania usługa uwierzytelniania przejmuje. Usługa uwierzytelniania komunikuje się za pośrednictwem zabezpieczonego połączenia TLS i wystawia certyfikat, który urządzenie może przedstawić usłudze internetowej, takiej jak platforma Microsoft Azure lub chmura prywatna firmy. Usługa internetowa weryfikuje łańcuch certyfikatów, sprawdzając, czy urządzenie jest prawdziwe, czy jego oprogramowanie jest aktualne, a firma Microsoft jest jego źródłem. Urządzenie może następnie bezpiecznie łączyć się z usługą online.
Aktualizacja. Usługa aktualizacji dystrybuuje automatyczne aktualizacje dla systemu operacyjnego usługi Azure Sphere i aplikacji. Usługa aktualizacji zapewnia ciągłą operację i umożliwia zdalną obsługę i aktualizowanie oprogramowania aplikacji.
Raportowanie błędów. Usługa raportowania błędów udostępnia proste raportowanie awarii dla wdrożonego oprogramowania. Aby uzyskać bogatsze dane, użyj funkcji raportowania i analizy, które są dołączone do subskrypcji platformy Microsoft Azure.
Wszystkie dane przechowywane w usłudze zabezpieczeń Azure Sphere są domyślnie szyfrowane w spoczynku. Usługa zabezpieczeń przechowuje dane w usługach Azure Storage, Azure Cosmos DB i Azure Key Vault przy użyciu szyfrowania danych magazynowanych dla każdej takiej usługi.