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

VIBECHAT PHN MM NHN TIN TUYT MT  
Hoàng Kim Phúc  
Khoa Công nghThông tin, Trường Đại hc Công nghTP. HChí Minh  
GVHD:              Khang  
TÓM TT  
VibeChat bo vtuyt đối tin nhn và thông tin người dùng, giúp người dùng có ththoi mái trò  
chuyn mà không lo stin nhn ca mình bxem trm, hay lcác thông tin cá nhân.  
T khóa: Nhn tin, bo mt, tuyt mt, thông tin, NoSQL.  
1           
1.1 Mng xã hi và các phn mm nhn tin  
Ngày nay vi sphát trin mnh mca Internet, con người có thddàng kết ni, giao tiếp, chia  
sthông tin vi nhau qua các ng dng nhn tin hay mng xã hi. Mt smng xã hi, phn  
mm nhn tin phbiến hin nay có thkể đến như: Facebook, Twitter, Skype, Weibo, WeChat,  
WhatsApp, Zalo, v.v…  
Để tn ti, con người chúng ta cn giao tiếp và trao đổi thông tin. Có thnói hi thoi là nhu cu  
thiết yếu và mang tính riêng ca con người. Ti điu 12 trong bn Tuyên ngôn Quc tế vNhân  
quyn đã khng định rng: "Bt cai cũng không phi chu scan thip mt cách tùy tin vào cuc  
sng riêng tư, gia đình, nơi ở hoc thư tín ca mình. Mi người đều có quyn được pháp lut bo vệ  
và chng li scan thip và xâm phm quyn riêng tư‛. Thế nhưng, đa scác mng xã hi hay  
phn mm nhn tin hin nay li vi phm nghiêm trng điều lut trên. ‚Sản phm min phí thì ngưi  
dùng trthành sn phẩm‛ đánh đổi li vic được sdng min phí, người dùng phi cung cp các  
thông tin cá nhân và đồng ý để các mng xã hi hay phn mm nhn tin sdng các thông tin mà  
hcung cp và các dliu hot động ca hcho các hot động qung cáo, kinh doanh, v.v…  
Khi sdng các mng xã hi hay ng dng nhn tin trc tuyến, ngưi dùng có thgp phi các  
qung cáo có liên quan đến ni dung cuc trò chuyn ca mình. Hơn thế na, khi người dùng trò  
chuyn trc tiếp vi nhau thì hvn gp phi các qung cáo liên quan đến ni dung cuc trò  
chuyn ca mình. Các nhà cung cp dch vmng xã hi hay ng dng nhn tin trc tuyến đã khai  
thác dliu riêng ca ngưi dùng và sdng cho mc đích kinh doanh. Hsdng mi cách  
thc để có ththu thp dliu ca người dùng như ghi âm, nghe lén, quay trm, trình đọc màn  
hình, keylogger, v.v… Người dùng thc sự đã trthành nhng con gà đẻ trng vàng cho các nhà  
cung cp dch vtrên.  
1.2 VibeChat  Phn mm nhn tin tuyt mt  
VibeChat ra đời vi lý tưởng cung cp mt nn tng an toàn, bo mt tuyt đối sriêng ca  
người dùng trên internet, nơi người dùng có ththoi mái giao tiếp vi mi ngưi mà không slộ  
53  
bt cthông tin cá nhân hay nhng câu chuyn riêng nào. ng dng được xây dng như mt  
phòng chat, người dùng đăng ký tài khon và đăng nhp để sdng. Khi đã có tài khon riêng,  
mi người kết ni vi nhau bng tài khon đã đăng ký. VibeChat cung cp cho người dùng các  
chc năng như sau:  
1. Nhn tin trao đổi văn bn, hình nh, âm thanh;  
2. Gi file đính kèm;  
3. Gi điện;  
4. Trò chuyn riêng ;  
5. Trò chuyn nhóm;  
6. Xóa lch strò chuyn.  
Ngoài ra, mi tin nhn hay thông tin người dùng đều được mã hóa theo tiêu chun AES (Advanced  
Encryption Standard) đảm bo mi thông tin người dùng được bo van toàn. AES hin là tiêu  
chun mã hóa đang được Chính phHoa Ksdng, nó da trên thut toán Rijndael được phát  
trin bi hai nhà mt mã người B, Joan Daemen và Vincent Rijmen. Các nhà mt mã hc người Bỉ  
đã gi thut toán ca họ đến Vin Tiêu chun và Kthut Quc gia (National Institute of Standards  
and Technology - NIST), cnh tranh vi 14 thut toán mã hóa khác để trthành tiêu chun mã hóa  
tiếp theo sau DES. AES là thut toán khóa đối xng và sdng mt mã khi đối xng. Nó bao gm  
ba kích thước chính: 128, 192 hoc 256 bit. Hơn na, có các vòng mã hóa khác nhau cho mi kích  
thước khóa. Mt vòng là quá trình chuyn văn bn thô thành văn bn mã hóa. Đối vi 128-bit, có 10  
vòng (round); 192-bit có 12 vòng, và 256-bit có 14 vòng.  
Có nhng cuc tn công lý thuyết chng li AES, nhưng tt cả đều yêu cu lưu trdliu cthvà  
thi gian nht định, do đó không khthi trong thi điểm hin ti. Ví d, mt cuc tn công vào mã  
hóa AES cn 38 nghìn tdliu, nhiu hơn tt cdliu được lưu trtrên tt ccác máy tính trên  
toàn thế gii trong năm 2016. Ước tính thi gian cn thiết để to tn công brute-force khóa AES-128  
là hàng tỷ năm. Như vy, dliu người dùng có thể đảm bo dliu riêng ca người dùng được  
bo van toàn.  
2  Ư NG NGHIÊN CU VÀ CÁC CÔNG NGH  
2.1  s d liu phi quan h NoSQL - MongoDB  
2.2.1 NoSQL  
NoSQL là mt dng sdliu mã ngun m, viết tt ca None-Relational SQL hay còn gi là  
Not-Only SQL. NoSQL được phát trin trên Javascript Framework vi kiu dliu là JSON và dng dữ  
liu theo kiu key và value.  
NoSQL ra đời như là mt mnh vá cho nhng khuyết điểm và thiếu sót cũng như hn chế ca mô  
hình dliu quan hRDBMS truyn thng (Relational Database Management System - Hqun trị  
sdliu quan h) vtc độ, tính năng, khả năng mrng, v.v...  
54  
NoSQL có thmrng dliu mà không lo ti nhng vic như to khóa chính, khóa ngoi, kim tra  
ràng buc, v.v...  
NoSQL thường bqua tính toàn vn ca dliu và transaction để đổi ly hiu sut nhanh và khả  
năng mrng cao.  
2.2.2 H qun tr  s d liu MongoDB  
MongoDB là mt hqun trị cơ sdliu mã ngun m, là sdliu thuc NoSQL và được  
hàng triu người sdng. MongoDB là mt database hướng tài liu (document), các dliu được  
lưu trtrong document kiu JSON thay vì dng bng như cơ sdliu quan hnên khi truy vn sẽ  
rt nhanh.  
Vi sdliu quan hchúng ta có khái nim bng, các sdliu quan hệ (như MySQL hay  
SQL Server...) sdng các bng để lưu dliu thì vi MongoDB chúng ta sdùng khái nim là  
collection thay vì bng, document thay vì row, v.v…  
Các collection trong MongoDB được cu trúc rt linh hot, cho phép các dliu lưu trkhông cn  
tuân theo mt cu trúc nht định. Thông tin liên quan được lưu trcùng nhau để truy cp truy vn  
nhanh thông qua ngôn ngtruy vn MongoDB.  
2.2.3 Công ngh JavaFX  
JavaFX là nn tng để to và phân phi các ng dng dành cho máy tính để bàn cũng như các  
ng dng RIAs (Rich Internet Applications) có thchy trên nhiu thiết bkhác nhau.  
JavaFX được phát trin bi 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 li dán F3 và đổi tên thành  
JavaFX.  
JavaFX dự định thay thế hoàn toàn Swing làm thư vin GUI chun cho Java SE. JavaFX htrcho  
các máy tính để bàn và trình duyt web trên nn tng Windows, Linux và macOS.  
3 PHÂN TÍCH VÀ THIT K H THNG  
3.1 Phân tích yêu cu  
Về cơ bn, tng quát hóa bài toán thì ng dng cn có:  
1. Giao din đăng ký tài khon, đăng nhp tài khon, quên mt khu;  
2. Giao din hin thdanh sách liên h, danh sách cuc trò chuyn, danh sách user;  
3. Giao din hin thcác đoạn chat gia 2 user vi nhau;  
4. Giao din hin thcác đoạn chat gia các user vi nhau trong groupchat;  
5. Giao din cài đặt;  
6. Giao din qun lý thông tin cá nhân.  
55  
Vchc năng chính ca ng dng là:  
1. Nhn tin trao đổi văn bn, hình nh, âm thanh;  
2. Gi file đính kèm;  
3. Gi điện;  
4. Trò chuyn riêng ;  
5. Trò chuyn nhóm;  
6. Xóa lch strò chuyn.  
3.2 Thiết kế h thng  
3.2.1 Use Case Diagram  
Hình 1: Sơ đồ Use Case  
Class Diagram:  
Hình 2: Sơ đồ Class  
56  
3.2.2 Mi liên h gia Client và Server qua hot động gi - nhn tin nhn  
CPU Intel Core i7  
8750H, RAM 16GB  
Hình 3: Hot động gi - nhn tin nhn  
3.3 Giao din phn mm  
Hình 3: Giao din trò chuyn ca VibeChat  
4 TNG KT VÀ  Ư NG PHÁT TRIN D ÁN  
4.1 Điểm mnh  
Các chc năng đề ra ban đầu đều được hoàn thành và hot động khá tt. ng dng được viết  
bng ngôn ngJava nên có thhot động đa nn tng trên các hệ điều hành như Windows,  
MacOS, Linux.  
57  
Mô hình đang dùng thut toán khóa đối xng AES 128 bit, tc độ mã hóa và gii mã tin nhn ca  
phn mm rt nhanh. Thi gian mã hóa và gii mã mt tin nhn văn bn có ni dung dài 1000 ký  
tln lượt là 0.415 giây (khi mã hóa) và 0.001 giây (khi gii mã).  
4.2 Điểm yếu  
Hthng hot động trên mô hình tp trung (Client Server) nên khi có nhiu thiết btham gia vào  
thì hthng schm. Giao din ca ng dng vn còn hn chế, chưa gn gũi vi người dùng, các  
hiu ng chuyn cnh chưa đẹp mt.  
4.3  ướng phát trin d án  
Nâng cp hthng theo mô hình phân tán (P2P), mi máy tham gia va đóng vai trò là máy chủ  
(Server) và va là máy khách (Client) và scó mt máy chtrung tâm điều hướng các kết ni cho  
các máy tham gia.  
Ti ưu li các thut toán xlý các nghip vca ng dng để ci thin tc độ thc thi ca ng  
dng. Thiết kế li giao din cho đẹp mt, dsdng và gn gũi vi người dùng hơn. Phát trin ng  
dng trên nn tng web và mobile.  
TÀI LIU THAM KHO  
[1]  
Quantrimang.com, 5 Thut toán mã hóa phbiến bn nên biết, ngày 02 tháng 07 năm 2018,  
[2]  
Wikipedia.org, Tuyên ngôn Quc tế Nhân quyn, ngày 01 tháng 04 năm 2020,  
[3]  
[4]  
Viblo.asia, MongoDB là gì? sdliu phi quan h, ngày 03 tháng 09 năm 2018,  
<https://viblo.asia/p/mongodb-la-gi-co-so-du-lieu-phi-quan-he-bJzKmgoPl9N>.  
Teamvietdev.com, JavaFX là gì? Gii thiu ngôn nglp trình JavaFX, ngày 30 tháng 10 năm  
58  
pdf 7 trang baolam 10/05/2022 5340
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

File đính kèm:

  • pdfvibechat_phan_mem_nhan_tin_tuyet_mat.pdf