コンテンツにスキップ

ホストキー検証 (Host Key)

中間者攻撃(MITM)を防ぐため、サーバーに接続するたびに、サーバーは自身の身元を証明するためにホストキーのフィンガープリント (Host Key Fingerprint) を提示します。

PhanTerm は、極めて厳格かつ透明性の高い known_hosts 信頼検証メカニズムを内蔵しており、不一致が発生した場合はお客様の安全を最優先に保護します。

新しく未知のホストに接続すると、PhanTerm は画面の中央に確認ダイアログをポップアップ表示し、以下をお知らせします:

  • サーバーのアドレスとポート
  • ネゴシエーションされた暗号化アルゴリズム(Key Type、例: ssh-ed25519ecdsa-sha2-nistp256
  • 安全なハッシュ指紋 (SHA-256)

お客様はこの指紋を確認する必要があります。y キーを押して信頼を承認すると、PhanTerm はこの組み合わせ(host:port + key_type)をローカルの known_hosts.yaml に安全に記録します。

PhanTerm は、具体的なアルゴリズムごとの隔離による信頼メカニズムを採用しています:

  1. 同一ホストでの複数アルゴリズムの信頼:1つのサーバーが同時に複数のアルゴリズムの指紋を提示することがあります。以前にそのサーバーの RSA 指紋を信頼したとしても、今日そのサーバーがハンドシェイクに Ed25519 アルゴリズムを優先して使用した場合、PhanTerm はそれを「新しいキータイプ」として認識し、再度確認を求めます。1つのサーバーが異なるアルゴリズムのキーを複数持つことは正当な動作であり、これは安全のための措置です。
  2. サイレントな通過:すでに信頼が確認されている host:port + key_type については、以降の接続ではサイレントかつ安全に通過します。
  3. 強力な安全ブロック (Fail-Closed):あるマシンの Ed25519 キーを過去に信頼したにもかかわらず、ある日そのホストが異なる Ed25519 キーを返した場合、PhanTerm は直ちに接続を強制ブロックし、赤いセキュリティ警告を表示します。