JP2015207152A - アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法 - Google Patents

アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法 Download PDF

Info

Publication number
JP2015207152A
JP2015207152A JP2014087326A JP2014087326A JP2015207152A JP 2015207152 A JP2015207152 A JP 2015207152A JP 2014087326 A JP2014087326 A JP 2014087326A JP 2014087326 A JP2014087326 A JP 2014087326A JP 2015207152 A JP2015207152 A JP 2015207152A
Authority
JP
Japan
Prior art keywords
time
authentication
unit
activation
application
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.)
Pending
Application number
JP2014087326A
Other languages
English (en)
Inventor
鈴木 満
Mitsuru Suzuki
満 鈴木
晃久 馬場
Akihisa Baba
晃久 馬場
久美子 木幡
Kumiko Kobata
久美子 木幡
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2014087326A priority Critical patent/JP2015207152A/ja
Priority to US14/656,275 priority patent/US9449158B2/en
Publication of JP2015207152A publication Critical patent/JP2015207152A/ja
Pending legal-status Critical Current

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/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

【課題】サーバへの接続ができない状況でも、有効期限の認証を正しく行ってユーザによるスマホアプリの不正利用を抑止できる「アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法」を提供する。
【解決手段】アプリケーションをインストールしたスマートフォン10において、アプリケーションの今回の起動時刻が有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第1の認証処理部103と、今回の起動時刻が前回の起動時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第2の認証処理部104とを備え、スマートフォン10の内部時計を巻き戻した結果、今回の起動時刻(改竄した不正な起動時間)が前回の起動時刻よりも前の時刻になっていた場合に、第2の認証処理により認証を拒否できるようにする。
【選択図】図2

Description

