Windows 10 および Windows Server 2016 での TLS (Schannel SSP) の変更点TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016

適用対象: Windows Server (半期チャネル)、Windows Server 2016、Windows 10Applies To: Windows Server (Semi-Annual Channel), Windows Server 2016 and Windows 10

暗号スイートの変更Cipher Suite Changes

Windows 10、バージョン1511、および Windows Server 2016 では、モバイルデバイス管理 (MDM) を使用した暗号スイート順序の構成のサポートが追加されています。Windows 10, version 1511 and Windows Server 2016 add support for configuration of cipher suite order using Mobile Device Management (MDM).

暗号スイートの優先順位の変更については、「 Schannel の暗号スイート」を参照してください。For cipher suite priority order changes, see Cipher Suites in Schannel.

次の暗号スイートのサポートが追加されました。Added support for the following cipher suites:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289) (Windows 10、バージョン1507、Windows Server 2016)TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289) in Windows 10, version 1507 and Windows Server 2016
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289) (Windows 10、バージョン1507、Windows Server 2016)TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289) in Windows 10, version 1507 and Windows Server 2016

次の暗号スイートの DisabledByDefault の変更:DisabledByDefault change for the following cipher suites:

  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (RFC 5246) (Windows 10、バージョン 1703)TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (RFC 5246) in Windows 10, version 1703
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (RFC 5246) (Windows 10、バージョン 1703)TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (RFC 5246) in Windows 10, version 1703
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA (RFC 5246) (Windows 10、バージョン 1703)TLS_DHE_DSS_WITH_AES_256_CBC_SHA (RFC 5246) in Windows 10, version 1703
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA (RFC 5246) (Windows 10、バージョン 1703)TLS_DHE_DSS_WITH_AES_128_CBC_SHA (RFC 5246) in Windows 10, version 1703
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (RFC 5246) (Windows 10、バージョン 1703)TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (RFC 5246) in Windows 10, version 1703
  • Windows 10 バージョン1709の TLS_RSA_WITH_RC4_128_SHATLS_RSA_WITH_RC4_128_SHA in Windows 10, version 1709
  • Windows 10 バージョン1709の TLS_RSA_WITH_RC4_128_MD5TLS_RSA_WITH_RC4_128_MD5 in Windows 10, version 1709

Windows 10、バージョン1507、および Windows Server 2016 以降では、既定で SHA 512 証明書がサポートされています。Starting with Windows 10, version 1507 and Windows Server 2016, SHA 512 certificates are supported by default.

RSA キーの変更RSA key changes

Windows 10、バージョン1507、および Windows Server 2016 クライアント RSA キーサイズのレジストリ構成オプションを追加します。Windows 10, version 1507 and Windows Server 2016 add registry configuration options for client RSA key sizes.

詳細については、「 Keyexchangealgorithm-クライアント RSA キーのサイズ」を参照してください。For more information, see KeyExchangeAlgorithm - Client RSA key sizes.

Diffie-Hellman キーの変更Diffie-Hellman key changes

Windows 10、バージョン1507、および Windows Server 2016 Diffie-Hellman キーサイズのレジストリ構成オプションを追加します。Windows 10, version 1507 and Windows Server 2016 add registry configuration options for Diffie-Hellman key sizes.

詳細については、「 Keyexchangealgorithm-Diffie-Hellman キーサイズ」を参照してください。For more information, see KeyExchangeAlgorithm - Diffie-Hellman key sizes.

SCH_USE_STRONG_CRYPTO オプションの変更SCH_USE_STRONG_CRYPTO option changes

Windows 10、バージョン1507、および Windows Server 2016 では、 SCH_USE_STRONG_CRYPTO オプションによって、NULL、MD5、DES、およびエクスポートの暗号が無効になります。With Windows 10, version 1507 and Windows Server 2016, SCH_USE_STRONG_CRYPTO option now disables NULL, MD5, DES, and export ciphers.

楕円曲線の変化Elliptical Curve changes

Windows 10、バージョン1507、および Windows Server 2016 コンピューターの構成 > 管理用テンプレート > ネットワーク > SSL 構成設定の下にある楕円曲線のグループポリシー構成を追加します。Windows 10, version 1507 and Windows Server 2016 add Group Policy configuration for elliptical curves under Computer Configuration > Administrative Templates > Network > SSL Configuration Settings. [ECC 曲線の順序] の一覧では、楕円曲線を優先する順序を指定します。また、有効になっていないサポートされる曲線も有効にします。The ECC Curve Order list specifies the order in which elliptical curves are preferred as well as enables supported curves which are not enabled.

