(57)【要約】【課題】閾値暗号を用いて、各種処理の実行権限を分散させる。【解決手段】  処理装置３００は、閾値暗号の公開鍵Ｙとｎ個の分散秘密鍵ｓｋi（ｉ＝１，…，ｎ）を生成して、公開鍵Ｙを処理装置４００に送り、分散秘密鍵ｓｋiを処理装置（ＩＣカード）２００−ｉ（ｉ＝１，…，ｎ）に送る。処理装置４００は、公開鍵Ｙを用いて秘密情報Ｉを暗号化して暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）を得、該暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）を処理装置３００に送り、処理装置３００は暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）をｋ台の処理装置２００−ｊi（ｉ＝１，…，ｋ；１≦ｊi≦ｎ）に送り、処理装置２００−ｊiは協力して暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）の復号処理を行い、復号結果を分配して格納し、各々、該格納された復号結果を用いて所定の処理を実行し、実行結果を処理装置３００に送る。【選択図】図１
2008048121.tif 000002
【特許請求の範囲】
【請求項１】
処理装置Ａ、処理装置Ｂ、及び、複数の処理装置Ｃi（ｉ＝１，…，ｎ）が存在し、
処理装置Ａは、閾値暗号（ｋ，ｎ）の公開鍵Ｙとｎ個の分散秘密鍵ｓｋi（ｉ＝１，…，ｎ）を生成して、公開鍵Ｙを処理装置Ｂに送り、分散秘密鍵ｓｋiを処理装置Ｃiに送り、
処理装置Ｂは、公開鍵Ｙを用いて秘密情報Ｉを暗号化して暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）を得、該暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）を処理装置Ａに送り、
処理装置Ａは暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）をｋ台の処理装置Ｃｊi（ｉ＝１，…，ｋ；１≦ｊi≦ｎ）に送り、
処理装置Ｃｊiは協力して暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）の復号処理を行い、復号結果を分配して格納し、各処理装置Ｃｊiは、該格納された当該復号結果を用いて所定の処理を実行し、実行結果を処理装置Ａに送る、
ことを特徴とする実行権限分散方法。
【請求項２】
請求項１に記載の実行権限分散方法において、
処理装置Ａは閾値暗号の公開鍵Ｙとｎ1＋ｎ2個の分散秘密鍵ｓｋ１i（ｉ＝１，…，ｎ1）、ｓｋ２i（ｉ＝１，…，ｎ2）を生成し、
処理装置Ｃはｎ1＋ｎ2台とし、処理装置Ｃi（ｉ＝１，…，ｎ1）は分散秘密鍵ｓｋ１iを保持し、処理装置Ｃj（ｊ＝ｎ1＋１，…，ｎ1＋ｎ2）は分散秘密鍵ｓｋ２ｊ−ｎ1を保持し、処理装置Ｃi（ｉ＝１，…，ｎ1）のうちｋ1台、または、処理装置Ｃj（ｊ＝ｎ1＋１，…，ｎ1＋ｎ2）のうちｋ2台が協力して暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）の復号処理を行う、
ことを特徴とする実行権限分散方法。
【請求項３】
請求項１に記載の実行権限分散方法において、処理装置Ｃｊiは復号結果を公開鍵暗号を用いて暗号化して分配し、復号することを特徴とする実行権限分散方法。
【請求項４】
請求項１乃至３のいずれか１項に記載の実行権限分散方法において、
処理装置Ａは処理装置Ｂの機能を兼ねることを特徴とする実行権限分散方法。
【請求項５】
請求項１乃至４のいずれか１項に記載の実行権限分散方法を実施してなる実行権限分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティの技術分野に関し、特に暗号技術を応用し、各種処理の実行権限を分散させる技術に関する。
【背景技術】
【０００２】
暗号文の復号権限を分散させる先行技術としては、例えば非特許文献１で提案された閾値暗号がある。これは暗号文を復号するために必要な秘密鍵を秘密分散法によって分散させることで、ｎ≧ｋ≧２を満たす任意の整数ｎ，ｋに対して、分散された秘密鍵を保持するｎ人のうち任意のｋ人が計算に協力した場合に限り復号できるような暗号技術である。
【０００３】
【非特許文献１】Y．Desmedt  and  Y．Frankel：“Threshold  cryptosystems”，Advances  in  Cryptology-CRYPTO’89，Lecture  Notes  in  Computer  Science  435，pp．307-315，Springer-Verlag，1990．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、内部犯行による秘密情報の漏洩問題が深刻化している。これは秘密情報の取得権限や重要なプログラムの実行権限等を持つ正当な者（以下、権限者と呼ぶ）による犯行であるため、暗号技術や認証技術を単純に用いただけでは防ぐ事が難しい。
【０００５】
このようなの状況を踏まえ、本発明が解決しようとする課題は、内部犯行・内部不正による秘密情報の漏洩を技術的に防ぐための手段を提供するにある。具体的には、本発明は、閾値暗号を用いて、一定数以上の権限者が協力しない限りは必要以上の秘密情報の取得をできないようにする実行権限分散方法及びシステムを提供するものである。
【課題を解決するための手段】
【０００６】
処理装置Ａ、処理装置Ｂ、及び、ｎ台の処理装置Ｃが存在するとする。処理装置Ａは閾値暗号の公開鍵Ｙとｎ個の分散秘密鍵ｓｋi（ｉ＝１，…，ｎ）を生成して、ｓｋiを処理装置Ｃiに送り、Ｙを処理装置Ｂに送る。処理装置ＢはＹを用いて秘密情報Ｉ（Ｉ1，…，Ｉt）を暗号化し、当該暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）を処理装置Ａに送る。なお、処理装置Ａが処理装置Ｂの機能を兼ねることでもよい。
【０００７】
処理装置Ａとｋ台の処理装置Ｃｊi（ｉ＝１，…，ｋ；１≦ｊi≦ｎ）が協力して、暗号文Ｉ′（Ｉ1′，…，Ｉt′）を用いてデータ処理Ｐを以下のように行う。Ｐを実行するために必要なプログラムＰA，Ｐi（ｉ＝１，…，ｋ）について、ＰAは処理装置Ａが、Ｐiは処理装置Ｃｊiが所持しているものとする。処理装置ＡはＩ′（Ｉ1′，…，Ｉt′）を処理装置Ｃｊi（ｉ＝１，…，ｋ）に送り、処理装置Ｃｊi（ｉ＝１，…，ｋ）は協力してＩ′＝（Ｉ1′，…，Ｉt′）の復号処理を実行する。復号結果は各々処理装置Ｃｊiの何れかに分配されて格納される。処理装置Ｃｊiは格納された当該復号結果を用いてプログラムＰiを実行して実行結果Ｒiを処理装置Ａに送り、処理装置ＡはＲiを用いてプログラムＰAを実行することで、Ｐの実行結果Ｒを得る。
【発明の効果】
【０００８】
本発明によれば、一定数以上の権限者が協力しないかぎりは必要以上の秘密情報の取得ができないため、内部犯行・内部不正などによる秘密情報の漏洩を防ぐことが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図面を用いて詳細な説明をする。なお、以下では顧客情報リストの閲覧を例にするが、本発明はこれに限定されるものではない。
［第１の実施の形態］
図１に本実施の形態のシステム構成例を示す。本実施の形態では、各権限者１００−ｉ（ｉ＝１，…，ｎ）がそれぞれＩＣカード（耐タンパの一種の処理装置）２００−ｉを所持し、汎用パソコン等の処理装置３００にはｋ個（ｋは２以上ｎ以下）のＩＣカードリーダ３５０−ｊ（ｊ＝１，…，ｋ）が接続され、また、処理装置３００は通信ネットワーク５００を介して処理装置４００と接続されているとする。処理装置３００には鍵生成プログラム３１０、顧客情報閲覧ソフトウェア（以下、単にソフトウェア）３２０が、処理装置４００には暗号化プログラム４１０があらかじめインストールされ、また、各ＩＣカード２００−ｉにはソフトウェア３２０の関連プログラム２１０−ｉがそれぞれあらかじめインストールされている。
【００１０】
処理装置３００は、鍵生成プログラム３１０により閾値暗号の公開鍵Ｙ、分散秘密鍵ｓｋi（ｉ＝１，…，ｎ）を生成して、公開鍵Ｙは処理装置４００に送付し、分散秘密鍵ｓｋiはＩＣカード２００−ｉに送付する。処理装置４００は顧客情報リストＩ（Ｉ1，…，Ｉt）を保持し、暗号化プログラム４１０により公開鍵Ｙを用いて顧客情報リストを暗号化して、暗号化された顧客情報リスト（以下、単に暗号化リスト）Ｉ′＝（Ｉ1′，…，Ｉt′）を処理装置３００に送付する。ここでは、暗号化リストは図２の如くとする。なお、処理装置３００が処理装置４００の機能を兼ねてもよい。
【００１１】
処理装置３００のソフトウェア３２０は、暗号化リスト３２０を読み込み、ＩＣカード２００−ｉの関連プログラム２１０−ｉと連携することで、権限者１００−ｉの意中の顧客情報を表示するソフトウェアである。関連プログラム２１０−ｉは暗号文を復号（部分復号）し、顧客情報を復元して、該復元した顧客情報に所望の顧客情報が含まれていればそれをソフトウェア３２０に送る処理を実行するプログラムである。公開鍵Ｙで暗号化された暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）はｋ個の異なる分散秘密鍵を用いた場合のみ復号できる。
【００１２】
先ず、各ＩＣカードに格納する分散秘密鍵、及び単一の公開鍵を生成する手順を説明する。これは例えば非特許文献１の方法をソフトウェアとして実装し、当該ソフトウェアを例えば処理装置３００を用いて実行すれば良い。図１の鍵生成プログラム３１０はこれを示したものである。
【００１３】
［鍵生成処理］
ここでは、閾値ＥlＧamal暗号を用いるとする。図３にその場合の鍵生成処理の処理手順を示す。
入力：ｎ，ｋ
１．ｐ＝２ｐ＋１を満たす素数ｐ，ｑ、及び群（Ｚ／ｐＺ）ｘ上の位数ｑの元ｇを生成する。
２．秘密鍵ｘ∈（Ｚ／ｐＺ）＊を生成し、公開鍵Ｙ＝ｇ＊（mod  ｐ）を計算する。
３．０以上ｐ−１以下の乱数ａi（ｉ＝１，２，…，ｋ−１）を生成する。
４．関数ｙ（ｚ）＝ａk-1ｚk-1＋ａk-2ｚk-2＋…＋ａ2ｚ2＋ａ1ｚ＋ｘについて、分散秘密鍵ｓｋi＝ｙ（ｉ）（mod  ｐ）（ｉ＝１，…，ｎ）を計算する。
【００１４】
上記処理により、ｎ個の異なる分散秘密鍵ｓｋi（ｉ＝１，…，ｎ）と単一の公開鍵Ｙが処理装置３００で生成される。処理装置３００は公開鍵Ｙを処理装置４００に送り、分散秘密鍵ｓｋiをＩＣカード２００−ｉにそれぞれ送る。この手続きにより、以降、公開鍵Ｙを用いて暗号化処理を行うとともに、暗号文の復号処理はｋ（ｋは２以上ｎ以下）個のｓｋiを用いなければ不可能とできる。ここでｎ，ｋはｎ≧ｋ≧２を満たす任意の自然数である。
【００１５】
一方、上記の鍵生成処理は、ｓｋiの漏洩リスクが処理装置３００の信頼性に大きく依存する。即ち、処理装置３００の内部状態をモニタリングする、あるいは処理装置３００とＩＣカード２００−ｉとの通信路を傍受する等によりｓｋiを不正に取得される恐れがある。これらの攻撃を防ぐためには、鍵生成を処理装置３００のみで行うのではなく、各ＩＣカードも鍵生成処理を協力して行い、かつ、処理装置３００と各ＩＣカードが相互に通信することで、安全にｓｋiを生成することができる。この実現方式は、例えば以下の非特許文献２で述べられている方法を用いれば良く、ここでは説明を省略する。
【００１６】
【非特許文献２】T．P．Pedersen：“A  threshold  cryptosystem  without  a  trusted  party”，Advances  in  Cryptology-EUROCRYPTO  ’91，Lecture  Notes  in  Computer  Science  547，pp．522-526，Springer-Verlag，1991．
【００１７】
暗号化処理、復号処理はそれぞれ以下のようになる。
［暗号化処理］
図４の暗号化処理の処理手順を示す。
入力：ｍ∈Ｚ／ｐＺ（メッセージ）、ｐ，ｇ，Ｙ
１．１以上ｐ−１以下の乱数ｒを生成する。
２．Ｇ＝ｇr（mod  ｐ），Ｍ＝ｍＹr（mod  ｐ）を計算し、暗号文をＣ＝（Ｇ，Ｍ）とする。
【００１８】
［復号処理］
図５に復号処理の処理手順を示す。
入力：Ｃ＝（Ｇ，Ｍ）（暗号文）、ｐ，ｓｋi1，…，ｓｋik（ｉ1，…，ｉkは１以上ｎ以下の相異なる整数）
１．Ｄj＝Ｇskij（mod  ｐ）（ｊ＝１，…，ｋ）を計算する。
２．［数１］を計算する。
【００１９】
【数１】
2008048121.tif 000003
３．ｍ′＝Ｍ／Ｄ（mod  ｐ）を計算し、復号結果をｍ′とする。
【００２０】
図１において、処理装置４００は、自身が予め所持している顧客情報リスト（Ｉ）４３０を公開鍵（Ｙ）４２０を用いて暗号化し、暗号化リストを得て、処理装置３００に送る。暗号化リスト３３０は図２に示すように、顧客情報が顧客毎に暗号化され、暗号文Ｉ1′，…，Ｉt′からなるリストである。暗号化処理は、暗号化プログラム４１０により図４の手順に従って行われる。
【００２１】
顧客情報を閲覧する際はｋ個のＩＣカード２００−ｉを必要とし、例えば「横浜市在住の顧客全て」を閲覧したい場合、以下の処理を行う。
１．ｋ人の権限者１００−ｉj（ｊ＝１，…，ｋ；１≦ｉj≦ｎ）が、それぞれ自身が保持するＩＣカード２００−ｉjを、処理装置３００に接続されているＩＣカードリーダ３５０−ｊに挿入する。
２．何れかの権限者がキーワード「横浜市」を処理装置３００よりソフトウェア３２０に入力する。
３．ソフトウェア３２０は暗号化リスト３３０を取込み、暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）をＩＣカード２００−ｉj（ｊ＝１，…，ｋ）に送信する。
【００２２】
４．ＩＣカード２００−ｉj（ｊ＝１，…，ｋ）は、暗号文Ｉl′（ｌ＝１，…，ｔ）を部分復号し、顧客情報が各ＩＣカード２００−ｉjに分配されて格納されるようにする。具体的にはＩa′をＩＣカード２００−ｂが復号及び復元する場合、以下の手続きを行う。
（ａ）ＩＣカード２００−ｉj（ｊ＝１，…，ｋ）は、暗号文Ｉa′に対して、関連プログラム１５００−ｉjにより図５の復号処理のステップＳ２を実行し、Ｄijを取得し、それをＩＣカード２００−ｂに送る。
（ｂ）ＩＣカード２００−ｂは受け取ったＤijから関連プログラム１５００−ｂにより図５の復号処理のステップＳ３，Ｓ４を実行し、顧客情報を復元する。
【００２３】
５．ＩＣカード２００−ｉjは関連プログラム１５００−ｉjにより、復元した顧客情報に「横浜市」が含まれていれば当該顧客情報を処理装置３００に送る。
６．処理装置３００のソフトウェア３２０は受け取った顧客情報を表示する。
【００２４】
以上の操作により、横浜市在住の顧客情報のみ表示され、その他の顧客情報はＩＣカードの外には漏れないため秘匿される。
【００２５】
［第２の実施の形態］
第２の実施の形態は、第１の実施の形態の拡張であり、権限者を重み付けしたものである。これにより例えば「社員３人が協力、または部長２人が協力すれば実行可能」といったことが実現できる。
【００２６】
第２の実施の形態では、権限者のグループが二つ存在する。これをグループＡ，Ｂとする。本実施の形態の目的はグループＡ，Ｂの権限者の数をそれぞれｎ1，ｎ2人としたとき、ある２以上ｎ1以下の整数ｋ1、および２以上ｎ2以下の整数ｋ2について、グループＡからｋ1人、またはグループＢからｋ2人が協力すれば顧客情報リストが閲覧できるようにすることである。
【００２７】
システム構成は図１と同様であるが、権限者１００−１〜１００−ｎが二つのグループに分かれる。これらをグループＡ，Ｂとし、権限者の数をそれぞれｎ1，ｎ2とする（ｎ1＋ｎ2＝ｎ）。処理装置３００の鍵生成プログラム３１０は、閾値暗号の公開鍵Ｙとｎ1＋ｎ2個の分散秘密鍵ｓｋ１ｉ（ｉ＝１，…，ｎ1），ｓｋ２j（ｊ＝１，…，ｎ2）を生成し、処理装置４００は公開鍵Ｙを保持し、グループＡのＩＣカード２００−ｉ（ｉ＝１，…，ｎ1）はｓｋiを保持し、グループＢのＩＣカード２００−ｊ（ｊ＝ｎ1＋１，…，ｎ1＋ｎ2）はｓｋ２j−ｎ1を保持する。処理装置４００では、暗号化プログラム４１０が、公開鍵Ｙを用いて顧客情報リストを暗号化して暗号化リストを得、該暗号化リストを処理装置３００に送る。本実施の形態では、グループＡのＩＣカード２００−ｉ（ｉ＝１，…，ｎ）のうちｋ1台、または、グループＢのＩＣカード２００−ｊ（ｊ＝ｎ1＋１，…，ｎ1＋ｎ2）のうちｋ2台が協力することで、顧客情報リストが閲覧できる。
【００２８】
閾値暗号の鍵生成処理及び復号処理を除けば第１の実施の形態と同様の手続きを行えば良いので、以下では閾値暗号の鍵生成処理及び復号処理についてのみ説明する。
【００２９】
［鍵生成処理］
図６に鍵生成処理の処理手順を示す。
入力：ｎ1≧ｋ1≧２，ｎ2≧ｋ2≧２を満たす整数ｎ1，ｎ2，ｋ1，ｋ2
１．ｐ＝２ｑ＋１を満たす素数ｐ，ｑ及び群（Ｚ／ｐＺ）*上の位数ｑの元ｇを生成する。
２．秘密鍵ｘ∈（Ｚ／ｐＺ）*を生成し、公開鍵Ｙ＝ｇx（mod  ｐ）を計算する。
３．０以上ｐ−１以下の乱数ａi（ｉ＝１，２，…，ｋ1−１）を生成する。
４．関数
【００３０】
【数２】
2008048121.tif 000004
について、分散秘密鍵ｓｋ１i＝ｙ（ｉ）（mod  ｐ）（ｉ＝１，…，ｎ1）を計算する。
５．０以上ｐ−１以下の乱数ｂi,j（ｉ＝１，２，…，ｋ2−１；ｊ＝１，２，…，ｎ1）を生成する。
６．関数
【００３１】
【数３】
2008048121.tif 000005
について、分散秘密鍵ｓｋ２i＝（ｃi，1，ｃi，2，…，ｃi，ｎ1）＝（ｙ1（ｉ）（mod  ｐ），ｙ2（ｉ）（mod  ｐ），…，ｙｎ1（ｉ）（mod  ｐ））（ｉ＝１，…，ｎ2）を計算する。
【００３２】
上記処理により、ｎ1個の異なる秘密鍵ｓｋ１i（ｉ＝１，…，ｎ1）、ｎ2個の異なる秘密鍵ｓｋ２i（ｉ＝１，…，ｎ2）、及び単一の公開鍵Ｙが生成される。
【００３３】
［復号処理］
復号処理はグループＡが行う場合は第１の実施形態と同様であるため説明を省略する。グループＢが行う場合、図７のようになる。
入力：Ｃ＝（Ｇ，Ｍ）∈（Ｚ／ｐＺ）×（Ｚ／ｐＺ）（暗号文）、ｐ，ｓｋ２ｉ1，…，ｓｋ２ｉk2（ｉ1，…，ｉk2は１以上ｎ2は以下の相異なる整数）
１．［数４］を計算する。
【００３４】
【数４】
2008048121.tif 000006
２．［数５］を計算する。
【００３５】
【数５】
2008048121.tif 000007
３．［数６］を計算する。
【００３６】
【数６】
2008048121.tif 000008
４．ｍ′＝Ｍ／Ｄ（mod  ｐ）を計算し、復号結果をｍ′とする。
【００３７】
［第３の実施の形態］
第１の実施の形態では、ＩＣカードの通信路を傍受することで各暗号文の部分復号結果を取得できる。暗号文を復号する為にはｋ個の部分復号結果を必要とするが、前述のように通信路を傍受した場合でも最大でｋ−１個の部分復号結果しか得る事が出来ない。しかし、二度同様の処理を実行すれば、通信路を傍受して最大で２（ｋ−１）個、すなわちｋ個以上の部分復号結果を取得される恐れがある。また、第２の実施の形態でも同様の問題が存在する。そこで、第３の実施の形態では、上記の問題を解決するために暗号通信する方法について説明する。
図１において、各ＩＣカード２００−ｉは、公開鍵暗号の公開鍵、秘密鍵の組（ＰＫi，ＳＫi）を生成し、ＳＫi，ＰＫj（ｊ≠ｉ）を保持する。
先の［００２２］の手続（ａ）において、Ｄijを公開鍵ＰＫbで暗号化して送信する。また手続（ｂ）において、ＩＣカード２００−ｂは暗号化されたＤijを秘密鍵ＳＫbを用いて復号する。また、当該復号結果Ｄijを用いて図５のステップＳ３，Ｓ４を実行し、顧客情報を復元する。
【００３８】
第１〜３の実施の形態では顧客情報を閾値暗号を用いて暗号化する例について述べたが、顧客情報を復号する鍵を閾値暗号を用いて暗号化しても良い。即ち、暗号文Ｉ′＝（Ｉ1′，…，Ｉt′）は各顧客情報を復元する復号鍵を暗号化した組であり、当該復号鍵は何れかのＩＣカード内でのみ復元される。そして、ＩＣカード内で処理に必要な情報を復元し、関連プログラム１５００−ｉｊにより処理する。なお復号鍵が同一の場合は、何れかの復号化鍵のみ復元すればよい。
【００３９】
以上、４つの実施例を述べたが、上記の例はＩＣカードの耐タンパ性を利用していた。これに対して耐タンパ性を仮定せずパソコンなどの汎用計算機を用いて上記同様の処理を実現するためには、例えば以下の非特許文献３で提案されているような「秘匿回路計算技術」を用いる方法が挙げられる。
【００４０】
【非特許文献３】千田他：“エルガマル暗号に基づく秘匿回路計算の実装と応用”，コンピュータセキュリティシンポジウム２００５．
【００４１】
非特許文献３では、マルチパーティプロトコルと呼ばれる方法によって、ある暗号化されたデータが与えられたとき、一定数以上の権限者が協力することで、データを復元することなく当該データに対する処理を可能としており、具体例として、データを暗号化したまま文字列検索する方法を与えている。これを応用することで、例えば暗号化された顧客情報に対して、ある条件を満たすような顧客情報のみ出力するといったことが可能となる。しかし現在まで知られている秘匿回路計算技術は計算コストが非常に大きいため、実行環境やデータ処理の複雑さによっては実行困難な場合が考えられる。
【００４２】
なお、図１で示したシステムにおける各装置の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図３〜図７で示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施の形態のシステム構成図。
【図２】暗号化リストの具体例を示す図。
【図３】第１の実施の形態の鍵生成処理フロー図。
【図４】第１の実施の形態の暗号化処理フロー図。
【図５】第１の実施の形態の復号処理フロー図。
【図６】第２の実施の形態の鍵生成処理フロー図。
【図７】第２の実施の形態の復号処理フロー図。
【符号の説明】
【００４４】
１００−１〜１００−ｎ  権限者
２００−１〜２００−ｎ  ＩＣカード
２１０−１〜２１０−ｎ  関連プログラム
２２０−１〜２２０−ｎ  分散秘密鍵
３００  処理装置
３１０  鍵生成プログラム
３２０  顧客情報閲覧ソフトウェア
３３０  暗号化リスト
４００  処理装置
４１０  暗号化プログラム
４２０  公開鍵
４３０  顧客情報リスト
５００  ネットワーク
【図１】
2008048121.tif 000009
【図２】
2008048121.tif 000010
【図３】
2008048121.tif 000011
【図４】
2008048121.tif 000012
【図５】
2008048121.tif 000013
【図６】
2008048121.tif 000014
【図７】
2008048121.tif 000015