JP2005347897A - 1組の電子鍵及びその生成方法 - Google Patents

1組の電子鍵及びその生成方法 Download PDF

Info

Publication number
JP2005347897A
JP2005347897A JP2004162642A JP2004162642A JP2005347897A JP 2005347897 A JP2005347897 A JP 2005347897A JP 2004162642 A JP2004162642 A JP 2004162642A JP 2004162642 A JP2004162642 A JP 2004162642A JP 2005347897 A JP2005347897 A JP 2005347897A
Authority
JP
Japan
Prior art keywords
key
node
electronic
computer
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004162642A
Other languages
English (en)
Inventor
Shiyugen Kin
守鉉 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2004162642A priority Critical patent/JP2005347897A/ja
Publication of JP2005347897A publication Critical patent/JP2005347897A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 鍵情報をユーザー側で書き込み可能、再生可能にして、グループ内の各人のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供する。
【解決手段】 本発明による1組の電子鍵は、コンピュータPCに着脱可能であり、鍵情報を記録する鍵情報記録部41を備え、木構造の階層を有する1組の電子鍵Kj(j=1、2、…、n)であって、組に所属する各電子鍵Kjは木構造の階層に対応する各ノードに位置付けられ、各電子鍵Kjは、鍵情報記録部41に、鍵情報として組を識別するグループ設置番号II、位置付けられたノードを識別するノード番号NI、及びノード番号NIに対応する鍵としてのノード鍵NKを記録可能であり、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成可能であり、下位の電子鍵Kdのノード鍵NKdから上位の電子鍵Kuのノード鍵NKuを生成困難である。
【選択図】 図2

Description

