6

ローカルデータの安全性

ApplicationData.Current.LocalSettings

Windows 8ストアアプリで使用されるストレージ?

このアプリケーションデータストレージの記事では、セキュリティについては何も述べていません。これについても触れていませ

このデータはアプリの外部から操作できますか?

データの場所を見ました

C:\ Users [username] \ AppData \ Local \ Packages [package_namespace] \ LocalState)

しかし、それは見つかりませんでした。正確にはどこに保存されますか?

このストレージメカニズムのセキュリティを評価して、セキュリティが重要な情報をそこに保存できるかどうかを判断しようとしています。

4

3 に答える 3

4

さらに調査した結果、次のことがわかりました。

http://lunarfrog.com/blog/2012/09/13/inspect-app-settings/

データはに保存されます

C:\ Users [username] \ AppData \ Local \ Packages [package_namespace] \ LocalState \ Settings \ settings.dat

これはWindowsNTレジストリファイル(REGF)であり、レジストリエディタでオープンエンドにすることができ、操作することもできます。

つまり、ローカルストレージは安全ではありません。

他に方法がない場合は、データを暗号化してキーを難読化する可能性があります。

于 2013-03-25T14:54:34.330 に答える
3

保存するのがユーザー資格情報である場合は、PasswordVaultクラスを確認してください。それ以外の場合は、すでに提案したようにDPAPIを使用してください。

于 2013-03-26T05:52:40.650 に答える
2

このアプリケーションデータストレージの記事では、セキュリティについては何も述べていません。これについても触れていません。このデータはアプリの外部から操作できますか?

そのストレージはiOSのコアデータに似ています。ストレージが保護されていない限り(アプリケーションレベルより下)、本質的に信頼できない入力です。ストレージが暗号化で保護されている場合でも、認証されていない可能性が高いため、改ざんされる可能性があります。

データを暗号化してキーを難読化する他の方法がない場合は、可能性があります。

Windowsプラットフォームでは、機密データを保護するための標準的な方法は、データ保護API(DPAPI)を使用することです。最高の保護のために、ユーザー指定のシークレット(APIの追加エントロピー)でDPAPIを使用します。DPAPIされたデータは、ユーザーのプロファイル、レジストリ、またはファイルシステムに保存されます。たとえば、Windows Data ProtectionHow to:Use Data Protection、およびData Protection API(Windows Storeアプリ)を参照してください。MichaelHowardとDavidLeBlancは、Writing Secure Code、SecondEditionでこの主題を適切に扱っています。299ページから始まる第9章「秘密データの保護」を参照してください。

暗号化のようなデータベースが必要な場合は、SQLCipherを参照してください。認証付き暗号化を使用するため、機密性と整合性を提供します。Windows 8は、電話を含むネイティブライブラリをサポートしています(たとえば、Windows Phone 8のネイティブコードを参照してください)。

于 2013-03-26T03:17:48.563 に答える