ページ

2010年3月3日水曜日

Keychain Services 調査 (5) ドキュメントを読む #3 - ACL続き

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

(前回)Cocoaの日々: Keychain Services 調査 (4) ドキュメントを読む #2 - ACL

ACL続き。残りの ACL Entries について。

Mac Dev Center: Keychain Services Programming Guide: Keychain Services Concepts

ACL Entries

  • access object の作成には、SecAccessCreate を使う
  • 1つの access object につき、3つの ACLエントリが作成される
  • 1つ目は owner access で、access object それ自身への変更権限を表す。デフォルトでは、owner access に対しては信頼されたアプリは設定されない。
  • 2つ目は安全と見なされる操作(例えば、data の暗号化)。これはすべてのアプリに適用される。
  • 3つ目は制限される操作(例えば、復号化や署名、鍵情報の取得やエクスポートなど)。このエントリは、SecAccessCreate関数で指定された信頼されたアプリに対して適用される。
  • これらの ACLエントリは、作成後に変更や追加が行える。
  • ACLエントリ毎に下記を定義することができる。
    1. trusted applications(信頼されたアプリ)
    2. the item descriptor string
    3. a list of authorization tags
    4. a prompt selector bit
  • prompt selector bit を有効にした場合、信頼されないアプリから Keychain item へアクセスがあった場合には、アクセス確認ダイアログが表示されるまでは通常と同じだが、さらに keychain パスワードの入力を求められる。デフォルトでは無効になっている。
  • 例外) "the secret of a keychain item" を表示する場合は、信頼されたアプリであってもパスワード入力が求められる。