タイトルBrowsing Mac OS X》Mac OS Xでのキーチェーンの使い勝手(1)カテゴリーユーザインタフェース, Browsing Mac OS X
作成日2001/11/21 18:33:30作成者新居雅行
Mac OS時代から「キーチェーン」として存在する機能は、ネットワークでファイルサーバを使っているユーザを中心に使い勝手がいいことでずっと評価されてきた。古くは、PowerTalkから機能が組み込まれていて、PowerTalk自体が開発の困難さがあったためにほとんど普及はしなかったものの、デフォルトで使える「鍵束」の機能はけっこう便利に使えていた(この「鍵束」という翻訳にはブーイングがあったけど)。そして、PowerTalkが事実上システムから消えたものの、その後にMac OSで復活したのである。
キーチェーンはパスワードといった隠匿しておきたい情報を保持するための機能というのが一般的な説明になるが、たとえば、パスワードをテキストファイルに保存するといったシンプルな手法だと、そのテキストファイルをエディタで開いたらすぐにパスワードがバレてしまう。そこで、キーチェーンを使うことで、パスワードは保護される。つまり、暗合化されてシステムのどこかに保存されるため、単にファイルの中身を見てもパスワードはばれなくなる。そして、利用者がキーチェーンの解除をパスワードを入力して行うことで、キーチェーンにある複数のパスワード情報を、アプリケーションは取得できるようになる。そのためのAPIを呼び出す必要があるが、そうした処理に対応していれば、必要なパスワードなどの情報をアプリケーションが得て、サーバにアクセスできるわけだ。キーチェーンには複数のパスワード情報を保存できるが、それを1つのパスワードで解除できる。だから、複数のサーバを使っているようなときには、最初にキーチェーンのパスワードを入力するだけで、あとはパスワード指定は必要なく、とても便利になる。
一方で、キーチェーンの機能を使うには、アプリケーションが対応していないといけない。さすがに、Finderを始め、Mac OSのシステムに組み込まれているアプリケーションはいずれも対応している。その一方で、電子メールソフトやWebブラウザはキーチェーンには対応しておらず、独自にパスワードを保管しているのが一般的だろう(Mailは対応しているようだ)。もちろん、それでも基本的に支障はないことが多い。一方、アプリケーションを開発する側としては、キーチェーンを使うのが、パスワードを保護して保存したいときにもっとも手軽な方法を提供する。APIとして利用できるだけでなく、AppleScriptからも利用できるので、適用範囲は広いだろう。Mac OS Xとなると、UNIXベースのさまざまなライブラリも利用できるかもしれないが、やはりキーチェーンは、ユーザにとっては「1つで全部のキーを解除」という便利さにつながる。その意味では、OS機能との統合という意味でも無視できない機能であるだろう。

Mac OS Xのキーチェーンの機能は、Mac OSのときと若干違っている。まず、アカウントを作成すると、デフォルトでキーチェーンがすでに作成されている。場所は、ホームフォルダのLibraryにあるKeychainsフォルダに、アカウント名と同じ名前で作られている。このキーチェーンを解除するキー(パスワード)は、アカウントのパスワードと同一である。Mac OS時代は、まずキーチェーンを作るというところからしなければいけなかったが、Mac OS Xは準備OKということだ。それに、キーチェーンをたくさん作るということはあまりしないと思われるので、1つを使うことが多いと思われる。その意味でも、Mac OS Xはお膳立てされた状態で使えるのだ。
今のところは、キーチェーンに対応しているのは、Appleファイルサービスによるファイルサーバへの利用と、Mac OS X ServerのServer Adminを使うときということになる。また、Mailでのアカウント管理でも使われている。iDiskへのアクセスも基本的には保存されるようであるが、こちらはあらかじめシステム環境設定で設定することもあるので、キーチェーンだけがパスワードを記録するというわけではない。SMBサーバ接続もキーチェーン対応してくれればいいのだが、Mac OS X 10.1.1ではそれは実現していない。
AppleShareファイルサーバに接続するときは、たとえばFinderで「移動」メニューの「サーバへ接続」(Command+K)を選択し、接続先を指定する。そして、アカウントとパスワードを入力するところで「オプション」のボタンがある。このボタンをクリックすると新たにダイアログボックスが表示されるが、そこにある「パスワードをキーチェーンに追加する」のチェックボックスをオンにしておけば、接続が成功すると自動的にアカウントとパスワードをキーチェーンに登録する。このチェックボックスを常にオンにするのであれば、「環境設定を保存」のボタンをクリックしておけばよい。

◇AppleShareサーバに接続時にキーチェーンに覚えさせる
 

Mac OS X Serverの管理ツールであるServer Adminの場合は、サーバに接続するダイアログボックスで、「キーチェーンに追加」のチェックボックスを入れておく。すると、接続が成功すると、そのときの情報がキーチェーンに追加される。ちなみに、こうしてログインして、「よく使う項目」に追加しておけば、次回からはキーボードショートカットのCommand+1だけでMac OS X Serverに接続できるので、ログインは極めて手軽になる。

◇Server Adminで接続時にキーチェーンに覚えさせる
 

こうしてキーチェーンにパスワードを覚えさせておけば、あとは自動的に…と言いたいところだが、しばらくMac OS X 10.1.xを使ってみて、その動作が一定しないような気がしてきたのだが、なるべく説明できるようにいろいろ調べてみた。どうやら次のような動きになるようだが、もし、違っているようなら指摘をいただきたい。稼働させているのはMac OS X 10.1をフォーマットしたパーティションにインストールして、その後に10.1.1までアップデートしたシステムである。
まず、Mac OS Xを起動した直後は、キーチェーンはロックされた状態になっている。たとえば、AppleShareサーバのボリュームのエイリアスを、よく使う項目に登録しているとして、そのアイコンをダブルクリックすると、まずはキーチェーンのロックを解除する必要がある。そのためのダイアログボックスが出てくるが、どのアプリケーションからの解除要求なのかもダイアログボックスに示されている。もちろん、ここではキーチェーンのパスワードを入力するが、特に変更をしていないのなら、自分のアカウントのパスワードをキータイプする。

◇キーチェーンのロックを解除するダイアログボックス
 

もちろん、ここで解除すれば、後は自動的に登録されているパスワードが使われて、ログインでいちいちアカウントやパスワードを入力する必要はない。
ところが、この状態で、いったんログアウトをしたとしよう。その場合は、自分のアカウントでも、別のアカウントでも、ログアウト後にログインをしたときには、キーチェーンのロックは解除されているのである。したがって、AppleShareサーバのエイリアスをダブルクリックすると、即座に接続できる。もちろん、ログインはアカウントとパスワードを入力するので、セキュリティ的には問題はないと考えられるが、ならば通常とおり起動したときにも、自動的にデフォルトのキーチェーンのロックを解除するという動作があっていいような気もする。そうしたオプションは見当たらないのである。もっとも、そうしたオプションは、セキュリティ的には弱くなるので、避けているのかもしれない。
関連リンク