Security principles

Your infrastructure that your customers can trust

Dull can be installed on your own server(s) that you manage. This means you can have features beyond VPN, but without having data pass through third-party servers.

At the moment, we do not provide dull servers as a service, nor is any third-party licensed to be able to host such a service for free nor for profit.

Full privacy and control of your own configuration files

Configuration files are downloaded and updated by Dull at startup. These files can be stored on your own web server of choice. This means the HTTPS security of your website can ensure valid files are used, and that they are received by Dull encrypted without tampering. The file names of the files can be obscured and unindexed, this means only you know the correct configuration information for your collection of services.

No external software libraries

Dull only uses the features already built into the .Net Framework. This significantly reduces the attack surface area of the software. Furthermore, .Net Framework is a hardened software package maintained by Microsoft with active security maintenance and patching.

Modular Network Engine design

The core engine is modular with each protocol configuration being a separate independent component.

This means each module has clear simple boundaries, and each module can be code-reviewed and security tested in isolation. Note: To date, we have not completed any formal security reviews of the code.

Layered and Configurable Channels

Each duct is completely configurable. Any supported protocol can be used, and combined in any order. This means you can combine TLS asymmetric encryption with certificates along with AES symmetric encryption with a static password.

Standard and Mature Encryption

Out of the box, Dull can be configured to use TLS/SSL encryption, commonly referred to as HTTPS. AES symmetric encryption can also be used with a static password. However, we recommend use of HTTPS encryption as a minimum, as the TLS protocol includes a lot more features necessary for complete implementation of known encryption best practice.

Transparent Configuration

Node configuration is recorded in a config.json file. For a customer, it contains configuration information for one-side of ducts, and ultimately which internal services are configured for access. This allows the customer to inspect and audit the configuration independently to verify that any contractual arrangements are implemented as expected.