다음을 통해 공유


Azure IoT Edge 보안 관리자

적용 대상:예 아이콘 IoT Edge 1.1

중요

IoT Edge 1.1 지원 종료일은 2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 정보는 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge 업데이트에 대한 자세한 내용은 IoT Edge 업데이트를 참조하세요.

Azure IoT Edge 보안 관리자는 보안 실리콘 하드웨어를 추상화하여 IoT Edge 디바이스 및 이 디바이스의 모든 구성 요소를 보호하기 위해 잘 정립된 보안 코어입니다. 보안 관리자는 보안 강화의 중심이며 OEM(original equipment manufacturers)에 기술 통합 지점을 제공합니다.

보안 관리자는 IoT Edge 디바이스에서 보안 실리콘 하드웨어를 추상화합니다.

Azure IoT Edge 보안 관리자 IoT Edge 보안 관리자는 IoT Edge 디바이스의 무결성과 모든 내재된 소프트웨어 작업을 방어하는 것을 목표로 합니다. 보안 관리자는 신뢰할 수 있는 하드웨어(사용 가능한 경우)의 기본 하드웨어 루트에서 트러스트를 전환하여 IoT Edge 런타임을 부트스트랩하고 진행 중인 작업을 모니터링합니다. IoT Edge 보안 관리자는 보안 실리콘 하드웨어(사용 가능한 경우)와 연동되어 가능한 최고 수준의 보안을 보장하는 소프트웨어입니다.

IoT Edge 보안 관리자의 책임에는 다음을 비롯한 여러 사항이 포함됩니다.

  • Azure IoT Edge 디바이스를 부트스트랩합니다.
  • 공증 서비스를 통해 디바이스 하드웨어 신뢰할 수 있는 루트에 대한 액세스를 제어합니다.
  • 런타임 시 IoT Edge 작업의 무결성 모니터링.
  • HSM(하드웨어 보안 모듈)에서 신뢰 위임을 받습니다.
  • 해당하는 경우 디바이스 ID를 프로비전하고 신뢰 전환을 관리합니다.
  • Device Provisioning Service와 같은 클라우드 서비스의 디바이스 구성 요소 호스트 및 보호.
  • 고유 ID로 IoT Edge 모듈을 프로비전합니다.

IoT Edge 보안 관리자는 세 가지 구성 요소로 구성됩니다.

  • IoT Edge 보안 디먼
  • HSM PAL(하드웨어 보안 모듈 플랫폼 추상화 계층)
  • 하드웨어 실리콘 신뢰할 수 있는 루트 또는 HSM(선택 사항이지만 적극 권장됨)

IoT Edge 보안 디먼

IoT Edge 보안 디먼은 보안 관리자의 논리적 보안 작업을 담당합니다. 이는 IoT Edge 디바이스의 Trusted Computing Base에서 상당한 부분을 차지합니다.

디자인 원칙

IoT Edge는 운영 무결성 최대화, 블로트 및 변동 최소화라는 두 가지 핵심 원칙을 따릅니다.

작동 무결성 극대화

IoT Edge 보안 디먼은 지정된 신뢰할 수 있는 하드웨어 루트의 방어 기능 내에서 가능한 최고 수준의 무결성을 유지하면서 작동합니다. 적절한 통합을 통해 트러스트 하드웨어의 루트는 변조를 방지하기 위해 보안 디먼을 런타임 시 정적으로 측정하고 모니터링합니다. 디바이스에 대한 악의적인 실제 액세스는 항상 IoT의 위협입니다. 하드웨어 신뢰할 수 있는 루트는 IoT Edge 디바이스의 무결성을 보호하는 데 중요한 역할을 합니다. 신뢰할 수 있는 하드웨어 루트는 두 가지로 제공됩니다.

  • 비밀 및 암호화 키와 같은 중요한 정보를 보호하기 위한 요소를 보호합니다.
  • 키와 같은 비밀 보호를 위한 보안 Enclave 및 기밀 기계 학습 모델 및 측정 작업과 같은 민감한 워크로드입니다.

신뢰할 수 있는 하드웨어 루트는 두 종류의 실행 환경에서 사용할 수 있습니다.

  • 보안 요소를 사용하여 중요한 정보를 보호하는 표준 환경 또는 REE(rich execution environment)
  • 보안 enclave 기술을 사용하여 중요한 정보를 보호하고 소프트웨어 실행에 대한 보호를 제공하는 TEE(신뢰 실행 환경)

