(57)【要約】【課題】鍵の取得や鍵の生成を容易にする。【解決手段】暗号／署名装置１において、鍵保管部１１は複数の鍵を保管し、鍵管理部１２は鍵を所有する個人や機器を識別するための鍵別名を入力し、鍵別名に対応し暗号／署名処理に応じて、鍵保管部１１から鍵を取得したり又は所定のアルゴリズムの鍵を生成し、暗号／署名部１３は、鍵管理部１２が取得又は生成した鍵を使用して、対象データ１０１に対して暗号処理及び署名処理、又は暗号処理若しくは署名処理を行って暗号／署名結果１０２を出力する。【選択図】        図１
2004274158.tif 000002
【特許請求の範囲】
【請求項１】
暗号／署名の対象データに対して鍵を使用して暗号／署名処理を行い、暗号／署名結果を送信する暗号／署名装置において、
複数の鍵を保管している鍵保管部と、
鍵を所有する個人や機器を識別するための鍵別名を入力し、上記鍵別名に対応し暗号／署名処理に応じて、上記鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する鍵管理部と、
上記鍵管理部が取得又は生成した鍵を使用して、上記対象データに対して暗号処理及び署名処理、又は暗号処理若しくは署名処理を行う暗号／署名部とを備えたことを特徴とする暗号／署名装置。
【請求項２】
鍵管理部は、鍵別名を含む階層構造の鍵管理情報を保有し、上記鍵別名に対応し暗号／署名処理に応じて、鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する複数の鍵管理オブジェクトと、上記鍵別名を入力して上記複数の鍵管理オブジェクトを検索し鍵の取得要求を行うと共に、上記鍵管理オブジェクトが取得又は生成した鍵を暗号／署名部に出力する鍵束管理オブジェクトを備えたことを特徴とする請求項１記載の暗号／署名装置。
【請求項３】
鍵管理オブジェクトは、暗号処理時にはパブリック鍵又は共通鍵を取得又は生成し、署名処理時にはプライベート鍵を取得又は生成することを特徴とする請求項２記載の暗号／署名装置。
【請求項４】
送信された暗号／署名結果に対して鍵を使用して復号／検証処理を行い、復号／検証結果を出力する復号／検証装置において、
複数の鍵を保管している鍵保管部と、
鍵を所有する個人や機器を識別するための鍵別名を入力し、上記鍵別名に対応し復号／検証処理に応じて、上記鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する鍵管理部と、
上記鍵管理部が取得又は生成した鍵を使用して、上記暗号／署名結果に対して復号処理及び検証処理、又は復号処理若しくは検証処理を行う復号／検証部とを備えたことを特徴とする復号／検証装置。
【請求項５】
鍵管理部は、鍵別名を含む階層構造の鍵管理情報を保有し、上記鍵別名に対応し復号／検証処理に応じて、鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する複数の鍵管理オブジェクトと、上記鍵別名を入力して上記複数の鍵管理オブジェクトを検索し鍵の取得要求を行うと共に、上記鍵管理オブジェクトが取得又は生成した鍵を復号／検証部に出力する鍵束管理オブジェクトを備えたことを特徴とする請求項４記載の復号／検証装置。
【請求項６】
鍵管理オブジェクトは、復号処理時にはプライベート鍵又は共通鍵を取得又は生成し、検証処理時にはパブリック鍵を取得又は生成することを特徴とする請求項５記載の復号／検証装置。
【請求項７】
暗号／署名処理や復号／検証処理に使用する鍵を管理する鍵管理方式において、
鍵を所有する個人や機器を識別するための鍵別名を含む階層構造の鍵管理情報を保有し、上記鍵別名に対応し暗号／署名処理や復号／検証処理に応じて、外部から鍵を取得する又は所定のアルゴリズムの鍵を生成する複数の鍵管理オブジェクトと、
入力された上記鍵別名に基づき上記複数の鍵管理オブジェクトを検索し鍵の取得要求を行うと共に、上記鍵管理オブジェクトが取得又は生成した鍵を出力する鍵束管理オブジェクトとを備えたことを特徴とする鍵管理方式。
【請求項８】
暗号／署名処理や復号／検証処理に使用する鍵を暗号／署名側と復号／検証側で共有するために交換する鍵交換方式において、
鍵を所有する個人や機器を識別するための鍵別名、鍵を外部から取得するための鍵取得情報、鍵を所定のアルゴリズムにより生成するための鍵生成情報等を含む階層構造の鍵束管理情報を設定情報として交換することを特徴とする鍵交換方式。
【請求項９】
暗号／署名処理や復号／検証処理に使用する鍵を暗号／署名側と復号／検証側で共有するために交換する鍵交換方式において、
鍵を所有する個人や機器を識別するための鍵別名を含む階層構造の鍵管理情報を保有し、上記鍵別名に対応し暗号／署名処理や復号／検証処理に応じて、外部から鍵を取得する又は所定のアルゴリズムの鍵を生成する複数の鍵管理オブジェクトと、入力された上記鍵別名に基づき上記複数の鍵管理オブジェクトを検索し鍵の取得要求を行うと共に、上記鍵管理オブジェクトが取得又は生成した鍵を出力する鍵束管理オブジェクトとを、シリアライズして交換することを特徴とする鍵交換方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は暗号／署名処理や復号／検証処理に使用する鍵を容易に取得又は生成できる暗号／署名装置、復号／検証装置、鍵管理方式及び鍵交換方式に関するものである。
【０００２】
【従来の技術】
従来の鍵管理方式として、例えば特許文献１に示すように、鍵の管理をツリー構造にすることによって鍵の所有者の追加／削除を効率的に行う方式や、特許文献２に示すように、鍵を階層構造にて管理することでグループでの利用に適した方式等がある。
【０００３】
【特許文献１】
特開２００１−１８６１１９（段落０００４）
【特許文献２】
特開平１０−１９８２７２（段落００４８）
【０００４】
【発明が解決しようとする課題】
従来の鍵管理方式は、以上のように、鍵自体を階層化しているので、種々の鍵保管部に保管されている鍵の中から鍵を取得したり、種々のアルゴリズムの鍵を生成する場合に、それぞれの鍵保管部からの鍵の取得処理やそれぞれのアルゴリズムによる鍵の生成処理が異なり、使用する鍵毎に取得や生成の処理を別々に行わなければならず、鍵の取得や生成の処理が複雑になるという課題があった。
【０００５】
また、暗号／署名側と復号／検証側で鍵情報を交換して共有する場合に、受け渡す鍵情報には、交換形式ファイルの情報、鍵マテリアル等のバイナリ情報、取得するためのアクセス情報等、複数種類の情報があり、一度に暗号／署名側と復号／検証側で鍵情報を交換することが困難であるという課題があった。
【０００６】
この発明は上記のような課題を解決するためのなされたもので、種々の鍵保管部からの鍵の取得や種々のアルゴリズムの鍵の生成を容易にすることができる暗号／署名装置、復号／検証装置及び鍵管理方式を得ることを目的とする。
【０００７】
また、暗号／署名装置と復号／検証装置で一度に鍵情報を交換することができる鍵交換方式を得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係る暗号／署名装置は、複数の鍵を保管している鍵保管部と、鍵を所有する個人や機器を識別するための鍵別名を入力し、鍵別名に対応し暗号／署名処理に応じて、鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する鍵管理部と、鍵管理部が取得又は生成した鍵を使用して、対象データに対して暗号処理及び署名処理、又は暗号処理若しくは署名処理を行う暗号／署名部とを備えたものである。
【０００９】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による暗号／署名装置及び復号／検証装置の構成を示すブロック図である。図１に示すように、暗号／署名装置１と復号／検証装置２はネットワーク３を介して接続されている。また、暗号／署名装置１は鍵保管部１１、鍵管理部１２及び暗号／署名部１３により構成されており、復号／検証装置２は鍵保管部２１、鍵管理部２２及び復号／検証部２３により構成されている。
【００１０】
暗号／署名装置１において、鍵保管部１１は、鍵を含むディレクトリ情報を管理するＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）サーバ等の鍵保管サーバ１１ａやファイル等を備えて、複数の鍵を管理している。この鍵保管部１１は後述の鍵管理オブジェクト１２ａに対応して複数存在している。鍵管理部１２は、鍵を所有する個人や機器を識別するための鍵別名を入力し、入力された鍵別名に対応し暗号／署名処理に応じて、鍵保管部１１から鍵を取得したり、又は所定のアルゴリズムの鍵を生成して暗号／署名部１３に出力する。暗号／署名部１３は、鍵管理部１２が取得又は生成した鍵を使用して、暗号／署名の対象となる対象データ１０１に対して暗号処理及び署名処理、又は暗号処理若しくは署名処理を行い、暗号／署名結果１０２を出力する。
【００１１】
復号／検証装置２において、鍵保管部２１は、鍵を含むディレクトリ情報を管理するＬＤＡＰサーバ等の鍵保管サーバ２１ａやファイル等を備えて、複数の鍵を管理している。この鍵保管部２１は後述の鍵管理オブジェクト２２ａに対応して複数存在している。鍵管理部２２は、鍵を所有する個人や機器を識別するための鍵別名を入力し、入力された鍵別名に対応し暗号／署名処理に応じて、鍵保管部２１から鍵を取得したり、所定のアルゴリズムの鍵を生成して復号／検証部２３に出力する。復号／検証部２３は、鍵管理部２２が取得又は生成した鍵を使用して、ネットワーク３を経由して伝送された暗号／署名結果１０２に対して、復号処理及び検証処理、又は復号処理若しくは検証処理を行い、復号／検証結果１０３を出力する。
【００１２】
暗号／署名装置１における鍵管理部１２は、鍵保管部１１から鍵を取得したり所定のアルゴリズムにより鍵を生成する複数の鍵管理オブジェクト１２ａ、各鍵管理オブジェクト１２ａに対応して複数備えられた共通内容の鍵管理インタフェース１２ｂ、及び複数の鍵管理オブジェクト１２ａを管理する鍵束管理オブジェクト１２ｃにより構成されている。鍵束管理オブジェクト１２ｃは、鍵別名を入力して複数の鍵管理オブジェクト１２ａを検索し鍵の取得要求を行うと共に、鍵管理オブジェクト１２ａが取得又は生成した鍵を暗号／署名部１３に出力する。
【００１３】
また、復号／検証装置２における鍵管理部２２についても、暗号／署名装置１における鍵管理部１２と同様に、鍵保管部２１から鍵を取得したり所定のアルゴリズムにより鍵を生成する複数の鍵管理オブジェクト２２ａ、各鍵管理オブジェクト２２ａに対応して複数備えられた共通内容の鍵管理インタフェース２２ｂ、及び複数の鍵管理オブジェクト２２ａを管理する鍵束管理オブジェクト２２ｃにより構成されている。鍵束管理オブジェクト２２ｃは、鍵別名を入力して複数の鍵管理オブジェクト２２ａを検索し鍵の取得要求を行うと共に、鍵管理オブジェクト２２ａが取得又は生成した鍵を復号／検証部２３に出力する。
【００１４】
暗号／署名装置１における鍵管理オブジェクト１２ａ及び鍵束管理オブジェクト１２ｃ、並びに復号／検証装置２における鍵管理オブジェクト２２ａ及び鍵束管理オブジェクト２２ｃは、例えばサーバ等に搭載されるプログラムにより実現するものである。
【００１５】
図２は鍵管理部１２，２２に設定される設定情報としての鍵束管理情報を示す図である。図２に示すように、鍵束管理情報２００は階層構造になっており複数の鍵管理情報２１０を含んでいる。また、鍵管理情報２１０は、鍵管理オブジェクト１２ａ，２２ａの名称等を示す鍵管理オブジェクト情報、複数の鍵に共通の情報であるＪａｖａ（登録商標）  ＫｅｙＳｔｏｒｅ等の鍵共通情報、個々の鍵情報２２０等を含んでいる。さらに、個々の鍵情報２２０は、鍵を所有する個人やサーバ等の機器を識別するための鍵別名、エイリアスやパスワード等の鍵を取得するための鍵取得情報、鍵のアルゴリズムや鍵マテリアル等の鍵を生成するための鍵生成情報等を含んでいる。ここで、鍵情報２２０は単に鍵が格納されている交換形式のファイルを示す場合もある。
【００１６】
次に動作について説明する。
図３は暗号／署名装置１の鍵管理部１２及び復号／検証装置２の鍵管理部２２における鍵管理オブジェクト１２ａ，２２ａの生成処理を示すフローチャートである。この処理は鍵束管理オブジェクト１２ｃ，２２ｃの生成後の初期処理においてなされる。
【００１７】
ステップＳＴ１１において、鍵束管理オブジェクト１２ｃ，２２ｃは、所定の設定ファイルや上位システム等から、図２に示す階層構造の鍵束管理情報２００を取得する。ステップＳＴ１２において、鍵束管理オブジェクト１２ｃ，２２ｃは、鍵管理情報２１０に含まれる鍵管理オブジェクト１２ａ，２２ａの名称等を示す鍵管理オブジェクト情報に従って鍵管理オブジェクト１２ａ，２２ａを生成する。ステップＳＴ１３において、鍵束管理オブジェクト１２ｃ，２２ｃは、生成した各鍵管理オブジェクト１２ａ，２２ａに各鍵管理情報２１０を渡す。このようにして、鍵管理情報２１０を保有している鍵管理オブジェクト１２ａ，２２ａが生成される。
【００１８】
図４は鍵束管理情報２００の例を示す図である。図４の例では、鍵管理情報２１０として、「ＫｅｙＳｔｏｒｅＲｅｓｏｌｖｅｒ」、「ＬｄａｐＲｅｓｏｌｖｅｒ」、「ＳｅｃｒｅｔＲｅｓｏｌｖｅｒ」の３種類の鍵管理オブジェクト１２ａ，２２ａを使用している。
【００１９】
図４において、２行目の鍵管理情報（ｃｌａｓｓ＝ＫｅｙＳｔｏｒｅＲｅｓｏｌｖｅｒがある要素）は、鍵管理オブジェクト（ＫｅｙＳｔｏｒｅＲｅｓｏｌｖｅｒ）１２ａ，２２ａが鍵保管部１１，２１のＫｅｙＳｔｏｒｅをアクセスする例である。ここでは、＜ＫｅｙＳｔｏｒｅ＞要素に、鍵情報２２０が格納されたファイル、ＫｅｙＳｔｏｒｅタイプ、アクセスするためのパスワード情報等を格納し、＜鍵＞要素内に、ユーザのエイリアス名、パスワード情報等の鍵別名に対応する鍵を取得する情報を格納している。
【００２０】
また、図４において、１８行目の鍵管理情報（ｃｌａｓｓ＝ＬｄａｐＲｅｓｏｌｖｅｒがある要素）は、鍵管理オブジェクト（ＬｄａｐＲｅｓｏｌｖｅｒ）１２ａ，２２ａが鍵保管部１１，２１の鍵保管サーバ１１ａ，２１ａにおけるＬｄａｐサーバをアクセスする例である。ここでは、＜Ｌｄａｐ＞要素内に、ｕｒｌ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）及びパスワード情報等のＬｄａｐサーバにアクセスするための情報を格納し、＜鍵＞要素内に、個人を識別するためのＤＮ情報等の鍵別名に対応する鍵を取得するための情報を格納している。
【００２１】
さらに、図４において、２７行目の鍵管理情報（ｃｌａｓｓ＝ＳｅｃｒｅｔＫｅｙＲｅｓｏｌｖｅｒがある要素）は、鍵管理オブジェクト（ＳｅｃｒｅｔＫｅｙＲｅｓｏｌｖｅｒ）１２ａ，２２ａが共通鍵を生成する場合の例である。ここでは、＜鍵＞要素内にアルゴリズム名、鍵マテリアル等の鍵生成に必要な情報を格納している。
【００２２】
暗号／署名処理と復号／検証処理を行うためには、暗号／署名装置１と復号／検証装置２にて鍵情報２２０を共有する必要があるが、この実施の形態では、暗号／署名装置１と復号／検証装置２で、図２に示す階層構造の鍵束管理情報２００を設定情報として交換することで、一度に複数の鍵管理情報２１０を交換することができ鍵情報２２０を共有できる。
【００２３】
また、鍵束管理情報２００を読み込んだ鍵束管理オブジェクト１２ｃと、鍵管理情報２１０を読み込んだ鍵管理オブジェクト１２ａとを含む鍵管理部１２をシリアライズしたものを、暗号／署名装置１と復号／検証装置２で交換することで、一度に複数の鍵管理情報２１０を交換することができ鍵情報２２０を共有できる。プログラムとして動作中の鍵束管理オブジェクト１２ｃと鍵管理オブジェクト１２ａを受け渡すことは不可能であるが、一旦、シリアライズし、すなわち、プログラム中の変数やワークエリアを保存したまま、メモリ上のプログラムをファイルとして書き出して、そのデータを交換することで、鍵束管理オブジェクト１２ｃと鍵管理オブジェクト１２ａを受け渡すことは可能である。
【００２４】
さらに、暗号／署名装置１における鍵保管部１１又は復号／検証装置２における鍵保管部２１のうちの一方の鍵保管部にしか含まれない鍵がある場合には、事前に鍵保管部そのもの又は必要な鍵情報を交換する必要がある。
【００２５】
この実施の形態において、暗号／署名装置１の暗号処理時にパブリック鍵を使用し、復号／検証装置２の復号処理時にプライベート鍵を使用する。また、暗号処理時及び復号処理時に共通鍵を使用する場合もある。さらに、暗号／署名装置１の署名処理時にプライベート鍵を使用し、復号／検証装置２の検証処理時にパブリック鍵を使用する。
【００２６】
この暗号処理時のパブリック鍵と復号処理時のプライベート鍵は、共通の鍵別名が付与されペアで作成されている。署名処理時のプライベート鍵と検証処理時のパブリック鍵についても同様である。このようなパブリック鍵とプライベート鍵を暗号／署名装置１と復号／検証装置２で交換して共有しても、鍵保管部１１，２１にアクセスしたときに、暗号処理又は復号処理、署名処理又は検証処理に応じた鍵しか取得しないので、問題は発生しない。また、仮に取得しようとしても鍵保管部１１，２１により保護されているので問題ない。
【００２７】
次に暗号／署名処理について説明する。
図５は暗号／署名装置１の暗号／署名処理おける情報の流れを示す図であり、図６は暗号／署名処理を示すフローチャートである。
図６のステップＳＴ２１において、鍵管理部１２の鍵束管理オブジェクト１２ｃは、ユーザ又は上位システムから、暗号処理と署名処理の両方又はいずれか一方の処理に対応する鍵別名１１１を受け取る。この鍵別名１１１は鍵を所有する個人やサーバ等の機器を識別するものであり、この鍵別名１１１を指定することにより、鍵管理部１２の鍵束管理オブジェクト１２ｃは、暗号／署名に必要な鍵を取得することができる。図４の例では、「飯田」、「安倍」、「藤本」、「村田」、「柴田」等のいずれかの鍵別名１１１を受け取る。
【００２８】
ステップＳＴ２２において、鍵束管理オブジェクト１２ｃは、受け取った鍵別名１１１により鍵管理オブジェクト１２ａを検索し、鍵管理オブジェクト１２ａに対して鍵の取得要求を行う。
【００２９】
ステップＳＴ２３において、鍵管理オブジェクト１２ａは、鍵の取得要求に対して、鍵別名１１１に対応し暗号／署名処理状態に応じて、対応する鍵保管部１１から要求された鍵１１２を取得して鍵束管理オブジェクト１２ｃに出力したり、又は鍵別名１１１に対応して所定のアルゴリズムの鍵を生成し、生成した鍵の中から暗号／署名処理状態に応じた鍵１１２を鍵束管理オブジェクト１２ｃに出力する。鍵管理オブジェクト１２ａは新しく生成した鍵を対応する鍵保管部１１に格納する。
【００３０】
例えば図４の例において、鍵別名１１１として「飯田」が指定されている場合には、鍵管理オブジェクト（ＫｅｙＳｔｏｒｅＲｅｓｏｌｖｅｒ）１２ａは、鍵保管部１１のＫｅｙＳｔｏｒｅのファイルから、エイリアス名「ｉｉｄａ」、パスワード情報「０８０８」の鍵を取得する。同様に、鍵別名１１１として「藤本」が指定されている場合には、鍵管理オブジェクト（ＬｄａｐＲｅｓｏｌｖｅｒ）１２ａは、鍵保管部１１の鍵保管サーバ１１ａのＬＤＡＰサーバから個人を識別するためのＤＮ情報に対応する鍵を取得する。
【００３１】
また、鍵別名１１１として「村田」が指定されている場合には、鍵管理オブジェクト（ＳｅｃｒｅｔＫｅｙＲｅｓｏｌｖｅｒ）１２ａはＴｒｉｐｌｅＤＥＳのアルゴリズムの鍵を生成し、同様に、鍵別名として「柴田」が指定されている場合には、鍵管理オブジェクト（ＳｅｃｒｅｔＫｅｙＲｅｓｏｌｖｅｒ）１２ａはＡＥＳ１２８のアルゴリズムの鍵を生成する。
【００３２】
このように、鍵別名を指定するだけで、鍵を保管している鍵保管部１１の種類や鍵のアルゴリズムを意識することなく、種々の鍵を取得したり種々のアルゴリズムの鍵を取得することができる。
【００３３】
ここでは、鍵管理オブジェクト１２ａが所定のアルゴリズムの鍵を生成しているが、鍵管理オブジェクト１２ａが鍵保管部１１に所定のアルゴリズムの鍵の生成要求を行い、鍵保管部１１より生成された鍵を取得しても良い。
【００３４】
図６のステップＳＴ２４において、鍵束管理オブジェクト１２ｃは、鍵管理オブジェクト１２ａが取得又は生成した鍵１１２を暗号／署名部１３に出力し、ステップＳＴ２５において、暗号／署名部１３は、取得した鍵１１２を使用して、暗号／署名の対象となる対象データ１０１に対して、暗号処理及び署名処理、又は暗号処理若しくは署名処理を行い暗号／署名結果１０２を出力する。
【００３５】
暗号処理時の暗号アルゴリズムとしては、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｅｌｍａｎ）鍵等が使用され、署名アルゴリズムとしては、ＲＳＡ鍵、ＤＳＡ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｔｕｒｅ  Ａｌｇｏｒｉｔｈｍｓ）鍵等が使用される。
ステップＳＴ２６において、暗号／署名結果１０２はネットワーク３を介して復号／検証装置２に送信される。
【００３６】
この鍵別名１１１の情報は、暗号／署名装置１と復号／検証装置２で予め共有しておいても良いし、暗号／署名結果１０２と一緒又は別々に復号／検証装置２に送信しても良い。
【００３７】
次に復号／検証処理について説明する。
図７は復号／検証装置２の復号／検証処理における情報の流れを示す図であり、図８は復号／検証処理を示すフローチャートである。
図８のステップＳＴ３１において、鍵束管理オブジェクト２２ｃは鍵別名１１１を受け取る。この場合、予め暗号／署名装置１と復号／検証装置２で使用する鍵別名１１１が決められている場合には、ユーザ又は上位システムから鍵別名１１１を受け取り、暗号／署名装置１から鍵別名１１１が送信された場合には、その送信された鍵別名１１１を受け取る。
【００３８】
ステップＳＴ３２において、鍵束管理オブジェクト２２ｃは、受け取った鍵別名１１１により鍵管理オブジェクト２２ａを検索し、鍵管理オブジェクト２２ａに対して鍵の取得要求を行う。
【００３９】
ステップＳＴ３３において、鍵管理オブジェクト２２ａは、鍵の取得要求に対して、鍵別名１１１に対応し復号／検証処理状態に応じて、対応する鍵保管部２１から要求された鍵１１３を取得して鍵束管理オブジェクト２２ｃに出力したり、又は鍵別名１１１に対応して所定のアルゴリズムの鍵を生成し、生成した鍵の中から復号／検証処理状態に応じた鍵１１３を鍵束管理オブジェクト２２ｃに出力する。鍵管理オブジェクト２２ａは新しく生成した鍵を対応する鍵保管部２１に格納する。
【００４０】
ステップＳＴ３４において、鍵束管理オブジェクト２２ｃは、鍵管理オブジェクト２２ａが取得又は生成した鍵１１３を復号／検証部２３に出力し、ステップＳＴ３５において、復号／検証部２３は、取得した鍵１１３を使用して、暗号／署名結果１０２に対して、復号処理及び検証処理、又は復号処理若しくは検証処理を行い復号／検証結果１０３を出力する。
【００４１】
以上のように、この実施の形態１によれば、暗号／署名装置１の鍵管理部１２及び復号／検証装置２の鍵管理部２２が、図２や図４に示す階層構造にて管理された鍵束管理情報２００を保有し、鍵情報２２０に鍵別名の関連情報を持たせることにより、鍵別名を指定するだけで、鍵保管部１１，２１で保管されている種々の鍵を取得したり、種々のアルゴリズムの鍵を生成することができるので、種々の鍵保管部１１からの鍵の取得や、種々のアルゴリズムの鍵の生成を容易にすることができるという効果が得られる。
【００４２】
また、この実施の形態１によれば、鍵を管理するための設定情報として図２に示す鍵束管理情報２００を使用し、暗号／署名装置１と復号／検証装置２で共有することにより、共通の設定情報を使用することができ、鍵の管理を容易にすることができるという効果が得られる。
【００４３】
さらに、この実施の形態１によれば、鍵束管理情報２００の設定情報を暗号／署名装置１と復号／検証装置２で交換して共有することにより、複数の鍵管理情報２１０を一度に交換することができるという効果が得られる。
【００４４】
さらに、この実施の形態１によれば、鍵束管理情報２００の設定情報を読み込んだ鍵束管理オブジェクトと鍵管理情報２１０を読み込んだ鍵管理オブジェクトとを含む鍵管理部をシリアライズしたものを、暗号／署名装置１と復号／検証装置２で交換して共有することにより、複数の鍵管理情報２１０を一度に交換することができるという効果が得られる。
【００４５】
【発明の効果】
以上のように、この発明によれば、複数の鍵を保管している鍵保管部と、鍵を所有する個人や機器を識別するための鍵別名を入力し、鍵別名に対応し暗号／署名処理に応じて、鍵保管部から鍵を取得する又は所定のアルゴリズムの鍵を生成する鍵管理部と、鍵管理部が取得又は生成した鍵を使用して、対象データに対して暗号処理及び署名処理、又は暗号処理若しくは署名処理を行う暗号／署名部とを備えたことにより、種々の鍵保管部からの鍵の取得や、種々のアルゴリズムの鍵の生成を容易にすることができるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による暗号／署名装置及び復号／検証装置の構成を示すブロック図である。
【図２】この発明の実施の形態１による暗号／署名装置及び復号／検証装置の鍵管理部に設定される鍵束管理情報を示す図である。
【図３】この発明の実施の形態１による暗号／署名装置の鍵管理部及び復号／検証装置の鍵管理部における鍵管理オブジェクトの生成処理を示すフローチャートである。
【図４】この発明の実施の形態１による暗号／署名装置及び復号／検証装置の鍵管理部に設定される鍵束管理情報の例を示す図である。
【図５】この発明の実施の形態１による暗号／署名装置の暗号／署名処理おける情報の流れを示す図である。
【図６】この発明の実施の形態１による暗号／署名装置の暗号／署名処理を示すフローチャートである。
【図７】この発明の実施の形態１による復号／検証装置の復号／検証処理における情報の流れを示す図である。
【図８】この発明の実施の形態１による復号／検証装置の復号／検証処理を示すフローチャートである。
【符号の説明】
１  暗号／署名装置、２  復号／検証装置、３  ネットワーク、１１  鍵保管部、１１ａ  鍵保管サーバ、１２  鍵管理部、１２ａ  鍵管理オブジェクト、１２ｂ  鍵管理インタフェース、１２ｃ  鍵束管理オブジェクト、１３  暗号／署名部、２１  鍵保管部、２１ａ  鍵保管サーバ、２２  鍵管理部、２２ａ  鍵管理オブジェクト、２２ｂ  鍵管理インタフェース、２２ｃ  鍵束管理オブジェクト、２３  復号／検証部、１０１  対象データ、１０２  暗号／署名結果、１０３  復号／検証結果、１１１  鍵別名、１１２  鍵、１１３  鍵、２００  鍵束管理情報、２１０  鍵管理情報、２２０  鍵情報。
【図１】
2004274158.tif 000003
【図２】
2004274158.tif 000004
【図３】
2004274158.tif 000005
【図４】
2004274158.tif 000006
【図５】
2004274158.tif 000007
【図６】
2004274158.tif 000008
【図７】
2004274158.tif 000009
【図８】
2004274158.tif 000010