Content

Behaviors

Password Related Logon Options

Password Validator Properties
 

Password Encryption

Password Validation in Java Methods
   

 

Behaviors

Top ../images/arwup.gif (846 bytes)

Enter only alphanumeric characters when specifying a user id and password.

Whenever a System Administrator assigns a password or a LabVantage User changes his password, LabVantage uses properties of the Password Validator to determine if the password meets certain criteria. Passwords are not checked against these properties during logon.

Successful Logon

During logon, passwords are checked only to ensure that they are an exact match for the expected password. Following a successful logon:

a. The number of attempted logons increments. This value is in the "totalattempts" column of the SysUser table.
b. If the "Log Successful Logons" Security Option is set to "Yes", an entry is made in the Tracelog table to record the successful logon.
c. The number of unsuccessful logons resets to zero. This value is in the "failedattempts" column of the SysUser table.
Incorrect Passwords

When a "known user" (recognized by LabVantage) provides an incorrect password:

a. The number of unsuccessful logons increments. If this value reaches the "Max Logon Attempts" Security Option, the user is disabled with a reason (such as "Max logon attempts exceeded"). These values are in the "disabledflag" and "disabledreason" columns of the SysUser table. A user cannot logon if he is disabled. The System Administrator can enable (and disable) users in the Users List (see Users).

An email notification of the disabled user is sent to the LabVantage system administrator. The server property "Security Violation Email Address" determines the destination address.

b. If the "Log Logon Failures" Security Option is set to "Yes", an entry is made in the Tracelog table to record the unsuccessful logon attempt.
c. The user is redirected to an error page.

If rules defined by the Password Validator properties have changed, the user is denied logon and prompted to ensure that he changes passwords to match the new rules.

Expired Passwords

When a "known user" (recognized by LabVantage) provides an expired password:

a. Behavior is the same as Incorrect Passwords, items a and b.
b. Also, if LabVantage detects that the password has expired or is about to expire, it loads a page (WEB-CORE/error/password.jsp). If the password has expired, this page lets the user change the password. If the password is about to expire, the user has the option of ignoring the expiry warning. The LVX Profile Properties Password Expiry Days and Password Expiry Warning determine if expiry warnings are issued to the user (see Password-Related Logon Options below).
Unknown User

When an "unknown user" (not recognized by LabVantage) attempts to logon, an entry is made in the Tracelog table to record the unsuccessful logon attempt and the user is denied access. Error messages for known and unknown user logon attempts are the same. As in Incorrect Passwords, item a, an email notification of the disabled user is sent to the LabVantage system administrator.

 

Password-Related Logon Options

Top ../images/arwup.gif (846 bytes)

Set password logon options using the Security Options described in the System Configuration settings.

 

Password Validator Properties

Top ../images/arwup.gif (846 bytes)

The Password Validator lets you define what constitutes a "valid password".

Property Name Description
Exact Length To require that valid passwords consist of a specified number of contiguous characters, enter the number of characters. Leave the Minimum Length and Maximum Length (below) blank.
Minimum Length To require that valid passwords consist of at least a minimum number of contiguous characters, enter the minimum number of characters. Leave the Exact Length (above) blank.
Maximum Length To require that valid passwords consist of less than a certain number of contiguous characters, enter the maximum number of allowable characters. Leave the Exact Length (above) blank.
Letter Only "Yes" restricts valid passwords to only alphabetic characters. Numeric characters and symbols will be disallowed.
Number Only "Yes" restricts valid passwords to only numeric characters. Alphabetic characters and symbols will be disallowed.
Alphanumerics Only "Yes" restricts valid passwords to only alphabetic and numeric characters. Symbols will be disallowed.
At Least 1 Letter "Yes" requires that valid passwords contain at least one alphabetic character.
At Least 1 Lower Case Letter "Yes" requires that valid passwords contain at least one lower case alphabetic character. This works only if System Configuration → Security Options is setup to use case-sensitive passwords.
At Least 1 Upper Case Letter "Yes" requires that valid passwords contain at least one upper case alphabetic character. This works only if System Configuration → Security Options is setup to use case-sensitive passwords.
At Least 1 Number "Yes" requires that valid passwords contain at least one numeric character.
At Least 1 Symbol "Yes" requires that valid passwords contain at least one symbol.
Stop UserId "Yes" requires that valid passwords be different from the current user's User Id.
Stop List Passwords that will be rejected as invalid. Use Add Word to add a disallowed password.
Property NameDescription
WordDisallowed password.
NOTE: In order to use the two "Stop Repeats" properties below, you must enable Auditing for the User SDC in the SDC Definition Page).
Stop Repeats (count) When a User changes his password, "Yes" prevents reuse of the same password this many consecutive times.
Stop Repeats (days) When a User changes his password, "Yes" prevents reuse of the same password within this number of days.

 

Password Encryption

Top ../images/arwup.gif (846 bytes)

LabVantage installations running under JDK 1.5 or higher implement RSA password encryption (Rivest/Shamir/Adleman at MIT) using a jsbn (JavaScript Big Integer implementation) library developed by Thomas J. Wu of Stanford University (http://www-cs-students.stanford.edu/~tjw/).

Functionality:

a. Immediately prior to form submission, an RSA JavaScript encryption of the password (with a 1024-digit public key) is distributed from the server to the HTML client and password-encrypted using the key.
b. A set of public and private key pairs are generated by the server and persisted to the labvantageconfig.props file (in encrypted form for the private key).
c. The keys will not be regenerated if they already exist in the file. They will be regenerated only if they do not exist or were found to be corrupt on server restart.
d. The LabVantage server uses the private key to decrypt the password.

To use the JavaScript encryption on a custom logon page, the page requires:

An include for the JavaScript, calling <%=sapphire.util.HttpUtil.getEncryptionJS()%>.
Immediately prior to submitting the logon form, the password field must be encrypted by calling the JavaScript method sapphire.encryptField( fieldid ), which is called on the sapphire core object in the JavaScript Public API.

 

Password Validation in Java Methods

Top ../images/arwup.gif (846 bytes)

In sapphire.accessor.ConnectionProcessor, the methods getConnectionId(), checkUser() and changePassword() call an authenticateUser routine that makes certain all of the following conditions are true:

The user exists (it cannot authenticate a "system" user).
The user is not disabled.
Users are not accessing tools incompatible with their user type.
The entered password matches the expected password.
The password criteria match that defined in the Password Validator.
The licensed user counts are not exceeded.
The password has not expired or is within the expiry warning time.

Also in sapphire.accessor.ConnectionProcessor, the isValidPassword() method lets you ensure a user changes his password if the Password Validator criteria have changed.