SIP Security in Yate

From Yate Documentation
Revision as of 11:48, 15 November 2012 by Dana (Talk | contribs)

Jump to: navigation, search

VoIP call signaling and call control can be secured by implementing some form of Authorization, Authentication or Transport Layer Security (TLS/SSL) mechanism and Media encryption (SRTP).

To protect the signaling messages against snooping or alteration use TLS. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.

Using SRTP, which is a security profile for RTP will add confidentiality, message authentication, and replay protection to the protocol.

Yate can bind on UDP, TCP and TLS. This is done using a listener that it is a specific section in ysipchan.conf.

In the next steps will configure Yate to bind on TLS and to use SRTP packets for voice.


Contents

How to set a TLS listener

In ysipchan.conf:

[general]
type=tls
addr=x.x.x.x
port=5061
sslcontext=server_context

Configure a SSL server context

In openssl.conf

[server_context]
enable=yes
certificate=name.crt
key=name.key

The files name.crt and name.key have to be in the same place as the configuration file in this example.

Enable SRTP

Data security protocols such as SRTP rely upon a separate key management system to securely establish encryption and/or authentication keys. TLS will protect the SDP message.

In ysipchan.conf by default secure parameter is disabled, for using SRTP you have to enable it.

[default]
; secure: bool: Generate and accept RFC 4568 security descriptors for SRTP
secure=enable

Advantages

  • SRTP is ideal for protecting Voice over IP traffic because has no effect on IP Quality of Service.
  • SRTP provide significant advantages, especially for voice traffic using low-bitrate voice codecs such as G.729 and iLBC.
  • SRTP confidentiality of RTP packets protects packet payloads from being read by entities without the secret encryption key.
  • SRTP message authentication of RTP packets protects the integrity of a packet against forgery, alteration, or replacement.
  • TLS provide privacy and data integrity between communicating applications.

See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers