(57)【特許請求の範囲】
【請求項１】
情報処理装置が、
アプリケーションを識別する識別子と、ユーザを識別するユーザ識別子と前記ユーザのパスワードを含む認証情報と、前記ユーザのパスワードが入力されるパスワード属性を有する第１のフィールドと前記ユーザ識別子が入力される第２のフィールドとの距離を示す距離情報とを対応付けて記憶する記憶部を参照し、起動中のアプリケーションから取得された識別子が前記記憶部に記憶されている場合、当該アプリケーションが表示する画面から、前記パスワード属性を有する前記第１のフィールドを検出し、
前記記憶部を参照し、検出された前記第１のフィールドに、前記識別子に対応付けて記憶されるパスワードを入力し、検出された前記第１のフィールドの位置と前記識別子に対応付けられる前記距離情報とに基づいて、前記アプリケーションが表示する画面から前記第２のフィールドを特定し、特定した前記第２のフィールドに、前記識別子に対応付けられる前記ユーザ識別子を入力する
処理を含むことを特徴とする認証情報管理方法。
【請求項２】
前記入力する処理は、前記ユーザ識別子と前記パスワードとキー情報とを対応付けた第１のテーブルと、前記識別子と前記距離情報と前記キー情報とを対応付けた第２のテーブルとを有する前記記憶部を参照し、前記識別子に対応付けて前記第２のテーブルに記憶される前記キー情報を用いて前記第１のテーブルから前記パスワードと前記ユーザ識別子とを特定し、特定した前記パスワードを前記第１のフィールドに入力し、特定した前記ユーザ識別子を前記第２のフィールドに入力することを特徴とする請求項１に記載の認証情報管理方法。
【請求項３】
前記入力する処理は、他のアプリケーションをさらに対応付けて記憶する記憶部を参照し、前記識別子に対応する前記認証情報が前記記憶部に記憶されていない場合、前記識別子に対応付けられる前記他のアプリケーションの識別子に対応付けて前記記憶部に記憶される認証情報を、前記第１のフィールドおよび前記第２のフィールドに入力することを特徴とする請求項１に記載の認証情報管理方法。
【請求項４】
前記検出する処理は、前記第１のフィールドの属性を検出する際に、他のアプリケーションが起動された場合、当該他のアプリケーションが表示する画面から、前記アプリケーションが表示する画面に表示を切り替えてから、前記第１のフィールドを検出することを特徴とする請求項１に記載の認証情報管理方法。
【請求項５】
情報処理装置に、
アプリケーションを識別する識別子と、ユーザを識別するユーザ識別子と前記ユーザのパスワードを含む認証情報と、前記ユーザのパスワードが入力されるパスワード属性を有する第１のフィールドと前記ユーザ識別子が入力される第２のフィールドとの距離を示す距離情報とを対応付けて記憶する記憶部を参照し、起動中のアプリケーションから取得された識別子が前記記憶部に記憶されている場合、当該アプリケーションが表示する画面から、前記パスワード属性を有する前記第１のフィールドを検出し
前記記憶部を参照し、検出された前記第１のフィールドに、前記識別子に対応付けて記憶されるパスワードを入力し、検出された前記第１のフィールドの位置と前記識別子に対応付けられる前記距離情報とに基づいて、前記アプリケーションが表示する画面から前記第２のフィールドを特定し、特定した前記第２のフィールドに、前記識別子に対応付けられる前記ユーザ識別子を入力する
処理を実行させることを特徴とする認証情報管理プログラム。
【請求項６】
アプリケーションを識別する識別子と、ユーザを識別するユーザ識別子と前記ユーザのパスワードを含む認証情報と、前記ユーザのパスワードが入力されるパスワード属性を有する第１のフィールドと前記ユーザ識別子が入力される第２のフィールドとの距離を示す距離情報とを対応付けて記憶する記憶部と、
起動中のアプリケーションから取得された識別子が前記記憶部に記憶されている場合、当該アプリケーションが表示する画面から、前記パスワード属性を有する前記第１のフィールドを検出する検出部と、
前記記憶部を参照し、検出された前記第１のフィールドに、前記識別子に対応付けて記憶されるパスワードを入力し、検出された前記第１のフィールドの位置と前記識別子に対応付けられる前記距離情報とに基づいて、前記アプリケーションが表示する画面から前記第２のフィールドを特定し、特定した前記第２のフィールドに、前記識別子に対応付けられる前記ユーザ識別子を入力する入力部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証情報管理方法、認証情報管理プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
近年、ユーザを取り巻くサービスは、スマートフォン対応のアプリケーションに見るように増加の一途にある。また、そのサービスの多くは、ユーザＩＤとパスワードによる認証を実行する。
【０００３】
認証をまとめる技術としては、ＳＳＯ（Single  Sign−On、シングルサインオン）が知られている。ＳＳＯには、サーバ側で実行されるＯｐｅｎＩＤやＳＡＭＬ（Security  Assertion  Markup  Language）などがあり、クライアント側ではパスワードマネージャなどがある。
【０００４】
パスワードマネージャは、アプリケーションＩＤ、ユーザＩＤ、パスワードと入力先の入力フィールドのＩＤを対応付けて記憶し、該当するアプリケーションの入力フィールドを抽出すると、対応付けられるユーザＩＤとパスワードを自動で入力する。例えば、Ｗｅｂブラウザであれば、アプリケーションＩＤは「ｈｔｔｐ：//ｗｗｗ.ＡＡＡ.ＡＡＡ」などのユニークなＩＤである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４８７３８号公報
【特許文献２】特開２０１３−２５７６２４号公報
【特許文献３】特開２０１４−１５７５７８号公報
【特許文献４】特開２０１２−８３８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、スマートフォン対応のアプリケーションなどのように、独立性の高いアプリケーションに対して、入力ミスが発生する場合がある。
【０００７】
例えば、スマートフォンなどで利用できるアプリケーションや仮想マシンなどを用いて実行されるアプリケーションは、独立性が高く、他のアプリケーションからアクセスできる範囲が制限される。このため、パスワードマネージャは、入力フィールドのＩＤを検出することができず、ユーザＩＤの入力フィールドにパスワードを流し込むなど、間違った入力を実行する場合がある。
【０００８】
１つの側面では、認証情報を自動で入力することができる認証情報管理方法、認証情報管理プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、情報処理装置が、アプリケーションを識別する識別子と認証情報とを対応付けて記憶する記憶部を有する。情報処理装置が、起動中のアプリケーションから取得された識別子が前記記憶部に記憶されている場合、当該アプリケーションが表示する画面から、前記認証情報の属性を有する入力フィールドを検出する。情報処理装置が、前記記憶部を参照し、検出された前記入力フィールドに、前記識別子に対応付けて記憶される前記認証情報を入力する。
【発明の効果】
【００１０】
１実施形態によれば、認証情報を自動で入力することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るスマートフォンを説明する図である。
【図２】図２は、実施例１に係るスマートフォンのハードウェア構成例を示す図である。
【図３】図３は、実施例１に係るスマートフォンの機能構成を示す機能ブロック図である。
【図４】図４は、シーンＤＢに記憶される情報の例を示す図である。
【図５】図５は、認証情報ＤＢに記憶される情報の例を示す図である。
【図６】図６は、フィールド間の距離を説明する図である。
【図７】図７は、スマートフォンが実行する事前処理の流れを示すフローチャートである。
【図８】図８は、スマートフォンが実行する自動入力処理の流れを示すフローチャートである。
【図９】図９は、スマートフォンが実行する自動入力処理を説明する図である。
【図１０】図１０は、実施例２に係るスマートフォンが実行する自動入力処理を説明する図である。
【図１１】図１１は、実施例２に係るスマートフォンが実行する自動入力処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する認証情報管理方法、認証情報管理プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［スマートフォンの説明］
図１は、実施例１に係るスマートフォンを説明する図である。本実施例で説明するスマートフォン１０は、移動体端末や情報処理装置などユーザ端末の一例である。スマートフォン１０以外に、携帯電話、サーバ、ノートパソコンなどであっても、同様に処理することができる。
【００１４】
図１に示すように、スマートフォン１０は、インストール済みのアプリケーションやＷｅｂブラウザなどを用いることで、様々なアプリケーションを利用することができる。また、各アプリケーションは、ユーザ端末からアクセスを受け付けると、ユーザＩＤとパスワードを入力させてユーザ認証を実行し、ユーザ認証を許可したユーザに対して、アプリケーションの使用を許可する。
【００１５】
例えば、図１に示すように、ＡＡＡアプリ１は、ユーザＩＤを入力する入力フィールド（以下、ＩＤフィールドと記載する場合がある）１ａとパスワードを入力する入力フィールド（以下、パスワードフィールドを記載する場合ある）１ｂとを含むトップ画面を、スマートフォン１０に表示させる。そして、ＡＡＡアプリ１は、ＩＤフィールド１ａに入力されたユーザＩＤと、パスワードフィールド１ｂに入力されたパスワードとを用いて、ユーザ認証を実行する。
【００１６】
スマートフォン１０は、パスワードマネージャなどのソフトウェアを利用して、各種アプリケーションのユーザＩＤとパスワードを管理する。
【００１７】
このようなスマートフォン１０は、アプリケーション１を識別する識別子と認証情報とを対応付けて記憶する記憶部を参照する。そして、スマートフォン１０は、アプリケーション１から取得された識別子が記憶部に記憶されている場合、当該アプリケーション１から、認証情報の属性を有する入力フィールドを検出する。その後、スマートフォン１０は、記憶部を参照し、検出された入力フィールドに、識別子に対応付けて記憶される認証情報を入力する。
【００１８】
例えば、スマートフォン１０は、アプリ画面からパスワード属性のフィールドを検出して予め記憶するパスワードを入力した後、予め記憶するフィールド間距離にあるＩＤフィールドに予め記憶するＩＤを入力する。このようにすることで、スマートフォン１０は、入力フィールドを特定するＩＤが検出できない場合でも、認証情報の自動入力を実現することができる。
【００１９】
［ハードウェア構成］
図２は、実施例１に係るスマートフォンのハードウェア構成例を示す図である。図２に示すように、スマートフォン１０は、通信部１１、表示部１２、音声入出力部１３、ＨＤＤ（Hard  Disk  Drive）１４、メモリ１５、プロセッサ２０を有する。なお、ここで挙げたハードウェアは一例であり、他のハードウェアを有していてもよい。
【００２０】
通信部１１は、アンテナ１１ａを介して、他の装置と無線通信を実行する回路等である。表示部１２は、各種情報を表示するディスプレイやタッチパネルなどである。音声入出力部１３は、スピーカから音声を出力し、マイクで集音された音声に対して各種処理を実行する回路等である。
【００２１】
ＨＤＤ１４は、データベースやテーブルなどを記憶する記憶装置である。メモリ１５は、プログラムなどの展開などに使用される記憶装置である。プロセッサ２０は、スマートフォン１０の全体を司る電子回路等であり、ＨＤＤ１４に記憶されるプログラムを読み出してメモリ１５に展開し、パスワードマネージャなどの各種ソフトウェアを実行する。
【００２２】
［スマートフォンの機能構成］
図３は、実施例１に係るスマートフォンの機能構成を示す機能ブロック図である。図３に示すように、スマートフォン１０は、シーンＤＢ２１、認証情報ＤＢ２２、事前処理部２３、属性判定部２４、パス入力部２５、キーイベント発行部２６、ＩＤ入力部２７、コピーペースト入力部２８、登録部２９を有する。
【００２３】
シーンＤＢ２１と認証情報ＤＢ２２は、ＨＤＤ１４などの記憶されるデータベースである。事前処理部２３、属性判定部２４、パス入力部２５、キーイベント発行部２６、ＩＤ入力部２７、コピーペースト入力部２８、登録部２９は、プロセッサ２０が有する電子回路の一例やプロセッサ２０が実行するプロセスの一例である。
【００２４】
シーンＤＢ２１は、各アプリケーションフィールド情報や各アプリケーションに入力する認証情報などを記憶するデータベースである。図４は、シーンＤＢに記憶される情報の例を示す図である。
【００２５】
図４に示すように、シーンＤＢ２１は、「シーンＩＤ、フィールド数、パスワード属性、ＩＤ−ＰＷＤの距離、認証情報ＤＢ」を対応付けて記憶する。「シーンＩＤ」は、認証を要求するアプリケーションを識別する識別子であり、例えばアプリケーションが表示する認証画面から取得できる。「フィールド数」は、アプリケーションが表示する認証画面が有する入力フィールドの数である。「パスワード属性」は、アプリケーションが表示する認証画面にパスワード属性の入力フィールドが存在するか否かの示す情報である。
【００２６】
「ＩＰ−ＰＷＤの距離」は、パスワード属性を有するパスワードフィールドとユーザＩＤを入力するＩＤフィールドの距離を示す情報である。「認証情報ＤＢ」は、認証情報ＤＢ２２のレコードを特定する情報であり、例えばキー情報である。なお、「シーンＩＤ、フィールド数、パスワード属性、ＩＤ−ＰＷＤの距離」は、管理者等によって適宜更新することができ、管理サーバなどのからの配信によって自動更新させることもできる。
【００２７】
図４の例では、「ＡＡＡ／．ｌｏｇｉｎ」で識別されるアプリケーションの認証画面は、パスワード属性を有する入力フィールドを含んだ２つの入力フィールドを有し、パスワードフィールドから距離「１」の位置にＩＤフィールドを有する。そして、このアプリケーションの情報と認証情報ＤＢ２２に記憶されるレコードとは、「ＡＡＡ」によって対応付けられる。
【００２８】
認証情報ＤＢ２２は、アプリケーションごとに、ユーザＩＤとパスワードとを対応付けて記憶するデータベースである。図５は、認証情報ＤＢに記憶される情報の例を示す図である。図５に示すように、認証情報ＤＢ２２は、「アプリ名、ユーザＩＤ、パスワード」を対応付けて記憶する。
【００２９】
「アプリ名」は、アプリケーションンを識別する識別子であり、図４の認証情報ＤＢに対応する。「ユーザＩＤ」は、ユーザを識別する識別子を示し、「パスワード」は、ユーザＩＤに対応付けられるパスワードを示す。図５の場合、「ＡＡＡ」で特定されるアプリケーションには、ＩＤ「ＸＸＸＸＸ」、パスワード「ＹＹＹＹＹ」でログインできることを示す。
【００３０】
事前処理部２３は、認証情報の自動入力を実行する前の事前処理を実行する処理部である。具体的には、事前処理部２３は、起動中のアプリケーション、すなわち認証画面を表示するアプリケーションが自動入力の対象か否かを判定したり、認証画面をアクティブにしたり、認証画面が有する入力フィールドにフォーカスしたりする。
【００３１】
例えば、事前処理部２３は、アプリケーションが実行されたり、Ｗｅｂアクセスが実行されたりして、アプリケーションのトップ画面が表示されると、当該トップ画面からシーンＩＤを取得する。一例を挙げると、事前処理部２３は、トップ画面がＷｅｂブラウザで表示されている場合、ＵＲＬ（Uniform  Resource  Locator）などを取得し、アプリケーションの場合は、アプリ名やアプリケーションで指定されるＩＤなどを取得する。
【００３２】
そして、事前処理部２３は、取得したシーンＩＤがシーンＤＢ２１に記憶されている場合、自動入力の対象と判定し、自動入力を実行するか否かを問い合わせる画面等を表示させて、ユーザに自動入力の可否を問い合わせる。その後、事前処理部２３は、自動入力を実行すると判定した場合、属性判定部２４に処理開始を依頼する。また、事前処理部２３は、自動入力が可能であることをユーザに知らせるために、ＩＭＥ（Input  Method  Editor）内にボタンを出現させることもできる。また、事前処理部２３は、表示されるトップ画面にあわせて、ＩＭＥを自動的に切り替えることもでき、使用するＩＭＥをユーザに選択させることもできる。
【００３３】
一方、事前処理部２３は、取得したシーンＩＤがシーンＤＢ２１に記憶されていない場合、自動入力の対象外と判定し、新規登録を実行するか否かを問い合わせる画面表示や、ＩＭＥ内に新規登録を示すボタンを出現させる等をして、新規登録の可否をユーザに問い合わせる。その後、事前処理部２３は、新規登録を実行すると判定した場合、登録部２９に処理開始を依頼する。
【００３４】
また、事前処理部２３は、自動入力の処理開始を属性判定部２４に依頼してから、例えば、このパスワードマネージャ機能を利用可能なユーザであるかどうかを判断するユーザ認証処理（例えば、指紋認証、顔認証などのバイオ認証など）を行うアプリケーションが実行された場合、元の認証画面の入力フィールドを再フォーカスする。例えば、事前処理部２３は、自動入力の開始前に、アクティブな画面が切り替わった場合、認証情報を入力する認証画面を再度アクティブにしてから、自動入力を実行させる。
【００３５】
属性判定部２４は、起動中のアプリケーションから取得されたシーンＩＤがシーンＤＢ２１に記憶されている場合、当該アプリケーションが表示する画面から、パスワード属性を有する入力フィールドを検出する処理部である。
【００３６】
例えば、属性判定部２４は、事前処理部２３から自動入力の開始が指示されると、アクティブになっているアプリケーションのトップ画面が有する入力フィールドの中から、パスワード属性を有する入力フィールドを検出する。一例を挙げると、属性判定部２４は、ＩＭＥがそのフィールドに最適なキーボード種別（数字、アルファベット、文字）を決めるためにＯＳから取得するフィールド属性や、表示されている画面を音声出力するためにＯＳが用意している認証画面の論理構成や、ＨＴＭＬ（HyperText  Markup  Language）などから取得する。そして、属性判定部２４は、パスワード属性を有する入力フィールド、すなわちパスワードフィールドを検出すると、パス入力部２５にパスワードの入力を依頼する。
【００３７】
パス入力部２５は、パスワードフィールドにパスワードを入力する処理部である。具体的には、パス入力部２５は、属性判定部２４からパスワードの入力が依頼されると、事前処理部２３からシーンＩＤを取得する。そして、パス入力部２５は、取得されたシーンＩＤに対応付けられるキー情報をシーンＤＢ２１から特定し、特定したキー情報に対応付けられるパスワードを認証情報ＤＢ２２から特定する。
【００３８】
続いて、パス入力部２５は、属性判定部２４が検出したパスワードフィールドに、特定したパスワードを入力する。その後、パス入力部２５は、キーイベント発行部２６に、ＩＤフィールドの検索を依頼する。
【００３９】
キーイベント発行部２６は、キーイベントを発行して、アプリケーションのトップ画面からＩＤフィールドを検索する処理部である。具体的には、キーイベント発行部２６は、シーンＤＢ２１に記憶されるＩＤ−ＰＷＤの距離と、属性判定部２４が検出したパスワードフィールドの位置とから、アプリケーションのトップ画面、すなわち認証画面上でＩＤフィールドを検索する。
【００４０】
例えば、キーイベント発行部２６は、パス入力部２５からＩＤフィールドの検索が依頼されると、事前処理部２３からシーンＩＤを取得する。そして、キーイベント発行部２６は、取得されたシーンＩＤに対応付けられるＩＤ−ＰＷＤの距離をシーンＤＢ２１から特定する。その後、キーイベント発行部２６は、ＩＤ−ＰＷＤの距離分のキーイベントを発行して、ＩＤフィールドを検出する。そして、ＩＤフィールドを検出すると、キーイベント発行部２６は、ＩＤ入力部２７にユーザＩＤの入力を依頼する。
【００４１】
一例を挙げると、キーイベント発行部２６は、ＩＤ−ＰＷＤの距離分、パスワードフィールドから上または下に位置する入力フィールドを、ＩＤフィールドと検出する。ここで、ＩＤ−ＰＷＤの距離について説明する。
【００４２】
図６は、フィールド間の距離を説明する図である。図６には、トップ画面の論理構成の一例であり、入力フィールドを示す「ＥｄｉｔＴｅｘｔ」が３つ存在する場合を図示する。この場合、パスワード属性の入力フィールド「ＥｄｉｔＴｅｘｔ（password属性）」から２行上に、ＩＤを入力する入力フィールド「ＥｄｉｔＴｅｘｔ」が位置することから、パスワードフィールドとＩＤフィールドとの距離は、「２」となる。
【００４３】
ＩＤ入力部２７は、ＩＤフィールドにユーザＩＤを入力する処理部である。具体的には、ＩＤ入力部２７は、キーイベント発行部２６からユーザＩＤの入力が依頼されると、事前処理部２３からシーンＩＤを取得する。そして、ＩＤ入力部２７は、取得されたシーンＩＤに対応付けられるキー情報をシーンＤＢ２１から特定し、特定したキー情報に対応付けられるユーザＩＤを認証情報ＤＢ２２から特定する。
【００４４】
続いて、ＩＤ入力部２７は、キーイベント発行部２６が検出したＩＤフィールドに、特定したユーザＩＤを入力する。その後、ＩＤ入力部２７は、ユーザＩＤとパスワードが入力されたトップ画面にあるログインボタンなどを押下して、ユーザ認証を開始させる。
【００４５】
ここで、ＩＤ入力部２７は、ユーザ認証が拒否された場合や他の入力フィールドが存在する場合、コピーペースト入力部２８に対して、認証情報の入力補助を依頼する。
【００４６】
コピーペースト入力部２８は、コピー＆ペーストによる入力を実行する処理部である。具体的には、コピーペースト入力部２８は、ＩＤ入力部２７から処理が依頼されると、以前に使用されたユーザＩＤとパスワードを対応付けた情報の一覧をディスプレイ等に表示させる。そして、コピーペースト入力部２８は、ユーザが選択したユーザＩＤやパスワードをコピーして、ユーザが選択した入力フィールドにペーストする。
【００４７】
登録部２９は、ユーザＩＤとパスワードを新規登録する処理部である。具体的には、登録部２９は、事前処理部２３から新規登録の処理が依頼されると、ユーザが入力したユーザＩＤとパスワードとを、表示されているトップ画面から取得、あるいは登録専用の表示画面を用意し、その画面内にＩＤとパスワード入力を促して取得してもよい。また新規登録におけるパスワード入力においては、ユーザの代わりにそのアプリケーションのパスワードポリシーに従ったパスワードを自動生成するボタンを設け、そのボタンを押すことで、パスワード入力を行ってもよい。続いて、登録部２９は、事前処理部２３からシーンＩＤを取得して、取得したシーンＩＤを有するレコードをシーンＤＢ２１から特定する。そして、登録部２９は、特定したレコードの「認証情報ＤＢ」が登録されているか否かを判定する。
【００４８】
ここで、登録部２９は、特定したレコードの「認証情報ＤＢ」が登録されている場合、当該「認証情報ＤＢ」をキーにして認証情報ＤＢ２２から、ユーザＩＤとパスワードを検索する。そして、登録部２９は、検索されたユーザＩＤとパスワードを、トップ画面から取得した新たなユーザＩＤとパスワードで更新する。
【００４９】
一方、登録部２９は、特定したレコードの「認証情報ＤＢ」が登録されていない場合、当該「認証情報ＤＢ」を生成してシーンＤＢ２１に格納する。さらに、登録部２９は、新たに生成した「認証情報ＤＢ」と、トップ画面から取得したユーザＩＤとパスワードとを対応付けた情報を認証情報ＤＢ２２に格納する。
【００５０】
［事前処理の流れ］
次に、スマートフォン１０が実行する事前処理を説明する。図７は、スマートフォンが実行する事前処理の流れを示すフローチャートである。
【００５１】
図７に示すように、事前処理部２３は、アプリケーションが起動されると、アプリケーションのトップ画面を表示する（Ｓ１０１）。
【００５２】
そして、事前処理部２３は、アプリケーションのトップ画面からシーンＩＤを取得する（Ｓ１０２）。これと並行して、事前処理部２３は、アプリケーションのトップ画面から、トップ画面が有する属性をチェックし（Ｓ１０３）、パスワード属性があるか否かを判定する（Ｓ１０４）。
【００５３】
そして、事前処理部２３は、パスワード属性がなく（Ｓ１０４：Ｎｏ）、所定のボタン等が長押しされた場合（Ｓ１０５：Ｙｅｓ）、登録部２９に新規登録処理を依頼する（Ｓ１０６）。一方、事前処理部２３は、パスワード属性がなく、所定のボタン等の長押しもない場合（Ｓ１０５：Ｎｏ）、処理を終了する。または、事前処理部２３は、コピーペースト入力部２８に、処理を依頼することもできる。
【００５４】
一方、事前処理部２３は、アプリケーションのトップ画面にパスワード属性がある場合（Ｓ１０４：Ｙｅｓ）、Ｓ１０２で取得されたシーンＩＤがシーンＤＢ２１に登録されているか否かによって、アプリケーションが自動入力の対象か否かを判定する（Ｓ１０７）。
【００５５】
そして、事前処理部２３は、アプリケーションが自動入力の対象である場合（Ｓ１０８：Ｙｅｓ）、ディスプレイに確認画面などを表示させて、自動入力を実行するか否かを問い合わせる（Ｓ１０９）。
【００５６】
ここで、事前処理部２３は、自動入力を実行すると判定すると（Ｓ１０９：Ｙｅｓ）、自動入力処理を実行する（Ｓ１１０）。一方、事前処理部２３は、自動入力を実行しないと判定すると（Ｓ１０９：Ｎｏ）、処理を終了する。または、事前処理部２３は、コピーペースト入力部２８に、処理を依頼することもできる。
【００５７】
また、Ｓ１０８において、事前処理部２３は、アプリケーションが自動入力の対象ではない場合（Ｓ１０８：Ｎｏ）、Ｓ１０５以降を実行する。
【００５８】
［自動入力処理の流れ］
次に、スマートフォン１０が実行する自動入力処理を説明する。図８は、スマートフォンが実行する自動入力処理の流れを示すフローチャートである。
【００５９】
図８に示すように、事前処理部２３は、自動入力処理を開始すると、対象となっているアプリケーションのトップ画面等にあわせたＩＭＥに切り替える（Ｓ２０１）。続いて、事前処理部２３は、入力フィールドすなわち対象のアプリケーションがフォーカスされていない場合は、対象アプリケーションを再フォーカスする（Ｓ２０２）。
【００６０】
そして、事前処理部２３は、取得されたシーンＩＤに対応するＩＤ−ＰＷＤの距離がシーンＤＢ２１に記録されているかどうかを取得し、記録されていない場合には（Ｓ２０３：Ｎｏ）、画面の論理構成を取得し（Ｓ２０４）、その構成を解析してＩＤ−ＰＷＤの距離を算出（取得）する。算出できない場合には（Ｓ２０５：Ｎｏ）、事前処理部２３は、以前に使用されたユーザＩＤとパスワードを対応付けた情報の一覧をディスプレイ等に表示させて、ユーザＩＤとパスワードのペーストを実行する（Ｓ２１６）。
【００６１】
一方、記録されている場合（Ｓ２０３：Ｙｅｓ）、あるいはＩＤ−ＰＷＤの距離を取得できた場合には（Ｓ２０５：Ｙｅｓ）、属性判定部２４は、表示されているアプリケーションのトップ画面から入力フィールドを選択し（Ｓ２０６）、選択した入力フィールドの属性を取得し（Ｓ２０７）、取得した属性がパスワード属性か否かを判定する（Ｓ２０８）。
【００６２】
ここで、属性判定部２４がパスワード属性ではないと判定した場合（Ｓ２０８：Ｎｏ）、属性判定部２４は、キーイベント発行部２６に発行させたキーイベントを利用して、他の入力フィールドを検索して（Ｓ２０９）、Ｓ２０６以降を繰り返す。
【００６３】
例えば、属性判定部２４がキーイベント発行部２６にキーイベントの発行を依頼すると、キーイベント発行部２６は、取得されたシーンＩＤに対応するＩＤ−ＰＷＤの距離をシーンＤＢ２１から取得する。そして、キーイベント発行部２６は、取得した距離分、検出した入力フィールドから上または下に移動して、次の入力フィールドを検出し、属性判定部２４に通知する。なお、移動順は、上からでも下からでもよく、両方に入力フィールドが検出された場合は、いずれか一方から属性の判定が実行される。
【００６４】
一方、属性判定部２４がパスワード属性であると判定した場合（Ｓ２０８：Ｙｅｓ）、パス入力部２５は、シーンＤＢ２１と認証情報ＤＢ２２とを用いて特定したパスワードを、検出されたパスワードフィールドに入力する（Ｓ２１０）。
【００６５】
その後、キーイベント発行部２６は、キーイベントを発行して、入力フィールドを検索する（Ｓ２１１）。そして、ＩＤ入力部２７は、検索された入力フィールドをＩＤフィールドと判定し、シーンＤＢ２１と認証情報ＤＢ２２とを用いて特定したユーザＩＤを、検出されたＩＤフィールドに入力する（Ｓ２１２）。
【００６６】
その後、ＩＤ入力部２７は、他の入力フィールドが存在しない場合（Ｓ２１３：Ｎｏ）、処理を終了する。一方、他の入力フィールドが存在する場合（Ｓ２１３：Ｙｅｓ）、コピーペースト入力部２８は、コピー＆ペーストで自動入力が可能か否かを判定する（Ｓ２１４）。
【００６７】
例えば、コピーペースト入力部２８は、未入力のフィールドが存在するなどを理由にして認証処理が許可されない場合、他の入力フィールドが存在すると判定する。すると、コピーペースト入力部２８は、認証が許可されたユーザＩＤとパスワードの組の有効期限が超過していないかを判定し、超過していない場合、コピー＆ペーストで自動入力が可能と判定する。例えば、コピーペースト入力部２８は、オートコンプリート機能により自動入力可能かを判定する。
【００６８】
そして、コピーペースト入力部２８は、コピー＆ペーストで自動入力が可能と判定した場合（Ｓ２１４：Ｙｅｓ）、コピー＆ペーストにより、各入力フィールドにユーザＩＤとパスワードを入力する（Ｓ２１５）。
【００６９】
一方、コピーペースト入力部２８は、コピー＆ペーストで自動入力が可能ではないと判定した場合（Ｓ２１４：Ｎｏ）、以前に使用されたユーザＩＤとパスワードを対応付けた情報の一覧をディスプレイ等に表示させて、ユーザＩＤとパスワードのペーストを実行する（Ｓ２１６）。なお、処理の順番は矛盾のない範囲で入れ替えることもできる。
【００７０】
［自動入力処理の説明］
次に、上述した自動入力処理を説明する。図９は、スマートフォンが実行する自動入力処理を説明する図である。
【００７１】
図９に示すように、スマートフォン１０は、パスワードマネージャを実行する。パスワードマネージャは、アプリケーションが起動されて、シーンＤＢ２１に記憶されるシーンＩＤを有する認証画面が表示されると、認証画面からパスワード属性を有するパスワードフィールド１ｂを検出する（Ｓ１）。
【００７２】
そして、パスワードマネージャは、検出したパスワードフィールド１ｂに、予め記憶するパスワードを流し込む（Ｓ２）。続いて、パスワードマネージャは、予め記憶するフィールド間の距離にしたがって、ＩＤフィールド１ａを検出する（Ｓ３）。その後、パスワードマネージャは、検出したＩＤフィールド１ａに、予め記憶するユーザＩＤを流し込む（Ｓ４）。
【００７３】
［効果］
上述したように、スマートフォン１０は、まずパスワード属性を有する入力フィールドを検出してパスワードを入力した後、次に、予め記憶するフィールド間の距離を用いて検出した入力フィールドにユーザＩＤを入力する。したがって、スマートフォン１０は、入力フィールドのＩＤが検出できない独立性の高いアプリケーション等に対しても、自動入力を実現することができる。
【００７４】
また、スマートフォン１０は、シーンＤＢ２１と認証情報ＤＢ２２とを別々に管理することで、アプリケーションの入力フィールドの構成が変更された場合でも、シーンＤＢ２１を更新すればよい。このため、スマートフォン１０は、アプリケーションのバージョンアップが発生した場合であっても、認証情報を再登録する処理の発生を抑制し、入力フィールドの構成変更に追従することができる。
【００７５】
また、スマートフォン１０は、認証を要求するアプリケーションのトップ画面から他のアプリケーションの画面に遷移した場合でも、認証を要求するアプリケーションのトップ画面に戻ってから、自動入力処理を実行する。このため、スマートフォン１０は、画面の切り替わりによる認証情報の入力ミスの発生を軽減できる。
【実施例２】
【００７６】
ところで、実施例１では、シーンＤＢ２１と認証情報ＤＢ２２とを別のＤＢで情報を管理する場合を例にして説明したが、これに限定されるものではなく、１つのＤＢで管理することもできる。そこで、実施例２では、シーンＤＢ２１を用いて認証情報も管理する例を説明する。
【００７７】
［実施例２の自動入力処理］
図１０は、実施例２に係るスマートフォンが実行する自動入力処理を説明する図である。図１０に示すように、スマートフォン１０は、「シーンＩＤ、フィールド数、パスワード属性、ＩＤ−ＰＷＤの距離、ユーザＩＤ、パスワード、関連情報」を対応付けて記憶するシーンＤＢ２１を有する。
【００７８】
ここで記憶される情報のうち、実施例１と異なる情報は「関連情報」であり、この「関連情報」は、関連するシーンＩＤを対応付ける情報である。つまり、図１０の例では、シーンＩＤ「ＡＡＡ／．ｌｏｇｉｎ」の「関連情報」が「ＡＡＡ．ｃｏｍ」であり、シーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」の「関連情報」が「ＡＡＡ．ｃｏｍ」であることから、これらは関連付けられていることがわかる。
【００７９】
このような状態において、スマートフォン１０は、Ｗｅｂブラウザを用いて「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」にアクセスして、トップ画面であるＡＡＡページ２を取得する。続いて、スマートフォン１０は、ＡＡＡページ２の画面上から、シーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」を取得するとともに、パスワード属性を有する入力フィールド２ｂを検出する。
【００８０】
その後、スマートフォン１０は、シーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」に対応付けられるパスワードをシーンＤＢ２１から検索する。ところが、当該パスワードが未登録であることから、スマートフォン１０は、シーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」に対応付けられる関連情報をシーンＤＢ２１から検索する。
【００８１】
そして、スマートフォン１０は、シーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」に対応付けられる関連情報が「ＡＡＡ．ｃｏｍ」であることを特定する。さらに、スマートフォン１０は、シーンＤＢ２１を参照して、関連情報が「ＡＡＡ．ｃｏｍ」である他のシーンＩＤを検索する。
【００８２】
そして、スマートフォン１０は、「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」以外に、関連情報が「ＡＡＡ．ｃｏｍ」であるシーンＩＤとして「ＡＡＡ／．ｌｏｇｉｎ」を特定する。
【００８３】
さらに、スマートフォン１０は、新たに特定したシーンＩＤ「ＡＡＡ／．ｌｏｇｉｎ」に対応付けられるパスワード「ＢＢＢ」をシーンＤＢ２１から特定し、ＡＡＡページ２の画面上で検出したパスワードフィールド２ｂに入力する。
【００８４】
続いて、スマートフォン１０は、シーンＤＢ２１を参照して、対象のシーンＩＤ「ｈｔｔｐ：／／ｗｗｗ／ＡＡＡ．ｃｏｍ」に対応付けられるＩＤ−ＰＷＤの距離が「２」であることを特定する。そして、スマートフォン１０は、距離「１」を用いて、ＡＡＡページ２の画面上からＩＤフィールド２ａを検出する。
【００８５】
その後、スマートフォン１０は、新たに特定したシーンＩＤ「ＡＡＡ／．ｌｏｇｉｎ」に対応付けられるユーザＩＤ「ＡＡＡ」をシーンＤＢ２１から特定し、ＡＡＡページ２の画面上で検出したＩＤフィールド２ａに入力する。
【００８６】
このように、スマートフォン１０は、関連するシーンＩＤのユーザＩＤとパスワードを入力して、ユーザ認証を実行させることができる。
【００８７】
［実施例２の処理の流れ］
図１１は、実施例２に係るスマートフォンが実行する自動入力処理の流れを示すフローチャートである。
【００８８】
図１１に示すように、事前処理部２３は、自動入力処理を開始すると、対象となっているアプリケーションのトップ画面等にあわせたＩＭＥに切り替える（Ｓ３０１）。続いて、事前処理部２３は、入力フィールドすなわち対象のアプリケーションがフォーカスされていない場合は、対象アプリケーションを再フォーカスする（Ｓ３０２）。
【００８９】
そして、事前処理部２３は、取得されたシーンＩＤに対応するＩＤ−ＰＷＤの距離がシーンＤＢ２１に記録されているかどうかを取得し、記録されていない場合には（Ｓ３０３：Ｎｏ）、画面の論理構成を取得し（Ｓ３０４）、その構成を解析してＩＤ−ＰＷＤの距離を算出（取得）する。算出できない場合には（Ｓ３０５：Ｎｏ）、事前処理部２３は、以前に使用されたユーザＩＤとパスワードを対応付けた情報の一覧をディスプレイ等に表示させて、ユーザＩＤとパスワードのペーストを実行する（Ｓ３１９）。
【００９０】
一方、記録されている場合（Ｓ３０３：Ｙｅｓ）、あるいはＩＤ−ＰＷＤの距離を取得できた場合には（Ｓ３０５：Ｙｅｓ）、属性判定部２４は、表示されているアプリケーションのトップ画面から入力フィールドを選択し（Ｓ３０６）、選択した入力フィールドの属性を取得し（Ｓ３０７）、取得した属性がパスワード属性か否かを判定する（Ｓ３０８）。
【００９１】
ここで、属性判定部２４がパスワード属性ではないと判定した場合（Ｓ３０８：Ｎｏ）、属性判定部２４は、キーイベント発行部２６に発行させたキーイベントを利用して、他の入力フィールドを検索して（Ｓ３０９）、Ｓ３０６以降を繰り返す。
【００９２】
一方、属性判定部２４がパスワード属性であると判定した場合（Ｓ３０８：Ｙｅｓ）、パス入力部２５は、対象のシーンＩＤに対して、シーンＤＢ２１にパスワードが登録されているか否かを判定する（Ｓ３１０）。
【００９３】
ここで、パス入力部２５が、対象のシーンＩＤに対応するパスワードが登録されていると判定した場合（Ｓ３１０：Ｙｅｓ）、実施例１と同様の自動入力処理が実行される（Ｓ３１１）。
【００９４】
一方、パス入力部２５は、対象のシーンＩＤに対応するパスワードが登録されていないと判定した場合（Ｓ３１０：Ｎｏ）、シーンＤＢ２１を参照して、対象のシーンＩＤと関連する他のシーンＩＤが登録されているか否かを判定する（Ｓ３１２）。
【００９５】
ここで、パス入力部２５は、関連する他のシーンＩＤが登録されている場合（Ｓ３１２：Ｙｅｓ）、関連する他のシーンＩＤに対応付けられるパスワードを、検出されたパスワードフィールドに入力する（Ｓ３１３）。
【００９６】
続いて、キーイベント発行部２６は、表示されているトップ画面のシーンＩＤに対応付けられるＩＤ−ＰＷＤの距離分のキーイベントを発行して、入力フィールドを検索する（Ｓ３１４）。
【００９７】
そして、ＩＤ入力部２７は、関連する他のシーンＩＤに対応付けられるユーザＩＤを、検出された入力フィールドに入力する（Ｓ３１５）。その後は、実施例１のＳ２１３からＳ２１６と同様の処理であるＳ３１６からＳ３１９が実行される。
【００９８】
また、Ｓ３０９において、関連する他のシーンＩＤが登録されていないと判定された場合（Ｓ３１２：Ｎｏ）、Ｓ３１７以降が実行される。なお、処理の順番は矛盾のない範囲で入れ替えることもできる。
【００９９】
［効果］
このように、スマートフォン１０は、シーンＩＤに対応するパスワードとユーザＩＤが登録されていない場合でも、関連するシーンＩＤのパスワードとユーザＩＤを自動入力することができ、ユーザの利便性を向上させることができる。
【０１００】
例えば、同じショッピングサイトにログインするときでも、Ｗｅｂページからログインすることもでき、当該ショッピングサイトのアプリケーションからでもログインすることができる。しかし、ユーザが、アプリケーションからしかログインしたことなく、初めてＷｅｂページからログインする場合、同じユーザＩＤとパスワードを使用するにも関わらず、入力が求められる。
【０１０１】
さらに、このような場合は、シーンＤＢ２１において、ＷｅｂページのシーンＩＤにパスワードとユーザＩＤが登録されていない。したがって、実施例１では、スマートフォン１０は、自動入力することができない。
【０１０２】
そこで、上述した実施例２の処理を実行することにより、スマートフォン１０は、Ｗｅｂページに関連付けられるアプリケーションを特定し、特定したアプリケーションに対応付けられるユーザＩＤとパスワードを自動入力することができる。
【実施例３】
【０１０３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１０４】
［キーイベント］
例えば、スマートフォン１０は、任意の方向にキーイベントを発行することができる。例えば、スマートフォン１０は、パスワードフィールドよりも上にＩＤフィールドが存在することが一般的であることから、ＩＤ−ＰＷＤの距離分、パスワードフィールドから上に移動してＩＤフィールドを検出することができる。
【０１０５】
また、上記実施例では、ＩＤ−ＰＷＤの距離分の例を１や２などとする例を説明したが、これに限定されるものではない。例えば、上に＋１、下に−１、左に＋１かつ上に＋１など詳細に設定することもできる。なお、上とは、例えばＷｅｂページの先頭に向かう方向を指す。
【０１０６】
［登録処理］
また、上記実施例では、所定ボタンの長押しが発生した場合に新規登録を実行する例を説明したが、このトリガーは任意に変更することができる。例えば、新規登録を要求するボタンや操作を予め設定しておくこともできる。
【０１０７】
［システム］
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０８】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０９】
なお、本実施例で説明したスマートフォン１０は、認証情報管理プログラムを読み込んで実行することで、図３や図１０等で説明した処理と同様の機能を実行することができる。例えば、スマートフォン１０は、属性判定部２４、パス入力部２５、キーイベント発行部２６、ＩＤ入力部２７、コピーペースト入力部２８、登録部２９と同様の機能を有するプログラムをメモリに展開する。そして、スマートフォン１０は、属性判定部２４、パス入力部２５、キーイベント発行部２６、ＩＤ入力部２７、コピーペースト入力部２８、登録部２９と同様の処理を実行するプロセスを実行することで、上記実施例と同様の処理を実行することができる。
【０１１０】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【０１１１】
１０  スマートフォン
２１  シーンＤＢ
２２  認証情報ＤＢ
２３  事前処理部
２４  属性判定部
２５  パス入力部
２６  キーイベント発行部
２７  ＩＤ入力部
２８  コピーペースト入力部
２９  登録部
【図１】
0006361441.tif 000002
【図２】
0006361441.tif 000003
【図３】
0006361441.tif 000004
【図４】
0006361441.tif 000005
【図５】
0006361441.tif 000006
【図６】
0006361441.tif 000007
【図７】
0006361441.tif 000008
【図８】
0006361441.tif 000009
【図９】
0006361441.tif 000010
【図１０】
0006361441.tif 000011
【図１１】
0006361441.tif 000012