(57)【要約】【課題】ブラウザのデータ保存領域に保存した情報のセキュリティを向上させる情報処理システムを提供することを課題とする。【解決手段】共有機器と、該共有機器で動作するブラウザのコンテンツを共有機器に提供する情報処理装置とを有する情報処理システムであって、情報処理装置は、共有機器を操作するユーザの認証を行い、認証済みのユーザと対応付けて管理する暗号鍵を、共有機器に提供する認証手段と、ブラウザに機能を付加する機能付加プログラムを共有機器に提供する提供手段とを有し、共有機器は、複数のユーザにより共有して使用されるブラウザのデータ保存領域を管理する領域管理手段と、情報をブラウザのデータ保存領域へ保存又はブラウザのデータ保存領域から取得するとき、機能付加プログラムを実行し、情報処理装置から提供された暗号鍵で保存する情報の暗号化、取得した情報の復号を行う実行手段とを有することにより上記課題を解決する。【選択図】図１
2017004494.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザに共有して使用される共有機器と、該共有機器で動作するブラウザに情報を表示させるためのコンテンツを前記共有機器に提供する情報処理装置と、を有する情報処理システムであって、
前記情報処理装置は、
前記共有機器を操作する前記ユーザの認証を行い、認証済みの前記ユーザと対応付けて管理する暗号鍵を、前記共有機器に提供する認証手段と、
前記ブラウザに機能を付加する機能付加プログラムを、前記共有機器に提供する提供手段と、
を有し、
前記共有機器は、
複数のユーザにより共有して使用される前記ブラウザのデータ保存領域を管理する領域管理手段と、
所定の情報を前記ブラウザのデータ保存領域へ保存するとき、前記機能付加プログラムを実行し、該情報を前記情報処理装置から提供された前記暗号鍵で暗号化し、前記データ保存領域に暗号化されて保存された前記所定の情報を取得するとき、前記機能付加プログラムを実行し、暗号化された前記所定の情報を前記情報処理装置から提供された前記暗号鍵で復号する実行手段と、
を有する情報処理システム。
【請求項２】
前記実行手段は、永続的に情報を保存する前記ブラウザの永続化データ保存領域に前記暗号鍵で暗号化された情報が保存されていれば、前記ブラウザの永続化データ保存領域から取得した情報を前記情報処理装置から提供された前記暗号鍵で復号して前記ブラウザに表示させ、
前記ブラウザの永続化データ保存領域に前記暗号鍵で暗号化された情報が保存されていなければ、認証済みの前記ユーザと対応付いた情報を前記情報処理装置から取得して前記ブラウザに表示させると共に、認証済みの前記ユーザと対応付いた情報を前記情報処理装置から提供された前記暗号鍵で暗号化し、前記ブラウザの永続化データ保存領域に保存する
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記認証手段は、前記ユーザの認証が成功すると、認証済みの前記ユーザの暗号鍵及び前記ユーザが認証済みであることを示す証明情報を生成して、前記証明情報を前記共有機器に提供すると共に、認証済みの前記ユーザと対応付けて前記暗号鍵及び証明情報を管理し、前記共有機器から前記証明情報を付加した前記暗号鍵の取得要求を受け付けると、前記証明情報に対応付いた前記暗号鍵を提供する
ことを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記実行手段は、揮発的に情報を保存する前記ブラウザの揮発データ保存領域に前記証明情報で暗号化された暗号鍵が保存されていれば、前記ブラウザの揮発データ保存領域から取得した暗号化された暗号鍵を、前記情報処理装置から提供された前記証明情報で復号して利用し、
揮発的に情報を保存する前記ブラウザの揮発データ保存領域に前記証明情報で暗号化された暗号鍵が保存されていなければ、認証済みの前記ユーザと対応付いた前記暗号鍵を前記情報処理装置から取得して利用すると共に、認証済みの前記ユーザと対応付いた前記暗号鍵を、前記情報処理装置から提供された前記証明情報で暗号化し、前記ブラウザの揮発データ保存領域に保存する
ことを特徴とする請求項３記載の情報処理システム。
【請求項５】
前記提供手段は、前記ブラウザのデータ保存領域を複数のユーザで共有する前記共有機器と、前記ブラウザのデータ保存領域がユーザごとに分かれている機器とを判別し、前記コンテンツを前記共有機器に提供する場合に、前記機能付加プログラムを前記共有機器に提供する
ことを特徴とする請求項１乃至４何れか一項記載の情報処理システム。
【請求項６】
複数のユーザに共有して使用される共有機器で動作するブラウザに情報を表示させるためのコンテンツを前記共有機器に提供する情報処理装置であって、
前記共有機器を操作する前記ユーザの認証を行い、認証済みの前記ユーザと対応付けて管理する暗号鍵を、前記共有機器に提供する認証手段と、
前記ブラウザに機能を付加する機能付加プログラムを、前記共有機器に提供する提供手段と、
を有し、
前記機能付加プログラムは、所定の情報を前記ブラウザのデータ保存領域へ保存するとき、該情報を前記共有機器に提供した前記暗号鍵で暗号化し、前記データ保存領域に暗号化されて保存された前記所定の情報を取得するとき、暗号化された前記所定の情報を前記共有機器に提供した前記暗号鍵で復号するように、前記共有機器で動作する前記ブラウザを制御する
ことを特徴とする情報処理装置。
【請求項７】
前記機能付加プログラムは、永続的に情報を保存する前記ブラウザの永続化データ保存領域に前記暗号鍵で暗号化された情報が保存されていれば、前記ブラウザの永続化データ保存領域から取得した情報を前記情報処理装置から提供された前記暗号鍵で復号して前記ブラウザに表示させ、
前記ブラウザの永続化データ保存領域に前記暗号鍵で暗号化された情報が保存されていなければ、認証済みの前記ユーザと対応付いた情報を前記情報処理装置から取得して前記ブラウザに表示させると共に、認証済みの前記ユーザと対応付いた情報を前記情報処理装置から提供された前記暗号鍵で暗号化し、前記ブラウザの永続化データ保存領域に保存するように、前記共有機器で動作する前記ブラウザを制御する
ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記認証手段は、前記ユーザの認証が成功すると、認証済みの前記ユーザの暗号鍵及び前記ユーザが認証済みであることを示す証明情報を生成して、前記証明情報を前記共有機器に提供すると共に、認証済みの前記ユーザと対応付けて前記暗号鍵及び証明情報を管理し、前記共有機器から前記証明情報を付加した前記暗号鍵の取得要求を受け付けると、前記証明情報に対応付いた前記暗号鍵を提供する
ことを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記機能付加プログラムは、揮発的に情報を保存する前記ブラウザの揮発データ保存領域に前記証明情報で暗号化された暗号鍵が保存されていれば、前記ブラウザの揮発データ保存領域から取得した暗号化された暗号鍵を、前記情報処理装置から提供された前記証明情報で復号して利用し、
揮発的に情報を保存する前記ブラウザの揮発データ保存領域に前記証明情報で暗号化された暗号鍵が保存されていなければ、認証済みの前記ユーザと対応付いた前記暗号鍵を前記情報処理装置から取得して利用すると共に、認証済みの前記ユーザと対応付いた前記暗号鍵を、前記情報処理装置から提供された前記証明情報で暗号化し、前記ブラウザの揮発データ保存領域に保存するように、前記共有機器で動作する前記ブラウザを制御する
ことを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記提供手段は、前記ブラウザのデータ保存領域を複数のユーザで共有する前記共有機器と、前記ブラウザのデータ保存領域がユーザごとに分かれている機器とを判別し、前記コンテンツを前記共有機器に提供する場合に、前記機能付加プログラムを前記共有機器に提供する
ことを特徴とする請求項６乃至９何れか一項記載の情報処理装置。
【請求項１１】
複数のユーザに共有して使用される共有機器で動作するブラウザに情報を表示させるためのコンテンツを前記共有機器に提供する情報処理装置を、
前記共有機器を操作する前記ユーザの認証を行い、認証済みの前記ユーザと対応付けて管理する暗号鍵を、前記共有機器に提供する認証手段、
前記ブラウザに機能を付加する機能付加プログラムを、前記共有機器に提供する提供手段、
として機能させ、
前記機能付加プログラムは、所定の情報を前記ブラウザのデータ保存領域へ保存するとき、該情報を前記共有機器に提供した前記暗号鍵で暗号化し、前記データ保存領域に暗号化されて保存された前記所定の情報を取得するとき、暗号化された前記所定の情報を前記共有機器に提供した前記暗号鍵で復号するように、前記共有機器で動作する前記ブラウザを制御する
ことを特徴とするプログラム。
【請求項１２】
複数のユーザに共有して使用される共有機器と、該共有機器で動作するブラウザに情報を表示させるためのコンテンツを前記共有機器に提供する情報処理装置と、を有する情報処理システムにおいて実行される情報保護方法であって、
前記情報処理装置は、
前記ブラウザに機能を付加する機能付加プログラムを、前記共有機器に提供する提供ステップと、
前記共有機器を操作する前記ユーザの認証を行い、認証済みの前記ユーザと対応付けて管理する暗号鍵を、前記共有機器に提供する認証ステップと、
を有し、
前記共有機器は、
複数のユーザにより共有して使用される前記ブラウザのデータ保存領域を管理する領域管理ステップと、
所定の情報を前記ブラウザのデータ保存領域へ保存するとき、前記機能付加プログラムを実行し、該情報を前記情報処理装置から提供された前記暗号鍵で暗号化する暗号化ステップと、
前記データ保存領域に暗号化されて保存された前記所定の情報を取得するとき、前記機能付加プログラムを実行し、暗号化された前記所定の情報を前記情報処理装置から提供された前記暗号鍵で復号する復号ステップと、
を有する情報保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、情報処理装置、プログラム及び情報保護方法に関する。
【背景技術】
【０００２】
近年、ウェブブラウザには、ウェブブラウザ側でデータを永続的に保存するローカルストレージが実装されている。また、近年、ユーザがウェブブラウザを通してサービスを利用するウェブサービスも普及している。ウェブサービスではユーザのデータをユーザ認証により保護していた。
【０００３】
例えばＷｅｂアプリケーションを用いる通信装置において、ブラウザが保存するデータを暗号化し、暗号化されたデータを利用しようとするとき、ユーザ認証が正常に行われたら暗号化されたデータを復号してブラウザに提供する手法は従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ウェブブラウザがウェブサービスから取得したユーザのデータ（個人情報）をウェブブラウザのローカルストレージ（永続化領域）に保存する場合に、以下のような問題があった。
【０００５】
ウェブブラウザの永続化領域は例えば図１に示すようにウェブサービスのオリジン毎に共有されている。図１はウェブブラウザの永続化領域におけるデータ保存方法の一例を示す図である。なお、オリジンとはプロトコル、ドメイン名及びポート番号の組み合わせであり、例えば「ｈｔｔｐｓ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」である。
【０００６】
一つのウェブブラウザを共有する複数のユーザが同一のウェブサービスにアクセスした場合は、例えば図２に示すように、一人のユーザＡの個人情報を、もう一人のユーザＢが閲覧できてしまうという問題があった。図２は、あるユーザの個人情報を別のユーザが閲覧できる場合を示す図である。
【０００７】
ＰＣ上で動作するウェブブラウザでは、オペレーティングシステム（ＯＳ）でのログインユーザ毎にユーザのデータ保存領域が分かれているため、ウェブブラウザの永続化領域もユーザ毎に分かれていることが多い。したがって、図２に示したような問題は発生しにくい。
【０００８】
一方で、複合機やプロジェクタなどの複数のユーザで共有される電子機器上で動作するウェブブラウザでは、ログインユーザ毎にユーザのデータ保存領域が分かれていないことが多い。したがって、図２に示したような問題が生じる場合があった。このように、複数のユーザで共有される電子機器（共有機器）上で動作するウェブブラウザでは、ユーザの個人情報を永続化領域に保存するとセキュリティ上の問題があった。
【０００９】
本発明の実施の形態は、ブラウザのデータ保存領域に保存した情報のセキュリティを向上させる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本願請求項１は、複数のユーザに共有して使用される共有機器と、該共有機器で動作するブラウザに情報を表示させるためのコンテンツを前記共有機器に提供する情報処理装置と、を有する情報処理システムであって、前記情報処理装置は、前記共有機器を操作する前記ユーザの認証を行い、認証済みの前記ユーザと対応付けて管理する暗号鍵を、前記共有機器に提供する認証手段と、前記ブラウザに機能を付加する機能付加プログラムを、前記共有機器に提供する提供手段と、を有し、前記共有機器は、複数のユーザにより共有して使用される前記ブラウザのデータ保存領域を管理する領域管理手段と、所定の情報を前記ブラウザのデータ保存領域へ保存するとき、前記機能付加プログラムを実行し、該情報を前記情報処理装置から提供された前記暗号鍵で暗号化し、前記データ保存領域に暗号化されて保存された前記所定の情報を取得するとき、前記機能付加プログラムを実行し、暗号化された前記所定の情報を前記情報処理装置から提供された前記暗号鍵で復号する実行手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明の実施の形態によればブラウザのデータ保存領域に保存した情報のセキュリティを向上できる。
【図面の簡単な説明】
【００１２】
【図１】ウェブブラウザの永続化領域におけるデータ保存方法の一例を示す図である。
【図２】あるユーザの個人情報を別のユーザが閲覧できる場合を示す図である。
【図３】本実施形態に係る情報処理システムの一例の構成図である。
【図４】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図５】本実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図６】本実施形態に係るウェブサービスサーバ装置の一例の処理ブロック図である。
【図７】本実施形態に係る画像形成装置の一例の処理ブロック図である。
【図８】ブラウザ画面に表示される個人情報について説明する為の図である。
【図９】認証部が保持するユーザ認証情報テーブルの一例の構成図である。
【図１０】ユーザ機密情報管理部が保持するユーザ機密情報テーブルの一例の構成図である。
【図１１】永続化部が保持するユーザ機密情報テーブルの一例の構成図である。
【図１２】ウェブサービスにログインし、ユーザ機密情報以外のユーザページを表示するまでの処理の一例を表したシーケンス図である。
【図１３】ユーザ機密情報を含むユーザページの表示と、ウェブブラウザの永続化領域へのユーザ機密情報の保存と、を行う処理の一例を表したシーケンス図である。
【図１４】ウェブブラウザの永続化領域に保存された暗号化ユーザ機密情報を復号して利用する処理の一例を表したシーケンス図である。
【図１５】スクリプト実行部がユーザ機密情報を取得する処理の一例のフローチャートである。
【図１６】本実施形態に係る画像形成装置の他の例の処理ブロック図である。
【図１７】ユーザ秘密鍵をウェブブラウザの揮発性領域に保存する処理の一例を表したシーケンス図である。
【図１８】本実施形態に係る情報処理システムの他の例の構成図である。
【図１９】ユーザページの取得要求を受け付けたウェブアプリケーションの処理の一例を表したフローチャートである。
【図２０】ブラウザ画面に表示される個人情報の具体例を説明する為の図である。
【発明を実施するための形態】
【００１３】
次に、本発明の実施の形態について詳細に説明する。本実施形態では複数のユーザで共有される電子機器（共有機器）の一例として画像形成装置を例に説明するが、画像形成装置に限定するものではない。例えば共有機器はプロジェクタ、会議システム、テレビ、レコーダ、カメラ、電子黒板（ＩＷＢ）などであってもよい。
［第１の実施形態］
＜システム構成＞
図３は、本実施形態に係る情報処理システムの一例の構成図である。図３の情報処理システム１は、ＬＡＮやインターネットなどのネットワークＮ１を介して接続されたウェブサービスサーバ装置１０、画像形成装置１２を有する。ウェブサービスサーバ装置１０及び画像形成装置１２は無線又は有線による通信手段を有している。図３ではウェブサービスサーバ装置１０及び画像形成装置１２が１台である例を示しているが、複数台あってもよい。
【００１４】
ウェブサービスサーバ装置１０は一台以上の情報処理装置によって実現される。ウェブサービスサーバ装置１０は後述のウェブサービスを提供する。また、画像形成装置１２は複数のユーザにより共有される複合機やプロジェクタなどの電子機器（共有機器）の一例である。画像形成装置１２はプリンタ、コピー機、レーザプリンタ、電子黒板、テレビなどの共有機器であってもよい。なお、図３の情報処理システム１は一例であって、ウェブサービスサーバ装置１０が備える機能を複数台の情報処理装置で実現する構成であってもよい。
【００１５】
＜ハードウェア構成＞
図３のウェブサービスサーバ装置１０は、例えば図４に示すようなハードウェア構成のコンピュータにより実現される。図４は、本実施形態に係るコンピュータの一例のハードウェア構成図である。
【００１６】
図４に示したコンピュータ５００は、入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７、及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００１７】
入力装置５０１はキーボードやマウスなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイなどを含み、コンピュータ５００による処理結果を表示する。
【００１８】
通信Ｉ／Ｆ５０７はコンピュータ５００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００１９】
ＨＤＤ５０８はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータにはコンピュータ５００全体を制御する基本ソフトウェアであるＯＳや、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２０】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００２１】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ５０５には、コンピュータ５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２２】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００２３】
本実施形態に係るウェブサービスサーバ装置１０は上記のコンピュータ５００のハードウェア構成により後述するような各種処理を実現できる。
【００２４】
図３の画像形成装置１２は、例えば図５に示すハードウェア構成により実現される。図５は、本実施形態に係る画像形成装置の一例のハードウェア構成図である。図５に示した画像形成装置１２は、コントローラ６０１、操作パネル６０２、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。
【００２５】
コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００２６】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、画像形成装置１２全体の制御や機能を実現する。
【００２７】
操作パネル６０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ６０３は外部装置とのインタフェースである。外部装置には、記録媒体６０３ａなどがある。これにより、画像形成装置１２は外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２８】
通信Ｉ／Ｆ６０４は、画像形成装置１２をネットワークＮ１に接続するインタフェースである。これにより、画像形成装置１２は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。プリンタ６０５は、印刷データを用紙に印刷するための印刷装置である。スキャナ６０６は原稿から画像データ（電子データ）を読み取るための読取装置である。
【００２９】
＜ソフトウェア構成＞
《ウェブサービスサーバ装置》
本実施形態に係るウェブサービスサーバ装置１０は、例えば図６に示すような処理ブロックにより実現される。図６は本実施形態に係るウェブサービスサーバ装置の一例の処理ブロック図である。
【００３０】
ウェブサービスサーバ装置１０は通信部２０、ウェブアプリケーション２８を有する構成である。ウェブサービスサーバ装置１０は、ウェブアプリケーション２８を実行することにより、認証部２２、静的ファイル管理部２４、ユーザ機密情報管理部２６を実現している。
【００３１】
ウェブサービスサーバ装置１０の通信部２０はネットワークＮ１を介した画像形成装置１２との通信を実現する。ウェブサービスサーバ装置１０のウェブアプリケーション２８は通信部２０を介して画像形成装置１２と通信を行う。
【００３２】
ウェブアプリケーション２８の認証部２２は、ウェブサービスを利用するユーザの認証を行う。ユーザ認証はユーザＩＤ等のユーザ識別情報とパスワード等の秘密情報との組み合わせにより行うことができる。また、ユーザ認証は、ユーザが所有するＩＣカード情報を利用するものや、ユーザの生体情報を利用するもの、などがある。以下ではユーザＩＤとパスワードとの組み合わせにより行う一般的なユーザ認証を例に説明する。
【００３３】
認証部２２はユーザ認証が完了（正常終了）すると、その証明として認証チケットを画像形成装置１２に返す。認証チケットは後述のウェブブラウザにより管理されるＣｏｏｋｉｅなどが想定される。静的ファイル管理部２４はＨＴＭＬやＣＳＳ（カスケーディングスタイルシート）やＪａｖａＳｃｒｉｐｔ（登録商標）などのウェブページを表示するためのファイル（ウェブコンテンツ）を管理している。なお、ＪａｖａＳｃｒｉｐｔはスクリプト言語（簡易プログラミング言語）の一例である。
【００３４】
ユーザ機密情報管理部２６はユーザがウェブサービス上に保有しているデータ（個人情報）を管理する。ユーザ機密情報管理部２６に管理される個人情報は、その個人情報を保有しているユーザのみが更新、読み出し等の利用が可能である。例えばユーザＡがユーザＢの個人情報へアクセスすることはできない。
【００３５】
ユーザは自分の個人情報を利用する際に認証チケットが必要となる。ユーザ機密情報管理部２６は認証チケットによりユーザの正当性を判定する。なお、認証チケットの正当性の検証は認証部２２により行われる。
【００３６】
ユーザ機密情報管理部２６に管理される個人情報はウェブサービスにより様々な情報を想定できる。例えば購買サービスのウェブサービスの場合、ユーザ機密情報管理部２６に管理される個人情報はクレジットカード情報（例えばカード番号、有効期限など）や履歴情報（例えば購入履歴、閲覧履歴など）である。ウェブメールのウェブサービスの場合、ユーザ機密情報管理部２６に管理される個人情報はメール情報（例えば送信履歴、受信履歴など）である。翻訳サービスのウェブサービスの場合、ユーザ機密情報管理部２６に管理される個人情報は翻訳情報（例えば翻訳文の履歴など）である。
【００３７】
《画像形成装置》
本実施形態に係る画像形成装置１２は例えば図７に示すような処理ブロックにより実現される。図７は本実施形態に係る画像形成装置の一例の処理ブロック図である。なお、図７では画像形成装置１２に特有なプリンタ、スキャナなどの機能の処理ブロックを省略している。
【００３８】
画像形成装置１２は通信部３０、ウェブブラウザ４０を有する構成である。画像形成装置１２はウェブブラウザ４０を実行することにより、ブラウザエンジン部３２、描画部３４、スクリプト実行部３６、永続化部３８を実現している。
【００３９】
画像形成装置１２の通信部３０はネットワークＮ１を介したウェブサービスサーバ装置１０との通信を実現する。画像形成装置１２のウェブブラウザ４０は通信部３０を介してウェブサービスサーバ装置１０と通信を行う。つまり、ウェブサービスサーバ装置１０のウェブアプリケーション２８と画像形成装置１２のウェブブラウザ４０とはネットワークＮ１を介して通信を行う。
【００４０】
ウェブブラウザ４０のブラウザエンジン部３２はＨＴＴＰリクエストを介したＨＴＭＬやＣＳＳ、ＪａｖａＳｃｒｉｐｔなどのウェブコンテンツを取得する。ブラウザエンジン部３２は取得したウェブコンテンツの解析を行い、ブラウザ画面へ表示する描画情報を描画部３４に提供する。ブラウザエンジン部３２はウェブブラウザ４０全体の動作の管理も行う。描画部３４はウェブページなどの描画情報をブラウザ画面に表示する。
【００４１】
スクリプト実行部３６はウェブサービスサーバ装置１０から取得したウェブコンテンツに付加されていたＪａｖａＳｃｒｉｐｔなどのスクリプトを実行する。なお、スクリプトの内容はウェブサービスにより様々であるが、描画情報へ影響するものや、ウェブサービスサーバ装置１０からユーザのデータ（個人情報）を取得するものなど、がある。
【００４２】
また、スクリプトはウェブサービスサーバ装置１０から取得した個人情報をウェブブラウザ４０のローカルストレージ（永続化領域）に保存する指示や、永続化領域から個人情報を取得する指示なども行う。永続化部３８はスクリプト実行部３６から保存を指示された個人情報をウェブブラウザ４０の永続化領域に保存する。
【００４３】
例えばウェブブラウザ４０の永続化領域はウェブストレージと呼ばれるウェブブラウザ側でデータを保存する機能を利用できる。永続化領域に保存された個人情報は明示的に削除の指示があった場合に削除され、画像形成装置１２の電源オフやウェブブラウザ４０の終了などがあっても削除されない。
【００４４】
なお、永続化領域はスクリプトを取得したウェブサービスのオリジン毎に共有されているため、図２に示したように、あるユーザの個人情報を別のユーザが閲覧できてしまうというセキュリティ上の問題があった。そこで、スクリプト実行部３６はウェブブラウザ４０の永続化領域にユーザの個人情報を保存する際に、ウェブサービスサーバ装置１０から取得したユーザ秘密鍵により暗号化する。また、スクリプト実行部３６はウェブブラウザ４０の永続化領域からユーザの個人情報を取得する際に、ウェブサービスサーバ装置１０から取得したユーザ秘密鍵により復号する。
【００４５】
永続化領域に保存されている他のユーザの個人情報（ユーザ機密情報）は他のユーザのユーザ秘密鍵により暗号化されており、且つ、他のユーザのユーザ秘密鍵を入手しなければ復号できない。また、他のユーザのユーザ秘密鍵は、他のユーザＩＤ及びパスワードを入手してユーザ認証に成功しなければ取得できない。したがって、本実施形態の情報処理システム１では永続化領域が、スクリプトを取得したウェブサービスのオリジン毎に共有されていても、ユーザ毎のユーザ秘密鍵で暗号化したユーザ機密情報を永続化領域に保存することでセキュリティを向上できる。
【００４６】
なお、永続化領域に保存された個人情報は例えば図８に示すようにブラウザ画面に表示される。図８はブラウザ画面に表示される個人情報について説明する為の図である。ブラウザ画面１０００はウェブサービスのログイン画面の一例である。ユーザは画像形成装置１２に表示されたブラウザ画面１０００にユーザＩＤ及びパスワードを入力し、ログインを要求する。
【００４７】
ユーザ認証が完了（正常終了）すると、画像形成装置１２はウェブサービスサーバ装置１０から認証チケットを取得する。画像形成装置１２は認証チケットを利用し、個人情報の一例としてユーザ機密情報が含まれるブラウザ画面１００１を表示する。ブラウザ画面１００１の「ウェブサービス」や「ようこそｕｓｅｒ１」のような情報はＨＴＭＬやＣＳＳのファイルとしてウェブサービスサーバ装置１０のウェブアプリケーション２８から提供される。
【００４８】
なお、ブラウザ画面１００１の「ユーザ機密情報：ｕｓｅｒ１＿ｓｅｃｒｅｔ」のような個人情報はスクリプトによりウェブサービスサーバ装置１０のウェブアプリケーション２８から取得される。
【００４９】
図２０はブラウザ画面に表示される個人情報の具体例を説明する為の図である。例えば図２０（Ａ）のブラウザ画面１００１は個人情報がクレジットカード情報の例を示した画面例である。図２０（Ａ）のブラウザ画面１００１ではクレジットカード情報に含まれているカード番号と有効期限とが表示されている。また、例えば図２０（Ｂ）のブラウザ画面１００１は個人情報が履歴情報の例を示した画面例である。図２０（Ｂ）のブラウザ画面１００１では履歴情報に含まれている購入履歴が表示されている。
【００５０】
スクリプトは個人情報がウェブブラウザ４０の永続化領域に保存されている場合に永続化領域から個人情報を取得する。また、スクリプトは個人情報がウェブブラウザ４０の永続化領域に保存されていない場合に、ウェブサービスサーバ装置１０から個人情報を取得する。
【００５１】
《認証情報テーブル》
図９は認証部が保持するユーザ認証情報テーブルの一例の構成図である。図９のユーザ認証情報テーブルはユーザＩＤ、パスワード、認証チケット、ユーザ秘密鍵を有する構成である。ユーザＩＤはユーザを識別するためのユーザ識別情報の一例である。パスワードはユーザの秘密情報の一例である。なお、図９では説明のためにパスワードを平文で記載しているが、暗号化された状態のパスワードが記載される。
【００５２】
認証チケットはユーザ認証が完了（正常終了）したあと、ウェブサービスサーバ装置１０の認証部２２により発行されるものである。認証チケットはログインを行ったウェブブラウザ４０へのＨＴＴＰレスポンスに付加されることで、ウェブサービスサーバ装置１０から画像形成装置１２のウェブブラウザ４０に返される。
【００５３】
ユーザ秘密鍵はユーザ機密情報を暗号化／復号する際に使用する秘密鍵である。ユーザ秘密鍵はユーザがログインしたタイミングで認証部２２により生成される。なお、図９の認証チケット及びユーザ秘密鍵はユーザがウェブサービスからログアウトしたタイミングで図９のユーザ認証情報テーブルから破棄される。
【００５４】
図９に示したユーザ認証情報テーブルでは、ユーザＩＤ「ｕｓｅｒ１」及び「ｕｓｅｒ２」のユーザがログインしており、ユーザＩＤ「ｕｓｅｒ３」のユーザがログインしていない状態を表している。
【００５５】
ユーザＩＤ「ｕｓｅｒ３」のユーザがログインしていないため、図９のユーザ認証情報テーブルでは、ユーザＩＤ「ｕｓｅｒ３」の認証チケット及びユーザ秘密鍵が記載されていないことを表す「ｎｕｌｌ」となっている。
【００５６】
《ユーザ機密情報テーブル》
図１０は、ユーザ機密情報管理部が保持するユーザ機密情報テーブルの一例の構成図である。図１０のユーザ機密情報テーブルは、ユーザＩＤ、ユーザ機密情報を有する構成である。図１０に示すように、ユーザ機密情報はユーザＩＤと対応付けられてユーザ機密情報テーブルに保持される。ユーザ機密情報はユーザ機密情報テーブルにおいて対応付けられているユーザＩＤのユーザが利用可能である。
【００５７】
例えばユーザＩＤ「ｕｓｅｒ１」のユーザが自分のユーザ機密情報にアクセスする場合にはユーザ認証により取得した認証チケットが必要となる。したがって、ユーザＩＤ「ｕｓｅｒ１」のユーザはユーザＩＤ「ｕｓｅｒ２」のユーザＩＤ及びパスワードを入手しない限り、ユーザＩＤ「ｕｓｅｒ２」のユーザのユーザ機密情報にアクセスできない。
【００５８】
図１１は永続化部が保持するユーザ機密情報テーブルの一例の構成図である。図１１のユーザ機密情報テーブルはユーザＩＤ、暗号化ユーザ機密情報を有する構成である。暗号化ユーザ機密情報はウェブサービスサーバ装置１０のウェブアプリケーション２８から取得したユーザ秘密鍵により暗号化されたユーザ機密情報である。
【００５９】
図１１に示すように暗号化ユーザ機密情報はユーザＩＤと対応付けられてユーザ機密情報テーブルに保存される。暗号化ユーザ機密情報の復号にも、ウェブサービスサーバ装置１０のウェブアプリケーション２８から取得したユーザ秘密鍵が使用される。ここでは暗号化と復号に同一の鍵を利用する共通鍵暗号方式の例を説明したが、対象鍵暗号方式を利用してもよい。
【００６０】
＜処理の詳細＞
以下では、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００６１】
《ユーザ機密情報を永続化領域に保存する処理》
例えば本実施形態の情報処理システム１では図１２及び図１３に示す手順によりウェブサービスサーバ装置１０に保存されているユーザ機密情報をウェブブラウザ４０の永続化領域に保存する。
【００６２】
図１２はユーザが画像形成装置１２のウェブブラウザ４０からウェブサービスにログインし、ユーザ機密情報以外のユーザページを表示するまでの処理の一例を表したシーケンス図である。
【００６３】
図１３はユーザ機密情報を含むユーザページ（例えば図８のブラウザ画面１００１）の表示と、ウェブブラウザ４０の永続化領域へのユーザ機密情報の保存と、を行う処理の一例を表したシーケンス図である。
【００６４】
画像形成装置１２のウェブブラウザ４０はユーザからの操作により図１２のシーケンス図の処理を開始する。ステップＳ１０において、ウェブブラウザ４０のブラウザエンジン部３２はウェブサービスサーバ装置１０のウェブアプリケーション２８にログインページの取得要求を行う。
【００６５】
ステップＳ１１においてウェブアプリケーション２８は静的ファイル管理部２４からログインページのウェブコンテンツを取得し、ログインページのウェブコンテンツを画像形成装置１２のブラウザエンジン部３２に返す。ログインページのウェブコンテンツの取得方法は一般的なＨＴＴＰリクエストにより行うことができる。
【００６６】
ステップＳ１２においてブラウザエンジン部３２はウェブサービスサーバ装置１０から返されたＨＴＭＬやＣＳＳ等のウェブコンテンツの解析を行い、描画情報を作成する。ブラウザエンジン部３２は作成した描画情報を描画部３４に提供してログインページの描画を要求する。描画部３４は、提供された描画情報によりログインページを描画してブラウザ画面（例えば図８のブラウザ画面１０００）に表示する。
【００６７】
ユーザは、ログインページにユーザＩＤ、パスワードを入力してログインボタンを押下する。ステップＳ１３において、画像形成装置１２のブラウザエンジン部３２はユーザＩＤ、パスワードを付加したログイン要求を、ウェブサービスサーバ装置１０のウェブアプリケーション２８に対して行う。
【００６８】
ステップＳ１４において、ウェブアプリケーション２８は認証部２２にユーザＩＤ、パスワードの認証を要求する。ステップＳ１５において、認証部２２は図９に示したユーザ認証情報テーブルを参照し、ユーザＩＤ、パスワードの正当性を検証する。ユーザＩＤ、パスワードの正当性を検証できれば、認証部２２はユーザ認証を成功と判定する。ユーザ認証が成功すると、認証部２２は認証チケットを生成する。
【００６９】
また、ユーザ認証が成功すると、認証部２２はステップＳ１６においてユーザ秘密鍵を生成する。認証部２２はユーザ認証に成功したユーザＩＤ、パスワードと対応付けて認証チケット及びユーザ秘密鍵を図９のユーザ認証情報テーブルに保存する。
【００７０】
ウェブアプリケーション２８は生成した認証チケットを画像形成装置１２のウェブブラウザ４０へのＨＴＴＰレスポンスヘッダに付加して返す。また、ウェブアプリケーション２８はＨＴＴＰレスポンスとしてユーザページＵＲＬへのリダイレクトを画像形成装置１２のウェブブラウザ４０に指示する。
【００７１】
ステップＳ１７において、ブラウザエンジン部３２はウェブサービスサーバ装置１０のウェブアプリケーション２８から返された認証チケットを、ウェブブラウザ４０のＣｏｏｋｉｅ保存場所に保存する。認証チケットをウェブブラウザ４０のＣｏｏｋｉｅ保存場所に保存する処理は一般的なウェブブラウザ４０の挙動である。
【００７２】
ステップＳ１８においてブラウザエンジン部３２はウェブアプリケーション２８から指示されたユーザページＵＲＬへのリダイレクト処理を実行する。具体的に、ブラウザエンジン部３２は認証チケットを付加したユーザページの取得要求を、ウェブサービスサーバ装置１０のウェブアプリケーション２８に対して行う。
【００７３】
ステップＳ１９において、ウェブアプリケーション２８は認証部２２に認証チケットの確認を要求する。認証部２２は図９に示したユーザ認証情報テーブルを参照し、確認を要求された認証チケットがユーザ認証情報テーブルに有れば正当なユーザと判定する。図１２では正当なユーザと判定された例を示している。認証部２２は判定の結果をウェブアプリケーション２８に返す。
【００７４】
正当なユーザとの判定の結果に基づき、ウェブアプリケーション２８は静的ファイル管理部２４からユーザページのウェブコンテンツを取得し、ユーザページのウェブコンテンツを画像形成装置１２のブラウザエンジン部３２に返す。なお、正当なユーザと判定されなかった場合には、ユーザページのウェブコンテンツを画像形成装置１２のブラウザエンジン部３２に返さない。
【００７５】
ステップＳ２１においてブラウザエンジン部３２はウェブサービスサーバ装置１０から返されたＨＴＭＬやＣＳＳ等のウェブコンテンツの解析を行い、描画情報を作成する。ブラウザエンジン部３２は作成した描画情報を描画部３４に提供してユーザページの描画を要求する。描画部３４は、提供された描画情報によりユーザページを描画してブラウザ画面に表示する。
【００７６】
また、ステップＳ２１の処理と平行してブラウザエンジン部３２は図１３のステップＳ３１において、ウェブサービスサーバ装置１０から返されたウェブコンテンツに含まれていたＪａｖａＳｃｒｉｐｔの実行をスクリプト実行部３６に指示する。ステップＳ３１の指示にはユーザＩＤ、認証チケットが付加される。また、ステップＳ３１で実行を指示されたＪａｖａＳｃｒｉｐｔはユーザ機密情報をユーザページに描画するスクリプトであるものとする。
【００７７】
ステップＳ３２においてスクリプト実行部３６は、認証チケットに対応するユーザ秘密鍵の取得をウェブサービスサーバ装置１０のウェブアプリケーション２８に要求する。ステップＳ３３においてウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵の取得を認証部２２に要求する。認証部２２は図９に示したユーザ認証情報テーブルを参照して、認証チケットに対応するユーザ秘密鍵をウェブアプリケーション２８に返す。
【００７８】
ウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵を画像形成装置１２のスクリプト実行部３６に返す。ステップＳ３４においてスクリプト実行部３６は永続化領域からのユーザ機密情報の取得を以下のように試みる。ステップＳ３５においてスクリプト実行部３６は、ユーザＩＤを指定して図１１の暗号化ユーザ機密情報の取得を永続化部３８に要求する。ここでは永続化領域に暗号化ユーザ機密情報が保存されていない例を示す。
【００７９】
暗号化ユーザ機密情報なしの応答を永続化部３８から返されると、スクリプト実行部３６はステップＳ３６に進む。スクリプト実行部３６は認証チケットに対応するユーザ機密情報の取得をウェブサービスサーバ装置１０のウェブアプリケーション２８に要求する。
【００８０】
ステップＳ３７において、ウェブアプリケーション２８は認証部２２に認証チケットの確認を要求する。認証部２２は図９に示したユーザ認証情報テーブルを参照し、確認を要求された認証チケットがユーザ認証情報テーブルに有れば正当なユーザと判定する。図１３では正当なユーザと判定された例を示している。認証部２２は判定の結果をウェブアプリケーション２８に返す。
【００８１】
正当なユーザとの判定の結果に基づき、ウェブアプリケーション２８はユーザ機密情報管理部２６からユーザ機密情報を取得し、画像形成装置１２のスクリプト実行部３６に返す。なお、正当なユーザと判定されなかった場合には、ユーザ機密情報を画像形成装置１２のスクリプト実行部３６に返さない。
【００８２】
ステップＳ３９において、スクリプト実行部３６はユーザ機密情報をユーザ秘密鍵で暗号化する。暗号化の方式は共通鍵暗号方式であるＤＥＳ（Data Encryption Standard）やＡＥＳ（Advanced Encryption Standard）が想定される。
【００８３】
ステップＳ４０において、スクリプト実行部３６は暗号化したユーザ機密情報を暗号化ユーザ機密情報として永続化領域に保存するように永続化部３８に要求する。永続化部３８は図１１のユーザ機密情報テーブルに示すように、キーをユーザＩＤ、バリューを暗号化ユーザ機密情報としたキーバリュー形式で永続化領域に保存する。
【００８４】
ステップＳ４１において、スクリプト実行部３６はウェブサービスサーバ装置１０から返されたユーザ機密情報の描画を描画部３４に要求する。描画部３４は要求されたユーザ機密情報をユーザページに描画する。
【００８５】
《永続化領域に保存されたユーザ機密情報を利用する処理》
例えば本実施形態の情報処理システム１では図１４に示す手順によりウェブブラウザ４０の永続化領域に保存された暗号化ユーザ機密情報を復号して利用する。図１４はウェブブラウザの永続化領域に保存された暗号化ユーザ機密情報を復号して利用する処理の一例を表したシーケンス図である。
【００８６】
ここでは図１２及び図１３に示した手順によりウェブサービスを利用したユーザが再びウェブサービスを利用する場合を想定する。なお、図１４のシーケンス図に示す処理の前に図１２に示した手順によりユーザ機密情報以外のユーザページを表示する。
【００８７】
ブラウザエンジン部３２はステップＳ５１において、ウェブサービスサーバ装置１０から返されたウェブコンテンツに含まれていたＪａｖａＳｃｒｉｐｔの実行をスクリプト実行部３６に指示する。ステップＳ５１の指示にはユーザＩＤ、認証チケットが付加されている。また、ステップＳ５１で実行を指示されたＪａｖａＳｃｒｉｐｔはユーザ機密情報をユーザページに描画するスクリプトであるものとする。
【００８８】
ステップＳ５２においてスクリプト実行部３６は、認証チケットに対応するユーザ秘密鍵の取得をウェブサービスサーバ装置１０のウェブアプリケーション２８に要求する。ステップＳ５３においてウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵の取得を認証部２２に要求する。認証部２２は図９に示したユーザ認証情報テーブルを参照して、認証チケットに対応するユーザ秘密鍵をウェブアプリケーション２８に返す。
【００８９】
ウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵を画像形成装置１２のスクリプト実行部３６に返す。ステップＳ５４においてスクリプト実行部３６は永続化領域からのユーザ機密情報の取得を以下のように試みる。ステップＳ５５においてスクリプト実行部３６は、ユーザＩＤを指定して図１１の暗号化ユーザ機密情報の取得を永続化部３８に要求する。
【００９０】
ここでは永続化領域に暗号化ユーザ機密情報が保存されている例を示す。永続化部３８はユーザＩＤをキーとして図１１のユーザ機密情報テーブルからバリューの暗号化ユーザ機密情報を取得する。
【００９１】
ステップＳ５６において、スクリプト実行部３６は暗号化ユーザ機密情報をユーザ秘密鍵で復号する。ステップＳ５７においてスクリプト実行部３６は復号したユーザ機密情報の描画を描画部３４に要求する。描画部３４は要求されたユーザ機密情報をユーザページに描画する。
【００９２】
《スクリプト実行部がユーザ機密情報を取得する処理》
図１５はスクリプト実行部がユーザ機密情報を取得する処理の一例のフローチャートである。ステップＳ６１においてスクリプト実行部３６は、ユーザ秘密鍵をウェブサービスサーバ装置１０のウェブアプリケーション２８から取得する。
【００９３】
ステップＳ６２において、スクリプト実行部３６は、ユーザＩＤを指定して図１１の暗号化ユーザ機密情報の取得を永続化部３８に要求する。暗号化ユーザ機密情報を取得できれば（Ｓ６３においてＹｅｓ）、スクリプト実行部３６はステップＳ６４において暗号化ユーザ機密情報をユーザ秘密鍵で復号する。
【００９４】
暗号化ユーザ機密情報を取得できなければ（Ｓ６３においてＮｏ）、スクリプト実行部３６はステップＳ６５に進み、ウェブサービスサーバ装置１０からユーザ機密情報を取得する。ステップＳ６６において、スクリプト実行部３６はユーザ機密情報をユーザ秘密鍵で暗号化する。
【００９５】
ステップＳ６７において、スクリプト実行部３６は暗号化したユーザ機密情報を暗号化ユーザ機密情報として永続化領域に保存するように永続化部３８に要求し、暗号化ユーザ機密情報を永続化領域に保存する。
【００９６】
＜まとめ＞
本実施形態の情報処理システム１では、ウェブブラウザ４０の永続化領域にユーザ機密情報を保存する際に、ウェブサービスサーバ装置１０から取得したユーザ秘密鍵で暗号化する。また、本実施形態の情報処理システム１ではウェブブラウザ４０の永続化領域からユーザ機密情報を取得する際に、ウェブサービスサーバ装置１０から取得したユーザ秘密鍵で復号する。
【００９７】
したがって、ユーザは画像形成装置１２のウェブブラウザ４０から他のユーザと同一のウェブサービスを利用したとしても、他のユーザが永続化領域に保存している他のユーザの暗号化ユーザ機密情報を復号して閲覧できない。例えば本実施形態の情報処理システム１では、画像形成装置１２のような共有機器上で動作するウェブブラウザ４０を用いた際に、ユーザ認証が必要となるウェブサービスに保存されている情報を、暗号化してウェブブラウザ４０の永続化領域に保存できる。
【００９８】
例えば画像形成装置１２のような複数のユーザで共有される電子機器（共有機器）上で動作するウェブブラウザでは、ログインユーザ毎にユーザのデータ保存領域が分かれていないことが多い。これは、共有機器で行われるログインが共有機器を使用するために行うログインであって、ＯＳのログインでないため、ログインユーザ毎にデータ保存領域をＯＳレベルで分けることが困難であるためである。
【００９９】
このため、本実施形態の情報処理システム１ではログインユーザ毎にユーザのデータ保存領域を分けるのではなく、ウェブブラウザのデータ保存領域に保存した情報の暗号化によりセキュリティを向上させている。
【０１００】
本実施形態の情報処理システム１では、画像形成装置１２上で動作するウェブブラウザ４０の永続化領域に保存した情報のセキュリティを向上させることができる。
［第２の実施形態］
第１の実施形態では永続化領域からのユーザ機密情報の取得を試みる前に、ユーザ秘密鍵をウェブサービスサーバ装置１０から取得していた。第２の実施形態ではウェブサービスサーバ装置１０から取得したユーザ秘密鍵をウェブブラウザ４０の揮発性領域に保存することで通信回数を低減している。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【０１０１】
例えばウェブブラウザ４０の揮発性領域はウェブストレージと呼ばれるウェブブラウザ４０側でデータを保存するセッションストレージを利用できる。セッションストレージはウェブブラウザ４０のウィンドウごとのセッションで有効なストレージである。ウィンドウやタブが開いている間、セッションストレージはデータを保存し、ウィンドウやタブが閉じられるとデータを削除する。
【０１０２】
なお、ウェブブラウザ４０の永続化領域は、ウェブストレージと呼ばれるウェブブラウザ側でデータを保存するローカルストレージを利用できる。ローカルストレージはウェブブラウザ４０を利用するユーザのデータを永続的に保存するストレージである。
【０１０３】
＜ソフトウェア構成＞
《画像形成装置》
本実施形態に係る画像形成装置１２は例えば図１６に示すような処理ブロックにより実現される。図１６は本実施形態に係る画像形成装置の他の例の処理ブロック図である。図１６では画像形成装置１２に特有なプリンタ、スキャナなどの機能の処理ブロックを省略している。
【０１０４】
図１６に示した画像形成装置１２は、図７の画像形成装置１２のウェブブラウザ４０に揮発性データ保管部４２を追加した構成である。揮発性データ保管部４２は揮発性領域にデータを保存する。
【０１０５】
＜処理の詳細＞
第２の実施形態の情報処理システム１では図１７に示した手順でユーザ秘密鍵をウェブブラウザ４０の揮発性領域に保存する。図１７はユーザ秘密鍵をウェブブラウザの揮発性領域に保存する処理の一例を表したシーケンス図である。なお、図１７のシーケンス図に示す処理の前に、図１２の手順によりユーザ機密情報以外のユーザページを表示する。
【０１０６】
ブラウザエンジン部３２はステップＳ８１において、ウェブサービスサーバ装置１０から返されたウェブコンテンツに含まれていたＪａｖａＳｃｒｉｐｔの実行をスクリプト実行部３６に指示する。
【０１０７】
ステップＳ８１の指示にはユーザＩＤ、認証チケットが付加される。また、ステップＳ８１で実行を指示されたＪａｖａＳｃｒｉｐｔはユーザ機密情報をユーザページに描画するスクリプトであるものとする。
【０１０８】
ステップＳ８２においてスクリプト実行部３６はユーザＩＤを指定してユーザ秘密鍵の取得を揮発性データ保管部４２に要求する。ここでは揮発性領域にユーザ秘密鍵が保存されていない例を示す。
【０１０９】
ユーザ秘密鍵なしの応答を揮発性データ保管部４２から返されると、スクリプト実行部３６はステップＳ８３において、認証チケットに対応するユーザ秘密鍵の取得をウェブサービスサーバ装置１０のウェブアプリケーション２８に要求する。ステップＳ８４においてウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵の取得を認証部２２に要求する。認証部２２は図９のユーザ認証情報テーブルを参照して、認証チケットに対応するユーザ秘密鍵をウェブアプリケーション２８に返す。
【０１１０】
ウェブアプリケーション２８は認証チケットに対応するユーザ秘密鍵を画像形成装置１２のスクリプト実行部３６に返す。ステップＳ８５において、スクリプト実行部３６は認証チケットを暗号鍵としてユーザ秘密鍵を共通暗号鍵方式で暗号化する。ステップＳ８６において、スクリプト実行部３６は暗号化したユーザ秘密鍵を揮発性領域に保存するように揮発性データ保管部４２に要求する。揮発性データ保管部４２はキーをユーザＩＤ、バリューを暗号化したユーザ秘密鍵としたキーバリュー形式で揮発性領域に保存する。
【０１１１】
ステップＳ８６の処理の後には、図１３のステップＳ３４〜Ｓ４１、又は、図１４のステップＳ５４〜Ｓ５７の処理を行うが、説明を省略する。また、揮発性領域にユーザ秘密鍵が保存されている例はステップＳ８７以降である。
【０１１２】
ブラウザエンジン部３２はステップＳ８７において、ウェブサービスサーバ装置１０から返されたウェブコンテンツに含まれていたＪａｖａＳｃｒｉｐｔの実行をスクリプト実行部３６に指示する。ステップＳ８７で実行を指示されたＪａｖａＳｃｒｉｐｔはユーザ機密情報をユーザページに描画するスクリプトであるものとする。
【０１１３】
ステップＳ８８においてスクリプト実行部３６はユーザＩＤを指定してユーザ秘密鍵の取得を揮発性データ保管部４２に要求する。すると、揮発性データ保管部４２はユーザＩＤをキーとしてバリューの暗号化されたユーザ秘密鍵を取得する。ステップＳ８９においてスクリプト実行部３６は暗号化されたユーザ秘密鍵を認証チケットで復号する。
【０１１４】
また、ステップＳ８９の処理の後には、図１３のステップＳ３４〜Ｓ４１、又は、図１４のステップＳ５４〜Ｓ５７の処理を行うが、説明を省略する。
【０１１５】
第２の実施形態ではユーザ秘密鍵を認証チケットで暗号化したあとでウェブブラウザ４０の揮発性領域に保存する。ユーザ秘密鍵を認証チケットで暗号化することにより、第２の実施形態ではユーザがウェブブラウザ４０で利用している認証チケットの有効期限が切れた時点で暗号化されたユーザ秘密鍵が復号できなくなる。
【０１１６】
このため、第２の実施形態ではユーザ秘密鍵をウェブブラウザ４０の揮発性領域に保存する期間とウェブブラウザ４０がウェブサービスにログインしている期間（認証チケットを保持している期間）とが同等となる。第２の実施形態は認証チケットの有効期限が切れた状態でのユーザ秘密鍵の利用を禁止するものであり、共有機器におけるセキュリティを向上できる。
［第３の実施形態］
第１及び第２の実施形態では図３に示したようにウェブサービスサーバ装置１０と画像形成装置１２とを有する情報処理システム１を例として説明した。第３の実施形態は図１８に示すように、図３の情報処理システム１の構成にＰＣ１４を追加している。
【０１１７】
上述したように、ＰＣ１４上で動作するウェブブラウザ４０はＯＳでのログインユーザ毎にユーザのデータ保存領域が分かれていることが多く、ウェブブラウザ４０の永続化領域もユーザ毎に分かれていることが多い。したがって、ＰＣ１４上で動作するウェブブラウザ４０の永続化領域に、ウェブサービスサーバ装置１０に保存されているユーザ機密情報を保存する場合は、上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔをＰＣ１４に送信しなくてもよい。
【０１１８】
そこで、第３の実施形態ではユーザページの取得を要求する要求元が画像形成装置１２のような共有機器であるか、又は、ＰＣ１４であるか、を判別し、共有機器である場合に上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔを送信する。例えば共有機器であるか、又は、ＰＣ１４であるか、の判別は例えばウェブブラウザ４０からの要求（リクエスト）のヘッダを確認することで判別できる。一般的に、ウェブブラウザ４０はリクエストを送信する際、自身が何者かを示す「Ｕｓｅｒ−Ａｇｅｎｔ」ヘッダを付与するため、この「Ｕｓｅｒ−Ａｇｅｎｔ」ヘッダにより共有機器であるか、又は、ＰＣ１４であるか、を判別できる。
【０１１９】
図１９はユーザページの取得要求を受け付けたウェブアプリケーションの処理の一例を表したフローチャートである。ステップＳ９１において、ウェブアプリケーション２８はユーザページの取得要求を受信する。
【０１２０】
ステップＳ９２においてウェブアプリケーション２８は認証部２２に認証チケットの確認を要求し、正当なユーザか否かを判定する。正当なユーザであれば（ステップＳ９２においてＹｅｓ）、ウェブアプリケーション２８はユーザページの取得を要求する要求元をステップＳ９３において確認する。
【０１２１】
ユーザページの取得を要求する要求元が共有機器であれば（ステップＳ９４においてＹｅｓ）、ウェブアプリケーション２８はステップＳ９５に進む。ウェブアプリケーション２８はステップＳ９５において、上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔをユーザページのウェブコンテンツに付加する。ステップＳ９６においてウェブアプリケーション２８は、上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔを付加されたユーザページのウェブコンテンツを画像形成装置１２に返す。
【０１２２】
なお、ステップＳ９２において正当なユーザでないと判定すれば（ステップＳ９２においてＮｏ）、ウェブアプリケーション２８は図１９の処理を終了する。また、ステップＳ９４においてユーザページの取得を要求する要求元が共有機器でなければ（ステップＳ９４においてＮｏ）、ウェブアプリケーション２８はステップＳ９５の処理をスキップしてステップＳ９６に進む。
【０１２３】
なお、ステップＳ９５の処理をスキップした場合、ウェブアプリケーション２８は上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔを付加されていないユーザページのウェブコンテンツを画像形成装置１２に返す。
【０１２４】
このように、第３の実施形態ではユーザページの取得を要求する要求元が共有機器である場合に、上記したユーザ機密情報をユーザページに描画するＪａｖａＳｃｒｉｐｔを付加されたユーザページのウェブコンテンツを画像形成装置１２に提供できる。
【０１２５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１２６】
認証部２２は特許請求の範囲に記載した認証手段の一例である。静的ファイル管理部２４は提供手段の一例である。永続化部３８は領域管理手段の一例である。スクリプト実行部３６は実行手段の一例である。静的ファイル管理部２４が管理しているＪａｖａＳｃｒｉｐｔは機能付加プログラムの一例である。
【０１２７】
永続化領域は永続化データ保存領域の一例である。揮発性領域は、揮発的に情報を保存するブラウザの揮発データ保存領域の一例である。認証チケットはユーザが認証済みであることを示す証明情報の一例である。
【符号の説明】
【０１２８】
１      情報処理システム
１０    ウェブサービスサーバ装置
１２    画像形成装置
１４    ＰＣ
２０、３０    通信部
２２    認証部
２４    静的ファイル管理部
２６    ユーザ機密情報管理部
２８    ウェブアプリケーション
３２    ブラウザエンジン部
３４    描画部
３６    スクリプト実行部
３８    永続化部
４０    ウェブブラウザ
４２    揮発性データ保管部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
６０１    コントローラ
６０２    操作パネル
６０３    外部Ｉ／Ｆ
６０３ａ    記録媒体
６０４    通信Ｉ／Ｆ
６０５    プリンタ
６０６    スキャナ
６１１    ＣＰＵ
６１２    ＲＡＭ
６１３    ＲＯＭ
６１４    ＮＶＲＡＭ
６１５    ＨＤＤ
１０００、１００１    ブラウザ画面
Ｂ    バス
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２０１０−２５７２８９号公報
【図１】
2017004494.tif 000003
【図２】
2017004494.tif 000004
【図３】
2017004494.tif 000005
【図４】
2017004494.tif 000006
【図５】
2017004494.tif 000007
【図６】
2017004494.tif 000008
【図７】
2017004494.tif 000009
【図８】
2017004494.tif 000010
【図９】
2017004494.tif 000011
【図１０】
2017004494.tif 000012
【図１１】
2017004494.tif 000013
【図１２】
2017004494.tif 000014
【図１３】
2017004494.tif 000015
【図１４】
2017004494.tif 000016
【図１５】
2017004494.tif 000017
【図１６】
2017004494.tif 000018
【図１７】
2017004494.tif 000019
【図１８】
2017004494.tif 000020
【図１９】
2017004494.tif 000021
【図２０】
2017004494.tif 000022