出来事の日付:2026年11月11日。
新たに公開された技術解説が、現行のmacOSでサードパーティー製の鍵管理ソフトをインストールせずに、AppleのSecure Enclaveに保護されたSSH認証用の鍵を作成する方法を紹介している。この方法では秘密鍵をMacの隔離されたセキュリティーサブシステム内に保持し、署名操作のたびにTouch IDを要求することもできる。そのため、ユーザーのSSHディレクトリからファイルをコピーするだけのマルウェアにとって、得られるものが少なくなる。
この設定は、よく知られたキーチェーンを使う手順ではなく、macOSの `sc_auth` ユーティリティーとCryptoTokenKitを利用する。著者のテストでは、システムがSecure Enclave内で鍵を生成し、OpenSSH用のハンドルファイルを作成した。このファイルは署名を要求するための参照情報であり、秘密鍵そのものを書き出したものではない。認証時には、生体認証による承認を受けた後、Secure Enclaveがサーバーからのチャレンジに署名する。
解説によると、この機能はmacOS SequoiaとTahoeで動作する。生体認証に結び付いた鍵を作成する際にはTouch IDが求められる。ただし著者は、最初にエラーが出たため指紋を再登録する必要があった。生成された公開鍵は通常の手順でサーバーの `authorized_keys` ファイルに追加できるが、ローカルのハンドルを使うにはOpenSSHの追加設定が必要となる。
一般的なSSH鍵の説明と異なる点が二つある。第一に、この解説は `ssh-add -K` が非推奨となっており、別のキーチェーン連携を対象とするものだと注意を促している。代わりに `SSH_SK_PROVIDER` の設定で、OpenSSHが対応するセキュリティーキープロバイダーを参照するよう指定する。第二に、OpenSSHは生成された `id_ecdsa_sk_rk` という名前のハンドルを自動的には検出しないため、ユーザーはSSH設定に `IdentityFile` の項目を設け、明示的に指定する必要がある。別途設定したパスワード管理ソフトのエージェントなど、既存のSSHエージェントも、テスト時に競合する可能性がある。
セキュリティー上の利点には、運用上の制約も伴う。Touch IDを必須にすれば、署名のたびに物理的な承認が必要になるため、気付かれずに使われることは難しくなる。一方で、日常的なGitやサーバーへの接続にも操作が一つ増える。CryptoTokenKitの確認画面は技術的な内容で、一般消費者向けのダイアログほど洗練されていないと説明されている。サードパーティー製のツールは、Secure Enclaveのハードウェアを利用しながら、より使いやすい画面を提供できる場合があるが、標準機能による方法に必須ではない。
最も重要なのは、書き出せない鍵はバックアップもできないという点だ。Macが故障したり紛失したりすれば、設計上、そのSecure Enclaveの認証用の鍵は使えなくなる。この解説は、別のMacやハードウェアセキュリティーキーに保管した鍵など、独立した復旧用の鍵を、すべての重要なサーバーで認証できるようにしておくことを勧めている。そうすれば、元の鍵を保護するハードウェアの境界を弱めることなく、アクセス手段を維持できる。
したがって、この手法は脅威モデルと復旧計画の双方を変える。秘密鍵ファイルの単純な窃取から保護し、Touch IDを通じて利用のたびにユーザーが認識できるようにする効果が期待できるが、端末のセキュリティー、慎重なSSH設定、複数のアクセス手段に代わるものではない。導入する管理者は、既存の正常に動作する鍵を削除する前に、プロバイダーの設定、エージェント間の相互作用、復旧用の認証手段をテストする必要がある。



