JP6476402B2 - 認証システム - Google Patents

認証システム Download PDF

Info

Publication number
JP6476402B2
JP6476402B2 JP2016101166A JP2016101166A JP6476402B2 JP 6476402 B2 JP6476402 B2 JP 6476402B2 JP 2016101166 A JP2016101166 A JP 2016101166A JP 2016101166 A JP2016101166 A JP 2016101166A JP 6476402 B2 JP6476402 B2 JP 6476402B2
Authority
JP
Japan
Prior art keywords
token
client
application
authentication
date
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
JP2016101166A
Other languages
English (en)
Other versions
JP2017208000A (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.)
SYSTEMMETRIX CO., LTD.
Original Assignee
SYSTEMMETRIX CO., 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 SYSTEMMETRIX CO., LTD. filed Critical SYSTEMMETRIX CO., LTD.
Priority to JP2016101166A priority Critical patent/JP6476402B2/ja
Priority to PCT/JP2017/011449 priority patent/WO2017199577A1/ja
Priority to CN201780031209.6A priority patent/CN109154953B/zh
Priority to EP17799011.6A priority patent/EP3460694B1/en
Publication of JP2017208000A publication Critical patent/JP2017208000A/ja
Priority to US16/175,591 priority patent/US10693870B2/en
Application granted granted Critical
Publication of JP6476402B2 publication Critical patent/JP6476402B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time

Description

