Udostępnij za pośrednictwem


Tożsamość i zabezpieczenia urządzenia

Możesz wdrażać wiele urządzeń i zarządzać nimi jednocześnie. Zarządzanie urządzeniami zależy od możliwości indywidualnego identyfikowania każdego urządzenia i uzyskiwania do nich dostępu, gdy jest to wymagane. Aby to umożliwić, każdemu urządzeniu Azure Sphere jest podawany unikatowy wewnętrzny identyfikator urządzenia, który będzie trwał przez wszelkie aktualizacje urządzenia, w tym operacje odzyskiwania.

Jednak w systemach cyfrowych identyfikator urządzenia można łatwo sfałszować, sfałszować lub nadużywać. W związku z tym należy zezwolić tylko na urządzenia, których tożsamości można zweryfikować i zweryfikować, aby uzyskiwać dostęp do twoich bardzo cennych danych i łączyć się z usługami.

Usługa Azure Sphere udostępnia proces umożliwiający urządzeniu identyfikowanie siebie (uwierzytelnianie) oraz potwierdzanie tożsamości urządzenia (zaświadczania). Proces uwierzytelniania i zaświadczania stosowany przez usługę zabezpieczeń Azure Sphere używa znanych wcześniej kluczy, bezpiecznej komunikacji i specjalistycznego sprzętu do potwierdzania tożsamości urządzenia. Jeśli uwierzytelnianie urządzenia i zaświadczenie się powiedzie, na urządzeniu zostanie wystawiony certyfikat. Prawidłowy certyfikat oznacza, że:

  • Tożsamość urządzenia została zweryfikowana.
  • Urządzenie można zaufać.

W usłudze Azure Sphere certyfikaty urządzeń są najpierw przykute do certyfikatu na poziomie wykazu (co ułatwia organizacji ufanie tylko urządzeniom z jej własnych katalogów), a następnie do certyfikatu firmy Microsoft, co odzwierciedla, że firma Microsoft zweryfikowała, że ten sprzęt jest zweryfikowanym wystąpieniem certyfikowanego mikroukładu Azure Sphere, który korzysta z zabezpieczonego systemu operacyjnego Microsoft.

Poniższe pojęcia mogą ułatwić korzystanie z tożsamości urządzenia w najbezpieczniejszy i najefektywniejszy sposób:

  • Zaufanie jest przejściowe
    Zaufanie do systemu może zostać utracone i można go odzyskać. Zasadą implementacji architektury Zero Trust w systemie IoT jest jawna weryfikacja. Oznacza to, że za każdym razem, gdy użytkownik ma interakcję z urządzeniem, jawnie określa autentyczność urządzenia i udowadnia, że transakcja danych jest godna zaufania. Urządzenia Azure Sphere automatycznie przeprowadzają proces uwierzytelniania i zaświadczania co 24 godziny za pomocą usług zabezpieczeń chmury Azure Sphere. Wskazaniem, że tożsamość urządzenia została pomyślnie zweryfikowana, jest obecność certyfikatu podpisanego kryptograficznie, który jest zakorzeniony w usłudze Microsoft Azure Sphere Cloud Security Service.

  • Tożsamość = identyfikatory + zaświadczanie
    Identyfikatory można kopiować i duplikować. W związku z tym urządzenie nie może być po prostu znane przez jego identyfikator. Tożsamość urządzenia (lub tożsamość użytkownika) należy uznać za połączenie zarówno identyfikatora, jak i zaświadczania, że taki identyfikator jest prawidłowy w określonym kontekście. Nie należy przypisywać identyfikatorów do urządzeń i używać ich niezależnie od procesu zaświadczania. Jeśli to możliwe, połącz identyfikatory z dowodami zaświadczania na każdej warstwie interakcji w systemie użytkownika.

  • Identyfikatory + certyfikaty zaufania
    Identyfikator należy uznać za nie więcej niż odwołanie. Nie należy zakładać, że nic nie wskazuje na wiarygodność obiektu, do którego się odwołuje. Na przykład użyj identyfikatora, aby subskrybować wiadomości MQTT, użyj identyfikatora do grupowania zaufanych danych w portalu i używaj identyfikatorów do kierowania ruchu i danych w systemie. Jednak jeśli chodzi o zaufanie, zamiast ufać identyfikatorowi, ufaj certyfikatowi podpisanemu kryptograficznie i przy łańcuchu. Certyfikaty są szczególnie korzystne dla przepływu danych bez hasła między składnikami systemu i są dowodami identyfikacji, które zostały przetestowane i okazały się godne zaufania w określonym kontekście.

Podczas korzystania z Azure IoT Hub, jeśli skonfigurowano je zgodnie z udokumentowanymi zaleceniami, koncepcje te są już włączone, co upraszcza wdrożenie zabezpieczonego i odpornego systemu.

Te pojęcia należy również stosować podczas nawiązywania połączenia z punktami końcowymi lub usługami innymi niż Azure, które są bezpośrednio sterowane. Jeśli na przykład korzystasz z usługi MQTT, urządzenie może zawierać własną tożsamość w ramach tematu MQTT, na który publikuje. Jednak przed zaakceptowaniem aktualizacji tematu z urządzenia serwer MQTT musi sprawdzić, czy certyfikat dostarczany przez urządzenie uwierzytelnia go w celu opublikowania w tym konkretnym temacie.

Certyfikat urządzenia Usługi Azure Sphere i dostęp do identyfikatora urządzenia

  • Aby uzyskać dostęp do certyfikatu urządzenia w aplikacji, użyj funkcji DeviceAuth_GetCertificatePath .

  • Aby uzyskać dostęp do unikatowego identyfikatora urządzenia, należy przeanalizować temat z certyfikatu udostępnionego przez funkcję DeviceAuth_GetCertificatePath() przy użyciu funkcji wolfSSL_X509_get_subject_name .

Wycinek kodu Pobierz identyfikator urządzenia Azure Sphere pokazuje, jak uzyskać identyfikator urządzenia Azure Sphere w aplikacji wysokiego poziomu. Zwraca identyfikator urządzenia jako bufor znakowy o wartości 128 znaków. Ten wycinek poleca narzędzie wolfSSL, aby otworzyć sesję z certyfikatem, wyciągnąć kontekst i certyfikat, przeanalizować identyfikator tematu certyfikatu, który jest identyfikatorem urządzenia dla urządzeń Azure Sphere, i zwrócić go jako char wskaźnik.