(58)【調査した分野】(Int.Cl.,DB名)
互いに内容に関連性を有する第1の保管対象データと第2の保管対象データを、前記第1の保管対象データを第1の鍵によって暗号化した第1の暗号化済データと、前記第2の保管対象データを第2の鍵によって暗号化した第2の暗号化済データを、更に第1の鍵で暗号化した第3の暗号化済データと、として保管する暗号化情報保管システムであって、
前記第1の暗号化済データと、前記第3の暗号化済データと、を保持する暗号化済データ記憶部と、
前記第1の保管対象データと、前記第2の保管対象データと、前記第1の鍵と、前記第2の鍵と、の入力を受け付ける入力受付手段と、
前記第1の鍵を用いた前記第1の保管対象データの暗号化による前記第1の暗号化済データの生成と、前記第2の鍵を用いた前記第2の保管対象データの暗号化による前記第2の暗号化済データの生成と、前記第1の鍵を用いた前記第2の暗号化済データの暗号化による前記第3の暗号化済データの生成と、を行う暗号化手段と、
前記第1の暗号化済データ及び前記第3の暗号化済データを前記暗号化済データ記憶部へと記録する記録手段と、
前記第1の鍵を用いた前記第1の暗号化済データの復号化による前記第1の保管対象データの復元と、前記第1の鍵を用いた前記第3の暗号化済データの復号化による前記第2の暗号化済データの復元と、前記第2の鍵を用いた前記第2の暗号化済データの復号化による前記第2の保管対象データの復元と、を行う復号化手段と、
前記第1の保管対象データの出力と、前記第2の保管対象データの出力と、を行う出力手段と、を備えることを特徴とする、暗号化情報保管システム。
前記第1の保管対象データが、前記第2の保管対象データを連想させるヒント情報であることを特徴とする、請求項1から請求項4の何れかに記載の暗号化情報保管システム。
互いに内容に関連性を有する第1の保管対象データと第2の保管対象データを、前記第1の保管対象データを第1の鍵を用いて暗号化した第1の暗号化済データと、前記第2の保管対象データを第2の鍵で暗号化した第2の暗号化済データを、更に前記第1の鍵で暗号化した第3の暗号化済データと、として保管する暗号化情報保管システムからの保管対象データの取り出し方法であって、
前記第1の鍵の入力を受け付ける第1の入力受付ステップと、
前記第1の鍵を用いて前記第1の暗号化済データを復号化し、前記第1の保管対象データを復元する第1の復号化ステップと、
前記第1の保管対象データを出力する第1の出力ステップと、
前記第2の鍵の入力を受け付ける第2の入力受付ステップと、
前記第1の鍵を用いて前記第3の暗号化済データを復号化し、前記第2の暗号化済データを復元する第2の復号化ステップと、
前記第2の鍵を用いて前記第2の暗号化済データを復号化し、前記第2の保管対象データを復元する第3の復号化ステップと、
前記第2の保管対象データを出力する第2の出力ステップと、を備えることを特徴とする、データの取り出し方法。
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述したサービスやサイトごとのユーザIDとパスワードといったような、組にして利用する必要のあるデータは、その保管に際しても、一組のデータとして保管することが合理的である。
【0009】
しかし、その場合、保管していたデータが不正に取得されると、ユーザIDとパスワードが共に漏れてしまうため、不正に利用されてしまうリスクが高まるという問題がある。
【0010】
また、ユーザIDはサービス内容によっては通常の利用において他のユーザの目に触れる場合もあるが、パスワードがユーザ本人以外の目に触れることはない、といったように、重要度の異なるデータを組にして扱うことが多い。
【0011】
そこで、本発明では、重要度の異なる、内容の関連した複数のデータの保管や取り出しを安全に行うことができる、暗号化情報保管システムを提供することを課題とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明に係る暗号化情報保管システムは、
互いに内容に関連性を有する第1の保管対象データ及び第2の保管対象データを、前記第1の保管対象データを第1の鍵によって暗号化した第1の暗号化済データと、前記第2の保管対象データを第2の鍵によって暗号化した第2の暗号化済データを、更に第1の鍵で暗号化した第3の暗号化済データと、として保管する暗号化情報保管システムであって、
前記第1の暗号化済データと、前記第3の暗号化済データと、を保持する暗号化済データ記憶部と、
前記第1の保管対象データと、前記第2の保管対象データと、前記第1の鍵と、前記第2の鍵と、の入力を受け付ける入力受付手段と、
前記第1の鍵を用いた前記第1の保管対象データの暗号化による前記第1の暗号化済データの生成と、前記第2の鍵を用いた前記第2の保管対象データの暗号化による前記第2の暗号化済データの生成と、前記第1の鍵を用いた前記第2の暗号化済データの暗号化による前記第3の暗号化済データの生成と、を行う暗号化手段と、
前記第1の暗号化済データ及び前記第3の暗号化済データを前記暗号化済データ記憶部へと記録する記録手段と、
前記第1の鍵を用いた前記第1の暗号化済データの復号化による前記第1の保管対象データの復元と、前記第1の鍵を用いた前記第3の暗号化済データの復号化による前記第2の暗号化済データの復元と、前記第2の鍵を用いた前記第2の暗号化済データの復号化による前記第2の保管対象データの復元と、を行う復号化手段と、
前記第1の保管対象データの出力と、前記第2の保管対象データの出力と、を行う出力手段と、を備えることを特徴とする。
【0013】
このように、関連性を有する2つの保管対象データについて、一方は第1の鍵による暗号化を行い、他方は第1及び第2の鍵による2重の暗号化を行う構成とすることにより、重要度の異なる複数のデータの管理を効率的に行うことができる。これにより、例えば、ウェブサイトなどにログインするためのユーザIDとパスワードといったような、関連する情報の組について、パスワードをユーザIDよりも強固に保護して保管する、といった利用が可能となる。
【0014】
本発明の好ましい形態では、前記入力受付手段が、第3の保管対象データの入力を受け付け、
前記記録手段が、前記第3の保管対象データを前記暗号化済データ記憶部に記録し、
前記出力手段が、前記第3の保管対象データを出力することを特徴とする。
このように、平文状態保管する保管対象データをさらに追加することで、鍵のヒントを付与して鍵の紛失を防止する、といった利用をすることができる。
【0015】
本発明の好ましい形態では、前記暗号化情報保管システムが、暗号化情報保管サーバ装置と、ユーザ端末装置とがネットワークを介して通信可能に構成されるものであって、
前記ユーザ端末装置が、前記暗号化手段と、前記復号化手段と、を有することを特徴とする。
このように、ユーザ端末装置上で暗号化/復号化を行い、ネットワークを介した鍵の送受信を行わない構成とすることにより、第3者による鍵の不正取得のリスクなどを低減することができる。
【0016】
本発明の好ましい形態では、前記暗号化手段及び前記復号化手段が、前記ユーザ端末装置上で動作するスクリプトによって実現するものであって、
前記出力手段が、前記スクリプトの内容の出力を行うことを特徴とする。
このように、暗号化/復号化の処理をスクリプトで行い、その内容をユーザへと開示することによって、ユーザは暗号化/復号化の処理にあたって、鍵や暗号化前、復号化後のデータがネットワークを介して送受信されていないことを確認することができる。これにより、暗号化/復号化の処理に際して不正な情報の取得などがなされていないことを確実なものとし、ユーザは安心して本発明に係る暗号化情報保管システムを利用することができる。
【0017】
本発明の好ましい形態では、前記第1の保管対象データが、前記第2の保管対象データを連想させるヒント情報であることを特徴とする。
このような構成とすることにより、ユーザが第1の保管対象データを参照した時点で、その内容を基に第2の保管対象データを想起することができれば、より強固に暗号化して保管する、すなわち、より重要度の高いデータである第2の保管対象データの復号化や表示を行わずとも、ユーザは必要な情報を得ることができる。そのため、保管対象データを表示した際の情報漏洩のリスクを低減することができる。
【0018】
本発明の好ましい形態では、前記第1の保管対象データが、前記第2の鍵を連想させるヒント情報であることを特徴とする。
このように、第1の保管対象データを第2の保管対象データの復号に用いる第2の鍵のヒント情報とすることによって、第1及び第2の複数の鍵を用いながらも、鍵の紛失のリスクを低減することができる。
【0019】
本発明に係るデータの取り出し方法は、
互いに内容に関連性を有する第1の保管対象データと第2の保管対象データを、前記第1の保管対象データを第1の鍵を用いて暗号化した第1の暗号化済データと、前記第2の保管対象データを第2の鍵で暗号化した第2の暗号化済データを、更に前記第1の鍵で暗号化した第3の暗号化済データと、として保管する暗号化情報保管システムからの保管対象データの取り出し方法であって、
前記第1の鍵の入力を受け付ける第1の入力受付ステップと、
前記第1の鍵を用いて前記第1の暗号化済データを復号化し、前記第1の保管対象データを復元する第1の復号化ステップと、
前記第1の保管対象データを出力する第1の出力ステップと、
前記第2の鍵の入力を受け付ける第2の入力受付ステップと、
前記第1の鍵を用いて前記第3の暗号化済データを復号化し、前記第2の暗号化済データを復元する第2の復号化ステップと、
前記第2の鍵を用いて前記第2の暗号化済データを復号化し、前記第2の保管対象データを復元する第3の復号化ステップと、
前記第2の保管対象データを出力する第2の出力ステップと、を備えることを特徴とする。
【0020】
本発明に係るデータの取り出し方法の好ましい形態では、前記暗号化情報保管システムが、更に、第3の保管対象データを保管するものであり、
前記第3の保管対象データを出力する第3の出力ステップを備えることを特徴とする。
【0021】
本発明に係るデータの取り出し方法の好ましい形態では、前記暗号化情報保管システムが、暗号化情報保管サーバ装置と、ユーザ端末装置とがネットワークを介して通信可能に構成されるものであって、
前記第1の復号化ステップと、前記第1の復号化ステップと、前記第2の復号化ステップと、前記第3の復号化ステップと、前記第2の出力ステップと、を前記ユーザ端末装置によって行うことを特徴とする。
【発明の効果】
【0022】
重要度の異なる、内容の関連した複数のデータの保管や取り出しを安全に行うことができる、暗号化情報保管システムを提供することができる。
【発明を実施するための形態】
【0024】
(一実施形態)
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態に係る暗号化情報保管システムの構成図である。
【0025】
図1に示すように、本実施形態に係る暗号化情報保管システムは、暗号化情報保管サーバ装置1と、複数のユーザ端末装置2とが、ネットワーク3を介して通信可能に構成されている。なお、ネットワーク3としては、インターネットやLAN(Local Area Network)などを用いることができる。
【0026】
図2は、本実施形態に係る暗号化情報保管システムの機能ブロック図である。暗号化情報保管サーバ装置1は、ユーザが暗号化情報保管システムを用いて保管を要望する暗号化済データを記憶する暗号化済データ記憶部101と、暗号化を行うための暗号化HTML(Hyper Text Markup Language)ファイルをユーザ端末装置2へと送信する暗号化HTML送信手段102と、ユーザ端末装置2より暗号化HTMLファイルによって送信される暗号化済データを受信し、暗号化済データ記憶部101へと記録する暗号化済データ記録手段103と、暗号化済データ記録手段103による暗号化済データの記録の際に暗号化済データの識別情報を生成する識別情報生成手段104と、暗号化済データ記憶部101より暗号化済データを検索する暗号化済データ検索手段105と、暗号化済データを復号化するための復号化HTMLファイルを生成し、ユーザ端末装置2へと送信する復号化HTML生成手段106と、鍵及び/又は保管対象データの更新をするための鍵/データ更新HTMLファイルを生成し、ユーザ端末装置2へと送信するための鍵/データ更新HTML生成手段107と、ユーザの認証情報を記憶する認証情報記憶部108と、ユーザ端末装置2への認証用HTMLファイルの送信、ユーザ端末装置2からの認証情報の受信、ユーザ端末装置2から受信した認証情報の認証情報記憶部108の保持する情報との照合などを行うユーザ認証手段109と、暗号化HTMLファイルに含まれる暗号化スクリプトや復号化HTMLファイルに含まれる復号化スクリプトによる暗号化/復号化のアルゴリズムの解説行うためのアルゴリズム解説HTMLを提供するアルゴリズム解説提供手段110と、暗号化スクリプトや復号化スクリプトの解説を行うためのスクリプト解説HTMLを提供するスクリプト解説提供手段111と、を備える。
【0027】
ユーザ端末装置2は、暗号化情報保管サーバ装置1より送信される暗号化HTMLファイル、復号化HTMLファイル、鍵/データ更新HTMLファイル、認証用HTMLファイル、アルゴリズム解説HTML、スクリプト解説HTMLなどのHTMLファイルを受信するHTML受信手段21と、ユーザから保管対象データや鍵などの入力を受け付ける入力受付手段22と、暗号化HTMLファイルに含まれる暗号化スクリプトや、復号化HTMLファイルに含まれる復号化スクリプト、鍵/データ更新HTMLファイルに含まれる鍵/データ更新スクリプトなどを実行するスクリプト実行手段23と、暗号化済データを暗号化情報保管サーバ装置1へと送信する暗号化済データ送信手段24と、復号化を行った保管対象データを表示する保管対象データ表示手段25と、を備える。
【0028】
なお、暗号化情報保管サーバ装置1には、演算装置(CPU)、主記憶装置(RAM)、HDDやSSD、フラッシュメモリなどの補助記憶装置、ネットワーク3への接続手段を含む各種の入出力装置などを備える、汎用的なサーバ装置により実現することができる。また、暗号化済データ記憶部101や認証情報記憶部108を異なるサーバ装置に設けるなど、複数のサーバ装置を協調動作させるような構成としてもよい。
【0029】
また、ユーザ端末装置2には、演算装置(CPU)、主記憶装置(RAM)、HDDやSSD、フラッシュメモリなどの補助記憶装置、ネットワーク3への接続手段を含む各種の入出力装置などを備える、パーソナルコンピュータやスマートフォン端末、携帯電話などの各種のコンピュータ装置を用いることができる。
【0030】
なお、本実施形態においては、暗号化情報保管サーバ装置1からのHTMLファイルの受信や、保管対象データの送信をHTTP(Hyper Text Transfer Protocol)によって行い、暗号化スクリプトや復号化スクリプトにはJavaScript(登録商標)を用いるものとするが、ファイルやスクリプトの形式はこれに限るものではない。ただし、このようにHTMLファイルとJavaScript(登録商標)を用いることにより、一般的なウェブブラウザを備える多くのコンピュータ装置によって、特別なプログラムなどを導入することなく、本実施形態に係る暗号情報保管システムを利用することができる。更に、データの送受信に、HTTPに代えてHTTPS(Hypertext Transfer Protocol Secure)を用いることで、より安全に通信を行うことができる。
【0031】
また、JavaScript(登録商標)は、意図的に難読化などをしない場合には、ユーザがその処理内容を確認可能な状態でHTMLファイルに含めることができる。これにより、ユーザがスクリプトの内容を理解できる知識を持っていれば、暗号化、復号化処理の内容を把握できるオープンな状態となるため、安心して暗号化情報保管システムを利用することができる。
【0032】
JavaScriptは、HTMLファイルのヘッダやボディに直接記載されるものであってもよいし、暗号化や復号化を行うためのJavaScriptの一部、あるいは全部をJavaScriptファイルとして提供し、HTMLファイルのヘッダにJavaScriptファイルへのリンクを記述することによって、暗号化や復号化を行うためのHTMLファイルにJavaScriptを含めるような構成としてもよい。
【0033】
本実施形態に係る暗号情報保管システムを利用するに際しては、事前にユーザのIDやパスワード等の登録を行った上で、上述した認証情報記憶部108、ユーザ認証手段109を用いたユーザ認証をユーザに求めることが好ましい。あるいは、ユーザ端末装置2の識別情報などを用いるような方法で、ユーザの特定を行うような構成としてもよい。
【0034】
<暗号化HTMLファイル>
図3は、本実施形態に係る暗号化HTMLファイルH1の構成を示す図である。
図3に示すように、暗号化HTMLファイルH1は、スクリプト実行手段23によって実行される暗号化スクリプトF11と、入力受付手段22によりユーザからの入力を受け付ける入力フォームF12と、ユーザ端末装置2より暗号化情報保管サーバ装置1へと保管対象データを送信するための送信フォームF13と、暗号化スクリプトをユーザに対して閲覧可能に表示する暗号化スクリプト表示領域L14を有する。
【0035】
暗号化スクリプトF11は、保管対象データの一部又は全ての暗号化を行うデータ暗号化スクリプトF111と、送信フォームF13を暗号化情報保管サーバ装置1へと送信するデータ送信スクリプトF112と、を備える。なお、データ暗号化スクリプトF111には、AES(Advanced Encryption Standard)による暗号化など、任意の方式の暗号化を行うスクリプトを用いることができる。また、データ送信スクリプトF112を省略し、ユーザ端末装置2のウェブブラウザの機能のみによって、保管対象データを送信する構成としてもよい。
【0036】
入力フォームF12は、保管対象データの暗号化を行う際に用いる鍵の入力を受け付けるための鍵入力領域I121と、保管対象データの入力を受け付けるための保管対象データ入力領域I122、鍵や保管対象データの入力後に暗号化スクリプトF11の実行指示を受け付けるための送信ボタンB123を有する。
【0037】
図4(a)は、鍵入力領域I121の構成を示す図である。ここに示すように、鍵入力領域I121は、第1鍵入力領域I121aと、第2鍵入力領域I121bの、2つの鍵入力領域を有する。また、第1鍵のヒント情報の入力を受け付ける第1鍵ヒント情報入力領域I121cと、第2鍵のヒント情報として、平文状態で保管する情報の入力を受け付ける第2鍵平文ヒント情報入力領域I121dと、同じく第2鍵のヒント情報として、第1鍵による暗号化処理を行った状態で保管する情報の入力を受け付ける第2鍵暗号化ヒント情報入力領域I121eと、を有する。
【0038】
図4(b)は、保管対象データ入力領域I122の構成を示す図である。ここに示すように、保管対象データ入力領域I122は、レベル0データ(第3の保管対象データ)として保管するデータの入力を受け付けるレベル0データ入力領域I122aと、レベル1データ(第1の保管対象データ)として保管するデータの入力を受け付けるレベル1データ入力領域I122bと、レベル2データ(第2の保管対象データ)として保管するデータの入力を受け付けるレベル2データ入力領域I122cと、を有する。
【0039】
ここで、レベル0〜レベル2の各レベルは、暗号化済データ記憶部101上でのデータの保管方法を示すものである。
図22は、本実施形態に係る暗号化情報保管システムにおける、レベル0〜レベル2の各データの取り扱いを模式的に示すものである。ここに示すように、本実施形態においては、レベル0データは暗号化せず平文状態で、レベル1データは第1鍵による1重の暗号化を行い、暗号化済レベル1データとした状態で、レベル2データは第2鍵による暗号化の後、更に第1鍵による暗号化を行い、2重の暗号化を行った暗号化済レベル2データとした状態で、暗号化情報管理サーバ装置1へと送信し、暗号化済データ記憶部101に記録するものである。
【0040】
本実施形態において取り扱う保管対象とするデータの一例を
図23に示す。これは、サイトのログイン情報を本実施形態に係る暗号化情報保管システムによって保管する際に、レベル0データとしてログインページのURLを、レベル1データとしてログインに用いるユーザIDを、レベル2データとしてログインに用いるパスワードを保管する例である。このように、本実施形態に係る暗号化情報管理システムは、組となる各データについて、その重要度によってレベルを設定するような利用を行うことができるものである。
【0041】
また、保管対象データのレベル設定の利用の他の例を
図24に示す。
図24(a)は、ユーザが実際に保管を必要とする文字列、例えばパスワードなどが、「ABC123」という文字列である場合に、レベル0データとして先頭1文字のみを明らかにした「A*****」という文字列、レベル1データとしてアルファベット部分を明らかにした「ABC***」という文字列、そしてレベル2データとして全文を明らかにした「ABC123」という文字列を保管するといった利用例を示すものである。このように、実際に保管を行う文字列を最も高レベルであるレベル2データとして設定し、その一部を伏字としたデータをレベル1データ、レベル0データとしてそれぞれ設定することで、レベル0データやレベル1データを、レベル2データを思い出すためのヒント情報として用いることができる。これにより、例えば、ユーザがレベル0データやレベル1データを参照した段階でそれを手がかりとして文字列を思い出すことができれば、それ以降の復号化処理を行う必要がなくなる。そのため、パスワードのような重要な文字列を扱う場合に、そのすべての文字列をユーザ端末装置2に表示することによる、周囲からの覗き見などのリスクを低減することができる。
【0042】
また、このように、レベル0データやレベル1データを、ユーザがレベル2データを思い出すためのヒント情報として用いる場合において、上述したようにレベル2データの一部を伏字にした文字列をレベル0データ、レベル1データに設定する以外にも、レベル2データの一部を含む文字列ではないが、レベル2データの内容を連想させるような文字列を、レベル2データのヒント情報として、レベル0データやレベル1データに設定する、といった利用も可能である。
図24(b)は、このような利用を行う場合の例を示すものである。
【0043】
なお、本実施形態においては、レベル0〜2の3つのデータを組として扱う例を示すが、本発明はこれに限るものではない。例えば、より多くのデータを含む組について、それに含まれる各データをそれぞれどのレベルで扱うか、という情報を更に設定する構成とすることにより、より多くのデータを含む組について、ユーザの指定に基づいたレベル設定によって扱うことができるような構成としてもよい。例えば、
図23に例示したようなサイトのログイン情報を組として保管する場合に、
図25に示すように、ログインページのURLをレベル0データ(1)として、サイトのログインに用いるユーザIDのヒント情報をレベル0データ(2)として、ユーザID自体をレベル1データ(2)として、サイトのログインに用いるパスワードの1つ目のヒント情報をレベル0データ(3)として、パスワードの2つ目のヒント情報をレベル1データ(3)として、パスワード自体をレベル2データ(3)として、組となったデータとして取り扱う、といったように、組となった多数のデータについて、それぞれ異なる暗号化レベルで保管するような形態としてもよい。
【0044】
あるいは、第1鍵ヒント情報入力領域I121c、第2鍵平文ヒント情報I121d、第2鍵暗号化ヒント情報入力領域I121eを省略し、レベル0データとして第1鍵ヒント情報を、レベル1データとして、第2暗号化ヒント情報を扱うような構成としてもよい。
図26は、レベル0〜レベル2の各データとして、このようなデータを扱う場合の例を示すものである。ここでは、第1鍵が「DEF456」、第2鍵が「GHI789」という文字列である場合に、レベル0データとして、第1鍵の一部を伏字とした「D**4**」という文字列を、レベル1データとして、第2鍵の一部を伏字とした「GH****9」という文字列を、そして、レベル2データとして、実際に保管したい「ABC123」という文字列を設定する例である。このような構成とすれば、ユーザはまずレベル0データとして第1鍵のヒントを参照し、それを入力、そして、それによって復号化されたレベル1データとして第2鍵のヒントを参照し、第2鍵を入力、最終的に、第1鍵及び第2鍵によって復号化されたレベル2データを得ることができる。これにより、ユーザは鍵のヒントを得ながら入力していくことができるため、鍵の紛失リスクを低減することができる。
【0045】
なお、本実施形態における保管対象データとしては、種々のサービスにおけるユーザIDやパスワードなどの、テキスト情報を扱うが、暗号化スクリプトF11による暗号化処理や、ユーザ端末装置2と暗号化情報保管サーバ装置1との間の通信において問題が出ないデータ容量であれば、画像情報のような任意のバイナリファイルなどを扱えるような構成としてもよい。
【0046】
送信フォームF13は、送信先である暗号化済データ記録手段103を示すURI(Uniform Resource Identifier)情報である送信先URI情報F131と、ユーザを識別するためのユーザID情報F132と、保管対象データ入力領域I122に入力された保管対象データの一部又は全てをデータ暗号化スクリプトF111によって暗号化した、暗号化済データF133と、を備える。
【0047】
また、暗号化HTMLファイルH1をHTML受信手段21によって受信した時点では送信フォームF13が存在せず、データ送信スクリプトF112の実行時に送信フォームF13を生成するような構成としてもよい。
【0048】
図4(c)は、暗号化済データF133の構成を示す図である。ここに示すように、暗号化済データF133は、レベル0データF133aと、レベル1データを第1鍵によって暗号化した暗号化済レベル1データF133bと、レベル2データを第2鍵によって暗号化した後、更に第1鍵で暗号化した暗号化済レベル2データF133cと、第1鍵ヒント情報F133dと、第2鍵平文ヒント情報F133eと、第2鍵暗号化ヒント情報を第1鍵によって暗号化した第2鍵平文ヒント情報F133fと、を有する。
【0049】
暗号化スクリプト表示領域L14は、データ暗号化スクリプトF111やデータ送信スクリプトF112を表示するための領域である。本実施形態においては、先に述べた通り、暗号化スクリプトなどにJavaScriptを用いるため、実際にデータの暗号化や送信を行うスクリプトを表示することによって、ユーザはその処理内容を確認することができる。これにより、ユーザは暗号化が確実に行われ、鍵や暗号化前のデータの不正な送信などが行われていないことを確認することができる。
【0050】
なお、
図3に示した暗号化HTMLファイルH1の構成はあくまで一例であり、図示しない他のフォームなどを含めるなど、構成を変更してもよい。ただし、保管対象データ及び暗号鍵を平文で保持する入力フォームF12と、暗号化済の保管対象データを暗号化情報保管サーバ装置1へと送信するための送信フォームF13とは、分離していることが好ましい。
【0051】
あるいは、送信フォームF13の有する暗号化済データF133やユーザID情報などを入力フォームF12中に含めるなどして、入力フォームF12と送信フォームF13を単一のフォームとして構成し、暗号化情報保管サーバ装置1へと暗号化済データを送信する際に、データ送信スクリプトF112により保管対象データ及び暗号鍵をフォームから削除するなどの方法によって、保管対象データ及び暗号鍵の平文状態での送信を回避するような構成としてもよい。
【0052】
また、入力フォームF12については、便宜上「フォーム」と呼称しているにすぎず、データ暗号化スクリプトF111から参照可能であれば、必ずしもFORMタグによって指定される、HTMLファイルの仕様上の「フォーム」である必要はない。ただし、送信フォームF13については、FORMタグによって定義され、送信先URI情報F131をデータの送信先とする、HTMLファイルの仕様上の「フォーム」であることが好ましい。このように構成することによって、POSTメソッドやGETメソッドを用いたシンプルな形態でのデータ送信を行うことができるため、ユーザに対してオープンなシステムとすることができる。
【0053】
<暗号化処理>
図5は、本実施形態に係る暗号情報保管システムによるデータの暗号化処理を示すフローチャートである。暗号化処理においては、まず、ステップS101でユーザ端末装置2より暗号化HTMLファイルH1のリクエスト情報を送信する。これは例えば、ユーザがウェブブラウザによって、暗号化情報保管サーバ装置1や図示しない他のウェブサーバ装置などにより提供されるトップページやメニュー画面などから、ハイパーリンクをクリックするなどの操作により、ウェブブラウザがリクエスト情報を生成して送信するものである。
【0054】
ステップS102で暗号化情報保管サーバ装置1がリクエスト情報を受信すると、ステップS103へ進み、暗号化HTMLファイルH1をユーザ端末装置2へと送信する。
【0055】
そして、ユーザ端末装置2がステップS104で暗号化HTMLファイルH1を受信し、ステップS105で、ウェブブラウザによって入力画面を表示して、入力フォームF12への、レベル0〜2の各データ、第1、第2の鍵の入力を受け付ける。
【0056】
なお、鍵の入力を受けた際、ユーザ端末装置2の画面上には、実際に入力された文字列でなく、「*」や「●」などの任意の記号等を用いた表示を行うことが好ましい。これにより、鍵の設定時にユーザ以外の者に鍵を知られるリスクを低減することができる。また、鍵の入力に際して、同内容の入力を2回ユーザに求めるような構成とすることにより、上述のように鍵の文字列を画面上で確認できない様な構成とした場合にも、入力ミスなどによってユーザが意図しない鍵が設定されてしまうリスクを低減することができる。
【0057】
また、ここで入力を受け付ける鍵は、保管対象データの組毎に個別のものであることが好ましい。そうすることによって、万が一ある保管対象データの組の鍵が第三者に漏れてしまった場合においても、他の保管対象データの秘匿性を保つことができるため、より安全に本実施形態に係る暗号化情報保管システムを利用することができる。
【0058】
ユーザによって送信ボタンB123が押下されると、ステップS106に進み、データ暗号化スクリプトF111を用いた、保管対象データ入力領域I122に入力されたレベル1、2のデータの、鍵入力領域I121に入力された第1、第2の鍵による暗号化処理を実行する。ここでは、より詳細には、第1鍵を用いたレベル1データの暗号化による暗号化済レベル1データの生成、レベル2データを第2鍵を用いて暗号化し、それを更に第1鍵を用いて暗号化することによる暗号化済レベル2データの生成、及び、第1の鍵を用いた第2鍵暗号化ヒント情報の暗号化による第2鍵暗号化済ヒント情報の生成を行う。
【0059】
そして、ステップS107に進み、データ送信スクリプトF112により、ステップS105で入力を受け付けたレベル0データ、第1鍵ヒント情報、第2鍵平文ヒント情報と、ステップS106で暗号化処理を行った暗号化済レベル1データ、暗号化済レベル2データ、第2鍵暗号化済ヒント情報などの必要な情報を送信フォームF13へと設定し、暗号化済データとして、暗号化情報保管サーバ装置1への送信を行う。
【0060】
なお、ここでの暗号化済データの送信処理は、先述したように、POSTメソッドやGETメソッドによって行うことが好ましい。
【0061】
ステップS108で暗号化情報保管サーバ装置1が暗号化済データを受信すると、暗号化済データ記録手段103により、暗号化済データ記憶部101への記録処理が実行される。この際に、識別情報生成手段104による識別情報の生成を行い、それを暗号化済データとひもづけて保管する。以上で、データの暗号化処理は終了する。
【0062】
このようにして、レベル1、レベル2データなどを暗号化し、暗号化をしないレベル0データなどと共に、暗号化情報保管サーバ装置1へと記録することができる。ここで、ステップS106における暗号化処理をユーザ端末装置2上で行い、暗号化情報保管サーバ装置1へは、暗号化済の保管対象データを送信する、すなわち、入力フォームF12に入力された暗号化前の保管対象データや、暗号鍵自体は暗号化情報保管サーバ装置へ送信しない構成となっている。これにより、ネットワーク3上で第三者に保管対象データやその暗号鍵が不正に取得される、あるいは、暗号化情報保管サーバ装置1が攻撃を受け、それらの情報が流出する、といったリスクを排除することができる。
【0063】
<復号化HTMLファイル>
図6は、本実施形態に係る復号化HTMLファイルH2の構成を示す図である。
図6に示すように、復号化HTMLファイルH2は、スクリプト実行手段23によって実行される復号化スクリプトF21と、復号化処理の対象とする暗号化済データを格納する暗号化済データ格納フォームF22と、入力受付手段22によりユーザからの入力を受け付ける入力フォームF23と、復号化スクリプトF21によって復号化したデータを表示する表示フォームF24と、を有する。
【0064】
復号化スクリプトF21は、暗号化済データ格納フォームF22の有するデータの復号化を行う、データ復号化スクリプトF211を備えている。これは、データ暗号化スクリプトF111による暗号化処理が施されたデータを、鍵を用いて復号可能に構成されるものである。本実施形態においては、データ暗号化スクリプトF111が共通鍵方式の暗号化を行い、データ暗号化スクリプトF111で用いる暗号鍵とデータ復号化スクリプトF211で用いる復号鍵とが、同一の鍵となる構成を示しているが、本発明はこれに限るものではない。例えば、公開鍵方式などの暗号化を行うのであれば、暗号鍵と復号鍵は異なるものになる。
【0065】
暗号化済データ格納フォームF22は、暗号化情報保管サーバ装置1によって設定される暗号化済データを格納する、暗号化済データ格納領域H221を有する。なお、暗号化済データ格納領域H221は、格納される暗号化済データが復号化スクリプトF21によって取得可能に構成されていれば十分であり、ウェブブラウザによる復号化HTMLファイルH2の表示の際には不可視化されるようにしてよい。
【0066】
図7(a)は、暗号化済データ格納領域H221の構成を示す図である。平文状態のレベル0データH221aと、第1鍵によって暗号化された暗号化済レベル1データH221bと、第2鍵による暗号化の後に第1鍵によって暗号化された暗号化済レベル2データH221cと、平文状態の第1鍵ヒント情報H221dと、平文状態の第2鍵平文ヒント情報H221eと、第1鍵によって暗号化された第2鍵暗号化済ヒント情報H221fと、を有する。
【0067】
図7(b)は、入力フォームF23の構成を示す図である。ここに示すように、入力フォームF23は、鍵入力領域I231と、復号化ボタンB232と、第1鍵ヒント情報の表示を指示する第1鍵ヒント情報表示ボタンB233aと、第2鍵ヒント情報の表示を指示する第2鍵ヒント情報表示ボタンB233bと、第1鍵ヒント情報の表示を行う第1鍵ヒント情報表示領域L234aと、第2鍵平文ヒント情報及び第2鍵暗号化ヒント情報の表示を行う第2鍵ヒント情報表示領域L234bと、を有する。更に、鍵入力領域I231は、第1鍵の入力を受け付ける第1鍵入力領域I231aと、第2鍵の入力を受け付ける第2鍵入力領域I231bと、を含む。
【0068】
表示フォームF24は、暗号化済データ格納フォームF22の有する暗号化済データの、復号化スクリプトF21による復号化処理の結果を表示する、保管対象データ表示領域L241を備える。
【0069】
図7(c)は、保管対象データ表示領域L241の構成を示す図である。ここに示すように、保管対象データ表示領域L241は、レベル0データを表示するレベル0データ表示領域L241aと、復号化したレベル1データを表示するレベル1データ表示領域L241bと、復号化したレベル2データを表示するレベル2データ表示領域L241cと、を有する。
【0070】
復号化スクリプト表示領域L25は、暗号化HTMLファイルH1における暗号化スクリプト表示領域L14と同様、データ復号化スクリプトF211の内容を表示する領域である。
【0071】
なお、ここでは、暗号化済データ格納フォームF22と、入力フォームF23と、表示フォームF24とが、それぞれ独立したフォームとなっている構成を示したが、暗号化済データ格納フォームF22と入力フォームF23とを単一のフォームとする、あるいは暗号化済データ格納フォームF22と表示フォームF24を単一のフォームとする、といったように、任意の構成としても当然構わない。
【0072】
また、ここでの暗号化済データ格納フォームF22、及び入力フォームF23については、暗号化HTMLファイルH1における入力フォームF12と同様、HTMLファイルの仕様上の「フォーム」である必要はなく、データ復号化スクリプトF211からの参照が可能な要素として構成されていればよい。
【0073】
<復号化処理>
図8は、本実施形態に係る暗号情報保管システムによる暗号化済データの復号化処理を示すフローチャートである。復号化処理においては、まず、ステップS201でユーザ端末装置2より復号化HTMLファイルH2のリクエスト情報を送信する。これは例えば、ユーザがウェブブラウザによってメニュー画面などからハイパーリンクをクリックするなどの操作により、ウェブブラウザがリクエスト情報を生成して送信するものである。そして、この復号化HTMLファイルH2のリクエスト情報は、復号化の対象とする暗号化済データの識別情報を含むものである。
【0074】
ステップS202で暗号化情報保管サーバ装置1がリクエスト情報を受信すると、ステップS203へ進み、復号化の対象とする暗号化済データを含む復号化HTMLファイルH2を生成する。より具体的には、ユーザ端末装置2からのリクエスト情報に含まれる識別情報によって特定される暗号化済データを、暗号化済データ検索手段105によって暗号化済データ記憶部101から取得し、暗号化済データ格納フォームF22に設定する。
【0075】
そして、ステップS204に進み、ステップS203で生成した復号化HTMLファイルH2をユーザ端末装置2へと送信する。
【0076】
そして、ユーザ端末装置2がステップS205で復号化HTMLファイルH2を受信し、ステップS206で、平文状態で復号化HTMLファイルに含まれる、レベル0データ、第1鍵ヒント情報、第2鍵平文ヒント情報の表示を行う。なお、第1鍵ヒント情報、第2鍵平文ヒント情報の表示は、それぞれ、第1ヒント情報表示ボタンB233b、第2鍵ヒント情報表示ボタンB233bが押下された際に行うような構成とすればよい。
【0077】
続くステップS207では、ユーザより、第1鍵の入力を受け付ける。ここで、ユーザは、ステップS206において表示された第1鍵ヒント情報を手掛かりに、第1鍵の入力を行うことができる。
【0078】
そして、第1鍵の入力後にユーザによって復号化ボタンB232が押下されると、ステップS208に進み、データ復号化スクリプトF211を用いた、第1鍵による暗号化済レベル1データの復号化処理と、第1鍵による第2鍵暗号化済ヒント情報の復号化処理を行う。
【0079】
そして、ステップS209で、復号化処理の結果によって得られたレベル1データと第2鍵暗号化ヒント情報の表示を行い、ステップS210で、第2鍵の入力を受け付ける。ここで、ユーザは、ステップS206において表示された第2鍵平文ヒント情報や、ステップS209で表示された第2鍵暗号化ヒント情報を手掛かりに、第2鍵の入力を行うことができる。なお、ステップS209における第2鍵暗号化ヒント情報の表示は、第2鍵ヒント情報表示ボタンB233bが押下された際に行うような構成とすればよい。また、本実施形態においては、第2鍵ヒント情報表示ボタンB233b、及び第2鍵ヒント情報表示領域L234bを、第2鍵平文ヒント情報と第2鍵暗号化ヒント情報の表示に共通して利用する構成を示したが、それぞれの表示の指示のためのボタンや表示する領域を、個別に設けるような構成としてもよい。
【0080】
その後、ステップS211において、データ復号化スクリプトF211を用いた、第2鍵による暗号化済レベル2データの復号化処理を行い、その結果として得られたレベル2データをステップS212において表示して、暗号化済データの復号化処理は終了する。
【0081】
なお、ステップS207やS210で不正な鍵が入力された場合には、ステップS208、S211における復号化処理の失敗を検出し、ユーザに復号化処理の失敗を通知するなど、任意の例外処理を行うことが好ましい。
【0082】
このようにして、暗号化済データを暗号化情報保管サーバ装置1より取得し、ユーザ端末装置2上で復号化することができる。ここで、ステップS207における復号化処理をユーザ端末装置2上で行い、暗号化情報保管サーバ装置1への鍵の送信を行わない構成となっているため、ネットワーク3上で第三者に鍵や復号化済の保管対象データが不正に取得される、あるいは、暗号化情報保管サーバ装置1が攻撃を受け、それらの情報が流出する、といったリスクを排除することができる。
【0083】
<暗号鍵/データ更新HTML>
図9は、本実施形態に係る鍵/データ更新HTMLファイルH3の構成を示す図である。
図9に示すように、鍵/データ更新HTMLファイルH3は、スクリプト実行手段23によって実行される鍵/データ更新スクリプトF31と、鍵及び/又はデータの更新対象とする暗号化済データを格納する暗号化済データ格納フォームF32と、入力受付手段22によりユーザからの入力を受け付ける入力フォームF33と、ユーザ端末装置2より暗号化情報保管サーバ装置1へと保管対象データを送信するための送信フォームF34と、を有する。
【0084】
鍵/データ更新スクリプトF31は、暗号化済データ格納フォームF32の有するデータの復号化を行う、データ復号化スクリプトF311と、保管対象データの一部又は全ての暗号化を行うデータ暗号化スクリプトF312と、送信フォームF34を暗号化情報保管サーバ装置1へと送信するデータ送信スクリプトF313と、を備える。また、データ送信スクリプトF313を省略し、ユーザ端末装置2のウェブウェブブラウザの機能のみによって、保管対象データを送信する構成としてもよい。
【0085】
なお、データ復号化スクリプトF311は、復号化HTMLファイルH2におけるデータ復号化スクリプトF211と、データ暗号化スクリプトF312、データ送信スクリプトF313は、暗号化HTMLファイルH1におけるデータ暗号化スクリプトF111、データ送信スクリプトF112と、それぞれ同様のスクリプトを用いることができる。
【0086】
暗号化済データ格納フォームF32は、暗号化情報保管サーバ装置1によって設定される暗号化済データを格納する、暗号化済データ格納領域H321を有する。なお、暗号化済データ格納領域H321は、格納される暗号化済データがデータ復号化スクリプトF311によって取得可能に構成されていれば十分であり、ウェブブラウザによる暗号鍵/データ更新HTMLファイルH3の表示の際には不可視化されるようにしてよい。また、暗号化済データ格納領域H321は、先に
図7(a)に示した、復号化HTMLファイルH2の暗号化済データ格納領域H221と同様の構成を有するものである。
【0087】
図10(a)は、入力フォームF33の構成を示す図である。ここに示すように、入力フォームF33は、鍵入力領域I331と、復号鍵の入力後にデータ復号化スクリプトF311の実行指示を受け付けるための復号化ボタンB332と、暗号化済データ格納フォームF32の有する暗号化済データの、データ復号化スクリプトF311による復号化処理の結果の表示、及び保管対象データの変更を行う場合における、変更後の保管対象データの入力を受け付ける復号化済データ表示/データ変更入力領域I333と、第1鍵ヒント情報の表示を指示する第1鍵ヒント情報表示ボタンB335aと、第2鍵平文ヒント情報の表示を指示する第2鍵平文ヒント情報表示ボタンB335bと、第2鍵暗号化ヒント情報の表示を指示する第2鍵暗号化ヒント情報表示ボタンB335cと、第1鍵ヒント情報の表示及び変更の入力の受付を行う第1鍵ヒント情報表示/更新入力領域L336aと、第2鍵平文ヒント情報の表示及び変更の入力の受付を行う第2鍵平文ヒント情報表示/更新入力領域L336bと、第2鍵暗号化ヒント情報の表示及び変更の入力の受付を行う第2鍵暗号化ヒント情報表示/更新入力領域L336cと、を有する。更に、鍵入力領域I331は、第1鍵の入力を受け付ける第1鍵入力領域I331aと、第2鍵の入力を受け付ける第2鍵入力領域I331bと、を含む。
【0088】
図10(b)は、保管対象データ表示/変更入力受付領域I333の更に詳細な構成を示す図である。ここに示すように、保管対象データ表示/変更入力領域I333は、レベル0データの表示及び変更の入力の受付を行うレベル0データ表示/変更入力領域I333aと、レベル1データの表示及び変更の入力の受付を行うレベル1データ表示/変更入力領域I333bと、レベル2データの表示及び変更の入力の受付を行うレベル2データ表示/変更入力領域I333cと、を有する。
【0089】
送信フォームF34は、送信先である暗号化済データ記録手段103を示すURI情報である送信先URI情報F341と、ユーザを識別するためのユーザID情報F342と、復号化済データ表示/データ変更入力領域I333に入力された保管対象データの一部又は全てをデータ暗号化スクリプトF312によって暗号化した、暗号化済データF343と、暗号化済データを一意に識別するための暗号化済データ識別情報F344と、を備える。なお、暗号化済データ識別情報F344は、鍵/データ更新HTML生成手段107鍵/データ更新HTML生成手段107による鍵/データ更新HTMLファイルH3の生成時に暗号化済データ記憶部101より取得して、予め送信フォームF34に設定する、あるいは、鍵/データ更新HTMLファイルH3の生成時には暗号化済データ格納領域H221などに含めておき、データ送信スクリプトF313の実行時に送信フォームF34に設定するなど、任意の時点で設定される構成とすればよい。
【0090】
暗号化/復号化スクリプト表示領域L35は、暗号化HTMLファイルH1における暗号化スクリプト表示領域L14、復号化HTMLファイルH2における復号化スクリプト表示領域L25と同様、データ復号化スクリプトF311やデータ暗号化スクリプトF312、データ送信スクリプトF313の内容を表示する領域である。
【0091】
また、暗号化HTMLファイルH1における送信フォームF13と同様、HTML受信手段21によって暗号鍵/データ更新HTMLファイルH3を受信した時点では送信フォームF34が存在せず、データ送信スクリプトF313の実行時に生成するような構成としてもよい。
【0092】
なお、
図9に示した鍵/データ更新HTMLファイルH3の構成はあくまで一例であり、図示しない他のフォームなどを含めるなど、構成を変更してもよい。ただし、保管対象データ及び鍵を平文で保持する入力フォームF33と、暗号化済の保管対象データを暗号化情報保管サーバ装置1へと送信するための送信フォームF34とは、分離していることが好ましい。あるいは、入力フォームF33と送信フォームF34を単一のフォームとし、暗号化情報保管サーバ装置1へと暗号化済データを送信する際に、保管対象データ及び暗号鍵をフォームから削除するなどの方法によって、保管対象データ及び暗号鍵の平文状態での送信を回避するような構成としてもよい。
【0093】
また、ここでの暗号化済データ格納フォームF32、及び入力フォームF33については、暗号化HTMLファイルH1における入力フォームF12と同様、HTMLファイルの仕様上の「フォーム」である必要はないが、送信フォームF34については、暗号化HTMLファイルH1における送信フォームF13と同様、FORMタグによって定義され、POSTメソッドやGETメソッドによって送信可能な、HTMLファイルの仕様上の「フォーム」であることが好ましい。
【0094】
<鍵/データ更新処理>
図11は、本実施形態に係る暗号情報保管システムによる鍵及び/又は保管対象データの更新処理を示すフローチャートである。鍵及び/又は保管対象データの更新処理においては、まず、ステップS301でユーザ端末装置2より鍵/データ更新HTMLファイルH3のリクエスト情報を送信する。これは例えば、ユーザがウェブブラウザによって、暗号化情報保管サーバ装置1や図示しない他のウェブサーバ装置などにより提供されるトップページやメニュー画面などから、ハイパーリンクをクリックするなどの操作により、ウェブブラウザがリクエスト情報を生成して送信するものである。そして、ここでの暗号鍵/データ更新HTMLファイルH3のリクエスト情報は、暗号鍵及び/又は保管対象データの更新対象とする暗号化済データの識別情報を含むものである。
【0095】
ステップS302で暗号化情報保管サーバ装置1がリクエスト情報を受信すると、ステップS303へ進み、鍵及び/又は保管対象データの更新対象とする暗号化済データを含む鍵/データ更新HTMLファイルH3を生成する。より具体的には、ユーザ端末装置2からのリクエスト情報に含まれる識別情報によって特定される暗号化済データを、暗号化済データ検索手段105によって暗号化済データ記憶部101から取得し、暗号化済データ格納フォームF32に設定する。
【0096】
そして、ステップS304に進み、ステップS303で生成した鍵/データ更新HTMLファイルH3をユーザ端末装置2へと送信する。
【0097】
そして、ユーザ端末装置2がステップS305で鍵/データ更新HTMLファイルH3を受信し、ステップS306で、ウェブブラウザによって入力画面を表示して、鍵入力領域I331への復号鍵の入力を受け付ける。
【0098】
ユーザによって復号化ボタンB332が押下されると、ステップS307に進み、データ復号化スクリプトF311を用いた、暗号化済データ格納領域H321に格納された暗号化済データの復号化処理を行い、ステップS308で、復号化処理の結果によって得られたデータの、保管対象データ表示/データ変更入力領域I333への表示を行う。
【0099】
続くステップS309で、ユーザからの、鍵入力領域I331への、鍵の変更の入力、保管対象データ表示/データ変更入力領域I333への、保管対象データの変更の入力を受け付ける。ここで、保管対象データ表示/データ変更入力領域I333には、ステップS308において保管対象データが表示されている状態であるため、ユーザはこれに変更を加えることができる。
【0100】
そして、ユーザによって送信ボタンB334が押下されると、ステップS310に進み、データ暗号化スクリプトF312を用いた、保管対象データ表示/データ変更入力領域I333の保持するデータの、鍵入力領域I331の保持する鍵による暗号化処理を実行する。
【0101】
そして、ステップS311に進み、データ送信スクリプトF313により、ステップS310で暗号化処理を行った暗号化済データなどの必要な情報を送信フォームF34へと設定し、暗号化情報保管サーバ装置1への暗号化済データや保管対象データの識別情報などの送信を行う。
【0102】
ステップS312で暗号化情報保管サーバ装置1が暗号化済データを受信すると、暗号化済データ記録手段103により、暗号化済データ記憶部101への記録、すなわち、暗号鍵及び/又は保管対象データの更新が実行され、更新処理は終了する。
【0103】
なお、鍵入力領域I331は、変更前に設定されている鍵の入力領域と、変更後に設定する鍵の入力領域とを兼ねているが、これらの入力領域を個別に設け、ステップS309において鍵の入力領域にユーザによる入力がなかった場合には、ステップS310で、復号化処理に用いた鍵による暗号化処理を、ステップS309で鍵の入力があった場合には、ステップS310で、それを用いた暗号化処理、すなわち鍵の更新を行うような構成としてもよい。
【0104】
このように、ステップS307において、暗号化済データをユーザ端末装置2上で復号化し、必要であればステップS309において、鍵及び/又は保管対象データの変更を行った後、ステップS310において、ユーザ端末装置2上で再度暗号化処理を行うことにより、変更前後の鍵や平文状態のレベル1データやレベル2データをネットワーク3経由で送受信することなく、安全に鍵や保管対象データの更新を行うことができる。そして、鍵/データ更新HTMLファイルH3を用いた鍵の更新を定期的に行うことにより、ユーザはより安全に保管対象データを管理することができる。
【0105】
以上のように、本実施形態に係る暗号化情報保管システムにおいては、暗号化処理、復号化処理を共に暗号化情報保管サーバ装置1上ではなく、ユーザ端末装置2上で行うことにより、暗号化/復号化処理に用いる鍵の第三者への流出や、保管対象とするデータの平文状態での流出を、未然に防ぐことができ、ユーザは保管対象データを安全に管理することが可能となる。
【0106】
アルゴリズム解説提供手段110の提供するアルゴリズム解説HTMLは、暗号化HTMLファイルH1による暗号化処理や復号化HTMLファイルH2による復号化処理、鍵/データ更新HTMLファイルH3による鍵やデータの更新処理の仕組みを、ユーザに解説するためのものである。これはすなわち、
図5や
図8、
図7に示したフローチャートを参照して説明したような各処理を、ユーザへと説明するものである。
【0107】
また、スクリプト解説提供手段111の提供するスクリプト解説HTMLは、暗号化スクリプトや復号化スクリプト、データ送信スクリプトなどのソースコードを表示し、その内容をより詳細に解説するものである。また、これらのスクリプトが外部のライブラリを参照するような構成となっている場合には、どのようなライブラリを参照しているか、といった点についても、解説を行うものであることが好ましい。
【0108】
本実施形態に係る暗号化情報保管システムにおいては、先述した通り、HTMLファイルとJavaScriptを用いるため、ユーザは実際にHTMLファイルやJavaScriptのソースコードを参照し、アルゴリズム解説手段によって解説される仕組みや、スクリプト解説手段によって解説されるスクリプトが使用されていることを確認し、データの暗号化や復号化を安心して行うことができる。
【0109】
また、暗号化情報保管サーバ装置1や、ユーザ端末装置2とネットワーク3を介して通信可能な他のサーバ装置などによって、ユーザからのアルゴリズムやスクリプトの安全性などに関するコメントや評点などを評価情報として収集し、他のユーザへと提供可能な構成としてもよい。このような構成とすれば、HTMLファイルやJavaScriptなどの技術に詳しいユーザがコメントを行い、そういった技術に詳しくないユーザもそのコメントを参照することで、安心して本実施形態に係る暗号化情報保管システムを利用することができる。特に、暗号化情報保管サーバ装置1の管理等を行う運営者とは異なる第3者が運営する外部のレビューサイト等によって、アルゴリズムやスクリプトの評価情報の収集、提供を行うような構成とすれば、評価情報の信頼性をより高いものとすることができる。
【0110】
また、ユーザ端末装置2へと提供する暗号化スクリプトや復号化スクリプトを含むファイルに電子証明書を付与し、ユーザ端末装置2によって電子証明書を用いてファイルが改ざんされていないことを検査した上でスクリプトを実行するような構成とすれば、本発明に係る暗号化情報保管システムの安全性をより高めることができる。更に、上述したようにアルゴリズムやスクリプトの評価情報の収集を行う際に、電子証明書を付与したファイルを公開し、それに対する評価情報の収集を行うことにより、他のユーザによる評価情報が提供されたスクリプトと、実際にユーザ端末装置2上で実行するスクリプトが同一であることを確実にすることができ、ユーザは安心して本発明に係る暗号化情報保管システムを利用することができる。
【0111】
なお、本実施形態においては、上述したように、HTMLファイルとJavaScriptを用い、暗号化及び復号化に係る処理をユーザ端末装置上で実行する構成を示したが、例えばJava(登録商標)やPHP、Rubyなどのようなプログラム言語を用いて、暗号化情報保管サーバ装置1上で暗号化や復号化を行うような構成としてもよい。このような構成とすることにより、処理能力やJavaScriptの実行可否など、複数のユーザ端末装置2の間における動作環境への依存を低減し、より多くのユーザ端末装置2で、本発明に係る暗号化情報保管システムを利用することができる。
【0112】
あるいは、それぞれのユーザ端末装置2によって、ユーザ端末装置2上での暗号化/復号化処理と、暗号化情報保管サーバ装置1上での暗号化/復号化処理を選択的に実行可能な構成としてもよい。例えば、JavaScriptが実行可能なユーザ端末装置2においては、ユーザ端末装置2上での暗号化/復号化処理を行い、それ以外のユーザ端末装置2を用いる場合には、暗号化情報保管サーバ装置1上での暗号化/復号化処理を行う、といった構成である。このような構成とすることにより、ユーザ端末装置2上での暗号化/復号化処理が可能な場合にはより安全に利用することができ、かつ、それ以外のユーザ端末装置2においても利用可能な暗号化情報保管システムとすることができる。
【実施例】
【0113】
次に実施例を示して本発明を更に詳細に説明するが、本発明は以下の実施例に限定されるものではない。
【0114】
(実施例1)
本実施例は、
図12に示すような、ウェブサイトのログイン情報D1を、本発明に係る暗号情報保管システムによって管理する場合の例である。なお、ログイン情報D1は、任意のタイトルD101、第1鍵のヒント情報D102、平文で保管する第2鍵のヒント情報D103、暗号化して保管する第2鍵のヒント情報D104、サイトURLD105、任意のメモD106、ログインID、パスワード、Emailのそれぞれについての、暗号化レベル情報D107、平文で保管するレベル0データD108、第1鍵によって暗号化するレベル1データD109、第2鍵による暗号化後に第1鍵によって暗号化するレベル2データD110を含むものとする。
【0115】
図13は、本実施例における暗号化HTMLファイルH1の有する入力フォームF12の、ユーザ端末装置2への表示例である。このように、鍵やそのヒント情報、各項目の暗号化レベルと各レベルのデータ等の入力欄と、送信ボタンを有する。
【0116】
図14は、本実施例における復号化HTMLファイルH2の有する入力フォームF23の、ユーザ端末装置2への表示例である。このように、入力フォームF23は、第1及び第2鍵の入力領域と、それらのヒント情報の送信ボタンと表示領域、そして復号化ボタンを有する。
【0117】
そして、復号化処理の結果は、
図15に一例を示すような、復号化HTMLファイルH2の有する復号化済データ表示領域L241によって、ユーザへと提供される。
【0118】
このように、ウェブサイトへのログイン情報のように、任意の組を設定して保管対象データを扱うことで、ユーザはより便利に暗号化情報保管システムを利用することができる。
【0119】
(実施例2)
本実施例は、
図16に示すような、銀行口座情報D2を、本発明に係る暗号情報保管システムによって管理する場合の例である。なお、銀行口座情報D2は、任意のタイトルD201、第1鍵のヒント情報D202、平文で保管する第2鍵のヒント情報D203、暗号化して保管する第2鍵のヒント情報D204、銀行名、銀行番号、支店名、支店番号、口座種別、口座番号、暗証番号、任意のユーザ指定項目の件名、任意のユーザ指定項目の値、乱数表の内容のそれぞれについての、暗号化レベル情報D205、平文で保管するレベル0データD206、第1鍵によって暗号化するレベル1データD207、第2鍵による暗号化後に第1鍵によって暗号化するレベル2データD208を含むものとする。
【0120】
なお、ここでの乱数表とは、「あ」から「お」の5列、「1」から「5」の5行の行列形式で、「あ1」から「お5」までの全25個の値を持つものとする。昨今のインターネットバンキングシステムなどにおける認証には、このような形式の乱数表から、システムによって指定される任意の欄の値を用いた認証がよく用いられている。
【0121】
図17は、本実施例における暗号化HTMLファイルH1の有する入力フォームF12の、ユーザ端末装置2への表示例である。このように、鍵やそのヒント情報、各項目の暗号化レベルと各レベルのデータ等の入力欄と、送信ボタンを有する。
【0122】
なお、ここで、複数の暗号化レベルの値を持つ必要がない項目については、当該項目に対して選択された暗号化レベルの値のみを送信フォームに設定すればよい。その場合、送信フォーム中の他の暗号化レベルのデータの格納領域には、空文字列や予め指定された記号などの任意の値を設定し、意味を持つ値でないことを判別可能としておくことが好ましい。本実施例においては口座種別がこのような項目に該当し、
図17に示すように、ドロップダウンリストにより、1つの値のみの入力を受け付ける構成となっている。
【0123】
そして、復号化処理の結果は、
図18に一例を示すような、復号化HTMLファイルH2の有する復号化済データ表示領域L241によって、ユーザへと提供される。
【0124】
このように、乱数表のようなデータも保管対象データとして取り扱うことができ、暗号化情報保管システムによって様々なデータを管理することができる。
【0125】
(実施例3)
本実施例は、本発明に係る暗号情報保管システムにより、複数のウェブサイトや銀行の情報を統括して管理する場合の例である。本実施例においては、
図19(a)に示すような、ユーザの保管する複数の保管対象データの一覧を暗号化情報保管サーバ装置1によって生成し、ユーザ端末装置2へと表示する。
【0126】
図19(a)に示す一覧には、それぞれのサイトや銀行などのタイトルと、IDのレベル0データ、パスワードのレベル0データが含まれており、ユーザはそれらの情報を閲覧することができる。
【0127】
そして、各タイトルをハイパーリンクとしておき、そのクリックを受けるなど、ユーザからのサイトや銀行などの指定を受け付け、
図19(b)に示すような鍵の入力と復号化済データの表示画面を表示する。
【0128】
図19(b)は、レベル0のデータの表示画面であるため、ID及びパスワードのレベル0のデータが表示されている。
【0129】
そして、第1鍵の入力後、復号ボタンの押下を受けると、
図19(c)のようなレベル1のデータの表示画面へと遷移する。
【0130】
更に、第2鍵の入力後、復号ボタンの押下を受けると、
図19(d)に示すようなレベル2のデータの表示画面へと遷移する。
【0131】
また、
図19(c)に示すようなレベル1のデータの表示画面において第2鍵の入力と復号ボタンの押下を受けた後に、
図19(e)に示すように、ID、パスワードのそれぞれの値をハイパーリンクとしたレベル1のデータの表示画面へと遷移し、各ハイパーリンクのクリック操作によって
図19(f)に示すようにそれぞれの値のみの表示画面へと遷移するような構成としてもよい。このような構成とすれば、必要な情報のみを復号化して表示することができるため、ユーザ端末装置2の利用中に画面を第三者にのぞきこまれ、復号化済の情報が第三者へと渡ってしまうリスクを低減することができる。
【0132】
更に別の構成として、
図19(a)のような一覧画面においてユーザからのサイトや銀行などの指定を受け付けた後、
図20(a)に示すように第1鍵のみの入力領域を持つレベル0のデータの表示画面へと遷移するようにしてもよい。この場合には、レベル0のデータの表示画面において第1鍵の入力を受け、復号ボタンが押下された後に
図20(b)に示すようにID、パスワードのそれぞれのレベル1のデータをハイパーリンクとして表示する。そして、ハイパーリンクのクリックを受けた際に、
図20(c)に示すような、選択された項目のレベル1のデータと第2鍵の入力領域を持つ画面へと遷移し、ここで第2鍵の入力と復号ボタンの押下を受けた際に、
図20(d)に示すように、単一の項目のレベル2のデータを表示する。このような構成とした場合には、復号化済の情報が第三者へと漏れるリスクを低減することができ、また、各項目を表示する際に毎回第2鍵の入力を求めることによって、より強固に情報を保護することができる。
【0133】
銀行情報の乱数表のデータを表示する場合には、レベル0においては
図21(a)に示すように乱数表の形式でレベル0のデータを表示し、第1鍵による復号化処理の後に
図21(b)に示すようなレベル1の復号化済データを表示する画面へと遷移する。そして、レベル1のデータ中からの選択を受けることで、
図21(c)に示すように、乱数表中の1つの値について、レベル2の復号化済データを表示する。
【0134】
このように、レベル0のデータについては、一覧表のような閲覧性の高い形態でユーザへと提供し、レベル2のデータについては個別表示のように必要とされるデータのみを提供する構成とすることにより、暗号化レベルの設定によるデータの取り扱いの違いを、より効果的に利用することができる。
互いに内容に関連性を有する第1の保管対象データと第2の保管対象データを、第1の保管対象データを第1の鍵によって暗号化した第1の暗号化済データと、第2の保管対象データを第2の鍵によって暗号化した第2の暗号化済データを、更に第1の鍵で暗号化した第3の暗号化済データと、として保管する暗号化情報保管システムであって、出力手段が、復号化手段によって復号化した、前記第1の保管対象データの出力と、前記第2の保管対象データの出力と、を行うことを特徴とする。