JP2023048659A - System comprising protection function of file, method for protecting file and protection program of file - Google Patents

System comprising protection function of file, method for protecting file and protection program of file Download PDF

Info

Publication number
JP2023048659A
JP2023048659A JP2021158097A JP2021158097A JP2023048659A JP 2023048659 A JP2023048659 A JP 2023048659A JP 2021158097 A JP2021158097 A JP 2021158097A JP 2021158097 A JP2021158097 A JP 2021158097A JP 2023048659 A JP2023048659 A JP 2023048659A
Authority
JP
Japan
Prior art keywords
client
file
metadata
user
private 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.)
Pending
Application number
JP2021158097A
Other languages
Japanese (ja)
Inventor
匠 星
Takumi Hoshi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2021158097A priority Critical patent/JP2023048659A/en
Publication of JP2023048659A publication Critical patent/JP2023048659A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a technology which protects a file on a network.SOLUTION: A system 100 which protects files of each user of a plurality of terminals 150A, 150B, 150C, is used as a server or cloud service, and usable from the plurality of terminals 150A, 150B, 150C. The system 100 comprises: a communication unit 130 for communicating with each of the plurality of terminals 150A, 150B, 150C through a network; a file system 126 for managing the files of each user of the plurality of terminals 150A, 150B, 150C; an encryption unit 124 for encrypting metadata referred by the file system 126; and a decode unit 123 for decoding the metadata.SELECTED DRAWING: Figure 1

Description

本開示は、複数のユーザによって使用されるシステムに関し、より特定的には、ファイルの暗号化に関する。 FIELD OF THE DISCLOSURE The present disclosure relates to systems used by multiple users, and more particularly to file encryption.

近年、ユーザがインターネット経由で遠隔地にあるデータセンターからCPU(Central Processing Unit)の演算能力、データストレージ等のコンピュータリソースを借用可能なクラウドサービス等が普及している。このようなクラウドサービスは、ユーザが必要に応じて使用するコンピュータリソースを柔軟に変更できる等の利点を有する。その反面、クラウドサービスは、常時インターネットに接続されているため、クラウドサービス上のデータへの不正アクセスが課題となっている。不正アクセスへの対策として、例えば、クラウドサービス上のデータを暗号化する方法がある。 BACKGROUND ART In recent years, cloud services and the like that allow users to borrow computer resources such as computing power of CPUs (Central Processing Units) and data storage from remote data centers via the Internet have become widespread. Such cloud services have advantages such as allowing users to flexibly change computer resources to be used as needed. On the other hand, since cloud services are always connected to the Internet, unauthorized access to data on cloud services is a problem. As a countermeasure against unauthorized access, for example, there is a method of encrypting data on cloud services.

クラウドサービス上のデータへの不正アクセスへの対策に関し、例えば、特表2012-527838号公報(特許文献1)は、「クラウドコンピューティングリソースに確実にデータを記憶し、それとデータを通信する任意の好適なシステムに統合され得る確実なデータパーサ」を開示している。当該データパーサは、「データを解析し、次いで、区別して記憶または伝達される複数の部分にデータを分割する。元のデータ、データの複数部分、または両方の暗号化が、付加的な安全性のために採用されてもよい。データの暗号化は、データの第1の解析、分割、および/または分離の前または後に行われてもよい。加えて、暗号化ステップは、1つ以上のデータ部分について繰り返されてもよい」というものである([要約]参照)。 Regarding countermeasures against unauthorized access to data on cloud services, for example, Japanese National Publication of International Patent Application No. 2012-527838 (Patent Document 1) states, "Any data that reliably stores data in a cloud computing resource and communicates data with it. A robust data parser that can be integrated into any suitable system." The data parser "parses the data and then splits the data into multiple parts that are stored or communicated separately. Encryption of the original data, multiple parts of the data, or both may provide additional security." The encryption of the data may be performed before or after the first analysis, division and/or separation of the data.In addition, the encryption step may be performed by one or more may be repeated for the data part” (see [Summary]).

特表2012-527838号公報Japanese Patent Publication No. 2012-527838

上記のように、クラウドサービスは常時インターネットに接続されている。そのため、特許文献1に開示された技術によると、悪意ある第三者に秘密鍵特定の総当たり攻撃の時間的猶予を与えてしまう可能性がある。したがって、ネットワーク上のファイルを保護する技術が必要とされている。また、暗号化処理の負荷を削減するための技術が必要とされている。さらに、秘密鍵の更新を容易にするための技術が必要とされている。 As mentioned above, cloud services are always connected to the Internet. Therefore, according to the technique disclosed in Patent Document 1, there is a possibility that a malicious third party will have time to make a brute-force attack to identify the private key. Therefore, there is a need for techniques to protect files on networks. There is also a need for techniques for reducing the load of encryption processing. Further, there is a need for techniques to facilitate updating private keys.

本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ネットワーク上のファイルを保護する技術を提供することである。 The present disclosure has been made in view of the above background, and an object in one aspect is to provide technology for protecting files on a network.

他の局面における目的は、暗号化処理の負荷を削減する技術を提供することである。
さらに他の局面における目的は、秘密鍵の更新を容易にするための技術を提供することである。
An object in another aspect is to provide a technique for reducing the load of encryption processing.
An object in still another aspect is to provide a technique for facilitating updating of a private key.

ある実施の形態に従うと、複数の端末から利用可能なシステムが提供される。システムは、複数の端末の各々と通信するための通信部と、複数の端末の各ユーザのファイルを管理するためのファイルシステムと、ファイルシステムにより参照されるメタデータを暗号化するための暗号化部と、メタデータを復号するための復号部とを備える。 According to one embodiment, a system is provided that can be used from multiple terminals. The system includes a communication unit for communicating with each of a plurality of terminals, a file system for managing files of each user of the plurality of terminals, and an encryption unit for encrypting metadata referenced by the file system. and a decoding unit for decoding the metadata.

ある実施の形態に従うと、ネットワーク上のファイルを保護する技術を提供することができる。 According to one embodiment, techniques can be provided for protecting files on a network.

他の実施の形態に従うと、暗号化処理の負荷を削減する技術を提供することができる。
さらに他の実施の形態に従うと、秘密鍵の更新を容易にするための技術を提供することができる。
According to another embodiment, it is possible to provide a technique for reducing the load of encryption processing.
According to yet another embodiment, techniques can be provided for facilitating private key updating.

この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of this disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings.

ある実施の形態に従うシステム100の構成の一例を示す図である。1 illustrates an example configuration of a system 100 according to an embodiment; FIG. ストレージ110に格納されるファイルの構成の一例を示す図である。3 is a diagram showing an example of the configuration of files stored in the storage 110. FIG. ファイルシステム126が使用するメタデータの一例を示す図である。FIG. 4 is a diagram showing an example of metadata used by the file system 126; FIG. メタデータおよび記憶媒体400上のデータ(ファイル)との関係の一例を示す図である。4 is a diagram showing an example of the relationship between metadata and data (files) on the storage medium 400. FIG. システム100の暗号化および復号の処理手順の一例を示すシーケンス図である。4 is a sequence diagram showing an example of an encryption and decryption processing procedure of the system 100; FIG. システム100におけるメタデータの復号の流れの一例を示す図である。FIG. 3 is a diagram showing an example of the flow of metadata decoding in system 100. FIG. システム100におけるメタデータの暗号化の流れの一例を示す図である。4 is a diagram showing an example of the flow of metadata encryption in system 100. FIG. ある実施の形態に従う別のシステム800の構成の一例を示す図である。8 illustrates an example configuration of another system 800 according to an embodiment. FIG. システム800の暗号化および復号の処理手順の一例を示すシーケンス図である。8 is a sequence diagram showing an example of the encryption and decryption processing procedures of system 800. FIG. システム800におけるメタデータの復号の流れの一例を示す図である。8 is a diagram illustrating an example of a metadata decoding flow in system 800. FIG. システム100およびシステム800として使用される情報処理装置1100のハードウェア構成の一例を示す図である。1 is a diagram showing an example of a hardware configuration of an information processing device 1100 used as systems 100 and 800; FIG.

以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the technical concept according to the present disclosure will be described with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

図1は、本実施の形態に従うシステム100の構成の一例を示す図である。図1を参照して本実施の形態に従うシステム100が備える各構成およびシステム100の用途について説明する。システム100は、例えば、データセンターに構築されたクラウドサービス、サーバ等であり、遠隔地のユーザの端末等に記憶領域、演算リソース、各種アプリケーション等を提供し得る。また、システム100は、ユーザのファイルを不正アクセスから保護するための機能を備える。本開示におけるファイルは、任意の形式のデータ、ディレクトリ等を含んでもよい。そのため、ファイルをデータと読み替えてもよい。ある局面において、システム100は、1以上の情報処理装置1100(図11参照)によって実現されてもよい。 FIG. 1 is a diagram showing an example of the configuration of system 100 according to this embodiment. Each configuration included in system 100 according to the present embodiment and the application of system 100 will be described with reference to FIG. The system 100 is, for example, a cloud service, a server, or the like built in a data center, and can provide storage areas, computing resources, various applications, and the like to remote user terminals and the like. The system 100 also includes functionality to protect the user's files from unauthorized access. A file in this disclosure may contain any type of data, directory, or the like. Therefore, files may be read as data. In one aspect, system 100 may be implemented by one or more information processing devices 1100 (see FIG. 11).

システム100は、ストレージ110と、ネットワークインターフェイス130とを備える。また、ストレージ110は、アプリケーション120を含む。アプリケーション120は、クライアント操作アプリケーション121と、ログインシステム122と、クライアント領域復号システム123と、クライアント領域暗号システム124と、OS(Operating System)125とを含む。OS125は、ファイルシステム126と、データ領域140とを管理する。 System 100 comprises storage 110 and network interface 130 . Storage 110 also includes application 120 . The application 120 includes a client operation application 121 , a login system 122 , a client area decryption system 123 , a client area encryption system 124 and an OS (Operating System) 125 . OS 125 manages file system 126 and data area 140 .

また、システム100は、ネットワーク170を介して任意の数のクライアント150と通信し得る。以降の説明において、複数の同一の構成については、個別には、クライアントA_150A,クライアントB_150B,クライアントC_150Cのように呼ぶこともある。また、これらの構成を総称する場合は、クライアント150のように呼ぶこともある。また、これ以降の説明において、クライアント150は、ユーザが使用する端末として説明する。しかしながら、クライアントA_150Aは1台の端末であるとは限らない。クライアントA_150Aは、ユーザAが使用する複数台の端末を含んでいてもよい。システム100は、ユーザAがある端末A1および端末A2を介してユーザAのアカウントを使用してシステム100にアクセスする場合、端末A1,A2の両方をクライアントA_150Aであると判定してもよい。すなわち、システム100は、ユーザAのアカウントに紐付く(ユーザAによって使用される)全ての端末をクライアントA_150Aと見なしてもよい。そのため、各クライアント150は、各ユーザ、各ユーザアカウント、システム100のアカウントを有する各ユーザの端末と読み替えてもよい。また、システム100が記憶する各クライアント150のファイルとは、各ユーザのファイルであるとも言える。 Also, system 100 may communicate with any number of clients 150 via network 170 . In the following description, a plurality of identical configurations may be individually referred to as client A_150A, client B_150B, and client C_150C. In addition, when collectively referring to these configurations, they may be referred to as the client 150 . Also, in the following description, the client 150 will be described as a terminal used by a user. However, client A_150A is not necessarily one terminal. Client A_150A may include multiple terminals that user A uses. System 100 may determine that both terminals A1 and A2 are clients A_150A when user A accesses system 100 using user A's account via certain terminals A1 and A2. That is, the system 100 may regard all terminals (used by user A) associated with user A's account as client A_150A. Therefore, each client 150 may be read as each user, each user account, or each user's terminal having an account of the system 100 . It can also be said that the files of each client 150 stored by the system 100 are the files of each user.

ストレージ110は、各種プログラムおよびデータを格納する。ある局面において、ストレージ110は、1以上のHDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリ、および、これらの組み合わせによって実現されてもよい。 The storage 110 stores various programs and data. In one aspect, the storage 110 includes one or more HDD (Hard Disk Drive), SSD (Solid State Drive), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory) or flash memory, and may be realized by a combination of

アプリケーション120は、システム100によって実行される各種アプリケーションを含む。アプリケーション120は、一例として、クラウドサービスが提供するクライアント操作アプリケーション121と、ログインシステム122と、クライアント領域復号システム123と、クライアント領域暗号システム124とに加え、ストレージ110上にユーザが使用可能なインスタンスとして実現されたOS125を含む。また、アプリケーション120は、図1に示される構成以外の任意のアプリケーションを含んでいてもよい。 Applications 120 include various applications executed by system 100 . The application 120 includes, for example, a client operation application 121, a login system 122, a client area decryption system 123, and a client area encryption system 124 provided by the cloud service, as an instance that can be used by the user on the storage 110. Contains an implemented OS 125 . Applications 120 may also include any application other than the configuration shown in FIG.

クライアント操作アプリケーション121は、複数のクライアント150の各々と通信する。クライアント操作アプリケーション121は、バージョン管理サービス、オンラインストレージサービス等の各種サービスに対する操作機能を提供する。ある局面において、クライアント操作アプリケーション121は、UI(User Interface)としてウェブアプリケーション画面をクライアント150に提供してもよい。この場合、クライアント150は、ブラウザ機能を用いて、クライアント操作アプリケーション121から配信された各種サービスの操作画面をクライアント150のディスプレイに表示し得る。他の局面において、クライアント操作アプリケーション121は、クライアント150にインストールされるクライアントアプリケーションと通信してもよい。この場合、クライアント150は、システム100または他の任意のサーバ等からクライアントアプリケーションをダウンロードおよびインストールし得る。 The client operation application 121 communicates with each of the multiple clients 150 . The client operation application 121 provides operation functions for various services such as version management service and online storage service. In one aspect, the client operation application 121 may provide the client 150 with a web application screen as a UI (User Interface). In this case, the client 150 can use the browser function to display operation screens for various services delivered from the client operation application 121 on the display of the client 150 . In other aspects, client operations application 121 may communicate with a client application installed on client 150 . In this case, client 150 may download and install a client application from system 100 or any other server or the like.

クライアント150は、クライアント操作アプリケーション121を介して、システム100が提供する各種アプリケーションを使用すること加え、データ領域140に保存されたデータにアクセスすることができる。 The client 150 can access data stored in the data area 140 in addition to using various applications provided by the system 100 via the client operation application 121 .

ログインシステム122は、各クライアント150に対して認証処理を実行する。ある局面において、ログインシステム122は、ID(Identifier)およびパスワードを使用したユーザ認証機能を提供してもよい。他の局面において、ログインシステム122は、ワンタイムパスワードを使用したユーザ認証機能を提供してもよい。また、他の局面において、ログインシステム122は、ソフトウェアトークンまたはハードウェアトークンを使用したユーザ認証機能を提供してもよい。また、他の局面において、ログインシステム122は、生体情報を使用したユーザ認証機能を提供してもよい。さらに他の局面において、ログインシステム122は、任意の複数の方式を組み合わせたユーザ認証機能を提供してもよい。 The login system 122 performs authentication processing for each client 150 . In one aspect, the login system 122 may provide a user authentication function using an ID (Identifier) and password. In other aspects, login system 122 may provide user authentication functionality using one-time passwords. In other aspects, login system 122 may also provide user authentication functionality using software tokens or hardware tokens. Also, in another aspect, the login system 122 may provide a user authentication function using biometric information. In yet another aspect, the login system 122 may provide a user authentication function that combines arbitrary multiple methods.

OS125は、ユーザがストレージ110内に保存したファイルのファイル構造を管理するためのファイルシステムを提供する。ストレージ110は、ファイル本体と、当該ファイルの所有権、位置、サイズ、名称等の情報を含むメタデータとを含む。ファイルシステムは、当該メタデータを参照することにより、素早くファイルにアクセスする機能を提供する。ファイルシステムとして、例えば、ext2(Second Extended File System)、ext3(Third Extended File System)、ext4(Fourth Extended File System)、JFS(Journaled File System)、XFS(Extents File System)、FAT32(File Allocation Table 32)、NTFS(NT File System)等が知られている。システム100は、上記のファイルシステム、上記以外のファイルシステム、および、任意のファイルシステムの組み合わせをサポートし得る。 OS 125 provides a file system for managing the file structure of files stored in storage 110 by the user. The storage 110 includes a file body and metadata including information such as ownership, location, size and name of the file. A file system provides a function of quickly accessing files by referring to the metadata. As a file system, for example, ext2 (Second Extended File System), ext3 (Third Extended File System), ext4 (Fourth Extended File System), JFS (Journaled File System), XFS (Extents File System), FAT32 (File Allocation Table 32 ), NTFS (NT File System), and the like. System 100 may support the above file systems, other file systems, and any combination of file systems.

ファイルシステム126は、ファイルの管理機能およびファイルへの素早いアクセス機能を提供する。ファイルシステム126は、OS125の一機能として提供され得る。データ領域140に保存されるファイル群は、通常、ディレクトリ(フォルダとも呼ばれる)を用いた階層構造になっている。また、データ領域140は、システム100が使用するサーバファイル群141、各ユーザのファイル群(クライアントAファイル群142A、クライアントBファイル群142B、クライアントCファイル群142C)等を含み得る。 File system 126 provides file management and quick access to files. File system 126 may be provided as a function of OS 125 . A group of files saved in the data area 140 usually has a hierarchical structure using directories (also called folders). The data area 140 can also include a server file group 141 used by the system 100, a file group of each user (client A file group 142A, client B file group 142B, client C file group 142C), and the like.

ファイルシステム126は、データ領域140に保存されるファイル群を管理するためのメタデータを参照することで、データ領域140内の階層構造のファイル群の中から任意のファイルを素早く検索し得る。メタデータは、階層構造のファイル群を管理するための情報を含み、メタデータ自身も階層構造であってもよい。メタデータは、各ファイルのアドレス、各ディレクトリのアドレス、各ディレクトリの直下にある各ファイルのアドレス等、いわゆるポインタ、インデックス、アドレスまたはファイルを示すキーを含む。一例として、Linux(登録商標)は、i-nodeと呼ばれるデータ構造または領域でファイルを管理する。また、ウインドウズ(登録商標)は、NTFSにおいて、MFT(Master File Table)と呼ばれるデータ構造または領域によりファイルを管理する。 The file system 126 can quickly search for an arbitrary file among the hierarchically structured files in the data area 140 by referring to the metadata for managing the files stored in the data area 140 . The metadata includes information for managing a hierarchically structured file group, and the metadata itself may also have a hierarchical structure. The metadata includes so-called pointers, indexes, addresses, or keys indicating files, such as the address of each file, the address of each directory, and the address of each file directly under each directory. As an example, Linux (registered trademark) manages files in a data structure or area called an i-node. Windows (registered trademark) manages files in NTFS using a data structure or area called MFT (Master File Table).

ファイルシステム126は、データ領域140内のファイル群(システムまたはユーザ毎に割り当てられた領域に格納されるファイル群)の各々に対応するメタデータを管理してもよい。例えば、ファイルシステム126は、サーバファイル群141のメタデータであるサーバファイル領域127と、クライアントAファイル群142AのメタデータであるクライアントAファイル構成128Aと、クライアントBファイル群142BのメタデータであるクライアントBファイル構成128Bと、クライアントCファイル群142CのメタデータであるクライアントCファイル構成128Cとを管理してもよい。この場合、ファイルシステム126は、例えば、クライアントAファイル群142Aへのアクセス要求を受け付けた場合、クライアントAファイル構成128Aを参照すればよい。 The file system 126 may manage metadata corresponding to each of a group of files in the data area 140 (a group of files stored in an area allocated for each system or user). For example, the file system 126 includes a server file area 127 that is metadata of the server file group 141, a client A file structure 128A that is metadata of the client A file group 142A, and a client file area 128A that is metadata of the client B file group 142B. The B file structure 128B and the client C file structure 128C, which is the metadata of the client C file group 142C, may be managed. In this case, the file system 126 may refer to the client A file configuration 128A, for example, when receiving an access request to the client A file group 142A.

