DRAFT
© 2003 - 2005 Sipura Technology, Inc
Proprietary (See Copyright Notice on Page 2)
17
making the call. Note that in order to use Secure Call on an extension, <Mini Certificate> and <SRTP
Private Key> must be configured for that extension.
The enabling and disabling of these services applies to calls on all configured extensions on the SPA-841
Secure Call Implementation:
A secure call is established in two stages. The first stage is no different form a normal call setup. Right
after the call is established in the normal way with both sides ready to stream RTP packets, the second
stage starts where the two parties exchange information to determine if the current call can switch over to
the secure mode. The information is transported by base64 encoding and embedding in the message
body of SIP INFO requests and responses with a proprietary format. If the second stage is successful, the
SPA will play a special “Secure Call Indication Tone” for short while to indicate to both parties that the call
is secured and that RTP traffic in both directions are encrypted. The phone screen will be updated with
the CID information extracted from the Mini-Certificate received from the other end. The call state label on
the phone screen will also be prepended with a ‘$’ symbol (such as $Connected instead of Connected).
The second stage in setting up a secure all can be further divided into two steps. Step 1 the caller sends
a “Caller Hello” message (base64 encoded and embedded in the message body of a SIP INFO request)
to the called party with the following information:
-
Message ID (4B)
-
Version and flags (4B)
-
SSRC of the encrypted stream (4B)
- Mini-Certificate
(252B)
Upon receiving the Caller Hello, the callee responds with a Callee Hello message (base64 encoded and
embedded in the message body of a SIP response to the caller’s INFO request) with similar information, if
the Caller Hello message is valid. The caller then examines the Callee Hello and proceeds to step 2 if the
message is valid. In step 2 the caller sends the “Caller Final” message to the callee with the following
information:
-
Message ID (4B)
-
Encrypted Master Key (16B or 128b)
-
Encrypted Master Salt (16B or 128b)
With the master key and master salt encrypted with the public key from the callee’s mini-certificate. The
master key and master salt are used by both ends for the derivation of session keys for encrypting
subsequent RTP packets. The callee then responds with a Callee Final message (which is an empty
message).
A Mini-Certificate contains the following information:
-
User Name (32B)
-
User ID or Phone Number (16B)
-
Expiration Date (12B)
-
Public Key (512b or 64B)
-
Signature (1024b or 512B)
The signing agent is implicit and must be the same for all SPA’s that intended to communicate securely
with each other. The public key of the signing agent is pre-configured into the SPA’s by the administrator
and will be used by the SPA to verify the Mini-Certificate of its peer. The Mini-Certificate is valid if a) it has
not expired, and b) its signature checks out.