(57)【要約】【課題】許可プロンプトに頼らず信頼されたＷｅｂアプリケーションを特定可能とし、公共の場にも設置され得る複合機等の機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築すること。【解決手段】ＭＦＰ１０１に接続される携帯端末１０２で生体認証処理を行うために、ＷｅｂアプリケーションがＭＦＰ１０１のウェブブラウザ３００を介して携帯端末１０２にアクセスする場合に、携帯端末１０２にサービスの情報の要求を送信し（Ｓ９０７）、該要求に応じて携帯端末１０２から受信したサービスの情報に、前記Ｗｅｂアプリケーションに対応する情報が含まれている場合、前記Ｗｅｂアプリケーションからの要求に従い携帯端末１０２に認証要求を送信し（Ｓ９１１〜Ｓ９１３）、該認証要求に応じて携帯端末１０２から受信した認証結果を、前記Ｗｅｂアプリケーションに送信する（Ｓ９１６）。【選択図】図９
2020095433.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザが実行される情報処理装置であって、
前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第１要求手段と、
前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第２要求手段と、
前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブブラウザが前記ウェブアプリケーションが前記外部端末にアクセスすることに関する許可を求める画面を提供することなく、前記認証要求が前記外部端末に送信されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部端末から受信したサービスの情報は、前記外部端末での認証に関連する秘密鍵に対応する公開鍵が登録されたサービスの情報であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記送信手段により送信される前記認証結果は、前記認証要求に含まれる前記ウェブアプリケーションから送信されてきたパラメータと前記秘密鍵とを用いて作成された署名を含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれていない場合、前記外部端末を利用することなく前記ウェブアプリケーションを利用するための入力を促す画面を表示する表示手段を更に有することを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記外部端末とは、ＵＳＢまたはブルートゥースで接続されることを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記認証とは、生体認証であることを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
ウェブブラウザが実行される情報処理装置と外部端末と、を含むシステムであって、
前記情報処理装置は、
前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする際に、該外部端末にサービスの情報の要求である第１要求を送信する第１要求手段と、
前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第２要求手段と、
前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、を有し、
前記外部端末は、
前記情報処理装置から送信される前記サービスの情報の要求に応じて、当該外部端末に登録されているサービスの情報を応答する第１応答手段と、
前記情報処理装置から送信される前記認証要求に応じて、認証を行い、該認証結果を応答する第２応答手段と、を有する、
ことを特徴とするシステム。
【請求項９】
ウェブブラウザが実行される情報処理装置の制御方法であって、
前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第１要求ステップと、
前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第２要求ステップと、
前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
ウェブブラウザが実行される情報処理装置と外部端末と、を含むシステムの制御方法であって、
前記情報処理装置が実行する、
前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする際に、該外部端末にサービスの情報の要求である第１要求を送信する第１要求ステップと、
前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第２要求ステップと、
前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信ステップと、を有し、
前記外部端末が実行する、
前記情報処理装置から送信される前記サービスの情報の要求に応じて、当該外部端末に登録されているサービスの情報を応答する第１応答ステップと、
前記情報処理装置から送信される前記認証要求に応じて、認証を行い、該認証結果を応答する第２応答ステップと、を有する、
ことを特徴とするシステムの制御方法。
【請求項１１】
コンピュータを、請求項１〜７のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブブラウザが実行される情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、Ｗｅｂアプリケーションが提供するＪａｖａＳｃｒｉｐｔプログラムからコンピュータに接続されたＢｌｕｅｔｏｏｔｈデバイスやＵＳＢデバイスを操作することができるＷｅｂＢｌｕｅｔｏｏｔｈ／ＷｅｂＵＳＢ ＡＰＩという技術がある。Ｂｌｕｅｔｏｏｔｈ（ブルートゥース）、ＪａｖａＳｃｒｉｐｔは登録商標である。
【０００３】
この技術では、Ｗｅｂアプリケーションが、ユーザーの所有するＢｌｕｅｔｏｏｔｈデバイスやＵＳＢデバイスを操作することになる。そのため、ＷｅｂＢｌｕｅｔｏｏｔｈ／ＷｅｂＵＳＢ ＡＰＩでは、ＷｅｂアプリケーションがＢｌｕｅｔｏｏｔｈデバイスやＵＳＢデバイスを操作する前に、Ｗｅｂブラウザーが許可プロンプトを表示してユーザーに許可を求めるようになっている。一度ユーザーに許可されると、Ｗｅｂブラウザーによっては、その許可されたＷｅｂアプリケーションとそのデバイスの情報を記憶しておき、次回、そのＷｅｂアプリケーションがそのデバイスを操作する際に許可を求めずに処理を継続する。これにより利便性を向上させている。
【０００４】
一方で、生体認証を含む新たな認証システムとして、ＦＩＤＯ（Fast Identity Online）が注目されている。生体認証で用いられる指紋や静脈といった生体情報は、外部に情報が流出してしまった場合に、ＩＤ／パスワード認証におけるパスワードと異なり情報を書き換えることができないため、情報漏洩が致命的になる。これに対して、ＦＩＤＯは、予めユーザーの近くにあるデバイスとサーバーとの間で登録作業を行うことで、デバイスには生体情報と紐づいた秘密鍵、サーバーには公開鍵が登録される。そして、認証では、インターネットを経由してサーバー上で行うのではなく、ユーザーの近くにあるデバイス上で行い、ネットワーク上には秘密鍵で署名された認証結果が流れる。つまり、ＦＩＤＯでは生体情報がネットワーク上を流れることがないため、情報漏洩のリスクが少ないと言える。このようなＦＩＤＯを用いたシステムとして特許文献１がある。
【０００５】
特許文献１では、一時的に使用する機器に生体情報や秘密鍵を保持するのではなく、ユーザーが所有する携帯端末等に生体情報や秘密鍵を保持することで、安全性を向上させている。これは、一時的に使用する機器だけでなく、公共の場に配置されている機器においても同様で、ユーザーが所有する携帯端末等に生体情報や秘密鍵を保持することで安全性を向上させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−２８７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、公共の場に配置されている機器や一時的に使用する機器と携帯端末とがＢｌｕｅｔｏｏｔｈやＵＳＢで接続され、ＷｅｂＢｌｕｅｔｏｏｔｈ ＡＰＩ／ＷｅｂＵＳＢ ＡＰＩを用いた場合を想定する。例えば、コンビニエンスストア等の公共の場にある複合機等で印刷サービス等のサービスを利用する場合に、ユーザー自身の携帯端末を用いたＦＩＤＯ等での認証を活用する場合を説明する。この場合、複合機等への認証情報（パスワードや指紋などの生体情報）の登録なしに、もしくは、ネットワークに対する認証情報の送信なしに、個人識別された上でのサービスを受けることが可能となる。複合機等とユーザーの携帯端末との通信では、ＷｅｂＢｌｕｅｔｏｏｔｈ ＡＰＩ／ＷｅｂＵＳＢ ＡＰＩが利用される。これによって、画像処理装置のＷｅｂブラウザーを経由して、印刷サービスのためのＷｅｂアプリケーションがユーザーの携帯端末と連携できる。ＷｅｂＢｌｕｅｔｏｏｔｈ ＡＰＩ／ＷｅｂＵＳＢ ＡＰＩでは、ＷｅｂアプリケーションがＷｅｂブラウザーを介してＢｌｕｅｔｏｏｔｈ／ＵＳＢデバイスへのアクセスを行う際、ブラウザーがアクセスを許可できるか確認するための許可プロンプトを提供する。すなわち、このようなシステムでは、ＦＩＤＯでの認証の前に、Ｗｅｂブラウザーは、Ｗｅｂアプリケーションから携帯端末へのアクセス要求に応じて、許可プロンプトを表示してユーザーに許可を求めることになる。Ｗｅｂブラウザーでは、上述のように許可プロンプトを用いてユーザーからの許可を得ることで、信頼されたＷｅｂアプリケーションを特定している。許可プロンプトを介して、ユーザーによって許可されると、Ｗｅｂブラウザーが許可情報を記憶しておき、該Ｗｅｂアプリケーションによる同じＢｌｕｅｔｏｏｔｈ／ＵＳＢデバイスへの次回アクセスでは、許可プロンプトを表示しない。すなわち、ユーザーから許可されると、その許可されたＷｅｂアプリケーションとその携帯端末の情報は、公共の場に設置されている複合機等のＷｅｂブラウザーに保存されることになる。コンビニエンスストア等の公共の場にある複合機等のＷｅｂブラウザーに許可情報、つまりは個人所有のＢｌｕｅｔｏｏｔｈ／ＵＳＢデバイスに関する情報を残すことは、必ずしもセキュアとは言えず、セキュリティ上、好ましくない。そのため、上述のような許可プロンプトに頼らず、信頼されたＷｅｂアプリケーションを特定する技術が必要とされていた。
【０００８】
本発明は、上記の課題を解決するためになされたものである。本発明は、許可プロンプトに頼らず信頼されたＷｅｂアプリケーションを特定可能となり、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ウェブブラウザが実行される情報処理装置であって、前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第１要求手段と、前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第２要求手段と、前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、許可プロンプトに頼らず信頼されたＷｅｂアプリケーションを特定可能となり、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のシステムの全体構成の一例を示す図。
【図２Ａ】本実施形態のシステムに含まれる各装置のハードウェア構成図。
【図２Ｂ】本実施形態のシステムに含まれる各装置のハードウェア構成図。
【図３Ａ】本実施形態のシステムに含まれる各装置の機能構成図。
【図３Ｂ】本実施形態のシステムに含まれる各装置の機能構成図。
【図４】プリントデータの登録処理を例示するシーケンス図。
【図５】クライアントＰＣに表示されるＵＩを例示する図。
【図６】オーセンティケータの登録処理を例示するシーケンス図。
【図７】オーセンティケータの登録のパラメータを例示する図。
【図８】オーセンティケータの登録時の携帯端末のＵＩを例示する図。
【図９】第１実施形態におけるプリントデータのプリント処理を例示するシーケンス図。
【図１０】第１実施形態におけるＭＦＰのＵＩを例示する図。
【図１１】生体認証時のパラメータを例示する図。
【図１２】登録確認処理、生体認証処理を例示するフローチャート。
【図１３】生体認証時の携帯端末のＵＩを例示する図。
【図１４】他の実施形態におけるプリントデータのプリント処理を例示するシーケンス図。
【図１５】他の実施形態におけるＭＦＰのＵＩを例示する図。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
〔第１実施形態〕
＜システム構成＞
図１は、本発明の一実施形態を示すシステムの全体構成の一例を示す図である。
本実施形態のシステムは、画像処理装置の一例であるＭＦＰ（Multifunction Peripheral）１０１と、携帯端末１０２、プリントシステム１０３、クライアントＰＣ１０４を含む。
【００１３】
ネットワーク１０５は、例えば、インターネット・イントラネットなどのネットワークである。ネットワーク１０６は、ＭＦＰ等の機器（デバイス）を接続する末端のネットワークである。ネットワーク１０６は、有線通信のネットワークに限らず、無線ＬＡＮや携帯電話通信ネットワークなどの無線通信網の場合もある。
【００１４】
１０７は、ＭＦＰ１０１と携帯端末１０２を接続する有線あるいは無線の接続を示す。本実施形態では、Ｂｌｕｅｔｏｏｔｈ（ブルートゥース）接続を例に説明するが、有線接続であるＵＳＢ等も適用可能である。本実施形態では、コンビニエンスストアや図書館などの公共の場にＭＦＰ１０１が配置されており、そのＭＦＰ１０１がプリントシステム１０３に接続し、プルプリントする例について記載する。その際、認証は、ＭＦＰ１０１に接続される外部端末（携帯端末１０２）で行う。
【００１５】
＜情報処理装置の内部構成＞
図２Ａ（ａ）は、プリントシステム１０３を提供するサーバーＰＣやクライアントＰＣ１０４を構成する情報処理装置の構成の一例を示す図である。これらは、一般的な情報処理装置のハードウェアで構成することができる。
【００１６】
ＣＰＵ２０１は、ＲＯＭ２０３内に記憶されたプログラムや、外部メモリ２１０からＲＡＭ２０２にロードされたＯＳ（オペレーティングシステム）やアプリケーション等のプログラムを実行する。すなわち、ＣＰＵ２０１が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。
【００１７】
ＲＡＭ２０２は、ＣＰＵ２０１のメインメモリであり、ワークエリア等として機能する。ＲＯＭ２０３は、各種プログラムやデータを記憶する不揮発性メモリである。
キーボードコントローラ２０４は、キーボード２０８や図示しないポインティングデバイス（マウス、タッチパッド、タッチパネル、トラックボールなど）からの操作入力を制御する。
【００１８】
ディスプレイコントローラ２０５は、ディスプレイ２０９の表示を制御する。ディスクコントローラ２０６は、各種データを記憶するハードディスク（ＨＤ）やソリッドステートドライブ（ＳＳＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ２１０へのデータアクセスを制御する。ネットワークＩ／Ｆ２０７は、ネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１９】
なお、プリントシステム１０３は、１台のコンピュータにより実現されるものであっても、複数のコンピュータにより実現されるものであってもよい。例えば、プリントシステム１０３は、クラウドサービス等を利用して実現される構成でもよい。
【００２０】
＜画像処理装置（複合機）の内部構成＞
図２Ａ（ｂ）は、ＭＦＰ１０１の構成の一例を示す図である。
ＣＰＵ２２１は、ＲＯＭ２２３に格納されているプログラム（後述する各処理を実現するプログラムも含む）を備え、内部バス２３１を介して各デバイスを総括的に制御する。
ＲＡＭ２２２は、ＣＰＵ２２１のメモリやワークエリアとして機能する。ＲＯＭ２２３は、各種プログラムやデータを記憶する不揮発性メモリである。
【００２１】
ネットワークＩ／Ｆ２２５は、外部のネットワーク機器と片方向または双方向にデータをやり取りする。
近接通信Ｉ／Ｆ２２６は、Ｂｌｕｅｔｏｏｔｈなどの近接通信用のネットワークＩ／Ｆであり、携帯端末１０２等と通信してデータのやり取りを行う。
【００２２】
デバイス制御２２７は、印刷部２２８を制御する。記憶装置２２４は、ハードディスク（ＨＤ）やソリッドステートドライブ（ＳＳＤ）等で構成され、外部記憶装置として機能する。ＣＰＵ２２１は、ＲＡＭ２２２やＲＯＭ２２３と共にプログラムの実行処理を行うとともに、記憶装置２２４等の記録媒体に画像データを記録する処理を行う。
【００２３】
入出力装置２３０は、ＭＦＰ１０１における入出力を担う複数の構成を示す。具体的には、ユーザーからの入力（ボタン入力など）を受け付け、該入力に対応する信号を入出力Ｉ／Ｆ２２９によって前述した各処理部へ伝える。その他にも、ユーザーに対して必要な情報を提供したり、ユーザー操作を受付けたりするための表示装置（タッチパネルなど）も、入出力装置２３０に含まれる。さらに、原稿を読み取り、入力として電子データを受付けるためのスキャン装置も、入出力装置２３０に含まれてよい。
【００２４】
＜携帯端末の内部構成＞
図２Ｂ（ｃ）は、携帯端末１０２の内部構成を示す図である。
ＣＰＵ２４２は、ＲＯＭ２４４に格納されているプログラム（後述する各処理を実現するプログラムも含む）を備え、内部バス２４１を介して各デバイスを総括的に制御する。
ＲＡＭ２４３は、ＣＰＵ２４２のメモリやワークエリアとして機能する。ＲＯＭ２４４は、各種プログラムやデータを記憶する不揮発性メモリである。
【００２５】
ネットワークＩ／Ｆ２４７は、ＷｉＦｉなどを用いた、外部のネットワーク機器と片方向または双方向にデータをやり取りする。ＣＰＵ２４２は、ＲＡＭ２４３やＲＯＭ２４４と共にプログラムの実行処理を行うとともに、記憶装置２４５等の記録媒体にデータを記録する処理を行う。記憶装置２２４は、外部記憶装置として機能し、ＳＤカードなどで構成される。
【００２６】
ＴＰＭ（Trusted Platform Module）２４６は、機密情報を処理したり格納したりする目的で、格納したデータを外部から読み取られることを防ぐ耐タンパー性を備えた記憶装置である。本実施形態では、ＴＰＭ２４６には、生体認証に用いる生体情報自体、またはその生体情報の特徴量や、その生体情報に対応する秘密鍵などが格納される。生体情報自体、またはその生体情報の特徴量など生体認証処理に必要で、ＴＰＭ２４６に格納されるデータを生体情報と呼ぶ。
生体情報センサ２４８は、ユーザーの生体情報を読取るセンサであり、例えばユーザーの指紋、虹彩、静脈の情報を読み取り信号に変換する。
【００２７】
タッチパネル２４９は、表示と入力の２つの機能を備えており、アプリケーションの画面やキーボードなどを表示したりするとともに、ユーザーが画面に手や専用のペンで圧力を加えることにより、触れられた画面位置情報を外部へ情報信号として出力する。該出力された信号情報をアプリケーションが利用することで、ユーザーはタッチパネル２４９を通じてアプリケーションを操作することができる。
近接通信Ｉ／Ｆ２５０は、ＭＦＰ１０１のそれと同様に、Ｂｌｕｅｔｏｏｔｈなどの近接通信用の通信方式に対応したＩ／Ｆであり、本実施形態においては、ＭＦＰ１０１とこのＩ／Ｆを介して通信を行う。
【００２８】
＜ＭＦＰの機能構成＞
図３Ａ（ａ）は、ＭＦＰ１０１の機能構成の一例を示すブロック図である。
ＭＦＰ１０１は、本発明の情報処理装置として適用可能な画像処理装置であり、ブラウザー３００（「Ｗｅｂブラウザー」又は「ウェブブラウザ」ともいう）が動作する。ブラウザー３００は、ＭＦＰ１０１が有しているＲＯＭ２２３等に記憶されているプログラムを、ＣＰＵ２２１がＲＡＭ２２２に読み出して実行することによって実現される。
【００２９】
ブラウザー３００は、表示部３０１、スクリプト実行部３０２、生体認証制御部３０３、Ｂｌｕｅｔｏｏｔｈ制御部３０４、プリント制御部３０５、通信部３０６を有する。
表示部３０１は、後述する図３Ｂ（ｃ）に示す、プリントシステム１０３のプリントサービス３７０などが提供するＨＴＭＬ（HyperText Markup Language）を表示するソフトウェアモジュールである。なお、プリントサービス３７０については、図３Ｂ（ｃ）を用いて後述する。本実施形態では、表示部３０１は、プリントデータの一覧のＵＩや、プリントの実行を受け付けるためのＵＩを表示する。
【００３０】
スクリプト実行部３０２は、プリントシステム１０３のプリントサービス３７０などが提供するＪａｖａＳｃｒｉｐｔを解析し、実行するソフトウェアモジュールである。本実施形態では、プリントシステム１０３が提供するＪａｖａＳｃｒｉｐｔを解析して、生体認証制御部３０３、Ｂｌｕｅｔｏｏｔｈ制御部３０４、プリント制御部３０５を呼び出す。
生体認証制御部３０３は、携帯端末１０２のオーセンティケータ（Authenticator）に生体認証の要求を行い、生体認証の結果を受け取るソフトウェアモジュールである。本実施形態では、後述する図３Ａ（ｂ）に示すオーセンティケータ３５０に対して生体認証の要求を行う例を記載する。
【００３１】
Ｂｌｕｅｔｏｏｔｈ制御部３０４は、Ｂｌｕｅｔｏｏｔｈを搭載した機器との接続、その機器の制御を行うためのソフトウェアである。Ｂｌｕｅｔｏｏｔｈ制御部３０４は、ＪａｖａＳｃｒｉｐｔから呼び出すことが可能なインターフェースを提供しており、スクリプト実行部３０２より呼び出される。
プリント制御部３０５は、プリントデータのプリントを実行するソフトウェアモジュールである。
通信部３０６は、プリントシステム１０３などの外部のシステムと通信するためのソフトウェアモジュールである。
【００３２】
＜携帯端末の機能構成＞
図３Ａ（ｂ）は、携帯端末１０２の機能構成の一例を示すブロック図である。
携帯端末１０２では、ブラウザー３４０とオーセンティケータ３５０が動作する。ブラウザー３４０及びオーセンティケータ３５０は、携帯端末１０２が有しているＲＯＭ２４４等に記憶されているプログラムを、ＣＰＵ２４２がＲＡＭ２４３に読み出して実行することによって実現される。
【００３３】
ブラウザー３４０は、表示部３４１、スクリプト実行部３４２、通信部３４３、オーセンティケータ登録制御部３４４を有する。
表示部３４１は、通信部３４３が取得したＨＴＭＬ文書を表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。スクリプト実行部３４２は、プリントシステム１０３のプリントサービス３７０などが提供するＪａｖａＳｃｒｉｐｔを解析し、実行するソフトウェアモジュールである。通信部３４３は、プリントシステム１０３などの外部の装置と通信するためのソフトウェアモジュールである。オーセンティケータ登録制御部３４４は、オーセンティケータに対して後述するクレデンシャルの作成要求を行うソフトウェアモジュールである。本実施形態では、オーセンティケータ３５０に対してクレデンシャルの作成要求を行う例を記載する。
【００３４】
オーセンティケータ３５０は、生体情報センサ２４８を用いた生体認証をサポートした認証モジュールであり、オーセンティケータ登録処理部３５１、生体認証処理部３５２、認証情報格納部３５３、生体情報要求部３５４を有する。
【００３５】
オーセンティケータ登録処理部３５１は、ブラウザー３４０のオーセンティケータ登録制御部３４４などからのクレデンシャルの作成要求を受け付け、ペアの鍵（秘密鍵及び公開鍵）の作成やクレデンシャルの作成を行うソフトウェアモジュールである。生体認証処理部３５２は、ＭＦＰ１０１のブラウザー３００の生体認証制御部３０３などからの生体認証要求を受け付けて、生体認証を行うソフトウェアモジュールである。認証情報格納部３５３は、表１を用いて後述する認証情報を格納するソフトウェアモジュールである。生体情報要求部３５４は、ユーザーに生体情報の入力を受け付けるためのＵＩを表示するソフトウェアモジュールである。
【００３６】
＜プリントシステムの機能構成＞
図３Ｂ（ｃ）は、プリントシステム１０３の機能構成の一例を示すブロック図である。
プリントシステム１０３では、プリントサービス３７０が動作する。プリントサービス３７０は、プルプリントのサービスを提供するＷｅｂアプリケーション（「ウェブアプリケーション」ともいう）であり、Ｗｅｂブラウザーを介して利用可能である。プリントサービス３７０は、プリントサービス３７０を提供するサーバーＰＣ（プリントシステム１０３）が有している外部メモリ２１０等に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０２に読み出して実行することによって実現する。なお、本実施形態では、Ｗｅｂアプリケーションの一例としてプリントサービスを用いて説明するが、Ｗｅｂアプリケーションはプリントサービスに限定されるものではなく、他のサービスであってもよい。
【００３７】
プリントサービス３７０は、レガシー認証処理部３７１、オーセンティケータ情報処理部３７２、プリントデータ処理部３７３、通信部３７４を有する。プリントサービス３７０は、さらにユーザー情報格納部３７５、オーセンティケータ情報格納部３７６、プリントデータ格納部３７７、プレゼンテーション部３７８、トークン管理部３７９を有する。
【００３８】
なお、本実施形態では、生体認証と区別するため、ユーザーＩＤとパスワードの一致を検証する認証を「レガシー認証」と記載する。レガシー認証処理部３７１は、通信部３７４が受信したレガシー認証要求に含まれるユーザーＩＤ、パスワードと、ユーザー情報格納部３７５に格納されているユーザーＩＤ、パスワードが一致するかを検証するソフトウェアモジュールである。
【００３９】
オーセンティケータ情報処理部３７２は、通信部３７４が受信したクレデンシャルを用いて、オーセンティケータに関する情報をオーセンティケータ情報格納部３７６に格納するソフトウェアモジュールである。また、オーセンティケータ情報処理部３７２は、通信部３７４が受信した後述するアサーション情報（Assertion）を検証する。
【００４０】
プリントデータ処理部３７３は、通信部３７４が受信したプリントデータの登録や取得の要求に応じて、プリントデータ格納部３７７にプリントデータを登録したり、プリントデータ格納部３７７からプリントデータを取得するソフトウェアモジュールである。
通信部３７４は、ＭＦＰ１０１や携帯端末１０２と通信して、要求を受け付けるソフトウェアモジュールである。
【００４１】
ユーザー情報格納部３７５は、表２を用いて後述するユーザー情報、表４を用いて後述するattestationチャレンジの情報、表６を用いて後述するトークンの情報を格納するソフトウェアモジュールである。オーセンティケータ情報格納部３７６は、表５を用いて後述するオーセンティケータ情報を格納するソフトウェアモジュールである。プリントデータ格納部３７７は、表３を用いて後述するプリントデータを格納するソフトウェアモジュールである。プレゼンテーション部３７８は、通信部３７４が受信したオーセンティケータ登録画面の取得要求などの画面取得要求に応じて、ＨＴＭＬ文書を作成するソフトウェアモジュールである。トークン管理部３７９は、後述するトークンの発行や検証を行うソフトウェアモジュールである。
【００４２】
＜クライアントＰＣの機能構成＞
図３Ｂ（ｄ）は、クライアントＰＣ１０４の機能構成の一例を示すブロック図である。
クライアントＰＣ１０４では、ブラウザー３９０が動作する。ブラウザー３９０は、クライアントＰＣ１０４が有している外部メモリ２１０等に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０２に読み出して実行することによって実現する。
ブラウザー３９０は、取得したＨＴＭＬ文書を表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。ブラウザー３９０は、プリントシステム１０３などの外部の装置と通信するためのソフトウェアモジュールである。
【００４３】
＜携帯端末が管理するテーブル＞
表１に、携帯端末１０２が管理する認証情報管理テーブルの一例を示す。
【００４４】
【表１】
2020095433.tif 000003
【００４５】
表１は、認証情報管理テーブルの一例であり、オーセンティケータ３５０の認証情報格納部３５３に保存される。認証情報管理テーブルでは、１つのレコードが１つの認証情報のエントリを表している。
認証情報ＩＤ列は、各認証情報に対して一意なＩＤを格納する。
サービスＩＤ列は、サービスを一意に識別するためのＩＤを格納する。本実施形態ではサービスＩＤ列には、トップレベルドメイン、セカンドレベルドメインの情報を格納するものとするが、これに限定されるものではない。例えば、プリントサービス３７０のＵＲＬが「https://www.pull‐print.com」であった場合に、サービスＩＤ列には「pull‐print.com」が格納される。
秘密鍵列は、秘密鍵を格納する。秘密鍵列に格納されている秘密鍵に対応する公開鍵は、サービスＩＤ列で示されるサービスが保持している。
生体情報ＩＤ列は、生体情報の特徴量に対応するＩＤを格納する。
表１の各列に対応する情報を格納する手順、及び公開鍵をプリントシステム１０３に格納する手順については後述する。
【００４６】
＜プリントシステムが管理するテーブル＞
表２〜表６に、プリントシステム１０３が管理するテーブルの一例を示す。
【００４７】
【表２】
2020095433.tif 000004
【００４８】
表２は、ユーザー情報管理テーブルの一例であり、プリントサービス３７０のユーザー情報格納部３７５に保存する。ユーザー情報管理テーブルでは、１つのレコードが１つのユーザー情報を示している。
ユーザーＩＤ列は、プリントサービス３７０のユーザーを一意に識別するためのＩＤを格納する。パスワード列は、ユーザーを認証するためのパスワードを格納する。メールアドレス列は、ユーザーのメールアドレスを格納する。メールアドレス以外にもユーザーの住所など、ユーザーに関する属性情報を本テーブルに格納するようにしてもよい。
【００４９】
【表３】
2020095433.tif 000005
【００５０】
表３は、プリントデータ管理テーブルの一例であり、プリントサービス３７０のプリントデータ格納部３７７に保存される。プリントデータ管理テーブルでは、１つのレコードが１つのプリントデータを示している。
データ名列は、ユーザーが印刷したデータの名称を格納する。該名称は、後述するプリントフローにおいて、ＭＦＰ１０１上に表示される名称となる。
プリントデータ列は、印刷するプリントデータのバイナリデータを格納する。
ユーザーＩＤ列は、印刷を指示したプリントサービス３７０のユーザーを一意に表すＩＤを格納する。
予約コード列は、プリントデータを一意に識別するための予約コードを格納する。予約コードは、後述するプリントフローにおいて、ＭＦＰ１０１でユーザーにより指定されることにより、プリントするプリントデータを特定するために使用される。
【００５１】
【表４】
2020095433.tif 000006
【００５２】
表４は、attestationチャレンジ管理テーブルの一例であり、プリントサービス３７０のユーザー情報格納部３７５に保存される。attestationチャレンジ管理テーブルでは、１つのレコードが１つのattestationチャレンジの情報を示している。attestationチャレンジは、チャレンジレスポンス認証をするために利用するパラメータであり、ユーザーごとに発行する。attestationチャレンジの発行処理については後述する。
attestationチャレンジ列は、attestationチャレンジを格納する。
ユーザーＩＤ列はattestationチャレンジを発行したユーザーＩＤを格納する。
有効期限列は、attestationチャレンジの有効期限を格納する。
【００５３】
【表５】
2020095433.tif 000007
【００５４】
表５は、オーセンティケータ情報管理テーブルの一例であり、プリントサービス３７０のオーセンティケータ情報格納部３７６に保存される。オーセンティケータ情報管理テーブルでは、１つのレコードが１つのオーセンティケータ情報を示している。
認証情報ＩＤ列は、表１における認証情報ＩＤ列の値を格納する。
公開鍵列は、オーセンティケータが作成した表１における秘密鍵とペアになる公開鍵を格納する。即ち、表１、表５で認証情報ＩＤが同一の秘密鍵と公開鍵について、表１の秘密鍵で暗号化したものは表５の公開鍵で復号化できるということである。
ユーザーＩＤ列は、プリントサービス３７０のユーザーを一意に識別するためのＩＤを格納する。
【００５５】
【表６】
2020095433.tif 000008
【００５６】
表６はトークン管理テーブルの一例であり、プリントサービス３７０のユーザー情報格納部３７５に保存する。トークンは認証処理が成功した結果、プリントサービス３７０が発行する。ＭＦＰ１０１のブラウザー３００などは、発行されたトークンをプリントデータ一覧要求などに付加してプリントサービス３７０に要求を行う。これらの処理については図９を用いて後述する。トークン管理テーブルは、１つのレコードが１つのトークンの情報を示している。トークン列は、トークンを格納する。ユーザーＩＤ列は、プリントサービス３７０のユーザーを一意に識別するためのＩＤを格納する。有効期限列は、トークンの有効期限を表す。プリントサービス３７０は、要求に付加されたトークンが、トークン管理テーブルのトークン列に存在し、有効期限列の有効期限を過ぎていない場合に要求を受け付ける。
【００５７】
＜プリントデータの登録処理＞
クライアントＰＣ１０４からのプリントデータの登録について図４及び図５を用いて説明する。
【００５８】
図４は、プリントシステム１０３とクライアントＰＣ１０４のプリントデータ登録処理の一例を示すシーケンス図である。なお、この図において、クライアントＰＣ１０４の処理は、クライアントＰＣ１０４のＣＰＵ２０１が外部メモリ２１０等に記憶されているプログラムを、ＲＡＭ２０２に読み出して実行することによって実現される。また、プリントシステム１０３の処理は、プリントシステム１０３を提供するサーバーＰＣのＣＰＵ２０１が外部メモリ２１０等に記憶されているプログラムを、ＲＡＭ２０２に読み出して実行することによって実現される。
【００５９】
まず、ユーザーは、クライアントＰＣ１０４のブラウザー３９０にプリント指示受付画面のＵＲＬの入力を行う。
Ｓ４０１において、クライアントＰＣ１０４のブラウザー３９０は、プリント指示受付画面のＵＲＬの入力を受け付けて、プリントサービス３７０にプリント指示受付画面の要求を行う。最初のアクセスでは認証が済んでいないため、レガシー認証画面へのリダイレクトを行う。そして、Ｓ４０２において、プリントシステム１０３は、レガシー認証画面をブラウザー３９０に返す。ブラウザー３９０は、レガシー画面を受信すると、該レガシー認証画面を表示し、ユーザーＩＤとパスワードの入力を受け付ける。
そして、ブラウザー３９０は、ユーザー操作によるユーザーＩＤとパスワードの入力を受け付けると、Ｓ４０３において、該受け付けたユーザーＩＤとパスワードをパラメータとしてレガシー認証要求をプリントサービス３７０に送信する。
【００６０】
レガシー認証要求を受信すると、Ｓ４０４において、プリントサービス３７０のレガシー認証処理部３７１は、該レガシー認証要求に基づいてレガシー認証を行う。具体的には、レガシー認証処理部３７１は、レガシー認証要求に含まれるユーザーＩＤ、パスワードとユーザー情報格納部３７５に格納されている、表２で説明したユーザーＩＤ、パスワードが一致するかを検証する。一致しない場合には、プリントサービス３７０は、クライアントＰＣ１０４のブラウザー３９０に認証エラーを返却する。
図４のシーケンス図ではレガシー認証が成功した場合について記載する。
【００６１】
レガシー認証に成功すると、Ｓ４０５において、プリントサービス３７０のトークン管理部３７９は、トークンを発行して、そのトークンに関する情報を、表６で説明したユーザー情報格納部３７５のトークン管理テーブルに保存する。
次に、Ｓ４０６において、プリントサービス３７０の通信部３７４は、プレゼンテーション部３７８が作成したプリント指示受付画面を、クライアントＰＣ１０４のブラウザー３９０に応答する。なお、通信部３７４は、該Ｓ４０６の応答に、上記Ｓ４０５で発行したトークンを含める。例えば、トークンをＣｏｏｋｉｅに設定する。
プリント指示受付画面を受信すると、Ｓ４０７において、ブラウザー３９０は、図５（ａ）のような、プリント指示受付画面を表示する。
【００６２】
ここで図５（ａ）を用いてプリント指示受付画面について説明する。
図５（ａ）は、プリント指示受付画面の一例を示す図である。
図５（ａ）において、ＵＩ５００は、プリント指示受付画面を表している。ブラウザー３９０が、図４のＳ４０６の応答で受信したプリント指示受付画面のＨＴＭＬ文書を解析して表示する。
ボタン５０１は、プリント対象のファイルを選択するためのボタンである。
ボタン５０２は、プリントシステム１０３のプリントサービス３７０にプリント指示を行うためのボタンである。
【００６３】
以下、図４の説明に戻る。
ブラウザー３９０が、ボタン５０２の押下を受け付けると、Ｓ４０８に遷移する。
Ｓ４０８において、ブラウザー３９０は、プリントシステム１０３のプリントサービス３７０に対してプリント指示の要求を行う。このプリント指示の要求には、プリント対象のファイルのプリントデータや上記Ｓ４０６で受信したトークンが含まれる。プリント指示の要求に含まれるトークンは、プリントサービス３７０のトークン管理部３７９が有効であるか検証を行うために用いられる。具体的には、プリントサービス３７０のトークン管理部３７９は、プリント指示の要求に含まれるトークンが表６で説明したトークン管理テーブルに存在し、有効期限を超えていないかを確認する。トークン管理テーブルに存在する且つ有効期限を超えていないトークンは有効なトークンと判断される。一方、トークン管理テーブルに存在しない又は有効期限を超えているトークンは無効なトークンと判断される。トークンが無効である場合は、プリントサービス３７０は、クライアントＰＣ１０４のブラウザー３９０にエラーを返却する。
なお、図４のシーケンス図ではトークンが有効であった場合について記載する。トークンが有効である場合は、プリントサービス３７０は、Ｓ４０９に遷移する。
【００６４】
Ｓ４０９において、プリントサービス３７０のプリントデータ処理部３７３は、予約コードの発行を行う。
次にＳ４１０において、プリントサービス３７０のプリントデータ処理部３７３は、上記Ｓ４０９で発行した予約コード、および、上記Ｓ４０７で受信したプリントデータを、表３で説明したプリントデータ管理テーブルに格納する。
次にＳ４１１において、プリントサービス３７０の通信部３７４は、プレゼンテーション部３７８が作成した、プリント指示受付完了画面をクライアントＰＣ１０４のブラウザー３９０に応答する。
プリント指示受付完了画面を受信すると、Ｓ４１２において、ブラウザー３９０は、該プリント指示受付完了画面を表示する。
【００６５】
図５（ｂ）を用いてプリント指示受付完了画面について説明する。
図５（ｂ）は、プリント指示受付完了画面の一例を示す図である。
ＵＩ５５０は、プリント指示受付完了画面を表している。ブラウザー３９０が、図４のＳ４１１の応答で受信したプリント指示受付画面のＨＴＭＬ文書を解析して表示する。
テキストエリア５５１は、プリント指示を受け付けたプリントデータの予約コードを示している。この予約コードを用いることでプリントデータの指定を行うことができる。予約コードを用いたプリントデータの指定については後述する。
【００６６】
なお、本例ではクライアントＰＣ１０４のブラウザー３９０がプリントデータの登録処理を行ったが、携帯端末１０２に保存されているファイルをプリントする場合などは、携帯端末１０２のブラウザー３４０が処理してもよい。また、プリントサービス３７０は、予約コードを、図４のＳ４０４でレガシー認証に成功したユーザーの電子メールアドレス宛に通知してもよい。
【００６７】
＜オーセンティケータの登録処理＞
図６〜図８を用いて、プリントシステム１０３のプリントサービス３７０にオーセンティケータを登録する処理について説明する。
図６は、オーセンティケータの登録に関する、携帯端末１０２とプリントシステム１０３の処理の一例を示すシーケンス図である。なお、この図において、携帯端末１０２の処理は、携帯端末１０２のＣＰＵ２４２がＲＯＭ２４４等に記憶されているプログラムを、ＲＡＭ２４３に読み出して実行することによって実現される。また、プリントシステム１０３の処理は、プリントシステム１０３を提供するサーバーＰＣのＣＰＵ２０１が外部メモリ２１０等に記憶されているプログラムを、ＲＡＭ２０２に読み出して実行することによって実現される。
【００６８】
まず、ユーザーは、携帯端末１０２のブラウザー３４０にオーセンティケータ登録画面のＵＲＬの入力を行う。
Ｓ６０１において、携帯端末１０２のブラウザー３４０は、オーセンティケータ登録画面のＵＲＬの入力を受け付けて、プリントサービス３７０にオーセンティケータ登録画面の要求を行う。最初のアクセスでは認証が済んでいないため、レガシー認証画面へのリダイレクトを行う。そして、Ｓ６０２において、プリントシステム１０３は、レガシー認証画面をブラウザー３４０に返す。
【００６９】
ブラウザー３４０の表示部３４１は、レガシー認証画面を受信すると、該レガシー認証画面（不図示）を表示し、ユーザーＩＤとパスワードの入力を受け付ける。
ユーザー操作によるユーザーＩＤとパスワードの入力を受け付けると、Ｓ６０３において、ブラウザー３４０の通信部３４３は、受け付けたユーザーＩＤとパスワードをパラメータとしてレガシー認証要求をプリントサービス３７０に送信する。
【００７０】
レガシー認証要求を受信すると、Ｓ６０４において、プリントサービス３７０のレガシー認証処理部３７１は、レガシー認証を行う。レガシー認証の結果がエラーであった場合には、プリントシステム１０３は、携帯端末１０２のブラウザー３４０に認証エラーを返却する。レガシー認証の結果がＯＫであった場合には、プリントシステム１０３は、６０５に遷移する。なお、図６のシーケンス図ではレガシー認証が成功した場合について記載する。
【００７１】
Ｓ６０５において、プリントサービス３７０のトークン管理部３７９は、トークンを発行して、そのトークンに関する情報を、表６で説明したユーザー情報格納部３７５のトークン管理テーブルに保存する。
次に、Ｓ６０６において、オーセンティケータ情報処理部３７２は、登録用パラメータ７００の作成を行う。
ここで、図７（ａ）を用いて登録用パラメータについて説明する。
【００７２】
図７（ａ）は、登録用パラメータの一例を示す図である。
図７（ａ）に示すように、登録用パラメータ７００は、アカウント情報７０１、暗号化パラメータ７０２、attestationチャレンジ７０３、認証拡張領域７０４を含む。
【００７３】
アカウント情報７０１は、プリントサービス３７０における、図６のＳ６０４のレガシー認証で特定したユーザーＩＤや、そのユーザーＩＤと紐づくメールアドレスなどの属性情報を表す。暗号化パラメータ７０２は、プリントサービス３７０がサポートしている暗号化アルゴリズムなど、登録する認証情報に関する属性情報を示す。attestationチャレンジ７０３は、チャレンジレスポンス認証をするために利用するパラメータである。attestationチャレンジは、図６のＳ６０６の登録用パラメータ作成時に作成して、表４で説明したattestationチャレンジ管理テーブルに格納する。認証拡張領域７０４は、プリントサービス３７０がオーセンティケータ３５０等の動作を制御するために、プリントサービス３７０が指定可能な拡張パラメータが格納される。
【００７４】
以下、図６の説明に戻る。
Ｓ６０７において、プリントサービス３７０の通信部３７４は、プレゼンテーション部３７８が作成したオーセンティケータ登録画面を、携帯端末１０２のブラウザー３４０に応答する。該Ｓ６０７の応答には、上記Ｓ６０５で発行したトークン、および、登録用パラメータ７００が含まれる。
【００７５】
オーセンティケータ登録画面を受信すると、Ｓ６０８において、ブラウザー３４０のオーセンティケータ登録制御部３４４は、オーセンティケータ３５０に対して、クレデンシャル作成要求を行う。該Ｓ６０８の処理は、ブラウザー３４０の表示部３４１がオーセンティケータ登録画面の読み込んだ時に実行される。例えば、ブラウザー３４０のスクリプト実行部３４２が、onloadイベント検知した時に、Ｓ６０８の処理を実行するようにする。Ｓ６０８のクレデンシャル作成要求には、登録要求データ７２０が含まれる。ここで図７（ｂ）を用いて、登録要求データ７２０について説明する。
【００７６】
図７（ｂ）は、登録要求データ７２０の一例を示す図である。
図７（ｂ）のように、登録要求データ７２０は、登録用パラメータ７００とプリントサービスＩＤ７２１とWeb Origin７２２を含む。
【００７７】
Web Origin７２２は、プリントサービス３７０のOriginである。
プリントサービスＩＤ７２１は、プリントサービスのトップレベルドメイン、セカンドレベルドメインの情報を格納する。例えば、プリントサービス３７０のＵＲＬが「https://www.pull‐print.com」であった場合に、プリントサービスＩＤ７２１は「pull‐print.com」となる。
【００７８】
以下、図６の説明に戻る。
Ｓ６０９でオーセンティケータ３５０の生体情報要求部３５４は、図８に示すような同意画面８００を表示する。ここで図８を用いて、同意画面８００について説明する。
【００７９】
図８は、同意画面８００の一例を示す図である。
同意画面８００では、オーセンティケータ３５０をプリントサービス３７０に登録するため、生体情報の提示を促す。
ボタン８０１は、同意せずにキャンセルするためのボタンである。
【００８０】
ボタン８０２には、生体情報センサ２４８が備えられており、生体情報の読み取りを行う。生体情報には、指紋、静脈、虹彩、声紋、顔画像の情報等が含まれ、ここでは、それら生体情報の何れか、または、任意の複数の生体情報の組合せを、認証に必要な生体情報として入力するよう携帯端末１０２を構築することも可能である。
生体情報センサ２４８により、生体情報の読み取りが行われると、オーセンティケータ３５０は、Ｓ６１０の処理を実行する。
【００８１】
以下、図６の説明に戻る。
Ｓ６１０において、認証情報格納部３５３は、読み取った生体情報の特徴量と生体情報を一意に識別する生体情報ＩＤを作成して、ＴＰＭ２４６に格納する。
次にＳ６１１において、オーセンティケータ登録処理部３５１は、秘密鍵と公開鍵のペアと認証情報ＩＤを作成する。そして、オーセンティケータ登録処理部３５１は、ＴＰＭ２４６上の認証情報管理テーブル（表１）にＳ６１１で作成した認証情報ＩＤ、秘密鍵、Ｓ６１０で作成した生体情報ＩＤ、及び、登録要求データ７２０に含まれるプリントサービスＩＤ７２１を格納する。
次にＳ６１２において、オーセンティケータ登録処理部３５１は、図７（ｃ）で示すクレデンシャル７４０を作成する。ここで図７（ｃ）を用いて、クレデンシャル７４０について説明する。
【００８２】
図７（ｃ）は、クレデンシャル７４０の一例を示す図である。
図７（ｃ）のように、クレデンシャル７４０は、認証情報ＩＤ７４１とアルゴリズム７４２と公開鍵７４３とattestation７４４を含む。
認証情報ＩＤ７４１、公開鍵７４３は、上記Ｓ６１１の処理で作成した認証情報ＩＤ、公開鍵である。アルゴリズム７５３は、上記Ｓ６１１における秘密鍵と公開鍵のペアの作成に利用したアルゴリズムにそれぞれ対応する。また、attestation７４４は、attestationチャレンジ７０３を上記Ｓ６１１にて生成した秘密鍵を用いて暗号化したものである。
【００８３】
次にＳ６１３において、オーセンティケータ３５０のオーセンティケータ登録処理部３５１は、ブラウザー３４０に対して、上記Ｓ６１２で作成したクレデンシャル７４０を応答する。ブラウザー３９０は、クレデンシャル７４０を受信すると、Ｓ６１４に処理を進める。
Ｓ６１４において、ブラウザー３４０の通信部３４３は、プリントシステム１０３のプリントサービス３７０に、上記Ｓ６１３で受信したクレデンシャル７４０を送信する。プリントサービス３７０は、クレデンシャル７４０を受信すると、Ｓ６１５に処理を進める。
【００８４】
Ｓ６１５において、プリントサービス３７０のオーセンティケータ情報処理部３７２は、クレデンシャル７４０を用いて、オーセンティケータ登録処理を行う。ここでは、クレデンシャル７４０に含まれるAttestation７４４を、同じクレデンシャル７４０に含まれる公開鍵７４３で復号して不正な登録リクエストでないことを検証する。さらに、プリントサービス３７０のオーセンティケータ情報処理部３７２は、Attestation７４４を復号化した値と、表４におけるattestationチャレンジ列の値とが同一のものを特定する。そして、特定したattestationチャレンジ列の値と同一のレコードのユーザーＩＤを、クレデンシャル７４０と紐付けるユーザーＩＤとする。プリントサービス３７０のオーセンティケータ情報処理部３７２は、クレデンシャル７４０に含まれる認証情報ＩＤ７４１、公開鍵７４３、クレデンシャル７４０と紐づけるユーザーＩＤをオーセンティケータ情報管理テーブル（表５）に登録する。最後に、プリントサービス３７０の通信部３７４は、携帯端末１０２のブラウザー３４０に対して正常に生体情報の登録が終わったことを応答する。
【００８５】
＜ＭＦＰからのプリント処理＞
次に図９〜図１２を用いて、ＭＦＰ１０１がプリントシステム１０３からプリントデータを取得してプリントする処理について説明する。ここでは、プリントシステム１０３との認証を、携帯端末１０２を用いて行う例について記載する。
【００８６】
図９は、第１実施形態におけるプリントデータのプリント処理の一例を示すシーケンス図である。なお、この図において、ＭＦＰ１０１の処理は、ＭＦＰ１０１のＣＰＵ２２１がＲＯＭ２２３等に記憶されているプログラムを、ＲＡＭ２２２に読み出して実行することによって実現される。また、携帯端末１０２の処理は、携帯端末１０２のＣＰＵ２４２がＲＯＭ２４４等に記憶されているプログラムを、ＲＡＭ２４３に読み出して実行することによって実現される。また、プリントシステム１０３の処理は、プリントシステム１０３を提供するサーバーＰＣのＣＰＵ２０１が外部メモリ２１０等に記憶されているプログラムを、ＲＡＭ２０２に読み出して実行することによって実現される。
【００８７】
まず、ユーザーは、ＭＦＰ１０１のブラウザー３００に認証方法選択画面のＵＲＬの入力を行う。または、ＭＦＰ１０１のＵＩにショートカットボタンを用意しておき、そのショートカットボタンが押下されると、認証方法選択画面のＵＲＬにリクエストするように構成してもよい。
【００８８】
Ｓ９０１において、ＭＦＰ１０１のブラウザー３００は、認証方法選択画面のＵＲＬの入力を受け付けて、プリントシステム１０３のプリントサービス３７０に認証方法選択画面の要求を行う。認証方法選択画面の要求を受信すると、プリントサービス３７０は、Ｓ９０２に処理を進める。
【００８９】
Ｓ９０２において、プリントサービス３７０のオーセンティケータ情報処理部３７２は、生体認証パラメータ（図１１（ａ）に示す認証用パラメータ１１００）の作成を行う。ここで、図１１（ａ）を用いて認証用パラメータ１１００について説明する。
【００９０】
図１１（ａ）は、認証用パラメータ１１００の一例を示す図である。
図１１（ａ）のように、認証用パラメータ１１００は、アサーションチャレンジ１１０１、アサーション拡張領域１１０２を含む。
アサーションチャレンジ１１０１は、チャレンジレスポンス認証をするために利用する検証用データとしてのパラメータである。アサーション拡張領域１１０２は、プリントサービス３７０がオーセンティケータ３５０の動作を制御するために、プリントサービス３７０が指定可能な拡張パラメータが格納される。
【００９１】
以下、図９の説明に戻る。
次にＳ９０３において、プリントサービス３７０の通信部３７４は、上記Ｓ９０２で生成した認証用パラメータ１１００を含むＨＴＭＬ／ＪａｖａＳｃｒｉｐｔをＭＦＰ１０１に返却する。該返却するＪａｖａＳｃｒｉｐｔには、ブラウザー３００のＢｌｕｅｔｏｏｔｈ制御部３０４を呼び出すためのＪａｖａＳｃｒｉｐｔが含まれる。また、Ｓ９０３で返却するＨＴＭＬは、認証方法選択画面である。上記ＨＴＭＬ／ＪａｖａＳｃｒｉｐｔを受信すると、ＭＦＰ１０１のブラウザー３００は、Ｓ９０４に処理を進める。
【００９２】
Ｓ９０４において、ブラウザー３００の表示部３０１は、受信したＨＴＭＬ／ＪａｖａＳｃｒｉｐｔを用いて、図１０（ａ）で示すような認証方法選択画面を表示する。ここで図１０（ａ）を用いて、認証方法選択画面について説明する。
【００９３】
図１０（ａ）は、認証方法選択画面の一例を示す図である。
図１０（ａ）のように、認証方法選択画面１０００は、ボタン１００１〜１００４を有する。
【００９４】
ボタン１００１は、予約コードの入力によってプリントデータを取得するためのボタンである。ユーザーがボタン１００１を選択した場合には、それに伴い、ＭＦＰ１０１から、ユーザーが入力した予約コードが含まれるプリントデータの取得要求がプリントシステム１０３に対して送信されることになる。プリントシステム１０３は、プリントデータ管理テーブル（表３）からその予約コードと合致するプリントデータをＭＦＰ１０１に対して応答する。ＭＦＰ１０１では、そのプリントデータのプリント処理が行われることになる。
【００９５】
ボタン１００２は、レガシー認証を行うためのボタンである。ユーザーがボタン１００２を選択した場合には、後述する生体認証を用いた方法ではなく、ＭＦＰ１０１とプリントシステム１０３との間で、図６のＳ６０２〜Ｓ６０４の記載と同様のレガシー認証が行われる。レガシー認証が成功した場合に、ＭＦＰ１０１は、プリントシステム１０３から、プリントデータ管理テーブル（表３）で管理されていた、認証されたユーザーのユーザーＩＤに対応するプリントデータの一覧を取得できる。
【００９６】
ボタン１００３は、ＭＦＰ１０１とＢｌｕｅｔｏｏｔｈで通信した携帯端末で生体認証を行うためのボタンである。生体認証が成功した場合に、プリントシステム１０３から認証されたユーザーのユーザーＩＤに対応するプリントデータの一覧を取得することができる。なお、図９のシーケンス図では、ボタン１００３が押下された例について記載する。
ボタン１００４は、操作をキャンセルためのボタンである。ブラウザー３００の表示部３０１は、ボタン１００３の押下を受け付けると、Ｓ９０５に遷移する。
【００９７】
Ｓ９０５において、ブラウザー３００のスクリプト実行部３０２は、ＪａｖａＳｃｒｉｐｔを解析し、Ｂｌｕｅｔｏｏｔｈ制御部３０４を呼び出す。そして、Ｂｌｕｅｔｏｏｔｈ制御部３０４は、Ｂｌｕｅｔｏｏｔｈを搭載した機器を取得する。例えば、スクリプト実行部３０２は、ＷｅｂＢｌｕｅｔｏｏｔｈ ＡＰＩのｒｅｑｕｅｓｔＤｅｖｉｃｅを呼び出す。ｒｅｑｕｅｓｔＤｅｖｉｃｅでは、その機器が対応している機能でフィルターができるため、ＦＩＤＯに対応しているＢｌｕｅｔｏｏｔｈを搭載した機器を取得する。
【００９８】
Ｂｌｕｅｔｏｏｔｈ制御部３０４からの要求に応じて、ＦＩＤＯに対応しているＢｌｕｅｔｏｏｔｈを搭載した機器である携帯端末１０２は、ＭＦＰ１０１のブラウザー３００に応答する（Ｓ９０６）。該応答をブラウザー３００が受信する。ブラウザー３００のスクリプト実行部３０２は、フィルターにＦＩＤＯが含まれている場合、ユーザーに許可を求める画面は出さず、Ｓ９０７に処理を進める。
【００９９】
Ｓ９０７において、ブラウザー３００の通信部３０６は、上記応答のあった携帯端末１０２のオーセンティケータ３５０に対して、オーセンティケータとして登録がされているサービス一覧を要求する。該要求を受信した携帯端末１０２のオーセンティケータ３５０は、Ｓ９０８の処理を実行する。
【０１００】
Ｓ９０８において、携帯端末１０２のオーセンティケータ３５０は、認証情報格納部３５３に格納されている認証情報管理テーブル（表１）のサービスＩＤの一覧を取得する。該サービスＩＤの一覧は、携帯端末１０２での認証に関連する秘密鍵に対応する公開鍵が登録されたサービスの情報の一覧に対応する。
次にＳ９０９において、携帯端末１０２のオーセンティケータ３５０は、オーセンティケータとして登録されているサービス一覧として、上記Ｓ９０８で取得したサービスＩＤの一覧をＭＦＰ１０１のブラウザー３００に応答する。該応答を受信したブラウザー３００は、Ｓ９１０に処理を進める。
【０１０１】
Ｓ９１０において、ブラウザー３００のスクリプト実行部３０２は、Ｂｌｕｅｔｏｏｔｈを搭載した機器にアクセスを要求しているサービスが、オーセンティケータとして登録済サービスであるかを確認する登録確認処理（図１２（ａ））を行う。図１２（ａ）を用いて、登録確認処理の詳細を説明する。
【０１０２】
図１２（ａ）は、ＭＦＰ１０１における、登録確認処理を説明するためのフローチャートである。このフローチャートの処理は、ＭＦＰ１０１のＣＰＵ２２１がＲＯＭ２２３等に記憶されているプログラムを、ＲＡＭ２２２に読み出して実行することにより実現される。
【０１０３】
Ｓ１２０１において、ブラウザー３００のスクリプト実行部３０２は、図９のＳ９０９で取得した登録済サービス一覧の中に、Ｓ９０３でＨＴＭＬ／ＪａｖａＳｃｒｉｐｔを応答したプリントサービス３７０のサービスＩＤが含まれているかを確認する。そして、プリントサービス３７０のサービスＩＤが含まれている（すなわち登録済サービスである）と判定した場合（Ｓ１２０２でＹｅｓの場合）、スクリプト実行部３０２は、図９のＳ９１１に処理を遷移する。この場合、図９のプリント処理のシーケンスを継続し、許可プロンプトを表示することなく、携帯端末１０２へのアクセスを許可し、後述する生体認証要求を行う。
【０１０４】
上記Ｓ９０９で取得した登録済サービス一覧の中にプリントサービス３７０のサービスＩＤが含まれている場合、オーセンティケータの登録がなされていることになる。つまり、ユーザーは、プリントサービス３７０が携帯端末１０２に対して生体認証を要求することを許可していることになる。そのため、本実施形態では、ブラウザー３００は、プリントサービス３７０としてのウェブアプリケーションが携帯端末１０２にアクセスすることを許可できるかユーザーへ問合せるためのＷｅｂ Ｂｌｕｅｔｏｏｔｈ ＡＰＩ（Ｗｅｂ ＵＳＢ ＡＰＩ）に従うプロンプト画面の表示をスキップする。すなわち、プロンプト画面（許可プロンプト）の表示なく、携帯端末１０２へのアクセスを許可する。従って、公共の場に設置されるＭＦＰなどの一時的な利用者であるユーザーへのＭＦＰ上での該画面を介した許可を求めずに、携帯端末１０２による生体認証処理を行う。これにより、ユーザーの利便性が向上するとともに、公共の場にあるＭＦＰ１０１に携帯端末１０２の識別情報を含む許可情報（ウェブアプリの識別情報と携帯端末１０２の識別情報の組合せ）を残すことがない。
【０１０５】
一方、上記Ｓ１２０１において、プリントサービス３７０のサービスＩＤが含まれていないと判定した場合（Ｓ１２０２でＮｏの場合）、スクリプト実行部３０２は、Ｓ１２０２に処理を進める。
【０１０６】
Ｓ１２０２において、ブラウザー３００の表示部３０１は、認証方法選択画面（不図示）を表示する。Ｓ１２０２で表示する認証方法選択画面は、図１０（ａ）で説明した認証方法選択画面１０００のボタン１００３を表示しない画面であり、携帯端末１０２を利用することなくプリントサービス３７０を利用するための入力を促す画面である。Ｓ１２０２で認証法選択画面を表示することにより、他の認証方法（すなわち携帯端末１０２を利用した生体認証とは異なる認証方法）を用いてプリントすることができるようになる。
【０１０７】
次にＳ１２０３において、ブラウザー３００の表示部３０１は、ユーザーにより選択されたボタンがいずれのボタンであったかを判定する。ボタン１００４が押下されたと判定した場合（Ｓ１２０３で「キャンセル」の場合）、表示部３０１は、本フローチャートの処理を終了し、図９のプリント処理のシーケンスも終了する。
【０１０８】
また、ボタン１００１が押下されたと判定した場合（Ｓ１２０３で「予約コードを入力」の場合）、表示部３０１は、Ｓ１２０４に処理を進める。
Ｓ１２０４において、ＭＦＰ１０１は、予約コードでのプリント処理を行い、本フローチャートの処理を終了し、図９のプリント処理のシーケンスも終了する。
予約コードでのプリント処理では、前述したように、ＭＦＰ１０１から、ユーザーが入力した予約コードが含まれるプリントデータの取得要求をプリントシステム１０３に送信する。そして、プリントシステム１０３は、プリントデータ管理テーブル（表３）からその予約コードと合致するプリントデータをＭＦＰ１０１に対して応答する。ＭＦＰ１０１では、そのプリントデータのプリント処理を行う。
【０１０９】
また、ボタン１００２が押下されたと判定した場合（Ｓ１２０３で「パスワード認証」の場合）、表示部３０１は、Ｓ１２０５に処理を進める。
Ｓ１２０５において、ＭＦＰ１０１は、レガシー認証によるプリント処理を行い、本フローチャートの処理を終了し、図９のプリント処理のシーケンスも終了する。
前述したようにレガシー認証によるプリント処理では、図６のＳ６０２〜Ｓ６０４の記載と同様のレガシー認証が行われる。レガシー認証が成功した場合に、ＭＦＰ１０１は、プリントシステム１０３から、プリントデータ管理テーブル（表３）で管理されていた、認証されたユーザーのユーザーＩＤに対応するプリントデータの一覧を取得できる。
【０１１０】
以下、図９の説明に戻る。
なお、図９のシーケンス図では、登録済サービスであった場合について記載する。
次にＳ９１１において、ブラウザー３００のスクリプト実行部３０２は、ＪａｖａＳｃｒｉｐｔを解析し、Ｂｌｕｅｔｏｏｔｈ制御部３０４を呼び出す。そして、Ｂｌｕｅｔｏｏｔｈ制御部３０４は、接続開始要求を携帯端末１０２に送信する。例えば、ＷｅｂＢｌｕｅｔｏｏｔｈ ＡＰＩのｃｏｎｎｅｃｔを呼び出す。
【０１１１】
上記Ｓ９１１の接続開始要求を受信すると、携帯端末１０２は、Ｓ９１２において、ＭＦＰ１０１に接続結果を応答する。この接続が完了すると、プリントシステム１０３のプリントサービス３７０が提供したＪａｖａＳｃｒｉｐｔから携帯端末１０２への操作が可能となり、以降の生体認証の処理を行われる。
【０１１２】
上記接続結果の応答を受信すると、ＭＦＰ１０１のブラウザー３００は、Ｓ９１３の処理を進める。Ｓ９１３において、プリントサービス３７０が提供したＪａｖａＳｃｒｉｐｔを実行するスクリプト実行部３０２は、生体認証制御部３０３を呼び出す。生体認証制御部３０３は、Ｂｌｕｅｔｏｏｔｈ制御部３０４を経由して、携帯端末１０２のオーセンティケータ３５０に対して、図１１（ｂ）に示す認証要求データ１１１０と共に認証要求を行う。ここで図１１（ｂ）を用いて、認証要求データ１１１０について説明する。
【０１１３】
図１１（ｂ）は、認証要求データ１１１０の一例を示す図である。
図１１（ｂ）のように、認証要求データ１１１０は、プリントサービス３７０が生成した認証用パラメータ１１００と、プリントサービスＩＤ１１１２と、Web Origin１１１３とを含む。Web Origin１１１３は、プリントサービス３７０のOriginである。プリントサービスＩＤ１１２は、プリントサービスのトップレベルドメイン、セカンドレベルドメインの情報を格納する。例えば、プリントサービス３７０のＵＲＬが「https://www.pull‐print.com」であった場合、プリントサービスＩＤは「pull‐print.com」となる。
【０１１４】
Ｓ９１４において、携帯端末１０２のオーセンティケータ３５０は、生体認証処理（図１２（ｂ））を実行する。ここで、図１２（ｂ）を用いて、生体認証処理について説明する。
【０１１５】
図１２（ｂ）は、携帯端末１０２における、生体認証処理を説明するためのフローチャートである。このフローチャートの処理は、携帯端末１０２のＣＰＵ２４２がＲＯＭ２４４等に記憶されているプログラムを、ＲＡＭ２４３に読み出して実行することにより実現される。
【０１１６】
Ｓ１２５１で、オーセンティケータ３５０の生体情報要求部３５４は、図１３に示すような生体情報の入力要求画面１３００を表示する。ここで、図１３を用いて、生体情報の入力要求画面１３００について説明する。
図１３は、生体情報の入力要求画面１３００の一例を示す図である。
図１３のように、入力要求画面１３００は、前述したようにＭＦＰ１０１とＢｌｕｅｔｏｏｔｈを介して通信している携帯端末１０２のユーザーに生体情報の入力を促すものである。ボタン１３０１は、生体情報の入力をキャンセルするためのボタンであり、ボタン１３０１が押下された場合は、図１２（ｂ）で示したフローチャートの処理を終了し、図９で示したシーケンスの処理も終了する。
ボタン８０２には生体情報センサ２４８が備えられており、生体情報の読み取りを行う。
【０１１７】
以下、図１２の説明に戻る。
次にＳ１２５２において、オーセンティケータ３５０の生体情報要求部３５４は、ユーザーにより生体情報が入力されたかを監視する。生体情報が未入力の間、生体情報要求部３５４は、上記監視を続ける。そして生体情報が入力された場合は、生体情報要求部３５４は、Ｓ１２５３に処理を進める。
【０１１８】
Ｓ１２５３において、オーセンティケータ３５０の生体認証処理部３５２は、入力されたユーザーの生体情報の特徴量を取得し、認証情報格納部３５３がＴＰＭ２４６に格納済みの情報と照合することで生体認証を実行する。この特徴量は、指紋のパターン・虹彩の模様・静脈の形など個人に対してユニークであるものを、ユニーク性を損なわないような値に変換したものである。この個人に対してユニークな特徴量を用いて個人を特定するのが生体認証である。
【０１１９】
次にＳ１２５４において、オーセンティケータ３５０の生体認証処理部３５２は、生体認証の結果が成功であったかを判定する。生体認証結果が成功でなかった（失敗）と判定した場合（Ｓ１２５４でＮｏの場合）、生体認証処理部３５２は、Ｓ１２５７に処理を進める。
【０１２０】
Ｓ１２５７において、オーセンティケータ３５０の生体情報要求部３５４は、生体認証がエラーであったことを伝えるメッセージを表示し、Ｓ１２５１に処理を戻して、再度、生体認証を促すように制御する。なお、図１２（ｂ）では記載していないが、複数回失敗したときには、Ｓ９１４の生体認証処理をエラーとして図９で示したシーケンスの処理を終了するように構成してもよい。
【０１２１】
一方、上記Ｓ１２５４において、生体認証結果が成功であったと判定した場合（Ｓ１２５４でＹｅｓの場合）、生体認証処理部３５２は、Ｓ１２５５に処理を進める。
Ｓ１２５５において、オーセンティケータ３５０の生体認証処理部３５２は、プリントサービスＩＤ１１１２及び、上記Ｓ１２５３で認証成功した生体情報の生体情報ＩＤを基に、認証情報管理テーブル（表１）から、対応する秘密鍵を特定する。Ｓ１２５６で、オーセンティケータ３５０の生体認証処理部３５２は、特定した秘密鍵を用いて、アサーションチャレンジ１１０１から署名１１２２を作成し、図９のＳ９１５に処理を遷移する。そして、図９のプリント処理のシーケンスを継続する。図９で示す処理では、生体認証処理で、携帯端末１０２のユーザーの生体認証が成功した場合の例について説明している。以下、図９の説明に戻る。
【０１２２】
次にＳ９１５において、オーセンティケータ３５０の生体認証処理部３５２は、図１１（ｃ）で示す署名１１２２を含むアサーション情報１１２０を、ＭＦＰ１０１のブラウザー３００に返却する。アサーション情報１１２０は、認証情報ＩＤ１１２１と、アサーションチャレンジ１１０１をユーザーの生体認証情報に対応する秘密鍵で暗号化した署名１１２２から構成される。
次にＳ９１６において、ブラウザー３００の通信部３０６は、上記Ｓ９１５で受信したアサーション情報１１２０を、プリントシステム１０３のプリントサービス３７０に送信する。該アサーション情報１１２０を受信すると、プリントシステム１０３のプリントサービス３７０は、Ｓ９１７に処理を進める。
【０１２３】
Ｓ９１７において、プリントサービス３７０のオーセンティケータ情報処理部３７２は、アサーション情報１１２０の検証を行う。より具体的には、アサーション情報１１２０に含まれる署名１１２２を認証情報ＩＤ１１２１で特定される公開鍵で復号したデータと、上記Ｓ９０２で生成した認証用パラメータ１１００に含まれるアサーションチャレンジ１１０１とを比較する。そして、認証用パラメータ１１００に含まれるアサーションチャレンジ１１０１が一致したことによりアサーション情報の正当性を検証する。公開鍵の特定は、オーセンティケータ情報管理テーブル（表５）を用いて行われる。
【０１２４】
次にＳ９１８において、プリントサービス３７０のトークン管理部３７９は、上記Ｓ９１７で検証されたアサーション情報１１２０に対応するユーザーのトークンを発行する。
次にＳ９１９において、プリントサービス３７０の通信部３７４は、ＭＦＰ１０１のブラウザー３００に、上記Ｓ９１８で発行したトークンを返却する。該トークンを受信すると、ＭＦＰ１０１のブラウザー３００は、Ｓ９２０に処理を進める。
【０１２５】
Ｓ９２０において、ブラウザー３００の通信部３０６は、上記Ｓ９１９で受信したトークンとともに、プリントシステム１０３のプリントサービス３７０に対してプリントデータの一覧要求を送信する。該プリントデータの一覧要求を受信すると、プリントサービス３７０は、Ｓ９２１に処理を進める。
【０１２６】
Ｓ９２１において、プリントサービス３７０の通信部３７４は、上記Ｓ９２０で受信したトークンと紐づくユーザーのプリントデータ一覧をＭＦＰ１０１のブラウザー３００に送信する。プリントデータ一覧には、通信量を考慮して、表３のプリントデータ管理テーブルのデータ名列と予約コード列の値を含んでおり、バイナリデータであるプリントデータ列の値は含まない。該プリントデータ一覧を受信すると、ブラウザー３００は、Ｓ９２２に処理を進める。
Ｓ９２２において、ブラウザー３００の表示部３０１は、上記Ｓ９２１で受信したプリントデータ一覧を表示する。ここで、図１０（ｂ）を用いてプリントデータ一覧画面について説明する。
【０１２７】
図１０（ｂ）は、プリントデータ一覧画面の一例を示す図である。
図１０（ｂ）のように、プリントデータ一覧画面１０４０は、リスト１０４１、ボタン１０４２を有する。
リスト１０４１は、プリントデータの情報を表示しており、選択が可能となっている。選択されたプリントデータがプリントの対象となる。
ボタン１０４２は、プリント実行を指示するためのボタンである。リスト１０４１でプリントデータが選択され、ブラウザー３００の表示部３０１が、ボタン１０４２の押下を受け付けると、Ｓ９２３に遷移する。
【０１２８】
以下、図９の説明に戻る。
Ｓ９２３において、ブラウザー３００の通信部３０６は、プリントシステム１０３のプリントサービス３７０に対して、プリントデータ一覧画面１０４０で選択されたプリントデータの取得要求を送信する。該プリントデータの取得要求を受信すると、プリントサービス３７０は、Ｓ９２４に処理を進める。
【０１２９】
Ｓ９２４において、プリントサービス３７０の通信部３７４は、上記Ｓ９２３で指定されたプリントデータをＭＦＰ１０１のブラウザー３００に送信する。Ｓ９２４で送信するプリントデータは、バイナリデータであるプリントデータ列を含む。該プリントデータを受信すると、ブラウザー３００は、Ｓ９２５に処理を進める。
Ｓ９２５において、ブラウザー３００のスクリプト実行部３０２は、プリント制御部３０５を呼び出し、受信したプリントデータを用いて、プリント処理を実行して、本シーケンスで示す処理が完了する。
【０１３０】
以上、本実施形態によれば、許可プロンプトに頼らずユーザーに信頼されたＷｅｂアプリケーションを特定可能となる。この結果、画像処理装置等の機器のＷｅｂブラウザーに、許可されたＷｅｂアプリケーションと携帯端末の情報が保存されることを防止できる。この結果、コンビニエンスストア等の公共の場にある複合機等のＷｅｂブラウザーに許可情報、つまりは個人所有のＢｌｕｅｔｏｏｔｈ／ＵＳＢデバイスに関する情報を残すことがなくなり、セキュリティを向上できる。また、本実施形態では、複合機等のＷｅｂブラウザーが、携帯端末から登録済のサービスの情報を取得して、サービス提供システムが携帯端末にアクセスしてよいか否かを判断する。これにより、携帯端末にＷｅｂアプリケーションに対応する情報が登録済みの場合には、許可プロンプトの表示なしにＷｅｂアプリケーションから携帯端末へのアクセスを許可する。このため、スムースに携帯端末からユーザーに認証要求がなされ、ユーザーの使い勝手も向上する。よって、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築することができる。
【０１３１】
〔他の実施形態〕
以下、図１４、図１５を用いて他の実施形態について説明する。
第１実施形態では、ＭＦＰ１０１が公共の場に配置されており、ＭＦＰ１０１のブラウザー３００は、許可情報を残さず、さらに許可を求める画面を表示しないように構成した。他の実施形態としては、ＭＦＰ１０１が企業内や個人所有など公共の場ではない場所に配置されていることを想定し、許可画面を表示する例について説明する。以下、第１実施形態と異なる点についてのみ説明する。
【０１３２】
図１４は、他の実施形態におけるプリントデータのプリント処理の一例を示すシーケンス図である。なお、この図において、ＭＦＰ１０１の処理は、ＭＦＰ１０１のＣＰＵ２２１がＲＯＭ２２３等に記憶されているプログラムを、ＲＡＭ２２２に読み出して実行することによって実現される。また、携帯端末１０２の処理は、携帯端末１０２のＣＰＵ２４２がＲＯＭ２４４等に記憶されているプログラムを、ＲＡＭ２４３に読み出して実行することによって実現される。また、プリントシステム１０３の処理は、プリントシステム１０３を提供するサーバーＰＣのＣＰＵ２０１が外部メモリ２１０等に記憶されているプログラムを、ＲＡＭ２０２に読み出して実行することによって実現される。
【０１３３】
本実施形態では、第１実施形態で説明した図９と異なる点のみ説明する。第１実施形態と異なるのは、Ｓ９０７〜Ｓ９１０の処理を実行することなく、Ｓ１４０１の処理を実行する点である。Ｓ１４０１において、ブラウザー３００の表示部３０１は、図１５に示すような許可確認画面１５００を表示する。許可確認画面１５００は、プリントシステム１０３のプリントサービス３７０が携帯端末１０２を操作することに対する許可を、ユーザーに求める画面である。ここで図１５を用いて、許可確認画面１５００について説明する。
【０１３４】
図１５は、許可確認画面１５００の一例を示す図である。
図１５のように、許可確認画面１５００は、ボタン１５０１、ボタン１５０２を有する。ボタン１５０１は、プリントシステム１０３のプリントサービス３７０が携帯端末１０２を操作することを許可するためのボタンである。ボタン１５０１が押下された場合は、Ｓ９１１以降の処理を継続して、生体認証を行う。ＭＦＰ１０１は公共の場に配置されていないため、一度許可されたら、その際にブラウザー３００が許可された情報を保持して、次回は許可画面を表示しないように構成してもよい。
ボタン１５０２は、許可をせずにキャンセルするためのボタンである。ボタン１５０２が押下された場合、図１４に示すＳ９１１以降のシーケンスの処理は実行せずに終了する。
【０１３５】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【０１３６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図１】
2020095433.tif 000009
【図２Ａ】
2020095433.tif 000010
【図２Ｂ】
2020095433.tif 000011
【図３Ａ】
2020095433.tif 000012
【図３Ｂ】
2020095433.tif 000013
【図４】
2020095433.tif 000014
【図５】
2020095433.tif 000015
【図６】
2020095433.tif 000016
【図７】
2020095433.tif 000017
【図８】
2020095433.tif 000018
【図９】
2020095433.tif 000019
【図１０】
2020095433.tif 000020
【図１１】
2020095433.tif 000021
【図１２】
2020095433.tif 000022
【図１３】
2020095433.tif 000023
【図１４】
2020095433.tif 000024
【図１５】
2020095433.tif 000025