OPC 자격 증명 모음 아키텍처

중요

이 문서를 업데이트하는 동안 최신 콘텐츠는 Azure Industrial IoT를 참조하세요.

이 문서에서는 OPC 자격 증명 모음 마이크로서비스 및 OPC 자격 증명 모음 IoT Edge 모듈에 대해 개략적으로 설명합니다.

OPC UA 애플리케이션은 애플리케이션 인스턴스 인증서를 사용하여 애플리케이션 수준 보안을 제공합니다. 보안 연결은 애플리케이션 인증서에서 공개 키 및 프라이빗 키 쌍을 제공하는 비대칭 암호화를 사용하여 설정됩니다. 인증서는 자체 서명되거나 CA(인증 기관)에서 서명할 수 있습니다.

OPC UA 애플리케이션에는 신뢰하는 애플리케이션을 나타내는 신뢰할 수 있는 인증서 목록이 있습니다. 이러한 인증서는 자체 서명되거나 CA에서 서명하거나, 루트 CA 또는 하위 CA 자체일 수 있습니다. 신뢰할 수 있는 인증서가 더 큰 인증서 체인의 일부인 경우 애플리케이션은 신뢰 목록의 인증서에 연결된 모든 인증서를 신뢰합니다. 이것은 전체 인증서 체인의 유효성을 검사할 수 있는 경우에만 적용됩니다.

자체 서명된 인증서 신뢰와 CA 인증서 신뢰의 주요 차이점은 신뢰를 배포하고 유지 관리하는 데 필요한 설치 작업에 있습니다. 회사별 CA를 호스팅하기 위한 추가 작업도 있습니다.

단일 클라이언트 애플리케이션으로 여러 서버에 자체 서명된 인증서에 대한 신뢰를 배포하려면 모든 서버 애플리케이션 인증서를 클라이언트 애플리케이션 신뢰 목록에 설치해 야합니다. 또한 모든 서버 애플리케이션 신뢰 목록에 클라이언트 애플리케이션 인증서를 설치해야 합니다. 이러한 관리 작업은 상당히 부담스러우며, 인증서 수명을 고려하여 인증서를 갱신해야 하는 경우에는 작업이 늘어나기도 합니다.

회사별 CA를 사용하면 여러 서버 및 클라이언트에서 신뢰 관리를 크게 간소화할 수 있습니다. 이 경우 관리자는 사용되는 모든 클라이언트와 서버에 대한 CA 서명된 애플리케이션 인스턴스 인증서를 한 번에 생성합니다. 또한 CA 인증서가 모든 서버와 클라이언트의 모든 애플리케이션 신뢰 목록에 설치됩니다. 이 방법을 사용하면 영향을 받는 애플리케이션에 대해 만료된 인증서만 갱신하고 교체하면 됩니다.

Azure 산업용 IoT OPC UA 인증서 관리 서비스는 OPC UA 애플리케이션의 회사별 CA를 관리하는 데 유용합니다. 이 서비스는 OPC 자격 증명 모음 마이크로서비스를 기반으로 합니다. OPC 자격 증명 모음은 보안 클라우드에서 회사별 CA를 호스트하는 마이크로서비스를 제공합니다. 이 솔루션은 Azure AD(Azure Active Directory), HSM(Hardware Security Modules)이 포함된 Azure Key Vault, Azure Cosmos DB에 의해 보호되는 서비스로 지원하며 IoT Hub로도 지원 가능합니다(애플리케이션 스토어, 선택 사항).

OPC 자격 증명 모음 마이크로서비스는 Azure Key Vault에서 서명 권한이 있는 보안 관리자 및 승인자가 요청을 승인하거나 거부하는 역할 기반 워크플로를 지원하도록 설계되었습니다.

기존 OPC UA 솔루션과의 호환성을 위해, 이 서비스에는 OPC 자격 증명 모음 마이크로서비스가 지원하는 Edge 모듈 지원이 포함됩니다. 이것은 OPC UA Global Discovery Server 및 인증서 관리 인터페이스를 구현하여, 해당 사양의 12부에 따라 인증서 및 신뢰 목록을 배포합니다.

Architecture

이 아키텍처는 공장 네트워크용 OPC 자격 증명 모음 IoT Edge 모듈과 워크플로를 제어하는 웹 샘플 UX를 갖춘 OPC 자격 증명 모음 마이크로서비스를 기반으로 합니다.

OPC 자격 증명 모음 아키텍처 다이어그램

OPC 자격 증명 모음 마이크로서비스

OPC 자격 증명 모음 마이크로서비스는 OPC UA 애플리케이션용 회사별 CA를 배포하고 관리하는 워크플로를 구현하기 위해 다음과 같은 인터페이스로 구성됩니다.

