(57)【要約】【課題】アプリケーション開発者によって開発されたアプリケーションを、開発者が申告するセキュリティリスクに一致した状態でのみ実行できるようにしたアプリケーションセキュリティ管理システム及びエッジサーバを提供する。【解決手段】アプリセキュリティ管理システム１０００は、エッジサーバ４００で実行するアプリ開発者が開発したアプリケーションの審査を管理する審査管理サーバ１００が、審査後にアプリケーションとエッジ機器５００の機能の使用及び／又は処理データのアクセスの有無に係るアクセス申告リストとをアプリケーションＤＢ３０５に登録し、審査されたアプリケーションの配信を管理する配信管理サーバシステム３００が、アプリケーションの購入要求を受け付けた場合に、アクセス申告リストを購入要求のあったユーザに通知し、承認データを受け付けた場合に限り、アプリケーションとアクセス申告リストとをエッジサーバ４００に配信する。【選択図】図１
2019056999.tif 000002
【特許請求の範囲】
【請求項１】
１台以上のエッジ機器と通信可能に接続されたエッジサーバで実行するアプリケーションの配信を管理するアプリケーション配信管理サーバシステムと、
前記アプリケーション配信管理サーバシステムで配信するアプリ開発者が開発した前記アプリケーションの審査を管理するアプリケーション審査管理サーバと、
前記アプリケーション配信管理サーバシステムで配信を管理する前記アプリケーションを記憶するアプリケーション記憶部と、
前記アプリケーションの実行を管理する前記エッジサーバと、
を備えたアプリケーションセキュリティ管理システムであって、
前記アプリケーション審査管理サーバは、
前記アプリケーションと、前記アプリケーションを前記エッジサーバで実行する際に使用する、前記エッジ機器の機能の使用の有無及び／又は前記エッジ機器の処理データに対するアクセスの有無に係るセキュリティリスクリストとを受け付けるアプリケーション受付手段と、
前記アプリケーション受付手段により受け付けた前記アプリケーションについて、前記アプリケーションのソースコードの分析及び／又は前記アプリケーションをエッジサーバで実行させることによる動作分析に基づいて、前記アプリケーションの前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス内容と前記セキュリティリスクリストに示されたアクセスの有無とが一致するか否かを審査するアプリケーション審査手段と、
前記アプリケーション審査手段による審査の結果、前記アプリケーションの前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス内容と前記セキュリティリスクリストに示されたアクセスの有無とが一致すると判定された場合に、前記アプリケーションを前記アプリケーション配信管理サーバシステムで配信管理することを承認し、前記アプリケーションと、前記セキュリティリスクリストとを関連付けて、前記アプリケーション記憶部に登録するアプリケーション登録手段と、
を備え、
前記アプリケーション配信管理サーバシステムは、
前記アプリケーション記憶部に記憶された前記アプリケーションの購入要求又は配信要求を受け付けた場合に、前記アプリケーションに対応する前記セキュリティリスクリストを購入要求又は配信要求のあったユーザに対して通知するリスクリスト通知手段と、
前記リスクリスト通知手段により通知した前記セキュリティリスクリストに対する前記ユーザからの承認データを受け付けると共に、配信許可情報が提示された場合に限り、前記アプリケーションと、前記セキュリティリスクリストとを関連付けて前記エッジサーバに配信するアプリケーション配信手段と、
を備え、
前記エッジサーバは、
配信された前記アプリケーション及び前記セキュリティリスクリストを記憶する記憶部と、
前記アプリケーションの起動要求に基づいて、前記アプリケーションを実行するアプリケーション実行手段と、
前記セキュリティリスクリストの内容に基づいて、前記アプリケーションのエッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセス状況を監視し、前記セキュリティリスクリストでアクセス有と申告された前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセスのみを許可するアプリケーションアクセス制御手段と、
を備える、
アプリケーションセキュリティ管理システム。
【請求項２】
請求項１に記載のアプリケーションセキュリティ管理システムにおいて、
前記セキュリティリスクリストは、前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス権限を表すものであり、
前記アプリケーション配信管理サーバシステムの前記リスクリスト通知手段は、少なくとも前記アプリケーションに対して許可される前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス権限に関するセキュリティリスクリストを通知する、
アプリケーションセキュリティ管理システム。
【請求項３】
請求項１又は請求項２に記載のアプリケーションセキュリティ管理システムにおいて、
前記セキュリティリスクリストは、
前記エッジ機器の動作状態に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、
前記エッジ機器の生産状況に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、
前記エッジ機器の品質保守に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、
前記エッジ機器のイベント（履歴）に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、及び
前記エッジ機器のアーカイブに係る各機能の使用可否及び／又は各処理データに対するアクセス可否を含む、
アプリケーションセキュリティ管理システム。
【請求項４】
請求項１から請求項３までのいずれかに記載のアプリケーションセキュリティ管理システムにおいて、
前記エッジサーバは、
前記アプリケーションアクセス制御手段により、前記アプリケーションが前記アプリケーションに関連付けられた前記セキュリティリスクリストに示されていない前記エッジ機器に係る機能の使用及び／又は前記エッジ機器の処理データに対するアクセス要求である不正アクセス要求を検出した場合、前記アプリケーションの不正情報を、前記アプリケーション配信管理サーバシステムに通知する、不正アプリケーション通知手段を備え、
前記アプリケーションアクセス制御手段は、さらに、前記不正アクセス要求を検出した場合、前記アプリケーションを停止させる、
アプリケーションセキュリティ管理システム。
【請求項５】
請求項４に記載のアプリケーションセキュリティ管理システムにおいて、
前記アプリケーション配信管理サーバシステムは、さらに、
前記エッジサーバの前記不正アプリケーション通知手段からアプリケーションの不正情報を受信すると、前記アプリケーションの配信先のエッジサーバに対して、前記アプリケーションの不正情報を通知する通知手段を備え、
前記エッジサーバの前記アプリケーションアクセス制御手段は、さらに前記アプリケーション配信管理サーバシステムから前記アプリケーションの不正情報を受信すると、前記アプリケーションを停止させる、
アプリケーションセキュリティ管理システム。
【請求項６】
アプリケーション配信管理サーバシステムと１台以上のエッジ機器と通信可能に接続されたエッジサーバであって、
前記アプリケーション配信管理サーバシステムから配信されて実行するアプリケーションと、前記アプリケーションと共に配信される、前記アプリケーションの前記エッジ機器の機能の使用の有無及び／又は前記エッジ機器の処理データに対するアクセスの有無に係るセキュリティリスクリストと、を記憶する記憶部と、
前記アプリケーションの起動要求に基づいて、前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセスを行う前記アプリケーションを実行するアプリケーション実行手段と、
前記セキュリティリスクリストの内容に基づいて、前記アプリケーションのエッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセス要求を監視し、前記セキュリティリスクリストに開示された前記エッジ機器に係る機能の使用及び／又は前記エッジ機器の処理データへのアクセス要求のみを許可するアプリケーションアクセス制御手段と、
を備え、
前記セキュリティリスクリストは、前記アプリケーションと共にアプリケーション開発者によって登録され、前記アプリケーション配信管理サーバシステムが配信を管理するものである、
エッジサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションセキュリティ管理システム及びエッジサーバに関する。
【背景技術】
【０００２】
製造装置の分野において、昨今、製造現場向けに様々な機能や目的を持ったサーバアプリケーションソフトウェア（以降、単に「アプリケーション」、「アプリ」ともいう。）が、様々な会社で開発されている。製造現場では、開発されたアプリケーションを、例えば、ダウンロードサイトからインターネットを経由して、アプリケーション使用者のコントローラにダウンロードし、使用することが考えられる。しかし、アプリケーションの中には、様々なセキュリティリスクを持ったものがある。例えば、製造現場の通信データを収集する機能を有するアプリケーションの場合、通信データを悪用するリスクを含む可能性がある。また、製造現場の製造品質データを収集するアプリケーションの場合、収集した製造品質データを解析することで、製造された製品の品質を知るリスクを含む可能性がある。さらに、製造現場の製造装置（例えば、ＣＮＣ工作機械、産業機器、産業用ロボット等の工作機械）をリモートで操作したり、保守したりする機能を有するアプリケーションの場合、外部から製造現場の製造装置を停止させたり、稼働を妨害したりするリスクを含む可能性がある。
【０００３】
このように、製造現場の製造装置は、アプリケーションを利用することで、潜在的にアプリケーションが持つセキュリティリスクを伴う可能性がある。そこで、セキュリティリスクを他の方法や運用方法で回避することも考えられる。例えば、特許文献１に記載のシステムは、アプリケーションの異常性を判定するものである。具体的には、パーミッション比較部１３が、パーミッション抽出部１２から入力された種別情報と一致する種別情報と対応付けられているパーミッションリストをパーミッションリスト記憶部１１から読み出し、その読み出したパーミッションリストと、パーミッション抽出部１２から出力されたパーミッションリストとを比較することで、アプリケーションの異常性を判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２３３０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、アプリケーションの利用者が、アプリケーションが持つセキュリティリスクを利用前に把握することも必要である。つまり、アプリケーションが持つセキュリティリスクを同定し、アプリケーションの利用者が、セキュリティリスクがあることを正しく理解した上で使用する必要がある。
また、悪意あるアプリケーション開発者が、セキュリティリスクを利用者から隠ぺいし、悪用することを防止する必要がある。
本発明は、アプリケーション開発者によって開発されたアプリケーションを、開発者が申告するセキュリティリスクに一致した状態でのみ実行できるようにしたアプリケーションセキュリティ管理システム及びエッジサーバを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）本発明のアプリケーションセキュリティ管理システム（例えば、後述の「アプリセキュリティ管理システム１０００」）は、１台以上のエッジ機器（例えば、後述の「エッジ機器５００」）と通信可能に接続されたエッジサーバ（例えば、後述の「エッジサーバ４００」）で実行するアプリケーションの配信を管理するアプリケーション配信管理サーバシステム（例えば、後述の「配信管理サーバシステム３００」）と、前記アプリケーション配信管理サーバシステムで配信するアプリ開発者が開発した前記アプリケーションの審査を管理するアプリケーション審査管理サーバ（例えば、後述の「審査管理サーバ１００」）と、前記アプリケーション配信管理サーバシステムで配信を管理する前記アプリケーションを記憶するアプリケーション記憶部（例えば、後述の「アプリケーションＤＢ３０５」）と、前記アプリケーションの実行を管理する前記エッジサーバと、を備え、前記アプリケーション審査管理サーバは、前記アプリケーションと、前記アプリケーションを前記エッジサーバで実行する際に使用する、前記エッジ機器の機能の使用の有無及び／又は前記エッジ機器の処理データに対するアクセスの有無に係るセキュリティリスクリスト（例えば、後述の「アクセス申告リスト」）とを受け付けるアプリケーション受付手段（例えば、後述の「アプリ受付部１１１」）と、前記アプリケーション受付手段により受け付けた前記アプリケーションについて、前記アプリケーションのソースコードの分析及び／又は前記アプリケーションをエッジサーバで実行させることによる動作分析に基づいて、前記アプリケーションの前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス内容と前記セキュリティリスクリストに示されたアクセスの有無とが一致するか否かを審査するアプリケーション審査手段（例えば、後述の「アプリ審査部１１２」）と、前記アプリケーション審査手段による審査の結果、前記アプリケーションの前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス内容と前記セキュリティリスクリストに示されたアクセスの有無とが一致すると判定された場合に、前記アプリケーションを前記アプリケーション配信管理サーバシステムで配信管理することを承認し、前記アプリケーションと、前記セキュリティリスクリストとを関連付けて、前記アプリケーション記憶部に登録するアプリケーション登録手段（例えば、後述の「アプリ登録部１１３」）と、を備え、前記アプリケーション配信管理サーバシステムは、前記アプリケーション記憶部に記憶された前記アプリケーションの購入要求又は配信要求を受け付けた場合に、前記アプリケーションに対応する前記セキュリティリスクリストを購入要求又は配信要求のあったユーザに対して通知するリスクリスト通知手段（例えば、後述の「リスクリスト通知部３１１」）と、前記リスクリスト通知手段により通知した前記セキュリティリスクリストに対する前記ユーザからの承認データを受け付けると共に、配信許可情報が提示された場合に限り、前記アプリケーションと、前記セキュリティリスクリストとを関連付けて前記エッジサーバに配信するアプリケーション配信手段（例えば、後述の「アプリ配信部３１２」）と、を備え、前記エッジサーバは、配信された前記アプリケーション及び前記セキュリティリスクリストを記憶する記憶部（例えば、後述の「記憶部４２０」）と、前記アプリケーションの起動要求に基づいて、前記アプリケーションを実行するアプリケーション実行手段（例えば、後述の「アプリ実行部４１１」）と、前記セキュリティリスクリストの内容に基づいて、前記アプリケーションのエッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセス状況を監視し、前記セキュリティリスクリストでアクセス有と申告された前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセスのみを許可するアプリケーションアクセス制御手段（例えば、後述の「アクセス制御部４１２」）と、を備える。
【０００７】
（２）  （１）に記載のアプリケーションセキュリティ管理システム（例えば、後述の「アプリセキュリティ管理システム１０００」）において、前記セキュリティリスクリスト（例えば、後述の「アクセス申告リスト」）は、前記エッジ機器（例えば、後述の「エッジ機器５００」）の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス権限を表すものであり、前記アプリケーション配信管理サーバシステム（例えば、後述の「配信管理サーバシステム３００」）の前記リスクリスト通知手段（例えば、後述の「リスクリスト通知部３１１」）は、少なくとも前記アプリケーションに対して許可される前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データに対するアクセス権限に関するセキュリティリスクリストを通知するものであってもよい。
【０００８】
（３）  （１）又は（２）に記載のアプリケーションセキュリティ管理システム（例えば、後述の「アプリセキュリティ管理システム１０００」）において、前記セキュリティリスクリスト（例えば、後述の「アクセス申告リスト」）は、前記エッジ機器（例えば、後述の「エッジ機器５００」）の動作状態に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、前記エッジ機器の生産状況に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、前記エッジ機器の品質保守に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、前記エッジ機器のイベント（履歴）に係る各機能の使用可否及び／又は各処理データに対するアクセス可否、及び前記エッジ機器のアーカイブに係る各機能の使用可否及び／又は各処理データに対するアクセス可否を含むものであってもよい。
【０００９】
（４）  （１）から（３）までのいずれかに記載のアプリケーションセキュリティ管理システム（例えば、後述の「アプリセキュリティ管理システム１０００」）において、前記エッジサーバ（例えば、後述の「エッジサーバ４００」）は、前記アプリケーションアクセス制御手段（例えば、後述の「アクセス制御部４１２」）により、前記アプリケーションが前記アプリケーションに関連付けられた前記セキュリティリスクリスト（例えば、後述の「アクセス申告リスト」）に示されていない前記エッジ機器（例えば、後述の「エッジ機器５００」）に係る機能の使用及び／又は前記エッジ機器の処理データに対するアクセス要求である不正アクセス要求を検出した場合、前記アプリケーションの不正情報を、前記アプリケーション配信管理サーバシステム（例えば、後述の「配信管理サーバシステム３００」）に通知する、不正アプリケーション通知手段（例えば、後述の「不正アプリ通知部４１３」）を備え、前記アプリケーションアクセス制御手段は、さらに、前記不正アクセス要求を検出した場合、前記アプリケーションを停止させるものであってもよい。
【００１０】
（５）  （４）に記載のアプリケーションセキュリティ管理システム（例えば、後述の「アプリセキュリティ管理システム１０００」）において、前記アプリケーション配信管理サーバシステム（例えば、後述の「配信管理サーバシステム３００」）は、さらに、前記エッジサーバ（例えば、後述の「エッジサーバ４００」）の前記不正アプリケーション通知手段（例えば、後述の「不正アプリ通知部４１３」）からアプリケーションの不正情報を受信すると、前記アプリケーションの配信先のエッジサーバに対して、前記アプリケーションの不正情報を通知する通知手段（例えば、後述の「不正通知部３１３」）を備え、前記エッジサーバの前記アプリケーションアクセス制御手段（例えば、後述の「アクセス制御部４１２」）は、さらに前記アプリケーション配信管理サーバシステムから前記アプリケーションの不正情報を受信すると、前記アプリケーションを停止させるものであってもよい。
【００１１】
（６）本発明のエッジサーバ（例えば、後述の「エッジサーバ４００」）は、アプリケーション配信管理サーバシステム（例えば、後述の「配信管理サーバシステム３００」）と１台以上のエッジ機器（例えば、後述の「エッジ機器５００」）と通信可能に接続され、前記アプリケーション配信管理サーバシステムから配信されて実行するアプリケーションと、前記アプリケーションと共に配信される、前記アプリケーションの前記エッジ機器の機能の使用の有無及び／又は前記エッジ機器の処理データに対するアクセスの有無に係るセキュリティリスクリスト（例えば、後述の「アクセス申告リスト」）と、を記憶する記憶部（例えば、後述の「記憶部４２０」）と、前記アプリケーションの起動要求に基づいて、前記エッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセスを行う前記アプリケーションを実行するアプリケーション実行手段（例えば、後述の「アプリ実行部４１１」）と、前記セキュリティリスクリストの内容に基づいて、前記アプリケーションのエッジ機器の機能の使用及び／又は前記エッジ機器の処理データへのアクセス要求を監視し、前記セキュリティリスクリストに開示された前記エッジ機器に係る機能の使用及び／又は前記エッジ機器の処理データへのアクセス要求のみを許可するアプリケーションアクセス制御手段（例えば、後述の「アクセス制御部４１２」）と、を備え、前記セキュリティリスクリストは、前記アプリケーションと共にアプリケーション開発者によって登録され、前記アプリケーション配信管理サーバシステムが配信を管理する。
【発明の効果】
【００１２】
本発明によれば、アプリケーション開発者によって開発されたアプリケーションを、開発者が申告するセキュリティリスクに一致した状態でのみ実行できるようにしたアプリケーションセキュリティ管理システム及びエッジサーバを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態におけるアプリセキュリティ管理システムの基本的構成を示す概略図である。
【図２】本実施形態におけるアプリセキュリティ管理システムの機能ブロック図である。
【図３】本実施形態におけるアクセス申告リストの例を示す図である。
【図４】本実施形態における処理データのデータモデルの例を示す図である。
【図５】本実施形態におけるアプリセキュリティ管理システムによる処理を含むアプリケーションの受付から配信までの流れの概要を示す図である。
【図６】本実施形態におけるエッジサーバでのアクセス制御処理を示すフローチャートである。
【図７】本実施形態におけるエッジサーバでのアクセス制御処理を説明するための図である。
【発明を実施するための形態】
【００１４】
（実施形態）
本実施形態に係るアプリケーションセキュリティ管理システム１０００（以下、簡単のため「アプリセキュリティ管理システム１０００」ともいう。）の構成について説明する。
図１は、本実施形態におけるアプリセキュリティ管理システム１０００の基本的構成を示す概略図である。
アプリセキュリティ管理システム１０００は、アプリケーション審査管理サーバ１００（以下、簡単のため「審査管理サーバ１００」ともいう。）と、ユーザ端末２００（以下、簡単のため「端末２００」ともいう。）と、アプリケーション配信管理サーバシステム３００（以下、簡単のため「配信管理サーバシステム３００」ともいう。）と、エッジサーバ４００と、エッジ機器５００とを備えている。ここで、エッジ機器５００は、特に断らない限り、工場等の製造現場に設置された、ＣＮＣ工作機械、産業機器、産業用ロボット等を含む製造装置、及び画像センサ、ＰＬＣ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）等の製造装置に付帯する機器を指す。また、エッジサーバ４００は、配信管理サーバシステム３００から配信されたアプリケーションを実行させることにより、１台以上のエッジ機器５００から、例えば、当該エッジ機器５００に係る動作状態を示すデータ、生産状況を示すデータ、生産物の品質状況を示すデータ、稼働状況を示すデータ等を収集し、当該アプリケーションに係る所定の情報処理をするサーバである。
【００１５】
アプリセキュリティ管理システム１０００では、審査管理サーバ１００が、アプリ開発者が開発し、エッジサーバ４００で稼働するアプリケーションのうち、審査によって承認されたアプリケーションを、アプリケーション記憶部３０５（以下、簡単のため「アプリケーションＤＢ（データベース）３０５」ともいう。）に登録する。そして、アプリセキュリティ管理システム１０００では、配信管理サーバシステム３００が、エッジ機器５００及びエッジサーバ４００を使用するエンドユーザによるアプリケーションの購入要求又は配信要求に基づいて、アプリケーションの実行時に用いる、エッジ機器５００の備える機能の使用の有無及び／又はエッジ機器５００の処理データに対するアクセスの有無に係るセキュリティリスクリスト（以下、「アクセス申告リスト」ともいう。）を、エンドユーザに通知する。エンドユーザによってアクセス申告リストが確認されると、アプリセキュリティ管理システム１０００は、アプリケーションＤＢ３０５から抽出したアプリケーションとアクセス申告リストとを、エッジサーバ４００に配信する。そして、エッジサーバ４００は、アプリケーションの実行時に、アクセス申告リストに基づいて、エッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセスを制御する。
【００１６】
審査管理サーバ１００と、端末２００と、配信管理サーバシステム３００と、エッジサーバ４００とは、ネットワークＮ１を介して接続されている。ネットワークＮ１は、例えば、インターネットや、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、公衆電話網等である。ネットワークＮ１における具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
エッジサーバ４００と、１台以上のエッジ機器５００とは、例えば、ユーザの工場施設等に設置され、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークＮ２を介して通信可能に接続されている。ネットワークＮ２は、ネットワークスイッチ等を含んでもよい。
【００１７】
審査管理サーバ１００と、配信管理サーバシステム３００とは、エッジサーバ４００で稼働するアプリケーションの販売及び管理を行う企業（以下、運営会社ともいう。）により運営管理される。
審査管理サーバ１００は、アプリ開発者が開発したアプリケーションと、アクセス申告リストとを受け付けて審査を行い、承認されたアプリケーションを、アクセス申告リストに対応付けてアプリケーションＤＢ３０５に登録するサーバである。
【００１８】
端末２００は、例えば、パーソナルコンピュータ（ＰＣ）である。端末２００は、審査管理サーバ１００に通信可能に接続される端末（例えば、アプリ開発者側に設置される端末、審査管理サーバ１００の管理用端末等）である。また、端末２００は、配信管理サーバシステム３００に通信可能に接続され、例えば、エッジサーバ４００及びエッジ機器５００を含む工場施設を有するエンドユーザや、システムインテグレータ等の専門業者により使用される端末である。以降、エンドユーザや専門業者を区別しない場合には、単に「ユーザ」ともいう。工場等に設置されたＣＮＣ工作機械、産業機器、産業用ロボット等の各種データを収集し、活用するためのアプリケーションの設定作業等については、専門的な知識が必要である。そのため、システムインテグレータ者等の専門業者が、工場等の製造現場でアプリケーションを利用する上で、ハードウェア及びソフトウェアの環境設定を行うことが一般的である。ここで、エンドユーザが使用する端末２００は、工場施設内に有していても、工場施設外に有していてもよい。そして、エンドユーザは、配信許可情報（例えば、当該アプリケーションを購入したことを裏付けるシリアル番号等）を提示することにより、端末２００を介して、配信管理サーバシステム３００にアクセスし、エッジサーバ４００に配信可能なアプリケーションのインストール要求をすることができる。
【００１９】
図１に示すように、配信管理サーバシステム３００は、管理サーバ３０１と、配信サーバ３０２と、アプリケーションＤＢ３０５とによって構成される分散システムを例示しているが、これに限定されない。
なお、配信管理サーバシステム３００は、管理サーバ３０１と、配信サーバ３０２と、アプリケーションＤＢ３０５との機能を有した１台のサーバによって構成されてもよいし、複数台のサーバによって構成し、処理を各サーバで分散させてもよい。また、配信管理サーバシステム３００は、例えば、管理サーバ３０１が、ネットワークＮ１を介してエッジサーバ４００等と通信接続され、配信サーバ３０２と、アプリケーションＤＢ３０５とは、ネットワークＮ１には接続されておらず、管理サーバ３０１を経由してエッジサーバ４００等と通信する構成であってもよい。さらに、アプリケーションＤＢ３０５は、配信管理サーバシステム３００とは別に設けて、ネットワークＮ１に直接接続されていてもよい。
【００２０】
エッジサーバ４００は、配信管理サーバシステム３００からダウンロードしたアプリケーションを実行させることにより、１台以上のエッジ機器５００から、エッジ機器５００に係る機能を実行し、及び／又は、エッジ機器５００の処理データを収集し、当該アプリケーションに係る所定の情報処理をするサーバである。エッジサーバ４００は、アプリケーションの実行中に、エッジ機器５００に係る機能の使用及び／又はエッジ機器５００の処理データへのアクセスを監視する。そして、エッジサーバ４００は、アクセス申告リストに示されたエッジ機器５００に係る機能の使用及び／又はエッジ機器５００の処理データへのアクセスのみを許可する。
エッジ機器５００は、上述したとおり、工場等の製造現場に設置された、ＣＮＣ工作機械、産業機器、産業用ロボット等を含む製造装置である。そして、１台以上のエッジ機器５００は、例えば、工場のラインやセルを構成する。
【００２１】
なお、アプリセキュリティ管理システム１０００は、必要な条件（資格等）を満たすことが予め運営会社により審査され、アプリセキュリティ管理システム１０００に対してアクセスをするためのユーザＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）の付与されたユーザのみが使用可能である。
【００２２】
次に、アプリセキュリティ管理システム１０００の各装置の機能について説明する。
図２は、本実施形態におけるアプリセキュリティ管理システム１０００の機能ブロック図である。
＜審査管理サーバ１００＞
審査管理サーバ１００は、制御部１１０と、記憶部１２０と、通信部１３０とを備える。
制御部１１０は、例えば、ＣＰＵであり、記憶部１２０に記憶された各種プログラムを実行することにより、審査管理サーバ１００を統括制御する。
例えば、ＣＰＵは、アプリケーションと、アクセス申告リスト６２０とを受け付ける処理（以下、「アプリ受付処理」という。）のためのプログラムを実行する。また、ＣＰＵは、受け付けたアプリケーションとアクセス申告リストとを審査する処理（以下、「アプリ審査処理」という。）のためのプログラムを実行する。また、ＣＰＵは、アプリ審査処理の結果に基づいて当該アプリをアプリケーションＤＢ３０５に登録する処理（以下、「アプリ登録処理」という。）のためのプログラムを実行する。
このように、アプリ受付処理、アプリ審査処理、及びアプリ登録処理のためのプログラムを実行することにより、ＣＰＵには、機能的構成として、アプリ受付部１１１と、アプリ審査部１１２と、アプリ登録部１１３と、が形成される。
【００２３】
アプリ受付部１１１は、アプリ開発者の開発したアプリケーションと、当該アプリケーションに係るアクセス申告リスト６２０とを受け付ける。ここで、アプリ受付部１１１は、審査管理サーバ１００に通信可能に接続された端末（例えば、アプリ開発者側に設置された端末、又は審査管理サーバ１００に通信可能に接続された管理用端末等）からネットワークを介して、アプリケーションと、アクセス申告リスト６２０とを受け付けてもよい。
また、アプリ受付部１１１は、アプリケーションとアクセス申告リストとを格納したコンピュータ可読記録媒体を所定の入力インタフェースを介して入力して、受け付けてもよい。ここで、コンピュータ可読記録媒体としては、例えば、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ，Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ（登録商標））等、当業者にとって公知の媒体を含む。
図３は、アクセス申告リスト６２０の一例を示すものである。アクセス申告リスト６２０は、例えば、図３に示す内容を、コンピュータが解釈可能なようにコード化したものである。アクセス申告リスト６２０は、エッジ機器５００に係る機能の使用の有無及び／又はエッジ機器５００の処理データに関するアクセスの有無を示す。なお、「製造装置」とは、エッジ機器５００に該当するものであり、アプリ開発者がＣＮＣ工作機械、産業機器、産業用ロボット等を指定する。また、アクセス申告リスト６２０は、予め決められたフォームになっており、アプリ開発者は、このフォームにしたがってアクセスの有無を、例えばチェックボックスにチェックすることで設定する。
【００２４】
より具体的には、エッジ機器５００の処理データとして、例えば、エッジ機器５００に係る動作状態を示すデータ、生産状況を示すデータ、生産物の品質状況を示すデータ、稼働状況等のイベント（履歴）を示すデータ等がある。これらの処理データは、予めデータモデル化（すなわち、標準化）されており、このように標準化されたデータモデルに基づいてアクセスの有無を設定することを可能にしている。そうすることで、アプリ開発者は、標準化されたモデルに基づき、アクセスの有無を正確に申告することができ、また、アプリ審査側は、アプリ開発者の恣意的な言い回しを排除することで、審査処理を標準化することができる。また、エッジ機器５００に係る処理データへのアクセスをするための標準化されたインタフェースを提供することができる。
【００２５】
図４に、ＣＮＣ工作機械の場合における処理データのデータモデル６３０の例を示す。データモデル６３０に示すように、処理データは、動作状態の情報、生産状況の情報、品質保守の情報、各種イベント（履歴）の情報、アーカイブの各カテゴリに分けられる。そして、各カテゴリにおいて、コモンデータと、各部位データとがある。コモンデータは、ＣＮＣ工作機械に共通のデータであり、各部位データは、ＣＮＣ工作機械のうち、軸や、モータといったＣＮＣ工作機械を構成する各部品に関するデータである。アプリ開発者は、アクセス申告リスト６２０の作成時に、データモデル６３０にしたがって使用するデータを指定する。
なお、図示しないが、エッジ機器５００の機能に関しても、処理データと同様に、動作状態に関する機能、生産状況に関する機能、品質保守に関する機能、各種イベント（履歴）に関する機能、アーカイブに関する機能があり、データモデルと同様にエッジ機器５００の提供する機能のモデル化を行うことができる。そうすることで、エッジ機器５００の提供する機能を使用するための標準化されたインタフェースを提供することができる。
【００２６】
図２に示すアプリ審査部１１２は、アプリ受付部１１１が受け付けたアプリケーションとアクセス申告リストとを審査する。より具体的には、アプリ審査部１１２は、アプリケーションのソースコードの分析に基づいて、アプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセス内容と、アクセス申告リストに示されたアクセスの有無とが一致するか否かを審査する。また、アプリ審査部１１２は、アプリケーションをエッジサーバ４００で実行させることによる動作分析に基づいて、アプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセス内容と、アクセス申告リストに示されたアクセスの有無とが一致するか否かを審査する。
上述したように、アプリケーションは、エッジ機器５００の提供する機能を使用するための標準化されたインタフェース及びエッジ機器５００に係る処理データへのアクセスをするための標準化されたインタフェースを使用することにより、このような審査を自動的に行うことができる。
【００２７】
アプリ登録部１１３は、アプリ審査部１１２による審査の結果、アプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセス内容と、アクセス申告リストに示されたアクセスの有無とが一致すると判定された場合に、アプリケーションを、配信管理サーバシステム３００で配信管理することを承認する。そして、アプリ登録部１１３は、承認されたアプリケーションと、アクセス申告リストとを対応付けて、アプリケーションＤＢ３０５に登録する。
【００２８】
記憶部１２０は、制御部１１０により実行されるプログラム等を記憶し、また、アプリ受付部１１１が受け付けたアプリケーション等を一時記憶する記憶領域である。
通信部１３０は、ネットワークＮ１を介して外部機器（例えば、端末２００、配信管理サーバシステム３００等）とデータの送受信を行う通信制御デバイスである。
【００２９】
＜配信管理サーバシステム３００＞
配信管理サーバシステム３００は、そのシステム形態に関わらず、制御部３１０と、記憶部３２０と、通信部３３０とを備える。
制御部３１０は、例えば、ＣＰＵであり、記憶部３２０に記憶された各種プログラムを実行することにより、配信管理サーバシステム３００を統括制御する。
例えば、ＣＰＵは、エンドユーザの端末２００にアクセス申告リストを通知する処理（以下、「リスクリスト通知処理」という。）のためのプログラムを実行する。また、ＣＰＵは、エンドユーザの端末２００からアクセス申告リストに対する承認データを受け付けた場合に、アプリケーション及びアクセス申告リストをエッジサーバ４００に配信する処理（以下、「アプリ配信処理」という。）のためのプログラムを実行する。また、ＣＰＵは、エッジサーバ４００から不正アクセスを検知した旨の通知を受けた場合に、当該アプリケーションを配信した他のエッジサーバ４００に対して不正アクセスが検知された旨を通知する処理（以下、「不正通知処理」という。）のためのプログラムを実行する。
このように、リスクリスト通知処理、アプリ配信処理、及び不正通知処理のためのプログラムを実行することにより、ＣＰＵには、機能的構成として、リスクリスト通知部３１１と、アプリ配信部３１２と、不正通知部３１３と、が形成される。
【００３０】
リスクリスト通知部３１１は、アプリケーションの購入要求又は配信要求のあった端末２００に対して、アプリケーションに対応したアクセス申告リストを端末２００に通知する。
アプリ配信部３１２は、リスクリスト通知部３１１により通知したアクセス申告リストに対する承認データを受け付けた場合に、対応するアプリケーションと、アクセス申告リストとを、エッジサーバ４００に対して配信する。ここで、アプリケーションの購入要求又は配信要求に、エッジサーバ４００を識別する識別情報であるエッジサーバＩＤを有することで、アプリ配信部３１２は、指定のエッジサーバ４００を認識してもよいし、記憶部３２０にユーザＩＤと、エッジサーバＩＤとの対応付けを記憶しており、受信した端末２００のユーザＩＤから、対象のエッジサーバ４００を特定してもよい。
【００３１】
不正通知部３１３は、エッジサーバ４００からアプリケーションにアクセス申告リストと異なる不正アクセスを検知した旨の通知を受けた場合に、当該アプリケーションを配信した他のエッジサーバ４００に対して当該アプリケーションにアクセス申告リストと異なる不正アクセスが検知された旨を通知する。後述するが、エッジサーバ４００では、アプリケーションの実行時に、アクセス申告リストでアクセス無と申告されていたエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセスを検知した場合に、配信管理サーバシステム３００に対して当該アプリケーションに係る不正アクセスを検知した旨の通知を行う。
【００３２】
記憶部３２０は、制御部３１０により実行されるプログラム等を記憶する記憶領域である。記憶部３２０は、アプリケーションＤＢ３０５を含む。
アプリケーションＤＢ３０５は、審査の結果承認されたアプリケーションと、アクセス申告リストとを対応付けて記憶するデータベースである。
通信部３３０は、ネットワークＮ１を介して外部機器（例えば、審査管理サーバ１００、端末２００、エッジサーバ４００等）とデータの送受信を行う通信制御デバイスである。
【００３３】
＜エッジサーバ４００＞
エッジサーバ４００は、制御部４１０と、記憶部４２０と、通信部４３０とを備える。
制御部４１０は、例えば、ＣＰＵであり、記憶部４２０に記憶された各種プログラムを実行することにより、エッジサーバ４００を統括制御する。
例えば、ＣＰＵは、アプリケーションを実行する処理（以下、「アプリ実行処理」という。）のためのプログラムを実行する。また、ＣＰＵは、アクセス申告リストに基づいてアクセスを制御する処理（以下、「アクセス制御処理」という。）のためのプログラムを実行する。また、ＣＰＵは、アクセス申告リストでアクセス無と申告されていたエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセスを検知した場合に、配信管理サーバシステム３００に対して当該アプリケーションに係る不正アクセスを検知した旨の通知を行う処理（以下、「不正アプリ通知処理」という。）のためのプログラムを実行する。
このように、アプリ実行処理、アクセス制御処理、及び不正アプリ通知処理のためのプログラムを実行することにより、ＣＰＵには、機能的構成として、アプリ実行部４１１と、アクセス制御部４１２と、不正アプリ通知部４１３と、が形成される。
【００３４】
制御部４１０の各機能部の説明の前に、まず、記憶部４２０について説明する。
記憶部４２０は、制御部４１０により実行される、配信管理サーバシステム３００からダウンロードしたアプリケーションを含むプログラムと、ダウンロードしたアプリケーションに対応したアクセス申告リストとを記憶する。また、記憶部４２０は、アプリケーションの実行を管理し、アプリケーションに対応したアクセス申告リストにしたがって当該アプリケーションのエッジ機器５００に係る機能の使用及び／又はエッジ機器５００の処理データに関するアクセスを管理、監視するコントローラの機能を有するプログラム（ミドルウェア等）を記憶する。
【００３５】
次に、制御部４１０の備える各機能部について説明する。
アプリ実行部４１１は、アプリケーションの起動要求に基づいて、記憶部４２０に記憶されたアプリケーションを実行する。
アクセス制御部４１２は、アプリ実行部４１１が実行したアプリケーションに対応付けられたアクセス申告リストの内容に基づいて、アプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データへのアクセスを監視する。そして、アクセス制御部４１２は、アクセス申告リストでアクセス有と申告されたエッジ機器５００に係る機能の使用及び／又はエッジ機器５００の処理データへのアクセスのみを許可する。
また、アクセス制御部４１２は、アクセス申告リストでアクセス無と申告されたエッジ機器５００の機能の使用の要求及び／又はエッジ機器５００の処理データに対するアクセス要求を検出した場合に、不正アクセス要求を検出したとして、エラーメッセージ、警報等を表示すると共に、当該アプリケーションを強制停止させることが好ましい。
さらに、アクセス制御部４１２は、配信管理サーバシステム３００からアプリケーションの不正情報を受信すると、当該アプリケーションが実行されている場合には、当該アプリケーションを強制停止させる。
なお、アクセス制御部４１２は、不正アクセス要求を検出した場合や、アプリケーションの不正情報を受信した場合には、以降において、このアプリケーションの起動をさせないようにすることが好ましい。
不正アプリ通知部４１３は、アプリケーションがアクセス申告リストの申告に反するアクセス要求を検出した場合に、配信管理サーバシステム３００に対して当該アプリケーションに係る不正アクセスを検知した旨の通知をする。
【００３６】
通信部４３０は、ネットワークＮ１を介して外部機器（例えば、配信管理サーバシステム３００等）とデータの送受信を行い、ネットワークＮ２を介して外部機器（エッジ機器５００）とデータの送受信を行う通信制御デバイスである。
【００３７】
以上、審査管理サーバ１００、配信管理サーバシステム３００及びエッジサーバ４００に含まれる機能ブロックについて説明した。
なお、上記のアプリセキュリティ管理システム１０００に含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラム（アプリケーション）を読み込んで実行することにより実現されることを意味する。
具体例として、審査管理サーバ１００、配信管理サーバシステム３００及びエッジサーバ４００は、一般的なサーバに、本実施形態を実現するためのプログラム（アプリケーション）を組み込むことにより実現できる。
【００３８】
次に、アプリセキュリティ管理システム１０００を使用したアプリ開発者によるアプリケーションの受付、審査、登録、登録したアプリケーションをエンドユーザが購入して、当該アプリケーションがエッジサーバ４００に配信される場合までの処理の流れを、図５に基づき説明する。
図５は、本実施形態におけるアプリセキュリティ管理システム１０００による処理を含むアプリケーションの受付から配信までの流れの概要を示す図である。
なお、以下に説明する処理フローでは、ステップＳ１１において、審査管理サーバ１００のアプリ受付部１１１は、アプリケーションと、アクセス申告リストとを、アプリ開発者の端末２００からネットワークを介して受け付ける手順を例示しているが、これに限定されない。前述したように、例えば、審査管理サーバ１００に通信可能に接続された管理用端末等を介して受け付け（入力）してもよい。
また、アプリ受付部１１１は、ネットワークではなく、アプリケーションとアクセス申告リストとを格納したコンピュータ可読記録媒体を、所定の入力インタフェースを介して受け付け（入力）してもよい。
【００３９】
［アプリ受付、審査、登録］
アプリ開発者は、ステップＳ（以下、ステップＳを単に「Ｓ」という。）１１において、アプリケーションの審査のために、開発したアプリケーションと、アクセス申告リストとを、アプリ開発者の端末２００を使用して、審査管理サーバ１００に対して送信する。
Ｓ１２において、審査管理サーバ１００のアプリ受付部１１１は、アプリケーションと、アクセス申告リストとを受け付ける。また、アプリ審査部１１２は、受け付けたアプリケーションを、受け付けたアクセス申告リストを使用して審査する。
Ｓ１３において、アプリ審査部１１２による審査の結果、承認された場合に、アプリ登録部１１３は、アプリケーションと、アクセス申告リストとを対応付けて、アプリケーションＤＢ３０５に登録する。
【００４０】
［アプリ配信］
エンドユーザは、図示しないアプリ閲覧画面等により、アプリケーションの機能等を参照する。そして、エンドユーザは、自身のエッジサーバ４００に配信したいアプリケーションを見つけた場合、Ｓ２１において、エンドユーザの端末２００を使用して、アプリの購入要求を、配信管理サーバシステム３００に対して送信する。
Ｓ２２において、配信管理サーバシステム３００のアプリ配信部３１２は、アプリの購入要求を受け付けたことに応じて、購入要求に示されるアプリケーションに対応したアクセス申告リストを、アプリケーションＤＢ３０５から抽出する。
Ｓ２３において、アプリ配信部３１２は、抽出したアクセス申告リストを、エンドユーザの端末２００に送信する。
これにより、端末２００には、アクセス申告リストが表示される（Ｓ２４）。よって、エンドユーザは、アクセス申告リストを見て、当該アプリケーションを使用した場合のリスクを確認できる。
【００４１】
エンドユーザは、アクセス申告リストを確認後、例えば、端末２００に表示された、アクセス申告リストに記載のリスクを容認する意思を示す確認ボタンを押下する。すると、Ｓ２５において、端末２００は、エンドユーザによる、例えば、セキュリティに係るリスクを確認したことを示す承認データを、配信管理サーバシステム３００に対して送信する。配信管理サーバシステム３００では、承認データを受信した場合に、Ｓ２６において、アプリ配信部３１２が、アプリケーション及びアクセス申告リストの抽出を、アプリケーションＤＢ３０５に対して行う。
Ｓ２７において、アプリ配信部３１２は、アプリケーションＤＢ３０５から抽出したアプリケーションと、アクセス申告リストとを取得する。
Ｓ２８において、アプリ配信部３１２は、取得したアプリケーションと、アクセス申告リストとを、エンドユーザのエッジサーバ４００に対して送信する。
【００４２】
次に、エッジサーバ４００でのアクセス申告リストを用いたアプリケーションの制御について説明する。
図６は、本実施形態におけるエッジサーバ４００でのアクセス制御処理を示すフローチャートである。
図７は、本実施形態におけるエッジサーバ４００でのアクセス制御処理を説明するための図である。
【００４３】
図６のＳ４０において、エッジサーバ４００のアプリ実行部４１１は、記憶部４２０に記憶されたアプリケーションを起動させる。このアプリケーションの起動は、例えば、エッジサーバ４００の電源がオンになった場合のサーバ立ち上げ時に行われる。
Ｓ４１において、アクセス制御部４１２は、アプリケーションに対応したアクセス申告リストを読み込む。
図７に示す例では、アプリケーション６１０に対応したアクセス申告リスト６２０が、アプリケーション６１０を制御するコントローラ６５０に読み込まれる。
【００４４】
Ｓ４２において、アクセス制御部４１２は、アプリケーションからエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データへのアクセス要求を受け付けたか否かを判断する。要求を受け付けた場合（Ｓ４２：ＹＥＳ）には、アクセス制御部４１２は、処理をＳ４３に移す。要求を受け付けていない場合（Ｓ４２：ＮＯ）には、アクセス制御部４１２は、処理をＳ４５に移す。
【００４５】
Ｓ４３において、アクセス制御部４１２は、要求に対応するエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データへのアクセスが許可されているか否かを、アクセス申告リストに基づいて判断する。アクセスが許可されている場合（Ｓ４３：ＹＥＳ）には、アクセス制御部４１２は、処理をＳ４４に移す。他方、アクセスが許可されていない場合（Ｓ４３：ＮＯ）には、アクセス制御部４１２は、処理をＳ４４ａに移す。
Ｓ４４において、アクセス制御部４１２は、エッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対してアクセスする処理を行う。その後、制御部４１０は、処理をＳ４５に移す。
他方、Ｓ４４ａにおいて、不正アプリ通知部４１３は、アクセス申告リストの申告に反するアクセス要求を検出したとして、配信管理サーバシステム３００に対して当該アプリケーションに係る不正アクセスを検知した旨の通知をする。
【００４６】
図７に示す例では、エッジサーバ４００は、アクセス対象６６０として、データＡ，Ｂと、機能Ｃ，Ｄとを有する。データＡ及び機能Ｃと、データＢ及び機能Ｄとは、それぞれ関連性があるが、例えば、データＡと機能Ｄとは、関連性がない。よって、アクセス申告リスト６２０は、関連性があるデータ及び機能は、アクセス許可又は拒否に統一感を有する。
そして、例えば、アプリケーションから受け付けた要求がデータＡに対するアクセス要求であれば、アクセス制御部４１２は、アクセス申告リスト６２０を参照し、アクセスが許可されているので（Ｓ４３がＹＥＳ）、アプリケーション６１０によりデータＡにアクセスする処理を行う（Ｓ４４）。
また、例えば、アプリケーションから受け付けた要求が機能Ｄの使用要求であれば、アクセス制御部４１２は、アクセス申告リスト６２０を参照し、アクセスが許可されていないので（Ｓ４３がＮＯ）、アプリケーション６１０により機能Ｄを使用せず、アプリケーションに係る不正アクセスを検知した旨の通知を、配信管理サーバシステム３００に対して行う（Ｓ４４ａ）。
【００４７】
Ｓ４５において、制御部４１０は、アプリケーションの終了を受け付けたか否かを判断する。制御部４１０は、例えば、エッジサーバ４００の電源切断操作を受け付けた場合の他、アプリケーションに係る不正アクセスを検知した旨を通知した場合や、アプリケーションの強制終了操作を受け付けた場合等に、アプリケーションの終了を受け付けたと判断する。アプリケーションの終了を受け付けた場合（Ｓ４５：ＹＥＳ）には、制御部４１０は、処理をＳ４６に移し、アプリケーションを終了させる。他方、アプリケーションの終了を受け付けていない場合（Ｓ４５：ＮＯ）には、アクセス制御部４１２は、処理をＳ４２に移す。
図７に示す例では、アプリケーションから受け付けた要求が機能Ｄの使用要求であった場合に、上述したように、アクセス制御部４１２は、アプリケーション６１０により機能Ｄを使用せず、アプリケーションに係る不正アクセスを検知した旨の通知を、配信管理サーバシステム３００に対して行う（Ｓ４４ａ）。よって、制御部４１０は、アプリケーションの終了を受け付けたと判断し（Ｓ４５がＹＥＳ）、アプリケーションを終了させる。
【００４８】
なお、エッジサーバ４００は、アプリケーションに係る不正アクセスを検知した旨を通知した場合や、配信管理サーバシステム３００からアプリケーションに係る不正アクセスが検知された旨の通知を受けた場合は、記憶部４２０に不正である旨の情報を記憶しておき、当該アプリケーションの起動をさせないようにしてもよいし、アプリケーションの起動をして（Ｓ４０）不正である旨の情報に基づいて当該アプリケーションを直ちに停止させてもよい。
【００４９】
以上により、アプリセキュリティ管理システム１０００は、アプリ開発者が開発したアプリケーションを、アプリ開発者自身の申告したアクセス申告リストに基づいて審査を行い、審査の結果、アプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセス内容と、アクセス申告リストに示されたアクセスの有無とが一致すると判定されたアプリケーションを承認されたアプリケーションとして、アクセス申告リストに対応付けてアプリケーションＤＢ３０５に登録する。よって、アプリ開発者が開発したアプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセスの実態が、アプリ開発者自身の申告したアクセス申告リストと一致する場合に限って、当該アプリケーションをユーザが購入できる配信管理サーバシステム３００に登録する。
このように、配信管理サーバシステム３００に登録されたアプリケーションは、審査を経て承認されたものであるので、信頼性が高いものである。
【００５０】
また、アプリセキュリティ管理システム１０００は、エンドユーザがアプリケーションを購入又はダウンロードしようとする場合に、アクセス申告リストを確認してからでないとアプリケーションを購入不可にし、又は、配信不可にするので、エンドユーザがアプリケーションに係るリスクを確認する環境を強制的に構築できる。また、エンドユーザがリスクを容認した上で、アプリケーションをエッジサーバ４００にダウンロードできる。
さらに、アプリセキュリティ管理システム１０００は、アクセス申告リストに基づいて、実行するアプリケーションのエッジ機器５００の機能の使用及び／又はエッジ機器５００の処理データに対するアクセスを監視するので、不正なアクセスができない仕組みにでき、セキュリティ性をより向上できる。
【００５１】
本発明で使用するアプリケーションを初めとするプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５２】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００５３】
（変形例１）
上述した実施形態では、アクセス申告リストの例として、図３に一例を示したが、これに限定されない。また、データモデルの例として、図４に一例を示したが、これに限定されない。ＣＮＣ工作機械を除く各種の製造装置に関しても、図４と同様のデータモデルを適用してもよい。
【００５４】
（変形例２）
上述した実施形態でのアクセス申告リストについて、エンドユーザがアプリケーションを購入又はダウンロードする前に確認するアクセス申告リストは、例えば、エンドユーザに分かりやすい文言で、許可する機能及び／又は処理データが分かるように記載されたものであることが望ましい。また、アプリ開発者が作成するアクセス申告リストは、例えば、予め用意されたひな形に該当の箇所にチェックを入れるだけのものである等、アプリ開発者が入力しやすいものが望ましい。そして、審査管理サーバ１００やエッジサーバ４００での実行時に使用するアクセス申告リストは、コード化されており、コンピュータが処理できるものであればよい。
【００５５】
（変形例３）
上述した実施形態では、エッジサーバ４００でのアクセス制御を、コントローラ６５０が行うものを例に説明したが、これに限定されない。アクセス申告リストを、アプリケーションのプログラム構成として、アクセス申告リストに基づいて、エッジ機器５００の機能の使用要求及び／又はエッジ機器５００の処理データに対するアクセス要求を行うように、プログラム化されるようにしてもよい。ただし、その場合においても、アクセス制御部４１２によるダブルチェックを行うことが好ましい。
【符号の説明】
【００５６】
１００  審査管理サーバ
１１０，３１０，４１０  制御部
１１１  アプリ受付部
１１２  アプリ審査部
１１３  アプリ登録部
１２０，３２０，４２０  記憶部
２００  端末
３００  配信管理サーバシステム
３０５  アプリケーションＤＢ
３１１  リスクリスト通知部
３１２  アプリ配信部
３１３  不正通知部
４００  エッジサーバ
４１１  アプリ実行部
４１２  アクセス制御部
４１３  不正アプリ通知部
５００  エッジ機器
６１０  アプリケーション
６２０  アクセス申告リスト
１０００  アプリセキュリティ管理システム
【図１】
2019056999.tif 000003
【図２】
2019056999.tif 000004
【図３】
2019056999.tif 000005
【図４】
2019056999.tif 000006
【図５】
2019056999.tif 000007
【図６】
2019056999.tif 000008
【図７】
2019056999.tif 000009