15

watchOS 2 では、共有キーチェーンはなくなりました。

iOS アプリから Watch アプリにキーチェーン値を送信したい場合、WCSession updateApplicationContext 経由で送信しても安全ですか?

4

3 に答える 3

6

はい。

キーチェーン値が変更されず、アプリケーション コンテキストを繰り返し更新する場合は、キーチェーン値を繰り返し再送信するのではなく、値を 1 回だけ送信するように調整することができます (時計がそのキーチェーンに追加するため)。

Apple のエンジニアが、ウォッチ コネクティビティを使用してキーチェーン アイテムを送信する方法について開発者フォーラムで議論しています。

時計でアクセスしたいデータが電話にある場合、アプリは WatchConnectivity を使用して、必要な特定のデータとキーチェーン アイテムを転送できます。Apple Watch のキーチェーンには、ペアリングされた iPhone のキーチェーンとは異なる一連のエントリが含まれているため、両方の場所で何かが必要な場合は、デバイスごとに 1 回生成するか、WatchConnectivity を使用してデバイス間で転送することができます。

アップデート:

watchOS 2 では、Watch Connectivity は、ペアリングされた電話とその時計の間でデータを転送するためのメカニズムです。iOS セキュリティ ガイドに従って、デバイス間の通信は暗号化されます。

メモリ内で辞書にアクセスできるかどうか、または拡張機能が辞書を受け取る前に辞書を保持する方法については、潜在的な脆弱性に対処するために Apple に頼る必要があると思います。

拡張機能が起動し、更新を受け取り、値をキーチェーンに保存するまで、情報はキーチェーンほど安全な場所にないと言っても過言ではありません。

于 2016-01-29T02:42:30.770 に答える
5

Apple セキュリティ ガイドラインに従って:-

キーチェーン データ保護 多くのアプリは、パスワードや、キーやログイン トークンなどの短いが機密性の高いデータを処理する必要があります。iOS キーチェーンは、これらのアイテムを安全に保管する方法を提供します。キーチェーンは、ファイル システムに格納された SQLite データベースとして実装されます。データベースは 1 つだけです。securityd デーモンは、各プロセスまたはアプリがアクセスできるキーチェーン項目を決定します。キーチェーン アクセス API は、アプリの "keychain-access-groups"、"application-identifier"、および "applicationgroup" 資格を照会するデーモンへの呼び出しをもたらします。アクセス グループを使用すると、単一のプロセスへのアクセスを制限するのではなく、キーチェーン アイテムをアプリ間で共有できます。キーチェーン アイテムは、同じ開発者のアプリ間でのみ共有できます。これは、アプリケーション グループを介して iOS 開発者プログラムを通じてサードパーティ アプリにプレフィックスが割り当てられたアクセス グループを使用することをサードパーティ アプリに要求することによって管理されます。プレフィックス要件とアプリケーション グループの一意性は、コード署名、プロビジョニング プロファイル、および iOS 開発者プログラムを通じて適用されます。

キーチェーン データは、ファイル データ保護で使用されるものと同様のクラス構造を使用して保護されます。これらのクラスは、ファイル データ保護クラスと同等の動作をしますが、異なるキーを使用し、異なる名前の API の一部です。


アップルウォッチ iOS 用に構築されたセキュリティ機能とテクノロジを使用して、デバイス上のデータを保護するだけでなく、ペアリングされた iPhone とインターネットとの通信も保護します。これには、データ保護やキーチェーン アクセス制御などのテクノロジが含まれます。ユーザーのパスコードもデバイスの UID と絡み合って、暗号化キーを作成します。Apple Watch と iPhone のペアリングは、帯域外 (OOB) プロセスを使用して公開鍵を交換し、続いて BTLE リンクの共有秘密鍵を使用して保護されます。Apple Watch には、iPhone のカメラでキャプチャされたアニメーション パターンが表示されます。このパターンには、BTLE 4.1 帯域外ペアリングに使用されるエンコードされたシークレットが含まれています。必要に応じて、標準の BTLE パスキー エントリがフォールバック ペアリング方法として使用されます。BTLE セッションが確立されると、Apple Watch と iPhone は、IDS から採用されたプロセスを使用して鍵を交換します。このホワイト ペーパーの iMessage セクションで説明されているとおりです。キーが交換されると、Bluetooth セッション キーは破棄され、Apple Watch と iPhone 間のすべての通信は IDS を使用して暗号化され、暗号化された BTLE と Wi-Fi リンクが 2 番目の暗号化レイヤーを提供します。トラフィックが危険にさらされた場合に備えて、公開ウィンドウを制限するために、15 分間隔でキー ローリングが使用されます。ストリーミング データを必要とするアプリをサポートするために、ペアリングされた iPhone によって提供される IDS サービスを利用して、このペーパーの FaceTime セクションで説明されている方法を使用して暗号化が提供されます。Apple Watch は、本書のデータ保護セクションで説明されているように、ハードウェアで暗号化されたストレージと、ファイルとキーチェーン アイテムのクラスベースの保護を実装しています。キーチェーン アイテム用のアクセス制御キーバッグも使用されます。ウォッチと iPhone 間の通信に使用されるキーも、クラスベースの保護を使用して保護されます。Apple Watch が Bluetooth の範囲内にない場合は、代わりに Wi-Fi を使用できます。Apple Watch は、ペアリングされた iPhone に資格情報が存在しない限り、Wi-Fi ネットワークに参加しません。これにより、既知のネットワークのリストがウォッチに自動的に提供されます。Apple Watch は、サイドボタンを長押しすることで手動でロックできます。さらに、モーション ヒューリスティックを使用して、デバイスを手首から外した直後にデバイスを自動的にロックしようとします。ロックするとApple Payが使えなくなります。手首検出による自動ロックが設定でオフになっている場合、Apple Pay は無効になります。iPhone の Apple Watch アプリを使用して、手首の検出をオフにします。この設定は、モバイル デバイス管理を使用して適用することもできます。ペアリングされた iPhone は、時計が装着されていれば、時計のロックを解除することもできます。これは、ペアリング中に確立されたキーによって認証された接続を確立することによって実現されます。iPhone はキーを送信します。このキーは、時​​計がデータ保護キーのロックを解除するために使用します。時計のパスコードは iPhone に認識されず、送信されません。この機能は、iPhone の Apple Watch アプリを使用してオフにすることができます。Apple Watch は、一度に 1 つの iPhone としかペアリングできません。新しい iPhone とペアリングすると、Apple Watch からすべてのコンテンツとデータが自動的に消去されます。ペアリングされた iPhone で「電話を探す」を有効にすると、Apple Watch のアクティベーション ロックも有効になります。アクティベーション ロックにより、紛失または盗難にあった Apple Watch の使用または販売が困難になります。アクティベーションロックでは、ペアリングを解除、消去、削除するには、ユーザーの Apple ID とパスワードが必要です。

キーチェーン サービスの使いやすさ https://developer.apple.com/library/ios/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html

于 2016-02-08T05:46:45.400 に答える