Azure Sphere란?

Azure Sphere는 인터넷에 연결된 디바이스에 대한 기본 제공 통신 및 보안 기능을 갖춘 보안 수준이 높은 애플리케이션 플랫폼입니다. MCU(보안, 연결된 크로스오버 마이크로 컨트롤러 단위), 사용자 지정 고급 Linux 기반 운영 체제(OS) 및 지속적이고 재생 가능한 보안을 제공하는 클라우드 기반 보안 서비스로 구성됩니다.

Azure Sphere MCU는 고급 운영 체제를 실행하는 기능과 실시간 처리 기능을 통합합니다. 운영 체제 및 애플리케이션 플랫폼과 함께 Azure Sphere MCU를 사용하면 원격으로 업데이트, 제어, 모니터링 및 유지 관리할 수 있는 보안 인터넷 연결 디바이스를 만들 수 있습니다. 기존 MCU와 함께 또는 대신 Azure Sphere MCU를 포함하는 연결된 디바이스는 향상된 보안, 생산성 및 기회를 제공합니다. 예를 들어:

  • 보안 애플리케이션 환경, 인증된 연결 및 주변 장치 사용 옵트인은 스푸핑, 악성 소프트웨어 또는 서비스 거부 공격으로 인한 보안 위험을 최소화합니다.
  • 소프트웨어 업데이트를 클라우드에서 연결된 디바이스로 자동으로 배포하여 문제를 해결하거나, 새로운 기능을 제공하거나, 새로운 공격 방법에 대응하여 지원 담당자의 생산성을 향상시킬 수 있습니다.
  • 보안 연결을 통해 클라우드에 제품 사용 현황 데이터를 보고하여 문제를 진단하고 새 제품을 설계할 수 있으므로 제품 서비스, 긍정적인 고객 상호 작용 및 향후 개발에 대한 기회가 늘어날 수 있습니다.

Azure Sphere Security Service는 Azure Sphere의 필수적인 측면입니다. Azure Sphere MCU는 이 서비스를 사용하여 클라우드 및 웹에 안전하고 안전하게 연결합니다. 이 서비스는 승인된 정품 소프트웨어의 권한 있는 버전으로만 디바이스가 부팅되도록 합니다. 또한 Microsoft가 보안 문제를 완화하기 위해 필드에 배포된 디바이스에 OS 업데이트를 자동으로 다운로드하고 설치할 수 있는 보안 채널을 제공합니다. 제조업체나 최종 사용자 개입이 필요하지 않으므로 일반적인 보안 허점이 닫힙니다.

참고

Azure Sphere는 PAPI 기반 인터페이스를 Azure Sphere(레거시)로, 통합 공개 미리 보기 Azure Resource Manager 인터페이스를 Azure Sphere(통합)라고 합니다.

공개 미리 보기 중에는 개발 및 테스트 목적으로만 Azure Sphere(통합)를 사용하는 것이 좋습니다. 프로덕션 사용 사례에서는 미리 보기 제품을 사용하지 않는 것이 가장 좋습니다. 따라서 프로덕션 사용 사례의 경우 현재 Azure Sphere(레거시)라고 하는 기존 Azure Sphere Security Service 인터페이스를 계속 사용하는 것이 좋습니다. 이 인터페이스는 계속 완전히 지원되고 일반 공급됩니다.

Azure Sphere 시나리오

Azure Sphere가 실제 설정에서 작동하는 방식을 이해하려면 이 시나리오를 고려하세요.

Contoso, Ltd.는 식기 세척기에 Azure Sphere MCU를 포함하는 백색 가전 제품 제조업체입니다. DW100 식기 세척기는 MCU를 여러 센서와 Azure Sphere MCU에서 실행되는 온보딩된 고급 애플리케이션과 결합합니다. 애플리케이션은 Azure Sphere Security Service 및 Contoso의 클라우드 서비스와 통신합니다. 다음 다이어그램에서는 이 시나리오를 보여 줍니다.

