Each CEQURUX Technologies Firewall or VPN Gateway has its own RSA private key (1024 to 4096 bits) and the RSA public keys of the other VPN gateway or firewalls. Generation of an RSA private key, if one does not already exist, is performed automatically during the configuration process. The random number generator used to generate the key follows guidelines given in RFC 1750, `Randomness Recommendations for Security'.
A secure tunnel is created between two firewalls or VPN gateways using the Station-to-Station protocol. This protocol works in the following way (assume the machines are called vpn1.cequrux.com and vpn2.cequrux.com)
This protocol avoids the active man-in-the-middle attack against Diffie-Hellman. The CEQURUX Firewall's RSA implementation uses PKCS standards (random padding, PKCS block types, ASN.1 encoding, etc.) as well as a quantised execution environment to protect against known attacks on RSA implementations (including low encryption exponent attacks, and timing attacks). The MD2 message digest algorithm is used as an added security, since MD5 is known to have collisions, where two different plaintexts produce the same hash.
Once the session keys have been established, and the respondents in the exchange have authenticated themselves to each other, any traffic flowing between the two virtual networks is compressed, encrypted using a predefined cipher, and tunnelled to the remote gateway. In addition, links are forcibly rekeyed at regular intervals, ensuring that the session keys are changed periodically.
Block ciphers operate in CBC mode (Cipher Block Chaining), which ensures that identical plaintext traffic, given the same key schedule for the block algorithm, will encrypt to different ciphertext every time. The available block ciphers are: IDEA, Blowfish, DES, 3DES, SAFER SK128, GOST, RC2, and RC5.
The CEQURUX firewall also allows the use of two stream ciphers, RC4 and SEAL. These ciphers are the fastest known encryption algorithms, with SEAL reaching an in-memory throughput of 80 MBits per second on a 166MHz Intel Pentium. Some cipher options may be unavailable for use depending on the country in which the software is acquired.