Authentication vs Authorization

Authentication là gì?

💡
Authentication là quá trình xác thực người dùng đó là người mà người đó nên là

Đây là bước đầu tiên trong mọi quy trình bảo mật.

Dưới đây là một vài kĩ thuật authentication phổ biến:

  • Username và Password: Đây là hai thành tố phổ biến nhất trong quá trình authentication. Nếu người dùng nhập chính xác thông tin dữ liệu đã lưu, hệ thống sẽ cho rằng người dùng hiện tại là chính xác và sẽ cấp các quyền cho người dùng đó.

  • One-time pins: Chỉ cung cấp quyền cho 1 session hoặc 1 transaction

  • Authentication 3rd-party apps: Xác thực dựa vào phần mềm bên thứ ba

  • Biometrics: Sử dụng vân tay hay các nhận diện sinh học khác để xác thực

Hiện nay các ứng dụng thường sử dụng nhiều hơn 1 loại bảo mật để tăng tính xác thực cho ứng dụng của họ, đó chính là kĩ thuật MFA (multi-factor authentication).

Vậy authorization là gì?

Authorization là gì?

💡
Authorization là quá trình cấp quyền cho người dùng để truy cập vào các chức năng hay resource cụ thể.

Ví dụ như việc cho người dùng nào đó quyền tải một file nào đó trên server hoặc cấp cho một người nào đó quyền admin của một ứng dụng đều là những ví dụ của việc authorization.

Trong môi trường bảo mật, authorization sẽ luôn luôn đi kèm theo authentication, người dùng bắt buộc phải xác thực trước khi được cấp các quyền cho ứng dụng.

Authentication vs Authorization

Mặc dù 2 thuật ngữ này nghe có vẻ khá giống nhau tuy nhiên chúng lại là 2 kĩ thuật hoàn toàn khác nhau. Để cho dễ hiểu thì chúng ta sẽ sử dụng một ví dụ trực quan như sau:

Hãy tưởng tượng bạn đang trở về nhà sau ngày làm việc, bạn cần vào ngôi nhà của mình, khi này bạn cần:

Authentication: Chiếc chìa khóa mở cửa nhà chính là thứ dùng để xác thực ngôi nhà này là của bạn.

Authorization: Sau khi có quyền vào được ngôi nhà, bạn đã có khả năng vào phòng bếp, lấy một cốc nước và rót cà phê để thưởng thức, đây chính là quyền của bạn sau khi đã được xác thực là chủ của ngôi nhà này.

Vậy là chúng ta đã phân biệt được đâu là authentication (xác thực) và authorization (cấp quyền)!!!