各ファイルまたはディレクトリには、アクセス権が設定されている。ファイルシステム126は、当該アクセス権に基づいて、各ユーザの各ファイルに対するアクセスを許可または禁止し得る。例えば、サーバファイル群141は、管理者アカウントのみ読み書き更新が可能であり、他のアカウントからは一切参照できない。また、クライアントAファイル群142Aは、クライアントA_150Aおよび管理者のみが読み書き更新が可能であり、他のユーザ(クライアントB_150B、クライアントC_150C等)からは一切参照できない。 Access rights are set for each file or directory. File system 126 may allow or prohibit access to each file for each user based on the access rights. For example, the server file group 141 can be read, written, and updated only by the administrator account, and cannot be referred to by other accounts. The client A file group 142A can be read, written, and updated only by the client A_150A and the administrator, and cannot be referred to by other users (client B_150B, client C_150C, etc.).

データ領域140は、ファイルが保存される領域である。システム100は、システムおよび各クライアント150(各ユーザ)に、データ領域140内の保存領域を割り当て得る。各クライアント150は、割り当てられた領域にのみファイルを格納できる。例えば、サーバファイル群141は、システム100に割り当てられた領域に保存され、同様に、クライアントAファイル群142Aは、クライアントA_150Aに割り当てられた領域内に保存される。 The data area 140 is an area where files are saved. The system 100 may allocate a storage area within the data area 140 to the system and each client 150 (each user). Each client 150 can store files only in the allocated area. For example, the server files 141 are stored in the area allocated to system 100, and similarly the client A files 142A are stored in the area allocated to client A_150A.

クライアント領域暗号システム(暗号化部)124は、各クライアントのファイル群(クライアントAファイル群142A、クライアントBファイル群142B、クライアントCファイル群142C)の各々に対応するメタデータ(クライアントAファイル構成128A、クライアントBファイル構成128B、クライアントCファイル構成128C)を暗号化する。すなわち、システム100は、各クライアント150のファイル本体を暗号化せずに、各クライアント150のファイルのメタデータを暗号化する。 The client area encryption system (encryption unit) 124 provides metadata (client A file configuration 128A, Encrypt client B file configuration 128B, client C file configuration 128C). That is, the system 100 encrypts the metadata of each client 150 file without encrypting the file body of each client 150 .

メタデータが暗号化された場合、ファイルシステム126は、ファイルを参照することができない。そのため、結果として、システム100は、メタデータを暗号化することにより、ファイル本体を不正アクセスから保護することができる。例えば、クライアント領域暗号システム124は、クライアントAファイル構成128Aを暗号化したとする。この場合、ファイルシステム126は、クライアントAファイル群142A内の各ファイルのポインタを参照できない。そのため、不正クライアント160は、仮にシステム100に侵入したとしても、ファイルシステム126の機能を用いてクライアントAファイル群142A内のファイルに不正アクセスすることはできない。 If the metadata is encrypted, file system 126 cannot reference the file. Therefore, as a result, the system 100 can protect the file itself from unauthorized access by encrypting the metadata. For example, client domain cryptosystem 124 may have encrypted client A file configuration 128A. In this case, the file system 126 cannot refer to the pointer of each file in the client A file group 142A. Therefore, even if the unauthorized client 160 invades the system 100, it cannot use the functions of the file system 126 to unauthorizedly access the files in the client A file group 142A.

また、メタデータは、ファイル本体と比較して非常にデータサイズが小さい。そのため、各クライアントのファイル群(クライアントAファイル群142A、クライアントBファイル群142B、クライアントCファイル群142C)の暗号化と比較して、メタデータ(クライアントAファイル構成128A、クライアントBファイル構成128B、クライアントCファイル構成128C)の暗号化は、極めて短い時間で実行可能である。従来技術は、各クライアント150のファイル群を直接暗号化するため暗号化処理に膨大な時間を必要とした。そのため、従来技術では秘密鍵を頻繁に更新することができなかった。これに対して、本開示の技術は、メタデータのみを暗号化することにより、秘密鍵の生成時間を短縮したことで、頻繁に秘密鍵を更新することができる。その結果、システム100は、総当たり攻撃等に対する高いセキュリティを提供し得る。 Also, the metadata has a very small data size compared to the file itself. Therefore, compared to encrypting each client's file group (client A file group 142A, client B file group 142B, client C file group 142C), metadata (client A file configuration 128A, client B file configuration 128B, client Encryption of the C file structure 128C) can be performed in a very short time. In the prior art, the file group of each client 150 is directly encrypted, which requires an enormous amount of time for encryption processing. Therefore, the conventional technology cannot frequently update the private key. In contrast, the technique of the present disclosure reduces the time required to generate the private key by encrypting only the metadata, so that the private key can be updated frequently. As a result, system 100 may provide increased security against brute force attacks and the like.

クライアント領域復号システム(復号部)123は、各クライアントのファイル群(クライアントAファイル群142A、クライアントBファイル群142B、クライアントCファイル群142C)の各々に対応するメタデータ(クライアントAファイル構成128A、クライアントBファイル構成128B、クライアントCファイル構成128C)を復号する。クライアント領域復号システム123は、例えば、クライアントA_150Aの認証処理が完了したことに基づいて、クライアントAファイル構成128Aを復号し得る。これにより、クライアントA_150Aがシステム100にログインしているとき以外は、クライアントAファイル構成128Aは暗号化されたままとなり、クライアントAファイル群142Aに対する不正アクセスを防止し得る。 The client area decryption system (decryption unit) 123 provides metadata (client A file configuration 128A, client B file structure 128B, client C file structure 128C) are decoded. Client domain decryption system 123 may decrypt client A file configuration 128A, for example, based on the completion of the authentication process for client A_150A. This allows client A file configuration 128A to remain encrypted except when client A_150A is logged into system 100, preventing unauthorized access to client A file group 142A.

ネットワークインターフェイス(通信部)130は、ネットワーク170を介して、各クライアント150と通信する。ネットワークインターフェイス130は、受信したメッセージをクライアント操作アプリケーション121、ログインシステム122等に転送し得る。 A network interface (communication unit) 130 communicates with each client 150 via the network 170 . Network interface 130 may forward received messages to client operation application 121, login system 122, and the like.

クライアント150は、パーソナルコンピュータ、スマートフォン、タブレットまたは他の任意の情報処理装置である。クライアント150は、秘密鍵151(秘密鍵A_151A、秘密鍵B_151C、秘密鍵C_151C)と、秘密鍵生成システム152(秘密鍵生成システム152A、秘密鍵生成システム152B、秘密鍵生成システム152C)と、ネットワークインターフェイス153(ネットワークインターフェイス153A、ネットワークインターフェイス153B、ネットワークインターフェイス153C)とを含み得る。 Client 150 is a personal computer, smart phone, tablet or any other information processing device. The client 150 includes a secret key 151 (secret key A_151A, secret key B_151C, secret key C_151C), a secret key generation system 152 (secret key generation system 152A, secret key generation system 152B, secret key generation system 152C), and a network interface. 153 (network interface 153A, network interface 153B, network interface 153C).

秘密鍵151は、クライアント150のファイル群のメタデータの暗号化および復号に使用される。クライアント150は、システム100によるクライアント150の認証成功後に、秘密鍵151をセキュアな通信でシステム100に送信する。クライアント領域復号システム123は、受信した秘密鍵151を用いて、ファイル群を復号する。一例として、クライアントA_150Aがシステム100にログインしたとする。クライアントA_150Aは、認証処理の完了後、秘密鍵A_151Aをシステム100に送信する。クライアント領域復号システム123は、秘密鍵A_151Aを用いて、クライアントAファイル構成128Aを復号する。復号処理後は、クライアントA_150Aは、クライアント操作アプリケーション121およびファイルシステム126を介して、クライアントAファイル群142Aにアクセス可能になる。 Private key 151 is used to encrypt and decrypt the metadata of client 150 files. Client 150 transmits private key 151 to system 100 in a secure communication after successful authentication of client 150 by system 100 . The client area decryption system 123 uses the received private key 151 to decrypt the file group. As an example, assume that client A_150A has logged into system 100 . Client A_150A transmits private key A_151A to system 100 after completing the authentication process. Client area decryption system 123 decrypts client A file configuration 128A using private key A_151A. After the decryption process, the client A_150A can access the client A file group 142A via the client operation application 121 and the file system 126. FIG.

秘密鍵生成システム152は、秘密鍵151を生成する。秘密鍵生成システム152は、クライアント150の認証が完了したタイミング、または、任意の予め定められたタイミングで新しい秘密鍵151を生成し得る。一例として、予め定められたタイミングは、前回の秘密鍵の生成から一定時間の経過後、各クライアント150の認証処理の成功後、クライアント150がシステム100に切断要求を送信した後、各クライアント150のログアウト処理の終了後等の任意のタイミングを含み得る。ネットワークインターフェイス130は、新しい秘密鍵151を受信する。ネットワークインターフェイス153Aは、新しく生成された秘密鍵151をシステム100に送信する。システム100は、次にクライアント150からアクセスがあった場合に、受信した秘密鍵151を復号に使用する。一例として、クライアントA_150Aがシステム100にログインしたとする。クライアントA_150Aは、認証処理の完了後、または、システム100とのセッションを切断する前のタイミングで、新しく生成した秘密鍵A_151Aをシステム100に送信する。システム100は、受信した秘密鍵A_151Aを用いて、クライアントAファイル構成128Aを暗号化する。すなわち、システム100は、クライアントA_150Aと通信する毎に、新しい秘密鍵を用いてクライアントAファイル構成128Aを暗号化する。このため、システム100は、不正クライアント160に対して総当たり攻撃の猶予を与えない。 A secret key generation system 152 generates a secret key 151 . The secret key generation system 152 can generate a new secret key 151 at the timing when the authentication of the client 150 is completed or at any predetermined timing. As an example, the predetermined timing is after a certain period of time has elapsed since the previous secret key was generated, after each client 150 has successfully authenticated, after each client 150 has transmitted a disconnection request to the system 100, and after each client 150 has Any timing, such as after the logout process ends, may be included. Network interface 130 receives new private key 151 . Network interface 153 A transmits newly generated private key 151 to system 100 . The system 100 uses the received private key 151 for decryption when the client 150 accesses it next time. As an example, assume that client A_150A has logged into system 100 . The client A_150A transmits the newly generated private key A_151A to the system 100 after completing the authentication process or before disconnecting the session with the system 100. FIG. System 100 uses the received private key A_151A to encrypt client A file configuration 128A. That is, system 100 encrypts client A file configuration 128A with a new private key each time it communicates with client A_150A. Therefore, the system 100 does not allow the unauthorized client 160 to brute-force attack.

ネットワークインターフェイス153は、ネットワーク170を介して、システム100と通信する。ネットワークインターフェイス153は、例えば、秘密鍵、認証処理のメッセージ、ファイルに対するアクセス要求、ファイル等を送受信し得る。 Network interface 153 communicates with system 100 via network 170 . The network interface 153 can send and receive, for example, private keys, authentication processing messages, access requests for files, files, and the like.

ネットワーク170は、LAN(Local Area Network)、インターネット、公衆電話網等の任意のネットワーク、または、これらの組み合わせにより実現され得る。各クライアント150およびシステム100は、ネットワーク170を介して、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)、http(Hyper Text Transfer Protocol)等の任意のプロトコルにより通信し得る。 The network 170 can be implemented by any network such as a LAN (Local Area Network), the Internet, a public telephone network, or a combination thereof. Each client 150 and system 100 can communicate via network 170 using any protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol), UDP (User Datagram Protocol), http (Hyper Text Transfer Protocol), or the like.

図2は、ストレージ110に格納されるファイルの構成の一例を示す図である。図2を参照して、ストレージ110に格納されるファイルの構成について説明する。 FIG. 2 is a diagram showing an example of the configuration of files stored in the storage 110. As shown in FIG. The configuration of files stored in the storage 110 will be described with reference to FIG.

サーバファイル群141は、一例として、ルート201と、OS領域202と、アプリケーション領域203と、クライアントデータ領域204とを含む。各領域は、ルートディレクトリ、OS領域ディレクトリのようにディレクトリとして表現されてもよい。 The server file group 141 includes, for example, a root 201 , an OS area 202 , an application area 203 and a client data area 204 . Each area may be expressed as a directory such as a root directory and an OS area directory.

ルート201は、OS125が管理する全てのファイルの最上位ディレクトリである。OS125が管理する全てのディレクトリは、ルート201の直下またはルート201内のサブディレクトリ内に格納される。 A root 201 is the highest directory for all files managed by the OS 125 . All directories managed by the OS 125 are stored directly under the root 201 or within subdirectories within the root 201 .

OS領域202は、OS125に関するファイルを格納する。OS125に関するファイルは、例えば、カーネル、ミドルウェア、ドライバ等である。また、OS領域202は、システムの設定ファイル等も含み得る。 The OS area 202 stores files related to the OS 125 . Files related to the OS 125 are, for example, kernel, middleware, and drivers. The OS area 202 may also include system setting files and the like.

アプリケーション領域203は、OS125にインストールされたアプリケーションのファイルおよびその設定ファイルを格納する。例えば、アプリケーション領域203に格納されるアプリケーションは、ウェブサーバ、データベースアプリケーション、またはその他の任意のアプリケーション等である。通常、OS領域202およびアプリケーション領域203へのアクセスには、管理者権限が必要となる。各クライアント150が個別に使用するアプリケーションは、各クライアント150のクライアント領域以下にインストールされる。 The application area 203 stores application files installed in the OS 125 and their setting files. For example, applications stored in application area 203 may be web servers, database applications, or any other applications. Access to the OS area 202 and the application area 203 usually requires administrator authority. Applications used individually by each client 150 are installed below the client area of each client 150 .

クライアントデータ領域204は、各クライアント150のファイルを格納する。図2に示される例では、クライアントデータ領域204は、クライアントA_150AのクライアントA領域210Aと、クライアントB_150BのクライアントB領域210Bと、クライアントC_150CのクライアントC領域210Cとを含んでいる。例えば、クライアントA領域210A以下が、クライアントA_150Aが使用可能な領域となる。 The client data area 204 stores files for each client 150 . In the example shown in FIG. 2, the client data area 204 includes a client A area 210A for client A_150A, a client B area 210B for client B_150B, and a client C area 210C for client C_150C. For example, the area below the client A area 210A is an area that can be used by the client A_150A.

各クライアント150は、自身のクライアントデータ領域以下に含まれるファイルに対するアクセス権を有する。一例として、クライアントA_150Aは、クライアントA領域210A以下のファイルに対するアクセス権を有する。具体的には、クライアントA_150Aは、データ211と、データ212と、サブディレクトリ213およびサブディレクトリ213以下のデータに対するアクセス権を有する。 Each client 150 has access to files contained below its own client data area. As an example, client A_150A has access rights to files under client A area 210A. Specifically, client A_150A has access rights to data 211, data 212, subdirectory 213, and data under subdirectory 213 and below.

また、クライアント150は、通常、他のクライアント150のディレクトリに対してはアクセス権を有さない。一例として、クライアントA_150Aは、クライアントB領域210BおよびクライアントC領域210Cへのアクセス権を有さない。 Also, clients 150 typically do not have access to the directories of other clients 150 . As an example, client A_150A does not have access to client B area 210B and client C area 210C.

図3は、ファイルシステム126が使用するメタデータの一例を示す図である。図3に示されるメタデータは一例であり、実際には、OS125は、任意のフォーマットで記述されたメタデータを格納し得る。 FIG. 3 is a diagram showing an example of metadata used by the file system 126. As shown in FIG. The metadata shown in FIG. 3 is an example, and in practice the OS 125 can store metadata described in any format.

メタデータは、図3に示されるように、ポインタ(アドレス)によりファイルの位置を管理する。例えば、OS125は、メタデータを参照することにより、ルート201の直下には、ポインタ「0x1000」により位置を示されるOS領域202と、ポインタ「0x2000」により位置を示されるアプリケーション領域203と、ポインタ「0x3000」により位置を示されるクライアントデータ領域204とが存在することを確認し得る。ポインタは、ファイルまたはディレクトリの先頭アドレスを示してもよい。 As shown in FIG. 3, the metadata manages the location of files using pointers (addresses). For example, by referring to the metadata, the OS 125 has an OS area 202 whose position is indicated by the pointer "0x1000", an application area 203 whose position is indicated by the pointer "0x2000", and a pointer "0x2000" directly below the root 201. 0x3000” and that there is a client data area 204 located there. A pointer may indicate the top address of a file or directory.

また、OS125は、クライアントデータ領域204の直下に、ポインタ「0x3100」により位置を示されるクライアントA領域210Aの最上位ディレクトリと、ポインタ「0x3200」により位置を示されるクライアントB領域210Bの最上位ディレクトリと、ポインタ「0x4100」により位置を示されるクライアントC領域210Cの最上位ディレクトリとが存在することを確認し得る。 In addition, the OS 125 creates, immediately below the client data area 204, the highest directory of the client A area 210A indicated by the pointer "0x3100" and the highest directory of the client B area 210B indicated by the pointer "0x3200". , and the top-level directory of client C area 210C located by pointer "0x4100".

さらに、OS125は、クライアントA領域210Aの直下に、ポインタ「0x3110」により位置を示されるデータ211と、ポインタ「0x3120」により位置を示されるデータ212と、ポインタ「0x3130」により位置を示されるサブディレクトリ213とが存在することを確認し得る。 Furthermore, the OS 125 places data 211 whose position is indicated by the pointer "0x3110", data 212 whose position is indicated by the pointer "0x3120", and subdirectory 213 exist.

上記のように、OS125は、再帰的にメタデータを参照することで、ストレージ110内の任意のファイルにアクセスすることができる。また、各ファイル(データおよびディレクトリを含む)のメタデータは、ファイルを示すキー310と、ファイルの位置を示すアドレス320と、ファイル(ディレクトリ)の直下にある各ファイルのポインタ(アドレス)と、さらに他の任意の情報(属性情報と呼ばれることもある)とを含み得る。 As described above, the OS 125 can access any file in the storage 110 by recursively referring to metadata. Metadata of each file (including data and directory) includes a key 310 indicating the file, an address 320 indicating the position of the file, a pointer (address) of each file directly under the file (directory), and further and any other information (sometimes called attribute information).

システム100は、各クライアント150のクライアント領域以下のメタデータを暗号化する。これにより、不正クライアント160は、OS125またはファイルシステム126を介してクライアント領域にアクセスすることができなくなる。システム100は、データサイズの小さいメタデータを暗号化するだけで、クライアント領域のファイル群を暗号化することと同等のセキュリティを実現し得る。 The system 100 encrypts metadata below the client area of each client 150 . This makes it impossible for the unauthorized client 160 to access the client area via the OS 125 or file system 126 . The system 100 can realize security equivalent to encrypting a file group in the client area only by encrypting metadata with a small data size.

図4は、メタデータおよび記憶媒体400上のデータ(ファイル)との関係の一例を示す図である。ストレージ110は、1以上のHDDまたはSSD等の任意の記憶媒体400によって構成される。記憶媒体400がHDDの場合、記憶媒体400は、セクタと呼ばれる単位でデータを格納する。また、記憶媒体400がSSDの場合、記憶媒体400は、ページ(ブロック)と呼ばれる単位でデータを格納する。記憶媒体400がフォーマットされることにより、各セクタまたは各ページ(ブロック)に対してアドレスが割り振られる。ファイルシステム126は、ポインタおよびセクタを関連付けて管理することで、記憶媒体400上のファイルを特定し得る。 FIG. 4 is a diagram showing an example of the relationship between metadata and data (files) on the storage medium 400. As shown in FIG. The storage 110 is composed of arbitrary storage media 400 such as one or more HDDs or SSDs. When the storage medium 400 is an HDD, the storage medium 400 stores data in units called sectors. If the storage medium 400 is an SSD, the storage medium 400 stores data in units called pages (blocks). By formatting the storage medium 400, an address is assigned to each sector or page (block). The file system 126 can identify files on the storage medium 400 by associating and managing pointers and sectors.

メタデータが含むポインタは、各セクタまたは各ページ(ブロック)に対応する。例えば、記憶媒体400がHDDの場合、ポインタ「0x3110」は、セクタ401に対応し、ポインタ「0x3120」は、セクタ402に対応し、ポインタ「0x3130」は、セクタ403に対応する。メタデータが暗号化された場合、OS125は、データが格納されたセクタまたはページ(ブロック)を特定できなくなり、ファイルが破損したと認識する。これにより、不正クライアント160はファイルシステム126の機能を使用できなくなるため、不正クライアント160にとってファイルへのアクセスが困難となる。 The metadata contains pointers corresponding to each sector or page (block). For example, when the storage medium 400 is an HDD, the pointer “0x3110” corresponds to sector 401 , the pointer “0x3120” corresponds to sector 402 , and the pointer “0x3130” corresponds to sector 403 . If the metadata is encrypted, the OS 125 cannot identify the sectors or pages (blocks) in which the data is stored, and recognizes that the file has been corrupted. As a result, the unauthorized client 160 cannot use the functions of the file system 126, making it difficult for the unauthorized client 160 to access files.

図5は、システム100の暗号化および復号の処理手順の一例を示すシーケンス図である。図5を参照して、クライアントA_150Aのファイルの暗号化および復号を例にシステム100の動作について説明する。 FIG. 5 is a sequence diagram showing an example of an encryption and decryption processing procedure of system 100. As shown in FIG. Referring to FIG. 5, the operation of system 100 will be described using the encryption and decryption of files of client A_150A as an example.

ステップS505において、クライアントA_150Aは、ユーザからシステム100に対するログイン操作を受け付ける。ログイン操作は、例えば、ユーザIDおよびパスワードの入力等である。ある局面において、クライアントA_150Aは、ブラウザを介してユーザからシステム100に対するログイン操作を受け付けてもよい。他の局面において、クライアントA_150Aは、システム100と通信するアプリケーションを介してユーザからシステム100に対するログイン操作を受け付けてもよい。 In step S505, client A_150A accepts a login operation to system 100 from the user. The login operation is, for example, inputting a user ID and password. In one aspect, client A_150A may accept a login operation to system 100 from a user via a browser. In another aspect, client A_150A may accept a login operation to system 100 from a user via an application that communicates with system 100. FIG.

ステップS510において、クライアントA_150Aは、システム100にログイン情報を送信する。ある局面において、ログイン情報は、秘密鍵A_151Aを含んでいてもよい。他の局面において、クライアントA_150Aは、認証処理の完了後に、システム100に秘密鍵A_151Aを送信してもよい。 In step S510, client A_150A sends login information to system 100. FIG. In one aspect, the login information may include private key A_151A. In another aspect, client A_150A may send private key A_151A to system 100 after completing the authentication process.

ステップS515において、システム100(ログインシステム122)は、クライアント認証処理を実行する。システム100(ログインシステム122)は、受信したログイン情報と、ストレージ110内に格納されているログイン情報とを比較することでクライアントA_150A(またはクライアントA_150Aのユーザ)を認証し得る。 In step S515, the system 100 (login system 122) executes client authentication processing. System 100 (login system 122) may authenticate client A_150A (or a user of client A_150A) by comparing the received login information with the login information stored in storage 110. FIG.

ステップS520において、システム100(クライアント領域復号システム123)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。 In step S520, the system 100 (client area decryption system 123) reads the encrypted client A file configuration 128A (metadata) from the storage 110. FIG.

ステップS525において、システム100(クライアント領域復号システム123)は、クライアントA_150Aから受信した秘密鍵A_151Aを用いて、暗号化されたクライアントAファイル構成128A(メタデータ)を復号する。 At step S525, system 100 (client area decryption system 123) decrypts encrypted client A file configuration 128A (metadata) using private key A_151A received from client A_150A.

ステップS530において、システム100(クライアント領域復号システム123)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。 In step S530, system 100 (client area decryption system 123) writes decrypted client A file configuration 128A (metadata) to storage 110. FIG.

ステップS535において、システム100(ログインシステム122)は、ログイン処理を完了する。 In step S535, the system 100 (login system 122) completes the login process.

ステップS540において、システム100(ログインシステム122)は、クライアントA_150Aにログイン処理完了通知を送信する。 In step S540, system 100 (login system 122) transmits a login processing completion notice to client A_150A.

ステップS545において、クライアントA_150Aは、ユーザからクライアント操作アプリケーション121の操作入力を受け付ける。例えば、ユーザは、クライアント操作アプリケーション121を介して、システム100が提供するアプリケーションの実行、および、クライアントAファイル群142Aの読み書きを行うことができる。 In step S545, the client A_150A receives an operation input for the client operation application 121 from the user. For example, the user can execute an application provided by the system 100 and read/write the client A file group 142A via the client operation application 121 .

ステップS550において、クライアントA_150Aは、システム100にユーザの操作入力に関するメッセージを送信する。 In step S550, client A_150A transmits a message regarding the user's operation input to system 100. FIG.

ステップS555において、システム100(クライアント操作アプリケーション121)は、ユーザの操作入力に基づいて、クライアントAファイル群142Aの読み出しまたは書き込み処理を実行する。ステップS545からステップS555までの処理は、クライアントA_150Aがユーザからログアウト要求の入力操作を受け付けるまで繰り返し実行され得る。 In step S555, the system 100 (client operation application 121) executes read or write processing of the client A file group 142A based on the user's operation input. The processing from step S545 to step S555 can be repeatedly executed until client A_150A receives an input operation of a logout request from the user.

ステップS560において、クライアントA_150Aは、秘密鍵A’(新しい秘密鍵)を生成する。ある局面において、クライアントA_150Aは、ログイン操作後の任意のタイミングで秘密鍵A’を生成してもよい。他の局面において、クライアントA_150Aは、ユーザからログアウト操作を受け付けたことに基づいて、秘密鍵A’を生成してもよい。 At step S560, client A_150A generates private key A' (new private key). In one aspect, the client A_150A may generate the private key A' at any timing after the login operation. In another aspect, client A_150A may generate private key A' based on accepting a logout operation from the user.

ステップS565において、クライアントA_150Aは、ユーザからログアウト操作の入力を受け付ける。 In step S565, client A_150A receives input of a logout operation from the user.

ステップS570において、クライアントA_150Aは、システム100に、ログアウト要求と共に新しく生成した秘密鍵A’を送信する。ある局面において、クライアントA_150Aは、認証処理の完了後の任意のタイミングで、システム100に新しく生成した秘密鍵A’を送信してもよい。 In step S570, client A_150A sends system 100 the newly generated private key A' along with a logout request. In one aspect, client A_150A may send newly generated private key A' to system 100 at any time after the completion of the authentication process.

ステップS575において、システム100(ログインシステム122)は、ログアウト処理を実行する。 In step S575, the system 100 (login system 122) executes logout processing.

ステップS580において、システム100(クライアント領域暗号システム124)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。 At step S580, system 100 (client area cryptographic system 124) reads decrypted client A file configuration 128A (metadata) from storage 110. FIG.

ステップS585において、システム100(クライアント領域暗号システム124)は、クライアントA_150Aから受信した秘密鍵A’を用いて、クライアントAファイル構成128A(メタデータ)を暗号化する。 At step S585, system 100 (client area cryptographic system 124) encrypts client A file configuration 128A (metadata) using private key A' received from client A_150A.

ステップS590において、システム100(クライアント領域暗号システム124)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。ある局面において、システム100(クライアント領域暗号システム124)は、ログアウト要求の受信後からログアウト処理の実行前に、ステップS580以降の処理を実行してもよい。他の局面において、システム100(クライアント領域暗号システム124)は、クライアントA_150AによるクライアントAファイル群142Aの操作または参照の終了後の任意のタイミングで、ステップS580以降の処理を実行してもよい。 In step S590, system 100 (client area cryptosystem 124) writes encrypted client A file configuration 128A (metadata) to storage 110. FIG. In one aspect, system 100 (client area cryptographic system 124) may execute the process from step S580 onwards after receiving the logout request and before executing the logout process. In another aspect, system 100 (client area cryptographic system 124) may execute the processes from step S580 onward at any timing after client A_150A finishes operating or referring to client A file group 142A.

図6は、システム100におけるメタデータの復号の流れの一例を示す図である。図6を参照して、クライアントA領域210Aのメタデータの復号を例にシステム100の動作を説明する。 FIG. 6 is a diagram showing an example of the metadata decoding flow in the system 100. As shown in FIG. Referring to FIG. 6, the operation of system 100 will be described using the decoding of metadata in client A area 210A as an example.

クライアント領域復号システム123は、一例として、クライアントA_150Aの認証処理が完了すると、秘密鍵A_151Aを用いて、暗号化されたクライアントA領域210Aのメタデータ610を復号して、復号された(平文の)クライアントA領域210Aのメタデータ620を作成する。秘密鍵A_151Aは、前回の通信でクライアントA_150Aからシステム100に送信されたものである。 As an example, when the client A_150A authentication process is completed, the client area decryption system 123 decrypts the encrypted metadata 610 of the client A area 210A using the private key A_151A to obtain the decrypted (plaintext) Create metadata 620 for client A area 210A. Private key A_151A was sent to system 100 from client A_150A in the previous communication.

クライアント領域復号システム123内の復号器600は、秘密鍵A_151Aを使用して、暗号文メモリ630に格納された暗号化されたメタデータ610を読み込んで復号する。復号器600は、復号された(平文の)メタデータ620を平文メモリ640に出力する。ある局面において、暗号文メモリ630および平文メモリ640は、ストレージ110内にあってもよいし、システム100の主メモリ(図示せず)内にあってもよい。 Decryptor 600 in client domain decryption system 123 uses private key A_151A to read and decrypt encrypted metadata 610 stored in ciphertext memory 630 . Decoder 600 outputs decrypted (plaintext) metadata 620 to plaintext memory 640 . In one aspect, ciphertext memory 630 and plaintext memory 640 may reside in storage 110 or in the main memory (not shown) of system 100 .

図7は、システム100におけるメタデータの暗号化の流れの一例を示す図である。図7を参照して、クライアントA領域210Aのメタデータの暗号化を例にシステム100の動作を説明する。 FIG. 7 is a diagram showing an example of the flow of metadata encryption in the system 100. As shown in FIG. Referring to FIG. 7, the operation of system 100 will be described using encryption of metadata in client A area 210A as an example.

クライアント領域暗号システム124は、一例として、クライアントA_150Aのログアウト処理が完了すると、秘密鍵A’_750を用いて、復号された(平文の)クライアントA領域210Aのメタデータ620を暗号化して、暗号化されたクライアントA領域210Aのメタデータ610を作成する。秘密鍵A’_750は、今回の通信でクライアントA_150Aからシステム100に送信されたものである。 As an example, when the client A_150A logout process is completed, the client area encryption system 124 uses the private key A′_750 to encrypt the decrypted (plaintext) metadata 620 of the client A area 210A, and encrypts it. create metadata 610 for client A area 210A. Private key A'_750 was sent from client A_150A to system 100 in this communication.

