Before Windows Vista, the Windows interactive logon architecture included the components shown in Table 1.
Table 2 shows the components in the Windows Vista interactive logon architecture.
Table 2 Windows Vista interactive logon components
|
Component
|
Description
|
| Winlogon | Provides interactive logon infrastructure. |
| Logon UI | Provides interactive UI rendering. |
| Credential providers (password and smart card) | Describes credential information and serializing credentials. |
| LSA | Processes logon credentials. |
| Authentication packages | Includes NTLM and Kerberos. Communicates with server authentication packages to authenticate users. |
Figure 1 Windows credential provider architecture
Windows Vista interactive logons begin when the user presses CTRL+ALT+DEL. The CTRL+ALT+DEL key combination is called a secure attention sequence (SAS). Winlogon registers this sequence during the boot process, in order to keep other programs and processes from using it. The logon UI then generates the tile from information received from the registered credential providers. The following figure shows the Windows Vista logon dialog.
Figure 2 Windows Vista logon user interface
A user who logs on to a computer using either a local account or a domain account must enter a user name and password. These credentials are used to verify the user’s identity. However, in the case of smart card logons, a user’s credentials are contained on the smart card’s security chip. An external device called a smart card reader reads the security chip. During a smart card logon, a user enters a personal identification number (PIN) instead of a user name, domain, and password.
Credential providers are in-process COM objects that are used to collect credentials in Windows Vista and run in local system context. In summary, the logon UI provides interactive UI rendering, Winlogon provides interactive logon infrastructure, and credential providers help gather and process credentials.
In Windows Vista, Winlogon instructs the logon UI to display tiles after it receives a SAS event. Logon UI queries each credential provider for the number of credentials it wants to enumerate. Credential providers have the option of specifying one of these tiles as the default. After all providers have enumerated their tiles, the logon UI displays them to the user. The user interacts with a tile to supply his or her credentials. The logon UI submits these credentials for authentication.
Combined with supporting hardware, credential providers can extend the Microsoft Windows operating system to enable users to log on through biometric (fingerprint, retinal, or voice recognition), password, PIN, smart card certificate, or any custom authentication package a third-party developer wants to create. Enterprises and IT professionals may develop and deploy custom authentication mechanisms for all domain users and may explicitly require users to use this custom logon mechanism.
Credential providers are not enforcement mechanisms. They are used to gather and serialize credentials. The LSA and authentication packages enforce security.
Credential providers may be designed to support single sign-on (SSO), authenticating users to a secure network access point (by using RADIUS and other technologies) as well as computer logon. Credential providers are also designed to support application-specific credential gathering, and may be used for authentication to network resources, joining computers to a domain, or to provide administrator consent for User Account Control (UAC).
Multiple credential providers may co-exist on a computer.
Credential providers are registered on a Windows Vista computer and are responsible for:
-
Describing the credential information required for authentication.
-
Handling communication and logic with external authentication authorities.
-
Packaging credentials for interactive and network logon.
The Credential Provider API does not design UI. It does describe what needs to be rendered. Only password credential provider is available in safe mode. In-box smart card credential provider is available in safe mode with networking.
For more information on credential providers and their uses, please refer to the Credential Provider Technical Reference (http://go.microsoft.com/fwlink/?LinkId=93340).
Figure 3 illustrates Windows Vista logon screen flow with PIN unblock and PIN change.
Figure 3 PIN unblock and PIN change user experience