Encryption of user logon credentials for both public and private Outlook Web Access logon types involves a set of six hashed message authentication codes (HMACs). HMACs are 160-bit keys that are generated on the Client Access server. HMACs improve logon security by combining hashing algorithms with cryptographic functions to encrypt user logon credentials. Encryption and decryption of a cookie are performed by the same Client Access server. Only the Client Access server that generated the authentication key has the key to decrypt that cookie.
When forms-based authentication for Outlook Web Access is used, the Client Access server cycles through a set of three keys for each type of logon, public and private, at a set rate. This is known as the recycle time. The recycle time for a key is one half of the time-out value for the logon. For example, when the time-out value for the public logon is set to 15 minutes, the public key recycle time is 7.5 minutes.
The six logon keys are created by the Client Access server when the Outlook Web Access virtual directories are started. Three are used with public computer logons, and three are used with private computer logons. When a user logs on, the current key for their logon type is used to encrypt the user's authentication information into a cookie.
When the recycle time has passed, the Client Access server moves to the next key. After all three keys for a type of logon have been used, the Client Access server deletes the oldest key and creates a new one. The Client Access server always keeps three keys available for each logon type: the current key and the two most recent keys. The recycling of keys continues as long as Outlook Web Access is running on the Client Access server. The same keys are used for all users.
Any cookie that has been encrypted by using an active key will be accepted. When a user activity request is received by the Client Access server, the cookie for that request is replaced with a new cookie that has been encrypted by using the newest key. A user session is timed out when the cookie associated with it is encrypted by an older key that has been discarded.
Because of the relationship between the recycle time of encryption keys and user time-out configured on the server, the actual time-out period for a user can be between the configured time-out and the configured time-out plus one-half of that value. For example, if the configured time-out is 30 minutes, the actual time-out for any user session may be between 30 minutes and 45 minutes.
Table 1 provides information about the cookie time-out and authentication key recycling time based on a user logon from a public or private computer.
Table 1 Default cookie time-out and authentication key recycling time for each user logon type
|
Logon
|
Cookie time-out value
|
Recycle time for authentication key if you use the default time-out value
|
|---|
|
Public
|
One minute to 30 days. The default is 15 minutes.
|
7.5 minutes
|
|
Private
|
One minute to 30 days. The default is 8 hours.
|
4 hours
|
Note: |
|---|
|
You can configure the cookie time-out value in minutes by using the registry. The recycle time of the authentication key is at least one-third, and not more than one-half, that of the cookie time-out value.
|