Deprecated feature

Protecting WebSphere Commerce Payments

WebSphere Commerce Payments security is built on several key security elements. These elements combine to create an environment in which services can be deployed securely on the Web.

About this task

In the heart of WebSphere Commerce Payments is the Payment Servlet. Several ancillary products, the Web server configured with WebSphere Application Server, the database, and the user interface, complete the WebSphere Commerce Payments picture. This topic discusses methods for securing the various WebSphere Commerce Payments components.

Protecting sensitive data

For each query command, the framework verifies the user's role against that minimum role and thereby, sets an indicator in the QueryRequest object to indicate whether sensitive data such as credit card numbers or billing addresses should be returned in full view or if it should be masked out. The WebSphere Commerce Payments framework does not maintain any sensitive data that can be returned via a query command. However, new methods are provided to cassette writers to check the value of this indicator and also to mask sensitive data in a standardized way. Each cassette must discern the sensitive data from the rest of the stored data. Typically, the sensitive data is the same set of data that a cassette encrypts before storing it to the WebSphere Commerce Payments database.

The JVM system parameter wpm.MinSensitiveAccessRole={clerk|supervisor|madmin|psadmin|none} specifies the minimum role a user must have to be allowed access to sensitive data. The value is case-sensitive. If this property is not specified, a value of clerk is assumed, allowing all users to see sensitive data. If an invalid value is specified, the Payment Servlet fails to initialize.

Note that this parameter can be set during Payments instance creation and updated at any time using the WebSphere Commerce Configuration Manager. The name of the parameter in Configuration Manager is Minimum Access Role in the Payments instance panel.

The following table describes supported values, which are listed in increasing order of authority:

Payments user role authority
User Description
clerk Users with a role of clerk or higher can see sensitive data.
supervisor Users with a role of supervisor or higher can see sensitive data.
madmin Users with a role of Merchant Administrator or higher can see sensitive data.
psadmin Only Payments Administrators can see sensitive data.
none No one is allowed to see sensitive data.

You can specify the wpm.MinSensitiveAccessRole parameter by using Configuration Manager.

Protecting the database

The WebSphere Commerce Payments database stores sensitive data and requires protection from reading and writing by unauthorized sources. WebSphere Commerce Payments provides support for the encryption of sensitive data - for example, passwords and cardholder information - that is stored in the database.

Transaction data

Follow these guidelines for handling transaction data.

  • Sensitive transactional information is stored in a database table in the instance library. This library is specified as the Instance Schema Name in the Payments Instance Creation Wizard.
  • Any backups should be kept secure.
  • The database tables in the instance library contain critical configuration and transaction information and should be included as part of your system backup strategy. You should also back up these files:
    • Files in the /QIBM/UserData/CommercePayments/Vnn/instance directory where Instance is the name of the WebSphere Commerce Payments instance
    • HTTP server that you configured for WebSphere Commerce Payments. This HTTP server is specified as the Web Server in the Payments Instance Creation Wizard.
    • Objects in the instance library on the local machine as well as the database collection on the remote machine when remote database storage is used.