IoT, Security Service 및 제조업체 클라우드 테넌트Contoso 네트워크 연결 식기 세척기에 연결

왼쪽 위에서 시작하여 시계 방향으로 이동:

  • Microsoft는 Azure Sphere Security Service를 통해 Azure Sphere OS에 대한 업데이트를 릴리스합니다.

  • Contoso 제품 엔지니어링은 Azure Sphere Security Service를 통해 DW100 애플리케이션에 대한 업데이트를 릴리스합니다.

  • Azure Sphere Security Service는 업데이트된 OS 및 Contoso DW100 애플리케이션 소프트웨어를 최종 사용자 위치의 식기 세척기에 안전하게 배포합니다.

  • Contoso 식기 세척기 지원은 Azure Sphere Security Service와 통신하여 각 최종 사용자 디바이스에서 실행되어야 하는 Azure Sphere 소프트웨어 및 DW100 애플리케이션 소프트웨어 버전을 확인하고 서비스에 보고된 오류 보고 데이터를 수집합니다. Contoso 식기 세척기 지원은 추가 정보를 위해 Contoso 클라우드 서비스와도 통신합니다.

  • Contoso 클라우드 서비스는 문제 해결, 데이터 분석 및 고객 상호 작용을 위한 애플리케이션을 지원합니다. Contoso의 클라우드 서비스는 Microsoft Azure, 다른 공급업체의 클라우드 서비스 또는 Contoso 자체 클라우드에서 호스트할 수 있습니다.

  • 최종 사용자 위치의 Contoso DW100 모델은 Azure Sphere Security Service에 대한 연결을 통해 업데이트된 OS 및 애플리케이션 소프트웨어를 다운로드합니다. Contoso의 클라우드 서비스 애플리케이션과 통신하여 추가 데이터를 보고할 수도 있습니다.

예를 들어 식기 세척기의 센서는 수온, 건조 온도 및 rinse 에이전트 수준을 모니터링하고 이 데이터를 Contoso의 클라우드 서비스에 업로드할 수 있습니다. 여기서 클라우드 서비스 애플리케이션은 잠재적인 문제를 분석합니다. 건조 온도가 비정상적으로 뜨겁거나 시원해 보이는 경우(실패한 부분을 나타낼 수 있음) Contoso는 원격으로 진단 실행하고 고객에게 수리가 필요하다고 알립니다. 식기 세척기가 보증을 받고 있는 경우 클라우드 서비스 애플리케이션은 고객의 로컬 수리점에 교체 부품이 있는지 확인하여 유지 관리 방문 및 재고 요구 사항을 줄일 수 있습니다. 마찬가지로, rinse 에이전트가 낮으면 식기 세척기가 고객에게 제조업체에서 직접 더 많은 rinse 에이전트를 구입하라는 신호를 보낼 수 있습니다.

모든 통신은 보안되고 인증된 연결을 통해 수행됩니다. Contoso 지원 및 엔지니어링 담당자는 Azure Sphere Security Service, Microsoft Azure 기능 또는 Contoso 관련 클라우드 서비스 애플리케이션을 사용하여 데이터를 시각화할 수 있습니다. Contoso는 식기 세척기 소유자가 서비스를 요청하거나 식기 세척기 리소스 사용량을 모니터링하거나 회사와 상호 작용할 수 있는 고객 지향 웹 및 모바일 애플리케이션을 제공할 수도 있습니다.

Contoso는 Azure Sphere 배포 도구를 사용하여 각 애플리케이션 소프트웨어 업데이트를 적절한 식기 세척기 모델로 대상으로 지정하고 Azure Sphere Security Service는 소프트웨어 업데이트를 올바른 디바이스에 배포합니다. 서명되고 확인된 소프트웨어 업데이트만 식기 세척기에 설치할 수 있습니다.

Azure Sphere 및 보안이 높은 디바이스의 7가지 속성

