web-dev-qa-db-ja.com

Windows CryptoAPIストア?

Windowsは、アプリケーションが使用する証明書とキーを「暗号ストア」に保存できることを発見しました。

店舗の安全性を知りたいのですが?たとえば、高セキュリティを選択し、アプリケーションがcrtまたはキーを要求したときにストアにアクセスするためにパスワードが必要な場合、それは適切に暗号化されていますか?使用されている暗号化は何ですか?

他の質問は、パスワードが必要ない場合、crtとキーはストア内でプレーンテキストであり、私のコンピューターにアクセスできるすべての人がアクセスできる必要があるため、パスワードがどのようにセキュリティを提供するかがわかりません。この使用例では、「cryptstore」などと呼ばれるデスクトップ上のフォルダーにcrtとキーを配置するのと同じくらい安全に見えます。つまり、それは物事を整理するための単なる方法ですが、有用なものは何も追加しません。

情報をありがとう。

4
starcraftcats

デフォルトの証明書ストアは、コンピューター上の他のシステム暗号化ファイルと同じくらい安全です。例えば。誰かがあなたのWindowsユーザー名/パスワードを知っていてログインできる場合、彼は問題なく証明書にアクセスできます。ただし、誰かがWindowsの資格情報を知らずにハードディスクにアクセスしただけでは、証明書ストアにアクセスできません。したがって、これはコンピュータ上の単なるプレーンテキストファイルよりも優れています。ただし、デフォルトのWindowsツールを使用してそのファイルを暗号化すると、セキュリティは非常に似ています。パスワードを忘れたり、Windowsを再インストールしたりすると、その内容は永久に失われ、復元できなくなります。

明らかに、ログインするとデフォルトストアの証明書にプログラムがアクセスできる必要があるため、外部ハードウェアを使用しないとセキュリティを強化することはできません。

1
haimg

キーは(ユーザーのプライベートMYキーストアの場合)暗号化サービスプロバイダー(古いまたは新しいAPI)に応じて( ソース )に格納されます。

Legacy:
%APPDATA%\Microsoft\Crypto\RSA\User SID\
%APPDATA%\Microsoft\Crypto\DSS\User SID\
CNG:
%APPDATA%\Microsoft\Crypto\Keys

CNG APIの場合、キーはKeyIsoサービスで復号化されたままになります(APIはサービスにキーの使用を要求します)。

0
eckes