web-dev-qa-db-ja.com

スマートカードとブラウザの動作。 PINはキャッシュされますか?

証明書ベースの認証にスマートカードを使用する場合、PINユーザーが入力したスマートカードをブラウザで認証するためにキャッシュされますか?OR証明書を使用しますブラウザによってキャッシュされますか?OR両方ですか?。

一般的な証明書認証(証明書はブラウザーにインポートされます)とスマートカードを介した証明書認証のブラウザーの動作の違いは何ですか?

これは、私が回答を求めている質問とよく似ていますが、答えはありません。 Does Chrome cache smartcard PIN?

2

Windowsを使用していると仮定します。

PINは、再入力する必要がないようにキャッシュされます。証明書はスマートカード上にあり、ピンを使用してロックを解除しているため、キャッシュできません。 Chromeはピンがアプリケーション自体ではなく資格情報プロバイダーによって処理されるため、ピンをキャッシュできないと思います。

https://docs.Microsoft.com/en-us/windows/security/identity-protection/smart-cards/smart-card-architecture#pin-caching からの関連情報

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を含むバッファを空にします。

3
Wrexthor