0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Tổng quan về xác thực: Phương thức và Tầm quan trọng trong Bảo mật

Đăng vào 1 tháng trước

• 5 phút đọc

Chủ đề:

Authentication

I. Định nghĩa về Xác thực

Xác thực (Authentication) là quá trình kiểm tra và xác nhận danh tính của một cá nhân hoặc hệ thống nhằm bảo đảm rằng đối tượng đó thực sự là người mà nó tuyên bố. Quá trình xác thực thường đi đôi với ủy quyền (Authorization), xác nhận quyền hạn của đối tượng đối với các tài nguyên.

Ví dụ, khi anh Nguyễn Văn A đến ngân hàng để xin sao kê tài khoản, anh cần xuất trình căn cước và chữ ký để chứng minh danh tính. Là người dùng dịch vụ ngân hàng, anh có quyền kiểm tra và sửa đổi thông tin tài khoản của mình, nhưng không có quyền thay đổi thông tin tài khoản của người khác hay tự ý điều chỉnh lãi suất.

II. Phân loại Phương thức Xác thực

1. Xác thực Đơn Giới (Single-factor Authentication - SFA)

Xác thực Đơn Giới sử dụng một phương pháp duy nhất để xác thực người dùng. Mặc dù SFA đơn giản và dễ sử dụng, nhưng nó thường không đủ bảo mật cho các tổ chức yêu cầu mức độ bảo mật cao. Các phương pháp này thường được phân thành các nhóm chính sau:

  • Những gì bạn nhớ: mật khẩu, câu hỏi bảo mật, mã PIN.
  • Những gì bạn có: Smartcard, USB xác thực, mã OTP gửi về điện thoại.
  • Những gì bạn là: các đặc điểm sinh trắc học như vân tay, nhận diện khuôn mặt.
  • Nơi bạn truy cập: địa chỉ IP, GPS.
  • Những gì bạn làm: thói quen gõ phím, mẫu di chuyển chuột.

2. Xác thực Hai Giai Đoạn (Two-factor Authentication - 2FA)

Xác thực Hai Giai Đoạn sử dụng hai phương pháp khác nhau để gia tăng tính bảo mật. So với SFA, 2FA cung cấp mức độ tin cậy cao hơn, giảm thiểu nguy cơ bị tấn công. Tuy nhiên, 2FA cũng có thể gây phiền phức cho người dùng và gặp vấn đề tương thích với một số thiết bị cũ.

Cần lưu ý rằng 2FA không phải là việc sử dụng hai phương thức bảo mật tương tự nhau. Ví dụ, xác thực bằng cách cung cấp tên người dùng/mật khẩu, sau đó yêu cầu nhập thêm ngày sinh là không phải 2FA. Thay vào đó, 2FA yêu cầu người dùng xác thực qua hai phương thức bảo mật khác nhau, chẳng hạn như mật khẩu (what you remember) và một mã OTP gửi đến điện thoại (what you have).

3. Xác thực Nhiều Giai Đoạn (Multi-factor Authentication - MFA)

MFA bao gồm việc sử dụng nhiều hơn hai phương pháp xác thực, mang lại tính bảo mật cao nhất trong ba phương thức nêu trên. Tuy nhiên, việc tích hợp nhiều lớp bảo mật có thể gây phiền phức cho người dùng, nên cần cân nhắc khi áp dụng. Chỉ nên vận dụng MFA khi 2FA không đủ khả năng bảo vệ cho hệ thống.

III. Các Phương Thức Xác Thực Cơ Bản

1. Xác thực bằng Mật khẩu

Xác thực bằng mật khẩu là phương pháp xác thực cơ bản và lâu đời nhất. Người dùng sẽ cung cấp một chuỗi ký tự mà chỉ họ biết (what you remember). Phương pháp này phổ biến trong các hệ thống như đăng nhập máy tính, điện thoại hoặc wifi.

Mẹo để tạo mật khẩu mạnh:

  • Tối thiểu 12 ký tự.
  • Bao gồm ít nhất một chữ cái viết hoa, một chữ cái viết thường, một chữ số và một ký tự đặc biệt.
  • Thay đổi mật khẩu thường xuyên và sử dụng công cụ tạo mật khẩu để gia tăng bảo mật.

2. Đăng Nhập Một Lần (Single Sign-On - SSO)

Phương thức SSO cho phép người dùng đăng nhập vào nhiều ứng dụng trong một hệ sinh thái thông qua một lần đăng nhập duy nhất, phù hợp với mô hình SaaS và microservices. Khi đăng nhập vào Gmail, bạn có thể truy cập tất cả dịch vụ trong hệ sinh thái của Google mà không cần phải đăng nhập lại.

Một số công nghệ và giao thức phổ biến:

  • SAML (Security Assertion Markup Language).
  • OAuth 2.0 (Chỉ dùng cho ủy quyền chứ không phải xác thực).
  • OpenId Connect - xây dựng trên nền tảng OAuth 2.0 (cung cấp cả chức năng xác thựcủy quyền).

3. Xác thực Sinh Trắc Học

Xác thực sinh trắc học dựa trên đặc điểm sinh học hoặc hành vi của người dùng. Phương pháp này ngày càng phổ biến trên các thiết bị di động với các tính năng như nhận diện khuôn mặt, vân tay hay giọng nói.

Ưu điểm:

  • Bảo mật cao và khó giả mạo.
  • Nhanh chóng và thuận tiện, không cần nhớ mật khẩu.

Nhược điểm:

  • Chi phí cao.
  • Độ chính xác không phải lúc nào cũng hoàn hảo do tình trạng cơ thể hay chấn thương.
  • Quan ngại về quyền riêng tư vì thông tin sinh trắc học được coi là nhạy cảm.

4. CAPTCHA và reCAPTCHA

CAPTCHA (Completely Automated Public Turing Test to tell Computers and Humans Apart) là phương pháp nhằm phân biệt người dùng là con người hay robot. Các loại CAPTCHA thường gặp bao gồm hình ảnh, âm thanh và giải đố. Google còn phát triển reCAPTCHA v3, sử dụng trí tuệ nhân tạo để phân tích hành vi người dùng, từ đó yêu cầu xác thực khi cần thiết.

5. Xác thực Linh Hoạt (Adaptive Authentication)

Xác thực Linh Hoạt vận dụng nhiều yếu tố khác nhau để đánh giá và đưa ra yêu cầu xác thực bổ sung nếu cần. Các yếu tố thường xem xét bao gồm vị trí, thiết bị đang sử dụng, địa chỉ IP, tần suất yêu cầu và các hành vi bất thường của người dùng.

Ngoài các phương thức trên, còn rất nhiều phương thức xác thực khác chưa được đề cập. Tôi sẽ cập nhật thêm liên tục khi có thêm thông tin.


Nếu bạn thấy bài viết hữu ích, hãy nhấn upvote hoặc để lại bình luận để tôi cùng trao đổi thêm nhé. Bạn cũng có thể khám phá các bài viết khác của tôi tại blog cá nhân hoặc kết nối qua Linkedin.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào