1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án môn học phát triển ứng dụng trên nền tảng di động ứng dụng tin nhắn mã hóa đầu cuối

22 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 254,7 KB

Nội dung

Ngoài ra, ứng dụng nhắn tin mã hóa đầu cuối còn cung cấp cho ngườidùng tính năng đăng nhập an toàn, quản lý danh bạ liên lạc, và các tính năngkhác để tăng tính tiện dụng và đảm bảo tính

Trang 2

Sinh viên thực hiện: Bùi Xuân Long - AT160234

Ngô Đình Hiếu - AT160224

Lê Đức Mạnh - AT160236 Trịnh Đức Trường – Nguyễn Văn Hiệp Nhóm

Giảng viên hướng dẫn: TS Nguyễn Mạnh Thắng

Hà Nội, 05-2023

M Ụ C L Ụ C DANH MỤC KÍ HIỆU VIẾT TẮT I DANH MỤC BẢNG BIỂU III DANH MỤC HÌNH ẢNH IV

LỜI MỞ ĐẦU 1

Mục tiêu thực hiện đồ án 1

CHƯƠNG 1 Cơ sở lý thuyết 2

1.1 Giới thiệu 2

1.1.1 Tầm quan trong của việc bảo mật thông tin trong truyền thông 2

1.1.2 Định nghĩa và lợi ích của việc sử dụng ứng dụng nhắn tin mã hóa đầu cuối 3

1.2 Giới thiệu phương thức mã hóa 4

1.2.1 Thuật toán mã hóa RSA 4

1.2.2 Thuật toán mã hóa AES 4

1.2.3 Thuật toán mã hóa 4

1.3 Các công cụ lựa chọn sử dụng 4

Trang 3

1.3.2 4

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 4

2.1 Giới thiệu về hệ thống 4

2.1.1 Giới thiệu sơ bộ về đề tài 4

2.1.2 Mô hình phân cấp chức năng 4

2.2 Biểu đồ Use Case 5

2.2.1 Các use-case chính 5

2.2.2 Quan hệ giữa các use-case 5

2.3 Mô tả chi tiết các Use Case 5

2.3.1 Đăng nhập 5

2.4 Biểu đồ tuần tự 6

2.4.1 Biểu đồ tuần tự Đăng ký 6

2.4.2 Biểu đồ tuần tự Đăng nhập 6

2.5 Thiết kế Cơ sở dữ liệu 6

2.6 Xây dựng chức năng giao diện 6

2.6.1 Giao diện ban đầu 6

2.6.2 Giao diện đăng nhập và đăng ký 6

2.6.3 Giao diện tìm người dung 6

2.6.4 Giao diện xem thông tin người dung 6

2.6.5 Giao diện nhắn tin 6

2.7 Xây dựng các chức năng 6

2.7.1 Xây dựng chức năng đăng ký 6

2.7.2 Xây dựng chức năng đăng nhập 6

2.7.3 Xây dựng chức năng tìm kiếm người dung 6

2.7.4 Xây dựng chức năng xem thông tin người dung 6

2.7.5 Xây dựng chức năng nhắn tin 6

2.8 Thiết kế môi trường 6

Trang 4

2.8.1 Xây dựng Backend 6

2.8.2 Xây dựng cơ sở dữ liệu 6

2.9 Kiểm thử chức năng phần mềm 6

2.9.1 Xây dựng các TestCase chính 6

2.9.2 Kiểm thử giao diện 6

2.9.3 Kiểm thử hiệu năng 6

2.9.4 Kiểm thử mã hóa đầu cuối 9

CHƯƠNG 3 THỰC NGHIỆM 10

KẾT LUẬN 11

TÀI LIỆU THAM KHẢO 12

Trang 5

DANH MỤC KÍ HIỆU VIẾT TẮT

Là mối quan hệ mở rộng giữa các Use Case với nhau.

Hệ thống

(System)

Biểu hiện phạm vi của hệ thống Các use-case được đặt trong khung hệ thống.

Biểu đồ tuần tự

I

Trang 6

Lớp biên

