web-dev-qa-db-ja.com

シッククライアントのメモリ暗号化

最近、シッククライアントアプリケーションに出会いました。アプリケーションは一時的に機密データ(ユーザー名やパスワードなど)をクリアテキストでメモリに保存し、ユーザーがログアウトするかアプリケーションを閉じると、データはフラッシュされます。

アプリケーションのセキュリティ実装を強化するためメモリに格納されている機密データを暗号化できるテクニックはありますか?アプリケーションメモリがダンプされるたびにデータが暗号化されるようにします。

実装のためのリソースをいくつか提案してください。

1
Jaka

通常、この問題の解決策は次のとおりです。

  • 機密データをメモリに保存しないでください(場合によっては、取得が困難な場合があります)。
  • メモリに保存されたデータを暗号化します(暗号化キーの管理/保護の問題を引き起こします)。
  • メモリに保存される時間依存のデータを最小限に抑えます(つまり、使用後すぐにデータをスクラブ(上書き)し、必要に応じて再度取得する方法を見つけます)。

認証のために、保存されたハッシュを確認するためにパスワードが1回必要です。その後、次回のログインまで、パスワードは必要ありません。

メモリベースの攻撃は比較的複雑であり、通常は物理的なアクセスが必要になるため、ビジネスリスクを評価する際にはそのことに留意してください。

何よりも重要なデータであるメモリ(一時的であっても)またはディスクに残っているものは、他の場所(つまり、別のシッククライアント)で再利用できないことを確認してください。ここで大きなリスクが発生します。静的キーは複数(すべて? )デバイス、他の場所で機能するアカウント、共有ローカルパスワードとローカルシークレット、秘密鍵など.

1
Pedro