ユーザーのグループのファイルを暗号化するためにどのシステムを使用しますか(OSに依存しないことをお勧めします)。
-
06-07-2019 - |
質問
多数のファイルがあるとします。 これらのファイルにメタデータを保存できるとしましょう。 たとえば、これらのメタ属性の1つは「暗号化」と呼ばれていました。 誰もがこれらのファイルを見ることが許可されていたが、それらは暗号化されているので、それらを解読する方法を知っている人だけが実際にコンテンツを読むことができると言う。 たとえば、「暗号化」の指定された値ごとに、人々のグループがその値でマークされたファイルを復号化する方法に関する知識を共有するとします。 OSに依存しない方法で(可能であれば)プログラムでこれを実行できるようにしたいとします。
「暗号化」に使用する値は何ですか? どのようにキーを保存しますか? キーへのアクセスをどのように整理しますか?
現在、次の実装に傾倒しています:
- フィールド" encryption"の値おそらく使用されるアルゴリズムを示すキーの名前が含まれています
- 各ユーザーは一連のキーにアクセスできます。これは、ユーザーがLDAP / ActiveDirectoryのような構造で持っているロールによって定義することも、ユーザープロファイル/ホームディレクトリ内の安全なディレクトリ内のファイルにすることもできます。
- ファイルを表示すると、ビューア(ドキュメント管理システムを構築しようとしています)がユーザーキーをチェックし、一致するキーが見つかった場合にファイルを復号化します。
どの暗号化を使用しますか?対称(AES)?または非対称(良いものは何ですか)
非対称キーを使用すると、ファイルの読み取りとファイルの書き込みに違いが生じるという追加の利点があります:秘密キーへのアクセスは、ファイルの書き込み、公開キーへのアクセスに必要です(特定の役割のみとして、半公開のみアクセスできます)ファイルの読み取りを許可します。私はここで完全に間違っていますか?
中小企業で使用されるこれらの問題を解決する一般的なシステムは何ですか?
編集:普遍的な解決策はないようです。そこで、もう少し明確に解決しようとしている問題について述べます。
分散方式で動作するドキュメント管理システムを想像してください。各ドキュメントは、(会社が管理するプライベートな)P2Pネットワークのさまざまなノードにコピーされます。ドキュメントの冗長性を保証するアルゴリズムを使用して、すべてのドキュメント(リビジョンを含む)のバックアップを確保します。このシステムは、バックグラウンドでサービス/デーモンとして動作し、ドキュメントをあちこちでシャベルします。
これは、ユーザーがローカルワークステーション(会社が管理するPCやラップトップなど)で表示することを意図していないドキュメントを作成することを意味します。 P2Pネットワークの一部です)。
これは、ユーザーがおそらくデータにアクセスできるため、ディレクトリアクセスベースのスキームを除外します。私はここで間違えていますか?ドメインユーザーのみがアクセスできるようにローカルフォルダーを暗号化できますか?それはどれほど安全ですか?
私は、ユーザーが暗号化解除されたバージョンのファイルを共有していることを認識しています。技術的に抑制することは困難です。これは私が解決しようとしている問題ではありません。
解決
ここでは、暗号化は難しい部分ではありません。ビジネスニーズ、特に保護しようとしている脅威を理解することは難しい部分です。キー管理は簡単なことではありません。
本" Applied Cryptography "を強くお勧めします。プロトコルレベルの問題をよりよく理解するのに役立ちます。
他のヒント
これは難しい問題です。これが本当に深刻なものである場合、インターネット上のアマチュア暗号作成者のアドバイスを使用しないでください。
とはいえ、ここに私の考えがあります:
AESを使用して各ファイルをランダム対称キーで暗号化します。この暗号化は夜間に実行されるジョブで行われるため、キーは夜間に変更されます。
各ファイルのキーを、そのファイルにアクセスできるすべての人の公開キーで暗号化します。
ファイルへのアクセスが失われた場合、翌日に新しいコピーを読むことができなくなります(古いバージョンのコピーをローカルに保持できます)。
gpgを使用します(ほぼすべてのOSで問題なく実行されます)。
非対称暗号を誤解しています。公開鍵は全員に与えられ、秘密鍵は自分で管理します。アリスがボブの公開鍵で何かを暗号化すると、ボブだけがそれを解読できます。ボブが自分の秘密鍵で何かを暗号化する場合-誰もがそれを復号化でき、誰もがボブからのものであることを知っているのは彼だけが彼の秘密鍵を持っているからです。
編集:ただし、私が言ったすべてを無視して別のルートに行き、すべてのファイルに独自のpub / privキーペアを与えた場合...ファイル、およびあなたがr / wしたい人に利用可能な秘密鍵。しかし、それは少し複雑で、キーを配布できない人々に大きく依存しています。キーを変更する夜通しの仕事はその問題を軽減するかもしれませんが、それではユーザーに新しいキーを配布する問題があります。
あなたが正しく理解できれば、GNU Privacy Guardを使用できます。クロスプラットフォームでオープンソースです。基本的に、すべてのユーザーにはGPGのコピーとローカルの「キーチェーン」があります。 「秘密鍵」でおよび「公開鍵」。何かを暗号化する場合は、その人の公開鍵を使用します。結果は、関連する秘密鍵でのみ復号化できます。ユーザーは複数のキーペアを持つことができるため、すべての管理者に「管理者ロール」へのアクセスを許可できます。秘密鍵、およびそれらの秘密鍵のそれぞれが「管理者の役割」で暗号化されたドキュメントを復号化できます。公開鍵。
クールな部分は、複数の公開鍵でファイルを暗号化でき、対応する秘密鍵のいずれかを使用してそのファイルを復号化できることです。
この問題の難しさは、多くの企業がデフォルトでActive DirectoryなどのOS固有のソリューションを使用することになっている理由です。
OSに依存しないため、特定のOSやネットワークベンダーがすでに構築している多くのユーザー管理機能を再作成する必要があります。
しかし、それはできます。暗号化自体については、AviewAnewの回答をご覧ください。
ここでマークに同意する必要があります:
ビジネスニーズ、特に保護しようとしている脅威を理解することが難しい部分です
たとえば、権限のないユーザーが機密ファイルにアクセスする可能性があることを心配していますか?事実上すべてのオペレーティングシステムでファイルレベルのアクセス制御を使用して、ユーザーまたはグループがファイル/ディレクトリにアクセスすることを制限できます。
許可されたユーザーがファイルをローカルにコピーしてからラップトップを紛失するのではないかと心配していますか?さまざまなレベルの保護を提供する多くのOSレベルの暗号化機能があります。個人的には、サムドライブやその他のポータブルメディアにTrueCryptをお勧めします。WindowsVistaには、異なるレベルの保護を提供するBitLockerが含まれるようになりました。
lost-laptopテーマの別のバリエーションはlost-backupテーマです。多くのバックアップベンダーは、まさにこの理由でテープバックアップ用の暗号化スキームを組み込んでいます。
最後に、許可されたユーザーが許可されていないユーザーとファイルを共有することを心配している場合、間違った問題を解決しようとしている可能性があります。これらのファイルを復号化できる承認されたユーザーは、同じドキュメントの新しい非暗号化バージョンを簡単に共有できます。
必要なのは、OpenPGPまたはX.509証明書を使用した公開鍵暗号化です。どちらの場合も、複数の「受信者」のデータの単一ブロックを暗号化できます。それぞれOpenPGPキーまたはX.509証明書を使用します。 X.509では、この方法でデータを暗号化するための標準はPKCS#7とCMSです(RFCで定義されているため、数字を忘れていました)。以前にアクセス権を与えられていたが、現在アクセス権を持っていないユーザーのアクセスを防ぐために、いくつかのキー失効チェックを採用する必要があります。