다음을 통해 공유


EAP-TLS 네트워크에 대한 인증서 획득 및 배포

Azure Sphere 디바이스가 EAP-TLS 네트워크에 연결하려면 RADIUS 서버가 디바이스를 인증하는 데 사용할 수 있는 클라이언트 인증서가 있어야 합니다. 네트워크에서 상호 인증이 필요한 경우 각 디바이스에는 RADIUS 서버를 인증할 수 있도록 루트 CA 인증서도 있어야 합니다.

이러한 인증서를 획득하고 배포하는 방법은 디바이스에서 사용할 수 있는 네트워크 리소스에 따라 달라집니다.

  • EAP-TLS 네트워크가 사용 가능한 유일한 네트워크인 경우 인증서를 수동으로 배포해야 합니다.
  • 개방형 네트워크와 같은 다른 형태의 네트워킹을 사용할 수 있는 경우 "부트스트랩" 방법을 사용할 수 있습니다. 부트스트랩 방식에서 Azure Sphere 상위 수준 애플리케이션은 개방형 네트워크에서 인증서를 획득한 다음 이를 사용하여 EAP-TLS 네트워크에 연결합니다.

주의

인증서 ID는 시스템 전체이므로 azsphere 명령 또는 새 인증서를 추가하는 함수 호출은 이전 명령 또는 함수 호출에 의해 추가된 인증서를 덮어쓸 수 있으므로 네트워크 연결 오류가 발생할 수 있습니다. 명확한 인증서 업데이트 절차를 개발하고 인증서 ID를 신중하게 선택하는 것이 좋습니다. 자세한 내용은 인증서 ID를 참조하세요.

수동 배포

EAP-TLS 네트워크가 디바이스에서 사용할 수 있는 유일한 네트워크인 경우 인증서를 수동으로 배포해야 합니다. 수동 배포에는 네트워크 PC 또는 Linux 컴퓨터를 사용하여 인증서를 획득한 다음 Azure Sphere CLI를 사용하여 각 Azure Sphere 디바이스에 인증서를 로드하는 작업이 포함됩니다. 이 방법을 사용하려면 PC 또는 Linux 컴퓨터와 Azure Sphere 디바이스 간에 물리적 연결이 필요합니다.

수동으로 인증서 획득

루트 CA 및 클라이언트 인증서는 에 있어야 합니다. Azure Sphere 디바이스에 로드할 PEM 형식입니다. 디바이스에 대한 클라이언트 인증서 및 프라이빗 키(선택적으로 프라이빗 키에 대한 암호)와 함께 적절한 서버에서 루트 CA 인증서를 획득해야 합니다. 각 인증서는 EAP-TLS 네트워크의 적절한 서버에서 생성 및 서명해야 합니다. 네트워크 관리자 또는 보안 팀은 인증서를 가져오는 데 필요한 세부 정보를 제공할 수 있습니다.

인증서를 에 저장합니다. PC 또는 Linux 컴퓨터에서 PEM 형식을 지정한 다음 Azure Sphere CLI를 사용하여 Azure Sphere 디바이스에 저장합니다.

CLI를 사용하여 인증서 저장

네트워크 PC 또는 Linux 컴퓨터에 Azure Sphere 디바이스를 연결하고 azsphere 명령을 사용하여 디바이스에 인증서를 저장합니다.

루트 CA 인증서를 Azure Sphere 디바이스에 저장하려면 다음을 수행합니다.

azsphere device certificate add --cert-id "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>

클라이언트 인증서를 Azure Sphere 디바이스에 저장하려면 다음을 수행합니다.

azsphere device certificate add --cert-id "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"

부트스트랩 배포

많은 수 또는 여러 위치에서 Azure Sphere 디바이스를 연결하려면 "부트스트랩" 방법을 사용하는 것이 좋습니다. 이 방법을 사용하려면 디바이스가 인증서를 제공할 수 있는 서버에 액세스할 수 있는 네트워크에 연결할 수 있어야 합니다. 상위 수준 Azure Sphere 애플리케이션은 사용 가능한 네트워크를 통해 서버에 연결하고, 인증서를 요청하고, 디바이스에 저장합니다.

