JPWO2008026287A1 - コンピュータ資源検証方法およびコンピュータ資源検証プログラム - Google Patents

コンピュータ資源検証方法およびコンピュータ資源検証プログラム Download PDF

Info

Publication number
JPWO2008026287A1
JPWO2008026287A1 JP2008531941A JP2008531941A JPWO2008026287A1 JP WO2008026287 A1 JPWO2008026287 A1 JP WO2008026287A1 JP 2008531941 A JP2008531941 A JP 2008531941A JP 2008531941 A JP2008531941 A JP 2008531941A JP WO2008026287 A1 JPWO2008026287 A1 JP WO2008026287A1
Authority
JP
Japan
Prior art keywords
application
verification
information
client
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008531941A
Other languages
English (en)
Other versions
JP4983796B2 (ja
Inventor
瑞直 石川
瑞直 石川
誠剛 小谷
誠剛 小谷
秀成 三輪
秀成 三輪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008026287A1 publication Critical patent/JPWO2008026287A1/ja
Application granted granted Critical
Publication of JP4983796B2 publication Critical patent/JP4983796B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

利用者端末装置(10)にインストールされた個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置(10)が実行し、クライアント側処理の結果に係る情報を受信して各アプリケーション間の依存関係の検証を認証局サーバ装置(20)が実行し、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置(10)が正常であるか否かを認証局サーバ装置(20)が判定する。

Description

本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法およびコンピュータ資源検証プログラムに関し、特に、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるコンピュータ資源検証方法およびコンピュータ資源検証プログラムに関する。
従来、サービス提供者のサービス提供装置から利用者端末装置にネットワークを介してサービスを提供する場合に、サービスの安全性を確保すべく、利用者端末装置に係るハードウェアやソフトウェアなどの環境を検証した上でサービスを提供する技術が提案されている。
たとえば、サービス提供装置において、利用者端末装置に係る環境情報(利用者端末装置に組み込まれているソフトウェア(OS、BIOS、ブラウザ、プラグインソフトウェア等)やハードウェア(CPU、メモリ、PCIボード等)、利用者端末装置に接続されているハードウェアなどの情報)を利用者端末装置から取得した上で、利用者端末装置に安全性を損なうソフトウェア(たとえば、セキュリティホールがケアされていないもの)やハードウェアが組み込まれていないか、利用者端末装置に安全性を損なうハードウェアが接続されていないか等を確認し、不正コピーのおそれなどから安全性を確保できない利用者端末装置に対してはサービスの提供を拒否する技術が開示されている(特許文献1を参照)。
特開2004−157790号公報
しかしながら、上述した従来技術では、サービスの利用者が増加し、環境を検証する対象となる利用者端末装置の数が多くなった場合には、サービス提供装置に多大な負荷が発生してしまうという問題があった。
すなわち、サービス提供者にとっては、サービスの利用者が増えることは望ましいことであるが、利用者が増えるとそれだけ安全性を確認する利用者端末装置の数も増加し、それに対応するためには安全性を確認するサービス提供装置を増強する必要があるので高いコストが発生してしまう。そのため、サービスの利用者数が増加した場合でも、利用者端末装置の安全性を検証する装置の負荷をいかにして軽減させることができるかが重要な課題となってきている。
本発明は、上記に鑑みてなされたものであって、サービスの利用者数が増加した場合でも、利用者端末装置の安全性を検証する装置の負荷を軽減させることができるコンピュータ資源検証方法およびコンピュータ資源検証プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、を含んだことを特徴とする。
また、本発明は、上記発明において、前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源の検証を前記サーバ装置が実行する検証工程をさらに含み、前記クライアント側処理実行工程は、前記検証工程による検証の結果、異常が検出されなかった場合に前記クライアント側処理を実行することを特徴とする。
また、本発明は、上記発明において、前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源に係るハッシュ値を前記クライアント装置がハードウェア処理により生成するハッシュ値生成工程をさらに含み、前記検証工程は、前記ハッシュ値生成工程により生成されたハッシュ値の情報に基づいて当該コンピュータ資源の検証をおこなうことを特徴とする。
また、本発明は、上記発明において、前記クライアント側処理実行工程は、前記サーバ装置から特定のコンピュータ資源の検証要求を受け付けた場合に、当該特定のコンピュータ資源との間で依存関係を有するコンピュータ資源の情報を収集し、情報が収集されたコンピュータ資源の検証をおこなうことを特徴とする。
また、本発明は、上記発明において、前記クライアント側処理実行工程は、依存関係の情報収集をおこなうコンピュータ資源の数の指定を前記サーバ装置から受け付けて前記サーバ装置により指定された数のコンピュータ資源に係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報を前記サーバ装置に送信し、前記サーバ側処理実行工程は、送信されたハッシュ値の情報に基づいて各コンピュータ資源間の依存関係の検証を実行することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、前記クライアント装置を正常でないと判定した場合に、異常が検出されたコンピュータ資源の情報を前記クライアント装置に送信することを特徴とする。
また、本発明は、上記発明において、前記判定工程により送信されたコンピュータ資源の情報を受信した場合に前記クライアント装置が当該コンピュータ資源を取得して、取得したコンピュータ資源のインストールを実行するインストール実行工程をさらに含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを判定するサーバ装置に前記クライアント装置が送信する情報送信工程と、を含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信する情報受信工程と、前記情報受信工程により受信された情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、を含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行手順と、前記クライアント側処理実行手順によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行手順と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行手順と、前記クライアント側処理実行手順によりなされたクライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを判定するサーバ装置に前記クライアント装置が送信する情報送信手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信する情報受信手順と、前記情報受信手順により受信された情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行手順と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定手順と、をコンピュータに実行させることを特徴とする。
本発明によれば、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行し、クライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行し、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かをサーバ装置が判定することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
また、本発明によれば、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源の検証をサーバ装置が実行し、検証の結果、異常が検出されなかった場合にクライアント側処理を実行することとしたので、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源がそもそも正常であるか否かを検証することにより、コンピュータ資源の検証が不正なものとなることを防止することができるという効果を奏する。
また、本発明によれば、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源に係るハッシュ値をクライアント装置がハードウェア処理により生成し、生成されたハッシュ値の情報に基づいてサーバ装置が当該コンピュータ資源の検証をおこなうこととしたので、ハッシュ値の生成をハードウェア処理でおこなうので、ソフトウェア処理によりハッシュ値を生成する場合のように不正にハッシュ値が生成される危険性が少なく、コンピュータ資源の検証を確実におこなうことができるという効果を奏する。
また、本発明によれば、クライアント装置が、サーバ装置から特定のコンピュータ資源の検証要求を受け付けた場合に、当該特定のコンピュータ資源との間で依存関係を有するコンピュータ資源の情報を収集し、情報が収集されたコンピュータ資源の検証をおこなうこととしたので、検証すべきコンピュータ資源の情報をサーバ装置がすべて管理する必要がなく、サーバ装置の負荷を軽減することができるという効果を奏する。
また、本発明によれば、クライアント装置が、依存関係の情報収集をおこなうコンピュータ資源の数の指定をサーバ装置から受け付けて、サーバ装置により指定された数のコンピュータ資源に係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報をサーバ装置に送信し、サーバ装置が、送信されたハッシュ値の情報に基づいて各コンピュータ資源間の依存関係の検証を実行することとしたので、たとえクライアント装置により送信されたハッシュ値の情報が盗み見られた場合でも、依存関係の情報収集をおこなうコンピュータ資源の数が変更されればハッシュ値が変化するので、リプライアタック等を抑止することができるという効果を奏する。
また、本発明によれば、サーバ装置が、クライアント装置を正常でないと判定した場合に、異常が検出されたコンピュータ資源の情報をクライアント装置に送信することとしたので、クライアント装置はどのコンピュータ資源に異常が検出されたかを確認することができるという効果を奏する。
また、本発明によれば、サーバ装置により送信されたコンピュータ資源の情報をクライアント装置が受信した場合にクライアント装置が当該コンピュータ資源を取得して、取得したコンピュータ資源のインストールを実行することとしたので、異常が検出されたコンピュータ資源の再インストールを効果的に実行することができるという効果を奏する。
また、本発明によれば、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行し、クライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かを判定するサーバ装置にクライアント装置が送信することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
また、本発明によれば、サーバ装置が、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信し、受信した情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行し、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かをサーバ装置が判定することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
図1は、本発明に係るアプリケーション検証システムを説明する図である。 図2は、基盤アプリケーション、検証アプリケーション、および、依存アプリケーションについて説明する図である。 図3は、図1に示した利用者端末装置10の機能構成を示す図である。 図4は、図3に示したアプリケーション基本データ101cの一例を示す図である。 図5は、図3に示したアプリケーション拡張データ101dの一例を示す図である。 図6は、図3に示したアプリケーション必要機能データ101eの一例を示す図である。 図7は、図3に示したアプリケーション提供機能データ101fの一例を示す図である。 図8は、認証局サーバ装置20により送信される通知要求応答70について説明する図である。 図9は、検証処理制御部108により送信される検証要求80について説明する図である。 図10は、図1に示した認証局サーバ装置20の機能構成を示す図である。 図11は、図10に示した検証設定データ201aの一例を示す図である。 図12−1は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(1)である。 図12−2は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(2)である。 図12−3は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(3)である。 図12−4は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(4)である。 図13は、図3あるいは図10に示した利用者端末装置10あるいは認証局サーバ装置20となるコンピュータのハードウェア構成を示す図である。
符号の説明
10 利用者端末装置
100 通信処理部
101 記憶部
101a アプリケーション
101b ユーザデータ
101c アプリケーション基本データ
101d アプリケーション拡張データ
101e アプリケーション必要機能データ
101f アプリケーション提供機能データ
101g アプリケーション管理データ
102 アプリケーション実行処理部
103 基盤アプリケーションハッシュ値生成部
104 依存アプリケーション抽出部
105 検証/依存アプリケーションハッシュ値生成部
106 アプリケーション検証部
107 アプリケーション導入管理部
108 検証処理制御部
20 認証局サーバ装置
200 通信処理部
201 記憶部
201a 検証設定データ
201b アプリケーション基本データ
201c アプリケーション拡張データ
201d アプリケーション必要機能データ
201e アプリケーション提供機能データ
202 基盤アプリケーションハッシュ値比較部
203 アプリケーション検証部
204 検証/依存アプリケーションハッシュ値生成部
205 検証/依存アプリケーションハッシュ値比較部
206 検証結果通知部
207 検証処理制御部
30 ネットワーク事業者サーバ装置
40,50 ネットワーク
60a,60b 基盤アプリケーション
61 検証アプリケーション
62a〜62e 依存アプリケーション
70 通知要求応答
80 検証要求
以下に、本発明に係るコンピュータ資源検証方法およびコンピュータ資源検証プログラムの実施例を図面に基づいて詳細に説明する。なお、ここでは、コンピュータ資源として利用者端末装置にインストールされているアプリケーションプログラムを検証する場合について説明するが、アプリケーションプログラムに加えてさらにハードウェアの検証をおこなうこととしてもよい。
まず、本発明に係るアプリケーション検証システムについて説明する。図1は、本発明に係るアプリケーション検証システムを説明する図である。このアプリケーション検証システムは、利用者端末装置10、認証局サーバ装置20、および、ネットワーク事業者サーバ装置30がそれぞれネットワーク40に接続され、ネットワーク事業者サーバ装置30はさらにネットワーク50に接続されている。
利用者端末装置10は、各種のアプリケーションプログラム(以下、アプリケーションプログラムを単にアプリケーションと呼ぶ。)がインストールされたパーソナルコンピュータなどの端末装置であり、ネットワーク事業者サーバ装置30を介してネットワーク50に接続し、データの授受をおこなう端末装置である。
認証局サーバ装置20は、ネットワーク50に接続するためのアプリケーションが利用者端末装置10に適切にインストールされているか否か、アプリケーションが改竄されていないか否かの認証をおこない、利用者端末装置10のアプリケーション環境が正常であると判定した場合にのみ、ネットワーク事業者サーバ装置30に対して利用者端末装置10のアプリケーション環境が正常であるとの通知をおこなうサーバ装置である。
ネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50に対する接続要求を受け付けた場合に、利用者端末装置10のアプリケーション環境が正常であるか否かに基づいて、ネットワーク50に対する利用者端末装置10の接続制御をおこなうサーバ装置である。
ここで、利用者端末装置10は、アプリケーション検証部106を備えている。利用者端末装置10がネットワーク50に接続しようとする場合には、このアプリケーション検証部106は、認証局サーバ装置20から検証すべき検証アプリケーションの情報を取得して、検証アプリケーションと依存関係を有する依存アプリケーションを抽出し、検証アプリケーションおよび依存アプリケーションの検証をおこなう。
図2は、基盤アプリケーション、検証アプリケーション、および、依存アプリケーションについて説明する図である。基盤アプリケーション60a,60bとは、アプリケーションの検証をおこなう場合に、前もって検証すべきアプリケーションのことである。たとえば、基盤アプリケーション60a,60bとしては、他のアプリケーションの検証をおこなう検証用のアプリケーションなどが挙げられる。
検証アプリケーション61とは、ネットワーク50に接続するために、利用者端末装置10に正常にインストールされなくてはならないアプリケーションであり、認証局サーバ装置20により検証すべきアプリケーションとして指定されたアプリケーションである。依存アプリケーション62a〜62eとは、検証アプリケーション61が機能するために必要とされるアプリケーションである。
検証アプリケーション61と依存アプリケーション62a〜62eとは、階層構造を形成している。図2の例では、検証アプリケーション61が機能するためには、依存アプリケーション62a,62bが必要であり、依存アプリケーション62aが機能するためには、依存アプリケーション62cが必要であり、依存アプリケーション62bが機能するためには、依存アプリケーション62d,62eが必要である場合が示されている。
図1の説明に戻ると、検証アプリケーションおよび依存アプリケーションの検証後、アプリケーション検証部106は、その検証結果(アプリケーション検証結果)の情報と、アプリケーション間の依存関係の情報(アプリケーション依存関係情報)とを認証局サーバ装置20に送信する(図1の(1)に対応する)。
ここで、アプリケーション間の依存関係の情報としては、検証アプリケーションおよび検証アプリケーションと依存関係を有する依存アプリケーションのそれぞれのハッシュ値を連結し、その連結したハッシュ値から生成されたハッシュ値の情報などが含まれる。
一方、認証局サーバ装置20は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205を備えている。そして、アプリケーション検証結果の情報、および、アプリケーション依存関係情報を利用者端末装置10から受信した場合には、アプリケーション検証部203は、利用者端末装置10により送信されたアプリケーション検証結果に対応する検証アプリケーションおよび依存アプリケーションが、正当な検証アプリケーションおよび依存アプリケーションの情報が登録された認証局サーバ装置20のデータベースに登録されているか否かを調べることにより、アプリケーション間の依存関係の検証をおこなう。
また、検証/依存アプリケーションハッシュ値比較部205は、利用者端末装置10により送信されたハッシュ値の情報を取得し、取得したハッシュ値と、検証アプリケーションおよび依存アプリケーションの正当なハッシュ値を連結することにより生成されたハッシュ値とを比較することにより、アプリケーション間の依存関係の検証をおこなう。
利用者端末装置10によりなされたアプリケーションに係る検証の結果に問題がなく、利用者端末装置10により抽出された依存アプリケーションの情報が認証局サーバ装置20のデータベースに登録されており、利用者端末装置10により送信されたハッシュ値の情報が、認証局サーバ装置20により正当なアプリケーションのハッシュ値から生成されたハッシュ値と一致する場合には、認証局サーバ装置20は、ネットワーク事業者サーバ装置30に対して、利用者端末装置10のアプリケーション環境が正常であることを示す正常環境通知を送信する(図1の(2)に対応する)。
正常環境通知を受信したネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50に対する接続要求を受け付けた場合に、認証局サーバ装置20からその利用者端末装置10に対応する正常環境通知を受信しているか否かを判定し、正常環境通知を受信している場合にのみ、利用者端末装置10をネットワーク50に接続させる(図1の(3)に対応する)。
このように、認証局サーバ装置20側ですべての検証をおこなうのではなく、利用者端末装置10に個々のアプリケーションの検証を実行させ、認証局サーバ装置20はアプリケーション間の依存関係を検証することにより、認証精度を高水準に維持したまま、認証局サーバ装置20の処理にかかる負荷を軽減することができる。
つぎに、図1に示した利用者端末装置10の機能構成について説明する。図3は、図1に示した利用者端末装置10の機能構成を示す図である。図3に示すように、この利用者端末装置10は、通信処理部100、記憶部101、アプリケーション実行処理部102、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107、検証処理制御部108を有する。
通信処理部100は、認証局サーバ装置20やネットワーク事業者サーバ装置30との間でネットワーク40を介してデータ通信をおこなうネットワークインターフェースである。
記憶部101は、ハードディスク装置などの記憶デバイスである。この記憶部101は、アプリケーション101a、ユーザデータ101b、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、アプリケーション管理データ101gを記憶している。
アプリケーション101aは、利用者端末装置10で利用されるアプリケーションプログラムである。このアプリケーション101aには、図2で説明したような、基盤アプリケーション、検証アプリケーション、依存アプリケーションが含まれる。ユーザデータ101bは、利用者端末装置10の利用者が作成した個人データである。
アプリケーション基本データ101cは、利用者端末装置10にインストールされている各アプリケーションの基本データである。図4は、図3に示したアプリケーション基本データ101cの一例を示す図である。
図4に示すように、アプリケーション基本データ101cには、アプリケーション識別子、アプリケーション名、バージョン、リリース、アーキテクチャ種別の情報が登録されている。
アプリケーション識別子は、各アプリケーションを一意に識別する識別子である。アプリケーション名は、各アプリケーションの名称である。バージョンおよびリリースは、各アプリケーションのバージョンおよび同一バーションにおけるリリース番号である。アーキテクチャ種別は、各アプリケーションが対応しているコンピュータアーキテクチャの情報である。
図3の説明に戻ると、アプリケーション拡張データ101dは、利用者端末装置10にインストールされている各アプリケーションの拡張データである。図5は、図3に示したアプリケーション拡張データ101dの一例を示す図である。
図5に示すように、アプリケーション拡張データ101dには、アプリケーション識別子、ハッシュ値、パッケージIDの情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。ハッシュ値は、各アプリケーションが含まれているソフトウェアパッケージのハッシュ値である。パッケージIDは、各アプリケーションが含まれているソフトウェアパッケージを一意に識別するIDである。
図3の説明に戻ると、アプリケーション必要機能データ101eは、各アプリケーションが機能するために必要とされる他のアプリケーションに係るデータである。図6は、図3に示したアプリケーション必要機能データ101eの一例を示す図である。
図6に示すように、アプリケーション必要機能データ101eには、アプリケーション識別子および必要機能情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。
必要機能情報は、各アプリケーションが機能するために必要とされる他のアプリケーションの情報である。この必要機能情報には、シンボル名、バージョン、符号の情報が登録されている。
シンボル名は、各アプリケーションが機能するために必要とされる他のアプリケーションの名称である。バージョンは、各アプリケーションが機能するために最低限必要とされる他のアプリケーションのバージョンである。符号は、各アプリケーションが機能するために必要とされる他のアプリケーションのバージョンの範囲を定義するものである。
たとえば、符号「=」は、当該アプリケーションが、上記バージョンと同一のバージョンのアプリケーションを必要とすることを示している。また、符号「=<」は、当該アプリケーションが、上記バージョン以降のバージョンのアプリケーションを必要とすることを示している。また、符号「>=」は、当該アプリケーションが、上記バージョン以前のバージョンのアプリケーションを必要とすることを示している。
図3の説明に戻ると、アプリケーション提供機能データ101fは、各アプリケーションが提供する機能に係るデータである。図7は、図3に示したアプリケーション提供機能データ101fの一例を示す図である。
図7に示すように、アプリケーション提供機能データ101fには、アプリケーション識別子および提供機能情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。提供機能情報は、各アプリケーションが提供する機能の情報である。この提供機能情報には、シンボル名、バージョン、符号の情報が登録されている。
シンボル名は、各アプリケーションが提供する機能に対応するアプリケーションの名称である。バージョンは、各アプリケーションが提供する機能に対応するアプリケーションのバージョンである。符号は、各アプリケーションが提供する機能に対応するアプリケーションのバージョンの範囲を定義するものである。
たとえば、符号「=」は、当該アプリケーションが、上記バージョンと同一のバージョンのアプリケーションの機能を提供することを示している。また、符号「=<」は、当該アプリケーションが、上記バージョン以降のバージョンのアプリケーションの機能を提供することを示している。また、符号「>=」は、当該アプリケーションが、上記バージョン以前のバージョンのアプリケーションの機能を提供することを示している。
アプリケーション管理データ101gは、利用者端末装置10にインストールされている各アプリケーションの管理情報を記憶したデータである。このアプリケーション管理データ101bには、各アプリケーションのファイルサイズ、ハッシュ値、読み/書き/実行が許可されているか否かを示す許可属性、ファイルタイプ、ファイルの修正時刻、デバイスファイル、シンボリックリンク、ファイルの所有者、ファイルを所有するグループの情報が登録されている。
図3の説明に戻ると、アプリケーション実行処理部102は、記憶部101に記憶されているアプリケーション101aを読み出してアプリケーションを実行する処理部である。基盤アプリケーションハッシュ値生成部103は、基盤アプリケーションのハッシュ値を生成するハードウェア回路である。
ハッシュ値を生成する基盤アプリケーションの情報は、検証処理制御部108が認証局サーバ装置20に検証対象となるアプリケーションの通知要求を送信した場合に、認証局サーバ装置20により送信される通知要求応答に含まれている。
図8は、認証局サーバ装置20により送信される通知要求応答70について説明する図である。図8に示すように、この通知要求応答70には、データタイプ、検証階層、検証最大数、基盤/検証アプリケーション情報が含まれる。
データタイプは、このデータが通知要求応答70であることを示す識別情報である。検証階層は、利用者端末装置10にインストールされているアプリケーションの依存関係を検証する際の検証すべき依存関係の階層の情報である。
たとえば、図2の例において検証階層が「2」と指定された場合には、2階層分(検証アプリケーション61および依存アプリケーション62a,62bを含む階層)のアプリケーションの依存関係が抽出される。
検証最大数は、依存関係を有するアプリケーションのハッシュ値を連結し、連結したハッシュ値のハッシュ値を用いてアプリケーションの依存関係の検証をおこなう場合の、連結するハッシュ値の数の情報である。
基盤/検証アプリケーション情報は、検証対象となる検証アプリケーションおよび基盤アプリケーションの情報である。ここでは、基盤アプリケーションは1つまたは複数指定され、検証アプリケーションは1つだけ指定される。
図3の説明に戻ると、依存アプリケーション抽出部104は、図8に示した通知要求応答70により認証局サーバ装置20から検証すべき検証アプリケーションの指定を受け付けた場合に、記憶部101に記憶されたアプリケーション基本データ101c、アプリケーション必要機能データ101e、アプリケーション提供機能データ101fを読み出して、アプリケーション必要機能データ101eの必要機能情報およびアプリケーション提供機能データ101fの提供機能情報を辿ることによりアプリケーション間の依存関係を抽出する抽出部である。
その際、依存アプリケーション抽出部104は、通知要求応答70に含まれる検証階層および検証最大数の情報を取得し、依存関係の階層が検証階層を越えるか、あるいは、認証局サーバ装置20により指定された検証アプリケーションの数(ここでは、1つ)と、当該検証アプリケーションと依存関係がある依存アプリケーションとの数の和が検証最大数となるまで、検証アプリケーションと依存関係がある依存アプリケーションを抽出する。
ここで、図4、図6、図7に示した例において、検証階層が「2」であり、検証最大数が「3」である場合について考える。アプリケーション「A」は、アプリケーション基本データ101cおよびアプリケーション必要機能データ101eから分かるように、バージョンが「2.3.5」以降のシンボル名が「D」の機能と、バージョンが「1.5」以降のシンボル名が「E」の機能とを必要としている。
また、アプリケーション基本データ101cおよびアプリケーション提供機能データ101fから分かるように、アプリケーション「B」は、バージョンが「2.3.6」のシンボル名が「D」の機能を提供することができ、また、アプリケーション「C」は、バージョンが「1.5」のシンボル名が「E」の機能を提供することができる。
これにより、アプリケーション「A」は、アプリケーション「B」およびアプリケーション「C」に依存していると判定されるので、アプリケーション「B」およびアプリケーション「C」はアプリケーション「A」の依存アプリケーションとなる。
また、この時点で検証アプリケーションおよび依存アプリケーションの数が「3」で検証最大数と等しくなったため、依存アプリケーション抽出部104は、依存関係の抽出を終了する。このようにして、依存アプリケーション抽出部104は、アプリケーション間の依存関係を抽出する。
検証/依存アプリケーションハッシュ値生成部105は、依存アプリケーション抽出部104がアプリケーション間の依存関係を抽出した場合に、依存アプリケーション抽出部104により依存関係が抽出された各アプリケーションのハッシュ値を、図5に示したアプリケーション拡張データ101dから読み出して連結し、連結したハッシュ値のハッシュ値を生成する生成部である。
アプリケーション検証部106は、依存アプリケーション抽出部104により依存関係が抽出された各アプリケーションのファイルの検証をおこなう検証部である。具体的には、アプリケーション検証部106は、アプリケーションのファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループが、アプリケーション管理データ101gに登録されているファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループの情報とそれぞれ一致するか否かを調べることにより各アプリケーションの検証をおこなう。
アプリケーション導入管理部107は、図示しないアプリケーションサーバ装置からアプリケーションを含むパッケージソフトウェアを受信し、利用者端末装置10にインストールする管理部である。
具体的には、アプリケーション導入管理部107は、アプリケーションサーバ装置から受信したパッケージソフトウェアを展開し、記憶部101にアプリケーション101aとして記憶するとともに、アプリケーション101aが使用可能となるようにOS(Operating System)などに対する環境設定をおこなうインストール処理を実行する。
また、アプリケーション導入管理部107は、認証局サーバ装置20から検証結果が正常でないアプリケーションの情報を受信した場合に、そのアプリケーションを含むパッケージソフトウェアをアプリケーションサーバ装置から受信し、アプリケーションのインストールを実行する。
アプリケーションをインストールした場合には、アプリケーション導入管理部107は、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、および、アプリケーション管理データ101gに、当該アプリケーションに係る情報を登録する処理をおこなう。
検証処理制御部108は、記憶部101、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107間のデータの授受を司る制御部である。また、検証処理制御部108は、認証局サーバ装置20との間で利用者端末装置10におけるアプリケーション環境の検証処理に係る種々の情報を送受信する。
具体的には、検証処理制御部108は、アプリケーション環境の検証を開始する際に、認証局サーバ装置20に検証対象となるアプリケーションの通知要求を、自装置を識別する識別情報とともに送信する。また、検証処理制御部108は、図8で説明した通知要求応答70を認証局サーバ装置20から受信する。
さらに、検証処理制御部108は、基盤アプリケーションハッシュ値生成部103により生成された基盤アプリケーションのハッシュ値を認証局サーバ装置20に送信する処理をおこなう。
また、検証処理制御部108は、認証局サーバ装置20に対して、アプリケーション検証部106によりなされたアプリケーションの検証結果と、検証/依存アプリケーションハッシュ値生成部105により生成されたハッシュ値の情報とを含んだ検証要求を送信し、利用者端末装置10のアプリケーション環境が正常であるか否かを検証するよう要求する。
図9は、検証処理制御部108により送信される検証要求80について説明する図である。図9に示すように、この検証要求80には、データタイプ、アプリケーション検証情報、セパレタ、全アプリケーションのハッシュ値に対するハッシュ値の情報が含まれる。ここで、アプリケーション検証情報およびセパレタは、図8で説明した検証最大数と同じ数だけ含まれている。
データタイプは、このデータが検証要求80であることを示す識別情報である。アプリケーション検証情報は、アプリケーション検証部106によりなされたアプリケーションの検証結果の情報である。このアプリケーション検証情報には、検証がなされたアプリケーション名、バージョン、リリース、アーキテクチャ種別および検証結果の情報が含まれる。
検証結果とは、具体的には、アプリケーションのファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループが、アプリケーション管理データ101gに登録されているファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループの情報とそれぞれ一致したか否かを示す情報である。
セパレタは、アプリケーション検証情報が複数ある場合に、各アプリケーション検証情報を区別するためにアプリケーション検証情報の間に挿入されるブランクである。全アプリケーションのハッシュ値に対するハッシュ値は、検証/依存アプリケーションハッシュ値生成部105により生成されたハッシュ値の情報である。
ここで、検証/依存アプリケーションハッシュ値生成部105は、全アプリケーションのハッシュ値に対するハッシュ値を生成する場合に、依存関係を有する各アプリケーションのハッシュ値を連結するが、検証要求80におけるアプリケーション検証情報の順番は、ハッシュ値を連結した順番と同じになるように並べられる。
つぎに、図1に示した認証局サーバ装置20の機能構成について説明する。図10は、図1に示した認証局サーバ装置20の機能構成を示す図である。図10に示すように、この認証局サーバ装置20は、通信処理部200、記憶部201、基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206、検証処理制御部207を有する。
通信処理部200は、利用者端末装置10やネットワーク事業者サーバ装置30との間でネットワーク40を介してデータ通信をおこなうネットワークインターフェースである。
記憶部201は、ハードディスク装置などの記憶デバイスである。この記憶部201は、検証設定データ201a、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eを記憶している。
検証設定データ201aは、利用者端末装置10のアプリケーション環境を検証する際の設定に係るデータである。図11は、図10に示した検証設定データ201aの一例を示す図である。図11に示すように、この検証設定データ201aには、検証アプリケーション識別子、基盤アプリケーション識別子、検証階層、検証最大値の情報が含まれる。
検証アプリケーション識別子および基盤アプリケーション識別子は、それぞれ検証対象となる検証アプリケーションおよび基盤アプリケーションを識別する識別子であり、図4で説明したアプリケーション識別子に対応するものである。
検証階層および検証最大値は、図8で説明した検証階層および検証最大値と同様のものである。ここで、検証階層および検証最大値は、定期的に変更される。これにより、利用者端末装置10により送信された検証要求80における全アプリケーションのハッシュ値に対するハッシュ値の情報が盗み見られた場合でも、依存関係を検証するアプリケーションの数が変更されればそのハッシュ値は変化するので、リプライアタック等を抑止することができる。
図10の説明に戻ると、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eはそれぞれ、図3で説明したアプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101fと同様のデータである。
ただし、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eには、ネットワーク50への接続を許可するために利用者端末装置10にインストールすることを要求するアプリケーションの情報が登録される。
基盤アプリケーションハッシュ値比較部202は、基盤アプリケーションの検証をおこなう場合に、利用者端末装置10から受信した基盤アプリケーションのハッシュ値と、アプリケーション拡張データ201cに登録されている基盤アプリケーションのハッシュ値とを比較することにより、基盤アプリケーションが正常であるか否かを判定する比較部である。
アプリケーション検証部203は、図9に示した検証要求80を利用者端末装置10から受信した場合に、検証要求80に含まれる情報に基づいて、利用者端末装置10のアプリケーション環境を検証する検証部である。
具体的には、アプリケーション検証部203は、検証要求80に含まれるアプリケーション検証情報を抽出し、抽出したアプリケーション検証情報に含まれる検証結果を確認し、検証結果に異常があった場合にアプリケーション環境に異常があると判定する。
また、アプリケーション検証部203は、アプリケーション検証情報に含まれるアプリケーション名、バージョン、リリース、アーキテクチャ種別に対応するアプリケーションがアプリケーション基本データ201bに登録されているか否かを判定し、アプリケーションが登録されていなかった場合にアプリケーション環境に異常があると判定する。
検証/依存アプリケーションハッシュ値生成部204は、検証要求80にアプリケーション検証情報が含まれる検証アプリケーションおよび依存アプリケーションのハッシュ値の情報をアプリケーション拡張データ201cから読み出して、読み出したハッシュ値をアプリケーション検証情報が検証要求80に含まれる順番で連結し、連結したハッシュ値のハッシュ値を生成する生成部である。
検証/依存アプリケーションハッシュ値比較部205は、検証要求80に含まれる全アプリケーションのハッシュ値に対するハッシュ値と、検証/依存アプリケーションハッシュ値生成部204により生成されたハッシュ値とを比較して一致するか否かを検出し、一致しない場合に利用者端末装置10のアプリケーション環境に異常があると判定する比較部である。
検証結果通知部206は、利用者端末装置10のアプリケーション環境の検証結果の情報を利用者端末装置10およびネットワーク事業者サーバ装置30に送信し、検証結果を通知する通知部である。
具体的には、検証結果通知部206は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205により、アプリケーション環境に異常がないと判定された場合に、利用者端末装置10にネットワーク50への接続を許可することを示す情報を送信する。
また、検証結果通知部206は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205により、アプリケーション環境に異常がないと判定された場合に、ネットワーク事業者サーバ装置30に利用者端末装置10のアプリケーション環境が正常であることを示す情報を、当該利用者端末装置10を特定する識別情報とともに送信する。
さらに、検証結果通知部206は、アプリケーション検証部203により、アプリケーション環境に異常があると判定された場合に、利用者端末装置10に接続を不許可とすることを示す情報と、異常があると判定されたアプリケーションを特定するアプリケーション識別子の情報とを送信する。
検証処理制御部207は、記憶部201、基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206間のデータの授受を司る制御部である。また、検証処理制御部207は、利用者端末装置10との間で利用者端末装置10におけるアプリケーション環境の検証処理に係る種々の情報を送受信する。
具体的には、検証処理制御部207は、利用者端末装置10から利用者端末装置10を識別する識別情報とともに、検証対象となるアプリケーションの通知要求を受信する。また、検証処理制御部207は、図8で説明した通知要求応答70を利用者端末装置10に送信する。
さらに、検証処理制御部207は、利用者端末装置10により生成された基盤アプリケーションのハッシュ値を利用者端末装置10から受信する。また、検証処理制御部207は、受信したハッシュ値に基づいて基盤アプリケーションが正常であると判定された場合に利用者端末装置10に検証/依存アプリケーションの検証実行通知を送信する。また、検証処理制御部207は、図9に示したような検証要求80を利用者端末装置10から受信する。
つぎに、本発明に係るアプリケーション検証処理の処理手順について説明する。図12−1、図12−2、図12−3、および、図12−4は、それぞれ、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(1)、(2)、(3)および(4)である。
図12−1に示すように、まず、利用者端末装置10の検証処理制御部108は、検証対象となるアプリケーションの通知要求を認証局サーバ装置20に送信する(ステップS101)。
そして、認証局サーバ装置20の検証処理制御部207は、当該通知要求を受信する(ステップS102)。続いて、検証処理制御部207は、検証対象となる基盤アプリケーションおよび検証アプリケーション、検証階層および検証最大数の情報を検証設定データ201aから読み出す(ステップS103)。
そして、検証処理制御部207は、図8に示したような、検証対象となる基盤アプリケーションおよび検証アプリケーション、検証階層および検証最大数の情報を含んだ通知要求応答70を利用者端末装置10に送信する(ステップS104)。
その後、利用者端末装置10の検証処理制御部108は、通知要求応答70を認証局サーバ装置20から受信する(ステップS105)。そして、利用者端末装置10の基盤アプリケーションハッシュ値生成部103は、認証局サーバ装置20により指定された基盤アプリケーションのハッシュ値をハードウェア処理により生成する(ステップS106)。
続いて、利用者端末装置10の検証処理制御部108は、生成されたハッシュ値の情報を認証局サーバ装置20に送信する(ステップS107)。そして、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10により送信されたハッシュ値の情報を受信する(ステップS108)。
その後、認証局サーバ装置20の基盤アプリケーションハッシュ値比較部202は、自装置のデータベースであるアプリケーション拡張データ201cに登録された基盤アプリケーションのハッシュ値の情報を取得する(ステップS109)。
そして、基盤アプリケーションハッシュ値比較部202は、取得したハッシュ値と利用者端末装置10から受信したハッシュ値とを比較し(ステップS110)、ハッシュ値が一致するか否かを調べる(ステップS111)。
ハッシュ値が一致しない場合には(ステップS111,No)、図12−2に示すように、認証局サーバ装置20の検証処理制御部207は、ハッシュ値が一致しなかった基盤アプリケーションの情報を含むアクセス拒否通知を利用者端末装置10に送信し(ステップS113)、図12−1に示すステップS108に移行する。
ハッシュ値が一致した場合には(ステップS111,Yes)、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10に検証実行通知を送信し(ステップS112)、図12−3に示すステップS122に移行する。
続いて、図12−2に示すように、利用者端末装置10の検証処理制御部108は、認証局サーバ装置20からアクセス拒否通知あるいは検証実行通知を受信する(ステップS114)。そして、検証処理制御部108は、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS115)。
受信した通知がアクセス拒否通知であった場合には(ステップS115,Yes)、図12−4に示すステップS136に移行して、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知を受けた基盤アプリケーションをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得したアプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−2のステップS115において、受信した通知がアクセス拒否通知でなく、検証実行通知であった場合には(ステップS115,No)、利用者端末装置10の依存アプリケーション抽出部104は、通知された検証アプリケーションと依存関係にある依存アプリケーションを抽出する(ステップS116)。
そして、利用者端末装置10のアプリケーション検証部106は、通知された検証アプリケーションおよび抽出された依存アプリケーションの検証を実行する(ステップS117)。
続いて、利用者端末装置10の検証/依存アプリケーションハッシュ値生成部105は、通知された検証アプリケーションおよび抽出された依存アプリケーションのハッシュ値の情報をアプリケーション拡張データ101dから取得する(ステップS118)。
そして、検証/依存アプリケーションハッシュ値生成部105は、取得したハッシュ値を連結し(ステップS119)、連結したハッシュ値に対するハッシュ値を生成する(ステップS120)。
その後、図12−3に示すように、検証/依存アプリケーションハッシュ値生成部105は、図9に示したような、各アプリケーションの検証結果、および、生成されたハッシュ値の情報を含んだ検証要求80を認証局サーバ装置20に送信する(ステップS121)。
そして、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10により送信された検証要求80を受信し(ステップS122)、検証要求80に含まれる検証アプリケーションおよび依存アプリケーションの検証結果が正常であるか否かを調べる(ステップS123)。
そして、検証結果が正常でない場合には(ステップS123,No)、図12−4に示すステップS133に移行して、認証局サーバ装置20の検証処理制御部207は、検証結果が正常でなかった検証アプリケーションまたは依存アプリケーションの情報を含むアクセス拒否通知を利用者端末装置10に送信し(ステップS133)、図12−1に示すステップS108に移行して、それ以後のアプリケーション検証処理を継続する。
そして、図12−4に示すように、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けた検証アプリケーションまたは依存アプリケーションをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得した検証アプリケーションまたは依存アプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−3のステップS123において、検証要求80に含まれる検証アプリケーションおよび依存アプリケーションの検証結果が正常である場合には(ステップS123,Yes)、認証局サーバ装置20のアプリケーション検証部203は、検証要求80にアプリケーション検証情報として含まれている検証アプリケーションおよび依存アプリケーションのアプリケーション名、バージョン、リリース、アーキテクチャ種別の情報を抽出する(ステップS124)。
そして、アプリケーション検証部203は、抽出したアプリケーション名、バージョン、リリース、アーキテクチャ種別の情報と一致する情報がアプリケーション基本データ201bに登録されているか否かを調べる(ステップS125)。
そして、一致する情報がアプリケーション基本データ201bに登録されていない場合には(ステップS125,No)、図12−4のステップS133に移行して、認証局サーバ装置20の検証処理制御部207は、検証要求80に検証結果の情報が含まれるアプリケーションすべてを正常でないものとして、それらのアプリケーションの情報を含んだアクセス拒否通知を利用者端末装置10に送信し(ステップS133)、図12−1に示すステップS108に移行して、それ以後のアプリケーション検証処理を継続する。
そして、図12−4に示すように、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けたアプリケーションすべてをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得した検証アプリケーションおよび依存アプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−3のステップS125において、一致する情報がアプリケーション基本データ201bに登録されている場合には(ステップS125,Yes)、検証/依存アプリケーションハッシュ値生成部204は、検証要求80に検証結果の情報が含まれる各アプリケーションのハッシュ値の情報を、記憶部201にデータベースとして記憶されているアプリケーション拡張データ201cから読み込む(ステップS126)。
そして、検証/依存アプリケーションハッシュ値生成部204は、アプリケーション拡張データ201cから読み込んだハッシュ値を、検証要求80に各アプリケーションのアプリケーション検証情報が登録されている順番で連結し(ステップS127)、連結されたハッシュ値に対するハッシュ値を生成する(ステップS128)。
その後、検証/依存アプリケーションハッシュ値比較部205は、検証/依存アプリケーションハッシュ値生成部204により生成されたハッシュ値と、利用者端末装置10から受信した検証要求80に含まれるハッシュ値とを比較し(ステップS129)、ハッシュ値が一致するか否かを調べる(ステップS130)。
ハッシュ値が一致しない場合には(ステップS130,No)、認証局サーバ装置20の検証処理制御部207は、検証要求80に検証結果の情報が含まれるアプリケーションすべてを正常でないものとして、それらのアプリケーションの情報を含んだアクセス拒否通知を利用者端末装置10に送信する(ステップS133)。
そして、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けたアプリケーションすべてをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得したアプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−4のステップS130において、ハッシュ値が一致した場合には(ステップS130,Yes)、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10のアプリケーション環境が正常であったことを示す正常環境通知をネットワーク事業者サーバ装置30に送信する(ステップS131)。
この正常環境通知を受信したネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50への接続要求を受信した場合に、利用者端末装置10をネットワーク50に接続させる。
そして、認証局サーバ装置20の検証処理制御部207は、ネットワーク50に対する接続を許可することを示すアクセス許可通知を利用者端末装置10に送信し(ステップS132)、認証局サーバ装置20側のアプリケーション検証処理を終了する。
その後、利用者端末装置10の検証処理制御部108は、認証局サーバ装置20からアクセス許可通知を受信し(ステップS134)、その通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、通知はアクセス拒否通知ではないので(ステップS135,No)、そのまま利用者端末装置10側のアプリケーション検証処理を終了する。その後、利用者端末装置10は、ネットワーク事業者サーバ装置30にネットワーク50への接続要求を送信し、ネットワーク50への接続処理をおこなう。
上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。
図13は、図3あるいは図10に示した利用者端末装置10あるいは認証局サーバ装置20となるコンピュータのハードウェア構成を示す図である。このコンピュータは、ユーザからのデータの入力を受け付ける入力装置90、データを表示する表示装置91、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取装置92、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース93、RAM(Random Access Memory)94、ROM(Read Only Memory)95、CPU(Central Processing Unit)96およびHDD(Hard Disk Drive)97をバス98で接続して構成される。
そして、HDD97には、利用者端末装置10あるいは認証局サーバ装置20の機能と同様の機能を発揮するアプリケーション検証プログラム97cが記憶されている。なお、アプリケーション検証プログラム97cは、適宜分散して記憶することとしてもよい。そして、CPU96が、アプリケーション検証プログラム97cをHDD97から読み出して実行することにより、アプリケーション検証プロセス96aが起動される。
このアプリケーション検証プロセス96aは、図3に示した利用者端末装置10のアプリケーション実行処理部102、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107、検証処理制御部108の各機能部、あるいは、図10に示した認証局サーバ装置20の基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206、検証処理制御部207の各機能部に対応する。
また、HDD97には、各種データ97aおよび各種アプリケーション97bが記憶される。各種データ97aは、図3に示した利用者端末装置10の記憶部101に記憶されるユーザデータ101b、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、アプリケーション管理データ101g、あるいは、認証局サーバ装置20の記憶部201に記憶される検証設定データ201a、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eに対応する。また、各種アプリケーション97bは、図3に示した利用者端末装置10の記憶部101に記憶されるアプリケーション101aに対応する。
そして、CPU96は、各種データ97aあるいは各種アプリケーション97bをHDD97に記憶するとともに、各種データ97aあるいは各種アプリケーション97bをHDD97から読み出してRAM94に格納し、RAM94に格納された各種データ94aあるいは各種アプリケーション94bに基づいて各種データ処理を実行する。
ところで、アプリケーション検証プログラム97cは、必ずしも最初からHDD97に記憶させておく必要はない。たとえば、当該コンピュータに挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータに接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶しておき、コンピュータがこれらから各プログラムを読み出して実行するようにしてもよい。
上述してきたように、本実施例では、利用者端末装置10にインストールされた個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行し、クライアント側処理の結果に係る情報を受信して各アプリケーション間の依存関係の検証を認証局サーバ装置20が実行し、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを認証局サーバ装置20が判定することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
また、本実施例では、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションの検証を認証局サーバ装置20が実行し、検証の結果、異常が検出されなかった場合にクライアント側処理を実行することとしたので、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションがそもそも正常であるか否かを検証することにより、アプリケーションの検証が不正なものとなることを防止することができる。
また、本実施例では、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションに係るハッシュ値を利用者端末装置10がハードウェア処理により生成し、生成されたハッシュ値の情報に基づいて認証局サーバ装置20が当該アプリケーションの検証をおこなうこととしたので、ハッシュ値の生成をハードウェア処理でおこなうので、ソフトウェア処理によりハッシュ値を生成する場合のように不正にハッシュ値が生成される危険性が少なく、アプリケーションの検証を確実におこなうことができる。
また、本実施例では、利用者端末装置10が、認証局サーバ装置20から特定のアプリケーションの検証要求を受け付けた場合に、当該特定のアプリケーションとの間で依存関係を有するアプリケーションの情報を収集し、情報が収集されたアプリケーションの検証をおこなうこととしたので、検証すべきアプリケーションの情報を認証局サーバ装置20がすべて管理する必要がなく、認証局サーバ装置20の負荷を軽減することができる。
また、本実施例では、利用者端末装置10が、依存関係の情報収集をおこなうアプリケーションの数の指定を認証局サーバ装置20から受け付けて、認証局サーバ装置20により指定された数のアプリケーションに係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報を認証局サーバ装置20に送信し、認証局サーバ装置20が、送信されたハッシュ値の情報に基づいて各アプリケーション間の依存関係の検証を実行することとしたので、たとえ利用者端末装置10により送信されたハッシュ値の情報が盗み見られた場合でも、依存関係の情報収集をおこなうアプリケーションの数が変更されればハッシュ値が変化するので、リプライアタック等を抑止することができる。
また、本実施例では、認証局サーバ装置20が、利用者端末装置10を正常でないと判定した場合に、異常が検出されたアプリケーションの情報を利用者端末装置10に送信することとしたので、利用者端末装置10はどのアプリケーションに異常が検出されたかを確認することができる。
また、本実施例では、認証局サーバ装置20により送信されたアプリケーションの情報を利用者端末装置10が受信した場合に利用者端末装置10が当該アプリケーションを取得して、取得したアプリケーションのインストールを実行することとしたので、異常が検出されたアプリケーションの再インストールを効果的に実行することができる。
また、本実施例では、利用者端末装置10に導入された個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行し、クライアント側処理の結果に係る情報を、各アプリケーション間の依存関係の検証をおこない、かつ、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを判定する認証局サーバ装置20に利用者端末装置10が送信することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
また、本実施例では、認証局サーバ装置20が、利用者端末装置10に導入された個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行した実行結果の情報を当該利用者端末装置10から受信し、受信した情報に基づいて各アプリケーション間の依存関係の検証を認証局サーバ装置20が実行し、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを認証局サーバ装置20が判定することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上のように、本発明に係るコンピュータ資源検証方法およびコンピュータ資源検証プログラムは、サービス利用者の数が増加した場合に、利用者端末装置の安全性を検証する装置の負荷を軽減させることが必要なコンピュータ資源検証システムに有用である。
本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法およびコンピュータ資源検証プログラムに関し、特に、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるコンピュータ資源検証方法およびコンピュータ資源検証プログラムに関する。
従来、サービス提供者のサービス提供装置から利用者端末装置にネットワークを介してサービスを提供する場合に、サービスの安全性を確保すべく、利用者端末装置に係るハードウェアやソフトウェアなどの環境を検証した上でサービスを提供する技術が提案されている。
たとえば、サービス提供装置において、利用者端末装置に係る環境情報(利用者端末装置に組み込まれているソフトウェア(OS、BIOS、ブラウザ、プラグインソフトウェア等)やハードウェア(CPU、メモリ、PCIボード等)、利用者端末装置に接続されているハードウェアなどの情報)を利用者端末装置から取得した上で、利用者端末装置に安全性を損なうソフトウェア(たとえば、セキュリティホールがケアされていないもの)やハードウェアが組み込まれていないか、利用者端末装置に安全性を損なうハードウェアが接続されていないか等を確認し、不正コピーのおそれなどから安全性を確保できない利用者端末装置に対してはサービスの提供を拒否する技術が開示されている(特許文献1を参照)。
特開2004−157790号公報
しかしながら、上述した従来技術では、サービスの利用者が増加し、環境を検証する対象となる利用者端末装置の数が多くなった場合には、サービス提供装置に多大な負荷が発生してしまうという問題があった。
すなわち、サービス提供者にとっては、サービスの利用者が増えることは望ましいことであるが、利用者が増えるとそれだけ安全性を確認する利用者端末装置の数も増加し、それに対応するためには安全性を確認するサービス提供装置を増強する必要があるので高いコストが発生してしまう。そのため、サービスの利用者数が増加した場合でも、利用者端末装置の安全性を検証する装置の負荷をいかにして軽減させることができるかが重要な課題となってきている。
本発明は、上記に鑑みてなされたものであって、サービスの利用者数が増加した場合でも、利用者端末装置の安全性を検証する装置の負荷を軽減させることができるコンピュータ資源検証方法およびコンピュータ資源検証プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、を含んだことを特徴とする。
また、本発明は、上記発明において、前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源の検証を前記サーバ装置が実行する検証工程をさらに含み、前記クライアント側処理実行工程は、前記検証工程による検証の結果、異常が検出されなかった場合に前記クライアント側処理を実行することを特徴とする。
また、本発明は、上記発明において、前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源に係るハッシュ値を前記クライアント装置がハードウェア処理により生成するハッシュ値生成工程をさらに含み、前記検証工程は、前記ハッシュ値生成工程により生成されたハッシュ値の情報に基づいて当該コンピュータ資源の検証をおこなうことを特徴とする。
また、本発明は、上記発明において、前記クライアント側処理実行工程は、前記サーバ装置から特定のコンピュータ資源の検証要求を受け付けた場合に、当該特定のコンピュータ資源との間で依存関係を有するコンピュータ資源の情報を収集し、情報が収集されたコンピュータ資源の検証をおこなうことを特徴とする。
また、本発明は、上記発明において、前記クライアント側処理実行工程は、依存関係の情報収集をおこなうコンピュータ資源の数の指定を前記サーバ装置から受け付けて前記サーバ装置により指定された数のコンピュータ資源に係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報を前記サーバ装置に送信し、前記サーバ側処理実行工程は、送信されたハッシュ値の情報に基づいて各コンピュータ資源間の依存関係の検証を実行することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、前記クライアント装置を正常でないと判定した場合に、異常が検出されたコンピュータ資源の情報を前記クライアント装置に送信することを特徴とする。
また、本発明は、上記発明において、前記判定工程により送信されたコンピュータ資源の情報を受信した場合に前記クライアント装置が当該コンピュータ資源を取得して、取得したコンピュータ資源のインストールを実行するインストール実行工程をさらに含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを判定するサーバ装置に前記クライアント装置が送信する情報送信工程と、を含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信する情報受信工程と、前記情報受信工程により受信された情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、を含んだことを特徴とする。
また、本発明は、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行手順と、前記クライアント側処理実行手順によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行手順と、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定手順と、をコンピュータに実行させることを特徴とする。
本発明によれば、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行し、クライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行し、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かをサーバ装置が判定することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
また、本発明によれば、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源の検証をサーバ装置が実行し、検証の結果、異常が検出されなかった場合にクライアント側処理を実行することとしたので、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源がそもそも正常であるか否かを検証することにより、コンピュータ資源の検証が不正なものとなることを防止することができるという効果を奏する。
また、本発明によれば、クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源に係るハッシュ値をクライアント装置がハードウェア処理により生成し、生成されたハッシュ値の情報に基づいてサーバ装置が当該コンピュータ資源の検証をおこなうこととしたので、ハッシュ値の生成をハードウェア処理でおこなうので、ソフトウェア処理によりハッシュ値を生成する場合のように不正にハッシュ値が生成される危険性が少なく、コンピュータ資源の検証を確実におこなうことができるという効果を奏する。
また、本発明によれば、クライアント装置が、サーバ装置から特定のコンピュータ資源の検証要求を受け付けた場合に、当該特定のコンピュータ資源との間で依存関係を有するコンピュータ資源の情報を収集し、情報が収集されたコンピュータ資源の検証をおこなうこととしたので、検証すべきコンピュータ資源の情報をサーバ装置がすべて管理する必要がなく、サーバ装置の負荷を軽減することができるという効果を奏する。
また、本発明によれば、クライアント装置が、依存関係の情報収集をおこなうコンピュータ資源の数の指定をサーバ装置から受け付けて、サーバ装置により指定された数のコンピュータ資源に係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報をサーバ装置に送信し、サーバ装置が、送信されたハッシュ値の情報に基づいて各コンピュータ資源間の依存関係の検証を実行することとしたので、たとえクライアント装置により送信されたハッシュ値の情報が盗み見られた場合でも、依存関係の情報収集をおこなうコンピュータ資源の数が変更されればハッシュ値が変化するので、リプライアタック等を抑止することができるという効果を奏する。
また、本発明によれば、サーバ装置が、クライアント装置を正常でないと判定した場合に、異常が検出されたコンピュータ資源の情報をクライアント装置に送信することとしたので、クライアント装置はどのコンピュータ資源に異常が検出されたかを確認することができるという効果を奏する。
また、本発明によれば、サーバ装置により送信されたコンピュータ資源の情報をクライアント装置が受信した場合にクライアント装置が当該コンピュータ資源を取得して、取得したコンピュータ資源のインストールを実行することとしたので、異常が検出されたコンピュータ資源の再インストールを効果的に実行することができるという効果を奏する。
また、本発明によれば、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行し、クライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かを判定するサーバ装置にクライアント装置が送信することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
また、本発明によれば、サーバ装置が、クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信し、受信した情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行し、コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいてクライアント装置が正常であるか否かをサーバ装置が判定することとしたので、コンピュータ資源の検証をクライアント装置とサーバ装置とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、クライアント装置の安全性を検証するサーバ装置の負荷を軽減させることができるという効果を奏する。
以下に、本発明に係るコンピュータ資源検証方法およびコンピュータ資源検証プログラムの実施例を図面に基づいて詳細に説明する。なお、ここでは、コンピュータ資源として利用者端末装置にインストールされているアプリケーションプログラムを検証する場合について説明するが、アプリケーションプログラムに加えてさらにハードウェアの検証をおこなうこととしてもよい。
まず、本発明に係るアプリケーション検証システムについて説明する。図1は、本発明に係るアプリケーション検証システムを説明する図である。このアプリケーション検証システムは、利用者端末装置10、認証局サーバ装置20、および、ネットワーク事業者サーバ装置30がそれぞれネットワーク40に接続され、ネットワーク事業者サーバ装置30はさらにネットワーク50に接続されている。
利用者端末装置10は、各種のアプリケーションプログラム(以下、アプリケーションプログラムを単にアプリケーションと呼ぶ。)がインストールされたパーソナルコンピュータなどの端末装置であり、ネットワーク事業者サーバ装置30を介してネットワーク50に接続し、データの授受をおこなう端末装置である。
認証局サーバ装置20は、ネットワーク50に接続するためのアプリケーションが利用者端末装置10に適切にインストールされているか否か、アプリケーションが改竄されていないか否かの認証をおこない、利用者端末装置10のアプリケーション環境が正常であると判定した場合にのみ、ネットワーク事業者サーバ装置30に対して利用者端末装置10のアプリケーション環境が正常であるとの通知をおこなうサーバ装置である。
ネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50に対する接続要求を受け付けた場合に、利用者端末装置10のアプリケーション環境が正常であるか否かに基づいて、ネットワーク50に対する利用者端末装置10の接続制御をおこなうサーバ装置である。
ここで、利用者端末装置10は、アプリケーション検証部106を備えている。利用者端末装置10がネットワーク50に接続しようとする場合には、このアプリケーション検証部106は、認証局サーバ装置20から検証すべき検証アプリケーションの情報を取得して、検証アプリケーションと依存関係を有する依存アプリケーションを抽出し、検証アプリケーションおよび依存アプリケーションの検証をおこなう。
図2は、基盤アプリケーション、検証アプリケーション、および、依存アプリケーションについて説明する図である。基盤アプリケーション60a,60bとは、アプリケーションの検証をおこなう場合に、前もって検証すべきアプリケーションのことである。たとえば、基盤アプリケーション60a,60bとしては、他のアプリケーションの検証をおこなう検証用のアプリケーションなどが挙げられる。
検証アプリケーション61とは、ネットワーク50に接続するために、利用者端末装置10に正常にインストールされなくてはならないアプリケーションであり、認証局サーバ装置20により検証すべきアプリケーションとして指定されたアプリケーションである。依存アプリケーション62a〜62eとは、検証アプリケーション61が機能するために必要とされるアプリケーションである。
検証アプリケーション61と依存アプリケーション62a〜62eとは、階層構造を形成している。図2の例では、検証アプリケーション61が機能するためには、依存アプリケーション62a,62bが必要であり、依存アプリケーション62aが機能するためには、依存アプリケーション62cが必要であり、依存アプリケーション62bが機能するためには、依存アプリケーション62d,62eが必要である場合が示されている。
図1の説明に戻ると、検証アプリケーションおよび依存アプリケーションの検証後、アプリケーション検証部106は、その検証結果(アプリケーション検証結果)の情報と、アプリケーション間の依存関係の情報(アプリケーション依存関係情報)とを認証局サーバ装置20に送信する(図1の(1)に対応する)。
ここで、アプリケーション間の依存関係の情報としては、検証アプリケーションおよび検証アプリケーションと依存関係を有する依存アプリケーションのそれぞれのハッシュ値を連結し、その連結したハッシュ値から生成されたハッシュ値の情報などが含まれる。
一方、認証局サーバ装置20は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205を備えている。そして、アプリケーション検証結果の情報、および、アプリケーション依存関係情報を利用者端末装置10から受信した場合には、アプリケーション検証部203は、利用者端末装置10により送信されたアプリケーション検証結果に対応する検証アプリケーションおよび依存アプリケーションが、正当な検証アプリケーションおよび依存アプリケーションの情報が登録された認証局サーバ装置20のデータベースに登録されているか否かを調べることにより、アプリケーション間の依存関係の検証をおこなう。
また、検証/依存アプリケーションハッシュ値比較部205は、利用者端末装置10により送信されたハッシュ値の情報を取得し、取得したハッシュ値と、検証アプリケーションおよび依存アプリケーションの正当なハッシュ値を連結することにより生成されたハッシュ値とを比較することにより、アプリケーション間の依存関係の検証をおこなう。
利用者端末装置10によりなされたアプリケーションに係る検証の結果に問題がなく、利用者端末装置10により抽出された依存アプリケーションの情報が認証局サーバ装置20のデータベースに登録されており、利用者端末装置10により送信されたハッシュ値の情報が、認証局サーバ装置20により正当なアプリケーションのハッシュ値から生成されたハッシュ値と一致する場合には、認証局サーバ装置20は、ネットワーク事業者サーバ装置30に対して、利用者端末装置10のアプリケーション環境が正常であることを示す正常環境通知を送信する(図1の(2)に対応する)。
正常環境通知を受信したネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50に対する接続要求を受け付けた場合に、認証局サーバ装置20からその利用者端末装置10に対応する正常環境通知を受信しているか否かを判定し、正常環境通知を受信している場合にのみ、利用者端末装置10をネットワーク50に接続させる(図1の(3)に対応する)。
このように、認証局サーバ装置20側ですべての検証をおこなうのではなく、利用者端末装置10に個々のアプリケーションの検証を実行させ、認証局サーバ装置20はアプリケーション間の依存関係を検証することにより、認証精度を高水準に維持したまま、認証局サーバ装置20の処理にかかる負荷を軽減することができる。
つぎに、図1に示した利用者端末装置10の機能構成について説明する。図3は、図1に示した利用者端末装置10の機能構成を示す図である。図3に示すように、この利用者端末装置10は、通信処理部100、記憶部101、アプリケーション実行処理部102、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107、検証処理制御部108を有する。
通信処理部100は、認証局サーバ装置20やネットワーク事業者サーバ装置30との間でネットワーク40を介してデータ通信をおこなうネットワークインターフェースである。
記憶部101は、ハードディスク装置などの記憶デバイスである。この記憶部101は、アプリケーション101a、ユーザデータ101b、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、アプリケーション管理データ101gを記憶している。
アプリケーション101aは、利用者端末装置10で利用されるアプリケーションプログラムである。このアプリケーション101aには、図2で説明したような、基盤アプリケーション、検証アプリケーション、依存アプリケーションが含まれる。ユーザデータ101bは、利用者端末装置10の利用者が作成した個人データである。
アプリケーション基本データ101cは、利用者端末装置10にインストールされている各アプリケーションの基本データである。図4は、図3に示したアプリケーション基本データ101cの一例を示す図である。
図4に示すように、アプリケーション基本データ101cには、アプリケーション識別子、アプリケーション名、バージョン、リリース、アーキテクチャ種別の情報が登録されている。
アプリケーション識別子は、各アプリケーションを一意に識別する識別子である。アプリケーション名は、各アプリケーションの名称である。バージョンおよびリリースは、各アプリケーションのバージョンおよび同一バーションにおけるリリース番号である。アーキテクチャ種別は、各アプリケーションが対応しているコンピュータアーキテクチャの情報である。
図3の説明に戻ると、アプリケーション拡張データ101dは、利用者端末装置10にインストールされている各アプリケーションの拡張データである。図5は、図3に示したアプリケーション拡張データ101dの一例を示す図である。
図5に示すように、アプリケーション拡張データ101dには、アプリケーション識別子、ハッシュ値、パッケージIDの情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。ハッシュ値は、各アプリケーションが含まれているソフトウェアパッケージのハッシュ値である。パッケージIDは、各アプリケーションが含まれているソフトウェアパッケージを一意に識別するIDである。
図3の説明に戻ると、アプリケーション必要機能データ101eは、各アプリケーションが機能するために必要とされる他のアプリケーションに係るデータである。図6は、図3に示したアプリケーション必要機能データ101eの一例を示す図である。
図6に示すように、アプリケーション必要機能データ101eには、アプリケーション識別子および必要機能情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。
必要機能情報は、各アプリケーションが機能するために必要とされる他のアプリケーションの情報である。この必要機能情報には、シンボル名、バージョン、符号の情報が登録されている。
シンボル名は、各アプリケーションが機能するために必要とされる他のアプリケーションの名称である。バージョンは、各アプリケーションが機能するために最低限必要とされる他のアプリケーションのバージョンである。符号は、各アプリケーションが機能するために必要とされる他のアプリケーションのバージョンの範囲を定義するものである。
たとえば、符号「=」は、当該アプリケーションが、上記バージョンと同一のバージョンのアプリケーションを必要とすることを示している。また、符号「=<」は、当該アプリケーションが、上記バージョン以降のバージョンのアプリケーションを必要とすることを示している。また、符号「>=」は、当該アプリケーションが、上記バージョン以前のバージョンのアプリケーションを必要とすることを示している。
図3の説明に戻ると、アプリケーション提供機能データ101fは、各アプリケーションが提供する機能に係るデータである。図7は、図3に示したアプリケーション提供機能データ101fの一例を示す図である。
図7に示すように、アプリケーション提供機能データ101fには、アプリケーション識別子および提供機能情報が登録されている。アプリケーション識別子は、図4で説明したアプリケーション識別子と同様のものであり、各アプリケーションを一意に識別する識別子である。提供機能情報は、各アプリケーションが提供する機能の情報である。この提供機能情報には、シンボル名、バージョン、符号の情報が登録されている。
シンボル名は、各アプリケーションが提供する機能に対応するアプリケーションの名称である。バージョンは、各アプリケーションが提供する機能に対応するアプリケーションのバージョンである。符号は、各アプリケーションが提供する機能に対応するアプリケーションのバージョンの範囲を定義するものである。
たとえば、符号「=」は、当該アプリケーションが、上記バージョンと同一のバージョンのアプリケーションの機能を提供することを示している。また、符号「=<」は、当該アプリケーションが、上記バージョン以降のバージョンのアプリケーションの機能を提供することを示している。また、符号「>=」は、当該アプリケーションが、上記バージョン以前のバージョンのアプリケーションの機能を提供することを示している。
アプリケーション管理データ101gは、利用者端末装置10にインストールされている各アプリケーションの管理情報を記憶したデータである。このアプリケーション管理データ101bには、各アプリケーションのファイルサイズ、ハッシュ値、読み/書き/実行が許可されているか否かを示す許可属性、ファイルタイプ、ファイルの修正時刻、デバイスファイル、シンボリックリンク、ファイルの所有者、ファイルを所有するグループの情報が登録されている。
図3の説明に戻ると、アプリケーション実行処理部102は、記憶部101に記憶されているアプリケーション101aを読み出してアプリケーションを実行する処理部である。基盤アプリケーションハッシュ値生成部103は、基盤アプリケーションのハッシュ値を生成するハードウェア回路である。
ハッシュ値を生成する基盤アプリケーションの情報は、検証処理制御部108が認証局サーバ装置20に検証対象となるアプリケーションの通知要求を送信した場合に、認証局サーバ装置20により送信される通知要求応答に含まれている。
図8は、認証局サーバ装置20により送信される通知要求応答70について説明する図である。図8に示すように、この通知要求応答70には、データタイプ、検証階層、検証最大数、基盤/検証アプリケーション情報が含まれる。
データタイプは、このデータが通知要求応答70であることを示す識別情報である。検証階層は、利用者端末装置10にインストールされているアプリケーションの依存関係を検証する際の検証すべき依存関係の階層の情報である。
たとえば、図2の例において検証階層が「2」と指定された場合には、2階層分(検証アプリケーション61および依存アプリケーション62a,62bを含む階層)のアプリケーションの依存関係が抽出される。
検証最大数は、依存関係を有するアプリケーションのハッシュ値を連結し、連結したハッシュ値のハッシュ値を用いてアプリケーションの依存関係の検証をおこなう場合の、連結するハッシュ値の数の情報である。
基盤/検証アプリケーション情報は、検証対象となる検証アプリケーションおよび基盤アプリケーションの情報である。ここでは、基盤アプリケーションは1つまたは複数指定され、検証アプリケーションは1つだけ指定される。
図3の説明に戻ると、依存アプリケーション抽出部104は、図8に示した通知要求応答70により認証局サーバ装置20から検証すべき検証アプリケーションの指定を受け付けた場合に、記憶部101に記憶されたアプリケーション基本データ101c、アプリケーション必要機能データ101e、アプリケーション提供機能データ101fを読み出して、アプリケーション必要機能データ101eの必要機能情報およびアプリケーション提供機能データ101fの提供機能情報を辿ることによりアプリケーション間の依存関係を抽出する抽出部である。
その際、依存アプリケーション抽出部104は、通知要求応答70に含まれる検証階層および検証最大数の情報を取得し、依存関係の階層が検証階層を越えるか、あるいは、認証局サーバ装置20により指定された検証アプリケーションの数(ここでは、1つ)と、当該検証アプリケーションと依存関係がある依存アプリケーションとの数の和が検証最大数となるまで、検証アプリケーションと依存関係がある依存アプリケーションを抽出する。
ここで、図4、図6、図7に示した例において、検証階層が「2」であり、検証最大数が「3」である場合について考える。アプリケーション「A」は、アプリケーション基本データ101cおよびアプリケーション必要機能データ101eから分かるように、バージョンが「2.3.5」以降のシンボル名が「D」の機能と、バージョンが「1.5」以降のシンボル名が「E」の機能とを必要としている。
また、アプリケーション基本データ101cおよびアプリケーション提供機能データ101fから分かるように、アプリケーション「B」は、バージョンが「2.3.6」のシンボル名が「D」の機能を提供することができ、また、アプリケーション「C」は、バージョンが「1.5」のシンボル名が「E」の機能を提供することができる。
これにより、アプリケーション「A」は、アプリケーション「B」およびアプリケーション「C」に依存していると判定されるので、アプリケーション「B」およびアプリケーション「C」はアプリケーション「A」の依存アプリケーションとなる。
また、この時点で検証アプリケーションおよび依存アプリケーションの数が「3」で検証最大数と等しくなったため、依存アプリケーション抽出部104は、依存関係の抽出を終了する。このようにして、依存アプリケーション抽出部104は、アプリケーション間の依存関係を抽出する。
検証/依存アプリケーションハッシュ値生成部105は、依存アプリケーション抽出部104がアプリケーション間の依存関係を抽出した場合に、依存アプリケーション抽出部104により依存関係が抽出された各アプリケーションのハッシュ値を、図5に示したアプリケーション拡張データ101dから読み出して連結し、連結したハッシュ値のハッシュ値を生成する生成部である。
アプリケーション検証部106は、依存アプリケーション抽出部104により依存関係が抽出された各アプリケーションのファイルの検証をおこなう検証部である。具体的には、アプリケーション検証部106は、アプリケーションのファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループが、アプリケーション管理データ101gに登録されているファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループの情報とそれぞれ一致するか否かを調べることにより各アプリケーションの検証をおこなう。
アプリケーション導入管理部107は、図示しないアプリケーションサーバ装置からアプリケーションを含むパッケージソフトウェアを受信し、利用者端末装置10にインストールする管理部である。
具体的には、アプリケーション導入管理部107は、アプリケーションサーバ装置から受信したパッケージソフトウェアを展開し、記憶部101にアプリケーション101aとして記憶するとともに、アプリケーション101aが使用可能となるようにOS(Operating System)などに対する環境設定をおこなうインストール処理を実行する。
また、アプリケーション導入管理部107は、認証局サーバ装置20から検証結果が正常でないアプリケーションの情報を受信した場合に、そのアプリケーションを含むパッケージソフトウェアをアプリケーションサーバ装置から受信し、アプリケーションのインストールを実行する。
アプリケーションをインストールした場合には、アプリケーション導入管理部107は、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、および、アプリケーション管理データ101gに、当該アプリケーションに係る情報を登録する処理をおこなう。
検証処理制御部108は、記憶部101、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107間のデータの授受を司る制御部である。また、検証処理制御部108は、認証局サーバ装置20との間で利用者端末装置10におけるアプリケーション環境の検証処理に係る種々の情報を送受信する。
具体的には、検証処理制御部108は、アプリケーション環境の検証を開始する際に、認証局サーバ装置20に検証対象となるアプリケーションの通知要求を、自装置を識別する識別情報とともに送信する。また、検証処理制御部108は、図8で説明した通知要求応答70を認証局サーバ装置20から受信する。
さらに、検証処理制御部108は、基盤アプリケーションハッシュ値生成部103により生成された基盤アプリケーションのハッシュ値を認証局サーバ装置20に送信する処理をおこなう。
また、検証処理制御部108は、認証局サーバ装置20に対して、アプリケーション検証部106によりなされたアプリケーションの検証結果と、検証/依存アプリケーションハッシュ値生成部105により生成されたハッシュ値の情報とを含んだ検証要求を送信し、利用者端末装置10のアプリケーション環境が正常であるか否かを検証するよう要求する。
図9は、検証処理制御部108により送信される検証要求80について説明する図である。図9に示すように、この検証要求80には、データタイプ、アプリケーション検証情報、セパレタ、全アプリケーションのハッシュ値に対するハッシュ値の情報が含まれる。ここで、アプリケーション検証情報およびセパレタは、図8で説明した検証最大数と同じ数だけ含まれている。
データタイプは、このデータが検証要求80であることを示す識別情報である。アプリケーション検証情報は、アプリケーション検証部106によりなされたアプリケーションの検証結果の情報である。このアプリケーション検証情報には、検証がなされたアプリケーション名、バージョン、リリース、アーキテクチャ種別および検証結果の情報が含まれる。
検証結果とは、具体的には、アプリケーションのファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループが、アプリケーション管理データ101gに登録されているファイルサイズ、ハッシュ値、許可属性、ファイルタイプ、修正時刻、デバイスファイル、シンボリックリンク、所有者、グループの情報とそれぞれ一致したか否かを示す情報である。
セパレタは、アプリケーション検証情報が複数ある場合に、各アプリケーション検証情報を区別するためにアプリケーション検証情報の間に挿入されるブランクである。全アプリケーションのハッシュ値に対するハッシュ値は、検証/依存アプリケーションハッシュ値生成部105により生成されたハッシュ値の情報である。
ここで、検証/依存アプリケーションハッシュ値生成部105は、全アプリケーションのハッシュ値に対するハッシュ値を生成する場合に、依存関係を有する各アプリケーションのハッシュ値を連結するが、検証要求80におけるアプリケーション検証情報の順番は、ハッシュ値を連結した順番と同じになるように並べられる。
つぎに、図1に示した認証局サーバ装置20の機能構成について説明する。図10は、図1に示した認証局サーバ装置20の機能構成を示す図である。図10に示すように、この認証局サーバ装置20は、通信処理部200、記憶部201、基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206、検証処理制御部207を有する。
通信処理部200は、利用者端末装置10やネットワーク事業者サーバ装置30との間でネットワーク40を介してデータ通信をおこなうネットワークインターフェースである。
記憶部201は、ハードディスク装置などの記憶デバイスである。この記憶部201は、検証設定データ201a、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eを記憶している。
検証設定データ201aは、利用者端末装置10のアプリケーション環境を検証する際の設定に係るデータである。図11は、図10に示した検証設定データ201aの一例を示す図である。図11に示すように、この検証設定データ201aには、検証アプリケーション識別子、基盤アプリケーション識別子、検証階層、検証最大値の情報が含まれる。
検証アプリケーション識別子および基盤アプリケーション識別子は、それぞれ検証対象となる検証アプリケーションおよび基盤アプリケーションを識別する識別子であり、図4で説明したアプリケーション識別子に対応するものである。
検証階層および検証最大値は、図8で説明した検証階層および検証最大値と同様のものである。ここで、検証階層および検証最大値は、定期的に変更される。これにより、利用者端末装置10により送信された検証要求80における全アプリケーションのハッシュ値に対するハッシュ値の情報が盗み見られた場合でも、依存関係を検証するアプリケーションの数が変更されればそのハッシュ値は変化するので、リプライアタック等を抑止することができる。
図10の説明に戻ると、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eはそれぞれ、図3で説明したアプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101fと同様のデータである。
ただし、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eには、ネットワーク50への接続を許可するために利用者端末装置10にインストールすることを要求するアプリケーションの情報が登録される。
基盤アプリケーションハッシュ値比較部202は、基盤アプリケーションの検証をおこなう場合に、利用者端末装置10から受信した基盤アプリケーションのハッシュ値と、アプリケーション拡張データ201cに登録されている基盤アプリケーションのハッシュ値とを比較することにより、基盤アプリケーションが正常であるか否かを判定する比較部である。
アプリケーション検証部203は、図9に示した検証要求80を利用者端末装置10から受信した場合に、検証要求80に含まれる情報に基づいて、利用者端末装置10のアプリケーション環境を検証する検証部である。
具体的には、アプリケーション検証部203は、検証要求80に含まれるアプリケーション検証情報を抽出し、抽出したアプリケーション検証情報に含まれる検証結果を確認し、検証結果に異常があった場合にアプリケーション環境に異常があると判定する。
また、アプリケーション検証部203は、アプリケーション検証情報に含まれるアプリケーション名、バージョン、リリース、アーキテクチャ種別に対応するアプリケーションがアプリケーション基本データ201bに登録されているか否かを判定し、アプリケーションが登録されていなかった場合にアプリケーション環境に異常があると判定する。
検証/依存アプリケーションハッシュ値生成部204は、検証要求80にアプリケーション検証情報が含まれる検証アプリケーションおよび依存アプリケーションのハッシュ値の情報をアプリケーション拡張データ201cから読み出して、読み出したハッシュ値をアプリケーション検証情報が検証要求80に含まれる順番で連結し、連結したハッシュ値のハッシュ値を生成する生成部である。
検証/依存アプリケーションハッシュ値比較部205は、検証要求80に含まれる全アプリケーションのハッシュ値に対するハッシュ値と、検証/依存アプリケーションハッシュ値生成部204により生成されたハッシュ値とを比較して一致するか否かを検出し、一致しない場合に利用者端末装置10のアプリケーション環境に異常があると判定する比較部である。
検証結果通知部206は、利用者端末装置10のアプリケーション環境の検証結果の情報を利用者端末装置10およびネットワーク事業者サーバ装置30に送信し、検証結果を通知する通知部である。
具体的には、検証結果通知部206は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205により、アプリケーション環境に異常がないと判定された場合に、利用者端末装置10にネットワーク50への接続を許可することを示す情報を送信する。
また、検証結果通知部206は、アプリケーション検証部203および検証/依存アプリケーションハッシュ値比較部205により、アプリケーション環境に異常がないと判定された場合に、ネットワーク事業者サーバ装置30に利用者端末装置10のアプリケーション環境が正常であることを示す情報を、当該利用者端末装置10を特定する識別情報とともに送信する。
さらに、検証結果通知部206は、アプリケーション検証部203により、アプリケーション環境に異常があると判定された場合に、利用者端末装置10に接続を不許可とすることを示す情報と、異常があると判定されたアプリケーションを特定するアプリケーション識別子の情報とを送信する。
検証処理制御部207は、記憶部201、基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206間のデータの授受を司る制御部である。また、検証処理制御部207は、利用者端末装置10との間で利用者端末装置10におけるアプリケーション環境の検証処理に係る種々の情報を送受信する。
具体的には、検証処理制御部207は、利用者端末装置10から利用者端末装置10を識別する識別情報とともに、検証対象となるアプリケーションの通知要求を受信する。また、検証処理制御部207は、図8で説明した通知要求応答70を利用者端末装置10に送信する。
さらに、検証処理制御部207は、利用者端末装置10により生成された基盤アプリケーションのハッシュ値を利用者端末装置10から受信する。また、検証処理制御部207は、受信したハッシュ値に基づいて基盤アプリケーションが正常であると判定された場合に利用者端末装置10に検証/依存アプリケーションの検証実行通知を送信する。また、検証処理制御部207は、図9に示したような検証要求80を利用者端末装置10から受信する。
つぎに、本発明に係るアプリケーション検証処理の処理手順について説明する。図12−1、図12−2、図12−3、および、図12−4は、それぞれ、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(1)、(2)、(3)および(4)である。
図12−1に示すように、まず、利用者端末装置10の検証処理制御部108は、検証対象となるアプリケーションの通知要求を認証局サーバ装置20に送信する(ステップS101)。
そして、認証局サーバ装置20の検証処理制御部207は、当該通知要求を受信する(ステップS102)。続いて、検証処理制御部207は、検証対象となる基盤アプリケーションおよび検証アプリケーション、検証階層および検証最大数の情報を検証設定データ201aから読み出す(ステップS103)。
そして、検証処理制御部207は、図8に示したような、検証対象となる基盤アプリケーションおよび検証アプリケーション、検証階層および検証最大数の情報を含んだ通知要求応答70を利用者端末装置10に送信する(ステップS104)。
その後、利用者端末装置10の検証処理制御部108は、通知要求応答70を認証局サーバ装置20から受信する(ステップS105)。そして、利用者端末装置10の基盤アプリケーションハッシュ値生成部103は、認証局サーバ装置20により指定された基盤アプリケーションのハッシュ値をハードウェア処理により生成する(ステップS106)。
続いて、利用者端末装置10の検証処理制御部108は、生成されたハッシュ値の情報を認証局サーバ装置20に送信する(ステップS107)。そして、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10により送信されたハッシュ値の情報を受信する(ステップS108)。
その後、認証局サーバ装置20の基盤アプリケーションハッシュ値比較部202は、自装置のデータベースであるアプリケーション拡張データ201cに登録された基盤アプリケーションのハッシュ値の情報を取得する(ステップS109)。
そして、基盤アプリケーションハッシュ値比較部202は、取得したハッシュ値と利用者端末装置10から受信したハッシュ値とを比較し(ステップS110)、ハッシュ値が一致するか否かを調べる(ステップS111)。
ハッシュ値が一致しない場合には(ステップS111,No)、図12−2に示すように、認証局サーバ装置20の検証処理制御部207は、ハッシュ値が一致しなかった基盤アプリケーションの情報を含むアクセス拒否通知を利用者端末装置10に送信し(ステップS113)、図12−1に示すステップS108に移行する。
ハッシュ値が一致した場合には(ステップS111,Yes)、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10に検証実行通知を送信し(ステップS112)、図12−3に示すステップS122に移行する。
続いて、図12−2に示すように、利用者端末装置10の検証処理制御部108は、認証局サーバ装置20からアクセス拒否通知あるいは検証実行通知を受信する(ステップS114)。そして、検証処理制御部108は、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS115)。
受信した通知がアクセス拒否通知であった場合には(ステップS115,Yes)、図12−4に示すステップS136に移行して、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知を受けた基盤アプリケーションをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得したアプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−2のステップS115において、受信した通知がアクセス拒否通知でなく、検証実行通知であった場合には(ステップS115,No)、利用者端末装置10の依存アプリケーション抽出部104は、通知された検証アプリケーションと依存関係にある依存アプリケーションを抽出する(ステップS116)。
そして、利用者端末装置10のアプリケーション検証部106は、通知された検証アプリケーションおよび抽出された依存アプリケーションの検証を実行する(ステップS117)。
続いて、利用者端末装置10の検証/依存アプリケーションハッシュ値生成部105は、通知された検証アプリケーションおよび抽出された依存アプリケーションのハッシュ値の情報をアプリケーション拡張データ101dから取得する(ステップS118)。
そして、検証/依存アプリケーションハッシュ値生成部105は、取得したハッシュ値を連結し(ステップS119)、連結したハッシュ値に対するハッシュ値を生成する(ステップS120)。
その後、図12−3に示すように、検証/依存アプリケーションハッシュ値生成部105は、図9に示したような、各アプリケーションの検証結果、および、生成されたハッシュ値の情報を含んだ検証要求80を認証局サーバ装置20に送信する(ステップS121)。
そして、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10により送信された検証要求80を受信し(ステップS122)、検証要求80に含まれる検証アプリケーションおよび依存アプリケーションの検証結果が正常であるか否かを調べる(ステップS123)。
そして、検証結果が正常でない場合には(ステップS123,No)、図12−4に示すステップS133に移行して、認証局サーバ装置20の検証処理制御部207は、検証結果が正常でなかった検証アプリケーションまたは依存アプリケーションの情報を含むアクセス拒否通知を利用者端末装置10に送信し(ステップS133)、図12−1に示すステップS108に移行して、それ以後のアプリケーション検証処理を継続する。
そして、図12−4に示すように、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けた検証アプリケーションまたは依存アプリケーションをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得した検証アプリケーションまたは依存アプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−3のステップS123において、検証要求80に含まれる検証アプリケーションおよび依存アプリケーションの検証結果が正常である場合には(ステップS123,Yes)、認証局サーバ装置20のアプリケーション検証部203は、検証要求80にアプリケーション検証情報として含まれている検証アプリケーションおよび依存アプリケーションのアプリケーション名、バージョン、リリース、アーキテクチャ種別の情報を抽出する(ステップS124)。
そして、アプリケーション検証部203は、抽出したアプリケーション名、バージョン、リリース、アーキテクチャ種別の情報と一致する情報がアプリケーション基本データ201bに登録されているか否かを調べる(ステップS125)。
そして、一致する情報がアプリケーション基本データ201bに登録されていない場合には(ステップS125,No)、図12−4のステップS133に移行して、認証局サーバ装置20の検証処理制御部207は、検証要求80に検証結果の情報が含まれるアプリケーションすべてを正常でないものとして、それらのアプリケーションの情報を含んだアクセス拒否通知を利用者端末装置10に送信し(ステップS133)、図12−1に示すステップS108に移行して、それ以後のアプリケーション検証処理を継続する。
そして、図12−4に示すように、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けたアプリケーションすべてをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得した検証アプリケーションおよび依存アプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−3のステップS125において、一致する情報がアプリケーション基本データ201bに登録されている場合には(ステップS125,Yes)、検証/依存アプリケーションハッシュ値生成部204は、検証要求80に検証結果の情報が含まれる各アプリケーションのハッシュ値の情報を、記憶部201にデータベースとして記憶されているアプリケーション拡張データ201cから読み込む(ステップS126)。
そして、検証/依存アプリケーションハッシュ値生成部204は、アプリケーション拡張データ201cから読み込んだハッシュ値を、検証要求80に各アプリケーションのアプリケーション検証情報が登録されている順番で連結し(ステップS127)、連結されたハッシュ値に対するハッシュ値を生成する(ステップS128)。
その後、検証/依存アプリケーションハッシュ値比較部205は、検証/依存アプリケーションハッシュ値生成部204により生成されたハッシュ値と、利用者端末装置10から受信した検証要求80に含まれるハッシュ値とを比較し(ステップS129)、ハッシュ値が一致するか否かを調べる(ステップS130)。
ハッシュ値が一致しない場合には(ステップS130,No)、認証局サーバ装置20の検証処理制御部207は、検証要求80に検証結果の情報が含まれるアプリケーションすべてを正常でないものとして、それらのアプリケーションの情報を含んだアクセス拒否通知を利用者端末装置10に送信する(ステップS133)。
そして、認証局サーバ装置20によりアクセス拒否通知が送信されると、利用者端末装置10の検証処理制御部108は、当該通知を受信し(ステップS134)、受信した通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、受信した通知はアクセス拒否通知であるので(ステップS135,Yes)、利用者端末装置10のアプリケーション導入管理部107は、アクセス拒否通知により検証結果が正常でなかったアプリケーションとして通知を受けたアプリケーションすべてをアプリケーションサーバ装置から取得する(ステップS136)。
そして、アプリケーション導入管理部107は、取得したアプリケーションのインストールを実行し(ステップS137)、図12−1のステップS106に移行して、それ以後のアプリケーション検証処理を実行する。
図12−4のステップS130において、ハッシュ値が一致した場合には(ステップS130,Yes)、認証局サーバ装置20の検証処理制御部207は、利用者端末装置10のアプリケーション環境が正常であったことを示す正常環境通知をネットワーク事業者サーバ装置30に送信する(ステップS131)。
この正常環境通知を受信したネットワーク事業者サーバ装置30は、利用者端末装置10からネットワーク50への接続要求を受信した場合に、利用者端末装置10をネットワーク50に接続させる。
そして、認証局サーバ装置20の検証処理制御部207は、ネットワーク50に対する接続を許可することを示すアクセス許可通知を利用者端末装置10に送信し(ステップS132)、認証局サーバ装置20側のアプリケーション検証処理を終了する。
その後、利用者端末装置10の検証処理制御部108は、認証局サーバ装置20からアクセス許可通知を受信し(ステップS134)、その通知がアクセス拒否通知であるか否かを調べる(ステップS135)。
この場合、通知はアクセス拒否通知ではないので(ステップS135,No)、そのまま利用者端末装置10側のアプリケーション検証処理を終了する。その後、利用者端末装置10は、ネットワーク事業者サーバ装置30にネットワーク50への接続要求を送信し、ネットワーク50への接続処理をおこなう。
上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。
図13は、図3あるいは図10に示した利用者端末装置10あるいは認証局サーバ装置20となるコンピュータのハードウェア構成を示す図である。このコンピュータは、ユーザからのデータの入力を受け付ける入力装置90、データを表示する表示装置91、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取装置92、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース93、RAM(Random Access Memory)94、ROM(Read Only Memory)95、CPU(Central Processing Unit)96およびHDD(Hard Disk Drive)97をバス98で接続して構成される。
そして、HDD97には、利用者端末装置10あるいは認証局サーバ装置20の機能と同様の機能を発揮するアプリケーション検証プログラム97cが記憶されている。なお、アプリケーション検証プログラム97cは、適宜分散して記憶することとしてもよい。そして、CPU96が、アプリケーション検証プログラム97cをHDD97から読み出して実行することにより、アプリケーション検証プロセス96aが起動される。
このアプリケーション検証プロセス96aは、図3に示した利用者端末装置10のアプリケーション実行処理部102、基盤アプリケーションハッシュ値生成部103、依存アプリケーション抽出部104、検証/依存アプリケーションハッシュ値生成部105、アプリケーション検証部106、アプリケーション導入管理部107、検証処理制御部108の各機能部、あるいは、図10に示した認証局サーバ装置20の基盤アプリケーションハッシュ値比較部202、アプリケーション検証部203、検証/依存アプリケーションハッシュ値生成部204、検証/依存アプリケーションハッシュ値比較部205、検証結果通知部206、検証処理制御部207の各機能部に対応する。
また、HDD97には、各種データ97aおよび各種アプリケーション97bが記憶される。各種データ97aは、図3に示した利用者端末装置10の記憶部101に記憶されるユーザデータ101b、アプリケーション基本データ101c、アプリケーション拡張データ101d、アプリケーション必要機能データ101e、アプリケーション提供機能データ101f、アプリケーション管理データ101g、あるいは、認証局サーバ装置20の記憶部201に記憶される検証設定データ201a、アプリケーション基本データ201b、アプリケーション拡張データ201c、アプリケーション必要機能データ201d、アプリケーション提供機能データ201eに対応する。また、各種アプリケーション97bは、図3に示した利用者端末装置10の記憶部101に記憶されるアプリケーション101aに対応する。
そして、CPU96は、各種データ97aあるいは各種アプリケーション97bをHDD97に記憶するとともに、各種データ97aあるいは各種アプリケーション97bをHDD97から読み出してRAM94に格納し、RAM94に格納された各種データ94aあるいは各種アプリケーション94bに基づいて各種データ処理を実行する。
ところで、アプリケーション検証プログラム97cは、必ずしも最初からHDD97に記憶させておく必要はない。たとえば、当該コンピュータに挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータに接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶しておき、コンピュータがこれらから各プログラムを読み出して実行するようにしてもよい。
上述してきたように、本実施例では、利用者端末装置10にインストールされた個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行し、クライアント側処理の結果に係る情報を受信して各アプリケーション間の依存関係の検証を認証局サーバ装置20が実行し、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを認証局サーバ装置20が判定することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
また、本実施例では、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションの検証を認証局サーバ装置20が実行し、検証の結果、異常が検出されなかった場合にクライアント側処理を実行することとしたので、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションがそもそも正常であるか否かを検証することにより、アプリケーションの検証が不正なものとなることを防止することができる。
また、本実施例では、利用者端末装置10にインストールされたアプリケーションの検証をおこなうアプリケーションに係るハッシュ値を利用者端末装置10がハードウェア処理により生成し、生成されたハッシュ値の情報に基づいて認証局サーバ装置20が当該アプリケーションの検証をおこなうこととしたので、ハッシュ値の生成をハードウェア処理でおこなうので、ソフトウェア処理によりハッシュ値を生成する場合のように不正にハッシュ値が生成される危険性が少なく、アプリケーションの検証を確実におこなうことができる。
また、本実施例では、利用者端末装置10が、認証局サーバ装置20から特定のアプリケーションの検証要求を受け付けた場合に、当該特定のアプリケーションとの間で依存関係を有するアプリケーションの情報を収集し、情報が収集されたアプリケーションの検証をおこなうこととしたので、検証すべきアプリケーションの情報を認証局サーバ装置20がすべて管理する必要がなく、認証局サーバ装置20の負荷を軽減することができる。
また、本実施例では、利用者端末装置10が、依存関係の情報収集をおこなうアプリケーションの数の指定を認証局サーバ装置20から受け付けて、認証局サーバ装置20により指定された数のアプリケーションに係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報を認証局サーバ装置20に送信し、認証局サーバ装置20が、送信されたハッシュ値の情報に基づいて各アプリケーション間の依存関係の検証を実行することとしたので、たとえ利用者端末装置10により送信されたハッシュ値の情報が盗み見られた場合でも、依存関係の情報収集をおこなうアプリケーションの数が変更されればハッシュ値が変化するので、リプライアタック等を抑止することができる。
また、本実施例では、認証局サーバ装置20が、利用者端末装置10を正常でないと判定した場合に、異常が検出されたアプリケーションの情報を利用者端末装置10に送信することとしたので、利用者端末装置10はどのアプリケーションに異常が検出されたかを確認することができる。
また、本実施例では、認証局サーバ装置20により送信されたアプリケーションの情報を利用者端末装置10が受信した場合に利用者端末装置10が当該アプリケーションを取得して、取得したアプリケーションのインストールを実行することとしたので、異常が検出されたアプリケーションの再インストールを効果的に実行することができる。
また、本実施例では、利用者端末装置10に導入された個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行し、クライアント側処理の結果に係る情報を、各アプリケーション間の依存関係の検証をおこない、かつ、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを判定する認証局サーバ装置20に利用者端末装置10が送信することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
また、本実施例では、認証局サーバ装置20が、利用者端末装置10に導入された個々のアプリケーションの検証と各アプリケーション間の依存関係の情報収集とを含むクライアント側処理を当該利用者端末装置10が実行した実行結果の情報を当該利用者端末装置10から受信し、受信した情報に基づいて各アプリケーション間の依存関係の検証を認証局サーバ装置20が実行し、アプリケーションの検証の結果および各アプリケーション間の依存関係の検証の結果に基づいて利用者端末装置10が正常であるか否かを認証局サーバ装置20が判定することとしたので、アプリケーションの検証を利用者端末装置10と認証局サーバ装置20とで分担しておこなうことにより、サービス利用者の数が増加した場合でも、利用者端末装置10の安全性を検証する認証局サーバ装置20の負荷を軽減させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上のように、本発明に係るコンピュータ資源検証方法およびコンピュータ資源検証プログラムは、サービス利用者の数が増加した場合に、利用者端末装置の安全性を検証する装置の負荷を軽減させることが必要なコンピュータ資源検証システムに有用である。
図1は、本発明に係るアプリケーション検証システムを説明する図である。 図2は、基盤アプリケーション、検証アプリケーション、および、依存アプリケーションについて説明する図である。 図3は、図1に示した利用者端末装置10の機能構成を示す図である。 図4は、図3に示したアプリケーション基本データ101cの一例を示す図である。 図5は、図3に示したアプリケーション拡張データ101dの一例を示す図である。 図6は、図3に示したアプリケーション必要機能データ101eの一例を示す図である。 図7は、図3に示したアプリケーション提供機能データ101fの一例を示す図である。 図8は、認証局サーバ装置20により送信される通知要求応答70について説明する図である。 図9は、検証処理制御部108により送信される検証要求80について説明する図である。 図10は、図1に示した認証局サーバ装置20の機能構成を示す図である。 図11は、図10に示した検証設定データ201aの一例を示す図である。 図12−1は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(1)である。 図12−2は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(2)である。 図12−3は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(3)である。 図12−4は、本実施例に係るアプリケーション検証処理の処理手順を示すフローチャート(4)である。 図13は、図3あるいは図10に示した利用者端末装置10あるいは認証局サーバ装置20となるコンピュータのハードウェア構成を示す図である。
10 利用者端末装置
100 通信処理部
101 記憶部
101a アプリケーション
101b ユーザデータ
101c アプリケーション基本データ
101d アプリケーション拡張データ
101e アプリケーション必要機能データ
101f アプリケーション提供機能データ
101g アプリケーション管理データ
102 アプリケーション実行処理部
103 基盤アプリケーションハッシュ値生成部
104 依存アプリケーション抽出部
105 検証/依存アプリケーションハッシュ値生成部
106 アプリケーション検証部
107 アプリケーション導入管理部
108 検証処理制御部
20 認証局サーバ装置
200 通信処理部
201 記憶部
201a 検証設定データ
201b アプリケーション基本データ
201c アプリケーション拡張データ
201d アプリケーション必要機能データ
201e アプリケーション提供機能データ
202 基盤アプリケーションハッシュ値比較部
203 アプリケーション検証部
204 検証/依存アプリケーションハッシュ値生成部
205 検証/依存アプリケーションハッシュ値比較部
206 検証結果通知部
207 検証処理制御部
30 ネットワーク事業者サーバ装置
40,50 ネットワーク
60a,60b 基盤アプリケーション
61 検証アプリケーション
62a〜62e 依存アプリケーション
70 通知要求応答
80 検証要求

