TLS-SSL (Schannel SSP) 簡介Overview of TLS - SSL (Schannel SSP)

適用於:Windows Server(以每年次管道)、Windows Server 2016Applies To: Windows Server (Semi-Annual Channel), Windows Server 2016

本主題適用於 IT 專業人員描述的功能在 Schannel 安全性支援提供者 (SSP),包括傳輸層級的安全性 (TLS)、 安全通訊端層 (SSL),以及資料流傳輸層級的安全性 (DTLS) 驗證通訊協定,適用於 Windows Server 2012 R2、 Windows Server 2012、 Windows 8.1 和 Windows 8 的變更。This topic for the IT professional describes the changes in functionality in the Schannel Security Support Provider (SSP), which includes the Transport Layer Security (TLS), the Secure Sockets Layer (SSL), and the Datagram Transport Layer Security (DTLS) authentication protocols, for Windows Server 2012 R2 , Windows Server 2012 , Windows 8.1, and Windows 8.

Schannel 是安全性支援提供者 (SSP) 實作 SSL、 TLS 和 DTLS 網際網路標準驗證通訊協定。Schannel is a Security Support Provider (SSP) that implements the SSL, TLS and DTLS Internet standard authentication protocols. 安全性支援提供者介面 (SSPI) 是使用 windows 來執行的安全性相關的功能包括驗證 API。The Security Support Provider Interface (SSPI) is an API used by Windows systems to perform security-related functions including authentication. 常見介面數個安全性支援提供者 (層),包括 Schannel SSP.SSPI 功能The SSPI functions as a common interface to several Security Support Providers (SSPs), including the Schannel SSP.

如需 Microsoft 實作 TLS 和 SSL Schannel SSP 中的,請查看TLS 日 SSL 技術參考 (2003)For more information about Microsoft's implementation of TLS and SSL in the Schannel SSP, see the TLS/SSL Technical Reference (2003).

TLS SSL (Schannel SSP) 功能TLS/SSL (Schannel SSP) features

下列描述 TLS Schannel SSP.中的功能The following describes features of TLS in the Schannel SSP.

TLS 工作階段回復TLS session resumption

傳輸層級的安全性 (TLS) 通訊協定,元件 Schannel 安全性支援提供者,用來傳送未受信任的網路上的應用程式間的資料的安全。The Transport Layer Security (TLS) protocol, a component of the Schannel Security Support Provider, is used to secure data that is sent between applications across an untrusted network. 可以使用 TLS 日 SSL 驗證伺服器和 client 電腦,以及加密已驗證的對象之間的訊息。TLS/SSL can be used to authenticate servers and client computers, and also to encrypt messages between the authenticated parties.

經常 TLS 連接到伺服器的裝置需要重新連接,由於工作階段到期。Devices that connect TLS to servers frequently need to reconnect due to session expiration. Windows 8.1 和 Windows Server 2012 R2 現在支援 RFC 5077 (而不需要伺服器端狀態 TLS 工作階段回復)。Windows 8.1 and Windows Server 2012 R2 now support RFC 5077 (TLS Session Resumption without Server-Side State). Windows Phone 和 Windows RT 裝置提供此修改:This modification provides Windows Phone and Windows RT devices with:

  • 在伺服器上資源減少的使用量Reduced resource usage on the server

  • 減少的頻寬,可改善 client 連接的效率Reduced bandwidth, which improves the efficiency of client connections

  • 減少的因為 resumptions 連接的 TLS 交換所花費的時間。Reduced time spent for the TLS handshake due to resumptions of the connection.

注意

Windows 8 中加入的 RFC 5077 client 端實作。The client-side implementation of RFC 5077 was added in Windows 8.

無狀態 TLS 工作階段回復的相關資訊,會看到 IETF 文件RFC 5077。For information about stateless TLS session resumption, see the IETF document RFC 5077.

應用程式通訊協定交涉Application protocol negotiation

Windows Server 2012 R2 和 Windows 8.1 支援 client 端 TLS 應用程式通訊協定交涉讓應用程式可如何利用通訊協定 HTTP 2.0 標準開發的一部分,使用者可以存取 online services Google 和 Twitter 使用應用程式執行 SPDY 通訊協定。Windows Server 2012 R2 and Windows 8.1 support client-side TLS application protocol negotiation so applications can leverage protocols as part of the HTTP 2.0 standard development and users can access online services such as Google and Twitter using apps running the SPDY protocol.

它的運作方式How it works

Client 和伺服器應用程式可讓應用程式通訊協定交涉擴充功能來提供支援的應用程式通訊協定 Id 中的順序喜好設定的清單。Client and server applications enable application protocol negotiation extension by supplying lists of supported application protocol IDs, in descending order of preference. TLS client 表示它支援的應用程式通訊協定交涉,包括 ClientHello 訊息中的一份 client 支援的通訊協定的應用程式層通訊協定交涉 (ALPN) 擴充功能。The TLS client indicates that it supports application protocol negotiation by including the Application Layer Protocol Negotiation (ALPN) extension with a list of client-supported protocols in the ClientHello message.

當 TLS client 伺服器提出要求時,TLS 伺服器讀取最慣用的應用程式通訊協定 client 也支援,其支援的通訊協定清單。When the TLS client makes the request to the server, the TLS server reads its supported protocol list for the most-preferred application protocol which the client also supports. 如果找到通訊協定,選取通訊協定 id 看伺服器,並像往常一樣繼續交換。If such a protocol is found, the server responds with the selected protocol ID and continues with the handshake as usual. 如果有任何通用應用程式通訊協定,伺服器傳送嚴重交換失敗警示。If there is no common application protocol, the server sends a fatal handshake failure alert.

信任的發行者 client 驗證的管理Management of trusted issuers for client authentication

需要使用 SSL 或 TLS client 電腦的驗證時,可以設定伺服器來傳送的發行者受信任的憑證清單。When authentication of the client computer is required using SSL or TLS, the server can be configured to send a list of trusted certificate issuers. 這份清單包含伺服器將信任的憑證發行者的設定,如果選取的 client 憑證至於有多個憑證 client 電腦的提示。This list contains the set of certificate issuers which the server will trust and is a hint to the client computer as to which client certificate to select if there are multiple certificates present. 此外,針對設定信任的發行者清單必須進行驗證 client 電腦傳送到伺服器的憑證鏈結。In addition, the certificate chain the client computer sends to the server must be validated against the configured trusted issuers list.

之前,Windows Server 2012 和 Windows 8,應用程式或處理程序使用 Schannel SSP (包括 HTTP.sys 和 IIS) 可能會提供其支援 Client 驗證透過憑證信任清單 (CTL) 信任的發行者的清單。Prior to Windows Server 2012 and Windows 8, applications or processes that used the Schannel SSP (including HTTP.sys and IIS) could provide a list of the trusted issuers that they supported for Client Authentication through a Certificate Trust List (CTL).

在 Windows Server 2012 和 Windows 8,變更驗證程序,讓:In Windows Server 2012 and Windows 8, changes were made to the underlying authentication process so that:

  • 已不再支援 CTL 型受信任的發行者清單管理。CTL-based trusted issuer list management is no longer supported.

  • 行為傳送信任的發行者清單預設為關閉: SendTrustedIssuerList 登錄金鑰的預設值是現在 0 (預設為關閉) 而不是 1。The behavior to send the Trusted Issuer List by default is off: Default value of the SendTrustedIssuerList registry key is now 0 (off by default) instead of 1.

  • 保留到先前的 Windows 作業系統版本的相容性。Compatibility to previous versions of Windows operating systems is preserved.

這會新增值為何?What value does this add?

開始使用 Windows Server 2012,已使用的憑證存放區根據實作取代 CTL 使用。Beginning with Windows Server 2012 , the use of the CTL has been replaced with a certificate store-based implementation. 這可透過 PowerShell 提供者,以及命令列工具,例如 certutil.exe 現有的憑證管理 commandlets 更熟悉性。This allows for more familiar manageability through the existing certificate management commandlets of the PowerShell provider, as well as command line tools such as certutil.exe.

雖然 Schannel SSP 支援 (16 KB) 受信任的憑證授權單位清單的最大大小保持不變與 Windows Server 2008 R2、 Windows Server 2012 有中新的專用之憑證存放區 client 驗證的發行者,該訊息中不包含不相關的憑證。Although the maximum size of the trusted certification authorities list that the Schannel SSP supports (16 KB) remains the same as in Windows Server 2008 R2 , in Windows Server 2012 there is a new dedicated certificate store for client authentication issuers so that unrelated certificates are not included in the message.

它如何運作?How it works?

在 Windows Server 2012,信任的發行者清單是使用設定憑證存放區。有一個預設全球電腦憑證存放區,另一個是選擇性的每個網站。In Windows Server 2012 , the trusted issuers list is configured using certificate stores; one default global computer certificate store and one that is optional per site. 將會判斷清單的來源,如下所示:The source of the list will be determined as follows:

  • 如果有特定的憑證存放區的網站設定,將會做為來源If there is a specific credential store configured for the site, it will be used as the source

  • 如果不到憑證應用程式定義的市集中,就會檢查 Schannel Client 驗證的發行者儲存在本機電腦上,若憑證已,會使用該市集做為來源。If no certificates exist in the application-defined store, then Schannel checks the Client Authentication Issuers store on the local computer and, if certificates are present, uses that store as the source. 如果不找到任何憑證任一市集中,就會檢查受信任的根網上商店。If no certificate is found in either store, the Trusted Roots store is checked.

  • 如果這兩個全球或本機存放區包含憑證,Schannel 提供者將會使用信任的根 Certifictation 授權儲存為 「 信任的發行者清單的來源。If neither the global or local stores contain certificates, the Schannel provider will use the Trusted Root Certifictation Authorities store as the source of trusted issuers list. (這是針對 Windows Server 2008 R2 的行為)。(This is the behavior for Windows Server 2008 R2 .)

