Encryption
Few important points that you need to keep in mind while enabling encryption in Sterling B2B Integrator are given below.
Encrypt data in transit
- Ensure that data in transit is always secured.
- Disable all unsecured adapters and interfaces (HTTP/FTP) and use secured adapters and interfaces (TLS/SSH and HTTPS/FTPS/SFTP).
- Use NIST mode.
Encrypt data at rest
- Data in storage is not encrypted by default during installation. It must be enabled before the system is put into service.
- When documents are within the application, document encryption can be configured to handle this automatically within the database or filesystem.
- When exporting document, for example, saving them to the external file system and out of the control of the application, integration with encryption tools such as PGP can be implemented.
- The security.properties file contains the configuration for document encryption. The system
certificate configured in Sterling B2B Integrator is CERT_NAME=doccrypto2.
This can be an HSM certificate.
Encrypting data in the database:
Name of the certificate to use -
dbcrypt.default.cert=DefDBCrypt
Number of times a key can be used before being discarded and recreated -
dbcrypt.default.maxkeyuse=10000
Number of seconds the key will remain in use -
dbcrypt.default.maxlifespan=10800
Algorithm to use for encryption -
dbcrypt.default.algorithm=AES-128
You can change the above configuration by copying it to the customer_overrides.properties file and prefixing the parameters with security.. For example,
security.dbcrypt.default.maxkeyuse=10000
Encrypt database passwords
- Database passwords are encrypted using one of two methods, OBSCURED or ENCRYPTED. Replace clear-text passwords within property files using the ENCRYPTED method.
- The encryption method is decided by the value of the encryptionPrefix in propertyEncryption.properties or propertyEncryption.properties_platform_security_ext file.
Encrypt LDAP passwords
- Hide LDAP-related passwords in property files by encrypting them in the customer_overrides.property file.
- Related documentation: Encrypt LDAP Passwords
Disable weak ciphers
- Use the following properties to disable the weak ciphers:
StrongTLS1.2OnlyCipherSuite=TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256
NISTCompliantCipherSuite=TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Enable TLS on JDBC connection pools
- TLS between Sterling B2B Integrator and database is achieved by utilizing the capabilities of the database JDBC driver and the database server.
- The jdbc.properties or customer_overrides.properties
file must
include:
oraclePool.url=jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS=(PROTOCOL=tcps)(HOST=<DB host>) (PORT=<TCPS port>)) (CONNECT_DATA=(SERVICE_NAME=<service name>)))
- In customer_overrides.properties, the parameter must be prefixed with jdbcService..
Secure JDBC keystores and truststores
- When JDBC TLS is enabled, the following additional properties are added to
customer_overrides.properties file. The keystore files should be protected so
that only the application or root has access to these files.
jdbcService.oraclePool.prop_javax.net.ssl.trustStore= $$PATH$$/ClientTrustStore.jks jdbcService.oraclePool.prop_javax.net.ssl.keyStore= $$PATH$$/ClientKeyStore.jks
Use HSM to store all system and private certificates
- Sterling B2B Integrator supports the following HSM devices: SafeNet Luna SA and nCipher nShield Connect.
- Related documentation: Hardware Security Module (HSM)
Document encryption
- Use document encryption to encrypt the payload data stored in the database and/or the file system.
- Document encryption is disabled by default. You can enable document encryption by add the
following property to the customer_overrides.properties file:
security.ENC_DECR_DOCS=ENC_ALL
- Enable document encryption for file system and database documents. (Recommended)security.ENC_DECR_DOCS=ENC_DB
- Enable document encryption for database documents.security.ENC_DECR_DOCS=ENC_FS
- Enable document encryption for file system documents.
Document encryption algorithms
The following algorithms for document encryption are supported:
- AES
- AES-128
- AES-192
- AES-256
- DES
- DESede
SSH Key Length
- Key length of all SSH User Identity Keys should be 2048 bits or higher.