(57)【要約】      （修正有）【課題】制御ユニットにおけるセキュリティ上の脅威を低減することが可能となるコントローラシステムを提供する。【解決手段】コントローラシステム１は、制御対象を制御するための制御演算を実行する制御ユニット１００と、セキュリティを担当するセキュリティユニット２００とを備える。制御ユニットは、外部装置とのデータの遣り取りを仲介する第１インターフェイス１１０と、セキュリティユニットとの通信を担当する通信コントローラ１３０と、通信コントローラを通じて、制御ユニットとセキュリティユニットとの接続が検知されると、第１インターフェイスを介して外部装置との間でデータの遣り取りをすることを制限する制限手段とを含む。【選択図】図４
2020123104.tif 000002
【特許請求の範囲】
【請求項１】
コントローラシステムであって、
制御対象を制御するための制御演算を実行する制御ユニットと、
前記制御ユニットに対するセキュリティを担当するセキュリティユニットとを備え、
前記制御ユニットは、
外部装置とのデータの遣り取りを仲介する第１インターフェイスと、
前記セキュリティユニットとの通信を担当する通信コントローラと、
前記通信コントローラを通じて、前記制御ユニットと前記セキュリティユニットとの接続が検知されると、前記第１インターフェイスを介して前記外部装置との間で前記データの遣り取りをすることを制限する制限手段とを含む、コントローラシステム。
【請求項２】
前記セキュリティユニットは、
前記外部装置とのデータの遣り取りを仲介する第２インターフェイスと、
前記第２インターフェイスを介して前記外部装置との間で前記データの遣り取りをすることを管理する管理手段とをさらに含み、
前記管理手段は、前記制限手段により前記第１インターフェイスの使用が制限されている場合に、前記制御ユニットが前記第２インターフェイスを介して前記外部装置との間で前記データを遣り取りすることについては許可する、請求項１に記載のコントローラシステム。
【請求項３】
前記制限手段は、前記第１インターフェイスの使用を制限している場合、前記制御ユニットが前記第１インターフェイスを介して前記外部装置へ書き込むためのデータを、前記通信コントローラを通じて前記セキュリティユニットに送信し、
前記管理手段は、前記送信された書き込むためのデータを前記第２インターフェイスを介して前記外部装置へ書き込むことについては許可する、請求項２に記載のコントローラシステム。
【請求項４】
前記セキュリティユニットは、
前記外部装置との間で遣り取りされるデータについての安全性を評価する評価部をさらに含み、
前記管理手段は、前記外部装置との間で遣り取りされるデータの安全性が予め定めた基準以上の場合、前記制御ユニットへ当該データを送信し、当該データの安全性が前記基準未満の場合、前記制御ユニットへ当該データを送信することを中止する、請求項２または３に記載のコントローラシステム。
【請求項５】
前記セキュリティユニットは、
ユーザへの通知を行う通知手段をさらに含み、
前記通知手段は、前記外部装置との間で遣り取りされるデータの安全性が前記基準未満の場合、通知を行う、請求項４に記載のコントローラシステム。
【請求項６】
前記外部装置は、前記第１インターフェイスおよび前記第２インターフェイスの少なくともいずれかに対して着脱可能な記憶媒体である、請求項２〜５のいずれか１項に記載のコントローラシステム。
【請求項７】
前記制限手段は、前記外部装置との間のデータの読み出しのみを行う、当該外部装置との間のデータの書き込みのみを行う、ならびに、当該外部装置との間のデータの読み出しおよび書き込みを禁止するうちのいずれかを行う、請求項１〜６のいずれか１項に記載のコントローラシステム。
【請求項８】
前記制限手段は、予め定められた前記外部装置との間でのみ前記データの遣り取りをする、請求項１〜６のいずれか１項に記載のコントローラシステム。
【請求項９】
制御対象を制御するための制御演算を実行する制御ユニットであって、
外部装置とのデータの遣り取りを仲介する第１インターフェイスと、
前記制御ユニットに対するセキュリティを担当するセキュリティユニットとの通信を担当する通信コントローラと、
前記通信コントローラを通じて、前記制御ユニットと前記セキュリティユニットとの接続が検知されると、前記第１インターフェイスを介して前記外部装置との間で前記データの遣り取りをすることを制限する制限手段とを備える、制御ユニット。
【請求項１０】
制御対象を制御するための制御演算を実行する制御ユニットの制御プログラムであって、
前記制御プログラムは、前記制御ユニットに、
前記制御ユニットに対するセキュリティを担当するセキュリティユニットとの通信を担当する通信コントローラを通じて、前記制御ユニットと前記セキュリティユニットとの接続を検知するステップと、
外部装置とのデータの遣り取りを仲介する第１インターフェイスを介して前記外部装置との間で前記データの遣り取りを制限する状態を維持するステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御対象を制御するコントローラシステムにおけるインターフェイスを介したデータの遣り取りに関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）を用いた生産現場などでは、各種設備および各設備に配置される各種装置の制御には、制御ユニットを含むＰＬＣ（プログラマブルロジックコントローラ）などが用いられる。制御ユニットは、ＳＤ（Secure Digital）メモリカード等の外部装置とのデータの遣り取りを仲介するインターフェイスを有する。制御ユニットは、インターフェイスを介して、外部装置に保存されたデータの読み出しを行ったり、外部装置へのデータの書き込みを行う。
【０００３】
インターフェイスを介して、ＰＬＣと外部装置とがデータの遣り取りを行う技術の一例として、特開２００８−２９３２４１号公報（特許文献１）は、「ユーザからの操作指令を受け付ける操作部と、ＰＬＣにデータを送信する第１のインターフェイスと、携帯可能な外部メモリが接続される第２のインターフェイスと、第２のインターフェイスに接続された外部メモリに書き込まれたデータを読み出し、第１のインターフェイスを介してＰＬＣに送信する制御部とを備える」ことを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９３２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、インターフェイスを介して、制御ユニットと外部装置とのデータの遣り取りが何の制限もなく行われると、機密情報等の重要なデータが制御ユニットの外部に流出したり、ウィルス等の不正なデータが制御ユニットの内部に格納されたりして、セキュリティ上の脅威となり得る。したがって、制御ユニットにおけるセキュリティ上の脅威を低減可能な技術が必要とされている。
【０００６】
本開示は、係る実情に鑑み考え出されたものであり、制御ユニットにおけるセキュリティ上の脅威を低減することが可能な技術が開示される。
【課題を解決するための手段】
【０００７】
本開示の一例では、コントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、上記制御ユニットに対するセキュリティを担当するセキュリティユニットとを備え、上記制御ユニットは、外部装置とのデータの遣り取りを仲介する第１インターフェイスと、上記セキュリティユニットとの通信を担当する通信コントローラと、上記通信コントローラを通じて、上記制御ユニットと上記セキュリティユニットとの接続が検知されると、上記第１インターフェイスを介して上記外部装置との間で上記データの遣り取りをすることを制限する制限手段とを含む。
【０００８】
この開示によれば、コントローラシステムは、セキュリティ上の脅威となり得る可能性のある外部装置と制御ユニットとの直接的なデータの遣り取りを制限することで、制御ユニットにおけるセキュリティ上の脅威を低減することが可能となる。
【０００９】
本開示の一例では、上記セキュリティユニットは、上記外部装置とのデータの遣り取りを仲介する第２インターフェイスと、上記第２インターフェイスを介して上記外部装置との間で上記データの遣り取りをすることを管理する管理手段とをさらに含み、上記管理手段は、上記制限手段により上記第１インターフェイスの使用が制限されている場合に、上記制御ユニットが上記第２インターフェイスを介して上記外部装置との間で上記データを遣り取りすることについては許可する。
【００１０】
この開示によれば、コントローラシステムは、セキュリティ上の脅威となり得る可能性のある外部装置との直接的な遣り取りをセキュリティユニットに担当させることで、制御ユニットにおけるセキュリティ上の脅威を低減することが可能となる。
【００１１】
本開示の一例では、上記制限手段は、上記第１インターフェイスの使用を制限している場合、上記制御ユニットが上記第１インターフェイスを介して上記外部装置へ書き込むためのデータを、上記通信コントローラを通じて上記セキュリティユニットに送信し、上記管理手段は、上記送信された書き込むためのデータを上記第２インターフェイスを介して上記外部装置へ書き込むことについては許可する。
【００１２】
この開示によれば、コントローラシステムは、ユーザプログラムの設定を変更することなく、データの書き込み先を制御ユニットの第１インターフェイスとセキュリティユニットの第２インターフェイスとのうちのいずれか選択できる。
【００１３】
本開示の一例では、上記セキュリティユニットは、上記外部装置との間で遣り取りされるデータについての安全性を評価する評価部をさらに含み、上記管理手段は、上記外部装置との間で遣り取りされるデータの安全性が予め定めた基準以上の場合、上記制御ユニットへ当該データを送信し、当該データの安全性が上記基準未満の場合、上記制御ユニットへ当該データを送信することを中止する。
【００１４】
この開示によれば、コントローラシステムは、第２インターフェイスを介して外部装置から読み出されたデータの安全性に応じて制御ユニットへのデータの送信の可否を決定することができ、制御ユニットのセキュリティ上の脅威をより確実に低減することが可能となる。
【００１５】
本開示の一例では、上記セキュリティユニットは、ユーザへの通知を行う通知手段をさらに含み、上記通知手段は、上記外部装置との間で遣り取りされるデータの安全性が上記基準未満の場合、通知を行う。
【００１６】
この開示によれば、コントローラシステムは、セキュリティ上の安全性が低いデータをセキュリティユニットが検知したことをユーザに対して通知できる。
【００１７】
本開示の一例では、上記外部装置は、上記第１インターフェイスおよび上記第２インターフェイスの少なくともいずれかに対して着脱可能な記憶媒体である。
【００１８】
この開示によれば、コントローラシステムは、インターフェイスを介してデータの読み出しおよび書き込みの少なくともいずれかを容易に行える。
【００１９】
本開示の一例では、上記制限手段は、上記外部装置との間のデータの読み出しのみを行う、当該外部装置との間のデータの書き込みのみを行う、ならびに、当該外部装置との間のデータの読み出しおよび書き込みを禁止するうちのいずれかを行う。
【００２０】
この開示によれば、コントローラシステムは、サポート装置を用いて設定情報の内容を変更することで、各外部装置のセキュリティ上の安全性に応じた制限をインターフェイス毎に設定できる。
【００２１】
本開示の一例では、上記制限手段は、予め定められた上記外部装置との間でのみ上記データの遣り取りをする。
【００２２】
この開示によれば、コントローラシステムは、データの遣り取りについて予め許可されていない外部装置によるセキュリティ上の脅威を防ぐことができる。
【００２３】
本開示の一例では、制御対象を制御するための制御演算を実行する制御ユニットは、外部装置とのデータの遣り取りを仲介する第１インターフェイスと、上記制御ユニットに対するセキュリティを担当するセキュリティユニットとの通信を担当する通信コントローラと、上記通信コントローラを通じて、上記制御ユニットと上記セキュリティユニットとの接続が検知されると、上記第１インターフェイスを介して上記外部装置との間で上記データの遣り取りをすることを制限する制限手段とを備える。
【００２４】
この開示によれば、制御ユニットは、セキュリティ上の脅威となり得る可能性のある外部装置と自ユニットとの直接的なデータの遣り取りを制限することで、自ユニットにおけるセキュリティ上の脅威を低減することが可能となる。
【００２５】
本開示の一例では、制御対象を制御するための制御演算を実行する制御ユニットの制御プログラムは、上記制御ユニットに、上記制御ユニットに対するセキュリティを担当するセキュリティユニットとの通信を担当する通信コントローラを通じて、上記制御ユニットと上記セキュリティユニットとの接続を検知するステップと、外部装置とのデータの遣り取りを仲介する第１インターフェイスを介して上記外部装置との間で上記データの遣り取りを制限する状態を維持するステップとを実行させる。
【００２６】
この開示によれば、制御プログラムは、セキュリティ上の脅威となり得る可能性のある外部装置と制御ユニットとの直接的なデータの遣り取りを制限することで、制御ユニットにおけるセキュリティ上の脅威を低減することが可能となる。
【発明の効果】
【００２７】
本開示によれば、ある局面において、制御ユニットにおけるセキュリティ上の脅威を低減することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本実施の形態に係るコントローラシステム１の構成例を示す外観図である。
【図２】本実施の形態に従うコントローラシステム１を構成する制御ユニット１００のハードウェア構成例を示す模式図である。
【図３】本実施の形態に従うコントローラシステム１を構成するセキュリティユニット２００のハードウェア構成例を示す模式図である。
【図４】制御ユニット１００とセキュリティユニット２００との接続状態に応じた第１インターフェイス１１０の利用の可否について説明する図である。
【図５】コントローラシステム１における制御ユニット１００とセキュリティユニット２００とが非接続状態の場合の処理手順を示すフローチャートである。
【図６】コントローラシステム１における制御ユニット１００とセキュリティユニット２００とが接続状態の場合の処理手順を示すフローチャートである。
【図７】ユーザプログラムの内容を変更することなく、セキュリティユニット２００の接続状態に応じて、データの書き込み先が変更されることを表した図である。
【図８】データの書き込み先の変更についてより詳細に表した図である。
【図９】外部装置から読み出されるデータの安全性に応じた通信の可否について説明する図である。
【図１０】コントローラシステム１におけるデータの安全性に応じた処理手順を示すフローチャートである。
【図１１】設定情報１８２の変更と、変更後の設定情報１８２を用いたデータの遣り取りの制限について説明する図である。
【図１２】メモリカードインターフェイス１１３における設定情報を変更する場合の例を示す図である。
【図１３】ＵＳＢコントローラ１１２における設定情報を変更する場合の例を示す図である。
【図１４】ネットワークコントローラ１１１における設定情報を変更する場合の例を示す図である。
【図１５】ＵＳＢコントローラ１１２における設定情報を変更する場合の別の例を示す図である。
【発明を実施するための形態】
【００２９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００３０】
＜Ａ．コントローラシステム１＞
まず、本実施の形態に従うコントローラシステム１の構成について説明する。
【００３１】
図１は、本実施の形態に係るコントローラシステム１の構成例を示す外観図である。図１を参照して、コントローラシステム１は、制御ユニット１００と、セキュリティユニット２００と、１または複数の機能ユニット４００と、電源ユニット４５０とを含む。なお、コントローラシステム１は、制御ユニット１００およびセキュリティユニット２００の少なくともいずれかにアクセス可能なサポート装置５００を含んでもよい。サポート装置５００は、画像を表示する表示部５０１と、ユーザ操作を受け付ける操作入力部５０２とを含む。操作入力部５０２は、例えばキーボードおよびマウスの少なくともいずれかを含む。
【００３２】
サポート装置５００は、制御ユニット１００が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置５００は、制御ユニット１００およびセキュリティユニット２００の少なくともいずれかで実行されるプログラムの開発環境、制御ユニット１００およびセキュリティユニット２００の少なくともいずれかに接続される各種デバイスのパラメータ（コンフィギュレーション）を設定するための設定環境を提供する。開発環境は、例えば、プログラム作成編集ツール、パーサ、コンパイラ等を含む。また、サポート装置５００は、後述するユーザプログラムを制御ユニット１００およびセキュリティユニット２００の少なくともいずれかに送信する機能、当該ユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
【００３３】
制御ユニット１００とセキュリティユニット２００との間は、任意のデータ伝送路（例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネット（登録商標）など）を介して接続されている。制御ユニット１００と、１または複数の機能ユニット４００との間は、図示しない内部バスを介して接続されている。
【００３４】
制御ユニット１００は、コントローラシステム１において中心的な処理を実行する。制御ユニット１００は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。図１に示す構成例において、制御ユニット１００は、１または複数のインターフェイスを有している。より具体的には、制御ユニット１００は、ＵＳＢ（Universal Serial Bus）コントローラ１１２，メモリカードインターフェイス１１３，および、ネットワークコントローラ１１５，１１６，１１７を含むインターフェイスを有している。以下では、制御ユニット１００のネットワークコントローラ１１５，１１６，１１７を総称してネットワークコントローラ１１１とも称する。
【００３５】
セキュリティユニット２００は、制御ユニット１００に接続され、制御ユニット１００に対するセキュリティを担当する。図１に示す構成例において、セキュリティユニット２００は、１または複数のインターフェイスを有している。より具体的には、セキュリティユニット２００は、ＵＳＢコントローラ２１２，メモリカードインターフェイス２１３，および、ネットワークコントローラ２１５，２１６を含むインターフェイスを有している。以下では、セキュリティユニット２００のネットワークコントローラ２１５，２１６を総称してネットワークコントローラ２１１とも称する。
【００３６】
機能ユニット４００は、コントローラシステム１による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット４００は、典型的には、Ｉ／Ｏユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。Ｉ／Ｏユニットとしては、例えば、デジタル入力（ＤＩ）ユニット、デジタル出力（ＤＯ）ユニット、アナログ出力（ＡＩ）ユニット、アナログ出力（ＡＯ）ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。
【００３７】
電源ユニット４５０は、コントローラシステム１を構成する各ユニットに対して、所定電圧の電源を供給する。
【００３８】
＜Ｂ．各ユニットのハードウェア構成例＞
次に、本実施の形態に従うコントローラシステム１を構成する各ユニットのハードウェア構成例について説明する。
【００３９】
（ｂ１：制御ユニット１００）
図２は、本実施の形態に従うコントローラシステム１を構成する制御ユニット１００のハードウェア構成例を示す模式図である。図２を参照して、制御ユニット１００は、主たるコンポーネントとして、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、通信コントローラ１３０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１３と、ネットワークコントローラ１１５，１１６，１１７と、内部バスコントローラ１２２と、インジケータ１２４とを含む。
【００４０】
プロセッサ１０２は、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、制御演算、および、後述するような各種処理を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントとの間でデータの受け渡しをすることで、制御ユニット１００全体としての処理を実現する。
【００４１】
二次記憶装置１０８には、後述するシステムプログラム（例えば、後述する図４（ｂ）に示すシステムプログラム１８０）に加えて、システムプログラム１８０が提供する実行環境上で動作する制御プログラムが格納される。
【００４２】
通信コントローラ１３０は、セキュリティユニット２００との通信を担当する。通信コントローラ１３０としては、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネットなどに対応する通信チップを採用できる。
【００４３】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。ＵＳＢコントローラ１１２は、例えば、ＵＳＢメモリ１９２が着脱可能に構成されている。より具体的には、ＵＳＢコントローラ１１２は、ＵＳＢメモリ１９２からの制御プログラムや各種設定などのデータの読み出しを仲介する。あるいは、ＵＳＢコントローラ１１２は、ＵＳＢメモリ１９２に対する制御プログラムや各種設定などのデータの書き込みを仲介する。
【００４４】
メモリカードインターフェイス１１３は、任意の情報処理装置との間のデータの遣り取りを担当する。メモリカードインターフェイス１１３は、例えば、ＳＤメモリカード１９３を着脱可能に構成されている。より具体的には、メモリカードインターフェイス１１３は、ＳＤメモリカード１９３からの制御プログラムや各種設定などのデータの読み出しを仲介する。あるいは、メモリカードインターフェイス１１３は、ＳＤメモリカード１９３に対する制御プログラムや各種設定などのデータの書き込みを仲介する。
【００４５】
ネットワークコントローラ１１１は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ１１１は、例えば、ＬＡＮ（Local Area Network）ケーブル１９１を着脱可能に構成されている。ネットワークコントローラ１１１は、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの産業用ネットワークプロトコルを採用してもよい。
【００４６】
このように、ＵＳＢコントローラ１１２、メモリカードインターフェイス１１３、ネットワークコントローラ１１１は、制御ユニット１００に対する外部装置とのデータの遣り取りを仲介するインターフェイスである。以下では、ＵＳＢコントローラ１１２、メモリカードインターフェイス１１３、ネットワークコントローラ１１１を総称して、第１インターフェイス１１０とも称する。
【００４７】
内部バスコントローラ１２２は、コントローラシステム１を構成する１または複数の機能ユニット４００との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【００４８】
インジケータ１２４は、制御ユニット１００のセキュリティ上の安全性や動作状態等についてユーザ通知するものである。ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００４９】
図２には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御ユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００５０】
（ｂ２：セキュリティユニット２００）
図３は、本実施の形態に従うコントローラシステム１を構成するセキュリティユニット２００のハードウェア構成例を示す模式図である。図３を参照して、セキュリティユニット２００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ２０２と、チップセット２０４と、主記憶装置２０６と、二次記憶装置２０８と、通信コントローラ２３０と、ＵＳＢコントローラ２１２と、メモリカードインターフェイス２１３と、ネットワークコントローラ２１５，２１６と、インジケータ２２４とを含む。
【００５１】
プロセッサ２０２は、二次記憶装置２０８に格納された各種プログラムを読み出して、主記憶装置２０６に展開して実行することで、制御ユニット１００に対するセキュリティを実現する。チップセット２０４は、プロセッサ２０２と各コンポーネントとの間でデータの受け渡しをすることで、セキュリティユニット２００全体としての処理を実現する。
【００５２】
二次記憶装置２０８には、後述するシステムプログラム（例えば、後述する図４（ｂ）に示すシステムプログラム２８０）に加えて、システムプログラム２８０が提供する実行環境上で動作するセキュリティシステムプログラムが格納される。
【００５３】
通信コントローラ２３０は、制御ユニット１００との通信を担当する。通信コントローラ２３０としては、制御ユニット１００に通信コントローラ１３０と同様に、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓあるいはイーサネットなどに対応する通信チップを採用できる。
【００５４】
ＵＳＢコントローラ２１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。ＵＳＢコントローラ２１２は、例えば、ＵＳＢメモリ２９２が着脱可能に構成されている。より具体的には、ＵＳＢコントローラ２１２は、ＵＳＢメモリ２９２からの制御プログラムや各種設定などのデータを読み出し仲介する。あるいは、ＵＳＢコントローラ２１２は、ＵＳＢメモリ２９２に対する制御プログラムや各種設定などのデータの書き込みを仲介する。
【００５５】
メモリカードインターフェイス２１３は、任意の情報処理装置との間のデータの遣り取りを担当する。メモリカードインターフェイス２１３は、例えば、ＳＤメモリカード２９３を着脱可能に構成されている。より具体的には、メモリカードインターフェイス２１３は、ＳＤメモリカード２９３からの制御プログラムや各種設定などのデータの読み出しを仲介する。あるいは、メモリカードインターフェイス２１３は、ＳＤメモリカード２９３に対する制御プログラムや各種設定などのデータの書き込みを仲介する。
【００５６】
ネットワークコントローラ２１１は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ２１１は、例えば、ＬＡＮケーブル２９１を着脱可能に構成されている。ネットワークコントローラ２１１は、イーサネットなどの汎用的なネットワークプロトコルを採用してもよい。
【００５７】
このように、ＵＳＢコントローラ２１２、メモリカードインターフェイス２１３、ネットワークコントローラ２１１は、セキュリティユニット２００に対する外部装置とのデータの遣り取りを仲介するインターフェイスである。以下では、ＵＳＢコントローラ２１２、メモリカードインターフェイス２１３、ネットワークコントローラ２１１を総称して、第２インターフェイス２１０とも称する。
【００５８】
上記の説明におけるＵＳＢメモリ、ＳＤメモリカードおよびＬＡＮケーブルを含む外部装置は、第１インターフェイス１１０および第２インターフェイス２１０の少なくともいずれかに対して着脱可能な記憶媒体である。これにより、コントローラシステム１は、インターフェイスを介したデータの読み出しおよび書き込みの少なくともいずれかを容易に行える。
【００５９】
インジケータ２２４は、セキュリティユニット２００のセキュリティ上の安全性や動作状態等についてユーザ通知するものである。ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００６０】
図３には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、セキュリティユニット２００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６１】
＜Ｃ．第１インターフェイス１１０の利用可否＞
次に、本実施の形態に従うコントローラシステム１の制御ユニット１００におけるセキュリティ上の脅威を低減する処理について説明する。図４は、制御ユニット１００とセキュリティユニット２００との接続状態に応じた第１インターフェイス１１０の利用の可否について説明する図である。
【００６２】
図４（ａ）を参照して、制御ユニット１００とセキュリティユニット２００とが電気的に非接続状態の場合は、第１インターフェイス１１０を介した制御ユニット１００と外部装置との間のデータの遣り取りは可能となる。制御ユニット１００とセキュリティユニット２００とが非接続状態とは、制御ユニット１００がセキュリティユニット２００以外の他のユニットと電気的に接続状態の場合を含む。他のユニットは、例えば、機能ユニット４００等である。
【００６３】
制御ユニット１００は、図２を用いて説明した二次記憶装置１０８と、第１インターフェイス１１０（ＵＳＢコントローラ１１２、メモリカードインターフェイス１１３およびネットワークコントローラ１１１）と、通信コントローラ１３０とを含む。
【００６４】
制御ユニット１００の二次記憶装置１０８は、システムプログラム１８０と、設定情報１８２と、ユーザプログラム１８４とを含む。
【００６５】
システムプログラム１８０は、第１インターフェイス１１０を利用するための制御用のプログラムであるドライバ１９０を含む。
【００６６】
設定情報１８２は、制御ユニット１００の構成や設定を定義するための情報である。より具体的には、設定情報１８２は、後述する制限モジュール１７０が第１インターフェイス１１０を介したデータの遣り取りの可否を決定するための情報を含む。データの遣り取りは、後述する制御エンジン１５０と外部装置との間で行われる。なお、設定情報１８２は、サポート装置５００を用いたユーザ操作により予め設定したり、設定した内容を変更することが可能である。設定情報１８２の変更等については後述する。
【００６７】
ユーザプログラム１８４は、ユーザにおける制御目的に応じて作成される。すなわち、制御ユニット１００を用いて制御する対象のライン（プロセス）などに応じて、任意に設計されるプログラムである。ユーザプログラム１８４は、例えば、シーケンスプログラムと協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム１８４は、シーケンスプログラムによって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。
【００６８】
また、制御ユニット１００は、制御エンジン１５０と制限モジュール１７０とを含む。制御ユニット１００に対して電源ユニット４５０から電力の供給が開始されると、プロセッサ１０２は、二次記憶装置１０８に格納されたシステムプログラム１８０と設定情報１８２とを二次記憶装置１０８から取得し、これらを主記憶装置１０６に展開する。これによりプロセッサ１０２は、制御エンジン１５０および制限モジュール１７０として機能する。
【００６９】
制御エンジン１５０は、第１インターフェイス１１０の仲介により外部装置とデータの遣り取りを行う。
【００７０】
制限モジュール１７０は、通信コントローラ１３０を通じて、制御ユニット１００とセキュリティユニット２００との接続の有無を検知する。そして、制限モジュール１７０は、制御ユニット１００とセキュリティユニット２００との接続が検知されていない場合は、設定情報１８２に基づいて、制御エンジン１５０と外部装置とが第１インターフェイス１１０を介してデータの遣り取りをすることを許可する。設定情報１８２には、制御ユニット１００とセキュリティユニット２００とが非接続状態の場合、第１インターフェイス１１０を制御するドライバ１９０が有効となり、制限モジュールが制御ユニット１００と外部装置とのデータの遣り取りを仲介することが可能となるような設定が予めなされている。
【００７１】
次に図４（ｂ）を参照して、制御ユニット１００とセキュリティユニット２００とが電気的に接続された状態の場合は、第１インターフェイス１１０を介した制御ユニット１００と外部装置との間のデータの遣り取りは制限される。
【００７２】
制限モジュール１７０は、通信コントローラ１３０を通じて、制御ユニット１００とセキュリティユニット２００との接続の有無を検知する。そして、制御ユニット１００とセキュリティユニット２００との接続が検知されると、制限モジュール１７０は設定情報１８２に基づいてデータの遣り取りを制限する。設定情報１８２には、制御ユニット１００とセキュリティユニット２００とが接続状態の場合、第１インターフェイス１１０を制御するドライバ１９０が無効となり、制御ユニット１００と外部装置とのデータの遣り取りを仲介すること不可となるような設定が予めなされている。制限モジュール１７０は、設定情報１８２に基づいて、第１インターフェイス１１０を介して制御エンジン１５０と外部装置との間でデータの遣り取りをすることを制限する。コントローラシステム１は、セキュリティ上の脅威となり得る可能性のある、外部装置と制御ユニット１００との直接的なデータの遣り取りを制限することで、制御ユニット１００におけるセキュリティ上の脅威を低減することが可能となる。
【００７３】
図５および図６には、コントローラシステム１における制御ユニット１００とセキュリティユニット２００との接続状態の有無に応じた処理手順を示す。
【００７４】
図５は、コントローラシステム１における制御ユニット１００とセキュリティユニット２００とが非接続状態の場合の処理手順を示すフローチャートである。なお、図５の処理では、セキュリティユニット２００以外の他のユニットである機能ユニット４００が制御ユニット１００と接続状態であるとして説明を行う。
【００７５】
図５を参照して、機能ユニット４００は、電源ユニット４５０からの電力の供給により起動する（ステップＳ１００）。
【００７６】
また、制御ユニット１００は、電源ユニット４５０からの電力の供給により起動する（ステップＳ２００）。
【００７７】
次に、制御ユニット１００は、通信コントローラ１３０を通じてユニットの接続の有無を確認する（ステップＳ２０２）。制御ユニット１００は、例えば、接続確認のための信号を、通信コントローラ１３０を通じて送信する。
【００７８】
機能ユニット４００は、制御ユニット１００からの接続確認を受信したことにより、制御ユニット１００に応答を行う（ステップＳ１０２）。機能ユニット４００は、例えば、接続応答の信号を、通信コントローラを通じて送信する。
【００７９】
制御ユニット１００は、接続応答を受信したことにより、型式確認を行う（ステップＳ２０４）。より具体的には、制御ユニット１００は、どのユニットが接続されているかを確認するための信号を、通信コントローラ１３０を通じて送信する。
【００８０】
機能ユニット４００は、制御ユニット１００からの型式確認を受信したことにより、自ユニットの型式を制御ユニット１００に送信する応答を行う（ステップＳ１０４）。
【００８１】
制御ユニット１００は、型式応答を受信したことにより、型式に応じた設定情報１８２を、システムプログラム１８０と共に二次記憶装置１０８から取得する（ステップＳ２０６）。
【００８２】
制御ユニット１００は、システムプログラム１８０に含まれるドライバ１９０を有効にして、第１インターフェイス１１０を介した制御エンジン１５０と外部装置とのデータの遣り取りを可能とする（ステップＳ２０８）。
【００８３】
次に、図６は、コントローラシステム１における制御ユニット１００とセキュリティユニット２００とが接続状態の場合の処理手順を示すフローチャートである。
【００８４】
図６を参照して、セキュリティユニット２００は、電源ユニット４５０からの電力の供給により起動する（ステップＳ１０１）。
【００８５】
また、制御ユニット１００は、電源ユニット４５０からの電力の供給により起動する（ステップＳ２００）。
【００８６】
次に、制御ユニット１００は、通信コントローラ１３０を通じてユニットの接続の有無を確認する（ステップＳ２０２）。制御ユニット１００は、例えば、接続確認のための信号を、通信コントローラ１３０を通じて送信する。
【００８７】
セキュリティユニット２００は、制御ユニット１００から接続確認を受信したことにより、制御ユニット１００に応答を行う（ステップＳ１０３）。セキュリティユニット２００は、例えば、接続応答の信号を、通信コントローラ２３０を通じて送信する。
【００８８】
制御ユニット１００は、接続応答を受信したことにより、型式確認を行う（ステップＳ２０４）。より具体的には、制御ユニット１００は、どのユニットが接続されているかを確認するための信号を、通信コントローラ１３０を通じて送信する。
【００８９】
セキュリティユニット２００は、制御ユニット１００から型式確認を受信したことにより、自ユニットの型式を制御ユニット１００に送信する応答を行う（ステップＳ１０５）。
【００９０】
制御ユニット１００は、型式に応じた設定情報１８２を、システムプログラム１８０と共に二次記憶装置１０８から取得する（ステップＳ２０７）。
【００９１】
制御ユニット１００は、システムプログラム１８０に含まれるドライバ１９０を無効にして、第１インターフェイス１１０を介した制御エンジン１５０と外部装置とのデータの遣り取りを制限する（ステップＳ２０９）。制御ユニット１００は、例えば、第１インターフェイス１１０を介した制御エンジン１５０と外部装置とのデータの遣り取りを不可にする。制御ユニット１００は、セキュリティユニット２００と接続状態の場合は、自ユニットの動作モードをセキュリティ上の安全性を向上させるモードに設定できる。
【００９２】
このように、制限モジュール１７０が、制御ユニット１００と外部装置との間のデータの遣り取りを制限している場合、セキュリティユニット２００の第２インターフェイスを介したデータの遣り取りが可能となる。より具体的には、セキュリティユニット２００の後述する管理モジュール２７０が第２インターフェイス２１０を介して制御エンジン１５０と外部装置との間でデータを遣り取りすることについて許可する。
【００９３】
図４（ｂ）を再び参照して、セキュリティユニット２００は、図３を用いて説明した二次記憶装置２０８と、第２インターフェイス２１０と、通信コントローラ２３０と、インジケータ２２４とを含む。
【００９４】
セキュリティユニット２００の二次記憶装置２０８は、システムプログラム２８０と、設定情報２８２と、ユーザプログラム２８４とを含む。
【００９５】
システムプログラム２８０は、第２インターフェイス２１０を利用するための制御用のプログラムであるドライバ２９０を含む。
【００９６】
設定情報２８２は、セキュリティユニット２００の構成や設定を定義するための情報である。より具体的には、設定情報２８２は、後述する管理モジュール２７０が第２インターフェイス２１０を介したデータの遣り取りの可否を決定するための情報を含む。データの遣り取りは、後述するセキュリティエンジン２５０と外部装置との間で行われる。
【００９７】
ユーザプログラム２８４は、ユーザにおける制御目的に応じて作成される。すなわち、セキュリティユニット２００を用いて制御する対象のライン（プロセス）などに応じて、任意に設計されるプログラムである。ユーザプログラム２８４は、例えば、シーケンスプログラムと協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム２８４は、シーケンスプログラムによって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。
【００９８】
また、セキュリティユニット２００は、セキュリティエンジン２５０と管理モジュール２７０とを含む。セキュリティユニット２００に対して電源ユニット４５０から電力の供給が開始されると、プロセッサ２０２は、二次記憶装置２０８に格納されたシステムプログラム２８０と設定情報２８２とを二次記憶装置２０８から取得し、これらを主記憶装置２０６に展開する。これによりプロセッサ２０２は、セキュリティエンジン２５０および管理モジュール２７０として機能する。
【００９９】
セキュリティエンジン２５０は、第２インターフェイス２１０の仲介により外部装置とデータの遣り取りを行う。
【０１００】
管理モジュール２７０は、制限モジュール１７０により第１インターフェイス１１０の使用が制限されている場合に、第２インターフェイス２１０を介して外部装置との間でデータの遣り取りをすることについては許可する。管理モジュール２７０は、例えば、通信コントローラ１３０と通信コントローラ２３０とを通じて、制御エンジン１５０からセキュリティエンジン２５０にデータが送信された場合に、第２インターフェイス２１０を介してセキュリティエンジン２５０から外部装置へ当該データを書き込むことについては許可する。データは、例えば、制御エンジン１５０から外部装置に書き込むためのデータである。なお以下では、通信コントローラ１３０と通信コントローラ２３０とを総称して通信コントローラ３０とも称する。
【０１０１】
また、管理モジュール２７０は、例えば、第２インターフェイス２１０を介して外部装置からセキュリティエンジン２５０へデータが読み出されることについては許可する。データは、例えば、外部装置から制御エンジン１５０へ読み出すためのデータである。読み出されたデータは、通信コントローラ３０を通じて、セキュリティエンジン２５０から制御エンジン１５０に送信される。
【０１０２】
設定情報２８２には、制御ユニット１００とセキュリティユニット２００とが接続状態の場合、第２インターフェイス２１０を制御するドライバ２９０が有効となり、管理モジュールがセキュリティユニット２００と外部装置とのデータの遣り取りを仲介することが可能となるような設定が予めなされている。コントローラシステム１は、セキュリティ上の脅威となり得る可能性のある、外部装置との直接的な遣り取りをセキュリティユニット２００に担当させることで、制御ユニット１００におけるセキュリティ上の脅威を低減することが可能となる。
【０１０３】
＜Ｄ．第１インターフェイス１１０の使用が制限された場合のデータの書き込み処理＞
第１インターフェイス１１０の使用が制限された場合のデータの書き込み処理について、図７および図８を用いて説明する。
【０１０４】
図７は、ユーザプログラムの内容を変更することなく、セキュリティユニット２００の接続状態に応じて、データの書き込み先が変更されることを表した図である。図７（ａ）を参照して、制御ユニット１００において、プロセッサ１０２は、ユーザプログラム１８４を実行する。ユーザプログラム１８４の内容は、制御エンジン１５０とメモリカードインターフェイス１１３との間で第１インターフェイス１１０を介して、ＳＤメモリカード１９３にデータを書き込む内容である。制限モジュール１７０は、セキュリティユニット２００との接続の有無を検知する。セキュリティユニット２００と非接続状態の場合、制限モジュール１７０は、設定情報１８２に基づき、メモリカードインターフェイス１１３を介するＳＤメモリカード１９３へのデータの書き込みを許可する。
【０１０５】
次に、図７（ｂ）を参照して、上述の図７（ａ）と同様に、制御ユニット１００において、プロセッサ１０２は、ユーザプログラム１８４を実行する。ここで、セキュリティユニット２００と接続状態の場合、制限モジュール１７０は、設定情報１８２に基づき、メモリカードインターフェイス１１３を介したＳＤメモリカード１９３へのデータの書き込みを禁止する。このように第１インターフェイスの使用が制限された場合、制限モジュール１７０は、制御エンジン１５０におけるＳＤメモリカードに書き込むためのデータを、通信コントローラ３０を通じてセキュリティユニット２００へ送信する。
【０１０６】
セキュリティユニット２００の管理モジュール２７０は、通信コントローラ３０を通じて送信されたデータを設定情報２８２に基づき、メモリカードインターフェイス２１３を介してＳＤメモリカード２９３に書き込むことについては許可する。
【０１０７】
図７（ｃ）は、図７（ａ）および図７（ｂ）の両方で、同じユーザプログラム１８４の内容で書き込みが実行されるときのファンクションブロック９００の一例を示す図である。ファンクションブロック９００は、ユーザプログラム１８４に含まれる一機能を表す。
【０１０８】
図７（ｃ）を参照して、ファンクションブロック９００は、入力部９０１〜９０４と、出力部９０５〜９０９とを含む。入力部９０１〜９０４は、メモリカードインターフェイス１１３を介したＳＤメモリカード１９３への書き込み処理に関する設定を受け付ける。出力部９０５〜９０９は、当該設定の処理を行った結果を出力する。
【０１０９】
入力部９０１〜９０４は、制限モジュール１７０への設定の入力を受け付ける。この値の例としては、以下で説明するように「ＦｉｌｅＩＤ」や「ＷｒｉｔｅＢＵｆ」や「Ｓｉｚｅ」等の具体的な値である。
【０１１０】
「Ｅｘｅｃｕｔｅ」として示される入力部９０１の処理を実行するか否かを指定するための設定を受け付ける。一例として、入力部９０１は、「Ｔｒｕｅ」または「Ｆａｌｓｅ」の入力を受け付ける。
【０１１１】
「ＦｉｌｅＩＤ」として示される入力部９０２は、ＳＤメモリカード１９３に書き込むファイルのファイルＩＤについての入力を受け付ける。入力部９０２は、一例として、「％ＦｉｌｅＩＤ」の入力を受け付ける。
【０１１２】
「ＷｒｉｔｅＢｕｆ」として示される入力部９０３は、ＳＤメモリカード１９３に書き込むデータに関する入力を受け付ける。入力部９０３は、一例として、「１０００」の入力を受け付ける。
【０１１３】
「Ｓｉｚｅ」として示される入力部９０４は、ＳＤメモリカード１９３に書き込む要素数に関する入力を受け付ける。入力部９０４は、一例として、「５００」の入力を受け付ける。
【０１１４】
設定が正常に行われた場合には、正常終了を示す信号が、「Ｄｏｎｅ」として示される出力部９０５から出力される。設定処理中を示す信号は、「Ｂｕｓｙ」として示される出力部９０６から出力される。設定が正常に行われなかった場合には、異常終了を示す信号が、出力部９０７から出力される。この場合には、さらに、エラーの内容を識別するためのエラーＩＤが、出力部９０８から出力される。また、ＳＤメモリカード１９３に実際に書き込まれた要素数が、出力部９０９から出力される。
【０１１５】
図７（ｃ）で示したファンクションブロック９００を含むユーザプログラム１８４が、図７（ａ）および図７（ｂ）のいずれの処理においても実行される。より具体的には、コントローラシステム１は、ユーザプログラム１８４の設定を変更することなく、データの書き込み先を制御ユニット１００の第１インターフェイス１１０とセキュリティユニット２００の第２インターフェイス２１０とのうちのいずれか選択できる。ユーザプログラム１８４の設定は，例えば、ファンクションブロック９００の各入力部に入力されるデータの内容である。
【０１１６】
図８は、データの書き込み先の変更についてより詳細に表した図である。図８のコントローラシステムにおける制御ユニット１００は、図７等を用いて説明した、ユーザプログラム１８４、制御エンジン１５０、ドライバ１９０、第１インターフェイス１１０および通信コントローラ１３０を含む。制御ユニット１００は、これらの構成に加えて、ハードウェアアブストラクション１５２、カーネル１９５およびファイル共有システムクライアント１９４を含む。
【０１１７】
セキュリティユニット２００は、図７等を用いて説明したユーザプログラム２８４、セキュリティエンジン２５０、ドライバ２９０、第２インターフェイス２１０および通信コントローラ２３０を含む。セキュリティユニット２００は、これらの構成に加えて、ハードウェアアブストラクション２５２、カーネル２９５およびファイル共有システムサーバ２９４を含む。
【０１１８】
制御ユニット１００におけるカーネル１９５は、ＯＳ上で実行されるコンピュータプログラムの起動の準備や、メモリ空間から必要とするメモリ領域の割り当てを実行するプログラムである。
【０１１９】
ハードウェアアブストラクション１５２は、カーネル１９５と第１インターフェイス１１０を含むハードウェアの間に置かれるプログラムである。個々のハードウェアによって異なる制御方法や操作方法の違いを隠蔽し、カーネル１９５が共通の仕様により制御できるようにするプログラムである。
【０１２０】
セキュリティユニット２００におけるカーネル２９５は、上述の制御ユニット１００におけるカーネル１９５と同様の機能を有する。また、セキュリティユニット２００におけるハードウェアアブストラクション２５２は、制御ユニット１００におけるハードウェアアブストラクション１５２と同様の機能を有する。すなわち、セキュリティユニット２００におけるカーネル１９５は、ＯＳ上で実行されるコンピュータプログラムの起動の準備や、メモリ空間から必要とするメモリ領域の割り当てを実行するプログラムである。また、ハードウェアアブストラクション２５２は、カーネル２９５と第２インターフェイス２１０を含むハードウェアの間に置かれるプログラムである。個々のハードウェアによって異なる制御方法や操作方法の違いを隠蔽し、カーネル２９５が共通の仕様により制御できるようにするプログラムである。
【０１２１】
制御ユニット１００においてユーザプログラム１８４が実行される。セキュリティユニット２００が非接続状態の場合、ドライバ１９０が有効となり、書き込むためのデータが第１インターフェイス１１０を介して、ＳＤメモリカード１９３に書き込まれる。この場合の第１インターフェイス１１０は、例えば、メモリカードインターフェイス１１３である。このようにセキュリティユニット２００が非接続状態の場合は、破線の矢印８１０で示されたユーザプログラム１８４を実行する処理〜メモリカードインターフェイス１１３を介したデータを書き込む処理が実行される。
【０１２２】
これに対して、セキュリティユニット２００が接続状態の場合は、同様に制御ユニット１００においてユーザプログラム１８４が実行される。しかしながら、ドライバ１９０は有効となることなく、ファイル共有システムクライアント１９４が書き込むためのデータを、通信コントローラ３０を介してセキュリティユニット２００へ送信する。ファイル共有システムクライアント１９４は、例えば、これまで説明した制限モジュール１７０の一部の機能に相当する。
【０１２３】
セキュリティユニット２００のファイル共有システムサーバ２９４は、通信コントローラ３０を通じて受信したデータを、第２インターフェイス２１０を介して外部装置に書き込む。この場合の第２インターフェイス２１０は、例えば、メモリカードインターフェイス２１３である。ファイル共有システムサーバ２９４は、例えば、これまで説明した管理モジュール２７０の一部の機能に相当する。セキュリティユニット２００の接続状態の場合は、実践の矢印８２０で示されたユーザプログラム１８４を実行する処理〜メモリカードインターフェイス２１３を介したデータを書き込む処理が実行される。これにより、コントローラシステム１は、ユーザプログラム１８４の設定を変更することなく、データの書き込み先を制御ユニット１００の第１インターフェイス１１０とセキュリティユニット２００の第２インターフェイス２１０とのうちのいずれか選択できる。
【０１２４】
＜Ｅ．データの安全性に応じた処理＞
図９は、外部装置から読み出されるデータの安全性に応じた通信の可否について説明する図である。図９を参照して、セキュリティユニット２００におけるセキュリティエンジン２５０は、評価部２６０を含む。図９のコントローラシステム１におけるその他の構成は、図４（ｂ）において説明した構成と同一である。
【０１２５】
評価部２６０は、外部装置との間で遣り取りされるデータについて安全性を評価する。より具体的には、評価部２６０は、例えば、第２インターフェイス２１０を介して外部装置からセキュリティエンジン２５０に読み出されたデータの安全性を評価する。
【０１２６】
管理モジュール２７０は、評価部２６０により評価されたデータの安全性が予め定められた基準未満の場合、図９に示すように通信コントローラ３０を通じたセキュリティエンジン２５０から制御エンジン１５０へのデータの送信を遮断する。安全性を評価する基準に関するデータは、例えば二次記憶装置２０８に格納され、評価部２６０が評価を行う場合に読み出される。なお、管理モジュール２７０は、評価部２６０により評価されたデータの安全性が予め定められた基準以上の場合、通信コントローラ３０を通じたセキュリティエンジン２５０から制御エンジン１５０へのデータの送信を行う。これにより、コントローラシステム１は、第２インターフェイス２１０を介して外部装置から読み出されたデータの安全性に応じて制御ユニット１００へのデータの送信の可否を決定することができ、制御ユニット１００のセキュリティ上の脅威をより確実に低減することが可能となる。
【０１２７】
なお、管理モジュール２７０は、データの安全性が予め定められた条件を満たすか否かに応じてデータの送信を遮断するか許可するかを判断してもよい。管理モジュール２７０は、データの安全性が予め定められた条件を満たさない場合にデータの送信を遮断する。これに対して、管理モジュール２７０は、データの安全性が予め定められた条件を満たす場合にデータの送信を許可する。
【０１２８】
セキュリティユニット２００は、評価部２６０により評価されたデータの安全性が基準未満の場合は、インジケータ２２４を発光させたり、点滅させたりする。これにより、コントローラシステム１は、セキュリティ上の安全性が低いデータをセキュリティユニット２００が検知したことをユーザに対して通知できる。なお、評価部２６０により評価されたデータの安全性が基準未満の場合に、インジケータ２２４に替えて、制御ユニット１００に設けられたインジケータ１２４を発光させたり、点滅させてもよい。また、インジケータ２２４およびインジケータ１２４の両方のインジケータを発光等させてもよい。さらに、セキュリティユニット２００は、評価部２６０により評価されたデータの安全性が基準未満の場合に、コントローラシステム１に設けられたスピーカ（図示せず）から音響情報を出力してユーザに通知してもよい。
【０１２９】
図１０は、コントローラシステム１におけるデータの安全性に応じた処理手順を示すフローチャートである。
【０１３０】
図１０を参照して、セキュリティユニット２００のセキュリティエンジン２５０は、外部装置から第２インターフェイス２１０を介してデータを受け付ける（ステップＳ３００）。セキュリティエンジン２５０は、例えば、ＳＤメモリカード２９３からメモリカードインターフェイス２１３を介してデータを受け付ける。
【０１３１】
セキュリティエンジン２５０の評価部２６０は受け付けたデータの安全性を判定する（ステップＳ３０２）。評価部２６０は、例えば、データにコンピュータウィルス等が含まれているか否かを判定するウィルススキャンを実行する。
【０１３２】
データにウィルス等が含まれていたこと等により安全性が基準未満の場合（ステップＳ３０２においてＹＥＳ）、管理モジュール２７０は、通信コントローラ３０を通じたセキュリティエンジン２５０から制御エンジン１５０へのデータの送信を遮断する（ステップＳ３０４）。また、管理モジュール２７０は、ＳＤメモリカード２９３を含む外部装置のマウントを解除してもよいし、外部装置への給電を停止してもよい。
【０１３３】
そして、セキュリティエンジン２５０は、インジケータ２２４を点灯させたり、点滅させる（ステップＳ３０６）。
【０１３４】
ステップＳ３０２の処理に戻り、データにウィルス等が含まれていたことにより安全性が基準以上の場合（ステップＳ３０２においてＮＯ）、セキュリティユニット２００は本フローチャートの処理を終了する。
【０１３５】
＜Ｆ.メモリカードインターフェイス１１３における制限＞
メモリカードインターフェイス１１３におけるデータの遣り取りの制限の例について以下説明する。
【０１３６】
図１１は、設定情報１８２の変更と、変更後の設定情報１８２を用いたデータの遣り取りの制限について説明する図である。図１１（ａ）を参照して、制御ユニット１００は、ＵＳＢコントローラ１１２を介して、サポート装置５００と、設定情報１８２を変更するためのデータの遣り取りを行う。より具体的には、制御エンジン１５０は、ＵＳＢコントローラ１１２と電気的に接続されたサポート装置５００から設定のためのデータを受け付けて、設定情報１８２を変更する。設定のためのデータは、サポート装置５００の表示部５０１に表示された設定画面を確認したユーザが、操作入力部５０２を操作することで生成される。
【０１３７】
図１１（ｂ）を参照して、上述のとおりプロセッサ１０２は、システムプログラム１８０と設定情報１８２とが主記憶装置１０６に展開されることで、制御エンジン１５０および制限モジュール１７０として機能する。制限モジュールは、図１１（ａ）の設定情報１８２の変更前は、例えば、メモリカードインターフェイス１１３を介したＳＤメモリカードの読み出しおよび書き込みを禁止する。これに対して、制限モジュールは、設定情報１８２の変更後は、例えば、メモリカードインターフェイス１１３を介したＳＤメモリカードの読み出しおよび書き込みを許可する。
【０１３８】
図１２は、メモリカードインターフェイス１１３における設定情報を変更する場合の例を示す図である。図１２（ａ）を参照して、サポート装置５００の表示部５０１は、第１設定画像５１０を表示する。第１設定画像５１０は、ユーザが操作入力部５０２を操作することで設定情報１８２の変更を行う場合に表示される画像である。第１設定画像５１０は、メモリ設定項目５２０、ＵＳＢ設定項目５２２およびネットワーク設定項目５２４を含む。メモリ設定項目５２０は、メモリカードインターフェイス１１３におけるデータの読み出しおよび書き込みに関する制限を設定する項目である。ＵＳＢ設定項目５２２は、ＵＳＢコントローラ１１２におけるデータの読み出しおよび書き込みに関する制限を設定する項目である。ネットワーク設定項目５２４は、ネットワークコントローラ１１１におけるデータの読み出しおよび書き込みに関する制限を設定する項目である。
【０１３９】
図１２（ａ）における第１設定画像５１０のメモリ設定項目５２０には、「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」の項目内容が設定されている。ＵＳＢ設定項目５２２およびネットワーク設定項目５２４にはいずれも「Ｎｏｔ  Ｕｓｅｄ」の項目内容が設定されている。図１２（ｂ）を参照して、メモリ設定一覧６１０は、メモリ設定項目５２０に設定可能な項目を示す「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」と、設定可能な項目の内容を表わす「Ｄｅｓｃｒｉｐｔｉｏｎ」とを含む。メモリ設定一覧６１０は、例えば、二次記憶装置１０８等に保存される。メモリ設定一覧６１０は、ユーザが操作入力部５０２を操作することにより、二次記憶装置１０８から読み出されて、メモリ設定一覧６１０の像が表示部５０１に表示される。ユーザはメモリ設定一覧６１０の像が表示部５０１に表示されることで、メモリ設定項目５２０において選択可能な項目の内容を確認できる。
【０１４０】
メモリ設定一覧６１０は、「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」において、例えば、「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」、「Ｗｒｉｔｅ  Ｏｎｌｙ」、「Ｒｅａｄ  Ｏｎｌｙ」、「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ（Ｒｅｄｉｒｅｃｔ）」および「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ」を含む。また、メモリ設定一覧６１０は、「Ｄｅｓｃｒｉｐｔｉｏｎ」において、Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」の各項目の内容を表わす。
【０１４１】
「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における読み出しおよび書き込みを禁止することを示す。「Ｗｒｉｔｅ  Ｏｎｌｙ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における書き込みのみ許可（読み出しは禁止）することを示す。「Ｒｅａｄ  Ｏｎｌｙ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニットにおける読み出しのみ許可（書き込みは禁止）することを示す。「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ（Ｒｅｄｉｒｅｃｔ）」は、制御ユニット１００における書き込みを禁止する。ただし、セキュリティユニット２００による書き込みを許可することを示す。「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における読み出しおよび書き込みを許可することを示す。
【０１４２】
図１２（ａ）を再び参照し、第１設定画像５１０の項目選択欄５３０に含まれる複数の項目のうち、ユーザは操作入力部５０２を操作することによりいずれかの項目を選択する。例えば「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ」が選択されると、メモリ設定項目５２０における項目の内容が「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」から「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ」に変更される。前述の図１１（ａ）におけるサポート装置５００を用いた設定情報１８２の変更は、ユーザが操作入力部５０２を操作していずれかの項目を選択されることで行われる。そして、メモリ設定項目５２０の内容が「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」から「Ｒｅａｄ  Ｗｒｉｔｅ  ＯＫ」に変更されたことで、前述の図１１（ｂ）におけるメモリカードインターフェイス１１３を介したデータの遣り取りは、「制御ユニット１００における読み出しおよび書き込みを禁止」から、「制御ユニット１００における読み出しおよび書き込みを許可」に変更される。
【０１４３】
上述の内容では、メモリカードインターフェイス１１３を介したデータの遣り取りについて制限する設定について説明したが、このような設定は、メモリカードインターフェイス１１３以外の第１インターフェイス１１０に含まれる他のインターフェイスに適用してもよいし、第２インターフェイス２１０に含まれるインターフェイスに適用してもよい。コントローラシステム１は、サポート装置５００を用いて設定情報１８２の内容を変更することで、各外部装置のセキュリティ上の安全性に応じた制限をインターフェイス毎に設定できる。
【０１４４】
＜Ｇ.ＵＳＢコントローラ１１２における制限＞
ＵＳＢコントローラ１１２におけるデータの遣り取りの制限の例について以下説明する。
【０１４５】
図１３は、ＵＳＢコントローラ１１２における設定情報を変更する場合の例を示す図である。図１３（ａ）を参照して、サポート装置５００の表示部５０１は、第１設定画像５１０を表示する。第１設定画像５１０におけるＵＳＢ設定項目５２２には前述のとおり「Ｎｏｔ  Ｕｓｅｄ」の項目内容が設定されており、ユーザが操作入力部５０２を操作することにより、例えば、「Ｔｏｏｌ  Ｏｎｌｙ」に変更される。このように「Ｔｏｏｌ  Ｏｎｌｙ」に変更されることで、制御ユニット１００は、予め定められた外部装置との間のみでデータの遣り取りをすることが可能となる。これにより、コントローラシステム１は、データの遣り取りについて予め許可されていない外部装置によるセキュリティ上の脅威を防ぐことができる。
【０１４６】
図１３（ｂ）を参照して、ＵＳＢ設定一覧６１２は、ＵＳＢ設定項目５２２において設定可能な項目を示す「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」と、設定可能な項目の内容を説明する「Ｄｅｓｃｒｉｐｔｉｏｎ」とを含む。ＵＳＢ設定一覧６１２は、例えば、二次記憶装置１０８等に保存される。ＵＳＢ設定一覧６１２は、ユーザが操作入力部５０２を操作することにより、二次記憶装置１０８から読み出されて、ＵＳＢ設定一覧６１２の像が表示部５０１に表示される。ユーザはＵＳＢ設定一覧６１２の像が表示部５０１に表示されることで、ＵＳＢ設定項目５２２において選択可能な項目の内容を確認できる。
【０１４７】
ＵＳＢ設定一覧６１２は、「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」において、例えば、「Ｎｏｔ  Ｕｓｅｄ」、「Ｏｎｅ−Ｗａｙ（Ｉｎｃｏｍｉｎｇ  Ｏｎｌｙ）」、「Ｏｎｅ−Ｗａｙ（Ｏｕｔｇｏｉｎｇ  Ｏｎｌｙ）」および「Ｔｗｏ  Ｗａｙ」を含む。また、ＵＳＢ設定一覧６１２は、「Ｄｅｓｃｒｉｐｔｉｏｎ」において、Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」の各項目の内容を表わす。
【０１４８】
「Ｎｏｔ  Ｕｓｅｄ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における読み出しおよび書き込みを禁止することを示す。「Ｔｏｏｌ  Ｏｎｌｙ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００において予め定められた外部装置による読み出しのみを許可することを示す。「Ａｌｌ  ｗｏｒｋｓ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における読み出しおよび書き込みを許可することを示す。上述の内容では、ＵＳＢコントローラ１１２を介したデータの遣り取りについて制限する設定について説明したが、このような設定は、ＵＳＢコントローラ１１２以外の第１インターフェイス１１０に含まれる他のインターフェイスに適用してもよいし、第２インターフェイス２１０に含まれるインターフェイスに適用してもよい。
【０１４９】
＜Ｈ.ネットワークコントローラ１１１における制限＞
ネットワークコントローラ１１１におけるデータの遣り取りの制限の例について以下説明する。
【０１５０】
図１４は、ネットワークコントローラ１１１における設定情報を変更する場合の例を示す図である。図１４（ａ）を参照して、サポート装置５００の表示部５０１は、第１設定画像５１０を表示する。第１設定画像５１０におけるネットワーク設定項目５２４には前述のとおり「Ｎｏｔ  Ｕｓｅｄ」の項目内容が設定されており、ユーザが操作入力部５０２を操作することにより、例えば、「Ｏｎｅ−Ｗａｙ（Ｉｎｃｏｍｉｎｇ  Ｏｎｌｙ）」に変更される。
【０１５１】
図１４（ｂ）を参照して、ネットワーク設定一覧６１４は、ネットワーク設定項目５２４において設定可能な項目を示す「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」と、設定可能な項目の内容を説明する「Ｄｅｓｃｒｉｐｔｉｏｎ」とを含む。ネットワーク設定一覧６１４は、例えば、二次記憶装置１０８等に記憶される。ネットワーク設定一覧６１４は、ユーザが操作入力部５０２を操作することにより、二次記憶装置１０８から読み出されて、ネットワーク設定一覧６１４の像が表示部５０１に表示される。ユーザはネットワーク設定一覧６１４の像が表示部５０１に表示されることで、ネットワーク設定項目５２４において選択可能な各項目の内容を確認できる。
【０１５２】
ネットワーク設定一覧６１４は、「Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」において、例えば、「Ｎｏｔ  Ｕｓｅｄ」、「Ｏｎｅ−Ｗａｙ（Ｉｎｃｏｍｉｎｇ  Ｏｎｌｙ）」、「Ｏｎｅ−Ｗａｙ（Ｏｕｔｃｏｍｉｎｇ  Ｏｎｌｙ）」および「Ｔｗｏ−Ｗａｙ」を含む。また、ＵＳＢ設定一覧６１２は、「Ｄｅｓｃｒｉｐｔｉｏｎ」において、Ｓｅｔｔｉｎｇ  Ｏｐｔｉｏｎ」の各項目の内容を表わす。
【０１５３】
「Ｎｏｔ  Ｕｓｅｄ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における読み出しおよび書き込みを禁止することを示す。「Ｏｎｅ−Ｗａｙ（Ｉｎｃｏｍｉｎｇ  Ｏｎｌｙ）」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００において受信のみを許可する（送信は禁止する）ことを示す。「Ｏｎｅ−Ｗａｙ（Ｏｕｔｃｏｍｉｎｇ  Ｏｎｌｙ）」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、制御ユニット１００における送信のみをｋｙ化する（受信は禁止する）ことを示す。「Ｔｗｏ−Ｗａｙ」の「Ｄｅｓｃｒｉｐｔｉｏｎ」は、送信および受信の双方向の通信を許可することを示す。
【０１５４】
上述の内容では、ネットワークコントローラ１１１を介したデータの遣り取りについて制限する設定について説明したが、このような設定は、ネットワークコントローラ１１１以外の第１インターフェイス１１０に含まれる他のインターフェイスに適用してもよいし、第２インターフェイス２１０に含まれるインターフェイスに適用してもよい。
【０１５５】
＜Ｉ．その他の制限＞
その他のデータの遣り取りの制限の例について以下説明する。その他のデータの遣り取りの例として、ＵＳＢコントローラ１１２において設定情報を変更する場合の別の例について説明する。
【０１５６】
図１５は、ＵＳＢコントローラ１１２における設定情報を変更する場合の別の例を示す図である。図１５を参照して、サポート装置５００の表示部５０１は、第２設定画像５１１を表示する。第２設定画像５１１におけるデバイス設定項目５４０には、ＵＳＢ接続される複数のデバイスの各設定項目が示されている。ユーザが操作入力部５０２を操作することにより、デバイス設定項目５４０に含まれる複数のデバイスのうち、例えば、「Ｓｔｏｒａｇｅ」のデバイスが選択されて、当該「Ｓｔｏｒｅｇｅ」の設定項目５２６の項目内容が項目選択欄５３６から選択される。操作入力部５０２を用いたユーザ操作により、項目選択欄５３６から「Ｒｅａｄ  Ｗｒｉｔｅ  ＮＧ」が選択されることで、設定項目５２６の内容が変更される。コントローラシステム１は、ＵＳＢ接続されるデバイス毎の設定項目を変更することができる。
【０１５７】
＜付記＞
以上のように、本実施の形態は以下のような開示を含む。
【０１５８】
［構成１］
コントローラシステム（１）であって、
制御対象を制御するための制御演算を実行する制御ユニット（１００）と、
前記制御ユニットに対するセキュリティを担当するセキュリティユニット（２００）とを備え、
前記制御ユニット（１００）は、
外部装置とのデータの遣り取りを仲介する第１インターフェイス（１１０）と、
前記セキュリティユニット（２００）との通信を担当する通信コントローラ（３０）と、
前記通信コントローラ（３０）を通じて、前記制御ユニット（１００）と前記セキュリティユニット（２００）との接続が検知されると、前記第１インターフェイス（１１０）を介して前記外部装置との間で前記データの遣り取りをすることを制限する制限手段（１７０）とを含む、コントローラシステム。
【０１５９】
［構成２］
前記セキュリティユニット（２００）は、
前記外部装置とのデータの遣り取りを仲介する第２インターフェイス（２１０）と、
前記第２インターフェイス（２１０）を介して前記外部装置との間で前記データの遣り取りをすることを制限する管理手段（２７０）とをさらに含み、
前記管理手段（２７０）は、前記制限手段（１７０）により前記第１インターフェイス（１１０）の使用が制限されている場合に、前記制御ユニット（１００）が前記第２インターフェイス（２１０）を介して前記外部装置との間で前記データを遣り取りすることについては許可する、構成１に記載のコントローラシステム。
【０１６０】
［構成３］
前記制限手段（１７０）は、前記第１インターフェイス（１１０）の使用を制限している場合、前記制御ユニット（１００）が前記第１インターフェイス（１１０）を介して前記外部装置へ書き込むためのデータを、前記通信コントローラ（３０）を通じて前記セキュリティユニット（２００）に送信し、
前記管理手段（２７０）は、前記送信された書き込むためのデータを前記第２インターフェイス（２１０）を介して前記外部装置へ書き込むことについては許可する、構成２に記載のコントローラシステム。
【０１６１】
［構成４］
前記セキュリティユニット（２００）は、
前記外部装置との間で遣り取りされるデータについての安全性を評価する評価部（２６０）をさらに含み、
前記管理手段（２７０）は、前記外部装置との間で遣り取りされるデータの安全性が予め定めた基準以上の場合、前記制御ユニット（１００）へ当該データを送信し、当該データの安全性が前記基準未満の場合、前記制御ユニット（１００）へ当該データを送信することを中止する、構成２または３に記載のコントローラシステム。
【０１６２】
［構成５］
前記セキュリティユニット（２００）は、
ユーザへの通知を行う通知手段（２２４）をさらに含み、
前記通知手段（２２４）は、前記外部装置との間で遣り取りされるデータの安全性が前記基準未満の場合、通知を行う、構成４に記載のコントローラシステム。
【０１６３】
［構成６］
前記外部装置は、前記第１インターフェイス（１１０）および前記第２インターフェイス（２１０）の少なくともいずれかに対して着脱可能な記憶媒体である、構成２〜５のいずれか１項に記載のコントローラシステム。
【０１６４】
［構成７］
前記制限手段（１７０）は、前記外部装置との間のデータの読み出しのみを行う、当該外部装置との間のデータの書き込みのみを行う、ならびに、当該外部装置との間のデータの読み出しおよび書き込みを禁止するうちのいずれかを行う、構成１〜６のいずれか１項に記載のコントローラシステム。
【０１６５】
［構成８］
前記制限手段（１７０）は、予め定められた前記外部装置との間でのみ前記データの遣り取りをする、構成１〜６のいずれか１項に記載のコントローラシステム。
【０１６６】
［構成９］
制御対象を制御するための制御演算を実行する制御ユニット（１００）であって、
外部装置とのデータの遣り取りを仲介する第１インターフェイス（１１０）と、
前記制御ユニット（１００）に対するセキュリティを担当するセキュリティユニット（２００）との通信を担当する通信コントローラ（３０）と、
前記通信コントローラ（３０）を通じて、前記制御ユニット（１００）と前記セキュリティユニット（２００）との接続が検知されると、前記第１インターフェイス（１１０）を介して前記外部装置との間で前記データの遣り取りをすることを制限する制限手段（１７０）とを備える、制御ユニット。
【０１６７】
［構成１０］
制御対象を制御するための制御演算を実行する制御ユニット（１００）の制御プログラムであって、
前記制御プログラムは、前記制御ユニット（１００）に、
前記制御ユニット（１００）に対するセキュリティを担当するセキュリティユニット（２００）との通信を担当する通信コントローラ（３０）を通じて、前記制御ユニット（１００）と前記セキュリティユニット（２００）との接続を検知するステップ（Ｓ２０２）と、
外部装置とのデータの遣り取りを仲介する第１インターフェイス（１１０）を介して前記外部装置との間で前記データの遣り取りを制限する状態を維持するステップ（Ｓ２０９）とを実行させる、制御プログラム。
【０１６８】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１６９】
１  コントローラシステム、３０，１３０，２３０  通信コントローラ、１００  制御ユニット、１０２，２０２  プロセッサ、１０４，２０４  チップセット、１０６，２０６  主記憶装置、１０８，２０８  二次記憶装置、１１１，１１５，１１６，１１７，２１１，２１５，２１６  ネットワークコントローラ、１１０  第１インターフェイス、１１２，２１２  ＵＳＢコントローラ、１１３，２１３  メモリカードインターフェイス、１２２  内部バスコントローラ、１２４，２２４  インジケータ、１５０  制御エンジン、１５２，２５２  ハードウェアアブストラクション、５０２  操作入力部、９０１，９０２，９０３，９０４  入力部、９０５，９０６，９０７，９０８，９０９  出力部、１７０  制限モジュール、１８０，２８０  システムプログラム、１８２，２８２  設定情報、１８４，２８４  ユーザプログラム、１９０，２９０  ドライバ、１９１，２９１  ケーブル、１９２，２９２  ＵＳＢメモリ、１９３，２９３  ＳＤメモリカード、１９４  ファイル共有システムクライアント、１９５，２９５  カーネル、２００  セキュリティユニット、２１０  第２インターフェイス、２５０  セキュリティエンジン、２６０  評価部、２７０  管理モジュール、２９４  ファイル共有システムサーバ、４００  機能ユニット、４５０  電源ユニット、５００  サポート装置、５０１  表示部、５１０  第１設定画像、５１１  第２設定画像、５２０  メモリ設定項目、５２２  ＵＳＢ設定項目、５２４  ネットワーク設定項目、５３０，５３６  項目選択欄、６１０  メモリ設定一覧、６１２  ＵＳＢ設定一覧、６１４  ネットワーク設定一覧、９００  ファンクションブロック。
【図１】
2020123104.tif 000003
【図２】
2020123104.tif 000004
【図３】
2020123104.tif 000005
【図４】
2020123104.tif 000006
【図５】
2020123104.tif 000007
【図６】
2020123104.tif 000008
【図７】
2020123104.tif 000009
【図８】
2020123104.tif 000010
【図９】
2020123104.tif 000011
【図１０】
2020123104.tif 000012
【図１１】
2020123104.tif 000013
【図１２】
2020123104.tif 000014
【図１３】
2020123104.tif 000015
【図１４】
2020123104.tif 000016
【図１５】
2020123104.tif 000017