(57)【要約】【課題】  少ない枚数の画像による認証を行う場合、画像そのものを加工して画像を増やす方法では、ショルダーハッキング等による正解画像を覚えられてしまうとセキュリティ性が低下する。【解決手段】  画像と、前記画像内の特定の領域を示す領域情報と、前記領域に対応するオブジェクトを示す単語情報とを関連付けて記憶し、記憶された画像の中から、前記認証処理に使用する画像に対し画像処理を施し、認証用画像として提供する。【選択図】  図６
2014081729.tif 000002
【特許請求の範囲】
【請求項１】
認証処理を行う情報処理装置であって、
画像と、前記画像内の特定の領域を示す領域情報と、前記領域に対応するオブジェクトを示す単語情報とを関連付けて記憶する記憶手段と、
前記記憶手段により記憶された画像の中から、前記認証処理に使用する画像に対し画像処理を施す画像処理手段と、
前記画像処理手段による画像処理が施された画像を認証用画像として提供する提供手段と、
前記提供手段により提供された画像内のいずれかの位置をユーザーが指定したことに応じて、当該位置が含まれる領域の領域情報に関連付けられた単語情報を特定する特定手段と、
前記特定手段にて特定された単語情報を用いて認証処理を行う認証手段と、を有する情報処理装置。
【請求項２】
前記記憶手段は、ユーザー情報と、少なくとも一つの単語情報を含む単語リストと、を関連付けて記憶し、
前記画像処理手段は、前記ユーザーのユーザー情報に関連付けられた前記単語リストを特定し、前記単語リストに含まれる特定の単語情報に関連付けられた画像に対し画像処理を施すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
認証処理の対象となるユーザーのユーザー情報を受け付ける受付手段を更に有し、
前記受付手段により受け付けられたユーザー情報が前記記憶手段に記憶されていない場合、前記画像処理手段は、前記記憶手段により記憶された画像の中から無作為に画像を取りだして画像処理を施し、
前記提供手段は、無作為に取り出され画像処理が施された前記画像を提供し、
前記認証手段は、ユーザーの認証処理を失敗させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
画像内の特定の位置においては、複数の単語情報が対応していることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記画像処理手段は、前記単語リストに含まれる単語情報に関連付けられた画像に対し画像処理を施す際、認証処理が行われるごとに画像処理を施す画像を変更することを特徴とする請求項２乃至４の何れか一項に記載の情報処理装置。
【請求項６】
前記画像処理手段は、複数の画像処理の内の何れか１つの画像処理を画像に対して施す事を特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記画像処理手段は、前記認証処理に使用する画像に対し画像処理を施さず、
前記提供手段は、画像処理が施されていない画像を提供することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記記憶手段は、前記画像と、前記画像処理手段が画像に対して施した画像処理の履歴とを関連付けて記憶し、
前記画像処理手段は、前記履歴を基に、前記画像に対して施す画像処理を決定することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記画像処理手段は、画像の切り出し処理、画像の縮小処理、および画像の反転処理の内の何れか１つの画像処理を画像に対して施すことを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記画像処理手段は、前記画像に対して画像の切り出し処理を施す場合、オブジェクトの重複度が高い領域が含まれるように切り出すことを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
認証処理を行う情報処理システムであって、
画像と、前記画像内の特定の領域を示す領域情報と、前記領域に対応するオブジェクトを示す単語情報とを関連付けて記憶する記憶手段と、
前記記憶手段により記憶された画像の中から、前記認証処理に使用する画像に対し画像処理を施す画像処理手段と、
前記画像処理手段による画像処理が施された画像を認証用画像として提供する提供手段と、
前記提供手段により提供された画像内のいずれかの位置をユーザーが指定したことに応じて、当該位置が含まれる領域の領域情報に関連付けられた単語情報を特定する特定手段と、
前記特定手段にて特定された単語情報を用いて認証処理を行う認証手段と、を有する情報処理システム。
【請求項１２】
認証処理を行う情報処理装置を制御する制御方法であって、
記憶手段は、画像と、前記画像内の特定の領域を示す領域情報と、前記領域に対応するオブジェクトを示す単語情報とを関連付けて記憶し、
画像処理手段は、前記記憶手段により記憶された画像の中から、前記認証処理に使用する画像に対し画像処理を施し、
提供手段は、前記画像処理手段による画像処理が施された画像を認証用画像として提供し、
特定手段は、前記提供手段により提供された画像内のいずれかの位置をユーザーが指定したことに応じて、当該位置が含まれる領域の領域情報に関連付けられた単語情報を特定し、
認証手段は、前記特定手段にて特定された単語情報を用いて認証処理を行うことを特徴とする制御方法。
【請求項１３】
請求項１２に記載の制御方法を情報処理装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス権限を確認する認証を行う情報処理装置、情報処理システム、制御方法、およびプログラムに関する
【背景技術】
【０００２】
従来から数字や記号を含む認証方法に加え、画像を用いた認証方法が多数実施されている。画像を用いた認証（以下、画像認証）は、アプリケーションなどを利用する際に、予め用意しておいた正解画像を指示させることで、利用者がアクセス権限や利用権限を持つことを証明する。例えば、利用者認証判断を行うために予め用意された複数の正解画像と正解画像以外の画像をランダムに配置し、１枚の認証用画像として扱うことを開示した文献がある（特許文献１参照）。この方式ではユーザーが認証用に予め用意した正解画像を全て選択することにより認証が行われる。これらの特徴により、ショルダーハッキング等におけるセキュリティの向上を図ることができる。
【０００３】
また、画像を加工することでセキュリティの向上を図ることを特徴とした画像認証方法も存在する（特許文献２参照）。この方法は、正解画像から人物の顔の一部や着衣の一部などの特定部位を抽出し、抽出した特定部位の色や形状を変更するといった加工を行うことを特徴としている。また正解画像と加工された複数の画像を一覧表示することで利用者へ認証用画像を提供することを特徴としている。これらの特徴により、例えば、システムが保有する認証用画像が少ない場合であっても、加工画像を増やすことによって認証用画像を増やすことが可能になるので高いセキュリティ性を保つことが出来る。認証システムの構築者は予め多くの認証用画像を用意する必要が無いため作業が軽減される。また、認証システムは少ない枚数の認証用画像を保有し、加工し利用し終わった認証用画像を破棄していくことでリソースの効率化が図れる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１０４３１４号公報
【特許文献２】特開２００８−２１０２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
少ない認証用画像で認証システムを構築する場合、従来技術で開示された技術を利用することで認証用画像の枚数を増やし、セキュリティ性の向上を図れる。しかしながら、従来技術は画像そのものがパスワードと同義であるため、第三者によるショルダーハッキング等の不正行為により正解画像を見られると、その時点でパスワードが漏れてしまうためセキュリティ性が低下すると言う問題がある。そこで本発明は、少ない枚数の認証用画像を保有するシステムにおいて、ショルダーハッキング等の盗聴に対しより強い堅牢性のある方法を提案する。
【課題を解決するための手段】
【０００６】
本願発明は、認証処理を行う情報処理装置であって、画像と、前記画像内の特定の領域を示す領域情報と、前記領域に対応するオブジェクトを示す単語情報とを関連付けて記憶する記憶手段と、前記記憶手段により記憶された画像の中から、前記認証処理に使用する画像に対し画像処理を施す画像処理手段と、前記画像処理手段による画像処理が施された画像を認証用画像として提供する提供手段と、前記提供手段により提供された画像内のいずれかの位置をユーザーが指定したことに応じて、当該位置が含まれる領域の領域情報に関連付けられた単語情報を特定する特定手段と、前記特定手段にて特定された単語情報を用いて認証処理を行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、少ない枚数の認証用画像を保有するシステムにおいて、ショルダーハッキング等の盗聴に対しより強い堅牢性を実現できる。
【図面の簡単な説明】
【０００８】
【図１】第一、第二、第三の実施例に係る情報処理装置の構成例を示す図。
【図２】（ａ）第一、第二、第三の実施例に係るソフトウェアモジュール構成例を示す図。（ｂ）第一、第二、第三の実施例に係るソフトウェアモジュール構成例を示す図。
【図３】タグ付き画像データの構成例を示す図。
【図４】（ａ）タグ付き画像の例を示す図。（ｂ）タグ付き画像の例を示す図。（ｃ）タグ付き画像の例を示す図。（ｄ）タグ付き画像の例を示す図。
【図５】利用者登録情報レコードの構成例を示す図。
【図６】第一〜第三の実施例の認証処理の流れを示す図。
【図７】第一の実施例の認証ユーザーインターフェースの例を示す図。
【図８】第一〜第三の実施例に係る二つの画像における指示された座標と単語の関連付けに関する説明図。
【図９】第一〜第三の実施例に係る利用者識別名の指示のためのユーザーインターフェースの例を示す図。
【図１０】加工履歴情報レコードの構成例を示す図。
【図１１】第一の実施例に係る画像加工方法の概要を示す図。
【図１２】第一の実施例の画像加工処理の流れを示す図。
【図１３】第二の実施例の画像加工処理の流れを示す図。
【図１４】第三の実施例の画像加工処理の流れを示す図。
【図１５】第一の実施例の画面５分割による画像加工処理の概要を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
［第一の実施例］
［システム構成］
図１は、本発明の第一の実施例の認証システムが稼働する情報処理装置の内部構成を模式的に表したものである。なお、本実施例に係る情報処理装置としては、一般的なパーソナルコンピュータ（ＰＣ）や携帯端末などが該当する。情報処理装置１００２はネットワーク１００１に接続され、外部装置との通信が可能である。なお、情報処理装置はサーバー型のコンピュータであっても良く、その場合は、クライアントからの要求に応じて認証用画像を提供するものとなる。その場合、情報処理装置は複数台であっても良いため、情報処理システムと称する。情報処理装置１００２が有する各構成要素について説明する。ＣＰＵ１１０１は中央処理装置であり、図１に示すように１つであっても、複数であっても良い。システムバス１２０１は、情報処理装置１００２が有する各構成要素間を接続し、情報の送受信を行う際に用いられる。ＲＯＭ１３０１は読み取り専用メモリであり、各種プログラムやデータが保持されている。ＲＡＭ１３０２は読み書き可能メモリであり、プログラムの実行時にワーク領域などとして利用される。
【００１１】
二次記憶装置１３０４は二次記憶装置であり、不揮発性の記憶領域のＨＤＤなどが該当する。また二次記憶装置１３０４には各種プログラム等が保持される。二次記憶Ｉ／Ｆ１３０３はシステムバス１２０１に二次記憶装置１３０４を接続するための二次記憶インタフェースである（以下、インタフェースをＩ／Ｆと表記する。）
キーボード１３０６およびポインティングデバイス１３０７は入力装置である。ポインティングデバイス１３０７は例えばマウスなどが挙げられる。入力装置Ｉ／Ｆ１３０５は、システムバス１２０１にキーボード１３０６やポインティングデバイス１３０７などを接続するための入力装置Ｉ／Ｆである。
【００１２】
ネットワークＩ／Ｆ１３０８は、ネットワーク１００１と情報処理装置１００２を接続するためのインタフェースであり、ネットワーク１００１とシステムバス１２０１との間に位置する。
【００１３】
ディスプレイ装置１３１０は、各種ユーザーインタフェース（以下、ＵＩ）をユーザーに提供するための表示装置である。なお、本実施例に係るディスプレイ装置１３１０はタッチパネルを備え、タッチ等によりユーザーからの指示を受け付けるようにしても構わない。ディスプレイ装置Ｉ／Ｆ１３０９は、システムバス１２０１とディスプレイ装置１３１０とを接続するためのディスプレイ装置Ｉ／Ｆである。
【００１４】
［モジュール構成］
図２Ａおよび図２Ｂは、本発明の第一の実施例の認証システムのモジュール構成について模式的に表したものである。これらのモジュール構成は、図１で示したＲＯＭ１３０１に格納されているプログラムがＲＡＭ１３０２にロードされ、ＣＵＰ１１０１により実行されることで実現する。これらモジュールが実現することによって、情報処理装置、または情報処理システムは制御される。では、図２Ａについて説明する。認証ＵＩ２００１は、ユーザーに対しディスプレイ装置１３１０を介して認証に係る各種ＵＩを提供する。タグ付き画像データベース２００３であり（以下、データベースをＤＢと表記する）、タグ付き画像データを格納している。利用者登録情報ＤＢ２００５（第二の記憶手段）は、利用者登録情報を格納している。加工履歴ＤＢ２００７は、過去に画像加工した記録である加工履歴を格納している。タグ付き画像データについては図３、利用者登録情報については図５、加工履歴については図１０を用いて説明する。図２Ｂは、認証ＵＩ２００１を構成するモジュールを示すものである。
【００１５】
（データ構造）
図３（ａ）は、タグ付き画像ＤＢ２００３に保持されているタグ付き画像データの例を模式的に示したものである。タグ付き画像データ３０００は、タグ付き画像データ全体を表す。画像データ３００１はタグ付き画像データ３０００における画像データそのものであり、認証用画像として用いられる画像データに相当する。さらに、タグ付き画像データ３０００は、タグデータ１〜Ｎ（Ｎは任意の数）を有する。ここではタグデータとして、タグデータ１  ３１０１、タグデータ２  ３１０２、・・・、タグデータＮ  ３１０９が示されている。一つのタグ付き画像データ３０００には少なくとも一つ以上のタグデータが付与されるものとし、各タグ付き画像データに付与されたタグデータはユーザーの指示等により追加もしくは削除されても構わない。各タグデータはそれぞれ領域情報と単語情報とを含む。ここでは、例えば、タグデータ１  ３１０１は、領域情報３２０１と単語情報３３０１とを含む。同様に、タグデータ２  ３１０２は領域情報３２０２と単語情報３３０２とを含み、タグデータＮ  ３１０９は領域情報Ｎ３２０９と単語情報Ｎ３３０９とを含む。
【００１６】
図３（ｂ）は、領域情報の構成例を示している。ｎ番目の領域情報３２０ｎ（ｎは任意の正の整数）は、画像データ３００１上の矩形の座標にて表現される。つまり、画像データ３００１においてｘ軸、ｙ軸が定義され、各点の座標はｘおよびｙにて示される。矩形の座標は具体的には対角線の二つの頂点のｘ座標とｙ座標により定義される。対角線上の第一の頂点に対してｘ座標３５０１、ｙ座標３５０２が定義される。また、同一対角線上の第二の頂点に対してｘ座標３５０３、ｙ座標３５０４が定義される。なお、画像データ上の領域を定義する方法はこれに限定するものではなく、例えば、領域情報を中心点と半径からなる円領域にて定義するようにしても構わない。
【００１７】
図３（ｃ）は、単語情報の構成例を示している。ｎ番目の単語情報３３０ｎ（ｎは任意の正の整数）は単語３６０１とロケール３６０２とを含む。ここで単語３６０１は、領域情報が示す画像の領域内にて表示される（紐付けられる）オブジェクトを示す。また、ここでのロケール（ｌｏｃａｌｅ）とは、単語３６０１が有する地域と言語の属性である。例えばロケール「ｊａ＿ＪＰ」は日本国内で使用される日本語を指示する。なお、ロケールは一般的に用いられている情報であるため、ここでの詳細な説明は省略する。単語情報は実際には複数の異なるロケールによる単語を保持してもよく、その場合は、続けて第二の単語と当該第二の単語のロケールを指示する情報が続くような実装が考えられる。また、領域情報１に対し、同じ意味を持つ夫々のロケールに対応した単語情報を複数関連付けても良い。例えば、領域情報１に対し日本語の「犬」、英語の「ｄｏｇ」の両方を含めても良い。また、後述するように単語情報を翻訳する形態であっても良い。
【００１８】
図４Ａは本実施例に係るタグ付き画像データ３０００に対応付けられた画像データ３００１の一例を示している。図４Ｂ〜４Ｄを用いて、図４Ａに示す画像データ３００１に対してタグデータがどのように構成されるかを模式的に示す。本実施例において、タグデータ１  ３１０１は画像データ３００１内の矩形領域４２０１に関連付けられる。画像データ３００１内の矩形領域４２０１には鳥４３０１が含まれていることから、タグデータ１  ３１０１は矩形領域４２０１を表す領域情報３２０１と「鳥」という単語を表す単語情報３３０１とから構成される。上述したように領域情報３２０１は、矩形領域４２０１の対角座標を保持する。単語情報３３０１は、単語３６０１として「鳥」を保持する。単語情報３３０１のロケール３６０２は「ｊａ＿ＪＰ」を保持する。なお、これ以降の説明で登場するすべての単語情報のロケールは特に断りのない限り「ｊａ＿ＪＰ」であるものとする。タグデータ１  ３２０１はタグ付き画像データ３０００に保持される。
【００１９】
同様に矩形領域４２０２とそれに関連付けられた単語「山」４３０２からタグデータ２  ３１０２が構成され、同様にタグ付き画像データ３０００に保持される。矩形領域４２０３および単語「飛行機」４３０３も同様である。同様に図４Ｃに示す矩形領域４２０４と単語「川」４３０４とがタグデータ４  ３１０４を構成する。矩形領域４２０５と単語「家」４３０５とがタグデータ５  ３１０５を構成する。そして矩形領域４２０６と単語「森」４３０６とがタグデータ６  ３１０６を構成する。
【００２０】
さらに同様に、図４Ｄに掲げる矩形領域４２０７と単語「雲」４３０７とがタグデータ７３１０７を構成し、矩形領域４２０８と単語「月」４３０８とがタグデータ８  ３１０８を構成する。同様に矩形領域４２０９と単語「星」４３０９とがタグデータ９  ３１０９を構成する。さらに矩形領域４２１０と単語「空」４３１０とがタグデータ１０  ３１１０を構成する。
【００２１】
なお、本発明のタグ付き画像データの特徴として、単語情報に関連付けられた領域情報が、複数の単語情報に関連付けられてもよいことが挙げられる。例えば、単語「空」４３１０と、単語「月」４３０８とは異なる単語情報ではあるが、矩形領域４２０８においては矩形領域が重なるため、同じ領域情報が両方の単語情報に関連付けられることになる。これは、攻撃者である第三者の画像選択の盗み見による攻撃を防止することに効果的である。なぜなら、「空」をパスワードに持つユーザーが「月」と「空」が重複する領域を押下した場合、第三者から見ると「月」であるのか「空」であるのかを一義的に特定することができないからである。従来の画像認証は画像そのものがパスワードであったため、ショルダーハッキング等の盗聴に弱かった。タグ付き画像ＤＢ２００３には、上述したようなタグ付き画像データ３０００と同様に矩形領域ごとに単語情報が関連付けられたタグ付き画像データが多数蓄積されている。以上、タグ付き画像は、画像内の特定の領域にオブジェクトが対応していることを説明した。
【００２２】
次に利用者登録情報について説明する。図５は、利用者登録情報ＤＢ２００５に格納されている利用者登録情報レコードの構成を模式的に示している。利用者登録情報レコード５０００は、１の利用者登録情報の全体構成を示している。利用者識別名５００１は、利用者登録情報のうち利用者を識別するための識別情報であり、ユーザー情報であり、文字列が指定される。シャドウパスワード５００２は、代替認証に用いるために指定されているシャドウパスワードである。代替認証とは、何らかのシステム的原因やアクセシビリティなどにより本願発明に基づく画像による認証が実施困難である場合に用いる認証のための別手段を指す。代替認証の手段を用意するか否かは実装による。
【００２３】
単語リストデータ５００３は、利用者登録情報レコード５０００にデータが格納されている利用者の認証に用いるための単語リストデータである。単語リスト長データ５１０１は、単語リストデータ５００３に含まれる単語の総数を指示するリスト長のデータである。単語リスト５１０２は登録された単語の一覧を示す。単語リスト５１０２には単語１〜Ｎ（Ｎは任意の正の整数）が含まれており、ここでは単語１  ５２０１、単語２  ５２０２、・・・、単語Ｎ  ５２０９が示されている。なお、単語リスト長データ５１０１には、Ｎの値が格納されることとなる。単語リスト５１０２には少なくとも一つの単語が含まれている。なお、単語リスト５１０２に含まれる単語は、ユーザーの指示等により追加もしくは削除されても構わない。
【００２４】
ロケール５１０３は、単語リスト５１０２に含まれている単語１  ５２０１から単語Ｎ  ５２０９に含まれている単語のロケールを示す。例えば、利用者識別名５００１が「ＵＳＥＲ＿Ａ」であるような利用者Ａの単語リストデータ５００３のロケール５１０３が「ｊａ＿ＪＰ」で、単語リスト５１０２に含まれる単語が「鳥」「月」「雲」である、というように実現される。
【００２５】
単語リスト５１０２に含まれている単語５２０ｎ（ｎは任意の正の整数）と、単語情報３３０ｎ（ｎは任意の正の整数）を構成する単語３６０１とは、相互に比較可能なデータ形式で格納されている。例えば単語リスト５１０２に含まれている単語５２０ｎが「鳥」であり、また特定のタグデータ３１０ｎに含まれる単語情報の単語３６０１もまた「鳥」である時に、この二つは一致すると判定される。
【００２６】
この比較において、それぞれに付随するロケール３６０２およびロケール５１０３が一致することを単語同士の一致の条件に加えることも可能である。あるいはこれらロケールが異なっていて単語自体は一致しないケースにおいて、単語の一方をそのロケールから他方のロケールに自動翻訳を行い、その結果と他方の単語が一致することを一致の条件とすることも可能である。例えば、単語「鳥」と単語「ｂｉｒｄ」とを一致する単語として扱うようにしても構わない。
【００２７】
次に加工履歴について説明する。図１０（ａ）は、加工履歴ＤＢ２００５に格納されている加工履歴レコードの構成を模式的に示している。加工履歴１０００１は、過去加工した内容の記録全体を表しており、履歴データ１〜Ｎ（Ｎは任意の数）を有している。ここでは履歴データとして、履歴データ１  １０１０１、履歴データ２  １０１０２、・・・、履歴データＮ  １０１０９が示されている。
【００２８】
各履歴データは、それぞれ加工対象となったタグ付き画像データ３０００、またはタグ付き画像データ３０００への相対パスを示す対象画像データ１０２０１と、加工情報１０３０１とを含む。ここでは、例えば、履歴データ１  １０１０１は、対象画像データ１０２０１と加工情報１０３０１とを含む。同様に、履歴データ２  １０１０２は、対象画像データ１０２０２と加工情報１０３０２とを含み、履歴データＮ  １０１０９は、対象画像データ１０２０９と加工情報１０３０９とを含む。
【００２９】
図１０（ｂ）は、加工情報の構成例を示している。ｎ番目の加工情報１０３０ｎ（ｎは任意の正の整数）は、どのような加工を行ったかを示す加工方法１０５０１と、加工方法１０５０１による加工の具体的な操作を示す加工詳細１０５０２から構成されている。図１０（ｂ）の加工詳細１０５０２は、タグ付き画像データ３０００の一部を切出す方法の加工詳細の例である。具体的には１０６０１から１０６０４の要素にて切出す矩形領域を示している。頂点１のｘ座標１０６０１、及び頂点１のｙ座標１０６０２は切出す矩形領域の始点を示している。また頂点２のｘ座標１０６０３、及び頂点２のｙ座標１０６０４は切出す矩形領域の終点を示している。始点と終点を矩形領域の対角線上の頂点として切出す領域を表現している。尚、画像データ上の領域を定義する方法はこれに限定するものではなく、例えば、領域情報を中心店と半径からなる円領域にて定義するようにしても構わない。タグ付き画像データ内の領域の一部を切りだすことで、同じ画像であっても認証用画像として異なるものを提供できる。無論、切り出した画像に対して色反転処理等を施し、加工済みの認証用画像の色を変えても良い。どのような加工が行われようとも、画像データ自体に意味があるのではなく、画像データ内の領域に紐付く単語情報に意味があるため、画像の加工に関しては制限されない。
【００３０】
続いて図２Ｂを用いて認証ＵＩ２００１のより詳細なモジュール構成について説明する。利用者識別名入力ＵＩモジュール２１０１は、利用者識別名を入力するための画面表示と入力の取得を行うためのモジュールである。利用者識別名問合せモジュール２１０２は、利用者識別名を利用者登録情報ＤＢ２００５に対して問い合わせ、その利用者名が登録されている場合には対応する利用者登録情報レコード５０００を取得するモジュールである。画像認証ＵＩモジュール２１０３は、画像データ３００１を表示し、利用者の指示内容を取得するためのモジュールである。
【００３１】
単語リストデータ取得モジュール２１０４は、利用者登録情報ＤＢ２００５から取得された利用者登録情報レコード５０００に含まれている単語リストデータ５００３を取得するモジュールである。単語リスト単語取得モジュール２１０５は、取得された単語リストデータ５００３から単語リスト５１０２を抽出し、その中から単語１〜Ｎを取り出すモジュールである。タグ付き画像抽出モジュール２１０６は、タグ付き画像ＤＢ２００３からタグ付き画像データ３０００を取得するためのモジュールである。画像データ抽出モジュール２１０７は、取得したタグ付き画像データ３０００から画像データ３００１を取り出すモジュールである。
【００３２】
座標単語照合モジュール２１０８は、画像認証ＵＩモジュール２１０３にて利用者が指示した座標と、単語リスト単語取得モジュール２１０５が取り出した単語（５２０１〜５２０９のいずれか）とをタグ付き画像データ３０００上で照合するモジュールである。座標単語照合モジュール２１０８は、タグ付き画像データ３０００に付与されているタグデータ（３１０１〜３１０９）の中に取得した座標と単語が適合するものがあるかどうかを判定する機能を有する。
【００３３】
認証結果判定モジュール２１０９は、本認証システムが認証を行った結果を保持するためのモジュールである。ダミー認証モジュール２１１０は、認証が途中で失敗した場合に、引き続き認証処理を行っているふりをすることで攻撃者のブルートフォース攻撃（Ｂｒｕｔｅ  Ｆｏｒｃｅ  Ａｔｔａｃｋ）に対する防御を行うためのモジュールである。無作為画像抽出モジュール２１１１は、ダミー認証モジュール２１１０が使用するタグ付き画像データ３０００をタグ付き画像ＤＢ２００３から無作為に抽出するモジュールである。
【００３４】
画像加工方法選択モジュール２１１２は、複数の画像加工方法から無作為、または加工履歴１０００１の加工情報を用いて画像の加工方法を選択するモジュールである。加工履歴１０００１を用いて加工方法を選択する場合、例えば、前回・前々回と同じ加工方法を選択しない選び方が挙げられる。例えば、加工の対象となる画像データが同じでなければ前回・前々回と同じ加工方法でも良いという加工方法の選択も可能である。
【００３５】
画像加工モジュール２１１３は、画像加工方法選択モジュール２１１２で決定した加工方法に基づき、タグ付き画像データ３０００を加工するモジュールである。加工履歴管理モジュール２１１４は、加工履歴ＤＢ２００７に対する加工履歴１０００１の保存、及び取得するためのモジュールである。例えば、画像加工モジュール２１１３による画像加工が完了した後、加工履歴管理モジュール２１１４によって加工履歴１０００１が情報更新される。
【００３６】
図２Ａおよび図２Ｂに示されている認証ＵＩ２００１の各モジュールは、情報処理装置１００２上のＲＡＭ１３０２に読み込まれ、ＣＰＵ１１０１により実行されるソフトウェアにより実現される。なお、上記の認証ＵＩ２００１の構成は一例であり、他のモジュールを追加してもよいし、必要に応じてモジュールの削除もしくは統合をしても構わない。
【００３７】
（画面例）
図７に認証ＵＩ２００１が提供する画面構成例を示す。図７（ａ）に示す利用者識別名入力画面７００１は、後述する図６のＳ６１０１においてディスプレイ装置１３１０に表示され、認証処理の対象となるユーザーの入力者識別名を入力するための画面である。ユーザーは利用者識別名入力欄７１０１に利用者識別名を入力する。認証開始ボタン７１０２は、利用者識別名入力欄７１０１に利用者が利用者識別名を入力した後に押下することにより認証開始を指示するためのボタンである。この利用者識別名入力画面７００１により、受付手段を実現する。
【００３８】
図７（ｂ）に示す画像認証画面７００２は、Ｓ６１０２にて認証ＵＩ２００１が利用者識別名を取得した後にディスプレイ装置１３１０に表示する画面の構成例である。画像表示領域７２０１は、認証のためのタグ付き画像データ３０００の画像データ３００１を表示する表示領域である。キャンセルボタン７２０２は、認証を中止し、利用者識別名入力画面７００１へ戻るためのボタンである。図７（ｃ）は、タグデータ３１０１を用いた画像加工後の表示画面例を示している。尚、画像認証画面７００２、及びキャンセルボタン７２０２は図７（ｂ）と同様のため説明を省略する。
【００３９】
画像表示領域７３０１は、タグ付き画像３０００に対して画像加工モジュール２１１３により画像加工を行った結果を表示している。ここで本願発明の第一の実施例における画像加工処理の概要について、画像の切出しを例に図１１を用いて説明する。図１１（ａ）は、図４で示す画像データ３００１に対してタグデータがどのように構成されるかを模式的に示したものである。タグデータに関する説明は図４と同様のため説明を省略する。
図１１（ｂ）は、図１１（ａ）のタグデータの重複度を示す図である。重複度が高いほど、色が濃くなっている。ここでは、図１１（ａ）における「月」「空」「山」「雲」のタグデータが重複した領域１１００１が最も重複度の高い領域である。画像の切出し処理においてはこの重複度を用いて画像加工を行う。
【００４０】
破線矩形１１１０１は、画像の切出し領域の一例を示しており、最も重複度の高い領域を含むように選択されている。破線矩形１１２０１も、破線矩形１１１０１同様、画像の切出し領域の一例を示している。これらの破線矩形を用いて画像の切出しを行った例が図１１（ｃ）に示す図である。以上の処理によって、画像加工モジュール２１１３は、タグ付き画像データ３０００の画像加工を行う。尚、詳細な画像加工処理例は後述の図１２にて説明する。
【００４１】
［処理フロー］
次に本願発明の第一の実施例の認証システムの全体の動作について、図６を用いて説明する。上述したように本願発明に係る各種処理は、記憶部である二次記憶装置１３０４等に格納されたプログラムをＲＡＭ１３０２に読み出し、ＣＰＵ１１０１が実行することにより実現される。
【００４２】
処理が開始すると、認証ＵＩ２００１の利用者識別名入力ＵＩモジュール２１０１は、ディスプレイ装置１３１０に利用者識別名入力画面７００１を表示する。Ｓ６１０１にて利用者識別名入力ＵＩモジュール２１０１は、利用者が利用者認証開始の指示を行ったか否かを判定する。行っていなければ（Ｓ６１０１にてＮＯ）、再びＳ６１０１に戻り認証開始の指示を受けるまで待機する。認証開始の指示を行った場合は（Ｓ６１０１にてＹＥＳ）、処理はＳ６１０２へ進む。
【００４３】
Ｓ６１０２にて、利用者識別名入力ＵＩモジュール２１０１は、利用者が入力した利用者識別名を取得し、利用者識別名問合せモジュール２１０２へ引き渡す。その後、認証ＵＩ２００１の画像認証ＵＩモジュール２１０３は、ディスプレイ装置１３１０に画像認証画面７００２を表示する。
【００４４】
Ｓ６１０３にて、利用者識別名問合せモジュール２１０２は、利用者登録情報ＤＢ２００５にＳ６１０２で取得したユーザー情報である利用者識別名が登録されているか否かを問い合わせる。取得した利用者識別名が登録されている場合には（Ｓ６１０３にてＹＥＳ）、処理はＳ６２０１へ進む。利用者識別名が登録されていない場合には（Ｓ６１０３にてＮＯ）、処理はＳ６４０１へ進む。
【００４５】
Ｓ６２０１にて、単語リストデータ取得モジュール２１０４は、利用者登録情報ＤＢ２００５から入力された利用者識別名で登録されている利用者の利用者情報レコードを取得し、そのレコードから単語リストデータ５００３を取得する。
【００４６】
そして、Ｓ６２０２にて、単語リストデータ取得モジュール２１０４は、単語リストデータ５００３から取り出した単語リスト長データ５１０１の回数だけ繰り返すループへ突入する。ループの回数を判定し規定回数分のループが終わっていない場合には、処理はＳ６２０３へ進む。規定回数分のループが終わった場合には処理はＳ６３０１へ進む。
【００４７】
Ｓ６２０３にて、単語リスト単語取得モジュール２１０５は、ループを一回実行するごとに、単語リストデータ５００３に含まれる単語リスト５１０２から単語を一つずつ取得する。例えば、ループの一回目の実行であれば、単語リスト単語取得モジュール２１０５は単語１  ５２０１を取得する。単語リスト単語取得モジュール２１０５が単語を取得する順番は、単語リストの一番目の単語から順番でもよいし、利用者にとって既知の別の取得順の規則を採用してもよい。つまり、単語を取得する順序を所定の規則に従って定義することにより、同じ複数の単語であっても認証する順を任意に変更することができる。なお、本実施例では、単語１から順に取得し、この単語に対応する画像を順次表示するものとする。また、本実施形態において、利用者も指定する単語が表示される順序は把握しているものとする。
【００４８】
そして、Ｓ６２０４にて、タグ付き画像抽出モジュール２１０６は、Ｓ６２０３にて取得した単語を含むタグデータ３１０ｎが保持されているタグ付き画像データ３０００をタグ付き画像ＤＢ２００３から探し出す。適応するタグ付き画像データ３０００が一つしか見つからない場合には、タグ付き画像抽出モジュール２１０６はそれを取得する。適応するタグ付き画像データ３０００が複数登録されている場合には、タグ付き画像抽出モジュール２１０６は、ランダムに一つを選択し取得する。なお、単語リストに含まれる単語情報に関連付けられていない画像をわざと選択しても良い。
【００４９】
Ｓ６２０５は、画像加工方法選択モジュール２１１２がタグ付き画像データ３０００に対する加工方法を選択する処理である。尚、Ｓ６２０５では加工方法をランダムに選択しているが、これに限定するものではなく、加工履歴ＤＢ２００７に格納された加工履歴１０００１を用いて加工方法を選択しても良い。例えば、過去に行った画像処理と同じ画像処理を施すようにしても良いし、前回の画像処理とは異なる別の画像処理を施すようにしても良い。
【００５０】
Ｓ６２０６は、Ｓ６２０５で選択された加工方法に基づき、タグ付き画像データ３０００を加工する処理である。ここで本処理における加工処理の一例として、画像の切出し処理を、図１２を用いて説明する。
【００５１】
（画像加工処理）
図１２は、タグ付き画像データ３０００に対する画像の切出し処理の流れを示している。Ｓ１２１０１は、画像加工モジュール２１１３の依頼により画像加工方法選択モジュール２１１２が切出し方法の詳細な処理方法をランダム選択する処理である。尚、Ｓ１２１０１では切出し方法をランダムに選択しているが、これに限定するものではなく、加工履歴１０００１等のデータを用いた選択をしても良い。
【００５２】
Ｓ１２１０２は、Ｓ１２１０１で選択した切出し方法によって処理を分けるための判断処理である。切出し方法が「画像５分割」の場合はＳ１２２０１へ処理が進み、「完全ランダム」の場合、処理はＳ１２３０１へ進む。「タグの重複を考慮」した画像切出し方法が選択された場合、処理はＳ１２４０１へ進む。
【００５３】
Ｓ１２２０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００を仮想的に５分割し、その中から切出す位置をランダムに選択する処理である。画像の５分割は、例えば、図１５に示すように、画像を上下左右に分割した４種類（（１）から（４））と、画像の中心部分の１種類（５）に分けることを指している。尚、Ｓ１２２０１では分割サイズを「５」としているが、切出す位置が固定となれば良いので、正の整数であればいくつでも良い。Ｓ１２２０１で切出し位置が選択されると、処理はＳ１２２０２へ進む。Ｓ１２２０２は、画像加工モジュール２１１３が、ランダムに選択した切出し位置に正解となるタグが含まれるか否かを判断する処理である。正解となるタグが含まれている場合、処理はＳ１２５０１（後述）へ進む。正解となるタグが含まれていない場合、再度切出し位置を選択するために、処理はＳ１２２０１へ進む。
【００５４】
Ｓ１２３０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００から矩形領域を切出すためのサイズをランダムに選択する処理である。Ｓ１２３０２は、画像加工モジュール２１１３が、タグ付き画像データ３０００から切出す矩形領域の始点をランダムに選択する処理である。Ｓ１２３０１、及びＳ１２３０２により切出す矩形領域を確定することができる。Ｓ１２３０３は、画像加工モジュール２１１３が、サイズ及び領域の始点をランダムに選択した矩形領域に、正解となるタグが含まれているか否かを判断する処理である。正解となるタグが含まれている場合、処理はＳ１２５０１（後述）へ進む。正解となるタグが含まれていない場合、再度切出しサイズと切出し矩形領域の始点を選択するために、処理はＳ１２３０１へ進む。
【００５５】
Ｓ１２４０１は、画像加工モジュール２１１３が、タグの重複計算のために画像からタグデータを抽出する処理である。そして、Ｓ１２４０２にて、画像加工モジュール２１１３は、画像から抽出したタグデータの数だけ繰り返すループ処理へ突入する。ループの回数を判定し規定の回数分のループが終わっていない場合、処理はＳ１２４０３へ進む。規定回数分のループが終わった場合には、処理はＳ６３０１に進む。
【００５６】
Ｓ１２４０３は、画像加工モジュール２１１３が、タグデータの四隅の座標の重複度を計算する処理である。具体的には、四隅の座標、すなわち矩形領域の各頂点が他の矩形領域に含まれているかを判断し、その頂点が他の矩形領域に含まれている数をカウントする。四隅の座標の重複度計算が完了すると、別のタグデータで計算するために処理がＳ１２４０２に進む。Ｓ１２４０４では、画像加工モジュール２１１３が、Ｓ１２４０３で計算した各々の頂点の重複度の内、最も重複度の高い座標群から頂点座標をランダムに１つ抽出する処理である。即ち、オブジェクトの重複度が高い領域が特定できる。
【００５７】
次にＳ１２４０５にて、画像加工モジュール２１１３は、タグ付き画像データ３０００から矩形領域を切出すためのサイズをランダムに選択する。Ｓ１２４０６は、画像加工モジュール２１１３が、Ｓ１２４０４で抽出した頂点座標（以下、抽出座標）とＳ１２４０５で選択した切出しサイズをもとに切出し領域を決定する処理である。具体的には抽出座標が、切出しサイズの中心となるように切出し領域の始点を決定する処理である。以上の処理によりにより画像加工モジュール２１１３が、タグの重複度の高い領域を含むように画像を切出すことができる。切り出すことで新たに生成された画像データは、オブジェクトの重複度が高い画像の為、ユーザーの認証動作が盗み見られたとしても一義的に単語情報を特定できるものではない。尚、切出す位置の決定手段として抽出座標を中心としているが、重複度の高いタグデータが含まれるように切出すことが出来れば、方法はこれに限らない。
【００５８】
Ｓ１２４０６は、画像加工モジュール２１１３が、Ｓ１２４０５で抽出した頂点座標を持つタグデータを抽出し、Ｓ１２４０４で選択したサイズにおいて該タグデータを含むように切出し領域の始点を決定する。つまりＳ１２４０４の矩形領域のサイズ、及びＳ１２４０６の矩形領域の始点から構成される矩形領域は、必ず正解タグを含むように選択されている。Ｓ１２４０６が完了すると、処理はＳ１２５０１に進む。
【００５９】
Ｓ１２５０１では、画像加工モジュール２１１３が、Ｓ１２１０１で選択された切出し方法により選択された切出し矩形領域をタグ付き画像データ３０００に適用し、実際に画像を切出す。Ｓ１２５０２は、画像加工モジュール２１１３の依頼により加工履歴管理モジュール２１１４が、加工履歴ＤＢ２００７に加工情報を格納する処理である。Ｓ１２５０２によりｎ回前までの加工処理を記録することができる。尚、図１２における画像加工は、必ず画像加工をするように述べられているが、これに限らず、画像を加工しない場合があっても良い。例えば、３回に１回は画像を加工しないというような運用があっても良い。
【００６０】
図６の説明に戻る。Ｓ６２０７にて、画像データ抽出モジュール２１０７は、Ｓ６２０６にて加工されたタグ付き画像データ３０００の画像データ３００１を、画像認証ＵＩモジュール２１０３へ渡す。画像認証ＵＩモジュール２１０３は、渡された画像データ３００１を画像認証画面７００２の画像表示領域に表示する。そしてＳ６２０８にて、画像認証ＵＩモジュール２１０３は、利用者からの指示を待つ。ここで利用者は、画像表示領域７２０１内のいずれかの座標をポインティングデバイス１３０７等で指定するか、キャンセルボタン７２０２を押下してキャンセルを指示する。利用者が何らかの指示を行った場合、画像認証ＵＩモジュール２１０３は、指定された座標の情報またはキャンセルボタン押下の指示を取得する。利用者がキャンセルを指示した場合には（Ｓ６２０９にてＹＥＳ）、処理はＳ６１０１へ戻る。利用者が座標を指定した場合には（Ｓ６２０９にてＮＯ）、処理はＳ６２１０へ進む。
【００６１】
Ｓ６２１０にて、画像認証ＵＩモジュール２１０３は、利用者が指定した座標を座標単語照合モジュール２１０８へ引き渡す。そして、座標単語照合モジュール２１０８は、指定された座標がＳ６２０３にて取得した単語を含むタグデータの領域情報にて定義される矩形領域内にあるかどうかを判定する。例えば、取得した単語情報が含まれていたタグデータを構成する領域情報が矩形領域（１００，１００）−（２００，２００）であるとする。ここで利用者が指定した座標が（１５０，１５０）であれば、利用者が指定した座標は領域情報が示す矩形領域内にあると判断される。よって、利用者は認証を行うために指定しなくてはならない単語に対応する画像上の位置を正しく指定できたことになる。
【００６２】
一方、利用者が指定した座標が例えば（２５０，２５０）であれば、その座標は領域内にはないと判断され、利用者は認証を行うために指定しなくてはならない単語に対応する画像上の位置を正しく指定できなかったことになる。
【００６３】
利用者が指定しなくてはならない単語に対応する画像上の位置を正しく指定した場合には（Ｓ６２１０にてＹＥＳ）処理は再びＳ６２０２へ戻って続行される。利用者が単語に対応する画像上の位置を正しく指定しなかった場合には（Ｓ６２１０にてＮＯ）処理はＳ６４０１へ進む。
【００６４】
Ｓ６２０２にて、ループを規定回数実行し終わった場合には処理はＳ６３０１へ進み（Ｓ６２０２→Ｓ６３０１）、認証結果判定モジュール２１０９は認証が成功したという結果を保持する。その後、本処理フローを終了する。
【００６５】
利用者識別名が利用者登録情報ＤＢ２００５に登録されていない場合や（Ｓ６１０３にてＮＯ）、座標が領域情報の矩形領域内にない場合には（Ｓ６２１０にてＮＯ）、処理はＳ６４０１へ進む。Ｓ６４０１にて、ダミー認証モジュール２１１０は、ループ回数をランダムに決定し、その回数だけＳ６４０２〜Ｓ６２０７のステップを繰り返す。決定した回数分のループの実行が終了していない場合には処理はＳ６４０２へ進む。決定した回数分のループの実行が終了した場合には処理はＳ６５０１へ進む。
【００６６】
Ｓ６４０２にて、無作為画像抽出モジュール２１１１は、タグ付き画像ＤＢ２００３からランダムにいずれかのタグ付き画像データ３０００を取得する。次にＳ６４０３にて、画像加工方法選択モジュール２１１２は、タグ付き画像データ３０００に対する加工方法を選択する。更にＳ６４０４にて、画像加工モジュール２１１３は、Ｓ６２０５で選択された各方法に基づき、タグ付き画像データ３０００を加工する。
【００６７】
そしてＳ６４０５にて、無作為画像抽出モジュール２１１１は、取得したタグ付き画像データ３０００から画像データ３００１を取り出し、画像認証ＵＩモジュール２１０３へ渡す。画像認証ＵＩモジュール２１０３は、渡された画像データ３００１を画像認証画面７００２の画像表示領域７２０１に表示する。なお、本実施形態においてＳ６４０１にて決定する回数はランダムとしたが、これに限定するものではなく、ループ回数を予め規定しても構わない。
【００６８】
なお、上記処理フローにおいて、利用者が正しく利用者識別名を入力できなかった場合や選択すべき単語を正しく選択できなかった場合に、一定回数（ここでは、ランダム）のループを回すのは、利用者が実は攻撃者である場合を考慮しているためである。
【００６９】
つまり、攻撃者が自身の入力する利用者識別名が正しいかどうか、あるいは指定した座標が正しい単語を選択できているかの結果を即座に知ることができると、直ちに次の試行に移ることが可能になる。これによりブルートフォース攻撃が成功する確率が上がることとなる。これを防ぐために利用者が認証に失敗した後もダミーの認証画像を無作為に一定数表示し、利用者がそれに対する指示（ここでは、キャンセルボタンの押下）を行わないと最終的に認証が成功もしくは失敗したかどうかを知ることができないように構成されている。
【００７０】
続くＳ６４０６にて、画像認証ＵＩモジュール２１０３は、利用者が画像表示領域７２０１内のいずれかの座標をポインティングデバイス１３０７で指定するか、あるいはキャンセルボタン７２０２を押下してキャンセルを指示するのを待つ。画像認証ＵＩモジュール２１０３は、利用者が指定した座標またはキャンセルボタン押下を取得する。
【００７１】
もし、利用者がキャンセルを指示した場合には処理は（Ｓ６４０７ＹＥＳ）、Ｓ６１０１へ戻って以降の処理が続行される。座標が指示された場合には（Ｓ６４０７にてＮＯ）、処理はＳ６４０１へ戻って以降の処理が続行される。Ｓ６４０１にて決定した回数分のループの実行が終了した場合には処理はＳ６５０１へ進み（Ｓ６４０１→Ｓ６５０１）、認証結果判定モジュール２１０９は認証が失敗したという結果を保持する。その後、本処理フローを終了する。
【００７２】
上記説明では、利用者識別名入力画面７００１において利用者はキーボード１３０６から利用者識別名を入力することを想定していた。しかし、ディスプレイ装置１３１０に表示される仮想キーボードに対してポインティングデバイス１３０７により入力を行うようにしてもよい。また、他の手段を用いても構わない。
【００７３】
（別の表示画面例）
図９に利用者識別名入力画面７００１の別の構成例を示す。アイコン９１０１は、利用者が押下して「ＵＳＥＲ  Ａｌｐｈａ」という利用者の利用者識別名を指定するためのアイコン（ボタン）である。アイコン９１０２は、利用者が押下して「ＵＳＥＲ  Ｂｅｔａ」という利用者識別名を指定するためのアイコン（ボタン）である。アイコン９１０３は、利用者が押下して「ＵＳＥＲ  Ｇａｍｍａ」という利用者識別名を指定するためのアイコン（ボタン）である。
【００７４】
利用者は、キーボード１３０６から自身の利用者識別名を入力する代わりに、ポインティングデバイス１３０７を用いてアイコン９１０１、９１０２、９１０３のいずれかを押下することにより利用者識別名を指定することが可能である。
【００７５】
ここで図８を用いて更に説明を行う。利用者がここで指定すべき単語リスト５１０２中の単語が「空」であると仮定する。図８（ａ）に示す画像８００１の中で利用者は「空」という単語を意識し、座標８１０１をポインティングデバイス１３０７にて指定する。この場合、タグ付き画像データに関連付けられたタグデータのうち、座標８１０１を包含する領域情報（矩形領域）を有するタグデータは、単語「空」を含むタグデータ、単語「雲」を含むタグデータ、単語「月」を含むタグデータの三つがある。
【００７６】
システムは、利用者登録情報ＤＢ２００５に基づき利用者が指定しようとした単語が「空」であるという情報を持っており、また利用者が「空」が存在する画像領域内の座標８１０１または８１０２を指定したことを取得して検知する。これを根拠として、システムは、利用者が正しく自身が指定すべき単語を知っていると判断することができる。
【００７７】
一方、攻撃者が、この利用者がそのような指定を、ポインティングデバイス１３０７を用いて行っている様子を、例えば背後から盗み見ることができたとする。その場合でも攻撃者は、ここで選択された単語が「雲」であるのか「空」であるのかを知ることは原理的に不可能である。なぜなら、画像８００１に対して利用者が座標８１０１を指定したことによって、指定した単語は「空」であるかもしれない。または「雲」や「太陽」であるかもしれない。盗み見た第三者は、一回の操作を見ただけではそのいずれであるかまでは把握できない。
【００７８】
このように一つの座標に対応するタグデータが多ければ多いほど、攻撃者が認証のための秘密情報の一部であるところの単語を推定することは困難になる。このことから一つの画像に埋め込まれたタグデータの数が多ければ多いほど、攻撃者は利用者が指定した単語を特定することが困難になることが分かる。
【００７９】
また本願発明では別の機会に同じ利用者が認証を行おうとした場合には、例えば、画像８００１ではなく図８（ｂ）に示す画像８００２のように全く違う画像を提示する。画像８００２が提示された場合には、利用者は単語「空」に対応する座標として例えば座標８１０１をポインティングデバイス１３０７等にて指定する。画像８００２を含むタグ付き画像データに関連付けられたタグデータのうち、座標８１０２を含むタグデータは単語「空」を含むタグデータ、単語「雲」を含むタグデータ、単語「太陽」を含むタグデータの三つがある。その場合であっても利用者は指定すべき単語が「空」であることを知っているため正しく画像の内容を読み取って例えば座標８１０２を指定することで認証を行うことができる。
【００８０】
このように毎回違う画像に変更されて表示されることにより、攻撃者は単純に前回利用者が指定した座標を覚えることによる攻撃を行うことができない。なぜなら攻撃者が、前回利用者が指定した座標８１０１の情報しか持たない場合、画像８００２に対して座標８１０１を指定しても認証に成功しないからである。このように適切な単語を指定するための座標は提示される画像データによって変わる。この結果、本発明において、攻撃者は利用者が指定した座標を盗み見たり、盗聴したりすることによってなりすまして認証を成功させることはできない。
【００８１】
また上述したように、指定すべき単語が同一であっても、毎回違う画像データを提示することが可能である。この結果、攻撃者は、特定の画像が繰り返し出現することによる秘密情報の推定を行うことができず、Ｉｎｔｅｒｓｅｃｔｉｏｎ攻撃を行うことができない。さらに、図８に示した画像８００１および画像８００２は、タグ付き画像ＤＢ２００３に予め格納されており、特に利用者自身が用意したものに限定されない。このことから、攻撃者はＥｄｕｃａｔｅｄ−Ｇｕｅｓｓ攻撃を行うこともできない。
【００８２】
上述したような本願発明の特性は、単語リスト５１０２に単語が一つだけ格納されている場合でも発揮される。しかしながら、単語リスト５１０２に格納されている単語が複数あり、システムによる画像データ３００１の提示と利用者による座標の指定が単語数に応じて繰り返されることにより、より強力なセキュリティをもたらすことが可能となる。一方で、これら単語は「空」「月」「雲」と言った簡単な単語で構成されるため単語数が増加した場合であっても利用者はこれを容易に記憶することが可能である。もちろん、より具体的な単語を用いるようにしても構わない。
【００８３】
本発明の第一の実施例によれば、利用者が例えば「空」「月」「雲」と言った簡単な単語から構成される単語リストを秘密情報として記憶するだけで安全に利用できる認証システムを構築することができる。
【００８４】
また、本発明の第一の実施例により構築された認証システムは、Ｉｎｔｅｒｓｅｃｔｉｏｎ攻撃にもＥｄｕｃａｔｅｄ−Ｇｕｅｓｓ攻撃にも強いという特徴を有する。加えて本実施例により構築されたシステムには認証ＵＩ２００１を利用者が操作する様子を盗み見られていても秘密情報である認証に用いる単語情報が漏洩しないという特徴がある。
【００８５】
尚、本発明の第一の実施例では、必ず利用者にとって認証可能なタグデータが含まれるように記載されているが、これに限らず、認証可能なタグデータが含まれない画像を用いられても良い。この場合、例えば、図７の画像認証画面７００２に画像をスキップさせるための「スキップ」ボタン（不図示）や、前の画面へ戻るための「戻る」ボタン（不図示）を追加しても構わない。また認証可能なタグデータが含まれる画像、及び認証可能なタグデータが含まれない画像をユーザーの指定した確率（例えば、３回に１回だけ認証可能画像を表示する等）という処理をしても構わない。
【００８６】
また、本発明の第一の実施例では、重複度の高い領域を切出すように記載されているが、これに限らず、例えば利用者の設定で重複度の低いものを切出すようにできても良い。
また、本発明の第一の実施例では、例えば携帯電話やＰＣなどの、ローカルな環境を想定して記載されているが、サーバー、クライアントにおけるネットワークを介した通信において利用されても良い。
【００８７】
［第二の実施例］
第一の実施例では、少ない枚数で画像認証する場合の認証方法手段として、タグを用いた画像認証方法と切出しによる画像加工方法について述べた。しかしながら画像加工方法は画像の切出しのみに限定されない。そこで第二の実施例では、画像に対し縮小処理を施し画像の位置を動かす画像加工方法について述べる。第二の実施例の画像処理方法は、例えば、サーバー装置とクライアント装置との相互通信の際に押下した座標が盗み取られても、どのタグを押下したか推測しにくいという利点がある。なお、第一の実施例と重複する箇所については、説明を省略する。
【００８８】
図１０（ｃ）は、画像縮小及び移動による画像加工方法における加工情報の構成例を示している。ｍ番目の加工情報１０３０ｍ（ｍは任意の正の整数）は、どのような加工を行ったかを示す加工方法１０５０１と、加工方法１０５０１による加工の具体的な操作を示す加工詳細１０５０２から構成されている。図１０（ｃ）の加工詳細１０５０２は、縮小率１０７０１、及びタグ付き画像データ３０００の頂点（０，０）の位置がどこから開始されるかを示す頂点１  ｘ座標１０７０２、頂点１  ｙ座標１０７０３を持っている。縮小率１０７０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００をどの程度縮小するか示す値である。ｘ座標１０７０２、およびｙ座標１０７０３は、画像加工モジュール２１１３が、縮小されたタグ付き画像３０００をどの座標から表示させるかを示す始点である。
【００８９】
図７（ｄ）に、本実施例における認証ＵＩ２００１が提供する画面の構成例を示す。７４０１は、タグ付き画像データ３０００に対して縮小及び表示位置の移動を行った後に表示される加工画像である。ここでの加工画像７４０１は、図４Ａの画像データに対し、縮小率７５％の加工及び表示位置の移動を行った結果例である。
【００９０】
図１３に、タグ付き画像データ３０００に対する画像の縮小及び移動処理の流れを示す。Ｓ１３１０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００の縮小率をランダムに選択する処理である。尚、本処理はランダムによる縮小率選択に限定されず、加工履歴１０００１や画像サイズ等の基準を用いて決定しても良い。
【００９１】
Ｓ１３１０２は画像加工モジュール２１１３が、Ｓ１３１０１の縮小率で、仮想的に縮小した後の画像データの縦横のサイズを算出する処理である。次に画像加工モジュール２１１３は、画像の移動先の始点となるｘ座標１０７０２、ｙ座標１０７０３を、ランダムに選択する処理である。尚、Ｓ１３１０３で選択される座標は、画像表示領域７１０２のサイズを超えないものとする。
【００９２】
Ｓ１３１０４は、Ｓ１３１０３でランダムに選択した始点とＳ１３１０２で算出した縮小後の画像サイズをもとに、加工画像が画像表示領域７１０２に収まるかを判断する処理である。加工画像が画像表示領域に収まる場合、処理はＳ１３１０５に進む。加工画像が画像表示領域に収まらない場合、処理はＳ１３１０３に進み、再度始点を選択する。Ｓ１３１０５は、Ｓ１３１０１からＳ１３１０３により決定した画像加工処理方法を、タグ付き画像データ３０００に対して実際に適用する処理である。
【００９３】
Ｓ１３１０６は、画像加工モジュール２１１３の依頼により加工履歴管理モジュール２１１４が、加工履歴ＤＢ２００７に加工情報を格納する処理である。本処理が終わると、処理はＳ６４０５へ進む。尚、図１３における画像加工は、必ず画像加工をするように述べられているが、これに限らず、画像を加工しない場合があっても良い。
【００９４】
以上で示した、画像の縮小及び表示位置の移動による画像加工方法により、通信経路の盗聴に強い、タグを用いた画像認証方法を実現することが出来る。尚、本実施例では、図７（ｄ）に示すとおり加工画像の背景は空白として説明しているが、これに限定されず、例えばコラージュ画像のように別の画像を埋め込んでも良い。さらに埋め込んだ画像に認証可能なタグデータが存在する場合には、埋め込んだ画像による認証処理を行っても良い。
【００９５】
［第三の実施例］
第二の実施例では、画像を縮小及び表示位置の移動をすることで、通信経路の盗聴に強くなる画像加工方法について述べた。本実施例では、画像を回転・反転させることで通信経路の盗聴に強くなる画像加工方法について述べる。なお、第一の実施例、及び第二の実施例と重複する箇所については、説明を省略する。
【００９６】
図１０（ｄ）は、画像の回転による画像加工方法における加工情報の構成例を示している。ｋ番目の加工情報１０３０ｋ（ｋは任意の正の整数）は、どのような加工を行ったかを示す加工方法１０５０１と、加工方法１０５０１による加工の具体的な操作を示す加工詳細１０５０２から構成されている。図１０（ｄ）の加工詳細１０５０２は、加工種別１０８０１、回転の中心点を示すｚｘ座標１０８０２、ｙ座標１０８０３、及び回転角度を示す１０８０４を持っている。
【００９７】
加工種別１０８０１は、「回転」や「反転」等の、より具体的な加工方法が示される。ここでは、「回転」を例に説明を進める。ｘ座標１０８０２、ｙ座標１０８０３は、画像を回転させる際の中心座標を示す。回転角度１０８０４は、画像をどの程度回転させるかを示している。
【００９８】
図７（ｅ）に、本実施例における認証ＵＩ２００１が提供する画面の構成例を示す。７５０１は、タグ付き画像データ３０００に対して回転処理を適用した後に表示される加工画像である。ここでの加工画像７５０１は、図４Ａの画像データに対し、画像の中心を回転の中心とし、１８０度回転させて結果例である。
【００９９】
図１４に、タグ付き画像データ３０００に対する画像回転・反転処理の流れを示す。Ｓ１４００１は、画像加工モジュール２１１３が、タグ付き画像データ３０００に対する加工種別をランダムに選択する処理である。ここでの加工種別とは、「左右反転」「上下反転」「回転」を例としているが、これに限定されない。尚、本処理はランダムな選択に限定されず、加工履歴１０００１や画像データ等の何らかの基準を用いて決定しても良い。
次に画像加工モジュール２１１３は、Ｓ１４００２にて、Ｓ１４００１でどのような加工種別が選択されたかを判断する。加工種別が「左右反転」の場合は、Ｓ１４１０１進み、加工種別が「上下反転」の場合は、Ｓ１４２０１へ進む。また加工種別が「回転」の場合は、Ｓ１４３０１に進む。
【０１００】
Ｓ１４１０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００を左右反転させるための反転軸のＸ軸座標を計算する処理である。ここでは、画像データの中心で左右反転させるため、画像データの横サイズの半分の座標を算出できれば良い。本処理が完了すると、処理はＳ１４４０１（後述）へ進む。
【０１０１】
Ｓ１４２０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００を上下反転させるための反転軸のＹ軸座標を計算する処理である。ここでは、画像データの中心で上下反転させるため、画像データの縦サイズの半分の座標を算出できれば良い。本処理が完了すると、処理はＳ１４４０１（後述）へ進む。
【０１０２】
Ｓ１４３０１は、画像加工モジュール２１１３が、タグ付き画像データ３０００を回転させるための中心点座標をランダムに選択する処理である。またＳ１４３０２は、画像加工モジュール２１１３が、回転する角度をランダムに選択する処理である。尚、Ｓ１４３０１、Ｓ１４３０２はランダムな選択に限定されず、加工履歴１０００１や画像データ等の何らかの基準を用いて決定しても良い。
【０１０３】
Ｓ１４３０３は、画像加工モジュール２１１３が、Ｓ１４３０１とＳ１４３０２を用いて仮想的に画像を加工した場合に、画像表示領域７１０２に加工画像が収まるかを判断する処理である。画像表示領域７１０２に加工画像が収まると判断された場合はＳ１４４０１へ、収まらないと判断された場合は、Ｓ１４３０４へ処理が進む。尚、ここでは、画像表示領域７１０２に収まらない加工画像の一部は、切り取られるものと仮定する。
【０１０４】
Ｓ１４３０４は、画像表示領域７１０２に加工画像を当てはめた際に、認証が成功となる正解タグが残っているか、を判断する処理である。正解タグが残っている場合はＳ１４４０１へ、残っていない場合はＳ１４３０１へ処理が進む。
【０１０５】
Ｓ１４４０１は、Ｓ１４１０１、Ｓ１４１０２、及びＳ１４３０１からＳ１３１０４により決定した画像加工処理方法を、タグ付き画像データ３０００に対して実際に適用する処理である。Ｓ１４４０２は、画像加工モジュール２１１３の依頼により加工履歴管理モジュール２１１４が、加工履歴ＤＢ２００７に加工情報を格納する処理である。尚、「左右反転」及び「上下反転」についての加工情報は不図示であるが、各々の加工種別と反転軸が格納されていれば良い。本処理が終わると、処理はＳ６４０５へ進む。
【０１０６】
尚、図１４における画像加工は、必ず画像加工をするように述べられているが、これに限らず、画像を加工しない場合があっても良い。以上で示した、画像の回転・反転による画像加工方法により、通信経路の盗聴に強い、タグを用いた画像認証方法を実現することが出来る。
【０１０７】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読みだして実行する処理である。
【図１】
2014081729.tif 000003
【図２】
2014081729.tif 000004
【図３】
2014081729.tif 000005
【図４】
2014081729.tif 000006
【図５】
2014081729.tif 000007
【図６】
2014081729.tif 000008
【図７】
2014081729.tif 000009
【図８】
2014081729.tif 000010
【図９】
2014081729.tif 000011
【図１０】
2014081729.tif 000012
【図１１】
2014081729.tif 000013
【図１２】
2014081729.tif 000014
【図１３】
2014081729.tif 000015
【図１４】
2014081729.tif 000016
【図１５】
2014081729.tif 000017