次の楕円曲線のサポートが追加されました。Added support for the following elliptical curves:

  • BrainpoolP256r1 (RFC 7027) (Windows 10、バージョン1507、Windows Server 2016)BrainpoolP256r1 (RFC 7027) in Windows 10, version 1507 and Windows Server 2016
  • BrainpoolP384r1 (RFC 7027) (Windows 10、バージョン1507、Windows Server 2016)BrainpoolP384r1 (RFC 7027) in Windows 10, version 1507 and Windows Server 2016
  • BrainpoolP512r1 (RFC 7027) (Windows 10、バージョン1507、Windows Server 2016)BrainpoolP512r1 (RFC 7027) in Windows 10, version 1507 and Windows Server 2016
  • Curve25519 (RFC draft-ietf-Curve25519) (Windows 10、バージョン1607、Windows Server 2016)Curve25519 (RFC draft-ietf-tls-curve25519) in Windows 10, version 1607 and Windows Server 2016

SealMessage & UnsealMessage のディスパッチレベルサポートDispatch level support for SealMessage & UnsealMessage

Windows 10、バージョン1507、および Windows Server 2016 では、ディスパッチレベルで SealMessage/UnsealMessage のサポートが追加されています。Windows 10, version 1507 and Windows Server 2016 add support for SealMessage/UnsealMessage at dispatch level.

DTLS 1.2DTLS 1.2

Windows 10、バージョン1607、および Windows Server 2016 では、DTLS 1.2 (RFC 6347) のサポートが追加されています。Windows 10, version 1607 and Windows Server 2016 add support for DTLS 1.2 (RFC 6347).

HTTP.SYS スレッドプールHTTP.SYS thread pool

Windows 10、バージョン1607、および Windows Server 2016 HTTP.SYS の TLS ハンドシェイクを処理するために使用されるスレッドプールのサイズのレジストリ構成を追加します。Windows 10, version 1607 and Windows Server 2016 add registry configuration of the size of the thread pool used to handle TLS handshakes for HTTP.SYS.

レジストリ パス:Registry path:

HKLM\SYSTEM\CurrentControlSet\Control\LSAHKLM\SYSTEM\CurrentControlSet\Control\LSA

CPU コアあたりの最大スレッドプールサイズを指定するには、 MaxAsyncWorkerThreadsPerCpu エントリを作成します。To specify a maximum thread pool size per CPU core, create a MaxAsyncWorkerThreadsPerCpu entry. 既定では、このエントリはレジストリに存在しません。This entry does not exist in the registry by default. エントリを作成した後、DWORD 値を目的のサイズに変更します。After you have created the entry, change the DWORD value to the desired size. 構成されていない場合、最大値は CPU コアあたり2スレッドです。If not configured, then the maximum is 2 threads per CPU core.

次のプロトコルネゴシエーション (NPN) のサポートNext Protocol Negotiation (NPN) support

Windows 10 バージョン1703以降では、次のプロトコルネゴシエーション (NPN) が削除され、サポートされなくなりました。Beginning with Windows 10 version 1703, Next Protocol Negotiation (NPN) has been removed and is no longer supported.

事前共有キー (PSK)Pre-Shared Key (PSK)

Windows 10、バージョン1607、および Windows Server 2016 では、PSK キー交換アルゴリズム (RFC 4279) のサポートが追加されています。Windows 10, version 1607 and Windows Server 2016 add support for PSK key exchange algorithm (RFC 4279).

次の PSK 暗号スイートのサポートが追加されました。Added support for the following PSK cipher suites:

  • TLS_PSK_WITH_AES_128_CBC_SHA256 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_AES_128_CBC_SHA256 (RFC 5487) in Windows 10, version 1607 and Windows Server 2016
  • TLS_PSK_WITH_AES_256_CBC_SHA384 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_AES_256_CBC_SHA384(RFC 5487) in Windows 10, version 1607 and Windows Server 2016
  • TLS_PSK_WITH_NULL_SHA256 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_NULL_SHA256 (RFC 5487) in Windows 10, version 1607 and Windows Server 2016
  • TLS_PSK_WITH_NULL_SHA384 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_NULL_SHA384 (RFC 5487) in Windows 10, version 1607 and Windows Server 2016
  • TLS_PSK_WITH_AES_128_GCM_SHA256 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_AES_128_GCM_SHA256 (RFC 5487) in Windows 10, version 1607 and Windows Server 2016
  • TLS_PSK_WITH_AES_256_GCM_SHA384 (RFC 5487) (Windows 10、バージョン1607、Windows Server 2016)TLS_PSK_WITH_AES_256_GCM_SHA384 (RFC 5487) in Windows 10, version 1607 and Windows Server 2016

Server-Side 状態のサーバー側のパフォーマンス向上を伴わないセッションの再開Session Resumption without Server-Side State server-side performance improvements

Windows 10、バージョン1507、および Windows Server 2016 では、セッションチケットが Windows Server 2012 と比較して、1秒あたり30% 以上のセッション再開が提供されます。Windows 10, version 1507 and Windows Server 2016 provide 30% more session resumptions per second with session tickets compared to Windows Server 2012.

セッションハッシュと拡張マスタシークレット拡張機能Session Hash and Extended Master Secret Extension

