nghiên cứu xây dựng ứng dụng bảo mật voip trên hĐh android

26
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

Upload: nguyen-tuan

Post on 15-Aug-2015

70 views

Category:

Software


5 download

TRANSCRIPT

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 – Thành phần cốt lõi

o Gatewayo GateKeepero IP networko End User

Equipments

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

Phân tích thiết kế

o Sơ đồ usecase hệ thống

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

Cài đặt, thử nghiệm hệ thống

Đăng ký tài khoản Đăng nhập hệ thống

Cài đặt, thử nghiệm hệ thống

Thực hiện cuộc gọi Nhận cuộc gọi

Cài đặt, thử nghiệm hệ thống

Gửi tin nhắn Nhận tin nhắn

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

Cảm ơn Thầy cô và các Bạn đã lắng nghe.