(57)【要約】      （修正有）【課題】認証に伴う操作を低減すること。【解決手段】情報処理システムは、情報処理装置１０と、サーバ装置３０と、サーバ装置の提供するサービスをユーザに提示する機器２０からなり、情報処理装置１０とサーバ装置３０との間、および機器２０とサーバ装置３０との間はインターネットにより通信可能な状態で接続されており、情報処理装置１０と機器２０との間は近距離無線通信で互いに通信可能な状態にある。情報処理装置１０は、ランダムな第１の値を、機器２０に近距離無線通信により送信し、前記第１の値がサーバ装置３０により暗号化されたデータを、機器２０から前記近距離無線通信により受信し、データをあらかじめ前記サーバ装置３０から取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行する。これらの値が一致すればユーザ認証を実行する。【選択図】図５
2018074205.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、
前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信し、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行させるプログラム。
【請求項２】
前記データを復号した値と、前記第１の値が一致する場合、ユーザを認証し、
前記ユーザの認証の結果を、前記機器を介して、前記サーバに送信する
処理を前記情報処理装置に実行させる、請求項１記載のプログラム。
【請求項３】
前記データを復号した値と、前記第１の値が一致する場合、前記サーバにて生成されたランダムな第２の値を、前記機器から受信する処理を前記情報処理装置に実行させ、
前記サーバに送信する処理は、前記ユーザの認証の結果と、前記第２の値とを暗号化したデータを、前記機器を介して、前記サーバに送信する、請求項２記載のプログラム。
【請求項４】
前記データを復号した値と、前記第１の値が一致する場合、前記ユーザの認証の方式を識別する情報を、前記機器から受信する処理を前記情報処理装置に実行させ、
前記ユーザを認証する処理は、前記情報に応じた方式により、前記ユーザを認証する、請求項２または３記載のプログラム。
【請求項５】
前記ユーザの認証の結果とともに、前記ユーザの認証に関わる状況情報を送信する
処理を前記情報処理装置に実行させる、請求項２乃至４のいずれか一項に記載のプログラム。
【請求項６】
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信する近接通信部と、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する認証処理部と、
を備える情報処理装置。
【請求項７】
情報処理装置、機器、及びサーバを有する情報処理システムであって
前記情報処理装置は、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信する近接通信部と、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する認証処理部と、
を備え、
前記機器は、
前記情報処理装置から受信した前記第１の値を、前記サーバに送信し、前記サーバから受信した前記データを、前記情報処理装置に送信し、
前記サーバは、
前記機器から受信した前記第１の値を暗号化し、当該暗号化した値である前記データを、前記機器に送信する
ことを特徴とする情報処理システム。
【請求項８】
情報処理装置が、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、
前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信し、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、様々なモノ（機器）がインターネットに接続し、生活や産業が大きく変革すると言われている。利用者がモノを利用する際には、人とモノを安全につなぐための利用者の認証を行い、モノからサービスの提供を受けることが必要になる。
【０００３】
しかし、様々な生活シーンでモノを利用する際に、モノが小さくて認証装置をつけることができない場合がある。また、モノが認証装置を備える場合であっても、認証方式には、パスワード入力やパターン入力などの記憶に頼る認証方式や、指紋や静脈などの生体情報に頼る認証方式などがある。モノごとに認証方式が異なる場合、利用者はモノごとの認証方式に応じた操作により、モノを利用する必要がある。
【０００４】
このような問題に対し、ＦＩＤＯ（Ｆａｓｔ  Ｉｄｅｎｔｉｔｙ  Ｏｎｌｉｎｅ）  Ａｌｌｉａｎｃｅでは、スマートフォン等のユーザ端末の生体認証機能を使って、ネットワーク上に生体認証情報を流さず、サービス（クラウド）側でもユーザの生体認証情報を管理する必要がない認証プロトコルを策定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０４９４６４号公報
【特許文献２】特開２００３−１４３１３６号公報
【特許文献３】特開２０１５−２０３９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＦＩＤＯ仕様では、認証装置を備えた端末と認証サーバの二者間でのユーザ認証プロトコルを規定しており、さらに認証装置が端末の外部機器として接続されている構成でも動作する仕組みが確立されている。しかし、認証装置と端末間の接続はあらかじめ確立されていることが前提となっているため、実際にユーザ認証を行う際には、例えば、認証装置と端末間をＢｌｕｅｔｏｏｔｈ（登録商標）接続する場合、ペアリングの設定を行った後で認証操作をする必要があり、ユーザの手間がかかる問題がある。
【０００７】
一方で、昨今のスマートフォンには指紋認証、顔認証、虹彩認証などの認証装置を備えた機種も多く、認証器を備えていない機器に対して、外部認証装置としてスマートフォンを利用することが考えられる。この場合、１台のユーザの端末（情報処理装置）を用いて、様々な複数のモノ（機器）を利用できれば便利であるが、上記の方法に従って端末と機器間のすべての組み合わせで接続処理を行うことはユーザの設定作業が発生することを考えると現実的ではない。
【０００８】
また、一方の側面では、情報処理装置と機器が常に接続可能な状態にあるのはセキュリティ面で好ましくない。例えば、生体情報を格納している情報処理装置が常に機器からの接続待ち状態にあると、悪意のあるものから攻撃対象になりやすいため、周辺に認証を必要とする機器がない状態では接続待ち状態にならない方が好ましい。
【０００９】
そこで、認証に伴う操作を低減することを目的とする。
【課題を解決するための手段】
【００１０】
一つの案では、情報処理装置に、ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信し、前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行させる。
【発明の効果】
【００１１】
一側面によれば、認証に伴う操作を低減することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施の形態における情報処理装置のハードウェア構成例を示す図である。
【図３】第１の実施形態に係る情報処理装置、機器、及びサーバ装置の機能構成の一例を示す図である。
【図４】第１の実施形態に係る情報処理システムの登録処理の一例を示すシーケンス図である。
【図５】第１の実施形態に係る情報処理システムの機器確認処理の一例を示すシーケンス図である。
【図６】第１の実施形態に係る情報処理システムのユーザ認証処理の一例を示すシーケンス図である。
【図７】第２の実施形態に係る情報処理システムの登録処理の一例を示すシーケンス図である。
【図８】第２の実施形態に係る情報処理システムの機器確認処理の一例を示すシーケンス図である。
【図９】中間者攻撃について説明する図である。
【図１０】第２の実施形態に係る情報処理システム１の中間者攻撃対策の処理の一例を示すシーケンス図である。
【図１１】第３の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【図１２】第４の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【図１３】第５の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施形態を説明する。
【００１４】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システムの構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０、機器２０、及びサーバ装置３０を備える。情報処理装置１０とサーバ装置３０との間、及び機器２０とサーバ装置３０との間は、例えばインターネット、携帯電話網等のネットワークにより、通信可能な状態で接続している。
【００１５】
情報処理装置１０と機器２０は、例えば、ＮＦＣ（Ｎｅａｒ  ｆｉｅｌｄ  ｒａｄｉｏ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ）等の近距離無線や無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、携帯電話網等によって互いに通信可能な状態にある。
【００１６】
情報処理装置１０は、例えば指紋認証や顔認証等によりユーザを認証する機能を有する端末であり、例えば、スマートフォン、タブレット型端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、認証装置付きＩＣカード等である。また、情報処理装置１０は、サーバ装置３０にユーザを登録する。情報処理装置１０は、複数のユーザにより共用されてもよい。
【００１７】
機器２０は、サーバ装置３０が提供するサービスに関するコンテンツ等をユーザに提示する機器であり、例えば、ＡＴＭ（ａｕｔｏｍａｔｉｃ  ｔｅｌｌｅｒ  ｍａｃｈｉｎｅ）、宅配ボックス、ロッカーのような据え置き機器、または車のような移動する機器である。あるいは、機器２０は、スマートフォンやＰＣのような端末であってもよいし、ドアに取り付けるロックのような組み込み機器であってもよい。
【００１８】
機器２０は、ユーザの操作等に応じて、情報処理装置１０にユーザ認証を要求し、情報処理装置１０から、ユーザ認証の結果を取得する。
【００１９】
サーバ装置３０は、例えばインターネット等を介した通信によって、遠隔から所定のサービスを提供する装置である。サーバ装置３０は、例えば、オンラインバンキングサービス、ロッカーやドアロックを遠隔操作する施錠管理サービス、車の運転情報の管理と地図やエンターテイメント情報を提供するヴィークルインフォメーションサービス（ＶＩＳ）等のサービスを提供してもよい。
【００２０】
＜ハードウェア構成＞
図２は、実施の形態における情報処理装置１０のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００２１】
情報処理装置１０での処理を実現する情報処理プログラムは、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical  User  Interface）等を表示する。入力装置１０７はタッチパネル及びボタン等、またはキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００２３】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２４】
また、情報処理装置１０は、カメラや指紋取得装置等の、ユーザの生体情報を取得するハードウェアを備えてもよい。
【００２５】
機器２０、及びサーバ装置３０のハードウェア構成は、図２に示す情報処理装置１０のハードウェア構成例と同様でもよい。
【００２６】
＜機能構成＞
次に、図３を参照し、第１の実施形態に係る情報処理装置１０、機器２０、及びサーバ装置３０の機能構成について説明する。図３は、第１の実施形態に係る情報処理装置１０、機器２０、及びサーバ装置３０の機能構成の一例を示す図である。
【００２７】
≪情報処理装置≫
情報処理装置１０は、認証情報記憶部１１を有する。認証情報記憶部１１は、例えば、補助記憶装置１０２等を用いて実現される。認証情報記憶部１１は、サーバ証明書等のデータを記憶する。
【００２８】
また、情報処理装置１０は、登録部１２、認証処理部１３、ユーザ認証部１４、近接通信部１５、及び通信部１６を有する。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００２９】
登録部１２は、通信部１６を介して、ユーザ毎の公開鍵をサーバ装置３０に登録する。登録部１２は、ユーザ認証部１４によるユーザの認証方式毎に生成された公開鍵をサーバ装置３０に登録してもよい。
【００３０】
認証処理部１３は、後述する機器確認処理や、ユーザ認証処理を行う。
【００３１】
認証処理部１３は、ランダムな値である第１のチャレンジを、機器２０に、近接通信部１５を介して送信する。認証処理部１３は、また、第１のチャレンジをサーバ装置３０のサーバ鍵で暗号化された値であるトークンを、機器２０から近接通信部１５を介して受信する。認証処理部１３は、トークンをあらかじめサーバ装置３０から取得していたサーバ鍵で復号した値と第１のチャレンジが一致する場合、ユーザの認証結果を機器２０に通知するための接続を確立し、通信可能な状態にする。すなわち、機器２０がサーバ装置３０の認証済である状態において、情報処理装置１０がサーバ装置３０の検証を行うことで機器２０を間接的に信頼する。
【００３２】
ユーザ認証部１４は、所定の認証方式により、ユーザの認証を行う。ユーザ認証部１４は、例えば、指紋認証、虹彩認証、パスワード認証等の認証方式に応じて、複数のユーザ認証部１４が設けられてもよい。
【００３３】
近接通信部１５は、機器２０と、ＮＦＣ、ＢＬＥ、無線ＬＡＮ等を用いた近接通信（近距離無線通信）を行う。
【００３４】
通信部１６は、例えば携帯電話網やインターネット等を介して、サーバ装置３０や機器２０との通信を行う。また、通信部１６は、近接通信部１５を用いて、機器２０との通信を行う。
【００３５】
≪機器≫
機器２０は、認証処理部２１、近接通信部２２、及び通信部２３を有する。これら各部は、機器２０にインストールされた１以上のプログラムが、機器２０のＣＰＵに実行させる処理により実現される。
【００３６】
認証処理部２１は、後述する機器確認処理や、ユーザ認証処理を行う。
【００３７】
近接通信部２２は、情報処理装置１０と、ＮＦＣ、ＢＬＥ、無線ＬＡＮ等を用いた近接通信（近距離無線通信）を行う。
【００３８】
通信部２３は、例えば携帯電話網やインターネット等を介して、サーバ装置３０等との通信を行う。
【００３９】
≪サーバ装置≫
サーバ装置３０は、認証情報記憶部３１を有する。認証情報記憶部３１は、例えば、サーバ装置３０の補助記憶装置等を用いて実現される。認証情報記憶部３１に記憶されるデータについては後述する。
【００４０】
また、サーバ装置３０は、認証処理部３２、サービス部３３、及び通信部３４を有する。これら各部は、サーバ装置３０にインストールされた１以上のプログラムが、サーバ装置３０のＣＰＵに実行させる処理により実現される。
【００４１】
認証処理部３２は、後述する機器確認処理や、ユーザ認証処理を行う。
【００４２】
サービス部３３は、情報処理装置１０に、所定のコンテンツ等を提供する。
【００４３】
通信部３４は、例えば携帯電話網やインターネット等を介して、情報処理装置１０や機器２０との通信を行う。
【００４４】
＜処理＞
≪登録処理≫
次に、図４を参照し、第１の実施形態に係る情報処理システム１の登録処理について説明する。図４は、第１の実施形態に係る情報処理システム１の登録処理の一例を示すシーケンス図である。
【００４５】
ステップＳ１において、情報処理装置１０の登録部１２は、登録用のアプリケーション（以下で「アプリ」とも称する。）を起動し、サーバ装置３０に登録開始のコンテンツを要求する。例えば、登録用のアプリがＷｅｂブラウザの場合、登録ページのＨＴＭＬデータを要求する。
【００４６】
続いて、サーバ装置３０の認証処理部３２は、サーバ装置３０のサーバ証明書とともに登録開始のコンテンツを情報処理装置１０に送信する（ステップＳ２）。サーバ証明書には、サーバ装置３０の公開鍵が含まれる。
【００４７】
続いて、情報処理装置１０の登録部１２は、受信したサーバ証明書を、サーバ装置３０のサーバＩＤ（例えばサーバ装置３０のＵＲＬ等）に対応付けて認証情報記憶部１１に記憶する（ステップＳ３）。
【００４８】
続いて、情報処理装置１０の登録部１２は、登録用のアプリにより、登録開始のコンテンツに基づいて、ユーザ認証の操作を認証処理部１３に要求する（ステップＳ４）。要求を受けた認証処理部はユーザ認証部１４を介して、例えば、ユーザに対して生体認証を要求する画面を表示する。そして、当該画面に応じて、ユーザは、要求された操作を行う。例えば、情報処理装置１０によって生体認証を受ける。情報処理装置１０のユーザ認証部１４は、ユーザの生体情報に基づいて認証を行う。この際、例えば、ユーザの正しい生体情報は、情報処理装置１０に予め登録されているものを用いる。もし、正しい生体情報が未登録の場合は生体情報の登録も同時に行ってもよい。
【００４９】
ユーザ認証部１４によるユーザ認証が成功すると、情報処理装置１０のユーザ認証部１４は、ユーザの非対称鍵の鍵ペア（秘密鍵及び公開鍵）を生成する（ステップＳ５）。すなわち、ユーザ認証部１４が複数ある場合は、非対称鍵の鍵ペアは、ユーザ認証部１４毎に生成される。
【００５０】
このとき、生体認証を行ったときの状況情報も同時に生成する。状況情報には、例えばどの登録アプリを使ったかを示すアプリＩＤ、どの認証装置を使ったかを示す認証方式情報、鍵の生成が安全なメモリ領域で行われたことを示す情報処理装置の証明書、などが含まれる。
【００５１】
続いて、情報処理装置１０のユーザ認証部１４は、生成された非対象鍵のうちのユーザの秘密鍵と、当該ユーザ認証で用いられたユーザ認証部１４を識別するＫｅｙＩＤをサーバＩＤに紐づけて認証情報記憶部１１に保存し（ステップＳ６）、生成された非対象鍵のうちのユーザの公開鍵を、ユーザの識別情報（ユーザＩＤ）、状況情報、ＫｅｙＩＤとともに認証処理部１３に受け渡す。認証処理部１３はＫｅｙＩＤを登録部のアプリＩＤに変換して先ほどの情報をユーザの秘密鍵で署名してサーバ装置３０に送信する（ステップＳ７）。
【００５２】
続いて、サーバ装置３０の認証処理部３２は、受信した状況情報に含まれる証明書が正しいかどうかを検証し、問題ないことを確認するとユーザＩＤ、アプリＩＤ、状況情報、及びユーザの公開鍵を対応付けて認証情報記憶部３１に記憶させる（ステップＳ８）。
【００５３】
≪機器確認処理≫
次に、図５を参照し、第１の実施形態に係る情報処理システム１の機器確認処理について説明する。図５は、第１の実施形態に係る情報処理システム１の機器確認処理の一例を示すシーケンス図である。ユーザが、情報処理装置１０を用いてサーバ装置３０のサービスを利用する際に、機器確認処理と、後述するユーザ認証処理が行われる。なお、機器確認処理を行う前に、上述した登録処理が予め行われているものとする。
【００５４】
ステップＳ１１において、機器２０の認証処理部２１は、近接通信部２２により、情報処理装置１０に近づいたことを検知する。
【００５５】
続いて、機器２０の認証処理部２１は、ＮＦＣリーダにより、ランダムな値であるチャレンジ（ｃｈａｌｌｅｎｇｅ）の値を、情報処理装置１０のインタフェース装置１０５に含まれるＮＦＣタグから受信し、当該チャレンジをサーバ装置３０に送信する（ステップＳ１２）。
【００５６】
続いて、サーバ装置３０の認証処理部３２は、受信したチャレンジをサーバ装置３０の秘密鍵で暗号化（署名）したトークン（ｔｏｋｅｎ）を生成し（ステップＳ１３）、当該トークンを機器２０に送信する（ステップＳ１４）。
【００５７】
続いて、機器２０の認証処理部２１は、受信したトークンにサーバＩＤを付加し、当該トークンを情報処理装置１０のＮＦＣタグに転送する（ステップＳ１５）。なお、機器２０には、予めサーバ装置３０のサーバＩＤが設定されていてもよい。
【００５８】
続いて、情報処理装置１０の認証処理部１３は、受信したトークンを、当該トークンに付加されているサーバＩＤに対応付けられたサーバ証明書に含まれる公開鍵で復号する（ステップＳ１６）。
【００５９】
続いて、情報処理装置１０の認証処理部１３は、上述したチャレンジと、トークンを復号した値が一致するか否かを判定する（ステップＳ１７）。
【００６０】
続いて、上述したチャレンジと、トークンを復号した値が一致する場合、情報処理装置１０の認証処理部１３は、機器２０が登録済のサーバ装置３０に対応しているとみなし、ユーザの認証結果を機器２０に通知するための通信を接続する準備を行う（ステップＳ１８）。なお、復号に失敗した場合や、チャレンジと、トークンを復号した値が一致しない場合は、処理を終了する。
【００６１】
ステップＳ１８において、情報処理装置１０は、通信方式、通信に必要なパラメータ、情報処理装置１０においてユーザ認証部１４を識別するためのモジュール名、機器２０において情報処理装置１０のユーザ認証部１４を識別するためのＩＤ（ＫｅｙＩＤ）を決定する。
【００６２】
機器２０との通信方式は、ＮＦＣの通信をそのまま使ってもよいし、例えばネットワーク等を介したＩＰによる通信や、Ｂｌｕｅｔｏｏｔｈ等の他の通信手段を用いてもよく、情報処理装置１０と機器２０が持つ通信手段によって適切な方式を選択する。選択方法は情報処理装置１０で予め決められていてもよいし、あるいは、サービス登録時にサーバから指定されてもよいし、あるいは機器２０側がトークンとともに通信方式を同時に情報処理装置１０のＮＦＣタグに書き込んで指定してもよい。
【００６３】
通信方式としてＩＰによる通信が選択された場合、情報処理装置１０は、ＩＰ接続のためのポートを開いて、接続待ち状態にする。ここで、開くポート番号は再利用されないようにランダムな番号にするのが望ましい。
【００６４】
その後、情報処理装置１０のＩＰアドレス、ポート番号、ユーザ認証部１４を構成する指紋認証装置等の認証器のモジュール名（例えばＡｎｄｒｏｉｄ  ＯＳの場合であれば、認証器モジュールのアプリ名）、認証器モジュールと紐づけて生成したＫｅｙＩＤでＮＦＣタグの情報を更新する。
【００６５】
機器２０の近接通信部２２はタグ情報の更新を検知すると、更新されたタグの情報を読み取り、読み取った、ユーザ認証部１４を呼び出すためのパラメータであるＫｅｙＩＤ等の情報を保存する（ステップＳ１９）。これらの一連の処理が完了すると、機器２０のサービスアプリはサービス提供画面を表示する。なお、サービスアプリが画面を有しない場合は、例えば機器２０に付随するＬＥＤを点灯させるなどして、サービス開始状態になったことを示してもよい。
【００６６】
上述した登録処理、及び機器確認処理により、情報処理装置１０と機器２０が近づいた際に、情報処理装置１０に格納されたサーバ装置３０の公開鍵と、機器２０に接続されたサーバ装置３０の秘密鍵とを用いて、情報処理装置１０が機器２０を認証することができる。そして、認証に成功した場合に、情報処理装置１０と機器２０との間での通信を一時的に利用できるようになる。これにより、以下で説明するユーザ認証処理を実行することが可能となる。
【００６７】
≪ユーザ認証処理≫
次に、図６を参照し、第１の実施形態に係る情報処理システム１のユーザ認証処理について説明する。図６は、第１の実施形態に係る情報処理システム１のユーザ認証処理の一例を示すシーケンス図である。なお、ユーザ認証処理は、上述した機器確認処理に続けて実行される。
【００６８】
ステップＳ３１において、機器２０のサービスアプリによって機器２０に表示されているサービス提供画面上で、ユーザにより所定のサービス開始操作が行われると、機器２０の認証処理部２１は、サーバ装置３０に、サービス要求を送信する。
【００６９】
続いて、サーバ装置３０の認証処理部３２は、ランダムな値であるチャレンジ（以下で「第２のチャレンジ」とも称する。）とともに認証要求を機器２０に送信する（ステップＳ３２）。
【００７０】
続いて、機器２０の通信部２３は、ステップＳ１８で取得した、情報処理装置１０のＩＰアドレスとポート番号に対して通信を接続する（ステップＳ３３）。
【００７１】
続いて、機器２０の認証処理部２１は、ステップＳ１８により一時的に接続可能となった通信方式を用いて、ステップＳ１８で取得したＫｅｙＩＤと第２のチャレンジを情報処理装置１０に送信する（ステップＳ３４）。これにより、サーバ装置３０から、ユーザ認証に用いられる認証方式を指定できる。
【００７２】
続いて、情報処理装置１０の上記ＫｅｙＩＤに対応するユーザ認証部１４は、ユーザ認証を促すメッセージを表示する（ステップＳ３５）。
【００７３】
続いて、情報処理装置１０の上記ＫｅｙＩＤに対応するユーザ認証部１４は、ユーザにより認証操作が行われると、ユーザ認証を行う（ステップＳ３６）。
【００７４】
続いて、ユーザ認証が成功すると、情報処理装置１０のユーザ認証部１４は、受信されたＫｅｙＩＤに対応するユーザの秘密鍵で第２のチャレンジを暗号化したレスポンスを生成する（ステップＳ３７）。
【００７５】
さらに、情報処理装置１０のユーザ認証部１４は、情報処理装置１０における認証時の状況情報として、認証のために一時的に確立された接続にかかわる情報を収集（生成）する（ステップＳ３８）。例えば、ＮＦＣタグが読み取られた時刻、接続方式と接続パラメータ（例えば、ＩＰ接続の場合なら接続待ち受け用のＩＰアドレスとポート番号）、ＩＰ通信開始時刻などである。
【００７６】
続いて、機器２０の認証処理部２１は、ステップＳ３８と同様に、機器２０における認証時の状況情報を収集する（ステップＳ３９）。機器側における認証時の状況情報とは、例えば、機器側がＮＦＣタグを読み取った時刻、情報処理装置との接続方式と接続パラメータ（例えば、ＩＰ接続の場合なら接続先のＩＰアドレスとポート番号）、ＩＰ通信開始時刻などである。
【００７７】
続いて、情報処理装置１０は、収集した認証状況情報、ユーザ認証の結果、及びレスポンスをユーザ秘密鍵で署名した情報にユーザＩＤを加えて機器２０に送信する（ステップＳ４０）。
【００７８】
続いて、機器２０の認証処理部２１は、受信したユーザＩＤ、情報処理装置の認証状況情報、ユーザ認証の結果、及びレスポンスに、機器側における認証時の状況情報を追加してサーバ装置３０に転送する（ステップＳ４１）。
【００７９】
続いて、サーバ装置３０の認証処理部３２は、情報処理装置１０から送信された署名済みの情報から、同じく受信したユーザＩＤから認証情報記憶部３１を参照して取得したユーザの公開鍵を用いて、認証時の状況情報、認証結果、レスポンスを取得する（ステップＳ４２）。
【００８０】
続いて、サーバ装置３０の認証処理部３２は、情報処理装置１０からの状況情報と機器２０からの状況情報を比較し（ステップＳ４３）、その内容が一致していれば、正しい経路で認証が行われたとみなして、以降のレスポンスの検証処理に進む。ここで、ＮＦＣの読み取り時刻などは多少の遅延を考慮して、一定時間内の誤差であれば一致しているとみなしても良い。もし、状況情報の内容に不一致が生じていれば、情報処理装置は認証のために一時的に確立した接続経路を通らずに、すなわち、機器を経由せずに認証を行ったことになるため、不正な処理と判断してユーザ認証失敗とする。また、情報処理装置からの状況情報はユーザ秘密鍵で署名されているため、サーバへの送信途中で機器が内容を改ざんすることはできない。
【００８１】
続いて、サーバ装置３０は、ステップＳ３２で送信した第２のチャレンジと、ステップＳ４０で復号されたレスポンスが一致するか否かを判定する（ステップＳ４４）。
【００８２】
一致する場合、サーバ装置３０の認証処理部３２は、ユーザ認証の結果が成功であるか否かを判定する（ステップＳ４５）。
【００８３】
ユーザ認証の結果が成功である場合、サーバ装置３０の認証処理部３２は、正当なユーザであるとみなし、サービスのコンテンツを機器２０に返信する（サービスを提供する）（ステップＳ４６）。なお、復号に失敗した場合や、第２のチャレンジと、レスポンスを復号した値が一致しない場合は、認証失敗を機器２０に返信する。
【００８４】
機器２０の通信部２３は、ユーザ認証が完了したため、情報処理装置１０との通信を切断する（ステップＳ４７）。これにより、ステップＳ１８により接続可能となった通信方式は、これ以降は利用不可となる。そのため、悪意の攻撃者等が情報処理装置１０のユーザ認証機能を外部装置から悪用することを防止することができる。
【００８５】
さらに、より安全にするために、通信切断と同時に情報処理装置１０のユーザ認証部は登録部１２を呼び出し、サーバ装置３０と通信を行うことによりユーザ鍵ペアの削除・更新を行っても良い。
【００８６】
＜その他＞
本実施形態において、ユーザが情報処理装置１０を紛失した場合、以下のような処理を行えるようにしてもよい。ユーザからサーバ装置３０の運用者に電話等で紛失を通知されると、運用者がサーバ装置３０にユーザＩＤを指定したサービス拒否設定を行う。そして、サーバ装置３０は、ユーザ認証処理において、例えばステップＳ４２の処理の後、認証失敗を機器２０に返信する。ユーザが情報処理装置１０を発見した場合、ユーザからサーバ装置３０の運用者に電話等で発見を通知されると、運用者がサーバ装置３０にユーザＩＤを指定したサービス拒否設定の解除を行う。
【００８７】
また、ユーザが情報処理装置１０の機種変更等をした場合、ユーザからサーバ装置３０の運用者に電話等で機種変更等を通知されると、運用者がサーバ装置３０にユーザＩＤを指定した、ユーザの公開鍵等の更新を許可する設定を行う。これにより、ユーザが情報処理装置１０を紛失し、新しい情報処理装置１０を購入し、引っ越しを要求してきた場合には、サービス拒否設定を解除するとともに、ユーザに対応付けられた鍵または鍵束全体を更新して安全にサービスを継続して受けられるようにできる。また、情報処理装置１０から通知されたコンテキストに基づいてユーザの情報処理装置１０が危険にさらされていることを検知した場合、サーバ装置３０が自動的にサービス拒否設定を行うようにしてもよい。
【００８８】
［第２の実施形態］
第１の実施形態では、情報処理装置１０と機器２０の間で、機器確認処理を、ＮＦＣを用いて行う例について説明した。第２の実施形態では、情報処理装置１０と機器２０の間で、機器確認処理を、ＢＬＥを用いて行う例について説明する。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【００８９】
以下では、情報処理装置１０がマスター（ホスト）、機器２０がスレーブ（ペリフェラル）になる場合について説明する。例えば、マスターの機能は、ＧＡＴＴ（Ｇｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｆｉｌｅ）クライアントにより実現し、スレーブの機能はＧＡＴＴサーバにより実現し、ＧＡＴＴサーバにはチャレンジ／トークンを読み書き可能なＣｈａｒａｃｔｅｒｉｓｔｉｃ領域が設けられる。なお、機器２０がマスター（ホスト）、情報処理装置１０がスレーブ（ペリフェラル）となるようにしてもよいことは言うまでもない。
【００９０】
≪登録処理≫
次に、図７を参照し、第２の実施形態に係る情報処理システム１の登録処理について説明する。図７は、第２の実施形態に係る情報処理システム１の登録処理の一例を示すシーケンス図である。
【００９１】
ステップＳ２０１の処理は、図４のステップＳ１の処理と同様である。
【００９２】
続いて、サーバ装置３０は、サーバ装置３０のサーバ証明書、登録開始のコンテンツ、及びランダムに生成したｓｅｃｒｅｔの値を情報処理装置１０に送信する（ステップＳ２０２）。
【００９３】
続いて、情報処理装置１０の認証処理部１３は、受信したｓｅｃｒｅｔの値を用いてサービスのＵＵＩＤを生成し、ＵＵＩＤと、受信したサーバ証明書を、サーバ装置３０のサーバＩＤ（例えばサーバ装置３０のＵＲＬ等）と対応付けて認証情報記憶部１１に記憶する（ステップＳ２０３）。ここで、サービスのＵＵＩＤは、例えば、サーバＩＤのハッシュ値とｓｅｃｒｅｔの値のハッシュ値を並べたビット列としてもよい。
【００９４】
ステップＳ２０４乃至ステップＳ２０８の処理は、図４のステップＳ４乃至ステップＳ８の処理とそれぞれ同様である。
【００９５】
≪機器確認処理≫
次に、図８を参照し、第２の実施形態に係る情報処理システム１の機器確認処理について説明する。図８は、第２の実施形態に係る情報処理システム１の機器確認処理の一例を示すシーケンス図である。
【００９６】
ステップＳ２３１において、機器２０の認証処理部２１は、上述したｓｅｃｒｅｔの値を用いてサービスのＵＵＩＤを生成する。なお、機器２０の認証処理部２１は、上述したｓｅｃｒｅｔの値を予め記憶しているものとする。また、ＵＵＩＤを生成する方法は、ステップＳ２０３における生成方法と同一であるものとする。
【００９７】
続いて、機器２０の認証処理部２１は、生成したＵＵＩＤをサービスのＵＵＩＤとして、ＢＬＥ通信のアドバタイズ（ＡＤＶ）機能を用い、アドバタイズ信号によりサービスのＵＵＩＤを発信する（ステップＳ２３２）。なお、アドバタイズ信号は一定の間隔で出し続けてもよいが、電力消費を抑えるために、人感センサーや照度センサーなどを用いて、人が機器２０の前に立ったことを検出し、一定時間だけアドバタイズ信号を発信するようにしてもよい。
【００９８】
また、アドバタイズ信号には、サービスのＵＵＩＤ以外に、電波強度と距離の関係を示す表のデータ、または、送信電波強度（ＴｘＰｏｗｅｒ）が含まれてもよい。
【００９９】
ここで、至近距離の情報処理装置１０だけがアドバタイズ信号を受信できるように、送信する電波強度を弱くしておくことが好ましい。そのため、例えば１ｍ以上離れた位置では受信できない程度に電波強度を調整してもよい。
【０１００】
情報処理装置１０の認証処理部１３は、アドバタイズ信号を受信したことを検知すると、登録処理において生成したＵＵＩＤのリストの中に、アドバタイズ信号に含まれるＵＵＩＤと一致するものがあるか否かを判定する（ステップＳ２３３）。
【０１０１】
一致するものがあれば、情報処理装置１０の認証処理部１３は、ＢＬＥ通信により受信した電波強度（ＲＳＳＩ）と、アドバタイズ信号に含まれる電波強度と距離の関係を示す表のデータ、または送信電波強度（ＴｘＰｏｗｅｒ）に基づいて、アドバタイズ信号を発信している機器２０と情報処理装置１０の距離を計算する（ステップＳ２３４）。そして、情報処理装置１０の認証処理部１３は、機器２０が情報処理装置１０の近くに存在すると判断すると、ＵＵＩＤに対応するサーバＩＤを一時バッファ等に記憶した後、機器２０に対してＢＬＥ通信により接続要求コマンドを送信する（ステップＳ２３５）。なお、ステップＳ２３３で、一致するＵＵＩＤがない場合や、電波強度が弱く、機器２０が所定の距離以内に位置しないと判断した場合は、処理を終了する。
【０１０２】
続いて、機器２０との接続が確立すると、情報処理装置１０の認証処理部１３は、ＧＡＴＴクライアント機能を用いて、機器２０の認証処理部２１のＧＡＴＴサーバの特定のＣｈａｒａｃｔｅｒｉｓｔｉｃ領域にチャレンジの値を書き込む（ステップＳ２３６）。
【０１０３】
続いて、機器２０の認証処理部２１は、チャレンジがＧＡＴＴサーバに書き込まれたことを検知すると、チャレンジをサーバ装置３０に送信する（ステップＳ２３７）。
【０１０４】
続いて、サーバ装置３０は、受信したチャレンジをサーバ装置３０の秘密鍵で暗号化（署名）したトークン（ｔｏｋｅｎ）を生成し（ステップＳ２３８）、機器２０に送信する（ステップＳ２３９）。
【０１０５】
続いて、機器２０の認証処理部２１は、ＧＡＴＴサーバの特定の領域にトークンを書き込む（ステップＳ２４０）。ＧＡＴＴサーバは、トークンが書き込まれたことを検知すると、ＢＬＥ通信によりｎｏｔｉｆｙコマンドを使ってトークンが書き込まれたことを情報処理装置１０に通知する。
【０１０６】
続いて、情報処理装置１０の認証処理部１３は、ＢＬＥ通信によりトークンを機器２０から読み込み、アドバタイズ信号を受信した際に記憶したサーバＩＤに対応付けられたサーバ証明書に含まれるサーバの公開鍵を用いて、トークンを復号する（ステップＳ２４１）。
【０１０７】
続いて、情報処理装置１０の認証処理部１３は、上述したチャレンジと、トークンを復号した値が一致するか否かを判定する（ステップＳ２４２）。
【０１０８】
続いて、上述したチャレンジと、トークンを復号した値が一致する場合、情報処理装置１０の認証処理部１３は、機器２０が登録済のサーバ装置３０に対応しているとみなし、機器２０との通信を接続する準備を行う（ステップＳ２４３）。なお、復号に失敗した場合や、チャレンジと、トークンを復号した値が一致しない場合は、処理を終了する。
【０１０９】
ステップＳ２４３において、情報処理装置１０の認証処理部１３は、通信方式、通信に必要なパラメータ、情報処理装置１０においてユーザ認証部１４を識別するためのモジュール名、機器２０において情報処理装置１０のユーザ認証部１４を識別するためのＩＤ（ＫｅｙＩＤ）を決定する。
【０１１０】
機器２０との通信方式は、ＢＬＥの通信をそのまま使ってもよいし、例えばネットワーク等を介したＩＰによる通信や、Ｂｌｕｅｔｏｏｔｈ等の他の通信手段を用いてもよく、情報処理装置１０と機器２０が持つ通信手段によって適切な方式を選択する。選択方法は情報処理装置１０で予め決められていてもよいし、あるいは、サービス登録時にサーバから指定されてもよいし、あるいは機器２０側がトークンとともに通信方式を同時に情報処理装置１０のＧＡＴＴサーバに書き込んで指定してもよい。
【０１１１】
通信方式としてＩＰによる通信が選択された場合、情報処理装置１０はＩＰ接続のためのポートを開いて、接続待ち状態にする。ここで、開くポート番号は再利用されないようにランダムな番号にするのが望ましい。
【０１１２】
その後、情報処理装置１０のＩＰアドレス、ポート番号、認証器のモジュール名（例えばＡｎｄｒｏｉｄ  ＯＳの場合であれば、認証器モジュールのアプリ名）、認証器モジュールと紐づけて生成したＫｅｙＩＤを機器２０のＧＡＴＴサーバの特定のＣｈａｒａｃｔｅｒｉｓｔｉｃ領域に書き込む。
【０１１３】
機器２０の近接通信部２２はタグ情報の更新を検知すると、更新されたタグの情報を読み取り、読み取った、ユーザ認証部１４を呼び出すためのパラメータであるＫｅｙＩＤ等の情報を保存する（ステップＳ２４４）。これらの一連の処理が完了すると、機器２０のサービスアプリはサービス提供画面を表示する。なお、サービスアプリが画面を有しない場合は、例えば機器２０に付随するＬＥＤを点灯させるなどして、サービス開始状態になってことを示してもよい。
【０１１４】
なお、第２の実施形態において、ステップＳ２４３において、ＩＰによる通信の準備を行い、ユーザ認証処理をＩＰによる通信で行う場合、機器確認処理で接続したＢＬＥの通信を切断せず、接続を保持しておいてもよい。この場合、ＢＬＥで接続している間は情報処理装置１０と機器２０は、それぞれ、受信電波強度（ＲＳＳＩ）を取得できるため、情報処理装置１０と機器２０の間の距離が離れたことをＲＳＳＩの低下によって検知することができる。そこで、情報処理装置１０または機器２０は、ＲＳＳＩが所定の閾値以下になった場合は、ＩＰによる通信を切断してもよい。
【０１１５】
＜中間者攻撃対策＞
第２の実施形態のようにＢＬＥを用いる場合、機器２０が発信する信号を取得してリレーする装置を使用して、情報処理装置１０と機器２０との間の距離を偽り、近接接続を乗っ取る中間者攻撃が行われる可能性があり得る。
【０１１６】
図９は、中間者攻撃について説明する図である。例えば、攻撃者は、図９のように、機器２０の前にＢＬＥ送受信機４０−１、４０−２を設置する。ＢＬＥ送受信機４０−２は、機器２０の発信するＢＬＥ信号を受信する。そして、ＢＬＥ送受信機４０−２は、受信した信号データをコピーし、遠隔地にある別のＢＬＥ送受信機４０−１に例えばインターネット経由で送信する。
【０１１７】
遠隔地にある別のＢＬＥ送受信機４０−１は、コピーしたＢＬＥの信号データを発信する。ＢＬＥ送受信機４０−１に情報処理装置１０を近づけると、情報処理装置１０は強い電波強度でＢＬＥ信号を受信するため、機器２０が発信したＢＬＥ信号が近くにあると判断し、機器２０確認の手順を開始する。情報処理装置１０から発信されたＢＬＥ信号は２つのＢＬＥ送受信機４０−１、４０−２をリレーして機器２０側で受信され、通常の機器２０確認手順が成立することになる。そのため、情報処理装置１０のユーザが機器２０から離れた場所にいるにも関わらず、ユーザ認証を通過し、サービス利用ができてしまう場合があり得る。このため、以下のような処理を行ってもよい。
【０１１８】
情報処理装置１０の認証処理部１３と機器２０の認証処理部２１は、ＢＬＥ通信の電波強度と時間を時系列に記録する。また、サーバ装置３０の認証処理部３２は、情報処理装置１０または機器２０から送信された通信状態データを突き合わせて検証する。
【０１１９】
なお、情報処理装置１０の認証処理部１３と機器２０の認証処理部２１は、機器確認処理でのＢＬＥ接続開始時から、ＢＬＥ通信の送信電波強度と受信電波強度の履歴を、時刻に対応付けて一定間隔で記録する。なお、時刻取得に使うタイマーは情報処理装置１０と機器２０とで同期しておくことが望ましい。
【０１２０】
次に、図１０を参照し、第２の実施形態に係る情報処理システム１の中間者攻撃対策の処理について説明する。図１０は、第２の実施形態に係る情報処理システム１の中間者攻撃対策の処理の一例を示すシーケンス図である。
【０１２１】
以下の処理は、図６のステップＳ３８乃至ステップＳ４４の処理を行う間に実行される。図６のステップＳ３７までの処理が完了しているものとして説明する。
【０１２２】
ステップＳ３０１において、情報処理装置１０の認証処理部１３は、図６のステップＳ３８でレスポンスを返す際、送信電波強度と受信電波強度の履歴を所定時間分取得する。
【０１２３】
続いて、情報処理装置１０の認証処理部１３は、当該履歴と、ＩＰ接続を行うモジュールのモジュールＩＤと、接続待ち状態にあるＩＰアドレスとポート番号を含めて、ユーザの秘密鍵を用いて暗号化（署名）し（ステップＳ３０２）、レスポンスに付加して機器２０に送信する（ステップＳ３０３）。
【０１２４】
続いて、機器２０の認証処理部２１は、情報処理装置１０側と同様に、送信電波強度と受信電波強度の履歴を所定時間分取得する（ステップＳ３０４）。
【０１２５】
続いて、機器２０の認証処理部２１は、受信したレスポンスに、当該履歴と、情報処理装置１０とのＩＰの通信の接続先のＩＰアドレスとポート番号をレスポンスに付加してサーバ装置３０に送信する（ステップＳ３０５）。
【０１２６】
サーバ装置３０の認証処理部３２は、情報処理装置１０側の履歴等のデータをユーザの公開鍵で復号し（ステップＳ３０６）、情報処理装置１０側の履歴等のデータと、機器２０側の履歴等のデータを比較し（ステップＳ３０７）、両者の差が所定の閾値以上であれば、中間者がいると判断し、ステップＳ６のステップＳ４３の、サーバ装置３０から機器２０へのコンテンツの送信を行わないようにする（ステップＳ３０８）。
【０１２７】
通信状態データの比較方法としては、例えば、同時刻における相手の送信電波強度と自身の受信電波強度から推定距離を算出する。同時刻において情報処理装置１０側と機器２０側で算出した距離に一定数以上の差があれば、互いに把握している相手との距離に違いが生じているとみなし、中間者がいると判断する。
【０１２８】
受信電波強度は周囲の環境による変化が大きく、算出距離の誤差が比較的大きいため、時刻のサンプルを複数個取り、一定の割合以上の差が生じれば（例えば、１秒ごとのデータを１００個取り出し、そのうち８０％以上に距離の差が１ｍ以上生じた場合）、中間者がいると判断してもよい。または、算出距離として１０ｍのような有りえない数値が出ている場合は、中間者がいると判断してもよい。
【０１２９】
なお、中間者がＢＬＥ送受信機と、機器２０、情報処理装置１０との間の距離を巧みに操作して合わせた場合は、この判定法では中間者の存在を検出できない可能性がある。そこで、機器２０が発信するＢＬＥ通信の電波を一定の周期で強弱をつけて発信するようにしてもよい。この場合、中間者が巧みにＢＬＥ送受信機の距離を合わせたとしても、電波強度に一定周期の変化が現れることになる。そのため、情報処理装置１０側での時刻に対する受信電波強度の測定値をプロットした波形と、機器２０側での時刻に対する送信電波強度の測定値をプロットした波形は、中間者がいない場合、ほぼ同型となるはずである。そこで、両者の波形の同型度を算出し、一定の基準値以下の同型度であれば、中間者がいると判断し、認証不可としてもよい。
【０１３０】
また、攻撃者がＩＰ通信による接続に対しても中間者攻撃をしかけた場合、中間に位置するＩＰ接続サーバは情報処理装置１０側のＩＰ接続モジュールが接続待ちをするＩＰアドレス、ポート番号と異なるアドレス、ポートになる可能性が高い。その場合、両者の通信状態データに含まれる接続ＩＰアドレス及びポート番号を比較することで中間者の存在を検出できる。
【０１３１】
これにより、中間者の存在を検出することができ、機器２０と情報処理装置１０が離れた状態ではユーザ認証を行えないようにすることが可能になる。
【０１３２】
≪ユーザ認証処理≫
次に、第２の実施形態に係る情報処理システム１のユーザ認証処理について説明する。第２の実施形態のユーザ認証処理は、図６に示す第１の実施形態のユーザ認証処理と同様であるが、状況情報に含まれる情報が異なる。例えば、第２の実施形態のユーザ認証処理では、第１の実施形態のＮＦＣタグが読み取られた時刻の代わりに、ＢＬＥ接続の時刻とＵＵＩＤが用いられてもよい。
【０１３３】
［第３の実施形態］
第３の実施形態では、第１の実施形態または第２の実施形態に係る情報処理システム１を、宅配ボックスを用いた宅配サービスに適用した場合の例について説明する。具体的には、第３の実施形態では、機器２０が宅配ボックスであり、宅配ボックスをスマートフォン等で解錠することができる例について説明する。なお、第３の実施形態は一部を除いて第１の実施形態または第２の実施形態と同様であるため、適宜説明を省略する。以下では、第３の実施形態における、第１の実施形態または第２の実施形態との差異について説明する。
【０１３４】
第３の実施形態に係る機器２０（宅配ボックス）は、例えばマンションに複数設置され、それぞれに番号が振られているものとする。また、すべての宅配ボックスは、マンション内のルータを介して通信回線に繋がっており、マンション管理会社が管轄する遠隔地にあり、施設管理サービスを提供するサーバ装置３０とネットワークを介して通信可能な状態であるとする。
【０１３５】
＜機能構成＞
次に、図１１を参照し、第３の実施形態に係る情報処理システムの機能構成について説明する。図１１は、第３の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【０１３６】
第３の実施形態に係る機器２０（宅配ボックス）は、施解錠部２４、入力部２５をさらに備える。
【０１３７】
施解錠部２４は、機器２０（宅配ボックス）の施錠、及び解錠を行う。機器２０（宅配ボックス）は、中に荷物が入っていない状態では施錠されておらず、誰でも開けて荷物を入れることができる。中に荷物を入れて扉を閉めると自動で施錠される。
【０１３８】
施解錠部２４は、施設管理サービスを提供するサーバ装置３０から通信回線を通して解錠指示を受信すると、解錠を行う。
【０１３９】
入力部２５は、例えばテンキー等により、配送番号の入力を受け付ける。
【０１４０】
なお、第３の実施形態に係る機器２０（宅配ボックス）は、インタフェース装置として、例えばＮＦＣリーダを用いてもよい。
【０１４１】
宅配サービスを提供するサーバ４０は、宅配荷物の集配管理を行うシステムであり、宅配業者がもつ宅配業務端末５０と通信し、宅配荷物の配送状態を保持する。
【０１４２】
サーバ４０のデータベース４１は、ユーザの情報や、荷物の配送に関する情報を記憶する。
【０１４３】
サーバ４０の通知部４２は、機器２０（宅配ボックス）に荷物が格納された際、宅配業務端末５０から、荷物の配送番号と機器２０（宅配ボックス）の番号を受信する。
【０１４４】
サーバ４０の通知部４２は、宅配業務端末５０から受信した情報に基づき、機器２０（宅配ボックス）の番号や荷物の配送番号を、荷物の宛先のユーザの情報処理装置１０に通知する。また、サーバ４０の通知部４２は、機器２０（宅配ボックス）に荷物が格納されると、荷物の宛先のユーザのユーザ名（ユーザＩＤ）や配送番号等を、サーバ装置３０に通知する
宅配業務端末５０は、荷物に印刷されたバーコードを読み取るバーコードリーダーと、宅配状態の表示と入力を行うためのタッチパネルディスプレイを具備する。宅配業務端末５０は、機器２０（宅配ボックス）に荷物が格納された際、荷物の配送番号と機器２０（宅配ボックス）の番号をサーバ４０に送信する。
【０１４５】
マンションの住人が有する情報処理装置１０は、予め施設管理サービスの利用登録を行っておくことで、宅配ボックスの解錠を操作することができる。なお、情報処理装置１０には指紋認証や虹彩認証のような生体認証装置が備えられてもよい。
【０１４６】
第３の実施形態に係るサーバ装置３０のサービス部３３は、マンションの施設管理サービス等のサービスを提供する。
【０１４７】
＜処理＞
次に、図４、図５、図６を参照し、第３の実施形態に係る情報処理システム１の処理について説明する。以下では、荷物の到着から取り出しまでの手順について説明する。
【０１４８】
≪登録処理（サービス利用の準備）≫
図４のステップＳ１で、サービス利用に先立ち、マンションの住人は情報処理装置１０のブラウザにより、マンションの施設管理サービスにアクセスし、利用登録画面を表示する。
【０１４９】
続いて、ステップＳ２で、施設管理サービスを提供するサーバ装置３０は、自身のサーバ証明書を情報処理装置１０に送付する。
【０１５０】
続いて、ステップＳ３で、サーバのＵＲＬとサーバ証明書を紐づけて認証情報記憶部１１に記録させる。
【０１５１】
続いて、ユーザは利用登録画面に名前、住所、電話番号、メールアドレスなどを入力し、登録ボタンを押すと、それらの情報が施設管理サービスのサーバ装置３０に送信される。情報を受信したサーバは当該ユーザのデータが自身のデータベースにないことを確認すると、一意なユーザＩＤを発行し、それと紐づけてデータベースに登録する。
【０１５２】
次に、施設管理サービスを提供するサーバ装置３０は、ユーザ認証を要求する画面をブラウザに送信する。
【０１５３】
続いて、ステップＳ４で、情報処理装置１０のブラウザに、認証を促す画面が表示される。この状態でユーザが指紋や虹彩による生体認証を行うと、ユーザ認証部１４は生体情報が正しいか検証し、認証成功であれば、ステップＳ５で、ユーザの鍵ペアを生成する。
【０１５４】
続いて、ステップＳ６で、サーバのＵＲＬと紐づけて秘密鍵が保存される。
【０１５５】
続いて、ステップＳ７で、ユーザＩＤとユーザ公開鍵とともに利用者登録要求を施設管理サービスのサーバ装置３０に送信される。
【０１５６】
続いて、ステップＳ７で、サーバ装置３０に、ユーザＩＤとユーザ鍵が紐づけてデータベースに登録される。
【０１５７】
さらに当該ユーザは宅配サービスの通知サービスの利用登録も、情報処理装置１０のブラウザから行う。こちらの利用登録は一般的なＩＤ／パスワードによる利用者登録を行い、ユーザの名前、住所、電話番号、メールアドレスなどの情報も登録し、宅配サービスのサーバ４０のデータベース４１にそれらの情報が記録される。
【０１５８】
≪機器確認処理、ユーザ認証処理（サービス利用）≫
宅配業者は機器２０（宅配ボックス）の一つを選び、荷物を入れて扉を閉める。このとき、扉は自動施錠される。宅配業者はあらかじめ荷物に印刷されたバーコードを宅配業務端末５０のバーコードリーダーで読みとっており、その荷物の宅配状態が画面に表示されている。この宅配状態画面上で荷物を入れた機器２０（宅配ボックス）の番号を入力し、画面内の入力完了ボタンを押すと、宅配サービスのサーバ４０に、荷物の配送番号と機器２０（宅配ボックス）の番号が送信される。
【０１５９】
サーバ４０の通知部４２は、上記情報を受信すると、荷物番号に対応付けられた宛先ユーザの情報をデータベース４１から取得し、そこに含まれる当該ユーザのメールアドレス宛に、荷物の配送番号と荷物を入れた機器２０（宅配ボックス）番号を記載したメールを送信する。さらに、当該ユーザの住所の施設管理サービスを提供するサーバ装置３０のＵＲＬもデータベース４１から取得する。このＵＲＬは施設管理サービスの機器２０（宅配ボックス）利用記録を登録するＡＰＩであり、当該ＵＲＬに対してユーザ名と配送番号と受取確認の通知先ＵＲＬ（宅配サービスのＵＲＬ）を送信すると、サーバ装置３０のデータベースにその情報が機器２０（宅配ボックス）格納情報として記録される。
【０１６０】
上記メールをユーザが情報処理装置１０で受信し、荷物の配送があったことを知る。その後、マンションに帰宅してメールに記載された番号の機器２０（宅配ボックス）のＮＦＣリーダ部分にタッチすると、図６の機器確認処理が行われる。
【０１６１】
本実施形態の場合、機器２０（宅配ボックス）は画面を持たないが、機器確認処理の完了後に、配送番号の入力待ち状態になる。ユーザはメールで通知された配送番号をテンキー等から入力する。入力が完了すると機器２０（宅配ボックス）は、図６のステップＳ３１で、サーバ装置３０に対して機器２０（宅配ボックス）の解錠要求を配送番号とともに送信する。
【０１６２】
続いて、ステップＳ３２で、サーバ装置３０は、受信した解錠要求に対して認証要求と第２のチャレンジを返信するとともに、データベースを参照して、配送番号から対応するユーザ名を取得し、当該ユーザの公開鍵を取得する。
【０１６３】
続いて、ステップＳ３３乃至ステップＳ４２の処理を行い、認証成功であれば、ステップＳ４３で、サーバ装置３０から機器２０（宅配ボックス）に対して解錠命令が送信される。これにより、機器２０（宅配ボックス）が開けられる状態になる。その後、荷物を取り出して扉を閉めると、機器２０（宅配ボックス）は受取完了通知を施設管理サービスのサーバ装置３０に送信する。施設管理サービスのサーバ装置３０は、データベースに記録された当該機器２０（宅配ボックス）の格納情報から宅配サービスの受取完了通知先ＵＲＬを取得し、当該ＵＲＬに対して受取完了通知を送信し、その後、データベースから当該機器２０（宅配ボックス）の格納情報を削除する。受取完了通知を受信した宅配サービスのサーバは当該配送の受取が完了したことを記録して終了する。
【０１６４】
なお、上記手順ではユーザは機器２０（宅配ボックス）に配送番号を入力していたが、宅配サービスのサーバ４０と、施設管理サービスのサーバ装置３０でユーザ情報を格納するデータベースを共有可能な場合は、配送番号の入力は不要であり、施設管理サービスのサーバ装置３０が、機器２０（宅配ボックス）の番号から直接宅配サービスが保持するユーザ名を取得することで配送先のユーザを特定することが可能である。また、機器２０（宅配ボックス）はテンキーの代わりにバーコードリーダーを備えて、ユーザが受け取る配送通知メールに配送番号を記録したバーコードを付加してもよい。この場合、メールに表示されたバーコードをバーコードリーダーに読み込み、その情報をサーバ装置３０に送ることで、サーバ装置３０は配送情報を知ることができる。これにより、ユーザはパスワードなどの入力をすることなく、宅配ボックスをスマートフォン等の情報処理装置１０で解錠することができる。
【０１６５】
なお、本実施例は宅配サービスに限定されるものではなく、ユーザ認証を必要とするサービス（本実施例では施設管理サービス）と、ユーザ認証を必要としないサービス（本実施例では宅配サービス）が一つの機器を共有する場合に適用できる。
【０１６６】
［第４の実施形態］
第４の実施形態では、第１の実施形態または第２の実施形態に係る情報処理システム１を、レンタカーやカーシェアリングサービスに適用した場合の例について説明する。具体的には、第４実施形態では、機器２０が車であり、ユーザに応じたコックピット画面の提供と、運転情報を利用者単位で分類することで、ユーザに適した保険サービスを提供することが可能になる例について説明する。なお、第４の実施形態は一部を除いて第１の実施形態または第２の実施形態と同様であるため、適宜説明を省略する。以下では、第４の実施形態における、第１の実施形態または第２の実施形態との差異について説明する。
【０１６７】
＜機能構成＞
次に、図１２を参照し、第４の実施形態に係る情報処理システムの機能構成について説明する。図１２は、第４の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【０１６８】
第４の実施形態に係る機器２０（車）は、施解錠部２４、表示部２６をさらに備える。
【０１６９】
施解錠部２４は、機器２０（車）の施錠、及び解錠を行う。
【０１７０】
施解錠部２４は、カーシェアサービスを提供するサーバ装置３０から通信回線を通して解錠指示を受信すると、解錠を行う。
【０１７１】
表示部２６は、各種のサービスを提供するサーバ装置３０−１、３０−２、・・・（以下、それぞれを区別しない場合、単に、「サーバ装置３０」という。）から取得した情報を画面に表示する。表示部２６は、例えば機器２０（車）のコックピットに備えられた、スピードメーターやガソリン残量をＥＣＵ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）などの車載システムから取得する車情報表示画面、及びナビゲーション地図やエンターテイメント情報を表示するサービス情報表示画面に表示を行う。
【０１７２】
サーバ装置３０−１は、カーシェアサービスを提供する。サーバ装置３０−１のサービス部３３は、レンタルする車と利用者の情報を管理し、レンタルする車の施錠管理とレンタル状況の把握、および、利用者向けのサービス提供を行う。
【０１７３】
サーバ装置３０−２は、地図サービスを提供する。サーバ装置３０−２のサービス部３３は、ユーザ毎にカスタマイズされた地図情報の配信を行う。
【０１７４】
サーバ装置３０−３は、メールサービスを提供する。サーバ装置３０−３のサービス部３３は、ユーザ毎にカスタマイズされたメールの配信を行う。
【０１７５】
サーバ装置３０−４は、保険サービスを提供する。サーバ装置３０−４のサービス部３３は、車をレンタルするときの保険をユーザに提供する。サーバ装置３０−４のサービス部３３は、各ユーザの運転の履歴に基づいて、各ユーザに対する保険料を算出する。
【０１７６】
なお、これらの各サーバ装置３０−１、３０−２、３０−３、３０−４は、それぞれが、上述した登録処理、機器確認処理、及びユーザ認証処理を実行可能である。
【０１７７】
＜処理＞
次に、第４の実施形態に係る情報処理システム１の処理について説明する。なお、各サーバ装置３０−１、３０−２、３０−３、３０−４の各々に対し、図４の登録処理が既に行われているものとする。
【０１７８】
ユーザは例えば自宅から、情報処理装置１０のブラウザを使ってカーシェアサービスのサーバ装置３０−１にアクセスし、機器２０（車）のレンタル登録を行う。
【０１７９】
レンタル登録では、機器２０（車）を利用する期日、期間、希望車種、貸出場所、運転者の情報、コックピットに表示するサービスのリストと機器２０（車）情報の表示パターンを指定したリクエストが送信される。そして、サーバ装置３０−１のサービス部３３は、カーシェアサービスのデータベースを検索して利用可能な機器２０（車）の選定と料金を算出して情報処理装置１０のユーザに提示する。料金等の条件にユーザが合意し、情報処理装置１０の画面に表示されるＯＫボタンが押下されればレンタル登録が完了する。レンタル登録完了時に、サーバ装置３０−１のサービス部３３は、レンタル登録に関する情報をユーザ情報と紐づけてデータベースに記録する。
【０１８０】
レンタル開始時刻を経過すると、ユーザはレンタル登録した機器２０（車）を利用可能な状態になり、ユーザが情報処理装置１０を機器２０（車）のＮＦＣリーダ等にかざすと、図５のステップＳ１２で、機器２０（車）は、情報処理装置１０から送信されたチャレンジを読み取り、機器２０（車）のＩＤ、チャレンジ、及び解錠要求をサーバ装置３０−１に送信する。
【０１８１】
サーバ装置３０−１は、当該機器２０（車）のＩＤをキーにして、レンタル登録情報から利用者のユーザＩＤを取得する。サーバ装置３０−１は、取得したユーザＩＤから取得できるユーザの公開鍵を使って、第３の実施形態で説明した宅配ボックスの鍵の解錠手順と同様の手順に従って機器２０（車）の解錠処理を行う。
【０１８２】
ユーザが機器２０（車）に乗り込み、エンジンを始動すると、表示部２６は、コックピット画面とサービス情報を表示するため、地図サービスを提供するサーバ装置３０−２、及びメールサービスを提供するサーバ装置３０−３に画面表示情報を要求する。サーバ装置３０−２、及びサーバ装置３０−３は、それぞれ、ユーザ認証要求を情報処理装置１０に送信し、上述した実施形態と同様にユーザ認証処理を行う。
【０１８３】
ユーザ認証が成功すると、サーバ装置３０−２、及びサーバ装置３０−３は、レンタル登録時に指定していたサービスリストをデータベースから取得し、該当するサービスのコンテンツへのリンクを含んだ画面情報と車情報表示画面の表示パターンＩＤを情報処理装置１０に送信する。ここで、カーシェアサービスのコンテンツはユーザ認証が必要なサービスコンテンツへのリンクを含んでいることが分かっているため、機器２０（車）の認証処理部２１は、情報処理装置１０に、ユーザ認証を依頼する際、継続フラグ情報をチャレンジとともに送信し、情報処理装置１０は継続フラグ情報を記録しておく。なお、このフラグ情報は一定時間が経過すると消去される。
【０１８４】
表示部２６は、画面情報を受信すると、まず、車情報表示画面の表示パターンＩＤに対応した画面を表示する。次に、各種サービスのコンテンツへのリンクを含んだ画面情報を表示するため、サーバ装置３０−２、及びサーバ装置３０−３にコンテンツ取得要求を送信する。コンテンツ取得要求を受信したサーバ装置３０−２、及びサーバ装置３０−３はユーザ認証が必要であるため、ユーザ認証要求をチャレンジとともに情報処理装置１０に返信する。
【０１８５】
ここでサーバ装置３０−２、及びサーバ装置３０−３がそれぞれ送信してきたチャレンジは、それぞれ異なる値になっている。各種サービスからユーザ認証要求を受信した情報処理装置１０は、サーバ装置３０−２、及びサーバ装置３０−３のＵＲＬとチャレンジ値の対応表を作成し、その対応表を認証要求とともに機器２０に送信する。
【０１８６】
機器２０は、サーバ装置３０−２、及びサーバ装置３０−３のＵＲＬをＫｅｙＩＤに変換したものに対応表を書き換え、情報処理装置１０に対してレスポンス値の取得を行う。この際、サービス毎に接続・認証・切断を行うとユーザ操作が煩わしくなるため、一度の接続でＫｅｙＩＤとチャレンジのペアを記録した対応表を上述した継続フラグ情報とともに情報処理装置１０に送信する。
【０１８７】
情報処理装置１０は、継続フラグ情報を先に受信して記録していた継続フラグ情報と比較し、一致すれば生体認証の処理をスキップし、対応表の各エントリに従い、当該サービスに対応したユーザ秘密鍵でチャレンジを暗号化し、レスポンス値を算出する。対応表のすべてのエントリに対してレスポンス値を算出すると、ＫｅｙＩＤとレスポンスのペアを記録した対応表を作成する。そして、レスポンス対応表内のＫｅｙＩＤをサーバＩＤに変換し、認証を要求してきたサーバ装置３０−２、及びサーバ装置３０−３の各々に、対応表に記録されているレスポンス値をそれぞれ返信する。
【０１８８】
レスポンス値を受信したサーバ装置３０−２、及びサーバ装置３０−３は、レスポンス値が正しいか検証し、認証成功すれば、当該ユーザに対応したコンテンツを送信する。
【０１８９】
当該ユーザに対応したコンテンツとは、地図サービスであれば、例えば、ユーザの自宅やお気に入り経路、事前に登録しておいた目的地情報などが付随した地図情報や、メールサービスであれば、例えばユーザの受信メール情報や未読メール数などである。または、ビデオや音楽などのエンターテイメント系のコンテンツや、ＳＮＳなどのソーシャル系のコンテンツでもよい。
【０１９０】
上述した構成により、複数のサーバ装置３０が提供するサービスが混在する場合でも、何度もユーザに認証を求めることなく、一度のユーザ認証操作で、複数のサーバ装置３０からコンテンツを取得できるようになる。
【０１９１】
なお、上述の例では、機器２０（車）の解錠時と画面表示時の２度、ユーザ認証操作を求めているが、情報処理装置１０が、鍵解錠時に継続フラグ情報を記憶しておけば、一連の操作を一回のユーザ認証操作で済ますことが可能である。
【０１９２】
さらに、表示部２６は、車情報表示画面を生成する際、車載機からアクセス、ブレーキの開度やハンドル角などの情報を取得し、定期的にカーシェアサービスを提供するサーバ装置３０−１に通知してもよい。この場合、サーバ装置３０−１は、現在機器２０（車）を利用しているユーザを特定できるため、送信された情報に対してユーザＩＤを付加してデータベースに保存できる。これにより、後からデータ分析する際、機器２０（車）のユーザごとに運転情報を分類することができ、ユーザごとの運転傾向の分析が容易になる。例えば、現在運転しているユーザはアクセル、ブレーキ、ハンドルの変化量が少なく、安全運転の傾向があるという分析結果を算出し、その情報を保険サービスのサーバ装置３０−４に提供する。
【０１９３】
保険サービスのサーバ装置３０−４は、当該ユーザが安全運転である実績を加味して次回レンタル時の保険料率を下げて提供することでユーザの満足度向上につなげることができる。あるいは分析結果を直接、機器２０（車）に送信し、現在の運転が安全運転なのかどうかなどの情報を表示部２６に表示させることも可能である。
【０１９４】
なお、本実施例はレンタカーやカーシェアリングサービスに限定されるものではなく、ユーザ認証を必要とする複数のサービスを一つの機器で提供する場合に適用できる。
【０１９５】
［第５の実施形態］
第５の実施形態では、第１の実施形態または第２の実施形態に係る情報処理システム１を、金融サービスに適用した場合の例について説明する。具体的には、第５実施形態では、機器２０がＡＴＭであり、オンラインバンキングとＡＴＭを、同じ情報処理装置１０を用いて認証し、利用できる例について説明する。なお、第５の実施形態は一部を除いて第１の実施形態または第２の実施形態と同様であるため、適宜説明を省略する。以下では、第５の実施形態における、第１の実施形態または第２の実施形態との差異について説明する。
【０１９６】
＜機能構成＞
次に、図１３を参照し、第５の実施形態に係る情報処理システムの機能構成について説明する。図１３は、第５の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【０１９７】
第５実施形態に係るサーバ装置３０は、金融サービス等のサービスを提供する。
【０１９８】
サーバ装置３０は、通信部３４−１、通信部３４−２、サービス部３３−１、サービス部３３−２、及び連携部３５を有する。
【０１９９】
サービス部３３−１は、情報処理装置１０にて振込や残高照会等が可能なオンラインバンキングサービスを提供する。
【０２００】
サービス部３３−２は、機器２０（ＡＴＭ）での入出金管理を行うＡＴＭサービスを提供する。
【０２０１】
連携部３５は、サービス部３３−１とサービス部３３−２を連携させる。連携部３５により、オンラインバンキングサービスのサービス部３３−１と、ＡＴＭサービスのサービス部３３−２では、顧客情報を管理する顧客データベースと、顧客口座の入出金管理を行う口座データベースが共有されている。
【０２０２】
オンラインバンキングサービスのサービス部３３−１は、通信部３４−１を介して、情報処理装置１０から例えばインターネット等を経由でアクセスされ、ＡＴＭサービスのサービス部３３−２は、通信部３４−２を介して例えば専用回線を通してアクセスされる。
【０２０３】
第５の実施形態では、上述した登録処理を行うサービス部３３−１と、ＡＴＭ利用にサービス提供するサービス部３３−２が異なる点が、第１の実施形態または第２の実施形態と大きく異なる。第５の実施形態では、連携部３５によって、サービス部３３−２からサービス部３３−１に認証のための通信を中継することによって、ユーザにＡＴＭサービスとオンラインバンキングサービスとで同じ認証方法を利用可能としている。
【０２０４】
なお、サーバ装置３０は、複数のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。この場合、上述した登録処理を行うサービス部３３−１のコンピュータと、上述した機器確認処理及びユーザ認証処理を行うサービス部３３−２のコンピュータが別体であってもよい。例えば、上述した登録処理を、オンラインバンキングサービスを提供するサービス部３３−１にて実行し、上述した機器確認処理及びユーザ認証処理を、ユーザが機器２０（ＡＴＭ）を利用する際に、ＡＴＭサービスを提供するサービス部３３−２にて実行してもよい。この場合、連携部３５により、ＡＴＭサービスを提供するサービス部３３−２からオンラインバンキングサービスを提供するサービス部３３−１に、情報処理装置１０からのユーザ認証のための通信が中継される。
【０２０５】
第３の実施形態に係る機器２０（ＡＴＭ）は、入力部２５、表示部２６、ＣＤ制御部２７、及び作成部２８をさらに備える。
【０２０６】
入力部２５は、例えばタッチパネルディスプレイにより、ユーザからの操作を受け付ける。
【０２０７】
表示部２６は、ＡＴＭのメニュー等の画面を表示する。
【０２０８】
ＣＤ制御部２７は、ＣＤ（Ｃａｓｈ  Ｄｉｓｐｅｎｓｅｒ）を制御し、現金の引き出し等を実行する。
【０２０９】
作成部２８は、ＡＴＭの取引内容をコード化したトランザクションデータを作成する。  ＜処理＞
次に、図４、図５、図６を参照し、第５の実施形態に係る情報処理システム１の処理について説明する。
【０２１０】
≪登録処理（サービス利用の準備）≫
図４のステップＳ１で、サービス利用に先立ち、ユーザは情報処理装置１０のバンキングアプリやブラウザ等により、オンラインバンキングサービスを提供するサービス部３３−１にアクセスし、利用者登録を行う。その後、ステップＳ２乃至ステップＳ８の処理が行われる。なお、利用者登録の際、機器２０（ＡＴＭ）も利用するか否かをユーザに選択させ、機器２０（ＡＴＭ）の利用する選択がされた場合、サーバ装置３０において、当該ユーザが機器２０（ＡＴＭ）の利用も可能であることが記録される。
【０２１１】
≪機器確認処理≫
ユーザが、機器２０（ＡＴＭ）の画面上で、「取引開始」ボタンを押すと、機器２０（ＡＴＭ）は、「ＡＴＭ上にスマートフォンを置いて下さい。」等の情報処理装置１０を機器２０（ＡＴＭ）に近づけるように促すメッセージを表示する。そして、情報処理装置１０が機器２０（ＡＴＭ）に近づけられると、機器確認処理、及びユーザ認証処理が実行される。
【０２１２】
以下では、第５の実施形態に係る機器確認処理、及びユーザ認証処理の、第１の実施形態との差異について説明する。
【０２１３】
図５のステップＳ１２で、機器２０（ＡＴＭ）からチャレンジを受信したＡＴＭサービスのサービス部３３−２は、オンラインバンキングサービスのサービス部３３−１に、連携部３５を介して、受信したチャレンジとともにトークンの作成要求を送信する。図５のステップＳ１３で、オンラインバンキングサービスのサービス部３３−１は、サーバ証明書を用いてトークンを作成する。
【０２１４】
図５のステップＳ１４で、作成されたトークンはＡＴＭサービスのサービス部３３−２に返信され、ＡＴＭサービスのサービス部３３−２は、オンラインバンキングサービスのサービス部３３−１のサーバＩＤとともにトークンを機器２０（ＡＴＭ）に返信する。図５のステップＳ１５で、機器２０（ＡＴＭ）は、サーバＩＤとトークンを情報処理装置１０に返す。
【０２１５】
情報処理装置１０は、上述の登録処理を行ったサーバ装置３０で署名された（サーバ装置３０の秘密鍵で暗号化された）トークンを受信するため、図５のステップＳ１６乃至ステップＳ１８の処理を行うことにより、情報処理装置１０が有するサーバ装置３０のサーバ証明書を用いて、機器２０（ＡＴＭ）を認証できる。
【０２１６】
≪ユーザ認証処理≫
続いて、図６のステップＳ３１乃至ステップＳ３８の処理が行われ、図６のステップＳ３９で、ＡＴＭサービスのサービス部３３−２が機器２０（ＡＴＭ）からレスポンスを受信する。
【０２１７】
ＡＴＭサービスのサービス部３３−２は、ユーザが利用者登録の際にオンラインバンキングサービスとＡＴＭサービスの両方を利用できるように設定されている場合、レスポンスの検証要求をオンラインバンキングサービスのサービス部３３−１に送信する。
【０２１８】
図６のステップＳ４０乃至ステップＳ４２で、検証要求を受信したオンラインバンキングサービスのサービス部３３−２は、認証処理部３２により、レスポンスの検証を行う。
【０２１９】
ＡＴＭサービスのサービス部３３−２は、レスポンスの検証結果が成功であれば、図６のステップＳ４３で、機器２０（ＡＴＭ）の表示部２６にＡＴＭのサービスメニューを表示させる。これにより、ユーザはＡＴＭのサービスメニューが利用できるようになる。
【０２２０】
次に、ユーザが機器２０（ＡＴＭ）上で取引を実行する手順を、現金引き出しサービスを例として説明する。上述したように、ＡＴＭのサービスメニューを有効化させる際にユーザ認証処理を実行した後、取引を実行する際にも再度ユーザ認証処理を実行する例について説明する。
【０２２１】
ユーザが機器２０（ＡＴＭ）の画面上で、引き出す金額を入力し、引出ボタンを押すと、再びユーザ認証処理が実行される。この際、機器２０（ＡＴＭ）の作成部２８は、取引内容をコード化したトランザクションデータを作成する。例えば、「１０，０００円を引出します。よろしいですか？」のようなユーザに確認を促すメッセージを画像イメージに変換したものを作成する。
【０２２２】
図６のステップＳ３１で、機器２０（ＡＴＭ）は、サービス要求として、現金引き出しの命令、金額、及びトランザクションデータをＡＴＭサービスのサービス部３３−２に送信する。図６のステップＳ３２で、ＡＴＭサービスのサービス部３３−２は、最初のユーザ認証処理の際と同様に、機器２０（ＡＴＭ）にユーザ認証要求を第２のチャレンジとともに送信する。図６のステップＳ３４で、ユーザ認証要求を受信した機器２０（ＡＴＭ）は、第２のチャレンジとともにトランザクションデータを情報処理装置１０に送信する。
【０２２３】
図６のステップＳ３５で、情報処理装置１０は、トランザクションデータを画面に表示する。ユーザは、画面に表示された「１０，０００円を引出します。よろしいですか？」のようなユーザに確認を促すメッセージを見て、機器２０（ＡＴＭ）の画面に入力した取引内容と一致しているかどうかを確認し、問題ないことを確認すると生体認証等のユーザ認証の操作を行う。
【０２２４】
図６のステップＳ３６で、情報処理装置１０においてユーザ認証が行われ、認証に成功すると、図６のステップＳ３７で、情報処理装置１０は、レスポンスが生成するとともに、トランザクションデータをユーザの秘密鍵で暗号化する。図６のステップＳ３８で、情報処理装置１０は、レスポンスとともに暗号化されたトランザクションデータを機器２０（ＡＴＭ）に返信する。
【０２２５】
図６のステップＳ３９で、機器２０（ＡＴＭ）は、返信されたレスポンス及びトランザクションデータをＡＴＭサービスのサービス部３３−２に送信する。ＡＴＭサービスのサービス部３３−２は、レスポンス／チャレンジのペアと同様に、最初に機器２０（ＡＴＭ）から送信されたトランザクションデータと、情報処理装置１０にて暗号化されたトランザクションデータをバンキングサービスのサービス部３３−１に送信して検証を依頼する。
【０２２６】
図６のステップＳ４０で、バンキングサービスのサービス部３３−１は、認証処理部３２により、情報処理装置１０にて暗号化されたトランザクションデータをユーザの公開鍵で復号する。
【０２２７】
図６のステップＳ４１で、バンキングサービスのサービス部３３−１は、認証処理部３２により、は、最初に機器２０（ＡＴＭ）から送信されたトランザクションデータと、情報処理装置１０にて暗号化されたトランザクションデータをユーザの公開鍵で復号したものが一致するか否かを判定する。
【０２２８】
一致する場合は、バンキングサービスのサービス部３３−１は、ＡＴＭサービスのサービス部３３−２に、検証成功を通知する。ＡＴＭサービスのサービス部３３−２は、検証成功が通知されると、口座データベース上で当該ユーザの口座情報を書き換える。
【０２２９】
図６のステップＳ４３で、ＡＴＭサービスのサービス部３３−２は、取引成功を機器２０（ＡＴＭ）に通知する。そして、機器２０（ＡＴＭ）のＣＤ制御部２７は、ＣＤ（Ｃａｓｈ  Ｄｉｓｐｅｎｓｅｒ）を制御し、現金引き出しを実行する。上述した過程において、情報処理装置１０上に表示された取引内容は、情報処理装置１０で暗号化されてサーバ装置３０で検証されるまで、機器２０（ＡＴＭ）や情報処理装置１０上の他のモジュールから改ざんが不可能であるため、機器２０（ＡＴＭ）で入力した取引内容と情報処理装置１０でユーザが目視で確認した取引内容が一致していることが保証できる。
【０２３０】
従来、オンラインバンキングはスマートフォンで、ＡＴＭはキャッシュカードで、というように別々の利用方法であったのに対し、第５の実施形態の処理によれば、オンラインバンキングもＡＴＭも同じスマートフォン等で、かつ、同じ認証方法で利用することが可能になり、利便性が向上する。
【０２３１】
なお、本実施例はATMとオンラインバンキングサービスに限定されるものではなく、情報処理装置で利用するサービスと機器で利用するサービスが共通の場合に適用できる。
【０２３２】
［第６の実施形態］
第６の実施形態では、第１の実施形態または第２の実施形態に係る情報処理システム１を、情報処理装置１０の紛失時にサービスの停止・再開を行えるサービスに適用した場合の例について説明する。
【０２３３】
第６実施形態に係るサーバ装置３０のサービス部３３は、情報処理装置１０の紛失時にサービスの停止・再開を行えるサービスを提供する。
【０２３４】
＜処理＞
次に、第６の実施形態に係る情報処理システム１の処理について説明する。
【０２３５】
ユーザは、情報処理装置１０を紛失すると、例えばサービス利用登録の際等に予め通知されていたサポートセンターの電話番号を用いて、情報処理装置１０を紛失したことを連絡する。なお、サポートセンターへの連絡方法は、オペレータを介した電話連絡でもよいし、自動応答システムでコマンドを入力する方法でもよい。あるいは、ＳＭＳ（ショートメッセージ）で通知してもよい。または、パソコンなどの情報処理装置１０からサポートセンターのＷｅｂサイトに対して連絡できるようにしてもよい。
【０２３６】
サーバ装置３０は、サポートセンターから、ユーザの本人確認と情報処理装置１０紛失のインシデントを入力されると、認証情報記憶部３１から当該ユーザの公開鍵を消去する。また、サーバ装置３０は、紛失した情報処理装置１０を拾った他のユーザが、自身の生体情報を使って不正に登録処理を行わないよう、情報処理装置１０を紛失したユーザのＩＤまたは紛失した情報処理装置１０のＩＤに対応付けて、登録停止の設定を行う。これにより、当該ユーザまたは紛失した情報処理装置１０は、これ以降のサービスの利用も再登録もできない状態になる。
【０２３７】
次に、ユーザが紛失した情報処理装置１０がユーザの元に戻ってきた場合、または、ユーザが新しい機種等の情報処理装置１０に変更した場合について説明する。
【０２３８】
ユーザは、情報処理装置１０を紛失した際と同様にサポートセンターに対してサービス再開の連絡を行う。
【０２３９】
サーバ装置３０は、サポートセンターから、ユーザの本人確認と情報処理装置１０発見のインシデントを入力されると、当該ユーザに対する登録停止の設定を解除する。
【０２４０】
その後、ユーザは、情報処理装置１０にて登録処理を再度行うと、サーバ装置３０は、新たな鍵ペアを生成して鍵の再登録を行う。これ以降は、情報処理装置１０を紛失する前と同様に新たな鍵によってサービス利用が可能になる。
【０２４１】
ユーザが情報処理装置１０を新しい機種に変更した場合は、ユーザが、新しい情報処理装置１０に登録用のアプリ等を改めてインストールし、サポートセンターにサービス再開を連絡し、登録用のアプリ上での登録処理を実行することにより、サービスの利用が可能になる。
【０２４２】
以上、上述したように、本実施形態によれば、情報処理装置１０と機器２０の両方から認証されているサーバ装置３０の証明書情報を用い、情報処理装置１０と機器２０が近づいたときに、近距離無線通信によってお互いに信頼済のサーバ装置３０を利用していることを確認する。そして、ユーザ認証プロトコルを通すための安全な接続経路を一時的に確立する。さらに、ユーザ認証時にはどの接続経路を使ったかなどの認証状況を示す状況情報を、情報処理装置１０がサーバ装置３０に送信する。これにより、サーバ装置３０側で情報処理装置１０からの状況情報とをつきあわせて状況が一致していることを確認し、正しい経路を使ったユーザ認証が行われたことを保証できる。
【０２４３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０２４４】
例えば、情報処理装置１０、機器２０、サーバ装置３０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【０２４５】
以上の説明に関し、更に以下の項を開示する。
（付記１）
情報処理装置に、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、
前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信し、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行させるプログラム。
（付記２）
前記データを復号した値と、前記第１の値が一致する場合、ユーザを認証し、
前記ユーザの認証の結果を、前記機器を介して、前記サーバに送信する
処理を前記情報処理装置に実行させる、付記１記載のプログラム。
（付記３）
前記データを復号した値と、前記第１の値が一致する場合、前記サーバにて生成されたランダムな第２の値を、前記機器から受信する処理を前記情報処理装置に実行させ、
前記サーバに送信する処理は、前記ユーザの認証の結果と、前記第２の値とを前記ユーザの秘密鍵で暗号化したデータを、前記機器を介して、前記サーバに送信する、付記２記載のプログラム。
（付記４）
前記データを復号した値と、前記第１の値が一致する場合、前記ユーザの認証の方式を識別する情報を、前記機器から受信する処理を前記情報処理装置に実行させ、
前記ユーザを認証する処理は、前記情報に応じた方式により、前記ユーザを認証する、付記２または３記載のプログラム。
（付記５）
前記ユーザの認証の結果とともに、前記ユーザの認証に関わる状況情報を送信する
処理を前記情報処理装置に実行させる、付記２乃至４のいずれか一項に記載のプログラム。
（付記６）
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信する近接通信部と、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する認証処理部と、
を備える情報処理装置。
（付記７）
前記データを復号した値と、前記第１の値が一致する場合、前記ユーザを認証するユーザ認証部を備え、
前記認証処理部は、前記ユーザの認証の結果を、前記機器を介して、前記サーバに送信する、付記６記載の情報処理装置。
（付記８）
前記認証処理部は、前記データを復号した値と、前記第１の値が一致する場合、前記サーバにて生成されたランダムな第２の値を、前記機器から受信させ、前記ユーザの認証の結果と、前記第２の値とを前記ユーザの秘密鍵で暗号化したデータを、前記機器を介して、前記サーバに送信する、付記７記載の情報処理装置。
（付記９）
前記認証処理部は、前記データを復号した値と、前記第１の値が一致する場合、前記ユーザの認証の方式を識別する情報を、前記機器から受信させ、
前記ユーザ認証部は、前記情報に応じた方式により、前記ユーザを認証する、付記７または８記載の情報処理装置。
（付記１０）
前記ユーザ認証部は、前記ユーザの認証の結果とともに、前記ユーザの認証に関わる状況情報を送信する、付記７乃至９のいずれか一項に記載の情報処理装置。
（付記１１）
情報処理装置、機器、及びサーバを有する情報処理システムであって
前記情報処理装置は、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信する近接通信部と、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する認証処理部と、
を備え、
前記機器は、
前記情報処理装置から受信した前記第１の値を、前記サーバに送信し、前記サーバから受信した前記データを、前記情報処理装置に送信し、
前記サーバは、
前記機器から受信した前記第１の値を、前記サーバの秘密鍵で暗号化し、当該暗号化した値である前記データを、前記機器に送信する
ことを特徴とする情報処理システム。
（付記１２）
前記情報処理装置は、
前記データを復号した値と、前記第１の値が一致する場合、前記ユーザを認証するユーザ認証部を備え、
前記認証処理部は、前記ユーザの認証の結果を、前記機器を介して、前記サーバに送信する、付記１１記載の情報処理システム。
（付記１３）
前記認証処理部は、前記データを復号した値と、前記第１の値が一致する場合、前記サーバにて生成されたランダムな第２の値を、前記機器から受信させ、前記ユーザの認証の結果と、前記第２の値とを前記ユーザの秘密鍵で暗号化したデータを、前記機器を介して、前記サーバに送信する、付記１２記載の情報処理システム。
（付記１４）
前記認証処理部は、前記データを復号した値と、前記第１の値が一致する場合、前記ユーザの認証の方式を識別する情報を、前記機器から受信させ、
前記ユーザ認証部は、前記情報に応じた方式により、前記ユーザを認証する、付記１２または１３記載の情報処理装置。
（付記１５）
前記ユーザ認証部は、前記ユーザの認証の結果とともに、前記ユーザの認証に関わる状況情報を送信する、付記１２乃至１４のいずれか一項に記載の情報処理システム。
（付記１６）
情報処理装置が、
ランダムな第１の値を、サーバとネットワークを介して接続された機器に近距離無線通信により送信し、
前記第１の値が暗号化されたデータを、前記機器から前記近距離無線通信により受信し、
前記データをあらかじめ前記サーバから取得したサーバ鍵で復号した値と、前記第１の値が一致するか否かを判定する処理を実行する情報処理方法。
（付記１７）
前記データを復号した値と、前記第１の値が一致する場合、ユーザを認証し、
前記ユーザの認証の結果を、前記機器を介して、前記サーバに送信する
処理を前記情報処理装置が実行する、付記１６記載の情報処理方法。
（付記１８）
前記データを復号した値と、前記第１の値が一致する場合、前記サーバにて生成されたランダムな第２の値を、前記機器から受信する処理を前記情報処理装置が実行し、
前記サーバに送信する処理は、前記ユーザの認証の結果と、前記第２の値とを前記ユーザの秘密鍵で暗号化したデータを、前記機器を介して、前記サーバに送信する、付記１７記載の情報処理方法。
（付記１９）
前記データを復号した値と、前記第１の値が一致する場合、前記ユーザの認証の方式を識別する情報を、前記機器から受信する処理を前記情報処理装置に実行させ、
前記ユーザを認証する処理は、前記情報に応じた方式により、前記ユーザを認証する、付記１７または１８記載の情報処理方法。
（付記２０）
前記ユーザを認証する処理は、前記ユーザの認証の結果とともに、前記ユーザの認証に関わる状況情報を送信する、付記１７乃至１９のいずれか一項に記載の情報処理方法。
【符号の説明】
【０２４６】
１０  情報処理装置
１１  認証情報記憶部
１２  登録部
１３  認証処理部
１４  ユーザ認証部
１５  近接通信部
１６  通信部
２０  機器
２１  認証処理部
２２  近接通信部
２３  通信部
２４  施解錠部
２５  入力部
２６  表示部
２７  ＣＤ制御部
２８  作成部
３０  サーバ装置
３１  認証情報記憶部
３２  認証処理部
３３  サービス部
３４  通信部
【図１】
2018074205.tif 000003
【図２】
2018074205.tif 000004
【図３】
2018074205.tif 000005
【図４】
2018074205.tif 000006
【図５】
2018074205.tif 000007
【図６】
2018074205.tif 000008
【図７】
2018074205.tif 000009
【図８】
2018074205.tif 000010
【図９】
2018074205.tif 000011
【図１０】
2018074205.tif 000012
【図１１】
2018074205.tif 000013
【図１２】
2018074205.tif 000014
【図１３】
2018074205.tif 000015