(57)【特許請求の範囲】
【請求項１】
入力された認証情報から、一方向性ハッシュ関数を用いた計算によって認証鍵を生成する認証鍵生成手段と、
前記認証鍵から一方向性ハッシュ関数を用いた計算によって認証子を生成し、予め記憶装置に格納されている認証子と比較することにより認証を行う認証手段と、
予め前記認証鍵で暗号化され記憶装置に格納されている個人鍵を、前記認証鍵で復号する個人鍵復号手段と、
グループに所属するユーザｎ人中ｋ人の前記個人鍵を合成して組み合わせ鍵を生成する組み合わせ鍵生成手段と、
組み合わせ鍵として生成可能なnＣk個の組み合わせ鍵のそれぞれで暗号化され、予め記憶装置に格納されているグループ鍵を、任意のユーザｋ人の組み合わせ鍵で復号するグループ鍵復号手段と、
前記復号されたグループ鍵でファイルを暗号化／復号するファイル暗号化／復号手段とを備えるファイル暗号化システム。
【請求項２】
入力された認証情報から、一方向性ハッシュ関数を用いた計算によって認証鍵を生成する認証鍵生成手段と、
前記認証鍵から一方向性ハッシュ関数を用いた計算によって認証子を生成し、予め記憶装置に格納されている認証子と比較することにより認証を行う認証手段と、
予め前記認証鍵で暗号化され記憶装置に格納されている個人鍵を、前記認証鍵で復号する個人鍵復号手段と、
グループに所属するユーザｎ人中ｋ人の前記個人鍵を合成して組み合わせ鍵を生成する組み合わせ鍵生成手段と、
ユーザｎ人中ｍ人をゲストとして定義し、ユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、予め記憶装置に格納されているグループ鍵を、前記ゲスト以外のユーザ１人以上を含む任意のユーザｋ人の組み合わせ鍵で復号するグループ鍵復号手段と、
前記復号されたグループ鍵でファイルを暗号化／復号するファイル暗号化／復号手段とを備えるファイル暗号化システム。
【請求項３】
各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用されるシステム管理グループのグループ鍵を用いて、システム構成情報の変更制御を行うシステム構成制御手段を、さらに備えることを特徴とする請求項１または２に記載のファイル暗号化システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はファイル暗号化システムに関し、特に複数のユーザが共有ファイルを相互に暗号化または復号（以下「暗号化／復号」とする。）できるようにするために暗号化／復号用の鍵を共用する、ファイル暗号化システムに関する。
【０００２】
【従来の技術】
従来、この種のファイル暗号化システムは、正当なユーザによるファイルアクセスを確保しつつ、コンピュータの盗難や紛失、ファイルへの不正なアクセスに対抗するためのセキュリティ方法として用いられている。
【０００３】
従来のファイル暗号化システムの一例が、特開２０００−０９９３８５号公報に記載されている。この公報に記載されたファイル暗号化システムは、予め共通のグループ鍵を生成し、暗号ファイルを共有したいユーザのコンピュータにこのグループ鍵を配布しておき、暗号ファイルのヘッダ情報にグループ鍵で暗号化したセッション鍵（ファイル内容の暗号化に使用した鍵）を埋め込むことにより、同じグループ鍵を所有する複数のユーザが共有ファイルを相互に暗号化／復号できるようにしている。
【０００４】
またその他にも、特開平１０−１９８２７２号公報に暗号システムの一例が記載されている。この公報に記載された暗号システムでは、グループで共有する秘密の鍵は複数個の部分鍵に秘密分散され、ユーザによってそれぞれ秘密に保持される。これにより、所定数の部分鍵をグループ内の複数のユーザから集めてはじめて暗号化／復号をすることができる。
【０００５】
【発明が解決しようとする課題】
ファイル暗号化の目的は、磁気ディスクのように容易に読み出し／書き込みが可能な不揮発性の記憶媒体に記録した情報の機密を保護することにある。通信回線上の情報の暗号化の場合には、暗号化の鍵を１セッションごとに使い捨てにすることもできるが、ファイル暗号化の場合は、ある期間の後、例えば何日後か、何ヵ月後か、何年後かに復号しなければならないため、暗号化に使用した鍵もまた不揮発性の記憶媒体に保存しておく必要がある。
【０００６】
ここで、暗号化した情報と同一の記憶媒体に暗号化の鍵も裸のままで記録したのでは機密性を確保することはできない。暗号化鍵そのものを暗号化するなどの工夫が必要であり、その場合でも暗号化鍵の暗号化に使用した鍵の機密を保護しなければならない。鍵の保管はセキュリティ運用上きわめて重要である。このような重要な情報を人間が保管する場合は、不正な使用を防止するために（ｋ，ｎ）しきい値法のような秘密分散方式が用いられる。（ｋ，ｎ）しきい値法による秘密分散方式は、秘密の鍵をｎ個の部分鍵に分け、ｎ個の中から任意のｋ個を集めれば元の秘密鍵を復元でき、ｋ個より少なければ元の秘密鍵をまったく得られないものである。
【０００７】
ところが、前記秘密分散方式を用いた場合においても、各ユーザが保管する部分鍵の機密保護の問題は依然として解決されない。
【０００８】
また、前記秘密分散方式は、「特定の部分鍵については所定数以上集めても元の秘密鍵を復元することはできず、別の部分鍵１つ以上を含む所定数の部分鍵を集めれば元の秘密鍵を復元できる」といった制限を設けることができないという問題がある。
【０００９】
さらに、前記秘密分散方式は、部分鍵を生成して各ユーザに配布する管理者（ディーラ）の不正対策が必要であり、また、一度配布された部分鍵の回収や廃棄を個々のユーザを完全に信用することによってしかできないため、グループのユーザ変更やユーザ数の増減に柔軟に対応することができないという問題がある。
【００１０】
また、ハッシュされたユーザのパスワードのうち、選択集団に該当するものを組み合わせて、ファイルキーを暗号化するためのパスワードキーとする技術が、特表２０００−５０２８２７号公報に記載されている。
【００１１】
しかしながら、この従来技術では、選択集団のメンバが揃わなければ個人のパスワードも変更できないという問題がある。個人のパスワードの変更は組み合わせ鍵の変更を伴い、組み合わせ鍵の再構成には選択集団のメンバのパスワード入力が必要だからである。
【００１２】
さらに、個人が複数のグループに所属する場合は、各所属グループの選択集団も揃えることが必要になる。これらのことは、パスワードの変更は頻繁に行うべきであるというセキュリティ上の要件を明らかに阻害するという問題がある。
【００１３】
また、グループ構成の変更は当該グループメンバで行わなければならないという点に基づいて、以下の問題がある。
（１）新規グループ作成時は、新規グループに入るメンバ全員が集まって自分のパスワードを入力しなければならなず、ユーザが別のグループに入るためには、集合要請に応じて立ち会い、パスワードを入力しなければならなず煩雑である。
（２）グループに所属する多数のメンバがパスワードを紛失した場合、暗号化したファイルの復号が不可能であるという問題、または各グループのメンバが、めったに行わない管理操作も含めてあらゆる操作を知っていなければならないという問題がある。
【００１４】
【課題を解決するための手段】
そこで、本発明の目的は、各ユーザ固有の秘密情報、すなわち暗号化されて外部記憶装置に格納されている個人鍵を、ユーザの認証情報の入力によってのみ復号して取り出すことができ、グループの秘密情報、すなわち暗号化されて外部記憶装置に格納されているグループ鍵を、所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことのできるファイル暗号化システムを提供することにある。
【００１５】
本発明の他の目的は、暗号化されて外部記憶装置に格納されているグループ鍵を、ゲストとして定義したユーザの個人鍵を所定数以上集めても復号することはできず、ゲスト以外のユーザ１人以上を含む所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことのできるファイル暗号化システムを提供することにある。
【００１６】
本発明のさらに他の目的は、グループ鍵を各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用するシステム管理グループによって、ユーザやグループの追加・削除、グループのユーザ構成変更といったシステム構成情報の変更制御を行うことができるファイル暗号化システムを提供することにある。
【００１７】
このような目的を達成するため、本発明は、入力されたユーザの認証情報からハッシュ関数を用いて生成された認証鍵を使用して、暗号化されている個人鍵を復号し、同一グループに属する所定の複数のユーザの個人鍵を用いて生成された組み合わせ鍵を使用して、暗号化されているグループ鍵を復号し、この復号されたグループ鍵を用いてファイルを暗号化／復号するようにした。
【００１８】
また、本発明は、同一グループに属する所定のユーザをゲストと定義し、同一グループに属するゲスト以外のユーザの個人鍵を含む所定の複数のユーザの個人鍵を用いて生成された組み合わせ鍵のみにより、暗号化されているグループ鍵を復号できるようにした。
【００１９】
さらに、これらの場合において、システム管理グループに供託された各ユーザの個人鍵および各グループのグループ鍵を、システム管理グループのグループ鍵で暗号化／復号し、システム管理グループのグループ鍵で復号された個人鍵またはグループ鍵を用いて、システム構成情報の変更制御を行うようにした。
【００２０】
ここで、システム構成制御の種別は、例えば、ユーザ追加、ユーザ削除、グループ追加、グループ削除、グループ内ユーザ構成の変更などが該当する。
【００２１】
具体的には、本発明の第１のファイル暗号化システムは、入力された認証情報から一方向性ハッシュ関数を用いた計算によって認証鍵を生成する認証鍵生成手段（図１の１０２）と、認証鍵から一方向性ハッシュ関数を用いた計算によって認証子を生成し、予め外部記憶装置に格納されている認証子と比較することにより認証を行う認証手段（図１の１０３）と、予め認証鍵で暗号化され外部記憶装置に格納されている個人鍵を認証鍵で復号する個人鍵復号手段（図１の１０４）と、グループに所属するユーザｎ人中ｋ人の個人鍵を合成して組み合わせ鍵を生成する組み合わせ鍵生成手段（図１の１０５）と、生成可能なnＣk個の組み合わせ鍵のそれぞれで暗号化され、予め外部記憶装置に格納されているグループ鍵を、任意のユーザｋ人の組み合わせ鍵で復号するグループ鍵復号手段（図１の１０６）と、グループ鍵でファイルを暗号化／復号するファイル暗号化／復号手段（図１の１０７）とを備え、各ユーザ固有の秘密情報、すなわち暗号化されて外部記憶装置に格納されている個人鍵を、ユーザの認証情報の入力によってのみ復号して取り出すことができ、グループの秘密情報、すなわち暗号化されて外部記憶装置に格納されているグループ鍵を、所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができ、グループ鍵でファイルを暗号化／復号するよう動作する。
【００２２】
上記構成を有することにより、各ユーザの個人鍵の秘密状態を確保することができる。
【００２３】
また、本発明の第２のファイル暗号化システムは、ユーザｎ人中ｍ人をゲストとして定義し、ユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、予め外部記憶装置に格納されているグループ鍵を、ゲスト以外のユーザ１人以上を含む任意のユーザｋ人の組み合わせ鍵で復号するグループ鍵復号手段（図３の１０６）を本発明の第１のファイル暗号化システムのグループ鍵復号手段（図１の１０６）と置き換え、暗号化されて外部記憶装置に格納されているグループ鍵を、ゲストとして定義したユーザの個人鍵を所定数以上集めても復号することはできず、ゲスト以外のユーザ１人以上を含む所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができるよう動作する。
【００２４】
これにより、同一グループ内で、更に詳細なアクセス権管理を行うことができ、グループ内での不正を防止できる。
【００２５】
さらに、本発明の第３のファイル暗号化システムは、グループ鍵を各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用するシステム管理グループを設け、システム構成情報の変更制御を行うシステム構成制御手段（図５の１０８）を本発明の第１または第２のファイル暗号化システムに追加し、グループ鍵を各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用するシステム管理グループによって、ユーザやグループの追加・削除、グループのユーザ構成変更といったシステム構成情報の変更制御を行うことができるよう動作する。
【００２６】
上記構成を有することにより、個人鍵およびグループ鍵をシステム管理グループへ供託することができ、システム管理グループによってシステム構成情報への変更に対応することができる。
【００２７】
これにより、システム構成情報の変更に柔軟に対応しつつセキュリティ機能の向上を実現することができる。
【００２８】
本明細書において記録媒体とは、例えば、ハードディスク（ＨＤ）、ＤＶＤ−ＲＡＭ、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等のほかに、ＲＡＭやＲＯＭ等のメモリを含む。
【００２９】
また、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されても良い。
【００３０】
さらに、上記システムの発明は、コンピュータに所定の機能を実現させるプログラムまたはそのプログラムを記録した記録媒体としても成立する。また、上記発明は、コンピュータに所定の機能を実現させる際に用いられるデータまたはそのデータを記録した記録媒体としても成立する。
【００３１】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。ここで、図１は本発明の第１の実施の形態の構成を示すブロック図である。
【００３２】
図１を参照すると、本発明の第１の実施の形態は、サーバ装置１００と、複数のクライアント装置２００，２１０，２２０，・・・と、ファイルサーバ３００と、これらの装置を接続する通信路４００とから構成されている。サーバ装置にはクライアント装置やファイルサーバのうちのいくつか、もしくはすべてが組み込まれた構成であっても良い。
【００３３】
サーバ装置１００は、サーバ制御手段１０１と、認証鍵生成手段１０２と、認証手段１０３と、個人鍵復号手段１０４と、組み合わせ鍵生成手段１０５と、グループ鍵復号手段１０６と、ファイル暗号化／復号手段１０７とを含む。サーバ装置１００の磁気ディスク１１０には、ユーザ情報テーブル１１１とグループ情報テーブル１１２が記録されている。
【００３４】
クライアント装置２００，２１０，２２０，・・・は、それぞれクライアント制御手段２０１，２１１，２２１，・・・を含む。   ファイルサーバ３００の磁気ディスク３１０には、暗号化／復号の対象となるファイル３１１，３１２，３１３，・・・が保管されている。
【００３５】
これらの手段はそれぞれ概略つぎのように動作する。
サーバ制御手段１０１は、クライアント装置２００，２１０，２２０，・・・との間で通信を行い、サーバ装置１００の動作全体を制御する。
認証鍵生成手段１０２は、サーバ制御手段１０１から受け取った認証情報をもとに一方向性ハッシュ関数を用いた計算によって認証鍵を生成する。なお、認証情報はユーザのログオン時にクライアント制御手段２０１，２１１，２２１，・・・により入力され、サーバ制御手段１０１に渡される。
【００３６】
認証手段１０３は、認証鍵生成手段１０２が生成した認証鍵をもとに一方向性ハッシュ関数を用いた計算によって認証子を生成し、磁気ディスク１１０内のユーザ情報テーブル１１１に格納されている認証子と比較することによりユーザの認証を行う。
【００３７】
個人鍵復号手段１０４は、認証鍵で暗号化され、磁気ディスク１１０内のユーザ情報テーブル１１１に格納されている個人鍵を、認証鍵生成手段１０２で生成した認証鍵で復号する。
【００３８】
組み合わせ鍵生成手段１０５は、個人鍵復号手段１０４で得られた個人鍵を所定数集め、これらの個人鍵を合成して組み合わせ鍵を生成する。
【００３９】
グループ鍵復号手段１０６は、組み合わせ鍵で暗号化され、磁気ディスク１１０内のグループ情報テーブル１１２に格納されているグループ鍵を、組み合わせ鍵生成手段１０５で得られた組み合わせ鍵で復号する。
【００４０】
ファイル暗号化／復号手段１０７は、ファイルサーバ３００の磁気ディスク３１０内のファイル３１１，３１２，３１３，・・・をグループ鍵復号手段１０６で得られたグループ鍵で暗号化または復号する。
【００４１】
クライアント制御手段２０１，２１１，２２１，・・・は、ユーザとの対話およびサーバ装置１００との間の通信を行う。
【００４２】
次に、図１および図２を参照して本実施の形態の全体の動作について詳細に説明する。
【００４３】
図２は、ユーザ情報テーブル１１１とグループ情報テーブル１１２の詳細および複数のユーザの認証情報からグループ鍵を得るまでの手順の具体例を示す図である。
【００４４】
ユーザ情報テーブル１１１には、システムが管理する全ユーザについて、各ユーザのユーザ識別子と、それに対応する認証子および暗号化個人鍵が格納されている（図２の１１１）。暗号化個人鍵は、ユーザの認証情報を一方向性ハッシュ関数でハッシュした値を鍵（認証鍵）としてユーザ固有の個人鍵を暗号化したものであり、また、認証子は、個人鍵の暗号化に使用した鍵をさらに一方向性ハッシュ関数でハッシュした値である。ユーザの認証情報は、例えば、パスワード、ＩＣカード情報、指紋情報など、本人であることが確認できるものであれば何であってもよい。
【００４５】
グループ情報テーブル１１２には、システムが管理する全グループについて、各グループのグループ識別子と、それに対応するユーザリスト、しきい値、ユーザ組み合わせ情報、および暗号化グループ鍵が格納されている（図２の１１２）。ユーザリストはグループに所属する全ユーザのユーザ識別子を含む。しきい値は、ファイルを暗号化／復号する場合に合意を必要とする人数である。ユーザ組み合わせ情報は、グループの全ユーザｎ人からしきい値ｋ人を選ぶ組み合わせをユーザ識別子で示したものであり、従って、ひとつのグループで合計nＣk組が存在する。なお、しきい値ｋ人の組み合わせとして、nＣk組よりも少ない任意の組み合わせを設定してもよい。暗号化グループ鍵は、ユーザ組み合わせ情報に示されるユーザｋ人の個人鍵を合成して得られる組み合わせ鍵でグループ固有のグループ鍵を暗号化したものである。グループ鍵は、同じグループのユーザ間で共有しているファイルを暗号化／復号するための鍵として使用する。なお、組み合わせ鍵の生成については、例えば、しきい値ｋ人のユーザの個人鍵を連結し、これを一方向性ハッシュ関数でハッシュした値を組み合わせ鍵とする合成方法が考えられる。以下の説明ではこの方法を使うものとする。
【００４６】
ファイルを暗号化または復号したいユーザｋ人はまず、各ユーザのクライアント装置２００，２１０，２２０，・・・で、それぞれシステム内の特定のグループへのログオン要求操作を行う。ログオン要求には、ユーザ識別子、認証情報、およびグループ識別子が含まれ、クライアント制御手段２０１，２１１，２２１，・・・によって入力され、サーバ装置１００のサーバ制御手段１０１に送信され、認証鍵生成手段１０２に渡される。
【００４７】
次に、認証鍵生成手段１０２は、サーバ制御手段１０１から受け取った認証情報を一方向性ハッシュ関数でハッシュし、その値を認証鍵とする（図２の１０２）。
【００４８】
さらに、認証手段１０３は、認証鍵生成手段１０２で生成された認証鍵を一方向性ハッシュ関数でハッシュし、その値を認証子としてユーザ情報テーブル１１１に格納された当該ユーザの認証子と比較する（図２の１０３）。これにより正しい認証情報が入力されたか否かの判別が可能となり、正しい認証情報が入力された場合には、認証子が一致するのでログオンを許可して以後の動作に進む。認証子が一致しなければ、ログオン要求したクライアント装置にログオン拒否を通知して以後の動作を中止する。なお、ユーザ情報テーブル１１１およびグループ情報テーブル１１２の情報により、ログオン要求で指定されたユーザ識別子が存在しない場合や、指定されたグループ識別子が存在しない場合、または指定ユーザが指定グループのユーザでない場合にもログオンを拒否して以後の動作を中止する。
【００４９】
次に、個人鍵復号手段１０４は、認証鍵生成手段１０２で生成した認証鍵でユーザ情報テーブル１１１に格納された当該ユーザの暗号化個人鍵を復号し（図２の１０４）、ログオン要求したクライアント装置にログオン許可を通知する。なお、正しい認証情報からは正しい認証鍵が生成されるので、個人鍵もまた正しく復号される。
【００５０】
ユーザはログオンした後、各ユーザのクライアント装置２００，２１０，２２０，・・・で、ファイル暗号化／復号要求操作を行う。ファイル暗号化／復号要求には、暗号化または復号のどちらを行いたいかを示す暗号化／復号種別と対象ファイル名が含まれ、クライアント制御手段２０１によって入力され、サーバ装置１００のサーバ制御手段１０１に送信され、組み合わせ鍵生成手段１０５に渡される。
【００５１】
ここで、ファイル暗号化／復号要求はｋ人のユーザの合意を必要とするが、ユーザ１人の要求と、他のｋ−１人のユーザの許可という方法で行うことができる。具体的には、まず、ファイルを暗号化または復号したいユーザのうちの誰か１人が要求者となり、暗号化／復号種別と対象ファイル名に加えて、許可をもらいたいユーザｋ−１人分のユーザ識別子をクライアント装置から入力してサーバ装置に送る。
【００５２】
ここで、サーバ装置は図示しない確認手段を有し、次に、サーバ装置はこの確認手段により、指定されたｋ−１人分のユーザ識別子を参照し、各ユーザが要求者と同じグループにログオンしているかどうかを確認する。各ユーザが要求者と同じグループにログオンしていなければ、要求者のクライアント装置にファイル暗号化／復号拒否を通知して、以後の動作を中止する。次に、サーバ装置は指定されたｋ−１人がログオンしている各クライアント装置に対して、暗号化／復号種別と対象ファイル名、要求者のユーザ識別子を送る。許可者となる各ユーザはサーバ装置から受け取った要求内容を各クライアント装置で確認のうえ、許可するかどうかの応答を入力してサーバ装置に送信する。サーバ装置はｋ−１人の許可が得られれば以後の動作に進み、許可が得られなければ要求者のクライアント装置にファイル暗号化／復号拒否を通知して、以後の動作を中止する。なお、各ユーザの許可は、各ユーザ自身の認証情報の入力を伴うようにすることもできる。
【００５３】
組み合わせ鍵生成手段１０５は、個人鍵生成手段１０４で得られた個人鍵のうちファイル暗号化／復号要求を行ったｋ人のユーザの個人鍵を連結し、これを一方向性ハッシュ関数でハッシュし、その値を組み合わせ鍵とする（図２の１０５）。
【００５４】
グループ鍵復号手段１０６は、ファイル暗号化／復号要求を行ったｋ人のユーザ識別子とログオンしているグループ識別子に従って、グループ情報テーブル１１２からこれらｋ人の組み合わせに対応する暗号化グループ鍵を取り出し、組み合わせ鍵生成手段１０５で生成された組み合わせ鍵で復号する（図２の１０６）。
【００５５】
最後に、ファイル暗号化／復号手段１０７は、グループ鍵復号手段１０６で復号したグループ鍵を用いて、ファイルサーバ３００の磁気ディスク３１０内のファイル３１１，３１２，３１３，・・・の中から暗号化／復号要求で指定されたファイル名に対応するファイルを選択し、そのファイルを暗号化／復号種別に従って暗号化または復号する。なお、ファイル暗号化／復号の方法としては、暗号化時に、ファイル内容はセッション鍵（乱数）で暗号化し、暗号ファイルのヘッダ部にグループ鍵で暗号化したセッション鍵を記録する方法を用いても良い。
【００５６】
次に、本実施の形態の効果について説明する。
【００５７】
本実施の形態では、各ユーザ固有の秘密情報、すなわち暗号化されて外部記憶装置に格納されている個人鍵を、ユーザの認証情報の入力によってのみ復号して取り出すことができ、グループの秘密情報、すなわち暗号化されて外部記憶装置に格納されているグループ鍵を、所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができる。ファイルはグループ鍵で暗号化し、グループ鍵はユーザｎ人中ｋ人の個人鍵を合成した組み合わせ鍵で暗号化し、個人鍵は各ユーザの認証鍵で暗号化して、それぞれ、磁気ディスクに保存されている。認証鍵は認証情報のハッシュ値であり、認証情報はユーザ本人からしか得られない外部情報である。また、個人識別を行うための認証子を磁気ディスクに保存しているが、この認証子は認証鍵のハッシュ値であり、一方向性ハッシュ関数を使用しているため、認証子から認証鍵を得ることもできない。従って、不正行為によってシステムに存在する磁気ディスクの記録内容がすべて直接読み取られた場合でも、不正者は自身の個人鍵以外の情報を得ることができないため、内部不正者がｋ人以上集まって共謀しない限り、暗号化されたファイルの機密を保護することが可能である。
【００５８】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００５９】
図３は、本発明の第２の実施の形態の構成を示すブロック図である。本実施の形態では、図１で示した第１の実施の形態におけるサーバ装置１００のグループ鍵復号手段１０６と、サーバ装置１００の磁気ディスク１１０に記録されているグループ情報テーブル１１２とを別のものに置き換えている。
【００６０】
図４は、ユーザ情報テーブル１１１とグループ情報テーブル１１２の詳細および複数のユーザの認証情報からグループ鍵を得るまでの手順の具体例を示す図である。
【００６１】
本実施の形態でのグループ鍵復号手段１０６は、ユーザｎ人中ｍ人をゲストとして定義し、ユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、磁気ディスク１１０内のグループ情報テーブル１１２に格納されているグループ鍵を、ゲスト以外のユーザ１人以上を含む任意のユーザｋ人の組み合わせ鍵で復号するように動作する。
【００６２】
グループ情報テーブル１１２には、システムが管理する全グループについて、各グループに対応するゲストリストが追加されて格納されている（図４の１１２）。ゲストリストはグループに所属する全ユーザのうちゲストとして定義したユーザのユーザ識別子を含む。ユーザ組み合わせ情報は、グループの全ユーザｎ人からしきい値ｋ人を選ぶ組み合わせのうち、ゲストｍ人からｋ人を選ぶ組み合わせを除いた組み合わせをユーザ識別子で示したものであり、従って、ひとつのグループで合計nＣk−mＣk組が存在する。暗号化グループ鍵もユーザ組み合わせ情報に対応する分だけが格納される。
【００６３】
本実施の形態では、組み合わせ鍵生成手段１０５でファイル暗号化／復号要求を行ったｋ人のユーザの個人鍵を合成して組み合わせ鍵を生成するまでは、第１の実施の形態と同様に動作する（図３の１０２〜１０５）。
【００６４】
その後、グループ鍵復号手段１０６は、グループ情報テーブル１１２のゲストリストを参照し、ファイル暗号化／復号要求を行ったｋ人のユーザのすべてが、ログオンしているグループにおいてゲストだった場合は、要求者のクライアント装置にファイル暗号化／復号拒否を通知して、以後の動作を中止する。ｋ人の中にゲストでないユーザが１人以上含まれている場合には、ファイル暗号化／復号要求を行ったｋ人のユーザ識別子とログオンしているグループ識別子に従って、グループ情報テーブル１１２からこれらｋ人の組み合わせに対応する暗号化グループ鍵を取り出し、組み合わせ鍵生成手段１０５で生成された組み合わせ鍵で復号する。
【００６５】
最後に、ファイル暗号化／復号手段１０７は、グループ鍵復号手段１０６で復号したグループ鍵を用いて、ファイルサーバ３００の磁気ディスク３１０内のファイル３１１，３１２，３１３，・・・の中から暗号化／復号要求で指定されたファイル名に対応するファイルを選択し、そのファイルを暗号化／復号種別に従って暗号化または復号する。（図３の１０７）。
【００６６】
本実施の形態では、暗号化されて外部記憶装置に格納されているグループ鍵を、ゲストとして定義したユーザの個人鍵を所定数以上集めても復号することはできず、ゲスト以外のユーザ１人以上を含む所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができる。ファイルを暗号化するグループ鍵が、ユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、磁気ディスクに格納されているため、内部不正者がｋ人以上集まって共謀しても、ゲスト以外のユーザが内部不正者に含まれていない限り、暗号化されたファイルの機密を保護することができる。
【００６７】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００６８】
図５は、本発明の第３の実施の形態の構成を示すブロック図である。本実施の形態では、図３で示した第２の実施の形態にサーバ装置１００のシステム構成制御手段１０８を追加し、サーバ装置１００の磁気ディスク１１０に記録されているユーザ情報テーブル１１１およびグループ情報テーブル１１２を別のものに置き換えている。
【００６９】
本実施の形態では、グループ鍵を各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用するシステム管理グループが設けられ、追加されたシステム構成制御手段１０８は、ユーザやグループの追加・削除、グループのユーザ構成変更といったシステム構成情報の変更制御を行うように動作する。
【００７０】
図６は、ユーザ情報テーブル１１１とグループ情報テーブル１１２の詳細およびシステム管理グループの複数のユーザの認証情報からシステム管理グループのグループ鍵を得るまでの手順の具体例を示す図である。
【００７１】
ユーザ情報テーブル１１１には、システムが管理する全ユーザについて、各ユーザに対応する管理用暗号化個人鍵が追加されて格納されている（図６の１１１）。管理用暗号化個人鍵は、システム管理グループのグループ鍵でユーザ固有の個人鍵を暗号化したものである。
【００７２】
グループ情報テーブル１１２には、システムが管理する全グループについて、各グループに対応する管理用暗号化グループ鍵が追加されて格納されている（図６の１１２）。管理用暗号化グループ鍵は、システム管理グループのグループ鍵でグループ固有のグループ鍵を暗号化したものである。なお、グループ情報テーブルには、他のグループと同様、システム管理グループの情報も格納されるが、システム管理グループの管理用暗号化グループ鍵は保管されていなくてもよい。
【００７３】
本実施の形態では、システム管理グループ以外のグループが行うファイル暗号化／復号の動作は、第２の実施の形態と同様に動作する（図５の１０２〜１０７）。
【００７４】
本実施の形態では、システム管理グループが行うシステム構成制御の動作が追加されるが、システム管理グループの複数のユーザの認証情報からシステム管理グループのグループ鍵を得るまでの手順は、第２の実施の形態とほぼ同様に動作する（図６の１０２〜１０５）。第２の実施形態との差異は、システム管理グループのユーザからの要求がファイル暗号化／復号要求ではなく、システム構成制御要求であるという点である。
【００７５】
システム構成制御要求には、構成制御の種別と種別に対応した付加情報が含まれる。構成制御の種別は、例えば、ユーザ追加、ユーザ削除、グループ追加、グループ削除、グループ内ユーザ構成の変更などである。付加情報は、例えば、ユーザ追加の場合には追加するユーザのユーザ識別子や認証情報などである。
【００７６】
システム構成制御手段１０８は、グループ鍵復号手段１０６で復号したグループ鍵を用いて、システム構成制御要求で指定された操作、すなわち、ユーザ情報テーブル１１１やグループ情報テーブル１１２に関する各種の操作を行う。以下に、システム構成制御手段１０８が行う構成制御の代表的な例をいくつか示す。
（１）ユーザ追加
ユーザ情報テーブルに新しいユーザの情報を追加登録する。ここで、追加するユーザの個人鍵は乱数生成する。
【００７７】
ユーザ識別子は、ユーザ追加要求で指定されたユーザ識別子を登録する。管理用暗号化個人鍵は、システム管理グループのグループ鍵で個人鍵を暗号化して登録する。認証子および暗号化個人鍵は、ユーザ追加要求で指定された認証情報から作成して登録する。具体的には、認証情報を一方向性ハッシュ関数でハッシュした値を鍵（認証鍵）として個人鍵を暗号化して暗号化個人鍵とし、個人鍵の暗号化に使用した鍵をさらに一方向性ハッシュ関数でハッシュした値を認証子とする。
（２）ユーザ削除
ユーザ情報テーブルから指定されたユーザの情報を削除する。また、グループ情報テーブルから指定ユーザの情報をすべて削除する。具体的には、全グループのユーザリストから指定ユーザのユーザ識別子を削除し、組み合わせ情報および暗号化グループ鍵についても、指定ユーザが含まれるものをすべて削除する。なお、システム管理グループについては、しきい値ｋ人よりも少なくなったり、ゲスト以外のユーザが存在しなくなると、以後はシステム構成制御ができなくなるため、この条件に該当する要求の場合は要求を拒否する。
（３）グループ追加
グループ情報テーブルに新しいグループの情報を追加登録する。ここで、追加するグループのグループ鍵は乱数生成する。
【００７８】
グループ識別子およびしきい値は、グループ追加要求で指定されたグループ識別子およびしきい値を登録する。管理用暗号化グループ鍵は、システム管理グループのグループ鍵でグループ鍵を暗号化して登録する。ユーザリスト、ゲストリスト、ユーザ組み合わせ情報、暗号化グループ鍵は空とする。
（４）グループ削除
グループ情報テーブルから指定されたグループの情報を削除する。なお、システム管理グループについては、これを削除すると、以後はシステム構成制御ができなくなるため、当該要求の場合は要求を拒否する。
（５）グループのユーザ構成変更
グループ情報テーブル内の指定グループに関する情報を変更し、指定グループに所属するユーザの割り当てを制御する。グループのユーザ構成変更要求には、変更したいグループのグループ識別子と新たにグループを構成する全ユーザのユーザ識別子（ユーザリスト）、ユーザのうちゲストにするユーザのユーザ識別子（ゲストリスト）が含まれる。ここで、グループ情報テーブルを変更する前に、指定グループのグループ鍵はグループ情報テーブルの管理用暗号化グループ鍵から、指定ユーザのユーザ鍵はユーザ情報テーブルの管理用暗号化個人鍵から、それぞれ管理者グループのグループ鍵で一時的に復号して取り出しておく。なお、システム管理グループ自身に対するユーザ構成変更の場合は、グループ鍵は管理用暗号化グループ鍵から取り出さなくても、グループ鍵復号手段１０６ですでに復号されている。
【００７９】
ユーザリストおよびゲストリストは、グループのユーザ構成変更要求で指定されたユーザリストおよびゲストリストに更新する。ユーザ組み合わせ情報は、指定のユーザリストに含まれるユーザｎ人からしきい値ｋ人を選ぶ組み合わせのうち、指定のゲストリストに含まれるゲストｍ人からｋ人を選ぶ組み合わせを除いたnＣk−mＣk個の組み合わせ情報に更新する。暗号化グループ鍵は、新たなユーザ組み合わせ情報に対応する暗号化グループ鍵に更新する。新たな暗号化グループ鍵は、組み合わせ情報に対応するｋ人の個人鍵を合成して組み合わせ鍵を生成し、この鍵でグループ鍵を暗号化することによって作成することができる。
【００８０】
なお、システム管理グループについては、しきい値ｋ人よりも少なくなったり、ゲスト以外のユーザが存在しなくなると、以後はシステム構成制御ができなくなるため、この条件に該当する要求の場合は要求を拒否する。
【００８１】
以上のように、グループのユーザ構成変更については、個人鍵やグループ鍵を一切変更することなく、グループのユーザ構成を自由に変更することができる。また、要求にしきい値を含めるようにすれば、しきい値も容易に変更できる。
【００８２】
本実施の形態では、グループ鍵を、ゲストとして定義したユーザの個人鍵を所定数以上集めても復号することはできず、ゲスト以外のユーザ１人以上を含む所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができるしくみを、システム管理グループにも適用している。従って、システム管理グループに所属するユーザがｋ人以下で共謀したり、例えｋ人以上集まって共謀しても、ゲスト以外のユーザが内部不正者に含まれていない限り、暗号化された個人鍵やグループ鍵の機密を保護することができる。
【００８３】
また、本実施の形態では、ユーザやグループの追加・削除、グループのユーザ構成変更といったシステム構成情報の変更制御を、システム管理グループによって柔軟に行うことができる。
【００８４】
なお、本実施の形態では、システムの運用開始時に、最低限、ゲストでないユーザ１人以上を含むユーザｋ人で構成されるシステム管理グループの情報がユーザ情報テーブルおよびグループ情報テーブルに登録されていればよい。
【００８５】
本実施の形態は、第２の実施形態の応用であるが、ゲストに関する動作を除けば、第１の実施形態の応用とすることもできる。
【００８６】
図７は、本発明の第４の実施の形態の構成を示すブロック図である。図７を参照すると、本発明の第４の実施の形態は、サーバ装置１００と、複数のクライアント装置２００，２１０，２２０，・・・と、ファイルサーバ３００と、これらの装置を接続する通信路４００とから構成され、ファイル暗号化用プログラムを記録した記録媒体１２０を備える。この記録媒体５００は磁気ディスク、半導体メモリ、その他の記録媒体であってよい。
【００８７】
記録媒体５００に記録されたファイル暗号化用プログラムは、サーバ装置１００に読み込まれ、サーバ装置１００の動作を制御することにより、図１、図３、図５に示した認証鍵生成手段１０２、認証手段１０３、個人鍵復号手段１０４、組み合わせ鍵生成手段１０５、グループ鍵復号手段１０６、ファイル暗号化／復号手段１０７、システム構成制御手段１０８の各処理を実行し、第１〜第３の実施形態の機能をそれぞれ実現する。
【００８８】
本発明によれば、個人鍵を備える効果として、同一グループに属する他のユーザの協力なしに、個人の権限のみで自身のパスワード変更が可能である。即ち、個人のパスワードを変更する場合、現在のパスワードをもとに個人鍵が復号できるので、この復号した個人鍵を新しいパスワードで再暗号化できるためである。また、個人鍵は不変なので、パスワードの変更に基づく組み合わせ鍵の変更を不要にすることができるからである。
【００８９】
また、システム管理グループへ個人鍵およびグループ鍵を供託することにより、システム管理グループの所定数のメンバだけでグループ構成の変更が可能であることに基づいて、システム運用の柔軟性に関して以下の効果を有する。
【００９０】
（１）システム管理グループへの個人鍵供託の効果として、ユーザは所属グループの変更に一切立ち会わないでよい。ユーザ追加とグループ追加は分離しており、グループの変更または新規グループ作成時は、登録済みの既存ユーザをグループに割り当てるだけでよいからである。
【００９１】
（２）グループに所属する多数のメンバがパスワードを紛失し、暗号化したファイルが復号できなくなった場合でも、システム管理グループへのグループ鍵供託の効果として、以前に暗号化したファイルが復号できるようになる。また、管理グループの構成情報変更の操作によりグループを再構築することができ、以前に暗号化したファイルが復号できるようになる。
【００９２】
（３）一般のグループメンバは、ファイル暗号化・復号やパスワード変更操作だけを知っていればよく、管理グループのメンバは構成情報変更の操作だけを知っていればよいため、ユーザの利便性を向上することができる。
【００９３】
【発明の効果】
以上説明したように、本発明による第１の効果は、各ユーザ固有の秘密情報、すなわち暗号化されて外部記憶装置に格納されている個人鍵を、ユーザの認証情報の入力によってのみ復号して取り出すことができ、グループの秘密情報、すなわち暗号化されて外部記憶装置に格納されているグループ鍵を、所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができることにある。これにより、個人鍵の機密を保持することができ、内部不正者がｋ人以上集まって共謀しない限り、暗号化されたファイルの機密を保護することができる。
【００９４】
その理由は、ファイルはグループ鍵で暗号化し、グループ鍵はユーザｎ人中ｋ人の個人鍵を合成した組み合わせ鍵で暗号化し、個人鍵は各ユーザの認証鍵で暗号化して、それぞれ、外部記憶装置に保存されているためである。また、認証鍵は認証情報のハッシュ値であり、認証情報はユーザ本人からしか得られない外部情報である。さらに、個人識別を行うための認証子を外部記憶装置に保存しているが、この認証子は認証鍵のハッシュ値であり、一方向性ハッシュ関数を使用しているため、認証子から認証鍵を得ることもできないからである。
【００９５】
第２の効果は、暗号化されて外部記憶装置に格納されているグループ鍵を、ゲストとして定義したユーザの個人鍵を所定数以上集めても復号することはできず、ゲスト以外のユーザ１人以上を含む所定数のユーザの個人鍵を集めてはじめて得られる組み合わせ鍵で復号して取り出すことができることにある。これにより、内部不正者がｋ人以上集まって共謀しても、ゲスト以外のユーザが内部不正者に含まれていない限り、暗号化されたファイルの機密を保護することができる。
【００９６】
その理由は、ファイルを暗号化するグループ鍵が、ユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、外部記憶装置に格納されているためである。
【００９７】
第３の効果は、グループ鍵を各ユーザの個人鍵および各グループのグループ鍵の暗号化／復号に使用するシステム管理グループによって、ユーザやグループの追加・削除、グループのユーザ構成変更といったシステム構成情報の変更制御を行うことができることにある。これにより、グループのユーザ変更やユーザ数の増減にも柔軟に対応することができる。また、システム管理グループに所属するユーザがｋ人以下で共謀したり、例えｋ人以上集まって共謀しても、ゲスト以外のユーザが内部不正者に含まれていない限り、暗号化された個人鍵やグループ鍵の機密を保護することができる。
【００９８】
その理由は、個人鍵やグループ鍵を暗号化しているシステム管理グループのグループ鍵も、他のグループ鍵と同様にシステム管理グループに所属するユーザｎ人中ｋ人の組み合わせからゲストｍ人中ｋ人の組み合わせを除いたnＣk−mＣk個の組み合わせ鍵のそれぞれで暗号化され、外部記憶装置に格納されているためであり、また、秘密分散方式のように秘密鍵（グループ鍵）を部分鍵に分散して各ユーザに配布するのとは異なり、グループ鍵を各ユーザの個人鍵を集めて暗号化／復号するようにしているためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態におけるユーザ情報テーブルとグループ情報テーブルの詳細および複数のユーザの認証情報からグループ鍵を得るまでの手順の具体例を示す図である。
【図３】本発明の第２の実施の形態の構成を示すブロック図である。
【図４】本発明の第２の実施の形態におけるユーザ情報テーブルとグループ情報テーブルの詳細および複数のユーザの認証情報からグループ鍵を得るまでの手順の具体例を示す図である。
【図５】本発明の第３の実施の形態の構成を示すブロック図である。
【図６】本発明の第３の実施の形態におけるユーザ情報テーブルとグループ情報テーブルの詳細およびシステム管理グループの複数のユーザの認証情報からシステム管理グループのグループ鍵を得るまでの手順の具体例を示す図である。
【図７】本発明の第４の実施の形態の構成を示すブロック図である。
【符号の説明】
１００  サーバ装置
１０１  サーバ制御手段
１０２  認証鍵生成手段
１０３  認証手段
１０４  個人鍵復号手段
１０５  組み合わせ鍵生成手段
１０６  グループ鍵復号手段
１０７  ファイル暗号化／復号手段
１０８  システム構成制御手段
１１０  サーバ装置の磁気ディスク
１１１  ユーザ情報テーブル
１１２  グループ情報テーブル
２００，２１０，２２０，・・・  クライアント装置
２０１，２１１，２２１，・・・  クライアント制御手段
３００  ファイルサーバ
３１０  ファイルサーバの磁気ディスク
３１１，３１２，３１３，・・・  ファイル
４００  通信路
５００  記録媒体
【図１】
0003662828.tif 000002
【図２】
0003662828.tif 000003
【図３】
0003662828.tif 000004
【図４】
0003662828.tif 000005
【図５】
0003662828.tif 000006
【図６】
0003662828.tif 000007
【図７】
0003662828.tif 000008