Tìm Hiểu Về Giải Pháp Bảo Mật Xác Thực Cho Ứng Dụng Trên Thiết Bị Di Động

Tài liệu nghiên cứu Tìm hiểu về một số giải pháp bảo mật xác thực cho ứng dụng trên thiết bị di động, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2021

123
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. Giới thiệu

1.1. Mục tiêu đề tài

1.2. Phạm vi đề tài

2. Kiến thức nền tảng

2.1. Các nguyên tắc trong bảo mật thông tin

2.1.1. Tính bí mật dữ liệu

2.1.2. Tính toàn vẹn dữ liệu

2.1.3. Tính sẵn sàng dữ liệu

2.1.4. Tính chống thoái thác

2.2. Xác thực người dùng

2.2.1. So sánh Authentication và Authorization

2.3. Mã hóa bất đối xứng

2.4. Lộ thông tin nhạy cảm người dùng

2.5. XML External Entities

2.6. Broken Access Control

2.7. Cấu hình sai các cài đặt bảo mật

2.8. Cross-Site Scripting (XSS)

2.9. Giải mã dữ liệu không an toàn

2.10. Sử dụng các công cụ với các lỗ hổng bảo mật đã được biết

2.11. Giám sát hệ thống không đầy đủ

3. Các công trình nghiên cứu liên quan

3.1. Các mô hình xác thực người dùng

3.1.1. API Key Authentication

3.1.2. Các dịch vụ xác thực người dùng

3.1.2.1. Single Sign-On (SSO)
3.1.2.2. Google Sign In

3.1.3. Các nghiên cứu tăng cường bảo mật

3.1.3.1. Bài báo "Two-Factor Authentication: Too Little, Too Late"
3.1.3.2. Bài báo "A secure method for signing in using quick response codes with mobile authentication"

3.1.4. Các công cụ, thư viện kiểm thử và đánh giá bảo mật

3.1.4.1. Công cụ StackHawk

4. Các lỗ hổng, mối đe dọa và rủi ro trong bảo mật và xác thực người dùng

4.1. Vulnerability, threat và risk

4.2. Quản lý danh tính (Identity management)

4.2.1. Đoán và liệt kê các tài khoản

4.2.2. Phương thức khóa tài khoản yếu kém

4.2.3. Bypass quá trình xác thực

4.2.4. Yêu cầu về mật khẩu yếu

4.2.5. Điểm yếu trong quá trình thay đổi, khôi phục mật khẩu

4.2.6. Bypass quá trình ủy quyền

4.3. Kiểm tra đầu vào (Input validation)

4.3.1. Reflected Cross Site Scripting

4.3.2. Stored Cross Site Scripting

5. Giải pháp đề xuất

5.1. Phân tích yêu cầu

5.1.1. Định dạng chuỗi bí mật trong mô hình

5.1.2. Các loại mã JWT trong hệ thống

5.1.3. Thu hồi các chuỗi bí mật

5.2. Kiến trúc tổng quan hệ thống

5.2.1. Hiện thực khối quản lý việc tạo / xác thực các mã trong hệ thống

5.2.1.1. Quá trình tạo và kiểm chứng mã JWT
5.2.1.2. Quá trình tạo mã OTP
5.2.1.3. Quá trình tạo, xác nhận và kiểm tra cho mã QR
5.2.1.4. Quá trình tạo và kiểm tra cho mã khôi phục mật khẩu

5.2.2. Hiện thực khối quản lý thông tin người dùng

5.2.3. Hiện thực khối logic chức năng

5.2.3.1. Đăng ký người dùng
5.2.3.3. Đăng nhập sử dụng mã QR
5.2.3.4. Cập nhật thông tin
5.2.3.5. Khôi phục mật khẩu
5.2.3.7. Cấp lại mã truy cập (AT)
5.2.3.8. Kiểm tra mã truy cập (RT)
5.2.3.9. Tạm khóa tài khoản theo ràng buộc về số lần thất bại

5.2.4. Lược đồ lưu trữ cho dữ liệu được ủy quyền quản lý bởi dịch vụ điều phối

5.2.5. Quá trình đăng ký bổ sung thông tin tài xế và phương tiện

5.2.6. Quá trình ủy quyền người dùng thay cho dịch vụ điều phối

5.2.7. Giới hạn một người dùng chỉ được đăng nhập trên một thiết bị tại một thời điểm

6. Đánh giá và cải tiến giải pháp đề xuất

6.1. Đánh giá giải pháp đề xuất

6.2. Các rủi ro và giải pháp cải tiến

6.3. Hiện thực giải pháp cải tiến

6.3.1. Trong việc xoay vòng mã làm mới

6.3.2. Ngăn chặn kịp thời việc sử dụng lại mã làm mới đã hết hạn

6.3.3. Khôi phục mật khẩu sử dụng lịch sử người dùng

7. Triển khai, thử nghiệm và đánh giá

7.1. Thử nghiệm và kiểm thử mô hình

7.1.1. Kiểm thử yêu cầu hệ thống

7.1.2. Kiểm thử xâm nhập (Penetration Test)

7.2. Những hạn chế và hướng phát triển

Tài liệu tham khảo

Phụ lục A: Tài liệu API hệ thống

A.1. Đăng ký tài khoản

A.2. Đăng ký bổ sung thông tin tài xế, phương tiện

A.3. Đăng nhập sử dụng mật khẩu và OTP

A.4. Đăng nhập sử dụng QR

A.5. Khôi phục mật khẩu

A.5.1. Khôi phục sử dụng OTP và câu hỏi bảo mật

A.6. Cập nhật thông tin

A.7. Thay đổi mật khẩu

A.8. Cấp lại access token

A.9. Kiểm tra access token

Tóm tắt

I. Giới thiệu về Giải Pháp Bảo Mật Xác Thực Ứng Dụng Di Động

Trong thời đại công nghệ số, việc bảo mật thông tin và xác thực người dùng trên ứng dụng di động trở thành một vấn đề cấp thiết. Các ứng dụng di động ngày càng phổ biến, nhưng cũng đồng nghĩa với việc gia tăng các mối đe dọa về bảo mật. Việc tìm hiểu và áp dụng các giải pháp bảo mật xác thực là cần thiết để bảo vệ dữ liệu người dùng.

1.1. Tầm quan trọng của bảo mật ứng dụng di động

Bảo mật ứng dụng di động không chỉ bảo vệ thông tin cá nhân mà còn đảm bảo sự tin cậy của người dùng đối với ứng dụng. Các lỗ hổng bảo mật có thể dẫn đến việc rò rỉ dữ liệu nhạy cảm, gây thiệt hại lớn cho cả người dùng và nhà phát triển.

1.2. Các loại hình tấn công phổ biến

Các hình thức tấn công như tấn công man-in-the-middle, tấn công lừa đảo và tấn công từ chối dịch vụ (DDoS) đang gia tăng. Những mối đe dọa này đòi hỏi các giải pháp bảo mật mạnh mẽ để bảo vệ thông tin người dùng.

II. Vấn đề và Thách thức trong Bảo Mật Xác Thực

Mặc dù có nhiều giải pháp bảo mật hiện có, nhưng vẫn tồn tại nhiều thách thức trong việc bảo vệ thông tin người dùng. Các ứng dụng di động thường gặp phải các vấn đề như quản lý danh tính kém, lỗ hổng bảo mật và thiếu các biện pháp bảo vệ hiệu quả.

2.1. Lỗ hổng bảo mật trong ứng dụng di động

Nhiều ứng dụng di động không được cập nhật thường xuyên, dẫn đến việc tồn tại các lỗ hổng bảo mật. Điều này tạo cơ hội cho các hacker khai thác và đánh cắp thông tin người dùng.

2.2. Thiếu nhận thức về bảo mật

Người dùng thường không nhận thức đầy đủ về các rủi ro bảo mật khi sử dụng ứng dụng di động. Điều này dẫn đến việc họ dễ dàng trở thành nạn nhân của các cuộc tấn công.

III. Phương Pháp Bảo Mật Xác Thực Ứng Dụng Di Động

Để bảo vệ thông tin người dùng, nhiều phương pháp bảo mật đã được phát triển. Các giải pháp này bao gồm xác thực đa yếu tố, mã hóa dữ liệu và quản lý danh tính hiệu quả.

3.1. Xác thực đa yếu tố MFA

Xác thực đa yếu tố là một trong những phương pháp bảo mật hiệu quả nhất. Nó yêu cầu người dùng cung cấp nhiều hình thức xác thực, giúp tăng cường bảo mật cho tài khoản.

3.2. Mã hóa dữ liệu

Mã hóa dữ liệu giúp bảo vệ thông tin nhạy cảm bằng cách biến đổi dữ liệu thành định dạng không thể đọc được. Chỉ những người có khóa mã hóa mới có thể truy cập vào dữ liệu gốc.

3.3. Quản lý danh tính

Quản lý danh tính hiệu quả giúp xác thực người dùng một cách an toàn và nhanh chóng. Các hệ thống quản lý danh tính hiện đại cung cấp các công cụ để theo dõi và kiểm soát quyền truy cập.

IV. Ứng Dụng Thực Tiễn và Kết Quả Nghiên Cứu

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng các giải pháp bảo mật xác thực có thể giảm thiểu rủi ro bảo mật. Các ứng dụng đã triển khai các biện pháp bảo mật này thường có tỷ lệ bảo mật cao hơn.

4.1. Kết quả từ các nghiên cứu thực tiễn

Nghiên cứu cho thấy rằng các ứng dụng sử dụng xác thực đa yếu tố có tỷ lệ bảo mật cao hơn 70% so với các ứng dụng không sử dụng phương pháp này.

4.2. Các trường hợp thành công

Nhiều công ty đã thành công trong việc bảo vệ thông tin người dùng bằng cách áp dụng các giải pháp bảo mật hiện đại. Điều này không chỉ bảo vệ dữ liệu mà còn nâng cao uy tín của thương hiệu.

V. Kết Luận và Tương Lai của Bảo Mật Xác Thực

Bảo mật xác thực ứng dụng di động là một lĩnh vực đang phát triển nhanh chóng. Các công nghệ mới như trí tuệ nhân tạo và blockchain đang được nghiên cứu để cải thiện bảo mật trong tương lai.

5.1. Xu hướng tương lai trong bảo mật

Các công nghệ mới như trí tuệ nhân tạo sẽ giúp phát hiện và ngăn chặn các cuộc tấn công bảo mật một cách hiệu quả hơn. Điều này hứa hẹn sẽ tạo ra một môi trường an toàn hơn cho người dùng.

5.2. Tầm quan trọng của việc nâng cao nhận thức

Nâng cao nhận thức về bảo mật cho người dùng là rất quan trọng. Các chương trình giáo dục và đào tạo sẽ giúp người dùng hiểu rõ hơn về các rủi ro và cách bảo vệ thông tin cá nhân.

08/07/2025
Tìm hiểu về một số giải pháp bảo mật xác thực cho ứng dụng trên thiết bị di động

Trích đoạn nội dung tài liệu

Chương 1 giới thiệu về đề tài luận văn, nêu lên động lực và phạm vi thực hiện của đề tài. Chương 2 trình bày các khác niệm cơ bản, kiến thức nền tảng liên quan đến những vấn đề bảo mật cho hệ thống công nghệ thông tin nói chung và trong ứng dụng trên thiết bị di động nói riêng. Chương 3 phân tích, đánh giá các giải pháp, công trình nghiên cứu liên quan phổ biến hiện nay, từ đó áp dụng vào việc thiết kế, xây dựng và thực hiện đề tài này. Chương 4 phân tích một số rủi ro xảy ra trong thực tế liên quan đến vấn đề bảo mật và xác thực người dùng trên ứng dụng di động, từ đó đề các giải pháp để khắc phục.

