証明書による通信の暗号化とセキュリティポリシーの変更
ヒント
最初にアプリケーションコードを暗号化または署名するには、次の手順を参照してください。 ブートアプリケーションの暗号化および/または署名.
次の手順は、プログラミングシステムとPLC間の暗号化通信の設定と処理に関するものです。
必要条件:
- コントローラとの暗号化された通信とユーザー管理はコントローラに適用されます。 
- 個別のパスワードはまだ存在しません。 
- 証明書がコンピュータにインストールされておらず、コントローラへの接続がまだ設定されていません。 CODESYS Security Agent がインストールされている。 
- デバイスツリーで、コントローラーをダブルクリックします。 - デバイスエディタが開きます。 
- クリック 通信設定 タブ。 
- の中に デバイス メニューで、次の点を確認してください。 - ザ・ 暗号化通信 設定は有効になっています。 
- したがって、 暗号化通信を強制する オプションはで有効になっています ユーザ の [] タブ セキュリティ画面。 
 
- で コミュニケーション設定 タブをクリックし、 ネットワークをスキャン ボタン。 
- コントローラを選択します。 - デバイスの証明書に通信用の信頼できる署名がないことを通知するダイアログが開きます。この証明書をローカル証明書管理で信頼できる証明書としてお使いのコンピューターにインストールするか (オプション 1)、この証明書のみのセッションを受け入れるか (オプション 2) のどちらかを尋ねられます。 - 重要- この方法でインストールされたコントローラ証明書は、30 日間のみ有効です。これにより、次のような長期的な解決策に取り組む時間ができます。 - より長い期間 (365 日など) の自己署名証明書をもう1つ作成します。証明書が既に存在していても、セキュリティ画面でこれを行うことができます。また、デバイスエディターで PLC シェルコマンドを使用することもできます。 - 以下の 2 つのセクションを参照してください。 - 「暗号化通信の有効期間を長くしたコントローラ証明書を設定中...」 
- CA 署名付き証明書をインポートします。現在のところ、これはランタイムの PLC シェルコマンドでのみ可能です。ランタイムシステムは、最初から暗号化された通信が可能になるように、少なくとも 1 つの自己署名証明書が用意されていることを確認します。その後、この証明書を CA 署名付きの証明書に置き換えることができます 
 
