私は、当社のサーバーをPCI SAQ-Cに準拠させることに取り組んでいます(クレジットカードデータはシステムを通過しますが、システムには保存されません)。サーバーを管理するSSHアクセスがあり、すべてのログインは認証にSSHキーを使用します。
すべてのキーにパスフレーズ(知っているもの)とキー(持っているもの)が必要な場合、これはPCIコンプライアンスの要件を満たしていますか?私は自己評価のドキュメントを読みましたが、それについてはかなり不明確でした。
SSHキーがパスフレーズで保護されている場合、そのパスフレーズで暗号化されます。追加の認証コンポーネントはありません。つまり、クライアント側でキーを復号化(および復号化したキーを保存)することができ、サーバーはこれを知ることができません。実際、多くのユーザーは「キーエージェント」を使用しています。これにより、復号化パスフレーズを1回だけ入力でき、ワークステーションのログインセッション中にキーマテリアルが記憶されます。
ただし、SSHサーバーでパスフレーズとSSHキーの両方を要求できます。パスフレーズはサーバーの通常のユーザーパスワードです。 SSHキーが暗号化されている(そしてキーエージェントを使用していない)場合、これは実際にはログイン時に必要な2つのパスワードです。 1つはキー用、もう1つはサーバー用です。これは、おそらく2要素認証の精神に近いものです。
しかし、コンピュータの重要な資料は無限にコピーできるので、まだ「知っているもの」であると言う人はたくさんいます。代わりに、「あなたが持っているもの」は、複製できないハードウェアトークンになります。トークンがRSAキーをサポートしている場合、ハードウェアトークンを使用してSSHキーを実装できます。ただし、設定には少し時間がかかる場合があります。
PCIは準拠するために多要素認証を必要としているため、質問に単純に答えるには、答えはありません。パスフレーズの暗号化には別の要素は組み込まれていません。 (あなたが何か、あなたが持っているもの、あなたが知っているもの)
ただし、SSHは、セッションがプレーンテキストで送信されないことが要件の1つであるため、デバイスへのコンソールセッションの要件の1つです。