Chương 5 đưa ra giải pháp thí điểm cho việc xác thực người dùng cho một bài toán cụ thể trong thực tế. Đồng thời áp dụng những phân tích, đánh giá ở Chương 3, 4 để xây dựng các mục tiêu và tiêu chí trong mô hình bảo mật của giải pháp. Chương 6 đánh giá và phân tích giải pháp thí điểm trên các khía cạnh bảo mật cũng như đề ra hướng giải quyết cho các vấn đề tồn đọng mà mô hình gặp phải. Chương 7 xây dựng và triển khai thử nghiệm giải pháp đã đề xuất trong điều kiện thực tế dựa trên những kịch bản được thiết kế nhằm đánh giá mức độ thỏa mãn các mục tiêu đề ra ở Chương 5.

Chương 8 tổng kết lại những kết quả đã đạt được trong quá trình nghiên cứu, phân tích, đánh giá và đề ra giải pháp. Nêu lên những mặt hạn chế, đồng thời đề ra hướng phát triển cho đề tài trong tương lai. 2 KIẾN THỨC NỀN TẢNG 2. CÁC NGUYÊN TẮC TRONG BẢO MẬT THÔNG TIN Mô hình tam giác bảo mật CIA [5] hiện nay vẫn được đánh giá cao bởi cách tiếp cận đơn giản phù hợp với việc tìm hiểu, hình dung, và giải quyết các vấn đề trong lĩnh vực bảo mật thông tin ở mức ý niệm.

Tam giác CIA được hình thành từ ba khái niệm cơ bản gồm: • Confidentiality: Tính bí mật dữ liệu. • Integrity: Tính toàn vẹn dữ liệu. • Availability: Tính sẵn sàng dữ liệu. Ba yếu tố C-I-A trong mô hình này thể hiện sự cân bằng của 3 đặc tính cần phải có khi xây dựng những hệ thống tương tác đến dữ liệu của người dùng.

Ngoài ra, khi cần mở rộng phạm vi tác động của việc bảo mật thông tin, còn có 2 khái niệm khác được bổ sung bao gồm: Tính xác thực (Authentication), và Chống thoái thác (Non-repudiation) [5]. TÍNH BÍ MẬT DỮ LIỆU Dữ liệu phải được bảo đảm an toàn để bảo vệ sự riêng tư của người sở hữu dữ liệu đó. Điều này đồng nghĩa với việc ngăn chặn dữ liệu bị tiết lộ trong suốt quá trình truyền tải giữa các bên liên quan. Tính bí mật có thể đạt được nhờ vào cơ chế mã hóa thông tin, đảm bảo dữ liệu chỉ có thể được truy xuất bởi người gửi và người nhận.

Một khi nguyên tắc này bị phá hủy, các thông tin nhạy cảm của người dùng 4 2. CÁC NGUYÊN TẮC TRONG BẢO MẬT THÔNG TIN 5 như mật khẩu, mã xác thực, chứng chỉ, số thẻ tín dụng,. có thể bị đánh cắp và sử dụng bất hợp pháp bởi những kẻ tấn công. TÍNH TOÀN VẸN DỮ LIỆU Tính toàn vẹn dữ liệu đảm bảo rằng thông tin trong quá trình truyền tải, lưu trữ không bị thay đổi so với dữ liệu gốc ban đầu.

Khi yếu tố này bị vi phạm, dữ liệu gốc và dữ liệu truy xuất không còn nhất quán. Sự sai lệch thông tin này có thể xuất phát từ những vấn đề kỹ thuật trong quá trình truyền tải và lưu trữ (như lỗi đường truyền, lỗi phần cứng,.), hoặc nghiêm trọng hơn là do yếu tố con người, khi mà kẻ tấn công sửa đổi dữ lệu có chủ ý nhằm một đích nào đó. Để ngăn ngừa việc này,hàm băm (hash function) thường được sử dụng bởi tính chất một chiều của nó, đó là ứng với một dữ liệu đầu vào bất kỳ là a và hàm băm h(), giá trị đầu ra luôn có chiều dài cố định, và một sự biến đổi nhỏ của giá trị đầu vào cũng làm giá trị đầu ra thay đổi rất khác biệt (không thể đoán trước được). Do đó, khi có một giá trị của hàm băm, gần như không thể xác định được giá trị đầu vào của hàm.

TÍNH SẴN SÀNG DỮ LIỆU Tính chất này đảm bảo rằng người dùng hợp lệ có thể truy cập và sử dụng dữ liệu của họ bất kỳ lúc nào. Yếu tố này nghe qua có vẻ mâu thuẩn với tiêu chí bí mật của dữ liệu, đó là một yếu tố đòi hỏi dữ liệu phải được lưu trữ và bảo vệ nghiêm ngặt, một yếu tố đòi hỏi dữ liệu phải luôn sẵn sàng để được truy xuất. Đây chính là lý do đòi hỏi tam giác CIA phải cân bằng. Tính sẵn sàng của dữ liệu có thể bị ảnh hưởng bởi những tác nhân bên trong hệ thống như phần mềm bị gián đoạn ngoài ý muốn, phần cứng ngưng hoạt động do hỏng hóc, hoặc đến từ bên ngoài như việc hệ thống đối mặt với các cuộc tấn công từ chối dịch vụ.

Một ví dụ minh họa cho thấy 3 yếu tố C-I-A luôn cần phải được bảo đảm trong tất cả những giải pháp liên quan đến bảo mật, điển hình là trong một hệ thống e-Commerce. Trong hệ thống này, 3 yếu tố C-I-A bộc lộ vai trò của nó như sau: • Tính bí mật: thông tin thẻ tín dụng (credit card) phải được bảo vệ để chống lại việc bị đánh cắp để thực hiện những giao dịch gian dối. • Tính toàn vẹn: khi khách hàng mua món hàng A như mô tả trên hệ thống, họ cần phải nhận được đúng món hàng họ đã đặt. Không thể để xảy ra trường hợp mô tả về món hàng A đã bị thay đổi so với mô tả ban đầu.

• Tính sẵn sàng: hệ thống vận hành liên tục 24 giờ/ngày, 7 ngày/tuần và khách hàng hợp lệ có thể mua hàng bất kỳ khi nào họ muốn. XÁC THỰC NGƯỜI DÙNG 6 2. TÍNH XÁC THỰC Tính xác thực [6] được thực hiện thông qua quy trình xác minh người dùng bằng nhiều hình thức khác nhau nhằm ngăn chặn việc giả mạo danh tính trong quá trình tiếp cận, trao đổi thông tin với hệ thống. Việc này đòi hỏi người dùng hợp lệ phải cung cấp những minh chứng để chứng nhận rằng anh ta đúng là anh ta và là một người dùng hợp lệ.

TÍNH CHỐNG THOÁI THÁC Chống thoái thác dữ liệu là một cơ chế loại trừ việc một người đã gửi thông điệp hợp lệ nhưng sau đó lại chối bỏ chúng. Trong ví dụ trên, một người chủ sở hữu thẻ tín dụng, thực hiện việc mua sắm trên hệ thống e-Commerce, giao dịch thực hiện thành công nhưng lại từ chối thanh toán và cho là giao dịch đó không phải do anh ta thực hiện. Điều này được thực hiện thông qua chữ ký số, trong đó hệ thống sử dụng cơ chế khóa riêng tư - khóa công khai. Người gửi "ký" vào thông điệp cần gửi bằng khóa riêng tư và người nhận có thể kiểm chứng thông điệp có phải đúng là của người gửi hay không thông qua khóa công khai của người đó.

