IoT 솔루션에 대한 보안 모범 사례

이 개요에서는 일반적인 Azure IoT 솔루션 보안과 관련된 주요 개념을 소개합니다. 각 섹션에는 자세한 내용과 참고 자료를 제공하는 콘텐츠의 링크가 포함되어 있습니다.

다음 다이어그램은 일반적인 IoT 솔루션의 구성 요소를 개략적으로 보여 줍니다. 이 문서에서는 IoT 솔루션의 보안에 중점을 둡니다.

보안을 강조하는 높은 수준의 IoT 솔루션 아키텍처를 보여주는 다이어그램.

IoT 솔루션의 보안을 다음 세 가지 영역으로 나눌 수 있습니다.

  • 디바이스 보안: 실제로 배포되는 동안 IoT 디바이스 보안을 유지합니다.

  • 연결 보안: IoT 디바이스와 IoT 클라우드 서비스 간에 전송되는 모든 데이터의 기밀성과 변조 방지를 보장합니다.

  • 클라우드 보안: 데이터가 이동하고 클라우드에 저장되는 동안 데이터를 안전하게 보호합니다.

이 문서의 권장 사항을 구현하면 공동 책임 모델에 설명된 보안 의무를 충족하는 데 도움이 됩니다.

Microsoft Defender for IoT

Microsoft Defender for IoT에서 이 문서에 포함된 일부 권장 사항을 자동으로 모니터링할 수 있습니다. Microsoft Defender for IoT는 Azure에서 리소스를 보호하기 위한 첫 번째 방어선이어야 합니다. Microsoft Defender for IoT는 Azure 리소스의 보안 상태를 주기적으로 분석하여 잠재적인 보안 취약성을 식별합니다. 그런 다음 이를 해결하는 방법에 대한 권장 사항을 제공합니다. 자세한 내용은 다음을 참조하세요.

장치 보안

  • 하드웨어의 최소 요구 사항 범위 설정: 운영에 필요한 최소한의 기능만 포함하고 그 외에는 포함하지 않도록 디바이스 하드웨어를 선택합니다. 예를 들어 솔루션에서 디바이스를 작동하기 위해 필요한 경우에만 USB 포트를 포함합니다. 추가 기능은 원치 않는 공격 벡터에 디바이스를 노출할 수 있습니다.

  • 변조 방지 하드웨어 선택: 디바이스 커버 열기 또는 디바이스 부분 제거와 같은 물리적 변조를 감지하는 기본 제공 메커니즘이 있는 디바이스 하드웨어를 선택합니다. 운영자에게 이러한 이벤트를 알리기 위해 클라우드로 업로드되는 데이터 스트림에 이러한 변조 신호가 포함될 수 있습니다.

  • 보안 하드웨어 선택: 가능한 경우 신뢰할 수 있는 플랫폼 모듈을 기반으로 하는 보안 및 암호화된 스토리지 및 부팅 기능과 같은 보안 기능이 포함된 디바이스 하드웨어를 선택합니다. 이러한 기능을 통해 디바이스가 보다 안전해지고 전체 IoT 인프라가 보호됩니다.

  • 보안 업그레이드 사용: 디바이스의 수명 동안 펌웨어 업그레이드는 피할 수 없습니다. 업그레이드 경로가 안전하고 펌웨어 버전이 암호화로 보장되는 디바이스를 빌드하면 업그레이드 중과 후에 디바이스가 안전하게 보호됩니다.

  • 보안 소프트웨어 개발 방법론 준수: 보안 소프트웨어를 개발하려면 프로젝트 시작부터 구현, 테스트 및 배포까지 처음부터 보안을 고려해야 합니다. Microsoft 보안 개발 수명 주기는 보안 소프트웨어를 구축하는 단계별 접근 방식을 제공합니다.

  • 가능하면 디바이스 SDK 사용: 디바이스 SDK는 강력하고 안전한 디바이스 애플리케이션을 개발하는 데 도움이 되는 암호화 및 인증과 같은 다양한 보안 기능을 구현합니다. 자세한 내용은 Azure IoT SDK를 참조하세요.

  • 신중하게 오픈 소스 소프트웨어 선택: 오픈 소스 소프트웨어는 솔루션을 신속하게 개발할 수 있는 기회를 제공합니다. 오픈 소스 소프트웨어를 선택할 때 각 오픈 소스 구성 요소에 대한 커뮤니티의 활동 수준을 고려해야 합니다. 활발한 커뮤니티는 소프트웨어를 지원하고, 문제를 찾아서 해결합니다. 모호하고 활동이 활발하지 않은 오픈 소스 소프트웨어 프로젝트는 지원을 받지 못하고 문제를 발견하지 못할 수 있습니다.

  • 안전하게 하드웨어 배포: IoT를 배포할 때 공공 장소나 감독되지 않는 현장처럼 안전하지 않은 위치에 하드웨어를 배포해야 할 수도 있습니다. 이러한 상황에서는 하드웨어 배포가 가능한 한 변조되지 않도록 해야 합니다. 예를 들어 하드웨어에 USB 포트가 있는 경우 안전하게 덮여 있는지 확인합니다.

  • 인증 키를 안전하게 보관: 배포하는 동안 각 디바이스에는 디바이스 ID 그리고 클라우드 서비스에서 생성하는 해당 ID와 연결된 인증 키가 필요합니다. 배포 후에도 이러한 키를 물리적으로 안전하게 보관해야 합니다. 악의적인 디바이스는 손상된 키를 사용하여 기존 디바이스로 가장할 수 있습니다.

  • 시스템을 최신 상태로 유지: 디바이스 운영 체제 및 모든 디바이스 드라이버를 최신 버전으로 업그레이드합니다. 운영 체제를 최신 상태로 유지하면 악의적인 공격으로부터 보호할 수 있습니다.

  • 악의적인 활동으로부터 보호: 운영 체제에서 허용하는 경우 각 디바이스 운영 체제에 최신 바이러스 백신 및 맬웨어 방지 기능을 배치합니다.

  • 자주 감사: 보안 사고에 대응할 때에는 보안 관련 문제에 대한 IoT 인프라를 감사하는 것이 핵심입니다. 대부분의 운영 체제는 이벤트 로깅 기능이 기본적으로 제공되는데, 보안 위반이 발생하지 않도록 이벤트 로그를 자주 검토해야 합니다. 디바이스는 감사 정보를 클라우드 서비스에 별도의 원격 분석 스트림으로 보내서 분석할 수 있습니다.

  • 디바이스 제조업체 보안 및 배포 모범 사례 준수: 디바이스 제조업체가 보안 및 배포 지침을 제공하는 경우 이 문서에 나열된 일반 지침 외에도 해당 지침을 따릅니다.

  • 필드 게이트웨이를 사용하여 레거시 또는 제한된 디바이스에 대한 보안 서비스 제공: 레거시 및 제한된 디바이스에는 데이터를 암호화하거나 인터넷에 연결하거나 고급 감사를 제공할 수 있는 기능이 부족할 수 있습니다. 이와 같은 경우에는 안전한 최신 현장 게이트웨이를 사용하여 기존 디바이스에서 데이터를 집계하고 인터넷을 통해 이러한 디바이스를 연결하는 데 필요한 보안을 제공할 수 있습니다. 현장 게이트웨이는 보안 인증, 암호화된 세션 협상, 클라우드로부터 명령 수신 및 기타 여러 보안 기능을 제공합니다.

연결 보안

  • X.509 인증서를 사용하여 디바이스를 IoT Hub 또는 IoT Central로 인증: IoT Hub 및 IoT Central은 디바이스 인증 방법으로 X509 인증서 기반 인증과 보안 토큰을 모두 지원합니다. 가능하면 더 큰 보안을 제공하므로 프로덕션 환경에서 X509 기반 인증을 사용합니다. 자세한 내용은 IoT Hub에 대한 디바이스 인증IoT Central의 디바이스 인증 개념을 참조하세요.

  • TLS(전송 계층 보안) 1.2를 사용하여 디바이스에서 연결 보호: IoT Hub및 IoT Central은 TLS를 사용하여 IoT 디바이스 및 서비스에서 연결을 보호합니다. 현재 세 가지 버전의 TLS 프로토콜(1.0, 1.1 및 1.2)이 지원됩니다. TLS 1.0 및 1.1은 레거시로 간주됩니다. 자세히 알아보려면 인증 및 권한 부여를 참조하세요.

  • 디바이스에서 TLS 루트 인증서를 업데이트하는 방법이 있는지 확인: TLS 루트 인증서는 수명이 길지만 만료되거나 해지될 수 있습니다. 디바이스의 인증서를 업데이트할 수 없는 경우 나중에 디바이스를 IoT Hub, IoT Central 또는 다른 클라우드 서비스에 연결하지 못할 수 있습니다.

  • Azure Private Link 사용 고려: Azure Private Link를 사용하면 VNet의 프라이빗 엔드포인트에 디바이스를 연결하여 IoT 허브의 공용 디바이스 연결 엔드포인트에 대한 액세스를 차단할 수 있습니다. 자세한 내용은 Azure Private Link를 사용하여 IoT Hub로의 수신 연결프라이빗 엔드포인트를 사용하는 IoT Central에 대한 네트워크 보안을 참조하세요.

클라우드 보안

다음 단계

IoT 보안에 대해 자세히 알아보려면 다음을 참조하세요.