クライアント領域暗号システム124内の暗号器700は、秘密鍵A’_750を使用して、平文メモリ640に格納された復号された(平文の)クライアントA領域210Aのメタデータ620を読み込んで暗号化する。暗号器700は、暗号化されたクライアントA領域210Aのメタデータ610を暗号文メモリ630に出力する。 Encryptor 700 in client domain cryptosystem 124 reads and encrypts decrypted (plaintext) client A domain 210A metadata 620 stored in plaintext memory 640 using private key A'_750. . Encryptor 700 outputs encrypted metadata 610 of client A area 210 A to ciphertext memory 630 .

ある局面において、暗号化および復号の対象となるメタデータは、クライアントA領域210Aの最上位ディレクトリのメタデータのみであってもよい。少なくともクライアントA領域210Aの最上位ディレクトリのメタデータが暗号化されることにより、ファイルシステム126はクライアントA領域210A以下にあるファイルを検索することができなくなる。その結果、システム100は、クライアントA領域210A以下にあるファイルを不正アクセスから保護することができる。他の局面において、暗号化対象のメタデータは、クライアントA領域210Aが含む全てのファイルおよびディレクトリのメタデータを含んでいてもよい。 In one aspect, the metadata to be encrypted and decrypted may be only the top-level directory metadata of the client A area 210A. At least the metadata of the top level directory of client A area 210A is encrypted so that file system 126 cannot retrieve files below client A area 210A. As a result, system 100 can protect files located below client A area 210A from unauthorized access. In another aspect, the metadata to be encrypted may include metadata for all files and directories contained in client A area 210A.

図8は、本実施の形態に従う別のシステム800の構成の一例を示す図である。システム800は、システム100と異なり、各クライアント150から秘密鍵を受信する代わりに秘密鍵を生成する。システム800は、システム100の構成に加えて、秘密鍵生成システム810と、秘密鍵定期更新システム820と、秘密鍵ファイル群830とを備える。さらに、システム800は、クライアント領域復号システム123およびクライアント領域暗号システム124の代わりにクライアント領域復号システム823およびクライアント領域暗号システム824を備える。クライアント850は、クライアント150と異なり、秘密鍵を生成する機能を備えていなくてもよい。 FIG. 8 is a diagram showing an example of the configuration of another system 800 according to this embodiment. System 800 differs from system 100 in that it generates private keys instead of receiving private keys from each client 150 . System 800 includes a secret key generation system 810 , a secret key periodical update system 820 , and a secret key file group 830 in addition to the configuration of system 100 . In addition, system 800 includes client area decryption system 823 and client area encryption system 824 in place of client area decryption system 123 and client area encryption system 124 . Unlike the client 150, the client 850 does not have to have the function of generating a private key.

秘密鍵生成システム810は、各クライアント150のメタデータ(クライアントAファイル構成_128A、クライアントBファイル構成_128B、クライアントCファイル構成_128C)の各々を暗号化および復号するための秘密鍵を生成する。 The private key generation system 810 generates a private key for encrypting and decrypting each of the metadata of each client 150 (Client A File Configuration_128A, Client B File Configuration_128B, Client C File Configuration_128C).

秘密鍵定期更新システム820は、予め定められたタイミングで秘密鍵生成システム810に秘密鍵の生成指示を出力する。一例として、予め定められたタイミングは、前回の秘密鍵の生成から一定時間の経過後、各クライアント150の認証処理の成功後、クライアント150がシステム100に切断要求を送信した後、各クライアント150のログアウト処理の終了後等の任意のタイミングを含み得る。 The private key periodic update system 820 outputs a private key generation instruction to the private key generation system 810 at a predetermined timing. As an example, the predetermined timing is after a certain period of time has elapsed since the previous secret key was generated, after each client 150 has successfully authenticated, after each client 150 has transmitted a disconnection request to the system 100, and after each client 150 has Any timing, such as after the logout process ends, may be included.

秘密鍵ファイル群830は、秘密鍵生成システム810によって生成された秘密鍵を格納する。クライアント領域復号システム823は、秘密鍵ファイル群830に格納された秘密鍵を用いて、各クライアント150のメタデータの復号を行う。同様に、クライアント領域暗号システム824は、秘密鍵ファイル群830に格納された秘密鍵を用いて、各クライアント150のメタデータの暗号化を行う。 Private key file group 830 stores private keys generated by private key generation system 810 . The client area decryption system 823 decrypts the metadata of each client 150 using the private key stored in the private key file group 830 . Similarly, the client area encryption system 824 uses the private key stored in the private key file group 830 to encrypt metadata of each client 150 .

上記のように、システム800がメタデータの暗号化および復号に必要な全ての構成を備えることで、各クライアント850への秘密鍵生成システムのインストール等の手間を省くことができる。 As described above, the system 800 has all the configurations necessary for encrypting and decrypting metadata, thereby saving the trouble of installing a private key generation system on each client 850 and the like.

クライアント領域復号システム823およびクライアント領域暗号システム824は、クライアント領域復号システム123およびクライアント領域暗号システム124と異なり、秘密鍵生成システム810によって生成された秘密鍵を使用する。 Client area decryption system 823 and client area encryption system 824 use the private key generated by private key generation system 810 unlike client area decryption system 123 and client area encryption system 124 .

図9は、システム800の暗号化および復号の処理手順の一例を示すシーケンス図である。図9を参照して、クライアントA_850Aのファイルの暗号化および復号を例にシステム800の動作について説明する。 FIG. 9 is a sequence diagram showing an example of the encryption and decryption processing procedure of system 800. As shown in FIG. Referring to FIG. 9, the operation of system 800 will be described using the encryption and decryption of files of client A_850A as an example.

ステップS905において、クライアントA_850Aは、ユーザからシステム800に対するログイン操作を受け付ける。ログイン操作は、例えば、ユーザIDおよびパスワードの入力等である。ある局面において、クライアントA_850Aは、ブラウザを介してユーザからシステム800に対するログイン操作を受け付けてもよい。他の局面において、クライアントA_850Aは、システム800と通信するアプリケーションを介してユーザからシステム800に対するログイン操作を受け付けてもよい。 In step S905, client A_850A accepts a login operation to system 800 from the user. The login operation is, for example, inputting a user ID and password. In one aspect, client A_850A may accept a login operation to system 800 from a user via a browser. In another aspect, client A_850A may accept a login operation to system 800 from a user via an application that communicates with system 800. FIG.

ステップS910において、クライアントA_850Aは、システム800にログイン情報を送信する。 In step S910, client A_850A sends login information to system 800. FIG.

ステップS915において、システム800(ログインシステム122)は、クライアント認証処理を実行する。システム800(ログインシステム122)は、受信したログイン情報と、ストレージ110内に格納されているログイン情報とを比較することでクライアントA_850A(またはクライアントA_850Aのユーザ)を認証し得る。 In step S915, the system 800 (login system 122) executes client authentication processing. System 800 (login system 122) may authenticate client A_850A (or a user of client A_850A) by comparing the received login information with login information stored in storage 110. FIG.

ステップS920において、システム800(クライアント領域復号システム823)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。 In step S920, system 800 (client area decryption system 823) reads encrypted client A file configuration 128A (metadata) from storage 110. FIG.

ステップS925において、システム800(クライアント領域復号システム823)は、秘密鍵生成システム810によって生成された秘密鍵Aを用いて、暗号化されたクライアントAファイル構成128A(メタデータ)を復号する。 At step S925, system 800 (client area decryption system 823) uses private key A generated by private key generation system 810 to decrypt encrypted client A file structure 128A (metadata).

ステップS930において、システム800(クライアント領域復号システム823)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。 In step S930, system 800 (client area decryption system 823) writes decrypted client A file structure 128A (metadata) to storage 110. FIG.

ステップS935において、システム800(ログインシステム122)は、ログイン処理を完了する。 In step S935, the system 800 (login system 122) completes the login process.

ステップS940において、システム800(ログインシステム122)は、クライアントA_850Aにログイン処理完了通知を送信する。 In step S940, system 800 (login system 122) transmits a login processing completion notification to client A_850A.

ステップS945において、クライアントA_850Aは、ユーザからクライアント操作アプリケーション121の操作入力を受け付ける。例えば、ユーザは、クライアント操作アプリケーション121を介して、システム800が提供するアプリケーションの実行、および、クライアントAファイル群142Aの読み書きを行うことができる。 In step S945, client A_850A receives an operation input for client operation application 121 from the user. For example, the user can execute an application provided by the system 800 and read/write the client A file group 142A via the client operation application 121 .

ステップS950において、クライアントA_850Aは、システム800にユーザの操作入力に関するメッセージを送信する。 In step S950, client A_850A sends system 800 a message regarding the user's operation input.

ステップS955において、システム800(クライアント操作アプリケーション121)は、ユーザの操作入力に基づいて、クライアントAファイル群142Aの読み出しまたは書き込み処理を実行する。ステップS945からステップS955までの処理は、クライアントA_850Aがユーザからログアウト要求の入力操作を受け付けるまで繰り返し実行され得る。 In step S955, the system 800 (client operation application 121) executes read or write processing of the client A file group 142A based on the user's operation input. The processing from step S945 to step S955 can be repeatedly executed until client A_850A receives an input operation of a logout request from the user.

ステップS960において、クライアントA_850Aは、ユーザからログアウト操作の入力を受け付ける。 In step S960, client A_850A receives input of a logout operation from the user.

ステップS965において、クライアントA_850Aは、システム800にログアウト要求を送信する。 At step S965, client A_850A sends a logout request to system 800. FIG.

ステップS970において、システム800(ログインシステム122)は、ログアウト処理を実行する。 In step S970, system 800 (login system 122) executes logout processing.

ステップS975において、システム800(秘密鍵生成システム810)は、秘密鍵A’(新しい秘密鍵)を生成する。ある局面において、システム800(秘密鍵生成システム810)は、ログイン処理後の任意のタイミングで秘密鍵A’を生成してもよい。他の局面において、システム800(秘密鍵生成システム810)は、ユーザからログアウト操作を受け付けたことに基づいて、秘密鍵A’を生成してもよい。また、他の局面において、システム800(秘密鍵生成システム810)は、秘密鍵定期更新システム820から命令を受け付けた任意のタイミングで秘密鍵A’を生成してもよい。システム800(秘密鍵生成システム810)は、生成した秘密鍵A’(新しい秘密鍵)を秘密鍵ファイル群830に格納する。 In step S975, system 800 (secret key generation system 810) generates secret key A' (new secret key). In one aspect, system 800 (secret key generation system 810) may generate secret key A' at any timing after login processing. In another aspect, system 800 (secret key generation system 810) may generate secret key A' based on acceptance of a logout operation from the user. In another aspect, system 800 (secret key generation system 810 ) may generate secret key A′ at any timing when an instruction is received from secret key periodic update system 820 . The system 800 (secret key generation system 810 ) stores the generated secret key A′ (new secret key) in the secret key file group 830 .

ステップS980において、システム800(クライアント領域暗号システム824)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。 In step S980, system 800 (client area cryptographic system 824) reads decrypted client A file configuration 128A (metadata) from storage 110. FIG.

ステップS985において、システム800(クライアント領域暗号システム824)は、秘密鍵生成システム810によって生成された秘密鍵A’を用いて、クライアントAファイル構成128A(メタデータ)を暗号化する。 At step S985, system 800 (client domain encryption system 824) encrypts client A file configuration 128A (metadata) using private key A' generated by private key generation system 810.

ステップS990において、システム800(クライアント領域暗号システム824)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。ある局面において、システム800(クライアント領域暗号システム824)は、ログアウト要求の受信後からログアウト処理の実行前に、ステップS980以降の処理を実行してもよい。他の局面において、システム100(クライアント領域暗号システム124)は、クライアントA_150AによるクライアントAファイル群142Aの操作または参照の終了後の任意のタイミングで、ステップS980以降の処理を実行してもよい。 In step S990, system 800 (client area cryptographic system 824) writes encrypted client A file configuration 128A (metadata) to storage 110. In one aspect, system 800 (client area cryptographic system 824) may execute processing from step S980 onward after receiving a logout request and before executing logout processing. In another aspect, system 100 (client area cryptographic system 124) may execute the processes from step S980 onward at any time after client A_150A finishes operating or referring to client A file group 142A.

図10は、システム800におけるメタデータの復号の流れの一例を示す図である。図10を参照して、クライアントA領域210Aのメタデータの復号を例にシステム800の動作を説明する。 FIG. 10 is a diagram illustrating an example of a metadata decoding flow in system 800. As shown in FIG. Referring to FIG. 10, the operation of system 800 will be described using the decoding of metadata in client A area 210A as an example.

クライアント領域復号システム823は、一例として、クライアントA_150Aの認証処理が完了すると、秘密鍵生成システム810により生成された秘密鍵Aを用いて、暗号化されたクライアントA領域210Aのメタデータ610を復号して、復号された(平文の)クライアントA領域210Aのメタデータ620を作成する。ある局面において、暗号文メモリ630および平文メモリ640は、ストレージ110内にあってもよいし、システム100の主メモリ内にあってもよい。 As an example, the client area decryption system 823 decrypts the encrypted metadata 610 of the client A area 210A using the secret key A generated by the secret key generation system 810 when the authentication process of the client A_150A is completed. to create metadata 620 of the decrypted (plaintext) client A area 210A. In some aspects, ciphertext memory 630 and plaintext memory 640 may be in storage 110 or in main memory of system 100 .

一例として、クライアント領域復号システム823は、ログインシステム122からクライアントA_150AのログインID1010を取得する。クライアント領域復号システム823は、当該ログインID1010と紐付けられた秘密鍵Aを秘密鍵ファイル群830から取得する。クライアント領域復号システム823は、当該秘密鍵Aを用いてクライアントA領域210Aの復号処理を実行し得る。暗号化処理についても同様である。 As an example, client area decryption system 823 obtains login ID 1010 of client A_150A from login system 122 . The client area decryption system 823 acquires the private key A associated with the login ID 1010 from the private key file group 830 . The client area decryption system 823 can use the private key A to decrypt the client A area 210A. The same applies to encryption processing.

クライアント領域復号システム823内の復号器600は、秘密鍵Aを使用して、暗号文メモリ630に格納された暗号化されたメタデータ610を読み込んで復号する。復号器600は、復号された(平文の)メタデータ620を平文メモリ640に出力する。 Decryptor 600 in client domain decryption system 823 uses private key A to read and decrypt encrypted metadata 610 stored in ciphertext memory 630 . Decoder 600 outputs decrypted (plaintext) metadata 620 to plaintext memory 640 .

ある局面において、復号対象(および暗号化対象)のメタデータは、クライアントA領域210Aの最上位ディレクトリのメタデータのみであってもよい。少なくともクライアントA領域210Aの最上位ディレクトリのメタデータが暗号化されることにより、ファイルシステム126はクライアントA領域210A以下にあるファイルを検索することができなくなる。その結果、システム800は、クライアントA領域210A以下にあるファイルを不正アクセスから保護することができる。他の局面において、復号対象(および暗号化対象)のメタデータは、クライアントA領域210Aが含む全てのファイルおよびディレクトリのメタデータを含んでいてもよい。 In one aspect, the metadata to be decrypted (and encrypted) may be only the top-level directory metadata of the client A area 210A. At least the metadata of the top level directory of client A area 210A is encrypted so that file system 126 cannot retrieve files below client A area 210A. As a result, the system 800 can protect files located below the client A area 210A from unauthorized access. In other aspects, the metadata to be decrypted (and encrypted) may include metadata for all files and directories contained in client A area 210A.

図11は、システム100およびシステム800として使用される情報処理装置1100のハードウェア構成の一例を示す図である。ある局面において、システム100およびシステム800は、1以上の情報処理装置1100により実現され得る。例えば、システム100およびシステム800は、1以上の情報処理装置1100からなるサーバ、クラスタ、クラウドにより実現され得る。 FIG. 11 is a diagram showing an example of a hardware configuration of an information processing apparatus 1100 used as systems 100 and 800. As shown in FIG. In one aspect, system 100 and system 800 can be implemented by one or more information processing devices 1100 . For example, the system 100 and the system 800 can be implemented by a server, cluster, or cloud made up of one or more information processing devices 1100 .

情報処理装置1100は、CPU1と、1次記憶装置2と、2次記憶装置3と、外部機器インターフェイス4と、入力インターフェイス5と、出力インターフェイス6と、通信インターフェイス7とを含む。 Information processing apparatus 1100 includes CPU 1 , primary storage device 2 , secondary storage device 3 , external equipment interface 4 , input interface 5 , output interface 6 , and communication interface 7 .

CPU1は、情報処理装置1100の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。 The CPU 1 can execute programs for realizing various functions of the information processing device 1100 . The CPU 1 is composed of, for example, at least one integrated circuit. The integrated circuit may be composed of, for example, at least one CPU, at least one FPGA (Field Programmable Gate Array), or a combination thereof.

1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。 The primary storage device 2 stores programs executed by the CPU 1 and data referenced by the CPU 1 . In one aspect, the primary storage device 2 may be realized by a DRAM (Dynamic Random Access Memory), an SRAM (Static Random Access Memory), or the like.

2次記憶装置3は、不揮発性メモリであり、CPU1によって実行されるプログラムおよびCPU1によって参照されるデータを格納してもよい。その場合、CPU1は、2次記憶装置3から1次記憶装置2に読み出されたプログラムを実行し、2次記憶装置3から1次記憶装置2に読み出されたデータを参照する。ある局面において、2次記憶装置3は、HDD、SSD、EPROM、EEPROMまたはフラッシュメモリ等によって実現されてもよい。 The secondary storage device 3 is a non-volatile memory and may store programs executed by the CPU 1 and data referred to by the CPU 1 . In that case, the CPU 1 executes the program read from the secondary storage device 3 to the primary storage device 2 and refers to the data read from the secondary storage device 3 to the primary storage device 2 . In one aspect, the secondary storage device 3 may be implemented by an HDD, SSD, EPROM, EEPROM, flash memory, or the like.

外部機器インターフェイス4は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。 The external device interface 4 can be connected to arbitrary external devices such as printers, scanners and external HDDs. In one aspect, the external device interface 4 may be realized by a USB (Universal Serial Bus) terminal or the like.

入力インターフェイス5は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力インターフェイス5は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。 The input interface 5 can be connected to any input device such as a keyboard, mouse, touchpad or gamepad. In one aspect, the input interface 5 may be realized by a USB terminal, a PS/2 terminal, a Bluetooth (registered trademark) module, or the like.

