다음을 통해 공유


IoT Central의 디바이스 인증 개념

이 문서에서는 디바이스가 IoT Central 애플리케이션에 대해 인증하는 방법을 설명합니다. 전체 연결 프로세스에 대해 자세히 알아보려면 디바이스 연결을 참조하세요.

디바이스는 SAS(공유 액세스 서명) 토큰 또는 X.509 인증서를 사용하여 IoT Central 애플리케이션을 통해 인증합니다. X.509 인증서는 프로덕션 환경에서 사용하는 것이 좋습니다.

등록 그룹을 사용하여 IoT Central 애플리케이션에서 디바이스 인증 옵션을 관리합니다.

이 문서에서는 다음과 같은 디바이스 인증 옵션에 대해 설명합니다.

X.509 등록 그룹

프로덕션 환경에서 X.509 인증서를 사용하는 것이 IoT Central에 권장되는 디바이스 인증 메커니즘입니다. 자세한 내용은 X.509 CA 인증서를 사용하여 디바이스 인증을 참조하세요.

X.509 등록 그룹에는 루트 또는 중간 X.509 인증서가 포함됩니다. 디바이스는 루트 또는 중간 인증서에서 파생된 유효한 리프 인증서가 있는 경우 인증할 수 있습니다.

X.509 인증서를 사용하여 디바이스를 애플리케이션에 연결하려면 다음을 수행합니다.

  1. 인증서(X.509) 증명 유형을 사용하는 등록 그룹을 만듭니다.
  2. 중간 또는 루트 X.509 인증서를 등록 그룹에 추가하고 확인합니다.
  3. 등록 그룹의 루트 또는 중간 인증서에서 리프 인증서를 생성합니다. 애플리케이션에 연결할 때 사용할 리프 인증서를 디바이스에 설치합니다.

각 등록 그룹은 고유한 X.509 인증서를 사용해야 합니다. IoT Central은 여러 등록 그룹에서 동일한 X.509 인증서 사용을 지원하지 않습니다.

자세한 내용은 X.509 인증서를 사용하여 디바이스를 연결하는 방법을 참조 하세요.

테스트용으로만

프로덕션 환경에서는 인증서 공급자의 인증서를 사용합니다. 테스트용으로만 다음 유틸리티를 사용하여 루트, 중간 및 디바이스 인증서를 생성할 수 있습니다.

  • Azure IoT Device Provisioning Device SDK용 도구: X.509 인증서 및 키를 생성하고 확인하는 데 사용할 수 있는 Node.js 도구 컬렉션입니다.
  • 샘플 및 자습서에 대한 테스트 CA 인증서를 관리합니다. PowerShell 및 Bash 스크립트 컬렉션은 다음을 수행합니다.
    • 인증서 체인을 만듭니다.
    • 인증서를 .cer 파일로 저장하여 IoT Central 애플리케이션에 업로드합니다.
    • IoT Central 애플리케이션의 확인 코드를 사용하여 확인 인증서를 생성합니다.
    • 디바이스 ID를 도구의 매개 변수로 사용하여 디바이스에 대한 리프 인증서를 만듭니다.

SAS 등록 그룹

SAS 등록 그룹에는 그룹 수준 SAS 키가 포함됩니다. 디바이스는 그룹 수준 SAS 키에서 파생된 유효한 SAS 토큰이 있는 경우 인증할 수 있습니다.

디바이스 SAS 토큰가 있는 디바이스를 애플리케이션에 연결하려면 다음을 수행합니다.

  1. SAS(공유 액세스 서명) 증명 유형을 사용하는 등록 그룹을 만듭니다.

  2. 등록 그룹에서 그룹 기본 또는 보조 키를 복사합니다.

  3. Azure CLI를 사용하여 그룹 키에서 디바이스 토큰을 생성합니다.

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  4. 디바이스에서 IoT Central 애플리케이션에 연결할 때 생성된 디바이스 토큰을 사용합니다.

참고 항목

등록 그룹에서 기존 SAS 키를 사용하려면 키 자동 생성 토글을 사용하지 않도록 설정하고 SAS 키를 수동으로 입력합니다.

기본 SAS-IoT-Devices 등록 그룹을 사용하는 경우 IoT Central에서 개별 디바이스 키를 생성합니다. 이러한 키에 액세스하려면 디바이스 세부 정보 페이지에서 연결을 선택합니다. 이 페이지에는 디바이스 코드에서 사용하는 ID 범위, 디바이스 ID, 기본 키보조 키가 표시됩니다. 이 페이지에는 동일한 데이터가 포함된 QR 코드도 표시됩니다.

개별 등록

일반적으로 디바이스는 등록 그룹 X.509 인증서 또는 SAS 키에서 파생된 자격 증명을 사용하여 연결됩니다. 그러나 디바이스마다 고유한 자격 증명이 있는 경우 개별 등록을 사용할 수 있습니다. 개별 등록은 연결할 수 있는 단일 디바이스에 대한 항목입니다. 개별 등록은 신뢰할 수 있는 물리적 또는 가상 플랫폼 모듈의 X.509 리프 인증서 또는 SAS 토큰을 증명 메커니즘으로 사용할 수 있습니다. 자세한 내용은 DPS 개별 등록을 참조하세요.

참고 항목

