Tải bản đầy đủ (.pdf) (7 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (301.72 KB, 7 trang )


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ộ
53


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.
Ngồ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 tồ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 tố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 tố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 tố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à q 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
tồ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...

54


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 tồ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 u cầu
Về cơ bản, tổng qt hóa bài tố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.

55


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

56


3.2.2 Mối liên hệ giữa Client và Server qua hoạt động gửi - nhận tin nhắn

CPU Intel Core i7

8750H, RAM 16GB

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.

57


Mơ hình đang dùng thuật tố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 tố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,
< />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,
<a/p/mongodb-la-gi-co-so-du-lieu-phi-quan-he-bJzKmgoPl9N>.

[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, < />
58




×