JP2019067430A - Authentication system - Google Patents

Authentication system Download PDF

Info

Publication number
JP2019067430A
JP2019067430A JP2018221114A JP2018221114A JP2019067430A JP 2019067430 A JP2019067430 A JP 2019067430A JP 2018221114 A JP2018221114 A JP 2018221114A JP 2018221114 A JP2018221114 A JP 2018221114A JP 2019067430 A JP2019067430 A JP 2019067430A
Authority
JP
Japan
Prior art keywords
application
client
token
authentication
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018221114A
Other languages
Japanese (ja)
Other versions
JP6640960B2 (en
Inventor
貴宏 伊鍋
Takahiro Inabe
貴宏 伊鍋
吉男 前田
Yoshio Maeda
吉男 前田
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.)
System Metrix Co Ltd
Original Assignee
System Metrix 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 System Metrix Co Ltd filed Critical System Metrix Co Ltd
Priority to JP2018221114A priority Critical patent/JP6640960B2/en
Publication of JP2019067430A publication Critical patent/JP2019067430A/en
Application granted granted Critical
Publication of JP6640960B2 publication Critical patent/JP6640960B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

To realize authentication that makes one application usable in a plurality of client units.SOLUTION: A server 10 performs authentication in accordance with an authentication request from a client PC, and issues a token when permitting the use of an application 31. The authentication request is repeatedly transmitted from the client to the server during the use of the application. When the application is activated from another client while the application is being used by one client, the server 10 issues a token to a new client when permitting the use of the application by the new client and invalidates the token issued to the other client previously using the application, thereby preventing illegal use and enabling application use by a plurality of client units.SELECTED DRAWING: Figure 1

Description

本発明は、ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムに関する。   The present invention relates to an authentication system that performs authentication for using an application at a client connected to a server via a network.

アプリケーションの利用時には、ユーザが、その利用についてライセンスを有しているかの認証が、種々の方法によって行われている。近年では、アプリケーションを利用するクライアントがインターネットに接続されている環境にあることを前提として、同じくインターネット上のサーバによって、ライセンスを管理するための技術も多く提供されている。
例えば、特許文献1は、ネットワークを利用してアプリケーションの認証を行う際に、端末に固有の識別情報を取得することによって、正規に許容された端末以外の非正規端末におけるアプリケーションの利用を防ぐ技術を開示している。
特許文献2は、同様に端末に固有の識別情報を含むライセンスキーを利用して認証を行う場合において、アプリケーションを利用している端末の識別情報をデータベースで管理することにより、他の端末で認証が行われたときは、従前利用していた端末での利用を停止させた上で、新たな端末での利用を認める技術を開示している。
特許文献3は、ライセンス時に、アプリケーションをインストール可能な台数、アプリケーションを同時に起動可能なライセンス数という2つの設定値を設けることにより、アプリケーションをインストールする台数および同時に稼働する台数の双方を制御する技術を開示している。
特許文献4は、サーバによって認証を行う際に、有効期限付きのアクセストークンを発行し、このアクセストークンの有効期限が過ぎていないかを確認することによって、アプリケーションの利用中においても、ライセンスの認証を行う技術を開示している。
When using an application, authentication as to whether the user has a license for the use is performed by various methods. In recent years, assuming that the client using the application is connected to the Internet, many techniques for managing licenses are also provided by a server on the Internet.
For example, when performing authentication of an application using a network, Patent Document 1 discloses a technique for preventing the use of the application in a non-authorized terminal other than the authorized terminal by acquiring identification information unique to the terminal. Is disclosed.
Similarly, in the case of performing authentication using a license key including identification information unique to a terminal, Patent Document 2 authenticates the other terminal by managing identification information of the terminal using the application in a database. When this is done, the technology is disclosed that allows the new terminal to be used after stopping the use of the previously used terminal.
Patent Document 3 discloses a technique for controlling both the number of installed applications and the number of concurrently operating applications by setting two setting values, ie, the number of applications that can be installed and the number of licenses that can start applications simultaneously, at the time of licensing. It is disclosed.
Patent Document 4 issues an access token with an expiration date when performing authentication by the server, and verifies the license even while using the application by confirming whether the expiration date of the access token has passed. Disclose the technology to do

特開2013−015930号公報JP, 2013-015930, A 特開2009−116392号公報JP, 2009-116392, A 特開2015−14817号公報JP, 2015-14817, A 特開2016−018529号公報JP, 2016-018529, A

従来技術における認証方法において、特許文献1〜4のようにオンラインを前提としたサーバでの認証では、アプリケーションがインストールされたクライアントが、サーバと通信可能に接続されたオンライン状態でないと、アプリケーションを利用できないという課題があった。また、サーバと接続していないオフラインの状態でも認証可能な方法を採用すると、アクセストークンの有効期限を改ざんするなどの不正が行われる危険性が高まるという課題があった。このように、オンラインでの認証には、利便性に欠けるという課題があり、一方で、オフラインでの認証は不正への対処が不十分であった。
本発明は、かかる課題に鑑み、オンラインによる認証とオフラインによる認証の利点を活かした認証を実現することを目的とする。
In the authentication method in the prior art, in the authentication on the server premised on online as in Patent Documents 1 to 4, if the client installed with the application is not in an online state communicably connected to the server, the application is used. There was a problem that it was impossible. In addition, there is a problem that the adoption of a method capable of authenticating even in an off-line state where the server is not connected increases the risk of fraudulent action such as falsification of the access token expiration date. As described above, online authentication has a problem of lack of convenience, while off-line authentication is insufficient for dealing with fraud.
An object of the present invention is to realize authentication utilizing the advantages of online authentication and offline authentication.

本発明は、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムであって、
前記サーバは、
前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するトークン発行部と、
前記生成されたトークンを管理するトークン管理部と
を備え、
前記クライアントは、
前記オフライン用トークンを保持するトークン保持部と、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可部と、
前記利用許可部の動作に伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新部と
を備える認証システムとして構成することができる。
クライアントに構成されるトークン保持部、利用許可部、および日時情報更新部は、それぞれアプリケーションとは別個に構成してもよいし、アプリケーションの一部として組み込んでもよい。
The present invention
An authentication system for performing authentication for using an application in a client connected to a server via a network, comprising:
The server is
A token for permitting use of the application according to an authentication request from the client includes fixed date and time information representing its expiration date, and dynamic date and time information updated according to the execution of authentication, A token issuing unit that generates an off-line token used for authentication when the client is in an off-line state, and sends it to the client;
And a token management unit that manages the generated token.
The client is
A token holding unit that holds the offline token;
Use of the application is permitted when the current time is after the dynamic date and time information included in the offline token and within the expiration date, and use of the application is prohibited in other cases Use permission department,
According to the operation of the use permission unit, the dynamic date and time information can be configured as an authentication system including a date and time information update unit that updates the current time.
The token holding unit, the usage permission unit, and the date and time information updating unit configured in the client may be configured separately from the application, or may be incorporated as part of the application.

本発明では、サーバから発行されるオフライン用トークンを用いて、クライアントにおけるアプリケーションの利用の許可/禁止を行うことができる。従って、オフライン用トークンの発行時には、クライアントはサーバにネットワークで接続されている必要があるが、その後は、サーバに接続されていなくとも、アプリケーションを利用することができるため利便性が確保される。
しかも、本発明で用いられるオンライン用トークンには、有効か否かを判定するための日時として、有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報が含まれる。固定的な日時情報としては、オフライン用トークンを利用可能な最終の日時情報、オフライン用トークンの利用を開始可能な日時または発行日時、オフライン用トークンの利用を開始してから利用できなくなるまでの期間などの情報を用いることができる。これらを全て用いてもよいし、一部を用いても良い。また、動的な日時情報としては、認証を実行した日時、アプリケーションを利用した日時、オフライン用トークンの利用を開始した後の経過時間などを利用することができる。その上で、現在時刻が動的な日時情報以降であること、および有効期限内であることという2つの条件を満たすときにアプリケーションの利用を許可するように判断する。ここで用いる現在時刻は、クライアントの時計に基づいて得られる時刻でよい。このように、固定的な日時情報に加えて、動的な日時情報を用いれば、仮に有効期限を過ぎた後にクライアントの時計を遡らせたとしても、現在時刻が動的な日時情報以降という条件を満たさないため、オフライン用トークンを不正に利用することはできなくなる。
従って、本発明は、不正を抑制しつつ、オフラインでアプリケーションを利用できる利便性を実現することが可能となる効果を奏する。
In the present invention, the offline token issued from the server can be used to permit / prohibit use of the application on the client. Therefore, when the offline token is issued, the client needs to be connected to the server via the network, but after that, the application can be used even if the client is not connected to the server, which ensures convenience.
In addition, as the date for determining whether or not the token for online use used in the present invention, fixed date and time information representing an expiration date, and dynamic date and time information updated according to the execution of authentication. Is included. The fixed date and time information includes the last available date and time information of the offline token, the available date and time when the offline token can be used, and the period from the start of the offline token to the unavailable time. Such information can be used. All of these may be used or a part may be used. Further, as the dynamic date and time information, it is possible to use the date and time when the authentication was performed, the date and time when the application was used, and the elapsed time after starting to use the offline token. In addition, it is determined that the use of the application is permitted when two conditions, that the current time is after the dynamic date and time information and that the current time is within the expiration date, are satisfied. The current time used here may be a time obtained based on the clock of the client. Thus, if dynamic date and time information is used in addition to fixed date and time information, the condition that the current time is after dynamic date and time information even if the client's clock is traced back after the expiration date has passed. Therefore, the offline token can not be used fraudulently.
Therefore, the present invention has the effect that it is possible to realize the convenience of being able to use the application offline while suppressing fraud.

本発明においては、
前記日時情報更新部は、前記動的な日時情報を、将来に向かう方向にのみ更新するよう規制されているものとしてもよい。
こうすることにより、動的な日時情報を遡らせるという不正を防ぐことができ、アプリケーションの不正利用をより確実に回避することが可能となる。
In the present invention,
The date and time information update unit may be regulated so as to update the dynamic date and time information only in a direction toward the future.
By doing this, it is possible to prevent the fraud in which the dynamic date and time information is traced back, and it is possible to more reliably prevent the fraudulent use of the application.

このように日時情報の更新を規制する場合、
前記日時情報更新部は、オンラインとなった時には、前記規制を解除し、前記動的な日時情報を、前記ネットワーク経由で取得される日時に同期させるものとしてもよい。
こうすることにより、動的な日時情報が誤って不正確な日時となったときに、その修正を図ることができる。例えば、クライアントの時計が、何らかの理由で、有効期限以降の将来の日時に変動してしまったとすると、動的な日時情報もこれに併せて将来の日時に更新されてしまう可能性があり、真の現在時刻が有効期限内であったとしても、オフライン用トークンに基づくアプリケーションの利用ができなくなってしまう。そして、動的な日時情報は不正防止のため簡単には遡らせることができないから、一旦、かかる事態が生じてしまうと、クライアントの時計を正常に戻しても、アプリケーションの利用は再開できなくなってしまうおそれがある。
上記態様によれば、クライアントがオンラインとなった時には、例外的に動的な日時情報の同期を認めることができ、正常な時刻に遡らせることも可能となるから、アプリケーションの利用を復旧させることができる。
When restricting the update of date and time information in this way,
When coming online, the date and time information updating unit may release the restriction, and synchronize the dynamic date and time information with the date and time acquired via the network.
By doing this, it is possible to correct the dynamic date and time information when it comes to an incorrect date and time by mistake. For example, if the client's clock changes for some reason to a future date and time after the expiration date, dynamic date and time information may also be updated to the future date and time. Even if the current time of the day is within the expiration date, the application based on the offline token can not be used. Since dynamic date and time information can not be easily traced back to prevent fraud, once such a situation occurs, it is not possible to resume use of the application even if the client's clock is returned to normal. There is a risk of
According to the above aspect, when the client comes online, it is possible to exceptionally recognize the synchronization of the dynamic date and time information, and it is possible to trace back to the normal time, so that the usage of the application is restored. Can.

また、本発明は、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムであって、
前記サーバは、
前記クライアントからの認証要求に従い、前記クライアントがオンライン状態にある場合に前記アプリケーションの利用を許可するための認証に用いる該クライアントに固有のオンライン用トークンを生成して、該クライアントに送信するトークン発行部と、
前記クライアントからの認証要求に応じて、前記オンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行う認証部と、
前記生成されたトークンを管理するトークン管理部とを備え、
前記クライアントは、
前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信する認証要求送信部と、
前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止する利用許可部とを備え、
前記サーバにおいて、
前記トークン発行部は、前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信し、
前記トークン管理部は、前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化する
認証システムと構成することもできる。
Also, the present invention is
An authentication system for performing authentication for using an application in a client connected to a server via a network, comprising:
The server is
A token issuing unit that generates an on-line token unique to the client used for authentication for permitting use of the application when the client is online according to an authentication request from the client, and transmits the token to the client When,
Whether to permit the use of the application in the client based on at least one of the validity of the on-line token and the activation condition for permitting the activation of the application in response to the authentication request from the client An authentication unit that authenticates the
And a token management unit that manages the generated token.
The client is
An authentication request transmission unit that repeatedly transmits the authentication request to the server at the start of the application and at a predetermined timing after the start;
And a use permission unit for permitting the use of the application when it is confirmed that the token for online use is valid, and for prohibiting the use of the application otherwise.
At the server,
When the token issuing unit permits the use of the application by the authentication, the token issuing unit is a valid on-line token unique to the client, or information indicating that the on-line token issued to the client is valid. Send to the client,
When the token management unit is an issued online token corresponding to the authentication request and is issued to a client different from the online token newly generated by the token issuing unit The authentication system may be configured to invalidate the issued on-line token according to a predetermined invalidation condition.

上記態様は、ネットワークに接続した状態での認証、即ちオンライン認証を実現する態様である。即ち、サーバは、クライアントからの認証要求に応じて認証を行う。この認証は、クライアントにおいて新たにアプリケーションを起動させる場合、および既にアプリケーションを利用している場合に行われる。後者の場合は、アプリケーションの利用中に、ユーザが指示しなくても、クライアントが定期的にサーバに対して認証要求を送信するのである。
サーバは、アプリケーションの利用を許可する場合には、オンライン用トークン等の情報をクライアントに送信する。例えば、クライアントにおいて新たにアプリケーションを起動するときは、新しいオンライン用トークンを発行し、それをクライアントに送信する。オンライン用トークン自体に代えて、オンライン用トークンの識別情報を送信する態様も含まれる。
一方、既にクライアントにおいてアプリケーションを利用しているときは、既存のオンライン用トークンが有効である旨の情報をクライアントに送信する。既存のオンライン用トークンに代わる新たなオンライン用トークンを発行し、それをクライアントに送信するようにしてもよい。
こうすることにより、クライアントでは、有効なオンライン用トークン(その識別情報や、オンライン用トークンが有効であることを示す情報も含む)を受け取ると、アプリケーションの利用を許可することができる。
本発明では、さらに、サーバは、異なるクライアントからの認証要求が送信された場合には、発行済みのオンライン用トークンを無効化した上で、新たなオンライン用トークンを発行する。発行済みのオンライン用トークンが無効化されることにより、従前、アプリケーションを利用していた端末では、アプリケーションの利用ができなくなる。つまり、ユーザは、使用する端末を変更したい場合、従前の端末でアプリケーションの利用を停止しなくても、新たな端末から認証要求を送信しさえすれば、容易に端末を変更することができることになる。
既に発行されているオンライン用トークンと異なる端末からの認証要求か否かを判断するために、本発明では、オンライン用トークンは、クライアントに「固有」なものとしている。例えば、クライアントの端末に固有の識別情報をオンライン用トークンに含めるようにしてもよいし、オンライン用トークンをクライアントの識別情報と関連付けて管理してもよい。
The above aspect is an aspect for realizing authentication in a state of being connected to a network, that is, online authentication. That is, the server performs authentication in response to the authentication request from the client. This authentication is performed when the client newly starts an application and when the application is already used. In the latter case, the client periodically sends an authentication request to the server while the application is in use, without the user's instruction.
When the server permits the use of the application, the server transmits information such as an online token to the client. For example, when a new application is started on the client, a new online token is issued and sent to the client. Instead of the on-line token itself, an aspect of transmitting the on-line token identification information is also included.
On the other hand, when the client is already using the application, information is transmitted to the client that the existing online token is valid. A new online token may be issued to replace the existing online token and sent to the client.
By doing this, the client can be permitted to use the application upon receiving a valid online token (including its identification information and information indicating that the online token is valid).
In the present invention, furthermore, when an authentication request from a different client is sent, the server invalidates the issued online token and issues a new online token. As the issued online token is invalidated, the terminal which used the application before can not use the application. That is, when the user wants to change the terminal to be used, the terminal can be easily changed only by transmitting the authentication request from the new terminal without stopping the use of the application in the previous terminal. Become.
In the present invention, the on-line token is "unique" to the client in order to determine whether the authentication request is from a terminal different from the on-line token already issued. For example, identification information unique to the terminal of the client may be included in the on-line token, or the on-line token may be managed in association with the identification information of the client.

本発明においては、
前記認証要求は、前記アプリケーションの開発者の識別情報、該アプリケーションの識別情報、該アプリケーションのユーザのアカウント情報、該クライアントの端末識別情報を含み、
前記認証は、前記認証要求に含まれる各情報と、前記サーバに予め登録された情報との整合性を考慮して行われるものとしてもよい。
こうすることにより,本発明による認証を複数の開発者、アプリケーション、ユーザ、クライアント端末で混乱なく利用可能なシステムとすることができる。例えば、認証要求にアプリケーションの開発者の識別情報を含めることにより、例え他の情報(アプリケーションの識別情報、アカウント情報、端末情報)が同一であったとしても、認証要求としては、開発者に関連づけられたものと認識することができるからである。従って、各開発者は、他の開発者がどのようなアプリケーションの識別情報、アカウント情報を用いているかを考慮せず、これらについて任意に設定することが可能となるのである。
In the present invention,
The authentication request includes identification information of a developer of the application, identification information of the application, account information of a user of the application, and terminal identification information of the client.
The authentication may be performed in consideration of consistency between each information included in the authentication request and information registered in advance in the server.
By doing this, the authentication according to the present invention can be made a system that can be used without confusion among a plurality of developers, applications, users and client terminals. For example, by including the identification information of the application developer in the authentication request, even if other information (application identification information, account information, terminal information) is the same, the authentication request is associated with the developer. It is because it can be recognized that the Therefore, each developer can arbitrarily set these without considering what other developers use identification information and account information of applications.

また、本発明においては、
前記サーバは、
前記アプリケーションの識別情報および前記ユーザのアカウント情報とを記憶しておくデータベースを、前記アプリケーションの開発者ごとに個別に備えるものとしてもよい。
こうすることにより、アプリケーションの開発者ごとに、データ管理をすることが可能となり、より本発明の利便性を向上させることが可能となる。
In the present invention,
The server is
A database storing the identification information of the application and the account information of the user may be provided individually for each developer of the application.
By doing this, it becomes possible to manage data for each developer of the application, and it is possible to further improve the convenience of the present invention.

本発明は、以上で説明した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。また、本発明は、上述した認証システムとしての構成に限らず、種々の態様での構成が可能であり、
例えば、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証方法であって、
前記サーバが実行する処理として、
前記クライアントからの認証要求に従い、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを生成して、該クライアントに送信するステップと、
前記生成されたトークンを管理するステップと
を備え、
前記クライアントが実行する処理として、
前記オフライン用トークンを保持するトークン保持ステップと、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可ステップと、
前記利用許可ステップに伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新ステップと
を備える認証方法として構成してもよい。
これらの認証方法においても、認証システムで説明した種々の特徴を組み込むことが可能である。
The present invention does not necessarily have to include all of the various features described above, and some of the features may be omitted or combined as appropriate. Further, the present invention is not limited to the configuration as the above-described authentication system, and configurations in various modes are possible,
For example,
An authentication method for performing authentication for using an application in a client connected to a server via a network, comprising:
As processing executed by the server,
A token for permitting use of the application according to an authentication request from the client includes fixed date and time information representing its expiration date, and dynamic date and time information updated according to the execution of authentication, Generating an offline token to be used for authentication when the client is in the offline state, and sending it to the client;
Managing the generated token.
As processing executed by the client,
A token holding step for holding the offline token;
Use of the application is permitted when the current time is after the dynamic date and time information included in the offline token and within the expiration date, and use of the application is prohibited in other cases Use permission step,
According to the use permission step, the dynamic date and time information may be configured as a date and time information update step of updating to the current time.
Also in these authentication methods, it is possible to incorporate the various features described in the authentication system.

また、上述の認証方法を、コンピュータに実現させるためのコンピュータプログラム、およびこれらのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成することもできる。かかるコンピュータプログラムとしては、サーバにインストールするものとして構成することもできるし、クライアントにインストールするものとして構成することもできる。後者の態様としては、
例えば、
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行うために該クライアントにおいて実行させるコンピュータプログラムであって、
前記サーバに対して認証要求を送信する機能と、
前記サーバから、前記アプリケーションの利用を許可するためのトークンとして、その有効期限を表す固定的な日時情報と、認証の実行に応じて更新される動的な日時情報を含み、前記クライアントがオフライン状態にある場合の認証に用いられるオフライン用トークンを受信する機能と、
現在時刻が、前記オフライン用トークンに含まれる前記動的な日時情報以降であり、かつ前記有効期限内である場合に前記アプリケーションの利用を許可し、その他の場合には前記アプリケーションの利用を禁止する利用許可機能と、
前記利用許可機能の実行に伴い、前記動的な日時情報を、前記現在時刻に更新する日時情報更新機能と
を前記クライアントに実現させるためのコンピュータプログラムとしての構成である。
これらのコンピュータプログラムにおいても、認証システムで説明した種々の特徴を組み込むことが可能である。クライアントに実行させるコンピュータプログラムの場合、クライアントで利用するアプリケーションとは別のコンピュータプログラムとして用意することもできるし、アプリケーションに組み込む形で用意することもできる。
Further, the present invention can also be configured as a computer program for causing a computer to realize the above-described authentication method, and a computer readable recording medium in which these computer programs are recorded. The computer program may be configured to be installed on a server, or may be configured to be installed on a client. As the latter aspect,
For example,
A computer program to be executed by a client connected to a server via a network to perform authentication for using the application, the client program comprising:
A function of sending an authentication request to the server;
From the server, the token for permitting the use of the application includes fixed date and time information representing its expiration date, and dynamic date and time information updated according to the execution of authentication, and the client is in the offline state A function for receiving an off-line token used for authentication in the
Use of the application is permitted when the current time is after the dynamic date and time information included in the offline token and within the expiration date, and use of the application is prohibited in other cases Use permission function,
The computer program is configured to cause the client to realize a date and time information update function that updates the dynamic time and date information to the current time according to the execution of the use permission function.
Also in these computer programs, various features described in the authentication system can be incorporated. In the case of a computer program to be executed by the client, it may be prepared as a computer program different from the application used by the client, or may be prepared incorporated into the application.

実施例としての認証システムの構成を示す説明図である。It is an explanatory view showing the composition of the attestation system as an example. データベースの構成を例示する説明図である。It is explanatory drawing which illustrates the structure of a database. ネットワーク認証処理のフローチャートである。It is a flowchart of a network authentication process. スタンドアロン切替処理のフローチャートである。It is a flowchart of a stand-alone switching process. アプリケーション利用許可処理のフローチャートである。It is a flowchart of application use permission processing. 利用日時更新の内容を示す説明図である。It is explanatory drawing which shows the content of utilization date update.

A.システム構成:
本発明の実施例について説明する。
図1は、実施例としての認証システムの構成を示す説明図である。認証システムは、インターネットINTにクライアントPCおよびサーバ10が接続された環境下において、クライアントPCにインストールされたアプリケーションの利用についての認証をサーバ10が与えるためのシステムである。以下、ネットワークを介した認証を、「クラウド認証」と称することもある。
図1においては、クライアントPCは1台のみを示したが、複数台であってもよい。クライアントPCは、CPU、メモリなどを備え種々のアプリケーションを実行できるコンピュータであり、パーソナルコンピュータの他、タブレット、スマートフォン、携帯電話などを利用可能である。
認証システムは、サーバ10に備えられる機能と、クライアントPCに備えられる認証システムモジュール20とによって構築されることになる。本実施例では、サーバ10およびクライアントPCに、図示した各機能ブロックを実現するためのコンピュータプログラムをインストールすることによって、ソフトウェア的に構成されるが、少なくとも一部をハードウェア的に構成することも可能である。また、サーバ10に示した各機能ブロックは、複数のサーバによる分散処理によって実現してもよい。
A. System configuration:
An embodiment of the present invention will be described.
FIG. 1 is an explanatory view showing the configuration of an authentication system as an embodiment. The authentication system is a system for the server 10 to provide authentication for use of an application installed on a client PC in an environment where the client PC and the server 10 are connected to the Internet INT. Hereinafter, authentication via a network may be referred to as “cloud authentication”.
Although only one client PC is shown in FIG. 1, a plurality of client PCs may be provided. The client PC is a computer that has a CPU, a memory, and the like and can execute various applications, and can use a tablet, a smartphone, a mobile phone, and the like in addition to a personal computer.
The authentication system is constructed by the functions provided to the server 10 and the authentication system module 20 provided to the client PC. In this embodiment, software is configured as software by installing a computer program for realizing the illustrated functional blocks in the server 10 and the client PC, but at least a part may be configured as hardware. It is possible. Also, each functional block shown in the server 10 may be realized by distributed processing by a plurality of servers.

本実施例の認証システムは、例えば、次のような態様で利用される。アプリケーションの開発者であるデベロッパは、アプリケーションを利用する権利、即ちライセンスを、ユーザに有償で提供することにより利益を得る。かかる利益を適正に得るためには、ユーザによるアプリケーションの不正利用を防止する必要があり、そのためには、アプリケーションの利用時にユーザが有効なライセンスを有しているか否かを認証する必要がある。かかる認証を実現するのが、本実施例の認証システムである。この認証システムは、アプリケーションのデベロッパ自身が構築し、運用するものとしてもよいが、本実施例では、デベロッパ以外の運用主体が認証システムを運用する例を示した。即ち、デベロッパは、認証システムの運用主体と、認証システムの利用契約を締結した上で、クライアントPCにインストールされる認証システムモジュール20を用意する。この認証システムモジュール20は、デベロッパが開発するアプリケーションに組み込んでも良いし、アプリケーションと別のモジュールとしてもよい。デベロッパからアプリケーションのライセンスを受けたユーザは、自身のクライアントにアプリケーションをインストールすることにより、同時に、認証システムモジュール20もインストールすることになる。かくして、アプリケーションは、本実施例の認証システムによる認証の下で、稼働するようになるのである。   The authentication system of this embodiment is used, for example, in the following manner. The developer who is the developer of the application benefits by providing the user with the right to use the application, ie, the license, for a fee. In order to properly obtain such benefits, it is necessary to prevent unauthorized use of the application by the user, and for this purpose, it is necessary to authenticate whether the user has a valid license when using the application. It is the authentication system of this embodiment that realizes such authentication. Although this authentication system may be constructed and operated by a developer of the application itself, this embodiment shows an example in which an operation subject other than the developer operates the authentication system. That is, the developer prepares an authentication system module 20 to be installed on the client PC after entering into a use contract of the authentication system with the operation entity of the authentication system. The authentication system module 20 may be incorporated into an application developed by a developer, or may be a module separate from the application. The user who has licensed the application from the developer installs the authentication system module 20 at the same time by installing the application on his client. Thus, the application will run under authentication by the authentication system of this embodiment.

サーバ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は、発行されたトークンを保持する。
Each functional block provided in the server 10 will be described.
The server 10 is provided with three types of databases, a developer information database 16, a license information database 17, and an account information database 18. The developer information database 16 stores information on developers of applications using the authentication system. The license information database 17 and the account information database 18 are databases prepared for each developer. The license information database 17 stores information such as a user who has purchased a license of an application and license conditions. The account information database 18 stores information on accounts (or user IDs) available to licensed users. The contents of these databases will be specifically described later.
The database management unit 13 manages reading and writing of data with respect to the developer information database 16, the license information database 17, and the account information database 18.
The transmission / reception unit 11 transmits / receives various information via the Internet INT. Examples of the information transmitted and received in the present embodiment include an authentication request for authentication of use of the application, a token for permitting use, and the like.
The authentication unit 14 authenticates the application while also functioning as integrating the function blocks in the server 10. In this embodiment, as described later, in addition to the authentication performed when the application is started, the authentication is performed repeatedly while using the application. The authentication unit 14 receives an authentication request from the client PC, and refers to the information stored in the developer information database 16, the license information database 17, the account information database 18, the token management unit 15, etc. at each timing. It determines the availability.
The token issuing unit 12 issues a new token as necessary when the use of the application is permitted as a result of the authentication by the authentication unit 14. The token is one-time or disposable information for permitting the client PC to use the application.
The token management unit 15 holds the issued token.

次に、クライアント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は、スタンドアロンモードでの認証が行われたときなど、所定のタイミングで、利用日時を更新するのである。
Next, each functional block provided in the client PC will be described.
The transmission / reception unit 30 transmits / receives various information via the Internet INT.
The application 31 is various computer programs used by the client PC. Some may be subject to the authentication of the present embodiment and others may be included. In the present embodiment, when the application 31 is referred to hereinafter, the application 31 means one that is the target of the authentication of the present embodiment.
The authentication system module 20 cooperates with the server 10 to build the authentication system of the present embodiment. The authentication system module 20 may be prepared as an application 31 and a separate module, or may be incorporated in each application 31.
The authentication request transmission unit 21 transmits information (this will be referred to as an authentication request) for requesting an authentication to the server 10. The authentication request transmission unit 21 transmits an authentication request when it is intended to newly start an application in the client PC. In addition, while using the application, the authentication request is repeatedly transmitted at a predetermined timing regardless of the instruction from the user.
The authentication information storage unit 22 temporarily stores information included in the authentication request. The information included in the authentication request also includes terminal-specific identification information of the client PC. In addition, when a token is issued from the server 10 in response to an application authentication request, the authentication information storage unit 22 also stores this token.
The use permission unit 23 permits the use of the application 31 when the authentication by the server 10 is obtained. Further, in the present embodiment, a stand-alone mode is provided which can also perform authentication in a state where the client PC is not connected to the server 10. In the case of the stand-alone mode, the use permission unit 23 also has a function of determining whether the application 31 can be used based on the information stored in the authentication information storage unit 22, in particular, the offline token.
The date and time information update unit 24 updates the “date and time of use” information included in the offline token stored in the authentication information storage unit 22 in the standalone mode. The “use date and time” is information for preventing unauthorized use of the offline token, as described later. The date and time information update unit 24 updates the use date and time at a predetermined timing such as when authentication in the stand-alone mode is performed.

