1

サーバーに定期的にデータ更新を求めるiOSアプリケーションがあります。接続はSSLとHTTPBasicAuthenticationを使用します。安全にiOSアプリケーションでサーバーの資格情報を含める方法

私のサーバーのログオン認証情報をアプリに含める最も良い方法は何ですか?私の理解から、jailbroken iPhoneは自分のビルドファイルを読み込み、私のサーバにログインするためのユーザ名とパスワードを簡単に見ることができます。

おかげで、

マイク

+2

jailbrokenデバイスでもアプリケーションを保護する必要がある場合は、私はすべての賭けがオフだと思う... – Yahia

答えて

3

は完全にこれを確保する方法はありません。あなたがすることができる最善の方法は、アプリで復号化した暗号化されたファイルを多少隠してから、アプリケーションからのトラフィックではないように見えるようにサーバーを監視することです。

認証データを不正に暗号化し、何らかの慣習を使用したい場合 - 画像に認証情報を埋め込むか、他のもの(例えばSSH鍵)のように見えるファイルに生データとして埋め込んでください。

しかし、脱獄した開発者は、アプリケーションの解析結果を見るために常にアプリケーションにフックすることができます。あるいは、送信しているすべてのものを単に監視するためにSSHプロキシを実行することもできます。

+0

あなたの応答をありがとう。あなたがここで示唆していることを実行する最善の方法としての素早いアイデアは、その後、アプリケーションからではないトラフィックのように見えるサーバーを監視します。 – gurenski

+0

基本的には、アプリケーションが送信することがわかっているパラメータを省略したり、他のパラメータを追加したり、単一のIPから大量のトラフィックを取得する呼び出しを探します。サービスの非アプリケーション使用を試して検出する方法はたくさんあります。 –

0

URLを読むためにアプリを「脱獄」する必要はありません。 Mac上の簡単なパケットスニッファソフトウェアがそれを行います。すべてのiPhoneのトラフィックをMacのWi-Fiに通して傍受してください。 しかし、ここでの主な質問は、なぜですか?

データを保護する場合は、安全に行う必要があります。いくつかのplistであなたのアプリケーションのユーザー名/パスワードをハードコーディングしているなら、どこかに何か問題があります。

実際のデータアクセスが安全である必要がある場合は、更新を確認する必要はありません。 In App Purchaseのデータをダウンロードする場合は、IAPの領収書と照合して検証します。あなたのサービスにアカウントを持っているユーザーのデータをダウンロードしている場合、パスワードは明らかに彼によって入力されます。これは、適切な暗号方法を使用する場合、パケットスニッファーによって「盗聴」することはできません。

関連する問題