私のココア アプリには次の機能があります。 1. パスワードで保護されたログイン。ユーザーはアプリを使用するためにパスワードを入力する必要があります。
いくつかの調査の後、安全な情報 (私の場合は、ログイン パスワードと各個人プロファイル内の安全な情報) を保存するために KeyChain を使用する必要があると言われました。
私の目標を達成するために使用できる優れた KeyChain ラッパー、SSKeyChain があるようです (私は c lang にあまり慣れていないため、リンゴのキーチェーンを使用するのは難しいでしょう)。また、SSKeyChain を使用するサンプルもいくつか見つけました。iOS: アプリ内にユーザー名/パスワードを保存する方法は? :
To save a password:
[SSKeychain setPassword:@"AnyPassword" forService:@"AnyService" account:@"AnyUser"]
To retrieve a password:
NSString *password = [SSKeychain passwordForService:@"AnyService" account:@"AnyUser"];
ただし、キーチェーンを「保護」する必要があるかどうかはわかりません: 1. setPassword:forService:account を呼び出すとき: 平文のパスワードを含める必要がありますか? または、最初にパスワードを暗号化する必要がありますか? また、サービス名を設定するときは、アプリ名を単純に含める必要があります 2. passwordForService: を使用してパスワードを簡単に取得できる場合、安全ではないようです。他のアプリも同じメソッドを呼び出してキーチェーンを取得できますか? (サービス名とアカウントを知っている場合)
Apple のドキュメントを読みました: https://developer.apple.com/library/mac/#documentation/security/conceptual/keychainServConcepts/02concepts/concepts.html#//apple_ref/doc/uid/TP30000897-CH204-TP9
このキーチェーンを「ロック」および「ロック解除」する必要があるようです。SSKeyChain ドキュメントhttp://docs.samsoff.es/SSKeychain/Classes/SSKeychain.htmlを確認しましたが、そのようなキーチェーンを「ロック」および「ロック解除」する方法が見つかりませんでした。じゃあどうやって守ればいいの?