Azure Sphere 플랫폼의 주요 목표는 가격에 민감한 마이크로 컨트롤러 기반 디바이스가 안전하고 안정적으로 인터넷에 연결할 수 있도록 저렴한 비용으로 고가용성 보안을 제공하는 것입니다. 네트워크에 연결된 장난감, 어플라이언스 및 기타 소비자 디바이스가 일반화됨에 따라 보안이 가장 중요합니다. 디바이스 하드웨어 자체를 보호해야 할 뿐만 아니라 소프트웨어 및 클라우드 연결도 보호해야 합니다. 운영 환경의 어느 곳에서나 보안이 경과하면 전체 제품과 근처의 모든 제품 또는 사람이 위협할 수 있습니다.

인터넷 보안에 대한 Microsoft의 수십 년의 경험을 바탕으로 Azure Sphere 팀은 보안이 높은 디바이스의 7가지 속성을 확인했습니다. Azure Sphere 플랫폼은 다음 7가지 속성을 중심으로 설계되었습니다.

하드웨어 기반 신뢰 루트입니다. 하드웨어 기반 신뢰 루트는 디바이스와 해당 ID를 분리할 수 없도록 하여 디바이스 위조 또는 스푸핑을 방지합니다. 모든 Azure Sphere MCU는 Microsoft에서 설계한 Pluton 보안 하위 시스템 하드웨어에 의해 생성되고 보호되는 잊을 수 없는 암호화 키로 식별됩니다. 이렇게 하면 변조 방지 보안 하드웨어 루트가 팩터리에서 최종 사용자로 신뢰됩니다.

심층 방어. 심층 방어는 여러 계층의 보안을 제공하므로 각 위협에 대해 여러 완화를 제공합니다. Azure Sphere 플랫폼의 각 소프트웨어 계층은 위의 계층이 보호되어 있는지 확인합니다.

신뢰할 수 있는 작은 컴퓨팅 기반입니다. 대부분의 디바이스 소프트웨어는 신뢰할 수 있는 컴퓨팅 베이스 외부에 유지되므로 공격에 대한 노출 영역이 줄어듭니다. Microsoft에서 제공하는 보안 보안 모니터, Pluton 런타임 및 Pluton 하위 시스템만 신뢰할 수 있는 컴퓨팅 기반에서 실행됩니다.

동적 구획. 동적 구획은 단일 오류의 범위를 제한합니다. Azure Sphere MCU에는 한 구성 요소의 보안 위반이 다른 구성 요소로 전파되지 않도록 하드웨어 방화벽을 포함한 실리콘 카운터 측정값이 포함되어 있습니다. 제한된 "샌드박스" 런타임 환경은 애플리케이션이 보안 코드 또는 데이터를 손상시키는 것을 방지합니다.

암호 없는 인증. 용서할 수 없는 암호화 키로 유효성을 검사하는 서명된 인증서를 사용하면 암호보다 훨씬 강력한 인증을 제공합니다. Azure Sphere 플랫폼에는 모든 소프트웨어 요소에 서명해야 합니다. 디바이스-클라우드 및 클라우드-디바이스 통신에는 인증서를 사용하여 수행되는 추가 인증이 필요합니다.

오류 보고. 디바이스 소프트웨어 또는 하드웨어의 오류는 새로운 보안 공격에서 일반적입니다. 디바이스 오류가 발생하는 오류는 서비스 거부 공격을 구성합니다. 디바이스-클라우드 통신은 잠재적 오류에 대한 조기 경고를 제공합니다. Azure Sphere 디바이스는 운영 데이터 및 오류를 클라우드 기반 분석 시스템에 자동으로 보고할 수 있으며 업데이트 및 서비스를 원격으로 수행할 수 있습니다.

