web-dev-qa-db-ja.com

iOSアプリで秘密鍵をハードコードしても安全ですか?

Cloudinary iOS SDK設定 は、api_secret iOSアプリのソースコード。

文字列リテラルは、たとえばstringsコマンドを使用してアプリバイナリから抽出できるため、セキュリティの脆弱性ではありませんか?

iOS向けFacebook SDKiOS向けAWS Mobile SDK も、iOSアプリのソースコードにAPIシークレットをハードコードするよう要求しません。クライアントリクエストを認証するために、iOS用Facebook SDKはある種の署名アルゴリズムを使用しているようであり、iOS用AWSモバイルSDKは pre-signed URLsAmazon Cognito Identity を使用しています。

3
ma11hew28

API-SECRETその名前が示すように秘密であるため、クライアント側では(モバイルアプリケーションでも)決して明らかにすべきではありません。

この認証情報は、コンテンツの一覧表示、削除、上書き、編集に使用できる署名の生成に使用されています。

サーバー側に保存して、生成された署名のみを渡すか、署名を必要としないクライアント側の署名されていないメソッドを使用する必要があります。

2
Nadav Ofir