B.データベース構成:
図2は、データベースの構成を例示する説明図である。
デベロッパ情報データベース16は、認証システムを利用するアプリケーションのデベロッパに関する情報を格納するデータベースである。
デベロッパIDは、デベロッパの識別情報である。
契約情報は、認証システムの運用主体と、デベロッパとの契約に関連する情報を表す。契約情報には、例えば、デベロッパの名称、連絡先、契約条件、課金情報、支払情報などが含まれる。
デベロッパキーは、アプリケーションの認証の際に用いられるデベロッパに固有の情報である。デベロッパキーは、デベロッパIDと同じ情報とすることもできるが、本実施例では、別個の情報を用いるものとした。
アプリケーション名称およびアプリケーションIDは、本実施例の認証対象となるアプリケーションの名称および識別情報である。アプリケーション名称、アプリケーションIDは、デベロッパごとに複数設けることもできる。デベロッパ情報データベース16は、デベロッパごとに情報が格納されるものであるから、アプリケーション名称、アプリケーションIDは、他のデベロッパのアプリケーション名称等と重複していても差し支えない。もっとも、本実施例では、混乱を回避するため、アプリケーションIDについては、デベロッパによってアプリケーションが新たに登録されたときに、認証システムが他のデベロッパとも重複しない固有の識別情報を付すものとした。
B. Database configuration:
FIG. 2 is an explanatory view illustrating the configuration of a database.
The developer information database 16 is a database that stores information on developers of applications using the authentication system.
Developer ID is identification information of a developer.
The contract information represents information related to the contract between the agent of the authentication system and the developer. The contract information includes, for example, the developer's name, contact information, contract conditions, billing information, payment information, and the like.
Developer keys are developer-specific information used in authenticating an application. The developer key may be the same information as the developer ID, but in the present embodiment, separate information is used.
The application name and the application ID are the name and identification information of the application to be authenticated in the present embodiment. A plurality of application names and application IDs can be provided for each developer. Since the developer information database 16 stores information for each developer, the application name and the application ID may overlap with application names and the like of other developers. However, in the present embodiment, in order to avoid confusion, as the application ID, when the application is newly registered by the developer, the authentication system adds unique identification information that does not overlap with other developers.

ライセンス情報データベース17、アカウント情報データベース18は、それぞれデベロッパごとに用意されるデータベースである。
ライセンス情報データベース17は、アプリケーションのライセンスを購入したユーザおよびライセンス条件などの情報を記憶する。ユーザによるライセンスごとに図示するデータが用意されることになる。
アプリケーションIDは、ライセンスの対象となるアプリケーションの識別情報である。デベロッパ情報データベース16に格納されているアプリケーションIDに対応した情報である。
デベロッパキーは、デベロッパを表す情報であり、デベロッパ情報データベース16に格納されている情報である。
購入ライセンス数は、ユーザが購入したライセンス数、即ちアプリケーションを同時に利用可能な数を表す情報である。他に、コンピュータにインストール可能な数を表す情報を追加してもよい。
適用開始日時は、ライセンスの適用によりアプリケーションの利用を開始できる日時を表す。
有効期限は、ライセンスの有効期限、即ちアプリケーションの利用が許可される期限を表す。
アカウント当たりのライセンス数は、一つのアカウント、即ち利用者IDによってアプリケーションを同時に利用可能な数を表す。
The license information database 17 and the account information database 18 are databases prepared for each developer.
The license information database 17 stores information such as a user who has purchased a license of an application and license conditions. The illustrated data will be prepared for each license by the user.
The application ID is identification information of an application to be licensed. It is information corresponding to the application ID stored in the developer information database 16.
The developer key is information representing a developer and is information stored in the developer information database 16.
The number of purchased licenses is information indicating the number of licenses purchased by the user, that is, the number of applications that can be used simultaneously. In addition, information may be added that represents the number that can be installed on the computer.
The application start date indicates the date when application usage can be started by applying a license.
The expiration date indicates the expiration date of the license, that is, the expiration date of the use of the application.
The number of licenses per account represents the number of applications that can be used simultaneously by one account, ie, the user ID.

アカウント情報データベース18は、ライセンスを受けたユーザが利用可能なアカウント(またはユーザIDということもある)に関する情報を記憶する。例えば、会社がライセンスを受け、複数の従業員にアプリケーションを利用させるような場合など、一つのライセンス情報に対して、複数のアカウント情報が対応づけられることもある。
利用者IDは、アプリケーションの利用者の識別情報であり、パスワードは、アプリケーションを利用するために認証画面において入力すべき情報である。
権限は、アプリケーションの利用について、利用者に許容された権限である。本実施例では、クライアントがサーバに接続された状態でアプリケーションの認証を行うオンライン認証の他、サーバと接続されていないオフライン状態でも認証可能なスタンドアロンモードが用意されている。権限には、スタンドアロンモードの利用可否を設定可能とした。
適用開始日時は、利用者ごとに、アプリケーションの利用を開始できる日時を記憶している。
The account information database 18 stores information on accounts (or user IDs) available to licensed users. For example, when a company receives a license and makes a plurality of employees use an application, a plurality of pieces of account information may be associated with one piece of license information.
The user ID is identification information of the user of the application, and the password is information to be input on the authentication screen to use the application.
The right is the right granted to the user for the use of the application. In this embodiment, in addition to the on-line authentication for authenticating an application in a state where the client is connected to the server, a stand-alone mode capable of authenticating even in an off-line state not connected to the server is provided. As permission, it is possible to set availability of stand-alone mode.
The application start date and time stores the date and time when the use of the application can be started for each user.

いずれのデータベースにおいても、図示した各情報の全てを備えている必要はなく、一部を必要に応じて省略してもよい。また、図示した以外の情報をデータベースに追加しても良い。本実施例では、ライセンス情報データベース17とアカウント情報データベース18とを分けて用意したが、両者を統合したデータベースとすることもできる。   In any database, it is not necessary to have all of the illustrated information, and some may be omitted as necessary. Also, information other than that illustrated may be added to the database. In the present embodiment, the license information database 17 and the account information database 18 are prepared separately, but they may be integrated databases.

C.トークンの構成:
次に、本実施例の認証で利用されるトークンの構成について説明する。トークンは、クライアントPCにアプリケーションの利用を許可するためのワンタイム、即ち使い捨ての情報である。トークンを構成する情報は、任意に設定可能であるが、本実施例では、以下の情報を含めるものとした。
「トークンID」、即ちトークンの識別情報である。
ライセンス情報データベース17に格納されている「アプリケーションID」、デベロッパキー」である。
「ライセンス種別」、即ちオンライン認証用か、スタンドアロン用かを示す情報である。
ライセンス情報データベース18に格納されている「利用者ID」である。
スタンドアロンモードのときに利用される情報として、「利用日時」、「有効期限」、「切替日時」などの情報である。これらの各情報の意味は後述する。
クライアントの「端末ID」、即ちハードウェア固有の識別情報である。
その他の管理情報などを含めることもできる。
C. Token configuration:
Next, the configuration of the token used in the authentication of this embodiment will be described. The token is one-time or disposable information for permitting the client PC to use the application. The information constituting the token can be arbitrarily set, but in the present embodiment, the following information is included.
"Token ID", that is, identification information of a token.
They are the "application ID" and the developer key stored in the license information database 17.
It is information indicating "license type", that is, whether it is for online authentication or standalone.
It is a "user ID" stored in the license information database 18.
Information used in the standalone mode is information such as "use date and time", "expiration date", and "switch date and time". The meaning of each item of information will be described later.
The "terminal ID" of the client, that is, identification information unique to hardware.
Other management information can also be included.

D.オンライン認証:
以下、本実施例の認証システムによる認証処理によって順に説明する。
図3は、オンライン認証処理のフローチャートである。オンライン認証とは、クライアントとサーバとがインターネットを介して通信可能な状況で行う認証処理である。この処理は、クライアントからサーバに対する認証要求が送信されたときにサーバによって実行される。認証要求が送信される場面としては、利用者が新たにアプリケーションを起動させるとき、および既にアプリケーションを利用しているときがある。後者の場合は、利用者の指示に関係なく、所定のタイミングで、クライアントが自動的に認証要求をサーバに送信するのである。
D. Online Certification:
Hereinafter, the authentication process by the authentication system of the present embodiment will be described in order.
FIG. 3 is a flowchart of the online authentication process. The on-line authentication is an authentication process performed in a situation where the client and the server can communicate via the Internet. This process is executed by the server when a client sends an authentication request to the server. The authentication request is transmitted when the user newly starts an application and when the user is already using the application. In the latter case, the client automatically sends an authentication request to the server at a predetermined timing regardless of the user's instruction.

サーバは、まず認証要求を受信する(ステップS10)。認証要求には、デベロッパキー、アプリケーションID、利用者ID、パスワード、端末IDが含まれる。デベロッパキーおよびアプリケーションIDが含まれることにより、認証システムを利用する契約が締結された正規のデベロッパが作成した正規のアプリケーションからの認証要求であることを確認することができる。また、デベロッパキーを含むことにより、アプリケーションID、利用者ID、パスワードは、他のデベロッパとの重複を考慮することなく、デベロッパごとに任意に設定された情報を利用することが可能となる。もっとも、利用者ID、パスワードなどは、認証システムにおいてデベロッパに依存せずに利用可能な情報としても差し支えない。
アプリケーションの利用中に送信される認証要求の場合は、利用者IDやパスワードなどの情報を省略してもよい。また、デベロッパキー、アプリケーションIDなどの情報に代えて、認証の際に発行されるトークンを用いるようにしてもよい。
端末IDは、クライアントに固有の情報であり、本実施例ではクライアントおよびアプリケーションの組み合わせに対して固有の情報となるSecureUDIDを利用するものとした。端末IDとしては、他にMACアドレスなどを用いても良い。端末IDを用いることにより、サーバは、インターネットに複数のクライアントが接続されている状態でも、認証要求を送信したクライアントを特定することができる利点がある。
The server first receives an authentication request (step S10). The authentication request includes a developer key, an application ID, a user ID, a password, and a terminal ID. By including the developer key and the application ID, it is possible to confirm that the authentication request is from a legitimate application created by a legitimate developer who has signed a contract using the certification system. Further, by including the developer key, the application ID, the user ID, and the password can use information set arbitrarily for each developer without considering duplication with other developers. However, the user ID, password, etc. may be information that can be used independently of the developer in the authentication system.
In the case of an authentication request transmitted during use of an application, information such as a user ID and a password may be omitted. Also, instead of information such as developer key and application ID, a token issued at the time of authentication may be used.
The terminal ID is information unique to the client, and in this embodiment, SecureUDID which is information unique to the combination of the client and the application is used. Alternatively, a MAC address may be used as the terminal ID. By using the terminal ID, there is an advantage that the server can specify the client that has transmitted the authentication request even in the state where a plurality of clients are connected to the Internet.

次に,サーバは、認証要求が有効か否かを判断する(ステップS11)。本実施例では、次の4つの条件を満たすときに、認証要求が有効と判断するものとした。
条件(1)は、デベロッパキーが有効であること、即ち認証要求に含まれるデベロッパキーが、デベロッパ情報データベース16に格納された情報と一致することである。
条件(2)は、アプリケーションIDが有効であること、即ち認証要求に含まれるアプリケーションIDが、デベロッパ情報データベース16またはライセンス情報データベース17に格納された情報と一致することである。
条件(3)は、利用者ID、パスワードが有効であること、即ちこれらの情報が、アカウント情報データベース18に格納された情報と一致することである。
条件(4)は、ライセンスの有効期限内であること、即ち認証を行っている時刻が、ライセンス情報データベース17に格納された「有効期限」の情報と整合することである。
アプリケーションの利用中に送信された認証要求の場合は、条件(3)を省略してもよい。
Next, the server determines whether the authentication request is valid (step S11). In this embodiment, when the following four conditions are satisfied, it is determined that the authentication request is valid.
The condition (1) is that the developer key is valid, that is, the developer key included in the authentication request matches the information stored in the developer information database 16.
The condition (2) is that the application ID is valid, that is, the application ID included in the authentication request matches the information stored in the developer information database 16 or the license information database 17.
The condition (3) is that the user ID and password are valid, that is, the information matches the information stored in the account information database 18.
The condition (4) is that the license has not expired, that is, the time of authentication is consistent with the “expiration date” information stored in the license information database 17.
Condition (3) may be omitted in the case of the authentication request sent during use of the application.

上述の4つの条件のいずれかを満たさず、認証要求が有効ではないと判断されると(ステップS11)、サーバは、アプリケーションの利用を認めることなく、オンライン認証処理を終了する。
一方、認証要求が有効であると判断された場合(ステップS11)、サーバは、トークン管理部15(図1参照)に格納された発行済みのトークンを検索し、認証要求に対応するトークンが発行されたか否かを判断する。認証要求に対応するトークンとは、デベロッパキー、アプリケーションID、利用者IDが一致するトークンを言う。
If any of the above four conditions are not satisfied and it is determined that the authentication request is not valid (step S11), the server ends the online authentication process without permitting the use of the application.
On the other hand, when it is determined that the authentication request is valid (step S11), the server searches the issued token stored in the token management unit 15 (see FIG. 1), and the token corresponding to the authentication request is issued. Determine if it has been done. The token corresponding to the authentication request is a token in which the developer key, the application ID, and the user ID match.

トークンが発行済みでない場合において(ステップS12)、アプリケーションの利用数が有効範囲内におさまるときは(ステップS17)、サーバは新規にトークンを発行する(ステップS18)。クライアントがトークンを受け取ると、アプリケーションは利用可能となる。アプリケーションの利用数が有効範囲を超えるときは(ステップS17)、サーバはアプリケーションの利用を認めることなく、オンライン認証処理を終了する。   When the token has not been issued (step S12), when the number of uses of the application falls within the valid range (step S17), the server newly issues a token (step S18). The application is available when the client receives the token. When the number of uses of the application exceeds the effective range (step S17), the server ends the online authentication process without permitting the use of the application.

アプリケーションの利用数が有効範囲を超えるか否かの判断(ステップS17)は、例えば、次の手順で行うことができる。トークン管理部15に格納されたデベロッパキー、アプリケーションIDが認証要求と一致するトークンを検索することにより、アプリケーションの利用数を求めることができる。この利用数が、ライセンス情報データベース17に格納された購入ライセンス数よりも小さい場合には、新たにアプリケーションの利用を認めても、利用数が購入ライセンス数を超えることはないため、アプリケーションの利用数は有効範囲内におさまると判断できる。また、この利用数が、ライセンス情報データベース17と一致する場合は、アプリケーションの利用数は有効範囲を超えると判断できる。   The determination as to whether the number of applications used exceeds the effective range (step S17) can be made, for example, by the following procedure. By searching the developer key stored in the token management unit 15 and the token whose application ID matches the authentication request, it is possible to obtain the number of uses of the application. If the number of uses is smaller than the number of purchased licenses stored in the license information database 17, the number of used applications does not exceed the number of purchased licenses even if the use of the application is newly permitted. Can be judged to fall within the effective range. If the number of uses matches the license information database 17, it can be determined that the number of uses of the application exceeds the valid range.

一方、認証要求に一致するトークンが発行済みの場合(ステップS12)、サーバは、発行済みのトークンと認証要求にそれぞれ含まれる端末IDが一致するかを判断する(ステップS13)。
両者が一致するときは、サーバは、トークンを発行済みのクライアントから、アプリケーション利用中に繰り返し認証要求が送信されたものと判断し、トークンを継続利用する処理を行う(ステップS16)。例えば、トークン管理部15に格納されているトークンを改めてクライアントに送信してもよいし、発行済みのトークンが有効である旨の情報をクライアントに送信してもよい。
On the other hand, if the token matching the authentication request has already been issued (step S12), the server determines whether the issued token and the terminal ID included in the authentication request match (step S13).
If the two match, the server determines from the client that has already issued the token that the authentication request has been repeatedly sent during use of the application, and performs processing to continue using the token (step S16). For example, the token stored in the token management unit 15 may be transmitted to the client again, or information indicating that the issued token is valid may be transmitted to the client.

発行済みのトークンと認証要求にそれぞれ含まれる端末IDが一致しない場合(ステップS13)、サーバは、利用者が異なる端末から認証要求を送信したと判断し、以下の処理を行う。まず、サーバは、アカウント当たりのライセンス数を確かめる(ステップS14)。即ち、トークン管理部15から認証要求に含まれる利用者IDを含むトークンの数を求めることにより、認証要求を送ったアカウントによるアプリケーションの利用数を求め、この利用数と、ライセンス情報データベース17に格納されたアカウント当たりのライセンス数を比較する。
この結果、アプリケーションの利用数がアカウント当たりのライセンス数の範囲内と判断されるときは(ステップS14)、サーバは、先に説明したステップS17の処理によって、アプリケーションの利用可否を判断する。また、アプリケーションの利用数がアカウント当たりのライセンス数を超過すると判断されるときは(ステップS14)、発行済みのトークンを無効化して(ステップS15)、利用中のアプリケーションの利用を停止した上で、先に説明したステップS17の処理によって、アプリケーションの利用可否を判断する。
このように、同じ利用者IDを含みつつ、端末IDが一致しない認証要求がなされたときに、発行済みのトークンを無効化することにより、利用者は、それまでに利用していたアプリケーションを停止させるまでなく、異なる端末でアプリケーションを容易に利用することが可能となる利点がある。
トークンの無効化は、認証要求と利用者IDが一致するトークンに対して行われるものであり、利用者IDが異なるトークンに対しては、行われない。即ち、利用者IDが異なる場合には、先にアプリケーションを利用していたものが優先して扱われ、利用者IDが一致する場合には、あとから認証した端末が優先して扱われることになる。
If the issued token and the terminal ID included in the authentication request do not match (step S13), the server determines that the user has transmitted the authentication request from a different terminal, and performs the following processing. First, the server confirms the number of licenses per account (step S14). That is, by obtaining the number of tokens including the user ID included in the authentication request from the token management unit 15, the number of applications used by the account that sent the authentication request is obtained, and this number of applications and storage in the license information database 17 Compare the number of licenses per account.
As a result, when it is determined that the number of uses of the application is within the range of the number of licenses per account (step S14), the server determines the availability of the application by the process of step S17 described above. When it is determined that the number of applications used exceeds the number of licenses per account (step S14), the issued token is invalidated (step S15), and the use of the application being used is stopped, Whether or not to use the application is determined by the process of step S17 described above.
In this way, the user stops the application used so far by invalidating the issued token when an authentication request is made that does not match the terminal ID while containing the same user ID. There is an advantage that it is possible to easily use the application at different terminals without having to do it.
The token invalidation is performed on tokens in which the authentication request and the user ID match, and is not performed on tokens in which the user IDs are different. That is, when the user ID is different, the one using the application earlier is treated with priority, and when the user ID matches, the terminal authenticated later is treated with priority. Become.

E.スタンドアロン認証:
図4は、スタンドアロン切替処理のフローチャートである。オンライン認証が行われた後、オフラインでもアプリケーションを利用することができるスタンドアロンモードに切り替えるための処理である。この処理は、利用者が、クライアントからサーバに対して切替要求を送信することによって、サーバにおいて実行される。
E. Stand-alone authentication:
FIG. 4 is a flowchart of the stand-alone switching process. This is a process for switching to a stand-alone mode in which the application can be used offline even after the on-line authentication is performed. This process is executed on the server by the user sending a switch request from the client to the server.