재생 가능한 보안. 디바이스 소프트웨어는 알려진 취약성 또는 보안 위반을 수정하도록 자동으로 업데이트 되므로 제품 제조업체 또는 최종 사용자의 개입이 필요하지 않습니다. Azure Sphere Security Service는 Azure Sphere OS 및 애플리케이션을 자동으로 업데이트합니다.

Azure Sphere 아키텍처

Azure Sphere 하드웨어, 소프트웨어 및 보안 서비스를 함께 사용하면 디바이스 유지 관리, 제어 및 보안에 대한 고유하고 통합된 접근 방식을 사용할 수 있습니다.

하드웨어 아키텍처는 연결된 디바이스에 대해 근본적으로 보안이 유지되는 컴퓨팅 기반을 제공하므로 제품에 집중할 수 있습니다.

Microsoft에서 작성한 보안 모니터 위에 보안 사용자 지정 OS 커널이 실행되는 소프트웨어 아키텍처도 마찬가지로 소프트웨어 노력을 부가 가치 IoT 및 디바이스별 기능에 집중할 수 있습니다.

Azure Sphere Security Service는 보안 클라우드-디바이스 및 디바이스-클라우드 채널에 대한 인증, 소프트웨어 업데이트 및 오류 보고를 지원합니다. 그 결과 제품이 최신 Azure Sphere OS를 실행하도록 보장하는 보안 통신 인프라가 생성됩니다. 클라우드 아키텍처의 아키텍처 다이어그램 및 예제는 Azure 아키텍처 찾아보기를 참조하세요.

하드웨어 아키텍처

Azure Sphere 크로스오버 MCU는 다음 그림과 같이 단일 다이의 여러 코어로 구성됩니다.

하드웨어 아키텍처Azure Sphere MCU 하드웨어 아키텍처

각 코어와 연결된 하위 시스템은 서로 다른 신뢰 도메인에 있습니다. 신뢰의 루트는 Pluton 보안 하위 시스템에 상주합니다. 아키텍처의 각 계층은 위의 레이어가 손상될 수 있다고 가정합니다. 각 계층 내에서 리소스 격리 및 동적 구획은 추가 보안을 제공합니다.

Microsoft Pluton 보안 하위 시스템

Pluton 보안 하위 시스템은 Azure Sphere에 대한 하드웨어 기반(실리콘) 보안 신뢰 루트입니다. 여기에는 보안 프로세서 코어, 암호화 엔진, 하드웨어 난수 생성기, 퍼블릭/프라이빗 키 생성기, 비대칭 및 대칭 암호화, 보안 부팅을 위한 ECDSA(타원 곡선 디지털 서명 알고리즘) 확인 지원, 클라우드 서비스와의 원격 증명을 지원하기 위한 실리콘의 측정 부팅, 엔트로피 검색 단위를 포함한 다양한 변조 카운터 측정이 포함됩니다.

보안 부팅 프로세스의 일부로 Pluton 하위 시스템은 다양한 소프트웨어 구성 요소를 부팅합니다. 또한 런타임 서비스를 제공하고, 디바이스의 다른 구성 요소에서 요청을 처리하며, 디바이스의 다른 부분에 대한 중요한 구성 요소를 관리합니다.

상위 수준 애플리케이션 코어

상위 수준 애플리케이션 코어에는 전체 MMU(메모리 관리 단위)가 있는 ARM Cortex-A 하위 시스템이 있습니다. 신뢰 영역 기능을 사용하여 하드웨어 기반 프로세스 구획화를 가능하게 하고 운영 체제, 상위 수준 애플리케이션 및 서비스 실행을 담당합니다. 사용자 모드와 감독자 모드 모두에서 코드를 실행하는 NW(Normal World)와 Microsoft에서 제공하는 보안 모니터만 실행하는 SW(Secure World)의 두 가지 운영 환경을 지원합니다. 상위 수준 애플리케이션은 NW 사용자 모드에서 실행됩니다.

실시간 코어

