(57)【特許請求の範囲】
【請求項１】
第１の復号アルゴリズムに従って復号処理を行う第１の復号装置と、
前記第１の復号アルゴリズムとは異なる第２の復号アルゴリズムに従って復号処理を行う第２の復号装置と、
前記第１の復号アルゴリズム用の暗号鍵及び復号鍵を、第１の暗号鍵及び第１の復号鍵として生成し、前記第２の復号アルゴリズム用の暗号鍵及び復号鍵を、第２の暗号鍵及び第２の復号鍵として生成し、前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記第２の暗号鍵を用いて前記第１の復号鍵を暗号化して、暗号化第１の復号鍵を生成し、前記第１の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記第１の暗号鍵を用いて平文データを暗号化して、暗号文データを生成する暗号装置とを有し、
前記第２の復号装置は、
前記第２の復号アルゴリズムに従って、前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、
前記第１の復号装置は、
前記第１の復号アルゴリズムに従って、前記第２の復号装置により復号された前記第１の復号鍵を用いて前記暗号文データの復号処理を行い、
前記暗号装置は、
少なくとも前記第２の復号鍵及び前記暗号化第１の復号鍵を記憶しており、
前記第２の暗号鍵及び前記第２の復号鍵の更新タイミングに、新たな第２の暗号鍵及び新たな第２の復号鍵を生成し、
前記第２の復号アルゴリズムに従って、記憶している前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、前記第１の復号鍵を復号し、
前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、復号した前記第１の復号鍵を前記新たな第２の暗号鍵を用いて暗号化して、新たな暗号化第１の復号鍵を生成し、
前記新たな第２の復号鍵及び前記新たな暗号化第１の復号鍵を記憶し、
前記第２の復号装置は、
前記第２の復号アルゴリズムに従って、前記新たな第２の復号鍵を用いて前記新たな暗号化第１の復号鍵の復号処理を行うことを特徴とするデータ処理システム。
【請求項２】
前記第１の復号装置は、
前記暗号化第１の復号鍵と前記暗号文データとを入力し、
入力した前記暗号化第１の復号鍵を前記第２の復号装置に出力し、
前記第２の復号装置により復号された前記第１の復号鍵を、前記第２の復号装置から入力し、入力した前記第１の復号鍵を用いて前記暗号文データの復号処理を行うことを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記暗号装置は、
少なくとも前記第２の暗号鍵を記憶しており、
前記第１の暗号鍵及び前記第１の復号鍵の更新タイミングに、新たな第１の暗号鍵及び新たな第１の復号鍵を生成し、
前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記第２の暗号鍵を用いて前記新たな第１の復号鍵を暗号化して、新たな暗号化第１の復号鍵を生成し、
前記第１の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記新たな第１の暗号鍵を用いて平文データを暗号化して、暗号文データを生成し、
前記第２の復号装置は、
前記第２の復号アルゴリズムに従って、前記第２の復号鍵を用いて前記新たな暗号化第１の復号鍵の復号処理を行い、
前記第１の復号装置は、
前記第１の復号アルゴリズムに従って、前記第２の復号装置により復号された前記新たな第１の復号鍵を用いて前記暗号文データの復号処理を行うことを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
前記第１の復号装置は、
前記第１の復号アルゴリズムとして、関数型暗号のＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに従って復号処理を行い、
前記暗号装置は、
前記Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズム用の暗号鍵及び復号鍵を、前記第１の暗号鍵及び前記第１の復号鍵として生成することを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記第１の復号装置は、
前記第１の復号アルゴリズムとして、関数型暗号のＫｅｙ−Ｐｏｌｉｃｙアルゴリズムに従って復号処理を行い、
前記暗号装置は、
前記Ｋｅｙ−Ｐｏｌｉｃｙアルゴリズム用の暗号鍵及び復号鍵を、前記第１の暗号鍵及び前記第１の復号鍵として生成することを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
前記第１の復号装置は、
前記第１の復号アルゴリズムとして、関数型暗号のＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムに従って復号処理を行い、
前記暗号装置は、
前記Ｕｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズム用の暗号鍵及び復号鍵を、前記第１の暗号鍵及び前記第１の復号鍵として生成することを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
前記暗号装置は、
前記第２の復号鍵のデータフォーマットを変換することを特徴とする請求項１に記載のデータ処理システム。
【請求項８】
前記データ処理システムは、更に、
前記暗号文データを入力し、入力した前記暗号文データを記憶する暗号文データ記憶装置を有し、
前記第１の復号装置は、
前記暗号文データ記憶装置から前記暗号文データを入力し、入力した前記暗号文データの復号処理を行うことを特徴とする請求項１に記載のデータ処理システム。
【請求項９】
前記第２の復号装置が、
前記第１の復号装置に接続される記憶媒体であることを特徴とする請求項１に記載のデータ処理システム。
【請求項１０】
第１の暗号化アルゴリズム用の暗号鍵及び復号鍵を、第１の暗号鍵及び第１の復号鍵として生成する第１の鍵生成部と、
前記第１の暗号化アルゴリズムとは異なる第２の暗号化アルゴリズム用の暗号鍵及び復号鍵を、第２の暗号鍵及び第２の復号鍵として生成する第２の鍵生成部と、
前記第２の暗号化アルゴリズムに従って、前記第２の暗号鍵を用いて前記第１の復号鍵を暗号化して、暗号化第１の復号鍵を生成する復号鍵暗号化部と、
前記第２の暗号化アルゴリズムに対応する第２の復号アルゴリズムに従って前記暗号化第１の復号鍵の復号処理を行う第２の復号装置により復号された前記第１の復号鍵を用いて、前記第１の暗号化アルゴリズムに対応する第１の復号アルゴリズムに従って、暗号文データの復号処理を行う第１の復号装置に対して、前記第１の暗号化アルゴリズムに従って、前記第１の暗号鍵を用いて平文データを暗号化して、前記暗号文データを生成するデータ暗号化部と、
少なくとも前記第２の復号鍵及び前記暗号化第１の復号鍵を記憶する記憶部とを有し、
前記第２の鍵生成部は、
前記第２の暗号鍵及び前記第２の復号鍵の更新タイミングに、新たな第２の暗号鍵及び新たな第２の復号鍵を生成し、
前記復号鍵暗号化部は、
前記第２の復号アルゴリズムに従って、前記記憶部に記憶されている前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、前記第１の復号鍵を復号し、
前記第２の暗号化アルゴリズムに従って、復号した前記第１の復号鍵を前記新たな第２の暗号鍵を用いて暗号化して、新たな暗号化第１の復号鍵を生成し、
前記記憶部は、
前記新たな第２の復号鍵及び前記新たな暗号化第１の復号鍵を記憶することを特徴とする暗号装置。
【請求項１１】
前記第２の鍵生成部は、
前記第２の復号装置に対して、前記第２の復号鍵を生成することを特徴とする請求項１０に記載の暗号装置。
【請求項１２】
第１の復号アルゴリズムとは異なる第２の復号アルゴリズムに従って復号処理を行う復号補助装置に接続される、前記第１の復号アルゴリズムに従って復号処理を行う復号装置であって、
平文データが、前記第１の復号アルゴリズム用の暗号鍵である第１の暗号鍵が用いられて暗号化されて得られた暗号文データを入力する暗号文データ入力部と、
前記第１の復号アルゴリズム用の復号鍵である第１の復号鍵が、前記第２の復号アルゴリズム用の暗号鍵である第２の暗号鍵が用いられて暗号化されて得られた暗号化第１の復号鍵を入力する暗号化第１の復号鍵入力部と、
前記復号補助装置に、前記暗号化第１の復号鍵を出力する暗号化第１の復号鍵出力部と、
前記復号補助装置において前記第２の復号アルゴリズム用の復号鍵である第２の復号鍵が用いられて前記第２の復号アルゴリズムに従って前記暗号化第１の復号鍵の復号処理が行われて得られた前記第１の復号鍵を、前記復号補助装置から入力する第１の復号鍵入力部と、
前記第１の復号アルゴリズムに従って、前記第１の復号鍵を用いて前記暗号文データの復号処理を行う復号処理部とを有し、
前記暗号化第１の復号鍵入力部は、
前記第１の暗号鍵と前記第１の復号鍵と前記第２の暗号鍵と前記第２の復号鍵と前記暗号化第１の復号鍵とを生成した暗号装置が、前記第２の暗号鍵及び前記第２の復号鍵の更新タイミングに、新たな第２の暗号鍵及び新たな第２の復号鍵を生成し、前記第２の復号アルゴリズムに従って、前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、前記第１の復号鍵を復号し、前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、復号した前記第１の復号鍵を前記新たな第２の暗号鍵を用いて暗号化して、新たな暗号化第１の復号鍵を生成した場合に、
前記新たな暗号化第１の復号鍵を入力し、
前記暗号化第１の復号鍵出力部は、
前記復号補助装置に、前記新たな暗号化第１の復号鍵を出力し、
前記第１の復号鍵入力部は、
前記復号補助装置において、前記第２の復号アルゴリズムに従って、前記新たな第２の復号鍵を用いて前記新たな暗号化第１の復号鍵の復号処理が行われて得られた前記第１の復号鍵を、前記復号補助装置から入力することを特徴とする復号装置。
【請求項１３】
第１の暗号化アルゴリズム用の暗号鍵及び復号鍵を、第１の暗号鍵及び第１の復号鍵として生成する第１の鍵生成工程と、
前記第１の暗号化アルゴリズムとは異なる第２の暗号化アルゴリズム用の暗号鍵及び復号鍵を、第２の暗号鍵及び第２の復号鍵として生成する第２の鍵生成工程と、
前記第２の暗号化アルゴリズムに従って、前記第２の暗号鍵を用いて前記第１の復号鍵を暗号化して、暗号化第１の復号鍵を生成する復号鍵暗号化工程と、
前記第１の暗号化アルゴリズムに従って、前記第１の暗号鍵を用いて平文データを暗号化して、暗号文データを生成するデータ暗号化工程と、
少なくとも前記第２の復号鍵及び前記暗号化第１の復号鍵を記憶装置に記憶させる記憶工程と、
前記第２の暗号鍵及び前記第２の復号鍵の更新タイミングに、新たな第２の暗号鍵及び新たな第２の復号鍵を生成する新たな第２の鍵生成工程と、
前記第２の暗号化アルゴリズムに対応する第２の復号アルゴリズムに従って、前記記憶装置に記憶されている前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、前記第１の復号鍵を復号し、前記第２の暗号化アルゴリズムに従って、復号した前記第１の復号鍵を前記新たな第２の暗号鍵を用いて暗号化して、新たな暗号化第１の復号鍵を生成する新たな復号鍵暗号化工程と、
前記新たな第２の復号鍵及び前記新たな暗号化第１の復号鍵を前記記憶装置に記憶させる新たな記憶工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
第１の復号アルゴリズムとは異なる第２の復号アルゴリズムに従って復号処理を行う復号補助装置に接続される、前記第１の復号アルゴリズムに従って復号処理を行うコンピュータに、
平文データが、前記第１の復号アルゴリズム用の暗号鍵である第１の暗号鍵が用いられて暗号化されて得られた暗号文データを入力する暗号文データ入力工程と、
前記第１の復号アルゴリズム用の復号鍵である第１の復号鍵が、前記第２の復号アルゴリズム用の暗号鍵である第２の暗号鍵が用いられて暗号化されて得られた暗号化第１の復号鍵を入力する暗号化第１の復号鍵入力工程と、
前記復号補助装置に、前記暗号化第１の復号鍵を出力する暗号化第１の復号鍵出力工程と、
前記復号補助装置において前記第２の復号アルゴリズム用の復号鍵である第２の復号鍵が用いられて前記第２の復号アルゴリズムに従って前記暗号化第１の復号鍵の復号処理が行われて得られた前記第１の復号鍵を、前記復号補助装置から入力する第１の復号鍵入力工程と、
前記第１の復号アルゴリズムに従って、前記第１の復号鍵を用いて前記暗号文データの復号処理を行う復号処理工程と、
前記第１の暗号鍵と前記第１の復号鍵と前記第２の暗号鍵と前記第２の復号鍵と前記暗号化第１の復号鍵とを生成した暗号装置が、前記第２の暗号鍵及び前記第２の復号鍵の更新タイミングに、新たな第２の暗号鍵及び新たな第２の復号鍵を生成し、前記第２の復号アルゴリズムに従って、前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、前記第１の復号鍵を復号し、前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、復号した前記第１の復号鍵を前記新たな第２の暗号鍵を用いて暗号化して、新たな暗号化第１の復号鍵を生成した場合に、前記新たな暗号化第１の復号鍵を入力する新たな暗号化第１の復号鍵入力工程と、
前記復号補助装置に、前記新たな暗号化第１の復号鍵を出力する新たな暗号化第１の復号鍵出力工程と、
前記復号補助装置において、前記第２の復号アルゴリズムに従って、前記新たな第２の復号鍵を用いて前記新たな暗号化第１の復号鍵の復号処理が行われて得られた前記第１の復号鍵を、前記復号補助装置から入力する新たな第１の復号鍵入力工程とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化及び復号する技術に関する。
【背景技術】
【０００２】
１９７６年にディフィーとヘルマンが開発した公開鍵暗号方式は、継続して様々な改良と機能拡張が行われている。
特に２００１年にボネとフランクリンが発表したペアリングに基づいたＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）ベース暗号と呼ばれる公開鍵暗号方式を契機に、近年、ペアリングの方式に関する研究が盛んに行われている。
また、２０１０年には、非特許文献１において、ペアリングを用いた高機能な公開鍵暗号方式である、関数型暗号（Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ）が発表された。
関数型暗号は、従来の暗号とは異なり、述語で暗号鍵を表現可能なアルゴリズムであり、例えばアクセス制御と同等もしくはそれ以上の機能を有している。【０００３】
特許文献１では、ＩＤベース暗号のＩＤとして、電子健康記録データの識別子を用いて、ＩＤベース暗号により電子健康記録データを暗号化する方式が開示されている。
また、特許文献２では、述語暗号を用いてコンテンツを暗号化する方式が記述されている。
また、特許文献３では、複数の端末装置で共有している鍵を更新する方式が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１１−５２１５８４号公報
【特許文献２】国際公開ＷＯ２０１０−１２３１２２号
【特許文献３】特開２０１３−０２６７４７号公報
【非特許文献】
【０００５】
【非特許文献１】Ｔ．Ｏｋａｍｏｔｏ、Ｋ．Ｔａｋａｓｈｉｍａ、“Ｆｕｌｌｙ  Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  Ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  Ｄｅｃｉｓｉｏｎａｌ  Ｌｉｎｅａｒ  Ａｓｓｕｍｐｔｉｏｎ”、ＣＲＹＰＴＯ  ２０１０、Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  Ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ、２０１０、Ｖｏｌｕｍｅ  ６２２３／２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
また、ＩＤベース暗号のアルゴリズム及び関数型暗号のアルゴリズムは、従来の暗号のアルゴリズムとは大きく異なるため、以下のような課題がある。【０００７】
既存の暗号システムの中には、鍵デバイスが用いられるシステムが存在する。
鍵デバイスは、ユーザに渡されるＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード等の記憶媒体であり、復号鍵が格納されており、当該復号鍵を用いた復号処理を行う。
鍵デバイスが用いられる暗号システムでは、鍵デバイスが対応しているアルゴリズムでデータの暗号化及び暗号文データの復号が行われる。
このため、鍵デバイスが対応していないアルゴリズムでのデータの暗号化及び暗号文データの復号を行うことはできない。
つまり、鍵デバイスが、ＩＤベース暗号又は関数型暗号に対応していないと、ＩＤベース暗号又は関数型暗号によるデータの暗号化及び暗号文データの復号を行うことはできない。
このような暗号システムで現行の鍵デバイスが対応していない新たなアルゴリズムを導入するためには、現行の鍵デバイスを回収し、代わりに、新たなアルゴリズムに対応する新たな鍵デバイスをユーザに配布しなければならない。
また、新たな鍵デバイスを配布し、利用することに付随して、様々な運用も変える必要がある。
このように、鍵デバイスを用いる暗号システムにおいて、新たなアルゴリズムを導入しようとすると、システム管理者及びユーザに多大な負担がかかる。【０００８】
特許文献１では、ＩＤベース暗号と既存の共通鍵暗号をハイブリッドさせた方式が開示されているが、鍵デバイスを用いた方式は開示されていない。
また、特許文献２では、述語暗号の秘密鍵を鍵デバイスに書き込み、鍵デバイスの秘密鍵を用いて述語暗号による復号を実施する方式が開示されている。
このため、特許文献２の方式によっても、述語暗号に対応していない鍵デバイスを回収し、代わりに、述語暗号の秘密鍵が格納された鍵デバイスをユーザに配布する必要がある。
特許文献３では、端末装置内の鍵生成部が更新した鍵を共有鍵として用いてデータの暗号化を行う方式が開示されているのみであり、鍵デバイスを用いた方式は開示されていない。【０００９】
本発明は、以上の事情に鑑みたものであり、データの暗号化及び復号のための所定のアルゴリズムが利用されている環境に新たなアルゴリズムを導入する場合に、既存のアルゴリズムを実現するために設けられている枠組みに変更を加えることなく、新たなアルゴリズムを導入できる構成を得ることを主な目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るデータ処理システムは、
第１の復号アルゴリズムに従って復号処理を行う第１の復号装置と、
前記第１の復号アルゴリズムとは異なる第２の復号アルゴリズムに従って復号処理を行う第２の復号装置と、
前記第１の復号アルゴリズム用の暗号鍵及び復号鍵を、第１の暗号鍵及び第１の復号鍵として生成し、前記第２の復号アルゴリズム用の暗号鍵及び復号鍵を、第２の暗号鍵及び第２の復号鍵として生成し、前記第２の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記第２の暗号鍵を用いて前記第１の復号鍵を暗号化して、暗号化第１の復号鍵を生成し、前記第１の復号アルゴリズムに対応する暗号化アルゴリズムに従って、前記第１の暗号鍵を用いて平文データを暗号化して、暗号文データを生成する暗号装置とを有し、
前記第２の復号装置は、
前記第２の復号アルゴリズムに従って、前記第２の復号鍵を用いて前記暗号化第１の復号鍵の復号処理を行い、
前記第１の復号装置は、
前記第１の復号アルゴリズムに従って、前記第２の復号装置により復号された前記第１の復号鍵を用いて前記暗号文データの復号処理を行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第２の復号アルゴリズムが利用されている環境に、第２の復号アルゴリズムを実現するために設けられている第２の復号装置に変更を加えることなく、新たに第１の復号アルゴリズムを導入することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るデータ処理システムの構成例を示す図。
【図２】実施の形態１に係る鍵生成装置の鍵生成処理を示すフローチャート図。
【図３】実施の形態１に係る暗号文送信装置の暗号化処理を示すフローチャート図。
【図４】実施の形態１に係る暗号文受信装置の復号処理を示すフローチャート図。
【図５】実施の形態１に係る鍵生成装置の鍵デバイス紛失時の手続きを示すフローチャート図。
【図６】実施の形態１に係る鍵生成装置のユーザ秘密鍵の属性変更の手続きを示すフローチャート図。
【図７】実施の形態２に係るデータ処理システムの構成例を示す図。
【図８】実施の形態２に係る鍵生成装置の鍵生成処理を示すフローチャート図。
【図９】実施の形態２に係る暗号文送信装置の暗号化処理を示すフローチャート図。
【図１０】実施の形態２に係る鍵生成装置のユーザ秘密鍵の述語変更の手続きを示すフローチャート図。
【図１１】実施の形態３に係るデータ処理システムの構成例を示す図。
【図１２】実施の形態３に係る鍵生成装置の鍵生成処理を示すフローチャート図。
【図１３】実施の形態３に係る暗号文送信装置の暗号化処理を示すフローチャート図。
【図１４】実施の形態３に係る鍵生成装置のユーザ秘密鍵の属性変更及び述語変更の手続きを示すフローチャート図。
【図１５】実施の形態４に係るデータ処理システムの構成例を示す図。
【図１６】実施の形態４に係る鍵生成装置の鍵生成処理を示すフローチャート図。
【図１７】実施の形態４に係る鍵生成装置の鍵デバイス紛失時の手続きを示すフローチャート図。
【図１８】実施の形態５に係るデータ処理システムの構成例を示す図。
【図１９】実施の形態５に係る鍵生成装置の鍵生成処理を示すフローチャート図。
【図２０】実施の形態５に係る暗号文送信装置の暗号化処理を示すフローチャート図。
【図２１】実施の形態５に係る鍵生成装置のユーザ秘密鍵の属性変更の手続きを示すフローチャート図。
【図２２】実施の形態６に係るデータ処理システムの構成例を示す図。
【図２３】実施の形態１に係る鍵の生成及び鍵の送信例を示す図。
【図２４】実施の形態１に係る鍵とデータの復号例を示す図。
【図２５】実施の形態１〜６に係る暗号文送信装置等のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１３】
以降の実施の形態１〜６では、第１の復号装置と、第２の復号装置と、暗号装置とが含まれるデータ処理システムについて説明する。
第１の復号装置及び暗号装置は、例えば、それぞれ、コンピュータであり、第２の復号装置は、例えば、第１の復号装置に接続される鍵デバイス（記憶媒体）である。
暗号装置は、実施の形態１〜６に示すように、鍵の生成を行う装置とデータの暗号化を行う装置に分かれていてもよい。
【００１４】
第１の復号装置は、第１の復号アルゴリズムに従って復号処理を行う。
第１の復号アルゴリズムは、例えば、ＩＤベース暗号又は関数型暗号の復号ロジックである。
第２の復号装置は、第１の復号アルゴリズムとは異なる第２の復号アルゴリズムに従って復号処理を行う。
第２の復号アルゴリズムは、例えば、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）（登録商標）暗号の復号ロジックである。
暗号装置は、第１の復号アルゴリズム用の暗号鍵及び復号鍵を、第１の暗号鍵及び第１の復号鍵として生成し、第２の復号アルゴリズム用の暗号鍵及び復号鍵を、第２の暗号鍵及び第２の復号鍵として生成する。
また、暗号装置は、第２の復号アルゴリズムに対応する暗号化アルゴリズム（第２の暗号化アルゴリズム）に従って、第２の暗号鍵を用いて第１の復号鍵を暗号化して、暗号化第１の復号鍵を生成する。
更に、暗号装置は、第１の復号アルゴリズムに対応する暗号化アルゴリズム（第１の暗号化アルゴリズム）に従って、第１の暗号鍵を用いて平文データ（以下、単に「平文」ともいう）を暗号化して、暗号文データ（以下、単に「暗号文」ともいう）を生成する。
第１の暗号化アルゴリズムは、例えば、ＩＤベース暗号又は関数型暗号の暗号化ロジックである。
第２の暗号化アルゴリズムは、例えば、ＲＳＡ（登録商標）暗号の暗号化ロジックである。
なお、第１の暗号化アルゴリズムと第１の復号アルゴリズムを、まとめて、第１のアルゴリズムともいう。
同様に、第２の暗号化アルゴリズムと第２の復号アルゴリズムを、まとめて、第２のアルゴリズムともいう。
【００１５】
第１の復号装置は、暗号装置から送信された暗号化第１の復号鍵と暗号文データを受信する。
第２の復号装置には、暗号装置から第２の復号鍵が書き込まれる。
第１の復号装置は、暗号化第１の復号鍵を第２の復号装置に出力する。
第２の復号装置は、暗号化第１の復号鍵を入力し、第２の復号アルゴリズムに従って、第２の復号鍵を用いて暗号化第１の復号鍵の復号処理を行い、復号処理により得られた第１の復号鍵を第１の復号装置に出力する。
第１の復号装置は、第１の復号鍵を入力し、第１の復号アルゴリズムに従って、第１の復号鍵を用いて暗号文データの復号処理を行う。
【００１６】
このように、第２のアルゴリズムが利用されている環境に、第２のアルゴリズムを実現するために設けられている第２の復号装置に変更を加えることなく、新たに第１のアルゴリズムを導入することができる。
【００１７】
実施の形態１．
図１は、本実施の形態に係るデータ処理システムの構成例を示す。
なお、本実施の形態では、第１のアルゴリズムとして、関数型暗号の一形態であるＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムが用いられ、第２のアルゴリズムとして、ＲＳＡ（登録商標）暗号アルゴリズムが用いられる例を説明する。
【００１８】
本実施の形態に係るデータ処理システムでは、暗号文送信装置１００と暗号文受信装置２００と鍵生成装置３００とがインターネット８００で接続され、また、鍵デバイス４００が暗号文受信装置２００に接続されている。
【００１９】
暗号文送信装置１００は、平文データを暗号化して暗号文データを生成し、暗号文データを送信する。
暗号文受信装置２００は、暗号文データを受信し、暗号文データの復号処理を行う。
鍵生成装置３００は、暗号化のための鍵及び復号のための鍵を生成する。
鍵デバイス４００は、暗号文受信装置２００に接続される。
鍵デバイス４００は、例えば、ＩＣカードであり、暗号文受信装置２００における復号処理のために必要な鍵が格納されている。
暗号文送信装置１００及び鍵生成装置３００は、暗号装置の例に相当する。
暗号文受信装置２００は、第１の復号装置及び復号装置の例に相当する。
鍵デバイス４００は、第２の復号装置及び復号補助装置の例に相当する。
【００２０】
暗号文送信装置１００において、情報送受信部１０１Ａは、データ送信及びデータ受信を行う。
情報送受信部１０１Ａは、例えば、鍵生成装置３００から鍵を受信し、暗号文受信装置２００に暗号文データを送信する。
述語生成部１０２Ａは、述語ソースを入力し、述語オブジェクトを生成する。
述語オブジェクトは、後述する属性オブジェクトとともに、関数型暗号に用いられるパラメータである。
Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、述語オブジェクトは、暗号文データに埋め込まれる。
暗号化処理部１０３は、データの暗号化を行う。
また、暗号化処理部１０３は、データ暗号化部の例に相当する。
【００２１】
暗号文受信装置２００において、情報送受信部１０１Ｂは、データ送信及びデータ受信を行う。
情報送受信部１０１Ｂは、例えば、暗号文送信装置１００から暗号文データを受信する。
また、情報送受信部１０１Ｂは、鍵デバイス４００から、鍵デバイス４００で復号された鍵を入力する。
復号処理部２０１は、暗号文データの復号処理を行い、平文データを取得する。
なお、情報送受信部１０１Ｂは、暗号文データ入力部、暗号化第１の復号鍵入力部、第１の復号鍵入力部の例に相当する。
【００２２】
鍵生成装置３００において、属性生成部３０１Ｃは、属性ソースを入力し、属性オブジェクトを生成する。
属性オブジェクトは、前述した述語オブジェクトとともに、関数型暗号に用いられるパラメータである。
Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトは、鍵に埋め込まれる。
鍵生成部３０２は、鍵を生成する。
また、鍵生成部３０２は、生成した鍵の暗号化も行う。
鍵管理部３０３は、鍵生成部３０２で生成された鍵の管理を行う。
情報送受信部１０１Ｃは、データ送信及びデータ受信を行う。
情報送受信部１０１Ｃは、例えば、鍵生成部３０２で生成された鍵を、暗号文送信装置１００に送信する。
なお、鍵生成部３０２は、第１の鍵生成部、第２の鍵生成部及び復号鍵暗号化部の例に相当する。
【００２３】
鍵デバイス４００において、鍵格納部４０１は、耐タンパ機能を持ち、鍵を格納する。
鍵復号処理部４０２は、鍵を外部に漏えいさせることなく、鍵デバイス４００内部で復号演算を実施する。
情報送受信部１０１Ｄは、データ送信及びデータ受信を行う。
情報送受信部１０１Ｄは、例えば、暗号文受信装置２００から暗号化された鍵を入力し、鍵復号処理部４０２の復号演算により得られた鍵を暗号文受信装置２００に出力する。
【００２４】
なお、図１に示す構成は一例であり、図１と異なる構成にすることができる。
例えば、暗号文送信装置１００の暗号化処理部１０３を、暗号文送信装置１００とは別の装置に設けることができる。
また、暗号文送信装置１００に、暗号化処理部１０３の代わりに、暗号化と復号の双方が可能な処理モジュールを配置することもできる。
同様に、暗号文受信装置２００に、復号処理部２０１の代わりに、暗号化と復号の双方が可能な処理モジュールを配置することもできる。
【００２５】
次に、図２３を参照して、鍵の生成及びデータの暗号化手順を概説し、図２４を参照して、鍵及びデータの復号手順を概説する。
【００２６】
図２３において、鍵生成装置３００では、鍵生成部３０２がマスター公開鍵ｐｋとマスター秘密鍵ｓｋを生成し、また、属性生成部３０１Ｃが属性オブジェクトｖを生成する。
また、鍵生成部３０２が、マスター公開鍵ｐｋとマスター秘密鍵ｓｋと属性オブジェクトｖに演算ＫｅｙＧｅｎを実行して、ユーザ秘密鍵ｕｋを生成する。
演算ＫｅｙＧｅｎは、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに対応する鍵生成演算である。
ユーザ秘密鍵ｕｋは、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに則した鍵である。
Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖをユーザ秘密鍵ｕｋに埋め込み、述語オブジェクトｘを暗号文データに埋め込む。
また、鍵生成部３０２は、例えばＲＳＡ（登録商標）暗号アルゴリズムに則した鍵デバイス公開鍵ｄｐｋと鍵デバイス秘密鍵ｄｓｋを生成する。
【００２７】
また、情報送受信部１０１Ｃが、マスター公開鍵ｐｋを暗号文送信装置１００に送信し、暗号文送信装置１００の情報送受信部１０１Ａがマスター公開鍵ｐｋを受信する。
また、鍵生成装置３００の鍵管理部３０３が、鍵デバイス秘密鍵ｄｓｋを鍵デバイス４００の鍵格納部４０１に格納する。
鍵デバイス秘密鍵ｄｓｋが格納された鍵デバイス４００は、暗号文受信装置２００を利用するユーザに渡され、暗号文受信装置２００に接続される。
マスター公開鍵ｐｋを受信した暗号文送信装置１００では、暗号化処理部１０３がマスター公開鍵ｐｋと述語オブジェクトｘを用いて、演算Ｅｎｃ１を実行して平文データｍを暗号化し、暗号文データｃｔを生成する。
演算Ｅｎｃ１は、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに対応する暗号化演算である。
そして、情報送受信部１０１Ａが、暗号文データｃｔを暗号文受信装置２００に送信する。
また、鍵生成装置３００では、鍵生成部３０２が、鍵デバイス公開鍵ｄｐｋを用いて演算Ｅｎｃ２を実行してユーザ秘密鍵ｕｋを暗号化し、暗号化ユーザ秘密鍵ｃｕｋを生成する。
演算Ｅｎｃ２は、ＲＳＡ（登録商標）暗号アルゴリズムに対応する暗号化演算である。  そして、情報送受信部１０１Ｃが、暗号化ユーザ秘密鍵ｃｕｋとマスター公開鍵ｐｋを暗号文受信装置２００に送信する。
暗号文受信装置２００では、情報送受信部１０１Ｂが、暗号文データｃｔと暗号化ユーザ秘密鍵ｃｕｋとマスター公開鍵ｐｋを受信する。
【００２８】
次に、図２４において、暗号文受信装置２００では、情報送受信部１０１Ｂが、暗号化ユーザ秘密鍵ｃｕｋを鍵デバイス４００に出力する。
鍵デバイス４００では、情報送受信部１０１Ｄが、暗号化ユーザ秘密鍵ｃｕｋを入力する。
次に、鍵復号処理部４０２が、鍵デバイス秘密鍵ｄｓｋを用いて、暗号化ユーザ秘密鍵ｃｕｋに対して演算Ｄｅｃ２を実行し、復号結果としてユーザ秘密鍵ｕｋを得る。
演算Ｄｅｃ２は、ＲＳＡ（登録商標）暗号アルゴリズムに対応する復号処理演算である。
そして、情報送受信部１０１Ｄがユーザ秘密鍵ｕｋを暗号文受信装置２００に出力する。
暗号文受信装置２００では、情報送受信部１０１Ｂがユーザ秘密鍵ｕｋを入力する。
そして、復号処理部２０１が、マスター公開鍵ｐｋとユーザ秘密鍵ｕｋを用いて、暗号文データｃｔに対して演算Ｄｅｃ１を実行し、復号結果として平文データｍを得る。
演算Ｄｅｃ１は、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに対応する復号処理演算である。
【００２９】
なお、図２３において、マスター公開鍵ｐｋと述語オブジェクトｘは、平文データｍの暗号化に用いられ、それぞれ第１の暗号鍵に相当する。
また、ユーザ秘密鍵ｕｋは、暗号文データｃｔの復号処理に用いられ、第１の復号鍵に相当する。
また、鍵デバイス公開鍵ｄｐｋは、ユーザ秘密鍵ｕｋの暗号化に用いられ、第２の暗号鍵に相当する。
また、鍵デバイス秘密鍵ｄｓｋは、暗号化ユーザ秘密鍵ｃｕｋの復号処理に用いられ、第２の復号鍵に相当する。
【００３０】
なお、本実施の形態では、インターネット８００を介した送信によって、鍵生成装置３００から暗号文送信装置１００へ、また、暗号文送信装置１００から暗号文受信装置２００へ、また、鍵生成装置３００から暗号文受信装置２００へ鍵が渡される。
これに代えて、ＩＣカード等に鍵を格納し、鍵が格納されたＩＣカードを、暗号文送信装置１００、暗号文受信装置２００に配布することにより、鍵を渡すようにしてもよい。
実施の形態２〜６でも、インターネット８００による鍵の送受信を説明するが、実施の形態２〜６でも同様に、ＩＣカード等の配布によって鍵を渡すようにしてもよい。
【００３１】
次に、図２を参照して、鍵生成装置３００の鍵生成処理の詳細を説明する。
【００３２】
前述したように、鍵生成装置３００では、鍵生成部３０２が、様々な鍵を生成する。
本実施の形態では、鍵生成部３０２は、ペアとなるマスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、ユーザ秘密鍵ｕｋ、鍵デバイス４００に格納される鍵デバイス秘密鍵ｄｓｋ、鍵デバイス公開鍵ｄｐｋを生成する。
これらの鍵は、一つの鍵生成部または複数の鍵生成部で生成するようにしてもよい。
鍵生成部３０２は、例えば、以下の式１により、マスター鍵ペア（マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ）を生成する（Ｓ１１）。
【００３３】
【数１】
0006026017.tif 000002
【００３４】
鍵生成部３０２は、上記のように、セキュリティパラメータ１λ、属性のフォーマットｎに演算Ｓｅｔｕｐを実行して、マスター公開鍵ｐｋとマスター秘密鍵ｓｋを生成する。
【００３５】
また、属性生成部３０１Ｃが、属性ソースを入力し、属性オブジェクトｖを生成する（Ｓ１２）。
属性ソースは、ユーザが理解できる属性情報であり、属性オブジェクトｖは演算ＫｅｙＧｅｎに利用することができる属性情報である。
属性生成部３０１Ｃには、属性ソースを属性オブジェクトｖに変換するための属性変換規則が備わっている。
属性ソースは、鍵生成装置３００が、システム管理者から入力してもよいし、他の装置から受信してもよい。
【００３６】
次に、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖを入力し、ユーザ秘密鍵ｕｋを生成する（Ｓ１３）。
例えば、鍵生成部３０２は、以下の式２のように、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖに対して演算ＫｅｙＧｅｎを実行して、ユーザ秘密鍵ｕｋを生成する。
【００３７】
【数２】
0006026017.tif 000003
【００３８】
次に、鍵生成部３０２が、鍵デバイス４００に格納される鍵デバイス鍵ペア（鍵デバイス公開鍵ｄｐｋ、鍵デバイス秘密鍵ｄｓｋ）を生成する（Ｓ１４）。
具体的には、鍵生成部３０２は、ＲＳＡ（登録商標）暗号アルゴリズムを用いて、鍵デバイス鍵ペアを生成する。
【００３９】
次に、情報送受信部１０１Ｃが、鍵生成部３０２が生成した鍵を送信する（Ｓ１５）。
図２３に示すように、情報送受信部１０１Ｃはマスター公開鍵ｐｋを暗号文送信装置１００に送信する。
鍵生成装置３００から暗号文送信装置１００への鍵の送信は、完全性を有する安全な通信路を用いて行うことが望ましい。
安全な通信路を用いない場合は、適切な署名を付与し、鍵が改ざんされない対策が必要となる。
また、鍵管理部３０３が、鍵デバイス秘密鍵ｄｓｋを鍵デバイス４００に書き込む。
鍵デバイス秘密鍵ｄｓｋが書き込まれた鍵デバイス４００は、暗号文受信装置２００のユーザに渡される。
【００４０】
次に、図３を参照して、暗号文送信装置１００の暗号化処理の詳細を説明する。
【００４１】
暗号文送信装置１００では、まず、述語生成部１０２Ａが、述語ソースを入力し、述語オブジェクトｘを生成する（Ｓ２１）。
述語ソースは、ユーザが理解できる述語情報であり、述語オブジェクトｘは、演算Ｅｎｃ１に利用することができる述語情報である。
述語生成部１０２Ａには、述語ソースを述語オブジェクトｘに変換するための述語変換規則が備わっている。
【００４２】
次に、暗号化処理部１０３が、以下の式３のように、平文データｍに対して、マスター公開鍵ｐｋ、述語オブジェクトｘを用いて演算Ｅｎｃ１を実行して、暗号文データｃｔを生成する。
【００４３】
【数３】
0006026017.tif 000004
【００４４】
次に、情報送受信部１０１Ａが、暗号文データｃｔを暗号文受信装置２００に送信する（Ｓ２３）。
【００４５】
次に、図４を参照して、暗号文受信装置２００の復号処理の詳細を説明する。
【００４６】
例えば、暗号文受信装置２００は、暗号文送信装置１００から暗号文データｃｔを受信した際に、鍵生成装置３００にマスター公開鍵ｐｋと暗号化ユーザ秘密鍵ｃｕｋの送信を要求する。
鍵生成装置３００では、暗号文受信装置２００からの要求を受けて、鍵生成部３０２が、鍵デバイス公開鍵ｄｐｋでユーザ秘密鍵ｕｋを暗号化して、暗号化ユーザ秘密鍵ｃｕｋを生成し、情報送受信部１０１Ｃがマスター公開鍵ｐｋと暗号化ユーザ秘密鍵ｃｕｋを暗号文受信装置２００に送信する。
このようにして、暗号文受信装置２００は暗号化ユーザ秘密鍵ｃｕｋを受信するが、暗号化ユーザ秘密鍵ｃｕｋは、鍵デバイス公開鍵ｄｐｋによって暗号化されたユーザ秘密鍵ｕｋであるため、暗号文データｃｔの復号処理に用いることができない。
このため、情報送受信部１０１Ｂが、暗号化ユーザ秘密鍵ｃｕｋを鍵デバイス４００に出力し、鍵復号処理部４０２に、鍵格納部４０１内の鍵デバイス秘密鍵ｄｓｋで暗号化ユーザ秘密鍵ｃｕｋの復号処理を行わせ、情報送受信部１０１Ｄからユーザ秘密鍵ｕｋを得る。
なお、鍵復号処理部４０２が暗号化ユーザ秘密鍵ｃｕｋの復号処理を行う前に、鍵復号処理部４０２が暗号文受信装置２００の認証を行うようにしてもよい。
例えば、鍵復号処理部４０２が、認証のためのＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）の入力を暗号文受信装置２００に要求するようにしてもよい。
そして、鍵デバイス４００に登録されているＰＩＮと暗号文受信装置２００からのＰＩＮが一致した場合のみ、鍵復号処理部４０２が暗号化ユーザ秘密鍵ｃｕｋの復号処理を行う。
【００４７】
情報送受信部１０１Ｂが鍵デバイス４００からユーザ秘密鍵ｕｋを入力すると、復号処理部２０１が、以下の式４のように、暗号文データｃｔに対して、マスター公開鍵ｐｋ、ユーザ秘密鍵ｕｋを用いて演算Ｄｅｃ１を実行して、平文データｍを取得する。
ｍ＝Ｄｅｃ１（ｐｋ、ｕｋ、ｃｔ）    式４
【００４８】
なお、上記では、暗号文受信装置２００からの要求を受けて鍵生成装置３００が暗号化ユーザ秘密鍵ｃｕｋを生成する例を説明したが、暗号文受信装置２００からの要求を受ける前に暗号化ユーザ秘密鍵ｃｕｋを生成していてもよい。
【００４９】
次に、図５を参照して、鍵デバイス４００の紛失時の手続きを説明する。
【００５０】
鍵デバイス４００の紛失時には、鍵デバイス４００の再発行が必要である。
さらに、鍵デバイス４００の悪用を防止する必要がある。
暗号文受信装置２００（又は暗号文受信装置２００のユーザ）から、鍵生成装置３００へ鍵デバイス４００の紛失の報告があると（Ｓ４１）、鍵生成装置３００は新たな鍵デバイス４００に格納するための新たな鍵デバイス秘密鍵ｄｓｋ’と新たな鍵デバイス公開鍵ｄｐｋ’を生成する（Ｓ４２）。
新たな鍵デバイス秘密鍵ｄｓｋ’と新たな鍵デバイス公開鍵ｄｐｋ’の生成手順は、前述した鍵デバイス秘密鍵ｄｓｋ及び鍵デバイス公開鍵ｄｐｋの生成手順と同じである。
そして、鍵管理部３０３が、新たな鍵デバイス４００の鍵格納部４０１に、新たな鍵デバイス秘密鍵ｄｓｋ’を格納し（Ｓ４３）、新たな鍵デバイス秘密鍵ｄｓｋ’が格納された新たな鍵デバイス４００が暗号文受信装置２００のユーザに渡される（Ｓ４４）。
以降は、暗号化ユーザ秘密鍵ｃｕｋの生成には、新たな鍵デバイス公開鍵ｄｐｋ’が用いられる。
【００５１】
なお、紛失した鍵デバイス４００の鍵格納部４０１に格納してあった鍵デバイス秘密鍵ｄｓｋ及び暗号化ユーザ秘密鍵ｃｕｋが、鍵生成装置３００に保管されている場合は、鍵生成部３０２が鍵デバイス秘密鍵ｄｓｋを用いて、暗号化ユーザ秘密鍵ｃｕｋの復号処理を行ってもよい。
そして、鍵生成部３０２が、ユーザ秘密鍵ｕｋを、新たな鍵デバイス公開鍵ｄｐｋ’で再暗号化してもよい。
鍵デバイス秘密鍵ｄｓｋ及び暗号化ユーザ秘密鍵ｃｕｋが保管されていない場合は、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖから、ユーザ秘密鍵ｕｋを生成する。
このとき、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖのうちの少なくともいずれかを変更してもよい。
マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖのうちの少なくともいずれかを変更した場合は、システム管理者に変更を連絡しなければならない。
【００５２】
なお、ここでは、鍵デバイス４００を紛失した際に鍵デバイス秘密鍵ｄｓｋと鍵デバイス公開鍵ｄｐｋを更新する例を説明した。
鍵デバイス４００の紛失時に限らず、鍵デバイス４００の破損時等の他の更新タイミングにおいても、鍵デバイス秘密鍵ｄｓｋと鍵デバイス公開鍵ｄｐｋを更新するようにしてもよい。
【００５３】
次に、図６を参照して、暗号文受信装置２００の属性ソースが変更された場合の手続きを説明する。
【００５４】
属性ソースが変更になった際には、鍵生成装置３００によるユーザ秘密鍵ｕｋの再発行が必要である。
暗号文受信装置２００（又は暗号文受信装置２００のユーザ）から、鍵生成装置３００へ属性ソースが変更された旨の報告があると、鍵生成装置３００の属性生成部３０１が、変更された属性ソースから新たな属性オブジェクトｖ’を生成する（Ｓ５１）。
そして、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、新たな属性オブジェクトｖ’を用いて新たなユーザ秘密鍵ｕｋ’を生成する（Ｓ５２）。
属性ソースの変更前のユーザ秘密鍵ｕｋが保管されている場合は、鍵生成部３０２は、当該ユーザ秘密鍵ｕｋを削除する。
そして、情報送受信部１０１Ｃが、新たなユーザ秘密鍵ｕｋ’又は新たな暗号化ユーザ秘密鍵ｃｕｋ’を送信する（Ｓ５３）。
つまり、鍵生成部３０２が新たなユーザ秘密鍵ｕｋ’を鍵デバイス公開鍵ｄｐｋで暗号化して新たな暗号化ユーザ秘密鍵ｃｕｋ’を生成する。
そして、情報送受信部１０１Ｃが、新たな暗号化ユーザ秘密鍵ｃｕｋ’を暗号文受信装置２００に送信する。
【００５５】
また、述語ソースが変更になった場合は、暗号文受信装置２００から暗号文送信装置１００に述語ソースが変更になった旨が報告され、述語生成部１０２Ａが変更後の述語ソースから新たな述語オブジェクトｘ’を生成する。
そして、暗号化処理部１０３が、新たな述語オブジェクトｘ’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
【００５６】
このように、本実施の形態では、第２のアルゴリズム（ＲＳＡ（登録商標）暗号）に対応した鍵デバイスが利用されている環境に、鍵デバイスに変更を加えることなく、新たに第１のアルゴリズム（関数型暗号のＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙ）を導入することができる。
【００５７】
実施の形態２．
本実施の形態では、ＲＳＡ（登録商標）暗号アルゴリズムに対応した鍵デバイスが利用されている環境に、関数型暗号の一形態であるＫｅｙ−Ｐｏｌｉｃｙアルゴリズムを導入する例を説明する。
実施の形態１で説明したＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖがユーザ秘密鍵ｕｋに埋め込まれ、述語オブジェクトｘが暗号文データｃｔに埋め込まれるが、本実施の形態で説明するＫｅｙ−Ｐｏｌｉｃｙアルゴリズムでは、述語オブジェクトｘがユーザ秘密鍵ｕｋに埋め込まれ、属性オブジェクトｖが暗号文データｃｔに埋め込まれる。
つまり、本実施の形態では、図２３の属性オブジェクトｖの代わりに述語オブジェクトｘが用いられてユーザ秘密鍵ｕｋが生成され、述語オブジェクトｘの代わりに属性オブジェクトｖが用いられて暗号文データｃｔが生成される。
また、本実施の形態では、図２３の演算ＫｅｙＧｅｎにおいて、Ｋｅｙ−Ｐｏｌｉｃｙアルゴリズムに対応する鍵生成演算が行われる。
また、演算Ｅｎｃ１において、Ｋｅｙ−Ｐｏｌｉｃｙアルゴリズムに対応する暗号化演算が行われる。
また、図２４の演算Ｄｅｃ１において、Ｋｅｙ−Ｐｏｌｉｃｙアルゴリズムに対応する復号処理演算が行われる。
【００５８】
図７は、本実施の形態に係るデータ処理システムの構成例を示す。
【００５９】
実施の形態１で説明したＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖがユーザ秘密鍵ｕｋに埋め込まれ、述語オブジェクトｘが暗号文データｃｔに埋め込まれるので、図１に示すように、属性生成部３０１Ｃが鍵生成装置３００に配置され、述語生成部１０２Ａが暗号文送信装置１００に配置される。
本実施の形態で説明するＫｅｙ−Ｐｏｌｉｃｙアルゴリズムでは、述語オブジェクトｘがユーザ秘密鍵ｕｋに埋め込まれ、属性オブジェクトｖが暗号文データｃｔに埋め込まれるので、図７に示すように、述語生成部１０２Ｃが鍵生成装置３００に配置され、属性生成部３０１Ａが暗号文送信装置１００に配置される。
述語生成部１０２Ｃは、図１の述語生成部１０２Ａと同様に、述語ソースから述語オブジェクトｘを生成する。
属性生成部３０１Ａは、図１の属性生成部３０１Ｃと同様に、属性ソースから属性オブジェクトｖを生成する。
図７に示す要素のうち、述語生成部１０２Ｃと属性生成部３０１Ａ以外の要素は、図１に示したものと同じなので、説明を省略する。
以下では、主に、実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同じである。
【００６０】
次に、図８を参照して、鍵生成装置３００の鍵生成処理の詳細を説明する。
【００６１】
鍵生成部３０２は、図２のＳ１１と同様の手順にて、マスター鍵ペア（マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ）を生成する（Ｓ６１）。
【００６２】
次に、述語生成部１０２Ｃが、述語ソースを入力し、述語オブジェクトｘを生成する（Ｓ６２）。
述語ソースは、ユーザが理解できる述語情報であり、述語オブジェクトｘは、演算ＫｅｙＧｅｎに利用することができる述語情報である。
述語生成部１０２Ｃには、述語ソースを述語オブジェクトに変換するための述語変換規則が備わっている。
述語ソースは、鍵生成装置３００が、システム管理者から入力してもよいし、他の装置から受信してもよい。
【００６３】
次に、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘを入力し、ユーザ秘密鍵ｕｋを生成する（Ｓ６３）。
例えば、鍵生成部３０２は、以下の式５のように、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘに対して演算ＫｅｙＧｅｎを実行して、ユーザ秘密鍵ｕｋを生成する。
【００６４】
【数４】
0006026017.tif 000005
【００６５】
次に、鍵生成部３０２が、図２のＳ１４と同様の手順にて、鍵デバイス４００に格納される鍵デバイス鍵ペア（鍵デバイス公開鍵ｄｐｋ、鍵デバイス秘密鍵ｄｓｋ）を生成する（Ｓ６４）。
【００６６】
次に、情報送受信部１０１Ｃが、図２のＳ１５と同様の手順にて、鍵生成部３０２が生成した鍵を送信する（Ｓ６５）。
【００６７】
次に、図９を参照して、暗号文送信装置１００の暗号化処理の詳細を説明する。
【００６８】
暗号文送信装置１００では、まず、属性生成部３０１Ａが、属性ソースを入力し、属性オブジェクトｖを生成する（Ｓ７１）。
属性ソースは、ユーザが理解できる属性情報であり、属性オブジェクトｖは演算Ｅｎｃ１に利用することができる属性情報である。
属性生成部３０１Ａには、属性ソースを属性オブジェクトｖに変換するための属性変換規則が備わっている。
属性ソースは、暗号文送信装置１００が、システム管理者から入力してもよいし、他の装置から受信してもよい。
【００６９】
次に、暗号化処理部１０３が、以下の式６のように、平文データｍに対して、マスター公開鍵ｐｋ、属性オブジェクトｖを用いて演算Ｅｎｃ１を実行して、暗号文データｃｔを生成する。
【００７０】
【数５】
0006026017.tif 000006
【００７１】
次に、図３のＳ２３と同様に、情報送受信部１０１Ａが、暗号文データｃｔを暗号文受信装置２００に送信する（Ｓ７３）。
【００７２】
暗号文受信装置２００における復号処理は、実施の形態１（図４）に示したものと同じであるため、説明を省略する。
【００７３】
また、鍵デバイス４００を紛失した場合の手続きは、以下の点を除いて、実施の形態１（図５）に示したものと同じである。
実施の形態１では、紛失した鍵デバイス４００に格納されていた鍵デバイス秘密鍵ｄｓｋ及び暗号化ユーザ秘密鍵ｃｕｋが保管されていない場合は、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖから、ユーザ秘密鍵ｕｋを生成する。
本実施の形態では、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘから、ユーザ秘密鍵ｕｋを生成する。
このとき、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘのうちの少なくともいずれかを変更してもよい。
マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘのうちの少なくともいずれかを変更した場合は、システム管理者に変更を連絡しなければならない。
【００７４】
次に、図１０を参照して、暗号文受信装置２００の述語ソースが変更された場合の手続きを説明する。
【００７５】
述語ソースが変更になった際には、鍵生成装置３００によるユーザ秘密鍵ｕｋの再発行が必要である。
暗号文受信装置２００（又は暗号文受信装置２００のユーザ）から、鍵生成装置３００へ述語ソースが変更された旨の報告があると、鍵生成装置３００の述語生成部１０２Ｃが、変更された述語ソースから新たな述語オブジェクトｘ’を生成する（Ｓ８１）。
そして、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、新たな述語オブジェクトｘ’を用いて新たなユーザ秘密鍵ｕｋ’を生成する（Ｓ８２）。
述語ソースの変更前のユーザ秘密鍵ｕｋが保管されている場合は、鍵生成部３０２は、当該ユーザ秘密鍵ｕｋを削除する。
また、鍵生成装置３００は、実施の形態１で示したように、新たなユーザ秘密鍵ｕｋ’を暗号化して、新たな暗号化ユーザ秘密鍵ｃｕｋ’を生成する。
そして、図６のＳ５３と同様の手順にて、情報送受信部１０１Ｃが、新たな暗号化ユーザ秘密鍵ｃｕｋ’を送信する（Ｓ８３）。
【００７６】
また、属性ソースが変更になった場合は、暗号文受信装置２００から暗号文送信装置１００に属性ソースが変更になった旨が報告され、属性生成部３０１Ａが変更後の属性ソースから新たな属性オブジェクトｖ’を生成する。
そして、暗号化処理部１０３が、新たな属性オブジェクトｖ’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
【００７７】
このように、本実施の形態では、第２のアルゴリズム（ＲＳＡ（登録商標）暗号）に対応した鍵デバイスが利用されている環境に、鍵デバイスに変更を加えることなく、新たに第１のアルゴリズム（関数型暗号のＫｅｙ−Ｐｏｌｉｃｙ）を導入することができる。
【００７８】
実施の形態３．
本実施の形態では、ＲＳＡ（登録商標）暗号アルゴリズムに対応した鍵デバイスが利用されている環境に、関数型暗号の一形態であるＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムを導入する例を説明する。
実施の形態１で説明したＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖがユーザ秘密鍵ｕｋに埋め込まれ、述語オブジェクトｘが暗号文データｃｔに埋め込まれる。
実施の形態２で説明したＫｅｙ−Ｐｏｌｉｃｙアルゴリズムでは、述語オブジェクトｘがユーザ秘密鍵ｕｋに埋め込まれ、属性オブジェクトｖが暗号文データｃｔに埋め込まれる。
本実施の形態で説明するＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖ１と述語オブジェクトｘ２がユーザ秘密鍵ｕｋに埋め込まれ、述語オブジェクトｘ１と属性オブジェクトｖ２が暗号文データｃｔに埋め込まれる。
属性オブジェクトｖ１と述語オブジェクトｘ１は対になっており、属性オブジェクトｖ２と述語オブジェクトｘ２も対になっている。
本実施の形態では、図２３の属性オブジェクトｖの代わりに属性オブジェクトｖ１と述語オブジェクトｘ２が用いられてユーザ秘密鍵ｕｋが生成され、述語オブジェクトｘの代わりに属性オブジェクトｖ２と述語オブジェクトｘ１が用いられて暗号文データｃｔが生成される。
また、本実施の形態では、図２３の演算ＫｅｙＧｅｎにおいて、Ｕｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムに対応する鍵生成演算が行われる。
また、演算Ｅｎｃ１において、Ｕｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムに対応する暗号化演算が行われる。
また、図２４の演算Ｄｅｃ１において、Ｕｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムに対応する復号処理演算が行われる。
【００７９】
図１１は、本実施の形態に係るデータ処理システムの構成例を示す。
【００８０】
本実施の形態で説明するＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙアルゴリズムでは、属性オブジェクトｖ１と述語オブジェクトｘ２がユーザ秘密鍵ｕｋに埋め込まれ、属性オブジェクトｖ２と述語オブジェクトｘ１が暗号文データｃｔに埋め込まれるので、図１１に示すように、述語生成部１０２Ｃと属性生成部３０１Ｃとが鍵生成装置３００に配置され、述語生成部１０２Ａと属性生成部３０１Ａとが暗号文送信装置１００に配置される。
属性生成部３０１Ｃは、属性ソース１から属性オブジェクトｖ１を生成する。
述語生成部１０２Ｃは、述語ソース２から述語オブジェクトｘ２を生成する。
属性生成部３０１Ａは、属性ソース２から属性オブジェクトｖ２を生成する。
述語生成部１０２Ａは、述語ソース１から述語オブジェクトｘ１を生成する。
図１１に示す要素のうち、述語生成部１０２Ｃと属性生成部３０１Ｃ、述語生成部１０２Ａと属性生成部３０１Ａ以外の要素は、図１に示したものと同じなので、説明を省略する。
以下では、主に、実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同じである。
【００８１】
次に、図１２を参照して、鍵生成装置３００の鍵生成処理の詳細を説明する。
【００８２】
鍵生成部３０２は、図２のＳ１１と同様の手順にて、マスター鍵ペア（マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ）を生成する（Ｓ９１）。
【００８３】
次に、属性生成部３０１Ｃが属性ソース１を入力して属性オブジェクトｖ１を生成し、述語生成部１０２Ｃが述語ソース２を入力して述語オブジェクトｘ２を生成する（Ｓ９２）。
【００８４】
次に、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖ１、述語オブジェクトｘ２を入力し、ユーザ秘密鍵ｕｋを生成する（Ｓ９３）。
例えば、鍵生成部３０２は、以下の式７のように、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖ１、述語オブジェクトｘ２に対して演算ＫｅｙＧｅｎを実行して、ユーザ秘密鍵ｕｋを生成する。
【００８５】
【数６】
0006026017.tif 000007
【００８６】
次に、鍵生成部３０２が、図２のＳ１４と同様の手順にて、鍵デバイス鍵ペア（鍵デバイス公開鍵ｄｐｋ、鍵デバイス秘密鍵ｄｓｋ）を生成する（Ｓ９４）。
【００８７】
次に、情報送受信部１０１Ｃが、図２のＳ１５と同様の手順にて、鍵生成部３０２が生成した鍵を送信する（Ｓ９５）。
【００８８】
次に、図１３を参照して、暗号文送信装置１００の暗号化処理の詳細を説明する。
【００８９】
暗号文送信装置１００では、まず、属性生成部３０１Ａが属性ソース２を入力して属性オブジェクトｖ２を生成し、述語生成部１０２Ａが述語ソース１を入力して述語オブジェクトｘ１を生成する（Ｓ１０１）。
【００９０】
次に、暗号化処理部１０３が、以下の式８のように、平文データｍに対して、マスター公開鍵ｐｋ、述語オブジェクトｘ１、属性オブジェクトｖ２を用いて演算Ｅｎｃ１を実行して、暗号文データｃｔを生成する。
【００９１】
【数７】
0006026017.tif 000008
【００９２】
次に、図３のＳ２３と同様に、情報送受信部１０１Ａが、暗号文データｃｔを暗号文受信装置２００に送信する（Ｓ１０３）。
【００９３】
暗号文受信装置２００における復号処理は、実施の形態１（図４）に示したものと同じであるため、説明を省略する。
【００９４】
また、鍵デバイス４００を紛失した場合の手続きは、以下の点を除いて、実施の形態１（図５）に示したものと同じである。
実施の形態１では、紛失した鍵デバイス４００に格納されていた鍵デバイス秘密鍵ｄｓｋ及び暗号化ユーザ秘密鍵ｃｕｋが保管されていない場合は、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖから、ユーザ秘密鍵ｕｋを生成する。
本実施の形態では、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖ１、述語オブジェクトｘ２から、ユーザ秘密鍵ｕｋを生成する。
このとき、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖ１、述語オブジェクトｘ２のうちの少なくともいずれかを変更してもよい。
マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性オブジェクトｖ１、述語オブジェクトｘ２のうちの少なくともいずれかを変更した場合は、システム管理者に変更を連絡しなければならない。
【００９５】
次に、図１４を参照して、属性ソース及び述語ソースの少なくともいずれかが変更された場合の手続きを説明する。
【００９６】
属性ソース及び述語ソースの少なくともいずれかが変更になった際には、鍵生成装置３００によるユーザ秘密鍵ｕｋの再発行が必要である。
暗号文受信装置２００（又は暗号文受信装置２００のユーザ）から、鍵生成装置３００へ述語ソースが変更された旨の報告があると、鍵生成装置３００の述語生成部１０２Ｃが、変更された述語ソース２から新たな述語オブジェクトｘ２’を生成する（Ｓ１１１）。
また、暗号文受信装置２００（又は暗号文受信装置２００のユーザ）から、鍵生成装置３００へ属性ソースが変更された旨の報告があると、属性生成部３０１Ｃが、変更された属性ソース１から新たな属性オブジェクトｖ１’を生成する（Ｓ１１２）。
そして、鍵生成部３０２が、新たなユーザ秘密鍵ｕｋ’を生成する（Ｓ１１３）。
述語ソース２のみが変更になった場合は、鍵生成部３０２は、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、新たな述語オブジェクトｘ２’、属性オブジェクトｖ１を用いて新たなユーザ秘密鍵ｕｋ’を生成する。
また、属性ソース１のみが変更になった場合は、鍵生成部３０２は、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、述語オブジェクトｘ２、新たな属性オブジェクトｖ１’を用いて新たなユーザ秘密鍵ｕｋ’を生成する。
また、述語ソース２及び属性ソース１が変更になった場合は、鍵生成部３０２は、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、新たな述語オブジェクトｘ２’、新たな属性オブジェクトｖ１’を用いて新たなユーザ秘密鍵ｕｋ’を生成する。
述語ソース又は属性ソースの変更前のユーザ秘密鍵ｕｋが保管されている場合は、鍵生成部３０２は、当該ユーザ秘密鍵ｕｋを削除する。
また、鍵生成装置３００は、実施の形態１で示したように、新たなユーザ秘密鍵ｕｋ’を暗号化して、新たな暗号化ユーザ秘密鍵ｃｕｋ’を生成する。
そして、図６のＳ５３と同様の手順にて、情報送受信部１０１Ｃが、新たなユーザ秘密鍵ｕｋ’又は新たな暗号化ユーザ秘密鍵ｃｕｋ’を送信する（Ｓ１１４）。
【００９７】
また、述語ソース１が変更になった場合は、暗号文受信装置２００から暗号文送信装置１００に述語ソースが変更になった旨が報告され、述語生成部１０２Ａが変更後の述語ソース１から新たな述語オブジェクトｘ１’を生成する。
また、属性ソース２が変更になった場合は、暗号文受信装置２００から暗号文送信装置１００に属性ソース２が変更になった旨が報告され、属性生成部３０１Ａが変更後の属性ソース２から新たな属性オブジェクトｖ２’を生成する。
述語ソース１のみが変更になった場合は、暗号化処理部１０３が、新たな述語オブジェクトｘ１’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
属性ソース２のみが変更になった場合は、暗号化処理部１０３が、新たな属性オブジェクトｖ２’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
述語ソース１及び属性ソース２が変更になった場合は、暗号化処理部１０３が、新たな述語オブジェクトｘ１’、新たな属性オブジェクトｖ２’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
【００９８】
このように、本実施の形態では、第２のアルゴリズム（ＲＳＡ（登録商標）暗号）に対応した鍵デバイスが利用されている環境に、鍵デバイスに変更を加えることなく、新たに第１のアルゴリズム（関数型暗号のＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙ）を導入することができる。
【００９９】
実施の形態４．
実施の形態１〜３では、鍵生成装置３００の鍵管理部３０３が鍵デバイス４００に鍵デバイス秘密鍵ｄｓｋを書き込んでいたが、本実施の形態では、鍵生成装置３００以外の要素が鍵デバイス４００に鍵デバイス秘密鍵ｄｓｋを書き込む例を示す。
なお、本実施の形態では、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに基づいて、ユーザ秘密鍵ｕｋ及び暗号文データｃｔを生成する例を説明する。
【０１００】
図１５は、本実施の形態４に係るデータ処理システムの構成例を示す。
図１５では、図１の構成と比べて、鍵書き込み装置５００が追加されている。
また、鍵生成装置３００にデバイス対応鍵形式生成部３０４が追加されている。
【０１０１】
デバイス対応鍵形式生成部３０４は、鍵デバイス秘密鍵ｄｓｋのデータフォーマットを変換する。
例えば、デバイス対応鍵形式生成部３０４は、鍵デバイス秘密鍵ｄｓｋを含む鍵ファイルであって、鍵デバイス４００において安全に鍵デバイス秘密鍵ｄｓｋを保管できる鍵ファイルを生成する。
デバイス対応鍵形式生成部３０４により生成された鍵ファイルは、情報送受信部１０１Ｃによって鍵書き込み装置５００に送信される。
鍵書き込み装置５００は、鍵生成装置３００から受信した鍵ファイルを鍵デバイス４００へ書き込む。
情報送受信部１０１Ｅは、鍵生成装置３００から送信された鍵ファイルを受信する。
鍵書き込み部５０１は、鍵生成装置３００からの鍵ファイルを鍵デバイス４００へ書き込む。
他の要素は、図１に示したものと同様であるため説明を省略する。
以下では、主に、実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同じである。
【０１０２】
次に、図１６を参照して、鍵生成装置３００の鍵生成処理の詳細を説明する。
【０１０３】
Ｓ１１〜Ｓ１４は、図２のＳ１１〜Ｓ１４と同じであるため、説明を省略する。
Ｓ１４で生成された鍵デバイス秘密鍵ｄｓｋは、鍵デバイス４００に書き込む必要がある。
本実施の形態では、デバイス対応鍵形式生成部３０４が、鍵デバイス秘密鍵ｄｓｋを、鍵デバイス４００で安全に鍵デバイス秘密鍵ｄｓｋを保管できる形式の鍵ファイルに変換する（Ｓ１６）。
デバイス対応鍵形式生成部３０４は、例えば、ＰＫＣＳ＃１２形式の鍵ファイルを生成する。
ＰＫＣＳ＃１２の鍵ファイルは、鍵デバイス４００が暗号文受信装置２００から正しいＰＩＮを入力した場合のみ、鍵デバイス秘密鍵ｄｓｋの利用が可能になるファイルである。
Ｓ１６で生成された鍵ファイルは、情報送受信部１０１Ｃから鍵書き込み装置５００に送信される。
鍵書き込み装置５００では、鍵書き込み部５０１が鍵ファイルを鍵デバイス４００の鍵格納部４０１に格納する。
Ｓ１６の処理の後、Ｓ１５の処理が行われるが、Ｓ１５は、図２のＳ１５と同じであるため、説明を省略する。
【０１０４】
暗号文送信装置１００の暗号化処理は、実施の形態１（図３）と同じであり、暗号文受信装置２００における復号処理は、実施の形態１（図４）に示したものと同じであるため、説明を省略する。
【０１０５】
次に、図１７を参照して、鍵デバイス４００を紛失した場合の手続きを説明する。
【０１０６】
Ｓ４１及びＳ４２は、図５のＳ４１及びＳ４２と同じであるため、説明を省略する。
Ｓ４２で生成された新たな鍵デバイス秘密鍵ｄｓｋ’は、鍵デバイス４００に書き込む必要がある。
本実施の形態では、デバイス対応鍵形式生成部３０４が、鍵デバイス秘密鍵ｄｓｋ’を、鍵デバイス４００で安全に鍵デバイス秘密鍵ｄｓｋ’を保管できる形式の鍵ファイルに変換する（Ｓ４５）。
デバイス対応鍵形式生成部３０４は、例えば、ＰＫＣＳ＃１２形式の鍵ファイルを生成する。
Ｓ４５で生成された鍵ファイルは、情報送受信部１０１Ｃから鍵書き込み装置５００に送信される。
鍵書き込み装置５００では、鍵書き込み部５０１が鍵ファイルを鍵デバイス４００の鍵格納部４０１に格納する（Ｓ４３）。
そして、鍵ファイルが格納された鍵デバイス４００が、暗号文受信装置２００のユーザに渡される（Ｓ４４）。
【０１０７】
暗号文受信装置２００の属性ソースが変更された場合の手続きは、実施の形態１（図６）に示したものと同じであるため、説明を省略する。
【０１０８】
このように、本実施の形態によれば、鍵デバイス秘密鍵ｄｓｋを、鍵デバイス４００で安全に鍵デバイス秘密鍵ｄｓｋを保管できる鍵ファイルに変換するため、安全性を高めることができる。
【０１０９】
実施の形態５．
本実施の形態では、暗号文送信装置１００及び鍵生成装置３００以外の要素において、述語オブジェクトｘと属性オブジェクトｖを生成する例を説明する。
なお、本実施の形態では、Ｃｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙアルゴリズムに基づいて、ユーザ秘密鍵ｕｋ及び暗号文データｃｔを生成する例を説明する。
【０１１０】
図１８は、本実施の形態に係るデータ処理システムの構成例を示す。
図１８では、図１の構成と比べて、属性−述語生成装置６００が追加されている。
また、暗号文送信装置１００から述語生成部１０２Ａが省略され、鍵生成装置３００から属性生成部３０１Ｃが省略されている。
属性−述語生成装置６００は、述語生成部１０２Ｆ、属性生成部３０１Ｆ、情報送受信部１０１Ｆで構成される。
述語生成部１０２Ｆは、実施の形態１で説明した述語生成部１０２Ａと同様に、述語ソースから述語オブジェクトｘを生成する。
属性生成部３０１Ｆは、実施の形態１で説明した属性生成部３０１Ｃと同様に、属性ソースから属性オブジェクトｖを生成する。
そして、情報送受信部１０１Ｆは、述語生成部１０２Ｆで生成された述語オブジェクトｘを暗号文送信装置１００に送信し、属性生成部３０１Ｆで生成された属性オブジェクトｖを鍵生成装置３００に送信する。
本実施の形態では、属性−述語生成装置６００が暗号装置の一部を構成し、また、述語生成部１０２Ｆ及び属性生成部３０１Ｆが第１の鍵生成部の一部を構成する。
他の要素は、図１に示したものと同様であるため説明を省略する。
以下では、主に、実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同じである。
【０１１１】
次に、図１９を参照して、鍵生成装置３００の鍵生成処理の詳細を説明する。
【０１１２】
鍵生成部３０２は、図２のＳ１１と同様の手順にて、マスター鍵ペア（マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ）を生成する（Ｓ１１）。
【０１１３】
次に、鍵生成部３０２は、属性オブジェクトｖの生成を要求する生成要求を、情報送受信部１０１Ｃを介して属性−述語生成装置６００に送信する（Ｓ１７）。
【０１１４】
属性−述語生成装置６００では、情報送受信部１０１Ｆが属性オブジェクトｖの生成要求を受信し、属性生成部３０１Ｆが属性ソースを入力して、属性オブジェクトｖを生成する（Ｓ１２）。
そして、情報送受信部１０１Ｆが、属性生成部３０１Ｆが生成した属性オブジェクトｖを鍵生成装置３００に送信する。
鍵生成装置３００では、情報送受信部１０１Ｃが属性−述語生成装置６００から送信された属性オブジェクトｖを受信する。
【０１１５】
鍵生成装置３００では、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性−述語生成装置６００から送信された属性オブジェクトｖから、ユーザ秘密鍵ｕｋを生成する（Ｓ１３）。
ユーザ秘密鍵ｕｋの生成手順は、実施の形態１で説明した通りである。
以降のＳ１４とＳ１５は、図２のＳ１４とＳ１５と同じであるため、説明を省略する。
【０１１６】
次に、図２０を参照して、暗号文送信装置１００の暗号化処理の詳細を説明する。
【０１１７】
まず、暗号化処理部１０３が、述語オブジェクトｘの生成を要求する生成要求を、情報送受信部１０１Ａを介して属性−述語生成装置６００に送信する（Ｓ２４）。
【０１１８】
属性−述語生成装置６００では、情報送受信部１０１Ｆが述語オブジェクトｘの生成要求を受信し、述語生成部１０２Ｆが述語ソースを入力して、述語オブジェクトｘを生成する（Ｓ２１）。
そして、情報送受信部１０１Ｆが、述語生成部１０２Ｆが生成した述語オブジェクトｘを暗号文送信装置１００に送信する。
暗号文送信装置１００では、情報送受信部１０１Ａが属性−述語生成装置６００から送信された述語オブジェクトｘを受信する。
【０１１９】
次に、暗号化処理部１０３が、平文データｍに対して、属性−述語生成装置６００から送信された述語オブジェクトｘ、マスター公開鍵ｐｋを用いて演算Ｅｎｃ１を実行して、暗号文データｃｔを生成する（Ｓ２２）。
暗号文データｃｔの生成手順は、実施の形態１に示した通りである。
以降のＳ２３は、図３のＳ２３と同じであるため、説明を省略する。
【０１２０】
暗号文受信装置２００における復号処理は、実施の形態１（図４）に示したものと同じであり、鍵デバイス４００を紛失した場合の手続きも、実施の形態１（図５）に示したものと同じであるため、説明を省略する。
【０１２１】
次に、図２１を参照して、暗号文受信装置２００の属性ソースが変更された場合の手続きを説明する。
【０１２２】
暗号文受信装置２００の属性ソースが変更になった場合は、暗号文受信装置２００の情報送受信部１０１Ｂが、変更後の属性ソースを属性−述語生成装置６００に送信する（Ｓ５４）。
【０１２３】
属性−述語生成装置６００では、情報送受信部１０１Ｆが、変更後の属性ソースを受信し、属性生成部３０１Ｆが、変更後の属性ソースから新たな属性オブジェクトｖ’を生成する（Ｓ５１）。
そして、情報送受信部１０１Ｆが、新たな属性オブジェクトｖ’を鍵生成装置３００に送信する。
鍵生成装置３００では、情報送受信部１０１Ｃが、新たな属性オブジェクトｖ’を受信する。
【０１２４】
鍵生成装置３００では、鍵生成部３０２が、マスター公開鍵ｐｋ、マスター秘密鍵ｓｋ、属性−述語生成装置６００から送信された新たな属性オブジェクトｖ’を用いて新たなユーザ秘密鍵ｕｋ’を生成する（Ｓ５２）。
また、鍵生成装置３００は、実施の形態１で示したように、新たなユーザ秘密鍵ｕｋ’を暗号化して、新たな暗号化ユーザ秘密鍵ｃｕｋ’を生成する。
そして、図６のＳ５３と同様の手順にて、情報送受信部１０１Ｃが、新たな暗号化ユーザ秘密鍵ｃｕｋ’を送信する（Ｓ５３）。
【０１２５】
述語ソースが変更になった場合は、暗号文受信装置２００から属性−述語生成装置６００に変更後の述語ソースが送信され、述語生成部１０２Ｆが変更後の述語ソースから新たな述語オブジェクトｘ’を生成する。
そして、情報送受信部１０１Ｆが、新たな述語オブジェクトｘ’を暗号文送信装置１００に送信する。
暗号文送信装置１００では、新たな述語オブジェクトｘ’、マスター公開鍵ｐｋを用いて平文データｍの暗号化を行う。
【０１２６】
このように、本実施の形態では、暗号文送信装置１００及び鍵生成装置３００以外の要素において、述語オブジェクトｘと属性オブジェクトｖを生成するため、暗号文送信装置１００及び鍵生成装置３００の装置構成を簡素化することができる。
【０１２７】
実施の形態６．
図２２は、本実施の形態に係るデータ処理システムの構成例を示す。
【０１２８】
図２２では、図１の構成と比較して、暗号文保管装置７００が追加されている。
暗号文保管装置７００は、暗号文データｃｔを保管する。
暗号文保管装置７００は、暗号文データ記憶装置の例に相当する。
暗号文保管装置７００において、情報送受信部１０１Ｇは、暗号文送信装置１００から暗号文データｃｔを受信し、また、暗号文受信装置２００に暗号文データｃｔを送信する。
情報保管部７０１は、暗号文送信装置１００からの暗号文データｃｔを記憶する。
他の要素は、図１に示したものと同様であるため説明を省略する。
以下では、主に、実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同じである。
【０１２９】
鍵生成装置３００の鍵生成処理は、実施の形態１（図２）と同じであるため、説明を省略する。
【０１３０】
また、暗号文送信装置１００の暗号化処理も実施の形態１（図３）と同じであり、暗号文データｃｔの送信先が異なるのみである。
実施の形態１では、暗号文送信装置１００は、暗号文受信装置２００に暗号文データｃｔを送信しているが、本実施の形態では、暗号文送信装置１００は暗号文保管装置７００に暗号文データｃｔを送信する。
暗号文保管装置７００では、情報送受信部１０１Ｇが暗号文データｃｔを受信し、情報保管部７０１が暗号文データｃｔを記憶する。
情報保管部７０１は、暗号文データｃｔ以外の情報も記憶してもよい。
【０１３１】
暗号文データｃｔは暗号文保管装置７００に保管されているので、暗号文データｃｔを取得するために、暗号文受信装置２００の情報送受信部１０１Ｂが、暗号文データｃｔの送信を要求する暗号文送信要求を暗号文保管装置７００に送信する。
暗号文保管装置７００では、情報送受信部１０１Ｇが暗号文送信要求を受信し、情報保管部７０１に記憶されている暗号文データｃｔを暗号文受信装置２００に送信する。
暗号文受信装置２００では、情報送受信部１０１Ｂが暗号文データｃｔを受信し、復号処理部２０１が、実施の形態１に示した手順（図４）に従って、暗号文データｃｔの復号処理を行う。
【０１３２】
鍵デバイス４００を紛失した場合の手続き及び暗号文受信装置２００の属性ソースが変更された場合の手続きは、実施の形態１（図５、図６）に示したものと同じであるため、説明を省略する。
【０１３３】
このように、暗号文データｃｔを暗号文受信装置２００以外の要素が保管する場合にも、鍵デバイスに変更を加えることなく、暗号化及び復号のための新たな演算アルゴリズムを導入することができる。
【０１３４】
実施の形態１〜６では、関数型暗号アルゴリズムを第１のアルゴリズムの例とする説明を行ったが、鍵デバイスに実装されていないアルゴリズムであれば、どのような演算アルゴリズムも第１のアルゴリズムとして用いることができる。
例えば、ＩＤベース暗号アルゴリズムを第１のアルゴリズムとして用いてもよい。
また、実施の形態１〜６では、ＲＳＡ（登録商標）暗号アルゴリズムを第２のアルゴリズムの例とする説明を行ったが、鍵デバイスに実装できる演算アルゴリズムであれば、どのような演算アルゴリズムも第２のアルゴリズムとして用いることができる。
【０１３５】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【０１３６】
最後に、実施の形態１〜６に示した暗号文送信装置１００、暗号文受信装置２００、鍵生成装置３００、鍵書き込み装置５００、属性−述語生成装置６００、暗号文保管装置７００（以下、暗号文送信装置１００等という）のハードウェア構成例を図２５を参照して説明する。
暗号文送信装置１００等はコンピュータであり、暗号文送信装置１００等の各要素をプログラムで実現することができる。
暗号文送信装置１００等のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
図２５には図示していないが、暗号文受信装置２００では、鍵デバイス４００とのインタフェースがバスに接続されている。
【０１３７】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、情報送受信部１０１の物理層に対応し、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【０１３８】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１等に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１等に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態１〜６の説明において、「〜の判断」、「〜の判定」、「〜の暗号化」、「〜の復号」、「〜の生成」、「〜の変換」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の入力」、「〜の受信」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
【０１３９】
なお、図２５の構成は、あくまでも暗号文送信装置１００等のハードウェア構成の一例を示すものであり、暗号文送信装置１００等のハードウェア構成は図２５に記載の構成に限らず、他の構成であってもよい。
また、暗号文送信装置１００、暗号文受信装置２００、鍵生成装置３００、鍵書き込み装置５００、暗号文保管装置７００のそれぞれのハードウェア構成が異なっていてもよい。
【符号の説明】
【０１４０】
１００  暗号文送信装置、１０１  情報送受信部、１０２  述語生成部、１０３  暗号化処理部、２００  暗号文受信装置、２０１  復号処理部、３００  鍵生成装置、３０１  属性生成部、３０２  鍵生成部、３０３  鍵管理部、３０４  デバイス対応鍵形式生成部、４００  鍵デバイス、４０１  鍵格納部、４０２  鍵復号処理部、５００  鍵書き込み装置、５０１  鍵書き込み部、６００  属性−述語生成装置、７００  暗号文保管装置、７０１  情報保管部、８００  インターネット。
【図１】
0006026017.tif 000009
【図２】
0006026017.tif 000010
【図３】
0006026017.tif 000011
【図４】
0006026017.tif 000012
【図５】
0006026017.tif 000013
【図６】
0006026017.tif 000014
【図７】
0006026017.tif 000015
【図８】
0006026017.tif 000016
【図９】
0006026017.tif 000017
【図１０】
0006026017.tif 000018
【図１１】
0006026017.tif 000019
【図１２】
0006026017.tif 000020
【図１３】
0006026017.tif 000021
【図１４】
0006026017.tif 000022
【図１５】
0006026017.tif 000023
【図１６】
0006026017.tif 000024
【図１７】
0006026017.tif 000025
【図１８】
0006026017.tif 000026
【図１９】
0006026017.tif 000027
【図２０】
0006026017.tif 000028
【図２１】
0006026017.tif 000029
【図２２】
0006026017.tif 000030
【図２３】
0006026017.tif 000031
【図２４】
0006026017.tif 000032
【図２５】
0006026017.tif 000033