JP5494171B2 - File management system, storage server, client, file management method and program - Google Patents

File management system, storage server, client, file management method and program Download PDF

Info

Publication number
JP5494171B2
JP5494171B2 JP2010096275A JP2010096275A JP5494171B2 JP 5494171 B2 JP5494171 B2 JP 5494171B2 JP 2010096275 A JP2010096275 A JP 2010096275A JP 2010096275 A JP2010096275 A JP 2010096275A JP 5494171 B2 JP5494171 B2 JP 5494171B2
Authority
JP
Japan
Prior art keywords
file
fek
encrypted
encryption key
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.)
Active
Application number
JP2010096275A
Other languages
Japanese (ja)
Other versions
JP2011227673A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010096275A priority Critical patent/JP5494171B2/en
Publication of JP2011227673A publication Critical patent/JP2011227673A/en
Application granted granted Critical
Publication of JP5494171B2 publication Critical patent/JP5494171B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラムに関し、特に、暗号化してファイルを管理するファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラムに関する。   The present invention relates to a file management system, a storage server, a client, a file management method, and a program, and more particularly, to a file management system, a storage server, a client, a file management method, and a program that manage files by encryption.

ストレージ上のファイルに対し、ある一定のユーザからのアクセスを許容し、情報共有、業務の分担に役立てることのできるファイル管理システムに対するニーズがある。例えば、異なる組織に所属するユーザに対してネットワークを介して直接的あるいは間接的にストレージサービスを提供するサービスなどが挙げられる。また、この種のファイル管理システムを用いて、複数ユーザ間のデータの相関分析やトレンド分析などに基づくリコメンデーションの作成・提供や、HSM(Hierarchical Storage Management)、ILM(Information Lifecycle Management)、またデータ圧縮や重複排除などを行うことも知られている。この種のファイル管理システムにおいては、ファイルの暗号化に使用した鍵やデータそのものを危険にさらすことなく、個々のユーザがその権限に応じたファイルにアクセスできるように制御することが望まれる。   There is a need for a file management system that allows access from a certain user to files on the storage and can be used for information sharing and task sharing. For example, a service that provides a storage service directly or indirectly to a user belonging to a different organization via a network may be used. Also, using this type of file management system, recommendations can be created and provided based on correlation analysis and trend analysis of data among multiple users, HSM (Hierarchical Storage Management), ILM (Information Lifecycle Management), and data It is also known to perform compression and deduplication. In this type of file management system, it is desirable to control each user to access a file according to the authority without risking the key or data itself used for file encryption.

特許文献1に、共通鍵暗号方式と、公開鍵暗号方式を併用し、ユーザ秘密鍵で暗号化されたファイルを格納するファイル格納部及びユーザからのファイルアクセス要求に対して該当ファイルを検索・送信するファイル送信部を備える共有ファイルサーバと、前記ユーザ秘密鍵をユーザ公開鍵で暗号化し、ユーザID及びファイルIDに関連付けて格納するクライアント秘密鍵格納部を備える暗号管理サーバとを備えたファイル管理システムが開示されている。   Patent Document 1 uses a common key encryption method and a public key encryption method to search and transmit a file storage unit for storing a file encrypted with a user private key and a file access request from a user. File management system comprising: a shared file server comprising a file transmission unit for performing encryption; and a cipher management server comprising a client private key storage unit for encrypting the user private key with a user public key and storing the encrypted user private key in association with the user ID and file ID Is disclosed.

また、特許文献2には、暗号化ファイルのヘッダ部分に複数のキー情報を埋め込むことで、あるキー情報が正しくない場合でも別のキー情報を使用して復号することができ、また、あらかじめ共通のキー情報を作成し配布しておくことでこのグループキーを持つユーザだけがファイルを復号化できるようにしたセキュリティシステムが開示されている。   Also, in Patent Document 2, by embedding a plurality of key information in the header portion of the encrypted file, even when certain key information is incorrect, it can be decrypted using different key information, A security system is disclosed in which only the user having the group key can decrypt the file by creating and distributing the key information.

さらに、非特許文献1には、ファイルの暗号化に使用した鍵(同文献の図8のコンテンツキー)をアクセス権を持つユーザのみが安全に取り出せるよう暗号化した上でファイルに付加し、安全にファイルの共有を実現する方法の一例が記載されている。   Further, in Non-Patent Document 1, the key used for file encryption (the content key in FIG. 8 of the same document) is encrypted so that only a user having access rights can safely extract it, and then added to the file. Describes an example of a method for realizing file sharing.

特開2005−209181号公報JP 2005-209181 A 特開2000−99385号公報JP 2000-99385 A

Microsoft、“RMSとIRMによる情報保護”、テクニカルホワイトペーパー、2004年3月18日、[online]、[平成22年3月29日検索]、インターネット〈URL:http://technet.microsoft.com/ja-jp/library/CC984234.aspx〉Microsoft, “Information Protection with RMS and IRM”, Technical White Paper, March 18, 2004, [online], [Search March 29, 2010], Internet <URL: http://technet.microsoft.com /ja-jp/library/CC984234.aspx>

しかしながら、上記した特許文献および非特許文献記載の各技術は、ユーザの秘密情報(ファイル暗号鍵や暗号化ファイル暗号鍵の復号鍵)が漏洩した際に、当該ユーザの秘密情報を利用した不正アクセスを遮断することが難しいという問題点がある。例えば、特許文献1の場合、ファイルの暗号化に用いたユーザ秘密鍵(ユーザDESキー)を復号するためのユーザ秘密鍵(RSA秘密鍵)が漏洩することはないとの前提の下に、クライアントからのファイルへのアクセス要求を受け付けた場合に、ユーザ公開鍵(RSA公開鍵)で暗号化したユーザ秘密鍵(ユーザDESキー)および暗号化ファイルをクライアントに送信する構成を採っているため、一度ユーザ秘密鍵(RSA秘密鍵)が漏洩してしまうと、当該ユーザがアクセス可能な他のファイルにアクセスされてしまう可能性がある。   However, each of the technologies described in the above-mentioned patent documents and non-patent documents discloses that when a user's confidential information (file encryption key or decryption key of an encrypted file encryption key) leaks, unauthorized access using the user's confidential information There is a problem that it is difficult to block. For example, in the case of Patent Document 1, a client secret key (RSA secret key) for decrypting a user secret key (user DES key) used for file encryption is assumed not to leak. When the access request to the file from the client is accepted, the user secret key (user DES key) encrypted with the user public key (RSA public key) and the encrypted file are transmitted to the client. If the user secret key (RSA secret key) is leaked, there is a possibility that another file accessible by the user is accessed.

同様に、特許文献2や非特許文献1の技術も、ユーザの秘密情報が漏洩することはないとの前提の下に設計されているため、秘密情報(特許文献2のユーザ情報、パスワード等、非特許文献1のユーザ秘密鍵)を用いて、暗号化ファイルに添付された鍵(セッションキー、コンテンツキー)を入手して、暗号化ファイル内の平文やコンテンツにアクセスされてしまう可能性がある。   Similarly, since the techniques of Patent Document 2 and Non-Patent Document 1 are designed on the assumption that the confidential information of the user will not leak, the confidential information (user information, password, etc. of Patent Document 2) There is a possibility that the key (session key, content key) attached to the encrypted file is obtained using the user secret key (Non-Patent Document 1), and the plaintext or content in the encrypted file is accessed. .

上記の問題は、前記ユーザの秘密情報(ユーザのパスワードやファイル暗号鍵の復号鍵として用いる秘密鍵)が漏洩した場合のほか、当該ユーザの秘密情報を持った構成員の人事異動、休退職、あるいは、冒頭に述べた各種のサービスからのユーザの退会やサービス変更などの場合にも起こりうる。これらに対し、その都度、暗号化されたファイル自体を別の暗号鍵で暗号化し直すことは現実的ではない。   In addition to the case where the user's secret information (secret key used as a decryption key for the user's password or file encryption key) is leaked, the above-mentioned problem is caused by personnel changes, retirement, Alternatively, it may occur in the case of withdrawal of a user from various services described at the beginning or a service change. On the other hand, it is not practical to re-encrypt the encrypted file itself with another encryption key each time.

本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記したユーザの秘密情報(ユーザのパスワードやファイル暗号鍵の復号鍵として用いる秘密鍵)が漏洩した場合であっても、可及的速やかに対策を講じ、当該ユーザの秘密情報を用いた不正アクセスを抑止できるようにしたファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラムを提供することにある。   The present invention has been made in view of the above circumstances, and the purpose of the present invention is when the above-described user secret information (secret key used as a user key or a decryption key of a file encryption key) leaks. Even so, it is to provide a file management system, a storage server, a client, a file management method and a program capable of taking countermeasures as soon as possible and suppressing unauthorized access using the confidential information of the user. .

本発明の第1の視点によれば、予め定められたファイル暗号鍵(FEK;File Encryption Key)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備えるストレージサーバと、前記ストレージサーバから受け取った前記暗号化ファイル暗号鍵(E−FEK)を前記公開鍵に対応する秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアントまたはサービスインスタンスと、を含み、前記ストレージサーバは、前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すファイル管理システムが提供される。   According to the first aspect of the present invention, an encrypted file storage unit for storing a file encrypted using a predetermined file encryption key (FEK) and an access right to the file are provided. A storage comprising: an encrypted file encryption key storage unit for storing an encrypted file encryption key (E-FEK) obtained by encrypting the file encryption key (FEK) using a public key determined for each user or service A server, a decryption processing unit for decrypting the encrypted file encryption key (E-FEK) received from the storage server with a secret key corresponding to the public key, and a file using the decrypted file encryption key (FEK) An encryption / decryption processing unit that encrypts / decrypts the storage server, and a storage instance After confirming the validity of the public key defined for each user or service having access rights to the file, the server pays an encrypted file encryption key (E-FEK) to the client or service instance. A file management system is provided.

本発明の第2の視点によれば、ストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK;Encrypted−File Encryption Key)を秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK;File Encryption Key)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアントまたはサービスインスタンスと、接続され、ファイル暗号鍵(FEK)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備え、前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すストレージサーバが提供される。   According to a second aspect of the present invention, a decryption processing unit that decrypts an encrypted file encryption key (E-FEK) received from a storage server with a secret key, and the decrypted file encryption key ( A client or a service instance including an encryption / decryption processing unit that encrypts / decrypts a file using FEK (File Encryption Key), and an encryption that stores a file encrypted using a file encryption key (FEK). An encrypted file encryption key (E-FEK) obtained by encrypting the file encryption key (FEK) is stored using a file storage unit and a public key defined for each user or service having access rights to the file. And an encrypted file encryption key storage unit. Provided is a storage server that confirms the validity of a public key defined for each user or service having access rights and then issues an encrypted file encryption key (E-FEK) to the client or service instance. .

本発明の第3の視点によれば、上記したストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK;Encrypted−File Encryption Key)を秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK;File Encryption Key)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアントまたはサービスインスタンスが提供される。   According to a third aspect of the present invention, a decryption processing unit that decrypts an encrypted file encryption key (E-FEK) received from the storage server with a secret key, and the decrypted file encryption A client or a service instance is provided that includes an encryption / decryption processing unit that encrypts / decrypts a file using a key (FEK; File Encryption Key).

本発明の第4の視点によれば、予め定められたファイル暗号鍵(FEK;File Encryption Key)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備えるストレージサーバが、クライアントまたはサービスインスタンスからの要求に応じて、前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すステップと、前記クライアントまたはサービスインスタンスが、前記ストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK)を前記公開鍵に対応する秘密鍵で復号するステップと、前記復号したファイル暗号鍵(FEK)を用いてファイルを暗復号する暗復号ステップと、を含むファイル管理方法が提供される。本方法は、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すストレージサーバという、特定の機械に結びつけられている。   According to the fourth aspect of the present invention, an encrypted file storage unit for storing a file encrypted using a predetermined file encryption key (FEK) and an access right to the file are provided. A storage comprising: an encrypted file encryption key storage unit for storing an encrypted file encryption key (E-FEK) obtained by encrypting the file encryption key (FEK) using a public key determined for each user or service In response to a request from the client or service instance, the server confirms the validity of the public key defined for each user or service that has access to the file, and then encrypts the client or service instance. An encrypted file encryption key (E-FEK) is issued, and the client or The service instance decrypts the encrypted file encryption key (E-FEK) received from the storage server with a secret key corresponding to the public key, and uses the decrypted file encryption key (FEK) to decrypt the file. An encryption / decryption step for encryption / decryption is provided. The method is associated with a specific machine, a storage server that issues an encrypted file encryption key (E-FEK) to the client or service instance.

本発明の第5の視点によれば、上記したストレージサーバ、クライアントまたはサービスインスタンスをそれぞれ構成するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。   According to the fifth aspect of the present invention, there is provided a program for causing a computer constituting each of the above-described storage server, client, or service instance to execute. This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.

本発明によれば、ユーザの秘密情報(ユーザのパスワードやファイル暗号鍵の復号鍵として用いる秘密鍵)が漏洩した場合であっても、事後的に当該ユーザの秘密情報を用いた不正アクセスを抑止することが可能になる。   According to the present invention, even if a user's secret information (a secret key used as a decryption key for a user password or a file encryption key) is leaked, unauthorized access using the user's secret information is subsequently suppressed. It becomes possible to do.

本発明の概要を説明するための図である。It is a figure for explaining the outline of the present invention. 本発明の第1の実施形態の構成を表したブロック図である。It is a block diagram showing the structure of the 1st Embodiment of this invention. 図2の暗号化ファイル記憶部に記憶される暗号化ファイルの構成例を示す図である。It is a figure which shows the structural example of the encryption file memorize | stored in the encryption file memory | storage part of FIG. 図2のE−FEK記憶部における暗号化ファイル暗号鍵(E−FEK)を管理するためのリストの構成例を示す図である。It is a figure which shows the structural example of the list | wrist for managing the encryption file encryption key (E-FEK) in the E-FEK memory | storage part of FIG. 本発明の第1の実施形態の動作(ファイル作成時)を示す流れ図である。It is a flowchart which shows the operation | movement (at the time of file creation) of the 1st Embodiment of this invention. 本発明の第1の実施形態の動作(ファイル利用時)を示す流れ図である。It is a flowchart which shows the operation | movement (at the time of file utilization) of the 1st Embodiment of this invention. 本発明の第1の実施形態の動作(サービス開始時)を示す流れ図である。It is a flowchart which shows the operation | movement (at the time of service start) of the 1st Embodiment of this invention. 本発明の変形実施形態の構成を表したブロック図である。It is a block diagram showing the structure of the deformation | transformation embodiment of this invention.

はじめに、本発明の概要について説明する。図1に示すように、本発明は、予め定められたファイル暗号鍵(FEK;File Encryption Key)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部26と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて前記ファイル暗号鍵(FEK)を暗号化するファイル暗号鍵暗号化部22と、前記暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部25と、を備えるストレージサーバ20と、ネットワーク経由でストレージサーバ20にアクセス可能なクライアント10A、10Bと、を含んで構成される。   First, the outline of the present invention will be described. As shown in FIG. 1, the present invention provides an encrypted file storage unit 26 for storing a file encrypted using a predetermined file encryption key (FEK; File Encryption Key), and an access right to the file. A file encryption key encryption unit 22 that encrypts the file encryption key (FEK) using a public key determined for each user or service, and the encrypted file encryption key (E-FEK) The storage server 20 includes the encrypted file encryption key storage unit 25 and the clients 10A and 10B that can access the storage server 20 via the network.

ストレージサーバ20は、さらに、アクセス要求受付部21を備え、クライアント10A、10Bから、暗号化ファイル暗号鍵(E−FEK)の払い出し要求を受けた際に、無効化公開鍵情報記憶部23に、該当ユーザまたはサービスの公開鍵が登録されているか否かを確認し、公開鍵の有効性を確認できた場合に、暗号化ファイル暗号鍵(E−FEK)を払い出す。   The storage server 20 further includes an access request accepting unit 21, and when receiving a request for paying out an encrypted file encryption key (E-FEK) from the clients 10A and 10B, the revocation public key information storage unit 23 stores It is confirmed whether or not the public key of the user or service is registered, and when the validity of the public key is confirmed, the encrypted file encryption key (E-FEK) is paid out.

ストレージサーバ20から前記暗号化ファイル暗号鍵(E−FEK)を受け取ったクライアント10A、10Bは、自身の公開鍵に対応する秘密鍵を用いて暗号化ファイル暗号鍵(E−FEK)を復号し、得られたファイル暗号鍵(FEK)を用いてファイルを暗復号する。   Receiving the encrypted file encryption key (E-FEK) from the storage server 20, the clients 10A and 10B decrypt the encrypted file encryption key (E-FEK) using the private key corresponding to its public key, The file is encrypted using the obtained file encryption key (FEK).

例えば、図1に示すように、クライアント10A、10Bが、それぞれ正規ユーザであり、暗号化ファイルが暗号化ファイル記憶部26に、自身のファイル暗号鍵(FEK_A、FEK_B)で暗号化した暗号化ファイルを登録していたものとする。その後、何らかの理由(例えば、クライアント10Aのユーザ秘密鍵_Aの漏洩)でクライアント10Aの公開鍵が無効になり、無効化公開鍵情報記憶部23に当該公開鍵が無効になった旨が記録されると、以後、ストレージサーバ20は、クライアント10Aの公開鍵にて暗号化された暗号化ファイル暗号鍵(E−FEK)を払い出し要求を拒否する。   For example, as shown in FIG. 1, each of the clients 10A and 10B is a regular user, and an encrypted file is encrypted in the encrypted file storage unit 26 with its own file encryption key (FEK_A, FEK_B). Has been registered. Thereafter, the public key of the client 10A is invalidated for some reason (for example, leakage of the user private key_A of the client 10A), and the fact that the public key is invalidated is recorded in the invalidated public key information storage unit 23. Thereafter, the storage server 20 rejects the request for paying out the encrypted file encryption key (E-FEK) encrypted with the public key of the client 10A.

これにより、暗号化ファイル記憶部26に記憶した暗号化ファイルの再暗号化等を行わなくとも、暗号化ファイルの復号を阻止することが可能になる。   This makes it possible to prevent the encrypted file from being decrypted without re-encrypting the encrypted file stored in the encrypted file storage unit 26.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の構成を表したブロック図である。図2を参照すると、クライアント100と、サービスインスタンス200と、暗号化ファイル記憶部401、E−FEK記憶部402、無効化公開鍵リスト記憶部403、サービスユーザリスト記憶部404にアクセス可能なストレージサーバ300と、を含む構成が示されている。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 is a block diagram showing the configuration of the first exemplary embodiment of the present invention. Referring to FIG. 2, a storage server that can access the client 100, the service instance 200, the encrypted file storage unit 401, the E-FEK storage unit 402, the revoked public key list storage unit 403, and the service user list storage unit 404. 300 is shown.

クライアント100は、ファイルを取り扱う各種アプリケーションとの間で、ファイルの入出力処理を行うファイル入出力部101と、自身の秘密鍵(ファイルオーナー秘密鍵)や他のノードの公開鍵(ストレージサーバ公開鍵等)を用いて、ファイル暗号鍵(以下、「FEK」とする。)の暗復号を行うFEK暗復号処理部102と、FEK暗復号処理部102にて復号されたFEKを用いて、ストレージサーバ200から受信した暗号化ファイルの暗復号処理を行うファイル暗復号処理部103と、主にストレージサーバ300との通信を行う通信部105とを含んで構成される。なお、図2の例では、クライアント100が1台接続された構成を示しているが、クライアント100は、複数存在してかまわない。また、クライアント100がなく、サービスインスタンス200のみがあるという構成も採用可能である。   The client 100 includes a file input / output unit 101 that performs file input / output processing with various applications that handle files, its own private key (file owner private key), and another node's public key (storage server public key). Etc.), the FEK encryption / decryption processing unit 102 that performs encryption / decryption of the file encryption key (hereinafter referred to as “FEK”), and the FEK decrypted by the FEK encryption / decryption processing unit 102, 200 includes a file encryption / decryption processing unit 103 that performs encryption / decryption processing of the encrypted file received from 200, and a communication unit 105 that mainly communicates with the storage server 300. In the example of FIG. 2, a configuration in which one client 100 is connected is shown, but a plurality of clients 100 may exist. Further, a configuration in which there is no client 100 and only the service instance 200 can be employed.

サービスインスタンス200は、サービスの実行を行うサービス実行部201と、自身の秘密鍵(サービス秘密鍵)を用いて、FEKの暗復号処理を行うFEK暗復号処理部202と、FEK暗復号処理部202にて復号されたFEKを用いて、ストレージサーバ200から受信した暗号化ファイルの暗復号処理を行うファイル暗復号処理部203と、主にストレージサーバ300との通信を行う通信部205とを含んで構成される。サービスインスタンス200は、あるサービスをそのサービスを提供するユーザの集合ごとに準備したもので、複数存在しえる。また、サービス自体も複数存在してかまわない。また、サービスインスタンス200がなく、クライアント100のみがあるという構成も採用可能である。   The service instance 200 includes a service execution unit 201 that executes a service, an FEK encryption / decryption processing unit 202 that performs FEK encryption / decryption processing using its own private key (service secret key), and an FEK encryption / decryption processing unit 202. A file encryption / decryption processing unit 203 that performs encryption / decryption processing of the encrypted file received from the storage server 200 using the FEK decrypted in step S3, and a communication unit 205 that mainly communicates with the storage server 300. Composed. A service instance 200 is prepared for each set of users who provide a service, and a plurality of service instances 200 can exist. There may be a plurality of services themselves. Also, a configuration in which there is no service instance 200 and only the client 100 can be employed.

ストレージサーバ300は、クライアント100から受信したメッセージに付されたデジタル署名の検証を行うデジタル署名検証部301と、所定の認証方式を用いてクライアント100やサービスインスタンス200の認証を行う認証部302と、クライアント100やサービスインスタンス200との通信を行う通信部303と、所定の鍵生成方式を用いてFEKを生成するFEK生成器304と、FEKの暗復号処理を行うFEK暗復号処理部305と、暗号化ファイル記憶部401、E−FEK記憶部402、無効化公開鍵リスト記憶部403、サービスユーザリスト記憶部404へのアクセスを行うストレージアクセス部306と、アクセスリクエストを依頼してきたクライアント100やサービスインスタンス200のリクエストの有効性を検証するリクエスト有効性検証部307とを含んで構成される。なお、図2の例では、ストレージサーバ300が1台接続された構成を示しているが、ストレージサーバ300は複数存在してかまわない。   The storage server 300 includes a digital signature verification unit 301 that verifies a digital signature attached to a message received from the client 100, an authentication unit 302 that authenticates the client 100 and the service instance 200 using a predetermined authentication method, A communication unit 303 that communicates with the client 100 and the service instance 200, an FEK generator 304 that generates FEK using a predetermined key generation method, an FEK encryption / decryption processing unit 305 that performs encryption / decryption processing of FEK, and encryption Storage access unit 306 for accessing the activation file storage unit 401, E-FEK storage unit 402, revocation public key list storage unit 403, service user list storage unit 404, and the client 100 or service instance that requested the access request 200 requests Configured to include a request validation unit 307 verifies the validity of the. In the example of FIG. 2, a configuration in which one storage server 300 is connected is shown, but a plurality of storage servers 300 may exist.

暗号化ファイル記憶部401は、FEKで暗号化した状態でファイルを保管するデータベース等により構成される。暗号化ファイルの具体的な構成については後に図3を用いて説明する。   The encrypted file storage unit 401 is configured by a database or the like that stores files in a state encrypted with FEK. A specific configuration of the encrypted file will be described later with reference to FIG.

E−FEK記憶部402は、ユーザあるいはサービス毎に定められた公開鍵と、この公開鍵でFEKを暗号化した暗号化ファイル暗号鍵(E−FEK)とを対応付けて記憶する。FEK記憶部402の具体的な構成については後に図4を用いて説明する。   The E-FEK storage unit 402 stores a public key determined for each user or service in association with an encrypted file encryption key (E-FEK) obtained by encrypting the FEK with this public key. A specific configuration of the FEK storage unit 402 will be described later with reference to FIG.

無効化公開鍵リスト記憶部403は、無効化されたユーザあるいはサービスの公開鍵のリスト(Revoked Pub Key List)を記憶する。無効化公開鍵リスト記憶部403への無効化公開鍵の追加・削除は、例えば、ユーザからの通報等により、ストレージサーバの管理者により行われる。無効化公開鍵リストに代えて、有効な公開鍵のリストを記憶して、当該リストに記載されていない公開鍵は無効であると判断する構成であってもよい。   The revoked public key list storage unit 403 stores a revoked public key list of users or services that have been revoked. The addition / deletion of the invalidation public key to the invalidation public key list storage unit 403 is performed by the administrator of the storage server by, for example, a report from the user. Instead of the revoked public key list, a list of valid public keys may be stored, and public keys not listed in the list may be determined to be invalid.

サービスユーザリスト記憶部404は、サービスインスタンスとそのサービスインスタンスを利用するユーザ群の組を格納するサービスユーザリストを記憶する。   The service user list storage unit 404 stores a service user list that stores a set of service instances and users who use the service instances.

以上の暗号化ファイル記憶部401、E−FEK記憶部402、無効化公開鍵リスト記憶部403、サービスユーザリスト記憶部404は、一または複数の記憶装置によって実現することができる。また、図2の例では、ストレージサーバ300の外部に暗号化ファイル記憶部401、E−FEK記憶部402、無効化公開鍵リスト記憶部403、サービスユーザリスト記憶部404が接続されている構成を示しているが、ストレージサーバ300に内蔵された記憶装置に暗号化ファイル、E−FEK、無効化公開鍵リスト、サービスユーザリストのうちの一部または全部を記憶する構成も採用可能である。   The encrypted file storage unit 401, the E-FEK storage unit 402, the revoked public key list storage unit 403, and the service user list storage unit 404 described above can be realized by one or a plurality of storage devices. In the example of FIG. 2, an encrypted file storage unit 401, an E-FEK storage unit 402, an invalidated public key list storage unit 403, and a service user list storage unit 404 are connected to the outside of the storage server 300. Although shown, a configuration in which a part or all of the encrypted file, the E-FEK, the revoked public key list, and the service user list is stored in a storage device built in the storage server 300 may be employed.

ここで、暗号化ファイル記憶部401に記憶される暗号化ファイルと、E−FEK記憶部402の具体的構成例を説明する。   Here, a specific configuration example of the encrypted file stored in the encrypted file storage unit 401 and the E-FEK storage unit 402 will be described.

図3は、暗号化ファイルの構成を模式的に表した図である。図3の例では、暗号化ファイル500は、データ本体をFEKで暗号化した暗号化ファイル本体501に、その暗号化に使用したFEK ID502を付加して構成されている。このように、暗号化ファイル自体に、鍵情報やこれに関連する情報を添付しない構成とすることで、鍵情報の解析を困難化することができる。   FIG. 3 is a diagram schematically showing the configuration of the encrypted file. In the example of FIG. 3, the encrypted file 500 is configured by adding the FEK ID 502 used for the encryption to the encrypted file body 501 obtained by encrypting the data body with FEK. As described above, it is possible to make it difficult to analyze the key information by not attaching the key information or related information to the encrypted file itself.

図4は、E−FEK記憶部402に保持される、公開鍵とE−FEKを管理するためのリスト600の構造を表した図である。図4の例では、あるファイルを暗号化した際に用いたFEKのID毎に、そのファイルに対しアクセス権限を持つアクセス主体(ファイルオーナ、ストレージサーバ、他のユーザ、他のサービス)の公開鍵と、該当アクセス主体の公開鍵で暗号化されたE−FEKと、を組にして、必要な数(1〜n;nは当該ファイルにアクセスを許可された主体の数)だけ一まとめに格納される。このようなリストをFEK(FEK ID)毎に用意することで、公開鍵と、その公開鍵を用いて暗号化したE−FEKの管理が容易化される。   FIG. 4 is a diagram showing the structure of a list 600 for managing public keys and E-FEKs held in the E-FEK storage unit 402. In the example of FIG. 4, for each FEK ID used when a certain file is encrypted, the public key of the access subject (file owner, storage server, other user, other service) who has access authority to the file And E-FEK encrypted with the public key of the corresponding access subject, and a necessary number (1 to n; n is the number of subjects permitted to access the file) are stored together. Is done. By preparing such a list for each FEK (FEK ID), management of the public key and E-FEK encrypted using the public key is facilitated.

図3、図4からも明らかなように、公開鍵によって暗号化されていないFEKそのものは、図2の示すシステム全体のどこにも保存されない。あるアクセス主体が、あるファイルについてアクセスしようとする場合、E−FEK記憶部402から、図3のFEK IDに対応するE−FEKのリストを参照し、自身の公開鍵にて暗号化されたE−FEKを取り出す。前記アクセス主体は、自身の公開鍵に対応する秘密鍵を保持しているので、E−FEKを復号することができる。前記復号の結果、得られたFEKを用いて、目的とするファイルの暗復号が可能となる。   As apparent from FIGS. 3 and 4, the FEK itself that is not encrypted with the public key is not stored anywhere in the entire system shown in FIG. When a certain access subject tries to access a certain file, the E-FEK storage unit 402 refers to the E-FEK list corresponding to the FEK ID in FIG. -Remove FEK. Since the access subject holds a secret key corresponding to his / her public key, the E-FEK can be decrypted. As a result of the decryption, the target file can be encrypted and decrypted using the obtained FEK.

なお、図2に示したクライアント100、サービスインスタンス200、ストレージサーバ300の各部(処理手段)は、これらを構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。   Note that each unit (processing unit) of the client 100, the service instance 200, and the storage server 300 illustrated in FIG. 2 is realized by a computer program that causes the computer that configures the units to execute the above-described processes using the hardware. can do.

