Authentication là gì? Những thông tin chi tiết về Authentication

Authentication là gì? Có lẽ trong quá trình lập trình bạn đã được nghe rất nhiều về khái niệm này. Nhưng cũng có nhiều người không biết về khái niệm này. Để hiểu rõ hơn về Authentication, bài viết dưới dưới đây của chúng tôi sẽ giúp bạn tìm hiểu kỹ hơn về vấn đề này.

Giới thiệu về Authentication

Authentication tạm dịch là xác thực, đây là một quá trình kiểm tra danh tính một tài khoản đang được đăng nhập vào hệ thống hiện tại thông qua một hệ thống xác thực. Đây chính là bước đầu của hệ thống có yếu tố người dùng.

Authentication có nghĩa là xác thực

Authentication có nghĩa là xác thực

Tại sao cần phải có Authentication?

Nếu như không có bước xác thực này, hệ thống sẽ không biết được người nào đang truy cập vào hệ thống để có những phản hồi phù hợp.

Quá trình này rất thông dụng ở trong hầu hết các CMS liên quan đến quản lý, tương tác của người dùng thông qua form đăng ký và nó được xác thực dựa vào tên người dùng và mật khẩu.

Bạn đọc tham khảo thêm: Computer Vision là gì? Sự khác biệt giữa Computer Vision và Image Processing

Authentication cần có những nhân tố xác thực nào?

Với bước xác thực này rất quen thuộc và thông dụng, thường sẽ biểu hiện ở hình thức đơn giản nhất chính là form đăng nhập vào hệ thống.

  • Mật khẩu 

Mật khẩu chính là một trong những phương pháp đơn giản và dễ triển khai nhất. Khi mà người dùng truy cập vào mỗi hệ thống sẽ lưu lại mật khẩu ở dạng được mã hóa một chiều. Tính năng này sẽ đảm bảo mật khẩu có bị hack cũng không thể khôi phục thành một chuỗi gốc.

Phương pháp này sẽ có nhiều biến thể như thiết kế dạng Swipe Pattern PIN hoặc mật khẩu dùng một lần.

  • Khóa

Phương pháp Authentication này được dựa trên thuật toán mã hóa khóa công cộng và khóa cá nhân. Để đăng nhập được vào hệ thống, bạn chỉ cần có khóa cá nhân trên máy và đăng nhập vào hệ thống mà không cần phải nhớ thông tin đăng nhập cũng như mật khẩu.

  • Sinh học

Dấu vân tay, tròng mắt hoặc khuôn mặt là phương pháp dựa trên những yếu tố đặc trưng của con người để xác thực.

Ưu điểm của phương pháp này là ID và Password luôn đi cùng nhau nên bạn không cần phải lo lắng hay bị quên hay lạc mất. Mỗi khi đăng nhập vào hệ thống bạn đều chủ động sử dụng dễ dàng mà không gặp bất cứ khó khăn gì.

Mặc dù có nhiều phương pháp để có thể xác thực được một tài khoản, nhưng nó cũng không tránh được những rủi ro khi triển khai như mất password, mất khóa cá nhân, hoặc bị đánh cắp vân tay,…

Nếu áp dụng trên website, phương thức mật khẩu có vẻ là dễ triển khai và có nhiều lợi thế hơn vì thường thao tác trên màn hình và có độ chính xác cao. Chúng ta cũng có thể cải tiến hệ thống bảo mật hơn như theo dõi thói quen đăng nhập, địa điểm, IP, trình duyệt, password,…

Authentication có những loại nào?

  • HTTP Basic Authentication

Đây là một kỹ thuật xác thực nhằm bảo mật cho các ứng dụng web ở trên giao thức http, yêu cầu người dùng cung cấp trên đăng nhập và mật khẩu khi được sử dụng ứng dụng.

Web server sẽ thu nhập thông tin và danh tính của người dùng thông qua một hộp thoại trên Browser. Khi mà muốn bảo mật một tài nguyên, bạn cũng có thể sử dụng nhiều cách nhưng có một cách khác đơn giản để bảo vệ dùng HTTP Authentication.

Quy trình Authentication sẽ được thực hiện như thế nào?

Quy trình Authentication sẽ được thực hiện như thế nào?

  • Multi factor Authentication – xác thực nhân tố (MFA)

Multi factor Authentication có nghĩa là xác thực nhân tố, được viết tắt là MFA. Đây là một hệ thống yêu cầu nhiều phương thức xác thực từ những danh mục, thông tin đăng nhập độc lập để có thể xác minh danh tính của người dùng cho thông tin đăng nhập hoặc những giao dịch khác.

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

  • Password
  • Security token
  • Biometric verification

Tạo một lớp bảo vệ – tường thành vững chắc sẽ gây khó khăn cho một người mà không được phép truy cập vào một mục tiêu cụ thể nào đó như: vị trí thực tế, thiết bị máy tính, mạng hoặc cơ sở dữ liệu đó là mục tiêu của MFA.

Nếu một yếu tố xác thực mà bị xâm phạm thì kẻ tấn công vẫn phải vượt qua ít nhất một rào cản nữa để có thể xâm phạm trái phép thành công vào mục tiêu.

Tùy thuộc vào tính chất và nhu cầu sử dụng nên bạn cần tìm hiểu kỹ hơn để lựa chọn một phương thức thích hợp với mình. 

Bạn đọc tham khảo thêm: 5W là gì? 1H là gì? Ứng dụng – ý nghĩa của phương pháp 5W1H

Quá trình Authentication được thực hiện như nào?

Dấu hiệu nhận biết

Một số dấu hiệu nhận biết quá trình chứng thực có thể được thực hiện hay không đó là: ở mỗi một request, client sẽ được gửi kèm những thông tin chứng thực lên server như username/password, một chuỗi các thông tin được mã hóa, một chuỗi random. Chúng thường được gửi kèm với HTTP request như: query string trong URL, header, body.

Quá trình authentication

Để có được dấu hiệu nhận dạng ở phía trên, ta cần phải có sự thống nhất trước giữa người dùng và ứng dụng để chúng ta có thể nhận dạng được người dùng.

Quy trình hoạt động của authentication

Quy trình hoạt động của authentication

Về cơ bản thì đây là một quá trình authentication sẽ gồm 2 bước:

  • Xác thực một user, đây thường là những request đầu tiên.
  • Lưu giữ đăng nhập cho các request ở phía sau.

Một quá trình authentication sẽ gồm 3 phần đó là:

  • Sinh ra dấu hiệu: Đây chính là việc mà chúng ta cần quyết định xem sẽ dùng dấu hiệu gì, tạo dấu hiệu đó như thế nào. Một quá trình authentication có thể sẽ có sự xuất hiện của nhiều dấu hiệu. Những dấu hiệu này sẽ có cách sinh ra khác nhau, quy ước sử dụng cũng khác nhau.
  • Lưu trữ dấu hiệu: Đây là việc mà ứng dụng sẽ quyết định lưu trữ dấu hiệu này ở đâu, ở cả server và client sẽ thông qua vị trí nào trên HTTP request,…
  • Kiểm tra dấu hiệu: Đây là việc ứng dụng của chúng ta để kiểm tra lại tính hợp lệ của dấu hiệu này, sau đó đối chiếu xem dấu hiệu này có hợp lệ hay không và nó là của người dùng nào,…

Trên đây là toàn bộ những thông tin liên quan đến Authentication. Chúng tôi hy vọng những chia sẻ trên sẽ giúp ích cho bạn trên con đường phát triển sự nghiệp của chính mình. 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *