26 <p>SRTP is the security layer that resides between the RTP/RTCP application |
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 |
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 |
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> |
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 |
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 |
31 Implementation of SRTP</b> </p> <p>The SRTP implementation follows the mandatory |
32 mandatory mechanisms defined in RFC 3711: </p> <ul> |
32 mechanisms defined in RFC 3711: </p> <ul> |
33 <li id="GUID-7F501CFB-A009-5ABA-81ED-442C79691B65"><p>AES-128 Counter mode |
33 <li id="GUID-7F501CFB-A009-5ABA-81ED-442C79691B65"><p>AES-128 Counter mode |
34 for encryption of RTP payloads </p> </li> |
34 for encryption of RTP payloads </p> </li> |
35 <li id="GUID-B18A31C7-C91A-568C-9FA5-BEF66DD5E534"><p>HMAC-SHA1 for authentication/integrity |
35 <li id="GUID-B18A31C7-C91A-568C-9FA5-BEF66DD5E534"><p>HMAC-SHA1 for authentication/integrity |
36 protection of RTP packets </p> </li> |
36 protection of RTP packets </p> </li> |
37 <li id="GUID-81492123-D4C6-59EC-B6E2-F38B8638E4BC"><p>AES-Counter Mode for |
37 <li id="GUID-81492123-D4C6-59EC-B6E2-F38B8638E4BC"><p>AES-Counter Mode for |
38 session key derivation </p> </li> |
38 session key derivation </p> </li> |
39 <li id="GUID-1EE2C03C-C4B2-59C2-94EB-6DDAC730E667"><p>NULL mode is supported |
39 <li id="GUID-1EE2C03C-C4B2-59C2-94EB-6DDAC730E667"><p>NULL mode is supported |
40 for encryption/decryption and authentication. </p> </li> |
40 for encryption/decryption and authentication. </p> </li> |
41 </ul> <p><b>Functional Model of SRTP</b> </p> <p>The figure below describes |
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"> |
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"/> |
43 <image href="GUID-26D92AB3-510F-5D29-852A-D55F0C96A798_d0e568805_href.png" placement="inline"/> |
44 </fig> <p>The SRTP Stack is not an active component and is not network aware. |
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 |
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. |
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 |
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 |
48 RTP Processing. </p> <p>The APIs execute within the process boundary of the |
51 <li id="GUID-6299069A-B48B-5A0D-A306-77B30EE91423"><p>Encryption of RTP payloads </p> </li> |
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 |
52 <li id="GUID-4A8EFCD5-45D4-5DDD-B847-DE1529ECD293"><p>Message authentication |
53 and integrity of the RTP packet </p> </li> |
53 and integrity of the RTP packet </p> </li> |
54 <li id="GUID-18578A1C-7D83-58EE-9E80-B5C0490D9FAD"><p>Replay Protection. </p> </li> |
54 <li id="GUID-18578A1C-7D83-58EE-9E80-B5C0490D9FAD"><p>Replay Protection. </p> </li> |
55 </ul> </section> |
55 </ul> </section> |
56 <section><title>How to use SRTP?</title> <p>The SRTP stack is offered as a |
56 <section id="GUID-0F8B69E2-90AF-4490-9B6C-40F215097030"><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 |
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 |
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 |
59 SRTP implementation consists of crypto routines using the Symbian cryptographic |
60 libraries namely cryptospi.dll (from OS version 9.5) </p> </section> |
60 libraries namely cryptospi.dll (from Symbian^3) </p> </section> |
61 </conbody><related-links> |
61 </conbody><related-links> |
62 <link href="GUID-06370120-7738-5694-9A8C-3B5B1E3A4352.dita"><linktext>Creating |
62 <link href="GUID-06370120-7738-5694-9A8C-3B5B1E3A4352.dita"><linktext>Creating |
63 an SRTP Session</linktext></link> |
63 an SRTP Session</linktext></link> |
64 <link href="GUID-425A208C-5D2D-55FD-8623-9E00006E2781.dita"><linktext>Creating |
64 <link href="GUID-425A208C-5D2D-55FD-8623-9E00006E2781.dita"><linktext>Creating |
65 a Cryptographic Context</linktext></link> |
65 a Cryptographic Context</linktext></link> |