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

Χρησιμοποιεί το WebRTC DTLS?

Νίσα

Το WebRTC πρέπει να εφαρμόσει DTLS-SRTP αλλά … δεν πρέπει να εφαρμόσει SDE

Η δεύτερη τέτοια διάταξη είναι ότι οποιαδήποτε εφαρμογή θα παράσχει έναν μηχανισμό για το JavaScript της εφαρμογής που θα υποδείξει ότι πρόκειται να χρησιμοποιηθούν μόνο οι υποψήφιοι. Αυτό μπορεί να εμποδίσει έναν ομότιμο να μαθαίνει καθόλου τη διεύθυνση IP κάποιου.

Από πού προέρχονται το DTLS Domain Args στο WebRTC?

Για τους συνομηλίκους WebRTC, ποιος τομέας χρησιμοποιείται DTLs για διαπραγμάτευση? Είμαι μπερδεμένος. Φαίνεται ότι δεν υπάρχει σχετικός ορισμός χαρακτηριστικών στο SDP. Είναι ο τομέας όπου βρίσκεται η ιστοσελίδα?

ρώτησε 12 Ιουλίου 2021 στις 14:36

25 3 3 χάλκινα κονκάρδες

1 Απάντηση 1

Το WebRTC δεν χρησιμοποιεί μια αρχή πιστοποιητικών. Δεν εμπλέκονται τομείς. Με το WebRTC η αυθεντικότητα που παίρνετε από το PKI απλώς αντικαθίσταται με δακτυλικά αποτυπώματα πιστοποιητικών.

Κάθε πλευρά δημιουργεί πιστοποιητικό και στη συνέχεια μοιράζεται το δακτυλικό αποτύπωμα στην περιγραφή της περιόδου σύνδεσης (προσφορά/απάντηση). Αφού ολοκληρωθεί η χειραψία DTLS, βεβαιώνεται ότι το πιστοποιητικό που ανταλλάσσεται ήταν το ίδιο.

Πώς λειτουργεί πραγματικά το DTLS εξηγείται στο WebRTC για το περίεργο#εξασφαλίζοντας λίγο περισσότερο.

Απαντήθηκε στις 12 Ιουλίου, 2021 στις 15:25

Sean Dubois Sean Dubois

3,867 1 1 χρυσό σήμα 11 11 ασημένια κονκάρδες 22 22 χάλκινα κονκάρδες

Αλλά, το OpenSSL SSLConnector χρειάζεται έναν τομέα. Σε αυτή την περίπτωση, ποια τιμή πρέπει να μεταβιβαστεί για αυτήν την παράμετρο?

Το WebRTC πρέπει να εφαρμόσει DTLS-SRTP αλλά … δεν πρέπει να εφαρμόσει SDE?

Όπως περίμενα στην ανάρτησή μου στην τυποποίηση WebRTC, η συνάντηση IETF 87 η 87 πραγματοποιήθηκε την περασμένη εβδομάδα στο Βερολίνο της Γερμανίας. Ένα από τα αντικείμενα της ημερήσιας διάταξης για το WebRTC ήταν αν οι SDE πρέπει να είναι μέρος (και πώς) του WebRTC.

Σύμφωνα με τα σχέδια IETF, κάθε υλοποίηση συμβατή με WebRTC πρέπει να υποστηρίζει το προφίλ RTP/SAVPF το οποίο βασίζεται στην κορυφή του ασφαλούς προφίλ RTP RTP/SAVP. Αυτό σημαίνει ότι τα κανάλια των μέσων ενημέρωσης (Ε.σολ. Audio, Video) πρέπει να εξασφαλίζεται μέσω Secure RTP (SRTP), το οποίο παρέχει κρυπτογράφηση μέσων μεταξύ άλλων χαρακτηριστικών ασφαλείας. Στην πραγματικότητα, η χρήση του απλού (μη κρυπτογραφημένου) RTP απαγορεύεται ρητά από τις προδιαγραφές WebRTC.

Εναλλακτικές λύσεις διαχείρισης κλειδιού WebRTC

Το SRTP πρέπει να αλληλεπιδράσει με πρωτόκολλα διαχείρισης βασικών.σολ. Mikey, ZRTP, SDES, DTLS-SRTP) προκειμένου να διαπραγματευτούν τις παραμέτρους ασφαλείας για την κυκλοφορία των μέσων ενημέρωσης. Το’αξίζει να σημειωθεί ότι η σηματοδότηση (e.σολ. SIP, http) και μέσα (e.σολ. RTP) που εμπλέκεται σε επικοινωνία πολυμέσων μπορεί να εξασφαλιστεί ανεξάρτητα. Για παράδειγμα, οι περιγραφές ασφαλείας SDP για ροές μέσων (SDEs) και ανταλλαγή κλειδιών πολυμέσων (Mikey) χρησιμοποιούν το επίπεδο σηματοδότησης για να μεταφέρουν τις παραμέτρους ασφαλείας της περιόδου σύνδεσης μέσω SDP. Αυτό σημαίνει ότι η σηματοδότηση πρέπει να προστατεύεται με τη σειρά του. Ωστόσο, η εξασφάλιση της σηματοδότησης και των μέσων μπορεί να είναι ανεπαρκής σε ορισμένες περιπτώσεις, καθώς δεν παρέχει εγγύηση ότι ο χρήστης σηματοδότησης είναι ο ίδιος με τον χρήστη των μέσων ενημέρωσης. Ως εκ τούτου, είναι επιθυμητή μια κρυπτογραφική δέσμευση μεταξύ των δύο επιπέδων-ZRTP και DTLS-SRTP.

Πολλή λογοτεχνία μπορεί να βρεθεί στο θέμα, αλλά με λίγα λόγια:

  • SDES – Οι παράμετροι ασφαλείας και τα κλειδιά για τη δημιουργία συνεδριών SRTP ανταλλάσσονται σε σαφή κείμενο με τη μορφή χαρακτηριστικών SDP, επομένως βασίζονταν στο επίπεδο σηματοδότησης για να εξασφαλίσουν το μήνυμα SDP, χρησιμοποιώντας για παράδειγμα TLS.
  • Ο Mikey – εκτελεί την ανταλλαγή κλειδιών και διαπραγματεύεται κρυπτογραφικές παραμέτρους για λογαριασμό εφαρμογών πολυμέσων. Τα μηνύματά του μεταφέρονται στο ωφέλιμο φορτίο SDP και κωδικοποιούνται στο Base64.
  • ZRTP-Ένα κοινό μυστικό και άλλες παράμετροι ασφαλείας ανταλλάσσονται βασισμένες στο Diffie-Hellman. Ο αμοιβαίος έλεγχος ταυτότητας μπορεί να χρησιμοποιήσει μια σύντομη συμβολοσειρά ελέγχου ταυτότητας (SAS), οπότε δεν το κάνει’t απαιτούν υποστήριξη από ένα PKI. Η ανταλλαγή ZRTP λαμβάνει χώρα πάνω από τους ίδιους αριθμούς θύρας που χρησιμοποιείται από τη συνεδρία πολυμέσων για την κυκλοφορία RTP (σε αντίθεση με τη διαδρομή σηματοδότησης).
  • Το DTLS-SRTP-επιτρέπει την ανταλλαγή των κρυπτογραφικών παραμέτρων και την παραγωγή κλειδιού υλικού. Η ανταλλαγή κλειδιών λαμβάνει χώρα στο αεροπλάνο των μέσων ενημέρωσης και είναι πολυπλέκονται στις ίδιες θύρες με τα ίδια τα μέσα ενημέρωσης. Θα επεξεργαστούμε αυτό σε μια μελλοντική θέση, αλλά, εν συντομία, μόλις ολοκληρωθούν ορισμένοι από τους ελέγχους πάγου, το DTLS-SRTP επιτρέπει στο κανάλι Media SRTP να καθιερωθεί χωρίς να χρειάζεται να αποκαλύπτεται κλειδιά στην ανταλλαγή μηνυμάτων SDP όπως γίνεται με SDE.

Σύμφωνα με το Draft-IETF-RTCWEB-RTP-USAGE-07 (τρέχον σχέδιο, Ιούλιος 2013), WebRTC:

Οι υλοποιήσεις πρέπει να υποστηρίζουν το DTLS-SRTP για τη διαχείριση των κλειδιών. Μπορούν να υποστηριχθούν άλλα βασικά συστήματα διαχείρισης

Το DTLS-SRTP είναι ο προεπιλεγμένος και προτιμώμενος μηχανισμός που σημαίνει ότι αν λάβει μια προσφορά που υποστηρίζει τόσο DTLS-SRTP όσο και SDE, πρέπει να επιλεγεί DTLS-SRTP-ανεξάρτητα από το αν η σηματοδότηση είναι ασφαλής ή όχι. Από αυτό που εγώ’βλέποντας στον τομέα περισσότερο (μπορώ’t λένε όλα) Οι δοκιμές WebRTC εκτελούν σηματοδότηση μέσω TLS, συνήθως μέσω ασφαλούς HTTP (HTTPS) ή Secure Websockets (WSS).

Η συζήτηση

Γενικά, υπάρχουν λίγες αμφιβολίες ότι το DTLS-SRTP θα πρέπει να είναι ο υποχρεωτικός μηχανισμός ασφαλείας (MTI) για τα μέσα ενημέρωσης σε πραγματικό χρόνο WebRTC (καλά, ορισμένοι υποστηρίζουν ότι η ZRTP θα μπορούσε ενδεχομένως να παράσχει μια απλούστερη προσέγγιση ή ακόμα καλύτερη προστασία σε ορισμένα σενάρια). Η συζήτηση στο Βερολίνο ήταν εάν το IETF, πέρα ​​από την επιβολή υποστήριξης για το DTLS-SRTP, θα μπορούσε να παράσχει συστάσεις σχετικά με τον τρόπο επαναχρησιμοποίησης κάποιων άλλων υφιστάμενων μηχανισμών που έχουμε σήμερα, προκειμένου να παρέχουμε συμβατότητα προς τα πίσω. δηλαδή να επαναχρησιμοποιηθούν τα SDE σε σενάρια WebRTC-to-SIP. Ναι αυτο’Είναι αλήθεια ότι η πλειοψηφία της κυκλοφορίας RTP στα δίκτυα VoIP δεν είναι ασφαλής σήμερα – στην πραγματικότητα, αυτό είναι ένα από τα πρώτα χαρακτηριστικά που οι πελάτες συνήθως ζητούν από τους προμηθευτές να αφαιρέσουν για να καλύψουν τους προϋπολογισμούς τους. Ωστόσο, όταν εξασφαλίζεται, οι περισσότερες από τις αναπτύξεις i’Το VE -TEAS χρησιμοποιεί SDEs (το οποίο όπως αναφέρθηκε έχει ισχυρή εξάρτηση από την ασφάλεια του αεροπλάνου σηματοδότησης).

Όταν πρόκειται για υλοποιήσεις WebRTC, Google’μικρό

Το WebRTC πρέπει να εφαρμόσει DTLS-SRTP αλλά … δεν πρέπει να εφαρμόσει SDE

Η δεύτερη τέτοια διάταξη είναι ότι οποιαδήποτε εφαρμογή θα παράσχει έναν μηχανισμό για το JavaScript της εφαρμογής που θα υποδείξει ότι πρόκειται να χρησιμοποιηθούν μόνο οι υποψήφιοι. Αυτό μπορεί να εμποδίσει έναν ομότιμο να μαθαίνει καθόλου τη διεύθυνση IP κάποιου.

Από πού προέρχονται το DTLS Domain Args στο WebRTC?

Για τους συνομηλίκους WebRTC, ποιος τομέας χρησιμοποιείται DTLs για διαπραγμάτευση? Είμαι μπερδεμένος. Φαίνεται ότι δεν υπάρχει σχετικός ορισμός χαρακτηριστικών στο SDP. Είναι ο τομέας όπου βρίσκεται η ιστοσελίδα?

ρώτησε 12 Ιουλίου 2021 στις 14:36

25 3 3 χάλκινα κονκάρδες

1 Απάντηση 1

Το WebRTC δεν χρησιμοποιεί μια αρχή πιστοποιητικών. Δεν εμπλέκονται τομείς. Με το WebRTC η αυθεντικότητα που παίρνετε από το PKI απλώς αντικαθίσταται με δακτυλικά αποτυπώματα πιστοποιητικών.

Κάθε πλευρά δημιουργεί πιστοποιητικό και στη συνέχεια μοιράζεται το δακτυλικό αποτύπωμα στην περιγραφή της περιόδου σύνδεσης (προσφορά/απάντηση). Αφού ολοκληρωθεί η χειραψία DTLS, βεβαιώνεται ότι το πιστοποιητικό που ανταλλάσσεται ήταν το ίδιο.

Πώς λειτουργεί πραγματικά το DTLS εξηγείται στο WebRTC για το περίεργο#εξασφαλίζοντας λίγο περισσότερο.

Απαντήθηκε στις 12 Ιουλίου, 2021 στις 15:25

Sean Dubois Sean Dubois

3,867 1 1 χρυσό σήμα 11 11 ασημένια κονκάρδες 22 22 χάλκινα κονκάρδες

Αλλά, το OpenSSL SSLConnector χρειάζεται έναν τομέα. Σε αυτή την περίπτωση, ποια τιμή πρέπει να μεταβιβαστεί για αυτήν την παράμετρο?

Το WebRTC πρέπει να εφαρμόσει DTLS-SRTP αλλά … δεν πρέπει να εφαρμόσει SDE?

Όπως περίμενα στην ανάρτησή μου στην τυποποίηση WebRTC, η συνάντηση IETF 87 η 87 πραγματοποιήθηκε την περασμένη εβδομάδα στο Βερολίνο της Γερμανίας. Ένα από τα αντικείμενα της ημερήσιας διάταξης για το WebRTC ήταν αν οι SDE πρέπει να είναι μέρος (και πώς) του WebRTC.

Σύμφωνα με τα σχέδια IETF, κάθε υλοποίηση συμβατή με WebRTC πρέπει να υποστηρίζει το προφίλ RTP/SAVPF το οποίο βασίζεται στην κορυφή του ασφαλούς προφίλ RTP RTP/SAVP. Αυτό σημαίνει ότι τα κανάλια των μέσων ενημέρωσης (Ε.σολ. Audio, Video) πρέπει να εξασφαλίζεται μέσω Secure RTP (SRTP), το οποίο παρέχει κρυπτογράφηση μέσων μεταξύ άλλων χαρακτηριστικών ασφαλείας. Στην πραγματικότητα, η χρήση του απλού (μη κρυπτογραφημένου) RTP απαγορεύεται ρητά από τις προδιαγραφές WebRTC.

Εναλλακτικές λύσεις διαχείρισης κλειδιού WebRTC

Το SRTP πρέπει να αλληλεπιδράσει με πρωτόκολλα διαχείρισης βασικών.σολ. Mikey, ZRTP, SDES, DTLS-SRTP) προκειμένου να διαπραγματευτούν τις παραμέτρους ασφαλείας για την κυκλοφορία των μέσων ενημέρωσης. Το’αξίζει να σημειωθεί ότι η σηματοδότηση (e.σολ. SIP, http) και μέσα (e.σολ. RTP) που εμπλέκεται σε επικοινωνία πολυμέσων μπορεί να εξασφαλιστεί ανεξάρτητα. Για παράδειγμα, οι περιγραφές ασφαλείας SDP για ροές μέσων (SDEs) και ανταλλαγή κλειδιών πολυμέσων (Mikey) χρησιμοποιούν το επίπεδο σηματοδότησης για να μεταφέρουν τις παραμέτρους ασφαλείας της περιόδου σύνδεσης μέσω SDP. Αυτό σημαίνει ότι η σηματοδότηση πρέπει να προστατεύεται με τη σειρά του. Ωστόσο, η εξασφάλιση της σηματοδότησης και των μέσων μπορεί να είναι ανεπαρκής σε ορισμένες περιπτώσεις, καθώς δεν παρέχει εγγύηση ότι ο χρήστης σηματοδότησης είναι ο ίδιος με τον χρήστη των μέσων ενημέρωσης. Ως εκ τούτου, είναι επιθυμητή μια κρυπτογραφική δέσμευση μεταξύ των δύο επιπέδων-ZRTP και DTLS-SRTP.

