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 PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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]).
上記のように、クラウドサービスは常時インターネットに接続されている。そのため、特許文献1に開示された技術によると、悪意ある第三者に秘密鍵特定の総当たり攻撃の時間的猶予を与えてしまう可能性がある。したがって、ネットワーク上のファイルを保護する技術が必要とされている。また、暗号化処理の負荷を削減するための技術が必要とされている。さらに、秘密鍵の更新を容易にするための技術が必要とされている。
As mentioned above, cloud services are always connected to the Internet. Therefore, according to the technique disclosed in
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ネットワーク上のファイルを保護する技術を提供することである。 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.
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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
システム100は、ストレージ110と、ネットワークインターフェイス130とを備える。また、ストレージ110は、アプリケーション120を含む。アプリケーション120は、クライアント操作アプリケーション121と、ログインシステム122と、クライアント領域復号システム123と、クライアント領域暗号システム124と、OS(Operating System)125とを含む。OS125は、ファイルシステム126と、データ領域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,
ストレージ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
アプリケーション120は、システム100によって実行される各種アプリケーションを含む。アプリケーション120は、一例として、クラウドサービスが提供するクライアント操作アプリケーション121と、ログインシステム122と、クライアント領域復号システム123と、クライアント領域暗号システム124とに加え、ストレージ110上にユーザが使用可能なインスタンスとして実現されたOS125を含む。また、アプリケーション120は、図1に示される構成以外の任意のアプリケーションを含んでいてもよい。
クライアント操作アプリケーション121は、複数のクライアント150の各々と通信する。クライアント操作アプリケーション121は、バージョン管理サービス、オンラインストレージサービス等の各種サービスに対する操作機能を提供する。ある局面において、クライアント操作アプリケーション121は、UI(User Interface)としてウェブアプリケーション画面をクライアント150に提供してもよい。この場合、クライアント150は、ブラウザ機能を用いて、クライアント操作アプリケーション121から配信された各種サービスの操作画面をクライアント150のディスプレイに表示し得る。他の局面において、クライアント操作アプリケーション121は、クライアント150にインストールされるクライアントアプリケーションと通信してもよい。この場合、クライアント150は、システム100または他の任意のサーバ等からクライアントアプリケーションをダウンロードおよびインストールし得る。
The
クライアント150は、クライアント操作アプリケーション121を介して、システム100が提供する各種アプリケーションを使用すること加え、データ領域140に保存されたデータにアクセスすることができる。
The client 150 can access data stored in the
ログインシステム122は、各クライアント150に対して認証処理を実行する。ある局面において、ログインシステム122は、ID(Identifier)およびパスワードを使用したユーザ認証機能を提供してもよい。他の局面において、ログインシステム122は、ワンタイムパスワードを使用したユーザ認証機能を提供してもよい。また、他の局面において、ログインシステム122は、ソフトウェアトークンまたはハードウェアトークンを使用したユーザ認証機能を提供してもよい。また、他の局面において、ログインシステム122は、生体情報を使用したユーザ認証機能を提供してもよい。さらに他の局面において、ログインシステム122は、任意の複数の方式を組み合わせたユーザ認証機能を提供してもよい。
The
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は、上記のファイルシステム、上記以外のファイルシステム、および、任意のファイルシステムの組み合わせをサポートし得る。
ファイルシステム126は、ファイルの管理機能およびファイルへの素早いアクセス機能を提供する。ファイルシステム126は、OS125の一機能として提供され得る。データ領域140に保存されるファイル群は、通常、ディレクトリ(フォルダとも呼ばれる)を用いた階層構造になっている。また、データ領域140は、システム100が使用するサーバファイル群141、各ユーザのファイル群(クライアントAファイル群142A、クライアントBファイル群142B、クライアントCファイル群142C)等を含み得る。
ファイルシステム126は、データ領域140に保存されるファイル群を管理するためのメタデータを参照することで、データ領域140内の階層構造のファイル群の中から任意のファイルを素早く検索し得る。メタデータは、階層構造のファイル群を管理するための情報を含み、メタデータ自身も階層構造であってもよい。メタデータは、各ファイルのアドレス、各ディレクトリのアドレス、各ディレクトリの直下にある各ファイルのアドレス等、いわゆるポインタ、インデックス、アドレスまたはファイルを示すキーを含む。一例として、Linux(登録商標)は、i-nodeと呼ばれるデータ構造または領域でファイルを管理する。また、ウインドウズ(登録商標)は、NTFSにおいて、MFT(Master File Table)と呼ばれるデータ構造または領域によりファイルを管理する。
The
ファイルシステム126は、データ領域140内のファイル群(システムまたはユーザ毎に割り当てられた領域に格納されるファイル群)の各々に対応するメタデータを管理してもよい。例えば、ファイルシステム126は、サーバファイル群141のメタデータであるサーバファイル領域127と、クライアントAファイル群142AのメタデータであるクライアントAファイル構成128Aと、クライアントBファイル群142BのメタデータであるクライアントBファイル構成128Bと、クライアントCファイル群142CのメタデータであるクライアントCファイル構成128Cとを管理してもよい。この場合、ファイルシステム126は、例えば、クライアントAファイル群142Aへのアクセス要求を受け付けた場合、クライアントAファイル構成128Aを参照すればよい。
The
各ファイルまたはディレクトリには、アクセス権が設定されている。ファイルシステム126は、当該アクセス権に基づいて、各ユーザの各ファイルに対するアクセスを許可または禁止し得る。例えば、サーバファイル群141は、管理者アカウントのみ読み書き更新が可能であり、他のアカウントからは一切参照できない。また、クライアントAファイル群142Aは、クライアントA_150Aおよび管理者のみが読み書き更新が可能であり、他のユーザ(クライアントB_150B、クライアントC_150C等)からは一切参照できない。
Access rights are set for each file or directory.
データ領域140は、ファイルが保存される領域である。システム100は、システムおよび各クライアント150(各ユーザ)に、データ領域140内の保存領域を割り当て得る。各クライアント150は、割り当てられた領域にのみファイルを格納できる。例えば、サーバファイル群141は、システム100に割り当てられた領域に保存され、同様に、クライアントAファイル群142Aは、クライアントA_150Aに割り当てられた領域内に保存される。
The
クライアント領域暗号システム(暗号化部)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
メタデータが暗号化された場合、ファイルシステム126は、ファイルを参照することができない。そのため、結果として、システム100は、メタデータを暗号化することにより、ファイル本体を不正アクセスから保護することができる。例えば、クライアント領域暗号システム124は、クライアントAファイル構成128Aを暗号化したとする。この場合、ファイルシステム126は、クライアントAファイル群142A内の各ファイルのポインタを参照できない。そのため、不正クライアント160は、仮にシステム100に侵入したとしても、ファイルシステム126の機能を用いてクライアントAファイル群142A内のファイルに不正アクセスすることはできない。
If the metadata is encrypted,
また、メタデータは、ファイル本体と比較して非常にデータサイズが小さい。そのため、各クライアントのファイル群(クライアント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
クライアント領域復号システム(復号部)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
ネットワークインターフェイス(通信部)130は、ネットワーク170を介して、各クライアント150と通信する。ネットワークインターフェイス130は、受信したメッセージをクライアント操作アプリケーション121、ログインシステム122等に転送し得る。
A network interface (communication unit) 130 communicates with each client 150 via the
クライアント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
秘密鍵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
秘密鍵生成システム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
ネットワークインターフェイス153は、ネットワーク170を介して、システム100と通信する。ネットワークインターフェイス153は、例えば、秘密鍵、認証処理のメッセージ、ファイルに対するアクセス要求、ファイル等を送受信し得る。
Network interface 153 communicates with
ネットワーク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
図2は、ストレージ110に格納されるファイルの構成の一例を示す図である。図2を参照して、ストレージ110に格納されるファイルの構成について説明する。
FIG. 2 is a diagram showing an example of the configuration of files stored in the
サーバファイル群141は、一例として、ルート201と、OS領域202と、アプリケーション領域203と、クライアントデータ領域204とを含む。各領域は、ルートディレクトリ、OS領域ディレクトリのようにディレクトリとして表現されてもよい。
The
ルート201は、OS125が管理する全てのファイルの最上位ディレクトリである。OS125が管理する全てのディレクトリは、ルート201の直下またはルート201内のサブディレクトリ内に格納される。
A
OS領域202は、OS125に関するファイルを格納する。OS125に関するファイルは、例えば、カーネル、ミドルウェア、ドライバ等である。また、OS領域202は、システムの設定ファイル等も含み得る。
The
アプリケーション領域203は、OS125にインストールされたアプリケーションのファイルおよびその設定ファイルを格納する。例えば、アプリケーション領域203に格納されるアプリケーションは、ウェブサーバ、データベースアプリケーション、またはその他の任意のアプリケーション等である。通常、OS領域202およびアプリケーション領域203へのアクセスには、管理者権限が必要となる。各クライアント150が個別に使用するアプリケーションは、各クライアント150のクライアント領域以下にインストールされる。
The
クライアントデータ領域204は、各クライアント150のファイルを格納する。図2に示される例では、クライアントデータ領域204は、クライアントA_150AのクライアントA領域210Aと、クライアントB_150BのクライアントB領域210Bと、クライアントC_150CのクライアントC領域210Cとを含んでいる。例えば、クライアントA領域210A以下が、クライアントA_150Aが使用可能な領域となる。
The
各クライアント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
また、クライアント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
図3は、ファイルシステム126が使用するメタデータの一例を示す図である。図3に示されるメタデータは一例であり、実際には、OS125は、任意のフォーマットで記述されたメタデータを格納し得る。
FIG. 3 is a diagram showing an example of metadata used by the
メタデータは、図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
また、OS125は、クライアントデータ領域204の直下に、ポインタ「0x3100」により位置を示されるクライアントA領域210Aの最上位ディレクトリと、ポインタ「0x3200」により位置を示されるクライアントB領域210Bの最上位ディレクトリと、ポインタ「0x4100」により位置を示されるクライアントC領域210Cの最上位ディレクトリとが存在することを確認し得る。
In addition, the
さらに、OS125は、クライアントA領域210Aの直下に、ポインタ「0x3110」により位置を示されるデータ211と、ポインタ「0x3120」により位置を示されるデータ212と、ポインタ「0x3130」により位置を示されるサブディレクトリ213とが存在することを確認し得る。
Furthermore, the
上記のように、OS125は、再帰的にメタデータを参照することで、ストレージ110内の任意のファイルにアクセスすることができる。また、各ファイル(データおよびディレクトリを含む)のメタデータは、ファイルを示すキー310と、ファイルの位置を示すアドレス320と、ファイル(ディレクトリ)の直下にある各ファイルのポインタ(アドレス)と、さらに他の任意の情報(属性情報と呼ばれることもある)とを含み得る。
As described above, the
システム100は、各クライアント150のクライアント領域以下のメタデータを暗号化する。これにより、不正クライアント160は、OS125またはファイルシステム126を介してクライアント領域にアクセスすることができなくなる。システム100は、データサイズの小さいメタデータを暗号化するだけで、クライアント領域のファイル群を暗号化することと同等のセキュリティを実現し得る。
The
図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
メタデータが含むポインタは、各セクタまたは各ページ(ブロック)に対応する。例えば、記憶媒体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
図5は、システム100の暗号化および復号の処理手順の一例を示すシーケンス図である。図5を参照して、クライアントA_150Aのファイルの暗号化および復号を例にシステム100の動作について説明する。
FIG. 5 is a sequence diagram showing an example of an encryption and decryption processing procedure of
ステップS505において、クライアントA_150Aは、ユーザからシステム100に対するログイン操作を受け付ける。ログイン操作は、例えば、ユーザIDおよびパスワードの入力等である。ある局面において、クライアントA_150Aは、ブラウザを介してユーザからシステム100に対するログイン操作を受け付けてもよい。他の局面において、クライアントA_150Aは、システム100と通信するアプリケーションを介してユーザからシステム100に対するログイン操作を受け付けてもよい。
In step S505, client A_150A accepts a login operation to
ステップS510において、クライアントA_150Aは、システム100にログイン情報を送信する。ある局面において、ログイン情報は、秘密鍵A_151Aを含んでいてもよい。他の局面において、クライアントA_150Aは、認証処理の完了後に、システム100に秘密鍵A_151Aを送信してもよい。
In step S510, client A_150A sends login information to
ステップ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
ステップS520において、システム100(クライアント領域復号システム123)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。
In step S520, the system 100 (client area decryption system 123) reads the encrypted client
ステップS525において、システム100(クライアント領域復号システム123)は、クライアントA_150Aから受信した秘密鍵A_151Aを用いて、暗号化されたクライアントAファイル構成128A(メタデータ)を復号する。
At step S525, system 100 (client area decryption system 123) decrypts encrypted client
ステップS530において、システム100(クライアント領域復号システム123)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。
In step S530, system 100 (client area decryption system 123) writes decrypted client
ステップ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
ステップS550において、クライアントA_150Aは、システム100にユーザの操作入力に関するメッセージを送信する。
In step S550, client A_150A transmits a message regarding the user's operation input to
ステップ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
ステップ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
ステップ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
ステップS585において、システム100(クライアント領域暗号システム124)は、クライアントA_150Aから受信した秘密鍵A’を用いて、クライアントAファイル構成128A(メタデータ)を暗号化する。
At step S585, system 100 (client area cryptographic system 124) encrypts client
ステップ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
図6は、システム100におけるメタデータの復号の流れの一例を示す図である。図6を参照して、クライアントA領域210Aのメタデータの復号を例にシステム100の動作を説明する。
FIG. 6 is a diagram showing an example of the metadata decoding flow in the
クライアント領域復号システム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
クライアント領域復号システム123内の復号器600は、秘密鍵A_151Aを使用して、暗号文メモリ630に格納された暗号化されたメタデータ610を読み込んで復号する。復号器600は、復号された(平文の)メタデータ620を平文メモリ640に出力する。ある局面において、暗号文メモリ630および平文メモリ640は、ストレージ110内にあってもよいし、システム100の主メモリ(図示せず)内にあってもよい。
図7は、システム100におけるメタデータの暗号化の流れの一例を示す図である。図7を参照して、クライアントA領域210Aのメタデータの暗号化を例にシステム100の動作を説明する。
FIG. 7 is a diagram showing an example of the flow of metadata encryption in the
クライアント領域暗号システム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
クライアント領域暗号システム124内の暗号器700は、秘密鍵A’_750を使用して、平文メモリ640に格納された復号された(平文の)クライアントA領域210Aのメタデータ620を読み込んで暗号化する。暗号器700は、暗号化されたクライアントA領域210Aのメタデータ610を暗号文メモリ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
図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
秘密鍵生成システム810は、各クライアント150のメタデータ(クライアントAファイル構成_128A、クライアントBファイル構成_128B、クライアントCファイル構成_128C)の各々を暗号化および復号するための秘密鍵を生成する。
The private
秘密鍵定期更新システム820は、予め定められたタイミングで秘密鍵生成システム810に秘密鍵の生成指示を出力する。一例として、予め定められたタイミングは、前回の秘密鍵の生成から一定時間の経過後、各クライアント150の認証処理の成功後、クライアント150がシステム100に切断要求を送信した後、各クライアント150のログアウト処理の終了後等の任意のタイミングを含み得る。
The private key
秘密鍵ファイル群830は、秘密鍵生成システム810によって生成された秘密鍵を格納する。クライアント領域復号システム823は、秘密鍵ファイル群830に格納された秘密鍵を用いて、各クライアント150のメタデータの復号を行う。同様に、クライアント領域暗号システム824は、秘密鍵ファイル群830に格納された秘密鍵を用いて、各クライアント150のメタデータの暗号化を行う。
Private
上記のように、システム800がメタデータの暗号化および復号に必要な全ての構成を備えることで、各クライアント850への秘密鍵生成システムのインストール等の手間を省くことができる。
As described above, the
クライアント領域復号システム823およびクライアント領域暗号システム824は、クライアント領域復号システム123およびクライアント領域暗号システム124と異なり、秘密鍵生成システム810によって生成された秘密鍵を使用する。
Client
図9は、システム800の暗号化および復号の処理手順の一例を示すシーケンス図である。図9を参照して、クライアントA_850Aのファイルの暗号化および復号を例にシステム800の動作について説明する。
FIG. 9 is a sequence diagram showing an example of the encryption and decryption processing procedure of
ステップS905において、クライアントA_850Aは、ユーザからシステム800に対するログイン操作を受け付ける。ログイン操作は、例えば、ユーザIDおよびパスワードの入力等である。ある局面において、クライアントA_850Aは、ブラウザを介してユーザからシステム800に対するログイン操作を受け付けてもよい。他の局面において、クライアントA_850Aは、システム800と通信するアプリケーションを介してユーザからシステム800に対するログイン操作を受け付けてもよい。
In step S905, client A_850A accepts a login operation to
ステップS910において、クライアントA_850Aは、システム800にログイン情報を送信する。
In step S910, client A_850A sends login information to
ステップ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
ステップS920において、システム800(クライアント領域復号システム823)は、暗号化されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。
In step S920, system 800 (client area decryption system 823) reads encrypted client
ステップS925において、システム800(クライアント領域復号システム823)は、秘密鍵生成システム810によって生成された秘密鍵Aを用いて、暗号化されたクライアントAファイル構成128A(メタデータ)を復号する。
At step S925, system 800 (client area decryption system 823) uses private key A generated by private
ステップS930において、システム800(クライアント領域復号システム823)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110に書き込む。
In step S930, system 800 (client area decryption system 823) writes decrypted client A
ステップ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
ステップ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
ステップ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
ステップ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
ステップS980において、システム800(クライアント領域暗号システム824)は、復号されたクライアントAファイル構成128A(メタデータ)をストレージ110から読み出す。
In step S980, system 800 (client area cryptographic system 824) reads decrypted client
ステップS985において、システム800(クライアント領域暗号システム824)は、秘密鍵生成システム810によって生成された秘密鍵A’を用いて、クライアントAファイル構成128A(メタデータ)を暗号化する。
At step S985, system 800 (client domain encryption system 824) encrypts client
ステップ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
図10は、システム800におけるメタデータの復号の流れの一例を示す図である。図10を参照して、クライアントA領域210Aのメタデータの復号を例にシステム800の動作を説明する。
FIG. 10 is a diagram illustrating an example of a metadata decoding flow in
クライアント領域復号システム823は、一例として、クライアントA_150Aの認証処理が完了すると、秘密鍵生成システム810により生成された秘密鍵Aを用いて、暗号化されたクライアントA領域210Aのメタデータ610を復号して、復号された(平文の)クライアントA領域210Aのメタデータ620を作成する。ある局面において、暗号文メモリ630および平文メモリ640は、ストレージ110内にあってもよいし、システム100の主メモリ内にあってもよい。
As an example, the client
一例として、クライアント領域復号システム823は、ログインシステム122からクライアントA_150AのログインID1010を取得する。クライアント領域復号システム823は、当該ログインID1010と紐付けられた秘密鍵Aを秘密鍵ファイル群830から取得する。クライアント領域復号システム823は、当該秘密鍵Aを用いてクライアントA領域210Aの復号処理を実行し得る。暗号化処理についても同様である。
As an example, client
クライアント領域復号システム823内の復号器600は、秘密鍵Aを使用して、暗号文メモリ630に格納された暗号化されたメタデータ610を読み込んで復号する。復号器600は、復号された(平文の)メタデータ620を平文メモリ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
図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
情報処理装置1100は、CPU1と、1次記憶装置2と、2次記憶装置3と、外部機器インターフェイス4と、入力インターフェイス5と、出力インターフェイス6と、通信インターフェイス7とを含む。
CPU1は、情報処理装置1100の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。
The
1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。
The
2次記憶装置3は、不揮発性メモリであり、CPU1によって実行されるプログラムおよびCPU1によって参照されるデータを格納してもよい。その場合、CPU1は、2次記憶装置3から1次記憶装置2に読み出されたプログラムを実行し、2次記憶装置3から1次記憶装置2に読み出されたデータを参照する。ある局面において、2次記憶装置3は、HDD、SSD、EPROM、EEPROMまたはフラッシュメモリ等によって実現されてもよい。
The
外部機器インターフェイス4は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。
The
入力インターフェイス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
通信インターフェイス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,
以上説明したように、本実施の形態に従うシステム100またはシステム800は、ストレージ110内のファイル本体を暗号化する代わりにファイルシステム126によって使用されるメタデータを暗号化する。これにより、システム100またはシステム800は、クライアントのファイル群の暗号化と同等のセキュリティを実現し得る。さらに、メタデータのデータサイズはファイル群のデータサイズと比較して極めて小さいため、システム100またはシステム800は、高頻度での秘密鍵の更新を実現し得る。
As described above,
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 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に記載のシステム。 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.
前記システムに保存された前記複数の端末の各ユーザのファイルのメタデータを暗号化するステップと、
あるユーザの端末と通信するステップと、
前記あるユーザの端末との通信中に、前記あるユーザのファイルのメタデータを復号するステップとを含む、方法。 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. .
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) |
-
2021
- 2021-09-28 JP JP2021158097A patent/JP2023048659A/en active Pending
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 |