Planning for security
The security of data, exchanges, and system integrity is a vital part of achieving your business objectives.
You must identify your business issues and translate them into business objectives. After you identify your objectives, you can begin planning for all the facets of implementing AS4 Microservice, including security.
A successful implementation depends on a comprehensive, multifaceted plan that you formulate before you configure the building blocks that tell AS4 Microservice the work you want it to do. The best practice is to use multiple layers of security to circumvent unauthorized interception of data if one layer is bypassed or compromised. For example, use digital signatures to sign your message and also encrypt the message.
You need to consider the following types of questions and recommended best practices when you identify your AS4 Microservice security objectives. The best practices outline the high-level steps necessary to implement security for AS4 Microservice. It describes planning that needs to be done for each task and the documentation references you can access for more information.
Planning to secure hardware
Where is your software installed and running? Who has physical access to those machines?
Planning to limit the data that users can view and manage
Which users need to access which areas of the application, and what permissions do they need? Consider all aspects of user and role management. As part of the planning process, determine the user access to AS4 Microservice and the data it collects and exchanges. Consider the following when you determine user access:
- The types of users (roles) who can access AS4 Microservice. When you create users, u give them credentials, or permissions, to access the system by assigning the users to a group with specified permissions and access rights.
- The permissions those roles have to configure and maintain data and system infrastructure. In general, give each user the least amount of access control necessary.
- Whether you plan to limit what events (data) that specific users can monitor. When you assign visibility permissions, data visibility groups can be used to segregate the data that is collected and exchanged. Data visibility groups facilitate the segmentation of data and add another layer of security to your system.
- Whether you implement a password policy that governs password creation and expiration limits. To ensure software security, it is important to implement and enforce a password policy. Ideally, the password policy that you implement for AS4 Microservice users also conforms to your company's password policy. This password policy applies first and foremost to the default system access credentials, the MACCOUNTADMIN and SYSADMIN users. You must change the password for both of those users immediately after you install the application. The default password for both users is password. Your password policy can include specifications for minimum and maximum password length, requiring lowercase, uppercase, and special (non-alphanumeric) characters in the password, and excluding lowercase, uppercase, and special characters in the password (for example, the admonition to not repeat a user name in the password).
Planning to manage digital certificates
A digital certificate is a set of electronic data that uniquely identifies an organization. The certificate contains a public key for the organization, and is digitally signed by a trusted party to bind the public key to the organization. Other information in the certificate specifies how the key is used and the time period for which it is valid. In this application, you can use certificate authority certificates, private/public key certificates, and trading partner certificates.
Do you need notifications when your partner's digital certificates that are used in exchanges are going to expire or are revoked? Do you trust received public certificates by authentication with a configured CA store and Certificate Revocation Lists (CRLs)? A Certificate Revocation List (CRL) is a time-stamped list of certificates that are revoked (or are no longer trusted) by a certificate authority (CA). A CA is an independent and trusted third party that issues digital certificates to provide assurance that the public key of an entity truly belongs to that entity. On the CRL, the CA maintains a list of serial numbers of certificates that are revoked. The CRL also contains a statement that indicates why each certificate was revoked and the date that the revocation occurred. The list usually contains all certificates that were revoked within the lifetime of the CA.
Do you use digital certificates for identity authentication, and select the certificate that is based on alias name and function usage (such as sign, verify, encrypt, decrypt, SSL client)? Do you allow the signing of outbound exchanges with an X.509 certificate to ensure message integrity and prevent data modification in transit? Do you specify that inbound messages must be signed, and specify the signature hash to be used?
Planning for secure communications
Consider these functions to ensure the security of your communications with your partners include these commonly accepted aspects of security:
- Identification and authentication
- Identification is the ability to identify uniquely a user of a system or an application that is running in the system. Authentication is the ability to prove that a user or application is genuinely who that person or what that application claims to be. You can also specify that inbound messages must be signed, and specify the signature hash to be used. For NIST compliance, you must specify a higher key strength algorithm (for example, SHA256) in the conformance policy.
- Authorization
- Authorization protects critical resources in a system by limiting access only to authorized users and their applications. It prevents the unauthorized use of a resource or the use of a resource in an unauthorized manner.
- Confidentiality
- You can use a Java Cryptography Encryption file to strengthen cryptographic operations. This application programming interface that supports and enhances the security features of the application. The JCE policy file helps to ensure data privacy, maintains data integrity, authenticates on partner to another, and prevents repudiation of messages.
- Data integrity and nonrepudiation
- The data integrity and nonrepudiation mechanisms detect whether unauthorized modification of data occurred. You can ensure message integrity and authentication by signing a message with a digital signature. This signature confirms the source of the message and detect whether the contents were altered in transit. You can also set the maximum size of message payloads to prevent denial of service because a large payload is exhausting system resources. And, you can set the maximum size of a message request. This message validation measures the message size against the criteria you specify and any request that is larger than the specified size limit is rejected.