本発明は、ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムに関する。
アプリケーションの利用時には、ユーザが、その利用についてライセンスを有しているかの認証が、種々の方法によって行われている。近年では、アプリケーションを利用するクライアントがインターネットに接続されている環境にあることを前提として、同じくインターネット上のサーバによって、ライセンスを管理するための技術も多く提供されている。
例えば、特許文献1は、ネットワークを利用してアプリケーションの認証を行う際に、端末に固有の識別情報を取得することによって、正規に許容された端末以外の非正規端末におけるアプリケーションの利用を防ぐ技術を開示している。
特許文献2は、同様に端末に固有の識別情報を含むライセンスキーを利用して認証を行う場合において、アプリケーションを利用している端末の識別情報をデータベースで管理することにより、他の端末で認証が行われたときは、従前利用していた端末での利用を停止させた上で、新たな端末での利用を認める技術を開示している。
特許文献3は、ライセンス時に、アプリケーションをインストール可能な台数、アプリケーションを同時に起動可能なライセンス数という2つの設定値を設けることにより、アプリケーションをインストールする台数および同時に稼働する台数の双方を制御する技術を開示している。
特許文献4は、サーバによって認証を行う際に、有効期限付きのアクセストークンを発行し、このアクセストークンの有効期限が過ぎていないかを確認することによって、アプリケーションの利用中においても、ライセンスの認証を行う技術を開示している。
特開2013−015930号公報 特開2009−116392号公報 特開2015−14817号公報 特開2016−018529号公報
従来技術における認証方法において、特許文献1〜4のようにオンラインを前提としたサーバでの認証では、アプリケーションがインストールされたクライアントが、サーバと通信可能に接続されたオンライン状態でないと、アプリケーションを利用できないという課題があった。また、サーバと接続していないオフラインの状態でも認証可能な方法を採用すると、アクセストークンの有効期限を改ざんするなどの不正が行われる危険性が高まるという課題があった。このように、オンラインでの認証には、利便性に欠けるという課題があり、一方で、オフラインでの認証は不正への対処が不十分であった。
本発明は、かかる課題に鑑み、オンラインによる認証とオフラインによる認証の利点を活かした認証を実現することを目的とする。
本発明は、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムであって、
前記サーバは、
前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するトークン発行部と、
前記生成されたトークンを管理するトークン管理部と
を備え、
前記クライアントは、
前記オフライン用トークンを保持するトークン保持部と、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可部と、
前記利用許可部の動作に伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新部と
を備える認証システムとして構成することができる。
クライアントに構成されるトークン保持部、利用許可部、および日時情報更新部は、それぞれアプリケーションとは別個に構成してもよいし、アプリケーションの一部として組み込んでもよい。
本発明では、サーバから発行されるオフライン用トークンを用いて、クライアントにおけるアプリケーションの利用の許可/禁止を行うことができる。従って、オフライン用トークンの発行時には、クライアントはサーバにネットワークで接続されている必要があるが、その後は、サーバに接続されていなくとも、アプリケーションを利用することができるため利便性が確保される。
しかも、本発明で用いられるオンライン用トークンには、有効か否かを判定するための日時として、有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報が含まれる。固定的な日時情報としては、オフライン用トークンを利用可能な最終の日時情報、オフライン用トークンの利用を開始可能な日時または発行日時、オフライン用トークンの利用を開始してから利用できなくなるまでの期間などの情報を用いることができる。これらを全てもちいてもよいし、一部を用いても良い。また、動的な日時情報としては、認証を実行した日時、アプリケーションを利用した日時、オフライン用トークンの利用を開始した後の経過時間などを利用することができる。その上で、現在時刻が動的な日時情報以降であること、および有効期限内であることという2つの条件を満たすときにアプリケーションの利用を許可するように判断する。ここで用いる現在時刻は、クライアントの時計に基づいて得られる時刻でよい。このように、固定的な日時情報に加えて、動的な日時情報を用いれば、仮に有効期限を過ぎた後にクライアントの時計を遡らせたとしても、現在時刻が動的な日時情報以降という条件を満たさないため、オフライン用トークンを不正に利用することはできなくなる。
従って、本発明は、不正を抑制しつつ、オフラインでアプリケーションを利用できる利便性を実現することが可能となる効果を奏する。
本発明においては、
前記日時情報更新部は、前記動的な日時情報を、将来に向かう方向にのみ更新するよう規制されているものとしてもよい。
こうすることにより、動的な日時情報を遡らせるという不正を防ぐことができ、アプリケーションの不正利用をより確実に回避することが可能となる。
このように日時情報の更新を規制する場合、
前記日時情報更新部は、オンラインとなった時には、前記規制を解除し、前記動的な日時情報を、前記ネットワーク経由で取得される日時に同期させるものとしてもよい。
こうすることにより、動的な日時情報が誤って不正確な日時となったときに、その修正を図ることができる。例えば、クライアントの時計が、何らかの理由で、有効期限以降の将来の日時に変動してしまったとすると、動的な日時情報もこれに併せて将来の日時に更新されてしまう可能性があり、真の現在時刻が有効期限内であったとしても、オフライン用トークンに基づくアプリケーションの利用ができなくなってしまう。そして、動的な日時情報は不正防止のため簡単には遡らせることができないから、一旦、かかる事態が生じてしまうと、クライアントの時計を正常に戻しても、アプリケーションの利用は再開できなくなってしまうおそれがある。
上記態様によれば、クライアントがオンラインとなった時には、例外的に動的な日時情報の同期を認めることができ、正常な時刻に遡らせることも可能となるから、アプリケーションの利用を復旧させることができる。
また、本発明においては、
前記サーバは、前記クライアントからの認証要求に応じて、前記クライアントがオンライン状態にある場合の認証に用いるための該クライアントに固有のオンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行う認証部を有し、
前記クライアントは、前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信する認証要求送信部を有し、
前記サーバにおいて、
前記トークン発行部は、前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信し、
前記トークン管理部は、前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化し、
前記クライアントにおいて、
前記利用許可部は、前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止するものとしてもよい。
上記態様は、ネットワークに接続した状態での認証、即ちオンライン認証を実現する態様である。即ち、サーバは、クライアントからの認証要求に応じて認証を行う。この認証は、クライアントにおいて新たにアプリケーションを起動させる場合、および既にアプリケーションを利用している場合に行われる。後者の場合は、アプリケーションの利用中に、ユーザが指示しなくても、クライアントが定期的にサーバに対して認証要求を送信するのである。
サーバは、アプリケーションの利用を許可する場合には、オンライン用トークン等の情報をクライアントに送信する。例えば、クライアントにおいて新たにアプリケーションを起動するときは、新しいオンライン用トークンを発行し、それをクライアントに送信する。オンライン用トークン自体に代えて、オンライン用トークンの識別情報を送信する態様も含まれる。
一方、既にクライアントにおいてアプリケーションを利用しているときは、既存のオンライン用トークンが有効である旨の情報をクライアントに送信する。既存のオンライン用トークンに代わる新たなオンライン用トークンを発行し、それをクライアントに送信するようにしてもよい。
こうすることにより、クライアントでは、有効なオンライン用トークン(その識別情報や、オンライン用トークンが有効であることを示す情報も含む)を受け取ると、アプリケーションの利用を許可することができる。
本発明では、さらに、サーバは、異なるクライアントからの認証要求が送信された場合には、発行済みのオンライン用トークンを無効化した上で、新たなオンライン用トークンを発行する。発行済みのオンライン用トークンが無効化されることにより、従前、アプリケーションを利用していた端末では、アプリケーションの利用ができなくなる。つまり、ユーザは、使用する端末を変更したい場合、従前の端末でアプリケーションの利用を停止しなくても、新たな端末から認証要求を送信しさえすれば、容易に端末を変更することができることになる。
既に発行されているオンライン用トークンと異なる端末からの認証要求か否かを判断するために、本発明では、オンライン用トークンは、クライアントに「固有」なものとしている。例えば、クライアントの端末に固有の識別情報をオンライン用トークンに含めるようにしてもよいし、オンライン用トークンをクライアントの識別情報と関連付けて管理してもよい。
本発明においては、
前記認証要求は、前記アプリケーションの開発者の識別情報、該アプリケーションの識別情報、該アプリケーションのユーザのアカウント情報、該クライアントの端末識別情報を含み、
前記認証は、前記認証要求に含まれる各情報と、前記サーバに予め登録された情報との整合性を考慮して行われるものとしてもよい。
こうすることにより,本発明による認証を複数の開発者、アプリケーション、ユーザ、クライアント端末で混乱なく利用可能なシステムとすることができる。例えば、認証要求にアプリケーションの開発者の識別情報を含めることにより、例え他の情報(アプリケーションの識別情報、アカウント情報、端末情報)が同一であったとしても、認証要求としては、開発者に関連づけられたものと認識することができるからである。従って、各開発者は、他の開発者がどのようなアプリケーションの識別情報、アカウント情報を用いているかを考慮せず、これらについて任意に設定することが可能となるのである。
また、本発明においては、
前記サーバは、
前記アプリケーションの識別情報および前記ユーザのアカウント情報とを記憶しておくデータベースを、前記アプリケーションの開発者ごとに個別に備えるものとしてもよい。
こうすることにより、アプリケーションの開発者ごとに、データ管理をすることが可能となり、より本発明の利便性を向上させることが可能となる。
本発明は、以上で説明した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。また、本発明は、上述した認証システムとしての構成に限らず、種々の態様での構成が可能であり、
例えば、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証方法であって、
前記サーバが実行する処理として、
前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するステップと、
前記生成されたトークンを管理するステップと
を備え、
前記クライアントが実行する処理として、
前記オフライン用トークンを保持するトークン保持ステップと、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可ステップと、
前記利用許可ステップに伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新ステップと
を備える認証方法として構成してもよい。
これらの認証方法においても、認証システムで説明した種々の特徴を組み込むことが可能である。
また、上述の認証方法を、コンピュータに実現させるためのコンピュータプログラム、およびこれらのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成することもできる。かかるコンピュータプログラムとしては、サーバにインストールするものとして構成することもできるし、クライアントにインストールするものとして構成することもできる。後者の態様としては、
例えば、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行うために該クライアントにおいて実行させるコンピュータプログラムであって、
前記サーバに対して認証要求を送信する機能と、
前記サーバから、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを受信する機能と、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可機能と、
前記利用許可機能の実行に伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新機能と
を前記クライアントに実現させるためのコンピュータプログラムとしての構成である。
これらのコンピュータプログラムにおいても、認証システムで説明した種々の特徴を組み込むことが可能である。クライアントに実行させるコンピュータプログラムの場合、クライアントで利用するアプリケーションとは別のコンピュータプログラムとして用意することもできるし、アプリケーションに組み込む形で用意することもできる。
実施例としての認証システムの構成を示す説明図である。 データベースの構成を例示する説明図である。 ネットワーク認証処理のフローチャートである。 スタンドアロン切替処理のフローチャートである。 アプリケーション利用許可処理のフローチャートである。 利用日時更新の内容を示す説明図である。
A.システム構成:
本発明の実施例について説明する。
図1は、実施例としての認証システムの構成を示す説明図である。認証システムは、インターネットINTにクライアントPCおよびサーバ10が接続された環境下において、クライアントPCにインストールされたアプリケーションの利用についての認証をサーバ10が与えるためのシステムである。以下、ネットワークを介した認証を、「クラウド認証」と称することもある。
図1においては、クライアントPCは1台のみを示したが、複数台であってもよい。クライアントPCは、CPU、メモリなどを備え種々のアプリケーションを実行できるコンピュータであり、パーソナルコンピュータの他、タブレット、スマートフォン、携帯電話などを利用可能である。
認証システムは、サーバ10に備えられる機能と、クライアントPCに備えられる認証システムモジュール20とによって構築されることになる。本実施例では、サーバ10およびクライアントPCに、図示した各機能ブロックを実現するためのコンピュータプログラムをインストールすることによって、ソフトウェア的に構成されるが、少なくとも一部をハードウェア的に構成することも可能である。また、サーバ10に示した各機能ブロックは、複数のサーバによる分散処理によって実現してもよい。
本実施例の認証システムは、例えば、次のような態様で利用される。アプリケーションの開発者であるデベロッパは、アプリケーションを利用する権利、即ちライセンスを、ユーザに有償で提供することにより利益を得る。かかる利益を適正に得るためには、ユーザによるアプリケーションの不正利用を防止する必要があり、そのためには、アプリケーションの利用時にユーザが有効なライセンスを有しているか否かを認証する必要がある。かかる認証を実現するのが、本実施例の認証システムである。この認証システムは、アプリケーションのデベロッパ自身が構築し、運用するものとしてもよいが、本実施例では、デベロッパ以外の運用主体が認証システムを運用する例を示した。即ち、デベロッパは、認証システムの運用主体と、認証システムの利用契約を締結した上で、クライアントPCにインストールされる認証システムモジュール20を用意する。この認証システムモジュール20は、デベロッパが開発するアプリケーションに組み込んでも良いし、アプリケーションと別のモジュールとしてもよい。デベロッパからアプリケーションのライセンスを受けたユーザは、自身のクライアントにアプリケーションをインストールすることにより、同時に、認証システムモジュール20もインストールすることになる。かくして、アプリケーションは、本実施例の認証システムによる認証の下で、稼働するようになるのである。
サーバ10に備えられた各機能ブロックについて説明する。
サーバ10には、デベロッパ情報データベース16、ライセンス情報データベース17、アカウント情報データベース18の3種類のデータベースが備えられている。デベロッパ情報データベース16は、認証システムを利用するアプリケーションのデベロッパに関する情報を格納する。ライセンス情報データベース17およびアカウント情報データベース18は、それぞれデベロッパごとに用意されるデータベースである。ライセンス情報データベース17は、アプリケーションのライセンスを購入したユーザおよびライセンス条件などの情報を記憶する。アカウント情報データベース18は、ライセンスを受けたユーザが利用可能なアカウント(またはユーザIDということもある)に関する情報を記憶する。これらのデータベースの内容については、後で具体的に説明する。
データベース管理部13は、デベロッパ情報データベース16、ライセンス情報データベース17、アカウント情報データベース18に対するデータの読み書きを管理する。
送受信部11は、インターネットINTを介して種々の情報の送受信を実行する。本実施例で送受信される情報としては、例えば、アプリケーションの利用の認証を求める認証要求や、利用を許可するためのトークンなどが挙げられる。
認証部14は、サーバ10における各機能ブロックを統合する機能も奏しつつ、アプリケーションの認証を行う。本実施例では、後で説明する通り、アプリケーションの起動時に認証が行われる他、アプリケーションの利用中にも繰り返し認証が行われる。認証部14は、クライアントPCから認証要求を受取り、それぞれのタイミングにおいて、デベロッパ情報データベース16、ライセンス情報データベース17、アカウント情報データベース18、トークン管理部15などに格納された情報を参照しながら、アプリケーションの利用可否を判断するのである。
トークン発行部12は、認証部14による認証の結果、アプリケーションの利用を許可する場合に、必要に応じて、新たなトークンを発行する。トークンとは、クライアントPCにアプリケーションの利用を許可するためのワンタイム、即ち使い捨ての情報である。
トークン管理部15は、発行されたトークンを保持する。
次に、クライアントPCに備えられた各機能ブロックについて説明する。
送受信部30は、インターネットINTを介して各種情報の送受信をする。
アプリケーション31は、クライアントPCで利用される種々のコンピュータプログラムである。本実施例の認証の対象となっているものもあれば、そうでないものも含まれ得る。本実施例では、以下、アプリケーション31と呼ぶときは、本実施例の認証の対象となっているものを意味するものとする。
認証システムモジュール20は、サーバ10と連携して、本実施例の認証システムを構築するモジュールである。認証システムモジュール20は、アプリケーション31と個別のモジュールとして用意してもよいし、各アプリケーション31に組み込むものとしてもよい。
認証要求送信部21は、サーバ10に対して認証を要求する情報(これを認証要求と呼ぶ)を送信する。認証要求送信部21は、クライアントPCにおいて新たにアプリケーションを起動しようとするときに、認証要求を送信する。また、アプリケーションの利用中は、ユーザからの指示に関わらず所定のタイミングで繰り返し認証要求を送信する。
認証用情報記憶部22は、認証要求に含まれる情報を一時的に格納しておく。認証要求に含まれる情報には、クライアントPCの端末固有の識別情報も含まれる。また、アプリケーションの認証要求に対して、サーバ10からトークンが発行されているとき、認証用情報記憶部22は、このトークンも記憶しておく。
利用許可部23は、サーバ10による認証が得られた場合には、アプリケーション31の利用を許可する。また、本実施例では、クライアントPCがサーバ10と接続されていない状態での認証も行うことができるスタンドアロンモードが用意されている。利用許可部23は、スタンドアロンモードの場合には、認証用情報記憶部22に記憶された情報、特にオフライン用トークンに基づいて、アプリケーション31の利用可否を判断する機能も奏する。
日時情報更新部24は、スタンドアロンモードにおいて、認証用情報記憶部22に記憶されているオフライン用トークンに含まれる「利用日時」の情報を更新する。「利用日時」とは、後述する通り、オフライン用トークンの不正利用を防止するための情報である。日時情報更新部24は、スタンドアロンモードでの認証が行われたときなど、所定のタイミングで、利用日時を更新するのである。
B.データベース構成:
図2は、データベースの構成を例示する説明図である。
デベロッパ情報データベース16は、認証システムを利用するアプリケーションのデベロッパに関する情報を格納するデータベースである。
デベロッパIDは、デベロッパの識別情報である。
契約情報は、認証システムの運用主体と、デベロッパとの契約に関連する情報を表す。契約情報には、例えば、デベロッパの名称、連絡先、契約条件、課金情報、支払情報などが含まれる。
デベロッパキーは、アプリケーションの認証の際に用いられるデベロッパに固有の情報である。デベロッパキーは、デベロッパIDと同じ情報とすることもできるが、本実施例では、別個の情報を用いるものとした。
アプリケーション名称およびアプリケーションIDは、本実施例の認証対象となるアプリケーションの名称および識別情報である。アプリケーション名称、アプリケーションIDは、デベロッパごとに複数設けることもできる。デベロッパ情報データベース16は、デベロッパごとに情報が格納されるものであるから、アプリケーション名称、アプリケーションIDは、他のデベロッパのアプリケーション名称等と重複していても差し支えない。もっとも、本実施例では、混乱を回避するため、アプリケーションIDについては、デベロッパによってアプリケーションが新たに登録されたときに、認証システムが他のデベロッパとも重複しない固有の識別情報を付すものとした。
ライセンス情報データベース17、アカウント情報データベース18は、それぞれデベロッパごとに用意されるデータベースである。
ライセンス情報データベース17は、アプリケーションのライセンスを購入したユーザおよびライセンス条件などの情報を記憶する。ユーザによるライセンスごとに図示するデータが用意されることになる。
アプリケーションIDは、ライセンスの対象となるアプリケーションの識別情報である。デベロッパ情報データベース16に格納されているアプリケーションIDに対応した情報である。
デベロッパキーは、デベロッパを表す情報であり、デベロッパ情報データベース16に格納されている情報である。
購入ライセンス数は、ユーザが購入したライセンス数、即ちアプリケーションを同時に利用可能な数を表す情報である。他に、コンピュータにインストール可能な数を表す情報を追加してもよい。
適用開始日時は、ライセンスの適用によりアプリケーションの利用を開始できる日時を表す。
有効期限は、ライセンスの有効期限、即ちアプリケーションの利用が許可される期限を表す。
アカウント当たりのライセンス数は、一つのアカウント、即ち利用者IDによってアプリケーションを同時に利用可能な数を表す。
アカウント情報データベース18は、ライセンスを受けたユーザが利用可能なアカウント(またはユーザIDということもある)に関する情報を記憶する。例えば、会社がライセンスを受け、複数の従業員にアプリケーションを利用させるような場合など、一つのライセンス情報に対して、複数のアカウント情報が対応づけられることもある。
利用者IDは、アプリケーションの利用者の識別情報であり、パスワードは、アプリケーションを利用するために認証画面において入力すべき情報である。
権限は、アプリケーションの利用について、利用者に許容された権限である。本実施例では、クライアントがサーバに接続された状態でアプリケーションの認証を行うオンライン認証の他、サーバと接続されていないオフライン状態でも認証可能なスタンドアロンモードが用意されている。権限には、スタンドアロンモードの利用可否を設定可能とした。
適用開始日時は、利用者ごとに、アプリケーションの利用を開始できる日時を記憶している。
いずれのデータベースにおいても、図示した各情報の全てを備えている必要はなく、一部を必要に応じて省略してもよい。また、図示した以外の情報をデータベースに追加しても良い。本実施例では、ライセンス情報データベース17とアカウント情報データベース18とを分けて用意したが、両者を統合したデータベースとすることもできる。
C.トークンの構成:
次に、本実施例の認証で利用されるトークンの構成について説明する。トークンは、クライアントPCにアプリケーションの利用を許可するためのワンタイム、即ち使い捨ての情報である。トークンを構成する情報は、任意に設定可能であるが、本実施例では、以下の情報を含めるものとした。
「トークンID」、即ちトークンの識別情報である。
ライセンス情報データベース17に格納されている「アプリケーションID」、デベロッパキー」である。
「ライセンス種別」、即ちオンライン認証用か、スタンドアロン用かを示す情報である。
ライセンス情報データベース18に格納されている「利用者ID」である。
スタンドアロンモードのときに利用される情報として、「利用日時」、「有効期限」、「切替日時」などの情報である。これらの各情報の意味は後述する。
クライアントの「端末ID」、即ちハードウェア固有の識別情報である。
その他の管理情報などを含めることもできる。
D.オンライン認証:
以下、本実施例の認証システムによる認証処理によって順に説明する。
図3は、オンライン認証処理のフローチャートである。オンライン認証とは、クライアントとサーバとがインターネットを介して通信可能な状況で行う認証処理である。この処理は、クライアントからサーバに対する認証要求が送信されたときにサーバによって実行される。認証要求が送信される場面としては、利用者が新たにアプリケーションを起動させるとき、および既にアプリケーションを利用しているときがある。後者の場合は、利用者の指示に関係なく、所定のタイミングで、クライアントが自動的に認証要求をサーバに送信するのである。
サーバは、まず認証要求を受信する(ステップS10)。認証要求には、デベロッパキー、アプリケーションID、利用者ID、パスワード、端末IDが含まれる。デベロッパキーおよびアプリケーションIDが含まれることにより、認証システムを利用する契約が締結された正規のデベロッパが作成した正規のアプリケーションからの認証要求であることを確認することができる。また、デベロッパキーを含むことにより、アプリケーションID、利用者ID、パスワードは、他のデベロッパとの重複を考慮することなく、デベロッパごとに任意に設定された情報を利用することが可能となる。もっとも、利用者ID、パスワードなどは、認証システムにおいてデベロッパに依存せずに利用可能な情報としても差し支えない。
アプリケーションの利用中に送信される認証要求の場合は、利用者IDやパスワードなどの情報を省略してもよい。また、デベロッパキー、アプリケーションIDなどの情報に代えて、認証の際に発行されるトークンを用いるようにしてもよい。
端末IDは、クライアントに固有の情報であり、本実施例ではクライアントおよびアプリケーションの組み合わせに対して固有の情報となるSecureUDIDを利用するものとした。端末IDとしては、他にMACアドレスなどを用いても良い。端末IDを用いることにより、サーバは、インターネットに複数のクライアントが接続されている状態でも、認証要求を送信したクライアントを特定することができる利点がある。
次に,サーバは、認証要求が有効か否かを判断する(ステップS11)。本実施例では、次の4つの条件を満たすときに、認証要求が有効と判断するものとした。
条件(1)は、デベロッパキーが有効であること、即ち認証要求に含まれるデベロッパキーが、デベロッパ情報データベース16に格納された情報と一致することである。
条件(2)は、アプリケーションIDが有効であること、即ち認証要求に含まれるアプリケーションIDが、デベロッパ情報データベース16またはライセンス情報データベース17に格納された情報と一致することである。
条件(3)は、利用者ID、パスワードが有効であること、即ちこれらの情報が、アカウント情報データベース18に格納された情報と一致することである。
条件(4)は、ライセンスの有効期限内であること、即ち認証を行っている時刻が、ライセンス情報データベース17に格納された「有効期限」の情報と整合することである。
アプリケーションの利用中に送信された認証要求の場合は、条件(3)を省略してもよい。
上述の4つの条件のいずれかを満たさず、認証要求が有効ではないと判断されると(ステップS11)、サーバは、アプリケーションの利用を認めることなく、オンライン認証処理を終了する。
一方、認証要求が有効であると判断された場合(ステップS11)、サーバは、トークン管理部15(図1参照)に格納された発行済みのトークンを検索し、認証要求に対応するトークンが発行されたか否かを判断する。認証要求に対応するトークンとは、デベロッパキー、アプリケーションID、利用者IDが一致するトークンを言う。
トークンが発行済みでない場合において(ステップS12)、アプリケーションの利用数が有効範囲内におさまるときは(ステップS17)、サーバは新規にトークンを発行する(ステップS18)。クライアントがトークンを受け取ると、アプリケーションは利用可能となる。アプリケーションの利用数が有効範囲を超えるときは(ステップS17)、サーバはアプリケーションの利用を認めることなく、オンライン認証処理を終了する。
アプリケーションの利用数が有効範囲を超えるか否かの判断(ステップS17)は、例えば、次の手順で行うことができる。トークン管理部15に格納されたデベロッパキー、アプリケーションIDが認証要求と一致するトークンを検索することにより、アプリケーションの利用数を求めることができる。この利用数が、ライセンス情報データベース17に格納された購入ライセンス数よりも小さい場合には、新たにアプリケーションの利用を認めても、利用数が購入ライセンス数を超えることはないため、アプリケーションの利用数は有効範囲内におさまると判断できる。また、この利用数が、ライセンス情報データベース17と一致する場合は、アプリケーションの利用数は有効範囲を超えると判断できる。
一方、認証要求に一致するトークンが発行済みの場合(ステップS12)、サーバは、発行済みのトークンと認証要求にそれぞれ含まれる端末IDが一致するかを判断する(ステップS13)。
両者が一致するときは、サーバは、トークンを発行済みのクライアントから、アプリケーション利用中に繰り返し認証要求が送信されたものと判断し、トークンを継続利用する処理を行う(ステップS16)。例えば、トークン管理部15に格納されているトークンを改めてクライアントに送信してもよいし、発行済みのトークンが有効である旨の情報をクライアントに送信してもよい。
発行済みのトークンと認証要求にそれぞれ含まれる端末IDが一致しない場合(ステップS13)、サーバは、利用者が異なる端末から認証要求を送信したと判断し、以下の処理を行う。まず、サーバは、アカウント当たりのライセンス数を確かめる(ステップS14)。即ち、トークン管理部15から認証要求に含まれる利用者IDを含むトークンの数を求めることにより、認証要求を送ったアカウントによるアプリケーションの利用数を求め、この利用数と、ライセンス情報データベース17に格納されたアカウント当たりのライセンス数を比較する。
この結果、アプリケーションの利用数がアカウント当たりのライセンス数の範囲内と判断されるときは(ステップS14)、サーバは、先に説明したステップS17の処理によって、アプリケーションの利用可否を判断する。また、アプリケーションの利用数がアカウント当たりのライセンス数を超過すると判断されるときは(ステップS14)、発行済みのトークンを無効化して(ステップS15)、利用中のアプリケーションの利用を停止した上で、先に説明したステップS17の処理によって、アプリケーションの利用可否を判断する。
このように、同じ利用者IDを含みつつ、端末IDが一致しない認証要求がなされたときに、発行済みのトークンを無効化することにより、利用者は、それまでに利用していたアプリケーションを停止させるまでなく、異なる端末でアプリケーションを容易に利用することが可能となる利点がある。
トークンの無効化は、認証要求と利用者IDが一致するトークンに対して行われるものであり、利用者IDが異なるトークンに対しては、行われない。即ち、利用者IDが異なる場合には、先にアプリケーションを利用していたものが優先して扱われ、利用者IDが一致する場合には、あとから認証した端末が優先して扱われることになる。
E.スタンドアロン認証:
図4は、スタンドアロン切替処理のフローチャートである。オンライン認証が行われた後、オフラインでもアプリケーションを利用することができるスタンドアロンモードに切り替えるための処理である。この処理は、利用者が、クライアントからサーバに対して切替要求を送信することによって、サーバにおいて実行される。
サーバは、まず切替要求を受信する(ステップS20)。切替要求には、トークン、有効期限、クライアント日時、および端末IDの各情報が含まれる。トークンとは、オンライン認証によって発行されたトークンである。本実施例では、オンラインで認証を受けた後、スタンドアロンモードへの切替を行うものとしたため、このように切替要求にはトークンを含めることができる。もっとも、最初からスタンドアロンモードでの認証を認めるようにしてもよい。この場合でも、アプリケーションの起動時には、トークンを受け取るために、クライアントとサーバが接続されていることが前提となるから、先に説明したオンライン認証(図3参照)を実行した後、自動的にスタンドアロン切替処理に移行するようにすれば足りる。
有効期限はトークンの有効期限、クライアント日時は、クライアントが保持する時計に基づく日時情報である。端末IDはオンライン認証処理と同様である。切替要求には、スタンドアロンモードでの利用を希望する期間などの情報を含めても良い。
サーバは、受信した切替要求の有効性を判断する(ステップS21)。本実施例では、次の2つの条件を満たすときに有効と判断するものとした。
条件(1)トークンが有効とは、切替要求に含まれるトークンが、サーバのトークン管理部15(図1参照)に無効化されずに管理されていることを意味する。
条件(2)ライセンスの有効期限内とは、ライセンス情報データベース17に格納された有効期限を過ぎていないことを意味する。ライセンス自体が有効期限を超過している場合は、スタンドアロンモードへの切替えを認める必要もないからである。
条件(1)(2)のいずれか一方または双方を満たさず、切替要求が無効と判断される場合には(ステップS21)、サーバは、切替えを認めることなく、この処理を終了する。
切替要求が有効な場合(ステップS21)、サーバは、スタンドアロンモードへの変更が要求されたアプリケーションに対して有効なトークンが発行されているかを判断する(ステップS22)。かかるトークンが発行されていない場合には、オンラインでの認証が未了と判断し、サーバは、切替えを認めることなく、この処理を終了する。
有効なトークンが発行されている場合には(ステップS22)、そのトークンがスタンドアロンモードに設定されているか否かを判断し(ステップS23)、既にスタンドアロンモードになっている場合には、そのトークンを継続利用する(ステップS26)。つまり、クライアントに対して、改めて切替要求を認めることなく、既に発行されているトークンを再送するか、発行済みのトークンを利用できる情報を送信する。
発行済みのトークンがオンライン認証用である場合には(ステップS23)、サーバは、以下の手順で、スタンドアロンモードへの切替えのための処理を行う。まず、クライアントの時計の日時を取得し、その誤差が許容範囲内かを判断する(ステップS24)。後述する通り、本実施例においては、スタンドアロンモードによる認証では、トークンに格納された日時情報によって、利用者によるアプリケーションの不正利用を防止している。スタンドアロンモードへの切替時に、クライアントの時計の誤差が大きい場合には、アプリケーションの不正利用を防止できないおそれがある。従って、誤差が許容範囲を超える場合には(ステップS24)、スタンドアロンモードへの切替えを認めず、誤差が許容範囲内のときのみ、スタンドアロンモードへの切替を実行して(ステップS25)、この処理を終了する。切替を認めるか否かの判断基準としての、「誤差の許容範囲」は、不正利用防止の観点から、任意に設定可能な値である。
スタンドアロンモードへの切替では、スタンドアロンモードであることを表すオフライン用トークンがクライアントに送信される。オフライン用トークンには、スタンドアロンモードへの切替日時、同モードで利用可能な有効期限、および利用日時などの情報が含まれる。切替日時および有効期限は、スタンドアロンモードへの切替時に設定される固定的な日時情報であるが、利用日時は、オフライン用トークンを利用して認証を行った最後の日時を表す情報であり、オフライン用トークンの利用に伴って更新される動的な日時情報である。クライアントは、このオフライン用トークンを、認証用情報記憶部22(図1参照)に保持する。
図5は、アプリケーション利用許可処理のフローチャートである。この処理は、クライアントにおいて、アプリケーションを利用する際に実行される処理である。この処理が実行される場面としては、アプリケーションを新規に起動するとき、およびアプリケーションを既に利用しているときがあり、クライアントがオンラインの場合とスタンドアロンの場合とがある。アプリケーションの利用中である場合には、例えば、一定の周期でこの処理を実行するようにしてもよいし、アプリケーションに対するユーザの特定の操作をトリガとして実行するようにしてもよい。
処理を実行し、クライアントがネットワークに接続されている場合であって(ステップS30)、アプリケーションを起動中でない場合(ステップS31)、つまりアプリケーションを新たに起動する場合には、クライアントは認証画面を表示する(ステップS32)。認証画面とは、利用者IDおよびパスワードなどの認証情報を入力するための画面である。そして、入力された認証情報も含めて、認証要求をサーバに送信し、またクライアントの時計をサーバと同期する(ステップS33)。
既にアプリケーションを起動しているときは(ステップS31)、認証画面の表示をスキップした上で、認証要求をサーバに送信し、またクライアントの時計をサーバと同期する(ステップS33)。この場合の認証要求からは、利用者IDやパスワードの情報は省略してもよい。
ステップS33の処理において、クライアントの時計を同期するのは、次の理由によるものである。本実施例では、スタンドアロンモードにおいて、トークンに記録された日時情報(利用日時という)によって、アプリケーションの不正利用を防止している。かかる観点から、クライアントとサーバの時計が同期していることが好ましいのである。また、スタンドアロンモードにおいて時計が同期されたときは、それに合わせてトークンの利用日時の情報も同期させるものとしている。この意義については、後で説明する。
クライアントは、認証要求を送信した後、スタンドアロンモードでない場合は(ステップS34)、サーバでの認証が完了するのを待つ。サーバからトークンが受信できない場合には(ステップS35)、クライアントは、アプリケーションの利用を禁止して(ステップS36)、この処理を終了する。トークンが受信できない(ステップS35)とは、トークンが所定の待機時間内に受信できなかった場合や、認証に失敗した旨の情報をサーバから受信した場合などが含まれる。
一方、サーバからトークンを受信できた場合には(ステップS35)、クライアントはアプリケーションの利用を許可して(ステップS43)、この処理を終了する。利用の許可には、新規にアプリケーションを起動する場合、および利用中のアプリケーションを継続的に利用可能とする場合の双方が含まれる。受信したトークンは、認証用情報記憶部22(図1参照)に保持される。
スタンドアロンモードの場合(ステップS34)には、利用可否判断を行う(ステップS40)。クライアントがネットワークに接続されていない場合(ステップS30)も同様である。
利用可否判断とは、アプリケーションの利用を許可するか否かの判断であり、クライアントは、認証用情報記憶部22に保持されたオフライン用トークンを参照し、次の3つの条件を満たすときに、利用可能と判断する。
条件(1)は、クライアント日時は切替日時以降であるという条件である。クライアント日時とは、クライアントの時計の日時を意味する。切替日時とは、スタンドアロンモードへの切替えが行われた日時を意味する。これらの情報は、オフライン用トークンに記録されている。
条件(2)は、クライアント日時は利用日時以降であるという条件である。利用日時とは、オフライン用トークンを用いた認証が最後に行われた日時を意味する。
条件(3)は、クライアント日時は有効期限内であるという条件である。
認証用情報記憶部22にオフライン用トークンが保持されていないときは、そもそもスタンドアロンモードが許容されていないことになり、上の3つの条件のいずれも満たさないから、アプリケーションの利用は不可と判断されることになる。
上記条件のうち、条件(1)(3)は、切替日時、有効期限という固定的な日時情報を用いた判断である。仮に、これらの条件のみでアプリケーションの利用可否を判断するとすれば、有効期限を過ぎた後に、クライアントの時計を、遡らせることによって、容易に条件(1)(2)を満たすようにでき、アプリケーションの不正利用をすることが可能となってしまう。
これに対し、条件(2)は、オフライン用トークンを用いて認証するたびに更新される動的な日時情報である。従って、オフライン用トークンを利用するにつれて、日時の進行に伴って、条件(2)は有効期限に近づくように更新されることになるから、条件(2)(3)を満たす時間幅は徐々に狭くなることになる。仮に有効期限を過ぎてしまえば、条件(2)(3)を満たす範囲は存在しなくなることも起き得る。このように動的な日時情報を組み合わせてアプリケーションの利用可否を判断することにより、不正利用を防止することができる利点がある。
本実施例では、こうした機能をさらに強化するため、利用日時の情報は、原則として将来に向かってのみ更新可能とし、遡る変化は許容しないものとした。
条件(1)〜(3)のいずれかを満たさない場合には、アプリケーションの利用は不可と判断され(ステップS41)、アプリケーションの利用が禁止される(ステップS36)。
条件(1)〜(3)のいずれも満たす場合には、アプリケーションの利用が可能と判断され(ステップS41)、利用日時を更新した後(ステップS42)、アプリケーションの利用が許可される(ステップS43)。
ステップS40で説明した条件(1)〜条件(3)の意義について改めて説明する。
図6は、利用日時更新の内容を示す説明図である。
図6(a)は、アプリケーション利用許可処理(図5)のステップS40に示した条件(1)〜(3)を図示している。条件(1)は、黒塗りの三角で示したクライアント日時が、矢印tr1に示すように、切替日時以降の範囲にあるときに満たされる。条件(2)は、クライアント日時が、矢印tr2に示すように、利用日時以降の範囲にあるときに満たされる。条件(3)は、クライアント日時が、矢印tr3に示すように、有効期限までの範囲にあるときに満たされる。この結果、条件(1)〜(3)を満たす範囲は、図中のハッチングを示した範囲et1にクライアント日時が存在するときに満たされることになる。
そして、利用日時は、矢印Aで示すように、オフライン用トークンの利用に伴って、将来方向に向かってのみ更新される。
利用日時が更新されることにより、図6(b)に示すように、条件(1)〜(3)を満たす範囲et2は、徐々に狭くなる。この状態で、クライアント日時を図示するように、意図的に過去に遡らせて設定したとしても、利用日時に基づく条件(2)を満たさないため、アプリケーションは利用できないことになる。
このようにスタンドアロンモードでの不正利用の防止に寄与する利用日時であるが、何らかの理由でクライアント日時が、将来の日時に設定されてしまうと、図6(c)に示す状態となる。例えば、クライアント日時が有効期限を過ぎた日時に設定されると、認証が行われた時点で、オフライン用トークンの利用日時も、同様に有効期限以降の日時に設定されてしまい、矢印tr1〜tr3の条件を全て満たす領域は存在しなくなってしまう。この結果、アプリケーションの利用は許可されなくなる。
かかる状態を解消するためには、利用日時を正確な日時に修正する必要があるが、本実施例では、利用日時は原則として将来方向に向かってのみ更新可能としているため、たとえクライアント日時を矢印taで示すように正確な日時に修正したとしても、利用日時は遡らないため、やはり矢印tr1〜tr3の条件を全て満たす領域は得られない。
本実施例では、かかる状態を回避するため、アプリケーション利用許可処理(図5)のステップS33において、オンラインでサーバとクライアントの時計を同期できたときに限り、例外的に利用日時も過去に遡ることを許容している。この結果、クライアントがサーバに接続されれば、利用日時が、図6(c)中の真正の現在日時に修正されるため、条件(2)は、破線の矢印tr2に示す状態となり、全ての条件を満たす時間範囲を回復させることができる。
以上で説明した本実施例の認証システムによれば、スタンドアロンモードを設けることにより、クライアントがオフライン状態にあるときでも、アプリケーションを利用することができる。また、スタンドアロンモードにおいて、固定的な日時情報(切替日時および有効期限)と動的な日時情報(利用日時)とを併用することにより、アプリケーションの不正利用を防止することができる。
また、オンラインで認証処理を行う際に、利用者が、クライアントを変えて認証要求をしたときは、発行済みのトークンを無効にすることにより、それまで利用していたアプリケーションを停止するまでなく、異なるクライアントでアプリケーションの利用を開始することが可能となる利点がある。
本実施例で説明した種々の特徴は、必ずしも全てを備えている必要はなく、その一部を適宜、省略したり組み合わせたりしてもよい。
本発明は、ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行うために利用することができる。
10…サーバ
11…送受信部
12…トークン発行部
13…データベース管理部
14…認証部
15…トークン管理部
16…デベロッパ情報データベース
17…ライセンス情報データベース
18…アカウント情報データベース
20…認証システムモジュール
21…認証要求送信部
22…認証用情報記憶部
23…利用許可部
24…日時情報更新部
30…送受信部
31…アプリケーション