Claims (12)

  1. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、
    前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、
    前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、
    を含んだことを特徴とするコンピュータ資源検証方法。
  2. 前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源の検証を前記サーバ装置が実行する検証工程をさらに含み、前記クライアント側処理実行工程は、前記検証工程による検証の結果、異常が検出されなかった場合に前記クライアント側処理を実行することを特徴とする請求項1に記載のコンピュータ資源検証方法。
  3. 前記クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源に係るハッシュ値を前記クライアント装置がハードウェア処理により生成するハッシュ値生成工程をさらに含み、前記検証工程は、前記ハッシュ値生成工程により生成されたハッシュ値の情報に基づいて当該コンピュータ資源の検証をおこなうことを特徴とする請求項2に記載のコンピュータ資源検証方法。
  4. 前記クライアント側処理実行工程は、前記サーバ装置から特定のコンピュータ資源の検証要求を受け付けた場合に、当該特定のコンピュータ資源との間で依存関係を有するコンピュータ資源の情報を収集し、情報が収集されたコンピュータ資源の検証をおこなうことを特徴とする請求項1、2または3に記載のコンピュータ資源検証方法。
  5. 前記クライアント側処理実行工程は、依存関係の情報収集をおこなうコンピュータ資源の数の指定を前記サーバ装置から受け付けて前記サーバ装置により指定された数のコンピュータ資源に係るハッシュ値を連結し、連結したハッシュ値に係るハッシュ値を生成して生成したハッシュ値の情報を前記サーバ装置に送信し、前記サーバ側処理実行工程は、送信されたハッシュ値の情報に基づいて各コンピュータ資源間の依存関係の検証を実行することを特徴とする請求項1、2または3に記載のコンピュータ資源検証方法。
  6. 前記判定工程は、前記クライアント装置を正常でないと判定した場合に、異常が検出されたコンピュータ資源の情報を前記クライアント装置に送信することを特徴とする請求項1、2または3に記載のコンピュータ資源検証方法。
  7. 前記判定工程により送信されたコンピュータ資源の情報を受信した場合に前記クライアント装置が当該コンピュータ資源を取得して、取得したコンピュータ資源のインストールを実行するインストール実行工程をさらに含んだことを特徴とする請求項6に記載のコンピュータ資源検証方法。
  8. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行工程と、
    前記クライアント側処理実行工程によりなされたクライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを判定するサーバ装置に前記クライアント装置が送信する情報送信工程と、
    を含んだことを特徴とするコンピュータ資源検証方法。
  9. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証方法であって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信する情報受信工程と、
    前記情報受信工程により受信された情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行工程と、
    前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定工程と、
    を含んだことを特徴とするコンピュータ資源検証方法。
  10. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行手順と、
    前記クライアント側処理実行手順によりなされたクライアント側処理の結果に係る情報を受信して各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行手順と、
    前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定手順と、
    をコンピュータに実行させることを特徴とするコンピュータ資源検証プログラム。
  11. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行するクライアント側処理実行手順と、
    前記クライアント側処理実行手順によりなされたクライアント側処理の結果に係る情報を、各コンピュータ資源間の依存関係の検証をおこない、かつ、前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを判定するサーバ装置に前記クライアント装置が送信する情報送信手順と、
    をコンピュータに実行させることを特徴とするコンピュータ資源検証プログラム。
  12. クライアント装置に導入されたコンピュータ資源の検証をおこなうコンピュータ資源検証プログラムであって、
    前記クライアント装置に導入された個々のコンピュータ資源の検証と各コンピュータ資源間の依存関係の情報収集とを含むクライアント側処理を当該クライアント装置が実行した実行結果の情報を当該クライアント装置から受信する情報受信手順と、
    前記情報受信手順により受信された情報に基づいて各コンピュータ資源間の依存関係の検証をサーバ装置が実行するサーバ側処理実行手順と、
    前記コンピュータ資源の検証の結果および各コンピュータ資源間の依存関係の検証の結果に基づいて前記クライアント装置が正常であるか否かを前記サーバ装置が判定する判定手順と、
    をコンピュータに実行させることを特徴とするコンピュータ資源検証プログラム。
