Megosztás a következőn keresztül:


Tanúsítvány életciklusa és megújítása

Az ügyféltanúsítvány-kulcspárok és a hitelesítésszolgáltatói tanúsítványok rendszeresen lejárnak. A hálózati infrastruktúrának és az eszközöknek képesnek kell lenniük kezelni a tanúsítvány lejáratát, és új tanúsítványt kell bemutatniuk a kapcsolat elvesztése nélkül. A RADIUS-kiszolgálóhitelesítésben használt legfelső szintű hitelesítésszolgáltatói tanúsítványok és az eszközhitelesítésben használt ügyféltanúsítványok frissítéséhez különböző módszerek szükségesek.

Figyelem

Mivel a tanúsítványazonosítók rendszerszintűek, az az sphere-parancsok vagy új tanúsítványt hozzáadó függvényhívások felülírhatnak egy korábbi parancs- vagy függvényhívás által hozzáadott tanúsítványt, ami hálózati kapcsolati hibákat okozhat. Határozottan javasoljuk, hogy dolgozzon ki egyértelmű tanúsítványfrissítési eljárásokat, és körültekintően válassza ki a tanúsítványazonosítókat.

További információ arról, hogy az Azure Sphere hogyan használja a tanúsítványazonosítókat: Tanúsítványazonosítók .

Legfelső szintű hitelesítésszolgáltatói tanúsítvány frissítése

A hitelesítésszolgáltatói tanúsítvány a RADIUS-kiszolgálón található hitelesítési tanúsítvány legfelső szintű hitelesítésszolgáltatója. Ha a hitelesítésszolgáltató tanúsítványa lejár, vagy a kiszolgáló PKI-je megváltozik – például ha a kiszolgáló új legfelső szintű hitelesítésszolgáltatót szerez be egy másik hitelesítésszolgáltatótól –, az Azure Sphere-eszközök már nem tudják hitelesíteni a RADIUS-hitelesítési kiszolgálót. Az eszközöknek azonban továbbra is működnie kell.

Egy tipikus vezeték nélküli hálózaton nem lehet "késszéles" átállást végezni; vagyis nem frissítheti az összes Azure Sphere-eszközt pontosan akkor, amikor a legfelső szintű hitelesítésszolgáltató érvénytelenné válik. Előfordulhat, hogy az eszközök a kritikus pillanatban offline állapotba kerülnek, vagy az időmérés pontossága a telepítésenként eltérő lehet. A magas szintű alkalmazásnak képesnek kell lennie az új főtanúsítvány beszerzésére, mielőtt az aktuális tanúsítvány lejár vagy megváltozik, hogy az új tanúsítvány szükség esetén használatra kész legyen.

Az ajánlott módszer egy olyan második hálózat létrehozása és engedélyezése, amely a meglévő hálózattal azonos konfigurációval rendelkezik, de az új legfelső szintű hitelesítésszolgáltatói tanúsítványt használja. Ha a meglévő legfelső szintű hitelesítésszolgáltatói tanúsítvány meghiúsul az eredeti hálózaton, az operációs rendszer automatikusan megpróbál csatlakozni a második hálózathoz. Az alkalmazás ezután lecserélheti az eredeti hálózaton található tanúsítványt az új legfelső szintű hitelesítésszolgáltatóra, és törölheti a második hálózatot. Az eszköz ezután az eredeti hálózattal tud csatlakozni, amely most már rendelkezik az új legfelső szintű hitelesítésszolgáltatóval. Az alábbi ábra ezt a megközelítést foglalja össze.

Alkalmazásfolyamat a legfelső szintű hitelesítésszolgáltatói tanúsítvány frissítéséhez

