メインコンテンツまでスキップ

10. セキュリティ検討事項 (Security Considerations)

10.1. 信頼できない入力 (Untrusted Input)​

agent は、受信したすべてのメッセージを信頼できない入力として扱わなければならず (MUST)、解析および操作の前に長さおよびデータ型を検証しなければなりません (MUST)。解析に失敗した、またはオーバーフローする要求は拒否し、SSH_AGENT_FAILURE を返します。

10.2. 信頼境界 (Trust Boundary)​

agent の信頼境界内のあらゆる主体は、ロードされた鍵を使用できます。秘密鍵は、信頼境界外で強制的に受け入れられてしまうような場所にはロードすべきではありません (SHOULD NOT)。公的にアクセス可能な agent に接続する前に、ユーザーは agent の信頼境界を評価すべきです (SHOULD)。

10.3. エンドポイントアクセス制御 (Endpoint Access Control)​

agent エンドポイントは、agent の信頼境界外の主体によるアクセスを防ぐため、オペレーティングシステムのアクセス制御を受けなければなりません (MUST)。agent は、既定で同一ユーザーのプロセスのみの接続を許可すべきです (SHOULD)。agent エンドポイントの権限は、ユーザーのみのアクセスに制限することが推奨されます。Microsoft Windows 上では、agent の名前付きパイプは適切なアクセス制御リスト (ACL) によって保護されるべきです (SHOULD)。

10.4. 秘密鍵素材 (Private Key Material)​

秘密鍵素材は agent プロセス内に留まらなければならず (MUST)、平文でエクスポートしてはなりません (MUST NOT)。agent にロードされる秘密鍵は、鍵保護 (key protection) またはパスフレーズ (passphrase) によって暗号化されるべきです (SHOULD) が、これはクライアントポリシーの決定に委ねられます。

10.5. 転送 (Forwarding)​

agent をリモートシステムへ転送した場合、リモートシステムは agent の信頼境界内へのアクセス権を得る可能性があります。ユーザーは転送された agent アクセスに対して注意すべきです (SHOULD)。リモート SSH サーバーは、agent 転送要求を拒否してもかまいません (MAY)。