JP6257085B2 - Login request apparatus and method for requesting login to predetermined server, and program used therefor - Google Patents

Login request apparatus and method for requesting login to predetermined server, and program used therefor Download PDF

Info

Publication number
JP6257085B2
JP6257085B2 JP2014096001A JP2014096001A JP6257085B2 JP 6257085 B2 JP6257085 B2 JP 6257085B2 JP 2014096001 A JP2014096001 A JP 2014096001A JP 2014096001 A JP2014096001 A JP 2014096001A JP 6257085 B2 JP6257085 B2 JP 6257085B2
Authority
JP
Japan
Prior art keywords
login
information
application program
program
predetermined server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014096001A
Other languages
Japanese (ja)
Other versions
JP2015122049A (en
JP2015122049A5 (en
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.)
DeNA Co Ltd
Original Assignee
DeNA 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 DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2014096001A priority Critical patent/JP6257085B2/en
Publication of JP2015122049A publication Critical patent/JP2015122049A/en
Publication of JP2015122049A5 publication Critical patent/JP2015122049A5/ja
Application granted granted Critical
Publication of JP6257085B2 publication Critical patent/JP6257085B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラムに関する。   The present invention relates to a login request apparatus and method for requesting login to a predetermined server, and a program used therefor.

従来より、インターネット等のネットワークを介して提供されるサービスをユーザが利用する際には、ユーザID及びパスワード等の情報をユーザが入力し、入力された情報に基づくログイン認証が行われている。また、ユーザID及びパスワード等の情報を入力する手間を軽減するために、初回のログイン時にサーバが認証トークンを発行してユーザの端末装置に送信し、2回目以降のログイン時にはこの認証トークンをサーバに送信することによってログイン認証を行う技術が提案されている(例えば、特許文献1参照)。一方、近年、スマートフォン等の端末装置にアプリケーションプログラムをインストールし、このアプリケーションプログラムを用いて上述したサービスを利用する形態が増えている。このようにアプリケーションプログラムを用いてサービスを利用する形態においては、例えば、利用するサービスの運営者が同一である場合等には、複数のアプリケーションプログラムにおいて同一のユーザID及びパスワード等の情報を用いてログインすることが可能となることがある。従って、上述した認証トークンを複数のアプリケーションプログラム間で共有することによって、ユーザID及びパスワード等の情報を入力する手間をより一層軽減することができるようになると考えられる。   Conventionally, when a user uses a service provided via a network such as the Internet, the user inputs information such as a user ID and a password, and login authentication is performed based on the input information. In order to reduce the trouble of inputting information such as user ID and password, the server issues an authentication token at the first login and transmits it to the user's terminal device. There has been proposed a technique for performing login authentication by transmitting to (for example, see Patent Document 1). On the other hand, in recent years, an application program is installed in a terminal device such as a smartphone, and the above-described service is used using the application program. Thus, in the form of using a service using an application program, for example, when the operator of the service to be used is the same, the information such as the same user ID and password is used in a plurality of application programs. It may be possible to log in. Therefore, by sharing the above-described authentication token among a plurality of application programs, it is considered that the trouble of inputting information such as a user ID and a password can be further reduced.

特開2012−191270号公報JP 2012-191270 A

しかしながら、複数のアプリケーションプログラム間で上述した認証トークンを共有する場合、機密性が高い認証トークンのセキュリティを確保する必要が生じる。このように機密性が高い情報を管理するための特別な仕組み(例えば、暗号化処理のなされたセキュアな記憶領域を用いてユーザID及びパスワード等の情報を管理する仕組み等)が実装されているオペレーティングシステムも存在するものの、こうした仕組みは全てのオペレーティングシステムにおいて実装されているとは限らない。例えば、暗号化処理のなされていない非セキュアな記憶領域に認証トークンを記憶して複数のアプリケーションプログラム間で共有してしまうと、悪意のある第三者によるアプリケーションプログラムによって認証トークンが不正に利用され、不正なログインを許容してしまう恐れがある。従って、セキュリティを確保しつつ複数のアプリケーションプログラム間で認証トークンを共有するより簡易な仕組みの実現が望まれる。   However, when the above-described authentication token is shared among a plurality of application programs, it is necessary to ensure the security of the authentication token with high confidentiality. A special mechanism for managing such highly confidential information (for example, a mechanism for managing information such as a user ID and a password using a secure storage area that has been encrypted) is implemented. Although there are operating systems, these mechanisms are not always implemented in all operating systems. For example, if an authentication token is stored in a non-secure storage area that is not encrypted and shared among multiple application programs, the authentication token is illegally used by an application program by a malicious third party. May allow unauthorized login. Therefore, it is desired to realize a simpler mechanism for sharing an authentication token among a plurality of application programs while ensuring security.

本発明の実施形態は、ログインに必要な情報をセキュリティを確保しつつ複数のアプリケーションプログラム間で共有するより簡易な仕組みを提供することを目的の一つとする。本発明の他の目的は、本明細書全体を参照することにより明らかとなる。   An object of the embodiment of the present invention is to provide a simpler mechanism for sharing information necessary for login between a plurality of application programs while ensuring security. Other objects of the present invention will become apparent by referring to the entire specification.

本発明の一実施形態に係る第1のプログラムは、複数のプログラムモジュールによって構成され、コンピュータに、当該プログラムモジュールに対応する機能を実現させる第1のプログラムであって、前記複数のプログラムモジュールは、前記コンピュータ上で実行可能な所定のプログラムを用いた所定のサーバへのログインの履歴であって当該コンピュータによってアクセス可能な所定の記憶領域に記憶されているログイン履歴を参照し、当該ログイン履歴に含まれるログインに用いられた第2のプログラムに対して当該所定のサーバへのログインに用いる認証用情報を要求する認証用情報要求モジュールと、前記第2のプログラムから取得した前記認証用情報を用いて前記所定のサーバに対してログインを要求するログイン要求モジュールと、を含む。   The first program according to an embodiment of the present invention is a first program configured by a plurality of program modules, and causing a computer to realize a function corresponding to the program module, wherein the plurality of program modules are: Referring to a login history stored in a predetermined storage area accessible by the computer, which is a history of login to a predetermined server using a predetermined program executable on the computer, and included in the login history Using an authentication information request module for requesting authentication information used for logging in to the predetermined server to the second program used for logging in, and the authentication information acquired from the second program Login request module for requesting login to the predetermined server And, including the.

上述した一実施形態に係る第1のプログラムにおいて、前記複数のプログラムモジュールは、前記所定のサーバへのログインに応じて当該所定のサーバから新たに認証用情報を取得し、当該取得した認証用情報を前記第1のプログラムによって管理され前記コンピュータによってアクセス可能な第1のプログラム用記憶領域に記憶させる認証用情報記憶モジュールと、第3のプログラムからの要求に応答し、前記第1のプログラム用記憶領域に記憶されている前記認証用情報を当該第3のプログラムに対して提供する認証用情報提供モジュールと、を更に含む態様としたり、前記複数のプログラムモジュールは、前記所定のサーバへのログインに応じて前記第1のプログラムを用いた前記所定のサーバへのログインを前記ログイン履歴に記録するログイン履歴記録モジュールを更に含む態様とすることもできる。   In the first program according to the above-described embodiment, the plurality of program modules newly acquire authentication information from the predetermined server in response to login to the predetermined server, and the acquired authentication information Is stored in a first program storage area managed by the first program and accessible by the computer, and in response to a request from a third program, the first program storage An authentication information providing module that provides the authentication information stored in the area to the third program, or the plurality of program modules can log in to the predetermined server. In response, the login to the predetermined server using the first program is recorded in the login history. May be a login history recording module further includes embodiments that.

本発明の一実施形態に係る方法は、コンピュータが、所定のサーバに対してログインを要求する方法であって、第2のプログラムによって、当該第2のプログラムを用いた前記所定のサーバへのログインに応じて当該所定のサーバから当該所定のサーバへのログインに用いる認証用情報を取得し、当該取得した認証用情報を当該第2のプログラムによって管理され前記コンピュータによってアクセス可能な第2のプログラム用記憶領域に記憶させ、前記第2のプログラムによって、当該第2のプログラムを用いた前記所定のサーバへのログインに応じて当該第2のプログラムを用いた当該所定のサーバへのログインを、前記コンピュータ上で実行可能な所定のプログラムを用いた当該所定のサーバへのログインの履歴であって当該コンピュータによってアクセス可能な所定の記憶領域に記憶されているログイン履歴に記録し、第1のプログラムによって、前記ログイン履歴を参照し、当該ログイン履歴に含まれるログインに用いられた前記第2のプログラムに対して前記認証用情報を要求し、前記第2のプログラムによって、前記第1のプログラムからの要求に応答し、前記第2のプログラム用記憶領域に記憶されている前記認証用情報を当該第1のプログラムに対して提供し、前記第1のプログラムによって、前記第2のプログラムから取得した前記認証用情報を用いて前記所定のサーバに対してログインを要求する。   A method according to an embodiment of the present invention is a method in which a computer requests login to a predetermined server, and the second program logs in to the predetermined server using the second program. The authentication information used for logging in to the predetermined server is acquired from the predetermined server in response to the request, and the acquired authentication information is managed by the second program and accessible by the computer The computer is stored in a storage area, and the second program logs in to the predetermined server using the second program in response to the login to the predetermined server using the second program. A log of a login to the predetermined server using a predetermined program executable on the computer. Recorded in a login history stored in a predetermined storage area accessible by the first program, referring to the login history by the first program, and for the second program used for login included in the login history Requesting the authentication information, and responding to the request from the first program by the second program, and the authentication information stored in the second program storage area Provided to the program, and the first program requests the predetermined server to log in using the authentication information acquired from the second program.

本発明の一実施形態に係るログイン要求装置は、所定のサーバに対してログインを要求するログイン要求装置であって、第2のプログラムによって、当該第2のプログラムを用いた前記所定のサーバへのログインに応じて当該所定のサーバから当該所定のサーバへのログインに用いる認証用情報を取得し、当該取得した認証用情報を当該第2のプログラムによって管理され前記コンピュータによってアクセス可能な第2のプログラム用記憶領域に記憶させる認証用情報記憶部と、前記第2のプログラムによって、当該第2のプログラムを用いた前記所定のサーバへのログインに応じて当該第2のプログラムを用いた当該所定のサーバへのログインを、前記コンピュータ上で実行可能な所定のプログラムを用いた当該所定のサーバへのログインの履歴であって当該コンピュータによってアクセス可能な所定の記憶領域に記憶されているログイン履歴に記録するログイン履歴記録部と、第1のプログラムによって、前記ログイン履歴を参照し、当該ログイン履歴に含まれるログインに用いられた前記第2のプログラムに対して前記認証用情報を要求する認証用情報要求部と、前記第2のプログラムによって、前記第1のプログラムからの要求に応答し、前記第2のプログラム用記憶領域に記憶されている前記認証用情報を当該第1のプログラムに対して提供する認証用情報提供部と、前記第1のプログラムによって、前記第2のプログラムから取得した前記認証用情報を用いて前記所定のサーバに対してログインを要求するログイン要求部と、を備える。   A login request device according to an embodiment of the present invention is a login request device that requests a predetermined server to log in, and a second program uses the second program to send to the predetermined server. A second program that acquires authentication information used for logging in to the predetermined server from the predetermined server in response to login, and that manages the acquired authentication information by the second program and is accessible by the computer The authentication information storage unit to be stored in the storage area and the predetermined server using the second program in response to login to the predetermined server using the second program by the second program Login to the predetermined server using a predetermined program that can be executed on the computer A login history recording unit for recording in a login history stored in a predetermined storage area accessible by the computer, and a login included in the login history by referring to the login history by the first program An authentication information requesting unit for requesting the authentication information to the second program used for the first program, the second program responding to a request from the first program, and the second program. An authentication information providing unit that provides the authentication information stored in the storage area to the first program, and the authentication information acquired from the second program by the first program. And a login request unit that requests login to the predetermined server.

本発明の様々な実施形態によって、ログインに必要な情報をセキュリティを確保しつつ複数のアプリケーションプログラム間で共有するより簡易な仕組みを提供することができる。   According to various embodiments of the present invention, it is possible to provide a simpler mechanism for sharing information necessary for login between a plurality of application programs while ensuring security.

本発明の一実施形態に係る端末装置30を含むシステム1のネットワーク構成を概略的に示すブロック図。The block diagram which shows roughly the network structure of the system 1 containing the terminal device 30 which concerns on one Embodiment of this invention. 本発明の一実施形態に係るプログラム50のモジュール構成を概略的に示すブロック図。The block diagram which shows roughly the module structure of the program 50 which concerns on one Embodiment of this invention. 一実施形態におけるログイン履歴によって管理される情報の具体例を示す図。The figure which shows the specific example of the information managed by the login log | history in one Embodiment. 一実施形態におけるログイン処理の一例を示すフロー図。The flowchart which shows an example of the login process in one Embodiment.

図1は、本発明の一実施形態に係る端末装置30を含むシステム1のネットワーク構成を概略的に示すブロック図である。図1に示すように、一実施形態における端末装置30は、一般的なコンピュータとして構成されるサーバ10とインターネット等の通信網20を介して通信可能に接続されており、端末装置30のユーザは、サーバ10が提供する様々なインターネットサービスを利用することができる。ここで、サーバ10が提供するインターネットサービスとしては、例えば、ゲーム等のデジタルコンテンツを提供するサービス、及び、それぞれ端末装置30を操作する複数のユーザ間の様々なコミュニケーション(チャット(ミニメール)、サークル、アバター、日記、伝言板、挨拶、通話等)を実現するプラットフォームサービス(SNSサービス)等を例示することができるが、これらに限定されない。また、後述するように、端末装置30は、サーバ10に対してログインを要求する本発明の一実施形態に係るログイン要求装置としても機能する。   FIG. 1 is a block diagram schematically showing a network configuration of a system 1 including a terminal device 30 according to an embodiment of the present invention. As shown in FIG. 1, the terminal device 30 in one embodiment is connected to a server 10 configured as a general computer via a communication network 20 such as the Internet so that the user of the terminal device 30 Various Internet services provided by the server 10 can be used. Here, as an Internet service provided by the server 10, for example, a service that provides digital content such as a game, and various communications (chat (mini mail), circle) between a plurality of users who operate the terminal device 30 respectively. , Avatar, diary, message board, greeting, phone call, etc.) (but not limited to). Further, as will be described later, the terminal device 30 also functions as a login request device according to an embodiment of the present invention that requests the server 10 to log in.

サーバ10は、図示のとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ15と、ディスクドライブ16とを含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15から様々なプログラムをメインメモリ12にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAMによって構成される。   As shown in the figure, the server 10 includes a CPU (computer processor) 11, a main memory 12, a user I / F 13, a communication I / F 14, a storage 15, and a disk drive 16. They are electrically connected to each other via a bus 17. The CPU 11 loads various programs from the storage 15 into the main memory 12 and executes instructions included in the loaded programs. The main memory 12 is used for storing a program executed by the CPU 11, and is constituted by, for example, a DRAM.

ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。   The user I / F 13 includes, for example, an information input device such as a keyboard and a mouse that accepts an operator input, and an information output device such as a liquid crystal display that outputs a calculation result of the CPU 11. The communication I / F 14 is implemented as hardware, firmware, communication software such as a TCP / IP driver or a PPP driver, or a combination thereof, and is configured to be able to communicate with the terminal device 30 via the communication network 20.

ストレージ15は、例えば磁気ディスクドライブで構成され、サーバ10によって提供される各種サービスの進行を制御するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、各種サービスにおいて用いられる各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。ディスクドライブ16は、CD−ROM、DVD−ROM、DVD−R等の各種の記憶メディアに格納されたデータを読み込み、又は、これらの記憶メディアにデータを書き込む。   The storage 15 is composed of, for example, a magnetic disk drive, and stores various programs such as a control program for controlling the progress of various services provided by the server 10. The storage 15 can also store various data used in various services. Various data that can be stored in the storage 15 may be stored in a database server or the like that is physically separate from the server 10 that is communicably connected to the server 10. The disk drive 16 reads data stored in various storage media such as CD-ROM, DVD-ROM, and DVD-R, or writes data to these storage media.