애플리케이션

  • OPC UA 애플리케이션은 서버, 클라이언트 또는 둘 다일 수 있습니다. 이 경우 OPC 자격 증명 모음은 애플리케이션 등록 기관으로 사용됩니다.
  • 애플리케이션을 등록, 업데이트 및 등록 취소하는 기본 작업 외에, 검색 식을 사용하여 애플리케이션을 찾고 쿼리하는 인터페이스도 있습니다.
  • 요청을 처리하고 모든 OPC UA 관련 확장으로 서명된 인증서를 발급하기 위해 인증서 요청은 유효한 애플리케이션을 참조해야 합니다.
  • 애플리케이션 서비스는 Azure Cosmos DB의 데이터베이스에서 지원됩니다.

인증서 그룹

  • 인증서 그룹은 인증서에 서명하기 위한 프라이빗 키를 포함하여 루트 CA 또는 하위 CA 인증서를 저장하는 엔터티입니다.
  • RSA 키 길이, SHA-2 해시 길이 및 수명은 발급자 CA와 서명된 애플리케이션 인증서 모두에 대해 구성할 수 있습니다.
  • CA 인증서는 FIPS 140-2 수준 2 HSM으로 지원되는 Azure Key Vault에 저장합니다. 서명은 Azure AD로 보호되는 Key Vault 작업을 통해 수행되기 때문에 프라이빗 키는 위험에 노출되지 않습니다.
  • 시간이 지남에 따라 CA 인증서를 갱신할 수 있고 Key Vault 기록으로 인해 안전한 스토리지에 유지할 수 있습니다.
  • 각 CA 인증서에 대한 해지 목록도 비밀로 Key Vault에 저장됩니다. 애플리케이션 등록이 취소되면, 관리자가 애플리케이션 인증서도 CRL(인증서 해지 목록)에서 해지합니다.
  • 일괄 처리된 인증서뿐만 아니라 단일 인증서를 해지할 수도 있습니다.

인증서 요청

인증서 요청은 OPC UA 애플리케이션에 대한 CSR(인증서 서명 요청)을 사용하여 새 키 쌍 또는 서명된 인증서를 생성하는 워크플로를 구현합니다.

  • 요청은 주체 또는 CSR과 같은 정보 및 OPC UA 애플리케이션에 대한 참조와 함께 데이터베이스에 저장됩니다.
  • 서비스의 비즈니스 논리는 애플리케이션 데이터베이스에 저장된 정보와 비교하여 요청의 유효성을 검사합니다. 예를 들어 데이터베이스의 애플리케이션 URI는 CSR의 애플리케이션 URI와 일치해야 합니다.
  • 서명 권한(즉, 승인자 역할)이 있는 보안 관리자는 요청을 승인하거나 거부합니다. 요청이 승인되면 새 키 쌍 또는 서명된 인증서(또는 둘 다)가 생성됩니다. 새 프라이빗 키는 Key Vault에 안전하게 저장되고, 서명된 새 공용 인증서는 인증서 요청 데이터베이스에 저장됩니다.
  • 요청이 승인되거나 해지될 때까지 요청자는 요청 상태를 폴링할 수 있습니다. 요청이 승인되면 프라이빗 키와 인증서를 다운로드하여 OPC UA 애플리케이션의 인증서 저장소에 설치할 수 있습니다.
  • 이제 요청자는 요청 데이터베이스에서 불필요한 정보를 삭제하라는 요청을 수락할 수 있습니다.

서명된 인증서의 수명 중에 애플리케이션이 삭제되거나 키가 손상될 수 있습니다. 이 경우 CA 관리자는 다음을 수행할 수 있습니다.

  • 애플리케이션을 삭제합니다. 그러면 앱의 보류 중인 인증서 및 승인된 요청도 모두 삭제됩니다.
  • 키만 갱신되거나 손상된 경우에는 단일 인증서 요청만 삭제합니다.

손상된 승인됨 및 수락됨 인증서 요청은 이제 삭제됨으로 표시됩니다.

관리자는 발급자 CA CRL을 정기적으로 갱신할 수 있습니다. 갱신 시 삭제된 인증서 요청이 모두 해지되고, 인증서 일련 번호가 CRL 해지 목록에 추가됩니다. 해지된 인증서 요청은 해지됨으로 표시됩니다. 긴급한 경우 단일 인증서 요청도 해지할 수 있습니다.

마지막으로 업데이트된 CRL은 참여하는 OPC UA 클라이언트 및 서버에 배포할 수 있습니다.

OPC 자격 증명 모음 IoT Edge 모듈

공장 네트워크 Global Discovery Server를 지원하기 위해 Edge에 OPC 자격 증명 모음 모듈을 배포할 수 있습니다. 로컬 .NET Core 애플리케이션으로 실행하거나 Docker 컨테이너에서 시작합니다. 현재 OPC UA .NET Standard 스택에서는 Auth2 인증 지원이 부족하기 때문에 OPC 자격 증명 모음 Edge 모듈의 기능은 읽기 권한자 역할로 제한됩니다. 사용자는 OPC UA GDS 표준 인터페이스를 사용하여 Edge 모듈에서 마이크로서비스로 가장할 수 없습니다.

다음 단계

OPC 자격 증명 모음 아키텍처에 대해 알아보았으면, 다음을 수행할 수 있습니다.