(Boundary class)

Nắm giữa sự tương tác phần bên ngoài với phần bên trong của hệ thống (giao diện chương trình) Lớp điều khiển

(Control class)

Thể hiện trình tự xử lý cửa hệ thống trong một hay nhiều use-case.

Lớp thực tế

(Entity class)

Mô hình hóa thông tin lưu trữ lâu dài trong hệ thống, nó thường độc lập với các đối tượng khác ở xung quanh.

II

Trang 7

Thuật ngữ Giải thích

III

Trang 8

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢN

IV

Trang 9

V

Trang 10

LỜI MỞ ĐẦU

Nhắn tin đã trở thành một phương tiện giao tiếp phổ biến trong cuộc sốnghiện đại Tuy nhiên vấn đề bảo mật thông tin càng ngày càng quan trọng, đặcbiệt là trong các cuộc trò chuyện trực tuyến Với sự phát triển của công nghệ mãhóa đầu cuối, việc bảo mật thộng tin trong nhắn tin đã trở nên dễ dàng hơn baogiờ hết

Ứng dụng nhắn tin mã hóa đầu cuối là một ứng dụng giúp người dung tròchuyện một cách an toàn và bảo mật Bằng các sử dụng các thuật toán mã hóamạnh mẽ, những tin nhắn được gửi đi sẽ được mã hóa trước khi gửi qua mạng,

và chỉ có người nhận đích thực mới có thể giải mã được chúng Điều này giúpđảm bảo rằng thông tin được truyền đi sẽ không bị đánh cắp hoặc thay đổi bởibất kỳ ai khác ngoài người nhận

Ngoài ra, ứng dụng nhắn tin mã hóa đầu cuối còn cung cấp cho ngườidùng tính năng đăng nhập an toàn, quản lý danh bạ liên lạc, và các tính năngkhác để tăng tính tiện dụng và đảm bảo tính bảo mật cho người dùng

Với ứng dụng nhắn tin mã hóa đầu cuối, người dùng có thể yên tâm tròchuyện và chia sẻ thông tin một cách an toàn và riêng tư, giúp cho cuộc sống trởnên an toàn hơn và bảo vệ được thông tin cá nhân

Mục tiêu thực hiện đồ án

Nghiên cứu, xây dụng ứng dụng nhắn tin mã hóa đầu cuối dựa trên phươngpháp trao đổi khóa Diffie-Hellman

Mục tiêu đặt ra khi thực hiện đề tài:

1 Nghiên cứu và xây dựng ứng dụng nhắn tin mã hóa đầu cuối

2 Đảm bảo tính an toán cho ứng dụng và hệ thống

3 Nghiên cứu thuật toán mã hóa và trao đổi khóa

1

Trang 11

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu

1.1.1 Tầm quan trong của việc bảo mật thông tin trong truyền thông

Trong thời đại số hóa hiện nay, thông tin truyền tải qua các phương tiệntruyền thông như internet, điện thoại di động, email, tin nhắn v.v đã trở thànhmột phần không thể thiếu trong cuộc sống hàng ngày của chúng ta Tuy nhiên,đồng thời cũng tăng lên nguy cơ mất an toàn và bị xâm nhập bởi các kẻ xấu có ýđịnh lợi dụng thông tin cá nhân của người khác

Bảo mật thông tin trong truyền thông là việc đảm bảo rằng thông tin đượctruyền tải qua các phương tiện truyền thông sẽ được bảo vệ và chỉ có nhữngngười được ủy quyền mới có thể truy cập được Việc bảo mật thông tin là rấtquan trọng vì nó đảm bảo rằng các thông tin nhạy cảm của cá nhân và doanhnghiệp sẽ không bị lộ ra ngoài và được bảo vệ khỏi các cuộc tấn công mạng vàcác hành vi xâm nhập trái phép khác

Nếu thông tin không được bảo mật, những hậu quả có thể là rất nghiêmtrọng, ví dụ như mất cắp thông tin tài khoản ngân hàng, thông tin thẻ tín dụng,thông tin đăng nhập vào các trang web quan trọng, hoặc thậm chí là thông tinquan trọng của công ty Điều này có thể dẫn đến các hậu quả nghiêm trọng, baogồm thiệt hại tài chính, mất uy tín, và thậm chí là mất mạng tính mạng