続いて、本実施形態の動作についてファイルの作成、ファイルの利用、ファイルを利用するサービスの開始に分けて、詳細に説明する。   Next, the operation of this embodiment will be described in detail by dividing it into creation of a file, use of the file, and start of a service using the file.

[ファイルの作成]
図5は、本発明の第1の実施形態の動作(ファイル作成時)を示す流れ図である。図5を参照すると、まず、ファイルの作成者(ファイルオーナ)がファイルの作成に先立ってクライアント100を利用してストレージサーバ300に認証を依頼する(ステップS100)。
[Create File]
FIG. 5 is a flowchart showing the operation (when creating a file) of the first embodiment of the present invention. Referring to FIG. 5, first, the file creator (file owner) requests the storage server 300 for authentication using the client 100 prior to file creation (step S100).

ストレージサーバ300は、認証部302を利用しファイルオーナの認証を行いファイルオーナの公開鍵を確定する(ステップS101)。なお、ステップS100、S101における認証方式については、特に限定するものではなく、パスワードやバイオメトリクス情報を用いる方式などを適宜採用することができる。また、ここで確定する公開鍵としてファイルオーナから受信したものを用いてもよいし、あるいは、ストレージサーバ300側に保持されている正規ユーザ(認証済みユーザ)の公開鍵を読み出して公開鍵を確定することとしてもよい。   The storage server 300 authenticates the file owner using the authentication unit 302 and determines the public key of the file owner (step S101). Note that the authentication method in steps S100 and S101 is not particularly limited, and a method using a password or biometric information can be appropriately employed. In addition, the public key received from the file owner may be used as the public key to be confirmed here, or the public key of the authorized user (authenticated user) held on the storage server 300 side is read and the public key is confirmed. It is good to do.

次に、ストレージサーバ300は、無効化公開鍵リスト記憶部403から無効化された公開鍵のリストを読み出し(ステップS102)、ファイルオーナの公開鍵の有効性を検証する(ステップS103)。なお、図5では省略されているが、前記公開鍵の有効性の検証の結果、ファイルオーナの公開鍵が無効化されていた場合には、ファイルオーナにその旨通達するなどのエラー処理を行った後、処理を終了する。   Next, the storage server 300 reads the revoked public key list from the revoked public key list storage unit 403 (step S102), and verifies the validity of the public key of the file owner (step S103). Although omitted in FIG. 5, if the public key of the file owner is invalidated as a result of the verification of the validity of the public key, error processing such as notification to the file owner is performed. Then, the process ends.

ファイルオーナの公開鍵の有効性が検証されると、クライアント100にて、その搭載アプリケーションを利用してファイルの作成が行われる(ステップS104)。前記ファイルの作成が完了すると、クライアント100から、ストレージサーバ300に対し、そのファイルの暗号化に使用するFEKの生成依頼が行われる(ステップS105)。   When the validity of the public key of the file owner is verified, the client 100 creates a file using the installed application (step S104). When the creation of the file is completed, the client 100 requests the storage server 300 to generate an FEK used for encrypting the file (step S105).

前記生成依頼を受けたストレージサーバ300は、FEK生成器304を利用してFEKを生成する(ステップS106)。また、生成したFEKには、FEKを一意に特定するためのFEK IDが付与される。   The storage server 300 that has received the generation request generates an FEK using the FEK generator 304 (step S106). The generated FEK is given an FEK ID for uniquely identifying the FEK.

続いて、ストレージサーバ300は、FEK暗復号処理部305を用いて、当該ファイルにアクセスが認められている各アクセス主体の公開鍵を用いて、前記生成したFEKを暗号化する。ストレージサーバ300は、ファイルオーナの公開鍵でFEKを暗号化する(ステップS107)。同様に、ストレージサーバ300は、ストレージサーバ自身の公開鍵でFEKを暗号化する(ステップS108)。さらに、ストレージサーバ300は、サービスユーザリスト記憶部404からサービスユーザリストを読み出し(ステップS109)、ファイルオーナが当該ファイルへのアクセスを許可している他のユーザもしくはサービスの公開鍵でFEKを暗号化する(ステップS110)。   Subsequently, the storage server 300 uses the FEK encryption / decryption processing unit 305 to encrypt the generated FEK using the public key of each access subject authorized to access the file. The storage server 300 encrypts the FEK with the file owner's public key (step S107). Similarly, the storage server 300 encrypts the FEK with the public key of the storage server itself (step S108). Furthermore, the storage server 300 reads the service user list from the service user list storage unit 404 (step S109), and encrypts the FEK with the public key of another user or service that the file owner permits access to the file. (Step S110).

ストレージサーバ300は、上記ステップS107、S108、S110で作成したE−FEKと、当該E−FEKの暗号化に使用した各公開鍵とを組にして、FEK IDを付加したリストを作成し(図4のリスト600参照)、E−FEK記憶部402に格納する(ステップS111)。   The storage server 300 creates a list with the FEK ID added by combining the E-FEK created in steps S107, S108, and S110 and each public key used for encryption of the E-FEK (see FIG. 4 (see list 600 in FIG. 4), and stores it in the E-FEK storage unit 402 (step S111).

ストレージサーバ300は、ステップS105のFEK生成依頼の応答として、ファイルオーナの公開鍵を用いて暗号化したE−FEKをFEK−IDとともにクライアント100に送信する。   In response to the FEK generation request in step S105, the storage server 300 transmits the E-FEK encrypted using the file owner's public key to the client 100 together with the FEK-ID.

E−FEKを受信したクライアント100は、ファイルオーナの秘密鍵を用いて、前記受信したE−FEKを復号化する(ステップS112)。   The client 100 that has received the E-FEK decrypts the received E-FEK using the file owner's private key (step S112).

クライアント100は、FEK暗復号処理部102にて、ステップS112で得られたFEKを用いて、ステップS104にて作成したファイルを暗号化する(ステップS113)。その後、クライアント100は、図4に示したようにFEK IDを付加した暗号化ファイル(図4の暗号化ファイル500参照)をストレージサーバ300に送信する(ステップS114)。   In the FEK encryption / decryption processing unit 102, the client 100 encrypts the file created in step S104 using the FEK obtained in step S112 (step S113). Thereafter, the client 100 transmits the encrypted file with the FEK ID added (see the encrypted file 500 in FIG. 4) to the storage server 300 as shown in FIG. 4 (step S114).

ストレージサーバ300は、クライアント100から受信した暗号化ファイルを、暗号化ファイル記憶部401に格納する(ステップS115)。   The storage server 300 stores the encrypted file received from the client 100 in the encrypted file storage unit 401 (step S115).

以上により、暗号化ファイルが暗号化ファイル記憶部401に記憶されるとともに、ファイルオーナを含む当該ファイルにアクセス可能な主体のE−FEKが、E−FEK記憶部402に記憶されて、いつでも利用可能な状態となる。   As described above, the encrypted file is stored in the encrypted file storage unit 401, and the main E-FEK that can access the file including the file owner is stored in the E-FEK storage unit 402 and can be used anytime. It becomes a state.

[ファイルの利用]
図6は、本発明の第1の実施形態の動作(ファイル利用時)を示す流れ図である。図6を参照すると、まず、ファイル利用者(ユーザあるいはサービス)がファイルの利用に先立ってクライアント100あるいはサービスインスタンス200を利用してストレージサーバ300に認証を依頼する(ステップS200)。
[Use of file]
FIG. 6 is a flowchart showing the operation (when using a file) of the first embodiment of the present invention. Referring to FIG. 6, first, a file user (user or service) requests authentication from the storage server 300 using the client 100 or service instance 200 prior to use of the file (step S200).

ストレージサーバ300は、認証部302を利用しファイル利用者の認証を行い、その公開鍵を確定する(ステップS201)。なお、ステップS200、S201における認証方式については、ステップS100、S101と同様、特に限定するものではなく、パスワードやバイオメトリクス情報を用いる方式などを適宜採用することができる。また、ここで確定する公開鍵としてファイル利用者から受信したものを用いてもよいし、あるいは、ストレージサーバ300側に保持されている正規ユーザ(認証済みユーザ)の公開鍵を読み出して公開鍵を確定することとしてもよい。   The storage server 300 authenticates the file user using the authentication unit 302 and determines its public key (step S201). Note that the authentication method in steps S200 and S201 is not particularly limited, as in steps S100 and S101, and a method using a password or biometric information can be appropriately employed. In addition, the public key received from the file user may be used as the public key determined here, or the public key of the authorized user (authenticated user) held on the storage server 300 side is read out and the public key is obtained. It may be confirmed.

次に、ストレージサーバ300は、無効化公開鍵リスト記憶部403から無効化された公開鍵のリストを読み出し(ステップS202)、ファイル利用者の公開鍵の有効性を検証する(ステップS203)。   Next, the storage server 300 reads the revoked public key list from the revoked public key list storage unit 403 (step S202), and verifies the validity of the public key of the file user (step S203).

前記公開鍵の有効性の検証の結果、ファイル利用者の公開鍵が無効化されていた場合、ストレージサーバ300は、E−FEK記憶部402に記憶されているリスト600を読み出し(ステップS207)、無効化された公開鍵と対応するE−FEKが登録されているリスト600から、無効化された公開鍵とE−FEKを削除する(ステップS204)。これにより、無効化された公開鍵にて暗号化されたE−FEKがシステム全体から削除され、無効化された公開鍵に対応する秘密鍵にて復号可能なFEKが存在しなくなる。なお、前記無効化された公開鍵とE−FEKの削除に代えて、これらを利用できないように、別の情報に書き換えてしまうなどの方法も適宜採用可能である。   If the public key of the file user is invalidated as a result of verification of the validity of the public key, the storage server 300 reads the list 600 stored in the E-FEK storage unit 402 (step S207), The revoked public key and E-FEK are deleted from the list 600 in which the revoked public key and the corresponding E-FEK are registered (step S204). As a result, the E-FEK encrypted with the revoked public key is deleted from the entire system, and there is no FEK that can be decrypted with the private key corresponding to the revoked public key. Instead of deleting the revoked public key and E-FEK, a method of rewriting to other information so that these cannot be used can be appropriately employed.

ファイル利用者の公開鍵の有効性が検証されると、ファイル利用者はストレージサーバ300に対し、ファイルのリクエストを行うことが可能となる。ファイル利用者がファイルのリクエストを行うと(ステップS205)、ストレージサーバ300は暗号化ファイル記憶部401からリクエストされた暗号化ファイルを読み出すとともに(ステップS206)、FEK IDおよび公開鍵に基づいて、E−FEK記憶部402から該当ファイル利用者の公開鍵で暗号化したE−FEKを読み出し(ステップS207)、ファイルリ利用者に返送する(ステップS208)。   When the validity of the file user's public key is verified, the file user can make a file request to the storage server 300. When the file user makes a request for the file (step S205), the storage server 300 reads the requested encrypted file from the encrypted file storage unit 401 (step S206), and based on the FEK ID and the public key, E The E-FEK encrypted with the public key of the corresponding file user is read from the FEK storage unit 402 (step S207) and returned to the file user (step S208).

ファイル利用者は、まず、ストレージサーバ300から受信したE−FEKを自身の秘密鍵で復号化し(ステップS209)、復号化したFEKを用いて暗号化ファイルを復号する(ステップS210)。   First, the file user decrypts the E-FEK received from the storage server 300 with his / her private key (step S209), and decrypts the encrypted file using the decrypted FEK (step S210).

その後、ファイル利用者は、ファイルを利用し(ステップS211)、再度ファイルをFEKで暗号化する(ステップS212)。   Thereafter, the file user uses the file (step S211), and encrypts the file again with FEK (step S212).

その後、ファイル利用者は、図4に示したようにFEK IDを付加した暗号化ファイル(図4の暗号化ファイル500参照)をストレージサーバ300に送信する(ステップS213)。   Thereafter, the file user transmits the encrypted file with the FEK ID added thereto as shown in FIG. 4 (see the encrypted file 500 in FIG. 4) to the storage server 300 (step S213).

ストレージサーバ300は、ファイル利用者から受信した暗号化ファイルを、暗号化ファイル記憶部401に格納する(ステップS214)。   The storage server 300 stores the encrypted file received from the file user in the encrypted file storage unit 401 (step S214).

以上により、利用後の暗号化ファイルが暗号化ファイル記憶部401に記憶される。   As described above, the encrypted file after use is stored in the encrypted file storage unit 401.

[ファイルを利用するサービスの開始]
図7は、本発明の第1の実施形態の動作(サービス開始時)を示す流れ図である。図7を参照すると、まず、サービスインスタンス200は新ユーザへのサービス提供開始指示をどこかから受けると(ステップS300)、ストレージサーバ300に認証を依頼する(ステップS301)。
[Start service using file]
FIG. 7 is a flowchart showing the operation (at the start of service) of the first exemplary embodiment of the present invention. Referring to FIG. 7, first, when the service instance 200 receives a service provision start instruction for a new user from somewhere (step S300), the service instance 200 requests authentication from the storage server 300 (step S301).

ストレージサーバ300は、認証部302を利用しサービスインスタンス200の認証を行い、その公開鍵を確定する(ステップS302)。なお、ステップS301、S302における認証方式については、ステップS100、S101と同様、特に限定するものではなく、パスワードやバイオメトリクス情報を用いる方式などを適宜採用することができる。また、ここで確定する公開鍵としてサービスインスタンス200側から受信したものを用いてもよいし、あるいは、ストレージサーバ300側に保持されている正規ユーザ(認証済みユーザ)の公開鍵を読み出して公開鍵を確定することとしてもよい。   The storage server 300 authenticates the service instance 200 using the authentication unit 302 and determines its public key (step S302). Note that the authentication method in steps S301 and S302 is not particularly limited as in steps S100 and S101, and a method using a password or biometric information can be appropriately employed. Also, the public key that is received from the service instance 200 side may be used as the public key to be determined here, or the public key of the authorized user (authenticated user) held on the storage server 300 side is read out and the public key It is good also as confirming.

次に、ストレージサーバ300は、無効化公開鍵リスト記憶部403から無効化された公開鍵のリストを読み出し(ステップS303)、サービスインスタンス200の公開鍵の有効性を検証する(ステップS304)。   Next, the storage server 300 reads the revoked public key list from the revoked public key list storage unit 403 (step S303), and verifies the validity of the public key of the service instance 200 (step S304).

前記公開鍵の有効性の検証の結果、サービスインスタンス200の公開鍵が無効化されていた場合、ストレージサーバ300は、E−FEK記憶部402に記憶されているリスト600を読み出し、無効化された公開鍵と対応するE−FEKが登録されているリスト600から、無効化された公開鍵とE−FEKを削除する(ステップS305)。これにより、無効化された公開鍵にて暗号化されたE−FEKがシステム全体から削除され、無効化された公開鍵に対応する秘密鍵にて復号可能なFEKが存在しなくなる。なお、前記無効化された公開鍵とE−FEKの削除に代えて、これらを利用できないように、別の情報に書き換えてしまうなどの方法も適宜採用可能である。   If the public key of the service instance 200 is invalidated as a result of the verification of the validity of the public key, the storage server 300 reads the list 600 stored in the E-FEK storage unit 402 and is invalidated. The revoked public key and E-FEK are deleted from the list 600 in which the E-FEK corresponding to the public key is registered (step S305). As a result, the E-FEK encrypted with the revoked public key is deleted from the entire system, and there is no FEK that can be decrypted with the private key corresponding to the revoked public key. Instead of deleting the revoked public key and E-FEK, a method of rewriting to other information so that these cannot be used can be appropriately employed.

サービスインスタンス200の公開鍵の有効性が検証されると、サービスインスタンス200は、ストレージサーバ300に対し、新ユーザへのサービス開始依頼を行うことが可能となる。サービスインスタンス200が新ユーザへのサービス開始依頼を行うと(ステップS306)、ストレージサーバ300は、サービスユーザリスト記憶部404からサービスユーザリストを読み出すとともに(ステップS307)、新ユーザと既存ユーザのそれぞれに対し、サービス提供伺いを送信する(ステップS308)。   When the validity of the public key of the service instance 200 is verified, the service instance 200 can request the storage server 300 to start a service for a new user. When the service instance 200 makes a service start request to a new user (step S306), the storage server 300 reads the service user list from the service user list storage unit 404 (step S307), and sends the new user and the existing user respectively. On the other hand, a service provision inquiry is transmitted (step S308).

前記サービス提供伺いを受信した新ユーザおよび既存ユーザは、それぞれサービスの利用を判断し(ステップS309、S311)、返答にデジタル署名をして返信する(ステップS310、S312)。   The new user and the existing user who have received the service provision inquiry each determine the use of the service (steps S309 and S311), and reply with a digital signature as a response (steps S310 and S312).

ストレージサーバ300は、デジタル署名検証部301を用いてそれらの回答の正当性を検証し(ステップS313)、新ユーザへのサービスを開始する場合、サービスユーザリスト記憶部404のサービスユーザリストに新ユーザを追加する(ステップS314)。   The storage server 300 verifies the validity of these responses using the digital signature verification unit 301 (step S313), and when starting a service for a new user, the new user is added to the service user list in the service user list storage unit 404. Is added (step S314).

さらに、ストレージサーバ300は、すでに暗号化ファイル記憶部401に登録されている新ユーザの暗号化ファイルに、サービスインスタンス200経由でアクセスできるようにするため、サービスの公開鍵と、前記新ユーザの暗号化ファイルを復号するためのFEKを暗号化したE−FEKをE−FEK記憶部402に追加する(ステップS315)。より具体的には、E−FEK記憶部402に記憶されているリストのうち、新ユーザの暗号化ファイルに対応するリストを抽出し、当該リストの中のストレージサーバの公開鍵で暗号化されているE−FEKを、ストレージサーバ300の秘密鍵で復号化し、サービスの公開鍵で再度暗号化し、リストに格納する処理が行われる。   Further, the storage server 300 allows the new user's encrypted file already registered in the encrypted file storage unit 401 to be accessed via the service instance 200, and the service public key and the new user's encryption file. The E-FEK obtained by encrypting the FEK for decrypting the encrypted file is added to the E-FEK storage unit 402 (step S315). More specifically, a list corresponding to the encrypted file of the new user is extracted from the list stored in the E-FEK storage unit 402, and is encrypted with the public key of the storage server in the list. The E-FEK is decrypted with the private key of the storage server 300, encrypted again with the service public key, and stored in the list.

以上のように、本実施の形態によれば、データの復号化に必要な秘密情報(おもにFEK)や、秘密情報から計算されるキー情報(おもにE−FEK)を必要以上にストレージシステムの外部に出さずともユーザ間あるいはユーザとサービスの間でデータの共有を実現することができる。その理由は、ファイルの復号化に必要なFEKを、アクセスが許可されたユーザあるいはサービスの公開鍵で暗号化(E−FEK)し、暗号化ファイルとは別の記憶媒体に保管し、暗号化ファイルへのアクセス時にはアクセス主体のE−FEKのみを選択使用するように構成したためである。   As described above, according to the present embodiment, secret information (mainly FEK) necessary for data decryption and key information (mainly E-FEK) calculated from the secret information is more than necessary outside the storage system. Data sharing between users or between users and services can be realized without going out. The reason is that the FEK required for decrypting the file is encrypted (E-FEK) with the public key of the authorized user or service, stored in a storage medium separate from the encrypted file, and encrypted. This is because only the access subject E-FEK is selectively used when accessing the file.

また、本実施の形態では、FEKとして、ファイル毎に生成したランダムな情報を用いることができる。前記FEKの暗号化には公開鍵暗号が使用されているため、あるデータのFEKが漏洩したとしても他のデータの安全性は脅かされることはないし、あるユーザのE−FEKが漏洩したとしてもそこからユーザのパスワードに代表される秘密情報が漏洩することはない。   In the present embodiment, random information generated for each file can be used as the FEK. Since public key cryptography is used for the encryption of the FEK, even if the FEK of some data is leaked, the safety of other data is not threatened, and even if the E-FEK of a certain user is leaked From there, confidential information represented by the user's password is never leaked.

また、本実施の形態では、さらに、無効化された公開鍵のリストを持ち、ストレージアクセスの際にストレージサーバ300がアクセス主体からのアクセスリクエストの有効性を検証した上で、適切なE−FEKを返却するようになっている。このため、秘密情報漏洩の検知と、該当する公開鍵の無効化公開鍵リストへの登録ができている場合においては、たとえ一部のユーザあるいはサービスのパスワードあるいは公開鍵暗号の秘密鍵に代表される秘密情報が漏洩したとしても、システムの他の部分の安全性が守られる。   Further, in the present embodiment, a list of revoked public keys is further provided, and the storage server 300 verifies the validity of the access request from the access subject at the time of storage access, and then an appropriate E-FEK. Is supposed to be returned. For this reason, in the case where detection of secret information leakage and registration of the corresponding public key in the revocation public key list have been made, it is represented by a password of some users or services or a secret key of public key cryptography. Even if confidential information leaks, the security of other parts of the system is protected.

また、本実施の形態では、さらに、暗号化ファイルにそのファイルの暗号化に使用したFEKのIDを付加するとともに、E−FEK記憶部402には、FEK ID毎に、アクセス主体の公開鍵とE−FEKとを組にしたリストを格納するようにしている。このため、データアクセスの際の認証時にアクセス主体の公開鍵が特定されれば、E−FEK記憶部402から、当該公開鍵に対応するE−FEKを読みだすことができる。つまり、E−FEKを総当り的に探索せずに済み、オーバーヘッドを抑えることのできる構成となっている。   In the present embodiment, the FEK ID used for encrypting the file is further added to the encrypted file, and the public key of the access subject is stored in the E-FEK storage unit 402 for each FEK ID. A list in which E-FEK is paired is stored. Therefore, if the public key of the access subject is specified at the time of data access authentication, the E-FEK corresponding to the public key can be read from the E-FEK storage unit 402. That is, it is not necessary to search for E-FEK in a brute force manner, and the overhead can be suppressed.

また、本実施の形態では、さらに、ファイルアクセスの際あるいはサービス開始の際に行われるファイル利用者あるいはサービスインスタンスの有効性検証の結果(図6のステップS203、図7のステップS304参照)、ファイル利用者あるいはサービスインスタンスの公開鍵が無効化されていた場合、ストレージサーバ300が、E−FEK記憶部402から、無効化された公開鍵と対応するE−FEKを削除するようになっている(図6のステップS204、図7のステップS305参照)。このため、たとえE−FEK記憶部402の漏洩と、無効化された公開鍵のユーザの秘密鍵の漏洩が発生してしまった場合にも、当該ユーザの秘密鍵からFEKを計算されないようにすることができる。   Further, in the present embodiment, the result of the validity verification of the file user or service instance that is performed at the time of file access or service start (see step S203 in FIG. 6 and step S304 in FIG. 7), file When the public key of the user or service instance has been revoked, the storage server 300 deletes the E-FEK corresponding to the revoked public key from the E-FEK storage unit 402 ( (See step S204 in FIG. 6 and step S305 in FIG. 7). For this reason, even if leakage of the E-FEK storage unit 402 and leakage of the user's private key with an invalid public key occur, the FEK is not calculated from the user's private key. be able to.

また、本実施の形態では、さらに、ユーザがサービスの利用を開始した際に、特に何かアクションを起こさずとも、ユーザが新たにサービスの利用を開始した場合に既存のファイルに関してもそのサービスのアクセス範囲に含めることができる。その理由は、ストレージサーバ300は、ユーザがサービスの利用を開始した際に、該当ユーザの既存ファイルにサービスインスタンス200経由でアクセスできるようにするため、サービスの公開鍵と、前記新ユーザの暗号化ファイルを復号するためのFEKを暗号化したE−FEKをE−FEK記憶部402を追加するようにしているためである(図7のステップS315)。   Further, in the present embodiment, when the user starts using the service, even if no action is taken, when the user newly starts using the service, the existing file is also updated. It can be included in the access range. The reason is that when the user starts using the service, the storage server 300 allows the user's existing file to be accessed via the service instance 200, and the service public key and the new user's encryption This is because the E-FEK encrypted with the FEK for decrypting the file is added to the E-FEK storage unit 402 (step S315 in FIG. 7).

また、本実施の形態では、E−FEK記憶部402にストレージサーバ300の公開鍵と、その公開鍵で暗号化したE−FEKを格納しているため、非常時に、ストレージサービス提供者側が、ファイルの内容を復元あるいはアクセスすることも可能となっている。   In this embodiment, since the public key of the storage server 300 and the E-FEK encrypted with the public key are stored in the E-FEK storage unit 402, the storage service provider side in the event of an emergency It is also possible to restore or access the contents.

[第2の実施形態]
続いて、上記本発明の第1の実施形態に変更を加えた第2の実施形態について説明する。本発明の第2の実施形態は、上記第1の実施形態と同一の構成で実現可能であり、基本的な動作も共通するので、以下、その相違点を説明する。
[Second Embodiment]
Next, a second embodiment in which a change is made to the first embodiment of the present invention will be described. Since the second embodiment of the present invention can be realized with the same configuration as the first embodiment and has the same basic operation, the differences will be described below.

本発明の第2の実施形態では、上記第1の実施形態における図6のステップS204と、図7のステップS305をそれぞれ省略するものである。   In the second embodiment of the present invention, step S204 in FIG. 6 and step S305 in FIG. 7 in the first embodiment are omitted.

このように、図6のステップS204と、図7のステップS305を省略することで処理の高速化が期待できる。なお、E−FEK記憶部402の漏洩と、ユーザやサービスの秘密鍵の漏洩が同時に起こった場合に、各ファイルの暗号化に使用したFEKが計算されてしまう可能性が生じるが、これについては、別途、既存の情報漏洩策を講ずればよい。   In this way, the processing speed can be increased by omitting step S204 in FIG. 6 and step S305 in FIG. In addition, when the leakage of the E-FEK storage unit 402 and the leakage of the secret key of the user or service occur at the same time, there is a possibility that the FEK used to encrypt each file may be calculated. Separately, existing information leakage measures may be taken.

[第3の実施形態]
続いて、上記本発明の第1の実施形態に変更を加えた第3の実施形態について説明する。本発明の第3の実施形態は、上記第1の実施形態と同一の構成で実現可能であり、基本的な動作も共通するので、以下、その相違点を説明する。
[Third Embodiment]
Next, a description will be given of a third embodiment in which a change is made to the first embodiment of the present invention. Since the third embodiment of the present invention can be realized with the same configuration as the first embodiment and has the same basic operation, the difference will be described below.

本発明の第3の実施形態では、上記第1の実施形態における図7のステップS315を省略するとともに、図5のステップS108を省略するものである。   In the third embodiment of the present invention, step S315 in FIG. 7 in the first embodiment is omitted, and step S108 in FIG. 5 is omitted.

このように、図7のステップS315と、図5のステップS108を省略することで、
E−FEK記憶部402に、ストレージサーバの公開鍵と対応するE−FEKを格納しなくて済むようになる。これは、ストレージサービス提供者側ですらファイルの内容にアクセスすることはできないという厳格なファイル管理ができることを意味する。
Thus, by omitting step S315 in FIG. 7 and step S108 in FIG.
It becomes unnecessary to store the E-FEK corresponding to the public key of the storage server in the E-FEK storage unit 402. This means that strict file management is possible in which even the storage service provider cannot access the contents of the file.

[第4の実施形態]
続いて、上記本発明の第1の実施形態に変更を加えた第4の実施形態について説明する。本発明の第4の実施形態は、上記第1の実施形態とほぼ同一の構成で実現可能であり、基本的な動作も共通するので、以下、その相違点を説明する。
[Fourth Embodiment]
Subsequently, a description will be given of a fourth embodiment in which a change is made to the first embodiment of the present invention. The fourth embodiment of the present invention can be realized with substantially the same configuration as the first embodiment, and the basic operation is also common. Therefore, the difference will be described below.

本発明の第4の実施形態では、ストレージサーバ300が、E−FEK記憶部402に記憶するリスト600(図4参照)を、別途定めた共通鍵暗号等を用いて、暗号化するものである。   In the fourth embodiment of the present invention, the storage server 300 encrypts the list 600 (see FIG. 4) stored in the E-FEK storage unit 402 by using a separately defined common key encryption or the like. .

このようにE−FEK記憶部402に記憶するリスト600(図4参照)を暗号化することで、ユーザやサービスインスタンスの秘密鍵が漏洩してしまい、かつ、その情報が無効化公開鍵リスト記憶部403に登録される前であっても、各ファイルの暗号化に用いたFEKの安全性を向上させることができる。   By encrypting the list 600 (see FIG. 4) stored in the E-FEK storage unit 402 in this way, the secret key of the user or service instance is leaked, and the information is stored in the invalidated public key list. Even before registration in the unit 403, the security of the FEK used for encrypting each file can be improved.

[第5の実施形態]
続いて、上記本発明の第1の実施形態に変更を加えた第5の実施形態について説明する。本発明の第5の実施形態は、上記第1の実施形態とほぼ同一の構成で実現可能であり、基本的な動作も共通するので、以下、その相違点を説明する。
[Fifth Embodiment]
Subsequently, a fifth embodiment in which a change is made to the first embodiment of the present invention will be described. The fifth embodiment of the present invention can be realized with substantially the same configuration as the first embodiment, and the basic operation is also common, so the difference will be described below.

本発明の第5の実施形態では、クライアント100またはサービスインスタンス200のファイル暗復号処理部103、203が、FEKでファイル全体を一度に暗号化するのではなく、ファイルをより小さな構成単位に分割したものを単位に、暗復号するようにしたものである。   In the fifth embodiment of the present invention, the file encryption / decryption processing units 103 and 203 of the client 100 or the service instance 200 do not encrypt the entire file at once with FEK, but divide the file into smaller structural units. The encryption / decryption is performed in units of things.

このようにより細かい単位で暗復号するようにすることで、ファイルの部分更新時の性能が改善される。   By performing encryption / decryption in finer units in this way, the performance at the time of partial update of the file is improved.

以上、本発明の実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。   As mentioned above, although embodiment of this invention was described, this invention is not limited to each above-mentioned embodiment, In the range which does not deviate from the fundamental technical idea of this invention, further modification, substitution, and adjustment Can be added.

例えば、上記した各実施形態では、ストレージサーバ300側にFEK生成器を備えた構成を前提に説明したが、図8に示すように、クライアント100(サービスインスタンス200も同様)側に、FEK生成器104を配置する構成も採用可能である。この場合、原則として、クライアント100でFEKの暗復号が行われることになる。また、この場合、システム全体で、ユニークなFEK IDを採番する必要があるが、例えば、各クライアント100に、予めクライアント毎に、FEK IDを割り当てておく方法やFEK IDの作成ルールを取り決めておく方法を採用できる。後者のFEK IDの作成ルールとしては、例えば、FEKのハッシュ値などを元にFEK IDを採番して払い出すモジュールをストレージサーバ300および各クライアント100側に備えておく方法が考えられる。   For example, in each of the above-described embodiments, the description has been made on the assumption that the storage server 300 is provided with the FEK generator. However, as shown in FIG. A configuration in which 104 is arranged can also be adopted. In this case, in principle, FEK encryption / decryption is performed by the client 100. In this case, it is necessary to assign a unique FEK ID to the entire system. For example, a method for assigning an FEK ID to each client 100 in advance and a rule for creating an FEK ID are determined. Can be used. As the latter FEK ID creation rule, for example, a method in which a module for assigning and paying out an FEK ID based on the FEK hash value or the like is provided on the storage server 300 and each client 100 side can be considered.

例えば、上記した各実施形態では、サービスユーザリスト記憶部404は、ストレージサーバ300からアクセスされるものとして説明したが、図8に示すように、サービスインスタンス200側でサービスユーザリスト記憶部206を管理する構成も採用可能である。   For example, in each of the embodiments described above, the service user list storage unit 404 has been described as being accessed from the storage server 300. However, as shown in FIG. 8, the service user list storage unit 206 is managed on the service instance 200 side. It is also possible to adopt a configuration that does this.

本発明は、ネットワークを介して複数のユーザにディスクスペースを提供するストレージサービスや、ウェブベースのサービスのバックエンドのストレージシステムといった用途に適用できる。   The present invention can be applied to applications such as a storage service that provides disk space to a plurality of users via a network, and a back-end storage system for a web-based service.

最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点によるファイル管理システム参照)
[第2の形態]
第1の形態において、
前記暗号化ファイル暗号鍵記憶部は、ファイル暗号鍵毎に、各ユーザまたはサービスの公開鍵と、当該公開鍵を用いて暗号化した暗号化ファイル暗号鍵(E−FEK)の組を列記したリストにより、公開鍵と暗号化ファイル暗号鍵(E−FEK)の組を管理するファイル管理システム。
[第3の形態]
第1、2の形態において、
前記ストレージサーバが、無効化された公開鍵を格納するリストに、前記ユーザまたはサービス毎に定められた公開鍵が格納されているか否かにより、前記公開鍵の有効性を確認するファイル管理システム。
[第4の形態]
第1−3の形態において、
前記ストレージサーバが、前記公開鍵の有効性の確認の結果、有効でないと判定された公開鍵にて暗号化された前記暗号化ファイル暗号鍵(E−FEK)を、書き換えまたは削除するファイル管理システム。
[第5の形態]
第1−4の形態において、
前記暗号化ファイル暗号鍵記憶部には、前記ストレージサーバの公開鍵で暗号化した暗号化ファイル暗号鍵(E−FEK)が格納されており、
前記ストレージサーバは、前記自身の公開鍵で暗号化した暗号化ファイル暗号鍵(E−FEK)を、前記公開鍵に対応する秘密鍵で復号して得られたファイル暗号鍵(FEK)を、新規に追加するユーザまたはサービスの公開鍵で暗号化することにより、前記暗号化ファイル暗号鍵記憶部に、ファイルへのアクセス権を持つユーザまたはサービスの暗号化ファイル暗号鍵(E−FEK)を追加するファイル管理システム。
[第6の形態]
第1−5の形態において、
さらに、サービスインスタンスとそのサービスインスタンスを利用するユーザの組を格納するサービスユーザリストを用いてユーザを管理するファイル管理システム。
[第7の形態]
(上記第2の視点によるストレージサーバ参照)
[第8の形態]
(上記第3の視点によるクライアント参照)
[第9の形態]
(上記第3の視点によるサービスインスタンス参照)
[第10の形態]
(上記第4の視点によるファイル管理方法参照)
[第11の形態]
(上記第5の視点によるプログラム参照)
[第12の形態]
(上記第5の視点によるプログラム参照)
なお、上記第7〜第12の形態は、第1の形態から派生する第2〜第6の形態と同様に展開することが可能である。
Finally, a preferred form of the invention is summarized.
[First embodiment]
(Refer to the file management system from the first point of view)
[Second form]
In the first form,
The encrypted file encryption key storage unit lists, for each file encryption key, a set of a public key of each user or service and an encrypted file encryption key (E-FEK) encrypted using the public key. A file management system that manages a set of a public key and an encrypted file encryption key (E-FEK).
[Third embodiment]
In the first and second forms,
A file management system in which the storage server confirms the validity of the public key based on whether or not a public key determined for each user or service is stored in a list that stores the revoked public key.
[Fourth form]
In the 1-3 form,
A file management system in which the storage server rewrites or deletes the encrypted file encryption key (E-FEK) encrypted with the public key determined to be invalid as a result of confirmation of the validity of the public key. .
[Fifth embodiment]
In the 1-4 type,
The encrypted file encryption key storage unit stores an encrypted file encryption key (E-FEK) encrypted with the public key of the storage server,
The storage server newly uses the file encryption key (FEK) obtained by decrypting the encrypted file encryption key (E-FEK) encrypted with the public key with the private key corresponding to the public key. The encrypted file encryption key (E-FEK) of the user or service having access rights to the file is added to the encrypted file encryption key storage unit by encrypting with the public key of the user or service to be added to File management system.
[Sixth embodiment]
In the form 1-5,
Furthermore, a file management system that manages users using a service user list that stores a service instance and a set of users who use the service instance.
[Seventh form]
(Refer to the storage server from the second viewpoint above)
[Eighth form]
(Refer to the client from the third viewpoint above)
[Ninth Embodiment]
(See service instance from the third perspective above)
[Tenth embodiment]
(Refer to the file management method from the fourth viewpoint.)
[Eleventh form]
(Refer to the program from the fifth viewpoint above)
[Twelfth embodiment]
(Refer to the program from the fifth viewpoint above)
The seventh to twelfth embodiments can be developed in the same manner as the second to sixth embodiments derived from the first embodiment.

10A、10B、100 クライアント
20、300 ストレージサーバ
21 アクセス要求受付部
22 ファイル暗号鍵暗号化部
23 無効化公開鍵情報記憶部
25、402 暗号化ファイル暗号鍵記憶部(E−FEK記憶部)
26、401 暗号化ファイル記憶部
101 ファイル入出力部
102 FEK暗復号処理部
103 ファイル暗復号処理部
104、304 FEK生成器
105、205、303 通信部
200 サービスインスタンス
201 サービス実行部
202 FEK暗復号処理部
203 ファイル暗復号処理部
206、404 サービスユーザリスト記憶部
301 デジタル署名検証部
302 認証部
305 FEK暗復号処理部
306 ストレージアクセス部
307 リクエスト有効性検証部
401 暗号化ファイル記憶部
402 E−FEK記憶部
403 無効化公開鍵リスト記憶部
500 暗号化ファイル
501 暗号化ファイル本体
502 FEK ID
600 リスト
10A, 10B, 100 Client 20, 300 Storage server 21 Access request receiving unit 22 File encryption key encryption unit 23 Invalidated public key information storage unit 25, 402 Encrypted file encryption key storage unit (E-FEK storage unit)
26, 401 Encrypted file storage unit 101 File input / output unit 102 FEK encryption / decryption processing unit 103 File encryption / decryption processing unit 104, 304 FEK generator 105, 205, 303 Communication unit 200 Service instance 201 Service execution unit 202 FEK encryption / decryption processing Unit 203 file encryption / decryption processing unit 206, 404 service user list storage unit 301 digital signature verification unit 302 authentication unit 305 FEK encryption / decryption processing unit 306 storage access unit 307 request validity verification unit 401 encrypted file storage unit 402 E-FEK storage 403 Invalidation public key list storage unit 500 Encrypted file 501 Encrypted file body 502 FEK ID
600 lists

Claims (10)

予め定められたファイル暗号鍵(FEK;File Encryption Key)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備えるストレージサーバと、
前記ストレージサーバから受け取った前記暗号化ファイル暗号鍵(E−FEK)を前記公開鍵に対応する秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアントまたはサービスインスタンスと、を含み、
前記ストレージサーバは、前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すファイル管理システム。
An encrypted file storage unit for storing a file encrypted using a predetermined file encryption key (FEK), and a public key determined for each user or service having access to the file A storage server comprising: an encrypted file encryption key storage unit that stores an encrypted file encryption key (E-FEK) obtained by encrypting the file encryption key (FEK);
A decryption processing unit for decrypting the encrypted file encryption key (E-FEK) received from the storage server with a secret key corresponding to the public key, and encrypting / decrypting the file using the decrypted file encryption key (FEK) An encryption / decryption processing unit, and a client or service instance comprising:
The storage server confirms the validity of a public key determined for each user or service having access rights to the file, and then sends an encrypted file encryption key (E-FEK) to the client or service instance. Pay out file management system.
前記暗号化ファイル暗号鍵記憶部は、ファイル暗号鍵毎に、各ユーザまたはサービスの公開鍵と、当該公開鍵を用いて暗号化した暗号化ファイル暗号鍵(E−FEK)の組を列記したリストにより、公開鍵と暗号化ファイル暗号鍵(E−FEK)の組を管理する請求項1のファイル管理システム。   The encrypted file encryption key storage unit lists, for each file encryption key, a set of a public key of each user or service and an encrypted file encryption key (E-FEK) encrypted using the public key. The file management system according to claim 1, wherein a set of a public key and an encrypted file encryption key (E-FEK) is managed. 前記ストレージサーバは、無効化された公開鍵を格納するリストに、前記ユーザまたはサービス毎に定められた公開鍵が格納されているか否かにより、前記公開鍵の有効性を確認する請求項1または2のファイル管理システム。   The storage server confirms the validity of the public key depending on whether or not a public key determined for each user or service is stored in a list storing the revoked public key. 2. File management system. 前記ストレージサーバは、前記公開鍵の有効性の確認の結果、有効でないと判定された公開鍵にて暗号化された前記暗号化ファイル暗号鍵(E−FEK)を、書き換えまたは削除する請求項1から3いずれか一のファイル管理システム。   The storage server rewrites or deletes the encrypted file encryption key (E-FEK) encrypted with a public key determined to be invalid as a result of confirmation of the validity of the public key. To 3 file management system. 前記暗号化ファイル暗号鍵記憶部には、前記ストレージサーバの公開鍵で暗号化した暗号化ファイル暗号鍵(E−FEK)が格納されており、
前記ストレージサーバは、前記自身の公開鍵で暗号化した暗号化ファイル暗号鍵(E−FEK)を、前記公開鍵に対応する秘密鍵で復号して得られたファイル暗号鍵(FEK)を、新規に追加するユーザまたはサービスの公開鍵で暗号化することにより、前記暗号化ファイル暗号鍵記憶部に、ファイルへのアクセス権を持つユーザまたはサービスの暗号化ファイル暗号鍵(E−FEK)を追加する請求項1から4いずれか一のファイル管理システム。
The encrypted file encryption key storage unit stores an encrypted file encryption key (E-FEK) encrypted with the public key of the storage server,
The storage server newly uses the file encryption key (FEK) obtained by decrypting the encrypted file encryption key (E-FEK) encrypted with the public key with the private key corresponding to the public key. The encrypted file encryption key (E-FEK) of the user or service having access rights to the file is added to the encrypted file encryption key storage unit by encrypting with the public key of the user or service to be added to The file management system according to claim 1.
さらに、サービスインスタンスとそのサービスインスタンスを利用するユーザの組を格納するサービスユーザリストを用いてユーザを管理する請求項1から5いずれか一のファイル管理システム。   6. The file management system according to claim 1, further comprising: managing a user using a service user list storing a service instance and a set of users who use the service instance. ストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK;Encrypted−File Encryption Key)を秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK;File Encryption Key)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアントまたはサービスインスタンスと、接続され、
ファイル暗号鍵(FEK)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備え、
前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すストレージサーバ。
A decryption processing unit that decrypts the encrypted file encryption key (E-FEK; Encrypted-File Encryption Key) received from the storage server with the secret key, and the file using the decrypted file encryption key (FEK; File Encryption Key) An encryption / decryption processing unit for encryption / decryption, connected to a client or a service instance,
Using the file encryption key (FEK), an encrypted file storage unit for storing a file encrypted, and a public key defined for each user or service having access to the file, the file encryption key ( An encrypted file encryption key storage unit for storing an encrypted file encryption key (E-FEK) obtained by encrypting FEK),
A storage server that issues an encrypted file encryption key (E-FEK) to the client or service instance after confirming the validity of a public key determined for each user or service having access to the file .
請求項7のストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK;Encrypted−File Encryption Key)を秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK;File Encryption Key)を用いてファイルを暗復号する暗復号処理部と、を備えるクライアント。   A decryption processing unit for decrypting an encrypted file encryption key (E-FEK; Encrypted-File Encryption Key) received from the storage server of claim 7 and a decrypted file encryption key (FEK; File Encryption Key) A client comprising: an encryption / decryption processing unit for encrypting / decrypting the file. 請求項7のストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK;Encrypted−File Encryption Key)を秘密鍵で復号する復号処理部と、前記復号したファイル暗号鍵(FEK;File Encryption Key)を用いてファイルを暗復号する暗復号処理部と、を備えるサービスインスタンス。   A decryption processing unit for decrypting an encrypted file encryption key (E-FEK; Encrypted-File Encryption Key) received from the storage server of claim 7 and a decrypted file encryption key (FEK; File Encryption Key) A service instance comprising: an encryption / decryption processing unit for encrypting / decrypting the file. 予め定められたファイル暗号鍵(FEK;File Encryption Key)を用いて暗号化されたファイルを格納する暗号化ファイル記憶部と、ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵を用いて、前記ファイル暗号鍵(FEK)を暗号化した暗号化ファイル暗号鍵(E−FEK)を格納する暗号化ファイル暗号鍵記憶部と、を備えるストレージサーバが、クライアントまたはサービスインスタンスからの要求に応じて、前記ファイルへのアクセス権を持つユーザまたはサービス毎に定められた公開鍵の有効性を確認してから、前記クライアントまたはサービスインスタンスに対し、暗号化ファイル暗号鍵(E−FEK)を払い出すステップと、
前記クライアントまたはサービスインスタンスが、前記ストレージサーバから受け取った暗号化ファイル暗号鍵(E−FEK)を前記公開鍵に対応する秘密鍵で復号するステップと、
前記復号したファイル暗号鍵(FEK)を用いてファイルを暗復号する暗復号ステップと、
を含むファイル管理方法。
An encrypted file storage unit for storing a file encrypted using a predetermined file encryption key (FEK), and a public key determined for each user or service having access to the file And a storage server comprising an encrypted file encryption key storage unit for storing an encrypted file encryption key (E-FEK) obtained by encrypting the file encryption key (FEK), in response to a request from a client or a service instance. Accordingly, after confirming the validity of the public key defined for each user or service having access rights to the file, an encrypted file encryption key (E-FEK) is paid to the client or service instance. Step to issue,
The client or service instance decrypting the encrypted file encryption key (E-FEK) received from the storage server with a private key corresponding to the public key;
An encryption / decryption step of encrypting / decrypting the file using the decrypted file encryption key (FEK);
File management method including.
JP2010096275A 2010-04-19 2010-04-19 File management system, storage server, client, file management method and program Active JP5494171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010096275A JP5494171B2 (en) 2010-04-19 2010-04-19 File management system, storage server, client, file management method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010096275A JP5494171B2 (en) 2010-04-19 2010-04-19 File management system, storage server, client, file management method and program

Publications (2)

Publication Number Publication Date
JP2011227673A JP2011227673A (en) 2011-11-10
JP5494171B2 true JP5494171B2 (en) 2014-05-14

Family

ID=45042949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010096275A Active JP5494171B2 (en) 2010-04-19 2010-04-19 File management system, storage server, client, file management method and program

Country Status (1)

Country Link
JP (1) JP5494171B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5511925B2 (en) * 2012-10-06 2014-06-04 三菱電機株式会社 Encryption device with access right, encryption system with access right, encryption method with access right, and encryption program with access right
JP6131644B2 (en) * 2013-03-12 2017-05-24 株式会社リコー Information processing apparatus and information processing system
JP6228438B2 (en) * 2013-11-25 2017-11-08 株式会社沖データ Information processing apparatus, information processing system, and information processing method
CN112948839A (en) * 2019-11-26 2021-06-11 北京国科环宇科技股份有限公司 Method, system and device for managing data by adopting wallet client
US11265152B2 (en) * 2020-01-09 2022-03-01 Western Digital Technologies, Inc. Enrolment of pre-authorized device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041461A (en) * 2000-07-31 2002-02-08 Nippon Telegraph & Telephone East Corp Method and system for sharing conference material in electronic conference system
JP3793056B2 (en) * 2001-08-08 2006-07-05 日本電信電話株式会社 Attribute certificate invalidation method, attribute authentication apparatus, and program thereof
JP4298496B2 (en) * 2003-12-26 2009-07-22 シャープ株式会社 Print management system and printer used in the print management system
JP2006033624A (en) * 2004-07-20 2006-02-02 Japan Telecom Co Ltd Communication control system
JP4471129B2 (en) * 2006-12-22 2010-06-02 財団法人北九州産業学術推進機構 Document management system, document management method, document management server, work terminal, and program

Also Published As

Publication number Publication date
JP2011227673A (en) 2011-11-10

Similar Documents

Publication Publication Date Title
EP3089399B1 (en) Methods and devices for securing keys for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management
US9805350B2 (en) System and method for providing access of digital contents to offline DRM users
CN100454274C (en) Safty printing using secrete key after being checked
CN105103119A (en) Data security service
CN105122265B (en) Data safety service system
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
JP2020010267A (en) Distributed medical information sharing system, medical information provision server, and program
JP2012518329A (en) A framework for trusted cloud computing and services
CN105027130A (en) Delayed data access
CN105103488A (en) Policy enforcement with associated data
JP4256361B2 (en) Authentication management method and system
JP4525609B2 (en) Authority management server, authority management method, authority management program
KR20230041971A (en) Method, apparatus and computer readable medium for secure data transfer over a distributed computer network
JP2010514000A (en) Method for securely storing program state data in an electronic device
WO2007086015A2 (en) Secure transfer of content ownership
JP5452192B2 (en) Access control system, access control method and program
WO2019083379A1 (en) Data transmission
JP5494171B2 (en) File management system, storage server, client, file management method and program
JP4465952B2 (en) Document management system and method
JP5404501B2 (en) Encrypted information expiration date extension system, expiration date extension method and program
JP2005197912A (en) Method and program for information disclosure control and tamper resistant instrument
JP6712707B2 (en) Server system and method for controlling a plurality of service systems
CN107317823A (en) Encryption method and system in a kind of cloud storage system
JP4657706B2 (en) Authority management system, authentication server, authority management method, and authority management program
JP2012156809A (en) Content distribution system, mobile communication terminal device, and browsing control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5494171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150