Windows 10、バージョン1507、および Windows Server 2016 では、RFC 7627: Transport Layer Security (TLS) セッションハッシュと拡張マスタシークレット拡張機能のサポートが追加されています。Windows 10, version 1507 and Windows Server 2016 add support for RFC 7627: Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension.

この変更のため、Windows 10 および Windows Server 2016 では、NCRYPT_SSL_INTERFACE_VERSION_3 をサポートし、この新しいインターフェイスについて説明するために、サードパーティの CNG SSL プロバイダー の更新が必要です。Due to this change, Windows 10 and Windows Server 2016 requires 3rd party CNG SSL provider updates to support NCRYPT_SSL_INTERFACE_VERSION_3, and to describe this new interface.

SSL のサポートSSL support

Windows 10、バージョン1607、および Windows Server 2016 以降では、TLS クライアントとサーバー SSL 3.0 は既定で無効になっています。Beginning with Windows 10, version 1607 and Windows Server 2016, the TLS client and server SSL 3.0 is disabled by default. これは、アプリケーションまたはサービスが SSPI を介して SSL 3.0 を明示的に要求しない限り、クライアントは SSL 3.0 を提供または受け入れません。また、サーバーは SSL 3.0 を選択しません。This means that unless the application or service specifically requests SSL 3.0 via the SSPI, the client will never offer or accept SSL 3.0 and the server will never select SSL 3.0.

Windows 10 バージョン1607および Windows Server 2016 以降では、SSL 2.0 は削除されており、サポートされなくなりました。Beginning with Windows 10 version 1607 and Windows Server 2016, SSL 2.0 has been removed and is no longer supported.

準拠していない TLS クライアントとの接続に関する Windows TLS 1.2 の要件に対する変更Changes to Windows TLS adherence to TLS 1.2 requirements for connections with non-compliant TLS clients

TLS 1.2 では、クライアントは "signature_algorithms" 拡張機能 を使用して、署名/ハッシュアルゴリズムペアがデジタル署名 (つまり、サーバー証明書とサーバーキー交換) で使用できることをサーバーに示します。In TLS 1.2, the client uses the "signature_algorithms" extension to indicate to the server which signature/hash algorithm pairs may be used in digital signatures (i.e., server certificates and server key exchange). TLS 1.2 RFC では、サーバー証明書メッセージが "signature_algorithms" 拡張機能を優先する必要もあります。The TLS 1.2 RFC also requires that the server Certificate message honor "signature_algorithms" extension:

"クライアントが" signature_algorithms "拡張機能を提供した場合、サーバーによって提供されるすべての証明書は、その拡張機能に表示されるハッシュ/署名アルゴリズムペアによって署名されている必要があります。""If the client provided a "signature_algorithms" extension, then all certificates provided by the server MUST be signed by a hash/signature algorithm pair that appears in that extension."

実際には、一部のサードパーティの TLS クライアントが TLS 1.2 RFC に準拠しておらず、"signature_algorithms" 拡張で受け入れようとしているすべての署名とハッシュアルゴリズムのペアを含めることができません。また、拡張機能を完全に省略することもできます (後者の場合、クライアントは、RSA、DSA、ECDSA を使用した SHA1In practice, some third-party TLS clients do not comply with the TLS 1.2 RFC and fail to include all the signature and hash algorithm pairs they are willing to accept in the "signature_algorithms" extension, or omit the extension altogether (the latter indicates to the server that the client only supports SHA1 with RSA, DSA or ECDSA).

TLS サーバーでは、多くの場合、エンドポイントごとに1つの証明書が構成されます。つまり、サーバーがクライアントの要件を満たす証明書を常に提供することはできません。A TLS server often only has one certificate configured per endpoint, which means the server can't always supply a certificate that meets the client's requirements.

Windows 10 および Windows Server 2016 より前では、Windows TLS スタックは TLS 1.2 RFC 要件に厳密に準拠しており、その結果、RFC 非準拠の TLS クライアントとの相互運用性の問題に対する接続エラーが発生します。Prior to Windows 10 and Windows Server 2016, the Windows TLS stack strictly adhered to the TLS 1.2 RFC requirements, resulting in connection failures with RFC non-compliant TLS clients and interoperability issues. Windows 10 および Windows Server 2016 では、制約が緩和され、サーバーは TLS 1.2 RFC に準拠していない証明書をサーバーの唯一のオプションとして送信できます。In Windows 10 and Windows Server 2016, the constraints are relaxed and the server can send a certificate that does not comply with TLS 1.2 RFC, if that's the server's only option. その後、クライアントはハンドシェイクを続行または終了できます。The client may then continue or terminate the handshake.

サーバーとクライアントの証明書を検証するとき、Windows TLS スタックは TLS 1.2 RFC に厳密に準拠し、サーバーとクライアントの証明書でネゴシエートされた署名とハッシュアルゴリズムのみを許可します。When validating server and client certificates, the Windows TLS stack strictly complies with the TLS 1.2 RFC and only allows the negotiated signature and hash algorithms in the server and client certificates.