Claims (6)

  1. ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムであって、
    前記サーバは、
    前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するトークン発行部と、
    前記生成されたトークンを管理するトークン管理部と
    を備え、
    前記クライアントは、
    前記オフライン用トークンを保持するトークン保持部と、
    現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可部と、
    前記利用許可部の動作に伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新部と
    を備え
    前記サーバは、前記クライアントからの認証要求に応じて、前記クライアントがオンライン状態にある場合の認証に用いるための該クライアントに固有のオンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行う認証部を有し、
    前記クライアントは、前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信する認証要求送信部を有し、
    前記サーバにおいて、
    前記トークン発行部は、前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信し、
    前記トークン管理部は、前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化し、
    前記クライアントにおいて、
    前記利用許可部は、前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止する認証システム。
  2. 請求項1記載の認証システムであって、
    前記日時情報更新部は、前記動的な日時情報を、将来に向かう方向にのみ更新するよう規制されている認証システム。
  3. 請求項2記載の認証システムであって、
    前記日時情報更新部は、オンラインとなった時には、前記規制を解除し、前記動的な日時情報を、前記ネットワーク経由で取得される日時に同期させる認証システム。
  4. 請求項1〜3いずれか記載の認証システムであって、
    前記認証要求は、前記アプリケーションの開発者の識別情報、該アプリケーションの識別情報、該アプリケーションのユーザのアカウント情報、該クライアントの端末識別情報を含み、
    前記認証は、前記認証要求に含まれる各情報と、前記サーバに予め登録された情報との整合性を考慮して行われる認証システム。
  5. 請求項4記載の認証システムであって、
    前記サーバは、
    前記アプリケーションの識別情報および前記ユーザのアカウント情報とを記憶しておくデータベースを、前記アプリケーションの開発者ごとに個別に備える認証システム。
  6. ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証方法であって、
    前記サーバが実行する処理として、
    前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するステップと、
    前記生成されたトークンを管理するステップと
    を備え、
    前記クライアントが実行する処理として、
    前記オフライン用トークンを保持するトークン保持ステップと、
    現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可ステップと、
    前記利用許可ステップに伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新ステップと
    を備え
    前記サーバは、前記クライアントからの認証要求に応じて、前記クライアントがオンライン状態にある場合の認証に用いるための該クライアントに固有のオンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行うステップを有し、
    前記クライアントは、前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信するステップを有し、
    前記サーバにおいては、
    前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信し、
    前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化し、
    前記クライアントにおいては、
    前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止する認証方法。