Egy magas szintű alkalmazásnak az alábbi lépéseket kell követnie a legfelső szintű hitelesítésszolgáltatói tanúsítvány frissítésének zökkenőmentes kezeléséhez:

  1. A normál működés részeként az alkalmazás a Network1 típusú WifiConfig_Security_Wpa2_EAP_TLShálózatot konfigurálja. Ez a hálózat az eszköz ügyféltanúsítványához és a RADIUS-kiszolgáló eredeti legfelső szintű hitelesítésszolgáltatójához, a CA1 gyökértanúsítványhoz van társítva.

  2. Körülbelül 90 nappal a RootCA lejárata előtt az eszköz egy felhőből az eszközre irányuló értesítést kap arról, hogy hamarosan új legfelső szintű hitelesítésszolgáltatói tanúsítványra lesz szükség a RADIUS-kiszolgálóhoz. Az értesítést egy hálózati rendszergazda vagy más operátor aktiválhatja; A lehetséges értesítési mechanizmusok közé tartozik egy Azure IoT Hub vagy az Azure IoT Central felhőből eszközre irányuló üzenete.

    A hálózati rendszergazda felelős a RADIUS-kiszolgálón található tanúsítvány frissítéséért és annak biztosításáért, hogy az Azure Sphere-eszközök megfelelően frissülnek.

  3. Az alkalmazás új legfelső szintű hitelesítésszolgáltatót szerez be, és meghívja CertStore_InstallRootCACertificate , hogy mentse legfelső szintű HITELESÍTÉSSZOLGÁLTATÓ2 néven.

  4. Az alkalmazás létrehoz egy új hálózatot (Network2), amely meghívja WifiConfig_AddDuplicateNetwork , hogy duplikálja a Network1 konfigurációt. Ezután összekapcsolja a legfelső szintű CA2-t a Network 2-vel, és engedélyezi a Network2-t. Ha a Network2 engedélyezve van az eszközön, és képes csatlakozni az internethez, akkor az eszköz azt fogja használni, ha a Network1 nem érhető el.

  5. Az alkalmazás naponta lekérdezi a WifiConfig_GetConnectedNetworkId hívásával, hogy megállapítsa, melyik hálózathoz csatlakozik az eszköz.

    Ha a csatlakoztatott hálózat napi ellenőrzése sikertelen, a hibát a kiszolgáló vagy az eszközoldal tanúsítványhibája vagy más probléma okozhatja. További segítségért lásd: Hálózati problémák elhárítása .

    Ha az eszköz csatlakozik a Network1 hálózathoz, az azt jelenti, hogy a tanúsítvány még nem járt le, és minden megfelelően működik. Az alkalmazás addig ismétli ezt a lépést, amíg az eszköz nem csatlakozik a Network2 hálózathoz.

    Ha az eszköz csatlakozik a Network2 hálózathoz, az azt jelenti, hogy a régi tanúsítvány lejárt, a frissített PKI be van állítva a RADIUS-kiszolgálón, és az eszköz hitelesíteni tudja a kiszolgálót a legfelső szintű hitelesítésszolgáltatóval.

  6. Ha az eszköz megfelelően működik a Network2 hálózattal, az alkalmazás elvégzi a hálózati konfiguráció módosításait:

    • Átnevezi a legfelső szintű CA2-t a Legfelső szintű HITELESÍTÉSSZOLGÁLTATÓ1 névre a CertStore_MoveCertificate meghívásával. Ez a függvény felülírja a lejárt legfelső szintű CA1-t a legfelső szintű HITELESÍTÉS2 tartalmával.
    • Újra betölti a Network1 konfigurációt a WifiConfig_ReloadConfig meghívásával. A Network1 konfiguráció most már megfelel az aktuális hálózatnak.
    • Törli a Network2 konfigurációt a WifiConfig_ForgetNetworkById meghívásával.

Ügyféltanúsítvány frissítése

Az ügyféltanúsítvány az Azure Sphere-eszköz hitelesítéséhez használt nyilvános és titkos kulcspárból áll. A legfelső szintű hitelesítésszolgáltatói tanúsítványhoz hasonlóan az ügyféltanúsítvány is időről időre lejár, és az eszköznek képesnek kell lennie új tanúsítvány bemutatására. A magas szintű alkalmazás felelős az új tanúsítvány beszerzéséért a meglévő tanúsítvány lejárata előtt. Az alkalmazások a CertStore_GetCertificateNotAfter meghívásával lekérhetik a tanúsítvány lejárati dátumát és időpontját.

Az alábbi ábra összefoglalja ezt az eljárást. Ez a minta lehetővé teszi, hogy a tanúsítványfrissítési kód állandó tanúsítványazonosítókat (például ClientCert1 és ClientCert2) használjon az egyes új tanúsítványok egyedi nevének létrehozása helyett. Emellett nem igényel hálózati felcserélést vagy ügyféltanúsítvány-tisztítást.

Alkalmazásfolyamat az ügyféltanúsíték frissítéséhez