다음 그림에서는 이 프로세스를 요약합니다.

부트스트랩 배포 중 인증서 흐름

  1. Azure Sphere 디바이스의 애플리케이션은 열린 네트워크에 연결하고 Azure Sphere Security Service에 연결하여 DAA 인증서를 가져옵니다. 그런 다음 디바이스에 DAA 인증서를 설치합니다. 디바이스는 이 인증서를 사용하여 인증서 발급 서비스를 사용하여 인증해야 합니다.

  2. 애플리케이션은 다음으로 네트워크 관리자가 지정한 인증서 발급 서비스에 연결합니다. 서버와 ID의 유효성을 검사하는 DAA 인증서를 제공하고 클라이언트 인증서 및 프라이빗 키와 함께 EAP-TLS 네트워크의 RADIUS 서버에 대한 루트 CA 인증서를 요청합니다. 서비스는 필요한 경우 클라이언트 ID 및 프라이빗 키 암호와 같은 다른 정보를 애플리케이션에 전달할 수 있습니다. 그런 다음 애플리케이션은 디바이스에 클라이언트 인증서, 클라이언트 프라이빗 키 및 루트 CA 인증서를 설치합니다. 그런 다음 열린 네트워크에서 연결을 끊을 수 있습니다.

  3. 애플리케이션은 EAP-TLS 네트워크를 구성하고 사용하도록 설정합니다. 디바이스의 ID를 증명하기 위해 클라이언트 인증서 및 프라이빗 키를 제공합니다. 네트워크에서 상호 인증을 지원하는 경우 애플리케이션은 루트 CA 인증서를 사용하여 RADIUS 서버도 인증합니다.

부트스트랩하는 동안 디바이스 인증 및 클라이언트 인증서 가져오기

Azure Sphere 디바이스는 디바이스 인증 및 증명(DAA) 인증서를 사용하여 다른 필수 인증서를 제공할 수 있는 서비스에 인증할 수 있습니다. DAA 인증서는 Azure Sphere Security Service에서 사용할 수 있습니다.

DAA 인증서를 얻으려면 다음을 수행합니다.

  1. 상위 수준 애플리케이션에 대한 애플리케이션 매니페스트 의 DeviceAuthentication 섹션에서 Azure Sphere 테넌트 ID를 지정합니다.
  2. 상위 수준 애플리케이션에서 DeviceAuth_CurlSslFunc 호출하여 현재 Azure Sphere 테넌트용 인증서 체인을 가져옵니다.

애플리케이션 매니페스트에 현재 디바이스에 대한 Azure Sphere 테넌트 ID가 포함된 경우 대상 서비스에 TLS 상호 인증이 필요한 경우 DeviceAuth_CurlSslFunc 함수는 DAA 클라이언트 인증서 체인을 사용하여 인증합니다.

RADIUS 서버에 대한 루트 CA 인증서 가져오기

RADIUS 서버에 대한 루트 CA 인증서를 가져오기 위해 애플리케이션은 네트워크에서 액세스할 수 있고 인증서를 제공할 수 있는 인증서 서버 엔드포인트에 연결합니다. 네트워크 관리자는 엔드포인트에 연결하고 인증서를 검색하는 방법에 대한 정보를 제공할 수 있어야 합니다.

CertStore API를 사용하여 인증서 설치

애플리케이션은 CertStore API 를 사용하여 디바이스에 인증서를 설치합니다. CertStore_InstallClientCertificate 함수는 클라이언트 인증서를 설치하고 CertStore_InstallRootCACertificate RADIUS 서버에 대한 루트 CA 인증서를 설치합니다. 상위 수준 애플리케이션에서 인증서 관리에서는 인증서 관리에 CertStore API를 사용하는 방법에 대한 추가 정보를 제공합니다.

인증서 샘플 애플리케이션은 애플리케이션에서 이러한 함수를 사용하는 방법을 보여 줍니다.