一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、端末装置30に対してこのウェブサイトを介して各種サービスを提供することができる。端末装置30は、ウェブページを表示するためのHTMLデータをサーバ10から取得し、取得したHTMLデータを解析して、当該ウェブページを端末装置30のユーザに提示することができる。例えば、このようなウェブページを介して提供されるゲームは、ブラウザゲームと称されることがある。ストレージ15には、このウェブページを表示するためのHTMLデータも記憶される。HTMLデータは、HTML等のマークアップ言語で記述されたHTML文書から成り、このHTML文書には、様々な画像が関連付けられる。また、HTML文書には、各種スクリプト言語等で記述されたプログラムが埋め込まれ得る。   In one embodiment, the server 10 also functions as a web server that manages a website composed of a plurality of hierarchical web pages, and can provide various services to the terminal device 30 via the website. . The terminal device 30 can acquire HTML data for displaying a web page from the server 10, analyze the acquired HTML data, and present the web page to the user of the terminal device 30. For example, a game provided through such a web page may be referred to as a browser game. The storage 15 also stores HTML data for displaying this web page. The HTML data is composed of an HTML document described in a markup language such as HTML, and various images are associated with the HTML document. Also, programs written in various script languages can be embedded in the HTML document.

ストレージ15には、端末装置30においてブラウザソフトウェア以外の実行環境上で実行されるアプリケーションも格納され得る。このアプリケーションには、各種処理を実行するためのプログラムや当該プログラム実行時に参照される画像データ等の各種データを含めることができる。プログラムは、例えば、Objective−C、Java(登録商標)等のオブジェクト指向プログラミング言語で作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信され得る。サーバ10から配信されたアプリケーションは、端末装置30において、CPU31の制御に従って通信I/F34を介して受信され、受信されたアプリケーションがストレージ35に送信され記憶される。このアプリケーションは、ユーザによる端末装置30の操作に応じて起動され、端末装置30に実装されたNgCore(商標)やAndroid(商標)等の実行環境上で実行される。サーバ10は、端末装置30で実行されているアプリケーションに対して必要な各種データを提供し得る。また、サーバ10は、端末装置30から送信される各種データをユーザ毎に記憶することで、ユーザ毎にゲームの進行等の各種サービスの状況を管理することができる。   The storage 15 can also store applications that are executed on the terminal device 30 in an execution environment other than browser software. This application can include various data such as a program for executing various processes and image data referred to when the program is executed. The program is created in an object-oriented programming language such as Objective-C or Java (registered trademark). The application stored in the storage 15 can be distributed to the terminal device 30 in response to the distribution request. The application distributed from the server 10 is received by the terminal device 30 via the communication I / F 34 under the control of the CPU 31, and the received application is transmitted and stored in the storage 35. This application is activated in response to an operation of the terminal device 30 by the user, and is executed on an execution environment such as NgCore (trademark) and Android (trademark) installed in the terminal device 30. The server 10 can provide various data necessary for an application executed on the terminal device 30. Further, the server 10 stores various data transmitted from the terminal device 30 for each user, so that the status of various services such as game progress can be managed for each user.

このように、サーバ10は、各種サービスを提供するウェブサイトを管理し、当該ウェブサイトを構成するウェブページを端末装置30からの要求に応じて配信することにより、各種サービスを提供することができる。また、サーバ10は、このようなブラウザベースのサービスとは代替的に、又は、ブラウザベースのサービスに加えて、端末装置30で実行されるアプリケーションとの通信に基づいて各種サービスを提供させることができる。詳細な説明は省略するが、サーバ10は、各種サービスの提供開始時におけるユーザの認証処理や各種サービスの提供に応じて発生する課金処理を行う機能等を有することもできる。   In this way, the server 10 can provide various services by managing websites that provide various services, and delivering web pages constituting the websites in response to requests from the terminal device 30. . Further, the server 10 can provide various services based on communication with an application executed on the terminal device 30 in place of the browser-based service or in addition to the browser-based service. it can. Although detailed explanation is omitted, the server 10 can also have a function of performing user authentication processing at the start of provision of various services, billing processing that occurs in response to provision of various services, and the like.

端末装置30は、一実施形態において、サーバ10から取得したウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するためのアプリケーション実行環境を実装した任意の情報処理装置であり、パーソナルコンピュータ、スマートフォン、タブレット端末、及びゲーム専用端末等が含まれ得る。   In one embodiment, the terminal device 30 is an arbitrary information processing device in which an application execution environment for displaying the web page of the website acquired from the server 10 is displayed on the web browser and executing the application. Smartphones, tablet terminals, game-dedicated terminals, and the like may be included.

端末装置30は、図示のとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ35と、を含み、これらの各構成要素がバス36を介して互いに電気的に接続されている。   As illustrated, the terminal device 30 includes a CPU (computer processor) 31, a main memory 32, a user I / F 33, a communication I / F 34, and a storage 35, and each of these components includes a bus 36. Are electrically connected to each other.

CPU31は、ストレージ35から様々なプログラムをメインメモリ32にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAMによって構成される。   The CPU 31 loads various programs from the storage 35 into the main memory 32 and executes instructions included in the loaded programs. The main memory 32 is used for storing a program executed by the CPU 31, and is constituted by, for example, a DRAM.

ユーザI/F33は、ユーザの入力を受け付ける情報入力装置と、CPU31の演算結果を出力する情報出力装置であり、タッチパネルを備える液晶ディスプレイなどの表示装置を含む。   The user I / F 33 is an information input device that accepts user input and an information output device that outputs the calculation result of the CPU 31, and includes a display device such as a liquid crystal display including a touch panel.

通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。   The communication I / F 34 is implemented as hardware, firmware, communication software such as a TCP / IP driver or a PPP driver, or a combination thereof, and is configured to be able to communicate with the server 10 via the communication network 20.

ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム及びアプリケーションプログラム等の様々なプログラム、並びにこれらのプログラムによって扱われる様々なデータを記憶し得る。ここで、ストレージ35は、内蔵ストレージ及び取り外し可能なリムーバブルストレージの両方が含まれ得る。リムーバブルストレージとしては、例えば、フラッシュメモリが内蔵されたSDメモリカード等が含まれ得る。   The storage 35 is constituted by, for example, a magnetic disk drive, a flash memory, or the like, and can store various programs such as an operating system and application programs, and various data handled by these programs. Here, the storage 35 may include both a built-in storage and a removable removable storage. The removable storage may include, for example, an SD memory card with a built-in flash memory.

このようなアーキテクチャを有する端末装置30は、例えば、HTMLデータを解釈して画面表示するためのブラウザソフトウェアを備えており、このブラウザソフトウェアの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30は、ブラウザソフトウェアに組み込まれるプラグインソフトを備えており、HTMLデータに埋め込まれたSWF形式等のファイルをサーバ10又は他のサーバ等から取得し、当該SWF形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することもできる。   The terminal device 30 having such an architecture includes, for example, browser software for interpreting HTML data and displaying the screen, and interprets and receives HTML data acquired from the server 10 by the function of the browser software. A web page corresponding to the HTML data thus displayed can be displayed. Further, the terminal device 30 includes plug-in software incorporated in browser software, acquires a file in SWF format or the like embedded in HTML data from the server 10 or another server, and the SWF format file is acquired from the browser. It can also be executed using software and plug-in software.

端末装置30においてブラウザソフトウェア又はアプリケーションプログラムが実行されると、例えば、プログラムにより指示されたアニメーションや操作用アイコンが端末装置30の画面に表示される。ユーザは、端末装置30のユーザI/F33を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のブラウザやNgCore(商標)等の実行環境の機能を通じてサーバ10に伝達される。   When browser software or an application program is executed in the terminal device 30, for example, an animation or an operation icon specified by the program is displayed on the screen of the terminal device 30. The user can input various instructions using the user I / F 33 of the terminal device 30. The instruction input from the user is transmitted to the server 10 through functions of the execution environment such as the browser of the terminal device 30 and NgCore (trademark).

