2

私はFiremonkeyを使ってアンドロイドアプリを開発しています。このアプリはRestを使ってWebApiにリクエストし、jsonの結果を返します。 APIはすでに開発されており、各リクエストはデータを返すためにクエリー文字列としてユーザーとパスワードを送信する必要があります。私の質問は:firemonkey(アンドロイド)の機密データを保存する最良の方法は何ですか。もちろん、そのようなデータを格納するために暗号化を使用することが最初に気になることですが、これにはfiremonkeyのネイティブで安全な機能がありますか?機密データをfiremonkeyのパスワードとして保存する方法は?

+0

サーバーのログファイルに終わるこれがためにほとんど意味がありません私にとっては、クエリーストリングのプレーンテキストは、Androidの内部ストレージよりもはるかに危険にさらされる可能性が高いです。 –

答えて

0

パスワードを暗号化しないでください。攻撃者がDBを取得したときにも、暗号化キーを取得します。

ハッシュ関数を使用するだけでは不十分です。ちょうど塩を追加するだけでセキュリティを向上させることはほとんどありません。

代わりに、約100msの間、ランダムな塩でHMACを繰り返し、塩をハッシュで保存してください。 PBKDF2,password_hash,Bcryptなどの機能を使用してください。要点は、攻撃者が無差別にパスワードを見つけるのに多くの時間を費やすことです。

は、それが暗号化されますHTTPS接続で、それは明らかであるHTTP接続で、クエリ文字列内のユーザーのパスワードを送信しませんが、おそらく

+0

@Zafeデバイスにアクセストークンを保存していますか? – Marcoscdoni

+0

ええ、しかし、質問ごとにOPはそのような安全でない方法で資格情報を必要とするWebサービスを制御できません。 –

+1

@FreeConsultingその後、OPにはdelimaがあり、ユーザーを危険にさらすか、プッシュバックして寄付することを拒否します。私たちは安全でない製品の生産を止める必要があります。ユーザーを危険にさらす安全でないサイトを作成することに貢献することをお勧めしますか? – zaph

1

保存しないでください。本当にセキュリティが必要な場合は、必要に応じてサーバーに要求してください。キーとデータが同じマシンに保存されている場合、安全な暗号化などはありません。

+1

私は、サーバーから要求できない*ユーザーの*パスワードを保存する方法を質問していると思います。そして、 "それを保存しないでください"というのは、この場合有効な答えですが、非常に有用な*答えのようには見えません。多くのアプリでは、ログイン情報を覚えておいて、ユーザーが起動するたびに認証する必要がなくなり、この質問は単にその方法を尋ねることだと思います。 –

+1

@RobKennedy生成されたアクセストークンを使用します。これは10年以上にわたって解決された問題です。暗号化されているかどうかにかかわらず、決してクライアントにパスワードを保存しないでください。 –

+1

その答えを書いてください。 –

関連する問題