Howto:Encryption algorithms

From innovaphone wiki
Jump to navigation Jump to search

Applies To

All innovaphone gateways and phones.

Overview

This is an overview of the encryption algorithms that are used in innovaphone products. It is a collection of facts that might be useful for answering questions about how we use encryption.

SRTP

Supported cipher suites are:

  • AES_CM_128_HMAC_SHA1_32
  • AES_CM_128_HMAC_SHA1_80
  • AES_CM_192_HMAC_SHA1_32
  • AES_CM_192_HMAC_SHA1_80
  • AES_CM_256_HMAC_SHA1_32
  • AES_CM_256_HMAC_SHA1_80

AES

  • Name: Advanced Encryption Standard
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Voice or media encryption between VOIP endpoints
  • Bit strength: 128, 192 or 256 bits
  • Key management: A master key is generated using a software PRNG and exchanged using the signalling protocol (H.323, SIPS). Individual keys for data encryption are derived as specified by SRTP standards.

TLS

TLS is used for securing a number of other protocols such as HTTP and SIP. Supported cipher suites:

  • RSA_WITH_3DES_EDE_CBC_SHA
  • RSA_WITH_AES_128_CBC_SHA
  • RSA_WITH_AES_256_CBC_SHA

RSA

  • Name: RSA
  • Type: Asymmetric
  • Source: Standard algorithm
  • Purpose: Authentication of network endpoints, exchange of symmetric keys for data encryption
  • Bit strength: Defined by the remote certificate. innovaphone products generate RSA keys with modulus sizes of 1024, 2048 or 4096 bits.
  • Key management: For decrypting incoming traffic and verifying signatures, the public key is taken from the X.509 certificate of the remote endpoint. For encrypting outgoing traffic and creating digital signatures the local private key is used.

AES

  • Name: Advanced Encryption Standard
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Encryption of network traffic between TLS endpoints
  • Bit strength: 128 or 256 bits
  • Key management: During TLS handshake a master key is negotiated between endpoints using asymmetric cryptography (see RSA). The master key is based on keying material generated using a software PRNG. Individual keys for data encryption are derived as specified by TLS standards.

3DES

  • Name: Triple Data Encryption Standard
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Encryption of network traffic between TLS endpoints
  • Bit strength: 168 bits (112 bits effective)
  • Key management: During TLS handshake a master key is negotiated between endpoints using asymetric cryptography (see RSA). The master key is based on keying material generated using a software PRNG. Individual keys for data encryption are derived as specified by TLS standards.

PPP

For point to point protocols we use MPPE (RFC 3088) with RC4 encryption.

RC4

  • Name: RC4
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Encryption of network traffic between two network endpoints.
  • Bit strength: 40 or 128 bits
  • Key management: MPPE is used. Keys are derived from passwords defined on the network endpoints.

Kerberos

Supported cipher suites:

  • DES-CBC-MD5
  • RC4-HMAC-MD5

DES

  • Name: Data Encryption Standard
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Authentication of users for logging in to the administation interface.
  • Bit strength: 56 bits
  • Key management: The Kerberos protocol is used. Shared keys of the devices are created using a software PRNG. User passwords are defined by the user.

RC4

  • Name: RC4
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Authentication of users for logging in to the administation interface.
  • Bit strength: 128 bits
  • Key management: The Kerberos protocol is used. Shared keys of the devices are created using a software PRNG. User passwords are defined by the user.

VARS in configuration files

AES

  • Name: Advanced Encryption Standard
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Encryption of passwords and keys in config files that are downloaded from the device.
  • Bit strength: 256 bits, effective strength up to 120 bits
  • Key management: The encryption key is derived from the admin password. Therefore the effective key strength completely depends on the entropy of the admin password. The key derivation algorithm and mode of operation is proprietary.

RC4

  • Name: RC4
  • Type: Symmetric
  • Source: Standard algorithm
  • Purpose: Obfuscation of passwords and keys in config files that are downloaded from the device with the standard admin password.
  • Bit strength: -
  • Key management: The key is derived from the standard admin password. Since the standard passwords are well known this is no encryption but obfuscation. It shall prevent admins from reading passwords in the clear.

See example code: Howto:SOAP_API_PHP5_Sample_Code#More_Sample_Code

Licenses

RSA

  • Name: RSA
  • Type: Asymmetric
  • Source: Standard algorithm
  • Purpose: Creation of licenses at innovaphone. Verification of licenses on the box.
  • Bit strength: 2048 bit modulus.
  • Key management: innovaphone uses a secret private key to encrypt licenses. The boxes can decrypt the licenses using a public key that is part of the firmware.