보안 Enclave를 하드웨어 신뢰할 수 있는 루트로 사용하는 디바이스의 경우, IoT Edge 보안 디먼 내의 중요 논리가 enclave 내에 있어야 합니다. 보안 디먼의 중요하지 않은 부분은 TEE 외부에 있을 수 있습니다. 모든 경우에 ODM(Original Design Manufacturer) 및 OEM(Original Equipment Manufacturer)은 HSM에서 신뢰를 확장하여 부팅 및 런타임 시 IoT Edge 보안 디먼의 무결성을 측정하고 방어할 것을 강력히 권장합니다.

블로트 및 변동 최소화

IoT Edge 보안 디먼이 따르는 또 다른 핵심 원칙은 변동의 최소화합니다. 최고 수준의 신뢰를 보장하기 위해 IoT Edge 보안 디먼은 신뢰할 수 있는 디바이스 하드웨어 루트와 밀접하게 결합되어 네이티브 코드로 작동할 수 있습니다. 이러한 경우에는 운영 체제의 업데이트 메커니즘이 아닌 하드웨어 신뢰할 수 있는 루트의 보안 업데이트 경로를 통해 IoT Edge 소프트웨어를 업데이트하는 것이 일반적이며 이는 까다로울 수 있습니다. IoT 디바이스에 대한 보안 갱신이 권장되지만, 과도한 업데이트 요구 사항이나 대규모 업데이트 페이로드로 인해 여러 가지 면에서 위협 표면이 확장될 수 있습니다. 예를 들어, 디바이스 가용성을 최대화하기 위해 일부 업데이트를 건너뛰고 싶을 수 있습니다. 따라서 IoT Edge 보안 디먼의 설계는 잘 격리된 신뢰할 수 있는 컴퓨팅 기반을 작게 유지하여 빈번히 업데이트할 수 있도록 간결합니다.

아키텍처

IoT Edge 보안 디먼은 보안 강화를 위해 사용 가능한 모든 신뢰할 수 있는 하드웨어 루트 기술을 활용합니다. 또한 하드웨어 기술에서 신뢰할 수 있는 실행 환경을 제공할 때는 표준 REE(Rich Execution Environment)와 TEE(Trusted Executive Environment) 간의 분할 작업도 가능합니다. 역할별 인터페이스를 통해 IoT Edge의 주요 구성 요소가 IoT Edge 디바이스와 해당 디바이스 작동의 무결성을 보장할 수 있습니다.

Azure IoT Edge 보안 디먼 아키텍처

클라우드 인터페이스

클라우드 인터페이스를 통해 디바이스 보안을 보완하는 클라우드 서비스에 액세스할 수 있습니다. 예를 들어, 이 인터페이스를 사용하면 디바이스 ID 수명 주기 관리를 위해 Device Provisioning Service에 액세스할 수 있습니다.

관리 API

관리 API는 IoT Edge 모듈을 만들기/시작/중지/제거할 때 IoT Edge 에이전트에 의해 호출됩니다. 보안 디먼은 모든 활성 모듈에 대한 "등록"을 저장합니다. 이러한 등록은 모듈의 ID를 모듈의 일부 속성과 매핑합니다. 예를 들어 해당 모듈 속성으로 컨테이너에서 실행 중인 프로세스의 pid(프로세스 식별자) 또는 Docker 컨테이너 콘텐츠의 해시 등이 있습니다.

해당 속성은 워크로드 API(아래 설명 참조)에서 호출자가 작업을 수행할 수 있는 권한이 있는지 확인하는 데 사용됩니다.

관리 API는 권한이 있는 API로 IoT Edge 에이전트에서만 호출할 수 있습니다. IoT Edge 보안 디먼은 IoT Edge 에이전트를 부트스트랩하고 시작하기 때문에 IoT Edge 에이전트가 변조되지 않았음을 확인한 후에, IoT Edge 에이전트에 대한 암시적인 등록을 만들 수 있습니다. 또한 워크로드 API가 사용하는 동일한 증명 프로세스는 관리 API에 대한 액세스를 IoT Edge 에이전트에만 제한합니다.

컨테이너 API

컨테이너 API는 Moby 또는 Docker와 같이 모듈 관리에 사용되는 컨테이너 시스템과 상호 작용합니다.

