SSLとHTTPSを検索した後、私は何か非常に単純な操作を行う方法を完全に混乱させています。私はユーザー認証の種類がない小さなアプリを持っています。すべてのユーザーにシンプルなアプリが表示されます。HTTPリクエストでAPIキーを保護する
私はこのためにGoogle translate APIを使用しようとしています。私はAPIキーを翻訳していますが、それをどうやって保護するかは全く気にしていません。自分のiOSアプリからGoogle翻訳を直接呼びたいと思っており、apiドキュメント(https://cloud.google.com/translate/docs/reference/rest)によれば、apiKeyはリクエストパラメータ 'key'として提供されています。 APIのドキュメントでは、GoogleがSSLをサポートしているとも言いますが、明らかにアイデンティティを確認するためにiOSアプリケーションでSSLチェックを行っていません。私の質問は、翻訳APIキーを取得して乱用するMITM攻撃をどのように停止すればよいのでしょうか?私はチャールズを使ってみましたが、私は鍵が通過しているのをはっきりと見ることができます。
インターネットで読んだリソースはすべてSSLを使用していると言われています。しかし、Googleなどの人気のあるサービスを使用してiOSアプリでSSLを使用する方法の例はありません。
この単純なGET要求をどのようにして、私の鍵が盗まれるのを防ぐことができるかについてのアイデアはありますか?
EDIT:
SSLピン留めは、このためにやり過ぎです。私はSSLの使用については考えていませんが、iOSやGoogleなどのエンティティでどのように動作するかはわかりません(下記の@pvgの説明と同じです)。
独自のSSLピンイングを実装することはできますが、APIキーを翻訳するには十分なオーバーキルです。それは誰もが盗むのに十分ではないし、交換するのも難しいことではない。 – pvg
まさに、SSLピンイングを実装することは完全な過剰なものです。自分のサーバーをセットアップし、自分のSSL証明書を購入する必要があります。私の翻訳APIキーが貴重な理由は、誰かが簡単にそれを取得し、私に金銭を払うという唯一の目的で乱用する可能性があるからです。 – user1056585
あなた自身のサーバーと証明書は必要ありませんが、もう一度、誰もあなたのAPIキーを盗むつもりはありません。そうした場合、あなたはその使用について責任を負わない可能性があります。あなたはスーパー・パラノイドの場合、これをGoogleと一緒に取ることができますが、その時点ではプログラミング上の問題ではありません。それはそれほどプログラミング上の問題ではありません。 – pvg