A magas szintű alkalmazásoknak az alábbi lépéseket kell követniük az ügyféltanúsítvány frissítésének zökkenőmentes kezeléséhez:

  1. A normál működés részeként az alkalmazás a Network1 típusú WifiConfig_Security_Wpa2_EAP_TLShálózatot konfigurálja. Ez a hálózat az eszköz ügyféltanúsítványához (ClientCert1) és a RADIUS-kiszolgáló legfelső szintű hitelesítésszolgáltatójához kapcsolódik. Mielőtt az alkalmazás elindítja a frissítési eljárást, WifiConfig_GetNetworkIdByConfigName ésWifiConfig_GetConnectedNetworkId hívásával ellenőrzi, hogy az eszköz csatlakozik-e a Network1 hálózathoz. Ha a hálózati azonosítók megegyeznek, az alkalmazás biztos lehet abban, hogy a kívánt hálózathoz csatlakozik.

  2. Az alkalmazás rendszeres időközönként meghívja CertStore_GetCertificateNotAfter , hogy megállapítsa, mikor jár le az ügyféltanúsítvány. Másik lehetőségként az alkalmazás tárolhatja a lejárati dátumot egy módosítható tárolóban; azonban a lejárati dátumot naponta és minden újraindítás után ellenőriznie kell.

    Az alkalmazás összehasonlítja a lejárati dátumot és az időt az aktuális dátummal és idővel. Ha a tanúsítvány egy előre meghatározott küszöbértéken belül lejár, az alkalmazás új tanúsítványt kap. A küszöbérték hossza a választott érték. Ajánlott eljárásként javasoljuk, hogy legalább négy héttel a lejárat előtt szerezzen be egy új tanúsítványt, ha az eszköz hosszú ideig offline állapotban van, vagy ismétlődő hálózati vagy kiszolgálói problémákba ütközik. Minél korábban ellenőrzi, annál több időt kell megoldania a problémákat.

  3. Az alkalmazás új tanúsítványt kap a megfelelő tanúsítványkibocsátótól. A tanúsítványkibocsátó kiválasztása a helyi hálózati rendszergazda felelőssége.

  4. Az alkalmazás a CertStore_InstallClientCertificate meghívásával clientCert2 néven menti az új tanúsítványt, majd WifiConfig_SetClientCertStoreIdentifier meghívásával hozzáadja azt a Network1 Wi-Fi konfigurációhoz.

  5. Az alkalmazás újra betölti a Wi-Fi konfigurációját a WifiConfig_ReloadConfig meghívásával. Ez a lépés elérhetővé teszi a ClientCert2-t az eszköz számára hálózati kapcsolatokhoz.

  6. Ellenőrizze, hogy a hálózati kapcsolat sikeres volt-e.

    • A sikeres kapcsolat azt jelenti, hogy a ClientCert2 érvényes.

      • Nevezze át a ClientCert2 nevet ClientCert1 névre az CertStore_MoveCertificate meghívásával.

      • Tiltsa le a Network1-et úgy , hogy meghívja WifiConfig_SetNetworkEnabled a hálózat Engedélyezve állapotának false (hamis) értékre állításával, majd engedélyezze újra a Network1 szolgáltatást a WifiConfig_SetNetworkEnabled meghívásával, hogy az Engedélyezve állapotot állítsa értékre true. A konfiguráció letiltása és újbóli engedélyezése elérhetővé teszi az átnevezett tanúsítvány tartalmát az alkalmazás számára.

    • A kapcsolódási hiba azt jelenti, hogy a ClientCert2 még nem érvényes, vagy más hiba történt.

      • Ha a tanúsítvány még nem érvényes, folytassa a 7. lépéssel a hálózati konfiguráció eredeti állapotának visszaállításához.
      • Ha más hiba történt, segítségért tekintse meg a Hálózati problémák elhárítása című témakört, és próbálkozzon újra a kapcsolattal.
  7. Függetlenül attól, hogy a hálózati kapcsolat sikeres volt-e, töltse be újra a Wi-Fi konfigurációját a WifiConfig_ReloadConfig meghívásával. Ha a kapcsolat sikeres volt, az újra betöltött konfiguráció az új ClientCert1-et fogja használni, amelyet a ClientCert2 váltott fel. Ha a kapcsolat nem sikerült, az újra betöltött konfiguráció a ClientCert1-et fogja használni.