この記事では、Schannel Security SupportProvider(SSP)を介したTransport Layer Security(TLS)プロトコルとSecure Sockets Layer(SSL)プロトコルのWindows®実装に関するレジストリ設定情報について説明します。
注 :Windows Server(Semi-Annual Channel)、Windows Server 2019、Windows Server 2016、およびWindows10に適用されます。
次のセクションでは、特定のレジストリ設定パラメータについて説明します。
CertificateMappingMethods
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
クライアント証明書をマッピングするには、次の2つの方法があります。
-
1対1のマッピング :これらのマッピングは、個々のクライアント証明書を個々のユーザーアカウントと1対1で照合します。各クライアント証明書はユーザーアカウントにマップされます。
-
多対1のマッピング :これらのマッピングは、クライアント証明書のサブフィールドに基づいて、複数の証明書をユーザーアカウントに一致させます。
クライアントがclientcertificateを提示するたびにサーバーでこのエントリを構成すると、そのユーザーが適切なWindowsユーザーアカウントに自動的に関連付けられます。
これらのレコードを構成するには、TLS暗号スイートの順序、グループポリシーMDM、またはPowerShell®が必要です。この記事では構成については説明していません。
ClientCacheTime
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
このエントリは、オペレーティングシステムがクライアント側のキャッシュエントリを期限切れにするのにかかる時間(ミリ秒単位)を制御します。値が0
の場合 、セキュア接続をオフにします。
EnableOcspStaplingForSni
オンライン証明書ステータスプロトコル(OCSP)は、TLSハンドシェイク中にX.509デジタル証明書の呼び出しステータスを取得するために使用されるプロトコルです。このエントリをアクティブ化することで、Webサーバーはそのワークロードを減らすことができます。
レジストリパス:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
次のキーを追加します:"EnableOcspStaplingForSni"=dword:00000001
無効にするには、 DWORDを設定します 値を0に設定:"EnableOcspStaplingForSni"=dword:00000000
FIPSAlgorithmPolicy
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\LSA
米国国立標準技術研究所は、非軍事的なアメリカ政府機関および政府請負業者がコンピュータシステムで使用するために開発した連邦情報処理(FIPS)標準を公に発表しています。このエントリを設定すると、FIPSコンプライアンスが制御されます。デフォルトは0
です。 。
暗号スイートの順序を構成すると、TLS/SSLハッシュアルゴリズムを制御する必要があります。
IssuerCacheSize
発行者がアカウントにマップされていない場合、サーバーは同じ発行者名を1秒間に数百回繰り返しマップしようとする可能性があります。このエントリは、発行者のマッピングとともに、発行者のキャッシュのサイズを制御します。このregistryentryはキャッシュサイズを指定し、デフォルト値は100
です。 。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
IssuerCacheTime
IssuerCacheSize として 発行者をサーバーにマップするための複数回の試行を回避し、キャッシュタイムアウト間隔の長さをミリ秒単位で制限できます。デフォルト値は10分です。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
KeyExchangeAlgorithm:クライアントRSAキーサイズ
このエントリは、クライアントのRSAキーサイズを制御します。
レジストリパス:HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\PKCS
RSAキーの最小長を指定する場合は、ClientMinKeyBitLength
を作成する必要があります。 入力し、希望の長さを割り当てます。このエントリを作成しない場合、デフォルト値は1024ビットです。ただし、最大長を指定する場合は、ClientMaxKeyBitLength
を作成します 入力して、目的の値を変更します。
注 :暗号スイートの順序を構成するには、キー交換アルゴリズムを使用して制御する必要があります。
KeyExchangeAlgorithm:Diffie-Hellmanキーサイズ
このエントリは、Diffie-Hellman鍵のサイズを制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman
Diffie-Helmanキーの値を指定するための追加のエントリは、RSAキーと同じであることに注意してください。サポートされる最小範囲のDiffie-Helmanキーを指定する場合は、 ClientMinKeyBitLengthを作成する必要があります。 入力し、必要な希望のビット長を割り当てます。このエントリを作成しない場合、デフォルト値は1024ビットです。最大サポート範囲を指定する場合は、 ClientMaxKeyBitLengthを作成します 入力し、目的の値を変更します。最後に、 ServerMinKeyBitLengthを使用します TLSserverdefaultの長さを指定するエントリ。そうでない場合、デフォルト値は2048です。
注 :暗号スイートの順序を構成するには、キー交換アルゴリズムを使用して制御する必要があります。
MaximumCacheSize
キャッシュ要素のサイズはさまざまです。このエントリをアクティブ化すると、最大サイズのキャッシュが設定されます。値を0
に設定します サーバー側のセッションを無効にし、再接続を回避します。おそらく、このエントリをアクティブ化すると、サーバーで追加のメモリ消費が発生します。デフォルト値は20,000要素です。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
メッセージ:フラグメント解析
クライアントがTLSを使用してサーバーに接続しようとし、接続が成功するたびに、システムはサーバーにハンドシェイクメッセージを保存します。これらのメッセージの保存にサイズ制限を設定できます。値を0x0
に設定した場合 、ハンドシェイクメッセージを保存できないため、TLSが失敗します。最大許容サイズを2^24-1バイトに増やすことができます。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Messaging
SendTrustedIssuerList
このエントリは、信頼できる発行者のリストをクライアントに送信したくない場合にのみ使用してください。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
ServerCacheTime
このエントリを使用して、オペレーティングシステムがサーバー側のキャッシュエントリを期限切れにするのにかかる時間(ミリ秒単位)を設定します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
0
の値 サーバー側のセッションキャッシュを無効にし、再接続を防ぎます。 ServerCacheTimeを増やす デフォルト値を超えると、 Lsass.exeが発生します メモリを消費します。各セッションキャッシュ要素には通常、2〜4KBのメモリが必要です。デフォルトのサーバーキャッシュ時間は10時間です。
DisabledByDefaultを使用してデフォルトでエントリを無効にした場合 エントリとanSSPIアプリがSSL、TLS、またはDTLSの使用を明示的に要求すると、ネゴシエートされる可能性があります。
SSL 2.0
このサブキーは、SSL2.0の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
SSL 2.0プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0
に変更します 。デフォルトでSSL2.0を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
SSL 3.0
このサブキーはSSL3.0の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
SSL 3.0プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0
に変更します 。デフォルトでSSL3.0を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
TLS 1.0
このサブキーは、TLS1.0の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
TLS 1.0プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、 DWORDを変更します 0
への値 。デフォルトでTLS1.0を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
TLS 1.1
このサブキーは、TLS1.1の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
TLS 1.1プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0
に変更します 。デフォルトでTLS1.1を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
TLS 1.2
このサブキーは、TLS1.2の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
TLS 1.2プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0.
デフォルトでTLS1.2を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
DTLS 1.0
このサブキーは、DTLS1.0の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
DTLS 1.0プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0
に変更します 。デフォルトでDTLS1.0を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。
DTLS 1.2
このサブキーは、DTLS1.2の使用を制御します。
レジストリパス:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
DTLS 1.2プロトコルを有効にするには、有効を作成します (クライアントまたはサーバーサブキー内の)エントリを入力し、値を1
に変更します 。無効にするには、値を0
に変更します 。デフォルトでDTLS1.2を無効にするには、 DisabledByDefaultを作成します 入力し、値を1
に変更します 。