1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến

34 1 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

Tiêu đề Đồ án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Tác giả Mai Diệu Mi, Trần Thị Kim Nghi, Vòng Kỳ Minh, Trịnh Ngọc Vũ, Võ Trung Kiên
Người hướng dẫn Ths. Nguyễn Thị Yến
Trường học Trường Đại Học Công Nghệ TP.HCM
Chuyên ngành Bảo mật thông tin
Thể loại Đồ án
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 1,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: TỔNG QUAN (8)
    • 1.1. Giới thiệu đề tài (8)
    • 1.2. Nhiệm vụ đồ án (8)
      • 1.2.1. Tính cấp thiết và lý do hình thành đề tài (8)
      • 1.2.2. Ý nghĩa khoa học và thực tiễn (9)
      • 1.2.3. Mục tiên nghiên cứu (9)
      • 1.2.4. Đối tượng và phạm vi nghiên cứu (10)
    • 1.3. Cấu trúc đồ án (10)
  • Chương 2: CỞ SỞ LÝ THUYẾT (11)
    • 2.1. Tổng quan về hệ thống thi trực tuyến (11)
    • 2.2. Các khái niệm liên quan đến bảo mật thông tin trong hệ thống (12)
      • 2.2.1. Bảo mật thông tin (12)
      • 2.2.2. Xác thực người dùng (User Authentication) (12)
      • 2.2.3. Mã hóa dữ liệu (Data Encryption) (13)
    • 2.3. Các công nghệ sử dụng (14)
      • 2.3.1. Ngôn ngữ JavaScript (14)
      • 2.3.2. Frontend: ReactJS (15)
      • 2.3.3. Backend: Node.js (16)
      • 2.3.4. Database: MongoDB (17)
      • 2.3.5. JSON Web Tokens (JWT) (18)
      • 2.3.6. Công cụ phát triển: Visual Studio Code (19)
  • Chương 3: KẾT QUẢ THỰC NGHIỆM (21)
    • 3.1. Quy trình thực hiện (21)
    • 3.2. Công cụ kiểm tra (22)
      • 3.2.1. Giao diện người dùng (22)
      • 3.2.2. Xác thực OTP qua email (26)
      • 3.2.3. Giám sát thời gian thực (27)
      • 3.2.4. Lưu trữ và bảo mật dữ liệu (28)
      • 3.2.5. Hiệu năng hệ thống (29)
    • 3.3. Thử nghiệm và đánh giá (29)
  • Chương 4: KẾT LUẬN VÀ KIẾN NGHỊ (31)
    • 4.1. Nhận diện tấn công Phishing (31)
    • 4.2. Đóng góp của đề tài (31)
    • 4.3. Hạn chế và bài học kinh nghiệm (32)
    • 4.4. Hướng phát triển (32)
  • TÀI LIỆU THAM KHẢO (34)

Nội dung

Việc áp dụng các công nghệ này không chỉ đảm bảo tính chính xác trong xác thực danh tính mà còn giúp ngăn chặn gian lận, bảo vệ dữ liệu cá nhân và tăng cường tính minh bạch cho toàn bộ q

TỔNG QUAN

Giới thiệu đề tài

Trong thời đại chuyển đổi số, kỳ thi trực tuyến ngày càng trở nên phổ biến, đặc biệt là đối với các chứng chỉ quốc tế, nhờ vào lợi ích tiết kiệm thời gian và chi phí, cũng như mở rộng cơ hội cho người học Tuy nhiên, thách thức về bảo mật và tính công bằng, như gian lận thi cử và rò rỉ thông tin cá nhân, đã đặt ra nhiều vấn đề cần giải quyết Đề tài "Xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến với yêu cầu bảo mật cao" được phát triển nhằm khắc phục những thách thức này Hệ thống tích hợp công nghệ bảo mật tiên tiến, bao gồm xác thực OTP qua email và quản lý thông tin cá nhân theo tiêu chuẩn hiện đại, đảm bảo tính chính xác trong xác thực danh tính, ngăn chặn gian lận và bảo vệ dữ liệu cá nhân, đồng thời tăng cường tính minh bạch trong quá trình thi.

Xác thực OTP đã được chứng minh là giải pháp bảo mật hiệu quả và dễ triển khai, phù hợp cho nhiều tình huống Khi kết hợp với công nghệ WebRTC để giám sát thời gian thực, hệ thống này đáp ứng nhu cầu thực tiễn của các kỳ thi trực tuyến hiện đại, đồng thời đảm bảo tính an toàn và công bằng trong quá trình tổ chức.

Nhiệm vụ đồ án

1.2.1 Tính cấp thiết và lý do hình thành đề tài Áp dụng công nghệ vào giáo dục đã trở thành xu hướng tất yếu, đặc biệt trong bối cảnh hậu đại dịch COVID-19, khi thi trực tuyến dần trở thành lựa chọn ưu tiên cho nhiều kỳ thi chứng chỉ quốc tế Tuy nhiên, các hệ thống hiện tại vẫn gặp nhiều hạn chế trong việc đảm bảo an toàn và ngăn chặn gian lận Các lỗ hổng bảo mật, như việc chia sẻ tài khoản hoặc sử dụng công cụ hỗ trợ không được phép, có thể làm giảm tính công bằng và minh bạch của kỳ thi

Việc tổ chức thi chứng chỉ quốc tế yêu cầu bảo mật cao và xây dựng niềm tin từ thí sinh lẫn tổ chức thi Đề tài này nhằm khắc phục những hạn chế của hệ thống thi trực tuyến hiện tại, cung cấp một giải pháp toàn diện hơn.

Xác thực OTP qua email là một giải pháp bảo mật đơn giản nhưng hiệu quả, phù hợp với nhiều đối tượng người dùng Giám sát thời gian thực qua camera cũng đóng vai trò quan trọng trong việc kiểm soát hành vi gian lận Những yếu tố này nhấn mạnh sự cần thiết phát triển một hệ thống thi trực tuyến toàn diện, đảm bảo yêu cầu bảo mật cao và tạo sự tin cậy cho người dùng.

1.2.2 Ý nghĩa khoa học và thực tiễn

Đề tài này nghiên cứu và ứng dụng công nghệ bảo mật thông tin trong hệ thống thi trực tuyến, với việc xác thực OTP qua email là một phương pháp hiệu quả đảm bảo tính chính xác trong xác thực danh tính người dùng Bên cạnh đó, giám sát thời gian thực dựa trên WebRTC không chỉ nâng cao tính minh bạch mà còn mở ra cơ hội cho các nghiên cứu sâu hơn về quản lý và giám sát từ xa trong các ứng dụng giáo dục.

Hệ thống này hỗ trợ các tổ chức giáo dục tổ chức kỳ thi an toàn, hiệu quả và thuận tiện, giúp thí sinh tiếp cận nền tảng thi trực tuyến để luyện thi và tham gia kỳ thi mà không lo ngại về bảo mật hay gian lận Nó không chỉ giải quyết các thách thức hiện tại mà còn xây dựng niềm tin lâu dài đối với các kỳ thi trực tuyến, góp phần thúc đẩy sự phát triển bền vững của mô hình này trong tương lai.

Mục tiêu chính của đề tài là xây dựng một hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến với tiêu chuẩn bảo mật cao Các mục tiêu cụ thể bao gồm việc đảm bảo an toàn thông tin, cải thiện trải nghiệm người dùng và nâng cao hiệu quả trong quá trình thi cử.

- Sử dụng xác thực OTP qua email để đảm bảo danh tính người dùng, ngăn chặn gian lận liên quan đến truy cập trái phép

- Xây dựng giao diện người dùng thân thiện và dễ sử dụng, giúp thí sinh thuận tiện trong việc luyện thi và tham gia kỳ thi trực tuyến

- Đảm bảo tính toàn vẹn và bảo mật của dữ liệu cá nhân, bao gồm thông tin thí sinh, lịch sử thi và các dữ liệu nhạy cảm khác

Đánh giá hiệu quả của các công nghệ bảo mật thông qua thử nghiệm thực tế là một phương pháp quan trọng để xác định mức độ an toàn, tính khả thi và tính ứng dụng của hệ thống Việc này không chỉ giúp cải thiện các biện pháp bảo mật mà còn đảm bảo rằng các giải pháp được triển khai đáp ứng tốt nhất nhu cầu bảo vệ thông tin.

1.2.4 Đối tượng và phạm vi nghiên cứu

Đề tài nghiên cứu tập trung vào hệ thống thi và luyện thi trực tuyến, đặc biệt chú trọng đến các giải pháp bảo mật thông tin và xác thực danh tính Các công nghệ chính được áp dụng bao gồm xác thực OTP qua email, giám sát thời gian thực qua camera, cùng với các phương pháp bảo mật hiện đại nhằm đảm bảo tính an toàn và minh bạch trong quá trình thi cử.

Phạm vi nghiên cứu của đề tài tập trung vào việc phát triển một hệ thống mẫu, bao gồm các chức năng cốt lõi như đăng nhập và xác thực danh tính thí sinh, giám sát thi trực tuyến theo thời gian thực, cùng với việc lưu trữ và quản lý dữ liệu an toàn, bảo vệ thông tin cá nhân và lịch sử thi của thí sinh.

Cấu trúc đồ án

Đồ án bao gồm 4 chương, với nội dung được tổ chức như sau:

Chương 1: Tổng quan cung cấp cái nhìn tổng quát về đề tài nghiên cứu, bao gồm lý do chọn đề tài, ý nghĩa khoa học và thực tiễn, mục tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu, cùng với cấu trúc của đồ án.

Chương 2: Cơ sở lý thuyết trình bày các khái niệm và công nghệ thiết yếu trong việc xây dựng hệ thống, bao gồm sinh trắc học, giám sát thời gian thực và các giải pháp bảo mật, nhằm đảm bảo tính an toàn và hiệu quả cho hệ thống.

Chương 3: Kết quả thực nghiệm trình bày chi tiết quá trình triển khai hệ thống, bao gồm thiết kế giao diện, cài đặt chức năng và thực hiện thử nghiệm để đánh giá kết quả đạt được.

Chương 4: Kết luận và kiến nghị nêu rõ rằng đề tài tập trung vào việc phát triển một hệ thống mẫu với các chức năng cốt lõi Các chức năng này bao gồm đăng nhập và xác thực danh tính thí sinh, giám sát thi trực tuyến theo thời gian thực, cùng với việc lưu trữ và quản lý dữ liệu an toàn, đảm bảo bảo mật thông tin cá nhân và lịch sử thi của người dùng.

CỞ SỞ LÝ THUYẾT

