JP5326035B1 - サーバ装置 - Google Patents

サーバ装置 Download PDF

Info

Publication number
JP5326035B1
JP5326035B1 JP2012230423A JP2012230423A JP5326035B1 JP 5326035 B1 JP5326035 B1 JP 5326035B1 JP 2012230423 A JP2012230423 A JP 2012230423A JP 2012230423 A JP2012230423 A JP 2012230423A JP 5326035 B1 JP5326035 B1 JP 5326035B1
Authority
JP
Japan
Prior art keywords
login
information
client terminal
token
server device
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.)
Expired - Fee Related
Application number
JP2012230423A
Other languages
English (en)
Other versions
JP2014081855A (ja
Inventor
俊春 杉山
Original Assignee
株式会社 ディー・エヌ・エー
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 株式会社 ディー・エヌ・エー filed Critical 株式会社 ディー・エヌ・エー
Priority to JP2012230423A priority Critical patent/JP5326035B1/ja
Priority to US14/047,312 priority patent/US20140115680A1/en
Application granted granted Critical
Publication of JP5326035B1 publication Critical patent/JP5326035B1/ja
Publication of JP2014081855A publication Critical patent/JP2014081855A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 ユーザビリティを著しく損なうことなく不正なログインを抑制する。
【解決手段】 実施形態に係るサーバ装置は、情報を記憶する情報記憶部と、端末装置からのログイン画面の表示要求に応答してログイン認証用の情報を生成する情報生成部と、端末装置にログイン画面を表示させるためのログイン画面データを送信する送信部と、端末装置からログイン情報を受信する受信部と、受信したログイン情報に基づいてログインの許否を判定する判定部とを備える。ログイン画面データには、ログイン認証用の情報を変換する処理の実行命令が含まれる。
【選択図】 図3

Description

本発明は、サーバ装置に関し、詳しくは、複数のクライアント端末と通信可能に接続されたサーバ装置に関する。
従来、この種のサーバ装置としては、インターネットなどのネットワークを介して接続されたクライアント端末のユーザに対して電子商取引などの様々なサービスを提供するサーバ装置が知られており、ユーザは、ユーザIDやパスワードを用いてサーバ装置にログインすることにより様々なサービスを利用することができる。例えば、電子商取引においてはクレジットカード情報などのユーザにとって秘匿性の高い情報が取り扱われることが多いこともあり、悪意のある第三者による不正ログインを防止する必要性がある。こうした不正ログインは、不正ログイン専用のプログラムツールを用いて行われることが多く、その対応策として、同一のIPアドレスからの連続的なログイン試行を制限するIPアドレス制限や画面上に表示された画像に含まれる文字列などをユーザが視認して入力する画像認証、ワンタイムパスワード生成装置によって発行される一時的に有効なパスワードを用いてログインする方法などが提案されている(例えば、特許文献1参照)。
特開2012−27530号公報
しかしながら、IPアドレス制限は、ボットネットなどを利用してIPアドレスにランダム性を持たせることによって回避される可能性があり、また、過剰に制限してしまうと通常のユーザによるログインまで制限してしまう恐れが生じる。また、前述した画像認証やワンタイムパスワード生成装置による認証を採用すると、画像に含まれる文字列を視認して入力する必要が生じたり、ワンタイムパスワード生成装置の携帯をユーザに強いることになり、ユーザビリティの低下に繋がってしまう。
本発明は、ユーザビリティを著しく損なうことなく不正なログインを抑制することを目的の一つとする。本発明の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係るサーバ装置は、複数のクライアント端末と通信可能に接続されたサーバ装置であって、前記クライアント端末からの要求に応答して、ログインページを当該クライアント端末に表示させるための情報であって、所定のパラメータの値と、当該所定のパラメータの値を所定のルールに基づき変換する処理の実行命令とを含むログインページ情報を当該クライアント端末に送信する送信手段と、前記ログインページ情報を受信したクライアント端末から、前記実行命令に応じた前記処理の実行によって変換された前記所定のパラメータの値を少なくとも含むログイン要求を受信する受信手段と、当該受信した前記所定のパラメータの値に少なくとも基づいて前記クライアント端末によるログインの許否を判定する判定手段と、を備える。
本発明の一実施形態に係るシステムは、上述した本発明の一実施形態に係る第1のサーバ装置と上述した本発明の一実施形態に係る第2のサーバ装置とを備えるシステムであって、前記第1のサーバ装置は、前記所定のルールとして第1のルールを適用し、前記第2のサーバ装置は、前記所定のルールとして前記第1のルールとは異なる第2のルールを適用する。
本発明の一実施形態に係るログイン判定方法は、クライアント端末によるログインの許否を判定するログイン判定方法であって、(a)前記クライアント端末からの要求に応答して、ログインページを当該クライアント端末に表示させるための情報であって、所定のパラメータの値と、当該所定のパラメータの値を所定のルールに基づき変換する処理の実行命令とを含むログインページ情報を当該クライアント端末に送信し、(b)前記ログインページ情報を受信したクライアント端末から、前記実行命令に応じた前記処理の実行によって変換された前記所定のパラメータの値を少なくとも含むログイン要求を受信し、(c)当該受信した前記所定のパラメータの値に少なくとも基づいて前記クライアント端末によるログインの許否を判定する。
本発明の様々な実施形態によって、ユーザビリティを著しく損なうことなく不正なログインを抑制することができる。
本発明の一実施形態に係るサーバ装置を含むシステムのネットワーク構成を概略的に示すブロック図。 一実施形態における端末装置のアーキテクチャを概略的に示すブロック図。 一実施形態に係るサーバ装置の機能を示すブロック図。 一実施形態におけるトークン管理テーブルの一例を示す説明図。 一実施形態におけるログイン処理を示すフロー図。 一実施形態におけるログイン画面データの一例を示す説明図。 一実施形態におけるログイン画面の一例を示す説明図。
以下、適宜図面を参照し、本発明の様々な実施形態を説明する。なお、図面において共通する構成要素には同一の参照符号が付されている。
図1は、本発明の一実施形態としてのサーバ装置10−1、10−2(以下、「サーバ装置10」と総称することがある)を含む本発明の一実施形態としてのシステム100を概略的に示すブロック図である。図1に示すように、一実施形態におけるシステム100は、サーバ装置10−1、10−2を備え、インターネット等の通信網20を介して、通信機能を備える複数の端末装置30−1、30−2、・・・、30−N(以下、「端末装置30」と総称することがある)と通信可能に接続されている。
一実施形態におけるサーバ装置10は、図示のとおり、CPU11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、外部メモリ15と、ディスクドライブ16とを含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、外部メモリ15からオペレーティングシステムや様々なプログラムをメインメモリ12にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAMによって構成される。
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。
外部メモリ15は、例えば磁気ディスクドライブで構成され、様々なプログラムが記憶される。また、外部メモリ15には、各種データも記憶され得る。外部メモリ15に記憶され得る各種データは、サーバ装置10と通信可能に接続される、サーバ装置10とは物理的に別体のデータベースサーバに格納されてもよい。ディスクドライブ16は、CD−ROM、DVD−ROM、DVD−R等の各種の記憶メディアに格納されたデータを読み込み、又は、これらの記憶メディアにデータを書き込む。例えば、記憶メディアに格納されたアプリケーションやデータは、ディスクドライブ16により読み込まれ、外部メモリ15にインストールされる。
一実施形態において、サーバ装置10は、端末装置30とHTTPによる通信を行うウェブサーバとして機能し、階層構造の複数のウェブページから成るウェブサイトを管理すると共に端末装置30に対して様々なサービスを提供する。端末装置30は、ウェブページを表示するためのHTMLデータをサーバ装置10から取得し、取得したHTMLデータを解析して、当該ウェブページを端末装置30のユーザに提示することができる。外部メモリ15には、このウェブページを表示するためのHTMLデータも記憶される。HTMLデータは、HTML等のマークアップ言語で記述されたHTML文書から成り、このHTML文書には、様々な画像が関連付けられる。また、HTML文書には、ActionScriptやJavaScript(登録商標)等のスクリプト言語等で記述されたプログラムが埋め込まれ得る。
外部メモリ15には、端末装置30においてブラウザソフトウェア以外の実行環境上で実行されるアプリケーションも格納され得る。このアプリケーションには、プログラムや当該プログラム実行時に参照される画像データ等の各種データを含めることができる。プログラムは、例えば、Objective−C、Java(登録商標)等のオブジェクト指向プログラミング言語で作成される。作成されたプログラムは、各種データとともに、アプリケーションソフトウェアとして外部メモリ15に記憶される。外部メモリ15に記憶されたアプリケーションソフトウェアは、配信要求に応じて、端末装置30に配信される。サーバ装置10から配信されたアプリケーションソフトウェアは、端末装置30において、CPU31の制御に従って通信I/F34を介して受信され、受信されたプログラムが外部メモリ35に送信され記憶される。このアプリケーションソフトウェアは、プレイヤによる端末装置30の操作に応じて起動され、端末装置30に実装されたNgCore(商標)やAndroid(商標)等のプラットフォーム上で実行される。
このように、サーバ装置10は、サービスを提供するウェブサイトを管理し、当該ウェブサイトを構成するウェブページを端末装置30からの要求に応じて配信する。また、サーバ装置10は、このようなブラウザを介したサービスとは代替的に、又は、ブラウザを介したサービスに加えて、端末装置30で実行されるアプリケーションとの通信に基づいてサービスを提供することができる。サーバ装置10は、いずれの態様でサービスを提供するにしても、各ユーザを識別する識別情報ごとにサービスの提供に必要なデータを記憶することができる。サーバ装置10により提供されるサービスとしては、オンラインゲーム、ソーシャルネットワーキングサービス(SNS)、電子商取引、または、音楽、電子書籍、若しくは、動画などのデジタルコンテンツの配信などを挙げることができるが、これらには限れない。
端末装置30は、一実施形態において、サーバ装置10から取得したウェブページをウェブブラウザ上で表示することができる任意の情報処理装置であり、例えば、携帯電話機、スマートフォン、ゲーム用コンソール、パーソナルコンピュータ、タッチパッド、及び電子書籍リーダーを含むがこれらには限られない。また、端末装置30は、アプリケーションを実行するためのアプリケーション実行環境を実装した任意の情報処理装置でもあり得る。
端末装置30のアーキテクチャについて図2を参照して説明する。図2は、端末装置30のアーキテクチャを概念的に示すブロック図である。端末装置30は、図示のとおり、CPU31と、メインメモリ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から通信I/F34を介してアプリケーションを受信した場合には、この受信したアプリケーションを記憶する。
このようなアーキテクチャを有する端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのブラウザソフトウェアを備えており、このブラウザソフトウェアの機能によりサーバ装置10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30は、ブラウザソフトウェアに組み込まれるプラグインソフト(例えば、アドビシステムズ社から提供されているFlash Player)を備えており、HTMLデータに埋め込まれたSWF形式のファイルをサーバ装置10から取得し、当該SWF形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することができる。
次に、図1に示した各構成要素によって実現されるサーバ装置10の機能について説明する。図3は、本発明の一実施形態に係るサーバ装置10の機能を示すブロック図である。この実施形態に係るサーバ装置10は、図に示すように、情報を記憶する情報記憶部52と、端末装置30からのログイン画面の表示要求に応答してログイン認証用の情報を生成する情報生成部53と、端末装置30にログイン画面を表示させるためのログイン画面データを送信する送信部54と、端末装置30からログイン情報を受信する受信部55と、受信したログイン情報に基づいてログインの許否を判定する判定部56とを備える。これらの機能は、CPU11やメインメモリ12、外部メモリ15に記憶されている各種プログラムやテーブルなどが協働して動作することにより実現される。なお、上述した機能は、一実施形態に係るサーバ装置10におけるログイン判定に関連する機能であり、これらの機能の他に、サーバ装置10によって提供されるサービスを実現するための各種の機能を有する。
情報記憶部52は、ログイン認証用の情報としてのトークンを管理するトークン管理テーブル52aを備える。トークン管理テーブル52aの一例を図4に示す。トークン管理テーブル52aは、図示するように、端末装置30を識別する端末IDに対応付けて、情報生成部53によって生成したトークンを記憶する。図4に例示するように、端末IDとトークンは、共に、複数の英数字がランダムに配置された文字列として構成される。
次に、こうして構成された本発明の一実施形態としてのサーバ装置10の動作について説明する。図5は、サーバ装置10により実行されるログイン処理の一例を示すフロー図である。このログイン処理は、端末装置30からサーバ装置10のログイン画面の表示要求があったときに実行される。具体的には、一実施形態においては、サーバ装置30のWebブラウザやアプリケーションからサーバ装置10が提供するサービスのログイン画面のURLを指定したHTTPリクエストを受信したときに実行される。ログイン処理では、まず、ログイン画面の表示要求の送信元の端末装置30を識別する端末IDとログイン認証に用いる認証用情報としてのトークンを発行しトークン管理テーブル52aに記憶する(ステップS102)。端末IDとトークンは、前述したように、複数の英数字がランダムに配置された文字列として構成されており、こうしたランダムな文字列は、乱数生成アルゴリズムを実装したCGI(Common Gateway Interface)などを用いて生成することができる。端末IDは、一実施形態においては、HTTPにおけるクライアントとしての端末装置30を識別する情報であり、サーバ装置10と端末装置30とのHTTPによる通信の際にクッキーとしてやり取りされる情報である。また、一実施形態においては、端末IDとトークンとは別々のアルゴリズムを用いて生成することにより、相互に関連性を持たせないようにした。これは、相互に関連性を持たせると、一方の情報が悪意のある第三者に知られた場合に、もう一方の情報についても知られてしまう可能性が高くなることに基づく。
端末IDとトークンを発行すると、次に、発行したトークンの値を変換する(ステップS104)。一実施形態においては、トークンの値の変換は文字列の順序を逆順にすることにより行われる。例えば、トークン「Pf943rWad8Qrdc」は「cdrQ8daWr349fP」へと変換される。こうした文字列の順序を逆順にする変換は、文字列の順序を逆順にする文字列操作用の関数などを実装したCGIなどを用いて行なうことができる。
続いて、値を変換したトークンを埋め込んだログイン画面データを端末装置30に送信する(ステップS106)。図6は、サーバ装置10から端末装置30に送信されるログイン画面データ60の一部の一例であり、図7は、ログイン画面データ60を読み込んだ端末装置30のWebブラウザなどによって表示されるログイン画面70の一例である。この例のログイン画面データ60は、図示するように、HTMLデータとして構成され、JavaScript(登録商標)により記述されたスクリプト・セクション62と、ユーザによる入力項目などを定義するフォーム・セクション64とを含む。値を変換したトークンは、スクリプト・セクション62の「var token = “cdrq8dawr349fp”」と記述されている部分に埋め込まれている。また、スクリプト・セクション62の「form.token.value = token.split(“”).reverse().join(“”);」と記述されている部分は、埋め込まれているトークンを変換する処理の実行命令を定義しており、具体的には、一実施形態においては、トークンの文字列の順序を逆順にする文字列操作の実行命令を定義している。即ち、ステップS104で文字列の順序を逆順に変換されたトークンは、このスクリプト・セクション62に定義されてる変換処理が端末装置30において実行されることによって、再度、文字列の順序が逆順に変換され、この結果、ステップS102で発行された元のトークンの値に戻されることになる。フォーム・セクション64は、図7に例示するログイン画面70における入力項目であるユーザID入力欄71およびパスワード入力欄72やログインボタン73などを定義し、<input type=“hidden” name =“token” value=“”/>と記述されている部分では、トークンをログイン画面70には表示されない隠し項目として定義している。隠し項目として定義されているトークンは、ログイン画面70には表示されないが、ユーザID入力欄71やパスワード入力欄72に入力される値と共に、サーバ装置10に送信される情報である。
こうしたログイン画面データを端末装置30が受信すると、端末装置30のWebブラウザなどによってログイン画面データが解析されログイン画面70が表示される。端末装置30のユーザがログイン画面70のユーザID入力欄71とパスワード入力欄72にユーザIDとパスワードをそれぞれ入力し、ログインボタン73を押下すると、ログイン画面データ60のスクリプト・セクション62に定義されているトークンを変換する処理が実行され、入力されたユーザIDとパスワードと共に、この変換されたトークンがサーバ装置10に送信される。
端末装置30がユーザID、パスワード、および、変換されたトークンを送信すると、サーバ装置10はこれらの情報を受信し(ステップS108)、まず、受信した変換されたトークンの値に基づく認証を行なう(ステップS110)。具体的には、端末装置30の端末IDに対応するトークンをトークン管理テーブル52aから取得して端末装置30から受信した変換されたトークンと比較し、これらのトークンの値が一致する場合には認証OKと判断し、これらのトークンの値が異なる場合には認証NGと判断する。前述したように、トークン管理テーブル52aで管理されているトークンは、ステップS102で発行された元のトークンであり、端末装置30が送信するトークンは、一旦ステップS104で文字列の順序が逆順に変換され、その後、ログイン画面データ60のスクリプト・セクション62で定義された変換処理の実行命令に応じて端末装置30によって、再度、文字列の順序が逆順に変換されたものである。従って、上述した手順通りの動作をしていれば、トークン管理テーブル52aで管理されているトークンの値と端末装置30から受信するトークンの値とは一致し、認証OKと判断される。
ここで、悪意のある第三者がサーバ装置10への不正ログインを試みる場合について考える。不正ログイン専用のプログラムツールは、一般に、一実施形態におけるサーバ装置10のログイン画面70のようなログイン画面のHTMLデータに基づいて、ユーザIDやパスワードなどのログインに必要なログイン情報のサーバ装置への送信方法を解析することにより、ユーザの操作を完全に再現することなくログイン情報を送信することを可能とする(例えば、ログイン画面を介することなくログイン情報を送信することができる)。これにより、例えば、一組のユーザIDとパスワードを用いて多数のサイトにログインを試行したり、あるいは、1つのサイトに対して膨大な数のユーザIDとパスワードとの組み合わせを用いたログインを試行したりすることができるようになり、その結果、ユーザIDとパスワードとが正しい組み合わせとなったときに不正なログインを可能としてしまう。ログイン情報の送信方法の解析は、HTMLデータを構成するタグなどの文字列を正規表現を用いた検索などを実行することによって行なわれ、例えば、ログイン画面データ60の場合には、フォーム・セクション62の<input type=“hidden” name =“token” value=“”/>との記載に基づき、隠し項目「token」が必要なログイン情報の一つとして含まれると解析され、スクリプト・セクション62の「var token = “cdrq8dawr349fp”」との記載に基づき、隠し項目「token」の値が「cdrq8dawr349fp」であると解析される。しかし、一実施形態におけるサーバ装置10では、ログイン画面データ60に埋め込まれているトークンは、元のトークンの文字列の順序を逆順に変換したものであり、そのままサーバ装置10へ送信すると、トークン管理テーブル52aで管理されているトークンの値と一致しない(上述した例では、プログラムツールから送信されるトークンの値は「cdrq8dawr349fp」であり、トークン管理テーブル52aで管理されているトークンの値は「Pf943rWad8Qrdc」である)。この場合、認証NGと判断され、ログイン処理は強制終了される(ステップS116)。
トークンの値に基づく認証によって認証OKと判断された場合には、次に、ユーザIDとパスワードに基づく認証が行なわれる(ステップS112)。ユーザIDとパスワードに基づく認証は、例えば、サーバ装置10が提供するサービスのユーザがユーザ登録する際などに入力したユーザIDとパスワードとの組み合わせを情報記憶部52が有する図示しないテーブルなどに記憶しておき、この記憶したユーザIDとパスワードとの組み合わせと照合することによって行なうことができる。こうしたユーザIDとパスワードに基づく認証は、一般的な処理であるからこれ以上の詳細な説明は省略する。ユーザIDとパスワードに基づく認証の結果、認証NGと判断された場合には、ステップS106に戻り、再度ログイン画面データ60を送信し、認証OKと判断された場合には、ログイン後の画面(例えば、提供するサービスのトップ画面など)の画面データを端末装置30に送信し(ステップS114)、ログイン処理を終了する。
ここで、上述したログイン処理では、ステップS104におけるトークンの変換やステップS106において端末装置30に送信するログイン画面データ60に実行命令として含まれるトークンの変換は、トークンの文字列の順序を逆順にする文字列操作を例示したが、一実施形態に係るシステム100のサーバ装置10−1とサーバ装置10−2とでは、このトークンの変換の処理内容が異なるようになっている。例えば、一方は上述した「トークンの文字列の順序を逆順にする文字列操作」によってトークンの変換を行なうものとし、他方は「予め決められた位置の文字列を交換する(例えば、2番目と5番目を交換し7番目と12番目を交換する)文字列操作」によってトークンの変換を行なうものとされている。このように、サーバ装置10−1とサーバ装置10−2との間でトークンの変換の処理内容を異なるようにすることにより、一方のログイン画面におけるログイン情報の送信方法が解析されてしまった場合に、他方のログイン画面に対する不正ログインが可能となるのを防止することができる。例えば、同一の事業者が、サーバ装置10−1とサーバ装置10−2とを異なるサービスを提供するサーバとして運用する場合、一方のサービスに対する不正ログインが可能となっても、他方のサービスに対する不正ログインが可能となるのを防止することができる。
以上説明した本発明の一実施形態におけるサーバ装置10によれば、端末装置30からサーバ装置10のログイン画面の表示要求があったときに、この端末装置30に対してトークンを発行すると共にトークンの文字列の順序を逆順に変換し、変換したトークンとこの変換したトークンの文字列の順序を再度逆順に変換する処理の実行命令とを含むログイン画面データを端末装置30に送信し、端末装置30からログイン情報の一部として再度逆順に変換されたトークンを受信すると、このトークンに基づく認証を行なう。したがって、ログイン画面データに含まれる文字列を検索して解析する一般的な不正ログイン用のプログラムツールなどによる不正ログインを抑制することができる。さらに、端末装置30のユーザはこうしたログイン判定の仕組みを意識する必要がないから、ユーザビリティを著しく損なうことがない。
以上説明した本発明の一実施形態におけるシステム100によれば、端末装置10−1と端末装置10−2との間でトークンの変換の処理内容を異なるようにするから、一方のログイン画面におけるログイン情報の送信方法が解析されてしまった場合に、他方のログイン画面に対する不正ログインが可能となるのを防止することができる。
一実施形態のサーバ装置10では、端末装置30に対してトークンを発行すると共にトークンの文字列の順序を逆順に変換し、変換したトークンをログイン画面データに埋め込んだが、発行したトークンの文字列の順序を逆順に変換することなく、そのままログイン画面データに埋め込むものとしても良い。この場合、端末装置30からは元のトークンの文字列の順序が逆順に変換されたトークンが送信されるから、ステップS110のトークンの値に基づく認証の際には、受信したトークンの値と、発行したトークンの文字列の順序を逆順に変換した値とを比較すれば良い。この態様であっても、不正ログイン用のプログラムツールなどからは発行したトークンがそのまま送信されるから、トークンに基づく認証で検出することができ、不正ログインを抑制することができる。
一実施形態のサーバ装置10では、トークンを変換する処理として、「トークンの文字列の順序を逆順にする文字列操作」や「予め決められた位置の文字列を交換する文字列操作」を例示したが、トークンを変換する処理の内容はこれらに限られない。また、サーバ装置10側で行なわれるトークンの変換とログイン画面データに含まれる実行命令に応じて端末装置30側で行なわれるトークンの変換とが同一の処理となるとは限らない。例えば、トークンを変換する処理として「1番目の文字列を3番目とし、3番目の文字列を5番目とし、5番目の文字列を1番目とする」という文字列操作を考える。より具体的に「ABCDE」という文字列に対してこの文字列操作を行なった場合を考えると、最初の文字列操作では「EBADC」となり、この結果に対して再度同じ文字列操作を行なうと「CBEDA」となり、「ABCDE」と「CBEDA」とは一致していない。即ち、ログイン処理におけるサーバ装置10側でのトークンの変換を「1番目の文字列を3番目とし、3番目の文字列を5番目とし、5番目の文字列を1番目とする」とする場合、ログイン画面データに実行命令として含ませるトークンの変換は「3番目の文字列を1番目とし、5番目の文字列を3番目とし、1番目の文字列を5番目とする」とする必要がある。ようするに、ログイン画面データに実行命令として含まれるトークンの変換によって元のトークンとなるように、サーバ装置10側で元のトークンを変換してログイン画面データに埋め込むようにすれば良い。言い換えると、ログイン画面データに実行命令として含まれるトークンの変換は、サーバ装置10側での元のトークンの変換とは逆方向の変換とすれば良い。
一実施形態のサーバ装置10では、トークンを複数の英数字がランダムに配置された文字列として構成したが、文字列でなくても構わない。例えば、トークンを数値とする場合には、トークンを変換する処理としては、文字列操作ではなく適当な演算処理などを適用することもできる。
一実施形態のシステム100では、サーバ装置10−1とサーバ装置10−2とを備えるものとしたが、サーバ装置10の数は2つより多くても構わないのは勿論である。
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
10 サーバ装置
20 通信網
30 端末装置
52 情報記憶部
53 情報生成部
54 送信部
55 受信部
56 判定部
60 ログイン画面データ
70 ログイン画面
100 システム

Claims (4)

  1. 複数のクライアント端末と通信可能に接続されたサーバ装置であって、
    前記クライアント端末からの要求に応答して、当該クライアント端末に対する認証用情報を生成し、当該認証用情報に基づいて、所定のルールに基づく変換によって当該認証用情報となるような変換前認証用情報を生成する情報生成手段と、
    グインページを当該クライアント端末に表示させるための情報であって、所定のパラメータの値としての前記変換前認証用情報と、当該所定のパラメータの値を前記所定のルールに基づき変換する処理の実行命令とを含むログインページ情報を当該クライアント端末に送信する送信手段と、
    前記ログインページ情報を受信したクライアント端末から、前記実行命令に応じた前記処理の実行によって変換された前記所定のパラメータの値を少なくとも含むログイン要求を受信する受信手段と、
    当該受信した前記所定のパラメータの値と前記認証用情報との比較に少なくとも基づいて前記クライアント端末によるログインの許否を判定する判定手段と、
    を備えるサーバ装置。
  2. 請求項1記載のサーバ装置であって、
    前記所定のパラメータは、文字列を値とするパラメータであり、
    前記所定のルールは、文字列操作に関するルールである、
    サーバ装置。
  3. 請求項1又は2記載の第1のサーバ装置と請求項1又は2記載の第2のサーバ装置とを備えるシステムであって、
    前記第1のサーバ装置は、前記所定のルールとして第1のルールを適用し、
    前記第2のサーバ装置は、前記所定のルールとして前記第1のルールとは異なる第2のルールを適用する、
    システム。
  4. クライアント端末によるログインの許否を判定するログイン判定方法であって、
    (a)前記クライアント端末からの要求に応答して、当該クライアント端末に対する認証用情報を生成し、当該認証用情報に基づいて、所定のルールに基づく変換によって当該認証用情報となるような変換前認証用情報を生成し、
    (b)ログインページを当該クライアント端末に表示させるための情報であって、所定のパラメータの値としての前記変換前認証用情報と、当該所定のパラメータの値を前記所定のルールに基づき変換する処理の実行命令とを含むログインページ情報を当該クライアント端末に送信し、
    )前記ログインページ情報を受信したクライアント端末から、前記実行命令に応じた前記処理の実行によって変換された前記所定のパラメータの値を少なくとも含むログイン要求を受信し、
    )当該受信した前記所定のパラメータの値と前記認証用情報との比較に少なくとも基づいて前記クライアント端末によるログインの許否を判定する、
    ログイン判定方法