本発明は電子鍵及びその生成方法に関する。詳しくは、暗号化、復号化を行う鍵情報をコンピュータから切り離して保持する電子鍵で、階層構成を有する1組の電子鍵及びその生成方法に関する。
情報を暗号化、復号化するためには暗号化アルゴリズムとこのアルゴリズムに適用するための鍵情報が必要である。暗号化システムに外部からの攻撃(情報解読の試み)はつき物であるが、この鍵情報をUSBカードやICカードに記録した電子鍵を用いて、コンピュータから物理的に切り離して管理することにより安全性が高くなる。また、電子鍵でコンピュータのログインを自動化できるようにしておくことで、煩雑なパスワードの管理なしにセキュリティを保持できる。
従来、コンピュータが電子鍵から鍵情報を取得するには、各電子鍵に別々のパスワードを付与し、電子鍵がコンピュータに挿入された時に、電子鍵のパスワードを読み出し、パスワードを照合してアクセスを許可し、鍵情報を取得していた。複数の電子鍵にアクセスを許可し、かつこれらの電子鍵に階層構成を持たせグループで使用しようとする場合には、上位の電子鍵に対して下位の電子鍵の全てのパスワードを付与し、下位の電子鍵でアクセス可能な全ての情報に上位の電子鍵でアクセス可能にしていた。
しかし、電子鍵を紛失した場合に、過去に当該電子鍵で暗号化したファイルを使用できなくなるので、電子鍵を再生する必要がある。この場合、従来は、電子鍵の供給者に電子鍵の再生を依頼するのが一般的であった。最近、ユーザ側で再生を行う方式として、例えば新しいICカードに予めコード情報を記録しておき、パスワードをコンピュータから入力すると、コンピュータがパスワードとコード情報から、ハッシュ関数などを用いて紛失した電子鍵と同じ鍵情報を生成し、電子鍵を再生する方法が提案された。(例えば特許文献1参照)
特開2002−1771116号公報(段落0010〜0014、図1)
しかしながら、従来の電子鍵では鍵情報相互に関連性がなく、電子鍵を紛失した場合に供給者側に再生を依頼するか、ユーザー側で再生する場合でも、コード情報を記録したICカードなどを提供してもらう必要があった。この場合、コード情報をICカードなどに書き込んでもらう必要があり、また、ユーザーによるパスワードの管理が必要である。また、パスワードから鍵情報が一意的に定まるので、パスワードとICカードを盗まれると、鍵を再生されるおそれがある。また、1つのICカードのみを再生対象としており、1組の電子鍵を生成、管理するものではない。また、供給者側でも再生のためコード情報などのユーザーの鍵情報を管理しなければならず煩雑であった。
また、階層構成を有する1組の電子鍵を作成しても、組織変更などの際に電子鍵の階層構成をユーザー側で変更できず、柔軟性に欠けていた。
本発明は、階層構成を有する1組の電子鍵に関し、パスワードの管理なしに、高いセキュリティを保持すると同時に、鍵情報をユーザー側で書き込み可能、再生可能にして、グループ内の各人すなわち各電子鍵のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供することを目的とする。
上記課題を解決するために、請求項1に記載の1組の電子鍵は、例えば図1及び図2に示すように、コンピュータPCに着脱可能であり、鍵情報を記録する鍵情報記録部41を備え、木構造の階層を有する1組の電子鍵Kj(j=1、2、…、n)であって、組に所属する各電子鍵Kjは木構造の階層に対応する各ノードに位置付けられ、各電子鍵Kjは、鍵情報記録部41に、鍵情報として組を識別するグループ設置番号II、位置付けられたノードを識別するノード番号NI、及びノード番号NIに対応する鍵としてのノード鍵NKを記録可能であり、木構造の下位の電子鍵Kdのノード鍵NKdは上位の電子鍵Kuのノード鍵NKuから生成可能であり、上位の電子鍵Kuのノード鍵NKuは下位の電子鍵Kdのノード鍵NKdから生成困難である。
ここにおいて、鍵情報は暗号鍵情報と認証情報とを含み、暗号鍵は平文を暗号化する暗号化鍵、暗号文を復号化する復号化鍵、暗号化と復号化を行う暗号化復号化鍵を総称するものとする。また、木構造とは、1つのノード(節)からスタートして、枝分かれを繰り返して、樹木が枝を伸ばすように広がっていく分岐構造をいう。典型的には全てのノードで2つに枝分かれする2分岐木構造が使用される。なお、階層に対応するノード有するが、分岐を持たない1分岐木構造も木構造に含まれる。また、ノード鍵は典型的にはグループ設置番号IIとノード番号NIとに基いて生成される。また、「記録可能」とはグループ設置番号IIなどの鍵情報が未記録の場合も含むことを意味する。また、コンピュータPCへの着脱には、典型的にはUSBポート2などの拡張ポートやICカードリーダ・ライタが使用される。また、「生成困難」とは生成される確率が低いことを意味する。生成不可能であることが理想的であるが、確率の問題なので、確率が極めて低く実質的に不可能であることが好適である。
このように構成すると、木構造の任意の階層構造を有する1組の電子鍵を生成でき、ユーザーは自己の所属グループに適する電子鍵管理システムを構築できる。すなわち、階層構成を有する1組の電子鍵に関し、パスワードの管理なしに、高いセキュリティを保持すると同時に、鍵情報をユーザー側で書き込み可能、再生可能にして、グループ内の各人のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供できる。
また、請求項2に記載の発明は、請求項1に記載の1組の電子鍵において、鍵情報は、コンピュータPCが暗号化又は/及び復号化に使用する暗号鍵情報を含む。このように構成すると、鍵情報を暗号化して記録する電子鍵と当該鍵情報の暗号化、復号化を行うツールを有するコンピュータとを切り離すことにより、第三者が鍵情報を取得することや、改ざんすることを防止できる。
また、請求項3に記載の発明は、請求項1又は請求項2に記載の1組の電子鍵において、前記鍵情報は、前記コンピュータにアクセスを許容してもらうための認証情報又は/及びコンピュータにアクセスを許容するための認証情報を含む。このように構成すると、各電子鍵のアクセス権に階層構成を持たせて、グループに適した電子鍵の管理体制を実現できる。
また、請求項4に記載の発明は、請求項1乃至請求項3のいずれか1項に記載の1組の電子鍵において、下位のノード鍵Kdは上位のノード鍵Kuから一方向操作を用いて生成される。ここにおいて一方向操作とは、不可逆操作ともいい、入力から出力を計算するのが容易な反面、出力から入力を算出することが極めて困難である操作のことをいう。一方向操作は、典型的には一方向関数を用いた演算により行われる。一方向関数とは、例えばハッシュ関数のように引数から結果を求めるのは簡単だが、結果から引数を求めることは難しい関数をいう。このように構成すると、上位のノード鍵情報から下位のノード鍵情報を生成できるが、下位のノード鍵情報から上位のノード鍵情報を実質的に生成できないので、各ノード鍵に階層を付与でき、これを用いて電子鍵の階層構造を実現できる。
また、請求項5に記載の発明は、請求項1乃至請求項4のいずれか1項に記載の1組の電子鍵において、グループ設置番号II及びノード鍵NKは暗号化されて、鍵情報記録部41に記録される。このように構成すると、例え電子鍵を紛失し、他人が入手しても、他人に本来のグループ設置番号、ノード番号及びノード鍵を知られるおそれがなく、さらに、電子鍵は当該鍵情報の暗号化、復号化を行うツールを持たないので、高いセキュリティが保持される。また、コンピュータを紛失し、他人が入手した場合でも、コンピュータにアクセスするには所定の電子鍵が必要であり、さらに、コンピュータは暗号文を復号化するための鍵情報を持たないので、高いセキュリティが保持される。
また、請求項6に記載の発明は、請求項1乃至請求項5のいずれか1項に記載の1組の電子鍵において、木構造の階層に対応する各ノードに位置付けられる各電子鍵Kjの数を零(最上位のルートノード鍵を除く)又は任意の正整数とする。このように構成すると、階層構造について、任意の組み合わせの1組の電子鍵を生成でき、グループに適した電子鍵システムを構築できる。
また、請求項7に記載のコンピュータは、例えば図2に示すように、木構造の階層を有する1組の電子鍵に所属し、木構造の階層に対応するノードに位置付けられ、鍵情報として、組を識別するグループ設置番号II、位置付けられたノードを識別するノード番号NI、及びノード番号に対応する鍵としてのノード鍵NKを記録するための鍵情報記録部41を有する各電子鍵Kjに、鍵情報を書き込み可能なコンピュータPCであって、前記グループ設置番号IIを生成する手段66と、前記ノード番号NIを設定する手段67と、木構造の最上位の電子鍵のノード鍵であるルートノード鍵NK1を生成する手段66と、ルートノード鍵NK1を基にして、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する手段67と、生成されたグループ設置番号II及びノード鍵NK並びに設定されたノード番号NIを各電子鍵Kjに書き込む手段69とを備える。
ここにおいて、各生成する手段、設定する手段、書き込む手段については、必ずしも独立したハードウエアとして存在している必要はなく、コンピュータの初期化部、演算部、入力部、制御部などの1機能として存在しても良い。このように構成すると、木構造の任意の階層構造を有する1組の電子鍵を生成でき、ユーザーが自己の所属グループに適する電子鍵管理システムを構築するに適したコンピュータを提供できる。
また、請求項8に記載の発明は、請求項7に記載のコンピュータにおいて、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する手段は、一方向操作を用いて生成する。このように構成すると、上位のノード鍵NKuから下位のノード鍵NKdを生成できるが、下位のノード鍵NKdから上位のノード鍵NKuを実質的に生成できないので、各ノード鍵に階層を付与でき、これを用いて電子鍵の階層構造を実現できる。
また、請求項9に記載の発明は、請求項7又は請求項8に記載のコンピュータにおいて、各電子鍵Kjに記録されるグループ設置番号II、ノード番号NI及びノード鍵NKは暗号化された情報であり、グループ設置番号II、ノード番号NIとノード鍵NKを暗号化する暗号化鍵、又は/及び各電子鍵Kjに記録された暗号化されたグループ設置番号II、ノード番号NI及びノード鍵NKを復号化する復号化鍵を記録する鍵情報用暗号鍵記録手段62と、復号化鍵を用いて復号化されたグループ設置番号II及びノード鍵NKを照合して、各電子鍵Kjにアクセスを許容する認証手段68とを備える。
このように構成すると、鍵情報を暗号化して記録する電子鍵と当該鍵情報の暗号化、復号化を行うツールを有するコンピュータとを切り離すことにより、第三者が鍵情報を取得することや、改ざんすることを防止できる。
また、請求項10に記載の発明は、請求項9に記載のコンピュータにおいて、グループ設置番号II及びノード鍵NKを暗号化した後に、暗号化前のグループ設置番号II及びノード鍵NKを消去する手段71を備える。このように構成すると、本来の鍵情報を保持しないので、一層セキュリティを高くできる。
また、請求項11に記載の1組の電子鍵の生成方法は、例えば図4に示すように、コンピュータPCに着脱可能であり、鍵情報を記録する鍵情報記録部41を備え、木構造の階層を有し、組に所属する各電子鍵Kjは木構造の階層に対応する各ノードに位置付けられ、鍵情報記録部41に、鍵情報として組を識別するグループ設置番号II、位置付けられたノードを識別するノード番号NI、及びノード番号NIに対応する鍵としてのノード鍵NKを記録可能である1組の電子鍵の生成方法であって、グループ設置番号IIを生成する工程(ステップS012)と、ノード番号NIを設定する工程(ステップS041)と、木構造の最上位の電子鍵のノード鍵であるルートノード鍵NK1を生成する工程(ステップS013)と、ルートノード鍵NK1を基にして、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する工程(ステップS042)と、生成されたグループ設置番号II及びノード鍵NK並びに設定されたノード番号NIを各電子鍵Kjに書き込む工程(ステップS053)とを備える。
なお、1組の電子鍵の生成には、最初に1組の電子鍵を生成する場合だけでなく、組を拡張生成する場合も含まれ、同じノード番号NIの電子鍵Kjを増数する場合も含まれるものとする。このように構成すると、木構造の任意の階層構造を有する1組の電子鍵を生成でき、ユーザーは自己の所属グループに適する電子鍵管理システムを構築できる。すなわち、階層構成を有する1組の電子鍵に関し、パスワードの管理なしに、高いセキュリティを保持すると同時に、鍵情報をユーザー側で書き込み可能にして、グループ内の各人のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供できる。
また、請求項12に記載の発明は、請求項11に記載の1組の電子鍵の生成方法において、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する工程において、一方向操作を用いて生成する。このように構成すると、上位のノード鍵情報から下位のノード鍵情報を生成できるが、下位のノード鍵情報から上位のノード鍵情報を実質的に生成できないので、各ノード鍵に階層を付与でき、これを用いて電子鍵の階層構造を実現できる。
また、請求項13に記載の電子鍵の再生方法は、コンピュータPCに着脱可能であり、鍵情報を記録する鍵情報記録部41を備え、木構造の階層を有し、組に所属する各電子鍵Kjは木構造の階層に対応する各ノードに位置付けられ、鍵情報記録部41に、鍵情報として組を識別するグループ設置番号II、位置付けられたノードを識別するノード番号NI、及びノード番号NIに対応する暗号鍵としてのノード鍵NKを記録可能である1組の電子鍵に属する電子鍵Kjの再成方法であって、グループ設置番号を認証する工程と、ノード番号を設定する工程(ステップS041)と木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する工程(ステップS042)と、設定されたノード番号NI及び生成されたノード鍵NKを電子鍵Kjに書き込む工程(ステップS053)とを備える。
ここにおいて、再生には、電子鍵を紛失した場合に、紛失した電子鍵と同じ鍵情報を有する電子鍵を生成するだけでなく、組織変更等に合わせて、1組の電子鍵について階層構成を変更するように、電子鍵のノード番号とノード鍵とを書き換える場合も含むものとする。このように構成すると、手持ちの上位の電子鍵Kuを用いていつでも下位の電子鍵Kdを再生可能である。なお、同じノード番号の電子鍵を用いて再生できることは当然である。
また、請求項14に記載のプログラムは、請求項11若しくは請求項12に記載の1組の電子鍵の生成方法又は請求項13に記載の電子鍵の再生方法をコンピュータPCに実行させるためのコンピュータPC読み取り可能なプログラムである。
また、請求項15に記載の記録媒体は、請求項13に記載のプログラムを記録する記録媒体である。
本発明によれば、階層構成を有する1組の電子鍵に関し、パスワードの管理なしに、高いセキュリティを保持でき、鍵情報をユーザー側で書き込み可能、再生可能であり、グループ内の各人すなわち各電子鍵のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供できる。
以下に図面に基づき本発明の実施の形態について説明する。
本実施の形態における、コンピュータと1組の電子鍵から構成される鍵システムをFLEKS(Flexible Key System の略)と称することとする。このFLEKSでは、上位鍵を用いて下位鍵を算出できるが、下位鍵を用いて上位鍵を算出することが極めて困難なので、上位鍵を所持する人は下位鍵を所持する人の情報を管理できると共に、最上級の鍵を基にして、グループの階層構造に適合する1組の電子鍵をフレキシブルに生成、再生可能である。なお、上位の電子鍵をKu、下位の電子鍵をKdと表し、また、上位のノード鍵をNKu、下位のノード鍵をNKdと表すこととする。
図1に、本発明の実施の形態による電子鍵の外形例を示す。本実施の形態におけるFLEKSは、1組の電子鍵Kj(j=1、2、…、n)とコンピュータPCにより構成される。このうち、図には1つの電子鍵Kjのみを代表的に示すが、他の電子鍵も同様の構成である。図1(a)は平面図、図1(b)は側面図である。図1において、1は本体部、2はUSB(Universal Serial Bus)コネクター部である。本体部1には、鍵情報を記録するための鍵情報記録部を有するメモリと鍵情報記録部に記録された鍵情報の出入を制御するためのCPU(Central Processor Unit)が内蔵されている。USBコネクター部2をコンピュータPC(不図示)のUSBポートに挿入することにより、電子鍵KjはUSB仕様の通信バスを介してコンピュータPCと双方向通信が可能である。
すなわち、コンピュータPCは、電子鍵Kjの鍵情報記録部に記録された鍵情報を読み出して、当該電子鍵Kjにアクセスを許容するか否かの認証を行い、また、鍵情報を暗号化、復号化するための鍵情報用暗号鍵を用いて鍵情報を復号化し、復号化した鍵情報を平文から暗号文への符号化、暗号文から平文への復号化に使用し、また、1組の電子鍵の各鍵Kjに対して、グループのコンピュータ管理に適した階層構成に対応するように鍵情報を書き込んで、これに適した階層構成を有する1組の電子鍵を作成又は再生できる。また、電子鍵KjをコンピュータPCから切り離して携帯、搬送することができ、グループ所属の複数のコンピュータにアクセス可能である。3はキーリング用の孔であり、キーリングを通して、他の電子鍵や他の用途の鍵と束ねて所持可能である。
図2に本発明の実施の形態によるシステム構成例を示す。本実施の形態におけるFLEKSは、1組の電子鍵Kj(j=1、2、…、n)とコンピュータPCにより構成される。図には、電子鍵について1つの電子鍵Kjのみを代表的に示すが、他の電子鍵の構成も同様である。
図2において、電子鍵Kjには、鍵情報を記録するための鍵情報記録部41を有するメモリ4と、メモリ4に記録された鍵情報の出入(読出、書込)を制御し、また認証のための演算や認証等を行なうCPU(Central Processor Unit)5が設けられており、鍵情報記録部41には、設置番号II(INSTALLATION_ID)を記録する第1の設置番号記録部42、木構造の階層位置を表すノード番号NI(NODE_ID)を記録するノード番号記録部43、ノード番号NIに対応する暗号化復号化鍵であるノード鍵NK(NODE_KEY)を記録するノード鍵記録部44、が設けられている。鍵情報記録部41には例えば電気的に内容を書き換え可能なROMであるEEPROM(Electrically Erasable Programmable Read−Only Memory)を使用すると、通常はメモリ内容を維持し、必要な場合にのみ書き換えできるので好適である。また、メモリ4はCPU5の演算などで使用する一時記憶部45を有し、一時記憶部45にはRAM(Random Access Memory)を使用できる。
これらの、設置番号II、ノード番号NI及びノード鍵NKは暗号化されて記録される。暗号化されることにより、例えば遺失した電子鍵Kjを他人が取得しても、他人は元の鍵情報を知ることができないので、コンピュータPCにアクセスできず、コンピュータPCの安全性が維持される。また、設置番号II、ノード番号NI及びノード鍵NKを暗号化、復号化する鍵情報用暗号鍵EDはコンピュータPCに記録されるので、電子鍵KjもコンピュータPCも単独でノード鍵NKを復号化することはできず、電子鍵Kjをコンピュータから切り離しておけば、ハッキングなどの外部からの攻撃に対する耐性(Tampering Registant)があり、安全性が高いセキュリティが得られる。
CPU5は、メモリ4に記録された鍵情報の出入(読出、書込)と電子鍵Kj内でのデータや信号の流れを制御する第1の制御部51、認証や暗号化復号化のための演算を行なう第1の演算部52、第1の演算部52での演算結果とコンピュータPCからの受信結果を比較して認証を行なう第1の認証部53、乱数を発生する第1の乱数発生部54、鍵情報用暗号鍵EDや後述する格納鍵SKを使用した後にこれらの鍵情報を消去する第1の消去部55、コンピュータPCと双方向通信を行う第1の通信部56を有する。
コンピュータPCには、内蔵メモリMEに、設置番号IIを記録する第2の設置番号記録部61、設置番号II、ノード鍵情報NK、ノード番号NIを暗号化、復号化するための鍵情報用暗号鍵EDを記録する鍵情報用暗号鍵記録部62、FLEKSを管理・制御し、生成・再生するためのプログラムを記載した鍵管理ソフトウエアを記録する鍵管理ソフトウエア記録部63が設けられている。鍵管理ソフトウエアはシステムソフトウエアをインストールする時に記録される。このうち、設置番号IIは暗号化されて記録される。暗号化されることにより、第三者がコンピュータPCにアクセスしても、元の設置番号IIが解らないので、コンピュータPCの安全性が維持される。また、鍵情報用暗号鍵ED、鍵管理ソフトウエアも暗号化して記録しても良い。
また、コンピュータPCは、キーボード、マウスなどを有し、データやコマンドを入力し、ノード番号を設定する入力部64、ディスプレイ、プリンタなどを有し、データや演算結果などを出力する出力部65、初期化を実行し、グループ設置番号を生成し、最上位のノード鍵であるルートノード鍵NK1(最上位ノード(NODE_ID=1)をルートノードN1と称する)を生成する初期化部66、ルートノード鍵NK1を基にして木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成し、格納鍵SKを生成し、認証のための演算などを行なう第2の演算部67、認証のための演算の結果と電子鍵Kjから受信した結果を照合して認証を行なう第2の認証部68、生成されたグループ設置番号II、ノード鍵NK、設定されたノード番号NIを各電子鍵Kjの鍵情報記録部41に書き込み、これらの鍵情報を鍵情報記録部41から読み出し、また、コンピュータPCの各部の動作を制御し、鍵管理ソフトウエアを使用して電子鍵Kjの認証や生成を実行させる第2の制御部69、鍵情報の生成や認証のための演算に使用する乱数を発生する第2の乱数発生部70、下位の鍵情報を生成した後に生成に使用した上位の鍵情報を消去する、また、格納鍵SKを使用した後に消去する第2の消去部71、電子鍵Kjと双方向通信を行う第2の通信部72を有する。
各電子鍵Kjの機能を定める鍵情報(認証情報を含む)は、設置番号II(INSTALLATION_ID)、ノード番号NI(NODE_ID)、ノード鍵NK(Node Key)、格納鍵SK(Storage Key)の4つである。このうち、前3者が電子鍵Kjに記録される。
設置番号IIはFLEKSの所属グループ、すなわち組を識別する番号である。設置番号IIはユーザーがFLEKSを購入時に、例えばシステムがCDROMなどで提供するシステムソフトウエアをインストールする時などに、一度だけ4バイト乱数として生成され、コンピュータPCの第2の設置番号記録部61に保持される。第2の設置番号記録部61には、鍵情報用暗号鍵EDにより暗号化されて記録される。設置番号IIの生成、記録はインストール時に初期化部66において初期化プログラムが起動され、初期化のプロセスの中で実行される。
1組の電子鍵を生成するときに、組(グループ)に所属する全ての電子鍵Kjに同一の設置番号IIが書き込まれ、同じグループの鍵として管理され、取り扱われる。以降、同じグループの鍵として電子鍵Kjを追加作成する時(生成する時)には、この設置番号IIが使用者グループの識別情報として書き込まれ、また、設置番号IIが書き込まれた電子鍵Kjにノード番号を追加、変更する時(再生する時)には、この設置番号IIが照合され、保持される。
ノード番号NIは、各電子鍵Kjの木構造上の階層に対応する節(ノード)を識別する番号で、例えば階層を15階とすれば1から32657までの値のいずれかを採用可能である。同じノード番号NIを複数の電子鍵に重複付与することも可能であり、逆にいずれかの節(ノード)に空きが生じても良い。ノード番号NIはグループ内でのアクセス権利の程度を決定する要素である。本実施の形態では、どのノード番号NIをどの電子鍵Kjに書き込むかは、ユーザーが決定でき、ユーザー自身(鍵管理者が代表して行っても良い)で設定(書込)でき、また組織変更などのグループの階層構成の変化に応じてユーザーが再設定することも可能である。コンピュータPCは入力部64でユーザーが設定したノード番号NIを取得する。設定はキーボードなどからデータを入力して行っても良く、ディスプレイ画面に並んだ番号を選択して行なっても良い。これにより、ユーザーはグループの階層構成や状況に応じて、自グループに適した階層構成のFLEKSをフレキシブルに構築できる。
ノード鍵NKはノードに対応して、各電子鍵Kjを識別する暗号化復号化鍵であり、本実施の形態では対称鍵暗号方式の(Symmetric Encryption/Decryption Key)の暗号化復号化鍵を使用する。FLEKSにおいて、各電子鍵Kjが実行する暗号化、復号化は全てこのノード鍵NKを用いて行われ、ノード鍵NKはFLEKSの機能(暗号化、復号化、認証など)の中で最も重要な鍵である。また、下位のノード鍵NKdを上位のノード鍵NKuに基いて算出することが可能であり、逆に下位のノード鍵NKdから上位のノード鍵NKuを算出することは実質的に不可能である。このため、上位の電子鍵であれば、同一又は下位の電子鍵のノード鍵の機能を兼用する。この特徴を活かせば、グループ内で情報の共有やアクセスの制限などを適切に設計でき、グループに適した階層構成の1組の電子鍵を生成できる。ノード鍵NKのデータ長は例えば32バイト長(256bit)を使用できるが、別のデータ長とすることも可能である。
対称鍵暗号方式とは、データを暗号化する時と復号化(平文化)する時に同じ鍵を使用する暗号方式であり、最も有名なのは非常に長く幅広い使用実績を持つDES(Data Encryption Standard)である。本実施の形態では例えばGOSTを使用できる。GOSTは、対称鍵暗号化方式の一種で、かってソビエト連邦で開発、公開された暗号化方式で鍵長が256ビットと長い事が特徴であり、世界中で最も長く広く使用されてきた暗号化方式である米国のDES(Data Encryption Standard)のソビエト版といえる。鍵長が長い程、暗号を解読することが困難になるので、極めて高いセキュリティを有するといえる。これに対して公開鍵暗号方式とは、データを暗号化する時には公開鍵を利用し、復号化(平文化)する時には秘密鍵を使用する暗号方式であり、公開鍵は他人に伝えるためのものであることが特徴といえる。
下位のノード鍵NKdを上位のノード鍵NKuを用いて算出することが出来、逆に下位のノード鍵NKdから上位のノード鍵NKuを算出することを実質的に不可能とし、柔軟なアクセス権を設定する構成は、例えば、階層構成として木構造を利用することにより実現できる。木構造については後述する。
次に、格納鍵SK(Storage Key)について説明する。設置番号II、ノード番号NIおよびノード鍵NKは電子鍵Kjの鍵情報記録部41に書き込まれる。電子鍵Kjの読み込み、書き込み手順は、ユーザー自身で実行できるように公開されるため、外部の攻撃者が電子鍵Kjを入手してリバースエンジニアリングすることにより、これらの鍵情報を取得する可能性を完全には否定できない。そこで、この種の攻撃に対処するために格納鍵SKが使用される。
格納鍵SKは例えば4バイト(32ビット)長の乱数で、設置番号II(INSTALLATION_ID)を擬似乱数生成関数への乱数シード(種:Seed)として利用して生成するので、設定毎に違う値の乱数が生成される。擬似乱数生成関数とは、呼び出し毎に乱数を発生する関数である。乱数シードとは、擬似乱数生成関数を初期化するのに用いられる初期値であり、同一の関数を同じ初期値で初期化すると、以降、繰り返し同じ乱数列が生成される。すなわち、格納鍵SKは設置番号IIを用いて再生できる。格納鍵SKは、第2の乱数発生部70で必要な場合にその都度生成され、内蔵メモリMEなどに記録されることはない。
コンピュータPCは電子鍵Kjに鍵情報の書き込み要求を送るときに、格納すべき鍵情報(ノード鍵NKなど)と格納鍵SKを同時に送信する。なお、書き込み要求は通信の盗聴を防ぐために別途、暗号化される(後述の乱数PBを用いて)。電子鍵Kjは書き込み要求を受けると、第1の乱数発生部54において、格納鍵SKを電子鍵Kj内の独自の擬似乱数生成関数への乱数シードとして利用し、鍵情報用暗号鍵ED(32バイト長のGOST用鍵)を導出する。さらに、導出された鍵情報用暗号鍵EDを利用してコンピュータPCから送信された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を第1の演算部52にて暗号化し、第1の制御部51の制御により鍵情報記録部41に書き込む。その後、第1の消去部55にて、格納鍵SK、暗号化復号化鍵EDおよび平文の鍵情報を消去する。この時点で電子鍵Kjは格納した鍵情報を平文化することが論理的に不可能となる。なお、電子鍵KjとコンピュータPC間の通信は全て第1の制御部51及び第2の制御部69の制御により、第1の通信部56及び第2の通信部72を介して行われるが、以後説明を省略する。
コンピュータPCがこの暗号化された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を必要とする時は、コンピュータPCから読み出し要求とともに必要な鍵情報(必要なノード鍵NKのノード番号NIなど)および格納鍵SKが電子鍵Kjに送信され、電子鍵は読み出し要求を受けると、第1の乱数発生部54において、格納鍵SKを電子鍵Kj内の独自の擬似乱数生成関数への乱数シードとして利用し、鍵情報用暗号鍵EDを導出する。第1の乱数発生部54で導出された鍵情報用暗号鍵EDを利用して、第1の演算部52で鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を復号化した後に、第1の制御部51の制御によりコンピュータPCに送信する。使用した格納鍵SK及び鍵情報用暗号鍵EDは使用が終了した直後に、第1の消去部55で消去される。
このように格納鍵SKは必要な場合に再生され、コンピュータPCにも電子鍵Kjにも保存されないので、非常に高いセキュリティをもたらす。なお、非常に高いセキュリティを要しない場合には、格納鍵SKで生成された暗号化復号化鍵と異なる暗号化復号化鍵EDを鍵情報用暗号鍵記録部62に記録し、これを使用しても良い。
図3に、本実施の形態における電子鍵の階層構成の例を示す。グループに所属する各電子鍵Kjは論理的にルートノードN1(ノード番号NIが1のノード)を頂点とする2分岐木構造(binary tree)上の任意の節(ノード)に配置される。すなわち、各電子鍵Kjは2分岐木構造の階層に対応するノードに位置付けられる。図3の2分岐木構造の各ノードにノード番号NIを付した。この木構造で上位に位置する電子鍵Kuはそれより下位にある全ての電子鍵Kdの機能を兼用する、すなわち下位にある全ての電子鍵Kdに可能な暗号化、復号化を行なうことができる。これを利用することにより組織の上位管理者が部下の管理するデータをアクセス可能になると同時に、部下が木構造上の別の分岐に属するデータへアクセスする事を禁止できる。
さらに、木構造のどのノード鍵NKをいくつ複製するかは最上位管理者が任意に設定できるので、極めて柔軟なデータ管理が可能になる。なお、ルートノードN1以外のノードでは鍵数を0としても良い。木構造の分岐の深さは任意であり、例えば15段まで可能とすると、最大32657個の論理的に異なる鍵を単一のシステム内に設置可能であり、物理的な個数には制限がない。
図3には分岐の深さが3段の例を示す。1番から15番までの1組の電子鍵が木構造のノード(節)に対応して位置付けられている。木構造上で上位の電子鍵Kuは下位の電子鍵Kdの機能を兼用する。1番の鍵すなわちルートノード鍵K1は全ての鍵の機能を有する。例えば、4番の電子鍵K4は自分自身と8番と9番の電子鍵K8、K9の機能を有する。8番から15番までの電子鍵K8〜K15は個人鍵としての機能しか有さない。また、各電子鍵Kjの盗難や紛失に対しても、鍵情報用暗号鍵EDは切り離されたコンピュータPC側に記録されるので解読が困難である上に、上位鍵Kuを用いて下位鍵Kdの再生が可能であり、再生のためには例えばルートノード鍵K1を1つ保管しておけば良い。なお、ルートノード鍵K1を2つ分離保管しておけば、1つを紛失してもなお再生可能で安全である。このように再生可能なので、FLEKSのいずれかの機能が失われることはない。
次に、電子鍵Kjの認証レベルについて説明する。
FLEKSは4段階の認証レベルを有しており、アプリケーションに応じて必要な認証レベルを選択して使用できる。認証レベルの低い方式から、デバイス認証、グループ認証、管理者認証、所有者認証の順となる。
デバイス認証(=FLEKS認証)は、全電子鍵に共通の認証方式で単にFLEKSに属するという事実に基づく認証である。USBバスを介して通信している相手がFLEKSに属することを確認する。通信プロトコルとして例えばSKID3を使用できる。SKIDは対象鍵を利用した認証プロトコルで、レベル3は相互に認証を行うことを意味する。例えば、FLEKSに属する旨の秘密鍵(FLEKS_ID)はあらかじめ電子鍵KjのCPU5のソフトウエア及びコンピュータPCの鍵管理用ソフトウエアに、又は第1の通信部56及び第2の通信部72に全製品共通の定数として書き込んでおき、通信開始時にその定数を送受信して認証が行なわれる。
SKIDは暗号化の際にハッシュ関数を使用する。ハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法を用いる関数で、不可逆な一方向関数を含む。生成した値は「ハッシュ値」と呼ばれ、ハッシュ関数は「要約関数」「メッセージダイジェスト」とも呼ばれる。通信回線を通じてデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較すれば、データが通信途中で改ざんされていないか調べることができる。不可逆な一方向関数を含むため、ハッシュ値から原文を再現することは実質的にできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。通信の暗号化の補助や、ユーザー認証やデジタル署名などに応用されている。
グループ認証(=INSTALLATION認証)は、認証対象の電子鍵が所定のグループに属することを認証する。デバイス認証が成立し、コンピュータPCと電子鍵Kjのグループ識別定数(INSTALLATION_ID)が同じ場合に認証される。したがって同じFLEKSに属していてもライセンス(購入者)が異なるときは、グループ(組)が異なるものと見做され、認証されない。
FLEKSの電子鍵Kjはユーザーが購入した時点では白紙状態であり、システム管理者が鍵情報の書き込みを行うのが基本である。書き込む情報は大別して、各電子鍵Kjを識別する鍵情報と、購入したソフトウエアライセンス毎に固有のグループ識別定数の2種類である。グループ識別定数を設置番号(INSTALLATION_ID)として、コンピュータPCとグループに属する各電子鍵Kjに書き込み、この設置番号(INSTALLATION_ID)を用いてグループ認証が行なわれる。
管理者認証(supervisor authentication)は、コンピュータ又はアプリケーションに対して認証対象の電子鍵Kjが同一又は上位の節(ノード)にある場合になされる認証である。すなわち、デバイス認証、グループ認証が成立し、かつ必要とされる認証水準が鍵管理用2分岐木構造(binary tree)上で、コンピュータ又はアプリケーションが下位または同一の電子鍵が管理するものである時に認証される。
このレベルの秘密鍵は上述の各電子鍵を識別する鍵情報であり、ノード鍵NKとして各電子鍵Kjのノード鍵記録部44に記録される。FLEKSではこのノード鍵NKを用いて、2分岐木構造で上位にあるノード鍵NKuから下位のノード鍵NKdを算出することが可能であり、他方、下位鍵を算出する計算には例えば一方向関数を利用しているため下位のノード鍵NKdから上位のノード鍵NKuを算出することは極めて困難(事実上不可能)である。
所有者認証は、コンピュータPC又はアプリケーションに対して認証対象の電子鍵Kjが同一の節(ノード)にある場合になされる認証である。デバイス認証、グループ認証が成立しかつ必要とされる認証水準が鍵管理用2分木構造(binary tree)上で、コンピュータPC又はアプリケーションが同一の電子鍵が管理するものである時のみ認証される。このレベルの秘密鍵は管理者認証と同様に各電子鍵Kjを識別する鍵情報であり、ノード鍵NKとして各電子鍵Kjのノード鍵記録部44に記録される。
図4に電子鍵Kjの書き込み手順の例を示す。FLEKSは出荷時には鍵情報を含んでおらず、ユーザーは使用状況に応じた木構造のノード配置と鍵の数を入力部64から設定して、鍵情報を鍵情報記録部41に書き込むことができる。また、電子鍵Kjを紛失した場合の処置として、白紙状態の予備の電子鍵への鍵情報の書き込みも同様にユーザー自身が行うことができる。
まず、FLEKS全体を初期化する(ステップS001)。システムユーザーはFLEKSの初期化プログラムを起動すると(ステップS011)、初期化部66が初期化を実行する。また、初期化の過程で、各電子鍵Kjが所属する組を識別するグループ設置番号IIが生成され(ステップS012)、グループ設置番号IIに基づいて、最上位ノード(NODE_ID=1、ルートノード)に対するノード鍵(ルートノード鍵)の値NK1が乱数として生成される(ステップS013)。
次に、ユーザーが必要に応じて作成したい電子鍵の木構造上での位置(ノード番号)と個数、すなわち、電子鍵の階層構成を決定する(ステップS002)。
次に、コンピュータPCのUSBポートに電子鍵KjのUSBコネクター部2を挿入して通信接続し、コンピュータPCと電子鍵Kj間で相互認証を行なう(ステップS003)。相互認証の手順は、例えば以下の手順による。
まず、コンピュータPCは第2の乱数発生部70で8バイト乱数RAを生成して電子鍵Kjに送信する(ステップS031)。次に、乱数RAを受信した電子鍵Kjは第1の乱数発生部54で4バイト乱数RBを生成し、第1の演算部52でハッシュ関数HK(RA,RB,FLEKS_ID)を計算し、計算結果としてのハッシュ値HK(RA,RB,FLEKS_ID)と乱数RBを送信する(ステップS032)。ここに、データ列(RA+RB+FLEKS_ID)は16バイト情報であり、鍵Kは、デバイス認証FLEKS_IDまたは端末識別番号PC_IDを乱数シードとして擬似乱数生成関数を初期化して生成する32バイトの乱数鍵であり、デバイス認証FLEKS_ID及び端末識別番号PC_IDは共に4バイト定数の通信専用秘密情報であり、ハッシュ関数HKは、データ列(RA+RB+FLEKS_ID)をKを鍵として暗号方式GOSTを適用して暗号化して、2バイトのハッシュ値である16ビットのチェックサムCRC16(Cyclic Redundancy Check 16)を算出する関数である。
次に、コンピュータPCは受信した乱数RBから、第2の演算部67でハッシュ関数HK(RA,RB,FLEKS_ID)を計算して、第2の認証部68で計算結果としてのハッシュ値HK(RA,RB,FLEKS_ID)と受信したハッシュ値HK(RA,RB,FLEKS_ID)とを比較する。一致すれば電子鍵KjはコンピュータPCに認証される(ステップS033)。
次に、コンピュータPCは第2の演算部67でハッシュ関数HK(RB,PC_ID)を計算して、電子鍵Kjに送信する(ステップS034)。ここに、データ列(RB+PC_ID)は8バイト情報であり、ハッシュ関数HK(RB,PC_ID)はデータ列(RB+PC_ID)をKを鍵として暗号方式GOSTを適用して暗号化して、2バイトのハッシュ値である16ビットのチェックサムCRC16を算出する。次に、電子鍵Kjは第1の演算部52でハッシュ関数HK(RB,PC_ID)を計算して、第1の認証部A53で受信したハッシュ値HK(RB,PC_ID)と比較する。一致すればコンピュータPCは電子鍵Kjに認証される(ステップS035)。
相互認証が成立した後のコンピュータPCと電子鍵Kj間の通信においては、電子鍵Kjが生成した4バイト乱数RBを乱数シードに使用して、通信データ(先頭2バイトは除く)をGOSTを利用して暗号化し、送信する。乱数生成は第1の乱数発生部54、第2の乱数発生部70で行われ、暗号化は第1の演算部52、第2の演算部67で行われる。4バイト乱数RBは通信用セッションキーとして利用され、以後のコンピュータPCと電子鍵Kj間の通信に使用される。
相互認証が成立したら、コンピュータPCは、鍵情報のうち、ノード番号NIとノード鍵NKとを取得する(ステップS004)。まず、入力部64からノード番号NIを設定する(ステップS041)。設定はキーボードなどでデータを入力して行っても良く、ディスプレイ画面に並んだ番号を選択して行っても良い。次いで第2の演算部67において、ノード番号NIに対応するノード鍵NKを生成する(ステップS042)。このときノード鍵NKの算出方法を4ビット木構造を例にして説明する。
図5にノード鍵NKの書き込み手順を説明するための図を示す。図5(a)はルートノードN1から各ノードへのルートを数字列で表した表であり、図5(b)は木構造上のノードと、各ノードへのルートを数字で表した図である。図5(a)の表の数値が図5(b)の各ルートに対応して付されている。
グループ設置番号IIと木構造のルートノード鍵NK1を基にして、木構造の上位の電子鍵Nuのノード鍵NKuから順次下位の電子鍵Ndのノード鍵NKdを生成する(ステップS042)。この手順は以下のようである。
例として13番のノードN13を挙げるとルートノードN1から13番ノードN13に到達するには分岐点を右、左、右と辿る。右に分岐を辿ることを1、左に分岐を辿ることを0と表せば、右、左、右は101として表現される。この分岐を辿るデータをルートデータと称する。この数字列の最左端に1を常に加えた数字列1101が2進方で表したノード番号NI(この場合13)となる。ここで最左端の1はルートデータではないが、次に述べる理由で必ず付加する。この例ではノード番号NIは常に4ビットのデータなので最左端の1は格納されているルートデータの幅(この場合3ビット)を決定するためのマークとして必要である。ノード番号NIは例えば16ビット幅を使用するが、ここでは説明のため簡略化して4ビット幅とする。
13番のノードN13のノード鍵NK13を算出するにはルートノードN1と13番のノードN13までのルートデータ(101)と不可逆操作(一方向操作)を利用する。不可逆操作(一方向操作)とは入力から出力を計算するのが容易な反面、出力から入力を算出することが極めて困難である操作のことをいい、「落とし戸関数」(trap door function)などとも呼ばれる。不可逆操作(一方向操作)にはさまざまなものがあるが、ここでは対称暗号化方式の一つであるGOST(ソビエト連邦の標準暗号化方式)および着目しているノード鍵NK自身を利用して、ルート上での次のノード鍵を不可逆計算するものとする。その他、不可逆操作(一方向操作)として一方向関数(One Way Function)や擬似乱数生成関数を利用することも可能である。
ここで、左側の分岐を選択するときの操作を左分岐操作(LEFT ROUTE OPERATION)といい、着目しているノード鍵NKに対して、ノード鍵NK自身を鍵として使用して暗号方式GOSTを用いて暗号化操作を施す。ノード鍵の値NKjは乱数なので結果も別の乱数となる。また、右側の分岐を選択するときの操作を右分岐操作(RIGHT ROUTE OPERATION)といい、着目しているノード鍵NKに対して、ノード鍵NK自身を鍵として使用して暗号方式GOSTを用いて復号化操作を施す。ノード鍵の値NKjは乱数なので結果も別の乱数となる。
ノード鍵NKの算出にあたっては、例えば13番ノードN13のルートデータ(101の部分)に着目すると、始めに右分岐操作を利用してルートノード鍵NK1を別の乱数に置き換え、この結果をさらに左分岐操作を利用して別の乱数に置き換え、最後にもう一度右分岐操作を利用して別の乱数に置き換えたものがノード13番のノード鍵NK13として生成される。他のノード鍵NKjについても、類似の操作により生成される。
次に、コンピュータPCは、生成した鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を電子鍵Kjの鍵情報記録部41へ書き込む(ステップS005)。書き込みのプロセスは、第2の制御部69により鍵管理ソフトウエアで制御され実行される。コンピュータPCは、まず、第2の演算部67にて、生成した鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を鍵情報用暗号鍵EDを用いて暗号化する。コンピュータPCは、さらに、第2の乱数発生部70及び第2の演算部67にて、これらの暗号化された鍵情報を、乱数RBを乱数シード(通信用セッションキー)にして、GOSTを利用して暗号化し、第2の制御部72の制御により電子鍵Kjに送信する(ステップS051)。電子鍵Kjは暗号化された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を受信する。受信された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)は、第1の乱数発生部54と第1の演算部52にて乱数RBを乱数シード(通信用セッションキー)にして、GOSTを利用して復号化され、鍵情報用暗号鍵EDを用いて暗号化された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)となる。
第2の演算部67にて鍵情報用暗号鍵EDを用いて暗号化されたグループ設置番号IIはコンピュータPC内の第2の設置番号記録部61に記録される(ステップS052)。電子鍵KjでGOSTを利用して、鍵情報用暗号鍵EDを用いて暗号化されたノード鍵NK、グループ設置番号II、ノード番号NIとして復号化された鍵情報は、電子鍵Kjの鍵情報記録部41に記録される(ステップS053)。ノード鍵NKはノード鍵記録部44に、グループ設置番号IIは第1の設置番号記録部42に、ノード番号NIはノード番号記録部43にそれぞれ、暗号化された状態で記録される。
これら鍵情報が記録された後に、ノード鍵NK生成の際に使用した上位のノード鍵(ルートノード鍵NK1を含む)は第2の消去部71にてコンピュータPCの内蔵メモリMEから消去される(ステップS054)。これにより、新しい出力鍵(下位のノード鍵情報)から元の鍵(上位のノード鍵情報)を計算することは不可能となる。
このノード鍵NKはコンピュータPCが何らかの暗号化、復号化処理を行う時に、要求に応じて電子鍵KjからコンピュータPCへ送信される。コンピュータPCは必要な処理が終了した時に、第2の消去部71にてノード鍵NKを自己の内蔵メモリMEから消去する。
図6に格納鍵SKを用いる場合の、電子鍵Kjの書き込み手順の例を示す。システムの初期化(ステップS001)から鍵情報の取得(ステップS004)のノード番号設定(ステップS041)までは図4の例と同じであり、その後の工程が変化する。次に、変化する部分を主に説明する。
第2の演算部67において、ノード鍵NKと共に格納鍵SKを生成する(ステップS042’)。格納鍵SKは設置番号IIを擬似乱数生成関数への乱数シードとして生成される。
次に、コンピュータPCは、生成した鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を電子鍵Kjの鍵情報記録部41へ書き込む(ステップS005)。鍵情報を暗号化して送信するステップでは、コンピュータPCは、生成した鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を格納鍵SKと共に、第2の乱数発生部70及び第2の演算部67にて、乱数RBを通信用セッションキーとして、GOSTを利用して暗号化し、第2の制御部72の制御により電子鍵Kjに送信する(ステップS051’)。
電子鍵Kjは暗号化された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)と格納鍵SKを受信する。第1の乱数発生部54と第1の演算部52にて、受信された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)と格納鍵SKを、乱数RBを通信用セッションキーとしてGOSTを利用して復号化し、また、復号化された格納鍵SKを擬似乱数生成関数への乱数シードとして利用し、鍵情報用暗号鍵EDを導出する。また、第1の演算部52にて、鍵情報用暗号鍵EDを用いて鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を暗号化する。
鍵情報用暗号鍵EDを用いて暗号化されたグループ設置番号IIは、乱数RBを通信用セッションキーとしてコンピュータPCに送信され、第2の設置番号記録部61に記録される(ステップS052’)。また、鍵情報用暗号鍵EDを用いて暗号化された鍵情報(設置番号II、ノード番号NI、ノード鍵NK)は、電子鍵Kjの鍵情報記録部41に記録される(ステップS053’)。
これら鍵情報が記録された後に、ノード鍵NK生成の際に使用した上位のノード鍵、鍵情報用暗号鍵EDは、格納鍵SKと共に第2の消去部71にてコンピュータPCの内蔵メモリMEから消去される(ステップS054’)。
コンピュータPCは電子鍵Kjに要求した結果送られてきたノード鍵NKのノード番号NIがコンピュータPCまたはアプリケーションに与えられたノード番号NIと一致しない場合でも、電子鍵Kjから送られてきたノード鍵NKのノード番号NIが木構造上で上位のものであれば、2つのノード番号NIを参照して、上述したノード鍵NKの生成手順に従って、下位のノード鍵を算出できる。また、送られてきたノード鍵NKのノード番号NIが同一又は木構造上で上位のものでなければ、電子鍵Kjに対してアクセスを拒絶する。
上司は上位の電子鍵Kuを所持し、部下には下位の電子鍵Kdを使用してもらう。上司が特定の部下に秘密情報を送信する場合には、上位のノード鍵NKuから当該部下のノード番号NIを指定して、下位のノード鍵NKdを生成し、この生成したノード鍵NKdを用いて秘密情報を暗号化して送信する。また、特定の部下から秘密情報を受信する場合にも、上位のノード鍵NKuから当該部下のノード番号NIを指定して、下位のノード鍵NKdを生成し、この生成したノード鍵NKdを用いて秘密情報を復号化する。これにより、1対1の暗号化通信が可能になるが、部下が増えても通信相手のノード番号NIを指定するだけで良く、上司は多数の部下のノード鍵NKを所持する必要がなく、システムに予め設定しておく必要もない。
また、同じノード鍵NKを所持する部下同士の通信も可能である。例えば、同じ部の課長は共通のノード鍵で、他部の課長とは異なるノード鍵NKを所持する、その下位では同じ課の係長は共通のノード鍵で、他課の係長とは異なるノード鍵NKを所持する、その下位では同じ係の係員は共通のノード鍵NKを所持するようにすれば、同じ部の課長同士、同じ課の係長同士、同じ係の係員同士の通信が可能になる。また、例えば、1分岐木構造を採用して、全ての部長は共通のノード鍵NKを所持し、全ての課長はその下位の共通のノード鍵NKを所持し、全ての係長はその下位の共通のノード鍵NKを所持し、全ての係員はその下位の共通のノード鍵NKを所持すれば、全ての課長同士、全ての係長同士、全ての係員同士の通信が可能になる。
1組の電子鍵に属する電子鍵Kjを再成するには、生成の手順の一部を用いれば良い。すなわち、グループ設置番号IIが既に生成されていれば、グループ認証するだけで良く、ルートノード鍵NK1を生成する工程、グループ設置番号IIを電子鍵Kjに書き込む工程は省略でき、ノード番号NIを設定する工程、木構造の上位の電子鍵Kuのノード鍵NKuから下位の電子鍵Kdのノード鍵NKdを生成する工程、設定されたノード番号II及び生成されたノード鍵NKを電子鍵Kjに書き込む工程を行なえば良い。ここにおいて、再生には、電子鍵を紛失した場合に、紛失した電子鍵と同じ鍵情報を有する電子鍵を生成するだけでなく、組織変更等に合わせて、1組の電子鍵について階層構成を変更するように、電子鍵のノード番号とノード鍵を書き換える場合も含むものとする。
本実施の形態における電子鍵は、以上説明した構成なので、次の機能、効果を有する。
まず、木構造の任意の階層構造を有する1組の電子鍵を生成でき、ユーザーは自己の所属グループに適する電子鍵管理システムを構築できる。すなわち、階層構成を有する1組の電子鍵に関し、パスワードの管理なしに、高いセキュリティを保持すると同時に、鍵情報をユーザー側で書き込み可能、再生可能にして、グループ内の各人のアクセス権を柔軟に設定、変更できる1組の電子鍵を提供できる。
また、本発明の好ましい態様によれば、高い安全性を有する。各電子鍵Kjには鍵情報が記録されているが、これらは暗号化されて保存されており、さらに、これらの鍵情報を複号化するための鍵情報用暗号鍵EDはコンピュータPC側に記録されているため、コンピュータPC単独で又は各電子鍵Kj単独で鍵情報を複号化することは理論的に不可能である。従ってユーザーが電子鍵を紛失しても、外部の者がハッキングして鍵情報を取得することはできない。
また、本発明の好ましい態様によれば、電子鍵KjとコンピュータPC間の通信は暗号化されて行われ安全性が高い。電子鍵KjはコンピュータPCとの間でSKID3による相互認証を行った時点で、電子鍵Kjにより生成された乱数PBを保持し、以降の電子鍵KjとコンピュータPCとの間の通信データは乱数PBを用いて暗号化される。この乱数PBはコンピュータPCが再認証を行うと新しい別の乱数に変更される。この再認証の発行タイミングはコンピュータPC保有のシステムソフトウエアにより決定される。
また、本発明の好ましい態様によれば、コンピュータPCのログインを自動化できる。パスワードを設定しないでコンピュータPCを利用することは危険ではあるが、パスワードを入力する手間が面倒なことも事実である。ところで、コンピュータPCの起動時に、USBポートに予め電子鍵KjのUSBコネクター部2を挿入しておけば自動的にログインが可能である。さらに、上位の電子鍵は下位の電子鍵の機能を兼ねるので、管理者は部下のコンピュータPCへのアクセスが可能である。そして、この際に複数の部下のパスワードを管理する必要は全くなく、部下が不意に病欠あるいは退社した場合などでも、容易に部下が管理するコンピュータPCのデータ管理を行うことが可能である。
また、従来の電子鍵システムと同様に、保存文書等の暗号化、複号化ができる。重要なデータを暗号化して保存すればデータの違法なコピーや盗難に対して安全である。電子メール等を介してのデータ交換時の暗号化、復号化も可能である。更に本発明によれば、同一のルートノード鍵NK1から生成した電子鍵Kjは全てデータ交換専用鍵(設置番号II、ノード鍵NK)を別に内蔵しており、これらの鍵情報を用いて、暗号化、複号化が可能であり、予め相手に暗号化鍵を知らせたり、相手の公開鍵を調べたりする必要はなく、暗号化した文書などを送受信できる。
また、従来の電子鍵システムと同様に、プログラム、機器へのアクセス制御の設定が可能である。プログラム、周辺機器などの開発者にとって重要な関心の一つは違法なコピーを防ぐことである。更に本発明のFLEKSをシステムに組み込めばソフトや機器を使用する人の認証や制限の設定が可能であり、1つの電子鍵Kjで複数のソフトや機器へのアクセスを可能にでき、フレキシブルな使用が可能である。
また、本発明の応用例として、電子鍵Kjの所有者の認証が可能である。所有者認証により電子鍵Kjの所有者を認証でき、社員等の出勤、退社時間の管理アプリケーションなどに適用可能である。
なお、FLEKSを個人で使用することも可能であるが、以上説明したように、会社等の組織内で使用した時に、その機能を有効に活用することが出来る。
また、本発明は、上述の1組の電子鍵の生成方法をコンピュータに実行させるためのコンピュータ読み取り可能なプログラムとして実現することも可能であり、かかるプログラムを記録する記録媒体としても実現可能である。プログラムはコンピュータ内蔵のプログラム部に記録されて使用されても良く、外付けの記録装置やCDROMに記録され、プログラム部に読み出されて使用されても良く、またインターネットからプログラム部にダウンロードされて使用されても良い。
以上、本発明の実施の形態について説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で実施の形態に種々変更を加えられることは明白である。
例えば、本実施の形態では、全ての鍵情報を暗号化して記録する例を説明したが、一部を暗号化しても記録しても良い。また、本実施の形態では、対称鍵暗号方式の暗号化復号化鍵を採用する例を説明したが、公開鍵など他の方式を採用しても良い。また、暗号化方式としてGOSTに限られず、DESなど他の方式を使用しても良い。また、本実施の形態では、GOSTを用いて一方向操作をする例を説明したが、他の一方向関数などによる一方向操作を使用しても良い。
また、鍵情報用暗号鍵を複数持ち、各鍵情報(設置番号II、ノード番号NI、ノード鍵NK)を別々の鍵情報用暗号鍵で暗号化、復号化しても良い。また、暗号化復号化に用いるノード鍵と認証を行うノード鍵を別に設けても良い。また、デバイス認証用の秘密鍵を設置番号に埋めこんで、デバイス認証とグループ認証を同時に行うことも可能である。また、コンピュータと電子鍵間の認証は双方向認証に限られず、コンピュータ又は電子鍵のいずれか一方が他方を認証する片方向認証を用いても良い。下位の電子鍵が上位のコンピュータを片方向認証する場合には、電子鍵のノード番号をコンピュータに知らせておく必要があるが、知らせれば、コンピュータで下位のノード鍵を生成し、このノード鍵を用いて認証が可能になる。
またICカードなどの記憶容量が大きい場合には、鍵生成、再生プログラムや鍵管理ソフトウエアをコンピュータでなく、電子鍵に記憶させることも可能である。また、本実施の形態ではコンピュータ側で上位の電子鍵から下位の電子鍵を生成又は再生する方法を説明したが、電子鍵側で生成又は再生しても良い。なお、この場合には、第1の消去手段は、生成後に上位の電子鍵の鍵情報を消去する機能を有するようにする。また、本実施の形態では、上位の電子鍵から下位の電子鍵を生成又は再生する方法を説明したが、同じノード番号の電子鍵を用いて生成又は再生できることは当然である。また、電子鍵の生成又は再生はユーザに限られず、電子鍵の供給側で行うこともできる。
本発明は、コンピュータに着脱可能な暗号鍵情報を記録する電子鍵やコンピュータへのアクセスを許容するための認証情報を記録する電子鍵に利用される。
本発明の実施の形態による電子鍵の外形例を示す図である。 本発明の実施の形態によるシステム構成例を示す図である。 本発明の実施の形態による電子鍵の階層構成の例を示す図である。 本発明の実施の形態による電子鍵の書き込み手順の例を示す図である。 本発明の実施の形態によるノード鍵の書き込み手順を説明するための図である。 格納鍵を用いる場合の電子鍵の書き込み手順の例を示す図である。
符号の説明
1 本体部
2 USBコネクター部
3 キーリング孔
4 メモリ
5 CPU
41 鍵情報記録部
42 第1の設置番号記録部
43 ノード番号記録部
44 ノード鍵記録部
45 一時記憶部
51 第1の制御部
52 第1の演算部
53 第1の認証部
54 第1の乱数発生部
55 第1の消去部
56 第1の通信部
61 第2の設置番号記録部
62 鍵情報用暗号鍵記録部
63 鍵管理ソフトウエア記録部
64 入力部
65 出力部
66 初期化部
67 第2の演算部
68 第2の認証部
69 第2の制御部
70 第2の乱数発生部
71 第2の消去部
72 第2の通信部
Kj(j=1、2、…、n) 電子鍵
ME コンピュータ内蔵メモリ
PC コンピュータ

Claims (15)

  1. コンピュータに着脱可能であり、鍵情報を記録する鍵情報記録部を備え、木構造の階層を有する1組の電子鍵であって;
    組に所属する各電子鍵は前記木構造の階層に対応する各ノードに位置付けられ;
    前記各電子鍵は、前記鍵情報記録部に、鍵情報として前記組を識別するグループ設置番号、位置付けられたノードを識別するノード番号、及び前記ノード番号に対応する鍵としてのノード鍵を記録可能であり;
    前記木構造の下位の電子鍵のノード鍵は上位の電子鍵のノード鍵から生成可能であり、前記上位の電子鍵のノード鍵は前記下位の電子鍵のノード鍵から生成困難である;
    1組の電子鍵。
  2. 前記鍵情報は、前記コンピュータが暗号化又は/及び復号化に使用する暗号鍵情報を含む;
    請求項1に記載の1組の電子鍵。
  3. 前記鍵情報は、前記コンピュータにアクセスを許容してもらうための認証情報又は/及びコンピュータにアクセスを許容するための認証情報を含む;
    請求項1又は請求項2に記載の1組の電子鍵。
  4. 前記下位のノード鍵は前記上位のノード鍵から一方向操作を用いて生成される;
    請求項1乃至請求項3のいずれか1項に記載の1組の電子鍵。
  5. 前記グループ設置番号及び前記ノード鍵は暗号化されて、前記鍵情報記録部に記録される;
    請求項1乃至請求項4のいずれか1項に記載の1組の電子鍵。
  6. 前記木構造の階層に対応する各ノードに位置付けられる各電子鍵の数を零(最上位のルートノード鍵を除く)又は任意の正整数とする;
    請求項1乃至請求項5のいずれか1項に記載の1組の電子鍵。
    1組の電子鍵。
  7. 木構造の階層を有する1組の電子鍵に所属し、前記木構造の階層に対応する各ノードに位置付けられ、鍵情報として、前記組を識別するグループ設置番号、位置付けられたノードを識別するノード番号、及び前記ノード番号に対応する鍵としてのノード鍵を記録するための鍵情報記録部を有する各電子鍵に、前記鍵情報を書き込み可能なコンピュータであって;
    前記グループ設置番号を生成する手段と;
    前記ノード番号を設定する手段と;
    前記木構造の最上位の電子鍵のノード鍵であるルートノード鍵を生成する手段と;
    前記ルートノード鍵を基にして、前記木構造の上位の電子鍵のノード鍵から下位の電子鍵のノード鍵を生成する手段と;
    生成された前記グループ設置番号及び前記ノード鍵並びに設定された前記ノード番号を前記各電子鍵に書き込む手段とを備える;
    コンピュータ。
  8. 前記木構造の上位の電子鍵のノード鍵から下位の電子鍵のノード鍵を生成する手段は、一方向操作を用いて生成する;
    請求項7に記載のコンピュータ。
  9. 前記各電子鍵に記録されるグループ設置番号、ノード番号及びノード鍵は暗号化された情報であり、
    前記グループ設置番号、前記ノード番号と前記ノード鍵を暗号化する暗号化鍵、又は/及び前記各電子鍵に記録された暗号化されたグループ設置番号、ノード番号及びノード鍵を復号化する復号化鍵を記録する鍵情報用暗号鍵記録手段と;
    前記復号化鍵を用いて復号化されたグループ設置番号及びノード鍵を照合して、前記各電子鍵にアクセスを許容する認証手段とを備える;
    請求項7又は請求項8に記載のコンピュータ。
  10. 前記グループ設置番号及び前記ノード鍵を暗号化した後に、暗号化前の前記グループ設置番号及び前記ノード鍵を消去する手段;
    を備える請求項9に記載のコンピュータ。
  11. コンピュータに着脱可能であり、鍵情報を記録する鍵情報記録部を備え、木構造の階層を有し、組に所属する各電子鍵は前記木構造の階層に対応する各ノードに位置付けられ、前記鍵情報記録部に、鍵情報として前記組を識別するグループ設置番号、位置付けられたノードを識別するノード番号、及び前記ノード番号に対応する暗号鍵としてのノード鍵とを記録可能である1組の電子鍵の生成方法であって;
    前記グループ設置番号を生成する工程と;
    前記ノード番号を設定する工程と;
    前記木構造の最上位の電子鍵のノード鍵であるルートノード鍵を生成する工程と;
    前記ルートノード鍵を基にして、前記木構造の上位の電子鍵のノード鍵から下位の電子鍵のノード鍵を生成する工程と;
    生成された前記グループ設置番号及び前記ノード鍵並びに設定された前記ノード番号を前記各電子鍵に書き込む工程とを備える;
    1組の電子鍵の生成方法。
  12. 前記木構造の上位の電子鍵のノード鍵から下位の電子鍵のノード鍵を生成する工程において、一方向操作を用いて生成する;
    請求項11に記載の1組の電子鍵の生成方法。
  13. コンピュータに着脱可能であり、鍵情報を記録する鍵情報記録部を備え、木構造の階層を有し、組に所属する各電子鍵は前記木構造の階層に対応する各ノードに位置付けられ、前記鍵情報記録部に、鍵情報として前記組を識別するグループ設置番号、位置付けられたノードを識別するノード番号、及び前記ノード番号に対応する暗号鍵としてのノード鍵を記録可能である1組の電子鍵に属する電子鍵の再生方法であって;
    前記グループ設置番号を認証する工程と;
    前記ノード番号を設定する工程と;
    前記木構造の上位の電子鍵のノード鍵から下位の電子鍵のノード鍵を生成する工程と;
    設定された前記ノード番号及び生成された前記ノード鍵を前記電子鍵に書き込む工程とを備える;
    電子鍵の再成方法。
  14. 請求項11若しくは請求項12に記載の1組の電子鍵の生成方法又は請求項13に記載の電子鍵の再生方法をコンピュータに実行させるためのコンピュータ読み取り可能なプログラム。
  15. 請求項14に記載のプログラムを記録する記録媒体。