本発明は、アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法に関し、特に、サーバから端末装置にダウンロードしてインストールされたアプリケーションの有効期限の認証を行う有効期限認証システムに用いて好適なものである。
近年、スマートフォンと呼ばれる携帯端末が広く普及している。スマートフォンは、携帯電話の機能と携帯情報端末(PDA)の機能とを融合させた携帯端末であり、通話機能だけでなく、PDAが得意とする各種のアプリケーション実行機能を持っている。スマートフォンでは、インターネット上のサーバから所望のアプリケーション(以下、スマホアプリという)をダウンロードしてインストールすることにより、ユーザがスマホアプリをいつでもどこでも好きなときに実行することができるようになされている。
なお、スマホアプリの中には、利用可能な期間を定めた有効期限が設定されているものがある。有効期限が設定されたスマホアプリを利用する際には、認証を受ける必要がある。一般的には、有効期限を含む利用者情報をサーバに記憶させ、ユーザがスマホアプリを利用する都度、あるいは1日1回などの頻度でスマートフォンからサーバに接続し、認証を受ける必要がある。認証を受けないと、スマホアプリを使えなくなったり、使用可能な機能に制限が加えられたりする。
ところで、スマートフォンからサーバに接続して認証を受けるシステムでは、有効期限の管理を厳格に行うことができる反面、以下のような問題があった。すなわち、通信エラーや通信回線の混雑等によってスマートフォンからサーバに接続できないと、認証を受けたくても受けることができない。特に、インフラ環境が発展途上の第三国においては、このような事態が頻繁に起こり得る。この場合、せっかくインストールしたスマホアプリを使用できなくなってしまうという問題があった。
この問題を解消するための一手法として、スマホアプリをサーバからスマートフォンにダウンロードしてインストールした後、サーバにアクセスを要することなく、スマホアプリ自身に持たせた有効期限管理の認証機能を用いて認証を行うようにすることが考えられる。従来、サーバでの認証を受けられない場合に、クライアント側で認証を行うようになされたシステムがいくつか提案されている(例えば、特許文献1〜3参照)。
特許文献1に記載のコンピュータネットワークシステムでは、クライアントコンピュータから認証用サーバコンピュータにアクセスして、クライアント認証をする場合において、認証用サーバコンピュータが動作不能状態となっていてアクセスできないとき、クライアントコンピュータが、認証用サーバコンピュータから受信し記憶手段に記憶したクライアントユーザ名およびパスワードによりクライアント認証をする。
また、特許文献2に記載のネットワークシステムでは、認証サーバから認証を得るための通信において通信エラーが発生した場合、メモリに記憶された認証結果履歴情報を読み出して、認証サーバに認証要求を送信してその結果として認証の成功が返信されたことが有ると判断される場合には、認証処理に成功したものとして処理を実行する。
上記特許文献1,2は、アプリケーションの利用に関する有効期限の認証をするものではない。これに対して、特許文献3に記載の情報処理サービス実行システムでは、原則としてユーザPCからオンラインでサーバに接続して有効期限の認証を行う一方、ネットワークに接続していないオフライン状態の場合は、ユーザPCに装着されたICカード等の耐タンパデバイスを用いて有効期限の認証を行うようになされている。
具体的には、耐タンパデバイスは、オフライン認証回数およびオンライン最終認証日を含むオフライン認証データと会費納入の有無と有効期限とを含むユーザ情報を記憶するとともに、あらかじめ設定したオフライン認証可能回数とオンライン最終認証日からの認証可能期間とを含む認証条件を記憶する。そして、耐タンパデバイスがユーザPCよりユーザ認証を行うように指示を受けた場合、オフライン認証回数がオフライン認証可能回数内であり、かつ、認証を受ける日がオンライン最終認証日から認証可能期間内である場合、または、ユーザ情報において会費納入がなされおり、かつ、有効期限以内の場合の少なくとも一方の認証条件を満足する場合には、ユーザPCでアプリケーションの使用を許可する。
特許文献3に記載された有効期限の認証方法では、ユーザPCと耐タンパデバイスとの間でオフラインの認証を行う際に、ユーザPCが内蔵する時計を用いて認証を行うことになる。スマートフォン等の端末装置にインストールしたアプリケーションに持たせた有効期限管理の認証機能を用いて認証を行う場合も同様であり、端末装置が内蔵する時計を用いて認証を行うことになる。しかしながら、この場合は、ユーザが端末装置の内部時計を巻き戻す等の操作をすることにより、有効期限の認証を不正にパスさせてしまう可能性があるという問題が生じる。
特開2003−296276号公報 特許4313425号公報 特許5138460号公報
本発明は、このような問題を解決するために成されたものであり、端末装置からサーバへの接続ができない状況でも、アプリケーションの利用に関する有効期限の認証を正しく行ってユーザによる不正利用を抑止できるようにすることを目的とする。
上記した課題を解決するために、本発明では、サーバからアプリケーションをダウンロードしてインストールした端末装置において、アプリケーションの今回の起動時刻が有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第1の認証処理を行うとともに、今回の起動時刻が前回の起動時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第2の認証処理を行うようにしている。前回の起動時刻に代えて、アプリケーションの前回の使用終了時刻を用いてもよい。
本発明の他の態様では、端末装置においてアプリケーションが起動されたときに、端末装置からサーバに接続可能な場合は、第1の認証処理に代えて、端末装置からサーバに接続してサーバによる第3の認証処理を行い、その認証時刻を、アプリケーションの今回の起動時刻として設定するようにしている。
上記のように構成した本発明によれば、端末装置からサーバに接続することなく、端末装置にて行われる第1の認証処理によって、アプリケーションの有効期限が過ぎているか否かを判定することができる。この第1の認証処理は端末装置の内部時計を用いて行われるため、ユーザがその内部時計を巻き戻す等の不正操作を行うことにより、本当は有効期限を過ぎているのに、過ぎていないように起動時間を改竄する可能性がある。しかし、内部時計を巻き戻した結果、今回の起動時刻(改竄した不正な起動時間)が前回の起動時刻よりも前の時刻になっていると、第2の認証処理により認証拒否とされる。
これにより、端末装置からサーバへの接続ができない状況でも、第1の認証処理および第2の認証処理によってアプリケーションの有効期限の認証を正しく行って、ユーザによるアプリケーションの不正利用を抑止することができる。第2の認証処理において、前回の起動時刻に代えて前回の終了時刻を用いた場合は、ユーザが内部時計を巻き戻すと、今回の起動時刻(改竄した不正な起動時間)が前回の終了時刻よりも前の時刻になっている可能性が高くなるので、有効期限の認証を不正にパスさせてしまう可能性をより低減することができる。
また、本発明の他の特徴によれば、アプリケーションの起動時に端末装置からサーバに接続可能な場合は、第1の認証処理に代えて、サーバの内部時計を用いたサーバによる第3の認証処理が行われ、その認証時刻がアプリケーションの今回の起動時刻とみなされる。そして、その正しい起動時刻(=サーバの認証時刻)が、次回のアプリケーション起動時における第2の認証処理において前回の起動時刻として用いられるので、次回のアプリケーション起動時においても有効期限の認証を不正にパスさせてしまう可能性をより低減することができる。
第1の実施形態によるアプリケーションの有効期限認証システムの構成例を示す図である。 第1の実施形態によるスマートフォンの構成例を示すブロック図である。 第1の実施形態による認証処理の内容を説明するための図である。 第1の実施形態によるスマートフォンの動作例を示すフローチャートである。 第1の実施形態によるスマートフォンの他の構成例を示す図である。 図5に示したスマートフォンによる認証処理の内容を説明するための図である。 第2の実施形態によるスマートフォンおよびサーバの構成例を示すブロック図である。 第2の実施形態による認証処理の内容を説明するための図である。 第2の実施形態によるスマートフォンおよびサーバの動作例を示すフローチャートである。 第2の実施形態によるスマートフォンおよびサーバの他の構成例を示す図である。 図10に示したスマートフォンによる認証処理の内容を説明するための図である。
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態によるアプリケーションの有効期限認証システムの構成例を示す図である。図1に示すように、第1の実施形態によるアプリケーションの有効期限認証システムは、スマートフォン10およびサーバ20を備え、これらがインターネット100を介して接続可能に構成されている。
スマートフォン10は、サーバ20から所望のスマホアプリをダウンロードし、内部の記憶媒体にインストールして実行することが可能である。本実施形態では、スマートフォン10にインストールされるスマホアプリには、利用可能な期間を定めた有効期限が設定されているものとする。有効期限は、例えば、インストール後の所定日数は無料で使えるとする期限や、1回の課金で利用可能な期間を定める期限などである。
第1の実施形態では、サーバか20からスマートフォン10にダウンロードしてインストールされたスマホアプリの有効期限の認証を、スマートフォン10の内部処理として行う。つまり、このスマートフォン10は、本発明の有効期限認証装置を構成する。
なお、ここでは端末装置の一例としてスマートフォン10を挙げているが、所望のアプリケーションをインストールして実行可能な端末であり、かつ、内部に時計機能を有した端末であれば、何れも適用可能である。例えば、タブレット端末、携帯電話、パーソナルコンピュータなどをスマートフォン10に代えて用いるようにしてもよい。
図2は、第1の実施形態によるスマートフォン10の構成例を示すブロック図である。ここでは、第1の実施形態に関連する主要な構成のみを示している。図2に示すように、第1の実施形態によるスマートフォン10は、有効期限設定部101、起動時刻検出部102、第1の認証処理部103、第2の認証処理部104、有効期限記憶部121、起動時刻記憶部122および時計部123を備えて構成されている。
有効期限設定部101、起動時刻検出部102、第1の認証処理部103および第2の認証処理部104の各機能ブロックは、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。このプログラムは、例えば、サーバ20からスマートフォン10にダウンロードしてインストールされたスマホアプリのプログラムである。
有効期限設定部101は、スマートフォン10にインストールされたスマホアプリの有効期限を設定し、有効期限記憶部121に記憶させる。例えば、スマホアプリの有効期限がインストール後30日までということがスマホアプリのプログラム中に組み込まれている場合、有効期限設定部101は、スマホアプリがインストールされた日時を時計部123から取得し、その日時から30日後の日時を有効期限に設定し、有効期限記憶部121に記憶させる。
起動時刻検出部102は、スマートフォン10にインストールされたスマホアプリの起動時刻を検出する。すなわち、起動時刻検出部102は、スマホアプリの起動を検出したときに、そのときの日時を時計部123から取得する。起動時刻検出部102は、検出した起動時刻を起動時刻記憶部122に記憶させる。起動時刻記憶部122は、起動時刻検出部102により検出された起動時刻を少なくとも次回の起動時刻まで記憶しておく。すなわち、起動時刻検出部102が次回の起動時刻を起動時刻記憶部122に記憶させる際に、前回の起動時刻を上書きしてもよい。
第1の認証処理部103は、起動時刻検出部102により検出された今回の起動時刻が、有効期限記憶部121に記憶されている有効期限を超えているか否かを判定する。そして、今回の起動時刻が有効期限を超えていない場合には認証許可、超えている場合には認証拒否とする。
第2の認証処理部104は、起動時刻検出部102により検出された今回の起動時刻が、起動時刻記憶部122に記憶されている前回の起動時刻よりも後か否かを判定する。そして、今回の起動時刻が前回の起動時刻よりも後である場合には認証許可、後でない場合には認証拒否とする。なお、第2の認証処理部104は、第1の認証処理部103で認証許可となった場合にのみ実施すればよい。
図3は、第1の実施形態による認証処理の内容を説明するための図である。図3の例では、スマートフォン10にスマホアプリがインストールされた時点から30日後の日時が有効期限Tとして設定されている。また、インストール直後にスマホアプリが初めて起動された後、有効期限Tが到来する前にn−1回目の起動が行われ、有効期限Tが過ぎた後にn回目の起動が行われたものとする。
n回目の起動が行われたとき、第1の認証処理部103は、起動時刻検出部102により検出されたn回目(今回)の起動時刻Tが、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する。図3の例では、n回目の起動時刻Tが有効期限Tを超えている。よって、この場合に第1の認証処理部103は、認証拒否とする。これは、スマートフォン10のユーザが時計部123の時間巻き戻しといった不正操作を行っていない正常な状態での動作である。
これに対して、図3の点線矢印で示すように、ユーザがスマートフォン10の時計部123を不正に操作して、時間を巻き戻していたとする。この場合、第1の認証処理部103は、起動時刻検出部102により検出されたn回目(今回)の起動時刻T’が、有効期限記憶部121に記憶されている有効期限Tを超えていないと判定し、認証許可としてしまう。
一方、第2の認証処理部104は、起動時刻検出部102により検出されたn回目の起動時刻T’(不正操作された今回の時刻)が、起動時刻記憶部122に記憶されているn−1回目(前回)の起動時刻Ta−1よりも後か否かを判定する。図3の例では、不正に巻き戻されたn回目の起動時刻T’は、n−1回目の起動時刻Ta−1よりも前となっている。よって、この場合に第2の認証処理部104は、認証拒否とする。
このように、第1の実施形態によれば、内部時計の巻き戻し操作により第1の認証処理部103によって行われる通常の認証が不正にパスされてしまう状況であっても、第2の認証処理部104による認証処理によって認証を拒否することができる。これにより、本来は有効期限Tを過ぎているスマホアプリの不正利用を防止することができる。
なお、n−1回目の起動時刻Ta−1と有効期限Tとの間の時刻(不正に巻き戻された時刻)にスマホアプリが起動された場合は、第2の認証処理もパスしてしまう。しかし、そのとき検出された不正な起動時刻T’が次回のスマホアプリ起動時に前回の起動時刻として第2の認証処理に使われるので、次回の起動時はさらに第2の認証処理をパスしにくい状況となる。そして、いつかは必ず第2の認証処理をパスすることができなくなるので、ユーザが不正にスマホアプリを使い続けることはできない。
図4は、第1の実施形態によるスマートフォン10の動作例を示すフローチャートである。図4に示すフローチャートは、例えば、スマホアプリが起動されたときに開始する。なお、ここでは、スマートフォン10にスマホアプリがインストールされた場合、その直後にスマホアプリが自動的に起動するものとして説明する。
スマホアプリが起動されると、まず有効期限設定部101は、初回の起動か否かを判定する(ステップS1)。初回の起動であった場合、有効期限設定部101は、スマホアプリの有効期限Tを設定して有効期限記憶部121に記憶させる(ステップS2)。なお、スマホアプリの起動が初回ではない場合、ステップS2の処理は行わない。
次に、起動時刻検出部102は、スマホアプリの起動時刻Tを検出し(ステップS3)、検出した起動時刻Tを起動時刻記憶部122に記憶させる(ステップS4)。そして、第1の認証処理部103は、起動時刻検出部102により検出された今回の起動時刻Tが、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する(ステップS5)。ここで、今回の起動時刻Tが有効期限Tを超えている場合、第1の認証処理部103は認証結果を“拒否”とする(ステップS6)。これにより、図4に示すフローチャートの処理は終了する。
一方、今回の起動時刻Tが有効期限Tを超えていない場合、第2の認証処理部104は、起動時刻検出部102により検出された今回の起動時刻Tが、起動時刻記憶部122に記憶されている前回の起動時刻Ta−1よりも後か否かを判定する(ステップS7)。ここで、今回の起動時刻Tが前回の起動時刻Ta−1よりも後である場合、第2の認証処理部104は認証結果を“許可”とする(ステップS8)。一方、今回の起動時刻Tが前回の起動時刻Ta−1よりも後ではない場合、第2の認証処理部104は認証結果を“拒否”とする(ステップS6)。これにより、図4に示すフローチャートの処理は終了する。
以上詳しく説明したように、第1の実施形態では、サーバ20からスマホアプリをダウンロードしてインストールしたスマートフォン10において、スマホアプリの今回の起動時刻が有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第1の認証処理を行うとともに、今回の起動時刻が前回の起動時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第2の認証処理を行うようにしている。
このように構成した第1の実施形態によれば、スマートフォン10からサーバ20に接続することなく、スマートフォン10にて行われる第1の認証処理によって、スマホアプリの有効期限が過ぎているか否かに基づく認証を行うことができる。仮に、ユーザによりスマートフォン10の内部時計の巻き戻し操作が行われ、第1の認証処理部103によって行われる通常の認証が不正にパスされてしまう状況であっても、今回の起動時刻(改竄した不正な起動時間)が前回の起動時刻よりも前の時刻になっていると、第2の認証処理によって認証拒否とすることができる。これにより、スマートフォン10からサーバ20への接続ができない状況であっても、第1の認証処理および第2の認証処理によってスマホアプリの有効期限の認証を正しく行って、ユーザによるスマホアプリの不正利用を抑止することができる。
図5は、第1の実施形態によるスマートフォン10の他の構成例を示す図である。なお、この図5において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図5に示すスマートフォン10は、終了時刻検出部105を更に備えている。また、第2の認証処理部104および起動時刻記憶部122に代えて、第2の認証処理部104’および終了時刻記憶部124を備えている。
終了時刻検出部105は、起動されたスマホアプリの使用終了時刻(スマホアプリをシャットダウンした時刻)を検出する。すなわち、終了時刻検出部105は、スマホアプリの終了を検出したときに、そのときの日時を時計部123から取得する。終了時刻検出部105は、検出した終了時刻を終了時刻記憶部124に記憶させる。終了時刻記憶部124は、終了時刻検出部105により検出された終了時刻を少なくとも次回の起動時刻まで記憶しておく。
第2の認証処理部104’は、起動時刻検出部102により検出された今回の起動時刻が、終了時刻記憶部124に記憶されている前回の終了時刻よりも後か否かを判定する。そして、今回の起動時刻が前回の終了時刻よりも後である場合には認証許可、前回の終了時刻よりも後でない場合には認証拒否とする。
図6は、図5に示したスマートフォン10による認証処理の内容を説明するための図である。図6の例でも図3と同様、スマートフォン10にスマホアプリがインストールされた時点から30日後の日時が有効期限Tとして設定されている。また、有効期限Tが到来する前にスマホアプリについてn−1回目の起動および終了が行われ、有効期限Tが過ぎた後にn回目の起動が行われたものとする。
n回目の起動が行われたとき、第1の認証処理部103は、起動時刻検出部102により検出されたn回目(今回)の起動時刻Tが、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する。図6の例では、n回目の起動時刻Tが有効期限Tを超えている。よって、この場合に第1の認証処理部103は、認証拒否とする。これは、スマートフォン10のユーザが時計部123の時間巻き戻しといった不正操作を行っていない正常な状態での動作である。
これに対して、図6の点線矢印で示すように、ユーザが時計部123を不正に操作して、時間を巻き戻していたとする。この場合、第1の認証処理部103は、起動時刻検出部102により検出されたn回目(今回)の起動時刻T’が、有効期限記憶部121に記憶されている有効期限Tを超えていないと判定し、認証許可としてしまう。
一方、第2の認証処理部104’は、起動時刻検出部102により検出されたn回目の起動時刻T’(不正操作された今回の時刻)が、終了時刻記憶部124に記憶されているn−1回目(前回)の終了時刻Tb−1よりも後か否かを判定する。図6の例では、不正に巻き戻されたn回目の起動時刻T’は、n−1回目の終了時刻Tb−1よりも前となっている。よって、この場合に第2の認証処理部13は、認証拒否とする。
このように、第2の認証処理部104’において、前回の起動時刻に代えて前回の終了時刻を用いて第2の認証処理を行うようにした場合、ユーザが内部時計を巻き戻したときに、今回の起動時刻T’(改竄した不正な起動時間)が前回の終了時刻Tb−1よりも前の時刻になっている可能性が高くなる。こにより、ユーザが内部時計の巻き戻しにより有効期限の認証を不正にパスさせてしまう可能性をより低減することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第2の実施形態によるアプリケーションの有効期限認証システムの全体構成は、図1と同様である。図7は、第2の実施形態によるスマートフォン10およびサーバ20の構成例を示すブロック図である。なお、この図7において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
図7に示すように、第2の実施形態によるスマートフォン10は、接続判定部111、認証要求部112、認証結果受信部113、認証時刻検出部114および起動時刻設定部115を更に備えている。また、第2の実施形態によるスマートフォン10は、起動時刻検出部102に代えて起動時刻検出部102’を備えている。一方、第2の実施形態によるサーバ20は、有効期限設定部201、第3の認証処理部202、認証結果送信部203、有効期限記憶部221および時計部223を備えている。
スマートフォン10の接続判定部111は、スマートフォン10においてスマホアプリが起動されたときに、スマートフォン10からサーバ20に接続可能かどうかを判定する。例えば、スマートフォン10からサーバ20に対して所定の確認信号を送信し、それから所定時間以内にサーバ20から応答信号が返ってくるか否かを判定する。そして、所定時間以内にレスポンスがあった場合は接続可能、なかった場合は接続不可能と判定する。接続判定部111は、判定の結果を起動時刻検出部102’および認証要求部112に通知する。
認証要求部112は、接続判定部111により接続可能と判定された場合、サーバ20に接続して認証の要求を行う。このとき認証要求部112は、スマホアプリを特定可能な識別情報と共に認証要求をサーバ20に送信する。スマホアプリを特定可能な識別情報の例として、スマホアプリがインストールされているスマートフォン10またはそのユーザの識別情報、あるいは当該スマホアプリ自身の識別情報が挙げられる。
スマートフォン10の識別情報としては、例えばMACアドレスを用いることが可能である。ユーザの識別情報としては、例えばスマホアプリのインストール時にサーバ20に接続し、ユーザ操作に応じて登録したユーザ名やユーザIDなどを用いることが可能である。また、スマホアプリ自身の識別情報としては、サーバ20側において発行したスマホアプリのシリアル番号などを用いることが可能である。これらの識別情報は、スマートフォン10の図示しない記憶部に記憶させておく。
認証結果受信部113は、認証要求部112による要求に応じてサーバ20において行われた第3の認証処理の結果を表す認証結果情報をサーバ20から受信する。認証時刻検出部114は、認証結果受信部113がサーバ20から受信した認証結果情報で示される第3の認証処理の結果が認証許可であった場合、サーバ20において認証された時刻を検出する。この認証時刻は、サーバ20が第3の認証処理を行ったときに時計部223から取得し、認証結果情報の中に含めて送信する。認証時刻検出部114は、認証結果受信部113にて受信した認証結果情報を確認することにより、認証時刻を検出する。
起動時刻設定部115は、認証時刻検出部114により検出された認証時刻を、スマホアプリの今回の起動時刻として設定する。すなわち、起動時刻設定部115は、起動時刻検出部102’により検出された起動時刻に代えて、認証時刻検出部114により検出された認証時刻をスマホアプリの今回の起動時刻として用いるように設定する。これにより、ユーザがスマートフォン10の時計部123を操作して内部時計を巻き戻していたとしても、巻き戻された不正な時刻ではなく、サーバ20にて認証が行われたときの正しい時刻でスマホアプリが起動されたとみなすことができる。
起動時刻検出部102’は、スマートフォン10からサーバ20に対する接続が不可能であると接続判定部111により判定された場合、第1の実施形態で説明したのと同様の処理を行う。すなわち、起動時刻検出部102’は、自身で検出した今回の起動時刻を起動時刻記憶部122に記憶させる。また、第1の認証処理部103および第2の認証処理部104は、起動時刻検出部102’により検出された起動時刻を用いて、第1の認証処理および第2の認証処理をそれぞれ行う。
一方、スマートフォン10からサーバ20に対する接続が可能であると接続判定部111により判定された場合、起動時刻検出部102’は、起動時刻設定部115により設定された起動時刻(つまり、サーバ20の内部時計により検出された認証時刻であって、スマートフォン10にてスマホアプリが起動されたときの本来の正しい時刻)を今回の起動時刻として起動時刻記憶部122に記憶させる。また、第2の認証処理部104は、起動時刻設定部115により設定された起動時刻を用いて、第2の認証処理を行う。なお、第1の認証処理部103による第1の認証処理は行わない。
サーバ20の有効期限設定部201は、スマートフォン10にダウンロードしたスマホアプリの有効期限を設定し、有効期限記憶部221に記憶させる。例えば、有効期限設定部201は、スマートフォン10へのインストール直後にスマホアプリが起動されて認証要求が最初にサーバ20に送られてきたときに、そのときの日時を時計部223から取得し、その日時から30日後の日時を有効期限に設定して有効期限記憶部221に記憶させる。
ここで、スマホアプリの初回起動時にサーバ20に接続できない場合(すなわち、サーバ20による第3の認証処理を受けられない場合)はスマホアプリを利用できないようにしておき、始めに第3の認証処理を受けた時点を有効期限の起算点とする。このようにすれば、スマートフォン10の内部で管理される有効期限とサーバ20の内部で管理される有効期限とを一致させることができる。
有効期限設定部201は、スマホアプリの有効期限を有効期限記憶部221に記憶させる際、上述したスマホアプリを特定可能な識別情報と関連付けて有効期限を記憶させる。当該識別情報としてスマートフォン10のMACアドレスを用いる場合、例えば、スマートフォン10がサーバ20に対して最初に送信する認証要求の中にMACアドレスを含ませておき、これを有効期限設定部201が取得して有効期限記憶部221に記憶させる。
スマホアプリを特定可能な識別情報としてユーザ名やユーザIDなどのユーザ情報を用いる場合、例えば、スマホアプリを最初に起動するときにユーザ情報の入力画面をスマートフォン10に表示させ、当該入力画面を通じてユーザ情報をユーザ操作により入力させる。そして、スマートフォン10がサーバ20に対して最初に送信する認証要求の中に、入力画面を通じて入力されたユーザ情報を含ませておき、これを有効期限設定部201が取得して有効期限記憶部221に記憶させる。
また、スマホアプリを特定可能な識別情報としてスマホアプリのシリアル番号を用いる場合、例えば、最初にスマホアプリをサーバ20からスマートフォン10にダウンロードする際に、シリアル番号を通知する。そして、スマートフォン10がサーバ20に対して最初に送信する認証要求の中にシリアル番号を含ませておき、これを有効期限設定部201が取得して有効期限記憶部221に記憶させる。
第3の認証処理部202は、スマートフォン10の認証要求部112から送られてくる認証要求に応じて、時計部223から取得されるサーバ20の現在時刻が、有効期限記憶部221に記憶されているスマホアプリの有効期限を超えているか否かを判定する。そして、現在時刻が有効期限を超えていない場合には認証許可、超えている場合には認証拒否とする。この第3の認証処理部202による第3の認証処理は、スマートフォン10の第1の認証処理部103による第1の認証処理に代えて行われる。
認証結果送信部203は、第3の認証処理部202によって行われた第3の認証処理の結果を表す認証結果情報をスマートフォン10に送信する。上述したように、この認証結果情報の中には、時計部223から取得される認証時刻が含まれている。
図8は、第2の実施形態による認証処理の内容を説明するための図である。図8の例では、スマートフォン10にスマホアプリがインストールされた時点から30日後の日時が有効期限Tとして設定されている。また、インストール直後にスマホアプリが初めて起動された後、有効期限Tが到来する前にn−1回目の起動が行われ、有効期限Tが過ぎた後にn回目の起動が行われたものとする。
また、図8は、n−1回目の起動時にはスマートフォン10がサーバ20に接続可能だったため第2の認証処理および第3の認証処理を受け、n回目の起動時にはスマートフォン10がサーバ20に接続不可能だったため第1の認証処理および第2の認証処理を受けた例を示している。また、n−1回目の起動時もn回目の起動時も、ユーザによるスマートフォン10の内部時計の不正な巻き戻しが行われていたとする。
n−1回目の起動が行われたとき、スマートフォン10がサーバ20に接続可能であると、スマートフォン10の第1の認証処理部103に代えて、サーバ20の第3の認証処理部202による認証処理が行われる。この場合、第3の認証処理部202は、時計部223から取得されるサーバ20の現在時刻Tn−1が、有効期限記憶部221に記憶されているスマホアプリの有効期限Tを超えているか否かを判定する。図8の例では、現在時刻Tn−1が有効期限Tを超えていないので、認証結果は許可となる。この場合、サーバ20の現在時刻Tn−1が認証時刻となる。
この場合、認証結果送信部203は、認証許可の結果を表す認証結果情報(認証時刻Tn−1を含む)をスマートフォン10に送信する。スマートフォン10では、この認証結果情報に基づいて認証時刻検出部114が認証時刻Tn−1を検出する。そして、点線矢印Aで示すように、起動時刻設定部115が、起動時刻検出部102’により検出されたスマホアプリの起動時刻Ta−1’(不正に巻き戻された時刻)に代えて、認証時刻検出部114により検出された認証時刻Tn−1を今回の起動時刻として設定する。よって、この認証時刻Tb−1が起動時刻記憶部122に記憶され、n回目の起動時における第2の認証処理に使われる。なお、n−1回目の起動時においても認証時刻Tn−1を今回の起動時刻に用いた第2の認証処理が行われるが、図8の例では認証許可となる。
n回目の起動時において、スマートフォン10がサーバ20に接続不可能であると、第1の認証処理部103は、スマートフォン10の起動時刻検出部102’により検出されたn回目(今回)の起動時刻T’(点線矢印Bのように不正に巻き戻された時刻)が、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する。この場合、不正に巻き戻されたn回目の起動時刻T’が有効期限Tを超えていないので、認証許可となってしまう。
一方、第2の認証処理部104は、起動時刻検出部102’により検出されたn回目の起動時刻T’(不正操作された今回の時刻)が、起動時刻記憶部122に記憶されているn−1回目(前回)の起動時刻Tn−1よりも後か否かを判定する。図8の例では、不正に巻き戻されたn回目の起動時刻T’は、n−1回目の起動時刻Tn−1よりも前となっている。よって、この場合に第2の認証処理部104は、認証拒否とする。
図9は、第2の実施形態によるスマートフォン10の動作例を示すフローチャートである。図9に示すフローチャートは、例えば、スマホアプリが起動されたときに開始する。なお、ここでは、スマートフォン10にスマホアプリがインストールされた場合、その直後にスマホアプリが自動的に起動するものとして説明する。
スマートフォン10においてスマホアプリが起動されると、まず有効期限設定部101は、初回の起動か否かを判定する(ステップS11)。初回の起動であった場合、接続判定部111は、スマートフォン10からサーバ20に接続可能かどうかを判定する(ステップS12)。ここで、接続不可能能と判定された場合、図9に示すフローチャートの処理は終了する。一方、接続可能と判定された場合、有効期限設定部101は、スマホアプリの有効期限Tを設定して有効期限記憶部121に記憶させる(ステップS13)。
その後、認証要求部112は、サーバ20に接続して認証の要求を行う(ステップS14)。この認証要求を受け取ったサーバ20では、有効期限設定部201が、認証要求に含まれる識別情報により特定されるスマホアプリが最初に行っている認証要求か否かを判定する(ステップS15)。例えば、サーバ20において、スマホアプリの識別情報に関連付けて、第3の認証処理部202による認証処理を行った回数を記憶させておいたり、初回の認証要求か否かを示すフラグ情報を記憶させておくことにより、初回の認証要求か否かを判定することが可能である。
有効期限設定部201は、初回の認証要求であると判定された場合、スマホアプリの有効期限Tを設定して有効期限記憶部221に記憶させる(ステップS16)。なお、認証要求が初回ではない場合、ステップS16の処理は行わない。次に、第3の認証処理部202は、サーバ20の時計部223から取得されるサーバ20の現在時刻Tが、有効期限記憶部221に記憶されているスマホアプリの有効期限Tを超えているか否かを判定する(ステップS17)。
ここで、サーバ20の現在時刻Tが有効期限Tを超えていない場合、第3の認証処理部202は認証結果を“許可”とする(ステップS18)。一方、サーバ20の現在時刻Tが有効期限Tを超えている場合、第3の認証処理部202は認証結果を“拒否”とする(ステップS19)。その後、認証結果送信部203は、現在時刻Tを認証時刻に設定して(ステップS20)、その認証時刻Tを含めて認証結果情報をスマートフォン10に送信する(ステップS21)。
スマートフォン10では、認証結果送信部203により送信された認証結果情報を認証結果受信部113が受信する(ステップS22)。認証時刻検出部114は、認証結果情報により示される認証結果が“許可”であるか否かを判定する(ステップS23)。ここで、認証結果が“許可”でなかった場合、図9に示すフローチャートの処理は終了する。この場合、スマホアプリは使用できない状態となる。
一方、認証結果が“許可”であった場合、認証時刻検出部114は、認証結果受信部113にて受信した認証結果情報を確認することにより、認証時刻Tを検出する。そして、起動時刻設定部115は、認証時刻検出部114により検出された認証時刻Tを、スマホアプリの今回の起動時刻Tとして設定する(ステップS24)。この場合、起動時刻検出部102’は、起動時刻設定部115により設定されたスマホアプリの起動時刻T(=サーバ20の認証時刻T)を起動時刻記憶部122に記憶させる(ステップS25)。
次に、第2の認証処理部104は、起動時刻設定部115により設定された今回の起動時刻T(=T)が、起動時刻記憶部122に記憶されている前回の起動時刻Ta−1よりも後か否かを判定する(ステップS26)。ここで、今回の起動時刻Tが前回の起動時刻Ta−1よりも後である場合、第2の認証処理部104は認証結果を“許可”とする(ステップS27)。一方、今回の起動時刻Tが前回の起動時刻Ta−1よりも後ではない場合、第2の認証処理部104は認証結果を“拒否”とする(ステップS28)。これにより、図9に示すフローチャートの処理は終了する。
上記ステップS11において、スマホアプリが初回の起動でないと有効期限設定部101により判定された場合、接続判定部111は、スマートフォン10からサーバ20に接続可能かどうかを判定する(ステップS29)。ここで、接続可能と判定された場合、処理はステップS14に進む。一方、接続不可能と判定された場合、起動時刻検出部102’は、スマホアプリの起動時刻Tを検出し(ステップS30)、検出した起動時刻Tを起動時刻記憶部122に記憶させる(ステップS31)。
そして、第1の認証処理部103は、起動時刻検出部102’により検出された今回の起動時刻Tが、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する(ステップS32)。ここで、今回の起動時刻Tが有効期限Tを超えている場合、第1の認証処理部103は認証結果を“拒否”とする(ステップS28)。これにより、図9に示すフローチャートの処理は終了する。
一方、今回の起動時刻Tが有効期限Tを超えていない場合、第2の認証処理部104は、起動時刻検出部102’により検出された今回の起動時刻Tが、起動時刻記憶部122に記憶されている前回の起動時刻Ta−1よりも後か否かを判定する(ステップS33)。ここで、今回の起動時刻Tが前回の起動時刻Ta−1よりも後である場合、第2の認証処理部104は認証結果を“許可”とする(ステップS27)。一方、今回の起動時刻Tが前回の起動時刻Ta−1よりも後でない場合、第2の認証処理部104は認証結果を“拒否”とする(ステップS28)。これにより、図9に示すフローチャートの処理は終了する。
以上詳しく説明したように、第2の実施形態によれば、内部時計の巻き戻し操作により第1の認証処理部103によって行われる通常の認証が不正にパスされてしまう状況であっても、第2の認証処理部104による認証処理によって認証を拒否することができる。しかも、第2の実施形態によれば、スマホアプリの起動時にスマートフォン10からサーバ20に接続可能な場合は、第1の認証処理に代えて、サーバ20の内部時計を用いた第3の認証処理が行われ、その認証時刻がスマホアプリの今回の起動時刻とみなされる。そして、その正しい起動時刻(サーバ20の認証時刻)が、次回のスマホアプリ起動時における第2の認証処理において前回の起動時刻として用いられるので、次回のスマホアプリ起動時においても有効期限の認証を不正にパスさせてしまう可能性をより低減することができる。
なお、上記第2の実施形態では、接続判定部11によりスマートフォン10がサーバ20に接続可能と判定された場合、スマートフォン10の第1の認証処理部103に代えてサーバ20の第3の認証処理部202による認証を行う例について説明したが、本発明はこれに限定されない。例えば、スマートフォン10がサーバ20に接続可能と判定された場合、スマートフォン10の第1の認証処理部102および第2の認証処理部104に代えてサーバ20の第3の認証処理部202による認証を行うようにしてもよい。
また、上記第2の実施形態では、スマホアプリが起動される都度、起動時刻検出部102’が起動時刻T(起動時刻検出部102’自身で検出した起動時刻または起動時刻設定部115により設定されたサーバ20の認証時刻の何れか)を起動時刻記憶部122に記憶させる例について説明したが、本発明はこれに限定されない。例えば、起動時刻検出部102’が今回記憶させようとしている起動時刻Tが、既に起動時刻記憶部122に記憶されている前回の起動時刻Ta−1よりも後になっている場合にのみ、今回の起動時刻Tを記憶させるようにしてもよい。
例えば、図8の例において、n−1回目の起動時にサーバ20の認証時刻Tb−1をスマホアプリの起動時刻Ta−1として起動時刻記憶部122に記憶させた後、n回の起動時にスマートフォン10がサーバ20に接続できない場合、n回目の起動時に起動時刻検出部102’が起動時刻記憶部122に記憶させる起動時刻Tは、起動時刻検出部102’で検出したものとなる。しかし、この起動時刻が不正な時計巻き戻しによる時刻T’である場合、図8のように、今回の起動時刻T’が、既に起動時刻記憶部122に記憶されている前回の起動時刻Ta−1(=Tn−1)よりも前となる。よって、この場合、起動時刻検出部102’は、今回の起動時刻T’を起動時刻記憶部122に記憶させず、既に起動時刻記憶部122に記憶されている起動時刻Ta−1(=Tn−1)をそのまま保持する。
図10は、第2の実施形態によるスマートフォン10の他の構成例を示す図である。なお、この図10において、図7に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図10に示すスマートフォン10は、経過時間計測部106および終了時刻設定部107を更に備えている。また、図7に示した第2の認証処理部104および起動時刻記憶部122に代えて、第2の認証処理部104’および終了時刻記憶部124を備えている。
経過時間計測部106は、時計部123を用いて、スマホアプリの起動時刻から、スマホアプリが終了(シャットダウン)するまでの経過時間を計測する。ここで、起動時刻は、スマートフォン10がサーバ20に接続不可能な場合は、起動時刻検出部102’により検出された起動時刻である。一方、スマートフォン10がサーバ20に接続可能な場合は、起動時刻設定部115がサーバ20から取得して今回の起動時刻として起動時刻検出部102’に設定した認証時刻である。
終了時刻設定部107は、起動時刻検出部102’により検出された今回の起動時刻または起動時刻設定部115により設定された今回の起動時刻に対して経過時間計測部106により計測された経過時間を加算した時刻を、スマホアプリの使用終了時刻として設定する。そして、終了時刻設定部107は、設定した終了時刻を終了時刻記憶部124に記憶させる。終了時刻記憶部124は、終了時刻設定部107により設定された終了時刻を少なくとも次回の起動時刻まで記憶しておく。
第2の認証処理部104’は、起動時刻検出部102’により検出された今回の起動時刻または起動時刻設定部115により設定された今回の起動時刻が、終了時刻記憶部124に記憶されている前回の終了時刻よりも後か否かを判定する。そして、今回の起動時刻が前回の終了時刻よりも後である場合には認証許可、前回の終了時刻よりも後でない場合には認証拒否とする。
図11は、図10に示したスマートフォン10による認証処理の内容を説明するための図である。図11の例でも図8と同様、スマートフォン10にスマホアプリがインストールされた時点から30日後の日時が有効期限Tとして設定されている。また、インストール直後にスマホアプリが初めて起動された後、有効期限Tが到来する前にn−1回目の起動が行われ、有効期限Tが過ぎた後にn回目の起動が行われたものとする。
また、図11は、n−1回目の起動時にはスマートフォン10がサーバ20に接続可能だったため第2の認証処理および第3の認証処理を受け、n回目の起動時にはスマートフォン10がサーバ20に接続不可能だったため第1の認証処理および第2の認証処理を受けた例を示している。また、n−1回目の起動時もn回目の起動時も、ユーザによるスマートフォン10の内部時計の不正な巻き戻しが行われていたとする。
n−1回目の起動が行われたとき、スマートフォン10がサーバ20に接続可能であると、スマートフォン10の第1の認証処理部103に代えて、サーバ20の第3の認証処理部202による認証処理が行われる。この場合、第3の認証処理部202は、時計部223から取得されるサーバ20の現在時刻Tn−1が、有効期限記憶部221に記憶されているスマホアプリの有効期限Tを超えているか否かを判定する。図11の例では、現在時刻Tn−1が有効期限Tを超えていないので、認証結果は許可となる。
この場合、認証結果送信部203は、認証許可の結果を表す認証結果情報(認証時刻Tn−1を含む)をスマートフォン10に送信する。スマートフォン10では、この認証結果情報に基づいて認証時刻検出部114が認証時刻Tn−1を検出する。そして、起動時刻設定部115が、起動時刻検出部102’により検出されたスマホアプリの起動時刻Ta−1’(不正に巻き戻された時刻)に代えて、認証時刻検出部114により検出された認証時刻Tn−1を今回の起動時刻として設定する。
ここで、第2の認証処理部104’は、今回の起動時刻として設定された認証時刻Tn−1が、終了時刻記憶部124に記憶されているn−2回目(前回)の終了時刻(図示せず)よりも後か否かを判定する。図11の例では、今回の起動時刻(=認証時刻Tn−1)は前回の終了時刻よりも後と判定され、認証許可となる。
さらに、この今回の起動時刻(=認証時刻Tn−1)からスマホアプリを終了するまでの経過時間Yが経過時間計測部106により計測され、認証時刻Tn−1にこの経過時間Yを加算した時刻Tb−1(=Tn−1+Y)がスマホアプリの終了時刻として終了時刻設定部107により設定される。よって、この終了時刻Tb−1が終了時刻記憶部124に記憶され、n回目の起動時における第2の認証処理に使われる。
n回目の起動時において、スマートフォン10がサーバ20に接続不可能であると、第1の認証処理部103は、スマートフォン10の起動時刻検出部102’により検出されたn回目(今回)の起動時刻T’(不正に巻き戻された時刻)が、有効期限記憶部121に記憶されている有効期限Tを超えているか否かを判定する。この場合、不正に巻き戻されたn回目の起動時刻Tが有効期限T’を超えていないので、認証許可となってしまう。
一方、第2の認証処理部104’は、起動時刻検出部102’により検出されたn回目の起動時刻T’(不正操作された今回の時刻)が、終了時刻記憶部124に記憶されているn−1回目(前回)の終了時刻Tb−1(=Tn−1+Y)よりも後か否かを判定する。図11の例では、不正に巻き戻されたn回目の起動時刻T’は、n−1回目の終了時刻Tb−1よりも前となっている。よって、この場合に第2の認証処理部104’は、認証拒否とする。
このように、第2の認証処理部104’において、前回の起動時刻に代えて前回の終了時刻を用いて第2の認証処理を行うようにした場合、ユーザが内部時計を巻き戻したときに、今回の起動時刻(改竄した不正な起動時間)が前回の終了時刻よりも前の時刻になっている可能性が高くなる。こにより、ユーザが内部時計の巻き戻しにより有効期限の認証を不正にパスさせてしまう可能性をより低減することができる。
また、図10の例では、スマートフォン10の時計部123を用いてスマホアプリの終了時刻を検出するのではなく、起動時刻検出部102’により検出された今回の起動時刻または起動時刻設定部115により設定された今回の起動時刻に対して経過時間計測部106により計測された経過時間を加算した時刻を、スマホアプリの使用終了時刻として設定している。このようにすれば、サーバ20に接続して取得した認証時刻を今回の起動時刻として設定した場合には、スマートフォン10の時計部123が不正に巻き戻されていたとしても、本来の正しい起動時刻(=認証時刻)を起点としてスマホアプリが使用されている間に計測される経過時間をもとに正しい終了時刻を検出し、終了時刻記憶部124に記憶させることができる。これにより、次回の起動時に第2の認証処理を行う場合に、内部時計の巻き戻しにより起動時刻が改竄されていても、前回の終了時刻よりも前の時刻になっている可能性がより高くなり、スマホアプリの不正利用をより確実に防止することができる。
なお、上記第1の実施形態では終了時刻検出部105によりスマホアプリの終了時刻を検出したが、第2の実施形態と同様に、起動時刻検出部102により検出された起動時刻からスマホアプリが終了するまでの経過時間を計測し、今回の起動時刻に対して経過時間を加算した時刻をスマホアプリの使用終了時刻として設定するようにしてもよい。
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 スマートフォン
20 サーバ
101 有効期限設定部
102 起動時刻検出部
103 第1の認証処理部
104,104’ 第2の認証処理部
105 終了時刻検出部
106 経過時間計測部
107 終了時刻設定部
111 接続判定部
112 認証要求部
113 認証結果受信部
114 認証時刻検出部
115 起動時刻設定部
121 有効期限記憶部
122 起動時刻記憶部
123 時計部
124 終了時刻記憶部
201 有効期限設定部
202 第3の認証処理部
203 認証結果送信部
221 有効期限記憶部
223 時計部