워크로드 API

워크로드 API는 모든 모듈에 액세스할 수 있습니다. 이 API는 ID 증명(HSM 루트 서명된 토큰 또는 X509 인증서) 및 관련 트러스트 번들을 모듈에 제공합니다. 트러스트 번들에는 모듈이 신뢰해야 하는 다른 모든 서버용 CA 인증서가 포함됩니다.

IoT Edge 보안 디먼은 증명 프로세스를 사용하여 이 API를 보호합니다. 모듈에서 이 API를 호출하면 보안 디먼이 ID 등록을 찾으려고 시도합니다. 성공하면 등록의 속성을 사용하여 모듈을 측정합니다. 측정 프로세스의 결과가 등록과 일치하면 새로운 ID 증명이 생성됩니다. 그리고 해당 CA 인증서(트러스트 번들)가 모듈에 반환됩니다. 모듈은 이 인증서를 사용하여 IoT Hub나 다른 모듈에 연결하거나 서버를 시작합니다. 서명된 토큰 또는 인증서가 곧 만료되는 경우, 모듈이 새로운 인증서를 요청하는 역할을 담당합니다.

통합 및 유지 관리

Microsoft는 IoT Edge 보안 디먼용 기본 코드 베이스를 GitHub에 유지 관리합니다.

설치 및 업데이트

IoT Edge 보안 디먼의 설치 및 업데이트는 운영 체제의 패키지 관리 시스템을 통해 관리됩니다. 신뢰할 수 있는 하드웨어 루트가 있는 IoT Edge 디바이스는 보안 부트 및 업데이트 관리 시스템을 통해 수명 주기를 관리하여 디먼의 무결성을 추가로 강화해야 합니다. 디바이스 제조업체는 자사의 각 디바이스 기능에 따라 해당 방안을 살펴봐야 합니다.

버전 관리

IoT Edge 런타임은 IoT Edge 보안 디먼의 버전을 추적 및 보고합니다. 버전은 IoT Edge 에이전트 모듈이 보고한 속성의 runtime.platform.version 특성으로 보고됩니다.

하드웨어 보안 모듈

HSM PAL(하드웨어 보안 모듈 플랫폼 추상화 계층)은 모든 하드웨어 신뢰할 수 있는 루트를 추상화하여 IoT Edge의 개발자 또는 사용자를 복잡성으로부터 격리합니다. 이는 API(애플리케이션 프로그래밍 인터페이스) 및 트랜스 도메인 통신 프로시저(예: 표준 실행 환경과 보안 enclave 간의 통신)의 조합으로 구성됩니다. HSM PAL의 실제 구현은 사용 중인 특정 보안 하드웨어에 따라 달라집니다. 보안 하드웨어가 있으면 사실상 모든 보안 실리콘 하드웨어를 사용할 수 있습니다.

트러스트 하드웨어의 보안 실리콘 루트

보안 실리콘은 IoT Edge 디바이스 하드웨어 내부에 신뢰를 확보하는 데 필요합니다. 보안 실리콘은 신뢰할 수 있는 플랫폼 모듈(TPM), eSE(Embedded Secure Element), Arm TrustZone, Intel SGX 및 사용자 지정 보안 실리콘 기술을 포함하도록 다양합니다. IoT 디바이스의 물리적 접근성에 관련된 위협을 고려하면 디바이스에 신뢰할 수 있는 보안 실리콘 루트를 사용하는 것이 좋습니다.

IoT Edge 보안 관리자의 목표는 사용자 지정 강화를 위해 Azure IoT Edge 플랫폼의 보안 및 무결성을 방어하는 구성 요소를 식별하고 격리하는 것입니다. 디바이스 제조업체 등의 타사는 디바이스 하드웨어에서 제공되는 사용자 지정 보안 기능을 사용해야 합니다.

소프트웨어 또는 가상 TPM을 사용하여 TPM(신뢰할 수 있는 플랫폼 모듈)으로 Azure IoT 보안 관리자를 강화하는 방법을 알아봅니다.

Linux 또는 Windows의 Linux에서 가상 TPM으로 IoT Edge 디바이스를 만들고 프로비전합니다.

다음 단계

IoT Edge 디바이스 보안에 대해 자세히 알아보려면 다음 블로그 게시물을 참조하세요.