JP3978046B2 - ファイルアクセス制御方法、プログラム及び記憶媒体 - Google Patents

ファイルアクセス制御方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP3978046B2
JP3978046B2 JP2002048363A JP2002048363A JP3978046B2 JP 3978046 B2 JP3978046 B2 JP 3978046B2 JP 2002048363 A JP2002048363 A JP 2002048363A JP 2002048363 A JP2002048363 A JP 2002048363A JP 3978046 B2 JP3978046 B2 JP 3978046B2
Authority
JP
Japan
Prior art keywords
file set
write
pub
key data
public key
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.)
Expired - Fee Related
Application number
JP2002048363A
Other languages
English (en)
Other versions
JP2003248627A (ja
Inventor
智成 藤田
成哲 小河原
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002048363A priority Critical patent/JP3978046B2/ja
Publication of JP2003248627A publication Critical patent/JP2003248627A/ja
Application granted granted Critical
Publication of JP3978046B2 publication Critical patent/JP3978046B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、分散コンピュータシステムの暗号化ファイルシステムに用いられるファイルアクセス制御方法、プログラム及び記憶媒体に係り、特に、簡素な構成により、ファイルの読出権と書込権とを個別に制御でき、利便性を向上し得るファイルアクセス制御方法、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
一つ又は複数のコンピュータから構成可能なコンピュータシステムの分野では、複数のコンピュータが通信機構を介して接続されてなる分散コンピュータシステムが広く知られている。
【0003】
この種の分散コンピュータシステムでは、接続された各コンピュータのうち、サービスを要求してサービスの提供を受ける側の一つ又は複数のコンピュータがクライアント(以下、クライアント装置という)と呼ばれている。
【0004】
一方、クライアント装置にサービスを提供する側のコンピュータが、サーバ(以下、サーバ装置という)と呼ばれている。具体的にはサーバ装置は、サービスの要求を受けると、共有の処理資源や記憶媒体等に対する共有アクセスをクライアント装置に提供する機能を有し、サーバ管理者により保守・管理が行われている。但し、サーバ管理者は、サーバ装置に物理的にアクセス可能なため、一般に、他のユーザにより保存されたファイルをサーバ装置から不正に読出可能であり、また、読み出したファイルの内容を不正に変更可能でもある。
【0005】
しかしながら、サーバ管理者といえども不正な読出/変更処理が可能であることは、極秘ファイルを保存する上で好ましくない。
【0006】
そこで、不正な読出処理を阻止し、ファイルの機密性を保護する観点から、保存対象のファイルを予め共通鍵暗号により暗号化して保存する暗号化ファイルシステムが広く用いられている。この暗号化ファイルシステムは、前述した機密性の保護に加え、ファイル内容の不正な変更処理を阻止し、ファイルの完全性(又は原本性)を保護する観点から、公開鍵暗号方式によるデジタル署名が用いられている。
【0007】
さて、このような暗号化ファイルシステムでは、機密性保護のための共通鍵暗号方式の共通鍵と、完全性保護のための公開鍵暗号方式の鍵ペア、という二種類の鍵をクライアント装置側のユーザが管理する必要がある。また、係る鍵管理の負担とは別に、サーバ装置側では、保存ファイル毎に適切なユーザのみを読出/書込可能とするためにユーザ情報に基づく複雑なファイルアクセス制御を実現する必要がある。
【0008】
一方、サーバ側のファイルアクセス制御を簡素化する観点から、サーバ装置がユーザの正当性を判断せずに、読出要求した全てのユーザに暗号化ファイルを提供する方法がリード(D. Reed)らにより提案されている(D. Reed and L. Svobodova; Swallow: A distributed data storage system for a local network, Local Networks for Computer Communications, pp.355-373, 1981)。
【0009】
この方法は、暗号化ファイルの提供を受けたユーザのうち、正当な共通鍵を保持するユーザのみが暗号化ファイルを復号できることを利用し、結果的に、ファイルの読出権を制御するものである。この方法によれば、読出要求した全てのユーザに暗号化ファイルを提供するので、読出処理に関するファイルアクセス制御の方式が大幅に簡素化される。
【0010】
【発明が解決しようとする課題】
しかしながら、以上のようなリードらの方法では、共通鍵暗号方式をファイルアクセス制御に転用することから、読出可能なユーザが即、書込可能なユーザとなる。このため、ファイルの読出権と書込権とを個別に制御できず、ファイルアクセス制御の機能が制限され、利便性を低下させてしまう。
【0011】
また、リードらの方法では、サーバ装置側でファイルアクセス制御の構成が簡素化できたとしても、クライアント装置側では、依然として、共通鍵と鍵ペアとの二種類の鍵を管理する負担がある。
【0012】
これらに加え、リードらの方法では、共通鍵を第三者に渡すと、その第三者も暗号化ファイルを復号可能となるため、暗号化ファイルを共有する複数のユーザからなる共有グループの構成をその共有グループ内のユーザ全員が増員できることになる。すなわち、共有グループに参加する権利と、共有グループの構成を増員させる権利とを個別に制御できないので、第三者が共有グループに参加してしまい、ファイルの機密性及び完全性の保護が不十分になる可能性がある。なお、この可能性は、参加した第三者が更に他の第三者に共通鍵を渡すことにより、大幅に増大してしまう。
【0013】
本発明は上記実情を考慮してなされたもので、簡素な構成により、ファイルの読出権と書込権とを個別に制御でき、利便性を向上し得るファイルアクセス制御方法、プログラム及び記憶媒体を提供することを目的とする。
【0014】
また、本発明の他の目的は、ユーザの鍵管理の負担を低減し得るファイルアクセス制御方法、プログラム及び記憶媒体を提供することにある。
【0015】
さらに、本発明の他の目的は、第三者の共有グループへの参加を防ぎ、ファイルの機密性及び完全性を十分に保護し得るファイルアクセス制御方法、プログラム及び記憶媒体を提供することにある。
【0016】
【課題を解決するための手段】
上記目的を達成するために、請求項1〜2,6〜7,11〜12に対応する第1の発明は、共通鍵暗号方式による暗号化ファイルセット、公開鍵暗号方式による当該ファイルセットのデジタル署名、及び書込用認証データFwriteが保存されるサーバ装置に対し、クライアント装置が、共通鍵暗号方式の共通鍵データFcryptを保持せず、公開鍵暗号方式の公開鍵データFpub又は鍵ペア(Fpub,Fpri)のみを管理する簡素な構成により、クライアント・サーバ間のファイルアクセスを制御するものである。
【0017】
ここで、公開鍵データFpubは、ファイルアクセス権限のうちの読出権に対応しており、ファイルセット固有に生成された値であって、通常の(ユーザ固有の)公開鍵とは異なり、第三者に非公開である。また、秘密鍵データFpriは、この公開鍵データFpubと鍵ペアの関係にある値であり、ファイルアクセス権限のうちの書込権に対応する。
【0018】
これにより、例えば読出処理の際には、クライアント装置は、サーバ装置から受ける暗号化ファイルセット及びデジタル署名に対し、公開鍵データFpubから一方向性関数fにより共通鍵データFcryptを導出し、この共通鍵データFcryptを用いて暗号化ファイルセットを復号化し、公開鍵データFpubによりデジタル署名を検証する。
【0019】
また、書込処理の際には、クライアント装置は、秘密鍵データFpriから一方向性関数fにより書込用認証データFwriteを導出し、この書込用認証データFwriteをサーバ装置に送信して書込権の認証を受けることにより、書込対象の暗号化ファイルセット及びデジタル署名をサーバ装置に送信して当該暗号化ファイルセット及びデジタル署名を保存させる。
【0020】
従って、クライアント装置が公開鍵データ又は鍵ペアデータのみを管理する簡素な構成により、ファイル(セット)の読出権と書込権とを個別に制御でき、利便性を向上させることができる。また、共通鍵暗号方式の共通鍵を保持しないことから、ユーザの鍵管理の負担を低減させることができる。
【0021】
一方、請求項3〜5,8〜10,13〜15に対応する第2の発明は、第1の発明を前提とし、第1の発明の読出権(ファイルセット別の公開鍵データFpub)に加え、クライアント装置固有の読出権を付加することにより、読出処理の際に、サーバ装置がクライアント装置を個別に認証するものである。
【0022】
ここで、クライアント装置固有の読出権は、クライアント装置固有のトークンf(Fwrite,Upub)及びクライアント装置固有の秘密鍵データUpriに対応する。なお、トークンf(Fwrite,Upub)は、クライアント装置固有の公開鍵データUpubと前述した書込用認証データFwriteとの組から一方向性関数fにより得られる値であり、予め読出権及び書込権をもつクライアント装置から読出権のみを持たせるクライアント装置に配布される。また、クライアント装置固有の秘密鍵データUpriは、トークン内の公開鍵データUpubに対して鍵ペアの関係にある値である。
【0023】
これにより、読出処理の際には、サーバ装置は、クライアント装置から送信されたトークンに対し、クライアント装置の公開鍵データUpubと予め保存された書込用認証データFwriteとから導出されるトークンとを比較して両者が一致するか否かによりトークンの正当性を確認し、次いで、クライアント装置の公開鍵データUpubにより乱数Rを暗号化し、得られた値Upub(R)を当該クライアント装置が正しく復号化できるか否かにより、クライアント装置の正当性(秘密鍵データUpriを持つこと)を確認する。
【0024】
従って、これらの確認により、読出処理の際に、クライアント装置を個別に認証できるので、第1の発明の作用に加え、第三者の共有グループへの参加を防ぎ、ファイル(セット)の機密性及び完全性を十分に保護することができる。
【0025】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照しながら説明する。なお、第1の実施形態が前述した第1の発明に対応し、第2の実施形態が前述した第2の発明に対応している。
【0026】
(第1の実施形態)
図1は本発明の第1の実施形態に係るファイルアクセス制御方法が適用された暗号化ファイルシステムの概略構成を示す模式図である。
【0027】
この暗号化ファイルシステムは、図示するように、ファイルサーバ装置10と、第1クライアント装置20、第2クライアント装置20及び他の各クライアント装置(図示せず)とが互いにネットワーク40を介して接続されている。
【0028】
ここで、ファイルサーバ装置10は、図2に示すように、ファイル記憶部11、ファイル管理部12及び通信I/F部13を備えている。
【0029】
ファイル記憶部11は、ファイル管理部12により読出/書込可能なメモリ部であり、暗号化ファイルセット毎に、ファイルセット名IDfs、書込用認証データFwrite、暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)が互いに関連付けられて記憶されるものである。
【0030】
ファイルセットfsは、一つ又は複数のファイルから構成されるファイル群を意味しており、“ファイルセット”の用語に代えて、“ディレクトリ”又は“フォルダ”の用語を用いてもよい。ファイルセット名IDfsはこのファイル群を特定するための特定情報を意味している。
【0031】
書込用認証データFwriteは、新規登録後の暗号化ファイルセットFcrypt(fs)の書込の際に、ユーザ認証に用いられるデータであり、後述する書込権付き秘密鍵データFpriに一方向性関数fを適用して得られる値f(Fpri)=Fwriteである。なお、データの修飾語である「書込用認証」は、説明の便宜上のものであり、「書込用」に代えて「書込時」又は「書込権」を用いたり、「認証」に代えて「照合」又は「確認」というように、適宜、言い換えても構わない。
【0032】
暗号化ファイルセットFcrypt(fs)は、ファイルセットfsが読出用共通鍵データFcryptに基づいて共通鍵暗号方式により暗号化されたものである。なお、読出用共通鍵データFcryptは、後述する読出権付き公開鍵データFpubに一方向性関数fを適用して得られる値f(Fpub)=Fcryptであり、ファイルセットfsの暗号化及び復号化の両方に用いられる。また同様に、共通鍵データの修飾語である「読出用」は、説明の便宜上のものであり、「読出用」を省略したり、あるいは「読出用」に代えて「暗復号用」又は「ファイル用」というように、適宜、言い換えても構わない。
【0033】
署名Fpri(fs)は、ファイルセットfsのデジタル署名であり、ファイルセットfsが書込権付き秘密鍵データFpriに基づいて公開鍵暗号方式により暗号化されたものである。
【0034】
ファイル管理部12は、クライアント装置20(i=1,2,…)からの要求に基づいて、以下のように、ファイル記憶部11に対する暗号化ファイルセット毎の新規登録機能12a、読出機能12b及び書込機能12cを実現するためのものである。
【0035】
(12a)第1クライアント装置20による書込処理が新規のファイルセットfsに基づくとき、第1クライアント装置20により秘密鍵データFpriに一方向性関数fを適用して導出され且つ転送された書込用認証データFwriteをファイル記憶部11に保存する機能。
【0036】
(12b)第1又は第2クライアント装置20,20から読出要求された暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)をファイル記憶部11から読み出して読出要求元の第1又は第2クライアント装置20,20に転送する機能。
【0037】
(12c)第1クライアント装置20による書込処理が更新後のファイルセットfs’に基づくとき、ファイル記憶部11に保存された書込用認証データFwriteと、第1クライアント装置20から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルに基づく暗号化ファイルセットFcrypt(fs’)及びデジタル署名Fpri(fs’)をファイル記憶部11に保存する機能。
【0038】
通信I/F部13は、ファイルサーバ装置10内部とネットワーク40との間のインターフェイスである。
【0039】
一方、各クライアント装置20,20,…は、図3に示すように、互いに同一のハードウェア構成をもつため、ここでは第1クライアント装置20を代表例に挙げて説明する。但し、ハードウェア構成は同一であるが、ファイルセットの読出権と書込権との保持状況は、各クライアント装置20,20,…により異なる。
【0040】
例えば第1クライアント装置20は、ファイルセットfsの読出権と書込権とを有するユーザU1により操作されるため、読出権付き公開鍵データFpub及び書込権付き秘密鍵データFpriが鍵管理部24に保持されている。
【0041】
一方、第2クライアント装置20は、ファイルセットfsの読出権のみを有するユーザU2により操作されるため、読出権付き公開鍵データFpubが鍵管理部24に保持されている。なお、読出権のみ、又は読出権及び書込権を配布する際の第1クライアント装置20から第2クライアント装置20等への鍵データの配送は、第三者への漏洩が阻止される方法であれば、任意の方法が使用可能となっている。
【0042】
さて、第1クライアント装置20は、入力部21、RAM22、ファイル作成部23、鍵管理部24、公開鍵暗号部25、一方向性関数部26、共通鍵暗号部27、制御部28、出力部29及び通信I/F部30が互いにバス31を介して接続されており、言うまでも無いが、各部21〜31以外にも通常のコンピュータ機能を有している。
【0043】
また、各部23〜29は、アプリケーションソフトウェアと共通のCPUの一機能とによって構成可能であり、予め各部23〜29の機能を実現するためのプログラムが記憶媒体又はネットワーク等から予めインストールされて実現される。但し、各部23〜29のうち、演算に関する機能部25〜27は、適宜、高速演算用のコプロセッサ等をソフトウェアで制御する方式としても良い。
【0044】
入力部21は、ユーザU1の入力操作により、図示しない入力デバイスからの入力内容を制御部28に入力するものである。ここで、入力デバイスとしては、例えばキーボード又はマウス等が使用可能となっている。
【0045】
RAM22は、各部23,25〜28により読出/書込可能なメモリ部であり、特に、計算途中の値や算出結果などを一時的に保持するのに用いられる。
【0046】
ファイル作成部23は、ユーザU1の入力操作により、RAM22にファイルを一時的に保持させつつ、ファイルの作成、編集及び印刷等の処理を行なうためのワード・プロセッサ部である。
【0047】
鍵管理部24は、制御部28により読出/書込可能な不揮発性のメモリ部であり、図4に示すように、ファイルセット名IDfs毎に、一つ又は複数のファイルf1〜fnに対応するファイル名n,…n、読出権付き公開鍵データFpub及び書込権付き秘密鍵データFpriが記憶可能となっている。なお、前述同様に、公開鍵データや秘密鍵データの修飾語である「読出権付き」や「書込権付き」は、説明の便宜上のものであり、適宜、省略又は他の用語に言い換えても構わない。
【0048】
ここで、鍵管理部24は、書込権及び読出権をもつ場合、図4に示したように、読出権付き公開鍵データFpub及び書込権付き秘密鍵データFpriの両者が記憶されるが、読出権のみをもつ場合、図5(a)又は(b)に示すように、両者のうち、書込権付き秘密鍵データFpriが記憶されない。
【0049】
公開鍵暗号部25は、制御部28により制御されて所定の公開鍵暗号方式を用い、以下のような各機能25a〜25cを実現するためのものである。
(25a)ファイルセット名fs毎に、読出権付き公開鍵データFpub及び書込権付き秘密鍵データFpriからなる鍵ペアを作成し、得られた鍵ペアを鍵管理部24に記憶させるために制御部28に送出する鍵ペア生成機能。
【0050】
(25b)制御部28からファイルセット名IDfsの指定を伴う署名生成要求を受けると、RAM22内の該当するファイルセットfsを鍵管理部24内の書込権付き秘密鍵データFpriに基づいて暗号化してデジタル署名Fpri(fs)を生成し、当該デジタル署名Fpri(fs)をRAM22に書込む署名生成機能。なお、デジタル署名Fpri(fs)の生成時に、ファイルセットfsのハッシュ値を生成する場合、一方向性関数部26の一方向性関数fがハッシュ関数であれば、一方向性関数部26を用いればよい。
【0051】
(25c)制御部28から署名検証要求、署名Fpri(fs)及び読出権付き公開鍵データFpubを受けると、署名Fpri(fs)を読出権付き公開鍵データFpubにより検証し、検証結果を制御部28に送出する署名検証機能。
【0052】
なお、公開鍵暗号方式は、暗号化ファイルシステム内の全装置10,20,20,…が使用可能な方式であれば、RSA(Rivest Shamir Adleman)署名やDSA(Digital Signature Algorithm)署名といった任意の方式を適用可能である。
【0053】
一方向性関数部26は、制御部28から受けた対象データFに所定の一方向性関数fを適用して(関数)値f(F)を導出し、この値f(F)をRAM22に書込む機能をもっている。
【0054】
ここで、対象データFは、書込権付き秘密鍵データFpri又は読出権付き公開鍵データFpubである。導出される値f(F)は、書込用認証データFwrite(=f(Fpri))又は読出用共通鍵データFcrypt(=f(Fpub))である。
【0055】
また、所定の一方向性関数fは、暗号化ファイルシステム内の全てのクライアント装置20,20,…間で共通の一方向性関数fを意味している。また、一方向性関数f自体としては、当該関数fの適用後の値f(F)から適用前の値Fを再現することが困難である一方向性と、当該関数fの適用後の値f(F),f(G)を同一値(f(F)=f(G))とするような互いに異なる適用前の値F,Gを生成することが困難である衝突困難性という二つの性質を持つ関数であれば、ハッシュ関数(例、MD5(Message Digest Algorithm 5)、SHA−1(Secure Hash Algorithm 1))等の任意の関数が使用可能となっている。
【0056】
共通鍵暗号部27は、制御部28により制御されて所定の共通鍵暗号方式を用い、以下のような各機能27a〜27bを実現するためのものである。
(27a)制御部28から暗号化要求、ファイルセットfs及び読出用共通鍵データFcryptを受けると、ファイルセットfsを読出用共通鍵データFcryptにより暗号化し、得られた暗号化ファイルセットFcrypt(fs)をRAM22に書込む暗号化機能。
【0057】
(27b)制御部28から復号化要求、暗号化ファイルセットFcrypt(fs)及び読出用共通鍵データFcryptを受けると、暗号化ファイルセットFcrypt(fs)を読出用共通鍵データFcryptにより復号化し、得られたファイルセットfs(=Fcrypt(Fcrypt(fs)))をRAM22に書込む復号化機能。
【0058】
なお、共通鍵暗号方式は、前述同様にシステム内の全装置10,20,20,…が使用可能な方式であれば、DES(Data Encryption Standard)やFEAL(Fast Data Encipherment Algorithm)といった任意の方式を適用可能である。
【0059】
制御部28は、ファイルサーバ装置10に対して、図6乃至図8の各々左側に示す如き、ファイルセットの新規登録処理、読出処理及び書込処理を実現させるためのものである。
【0060】
具体的には、制御部28は、各部24〜30を制御する機能により、次の読出機能28a及び書込機能28bを実現している。
(28a)読出処理の際に、読出要求をファイルサーバ装置10に送信する機能と、ファイルサーバ装置10から暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)を受信する機能と、鍵管理部24内の公開鍵データFpubを一方向性関数部26に入力して共通鍵データFcryptを導出させる機能と、この導出させた共通鍵データFcryptを共通鍵暗号部27に入力して暗号化ファイルセットFcrypt(fs)を復号化させる機能と、この復号化により得られたファイルセットfsと公開鍵データFpubとに基づいて、公開鍵暗号部25にデジタル署名Fpri(fs)を検証させる機能。
【0061】
(28b)新規登録処理又は書込処理の際に、鍵管理部24内の秘密鍵データFpriを一方向性関数部26に入力して書込用認証データFwriteを導出させる機能と、鍵管理部24内の公開鍵データFpubを一方向性関数部26に入力させて共通鍵データFcryptを導出させる機能と、導出させた書込用認証データFwriteをファイルサーバ装置10に転送する機能と、鍵管理部24内の秘密鍵データFpriを公開鍵暗号部25に入力して、書込対象のファイルセットfsに対してデジタル署名Fpri(fs)を生成させる機能と、導出させた共通鍵データFcryptを共通鍵暗号部27に入力して、書込対象のファイルセットfsを暗号化して暗号化ファイルセットFcrypt(fs)を得る機能と、これら暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)をファイルサーバ装置10に転送する機能。
【0062】
出力部29は、通常の画面表示や印字出力のための機能であり、例えば各部21,23,25〜30から受けるデータを表示装置(図示せず)に画面表示させるための表示処理機能と、ユーザU1の操作に基づいて画面表示の内容などをプリンタ(図示せず)に印字出力するための印字出力機能とを併せて図示したものである。
【0063】
通信I/F部30は、第1クライアント装置20内部とネットワーク40との間のインターフェイスである。
【0064】
次に、以上のように構成された暗号化ファイルシステムの動作を図6乃至図8のフローチャートを用いて、ファイルセットの新規登録処理、読出処理及び書込処理の順に説明する。
(新規登録処理:図6)
ここでは、ファイルセットfsに対する書込権を有するユーザU1(例、ファイルの所有者)が新規のファイルセットfsを作成してファイルサーバ装置10に保存する場合について述べる。
【0065】
第1クライアント装置20は、ユーザU1の操作により、ファイル作成部23がファイルセットfsを作成し、このファイルセットfsをファイルセット名IDfsと共に、RAM22に書込む。ここで、ファイルセットfsは、各ファイル名n〜nを個別に有する各ファイルf1〜fnからなるファイル群であり、ファイルサーバ装置10への保存対象であるとする。
【0066】
このとき、第1クライアント装置20は、制御部28の制御により、公開鍵暗号部25が当該ファイルセットfsに対して鍵ペア(読出権付き公開鍵データFpub,書込権付き秘密鍵データFpri)を生成し(ST1)、図4に示したように、これら読出権付き公開鍵データFpub、書込権付き秘密鍵データFpri、ファイルセット名IDfs及び各ファイル名n〜nを互いに関連付けて鍵管理部24に書込む。
【0067】
次に、第1クライアント装置20は、制御部28の制御により、一方向性関数部26が当該書込権付き秘密鍵データFpri及び読出権付き公開鍵データFpubに対し、それぞれ一方向性関数fを適用して書込用認証データFwrite(=f(Fpri))及び読出用共通鍵データFcrypt(=f(Fpub))を導出し(ST2〜ST3)、RAM22に一時的に保存する。但し、ステップST3のFcryptの導出は、ステップST1とST7との間であれば、適宜、他のタイミングで行なっても良い。
【0068】
しかる後、第1クライアント装置20は、制御部28の制御により、ファイルセット名fs、各ファイル名n〜n及び書込用認証データFwriteをファイルサーバ装置10に転送する(ST4)。なお、Fwriteの転送も、ステップST2とST9との間であれば、適宜、他のタイミングで行なって良く、この場合、Fwriteの導出も転送前であれば適宜なタイミングで行なっても良い。
【0069】
一方、ファイルサーバ装置10では、ファイル管理部12がファイルセット名fs、各ファイル名n〜n及び書込用認証データFwriteを互いに関連付けてファイル記憶部11に保存する(ST5)。
【0070】
また一方、第1クライアント装置20は、制御部28の制御により、公開鍵暗号部25が書込権付き秘密鍵データFpriに基づき、ファイルセットfsに対してデジタル署名Fpri(fs)を生成し(ST6)、このデジタル署名Fpri(fs)をRAM22に書込む。
【0071】
続いて、第1クライアント装置20は、制御部28の制御により、共通鍵暗号部27が、ステップST3で導出した読出用共通鍵データFcryptを用い、共通鍵暗号方式によりファイルセットfsを暗号化し(ST7)、得られた暗号化ファイルセットFcrypt(fs)をRAM22に書込む。
【0072】
しかる後、第1クライアント装置20は、制御部28の制御により、RAM22内の暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)をファイルセット名IDfsと共に、ファイルサーバ装置10に転送する(ST8)。
【0073】
ファイルサーバ装置10では、図2に示したように、ファイル管理部12が、このファイルセット名IDfsに基づき、ステップST5で保存したファイルセット名IDfsに関連付けて、暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)をファイル記憶部11に保存する(ST9)。
これにより、ファイルサーバ装置10上へのファイルセットfsの新規登録処理が完了する。
【0074】
(読出処理:図7)
始めに、読出権の配布について述べ、しかる後、読出処理を説明する。
第1クライアント装置20は、ファイルセットfsの読出権をユーザU2に配布する場合、ユーザU1の操作により、鍵管理部24内の読出権付き公開鍵データFpubをファイルセット名IDfs及び各ファイル名n〜nと共に、ユーザU2の第2クライアント装置20に配布する。
【0075】
第2クライアント装置20は、図5に示したように、これら読出権付き公開鍵データFpub、ファイルセット名IDfs及び各ファイル名n〜nを互いに関連付けて鍵管理部24に保存する。
【0076】
これにより、読出権の配布が完了し、第2クライアント装置20は、ファイルセット名IDfsに対応する暗号化ファイルセットFcrypt(fs)をファイルサーバ装置10から読出可能となる。なお、第1クライアント装置20の方も、暗号化ファイルセットFcrypt(fs)を読出可能なことは言うまでもない。
【0077】
さて次に、第2クライアント装置20を例に挙げて読出処理を説明する。
第2クライアント装置20は、ユーザU2の操作により、制御部28がファイルセット名IDfsを含む読出要求をファイルサーバ装置10に送信する(ST11)。
【0078】
ファイルサーバ装置10は、読出要求を受けると、特に認証を行なわずに、ファイル管理部12が読出要求のファイルセット名IDfsに対応する暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)をファイル記憶部11から検索し、得られた暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)を要求元の第2クライアント装置20に転送する(ST12)。
【0079】
第2クライアント装置20は、暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)を受けると、制御部28の制御により、一方向性関数部26が、読出要求したファイルセット名IDfsに対応する読出権付き公開鍵データFpubに一方向性関数fを適用して読出用共通鍵データFcryptを導出し、この読出用共通鍵データFcryptをRAM22に一時的に書込む。
【0080】
次に、第2クライアント装置20は、制御部28の制御により、共通鍵暗号部27が、この読出用共通鍵データFcryptを用い、共通鍵暗号方式により暗号化ファイルセットFcrypt(fs)を復号化し(ST13)、得られたファイルセットfsをRAM22に一時的に書込む。
【0081】
しかる後、第2クライアント装置20は、制御部28の制御により、公開鍵暗号部25が読出権付き公開鍵データFpubに基づいて署名Fpri(fs)を検証し、署名の正当性を確認する(ST14)。
【0082】
(書込処理:図8)
次に、第1クライアント装置20を例に挙げて書込処理を説明する。
始めに、第1クライアント装置20は、前述した図7の手順と同様に、ファイルセットfsの読出処理を実行したとする。また、第1クライアント装置20は、ユーザU1の操作により、ファイル作成部23がファイルセットfsの内容を更新し、更新後のファイルセットfs’をファイルセット名IDfsと共に、RAM22に書込む。
【0083】
次に、第1クライアント装置20は、制御部28の制御により、公開鍵暗号部25が、鍵管理部22内の対応する書込権付き秘密鍵データFpriを用いてファイルセットfs’に対してデジタル署名Fpri(fs’)を生成し、このデジタル署名Fpri(fs’)をRAM22に書込む。
【0084】
次に、第1クライアント装置20は、制御部28の制御により、前述同様に読出権付き公開鍵データFpubに一方向性関数fを適用して読出用共通鍵データFcryptを導出し、この読出用共通鍵データFcryptを用いて共通鍵暗号方式によりファイルセットfs’を暗号化し、得られた暗号化ファイルセットFcrypt(fs’)をRAM22に書込む。
【0085】
しかる後、第1クライアント装置20は、制御部28の制御により、RAM22内の暗号化ファイルセットFcrypt(fs’)及び署名Fpri(fs’)をファイルセット名IDfsと共に、ファイルサーバ装置10に転送する(ST21)。
【0086】
ファイルサーバ装置10では、ファイル管理部12が、このファイルセット名IDfsに基づき、ファイル記憶部11から書込用認証データFwriteを読み出す(ST22)。
【0087】
続いて、第1クライアント装置20は、制御部28の制御により、前述同様に書込権付き秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出し、この書込用認証データFwriteをファイルサーバ装置10に転送する(ST23)。なお、Fwriteの転送は、ステップST21と同時又はそれ以前に行なっても良い。
【0088】
ファイルサーバ装置10は、ステップST22で読み出した書込用認証データFwriteとステップST23で受けた書込用認証データFwriteとが一致するか否かを判定し(ST24)、一致しなければアクセスを拒否して処理を終了するが(ST25)、ここでは一致するとして、ステップST21で受けたファイルセット名IDfsに関連付けて、暗号化ファイルセットFcrypt(fs’)及び署名Fpri(fs’)をファイル記憶部11に保存する(ST26)。
【0089】
上述したように本実施形態によれば、例えば新規登録時には、第1クライアント装置20は、秘密鍵データFpriから一方向性関数fにより書込用認証データFwriteを導出し、この書込用認証データFwriteと、書込対象の暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)とを互いに関連付けてファイルサーバ装置10に保存させることにより、ファイルの読出処理と書込処理とが個別に実行可能となる。
【0090】
例えば読出処理の際には、第2クライアント装置20は、ファイルサーバ装置10から受ける暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)に対し、公開鍵データFpubから一方向性関数fにより共通鍵データFcryptを導出し、この共通鍵データFcryptを用いて暗号化ファイルセットFcrypt(fs)を復号化し、公開鍵データFpubによりデジタル署名Fpri(fs)を検証する。
【0091】
また、書込処理の際には、第1クライアント装置20は、秘密鍵データFpriから一方向性関数fにより書込用認証データFwriteを導出し、この書込用認証データFwriteをファイルサーバ装置10に送信して書込権の認証を受けることにより、書込対象の暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)をファイルサーバ装置10に送信して当該暗号化ファイル及びデジタル署名を保存させる。
【0092】
従って、クライアント装置20が公開鍵データ又は鍵ペアデータのみを管理する簡素な構成により、ファイルの読出権と書込権とを個別に制御でき、利便性を向上させることができる。また、共通鍵暗号方式の共通鍵を保持しないことから、ユーザの鍵管理の負担を低減させることができる。
【0093】
換言すると、ファイルの完全性を保護するための公開鍵暗号方式の鍵ペア(Fpub,Fpri)を、機密性を保護するための共通鍵暗号方式の共通鍵データとしても用いることでユーザの管理する鍵データ数を減らし、加えて、その鍵ペアを用いたファイルヘの読出権、書込権の個別の制御を実現することで、適切なユーザのみを読出/書込可能とする従来のアクセス制御の機能を維持したまま、サーバ装置で従来必要とされる複雑なファイルアクセス制御機能を大幅に簡素化することができる。
【0094】
また、書込権付き秘密鍵データFpriから書込用認証データFwriteの導出には一方向性関数fを用いるため、ファイルサーバ装置10は、保持する書込用認証データFwriteから逆に書込権付き秘密鍵データFpriを導出できない。よって、ファイルサーバ装置10の管理者であってもファイルセットfsに対するデジタル署名を生成できないので、ファイルセットを不正に書換えできず、ファイルセットの完全性が保護される。
【0095】
また、ファイルサーバ装置10は、暗号化ファイルセットFcrypt(fs)を保持するが、読出権付き公開鍵データFpubを持たない。よって、ファイルサーバ装置10の管理者であっても暗号化ファイルセットを復号化できないので、ファイルセットを不正に読み出しできず、ファイルセットの機密性が保護される。
【0096】
(第2の実施形態)
図9は本発明の第2の実施形態に係るファイルアクセス制御方法が適用された暗号化ファイルシステムの概略構成を示す模式図であり、図10及び図11はそれぞれ同システム内のファイルサーバ装置又は各クライアント装置の構成を示す模式図であって、図1乃至図3と同一部分には同一符号を付すと共に、変更部分にはxの添字を付して、前述した部分と重複した説明を省略し、ここでは異なる部分について主に述べる。
【0097】
すなわち、本実施形態は、第1の実施形態の変形例であり、読出権として、前述した読出権(読出権付き公開鍵データFpub)に加え、クライアント装置20x(j=1,2,…)固有の読出権を付加することにより、読出処理の際に、ファイルサーバ装置10xが各クライアント装置20xを個別に認証可能とするものである。
【0098】
ここで、各クライアント装置20x固有の読出権は、各クライアント装置20x固有のトークンf(Fwrite,Ujpub)及び各クライアント装置20x固有の秘密鍵データUjpriに対応する。
【0099】
トークンf(Fwrite,Ujpub)は、各クライアント装置20x固有の公開鍵データUjpubと前述した書込用認証データFwriteとの組から一方向性関数fにより得られる値であり、予め読出権及び書込権をもつ第1クライアント装置20xから、読出権のみを持たせる例えば第2クライアント装置20xに配布される。
【0100】
各クライアント装置20x固有の秘密鍵データUjpriは、トークンf(Fwrite,Ujpub)内の公開鍵データUjpubに対して鍵ペアの関係にある値である。
【0101】
なお、ファイルセットfsに関する鍵ペア(Fpub,Fpri)の公開鍵暗号方式と、ユーザ固有の鍵ペア(Ujpub,Ujpri)の公開鍵暗号方式とは、構成の簡素化の観点からは互いに同一の公開鍵暗号方式、又は互いに同一の鍵生成アルゴリズムを用いる公開鍵暗号方式(例、RSA署名とRSA暗号)の方が好ましいが、これに限らず、互いに異なる公開鍵暗号方式としてもよい。また、ファイルセットfsに関する公開鍵データFpubは第三者に非公開であるが、ユーザ固有の公開鍵データUjpubは第三者に公開されていてもよい。
【0102】
以上に伴い、ファイルサーバ装置10xのファイル管理部12xは、前述した新規登録機能12a及び書込機能12cを有する一方、前述した読出機能12bに代えて、次の読出機能12bx〜12bxを有するものとなっている。
【0103】
(12bx)クライアント装置20xから暗号化ファイルセットFcrypt(fs)の読出要求を受信したとき、この読出要求された暗号化ファイルセットに対応する書込用認証データFwriteをファイル記憶部11から読出す機能。
(12bx)読出要求元のクライアント装置20xのユーザ公開鍵データUjpubを受信する機能。
【0104】
(12bx)読出要求された暗号化ファイルセットFcrypt(fs)に対応するトークンf(Fwrite,Ujpub)を受信したとき、ファイル記憶部11から読み出した書込用認証データFwriteと受信した公開鍵データUjpubとの組合せ値{Fwrite,Ujpub}に一方向性関数fを適用して導出したトークンf(Fwrite,Ujpub)と、受信したトークンf(Fwrite,Ujpub)とを比較し、両者が一致するか否かを判定する機能。
【0105】
(12bx)この判定結果が両者の一致を示すとき、生成した乱数Rを公開鍵データUjpubを用いて公開鍵暗号方式により暗号化し、得られたチャレンジ値Ujpub(R)を読出要求元のクライアント装置20xに転送する機能。
【0106】
(12bx)このチャレンジ値Upub(R)の転送後、読出要求元のクライアント装置20xから、チャレンジ値Upub(R)が秘密鍵データUjpriにより復号化されて得られる乱数Rに一方向性関数fを適用して得られた値f(R)を受信する機能。
【0107】
(12bx)この受信した値f(R)が正当か否かを判定し、この判定結果が正当を示すとき、読出要求された暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)を読出要求元のクライアント装置20xに転送する機能。
【0108】
一方、各クライアント装置20xの鍵管理部24xは、制御部28xにより読出/書込可能な不揮発性のメモリ部であり、書込権及び読出権をもつ場合、図4と同様に、ファイルセット名IDfs毎に、一つ又は複数のファイルf1〜fnに対応するファイル名n,…n、読出権付き公開鍵データFpub及び書込権付き秘密鍵データFpriが記憶可能となっている。
【0109】
また、鍵管理部24xは、読出権のみをもつ場合、図12に示すように、書込権付き秘密鍵データFpriに代えて、読出権付きトークンf(Fwrite,U2pub)が記憶され、また、ユーザ固有の鍵ペア(例、U2pub,U2pri)が記憶される。
【0110】
各クライアント装置20xの制御部28xは、前述した制御部28と同一の新規登録処理及び書込処理の各機能28bを有し、さらに、図13の左側及び次に示す如き、読出処理の機能28ax1〜9を備えている。但し、各機能28ax1〜9のうち、28ax1,6〜9は、前述した読出機能28aと同様である。
【0111】
(28ax)暗号化ファイルセットFcrypt(fs)の読出要求をファイルサーバ装置10xに転送する機能。
【0112】
(28ax)鍵管理部24x内の自己の公開鍵データUjpubをファイルサーバ装置10xに転送する機能。
(28ax)読出権のみを有する場合、読出要求した暗号化ファイルセットFcrypt(fs)に対応するトークンf(Fwrite,Ujpub)を鍵管理部24xからファイルサーバ装置10xに転送する機能。なお、書込権及び読出権を有する場合は、読出要求した暗号化ファイルセットFcrypt(fs)に対応するトークンを導出し、この導出したトークンをファイルサーバ装置10xに転送する機能。
【0113】
(28ax)ファイルサーバ装置10xから公開鍵データUjpubにより乱数Rが暗号化されたチャレンジ値Ujpub(R)を受けると、このチャレンジ値Ujpub(R)と鍵管理部24x内の自己の秘密鍵データUjpriとを公開鍵暗号部25に入力し、チャレンジ値Ujpub(R)を復号化して乱数Rを得る機能。
(28ax)この得られた乱数Rを一方向性関数部26に入力して得られた値f(R)をファイルサーバ装置10xに転送する機能。
【0114】
(28ax)ファイルサーバ装置10xから転送された暗号化ファイルセットFcrypt(fs)及びデジタル署名Fpri(fs)を受信する機能。
(28ax)鍵管理部24x内の読出権付き読出権付き公開鍵データFpubを一方向性関数部26に入力して読出用共通鍵データFcryptを導出する機能。
(28ax)この読出用共通鍵データFcryptを共通鍵暗号部27に入力し、受信した暗号化ファイルセットFcrypt(fs)を復号化してファイルセットfsを得る機能。
(28ax)このファイルセットfsと読出権付き公開鍵データFpubとに基づいて、受信したデジタル署名Fpri(fs)を検証する機能。
【0115】
なお、以上の読出機能28ax1〜9において、第1クライアント装置20xでは、鍵管理の負担を低減する観点から、自己の鍵ペア(U1pub,U1pri)に代えて、ファイル別の鍵ペア(Fpub,Fpri)を用い、且つトークンをf(Fwrite,Fpub)とすることが好ましいが、これに限らず、書込権を持たないユーザU2と同様に、自己の鍵ペア(U1pub,U1pri)を用い、且つトークンをf(Fwrite,U1pub)としてもよい。
【0116】
次に、以上のように構成された暗号化ファイルシステムの動作を説明するが、新規登録処理及び書込処理は前述した処理と同一のため、ここでは読出処理についてのみ図13を用いて述べる。
【0117】
(読出処理:図13)
始めに、読出権の配布について述べ、しかる後、読出処理を説明する。
第1クライアント装置20xは、ファイルセットfsの読出権をユーザU2に配布する場合、ユーザU2の第2クライアント装置20xにユーザ公開鍵データU2pubを要求し、ユーザ公開鍵データU2pubを受信する。
【0118】
また、一方向性関数部26により、前述同様に、ファイルセットfsに対応する書込用認証データFwriteを導出する。なお、ユーザ公開鍵データU2pubの要求と、書込用認証データFwriteの導出とはいずれを先にしてもよい。
【0119】
続いて、第1クライアント装置20xは、これら書込用認証データFwriteと、ユーザ公開鍵データU2pubとの組合せ値{Fwrite,U2pub}に一方向性関数fを適用して読出権付きトークンf(Fwrite,U2pub)を導出し、得られた読出権付きトークンf(Fwrite,U2pub)をファイルセット名IDfs及び各ファイル名n〜nと共に、ユーザU2の第2クライアント装置20xに配布する。
【0120】
第2クライアント装置20xは、図12に示したように、これら読出権付きトークンf(Fwrite,U2pub)、ファイルセット名IDfs及び各ファイル名n〜nを互いに関連付けて鍵管理部24xに保存する。
【0121】
これにより、読出権の配布が完了し、第2クライアント装置20xは、ファイルセット名IDfsに対応する暗号化ファイルセットFcrypt(fs)をファイルサーバ装置10xから読出可能となる。
【0122】
なお、第1クライアント装置20xの方も、トークンの生成により、暗号化ファイルセットFcrypt(fs)を読出可能なことは言うまでもない。
【0123】
さて次に、第2クライアント装置20xを例に挙げて読出処理を説明する。
第2クライアント装置20xは、ユーザU2の操作により、制御部28xがファイルセット名IDfsを指定した読出要求をファイルサーバ装置10xに転送する(ST31)。
【0124】
ファイルサーバ装置10xは、読出要求を受けると、ファイル管理部12xが読出要求のファイルセット名IDfsに基づいて、書込用認証データFwriteをファイル記憶部11から読出す(ST32)。
【0125】
続いて、第2クライアント装置20xは、ユーザU2のユーザ公開鍵データU2pubをファイルサーバ装置10xに転送する(ST33)。
【0126】
ファイルサーバ装置10xはこのユーザ公開鍵データU2pubを受信する(ST34)。
さらに、第2クライアント装置20xは、読出権配布時に受けた読出権付きトークンf(Fwrite,U2pub)をファイルサーバ装置10xに転送する(ST35)。
【0127】
ファイルサーバ装置10xは、読出権付きトークンf(Fwrite,U2pub)を受信すると、ステップST32の書込用認証データFwriteと、ステップST34のユーザ公開鍵データU2pubとの組合せ値{Fwrite,U2pub}に一方向性関数fを適用してトークンf(Fwrite,U2pub)を導出する。
【0128】
次いで、この導出したトークンf(Fwrite,U2pub)と、ステップST35で転送された読出権付きトークンf(Fwrite,U2pub)とが一致するか否かを判定する(ST36)。
【0129】
ステップST36の結果が一致しなければアクセスを拒否して処理を終了するが(ST37)、ここでは一致するとして、乱数Rを生成する(ST38)。
【0130】
また、ファイルサーバ装置10xは、この乱数RをステップST34のユーザ公開鍵データU2pubを用いて公開鍵暗号方式により暗号化し、得られたチャレンジ値U2pub(R)を第2クライアント装置20xに転送する(ST39)。
【0131】
第2クライアント装置20xは、このチャレンジ値U2pub(R)をユーザ秘密鍵データU2priにより復号化して乱数Rを得ると(ST40)、この乱数Rに一方向性関数fを適用して得た値f(R)をファイルサーバ装置10xに転送する(ST41)。
【0132】
ファイルサーバ装置10xは、別途、ステップST38の乱数Rに一方向性関数fを適用した値f(R)と、ステップST41で受けた値f(R)とが一致するか否かを判定する(ST42)。なお、ステップST42の結果が一致することは、読出権付きトークンf(Fwrite,U2pub)内のユーザ公開鍵データU2pubに対して鍵ペアであるユーザ秘密鍵データU2priが第2クライアント装置20xに保持されることを意味しており、ユーザU2個別の正当性が確認されたことになる。
【0133】
さて、ステップST42の結果が一致しなければアクセスを拒否して処理を終了するが(ST43)、ここでは一致するとして、ステップST31で読出要求されたファイルセット名IDfsに対応する暗号化ファイルセットFcrypt(fs)及び署名Fpri(fs)を第2クライアント装置20xに転送する(ST44)。
【0134】
以下、第2クライアント装置20xは、前述したステップST13,ST14と同様に、読出用共通鍵データFcryptを用いて暗号化ファイルセットFcrypt(fs)を復号化し(ST45)、得られたファイルセットfsと、読出権付き公開鍵データFpubとに基づいて、デジタル署名Fpri(fs)の正当性を確認する(ST46)。
【0135】
上述したように本実施形態によれば、読出処理の際に、ファイルサーバ装置10xは、第2クライアント装置20xから送信されたトークンf(Fwrite,U2pub)に対し、第2クライアント装置20xの公開鍵データU2pubと予め保存された書込用認証データFwriteとから導出されるトークンf(Fwrite,U2pub)とを比較して両者が一致するか否かによりトークンの正当性を確認し、次いで、第2クライアント装置20xの公開鍵データU2pubにより乱数Rを暗号化し、得られた値Upub(R)を当該第2クライアント装置20xが正しく復号化できるか否かにより、第2クライアント装置20xの正当性(秘密鍵データU2priを持つこと)を確認する。
【0136】
従って、これらの確認により、読出処理の際に、各クライアント装置20xを個別に認証できるので、第1の実施形態の効果に加え、第三者の共有グループへの参加を防ぎ、ファイルの機密性及び完全性を十分に保護することができる。また、ユーザ固有の読出権を設定できるので、より一層、利便性を向上させることができる。
【0137】
補足すると、トークンf(Fwrite,Upub)には各ユーザ毎に異なるユーザ公開鍵データUpubが含まれているため、トークンf(Fwrite,Upub)はそのユーザ専用となり、他のユーザはそのトークンf(Fwrite,Upub)を利用することは不可能である。このため、暗号化ファイルセットfsを共有するユーザからなる共有グループに参加する権利と、共有グループの構成を増員する権利との二種類の権利を個別に制御することができ、利便性を向上させることができる。
【0138】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0139】
また、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合、組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0140】
【発明の効果】
以上説明したように本発明によれば、簡素な構成により、ファイルの読出権と書込権とを個別に制御でき、利便性を向上できる。また、ユーザの鍵管理の負担を低減できる。さらに、第三者の共有グループへの参加を防ぎ、ファイルの機密性及び完全性を十分に保護できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る暗号化ファイルシステムの概略構成を示す模式図。
【図2】同実施形態におけるファイルサーバ装置の構成を示す模式図。
【図3】同実施形態におけるクライアント装置の構成を示す模式図。
【図4】同実施形態における鍵管理部の構成を示す模式図。
【図5】同実施形態における鍵管理部の構成を示す模式図。
【図6】同実施形態における新規登録処理の動作を説明するためのフローチャート。
【図7】同実施形態における読出処理の動作を説明するためのフローチャート。
【図8】同実施形態における書込処理の動作を説明するためのフローチャート。
【図9】本発明の第2の実施形態に係る暗号化ファイルシステムの概略構成を示す模式図。
【図10】同実施形態におけるファイルサーバ装置の構成を示す模式図。
【図11】同実施形態におけるクライアント装置の構成を示す模式図。
【図12】同実施形態における鍵管理部の構成を示す模式図。
【図13】同実施形態における読出処理の動作を説明するためのフローチャート。
【符号の説明】
10,10x…ファイルサーバ装置
11…ファイル記憶部
12…ファイル管理部
13,30…通信I/F部
20,20,20x,20x…クライアント装置
21…入力部
22…RAM
23…ファイル作成部
24,24x…鍵管理部
25…公開鍵暗号部
26…一方向性関数部
27…共通鍵暗号部
28,28x…制御部
29…出力部
31…バス
40…ネットワーク