出力インターフェイス6は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力インターフェイス6は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。 The output interface 6 can be connected to any output device such as a CRT display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. In one aspect, the output interface 6 may be realized by a USB terminal, a D-sub terminal, a DVI (Digital Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal, or the like.

通信インターフェイス7は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス7は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス7は、TCP/IP、UDP等の通信プロトコルを用いてデータを送受信してもよい。 The communication interface 7 is connected to wired or wireless network equipment. In one aspect, the communication interface 7 may be realized by a wired LAN (Local Area Network) port, a Wi-Fi (registered trademark) (Wireless Fidelity) module, or the like. In other aspects, communication interface 7 may transmit and receive data using communication protocols such as TCP/IP, UDP, and the like.

ある局面において、CPU1は、図5または図9の処理を行うためのプログラムを2次記憶装置3から1次記憶装置2に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。 In one aspect, CPU 1 may load a program for performing the processing of FIG. 5 or FIG. 9 from secondary storage device 3 to primary storage device 2 and execute the program. In other aspects, part or all of the process may also be implemented as a combination of circuit elements configured to perform the process.

以上説明したように、本実施の形態に従うシステム100またはシステム800は、ストレージ110内のファイル本体を暗号化する代わりにファイルシステム126によって使用されるメタデータを暗号化する。これにより、システム100またはシステム800は、クライアントのファイル群の暗号化と同等のセキュリティを実現し得る。さらに、メタデータのデータサイズはファイル群のデータサイズと比較して極めて小さいため、システム100またはシステム800は、高頻度での秘密鍵の更新を実現し得る。 As described above, system 100 or system 800 according to this embodiment encrypts the metadata used by file system 126 instead of encrypting the file body in storage 110 . This allows system 100 or system 800 to achieve security equivalent to encryption of client files. Furthermore, since the data size of metadata is extremely small compared to the data size of a file group, system 100 or system 800 can update the private key with high frequency.

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present disclosure is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the meaning and scope of equivalents of the scope of the claims. In addition, it is intended that the disclosure content described in the embodiment and each modified example can be implemented singly or in combination as much as possible.

1 CPU、2 1次記憶装置、3 2次記憶装置、4 外部機器インターフェイス、5 入力インターフェイス、6 出力インターフェイス、7 通信インターフェイス、100,800 システム、110 ストレージ、120 アプリケーション、121 クライアント操作アプリケーション、122 ログインシステム、123,823 クライアント領域復号システム、124,824 クライアント領域暗号システム、126 ファイルシステム、127 サーバファイル領域、128A クライアントAファイル構成、128B クライアントBファイル構成、128C クライアントCファイル構成、130,153 ネットワークインターフェイス、140 データ領域、141 サーバファイル群、142A クライアントAファイル群、142B クライアントBファイル群、142C クライアントCファイル群、150,850 クライアント、150A,850A クライアントA、150B クライアントB、150C クライアントC、151A 秘密鍵A、151B 秘密鍵B、151C 秘密鍵C、152,810 秘密鍵生成システム、160 不正クライアント、170 ネットワーク、201 ルート、202 OS領域、203 アプリケーション領域、204 クライアントデータ領域、210A クライアントA領域、210B クライアントB領域、210C クライアントC領域、211,212 データ、213 サブディレクトリ、310 キー、320 アドレス、400 記憶媒体、401,402,403 セクタ、600 復号器、610,620 メタデータ、630 暗号文メモリ、640 平文メモリ、700 暗号器、820 秘密鍵定期更新システム、830 秘密鍵ファイル群、1010 ログインID、1100 情報処理装置。 1 CPU, 2 primary storage device, 3 secondary storage device, 4 external device interface, 5 input interface, 6 output interface, 7 communication interface, 100,800 system, 110 storage, 120 application, 121 client operation application, 122 login system, 123,823 client area decryption system, 124,824 client area encryption system, 126 file system, 127 server file area, 128A client A file configuration, 128B client B file configuration, 128C client C file configuration, 130, 153 network interface , 140 data area, 141 server file group, 142A client A file group, 142B client B file group, 142C client C file group, 150, 850 client, 150A, 850A client A, 150B client B, 150C client C, 151A secret key A, 151B private key B, 151C private key C, 152,810 private key generation system, 160 unauthorized client, 170 network, 201 root, 202 OS area, 203 application area, 204 client data area, 210A client A area, 210B client B area, 210C client C area, 211, 212 data, 213 subdirectory, 310 key, 320 address, 400 storage medium, 401, 402, 403 sector, 600 decoder, 610, 620 metadata, 630 ciphertext memory, 640 Plaintext memory 700 Encryptor 820 Private key periodic update system 830 Private key file group 1010 Login ID 1100 Information processing device.

Claims (15)

複数の端末から利用可能なシステムであって、
前記複数の端末の各々と通信するための通信部と、
前記複数の端末の各ユーザのファイルを管理するためのファイルシステムと、
前記ファイルシステムにより参照されるメタデータを暗号化するための暗号化部と、
前記メタデータを復号するための復号部とを備える、システム。
A system that can be used from multiple terminals,
a communication unit for communicating with each of the plurality of terminals;
a file system for managing files of each user of the plurality of terminals;
an encryption unit for encrypting metadata referenced by the file system;
a decoder for decoding said metadata.
前記暗号化部は、あるユーザのファイルのメタデータを暗号化し、
前記復号部は、前記あるユーザが前記システムにログインしたことに基づいて、秘密鍵により、前記あるユーザのファイルのメタデータを復号し、
前記暗号化部は、前記あるユーザによるファイルの参照の終了後に、前記秘密鍵とは別の秘密鍵により、前記あるユーザのファイルのメタデータを暗号化する、請求項1に記載のシステム。
The encryption unit encrypts metadata of a user's file;
The decryption unit decrypts metadata of the file of the certain user with a private key based on the login of the certain user to the system,
2. The system according to claim 1, wherein said encryption unit encrypts the metadata of said certain user's file with a private key different from said private key after said certain user finishes referring to the file.
前記通信部は、予め定められたタイミングで、前記システムにログインした前記あるユーザの端末から前記別の秘密鍵を受信する、請求項2に記載のシステム。 3. The system according to claim 2, wherein said communication unit receives said another secret key from a terminal of said certain user who has logged into said system at a predetermined timing. 秘密鍵生成部をさらに備え、
前記秘密鍵生成部は、予め定められたタイミングで、前記別の秘密鍵を生成する、請求項2に記載のシステム。
further comprising a private key generation unit,
3. The system according to claim 2, wherein said secret key generation unit generates said another secret key at a predetermined timing.
前記予め定められたタイミングは、前記あるユーザの端末が前記システムにログインした後である、請求項3または4に記載のシステム。 5. The system according to claim 3 or 4, wherein said predetermined timing is after said certain user's terminal logs into said system. 前記予め定められたタイミングは、前記あるユーザの端末から切断要求を受信した後である、請求項3または4に記載のシステム。 5. The system according to claim 3 or 4, wherein said predetermined timing is after receiving a disconnection request from said certain user's terminal. 前記暗号化部は、前記メタデータの中から、前記複数の端末の各ユーザのファイルの最上位ディレクトリのメタデータを暗号化する、請求項1~6のいずれかに記載のシステム。 7. The system according to any one of claims 1 to 6, wherein said encryption unit encrypts, from among said metadata, metadata of a top-level directory of files of each user of said plurality of terminals. 複数の端末から利用可能なシステムにおいてファイルを保護する方法であって、
前記システムに保存された前記複数の端末の各ユーザのファイルのメタデータを暗号化するステップと、
あるユーザの端末と通信するステップと、
前記あるユーザの端末との通信中に、前記あるユーザのファイルのメタデータを復号するステップとを含む、方法。
A method for protecting files in a system accessible from multiple terminals, comprising:
encrypting metadata of files of each user of said plurality of terminals stored in said system;
communicating with a terminal of a user;
and decoding metadata of said one user's file during communication with said one user's terminal.
前記あるユーザのファイルのメタデータを復号するステップは、前記あるユーザが前記システムにログインしたことに基づいて、秘密鍵により、前記あるユーザのファイルのメタデータを復号するステップを含み、
前記方法は、前記あるユーザによるファイルの参照の終了後に、前記秘密鍵とは別の秘密鍵により、前記あるユーザのファイルのメタデータを暗号化するステップをさらに含む、請求項8に記載の方法。
Decrypting metadata of the file of the user includes decrypting metadata of the file of the user with a private key based on the user logging into the system;
9. The method of claim 8, wherein the method further comprises encrypting metadata of the file of the certain user with a private key different from the private key after the user has finished viewing the file. .
予め定められたタイミングで、前記システムにログインした前記あるユーザの端末から前記別の秘密鍵を受信するステップをさらに含む、請求項9に記載の方法。 10. The method according to claim 9, further comprising receiving said another private key from said certain user's terminal logged into said system at a predetermined timing. 予め定められたタイミングで、前記別の秘密鍵を生成するステップをさらに含む、請求項9に記載の方法。 10. The method of claim 9, further comprising generating said another private key at predetermined timings. 前記予め定められたタイミングは、前記あるユーザの端末が前記システムにログインした後である、請求項10または11に記載の方法。 12. The method according to claim 10 or 11, wherein said predetermined timing is after said certain user's terminal has logged into said system. 前記予め定められたタイミングは、前記あるユーザの端末から切断要求を受信した後である、請求項10または11に記載の方法。 12. A method according to claim 10 or 11, wherein said predetermined timing is after receiving a disconnection request from said certain user's terminal. 前記システムに保存された前記複数の端末の各ユーザのファイルのメタデータを暗号化するステップは、前記メタデータの中から、前記複数の端末の各ユーザのファイルの最上位ディレクトリのメタデータを暗号化するステップを含む、請求項8~13のいずれかに記載の方法。 The step of encrypting the metadata of the files of the users of the plurality of terminals stored in the system includes encrypting the metadata of the top-level directory of the files of the users of the plurality of terminals from among the metadata. A method according to any one of claims 8 to 13, comprising the step of converting. 請求項8~14のいずれかに記載の方法をコンピュータに実行させるための、プログラム。 A program for causing a computer to execute the method according to any one of claims 8 to 14.
JP2021158097A 2021-09-28 2021-09-28 System comprising protection function of file, method for protecting file and protection program of file Pending JP2023048659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021158097A JP2023048659A (en) 2021-09-28 2021-09-28 System comprising protection function of file, method for protecting file and protection program of file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021158097A JP2023048659A (en) 2021-09-28 2021-09-28 System comprising protection function of file, method for protecting file and protection program of file

Publications (1)

Publication Number Publication Date
JP2023048659A true JP2023048659A (en) 2023-04-07

Family

ID=85780016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021158097A Pending JP2023048659A (en) 2021-09-28 2021-09-28 System comprising protection function of file, method for protecting file and protection program of file

Country Status (1)

Country Link
JP (1) JP2023048659A (en)

Similar Documents

Publication Publication Date Title
US11431495B2 (en) Encrypted file storage
US11509458B2 (en) Method and system for securely replicating encrypted deduplicated storages
US8837734B2 (en) Managing encrypted data and encryption keys
US9690954B2 (en) Securing encrypted virtual hard disks
US10116645B1 (en) Controlling use of encryption keys
US8489889B1 (en) Method and apparatus for restricting access to encrypted data
CN101051904B (en) Method for landing by account number cipher for protecting network application sequence
US11232222B2 (en) Access management system, access management method and program
JP5711840B1 (en) Kernel program, method and apparatus incorporating relational database
WO2021164166A1 (en) Service data protection method, apparatus and device, and readable storage medium
US10992656B2 (en) Distributed profile and key management
US10003467B1 (en) Controlling digital certificate use
US20230231850A1 (en) Integration of Third-Party Encryption Key Managers with Cloud Services
WO2019120038A1 (en) Encrypted storage of data
US11443023B2 (en) Distributed profile and key management
US20170118197A1 (en) Sharing data between sandboxed applications with certificates
US20130061059A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
CN108154037B (en) Inter-process data transmission method and device
JP2023048659A (en) System comprising protection function of file, method for protecting file and protection program of file
JP2016115162A (en) Authentication system, authentication terminal device, registration terminal device, authentication method, and program
WO2018034192A1 (en) Information processing device, information processing method, and storage medium
CN117220859A (en) Key migration method, device, equipment and storage medium
Tusa et al. Design and implementation of an xml-based grid file storage system with security features