Claims (11)

  1. サーバから端末装置にダウンロードしてインストールされたアプリケーションの有効期限の認証を行う有効期限認証システムであって、
    上記端末装置は、
    上記アプリケーションの起動時刻を検出する起動時刻検出部と、
    上記起動時刻検出部により検出された起動時刻を、少なくとも次回の起動時刻まで記憶しておく起動時刻記憶部と、
    上記起動時刻検出部により検出された今回の起動時刻が、上記アプリケーションを使用可能な有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第1の認証処理部と、
    上記起動時刻検出部により検出された今回の起動時刻が、上記起動時刻記憶部に記憶されている前回の起動時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第2の認証処理部とを備えたことを特徴とするアプリケーションの有効期限認証システム。
  2. 上記端末装置は、
    起動された上記アプリケーションの使用終了時刻を検出する終了時刻検出部を更に備え、
    上記起動時刻記憶部に代えて、上記終了時刻検出部により検出された終了時刻を、少なくとも次回の起動時刻まで記憶しておく終了時刻記憶部を備え、
    上記第2の認証処理部は、上記起動時刻検出部により検出された今回の起動時刻が、上記終了時刻記憶部に記憶されている前回の終了時刻よりも後か否かを判定し、前回の終了時刻よりも後である場合に認証許可、前回の終了時刻よりも後でない場合に認証拒否とすることを特徴とする請求項1に記載のアプリケーションの有効期限認証システム。
  3. 上記端末装置は、上記終了時刻検出部に代えて、
    上記起動時刻検出部により検出された上記起動時刻から、上記アプリケーションが終了するまでの経過時間を計測する経過時間計測部と、
    上記起動時刻検出部により検出された起動時刻に対して上記経過時間計測部により計測された経過時間を加算した時刻を、上記アプリケーションの使用終了時刻として設定する終了時刻設定部とを備えたことを特徴とする請求項2に記載のアプリケーションの有効期限認証システム。
  4. 上記端末装置は、
    上記端末装置において上記アプリケーションが起動されたときに、上記端末装置から上記サーバに接続可能かどうかを判定する接続判定部と、
    上記接続判定部により接続可能と判定された場合、上記サーバに接続して認証の要求を行う認証要求部と、
    上記認証要求部による要求に応じて上記サーバにおいて認証許可された場合の認証時刻を検出する認証時刻検出部と、
    上記認証時刻検出部により検出された上記認証時刻を、上記アプリケーションの今回の起動時刻として設定する起動時刻設定部とを更に備え、
    上記サーバは、
    上記認証要求部による要求に応じて、上記サーバの現在時刻が上記有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第3の認証処理部を備え、
    上記接続判定部により接続可能と判定された場合は、上記第1の認証処理部に代えて上記第3の認証処理部による認証を行うようにしたことを特徴とする請求項1に記載のアプリケーションの有効期限認証システム。
  5. 上記端末装置は、
    上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻から、上記アプリケーションが終了するまでの経過時間を計測する経過時間計測部と、
    上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻に対して上記経過時間計測部により計測された経過時間を加算した時刻を、上記アプリケーションの使用終了時刻として設定する終了時刻設定部と、
    上記終了時刻設定部により設定された終了時刻を、少なくとも次回の起動時刻まで記憶しておく終了時刻記憶部とを更に備え、
    上記第2の認証処理部は、上記起動時刻検出部により検出された上記今回の起動時刻または上記起動時刻設定部により設定された上記今回の起動時刻が、上記終了時刻記憶部に記憶されている前回の終了時刻よりも後か否かを判定し、前回の終了時刻よりも後である場合に認証許可、前回の終了時刻よりも後でない場合に認証拒否とすることを特徴とする請求項4に記載のアプリケーションの有効期限認証システム。
  6. サーバから端末装置にダウンロードしてインストールされたアプリケーションの有効期限の認証を行う有効期限認証装置であって、
    上記アプリケーションの起動時刻を検出する起動時刻検出部と、
    上記起動時刻検出部により検出された起動時刻を、少なくとも次回の起動時刻まで記憶しておく起動時刻記憶部と、
    上記起動時刻検出部により検出された今回の起動時刻が、上記アプリケーションを使用可能な有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第1の認証処理部と、
    上記起動時刻検出部により検出された今回の起動時刻が、上記起動時刻記憶部に記憶されている前回の起動時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第2の認証処理部とを備えたことを特徴とするアプリケーションの有効期限認証装置。
  7. 起動された上記アプリケーションの使用終了時刻を検出する終了時刻検出部を更に備え、
    上記起動時刻記憶部に代えて、上記終了時刻検出部により検出された終了時刻を、少なくとも次回の起動時刻まで記憶しておく終了時刻記憶部を備え、
    上記第2の認証処理部は、上記起動時刻検出部により検出された今回の起動時刻が、上記終了時刻記憶部に記憶されている前回の終了時刻よりも後か否かを判定し、前回の終了時刻よりも後である場合に認証許可、前回の終了時刻よりも後でない場合に認証拒否とすることを特徴とする請求項6に記載のアプリケーションの有効期限認証装置。
  8. 上記終了時刻検出部に代えて、
    上記起動時刻検出部により検出された上記起動時刻から、上記アプリケーションが終了するまでの経過時間を計測する経過時間計測部と、
    上記起動時刻検出部により検出された起動時刻に対して上記経過時間計測部により計測された経過時間を加算した時刻を、上記アプリケーションの使用終了時刻として設定する終了時刻設定部とを備えたことを特徴とする請求項7に記載のアプリケーションの有効期限認証装置。
  9. 上記端末装置において上記アプリケーションが起動されたときに、上記端末装置から上記サーバに接続可能かどうかを判定する接続判定部と、
    上記接続判定部により接続可能と判定された場合、上記サーバに接続して認証の要求を行う認証要求部と、
    上記認証要求部による要求に応じて上記サーバにおいて認証許可された場合の認証時刻を検出する認証時刻検出部と、
    上記認証時刻検出部により検出された上記認証時刻を、上記アプリケーションの今回の起動時刻として設定する起動時刻設定部とを更に備えたことを特徴とする請求項6に記載のアプリケーションの有効期限認証装置。
  10. 上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻から、上記アプリケーションが終了するまでの経過時間を計測する経過時間計測部と、
    上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻に対して上記経過時間計測部により計測された経過時間を加算した時刻を、上記アプリケーションの使用終了時刻として設定する終了時刻設定部と、
    上記終了時刻設定部により設定された終了時刻を、少なくとも次回の起動時刻まで記憶しておく終了時刻記憶部とを更に備え、
    上記第2の認証処理部は、上記起動時刻検出部により検出された上記今回の起動時刻または上記起動時刻設定部により設定された上記今回の起動時刻が、上記終了時刻記憶部に記憶されている前回の終了時刻よりも後か否かを判定し、前回の終了時刻よりも後である場合に認証許可、前回の終了時刻よりも後でない場合に認証拒否とすることを特徴とする請求項9に記載のアプリケーションの有効期限認証装置。
  11. サーバから端末装置にダウンロードしてインストールされたアプリケーションの有効期限の認証を行う有効期限認証方法であって、
    上記端末装置の起動時刻検出部が、上記アプリケーションの起動時刻を検出する第1のステップと、
    上記端末装置において上記アプリケーションが起動されたときに、上記端末装置の接続判定部が、上記端末装置から上記サーバに接続可能かどうかを判定する第2のステップと、
    上記接続判定部により接続可能ではないと判定された場合、上記端末装置の第1の認証処理部が、上記起動時刻検出部により検出された今回の起動時刻が、上記アプリケーションを使用可能な有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第3のステップと、
    上記接続判定部により接続可能と判定された場合、上記サーバの第3の認証処理部が、上記端末装置からの要求に応じて、上記サーバの現在時刻が上記有効期限を超えているか否かを判定し、超えていない場合に認証許可、超えている場合に認証拒否とする第4のステップと、
    上記端末装置の認証時刻検出部が、上記第3の認証処理部により認証許可された場合の認証時刻を検出する第5のステップと、
    上記端末装置の起動時刻設定部が、上記認証時刻検出部により検出された上記認証時刻を、上記アプリケーションの今回の起動時刻として設定する第6のステップと、
    上記端末装置の第2の認証処理部が、上記起動時刻検出部により検出された今回の起動時刻または上記起動時刻設定部により設定された今回の起動時刻が、終了時刻記憶部に記憶されている前回のアプリケーション終了時刻よりも後か否かを判定し、後である場合に認証許可、後でない場合に認証拒否とする第7のステップと、
    上記端末装置の経過時間計測部が、上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻から、上記アプリケーションが終了するまでの経過時間を計測する第8のステップと、
    上記端末装置の終了時刻設定部が、上記起動時刻検出部により検出された起動時刻または上記起動時刻設定部により設定された起動時刻に対して上記経過時間計測部により計測された経過時間を加算した時刻を、上記アプリケーションの使用終了時刻として設定し、上記終了時刻記憶部に記憶させる第9のステップとを有することを特徴とするアプリケーションの有効期限認証方法。
JP2014087326A 2014-04-21 2014-04-21 アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法 Pending JP2015207152A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014087326A JP2015207152A (ja) 2014-04-21 2014-04-21 アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法
US14/656,275 US9449158B2 (en) 2014-04-21 2015-03-12 Expiration time authentication system, expiration time authentication device, and expiration time authentication method for applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014087326A JP2015207152A (ja) 2014-04-21 2014-04-21 アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法

Publications (1)

Publication Number Publication Date
JP2015207152A true JP2015207152A (ja) 2015-11-19

Family

ID=54322247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014087326A Pending JP2015207152A (ja) 2014-04-21 2014-04-21 アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法

Country Status (2)

Country Link
US (1) US9449158B2 (ja)
JP (1) JP2015207152A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017199577A1 (ja) * 2016-05-20 2017-11-23 システムメトリックス株式会社 認証システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243955B2 (en) * 2016-07-14 2019-03-26 GM Global Technology Operations LLC Securely establishing time values at connected devices
US20200410764A1 (en) * 2019-06-28 2020-12-31 Snap Inc. Real-time augmented-reality costuming

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362222A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ソフトウェア使用権チェック方式
JP2002259223A (ja) * 2001-02-27 2002-09-13 Internatl Business Mach Corp <Ibm> コンテンツ利用方法、コンテンツ配信方法、コンテンツ配信システムおよびプログラム
JP2002287844A (ja) * 2001-03-27 2002-10-04 Asahi Kasei Corp プログラムソフトのレンタルシステム
JP2003256062A (ja) * 2001-12-28 2003-09-10 Access:Kk アプリケーション等利用期限管理システム
JP2004199466A (ja) * 2002-12-19 2004-07-15 Seiko Instruments Inc 時刻管理プログラム及びこれを用いた時刻管理システム
JP2009277082A (ja) * 2008-05-15 2009-11-26 Nippon Telegr & Teleph Corp <Ntt> 耐タンパデバイスを用いたサービス実行システム、サービス実行方法および耐タンパデバイス

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715174A (en) * 1994-11-15 1998-02-03 Absolute Software Corporation Security apparatus and method
JP4086445B2 (ja) * 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
JP2002259606A (ja) * 2001-02-28 2002-09-13 Internatl Business Mach Corp <Ibm> プログラム使用許諾期間の更新方法、プログラムの使用許諾方法、情報処理システムおよびプログラム
JP2003169376A (ja) * 2001-11-30 2003-06-13 Kddi Corp 移動通信端末装置
JP2003296276A (ja) 2002-03-29 2003-10-17 Denon Ltd コンピュータ
US20050114265A1 (en) * 2003-11-26 2005-05-26 Lingan Satkunanathan Real-time license enforcement system and method
KR20070003780A (ko) * 2003-12-09 2007-01-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 시퀀스-활성화되는 애플리케이션
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US8190923B2 (en) * 2005-12-20 2012-05-29 Microsoft Corporation Method to securely initialize, protect and recover system date/time
JP2007213502A (ja) * 2006-02-13 2007-08-23 Sharp Corp 情報処理装置、認証方法、認証プログラム、および認証プログラムを記録した記録媒体
US8065716B2 (en) * 2007-01-18 2011-11-22 Intermec Ip Corp. Method, system and article for dynamic authorization of access to licensed content
US20080183712A1 (en) * 2007-01-29 2008-07-31 Westerinen William J Capacity on Demand Computer Resources
US8402552B2 (en) * 2008-01-07 2013-03-19 Antenna Vaultus, Inc. System and method for securely accessing mobile data
US20090254482A1 (en) * 2008-04-07 2009-10-08 Microsoft Corporation Time-based licenses
US9098677B2 (en) * 2009-05-19 2015-08-04 Flexera Software Llc System and method for automated clock wind back recovery
JP5747758B2 (ja) 2011-09-15 2015-07-15 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9210157B1 (en) * 2012-12-21 2015-12-08 Mobile Iron, Inc. Secure access to mobile applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362222A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ソフトウェア使用権チェック方式
JP2002259223A (ja) * 2001-02-27 2002-09-13 Internatl Business Mach Corp <Ibm> コンテンツ利用方法、コンテンツ配信方法、コンテンツ配信システムおよびプログラム
JP2002287844A (ja) * 2001-03-27 2002-10-04 Asahi Kasei Corp プログラムソフトのレンタルシステム
JP2003256062A (ja) * 2001-12-28 2003-09-10 Access:Kk アプリケーション等利用期限管理システム
JP2004199466A (ja) * 2002-12-19 2004-07-15 Seiko Instruments Inc 時刻管理プログラム及びこれを用いた時刻管理システム
JP2009277082A (ja) * 2008-05-15 2009-11-26 Nippon Telegr & Teleph Corp <Ntt> 耐タンパデバイスを用いたサービス実行システム、サービス実行方法および耐タンパデバイス

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017199577A1 (ja) * 2016-05-20 2017-11-23 システムメトリックス株式会社 認証システム
JP2017208000A (ja) * 2016-05-20 2017-11-24 システムメトリックス株式会社 認証システム
US10693870B2 (en) 2016-05-20 2020-06-23 SystemMetrx Co., Ltd. Authentication system