JP2016101166A 2016-05-20 2016-05-20 認証システム Active JP6476402B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016101166A JP6476402B2 (ja) 2016-05-20 2016-05-20 認証システム
PCT/JP2017/011449 WO2017199577A1 (ja) 2016-05-20 2017-03-22 認証システム
CN201780031209.6A CN109154953B (zh) 2016-05-20 2017-03-22 认证系统
EP17799011.6A EP3460694B1 (en) 2016-05-20 2017-03-22 Authentication system
US16/175,591 US10693870B2 (en) 2016-05-20 2018-10-30 Authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016101166A JP6476402B2 (ja) 2016-05-20 2016-05-20 認証システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018221114A Division JP6640960B2 (ja) 2018-11-27 2018-11-27 認証システム

Publications (2)

Publication Number Publication Date
JP2017208000A JP2017208000A (ja) 2017-11-24
JP6476402B2 true JP6476402B2 (ja) 2019-03-06

Family

ID=60325890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016101166A Active JP6476402B2 (ja) 2016-05-20 2016-05-20 認証システム

Country Status (5)

Country Link
US (1) US10693870B2 (ja)
EP (1) EP3460694B1 (ja)
JP (1) JP6476402B2 (ja)
CN (1) CN109154953B (ja)
WO (1) WO2017199577A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144995A (ja) * 2018-02-23 2019-08-29 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US11102004B2 (en) * 2019-04-29 2021-08-24 Google Llc Systems and methods for distributed verification of online identity
JP7203690B2 (ja) * 2019-05-31 2023-01-13 東京エレクトロン株式会社 ライセンス認証装置及びライセンス認証方法
US11423135B1 (en) * 2019-07-31 2022-08-23 Intuit Inc. Offline processing using on-demand access tokens
JP7395932B2 (ja) 2019-10-04 2023-12-12 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理プログラム、及び画像形成装置
US11451396B2 (en) * 2019-11-05 2022-09-20 Microsoft Technology Licensing, Llc False positive reduction in electronic token forgery detection
DE102020125570A1 (de) 2020-09-30 2022-03-31 Novar Gmbh Verfahren, system und computerprogramm zur authentifikation von brandsteuersystemen
CN112866419B (zh) * 2021-03-11 2023-05-02 统信软件技术有限公司 一种激活控制方法、系统及计算设备

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08181965A (ja) * 1994-12-26 1996-07-12 Mitsubishi Electric Corp 電子レンタルシステム
EP0889636B1 (en) * 1997-06-30 2005-08-24 Fuji Photo Film Co., Ltd. Image communication system and method
JP2003233590A (ja) * 2002-02-08 2003-08-22 Hitachi Ltd 移動追従型サービス提供方法、システム及びプログラム
JP4266096B2 (ja) * 2002-03-26 2009-05-20 株式会社日立製作所 ファイル保管システムとnasサーバ
JP3993036B2 (ja) * 2002-05-20 2007-10-17 富士通エフ・アイ・ピー株式会社 ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
US7315238B2 (en) * 2004-07-22 2008-01-01 Advanced Diagnostics Usa Corporation Method and system for providing key programming tokens to a multiple vehicle programming device
JP4514134B2 (ja) * 2005-01-24 2010-07-28 株式会社コナミデジタルエンタテインメント ネットワークシステム、サーバ装置、不正利用検出方法、ならびに、プログラム
CN101278538A (zh) * 2005-10-05 2008-10-01 普里瓦斯菲尔公司 用于用户认证的方法和设备
JP5034109B2 (ja) 2007-11-01 2012-09-26 Necインフロンティア株式会社 ライセンス管理装置、ライセンス管理方法及びライセンス認証プログラム
JP5314485B2 (ja) * 2009-04-20 2013-10-16 株式会社日立ソリューションズ クライアントサーバシステム
KR101284114B1 (ko) * 2009-11-18 2013-07-10 한국전자통신연구원 익명 id 관리 장치 및 그 방법, 익명 id 관리 시스템 및 이를 이용한 서비스 제공 방법
US9197642B1 (en) * 2009-12-10 2015-11-24 Otoy, Inc. Token-based billing model for server-side rendering service
JP4932047B1 (ja) 2011-06-30 2012-05-16 楽天株式会社 コンテンツ又はアプリケーションの提供システム、コンテンツ又はアプリケーションの提供システムの制御方法、端末装置、端末装置の制御方法、認証装置、認証装置の制御方法、プログラム、及び情報記憶媒体
WO2013126615A1 (en) * 2012-02-21 2013-08-29 Pulselocker, Inc. Method and apparatus for limiting access to data by process or computer function with stateless encryption
KR20130132672A (ko) * 2012-05-21 2013-12-05 김주한 결제 단말기 애플리케이션, asp 시스템 및 결제 방법
JP6006533B2 (ja) * 2012-05-25 2016-10-12 キヤノン株式会社 認可サーバー及びクライアント装置、サーバー連携システム、トークン管理方法
US9246894B2 (en) * 2012-10-30 2016-01-26 Microsoft Technology Licensing, Llc. Communicating state information to legacy clients using legacy protocols
US9098687B2 (en) * 2013-05-03 2015-08-04 Citrix Systems, Inc. User and device authentication in enterprise systems
JP6108455B2 (ja) 2013-05-31 2017-04-05 株式会社日本デジタル研究所 ソフトウェア使用制御システム
CN115567273A (zh) * 2013-07-24 2023-01-03 维萨国际服务协会 用于可互操作的网络令牌处理的系统和方法
CN104734849B (zh) * 2013-12-19 2018-09-18 阿里巴巴集团控股有限公司 对第三方应用进行鉴权的方法及系统
US20150188910A1 (en) * 2013-12-26 2015-07-02 Iswind Digital Engineering Inc. Policy group based file protection system, file protection method thereof, and computer readable medium
US10395024B2 (en) * 2014-03-04 2019-08-27 Adobe Inc. Authentication for online content using an access token
JP2015207152A (ja) * 2014-04-21 2015-11-19 アルパイン株式会社 アプリケーションの有効期限認証システム、有効期限認証装置および有効期限認証方法
JP6354407B2 (ja) 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム
EP3035270A1 (de) * 2014-12-15 2016-06-22 Giesecke & Devrient GmbH Kartenbasierte offline-token generierung
CN105072608B (zh) * 2015-06-30 2019-02-12 青岛海信移动通信技术股份有限公司 一种管理认证令牌的方法及装置
US10382424B2 (en) * 2016-01-26 2019-08-13 Redhat, Inc. Secret store for OAuth offline tokens
KR102289419B1 (ko) * 2017-06-26 2021-08-12 한국전자통신연구원 바이오메트릭을 이용한 사용자의 인증 방법 및 장치

