Access Control được dịch sang tiếng Việt là kiểm soát truy cập, và được chia thành 2 thành phần là Access và Control. Access được biết đến như việc truy cập các tài nguyên của một chủ thể (Subject) tới một đối tượgn (Object), Control được biết đến là hành động cho phép hoặc không cho phép truy cập, cũng như các phương thức áp dụng cho Access Control.

Một chủ thể (Subject) có thể là Users, Program, Service…và đối tượng (Object) có thể là File, Database, hay một Service nào đó; việc xác định chủ thể để cấp cho quyền hạn truy cập vào đối tượng là công việc chủ yếu của Access Control. Áp dụng Access Control vào trong cuộc sống rất nhiều, và cũng có rất nhiều mô hình dựng nên cho Access Control này.

Trước khi bắt đầu, hãy xem một số ví dụ về Access Control, khóa cửa là một cách thức áp dụng Access Control vì chỉ có người có khóa (Subject) mới có thể mở khóa và sử dụng phòng (Object). Ở ví dụ này, người là chủ thể, khóa và chìa khóa là phương thức á pdụng, còn phòng là đối tượng.

Việc xác định chủ thể (Subject) thường được biết đến với cái tên là Identify, có nhiều cách để định danh, nhận diện, giữa các chương trình với nhau có thể sử dụng các PID (Process ID), cũng có thể dựa trên Username, hoặc một Biometric như giọng nói, vân tay … Chuyện này thì dễ rồi, và dĩ nhiên để đảm bảo chính xác là người đó thì cần phải kiểm chứng thông qua một vài điều bí mật mà chỉ có người đó mới biết, chẳng hạn như Password, PIN, hoặc là Token, hoặc là Biometric (Finger print), và lần này sẽ dùng những thông tin đó + với thuật toán, cách thức xử lý để đối chiếu thông tin và ‘thẩm định’ có đúng người đó hay không. Quá trình này được gọi là Authentication, tức là chứng thực; chứng thực có thể chỉ sử dụng 1 lần hoặc nhiều lần tùy thuộc chính sách và cũng có thể có nhiều phương pháp, cách thức khác nhau.

Về mặt cơ bản thì: Identify – định danh, và Authentication – xác thực, là một cặp. Nếu chỉ có định danh mà không có chứng thực thì cũng vô nghĩa và ngược lại. Authentication được tóm gọn thành 3 nhóm:

Dựa trên những gì có thể nhớ: Password, PIN.
Dựa trên những gì mình có (mang theo): Token, Smart-card,…
Dựa trên yếu tố bản thân (Biometric): vân tay (finger-print), võng mạc….
Nói là như thế, nhưng khi áp dụng sẽ có rất nhiều tình huống xảy ra như việc có quá nhiều Username/Password để nhớ, hoặc là không thể nhớ được Username, không thể nhớ Password và hằng trăm lý do khác nhau. Chính vì thế, việc định danh (Identify) rất cần việc quản lý tập trung (IdM – Identify Management) bao gồm các tính năng (có thể đầy đủ hoặc không): quản lý Password thống nhất, tài nguyên gắn liền với User, và các công tác hỗ trợ khác.

Ở đây, IdM có thể cung cấp tính năng Password thống nhất, tức là người dùng chỉ cần nhớ một Password là đủ, thay vì phải nhớ quá nhiều, Password này bắt buộc phải ở dạng phức tạp (hoa, thường, số, ký tự đặc biệt). Ở đây có thể là: Password Synchronize và Single-Sign-On.

Password Synchronize: cho phép sử dụng một Password cho tất cả các tài khoản.
Single-Sign-On: chỉ cần đăng nhập 1 lần và sử dụng các tài nguyên khác nhau trong hệ thống mà không cần chứng thực lại.
Điểm khác nhau cơ bản giữa Password Synchronize và Single-Sign-On là chỗ không cần chứng thực lại; Password Synchronize bắt buộc phải chứng thực lại, đó là sự khác biệt.

Một tính năng khác dành cho việc hỗ trợ như là Reset Password Own-self, cho phép người dùng có thể tự Reset Password sau khi gửi yêu cầu. Việc này có thể xem như việc yêu cầu Yahoo gửi lại mật khẩu sau khi điền các câu hỏi bí mật. Đó là tính năng dành cho việc quản lý.

Ngoài ra, với mỗi định danh, thì ngoài thông tin về mật khẩu còn có môi trường làm việc, các thông tin cấu hình cũng rất quan trọng – gọi là Profile – do đó có thể quản lý tập trung dựa trên các ứng như Active Directory hoặc LDAP và đây cũng là điểm quan trọng của IdM.

Sau khi định danh xong thì việc tiếp theo là vấn đề xác nhận quyền được truy cập (Authorization), việc này thực tế chỉ có 2 hành động là ‘Access Denied’ hoặc là ‘Access Granted’, tuy nhiên lại phức tạp hơn rất nhiều, bởi vì nhu cầu sử dụng tài nguyên hợp lý cho công việc, và công việc thì luôn luôn có sự thay đổi. Chính vì thế, mà có rất nhiều các phương pháp triển khai, các mô hình để áp dụng cho việc triển khai quyền truy cập. Một số các mô hình (model) triển khai phổ biến là Bell-Lapadula, Biba, Clark-Wilson và ‘Brewer and Nash còn gọi là Chinese Wall’, cùng các phương thức triển khai như MAC (Mandatory Access Control), DAC (Discretionary Access Control), RBAC (Role Base Access Control), Rule-Base Access Control…Có thể áp dụng một hoặc nhiều phương thức triển khai cũng như mô hình tùy theo nhu cầu và mức độ thông tin của hệ thống.

Một cách đơn giản hơn, để đánh giá hệ thống thông tin đó là dựa trên 3 yếu tố chính Integrity, Confidentiality và Availability hay còn gọi là tam giác C.I.A. Đó cũng là nguyên tắc cần thiết để xây dựng nên vai trò và trách nhiệm của cá nhân đối với thông tin như Information Owner, Custodian, User; hoặc cách xác định các yếu tố như Clearance, Sensitive, Priviledge, Label…các cấu trúc này cũng chính là thành phần dựng nên các phương pháp như MAC, DAC, RBAC…

Theo một cách nào đó, nếu đang sử dụng Windows tức là bạn đang sử dụng hệ thống DAC với các chính sách và phân quyền dựa trên ACLs (Access Control List) do Administrative áp dụng, hoặc cũng có thể là đang sử dụng RBAC nếu như bạn được Add vào một nhóm; tuy nhiên phần DAC vẫn mạnh hơn.

Đó là những cách tiếp cận Access Control theo kiểu thông thường, bởi vì có những cách tiếp cận như một phần mềm nào đó chỉ có thể chạy được hoặc hoạt động với đầy đủ tính năng khi có thiết bị nào đó gắn vào Computer; đó cũng là một cách kiểm soát truy cập, nhưng có lẽ là dựa trên ứng dụng và sự chứng thực ngay trên thiết bị mà ta không thể ‘nhìn’ rõ ràng qua công việc hằng ngày.

Cũng có thể có cách kiểm soát truy cập khác, đó là khi vào khách sạn, thay vì đưa chìa khóa thì phát cho cái thẻ từ, bao gồm việc sử dụng như mở cửa, bật cầu dao tổng cho nguồn điện … Đó cũng là một cách kiểm soát truy cập.

Vấn đề quan trọng chính là ai cũng muốn xem nhiều thông tin hơn, truy cập nhiều tài nguyên hơn (tò mò là chính) nên cũng có rất nhiều các phương pháp được sử dụng có được khả năng này:

Sniffing – lấy thông tin mật khẩu để có thể truy cập.
Leo thang đặc quyền
Race Condition hay còn gọi là IPL (Initiation Program Load)
Mạo danh
Phishing
…..
Nói chung là có rất nhiều thủ thuật, từ việc trực tiếp sử dụng kỹ thuật hoặc không cần đế kỹ thuật như Social Engineering là cách thức không cần nhiều đến kỹ thuật, hoặc là khống chế người thân của ai đó để có được thông tin mình cần (nghe có vẻ bạo lực quá) hoặc là cài key-logger cho nó nhẹ nhàng và liên quan tới kỹ thuật một tí.

Đó chính là lý do mà việc kiểm soát truy cập ra đời và kiểm soát cũng đi liền với giám sát (bao gồm cả Monitoring và Recording, tức là cả Prevention lẫn Detection).