用語集/よく見かけるプロセス

trustd

別名: 証明書の信頼性

結論

trustdは、証明書を信頼できるかどうかを判断するmacOSのプロセスです。アプリが行うすべての暗号化された接続や多くのコード署名のチェックが、trustdに証明書チェーンの検証と、必要に応じて証明書が失効していないかの確認を求めます。

答えがキャッシュされているので、ふだんはほとんど気づきません。trustdが目立つのは、多くの接続が一度に始まったときや、失効の確認をネットワーク経由で行う必要があるとき、その確認の応答が遅いときです。

最もよく知られた例は、macOS Big Surが公開された2020年11月の出来事です。失効の確認に答えるAppleのサーバの応答が遅くなり、trustdがそれを待つ間、世界中のMacでアプリがなかなか開きませんでした。

trustdがCPUやネットワークを使う理由

ブラウザでたくさんのサイトを開いたり、アプリが多くのサーバと同期したりして、新しい暗号化された接続が一気に増えると、確認する証明書も増えます。macOSのアップデート後はキャッシュが空の状態から始まるので、保存していたものを改めて確認します。

trustdがCPUを高い状態で使い続けるのは珍しいことです。一部のウイルス対策、VPN、ネットワークフィルタのツールなど、暗号化された接続に割り込み、接続ごとに独自の証明書を提示するソフトウェアが原因のことがあります。

対処法

一時的な急上昇なら、何もしなくてかまいません。接続の確認が済めば落ち着きます。高い状態が続くなら、通信をフィルタしたり検査したりするアプリを終了して、落ち着くか確かめます。落ち着いたら、そのアプリの設定を見直すか、開発元に問い合わせましょう。

ファイアウォールでtrustdをブロックしないでください。2020年の障害で明らかになったとおり、trustdがなければアプリは接続に失敗したり、開くのが遅くなったりします。

trustdが何をしているか確認する方法

trustdは1つではありません。1つは_trustdシステムアカウントで、1つは自分のアカウントで実行され、専用のtrustdを持つシステムサービスもあります。

  1. アクティビティモニタを開いて“表示” → “すべてのプロセス”を選び、検索フィールドにtrustdと入力します。“ユーザ”の列で、それぞれがどのアカウントのために動いているかがわかります。
  2. “CPU”タブで、どのインスタンスが忙しいかを確認します。自分の名前のものなら、使っているアプリが接続を行っています。
  3. “ネットワーク”タブをクリックします。少量の送受信を何度も繰り返しているtrustdは、証明書サーバで失効を確認しています。
  4. どのサーバと通信しているかを見るには、ターミナルを開いてnettop -p trustdを実行します。終了するにはqを押します。
  5. trustd自身のメッセージを見るには、log stream --predicate 'process == "trustd"'を実行します。同じ証明書やサーバについてのエラーが繰り返されるなら、その背後にあるアプリやネットワークが原因です。止めるにはControl+Cを押します。

trustdの普通の状態と気にすべき状態

普通: ブラウザを開いたとき、アカウントにサインインしたとき、新しいソフトウェアをインストールして開いたときに短時間だけ動き、その後は静かになる。失効の確認結果はキャッシュされるので、同じ証明書は、キャッシュされた結果の期限が切れるまでネットワーク経由で再確認されません。

確認する価値あり: 長時間忙しいまま、またはアプリの起動が遅く、接続に失敗する。よくある原因:

  • 暗号化された通信を検査し、サイトごとに独自の証明書を発行するソフトウェア。一部のウイルス対策、VPN、ネットワークフィルタのツールなどです。
  • 失効確認のサーバをブロックしたり遅くしたりするネットワーク。サインイン前のキャプティブポータル付きWi-Fiや、厳しい職場のファイアウォールなどです。
  • Macの日付と時刻が間違っている。有効な証明書が期限切れやまだ有効でないように見えてしまいます。システム設定 → 一般 → 日付と時刻で“日付と時刻を自動的に設定”をオンにします。

trustdが接続するサーバ

Appleは、デバイスが証明書の確認に必要とするホストを、企業ネットワーク向けのネットワーク要件の一覧で公開しています。ocsp.apple.com、ocsp2.apple.com、valid.apple.com、crl.apple.com、certs.apple.comのほか、他社の認証局が運用するいくつかの失効確認サーバが含まれます。

ファイアウォールアプリを使っている場合や、送信ルールの厳しいネットワークを管理している場合、trustdからの接続として見えるのはこれらで、許可すべきなのもこれらです。

よくある質問

Macのtrustdとは?

暗号化された接続やコード署名のために、証明書を信頼できるかどうかを確認するmacOSのプロセスです。macOSのセキュリティの一部で、削除したりブロックしたりするべきではありません。

trustdのCPU使用率が高いのはなぜ?

たいていは新しい暗号化された接続が一気に増えたか、アップデート後にキャッシュが更新されたためで、自然に落ち着きます。高いままなら、一部のウイルス対策やVPNのソフトウェアなど、暗号化された通信を検査するツールがよくある原因です。

ファイアウォールでtrustdをブロックしてもいい?

ブロックするべきではありません。アプリは接続先のサーバを信頼するためにtrustdに頼っていて、ブロックすると開くのが遅くなったり、接続できなくなったりします。

trustdは安全?

はい。macOSのセキュリティの一部で、Appleが署名しており、Appleのアップデートでしか変更できないディスクの保護された領域の/usr/libexec/trustdにあります。証明書を確認するだけで、データを収集することはありません。

trustdがocsp.apple.comに接続するのはなぜ?

証明書が失効していないかを問い合わせています。Appleはocsp.apple.comを、デバイスが証明書を検証するために到達できなければならないホストの1つとして挙げているので、この接続は想定どおりです。

関連項目

アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。