如果信任的根 Certifictation 授權使用網上商店包含 (自我簽署) 根憑證授權單位發行者憑證混合、 發行者 CA 憑證將會預設傳送到伺服器。If the Trusted Root Certifictation Authorities store that was used contains a mix of Root (self-signed) and certification authority (CA) Issuer certificates, only the CA Issuer certificates will be sent to the server by default.

如何設定要使用的憑證存放區的受信任的發行者 SchannelHow to configure Schannel to use the certificate store for Trusted Issuers

Windows Server 2012 中的 Schannel SSP 架構將會預設使用如上文所述的商店管理受信任的發行者清單。The Schannel SSP architecture in Windows Server 2012 will by default use the stores as described above to manage the Trusted Issuers list. 您仍然可以使用現有的憑證管理 commandlets PowerShell 提供者,以及命令列工具,例如 Certutil 管理的憑證。You can still use the existing certificate management commandlets of the PowerShell provider, as well as command line tools such as Certutil to manage certificates.

用於管理憑證使用提供者 PowerShell 相關資訊,請查看在 Windows 中 AD CS 管理 CmdletFor information about managing certificates using the PowerShell provider, see AD CS Administration Cmdlets in Windows.

用於管理憑證使用憑證的公用程式的相關資訊,請查看certutil.exeFor information about managing certificates using the certificate utility, see certutil.exe.

哪些資料,包括應用程式定義市集中,定義 Schannel 認證的詳細資訊,請查看SCHANNEL_CRED 結構 (Windows)For information about what data, including the application-defined store, is defined for an Schannel credential, see SCHANNEL_CRED structure (Windows).

預設值的信任模式Defaults for Trust Modes

有三種 Client 驗證信任模式支援 Schannel 提供者。There are three Client Authentication Trust Modes supported by the Schannel provider. 信任模式可讓您控制如何執行 client 的憑證鏈結的驗證並由呼叫完成控制全系統設定。ClientAuthTrustMode。The trust mode controls how validation of the client's certificate chain is performed and is a system-wide setting controlled by the REG_DWORD ???ClientAuthTrustMode??? 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel。under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel.

值。Value 信任模式Trust Mode 描述Description
00 電腦信任 (預設值)Machine Trust (default) 需要 client 憑證的受信任的發行者清單中的憑證來發行。Requires that the client certificate is issued by a certificate in the Trusted Issuers list.
11 專屬根信任Exclusive Root Trust 需要 client 憑證到呼叫特定受信任的發行者網上商店中所包含的根憑證鏈結。Requires that a client certificate chains to a root certificate contained in the caller-specified trusted issuer store. 信任的發行者清單中的發行者也必須發出憑證The certificate must also be issued by an issuer in the Trusted Issuers list
22 專屬 CA 信任Exclusive CA Trust 需要 client 中繼 CA 憑證或根憑證呼叫特定的憑證鏈結信任的發行者網上商店。Requires that a client certificate chain to either an intermediate CA certificate or root certificate in the caller-specified trusted issuer store.

因為信任的發行者設定問題驗證失敗的詳細資訊,會看到知識庫文件280256For information about authentication failures due to trusted issuers configuration issues, see Knowledge Base article 280256.

TLS 伺服器名稱指示器 (SNI) 擴充功能的支援TLS support for Server Name Indicator (SNI) Extensions

伺服器名稱指示功能延伸 SSL 和 TLS 通訊協定,允許伺服器的適當驗證時單一伺服器上執行許多虛擬映像。Server Name Indication feature extends the SSL and TLS protocols to allow proper identification of the server when numerous virtual images are running on a single server. 若要適當保護 client 的電腦 」 和 「 伺服器之間的通訊,client 電腦會要求數位憑證從伺服器。To properly secure the communication between a client computer and a server, the client computer requests a digital certificate from the server. 回應要求伺服器,並傳送的憑證之後,client 的電腦檢查、 使用它來加密通訊,並繼續以一般的要求回應換貨。After the server responds to the request and sends the certificate, the client computer examines it, uses it to encrypt the communication, and proceeds with the normal request-response exchange. 不過,virtual 裝載案例中,在多個網域,每一個都有它自己可能不同的憑證,裝載一部伺服器上。However, in a virtual hosting scenario, several domains, each with its own potentially distinct certificate, are hosted on one server. 在這種情形下,伺服器必須事先得知 client 的電腦所傳送的憑證。In this case, the server has no way of knowing beforehand which certificate to send to the client computer. SNI 允許 client 電腦通知目標網域稍早的通訊協定,和這可以讓伺服器正確選取適當的憑證。SNI allows the client computer to inform the target domain earlier in the protocol, and this allows the server to correctly select the proper certificate.

