Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

InterBase Encryption – How to Get Started?

interbase encryption

High-level encryption is a vital feature of any reliable database, and Embarcadero’s signature database, InterBase, handles it very well. But how exactly does InterBase restrict access to data, both at rest and in transit, through encryption? In the article we are taking a closer look.

Introduction

The Encryption Engine is natively available as part of the Desktop, Server and ToGo editions of the InterBase database. InterBase enables you to encrypt information at one or both of the following levels:

Using Encryption Engine you can also encrypt Database Backup Files. For more information about encrypting your data with InterBase, see Data Definition Guide.

Getting Started With InterBase Encryption Engine

To create specific encryption tasks in InterBase, you need to create the System Data Security Owner (SYSDSO) user. Both users, the SYSDSO and the SYSDBA (the database owner), have responsibilities for InterBase Encryption. The table below shows the differences between the user’s tasks:

Permissions Database  Owner SYSDSO
Create Encryption Keys NO YES
Set the SEP NO YES
Grant Encrypt Privileges NO YES
Encrypt Database YES NO
Encrypt Columns YES NO
Grant Decrypt Privileges YES NO

Also, encryption tasks can be performed by any individual table owner who is given permission to encrypt columns in a table.

Encrypting a Database with IBConsole

There are two ways to encrypt an InterBase database. You can enable and implement encryption using the isql tool, or you can encrypt a database using the IBConsole. For this specific topic, we use the second option – Encrypting a Database with IBConsole.

To perform encryption when creating a new database, follow these steps:

  1. Open IBConsole.
  2. Select Server > Login from the menu.
  3. Login as a SYSDBA or as a database owner.
  4. Select Database > Create Database from the menu.
  5. In the Save In field, select the folder where you want to save the database.
  6. Specify a file name, click Save, and the dialog closes.
  7. Change the value in the Embedded User Authentication field to Yes. (The Use Encryption field is now visible).
  8. Change the value in the Use Encryption field to Yes.

  1. Click OK to create a database. The database is created and the Encryption Wizard opens.
  2. Enter your connection information and click the Connect button.
  3. The database is created and the Encryption Wizard opens; click Next.

  1. Type the SYSDSO password and click the Next button.

  1. Type the SEP password and click the Next button.

Note: The External option makes it more difficult for unauthorized users to access an encrypted database on a mobile device such as a laptop computer, or on a poorly secured desktop computer.

  1. Type a name for the Encryption Key.
  2. Select one of the Cipher options.
  3. Click the OK button.

  1. Type the BackupKey Name and password.

Note: To maintain the security and confidentiality of encrypted databases, you must also encrypt database backup files.

Using the System Encryption Password parameter 

When a database is encrypted in InterBase, the SEP can be set internal (the default, no keyword used) or external (keyword used).

Note: To set the external SEP, check the External option in the Encryption wizard or you can use the alter database set system encryption password <255-character string> [external] command.

System Encryption Password in FireDAC

With FireDAC, you can set the SEPassword parameter in the TFDConnection connection definition parameters, or programmatically as well:


[crayon-673f325ba19e8867758797/]

System Encryption Password in dbExpress

With dbExpress, you can set the SEP value in the TSQLConnection Params collection, or you can set the SEP value programmatically.


[crayon-673f325ba19f3625533049/]

System Encryption Password in InterBase Express

With InterBase Express (IBX), the SysEncryptPassword TIBDatabase parameter is set programmatically:
[crayon-673f325ba19f4090170788/]

Curious About InterBase?

 

Exit mobile version