(57)【要約】【課題】セキュリティを向上させることができる情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】家計簿作成サーバ２０は、アクセストークンをバンキングサーバ１０から受信して記憶するとともに、クライアントトークンを発行してユーザの操作する端末に送信するクライアントトークン発行部２１と、クライアントトークンと端末コードとを対応付けて記憶する端末登録部２２と、端末登録部２２に記憶された端末コードとクライアントトークンとに基づいて端末２を認証する端末認証部２３と、端末認証部２３の認証が成功した場合に、アクセストークンとともに口座情報取得処理の処理要求をバンキングサーバ１０に送信して、バンキングサーバ１０が実行した口座情報取得処理の処理結果を利用して家計簿作成処理を実行する家計簿作成処理実行部２４と、を備える。【選択図】図１
2019096090.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信手段と、
前記第１トークン受信手段が受信した前記第１トークンを記憶する第１トークン記憶手段と、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行手段と、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録手段と、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録手段に記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証手段と、
前記端末認証手段の認証が成功した場合に、前記第１トークン記憶手段に記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信手段と、
前記処理結果受信手段が受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行手段と、を備える、
情報処理装置。
【請求項２】
前記端末登録手段は、前記端末登録要求に加えて前記ユーザを特定するユーザ特定情報を受信し、該端末登録要求を受信した際に、該受信したユーザ特定情報により特定されるユーザに対応する前記第２トークンおよび前記端末特定情報がすでに記憶されている場合、前記第２トークンおよび前記端末特定情報を使用不可能とする、
請求項１に記載の情報処理装置。
【請求項３】
前記第１処理は、前記ユーザの所有する口座におけるバンキングサービスを提供する処理であって、
前記第１トークンは、前記第１トークン記憶手段により、前記バンキングサービスにおける前記ユーザの口座を特定する口座特定情報に対応付けて記憶され、
前記第２トークンは、前記端末登録手段により、前記バンキングサービスを利用するユーザを特定するユーザ特定情報と前記端末特定情報とに対応付けて記憶され、
前記端末認証手段は、前記端末特定情報と前記第２トークンに加えて、処理対象のユーザを特定するユーザ特定情報と処理対象の口座を特定する口座特定情報とともに前記第２処理の処理要求を受信して、前記端末登録手段に記憶された前記端末特定情報と前記第２トークンのうち、受信した前記ユーザ特定情報に対応する前記端末特定情報と前記第２トークンとに基づいて前記端末を認証し、
前記処理結果受信手段は、前記端末認証手段が受信した前記口座特定情報に基づいて、前記外部装置に送信する第１トークンを取得する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記第１処理として前記ユーザの口座における口座取引を行うことを許可することを表す口座取引許可情報を登録する口座取引登録手段をさらに備え、
前記端末認証手段は、前記第１処理の処理結果として前記口座取引を行った結果を利用する場合、前記口座取引登録手段に前記口座取引許可情報が記憶されている場合にのみ、前記端末の認証を成功とする、
請求項３に記載の情報処理装置。
【請求項５】
第３トークンを前記外部装置から受信し、前記第３トークンを記憶する第３トークン記憶手段を備え、
前記第１処理には前記ユーザの口座における口座取引を行う口座取引処理が含まれ、
前記端末認証手段は、前記第１処理の処理結果として前記口座取引を行った結果を利用する場合には、前記第３トークン記憶手段に前記第３トークンが記憶されている場合にのみ、前記端末の認証を成功とし、
前記第２処理実行手段は、前記口座取引を行う前記第１処理の処理結果を前記第２処理が利用する場合には、前記第３トークンとともに前記第１処理の処理要求を前記外部装置に送信する、
請求項３に記載の情報処理装置。
【請求項６】
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信ステップと、
前記第１トークン受信ステップで受信した前記第１トークンを記憶する第１トークン記憶ステップと、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行ステップと、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録ステップと、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録ステップで記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証ステップと、
前記端末認証ステップの認証が成功した場合に、前記第１トークン記憶ステップで記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信ステップと、
前記処理結果受信ステップで受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行ステップと、を備える、
情報処理方法。
【請求項７】
コンピュータに、
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信ステップと、
前記第１トークン受信ステップで受信した前記第１トークンを記憶する第１トークン記憶ステップと、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行ステップと、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録ステップと、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録ステップで記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証ステップと、
前記端末認証ステップの認証が成功した場合に、前記第１トークン記憶ステップで記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信ステップと、
前記処理結果受信ステップで受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
金融機関が提供するオンラインバンキングなどのサービスの利用権限を利用者から委譲された事業者が、当該オンラインバンキングを利用して家計簿を作成するなどといったように、金融機関とは異なる事業者が利用者権限に基づいて新たなサービスを利用者に提供する技術が提案されている。また、特許文献１には、ＯＡｕｔｈと呼ばれる仕組みを利用し、認証に成功したことを示すアクセストークンと呼ばれる文字列を発行してセキュリティを保護しつつ、サービスを利用する利用者の利便性を向上させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０８１３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような事業者が提供する新たなサービスについて、特許文献１に記載の技術を組み合わせることにより、当該新たなサービスを利用する利用者の利便性を向上させることが考えられる。しかしながら、このような場合、特許文献１に記載されたアクセストークンによる管理では、セキュリティの保護といった観点からすると十分とは言えない。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、セキュリティを向上させることができる情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る情報処理装置は、
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信手段と、
前記第１トークン受信手段が受信した前記第１トークンを記憶する第１トークン記憶手段と、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行手段と、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録手段と、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録手段に記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証手段と、
前記端末認証手段の認証が成功した場合に、前記第１トークン記憶手段に記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信手段と、
前記処理結果受信手段が受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行手段と、を備える。
【０００７】
前記端末登録手段は、前記端末登録要求に加えて前記ユーザを特定するユーザ特定情報を受信し、該端末登録要求を受信した際に、該受信したユーザ特定情報により特定されるユーザに対応する前記第２トークンおよび前記端末特定情報がすでに記憶されている場合、前記第２トークンおよび前記端末特定情報を使用不可能とする、
ようにしてもよい。
【０００８】
前記第１処理は、前記ユーザの所有する口座におけるバンキングサービスを提供する処理であって、
前記第１トークンは、前記第１トークン記憶手段により、前記バンキングサービスにおける前記ユーザの口座を特定する口座特定情報に対応付けて記憶され、
前記第２トークンは、前記端末登録手段により、前記バンキングサービスを利用するユーザを特定するユーザ特定情報と前記端末特定情報とに対応付けて記憶され、
前記端末認証手段は、前記端末特定情報と前記第２トークンに加えて、処理対象のユーザを特定するユーザ特定情報と処理対象の口座を特定する口座特定情報とともに前記第２処理の処理要求を受信して、前記端末登録手段に記憶された前記端末特定情報と前記第２トークンのうち、受信した前記ユーザ特定情報に対応する前記端末特定情報と前記第２トークンとに基づいて前記端末を認証し、
前記処理結果受信手段は、前記端末認証手段が受信した前記口座特定情報に基づいて、前記外部装置に送信する第１トークンを取得する、
ようにしてもよい。
【０００９】
前記第１処理として前記ユーザの口座における口座取引を行うことを許可することを表す口座取引許可情報を登録する口座取引登録手段をさらに備え、
前記端末認証手段は、前記第１処理の処理結果として前記口座取引を行った結果を利用する場合、前記口座取引登録手段に前記口座取引許可情報が記憶されている場合にのみ、前記端末の認証を成功とする、
ようにしてもよい。
【００１０】
第３トークンを前記外部装置から受信し、前記第３トークンを記憶する第３トークン記憶手段を備え、
前記第１処理には前記ユーザの口座における口座取引を行う口座取引処理が含まれ、
前記端末認証手段は、前記第１処理の処理結果として前記口座取引を行った結果を利用する場合には、前記第３トークン記憶手段に前記第３トークンが記憶されている場合にのみ、前記端末の認証を成功とし、
前記第２処理実行手段は、前記口座取引を行う前記第１処理の処理結果を前記第２処理が利用する場合には、前記第３トークンとともに前記第１処理の処理要求を前記外部装置に送信する、
ようにしてもよい。
【００１１】
上記目的を達成するため、本発明の第２の観点に係る情報処理方法は、
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信ステップと、
前記第１トークン受信ステップで受信した前記第１トークンを記憶する第１トークン記憶ステップと、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行ステップと、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録ステップと、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録ステップで記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証ステップと、
前記端末認証ステップの認証が成功した場合に、前記第１トークン記憶ステップで記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信ステップと、
前記処理結果受信ステップで受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行ステップと、を備える。
【００１２】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータに、
ユーザに関する情報を保有する外部装置から第１トークンを受信する第１トークン受信ステップと、
前記第１トークン受信ステップで受信した前記第１トークンを記憶する第１トークン記憶ステップと、
前記第１トークンとは異なる第２トークンを発行して前記ユーザの操作する端末に送信する第２トークン発行ステップと、
前記端末から前記第２トークンと前記端末を特定する端末特定情報とともに端末登録要求を受信したことに基づいて前記第２トークンと前記端末特定情報とを対応付けて記憶する端末登録ステップと、
前記端末特定情報と前記第２トークンとともに、前記外部装置が実行する第１処理の処理結果を利用して実行する第２処理の処理要求を前記端末から受信すると、前記端末登録ステップで記憶された前記端末特定情報と前記第２トークンとに基づいて前記端末を認証する端末認証ステップと、
前記端末認証ステップの認証が成功した場合に、前記第１トークン記憶ステップで記憶された第１トークンとともに前記第１処理の処理要求を前記外部装置に送信して、前記外部装置が実行した前記第１処理の処理結果を受信する処理結果受信ステップと、
前記処理結果受信ステップで受信した前記第１処理の処理結果を利用して前記第２処理を実行する第２処理実行ステップと、
を実行させる。
【発明の効果】
【００１３】
本発明によれば、セキュリティを向上させることができる情報処理装置、情報処理方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１に係る家計簿作成システムの機能ブロック図である。
【図２】本発明の実施の形態１に係る家計簿作成システムのハードウェア構成図である。
【図３】本発明の実施の形態１に係る家計簿作成システムの初回利用登録処理のシーケンス図である。
【図４】本発明の実施の形態１に係る家計簿作成サーバに格納された口座情報の一例を表す図である。
【図５】本発明の実施の形態１に係る家計簿作成サーバに格納されたユーザ情報の一例を表す図である。
【図６】本発明の実施の形態１に係る家計簿作成システムの家計簿作成処理のシーケンス図である。
【図７】本発明の実施の形態２に係る家計簿作成システムの機能ブロック図である。
【図８】本発明の実施の形態２に係る家計簿作成システムの口座取引登録処理のシーケンス図である。
【発明を実施するための形態】
【００１５】
（実施の形態１）
以下、本発明の情報処理装置を、家計簿作成サービスを提供する家計簿作成システムに適用した実施の形態について、図面を参照して説明する。
【００１６】
本実施の形態の家計簿作成システム１は、オンラインバンキングなどのバンキングサービスを利用して家計簿を作成するサービス（家計簿作成サービス）を提供するシステムである。図１に示すように、家計簿作成システム１は、バンキングサーバ１０と家計簿作成サーバ２０を備える。バンキングサーバ１０は、口座を管理する金融機関のホストコンピュータ３と通信して、口座情報、明細情報等を取得したり、振込処理の要求を送信したりするバンキングサービスを提供するメインサーバである。したがって、バンキングサーバ１０は、ユーザに関する情報を保有している。そして、バンキングサーバ１０は、オンラインバンキングなどのバンキングサービスを提供する一方で、家計簿作成サーバ２０にバンキングサービスを利用させる許可を与える機能を備える。家計簿作成サーバ２０は、バンキングサーバ１０からバンキングサービスを利用する許可を与えられることで、ユーザの操作する端末２に対して家計簿作成サービスを提供することが可能となる。
【００１７】
端末２には、家計簿作成サービス用のアプリケーションがインストールされ、ユーザはそのアプリケーションを起動して、家計簿作成サービスを利用する。家計簿作成サービス用のアプリケーション（家計簿作成アプリ）は、専用のアプリケーションであっても良いし、ＷＥＢブラウザなどの汎用のアプリケーションであっても良い。なお、この実施の形態におけるユーザはオンラインバンキングなどのバンキングサービスを利用できることを前提としている。
【００１８】
具体的には、バンキングサーバ１０は、図１に示すように、アクセストークン発行部１１とアクセストークン認証部１２と口座情報取得処理実行部１３とを備える。
【００１９】
アクセストークン発行部１１は、バンキングサービスの利用を家計簿作成サーバ２０に許可したことを示すアクセストークンを発行する。アクセストークンは、当該バンキングサービスの利用が許可されたことを示す文字列であり、当該バンキングサービスの利用証明書の役割を有している。すなわち、アクセストークンを所有していれば、当該バンキングサービスを利用することができ、これとは反対にアクセストークンを所有していなければ、当該バンキングサービスを利用できないこととなる。アクセストークンは、通信もしくは格納された状態においては、所定の方式で暗号化されていても良い。
【００２０】
また、アクセストークン発行部１１では、ＯＡｕｔｈ２．０と呼ばれる仕組みを利用し、当該ＯＡｕｔｈ２．０に規定されたプロトコルに則ってアクセストークンを発行しても良い。この場合、バンキングサーバ１０がＯＡｕｔｈ２．０における認可サーバおよびリソースサーバの役割を有していればよい。アクセストークン発行部１１は、家計簿作成サーバ２０からアクセストークン発行要求を受信し、かつホストコンピュータ３からユーザの認証結果を受信した場合に、アクセストークンを発行する。
【００２１】
アクセストークン認証部１２は、家計簿作成サーバ２０からアクセストークンとともにバンキングサービスの提供要求（明細取得要求）を受信した場合に、家計簿作成サーバ２０の正当性を認証し、バンキングサービスの利用を許可するか否かを判定する。なお、アクセストークン認証部１２は、家計簿作成サーバ２０の認証に失敗した場合、認証結果を、家計簿作成サーバ２０を介して端末２に通知する。
【００２２】
口座情報取得処理実行部１３は、アクセストークン認証部１２において家計簿作成サーバ２０の認証に成功した場合に、バンキングサービスの提供要求にて要求された処理を実行する。具体的には、バンキングサービスの提供要求にて要求された処理が口座情報の照会、振込等の処理であれば、金融機関のホストコンピュータ３にそれらの処理を要求し、当該ホストコンピュータ３から処理結果を受信して、家計簿作成サーバ２０に返却する。
【００２３】
また、家計簿作成サーバ２０は、クライアントトークン発行部２１と端末登録部２２と端末認証部２３と家計簿作成処理実行部２４とを備える。
【００２４】
クライアントトークン発行部２１は、家計簿作成サービスの利用を端末２に許可したことを示すクライアントトークンを発行する。クライアントトークンは、当該家計簿作成サービスの利用が許可されたことを示す文字列であり、当該家計簿作成サービスの利用証明書の役割を有している。すなわち、クライアントトークンを所有していれば、当該家計簿作成サービスを利用することができ、これとは反対にクライアントトークンを所有していなければ、当該家計簿作成サービスを利用できないこととなる。クライアントトークンは、通信もしくは格納された状態においては、所定の方式で暗号化されていても良い。クライアントトークン発行部２１は、端末２から後述する初回登録要求を受信した後、バンキングサーバ１０からアクセストークンを受信した場合に、クライアントトークンを発行する。詳細については後述する。また、クライアントトークン発行部２１は、バンキングサーバ１０から受信したアクセストークンをユーザの口座情報に対応づけて口座情報として記憶する。
【００２５】
端末登録部２２は、端末２を認証するための端末コードを家計簿作成サーバ２０に登録する。具体的に、端末登録部２２は、ユーザが利用しているバンキングサービスにて使用中のユーザ識別情報と１対１で対応したユーザＩＤと、端末を一意に特定する端末コードとを、クライアントトークンとともに端末２から受信する。ユーザＩＤは、バンキングサーバ１０および家計簿作成サーバ２０が共通して使用するユーザ特定情報として機能する。また、端末登録部２２は、ユーザＩＤと端末コードとを、それぞれクライアントトークンと対応付けて、後述するユーザ情報として記憶する。端末コードは、端末２に予め備えられていても良いし、端末２にインストールされた家計簿作成アプリが、初回の起動時に一度だけ生成して、端末２に格納しても良い。また、端末登録部２２は、同一のユーザＩＤについて、すでに端末コードとクライアントトークンが格納されている場合、その端末コードおよびクライアントトークンを上書きもしくは無効化することによって使用不可能とする。ここで、上述したように、ユーザＩＤは、当該ユーザが利用しているバンキングサービスにて使用中のユーザ識別情報と１対１で対応している。そのため、同一のユーザから、ユーザＩＤ、端末コード、およびクライアントトークンを、端末２とは異なる端末２から受信しても、同一ユーザであれば同一のユーザＩＤとなる。したがって、端末２における端末コード等がすでに格納されている場合、端末２における端末コードおよび新たに発行されたクライアントトークンにて上書きされる（または無効化される）。したがって、端末２のみが家計簿作成サービスを利用可能となり、セキュリティを向上させることができる。
【００２６】
端末認証部２３は、端末コードとクライアントトークンとともに端末２から家計簿作成処理要求を受信すると、端末コードとクライアントトークンとに基づいて端末２の正当性を認証する。具体的には、受信した端末コードとクライアントトークンとが、端末登録部２２により家計簿作成サーバ２０に格納されたユーザ情報に存在するものであれば、認証成功とする。なお、端末認証部２３は、端末２の認証に失敗した場合、認証結果を端末２に通知する。
【００２７】
家計簿作成処理実行部２４は、端末認証部２３において端末２の認証に成功した場合に、家計簿の作成の元になるデータである明細情報を取得するため、アクセストークンとともに、明細取得処理要求をバンキングサーバ１０に送信する。そして、家計簿作成処理実行部２４は、バンキングサーバ１０から明細情報を受信すると、その情報を元に家計簿を作成し、家計簿情報として端末２に返却する。
【００２８】
端末２は、家計簿作成サービスのユーザ（利用者）が操作するスマートフォン、タブレット、ＰＣ（Personal Computer）、携帯電話、ＰＤＡ（Personal Digital Assistant）等の情報通信機器である。端末２には、上述したように家計簿作成アプリがインストールされる。当該家計簿作成アプリは、ユーザによる端末２に対する操作（ユーザ操作）に基づいて起動される。端末２は、家計簿作成アプリにおけるユーザ操作に基づいて、後述する初回登録処理や家計簿作成処理を開始する。なお、初回登録処理および家計簿作成処理は、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０と、ホストコンピュータ３とで協同して行われる処理である。
【００２９】
ホストコンピュータ３は、金融機関のコンピュータであって、ユーザの口座に関する情報およびユーザの氏名、生年月日等の本人確認情報を保持し、口座に対する処理や、ユーザを認証する処理（認証処理）を実行する機能を有する。本実施の形態においては、ホストコンピュータ３は、バンキングサーバ１０から本人確認情報を受信して認証処理を実行し、処理結果を返却する。また、ホストコンピュータ３は、バンキングサーバ１０から振込、照会等の口座に対する処理を受けて実行し、処理結果を返却する。
【００３０】
次に、家計簿作成システム１のハードウェア構成について、図２を参照して説明する。バンキングサーバ１０は、ＣＰＵ（Central Processing Unit）１０１と、ＲＡＭ（Random Access Memory）１０２と、ＲＯＭ（Read Only Memory）１０３と、ハードディスクドライブ１０４と、ネットワークカード１０５とを備える。
【００３１】
ＣＰＵ１０１は、ハードディスクドライブ１０４に記憶されているプログラムをＲＡＭ１０２に読み出して実行することにより、前述した初回登録処理や各種処理を実行する。
【００３２】
ＲＡＭ１０２は、揮発性メモリであり、ＣＰＵ１０１の作業領域として用いられる。
【００３３】
ＲＯＭ１０３は、不揮発性メモリであり、ＣＰＵ１０１が実行するバンキングサーバ１０の基本動作のための制御プログラム、ＢＩＯＳ（Basic Input Output System）等を記憶する。
【００３４】
ハードディスクドライブ１０４は、バンキングサーバ１０に格納する各種情報と、ＣＰＵ１０１が実行するプログラムが格納される。
【００３５】
ネットワークカード１０５は、通信回線とのインターフェースであり、ホストコンピュータ３および後述する家計簿作成サーバ２０が備えるネットワークカード２０５と通信可能に接続されている。ネットワークカード１０５とホストコンピュータ３およびネットワークカード２０５との間は直接接続されていても良く、インターネット、イントラネット、ＶＰＮ（Virtual Private Network）、ＬＡＮ（Local Area Network）等のネットワークを介して接続されていても良い。
【００３６】
ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ハードディスクドライブ１０４およびネットワークカード１０５は、協同して、前述のアクセストークン発行部１１、アクセストークン認証部１２または口座情報取得処理実行部１３として機能する。
【００３７】
家計簿作成サーバ２０は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、ハードディスクドライブ２０４と、ネットワークカード２０５とを備える。
【００３８】
ＣＰＵ２０１は、ハードディスクドライブ２０４に記憶されているプログラムをＲＡＭ２０２に読み出して実行することにより、前述した初回登録処理や各種処理を実行する。
【００３９】
ＲＡＭ２０２は、揮発性メモリであり、ＣＰＵ２０１の作業領域として用いられる。
【００４０】
ＲＯＭ２０３は、不揮発性メモリであり、ＣＰＵ２０１が実行する家計簿作成サーバ２０の基本動作のための制御プログラム、ＢＩＯＳ等を記憶する。
【００４１】
ハードディスクドライブ２０４は、家計簿作成サーバ２０に格納する各種情報と、ＣＰＵ２０１が実行するプログラムが格納される。
【００４２】
ネットワークカード２０５は、通信回線とのインターフェースであり、端末２およびバンキングサーバ１０が備えるネットワークカード１０５と通信可能に接続されている。ネットワークカード２０５と端末２およびネットワークカード１０５との間は直接接続されていても良く、インターネット、イントラネット、ＶＰＮ、ＬＡＮ等のネットワークを介して接続されていても良い。
【００４３】
ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ハードディスクドライブ２０４およびネットワークカード２０５は、協同して、前述のクライアントトークン発行部２１、端末登録部２２、端末認証部２３または家計簿作成処理実行部２４として機能する。
【００４４】
次に、家計簿作成システム１の動作について、図３から図６を参照して説明する。まず、図３から図５を参照して初回登録処理について説明する。なお、初回登録処理は、上述したように、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０と、ホストコンピュータ３とで協同して行われる（後述する家計簿作成処理についても同様）。金融機関に口座を持つユーザは、自己が所有する端末２に家計簿作成アプリをインストールして、起動する。端末２に対するユーザの操作により家計簿作成アプリが起動されると、当該起動が初回の起動であれば、家計簿作成アプリは端末コードを生成する。端末コードは、端末固有のＩＤであり、例えば、ＵＵＩＤ（Universally Unique Identifier）のフォーマットとしても良い。
【００４５】
そして、例えば初回登録処理開始ボタンにタッチするなどのユーザの操作によって、端末２が初回登録処理を開始すると、端末２は、ユーザの口座に関する情報およびユーザの氏名、生年月日等の本人確認情報の入力を受け付ける。そして、ユーザの操作が行われることにより、端末２は、図３に示すように、入力された本人確認情報とともに、初回登録要求を家計簿作成サーバ２０に送信する。初回登録要求は、家計簿作成サーバ２０に初回登録処理を協同して実行させるためのリクエスト電文である。
【００４６】
より具体的に、本人確認情報は、ユーザが利用しているバンキングサービスにて使用中のユーザ識別情報と１対１で対応したユーザＩＤ、ユーザのメールアドレス、ユーザの所有する口座の支店コード、科目、および口座番号、口座名義人の氏名、および生年月日、当該口座に対応したキャッシュカード暗証番号等の、当該ユーザが金融機関の契約者本人であることを証明するための情報である。ここで、ユーザが複数の口座を持っている場合も考えられるため、口座番号等の口座を特定する情報を本人確認情報に含める。なお、ユーザＩＤは、ユーザが利用しているバンキングサービスにて使用中のユーザ識別情報に対応してバンキングサーバ１０から予め発行されていればよい。また、ユーザＩＤは、ユーザが利用しているバンキングサービスにて使用中のユーザ識別情報そのものであってもよい。
【００４７】
家計簿作成サーバ２０は、端末２から初回登録処理を受信すると、初回登録処理を実行し、受信した本人確認情報とともに、アクセストークン発行要求をバンキングサーバ１０に送信する。アクセストークン発行要求は、バンキングサーバ１０に初回登録処理を協同して実行させるためのリクエスト電文である。バンキングサーバ１０は、家計簿作成サーバ２０からアクセストークン発行要求を受信すると、初回登録処理を実行し、受信した本人確認情報とともに、認証要求をホストコンピュータ３に送信する。認証要求は、ホストコンピュータ３に初回登録処理を協同して実行させるためのリクエスト電文である。ホストコンピュータ３は、バンキングサーバ１０から認証要求を受信すると、初回登録処理を実行し、受信した本人確認情報に基づいて口座を特定してユーザの正当性を認証し、認証結果をバンキングサーバ１０に送信する（ステップＳ１１）。
【００４８】
バンキングサーバ１０のアクセストークン発行部１１は、受信した認証結果が成功であった場合、アクセストークンを発行するとともに、発行したアクセストークンを口座の情報と対応付けてハードディスクドライブ１０４に格納するとともに、家計簿作成サーバ２０に送信する（ステップＳ１２）。一方、受信した認証結果が失敗であった場合、アクセストークン発行部１１は、その旨を、家計簿作成サーバ２０を介して端末２に通知する。
【００４９】
家計簿作成サーバ２０のクライアントトークン発行部２１は、受信したアクセストークンをユーザの口座情報に関連付けてハードディスクに保存する。具体的に、図４に示すように、上述したユーザＩＤ、同一ユーザにおける口座ごとの通番であるユーザ通番、口座番号、支店コード等の口座を特定する情報とともに、受信したアクセストークンが、口座情報として保存される。そして、クライアントトークン発行部２１は、クライアントトークンを発行して、端末２に送信する（ステップＳ１３）。なお、このステップＳ１３において、クライアントトークン発行部２１は、アクセストークン（第１トークン）を受信する第１トークン受信手段、第１トークンを記憶する第１トークン記憶手段、およびクライアントトークン（第２トークン）を発行してユーザの操作する端末２に送信する第２トークン発行手段として機能する。したがって、このステップＳ１３は、第１トークン受信ステップ、第１トークン記憶ステップ、および第２トークン発行ステップとして機能する。
【００５０】
次に、端末２は、家計簿作成サーバ２０から受信したクライアントトークンをメモリ等に保存し、ユーザの操作にしたがって、保存したクライアントトークン、ユーザＩＤを含む個人情報および端末コードを、端末登録要求とともに家計簿作成サーバ２０に送信する。端末登録要求は、クライアントトークン、ユーザＩＤを含む個人情報および端末コードといったユーザの正当性を保証するために必要なユーザ情報の登録を要求するリクエスト電文である。
【００５１】
家計簿作成サーバ２０の端末登録部２２は、端末２から端末登録要求を受信すると、受信したクライアントトークンおよび端末コードを個人情報に対応付けてユーザ情報としてハードディスクドライブ２０４に格納する（ステップＳ１４）。具体的には、図５に示すように、上述したユーザＩＤ、カナ氏名、メールアドレス等のユーザごとの情報とともに、端末コードとクライアントトークンが、ハードディスクドライブ２０４に格納される。なお、ステップＳ１４において、端末登録部２２は、同一のユーザＩＤについて、すでに端末コードとクライアントトークンが格納されている場合、その端末コードおよびクライアントトークンを上書きする。なお、このステップＳ１４において、端末登録部２２は、第２トークンと端末コード（端末特定情報）とを対応付けて記憶する端末登録手段として機能する。したがって、このステップＳ１４は、端末登録ステップとして機能する。
【００５２】
そして、端末登録部２２は、登録完了を示す処理結果を端末２に返却する。端末２は、画面に登録完了を示す処理結果を表示する。
【００５３】
以上が初回登録処理における家計簿作成システム１の動作である。なお、初回登録処理は、上述したように、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０と、ホストコンピュータ３とで協同して行われる処理であるが、ホストコンピュータ３はステップＳ１１の処理を実行した後、バンキングサーバ１０はステップＳ１２の処理を実行した後、家計簿作成サーバ２０はステップＳ１４の処理を実行した後、端末２は登録完了画面を表示した後、のそれぞれのタイミングにおいてそれぞれの装置にて初回登録処理を終了すればよい。また、端末２が処理結果を受信したことにより、初回登録処理の終了を順次他の装置へ通知することでそれぞれの装置にて初回登録処理を終了してもよい。
【００５４】
このようにして、家計簿作成システム１は、アクセストークン（第１のトークン）とクライアントトークン（第２のトークン）の２つのトークンを発行する。アクセストークンは、口座に対応したトークンであり、バンキングサーバ１０が家計簿作成サーバ２０を認証するトークンであると言える。一方、クライアントトークンは、ユーザに対応したトークンであり、家計簿作成サーバ２０がユーザを認証するトークンであると言える。
【００５５】
次に、図６を参照して、家計簿作成処理における家計簿作成システム１の動作について説明する。家計簿作成処理では、これらの２つのトークンを使用した認証が行われる。
【００５６】
上述した初回登録処理により初回登録を完了したユーザにより、例えば家計簿作成処理開始ボタンにタッチするなどの操作が行われると、端末２が家計簿作成処理を開始する。家計簿作成処理を開始すると、端末２は、図６に示すように、家計簿作成サーバ２０に上述したユーザＩＤ、端末コード、およびクライアントトークンとともに、口座を特定するための口座番号などの口座情報を含む家計簿作成処理要求を送信する。家計簿作成サーバ２０は、端末２から家計簿作成処理要求を受信すると、家計簿作成処理を開始する。家計簿作成処理を開始すると、家計簿作成サーバ２０の端末認証部２３は、受信したユーザＩＤに対応するクライアントトークンと端末コードをハードディスクドライブ２０４に格納されたユーザ情報（図５参照）から検索し、受信したクライアントトークンおよび端末コードと一致するか否かを判定することによって、端末２の正当性を認証する（ステップＳ２１）。ユーザＩＤに対応するクライアントトークンや端末コードが存在しない場合や、クライアントトークンまたは端末コードが不一致である場合には、認証失敗と判定し、端末認証部２３は、端末２に認証結果を通知する。このステップＳ２１において、端末認証部２３は、端末特定情報と第２トークンとに基づいて端末２を認証する端末認証手段として機能する。したがって、このステップＳ２１は、端末認証ステップとして機能する。
【００５７】
一方、ユーザＩＤに対応するクライアントトークンや端末コードが存在し、クライアントトークンおよび端末コードが一致したと判定した場合、家計簿作成サーバ２０の家計簿作成処理実行部２４は、家計簿作成処理要求に含まれる口座番号に対応したアクセストークンをハードディスクドライブ２０４に格納された口座情報（図４参照）から取得して、当該アクセストークンとともに明細取得処理要求をバンキングサーバ１０に送信する。明細取得処理要求は、家計簿作成に必要な明細情報の取得を要求するリクエスト電文である。なお、家計簿作成処理要求に含まれる口座番号に対応したアクセストークンが存在しない場合には、その旨を端末２に通知する。
【００５８】
バンキングサーバ１０は、家計簿作成サーバ２０から明細取得処理要求を受信すると、家計簿作成処理を開始する。家計簿作成処理を開始すると、バンキングサーバ１０のアクセストークン認証部１２は、受信したアクセストークンに基づいて家計簿作成サーバ２０の正当性を認証する（ステップＳ２２）。ステップＳ２２では、例えば、初期登録処理においてハードディスクドライブ１０４に口座の情報と対応付けて格納されているアクセストークンを参照し、当該受信したアクセストークンと一致するものが格納されているか否かを判定することにより、家計簿作成サーバ２０の正当性を認証する。受信したアクセストークンと一致するものが格納されていない場合、アクセストークン認証部１２は、認証に失敗したとして、認証結果を、家計簿作成サーバ２０を介して端末２に通知する。一方、受信したアクセストークンと一致するものが格納されている場合、バンキングサーバ１０の口座情報取得処理実行部１３は、アクセストークン認証部１２が認証に成功したとして、明細取得処理要求をホストコンピュータ３に送信する。
【００５９】
ホストコンピュータ３は、バンキングサーバ１０から明細取得処理要求を受信すると、家計簿作成処理を開始する。家計簿作成処理を開始すると、ホストコンピュータ３は、明細取得処理を実行して家計簿作成に必要な明細情報を取得し、取得した明細情報をバンキングサーバ１０に送信する（ステップＳ２３）。
【００６０】
バンキングサーバ１０の口座情報取得処理実行部１３は、ホストコンピュータ３から受信した明細情報を家計簿作成サーバ２０に送信する。家計簿作成サーバ２０の家計簿作成処理実行部２４は、バンキングサーバ１０から受信した明細情報に基づいて家計簿情報を作成し、端末２に送信する（ステップＳ２４）。このステップＳ２４において、家計簿作成処理実行部２４は、バンキングサーバ１０（外部装置）が実行した口座情報取得処理（第１処理）の処理結果を受信する処理結果受信手段および第１処理の処理結果を利用して家計簿作成処理（第２処理）を実行する第２処理実行手段として機能する。したがって、このステップＳ２４は、処理結果受信ステップおよび第２処理実行ステップとして機能する。
【００６１】
そして端末２は、バンキングサーバ１０から受信した家計簿情報を画面に表示する（ステップＳ２５）。以上が家計簿作成処理における家計簿作成システム１の動作である。なお、家計簿作成処理は、上述したように、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０と、ホストコンピュータ３とで協同して行われる処理であるが、ホストコンピュータ３はステップＳ２３の処理を実行した後、バンキングサーバ１０はステップＳ２２の処理を実行し、かつ明細情報を家計簿作成サーバ２０に送信した後、家計簿作成サーバ２０はステップＳ２４の処理を実行した後、端末２はステップＳ２５の処理を実行した後、のそれぞれのタイミングにおいてそれぞれの装置にて家計簿作成処理を終了すればよい。また、端末２がステップＳ２５の処理を実行したことにより、家計簿作成処理の終了を順次他の装置へ通知することでそれぞれの装置にて家計簿作成処理を終了してもよい。
【００６２】
本実施の形態に係る家計簿作成システム１によれば、クライアントトークンを使用して認証することによって、使用する度に本人確認情報を入力するといった手間が省け、利便性が向上する。さらに、登録済みの端末固有の端末コードによる認証を行うことによって、家計簿作成サーバ２０の処理を、登録した端末２からの処理要求に限定することができるため、セキュリティが向上する。さらに、クライアントトークンおよび端末コードにより特定した個人の口座情報と、アクセストークンとを使用して認証を行うことで、間接的にクライアントトークンとアクセストークンとを関連づけることができ、セキュリティをさらに向上させることができる。
【００６３】
本実施の形態に係る家計簿作成システム１によれば、ユーザが使用する端末を端末２とは別の端末に変更することができる。具体的には、ユーザが別の端末で初回登録処理を行うと、上述したように、同一ユーザであれば同一のユーザＩＤであることから、図３のステップＳ１４にて、同一のユーザＩＤについて、すでに端末コードとクライアントトークンが格納されている場合、ハードディスクドライブ２０４に格納されたユーザ情報のクライアントトークンと端末コードが別の端末のもので上書きされ、別の端末が使用可能になる。また、元々使用していた端末２のクライアントトークンと端末コードはともに上書きされて削除されるため、元々使用していた端末２は使用できなくなる。したがって、別の端末に変更した場合も、端末２の使用が無制限に増えるわけではなく、安全性が高い。
【００６４】
本実施の形態に係る家計簿作成システム１の仕組みを利用すれば、家計簿作成サーバの他に別のサーバを追加することが可能となる。すなわち、追加するサーバは、家計簿作成サーバ２０と同様に、初回登録処理によって、バンキングサーバ１０にアクセストークン発行を要求し、アクセストークンを保持する。そして、追加するサーバは、端末２にクライアントトークンを発行し、端末コードを受けて保存する。このようにすれば、バンキングサーバ１０の変更を行うことなく、家計簿作成サーバの他に別のサーバを追加することによって、バンキングサービスを利用したあらゆるサービスを提供し得るため、拡張性が高い。
【００６５】
したがって、本実施の形態に係る家計簿作成システム１によれば、アクセストークン、クライアントトークンおよび端末コードを組み合わせて認証することによって、上述の通り、システムの拡張性が高く、かつ安全性の高いシステムを実現できる。
【００６６】
（実施の形態２）
実施の形態１においては、バンキングサーバ１０を介してホストコンピュータ３から明細を取得することによって家計簿を作成する家計簿作成サービスの例を例示したが、この他にも、アクセストークン、クライアントトークンおよび端末コードを使用して認証を行い実行する口座情報に対する処理として、家計簿作成サービスに加え、振込、振替等の口座取引サービスを実行してもよい。本実施の形態では、家計簿作成サーバが、アクセストークン、クライアントトークンおよび端末コードを使用して認証を行い実行する口座情報に対する処理として、実施の形態１における家計簿作成サービスに加え、振込、振替等の口座取引サービスを提供する例について、実施の形態１との相違点を中心に、図面を参照して説明する。
【００６７】
振込、振替等の口座取引サービスでは、実際に振込、振替等の口座取引処理が行われるため、正当なユーザとは異なる他社により実行されると正当なユーザが損失を被る虞がある。すなわち、家計簿作成サービスにおいて明細情報を取得等の口座情報を照会するだけの処理よりも、振込、振替等の口座取引サービスは実行元の正当性が大きく要求される。初回登録における本人確認情報がなんらかの方法により第三者に奪われた場合、実施の形態１では、奪われた本人確認情報を用いて第三者の端末にて初回登録処理が行われてしまうと、それ以降は、第三者の端末で振込、振替等の口座取引サービスが利用されてしまうリスクがある。そこで、当該実施の形態２における家計簿作成システム１では、振込、振替等の口座取引サービスを利用する場合において、本人確認情報とは別の情報にしたがった新たな認証を行う。
【００６８】
具体的には、本実施の形態に係る家計簿作成システム１において、図７に示すように、バンキングサーバ１０は口座取引認証部１４をさらに備え、家計簿作成サーバ２０は口座取引登録部２５をさらに備える。
【００６９】
バンキングサーバ１０の口座取引認証部１４は、家計簿作成サーバ２０から口座取引認証要求を受けると、アクセストークン発行部１１における本人確認情報とは異なる情報に基づいて認証を行う。そして、口座取引認証部１４は、認証結果を家計簿作成サーバ２０に送信する。認証の方法は、例えば、ユーザからバンキングサーバ１０に電話をかけ、発信者番号が金融機関への届出電話番号であれば認証成功とし、届出電話番号でなければ認証失敗としても良い。あるいは、バンキングサーバ１０から届出電話番号に、パスコードを通知するＳＭＳ（Short Message Service）を送信し、そのパスコードの入力を受けて認証しても良い。他に、オンラインバンキングに使用しているＩＤ、ＰＷまたはワンタイムパスワード等を利用して認証しても良い。
【００７０】
家計簿作成サーバ２０の口座取引登録部２５は、予め口座情報に対応付けて口座取引サービスを許可されたことを示す口座取引許可フラグをデフォルト値ＯＦＦとして保持する。口座取引登録部２５は、端末２から口座を指定して口座取引登録要求を受けると、バンキングサーバ１０に口座取引認証要求を送信する。そして、口座取引登録部２５は、バンキングサーバ１０から認証結果を受信して、認証結果が成功の場合には、指定された口座に対応付けられた口座取引許可フラグをＯＮにして、ハードディスクドライブ２０４に格納する。
【００７１】
また、家計簿作成サーバ２０の端末登録部２２は、図３におけるステップＳ１４において、処理対象のユーザが保持する口座に対応付けられた口座取引許可フラグがＯＮであるものがある場合、その口座取引許可フラグをすべてＯＦＦに変更する。
【００７２】
また、本実施の形態に係る家計簿作成サーバ２０の端末認証部２３は、振込、振替等の口座取引処理の要求を端末２から受信した場合、ハードディスクドライブ２０４に格納された口座取引許可フラグを確認する。そして、端末認証部２３は、口座取引許可フラグがＯＮの場合には、認証成功として、家計簿作成処理実行部２４の処理に移行し、口座取引許可フラグがＯＦＦの場合には、認証失敗として口座取引登録されていない旨を表す情報を端末２に送信する。
【００７３】
端末２は、口座取引登録されていない旨を表す情報を受信すると、口座取引登録を行う画面を表示する。
【００７４】
次に、本実施の形態に係る振込、振替等の口座取引サービスを実現するための口座取引登録処理における家計簿作成システム１の動作について、図面を参照して説明する。
【００７５】
初回登録された端末で口座取引登録が行われていない場合、家計簿作成サーバ２０のハードディスクドライブ２０４には、口座取引許可フラグがデフォルト値ＯＦＦで登録されている。
【００７６】
そして、ユーザは、端末２で最初に口座取引サービスを利用する場合、口座取引登録処理を開始する操作を端末２にて行う。口座取引登録処理は、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０とで協同して行われる。
【００７７】
端末２は、ユーザの操作を受けて、図８に示すように、口座取引登録要求を家計簿作成サーバ２０に送信する。口座取引登録要求は、家計簿作成サーバ２０に口座取引登録処理を協同して実行させるためのリクエスト電文である。
【００７８】
家計簿作成サーバ２０の口座取引登録部２５は、端末２から口座取引登録要求を受信すると、口座取引登録処理を実行し、バンキングサーバ１０に口座取引認証要求を送信する。口座取引認証要求は、バンキングサーバ１０に口座取引認証処理を協同して実行させるためのリクエスト電文である。
【００７９】
バンキングサーバ１０の口座取引認証部１４は、家計簿作成サーバ２０から口座取引認証要求を受信すると、口座取引登録処理を実行し、前述の通り、アクセストークン発行部１１における本人確認情報とは異なる情報に基づいて認証を行う（ステップＳ３１）。そして、口座取引認証部１４は、認証結果を家計簿作成サーバ２０に送信する。
【００８０】
家計簿作成サーバ２０の口座取引登録部２５は、受信した認証結果が成功であれば、ハードディスクドライブ２０４に格納された口座取引許可フラグをＯＮに更新し、処理結果を端末２に返却する（ステップＳ３２）。このステップＳ３２において、口座取引登録部２５は、口座取引許可フラグ（ユーザの口座における口座取引を行うことを許可することを表す口座取引許可情報）を登録する口座取引登録手段として機能する。
【００８１】
端末２は、家計簿作成サーバ２０から取得した処理結果を画面に表示する。
【００８２】
以上が口座取引登録処理における家計簿作成システム１の動作である。なお、口座取引登録処理は、上述したように、端末２と、家計簿作成サーバ２０と、バンキングサーバ１０とで協同して行われる処理であるが、バンキングサーバ１０はステップＳ３１の処理を実行した後、家計簿作成サーバ２０はステップＳ３２の処理を実行した後、端末２は処理結果を画面に表示した後、のそれぞれのタイミングにおいてそれぞれの装置にて口座取引登録処理を終了すればよい。また、端末２が処理結果を受信したことにより、口座取引登録処理の終了を順次他の装置へ通知することでそれぞれの装置にて口座取引登録処理を終了してもよい。
【００８３】
以上のように、口座取引登録処理によって、家計簿作成サーバ２０のハードディスクドライブ２０４に格納された口座取引許可フラグがＯＮとなる。
【００８４】
そして、図６に示す家計簿作成処理において、家計簿作成サーバ２０の端末認証部２３は、端末２から口座取引処理の要求が送信された場合（図６の家計簿作成処理要求に代えて送信されればよい）、ステップＳ２１にて端末２を認証する際に、端末コードとクライアントトークンがユーザ情報に登録されていることに加えて、口座取引許可フラグがＯＮであることも、認証成功とする条件に加える。このとき、端末の変更直後は、初回登録処理において、口座取引許可フラグがＯＦＦに変更されるため、認証成功とはならない。
【００８５】
以上のように、本実施の形態に係る家計簿作成システム１は、口座取引処理の実行時に口座取引許可フラグがＯＮであることを確認することによって、端末の変更がユーザの意に反して行われた場合であっても、第三者に金銭の損失に直結するような口座取引処理を行われてしまうことがなく、より安全性の高いシステムとなる。
【００８６】
また、家計簿作成サーバ２０が口座取引許可フラグを使用する代わりに、図８の口座取引登録処理のステップＳ３１において、バンキングサーバ１０の口座取引認証部１４は、ユーザの認証に成功した場合に、新たな口座取引用アクセストークンを発行しても良い。その場合、バンキングサーバ１０は、発行した口座取引用アクセストークンを家計簿作成サーバ２０に送信する。家計簿作成サーバ２０の口座取引登録部２５は、ステップＳ３２において、受信した口座取引用アクセストークンを図４に示す口座情報に保存する。このステップＳ３２において、口座取引登録部２５は、口座取引用アクセストークン（第３トークン）をバンキングサーバ１０から受信し、第３トークンを記憶する第３トークン記憶手段として機能する。また、家計簿作成サーバ２０の端末登録部２２は、図３におけるステップＳ１４において、処理対象のユーザが保持する口座に対応付けられた口座取引用アクセストークンがある場合、その口座取引用アクセストークンをすべて削除する。そして、図６に示す家計簿作成処理のステップ２１において、家計簿作成サーバ２０の端末認証部２３は、口座取引許可フラグの確認に代えて、口座取引用アクセストークンの有無を確認する。そして、家計簿作成処理実行部２４は、認証に成功した場合、アクセストークンのかわりに、口座取引用アクセストークンをバンキングサーバ１０に送信する。
【００８７】
このように、口座取引用アクセストークンを使用することによれば、バンキングサーバ１０による認証を受けたことをより確実に確認できるため、単に口座取引許可フラグのＯＮ、ＯＦＦで認証するよりも、さらに安全性の高いシステムとなる。
【００８８】
（変形例）
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。
【００８９】
上述した実施の形態の家計簿作成システム１は、図３に示す初回登録処理において、本人確認情報に基づく認証を、１回の送信で行っても良いし、異なる種類の情報を使用して、複数回に分けて情報の送受信を繰り返すことによって行っても良い。また、家計簿作成システム１は、例えば、メールアドレスの確認において、バンキングサーバ１０から実際にメールを送信し、メールの文面の記載されたリンクをクリックすることによって、メールアドレスの正当性を確認しても良い。
【００９０】
上述した実施の形態のバンキングサーバ１０のアクセストークン発行部１１は、アクセストークンの発行に際して、ＯＡｕｔｈに則って、認可コードを発行する等によって、ユーザの認可を表すクレデンシャルである認可グラントを発行しても良い。その場合、家計簿作成サーバ２０は、発行された認可グラントを送信して、バンキングサーバ１０にアクセストークンを発行する依頼を行えば良い。また、バンキングサーバ１０は、ＯＡｕｔｈに規定された認可サーバとリソースサーバに分かれていても良い。さらに、アクセストークンは、ＯＡｕｔｈに規定された使用期限、サービス提供範囲の制限等の機能を有していても良い。
【００９１】
上述した実施の形態のアクセストークン、クライアントトークンおよび口座取引用アクセストークンは、認証のための証明書として使用できるものであれば良く、例えば、暗号化された文字列、バイナリデータ等の種々の形式を含むものである。
【００９２】
上述した実施の形態におけるアクセストークン、クライアントトークン、端末コード等を含む各種の情報は、送受信または記憶において、さまざまな方法で暗号化または復号化されていても良い。
【００９３】
実施の形態１において、端末登録部２２が端末登録要求を受信した際に、受信したユーザＩＤにより特定されるユーザに対応するクライアントトークンおよび端末コードがすでに記憶されている場合、クライアントトークンおよび端末コードを上書きもしくは無効化することによって、クライアントトークンおよび端末コードを使用不可能とする例を例示した。しかし、本発明の範囲はこれに限られない。例えば、端末登録部２２は、受信したクライアントトークンおよび端末コードを含むレコードがすでにユーザ情報に記憶されている場合、そのレコードはそのままの状態として、受信した内容で新たなレコードを挿入し、挿入したレコードを利用可能とすることによって、間接的に旧レコードを使用不可能な状態としても良い。あるいは、旧レコードのクライアントトークンと端末コードのいずれか一方を削除もしくは無効化することによって、旧レコードを実質的に利用できない状態としても良い。
【００９４】
バンキングサーバ１０および家計簿作成サーバ２０は、専用の装置によらず、通常のコンピュータを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した記録媒体から該プログラムをコンピュータにインストールすることにより、上述の処理を実行するバンキングサーバ１０および家計簿作成サーバ２０を構成してもよい。また、複数のコンピュータが協同して動作することによって、１つのバンキングサーバ１０または家計簿作成サーバ２０を構成しても良い。
【００９５】
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給しても良い。 
【００９６】
また、上述の機能の一部をＯＳ（Operation System）が提供する場合には、ＯＳが提供する機能以外の部分をプログラムで提供すれば良い。
【符号の説明】
【００９７】
１…家計簿作成システム、２…端末、３…ホストコンピュータ、１０…バンキングサーバ、１１…アクセストークン発行部、１２…アクセストークン認証部、１３…口座情報取得処理実行部、１４…口座取引認証部、２０…家計簿作成サーバ、２１…クライアントトークン発行部、２２…端末登録部、２３…端末認証部、２４…家計簿作成処理実行部、２５…口座取引登録部、１０１，２０１…ＣＰＵ、１０２，２０２…ＲＡＭ、１０３，２０３…ＲＯＭ、１０４，２０４…ハードディスクドライブ、１０５，２０５…ネットワークカード
【図１】
2019096090.tif 000003
【図２】
2019096090.tif 000004
【図３】
2019096090.tif 000005
【図４】
2019096090.tif 000006
【図５】
2019096090.tif 000007
【図６】
2019096090.tif 000008
【図７】
2019096090.tif 000009
【図８】
2019096090.tif 000010