JP2004162642A 2004-05-31 2004-05-31 1組の電子鍵及びその生成方法 Pending JP2005347897A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004162642A JP2005347897A (ja) 2004-05-31 2004-05-31 1組の電子鍵及びその生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004162642A JP2005347897A (ja) 2004-05-31 2004-05-31 1組の電子鍵及びその生成方法

Publications (1)

Publication Number Publication Date
JP2005347897A true JP2005347897A (ja) 2005-12-15

Family

ID=35499893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004162642A Pending JP2005347897A (ja) 2004-05-31 2004-05-31 1組の電子鍵及びその生成方法

Country Status (1)

Country Link
JP (1) JP2005347897A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007138876A1 (ja) * 2006-06-01 2007-12-06 Nec Corporation 通信ノード認証システム及び方法、通信ノード認証プログラム
JP2011101367A (ja) * 2009-11-04 2011-05-19 Samsung Sds Co Ltd 非対話型キー生成装置及び方法、並びにこれを用いた通信セキュリティー方法
JP2015128230A (ja) * 2013-12-27 2015-07-09 株式会社パレス興業 デバイス間暗号通信方法及びこれを用いたデータ通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259012A (ja) * 1993-03-05 1994-09-16 Hitachi Ltd 階層型鍵管理による暗号方法及び情報通信システム
JPH09265254A (ja) * 1996-03-28 1997-10-07 Dainippon Printing Co Ltd 情報記憶媒体の相互認証システム
JP2002111657A (ja) * 2000-07-26 2002-04-12 Fuji Soft Abc Inc 多重アファイン鍵システムを用いるマスターキー管理システム及びこの方法とプログラム
JP2003523556A (ja) * 1999-10-23 2003-08-05 ロックストリーム・コーポレイション クライアント固有の別個のキーを使用したキーの暗号化
JP2004023122A (ja) * 2002-06-12 2004-01-22 Dainippon Printing Co Ltd Icカードを利用した暗号システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259012A (ja) * 1993-03-05 1994-09-16 Hitachi Ltd 階層型鍵管理による暗号方法及び情報通信システム
JPH09265254A (ja) * 1996-03-28 1997-10-07 Dainippon Printing Co Ltd 情報記憶媒体の相互認証システム
JP2003523556A (ja) * 1999-10-23 2003-08-05 ロックストリーム・コーポレイション クライアント固有の別個のキーを使用したキーの暗号化
JP2002111657A (ja) * 2000-07-26 2002-04-12 Fuji Soft Abc Inc 多重アファイン鍵システムを用いるマスターキー管理システム及びこの方法とプログラム
JP2004023122A (ja) * 2002-06-12 2004-01-22 Dainippon Printing Co Ltd Icカードを利用した暗号システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007138876A1 (ja) * 2006-06-01 2007-12-06 Nec Corporation 通信ノード認証システム及び方法、通信ノード認証プログラム
JP2011101367A (ja) * 2009-11-04 2011-05-19 Samsung Sds Co Ltd 非対話型キー生成装置及び方法、並びにこれを用いた通信セキュリティー方法
JP2015128230A (ja) * 2013-12-27 2015-07-09 株式会社パレス興業 デバイス間暗号通信方法及びこれを用いたデータ通信方法