실시간 코어에는 실시간 지원 애플리케이션을 운영 체제 미설치 코드 또는 RTOS(실시간 운영 체제)로 실행할 수 있는 ARM Cortex-M I/O 하위 시스템이 있습니다. 이러한 애플리케이션은 주변 장치를 매핑하고 상위 수준 애플리케이션과 통신할 수 있지만 인터넷에 직접 액세스할 수는 없습니다.

연결 및 통신

첫 번째 Azure Sphere MCU는 2.4GHz와 5GHz 모두에서 작동하는 802.11 b/g/n Wi-Fi 라디오를 제공합니다. 고급 애플리케이션은 무선 통신 하위 시스템을 구성, 사용 및 쿼리할 수 있지만 직접 프로그래밍할 수는 없습니다. Wi-Fi를 사용하거나 사용하는 대신, 제대로 갖추어진 Azure Sphere 디바이스는 이더넷 네트워크에서 통신할 수 있습니다.

멀티플렉싱된 I/O

Azure Sphere 플랫폼은 다양한 I/O 기능을 지원하므로 시장 및 제품 요구 사항에 맞게 포함된 디바이스를 구성할 수 있습니다. I/O 주변 장치는 상위 수준 애플리케이션 코어 또는 실시간 코어에 매핑할 수 있습니다.

Microsoft 방화벽

하드웨어 방화벽은 I/O 주변 장치가 매핑된 코어에서만 액세스할 수 있도록 "샌드박스" 보호를 제공하는 실리콘 대책입니다. 방화벽은 구획화를 적용하므로 상위 수준 애플리케이션 코어에서 지역화된 보안 위협이 실시간 코어의 주변 장치 액세스에 영향을 주지 않도록 방지합니다.

통합 RAM 및 플래시

Azure Sphere MCU에는 최소 4MB의 통합 RAM과 16MB의 통합 플래시 메모리가 포함됩니다.

소프트웨어 아키텍처 및 OS

고급 애플리케이션 플랫폼은 인터넷과 실시간 코어에서 실행되는 실시간 지원 애플리케이션과 통신할 수 있는 디바이스별 상위 수준 애플리케이션과 함께 Azure Sphere OS를 실행합니다. 다음 그림에서는 이 플랫폼의 요소를 보여줍니다.

Microsoft에서 제공하는 요소는 회색으로 표시됩니다.

애플리케이션 플랫폼상위 수준 애플리케이션 플랫폼

Microsoft는 디바이스별 애플리케이션 이외의 모든 소프트웨어를 제공하고 유지 관리합니다. 상위 수준 애플리케이션을 포함하여 디바이스에서 실행되는 모든 소프트웨어는 Microsoft CA(인증 기관)에 의해 서명됩니다. 애플리케이션 업데이트는 신뢰할 수 있는 Microsoft 파이프라인을 통해 전달되며, 각 업데이트와 Azure Sphere 디바이스 하드웨어의 호환성은 설치 전에 확인됩니다.

애플리케이션 런타임

Microsoft에서 제공하는 애플리케이션 런타임은 POSIX 표준의 하위 집합을 기반으로 합니다. NW 사용자 모드에서 실행되는 라이브러리 및 런타임 서비스로 구성됩니다. 이 환경은 사용자가 만든 상위 수준 애플리케이션을 지원합니다.

애플리케이션 라이브러리는 고급 애플리케이션에 필요하지만 다른 제약 조건 중에서 직접 제네릭 파일 I/O 또는 셸 액세스를 지원하지 않는 네트워킹, 스토리지 및 통신 기능을 지원합니다. 이러한 제한은 플랫폼의 보안을 유지하고 Microsoft가 보안 및 유지 관리 업데이트를 제공할 수 있도록 합니다. 또한 제한된 라이브러리는 장기적인 안정적인 API 표면을 제공하므로 애플리케이션에 대한 이진 호환성을 유지하면서 보안을 강화하기 위해 시스템 소프트웨어를 업데이트할 수 있습니다.

