1

SSL 経由で REST API を介してバックエンドと通信するモバイル アプリに取り組んでいます。モバイル デバイスは、API 呼び出しで証明書の検証を実行します (モバイル フレームワークの標準ライブラリを使用)。プロキシ (Charles など) を介してモバイル デバイスを接続しようとすると、すべてのトラフィックが表示されますが、予想どおり暗号化されています。ただし、SSL プロキシを有効にし、ルート証明書を生成し、その証明書をデバイスにインストールすると、Charles を介してすべてのデータがクリア テキストで表示されます。

問題は、これをどのように防ぐかです。もちろん、主な目標は、デバイス呼び出しがそのサーバーの有効な証明書を使用してサーバーを許可した場合にのみ、データを公開することです。

4

2 に答える 2

2

攻撃者がそのレベルのデバイスへのアクセス権を持っている場合、そのようなことを防ぐ唯一の方法は、SSL サム プリンティングを使用することです。サーバーへの接続を開始します。SSL 証明書を取得し、これをアプリ コード内のハードコードされた値と比較します。これが一致しない場合、接続を中止し、データを送信しません。

ただし、これに関する問題は、SSL が更新された場合のオーバーヘッドです。新しい拇印値を使用してアプリの更新をリリースする必要があります。これにより、最新バージョンに更新するまでアプリを使用できなくなります。

于 2015-10-13T23:01:25.620 に答える
0

これを防ぐ唯一の方法は、証明書のピン留めを使用することですが、API に初めて接続する前に攻撃者がルート証明書をインストールできた場合でも、 MiMされる可能性があります。

于 2015-10-13T22:54:53.570 に答える