Tổng quan về hệ thống thi trực tuyến

Hệ thống thi trực tuyến là nền tảng công nghệ cho phép tổ chức kỳ thi qua internet, giúp thí sinh làm bài từ xa mà không cần đến địa điểm thi cố định Phương thức này mang lại nhiều lợi ích như giảm chi phí tổ chức, tiết kiệm thời gian cho thí sinh và giám thị, đồng thời mở rộng quy mô tổ chức thi Tuy nhiên, thi trực tuyến cũng gặp thách thức về bảo mật và tính minh bạch, đặc biệt trong các kỳ thi chứng chỉ quốc tế, nơi xác thực danh tính và giám sát nghiêm ngặt là điều bắt buộc để đảm bảo tính công bằng, ngăn chặn gian lận và bảo vệ sự toàn vẹn của kết quả thi.

Một hệ thống thi trực tuyến hiệu quả cần tích hợp các tính năng như đăng ký và quản lý tài khoản, giúp thí sinh và giám thị dễ dàng quản lý thông tin cá nhân Việc sử dụng công nghệ xác thực OTP qua email là cần thiết để đảm bảo danh tính người thi Giám sát thí sinh qua camera trong suốt quá trình thi cũng rất quan trọng để ngăn chặn gian lận Bài làm của thí sinh cần được lưu trữ bảo mật để tránh mất mát và truy cập trái phép, đồng thời hỗ trợ truy xuất lịch sử hoạt động nhằm tăng tính minh bạch Khả năng đồng bộ hóa dữ liệu là yếu tố quan trọng giúp thông tin được cập nhật liên tục và an toàn Những tính năng này không chỉ giúp hệ thống vận hành trơn tru mà còn mang lại sự tin cậy và an tâm cho thí sinh và tổ chức thi.

Hệ thống thi trực tuyến cần đảm bảo an toàn và minh bạch thông qua các biện pháp bảo mật nghiêm ngặt Bảo vệ tài khoản người dùng là ưu tiên hàng đầu, yêu cầu sử dụng mật khẩu mạnh và các phương thức xác thực bảo mật như OTP hoặc nhận diện sinh trắc học Thông tin nhạy cảm, bao gồm căn cước công dân và dữ liệu cá nhân, phải được mã hóa để ngăn chặn rò rỉ và truy cập trái phép Dữ liệu bài thi cần được lưu trữ an toàn, bảo vệ khỏi sửa đổi và mất mát, đồng thời đảm bảo tính toàn vẹn của kết quả Hệ thống cũng cần tích hợp công nghệ giám sát qua camera để phát hiện và ngăn chặn gian lận trong thời gian thực, góp phần nâng cao tính công bằng và minh bạch trong quá trình thi.

Các khái niệm liên quan đến bảo mật thông tin trong hệ thống

Bảo mật thông tin bao gồm các biện pháp, chính sách và quy trình nhằm bảo vệ dữ liệu khỏi rủi ro như truy cập trái phép, tiết lộ, chỉnh sửa hoặc phá hủy thông tin Để đảm bảo an toàn, các hệ thống thường tuân thủ nguyên tắc bảo mật cơ bản, được biết đến với tên gọi CIA.

Tính bảo mật là yếu tố quan trọng trong việc bảo vệ thông tin, đảm bảo rằng chỉ những người được ủy quyền mới có quyền truy cập Trong hệ thống thi trực tuyến, thông tin cá nhân của thí sinh như tên, địa chỉ và kết quả thi chỉ có thể được xem bởi thí sinh và quản trị viên hệ thống Một trong những biện pháp phổ biến để đảm bảo tính bảo mật là mã hóa dữ liệu, giúp bảo vệ thông tin khỏi những truy cập trái phép.

Tính toàn vẹn dữ liệu là yếu tố quan trọng để đảm bảo rằng thông tin không bị thay đổi hoặc sửa đổi một cách không mong muốn Trong hệ thống thi trực tuyến, việc lưu trữ điểm số và lịch sử truy cập một cách an toàn là cần thiết, nhằm ngăn chặn mọi sự can thiệp sau khi dữ liệu đã được lưu trữ Điều này giúp đảm bảo rằng kết quả thi luôn chính xác và minh bạch.

Tính sẵn sàng là yếu tố quan trọng để đảm bảo hệ thống hoạt động ổn định và có thể truy cập mọi lúc Điều này bao gồm việc xử lý các sự cố liên quan đến phần cứng, phần mềm, mất điện và các cuộc tấn công từ chối dịch vụ (DoS) Trong bối cảnh thi trực tuyến, tính sẵn sàng đảm bảo rằng thí sinh có thể truy cập hệ thống và hoàn thành bài thi mà không gặp phải gián đoạn nào.

2.2.2 Xác thực người dùng (User Authentication)

Xác thực người dùng là quy trình xác nhận danh tính của người truy cập hệ thống nhằm đảm bảo họ là người được phép sử dụng dịch vụ Trong hệ thống thi trực tuyến, việc xác thực thường được thực hiện qua nhiều lớp để nâng cao tính bảo mật và độ tin cậy Các lớp xác thực phổ biến bao gồm:

Xác thực bằng mật khẩu là phương pháp bảo mật cơ bản, yêu cầu người dùng nhập đúng tên đăng nhập và mật khẩu đã đăng ký Để tăng cường an ninh, mật khẩu cần đáp ứng các tiêu chí bảo mật như độ dài tối thiểu và sự kết hợp giữa chữ hoa, chữ thường, số và ký tự đặc biệt, nhằm giảm thiểu nguy cơ bị dò tìm.

Xác thực hai yếu tố (2FA) yêu cầu người dùng cung cấp một yếu tố xác thực bổ sung ngoài mật khẩu, như mã OTP (One-Time Password) nhận qua SMS hoặc email Biện pháp này giúp nâng cao mức độ bảo mật, đặc biệt khi mật khẩu có thể bị rò rỉ.

Xác thực sinh trắc học, bao gồm nhận diện khuôn mặt (Face ID), quét vân tay và nhận diện giọng nói, là những phương pháp hiệu quả để xác thực danh tính một cách an toàn và khó giả mạo Trong bối cảnh thi trực tuyến, công nghệ nhận diện khuôn mặt được áp dụng để xác minh rằng thí sinh tham gia kỳ thi là chính họ, đảm bảo tính minh bạch và công bằng trong quá trình thi cử.

Xác thực dựa trên thiết bị giúp hệ thống nhận diện các thiết bị đã được đăng ký trước, như laptop và điện thoại Khi người dùng truy cập từ thiết bị mới, hệ thống sẽ yêu cầu thực hiện các bước xác thực bổ sung nhằm đảm bảo an toàn thông tin.

Xác thực thời gian thực là một biện pháp quan trọng trong quá trình thi, giúp hệ thống sử dụng camera để giám sát và xác minh liên tục Điều này đảm bảo rằng thí sinh không bị thay thế hoặc gian lận trong suốt thời gian làm bài, từ đó nâng cao tính công bằng và độ tin cậy của kỳ thi.

2.2.3 Mã hóa dữ liệu (Data Encryption)

Mã hóa dữ liệu là phương pháp thiết yếu để bảo vệ thông tin trong hệ thống thi trực tuyến, ngăn chặn việc truy cập trái phép vào dữ liệu lưu trữ và truyền tải Hệ thống này áp dụng mã hóa cho cả dữ liệu tĩnh và dữ liệu động, với mục tiêu bảo vệ an toàn thông tin Đặc biệt, việc bảo vệ mật khẩu người dùng thông qua các thuật toán băm là rất quan trọng Trong môi trường Node.js, thư viện bcrypt thường được sử dụng để đảm bảo rằng mật khẩu được xử lý một cách an toàn.

Bcrypt là thuật toán băm mật khẩu dựa trên Blowfish, nổi bật với cơ chế bảo mật mạnh mẽ gọi là adaptive hashing Kỹ thuật này cho phép tăng cường độ an toàn bằng cách điều chỉnh số vòng lặp xử lý, làm chậm quá trình tính toán băm Nhờ vào khả năng tăng số vòng lặp, Bcrypt giúp chống lại các cuộc tấn công brute force hiệu quả, đặc biệt khi máy tính ngày càng mạnh mẽ.

Khi sử dụng bcrypt, một chuỗi ngẫu nhiên gọi là salt được thêm vào mật khẩu trước khi băm, giúp đảm bảo rằng ngay cả khi hai người dùng có cùng mật khẩu, kết quả băm vẫn khác nhau Sự kết hợp giữa adaptive hashing và salt làm cho bcrypt trở thành công cụ lý tưởng để bảo vệ mật khẩu trong các hệ thống yêu cầu bảo mật cao, chẳng hạn như thi trực tuyến.

Sau khi mật khẩu được băm, chỉ phiên bản băm của nó được lưu trữ trong cơ sở dữ liệu Khi người dùng đăng nhập, mật khẩu được nhập sẽ được băm lại và so sánh với phiên bản đã lưu, đảm bảo rằng mật khẩu gốc không bao giờ bị lộ Phương pháp này giúp bảo vệ dữ liệu và ngăn chặn các rủi ro an ninh tiềm ẩn.

Các công nghệ sử dụng

JavaScript là một ngôn ngữ lập trình thông dịch và hướng đối tượng, đóng vai trò quan trọng trong lập trình web cùng với HTML và CSS Trong khi HTML tạo cấu trúc cho trang web và CSS định dạng thẩm mỹ, JavaScript mang lại sự tương tác và sống động, cho phép người dùng trải nghiệm tính năng hiện đại như cuộn mượt và cập nhật dữ liệu tức thì Với cú pháp dễ đọc và dễ học, JavaScript phù hợp cho cả người mới và lập trình viên có kinh nghiệm Nó hoạt động hiệu quả ở cả frontend và backend nhờ Node.js, cho phép xử lý các tác vụ phức tạp như quản lý cơ sở dữ liệu Hơn nữa, JavaScript có thể chạy trên mọi thiết bị và hệ điều hành, làm cho nó trở thành một ngôn ngữ linh hoạt và hiệu quả.

JavaScript không chỉ xử lý nhanh chóng mà còn giảm tải cho máy chủ bằng cách kiểm tra tính hợp lệ dữ liệu ngay lập tức, như xác nhận số điện thoại 10 chữ số khi người dùng nhập vào biểu mẫu Điều này không chỉ tăng tốc độ phản hồi mà còn giảm bớt lưu lượng truyền tải, cải thiện trải nghiệm người dùng Hơn nữa, JavaScript giúp tạo ra giao diện thân thiện và dễ sử dụng, hỗ trợ người dùng thực hiện các tác vụ phức tạp một cách dễ dàng Với khả năng xử lý đồng thời, JavaScript rất hữu ích trong các hệ thống thời gian thực, cho phép phản hồi nhiều yêu cầu mà không làm giảm hiệu suất.

JavaScript được tăng cường sức mạnh nhờ các framework nổi tiếng như React.js, Node.js và Angular, giúp lập trình viên xây dựng ứng dụng nhanh chóng và hiệu quả React.js là lựa chọn phổ biến cho phát triển giao diện người dùng trên ứng dụng di động và web, trong khi Node.js mang lại khả năng mạnh mẽ cho JavaScript ở phía máy chủ, hỗ trợ các ứng dụng thời gian thực Angular nổi bật trong việc tạo ra các ứng dụng đơn trang (SPA), cho phép người dùng trải nghiệm nội dung động mà không cần tải lại trang Sự kết hợp giữa JavaScript và các framework này giúp các nhà phát triển dễ dàng xây dựng hệ thống hiện đại, mạnh mẽ và giàu tính năng.

ReactJS là thư viện JavaScript mã nguồn mở do Facebook phát triển, đóng vai trò quan trọng trong việc xây dựng giao diện người dùng hiện đại Với khả năng tạo ra các ứng dụng web nhanh chóng, mượt mà và trực quan, ReactJS đã trở thành lựa chọn hàng đầu cho phát triển giao diện, đặc biệt trong các hệ thống phức tạp như thi trực tuyến.

Trong hệ thống thi trực tuyến, ReactJS đóng vai trò quan trọng trong việc phát triển giao diện như trang đăng nhập và danh sách bài thi, cùng với các tính năng thời gian thực như đồng hồ đếm ngược Điểm mạnh của ReactJS là kiến trúc component-based, cho phép chia giao diện thành các thành phần nhỏ, độc lập và tái sử dụng, như nút bấm hay khung hiển thị danh sách câu hỏi Điều này giúp lập trình viên dễ dàng quản lý, cập nhật giao diện và đảm bảo tính nhất quán, đồng thời tiết kiệm thời gian khi mở rộng ứng dụng.

Một trong những công nghệ cốt lõi của ReactJS là Virtual DOM, cho phép cập nhật chỉ những phần tử cần thiết thay vì toàn bộ giao diện Điều này giúp giảm thiểu tài nguyên xử lý, tăng tốc độ phản hồi và mang lại trải nghiệm mượt mà hơn cho người dùng Ví dụ, khi đồng hồ đếm ngược thay đổi số, ReactJS chỉ cần cập nhật con số trên màn hình mà không tải lại toàn bộ giao diện, tiết kiệm thời gian và năng lượng xử lý.

ReactJS áp dụng mô hình luồng dữ liệu một chiều, mang lại sự rõ ràng và logic trong quản lý dữ liệu Dữ liệu được truyền từ các thành phần cha xuống các thành phần con, giúp kiểm soát và theo dõi trạng thái dễ dàng hơn Điều này đặc biệt hữu ích trong hệ thống thi trực tuyến, nơi cần quản lý chính xác và đồng bộ các thông tin như điểm số, câu trả lời và thời gian làm bài.

ReactJS mang lại nhiều tính năng vượt trội, giúp các hệ thống thi trực tuyến trở nên thân thiện với người dùng, đồng thời đảm bảo dễ bảo trì và phát triển lâu dài Việc áp dụng ReactJS cho phép lập trình viên tập trung vào cải thiện trải nghiệm người dùng và nhanh chóng thêm các tính năng mới mà không gặp phải vấn đề về hiệu suất hay tính linh hoạt của ứng dụng.

Node.js là môi trường runtime mã nguồn mở, sử dụng công cụ V8 của Google Chrome, cho phép chạy JavaScript bên ngoài trình duyệt Với khả năng xử lý bất đồng bộ và kiến trúc hướng sự kiện, Node.js trở thành lựa chọn hàng đầu cho phát triển ứng dụng backend, đặc biệt là trong các hệ thống cần xử lý nhiều yêu cầu đồng thời, như hệ thống thi trực tuyến.

Trong hệ thống thi trực tuyến, Node.js giữ vai trò quan trọng trong việc xử lý các logic nghiệp vụ, bao gồm xác thực người dùng, lưu trữ và truy xuất thông tin bài thi, cũng như quản lý phiên làm bài Nó cung cấp API giúp frontend giao tiếp hiệu quả với backend, đảm bảo dữ liệu được truyền tải nhanh chóng và chính xác Khi người dùng đăng nhập hoặc nộp bài thi, Node.js tiếp nhận yêu cầu, xác thực thông tin, lưu dữ liệu vào cơ sở dữ liệu và trả kết quả nhanh chóng cho người dùng.

Node.js nổi bật với khả năng xử lý I/O không đồng bộ, cho phép thực hiện nhiều tác vụ cùng lúc mà không phải chờ đợi hoàn thành Điều này giúp tối ưu hóa tài nguyên hệ thống và nâng cao hiệu suất, đặc biệt quan trọng trong các hệ thống thi trực tuyến, nơi hàng nghìn người dùng có thể gửi yêu cầu đồng thời, từ việc tải câu hỏi đến lưu câu trả lời và đồng bộ thời gian làm bài.

Hệ sinh thái phong phú từ NPM (Node Package Manager) là một lợi thế lớn của Node.js, cung cấp nhiều thư viện và module hỗ trợ lập trình viên tích hợp các tính năng cần thiết vào hệ thống Các thư viện như jsonwebtoken cho phép xác thực người dùng bằng token, bcrypt giúp mã hóa mật khẩu, và express cung cấp framework linh hoạt để xây dựng API RESTful Bên cạnh đó, Node.js cũng hỗ trợ các công cụ quản lý phiên đăng nhập, kết nối cơ sở dữ liệu và tăng cường bảo mật, từ đó giúp tăng tốc độ phát triển và đảm bảo chất lượng hệ thống.

Node.js nổi bật với hiệu suất cao, giúp hệ thống thi trực tuyến dễ dàng mở rộng và bảo trì Việc sử dụng Node.js cho phép xử lý dữ liệu lớn và phục vụ đồng thời nhiều người dùng mà không ảnh hưởng đến trải nghiệm Chính vì vậy, Node.js được ưa chuộng trong các hệ thống thời gian thực và những dự án yêu cầu hiệu năng tối ưu.

MongoDB là một cơ sở dữ liệu NoSQL hiện đại, mạnh mẽ, cho phép lưu trữ dữ liệu dưới dạng tài liệu JSON hoặc BSON Khác với các cơ sở dữ liệu quan hệ truyền thống, MongoDB không yêu cầu cấu trúc cố định, mang lại sự linh hoạt và khả năng mở rộng dễ dàng Chính vì vậy, MongoDB trở thành lựa chọn lý tưởng cho các hệ thống lớn và phức tạp, như hệ thống thi trực tuyến.

Trong hệ thống thi trực tuyến, MongoDB đóng vai trò quan trọng trong việc lưu trữ và quản lý dữ liệu như thông tin thí sinh, bài thi, kết quả và lịch sử hoạt động của người dùng Với cơ chế lưu trữ dạng tài liệu, MongoDB cho phép tùy chỉnh từng mục dữ liệu để chứa thông tin khác nhau mà không ảnh hưởng đến cấu trúc cơ sở dữ liệu tổng thể Điều này đặc biệt hữu ích trong môi trường thường xuyên thay đổi, nơi mà các trường dữ liệu mới có thể được thêm vào hoặc điều chỉnh mà không cần tái cấu trúc toàn bộ cơ sở dữ liệu.

KẾT QUẢ THỰC NGHIỆM

Quy trình thực hiện

Quá trình xây dựng hệ thống thi và luyện thi trực tuyến diễn ra theo một quy trình rõ ràng, bắt đầu từ việc phân tích yêu cầu, tiếp theo là thiết kế giao diện và kiến trúc hệ thống, sau đó là phát triển và kiểm thử, cho đến khi hoàn thiện sản phẩm.

Bước đầu tiên trong quy trình phát triển hệ thống là phân tích yêu cầu, nhằm xác định các chức năng cốt lõi phục vụ nhu cầu người dùng Các chức năng bao gồm đăng ký tài khoản, xác thực bằng mã OTP qua email, đăng nhập bằng tên người dùng và mật khẩu, cùng hai tính năng chính là luyện thi (Practice) và thi chính thức (Exam) Để hỗ trợ người dùng, nhóm cũng bổ sung tính năng quên mật khẩu (Forgot Password) giúp khôi phục quyền truy cập tài khoản Việc phân tích yêu cầu kỹ lưỡng sẽ định hướng rõ ràng cho các bước tiếp theo trong quá trình phát triển.

Bước thứ hai trong quy trình phát triển là thiết kế hệ thống, bắt đầu với việc xây dựng giao diện người dùng (frontend) bằng ReactJS Nhóm thiết kế chú trọng vào tính đơn giản, dễ sử dụng và thân thiện với người dùng, chia giao diện thành các màn hình chính như đăng ký tài khoản, đăng nhập, trang chính, cùng các trang luyện thi và thi chính thức Mỗi màn hình được thiết kế tỉ mỉ để đảm bảo người dùng có thể dễ dàng thao tác và truy cập các chức năng cần thiết.

Phần backend của hệ thống được phát triển bằng Node.js, đảm nhiệm các logic nghiệp vụ phức tạp như xác thực mã OTP, quản lý thông tin người dùng và dữ liệu bài thi, đồng thời bảo vệ các phiên làm việc qua JSON Web Token (JWT) Để lưu trữ thông tin người dùng và kết quả thi, hệ thống sử dụng cơ sở dữ liệu MongoDB, nổi bật với tính linh hoạt và khả năng truy xuất dữ liệu nhanh chóng, đồng thời hỗ trợ mở rộng dễ dàng khi lượng người dùng tăng lên.

Giai đoạn triển khai tập trung vào việc phát triển các tính năng đã được lên kế hoạch, trong đó có tính năng xác thực OTP thông qua dịch vụ SMTP để gửi mã OTP qua email, giúp người dùng kích hoạt tài khoản nhanh chóng và an toàn Bên cạnh đó, tính năng giám sát quá trình thi chính thức cũng được tích hợp, sử dụng camera để theo dõi hoạt động của thí sinh, đảm bảo tính minh bạch và công bằng trong kỳ thi.

Nhóm đã thực hiện kiểm thử toàn diện hệ thống bằng cách mô phỏng các kịch bản thực tế như đăng ký tài khoản, quên mật khẩu và tham gia các bài thi Mục tiêu là kiểm tra tính ổn định và khả năng đáp ứng yêu cầu bảo mật của hệ thống Tất cả các lỗi phát sinh trong quá trình kiểm thử được ghi nhận và khắc phục, nhằm đảm bảo sản phẩm hoàn thiện trước khi đưa vào sử dụng.

Công cụ kiểm tra

Hệ thống thi trực tuyến bao gồm các giao diện chính như trang đăng nhập, trang làm bài thi và trang hiển thị kết quả, tất cả đều được thiết kế đơn giản, dễ sử dụng và thân thiện, giúp thí sinh dễ dàng thao tác và truy cập thông tin một cách hiệu quả.

Trang đăng nhập được thiết kế trực quan, cho phép thí sinh nhập thông tin tài khoản như email và mật khẩu Sau khi nhấn nút đăng nhập, mã OTP sẽ được gửi tới email của thí sinh để xác thực Khi mã OTP được nhập chính xác, người dùng có thể truy cập vào hệ thống và trải nghiệm các tính năng Giao diện trang đăng nhập được tối ưu hóa để đảm bảo tính bảo mật và thời gian phản hồi nhanh chóng.

Hình 3.1: Giao diện đăng nhập

Hình 3.2: Giao diện đăng ký

Hình 3.4: Giao diện quên mật khẩu

Hình 3.5: Giao diện Reset Password qua email khi quên mật khẩu

Hình 3.6: Giao diện đổi mật khẩu thành công qua email

Trang làm bài thi được thiết kế với giao diện rõ ràng, hiển thị các câu hỏi cùng tùy chọn trả lời dưới dạng nút bấm hoặc hộp chọn Đồng hồ đếm ngược nổi bật ở góc màn hình giúp thí sinh theo dõi thời gian còn lại Các yếu tố trên trang được sắp xếp khoa học, giảm thiểu nhầm lẫn và tăng cường sự tập trung Hệ thống còn tích hợp tính năng tự động lưu bài thi, đảm bảo không mất dữ liệu khi có sự cố kỹ thuật.

Hình 3.7: Giao diện luyện tập

Hình 3.8: Giao diện luyện tập chi tiết

Sau khi hoàn thành bài thi, thí sinh sẽ nhận được trang hiển thị kết quả chi tiết, bao gồm điểm số, thời gian hoàn thành và trạng thái từng câu hỏi (đúng, sai hoặc bỏ trống) Giao diện trực quan với màu sắc sinh động giúp người dùng dễ dàng nắm bắt kết quả và tự đánh giá hiệu suất của mình.

3.2.2 Xác thực OTP qua email

Hệ thống thi trực tuyến sử dụng tính năng xác thực OTP qua email, nhằm nâng cao an toàn và bảo mật cho người dùng Tính năng này đóng vai trò quan trọng trong quá trình đăng nhập, giúp xác minh danh tính thí sinh và giảm thiểu nguy cơ truy cập trái phép.

Khi thí sinh đăng ký vào hệ thống, một mã OTP (One-Time Password) sẽ được tự động tạo ra và gửi đến email đã đăng ký Mã OTP này có hiệu lực trong thời gian ngắn, thường là 5 phút, và không thể tái sử dụng sau khi hết hạn Điều này đảm bảo chỉ người sở hữu email hợp lệ mới có quyền truy cập vào hệ thống.

Hình 3.10: Giao diện xác thực OTP

Hình 3.11: Mã OTP sẽ gửi về gmail đã đăng ký

Tính năng xác thực OTP không chỉ nâng cao bảo mật mà còn mang lại sự an tâm cho người dùng khi đăng nhập Hệ thống này bảo vệ thông tin cá nhân của thí sinh khỏi các xâm nhập trái phép và đảm bảo rằng mỗi phiên truy cập đều được xác minh một cách rõ ràng.

3.2.3 Giám sát thời gian thực

Hệ thống giám sát thời gian thực qua camera thiết bị của thí sinh giúp ghi lại hình ảnh và video liên tục trong suốt quá trình thi Dữ liệu này được truyền về trung tâm giám sát, cho phép giám thị theo dõi hoạt động của từng thí sinh Việc này không chỉ phát hiện kịp thời các hành vi bất thường như trao đổi hay sử dụng tài liệu cấm, mà còn đảm bảo tính minh bạch và công bằng cho kỳ thi Hệ thống giám sát hiện đại này được kỳ vọng nâng cao tính trung thực, giảm thiểu gian lận và củng cố niềm tin của tất cả các bên tham gia.

Hình 3.12: Giao diện thi, giám sát qua camera

Hình 3.13: Giám sát thời gian thực (Khi rời khỏi chỗ) 3.2.4 Lưu trữ và bảo mật dữ liệu

Hệ thống được thiết kế với tiêu chí bảo mật dữ liệu cao nhất, đảm bảo an toàn cho thông tin liên quan đến kỳ thi như thông tin thí sinh, bài thi, kết quả và lịch sử hoạt động Tất cả dữ liệu được lưu trữ trong cơ sở dữ liệu MongoDB, một hệ quản trị cơ sở dữ liệu mạnh mẽ và đáng tin cậy Để bảo vệ dữ liệu nhạy cảm, hệ thống sử dụng thuật toán bcrypt để băm mật khẩu thí sinh trước khi lưu trữ, đảm bảo rằng ngay cả khi cơ sở dữ liệu bị xâm nhập, mật khẩu vẫn được bảo vệ và không thể đọc trực tiếp.

Dữ liệu được truyền tải qua giao thức bảo mật HTTPS, giúp ngăn chặn các cuộc tấn công như nghe lén và giả mạo Thông tin giữa máy chủ và người dùng được mã hóa bằng JWT (JSON Web Token), đảm bảo chỉ những bên được ủy quyền mới có quyền truy cập hoặc thay đổi dữ liệu.

Hệ thống đã trải qua quá trình kiểm thử chặt chẽ với các kịch bản mô phỏng nhiều thí sinh truy cập đồng thời, nhằm đảm bảo hiệu suất ổn định trong điều kiện thực tế Kết quả thử nghiệm cho thấy hệ thống duy trì tính ổn định và phản hồi nhanh chóng, ngay cả khi số lượng người dùng gia tăng đột biến.

Mô hình xử lý bất đồng bộ của Node.js là yếu tố then chốt giúp hệ thống đạt hiệu năng cao, cho phép xử lý nhiều yêu cầu đồng thời mà không gặp tình trạng tắc nghẽn hay chậm trễ Điều này đặc biệt quan trọng trong các hoạt động đọc/ghi dữ liệu và xử lý logic phức tạp.

Cơ sở dữ liệu MongoDB đã cải thiện hiệu năng tổng thể nhờ khả năng truy xuất dữ liệu nhanh chóng và tối ưu hóa cho các tác vụ đọc/ghi Việc áp dụng các chỉ mục và phương pháp tối ưu hóa truy vấn giúp giảm thời gian xử lý dữ liệu, ngay cả khi làm việc với khối lượng lớn.

Thử nghiệm và đánh giá

Nhóm đã tiến hành thử nghiệm hệ thống với các kịch bản thực tế để đánh giá hiệu suất hoạt động, mức độ bảo mật và khả năng đáp ứng yêu cầu Các thử nghiệm được thiết kế một cách kỹ lưỡng nhằm đảm bảo tính chính xác và hiệu quả của hệ thống.

1 Kiểm tra chức năng đăng nhập: Đảm bảo người dùng có thể đăng nhập thành công với thông tin chính xác, đồng thời phát hiện và từ chối các trường hợp đăng nhập không hợp lệ

2 Xác thực OTP (One-Time Password): Thử nghiệm tính năng gửi mã OTP qua email/sms và đảm bảo mã OTP chỉ có hiệu lực trong thời gian quy định, không thể sử dụng lại

3 Giám sát thời gian thực: Kiểm tra khả năng ghi nhận hình ảnh và video của thí sinh, truyền tải dữ liệu đến giám thị một cách ổn định và liên tục

4 Xử lý nhiều yêu cầu đồng thời: Mô phỏng hàng nghìn người dùng truy cập đồng thời để kiểm tra tính ổn định và khả năng mở rộng của hệ thống

Hệ thống hoạt động mượt mà mà không gặp lỗi nghiêm trọng, với các tính năng chính hoạt động đúng theo thiết kế Đảm bảo an toàn cho dữ liệu người dùng thông qua các cơ chế mã hóa và bảo mật tích hợp Thời gian phản hồi của hệ thống luôn được duy trì ở mức tối ưu, ngay cả trong các tình huống tải cao.

Ngày đăng: 22/02/2025, 21:30

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Giao diện đăng nhập - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.1 Giao diện đăng nhập (Trang 22)
Hình 3.2: Giao diện đăng ký - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.2 Giao diện đăng ký (Trang 23)
Hình 3.3: Giao diện Dashboard - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.3 Giao diện Dashboard (Trang 23)
Hình 3.5: Giao diện Reset Password qua email khi quên mật khẩu - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.5 Giao diện Reset Password qua email khi quên mật khẩu (Trang 24)
Hình 3.4: Giao diện quên mật khẩu - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.4 Giao diện quên mật khẩu (Trang 24)
Hình 3.6: Giao diện đổi mật khẩu thành công qua email - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.6 Giao diện đổi mật khẩu thành công qua email (Trang 24)
Hình 3.7: Giao diện luyện tập - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.7 Giao diện luyện tập (Trang 25)
Hình 3.8: Giao diện luyện tập chi tiết - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.8 Giao diện luyện tập chi tiết (Trang 25)
Hình 3.9: Giao diện thi - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.9 Giao diện thi (Trang 26)
Hình 3.10: Giao diện xác thực OTP - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.10 Giao diện xác thực OTP (Trang 27)
Hình 3.11: Mã OTP sẽ gửi về gmail đã đăng ký - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.11 Mã OTP sẽ gửi về gmail đã đăng ký (Trang 27)
Hình 3.12: Giao diện thi, giám sát qua camera - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.12 Giao diện thi, giám sát qua camera (Trang 28)
Hình 3.13: Giám sát thời gian thực (Khi rời khỏi chỗ)  3.2.4.  Lưu trữ và bảo mật dữ liệu - Đồ Án môn học bảo mật thông tin xây dựng hệ thống thi và luyện thi chứng chỉ quốc tế trực tuyến
Hình 3.13 Giám sát thời gian thực (Khi rời khỏi chỗ) 3.2.4. Lưu trữ và bảo mật dữ liệu (Trang 28)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w