サーバは、まず切替要求を受信する(ステップS20)。切替要求には、トークン、有効期限、クライアント日時、および端末IDの各情報が含まれる。トークンとは、オンライン認証によって発行されたトークンである。本実施例では、オンラインで認証を受けた後、スタンドアロンモードへの切替を行うものとしたため、このように切替要求にはトークンを含めることができる。もっとも、最初からスタンドアロンモードでの認証を認めるようにしてもよい。この場合でも、アプリケーションの起動時には、トークンを受け取るために、クライアントとサーバが接続されていることが前提となるから、先に説明したオンライン認証(図3参照)を実行した後、自動的にスタンドアロン切替処理に移行するようにすれば足りる。
有効期限はトークンの有効期限、クライアント日時は、クライアントが保持する時計に基づく日時情報である。端末IDはオンライン認証処理と同様である。切替要求には、スタンドアロンモードでの利用を希望する期間などの情報を含めても良い。
The server receives the switching request first (step S20). The switching request includes the token, expiration date, client date and time, and terminal ID information. A token is a token issued by online authentication. In this embodiment, switching to the stand-alone mode is performed after being authenticated online, and thus the switching request can include a token. However, authentication in the standalone mode may be permitted from the beginning. Even in this case, it is assumed that the client and server are connected in order to receive the token when starting the application, so after performing the above-mentioned online authentication (see FIG. 3), it is automatically stand-alone. It is sufficient to shift to the switching process.
The expiration date is the token expiration date, and the client date and time is date and time information based on a clock held by the client. The terminal ID is similar to the online authentication process. The switching request may include information such as a period desired to be used in the stand-alone mode.

サーバは、受信した切替要求の有効性を判断する(ステップS21)。本実施例では、次の2つの条件を満たすときに有効と判断するものとした。
条件(1)トークンが有効とは、切替要求に含まれるトークンが、サーバのトークン管理部15(図1参照)に無効化されずに管理されていることを意味する。
条件(2)ライセンスの有効期限内とは、ライセンス情報データベース17に格納された有効期限を過ぎていないことを意味する。ライセンス自体が有効期限を超過している場合は、スタンドアロンモードへの切替えを認める必要もないからである。
条件(1)(2)のいずれか一方または双方を満たさず、切替要求が無効と判断される場合には(ステップS21)、サーバは、切替えを認めることなく、この処理を終了する。
The server determines the validity of the received switching request (step S21). In this embodiment, it is determined that the following two conditions are satisfied.
The condition (1) that the token is valid means that the token included in the switching request is managed without being invalidated by the token management unit 15 (see FIG. 1) of the server.
Condition (2) The expiration date of the license means that the expiration date stored in the license information database 17 has not passed. This is because there is no need to allow switching to the stand-alone mode if the license itself has expired.
If one or both of the conditions (1) and (2) are not satisfied, and it is determined that the switching request is invalid (step S21), the server ends this processing without allowing the switching.

切替要求が有効な場合(ステップS21)、サーバは、スタンドアロンモードへの変更が要求されたアプリケーションに対して有効なトークンが発行されているかを判断する(ステップS22)。かかるトークンが発行されていない場合には、オンラインでの認証が未了と判断し、サーバは、切替えを認めることなく、この処理を終了する。
有効なトークンが発行されている場合には(ステップS22)、そのトークンがスタンドアロンモードに設定されているか否かを判断し(ステップS23)、既にスタンドアロンモードになっている場合には、そのトークンを継続利用する(ステップS26)。つまり、クライアントに対して、改めて切替要求を認めることなく、既に発行されているトークンを再送するか、発行済みのトークンを利用できる情報を送信する。
If the switching request is valid (step S21), the server determines whether a valid token has been issued to the application for which the change to the standalone mode has been requested (step S22). If such a token has not been issued, it is determined that online authentication has not been completed, and the server ends this processing without allowing the switch.
If a valid token has been issued (step S22), it is determined whether the token is set to the stand-alone mode (step S23). If the token is already in the stand-alone mode, the token is selected. Continue to use (step S26). That is, without accepting the switch request again, the client retransmits the token that has already been issued, or transmits information that can use the issued token.

発行済みのトークンがオンライン認証用である場合には(ステップS23)、サーバは、以下の手順で、スタンドアロンモードへの切替えのための処理を行う。まず、クライアントの時計の日時を取得し、その誤差が許容範囲内かを判断する(ステップS24)。後述する通り、本実施例においては、スタンドアロンモードによる認証では、トークンに格納された日時情報によって、利用者によるアプリケーションの不正利用を防止している。スタンドアロンモードへの切替時に、クライアントの時計の誤差が大きい場合には、アプリケーションの不正利用を防止できないおそれがある。従って、誤差が許容範囲を超える場合には(ステップS24)、スタンドアロンモードへの切替えを認めず、誤差が許容範囲内のときのみ、スタンドアロンモードへの切替を実行して(ステップS25)、この処理を終了する。切替を認めるか否かの判断基準としての、「誤差の許容範囲」は、不正利用防止の観点から、任意に設定可能な値である。
スタンドアロンモードへの切替では、スタンドアロンモードであることを表すオフライン用トークンがクライアントに送信される。オフライン用トークンには、スタンドアロンモードへの切替日時、同モードで利用可能な有効期限、および利用日時などの情報が含まれる。切替日時および有効期限は、スタンドアロンモードへの切替時に設定される固定的な日時情報であるが、利用日時は、オフライン用トークンを利用して認証を行った最後の日時を表す情報であり、オフライン用トークンの利用に伴って更新される動的な日時情報である。クライアントは、このオフライン用トークンを、認証用情報記憶部22(図1参照)に保持する。
If the issued token is for online authentication (step S23), the server performs processing for switching to the standalone mode in the following procedure. First, the date and time of the client's clock is acquired, and it is determined whether the error is within the allowable range (step S24). As will be described later, in the present embodiment, in the authentication in the stand-alone mode, unauthorized use of the application by the user is prevented by the date and time information stored in the token. If the client's clock has a large error when switching to the standalone mode, there is a possibility that unauthorized use of the application can not be prevented. Therefore, when the error exceeds the allowable range (step S24), switching to the standalone mode is not permitted, and switching to the standalone mode is performed only when the error is within the allowable range (step S25). Finish. The “permissible error range” as a determination criterion as to whether or not to allow switching is a value that can be arbitrarily set from the viewpoint of preventing unauthorized use.
In switching to the stand-alone mode, an off-line token indicating that it is in the stand-alone mode is sent to the client. The offline token includes information such as the date and time of switching to the standalone mode, the expiration date available in the mode, and the date of use. The switching date and time and the expiration date are fixed date and time information set when switching to the standalone mode, but the usage date and time is information indicating the last date and time when authentication was performed using the offline token, and offline Dynamic date and time information that is updated as the token is used. The client holds this offline token in the authentication information storage unit 22 (see FIG. 1).

図5は、アプリケーション利用許可処理のフローチャートである。この処理は、クライアントにおいて、アプリケーションを利用する際に実行される処理である。この処理が実行される場面としては、アプリケーションを新規に起動するとき、およびアプリケーションを既に利用しているときがあり、クライアントがオンラインの場合とスタンドアロンの場合とがある。アプリケーションの利用中である場合には、例えば、一定の周期でこの処理を実行するようにしてもよいし、アプリケーションに対するユーザの特定の操作をトリガとして実行するようにしてもよい。   FIG. 5 is a flowchart of the application use permission process. This process is a process executed when using the application in the client. There are cases where this process is executed when an application is newly launched and when an application is already used, and the client is online or stand-alone. When the application is being used, for example, this process may be performed at a constant cycle, or a specific operation of the user on the application may be used as a trigger.

処理を実行し、クライアントがネットワークに接続されている場合であって(ステップS30)、アプリケーションを起動中でない場合(ステップS31)、つまりアプリケーションを新たに起動する場合には、クライアントは認証画面を表示する(ステップS32)。認証画面とは、利用者IDおよびパスワードなどの認証情報を入力するための画面である。そして、入力された認証情報も含めて、認証要求をサーバに送信し、またクライアントの時計をサーバと同期する(ステップS33)。
既にアプリケーションを起動しているときは(ステップS31)、認証画面の表示をスキップした上で、認証要求をサーバに送信し、またクライアントの時計をサーバと同期する(ステップS33)。この場合の認証要求からは、利用者IDやパスワードの情報は省略してもよい。
ステップS33の処理において、クライアントの時計を同期するのは、次の理由によるものである。本実施例では、スタンドアロンモードにおいて、トークンに記録された日時情報(利用日時という)によって、アプリケーションの不正利用を防止している。かかる観点から、クライアントとサーバの時計が同期していることが好ましいのである。また、スタンドアロンモードにおいて時計が同期されたときは、それに合わせてトークンの利用日時の情報も同期させるものとしている。この意義については、後で説明する。
If the client is connected to the network (step S30) and the application is not being activated (step S31), that is, if the application is newly activated, the client displays an authentication screen. (Step S32). The authentication screen is a screen for inputting authentication information such as a user ID and a password. Then, an authentication request is transmitted to the server, including the input authentication information, and the clock of the client is synchronized with the server (step S33).
If the application has already been started (step S31), the display of the authentication screen is skipped, and an authentication request is sent to the server, and the clock of the client is synchronized with the server (step S33). Information on the user ID and password may be omitted from the authentication request in this case.
In the process of step S33, the clock of the client is synchronized for the following reason. In this embodiment, in the stand-alone mode, unauthorized use of the application is prevented by the date and time information (referred to as use date and time) recorded in the token. From this point of view, it is preferable that the clocks of the client and server be synchronized. Also, when the clock is synchronized in the stand-alone mode, the information on the use date of the token is also synchronized accordingly. The significance of this will be explained later.

クライアントは、認証要求を送信した後、スタンドアロンモードでない場合は(ステップS34)、サーバでの認証が完了するのを待つ。サーバからトークンが受信できない場合には(ステップS35)、クライアントは、アプリケーションの利用を禁止して(ステップS36)、この処理を終了する。トークンが受信できない(ステップS35)とは、トークンが所定の待機時間内に受信できなかった場合や、認証に失敗した旨の情報をサーバから受信した場合などが含まれる。
一方、サーバからトークンを受信できた場合には(ステップS35)、クライアントはアプリケーションの利用を許可して(ステップS43)、この処理を終了する。利用の許可には、新規にアプリケーションを起動する場合、および利用中のアプリケーションを継続的に利用可能とする場合の双方が含まれる。受信したトークンは、認証用情報記憶部22(図1参照)に保持される。
After transmitting the authentication request, if the client is not in the standalone mode (step S34), the client waits for the authentication on the server to be completed. If the token can not be received from the server (step S35), the client prohibits the use of the application (step S36) and ends this processing. The case where the token can not be received (step S35) includes the case where the token can not be received within the predetermined waiting time, the case where information indicating that the authentication has failed is received from the server, and the like.
On the other hand, if the token can be received from the server (step S35), the client permits the use of the application (step S43), and the process ends. The permission of use includes both the case of starting an application newly and the case of making the application in use continuously available. The received token is held in the authentication information storage unit 22 (see FIG. 1).

スタンドアロンモードの場合(ステップS34)には、利用可否判断を行う(ステップS40)。クライアントがネットワークに接続されていない場合(ステップS30)も同様である。
利用可否判断とは、アプリケーションの利用を許可するか否かの判断であり、クライアントは、認証用情報記憶部22に保持されたオフライン用トークンを参照し、次の3つの条件を満たすときに、利用可能と判断する。
In the case of the stand-alone mode (step S34), it is judged whether or not it is usable (step S40). The same applies to the case where the client is not connected to the network (step S30).
The availability determination is a determination as to whether or not to permit the use of the application, and the client refers to the offline token held in the authentication information storage unit 22 and satisfies the following three conditions: Judge as available.

条件(1)は、クライアント日時は切替日時以降であるという条件である。クライアント日時とは、クライアントの時計の日時を意味する。切替日時とは、スタンドアロンモードへの切替えが行われた日時を意味する。これらの情報は、オフライン用トークンに記録されている。
条件(2)は、クライアント日時は利用日時以降であるという条件である。利用日時とは、オフライン用トークンを用いた認証が最後に行われた日時を意味する。
条件(3)は、クライアント日時は有効期限内であるという条件である。
認証用情報記憶部22にオフライン用トークンが保持されていないときは、そもそもスタンドアロンモードが許容されていないことになり、上の3つの条件のいずれも満たさないから、アプリケーションの利用は不可と判断されることになる。
The condition (1) is a condition that the client date and time is after the switching date and time. The client date means the date and time of the client's clock. The switching date means the date when the switching to the standalone mode is performed. These pieces of information are recorded in the offline token.
The condition (2) is a condition that the client date and time is after the use date and time. The use date means the date when the authentication using the off-line token was last performed.
The condition (3) is a condition that the client date and time is within the expiration date.
If the authentication information storage unit 22 does not hold the off-line token, the stand-alone mode is not permitted in the first place, and none of the above three conditions are satisfied, so it is determined that the application can not be used. It will be

上記条件のうち、条件(1)(3)は、切替日時、有効期限という固定的な日時情報を用いた判断である。仮に、これらの条件のみでアプリケーションの利用可否を判断するとすれば、有効期限を過ぎた後に、クライアントの時計を、遡らせることによって、容易に条件(1)(2)を満たすようにでき、アプリケーションの不正利用をすることが可能となってしまう。
これに対し、条件(2)は、オフライン用トークンを用いて認証するたびに更新される動的な日時情報である。従って、オフライン用トークンを利用するにつれて、日時の進行に伴って、条件(2)は有効期限に近づくように更新されることになるから、条件(2)(3)を満たす時間幅は徐々に狭くなることになる。仮に有効期限を過ぎてしまえば、条件(2)(3)を満たす範囲は存在しなくなることも起き得る。このように動的な日時情報を組み合わせてアプリケーションの利用可否を判断することにより、不正利用を防止することができる利点がある。
本実施例では、こうした機能をさらに強化するため、利用日時の情報は、原則として将来に向かってのみ更新可能とし、遡る変化は許容しないものとした。
Among the above conditions, the conditions (1) and (3) are determinations using fixed date and time information such as switching date and time and expiration date. Assuming that the availability of the application is determined based only on these conditions, the condition (1), (2) can easily be satisfied by tracing back the client clock after the expiration date has passed, and the application It will be possible to illegally use
On the other hand, condition (2) is dynamic date and time information that is updated each time authentication is performed using an offline token. Therefore, as the offline token is used, the condition (2) is updated to approach the expiration date as the date and time progresses, so the time width satisfying the conditions (2) and (3) gradually It will be narrow. If the expiration date has passed, it may happen that there is no range that satisfies the conditions (2) and (3). There is an advantage that unauthorized use can be prevented by determining the availability of the application by combining such dynamic date and time information.
In the present embodiment, in order to further strengthen such functions, the information on the date of use can in principle be updated only in the future, and retrospective changes are not permitted.

条件(1)〜(3)のいずれかを満たさない場合には、アプリケーションの利用は不可と判断され(ステップS41)、アプリケーションの利用が禁止される(ステップS36)。
条件(1)〜(3)のいずれも満たす場合には、アプリケーションの利用が可能と判断され(ステップS41)、利用日時を更新した後(ステップS42)、アプリケーションの利用が許可される(ステップS43)。
If any one of the conditions (1) to (3) is not satisfied, it is determined that the use of the application is not possible (step S41), and the use of the application is prohibited (step S36).
If any of the conditions (1) to (3) is satisfied, it is determined that the application can be used (step S41), and after the use date and time is updated (step S42), the use of the application is permitted (step S43). ).

ステップS40で説明した条件(1)〜条件(3)の意義について改めて説明する。
図6は、利用日時更新の内容を示す説明図である。
図6(a)は、アプリケーション利用許可処理(図5)のステップS40に示した条件(1)〜(3)を図示している。条件(1)は、黒塗りの三角で示したクライアント日時が、矢印tr1に示すように、切替日時以降の範囲にあるときに満たされる。条件(2)は、クライアント日時が、矢印tr2に示すように、利用日時以降の範囲にあるときに満たされる。条件(3)は、クライアント日時が、矢印tr3に示すように、有効期限までの範囲にあるときに満たされる。この結果、条件(1)〜(3)を満たす範囲は、図中のハッチングを示した範囲et1にクライアント日時が存在するときに満たされることになる。
そして、利用日時は、矢印Aで示すように、オフライン用トークンの利用に伴って、将来方向に向かってのみ更新される。
The meanings of the conditions (1) to (3) described in step S40 will be described again.
FIG. 6 is an explanatory view showing contents of use date and time update.
FIG. 6A shows the conditions (1) to (3) shown in step S40 of the application use permission process (FIG. 5). The condition (1) is satisfied when the client date and time indicated by a black triangle is in the range after the switching date and time as indicated by an arrow tr1. The condition (2) is satisfied when the client date and time is in the range after the use date and time as indicated by an arrow tr2. The condition (3) is satisfied when the client date and time is in the range up to the expiration date, as indicated by an arrow tr3. As a result, the range satisfying the conditions (1) to (3) is satisfied when the client date and time exists in the range et1 indicated by hatching in the drawing.
Then, as indicated by the arrow A, the use date and time is updated only in the future direction as the offline token is used.

利用日時が更新されることにより、図6(b)に示すように、条件(1)〜(3)を満たす範囲et2は、徐々に狭くなる。この状態で、クライアント日時を図示するように、意図的に過去に遡らせて設定したとしても、利用日時に基づく条件(2)を満たさないため、アプリケーションは利用できないことになる。   By updating the use date and time, as shown in FIG. 6B, the range et2 satisfying the conditions (1) to (3) gradually narrows. In this state, even if the client date and time is intentionally set back in the past as illustrated, the application can not be used because the condition (2) based on the use date and time is not satisfied.

このようにスタンドアロンモードでの不正利用の防止に寄与する利用日時であるが、何らかの理由でクライアント日時が、将来の日時に設定されてしまうと、図6(c)に示す状態となる。例えば、クライアント日時が有効期限を過ぎた日時に設定されると、認証が行われた時点で、オフライン用トークンの利用日時も、同様に有効期限以降の日時に設定されてしまい、矢印tr1〜tr3の条件を全て満たす領域は存在しなくなってしまう。この結果、アプリケーションの利用は許可されなくなる。
かかる状態を解消するためには、利用日時を正確な日時に修正する必要があるが、本実施例では、利用日時は原則として将来方向に向かってのみ更新可能としているため、たとえクライアント日時を矢印taで示すように正確な日時に修正したとしても、利用日時は遡らないため、やはり矢印tr1〜tr3の条件を全て満たす領域は得られない。
本実施例では、かかる状態を回避するため、アプリケーション利用許可処理(図5)のステップS33において、オンラインでサーバとクライアントの時計を同期できたときに限り、例外的に利用日時も過去に遡ることを許容している。この結果、クライアントがサーバに接続されれば、利用日時が、図6(c)中の真正の現在日時に修正されるため、条件(2)は、破線の矢印tr2に示す状態となり、全ての条件を満たす時間範囲を回復させることができる。
As described above, although it is a use date and time that contributes to the prevention of unauthorized use in the stand-alone mode, when the client date and time is set to a future date and time for some reason, the state shown in FIG. For example, if the client date and time is set to a date and time after the expiration date, when authentication is performed, the utilization date and time of the offline token is similarly set to the date and time after the expiration date, and arrows tr1 to tr3. There is no area that satisfies all the conditions of. As a result, the use of the application is not permitted.
In order to resolve this situation, it is necessary to correct the use date and time to an accurate date and time, but in this embodiment, since the use date and time can be updated only in the future in principle in principle, Even if it is corrected to an accurate date and time as indicated by ta, the utilization date and time does not go back, so an area satisfying all the conditions of the arrows tr1 to tr3 can not be obtained.
In the present embodiment, in order to avoid such a state, only when the clocks of the server and the client can be synchronized online in step S33 of the application use permission process (FIG. 5), the use date and time is also retroactively traced back To allow. As a result, if the client is connected to the server, the use date and time is corrected to the true present date and time in FIG. 6C, so the condition (2) becomes the state shown by the broken arrow tr2, The time range that satisfies the condition can be recovered.

以上で説明した本実施例の認証システムによれば、スタンドアロンモードを設けることにより、クライアントがオフライン状態にあるときでも、アプリケーションを利用することができる。また、スタンドアロンモードにおいて、固定的な日時情報(切替日時および有効期限)と動的な日時情報(利用日時)とを併用することにより、アプリケーションの不正利用を防止することができる。
また、オンラインで認証処理を行う際に、利用者が、クライアントを変えて認証要求をしたときは、発行済みのトークンを無効にすることにより、それまで利用していたアプリケーションを停止するまでなく、異なるクライアントでアプリケーションの利用を開始することが可能となる利点がある。
According to the authentication system of the present embodiment described above, by providing the standalone mode, the application can be used even when the client is in the offline state. Further, in the standalone mode, by combining fixed date and time information (switching date and expiration date) and dynamic date and time information (use date and time), unauthorized use of an application can be prevented.
In addition, when performing authentication processing online, when the user changes the client and makes an authentication request, the issued token is invalidated without stopping the application that has been used so far. There is an advantage that it is possible to start using the application with different clients.

本実施例で説明した種々の特徴は、必ずしも全てを備えている必要はなく、その一部を適宜、省略したり組み合わせたりしてもよい。   The various features described in the present embodiment do not necessarily have to be all, and some of them may be omitted or combined as appropriate.

本発明は、ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行うために利用することができる。   The present invention can be used to perform authentication for using an application at a client connected to a server via a network.

10…サーバ
11…送受信部
12…トークン発行部
13…データベース管理部
14…認証部
15…トークン管理部
16…デベロッパ情報データベース
17…ライセンス情報データベース
18…アカウント情報データベース
20…認証システムモジュール
21…認証要求送信部
22…認証用情報記憶部
23…利用許可部
24…日時情報更新部
30…送受信部
31…アプリケーション


DESCRIPTION OF SYMBOLS 10 ... Server 11 ... Transmission / reception part 12 ... Token issuing part 13 ... Database management part 14 ... Authentication part 15 ... Token management part 16 ... Developer information database 17 ... License information database 18 ... Account information database 20 ... Authentication system module 21 ... Authentication request Transmission unit 22 ... authentication information storage unit 23 ... usage permission unit 24 ... date and time information update unit 30 ... transmission / reception unit 31 ... application


Claims (4)

ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証システムであって、
前記サーバは、
前記クライアントからの認証要求に従い、前記クライアントがオンライン状態にある場合に前記アプリケーションの利用を許可するための認証に用いる該クライアントに固有のオンライン用トークンを生成して、該クライアントに送信するトークン発行部と、
前記クライアントからの認証要求に応じて、前記オンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行う認証部と、
前記生成されたトークンを管理するトークン管理部とを備え、
前記クライアントは、
前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信する認証要求送信部と、
前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止する利用許可部とを備え、
前記サーバにおいて、
前記トークン発行部は、前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信し、
前記トークン管理部は、前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化する
認証システム。
An authentication system for performing authentication for using an application in a client connected to a server via a network, comprising:
The server is
A token issuing unit that generates an on-line token unique to the client used for authentication for permitting use of the application when the client is online according to an authentication request from the client, and transmits the token to the client When,
Whether to permit the use of the application in the client based on at least one of the validity of the on-line token and the activation condition for permitting the activation of the application in response to the authentication request from the client An authentication unit that authenticates the
And a token management unit that manages the generated token.
The client is
An authentication request transmission unit that repeatedly transmits the authentication request to the server at the start of the application and at a predetermined timing after the start;
And a use permission unit for permitting the use of the application when it is confirmed that the token for online use is valid, and for prohibiting the use of the application otherwise.
At the server,
When the token issuing unit permits the use of the application by the authentication, the token issuing unit is a valid on-line token unique to the client, or information indicating that the on-line token issued to the client is valid. Send to the client,
When the token management unit is an issued online token corresponding to the authentication request and is issued to a client different from the online token newly generated by the token issuing unit An authentication system for invalidating the issued on-line token according to a predetermined invalidation condition.
請求項1記載の認証システムであって、
前記認証要求は、前記アプリケーションの開発者の識別情報、該アプリケーションの識別情報、該アプリケーションのユーザのアカウント情報、該クライアントの端末識別情報を含み、
前記認証は、前記認証要求に含まれる各情報と、前記サーバに予め登録された情報との整合性を考慮して行われる認証システム。
The authentication system according to claim 1, wherein
The authentication request includes identification information of a developer of the application, identification information of the application, account information of a user of the application, and terminal identification information of the client.
An authentication system in which the authentication is performed in consideration of consistency between each information included in the authentication request and information registered in advance in the server.
請求項2記載の認証システムであって、
前記サーバは、
前記アプリケーションの識別情報および前記ユーザのアカウント情報とを記憶しておくデータベースを、前記アプリケーションの開発者ごとに個別に備える認証システム。
The authentication system according to claim 2, wherein
The server is
An authentication system comprising a database for storing identification information of the application and account information of the user individually for each developer of the application.
ネットワークを介してサーバに接続されたクライアントにおいてアプリケーションを利用するための認証を行う認証方法であって、
前記サーバが実行する処理として、
(a) 前記クライアントからの認証要求に従い、前記クライアントがオンライン状態にある場合に前記アプリケーションの利用を許可するための認証に用いる該クライアントに固有のオンライン用トークンを生成して、該クライアントに送信するステップと、
(b) 前記クライアントからの認証要求に応じて、前記オンライン用トークンの有効性、および前記アプリケーションの起動を許可するための起動条件の少なくとも一方を踏まえて、該クライアントにおける前記アプリケーションの利用を許可するか否かの認証を行うステップと、
(c) 前記生成されたトークンを管理するステップとを備え、
前記クライアントが実行する処理として、
(d) 前記アプリケーションの起動時および起動後の所定のタイミングで、繰り返し、前記サーバに対して前記認証要求を送信するステップと、
(e) 前記オンライン用トークンが有効であることが確認できたときは前記アプリケーションの利用を許可し、その他の場合は前記アプリケーションの利用を禁止するステップとを備え、
前記サーバにおいて、
前記ステップ(a)は、前記認証により前記アプリケーションの利用を許可する場合、該クライアントに固有の有効なオンライン用トークン、または前記クライアントに対して発行済みのオンライン用トークンが有効であることを示す情報を前記クライアントに送信するステップであり、
前記ステップ(c)は、前記認証要求に対応する発行済みのオンライン用トークンであって、前記トークン発行部によって新たに生成されたオンライン用トークンとは異なるクライアントに対して発行されたものがある場合は、所定の無効化条件に従って当該発行済みのオンライン用トークンを無効化するステップである
認証方法。




An authentication method for performing authentication for using an application in a client connected to a server via a network, comprising:
As processing executed by the server,
(A) generating an on-line token specific to the client used for authentication for permitting use of the application when the client is online according to the authentication request from the client and transmitting it to the client Step and
(B) permitting the use of the application in the client in accordance with at least one of the validity of the on-line token and the activation condition for permitting the activation of the application in response to the authentication request from the client Performing authentication of whether or not
(C) managing the generated token.
As processing executed by the client,
(D) repeatedly transmitting the authentication request to the server at start-up of the application and at predetermined timing after the start-up;
(E) allowing the use of the application when it is confirmed that the token for online use is valid, and prohibiting the use of the application otherwise.
At the server,
In the step (a), when the authentication permits the use of the application, a valid on-line token unique to the client, or information indicating that the on-line token issued to the client is valid Sending to the client,
Step (c) is an issued online token corresponding to the authentication request, which is issued to a client different from the online token newly generated by the token issuing unit The authentication method is a step of invalidating the issued on-line token according to a predetermined invalidation condition.




JP2018221114A 2018-11-27 2018-11-27 Authentication system Active JP6640960B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018221114A JP6640960B2 (en) 2018-11-27 2018-11-27 Authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018221114A JP6640960B2 (en) 2018-11-27 2018-11-27 Authentication system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016101166A Division JP6476402B2 (en) 2016-05-20 2016-05-20 Authentication system

Publications (2)

Publication Number Publication Date
JP2019067430A true JP2019067430A (en) 2019-04-25
JP6640960B2 JP6640960B2 (en) 2020-02-05

Family

ID=66338272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018221114A Active JP6640960B2 (en) 2018-11-27 2018-11-27 Authentication system

Country Status (1)

Country Link
JP (1) JP6640960B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020255639A1 (en) * 2019-06-20 2020-12-24 株式会社日立製作所 Portal provision system and portal provision method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020255639A1 (en) * 2019-06-20 2020-12-24 株式会社日立製作所 Portal provision system and portal provision method
JP2021002128A (en) * 2019-06-20 2021-01-07 株式会社日立製作所 Portal provision system and portal provision method
JP7157010B2 (en) 2019-06-20 2022-10-19 株式会社日立製作所 Portal provision system and portal provision method

Also Published As

Publication number Publication date
JP6640960B2 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
JP6476402B2 (en) Authentication system
CN107979590B (en) Data sharing method, client, server, computing device and storage medium
RU2560784C2 (en) Model of interaction for transfer of states and data
US9069936B2 (en) Licensing verification for application use
US10686768B2 (en) Apparatus and method for controlling profile data delivery
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
US20040143746A1 (en) Software license compliance system and method
US20100083386A1 (en) Tokenized Resource Access
TW201040783A (en) Enhanced product functionality based on user identification
JP2017215808A (en) Information-processing equipment, data processing system, data processing method, and computer program
CN103825874A (en) Image forming apparatus, and method for controlling image forming apparatus
JP4533935B2 (en) License authentication system and authentication method
CN110832479A (en) System and method for software activation and license tracking
JP2011076377A (en) Terminal device and access control policy obtaining method in the terminal device
JP2023120387A (en) Management method, management apparatus, and program
JP5029460B2 (en) Information processing apparatus, information processing system, and computer program
JP6640960B2 (en) Authentication system
KR102026279B1 (en) How to manage your application
US20080127332A1 (en) Information processing system, electronic authorization information issuing device, electronic information utilizing device, right issuing device, recording medium storing electronic authorization information issuing program, electronic information utilizing program and right issuing program, and information processing method
CN102130907B (en) Developer phone registration
JP7303653B2 (en) Management method, management device, and program
JP2012115992A (en) Image forming apparatus and image forming system
CN111797385A (en) Operation method and operation system of staging device and readable storage medium
JP4752866B2 (en) Content information transmission system
KR100693483B1 (en) Method and apparatus for providing fixed charge contents using d.r.m

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191226

R150 Certificate of patent or registration of utility model

Ref document number: 6640960

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