Do đó, việc bảo mật thông tin trong truyền thông là vô cùng quan trọng vàkhông thể coi thường Các tổ chức và cá nhân cần đầu tư vào các giải pháp bảomật thông tin hiệu quả nhằm đảm bảo an toàn cho dữ liệu của mình và tránhđược những hậuquả đáng tiếc Ngoài ra, mỗi người dùng cũng cần có ý thức vàhành động bảo vệ thông tin cá nhân của mình, bằng cách sử dụng mật khẩu antoàn, không chia sẻ thông tin cá nhân với người lạ và cẩn thận khi sử dụng các

2

Trang 12

dịch vụ trực tuyến Chỉ khi các bên đều đóng góp và chung tay bảo vệ thông tin,chúng ta mới có thể đảm bảo an toàn thông tin trong truyền thông.

1.1.2 Định nghĩa và lợi ích của việc sử dụng ứng dụng nhắn tin mã hóa đầu cuối

Ứng dụng nhắn tin mã hóa đầu cuối là một loại ứng dụng cho phép ngườidùng truyền tải thông tin qua các phương tiện truyền thông như internet, điệnthoại di động, email, tin nhắn v.v mà chỉ có người gửi và người nhận mới cóthể đọc được nội dung tin nhắn, thông tin được mã hóa và giải mã chỉ trên thiết

bị của người gửi và người nhận, không thể bị các bên thứ ba can thiệp hay đánhcắp

Lợi ích của việc sử dụng ứng dụng nhắn tin mã hóa đầu cuối là:

 Bảo mật thông tin: Ứng dụng nhắn tin mã hóa đầu cuối đảm bảotính riêng tư và bảo mật của thông tin, giúp người dùng tránh đượcnhững cuộc tấn công mạng và các hành vi xâm nhập trái phép khác

 An toàn trong giao dịch: Với việc sử dụng ứng dụng nhắn tin mãhóa đầu cuối, người dùng có thể truyền tải thông tin nhạy cảm nhưthông tin tài khoản ngân hàng, thông tin thẻ tín dụng, thông tinđăng nhập vào các trang web quan trọng một cách an toàn và bảomật

 Giảm thiểu rủi ro: Khi sử dụng ứng dụng nhắn tin mã hóa đầu cuối,người dùng giảm thiểu rủi ro bị lừa đảo, phá hoại, hoặc bị đánh cắpthông tin cá nhân

 Tạo sự yên tâm: Sử dụng ứng dụng nhắn tin mã hóa đầu cuối giúpngười dùng cảm thấy yên tâm hơn khi truyền tải thông tin nhạycảm, đặc biệt là trong các trường hợp cần bảo vệ tính riêng tư và antoàn của thông tin

 Tính tiện lợi: Ứng dụng nhắn tin mã hóa đầu cuối thường có giaodiện đơn giản, dễ sử dụng và tính năng linh hoạt, cho phép ngườidùng truyền tải thông tin một cách nhanh chóng và tiện lợi

3

Trang 13

 Đảm bảo tuân thủ quy định: Sử dụng ứng dụng nhắn tin mã hóa đầucuối giúp người dùng đảm bảo tuân thủ các quy định và luật phápliên quan đến bảo mật thông tin.

Việc sử dụng ứng dụng nhắn tin mã hóa đầu cuối đem lại nhiều lợi íchcho người dùng, giúp bảo vệ thông tin cá nhân và tránh được những hậu quả xấucủa việc mất an toàn thông tin

1.2 Giới thiệu phương thức mã hóa

1.2.1 Thuật toán mã hóa RSA

1.2.2 Thuật toán mã hóa AES

1.2.3 Thuật toán mã hóa

Trang 14

2.2 Biểu đồ Use Case

2.2.1 Các use-case chính

1 Use case tổng quát

2 Use case người dùng

3 Use case quản trị viên

2.2.2 Quan hệ giữa các use-case

2.3 Mô tả chi tiết các Use Case

Trang 15

2.4 Biểu đồ tuần tự

2.4.1 Biểu đồ tuần tự Đăng ký

2.4.2 Biểu đồ tuần tự Đăng nhập

2.5 Thiết kế Cơ sở dữ liệu

2.6 Xây dựng chức năng giao diện

2.6.1 Giao diện ban đầu

2.6.2 Giao diện đăng nhập và đăng ký

2.6.3 Giao diện tìm người dung

2.6.4 Giao diện xem thông tin người dung

2.6.5 Giao diện nhắn tin

2.7 Xây dựng các chức năng

2.7.1 Xây dựng chức năng đăng ký

2.7.2 Xây dựng chức năng đăng nhập

2.7.3 Xây dựng chức năng tìm kiếm người dung

2.7.4 Xây dựng chức năng xem thông tin người dung

2.7.5 Xây dựng chức năng nhắn tin

2.8 Thiết kế môi trường

2.8.1 Xây dựng Backend

2.8.2 Xây dựng cơ sở dữ liệu

2.9 Kiểm thử chức năng phần mềm

2.9.1 Xây dựng các TestCase chính

2.9.2 Kiểm thử giao diện

Kiểm tra hiển thị và cách bố trí các thành phần giao diện:

6

Trang 16

a Kiểm tra thanh tiêu đề: Đảm bảo thanh tiêu đề hiển thị đúng vàchứa tên người dùng hoặc tên phòng chat hiện tại.

b Kiểm tra thanh công cụ: Kiểm tra các nút điều hướng, biểu tượngchức năng (như gửi tin nhắn, tạo phòng chat) và thanh tìm kiếm cóđược hiển thị đúng và đồng nhất trên mọi màn hình

c Kiểm tra danh sách phòng chat và cuộc trò chuyện: Đảm bảo cácphòng chat và cuộc trò chuyện hiển thị đúng, có thứ tự và không bịtràn đổ hay cắt đi

Kiểm tra tính tương thích với các thiết bị và kích thước màn hình khácnhau:

a Kiểm tra trên các thiết bị di động: Đảm bảo giao diện được tối ưuhóa trên điện thoại thông minh và máy tính bảng với các kích thướcmàn hình khác nhau

b Kiểm tra trên các kích thước màn hình: Kiểm tra tính đáp ứng củagiao diện trên màn hình nhỏ (ví dụ: điện thoại di động), màn hìnhtrung bình (ví dụ: máy tính bảng) và màn hình lớn (ví dụ: laptop) đểđảm bảo các thành phần giao diện hiển thị đúng và không bị tràn đổhay cắt đi

Kiểm tra các tương tác và chức năng trong giao diện:

a Kiểm tra tương tác nhấn nút: Đảm bảo các nút điều hướng, nútchức năng và nút tương tác khác hoạt động chính xác và đưa ngườidùng đến các màn hình và chức năng tương ứng

b Kiểm tra tính năng cuộn và kéo: Kiểm tra khả năng cuộn và kéodanh sách phòng chat và cuộc trò chuyện để đảm bảo di chuyểnmượt mà và hiển thị đúng các phần tử giao diện

c Kiểm tra tương tác gửi tin nhắn: Gửi tin nhắn trong cuộc trò chuyện

và đảm bảo tin nhắn được hiển thị đúng, không bị mất và xuất hiệnngay lập tức

Kiểm tra đa ngôn ngữ và đa ngôn ngữ:

7

Trang 17

a Kiểm tra hiển thị ngôn ngữ: Đảm bảo giao diện hiển thị đúng ngônngữ được chọn bởi người dùng, bao gồm văn bản, biểu tượng vàcác thành phần khác

b Kiểm tra bố cục và dài hóa: Kiểm tra tính đáp ứng của giao diệnvới các ngôn ngữ có độ dài và cấu trúc khác nhau, đảm bảo không

bị tràn đổ hoặc cắt điều kiện

Kiểm tra hiển thị và xử lý lỗi:

