JP6939588B2 - 判定方法、認証装置及び判定プログラム - Google Patents

判定方法、認証装置及び判定プログラム Download PDF

Info

Publication number
JP6939588B2
JP6939588B2 JP2018006223A JP2018006223A JP6939588B2 JP 6939588 B2 JP6939588 B2 JP 6939588B2 JP 2018006223 A JP2018006223 A JP 2018006223A JP 2018006223 A JP2018006223 A JP 2018006223A JP 6939588 B2 JP6939588 B2 JP 6939588B2
Authority
JP
Japan
Prior art keywords
authentication
unit
program
verification
server
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.)
Active
Application number
JP2018006223A
Other languages
English (en)
Other versions
JP2019125228A (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
Priority to JP2018006223A priority Critical patent/JP6939588B2/ja
Priority to US16/247,985 priority patent/US11244039B2/en
Publication of JP2019125228A publication Critical patent/JP2019125228A/ja
Application granted granted Critical
Publication of JP6939588B2 publication Critical patent/JP6939588B2/ja
Active 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、認証装置において認証対象に係る装置のリスクを推定する技術に関する。
デバイスの通信に係る安全性を担保するために、デバイスで動作するプログラムを認証する認証サーバを用いることがある。認証サーバが、デバイスで動作するプログラムのクレデンシャル認証を行えば、当該プログラムの成り済ましを防止することができる。
しかし、デバイスで動作するプログラムが一旦ウイルスに感染してしまえば、認証サーバによるクレデンシャル認証では、不正な通信処理を防げない。仮にウイルスに感染したデバイスが外部との通信を行えば、ウイルスが拡散することにつながる。
特表2016−518633号公報
本発明の目的は、一側面では、認証対象のデバイスにおけるリスクを推定することである。
一態様に係る判定方法は、デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、(A)デバイスに関する第1処理の実行回数を計数し、(B)デバイスにおける第2処理の実行回数を含む上記プログラムの認証要求を受信した場合に、第1処理の実行回数と当該第2処理の当該実行回数との比較結果に基づいて、デバイスの検証の要否を判定する処理を含む。
一側面としては、認証対象のデバイスにおけるリスクを推定できる。
図1は、ネットワーク構成例を示す図である。 図2は、ウイルス感染の例を示す図である。 図3は、マイクロコンピュータのハードウエア構成例を示す図である。 図4は、メモリの構成例を示す図である。 図5は、フェーズ例を示す図である。 図6は、初期認証フェーズのシーケンス例を示す図である。 図7Aは、第1アクセスフェーズのシーケンス例を示す図である。 図7Bは、第1アクセスフェーズのシーケンス例を示す図である。 図7Cは、第1アクセスフェーズのシーケンス例を示す図である。 図8Aは、第2アクセスフェーズのシーケンス例を示す図である。 図8Bは、第2アクセスフェーズのシーケンス例を示す図である。 図8Cは、第2アクセスフェーズのシーケンス例を示す図である。 図9Aは、第3アクセスフェーズのシーケンス例を示す図である。 図9Bは、第3アクセスフェーズのシーケンス例を示す図である。 図9Cは、第3アクセスフェーズのシーケンス例を示す図である。 図9Dは、第3アクセスフェーズのシーケンス例を示す図である。 図10は、第1認証サーバのモジュール構成例を示す図である。 図11は、第1認証サーバのメイン処理フローを示す図である。 図12は、第1認証サーバのメイン処理フローを示す図である。 図13は、第1認証サーバのメイン処理フローを示す図である。 図14は、第1認証サーバのメイン処理フローを示す図である。 図15は、制御部のモジュール構成例を示す図である。 図16は、制御部のメイン処理フローを示す図である。 図17は、制御部のメイン処理フローを示す図である。 図18は、コンピュータの機能ブロック図である。
図1に、ネットワーク構成例を示す。デバイス101は、アプリケーションプログラムA_103及びアプリケーションプログラムB_105を有する。デバイス101は、ネットワークに接続することがある。ネットワークは、例えばLAN(Local Area Network)、移動体通信網及びインターネットの1つ又は複数の組み合わせである。
第1情報処理装置107は、アプリケーションプログラムX_109を有する。第1情報処理装置107は、ネットワークに接続している。第2情報処理装置111は、アプリケーションプログラムY_113を有する。第2情報処理装置111は、ネットワークに接続している。サーバ装置115は、第1認証サーバ117を有する。サーバ装置115は、ネットワークに接続している。サーバ装置119は、第1認可サーバ121を有する。サーバ装置119は、ネットワークに接続している。サーバ装置123は、第2認可サーバ125を有する。サーバ装置123は、ネットワークに接続している。サーバ装置127は、第2認証サーバ129を有する。サーバ装置127は、ネットワークに接続している。サーバ装置131は、外部検証サーバ133を有する。サーバ装置131は、ネットワークに接続している。
第1認証サーバ117は、第1認証サーバ117の管理対象であるデバイス101で動作するアプリケーションプログラムA_103及びアプリケーションプログラムB_105のクレデンシャル認証を行う。第1認可サーバ121は、第1認可サーバ121の管理対象であるデバイス101で動作するアプリケーションプログラムA_103及びアプリケーションプログラムB_105へのアクセスを認可する。第2認可サーバ125は、第2認可サーバ125の管理対象である第1情報処理装置107で動作するアプリケーションプログラムX_109へのアクセスを認可する。第2認証サーバ129は、第2認証サーバ129の管理対象である第2情報処理装置111で動作するアプリケーションプログラムY_113のクレデンシャル認証を行う。
外部検証サーバ133は、デバイス101における履歴データ及びプログラム構成データに基づいて、デバイス101を検証する。
図2に、ウイルス感染の例を示す。上段に示すように、ウイルスに感染しているアプリケーションプログラムY_113が、アプリケーションプログラムB_105にアクセスしたときに、ウイルスがアプリケーションプログラムB_105に侵入することがある。
その後、中段に示すように、アプリケーションプログラムB_105に感染しているウイルスが、アプリケーションプログラムA_103へ伝播することがある。
また、下段に示すように、ウイルスに感染しているアプリケーションプログラムA_103がアプリケーションプログラムX_109へアクセスすると、更に、アプリケーションプログラムX_109にウイルスが侵入することになる。
更に、アプリケーションプログラムA_103に感染したウイルスが、第1認証サーバ117に成り済ましたプログラムへクレデンシャル(例えば、アカウント名とパスワードとの組又は証明書)を送信する不正処理を行えば、アプリケーションプログラムA_103のクレデンシャルが流出することになる。尚、成り済ましプログラムによる偽の認証が行われると、デバイス101において認証を受ける動作回数が増えることになる。
本実施の形態では、例えばデバイス101におけるリスクを、第1認証サーバ117において判別し易くする。特に、第1認証サーバ117は、第1認証サーバ117が関わらない手順によるデバイス101の動作に着目し、リスクの高まりを把握するようにする。
デバイス101は、例えばマイクロコンピュータ301である。図3に、マイクロコンピュータ301のハードウエア構成例を示す。マイクロコンピュータ301は、プロセッサ303、メモリ305、無線通信制御回路307、無線通信用アンテナ309及びセンサ311を有する。プロセッサ303は、メモリ305に記憶されているプログラムを実行する。メモリ305は、プログラム及びデータを記憶している。無線通信制御回路307は、所定の無線通信方式(例えば、無線LAN方式又はセルラー方式)による無線電波を送受信する。無線通信用アンテナ309は、当該方式における無線通信の制御を行う。センサ311は、例えば温度、位置、加速度又は磁気を計測する。
図4に、メモリ305の構成例を示す。この例で、メモリ305は、ROM(Read Only Memory)401、RAM(Random Access Memory)403、フラッシュメモリ405及び耐タンパメモリ407を有する。ROM401は、例えば、予め設定されているデータやプログラムを格納している。RAM403は、例えば、プログラムやデータを展開する領域を含んでいる。フラッシュメモリ405は、例えば、オペレーティングシステムやアプリケーションプログラムを格納している。耐タンパメモリ407は、高い耐タンパ性を有する。
尚、デバイス101は、例えば図18に示すコンピュータ装置であってもよい。また、デバイス101は、携帯電話端末であってもよい。
図5に、フェーズ例を示す。初期認証フェーズ(S501)は、デバイス101の起動時に相当する。初期認証フェーズ(S501)については、図6を用いて後述する。第1アクセスフェーズ(S503)では、アプリケーションプログラムA_103がアプリケーションプログラムX_109へアクセスする。第1アクセスフェーズ(S503)については、図7A乃至図7Cを用いて後述する。第2アクセスフェーズ(S505)では、アプリケーションプログラムY_113がアプリケーションプログラムB_105へアクセスする。第2アクセスフェーズ(S505)については、図8A乃至図8Cを用いて後述する。第3アクセスフェーズ(S507)では、再びアプリケーションプログラムA_103がアプリケーションプログラムX_109へアクセスする。第3アクセスフェーズ(S507)については、図9A乃至図9Dを用いて後述する。
図6に、初期認証フェーズ(S501)のシーケンス例を示す。デバイス101は、制御部601を有する。制御部601は、セキュリティに関する制御を行う。
デバイス101の電源が投入され、デバイス101が起動すると、制御部601は、初期認証要求を第1認証サーバ117へ送信する(S603)。
第1認証サーバ117は、初期認証を実行する(S605)。第1認証サーバ117は、初期認証において、正当なデバイス101であるか否かを確認する。初期認証が成功すると、第1認証サーバ117は、認証成功を示す初期認証の結果を制御部601へ送信する(S607)。そして、第1認証サーバ117は、第1認証サーバ117におけるカウンタ値に0を設定する(S609)。当該カウンタ値は、第1認証サーバ117における所定動作の回数を示す。この例で、第1認証サーバ117における所定動作は、デバイス101に関するクレデンシャル認証の実行である。
一方、制御部601は、認証成功を示す初期認証の結果を受信すると、デバイス101におけるカウンタ値に0を設定する(S611)。当該カウンタ値は、デバイス101における所定動作の回数を示す。所定動作は、この例で、デバイス101における所定動作は、クレデンシャル認証を受ける動作及び第1認証サーバ117を介さない手順で外部プログラムと行われる通信の動作である。
図7A乃至図7Cに、第1アクセスフェーズ(S503)のシーケンス例を示す。アプリケーションプログラムA_103は、アプリケーションプログラムX_109の利用に関する認可要求メッセージを送信する段階で、認可要求メッセージを制御部601へ渡す(S701)。この例で、認可要求メッセージの宛先は、第2認可サーバ125である。認可要求メッセージの宛先は、リダイレクトによって設定される場合もある。
制御部601は、認可要求メッセージを受けると、認可要求メッセージにデバイス101におけるカウンタ値を付加する(S703)。そして、制御部601は、デバイス101におけるカウンタ値が付加された認可要求メッセージをネットワークへ送信する(S705)。
第2認可サーバ125は、デバイス101におけるカウンタ値が付加された認可要求メッセージを受信すると、当該認可要求メッセージから、デバイス101におけるカウンタ値、送信元IPアドレス及び送信元プログラム識別子を抽出する(S707)。この例で、送信元IPアドレスは、デバイス101のIPアドレスである。送信元プログラム識別子は、アプリケーションプログラムA_103の名前である。送信元IPアドレス及び送信元プログラム識別子は、当該認可要求メッセージのヘッダに設定されている。
第2認可サーバ125は、送信元に関する認証要求メッセージを第1認証サーバ117へ送信する(S709)。当該認証要求メッセージは、デバイス101におけるカウンタ値、送信元IPアドレス及び送信元プログラム識別子を含む。
第1認証サーバ117は、当該認証要求メッセージを受信すると、第1認証サーバ117において記憶しているカウンタ値を読む(S711)。第1認証サーバ117は、デバイス101におけるカウンタ値と第1認証サーバ117におけるカウンタ値との差を算出する。具体的には、デバイス101におけるカウンタ値から第1認証サーバ117におけるカウンタ値を引いて差を求める。最初の段階で、2つのカウンタ値はともに0であるので、差は0である。本実施の形態で、両カウンタ値の差が基準より小さい場合は、デバイス101におけるリスクが小さいものと想定する。
第1認証サーバ117は、両カウンタ値の差が基準より小さいと判定すると(S713)、デバイス101とアプリケーションプログラムA_103との組み合わせを検証する(S715)。デバイス101とアプリケーションプログラムA_103との組み合わせが第1認証サーバ117において管理されている場合には、当該組み合わせが正当であると判定する(S717)。図7Bに示したシーケンスへ移る。
図7Bのシーケンスについて説明する。第1認証サーバ117は、リスクベース認証処理を実行する(S721)。リスクベース認証処理では、例えば通信相手の同一性、通信が行われた時間帯や頻度に基づいて判定したリスクの程度が特定される。
リスクが基準よりも大きいと判定した場合(S723)、第1認証サーバ117は、クレデンシャル認証処理を実行する(S725)。このとき、第1認証サーバ117は、アプリケーションプログラムA_103からクレデンシャルを得る(S727)。クレデンシャル認証処理において、第1認証サーバ117は、クレデンシャルの有効期間内であることを確認するようにしてもよい。尚、リスクが基準よりも小さいと判定した場合には、クレデンシャル認証処理を省いて、通信及び処理の負荷を軽減する。
クレデンシャル認証が成功すると(S729)、第1認証サーバ117は、認証成功を示すクレデンシャル認証結果のメッセージをアプリケーションプログラムA_103へ送信する(S731)。
そして、第1認証サーバ117は、第1認証サーバ117におけるカウンタ値に1を加える(S733)。第1認証サーバ117は、更にクレデンシャル認証の履歴を更新する(S735)。このとき、第1認証サーバ117は、例えばクレデンシャル認証処理を行った日時及び認証結果を記録する。
制御部601は、クレデンシャル認証の成功を検出する(S737)。制御部601は、例えばアプリケーションプログラムA_103からクレデンシャル認証結果を得る。あるいは、制御部601は、クレデンシャル認証結果のメッセージをキャプチャするようにしてもよい。クレデンシャル認証の成功を検出した場合に、制御部601は、デバイス101におけるカウンタ値に1を加える(S739)。更に、制御部601は、更にクレデンシャル認証の履歴を更新する(S741)。このとき、制御部601は、例えばクレデンシャル認証を受けた日時及び認証結果を記録する。図7Cに示したシーケンスへ移る。
図7Cのシーケンスについて説明する。クレデンシャル認証が成功したので、第1認証サーバ117は、送信元に関して認証成功を示す認証結果メッセージを第2認可サーバ125へ送信する(S761)。
第2認可サーバ125は、認証成功を示す認証結果メッセージを受信すると、アプリケーションプログラムX_109を利用するためのアクセストークンを含む認可結果メッセージをアプリケーションプログラムA_103へ送信する(S763)。
アプリケーションプログラムA_103は、当該認可結果メッセージを受信すると、当該認可結果メッセージからアクセストークンを抽出する。そして、アプリケーションプログラムA_103は、当該アクセストークンを含むリクエストメッセージをアプリケーションプログラムX_109へ送信する(S765)。
アプリケーションプログラムX_109は、当該リクエストメッセージを受信すると、当該リクエストメッセージからアクセストークンを抽出する。そして、アプリケーションプログラムX_109は、当該アクセストークンの検証要求メッセージを第2認可サーバ125へ送信する(S767)。
第2認可サーバ125は、当該検証要求メッセージを受信すると、アクセストークン検証処理を実行する(S769)。アクセストークン検証が成功すると(S771)、第2認可サーバ125は、アクセストークンの検証成功を示す検証結果メッセージをアプリケーションプログラムX_109へ送信する(S773)。
アプリケーションプログラムX_109は、アクセストークンの検証成功を示す検証結果メッセージを受信すると、S765で受信したリクエストメッセージの内容に応じた処理を行って、処理結果を含むレスポンスメッセージをアプリケーションプログラムA_103へ送信する(S775)。
図8A乃至図8Cに、第2アクセスフェーズ(S505)のシーケンス例を示す。アプリケーションプログラムY_113は、アプリケーションプログラムB_105の利用に関する認可要求メッセージを第1認可サーバ121へ送信する(S801)。
第1認可サーバ121は、当該認可要求メッセージを受信すると、当該認可要求メッセージから送信元IPアドレス及び送信元プログラム識別子を抽出する(S803)。第1認可サーバ121は、送信元に関する認証要求メッセージを第2認証サーバ129へ送信する(S805)。当該認証要求メッセージは、送信元IPアドレス及び送信元プログラム識別子を含む。この例で、第1認可サーバ121は、第2認可サーバ125の場合と異なり、カウンタ値に関する処理を行わないものとする。
第2認証サーバ129は、送信元IPアドレス及び送信元プログラム識別子に基づいて、第2情報処理装置111とアプリケーションプログラムY_113との組み合わせを検証する(S807)。第2情報処理装置111とアプリケーションプログラムY_113との組み合わせが第2認証サーバ129において管理されている場合には、当該組み合わせが正当であると判定する(S809)。尚、この例で、第2認証サーバ129は、第1認証サーバ117の場合と異なり、カウンタ値に関する処理を行わないものとする。
第2認証サーバ129は、リスクベース認証処理を実行する(S811)。この例で、リスクが基準よりも大きいと判定する(S813)。図8Bに示したシーケンスへ移る。
図8Bのシーケンスについて説明する。リスクが基準よりも大きい場合に、第2認証サーバ129は、クレデンシャル認証処理を実行する(S821)。このとき、第2認証サーバ129は、アプリケーションプログラムY_113からクレデンシャルを得る(S823)。
クレデンシャル認証が成功すると(S825)、第2認証サーバ129は、認証成功を示すクレデンシャル認証結果のメッセージをアプリケーションプログラムY_113へ送信する(S827)。
第2認証サーバ129は、認可要求メッセージの送信元(この例で、第2情報処理装置111のアプリケーションプログラムY_113)に関して認証成功を示す認証結果メッセージを第1認可サーバ121へ送信する(S829)。
第1認可サーバ121は、当該認証成功を示す認証結果メッセージを受信すると、アプリケーションプログラムB_105を利用するためのアクセストークンを含む認可結果メッセージをアプリケーションプログラムY_113へ送信する(S831)。
アプリケーションプログラムY_113は、当該認可結果メッセージを受信すると、当該認可結果メッセージからアクセストークンを抽出する。そして、アプリケーションプログラムY_113は、当該アクセストークンを含むリクエストメッセージをアプリケーションプログラムB_105へ送信する(S833)。図8Cに示したシーケンスへ移る。
図8Cのシーケンスについて説明する。アプリケーションプログラムB_105は、アクセストークンの検証要求メッセージを第1認可サーバ121へ送信する(S841)。
第1認可サーバ121は、当該アクセストークンの検証要求メッセージを受信すると、アクセストークン検証処理を実行する(S843)。アクセストークン検証が成功すると(S845)、第1認可サーバ121は、アクセストークンの検証成功を示す検証結果メッセージをアプリケーションプログラムB_105へ送信する(S847)。
アプリケーションプログラムB_105は、アクセストークンの検証成功を示す検証結果メッセージを受信すると、図8BのS833で受信したリクエストメッセージの内容に応じた処理を行って、処理結果を含むレスポンスメッセージをアプリケーションプログラムY_113へ送信する(S849)。
上述の手順において、第1認証サーバ117は関与していない。制御部601は、第1認証サーバ117が関与していない手順による外部プログラムとの通信を検出すると(S851)、デバイス101におけるカウンタ値に1を加える(S853)。制御部601は、更に外部プログラムとの通信履歴を更新する(S855)。このとき、制御部601は、例えば当該外部通信を行った日時及び通信相手を記録する。
具体的には、制御部601は、例えばアプリケーションプログラムB_105からアクセストークンの検証成功を示す検証結果メッセージを得ることによって、第1認証サーバ117が関与していない外部プログラムとの通信を検出する。あるいは、制御部601は、アクセストークンの検証成功を示す検証結果メッセージをキャプチャすることによって、第1認証サーバ117が関与していない外部プログラムとの通信を検出するようにしてもよい。
図9A乃至図9Dに、第3アクセスフェーズ(S507)のシーケンス例を示す。アプリケーションプログラムA_103は、アプリケーションプログラムX_109の利用に関する認可要求メッセージを送信する段階で、認可要求メッセージを制御部601へ渡す(S901)。
制御部601は、当該認可要求メッセージを受けると、当該認可要求メッセージにデバイス101におけるカウンタ値を付加する(S903)。この段階で、デバイス101におけるカウンタ値は1である。そして、制御部601は、デバイス101におけるカウンタ値が付加された認可要求メッセージをネットワークへ送信する(S905)。
第2認可サーバ125は、当該認可要求メッセージを受信すると、当該認可要求メッセージから、デバイス101におけるカウンタ値、送信元IPアドレス及び送信元プログラム識別子を抽出する(S907)。第2認可サーバ125は、送信元に関する認証要求メッセージを第1認証サーバ117へ送信する(S909)。
第1認証サーバ117は、当該認証要求メッセージを受信すると、第1認証サーバ117において記憶しているカウンタ値を読む(S911)。この例で、第1認証サーバ117は、両カウンタ値の差が基準以上であると判定する(S913)。この例では、説明の便宜のため、基準の値は1である。但し、基準の値は、1より大きくてもよい。図9Bに示したシーケンスへ移る。
図9Bのシーケンスについて説明する。両カウンタ値の差が基準以上である場合に、第1認証サーバ117は、デバイス検証を要求する(S921)。このとき、第1認証サーバ117は、デバイス検証の要求メッセージを制御部601へ送信する(S923)。
制御部601は、当該デバイス検証の要求メッセージを受信すると、デバイス検証処理を実行する(S925)。制御部601は、デバイス検証処理において、デバイス101自身が正常であることを確認する。制御部601は、例えばオペレーティングシステムの状態をチェックし、ウイルスチェックを行う。デバイス検証が成功すると(S927)、制御部601は、検証成功を示すデバイス検証の結果メッセージを第1認証サーバ117へ送信する(S929)。
本実施の形態では、デバイス検証が成功した場合であっても、更に外部検証を利用する。そのため、第1認証サーバ117は、制御部601に履歴データ及びプログラム構成データを要求する(S931)。
制御部601は、S933において送信されたデータ要求のメッセージを受信すると、データ提供のメッセージを送信する(S935)。S937において送信されるデータ提供のメッセージには、履歴データ及びプログラム構成データが含まれる。図9Cに示したシーケンスへ移る。
図9Cのシーケンスについて説明する。第1認証サーバ117は、当該データ提供のメッセージを受信すると、外部検証サーバ133にデバイス101の外部検証を要求する(S941)。このとき、第1認証サーバ117は、履歴データ及びプログラム構成データを含む外部検証要求のメッセージを外部検証サーバ133へ送信する(S943)。
外部検証サーバ133は、当該外部検証要求のメッセージを受信すると、当該外部検証要求のメッセージに含まれる履歴データ及びプログラム構成データに基づいて、外部検証処理を実行する(S945)。外部検証サーバ133は、外部検証処理において、不正が疑われる痕跡(例えば、デバイス101の改ざん過程に相当するプログラム構成或いは不正行為の特徴を示すプログラムの振る舞い)を探す。そして、外部検証サーバ133は、不正が疑われる痕跡を見つけた場合には、検証失敗と判断する。外部検証が失敗すると(S947)、外部検証サーバ133は、検証失敗を示す外部検証結果のメッセージを第1認証サーバ117へ送信する(S949)。図9Dに示したシーケンスへ移る。
図9Dのシーケンスについて説明する。第1認証サーバ117は、認可要求メッセージの送信元(この例で、デバイス101のアプリケーションプログラムA_103)に関して認証失敗を示す認証結果メッセージを第2認可サーバ125へ送信する(S961)。
第1認証サーバ117は、認可要求メッセージの送信元(この例で、デバイス101のアプリケーションプログラムA_103)を不当リストに登録する(S963)。不当リストに登録されたデバイス101とアプリケーションプログラムとの組み合わせについては、以降の認証が失敗する。但し、不当リストへの登録は、省くようにしてもよい。そして、第2認可サーバ125は、アプリケーションプログラムX_109の利用に関してアクセス拒否を示す認可結果メッセージをアプリケーションプログラムA_103へ送信する(S965)。
アプリケーションプログラムA_103は、当該アクセス拒否を示す認可結果メッセージを受信すると、エラー処理を実行する(S967)。従って、アプリケーションプログラムX_109へのアクセスは、行われない。
続いて、第1認証サーバ117の動作について詳述する。図10に、第1認証サーバ117のモジュール構成例を示す。第1認証サーバ117は、第1受信部1001、判定部1003、組み合わせ検証部1005、第1送信部1007、リスクベース認証部1009、クレデンシャル認証部1011、第1計数部1013、第1更新部1015、指示部1017、依頼部1019、デバイスデータ記憶部1021、第1カウンタ値記憶部1023、第1履歴データ記憶部1025及びクレデンシャル記憶部1027を有する。
第1受信部1001は、各種メッセージを受信する。判定部1003は、デバイス101におけるカウンタ値と第1認証サーバ117におけるカウンタ値との差が基準より小さいか否かの判定を行う。組み合わせ検証部1005は、認証要求メッセージの送信元IPアドレスと送信元プログラム識別子との組み合わせを検証する。第1送信部1007は、各種メッセージを送信する。リスクベース認証部1009は、リスクベース認証処理を実行する。クレデンシャル認証部1011は、クレデンシャル認証処理を実行する。第1計数部1013は、第1認証サーバ117におけるカウンタ値に1を加える。第1更新部1015は、クレデンシャル認証の履歴を更新する。指示部1017は、デバイス101の制御部601へデバイス検証を指示する。依頼部1019は、外部検証サーバ133にデバイス101の検証を依頼する。
デバイスデータ記憶部1021は、管理対象のデバイス101及び当該デバイス101に含まれるプログラムに関するデータを記憶する。第1カウンタ値記憶部1023は、第1認証サーバ117におけるカウンタ値を記憶する。第1履歴データ記憶部1025は、クレデンシャル認証の履歴を含む履歴データを記憶する。クレデンシャル記憶部1027は、デバイス101に含まれるプログラムにおけるクレデンシャルを記憶する。
図11に、第1認証サーバ117のメイン処理フローを示す。第1受信部1001が認証要求メッセージを受信すると(S1101)、判定部1003は、認証要求メッセージからデバイス101におけるカウンタ値を抽出する(S1103)。
判定部1003は、第1認証サーバ117におけるカウンタ値を読んで(S1105)、判定部1003は、両カウンタ値の差を算出する(S1107)。そして、判定部1003は、両カウンタ値の差が基準より小さいか否かを判定する(S1109)。
両カウンタ値の差が基準より小さいと判定した場合には、組み合わせ検証部1005は、認証要求メッセージから送信元IPアドレスと送信元プログラム識別子とを抽出し、当該送信元IPアドレスと当該送信元プログラム識別子との組み合わせを検証する(S1111)。当該送信元IPアドレスと当該送信元プログラム識別子との組み合わせがデバイスデータ記憶部1021に記憶されている場合には、組み合わせ検証部1005は、当該組み合わせが正当であると判定する。一方、当該送信元IPアドレスと当該送信元プログラム識別子との組み合わせがデバイスデータ記憶部1021に記憶されていない場合には、組み合わせ検証部1005は、当該組み合わせが正当でないと判定する。
当該組み合わせが正当でないと判定した場合には(S1113)、第1送信部1007は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する(S1115)。そして、S1101に示した処理に戻って、上述した処理を繰り返す。一方、当該組み合わせが正当であると判定した場合には(S1113)、端子Aを介して、図12に示したS1201の処理に移る。
図12について説明する。リスクベース認証部1009は、認証要求メッセージから抽出された送信元IPアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムに関してリスクベース認証処理を実行し(S1201)、リスクが基準よりも小さいか否かを判定する(S1203)。
リスクが基準よりも小さいと判定した場合には、第1送信部1007は、認証要求メッセージの送信元へ、認証成功を示す認証結果メッセージを送信する(S1205)。そして、端子Bを介して、図11に示したS1101の処理に戻る。
一方、リスクが基準以上であると判定した場合には、クレデンシャル認証部1011は、認証要求メッセージから抽出された送信元IPアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ、クレデンシャル要求のメッセージを送信する(S1207)。
その後、クレデンシャル認証部1011は、クレデンシャル提供のメッセージを受信する(S1209)。クレデンシャル認証部1011は、クレデンシャル提供のメッセージからクレデンシャルを抽出し、抽出したクレデンシャルに基づいてクレデンシャル認証処理を実行する(S1211)。端子Cを介して、図13に示したS1301の処理に移る。
図13について説明する。クレデンシャル認証が成功したか否かによって、処理が分岐する(S1301)。クレデンシャル認証が成功した場合には、第1送信部1007は、認証成功を示すクレデンシャル認証結果のメッセージを、認証要求メッセージから抽出された送信元IPアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ送信する(S1303)。
第1計数部1013は、第1認証サーバ117におけるカウンタ値に1を加える(S1305)。第1更新部1015は、クレデンシャル認証の履歴を更新する(S1307)。そして、第1送信部1007は、認証要求メッセージの送信元へ、認証成功を示す認証結果メッセージを送信する(S1309)。
クレデンシャル認証が失敗した場合には、第1送信部1007は、認証失敗を示すクレデンシャル認証結果のメッセージを、認証要求メッセージから抽出された送信元IPアドレスと送信元プログラム識別子との組み合わせで特定されるプログラムへ送信する(S1311)。
第1計数部1013は、第1認証サーバ117におけるカウンタ値に1を加える(S1313)。第1更新部1015は、クレデンシャル認証の履歴を更新する(S1315)。そして、第1送信部1007は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する(S1317)。そして、端子Bを介して、図11に示したS1101の処理に戻る。
図11の説明に戻る。S1109において、両カウンタ値の差が基準以上であると判定した場合には、端子Dを介して、図14に示したS1401の処理に移る。
図14について説明する。指示部1017は、制御部601へデバイス検証の要求メッセージを送信し(S1401)、後に制御部601からデバイス検証の結果メッセージを受信する(S1403)。
デバイス検証が成功したか否かによって、処理は分岐する(S1405)。デバイス検証が失敗した場合には、依頼部1019は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する(S1407)。そして、端子Bを介して、図11に示したS1101の処理に戻る。
一方、デバイス検証が成功した場合には、依頼部1019は、デバイス101の制御部601へデータ要求のメッセージを送信する(S1409)。
その後、依頼部1019は、データ提供のメッセージを受信する(S1411)。依頼部1019は、データ提供のメッセージから履歴データ及びプログラム構成データを抽出する。そして、依頼部1019は、抽出した履歴データ及びプログラム構成データを含む外部検証要求のメッセージを、外部検証サーバ133へ送信する(S1413)。
その後、依頼部1019は、外部検証サーバ133から外部検証結果のメッセージを受信する(S1415)。外部検証結果によって、処理は分岐する(S1417)。外部検証結果が検証成功を示す場合には、端子Aを介して、図12に示したS1201の処理に移る。
一方、外部検証結果が検証失敗を示す場合には、第1送信部1007は、認証要求メッセージの送信元へ、認証失敗を示す認証結果メッセージを送信する(S1419)。そして、端子Bを介して、図11に示したS1101の処理に戻る。
続いて、制御部601の動作について詳述する。図15に、制御部601のモジュール構成例を示す。制御部601は、受付部1501、付加部1503、第2送信部1505、検出部1507、第2計数部1509、第2更新部1511、第2受信部1513、デバイス検証部1515、提供部1517、構成監視部1519、第2カウンタ値記憶部1531、第2履歴データ記憶部1533及びプログラム構成記憶部1535を有する。
受付部1501は、認可要求ネッセージを受け付ける。付加部1503は、認可要求ネッセージにデバイス101におけるカウンタ値を付加する。第2送信部1505は、各種メッセージを送信する。検出部1507は、各種イベントを検出する。第2計数部1509は、デバイス101におけるカウンタ値に1を加える。第2更新部1511は、クレデンシャル認証の履歴を更新する。第2受信部1513は、各種メッセージを受信する。デバイス検証部1515は、デバイス検証処理を実行する。提供部1517は、履歴データ及びプログラム構成データを含むデータ提供のメッセージを送信する。構成監視部1519は、プログラムの構成変更を監視し、プログラムの構成が変更された場合に、プログラム構成データに変更内容を書き込む。
第2カウンタ値記憶部1531は、デバイス101におけるカウンタ値を記憶する。この例で、第2カウンタ値記憶部1531は、耐タンパメモリ407に設けられる。第2履歴データ記憶部1533は、クレデンシャル認証の履歴及び外部プログラムとの通信の履歴を含む履歴データを記憶する。プログラム構成記憶部1535は、プログラム構成データを記憶する。
上述した受付部1501、付加部1503、第2送信部1505、検出部1507、第2計数部1509、第2更新部1511、第2受信部1513、デバイス検証部1515、提供部1517及び構成監視部1519は、ハードウエア資源(例えば、図3又は図18)と、以下で述べる処理をプロセッサ303又はCPU(Central Processing Unit)2503に実行させるプログラムとを用いて実現される。
上述した第2カウンタ値記憶部1531、第2履歴データ記憶部1533及びプログラム構成記憶部1535は、ハードウエア資源(例えば、図3又は図18)を用いて実現される。
図16に、制御部601のメイン処理フローを示す。受付部1501がデバイス101内のプログラムから認可要求ネッセージを受け付けると(S1601)、付加部1503は、認可要求ネッセージにデバイス101におけるカウンタ値を付加する(S1603)。そして、第2送信部1505は、デバイス101におけるカウンタ値が付加された認可要求ネッセージを送信する(S1605)。そして、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、デバイス101内のプログラムから認可要求ネッセージを受け付けていない場合には、検出部1507は、クレデンシャル認証の成功を検出したか否かを判定する(S1607)。クレデンシャル認証の成功を検出した場合には、第2計数部1509は、デバイス101におけるカウンタ値に1を加える(S1609)。第2更新部1511は、クレデンシャル認証の履歴を更新する(S1611)。そして、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、クレデンシャル認証の成功を検出していない場合には、検出部1507は、クレデンシャル認証の失敗を検出したか否かを判定する(S1613)。クレデンシャル認証の失敗を検出した場合には、第2計数部1509は、デバイス101におけるカウンタ値に1を加える(S1615)。第2更新部1511は、クレデンシャル認証の履歴を更新する(S1617)。そして、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、クレデンシャル認証の失敗を検出していない場合には、端子Eを介して、図17に示したS1701の処理に移る。
図17について説明する。検出部1507は、図8のS851で説明したように、外部プログラムとの通信を検出したか否かを判定する(S1701)。外部プログラムとの通信を検出した場合には、第2計数部1509は、デバイス101におけるカウンタ値に1を加える(S1703)。第2更新部1511は、外部プログラムとの通信履歴を更新する(S1705)。そして、端子Fを介してS1601に示した処理に戻って、上述した処理を繰り返す。
一方、外部プログラムとの通信を検出していない場合に、第2受信部1513がデバイス検証の要求メッセージを受信したか否かによって処理が分岐する(S1707)。第2受信部1513がデバイス検証の要求メッセージを受信した場合には、デバイス検証部1515は、デバイス検証処理を実行する(S1709)。
デバイス検証が成功したか否かによって処理が分岐する(S1711)。デバイス検証が成功した場合には、第2送信部1505は、検証成功を示すデバイス検証の結果メッセージを、デバイス検証の要求メッセージの送信元に送信する(S1713)。そして、端子Fを介して、図16に示したS1601の処理に戻る。
一方、デバイス検証が失敗した場合には、第2送信部1505は、検証失敗を示すデバイス検証の結果メッセージを、デバイス検証の要求メッセージの送信元に送信する(S1715)。そして、端子Fを介して、図16に示したS1601の処理に戻る。
S1707における処理の説明に戻る。第2受信部1513がデバイス検証の要求メッセージを受信していない場合には、第2受信部1513がデータ要求のメッセージを受信したか否かによって、処理が分岐する(S1717)。
第2受信部1513がデータ要求のメッセージを受信した場合には、提供部1517は、第2履歴データ記憶部1533から履歴データを読み(S1719)、更にプログラム構成記憶部1535からプログラム構成データを読む(S1721)。提供部1517は、履歴データ及びプログラム構成データを含むデータ提供のメッセージを、データ要求のメッセージの送信元へ送信する(S1723)。そして、端子Fを介して、図16に示したS1601の処理に戻る。
一方、第2受信部1513がデータ要求のメッセージを受信していない場合には、そのまま、端子Fを介して、図16に示したS1601の処理に戻る。
尚、図11のS1107において、判定部1003は、両カウンタ値の比を算出するようにしてもよい。判定部1003は、例えばデバイス101におけるカウンタ値に対する第1認証サーバ117におけるカウンタ値の比を算出する。また、図11のS1109において、判定部1003は、両カウンタ値の比が基準より小さいか否かを判定するようにしてもよい。両カウンタ値の比が基準より小さいと判定した場合には、S1111へ移る。一方、両カウンタ値の比が基準以上であると判定した場合には、端子Dを介して図14のS1401へ移る。
また、デバイス101における所定動作に、第1認証サーバ117を介さない手順で外部プログラムと行われる通信の動作を含めないようにしてもよい。その場合には、図17に示したS1703の処理を省くようにしてもよい。
本実施の形態によれば、デバイス101のリスクを推定できる。第1認証サーバ117が関与せずに行われたデバイス101の処理によるデバイス101のリスク拡大を判別できる面がある。
また、第1認証サーバ117に成り済ました偽りのクレデンシャル認証が行われた場合には、両カウンタ値の差が大きくなるので、第1認証サーバ117の成り済ましによるリスクを捉えやすくなる。
また、外部通信によるリスクの拡大を捉えやすくなる。
また、外部検証を利用すれば、デバイス検証の精度を高めることに役立つ。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べたサーバ装置115は、コンピュータ装置であって、図18に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーションプログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーションプログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る判定方法は、デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、(A)デバイスに関する第1処理の実行回数を計数し、(B)デバイスにおける第2処理の実行回数を含む上記プログラムの認証要求を受信した場合に、第1処理の実行回数と当該第2処理の当該実行回数との比較結果に基づいて、デバイスの検証の要否を判定する処理を含む。
このようにすれば、認証対象のデバイスにおけるリスクを推定できる。
更に、上記第1処理は、上記プログラムのクレデンシャル認証処理であってもよい。更に、上記第2処理は、認証装置によるクレデンシャル認証処理の結果の受信を検出する処理であってもよい。
このようにすれば、認証装置の成り済ましによるリスクを捉えやすくなる。
更に、上記判定方法は、(C)認証装置が関与していない手順による外部プログラムとの通信処理の回数を、第2処理の実行回数に加える処理を含むようにしてもよい。
このようにすれば、外部通信によるリスクの拡大を捉えやすくなる。
更に、上記判定方法は、(D)上記検証を要すると判定した場合に、外部の検証装置へ上記検証を依頼する処理を含むようにしてもよい。
このようにすれば、デバイス検証の精度を高めることに役立つ。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、
前記デバイスに関する第1処理の実行回数を計数し、
前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を含む判定方法。
(付記2)
前記第1処理は、前記プログラムのクレデンシャル認証処理であり、
前記第2処理は、前記認証装置による前記クレデンシャル認証処理の結果の受信を検出する処理である
付記1記載の判定方法。
(付記3)
更に、
前記認証装置が関与していない手順による外部プログラムとの通信処理の回数を、前記第2処理の前記実行回数に加える
処理を含む付記2記載の判定方法。
(付記4)
更に、
前記検証を要すると判定した場合に、外部の検証装置へ前記検証を依頼する
処理を含む付記1乃至3のいずれか1つ記載の判定方法。
(付記5)
デバイスで動作するプログラムの認証装置であって、
前記デバイスに関する第1処理の実行回数を計数する計数部と、
前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する判定部と
を有する認証装置。
(付記6)
デバイスで動作するプログラムの認証装置であるコンピュータに、
前記デバイスに関する第1処理の実行回数を計数し、
前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
処理を実行させる判定プログラム。
101 デバイス
103 アプリケーションプログラムA
105 アプリケーションプログラムB
107 第1情報処理装置
109 アプリケーションプログラムX
111 第2情報処理装置
113 アプリケーションプログラムY
115 サーバ装置
117 第1認証サーバ
119 サーバ装置
121 第1認可サーバ
123 サーバ装置
125 第2認可サーバ
127 サーバ装置
129 第2認証サーバ
131 サーバ装置
133 外部検証サーバ
301 マイクロコンピュータ
303 プロセッサ
305 メモリ
307 無線通信制御回路
309 無線通信用アンテナ
311 センサ
401 ROM
403 RAM
405 フラッシュメモリ
407 耐タンパメモリ
601 制御部
1001 第1受信部
1003 判定部
1005 組み合わせ検証部
1007 第1送信部
1009 リスクベース認証部
1011 クレデンシャル認証部
1013 第1計数部
1015 第1更新部
1017 指示部
1019 依頼部
1021 デバイスデータ記憶部
1023 第1カウンタ値記憶部
1025 第1履歴データ記憶部
1027 クレデンシャル記憶部
1501 受付部
1503 付加部
1505 第2送信部
1507 検出部
1509 第2計数部
1511 第2更新部
1513 第2受信部
1515 デバイス検証部
1517 提供部
1519 構成監視部
1531 第2カウンタ値記憶部
1533 第2履歴データ記憶部
1535 プログラム構成記憶部

Claims (5)

  1. デバイスで動作するプログラムの認証装置であるコンピュータにより実行される判定方法であって、
    前記デバイスに関する第1処理の実行回数を計数し、
    前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
    処理を含む判定方法。
  2. 前記第1処理は、前記プログラムのクレデンシャル認証処理であり、
    前記第2処理は、前記認証装置による前記クレデンシャル認証処理の結果の受信を検出する処理である
    請求項1記載の判定方法。
  3. 更に、
    前記認証装置が関与していない手順による外部プログラムとの通信処理の回数を、前記第2処理の前記実行回数に加える
    処理を含む請求項2記載の判定方法。
  4. デバイスで動作するプログラムの認証装置であって、
    前記デバイスに関する第1処理の実行回数を計数する計数部と、
    前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する判定部と
    を有する認証装置。
  5. デバイスで動作するプログラムの認証装置であるコンピュータに、
    前記デバイスに関する第1処理の実行回数を計数し、
    前記デバイスにおける第2処理の実行回数を含む前記プログラムの認証要求を受信した場合に、前記第1処理の前記実行回数と当該第2処理の当該実行回数との比較結果に基づいて、前記デバイスの検証の要否を判定する
    処理を実行させる判定プログラム。
JP2018006223A 2018-01-18 2018-01-18 判定方法、認証装置及び判定プログラム Active JP6939588B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018006223A JP6939588B2 (ja) 2018-01-18 2018-01-18 判定方法、認証装置及び判定プログラム
US16/247,985 US11244039B2 (en) 2018-01-18 2019-01-15 Determination method, authentication apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018006223A JP6939588B2 (ja) 2018-01-18 2018-01-18 判定方法、認証装置及び判定プログラム

Publications (2)

Publication Number Publication Date
JP2019125228A JP2019125228A (ja) 2019-07-25
JP6939588B2 true JP6939588B2 (ja) 2021-09-22

Family

ID=67214065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018006223A Active JP6939588B2 (ja) 2018-01-18 2018-01-18 判定方法、認証装置及び判定プログラム

Country Status (2)

Country Link
US (1) US11244039B2 (ja)
JP (1) JP6939588B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200410138A1 (en) * 2019-06-28 2020-12-31 Seagate Technology Llc Data storage system with device provenance
CN111585978B (zh) * 2020-04-21 2023-09-26 微梦创科网络科技(中国)有限公司 一种拦截虚假请求的方法、客户端、服务端及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409370B2 (en) * 2003-06-30 2008-08-05 Intel Corporation Secured and selective runtime auditing services using a trusted computing device
JP2007036753A (ja) * 2005-07-27 2007-02-08 Fuji Xerox Engineering Co Ltd 物品確認システム及び物品確認装置
JP4792352B2 (ja) * 2006-08-17 2011-10-12 株式会社インテリジェントウェイブ ネットワーク接続制御プログラム、ネットワーク接続制御方法及びネットワーク接続制御システム
US8738923B2 (en) * 2007-09-14 2014-05-27 Oracle International Corporation Framework for notifying a directory service of authentication events processed outside the directory service
US8474037B2 (en) * 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
JP2010026662A (ja) * 2008-07-16 2010-02-04 Sky Co Ltd 情報漏洩防止システム
JP4798278B2 (ja) * 2009-09-17 2011-10-19 コニカミノルタビジネステクノロジーズ株式会社 ジョブ処理システムおよび画像処理装置、プログラム、画像処理装置の制御方法
JP5604176B2 (ja) * 2010-05-12 2014-10-08 日本放送協会 認証連携装置およびそのプログラム、機器認証装置およびそのプログラム、ならびに、認証連携システム
US20140150100A1 (en) * 2012-08-15 2014-05-29 Qualcomm Incorporated Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
EP2949144B1 (en) 2013-01-25 2020-09-16 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
CN104036780B (zh) * 2013-03-05 2017-05-24 阿里巴巴集团控股有限公司 一种人机识别方法及系统
JP6170844B2 (ja) * 2014-02-14 2017-07-26 株式会社Nttドコモ 認証情報管理システム
US9916442B2 (en) * 2014-02-26 2018-03-13 Ca, Inc. Real-time recording and monitoring of mobile applications
JP6404771B2 (ja) * 2015-05-26 2018-10-17 日本電信電話株式会社 ログ判定装置、ログ判定方法、およびログ判定プログラム
JP6436363B2 (ja) * 2016-11-11 2018-12-12 本田技研工業株式会社 通信装置、通信システム、通信方法、及びプログラム
EP4020282A1 (en) * 2017-10-13 2022-06-29 Ping Identity Corporation Methods and apparatus for analyzing sequences of application programming interface traffic to identify potential malicious actions

Also Published As

Publication number Publication date
US11244039B2 (en) 2022-02-08
JP2019125228A (ja) 2019-07-25
US20190220586A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
EP3412017B1 (en) Method and apparatus for facilitating frictionless two-factor authentication
JP6603726B2 (ja) アイデンティティ認証のための方法、装置およびシステム
KR101451870B1 (ko) 인증 공유에 의한 애플리케이션 로그인 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US9967260B1 (en) Enhanced authentication security
US10063538B2 (en) System for secure login, and method and apparatus for same
EP2792174A1 (en) Login via near field communication with automatically generated login information
US20140289831A1 (en) Web authentication using client platform root of trust
US10305913B2 (en) Authentication control device and authentication control method
TWI646479B (zh) Business authentication method, system and server
JP6939588B2 (ja) 判定方法、認証装置及び判定プログラム
CN112491776B (zh) 安全认证方法及相关设备
US9984217B2 (en) Electronic authentication of an account in an unsecure environment
KR101940310B1 (ko) 웹 사이트 검증 장치 및 그 방법
CN102045310A (zh) 一种工业互联网入侵检测和防御方法及其装置
CN109428869A (zh) 钓鱼攻击防御方法和授权服务器
KR20130055116A (ko) 자동 로그인 기능을 제공하는 방법 및 서버
KR101464940B1 (ko) 사용자를 인증하여 결제를 수행하는 방법 및 시스템
JP6571624B2 (ja) 装置管理システム、管理対象装置、装置管理サーバ、制御方法、及び制御プログラム
WO2015076522A1 (ko) Otid를 이용한 인터넷 보안 방법 및 시스템
CN107529165B (zh) 一种校园网环境下无线访问接入点合法性的识别方法
US11438375B2 (en) Method and system for preventing medium access control (MAC) spoofing attacks in a communication network
KR20180130204A (ko) 사물인터넷 기기 인증 장치 및 그 방법
CN115174200B (zh) 一种第三方认证方法、装置及设备
JP7347019B2 (ja) 通信ノード、マルチホップネットワーク、機器の正当性確認方法及びプログラム
JP3976707B2 (ja) 認証記録確認システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210816

R150 Certificate of patent or registration of utility model

Ref document number: 6939588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150