(57)【要約】      （修正有）【課題】認証対象のデバイスにおけるリスクを推定する方法、認証装置及び判定プログラムを提供する。【解決手段】デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、デバイスに関する第１処理の実行回数を計数し、デバイスにおける第２処理の実行回数を含む上記プログラムの認証要求を受信した場合に、第１処理の実行回数と当該第２処理の当該実行回数との比較結果に基づいて、デバイスの検証の要否を判定する処理を含む。【選択図】図９Ａ
2019125228.tif 000002
【特許請求の範囲】
【請求項１】
デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、
前記デバイスに関する第１処理の実行回数を計数し、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を含む判定方法。
【請求項２】
前記第１処理は、前記プログラムのクレデンシャル認証処理であり、
前記第２処理は、前記認証装置による前記クレデンシャル認証処理の結果の受信を検出する処理である
請求項１記載の判定方法。
【請求項３】
更に、
前記認証装置が関与していない手順による外部プログラムとの通信処理の回数を、前記第２処理の前記実行回数に加える
処理を含む請求項２記載の判定方法。
【請求項４】
デバイスで動作するプログラムの認証装置であって、
前記デバイスに関する第１処理の実行回数を計数する計数部と、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する判定部と
を有する認証装置。
【請求項５】
デバイスで動作するプログラムの認証装置であるコンピュータに、
前記デバイスに関する第１処理の実行回数を計数し、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を実行させる判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証装置において認証対象に係る装置のリスクを推定する技術に関する。
【背景技術】
【０００２】
デバイスの通信に係る安全性を担保するために、デバイスで動作するプログラムを認証する認証サーバを用いることがある。認証サーバが、デバイスで動作するプログラムのクレデンシャル認証を行えば、当該プログラムの成り済ましを防止することができる。
【０００３】
しかし、デバイスで動作するプログラムが一旦ウイルスに感染してしまえば、認証サーバによるクレデンシャル認証では、不正な通信処理を防げない。仮にウイルスに感染したデバイスが外部との通信を行えば、ウイルスが拡散することにつながる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１６−５１８６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、一側面では、認証対象のデバイスにおけるリスクを推定することである。
【課題を解決するための手段】
【０００６】
一態様に係る判定方法は、デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、（Ａ）デバイスに関する第１処理の実行回数を計数し、（Ｂ）デバイスにおける第２処理の実行回数を含む上記プログラムの認証要求を受信した場合に、第１処理の実行回数と当該第２処理の当該実行回数との比較結果に基づいて、デバイスの検証の要否を判定する処理を含む。
【発明の効果】
【０００７】
一側面としては、認証対象のデバイスにおけるリスクを推定できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、ネットワーク構成例を示す図である。
【図２】図２は、ウイルス感染の例を示す図である。
【図３】図３は、マイクロコンピュータのハードウエア構成例を示す図である。
【図４】図４は、メモリの構成例を示す図である。
【図５】図５は、フェーズ例を示す図である。
【図６】図６は、初期認証フェーズのシーケンス例を示す図である。
【図７Ａ】図７Ａは、第１アクセスフェーズのシーケンス例を示す図である。
【図７Ｂ】図７Ｂは、第１アクセスフェーズのシーケンス例を示す図である。
【図７Ｃ】図７Ｃは、第１アクセスフェーズのシーケンス例を示す図である。
【図８Ａ】図８Ａは、第２アクセスフェーズのシーケンス例を示す図である。
【図８Ｂ】図８Ｂは、第２アクセスフェーズのシーケンス例を示す図である。
【図８Ｃ】図８Ｃは、第２アクセスフェーズのシーケンス例を示す図である。
【図９Ａ】図９Ａは、第３アクセスフェーズのシーケンス例を示す図である。
【図９Ｂ】図９Ｂは、第３アクセスフェーズのシーケンス例を示す図である。
【図９Ｃ】図９Ｃは、第３アクセスフェーズのシーケンス例を示す図である。
【図９Ｄ】図９Ｄは、第３アクセスフェーズのシーケンス例を示す図である。
【図１０】図１０は、第１認証サーバのモジュール構成例を示す図である。
【図１１】図１１は、第１認証サーバのメイン処理フローを示す図である。
【図１２】図１２は、第１認証サーバのメイン処理フローを示す図である。
【図１３】図１３は、第１認証サーバのメイン処理フローを示す図である。
【図１４】図１４は、第１認証サーバのメイン処理フローを示す図である。
【図１５】図１５は、制御部のモジュール構成例を示す図である。
【図１６】図１６は、制御部のメイン処理フローを示す図である。
【図１７】図１７は、制御部のメイン処理フローを示す図である。
【図１８】図１８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【０００９】
図１に、ネットワーク構成例を示す。デバイス１０１は、アプリケーションプログラムＡ＿１０３及びアプリケーションプログラムＢ＿１０５を有する。デバイス１０１は、ネットワークに接続することがある。ネットワークは、例えばＬＡＮ（Local Area Network）、移動体通信網及びインターネットの１つ又は複数の組み合わせである。
【００１０】
第１情報処理装置１０７は、アプリケーションプログラムＸ＿１０９を有する。第１情報処理装置１０７は、ネットワークに接続している。第２情報処理装置１１１は、アプリケーションプログラムＹ＿１１３を有する。第２情報処理装置１１１は、ネットワークに接続している。サーバ装置１１５は、第１認証サーバ１１７を有する。サーバ装置１１５は、ネットワークに接続している。サーバ装置１１９は、第１認可サーバ１２１を有する。サーバ装置１１９は、ネットワークに接続している。サーバ装置１２３は、第２認可サーバ１２５を有する。サーバ装置１２３は、ネットワークに接続している。サーバ装置１２７は、第２認証サーバ１２９を有する。サーバ装置１２７は、ネットワークに接続している。サーバ装置１３１は、外部検証サーバ１３３を有する。サーバ装置１３１は、ネットワークに接続している。
【００１１】
第１認証サーバ１１７は、第１認証サーバ１１７の管理対象であるデバイス１０１で動作するアプリケーションプログラムＡ＿１０３及びアプリケーションプログラムＢ＿１０５のクレデンシャル認証を行う。第１認可サーバ１２１は、第１認可サーバ１２１の管理対象であるデバイス１０１で動作するアプリケーションプログラムＡ＿１０３及びアプリケーションプログラムＢ＿１０５へのアクセスを認可する。第２認可サーバ１２５は、第２認可サーバ１２５の管理対象である第１情報処理装置１０７で動作するアプリケーションプログラムＸ＿１０９へのアクセスを認可する。第２認証サーバ１２９は、第２認証サーバ１２９の管理対象である第２情報処理装置１１１で動作するアプリケーションプログラムＹ＿１１３のクレデンシャル認証を行う。
【００１２】
外部検証サーバ１３３は、デバイス１０１における履歴データ及びプログラム構成データに基づいて、デバイス１０１を検証する。
【００１３】
図２に、ウイルス感染の例を示す。上段に示すように、ウイルスに感染しているアプリケーションプログラムＹ＿１１３が、アプリケーションプログラムＢ＿１０５にアクセスしたときに、ウイルスがアプリケーションプログラムＢ＿１０５に侵入することがある。
【００１４】
その後、中段に示すように、アプリケーションプログラムＢ＿１０５に感染しているウイルスが、アプリケーションプログラムＡ＿１０３へ伝播することがある。
【００１５】
また、下段に示すように、ウイルスに感染しているアプリケーションプログラムＡ＿１０３がアプリケーションプログラムＸ＿１０９へアクセスすると、更に、アプリケーションプログラムＸ＿１０９にウイルスが侵入することになる。
【００１６】
更に、アプリケーションプログラムＡ＿１０３に感染したウイルスが、第１認証サーバ１１７に成り済ましたプログラムへクレデンシャル（例えば、アカウント名とパスワードとの組又は証明書）を送信する不正処理を行えば、アプリケーションプログラムＡ＿１０３のクレデンシャルが流出することになる。尚、成り済ましプログラムによる偽の認証が行われると、デバイス１０１において認証を受ける動作回数が増えることになる。
【００１７】
本実施の形態では、例えばデバイス１０１におけるリスクを、第１認証サーバ１１７において判別し易くする。特に、第１認証サーバ１１７は、第１認証サーバ１１７が関わらない手順によるデバイス１０１の動作に着目し、リスクの高まりを把握するようにする。
【００１８】
デバイス１０１は、例えばマイクロコンピュータ３０１である。図３に、マイクロコンピュータ３０１のハードウエア構成例を示す。マイクロコンピュータ３０１は、プロセッサ３０３、メモリ３０５、無線通信制御回路３０７、無線通信用アンテナ３０９及びセンサ３１１を有する。プロセッサ３０３は、メモリ３０５に記憶されているプログラムを実行する。メモリ３０５は、プログラム及びデータを記憶している。無線通信制御回路３０７は、所定の無線通信方式（例えば、無線ＬＡＮ方式又はセルラー方式）による無線電波を送受信する。無線通信用アンテナ３０９は、当該方式における無線通信の制御を行う。センサ３１１は、例えば温度、位置、加速度又は磁気を計測する。
【００１９】
図４に、メモリ３０５の構成例を示す。この例で、メモリ３０５は、ＲＯＭ（Read Only Memory）４０１、ＲＡＭ（Random Access Memory）４０３、フラッシュメモリ４０５及び耐タンパメモリ４０７を有する。ＲＯＭ４０１は、例えば、予め設定されているデータやプログラムを格納している。ＲＡＭ４０３は、例えば、プログラムやデータを展開する領域を含んでいる。フラッシュメモリ４０５は、例えば、オペレーティングシステムやアプリケーションプログラムを格納している。耐タンパメモリ４０７は、高い耐タンパ性を有する。
【００２０】
尚、デバイス１０１は、例えば図１８に示すコンピュータ装置であってもよい。また、デバイス１０１は、携帯電話端末であってもよい。
【００２１】
図５に、フェーズ例を示す。初期認証フェーズ（Ｓ５０１）は、デバイス１０１の起動時に相当する。初期認証フェーズ（Ｓ５０１）については、図６を用いて後述する。第１アクセスフェーズ（Ｓ５０３）では、アプリケーションプログラムＡ＿１０３がアプリケーションプログラムＸ＿１０９へアクセスする。第１アクセスフェーズ（Ｓ５０３）については、図７Ａ乃至図７Ｃを用いて後述する。第２アクセスフェーズ（Ｓ５０５）では、アプリケーションプログラムＹ＿１１３がアプリケーションプログラムＢ＿１０５へアクセスする。第２アクセスフェーズ（Ｓ５０５）については、図８Ａ乃至図８Ｃを用いて後述する。第３アクセスフェーズ（Ｓ５０７）では、再びアプリケーションプログラムＡ＿１０３がアプリケーションプログラムＸ＿１０９へアクセスする。第３アクセスフェーズ（Ｓ５０７）については、図９Ａ乃至図９Ｄを用いて後述する。
【００２２】
図６に、初期認証フェーズ（Ｓ５０１）のシーケンス例を示す。デバイス１０１は、制御部６０１を有する。制御部６０１は、セキュリティに関する制御を行う。
【００２３】
デバイス１０１の電源が投入され、デバイス１０１が起動すると、制御部６０１は、初期認証要求を第１認証サーバ１１７へ送信する（Ｓ６０３）。
【００２４】
第１認証サーバ１１７は、初期認証を実行する（Ｓ６０５）。第１認証サーバ１１７は、初期認証において、正当なデバイス１０１であるか否かを確認する。初期認証が成功すると、第１認証サーバ１１７は、認証成功を示す初期認証の結果を制御部６０１へ送信する（Ｓ６０７）。そして、第１認証サーバ１１７は、第１認証サーバ１１７におけるカウンタ値に０を設定する（Ｓ６０９）。当該カウンタ値は、第１認証サーバ１１７における所定動作の回数を示す。この例で、第１認証サーバ１１７における所定動作は、デバイス１０１に関するクレデンシャル認証の実行である。
【００２５】
一方、制御部６０１は、認証成功を示す初期認証の結果を受信すると、デバイス１０１におけるカウンタ値に０を設定する（Ｓ６１１）。当該カウンタ値は、デバイス１０１における所定動作の回数を示す。所定動作は、この例で、デバイス１０１における所定動作は、クレデンシャル認証を受ける動作及び第１認証サーバ１１７を介さない手順で外部プログラムと行われる通信の動作である。
【００２６】
図７Ａ乃至図７Ｃに、第１アクセスフェーズ（Ｓ５０３）のシーケンス例を示す。アプリケーションプログラムＡ＿１０３は、アプリケーションプログラムＸ＿１０９の利用に関する認可要求メッセージを送信する段階で、認可要求メッセージを制御部６０１へ渡す（Ｓ７０１）。この例で、認可要求メッセージの宛先は、第２認可サーバ１２５である。認可要求メッセージの宛先は、リダイレクトによって設定される場合もある。
【００２７】
制御部６０１は、認可要求メッセージを受けると、認可要求メッセージにデバイス１０１におけるカウンタ値を付加する（Ｓ７０３）。そして、制御部６０１は、デバイス１０１におけるカウンタ値が付加された認可要求メッセージをネットワークへ送信する（Ｓ７０５）。
【００２８】
第２認可サーバ１２５は、デバイス１０１におけるカウンタ値が付加された認可要求メッセージを受信すると、当該認可要求メッセージから、デバイス１０１におけるカウンタ値、送信元ＩＰアドレス及び送信元プログラム識別子を抽出する（Ｓ７０７）。この例で、送信元ＩＰアドレスは、デバイス１０１のＩＰアドレスである。送信元プログラム識別子は、アプリケーションプログラムＡ＿１０３の名前である。送信元ＩＰアドレス及び送信元プログラム識別子は、当該認可要求メッセージのヘッダに設定されている。
【００２９】
第２認可サーバ１２５は、送信元に関する認証要求メッセージを第１認証サーバ１１７へ送信する（Ｓ７０９）。当該認証要求メッセージは、デバイス１０１におけるカウンタ値、送信元ＩＰアドレス及び送信元プログラム識別子を含む。
【００３０】
第１認証サーバ１１７は、当該認証要求メッセージを受信すると、第１認証サーバ１１７において記憶しているカウンタ値を読む（Ｓ７１１）。第１認証サーバ１１７は、デバイス１０１におけるカウンタ値と第１認証サーバ１１７におけるカウンタ値との差を算出する。具体的には、デバイス１０１におけるカウンタ値から第１認証サーバ１１７におけるカウンタ値を引いて差を求める。最初の段階で、２つのカウンタ値はともに０であるので、差は０である。本実施の形態で、両カウンタ値の差が基準より小さい場合は、デバイス１０１におけるリスクが小さいものと想定する。
【００３１】
第１認証サーバ１１７は、両カウンタ値の差が基準より小さいと判定すると（Ｓ７１３）、デバイス１０１とアプリケーションプログラムＡ＿１０３との組み合わせを検証する（Ｓ７１５）。デバイス１０１とアプリケーションプログラムＡ＿１０３との組み合わせが第１認証サーバ１１７において管理されている場合には、当該組み合わせが正当であると判定する（Ｓ７１７）。図７Ｂに示したシーケンスへ移る。
【００３２】
図７Ｂのシーケンスについて説明する。第１認証サーバ１１７は、リスクベース認証処理を実行する（Ｓ７２１）。リスクベース認証処理では、例えば通信相手の同一性、通信が行われた時間帯や頻度に基づいて判定したリスクの程度が特定される。
【００３３】
リスクが基準よりも大きいと判定した場合（Ｓ７２３）、第１認証サーバ１１７は、クレデンシャル認証処理を実行する（Ｓ７２５）。このとき、第１認証サーバ１１７は、アプリケーションプログラムＡ＿１０３からクレデンシャルを得る（Ｓ７２７）。クレデンシャル認証処理において、第１認証サーバ１１７は、クレデンシャルの有効期間内であることを確認するようにしてもよい。尚、リスクが基準よりも小さいと判定した場合には、クレデンシャル認証処理を省いて、通信及び処理の負荷を軽減する。
【００３４】
クレデンシャル認証が成功すると（Ｓ７２９）、第１認証サーバ１１７は、認証成功を示すクレデンシャル認証結果のメッセージをアプリケーションプログラムＡ＿１０３へ送信する（Ｓ７３１）。
【００３５】
そして、第１認証サーバ１１７は、第１認証サーバ１１７におけるカウンタ値に１を加える（Ｓ７３３）。第１認証サーバ１１７は、更にクレデンシャル認証の履歴を更新する（Ｓ７３５）。このとき、第１認証サーバ１１７は、例えばクレデンシャル認証処理を行った日時及び認証結果を記録する。
【００３６】
制御部６０１は、クレデンシャル認証の成功を検出する（Ｓ７３７）。制御部６０１は、例えばアプリケーションプログラムＡ＿１０３からクレデンシャル認証結果を得る。あるいは、制御部６０１は、クレデンシャル認証結果のメッセージをキャプチャするようにしてもよい。クレデンシャル認証の成功を検出した場合に、制御部６０１は、デバイス１０１におけるカウンタ値に１を加える（Ｓ７３９）。更に、制御部６０１は、更にクレデンシャル認証の履歴を更新する（Ｓ７４１）。このとき、制御部６０１は、例えばクレデンシャル認証を受けた日時及び認証結果を記録する。図７Ｃに示したシーケンスへ移る。
【００３７】
図７Ｃのシーケンスについて説明する。クレデンシャル認証が成功したので、第１認証サーバ１１７は、送信元に関して認証成功を示す認証結果メッセージを第２認可サーバ１２５へ送信する（Ｓ７６１）。
【００３８】
第２認可サーバ１２５は、認証成功を示す認証結果メッセージを受信すると、アプリケーションプログラムＸ＿１０９を利用するためのアクセストークンを含む認可結果メッセージをアプリケーションプログラムＡ＿１０３へ送信する（Ｓ７６３）。
【００３９】
アプリケーションプログラムＡ＿１０３は、当該認可結果メッセージを受信すると、当該認可結果メッセージからアクセストークンを抽出する。そして、アプリケーションプログラムＡ＿１０３は、当該アクセストークンを含むリクエストメッセージをアプリケーションプログラムＸ＿１０９へ送信する（Ｓ７６５）。
【００４０】
アプリケーションプログラムＸ＿１０９は、当該リクエストメッセージを受信すると、当該リクエストメッセージからアクセストークンを抽出する。そして、アプリケーションプログラムＸ＿１０９は、当該アクセストークンの検証要求メッセージを第２認可サーバ１２５へ送信する（Ｓ７６７）。
【００４１】
第２認可サーバ１２５は、当該検証要求メッセージを受信すると、アクセストークン検証処理を実行する（Ｓ７６９）。アクセストークン検証が成功すると（Ｓ７７１）、第２認可サーバ１２５は、アクセストークンの検証成功を示す検証結果メッセージをアプリケーションプログラムＸ＿１０９へ送信する（Ｓ７７３）。
【００４２】
アプリケーションプログラムＸ＿１０９は、アクセストークンの検証成功を示す検証結果メッセージを受信すると、Ｓ７６５で受信したリクエストメッセージの内容に応じた処理を行って、処理結果を含むレスポンスメッセージをアプリケーションプログラムＡ＿１０３へ送信する（Ｓ７７５）。
【００４３】
図８Ａ乃至図８Ｃに、第２アクセスフェーズ（Ｓ５０５）のシーケンス例を示す。アプリケーションプログラムＹ＿１１３は、アプリケーションプログラムＢ＿１０５の利用に関する認可要求メッセージを第１認可サーバ１２１へ送信する（Ｓ８０１）。
【００４４】
第１認可サーバ１２１は、当該認可要求メッセージを受信すると、当該認可要求メッセージから送信元ＩＰアドレス及び送信元プログラム識別子を抽出する（Ｓ８０３）。第１認可サーバ１２１は、送信元に関する認証要求メッセージを第２認証サーバ１２９へ送信する（Ｓ８０５）。当該認証要求メッセージは、送信元ＩＰアドレス及び送信元プログラム識別子を含む。この例で、第１認可サーバ１２１は、第２認可サーバ１２５の場合と異なり、カウンタ値に関する処理を行わないものとする。
【００４５】
第２認証サーバ１２９は、送信元ＩＰアドレス及び送信元プログラム識別子に基づいて、第２情報処理装置１１１とアプリケーションプログラムＹ＿１１３との組み合わせを検証する（Ｓ８０７）。第２情報処理装置１１１とアプリケーションプログラムＹ＿１１３との組み合わせが第２認証サーバ１２９において管理されている場合には、当該組み合わせが正当であると判定する（Ｓ８０９）。尚、この例で、第２認証サーバ１２９は、第１認証サーバ１１７の場合と異なり、カウンタ値に関する処理を行わないものとする。
【００４６】
第２認証サーバ１２９は、リスクベース認証処理を実行する（Ｓ８１１）。この例で、リスクが基準よりも大きいと判定する（Ｓ８１３）。図８Ｂに示したシーケンスへ移る。
【００４７】
図８Ｂのシーケンスについて説明する。リスクが基準よりも大きい場合に、第２認証サーバ１２９は、クレデンシャル認証処理を実行する（Ｓ８２１）。このとき、第２認証サーバ１２９は、アプリケーションプログラムＹ＿１１３からクレデンシャルを得る（Ｓ８２３）。
【００４８】
クレデンシャル認証が成功すると（Ｓ８２５）、第２認証サーバ１２９は、認証成功を示すクレデンシャル認証結果のメッセージをアプリケーションプログラムＹ＿１１３へ送信する（Ｓ８２７）。
【００４９】
第２認証サーバ１２９は、認可要求メッセージの送信元（この例で、第２情報処理装置１１１のアプリケーションプログラムＹ＿１１３）に関して認証成功を示す認証結果メッセージを第１認可サーバ１２１へ送信する（Ｓ８２９）。
【００５０】
第１認可サーバ１２１は、当該認証成功を示す認証結果メッセージを受信すると、アプリケーションプログラムＢ＿１０５を利用するためのアクセストークンを含む認可結果メッセージをアプリケーションプログラムＹ＿１１３へ送信する（Ｓ８３１）。
【００５１】
アプリケーションプログラムＹ＿１１３は、当該認可結果メッセージを受信すると、当該認可結果メッセージからアクセストークンを抽出する。そして、アプリケーションプログラムＹ＿１１３は、当該アクセストークンを含むリクエストメッセージをアプリケーションプログラムＢ＿１０５へ送信する（Ｓ８３３）。図８Ｃに示したシーケンスへ移る。
【００５２】
図８Ｃのシーケンスについて説明する。アプリケーションプログラムＢ＿１０５は、アクセストークンの検証要求メッセージを第１認可サーバ１２１へ送信する（Ｓ８４１）。
【００５３】
第１認可サーバ１２１は、当該アクセストークンの検証要求メッセージを受信すると、アクセストークン検証処理を実行する（Ｓ８４３）。アクセストークン検証が成功すると（Ｓ８４５）、第１認可サーバ１２１は、アクセストークンの検証成功を示す検証結果メッセージをアプリケーションプログラムＢ＿１０５へ送信する（Ｓ８４７）。
【００５４】
アプリケーションプログラムＢ＿１０５は、アクセストークンの検証成功を示す検証結果メッセージを受信すると、図８ＢのＳ８３３で受信したリクエストメッセージの内容に応じた処理を行って、処理結果を含むレスポンスメッセージをアプリケーションプログラムＹ＿１１３へ送信する（Ｓ８４９）。
【００５５】
上述の手順において、第１認証サーバ１１７は関与していない。制御部６０１は、第１認証サーバ１１７が関与していない手順による外部プログラムとの通信を検出すると（Ｓ８５１）、デバイス１０１におけるカウンタ値に１を加える（Ｓ８５３）。制御部６０１は、更に外部プログラムとの通信履歴を更新する（Ｓ８５５）。このとき、制御部６０１は、例えば当該外部通信を行った日時及び通信相手を記録する。
【００５６】
具体的には、制御部６０１は、例えばアプリケーションプログラムＢ＿１０５からアクセストークンの検証成功を示す検証結果メッセージを得ることによって、第１認証サーバ１１７が関与していない外部プログラムとの通信を検出する。あるいは、制御部６０１は、アクセストークンの検証成功を示す検証結果メッセージをキャプチャすることによって、第１認証サーバ１１７が関与していない外部プログラムとの通信を検出するようにしてもよい。
【００５７】
図９Ａ乃至図９Ｄに、第３アクセスフェーズ（Ｓ５０７）のシーケンス例を示す。アプリケーションプログラムＡ＿１０３は、アプリケーションプログラムＸ＿１０９の利用に関する認可要求メッセージを送信する段階で、認可要求メッセージを制御部６０１へ渡す（Ｓ９０１）。
【００５８】
制御部６０１は、当該認可要求メッセージを受けると、当該認可要求メッセージにデバイス１０１におけるカウンタ値を付加する（Ｓ９０３）。この段階で、デバイス１０１におけるカウンタ値は１である。そして、制御部６０１は、デバイス１０１におけるカウンタ値が付加された認可要求メッセージをネットワークへ送信する（Ｓ９０５）。
【００５９】
第２認可サーバ１２５は、当該認可要求メッセージを受信すると、当該認可要求メッセージから、デバイス１０１におけるカウンタ値、送信元ＩＰアドレス及び送信元プログラム識別子を抽出する（Ｓ９０７）。第２認可サーバ１２５は、送信元に関する認証要求メッセージを第１認証サーバ１１７へ送信する（Ｓ９０９）。
【００６０】
第１認証サーバ１１７は、当該認証要求メッセージを受信すると、第１認証サーバ１１７において記憶しているカウンタ値を読む（Ｓ９１１）。この例で、第１認証サーバ１１７は、両カウンタ値の差が基準以上であると判定する（Ｓ９１３）。この例では、説明の便宜のため、基準の値は１である。但し、基準の値は、１より大きくてもよい。図９Ｂに示したシーケンスへ移る。
【００６１】
図９Ｂのシーケンスについて説明する。両カウンタ値の差が基準以上である場合に、第１認証サーバ１１７は、デバイス検証を要求する（Ｓ９２１）。このとき、第１認証サーバ１１７は、デバイス検証の要求メッセージを制御部６０１へ送信する（Ｓ９２３）。
【００６２】
制御部６０１は、当該デバイス検証の要求メッセージを受信すると、デバイス検証処理を実行する（Ｓ９２５）。制御部６０１は、デバイス検証処理において、デバイス１０１自身が正常であることを確認する。制御部６０１は、例えばオペレーティングシステムの状態をチェックし、ウイルスチェックを行う。デバイス検証が成功すると（Ｓ９２７）、制御部６０１は、検証成功を示すデバイス検証の結果メッセージを第１認証サーバ１１７へ送信する（Ｓ９２９）。
【００６３】
本実施の形態では、デバイス検証が成功した場合であっても、更に外部検証を利用する。そのため、第１認証サーバ１１７は、制御部６０１に履歴データ及びプログラム構成データを要求する（Ｓ９３１）。
【００６４】
制御部６０１は、Ｓ９３３において送信されたデータ要求のメッセージを受信すると、データ提供のメッセージを送信する（Ｓ９３５）。Ｓ９３７において送信されるデータ提供のメッセージには、履歴データ及びプログラム構成データが含まれる。図９Ｃに示したシーケンスへ移る。
【００６５】
図９Ｃのシーケンスについて説明する。第１認証サーバ１１７は、当該データ提供のメッセージを受信すると、外部検証サーバ１３３にデバイス１０１の外部検証を要求する（Ｓ９４１）。このとき、第１認証サーバ１１７は、履歴データ及びプログラム構成データを含む外部検証要求のメッセージを外部検証サーバ１３３へ送信する（Ｓ９４３）。
【００６６】
外部検証サーバ１３３は、当該外部検証要求のメッセージを受信すると、当該外部検証要求のメッセージに含まれる履歴データ及びプログラム構成データに基づいて、外部検証処理を実行する（Ｓ９４５）。外部検証サーバ１３３は、外部検証処理において、不正が疑われる痕跡（例えば、デバイス１０１の改ざん過程に相当するプログラム構成或いは不正行為の特徴を示すプログラムの振る舞い）を探す。そして、外部検証サーバ１３３は、不正が疑われる痕跡を見つけた場合には、検証失敗と判断する。外部検証が失敗すると（Ｓ９４７）、外部検証サーバ１３３は、検証失敗を示す外部検証結果のメッセージを第１認証サーバ１１７へ送信する（Ｓ９４９）。図９Ｄに示したシーケンスへ移る。
【００６７】
図９Ｄのシーケンスについて説明する。第１認証サーバ１１７は、認可要求メッセージの送信元（この例で、デバイス１０１のアプリケーションプログラムＡ＿１０３）に関して認証失敗を示す認証結果メッセージを第２認可サーバ１２５へ送信する（Ｓ９６１）。
【００６８】
第１認証サーバ１１７は、認可要求メッセージの送信元（この例で、デバイス１０１のアプリケーションプログラムＡ＿１０３）を不当リストに登録する（Ｓ９６３）。不当リストに登録されたデバイス１０１とアプリケーションプログラムとの組み合わせについては、以降の認証が失敗する。但し、不当リストへの登録は、省くようにしてもよい。そして、第２認可サーバ１２５は、アプリケーションプログラムＸ＿１０９の利用に関してアクセス拒否を示す認可結果メッセージをアプリケーションプログラムＡ＿１０３へ送信する（Ｓ９６５）。
【００６９】
アプリケーションプログラムＡ＿１０３は、当該アクセス拒否を示す認可結果メッセージを受信すると、エラー処理を実行する（Ｓ９６７）。従って、アプリケーションプログラムＸ＿１０９へのアクセスは、行われない。
【００７０】
続いて、第１認証サーバ１１７の動作について詳述する。図１０に、第１認証サーバ１１７のモジュール構成例を示す。第１認証サーバ１１７は、第１受信部１００１、判定部１００３、組み合わせ検証部１００５、第１送信部１００７、リスクベース認証部１００９、クレデンシャル認証部１０１１、第１計数部１０１３、第１更新部１０１５、指示部１０１７、依頼部１０１９、デバイスデータ記憶部１０２１、第１カウンタ値記憶部１０２３、第１履歴データ記憶部１０２５及びクレデンシャル記憶部１０２７を有する。
【００７１】
第１受信部１００１は、各種メッセージを受信する。判定部１００３は、デバイス１０１におけるカウンタ値と第１認証サーバ１１７におけるカウンタ値との差が基準より小さいか否かの判定を行う。組み合わせ検証部１００５は、認証要求メッセージの送信元ＩＰアドレスと送信元プログラム識別子との組み合わせを検証する。第１送信部１００７は、各種メッセージを送信する。リスクベース認証部１００９は、リスクベース認証処理を実行する。クレデンシャル認証部１０１１は、クレデンシャル認証処理を実行する。第１計数部１０１３は、第１認証サーバ１１７におけるカウンタ値に１を加える。第１更新部１０１５は、クレデンシャル認証の履歴を更新する。指示部１０１７は、デバイス１０１の制御部６０１へデバイス検証を指示する。依頼部１０１９は、外部検証サーバ１３３にデバイス１０１の検証を依頼する。
【００７２】
デバイスデータ記憶部１０２１は、管理対象のデバイス１０１及び当該デバイス１０１に含まれるプログラムに関するデータを記憶する。第１カウンタ値記憶部１０２３は、第１認証サーバ１１７におけるカウンタ値を記憶する。第１履歴データ記憶部１０２５は、クレデンシャル認証の履歴を含む履歴データを記憶する。クレデンシャル記憶部１０２７は、デバイス１０１に含まれるプログラムにおけるクレデンシャルを記憶する。
【００７３】
図１１に、第１認証サーバ１１７のメイン処理フローを示す。第１受信部１００１が認証要求メッセージを受信すると（Ｓ１１０１）、判定部１００３は、認証要求メッセージからデバイス１０１におけるカウンタ値を抽出する（Ｓ１１０３）。
【００７４】
判定部１００３は、第１認証サーバ１１７におけるカウンタ値を読んで（Ｓ１１０５）、判定部１００３は、両カウンタ値の差を算出する（Ｓ１１０７）。そして、判定部１００３は、両カウンタ値の差が基準より小さいか否かを判定する（Ｓ１１０９）。
【００７５】
両カウンタ値の差が基準より小さいと判定した場合には、組み合わせ検証部１００５は、認証要求メッセージから送信元ＩＰアドレスと送信元プログラム識別子とを抽出し、当該送信元ＩＰアドレスと当該送信元プログラム識別子との組み合わせを検証する（Ｓ１１１１）。当該送信元ＩＰアドレスと当該送信元プログラム識別子との組み合わせがデバイスデータ記憶部１０２１に記憶されている場合には、組み合わせ検証部１００５は、当該組み合わせが正当であると判定する。一方、当該送信元ＩＰアドレスと当該送信元プログラム識別子との組み合わせがデバイスデータ記憶部１０２１に記憶されていない場合には、組み合わせ検証部１００５は、当該組み合わせが正当でないと判定する。
【００７６】
当該組み合わせが正当でないと判定した場合には（Ｓ１１１３）、第１送信部１００７は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する（Ｓ１１１５）。そして、Ｓ１１０１に示した処理に戻って、上述した処理を繰り返す。一方、当該組み合わせが正当であると判定した場合には（Ｓ１１１３）、端子Ａを介して、図１２に示したＳ１２０１の処理に移る。
【００７７】
図１２について説明する。リスクベース認証部１００９は、認証要求メッセージから抽出された送信元ＩＰアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムに関してリスクベース認証処理を実行し（Ｓ１２０１）、リスクが基準よりも小さいか否かを判定する（Ｓ１２０３）。
【００７８】
リスクが基準よりも小さいと判定した場合には、第１送信部１００７は、認証要求メッセージの送信元へ、認証成功を示す認証結果メッセージを送信する（Ｓ１２０５）。そして、端子Ｂを介して、図１１に示したＳ１１０１の処理に戻る。
【００７９】
一方、リスクが基準以上であると判定した場合には、クレデンシャル認証部１０１１は、認証要求メッセージから抽出された送信元ＩＰアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ、クレデンシャル要求のメッセージを送信する（Ｓ１２０７）。
【００８０】
その後、クレデンシャル認証部１０１１は、クレデンシャル提供のメッセージを受信する（Ｓ１２０９）。クレデンシャル認証部１０１１は、クレデンシャル提供のメッセージからクレデンシャルを抽出し、抽出したクレデンシャルに基づいてクレデンシャル認証処理を実行する（Ｓ１２１１）。端子Ｃを介して、図１３に示したＳ１３０１の処理に移る。
【００８１】
図１３について説明する。クレデンシャル認証が成功したか否かによって、処理が分岐する（Ｓ１３０１）。クレデンシャル認証が成功した場合には、第１送信部１００７は、認証成功を示すクレデンシャル認証結果のメッセージを、認証要求メッセージから抽出された送信元ＩＰアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ送信する（Ｓ１３０３）。
【００８２】
第１計数部１０１３は、第１認証サーバ１１７におけるカウンタ値に１を加える（Ｓ１３０５）。第１更新部１０１５は、クレデンシャル認証の履歴を更新する（Ｓ１３０７）。そして、第１送信部１００７は、認証要求メッセージの送信元へ、認証成功を示す認証結果メッセージを送信する（Ｓ１３０９）。
【００８３】
クレデンシャル認証が失敗した場合には、第１送信部１００７は、認証失敗を示すクレデンシャル認証結果のメッセージを、認証要求メッセージから抽出された送信元ＩＰアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ送信する（Ｓ１３１１）。
【００８４】
第１計数部１０１３は、第１認証サーバ１１７におけるカウンタ値に１を加える（Ｓ１３１３）。第１更新部１０１５は、クレデンシャル認証の履歴を更新する（Ｓ１３１５）。そして、第１送信部１００７は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する（Ｓ１３１７）。そして、端子Ｂを介して、図１１に示したＳ１１０１の処理に戻る。
【００８５】
図１１の説明に戻る。Ｓ１１０９において、両カウンタ値の差が基準以上であると判定した場合には、端子Ｄを介して、図１４に示したＳ１４０１の処理に移る。
【００８６】
図１４について説明する。指示部１０１７は、制御部６０１へデバイス検証の要求メッセージを送信し（Ｓ１４０１）、後に制御部６０１からデバイス検証の結果メッセージを受信する（Ｓ１４０３）。
【００８７】
デバイス検証が成功したか否かによって、処理は分岐する（Ｓ１４０５）。デバイス検証が失敗した場合には、依頼部１０１９は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する（Ｓ１４０７）。そして、端子Ｂを介して、図１１に示したＳ１１０１の処理に戻る。
【００８８】
一方、デバイス検証が成功した場合には、依頼部１０１９は、デバイス１０１の制御部６０１へデータ要求のメッセージを送信する（Ｓ１４０９）。
【００８９】
その後、依頼部１０１９は、データ提供のメッセージを受信する（Ｓ１４１１）。依頼部１０１９は、データ提供のメッセージから履歴データ及びプログラム構成データを抽出する。そして、依頼部１０１９は、抽出した履歴データ及びプログラム構成データを含む外部検証要求のメッセージを、外部検証サーバ１３３へ送信する（Ｓ１４１３）。
【００９０】
その後、依頼部１０１９は、外部検証サーバ１３３から外部検証結果のメッセージを受信する（Ｓ１４１５）。外部検証結果によって、処理は分岐する（Ｓ１４１７）。外部検証結果が検証成功を示す場合には、端子Ａを介して、図１２に示したＳ１２０１の処理に移る。
【００９１】
一方、外部検証結果が検証失敗を示す場合には、第１送信部１００７は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する（Ｓ１４１９）。そして、端子Ｂを介して、図１１に示したＳ１１０１の処理に戻る。
【００９２】
続いて、制御部６０１の動作について詳述する。図１５に、制御部６０１のモジュール構成例を示す。制御部６０１は、受付部１５０１、付加部１５０３、第２送信部１５０５、検出部１５０７、第２計数部１５０９、第２更新部１５１１、第２受信部１５１３、デバイス検証部１５１５、提供部１５１７、構成監視部１５１９、第２カウンタ値記憶部１５３１、第２履歴データ記憶部１５３３及びプログラム構成記憶部１５３５を有する。
【００９３】
受付部１５０１は、認可要求ネッセージを受け付ける。付加部１５０３は、認可要求ネッセージにデバイス１０１におけるカウンタ値を付加する。第２送信部１５０５は、各種メッセージを送信する。検出部１５０７は、各種イベントを検出する。第２計数部１５０９は、デバイス１０１におけるカウンタ値に１を加える。第２更新部１５１１は、クレデンシャル認証の履歴を更新する。第２受信部１５１３は、各種メッセージを受信する。デバイス検証部１５１５は、デバイス検証処理を実行する。提供部１５１７は、履歴データ及びプログラム構成データを含むデータ提供のメッセージを送信する。構成監視部１５１９は、プログラムの構成変更を監視し、プログラムの構成が変更された場合に、プログラム構成データに変更内容を書き込む。
【００９４】
第２カウンタ値記憶部１５３１は、デバイス１０１におけるカウンタ値を記憶する。この例で、第２カウンタ値記憶部１５３１は、耐タンパメモリ４０７に設けられる。第２履歴データ記憶部１５３３は、クレデンシャル認証の履歴及び外部プログラムとの通信の履歴を含む履歴データを記憶する。プログラム構成記憶部１５３５は、プログラム構成データを記憶する。
【００９５】
上述した受付部１５０１、付加部１５０３、第２送信部１５０５、検出部１５０７、第２計数部１５０９、第２更新部１５１１、第２受信部１５１３、デバイス検証部１５１５、提供部１５１７及び構成監視部１５１９は、ハードウエア資源（例えば、図３又は図１８）と、以下で述べる処理をプロセッサ３０３又はＣＰＵ（Central Processing Unit）２５０３に実行させるプログラムとを用いて実現される。
【００９６】
上述した第２カウンタ値記憶部１５３１、第２履歴データ記憶部１５３３及びプログラム構成記憶部１５３５は、ハードウエア資源（例えば、図３又は図１８）を用いて実現される。
【００９７】
図１６に、制御部６０１のメイン処理フローを示す。受付部１５０１がデバイス１０１内のプログラムから認可要求ネッセージを受け付けると（Ｓ１６０１）、付加部１５０３は、認可要求ネッセージにデバイス１０１におけるカウンタ値を付加する（Ｓ１６０３）。そして、第２送信部１５０５は、デバイス１０１におけるカウンタ値が付加された認可要求ネッセージを送信する（Ｓ１６０５）。そして、Ｓ１６０１に示した処理に戻って、上述した処理を繰り返す。
【００９８】
一方、デバイス１０１内のプログラムから認可要求ネッセージを受け付けていない場合には、検出部１５０７は、クレデンシャル認証の成功を検出したか否かを判定する（Ｓ１６０７）。クレデンシャル認証の成功を検出した場合には、第２計数部１５０９は、デバイス１０１におけるカウンタ値に１を加える（Ｓ１６０９）。第２更新部１５１１は、クレデンシャル認証の履歴を更新する（Ｓ１６１１）。そして、Ｓ１６０１に示した処理に戻って、上述した処理を繰り返す。
【００９９】
一方、クレデンシャル認証の成功を検出していない場合には、検出部１５０７は、クレデンシャル認証の失敗を検出したか否かを判定する（Ｓ１６１３）。クレデンシャル認証の失敗を検出した場合には、第２計数部１５０９は、デバイス１０１におけるカウンタ値に１を加える（Ｓ１６１５）。第２更新部１５１１は、クレデンシャル認証の履歴を更新する（Ｓ１６１７）。そして、Ｓ１６０１に示した処理に戻って、上述した処理を繰り返す。
【０１００】
一方、クレデンシャル認証の失敗を検出していない場合には、端子Ｅを介して、図１７に示したＳ１７０１の処理に移る。
【０１０１】
図１７について説明する。検出部１５０７は、図８のＳ８５１で説明したように、外部プログラムとの通信を検出したか否かを判定する（Ｓ１７０１）。外部プログラムとの通信を検出した場合には、第２計数部１５０９は、デバイス１０１におけるカウンタ値に１を加える（Ｓ１７０３）。第２更新部１５１１は、外部プログラムとの通信履歴を更新する（Ｓ１７０５）。そして、端子Ｆを介してＳ１６０１に示した処理に戻って、上述した処理を繰り返す。
【０１０２】
一方、外部プログラムとの通信を検出していない場合に、第２受信部１５１３がデバイス検証の要求メッセージを受信したか否かによって処理が分岐する（Ｓ１７０７）。第２受信部１５１３がデバイス検証の要求メッセージを受信した場合には、デバイス検証部１５１５は、デバイス検証処理を実行する（Ｓ１７０９）。
【０１０３】
デバイス検証が成功したか否かによって処理が分岐する（Ｓ１７１１）。デバイス検証が成功した場合には、第２送信部１５０５は、検証成功を示すデバイス検証の結果メッセージを、デバイス検証の要求メッセージの送信元に送信する（Ｓ１７１３）。そして、端子Ｆを介して、図１６に示したＳ１６０１の処理に戻る。
【０１０４】
一方、デバイス検証が失敗した場合には、第２送信部１５０５は、検証失敗を示すデバイス検証の結果メッセージを、デバイス検証の要求メッセージの送信元に送信する（Ｓ１７１５）。そして、端子Ｆを介して、図１６に示したＳ１６０１の処理に戻る。
【０１０５】
Ｓ１７０７における処理の説明に戻る。第２受信部１５１３がデバイス検証の要求メッセージを受信していない場合には、第２受信部１５１３がデータ要求のメッセージを受信したか否かによって、処理が分岐する（Ｓ１７１７）。
【０１０６】
第２受信部１５１３がデータ要求のメッセージを受信した場合には、提供部１５１７は、第２履歴データ記憶部１５３３から履歴データを読み（Ｓ１７１９）、更にプログラム構成記憶部１５３５からプログラム構成データを読む（Ｓ１７２１）。提供部１５１７は、履歴データ及びプログラム構成データを含むデータ提供のメッセージを、データ要求のメッセージの送信元へ送信する（Ｓ１７２３）。そして、端子Ｆを介して、図１６に示したＳ１６０１の処理に戻る。
【０１０７】
一方、第２受信部１５１３がデータ要求のメッセージを受信していない場合には、そのまま、端子Ｆを介して、図１６に示したＳ１６０１の処理に戻る。
【０１０８】
尚、図１１のＳ１１０７において、判定部１００３は、両カウンタ値の比を算出するようにしてもよい。判定部１００３は、例えばデバイス１０１におけるカウンタ値に対する第１認証サーバ１１７におけるカウンタ値の比を算出する。また、図１１のＳ１１０９において、判定部１００３は、両カウンタ値の比が基準より小さいか否かを判定するようにしてもよい。両カウンタ値の比が基準より小さいと判定した場合には、Ｓ１１１１へ移る。一方、両カウンタ値の比が基準以上であると判定した場合には、端子Ｄを介して図１４のＳ１４０１へ移る。
【０１０９】
また、デバイス１０１における所定動作に、第１認証サーバ１１７を介さない手順で外部プログラムと行われる通信の動作を含めないようにしてもよい。その場合には、図１７に示したＳ１７０３の処理を省くようにしてもよい。
【０１１０】
本実施の形態によれば、デバイス１０１のリスクを推定できる。第１認証サーバ１１７が関与せずに行われたデバイス１０１の処理によるデバイス１０１のリスク拡大を判別できる面がある。
【０１１１】
また、第１認証サーバ１１７に成り済ました偽りのクレデンシャル認証が行われた場合には、両カウンタ値の差が大きくなるので、第１認証サーバ１１７の成り済ましによるリスクを捉えやすくなる。
【０１１２】
また、外部通信によるリスクの拡大を捉えやすくなる。
【０１１３】
また、外部検証を利用すれば、デバイス検証の精度を高めることに役立つ。
【０１１４】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１１５】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１１６】
なお、上で述べたサーバ装置１１５は、コンピュータ装置であって、図１８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティングシステム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーションプログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーションプログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１１７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１１８】
本実施の形態に係る判定方法は、デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、（Ａ）デバイスに関する第１処理の実行回数を計数し、（Ｂ）デバイスにおける第２処理の実行回数を含む上記プログラムの認証要求を受信した場合に、第１処理の実行回数と当該第２処理の当該実行回数との比較結果に基づいて、デバイスの検証の要否を判定する処理を含む。
【０１１９】
このようにすれば、認証対象のデバイスにおけるリスクを推定できる。
【０１２０】
更に、上記第１処理は、上記プログラムのクレデンシャル認証処理であってもよい。更に、上記第２処理は、認証装置によるクレデンシャル認証処理の結果の受信を検出する処理であってもよい。
【０１２１】
このようにすれば、認証装置の成り済ましによるリスクを捉えやすくなる。
【０１２２】
更に、上記判定方法は、（Ｃ）認証装置が関与していない手順による外部プログラムとの通信処理の回数を、第２処理の実行回数に加える処理を含むようにしてもよい。
【０１２３】
このようにすれば、外部通信によるリスクの拡大を捉えやすくなる。
【０１２４】
更に、上記判定方法は、（Ｄ）上記検証を要すると判定した場合に、外部の検証装置へ上記検証を依頼する処理を含むようにしてもよい。
【０１２５】
このようにすれば、デバイス検証の精度を高めることに役立つ。
【０１２６】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０１２７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２８】
（付記１）
デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、
前記デバイスに関する第１処理の実行回数を計数し、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を含む判定方法。
【０１２９】
（付記２）
前記第１処理は、前記プログラムのクレデンシャル認証処理であり、
前記第２処理は、前記認証装置による前記クレデンシャル認証処理の結果の受信を検出する処理である
付記１記載の判定方法。
【０１３０】
（付記３）
更に、
前記認証装置が関与していない手順による外部プログラムとの通信処理の回数を、前記第２処理の前記実行回数に加える
処理を含む付記２記載の判定方法。
【０１３１】
（付記４）
更に、
前記検証を要すると判定した場合に、外部の検証装置へ前記検証を依頼する
処理を含む付記１乃至３のいずれか１つ記載の判定方法。
【０１３２】
（付記５）
デバイスで動作するプログラムの認証装置であって、
前記デバイスに関する第１処理の実行回数を計数する計数部と、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する判定部と
を有する認証装置。
【０１３３】
（付記６）
デバイスで動作するプログラムの認証装置であるコンピュータに、
前記デバイスに関する第１処理の実行回数を計数し、
前記デバイスにおける第２処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第１処理の前記実行回数と当該第２処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を実行させる判定プログラム。
【符号の説明】
【０１３４】
１０１  デバイス
１０３  アプリケーションプログラムＡ
１０５  アプリケーションプログラムＢ
１０７  第１情報処理装置
１０９  アプリケーションプログラムＸ
１１１  第２情報処理装置
１１３  アプリケーションプログラムＹ
１１５  サーバ装置
１１７  第１認証サーバ
１１９  サーバ装置
１２１  第１認可サーバ
１２３  サーバ装置
１２５  第２認可サーバ
１２７  サーバ装置
１２９  第２認証サーバ
１３１  サーバ装置
１３３  外部検証サーバ
３０１  マイクロコンピュータ
３０３  プロセッサ
３０５  メモリ
３０７  無線通信制御回路
３０９  無線通信用アンテナ
３１１  センサ
４０１  ＲＯＭ
４０３  ＲＡＭ
４０５  フラッシュメモリ
４０７  耐タンパメモリ
６０１  制御部
１００１  第１受信部
１００３  判定部
１００５  組み合わせ検証部
１００７  第１送信部
１００９  リスクベース認証部
１０１１  クレデンシャル認証部
１０１３  第１計数部
１０１５  第１更新部
１０１７  指示部
１０１９  依頼部
１０２１  デバイスデータ記憶部
１０２３  第１カウンタ値記憶部
１０２５  第１履歴データ記憶部
１０２７  クレデンシャル記憶部
１５０１  受付部
１５０３  付加部
１５０５  第２送信部
１５０７  検出部
１５０９  第２計数部
１５１１  第２更新部
１５１３  第２受信部
１５１５  デバイス検証部
１５１７  提供部
１５１９  構成監視部
１５３１  第２カウンタ値記憶部
１５３３  第２履歴データ記憶部
１５３５  プログラム構成記憶部
【図１】
2019125228.tif 000003
【図２】
2019125228.tif 000004
【図３】
2019125228.tif 000005
【図４】
2019125228.tif 000006
【図５】
2019125228.tif 000007
【図６】
2019125228.tif 000008
【図７Ａ】
2019125228.tif 000009
【図７Ｂ】
2019125228.tif 000010
【図７Ｃ】
2019125228.tif 000011
【図８Ａ】
2019125228.tif 000012
【図８Ｂ】
2019125228.tif 000013
【図８Ｃ】
2019125228.tif 000014
【図９Ａ】
2019125228.tif 000015
【図９Ｂ】
2019125228.tif 000016
【図９Ｃ】
2019125228.tif 000017
【図９Ｄ】
2019125228.tif 000018
【図１０】
2019125228.tif 000019
【図１１】
2019125228.tif 000020
【図１２】
2019125228.tif 000021
【図１３】
2019125228.tif 000022
【図１４】
2019125228.tif 000023
【図１５】
2019125228.tif 000024
【図１６】
2019125228.tif 000025
【図１７】
2019125228.tif 000026
【図１８】
2019125228.tif 000027