問題タブ [encrypting-file-system]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
encryption - NTFS EFS : あるファイルから別のファイルに暗号化証明書をコピーする方法は?
1 つのマーカー ファイルに関連付けられているすべての暗号化証明書を、一連の他のファイルにコピーしたいと考えています。
確かに、QueryUsersOnEncryptedFile
a を返す関数がPENCRYPTION_CERTIFICATE_HASH_LIST
あり、AddUsersToEncryptedFile
a を取る関数がありPENCRYPTION_CERTIFICATE_LIST
ます。
したがって、私が理解している限り、証明書をコピーするには、これらのハッシュを変換して証明書のリストに戻す必要があります。
この移行を行うために、私はCertFindCertificateInStore
. それはある程度うまくいきましたが、すべての証明書ではなく、どの証明書ストアに問い合わせるべきかさえわかりません...いくつか試してみました: CA
, ROOT
, MY
, SPC
, Trust
, TrustedPeople
(AuthRoot
そしてAddressBook
すでに期限切れになっているものなど、古い証明書のキャッシュが含まれていますが、ハッシュされているすべての証明書にアクセスできるものはありませんでした。
では、証明書ハッシュを証明書自体に確実にマップするにはどうすればよいでしょうか? (いくつかのサンプルコードはいいでしょう。)
前もって感謝します!
補足として:
これらの同じターゲット ファイルから他のすべての証明書も削除したいと思います。この目的のために、 と呼ばれる利用可能な関数がありRemoveUsersFromEncryptedFile
、これもPENCRYPTION_CERTIFICATE_HASH_LIST
.
このリストは、最初QueryUsersOnEncryptedFile
に各ファイルを呼び出して収集し、結果の証明書ハッシュ リストをRemoveUsersFromEncryptedFile
(同じファイルで) に渡すことができると思います。
ただし、注意点があります。すべての証明書を失いたくありません。そうしないと、ファイルに誰もアクセスできなくなります。この中間ハッシュ リストから、自分自身の (および拡張により他の許可された) 証明書ハッシュを安全に消去できますか? (専用機能もあると思いFreeEncryptionCertificateHashList
ます。)
c++ - ファイルをコピーしてWindowsEFSを継承するにはどうすればよいですか?
%USERPROFILE%\ AppData \ Local \ Tempに一時ファイルを作成し、rename.cの_wrename()関数を呼び出して、そのファイルをWindowsのEFSで暗号化されたディレクトリに効果的に移動するプログラムがあります。問題は、このファイルがそのディレクトリの暗号化設定を継承しないことです。これを克服する方法はありますか(Tempフォルダーを暗号化したくないのですが)?
windows - API を使用して EFS データ回復エージェント (DRA) 証明書をプログラムで追加する
Windows OS で暗号化ファイル システム (EFS) のデータ回復エージェント (DRA) 証明書をプログラム (任意の言語) で追加する方法を探しています。
gpedit.msc - セキュリティ設定 -> 公開鍵ポリシー -> 暗号化ファイル システム -> DRA の追加。
しかし、私はそれを自動化したいと考えています (Active Directory グループ ポリシーを使用せずに!)。
コマンド ライン ソリューションも使用できます。
c++ - アプリケーション固有のキーでディレクトリを暗号化する方法は?
私は、多数のクラス、データベース ライブラリなどを介して 1 つのディレクトリ内の多数のファイルにデータを格納 (および頻繁にアクセス) する C++ アプリケーションに取り組んでいます。応用。
Windows では、アプリケーションがログイン ユーザーのパスワードに基づいて暗号化キーを使用するのではなく、暗号化キーを直接設定できる場合、プログラムでディレクトリの EFS を有効にすることが最適です。これは不可能のようです。
コードにはファイルを読み書きする場所が多数あり、一部は完全なランダムアクセスであるため、OS ファイル操作 API に似たものをエクスポートするライブラリは、OS の直接サポートがない場合に最も簡単です。
Windows は最大のユーザー ベースですが、Mac と Linux で使用できるものは大きなプラスになります。
助言がありますか?
sql-server-2008 - ローカル管理者ユーザーが EFS で暗号化されたデータベース ファイルにアクセスできないようにするにはどうすればよいですか?
C# マルチユーザー クライアント サーバー アプリケーションと、データベースとして SQL Server 2008 Express があるとします。これは顧客の PC にインストールするアプリケーションであり、会社で働くすべての人がアクセスできます。つまり、ファイルへの物理的なアクセスは無料で、ファイルを自分のマシンに.mdf
簡単にコピーして添付することができます。.mdf
そして、私が開発したすべての DB 構造とストアド プロシージャのコードを表示します。
この問題に関する多くの情報を読み、Windows の無料の EFS (暗号化ファイル システム) を使用するよう指示しました。その結果、このために特別に作成した特定のWindowsユーザーアカウントでファイルを暗号化.mdf
し、ユーザーのパスワードを設定して、誰も私のユーザーとしてログオンしてファイルを復号化できないようにしました. すべて問題ありませんでしたが、顧客がログオンするユーザーはほとんど常にローカル管理者グループに属しているため、私のユーザーのパスワードを簡単にリセットし、私のユーザーとしてログオンしてファイルを復号化できるというジレンマに遭遇しました。ユーザーを管理者グループから除外できません。
誰でもこの問題を解決するのを手伝ってくれませんか? または、ファイルを復号化できないように、追加のユーザーを作成せずにファイルを復号化する可能性があり.mdf
ますか?
私は本当に助けていただければ幸いです!
encryption - EFS 証明書を使用せずにファイルを復号化する方法 (Windows 8)
古い Windows 8 64 ビット インストールで、EFS を使用して自動的に暗号化された多数のファイルがあります。Windows 8 64 ビットを再インストールしましたが、これらのファイルにアクセスできなくなりました。以前の OS の EFS キー証明書を持っていません。
私が試したことと仕事のすべて: 1.コマンドプロンプトでも「所有権の追加」ソフトウェアを試しました。2. admin で UAC 機能を有効にして、admin アカウントからアクセスしてみました。3. 主に EFS リカバリ ソフトウェアを試してみましたhttp://www.elcomsoft.com/aefsdr.html
EFS 証明書なしでファイルを復号化する他の方法はありますか?
windows - EFS (暗号化ファイル システム): セキュリティ上の懸念: パスワード関連のハッシュがハード ドライブに保存されていない
次の YouTube ビデオは、EFS の仕組みを要約するのに非常に適しています。そのようなウィンドウの内容の要約に興味がある人のために、以下に添付しました。ただし、これにより、セキュリティに関する1つの質問が残ります。
- ユーザーが Windows にログオンすると、おそらくパスワードから (または、パスワードとユーザー名、およびおそらくソルトなどの他のデータから) ハッシュが計算されます。ユーザーが最初にパスワードを作成するとき、私が間違っていなければ、そのようなハッシュをハード ドライブのどこかに保存する必要があります。少なくとも、古い Unix システムはそのような方法で動作していました (/etc/passwd に格納されています)。したがって、ユーザーがログオンすると、パスワード ハッシュが計算され、そのようなファイルに保存されているものと比較されて、ユーザーが認証されます。ハッシュが一致する場合、ユーザーはログインしています。
ここまでは順調ですね。上記のメカニズムが (最新の Windows システムで) 使用されている場合、これは、誰かが Windows システムにハッキングしたときに、そのようなパスワード ハッシュを読み取ることができることを意味します。ハッカーはパスワード ハッシュと Microsoft の特別な対称アルゴリズムに加えて、暗号化された秘密キーがハード ドライブのどこに保存されているかを知っているため、ハッカーはそれを解読して秘密キーを取得できます。もちろん、秘密鍵が取得されると、証明書の公開鍵を使用して暗号化されたすべてのデータが、ハッカーによって復号化される可能性があります。
誰かが私の推論の欠陥を指摘できますか? おそらく、この欠陥は、Windows 認証の実行方法に関する私の誤解によるものです。
ありがとう。
http://www.youtube.com/watch?v=YxgWsa-slOU
上記のビデオの内容の要約: - EFS (NTFS ファイル システムで利用可能) は、ユーザーがファイルやフォルダーを暗号化できるように設計されているため、そのようなファイルやフォルダーを暗号化したユーザー以外はアクセスできません。盗まれたマシンの管理者アカウントは、最小限のハッキング知識で作成できるため、ハード ドライブに含まれるほぼすべてのファイルにアクセスできます。対称鍵暗号化アルゴリズムは、公開鍵暗号化アルゴリズムよりも約 100 倍から 1000 倍高速に動作します。右クリック -> プロパティ -> 一般 -> 詳細設定... -> コンテンツを暗号化してデータを保護し、[適用] をクリックします (ファイルのみを暗号化するか、ファイルとその親フォルダーを暗号化するかを選択して [OK] をクリックします)。 )。Windows によってファイルが緑色に変わりますが、ファイルへの完全なアクセスは引き続き可能です。これにより、管理者アカウントでログインした人はファイルを見ることができなくなります。実際には、「certmgr」コマンドを使用して証明書マネージャーにアクセスできます。そこから、空の状態で始まる可能性がある個人 -> 証明書アプリケーション フォルダーの内容を表示できます。上記の方法でファイルを暗号化すると、DESX アルゴリズム ファイル暗号化キー (FEK) と呼ばれる対称キーが生成され、証明書の公開キーを使用して FEK が暗号化され、暗号化されたデータと共に保存されます。証明書ストアに含まれる証明書では、公開鍵にはアクセスできますが、秘密鍵にはアクセスできません (証明書は、ユーザーなどの本人であることを証明し、ユーザーの公開鍵を表示します)。証明書は秘密鍵も指しています。
windows-server-2012 - IIS での EFS の使用。回復を確実にする方法
こんにちは、ユーザーが重要な情報を Web サイトに保存できるシステムに取り組んでいます。Ws2012 と IIS8 の使用
EFSを使用して、通常のファイルのデータを暗号化しています。サーバーの管理者から保護する必要があります。(少なくとも情報を取得することを困難にします) ファイルは飛行中に暗号化/復号化する必要があります。
それは実際にうまく機能しています。フォルダを EFS として設定するだけで、IIS によって保存されたファイルは暗号化され、管理者はコンテンツを取得できません。ここまでは順調ですね。
問題: しかし、IIS を再インストールするか、サーバーを再構築/再インストールする必要がある場合、証明書が異なるため、「新しい」IIS ではファイルを使用できません。通常、ユーザーとしてログインして EFS 証明書をバックアップできますが、IIS でこれを行うにはどうすればよいですか。
アイデアは、証明書をエクスポートして安全に保つための管理者 (非常に信頼できる) を 1 人だけ持つことです。したがって、すべての「通常の」管理者はそれにアクセスできません。そのため、サーバーの再構築後に証明書を再インストールすると、新しい IIS がファイルに再びアクセスできるようになります。
証明書を取得するいくつかの方法を見てきましたが、すべての説明/例では、IIS が使用するような「サービス」ユーザーではなく、ローカルにログインしているユーザーを使用しています。
2 つの方法があります。1 つは、サイトの作成時に、IIS が使用する証明書をインストールする方法です。この方法ではエクスポートは必須ではなく、すべてのサイトが同じ証明書を使用します。しかし、どのように?
2 番目の方法は、IIS が使用する証明書をエクスポートすることですが、どのように?
うまくいけば、これは簡単な作業ですが、見つかりません。
よろしくジェスパー