OS 서비스

OS 서비스는 상위 수준 애플리케이션 컨테이너를 호스트하며 Azure Sphere Security Service와의 통신을 담당합니다. 모든 아웃바운드 트래픽에 대한 네트워크 인증 및 네트워크 방화벽을 관리합니다. 개발 중에 OS 서비스는 연결된 PC 및 디버그 중인 애플리케이션과도 통신합니다.

사용자 지정 Linux 커널

사용자 지정 Linux 기반 커널은 부팅 로더와 함께 감독자 모드에서 실행됩니다. 커널은 Azure Sphere MCU의 플래시 및 RAM 공간을 신중하게 조정합니다. 별도의 가상 주소 공간에서 사용자 공간 프로세스를 선점할 수 있는 표면을 제공합니다. 드라이버 모델은 OS 서비스 및 애플리케이션에 MCU 주변 장치를 노출합니다. Azure Sphere 드라이버에는 Wi-Fi(TCP/IP 네트워킹 스택 포함), UART, SPI, I2C 및 GPIO 등이 포함됩니다.

보안 모니터

Microsoft에서 제공하는 보안 모니터는 SW에서 실행됩니다. 메모리, 플래시 및 기타 공유 MCU 리소스와 같은 보안에 민감한 하드웨어를 보호하고 이러한 리소스에 대한 제한된 액세스를 안전하게 노출해야 합니다. 보안 모니터 브로커 및 게이트는 Pluton 보안 하위 시스템 및 하드웨어 신뢰 루트에 액세스하고 NW 환경의 감시자 역할을 합니다. 부팅 로더를 시작하고, NW에 런타임 서비스를 노출하고, NW에서 액세스할 수 없는 하드웨어 방화벽 및 기타 실리콘 구성 요소를 관리합니다.

Azure Sphere Security Service

Azure Sphere Security Service는 암호 없는 인증, 업데이트 및 오류 보고의 세 가지 구성 요소로 구성됩니다.

  • 암호 없는 인증. 인증 구성 요소는 원격 증명 및 암호 없는 인증을 제공합니다. 원격 증명 서비스는 Pluton 하위 시스템의 측정된 부팅 기능을 사용하는 챌린지 응답 프로토콜을 통해 연결됩니다. 디바이스가 올바른 소프트웨어로 부팅된 것이 아니라 해당 소프트웨어의 올바른 버전으로 부팅되었는지 확인합니다.

    증명이 성공하면 인증 서비스가 인계됩니다. 인증 서비스는 보안 TLS 연결을 통해 통신하고 Microsoft Azure 또는 회사의 프라이빗 클라우드와 같은 웹 서비스에 디바이스가 제시할 수 있는 인증서를 발급합니다. 웹 서비스는 인증서 체인의 유효성을 검사하여 디바이스가 정품인지, 소프트웨어가 최신 상태인지, Microsoft가 원본인지 확인합니다. 그런 다음 디바이스는 온라인 서비스와 안전하고 안전하게 연결할 수 있습니다.

  • 업데이트. 업데이트 서비스는 Azure Sphere OS 및 애플리케이션에 대한 자동 업데이트를 배포합니다. 업데이트 서비스는 지속적인 작업을 보장하고 애플리케이션 소프트웨어의 원격 서비스 및 업데이트를 가능하게 합니다.

  • 오류 보고. 오류 보고 서비스는 배포된 소프트웨어에 대한 간단한 크래시 보고를 제공합니다. 더 풍부한 데이터를 가져오려면 Microsoft Azure 구독에 포함된 보고 및 분석 기능을 사용합니다.

Azure Sphere Security Service와 함께 저장된 모든 데이터는 기본적으로 미사용 시 암호화됩니다. Security Service는 각 서비스에 대해 미사용 데이터 암호화 구현을 사용하여 Azure Storage, Azure Cosmos DBAzure Key Vault 데이터를 저장합니다.