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

Nội dung

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA AN TOÀN THÔNG TIN

ĐỒ ÁN MÔN HỌC

PHÁT TRIỂN ỨNG DỤNG TRÊN NỀN TẢNGDI ĐỘNG

Đề tài:

ỨNG DỤNG TIN NHẮN MÃ HÓA ĐẦU CUỐI

Trang 2

Sinh viên thực hiện: Bùi Xuân Long - AT160234Ngô Đình Hiếu - AT160224Lê Đức Mạnh - AT160236Trịnh Đức Trường – Nguyễn Văn HiệpNhó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 IDANH MỤC BẢNG BIỂU IIIDANH 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

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

Phần tử mô

Biểu đồ Use-Case

Tác nhân(Actor)

Một người/nhóm người, thiết bị, hệ thống hoặc thao tác đến chương trình.

Ca sử dụng(Use-Case)

Biểu diễn một chức năngxác định của hệ thống.

Mối quan hệ giữacác use-case

Là mối quan hệ bắt buộc phải có giữa các Use Case với nhau.

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ậpvới các đối tượng khác ở xung quanh.

Trả về(Return)

Là phương thức của B mà đối tượng A gọi thực hiện.

Thông điệp(Message)

Dùng để thể hiện thông điệp đối tượng này truyền sang cho đối tượng khác.

Thông điệp chínhmình(Self Message)

Là thông điệp mà đối tượng gửi cho chính nó để thực hiện các hàm nộitại.

Biểu đồ lớp

Là một sự trừu tượng củacác đối tượng trong thế giới thực.

Quan hệ tổngquát hóa(Inheritance)

Quan hệ kế thừa Đối tượng cụ thể (concrete) sẽ kế thừa các thuộc tính và phương thức của đối tượng tổng quát

(general).Quan hệ kiểu kết

Là sự liên kết giữa 2 class khi mà không cái nào sở hữu cái nào.

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ối2 Đả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 đầucuố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ếtbị 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 RSA1.2.2 Thuật toán mã hóa AES1.2.3 Thuật toán mã hóa

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

1.3.1 1.3.2

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

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

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

 Đề tài:  Mục đích:

 Chức năng chính:1 Người dùng:

- Người sử dụng hệ thống có đăng ký, đăng nhập.2 Quản trị viên:

- Người điều hành hệ thống.

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

4

Trang 14

2.2 Biểu đồ Use Case

2.2.1 Các use-case chính

1 Use case tổng quát2 Use case người dùng3 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

2.3.1 Đăng nhập

a Mô tả t漃Ām tắt

oTên ca sử dụng: oMục đích: oTác nhân:

b Các Luồng sự kiện

 Các Luồng sự kiện chính: Các Luồng rẽ nhánh:

5

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 dung2.6.5 Giao diện nhắn tin

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

2.8.1 Xây dựng Backend2.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ính2.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ệnvà đả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ôngbị 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ị đúngvà 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ôngcó độ trễ hoặc trì hoãn đáng kể.

Kiểm tra giao diện trên các phiên bản hệ điều hành và nền tảng khácnhau:

a Kiểm tra trên phiên bản iOS: Kiểm tra giao diện trên các phiên bảniOS khác nhau (ví dụ: iOS 14, iOS 15) để đảm bảo tính tương thíchvà khả năng hoạt động trơn tru trên mỗi phiên bản.

8

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

Tiếng Việ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[2] Expressjs là gì? Tất tần tật về Express.js, [online],

Conference (INMIC) doi:10.1109/inmic48123.2019.9022766.

[5] Robbins, J N (2012) Learning Web Design: A Beginner's Guideto HTML, CSS, JavaScript, and Web Graphics Canada: O'Reilly Media.

Trang 22

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

CHƯƠNG 4

13

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

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

TÀI LIỆU LIÊN QUAN