1. Kiểm soát truy cập là gì?
Kiểm soát truy cập là việc áp dụng các ràng buộc về ai hoặc cái gì được ủy quyền để thực hiện các hành động hoặc truy cập tài nguyên. Hoặc đơn giản hơn là đối với mỗi vai trò sẽ có quyền truy cập các tính năng của hệ thống ở mức độ khác nhau.
Ví dụ:
Nhân viên A bất kỳ thuộc bộ phần A1 có quyền tạo request đi muộn, nghỉ phép --> Nhân viên A có vai trò Staff
Anh B có quyền được approve hoặc reject request được tạo từ nhân viên --> Anh B có vai trò Leader
Nếu bằng cách nào đó, nhân viên A truy cập trái phép các tính năng không nằm trong quyền hạn của mình ( ví dụ như approve tất cả các form nghỉ phép mà mình tạo ra) , chúng ta có thể nói rằng nhân viên A đang thực hiện 1 cuộc tấn công Broken access control - Phá vỡ kiểm soát truy cập
2. Phân biệt Authentication và Authorization
Kiểm soát truy cập được hình thành từ 2 bộ phận chính , đây là 2 khái niệm dễ bị nhầm lẫn với nhau trong quá trình làm việc, đôi khi chúng ta coi nó là một
- Xác thực (Authentication)
- Cấp quyền (Authorization)
a. Quá trình xác thực (Authentication)
Quá trình xác thực (authentication) nhằm kiểm tra danh tính của đối tượng, hay nói cách khác là trả lời cho câu hỏi: bạn là ai?. Quá trình xác thực trong đời thường ví dụ như:
- Khi chúng ta mở khoá điện thoại cần nhập vào mật khẩu, quét vân tay, hoặc face id.
- Khi gửi xe ở tòa nhà Keangnam, chúng ta được nhân viên bảo vệ đưa cho vé xe, và khi muốn lấy xe thì phải trả đúng chiếc vé đó
- Ở các chung cư cao cấp thì cần quẹt thẻ từ để sử dụng thang máy.
- Sử dụng chìa khóa xe máy để mở chỉ đúng chiếc xe đó chứ không phải chiếc xe nào khác mặc dùng cùng loại xe
Các hệ thống đơn giản thường chỉ yêu cầu một yếu tố để xác thực. Tức là chúng ta chỉ cần cung cấp 1 trong số các thông tin như:
- Tài khoản và mật khẩu.
- Mã pin
- Vân tay
- Khuôn mặt
Tuy nhiên việc chỉ sử dụng một yếu tố không đủ độ an toàn và đáng tin cậy nữa. Do đó ngày nay nhiều nơi đã sử dụng hệ thống xác thực đa yếu tố.
Đa yếu tố tức là yêu cầu 2, 3, thậm chí là nhiều hơn nữa các yếu tố mà mình đã kể trên. Ví dụ như trong một số dự án, để truy cập được trang web, lần 1 cần login với 1 account authentication chung thì mới di chuyển đến trang Login , lần 2 mới sử dụng account cá nhân để login và sử dụng các chức năng trong hệ thống.
Sau khi quá trình xác thực diễn ra thành công, hệ thống sẽ cho phép bạn truy cập. Nhưng lúc này bạn mới chỉ có quyền hạn thấp nhất mà thôi, thậm chí có thể không làm được gì nếu bạn không được cấp quyền thao tác trên hệ thống.
Việc “bạn có thể làm những gì?” sẽ là câu hỏi mà hệ thống cấp quyền trả lời. Đó là quá trình Cấp quyền (Authorization)
b. Quá trình cấp quyền (Authorization)
Cấp quyền/ Ủy quyền xác định chính xác quyền mà người dùng có trên một hệ thống cụ thể.
Như Ví dụ nêu trên phần định nghĩa:
- Nhân viên A là Staff --> Có quyền tạo request đi muộn, nghỉ phép nhưng không có quyền xem danh sách request của nhân viên thuộc bộ phận
- Anh B là Leader --> Có quyền xem danh sách & approve/ reject request được tạo từ nhân viên
Có thể so sánh sự khác nhau qua bảng dưới đây
Sự tham gia của cả hai quá trình xác thực và cấp quyền mới tạo thành một hệ thống Kiểm soát truy cập hoàn thiện. Hệ thống Kiểm soát truy cập sẽ kiểm soát khả năng truy cập tài nguyên hệ thống sau khi một đối tượng hoàn thành xác thực và được cấp quyền truy cập. Hệ thống cần:
- Bảo vệ các tài nguyên hệ thống trước những truy cập trái phép.
- Đảm bảo tài nguyên hệ thống chỉ có thể truy cập qua các phương pháp được cho phép.
Các hệ thống kiểm soát truy cập có thể được chia thành hai loại:
- Kiểm soát truy cập vật lý: là các rào chắn, cửa, nhân viên kiểm tra thẻ,… bảo vệ trước các truy cập vật lý.
- Kiểm soát truy cập thông tin: bảo vệ cho các nội dung số.
Nếu bạn thấy bài viết hữu ích thì tặng mình 1 Upvote để mình có thêm động lực học tập và chia sẻ nhé.
Còn nếu bài viết có gì sai sót, đừng vội Downvote mà hãy comment lỗi sai để mình có cơ hội được sửa chữa và có thêm kiến thức bổ ích nha. Mãi iu