個人ユーザーデータを保存するためのアプリを開発しています。私は sql-server-ce データベースを使用しています。データには画像を含めることができます。今後、アプリは SkyDrive と同期できるようになります。そこで、データの暗号化についていくつか質問があります。
データを暗号化する最良の方法は何ですか? すべてのデータベースを (オプションで) 暗号化し
Password
ますか、それともデータのみを (データベースのように AES128 で) 暗号化しますか?非対称キーを保存する場所 (AES 用)。コードに定数として保存できますか (いいえ: Silverlight - Hardcoding private key )、または
ProtectedData
クラスを使用する必要がありますか? 私が理解しているように、ProtectedData
アイテムは現在のデバイスにリンクされているため、その生成されたキーを別のデバイスに同期することはできませんか?画像の保存方法は?分離された暗号化ファイルとして、またはデータベース内の Blob 列として? すべてのアプリで、約 50 個のフル解像度の画像が可能です。それらをデータベースに保存したいのですが、パフォーマンスに影響しますか (たとえば、別の Blob 列に保存されている 50 個のサムをすべて表示したいのですが、LINQ ではすべての行を選択するので、それらはすべてメモリに読み込まれますか?)。