Claims (15)

  1. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1及び第2クライアント装置に用いられるファイルアクセス制御方法であって、
    前記第1及び第2クライアント装置の読出処理は、
    前記サーバ装置から前記暗号化ファイルセット及びデジタル署名を受信する工程と、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する工程と、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る工程と、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する工程とを含んでおり、
    前記第1クライアント装置の書込処理は、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する工程と、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する工程と、
    前記導出した書込用認証データFwriteを前記サーバ装置に転送する工程と、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する工程と、
    前記導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る工程と、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する工程と、
    を含んでいることを特徴とするファイルアクセス制御方法。
  2. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるファイルアクセス制御方法であって、
    前記サーバ装置側では、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置により前記秘密鍵データFpriに一方向性関数fを適用して導出され且つ転送された書込用認証データFwriteを保存する工程を含み、
    前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する工程を含んでいることを特徴とするファイルアクセス制御方法。
  3. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第2クライアント装置に用いられるファイルアクセス制御方法であって、
    前記第2クライアント装置の読出処理は、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する工程と、
    前記自己の公開鍵データUpubを前記サーバ装置に転送する工程と、
    前記読出要求した暗号化ファイルセットに対応するトークンf(Fwrite,Upub)をサーバ装置に転送する工程と、
    前記サーバ装置から前記公開鍵データUpubにより乱数Rが暗号化されたチャレンジ値Upub(R)を受けると、このチャレンジ値Upub(R)を前記自己の秘密鍵データUpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る工程と、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する工程と、
    この転送した値f(R)が正当であるとき、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する工程と、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する工程と、
    この共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る工程と、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する工程と、
    を含んでいることを特徴とするファイルアクセス制御方法。
  4. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1クライアント装置に用いられるファイルアクセス制御方法であって、
    前記第1クライアント装置の読出処理は、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する工程と、
    前記ファイルセットに関する公開鍵データFpubを前記サーバ装置に転送する工程と、
    前記ファイルセットに関する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する工程と、
    この導出した書込用認証データFwriteと前記公開鍵データFpubとの組合せ値{Fwrite,Fpub}に一方向性関数fを適用してトークンf(Fwrite,Fpub)を導出する工程と、
    この導出したトークンf(Fwrite,Fpub)をサーバ装置に転送する工程と、
    このトークンf(Fwrite,Fpub)の転送後、前記サーバ装置から前記公開鍵データFpubにより乱数Rが暗号化されたチャレンジ値Fpub(R)を受けると、
    このチャレンジ値Fpub(R)を前記秘密鍵データFpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る工程と、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する工程と、
    この値f(R)の転送の後、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する工程と、
    前記公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する工程と、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る工程と、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する工程と、を含んでおり、
    前記第1クライアント装置の書込処理は、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する工程と、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する工程と、
    この導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る工程と、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する工程と、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する工程と、
    この導出した書込用認証データFwriteを前記サーバ装置に転送する工程と、
    を含んでいることを特徴とするファイルアクセス制御方法。
  5. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるファイルアクセス制御方法であって、
    前記サーバ装置側では、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置から転送された書込用認証データFwriteを保存する工程を含み、
    前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する工程を含んでおり、
    前記各クライアント装置による読出処理の際に、前記暗号化ファイルセットの読出要求を受信したとき、この読出要求された暗号化ファイルセットに対応する書込用認証データFwriteを読み出す工程と、
    前記読出要求元のクライアント装置の公開鍵データUpubを受信する工程と、
    前記読出要求された暗号化ファイルセットに対応するトークンf(Fwrite,Upub)を受信したとき、前記読み出した書込用認証データFwriteと前記受信した公開鍵データUpubとの組合せ値{Fwrite,Upub}に一方向性関数fを適用して導出したトークンf(Fwrite,Upub)と、前記受信したトークンf(Fwrite,Upub)とを比較し、両者が一致するか否かを判定する工程と、
    この判定結果が両者の一致を示すとき、生成した乱数Rを前記公開鍵データUpubを用いて公開鍵暗号方式により暗号化し、得られたチャレンジ値Upub(R)を読出要求元のクライアント装置に転送する工程と、
    このチャレンジ値Upub(R)の転送後、前記読出要求元のクライアント装置からチャレンジ値Upub(R)が秘密鍵データUpriにより復号化されて得られる乱数Rに一方向性関数fを適用して得られた値f(R)を受信する工程と、
    この受信した値f(R)が正当か否かを判定し、この判定結果が正当を示すとき、前記読出要求された暗号化ファイルセット及びデジタル署名を読出要求元のクライアント装置に転送する工程と、
    を含んでいることを特徴とするファイルアクセス制御方法。
  6. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1及び第2クライアント装置に用いられるプログラムであって、
    前記第1及び第2クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記サーバ装置から前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、を実現させ、
    前記第1クライアント装置のコンピュータに、
    前記書込処理の際に、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    前記導出した書込用認証データFwriteを前記サーバ装置に転送する機能、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する機能、
    前記導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る機能、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する機能、
    を実現させるためのプログラム。
  7. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるプログラムであって、
    前記サーバ装置のコンピュータに、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置により前記秘密鍵データFpriに一方向性関数fを適用して導出され且つ転送された書込用認証データFwriteを保存する機能、前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する機能、
    を実現させるためのプログラム。
  8. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第2クライアント装置に用いられるプログラムであって、
    前記第2クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する機能、
    前記自己の公開鍵データUpubを前記サーバ装置に転送する機能、
    前記読出要求した暗号化ファイルセットに対応するトークンf(Fwrite,Upub)をサーバ装置に転送する機能、
    前記サーバ装置から前記公開鍵データUpubにより乱数Rが暗号化されたチャレンジ値Upub(R)を受けると、このチャレンジ値Upub(R)を前記自己の秘密鍵データUpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る機能、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する機能、
    この転送した値f(R)が正当であるとき、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、
    を実現させるためのプログラム。
  9. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1クライアント装置に用いられるプログラムであって、
    前記第1クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する機能、
    前記ファイルセットに関する公開鍵データFpubを前記サーバ装置に転送する機能、
    前記ファイルセットに関する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    この導出した書込用認証データFwriteと前記公開鍵データFpubとの組合せ値{Fwrite,Fpub}に一方向性関数fを適用してトークンf(Fwrite,Fpub)を導出する機能、
    この導出したトークンf(Fwrite,Fpub)をサーバ装置に転送する機能、
    このトークンf(Fwrite,Fpub)の転送後、前記サーバ装置から前記公開鍵データFpubにより乱数Rが暗号化されたチャレンジ値Fpub(R)を受けると、
    このチャレンジ値Fpub(R)を前記秘密鍵データFpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る機能、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する機能、
    この値f(R)の転送の後、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、を実現させ、
    前記書込処理の際には、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る機能、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する機能、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    この導出した書込用認証データFwriteを前記サーバ装置に転送する機能、
    を実現させるためのプログラム。
  10. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるプログラムであって、
    前記サーバ装置のコンピュータに、
    前記書込処理の際に、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置から転送された書込用認証データFwriteを保存する機能、
    前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する機能、を実現させ、
    前記各クライアント装置による読出処理の際には、
    前記暗号化ファイルセットの読出要求を受信したとき、この読出要求された暗号化ファイルセットに対応する書込用認証データFwriteを読み出す機能、
    前記読出要求元のクライアント装置の公開鍵データUpubを受信する機能、
    前記読出要求された暗号化ファイルセットに対応するトークンf(Fwrite,Upub)を受信したとき、前記読み出した書込用認証データFwriteと前記受信した公開鍵データUpubとの組合せ値{Fwrite,Upub}に一方向性関数fを適用して導出したトークンf(Fwrite,Upub)と、前記受信したトークンf(Fwrite,Upub)とを比較し、両者が一致するか否かを判定する機能、
    この判定結果が両者の一致を示すとき、生成した乱数Rを前記公開鍵データUpubを用いて公開鍵暗号方式により暗号化し、得られたチャレンジ値Upub(R)を読出要求元のクライアント装置に転送する機能、
    このチャレンジ値Upub(R)の転送後、前記読出要求元のクライアント装置からチャレンジ値Upub(R)が秘密鍵データUpriにより復号化されて得られる乱数Rに一方向性関数fを適用して得られた値f(R)を受信する機能、
    この受信した値f(R)が正当か否かを判定し、この判定結果が正当を示すとき、前記読出要求された暗号化ファイルセット及びデジタル署名を読出要求元のクライアント装置に転送する機能、
    を実現させるためのプログラム。
  11. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1及び第2クライアント装置に用いられるコンピュータ読取り可能な記憶媒体であって、
    前記第1及び第2クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記サーバ装置から前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、を実現させ、
    前記第1クライアント装置のコンピュータに、
    前記書込処理の際に、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    前記導出した書込用認証データFwriteを前記サーバ装置に転送する機能、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する機能、
    前記導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る機能、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する機能、
    を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
  12. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpubを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるコンピュータ読取り可能な記憶媒体であって、
    前記サーバ装置のコンピュータに、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置により前記秘密鍵データFpriに一方向性関数fを適用して導出され且つ転送された書込用認証データFwriteを保存する機能、前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する機能、
    を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
  13. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第2クライアント装置に用いられるコンピュータ読取り可能な記憶媒体であって、
    前記第2クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する機能、
    前記自己の公開鍵データUpubを前記サーバ装置に転送する機能、
    前記読出要求した暗号化ファイルセットに対応するトークンf(Fwrite,Upub)をサーバ装置に転送する機能、
    前記サーバ装置から前記公開鍵データUpubにより乱数Rが暗号化されたチャレンジ値Upub(R)を受けると、このチャレンジ値Upub(R)を前記自己の秘密鍵データUpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る機能、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する機能、
    この転送した値f(R)が正当であるとき、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、
    を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
  14. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記第1クライアント装置に用いられるコンピュータ読取り可能な記憶媒体であって、
    前記第1クライアント装置のコンピュータに、
    前記読出処理の際に、
    前記暗号化ファイルセットの読出要求を前記サーバ装置に転送する機能、
    前記ファイルセットに関する公開鍵データFpubを前記サーバ装置に転送する機能、
    前記ファイルセットに関する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    この導出した書込用認証データFwriteと前記公開鍵データFpubとの組合せ値{Fwrite,Fpub}に一方向性関数fを適用してトークンf(Fwrite,Fpub)を導出する機能、
    この導出したトークンf(Fwrite,Fpub)をサーバ装置に転送する機能、
    このトークンf(Fwrite,Fpub)の転送後、前記サーバ装置から前記公開鍵データFpubにより乱数Rが暗号化されたチャレンジ値Fpub(R)を受けると、このチャレンジ値Fpub(R)を前記秘密鍵データFpriを用いて前記公開鍵暗号方式により復号化して乱数Rを得る機能、
    この得られた乱数Rに一方向性関数fを適用して得られた値f(R)を前記サーバ装置に転送する機能、
    この値f(R)の転送の後、前記サーバ装置から転送された前記暗号化ファイルセット及びデジタル署名を受信する機能、
    前記公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて前記共通鍵暗号方式により、前記受信した暗号化ファイルセットを復号化してファイルセットを得る機能、
    このファイルセットと前記公開鍵データFpubとに基づいて、前記受信したデジタル署名を検証する機能、を実現させ、
    前記書込処理の際には、
    前記管理する秘密鍵データFpriを用いて公開鍵暗号方式により、書込対象のファイルセットに対してデジタル署名を生成する機能、
    前記管理する公開鍵データFpubに一方向性関数fを適用して共通鍵データFcryptを導出する機能、
    この導出した共通鍵データFcryptを用いて共通鍵暗号方式により、前記書込対象のファイルセットを暗号化して暗号化ファイルセットを得る機能、
    前記書込対象のファイルセットに基づく暗号化ファイルセット及びデジタル署名を前記サーバ装置に転送する機能、
    前記管理する秘密鍵データFpriに一方向性関数fを適用して書込用認証データFwriteを導出する機能、
    この導出した書込用認証データFwriteを前記サーバ装置に転送する機能、
    を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
  15. 一つ又は複数のファイルからなるファイルセットが共通鍵暗号方式により暗号化された暗号化ファイルセット、前記ファイルセットに対して公開鍵暗号方式により生成されたデジタル署名、及び書込用認証データFwriteが互いに関連付けられて記憶されるサーバ装置と、
    前記公開鍵暗号方式の一対の公開鍵データFpub及び秘密鍵データFpriを管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理/書込処理を実行可能な第1クライアント装置と、
    前記公開鍵データFpub、自己の一対の公開鍵データUpub及び秘密鍵データUpri、前記ファイルセットに関する秘密鍵データFpriから一方向性関数fにより得られる書込用認証データFwriteと前記自己の公開鍵データUpubとの組合せ値{Fwrite,Upub}から一方向性関数fにより得られて前記第1クライアント装置から受けたトークンf(Fwrite,Upub)を管理し、前記サーバ装置にアクセスして前記暗号化ファイルセット及びデジタル署名の読出処理を実行可能な第2クライアント装置と、
    を備えた暗号化ファイルシステムに関し、前記サーバ装置に用いられるコンピュータ読取り可能な記憶媒体であって、
    前記サーバ装置のコンピュータに、
    前記書込処理の際に、
    前記第1クライアント装置による書込処理が新規のファイルセットに基づくとき、前記第1クライアント装置から転送された書込用認証データFwriteを保存する機能、
    前記第1クライアント装置による書込処理が更新後のファイルセットに基づくとき、前記保存された書込用認証データFwriteと、前記第1クライアント装置から転送された書込用認証データFwriteとを比較し、両者が一致することにより、更新後のファイルセットに基づく暗号化ファイルセット及びデジタル署名を保存する機能、を実現させ、
    前記各クライアント装置からの読出処理の際には、
    前記暗号化ファイルセットの読出要求を受信したとき、この読出要求された暗号化ファイルセットに対応する書込用認証データFwriteを読み出す機能、
    前記読出要求元のクライアント装置の公開鍵データUpubを受信する機能、
    前記読出要求された暗号化ファイルセットに対応するトークンf(Fwrite,Upub)を受信したとき、前記読み出した書込用認証データFwriteと前記受信した公開鍵データUpubとの組合せ値{Fwrite,Upub}に一方向性関数fを適用して導出したトークンf(Fwrite,Upub)と、前記受信したトークンf(Fwrite,Upub)とを比較し、両者が一致するか否かを判定する機能、
    この判定結果が両者の一致を示すとき、生成した乱数Rを前記公開鍵データUpubを用いて公開鍵暗号方式により暗号化し、得られたチャレンジ値Upub(R)を読出要求元のクライアント装置に転送する機能、
    このチャレンジ値Upub(R)の転送後、前記読出要求元のクライアント装置からチャレンジ値Upub(R)が秘密鍵データUpriにより復号化されて得られる乱数Rに一方向性関数fを適用して得られた値f(R)を受信する機能、
    この受信した値f(R)が正当か否かを判定し、この判定結果が正当を示すとき、前記読出要求された暗号化ファイルセット及びデジタル署名を読出要求元のクライアント装置に転送する機能、
    を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
JP2002048363A 2002-02-25 2002-02-25 ファイルアクセス制御方法、プログラム及び記憶媒体 Expired - Fee Related JP3978046B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002048363A JP3978046B2 (ja) 2002-02-25 2002-02-25 ファイルアクセス制御方法、プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002048363A JP3978046B2 (ja) 2002-02-25 2002-02-25 ファイルアクセス制御方法、プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2003248627A JP2003248627A (ja) 2003-09-05
JP3978046B2 true JP3978046B2 (ja) 2007-09-19

Family

ID=28661183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002048363A Expired - Fee Related JP3978046B2 (ja) 2002-02-25 2002-02-25 ファイルアクセス制御方法、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP3978046B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2434673B (en) * 2004-11-12 2009-10-14 Discretix Technologies Ltd Method, device, and system of securely storing data
US7877602B2 (en) * 2007-07-27 2011-01-25 International Business Machines Corporation Transparent aware data transformation at file system level for efficient encryption and integrity validation of network files
JP2009181545A (ja) * 2008-02-01 2009-08-13 Pioneer Electronic Corp 属性情報更新要求装置、属性情報更新要求方法、及び属性情報更新要求プログラム
CN101971186B (zh) * 2008-04-10 2013-06-12 日本电气株式会社 信息泄露防止装置和方法及其程序
JP5565857B2 (ja) * 2010-04-02 2014-08-06 株式会社明電舎 電子ファイル管理システムおよび管理方法
CN103001769B (zh) * 2012-08-29 2015-06-17 四川九洲空管科技有限责任公司 一种高保密性能及高安全性能的数据保密器
CN106991334B (zh) * 2016-11-24 2021-03-02 创新先进技术有限公司 一种数据存取的方法、系统及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
JPH06175905A (ja) * 1992-12-03 1994-06-24 Fujitsu Ltd 暗号化ファイル共有方法
JPH09251426A (ja) * 1996-01-10 1997-09-22 Hitachi Ltd ファイル暗号化システム及びその制御方法ならびに暗号ファイル受信システム及びその制御方法
JPH10260903A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd グループ暗号方法、及びファイル暗号システム
JP3748155B2 (ja) * 1997-11-14 2006-02-22 富士通株式会社 改ざん防止/検出機能を有するファイル管理システム
WO2000057290A1 (fr) * 1999-03-19 2000-09-28 Hitachi, Ltd. Processeur d'informations
JP2001101082A (ja) * 1999-07-29 2001-04-13 Xaxon R & D Corp Icチップ等による識別鍵とそれを利用したファイルの複製防止方法および機密管理方法とその関連装置
KR100748867B1 (ko) * 1999-09-03 2007-08-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 기록된 공개 자료로부터 마스터 키의 복구
US7178033B1 (en) * 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets

Also Published As

Publication number Publication date
JP2003248627A (ja) 2003-09-05

Similar Documents

Publication Publication Date Title
JP5025009B2 (ja) 認証方法、ホスト計算機及び記録媒体
JP3060071B2 (ja) コンピュータ・ネットワーク暗号鍵配布システム
RU2351078C2 (ru) Эффективное управление генерациями криптографических ключей
AU2003260138B2 (en) Method and system of securely escrowing private keys in a public key infrastructure
US7971261B2 (en) Domain management for digital media
EP1984866B1 (en) Document security management system
US8375206B2 (en) Authentication and encryption utilizing command identifiers
US20080165956A1 (en) Content Encryption Schema For Integrating Digital Rights Management With Encrypted Multicast
US20080294901A1 (en) Media Storage Structures for Storing Content, Devices for Using Such Structures, Systems for Distributing Such Structures
US10574458B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
JP2023527815A (ja) 非中央集権化されたコンピュータ・ネットワークを介したセキュアなデータ転送のための方法、装置、及びコンピュータ可読媒体
JP3978046B2 (ja) ファイルアクセス制御方法、プログラム及び記憶媒体
WO2011150650A1 (zh) 密钥授权信息管理方法及装置
US20030065930A1 (en) Encryption/decryption apparatus and method
US8307098B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
TWI766171B (zh) 帳戶資料處理方法及帳戶資料處理系統
JP2001147899A (ja) コンテンツ配布システム
JP2008171116A (ja) 記憶装置及びそのアクセス制御システム
JP3931497B2 (ja) 情報転送システム
CN116192380A (zh) 一种基于国密算法的数据加密共享系统的系统设计与实现方法
CN115795433A (zh) 一种基于哈希算法的加密硬盘-主机双向认证方法
CN114398331A (zh) 基于区块链的可信数据共享方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070622

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees