디바이스 ID 및 보안
Important
Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.
여러 디바이스를 한 번에 배포하고 관리할 수 있습니다. 디바이스 관리는 필요할 때 각 디바이스를 개별적으로 식별하고 액세스하는 기능을 기반으로 합니다. 이 작업을 수행할 수 있도록 각 Azure Sphere 디바이스에는 복구 작업을 포함하여 디바이스에 대한 업데이트를 통해 지속되는 고유한 내부 디바이스 ID가 제공됩니다.
그러나 디지털 시스템에서는 디바이스의 ID를 쉽게 스푸핑, 위조 또는 오용할 수 있습니다. 따라서 ID를 확인하고 유효성을 검사할 수 있는 디바이스만 매우 중요한 데이터에 액세스하고 서비스에 연결하도록 허용해야 합니다.
Azure Sphere는 디바이스가 자체(인증)를 식별하고 디바이스의 ID(증명)를 확인하는 프로세스를 제공합니다. Azure Sphere Security Service에서 사용하는 인증 및 증명 프로세스는 미리 알려진 키, 보안 통신 및 특수 하드웨어를 사용하여 디바이스의 ID를 확인합니다. 디바이스 인증 및 증명에 성공하면 인증서가 디바이스에 발급됩니다. 유효한 인증서는 다음을 나타냅니다.
- 디바이스의 ID가 확인되었습니다.
- 디바이스를 신뢰할 수 있습니다.
Azure Sphere를 사용하면 디바이스 인증서가 먼저 테넌트 수준 인증서에 연결되고(조직에서 자체 테넌트에서 디바이스만 쉽게 신뢰할 수 있도록 함) Microsoft 인증서에 연결됩니다. 이 인증서는 Microsoft가 이 하드웨어가 보안 Microsoft OS를 실행하는 인증된 Azure Sphere 칩의 확인된 인스턴스임을 확인했음을 반영합니다.
다음 개념은 가장 안전하고 효과적인 방법으로 디바이스 ID를 사용하는 데 도움이 될 수 있습니다.
일시적 신뢰
시스템에 대한 신뢰는 손실될 수 있으며 다시 얻을 수 있습니다. IoT 시스템에서 제로 트러스트 아키텍처를 구현하는 원칙은 명시적으로 확인하는 것입니다. 즉, 디바이스와 상호 작용할 때마다 디바이스의 신뢰성을 명시적으로 결정하고 데이터 트랜잭션이 신뢰할 수 있음을 증명합니다. Azure Sphere 디바이스는 Azure Sphere 클라우드 보안 서비스를 사용하여 24시간마다 인증 및 증명 프로세스를 자동으로 수행합니다. 디바이스의 ID가 성공적으로 확인되었다는 표시는 Microsoft Azure Sphere Cloud Security Service에 뿌리를 둔 암호화 서명된 인증서가 있다는 것입니다.ID = 식별자 + 증명
식별자를 복사하고 복제할 수 있습니다. 따라서 디바이스를 식별자로 간단하게 알 수 없습니다. 디바이스의 ID(또는 사용자의 ID)는 특정 컨텍스트 내에서 해당 식별자가 유효한 식별자와 증명의 조합으로 간주되어야 합니다. 디바이스에 식별자를 할당하고 증명 프로세스와 독립적으로 사용해서는 안 됩니다. 가능한 경우 시스템 내의 모든 상호 작용 계층에서 증명 증거와 식별자를 결합합니다.식별자 + 트러스트 인증서
식별자는 참조로 간주되어야 합니다. 단독으로 참조하는 개체의 신뢰성에 대해 아무 것도 나타내지 않아야 합니다. 예를 들어 식별자를 사용하여 MQTT 메시지를 구독하고, 식별자를 사용하여 포털 내에서 신뢰할 수 있는 데이터를 그룹화하고, 식별자를 사용하여 시스템에서 트래픽 및 데이터를 라우팅합니다. 그러나 식별자를 신뢰하는 대신 신뢰와 관련하여 암호화 서명되고 연결된 인증서를 신뢰합니다. 인증서는 시스템 구성 요소 간의 암호 없는 데이터 흐름에 특히 도움이 되며 특정 컨텍스트 내에서 신뢰할 수 있는 것으로 테스트되고 입증된 식별의 증거입니다.
Azure IoT Hub를 사용하는 경우 문서화된 권장 사항에 따라 구성된 경우 이러한 개념은 이미 통합되어 보안 및 복원력 있는 시스템의 배포를 간소화합니다.
직접 제어하는 비 Azure 엔드포인트 또는 서비스에 연결할 때도 이러한 개념을 적용해야 합니다. 예를 들어 MQTT를 사용하는 경우 디바이스는 게시하는 MQTT 토픽의 일부로 자체 ID를 포함할 수 있습니다. 그러나 디바이스에서 토픽 업데이트를 수락하기 전에 MQTT 서버는 디바이스에서 제공하는 인증서가 이 특정 항목에 게시하도록 인증하는지 확인해야 합니다.
Azure Sphere 디바이스 인증서 및 디바이스 ID 액세스
애플리케이션에서 디바이스 인증서에 액세스하려면 DeviceAuth_GetCertificatePath 함수를 사용합니다.
디바이스의 고유한 디바이스 ID에 액세스하려면 wolfSSL_X509_get_subject_name 함수를 사용하여 DeviceAuth_GetCertificatePath() 함수에서 제공하는 인증서에서 주체를 구문 분석합니다.
코드 조각 Get Azure Sphere Device ID 는 상위 수준 애플리케이션에서 Azure Sphere 디바이스 ID를 가져오는 방법을 보여 줍니다. 디바이스 ID를 128자의 문자 버퍼로 반환합니다. 이 코드 조각은 wolfSSL을 명령하여 인증서로 세션을 열고, 컨텍스트 및 인증서를 끌어오고, Azure Sphere 디바이스의 디바이스 ID인 인증서의 주체 ID를 구문 분석한 다음 포인터로 char
반환합니다.