次に、本発明の一実施形態に係るアプリケーションプログラム50について説明する。一実施形態におけるアプリケーションプログラム50は、サーバ10によって提供される各種サービスを利用するためのアプリケーションプログラムであって、端末装置30等のコンピュータ上で実行されることによって、このコンピュータを、サーバ10に対してログインを要求するログイン要求装置として機能させる。また、端末装置30を操作するユーザがサーバ10によって提供される各種サービスをアプリケーションプログラム50を用いて利用しようとする場合には、サーバ10又は他のサーバ(例えば、アプリケーションプログラム、映画、音楽、書籍等の配信サービスを提供するサーバ等)から利用するサービスに対応するアプリケーションプログラム50をダウンロードして端末装置30にインストールする。インストールされたアプリケーションプログラム50はストレージ35に記憶される。こうしたアプリケーションプログラム50のインストール及びアンインストールは、主に、端末装置30のオペレーティングシステムの機能によって実現される。なお、端末装置30には、サーバ10が提供する複数のサービスにそれぞれ対応する複数のアプリケーションプログラム50がインストールされ、又、アプリケーションプログラム50以外の複数のアプリケーションプログラム(例えば、サーバ10以外のサーバが提供するサービス(サーバ10の運営者以外の運営者によって提供されるサービス)を利用するためのアプリケーションプログラム等)がインストールされ得る。   Next, an application program 50 according to an embodiment of the present invention will be described. The application program 50 according to the embodiment is an application program for using various services provided by the server 10, and is executed on a computer such as the terminal device 30, so that the computer is connected to the server 10. Function as a login requesting device that requests login. When a user who operates the terminal device 30 intends to use various services provided by the server 10 using the application program 50, the server 10 or another server (for example, application program, movie, music, book, etc.) The application program 50 corresponding to the service to be used is downloaded from the server or the like providing a distribution service such as, and installed in the terminal device 30. The installed application program 50 is stored in the storage 35. The installation and uninstallation of the application program 50 are mainly realized by the function of the operating system of the terminal device 30. The terminal device 30 is installed with a plurality of application programs 50 respectively corresponding to a plurality of services provided by the server 10, and a plurality of application programs other than the application program 50 (for example, provided by a server other than the server 10). (Such as an application program for using a service provided by an operator other than the operator of the server 10).

一実施形態におけるアプリケーションプログラム50は、複数のプログラムモジュールによって構成され、端末装置30等のコンピュータに、このプログラムモジュールに対応する機能を実現させる。具体的には、アプリケーションプログラム50が端末装置30のCPU31(コンピュータプロセッサ)によって実行されると、このアプリケーションプログラム50を構成する複数のプログラムモジュールに対応する機能が端末装置30によって実現される。図2は、アプリケーションプログラム50を構成する複数のプログラムモジュールの一例を示すブロック図である。一実施形態におけるアプリケーションプログラム50は、図示するように、端末装置30上で実行可能なアプリケーションプログラムを用いたサーバ10へのログインの履歴であって、この端末装置30によってアクセス可能なストレージ35等の記憶領域(所定の記憶領域)に記憶されているログイン履歴を参照し、このログイン履歴に含まれるログインに用いられた他のアプリケーションプログラム50(第2のプログラム)に対してサーバ10へのログインに用いる認証トークン(認証用情報)を要求する認証用情報要求モジュール51と、この他のアプリケーションプログラムから取得した認証トークンを用いてサーバ10に対してログインを要求するログイン要求モジュール52と、サーバ10へのログインに応じてこのサーバ10から認証トークンを取得し、この取得した認証トークンをアプリケーションプログラム50によって管理され端末装置30によってアクセス可能なアプリケーションプログラム50用記憶領域に記憶させる認証用情報記憶モジュール53と、サーバ10へのログインに応じてアプリケーションプログラム50を用いたサーバ10へのログインを上述したログイン履歴に記録するログイン履歴記録モジュール54と、他のアプリケーションプログラム50(第3のプログラム)からの要求に応答し、上述したアプリケーションプログラム50用記憶領域に記憶されている認証トークンをこの他のアプリケーションプログラムに対して提供する認証用情報提供モジュール55と、を含む複数のプログラムモジュールによって構成される。上述したように、一実施形態におけるアプリケーションプログラム50をCPU31に実行させることによって、一実施形態における端末装置30は、アプリケーションプログラム50を構成する各プログラムモジュールの機能に対応する手段又はユニットとして機能し、例えば、サーバ10に対してログインを要求するログイン要求装置として機能する。ここで、上述したプログラムモジュール51−55は、主に、サーバ10に対してログインを要求する機能に関連するプログラムモジュールであり、アプリケーションプログラム50を構成する複数のプログラムモジュールは、プログラムモジュール51−55以外の他の機能に対応するプログラムモジュールを含み得る。例えば、アプリケーションプログラム50は、サーバ10が提供する様々なサービスのうち、このアプリケーションプログラム50を用いて利用するサービスに対応する機能(例えば、特定のゲームをプレイするための機能)に対応する他のプログラムモジュールを含み得る。なお、プログラムモジュール51−55を備えたアドオンソフトウェア(SDK等)をアプリケーションプログラムの開発者に公開することにより、開発者によって提供される様々なアプリケーションプログラムを、一実施形態におけるアプリケーションプログラム50として機能させることができる。   The application program 50 according to the embodiment is configured by a plurality of program modules, and causes a computer such as the terminal device 30 to realize functions corresponding to the program modules. Specifically, when the application program 50 is executed by the CPU 31 (computer processor) of the terminal device 30, functions corresponding to a plurality of program modules constituting the application program 50 are realized by the terminal device 30. FIG. 2 is a block diagram showing an example of a plurality of program modules constituting the application program 50. The application program 50 in one embodiment is a log-in history of the server 10 using an application program that can be executed on the terminal device 30, as shown in the drawing, such as a storage 35 that can be accessed by the terminal device 30. The login history stored in the storage area (predetermined storage area) is referred to, and the other application program 50 (second program) used for login included in the login history is logged into the server 10. To the server 10, an authentication information request module 51 that requests an authentication token (authentication information) to be used, a login request module 52 that requests the server 10 to log in using an authentication token acquired from another application program, This server 1 in response to login Authentication information storage module 53 for storing the acquired authentication token in the storage area for application program 50 managed by application program 50 and accessible by terminal device 30, and in response to login to server 10 In response to a request from the login history recording module 54 that records the login to the server 10 using the application program 50 in the above-described login history and the other application program 50 (third program), the above-described application program 50 And an authentication information providing module 55 that provides an authentication token stored in the storage area to other application programs. As described above, by causing the CPU 31 to execute the application program 50 according to one embodiment, the terminal device 30 according to one embodiment functions as a unit or unit corresponding to the function of each program module constituting the application program 50, For example, it functions as a login request device that requests the server 10 to log in. Here, the above-described program modules 51-55 are mainly program modules related to a function of requesting login to the server 10, and a plurality of program modules constituting the application program 50 are program modules 51-55. Program modules corresponding to functions other than the above may be included. For example, the application program 50 has other functions corresponding to a function (for example, a function for playing a specific game) corresponding to a service used by using the application program 50 among various services provided by the server 10. Program modules can be included. Note that by making add-on software (such as SDK) provided with the program modules 51-55 available to the developer of the application program, various application programs provided by the developer are caused to function as the application program 50 in the embodiment. be able to.

