JP5838248B1 - ユーザに所定のサービスを提供するシステム及び方法 - Google Patents

ユーザに所定のサービスを提供するシステム及び方法 Download PDF

Info

Publication number
JP5838248B1
JP5838248B1 JP2014193325A JP2014193325A JP5838248B1 JP 5838248 B1 JP5838248 B1 JP 5838248B1 JP 2014193325 A JP2014193325 A JP 2014193325A JP 2014193325 A JP2014193325 A JP 2014193325A JP 5838248 B1 JP5838248 B1 JP 5838248B1
Authority
JP
Japan
Prior art keywords
server
key information
request
predetermined
user
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
JP2014193325A
Other languages
English (en)
Other versions
JP2016066845A (ja
Inventor
一穂 奥
一穂 奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2014193325A priority Critical patent/JP5838248B1/ja
Priority to US14/851,997 priority patent/US9573060B2/en
Application granted granted Critical
Publication of JP5838248B1 publication Critical patent/JP5838248B1/ja
Publication of JP2016066845A publication Critical patent/JP2016066845A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

【課題】 ゲームデータ自体をチェックすることなしに、改変されたソフトウェア等を用いた不正な通信を抑制する。【解決手段】 一実施形態に係るシステムは、ログインユーザに対するオンラインゲームの提供をサーバと端末装置との間のHTTP通信によって実現し、このHTTP通信は、端末装置がHTTPリクエストと端末側の鍵情報とに基づいて生成した署名情報が付加されたHTTPリクエストを送信し、サーバがHTTPリクエスト及びサーバ側のログインユーザの鍵情報に基づいて生成した署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストの正当性を確認し、サーバがHTTPリクエストとサーバ側の鍵情報とに基づいてこの鍵情報を更新し、サーバがHTTPレスポンスを送信し、端末装置がHTTPリクエストと端末側の鍵情報とに基づいてこの鍵情報を更新することを含む。【選択図】 図4

Description

本発明は、ユーザに所定のサービスを提供するシステム及び方法に関し、詳しくは、サーバと、当該サーバと通信可能に接続されるクライアント端末と、を備え、当該クライアント端末上で実行される所定のプログラムを介してユーザに所定のサービスを提供するシステム、及びこうした方法に関する。
従来より、オンラインゲーム等のインターネットサービスを提供するシステムにおいて、改変されたクライアントソフトウェア(以下、「チート用クライアント」と言うことがある。)を用いた不正行為が問題となっている。例えば、オンラインゲームを提供するシステムにおいて、不正行為を目的とするユーザが、ゲームで用いられるアイテム又はキャラクタ等に関するデータをユーザにとって過剰に有利となるように変更するチート用クライアントを作成し、このチート用クライアントを用いて不正にゲームを進行させる行為が問題となっている。また、こうした不正行為を目的とするユーザは、典型的には、例えば、このユーザが保有する正規のユーザIDを用いてチート用クライアントを介してアイテム又はキャラクタ等に関するデータを変更し、その後、同一のユーザIDを用いて通常のクライアントソフトウェアを介してゲームをプレイする。こうした不正行為を防止するために、例えば、オンラインゲームで使用されるゲームデータをチェックすることにより、正規の範囲外の数値を含むデータ、又は、禁止文字列を含むデータ等の不正データを検出するゲームプログラムが提案されている(例えば、特許文献1参照)。
特開2014−061422号公報
しかしながら、上述した不正データを検出する手法では、オンラインゲームで使用されるゲームデータ自体を適宜チェックする必要があるから、ゲームプログラムの実行に過大な負荷が生じ、オンラインゲームのパフォーマンスを悪化させてしまう恐れがある。従って、ゲームデータ自体をチェックすることなしに、改変されたソフトウェアを用いた不正な通信を抑制することが望まれる。
本発明の実施形態は、ゲームデータ自体をチェックすることなしに、改変されたソフトウェア等を用いた不正な通信を抑制することを目的の一つとする。本発明の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係るシステムは、サーバと、当該サーバと通信可能に接続されるクライアント端末と、を備え、当該クライアント端末上で実行される所定のプログラムを介してユーザに所定のサービスを提供するシステムであって、前記システムは、前記所定のプログラムを介して前記サーバにログインしたログインユーザに対する前記所定のサービスの提供を、前記サーバと前記クライアント端末との間の所定の通信によって実現し、前記クライアント端末は、前記所定のプログラムの専用領域に鍵情報を記憶する端末側記憶装置を有し、前記サーバは、ユーザ毎の前記鍵情報を記憶するサーバ側記憶装置を有し、前記所定の通信は、前記クライアント端末が、前記サーバに送信するリクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、当該生成した署名情報を付加した前記リクエストを前記サーバに対して送信するステップと、前記サーバが、前記クライアント端末からの前記リクエストに応答し、当該リクエストと前記サーバ用記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて前記所定の生成ルールに従って署名情報を生成し、当該生成した署名情報と前記リクエストに付加された前記署名情報との比較に基づいて当該リクエストの正当性を確認するステップと、前記サーバが、前記リクエストと前記サーバ側記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて所定の更新ルールに従って当該ログインユーザの前記鍵情報を更新するステップと、前記サーバが、前記リクエストに対するレスポンスを前記クライアント端末に対して送信するステップと、前記クライアント端末が、前記リクエストに対する前記サーバからの前記レスポンスに応答し、当該リクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて前記所定の更新ルールに従って当該鍵情報を更新するステップと、を含む。
本発明の一実施形態に係る方法は、サーバと通信可能に接続されるクライアント端末上で実行される所定のプログラムを介してユーザに所定のサービスを提供する方法であって、前記方法は、前記所定のプログラムを介して前記サーバにログインしたログインユーザに対する前記所定のサービスの提供を、前記サーバと前記クライアント端末との間の所定の通信によって実現し、前記クライアント端末は、前記所定のプログラムの専用領域に鍵情報を記憶する端末側記憶装置を有し、前記サーバは、ユーザ毎の前記鍵情報を記憶するサーバ側記憶装置を有し、前記所定の通信は、前記クライアント端末が、リクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、当該生成した署名情報を付加した前記リクエストを前記サーバに対して送信するステップと、前記サーバが、前記クライアント端末からの前記リクエストに応答し、当該リクエストと前記サーバ用記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて前記所定の生成ルールに従って署名情報を生成し、当該生成した署名情報と前記リクエストに付加された前記署名情報との比較に基づいて当該リクエストの正当性を確認するステップと、前記サーバが、前記リクエストと前記サーバ側記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて所定の更新ルールに従って当該ログインユーザの前記鍵情報を更新するステップと、前記サーバが、前記リクエストに対するレスポンスを前記クライアント端末に対して送信するステップと、前記クライアント端末が、前記リクエストに対する前記サーバからの前記レスポンスに応答し、当該リクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて前記所定の更新ルールに従って当該鍵情報を更新するステップと、を含む。
本発明の様々な実施形態によって、ゲームデータ自体をチェックすることなしに、改変されたソフトウェア等を用いた不正行為を抑制することができる。
本発明の一実施形態に係るシステム1の構成を概略的に示すブロック図。 一実施形態におけるシステム1の機能を概略的に示すブロック図。 一実施形態におけるユーザ毎鍵情報管理テーブルにおいて管理される情報の一例を示す図。 一実施形態における端末装置30とサーバ10との間の通信の様子の一例を示すシーケンス図。 一実施形態における端末装置30とサーバ10との間の通信の様子の具体例を示すシーケンス図。 一実施形態における端末装置30とサーバ10との間の通信の様子の具体例を示すシーケンス図。
図1は、本発明の一実施形態に係るシステム1の構成を概略的に示す構成図である。一実施形態に係るシステム1は、図示するように、サーバ10と、このサーバ10とインターネット等の通信網20を介して通信可能に接続された複数の端末装置(クライアント端末)30とを備える。一実施形態におけるシステム1は、オンラインゲーム、電子書籍、動画コンテンツ、及び音楽コンテンツ等の様々なデジタルコンテンツの提供サービス、テキストチャット(ミニメール)、サークル、アバター、日記、伝言板、及び挨拶等の様々なユーザ間のコミュニケーション機能を実現するコミュニケーションプラットフォーム(SNSプラットフォーム)サービス、並びに電子商取引サービス等の様々なインターネットサービスを、端末装置30のユーザに対して提供する。
サーバ10は、一般的なコンピュータとして構成されており、図1に示すとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ15と、ディスクドライブ16とを含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15からオペレーティングシステムやその他の様々なプログラムをメインメモリ12にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。なお、一実施形態におけるサーバ10は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。
ストレージ15は、例えば磁気ディスクドライブで構成され、各種サービスの提供を制御するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、各種サービスの提供において用いられる各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。ディスクドライブ16は、CD−ROM、DVD−ROM、DVD−R等の各種の記憶メディアに格納されたデータを読み込み、又は、これらの記憶メディアにデータを書き込む。
一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して上述した様々なインターネットサービスを端末装置30に対して提供し得る。ストレージ15には、このウェブページに対応するHTMLデータも記憶され得る。HTMLデータは、様々な画像データが関連付けられ、又、JavaScript(登録商標)等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。
また、一実施形態において、サーバ10は、端末装置30においてウェブブラウザ以外の実行環境上で実行されるアプリケーションを介して上述した様々なインターネットサービスを端末装置30に対して提供し得る。ストレージ15には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Objective−CやJava(登録商標)等のプログラミング言語を用いて作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信される。なお、端末装置30は、こうしたアプリケーションを、サーバ10以外の他のサーバ(アプリマーケットを提供するサーバ)等からダウンロードすることもできる。
このように、サーバ10は、各種サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末装置30からの要求に応答して配信することにより、端末装置30のユーザに対して各種サービスを提供することができる。また、上述したように、サーバ10は、このようなウェブページ(ウェブブラウザ)を用いたサービスの提供とは代替的に、又は、これに加えて、端末装置30において実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。いずれの態様でサービスを提供するにしても、サーバ10は、各種サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末装置30との間で送受信することができる。また、サーバ10は、各ユーザを識別する識別情報(例えば、ユーザID)毎にサービスの提供に必要な各種データを記憶することによって、ユーザ毎にサービスの提供状況(例えば、ゲームの進行状況等)を管理することができる。詳細な説明は省略するが、サーバ10は、サービスの提供の開始時におけるユーザの認証処理(ログイン処理)やサービスの提供に応じて発生する課金処理等を行う機能を有することもできる。
一実施形態における端末装置30は、サーバ10が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、パーソナルコンピュータ、スマートフォン、携帯電話、タブレット端末、ウェアラブルデバイス、及びゲーム専用端末等が含まれ得る。
端末装置30は、一般的なコンピュータとして構成されており、図1に示すとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ35と、を含み、これらの各構成要素がバス36を介して互いに電気的に接続されている。
CPU31は、ストレージ35からオペレーティングシステムやその他の様々なプログラムをメインメモリ32にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。
ユーザI/F33は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、CPU31の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。また、通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。
ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ35は、サーバ10等から受信した様々なアプリケーションが記憶され得る。
端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30のウェブブラウザには、HTMLデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。
端末装置30のユーザがサーバ10によって提供される各種サービスを受ける際には、例えば、HTMLデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置30に画面表示される。ユーザは、端末装置30のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のウェブブラウザやNgCore(商標)等のアプリケーション実行環境の機能を介してサーバ10に伝達される。
次に、一実施形態におけるシステム1が有する機能について説明する。図2は、一実施形態におけるシステム1が有する機能を示すブロック図である。一実施形態におけるシステム1は、上述した様々なインターネットサービスをユーザに提供し得るが、ここでは、特定のオンラインゲームの提供サービスに関連する機能を中心に説明する。一実施形態におけるシステム1が備えるサーバ10は、図示するように、様々な情報を記憶する情報記憶部41と、特定のオンラインゲームの進行を制御するゲーム進行制御部42と、端末装置30からのHTTPリクエストに応答し、このHTTPリクエストと情報記憶部41に記憶されているログインユーザの鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、この生成した署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストの正当性を確認する正当性確認部43と、HTTPリクエストと情報記憶部41に記憶されているログインユーザの鍵情報とに基づいて所定の更新ルールに従ってログインユーザの鍵情報を更新する鍵情報更新部44と、HTTPリクエストに対するHTTPレスポンスを端末装置30に対して送信するレスポンス送信部45と、を有する。これらの機能は、CPU11やメインメモリ12、ストレージ15に記憶されている各種プログラムやテーブルなどが協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU11が実行することによって実現される。
一実施形態におけるサーバ10の情報記憶部41は、ストレージ15等によって構成され、ユーザ毎の鍵情報を管理するユーザ毎鍵情報管理テーブル41aを有する。図3は、一実施形態におけるユーザ毎鍵情報管理テーブル41aにおいて管理される情報の一例を示す。ユーザ毎鍵情報管理テーブル41aは、図示するように、個別のユーザを識別する「ユーザID」に対応付けて、このユーザに対応する「現在の鍵情報」(第1の鍵情報)、このユーザに対応する「前回の鍵情報」(第2の鍵情報)、等の情報を管理する。ここで「前回の鍵情報」は、「現在の鍵情報」に更新される前の鍵情報である。即ち、一実施形態におけるサーバ10は、ユーザ毎の鍵情報を二世代管理する。また、鍵情報は、初期値として予め定められた既定値が設定され、その後、特定のオンラインゲームをユーザに提供するときのサーバ10と端末装置30との間の通信の実行に従って更新される。鍵情報が更新される動作の詳細は後述する。
一実施形態における端末装置30は、図2に示すように、様々な情報を記憶する情報記憶部51と、特定のオンラインゲームの進行を制御するゲーム進行制御部52と、サーバ10に送信するHTTPリクエストと情報記憶部51に記憶されている鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、この生成した署名情報を付加したHTTPリクエストをサーバ10に対して送信するリクエスト送信部53と、HTTPリクエストに対するサーバ10からのHTTPレスポンスに応答し、このHTTPリクエストと情報記憶部51に記憶されている鍵情報とに基づいてこの鍵情報を更新する鍵情報更新部54と、を有する。これらの機能は、CPU31やメインメモリ32、ストレージ35に記憶されている各種プログラムやテーブルなどが協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU31が実行することによって実現される。
一実施形態における端末装置30の情報記憶部51は、ストレージ35等によって構成され、ゲームアプリケーション(所定のプログラム)51aが記憶(インストール)されている。このゲームアプリケーション51aは、端末装置30のユーザが特定のオンラインゲームをプレイするためのアプリケーションであり、ユーザによる指示に応じてサーバ10又はアプリマーケット等からダウンロードされ得る。このゲームアプリケーション51aは、端末装置30上で実行されることに応じて、上述した各機能(具体的には、ゲーム進行制御部52、リクエスト送信部53、鍵情報更新部54に対応する機能)を端末装置30に実現させる。
また、一実施形態における情報記憶部51は、鍵情報を格納する鍵情報格納領域51bを有する。一実施形態において、この鍵情報格納領域51bは、上述したゲームアプリケーション51aの専用領域として構成されている。具体的には、鍵情報格納領域51bは、ゲームアプリケーション51aによって管理され、ゲームアプリケーション51a以外の他のプログラムによるアクセスが制限されている。例えば、鍵情報格納領域51bに記憶されている情報は、ゲームアプリケーション51aを介したアクセスのみが許容され、他のアプリケーションからのアクセスは許容されない。また、一実施形態において、鍵情報格納領域51bは、EEPROM又はフラッシュメモリ等によって実現される不揮発性の領域として構成され、端末装置30の再起動等が行われても、記憶されている情報は維持される。
ここで、鍵情報格納領域51bに格納される鍵情報は、一実施形態において、例えば、ゲームアプリケーション51aのインストール時、又は、ゲームアプリケーション51aを介してプレイする特定のオンラインゲームに対するユーザ登録時等に設定され、初期値として予め定められた既定値が設定され、その後、オンラインゲームをユーザに提供するときのサーバ10と端末装置30との間の通信の実行に従って更新される。鍵情報が更新される動作の詳細は後述する。また、鍵情報格納領域51bに格納される鍵情報の初期値は、サーバ10のユーザ毎鍵情報管理テーブル41aにおいて管理される鍵情報の初期値と同一の値が設定される。
次に、こうして構成された一実施形態におけるシステム1の動作について説明する。一実施形態におけるシステム1は、上述したように、端末装置30上で実行されるゲームアプリケーション51aを介してサーバ10にログインしたログインユーザにオンラインゲームを提供し、このオンラインゲームの提供は、サーバ10と端末装置30との間の通信(所定の通信)によって実現される。具体的には、一実施形態において、サーバ10のゲーム進行制御部42と端末装置30のゲーム進行制御部52とが協働し、オンラインゲームの進行のために必要な様々なデータがサーバ10と端末装置30との間で送受信され、例えば、サーバ10のゲーム進行制御部42の機能によってオンラインゲームの進行に応じた画面データ(例えば、HTMLデータ又はその他の制御データ等)が端末装置30に送信され、端末装置30のゲーム進行制御部52の機能によって受信した画面データに基づく画面表示が行われる。こうしたデータの送受信は、一実施形態では、HTTPに従うHTTP通信によって実現される。
図4は、システム1がログインユーザにオンラインゲームを提供する間に、端末装置30とサーバ10との間で実行される通信の様子を示すシーケンス図である。端末装置30とサーバ10との間の通信は、まず、図4に示すように、端末装置30が、サーバ10に送信するHTTPリクエストを生成する(ステップS100)。このステップは、端末装置30のリクエスト送信部53の機能に対応する。HTTPリクエストは、例えば、リクエストライン(例えば、メソッド、リクエストURI、及びプロトコルバージョンから成る)、ヘッダ、及びボディから成る。
次に、端末装置30が、生成したHTTPリクエストと鍵情報格納領域51bに格納されている鍵情報とに基づいて署名情報を生成する(ステップS110)。このステップは、端末装置30のリクエスト送信部53の機能に対応する。署名情報は、例えば、HMAC方式に従うルールに従って生成され、より具体的には、ステップS100において生成されたHTTPリクエスト及び鍵情報に、予め定められたハッシュ関数を適用することによって生成される。
そして、端末装置30が、生成された署名情報を付加したHTTPリクエストをサーバ10に対して送信する(ステップS120)。このステップは、端末装置30のリクエスト送信部53の機能に対応する。
次に、サーバ10が、端末装置30からのHTTPリクエストに応答し、このHTTPリクエストとユーザ毎鍵情報管理テーブル41aに記憶されているログインユーザの鍵情報とに基づいて署名情報を生成する(ステップS130)。このステップは、サーバ10の正当性確認部43の機能に対応する。署名情報は、ステップS110において端末装置30が署名情報を生成するときの生成ルールと同じルールに従って生成され、例えば、HMAC方式に従って、HTTPリクエスト及び鍵情報に、予め定められたハッシュ関数(端末装置30が署名情報を生成するときに用いるハッシュ関数と同一のハッシュ関数)を適用することによって生成される。ここで、ログインユーザの鍵情報は、端末装置30のユーザが、ゲームアプリケーション51aを介してサーバ10にログインしたときに用いた「ユーザID」に対応する鍵情報である。
そして、サーバ10が、生成した署名情報と、端末装置30からのHTTPリクエストに付加された署名情報との比較に基づいて、このHTTPリクエストの正当性を確認する(ステップS140)。このステップは、サーバ10の正当性確認部43の機能に対応する。具体的には、生成した署名情報とHTTPリクエストに付加された署名情報とが一致する場合には、このHTTPリクエストが正当であると確認され、生成した署名情報とHTTPリクエストに付加された署名情報とが一致しない(異なる)場合には、このHTTPリクエストが正当であると確認されない(不正なHTTPリクエストであると判断される)。
ここで、上述したように、ユーザ毎鍵情報管理テーブル41aには、ユーザ毎の鍵情報として、現在の鍵情報に加え、前回の鍵情報が管理されており、ステップS130−S140における署名情報の生成及び署名情報の比較に基づくHTTPリクエストの正当性の確認は、現在の鍵情報に加え、前回の鍵情報に基づいて行われ得る。例えば、ログインユーザの現在の鍵情報に基づいて生成された署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストが正当であると確認されない場合には、ログインユーザの前回の鍵情報に基づいて生成された署名情報とHTTPリクエストに付加された署名情報との比較に基づくHTTPリクエストの正当性の確認が実行される。
また、一実施形態において、HTTPリクエストが正当であると確認されない場合(具体的には、生成した署名情報とHTTPリクエストに付加された署名情報とが一致しない場合)に、サーバ10が、様々な処理を実行するように構成され得る。例えば、HTTPリクエストが正当であると確認されない場合に、サーバ10が、端末装置30との間の通信を中断する処理を実行したり、端末装置30(ゲームアプリケーション51a)に対してエラーメッセージを送信する処理を実行し得る。また、HTTPリクエストが正当であると確認されないことを、ログインユーザを特定可能な情報(例えば、ユーザID)と共に情報記憶部41(ストレージ15等)に記録する処理を実行し得る。この場合、HTTPリクエストが正当であると確認されないことを記録する一方で、端末装置30との間の通信及びオンラインゲームの提供自体を継続するようにしても良い。
サーバ10がHTTPリクエストの正当性を確認すると、次に、サーバ10が、HTTPリクエストとユーザ毎鍵情報管理テーブル41aに記憶されているログインユーザの鍵情報とに基づいて所定の更新ルールに従ってこのログインユーザの鍵情報を更新する(ステップS150)。このステップは、サーバ10の鍵情報更新部44の機能に対応する。一実施形態では、鍵情報を更新するための更新ルールは、署名情報を生成するための上述した生成ルールと同一のルールとなっている。具体的には、一実施形態における鍵情報の更新ルールは、例えば、上述したHMAC方式に従って、HTTPリクエスト及び鍵情報にハッシュ関数を適用することによって生成される値を新たな鍵情報とするというルールである。従って、言い換えると、一実施形態における鍵情報の更新ルールは、上述した生成ルールに従って生成された署名情報が新たな鍵情報となるように鍵情報を更新するというルールである。また、上述したように、ユーザ毎鍵情報管理テーブル41aは、現在の鍵情報に加え、前回の鍵情報を管理するから、ステップS150においては、「現在の鍵情報」が「前回の鍵情報」に設定されると共に上述した新たな鍵情報が「現在の鍵情報」に設定される。
次に、サーバ10が、HTTPリクエストに対するHTTPレスポンスを生成して端末装置30に対して送信する(ステップS160)。このステップは、サーバ10のレスポンス送信部45の機能に対応する。HTTPレスポンスは、例えば、ステータスライン(例えば、プロトコルバージョン、ステータスコード、及びテキストフレーズから成る)、ヘッダ、及びボディから成る。
そして、端末装置30が、HTTPリクエストに対するサーバ10からのHTTPレスポンスに応答し、このHTTPリクエスト(HTTPレスポンスの元となるHTTPリクエスト)と鍵情報格納領域51bに格納されている鍵情報とに基づいて所定の更新ルールに従ってこの鍵情報を更新する(ステップS170)。このステップは、端末装置30の鍵情報更新部54の機能に対応する。鍵情報は、ステップS150においてサーバ10が鍵情報を更新するときの更新ルールと同じルールに従って更新される。例えば、鍵情報は、上述したHMAC方式に従って、HTTPリクエスト及び鍵情報にハッシュ関数を適用することによって生成された値を新たな鍵情報とするというルールに従って更新され、言い換えると、上述した生成ルールに従って生成された署名情報が新たな鍵情報となるように鍵情報が更新される。
一実施形態では、上述した通信(ステップS100−S170)が、ログインユーザにオンラインゲームを提供する間、サーバ10と端末装置30との間で繰り返し実行される。次に、こうした通信の具体例を、図5を参照しつつ説明する。図5の例では、鍵情報の初期値として「key0」という既定値が設定されているものとし、具体的には、端末装置30側の鍵情報格納領域51bにおいて管理される鍵情報sig_key、サーバ10側のユーザ毎鍵情報管理テーブル41aにおいて管理される現在の鍵情報sig_key_n及び前回の鍵情報sig_key_oに、それぞれ初期値として「key0」という既定値が設定されているものとする。
図5の具体例では、まず、端末装置30からサーバ10に対してHTTPリクエスト1が送信される(ステップS200)。このHTTPリクエスト1には署名情報Sigが付加されており、この署名情報Sigには、HTTPリクエスト「msg1」及び鍵情報「key0」(初期値)に対して予め定められたハッシュ関数「SHA」を適用した「SHA(msg1,key0)」という値が設定されている。
そして、サーバ10によって、端末装置30から受信したHTTPリクエスト1の正当性が確認される(ステップ210)。ここでは、端末装置30側の鍵情報sig_keyとサーバ10側の鍵情報(sig_key_n及びsig_key_o)が一致している(共に「key0」である)から、サーバ10側で生成される署名情報「SHA(msg1,key0)」は、HTTPリクエスト1に付加された上述した署名情報Sigの値と一致し、HTTPリクエスト1が正当であることが確認される。
次に、サーバ10によって、生成した署名情報「SHA(msg1,key0)」となるように現在の鍵情報sig_key_nが更新され(ステップS220)、サーバ10から端末装置30に対してHTTPレスポンス1が送信される(ステップS230)。
そして、HTTPレスポンス1を受信した端末装置30によって、HTTPリクエスト1に付加された署名情報Sig「SHA(msg1,key0)」となるように鍵情報sig_keyが更新され(ステップS240)、端末装置30からサーバ10に対して次のHTTPリクエスト2が送信される(ステップS250)。このHTTPリクエスト2に付加される署名情報Sigには、HTTPリクエスト「msg2」及び鍵情報「SHA(msg1,key0)」に対してハッシュ関数「SHA」を適用した「SHA(msg2,SHA(msg1,key0))」という値が設定されている。
次に、サーバ10によって、端末装置30から受信したHTTPリクエスト2の正当性が確認される(ステップ260)。ここでは、端末装置30側の鍵情報sig_keyとサーバ10側の現在の鍵情報sig_key_nが一致している(共に「SHA(msg1,key0)」である)から、サーバ10側で生成される署名情報は、HTTPリクエスト2に付加された上述した署名情報Sigの値と一致し、HTTPリクエスト2が正当であることが確認される。
そして、サーバ10によって、現在の鍵情報sig_key_nの値となるように前回の鍵情報sig_key_oが更新されると共に、生成した署名情報「SHA(msg2,SHA(msg1,key0))」となるように現在の鍵情報sig_key_nが更新され(ステップS270)、サーバ10から端末装置30に対してHTTPレスポンス2が送信される(ステップS280)。
次に、HTTPレスポンス2を受信した端末装置30によって、HTTPリクエスト2に付加された署名情報Sig「SHA(msg2,SHA(msg1,key0))」となるように鍵情報sig_keyが更新される(ステップS290)。そして、上述したステップS250−S280と同様に、端末装置30からサーバ10に対してHTTPリクエスト3が送信されると共に、サーバ10から端末装置30に対して、HTTPリクエスト3に対するHTTPレスポンス3が送信される(ステップS300−S330)。
ここで、ステップS330においてサーバ10から端末装置30に対して送信されたHTTPレスポンス3が、何らかの理由で端末装置30に到達しない場合には、端末装置30からサーバ10に対して、HTTPリクエスト3が再送される(ステップS340)。
そして、サーバ10によって、端末装置30から再び受信したHTTPリクエスト3の正当性が確認される(ステップ350)。ここでは、端末装置30側の鍵情報sig_keyとサーバ10側の現在の鍵情報sig_key_nとは一致していないものの、鍵情報sig_keyと前回の鍵情報sig_key_oとは一致しているから、サーバ10側で前回の鍵情報sig_key_oに基づいて生成される署名情報は、HTTPリクエスト3に付加された署名情報Sig「SHA(msg3,SHA(msg2,SHA(msg1,key0)))」と一致し、HTTPリクエスト3が正当であることが確認される。このように、一実施形態では、サーバ10側で、ログインユーザ毎の鍵情報として、現在の鍵情報(sig_key_n)に加え、前回の鍵情報(sig_key_o)を管理するから、HTTPリクエストの再送が必要となった場合等においても、HTTPリクエストの正当性を適切に確認することができる。
ここで、ステップS350のように、ログインユーザの現在の鍵情報に基づいて生成された署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストが正当であると確認されず、ログインユーザの前回の鍵情報に基づいて生成された署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストが正当であると確認される場合には、サーバ10側での鍵情報の更新はスキップされ、HTTPリクエスト3に対するHTTPレスポンス3が送信される(ステップS360)。そして、端末装置30によって、HTTPリクエスト3に付加された署名情報Sig「SHA(msg3,SHA(msg2,SHA(msg1,key0)))」となるように鍵情報sig_keyが更新される(ステップS370)。
ここで、端末装置30のユーザが、ゲームアプリケーション51aを介してサーバ10にログインしたときのユーザIDと同じユーザIDを用いて、ゲームアプリケーション51aを改変したチート用クライアントを介してサーバ10にログインし、サーバ10との通信を試みた場合の動作について、図6を参照しつつ説明する。図6の例では、正規の(改変されていない)ゲームアプリケーション51aを介した端末装置30とサーバ10との間の通信によって、HTTPリクエスト1及びHTTPレスポンス1の送受信、並びに、HTTPリクエスト2及びHTTPレスポンス2の送受信が実行され、端末装置30側の鍵情報sig_keyには「key3」が設定され、サーバ10側の現在の鍵情報sig_key_nには「key3」が設定されると共に前回の鍵情報sig_key_nには「key2」が設定されている(ステップS400−S470)。そして、この状態において、チート用クライアントが実行されている端末装置(チート用端末)からサーバ10に対してHTTPリクエストが送信されると(ステップS480)、このHTTPリクエストに付加される署名情報Sigは、サーバ10側の鍵情報(「key3」及び「key2」)とは異なる鍵情報(例えば、初期値「key0」)に基づいて生成されたものであるから、サーバ10によって生成される署名情報とは一致しない。従って、チート用端末からサーバ10に送信されたHTTPリクエストは正当であると確認されず、不正なHTTPリクエストであると判定される(ステップS490)。このように、一実施形態のシステム1は、ユーザが、同一のユーザIDを用いて(同じログインユーザで)、正規のゲームアプリケーション51aを介してサーバ10との通信を実行しつつ、チート用クライアントを介してサーバ10との通信を実行するのを抑制することができる。
また、上述したチート用クライアントは、正規のゲームアプリケーション51aが実行されている端末装置30上においても実行され得るが、この場合であっても、鍵情報格納領域51bはゲームアプリケーション51aの専用領域として構成されており、チート用クライアントは鍵情報格納領域51bから鍵情報を取得することができないから、チート用クライアントを介してサーバ10に送信されるHTTPリクエストは、図6の例と同様に、正当であると確認されず、不正なHTTPリクエストであると判定される。
また、鍵情報格納領域51bは、不揮発性の領域として構成され、端末装置30の再起動等が行われても記憶されている(更新された)鍵情報は維持されるから、例えば、端末装置30の再起動等が行われた直後であっても、チート用クライアントを介してサーバ10に送信されるHTTPリクエストは、図6の例と同様に、正当であると確認されず、不正なHTTPリクエストであると判定される。
以上説明した実施形態におけるシステム1は、ゲームアプリケーション51a(所定のプログラム)を介してサーバ10にログインしたログインユーザに対するオンラインゲーム(所定のサービス)の提供を、サーバ10と端末装置30との間のHTTP通信によって実現し、このHTTP通信は、端末装置30が、HTTPリクエストと、ゲームアプリケーション51aの専用領域である鍵情報格納領域51bに格納されている鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、生成した署名情報を付加したHTTPリクエストをサーバに対して送信するステップと、サーバ10が、端末装置30からのHTTPリクエストに応答し、このHTTPリクエスト及びユーザ毎鍵情報管理テーブル41aに記憶されているログインユーザの鍵情報に基づいて上述した所定の生成ルールに従って署名情報を生成し、この生成した署名情報とHTTPリクエストに付加された署名情報との比較に基づいてHTTPリクエストの正当性を確認するステップと、サーバ10が、HTTPリクエストとユーザ毎鍵情報管理テーブル41aに記憶されているログインユーザの鍵情報とに基づいて所定の更新ルールに従ってこのログインユーザの鍵情報を更新するステップと、サーバ10が、HTTPリクエストに対するHTTPレスポンスを端末装置30に対して送信するステップと、端末装置30が、HTTPリクエストに対するサーバ10からのHTTPレスポンスに応答し、このHTTPリクエストと鍵情報格納領域51bに格納されている鍵情報とに基づいて上述した所定の更新ルールに従ってこの鍵情報を更新するステップと、を含む。このように、一実施形態におけるシステム1は、ユーザ毎の鍵情報に基づいて生成される署名情報の比較に基づいてHTTPリクエストの正当性を確認し、この鍵情報は、HTTP通信におけるHTTPリクエスト(の内容)に基づいて更新されると共にゲームアプリケーション51aの専用領域に格納されているから、ゲームアプリケーション51a以外の他のプログラム(例えば、チート用クライアント)が、更新される鍵情報を取得するのを抑制すると共に、同一のユーザIDを用いて(同じログインユーザで)、ゲームアプリケーション51a以外の他のプログラムを介してサーバ10との間で通信を実行することを抑制することができる。このように、上述した実施形態は、ゲームデータ自体をチェックすることなしに、改変されたソフトウェア等を用いた不正な通信を抑制することができる。
上述した実施形態では、鍵情報を更新するための更新ルールを、署名情報を生成するための生成ルールと同一のルールとした(鍵情報に基づいて生成された署名情報が新たな鍵情報となるように鍵情報を更新するようにした)が、鍵情報を更新するための更新ルールと署名情報を生成するための生成ルールとは、必ずしも同一のルールとする必要はない。
上述した実施形態では、サーバ10と端末装置30との間の通信は、HTTPに従うHTTP通信によって実現されるものとしたが、本発明の実施形態は、HTTP以外の様々なリクエスト−レスポンス型のプロトコルに従う通信に適用することが可能である。
上述した実施形態では、ゲームアプリケーション51aを介して特定のオンラインゲームを提供する場合について説明したが、本発明の実施形態は、オンラインゲーム以外の様々なサービスを提供する場合に適用することが可能である。
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
1 システム
10 サーバ
20 通信網
30 端末装置
41 情報記憶部
41a ユーザ毎鍵情報管理テーブル
42 ゲーム進行制御部
43 正当性確認部
44 鍵情報更新部
45 レスポンス送信部
51 情報記憶部
51a ゲームアプリケーション
51b 鍵情報格納領域
52 ゲーム進行制御部
53 リクエスト送信部
54 鍵情報更新部

Claims (8)

  1. サーバと、当該サーバと通信可能に接続されるクライアント端末と、を備え、当該クライアント端末上で実行される所定のプログラムを介してユーザに所定のサービスを提供するシステムであって、
    前記システムは、前記所定のプログラムを介して前記サーバにログインしたログインユーザに対する前記所定のサービスの提供を、前記サーバと前記クライアント端末との間の所定の通信によって実現し、
    前記クライアント端末は、前記所定のプログラムの専用領域に鍵情報を記憶する端末側記憶装置を有し、
    前記サーバは、ユーザ毎の前記鍵情報を記憶するサーバ側記憶装置を有し、
    前記所定の通信は、
    前記クライアント端末が、前記サーバに送信するリクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、当該生成した署名情報を付加した前記リクエストを前記サーバに対して送信するステップと、
    前記サーバが、前記クライアント端末からの前記リクエストに応答し、当該リクエストと前記サーバ用記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて前記所定の生成ルールに従って署名情報を生成し、当該生成した署名情報と前記リクエストに付加された前記署名情報との比較に基づいて当該リクエストの正当性を確認するステップと、
    前記サーバが、前記リクエストと前記サーバ側記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて所定の更新ルールに従って当該ログインユーザの前記鍵情報を更新するステップと、
    前記サーバが、前記リクエストに対するレスポンスを前記クライアント端末に対して送信するステップと、
    前記クライアント端末が、前記リクエストに対する前記サーバからの前記レスポンスに応答し、当該リクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて前記所定の更新ルールに従って当該鍵情報を更新するステップと、を含む、
    システム。
  2. 請求項1に記載のシステムであって、
    前記サーバ側記憶装置は、前記ユーザ毎の鍵情報として、現在の鍵情報である第1の鍵情報と、当該現在の鍵情報に更新される前の前回の鍵情報である第2の鍵情報とを記憶し、
    前記正当性を確認するステップは、前記リクエスト及び前記ログインユーザの前記第1の鍵情報とに基づいて生成された第1の署名情報と前記リクエストに付加された前記署名情報との比較、並びに、前記リクエスト及び前記ログインユーザの前記第2の鍵情報とに基づいて生成された第2の署名情報と前記リクエストに付加された前記署名情報との比較に基づいて当該リクエストの正当性を確認することを含む、
    システム。
  3. 前記所定の更新ルールは、前記所定の生成ルールに従って生成された前記署名情報を新たな鍵情報として前記鍵情報を更新するルールである請求項1又は2に記載のシステム。
  4. 請求項1ないし3いずれかに記載のシステムであって、
    前記所定の通信は、HTTPに従う通信であり、
    前記リクエストはHTTPリクエストであり、
    前記レスポンスはHTTPレスポンスである、
    システム。
  5. 前記端末側記憶装置の前記所定のプログラムの前記専用領域は、不揮発性の領域である請求項1ないし4いずれかに記載のシステム。
  6. 前記端末側記憶装置の前記所定のプログラムの前記専用領域は、当該所定のプログラム以外の他のプログラムによるアクセスが制限されている領域である請求項1ないし5いずれかに記載のシステム。
  7. 前記所定のルールは、HMAC方式に従うルールである請求項1ないし6いずれかに記載のシステム。
  8. サーバと通信可能に接続されるクライアント端末上で実行される所定のプログラムを介してユーザに所定のサービスを提供する方法であって、
    前記方法は、前記所定のプログラムを介して前記サーバにログインしたログインユーザに対する前記所定のサービスの提供を、前記サーバと前記クライアント端末との間の所定の通信によって実現し、
    前記クライアント端末は、前記所定のプログラムの専用領域に鍵情報を記憶する端末側記憶装置を有し、
    前記サーバは、ユーザ毎の前記鍵情報を記憶するサーバ側記憶装置を有し、
    前記所定の通信は、
    前記クライアント端末が、前記サーバに送信するリクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて所定の生成ルールに従って署名情報を生成し、当該生成した署名情報を付加した前記リクエストを前記サーバに対して送信するステップと、
    前記サーバが、前記クライアント端末からの前記リクエストに応答し、当該リクエストと前記サーバ用記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて前記所定の生成ルールに従って署名情報を生成し、当該生成した署名情報と前記リクエストに付加された前記署名情報との比較に基づいて当該リクエストの正当性を確認するステップと、
    前記サーバが、前記リクエストと前記サーバ側記憶装置に記憶されている前記ログインユーザの前記鍵情報とに基づいて所定の更新ルールに従って当該ログインユーザの前記鍵情報を更新するステップと、
    前記サーバが、前記リクエストに対するレスポンスを前記クライアント端末に対して送信するステップと、
    前記クライアント端末が、前記リクエストに対する前記サーバからの前記レスポンスに応答し、当該リクエストと前記端末側記憶装置に記憶されている前記鍵情報とに基づいて前記所定の更新ルールに従って当該鍵情報を更新するステップと、を含む、
    方法。
JP2014193325A 2014-09-24 2014-09-24 ユーザに所定のサービスを提供するシステム及び方法 Active JP5838248B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014193325A JP5838248B1 (ja) 2014-09-24 2014-09-24 ユーザに所定のサービスを提供するシステム及び方法
US14/851,997 US9573060B2 (en) 2014-09-24 2015-09-11 System and method for providing user with services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014193325A JP5838248B1 (ja) 2014-09-24 2014-09-24 ユーザに所定のサービスを提供するシステム及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015219411A Division JP2016072989A (ja) 2015-11-09 2015-11-09 ユーザに所定のサービスを提供するシステム及び方法

Publications (2)

Publication Number Publication Date
JP5838248B1 true JP5838248B1 (ja) 2016-01-06
JP2016066845A JP2016066845A (ja) 2016-04-28

Family

ID=55069210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014193325A Active JP5838248B1 (ja) 2014-09-24 2014-09-24 ユーザに所定のサービスを提供するシステム及び方法

Country Status (2)

Country Link
US (1) US9573060B2 (ja)
JP (1) JP5838248B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5838248B1 (ja) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP6392439B1 (ja) 2017-12-15 2018-09-19 グリー株式会社 プログラム、端末装置、及び情報処理システム
US11088898B2 (en) * 2019-04-16 2021-08-10 International Business Machines Corporation Updating logging behavior of a computer system using collaboration within interconnected systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07115413A (ja) * 1993-10-18 1995-05-02 Nec Corp 移動通信端末認証方式
JP2004164640A (ja) * 2002-11-09 2004-06-10 Microsoft Corp クライアントとサーバコンピューティング装置間のチャレンジと応答のやりとり
JP2007209530A (ja) * 2006-02-09 2007-08-23 Copcom Co Ltd ゲームシステム、そのゲームシステムに含まれるゲームサーバ及びゲームプログラム
JP2008109662A (ja) * 2006-10-26 2008-05-08 Internatl Business Mach Corp <Ibm> 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム
JP2009514050A (ja) * 2003-07-11 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアント−サーバ環境においてクライアントを認証するためのシステムおよび方法
JP2012527179A (ja) * 2009-05-14 2012-11-01 マイクロソフト コーポレーション Httpベースの認証
JP2013005220A (ja) * 2011-06-16 2013-01-07 Ntt Data Corp アプリケーション認証システム、アプリケーション認証方法
US20140101446A1 (en) * 2012-10-09 2014-04-10 Sap Ag Secure client-side key storage for web applications

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785813B1 (en) * 1997-11-07 2004-08-31 Certicom Corp. Key agreement and transport protocol with implicit signatures
US6405313B1 (en) * 1997-04-25 2002-06-11 At&T Corp. Method for providing authentication assurance in a key-binding system
US7950999B2 (en) * 2004-09-16 2011-05-31 Bally Gaming, Inc. User interface system and method for a gaming machine
KR100461734B1 (ko) * 2000-07-24 2004-12-13 유미특허법인 인터넷을 통한 컨텐츠 제공 시스템 및 그 방법
WO2002076077A1 (en) * 2001-03-16 2002-09-26 Leap Wireless International, Inc. Method and system for distributing content over a wireless communications system
US20060036874A1 (en) * 2001-08-08 2006-02-16 Igt Data pattern verification in a gaming machine environment
EP1519775B1 (en) * 2002-07-05 2013-03-20 Mudalla Technology, Inc. Secure game download
DE60220959T2 (de) * 2002-09-17 2008-02-28 Errikos Pitsos Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
US7644275B2 (en) * 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
US7681246B1 (en) * 2003-11-20 2010-03-16 Microsoft Corporation System and method for server side data signing
JP4748762B2 (ja) * 2004-08-24 2011-08-17 キヤノン株式会社 署名生成方法及び情報処理装置
US8348759B2 (en) * 2004-09-16 2013-01-08 Bally Gaming, Inc. User interface system and method for a gaming machine
EP2044546B1 (en) * 2006-07-18 2012-12-26 Certicom Corp. System and method for authenticating a gaming device
US9508218B2 (en) * 2006-11-10 2016-11-29 Bally Gaming, Inc. Gaming system download network architecture
AU2009201191A1 (en) * 2008-03-26 2009-10-15 Aristocrat Technologies Australia Pty Limited A gaming machine
US9381427B2 (en) * 2012-06-01 2016-07-05 Microsoft Technology Licensing, Llc Generic companion-messaging between media platforms
WO2014001890A1 (en) * 2012-06-28 2014-01-03 Ologn Technologies Ag Secure key storage systems, methods and apparatuses
US9276749B2 (en) * 2012-07-31 2016-03-01 Adobe Systems Incorporated Distributed validation of digitally signed electronic documents
JP5411385B1 (ja) * 2013-08-12 2014-02-12 株式会社 ディー・エヌ・エー ゲームを提供するサーバ及び方法
JP2014061422A (ja) 2013-11-13 2014-04-10 Copcom Co Ltd ゲームプログラム、及びゲームシステム
JP5838248B1 (ja) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP5838250B1 (ja) * 2014-10-09 2016-01-06 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07115413A (ja) * 1993-10-18 1995-05-02 Nec Corp 移動通信端末認証方式
JP2004164640A (ja) * 2002-11-09 2004-06-10 Microsoft Corp クライアントとサーバコンピューティング装置間のチャレンジと応答のやりとり
JP2009514050A (ja) * 2003-07-11 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアント−サーバ環境においてクライアントを認証するためのシステムおよび方法
JP2007209530A (ja) * 2006-02-09 2007-08-23 Copcom Co Ltd ゲームシステム、そのゲームシステムに含まれるゲームサーバ及びゲームプログラム
JP2008109662A (ja) * 2006-10-26 2008-05-08 Internatl Business Mach Corp <Ibm> 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム
JP2012527179A (ja) * 2009-05-14 2012-11-01 マイクロソフト コーポレーション Httpベースの認証
JP2013005220A (ja) * 2011-06-16 2013-01-07 Ntt Data Corp アプリケーション認証システム、アプリケーション認証方法
US20140101446A1 (en) * 2012-10-09 2014-04-10 Sap Ag Secure client-side key storage for web applications

Also Published As

Publication number Publication date
JP2016066845A (ja) 2016-04-28
US20160082352A1 (en) 2016-03-24
US9573060B2 (en) 2017-02-21

Similar Documents

Publication Publication Date Title
US10050822B2 (en) Method and system for sharing application, and application service platform
US20210319091A1 (en) Multiple device credential sharing
KR102286989B1 (ko) 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법
JP5543010B1 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
US8966604B2 (en) Method of preventing sequential unauthorized logins
US20090325690A1 (en) Roaming Saved Game
WO2013039813A1 (en) Resource access authorization
EP2291817A2 (en) Extended user profile
EP3035640B1 (en) Method for authenticating a device
JP5838250B1 (ja) ユーザに所定のサービスを提供するシステム及び方法
CN111125677A (zh) 设备授权方法及系统
JP5838248B1 (ja) ユーザに所定のサービスを提供するシステム及び方法
EP2854090A1 (en) Server, system and method for providing service using application
CN112642164A (zh) 账号分享方法、装置、系统及计算机可读存储介质
CN111406257A (zh) 用于认证的参数化的应用安装和启动的系统和方法
CN110445791B (zh) 插件认证方法及装置、插件认证信息的存储方法及装置
JP2016081537A (ja) ユーザに所定のサービスを提供するシステム及び方法
JP2016072989A (ja) ユーザに所定のサービスを提供するシステム及び方法
JP4971275B2 (ja) ストリーミング配信システム及びストリーミング配信方法
JP6257085B2 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
WO2023013679A1 (ja) メッセージ送信に応じて所定の処理を実行するためのシステム
JP5770354B1 (ja) サーバシステム及びリクエスト実行制御方法
KR102368095B1 (ko) 게임 플레이 위임 방법 및 장치
CN111131363B (zh) 文件下载处理方法、装置及电子设备
JP2008015658A (ja) アプリケーション提供システム及びアプリケーション提供方法

Legal Events

Date Code Title Description
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: 20151014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151109

R150 Certificate of patent or registration of utility model

Ref document number: 5838248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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