(57)【要約】【課題】Ｗｅｂアプリケーションを用いる通信装置のセキュリティと利便性とを両立する。【解決手段】通信装置は、オンラインにおいては、サーバからデータを受信して利用し、オフラインにおいては過去に受信したデータを利用するブラウザと、前記ブラウザが保存する前記データを暗号化する暗号化手段と、前記ブラウザが、前記暗号化手段により暗号化された前記データを利用しようとするとき、ユーザ認証を行う認証手段と、前記認証手段により前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する復号手段と、を有する。【選択図】図１
2010257289.tif 000002
【特許請求の範囲】
【請求項１】
オンラインにおいては、サーバからデータを受信して利用し、オフラインにおいては過去に受信したデータを利用するブラウザと、
前記ブラウザが保存する前記データを暗号化する暗号化手段と、
前記ブラウザが、前記暗号化手段により暗号化された前記データを利用しようとするとき、ユーザ認証を行う認証手段と、
前記認証手段により前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する復号手段と、
を有する通信装置。
【請求項２】
前記暗号化手段は、前記ブラウザ上のスクリプトプログラムが保存する前記データを暗号化する、請求項１に記載の通信装置。
【請求項３】
前記ブラウザが保存するデータが暗号化対象のデータであるか否かを規定するルールが予め定められており、
前記暗号化手段は、前記ブラウザが保存するデータが、該ルールに規定された暗号化対象のデータであれば、該データを暗号化する、請求項１又は２に記載の通信装置。
【請求項４】
前記ブラウザが実行されている間に、前記ブラウザにより最後のデータが保存されてから所定の時間が経過したとき、前記ブラウザを強制的に終了するブラウザ制御手段を更に有する、請求項３に記載の通信装置。
【請求項５】
前記ルールは、暗号化する対象のデータごとに、前記ブラウザにより該データが保存されてから前記ブラウザを強制的に終了するまでの時間を規定し、
前記ブラウザ制御手段は、最後のデータが保存されてから前記ルールの規定する、該最後のデータに対応する時間が経過したときに、前記ブラウザを強制的に終了する、請求項４に記載の通信装置。
【請求項６】
前記暗号化手段は、前記ブラウザが終了するときに、前記ルールに規定されたデータを暗号化する、請求項３乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記認証手段により前記ユーザ認証が正常に行われなければ、エラーメッセージを前記ブラウザへ通知する通知手段を更に有する、請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
暗号化手段は、ブラウザが保存する前記データを暗号化し、
認証手段は、前記ブラウザが、前記暗号化手段により暗号化された前記データを利用しようとするとき、ユーザ認証を行い、
復号手段は、前記認証手段により前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する、通信装置の制御方法。
【請求項９】
コンピュータに、
ブラウザが保存する前記データを暗号化する暗号化手順、
前記ブラウザが、前記暗号化手順で暗号化された前記データを利用しようとするとき、ユーザ認証を行う認証手順、
前記認証手順で前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する復号手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフライン環境でＷｅｂアプリケーションを利用する技術に関する。
【背景技術】
【０００２】
ＷｅｂアプリケーションはＷｅｂブラウザさえあれば、どこでも利用できるというメリットがある。しかし、Ｗｅｂアプリケーションには、常に通信のできる環境でないと、そのＷｅｂアプリケーションは利用できないというデメリットがあった。特に、携帯電話装置等の無線環境で通信を行う端末装置においては、通信の断絶が頻繁に発生するため、Ｗｅｂアプリケーションを使えなくなることが多かった。
【０００３】
そこで、Ｗｅｂアプリケーションをオフラインで実行する基盤が提供されている。ＨＴＭＬ（Hyper Text Markup Language）５標準規格やGears(登録商標)などといった技術では、ブラウザの機能を拡張して、Ｗｅｂアプリケーションがデータベースを利用したり、コンテンツの一時保存を可能にしたりすることでオフライン環境でもＷｅｂアプリケーションを実行することを可能としている。
【０００４】
ところが、オフライン環境でＷｅｂアプリケーションを実行することを可能にすると、オンライン時にＷｅｂアプリケーションをセキュリティで保護していても、オフラインで、そのＷｅｂアプリケーションを第三者が利用可能となってしまう。このため、オフラインにおいて第三者が不正にＷｅｂアプリケーションを再利用したり、有用なデータを盗み出したりする危険がある。
【０００５】
そこで、特許文献１に開示されたアプリケーション提供システムは、Ｗｅｂアプリケーションが終了する時に、端末内にダウンロードされたＷｅｂアプリケーションのデータ部分を自動的に削除している。このデータ削除により、アプリケーション提供システムは、Ｗｅｂアプリケーションの再利用を防止している。
【０００６】
また、特許文献２に開示されたネットワークシステムは、プロキシサーバが、ユーザパスワードを用いて、ネット上の閲覧情報を暗号化してキャッシュに保存しておき、そのユーザパスワードを使用して復号している。この暗号化、復号により、オフラインでＷｅｂアプリケーションを利用したときに、キャッシュ内にデータが保存されても、ネットワークシステムは、キャッシュ内容を本人だけが利用できるようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１５６５８号公報
【特許文献２】特開２００３−１３１９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示されたシステムは、Ｗｅｂアプリケーションが終了時にデータ部分を削除してしまう。このため、オフラインでも利用できるＷｅｂアプリケーションについて、特許文献１に記載の発明を適用すると、第三者のみならず、権限を有するユーザであっても、オフラインでは、端末（通信装置）でＷｅｂアプリケーションを利用できなくなってしまう。このため、セキュリティが向上するものの、システムの利便性が低下するという問題があった。
【０００９】
また、特許文献２に開示されたネットワークシステムでは、ユーザがブラウザのプロキシ設定を無効に設定していた場合は、ブラウザが受信したデータが暗号化されないままキャッシュに保存される。そうすると、第三者が、キャッシュ内のデータを利用できてしまう。このため、ブラウザの設定内容によっては、セキュリティが維持できないという問題があった。
【００１０】
本発明は、ブラウザの設定内容に関わらず、Ｗｅｂアプリケーションをオフラインで用いる通信装置のセキュリティと利便性とを両立する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の通信装置は、オンラインにおいては、サーバからデータを受信して利用し、オフラインにおいては過去に受信したデータを利用するブラウザと、前記ブラウザが保存する前記データを暗号化する暗号化手段と、前記ブラウザが、前記暗号化手段により暗号化された前記データを利用しようとするとき、ユーザ認証を行う認証手段と、前記認証手段により前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する復号手段と、を有する。
【００１２】
本発明の通信装置の制御方法は、暗号化手段は、ブラウザが保存する前記データを暗号化し、認証手段は、前記ブラウザが、前記暗号化手段により暗号化された前記データを利用しようとするとき、ユーザ認証を行い、復号手段は、前記認証手段により前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する、通信装置の制御方法である。
【００１３】
本発明のプログラムは、コンピュータに、ブラウザが保存する前記データを暗号化する暗号化手順、前記ブラウザが、前記暗号化手順で暗号化された前記データを利用しようとするとき、ユーザ認証を行う認証手順、前記認証手順で前記ユーザ認証が正常に行われたら、暗号化された前記データを復号して前記ブラウザに提供する復号手順、を実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、通信装置は、オンラインにおいてブラウザが保存するデータを暗号化し、その暗号化されたデータをブラウザが利用するときにユーザ認証を行い、ユーザ認証が正常に行われたならば、そのデータを復号するので、第三者が、暗号化されたデータを参照できなくなる結果セキュリティが向上する。また、データが削除されないのでユーザは、オフラインでもＷｅｂアプリケーションを利用でき、通信端末の利便性が向上する。プロキシ設定も不要であるから、ブラウザの設定内容に関わらず、セキュリティを維持できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態の通信システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態の暗号化ルールの設定例を示す図である。
【図３】本発明の第１の実施形態の通信端末の動作を示すフローチャートである。
【図４】本発明の第１の実施形態の暗号化処理を示すフローチャートである。
【図５】本発明の第１の実施形態の認証処理を示すフローチャートである。
【図６】本発明の第１の実施形態の復号処理を示すフローチャートである。
【図７】本発明の第２の実施形態の通信端末の構成を示すブロック図である。
【図８】本発明の第２の実施形態の暗号化ルールの設定例を示す図である。
【図９】本発明の第２の実施形態の暗号化処理を示すフローチャートである。
【図１０】本発明の第２の実施形態のブラウザ強制終了処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
（第１の実施形態）
本発明を実施するための第１の実施形態について図面を参照して詳細に説明する。図１は、本実施形態の通信システム１の構成を示すブロック図である。同図を参照すると、通信システム１は、Ｗｅｂサーバ１０、および通信端末２０を有する。
【００１７】
Ｗｅｂサーバ１０は、Ｗｅｂアプリケーションによる所定のサービスを提供するＷｅｂサーバである。Ｗｅｂサーバ１０は、サーバアプリケーション１０１、記憶部１０２、およびＨＴＴＰ（Hypertext Transfer Protocol）サーバ機能部１０３を有する。
【００１８】
ここで、Ｗｅｂアプリケーションとは、例えば、電子掲示板、ブログ、オンラインバンキング、オンライントレード、ショッピングカート等を利用するためのソフトウェアである。
【００１９】
サーバアプリケーション１０１は、Ｗｅｂアプリケーションのサーバ側のプログラムであり、通信端末２０により発行されたリクエストを処理する各種のプログラムから構成される。これらのプログラムは、例えばＣＧＩ(Common Gateway Interface)によってＨＴＴＰサーバ機能部１０３から起動されるプログラムであり、Perl、PHP、Rubyといった言語によって記述される。一般的に、検索処理やデータの書き込み処理のような動的な処理が必要なリクエストに対してはサーバアプリケーション１０１が起動され、サーバアプリケーション１０１は、処理結果をレスポンスとして通信端末２０へ送信する。
【００２０】
記憶部１０２には、通信端末２０によって発行されたリクエストに対し、レスポンスとして送信するデータが保存される。一般的にＨＴＭＬデータや画像データのように静的なデータが、記憶部１０２に格納される。
【００２１】
ＨＴＴＰサーバ機能部１０３は、ＨＴＴＰサーバプログラムを有し、このＨＴＴＰサーバプログラムの実行によりＨＴＴＰサーバ機能を提供する。通信端末２０によって発行されたＨＴＴＰリクエストに対してレスポンスを送信する。ＨＴＴＰサーバ機能部１０３は、受信したＨＴＴＰリクエストにおいて指定されたＵＲＬ(Uniform Resource Locator)に応じて、サーバアプリケーション１０１に処理を行わせてその結果をレスポンスとして送信する。また、ＨＴＴＰサーバ機能部１０３は、ＨＴＴＰリクエストに応じて、記憶部１０２からデータを読み出してそのデータをレスポンスとして送信する。
【００２２】
通信端末２０は、携帯電話装置やＰＤＡ（Personal Digital Assistant）のような通信装置であり、有機ＥＬ（Electro Luminescence）や液晶パネルによって構成された表示装置（不図示）と、キーボードやタッチパネルなどの入力装置（不図示）とを備えている。
【００２３】
通信端末２０は、Ｗｅｂブラウザ２０１、データアクセス監視部２０２、記憶部２０３、およびユーザ認証部２０４を有する。
【００２４】
記憶部２０３には、JavaScriptプログラム２０３１、暗号化ルール２０３２、データ保存領域２０３３、およびデータベース２０３４が格納される。
【００２５】
Ｗｅｂブラウザ２０１は、オフライン機能を有するブラウザである。Ｗｅｂブラウザ２０１は、レンダリングエンジン２０１１、スクリプトエンジン２０１２、およびデータアクセス部２０１３を有する。
【００２６】
レンダリングエンジン２０１１は、ＨＴＭＬデータや画像データを処理して、その内容を表示するためのソフトウェアである。
【００２７】
スクリプトエンジン２０１２は、JavaScript、VBScriptなどで記述されたスクリプトプログラムを実行するためのソフトウェアである。本実施形態では、スクリプトエンジン２０１２は、通信端末２０に保存したJavaScriptプログラム２０３１や、Ｗｅｂサーバ１０側のスクリプトプログラムを実行する。
【００２８】
JavaScriptプログラム２０３１は、Ｗｅｂアプリケーションのオフライン機能を提供するためのプログラムである。JavaScriptプログラム２０３１は、例えば、Ｗｅｂサーバ１０からダウンロードされ、記憶部２０３に格納される。
【００２９】
スクリプトエンジン２０１２により実行されたスクリプトプログラムは、データアクセス部２０１３に対し、Ｗｅｂサーバ１０から受信したＨＴＭLデータや画像データの記憶部２０３への書き込みを要求する。また、通信端末２０側のJavaScriptプログラム２０３１は、オフラインにおいて、データアクセス部２０１３に対し、記憶部２０３に記録されたデータの読み出しを要求する。
【００３０】
データアクセス部２０１３は、スクリプトエンジン２０１２により実行されたスクリプトプログラムの書き込み要求に応じて、データアクセス監視部２０２を介して記憶部２０３にアクセスする。データアクセス部２０１３は、アクセスの後、受信されたデータを、データアクセス監視部２０２を介して記憶部２０３に記録する。
【００３１】
また、データアクセス部２０１３は、JavaScriptプログラム２０３１の読み出し要求に応じて、データアクセス監視部２０２を介して、記憶部２０３にアクセスする。データアクセス部２０１３は、アクセスの後、データアクセス監視部２０２を介して要求されたデータを、記憶部２０３から読み出す。
【００３２】
Ｗｅｂブラウザ２０１は、Ｗｅｂサーバ１０と通信することにより、Ｗｅｂサーバ１０からＷｅｂアプリケーションのコンテンツを取得する。このコンテンツには、JavaScriptプログラム２０３１や画像データが含まれ、このプログラムは、記憶部２０３に格納される。
【００３３】
Ｗｅｂブラウザ２０１は、取得したコンテンツの種類に応じて、レンダリングエンジン２０１１を使用して画像データに基づく表示を行ったり、スクリプトエンジン２０１２を使用してスクリプトプログラムを実行したりする。
【００３４】
データアクセス監視部２０２は、暗号化部２０２１および復号部２０２２を有する。暗号化部２０２１は、データアクセス部２０１３が、データの書き込みのために記憶部２０３にアクセスしたとき、書き込まれるデータを必要に応じて暗号化する。
【００３５】
例えば、暗号化部２０２１は、暗号化対象の判断基準を記述した暗号化ルール２０３２に従って、データを暗号化する。暗号化ルール２０３２に記載の内容については、図２において後述する。
【００３６】
復号部２０２２は、データアクセス部２０１３が、暗号化されたデータの読み出しのために記憶部２０３にアクセスしたとき、ユーザ認証部２０４によるユーザの認証が成功していたか否かを判断する。ユーザの認証が成功していれば、復号部２０２２は、そのデータを復号する。
【００３７】
データ保存領域２０３３は、Ｗｅｂブラウザ２０１が、ファイルを書き込むための領域であり、データベース２０３４は、データアクセス部２０１３が、構造化されたデータを格納するための領域である。
【００３８】
ユーザ認証部２０４は、ユーザがＷｅｂブラウザ２０１を起動して、Ｗｅｂアプリケーションの利用を開始するときに、暗号化されたデータが記憶部２０３に格納されていれば、ユーザ認証を行う。
【００３９】
ユーザ認証部２０４は、例えば、ユーザ名とパスワードを入力するための画面を表示し、入力されたユーザ名等が正当であるか否かを判断することにより、ユーザを認証する。ユーザ認証部２０４は、ユーザ認証の成否を復号部２０２２へ通知する。
【００４０】
図２は、暗号化ルール２０３２に記述されるルールの一例を示す表である。同図に示すように、暗号化ルール２０３２には、「対象サイト」と「暗号化対象」とが対応付けて記載される。
【００４１】
「対象サイト」は、Ｗｅｂブラウザ２０１が、データをダウンロードするためにアクセスするサイトのドメイン名である。「暗号化対象」は、暗号化する対象のデータの種類である。
【００４２】
例えば、対象サイトが「www.nec.com」であれば、「全てのデータ」が暗号化対象とされる。対象サイトが「xxxxxx.com」であれば、「secret.html」のファイル、または「全てのデータベース書き込み」が暗号化対象とされる。
【００４３】
暗号化ルール２０３２は秘密情報を指定するためのルールであり、Ｗｅｂアプリケーションの提供者が設定を行うことも、ユーザが設定を行うことも可能である。
【００４４】
続いて、図３〜図６を参照して、通信端末２０の動作について説明する。図３は、通信端末２０の動作を示すフローチャートである。この動作は、通信端末２０の電源が投入され、ユーザによりＷｅｂブラウザ２０１が起動されたときに開始する。
【００４５】
通信端末２０は、自身がネットワークに接続されている状態（オンライン）であるか否かを判断する（ステップＳ１）。オンラインであれば（ステップＳ１：ＹＥＳ）、通信端末２０は、暗号化処理（ステップＳ３）を実行する。
【００４６】
オフラインであれば（ステップＳ１：ＮＯ）、通信端末２０は、認証処理（ステップＳ５）、および復号処理（ステップＳ７）を実行する。ステップＳ３、またはＳ７の後、通信端末２０は、動作を終了する。
【００４７】
図４は、暗号化処理を示すフローチャートである。同図を参照すると、Ｗｅｂブラウザ２０１は、ユーザの操作に従って、Ｗｅｂサーバ１０などのサーバに接続し、そのサーバからデータを受信する（ステップＳ３１）。
【００４８】
このとき、どのようなデータを受信するかは、ユーザの利用するＷｅｂアプリケーションによって異なる。例えばＨＴＭＬやJavaScriptのファイル、または画像データなどであったり、検索の結果を格納したＸＭＬ(eXtensible Markup Language)やＪＳＯＮ(JavaScript Object Notation)などの構造化データであったりする。
【００４９】
Ｗｅｂブラウザ２０１は、受け取ったデータに基づいて、表示を変更したり、JavaScriptプログラムを実行して所定の処理を行ったりする（ステップＳ３２）。
【００５０】
Ｗｅｂブラウザ２０１上で動作するスクリプトプログラムの指示により、データアクセス監視部２０２に対し、データの保存要求が発行される（ステップＳ３３）。
【００５１】
この要求はデータベース２０３４への書き込み要求であったり、ステップＳ１１で取得したファイルのデータ保存領域２０３３への保存要求であったりするが、どちらの場合でもデータアクセス監視部２０２が要求を受け取り、処理を行う。
【００５２】
データアクセス監視部２０２は、受け取ったデータ保存要求に対して、暗号化ルール２０３２を参照して、要求にかかるデータが、暗号化対象のデータである否かを判断する（ステップＳ３４)。
【００５３】
暗号化対象のデータであれば（ステップＳ３４：ＹＥＳ）、データアクセス監視部２０２は、データアクセス監視部２０２は、要求にかかるデータを暗号化する(ステップＳ３５)。
【００５４】
データアクセス監視部２０２は、現在実行中のＷｅｂアプリケーションで、どのデータが暗号化されたかをユーザ認証部２０４に通知する（ステップＳ３６）。
【００５５】
ここで、データアクセス監視部２０２は、自身のみが参照できる領域に保持されている鍵を、暗号化の際に使用する。
【００５６】
要求にかかるデータが、暗号化対象のデータでない場合（ステップＳ３４：ＮＯ）、または、ステップＳ３６の後、データアクセス監視部２０２は、ステップＳ１５で暗号化されたデータ、または暗号化されていないデータを、データ保存領域２０３３やデータベース２０３４に保存する(ステップＳ３６)。ステップＳ３６の後、通信端末２０は、暗号化処理を終了する。
【００５７】
図５は、認証処理を示すフローチャートである。同図を参照すると、まず、Ｗｅｂブラウザ２０１上で、オフラインでも利用できるＷｅｂアプリケーション（JavaScriptプログラム２０３１）が実行される（ステップＳ５１）。
【００５８】
ユーザ認証部２０４は、ステップＳ３６におけるデータアクセス監視部２０２からの通知を参照して、Ｗｅｂアプリケーションが利用するデータが暗号化されているか否かを判断する(ステップＳ５２)。
【００５９】
データが暗号化されていれば（ステップＳ５２：ＹＥＳ）、ユーザ認証部２０４は、ユーザ認証を開始する（ステップＳ５３）。
【００６０】
ユーザ認証部２０４は、ユーザ認証の方法として、パスワードの入力や指紋認証、顔認証など一般的なユーザ認証方法を利用できる。また、ユーザ認証部２０４は、専用のアプリケーションを起動して認証を要求する方式や、Ｗｅｂブラウザ２０１からＷｅｂサーバに対するＨＴＴＰリクエストをフックして認証を要求するページを端末内で生成して表示するという方式を利用できる。
【００６１】
ユーザ認証部２０４は、ユーザ認証が成功したか否かを判断する（ステップＳ５４）。ユーザ認証に成功したならば（ステップＳ５４：ＹＥＳ）、ユーザ認証部２０４は、そのデータの復号を許可する旨をデータアクセス監視部２０２へ通知する（ステップＳ５５）。
【００６２】
データが暗号化されていない場合（ステップＳ５２：ＮＯ）、ユーザ認証に失敗した場合（ステップＳ５４：ＮＯ）、またはステップＳ５５の後、ユーザ認証部２０４は、認証処理を終了する。
【００６３】
図６は、復号処理を示すフローチャートである。同図を参照すると、Ｗｅｂブラウザ２０１上で動作するJavaScriptプログラム２０３１の指示により、データアクセス監視部２０２に対し、データの参照要求が発行される（ステップＳ７１）。
【００６４】
この要求はデータベース２０３４へのクエリであったり、データ保存領域２０３３に保存されたファイルに対する読み込み要求であったりするが、どちらの場合でもデータアクセス監視部２０２が要求を受け取り、処理を行う。
【００６５】
データアクセス監視部２０２は、要求にかかるデータをデータ保存領域２０３３またはデータベース２０３４から読み出す（ステップＳ７２）。
【００６６】
データアクセス監視部２０２は、読み出したデータが暗号化されているか否かを判断する(ステップＳ７３)。
【００６７】
データが暗号化されていれば（ステップＳ７３：ＹＥＳ）、データアクセス監視部２０２は、ユーザ認証部２０４から、データの復号を許可する旨が通知されたか否かを判断する（ステップＳ７４）。
【００６８】
復号を許可する旨が通知されていれば（ステップＳ７４：ＹＥＳ）、データアクセス監視部２０２は、暗号化されたデータを復号する（ステップＳ７５）。
【００６９】
データが暗号化されていない場合（ステップＳ７３：ＮＯ）、またはステップＳ７５の後、データアクセス監視部２０２は、読み出したデータをＷｅｂブラウザ２０１へ渡す（ステップＳ７６）。
【００７０】
復号を許可する旨が通知されていなければ（ステップＳ７４：ＮＯ）、データアクセス監視部２０２は、Ｗｅｂブラウザ２０１にデータ参照エラーのメッセージを通知する。また、データアクセス監視部２０２は、そのＷｅｂアプリケーションのデータ参照が許可されていない旨のメッセージを画面に表示する（ステップＳ７７）。ステップＳ７６またはステップＳ７７の後、通信端末２０は、復号処理を終了する。
【００７１】
なお、本実施形態では、ユーザ認証部２０４は、オフラインにおいて、Ｗｅｂブラウザ２０１起動したときにユーザ認証を行っているが、オフラインに加え、オンラインにおいて、Ｗｅｂブラウザ２０１が起動したときに、ユーザ認証を行ってもよい。復号処理についても同様である。
【００７２】
また、本実施形態では、ユーザ認証部２０４は、復号を許可するか否かの通知しか行っていない。しかし、複数のユーザを想定して、ユーザ認証部２０４は、暗号化対象のデータごとに別個のユーザ認証を行い、どのデータについて復号許可されているのかを通知する構成としてもよい。
【００７３】
暗号化ルール２０３２には、暗号化対象のデータの種類のほか、データごとに使用する暗号化アルゴリズムや、認証用データ（例えば、ユーザ名やパスワード）などを記載することもできる。
【００７４】
本実施形態では、通信端末２０は、図４のステップＳ３２において実行されるJavaScriptプログラム２０３１の指示により、保存要求が発行されたデータに対して暗号化を行う構成としている。しかし、Ｗｅｂブラウザ２０１が、ユーザの操作にしたがって画像データやＨＴＭＬデータを保存する場合など、スクリプトプログラムを実行せずにデータを保存する場合においても、通信端末２０は、データの暗号化を行ってもよい。
【００７５】
本実施形態では、記憶部２０３が本発明の記憶部に相当し、Ｗｅｂブラウザ２０１が本発明のブラウザに相当する。暗号化部２０２１が本発明の暗号化手段に相当し、復号部２０２２が本発明の復号手段に相当する。ユーザ認証部２０４が本発明の認証手段に相当し、通信端末２０が本発明の通信装置に相当する。暗号化ルール２０３２が本発明のルールに相当する。
【００７６】
以上説明したように、本実施形態によれば、通信装置は、オンラインにおいてブラウザが保存するデータを暗号化し、その暗号化されたデータをブラウザが利用するときにユーザ認証を行い、ユーザ認証が正常に行われたならば、そのデータを復号する。第三者が、ユーザ認証に成功しない限り、暗号化されたデータを参照できなくなるので、セキュリティが向上する。また、データが削除されず、ユーザは、オフラインでもＷｅｂアプリケーション（JavaScriptプログラム２０３１）を利用でき、システムの利便性が向上する。また、プロキシ設定が不要であるから、ブラウザの設定に関わらず、通信装置は、セキュリティを維持できる。
【００７７】
通信装置は、保存するデータが暗号化対象のデータであるか否かの判断基準を定めたルールを参照して、データを書き込む部分をフックして自動的にデータの暗号化を行うので、ユーザが利用するＷｅｂアプリケーションの種類にかかわらず、データを暗号化することができる。
【００７８】
（第２の実施形態）
本発明の第２の実施形態について、図７〜図１０を参照して説明する。図７は、本実施形態の通信端末２０ａの構成を示すブロック図である。
【００７９】
第１の実施形態の構成では、ユーザがＷｅｂブラウザを起動したままの状態で端末を紛失し、その通信端末を第三者が拾った場合には、その第三者が、起動中のＷｅｂアプリケーションで使用されるデータを参照できてしまうという問題があった。
【００８０】
本実施形態の通信端末２０ａは、最後に、暗号化対象のデータを書き込んでから所定時間が経過したときに、Ｗｅｂブラウザ２０１を強制終了させる点で第1の実施形態と異なる。
【００８１】
図７を参照すると、通信端末２０ａは、暗号化部２０２１、暗号化ルール２０３２の代わりに暗号化部２０２１ａ、暗号化ルール２０３２ａを設け、記憶部２０３において、タイマーモジュール２０３５を更に設けた以外は、第１の実施形態の通信端末２０と同様の構成である。
【００８２】
暗号化ルール２０３２ａには、暗号化対象のデータごとに、Ｗｅｂブラウザ２０１を強制終了させて、そのデータを暗号化するタイミングが更に記載される。
【００８３】
暗号化部２０２１ａは、保存要求にかかるデータが、暗号化対象のデータであれば、そのデータに対応するタイミングを暗号化ルール２０３２ａから読み出す。暗号化部２０２１ａは、データを暗号化しないで保存し、読み出した時間をタイマーモジュール２０３５に設定する。
【００８４】
暗号化部２０２１ａは、設定した時間が経過したとき、Ｗｅｂブラウザ２０１を強制的に終了するとともに、暗号化対象のデータを暗号化する。
【００８５】
図８は、暗号化ルール２０３２ａに記述されるルールの一例を示す表である。同図を参照すると、暗号化ルール２０３２ａには、「対象サイト」および「暗号化対象」に対応付けて、更に「強制終了タイミング」が記載される。
【００８６】
「強制終了タイミング」は、データアクセス監視部２０２が、暗号化対象のデータを記憶部２０３に書き込んでから、Ｗｅｂブラウザ２０１を強制的に終了してデータを暗号化するまでの時間である。
【００８７】
例えば、「www.nec.com」のサイトから受信したデータが記憶部２０３に書き込まれた場合、書き込みから１０分後にＷｅｂブラウザ２０１が強制終了され、そのデータが暗号化される。「xxxxxx.com」のサイトから受信したデータが記憶部２０３に書き込まれた場合、書き込みから３０分後にＷｅｂブラウザ２０１が強制終了され、そのデータが暗号化される。
【００８８】
「強制終了タイミング」の長さは、データの重要度や、参照されるデータ量などに応じて定められる。例えば、重要度の高いデータほど、短い時間を設定しておく。
【００８９】
図９は、本実施形態の暗号化処理を示すフローチャートである。同図を参照すると、本実施形態の暗号化処理は、ステップＳ３５の代わりにステップＳ３５ａを実行し、ステップＳ３８〜Ｓ４０を更に実行する以外は、第１の実施形態の暗号化処理と同様である。
【００９０】
暗号化対象のデータであれば（ステップＳ３４：ＹＥＳ）、データアクセス監視部２０２は、要求にかかるデータに暗号化フラグを付加する(ステップＳ３５ａ)。
【００９１】
データアクセス監視部２０２は、現在実行中のＷｅｂアプリケーションで、どのデータが暗号化されるかをユーザ認証部２０４に通知する（ステップＳ３６）。
【００９２】
または、ステップＳ１６の後、データアクセス監視部２０２は、要求にかかるデータを暗号化しないまま、データ保存領域２０３３やデータベース２０３４に保存する(ステップＳ３７)。
【００９３】
データアクセス監視部２０２は、暗号化フラグを付加したデータに対応する「終了タイミング」を暗号化ルール２０３２ａから読み出し、タイマーモジュール２０３５に、その時間を設定する。例えば、データアクセス監視部２０２は、初期状態はオフで、設定時間経過後にオンとなるオンタイマーに時間を設定する（ステップＳ３８）。
【００９４】
タイマーに時間が設定されたのち、更に暗号化対象のデータが書き込まれた場合は、その時点でタイマーは初期化され、そのデータに対応する時間がタイマーに設定される。つまり、最後のデータが記録されたときから、そのデータに対応する時間が経過したときに、Ｗｅｂブラウザ２０１が強制終了される。
【００９５】
暗号化対象のデータでなければ（ステップＳ３４：ＮＯ）、データアクセス監視部２０２は、データ保存領域２０３３やデータベース２０３４に保存する(ステップＳ３９)。
【００９６】
ステップＳ３８またはＳ３９の後、データアクセス監視部２０２は、ブラウザ強制終了処理を実行する（ステップＳ４０）。
【００９７】
図１０は、ブラウザ強制終了処理を示すフローチャートである。同図を参照すると、データアクセス監視部２０２は、Ｗｅｂブラウザ２０１が終了したか否かを判断する（ステップＳ４０１）。
【００９８】
Ｗｅｂブラウザ２０１が終了していなければ（ステップＳ４０１：ＮＯ）、データアクセス監視部２０２は、ステップＳ３８で設定したタイマーがオンとなっているか否かを判断する（ステップＳ４０２）。
【００９９】
タイマーがオンでなければ（ステップＳ４０２：ＮＯ）、データアクセス監視部２０２は、ステップＳ４０１に戻る。タイマーがオンであれば（ステップＳ４０２：ＹＥＳ）、データアクセス監視部２０２は、Ｗｅｂブラウザ２０１を強制的に終了する（ステップＳ４０３）。
【０１００】
Ｗｅｂブラウザ２０１が終了している場合（ステップＳ４０１：ＹＥＳ）、またはステップＳ４０３の後、データアクセス監視部２０２は、暗号化フラグが付加されたデータ保存領域２０３３またはデータベース２０３４に記録されているか否かを判断する（ステップＳ４０４）。
【０１０１】
暗号化フラグが付加されたデータがあれば（ステップＳ４０４：ＹＥＳ）、データアクセス監視部２０２は、それらのデータを暗号化して更新する（ステップＳ４０５）。
【０１０２】
暗号化フラグが付加されたデータがない場合（ステップＳ４０４：ＮＯ）、またはステップＳ４０５の後、データアクセス監視部２０２は、ブラウザ強制終了処理を終了する。
【０１０３】
なお、本実施形態では、通信端末２０は、Ｗｅｂブラウザ２０１起動中は、暗号化せず、Ｗｅｂブラウザ２０１が終了してから暗号化している。しかし、通信端末２０は、第１の実施形態と同様にＷｅｂブラウザ２０１起動中において、データを暗号化しておき、暗号化してから設定時間経過後に、Ｗｅｂブラウザ２０１を強制終了する構成としてもよい。
【０１０４】
また、本実施形態では、Ｗｅｂブラウザ２０１実行中は、通信端末２０は、暗号化フラグを付加しておき、Ｗｅｂブラウザ２０１が終了時に、そのデータを暗号化する構成としている。しかし、Ｗｅｂブラウザ２０１が終了時に暗号化対象のデータが特定できるのであれば、通信端末２０は、暗号化フラグを付加しなくてもよい。例えば、通信端末２０は、所定の領域に暗号化対象のデータを蓄積しておき、Ｗｅｂブラウザ２０１が終了時に、その領域内のデータを暗号化する構成としてもよい。
【０１０５】
本実施形態では、最後にデータが保存されたときから、設定時間が経過したときにＷｅｂブラウザ２０１を強制終了する構成としている。しかし、暗号化ルール２０３２ａにおいて、暗号化対象のデータごとに、データの重要性に応じた優先度を更に設定しておき、通信端末２０は、優先度の高いデータが暗号化されてから、それより優先度の低いデータが暗号化された場合、タイマーモジュールをクリアしない構成とすることもできる。
【０１０６】
以上説明したように、本実施形態によれば、設定時間経過後にブラウザを強制的に終了するので、ブラウザを起動したまま、通信装置を紛失することによるセキュリティ上の課題を解決し、ユーザ認証によるＷｅｂアプリケーションのデータ保護を保障することが可能になる。
【０１０７】
ブラウザが起動中において、通信装置が暗号処理を実行すると、暗号処理による負荷のため、レスポンスが低下することがある。しかし、本実施形態ではブラウザが起動中は、暗号化対象のデータを暗号化しないので、ブラウザ起動中における、ブラウザの処理負荷が軽減される。
【０１０８】
本発明によれば、オフライン実行が有効であり、かつセキュリティ向上が求められるＷｅｂアプリケーション、すなわちＷｅｂアプリケーション版のオフィスソフトウェアスイートやＷｅｂ版の業務システムといった用途に適用できる。
【符号の説明】
【０１０９】
１    通信システム
１０    Ｗｅｂサーバ
２０    通信端末
１０１    サーバアプリケーション
１０２    記憶部
１０３    ＨＴＴＰサーバ機能部
２０１    Ｗｅｂブラウザ
２０２    データアクセス監視部
２０３    記憶部
２０４    ユーザ認証部
２０１１    レンダリングエンジン
２０１２    スクリプトエンジン
２０１３    データアクセス部
２０２１、２０２１ａ    暗号化部
２０２２    復号部
２０３１    JavaScriptプログラム
２０３２、２０３２ａ    暗号化ルール
２０３３    データ保存領域
２０３４    データベース
２０３５    タイマーモジュール
Ｓ１〜Ｓ７、Ｓ３１〜Ｓ４０、Ｓ５１〜Ｓ５５、Ｓ７１〜Ｓ７６、Ｓ４０１〜Ｓ４０５    ステップ
【図１】
2010257289.tif 000003
【図２】
2010257289.tif 000004
【図３】
2010257289.tif 000005
【図４】
2010257289.tif 000006
【図５】
2010257289.tif 000007
【図６】
2010257289.tif 000008
【図７】
2010257289.tif 000009
【図８】
2010257289.tif 000010
【図９】
2010257289.tif 000011
【図１０】
2010257289.tif 000012