図3は、一実施形態における端末装置30のストレージ35等の記憶領域に記憶されるログイン履歴によって管理される情報の具体例を示す図である。ログイン履歴は、一実施形態では、図示するように、ログインが行われた日時を示すログイン日時と、このログインに用いられたアプリケーションプログラムを特定可能なアプリケーション特定情報(例えば、アプリケーション名又はパッケージ名等)との組合せによって1つのログインに関する情報を構成し、例えば、最新の所定数(例えば、1つ又は5つ等)のログインに関する情報を管理する。ログイン履歴が記憶される記憶領域は、例えば、端末装置30に着脱可能なSDメモリカードに内蔵されるフラッシュメモリ等とすることができる。ここで、ログイン履歴は、ログインに用いる認証トークン等の情報と比較して機密性が高い情報ではないから、暗号化処理がなされていない非セキュアな領域であるSDメモリカード等に記憶することができる。後述するように、このログイン履歴は、一実施形態におけるアプリケーションプログラム50のログイン履歴記録モジュール54の機能によって記録される情報であり、端末装置30にインストールされているアプリケーションプログラム50以外の他のアプリケーションプログラムを用いたログインに関する情報は含まれない。   FIG. 3 is a diagram illustrating a specific example of information managed by a login history stored in a storage area such as the storage 35 of the terminal device 30 according to an embodiment. In one embodiment, the login history includes a login date and time indicating the date and time when the login was performed, and application identification information (for example, an application name or a package name, etc.) that can identify the application program used for the login, as shown in the figure. ), Information related to one login is configured, for example, the latest predetermined number (for example, one or five) of information related to login is managed. The storage area in which the login history is stored can be, for example, a flash memory incorporated in an SD memory card that can be attached to and detached from the terminal device 30. Here, since the login history is not highly confidential information compared to information such as an authentication token used for login, it may be stored in an SD memory card or the like, which is a non-secure area that is not encrypted. it can. As will be described later, this login history is information recorded by the function of the login history recording module 54 of the application program 50 in one embodiment, and other application programs other than the application program 50 installed in the terminal device 30. It does not include information related to login using.

次に、こうして構成された一実施形態におけるアプリケーションプログラム50を実行することによって端末装置30において実現される動作について説明する。図4は、一実施形態における端末装置30によって実行されるログイン処理の一例を示すフロー図である。このログイン処理は、一実施形態におけるアプリケーションプログラム50が起動されたときに実行される。以下、説明の都合上、ログイン処理の実行の契機として起動されたアプリケーションプログラム50をアプリケーションプログラム50−1(第1のプログラム)と呼ぶ。ログイン処理では、まず、図示するように、上述したログイン履歴を参照して最新のログインを特定する(ステップS100)。この処理は、認証用情報要求モジュール51の機能に対応する処理であり、具体的には、ストレージ35等の記憶領域に記憶されているログイン履歴を参照し、このログイン履歴に含まれるログインの中から最新のログイン(ログイン日時が最も新しいログイン)を特定する処理である。   Next, an operation realized in the terminal device 30 by executing the application program 50 according to the embodiment configured as described above will be described. FIG. 4 is a flowchart illustrating an example of a login process executed by the terminal device 30 according to the embodiment. This login process is executed when the application program 50 in one embodiment is started. Hereinafter, for convenience of explanation, the application program 50 started as a trigger for executing the login process is referred to as an application program 50-1 (first program). In the login process, first, as shown in the figure, the latest login is specified with reference to the above-described login history (step S100). This process is a process corresponding to the function of the authentication information request module 51. Specifically, the login history stored in the storage area such as the storage 35 is referred to, and the login history included in this login history. Is the process of identifying the latest login (login with the newest login date and time).

そして、特定した最新のログインに用いられたアプリケーションプログラム50がアンインストールされているか否かを判定し(ステップS105)、アンインストールされている場合には、再度ログイン履歴を参照し、次に新しいログインを特定する。この処理は、認証用情報要求モジュール51の機能に対応する処理であり、具体的には、オペレーティングシステム等によって管理されているインストールされているアプリケーションプログラムに関する情報に基づいて、ステップS100で特定したログインに用いられたアプリケーションプログラムがアンインストールされているか否かを判定する処理である。このように、一実施形態では、ログイン履歴に含まれる複数のログインの中から、ログインに用いられたアプリケーションプログラムがアンインストールされていないログインのうちログイン日時が最も新しいログインを特定する。   Then, it is determined whether or not the application program 50 used for the latest specified login has been uninstalled (step S105). If the application program 50 has been uninstalled, the login history is referred to again, and then a new login is performed. Is identified. This process corresponds to the function of the authentication information request module 51. Specifically, the login specified in step S100 based on information about the installed application program managed by the operating system or the like. This is a process for determining whether or not the application program used in the above is uninstalled. Thus, in one embodiment, a login with the newest login date is specified from among a plurality of logins included in the login history, among logins in which the application program used for login is not uninstalled.

続いて、アプリケーションプログラム50−1の発行者と、特定したログインに用いられたアプリケーションプログラム50の発行者とが対応するか否かを判定し(ステップS110)、対応しない場合には、所定のエラー処理を行って、このログイン処理を終了する。この処理は、認証用情報要求モジュール51の機能に対応する処理であり、具体的には、例えば、アプリケーションプログラム50−1のデジタル署名と、特定したログインに用いられたアプリケーションプログラム50のデジタル署名とを比較し、デジタル署名によって特定される発行者が同一である場合には発行者が対応すると判定し、同一でない場合には発行者が対応しないと判定する処理である。こうしたアプリケーションプログラムのデジタル署名を比較する機能は、端末装置30のオペレーティングシステムに組み込まれ得る。   Subsequently, it is determined whether or not the issuer of the application program 50-1 corresponds to the issuer of the application program 50 used for the specified login (step S110). Processing is performed, and this login processing is terminated. This process is a process corresponding to the function of the authentication information request module 51. Specifically, for example, the digital signature of the application program 50-1 and the digital signature of the application program 50 used for the specified login are used. And when the issuer specified by the digital signature is the same, it is determined that the issuer corresponds, and when the issuer is not the same, the issuer determines that the issuer does not correspond. The function of comparing the digital signatures of such application programs can be incorporated in the operating system of the terminal device 30.

そして、アプリケーションプログラム50−1の発行者と、特定したログインに用いられたアプリケーションプログラム50の発行者とが対応する場合には、このアプリケーションプログラム50に対して認証トークンを要求する(ステップS120)。以下、説明の都合上、認証トークンを要求された(認証トークンの要求先となる)アプリケーションプログラム50をアプリケーションプログラム50−2(第2のプログラム)と呼ぶ。この処理は、認証用情報要求モジュール51の機能に対応する処理である。ここで、認証トークンとは、端末装置30がサーバ10に対してログインしたときに、次回のログインにおいてユーザID及びパスワード等を入力することなくログインできるようにするためにサーバ10から発行される認証用情報である。   When the issuer of the application program 50-1 corresponds to the issuer of the application program 50 used for the specified login, an authentication token is requested from the application program 50 (step S120). Hereinafter, for convenience of explanation, the application program 50 that is requested for the authentication token (to which the authentication token is requested) is referred to as an application program 50-2 (second program). This process corresponds to the function of the authentication information request module 51. Here, the authentication token is an authentication issued from the server 10 so that when the terminal device 30 logs in to the server 10, it is possible to log in without inputting a user ID, a password, etc. at the next login. Information.