Similar Documents

Publication Publication Date Title
CN100418316C (zh) 信息处理系统及方法
JP4848039B2 (ja) 多目的コンテンツ制御を備えたメモリシステム
CN100417064C (zh) 信息处理系统和信息处理方法
JP4668619B2 (ja) 装置鍵
US8140843B2 (en) Content control method using certificate chains
US8639939B2 (en) Control method using identity objects
US8245031B2 (en) Content control method using certificate revocation lists
JP4857283B2 (ja) パーティション化による多目的コンテンツ制御
JP4857284B2 (ja) 多目的コンテンツ制御をするコントロール構造の生成システム
US20070168292A1 (en) Memory system with versatile content control
JP5180203B2 (ja) メモリ装置から供給される情報を制御するシステムおよび方法
US20080034440A1 (en) Content Control System Using Versatile Control Structure
US20100138652A1 (en) Content control method using certificate revocation lists
US20080168568A1 (en) Token passing technique for media playback devices
US20080022413A1 (en) Method for Controlling Information Supplied from Memory Device
JP6026630B2 (ja) メモリシステム
CN101142599A (zh) 基于硬件识别的数字权利管理系统
JP2008524753A5 (ja)
JPWO2005096158A1 (ja) 利用認証方法、利用認証プログラム、情報処理装置および記録媒体
JP2008524758A5 (ja)
TW200822670A (en) Content control system and method using versatile control structure
CN111586065A (zh) 一种基于区块链的数据授权方法
JP5178716B2 (ja) 証明書取消リストを使用するコンテンツ管理システムおよび方法
JP2009543208A (ja) 証明書連鎖を使用するコンテンツ管理システムおよび方法
JP2009543208A5 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101214