次の方法で共有


OPC UA 用コネクタの OPC UA 証明書インフラストラクチャ

OPC UA 用コネクタは、OPC UA サーバー アプリケーションに安全に接続できる OPC UA クライアント アプリケーションです。 OPC UA のセキュリティには、次のようなものがあります。

  • アプリケーション認証
  • メッセージの署名
  • データの暗号化
  • ユーザーの認証と認可。

この記事では、アプリケーション認証と、エッジの OPC UA サーバーに安全に接続するための OPC UA 用コネクタの構成方法に焦点を当てます。 OPC UA では、すべてのアプリケーション インスタンスに X.509 証明書があり、この証明書を使用して、通信する他の OPC UA アプリケーションとの信頼関係を確立します。

OPC UA アプリケーション セキュリティの詳細については、「アプリケーション認証」を参照してください。

次の図は、OPC UA 用コネクタが OPC UA サーバーに接続するときに発生する一連のイベントを示しています。 この記事の後半のセクションでは、シーケンス内の各ステップの詳細について説明します。

OPC UA コネクタの接続ハンドシェイクをまとめた図。

OPC UA 用コネクタ アプリケーション インスタンス証明書

OPC UA 用コネクタは、OPC UA クライアント アプリケーションです。 OPC UA 用コネクタは、OPC UA サーバーからメッセージとデータを収集するために確立するすべてのセッションに対して、1 つの OPC UA アプリケーション インスタンス証明書を使用します。 OPC UA 用コネクタの既定のデプロイでは、cert-manager を使用してアプリケーション インスタンス証明書を管理します。

  • Cert-manager は、自己署名 OPC UA 互換証明書を生成し、Kubernetes ネイティブ シークレットとして格納します。 この証明書の既定の名前は aio-opc-opcuabroker-default-application-cert です。
  • OPC UA 用コネクタは、OPC UA サーバーへの接続に使用されるすべてのポッドに、この証明書をマッピングして使用します。
  • Cert-manager は、有効期限が切れる前に証明書を自動的に更新します。

既定では、OPC UA 用コネクタは、サポートされているセキュリティ レベルが最も高いエンドポイントを使用して、OPC UA サーバーに接続します。 そのため、2 つの OPC UA アプリケーション間の相互信頼ハンドシェイクを事前に確立しておく必要があります。 アプリケーション認証の相互信頼を有効にするには、次の操作が必要です。

  • Kubernetes シークレット ストアから OPC UA 用コネクタのアプリケーション インスタンス証明書の公開キーをエクスポートし、OPC UA サーバーの信頼できる証明書の一覧に追加します。
  • OPC UA サーバーのアプリケーション インスタンスの公開キーをエクスポートし、OPC UA 用コネクタの信頼できる証明書の一覧に追加します。

OPC UA サーバーと OPC UA 用コネクタ間の相互信頼検証が可能になりました。 操作エクスペリエンス Web UI で OPC UA サーバーの AssetEndpointProfile を構成し、操作を開始できるようになりました。

自己署名 OPC UA サーバー アプリケーション インスタンス証明書を使用する

このシナリオでは、OPC UA 用コネクタが信頼するすべての OPC UA サーバーの証明書を含む信頼された証明書リストを保持する必要があります。 OPC UA サーバーとのセッションを作成するには、次の操作を行います。

  • OPC UA のコネクタは、アプリケーション インスタンス証明書の公開キーを OPC UA サーバーに送信します。
  • OPC UA サーバーは、コネクタの証明書をその信頼された証明書の一覧に照らして検証します。
  • コネクタは、OPC UA サーバーの証明書をその信頼された証明書の一覧に照らして検証します。

信頼された証明書の一覧を管理する方法については、「 信頼できる証明書の一覧を構成する」を参照してください。

信頼できる証明書の一覧を扱う SecretProviderClass カスタム リソースの既定の名前は、aio-opc-ua-broker-trust-list です。

証明機関によって署名された OPC UA サーバー アプリケーション インスタンス証明書を使用する

このシナリオでは、OPC UA のコネクタの信頼された証明書の一覧に証明機関の公開キーを追加します。 OPC UA 用コネクタは、証明機関によって署名された有効なアプリケーション インスタンス証明書を持つすべてのサーバーを自動的に信頼します。

証明書失効リスト (CRL) を信頼された証明書の一覧にアップロードすることもできます。 OPC UA 用コネクタは CRL を使用して、証明機関が OPC UA サーバーの証明書を失効させたかどうかを確認します。

信頼された証明書の一覧を管理する方法については、「 信頼できる証明書の一覧を構成する」を参照してください。

中間証明機関によって署名された OPC UA サーバー アプリケーション インスタンス証明書を使用する

このシナリオでは、証明機関によって発行された証明書のサブセットを信頼する必要があります。 発行者証明書の一覧を使用して、信頼関係を管理できます。 この発行者証明書の一覧には、OPC UA 用コネクタが信頼する中間証明書が格納されます。 OPC UA 用コネクタは、発行者証明書リストの中間証明書によって署名された証明書のみを信頼します。

また、OPC UA のコネクタの信頼された証明書の一覧にルート証明機関の公開キーをアップロードする必要もあります。 OPC UA 用コネクタは、ルート証明機関の公開キーを使用して、発行者の証明書一覧の中間証明書を検証します。

証明書失効リスト (CRL) を発行者証明書リストにアップロードすることもできます。 OPC UA 用コネクタは CRL を使用して、証明機関が OPC UA サーバーの証明書を失効させたかどうかを確認します。

発行者証明書の一覧を扱う SecretProviderClass カスタム リソースの既定の名前は、aio-opc-ua-broker-issuer-list です。

発行者証明書の一覧を管理する方法については、「発行者証明書の 一覧を構成する」を参照してください。

サポートされている機能

次の表は、OPC UA 用コネクタの現在のバージョンでの、認証に対する機能のサポート レベルを示しています。

機能 意味 記号
OPC UA 自己署名アプリケーション インスタンス証明書の構成 サポートされています
OPC UA 信頼済み証明書のリストの処理 サポートされています
OPC UA 発行者証明書リストの処理 サポートされています
OPC UA エンタープライズ グレードのアプリケーション インスタンス証明書の構成 サポートされています
OPC UA の信頼されていない証明書の処理 サポートされていない
OPC UA グローバル探索サービスの処理 サポートされていない