HTTPSを介してRESTfulサービスと通信するiOSアプリの場合、セッションキーはKeychainまたはNSUserDefaultsに保存する必要がありますか?ユーザー名とパスワードはキーチェーンに保存され、sessionKeyも保存するのは簡単なことです。
しかし、セキュリティの観点から、それによってセキュリティが強化されますか?おそらく誰かがあなたのNSUserDefaultsに到達できれば、そのアプリからのHTTPSリクエストのトラフィックも見ることができますか?
NSUserDefaultsは暗号化されておらず、プレーンテキストの.plistファイルに保存されています。デバイス上でも、Macと同期した場合でも、簡単に開いて読み取ることができます。 NSUserDefaultsは設定用であり、安全なログイン情報を保存するためのものではありません。パスワードやキーなどの機密データです。キーはキーチェーンに保存する必要があります。 Appleの キーチェーンサービスプログラミングガイド は、「キーチェーンは複数のアプリケーションと安全なサービスのパスワードを保持する暗号化されたコンテナです。キーチェーンは安全なストレージコンテナです。つまり、キーチェーンがロックされていると、誰もアクセスできません。その保護されたコンテンツ」。さらに、iOSでは、各アプリケーションは独自のキーチェーン項目にのみアクセスできます。
lynks が示唆するように、セッションキーは永続的に保存しないでください。いずれにしても、以下の例/フレームワークを表示することをお勧めします。