Symbian3/PDK/Source/GUID-E7C820D7-7E00-5A95-9847-29A0FB0E78F1.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-E7C820D7-7E00-5A95-9847-29A0FB0E78F1" xml:lang="en"><title>What
       
    13 is Secure Real-Time Transport Protocol?</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>The Secure Real-Time Transport Protocol (SRTP) is defined as a profile
       
    15 of RTP. SRTP provides confidentiality, message authentication, and replay
       
    16 protection to the RTP traffic. It also protects the traffic of Real-time Transport
       
    17 Control Protocol (RTCP). </p>
       
    18 <p>SRTP is a layer between the RTP and the networking layer. The SRTP protocol
       
    19 as defined in RFC 3711 provides support for encryption, decryption of RTP
       
    20 payloads, and integrity protection of the entire packet. </p>
       
    21 <p>SRTP uses a single master key for generating session keys for encryption
       
    22 and authentication. RTP is closely related to RTCP(RTP control protocol) which
       
    23 can be used to control the RTP session. SRTP has a related protocol called
       
    24 Secure RTCP or SRTCP. SRTCP provides the same security related features to
       
    25 RTCP, as SRTP provides to RTP. </p>
       
    26 <p>SRTP is the security layer that resides between the RTP/RTCP application
       
    27 layer and the transport layer. It generates SRTP packets from the RTP/RTCP
       
    28 stream and forwards the packets to the receiver. It also transforms incoming
       
    29 SRTP packets to RTP/RTCP packets and passes these up the stack. </p>
       
    30 <section id="GUID-EC86AD19-5A80-59C5-A1BE-5196751A62A3"><title>How SRTP Works?</title> <p><b>Symbian
       
    31 OS Implementation of SRTP</b> </p> <p>The SRTP implementation follows the
       
    32 mandatory mechanisms defined in RFC 3711: </p> <ul>
       
    33 <li id="GUID-7F501CFB-A009-5ABA-81ED-442C79691B65"><p>AES-128 Counter mode
       
    34 for encryption of RTP payloads </p> </li>
       
    35 <li id="GUID-B18A31C7-C91A-568C-9FA5-BEF66DD5E534"><p>HMAC-SHA1 for authentication/integrity
       
    36 protection of RTP packets </p> </li>
       
    37 <li id="GUID-81492123-D4C6-59EC-B6E2-F38B8638E4BC"><p>AES-Counter Mode for
       
    38 session key derivation </p> </li>
       
    39 <li id="GUID-1EE2C03C-C4B2-59C2-94EB-6DDAC730E667"><p>NULL mode is supported
       
    40 for encryption/decryption and authentication. </p> </li>
       
    41 </ul> <p><b>Functional Model of SRTP</b> </p> <p>The figure below describes
       
    42 the functional model of SRTP. </p> <fig id="GUID-EC50E1D8-79A0-5088-8DB1-3EA50D63ABE4">
       
    43 <image href="GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e548281_href.png" placement="inline"/>
       
    44 </fig> <p>The SRTP Stack is not an active component and is not network aware.
       
    45 It sits as a processing layer between the RTP stack and the network. The RTP
       
    46 stack calls for SRTP encryption before it sends the RTP Packets to the network.
       
    47 At the receiving side, the RTP stack decrypts the data received prior to normal
       
    48 RTP Processing. </p> <p>The APIs execute within the process boundary of the
       
    49 RTP Application. The SRTP APIs are generic and can be used by any RTP stack. </p> <p>The
       
    50 SRTP library implements the following functionalities: </p> <ul>
       
    51 <li id="GUID-6299069A-B48B-5A0D-A306-77B30EE91423"><p>Encryption of RTP payloads </p> </li>
       
    52 <li id="GUID-4A8EFCD5-45D4-5DDD-B847-DE1529ECD293"><p>Message authentication
       
    53 and integrity of the RTP packet </p> </li>
       
    54 <li id="GUID-18578A1C-7D83-58EE-9E80-B5C0490D9FAD"><p>Replay Protection. </p> </li>
       
    55 </ul> </section>
       
    56 <section><title>How to use SRTP?</title> <p>The SRTP stack is offered as a
       
    57 general purpose DLL. </p> <p>The capability of the DLL is ALL -TCB. </p> <p>The
       
    58 application should link to srtp.lib. </p> <p><b>Dependency</b> </p> <p>The
       
    59 SRTP implementation consists of crypto routines using the Symbian cryptographic
       
    60 libraries namely cryptospi.dll (from OS version 9.5) </p> </section>
       
    61 </conbody><related-links>
       
    62 <link href="GUID-06370120-7738-5694-9A8C-3B5B1E3A4352.dita"><linktext>Creating
       
    63 an SRTP                 Session</linktext></link>
       
    64 <link href="GUID-425A208C-5D2D-55FD-8623-9E00006E2781.dita"><linktext>Creating
       
    65 a                 Cryptographic Context</linktext></link>
       
    66 <link href="GUID-372B7A9F-261E-5F3F-B114-4BE2FE2EF7C7.dita"><linktext>Creating
       
    67 an SRTP                 Stream</linktext></link>
       
    68 <link href="GUID-79846EA2-33CD-5D01-8E96-6092C15BD839.dita"><linktext>Encrypting
       
    69                 RTCP Packet Data</linktext></link>
       
    70 <link href="GUID-922F292E-9420-593B-B226-2764C5F29DF9.dita"><linktext>Encrypting
       
    71 RTP                 Packet Data</linktext></link>
       
    72 <link href="GUID-6E1AC4C9-7CA3-503A-AFC0-BAF29CCA8290.dita"><linktext>Decrypting
       
    73 RTP                 Packet Data</linktext></link>
       
    74 <link href="GUID-F9A24A47-7A0B-5F6E-8B0A-B7A7BCC4EAFC.dita"><linktext>Decrypting
       
    75                 RTCP Packet Data</linktext></link>
       
    76 <link href="GUID-B9BD2E0A-F214-5344-91A6-E4E99F0D74C8.dita"><linktext>Updating
       
    77 Master                 Key</linktext></link>
       
    78 <link href="GUID-F9A24A47-7A0B-5F6E-8B0A-B7A7BCC4EAFC.dita"><linktext>Managing
       
    79                 Master Key</linktext></link>
       
    80 </related-links></concept>