Πολλή λογοτεχνία μπορεί να βρεθεί στο θέμα, αλλά με λίγα λόγια:

  • SDES – Οι παράμετροι ασφαλείας και τα κλειδιά για τη δημιουργία συνεδριών SRTP ανταλλάσσονται σε σαφή κείμενο με τη μορφή χαρακτηριστικών SDP, επομένως βασίζονταν στο επίπεδο σηματοδότησης για να εξασφαλίσουν το μήνυμα SDP, χρησιμοποιώντας για παράδειγμα TLS.
  • Ο Mikey – εκτελεί την ανταλλαγή κλειδιών και διαπραγματεύεται κρυπτογραφικές παραμέτρους για λογαριασμό εφαρμογών πολυμέσων. Τα μηνύματά του μεταφέρονται στο ωφέλιμο φορτίο SDP και κωδικοποιούνται στο Base64.
  • ZRTP-Ένα κοινό μυστικό και άλλες παράμετροι ασφαλείας ανταλλάσσονται βασισμένες στο Diffie-Hellman. Ο αμοιβαίος έλεγχος ταυτότητας μπορεί να χρησιμοποιήσει μια σύντομη συμβολοσειρά ελέγχου ταυτότητας (SAS), οπότε δεν το κάνει’t απαιτούν υποστήριξη από ένα PKI. Η ανταλλαγή ZRTP λαμβάνει χώρα πάνω από τους ίδιους αριθμούς θύρας που χρησιμοποιείται από τη συνεδρία πολυμέσων για την κυκλοφορία RTP (σε αντίθεση με τη διαδρομή σηματοδότησης).
  • Το DTLS-SRTP-επιτρέπει την ανταλλαγή των κρυπτογραφικών παραμέτρων και την παραγωγή κλειδιού υλικού. Η ανταλλαγή κλειδιών λαμβάνει χώρα στο αεροπλάνο των μέσων ενημέρωσης και είναι πολυπλέκονται στις ίδιες θύρες με τα ίδια τα μέσα ενημέρωσης. Θα επεξεργαστούμε αυτό σε μια μελλοντική θέση, αλλά, εν συντομία, μόλις ολοκληρωθούν ορισμένοι από τους ελέγχους πάγου, το DTLS-SRTP επιτρέπει στο κανάλι Media SRTP να καθιερωθεί χωρίς να χρειάζεται να αποκαλύπτεται κλειδιά στην ανταλλαγή μηνυμάτων SDP όπως γίνεται με SDE.

Σύμφωνα με το Draft-IETF-RTCWEB-RTP-USAGE-07 (τρέχον σχέδιο, Ιούλιος 2013), WebRTC:

Οι υλοποιήσεις πρέπει να υποστηρίζουν το DTLS-SRTP για τη διαχείριση των κλειδιών. Μπορούν να υποστηριχθούν άλλα βασικά συστήματα διαχείρισης

Το DTLS-SRTP είναι ο προεπιλεγμένος και προτιμώμενος μηχανισμός που σημαίνει ότι αν λάβει μια προσφορά που υποστηρίζει τόσο DTLS-SRTP όσο και SDE, πρέπει να επιλεγεί DTLS-SRTP-ανεξάρτητα από το αν η σηματοδότηση είναι ασφαλής ή όχι. Από αυτό που εγώ’βλέποντας στον τομέα περισσότερο (μπορώ’t λένε όλα) Οι δοκιμές WebRTC εκτελούν σηματοδότηση μέσω TLS, συνήθως μέσω ασφαλούς HTTP (HTTPS) ή Secure Websockets (WSS).

Η συζήτηση

Γενικά, υπάρχουν λίγες αμφιβολίες ότι το DTLS-SRTP θα πρέπει να είναι ο υποχρεωτικός μηχανισμός ασφαλείας (MTI) για τα μέσα ενημέρωσης σε πραγματικό χρόνο WebRTC (καλά, ορισμένοι υποστηρίζουν ότι η ZRTP θα μπορούσε ενδεχομένως να παράσχει μια απλούστερη προσέγγιση ή ακόμα καλύτερη προστασία σε ορισμένα σενάρια). Η συζήτηση στο Βερολίνο ήταν εάν το IETF, πέρα ​​από την επιβολή υποστήριξης για το DTLS-SRTP, θα μπορούσε να παράσχει συστάσεις σχετικά με τον τρόπο επαναχρησιμοποίησης κάποιων άλλων υφιστάμενων μηχανισμών που έχουμε σήμερα, προκειμένου να παρέχουμε συμβατότητα προς τα πίσω. δηλαδή να επαναχρησιμοποιηθούν τα SDE σε σενάρια WebRTC-to-SIP. Ναι αυτο’Είναι αλήθεια ότι η πλειοψηφία της κυκλοφορίας RTP στα δίκτυα VoIP δεν είναι ασφαλής σήμερα – στην πραγματικότητα, αυτό είναι ένα από τα πρώτα χαρακτηριστικά που οι πελάτες συνήθως ζητούν από τους προμηθευτές να αφαιρέσουν για να καλύψουν τους προϋπολογισμούς τους. Ωστόσο, όταν εξασφαλίζεται, οι περισσότερες από τις αναπτύξεις i’Το VE -TEAS χρησιμοποιεί SDEs (το οποίο όπως αναφέρθηκε έχει ισχυρή εξάρτηση από την ασφάλεια του αεροπλάνου σηματοδότησης).

Όταν πρόκειται για υλοποιήσεις WebRTC, Google’Το S Chrome υποστηρίζει τόσο DTLS-SRTP όσο και SDEs ενώ το Mozilla’Το S Firefox εφαρμόζει μόνο DTLS-SRTP. Ως περιέργεια, εγώ’m που εμπλέκονται επί του παρόντος σε δοκιμές πεδίου όπου ορισμένες από τις πύλες WebRTC-to-SIP υπό αξιολόγηση μόνο εφαρμόζουν SDEs και έχουν DTLS-SRTP ως στοιχείο πορείας. Αυτοί οι προμηθευτές πύλης πιθανώς θεωρούσαν ότι οι SDEs είναι αρκετά καλοί για το βασικό σενάριο μεταξύ των εργασιών και αναμένεται να υιοθετηθεί σε κάποιο σημείο από τις προδιαγραφές WebRTC.

Υποστήριξη κλειδιού ασφαλείας του προγράμματος περιήγησης WebRTC

Οι διαφάνειες από τη συζήτηση στο Βερολίνο μπορούν να βρεθούν εδώ. Όπως φαίνεται στις παρουσιάσεις, μερικά από τα επιχειρήματα από τους υποστηρικτές του SDES περιλάμβαναν:

  • Εμπορικό κίνητρο – αυτό’ήδη εκεί και λειτουργεί
  • Αποκοπή πρώιμων μέσων ενημέρωσης
  • Συναλλαγές μεταξύ πολυπλοκότητας και κόστους
  • Αποζημίωση για SRTP από άκρο σε άκρο σε περιπτώσεις διεπαφής

Στην τελευταία σφαίρα, αυτό σημαίνει ότι κάποιος δεν θα χρειαστεί να αποκρυπτογραφήσει την κυκλοφορία SRTP στην πύλη Interworking εάν το τελικό σημείο VoIP στο άλλο άκρο χρησιμοποιεί SDES.

Φυσικά, το κύριο σημείο της συζήτησης ήταν αν το SDES υποβαθμίζει πραγματικά την ασφάλεια στην υπόθεση χρήσης αλληλεπίδρασης σε σύγκριση με το DTLS-SRTP. Κατά τη γνώμη μου, ορισμένα από τα επιχειρήματα που χρησιμοποιούνται κατά των SDE ισχύουν επίσης για το DTLS-SRTP. Σημειώστε ότι οι υποστηρικτές της SDES δεν το πρότειναν για όλες τις περιπτώσεις χρήσης, αλλά υποστήριζαν με κάποιο τρόπο περιορίζοντας την εφαρμογή του στο σενάριο μεταξύ των εργασιών.

Άλλοι ισχυρίστηκαν ότι η συμβατότητα προς τα πίσω δεν ήταν τόσο σημαντικός παράγοντας όταν κάποιος θα χρειαστεί να χρησιμοποιήσει τις πύλες των μέσων ενημέρωσης ούτως ή άλλως (τουλάχιστον για τον τερματισμό του πάγου). Έτσι, η διασύνδεση DTLS-SRTP-to-SDES θα μπορούσε να είναι απλώς ένα ακόμη χαρακτηριστικό της συνάρτησης πύλης (όπως φαίνεται στο ακόλουθο διάγραμμα που εξάγεται από αυτή την παρουσίαση).

Το αποτέλεσμα

Ως αποτέλεσμα της συζήτησης, όχι μόνο οι SDE δεν συνιστώνται από υποθέσεις χρήσης επιλογής όπως η WebRTC-to-Sip Interworking, αλλά έχει απαγορευτεί πλήρως για το WebRTC γενικά. Η υιοθέτηση του SDES ερμηνεύτηκε από τους περισσότερους ως επιβάλλοντας απαίτηση σε διαδικτυακά προγράμματα περιήγησης πέρα ​​από το πεδίο εφαρμογής των επικοινωνιών του προγράμματος περιήγησης προς το πρόγραμμα περιήγησης, ενώ ενδεχομένως υποβαθμίζουν τις ιδιότητες ασφαλείας τους.

Πιστεύω ότι η κατοχή μιας μόνο λύσης μπορεί να είναι επωφελής από την προοπτική διαλειτουργικότητας (i.μι. Όσο λιγότερες επιλογές έχουμε συνήθως σημαίνει την καλύτερη διαλειτουργικότητα) αλλά εγώ’Αναρωτιέμαι τι θα εφαρμόσει πραγματικά ο κλάδος, ειδικά σε σενάρια WebRTC μη προγράμματος περιήγησης που ενδέχεται να έχουν διαφορετικές απαιτήσεις ασφαλείας ή να θέλουν να αλληλεπιδράσουν άμεσα με τις υπάρχουσες συσκευές VoIP (όπως i’m Βλέποντας σε ένα έργο, αυτό μπορεί να σημαίνει αρκετά εκατομμύρια τελικά σημεία). Ο χρόνος θα πει πώς αντιδρούν οι πωλητές, αλλά αυτό σίγουρα δεν θα ήταν η πρώτη περίπτωση όπου ένα συγκεκριμένο χαρακτηριστικό/συμπεριφορά είναι απενεργοποιημένη από προεπιλογή να είναι συμβατή με RFC, αλλά παρέχεται μια διαμορφώσιμη και μερικές φορές κρυμμένη επιλογή “σε ένα’ο ίδιος ο κίνδυνος” Για να υποστηρίξετε τη λειτουργία ��

Θέλετε να μάθετε λίγο περισσότερο για την ασφάλεια WebRTC? Θα επεξεργαστούμε αυτό το θέμα σε μελλοντικές καταχωρήσεις ιστολογίου. Εν τω μεταξύ, βρείτε εδώ και εδώ μερικές ενδιαφέρουσες αναφορές. Οι φίλοι μου και οι πρώην συνάδελφοί μου Jiri, Dorgham, John, Uli και Henning περιλαμβάνουν μια πολύ ολοκληρωμένη περιγραφή για την ασφάλεια πολυμέσων στο βιβλίο ασφαλείας SIP τους. Μπορείτε επίσης να μου στείλετε ένα email στο [Email Protected] ή να με ακολουθήσετε στο Twitter στο @VictorPascual.

σχετικές αναρτήσεις

Feed RSS

Αλληλεπιδράσεις αναγνώστη

Σχόλια

  1. Vijay k. Ο Gurbani λέει στις 15 Αυγούστου 2013 στις 11:14 π.μ

Το θέμα που ο Victor συζητά δεν είναι ενδημικό μόνο για το WebRTC. Είναι ένα γενικό πρόβλημα που ο κόσμος SIP έχει αντιμετωπίσει για λίγο. Το παρακάτω έγγραφο παρέχει σχετικά πλεονεκτήματα και μειονεκτήματα διαφόρων σχεδίων πληκτρολογίας σε ένα περιβάλλον τηλεπικοινωνιών πολυμέσων Internet. Εάν θέλετε ένα αντίγραφο, μπορείτε να μου στείλετε ένα email στο VKG στο Bell-Labs Dot Com. Gurbani, V.κ. και Kolesnikov, V., “Μια έρευνα και ανάλυση των τεχνικών πληκτρολόγησης μέσων στο πρωτόκολλο εκκίνησης της περιόδου σύνδεσης (SIP),” Στις έρευνες και σεμινάρια επικοινωνιών IEEE, 13 (2), σελ. 183-198, 2011.

Ευχαριστώ για την αναφορά Vijay – πολύ ενδιαφέρον χαρτί. BTW, αυτό το νέο internet-draft δημοσιεύθηκε πριν από λίγες ώρες: “Χρησιμοποιώντας το ZRTP για να εξασφαλίσετε το WebRTC”
Εργαλεία http: //.iETF.org/html/draft-johnston-rtcweb-zrtp-00 Περίληψη: “Το WebRTC, Web σε πραγματικό χρόνο επικοινωνιών, είναι ένα σύνολο πρωτοκόλλων και API που χρησιμοποιούνται για να επιτρέψουν στους προγραμματιστές ιστού να προσθέσουν επικοινωνίες σε πραγματικό χρόνο στις ιστοσελίδες και τις εφαρμογές τους με μερικές γραμμές JavaScript. Οι ροές μέσων WEBRTC είναι κρυπτογραφημένες και πιστοποιημένες από το SRTP, το ασφαλές πρωτόκολλο μεταφοράς σε πραγματικό χρόνο, ενώ η βασική συμφωνία παρέχεται από το DTLS-SRTP, το DataGram Transport Security για ασφαλή πρωτόκολλο σε πραγματικό χρόνο. Ωστόσο, χωρίς κάποια υπηρεσία ταυτότητας τρίτων μερών ή την αρχή πιστοποιητικών, οι ροές μέσων WebRTC δεν έχουν προστασία από μια επίθεση Man-in-the-Middle (MITM). Το ZRTP, η συμφωνία βασικής διαδρομής μέσων για το Unicast Secure RTP, RFC 6189, παρέχει προστασία έναντι των εισβολέων MITM χρησιμοποιώντας βασική συνέχεια που αυξάνεται με μια σύντομη συμβολοσειρά ελέγχου ταυτότητας (SAS). Αυτή η προδιαγραφή περιγράφει τον τρόπο με τον οποίο μπορεί να χρησιμοποιηθεί το ZRTP μέσω του καναλιού δεδομένων WebRTC για την παροχή προστασίας MITM για ροές μέσων WebRTC που χρησιμοποιούνται χρησιμοποιώντας DTLS-SRTP. Αυτό παρέχει προστασία από τους χρήστες έναντι εισβολέων MITM χωρίς να απαιτείται από τα προγράμματα περιήγησης να υποστηρίξουν το ZRTP ή τους χρήστες να κατεβάσουν ένα plugin ή επέκταση για την εφαρμογή του ZRTP.”

Γρήγορη ενημέρωση: Η Google μόλις ανακοίνωσε ότι το Chrome καταργεί τα SDE σε μια διαδικασία πολλαπλών βημάτων “1) Στο Chrome 31, το DTLS είναι τώρα από προεπιλογή, αν και το SDES εξακολουθεί να προσφέρεται επίσης. Δεν χρειάζεται πλέον να περάσετε το DTLSSRTPKEYAGREEM. Δεδομένου ότι χρησιμοποιούμε την προσωρινή αποθήκευση πιστοποιητικού ανά προέλευση, το χτύπημα της απόδοσης της δημιουργίας ενός CERT DTLS δεν αποτελεί πλέον πρόβλημα, επιτρέποντάς μας να το κάνουμε αυτό το προεπιλογή. Δεν απαιτούνται αλλαγές εφαρμογών αυτή τη στιγμή, αν και τα DTL μπορούν να απενεργοποιηθούν με τη ρύθμιση του DTLSSRTPKeyAgreement: False, το οποίο επανέρχεται στη λειτουργία μόνο SDES. 2) Σε μια επερχόμενη έκδοση του Chrome, πιθανώς Chrome 33, οι SDE δεν θα προσφέρονται πλέον από προεπιλογή και θα χρησιμοποιηθούν μόνο εάν καθοριστεί ένας νέος περιορισμός TBD. Για εφαρμογές που απαιτούν SDE, αυτό θα απαιτήσει αλλαγή εφαρμογής για να καθορίσει αυτόν τον νέο περιορισμό. 3) Σε μια μελλοντική έκδοση του Chrome, TBD σε αυτό το σημείο, αυτός ο περιορισμός SDES θα αφαιρεθεί και μόνο το DTLS-SRTP θα υποστηριχθεί. Αναμένουμε ότι αυτό θα συμβεί κάποτε το 2014, οπότε αρχίστε τη μετανάστευση των εφαρμογών σας σε DTLS-SRTP το συντομότερο δυνατό.” Πηγή: ομάδες https: //.Google.com/forum/#!Θέμα/Συζητήστε-WEBRTC/67W4ZRTMONS

Ευχαριστώ για την ενδιαφέρουσα θέση Victor. Απλώς έψαχνα για ορισμένα θέματα ασφαλείας σχετικά με το WebRTC και το βρήκα. Ίσως η τρέχουσα κατάσταση σχετικά με αυτό έχει αλλάξει, λόγω της δημοσίευσης δημοσιεύθηκε περίπου πριν από ένα χρόνο, είμαι νέος στο WebRTC και όλα φαίνονται ότι το WebRTC χρησιμοποιεί DLTS-RTSP. Ωστόσο, τι συμβαίνει με την ασφάλεια στα κινητά τηλέφωνα?. Όσο γνωρίζω ότι το RTSP θα μπορούσε να είναι λίγο αργή για να αποκρυπτογραφήσει βίντεο, για παράδειγμα, σε κινητά plattforms. Ευχαριστώ εκ των προτέρων Víctor Hidalgo

  • Ο Τσαντ Χαρτ αναφέρει στις 12 Ιουλίου 2014 στις 7:55 π.μ

