Secure Real-time Transport Protocol (zkr. SRTP, Rus. Secure real-time data transfer protocol ) - definuje profil protokolu RTP a je určen pro šifrování, autentizaci zpráv, integritu, ochranu proti falšování dat RTP při jednosměrných a multicastových přenosech médií a aplikace . SRTP byl vyvinut malým týmem krypto expertů na IP protokoly ze společností Cisco a Ericsson , David Oran, David McGrew, Mark Baugher, Mats Naslund, Elisabetta Carrara, Karl Norman a Rolf Blom. Poprvé publikoval IETF v březnu 2004 jako RFC 3711 .
Protože RTP úzce souvisí s RTCP (Real-Time Control Protocol), který lze použít ke správě relace RTP, má SRTP také sesterský protokol nazvaný Secure RTCP (nebo SRTCP ). SRTCP poskytuje stejné funkce související se zabezpečením v RTCP pro stejnou funkcionalitu SRTP v RTP.
Použití SRTP nebo SRTCP je při použití RTP nebo RTCP volitelné, ale i když se použije SRTP/SRTCP, všechny další funkce (jako je šifrování a ověřování) jsou volitelné a lze je zapnout nebo vypnout. Jedinou výjimkou je funkce ověřování zpráv, která je vyžadována při použití SRTCP.
Pro šifrování mediálního toku (za účelem důvěrnosti hlasového spojení) standardizuje SRTP (spolu s SRTCP) použití pouze jediné šifry, AES , kterou lze použít ve dvou režimech, čímž se původně bloková šifra AES změnila na proudová šifra:
SRTP kromě šifry AES umožňuje přímé šifrování pomocí tzv. „prázdné šifry“, kterou lze brát jako druhou podporovanou šifru (nebo třetí režim šifrování vedle dvou výše popsaných). Ve skutečnosti prázdná šifra neprovádí žádné šifrování (tj. funkce šifrovacího algoritmu, jako by tok klíčů obsahoval pouze nuly, a kopíruje vstupní tok do výstupního toku beze změny). To je povinné pro tuto metodu šifrování, která musí být poskytnuta na jakémkoli systému kompatibilním se SRTP. Lze jej také použít, když není vyžadována důvěrnost zaručená SRTP, ale lze použít ostatní funkce SRTP – autentizaci a integritu zpráv.
I když je technicky snadné zabudovat do SRTP nové šifrovací algoritmy, standard SRTP uvádí, že nové šifrovací algoritmy nad rámec těch popsaných nelze jednoduše přidat do implementace protokolu SRTP. Jediným legálním způsobem, jak přidat nový šifrovací algoritmus, aby byl kompatibilní se standardem SRTP, je zveřejnění nového RFC, kde by mělo být použití nového algoritmu jasně definováno.
Výše uvedené šifrovací algoritmy přímo nezajišťují integritu zprávy, což umožňuje provést útok typu Man-in-the-middle a zfalšovat obsah zprávy, nebo alespoň naslouchat dříve přenášeným datům. Proto musí standard SRTP také poskytovat integritu dat a ochranu proti odposlechu.
K ověření zprávy a ochraně její integrity se používá hashovací algoritmus HMAC - SHA1 definovaný v RFC 2104 k získání 160bitového hash, který je poté zkrácen na 80 nebo 32 bitů, aby se stal tokenem paketu. HMAC se vypočítá z typu užitečného zatížení paketu a dat v hlavičce paketu, včetně pořadového čísla paketu. Aby se zabránilo vkládání zpráv Man -in-the-Middle , přijímač udržuje indexy dříve přijatých paketů, porovnává je s indexem každého nově přijatého paketu a nový paket přeskočí pouze v případě, že nebyl přehrán (tj. byl odeslán ) před. Tento přístup do značné míry spoléhá na plnou ochranu integrity (aby nebylo možné změnit indexy sekvence paketů na cheat).
Funkce generování klíčů se používá k odvození klíčů relace používaných k šifrování kontextu (SRTP, šifrovací klíče řídicího protokolu SRTCP a klíče relace, ověřovací klíče SRTP a SRTCP) z jediného hlavního klíče. Protokol výměny klíčů vám tedy umožňuje vyměňovat pouze hlavní klíče, zbytek nezbytných klíčů relace bude získán pomocí této funkce.
Pravidelné změny samotné funkce generování klíčů vedou k dalším bezpečnostním opatřením. To obvykle zabraňuje Man -in-the-Middle ve sběru velkého množství zašifrovaného materiálu zašifrovaného jedním klíčem relace. Některé hacky se snáze provádějí, když je k dispozici velké množství zašifrovaného materiálu. Vícenásobná změna funkce generování klíče navíc poskytuje dopředné a zpětné zabezpečení v tom smyslu, že dešifrovaný klíč relace neohrozí ostatní klíče relace odvozené ze stejného hlavního klíče. To znamená, že i když se útočníkovi podařilo získat konkrétní klíč relace, není schopen dešifrovat zprávy poskytnuté s předchozími a pozdějšími klíči relace odvozenými ze stejného hlavního klíče. (I když samozřejmě výsledný hlavní klíč poskytne všechny klíče relace odvozené z něj.)
SRTP spoléhá na externí protokol výměny klíčů k vytvoření hlavního počátečního klíče. Pro použití s SRTP, ZRTP a MIKEY byly vyvinuty dva speciální protokoly .
Existují i jiné způsoby vyjednávání klíčů SRTP. Několik různých výrobců nabízí produkty, které používají metodu výměny klíčů SDES .