JP2008531941A 2006-08-31 2006-08-31 アプリケーションプログラム検証方法およびアプリケーションプログラム検証プログラム Expired - Fee Related JP4983796B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/317236 WO2008026287A1 (fr) 2006-08-31 2006-08-31 Procédé de vérification de ressource informatique et programme de vérification de ressource informatique

Publications (2)

Publication Number Publication Date
JPWO2008026287A1 true JPWO2008026287A1 (ja) 2010-01-14
JP4983796B2 JP4983796B2 (ja) 2012-07-25

Family

ID=39135579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008531941A Expired - Fee Related JP4983796B2 (ja) 2006-08-31 2006-08-31 アプリケーションプログラム検証方法およびアプリケーションプログラム検証プログラム

Country Status (6)

Country Link
US (1) US8595828B2 (ja)
EP (1) EP2063379A4 (ja)
JP (1) JP4983796B2 (ja)
KR (1) KR100991479B1 (ja)
CN (1) CN101506818B (ja)
WO (1) WO2008026287A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
WO2013182376A1 (en) * 2012-06-06 2013-12-12 Nec Europe Ltd. Method and system for executing a secure application on an untrusted user equipment
US9407642B2 (en) 2013-03-13 2016-08-02 Samsung Electronics Co., Ltd. Application access control method and electronic apparatus implementing the same
US9294468B1 (en) 2013-06-10 2016-03-22 Google Inc. Application-level certificates for identity and authorization
CN104378327B (zh) * 2013-08-12 2018-12-28 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统
JP6201835B2 (ja) * 2014-03-14 2017-09-27 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
KR102089513B1 (ko) * 2014-03-19 2020-03-16 한국전자통신연구원 모바일 저장장치에 기반한 소프트웨어 검증 시스템 및 그 방법
KR20160006925A (ko) * 2014-07-10 2016-01-20 한국전자통신연구원 앱 무결성 검증 장치 및 그 방법
JP6675227B2 (ja) * 2016-02-26 2020-04-01 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP7020384B2 (ja) * 2018-11-29 2022-02-16 日本電信電話株式会社 アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114656A (ja) * 1995-10-19 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 端末プログラム改ざん検出方法及びシステム
JP2006040196A (ja) * 2004-07-30 2006-02-09 Hitachi Information & Control Systems Inc ソフトウェア監視システムおよび監視方法
JP2006251851A (ja) * 2005-03-08 2006-09-21 Quality Kk ネットワーク接続制御システム,ネットワーク接続対象端末用プログラムおよびネットワーク接続制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332217B1 (en) * 1997-05-09 2001-12-18 Hearme Software inventory control system
US6748538B1 (en) * 1999-11-03 2004-06-08 Intel Corporation Integrity scanner
US7062650B2 (en) * 2001-09-28 2006-06-13 Intel Corporation System and method for verifying integrity of system with multiple components
US7346780B2 (en) * 2002-04-03 2008-03-18 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions
US7810091B2 (en) * 2002-04-04 2010-10-05 Mcafee, Inc. Mechanism to check the malicious alteration of malware scanner
JP4349789B2 (ja) 2002-11-06 2009-10-21 富士通株式会社 安全性判断装置及び安全性判断方法
US7591017B2 (en) * 2003-06-24 2009-09-15 Nokia Inc. Apparatus, and method for implementing remote client integrity verification
GB2426837A (en) * 2005-06-01 2006-12-06 Hewlett Packard Development Co Checking the integrity of a software component

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114656A (ja) * 1995-10-19 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 端末プログラム改ざん検出方法及びシステム
JP2006040196A (ja) * 2004-07-30 2006-02-09 Hitachi Information & Control Systems Inc ソフトウェア監視システムおよび監視方法
JP2006251851A (ja) * 2005-03-08 2006-09-21 Quality Kk ネットワーク接続制御システム,ネットワーク接続対象端末用プログラムおよびネットワーク接続制御プログラム

Also Published As

Publication number Publication date
EP2063379A4 (en) 2014-06-11
WO2008026287A1 (fr) 2008-03-06
US20090193522A1 (en) 2009-07-30
CN101506818A (zh) 2009-08-12
JP4983796B2 (ja) 2012-07-25
EP2063379A1 (en) 2009-05-27
KR100991479B1 (ko) 2010-11-04
CN101506818B (zh) 2011-07-27
US8595828B2 (en) 2013-11-26
KR20090035039A (ko) 2009-04-08

Similar Documents

Publication Publication Date Title
JP4983796B2 (ja) アプリケーションプログラム検証方法およびアプリケーションプログラム検証プログラム
KR101000191B1 (ko) 보안 소프트웨어 갱신
US8417964B2 (en) Software module management device and program
CN100533451C (zh) 用于使文件系统免于恶意程序的增强安全层的系统和方法
US9038154B2 (en) Token Registration
CN102438013B (zh) 基于硬件的证书分发
EP3584759B1 (en) Management method, management apparatus, and program
KR101043709B1 (ko) 네트워크 접속 단말 인증 방법, 네트워크 접속 단말 인증 프로그램을 기록한 기록 매체 및 네트워크 접속 단말 인증 장치
US20050229240A1 (en) Information processing apparatus, authentication processing program, and authentication storage apparatus
CN108701308B (zh) 用于基于区块链发布公共证书的系统、及使用该系统的用于基于区块链发布公共证书的方法
CN101802805A (zh) 用于验证应用程序并控制其执行的方法
AU2017285865B2 (en) Mobile authentication method and system therefor
US9514288B2 (en) Information processing device, information processing method, program and storage medium
CN105391705A (zh) 一种对应用服务进行认证的方法及装置
US20150235039A1 (en) Information processing device, information processing method, program and storage medium
US7987513B2 (en) Data-use restricting method and computer product
JP2007272600A (ja) 環境認証と連携した本人認証方法、環境認証と連携した本人認証システムおよび環境認証と連携した本人認証用プログラム
US20080313743A1 (en) Network Software License Management and Piracy Protection
CN101393586A (zh) 验证唯一电脑的方法
JP2006309355A (ja) サービスシステム及び同システムのサーバ装置の動作方法
US8438624B2 (en) Systems and methods of modifying system resources
US9633207B2 (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system
CN109981593B (zh) 一种数据交互的方法及服务器
CN113360868A (zh) 应用程序登录方法、装置、计算机设备和存储介质
KR101976126B1 (ko) 클라이언트 식별 기반 웹 서비스 제공 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees