Azure IoT Hub에서의 인증서 관리는 IoT 기기용 X.509 인증서 관리를 간소화합니다. 이 문서에서는 IoT Hub의 인증서 관리 및 인증서 기반 인증과 관련된 기본 개념을 소개합니다. 자세한 내용은 인증서 관리란(미리 보기)을 참조하세요.
Important
Azure Device Registry 통합 및 Microsoft 지원되는 X.509 인증서 관리를 사용하는 Azure IoT Hub 공개 미리 보기이며 프로덕션 워크로드에는 권장되지 않습니다. 자세한 내용은 FAQ: IoT Hub 새로운 기능? 참조하세요.
PKI(공개 키 인프라)
PKI는 디지털 인증서를 사용하여 디바이스와 서비스 간의 데이터를 인증하고 암호화하는 시스템입니다. PKI 인증서는 웹 및 디바이스 ID와 같은 다양한 시나리오를 보호하는 데 필수적입니다. IoT 설정에서 PKI 인증서를 관리하는 것은 특히 많은 수의 디바이스와 엄격한 보안 요구 사항이 있는 조직의 경우 도전적이고 비용이 많이 들고 복잡할 수 있습니다. 인증서 관리를 사용하여 디바이스의 보안을 강화하고 완전히 관리되는 클라우드 PKI 서비스로의 디지털 변환을 가속화할 수 있습니다.
Microsoft와 타사 PKI 비교
IoT Hub는 X.509 인증서 인증을 위해 두 가지 유형의 PKI 공급자를 지원하지만 인증서 관리는 현재 Microsoft 관리(자사) PKI만 지원합니다. 타사 PKI 공급자를 사용하는 방법에 대한 자세한 내용은 X.509 CA 인증서를 사용하여 디바이스 인증을 참조하세요.
| PKI 공급자 | 통합 필요 | Azure 디바이스 레지스트리가 필요합니다. | "디바이스 프로비저닝 서비스가 필요합니다" |
|---|---|---|---|
| Microsoft 관리형 PKI | No. Azure Device Registry에서 직접 인증 기관을 구성합니다. | 예 | 예 |
| 타사 PKI(DigiCert, GlobalSign 등) | 예. 수동 통합이 필요합니다. | No | No |
X.509 인증서
X.509 인증서는 디바이스, 사용자 또는 서비스와 같은 엔터티의 ID에 공개 키를 바인딩하는 디지털 문서입니다. 인증서 기반 인증은 보안이 낮은 방법보다 몇 가지 이점을 제공합니다.
- 인증서는 퍼블릭/프라이빗 키 암호화를 사용합니다. 공개 키는 자유롭게 공유되지만 프라이빗 키는 디바이스에 유지되며 TPM(신뢰할 수 있는 플랫폼 모듈) 또는 보안 요소 내에 상주할 수 있습니다. 이렇게 하면 공격자가 디바이스를 가장할 수 없습니다.
- 인증서는 CA(인증 기관) 계층 구조를 통해 발급되고 유효성을 검사하므로 조직은 각 디바이스에 대한 비밀을 관리하지 않고 단일 CA를 통해 수백만 개의 디바이스를 신뢰할 수 있습니다.
- 디바이스는 클라우드에 인증되고 클라우드는 디바이스에 인증하여 TLS(상호 전송 계층 보안) 인증을 사용하도록 설정합니다.
- 인증서는 유효 기간을 정의했으며 중앙에서 갱신 또는 해지할 수 있습니다.
X.509 인증서에는 다음과 같은 두 가지 일반적인 범주가 있습니다.
CA 인증서: 이러한 인증서는 CA(인증 기관)에서 발급되며 다른 인증서에 서명하는 데 사용합니다. CA 인증서에는 루트 및 중간 인증서가 포함됩니다.
루트 CA: 루트 인증서는 중간 CA에 서명하는 데 사용할 수 있는 신뢰할 수 있는 CA의 최상위 자체 서명된 인증서입니다.
중간 또는 발급 CA: 중간 인증서는 신뢰할 수 있는 루트 인증서로 서명된 CA 인증서입니다. 중간 인증서는 최종 엔터티 인증서에 서명하는 데 사용되는 경우 CA를 발급할 수도 있습니다.
메모
여러 제조업체의 디바이스 또는 디바이스의 다른 모델과 같은 여러 디바이스 집합 또는 그룹에 대해 서로 다른 중간 인증서를 사용하는 것이 유용할 수 있습니다. 다른 인증서를 사용하는 이유는 특정 인증서가 손상된 경우 전체 보안 영향을 줄이기 위한 것입니다.
최종 엔터티 인증서: 개별 또는 리프 디바이스 인증서일 수 있는 이러한 인증서는 CA 인증서로 서명되고 사용자, 서버 또는 디바이스에 발급됩니다.
인증서 서명 요청
CSR(인증서 서명 요청)은 IoT 디바이스와 같은 클라이언트가 CA(인증 기관)에서 서명된 인증서를 요청하기 위해 생성하는 디지털 서명된 메시지입니다. CSR에는 디바이스의 공개 키와 해당 등록 ID와 같은 식별 정보가 포함되며 키의 소유권을 증명하기 위해 디바이스의 프라이빗 키로 서명됩니다.
CSR은 승인된 키 알고리즘, 키 크기 및 주체 필드 형식을 포함하여 PKI의 정책 요구 사항을 따라야 합니다. 디바이스가 새 프라이빗 키를 생성하면 새 CSR도 생성됩니다. CA는 CSR을 확인하고 승인한 후 디바이스의 ID를 공개 키에 바인딩하는 X.509 인증서를 발급합니다. 이 프로세스는 프라이빗 키 소유를 입증할 수 있는 디바이스만 신뢰할 수 있는 인증서를 받도록 합니다.
Device Provisioning Service의 인증서 서명 요청 요구 사항
인증서 관리에서 디바이스는 프로비전 또는 다시 프로비전하는 동안 CSR을 제출합니다. DPS(Device Provisioning Service)에는 PKCS(공개 키 암호화 표준) #10 사양에 따라 Base64로 인코딩된 DER(고유 인코딩 규칙) 형식의 CSR이 필요합니다. 제출은 PEM(개인 정보 보호 강화 메일) 머리글 및 바닥글을 제외합니다. CSR의 CN(일반 이름) 필드는 디바이스 등록 ID와 정확히 일치해야 합니다.
인증과 권한 부여의 차이점
인증 은 IoT Hub에 대한 ID를 증명하는 것을 의미합니다. 사용자 또는 디바이스가 자신이 주장하는 사람인지 확인합니다. 이 프로세스를 AuthN이라고도 합니다.
권한 부여 는 인증된 사용자 또는 디바이스가 IoT Hub에서 액세스하거나 수행할 수 있는 작업을 확인하는 것을 의미합니다. 리소스 및 명령에 대한 권한을 정의합니다. 권한 부여를 AuthZ라고도 합니다.
IoT Hub는 인증에만 X.509 인증서를 사용하고, 인증에는 사용하지 않습니다. Microsoft Entra ID와 공유 접근 서명과 달리, X.509 인증서는 사용자 지정 가능한 권한을 지원하지 않습니다.