私のサーバーに接続してデータを取り出し、このAPIを使用するモバイル(Android)アプリに送信するモバイルAPIを開発しています。サーバーにリクエストを送信するモバイルクライアントを認証するにはどうすればいいですか
サーバーで認証されたユーザーのみがAPIを使用できることを確認します。
APIを使用するユーザー名またはパスワードを与えることはできますが、他のユーザーがユーザー名とパスワードを使用して同じリクエストをサーバーに送信した場合(返信) APIに対するこの攻撃を回避するにはどうすればよいですか?
Googleは署名キーのダイジェストに関連付けられているAPIのようなAPIでAPIキーを使用していることがわかりました。私はそれがどのように働いているのか、それが何かを助けることができるかどうかはわかりません。
実際には、サーバーに要求しているクライアントアプリケーションが自分で開発したアプリケーションと同じであることを確認したいと思います(逆コンパイルと再コンパイルされたバージョンのアプリケーションではありません)。 APIのユーザーを認証するには?
本当にどんな攻撃を防ぐの?ユーザー名とパスワードを持っている人は、どのようにしなければならないのかというすべてのAPIを呼び出すことができます。途中でデータが変更されていないことを確認したい場合は、どのように表示することができます。もしあなたが頻繁にapiを呼び出すのを防ぎたければ、それを解決するもう一つの方法があります。あなたが 'man in the middle attack'攻撃者の –
をあなたのユーザのユーザ名とパスワードで盗むことができます。それはあなたが欲しいものですか? –
送信者のコンテンツを暗号化して、途中で人を過ぎました。しかし、一部の人がモバイルアプリを逆コンパイルしてユーザ名とパスワードを見つけて、ユーザ名とパスワードを使って私のアプリに新しいリクエストを送るとしましょう - 実際に私にリクエストしているクライアントのAPPは、 (自分のコードを逆コンパイルして再コンパイルした別のアプリケーションではない) –