(57)【特許請求の範囲】
【請求項１】
複数の異なる要素パラメータ値を記憶したテーブル手段と、
このテーブル手段に記憶された各要素パラメータ値に対応したボタン群が所定の配列をなして設けられたダイアログ画面を表示する表示手段と、
この表示手段によって表示されたダイアログ画面上の前記ボタン群の中でオペレータが押下したボタンの位置と順番に基づいて、前記テーブル手段から該当する要素パラメータ値を取得するパラメータ取得手段と、
このパラメータ取得手段によって得られた所定数の要素パラメータ値を所定の計算式に当て嵌めて暗号化の鍵として用いられる暗号化パラメータ値を算出する算出手段と、
この算出手段によって得られた暗号化パラメータ値を用いてデータの暗号化または復号化を行うデータ変換手段と
を具備したことを特徴とする暗号化装置。
【請求項２】
前記ダイアログ画面上の特定のボタン操作により追加指定用画面を表示し、その追加指定用画面で任意に追加された要素パラメータを第２のテーブル手段に記憶すると共に、当該要素パラメータに対応した追加ボタンを前記ダイアログ画面上に表示するパラメータ追加手段をさらに具備し、
前記パラメータ取得手段は、前記パラメータ追加手段によって表示された追加ボタンが押下された場合には、前記第２のテーブル手段から該当する要素パラメータ値を取得することを特徴とする請求項１記載の暗号化装置。
【請求項３】
データを管理するサーバ装置と、このサーバ装置から提供されるデータの検索を行う複数の端末装置とで構成された暗号化システムであって、
前記サーバ装置は、
請求項１または請求項２記載の暗号化装置を備え、前記ダイアログ画面上のボタン操作によって得られる所定数の要素パラメータ値を所定の計算式に当て嵌めて暗号化の鍵として用いられる暗号化パラメータ値を算出し、この暗号化パラメータ値を用いて前記各端末装置に提供するデータを暗号化し、その暗号化データを前記暗号化パラメータ値と共に可搬型の記録媒体に記録して配布し、
前記各端末装置は、
前記サーバ装置から配布された記録媒体に記録された暗号化データに対するデータ検索を行い、その検索結果として得られたデータを前記暗号化パラメータ値に基づいて復号化して表示することを特徴とする暗号化システム。
【請求項４】
記憶装置および表示装置を有し、前記記憶装置には複数の異なる要素パラメータ値を記憶したテーブルが設けられたコンピュータによって実行されるプログラムを記録した記録媒体であって、
コンピュータに、
前記各要素パラメータ値に対応したボタン群が所定の配列をなして設けられたダイアログ画面を前記表示装置に表示させる表示機能と、
前記ダイアログ画面上の前記ボタン群の中でオペレータが押下したボタンの位置と順番に基づいて、前記記憶装置の前記テーブルから該当する要素パラメータ値を取得するパラメータ取得機能と、
このパラメータ取得機能によって得られた所定数の要素パラメータ値を所定の計算式に当て嵌めて暗号化の鍵として用いられる暗号化パラメータ値を算出する算出機能と、
この算出機能によって得られた暗号化パラメータ値を用いてデータの暗号化または復号化を行うデータ変換機能と
を実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース等の機密性を有するデータの暗号化に用いて好適な暗号化装置、暗号化データを提供する端末とその暗号化データの検索を行う端末とからなる暗号化システム及び暗号化プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
データベース等の機密性を有するデータを扱う装置では、そのデータのセキュリティを確保するため、データを暗号化して保存しておくことが要求される。
【０００３】
ここで、データを暗号化する場合に、その暗号化の鍵となるパラメータ値をキー入力にて指定するか、または乱数にて生成する方法が一般的である。現在の暗号では、暗号の安全性を暗号化鍵に帰着させており、この暗号化鍵を知らないと、たとえ暗号化アルゴリズムを知っていても平文（元データ）を得ることはできない。したがって、暗号化鍵をどのようなパラメータ値で設定するのかが非常に重要な問題となる。
【０００４】
【発明が解決しようとする課題】
上述したように、従来、暗号化鍵として用いられるパラメータ値をキー入力にて指定するか、または乱数によって生成していた。しかしながら、キー入力による指定では、その入力操作が面倒であり、しかも単純なパラメータ値しか入力できないため、鍵が解読される可能性がある。また、乱数によって生成する方法では、パラメータ値がランダムに生成されるため、常にその有用性をチェックする必要があり、安全に運用できないといった問題がある。
【０００５】
本発明は前記の課題を解決するためになされたもので、データの暗号化／復号化に共通に用いられるパラメータ値（暗号化鍵）を簡単な操作で確実に指定可能として、データのセキュリティを確保するようにした暗号化装置、暗号化システム及び記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、オペレータに複数の異なる要素パラメータ値の中から所定数の要素パラメータ値を選択させ、その選択された各要素パラメータ値に基づいて暗号化の鍵として用いられる暗号化パラメータ値を算出し、この暗号化パラメータ値を用いてデータを暗号化または復号化を行うようにしたものである。
【０００７】
具体的には、本発明の暗号化装置は、複数の異なる要素パラメータ値を記憶したテーブル手段と、このテーブル手段に記憶された各要素パラメータ値に対応したボタン群が所定の配列をなして設けられたダイアログ画面を表示する表示手段と、この表示手段によって表示されたダイアログ画面上の前記ボタン群の中でオペレータが押下したボタンの位置と順番に基づいて、前記テーブル手段から該当する要素パラメータ値を取得するパラメータ取得手段と、このパラメータ取得手段によって得られた所定数の要素パラメータ値を所定の計算式に当て嵌めて暗号化の鍵として用いられる暗号化パラメータ値を算出する算出手段と、この算出手段によって得られた暗号化パラメータ値を用いてデータの暗号化または復号化を行うデータ変換手段とで構成される。
【０００８】
このような構成によれば、各要素パラメータ値に対応したボタン群を有するダイアログ画面が表示される。オペレータがこのダイアログ画面上のボタン操作により各要素パラメータ値の中から所定数の要素パラメータ値を選択することで、これらの要素パラメータ値からなる暗号化パラメータ値が所定の計算式に従って算出され、この暗号化パラメータ値を暗号化鍵として用いてデータの暗号化処理または復号化処理が実行される。この場合、暗号化パラメータ値はオペレータの選択操作によって任意に作成されたものであり、その都度様々な値を取る。したがって、暗号化鍵の解読を困難にして、データのセキュリティを確保することができる。
【００１０】
また、本発明の暗号化装置は、前記ダイアログ画面上の特定のボタン操作により追加指定用画面を表示し、その追加指定用画面で任意に追加された要素パラメータを第２のテーブル手段に記憶すると共に、当該要素パラメータに対応した追加ボタンを前記ダイアログ画面上に表示するパラメータ追加手段をさらに具備し、前記パラメータ取得手段は、前記パラメータ追加手段によって表示された追加ボタンが押下された場合には、前記第２のテーブル手段から該当する要素パラメータ値を取得することを特徴とする。
これにより、要素パラメータ値の選択範囲が広がり、暗号化パラメータ値に拡張性を持たせてデータの暗号化／復号化を行うことができる。
【００１１】
また、データを管理するサーバ装置と、このサーバ装置から提供されるデータの検索を行う複数の端末装置とで暗号化システムを構築することも可能である。
【００１２】
この暗号化システムでは、サーバ装置に上述した暗号化装置が備えられる。このサーバ装置側にて、ダイアログ画面上のボタン操作によって得られる所定数の要素パラメータ値を所定の計算式に当て嵌めて暗号化の鍵として用いられる暗号化パラメータ値を算出し、この暗号化パラメータ値を用いて前記各端末装置に提供するデータを暗号化し、その暗号化データを前記暗号化パラメータ値と共に記録媒体に記録して配布し、各端末装置側にて、前記配布された記録媒体を用いて、そこに記録された暗号化データに対するデータ検索を行い、その検索結果として得られたデータを前記暗号化パラメータ値に基づいて復号化して表示する。このように、暗号化データを記録媒体に配布する場合でも、その暗号化の鍵として用いられる暗号化パラメータ値はオペレータの選択操作によって任意に作成されたものであり、その都度様々な値を取る。したがって、暗号化鍵の解読を困難にして、そのデータのセキュリティを確保することができる。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００１４】
（第１の実施形態）
図１は本発明の第１の実施形態に係る暗号化装置の機能構成を示すブロック図である。本実施形態における暗号化装置は、データベースを暗号化対象とし、オペレータによって任意選択的に指定されたパラメータ値を用いてデータベースの暗号化を行う機能を備えたものであって、例えば磁気ディスク等の記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現される。
【００１５】
なお、プログラムを記憶しておくためのデバイスとしては、ＲＯＭやＲＡＭ等の半導体メモリの他に、磁気的、光学的記録媒体で構成することができる。この記録媒体はＣＤ-ＲＯＭ等の可搬型の媒体やハードディスク等の固定的な媒体を含む。また、この記録媒体に格納するプログラムは、その一部若しくは全部をサーバやクライアントからネットワーク回線などの伝送媒体を介して伝送制御部から受信する構成にしてもよく、更に、前記記録媒体はネットワーク上に構築されたサーバの記録媒体であってもよい。更に、前記プログラムをネットワーク回線などの伝送媒体を介してサーバーやクライアントへ伝送してこれらの機器にインストールするように構成してもよい。
【００１６】
図１に示すように、本装置には、暗号化パターン選択部１１、暗号化パターン定義部１２、パラメータファイル１３、システム制御部１４、暗号化処理部１５、暗号化ファイル１６、復号化処理部１７、復号化ファイル１８、表示部１９、データベースＩ／Ｆ２０が設けられている。
【００１７】
暗号化パターン選択部１１は、オペレータが後述する暗号化パターン指定ダイアログ（図２参照）にて暗号化パターン（要素パラメータ値）の選択操作を行うための入力部であり、例えばキーボード、マウス等によって構成される。暗号化パターン定義部１２は、暗号化パターン選択部１１によるオペレータの選択操作によって得られる暗号化パターンを暗号化パターン定義テーブルＴ３に登録するための処理を行う。
【００１８】
パラメータファイル１３は、パラメータ定義テーブルＴ１及び追加パラメータ定義テーブルＴ２を記憶している。これらのパラメータ定義テーブルＴ１、Ｔ２は、後述するパターン選択用の各種ボタンに対応したパラメータ値を定義したテーブルである。このうち、パラメータ定義テーブルＴ１は予め用意されたデフォルトボタン３１に対応したパラメータ値を有し（図４参照）、追加パラメータ定義テーブルＴ２はオペレータが任意に作成した追加ボタン３５に対応したパラメータ値を有する（図９参照）。
【００１９】
システム制御部１４は、本装置全体の制御を行うものであり、例えばＣＰＵによって構成され、ここではデータベースＩ／Ｆ２０を通じて外部データベース記憶装置２１の中から暗号化対象として指定されたデータベースを読み出し、そのデータベースの各レコードを１バイト単位で暗号化処理部１５に与えて暗号化したり、暗号化されたデータベースの各レコードを１バイト単位で復号化処理部１７に与えて復号化するなど、本装置の一連の処理動作を実行する。また、このシステム制御部１４には、オペレータが指定した暗号化パターンを登録したおくための暗号化パターン定義テーブルＴ３（図５参照）が設けられている。この暗号化パターン定義テーブルＴ３は、暗号化パターン定義部１２によって作成される。
【００２０】
暗号化処理部１５は、システム制御部１４の制御の下で暗号化対象として指定されたデータベースを暗号化し、その結果として得られた暗号化データを暗号化ファイル１６に保存する処理を行う。また、復号化処理部１７は、システム制御部１４の制御の下で復号化対象として指定されたデータベースを復号化し、その結果として得られた復号化データを復号化ファイル１８に保存する処理を行う。なお、これらのファイル１６、１８は、前記パラメータファイル１３と共に例えばＲＡＭや磁気ディスク装置等の記憶装置内に設けられる。
【００２１】
表示部１９は、データの表示を行うためのものであり、ここではパターン選択操作に必要な各種ダイアログ画面を表示する。この表示部１９としては、例えばＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode-ray tube）等が用いられる。
【００２２】
データベースＩ／Ｆ２０は、本装置とは独立して設けられた外部データベース記憶装置２１との間でデータの授受を行うためのインタフェースである。この外部データベース記憶装置２１は、複数のデータベースファイル（オリジナルデータ）を有しており、これらのデータベースファイルは本装置からのアクセスによって選択的に読み出されるように構成されている。
【００２３】
次に、本装置の動作を説明する前に、本装置の暗号化パターンの選択操作について説明する。
【００２４】
図２は暗号化パターン指定ダイアログの構成を示す図である。
【００２５】
データベースの暗号化を行う際に、図２に示すような暗号化パターン指定ダイアログが表示部１９に表示される。この暗号化パターン指定ダイアログは、オペレータが暗号化パターンを任意選択的に指定するための画面であり、その画面上にパターン選択用のデフォルトボタン３１、ＯＫボタン３２、キャンセルボタン３３、追加指定ボタン３４、追加ボタン３５が設けられている。
【００２６】
パターン選択用のデフォルトボタン３１は複数個（ここでは１６個）のボタンからなり、オペレータがこれらのボタンの中の任意のボタンを押下すると、その押下したボタンの位置と順序により暗号化方式（鍵）が決定される。ＯＫボタン３２は暗号化パターンの指定を確定するためのボタン、キャンセルボタン３３は暗号化パターンの指定を取り消すためのボタンである。
【００２７】
また、追加指定ボタン３４は暗号化パターンの追加を指示するためのボタン、追加ボタン３５はその暗号化パターン追加時に表示されるパターン選択用ボタンである。なお、これらのボタン３４、３５を用いた暗号化パターンの追加操作については後に図７乃至図１０を参照して説明する。
【００２８】
まず、デフォルトボタン３１を用いた暗号化パターンの選択操作について説明する。
【００２９】
暗号化パターンの選択は、暗号化パターン指定ダイアログ上でデフォルトボタン３１の中の所定数分のボタンを押下することで行う。例えば、ボタン選択数を３個とした場合には、図３（ａ）〜（ｃ）に示すように、画面上に１６個用意されたデフォルトボタン３１の中の３つのボタンを順に押下してオンにする。この場合、ボタンをオンすると、当該ボタンの表示形態（形状または色）が変更されるようになっている。この表示形態の変更により、どのボタンを押下したのかを画面上で確認することができる。また、各ボタンを押下したときの順番に従って、それぞれのボタン上に押下順番を示す番号（１，２，３）が表示されるようになっている。この番号表示により、何番目に押下したボタンしたのかを画面上で確認することができる。３個分のボタンを押下すると、これらのボタンの位置と順番に従って暗号化方式（鍵）が決定される。
【００３０】
また、一度選択したパターンを変更する場合には、図３（ｃ）〜（ｄ）に示すように、まず、番号が表示されているボタン、つまり、既に選択されているボタンを再度押下してオフにする。この例では、２番目に押下していたボタンをオフにしている。このとき、当該ボタンの表示形態（形状または色）は初期状態に戻る。続いて、図３（ｅ）に示すように、別のボタンを押下すると、そのボタン上に直前にオフにしたボタンの押下順番である「２」が表示される。これにより、当該ボタンを２番目に選択したものとしてパターンの変更がなされる。
【００３１】
図４にパラメータ定義テーブルＴ１の一例を示す。
【００３２】
デフォルトボタン３１を構成する各ボタンには、その配列位置に従ったボタン番号が割り付けられている。パラメータ定義テーブルＴ１には、これらのボタン番号に対応させて要素パラメータ値が予め定義されている。すなわち、ボタン番号「１」に対しては要素パラメータ値「５」、ボタン番号「２」に対しては要素パラメータ値「７」、ボタン番号「３」に対しては要素パラメータ値「９」…といったように、各ボタンに対して異なる要素パラメータ値が予め定義されている。なお、これらの要素パラメータ値をオペレータが任意に設定できるようにしても良い。
【００３３】
ここで、ボタン選択数を３個として、オペレータが前記暗号化パターン指定ダイアログにてデフォルトボタン３１の中の３個のボタンを押下すると、それらのボタンの番号と順番を示す情報が暗号化パターン定義テーブルＴ３に登録される。
【００３４】
図５及び図６に具体例を示す。
【００３５】
暗号化パターン定義テーブルＴ３には、「デフォルトパラメータ数」、「追加パラメータファイル名」、「追加パラメータ数」、「選択ボタン番号１」、「選択ボタン番号２」、「選択ボタン番号３」といった項目が設けられている。
【００３６】
今、オペレータが図５に示すような順番でデフォルトボタン３１の中の３個のボタンを押下したとする（図中の番号はボタンを押下した順番を示している）。１番目に押下したボタンは図４に示すようにボタン番号「１」である。したがって、暗号化パターン定義テーブルＴ３の「選択ボタン番号１」の項目に「１」が登録される。また、２番目に押下したボタンはボタン番号「１０」、３番目に押下したボタンはボタン番号「８」である。したがって、暗号化パターン定義テーブルＴ３の「選択ボタン番号２」の項目に「１０」、「選択ボタン番号３」の項目に「８」がそれぞれ登録される。
【００３７】
また、暗号化パターン定義テーブルＴ３の「デフォルトパラメータ数」の項目には、デフォルトボタン３１の個数である「１６」が登録される。
【００３８】
一方、２番目に押下したボタンを取り消して、図６に示すように番号「３」のボタンを新たに押下したとすると、暗号化パターン定義テーブルＴ３の「選択ボタン番号２」の項目には「３」が登録されることになる。
【００３９】
次に、暗号化パターンの追加操作について説明する。
【００４０】
本実施形態では、予め用意された要素パラメータ値とは別に、オペレータが任意に指定した要素パラメータ値を追加することができる。要素パラメータ値の追加は、図２に示す暗号化パターン指定ダイアログに設けられた追加指定ボタン３４を操作することで行う。追加指定ボタン３４を押下すると、図７に示すような追加パターン指定ダイアログが表示される。この追加パターン指定ダイアログには、ファイル名を指定するためのファイル名入力欄４１、その指定操作を確定するためのＯＫボタン４２、その指定操作を取り消すためのキャンセルボタン４３が設けられている。
【００４１】
オペレータがファイル名入力欄４１に例えば「Ａｄｄｐａｒａｍ．ｄａｔ」といった任意のファイル名を入力した後、ＯＫボタン４２を押下すると、図８に示すようなパラメータ指定ダイアログが表示される。このパラメータ指定ダイアログには、要素パラメータ値を追加指定するためのパラメータ入力欄５１、その指定操作を確定するためのＯＫボタン５２、その指定操作を取り消すためのキャンセルボタン５３が設けられている。
【００４２】
このパラメータ指定ダイアログ上で提示されたボタン番号に従ってオペレータが任意の要素パラメータ値をパラメータ入力欄５１に入力した後、ＯＫボタン５２を押下すると、そのときの要素パラメータ値が前記指定ファイル名で管理される追加パラメータ定義テーブルＴ２に登録される。ここで追加入力された要素パラメータの個数に応じてパターン選択用の追加ボタン３５が作成される。
【００４３】
図９及び図１０に具体例を示す。
【００４４】
今、４つの要素パラメータ値が追加されたとすると、図９に示すように、４個分の追加ボタン３５が作成される。これらの追加ボタン３５には、ボタン番号が自動的に付される。本実施形態では、デフォルトボタン３１として１６個分用意されており、これらのデフォルトボタン３１に対して「１」〜「１６」の番号が予め付されているので、追加ボタン３５に対しては「１７」〜「２０」の番号が付されることになる。
【００４５】
また、追加パラメータ定義テーブルＴ２には、これらの追加ボタン３５の番号「１７」〜「２０」とオペレータの指定した要素パラメータ値が登録される。図９の例では、ボタン番号「１７」に対して要素パラメータ値「３７」、ボタン番号「１８」に対して要素パラメータ値「３９」、ボタン番号「１９」に対して要素パラメータ値「４１」、ボタン番号「２０」に対して要素パラメータ値「４３」が登録されている。これらの要素パラメータ値はオペレータが前記パラメータ入力欄５１を通じて任意に入力したものである。
【００４６】
このような暗号化パターンの追加操作の後、オペレータが図１０に示すような順番で３個分のボタンを押下したとする。この場合、追加ボタン３５についてもデフォルトボタン３１と同様に、押下されたときに表示形態（形状または色）が変更されると共に、押下順番を示す番号が表示される。
【００４７】
図１０の例で、オペレータが１番目に押下したボタンはデフォルトボタン３１であり、そのボタン番号は図９に示すように「１」であることから、暗号化パターン定義テーブルＴ３の「選択ボタン番号１」の項目に「１」が登録される。２番目に押下したボタンは追加ボタン３５であり、そのボタン番号は図９に示すように「１８」であることから、暗号化パターン定義テーブルＴ３の「選択ボタン番号２」の項目に「１８」が登録される。３番目に押下したボタンはデフォルトボタン３１であり、そのボタン番号は図９に示すように「８」であることから、「選択ボタン番号３」の項目に「８」が登録される。
【００４８】
また、暗号化パターン定義テーブルＴ３の「デフォルトパラメータ数」の項目には、デフォルトボタン３１の個数である「１６」が登録される。さらに、「追加パラメータファイル名」の項目には「Ａｄｄｐａｒａｍ．ｄａｔ」、「追加パラメータ数」には追加ボタン３５の個数である「４」が登録される。
【００４９】
以下、フローチャートを参照して本装置の動作について説明する。
【００５０】
ここでは、（ａ）データベースを暗号化する場合の処理と、（ｂ）データベースを復号化する場合の処理に分けて説明する。なお、このフローチャートで示す各機能を実現するプログラムはＣＰＵ（システム制御部１４）が読み取り可能なプログラムコードの形態で磁気ディスク等の記録媒体に格納されている。また、このプログラムはプログラムコードの形態でネットワーク回線などの伝送媒体を介して伝送することもできる。
【００５１】
（ａ）データベースの暗号化
図１１は本装置にて実行されるデータベース暗号化処理の動作を示すフローチャートである。今、データベースが暗号化されていない状態で外部データベース記憶装置２１に記憶されているものとする。
【００５２】
データベースの暗号化を行う場合に、まず、図１１のフローチャートに示すように、暗号化前処理が実行される（ステップＡ１１）。この暗号化前処理とは、オペレータに暗号化パターン（要素パラメータ値）を指定させ、その指定された暗号化パターンに基づいて暗号化鍵（暗号化パラメータ値）を生成する処理を行うことである。
【００５３】
図１２に暗号化前処理のフローチャートを示す。
【００５４】
データベースの暗号化時に図２に示すような暗号化パターン指定ダイアログが表示部１９に表示される（ステップＢ１１）。この暗号化パターン指定ダイアログには、パターン選択用の複数個のデフォルトボタン３１が設けられており、オペレータはこれらのデフォルトボタン３１の中の任意のボタンを押下することで暗号化パターンの指定を行うことができる。デフォルトボタン３１はシステムが予め用意したボタンであり、所定の要素パラメータ値を有する。このデフォルトボタン３１とは別に、追加指定ボタン３４を押下することで、オペレータが任意に指定した要素パラメータ値を有する追加ボタン３５を作成し、この追加ボタン３５を加えて暗号化パターンを指定することも可能である。
【００５５】
オペレータが追加指定ボタン３４を押下すると（ステップＢ１２のＹｅｓ）、図７に示すような追加パターン指定ダイアログが表示部１９に表示される（ステップＢ１３）。この追加パターン指定ダイアログにて、追加パラメータのファイルを作成した後（ステップＢ１４）、図８に示すようなパラメータ指定ダイアログにて、任意の要素パラメータ値を追加指定する（ステップＢ１５）。
【００５６】
詳しくは、図７の追加パターン指定ダイアログに設けられたファイル名入力欄４１に例えば「Ａｄｄｐａｒａｍ．ｄａｔ」といった任意のファイル名を入力する。ＯＫボタン４２を押下してファイル名の入力を確定すると、図８のパラメータ指定ダイアログが表示される。このパラメータ指定ダイアログに設けられたパラメータ入力欄５１に任意の要素パラメータ値を入力する。ＯＫボタン５２を押下して要素パラメータ値の入力を確定すると、図９に示すように、そのときの要素パラメータ値が前記指定ファイル名で管理される追加パラメータ定義テーブルＴ２に登録されると共に、追加入力された要素パラメータの個数に応じてパターン選択用の追加ボタン３５が図２の暗号化パターン指定ダイアログに作成される。
【００５７】
暗号化パターン指定ダイアログが表示された状態で、オペレータがデフォルトボタン３１または追加ボタン３５を所定数（ここでは３個）押下することで暗号化パターンの選択を行うと、そのときのボタン押下情報が暗号化パターン選択部１１を通じて暗号化パターン定義部１２に与えられる（ステップＢ１６）。暗号化パターン定義部１２は、前記ボタン押下情報に従ってオペレータが押下した各ボタンに対応した番号とその順番を暗号化パターン定義テーブルＴ３に登録する（ステップＢ１７）。例えば、図５に示すような順番で３つのデフォルトボタン３１を押下したとすると、暗号化パターン定義テーブルＴ３にボタン番号「１」，「１０」，「８」が順に登録されることになる。
【００５８】
選択パターンを変更する場合には（ステップＢ１８のＹｅｓ）、変更元のボタンを再度押下して当該ボタンによる選択パターンをクリアした後、変更対象となる新たなボタンを押下する（ステップＢ１９）。暗号化パターン定義部１２は、このときの変更後のボタン押下情報を受けて暗号化パターン定義テーブルＴ３の登録内容を更新する（ステップＢ２０）。例えば、図５のパターン選択状態から図６のように２番目の選択パターンを変更した場合には、暗号化パターン定義テーブルＴ３の「選択ボタン番号２」に格納されていたボタン番号の「１０」が「３」に更新されることになる。
【００５９】
このようにして、パターン選択用として予め用意されたデフォルトボタン３１またはオペレータが新規に作成した追加ボタン３５を押下操作して暗号化パターンの選択を行った後、ＯＫボタン３２を押下すれば、そのときの選択内容が確定される。また、その選択内容を取り消す場合には、キャンセルボタン３３を押下すれば良い。
【００６０】
キャンセルボタン３３を押下して取り消しを指示すると（ステップＢ２２のＹｅｓ）、そのボタン押下情報が暗号化パターン選択部１１を通じて暗号化パターン定義部１２に与えられ、暗号化パターン定義部１２は暗号化パターン定義テーブルＴ３の登録内容をすべてクリアする（ステップＢ２３）。
【００６１】
一方、ＯＫボタン３２を押下して確定を指示すると（ステップＢ２１のＹｅｓ）、そのボタン押下情報が暗号化パターン選択部１１を通じて暗号化パターン定義部１２に与えられ、暗号化パターン定義部１２は暗号化パターンが確定されたことをシステム制御部１４に通知する。これにより、システム制御部１４は暗号化パターン定義テーブルＴ３の登録内容に基づいて、パラメータファイル１３内のパラメータ定義テーブルＴ１及び追加パラメータ定義テーブルＴ２から要素パラメータ値を取得する（ステップＢ２４）。
【００６２】
この場合、例えばデフォルトボタン３１のみを用いてパターン選択がなされ、暗号化パターン定義テーブルＴ３に図６のような情報が登録されていたとすると、システム制御部１４では、図４に示すパラメータ定義テーブルＴ１から１番目の選択ボタンに対してボタン番号「１」に対応した要素パラメータ値「５」を読み出し、２番目の選択ボタンに対してボタン番号「３」に対応した要素パラメータ値「９」、３番目の選択ボタンに対してボタン番号「８」に対応した要素パラメータ値「１９」を順に読み出すことになる。また、デフォルトボタン３１と追加ボタン３５を用いてパターン選択がなされ、暗号化パターン定義テーブルＴ３に図１０のような情報が登録されていたとすると、２番目に選択されたボタンに対しては、図９に示すように、ファイル名「Ａｄｄｐａｒａｍ．ｄａｔ」で管理された追加パラメータ定義テーブルＴ２からボタン番号「１８」に対応した要素パラメータ値「３９」を読み出すことになる。
【００６３】
このようにして、パラメータ定義テーブルＴ１または追加パラメータ定義テーブルＴ２から選択パターンに対応した各要素パラメータ値が得られると、システム制御部１４はこれらの要素パラメータ値に基づいて暗号化パラメータ値Ｐ（暗号化の鍵）を算出して内部に保持する（ステップＢ２５）。
【００６４】
ここで、本装置では、以下のような暗号化／復号化のアルゴリズムが与えられている。
【００６５】
暗号化：Ｙ＝Ｘ＋Ｐ＋１                                …（１）
復号化：Ｘ＝Ｙ−Ｐ−１                                …（２）
Ｘは暗号化対象データ（平文）、Ｙは復号化対象データ（暗号文）である。また、Ｐは暗号化の鍵として用いられるパラメータ値であり、以下のような式で表される。
【００６６】
Ｐ＝ｍｏｄ（ｐ１，３）＋ｍｏｄ（ｐ２，４）＋ｍｏｄ（ｐ３，５）  …（３）
ｍｏｄ（ｐｎ，ｍ）はｐｎをｍで除算した余り、ｐｎはボタン選択番号に対応する要素パラメータ値、ｍは定数である。
【００６７】
前記ステップＢ２５では、パラメータ定義テーブルＴ１または追加パラメータ定義テーブルＴ２から読み出した選択パターンに対応した各要素パラメータ値をｐ１，ｐ２，ｐ３として前記式（３）に代入することで、暗号化パラメータ値Ｐを算出している。
【００６８】
具体的に説明すると、オペレータが指定した暗号化パターンが図１４（ａ）に示すような場合（ボタン番号「１」，「１０」，「８」が選択された場合）には、各要素パラメータ値はｐ１＝５、ｐ２＝２３、ｐ３＝１９であり、前記式（３）に従って暗号化パラメータ値Ｐは、
0003849370.tif 000002
となる。また、図１４（ｂ）に示すような場合（ボタン番号「１１」，「１６」，「６」が選択された場合）には、各要素パラメータ値はｐ１＝２５、ｐ２＝３５、ｐ３＝１５であり、前記式（３）に従って暗号化パラメータ値Ｐは、
0003849370.tif 000003
となる。このようにして求められた暗号化パラメータ値Ｐは暗号化の鍵として用いられる。
【００６９】
以上が暗号化前処理である。
【００７０】
図１１のフローチャートにおいて、暗号化前処理の終了後、暗号化対象となるデータベースを指定する（ステップＡ１２）。本実施形態では、本装置とは独立した外部データベース記憶装置２１に各種のデータベース（元データ）を保持している。したがって、暗号化を行う場合には、データベースＩ／Ｆ２０を介して外部データベース記憶装置２１にアクセスし、その中から暗号化対象となるデータベースを指定するといった操作が必要となる。
【００７１】
システム制御部１４はそのデータベースの各レコードを先頭から順に指定し（ステップＡ１３）、そのレコードを構成する各データを１バイト単位で取り出し、これを変換対象データＸとして前記暗号化前処理にて得られた暗号化パラメータ値Ｐと共に暗号化処理部１５に与える（ステップＡ１４）。暗号化処理部１５では、この変換対象データＸを所定の変換式に従ってデータＹに変換し（ステップＡ１５）、暗号化ファイル１６に保存する（ステップＡ１６）。
【００７２】
この場合、データＸは暗号化前のデータ（平文）、データＹは暗号化後のデータ（暗号文）であり、ＸからＹへの変換（暗号化）は前記式（１）の暗号化アルゴリズムに従って行われる。この変換処理が当該レコードの最終バイトまで順に行われると（ステップＡ１７のＹｅｓ）、システム制御部１４は次のレコードを指定して、前記同様の処理を繰り返す（ステップＡ１８）。すべてのレコードに対する処理が終了すると、暗号化ファイル１６に暗号化されたデータベースが保持されることになる。
【００７３】
ここで、前記ＸからＹへの変換（暗号化）について具体例を挙げて説明する。
【００７４】
図１４（ａ）に示すように、暗号化パラメータ値Ｐとして「９」が得られている場合には、前記式（１）の暗号化アルゴリズムにより、
0003849370.tif 000004
である。
【００７５】
例えば、Ｘ＝３０（１６進）の場合には、
0003849370.tif 000005
となる。よって、平文「３０／３１／３２／６１／６２／６３／４１／４２／４３」（１６進）を前記暗号化アルゴリズムにより暗号化すると、「３ａ／３ｂ／３ｃ／６ｂ／６ｃ／６ｄ／４ｂ／４ｃ／４ｄ」（１６進）といった暗号文を得ることができる。
【００７６】
また、図１４（ｂ）に示すように、暗号化パラメータ値Ｐとして「４」が得られている場合には、前記式（１）の暗号化アルゴリズムにより、
0003849370.tif 000006
である。
【００７７】
例えば、Ｘ＝３０（１６進）の場合には、
0003849370.tif 000007
となる。よって、平文「３０／３１／３２／６１／６２／６３／４１／４２／４３」（１６進）を前記暗号化アルゴリズムにより暗号化すると、「３５／３６／３７／６６／６７／６８／４６／４７／４８」（１６進）といった暗号文を得ることができる。
【００７８】
この場合、前記暗号化アルゴリズムに用いられている暗号化パラメータ値Ｐは、上述したようにオペレータのボタン選択操作によって任意に作成されたものであり、その都度様々な値を取る。したがって、暗号化鍵の解読を困難として、データのセキュリティを確保することができ、また、アルゴリズムをさらに複雑化した式で構築すれば、さらにセキュリティを強化することができる。
【００７９】
（ｂ）データベースの復号化
次に、データベースを復号化する場合の処理について説明する。データの復号化は基本的には暗号化の処理とは逆の処理を行えば良い。
【００８０】
図１３は本装置にて実行されるデータベース暗号化処理の動作を示すフローチャートである。今、前記（ａ）の暗号化処理により暗号化ファイル１６にデータベースが暗号化された状態で記憶されているものとする。
【００８１】
データベースの復号化を行う場合に、まず、図１３（ａ）のフローチャートに示すように、復号化前処理が実行される（ステップＣ１１）。この復号化前処理とは、前記暗号化時にオペレータが指定した暗号化パターンに基づいて暗号化鍵を生成する処理を行うことである。
【００８２】
図１３（ｂ）に復号化前処理のフローチャートを示す。
【００８３】
システム制御部１４は、暗号化パターン定義テーブルＴ３に既に登録されている各選択ボタンに対応したパラメータ値をパラメータ定義テーブルＴ１及び追加パラメータ定義テーブルＴ２から取得する（ステップＤ１１）。次に、システム制御部１４は、これらのパラメータ値を要素パラメータ値ｐ１，ｐ２，ｐ３として所定の演算式に代入して復号化パラメータ値（暗号化パラメータ値Ｐ）を算出し、内部に保存する（ステップＤ１２）。
【００８４】
前記復号化パラメータ値は、上述した暗号化パラメータ値Ｐと同じものであり、前記式（３）に示したように、
Ｐ＝ｍｏｄ（ｐ１，３）＋ｍｏｄ（ｐ２，４）＋ｍｏｄ（ｐ３，５）
といった演算式にて得られる。
【００８５】
このような復号化前処理の終了後、図１３（ａ）に示すように、復号化対象となるデータベースを指定する（ステップＣ１２）。これは、オペレータが暗号化ファイル１６内に記憶された各種データベース（暗号化データ）の中から所望のデータベースを指定することである。
【００８６】
復号化対象となるデータベースが指定されると、システム制御部１４はそのデータベースの各レコードを先頭から順に指定し（ステップＣ１３）、そのレコードを構成する各データを１バイト単位で取り出し、これを変換対象データＹとして前記復号化前処理にて得られた復号化パラメータ値（暗号化パラメータ値Ｐ）と共に復号化処理部１７に与える（ステップＣ１４）。復号化処理部１７では、この変換対象データＹを所定の変換式に従ってデータＸに変換し（ステップＣ１５）、復号化ファイ１８に保存する（ステップＣ１６）。
【００８７】
この場合、データＹは暗号化後のデータ（暗号文）、データＸは暗号化前のデータ（平文）であり、ＹからＸへの変換（復号化）は前記式（２）の復号化アルゴリズムに従って行われる。この変換処理が当該レコードの最終バイトまで順に行われると（ステップＣ１７のＹｅｓ）、システム制御部１４は次のレコードを指定して、前記同様の処理を繰り返す（ステップＣ１８）。すべてのレコードに対する処理が終了すると、復号化ファイル１６に復号化されたデータベースが保持されることになる。
【００８８】
ここで、前記ＹからＸへの変換（復号化）について具体例を挙げて説明する。
【００８９】
図１４（ａ）に示すように、復号化パラメータ値（暗号化パラメータ値Ｐ）として「９」が得られている場合には、前記式（２）の復号化アルゴリズムにより、
0003849370.tif 000008
である。
【００９０】
例えば、Ｙ＝３ａ（１６進）の場合には、
0003849370.tif 000009
となる。よって、暗号文「３ａ／３ｂ／３ｃ／６ｂ／６ｃ／６ｄ／４ｂ／４ｃ／４ｄ」（１６進）を前記復号化アルゴリズムにより復号化すると、「３０／３１／３２／６１／６２／６３／４１／４２／４３」（１６進）といった平文を得ることができる。
【００９１】
また、図１４（ｂ）に示すように、復号化パラメータ値（暗号化パラメータ値Ｐ）として「４」が得られている場合には、前記式（２）の復号化アルゴリズムにより、
0003849370.tif 000010
である。
【００９２】
例えば、Ｙ＝３５（１６進）の場合には、
0003849370.tif 000011
となる。よって、暗号文「３５／３６／３７／６６／６７／６８／４６／４７／４８」（１６進）を前記暗号化アルゴリズムにより復号化すると、「３０／３１／３２／６１／６２／６３／４１／４２／４３」（１６進）といった平文を得ることができる。
【００９３】
この場合も前記暗号化時と同様に、前記復号化アルゴリズムに用いられている復号化パラメータ値（暗号化パラメータ値Ｐ）は、上述したようにオペレータのボタン選択操作によって任意に作成されたものであり、その都度様々な値を取る。したがって、暗号化鍵の解読を困難として、データのセキュリティを確保することができ、また、アルゴリズムをさらに複雑化した式で構築すれば、さらにセキュリティを強化することができる。
【００９４】
（第２の実施形態）
前記第１の実施形態では、本発明を装置単体で構成したが、データベース管理を行う端末とデータベース検索を行う端末とに分けて、これらの端末で暗号化システムを構築することも可能である。
【００９５】
以下に、このような暗号化システムについて説明する。
【００９６】
図１５は本発明の第２の実施形態に係る暗号化システムの構成を示すブロック図である。本システムは、１台のサーバ装置１００と複数台（ここでは３台のみ示す）の携帯端末２００ａ，２００ｂ，２００ｃ…とで構成される。サーバ装置１００と各携帯端末２００ａ，２００ｂ，２００ｃ…との間はオフラインであり、データの授受は記録媒体４００ａ，４００ｂ，４００ｃ…を通じて行われる。
【００９７】
サーバ装置１００は、データベースサービスを行うサーバコンピュータとして用いられるものであって、各端末に配布するデータの収集処理を行う配布データ収集装置１０１、データベースの暗号化処理を行う暗号化装置１０２、各種アプリケーションソフト（ＡＰ）を格納したＡＰソフト格納部１０３、各種のデータベースを格納したデータベース格納部１０４を備えている。ＡＰソフト格納部１０３及びデータベース格納部１０４は、例えば磁気ディスク装置等のデータ記憶装置によって構成される。この他、サーバ装置１００には、特に図示しないが、汎用コンピュータに標準装備されている表示装置、入力装置等も設けられている。
【００９８】
一方、携帯端末２００ａ，２００ｂ，２００ｃ…は、サーバ装置１００からデータベースの提供を受けるクライアントコンピュータとして用いられるものである。携帯端末２００ａは、暗号化されたデータベースを復号化処理する復号化装置２０１ａ、データベース検索処理を行うデータベース検索装置２０２ａを備えている。携帯端末２００ｂ，２００ｃについても同様の構成であり、それぞれに復号化装置２０１ｂ，２０１ｃ、データベース検索装置２０２ｂ，２０２ｃを備えている。また、携帯端末２００ａ，２００ｂ，２００ｃには、特に図示しないが、表示装置、入力装置等の他、媒体読込み装置も設けられている。これらの携帯端末２００ａ，２００ｂ，２００ｃ…は、オンライン上でデータを閲覧するためのブラウザ機能を備えておらず、サーバ装置１００との間のデータの授受はすべて記録媒体４００ａ，４００ｂ，４００ｃ…を通じて行うように構成されている。
【００９９】
記録媒体４００ａ，４００ｂ，４００ｃ…は、例えばＣＦカード（コンパクトフラッシュメモリカード）からなる可搬型の記録媒体である。カードリーダ／ライタ３００は、これらの記録媒体４００ａ，４００ｂ，４００ｃ…に対するデータの書込みや読出しを行うためのデバイスであり、サーバ装置１００に接続されている。
【０１００】
このような構成において、サーバ装置１００側では、データベース格納部１０４内の各種データベースの中でオペレータが指定したデータベースを読み込み、暗号化装置１０２を通じて暗号化する。この場合、暗号化装置１０２では、前記第１の実施形態と同様の手法によりデータベースを暗号化する。すなわち、オペレータのボタン選択操作によって指定された暗号化パターン（各要素パラメータ値）に基づいて暗号化パラメータ値Ｐを算出し、その暗号化パラメータ値Ｐを暗号化の鍵として用いてデータベースを暗号化する。この場合、暗号化パラメータ値Ｐの算出は前記式（３）に示す演算式、暗号化のアルゴリズムは前記（１）式に示す変換式が用いられる。
【０１０１】
ここで、暗号化装置１０２によって暗号化されたデータベースをファイルに保存し、この暗号化ファイルを例えばＣＦカード等の可搬型記録媒体４００ａ，４００ｂ，４００ｃ…にカードリーダ／ライタ３００を用いて格納する。この場合、記録媒体４００ａ，４００ｂ，４００ｃ…に暗号化ファイルを格納する際に、図１６に示すように、暗号化データファイル４０２の他に、暗号化パラメータ値（Ｐ）４０３、さらにアプリケーションプログラム４０１も格納しておく。なお、アプリケーションプログラム４０１は、データベース検索用のプログラムであり、ＡＰソフト格納部１０３内に保持されていたものである。
【０１０２】
これらの情報が格納された記録媒体４００ａ，４００ｂ，４００ｃ…は、携帯端末２００ａ，２００ｂ，２００ｃ…を扱う各ユーザにそれぞれ配布される。各ユーザは、配布された記録媒体４００ａ，４００ｂ，４００ｃ…を自身が持つ端末に挿入することで、データ検索を行うことができる。
【０１０３】
すなわち、例えば携帯端末２００ａであれば、配布された記録媒体４００ａを挿入することで、その記録媒体４００ａに記録されていたデータ検索用のアプリケーションプログラム４０１、暗号化データファイル４０２の他に、暗号化パラメータ値（Ｐ）４０３を読み込む。そして、データ検索用のアプリケーションプログラム４０１を起動し、暗号化データファイル４０２に対するデータ検索を行い、その検索結果として得られたデータを用いて復号化して表示する。
【０１０４】
データ検索は、携帯端末２００ａに設けられたデータベース検索装置２０２ａにて行われる。このデータベース検索装置２０２ａは、データ検索用のアプリケーションプログラム４０１に従ってデータベース検索処理を実行する。また、データの復号化は、復号化装置２０１ａにて行われる。この復号化装置２０１ａは、暗号化パラメータ値（Ｐ）４０３を用いて前記第１の実施形態と同様のデータベース復号化処理を実行する。この場合、復号化のアルゴリズムは前記（２）式に示す変換式が用いられる。
【０１０５】
このように、データベース管理を行う端末とデータベース検索を行う端末とに分けて暗号化システムを構築するようにすれば、例えば顧客管理用のデータベースを暗号化して記録媒体に記録し、これを営業マンに配布し、営業マンは別の端末を用いてデータ検索を行うといったような利用が可能となる。この場合、記録媒体に記録されたデータベースは上述したような手法にて暗号化されているため、そのデータの機密性を保持することができる。また、記録媒体には、暗号化ファイルだけでなく、データ検索用のアプリケーションプログラムも格納されている。したがって、携帯端末側にはデータ検索用のアプリケーションプログラムを搭載しておく必要はなく、簡易な構成の携帯端末で本システムを実現できるといった利点がある。
【０１０６】
なお、前記第１及び第２の実施形態では、データベースを暗号化する場合を想定して説明したが、本発明はデータベースに限らず、機密性を有するデータ一般に適用可能である。
【０１０７】
【発明の効果】
以上詳記したように本発明によれば、複数の異なる要素パラメータ値を視覚的に提示し、その中で選択された所定数の要素パラメータ値に基づいて暗号化パラメータ値を算出してデータの暗号化／復号化を行うようにしたため、簡単かつ確実なパラメータの指定が可能となり、しかも、その指定された暗号化パラメータ値はその都度様々な値を有することから、鍵の解読を困難としてデータのセキュリティを確保することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る暗号化装置の機能構成を示すブロック図。
【図２】暗号化パターン指定時に表示される暗号化パターン指定ダイアログの構成を示す図。
【図３】前記暗号化パターン指定ダイアログに設けられたデフォルトボタンを用いた暗号化パターンの選択操作を説明するための図。
【図４】前記暗号化パターン指定ダイアログに設けられたデフォルトボタンとパラメータ定義テーブル（Ｔ１）との関係を示す図。
【図５】前記デフォルトボタンの選択操作によって作成される暗号化パターン定義テーブル（Ｔ３）の内容を示す図。
【図６】選択パターンを変更した場合での暗号化パターン定義テーブル（Ｔ３）の内容を示す図。
【図７】パターン追加時に表示される追加パターン指定ダイアログの構成を示す図。
【図８】パターン追加時に表示されるパラメータ指定ダイアログの構成を示す図。
【図９】パターン追加時に作成された追加ボタンと追加パラメータ定義テーブル（Ｔ２）との関係を示す図。
【図１０】前記デフォルトボタン及び追加ボタンの選択操作によって作成される暗号化パターン定義テーブル（Ｔ３）の内容を示す図。
【図１１】前記暗号化装置にて実行されるデータベース暗号化処理の動作を示すフローチャート。
【図１２】前記図１１のステップＡ１１の暗号化前処理の動作を示すフローチャート。
【図１３】前記暗号化装置にて実行されるデータベース復号化処理の動作を示すフローチャート。
【図１４】暗号化パターン（要素パラメータ値）の選択操作に伴うデータの暗号化／復号化を具体的に説明するための図。
【図１５】本発明の第２の実施形態に係る暗号化システムの構成を示すブロック図。
【図１６】前記暗号化システムに用いられる記録媒体のデータ内容を示す図。
【符号の説明】
１１…暗号化パターン選択部
１２…暗号化パターン定義部
１３…パラメータファイル記憶部
１４…システム制御部
１５…暗号化処理部
１６…暗号化ファイル
１７…復号化処理部
１８…復号化ファイル
１９…表示部
２０…データベースＩ／Ｆ
２１…外部データベース記憶装置
Ｔ１…パラメータ定義テーブル
Ｔ２…追加パラメータ定義テーブル
Ｔ３…暗号化パターン定義テーブル
１００…サーバ装置
２００ａ〜２００ｃ…携帯端末
３００…カードリーダ／ライタ
４００ａ〜４００ｃ…記録媒体
【図１】
0003849370.tif 000012
【図２】
0003849370.tif 000013
【図３】
0003849370.tif 000014
【図４】
0003849370.tif 000015
【図５】
0003849370.tif 000016
【図６】
0003849370.tif 000017
【図７】
0003849370.tif 000018
【図８】
0003849370.tif 000019
【図９】
0003849370.tif 000020
【図１０】
0003849370.tif 000021
【図１１】
0003849370.tif 000022
【図１２】
0003849370.tif 000023
【図１３】
0003849370.tif 000024
【図１４】
0003849370.tif 000025
【図１５】
0003849370.tif 000026
【図１６】
0003849370.tif 000027