APPXIO Data Encryption

Effective with Release 5.0.0, the APPX Utility includes an option to encrypt APPXIO data files.

Overview

Release 5.0.0 or higher of the APPX Utility allows APPXIO data files to be optionally encrypted.  Encrypted data files provide an added layer of security for sensitive data.  If an encrypted file is opened by any program other than APPX, the encrypted data is unintelligible.  This means that backup copies of encrypted files on tape or disk are also secure since they cannot be deciphered without the appropriate software and encryption keys.  If an encrypted data file is moved to another APPX server, it cannot be deciphered unless the APPX server is configured with the appropriate encryption keys and meets other necessary criteria.

How to Enable APPXIO File Encryption

The APPXIO file encryption feature is easily enabled by entering a passphrase into the Encryption Passphrase field of the System Parameter Record in APPX System Administration.

Setting the system Encryption Passphrase "enables" the APPXIO file encryption feature but does not actually cause any files to be encrypted.  To "enable" encryption of individual files, you must also enter an encryption key into the file specifications for each of the individual files that are to be encrypted or you must enter an encryption key into the FMS group specifications for each group of files that are to be encrypted. However, if any existing files are to be encrypted, they must be exported before you enter any encryption keys.

After entering a system Encryption Passphrase, exporting any existing files that are to be encrypted, and entering the appropriate encryption key(s), you must create any new files that are to be encrypted and, if encrypting any existing files, you must import them with the "Replace" option.

So, the basic steps required to enable encryption of APPXIO data files are:

  1. Enter a system Encryption Passphrase
  2. Export any existing files that are to be encrypted
  3. Enter the appropriate encryption keys for individual files and FMS groups as appropriate
  4. Create any new files and import any existing files that are to be encrypted

How to Set or Change the System Encryption Passphrase

The system Encryption Passphrase can be set or changed from the System Parameter maintenance screen:

System Administration --> System Setup --> System Parameters

SystemParameters5.0.0.PNG

To set the system Encryption Passphrase, you must click on the "Change" button next to the Encryption Passphrase field.  You will then be presented with the following form which will allow you to set the system Encryption Passphrase.

Set-ChangePassphrase5.0.0.PNG

If no data files have actually been encrypted, the system Encryption Passphrase may be safely changed.  However, if any data files have been encrypted, you must follow the steps outlined below to change the system Encryption Passphrase.  If you do not follow these steps, any previously encrypted data files will no longer be accessible by the system.

 

  1. Make sure that no users are accessing the system  Do not attempt to change the system Encryption Passphrase while other users are accessing the system.
  2. Export all of the encrypted APPXIO data files in all APPX databases.  The Export utility on the Database Management menu should be used to export the encrypted APPXIO data files.
  3. Use the System Parameters maintenance process in System Administration to change the system Encryption Passphrase.  The Set/Change Passphrase screen includes a report that can be run to obtain a list of all FMS groups and files which have been encrypted.  Use this list to verify that you have exported all of the encrypted files.
  4. Change all of the encryption keys that have been entered for individual files and for FMS groups in all databases.
  5. Import all of the APPXIO data files in all APPX databases that you exported in step 2.  Be sure to specify the "Replace" option for the data import.

Enter/Edit File Encryption Keys

The encryption key for a specific database instance of a file can be set or changed in Database Management.

Database Management --> File Specifications --> File Attributes

The same encryption key value can be entered for each file or each file can have its own unique encryption key.  An easy way to ensure that each file has a unique encryption key is to use the Random Key button to automatically generate a random key for the file.  If you choose to enter an encryption key, you should choose "strong" key values just as you would for a password.  This means that your key should not be a common name or word, should include a mixture of letters, numbers, and special characters, and should be more than a few characters in length.

FileEncryptionKey.PNG

Enter/Edit FMS Group Encryption Keys

The encryption key for a FMS group is entered in System Administration.

System Administration --> Configuration --> File System Groups --> FMS Group Attributes

The same encryption key value can be entered for each FMS Group or each FMS Group can have its own unique encryption key.  An easy way to ensure that each FMS Group has a unique encryption key is to use the Random Key button to automatically generate a random key for the FMS Group.  If you choose to enter an encryption key, you should choose "strong" key values just as you would for a password.  This means that your key should not be a common name or word, should include a mixture of letters, numbers, and special characters, and should be more than a few characters in length.

FMSGroupEncryptionKey.PNG

How to Create A New Encrypted File

The following steps should be followed to encrypt a new APPXIO file.

  1. If APPXIO file encryption has not already been enabled on your system, first follow the steps for enabling APPXIO file encryption.
  2. Add the new file definition to the data dictionary in your APPX Application.
  3. Enter the appropriate encryption key in the file specifications for each database instance of the file that you wish to encrypt or assign each database instance of the file to an FMS group for which you have entered an encryption key.
  4. Create each database instance of the file. 

How to Encrypt an Existing File 

The following steps should be followed to encrypt an existing APPXIO file:

  1. If APPXIO file encryption has not already been enabled on your system, first follow the steps for enabling APPXIO file encryption.
  2. Export the file that is to be encrypted.  If the file has been created in more than one database, you must export each instance of the file that is to be encrypted.
  3. Enter the appropriate encryption key in the file specifications for each database instance of the file that you wish to encrypt or assign each database instance of the file to an FMS group that has an encryption key.
  4. Import the file in each database.  Be sure to specify the "Replace" option when importing each database instance the file.

How to Decrypt an Encrypted File

  1. Use the Export utility in Database Management to export the encrypted file that is to be decrypted.  If the encrypted file exists in more than one database, you must export each instance of the encrypted file that is to be decrypted.
  2. Remove the encryption key in the file specifications for each database instance of the file that you wish to decrypt.  If the file is assigned to a FMS group that has an encryption key, then you must remove the file from the FMS group or remove the encryption key from the FMS group.  If you need to remove the encryption key from an FMS group, make sure that you exported all of the files that are assigned to the FMS group in step 1 above.
  3. Import each database instance of the file.  Be sure to specify the "Replace" option when importing each database instance the file.

Sharing of Encrypted Files

Encrypted files may be shared and successfully accessed by two or more APPX systems provided the following conditions are all satisfied:

  1. The system Encryption Passphrases are the same on all systems.
  2. The file encryption keys are the same on all systems.
  3. The systems are all registered to the same APPX customer.

If you have more than one APPX system and you do not want to be able to share encrypted files between the systems, then you should use different system Encryption Passphrases and different file encryption keys.

Recovery of Corrupted Encrypted Files

Encrypted files which have become corrupted may be recovered by using the "recover" option of the APPX Utility engine.  The recovery process for encrypted files is the same as the recovery process for non-encrypted files.  For additional information on the use of the recover option, you can run:

appx -recover

Recovery of Undecipherable Encrypted Files

You should keep a record of the system Encryption Passphrase and the Encryption Keys that have been entered in a secure location that can be accessed in the event that you need to reenter the information.  Once entered, the Encryption Passphrase and the Encryption Keys should not be needed again unless you find yourself in a situation where your System Administration files have become corrupted or lost and you cannot restore them from a backup.  You might also need this information to set up an additional APPX server that needs to be able to access encrypted data files that were created on another APPX server.  You will not be able to access your encrypted data files unless you are able to reenter the exact System Passphrase and the exact Encryption Keys that were used to create and process the encrypted data files.

In the unlikely event that you to find yourself in the situation where your encrypted files cannot be accessed because you are unable to correctly enter the necessary System Passphrase and Encryption Keys, you should contact APPX Software, Inc. for assistance with recovering the encrypted data.

Application Design Considerations

When an encrypted file is being opened, the APPX File Manager verifies that the system Encryption Passphrase and the encryption key that were used to create the file match the current system Encryption Passphrase and the current encryption key for the file.  If they do not match, the file open will fail.  The system File Status field is also set to "FI_CRYPT" indicating that the open failed because of an encryption mismatch.

Limitations:

  1. One-record APPXIO files cannot be encrypted.
  2. Fixed length consecutive APPXIO files cannot be encrypted.  Variable length consecutive APPXIO files may be encrypted.

Suggested Enhancements:

  1. If data is encrypted, a warning should be presented to the user prior to generating a new encryption key, or changing the System Parameter Pass Phrase. This could help prevent unintended data loss.
  2. When importing data into an newly encrypted state, we should either delete the PORTDATA or warn the user that the PORTDATA is unencrypted.
  3. When exported from an encrypted state to an unencrypted state, we should warn the user that the exported data is unencrypted.

Comments:

Read what other users have said about this page or add your own comments.

-- AlKalter - 04 Apr 2008

Edit | Attach | Watch | Print version | History: r13 < r12 < r11 < r10 < r9 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r11 - 2008-09-23 - SteveFrizzell
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback