証明書ベースの認証にスマートカードを使用する場合、PINユーザーが入力したスマートカードをブラウザで認証するためにキャッシュされますか?OR証明書を使用しますブラウザによってキャッシュされますか?OR両方ですか?。
一般的な証明書認証(証明書はブラウザーにインポートされます)とスマートカードを介した証明書認証のブラウザーの動作の違いは何ですか?
これは、私が回答を求めている質問とよく似ていますが、答えはありません。 Does Chrome cache smartcard PIN?
Windowsを使用していると仮定します。
PINは、再入力する必要がないようにキャッシュされます。証明書はスマートカード上にあり、ピンを使用してロックを解除しているため、キャッシュできません。 Chromeはピンがアプリケーション自体ではなく資格情報プロバイダーによって処理されるため、ピンをキャッシュできないと思います。
PINキャッシング
PINキャッシュは、スマートカードが認証されないたびにPINが入力されるのを防ぎます。スマートカードが認証されると、ホスト側アプリケーションを区別しなくなります。どのアプリケーションもスマートカード上のプライベートデータにアクセスできます。
これを軽減するために、アプリケーションがスマートカードに認証されると、スマートカードは排他的な状態になります。ただし、これは、他のアプリケーションがスマートカードと通信できず、ブロックされることを意味します。したがって、このような排他的な接続は最小限に抑えられます。問題は、プロトコル(Kerberosプロトコルなど)が複数の署名操作を必要とすることです。したがって、プロトコルは、長期間にわたってスマートカードへの排他的アクセスを必要とするか、複数の認証操作が必要です。ここでPINキャッシュを使用して、ユーザーにPINを何度も入力させることなく、スマートカードの排他的使用を最小限に抑えます。
次の例は、これがどのように機能するかを示しています。このシナリオでは、OutlookとInternet Explorerの2つのアプリケーションがあります。アプリケーションは、さまざまな目的でスマートカードを使用します。
ユーザーはOutlookを起動し、署名付きの電子メールを送信しようとします。秘密鍵はスマートカードにあります。
Outlookは、ユーザーにスマートカードのPINを要求します。ユーザーは正しいPINを入力します。
電子メールデータは、署名操作のためにスマートカードに送信されます。 Outlookクライアントは応答をフォーマットし、電子メールを送信します。
ユーザーがInternet Explorerを開き、クライアントにトランスポート層セキュリティ(TLS)認証を必要とする保護されたサイトにアクセスしようとします。
Internet Explorerは、スマートカードのPINをユーザーに要求します。ユーザーは正しいPINを入力します。
TLS関連の秘密キー操作はスマートカード上で行われ、ユーザーは認証されてサインインします。
ユーザーはOutlookに戻り、署名された別の電子メールを送信します。今回は、PINが前の操作からキャッシュされているため、ユーザーはPINの入力を求められません。同様に、ユーザーがもう一度Internet Explorerを使用して別の操作を行った場合、Internet ExplorerはユーザーにPINの入力を求めません。
Base CSPは、PINのプロセスごとのキャッシュを内部的に維持します。 PINは暗号化され、メモリに保存されます。 PINを保護するために使用される関数は、RtlEncryptMemory、RtlDecryptMemory、およびRtlSecureZeroMemoryで、PINを含むバッファを空にします。