Παρακαλώ’T Ανακατέψτε το πρωτόκολλο ροής σε πραγματικό χρόνο (RTSP) με ασφαλή μεταφορά σε πραγματικό χρόνο (SRTP). Το WebRTC χρησιμοποιεί DTLS-SRTP. Το DTLS-SRTP όπως όλη η κρυπτογράφηση απαιτεί αποκρυπτογράφηση και υπάρχει κάποια επιβάρυνση που σχετίζεται με αυτό, αλλά είναι μικροσκοπικό στις σύγχρονες συσκευές. Οι ανησυχίες σχετικά με το κόστος κρυπτογράφησης έχουν συνήθως επικεντρωθεί σε εξοπλισμό πλευρικού διακομιστή που πρέπει να χειριστεί μεγάλους όγκους και επομένως θα μπορούσε ενδεχομένως να αυξήσει την τιμή της προσφοράς μιας υπηρεσίας.

  • Ο Βίκτορ λέει στις 14 Ιουλίου 2014 στις 3:06 π.μ

Γεια Τσαντ, σωστά, αναφέρθηκα στο DTLS-SRTP χωρίς DTLS-RTSP, συγνώμη για το λάθος μου. Ήθελα κάποιο είδος διευκρίνισης πριν κάνω κάποια δοκιμή, αφού το μείον τα γενικά έξοδα που σχετίζονται με τις σύγχρονες συσκευές είναι αυτό που περίμενα. Ευχαριστώ πολύ για την απάντησή σας. Νικητής

Αφήστε μια απάντηση Ακύρωση απάντησης

Αυτός ο ιστότοπος χρησιμοποιεί το akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.

Μια μελέτη της ασφάλειας WebRTC

Η επικοινωνία στο Web σε πραγματικό χρόνο (συντομευμένη ως WebRTC) είναι μια πρόσφατη τάση στην τεχνολογία εφαρμογών ιστού, η οποία υπόσχεται τη δυνατότητα να επιτρέψει την επικοινωνία σε πραγματικό χρόνο στο πρόγραμμα περιήγησης χωρίς να χρειάζεται πρόσθετες ή άλλες απαιτήσεις. Ωστόσο, ο χαρακτήρας ανοιχτού κώδικα της τεχνολογίας μπορεί να έχει τη δυνατότητα να προκαλέσει ανησυχίες σχετικά με την ασφάλεια στους πιθανούς υιοθετητές της τεχνολογίας. Το παρόν έγγραφο θα συζητήσει λεπτομερώς την ασφάλεια του WebRTC, με στόχο την επίδειξη της συγκριτικής ασφάλειας της τεχνολογίας.

1. Εισαγωγή

Το WebRTC είναι μια τεχνολογία εφαρμογών ανοιχτού κώδικα, η οποία επιτρέπει στους χρήστες να στέλνουν μέσα σε πραγματικό χρόνο χωρίς να χρειάζονται την εγκατάσταση plugins. Η χρήση ενός κατάλληλου προγράμματος περιήγησης μπορεί να επιτρέψει σε ένα χρήστη να καλέσει άλλο μέρος απλά περιηγώντας στην σχετική ιστοσελίδα.

Ορισμένες από τις κύριες περιπτώσεις χρήσης αυτής της τεχνολογίας περιλαμβάνουν τα εξής:

  • Ήχοι σε πραγματικό χρόνο ή/και βίντεο κλήσεις
  • Διάσκεψη ιστού
  • Άμεσες μεταφορές δεδομένων

Σε αντίθεση με τα περισσότερα συστήματα σε πραγματικό χρόνο (Ε.σολ. SIP), οι επικοινωνίες WebRTC ελέγχονται άμεσα από κάποιο διακομιστή ιστού, μέσω API JavaScript.

Η προοπτική ενεργοποίησης ενσωματωμένου ήχου και οπτικής επικοινωνίας σε ένα πρόγραμμα περιήγησης χωρίς plugins είναι συναρπαστική. Ωστόσο, αυτό φυσικά εγείρει ανησυχίες σχετικά με την ασφάλεια αυτής της τεχνολογίας και εάν μπορεί να εμπιστευτεί να παρέχει αξιόπιστη επικοινωνία τόσο για τους τελικούς χρήστες όσο και για τους ενδιάμεσους μεταφορείς ή τρίτους.

Αυτή η αναφορά θα εξετάσει αυτά τα θέματα και θα εξετάσει τις προστασίες που παρέχει η WebRTC για την παροχή ασφάλειας σε όλες τις περιπτώσεις. Ωστόσο, για τους σκοπούς του παρόντος εγγράφου, οι εγγενείς εφαρμογές θα αντιμετωπίζονται ως εκτός πεδίου.

2. Επισκόπηση της αρχιτεκτονικής WebRTC

Το WebRTC επιτρέπει την άμεση επικοινωνία πλούσια σε μέσα μεταξύ δύο συνομηλίκων, χρησιμοποιώντας μια τοπολογία από ομοτίμους (P2P). Το WebRTC βρίσκεται στο πρόγραμμα περιήγησης του χρήστη και δεν απαιτεί πρόσθετο λογισμικό για λειτουργία. Η πραγματική επικοινωνία μεταξύ των συνομηλίκων προηγείται από μια ανταλλαγή μεταδεδομένων, που ονομάζεται “σηματοδότηση”. Αυτή η διαδικασία χρησιμοποιείται για την έναρξη και τη διαφήμιση κλήσεων και διευκολύνει τη δημιουργία σύνδεσης μεταξύ άγνωστων μερών.

Όπως απεικονίζεται στο σχήμα 1, αυτή η διαδικασία εμφανίζεται μέσω ενός ενδιάμεσου διακομιστή:

Σχήμα 1. Μια απλή τοπολογία κλήσεων WebRTC

Φιγούρα 1. Μια απλή τοπολογία κλήσεων WebRTC

Ένα πρωτόκολλο σηματοδότησης δεν καθορίζεται στο WebRTC, επιτρέποντας στους προγραμματιστές να εφαρμόσουν τη δική τους επιλογή πρωτοκόλλου. Αυτό επιτρέπει έναν βαθύτερο βαθμό ευελιξίας στην προσαρμογή μιας εφαρμογής WebRTC για μια συγκεκριμένη περίπτωση χρήσης ή σενάριο.

Πώς λειτουργεί η επικοινωνία WebRTC?

Το WebRTC βασίζεται σε τρία API, καθένα από τα οποία εκτελεί μια συγκεκριμένη λειτουργία για να επιτρέψει την επικοινωνία σε πραγματικό χρόνο σε μια εφαρμογή ιστού. Αυτά τα API θα ονομαστούν και θα εξηγηθούν εν συντομία. Η υλοποίηση και οι τεχνικές λεπτομέρειες για κάθε πρωτόκολλο και τεχνολογία βρίσκονται εκτός του πεδίου εφαρμογής αυτής της έκθεσης, ωστόσο η σχετική τεκμηρίωση είναι άμεσα διαθέσιμη στο διαδίκτυο.

getUsermedia

Για πολλά χρόνια ήταν απαραίτητο να βασίζεστε σε πρόσθετα προγράμματος περιήγησης τρίτου μέρους όπως το Flash ή το Silverlight για να καταγράψετε ήχο ή βίντεο από υπολογιστή. Ωστόσο, η εποχή του HTML 5 έχει ξεκινήσει την άμεση πρόσβαση υλικού σε πολλές συσκευές και παρέχει API JavaScript τα οποία διασυνδέονται με τις υποκείμενες δυνατότητες υλικού ενός συστήματος.

Το GetUsermedia είναι ένα τέτοιο API, επιτρέποντας σε ένα πρόγραμμα περιήγησης να έχει πρόσβαση σε κάμερα και μικρόφωνο χρήστη. Παρόλο που χρησιμοποιείται από το WebRTC, αυτό το API προσφέρεται στην πραγματικότητα ως μέρος του HTML 5.

Rtcpeerconnection

Το RTCPEerconnection είναι το πρώτο από τα δύο API που προσφέρονται ειδικά ως μέρος της προδιαγραφής WebRTC. Μια διεπαφή RTCPEerconnection αντιπροσωπεύει την πραγματική σύνδεση WebRTC και βασίζεται για να χειριστεί την αποτελεσματική ροή δεδομένων μεταξύ δύο συνομηλίκων.

Όταν ένας καλών θέλει να ξεκινήσει μια σύνδεση με ένα απομακρυσμένο πάρτι, το πρόγραμμα περιήγησης ξεκινά με την παράδοση ενός αντικειμένου RTCPEerconnection. Αυτό περιλαμβάνει μια περιγραφή SDP που παράγεται από τον εαυτό του για ανταλλαγή με τους ομότιμους τους. Ο παραλήπτης με τη σειρά του απαντά με τη δική του περιγραφή SDP. Οι περιγραφές SDP χρησιμοποιούνται ως μέρος της πλήρους ροής εργασίας για το Nat Traversal.

Με τη σύνδεση που έχει πλέον καθοριστεί, η RTCPEerconnection επιτρέπει την αποστολή δεδομένων ήχου και βίντεο σε πραγματικό χρόνο ως bitstream μεταξύ των προγραμμάτων περιήγησης.

Τελικά, το API RTCPEerconnection είναι υπεύθυνο για τη διαχείριση του πλήρους κύκλου ζωής κάθε σύνδεσης peer-to-peer και ενσωματώνει όλη τη ρύθμιση, τη διαχείριση και την κατάσταση της σύνδεσης σε μια ενιαία διασύνδεση εύκολης χρήσης.

Η RTCPEerconnection έχει δύο συγκεκριμένα χαρακτηριστικά: – άμεση επικοινωνία μεταξύ δύο προγραμμάτων περιήγησης – χρήση του UDP/IP – δεν υπάρχει εγγύηση για άφιξη πακέτων (όπως στο TCP/IP), αλλά υπάρχει πολύ μειωμένη επιβάρυνση ως αποτέλεσμα ως αποτέλεσμα. – (Επιτρέποντας την απώλεια ορισμένων δεδομένων, μπορούμε να επικεντρωθούμε στην προσφορά επικοινωνίας σε πραγματικό χρόνο.·

Rtcdatachannel

Το RTCDatachannel είναι το δεύτερο κύριο API που προσφέρεται ως μέρος του WebRTC και αντιπροσωπεύει το κύριο κανάλι επικοινωνίας μέσω του οποίου εμφανίζεται η ανταλλαγή αυθαίρετων δεδομένων εφαρμογών μεταξύ των συνομηλίκων. Με άλλα λόγια, χρησιμοποιείται για τη μεταφορά δεδομένων απευθείας από έναν ομότιμο σε άλλο.

Αν και υπάρχουν ορισμένες εναλλακτικές επιλογές για κανάλια επικοινωνίας (e.σολ. WebSocket, Server Send Events), ωστόσο αυτές οι εναλλακτικές λύσεις σχεδιάστηκαν για επικοινωνία με έναν διακομιστή και όχι για άμεσα συνδεδεμένη ομότιμη. Το rtcdatachannel μοιάζει με το δημοφιλές websocket, αλλά αντ ‘αυτού παίρνει μια μορφή peer-to-peer, προσφέροντας ταυτόχρονα προσαρμόσιμες ιδιότητες παράδοσης της υποκείμενης μεταφοράς.

2.1. Υποκείμενες τεχνολογίες

Τα τρία κύρια API είναι οι πτυχές που αντιμετωπίζουν οι προγραμματιστές του WebRTC, αλλά υπάρχουν αρκετές θεμελιώδεις τεχνολογίες που χρησιμοποιούνται για να παρέχουν αυτά τα πρωτόκολλα (η RTCPEerconnection και τα APIs RTCDatachannel).

Εικόνα 2. Στατιστική πρωτόκολλα WebRTC

Σχήμα 2. WebRTC Protocol Stack

Ο πάγος, η αναισθητοποίηση και η στροφή είναι απαραίτητες για τη δημιουργία και διατήρηση μιας σύνδεσης από ομότιμους προς το UDP. Το DTLS χρησιμοποιείται για την εξασφάλιση όλων των μεταφορών δεδομένων μεταξύ των συνομηλίκων, καθώς η κρυπτογράφηση είναι ένα υποχρεωτικό χαρακτηριστικό του WebRTC. Τέλος, το SCTP και το SRTP είναι τα πρωτόκολλα εφαρμογής που χρησιμοποιούνται για την πολλαπλασιασμό των διαφορετικών ρευμάτων, παρέχουν συμφόρηση και έλεγχο ροής και παρέχουν μερικώς αξιόπιστη παράδοση και άλλες πρόσθετες υπηρεσίες στην κορυφή του UDP.

SDP: Πρωτόκολλο περιγραφής συνεδρίας

Το πρωτόκολλο περιγραφής της περιόδου σύνδεσης (SDP) είναι ένα περιγραφικό πρωτόκολλο που χρησιμοποιείται ως τυποποιημένη μέθοδος ανακοίνωσης και διαχείρισης προσκλήσεων συνεδρίας, καθώς και για άλλα καθήκοντα έναρξης για συνεδρίες πολυμέσων. Το SDP αντιπροσωπεύει τις δυνατότητες και τις προτιμήσεις του προγράμματος περιήγησης σε μια μορφή που βασίζεται σε κείμενο και μπορεί να περιλαμβάνει τις ακόλουθες πληροφορίες: – Δυνατότητες μέσων (βίντεο, ήχος) και τα χρησιμοποιούμενα κωδικοποιήματα – Διεύθυνση IP και αριθμός θύρας – Πρωτόκολλο μετάδοσης δεδομένων P2P (WebRTC χρησιμοποιεί SECURERTP).) -> Ωστόσο, αυτά δεν χρησιμοποιούνται στο WebRTC. – Άλλα συναφή μεταδεδομένα.

Από το σημερινό SDP χρησιμοποιείται ευρέως στα πλαίσια του πρωτοκόλλου εκκίνησης της περιόδου σύνδεσης (SIP), του πρωτοκόλλου μεταφοράς σε πραγματικό χρόνο (RTP) και του πρωτοκόλλου ροής σε πραγματικό χρόνο (RSP).

ICE: Διαδραστική ίδρυση συνδεσιμότητας

Η σηματοδότηση απαιτεί την αρχική χρήση ενός ενδιάμεσου διακομιστή για την ανταλλαγή μεταδεδομένων, αλλά μετά την ολοκλήρωση του WebRTC προσπαθεί να δημιουργήσει μια άμεση σύνδεση P2P μεταξύ των χρηστών. Αυτή η διαδικασία πραγματοποιείται μέσω του πλαισίου πάγου.

Το ICE είναι ένα πλαίσιο που χρησιμοποιείται για τη δημιουργία μιας σύνδεσης μεταξύ των συνομηλίκων μέσω του Διαδικτύου. Παρόλο που η WebRTC προσπαθεί να χρησιμοποιήσει άμεσες συνδέσεις P2P, στην πραγματικότητα η ευρεία παρουσία NAT (μετάφραση διεύθυνσης δικτύου) καθιστά δύσκολη τη διαπραγμάτευση του τρόπου επικοινωνίας δύο συνομηλίκων.

Λόγω της συνεχούς ευρείας επικράτησης των διευθύνσεων IPv4 με την περιορισμένη αναπαράσταση 32-bit, οι περισσότερες συσκευές με δυνατότητα δικτύου δεν διαθέτουν μια μοναδική διεύθυνση IPv4 που αντιμετωπίζει το δημόσιο. Το NAT λειτουργεί με δυναμική μεταφράζοντας ιδιωτικές διευθύνσεις σε δημόσιες όταν περνάει ένα αίτημα εξερχόμενης. Ομοίως, οι εισερχόμενες αιτήσεις σε δημόσιο IP μετατρέπονται ξανά σε ιδιωτική IP για να εξασφαλίσουν τη σωστή δρομολόγηση στο εσωτερικό δίκτυο. Κατά συνέπεια, η κοινή χρήση ενός ιδιωτικού IP συχνά δεν είναι αρκετή πληροφορία για να δημιουργήσει μια σύνδεση με έναν ομότιμο. Ο ICE προσπαθεί να ξεπεράσει τις δυσκολίες που θέτει η επικοινωνία μέσω της NAT για να βρει το καλύτερο μονοπάτι για τη σύνδεση των συνομηλίκων.

Δοκιμάζοντας όλες τις δυνατότητες παράλληλα, ο ICE είναι σε θέση να επιλέξει την πιο αποτελεσματική επιλογή που λειτουργεί. Ο ICE προσπαθεί πρώτα να κάνει μια σύνδεση χρησιμοποιώντας τη διεύθυνση κεντρικού υπολογιστή που λαμβάνεται από το λειτουργικό σύστημα και το δίκτυο μιας συσκευής. Εάν αυτό αποτύχει (το οποίο αναπόφευκτα θα είναι για συσκευές πίσω από το NATS) ο ICE αποκτά τότε μια εξωτερική διεύθυνση χρησιμοποιώντας έναν διακομιστή αναισθητοποίησης. Εάν και αυτό αποτύχει, η κυκλοφορία επιστρέφει στη δρομολόγηση μέσω διακομιστή αναμετάδοσης στροφών.