JP2012230423A 2012-10-18 2012-10-18 サーバ装置 Expired - Fee Related JP5326035B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012230423A JP5326035B1 (ja) 2012-10-18 2012-10-18 サーバ装置
US14/047,312 US20140115680A1 (en) 2012-10-18 2013-10-07 Server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012230423A JP5326035B1 (ja) 2012-10-18 2012-10-18 サーバ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013151345A Division JP2014086079A (ja) 2013-07-22 2013-07-22 サーバ装置

Publications (2)

Publication Number Publication Date
JP5326035B1 true JP5326035B1 (ja) 2013-10-30
JP2014081855A JP2014081855A (ja) 2014-05-08

Family

ID=49595922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012230423A Expired - Fee Related JP5326035B1 (ja) 2012-10-18 2012-10-18 サーバ装置

Country Status (2)

Country Link
US (1) US20140115680A1 (ja)
JP (1) JP5326035B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382426B2 (en) * 2015-07-02 2019-08-13 Adobe Inc. Authentication context transfer for accessing computing resources via single sign-on with single use access tokens

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007173999A (ja) * 2005-12-19 2007-07-05 Sony Computer Entertainment Inc 認証システム及び認証対象装置
JP2008083759A (ja) * 2006-09-26 2008-04-10 Nomura Research Institute Ltd ログイン処理装置、ログイン処理システム、プログラム、及び記録媒体
US20080115201A1 (en) * 2006-11-13 2008-05-15 Microsoft Corporation Refreshing a page validation token
JP2012146100A (ja) * 2011-01-11 2012-08-02 Fujitsu Ltd 攻撃模倣テスト方法、攻撃模倣テスト装置及び攻撃模倣テストプログラム
JP2012174082A (ja) * 2011-02-23 2012-09-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233580A1 (en) * 2002-05-29 2003-12-18 Keeler James D. Authorization and authentication of user access to a distributed network communication system with roaming features
JP4693171B2 (ja) * 2006-03-17 2011-06-01 株式会社日立ソリューションズ 認証システム
US20080052245A1 (en) * 2006-08-23 2008-02-28 Richard Love Advanced multi-factor authentication methods
US8886817B2 (en) * 2008-05-22 2014-11-11 Yahoo! Inc. Federation and interoperability between social networks
US8549314B2 (en) * 2010-04-29 2013-10-01 King Saud University Password generation methods and systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007173999A (ja) * 2005-12-19 2007-07-05 Sony Computer Entertainment Inc 認証システム及び認証対象装置
JP2008083759A (ja) * 2006-09-26 2008-04-10 Nomura Research Institute Ltd ログイン処理装置、ログイン処理システム、プログラム、及び記録媒体
US20080115201A1 (en) * 2006-11-13 2008-05-15 Microsoft Corporation Refreshing a page validation token
JP2012146100A (ja) * 2011-01-11 2012-08-02 Fujitsu Ltd 攻撃模倣テスト方法、攻撃模倣テスト装置及び攻撃模倣テストプログラム
JP2012174082A (ja) * 2011-02-23 2012-09-10 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSND200900850004; 亀井 隆司: 'SQLインジェクションやXSS Webならではの脆弱性放置の危険' DB Magazine Vol. 19, No. 10, 20100201, pp. 37-41 *
JPN6013015053; 亀井 隆司: 'SQLインジェクションやXSS Webならではの脆弱性放置の危険' DB Magazine Vol. 19, No. 10, 20100201, pp. 37-41 *
JPN6013015054; ZHOU, M., et al.: 'Strengthening XSRF Defenses for Legacy Web Applications Using Whitebox Analysis and Transformation' In Proceedings of the Sixth International Conference on Information Systems Security (ICISS 2010) , 201012, [online] *
JPN7013002515; PELIZZI, R., et al.: 'A server- and browser-transparent CSRF defense for web 2.0 applications' In Proceedings of the 27th Annual Computer Security Applications Conference (ACSAC '11) , 201112, pp. 257-266, [online] *
JPN7013002517; DACOSTA, I., et al.: 'One-time cookies: Preventing session hijacking attacks with stateless authentication tokens' ACM Transactions on Internet Technology (TOIT) Vo. 12, No. 1, 201206, Article No. 1, [online] *

Also Published As

Publication number Publication date
JP2014081855A (ja) 2014-05-08
US20140115680A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
JP5514890B1 (ja) 連続的な不正アクセスを防止する方法
US10348718B2 (en) Sharing credentials and other secret data in collaborative environment in a secure manner
US9864852B2 (en) Approaches for providing multi-factor authentication credentials
US8887264B2 (en) Multi-identity access control tunnel relay object
US10362026B2 (en) Providing multi-factor authentication credentials via device notifications
US9015820B1 (en) Cross site request forgery mitigation in multi-domain integrations
US9003540B1 (en) Mitigating forgery for active content
US10616209B2 (en) Preventing inter-application message hijacking
TW201729121A (zh) 雲端服務伺服器及用來管理一雲端服務伺服器之方法
US10841297B2 (en) Providing multi-factor authentication credentials via device notifications
WO2013011730A1 (ja) 文書を処理する装置及び方法
US10587594B1 (en) Media based authentication
JP2015121835A (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
JP2008015733A (ja) ログ管理計算機
JP6901997B2 (ja) プログラムの実行制御方法、プログラム、記録媒体、ウェブページ、送信サーバ、クライアントおよびウェブシステム
JP5753302B1 (ja) ウェブページへのアクセスを警告するためのプログラム、方法、及びシステム
US10176153B1 (en) Generating custom markup content to deter robots
JP6736748B2 (ja) 認証を実行するコンピュータ可読記録媒体、システム、及び方法
JP5326035B1 (ja) サーバ装置
JP2015011659A (ja) 通信装置、アクセス制御方法およびプログラム
JP2014086079A (ja) サーバ装置
CN111193729A (zh) 跨终端用户身份识别方法、装置及计算机可读存储介质
JP6257085B2 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
US20160105443A1 (en) Resource access
Mohd et al. Secure user authentication with graphical passwords and passtext

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R150 Certificate of patent or registration of utility model

Ref document number: 5326035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees