HTTP 接続を使用してサーバーからデータを要求するアプリを設計しています。
このデータは選択したアイテムに依存するため、サーバーには選択したアイテムに対応するさまざまな URL があります。
今のところ、アプリで URL をハードコーディングしました。Android は初めてなので、質問は次のとおりです。
これらの URL のリバース エンジニアリングを防ぐにはどうすればよいですか?
ありがとうございました。
任意のデバイス (Android の場合) から機密データを送信する場合、非表示の URL を中継しても、アプリケーションにセキュリティはもたらされません。
最初は SSL プロトコルを使用できます。SSL はユーザーとサーバーの間のデータを暗号化するため、盗聴者はデータを読み取ることができません。MITM攻撃を防ぐために、Androidデバイスからデータを送信するときにSSL証明書を確認する必要があります。
また、セキュリティを強化するために、対称または非対称の暗号化アルゴリズムをデータに含めることができます。公開鍵を使用してサーバーに送信する前にデータを暗号化でき、サーバーだけが秘密鍵を持ちます。したがって、その秘密鍵を使用してサーバーでデータを復号化できます。PHP には、openssl API に関する多くのリソースがあります。
公開鍵暗号化アルゴリズムを使用できない場合は、AES などの対称アルゴリズムを使用できます。それも安心でしょう。ただし、暗号化キーは安全に保つ必要があります。たとえば、暗号化キーをクライアントに転送するために基本的な非対称暗号化を使用してキー交換アルゴリズムを実装し、AES を使用してデータを暗号化できます。
最適なセキュリティは SSL を使用することであり、対称および非対称暗号化アルゴリズムを使用してデータを暗号化することもできます。
それは、実装とデータを保護するための努力に完全に依存します。