Also Published As

Publication number Publication date
EP3460694B1 (en) 2021-02-24
EP3460694A1 (en) 2019-03-27
CN109154953A (zh) 2019-01-04
US20190068588A1 (en) 2019-02-28
CN109154953B (zh) 2023-06-13
US10693870B2 (en) 2020-06-23
JP2017208000A (ja) 2017-11-24
WO2017199577A1 (ja) 2017-11-23
EP3460694A4 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
JP6476402B2 (ja) 認証システム
CN107979590B (zh) 数据共享方法、客户端、服务器、计算设备及存储介质
US11122028B2 (en) Control method for authentication/authorization server, resource server, and authentication/authorization system
US10375069B2 (en) Authorization delegation system, information processing apparatus, authorization server, control method, and storage medium
US9571494B2 (en) Authorization server and client apparatus, server cooperative system, and token management method
RU2560784C2 (ru) Модель взаимодействия для переноса состояний и данных
JP5602841B2 (ja) ユーザー識別に基づく製品機能強化
US9626137B2 (en) Image forming apparatus, server device, information processing method, and computer-readable storage medium
EP2713300B1 (en) Image forming apparatus, method for controlling image forming apparatus, and program therefor
US9154504B2 (en) Device apparatus, control method, and relating storage medium
JP5318719B2 (ja) 端末装置及び端末装置におけるアクセス制御ポリシー取得方法
CN110832479A (zh) 用于软件激活和许可证跟踪的系统和方法
KR102017057B1 (ko) 인증 관리 방법 및 시스템
JP5029460B2 (ja) 情報処理装置、情報処理システム及びコンピュータプログラム
JP6640960B2 (ja) 認証システム
JP2020030759A (ja) 権限委譲システム、情報処理装置およびその制御方法、並びにプログラム。
KR102026279B1 (ko) 애플리케이션을 관리하는 방법
JP2012115992A (ja) 画像形成装置及び画像形成システム
JP4752866B2 (ja) コンテンツ情報送信システム
JP2008108137A (ja) なりすまし防止方法、画像処理装置、なりすまし防止プログラム及び記録媒体
JP2018036707A (ja) プログラム及び認証装置
JP5686689B2 (ja) 電子認証代替システムおよび電子認証代替方法
JP2007087275A (ja) ライセンス管理装置
CN114357421A (zh) 用于对在线事件进行安全访问的方法和装置
JP2011197917A (ja) サービスシステム及びサービス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181227

R150 Certificate of patent or registration of utility model

Ref document number: 6476402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250