Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
8,67 MB
Nội dung
NGU YỄN NHẬT THÁI MSSV : N19D CAT0 77 Tên Đề tài: Xây dựng ứng dụng gọi điện bảo mật thông tin dựa WebR TC Securit y Lớp: D19C QAT0 1-N 20222023 BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐẠI HỌC BÁO CÁO THỰC ĐỊNH KỲ THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Xây dựng ứng dụng gọi điện bảo mật thông tin dựa WebRTC Security Đề tài: Người hướng dẫn : PHAN THANH HY Sinh viên thực : NGUYỄN NHẬT THÁI Mã số sinh viên : N19DCAT077 Lớp : D19CQAT01-N Khoá : 2019 - 2023 Hệ : ĐẠI HỌC CHÍNH QUY TP.HCM, tháng 07 /2023 TP HCM 2023 BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Xây dựng ứng dụng gọi điện bảo mật thông tin dựa WebRTC Security Đề tài: Người hướng dẫn : PHAN THANH HY Sinh viên thực : NGUYỄN NHẬT THÁI Mã số sinh viên : N19DCAT077 Lớp : D19CQAT01-N Khoá : 2019 - 2023 Hệ : ĐẠI HỌC CHÍNH QUY TP.HCM, tháng 07 /2023 Nguyễn Nhật Thái – N19DCAT077 MỞ ĐẦU Thế kỉ 21 coi thời đại kỉ nguyên số với phát triển mạnh mẽ vượt bậc Công nghệ thông tin Việc trao đổi liệu qua khơng gian mạng theo mà trở nên quan trọng dễ dàng Tuy nhiên, hệ lụy “tiện ích” việc rị rỉ thông tin quan trọng, nhạy cảm, đe dọa đến lợi ích người dùng, tổ chức, chí quốc gia Do mà người ta nghiên cứu nhiều thuật toán giấu tin nhằm nâng cao tính bảo mật q trình truyền liệu Với đề tài lần này, em tiến hành nghiên cứu WebRTC Security ứng dụng WebRTC Security vào ứng dụng điện thoại giúp bảo mật đường truyền liệu nào? Đồng thời, phát triển thực hành ứng dụng gọi điện dựa WebRTC Security Nguyễn Nhật Thái – N19DCAT077 LỜI CẢM ƠN Em xin chân thành cám ơn thầy Phan Thanh Hy tạo điều kiện thuận lợi suốt trình học tập Đặc biệt trình làm báo cáo thực tập tốt nghiệp, em nhận quan tâm, động viên hướng dẫn tận tình từ Thầy Trong trình thực đề tài này, em ln cố gắng tìm hiểu, trao đổi học hỏi kiến thức để hoàn thành đề tài cách tốt Tuy nhiên không tránh khỏi sai sót Mong Thầy xem xét góp ý giúp nhóm em để đề tài hoàn thiện Em xin chân thành cảm ơn Nguyễn Nhật Thái – N19DCAT077 MỤC LỤC LỜI CẢM ƠN CHƯƠNG 1: TÌM HIỂU VỀ WEBRTC SECURITY .5 1.1 Tổng quan: 1.2 Giới thiệu: 1.3 Bảo mật WebRTC: .5 1.3.1 Cài đặt Cập nhật 1.3.2 Truy cập vào tài nguyên Phương tiện / Địa phương 1.3.3 Mã hóa phương tiện & Bảo mật giao tiếp 1.3.4 Bảo mật vị trí IP 1.3.5 Lớp tín hiệu 1.3.6 Bảo mật bổ sung CHƯƠNG 2: TÌM HIỂU VỀ CÁC CÔNG NGHỆ TRONG WEBRTC SECURITY .9 2.1 Tổng quan kiến trúc WebRTC Security 2.2 Cách giao tiếp WebRTC Security .9 2.2.1 MediaStream 10 2.2.2 RTC Peer Connection .10 2.2.3 RTC Data Channel 10 2.3 Một số công nghệ WebRTC Security .11 2.3.1 SDP: Giao thức mô tả phiên .11 2.3.2 ICE: Thiết lập Kết nối Tương tác .12 2.3.3 STUN: Các tiện ích truyền tải phiên cho NAT 12 2.3.4 TURN: Traversal Sử dụng Rơle xung quanh NAT 13 CHƯƠNG 3: CÁCH TRIỂN KHAI WEBRTC SECURITY TRONG CÁC ỨNG DỤNG GỌI ĐIỆN 14 3.1 Giới thiệu 14 3.2 Báo hiệu Máy chủ tín hiệu 14 3.3 Giao thức mô tả phiên .15 3.4 Ứng viên ICE 15 3.5 CHẠY & BẬT 16 3.6 Kết nối ngang hàng 16 3.6.1 Quy trình tích hợp 16 3.6.2 Thực gọi 18 3.6.3 Tạo kết nối ngang hàng 19 3.6.4 Bắt đầu thương lượng .20 3.6.5 Thương lượng phiên 21 3.6.7 Gửi ứng viên ICE .22 3.6.8 Tiếp nhận ứng viên ICE 23 CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT THÔNG TIN DỰA TRÊN WEBRTC SECURITY 24 2.1 Sơ đồ triển khai .24 2.2 Chạy thử chương trình .24 Nguyễn Nhật Thái – N19DCAT077 DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH Hình 1 Giao diện web RTC Security Hình Cấu trúc liên kết gọi WebRTC đơn giản Hình Ngăn xếp giao thức WebRTC 11 Hình 1.4 Giao thức mơ tả phiên (SDP) 15 Hình 1.5 Mơ tả kết nối ngang hang 16 Hình 1.6 Sơ đồ video-offer video-answer 17 Hình 1.7 Sơ đồ trao đổi ICE 18 Hình 1.8 Hàm Constraints 19 Hình 1.9 Hàm kết nối ngang hàng 20 Hình 1.10 Hàm xử lý kiện cần thương lượng 21 Hình 1.11 Hàm nhận gọi đến 22 Hình 1.12 Hàm gửi ứng viên ICE 23 Hình 1.13 Hàm xây dựng đối tượng RTCIceCandidate 23 Hình Sơ đồ ứng dụng webRTC Security Hình 2 Nhập tên phía client A Hình Nhập tên phía client Hình Màn hình giao diện user phía client Hình Tiến hành gọi thoại Hình Màn hình gọi thoại Hình Màn hình gọi phía client B Hình Khi nghe máy Hình Màn hình thu nhỏ Hình 10 Gọi video Hình 11 Bên phía client B Hình 12 Nhận gọi Hình 13 Phân tích gói tin wireshark Hình 14 Hai client trao đổi với Hình 15 Tiến hành kết nối (gọi điện) Hình 16 Thơng tin mã hóa qua giao thức UDP Hình 17 Code ativity main Hình 18 Singel call Hình 19 Thực gọi Hình 20 Nhận gọi Hình 21 Cuộc gọi video Hình 22 Thực gọi video Hình 23 Nhận gọi video Hình 24 Code base activity Hình 25 Web Socket Hình 26 Nhận danh sách người dùng Hình 27 Gọi thoại Hình 28 Các trường hợp Hình 29 Các trường hợp Hình 30 Gọi video Hình 31 Chỉnh Camera trước sau Hình 32 Chuyển chế độ gọi thoại mở cửa sổ nhỏ Nguyễn Nhật Thái – N19DCAT077 Document continues below Discover more from: Tập Tốt Thực Nghiệp Học viện Công ng… 13 documents Go to course HinhThuc trinhbay 14 TTTN-QD-922-… Thực Tập Tốt Nghiệp None Báo Cáo Thực Tập 44 10 Tốt Nghiệp Tại Côn… Thực Tập Tốt Nghiệp None LE THI MINH Trang BAI BAO d9yji Thực Tập Tốt Nghiệp None Bao cao - 80 - 0150 114 Nguyễn Ngô Hồng… Thực Tập Tốt Nghiệp None Bao cao - 03 - 0132 110 Trương Công Minh Thực Tập Tốt Nghiệp None BÁO CÁO THỰC TẬP KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT 63 WebRTC: Web Real-Time Communication HTTPS: Hypertext Transfer Protocol Secure VoIP: Voice over Internet Protocol DTLS: Datagram Transport Layer Security SRTP: Secure Real-time Transport Protocol NAT: Network Address Translator STUN: Session Traversal Utilities for NAT SDP: Session Description Protocol API: Application Programming Interface SMTP: Simple Mail Transfer Protocol SIP: Session Initiation Protocol IP: Internet Protocol JS: JavaScript - Bùi Kim Cường Thực Giao tiếp thời gian Tập thực Tốt Web None Nghiệp Giao thức truyền siêu văn Bảo mật Giao thức thoại qua Internet Datagram Transport Layer Security Giao thức truyền tải thời gian thực an tồn Trình biên dịch địa mạng Các tiện ích truyền tải phiên cho NAT Giao thức Mơ tả Phiên Giao diện chương trình ứng dụng Giao thức chuẩn TCP/IP dùng để truyền tải thư điện tử (e-mail) mạng internet Giao thức bắt đầu phiên Giao thức Internet Ngơn ngữ lập trình Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 1: TÌM HIỂU VỀ WEBRTC SECURITY CHƯƠNG 1: TÌM HIỂU VỀ WEBRTC SECURITY 1.1 Tổng quan: Giao tiếp thời gian thực Web (viết tắt WebRTC) xu hướng gần công nghệ ứng dụng web, hứa hẹn khả cho phép giao tiếp thời gian thực trình duyệt mà khơng cần plug-in yêu cầu khác Tuy nhiên, chất nguồn mở cơng nghệ có khả gây lo ngại liên quan đến bảo mật cho người áp dụng công nghệ tiềm 1.2 Giới thiệu: WebRTC công nghệ ứng dụng dựa web mã nguồn mở, cho phép người dùng gửi phương tiện thời gian thực mà không cần cài đặt plugin Việc sử dụng trình duyệt phù hợp cho phép người dùng gọi cho bên khác cách duyệt đến trang web có liên quan Một số trường hợp sử dụng cơng nghệ bao gồm: Cuộc gọi âm / video thời gian thực Hội nghị web Truyền liệu trực tiếp Không giống hầu hết hệ thống thời gian thực (ví dụ: SIP), thơng tin liên lạc WebRTC điều khiển trực tiếp số máy chủ Web, thông qua API JavaScript Triển vọng cho phép giao tiếp âm hình ảnh nhúng trình duyệt khơng có plugin thú vị Tuy nhiên, điều đương nhiên làm dấy lên lo ngại tính bảo mật cơng nghệ liệu tin cậy để cung cấp thông tin liên lạc đáng tin cậy cho người dùng cuối nhà cung cấp dịch vụ trung gian bên thứ ba hay không 1.3 Bảo mật WebRTC: 1.3.1 Cài đặt Cập nhật Một vấn đề phổ biến với phần mềm máy tính để bàn truyền thống liệu người ta tin tưởng vào ứng dụng hay khơng Việc cài đặt phần mềm plugin cài đặt lút phần mềm độc hại phần mềm không mong muốn khác Nhiều người dùng cuối phần mềm tạo từ đâu xác họ tải ứng dụng từ Các bên thứ ba độc hại thành cơng lớn việc đóng gói lại phần mềm hồn toàn an toàn đáng tin cậy để bao gồm phần mềm độc hại cung cấp gói tùy chỉnh họ trang web phần mềm miễn phí Tuy nhiên, WebRTC plugin, khơng có q trình cài đặt cho thành phần Tất cơng nghệ WebRTC cài đặt đơn giản phần việc tải xuống trình duyệt tương thích với WebRTC phù hợp, chẳng hạn Chrome Firefox Nếu người dùng có trình duyệt vậy, họ duyệt đến sử dụng ứng dụng WebRTC mà không cần thiết lập chuẩn bị khác Do đó, Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 1: TÌM HIỂU VỀ WEBRTC SECURITY khơng có nguy cài đặt phần mềm độc hại vi rút thông qua việc sử dụng ứng dụng WebRTC thích hợp Tuy nhiên, ứng dụng WebRTC phải truy cập thông qua trang web HTTPS ký trình xác thực hợp lệ Verisign Một vấn đề liên quan khác việc vá lỗi bảo mật phát phần mềm Như với công nghệ phần mềm nào, hồn tồn có khả lỗi lỗ hổng tương lai phát WebRTC Nếu lỗ hổng bảo mật tìm thấy ứng dụng máy tính để bàn truyền thống (chẳng hạn ứng dụng VoIP điển hình), việc phát triển vá nhiều thời gian Đây vấn đề thường xuyên xảy với việc phát triển ứng dụng, bảo mật thường coi yếu tố phụ sau chức Đi sâu vấn đề này, chiêm nghiệm phương pháp giao tiếp dựa phần cứng Bao lâu điện thoại VoIP nhận cập nhật bảo mật? Bạn tin tưởng người chịu trách nhiệm cập nhật thường xun khơng? Bạn chí có biết người chịu trách nhiệm không? Trái ngược với điều này, trình duyệt bối cảnh phát triển với tốc độ nhanh tần suất phạm vi rủi ro mà người dùng phải đối mặt, tính chất phổ biến chúng (và tầm quan trọng thơng tin truy cập thơng qua trình duyệt) Vì thành phần WebRTC cung cấp phần trình duyệt, chúng cập nhật trình duyệt cập nhật Nếu lỗ hổng tương lai tìm thấy trình triển khai WebRTC trình duyệt, sửa lỗi gửi nhanh chóng Điều đặc biệt thấy chu kỳ phát triển nhanh chóng Chrome Firefox Trên thực tế, thời đại cập nhật tự động, thành phần WebRTC cập nhật thơng qua phiên trình duyệt sau vá tạo sẵn máy chủ Hầu hết trình duyệt đại có thành tích tốt việc tự động cập nhật vòng 24 kể từ phát lỗ hổng mối đe dọa nghiêm trọng 1.3.2 Truy cập vào tài nguyên Phương tiện / Địa phương Trình duyệt truy cập tài nguyên cục (bao gồm máy ảnh, micrô, tệp), điều dẫn đến mối lo ngại tránh khỏi ứng dụng web truy cập vào micrô máy ảnh người dùng Nếu ứng dụng web tự truy cập vào máy ảnh micrơ người dùng, ứng dụng vơ đạo đức cố gắng ghi lại phân phối nguồn cấp liệu video âm mà người dùng khơng hay biết Nó vấn đề đơn giản trang web nằm tab để lạm dụng lòng tin người dùng (người dùng chí khơng nhận trang web chứa ứng dụng giao tiếp vậy) WebRTC chống lại điều cách yêu cầu người dùng cấp quyền rõ ràng cho máy ảnh micrơ sử dụng (cả hai định cấu hình riêng lẻ) Có thể u cầu người dùng truy cập lần vĩnh viễn Ứng dụng WebRTC khơng thể có quyền truy cập vận hành hai thiết bị cách tùy tiện Hơn nữa, micrô máy ảnh sử dụng, giao diện người dùng ứng dụng khách yêu cầu để hiển thị rõ ràng cho người dùng Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 12 Nhận gọi 2.3 Phân tích gói tin 35 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học - CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Tiến hành bắt gói tin trao đổi client - Các gói tin gửi nhận máy client - Khi tiến hành gọi điện, client trao đổi với qua giao thức UDP - Các thông tin gửi nhận lại mã hóa Hình Phân tích gói tin wireshark Hình Hai client trao đổi với Hình Tiến hành kết nối (gọi điện) 36 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 10 Thơng tin mã hóa qua giao thức UDP 2.4 Phân tích lập trình 37 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 11 Code ativity main Hình 12 Singel call 38 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 13 Thực gọi Hình 14 Nhận gọi 39 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 15 Cuộc gọi video Hình 16 Thực gọi video 40 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 17 Nhận gọi video Hình 18 Code base activity 41 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 19 Web Socket 42 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 20 Nhận danh sách người dùng Hình 21 Gọi thoại 43 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 22 Các trường hợp Hình 23 Các trường hợp 44 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 24 Gọi video Hình 25 Chỉnh Camera trước sau 45 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY Hình 26 Chuyển chế độ gọi thoại mở cửa sổ nhỏ 46 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY DANH MỤC TÀI LIỆU THAM KHẢO Danh mục Website tham khảo: https://www.mirrorfly.com/blog/create-audio-video-call-application-using-webrtcjavascript/ https://www.researchgate.net/publication/289406856_The_Security_of_WebRTC https://webrtc-security.github.io/#ref.4 https://help.aircall.io/en/articles/4057043-the-security-of-webrtc-aircall https://webrtc.googlesource.com/ https://github.com/ddssingsong/webrtc_server_node https://github.com/ddssingsong/webrtc_server_java https://webrtc.org/ https://github.com/LingyuCoder/SkyRTC 47 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY NHẬN XÉT QUÁ TRÌNH THỰC TŠP CỦA SINH VIÊN Họ tên sinh viên : Nguyễn Nhật Thái Lớp : D19CQAT01-N Nơi thực tập : Cơng ty TNHH Khải Hồn Holdings Họ tên người nhận xét : … Nội dung đánh giá Xếp loại (đánh dấu vào chọn) Trung Trung Tốt Khá bình Yếu bình yếu I Tính kỷ luật tư chất I.1 Thực nội quy I.2 Thái độ làm việc I.3 Năng lực tiếp thu I.4 Khả vượt khó I.5 Giao tiếp ứng xử II Khả chuyên môn II.1 Kiến thức II.2 Kỹ thực hành II.3 Năng lực ngoại ngữ II.4 Kỹ làm việc nhóm II.5 Tính sáng tạo III Kết thực đề tài giao I.1 Thực yêu cầu nội dung I.2 Thực yêu cầu tiến độ IV Nhận xét khác lời khuyên cho sinh viên: V Điểm tổng kết thực tâ Šp tốt nghiêpŠ (thang điểm 10): ……… 48 Nguyễn Nhật Thái – N19DCAT077 Báo cáo TTTN Đại học CHƯƠNG 4: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GỌI ĐIỆN BẢO MẬT DỰA TRÊN WEBRTC SECURITY XÁC NHẬN CỦA TỔ CHỨC/DOANH NGHIỆP NGƯỜI NHẬN XÉT (ký tên ghi rõ họ tên) Ghi chú: Cơ quan xác nhận phải quan đăng ký thực tập, quan chủ quản đơn vị thực tập Dấu xác nhận dấu tròn 49 Nguyễn Nhật Thái – N19DCAT077