1

Web アプリ サーバーで HTTP 取得要求を要求しているクライアントが、モバイル アプリからのものであり、他のものからのものではないことを確認したいと考えています。さまざまなオプションを検討しましたが、まだ何も思いつきません。最も重要なことは、ユーザーとのやり取りがないようにしたいということです。モバイル アプリ自体がこれを処理するようにしたいのです。私が思いついた最善の方法は、Web アプリが事前に知っている秘密鍵をモバイルアプリに持つことですが、モバイルアプリが逆コンパイルされたり、何らかの形で鍵が明らかになった場合、これは役に立ちません。2 つの間の通信は、ランダムな IV を使用して AES 128 ビット CBC 暗号で暗号化されます。IV はプレーン テキストでやり取りされ、トランザクションごとに変更されます。

通信がモバイル アプリからのものであることを確認することは、論理的に不可能であり、サーバーに既に設定されている覚えているパスワードを入力するようユーザーに要求するなど、人間の介入を必要としますか?

最終的に、モバイル アプリは Web アプリ サーバー上のデータベースを更新するため、アプリを装った誰かからではなく、アプリからリクエストが行われていることを確認したいと考えています。

4

1 に答える 1

1

これは決して不可能ではありません。これは、CWE-602の背後にある基本的なプロパティであるサーバー側のセキュリティのクライアント側の強制によるものです。クライアントの振る舞いを指示する方法はありません。ソフトウェアのユーザーがデバッガーを接続してメモリを読み取ったり、クライアントを変更したりすることを妨げるものは何もありません。

于 2012-08-30T16:00:53.087 に答える