디바이스 개별 등록을 만들면 해당 디바이스가 IoT Central 애플리케이션의 기본 등록 그룹 옵션보다 우선 적용됩니다.

개별 등록 만들기

IoT Central에서 개별 등록에 지원하는 증명 메커니즘은 다음과 같습니다.

  • 대칭 키 증명: 대칭 키 증명은 디바이스를 DPS 인스턴스로 인증하는 간단한 방법입니다. 대칭 키를 사용하는 개별 등록을 만들려면, 디바이스에 대한 디바이스 연결 페이지를 열고 인증 유형으로 개별 등록을 선택한 후 인증 방법으로 SAS(공유 액세스 서명)를 선택합니다. base64로 인코딩된 기본 키와 보조 키를 입력하고 변경 내용을 저장합니다. ID 범위, 디바이스 ID 및 기본 또는 보조 키를 사용하여 디바이스를 연결합니다.

    테스트를 위해 OpenSSL을 사용하여 base64로 인코딩된 키를 생성할 수 있습니다(openssl rand -base64 64).

  • X.509 인증서: X.509 인증서를 사용하여 개별 등록을 만들려면, 디바이스 연결 페이지를 열고 인증 유형으로 개별 등록을 선택한 후 인증 방법으로 인증서(X.509)를 선택합니다. 개별 등록 항목에 사용되는 디바이스 인증서에는 발급자 및 주체 CN이 디바이스 ID로 설정되어야 합니다.

    테스트를 위해 Node.js Azure IoT Device Provisioning Device SDK용 도구를 사용하여 자체 서명된 인증서를 생성할 수 있습니다.node create_test_cert.js device "mytestdevice"

  • TPM(신뢰할 수 있는 플랫폼 모듈) 증명:TPM 은 하드웨어 보안 모듈의 한 유형입니다. TPM을 사용하는 것은 디바이스를 연결하는 가장 안전한 방법 중 하나입니다. 이 문서에서는 사용자가 개별, 펌웨어 또는 통합 TPM을 사용한다고 가정합니다. 소프트웨어 에뮬레이트된 TPM은 프로토타입 또는 테스트에 적합하지만 개별, 펌웨어 또는 통합 TPM과 동일한 수준의 보안을 제공하지 않습니다. 소프트웨어 TPM은 프로덕션에서 사용하지 않습니다. TPM을 사용하는 개별 등록을 만들려면, 디바이스 연결 페이지를 열고 인증 유형으로 개별 등록을 선택한 후 인증 방법으로 TPM을 선택합니다. TPM 인증 키를 입력하고, 디바이스 연결 정보를 저장합니다.

디바이스 자동 등록

이 시나리오를 사용하면 OEM에서 애플리케이션에 먼저 등록하지 않고도 연결할 수 있는 제조업체 디바이스를 대량으로 만들 수 있습니다. OEM은 적절한 디바이스 자격 증명을 생성하고, 공장에서 디바이스를 구성합니다.

X.509 인증서를 사용하는 디바이스를 자동으로 등록하려면 다음을 수행합니다.

  1. X.509 등록 그룹에 추가한 루트 또는 중간 인증서를 사용하여 디바이스에 대한 리프 인증서를 생성합니다. 리프 인증서에서 디바이스 ID를 CNAME 사용합니다. 디바이스 ID는 문자, 숫자 및 - 문자를 포함할 수 있습니다.

  2. OEM으로 디바이스 ID, 생성된 X.509 리프 인증서 및 애플리케이션 ID 범위 값을 사용하여 각 디바이스를 플래시합니다. 디바이스 코드는 구현하는 디바이스 모델의 모델 ID도 보내야 합니다.

  3. 디바이스를 켜면 먼저 DPS에 연결하여 IoT Central 연결 정보를 검색합니다.

  4. 디바이스에서 DPS의 정보를 사용하여 IoT Central 애플리케이션에 연결하고 등록합니다.

  5. IoT Central 애플리케이션은 디바이스에서 보낸 모델 ID를 사용하여 등록된 디바이스를 디바이스 템플릿에 할당합니다.

SAS 토큰을 사용하는 디바이스를 자동으로 등록하려면 다음을 수행합니다.

  1. SAS-IoT-Devices 등록 그룹에서 그룹 기본 키를 복사합니다 .

    Screenshot that shows the group primary key from SAS IoT Devices enrollment group.

  2. 명령을 az iot central device compute-device-key 사용하여 디바이스 SAS 키를 생성합니다. 이전 단계의 그룹 기본 키를 사용합니다. 디바이스 ID에는 문자, 숫자 및 - 문자가 포함될 수 있습니다.

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. OEM으로 디바이스 ID, 생성된 디바이스 SAS 키 및 애플리케이션 ID 범위 값을 사용하여 각 디바이스를 플래시합니다. 디바이스 코드는 구현하는 디바이스 모델의 모델 ID도 보내야 합니다.

  4. 디바이스를 켜면 먼저 DPS에 연결하여 IoT Central 등록 정보를 검색합니다.

  5. 디바이스에서 DPS의 정보를 사용하여 IoT Central 애플리케이션에 연결하고 등록합니다.

  6. IoT Central 애플리케이션은 디바이스에서 보낸 모델 ID를 사용하여 등록된 디바이스를 디바이스 템플릿에 할당합니다.

다음 단계

몇 가지 제안되는 다음 단계는 다음과 같습니다.