認証トークンを要求されたアプリケーションプログラム50−2は、端末装置30のアプリケーションプログラム50−2用記憶領域に記憶されている認証トークンをアプリケーションプログラム50−1に提供する(ステップS125)。この処理は、アプリケーションプログラム50−2の認証用情報提供モジュール55の機能に対応する処理である。ここで、アプリケーションプログラム50−2用記憶領域に記憶されている認証トークンは、アプリケーションプログラム50−2の実行を契機とするログイン処理が実行されたときに、サーバ10に対するログインに応じてサーバ10から取得して記憶されたものである。認証トークンをサーバ10から取得して記憶する動作については後述する。こうしたアプリケーションプログラム50−1及び50−2間の通信は、例えば、オペレーティングシステムが有するアプリケーションプログラム間の通信を制御するプログラム間通信制御機能(例えば、オペレーティングシステム「Android」における「Binder」等)を用いて、バックグラウンドでの処理として実現することができる。こうしたプログラム間通信(プロセス間通信(IPC))に関する処理は、当業者にとって一般的な処理であるから、これ以上の詳細な説明は省略する。   The application program 50-2 requested for the authentication token provides the application program 50-1 with the authentication token stored in the application program 50-2 storage area of the terminal device 30 (step S125). This process corresponds to the function of the authentication information providing module 55 of the application program 50-2. Here, the authentication token stored in the storage area for the application program 50-2 is received from the server 10 in response to the login to the server 10 when a login process triggered by the execution of the application program 50-2 is executed. It is acquired and stored. The operation of acquiring the authentication token from the server 10 and storing it will be described later. Such communication between the application programs 50-1 and 50-2 uses, for example, an inter-program communication control function (for example, “Binder” in the operating system “Android”) for controlling communication between the application programs of the operating system. Thus, it can be realized as a background process. Since the processing related to such inter-program communication (inter-process communication (IPC)) is a general processing for those skilled in the art, further detailed description is omitted.

そして、アプリケーションプログラム50−1がアプリケーションプログラム50−2から認証トークンを取得すると、次に、取得した認証トークンを用いてサーバ10に対してログインを要求する(ステップS130)。この処理は、ログイン要求モジュール52の機能に対応する処理であり、具体的には、取得した認証トークンをサーバ10に対して送信する処理である。認証トークンを受信したサーバ10では、認証トークンの内容に基づいてログインの許否を判定する。例えば、受信した認証トークンの有効期間が切れていたり、又は、この認証トークンが発行された以降にパスワードが変更されている場合には、無効な認証トークンと判断され、ログインを拒否すると判定される。こうした認証トークンを用いたログインの許否の判定(ログイン認証)に関する処理は、当業者にとって一般的な処理であるから、これ以上の詳細な説明は省略する。   Then, when the application program 50-1 acquires the authentication token from the application program 50-2, next, the server 10 is requested to log in using the acquired authentication token (step S130). This process is a process corresponding to the function of the login request module 52, and specifically, a process of transmitting the acquired authentication token to the server 10. The server 10 that has received the authentication token determines whether or not to log in based on the content of the authentication token. For example, if the validity period of the received authentication token has expired or the password has been changed since this authentication token was issued, it is determined that the authentication token is invalid and the login is determined to be rejected. . Since the processing related to the determination of whether or not to permit login (login authentication) using such an authentication token is a general processing for those skilled in the art, further detailed description is omitted.

そして、サーバ10によってログインが許可されると、サーバ10が認証トークンを発行し、端末装置30では、認証トークンをサーバ10から取得すると共に取得した認証トークンをアプリケーションプログラム50−1用記憶領域に記憶する(ステップS140)。この処理は、認証用情報記憶モジュール53の機能に対応する処理である。一実施形態において、アプリケーションプログラム50−1用記憶領域は、ストレージ35内の任意の領域に構成されるアプリケーションプログラム50−1によって管理される領域である。より具体的には、このアプリケーションプログラム50−1用記憶領域に記憶されている情報は、アプリケーションプログラム50−1を介したアクセスのみが許容され、他のアプリケーションプログラム50及び一実施形態におけるアプリケーションプログラム50以外の他のアプリケーションプログラムからのアクセスは許容されない。   When login is permitted by the server 10, the server 10 issues an authentication token, and the terminal device 30 acquires the authentication token from the server 10 and stores the acquired authentication token in the storage area for the application program 50-1. (Step S140). This process corresponds to the function of the authentication information storage module 53. In one embodiment, the storage area for the application program 50-1 is an area managed by the application program 50-1 configured in an arbitrary area in the storage 35. More specifically, the information stored in the storage area for the application program 50-1 can only be accessed via the application program 50-1, and the other application program 50 and the application program 50 in the embodiment are used. Access from other application programs is not permitted.

続いて、ログイン履歴を更新し(ステップS150)、このログイン処理を終了する。この処理は、ログイン履歴記録モジュール54の機能に対応する処理であり、具体的には、アプリケーションプログラム50−1を用いたログインとして、ログイン日時及びアプリケーションプログラム50−1のアプリケーション特定情報(アプリケーション名又はパッケージ名等)をログイン履歴に追加する処理である。なお、一実施形態では、ログイン履歴は、最新の所定数のログインに関する情報を管理するから、新たなログインに関する情報の追加に伴って、最も古いログインに関する情報はログイン履歴から削除される。なお、ログイン処理を終了すると、アプリケーションプログラム50−1に対応するサービスの利用を開始することができる(例えば、対応するサービスを利用するための初期画面が端末装置30に表示される)。   Subsequently, the login history is updated (step S150), and the login process is terminated. This process is a process corresponding to the function of the login history recording module 54. Specifically, as login using the application program 50-1, the login date and time and the application specifying information (application name or application name) of the application program 50-1. Package name etc.) to the login history. In one embodiment, since the login history manages information related to the latest predetermined number of logins, the information related to the oldest login is deleted from the login history as information related to a new login is added. When the login process is terminated, use of the service corresponding to the application program 50-1 can be started (for example, an initial screen for using the corresponding service is displayed on the terminal device 30).

ここで、アプリケーションプログラム50−1の起動を契機とするログイン処理を終了した後に、他のアプリケーションプログラム50(第3のアプリケーションプログラム。以下、説明の都合上、アプリケーションプログラム50−3と呼ぶ)の起動を契機として新たにログイン処理が実行された場合を考える。この場合、ステップS100においてアプリケーションプログラム50−1を用いたログインが最新のログインとして特定され、アプリケーションプログラム50−3からアプリケーションプログラム50−1に対して認証トークンが要求される(ステップS120)。認証トークンを要求されたアプリケーションプログラム50−1は、自身が管理するアプリケーションプログラム50−1用記憶領域に記憶されている認証トークンを要求元であるアプリケーションプログラム50−3に提供する(ステップS125)。このように、一実施形態では、サーバ10に対するログインに応じてログイン履歴が更新され、このログイン履歴に基づいて、最新のログインに用いられたアプリケーションプログラム50から最新の認証トークンを取得し、取得した最新の認証トークンを用いたログインの要求を、繰り返し行うことができる。   Here, after the login process triggered by the activation of the application program 50-1, the other application program 50 (third application program; hereinafter referred to as the application program 50-3 for convenience of explanation) is activated. Consider the case where a new login process is executed at the opportunity. In this case, the login using the application program 50-1 is identified as the latest login in step S100, and an authentication token is requested from the application program 50-3 to the application program 50-1 (step S120). The application program 50-1 requested of the authentication token provides the authentication token stored in the storage area for the application program 50-1 managed by the application program 50-1 to the application program 50-3 that is the request source (step S125). As described above, in one embodiment, the login history is updated in response to the login to the server 10, and the latest authentication token is acquired from the application program 50 used for the latest login based on the login history. Login requests using the latest authentication token can be repeated.

ここで、上述したログイン処理において、アプリケーションプログラム50−1が既に認証トークンを保有している(自身のアプリケーションプログラム50−1用記憶領域に認証トークンが記憶されている)場合には、ステップS100−S125の処理をスキップし、既に保有する認証トークンを用いてサーバ10に対してログインを要求するようにしても良い。また、既に保有する認証トークンを用いてログインを要求した後に、既に保有する認証トークンが無効であることを検出した場合(例えば、認証トークンの有効期間が切れ、又は、パスワードが変更されることによって、認証トークンが無効であることをサーバ10から端末装置30に対して通知された場合等)には、ステップS100−S125の処理を実行し、他のアプリケーションプログラム50から認証トークンを取得するようにしても良い。また、ログイン処理のステップS100−S105において、ログイン履歴に含まれる所定数のログインに用いられたアプリケーションプログラム50の全てがアンインストールされている場合には、認証トークンを用いたログインではない他のログイン(例えば、ユーザID及びパスワードを入力する通常のログイン等)をサーバ10に対して要求するようにしても良い。   Here, in the login process described above, if the application program 50-1 already has an authentication token (the authentication token is stored in its own storage area for the application program 50-1), step S100- The process of S125 may be skipped, and the server 10 may be requested to log in using the authentication token already held. In addition, after requesting login using an already owned authentication token, it is detected that the already owned authentication token is invalid (for example, when the validity period of the authentication token expires or the password is changed) When the server 10 notifies the terminal device 30 that the authentication token is invalid), the processing of steps S100 to S125 is executed, and the authentication token is acquired from the other application program 50. May be. In addition, when all of the application programs 50 used for the predetermined number of logins included in the login history are uninstalled in steps S100 to S105 of the login process, other logins that are not logins using the authentication token. (For example, a normal login for inputting a user ID and a password) may be requested to the server 10.

以上説明した一実施形態におけるアプリケーションプログラム50では、ログイン履歴を参照し、このログイン履歴に含まれるログインに用いられた他のアプリケーションプログラム50(第2のプログラム)に対してサーバ10へのログインに用いる認証トークン(認証用情報)を要求し、この他のアプリケーションプログラム50から取得した認証トークンを用いてサーバ10に対してログインを要求するように、端末装置30を機能させる。従って、ログイン履歴に基づいて他のアプリケーションプログラム50から取得した認証トークンを用いてログインすることができるから、非セキュアな記憶領域に認証トークンを記憶して複数のアプリケーションプログラム間で共有する場合と比較して、セキュリティが確保された仕組みとすることができる。また、機密性が高い情報を管理するための特別な仕組みが必要とならないから、より簡易な仕組みで複数のアプリケーションプログラム間での認証トークンの共有を実現することができる。即ち、ログインに必要な情報をセキュリティを確保しつつ複数のアプリケーションプログラム間で共有するより簡易な仕組みを提供することができる。   In the application program 50 according to the embodiment described above, the login history is referred to, and the other application program 50 (second program) used for login included in the login history is used for logging in to the server 10. The terminal device 30 is caused to function so as to request an authentication token (authentication information) and request the server 10 to log in using the authentication token acquired from the other application program 50. Therefore, since it is possible to log in using an authentication token acquired from another application program 50 based on the login history, it is compared with a case where the authentication token is stored in a non-secure storage area and shared among a plurality of application programs. Thus, it is possible to provide a mechanism in which security is ensured. In addition, since a special mechanism for managing highly confidential information is not necessary, it is possible to share an authentication token among a plurality of application programs with a simpler mechanism. That is, it is possible to provide a simpler mechanism for sharing information necessary for login between a plurality of application programs while ensuring security.

また、一実施形態におけるアプリケーションプログラム50では、認証トークンの要求先であるアプリケーションプログラム50の発行者が、認証トークンの要求元であるアプリケーションプログラム50の発行者に対応しない場合には、認証トークンの要求、又は、認証トークンの提供が中止されるように、端末装置30を機能させるから、より一層セキュリティが確保された仕組みとすることができる。   Further, in the application program 50 according to the embodiment, when the issuer of the application program 50 that is the request destination of the authentication token does not correspond to the issuer of the application program 50 that is the request source of the authentication token, a request for the authentication token is issued. Alternatively, since the terminal device 30 is caused to function so that the provision of the authentication token is stopped, it is possible to provide a mechanism in which further security is ensured.

また、一実施形態におけるアプリケーションプログラム50では、サーバ10から取得した認証トークンをアプリケーションプログラム50によって管理されるアプリケーションプログラム50用記憶領域に記憶させるように、端末装置30を機能させるから、より一層セキュリティが確保された仕組みとすることができる。   Further, in the application program 50 according to the embodiment, since the terminal device 30 functions so as to store the authentication token acquired from the server 10 in the storage area for the application program 50 managed by the application program 50, security is further improved. It can be a secured mechanism.

