私は自分のアプリケーションの1つで使用している2つの秘密を隠そうとしています。iOSアプリケーションのセキュリティで保護されたキーは安全ですか?
私はキーチェーンが良い場所だと理解していますが、私はアプリを提出する前に追加することはできません。
私は、このシナリオについて考えた -
- 前にそれらをあいまいにし、他の事業体でそれらを広げて私のアプリのCoreDataデータベースの秘密をシードします。 (私はすでにそのアプリにシードDBを持っています)。
- アプリが初めて起動すると、生成してキーチェーンに移動します。
- CoreDataからレコードを削除します。
これは安全ですか、ハッカーがこれを見て、そのキーを取得できますか?
* THIRD EDIT ** 最初からこのシナリオを説明してくれないことを申し訳ありません。 - アプリケーションには複数のレベルがあり、各レベルにはファイル(オーディオ、ビデオ、画像)が含まれています。ユーザーはレベル(IAP)を購入することができ、購入が完了した後、ファイルをデバイスにダウンロードする必要があります。
iOS6の場合、ファイルはアップルの新しい「ホストされたコンテンツ」機能で保存されます。 iOS5の場合、ファイルはamazon S3に保存されます。
このように、私は2つのキーを持っています: 1. Apple IAPで購入を確認するためのIAPキー。 iOS5をユーザーのためにS3からファイルを取得するための 2. S3キー、:
NSString *secretAccessKey = @"xxxxxxxxx";
NSString *accessKey = @"xxxxxxxxx";
は、私は全くこれらのキーを保護する必要がありますか?私は人々がレベルを購入してS3からファイルを入手できるようになることを恐れている。または、ハッカーは、内部で事前にダウンロードされたすべてのレベルでハッキングされたバージョンを構築することができます。
秘密はどのように使用されていますか?クライアントとサーバーの間の通信ですか?デバイスにファイルを安全に保管していますか?何かを確保する理由を知ることで、それを達成するための最良の方法を示唆することができます。 – WDUK
@WDUK追加されたデータ – shannoga
これらのS3キーを保護するために_WHY_に関する情報を追加できますか?これらのファイルにあなたのアプリのユーザーだけがアクセスできるようにしたいと正しく理解していますか?あなたはIAPを通じてこれらのファイルへのアクセスを販売していますか?人々は有料でダウンロードして使用することを心配していますか? –