- 証明書をインストールする場合は、ステップ 5 でオプション 1 を選択し、をクリックします。 OK ダイアログプロンプトを確認します。 - 証明書は信頼できるものとしてリストされています。自己署名証明書を初めて受け入れた後は、プロンプトを表示しなくても、コントローラとの暗号化された接続を何度も確立できます。 - デバイスにユーザー管理が必要であるという通知とともにダイアログプロンプトが開きますが、まだ有効になっていません。必要に応じて、ユーザー管理を有効にするように求められます。この場合、新しい管理者アカウントを作成してから、このユーザーとしてログインする必要があるという通知が表示されます。 
- クリック はい ダイアログプロンプトを閉じます。 - The デバイスユーザーの追加 ダイアログが開き、初期デバイス管理者を作成します。 
- このユーザーとしてユーザー管理を編集するには、デバイスユーザーを作成します。この場合は、 管理者 グループが使用可能です。を定義します。 名前 と [パスワード] デバイスユーザー用。パスワードの強度が表示されます。パスワード変更に関する設定オプションにも注意してください。デフォルトでは、パスワードはユーザーがいつでも変更できます。 OK 確認のため。 - The デバイスユーザーのログオン ダイアログが開きます。 
- 前のステップで定義した新しいデバイス管理者の資格情報を指定します。 - コントローラにログインしています。に ユーザーとグループ タブをクリックすると、  同期モードに切り替えるボタン。デバイスのユーザー管理が表示され、編集できます。 同期モードに切り替えるボタン。デバイスのユーザー管理が表示され、編集できます。- クリックした後 わかった 確認するために、デバイスのユーザー管理がエディタービューに表示されます。のユーザーが含まれています 管理者 定義したグループ。このユーザーの名前は、ウィンドウのタスクバーにも次のように表示されます。 デバイスユーザー。 - ヒント- 作成した管理者グループのデバイスユーザーとしてログインすると、追加のユーザーとグループを作成できます。 
- 保存したすべてのコントローラ証明書 (手順 6 から) は、コンピュータのローカルの Windows 証明書ストアに保存されます。このメモリには、次の方法でアクセスできます。 - certmgr.mscウィンドウズのコマンド 実行 ダイアログ。- コントローラとの暗号化通信用に登録されているすべての証明書は、ここにリストされています。 コントローラー証明書。 
要件:をインストール済みであること CODESYS Security Agent。保護対象コントローラに初めて接続したときに作成した一時証明書を、有効期間の長い証明書に置き換えたい
この場合、 セキュリティ画面 ビューには追加のタブがあります。 デバイス。これにより、コントローラとの暗号化通信用の証明書を簡単に設定できます。次の Web サイトにあるヘルプを参照してください CODESYS Security Agent: コントローラ証明書によるデバイスとの暗号化通信。
持っていない場合は、このあまり便利ではない方法を選択してください CODESYS Security Agent。この場合、通信暗号化の有効期間の長い証明書をで設定できます PLC シェル デバイスエディターのタブ。
要件:コントローラーに接続している。
- 最初に、資格のある証明書がすでにコントローラーにあるかどうかを確認します。使用可能な証明書がない場合は、新しい証明書を作成します。 - デバイスツリーでコントローラーをダブルクリックしてデバイスエディターを開き、 PLCシェル タブ。 - タブは空のウィンドウで表示されます。その下にはコマンドラインがあります。 
- 指定します - cert-getapplistコマンドラインでコマンドを実行します。- 使用されているすべての証明書が一覧表示されます。このリストには、ランタイムコンポーネントに関する情報と、証明書が使用可能かどうかに関する情報が含まれています。 
- コンポーネントの証明書がまだ存在しない場合 - CmpSecureChannel次に、入力行に次のコマンドを入力します。- cert-genselfsigned <number of the component in the applist>- それ以外の場合は、ステップ 5 に直接進んでください。 
- クリック ログ タブをクリックし、  更新ボタン。 更新ボタン。- ディスプレイには、証明書が正常に生成されたかどうかが表示されます。 
- 再びに戻ります PLCシェル タブをクリックしてコマンドを入力します - cert-getapplist。- コンポーネントの新しい証明書 - CmpSecureChannel表示されています。
- 次の2つの手順では、セキュリティ画面で暗号化通信を有効にします。 CODESYS。 
- ステータスバーで、ダブルクリックします  開くには セキュリティ画面。 開くには セキュリティ画面。
- に ユーザー タブで、 暗号化された通信を実施する のオプション セキュリティレベル グループ。 - すべてのコントローラーへの通信は暗号化されます。コントローラに証明書がない場合、そのコントローラにログインすることはできません。 - 開発システム、ゲートウェイ、およびコントローラー間の接続線は、 通信設定 コントローラのデバイスエディタのタブ。 
- の代わりとして 暗号化された通信を実施する すべてのコントローラーに適用されるオプション。特定のコントローラーに対してのみ暗号化通信を定義することもできます。これを行うには、 通信設定 それぞれのコントローラーのエディターのタブ。次に、をクリックします 暗号化された通信 の中に 端末 リストボックス。 - このコントローラーとの通信は暗号化されています。コントローラに証明書がない場合、そのコントローラにログインすることはできません。 - 開発システム、ゲートウェイ、およびコントローラー間の接続線は、 通信設定 コントローラのデバイスエディタのタブ。 
- コントローラに初めてログインすると、コントローラの証明書が信頼できる機関によって署名されていないという情報を含むダイアログが開きます。さらに、ダイアログには証明書に関する情報が表示され、信頼できる証明書としてローカルにインストールするように求められます - Windows Certificate Storeに コントローラ証明書 フォルダー。- ダイアログを確認すると、証明書がローカルストアにインストールされ、コントローラーにログインします。 - 将来的には、コントローラーとの通信はこの制御証明書で自動的に暗号化されます。 
- V3.5.13.0未満のコントローラーのキー交換のセキュリティを強化するには、コントローラーでDiffie-Hellmanパラメーターを生成できます。そのためには - cert-gendhparams入力行に。- これは、V3.5.13.0以上のコントローラーでは不要になりました。 - 重要- 注意:Diffie-Hellmanパラメーターの生成は、数分または数時間続く場合があります。ただし、このプロセスは、コントローラーごとに1回だけ実行する必要があります。 Diffie-Hellmanパラメータは、キー交換および暗号化されたデータサンプリングに対する将来の攻撃のセキュリティを強化します。 
ヒント
すべてのコントローラが暗号化通信の無効化をサポートしているわけではないことに注意してください。
重要
暗号化通信を無効にしないことを強くお勧めします。特に、ユーザー管理機能が有効になっている場合は、認証情報が悪用されないように、暗号化通信を有効にする必要があります
要件:デバイスへの接続が確立されている。デバイスは暗号化通信をサポートします。
- デバイスツリーで、コントローラーをダブルクリックします。 - デバイスエディタが開きます。 
- クリック 通信設定 タブ。 
- を開きます [デバイス] エディターのヘッダーにあるメニュー。をクリックします。 ランタイムセキュリティポリシーを変更 コマンド。 - ザ・ ランタイムセキュリティポリシーの変更 ダイアログが開きます。 
- の中に コミュニケーション エリア、設定の中から選択できます 暗号化 (オプション)、 強制暗号化 (推奨)、 暗号化なし。 - いつ 暗号化された通信 オプションを選択すると、開発システム、ゲートウェイ、デバイス間の接続線がエディタで太字で強調表示され、グラフィカル表示では色付きで強調表示されます。 
- ダイアログの下部にある デバイスユーザー管理 エリアでは、切り替えることができます ユーザー管理 (オプション) そして ユーザー管理の強制 設定。 - ヒント- の代替として ランタイムセキュリティポリシーの変更 デバイスエディタのダイアログで、有効/無効にすることもできます 暗号化通信を強制 での設定 セキュリティ画面。