X ÁC THỰC NGƯỜI DÙNG 2. AUTHENTICATION Xác thực [7] là quá trình xác minh danh tính của người dùng là chính xác so với những gì họ đang tuyên bố. Mục đích của việc này nhằm ngăn chặn những truy cập bất hợp lệ vào hệ thống. Điển hình là việc cố tình sử dụng sai danh tính hay dùng thông tin đăng nhập của người khác để thực hiện những truy cập trái phép.

Thông thường ba yếu tố sau được sử dụng nhằm xác định người dùng có phải chính là người mà họ đang tuyên bố hay không: • Dựa trên những gì người dùng biết. • Dựa trên những gì người dùng sở hữu. • Dựa trên đặc trưng duy nhất của người dùng. Yếu tố thứ nhất rất dễ dàng để áp dụng cho các hệ thống bảo mật bởi sự thuận tiện trong việc hiện thực và triển khai nên nó được sử dụng trong hầu hết các hệ thống thông dụng.

Thông thường, yếu tố này được hiện thực dưới hình thức tên đăng nhập / mật khẩu (username / password). Tuy nhiên khuyết điểm của nó là sự phụ thuộc vào khả năng ghi nhớ của người dùng. Thay vì nhớ nhiều mật khẩu phức tạp thỏa mãn các tiêu chuẩn mật khẩu mạnh, người dùng lại chọn những 2. XÁC THỰC NGƯỜI DÙNG 7 mật khẩu đơn giản và sử dụng đồng thời cho nhiều hệ thống khác nhau.

Theo số liệu của NordPass vào năm 2020 [8], có tới 2, 543, 285 người sử dụng mật khẩu phổ biến và vô cùng đơn giản là "123456". Điểm yếu này tạo sự thuận lợi cho các loại hình tấn công như tấn công vét cạn hoặc tấn công thông qua từ điển bằng việc khai thác tính đơn giản và phổ biến của chúng. Yếu tố thứ hai đã khắc phục được hạn chế của yếu tố thứ nhất, đó là người dùng hệ thống hỗ trợ xác thực người dùng bằng những gì người dùng có không phải nhớ gì về thông tin dùng để xác thực, ví dụ không cần phải nhớ tên đăng nhập, không cần phải nhớ mật khẩu. Tuy nhiên, hạn chế của mô hình này là để bảo đảm tính sẵn sàng thì người dùng phải luôn mang theo bên mình các thiết bị vật lý để hỗ trợ xác thực như các loại thẻ từ, thẻ thông minh, thiết bị di động.

Ngoài ra, trong trường hợp các thiết bị hỗ trợ xác thực bị thất lạc, nếu hệ thống không được cập nhật kịp thời để hủy tính hợp lệ của thiết bị thì nó không thể nào xác định được người đang thực hiện hành vi xác thực có đúng là chủ sở hữu của thiết bị đó hay không. Bên cạnh đó, chi phí triển khai cũng là một vấn đề cần cân nhắc khi áp dụng yếu tố xác thực này do phải sử dụng thêm phần cứng hỗ trợ làm chi phí đầu tư cao hơn so với yếu tố đầu tiên. Cuối cùng, yếu tố dựa vào đặc trưng duy nhất tận dụng những thuộc tính riêng mà chỉ người dùng mới có để khắc phục nhược điểm của 2 yếu tố trên, đó là người dùng không phải nhớ và cũng không phải bảo quản thiết bị hỗ trợ đăng nhập. Tuy nhiên phương án này cũng tồn tại nhiều mặt hạn chế.

Đầu tiên chính là sự ảnh hưởng của yếu tố môi trường trong quá trình xác thực như ánh sáng, độ chói,. làm giảm độ chính xác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