這會新增值為何?What value does this add?

此額外的功能:This additional functionality:

  • 可讓您在主機上的單一 IP 和連接埠組合多 SSL 網站Allows you to host multiple SSL websites on a single IP and port combination

  • 在單一網頁伺服器裝載多 SSL 網站時,可減少記憶體使用量Reduces the memory usage when multiple SSL websites are hosted on a single web server

  • 可讓使用者更多同時連接至我 SSL 網站Allows more users to connect to my SSL websites simultaneously

  • 讓您可以透過電腦介面使用者提供提示 client 驗證程序期間選取正確的憑證。Permits you to provide hints to end users through the computer interface for selecting the correct certificate during a client authentication process.

它的運作方式How it works

Schannel SSP 維護記憶體中的快取的戶端允許 client 連接狀態。The Schannel SSP maintains an in-memory cache of client connection states permitted for clients. 這可以讓 client 電腦後續造訪快速連接到不完整的 SSL 交換受 SSL 伺服器。This allows client computers to reconnect quickly to the SSL server without subject to a full SSL handshake on subsequent visits. 此有效的憑證管理使用允許更多裝載單一的 Windows Server 2012,相較於舊版作業系統的網站。This efficient use of certificate management permits more sites to be hosted on a single Windows Server 2012 compared to previous operating system versions.

使用者憑證選取已改良,讓您建立的使用者提供提示選擇哪一個可能的憑證發行者名稱的清單。Certificate selection by the end user has been enhanced by allowing you to construct a list of probable certificate issuer names that provide the end user with hints on which one to choose. 這份清單,並可以使用群組原則設定。This list is configurable using Group Policy.

資料流 Tls (DTLS)Datagram Transport Layer Security (DTLS)

已新增 DTLS 1.0 通訊協定 Schannel 安全性支援提供者。The DTLS version 1.0 protocol has been added to the Schannel Security Support Provider. DTLS 通訊協定提供通訊隱私權,資料流通訊協定。The DTLS protocol provides communications privacy for datagram protocols. 通訊協定允許 client 日伺服器應用程式的方式是設計用來防止竊取、 竄改,或冒名訊息通訊。The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. DTLS 通訊協定根據傳輸層級的安全性 (TLS) 通訊協定,並提供相同的安全保證減少使用 IPsec 或設計的應用程式自訂層安全性通訊協定。The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees, reducing the need to use IPsec or designing a custom application layer security protocol.

這會新增值為何?What value does this add?

在 [串流媒體資料包都:Datagrams are common in streaming media ??? 例如遊戲或受保護的影片會議。such as gaming or secured video conferencing. 新增 DTLS 通訊協定 Schannel 提供者可讓您使用熟悉的 Windows SSPI 模型設定安全性 client 電腦之間的伺服器通訊。Adding the DTLS protocol to the Schannel provider gives you the ability to use the familiar Windows SSPI model in securing the communication between client computers and servers. DTLS 故意被設計為類似 TLS 以最新的安全性發明最小化並發揮最大的驗證碼與基礎結構重複使用。DTLS is deliberately designed to be as similar to TLS as possible, both to minimize new security invention and to maximize the amount of code and infrastructure reuse.

它的運作方式How it works

使用 DTLS UDP 上的應用程式可以使用在 Windows Server 2012 和 Windows 8 中的 SSPI 模型。Applications that use DTLS over UDP can use the SSPI model in Windows Server 2012 and Windows 8. 某些密碼套件可供設定,您可以設定 TLS 類似。Certain cipher suites are available for configuration, similar to how you can configure TLS. Schannel 會繼續使用利用 FIPS 140 認證,在 Windows Vista 的 CNG 密碼編譯提供者。Schannel continues to use the CNG cryptographic provider which takes advantage of FIPS 140 certification, which was introduced in Windows Vista.

過時的功能Deprecated functionality

在適用於 Windows Server 2012 和 Windows 8 Schannel SSP,有任何已取代的功能。In the Schannel SSP for Windows Server 2012 and Windows 8, there are no deprecated features or functionality.

也了See also