また、一実施形態におけるアプリケーションプログラム50では、ログイン履歴に含まれる複数のログインの中からログインに用いられたアプリケーションプログラム50がアンインストールされていないログインのうちログイン日時が最も新しいログインを特定し(即ち、ログイン日時が新しいほど優先される傾向でログインを特定し)、この特定したログインに用いられたアプリケーションプログラム50を認証トークンの要求先とするから、取得した認証トークンが、有効期間が切れていたり、又は、パスワード変更等によって、無効な認証トークンである可能性を低減することができる。   Further, in the application program 50 according to the embodiment, the login with the newest login date is specified among the logins in which the application program 50 used for login is not uninstalled from among the plurality of logins included in the login history (that is, The login date is specified so that the newer the login date, the higher the priority, and the application program 50 used for the specified login is the request destination of the authentication token. Therefore, the acquired authentication token has expired. Alternatively, the possibility of an invalid authentication token can be reduced by changing a password or the like.

本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。   The processes and procedures described in this specification are implemented by software, hardware, or any combination thereof other than those explicitly described in the embodiments. More specifically, the processes and procedures described in this specification are performed by mounting logic corresponding to the processes on a medium such as an integrated circuit, a volatile memory, a nonvolatile memory, a magnetic disk, or an optical storage. Realized. Further, the processes and procedures described in this specification can be implemented as a computer program and executed by various computers.

本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。   Even if the processes and procedures described herein are described as being performed by a single device, software, component, or module, such processes or procedures may be performed by multiple devices, multiple software, multiple Component and / or multiple modules. In addition, even though the data, tables, or databases described herein are described as being stored in a single memory, such data, tables, or databases are provided on a single device. Alternatively, the data can be distributed and stored in a plurality of memories or a plurality of memories arranged in a plurality of devices. Further, the software and hardware elements described herein may be implemented by integrating them into fewer components or by decomposing them into more components.

本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。   In the present specification, when the constituent elements of the invention are described as one or a plurality, or when they are described without being limited to one or a plurality of cases, they should be understood separately in context. The component may be either singular or plural.

1 システム
10 サーバ
20 通信網
30 端末装置
51 認証用情報要求モジュール
52 ログイン要求モジュール
53 認証用情報記憶モジュール
54 ログイン履歴記録モジュール
55 認証用情報提供モジュール
1 System 10 Server 20 Communication Network 30 Terminal Device 51 Authentication Information Request Module 52 Login Request Module 53 Authentication Information Storage Module 54 Login History Recording Module 55 Authentication Information Provision Module

Claims (6)

所定のサーバへログイン可能な複数のアプリケーションプログラムを実行可能な情報処理装置であって、An information processing apparatus capable of executing a plurality of application programs that can log in to a predetermined server,
前記複数のアプリケーションプログラムの中の1のアプリケーションプログラムを起動する起動部と、An activation unit that activates one of the plurality of application programs;
前記複数のアプリケーションプログラムの前記所定のサーバへのログイン情報をログイン履歴として所定数記憶するログイン履歴部と、A login history unit for storing a predetermined number of login information to the predetermined server of the plurality of application programs as a login history;
前記ログイン履歴に含まれる他のアプリケーションプログラムに対応する記憶領域から前記所定のサーバへのログインの認証用情報を取得する第1の取得部と、A first acquisition unit that acquires authentication information for login to the predetermined server from a storage area corresponding to another application program included in the login history;
取得したログインの認証用情報を用いて前記所定のサーバにログインを要求するログイン要求部と、A login request unit that requests login to the predetermined server using the acquired login authentication information;
要求したログインが該所定のサーバに許可された場合に前記所定のサーバにより発行される認証用情報を取得する第2の取得部と、A second acquisition unit that acquires authentication information issued by the predetermined server when the requested login is permitted by the predetermined server;
発行された認証用情報を前記1のアプリケーションプログラムに対応する記憶領域に記憶する記憶部と、を備え、A storage unit that stores the issued authentication information in a storage area corresponding to the one application program;
前記ログイン履歴部は、新たにログインした前記1のアプリケーションプログラムのログイン情報を追加し、最も古いログイン情報を削除する、情報処理装置。The information processing apparatus, wherein the login history unit adds login information of the first application program newly logged in and deletes the oldest login information.
前記第1の取得部は、前記ログイン履歴に含まれる各ログイン情報の中からログイン日時が新しいほど優先される傾向で1のログイン情報を特定し、当該特定された1のログイン情報に用いられたアプリケーションプログラムに対して前記認証用情報を要求する請求項1記載の情報処理装置。The first acquisition unit identifies one login information in a tendency that priority is given to the newer login date from among the login information included in the login history, and the first acquisition unit is used for the specified one login information. The information processing apparatus according to claim 1, wherein the information for authentication is requested from an application program. 前記第1の取得部は、前記ログイン履歴に含まれるログイン情報の中からログインに用いられたアプリケーションプログラムが前記コンピュータからアンインストールされていないログインのうちログイン日時が最も新しいログイン情報を前記1のログイン情報として特定する請求項2記載の情報処理装置。The first acquisition unit obtains login information having the latest login date and time among logins in which an application program used for login is not uninstalled from the computer among login information included in the login history. The information processing apparatus according to claim 2 specified as information. 前記他のアプリケーションプログラムのそれぞれに対応する記憶領域は、対応するアプリケーションプログラムを介したアクセスのみが許容される記憶領域である請求項1から請求項3のいずれかに記載の情報処理装置。The information processing apparatus according to any one of claims 1 to 3, wherein the storage area corresponding to each of the other application programs is a storage area in which only access via the corresponding application program is allowed. 情報処理装置で実行可能な複数のアプリケーションプログラムが所定のサーバに対してログインを要求する方法であって、A method in which a plurality of application programs that can be executed by the information processing apparatus requests login to a predetermined server,
前記複数のアプリケーションプログラムの中の1のアプリケーションプログラムを起動するステップと、Starting one application program of the plurality of application programs;
前記複数のアプリケーションプログラムの前記所定のサーバへのログイン情報で構成されるログイン履歴に含まれる他のアプリケーションプログラムに対応する記憶領域から前記所定のサーバへのログインの認証用情報を取得するステップと、Obtaining authentication information for login to the predetermined server from a storage area corresponding to another application program included in a login history constituted by login information to the predetermined server of the plurality of application programs;
取得したログインの認証用情報を用いて前記所定のサーバにログインを要求するステップと、Requesting login to the predetermined server using the acquired login authentication information;
要求したログインが該所定のサーバに許可された場合に前記所定のサーバにより発行される認証用情報を取得するステップと、Obtaining authentication information issued by the predetermined server when the requested login is permitted by the predetermined server;
発行された認証用情報を前記1のアプリケーションプログラムに対応する記憶領域に記憶するステップと、Storing the issued authentication information in a storage area corresponding to the one application program;
前記1のアプリケーションプログラムのログイン情報を前記ログイン履歴に追加し、最も古いログイン情報を前記ログイン履歴から削除するステップと、を備える、Adding login information of the first application program to the login history, and deleting the oldest login information from the login history.
方法。Method.
情報処理装置で実行可能な複数のアプリケーションプログラムが所定のサーバに対してログインを要求するためのプログラムであって、A plurality of application programs that can be executed by the information processing apparatus are programs for requesting login to a predetermined server,
前記情報処理装置で実行されることに応じて、前記情報処理装置に、In response to being executed by the information processing apparatus, the information processing apparatus
前記複数のアプリケーションプログラムの中の1のアプリケーションプログラムを起動するステップと、Starting one application program of the plurality of application programs;
前記複数のアプリケーションプログラムの前記所定のサーバへのログイン情報で構成されるログイン履歴に含まれる他のアプリケーションプログラムに対応する記憶領域から前記所定のサーバへのログインの認証用情報を取得するステップと、Obtaining authentication information for login to the predetermined server from a storage area corresponding to another application program included in a login history constituted by login information to the predetermined server of the plurality of application programs;
取得したログインの認証用情報を用いて前記所定のサーバにログインを要求するステップと、Requesting login to the predetermined server using the acquired login authentication information;
要求したログインが該所定のサーバに許可された場合に前記所定のサーバにより発行される認証用情報を取得するステップと、Obtaining authentication information issued by the predetermined server when the requested login is permitted by the predetermined server;
発行された認証用情報を前記1のアプリケーションプログラムに対応する記憶領域に記憶するステップと、Storing the issued authentication information in a storage area corresponding to the one application program;
前記1のアプリケーションプログラムのログイン情報を前記ログイン履歴に追加し、最も古いログイン情報を前記ログイン履歴から削除するステップと、を実行させる、Adding login information of the one application program to the login history, and deleting the oldest login information from the login history,
プログラム。program.
JP2014096001A 2014-05-07 2014-05-07 Login request apparatus and method for requesting login to predetermined server, and program used therefor Active JP6257085B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014096001A JP6257085B2 (en) 2014-05-07 2014-05-07 Login request apparatus and method for requesting login to predetermined server, and program used therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014096001A JP6257085B2 (en) 2014-05-07 2014-05-07 Login request apparatus and method for requesting login to predetermined server, and program used therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013263744A Division JP5543010B1 (en) 2013-12-20 2013-12-20 Login request apparatus and method for requesting login to predetermined server, and program used therefor

Publications (3)

Publication Number Publication Date
JP2015122049A JP2015122049A (en) 2015-07-02
JP2015122049A5 JP2015122049A5 (en) 2017-03-30
JP6257085B2 true JP6257085B2 (en) 2018-01-10

Family

ID=53533580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014096001A Active JP6257085B2 (en) 2014-05-07 2014-05-07 Login request apparatus and method for requesting login to predetermined server, and program used therefor

Country Status (1)

Country Link
JP (1) JP6257085B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3928370B2 (en) * 2001-05-09 2007-06-13 ソニー株式会社 Previous login information providing server device, previous login information providing method, previous login information providing program, previous login information display program, and storage medium
JP2003316743A (en) * 2002-04-24 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Network access method and client
JP4527561B2 (en) * 2005-02-08 2010-08-18 株式会社野村総合研究所 Asset management method, asset management system, and asset management program
US8458775B2 (en) * 2006-08-11 2013-06-04 Microsoft Corporation Multiuser web service sign-in client side components
JP5219770B2 (en) * 2008-12-12 2013-06-26 キヤノンソフトウェア株式会社 Information processing apparatus, session management method, program, and recording medium
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
JP5804904B2 (en) * 2011-11-17 2015-11-04 アルパイン株式会社 Electronic equipment

Also Published As

Publication number Publication date
JP2015122049A (en) 2015-07-02

Similar Documents

Publication Publication Date Title
JP6563134B2 (en) Certificate renewal and deployment
US9485146B1 (en) Providing services using a device capabilities service
US9451039B1 (en) Push notifications for web applications and browser extensions
JP2019012529A (en) Document management and collaboration system
CN108140098B (en) Establishing trust between containers
US10880287B2 (en) Out of box experience application API integration
JP2017531846A (en) How to manage application execution within a containerized workspace environment by changing the life cycle of an Android application
KR20150064063A (en) Secure identification of computing device and secure identification methods
US11063922B2 (en) Virtual content repository
US20170134381A1 (en) Dashboard as remote computing services
JP5543010B1 (en) Login request apparatus and method for requesting login to predetermined server, and program used therefor
KR101977428B1 (en) Content handling for applications
EP2854090A1 (en) Server, system and method for providing service using application
JP5838248B1 (en) System and method for providing a predetermined service to a user
JP5838250B1 (en) System and method for providing a predetermined service to a user
US9275209B2 (en) Information processing device, control method therefor, program, and information storage medium
JP6257085B2 (en) Login request apparatus and method for requesting login to predetermined server, and program used therefor
JP6322976B2 (en) Information processing apparatus and user authentication method
JP5522735B2 (en) Session management apparatus, session management system, session management method, and program
JP2016081537A (en) System and method for providing user with prescribed service
US8214499B2 (en) System and method for enabling software applications as a service in a non-intrusive manner
Heinl et al. Android security
US11366652B1 (en) Extending game functionality through dynamic resource allocation
Heinl Android security: Creation of a virtual learning environment
JP2016072989A (en) System and method for providing user with prescribed service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171204

R150 Certificate of patent or registration of utility model

Ref document number: 6257085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250