racavedigger.com
Daily insights on Bitcoin and crypto markets
  • Facebook
  • Pinterest
  • Home
  • News

Apakah WebRTC menggunakan DTLS?

Berita

WebRTC harus mengimplementasikan DTLS-SRTP tetapi … tidak boleh mengimplementasikan SDE

Ketentuan kedua tersebut adalah bahwa setiap implementasi akan memberikan mekanisme untuk JavaScript aplikasi panggilan untuk menunjukkan bahwa hanya mengubah kandidat yang harus digunakan. Ini dapat mencegah rekan dari mempelajari alamat IP seseorang sama sekali.

Dari mana berasal dari domain DTLS di WebRTC?

Untuk rekan WebRTC, domain apa yang digunakan DTL untuk negosiasi? Aku bingung. Tampaknya tidak ada definisi atribut yang relevan di SDP. Apakah itu domain tempat halaman web berada?

tanya 12 Jul 2021 di 14:36

25 3 3 Lencana Perunggu

1 Jawaban 1

WebRTC tidak menggunakan otoritas sertifikat. Tidak ada domain yang terlibat. Dengan WebRTC keaslian yang Anda dapatkan dari PKI baru saja diganti dengan sidik jari sertifikat.

Setiap pihak menghasilkan sertifikat dan kemudian membagikan sidik jari dalam deskripsi sesi (penawaran/jawaban). Setelah jabat tangan DTLS selesai, pastikan bahwa sertifikat dipertukarkannya sama.

Bagaimana DTLS Sebenarnya Bekerja Dijelaskan di Webrtc Untuk Penasaran#Mengamankan Sedikit Lebih.

Dijawab 12 Jul 2021 jam 15:25

Sean Dubois Sean DuBois

3.867 1 1 Lencana Emas 11 11 Lencana Perak 22 22 Lencana Perunggu

Tapi, OpenSSL SSLConnector membutuhkan domain. Dalam hal ini, nilai apa yang harus diteruskan untuk parameter ini?

WebRTC harus mengimplementasikan DTLS-SRTP tetapi … tidak boleh mengimplementasikan SDE?

Seperti yang saya perkirakan di posting saya tentang standardisasi WebRTC, pertemuan IETF ke -87 berlangsung minggu lalu di Berlin, Jerman. Salah satu item agenda untuk WEBRTC adalah apakah SDES harus menjadi bagian (dan bagaimana) dari WebRTC.

Menurut IETF Draft, setiap implementasi yang sesuai dengan WebRTC harus mendukung profil RTP/SAVPF yang dibangun di atas profil RTP RTP/SAVP yang aman. Ini berarti bahwa saluran media (e.G. Audio, video) harus diamankan melalui RTP aman (SRTP), yang menyediakan enkripsi media di antara fitur keamanan lainnya. Faktanya, penggunaan RTP polos (tidak terenkripsi) secara eksplisit dilarang oleh spesifikasi WebRTC.

Alternatif Manajemen Kunci WebRTC

SRTP perlu berinteraksi dengan protokol manajemen utama (e.G. Mikey, ZRTP, SDES, DTLS-SRTP) Untuk menegosiasikan parameter keamanan untuk sesi lalu lintas media. Dia’S yang patut dicatat bahwa pensinyalan (e.G. SIP, http) dan media (e.G. RTP) yang terlibat dalam komunikasi multimedia dapat diamankan secara mandiri. Misalnya, deskripsi keamanan SDP untuk aliran media (SDES) dan Multimedia Key Exchange (Mikey) menggunakan bidang pensinyalan untuk membawa parameter keamanan sesi melalui SDP; Ini berarti pensinyalan harus dilindungi pada gilirannya. Namun, mengamankan pensinyalan dan media secara mandiri mungkin tidak cukup dalam beberapa kasus karena tidak memberikan jaminan bahwa pengguna pensinyalan sama dengan pengguna media. Oleh karena itu, ikatan kriptografi antara kedua bidang itu diinginkan-ZRTP dan DTLS-SRTP melakukan ini.

Banyak literatur dapat ditemukan pada topik, tetapi singkatnya:

  • SDES – Parameter keamanan dan kunci untuk mengatur sesi SRTP dipertukarkan dalam teks yang jelas dalam bentuk atribut SDP, karenanya mengandalkan bidang pensinyalan untuk mengamankan pesan SDP, menggunakan misalnya TLS.
  • Mikey – melakukan pertukaran utama dan menegosiasikan parameter kriptografi atas nama aplikasi multimedia. Pesannya diangkut dalam muatan SDP dan dikodekan di Base64.
  • ZRTP-Rahasia Bersama dan Parameter Keamanan Lainnya Ditukar Mengandalkan Diffie-Hellman. Otentikasi timbal balik dapat menggunakan string otentikasi pendek (SAS), jadi tidak’t membutuhkan dukungan dari PKI. Pertukaran ZRTP terjadi pada nomor port yang sama yang digunakan oleh sesi multimedia untuk lalu lintas RTP (berbeda dengan jalur pensinyalan).
  • DTLS-SRTP-Mengaktifkan pertukaran parameter kriptografi dan mendapatkan bahan utama. Pertukaran kunci terjadi di bidang media dan multiplexed pada port yang sama dengan media itu sendiri. Kami akan menguraikan hal ini di pos mendatang tetapi, singkatnya, setelah beberapa pemeriksaan es selesai, DTLS-SRTP memungkinkan saluran media SRTP ditetapkan tanpa perlu mengungkapkan kunci dalam pertukaran pesan SDP seperti yang dilakukan dengan SDES.

Menurut draft-ietf-rtcweb-rtp-penggunaan-07 (draft saat ini, Juli 2013), WebRTC:

Implementasi harus mendukung DTLS-SRTP untuk manajemen utama. Skema manajemen kunci lainnya mungkin didukung

DTLS-SRTP adalah mekanisme default dan lebih disukai yang berarti bahwa jika penawaran diterima yang mendukung baik DTLS-SRTP dan SDE, DTLS-SRTP harus dipilih-terlepas dari apakah pensinyalan diamankan atau tidak. Dari apa yang saya’m melihat di lapangan kebanyakan (saya bisa’t mengatakan semuanya) uji coba WEBRTC menjalankan pensinyalan lebih dari TLS, biasanya melalui http aman (https) atau Secure WebSockets (WSS).

Debat

Secara umum ada beberapa keraguan bahwa DTLS-SRTP harus menjadi wajib untuk mengimplementasikan (MTI) mekanisme keamanan untuk media real-time WEBRTC (yah, beberapa berpendapat ZRTP berpotensi memberikan pendekatan yang lebih sederhana atau bahkan perlindungan yang lebih baik dalam beberapa skenario). Diskusi di Berlin adalah apakah IETF, di luar mandat dukungan untuk DTLS-SRTP, dapat memberikan rekomendasi tentang cara menggunakan kembali beberapa mekanisme lain yang kami miliki saat ini untuk memberikan kompatibilitas mundur; yaitu menggunakan kembali SDE dalam skenario interworking WebRTC-to-SIP. Iya’benar bahwa sebagian besar lalu lintas RTP di jaringan VoIP tidak diamankan hari ini – pada kenyataannya, ini adalah salah satu fitur pertama yang biasanya diminta oleh vendor untuk menghapus untuk memenuhi anggaran mereka. Namun, saat diamankan, sebagian besar penyebaran i’ve terlihat menggunakan SDE (yang sebagaimana disebutkan memiliki ketergantungan yang kuat pada keamanan bidang pensinyalan).

Ketika datang ke implementasi WEBRTC, Google’S

WebRTC harus mengimplementasikan DTLS-SRTP tetapi … tidak boleh mengimplementasikan SDE

Ketentuan kedua tersebut adalah bahwa setiap implementasi akan memberikan mekanisme untuk JavaScript aplikasi panggilan untuk menunjukkan bahwa hanya mengubah kandidat yang harus digunakan. Ini dapat mencegah rekan dari mempelajari alamat IP seseorang sama sekali.

Dari mana berasal dari domain DTLS di WebRTC?

Untuk rekan WebRTC, domain apa yang digunakan DTL untuk negosiasi? Aku bingung. Tampaknya tidak ada definisi atribut yang relevan di SDP. Apakah itu domain tempat halaman web berada?

tanya 12 Jul 2021 di 14:36

25 3 3 Lencana Perunggu

1 Jawaban 1

WebRTC tidak menggunakan otoritas sertifikat. Tidak ada domain yang terlibat. Dengan WebRTC keaslian yang Anda dapatkan dari PKI baru saja diganti dengan sidik jari sertifikat.

Setiap pihak menghasilkan sertifikat dan kemudian membagikan sidik jari dalam deskripsi sesi (penawaran/jawaban). Setelah jabat tangan DTLS selesai, pastikan bahwa sertifikat dipertukarkannya sama.

Bagaimana DTLS Sebenarnya Bekerja Dijelaskan di Webrtc Untuk Penasaran#Mengamankan Sedikit Lebih.

Dijawab 12 Jul 2021 jam 15:25

Sean Dubois Sean DuBois

3.867 1 1 Lencana Emas 11 11 Lencana Perak 22 22 Lencana Perunggu

Tapi, OpenSSL SSLConnector membutuhkan domain. Dalam hal ini, nilai apa yang harus diteruskan untuk parameter ini?

WebRTC harus mengimplementasikan DTLS-SRTP tetapi … tidak boleh mengimplementasikan SDE?

Seperti yang saya perkirakan di posting saya tentang standardisasi WebRTC, pertemuan IETF ke -87 berlangsung minggu lalu di Berlin, Jerman. Salah satu item agenda untuk WEBRTC adalah apakah SDES harus menjadi bagian (dan bagaimana) dari WebRTC.

Menurut IETF Draft, setiap implementasi yang sesuai dengan WebRTC harus mendukung profil RTP/SAVPF yang dibangun di atas profil RTP RTP/SAVP yang aman. Ini berarti bahwa saluran media (e.G. Audio, video) harus diamankan melalui RTP aman (SRTP), yang menyediakan enkripsi media di antara fitur keamanan lainnya. Faktanya, penggunaan RTP polos (tidak terenkripsi) secara eksplisit dilarang oleh spesifikasi WebRTC.

Alternatif Manajemen Kunci WebRTC

SRTP perlu berinteraksi dengan protokol manajemen utama (e.G. Mikey, ZRTP, SDES, DTLS-SRTP) Untuk menegosiasikan parameter keamanan untuk sesi lalu lintas media. Dia’S yang patut dicatat bahwa pensinyalan (e.G. SIP, http) dan media (e.G. RTP) yang terlibat dalam komunikasi multimedia dapat diamankan secara mandiri. Misalnya, deskripsi keamanan SDP untuk aliran media (SDES) dan Multimedia Key Exchange (Mikey) menggunakan bidang pensinyalan untuk membawa parameter keamanan sesi melalui SDP; Ini berarti pensinyalan harus dilindungi pada gilirannya. Namun, mengamankan pensinyalan dan media secara mandiri mungkin tidak cukup dalam beberapa kasus karena tidak memberikan jaminan bahwa pengguna pensinyalan sama dengan pengguna media. Oleh karena itu, ikatan kriptografi antara kedua bidang itu diinginkan-ZRTP dan DTLS-SRTP melakukan ini.

Banyak literatur dapat ditemukan pada topik, tetapi singkatnya:

  • SDES – Parameter keamanan dan kunci untuk mengatur sesi SRTP dipertukarkan dalam teks yang jelas dalam bentuk atribut SDP, karenanya mengandalkan bidang pensinyalan untuk mengamankan pesan SDP, menggunakan misalnya TLS.
  • Mikey – melakukan pertukaran utama dan menegosiasikan parameter kriptografi atas nama aplikasi multimedia. Pesannya diangkut dalam muatan SDP dan dikodekan di Base64.
  • ZRTP-Rahasia Bersama dan Parameter Keamanan Lainnya Ditukar Mengandalkan Diffie-Hellman. Otentikasi timbal balik dapat menggunakan string otentikasi pendek (SAS), jadi tidak’t membutuhkan dukungan dari PKI. Pertukaran ZRTP terjadi pada nomor port yang sama yang digunakan oleh sesi multimedia untuk lalu lintas RTP (berbeda dengan jalur pensinyalan).
  • DTLS-SRTP-Mengaktifkan pertukaran parameter kriptografi dan mendapatkan bahan utama. Pertukaran kunci terjadi di bidang media dan multiplexed pada port yang sama dengan media itu sendiri. Kami akan menguraikan hal ini di pos mendatang tetapi, singkatnya, setelah beberapa pemeriksaan es selesai, DTLS-SRTP memungkinkan saluran media SRTP ditetapkan tanpa perlu mengungkapkan kunci dalam pertukaran pesan SDP seperti yang dilakukan dengan SDES.

Menurut draft-ietf-rtcweb-rtp-penggunaan-07 (draft saat ini, Juli 2013), WebRTC:

Implementasi harus mendukung DTLS-SRTP untuk manajemen utama. Skema manajemen kunci lainnya mungkin didukung

DTLS-SRTP adalah mekanisme default dan lebih disukai yang berarti bahwa jika penawaran diterima yang mendukung baik DTLS-SRTP dan SDE, DTLS-SRTP harus dipilih-terlepas dari apakah pensinyalan diamankan atau tidak. Dari apa yang saya’m melihat di lapangan kebanyakan (saya bisa’t mengatakan semuanya) uji coba WEBRTC menjalankan pensinyalan lebih dari TLS, biasanya melalui http aman (https) atau Secure WebSockets (WSS).

Debat

Secara umum ada beberapa keraguan bahwa DTLS-SRTP harus menjadi wajib untuk mengimplementasikan (MTI) mekanisme keamanan untuk media real-time WEBRTC (yah, beberapa berpendapat ZRTP berpotensi memberikan pendekatan yang lebih sederhana atau bahkan perlindungan yang lebih baik dalam beberapa skenario). Diskusi di Berlin adalah apakah IETF, di luar mandat dukungan untuk DTLS-SRTP, dapat memberikan rekomendasi tentang cara menggunakan kembali beberapa mekanisme lain yang kami miliki saat ini untuk memberikan kompatibilitas mundur; yaitu menggunakan kembali SDE dalam skenario interworking WebRTC-to-SIP. Iya’benar bahwa sebagian besar lalu lintas RTP di jaringan VoIP tidak diamankan hari ini – pada kenyataannya, ini adalah salah satu fitur pertama yang biasanya diminta oleh vendor untuk menghapus untuk memenuhi anggaran mereka. Namun, saat diamankan, sebagian besar penyebaran i’ve terlihat menggunakan SDE (yang sebagaimana disebutkan memiliki ketergantungan yang kuat pada keamanan bidang pensinyalan).

Ketika datang ke implementasi WEBRTC, Google’S Chrome mendukung DTLS-SRTP dan SDE sementara Mozilla’S Firefox hanya mengimplementasikan DTLS-SRTP. Sebagai rasa ingin tahu, saya’M saat ini terlibat dalam uji lapangan di mana beberapa gateway WebRTC-to-SIP yang dievaluasi hanya mengimplementasikan SDE dan memiliki DTLS-SRTP sebagai item peta jalan. Vendor gateway itu mungkin menganggap SDE cukup baik untuk skenario antarworking dasar dan mengharapkannya diadopsi di beberapa titik oleh spesifikasi WebRTC.

Dukungan Kunci Keamanan Browser WebRTC

Slide dari diskusi di Berlin dapat ditemukan di sini. Seperti yang dapat dilihat dalam presentasi, beberapa argumen dari pendukung SDES termasuk:

  • Insentif Komersial – IT’S sudah ada dan bekerja
  • Kliping media awal
  • Tradeoff antara kompleksitas dan biaya
  • Tunjangan untuk SRTP end-to-end dalam kasus interworking

Pada peluru terakhir, ini berarti orang tidak perlu mendekripsi lalu lintas SRTP di gerbang antar -pekerja jika titik akhir VoIP di ujung lainnya menggunakan SDES.

Tentu saja, poin utama perdebatan adalah apakah SDES benar-benar menurunkan keamanan dalam kasus penggunaan antar pengerjaan jika dibandingkan dengan DTLS-SRTP. Menurut pendapat saya beberapa argumen yang digunakan terhadap SDE juga berlaku untuk DTLS-SRTP. Perhatikan bahwa pendukung SDES tidak mengusulkannya untuk semua kasus penggunaan tetapi menganjurkan entah bagaimana membatasi penerapannya pada skenario interworking sebagai gantinya.

Yang lain berpendapat bahwa kompatibilitas mundur bukanlah faktor penting ketika seseorang perlu menggunakan gateway media (minimal untuk penghentian es); Jadi dtls-srtp-to-sdes interworking bisa menjadi fitur lain dari fungsi gateway (seperti yang ditunjukkan dalam diagram berikut yang diekstraksi dari presentasi ini).

Hasilnya

Sebagai hasil dari diskusi, tidak hanya SDE yang tidak direkomendasikan dari kasus penggunaan tertentu seperti interworking WebRTC-to-SIP, tetapi juga telah sepenuhnya dilarang untuk WebRTC secara umum. Mengadopsi SDES ditafsirkan oleh sebagian besar sebagai memaksakan persyaratan pada browser web di luar ruang lingkup komunikasi browser-ke-browser sambil berpotensi menurunkan properti keamanan mereka.

Saya percaya memiliki solusi tunggal mungkin bermanfaat dari perspektif interoperabilitas (i.e. semakin sedikit pilihan yang biasanya kita miliki berarti interoperabilitas yang lebih baik) tetapi saya’Saya bertanya-tanya apa yang sebenarnya akan diterapkan oleh industri ini, terutama dalam skenario WebRTC non-browser yang mungkin memiliki persyaratan keamanan yang berbeda atau mungkin ingin secara langsung beroperasi dengan perangkat VoIP yang ada (seperti saya’M melihat dalam suatu proyek, ini bisa berarti beberapa juta titik akhir). Waktu akan memberi tahu bagaimana bereaksi vendor, tetapi ini pasti bukan kasus pertama di mana fitur/perilaku tertentu dinonaktifkan secara default untuk disediakan RFC tetapi opsi yang dapat dikonfigurasi, dan terkadang tersembunyi “pada satu’risiko sendiri” untuk mendukung fitur ��

Ingin belajar lebih banyak tentang keamanan WebRTC? Kami akan menguraikan topik ini di entri blog mendatang. Sementara itu, temukan di sini dan di sini beberapa referensi menarik. Teman -teman saya dan mantan kolega Jiri, Dorgham, John, Uli dan Henning mencakup deskripsi yang sangat komprehensif tentang keamanan multimedia dalam buku keamanan SIP mereka. Anda juga dapat mengirimi saya email ke [email yang dilindungi] atau mengikuti saya di Twitter di @victorpascual.

Pos terkait

Feed RSS

Interaksi pembaca

Komentar

  1. Vijay k. Gurbani mengatakan 15 Agustus 2013 jam 11:14 pagi

Masalah yang didiskusikan Victor tidak hanya endemik untuk WEBRTC. Ini adalah masalah umum yang telah ditangani oleh dunia SIP sebentar. Makalah di bawah ini memberikan kelebihan dan kerugian relatif dari berbagai skema utama dalam lingkungan telekomunikasi multimedia internet. Jika Anda ingin salinannya, Anda dapat mengirimi saya email di VKG di Bell-Labs Dot Com. Gurbani, v.K. dan Kolesnikov, v., “Survei dan Analisis Teknik Kunci Media dalam Protokol Inisiasi Sesi (SIP),” Dalam Survei dan Tutorial Komunikasi IEEE, 13 (2), PP. 183-198, 2011.

Terima kasih atas referensi Vijay – kertas yang sangat menarik. BTW, konsep internet baru ini diterbitkan beberapa jam yang lalu: “Menggunakan ZRTP untuk mengamankan WebRTC”
http: // alat.IETF.org/html/draft-Johnston-rtcweb-zrtp-00 Abstrak: “WebRTC, Web Real-Time Communications, adalah satu set protokol dan API yang digunakan untuk memungkinkan pengembang web untuk menambahkan komunikasi real-time ke halaman web dan aplikasi mereka dengan beberapa baris javascript. Aliran media WEBRTC dienkripsi dan diautentikasi oleh SRTP, protokol transportasi real-time yang aman sementara perjanjian utama disediakan oleh DTLS-SRTP, DataGram Transport Layer Security untuk Protokol Transportasi Real-Time Aman. Namun, tanpa beberapa layanan identitas pihak ketiga atau otoritas sertifikat, aliran media WebRTC tidak memiliki perlindungan terhadap serangan manusia-di-tengah-tengah (MITM). ZRTP, Perjanjian Kunci Jalur Media untuk Unicast Secure RTP, RFC 6189, memang memberikan perlindungan terhadap penyerang MITM menggunakan kontinuitas kunci yang ditambah dengan string otentikasi pendek (SAS). Spesifikasi ini menjelaskan bagaimana ZRTP dapat digunakan pada saluran data WebRTC untuk memberikan perlindungan MITM untuk aliran media WebRTC yang dikunci menggunakan DTLS-SRTP. Ini memberikan perlindungan kepada pengguna terhadap penyerang MITM tanpa mengharuskan browser untuk mendukung ZRTP atau pengguna untuk mengunduh plugin atau ekstensi untuk mengimplementasikan ZRTP.”

Pembaruan Cepat: Google baru saja mengumumkan Chrome menghapus SDES dalam proses multi-langkah “1) Dalam Chrome 31, DTLS sekarang aktif secara default, meskipun SDES masih ditawarkan juga. Anda tidak perlu lagi lulus DTLSSRTPKEYAGREENTER: Kendala Benar untuk Mengaktifkan DTLS. Karena kami menggunakan caching sertifikat per-asal, hit kinerja menghasilkan sertifikat DTLS tidak lagi menjadi masalah, memungkinkan kami menjadikan ini default. Tidak diperlukan perubahan aplikasi saat ini, meskipun DTL dapat dinonaktifkan dengan mengatur DTLSSRTPKEYAGREEMENT: FALSE, yang kembali ke operasi khusus SDES. 2) Dalam versi Chrome yang akan datang, mungkin Chrome 33, SDES tidak akan lagi ditawarkan secara default, dan hanya akan digunakan jika batasan TBD baru ditentukan. Untuk aplikasi yang membutuhkan SDE, ini akan membutuhkan perubahan aplikasi untuk menentukan kendala baru ini. 3) Dalam versi Chrome, TBD pada saat ini, kendala SDES ini akan dihapus dan hanya DTLS-SRTP yang akan didukung. Kami berharap ini terjadi sekitar tahun 2014, jadi silakan mulai migrasi aplikasi Anda ke DTLS-SRTP sesegera mungkin.” Sumber: https: // grup.Google.com/forum/#!Topik/Diskusi-Webrtc/67W4Zrtmons

Terima kasih atas posting yang menarik Victor. Saya baru saja mencari beberapa masalah keamanan tentang WebRTC dan saya menemukan ini. Mungkin, status saat ini tentang ini telah berubah, karena posting diterbitkan sekitar setahun yang lalu saya baru di WebRTC, dan semuanya muncul bahwa WebRTC menggunakan DLTS-RTSP. Namun, apa yang terjadi dengan keamanan di ponsel?. Sejauh yang saya tahu RTSP bisa sedikit lambat untuk mendekripsi video, misalnya, di plattform seluler. Terima kasih sebelumnya Víctor Hidalgo

  • Chad Hart mengatakan 12 Juli 2014 jam 7:55 pagi

Tolong don’T Mix Up Real-Time Streaming Protocol (RTSP) dengan Secure Real-Time Transport (SRTP). WEBRTC menggunakan DTLS-SRTP. DTLS-SRTP seperti semua enkripsi memang membutuhkan dekripsi, dan ada beberapa overhead yang terkait dengan ini tetapi sangat kecil pada perangkat modern. Kekhawatiran tentang biaya enkripsi biasanya difokuskan di sekitar peralatan sisi server yang perlu menangani volume tinggi dan karenanya berpotensi meningkatkan harga penawaran layanan.

  • Victor mengatakan 14 Juli 2014 jam 3:06 pagi

Hai Chad, Benar, saya merujuk ke dtls-srtp no dtls-rtsp, maaf atas kesalahan saya. Saya ingin semacam klarifikasi sebelum melakukan tes, karena overhead minuscle yang terkait dalam perangkat modern adalah yang saya harapkan. Terima kasih banyak atas tanggapanmu. Pemenang

Tinggalkan Balasan Batalkan balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Studi Keamanan WebRTC

Web Real-Time Communication (disingkat sebagai WEBRTC) adalah tren terbaru dalam teknologi aplikasi web, yang menjanjikan kemampuan untuk memungkinkan komunikasi real-time di browser tanpa perlu plug-in atau persyaratan lainnya. Namun, sifat open-source dari teknologi ini mungkin memiliki potensi untuk menyebabkan kekhawatiran terkait keamanan bagi pengadopsi teknologi potensial. Makalah ini akan membahas secara rinci keamanan WebRTC, dengan tujuan menunjukkan keamanan komparatif teknologi.

1. Perkenalan

WebRTC adalah teknologi aplikasi berbasis web open-source, yang memungkinkan pengguna untuk mengirim media real-time tanpa perlu menginstal plugin. Menggunakan browser yang sesuai dapat memungkinkan pengguna untuk menghubungi pihak lain hanya dengan menjelajah ke halaman web yang relevan.

Beberapa kasus penggunaan utama teknologi ini termasuk yang berikut:

  • Panggilan audio dan/atau video real-time
  • Konferensi Web
  • Transfer Data Langsung

Tidak seperti kebanyakan sistem real-time (e.G. SIP), WEBRTC Communications secara langsung dikendalikan oleh beberapa server web, melalui JavaScript API.

Prospek memungkinkan komunikasi audio dan visual tertanam di browser tanpa plugin menarik. Namun, ini secara alami menimbulkan kekhawatiran atas keamanan teknologi tersebut, dan apakah dapat dipercaya untuk memberikan komunikasi yang dapat diandalkan untuk pengguna akhir dan operator perantara atau pihak ketiga atau pihak ketiga.

Laporan ini akan membahas topik -topik ini dan memeriksa perlindungan yang disediakan WebRTC untuk memberikan keamanan dalam semua kasus. Namun untuk keperluan makalah ini, aplikasi asli akan diperlakukan sebagai di luar cakupan.

2. Gambaran Umum Arsitektur Webrtc

WebRTC Mengaktifkan komunikasi yang kaya media langsung antara dua rekan, menggunakan topologi peer-to-peer (P2P). WebRTC berada di dalam browser pengguna, dan tidak memerlukan perangkat lunak tambahan untuk beroperasi. Komunikasi aktual antara teman sebaya diawali dengan pertukaran metadata, disebut “pensinyalan”. Proses ini digunakan untuk memulai dan mengiklankan panggilan, dan memfasilitasi pembentukan koneksi antara pihak yang tidak dikenal.

Seperti yang digambarkan pada Gambar 1, proses ini terjadi melalui server perantara:

Gambar 1. Topologi panggilan WebRTC sederhana

Gambar 1. Topologi Panggilan WebRTC sederhana

Protokol pensinyalan tidak ditentukan dalam WebRTC, memungkinkan pengembang untuk mengimplementasikan pilihan protokol mereka sendiri. Ini memungkinkan tingkat fleksibilitas yang lebih dalam dalam mengadaptasi aplikasi WebRTC untuk kasus atau skenario penggunaan tertentu.

Bagaimana cara kerja komunikasi WEBRTC?

WebRTC bergantung pada tiga API, yang masing-masing melakukan fungsi tertentu untuk mengaktifkan komunikasi real-time dalam aplikasi web. API ini akan dinamai dan dijelaskan secara singkat. Implementasi dan rincian teknis dari setiap protokol dan teknologi berada di luar ruang lingkup laporan ini, namun dokumentasi yang relevan sudah tersedia secara online.

getusermedia

Selama bertahun-tahun perlu mengandalkan plugin browser pihak ketiga seperti Flash atau Silverlight untuk menangkap audio atau video dari komputer. Namun, era HTML 5 telah mengantarkan akses perangkat keras langsung ke berbagai perangkat, dan menyediakan API JavaScript yang berinteraksi dengan kemampuan perangkat keras yang mendasari sistem.

Getusermedia adalah salah satu API tersebut, memungkinkan browser untuk mengakses kamera dan mikrofon pengguna. Meskipun digunakan oleh WEBRTC, API ini sebenarnya ditawarkan sebagai bagian dari HTML 5.

RtcpeerConnection

RTCPeerConnection adalah yang pertama dari dua API yang ditawarkan secara khusus sebagai bagian dari spesifikasi WebRTC. Antarmuka RTCPeerConnection mewakili koneksi WebRTC yang sebenarnya, dan diandalkan untuk menangani streaming data yang efisien antara dua rekan.

Ketika penelepon ingin memulai koneksi dengan pesta jarak jauh, browser dimulai dengan instantiasi objek RTCPeerConnection. Ini termasuk deskripsi SDP yang dihasilkan sendiri untuk ditukar dengan rekan mereka. Penerima pada gilirannya merespons dengan deskripsi SDP sendiri. Deskripsi SDP digunakan sebagai bagian dari alur kerja es penuh untuk Nat Traversal.

Dengan koneksi yang sekarang dibuat, RTCPeerConnection memungkinkan pengiriman data audio dan video real-time sebagai bitstream antara browser.

Pada akhirnya, RTCPeerConnection API bertanggung jawab untuk mengelola siklus hidup penuh dari setiap koneksi peer-to-peer dan merangkum semua pengaturan koneksi, manajemen, dan menyatakan dalam satu antarmuka yang mudah digunakan.

RTCPeerConnection memiliki dua sifat spesifik: – Komunikasi peer -to -peer langsung antara dua browser – penggunaan UDP/IP – tidak ada jaminan kedatangan paket (seperti dalam TCP/IP), tetapi ada banyak overhead yang dikurangi sebagai hasilnya. – (Dengan membiarkan hilangnya beberapa data, kami dapat fokus pada menawarkan komunikasi waktu nyata.)

Rtcdatachannel

RTCDataChannel adalah API utama kedua yang ditawarkan sebagai bagian dari WEBRTC, dan mewakili saluran komunikasi utama yang melaluinya pertukaran data aplikasi sewenang -wenang terjadi antara rekan. Dengan kata lain, ini digunakan untuk mentransfer data langsung dari satu rekan ke yang lain.

Meskipun sejumlah opsi alternatif untuk saluran komunikasi ada (e.G. WebSocket, server mengirim acara), namun alternatif ini dirancang untuk komunikasi dengan server daripada rekan yang terhubung langsung. Rtcdatachannel menyerupai websocket populer, tetapi malah mengambil format peer-to-peer sambil menawarkan properti pengiriman yang dapat disesuaikan dari transportasi yang mendasarinya.

2.1. Teknologi yang mendasari

Tiga API utama adalah aspek pengembang yang menghadap ke WebRTC, tetapi ada sejumlah teknologi dasar yang digunakan untuk menyediakan protokol ini (RTCPeerConnection dan RTCDataChannel API).

Gambar 2. Tumpukan Protokol WebRTC

Gambar 2. Tumpukan Protokol WebRTC

Es, setrum, dan giliran diperlukan untuk membangun dan mempertahankan koneksi peer-to-peer melalui UDP. DTL digunakan untuk mengamankan semua transfer data antar rekan, karena enkripsi adalah fitur wajib dari WEBRTC. Akhirnya, SCTP dan SRTP adalah protokol aplikasi yang digunakan untuk multipleks aliran yang berbeda, memberikan kemacetan dan kontrol aliran, dan memberikan pengiriman sebagian yang andal dan layanan tambahan lainnya di atas UDP.

SDP: Protokol Deskripsi Sesi

Sesi Deskripsi Protokol (SDP) adalah protokol deskriptif yang digunakan sebagai metode standar untuk mengumumkan dan mengelola undangan sesi, serta melakukan tugas inisiasi lainnya untuk sesi multimedia. SDP represents the browser capabilities and preferences in a text-based format, and may include the following information: – Media capabilities (video, audio) and the employed codecs – IP address and port number – P2P data transmission protocol (WebRTC uses SecureRTP) – Bandwidth usable for communication – Session attributes (name, identifier, time active, etc.) -> Namun ini tidak digunakan di webrtc. – Metadata terkait lainnya.

Sampai hari ini SDP banyak digunakan dalam konteks Protokol Inisiasi Sesi (SIP), Real-Time Transport Protocol (RTP), dan Real-Time Streaming Protocol (RSP).

ICE: Pembentukan Konektivitas Interaktif

Signaling membutuhkan penggunaan awal server perantara untuk pertukaran metadata, tetapi setelah selesai, WebRTC berupaya membuat koneksi P2P langsung antara pengguna. Proses ini dilakukan melalui kerangka es.

Es adalah kerangka kerja yang digunakan untuk membangun hubungan antara rekan -rekan melalui internet. Meskipun WebRTC mencoba memanfaatkan koneksi P2P langsung, pada kenyataannya kehadiran NAT (terjemahan alamat jaringan) yang meluas membuat sulit untuk menegosiasikan bagaimana dua rekan akan berkomunikasi.

Karena prevalensi luas alamat IPv4 yang berkelanjutan dengan representasi 32-bit terbatas mereka, sebagian besar perangkat yang diaktifkan jaringan tidak memiliki alamat IPv4 yang menghadap publik yang unik yang akan terlihat langsung di internet di Internet. Nat bekerja dengan secara dinamis menerjemahkan alamat pribadi ke yang publik ketika permintaan keluar melewati mereka. Demikian pula, permintaan masuk ke IP publik dikonversi kembali menjadi IP pribadi untuk memastikan perutean yang benar di jaringan internal. Hasilnya, berbagi IP pribadi seringkali tidak cukup informasi untuk membuat koneksi ke rekan. ICE berupaya mengatasi kesulitan yang ditimbulkan dengan berkomunikasi melalui NAT untuk menemukan jalan terbaik untuk menghubungkan rekan.

Dengan mencoba semua kemungkinan secara paralel, ICE dapat memilih opsi paling efisien yang berhasil. ICE pertama kali mencoba membuat koneksi menggunakan alamat host yang diperoleh dari sistem operasi perangkat dan kartu jaringan; Jika itu gagal (yang pasti akan terjadi pada perangkat di belakang nats) maka memperoleh alamat eksternal menggunakan server stun. Jika itu juga gagal, lalu lintas kembali ke perutean melalui server Turn Relay.

Rute komunikasi kandidat diterjemahkan dalam format berbasis teks, dan daftar yang dipesan berdasarkan prioritas. Opsi mengambil bentuk salah satu dari yang berikut: – Komunikasi P2P Langsung – Menggunakan STUN, dengan pemetaan port untuk NAT Traversal (rute ini akhirnya diselesaikan untuk mengarahkan komunikasi P2P) – menggunakan Turn sebagai perantara (konfigurasi ini menggunakan komunikasi yang disampaikan daripada P2P)

Dari semua kandidat yang mungkin, rute dengan overhead terkecil dipilih.

Stun: Utilitas traversal sesi untuk NAT

Untuk melakukan komunikasi P2P, kedua belah pihak harus membutuhkan setidaknya pengetahuan tentang alamat IP rekan mereka dan port UDP yang ditetapkan. Akibatnya, sejumlah pertukaran informasi diperlukan sebelum komunikasi WebRTC dapat ditetapkan.

Server setrum digunakan oleh masing -masing rekan untuk menentukan alamat IP publik mereka, dan dirujuk oleh kerangka es selama pembentukan koneksi. Server setrum biasanya dapat diakses secara publik, dan dapat digunakan secara bebas oleh aplikasi WebRTC.

Turn: Traversal menggunakan relay di sekitar NAT

Dalam kemungkinan bahwa membangun komunikasi P2P gagal, opsi fallback dapat disediakan melalui server Turn. Dengan menyampaikan lalu lintas antar rekan, komunikasi WEBRTC dapat dipastikan, tetapi dapat menderita degradasi dalam kualitas media dan latensi.

Putar server dapat memastikan keberhasilan tinggi dalam menyiapkan panggilan, terlepas dari lingkungan pengguna akhir. Karena data dikirim melalui server perantara, bandwidth server juga dikonsumsi. Jika banyak panggilan secara bersamaan dialihkan melalui server, bandwidth juga menjadi cukup besar.

Server itu sendiri biasanya tidak dapat diakses secara bebas, dan harus secara khusus disediakan (atau disewa) oleh penyedia aplikasi.

3. Pertimbangan keamanan berbasis browser

Ada sejumlah cara di mana aplikasi komunikasi real-time dapat memberlakukan risiko keamanan, baik pada operator dan pengguna akhir. Risiko keamanan tersebut dapat berlaku untuk aplikasi apa pun yang berurusan dengan transmisi data dan media waktu nyata.

WebRTC berbeda dari aplikasi RTC lainnya dengan menyediakan infrastruktur yang kuat dan andal bagi pengembang baru untuk digunakan tanpa berkompromi pada keamanan. Kami sekarang akan melanjutkan untuk membahas bagaimana WEBRTC berurusan dengan masing -masing risiko ini pada gilirannya.

3.1. Model Trust Browser

Arsitektur WebRTC mengasumsikan dari perspektif keamanan bahwa sumber daya jaringan ada dalam hierarki kepercayaan. Dari perspektif pengguna, browser (atau klien pengguna) adalah dasar dari semua keamanan WebRTC, dan bertindak sebagai basis komputasi tepercaya (TCB) mereka.

Tugas browser adalah untuk memungkinkan akses ke internet, sambil memberikan perlindungan keamanan yang memadai kepada pengguna. Persyaratan keamanan WEBRTC dibangun langsung berdasarkan persyaratan ini; Browser adalah portal yang melaluinya pengguna mengakses semua aplikasi dan konten WebRTC.

Sementara HTML dan JS yang disediakan oleh server dapat menyebabkan browser melakukan berbagai tindakan, browser memisahkan skrip tersebut ke dalam kotak pasir. Kotak pasir itu mengisolasi skrip dari satu sama lain, dan dari komputer pengguna. Secara umum, skrip hanya diizinkan untuk berinteraksi dengan sumber daya dari domain yang sama – atau lebih khusus lagi, “asal” yang sama.

Browser menegakkan semua kebijakan keamanan yang diinginkan pengguna dan merupakan langkah pertama dalam verifikasi semua pihak ketiga. Semua entitas yang diautentikasi memeriksakan identitasnya oleh browser.

Jika pengguna memilih browser yang sesuai yang mereka tahu dapat dipercaya, maka semua komunikasi WebRTC dapat dianggap “aman” dan mengikuti arsitektur keamanan standar yang diterima dari teknologi WEBRTC. Namun, jika ada keraguan bahwa browser “dapat dipercaya” (e.G. telah diunduh dari pihak ketiga daripada lokasi tepercaya), maka semua interaksi berikut dengan aplikasi WEBRTC terpengaruh dan mungkin tidak aman aman.

Dengan kata lain, tingkat kepercayaan yang diberikan kepada pengguna oleh WebRTC secara langsung dipengaruhi oleh kepercayaan pengguna pada browser.

3.2. SOP: Kebijakan Asal yang sama

Ini adalah aspek mendasar dari DOM yang semua sumber halaman web diambil dari server web halaman, setiap kali beberapa atau semua halaman dimuat. Mengambil sumber daya terjadi baik ketika halaman baru dimuat oleh browser, atau ketika skrip yang berada di halaman web membuat permintaan seperti itu. Script seperti itu mudah membuat permintaan HTTP melalui E.G. API XMLHTTPREQUEST (). Sebaliknya, permintaan harus dibuat ke “asal” yang sama dari tempat skrip berasal. “Asal” terdiri dari skema URI, nama host, dan nomor port. Pembatasan keseluruhan ini disebut “Kebijakan Asal yang Sama” (SOP).

SOP memaksa skrip untuk dieksekusi dalam kotak pasir terisolasi khusus untuk domain asalnya, oleh karena itu mencegah halaman dari asal yang berbeda atau bahkan iframe pada halaman yang sama dari pertukaran informasi. Halaman web dan skrip dari server asal yang sama tetap tidak terhalang dalam berinteraksi satu sama lain’S JS Variabel. Dengan demikian, asal merupakan unit dasar dari kotak pasir web.

Melalui menegakkan eksekusi kotak pasir berdasarkan per-asal, pengguna akhir dilindungi dari penyalahgunaan kredensial mereka. Anda akan berharap untuk menggunakan situs web jejaring sosial dengan aman tanpa skrip yang dijalankan dari dalam panel iklan dan mencuri informasi login Anda.

Demikian pula, server E.G. Penyedia halaman web dilindungi dari serangan yang dipasang melalui browser pengguna; Jika perlindungan seperti itu tidak ada, serangan DOS dapat diluncurkan melalui permintaan sumber daya yang kasar.

3.2.1 melewati SOP

SOP sangat penting untuk keamanan pengguna dan server web secara umum, meskipun memang memiliki kelemahan membuat jenis aplikasi web tertentu lebih sulit untuk dibuat. Metode mengizinkan interaksi antar situs memang ada, meskipun ini biasanya saling konsensual dan terbatas pada saluran tertentu.

Spec W3C Cross-Origin Resource Sharing (CORS) adalah salah satu jawaban untuk masalah tersebut. Ini memungkinkan browser untuk menghubungi server target skrip untuk menentukan apakah bersedia berpartisipasi dalam jenis transaksi tertentu. Dengan demikian, permintaan silang-asal dapat diizinkan dengan aman, dengan memberikan server target opsi untuk secara khusus memilih untuk permintaan tertentu dan menolak semua yang lain.

WebSockets adalah opsi lain yang memungkinkan fungsionalitas serupa, tetapi pada saluran transparan daripada permintaan HTTP yang terisolasi. Setelah koneksi seperti itu telah dibuat, skrip dapat mentransfer lalu lintas dan sumber daya yang disukai, dengan kebutuhan membingkai sebagai serangkaian transaksi permintaan/respons HTTP.

Dalam kedua kasus, tahap verifikasi awal mencegah transfer data sewenang -wenang dengan skrip dengan asal yang berbeda.

4. Pertimbangan Keamanan WebRTC

4.1. Instalasi dan pembaruan

Masalah yang lazim dengan perangkat lunak desktop tradisional adalah apakah seseorang dapat mempercayai aplikasi itu sendiri. Instalasi Perangkat Lunak Baru atau Plugin berpotensi secara diam -diam menginstal malware atau perangkat lunak yang tidak diinginkan lainnya. Banyak pengguna akhir tidak tahu dari mana perangkat lunak itu dibuat atau tepatnya mereka mengunduh aplikasi. Pihak ketiga jahat telah sukses besar dalam mengemas ulang perangkat lunak yang sangat aman dan tepercaya untuk memasukkan malware, dan menawarkan paket khusus mereka di situs web perangkat lunak gratis.

Namun WebRTC bukan plugin, juga tidak ada proses instalasi untuk komponennya. Semua teknologi WEBRTC yang mendasarinya dipasang hanya sebagai bagian dari mengunduh browser yang kompatibel dengan WebRTC yang sesuai, seperti Chrome atau Firefox. Jika pengguna memiliki browser seperti itu, mereka dapat menelusuri dan menggunakan aplikasi WebRTC apa pun tanpa pengaturan atau persiapan lain yang diperlukan. Karena itu tidak ada risiko pemasangan malware atau virus melalui penggunaan aplikasi WebRTC yang sesuai. Namun, aplikasi WEBRTC masih harus diakses melalui situs web HTTPS yang ditandatangani oleh authenticator yang valid seperti Verisign.

Pertimbangan terkait lainnya adalah penambalan kelemahan keamanan yang ditemukan dalam perangkat lunak. Seperti halnya teknologi perangkat lunak apa pun, sangat mungkin bahwa bug atau kerentanan di masa depan akan ditemukan di WEBRTC. Jika kerentanan ditemukan dalam aplikasi desktop tradisional (seperti aplikasi VoIP yang khas), pengembangan tambalan mungkin membutuhkan waktu yang cukup lama. Ini adalah masalah yang sering terjadi dengan pengembangan aplikasi, karena keamanan masih sering diperlakukan sebagai pertimbangan sekunder setelah fungsionalitas. Lebih dalam dari ini, kita dapat merenungkan metode komunikasi berbasis perangkat keras. Seberapa sering telepon VoIP mendapatkan pembaruan keamanan? Dapatkah Anda mempercayai orang yang bertanggung jawab untuk memperbaruinya secara teratur? Apakah Anda bahkan tahu siapa yang bertanggung jawab?

Bertentangan dengan ini, browser adalah adegan pengembangan yang serba cepat karena frekuensi dan jangkauan risiko yang terpapar pengguna, serta sifatnya di mana-mana (dan pentingnya informasi yang diakses melalui browser). Karena komponen WebRTC ditawarkan sebagai bagian dari browser, mereka juga diperbarui setiap kali browser diperbarui. Jika kerentanan di masa depan dapat ditemukan dalam implementasi WEBRTC browser, perbaikan kemungkinan akan disampaikan dengan cepat. Ini terutama dapat dilihat benar dalam siklus pengembangan cepat Chrome dan Firefox. Faktanya, di era pembaruan otomatis, komponen WEBRTC dapat diperbarui melalui versi browser baru segera setelah tambalan tersedia di server. Sebagian besar browser modern memiliki catatan yang baik untuk memperbarui diri mereka sendiri dalam waktu 24 jam setelah penemuan kerentanan atau ancaman yang serius.

Sebagai catatan: Meskipun kami telah menyatakan bahwa WebRTC tidak memerlukan plugin untuk diinstal, ada kemungkinan bahwa kerangka kerja WebRTC pihak ketiga dapat menawarkan plugin untuk memungkinkan dukungan pada browser yang saat ini tidak didukung (seperti Safari dan IE). PERHATIAN PENGGUNA (atau browser yang didukung) direkomendasikan dalam kasus seperti itu.

4.2. Akses ke sumber daya media/lokal

Browser dapat mengakses sumber daya lokal (termasuk kamera, mic, file), yang menyebabkan masalah yang tak terhindarkan dari aplikasi web yang mengakses mikrofon dan kamera pengguna. Jika aplikasi web dapat secara bebas mendapatkan akses ke kamera atau mikrofon pengguna, aplikasi yang tidak bermoral dapat mencoba merekam atau mendistribusikan umpan video atau audio tanpa pengetahuan pengguna. Ini bisa menjadi masalah sederhana untuk situs web yang berada di tab latar belakang untuk menyalahgunakan kepercayaan pengguna (pengguna bahkan mungkin tidak menyadari situs memiliki aplikasi komunikasi seperti itu).

WebRTC memerangi ini dengan mengharuskan pengguna untuk memberikan izin eksplisit untuk kamera atau mikrofon untuk digunakan (keduanya dapat dikonfigurasi secara individual). Dimungkinkan untuk meminta pengguna satu kali atau akses permanen. Tidak mungkin bagi aplikasi WebRTC untuk mendapatkan akses secara sewenang -wenang atau mengoperasikan kedua perangkat. Selain itu, ketika mikrofon atau kamera sedang digunakan, UI klien diperlukan untuk secara tegas menunjukkan kepada pengguna bahwa mikrofon atau kamera sedang dioperasikan. Di Chrome, ini mengambil bentuk titik merah pada tab apa pun yang mengakses media pengguna.

Gambar 3. Indikator UI Chrome

Gambar 3. Indikator Chrome UI

Filosofi perlindungan keamanan ini adalah bahwa pengguna harus selalu membuat keputusan tentang apakah mereka harus mengizinkan panggilan untuk dilakukan, atau menerima panggilan. Dengan kata lain, pengguna harus mengerti: – siapa atau apa yang meminta akses ke media – ke mana media pergi – atau keduanya.

Sebagai ketentuan tambahan, spek WebRTC menentukan bahwa browser harus menghentikan kamera dan mikrofon ketika indikator UI ditutupi (e.G. dengan jendela tumpang tindih). Meskipun ini lebih merupakan perilaku yang ideal, itu tidak selalu dijamin dan pengguna harus berhati -hati. Untungnya, bagaimanapun, fungsi tambahan ini tidak mungkin menjadi perilaku yang diharapkan oleh pengguna.

Berbagi layar memperkenalkan pertimbangan keamanan lebih lanjut karena fleksibilitas ruang lingkup yang melekat. Pengguna mungkin tidak segera mengetahui sejauh mana informasi yang mereka bagikan. Misalnya, mereka mungkin percaya bahwa mereka hanya berbagi aliran jendela tertentu (e.G. Sambil memberikan presentasi kepada partai -partai terpencil), padahal kenyataannya mereka menunjukkan seluruh layar mereka kepada audiens mereka. Ini mungkin merupakan hasil dari pengguna yang gagal menetapkan pengaturan berbagi layar awal dengan benar, atau bahwa pengguna dapat melupakan sejauh mana mereka berbagi.

4.3. Keamanan Enkripsi & Komunikasi Media

Ada sejumlah cara di mana aplikasi komunikasi real-time dapat membebankan risiko keamanan. Salah satunya yang paling penting adalah intersepsi media atau data yang tidak terenkripsi selama transmisi. Ini dapat terjadi antara browser-browser atau komunikasi browser-server, dengan pihak ketiga menguping yang dapat melihat semua data terkirim. Enkripsi Namun, menjadikannya secara efektif tidak mungkin bagi penguping untuk menentukan isi aliran komunikasi. Hanya pihak dengan akses ke kunci enkripsi rahasia yang dapat memecahkan kode aliran komunikasi.

Enkripsi adalah fitur wajib WEBRTC, dan ditegakkan pada semua komponen, termasuk mekanisme pensinyalan. Akibatnya, semua aliran media yang dikirim melalui WEBRTC dienkripsi dengan aman, diberlakukan melalui protokol enkripsi standar dan terkenal. Protokol enkripsi yang digunakan tergantung pada jenis saluran; Aliran data dienkripsi menggunakan Datagram Transport Layer Security (DTLS) dan aliran media dienkripsi menggunakan Secure Real-Time Transport Protocol (SRTP).

4.3.1. DTLS: Keamanan Lapisan Transportasi Datagram

WebRTC mengenkripsi informasi (khususnya saluran data) menggunakan Datagram Transport Layer Security (DTLS). Semua data yang dikirim melalui rtcdatachannel diamankan menggunakan DTLS.

DTLS adalah protokol standar yang dibangun di semua browser yang mendukung WEBRTC, dan merupakan salah satu protokol yang digunakan secara konsisten di browser web, email, dan platform VoIP untuk mengenkripsi informasi. Sifat bawaan juga berarti bahwa tidak ada pengaturan sebelumnya yang diperlukan sebelum digunakan. Seperti halnya protokol enkripsi lainnya, ini dirancang untuk mencegah pengupas dan merusak informasi. DTL sendiri dimodelkan pada TLS yang berorientasi aliran, protokol yang menawarkan enkripsi penuh dengan metode kriptografi asimetris, otentikasi data, dan otentikasi pesan. TLS adalah standar de-facto untuk enkripsi web, digunakan untuk keperluan protokol seperti HTTPS. TLS dirancang untuk mekanisme transportasi TCP yang andal, tetapi aplikasi VoIP (dan game, dll.) biasanya menggunakan transportasi datagram yang tidak dapat diandalkan seperti UDP.

Karena DTL adalah turunan dari SSL, semua data diketahui seaman menggunakan koneksi berbasis SSL standar apa pun. Faktanya, data WEBRTC dapat diamankan melalui koneksi berbasis SSL standar apa pun di Web, yang memungkinkan WebRTC untuk menawarkan enkripsi ujung ke ujung antara rekan dengan hampir semua pengaturan server.

4.3.1.1. DTL secara bergantian

Opsi default untuk semua komunikasi WebRTC adalah komunikasi P2P langsung antara dua browser, dibantu dengan server pensinyalan selama fase pengaturan. Enkripsi P2P relatif mudah untuk dibayangkan dan diatur, tetapi dalam hal kegagalan pengaturan WEBRTC kembali berkomunikasi melalui server Turn (jika tersedia). Selama Giliran Komunikasi, media dapat mengalami kehilangan kualitas dan peningkatan latensi, tetapi memungkinkan skenario “jika semuanya gagal” untuk mengizinkan aplikasi WebRTC bekerja bahkan dalam keadaan yang menantang. Kita juga harus mempertimbangkan komunikasi terenkripsi di bawah struktur komunikasi alternatif Turn.

Diketahui bahwa terlepas dari metode komunikasi, data yang dikirim dienkripsi pada titik akhir. Tujuan Turn Server hanyalah relai data WEBRTC antara pihak dalam panggilan, dan hanya akan menguraikan lapisan UDP dari paket WebRTC untuk tujuan perutean. Server tidak akan mencatat lapisan data aplikasi untuk merutekan paket, dan oleh karena itu kita tahu bahwa mereka tidak (dan tidak dapat) menyentuh enkripsi DTLS.

Akibatnya, perlindungan yang diberlakukan melalui enkripsi karena itu tidak dikompromikan selama komunikasi WebRTC secara bergantian, dan server tidak dapat memahami atau memodifikasi informasi yang saling mengirim satu sama lain.

4.3.2. SRTP: Protokol transportasi real-time aman

RTP dasar tidak memiliki mekanisme keamanan bawaan, dan dengan demikian tidak menempatkan perlindungan kerahasiaan data yang ditransmisikan. Mekanisme eksternal malah diandalkan untuk memberikan enkripsi. Faktanya, penggunaan RTP yang tidak terenkripsi secara eksplisit dilarang oleh spesifikasi WEBRTC.

WebRTC menggunakan SRTP untuk enkripsi aliran media, bukan DTLS. Ini karena SRTP adalah pilihan yang lebih ringan dari DTLS. Spesifikasi mensyaratkan bahwa setiap dukungan implementasi WebRTC yang sesuai dengan RTP/SAVPF (yang dibangun di atas RTP/SAVP) [9] . Namun, pertukaran kunci SRTP yang sebenarnya pada awalnya dilakukan ujung ke ujung dengan DTLS-SRTP, memungkinkan untuk mendeteksi serangan MITM apa pun.

4.3.3. Pembentukan tautan yang aman

Mari kita lalui proses membangun panggilan baru pada aplikasi WebRTC. Dalam hal ini, akan ada dua pihak yang terlibat; Alice dan Bob. Prosedur panggilan dimulai ketika satu pihak (Alice) memanggil yang lain (BOB), dan proses pensinyalan menukar metadata yang relevan antara kedua belah pihak.

Setelah pemeriksaan es awal selesai (atau secara khusus, beberapa di antaranya), kedua rekannya akan mulai mengatur satu atau lebih saluran yang aman. Awalnya, jabat tangan DTLS dilakukan di semua saluran yang didirikan oleh ICE. Untuk saluran data, langkah ini saja cukup karena DTL sederhana sederhana digunakan untuk enkripsi. Namun untuk saluran media, langkah -langkah lebih lanjut diambil.

Setelah jabat tangan DTLS selesai, tombol “diekspor” dan digunakan untuk mengunci SRTP untuk saluran media. Pada tahap ini kedua belah pihak tahu bahwa mereka berbagi satu set data yang aman dan/atau saluran media dengan kunci yang tidak diketahui oleh pihak ketiga jahat.

4.3.4. DTLS-SRTP vs SDES

Untuk menegosiasikan parameter keamanan untuk sesi lalu lintas media, SRTP perlu berinteraksi dengan protokol manajemen utama. Protokol ini tidak ditetapkan, menawarkan sejumlah opsi yang mungkin untuk tugas tersebut. Dua opsi tersebut adalah SDES dan DTLS-SRTP.

Perlu dicatat bahwa pensinyalan (SIP, HTTP) & media (RTP) yang terlibat dalam komunikasi multimedia dapat diamankan secara mandiri.

Sdes

Deskripsi Keamanan SDP untuk Streaming Media (SDES) adalah opsi yang sebelumnya disukai oleh WebRTC.

Di dalam SDE, parameter keamanan dan kunci yang digunakan untuk mengatur sesi SRTP dipertukarkan dalam teks yang jelas dalam bentuk atribut SDP. Karena SDP dikomunikasikan pada bidang pensinyalan, jika enkripsi juga tidak diberlakukan pada pesan pensinyalan tersebut maka pihak ketiga yang menguping dapat memperoleh kunci untuk data yang dienkripsi SDES. Dengan kata lain, protokol enkripsi lebih lanjut harus digunakan secara khusus untuk enkripsi bidang pensinyalan. Salah satu opsi untuk ini adalah menggunakan TLS.

Mengamankan pensinyalan dan media secara mandiri, dapat menyebabkan situasi di mana pengguna media berbeda dari pengguna pensinyalan (karena tidak ada jaminan yang disediakan). Untuk memberikan jaminan ini, pengikatan kriptografi diperlukan. DTLS-SRTP adalah salah satu mekanisme yang menyediakan ini, tetapi SDES tidak.

Tetap menjadi fakta bahwa bahkan hari ini, mayoritas lalu lintas RTP di jaringan VoIP tidak diamankan. Faktanya, enkripsi adalah salah satu fitur pertama yang biasanya diminta oleh pelanggan untuk menghapus vendor untuk memenuhi anggaran mereka. Saat diamankan, sebagian besar penyebaran menggunakan SDE, yang seperti yang baru saja kami sebutkan sangat bergantung pada pensinyalan keamanan pesawat.

DTLS-SRTP

DTLS-SRTP di sisi lain menukar kunci di atas bidang media, daripada bidang pensinyalan. Konsekuensi dari perbedaan seperti itu adalah bahwa saluran media SRTP tidak perlu mengungkapkan kunci enkripsi rahasia melalui pertukaran pesan SDP, seperti halnya dengan SDES.

Spesifikasi WebRTC [9] menegaskan bahwa implementasi WEBRTC diperlukan untuk mendukung DTLS-SRTP untuk manajemen kunci. Selain itu, ini ditentukan sebagai skema default dan disukai, dan tidak ada ketentuan untuk skema manajemen kunci lainnya yang akan diimplementasikan. Dengan kata lain, skema lain mungkin atau mungkin tidak didukung sama sekali.

Jika penawaran atau “panggilan” diterima dari dukungan iklan sebaya untuk DTLS-SRTP dan SDE, DTLS-SRTP harus dipilih-terlepas dari apakah pensinyalan diamankan atau tidak.

Debat

Secara umum diterima bahwa DTLS-SRTP harus menjadi opsi wajib dan default untuk enkripsi media WEBRTC. Apa yang dipertanyakan adalah apakah mekanisme lain, yaitu SDE, harus digunakan untuk memberikan kompatibilitas ke belakang.

Dari perspektif kompatibilitas, browser Chrome Google memberikan dukungan untuk SDE dan DTLS-SRTP. Firefox Mozilla di sisi lain hanya mengimplementasikan DTLS-SRTP.

4.3.5. Kelemahan di SRTP

SRTP hanya mengenkripsi muatan paket RTP, tidak memberikan enkripsi untuk header. Namun, header berisi berbagai informasi yang mungkin diinginkan untuk dirahasiakan.

Salah satu informasi yang termasuk dalam header RTP adalah tingkat audio dari data media yang terkandung. Secara efektif, siapa pun yang dapat melihat paket SRTP dapat mengetahui apakah pengguna berbicara atau tidak pada waktu tertentu. Meskipun isi media itu sendiri tetap rahasia untuk setiap penguping, ini masih merupakan prospek yang menakutkan. Misalnya, petugas penegak hukum dapat menentukan apakah pengguna berkomunikasi dengan orang jahat yang dikenal.

4.4. Otentikasi Peer & Manajemen Identitas Berbasis Web

Diinginkan pengguna untuk dapat memverifikasi identitas rekan mereka. SAYA.e. Seorang pengguna secara alami ingin memastikan bahwa mereka berbicara dengan orang yang mereka yakini bahwa mereka berbicara, dan bukan penipu.

Meskipun server pensinyalan mungkin dapat melakukan beberapa cara untuk mengklaim identitas pengguna, server pensinyalan itu sendiri mungkin tidak (dan untuk kasus otentikasi tidak boleh) dipercaya. Kita harus dapat melakukan otentikasi rekan kita secara mandiri dari server pensinyalan. Ini dapat dimungkinkan melalui penggunaan penyedia identitas.

Gambar 4. Panggilan dengan identitas berbasis IDP

Gambar 4. Panggilan dengan identitas berbasis IDP

Sejumlah penyedia identitas berbasis web (IDP) baru-baru ini menjadi biasa di web, termasuk Facebook Connect, BrowserID (oleh Mozilla), OAuth (oleh Twitter). Tujuan dari mekanisme ini adalah hanya untuk memverifikasi identitas Anda ke layanan/pengguna lain, pada otoritas penyedia identitas itu sendiri. Jika pengguna memiliki akun di Facebook maka mereka dapat menggunakan Facebook Connect, IDP Facebook untuk membuktikan kepada orang lain bahwa mereka adalah yang mereka katakan di Facebook. Ini memungkinkan pengguna untuk mengikat otentikasi mereka pada layanan lain ke akun utama mereka di layanan “tepercaya”. Perhatikan bahwa dalam hal ini tingkat “kepercayaan” yang dimiliki penyedia identitas bersifat subyektif dengan pengguna atau layanan titik akhir, dan seringkali sebagian besar terkait dengan basis pengguna dan reputasi di seluruh dunia web di seluruh dunia.

Implementasi masing-masing IDP mungkin berbeda karena pengembangan independen oleh perusahaan yang berbeda daripada didasarkan pada standar open-source, tetapi prinsip dan fungsionalitas yang mendasari pada dasarnya tetap sama. IDP tidak memberikan otentikasi untuk server pensinyalan; Sebaliknya, mereka memberikan otentikasi untuk pengguna (dan browser mereka melalui proses). WebRTC juga tidak menempatkan persyaratan di mana layanan harus digunakan, dan yang digunakan didasarkan pada implementasi aplikasi web.

Karena aplikasi web (situs panggilan) tidak terkait dengan proses otentikasi ini, penting bahwa browser dengan aman menghasilkan input ke proses otentikasi, dan juga secara aman menampilkan output pada aplikasi web. Proses ini tidak boleh dipalsukan atau disalahartikan oleh aplikasi web.

Gambar 5. Pengoperasian penyedia identitas

Gambar 5. Pengoperasian penyedia identitas

4.5. Privasi Lokasi IP

Salah satu efek samping yang merugikan menggunakan es adalah bahwa rekan dapat mempelajari alamat IP seseorang. Karena alamat IP terdaftar di depan umum dengan otoritas global, mereka dapat mengungkapkan detail seperti lokasi rekan yang diberikan. Ini secara alami dapat memiliki implikasi negatif untuk rekan, yang ingin mereka hindari.

WebRTC tidak dirancang dengan maksud melindungi pengguna dari situs web jahat yang ingin mempelajari informasi ini. Biasanya, situs seperti itu akan mempelajari setidaknya alamat refleksif server pengguna dari transaksi HTTP apa pun. Menyembunyikan alamat IP dari server akan membutuhkan semacam mekanisme pelestarian privasi eksplisit pada klien, dan berada di luar cakupan laporan ini.

Namun WebRTC menyediakan sejumlah mekanisme yang dimaksudkan untuk memungkinkan aplikasi web untuk bekerja sama dengan pengguna untuk menyembunyikan alamat IP pengguna dari sisi lain panggilan. Mekanisme ini akan dirinci secara bergantian.

Implementasi WEBRTC diperlukan untuk menyediakan mekanisme untuk memungkinkan JS menekan negosiasi es sampai pengguna memutuskan untuk menjawab panggilan tersebut. Ketentuan ini membantu pengguna akhir dalam mencegah rekan dari mempelajari alamat IP mereka jika mereka memilih untuk tidak menjawab panggilan. Ini memiliki efek samping menyembunyikan apakah pengguna online atau tidak untuk rekan mereka.

Ketentuan kedua tersebut adalah bahwa setiap implementasi akan memberikan mekanisme untuk JavaScript aplikasi panggilan untuk menunjukkan bahwa hanya mengubah kandidat yang harus digunakan. Ini dapat mencegah rekan dari mempelajari alamat IP seseorang sama sekali.

Selain itu, ada mekanisme untuk aplikasi panggilan untuk mengkonfigurasi ulang panggilan yang ada untuk menambahkan kandidat non-putaran. Diambil bersama dengan ketentuan sebelumnya, ini memungkinkan negosiasi es untuk segera memulai dengan pemberitahuan panggilan yang masuk, sehingga mengurangi penundaan, tetapi juga menghindari mengungkapkan alamat IP pengguna sampai mereka memutuskan untuk menjawab. Ini memungkinkan pengguna untuk sepenuhnya menyembunyikan alamat IP mereka selama durasi panggilan.

4.6. Lapisan pensinyalan

Karena protokol pensinyalan tidak ditentukan oleh WEBRTC, mekanisme enkripsi jelas tergantung pada protokol pensinyalan yang dipilih. Karena sifat keamanan pensinyalan yang relatif terbuka, laporan ini akan fokus pada dan secara singkat menjelaskan protokol yang paling umum, SIP (Protokol Inisiasi Sesi).

SIP adalah standar yang diimplementasikan secara luas yang digunakan dalam komunikasi VoIP untuk mengatur dan menghancurkan panggilan telepon. Namun, ini adalah turunan dari HTTP dan SMTP – keduanya adalah protokol yang dieksploitasi secara teratur. Karena menggunakan pesan teks sederhana untuk bertukar informasi, layak bagi setiap pihak jahat untuk mengetuk jaringan dan menangkap pesan SIP. Jika penyerang dapat membaca informasi sensitif pengguna, mereka dapat menggunakan informasi ini untuk memalsukan pengguna. Dan jika penyerang selanjutnya dapat melanjutkan untuk mendapatkan akses ke jaringan operator, bahkan mungkin bagi mereka untuk menguraikan isi komunikasi WebRTC. [14]

Karena SIP dikirim dalam teks yang jelas, sepele bagi penyerang yang ditentukan untuk mencegat pesan SIP. Apa yang terjadi selanjutnya diserahkan pada imajinasi penyerang, tetapi tidak sulit membayangkan suatu kemungkinan karena isi badan pesan atau header dirusak. Jika penyerang mencegat pesan undangan, mereka dapat melanjutkan untuk mengubah dari header untuk mencerminkan alamat IPnya sendiri.

4.6.1. SIP kerentanan

SIP adalah protokol komunikasi untuk memberi pensinyalan dan mengendalikan sesi komunikasi multimedia dan sering diimplementasikan dalam teknologi VoIP untuk keperluan pengaturan dan merobohkan panggilan telepon. Demikian juga dapat digunakan dalam implementasi WebRTC untuk tujuan pensinyalan, sebagai salah satu dari sejumlah opsi yang mungkin. Namun, pesan SIP sering dikirim dalam teks biasa. Karena ini secara alami dapat menghasilkan sejumlah vektor serangan potensial, kami akan melakukan pemeriksaan lebih dekat dari daerah ini.

Sip Flow

Dalam proses pengaturan panggilan, peramban pengguna (atau “agen pengguna”) mendaftar dengan pendaftar pusat. Pendaftaran ini merupakan keharusan dalam VoIP tradisional karena diperlukan untuk menyediakan sarana untuk menemukan dan menghubungi pihak terpencil.

Ketika sebuah pesta (Bob) ingin memulai panggilan, ia mengirim pesan undangan melalui server proxy pusat (ini adalah server pensinyalan). Server bertanggung jawab untuk menyampaikan pesan tersebut, dan menyediakan sarana untuk menemukan pengguna lain. Server dapat mencoba sejumlah langkah untuk menemukan pengguna akhir selama proses pencarian ini, seperti memanfaatkan DNS.

Pembajakan pendaftaran

Pendaftaran browser awal digunakan untuk mengumumkan titik kontak pengguna, dan menunjukkan bahwa perangkat pengguna menerima panggilan. Namun, proses ini menyediakan vektor untuk entitas jahat untuk melakukan serangan “pendaftaran pembajakan”.

Pertukaran pesan pendaftaran mencakup bidang “Kontak:”, berisi alamat IP pengguna. Setiap kali server pensinyalan memproses panggilan masuk, nama pengguna (atau nomor telepon) cocok dengan alamat IP terdaftar, dan undangan diteruskan sesuai dengan itu. Pendaftaran ini diperbarui secara berkala, memastikan catatan disimpan baru -baru ini dan mutakhir.

Karena pesan SIP selalu dikirim dalam teks biasa, dapat sepele bagi penyerang untuk mencegat dan membaca isi dari pesan pendaftaran ini. Mengikuti intersepsi, alat yang sesuai (seperti generator pesan sivus) dapat digunakan untuk menghasilkan informasi SIP yang serupa, tetapi dengan alamat IP sejati pengguna yang digantikan oleh penyerang sendiri. Penyerang kemudian hanya perlu menonaktifkan pengguna nyata dan mengirim informasi ini secara berkala untuk mengalihkan semua panggilan masuk ke diri mereka sendiri.

Ada sejumlah metode yang dapat dimanfaatkan oleh penyerang untuk menonaktifkan pengguna yang sah, termasuk: – melakukan serangan DOS terhadap perangkat pengguna – menderegister pengguna (serangan lain yang tidak tercakup di sini) – menghasilkan pendingin ras pendaftaran, di mana penyerang mengirim pesanan dalam pemesanan legitime dalam waktu yang lebih singkat (seperti setiap 15 detik ke dalam pesanan ke atas dengan over -over -over -over -over -over -over. Ini semua adalah risiko asli untuk layanan pensinyalan WebRTC.

Karena implementasi SIP tidak mendukung integritas giro dari konten pesan, modifikasi dan serangan replay karenanya tidak terdeteksi dan merupakan vektor serangan yang layak. Serangan ini berfungsi bahkan jika server memerlukan otentikasi pendaftaran pengguna, seperti yang dapat dilakukan oleh penyerang sekali lagi, memodifikasi, dan memutar ulang pesan seperti yang diinginkan.

Serangan ini dapat ditekan dengan mengimplementasikan SIP (SIP over TLS) dan mengautentikasi permintaan dan tanggapan SIP (yang dapat mencakup perlindungan integritas). Faktanya, penggunaan SIP dan otentikasi tanggapan dapat menekan banyak serangan terkait termasuk menguping dan pesan atau peniruan pengguna.

Kemungkinan serangan lainnya

  • Serangan mitm
    • Jika penyerang dapat mencegat pesan SIP awal, ia dapat melakukan serangan MITM.
    • Paket yang ditangkap dapat diputar ulang ke server oleh pihak jahat, menyebabkan server memanggil tujuan asli panggilan. Dengan kata lain, ini mungkin akan mengambil bentuk permintaan panggilan kedua yang tidak diminta, identik dengan yang sudah diterima partai. Meskipun gangguan, penyerang tidak akan menjadi pesta panggilan, karena informasi IP mereka tidak akan dimasukkan dalam paket pensinyalan.
    • Server web tidak stateful, dengan setiap permintaan melayani sesi terpisah (meringankan kebutuhan untuk terus -menerus mengautentikasi). Cookie untuk otentikasi, tetapi tidak lebih dari file data yang berisi ID sesi. Cookie ini dikirim oleh server web ke browser setelah akses awal.

    Enkripsi

    Meskipun mungkin terlihat bahwa pensinyalan memberikan titik poin yang sangat menggoda untuk ditargetkan oleh penyerang, semua tidak hilang. Selain aliran media, lapisan pensinyalan juga dapat dienkripsi. Salah satu opsi terenkripsi tersebut adalah ONSIP, yang menggunakan SIP Over Secure Websockets (WSS: // alih -alih WS: //), dengan koneksi WebSocket dienkripsi oleh TLS.

    Meskipun di luar ruang lingkup laporan ini, teknologi pensinyalan lainnya dapat menggunakan TLS juga untuk mengenkripsi Websocket atau lalu lintas web lainnya. Seperti halnya semua enkripsi, jika pihak ketiga tidak tahu kunci enkripsi rahasia, mereka karenanya tidak dapat membaca konten komunikasi polos dari komunikasi. Ini membantu menghilangkan risiko banyak vektor serangan di atas, meskipun harus dicatat bahwa programmer aplikasi harus secara khusus mengimplementasikan metode pensinyalan terenkripsi agar hal ini berlaku.

    4.7. Topik Keamanan Tambahan

    Sudut pandang jaringan telekomunikasi

    Dengan memberikan dukungan kepada WEBRTC, jaringan telekomunikasi harus secara wajar berharap tidak terpapar dengan peningkatan risiko keamanan. Namun, perangkat atau perangkat lunak di tangan konsumen pasti akan dikompromikan oleh pihak jahat.

    Untuk alasan ini, semua data yang diterima dari sumber yang tidak dipercaya (e.G. Dari konsumen/pengguna) harus divalidasi, dan jaringan telekomunikasi harus berasumsi bahwa data apa pun yang dikirim ke klien akan diperoleh dengan sumber berbahaya.

    Dengan mengadopsi kedua prinsip ini, penyedia telekomunikasi harus berusaha untuk melakukan semua upaya yang wajar untuk melindungi konsumen dari kesalahan mereka sendiri yang dapat membahayakan sistem mereka sendiri.

    Scripting lintas situs (XSS)

    Scripting lintas situs adalah jenis kerentanan yang biasanya ditemukan dalam aplikasi web (seperti browser web melalui pelanggaran keamanan browser) yang memungkinkan penyerang untuk menyuntikkan skrip sisi klien ke halaman web yang dilihat oleh pengguna lain. Kerentanan scripting lintas situs dapat digunakan oleh penyerang untuk memotong kontrol akses seperti kebijakan asal yang sama.

    Efeknya dapat berkisar dari gangguan kecil hingga risiko keamanan yang signifikan, tergantung pada sensitivitas data yang ditangani oleh situs yang rentan dan sifat mitigasi keamanan apa pun yang diterapkan oleh situs tersebut’Pemilik S.

    Karena metode utama untuk mengakses WebRTC diharapkan menggunakan browser yang diaktifkan HTML5, ada pertimbangan keamanan khusus mengenai penggunaannya seperti; Melindungi kunci dan data sensitif dari scripting lintas situs atau serangan silang, penggunaan WebSocket, keamanan iframe, dan masalah lainnya. Karena perangkat lunak klien akan dikendalikan oleh pengguna dan karena browser tidak, dalam kebanyakan kasus, dijalankan di lingkungan yang dilindungi, ada peluang tambahan bahwa klien WebRTC akan dikompromikan. Ini berarti semua data yang dikirim ke klien dapat diekspos.

    5. Perbandingan dengan teknologi yang bersaing/serupa

    Pemeriksaan keamanan komparatif WebRTC akan gagal masuk akal tanpa juga mempertimbangkan keamanan kompetisi. Untungnya untuk WEBRTC, kompetisi di arena komunikasi berbasis web memiliki masalah sendiri.

    Bagian ini akan mengeksplorasi kekuatan komparatif dan kelemahan WebRTC dan platform lain yang menawarkan fungsionalitas RTC yang bersaing.

    Beberapa platform yang bisa kami jelajahi adalah sebagai berikut. Platform yang akan dieksplorasi belum dipilih. (Datang setelah draft pertama.)

    Meskipun secara luas diandalkan, proses instalasi tambahan dapat menimbulkan penghalang

    6. Praktik desain yang aman

    WebRTC dibangun agar aman. Betapapun lebih dari sekadar mengandalkan teknologi yang mendasarinya, itu adalah ide yang baik untuk secara sadar mengkode keamanan. Bagian ini akan membahas praktik pengkodean yang mungkin diikuti untuk memastikan keamanan yang lebih besar atas implementasi vanilla webrtc. Secara khusus, praktik -praktik ini dapat berlaku untuk organisasi yang berharap untuk menangani informasi sensitif, e.G. Lembaga Perbankan, Lembaga Kesehatan atau Informasi Perusahaan Rahasia.

    Pensinyalan aman

    Seperti disebutkan sebelumnya, WebRTC tidak memaksakan kendala pada proses pensinyalan, melainkan meninggalkan pengembang untuk memutuskan metode pilihan mereka sendiri. Meskipun ini memungkinkan tingkat fleksibilitas yang dapat memiliki implementasi WebRTC yang disesuaikan dengan kebutuhan aplikasi, mungkin ada risiko yang terkait dengan protokol pensinyalan tertentu.

    Disarankan untuk menerapkan protokol pensinyalan yang memberikan keamanan tambahan, seperti enkripsi lalu lintas pensinyalan. Secara default, proses pensinyalan mungkin tidak memasukkan enkripsi apa pun, yang dapat meninggalkan konten semua pesan pensinyalan yang dipertukarkan terbuka untuk menguping. Aplikasi dengan fokus pada keamanan/kerahasiaan karena itu harus memastikan bahwa lapisan pensinyalan mereka diimplementasikan pada protokol yang aman seperti SIP, Opensip, HTTPS atau WSS.

    Otentikasi dan pemantauan rekan

    Aplikasi WEBRTC dasar hanya membutuhkan ID pengguna untuk melakukan panggilan, tanpa otentikasi dilakukan dari sudut pandang layanan itu sendiri. Mungkin diinginkan untuk meminta pra-pendaftaran atau otentikasi sebelum pengguna dapat berpartisipasi dalam panggilan. Entitas yang tidak ditekankan kemudian harus dijauhkan dari sesi’S AFACT, membatasi aksesibilitas ke pesta yang tidak dipercaya.

    Karena koneksi media adalah P2P, konten media (saluran audio dan video) ditransmisikan di antara rekan -rekan langsung dalam dupleks penuh. Jadi karena server pensinyalan mempertahankan jumlah rekan dalam komunikasi, itu dapat secara konsisten dipantau untuk penambahan rekan yang mencurigakan dalam sesi panggilan. Jika jumlah rekan yang benar -benar ada di server pensinyalan lebih dari jumlah rekan yang berinteraksi di halaman WebRTC, maka itu bisa berarti bahwa seseorang menguping secara diam -diam dan harus diakhiri dari akses sesi dengan paksa.

    Permintaan izin

    Ini adalah perilaku yang dicatat bahwa seringkali pengguna akan setuju dengan permintaan izin atau dialog serupa tanpa secara sadar membaca pesan. Ini menimbulkan risiko pemberian aplikasi web dengan izin yang sebenarnya tidak dimaksudkan oleh pengguna.

    Meskipun perilaku ini sendiri tidak dapat dengan mudah ditangani, satu solusi bisa dengan jelas merinci pada halaman apa izin yang akan diminta aplikasi. Aplikasi semacam itu menempatkan privasi pengguna di garis depan.

    Man-in-the-Middle

    Pada akhirnya bahwa pesta jahat berhasil menyiapkan serangan MITM, biasanya tidak ada solusi mudah untuk menemukan atau melawannya. Ini karena serangan itu tidak memiliki peringatan, dan komunikasi diizinkan untuk melanjutkan seperti biasa. Jika seseorang tidak mengharapkan serangan seperti itu, serangan itu kemungkinan akan terus tidak diketahui.

    Namun, dengan memantau jalur media secara teratur tanpa relay yang mencurigakan, kami dapat mengambil satu langkah kecil menuju mitigasi terhadap serangan MITM. Ini harus digabungkan dengan pensinyalan terenkripsi, seperti yang disebutkan di atas.

    Berbagi layar

    Aplikasi yang menawarkan tingkat fungsi berbagi layar harus memiliki peringatan untuk melindungi pengguna. Seperti dibahas sebelumnya, pengguna mungkin tidak menyadari tingkat layar yang dibagikan. Masalah seperti itu harus kembali ke aplikasi yang dirancang dengan benar untuk memberikan informasi yang tepat.

    Misalnya, sebelum memulai streaming bagian layar mana pun, pengguna harus diberitahu dengan benar dan disarankan untuk menutup layar apa pun yang berisi informasi sensitif.

    Fallback

    Sebagai tindakan fallback terakhir, kami dapat menjelajah sejauh membayangkan situasi di mana sesi panggilan aktif dikompromikan oleh partai yang tidak sah. Jika panggilan dikonfirmasi untuk dikompromikan sedemikian rupa, itu harus berada dalam kekuatan server aplikasi web yang membuat halaman mampu WebRTC untuk memotong panggilan.

    7. Kesimpulan

    Di zaman modern smartphone dan perangkat seluler orang berkomunikasi lebih dari sebelumnya, dan dengan cara yang lebih pribadi daripada yang kita ketahui sebelumnya. Enkripsi khususnya telah menjadi topik besar dalam beberapa tahun terakhir, mengikuti kesadaran yang semakin besar akan skandal peretasan perusahaan besar dan telekomunikasi pemerintah yang meluas. Hasilnya telah menjadi peningkatan cepat dalam ketidakpercayaan pengguna terhadap organisasi tersebut, dan menyerukan senjata dalam menerapkan langkah -langkah keamanan yang sangat ditingkatkan. Semua keinginan pengguna akhir adalah mengetahui bahwa data pribadi mereka tetap pribadi di bawah kendali.

    WebRTC memiliki keunggulan besar dibandingkan sebagian besar layanan VoIP di area keamanan. Sampai sekarang, sebagian besar layanan biasanya memperlakukan keamanan sebagai opsional, yang berarti sebagian besar pengguna akhir menggunakan panggilan VoIP tanpa enkripsi. Perusahaan besar khususnya adalah penyebab utama untuk ini, memilih untuk menghemat uang pada implementasi yang lebih murah daripada mempertimbangkan dengan benar pengguna mereka atau nilai data yang mereka tangani. Tetapi karena WebRTC melarang komunikasi yang tidak terenkripsi, pengguna dapat yakin bahwa data mereka tetap aman dan pribadi.

    Setelah dirancang dengan mempertimbangkan keamanan, WEBRTC menegakkan atau mendorong konsep keamanan penting di semua bidang utama. Dengan demikian, dan juga hanya dibangun aman, itu mendorong pengembang WEBRTC untuk juga menanggapi keamanan mereka.

    Sebagai hasil dari fokus kuat pada komunikasi yang aman ini, WEBRTC saat ini dianggap oleh beberapa orang sebagai salah satu solusi VoIP paling aman di luar sana. Premis utama memiliki enkripsi secara default adalah bahwa panggilan bersifat pribadi setiap saat. Keamanan dan enkripsi tidak lagi dianggap sebagai fitur opsional. Dan untuk menyelesaikan semuanya, WebRTC tersedia gratis untuk semua orang, memberikan kerangka kerja yang menggoda dan andal bagi pengembang untuk membangun aplikasi mereka berikutnya.

    Dalam waktu dekat kita dapat berharap untuk melihat semakin banyak layanan komunikasi yang memberikan keamanan yang sangat meningkat kepada pengguna mereka. Tetapi untuk saat ini, WEBRTC adalah salah satu dari mereka yang memimpin tuduhan.

    8. Bibliografi

    2. Pengantar singkat untuk RTCPeerConnection API .
    Jaringan Browser Kinerja Tinggi. Diakses pada 2015-07-28.

    3. SDP untuk WebRTC .
    peralatan.IETF.org. Diakses pada 2015-07-28.

    8. Serangan Minggu Ini: Datagram TLS .
    blog.CryptographyEngineering.com. Diakses pada 2015-07-28.

    12. IETF-87 RTCWEB Agenda .
    peralatan.IETF.org. Diakses pada 2015-07-28.

    15. Keamanan dalam jaringan SIP: Mengidentifikasi serangan jaringan .
    Concomunications.target target.com. Diakses pada 2015-07-28.

    17. Keamanan untuk Aplikasi WebRTC .
    Altanaitelecom.WordPress.com. Diakses pada 2015-07-28.

    18. Keamanan WEBRTC .
    Altanaitelecom.WordPress.com. Diakses pada 2015-07-28.

    SRTP Menggunakan Protokol DTLS

    Untuk panggilan SBC, Anda dapat mengonfigurasi perangkat untuk menggunakan protokol Datagram Transport Layer Security (DTLS) untuk mengamankan lalu lintas berbasis UDP (menurut RFC 4347 dan 6347) untuk entitas SIP tertentu, menggunakan profil IP. DTLS memungkinkan aplikasi berbasis datagram berkomunikasi dengan cara yang dirancang untuk mencegah penyadapan, merusak atau merusak pesan. Protokol DTLS didasarkan pada protokol TLS yang berorientasi aliran, memberikan keamanan yang serupa. Oleh karena itu perangkat dapat melakukan interwork di lingkungan campuran di mana satu jaringan mungkin memerlukan DTL dan yang lainnya mungkin memerlukan deskripsi protokol deskripsi sesi deskripsi keamanan (SDE) atau bahkan RTP yang tidak aman. Perangkat ini mendukung negosiasi DTLS untuk panggilan RTP-to-SRTP dan SRTP-to-SRTP.

    Dukungan DTLS penting untuk penyebaran dengan WebRTC. WebRTC mensyaratkan bahwa saluran media dienkripsi melalui DTL untuk pertukaran kunci SRTP. Negosiasi tombol SRTP melalui DTLS dilakukan selama jabat tangan DTLS antara klien WebRTC dan PEER. Untuk informasi lebih lanjut tentang WEBRTC, lihat WebRTC.

    Berbeda dengan SDE, enkripsi kunci DTLS dilakukan melalui saluran media (UDP) dan tidak di atas saluran pensinyalan. Dengan demikian, DTLS-SRTP umumnya dikenal sebagai “pertukaran kunci yang diamankan atas media”. DTLS mirip dengan TLS, tetapi berjalan di atas UDP, sedangkan TLS lebih dari TCP. Sebelum jabat tangan DTLS, Peers menukar parameter DTLS (sidik jari dan pengaturan) dan jenis algoritma dalam badan SDP dari pesan SIP yang dipertukarkan untuk membuat panggilan (Undang Permintaan dan Respons). Rekan -rekan berpartisipasi dalam jabat tangan DTLS di mana mereka bertukar sertifikat. Sertifikat ini digunakan untuk mendapatkan kunci simetris, yang digunakan untuk enkripsi data (SRTP) aliran antara rekan -rekan. Nilai hash yang dihitung di atas sertifikat diangkut dalam SDP menggunakan atribut ‘a = sidik jari’. Di ujung jabat tangan, masing -masing sisi memverifikasi bahwa sertifikat yang diterima dari sisi lain cocok dengan sidik jari dari SDP. Untuk menunjukkan dukungan DTLS, penawaran/jawaban SDP dari pesan SIP menggunakan atribut ‘A = Setup’. Nilai atribut ‘a = setup: actpass’ digunakan dalam penawaran SDP oleh perangkat. Ini menunjukkan bahwa perangkat bersedia menjadi klien (‘act’) atau server (‘pass’) di jabat tangan. Nilai atribut ‘a = setup: aktif’ digunakan dalam jawaban SDP oleh perangkat. Ini berarti bahwa perangkat ingin menjadi klien (‘aktif’) di jabat tangan.

    A = Pengaturan: ActPass
    A = Sidik Jari: SHA-1 \ 4A: AD: B9: B1: 3F: 82: 18: 3B: 54: 02: 12: DF: 3E: 5D: 49: 6B: 19: E5: 7C: AB

    Dtls cipher suite menggunakan kembali tls cipher suite. Jabat tangan DTLS dilakukan untuk setiap panggilan baru yang dikonfigurasi untuk DTLS. Dengan kata lain, tidak seperti TLS di mana koneksi tetap “terbuka” untuk panggilan di masa depan, koneksi DTLS baru diperlukan untuk setiap panggilan baru. Perhatikan bahwa seluruh otentikasi dan pertukaran utama untuk mengamankan lalu lintas media ditangani di jalur media melalui DTLS. Jalur pensinyalan hanya digunakan untuk memverifikasi sidik jari sertifikat rekan. Pesan DTLS multiplexed ke port yang sama yang digunakan untuk media.

    ➢ Untuk mengonfigurasi DTL:
    1. Dalam Tabel Konteks TLS (lihat Mengkonfigurasi Konteks Sertifikat TLS), Konfigurasikan konteks TLS dengan versi DTLS [TLSContextS_DTLSVersion].
    2. Buka tabel Grup IP (lihat Mengkonfigurasi Grup IP), dan kemudian untuk grup IP yang terkait dengan entitas SIP, tetapkan konteks TLS untuk DTLS, menggunakan parameter ‘Konteks TLS media’ [IPGroup_DTLSContext].
    3. Buka Tabel Profil IP (lihat Mengkonfigurasi Profil IP), dan kemudian untuk profil IP yang terkait dengan entitas SIP, konfigurasikan yang berikut:
    ● Konfigurasikan parameter ‘SBC Media Security Mode’ [ipprofile_sbcmediasecuritybehavior] untuk diamankan atau keduanya .
    ● Konfigurasikan parameter ‘Metode Keamanan Media’ [ipprofile_sbcmediasecuritymethod] ke DTLS .
    ● Konfigurasikan parameter ‘rtcp mux’ [ipprofile_sbcrtcpmux] untuk didukung . Diperlukan multiplexing karena jabat tangan DTLS dilakukan untuk port yang digunakan untuk RTP dan dengan demikian, RTCP dan RTP harus multiplexed ke port yang sama.
    ● Konfigurasikan Parameter File INI [SBCDTLSMTU] (atau perintah CLI Configure VoIP> SBC Settings> SBC-DTLS-MTU) untuk menentukan ukuran unit transmisi maksimum (MTU) untuk jabat tangan DTLS.
    4. Konfigurasikan interval minimum bahwa perangkat menunggu antara transmisi paket DTLS dalam jabat tangan DTLS yang sama, menggunakan parameter file INI [DTLSTIMEBETWETWETRANSMISSIons].
    ● Parameter ‘Cipher Server’ harus dikonfigurasi ke “semua”.
    ● Perangkat tidak mendukung penerusan DTLS secara transparan antara titik akhir.
Apakah WebRTC membutuhkan server? Apakah WebRTC menggunakan HTTP?

Related Posts

Berita

Apakah vinil terdengar bagus di Sonos

Berita

Apakah Epson 4700 cetak kartu stok

Berita

Apakah headphone kerusakan volume tinggi

banner
banner

PROMO

racavedigger.com
© racavedigger.com 2026