私は暗号化のトピックに不慣れで、PKI や PKCS などを勉強しています。PKI の基本的な概念と、それが暗号化/復号化にどのように使用されるかを理解しています。ただし、USB トークンやスマートカードなどのハードウェア トークンを使用してコンピュータに安全にログインする方法については混乱しています。私が理解している手順と、混乱している部分を次に示します(質問の長さについては事前に申し訳ありません)。
シナリオ: ネットワーク上のコンピューター xyz には、SECRET グループに属するユーザーのみがアクセスできるデータが含まれています。ユーザー Bob と Joe はこのグループに属しており、これらのリソースへのアクセスを可能にする資格情報を提供するために使用できる USB トークンが発行されています。USB トークンは 2 要素認証を採用しており、ピンを入力する必要があります。トークンは PKCS11 に準拠しています。
- Bob は USB トークンを Linux マシンに挿入します。
- PAM-PKCS11 モジュールはこのイベントを認識し、Bob に自分の PIN を入力するように促します。
- Bob が 4 桁の PIN を正しく入力すると、モジュールは次の方法で Bob のトークンの証明書の有効性をチェックします(これはさまざまですが、最小値は何ですか?)。
- 信頼できる CA を確認するためのルート証明書の検索
- 証明書の有効期限と失効リストの確認
- トークンの ID をユーザー ファイル(どこ?、ステップが抜けている)またはディレクトリ (LDAP など)と照合する
- すべてが正常に見える場合、モジュールは成功した結果を PAM に通知します。
- この行には十分なラベルが付けられているため、PAM は認証を受け入れ、Bob はログインして、SECRET グループのユーザーに限定された情報を表示できます。
私が見逃している部分は、Bob がこのマシンにアクセスできるかどうか、および Bob がネットワーク (またはデスクトップ) ユーザーである Bob に正確に関連付けられているかどうかに関する情報がどこに保存されているかです。私は、Bob に関するその他の識別データが、ID (電子メール アドレスなど) を含めて USB に保存されることを理解しています。しかし、この強力なセキュリティはどうですか?ログインプロセス中に暗号が使用されているのはどこですか? (または、それがこれらのトークンの本当の目的ではないのですか?) 誰かが USB を手に入れて 4 桁の PIN を知っていれば、それで十分だと思われますよね? さらに、別のユーザーが新しい USB トークンを取得できないことを信頼し、信頼できる CA を使用して新しい証明書を取得するが、すべての識別データをボブのものと同じにすることを許可するのは、基本的に CA の信頼ですか? 欠けている重要な部分があることは知っています.. しかし、何十もの記事を読んだ後、この領域の説明は見過ごされているようです。機密データを含むマシンにログインするための十分な認証手段としてハードウェア トークンを使用することは良い考えですか? それとも、そのようなトークンの主な目的は、他のアプリケーションで使用されるキー ペアを安全に保存することですか?ご協力ありがとうございます!