Οι υποψήφιες διαδρομές επικοινωνίας παρέχονται σε μορφή βασισμένη σε κείμενο και ο κατάλογος που παραγγέλθηκε με προτεραιότητα. Οι επιλογές λαμβάνουν τη μορφή ενός από τα ακόλουθα: – άμεση επικοινωνία P2P – χρησιμοποιώντας αναισθητοποίηση, με χαρτογράφηση θύρας για το Nat Traversal (αυτή η διαδρομή τελικά επιλύει την άμεση επικοινωνία P2P) – χρησιμοποιώντας το Turn ως ενδιάμεσο (αυτή η διαμόρφωση χρησιμοποιεί μεταπτυχιακή επικοινωνία και όχι P2P)

Από όλους τους πιθανούς υποψηφίους, επιλέγεται η διαδρομή με το μικρότερο γενικό κόστος.

Αναισθητοποίηση: Συνεδρία Traversal Utilities για NAT

Προκειμένου να εκτελεστούν επικοινωνία P2P, και τα δύο μέρη απαιτούν αναγκαστικά τουλάχιστον τη γνώση της διεύθυνσης IP του ομότιμου και της θύρας UDP που έχει εκχωρηθεί. Ως αποτέλεσμα, απαιτείται μια ορισμένη ανταλλαγή πληροφοριών πριν δημιουργηθεί η επικοινωνία WebRTC.

Ένας διακομιστής αναισθητοποίησης χρησιμοποιείται από κάθε ομότιμο για τον προσδιορισμό της δημόσιας διεύθυνσης IP και αναφέρεται από το πλαίσιο ICE κατά τη διάρκεια της εγκατάστασης σύνδεσης. Οι διακομιστές αναισθητοποίησης είναι συνήθως προσβάσιμοι από το κοινό και μπορούν να χρησιμοποιηθούν ελεύθερα από εφαρμογές WebRTC.

Γυρίστε: Traversal χρησιμοποιώντας ρελέ γύρω από το NAT

Στην πιθανότητα ότι αποτυγχάνει η δημιουργία μιας επικοινωνίας P2P, μπορεί να παρασχεθεί μια επιλογή για την παρασκευή ενός διακομιστή Turn Server. Με τη μεταφορά της κυκλοφορίας μεταξύ των συνομηλίκων μπορεί να εξασφαλιστεί η επικοινωνία WebRTC, αλλά μπορεί να υποστεί υποβάθμιση στην ποιότητα των μέσων και την καθυστέρηση.

Οι διακομιστές Turn μπορούν να εξασφαλίσουν υψηλή επιτυχία στη δημιουργία κλήσεων, ανεξάρτητα από τα περιβάλλοντα του τελικού χρήστη. Καθώς τα δεδομένα αποστέλλονται μέσω ενός ενδιάμεσου διακομιστή, καταναλώνεται επίσης το εύρος ζώνης διακομιστή. Εάν πολλές κλήσεις δρομολογούνται ταυτόχρονα μέσω του διακομιστή, το εύρος ζώνης έγινε επίσης σημαντική σε μέγεθος.

Ο ίδιος ο διακομιστής συνήθως δεν είναι ελεύθερος προσβάσιμος και πρέπει να παρέχεται ειδικά (ή να ενοικιαστεί) από τον πάροχο αίτησης.

3. Σκέψεις ασφαλείας που βασίζονται σε προγράμματα περιήγησης

Υπάρχουν διάφοροι τρόποι επειδή μια εφαρμογή επικοινωνίας σε πραγματικό χρόνο μπορεί να επιβάλλει κινδύνους ασφαλείας, τόσο στον μεταφορέα όσο και στους τελικούς χρήστες. Αυτοί οι κίνδυνοι ασφαλείας μπορούν να εφαρμοστούν σε οποιαδήποτε εφαρμογή που ασχολείται με τη μετάδοση δεδομένων και μέσων σε πραγματικό χρόνο.

Το WebRTC διαφέρει από άλλες εφαρμογές RTC παρέχοντας μια ισχυρή και αξιόπιστη υποδομή για ακόμη και νέους προγραμματιστές να χρησιμοποιούν χωρίς συμβιβασμούς στην ασφάλεια. Θα προχωρήσουμε τώρα στη συζήτηση του τρόπου με τον οποίο η WebRTC ασχολείται με κάθε έναν από αυτούς τους κινδύνους με τη σειρά τους.

3.1. Μοντέλο εμπιστοσύνης του προγράμματος περιήγησης

Η αρχιτεκτονική WebRTC προϋποθέτει από την άποψη της ασφάλειας ότι οι πόροι του δικτύου υπάρχουν σε μια ιεραρχία εμπιστοσύνης. Από την άποψη του χρήστη, το πρόγραμμα περιήγησης (ή πελάτης χρήστη) είναι η βάση όλης της ασφάλειας WebRTC και ενεργεί ως αξιόπιστη βάση υπολογιστών (TCB).

Η δουλειά του προγράμματος περιήγησης είναι να επιτρέψει την πρόσβαση στο Διαδίκτυο, παρέχοντας ταυτόχρονα επαρκή προστασία ασφαλείας στον χρήστη. Οι απαιτήσεις ασφαλείας του WebRTC είναι χτισμένες απευθείας σε αυτήν την απαίτηση. Το πρόγραμμα περιήγησης είναι η πύλη μέσω της οποίας ο χρήστης έχει πρόσβαση σε όλες τις εφαρμογές και το περιεχόμενο WebRTC.

Ενώ το HTML και το JS που παρέχονται από τον διακομιστή μπορούν να προκαλέσουν το πρόγραμμα περιήγησης να εκτελέσει μια ποικιλία ενεργειών, το πρόγραμμα περιήγησης διαχωρίζει αυτά τα σενάρια σε sandboxes. Τα εν λόγω sandboxes απομονώνουν σενάρια μεταξύ τους και από τον υπολογιστή του χρήστη. Σε γενικές γραμμές, τα σενάρια επιτρέπεται να αλληλεπιδρούν μόνο με πόρους από τον ίδιο τομέα – ή πιο συγκεκριμένα, την ίδια “προέλευση”.

Το πρόγραμμα περιήγησης επιβάλλει όλες τις πολιτικές ασφαλείας που επιθυμεί ο χρήστης και είναι το πρώτο βήμα στην επαλήθευση όλων των τρίτων. Όλες οι οντότητες που έχουν πιστοποιηθεί έχουν ελέγξει την ταυτότητά τους από το πρόγραμμα περιήγησης.

Εάν ο χρήστης επιλέξει ένα κατάλληλο πρόγραμμα περιήγησης που γνωρίζει ότι μπορεί να εμπιστευτεί, τότε όλη η επικοινωνία WebRTC μπορεί να θεωρηθεί “ασφαλής” και να ακολουθήσει την τυποποιημένη αποδεκτή αρχιτεκτονική ασφαλείας της τεχνολογίας WebRTC. Ωστόσο, εάν υπάρχει αμφιβολία ότι ένα πρόγραμμα περιήγησης είναι “αξιόπιστο” (Ε.σολ. Αφού λήφθηκε από τρίτο μέρος και όχι από αξιόπιστη τοποθεσία), τότε επηρεάζεται όλες οι επόμενες αλληλεπιδράσεις με τις εφαρμογές WebRTC και ενδέχεται να μην είναι αξιόπιστα ασφαλείς.

Με άλλα λόγια, το επίπεδο εμπιστοσύνης που παρέχεται στον χρήστη από το WebRTC επηρεάζεται άμεσα από την εμπιστοσύνη του χρήστη στο πρόγραμμα περιήγησης.

3.2. SOP: Ίδια πολιτική προέλευσης

Πρόκειται για μια θεμελιώδη πτυχή του DOM ότι όλοι οι πόροι ιστοσελίδων λαμβάνονται από τον διακομιστή ιστού της σελίδας, όποτε φορτώνεται κάποια ή όλη η σελίδα. Η ανάληψη πόρων πραγματοποιείται είτε όταν μια σελίδα είναι πρόσφατα φορτωμένη από το πρόγραμμα περιήγησης, είτε όταν ένα σενάριο που κατοικεί σε μια ιστοσελίδα κάνει ένα τέτοιο αίτημα. Αυτά τα σενάρια είναι εύκολα σε θέση να κάνουν αιτήματα HTTP μέσω Ε.σολ. Το API XMLHTTPRequest (), αλλά δεν επιτρέπεται να υποβάλλει τέτοια αιτήματα σε οποιοδήποτε διακομιστή που καθορίζουν. Αντίθετα, πρέπει να γίνουν αιτήματα στην ίδια “προέλευση” από το σημείο όπου προέρχεται το σενάριο. Μια “προέλευση” περιλαμβάνει ένα σύστημα URI, το όνομα κεντρικού υπολογιστή και τον αριθμό θύρας. Αυτός ο συνολικός περιορισμός ονομάζεται “ίδια πολιτική προέλευσης” (SOP).

Τα σενάρια SOP Forces να εκτελούνται σε απομονωμένα sandboxes ειδικά στον τομέα της προέλευσης τους, αποτρέποντας έτσι τις σελίδες από διαφορετικές προέλευσης ή ακόμα και iframes στην ίδια σελίδα από την ανταλλαγή πληροφοριών. Οι ιστοσελίδες και τα σενάρια από τον ίδιο διακομιστή προέλευσης παραμένουν ανεμπόδιστα στην αλληλεπίδραση μεταξύ τους’S JS Μεταβλητές. Ως εκ τούτου, η προέλευση αποτελεί τη βασική μονάδα του web sandboxing.

Μέσω της επιβολής των sandboxes εκτέλεσης σε βάση ανά προέλευση, ο τελικός χρήστης προστατεύεται από την κατάχρηση των διαπιστευτηρίων του. Θα αναμένετε λογικά να χρησιμοποιήσετε με ασφάλεια έναν ιστότοπο κοινωνικής δικτύωσης χωρίς να εκτελείται σενάριο μέσα από ένα πάνελ διαφήμισης και να κλέβει τις πληροφορίες σύνδεσής σας.

Ομοίως, οι διακομιστές του e.σολ. Ο πάροχος ιστοσελίδων προστατεύεται από επιθέσεις που είναι τοποθετημένες μέσω του προγράμματος περιήγησης του χρήστη. Εάν δεν υπήρχαν τέτοιες διασφαλίσεις, οι επιθέσεις DOS θα μπορούσαν διαφορετικά να ξεκινήσουν μέσω καταχρηστικών αιτημάτων πόρων.

3.2.1 παρακάμπτοντας το SOP

Το SOP είναι απίστευτα σημαντικό για την ασφάλεια τόσο των διακομιστών χρήστη όσο και γενικά. Υπάρχουν μέθοδοι αδειοδότησης αλληλεπίδρασης μεταξύ των χώρων, αν και αυτές είναι συνήθως αμοιβαία συναινετικές και περιορίζονται σε ορισμένα κανάλια.

Το W3C Cross-Origin Resource Sharing (CORS) είναι μία από τις απαντήσεις στο πρόβλημα. Επιτρέπει στο πρόγραμμα περιήγησης να επικοινωνήσει με τον διακομιστή προορισμού του σεναρίου για να προσδιορίσει εάν είναι διατεθειμένο να συμμετάσχει σε ένα δεδομένο τύπο συναλλαγής. Ως εκ τούτου, τα αιτήματα cross-origin μπορούν να επιτρέπονται με ασφάλεια, δίνοντας στον διακομιστή στόχου την επιλογή να συμμετέχει συγκεκριμένα σε ορισμένα αιτήματα και να απορρίψει όλους τους άλλους.

Το WebSockets είναι μια άλλη επιλογή που επιτρέπει παρόμοια λειτουργικότητα, αλλά σε διαφανή κανάλια και όχι σε απομονωμένα αιτήματα HTTP. Μόλις δημιουργηθεί μια τέτοια σύνδεση, το σενάριο μπορεί να μεταφέρει την κυκλοφορία και τους πόρους όπως του αρέσει, με την αναγκαιότητα της διαμόρφωσης ως μια σειρά συναλλαγών αίτησης/απάντησης HTTP.

Και στις δύο περιπτώσεις, το αρχικό στάδιο επαλήθευσης εμποδίζει την αυθαίρετη μεταφορά δεδομένων με σενάριο με διαφορετική προέλευση.

4. Σκέψεις ασφαλείας WebRTC

4.1. Εγκατάσταση και ενημερώσεις

Ένα επικρατέστερο ζήτημα με το παραδοσιακό λογισμικό επιφάνειας εργασίας είναι αν μπορεί κανείς να εμπιστευτεί την ίδια την εφαρμογή. Η εγκατάσταση νέου λογισμικού ή plugin μπορεί ενδεχομένως να εγκαταστήσει κρυφά κακόβουλο λογισμικό ή άλλο ανεπιθύμητο λογισμικό. Πολλοί τελικοί χρήστες δεν έχουν ιδέα από πού έγινε το λογισμικό ή ακριβώς ποιοι κατεβάζουν την εφαρμογή από. Τα κακόβουλα τρίτα μέρη είχαν μεγάλη επιτυχία στην ανασυσκευασία απόλυτα ασφαλούς και αξιόπιστου λογισμικού για να συμπεριλάβουν κακόβουλο λογισμικό και προσφέροντας το προσαρμοσμένο πακέτο τους σε ιστοσελίδες δωρεάν λογισμικού.

Ωστόσο, το WebRTC δεν είναι plugin, ούτε υπάρχει κάποια διαδικασία εγκατάστασης για οποιοδήποτε από τα εξαρτήματά της. Όλη η υποκείμενη τεχνολογία WebRTC εγκαθίσταται απλώς ως μέρος της λήψης ενός κατάλληλου προγράμματος περιήγησης συμβατό με WebRTC, όπως το Chrome ή ο Firefox. Εάν ένας χρήστης έχει ένα τέτοιο πρόγραμμα περιήγησης, μπορεί να περιηγηθεί και να χρησιμοποιήσει οποιαδήποτε εφαρμογή WebRTC χωρίς άλλη ρύθμιση ή προετοιμασία που απαιτείται. Ως εκ τούτου, δεν υπάρχει κίνδυνος εγκατάστασης κακόβουλου λογισμικού ή ιών μέσω της χρήσης μιας κατάλληλης εφαρμογής WebRTC. Ωστόσο, οι εφαρμογές WebRTC θα πρέπει να έχουν πρόσβαση μέσω ενός ιστότοπου HTTPS που υπογράφεται από έναν έγκυρο έλεγχο ταυτότητας όπως το Verisign.

Μια άλλη σχετική σκέψη είναι η επιδιόρθωση των ανακαλυφθέντων ελαττωμάτων ασφαλείας στο λογισμικό. Όπως συμβαίνει με οποιαδήποτε τεχνολογία λογισμικού, είναι απολύτως πιθανό ότι τα μελλοντικά σφάλματα ή τρωτά σημεία θα ανακαλυφθούν στο WebRTC. Εάν βρίσκεται μια ευπάθεια σε μια παραδοσιακή εφαρμογή επιφάνειας εργασίας (όπως μια τυπική εφαρμογή VoIP), η ανάπτυξη ενός έμπλαστρο μπορεί να πάρει σημαντικό χρόνο. Αυτό είναι ένα συχνό ζήτημα με την ανάπτυξη εφαρμογών, καθώς η ασφάλεια εξακολουθεί να αντιμετωπίζεται συχνά ως δευτερεύουσα εκτίμηση μετά τη λειτουργικότητα. Πηγαίνοντας βαθύτερα από αυτό, μπορούμε να εξετάσουμε τις μεθόδους επικοινωνίας που βασίζονται σε υλικό. Πόσο συχνά ένα τηλέφωνο VoIP λαμβάνει μια ενημέρωση ασφαλείας? Μπορείτε να εμπιστευτείτε το άτομο που είναι υπεύθυνο να το ενημερώσει τακτικά? Γνωρίζετε ακόμη και ποιος είναι υπεύθυνος?

Σε αντίθεση με αυτό, τα προγράμματα περιήγησης είναι μια γρήγορη αναπτυξιακή σκηνή λόγω της συχνότητας και του φάσματος των κινδύνων που οι χρήστες εκτίθενται, καθώς και η πανταχού παρούσα φύση τους (και η σημασία των πληροφοριών που έχουν πρόσβαση μέσω του προγράμματος περιήγησης). Καθώς τα στοιχεία του WebRTC προσφέρονται ως μέρος ενός προγράμματος περιήγησης, ενημερώνονται επίσης κάθε φορά που ενημερώνεται το πρόγραμμα περιήγησης. Εάν μια μελλοντική ευπάθεια βρισκόταν στην υλοποίηση του WebRTC του προγράμματος περιήγησης, πιθανότατα θα παραδοθεί γρήγορα μια λύση. Αυτό μπορεί να θεωρηθεί ότι είναι αληθινό στους κύκλους ταχείας ανάπτυξης Chrome και Firefox. Στην πραγματικότητα, στην εποχή των αυτόματων ενημερώσεων, τα στοιχεία WebRTC μπορούν να ενημερωθούν μέσω μιας νέας έκδοσης του προγράμματος περιήγησης μόλις διατεθεί το έμπλαστρο σε διακομιστές. Τα περισσότερα σύγχρονα προγράμματα περιήγησης έχουν ένα καλό ρεκόρ για την αυτόματη ενημέρωση εντός 24 ωρών από την ανακάλυψη σοβαρής ευπάθειας ή απειλής.

Ως πλευρική σημείωση: Αν και έχουμε δηλώσει ότι το WebRTC δεν απαιτεί να εγκατασταθούν πρόσθετα, είναι πιθανό ότι τα πλαίσια WebRTC τρίτου μέρους μπορούν να προσφέρουν πρόσθετα για να επιτρέψουν την υποστήριξη στα επί του παρόντος μη υποστηριζόμενα προγράμματα περιήγησης (όπως το Safari και το IE). Συνιστάται προειδοποίηση χρήστη (ή υποστηριζόμενο πρόγραμμα περιήγησης) σε τέτοιες περιπτώσεις.

4.2. Πρόσβαση σε μέσα ενημέρωσης/τοπικούς πόρους

Το πρόγραμμα περιήγησης μπορεί να έχει πρόσβαση σε τοπικούς πόρους (συμπεριλαμβανομένης της φωτογραφικής μηχανής, του μικροφώνου, των αρχείων), που οδηγεί στην αναπόφευκτη ανησυχία μιας εφαρμογής ιστού που έχει πρόσβαση σε ένα μικρόφωνο και κάμερα ενός χρήστη. Εάν οι εφαρμογές ιστού θα μπορούσαν να αποκτήσουν ελεύθερα πρόσβαση σε κάμερα ή μικρόφωνο χρήστη, μια αδίστακτη εφαρμογή μπορεί να προσπαθήσει να καταγράψει ή να διανείμει τροφές βίντεο ή ήχου χωρίς τις γνώσεις του χρήστη. Θα μπορούσε να είναι ένα απλό θέμα για έναν ιστότοπο που κατοικεί σε μια καρτέλα φόντο για την κατάχρηση της εμπιστοσύνης του χρήστη (ο χρήστης μπορεί να μην συνειδητοποιήσει καν ότι ένας ιστότοπος φιλοξενεί μια τέτοια εφαρμογή επικοινωνίας).

Το WebRTC καταπολεμά αυτό απαιτώντας από το χρήστη να δώσει ρητή άδεια για τη χρήση της κάμερας ή του μικροφώνου (και οι δύο μπορούν να ρυθμιστούν μεμονωμένα). Είναι δυνατόν να ζητήσετε από τον χρήστη για μόνη ή μόνιμη πρόσβαση. Δεν είναι δυνατόν η εφαρμογή WebRTC να αποκτήσει αυθαίρετα πρόσβαση ή να λειτουργεί οποιαδήποτε συσκευή. Επιπλέον, όταν χρησιμοποιείται είτε το μικρόφωνο είτε η κάμερα, το UI του πελάτη απαιτείται να δείξει ρητά στον χρήστη ότι λειτουργούν το μικρόφωνο ή η κάμερα. Στο Chrome, αυτό παίρνει τη μορφή μιας κόκκινης κουκκίδας σε οποιαδήποτε καρτέλα που έχει πρόσβαση στα μέσα του χρήστη.

Εικόνα 3. Δείκτες chrome ui

Εικόνα 3. Δείκτες chrome ui

Η φιλοσοφία αυτής της προστασίας ασφαλείας είναι ότι ένας χρήστης πρέπει πάντα να λαμβάνει τεκμηριωμένη απόφαση σχετικά με το εάν πρέπει να επιτρέψει την πραγματοποίηση κλήσης ή να λάβει κλήση. Με άλλα λόγια, ένας χρήστης πρέπει να καταλάβει: – ποιος ή τι ζητά πρόσβαση στα μέσα του – όπου πηγαίνουν τα μέσα ενημέρωσης – ή και τα δύο.

Ως πρόσθετη διάταξη, το spec WebRTC καθορίζει ότι τα προγράμματα περιήγησης πρέπει να σταματήσουν την κάμερα και το μικρόφωνο όταν η ένδειξη UI είναι καλυμμένη (Ε (Ε.σολ. από την επικάλυψη παραθύρων). Αν και αυτό είναι περισσότερο μια ιδανική συμπεριφορά, δεν είναι απαραίτητα εγγυημένη και οι χρήστες πρέπει να ασκήσουν προσοχή. Ευτυχώς, ωστόσο, αυτή η πρόσθετη λειτουργικότητα δεν είναι πιθανό να αναμένεται συμπεριφορά από τον χρήστη.

Η κοινή χρήση οθόνης εισάγει περαιτέρω εκτιμήσεις ασφαλείας λόγω της εγγενούς ευελιξίας του πεδίου εφαρμογής. Ένας χρήστης μπορεί να μην γνωρίζει αμέσως την έκταση των πληροφοριών που μοιράζονται. Για παράδειγμα, μπορεί να πιστεύουν ότι απλά μοιράζονται ένα ρεύμα ενός συγκεκριμένου παραθύρου (e.σολ. ενώ δίνουν μια παρουσίαση σε απομακρυσμένα μέρη), όταν στην πραγματικότητα δείχνουν ολόκληρη την οθόνη τους στο ακροατήριό τους. Αυτό μπορεί να είναι αποτέλεσμα του χρήστη να μην καθορίσει σωστά την αρχική ρύθμιση κοινής χρήσης οθόνης, ή αλλιώς ότι ο χρήστης μπορεί απλώς να ξεχάσει την έκταση αυτού που μοιράζονται.

4.3. Κρυπτογράφηση και ασφάλεια επικοινωνίας μέσων ενημέρωσης

Υπάρχουν διάφοροι τρόποι στο ότι μια αίτηση επικοινωνίας σε πραγματικό χρόνο μπορεί να επιβάλει κινδύνους ασφαλείας. Ένα ιδιαίτερα αξιοσημείωτο είναι η παρακολούθηση των μη κρυπτογραφημένων μέσων ή των δεδομένων κατά τη διάρκεια της μετάδοσης. Αυτό μπορεί να συμβεί μεταξύ της επικοινωνίας του προγράμματος περιήγησης ή του προγράμματος περιήγησης ή του προγράμματος περιήγησης, με έναν τρίτο μέρος που μπορεί να δει όλα τα δεδομένα που αποστέλλονται. Η κρυπτογράφηση, ωστόσο, καθιστά αποτελεσματικά αδύνατο για έναν ενισχυτή να καθορίσει τα περιεχόμενα των ροών επικοινωνίας. Μόνο τα μέρη με πρόσβαση στο μυστικό κλειδί κρυπτογράφησης μπορούν να αποκωδικοποιήσουν τις ροές επικοινωνίας.

Η κρυπτογράφηση είναι ένα υποχρεωτικό χαρακτηριστικό της WebRTC και εφαρμόζεται σε όλα τα εξαρτήματα, συμπεριλαμβανομένων των μηχανισμών σηματοδότησης. Κατά συνέπεια, όλα τα ρεύματα μέσων που αποστέλλονται μέσω του WebRTC είναι ασφαλώς κρυπτογραφημένες, θεσπίζονται μέσω τυποποιημένων και γνωστών πρωτοκόλλων κρυπτογράφησης. Το χρησιμοποιούμενο πρωτόκολλο κρυπτογράφησης εξαρτάται από τον τύπο καναλιού. Οι ροές δεδομένων είναι κρυπτογραφημένες με τη χρήση της ασφάλειας μεταφοράς Datagram (DTLs) και οι ροές μέσων ενημέρωσης κρυπτογραφούνται χρησιμοποιώντας ασφαλές πρωτόκολλο μεταφοράς σε πραγματικό χρόνο (SRTP).

4.3.1. DTLS: Ασφάλεια στρώματος μεταφοράς Datagram

Το WebRTC κρυπτογραφεί πληροφορίες (συγκεκριμένα κανάλια δεδομένων) χρησιμοποιώντας την ασφάλεια Layer Transport Datagram (DTLS). Όλα τα δεδομένα που αποστέλλονται μέσω του rtcdatachannel είναι ασφαλισμένα χρησιμοποιώντας DTLs.

Το DTLS είναι ένα τυποποιημένο πρωτόκολλο το οποίο είναι ενσωματωμένο σε όλα τα προγράμματα περιήγησης που υποστηρίζουν το WebRTC και είναι ένα πρωτόκολλο που χρησιμοποιείται σταθερά σε προγράμματα περιήγησης ιστού, ηλεκτρονικού ταχυδρομείου και πλατφόρμες VoIP για κρυπτογράφηση πληροφοριών. Η ενσωματωμένη φύση σημαίνει επίσης ότι δεν απαιτείται προηγούμενη ρύθμιση πριν από τη χρήση. Όπως και με άλλα πρωτόκολλα κρυπτογράφησης, έχει σχεδιαστεί για να αποτρέψει την παραβίαση και την παραβίαση πληροφοριών. Το ίδιο το DTLS διαμορφώνεται στο TLS που προσανατολίζεται με το ρεύμα, ένα πρωτόκολλο που προσφέρει πλήρη κρυπτογράφηση με ασύμμετρες μεθόδους κρυπτογραφίας, έλεγχο ταυτότητας δεδομένων και έλεγχο ταυτότητας μηνυμάτων. Το TLS είναι το πρότυπο de-facto για κρυπτογράφηση ιστού, που χρησιμοποιείται για τους σκοπούς τέτοιων πρωτοκόλλων όπως το HTTPS. Το TLS έχει σχεδιαστεί για τον αξιόπιστο μηχανισμό μεταφοράς του TCP, αλλά οι εφαρμογές VoIP (και τα παιχνίδια κ.λπ.) συνήθως χρησιμοποιούν αναξιόπιστες μεταφορές datagram όπως το UDP.

Καθώς το DTLS είναι ένα παράγωγο του SSL, όλα τα δεδομένα είναι γνωστό ότι είναι ασφαλή ως χρησιμοποιώντας οποιαδήποτε τυπική σύνδεση με βάση το SSL. Στην πραγματικότητα, τα δεδομένα WebRTC μπορούν να εξασφαλιστούν μέσω οποιασδήποτε τυπικής σύνδεσης που βασίζεται σε SSL στον ιστό, επιτρέποντας στο WebRTC να προσφέρει κρυπτογράφηση από άκρο σε άκρο μεταξύ συνομηλίκων με σχεδόν οποιαδήποτε διάταξη διακομιστή.

4.3.1.1. DTL πάνω από τη στροφή

Η προεπιλεγμένη επιλογή για όλη την επικοινωνία WebRTC είναι η άμεση επικοινωνία P2P μεταξύ δύο προγραμμάτων περιήγησης, με τη βοήθεια διακομιστών σηματοδότησης κατά τη διάρκεια της φάσης εγκατάστασης. Η κρυπτογράφηση P2P είναι σχετικά εύκολο να προβλεφθεί και να εγκατασταθεί, αλλά στην περίπτωση της αποτυχίας της εγκατάστασης WebRTC πέφτει πίσω στην επικοινωνία μέσω διακομιστή Turn (αν είναι διαθέσιμος). Κατά τη διάρκεια της επικοινωνίας Turn, τα μέσα ενημέρωσης μπορούν να υποστούν απώλεια ποιότητας και αυξημένη λανθάνουσα κατάσταση, αλλά επιτρέπει σε ένα σενάριο “εάν όλα τα άλλα αποτυγχάνουν” να επιτρέψει στην εφαρμογή WebRTC να λειτουργεί ακόμη και υπό δύσκολες συνθήκες. Πρέπει επίσης να εξετάσουμε την κρυπτογραφημένη επικοινωνία υπό την εναλλακτική δομή επικοινωνίας της Turn.

Είναι γνωστό ότι ανεξάρτητα από τη μέθοδο επικοινωνίας, τα δεδομένα αποστέλλονται κρυπτογραφημένα στα τελικά σημεία. Ο σκοπός ενός διακομιστή Turn είναι απλά το ρελέ των δεδομένων WebRTC μεταξύ των μερών σε μια κλήση και θα αναλύσει μόνο το στρώμα UDP ενός πακέτου WebRTC για σκοπούς δρομολόγησης. Οι διακομιστές δεν θα αποκωδικοποιήσουν το επίπεδο δεδομένων εφαρμογών για να δρομολογήσουν τα πακέτα και επομένως γνωρίζουμε ότι δεν (και δεν μπορούν) να αγγίξουν την κρυπτογράφηση DTLS.

Κατά συνέπεια, οι προστασίες που τίθενται σε εφαρμογή μέσω κρυπτογράφησης δεν διακυβεύονται κατά τη διάρκεια της επικοινωνίας WebRTC μέσω της στροφής και ο διακομιστής δεν μπορεί να κατανοήσει ή να τροποποιήσει πληροφορίες που στέλνουν οι συνομηλίκοι ο ένας στον άλλο.

4.3.2. SRTP: Ασφαλές πρωτόκολλο μεταφοράς σε πραγματικό χρόνο

Το Basic RTP δεν διαθέτει ενσωματωμένους μηχανισμούς ασφαλείας και επομένως δεν θέτει προστασία της εμπιστευτικότητας των μεταδιδόμενων δεδομένων. Οι εξωτερικοί μηχανισμοί βασίζονται αντ ‘αυτού για την παροχή κρυπτογράφησης. Στην πραγματικότητα, η χρήση του μη κρυπτογραφημένου RTP απαγορεύεται ρητά από τις προδιαγραφές WebRTC.

Το WebRTC χρησιμοποιεί SRTP για την κρυπτογράφηση των ροών των μέσων και όχι του DTLS. Αυτό οφείλεται στο γεγονός ότι το SRTP είναι μια επιλογή ελαφρύτερου βάρους από τα DTLs. Η προδιαγραφή απαιτεί οποιαδήποτε συμμόρφωση WebRTC υλοποίηση υποστήριξη RTP/SAVPF (το οποίο είναι χτισμένο στην κορυφή του RTP/SAVP) [9] . Ωστόσο, η πραγματική ανταλλαγή κλειδιών SRTP πραγματοποιείται αρχικά από άκρο σε άκρο με DTLS-SRTP, επιτρέποντας την ανίχνευση τυχόν επιθέσεων MITM.

4.3.3. Δημιουργία ασφαλούς συνδέσμου

Ας προχωρήσουμε στη διαδικασία δημιουργίας μιας νέας κλήσης σε μια εφαρμογή WebRTC. Σε αυτή την περίπτωση, θα υπάρχουν δύο εμπλεκόμενα μέρη. Αλίκη και Μπομπ. Η διαδικασία κλήσης ξεκινά όταν ένα κόμμα (Alice) καλεί το άλλο (Bob) και η διαδικασία σηματοδότησης ανταλλάσσει τα σχετικά μεταδεδομένα μεταξύ των δύο μερών.

Μόλις ολοκληρωθούν οι αρχικοί έλεγχοι πάγου (ή συγκεκριμένα, μερικοί από αυτούς), οι δύο συνομηλίκοι θα αρχίσουν να ρυθμίζουν ένα ή περισσότερα ασφαλή κανάλια. Αρχικά, εκτελείται μια χειραψία DTLS σε όλα τα κανάλια που δημιουργούνται από το ICE. Για τα κανάλια δεδομένων, αυτό το βήμα μόνο είναι επαρκές καθώς χρησιμοποιείται απλό απλό DTLS για κρυπτογράφηση. Ωστόσο, για τα κανάλια των μέσων ενημέρωσης, λαμβάνονται περαιτέρω βήματα.

Μόλις ολοκληρωθεί η χειραψία DTLS, τα κλειδιά “εξάγονται” και χρησιμοποιούνται για το κλειδί SRTP για τα κανάλια των μέσων ενημέρωσης. Σε αυτό το στάδιο και τα δύο μέρη γνωρίζουν ότι μοιράζονται ένα σύνολο ασφαλών δεδομένων ή/και καναλιών πολυμέσων με κλειδιά που δεν είναι γνωστά σε κακόβουλο τρίτο.

4.3.4. DTLS-SRTP VS SDE

Προκειμένου να διαπραγματευτεί τις παραμέτρους ασφαλείας για την κυκλοφορία των μέσων ενημέρωσης, η SRTP πρέπει να αλληλεπιδράσει με ένα πρωτόκολλο διαχείρισης βασικών διαχείρισης. Αυτό το πρωτόκολλο δεν έχει δημιουργηθεί, προσφέροντας μια σειρά πιθανών επιλογών για την εργασία. Δύο τέτοιες επιλογές είναι SDE και DTLS-SRTP.

Αξίζει να σημειωθεί ότι η σηματοδότηση (SIP, HTTP) & Media (RTP) που εμπλέκεται σε μια επικοινωνία πολυμέσων μπορεί να εξασφαλιστεί ανεξάρτητα.

SDES

Οι περιγραφές ασφαλείας SDP για ροές μέσων ενημέρωσης (SDEs) ήταν η επιλογή που προηγουμένως ευνοήθηκε από το WebRTC.

Μέσα στο SDE, οι παράμετροι ασφαλείας και τα κλειδιά που χρησιμοποιούνται για τη δημιουργία συνεδριών SRTP ανταλλάσσονται σε σαφές κείμενο με τη μορφή χαρακτηριστικών SDP. Καθώς το SDP κοινοποιείται στο επίπεδο σηματοδότησης, εάν η κρυπτογράφηση δεν θεσπίζεται επιπλέον σε τέτοια μηνύματα σηματοδότησης, τότε ένας τρίτος παρακολούθησης θα μπορούσε να αποκτήσει τα κλειδιά για τα κρυπτογραφημένα δεδομένα των SDE. Με άλλα λόγια, θα πρέπει να χρησιμοποιηθεί ένα περαιτέρω πρωτόκολλο κρυπτογράφησης ειδικά για την κρυπτογράφηση του επιπέδου σηματοδότησης. Μια τέτοια επιλογή για αυτό είναι να χρησιμοποιήσετε το TLS.

Ωστόσο, η εξασφάλιση της σηματοδότησης και των μέσων ενημέρωσης μπορεί να οδηγήσει στην κατάσταση στο ότι ο χρήστης των μέσων είναι διαφορετική από τον χρήστη σηματοδότησης (καθώς δεν παρέχεται εγγύηση). Για την παροχή αυτής της εγγύησης, απαιτείται κρυπτογραφική δέσμευση. Το DTLS-SRTP είναι ένας τέτοιος μηχανισμός που το παρέχει αυτό, αλλά το SDES δεν το κάνει.

Παραμένει γεγονός ότι ακόμη και σήμερα, η πλειοψηφία της κυκλοφορίας RTP στα δίκτυα VoIP δεν είναι εξασφαλισμένη. Στην πραγματικότητα, η κρυπτογράφηση είναι ένα από τα πρώτα χαρακτηριστικά που οι πελάτες συνήθως ζητούν από τους προμηθευτές να αφαιρέσουν για να καλύψουν τους προϋπολογισμούς τους. Όταν είναι ασφαλισμένα, οι περισσότερες από τις αναπτύξεις χρησιμοποιούν SDE, το οποίο όπως μόλις αναφέραμε βασίζεται σε μεγάλο βαθμό στην ασφάλεια του αεροπλάνου σηματοδότησης.

DTLS-SRTP

Το DTLS-SRTP, από την άλλη πλευρά, ανταλλάσσει κλειδιά πάνω από το επίπεδο των μέσων ενημέρωσης και όχι το επίπεδο σηματοδότησης. Η συνέπεια μιας τέτοιας διαφοράς είναι ότι ένα κανάλι μέσων SRTP δεν έχει ανάγκη να αποκαλύψει τα μυστικά κλειδιά κρυπτογράφησης μέσω μιας ανταλλαγής μηνυμάτων SDP, όπως συμβαίνει με το SDES.

Η προδιαγραφή WebRTC [9] υποστηρίζει ότι οι υλοποιήσεις WebRTC απαιτούνται για την υποστήριξη του DTLS-SRTP για τη διαχείριση κλειδιών. Επιπλέον, ορίζεται ως το προεπιλεγμένο και προτιμώμενο σχήμα, και δεν υπάρχει πρόβλεψη για την εφαρμογή άλλων βασικών σχεδίων διαχείρισης. Με άλλα λόγια, άλλα συστήματα μπορούν ή δεν μπορούν να υποστηριχθούν καθόλου.

Εάν παραληφθεί προσφορά ή “κλήση” από διαφημιστική υποστήριξη από ομοτίμους τόσο για DTLS-SRTP όσο και για SDEs, πρέπει να επιλεγεί DTLS-SRTP-ανεξάρτητα από το εάν η σηματοδότηση είναι ασφαλής ή όχι.

Η συζήτηση

Είναι γενικά αποδεκτό ότι το DTLS-SRTP θα πρέπει να είναι η υποχρεωτική και προεπιλεγμένη επιλογή για την κρυπτογράφηση των μέσων WebRTC. Αυτό που αμφισβητείται είναι εάν πρέπει να χρησιμοποιηθούν άλλοι μηχανισμοί, δηλαδή SDEs για την παροχή συμβατότητας προς τα πίσω.

Από την άποψη της συμβατότητας, το πρόγραμμα περιήγησης Chrome της Google παρέχει υποστήριξη τόσο για SDEs όσο και για DTLS-SRTP. Ο Firefox του Mozilla από την άλλη πλευρά εφαρμόζει μόνο DTLS-SRTP.

4.3.5. Μια αδυναμία στο SRTP

Το SRTP κρυπτογραφεί μόνο το ωφέλιμο φορτίο πακέτων RTP, χωρίς να παρέχει κρυπτογράφηση για την κεφαλίδα. Ωστόσο, η κεφαλίδα περιέχει μια ποικιλία πληροφοριών που μπορεί να είναι επιθυμητές να κρατήσουν μυστικό.

Ένα τέτοιο κομμάτι πληροφοριών που περιλαμβάνονται στην κεφαλίδα RTP είναι τα επίπεδα ήχου των δεδομένων που περιείχαν μέσα ενημέρωσης. Αποτελεσματικά, όποιος μπορεί να δει τα πακέτα SRTP μπορεί να πει εάν ένας χρήστης μιλάει ή όχι σε δεδομένη στιγμή. Αν και το περιεχόμενο των ίδιων των μέσων παραμένει μυστικό σε κάθε παρακολούθηση, αυτό εξακολουθεί να είναι μια τρομακτική προοπτική. Για παράδειγμα, οι υπάλληλοι επιβολής του νόμου θα μπορούσαν να καθορίσουν εάν ένας χρήστης επικοινωνεί με έναν γνωστό κακό.

4.4. Διαχείριση ελέγχου ταυτότητας και ταυτότητας με βάση το διαδίκτυο

Είναι επιθυμητό ο χρήστης να είναι σε θέση να επαληθεύσει την ταυτότητα των συνομηλίκων του. Εγώ.μι. Ένας χρήστης φυσικά θέλει να είναι σίγουρος ότι μιλούν στο άτομο που πιστεύουν ότι μιλούν και όχι έναν απατεώνα.

Παρόλο που ο διακομιστής σηματοδότησης μπορεί να είναι σε θέση να προχωρήσει στην ταυτότητα του χρήστη, ο ίδιος ο διακομιστής σηματοδότησης δεν μπορεί να είναι αξιόπιστος (και για την περίπτωση ταυτότητας δεν πρέπει). Πρέπει να είμαστε σε θέση να εκτελέσουμε έλεγχο ταυτότητας των συνομηλίκων μας ανεξάρτητα από τον διακομιστή σηματοδότησης. Αυτό μπορεί να γίνει δυνατή με τη χρήση των παρόχων ταυτότητας.

Εικόνα 4. Μια κλήση με ταυτότητα με βάση το IDP

Εικόνα 4. Μια κλήση με ταυτότητα με βάση το IDP

Ορισμένοι παρόχους ταυτότητας που βασίζονται στο διαδίκτυο (IDP) έγιναν πρόσφατα συνηθισμένοι στο διαδίκτυο, συμπεριλαμβανομένου του Facebook Connect, του BrowserId (από το Mozilla), του OAuth (από το Twitter). Ο σκοπός αυτών των μηχανισμών είναι απλώς να επαληθεύσει την ταυτότητά σας με άλλες υπηρεσίες/χρήστες, σχετικά με την εξουσία του ίδιου του παρόχου ταυτότητας. Εάν ένας χρήστης έχει λογαριασμό στο Facebook, τότε μπορούν στη συνέχεια να χρησιμοποιήσουν το Facebook Connect, το IDP του Facebook για να αποδείξουν σε άλλους ότι είναι ποιοι λένε ότι είναι στο Facebook. Αυτό επιτρέπει στους χρήστες να συνδέουν τον έλεγχο ταυτότητάς τους σε άλλες υπηρεσίες στον κύριο λογαριασμό τους σε μια “αξιόπιστη” υπηρεσία. Σημειώστε ότι σε αυτή την περίπτωση το επίπεδο “εμπιστοσύνης” που κατέχει ένας πάροχος ταυτότητας είναι υποκειμενικό στον χρήστη ή την υπηρεσία τελικού σημείου και συχνά συνδέεται σε μεγάλο βαθμό με τη βάση και τη φήμη των χρηστών σε όλο τον παγκόσμιο ιστό.

Οι υλοποιήσεις κάθε IDP μπορεί να διαφέρουν λόγω της ανεξάρτητης ανάπτυξης από διαφορετικές εταιρείες αντί να βασίζονται σε ένα πρότυπο ανοιχτού κώδικα, αλλά η υποκείμενη αρχή και η λειτουργικότητα παραμένουν ουσιαστικά η ίδια. Οι IDP δεν παρέχουν έλεγχο ταυτότητας για διακομιστή σηματοδότησης. Αντίθετα, παρέχουν έλεγχο ταυτότητας για έναν χρήστη (και το πρόγραμμα περιήγησής του μέσω της διαδικασίας). Το WebRTC δεν θέτει επίσης απαιτήσεις στις οποίες πρέπει να χρησιμοποιηθούν οι υπηρεσίες και εκείνες που χρησιμοποιούνται βασίζονται στην εφαρμογή της εφαρμογής ιστού.

Καθώς η εφαρμογή Web (site κλήσης) δεν σχετίζεται με αυτή τη διαδικασία ελέγχου ταυτότητας, είναι σημαντικό το πρόγραμμα περιήγησης να παράγει με ασφάλεια την είσοδο στη διαδικασία ελέγχου ταυτότητας και επίσης εμφανίζει την έξοδο στην εφαρμογή Web Application. Αυτή η διαδικασία δεν πρέπει να μπορεί να παραποιηθεί ή να παραπλανηθεί από την εφαρμογή Web.

Εικόνα 5. Η λειτουργία ενός παρόχου ταυτότητας

Εικόνα 5. Η λειτουργία ενός παρόχου ταυτότητας

4.5. ΙΔΙΟΤΗΤΑ ΤΟΠΟΘΕΤΗΣΗ

Μια δυσμενείς παρενέργειες της χρήσης του ICE είναι ότι ένας ομότιμος μπορεί να μάθει τη διεύθυνση IP κάποιου. Καθώς οι διευθύνσεις IP είναι εγγεγραμμένες στις παγκόσμιες αρχές, μπορούν να αποκαλύψουν λεπτομέρειες όπως η τοποθεσία του συγκεκριμένου ομότιμου. Αυτό θα μπορούσε φυσικά να έχει αρνητικές επιπτώσεις για έναν ομότιμο, το οποίο θα ήθελαν να αποφύγουν.

Το WebRTC δεν έχει σχεδιαστεί με σκοπό την προστασία ενός χρήστη από έναν κακόβουλο ιστότοπο που θέλει να μάθει αυτές τις πληροφορίες. Συνήθως, ένας τέτοιος ιστότοπος θα μάθει τουλάχιστον την αντανακλαστική διεύθυνση του διακομιστή χρήστη από οποιαδήποτε συναλλαγή HTTP. Η απόκρυψη της διεύθυνσης IP από τον διακομιστή θα απαιτούσε κάποιο είδος ρητή μηχανισμού διατήρησης της ιδιωτικής ζωής στον πελάτη και δεν έχει πεδίο εφαρμογής αυτής της έκθεσης.

Ωστόσο, η WebRTC παρέχει έναν αριθμό μηχανισμών που προορίζονται να επιτρέψουν σε μια εφαρμογή ιστού να συνεργαστεί με το χρήστη για να αποκρύψει τη διεύθυνση IP του χρήστη από την άλλη πλευρά της κλήσης. Αυτοί οι μηχανισμοί θα αναλυθούν με τη σειρά τους.

Μια εφαρμογή WebRTC απαιτείται για να παρέχει έναν μηχανισμό για να επιτρέψει στην JS να καταστείλει τη διαπραγμάτευση του ICE έως ότου ο χρήστης αποφάσισε να απαντήσει στην κλήση. Αυτή η διάταξη βοηθά τους τελικούς χρήστες στην πρόληψη ενός ομότιμου να μάθουν τη διεύθυνση IP τους εάν επιλέξουν να μην απαντήσουν σε κλήση. Αυτό έχει την παρενέργεια της απόκρυψης αν ένας χρήστης είναι σε απευθείας σύνδεση ή όχι στους συνομηλίκους του.

Η δεύτερη τέτοια διάταξη είναι ότι οποιαδήποτε εφαρμογή θα παράσχει έναν μηχανισμό για το JavaScript της εφαρμογής που θα υποδείξει ότι πρόκειται να χρησιμοποιηθούν μόνο οι υποψήφιοι. Αυτό μπορεί να εμποδίσει έναν ομότιμο να μαθαίνει καθόλου τη διεύθυνση IP κάποιου.

Επιπλέον, υπάρχει ένας μηχανισμός για την εφαρμογή Call. Συνολικά μαζί με την προηγούμενη διάταξη, αυτό επιτρέπει στη διαπραγμάτευση του ICE να ξεκινήσει αμέσως μετά από μια εισερχόμενη ειδοποίηση κλήσεων, μειώνοντας έτσι την καθυστέρηση, αλλά και αποφεύγοντας την αποκάλυψη της διεύθυνσης IP του χρήστη μέχρι να αποφασίσουν να απαντήσουν. Αυτό επιτρέπει στους χρήστες να κρύψουν πλήρως τη διεύθυνση IP τους για τη διάρκεια της κλήσης.

4.6. Στρώμα σηματοδότησης

Καθώς το πρωτόκολλο σηματοδότησης δεν καθορίζεται από το WebRTC, ο μηχανισμός για κρυπτογράφηση εξαρτάται προφανώς από το επιλεγμένο πρωτόκολλο σηματοδότησης. Λόγω της σχετικά ανοικτής φύσης της ασφάλειας σηματοδότησης, αυτή η αναφορά θα επικεντρωθεί και θα εξηγήσει εν συντομία το πιο κοινό πρωτόκολλο, SIP (πρωτόκολλο εκκίνησης συνεδρίας).

Το SIP είναι ένα ευρέως εφαρμοσμένο πρότυπο που χρησιμοποιείται στην επικοινωνία VoIP για τη ρύθμιση και τη διάσπαση των τηλεφωνικών κλήσεων. Ωστόσο, είναι ένα παράγωγο των HTTP και SMTP – και τα δύο είναι πρωτόκολλα που εκμεταλλεύονται τακτικά. Καθώς χρησιμοποιεί μηνύματα απλού κειμένου για την ανταλλαγή πληροφοριών, είναι εφικτό για οποιοδήποτε κακόβουλο κόμμα να αξιοποιήσει ένα δίκτυο και να καταγράψει μηνύματα SIP. Εάν ένας εισβολέας μπορεί να διαβάσει τις ευαίσθητες πληροφορίες ενός χρήστη, θα μπορούσε να χρησιμοποιήσει αυτές τις πληροφορίες για να παραπλανήσει τον χρήστη. Και αν ο εισβολέας μπορεί να προχωρήσει περαιτέρω για να αποκτήσει πρόσβαση στο δίκτυο του χειριστή, μπορεί ακόμη και να είναι δυνατή η αποκρυπτογράφηση του περιεχομένου της επικοινωνίας WebRTC. [14]

Δεδομένου ότι το SIP αποστέλλεται σε καθαρό κείμενο, είναι ασήμαντο για έναν καθορισμένο εισβολέα να παρακολουθεί μηνύματα SIP. Αυτό που θα συμβεί στη συνέχεια παραμένει στη φαντασία του επιτιθέμενου, αλλά δεν είναι δύσκολο να φανταστεί κανείς μια ενδεχόμενη στο ότι το περιεχόμενο του σώματος του μηνύματος ή της κεφαλίδας παραβιάζεται με. Εάν ο επιτιθέμενος παρακολούθησε ένα μήνυμα πρόσκλησης, μπορεί στη συνέχεια να προχωρήσει να αλλάξει το από την κεφαλίδα για να αντικατοπτρίζει τη δική του διεύθυνση IP.

4.6.1. SIP τρωτά σημεία

Το SIP είναι ένα πρωτόκολλο επικοινωνίας για τη σηματοδότηση και τον έλεγχο των επικοινωνιακών συνεδριών πολυμέσων και εφαρμόζεται συχνά σε τεχνολογίες VoIP για τους σκοπούς της δημιουργίας και της κατάρρευσης των τηλεφωνικών κλήσεων. Μπορεί επίσης να χρησιμοποιηθεί σε μια εφαρμογή WebRTC για σκοπούς σηματοδότησης, ως ένας από τους πιθανούς τέτοιους επιλογές. Ωστόσο, τα μηνύματα SIP αποστέλλονται συχνά σε απλό κείμενο. Δεδομένου ότι αυτό μπορεί φυσικά να οδηγήσει σε έναν αριθμό πιθανών διανυσμάτων επίθεσης, θα λάβουμε μια πιο προσεκτική εξέταση αυτής της περιοχής.

Ροή SIP

Στη διαδικασία δημιουργίας μιας κλήσης, το πρόγραμμα περιήγησης του χρήστη (ή ο “πράκτορας χρήστη”) καταγράφει έναν κεντρικό γραμματέα. Αυτή η εγγραφή είναι μια αναγκαιότητα στο παραδοσιακό VoIP, καθώς είναι απαραίτητο να παρέχουμε τα μέσα για να εντοπίσετε και να επικοινωνήσετε με ένα απομακρυσμένο πάρτι.

Όταν ένα πάρτι (Bob) θέλει να ξεκινήσει μια κλήση, στέλνει ένα μήνυμα πρόσκλησης μέσω ενός κεντρικού διακομιστή μεσολάβησης (αυτός είναι ο διακομιστής σηματοδότησης). Ο διακομιστής είναι υπεύθυνος για την αναμετάδοση τέτοιων μηνυμάτων και την παροχή των μέσων εντοπισμού άλλων χρηστών. Ο διακομιστής μπορεί να επιχειρήσει ορισμένα μέτρα για τον εντοπισμό ενός τελικού χρήστη κατά τη διάρκεια αυτής της διαδικασίας αναζήτησης, όπως η χρήση του DNS.

Καταχώριση

Η αρχική εγγραφή του προγράμματος περιήγησης χρησιμοποιείται για να ανακοινώσει το σημείο επαφής ενός χρήστη και υποδεικνύει ότι η συσκευή ενός χρήστη δέχεται κλήσεις. Ωστόσο, η διαδικασία παρέχει ένα διάνυσμα για κακόβουλες οντότητες για την εκτέλεση μιας επίθεσης “Hijack εγγραφής”.

Η ανταλλαγή μηνυμάτων εγγραφής περιλαμβάνει ένα πεδίο “Επικοινωνία:”, που περιέχει τη διεύθυνση IP του χρήστη. Κάθε φορά που ο διακομιστής σηματοδότησης επεξεργάζεται μια εισερχόμενη κλήση, το όνομα χρήστη (ή ο αριθμός τηλεφώνου) ταιριάζει με την εγγεγραμμένη διεύθυνση IP και η πρόσκληση διαβιβάζεται ανάλογα. Αυτές οι εγγραφές ενημερώνονται περιοδικά, εξασφαλίζοντας ότι τα αρχεία διατηρούνται πρόσφατα και ενημερωμένα.

Καθώς τα μηνύματα SIP αποστέλλονται πάντα σε απλό κείμενο, μπορεί να είναι ασήμαντο για έναν εισβολέα να παρακολουθεί και να διαβάζει τα περιεχόμενα αυτών των μηνυμάτων εγγραφής. Μετά την παρακολούθηση, ένα κατάλληλο εργαλείο (όπως η γεννήτρια μηνυμάτων SIVUS) μπορεί να χρησιμοποιηθεί για τη δημιουργία παρόμοιων πληροφοριών SIP, αλλά με την πραγματική διεύθυνση IP του χρήστη που αντικαθίσταται από το δικό του εισβολέα. Ο εισβολέας πρέπει στη συνέχεια να απενεργοποιήσει τον πραγματικό χρήστη και να στείλει περιοδικά αυτές τις πληροφορίες για να εκτρέψει όλες τις εισερχόμενες κλήσεις στον εαυτό τους.

Υπάρχουν διάφορες μεθόδους που ένας εισβολέας θα μπορούσε να χρησιμοποιήσει για να απενεργοποιήσει έναν νόμιμο χρήστη, συμπεριλαμβανομένου: – Η εκτέλεση μιας επίθεσης DOS εναντίον της συσκευής του χρήστη – καταργώντας τον χρήστη (μια άλλη επίθεση που δεν καλύπτεται εδώ) – δημιουργώντας μια καταχώριση αγώνα αγώνα, στην οποία ο επιτιθέμενος στέλνει επανειλημμένα αιτήματα σε ένα μικρότερο χρονικό πλαίσιο (όπως 15 δευτερόλεπτα) για να ξεπεράσει την επίθεση που δεν καλύπτεται εδώ). Όλα αυτά είναι αυθεντικοί κίνδυνοι για τις υπηρεσίες σηματοδότησης WebRTC.

Καθώς η εφαρμογή του SIP δεν υποστηρίζει την ακεραιότητα του ελέγχου των περιεχομένων του μηνύματος, οι επιθέσεις τροποποίησης και επανάληψης δεν ανιχνεύονται επομένως και αποτελούν εφικτό διάνυσμα επίθεσης. Αυτή η επίθεση λειτουργεί ακόμη και αν ο διακομιστής απαιτεί έλεγχο ταυτότητας της εγγραφής χρήστη, καθώς ο εισβολέας μπορεί για άλλη μια φορά να καταγράψει, να τροποποιήσει και να επαναλάβει μηνύματα όπως επιθυμείτε.

Αυτή η επίθεση μπορεί να κατασταλεί με την εφαρμογή SIPS (SIP Over TLS) και να πιστοποιήσει τα αιτήματα και τις απαντήσεις SIP (που μπορεί να περιλαμβάνουν προστασία ακεραιότητας). Στην πραγματικότητα, η χρήση των SIPs και ο έλεγχος ταυτότητας των απαντήσεων μπορεί να καταστείλει πολλές σχετικές επιθέσεις, συμπεριλαμβανομένης της παραμονής και της πλαστοπροσωπίας του μηνύματος ή του χρήστη.

Άλλες πιθανές επιθέσεις

  • Επίθεση MITM
    • Εάν ο επιτιθέμενος είναι σε θέση να παρεμποδίσει τα αρχικά μηνύματα SIP, μπορεί στη συνέχεια να εκτελέσει μια επίθεση MITM.
    • Τα πακέτα που έχουν καταγραφεί θα μπορούσαν να επαναληφθούν στον διακομιστή από ένα κακόβουλο πάρτι, προκαλώντας τον διακομιστή να καλέσει τον αρχικό προορισμό μιας κλήσης. Με άλλα λόγια, αυτό θα μπορούσε ενδεχομένως να πάρει τη μορφή ενός δεύτερου ανεπιθύμητου αιτήματος κλήσης, πανομοιότυπο με ένα από το κόμμα είχε ήδη λάβει. Παρόλο που η ενόχληση, ο επιτιθέμενος δεν θα ήταν κόμμα της κλήσης, καθώς οι πληροφορίες του IP δεν θα συμπεριληφθούν στα πακέτα σηματοδότησης.
    • Οι διακομιστές ιστού δεν είναι κρατικοί, με κάθε αίτημα να εξυπηρετεί μια ξεχωριστή συνεδρία (ανακουφίζει την ανάγκη για συνεχές έλεγχο ταυτότητας). Cookies για έλεγχο ταυτότητας, αλλά δεν είναι τίποτα περισσότερο από ένα αρχείο δεδομένων που περιέχει το αναγνωριστικό περιόδου σύνδεσης. Αυτά τα cookies αποστέλλονται από τον διακομιστή ιστού στο πρόγραμμα περιήγησης κατά την αρχική πρόσβαση.

    Κρυπτογράφηση

    Αν και μπορεί να φανεί ότι η σηματοδότηση παρέχει ένα ιδιαίτερα δελεαστικό πλεονέκτημα για τους επιτιθέμενους να στοχεύσουν, όλα δεν χάνονται. Εκτός από τις ροές των μέσων ενημέρωσης, το στρώμα σηματοδότησης μπορεί επίσης να κρυπτογραφηθεί. Μια τέτοια κρυπτογραφημένη επιλογή είναι το ONSIP, το οποίο χρησιμοποιεί το SIP σε ασφαλείς websockets (wss: // αντί για ws: //), με τη σύνδεση websocket κρυπτογραφημένη από το TLS.

    Αν και εκτός του πεδίου εφαρμογής αυτής της έκθεσης, άλλες τεχνολογίες σηματοδότησης μπορούν επίσης να χρησιμοποιήσουν TLS για να κρυπτογραφήσουν το websocket τους ή άλλη κυκλοφορία ιστού. Όπως συμβαίνει με όλη την κρυπτογράφηση, εάν ο τρίτος δεν γνωρίζει το μυστικό κλειδί κρυπτογράφησης, έτσι δεν μπορούν να διαβάσουν τα περιεχόμενα απλού κειμένου της επικοινωνίας. Αυτό βοηθά στην εξάλειψη του κινδύνου μεγάλου μέρους των παραπάνω φορέων επίθεσης, αν και πρέπει να σημειωθεί ότι ο προγραμματιστής εφαρμογών πρέπει να εφαρμόσει συγκεκριμένα την κρυπτογραφημένη μέθοδο σηματοδότησης για να εφαρμοστεί αυτό.

    4.7. Πρόσθετα θέματα ασφαλείας

    Άποψη του δικτύου τηλεπικοινωνιών

    Παρέχοντας υποστήριξη στο WebRTC, ένα δίκτυο τηλεπικοινωνιών θα πρέπει λογικά να αναμένεται να μην εκτεθεί σε αυξημένο κίνδυνο ασφάλειας. Ωστόσο, οι συσκευές ή το λογισμικό στα χέρια των καταναλωτών αναπόφευκτα θα διακυβευτούν από κακόβουλα κόμματα.

    Για το λόγο αυτό, όλα τα δεδομένα που ελήφθησαν από μη αξιόπιστες πηγές (Ε.σολ. από τους καταναλωτές/χρήστες) πρέπει να επικυρωθούν και το δίκτυο τηλεπικοινωνιών πρέπει να υποθέσει ότι όλα τα δεδομένα που αποστέλλονται στον πελάτη θα ληφθούν από κακόβουλες πηγές.

    Με την υιοθέτηση αυτών των δύο αρχών, ένας πάροχος τηλεπικοινωνιών πρέπει να προσπαθήσει να κάνει όλες τις εύλογες προσπάθειες για την προστασία του καταναλωτή από τα δικά του λάθη που μπορεί να θέσουν σε κίνδυνο τα δικά τους συστήματα.

    Scripting Cross-Site (XSS)

    Το Scripting Cross-Site είναι μια ευπάθεια τύπου που συνήθως βρίσκεται σε εφαρμογές ιστού (όπως τα προγράμματα περιήγησης ιστού μέσω παραβιάσεων της ασφάλειας του προγράμματος περιήγησης) που επιτρέπει στους εισβολείς να εισάγουν σενάριο από την πλευρά του πελάτη σε ιστοσελίδες που βλέπουν οι άλλοι χρήστες. Μια ευπάθεια σενάριο διασταυρούμενης τοποθεσίας μπορεί να χρησιμοποιηθεί από τους επιτιθέμενους για να παρακάμψει τους ελέγχους πρόσβασης, όπως η ίδια πολιτική προέλευσης.

    Η επίδρασή τους μπορεί να κυμαίνεται από μια μικροσκοπική ενόχληση σε σημαντικό κίνδυνο ασφάλειας, ανάλογα με την ευαισθησία των δεδομένων που χειρίζεται ο ευάλωτος χώρος και η φύση οποιουδήποτε μετριασμού της ασφάλειας που εφαρμόζεται από τον ιστότοπο’ιδιοκτήτης.

    Καθώς η κύρια μέθοδος για την πρόσβαση στο WebRTC αναμένεται να χρησιμοποιεί προγράμματα περιήγησης με δυνατότητα HTML5, υπάρχουν συγκεκριμένες εκτιμήσεις ασφαλείας σχετικά με τη χρήση τους, όπως, Προστασία των πλήκτρων και ευαίσθητα δεδομένα από επιθέσεις διασταυρούμενης δέσμης ή σε διασταυρούμενες επιθέσεις, χρήση websocket, ασφάλεια iframe και άλλα θέματα. Επειδή το λογισμικό πελάτη θα ελεγχθεί από τον χρήστη και επειδή το πρόγραμμα περιήγησης δεν τρέχει, στις περισσότερες περιπτώσεις, σε ένα προστατευμένο περιβάλλον, υπάρχουν πρόσθετες πιθανότητες ότι ο πελάτης WebRTC θα συμβεί. Αυτό σημαίνει ότι όλα τα δεδομένα που αποστέλλονται στον πελάτη θα μπορούσαν να εκτεθούν.

    5. Σύγκριση με ανταγωνιστικές/παρόμοιες τεχνολογίες

    Η εξέταση της συγκριτικής ασφάλειας της WebRTC θα αποτύχει να έχει νόημα χωρίς να εξετάσει επίσης την ασφάλεια του διαγωνισμού. Ευτυχώς για το WebRTC, ο διαγωνισμός στο Web-Based Communication Arena έχει το δικό του μερίδιο των θεμάτων.

    Αυτή η ενότητα θα διερευνήσει τα συγκριτικά πλεονεκτήματα και τις αδυναμίες του WebRTC και άλλων πλατφορμών που προσφέρουν ανταγωνιστική λειτουργικότητα RTC.

    Ορισμένες πλατφόρμες που θα μπορούσαμε να εξερευνήσουμε είναι οι ακόλουθες. Οι πλατφόρμες που πρέπει να διερευνηθούν δεν έχουν ακόμη επιλεγεί. (Να έρθει μετά το πρώτο draft.·

    Παρόλο που βασιζόταν ευρέως, οι πρόσθετες διαδικασίες εγκατάστασης μπορούν να δημιουργήσουν φράγμα

    6. Ασφαλείς πρακτικές σχεδιασμού

    Το WebRTC είναι κατασκευασμένο για να είναι ασφαλές. Ωστόσο, κάτι περισσότερο από το τυφλά βασιζόμενο στην υποκείμενη τεχνολογία, είναι καλή ιδέα να συνειδητά κώδικες με γνώμονα την ασφάλεια. Αυτή η ενότητα θα συζητήσει τις πρακτικές κωδικοποίησης που μπορούν να ακολουθήσουν για να εξασφαλίσουν μεγαλύτερη ασφάλεια σε μια εφαρμογή βανίλιας WebRTC. Συγκεκριμένα, αυτές οι πρακτικές θα μπορούσαν να εφαρμοστούν σε οργανισμούς που αναμένουν να χειριστούν ευαίσθητες πληροφορίες, ε.σολ. τραπεζικά ιδρύματα, ιδρύματα υγειονομικής περίθαλψης ή εμπιστευτικές εταιρικές πληροφορίες.

    Ασφαλής σηματοδότηση

    Όπως αναφέρθηκε προηγουμένως, το WebRTC δεν επιβάλλει περιορισμούς στη διαδικασία σηματοδότησης, αφήνοντας τον προγραμματιστή να αποφασίσει για τη δική του προτιμώμενη μέθοδο. Αν και αυτό επιτρέπει ένα βαθμό ευελιξίας που μπορεί να έχει την εφαρμογή WebRTC προσαρμοσμένη στις ανάγκες της εφαρμογής, μπορεί να υπάρχουν κίνδυνοι που σχετίζονται με ορισμένα πρωτόκολλα σηματοδότησης.

    Συνιστάται να εφαρμόσετε ένα πρωτόκολλο σηματοδότησης που παρέχει πρόσθετη ασφάλεια, όπως η κρυπτογράφηση της κυκλοφορίας σηματοδότησης. Από προεπιλογή, μια διαδικασία σηματοδότησης δεν μπορεί να ενσωματώσει καμία κρυπτογράφηση, η οποία μπορεί να αφήσει τα περιεχόμενα όλων των μηνυμάτων που ανταλλάσσονται ανοικτά σε παρακολούθηση. Επομένως, οι εφαρμογές με έμφαση στην ασφάλεια/εμπιστευτικότητα θα πρέπει να διασφαλίσουν ότι το στρώμα σηματοδότησής τους εφαρμόζεται σε ένα ασφαλές πρωτόκολλο όπως SIPs, OpenSIP, HTTPS ή WSS.

    Ο έλεγχος ταυτότητας και παρακολούθηση από ομοτίμους

    Μια βασική εφαρμογή WebRTC απαιτεί μόνο αναγνωριστικό χρήστη για να εκτελέσει μια κλήση, χωρίς να εκτελείται πιστοποίηση από το σημείο προβολής της ίδιας. Μπορεί να είναι επιθυμητό να απαιτηθείτε προ-εγγραφή ή έλεγχος ταυτότητας πριν από τον χρήστη να συμμετάσχει σε κλήση. Στη συνέχεια, οι μη αυθεντικές οντότητες θα πρέπει να διατηρούνται μακριά από τη συνεδρίαση’να φτάσει, περιορίζοντας την προσβασιμότητα σε μη αξιόπιστα μέρη.

    Δεδομένου ότι οι συνδέσεις των μέσων είναι P2P, τα περιεχόμενα των μέσων (κανάλια ήχου και βίντεο) μεταδίδονται μεταξύ των συνομηλίκων απευθείας σε πλήρες διπλό. Έτσι, καθώς ο διακομιστής σηματοδότησης διατηρεί τον αριθμό των συνομηλίκων στην επικοινωνία, θα μπορούσε να παρακολουθείται σταθερά για την προσθήκη ύποπτων συνομηλίκων σε μια συνεδρία κλήσης. Εάν ο αριθμός των συνομηλίκων που παρουσιάζεται πραγματικά στον διακομιστή σηματοδότησης είναι περισσότερο ότι ο αριθμός των συνομηλίκων που αλληλεπιδρούν στη σελίδα WebRTC, τότε θα μπορούσε να σημαίνει ότι κάποιος παρακολουθεί κρυφά και πρέπει να τερματιστεί από την πρόσβαση σε συνεδρίες με δύναμη.

    Αιτήματα άδειας

    Είναι μια γνωστή συμπεριφορά που συχνά οι χρήστες θα συμφωνούν σε αιτήματα άδειας ή παρόμοιους διαλόγους χωρίς να διαβάζουν συνειδητά το μήνυμα. Αυτό θέτει τον κίνδυνο χορήγησης μιας εφαρμογής ιστού με δικαιώματα που δεν προορίζονταν στην πραγματικότητα από τον χρήστη.

    Αν και αυτή η συμπεριφορά δεν μπορεί εύκολα να αντιμετωπιστεί, μια λύση θα μπορούσε να είναι η σαφής λεπτομέρεια στη σελίδα ποια δικαιώματα θα ζητήσει η εφαρμογή. Μια τέτοια εφαρμογή θέτει το απόρρητο ενός χρήστη στο προσκήνιο.

    Ανθρωπος στη μέση

    Στην πιθανότητα ότι ένα κακόβουλο κόμμα καταφέρνει να δημιουργήσει μια επίθεση MITM, δεν υπάρχει συνήθως μια εύκολη λύση για να ανακαλύψετε ή να πολεμήσετε εναντίον του. Αυτό οφείλεται στο γεγονός ότι η επίθεση δεν έχει καμία προειδοποίηση και η επικοινωνία επιτρέπεται να προχωρήσει κανονικά. Εάν κάποιος δεν περιμένει μια τέτοια επίθεση, η επίθεση πιθανότατα θα συνεχιστεί απαρατήρητη.

    Ωστόσο, παρακολουθώντας τακτικά τη διαδρομή των μέσων μαζικής ενημέρωσης χωρίς ύποπτα ρελέ, μπορούμε να κάνουμε ένα μικρό βήμα προς την άμβλυνση των επιθέσεων MITM. Αυτό πρέπει να συνδυαστεί με κρυπτογραφημένη σηματοδότηση, όπως αναφέρθηκε παραπάνω.

    Κοινή χρήση οθόνης

    Μια εφαρμογή που προσφέρει οποιοδήποτε βαθμό λειτουργικότητας ανταλλαγής οθόνης θα πρέπει να διαθέτει προειδοποιήσεις για την προστασία του χρήστη. Όπως συζητήθηκε προηγουμένως, ένας χρήστης μπορεί να μην γνωρίζει την έκταση της κοινόχρηστης οθόνης. Ένα τέτοιο ζήτημα θα πρέπει να επιστρέψει σε μια κατάλληλα σχεδιασμένη εφαρμογή για να παρέχει κατάλληλες τέτοιες πληροφορίες.

    Για παράδειγμα, πριν ξεκινήσει η ροή οποιουδήποτε τμήματος της οθόνης, ο χρήστης πρέπει να ειδοποιηθεί σωστά και να συμβουλεύεται να κλείσει οποιαδήποτε οθόνη που περιέχει ευαίσθητες πληροφορίες.

    Ένα φτωχό

    Ως τελικό μέτρο που θα μπορούσαμε να προωθήσουμε όσον αφορά την φαντασία μιας κατάστασης στο ότι μια ενεργή περίοδος κλήσης διακυβεύεται από ένα μη εξουσιοδοτημένο συμβαλλόμενο μέρος. Εάν μια κλήση επιβεβαιωθεί ότι διακυβεύεται με τέτοιο τρόπο, θα πρέπει να είναι εντός της ισχύος του διακομιστή εφαρμογών ιστού που παρέχει τη σελίδα WebRTC για να κόψει την κλήση.

    7. συμπέρασμα

    Στη σύγχρονη εποχή των smartphones και των κινητών συσκευών οι άνθρωποι επικοινωνούν περισσότερο από ποτέ, και με ακόμη πιο προσωπικούς τρόπους από ό, τι γνωρίζουμε πριν. Ειδικότερα, η κρυπτογράφηση έχει γίνει ένα μεγάλο θέμα τα τελευταία χρόνια, μετά την αυξανόμενη συνειδητοποίηση των μεγάλων σκανδάλων εταιρικών πειρατείας και της ευρείας κυβερνητικής τηλεπικοινωνίας παρακολούθησης. Το αποτέλεσμα των οποίων ήταν η ταχεία αύξηση της δυσπιστίας των χρήστη τέτοιων οργανισμών και οι προσκλήσεις για όπλα κατά την εφαρμογή σημαντικά βελτιωμένα μέτρα ασφαλείας. Όλος ο τελικός χρήστης θέλει είναι να γνωρίζει ότι τα προσωπικά του δεδομένα διατηρούνται ιδιωτικά υπό έλεγχο.

    Το WebRTC έχει ένα μεγάλο πλεονέκτημα έναντι των περισσότερων υπηρεσιών VoIP στην περιοχή ασφαλείας. Μέχρι τώρα, οι περισσότερες υπηρεσίες έχουν συνήθως αντιμετωπίσει την ασφάλεια ως προαιρετική, πράγμα που σημαίνει ότι οι περισσότεροι τελικοί χρήστες χρησιμοποιούν κλήσεις VOIP χωρίς κρυπτογράφηση. Ειδικά οι μεγάλες εταιρείες είναι ένας κορυφαίος ένοχος γι ‘αυτό, επιλέγοντας να εξοικονομήσουν χρήματα σε φθηνότερες υλοποιήσεις αντί να εξετάζουν σωστά τους χρήστες τους ή την αξία των δεδομένων που χειρίζονται. Όμως, καθώς το WebRTC απαγορεύει την μη κρυπτογραφημένη επικοινωνία, οι χρήστες μπορούν να βεβαιωθούν ότι τα δεδομένα τους παραμένουν ασφαλή και ιδιωτικά.

    Έχοντας σχεδιαστεί με γνώμονα την ασφάλεια, το WebRTC επιβάλλει ή ενθαρρύνει σημαντικές έννοιες ασφαλείας σε όλους τους κύριους τομείς. Ως εκ τούτου, καθώς και απλά χτισμένα ασφαλή, ενθαρρύνει τους προγραμματιστές της WebRTC να πάρουν επίσης την ασφάλειά τους σοβαρά.

    Ως αποτέλεσμα αυτής της έντονης εστίασης στην ασφαλή επικοινωνία, το WebRTC θεωρείται επί του παρόντος από μερικούς ως μία από τις πιο ασφαλείς λύσεις VoIP εκεί έξω. Η κύρια προϋπόθεση της κρυπτογράφησης από προεπιλογή είναι ότι μια κλήση είναι ιδιωτική ανά πάσα στιγμή. Η ασφάλεια και η κρυπτογράφηση δεν θεωρούνται πλέον προαιρετικά χαρακτηριστικά. Και για να ολοκληρώσουν τα πάντα, το WebRTC είναι διαθέσιμο δωρεάν σε όλους, παρέχοντας ένα δελεαστικό και αξιόπιστο πλαίσιο για τους προγραμματιστές για να οικοδομήσουν την επόμενη εφαρμογή τους.

    Στο εγγύς μέλλον μπορούμε να περιμένουμε να δούμε όλο και περισσότερες υπηρεσίες επικοινωνίας που παρέχουν σημαντικά αυξημένη ασφάλεια στους χρήστες τους. Αλλά προς το παρόν, το WebRTC είναι ένας από εκείνους που οδηγούν την κατηγορία.

    8. Βιβλιογραφία

    2. Σύντομη εισαγωγή στο API RTCPEerconnection .
    Δικτύωση προγράμματος περιήγησης υψηλής απόδοσης. Πρόσβαση στις 2015-07-28.

    3. SDP για το WebRTC .
    εργαλεία.iETF.org. Πρόσβαση στις 2015-07-28.

    8. Επίθεση της εβδομάδας: Datagram TLS .
    ιστολόγιο.κρυπτογραφία.com. Πρόσβαση στις 2015-07-28.

    12. IETF-87 RTCWEB Agenda .
    εργαλεία.iETF.org. Πρόσβαση στις 2015-07-28.

    15. Ασφάλεια σε δίκτυο SIP: Προσδιορισμός επιθέσεων δικτύου .
    SearchUnifiedCommunications.techTarget.com. Πρόσβαση στις 2015-07-28.

    17. Ασφάλεια για εφαρμογές WebRTC .
    αλυσιδωτής.wordpress.com. Πρόσβαση στις 2015-07-28.

    18. Ασφάλεια WebRTC .
    αλυσιδωτής.wordpress.com. Πρόσβαση στις 2015-07-28.

    SRTP χρησιμοποιώντας πρωτόκολλο DTLS

    Για κλήσεις SBC, μπορείτε να διαμορφώσετε τη συσκευή για να χρησιμοποιήσετε το πρωτόκολλο Security Layer Security (DTLS) για να εξασφαλίσετε την κυκλοφορία με βάση το UDP (σύμφωνα με τα RFC 4347 και 6347) για συγκεκριμένες οντότητες SIP, χρησιμοποιώντας προφίλ IP. Το DTLS επιτρέπει στις εφαρμογές που βασίζονται σε datagram να επικοινωνούν με τρόπο που έχει σχεδιαστεί για να αποτρέψει την παραβίαση, την παραβίαση ή την πλαστογραφία μηνυμάτων. Το πρωτόκολλο DTLS βασίζεται στο πρωτόκολλο TLS προσανατολισμένο στο ρεύμα, παρέχοντας παρόμοια ασφάλεια. Επομένως, η συσκευή μπορεί να αλληλεπιδράσει σε μικτά περιβάλλοντα όπου ένα δίκτυο μπορεί να απαιτεί DTLS και το άλλο μπορεί να απαιτεί περιγραφή περιγραφής περιγραφής περιγραφής περιγραφής περιγραφής (SDE) ή ακόμα και μη ασφαλές RTP. Η συσκευή υποστηρίζει τη διαπραγμάτευση DTLS για κλήσεις RTP-to-SRTP και SRTP-to-SRTP.

    Η υποστήριξη DTLS είναι σημαντική για την ανάπτυξη με το WebRTC. Το WebRTC απαιτεί να κρυπτογραφηθούν τα κανάλια μέσων μέσω DTL για ανταλλαγή κλειδιών SRTP. Η διαπραγμάτευση των κλειδιών SRTP μέσω DTLs γίνεται κατά τη διάρκεια της χειραψίας DTLS μεταξύ του πελάτη WebRTC και του Peer. Για περισσότερες πληροφορίες σχετικά με το WebRTC, δείτε το WebRTC.

    Σε αντίθεση με το SDE, η κρυπτογράφηση κλειδιών DTLS γίνεται πάνω από το κανάλι μέσων (UDP) και όχι πάνω από το κανάλι σηματοδότησης. Έτσι, το DTLS-SRTP είναι γενικά γνωστό ως “ασφαλής ανταλλαγή κλειδιών έναντι των μέσων”. Το DTLS είναι παρόμοιο με το TLS, αλλά τρέχει πάνω από το UDP, ενώ το TLS είναι πάνω από το TCP. Πριν από τη χειραψία DTLS, οι παραμέτρους DTLS των συνομηλίκων (δακτυλικά αποτυπώματα και εγκατάστασης) και τύπους αλγορίθμων στο σώμα SDP των μηνυμάτων SIP που ανταλλάσσονται για την ίδρυση της κλήσης (αίτημα και απάντηση πρόσκλησης). Οι συνομηλίκοι συμμετέχουν σε χειραψία DTLS κατά τη διάρκεια της οποίας ανταλλάσσουν πιστοποιητικά. Αυτά τα πιστοποιητικά χρησιμοποιούνται για την εξαγωγή ενός συμμετρικού κλειδιού, το οποίο χρησιμοποιείται για την κρυπτογράφηση των δεδομένων (SRTP) ροής μεταξύ των συνομηλίκων. Μια τιμή κατακερματισμού που υπολογίζεται μέσω του πιστοποιητικού μεταφέρεται στο SDP χρησιμοποιώντας το χαρακτηριστικό ‘A = Fingerprint’. Στο τέλος της χειραψίας, κάθε πλευρά επαληθεύει ότι το πιστοποιητικό που έλαβε από την άλλη πλευρά ταιριάζει με το δακτυλικό αποτύπωμα από το SDP. Για να υποδείξει την υποστήριξη DTLS, η προσφορά/απάντηση SDP του μηνύματος SIP χρησιμοποιεί το χαρακτηριστικό ‘a = setup’. Η τιμή χαρακτηριστικού ‘a = ρύθμιση: actpass’ χρησιμοποιείται στην προσφορά SDP από τη συσκευή. Αυτό υποδεικνύει ότι η συσκευή είναι πρόθυμη να είναι είτε πελάτης («ACT») είτε διακομιστής (‘pass’) στη χειραψία. Η τιμή χαρακτηριστικού ‘a = ρύθμιση: ενεργή’ χρησιμοποιείται στην απάντηση SDP από τη συσκευή. Αυτό σημαίνει ότι η συσκευή επιθυμεί να είναι ο πελάτης («ενεργός») στη χειραψία.

    A = Ρύθμιση: ActPass
    a = δακτυλικό αποτύπωμα: 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 επαναχρησιμοποιεί τη σουίτα TLS Cipher. Η χειραψία DTLS γίνεται για κάθε νέα κλήση που έχει ρυθμιστεί για DTLs. Με άλλα λόγια, σε αντίθεση με το TLS όπου η σύνδεση παραμένει “ανοιχτή” για μελλοντικές κλήσεις, απαιτείται νέα σύνδεση DTLS για κάθε νέα κλήση. Λάβετε υπόψη ότι ολόκληρη η ταυτοποίηση και η ανταλλαγή κλειδιών για την εξασφάλιση της κυκλοφορίας των μέσων ενημέρωσης αντιμετωπίζονται στη διαδρομή των μέσων ενημέρωσης μέσω DTLs. Η διαδρομή σηματοδότησης χρησιμοποιείται μόνο για την επαλήθευση των δακτυλικών αποτυπωμάτων πιστοποιητικού των συνομηλίκων. Τα μηνύματα DTLS είναι πολυπλέκονται στις ίδιες θύρες που χρησιμοποιούνται για τα μέσα ενημέρωσης.

    ➢ Για να διαμορφώσετε DTLs:
    1. Στον πίνακα πλαισίου TLS (ανατρέξτε στην ενότητα Ρύθμιση των πλαισίων πιστοποιητικών TLS), διαμορφώστε ένα πλαίσιο TLS με την έκδοση DTLS [TLSCONTEXTS_DTLSVERSION].
    2. Ανοίξτε τον πίνακα ομάδων IP (ανατρέξτε στην ενότητα Ρύθμιση των ομάδων IP) και στη συνέχεια για την ομάδα IP που σχετίζεται με την οντότητα SIP, αναθέστε το πλαίσιο TLS για DTLs, χρησιμοποιώντας την παράμετρο “Media TLS” [IPGroup_DtlScontext].
    3. Ανοίξτε τον πίνακα προφίλ IP (ανατρέξτε στην ενότητα Διαμόρφωση προφίλ IP) και στη συνέχεια για το προφίλ IP που σχετίζεται με την οντότητα SIP, διαμορφώστε τα εξής:
    ● Ρυθμίστε την παράμετρο “SBC Media Security Mode” [IPPROFILE_SBCMEDIASECURITYBEHAVIOR] για ασφαλή ή και τα δύο .
    ● Διαμορφώστε την παράμετρο “Μέθοδος ασφάλειας πολυμέσων” [IPPROFILE_SBCMEDIASECURITYMETHOD] στο DTLS .
    ● Διαμορφώστε την παράμετρο “RTCP MUX” [IPPROFILE_SBCRTCPMUX] στο υποστηριζόμενο . Η πολυπλεξία απαιτείται καθώς η χειραψία DTLS γίνεται για τη θύρα που χρησιμοποιείται για το RTP και επομένως, το RTCP και το RTP πρέπει να πολυπλέκονται στην ίδια θύρα.
    ● Διαμορφώστε την παράμετρο αρχείου INI [SBCDTLSMTU] (ή CLI Command Configure VoIP> Ρυθμίσεις SBC> SBC-DTLS-MTU) για να ορίσετε το μέγεθος της μέγιστης μονάδας μετάδοσης (MTU) για τη χειραψία DTLS.
    4. Διαμορφώστε το ελάχιστο διάστημα που η συσκευή περιμένει μεταξύ της μετάδοσης πακέτων DTLS στην ίδια χειραψία DTLS, χρησιμοποιώντας την παράμετρο αρχείου INI [DTLSTIMEBETWEENTRANSMISSMISSISSIONS].
    ● Η παράμετρος “Cipher Server” πρέπει να ρυθμιστεί σε “όλα”.
    ● Η συσκευή δεν υποστηρίζει τη μείωση της προώθησης των DTL με διαφάνεια μεταξύ των τελικών σημείων.
Το WebRTC χρειάζεται έναν διακομιστή? Χρησιμοποιεί το WebRTC HTTP?

Related Posts

how_to_stay_safe_on_onlyfans_5

Νίσα

OnlyFans Free Pages vs Paid: How Access Differs

onlyfans_help_center

Νίσα

Budgeting Tips and PPV Across Free OnlyFans Pages

6a0b117e02549eec1a0db52c_infographic_user_growth_bar_chart-1

Νίσα

Safe Browsing Protocols for Zero-Dollar OnlyFans Pages

banner
banner

PROMO

racavedigger.com
© racavedigger.com 2026