Vibechat - Phần mềm nhắn tin tuyệt mật

Ngày nay với sự phát triển mạnh mẽ của Internet, con người có thể dễ dàng kết nối, giao tiếp, chia

sẻ thông tin với nhau qua các ứng dụng nhắn tin hay mạng xã hội. Một số mạng xã hội, phần

mềm nhắn tin phổ biến hiện nay có thể kể đến như: Facebook, Twitter, Skype, Weibo, WeChat,

WhatsApp, Zalo, v.v

Để tồn tại, con người chúng ta cần giao tiếp và trao đổi thông tin. Có thể nói hội thoại là nhu cầu

thiết yếu và mang tính riêng tư của con người. Tại điều 12 trong bản Tuyên ngôn Quốc tế về Nhân

quyền đã khẳng định rằng: "Bất cứ ai cũng không phải chịu sự can thiệp một cách tùy tiện vào cuộc

sống riêng tư, gia đình, nơi ở hoặc thư tín của mình. Mọi người đều có quyền được pháp luật bảo vệ

và chống lại sự can thiệp và xâm phạm quyền riêng tư‛. Thế nhưng, đa số các mạng xã hội hay

phần mềm nhắn tin hiện nay lại vi phạm nghiêm trọng điều luật trên. ‚Sản phẩm miễn phí thì người

dùng trở thành sản phẩm‛ đánh đổi lại việc được sử dụng miễn phí, người dùng phải cung cấp các

thông tin cá nhân và đồng ý để các mạng xã hội hay phần mềm nhắn tin sử dụng các thông tin mà

họ cung cấp và các dữ liệu hoạt động của họ cho các hoạt động quảng cáo, kinh doanh, v.v

Vibechat - Phần mềm nhắn tin tuyệt mật trang 1

Trang 1

Vibechat - Phần mềm nhắn tin tuyệt mật trang 2

Trang 2

Vibechat - Phần mềm nhắn tin tuyệt mật trang 3

Trang 3

Vibechat - Phần mềm nhắn tin tuyệt mật trang 4

Trang 4

Vibechat - Phần mềm nhắn tin tuyệt mật trang 5

Trang 5

Vibechat - Phần mềm nhắn tin tuyệt mật trang 6

Trang 6

Vibechat - Phần mềm nhắn tin tuyệt mật trang 7

Trang 7

pdf 7 trang minhkhanh 2740
Bạn đang xem tài liệu "Vibechat - Phần mềm nhắn tin tuyệt mật", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Vibechat - Phần mềm nhắn tin tuyệt mật

Vibechat - Phần mềm nhắn tin tuyệt mật
53 
VIBECHAT PHẦN MỀM NHẮN TIN TUYỆT MẬT 
Hoàng Kim Phúc 
Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP. Hồ Chí Minh 
GVHD: Khang 
TÓM TẮT 
VibeChat bảo vệ tuyệt đối tin nhắn và thông tin người dùng, giúp người dùng có thể thoải mái trò 
chuyện mà không lo sợ tin nhắn của mình bị xem trộm, hay lộ các thông tin cá nhân. 
Từ khóa: Nhắn tin, bảo mật, tuyệt mật, thông tin, NoSQL. 
1 Ệ 
1.1 Mạng xã hội và các phần mềm nhắn tin 
Ngày nay với sự phát triển mạnh mẽ của Internet, con người có thể dễ dàng kết nối, giao tiếp, chia 
sẻ thông tin với nhau qua các ứng dụng nhắn tin hay mạng xã hội. Một số mạng xã hội, phần 
mềm nhắn tin phổ biến hiện nay có thể kể đến như: Facebook, Twitter, Skype, Weibo, WeChat, 
WhatsApp, Zalo, v.v 
Để tồn tại, con người chúng ta cần giao tiếp và trao đổi thông tin. Có thể nói hội thoại là nhu cầu 
thiết yếu và mang tính riêng tư của con người. Tại điều 12 trong bản Tuyên ngôn Quốc tế về Nhân 
quyền đã khẳng định rằng: "Bất cứ ai cũng không phải chịu sự can thiệp một cách tùy tiện vào cuộc 
sống riêng tư, gia đình, nơi ở hoặc thư tín của mình. Mọi người đều có quyền được pháp luật bảo vệ 
và chống lại sự can thiệp và xâm phạm quyền riêng tư‛. Thế nhưng, đa số các mạng xã hội hay 
phần mềm nhắn tin hiện nay lại vi phạm nghiêm trọng điều luật trên. ‚Sản phẩm miễn phí thì người 
dùng trở thành sản phẩm‛ đánh đổi lại việc được sử dụng miễn phí, người dùng phải cung cấp các 
thông tin cá nhân và đồng ý để các mạng xã hội hay phần mềm nhắn tin sử dụng các thông tin mà 
họ cung cấp và các dữ liệu hoạt động của họ cho các hoạt động quảng cáo, kinh doanh, v.v 
Khi sử dụng các mạng xã hội hay ứng dụng nhắn tin trực tuyến, người dùng có thể gặp phải các 
quảng cáo có liên quan đến nội dung cuộc trò chuyện của mình. Hơn thế nữa, khi người dùng trò 
chuyện trực tiếp với nhau thì họ vẫn gặp phải các quảng cáo liên quan đến nội dung cuộc trò 
chuyện của mình. Các nhà cung cấp dịch vụ mạng xã hội hay ứng dụng nhắn tin trực tuyến đã khai 
thác dữ liệu riêng tư của người dùng và sử dụng cho mục đích kinh doanh. Họ sử dụng mọi cách 
thức để có thể thu thập dữ liệu của người dùng như ghi âm, nghe lén, quay trộm, trình đọc màn 
hình, keylogger, v.v Người dùng thực sự đã trở thành những con gà đẻ trứng vàng cho các nhà 
cung cấp dịch vụ trên. 
1.2 VibeChat – Phần mềm nhắn tin tuyệt mật 
VibeChat ra đời với lý tưởng cung cấp một nền tảng an toàn, bảo mật tuyệt đối sự riêng tư của 
người dùng trên internet, nơi người dùng có thể thoải mái giao tiếp với mọi người mà không sợ lộ 
54 
bất cứ thông tin cá nhân hay những câu chuyện riêng tư nào. Ứng dụng được xây dựng như một 
phòng chat, người dùng đăng ký tài khoản và đăng nhập để sử dụng. Khi đã có tài khoản riêng, 
mọi người kết nối với nhau bằng tài khoản đã đăng ký. VibeChat cung cấp cho người dùng các 
chức năng như sau: 
1. Nhắn tin trao đổi văn bản, hình ảnh, âm thanh; 
2. Gửi file đính kèm; 
3. Gọi điện; 
4. Trò chuyện riêng tư; 
5. Trò chuyện nhóm; 
6. Xóa lịch sử trò chuyện. 
Ngoài ra, mọi tin nhắn hay thông tin người dùng đều được mã hóa theo tiêu chuẩn AES (Advanced 
Encryption Standard) đảm bảo mọi thông tin người dùng được bảo vệ an toàn. AES hiện là tiêu 
chuẩn mã hóa đang được Chính phủ Hoa Kỳ sử dụng, nó dựa trên thuật toán Rijndael được phát 
triển bởi hai nhà mật mã người Bỉ, Joan Daemen và Vincent Rijmen. Các nhà mật mã học người Bỉ 
đã gửi thuật toán của họ đến Viện Tiêu chuẩn và Kỹ thuật Quốc gia (National Institute of Standards 
and Technology - NIST), cạnh tranh với 14 thuật toán mã hóa khác để trở thành tiêu chuẩn mã hóa 
tiếp theo sau DES. AES là thuật toán khóa đối xứng và sử dụng mật mã khối đối xứng. Nó bao gồm 
ba kích thước chính: 128, 192 hoặc 256 bit. Hơn nữa, có các vòng mã hóa khác nhau cho mỗi kích 
thước khóa. Một vòng là quá trình chuyển văn bản thô thành văn bản mã hóa. Đối với 128-bit, có 10 
vòng (round); 192-bit có 12 vòng, và 256-bit có 14 vòng. 
Có những cuộc tấn công lý thuyết chống lại AES, nhưng tất cả đều yêu cầu lưu trữ dữ liệu cụ thể và 
thời gian nhất định, do đó không khả thi trong thời điểm hiện tại. Ví dụ, một cuộc tấn công vào mã 
hóa AES cần 38 nghìn tỷ dữ liệu, nhiều hơn tất cả dữ liệu được lưu trữ trên tất cả các máy tính trên 
toàn thế giới trong năm 2016. Ước tính thời gian cần thiết để tạo tấn công brute-force khóa AES-128 
là hàng tỷ năm. Như vậy, dữ liệu người dùng có thể đảm bảo dữ liệu riêng tư của người dùng được 
bảo vệ an toàn. 
2 Ư NG NGHIÊN CỨU VÀ CÁC CÔNG NGHỆ 
2.1 Cơ sở dữ liệu phi quan hệ NoSQL - MongoDB 
2.2.1 NoSQL 
NoSQL là một dạng cơ sở dữ liệu mã nguồn mở, viết tắt của None-Relational SQL hay còn gọi là 
Not-Only SQL. NoSQL được phát triển trên Javascript Framework với kiểu dữ liệu là JSON và dạng dữ 
liệu theo kiểu key và value. 
NoSQL ra đời như là một mảnh vá cho những khuyết điểm và thiếu sót cũng như hạn chế của mô 
hình dữ liệu quan hệ RDBMS truyền thống (Relational Database Management System - Hệ quản trị 
cơ sở dữ liệu quan hệ) về tốc độ, tính năng, khả năng mở rộng, v.v... 
55 
NoSQL có thể mở rộng dữ liệu mà không lo tới những việc như tạo khóa chính, khóa ngoại, kiểm tra 
ràng buộc, v.v... 
NoSQL thường bỏ qua tính toàn vẹn của dữ liệu và transaction để đổi lấy hiệu suất nhanh và khả 
năng mở rộng cao. 
2.2.2 Hệ quản trị cơ sở dữ liệu MongoDB 
MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là cơ sở dữ liệu thuộc NoSQL và được 
hàng triệu người sử dụng. MongoDB là một database hướng tài liệu (document), các dữ liệu được 
lưu trữ trong document kiểu JSON thay vì dạng bảng như cơ sở dữ liệu quan hệ nên khi truy vấn sẽ 
rất nhanh. 
Với cơ sở dữ liệu quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ (như MySQL hay 
SQL Server...) sử dụng các bảng để lưu dữ liệu thì với MongoDB chúng ta sẽ dùng khái niệm là 
collection thay vì bảng, document thay vì row, v.v 
Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ không cần 
tuân theo một cấu trúc nhất định. Thông tin liên quan được lưu trữ cùng nhau để truy cập truy vấn 
nhanh thông qua ngôn ngữ truy vấn MongoDB. 
2.2.3 Công nghệ JavaFX 
JavaFX là nền tảng để tạo và phân phối các ứng dụng dành cho máy tính để bàn cũng như các 
ứng dụng RIAs (Rich Internet Applications) có thể chạy trên nhiều thiết bị khác nhau. 
JavaFX được phát triển bởi Kỹ sư Chris Oliver, ban đầu dự án được đặt tên là F3 (Form Follows 
Functions). Sau đó vào năm 2005 thì Sun Micro-Systems đã mua lại dự án F3 và đổi tên thành 
JavaFX. 
JavaFX dự định thay thế hoàn toàn Swing làm thư viện GUI chuẩn cho Java SE. JavaFX hỗ trợ cho 
các máy tính để bàn và trình duyệt web trên nền tảng Windows, Linux và macOS. 
3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 
3.1 Phân tích yêu cầu 
Về cơ bản, tổng quát hóa bài toán thì ứng dụng cần có: 
1. Giao diện đăng ký tài khoản, đăng nhập tài khoản, quên mật khẩu; 
2. Giao diện hiển thị danh sách liên hệ, danh sách cuộc trò chuyện, danh sách user; 
3. Giao diện hiển thị các đoạn chat giữa 2 user với nhau; 
4. Giao diện hiển thị các đoạn chat giữa các user với nhau trong groupchat; 
5. Giao diện cài đặt; 
6. Giao diện quản lý thông tin cá nhân. 
56 
Về chức năng chính của ứng dụng là: 
1. Nhắn tin trao đổi văn bản, hình ảnh, âm thanh; 
2. Gửi file đính kèm; 
3. Gọi điện; 
4. Trò chuyện riêng tư; 
5. Trò chuyện nhóm; 
6. Xóa lịch sử trò chuyện. 
3.2 Thiết kế hệ thống 
3.2.1 Use Case Diagram 
Hình 1: Sơ đồ Use Case 
Class Diagram: 
Hình 2: Sơ đồ Class 
57 
3.2.2 Mối liên hệ giữa Client và Server qua hoạt động gửi - nhận tin nhắn 
Hình 3: Hoạt động gửi - nhận tin nhắn 
3.3 Giao diện phần mềm 
Hình 3: Giao diện trò chuyện của VibeChat 
4 TỔNG KẾT VÀ Ư NG PHÁT TRIỂN DỰ ÁN 
4.1 Điểm mạnh 
Các chức năng đề ra ban đầu đều được hoàn thành và hoạt động khá tốt. Ứng dụng được viết 
bằng ngôn ngữ Java nên có thể hoạt động đa nền tảng trên các hệ điều hành như Windows, 
MacOS, Linux. 
CPU Intel Core i7 
8750H, RAM 16GB 
58 
Mô hình đang dùng thuật toán khóa đối xứng AES 128 bit, tốc độ mã hóa và giải mã tin nhắn của 
phần mềm rất nhanh. Thời gian mã hóa và giải mã một tin nhắn văn bản có nội dung dài 1000 ký 
tự lần lượt là 0.415 giây (khi mã hóa) và 0.001 giây (khi giải mã). 
4.2 Điểm yếu 
Hệ thống hoạt động trên mô hình tập trung (Client – Server) nên khi có nhiều thiết bị tham gia vào 
thì hệ thống sẽ chậm. Giao diện của ứng dụng vẫn còn hạn chế, chưa gần gũi với người dùng, các 
hiệu ứng chuyển cảnh chưa đẹp mắt. 
4.3 ướng phát triển dự án 
Nâng cấp hệ thống theo mô hình phân tán (P2P), mỗi máy tham gia vừa đóng vai trò là máy chủ 
(Server) và vừa là máy khách (Client) và sẽ có một máy chủ trung tâm điều hướng các kết nối cho 
các máy tham gia. 
Tối ưu lại các thuật toán xử lý các nghiệp vụ của ứng dụng để cải thiện tốc độ thực thi của ứng 
dụng. Thiết kế lại giao diện cho đẹp mắt, dễ sử dụng và gần gũi với người dùng hơn. Phát triển ứng 
dụng trên nền tảng web và mobile. 
TÀI LIỆU THAM KHẢO 
[1] Quantrimang.com, 5 Thuật toán mã hóa phổ biến bạn nên biết, ngày 02 tháng 07 năm 2018, 
. 
[2] Wikipedia.org, Tuyên ngôn Quốc tế Nhân quyền, ngày 01 tháng 04 năm 2020, 
<https://vi.wikipedia.org/wiki/Tuy%C3%AAn_ng%C3%B4n_Qu%E1%BB%91c_t%E1%BA%BF_N
h%C3%A2n_quy%E1%BB%81n>. 
[3] Viblo.asia, MongoDB là gì? Cơ sở dữ liệu phi quan hệ, ngày 03 tháng 09 năm 2018, 
. 
[4] Teamvietdev.com, JavaFX là gì? Giới thiệu ngôn ngữ lập trình JavaFX, ngày 30 tháng 10 năm 
2018, . 

File đính kèm:

  • pdfvibechat_phan_mem_nhan_tin_tuyet_mat.pdf