Upload
nguyen-tuan
View
70
Download
5
Embed Size (px)
Citation preview
Học viện Kỹ Thuật Mật Mã
Đồ Án: Nghiên cứu xây dựng ứng dụng bảo
mật VoIP trên HĐH Android
• Sinh viên thực hiện: Nguyễn Anh Tuấn• Cán bộ hướng dẫn: TS. Nguyễn Quốc Toàn
Nội dung
o Đặt vấn đề
o Mục đích phạm vi nghiên cứu
o Tổng quan về VoIP và giao thức SRTP
o Xây dựng ứng dụng
o Phương hướng phát triển
Đặt vấn đề
o Thị trường OTT – VOIP• Quốc tế
Whatsapp, Viber, Line, Kakao Talk,...• Trong nước
Zalo, Mocha...
Mục đích – phạm vi nghiên cứu
o Tạo ra một sản phẩm VoIP với những tính năng tương đương với những sản phẩm VoIP hiện có.
o Bổ sung thêm tính năng mới hấp dẫn người dùng.
o Khắc phục vấn đề bảo mật trong ứng dụng VoIP
VoIP là gì ?
oVoIP (Voice over Internet Protocol)• Công nghệ cho phép truyền
âm thanh thời gian thực qua băng thông Internet và các kết nối IP.
• Sử dụng kỹ thuật số - yêu cầu kết nối băng thông tốc độ cao (DSL, cáp).
• Một trong những công nghệ viễn thông đang được quan tâm nhất hiện nay vì sự tiện dụng và hiệu quả kinh tế nó mang lại.
VoIP – Ưu, nhược điểm
o Ưu điểm• Chi phí xây dựng hệ
thống thấp• Dễ kiểm soát• Dễ tích hợp• Tận dụng hết các khả
năng của mạng với chi phí thấp (nén, mã hóa, gom dữ liệu)
o Nhược điểm• Chất lượng chưa cao• Vấn đề bảo mật
VoIP – Phương thức hoạt động
1. Call Setup• Xác định địa chỉ
• Thiết lập kết nối giữa người gửi và người nhận
2. Voice data processing• Chuyển đổi tín hiệu từ analog sang digital• Nén dữ liệu• Mã hóa• Chèn vào gói tin, gửi đi• Biên dịch lại gói tin sang tín hiệu âm thanh ở thiết bị người nhận
Giao thức dùng cho các gói âm thanhnày là RTP.
VoIP – Giao thức điều khiển và báo hiệu
1. Signaling protocolĐiều khiển việc cài đặt cuộc gọi. Bao gồm: • H.323 • SIP• MGCP• Megaco/H.248
2. Media ProtocolĐiều khiển việc truyền tải dữ liệu âm thanh qua môi trường mạng IP. Bao gồm: • RTP (Real-Time Protocol)• RTCP (RTP control Protocol)• SRTP (Secure Real-Time Transport Protocol)• SRTCP (Secure RTCP)
VoIP – Bảo mật
Mối đe dọa:o Gián đoạn và quấy rối dịch vụo Nghe trộm và phân tích dữ liệu trên đường truyểno Giả mạo và đánh lừao Truy cập trái phépo Gian lận...Hướng khắc phục và biện pháp giải quyết:o Mã hóa gói tin theo công nghệ IPSec sẽ giúp tránh được việc nghe léno Bảo vệ tín hiệu âm thanh, hình ảnh bằng công nghệ SRTPo Đối với Gateway và Switch công nghệ SSH nên được thay thế cho clear-
text protocol và HTTPs nên được dùng thay cho HTTP...
SRTP
o SRTP (Secure Real-time Transport Protocol) – Giao thức an toàn thời gian thực là một mô tả sơ lược của RTP được định nghĩa trong RFC3711 nhằm cung cấp tính bảo mật, tính toàn vẹn và xác thực thông báo trong môi trường truyền thông (tiếng nói và hình ảnh).
o SRTP là giải pháp tối ưu để bảo mật dữ liệu VoIP, đảm bảo tính bí mật toàn vẹn payload của gói RTP, chống tấn công lặp (replay protection)
Mật mã trong SRTP
o Mỗi dòng SRTP yêu cầu cả người gửi và người nhận duy trì trạng thái mã hóa thông tin.
o SRTP sử dụng 2 loại khóa:o Khóa phiên (Session Key)
Sử dụng trực tiếp trong các phép biến đổi mật mã (mã hóa hoặc xác thực thông điệp)o Khóa chủ (Master Key)
Là một chuỗi bit ngẫu nhiên (được đưa ra bởi giao thức quản lý khóa) từ đó đảm bảo cho khóa phiên được sinh ra một cách an toàn
MIKEY, KEYMGT, SDMS là các cơ chế khóa tiêu chuẩn được sử dụng trong quá trình mã hóa.
Mã hóa trong SRTP
o Quá trình mã hóao KG (Bộ sinh dòng khóa) tạo ra các phân đoạn dòng khóa tương ứng
với từng gói tin.o Thực hiện phép tính XOR với payload của gói RTP để sinh ra phần
mã hóa (Encryted Portion)
o Quá trình giải mã o Thực hiện cùng mộtcách nhưng tráo đổi đi vai trò của bản rõ và bản mã
Thuật toán mã hóa trong SRTP
o Thuật toán mã hóa mặc định là AES và có 2 chế độ để chạy AES đó là:• Segmented Integer Counter (SIC)• F8
Mã hóa NULL được sử dụng khi không thực hiện các yêu cầu bảo mật cho RTP/SRTP. Các dòng khóa được coi như là “000..0” tức là mã hóa sẽ chỉ cần sao chép vào bản rõ sau đó sinh bản mã.
Thực thi SRTP trong ứng dụng VoIP
o Ứng dụng thực thi SRTP sẽ chuyển đổi những gói tin RTP thành những gói tin SRTP trước khi được gửi đi thông qua đường truyền mạng. Cũng với cơ chế đó sử dụng ngược lại để giải mã gói tin SRTP, chuyển đổi thành gói tin RTP.
Xây dựng hệ thống VoIP
o Lựa chọn và cài đặto SIP Server Sử dụng SIP server – Linphone, là một dịch vụ SIP Server miễn phí cho phép người dùng tạo các cuộc gọi audio/video sử dụng địa chỉ SIP dưới tên miền sip.linphone.orgo SIP Client
Sử dụng mã ngồn mở Linphone, là một SIP Client mã nguồn mở có sẵn trên nhiều nên tảng khác nhau (IOS,Android, WinPhone 8, Linux...)
Giới thiệu Linphone và LibLinphone
o Linphone o Là một mã nguồn mở SIP Cliento Một số ưu điểm
o Hỗ trợ nhiều codec audio: G729, iLBC, Slik,..o Tính năng loại bỏ tiếng vọngo Tích hợp danh bạ và nhật ký cuộc gọio Hoạt động hiệu quả và ổn đinh
o LibLinphoneo Là một thư viện cung cấp tất cả các phương thức, đăng ký, gửi tin
nhắn, khởi tạo, nhận và hủy cuộc gọi.o Bao gồm:
o Mediastreamer2: xử lý việc gửi và nhận các gói tin đa phương tiệno oRTP: thư viện RTP đơn giảno belle-sip: cung cấp các phương thức tạo, gửi và nhận bản tin SIP
Phân tích thiết kế
o Các tính năng sẽ xây dựngo Xem danh bạo Thêm, sửa, xóa danh bạo Xem danh sách nhật kí cuộc gọio Thực hiện cuộc gọio Tạo hộp thoại tin nhắn mớio Gửi tin nhắn text, tin nhắn hình ảnh
Công cụ - Quản lý mã nguồn
o Công cụ lập trìnho Android Studio (IDE)o Genymotion (Máy ảo)
o Công cụ quản lý mã nguồno Githubo SourceTree
o Mã nguồn
https://github.com/natuan0rg/ViPhone
Kết luận
o Đạt được o Tìm hiểu hệ thống VoIP, các thành phần của hệ thống cũng
như những ưu điểm, nhược điểm của hệ thốngo Tìm hiểu về giao thức khởi tạo phiên SIP, cấu trúc bản tin, cũng
nhưn trình tự thực hiện cuộc gọio Tìm hiểu về hệ điều hành Android, các thành phần cơ bản của
nó và cũng đã xây dựng được phần mềm VoIP Client trên hệ điều hành này
o Hạn chếo Chưa xây dựng được SIP Servero Giao diện VoIP Client chưa đẹp và chưa hợp lýo Chưa có bài Test trên quy mô lớn để kiểm tra tính tương thích
của ứng dụng trên những thiết bị android khác.
Hướng phát triển
o Hoàn thiện thêm về chức năng của phần mềmo Xây dựng SIP Server riêng sử dụng Kamailioo Chat nhómo Sử dụng các bộ Emoticono Chia sẻ vị trí và tìm kiếm bạn bè dựa trên vị trí hiện tạio Hoàn thiện giao diện và phát hành phần trên chợ ứng
dụng Play Store