Also Published As

Publication number Publication date
US20150302186A1 (en) 2015-10-22
US9449158B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
CN107615292B (zh) 用于管理需要高风险权限访问的应用程序包的安装的***和方法
AU2015207961B2 (en) Image-based key exchange
KR101951973B1 (ko) 자원 액세스 허가 기법
US8195124B2 (en) Apparatus and methods for managing time sensitive application privileges on a wireless device
JP2009135688A (ja) 認証方法、認証システムおよび車載装置
US8229505B2 (en) Method and apparatus for storing a software license
US10764049B2 (en) Method for determining approval for access to gate through network, and server and computer-readable recording media using the same
CN109117605B (zh) 一种鉴权方法及其装置、设备和存储介质
CN115102744B (zh) 数据访问方法和装置
AU2005222507A1 (en) Portable computing environment
JP2015207152A (ja) アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法
US9825947B2 (en) Secure two-way authentication using encoded mobile image
KR101561771B1 (ko) 휴대용 단말기를 이용한 소프트웨어 복제방지 및 권한인증 장치 및 그 방법
JP5005394B2 (ja) メールサーバアクセス方法及び電子メールシステム
CN111625811A (zh) 数据授权方法及装置
JP2005038307A (ja) 認証システム
CN112787989B (zh) 一种签名方法及装置
CN105323287B (zh) 第三方应用程序的登录方法及***
WO2010116742A1 (ja) 情報処理装置及び集積回路
KR101360095B1 (ko) 스마트 폰을 이용한 사용자 자동 인증 방법 및 시스템
WO2016179860A1 (zh) 一种多操作***终端中位置信息的保护方法、装置及终端
KR101207066B1 (ko) 저작권 보호가 가능한 gpos 기반의 통합형 애플리케이션 개발 환경 제공 시스템, 서버 및 방법
JP5293931B2 (ja) Rfidを利用した情報処理端末のセキュリティ管理システム及びその方法
US20140344920A1 (en) Method, terminal, and service device for providing data security service
JP2018014550A (ja) 画像形成システムおよび画像形成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180529