Authentication là gì? Tìm hiểu tổng quan

Authentication là gì? Tìm hiểu tổng quan về Authentication và so sánh sự khác nhau giữa Authentication và Authorization.

1. Authentication là gì?

Authentication là gì
Authentication là gì?

Authentication được tạm dịch là xác thực là quá trình kiểm tra danh tính của một tài khoản đang truy cập vào hệ thống hiện tại thông qua một hệ thống xác thực. Đây được xem là bước ban đầu của mọi hệ thống có yếu tố người dùng. Hoặc có thể nói đây là hành động giúp thiết lập hoặc chứng thực một điều gì đó đáng tin cậy.

Nếu không có bước xác thực này, hệ thống sẽ không biết được người đang truy cập vào hệ thống là ai để có các phản hồi phù hợp. Bản chất của Authentication chính là bạn sẽ thực hiện xác nhận HTTP request được gửi đến từ một người nào đó.

Một vài ví dụ điển hình để định nghĩa được Authentication là:

  • Server sẽ xác thực các yêu cầu do đúng từ client người dùng gửi lên hay không cũng bởi Authentication.
  • Server sẽ xác thực các nội dung được yêu cầu do đúng từ người dùng A gửi lên hay không cũng là Authentication.

2. Phân loại Authentication

Authentication được chia thành 2 loại là: HTTP Basic Authentication và Multi – factor Authentication (MFA)

HTTP Basic Authentication:

HTTP Basic Authentication là một kỹ thuật xác thực nhằm bảo mật cho ứng dụng web trên giao thức http. Yêu cầu người sử dụng cung cấp tên truy cập và mật khẩu khi sử dụng hệ thống ứng dụng. Web server sẽ thu thông tin và danh tính người dùng qua một hộp thoại trên Browser.

Trong vô vàn cách để bảo mật tài nguyên thì HTTP Authentication là một cách đơn giản và ưa chuộng nhất.

Multi – factor Authentication (MFA):

Là kỹ thuật xác thực đa nhân tố viết tắt là MFA, đây là một hệ thống bảo mật yêu cầu nhiều phương thức xác thực đến từ mục đăng nhập thông tin để xác minh danh tính người dùng hoặc các giao dịch khác.

Xác thực Multi – factor được kết hai hoặc nhiều thông tin độc lập:

– password: mật khẩu.

– security token: mã thông báo bảo mật.

– biometric verification: xác minh sinh trắc học.

Những yếu tố này sẽ tạo nên một lớp bảo vệ vững chắc giúp gây khó khăn cho những người không đyược phép truy cập vào một mục tiêu cụ thể. Nếu như yếu tố xác thực bị xâm phạm thì kẻ tấn công cần phải vượt qua ít nhất 1 rào cản 1 lần nữa. Khi đó họ mới có thể xâm nhập trái phép thành công vào mục tiêu.

3. Yếu tố xác thực Authentication

Đây là những bước xác thực quen thuộc và thông dụng nhất, mà hầu hết những hình thức đơn giản đều sử dụng làm from đăng nhập vào hệ thống.

Mật khấu (Password): là phương pháp đơn giản, dễ triển khai. Khi người dùng truy cập mỗi hệ thống sẽ lưu lại mật khẩu ở dạng đã được mã hóa một chiều. Đảm bảo mật khẩu dù có bị hack cũng không thể khôi phục thành chuỗi gốc. Phương pháp này có hai dạng Swipe Pattern PIN, mật khẩu dùng một lần.

Khóa (Public – Key cryptography):  là phương pháp dựa trên thuật toán mã hóa khóa công cộng và khóa cá nhân. Để truy cập vào một hệ thống thì cần có một khóa cá nhân trên máy và đăng nhập vào hệ thống mà không cần nhớ thông tin về đăng nhập như phương pháp mật khẩu.

Sinh học (Biometrics): là nhận diện thông qua vân tay, tròng mắt, khuôn mặt,… các yếu tố đặc trưng của con người dùng để xác thực. Phương pháp này có ID và mật khẩu luôn đi cùng với nhau nên không sợ quên hay lạc mất. Chủ động hơn khi đăng nhập vào hệ thống.

4. Qúa trình thực hiện Authentication

Bản chất của HTTP request được xem là một bản tin biểu diễn bằng text, cần một dấu hiệu nào đó đã thống nhất để ứng dụng nhận ra được nó xuất phát từ người dùng nào.

Các dấu hiệu nhận biết người dùng chính là một thứ bất kỳ mang đặc trưng như tên người đăng nhập, mật khẩu, chuỗi ký tự random,… Dấu hiệu nhận biết người dùng sẽ là bất kỳ vị trí nào có thể ở trong bảng tin HTTP như URL, Header, body,…

Qúa trình Authentication:

Một quá trình Authentication bao gồm 3 phần, quá trình được thực hiện dựa vào sự thống nhất giữa người dùng và ứng dụng

  • Phát sinh ra các dấu hiệu: đây là lúc người dùng phải quyết định nên lựa chọn và sử dụng dấu hiệu gì và cách dùng tạo ra dấu hiệu đó. Mỗi quá trình Authentication sẽ có sự xuất hiện của nhiều dấu hiệu như password, username, user toke, api key,…
  • Lưu trữ cho các dấu hiệu: quyết định xem bạn nên lưu trữ dấu hiệu này ở đâu. Sự lựa chọn có thể ở client, server hoặc vị trí của bản tin HTTP.
  • Kiểm tra các dấu hiệu: kiểm tra lại các tích hợp lệ của dấu hiệu, đối chiếu xem lại các dấu hiệu của người dùng nào.

4. Phân biệt sự khác nhau giữa Authentication và Authorization

Authentication Authorization
Xác định xanh tính để cấp quyền truy cấp vào hệ thống Xác định quyền truy cập vào tài nguyên.
Là quá trình xác nhận thông tin đăng nhập để có quyền truy cập của người dùng. Là quá trình xác minh xem có cho phép truy cập hay không.
Quyết định thông tin người dùng có đúng với những thông tin cung cấp hay không. Xác định những gì người dùng có thể và không thể truy cập.
Yêu cầu tên người dùng và mật khẩu. Tùy thuộc vào mức độ bảo mật sẽ có những yếu tố xác thực khác nhau.
Authentication là bước đầu tiên của Authorization Authorization được thực hiện sau khi Authentication thành công.

>>> Tham khảo: Rest API là gì?

Leave a Reply

Your email address will not be published. Required fields are marked *

.