OPC UAのセキュリティ

OPC UAのセキュリティの概略は、下の図の通りです。OPC UAはSecure Channelを使用することで、OPC UA ServerとClient間で、交換するメッセージのセキュリティを保証します。アプリケーションは、Sessionが確立するときに1回だけアプリケーション認証を受けます。アプリケーション認証は証明書を使用することが一般的です。(図はOPC Foundationの仕様書より抜粋)

OPC UAのセキュリティの定義

実際に、OPC UAのセキュリティがどう定義されているのか、プラスチック成型機の情報モデル(EUROMAP 77)を例として見てみましょう。プラスチック成型機の情報モデルのセキュリティ要件は、次の通りに定義されています。

Security Policy:Basic256(暗号化のProfile)
Security Mode:sign(メッセージのセキュリティ指定)
ユーザ認証:UserNamePassword (ユーザの認証方法)
アプリケーション認証:証明書の使用

OPC UAは暗号化のProfileの指定をSecurity Policyといい、メッセージのセキュリティの指定をSecurity Modeといいます。

SECURITY POLICY

Security Policyを決定する暗号化のProfileはEmpress iData OPC UA Serverのコンフィグファイル(uaserver.config.xml)のタグ内に設定します。以下のURLで指定します。

http://opcfoundation.org/UA/SecurityPolicy#None
http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15
http://opcfoundation.org/UA/SecurityPolicy#Basic256
http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256

Security Mode

Security Modeはメッセージの暗号化の指定です。個々のNodeをAccessRestrictions Attributeで指定することも可能ですし、Server全体を一括で指定することも可能です。個々のNodeをひとつひとつ指定する必要もあまりないと思いますので、NamespaceMetadataのDefaultAccessRestrictionsを使用する方法をおすすめします。

ユーザ認証

ユーザ認証は、AnonymousとUserNamePasswordが選択できます。しかし、ほとんどのCompanion SpecはUserNamePasswordを選択するように推奨されています。Empress iData OPC UA Serverのコンフィグファイル(uaserver.config.xml)でどちらかを指定します。

アプリケーション認証

X.509証明書はSSL通信で必須です。アプリケーション認証のために使用されます。Serverを起動する前に証明書を入手する必要があります。OPC UAでは証明書を販売する会社から購入することを推奨していますが、FA機器の場合は現実的ではありません。自己署名の証明書を作成する必要があります。作成の仕方は、Empress iData OPC UA Severのマニュアルに記載されています。証明書を作成もしくは購入したら、マニュアルに記載されている通りにファイルをデプロイし、uaserver.config.xmlを修正して下さい。