a Kiểm tra thông báo lỗi: Kiểm tra xem thông báo lỗi hiển thị đúng

và rõ ràng khi xảy ra lỗi, bao gồm lỗi kết nối, lỗi xác thực hoặc lỗitin nhắn không được gửi thành công

b Kiểm tra xử lý lỗi: Kiểm tra xem các tương tác lỗi, như nhập liệukhông hợp lệ hoặc không đúng định dạng, được xử lý một cáchthích hợp và giao diện cung cấp phản hồi và hướng dẫn cho ngườidùng

Kiểm tra tốc độ và hiệu suất của giao diện:

a Kiểm tra thời gian tải: Đảm bảo giao diện tải nhanh và không gâychờ đợi lâu đối với người dùng

b Kiểm tra tốc độ phản hồi: Kiểm tra thời gian phản hồi sau cáctương tác như gửi tin nhắn, chuyển đổi màn hình để đảm bảo không

Trang 18

b Kiểm tra trên phiên bản Android: Kiểm tra giao diện trên các phiênbản Android khác nhau (ví dụ: Android 9, Android 10, Android 11)

để đảm bảo tính tương thích và hiệu suất tốt trên mỗi phiên bản

2.9.3 Kiểm thử hiệu năng

b Kiểm thử mã hóa đầu cuối

9

Trang 19

CHƯƠNG 3 THỰC NGHIỆM

10

Trang 20

KẾT LUẬN

11

Trang 21

TÀI LIỆU THAM KHẢO

Conference (INMIC) doi:10.1109/inmic48123.2019.9022766

[5] Robbins, J N (2012) Learning Web Design: A Beginner's Guide

to HTML, CSS, JavaScript, and Web Graphics Canada: O'Reilly Media.

Trang 22

[8] Mithun Satheesh, Bruno Joseph D'mello, Jason Krol (2015) Web Development with MongoDB and NodeJS Birmingham, UK: Packt Publishing

Ltd

CHƯƠNG 4

13

Ngày đăng: 11/07/2024, 17:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lịch sử hình thành của Website, [online], https://coo.me/tin-tuc/lich-su-hinh-thanh-cua-website.html Sách, tạp chí
Tiêu đề: Lịch sử hình thành của Website
[3] M. Jones, J. Bradley, and N. Sakimura, JSON Web Token (JWT) RFC 7519, http://www.rfc-editor.org/rfc/rfc7519.txt, RFC Editor 2015 Sách, tạp chí
Tiêu đề: JSON Web Token (JWT)RFC 7519
[4] Ahmed, S., & Mahmood, Q. (2019). An authentication based scheme for applications using JSON web token. 22nd International Multitopic Conference (INMIC). doi:10.1109/inmic48123.2019.9022766 Sách, tạp chí
Tiêu đề: An authentication basedscheme for applications using JSON web token
Tác giả: Ahmed, S., & Mahmood, Q
Năm: 2019
[5] Robbins, J. N. (2012). Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics. Canada: O'Reilly Media.CHƯƠNG 1 Sách, tạp chí
Tiêu đề: Learning Web Design: A Beginner's Guideto HTML, CSS, JavaScript, and Web Graphics
Tác giả: Robbins, J. N
Năm: 2012
[6] Howe, S. (2014). Learn to Code HTML and CSS: Develop and Style Websites. United States: New Riders.CHƯƠNG 2 Sách, tạp chí
Tiêu đề: Learn to Code HTML and CSS: Develop andStyle Websites
Tác giả: Howe, S
Năm: 2014
[7] Vipul A M, Prathamesh Sonpatki. (2016). ReactJS by Example - Building Modern Web Applications with React. Birmingham, UK: Packt Publishing Ltd Sách, tạp chí
Tiêu đề: ReactJS by Example -Building Modern Web Applications with React
Tác giả: Vipul A M, Prathamesh Sonpatki
Năm: 2016
[2] Expressjs là gì? Tất tần tật về Express.js, [online], https://topdev.vn/blog/express-js-la-gi/Tiếng Anh Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN