Điều khiển truy cập

Trong lĩnh vực an ninh, cụ thể là trong an ninh trên hiện trường (*physical security*), thuật ngữ **điểu khiển truy cập** (*access control*) ám chỉ đến các thi hành nhằm hạn chế sự thâm nhập vào một cơ sở, một tòa nhà, hoặc một phòng làm việc, chỉ cho phép những người đã được ủy quyền tiếp cận mà thôi. An ninh trên hiện trường có thể thực hiện được bằng sức người - chẳng hạn dùng người canh gác, người gác cổng thuê (*bouncer*), hoặc một người tiếp tân - hoặc bằng sức máy - khóa và chìa khóa -  hay bằng việc áp dụng khoa học kỹ thuật như việc sử dụng một hệ thống truy cập dùng thẻ.

## An ninh máy tính
Nhiệm vụ điều khiển truy cập trong an ninh máy tính (*computer security access control*) bao gồm các nhiệm vụ xác thực (*authentication*), ủy quyền (*authorization*) và kiểm toán. Nhiệm vụ này còn bao gổm cả việc sử dụng những phương pháp bổ sung như phương pháp sử dụng các thiết bị phần cứng - chẳng hạn như các máy quét lướt sinh trắc học (*biometric scans*) và bằng cách dùng các khóa bằng kim loại  (*metal locks*) - hoặc các phương pháp xử lý phần mềm như việc sử dụng "đường dẫn ẩn" (*hidden path*), chữ ký điện tử (*digital signatures*), mật mã hóa (*encryption*), các rào cản (ngăn ngừa) trong quan hệ xã hội (*social barriers*), và theo dõi hoạt động của hệ thống bằng sức người hoặc bằng các hệ thống tự động. Sự ủy quyền có thể được thực thi dùng phương pháp Điều khiển truy cập trên cơ sở vai trò (*role based access control*), bằng cách dùng các danh sách truy cập (*access control list*) hoặc bằng cách dùng một ngôn ngữ thi hành chính sách (*policy language*) chẳng hạn như XACML.

Điều khiển truy cập tạo nên khả năng cho chúng ta có thể ban phép hoặc từ chối một chủ thể - một thực thể chủ động, chẳng hạn như một người hay một quy trình nào đó - sử dụng một đối tượng - một thực thể thụ động, chẳng hạn như một hệ thống, một tập tin - nào đấy trong hệ thống.

Các hệ thống điều khiển truy cập cung cấp những dịch vụ thiết yếu như dịch vụ *nhận dạng và xác minh* (*identification and authentication* - I&A), dịch vụ *ủy quyền* (*authorization*) và dịch vụ *quy trách nhiệm* (*accountability*) đối với người dùng hoặc đối với quy trình. Trong khi dịch vụ nhận dạng và xác minh nhằm xác định ai là người được đăng nhập vào một hệ thống, thì dịch vụ ủy quyền xác định những gì mà một người dùng đã được xác thực có thể thi hành, và dịch vụ quy trách nhiệm nhận dạng và chứng thực những hành vi hay hoạt động mà người dùng đã thi hành trong khi họ sử dụng hệ thống.

### Nhận dạng và xác thực
Nhận dạng và xác thực (*Identification and authentication* - I&A) là một quy trình gồm hai bước hòng xác minh người truy nhập vào hệ thống. Nhận dạng là phương pháp người dùng báo cho hệ thống biết họ là ai (chẳng hạn như bằng cách dùng tên người dùng). Bộ phận nhận dạng người dùng của một hệ thống điều khiển truy cập thường là một cơ chế tương đối đơn giản, hoạt động chủ yếu dựa trên một hệ thống tên người dùng (*username*) hoặc chỉ danh của người dùng (*userID*). Trong trường hợp đối với một hệ thống hoặc một quy trình (*process*), việc nhận dạng thường dựa vào:

* Tên máy tính (*computer name*)
* Địa chỉ truy cập thiết bị (*Media Access Control* - MAC - *address*)
* Địa chỉ giao thức mạng (*Internet Protocol* - IP - *address*)
* Chỉ danh của quy trình (*Process ID*  - PID)

Những yêu cầu nhận dạng đòi hỏi các chỉ danh dùng để nhận dạng:

* Phải là một định danh duy nhất dùng để chỉ định hay nhận dạng một người dùng (không được có hai người dùng hay hai thiết bị sử dụng cùng một tên, hay cùng một chỉ danh).
* Không thể dùng để xác định địa vị hay tầm quan trọng của người dùng trong một tổ chức - chẳng hạn không được có những nhãn hiệu chỉ cho biết người này là chủ tịch / giám đốc (*president*) hoặc là giám đốc điều hành (*CEO*).
* Tránh việc sử dụng các trương mục chung hoặc các trương mục dùng chung bởi nhiều người dùng, như trương mục gốc (*root*), trương mục của người quản lý (*admin*), hoặc trương mục của người quản lý hệ thống (*sysadmin*).
* Không nên dùng các trương mục không hỗ trợ việc quy trách nhiệm và chúng có thể trở thành những đối tượng béo bở cho bọn thâm nhập hệ thống bất hợp pháp.

Xác thực là một quy trình xác minh danh hiệu của một người dùng - chẳng hạn bằng cách so sánh mật khẩu mà người dùng đăng nhập với mật khẩu được lưu trữ trong hệ thống đối với một tên người dùng cho trước nào đó.

Quy trình xác thực phải dựa vào một trong ba yếu tố sau đây:

* Dựa vào *những chi tiết mà ta biết trước*, chẳng hạn như một mật khẩu, hoặc một số nhận dạng cá nhân (*personal identification number* - PIN) - đấy là chúng ta cho rằng người sở hữu trương mục biết mật khẩu hoặc số nhận dạng cá nhân (PIN) cần thiết để truy cập trương mục.
* Dựa vào *những gì mà chúng ta đã có*, chẳng hạn như một cái thẻ thông minh (*smart card*) hoặc một dấu hiệu nào đó - đấy là chúng ta cho rằng người sở hữu trương mục sở hữu một cái thẻ thông minh, hoặc một dấu hiệu cần thiết để mở khóa trương mục.
* Dựa vào *những gì mình sở hữu bẩm sinh*, chẳng hạn như vết lăn tay, giọng nói, võng mạc mắt, hoặc những đặc tính của tròng đen trong mắt.

### Sự ủy quyền
Sự ủy quyền (*authorization*) (hay còn gọi là sự chính thức hóa (*establishment*)) định nghĩa quyền (*rights*) và phép (*permission*) của người dùng trong một hệ thống. Sau khi người dùng (hoặc một quy trình) đã được chứng thực, việc ủy quyền chỉ định những cái gì mà người dùng đó có thể thi hành trên hệ thống.

Đa số các hệ điều hành hiện đại đều định nghĩa một loạt các quyền, phép, và chúng, hoặc là các loại quyền tương tự, hoặc là các mở rộng của ba loại quyền truy cập chính sau đây:

* Quyền đọc (*Read (R)*): Người dùng có thể
** Đọc nội dung của tập tin
** Liệt kê danh sách thư mục
* Quyền viết (*Write (W)*): Người dùng có thể thay đổi nội dung của một tập tin hoặc nội dung của thư mục bằng việc thi hành những thao tác sau đây:
** Cộng thêm
** Sinh tạo cái mới
** Xóa bỏ
** Đổi tên
* Quyền thi hành (*Execute (X)*): Nếu tập tin là một chương trình ứng dụng, người dùng có thể thi hành (chạy) chương trình ứng dụng. Người dùng còn có thể truy nhập một thư mục nào đó nếu thư mục này được cài đặt để cho phép người dùng truy cập.

Việc ban "quyền" và "phép" này được thực hiện một cách không đồng bộ trên nhiều hệ thống, dựa vào nguyên lý *điều khiển truy cập tùy quyền* (*discretionary access control* - DAC) và nguyên lý điều khiển truy cập bắt buộc (*mandatory access control* - MAC).

### Quy trách nhiệm

### Kỹ thuật điều khiển truy cập
Điều khiển truy cập nói chung được chia ra làm hai loại, hoặc là tùy quyền (*discretionary*), hoặc là bắt buộc (*mandatory*). Thông hiểu sự khác nhau giữa điều khiển truy cập tùy quyền (DAC) và  điều khiển truy cập bắt buộc (MAC), cũng như những phương pháp điều khiển truy cập cụ thể thuộc mỗi hạng loại trên, là một yêu cầu then chốt để chúng ta có thể đạt được kết quả tốt trong các cuộc kiểm thảo về chất lượng an ninh.

#### Điều khiển truy cập tùy quyền
Điều khiển truy cập tùy quyền (*discretionary access control* - DAC) là một chính sách truy cập mà chủ nhân của tập tin hay người chủ của một tài nguyên nào đấy tự định đoạt. Chủ nhân của nó quyết định ai là người được phép truy cập tập tin và những đặc quyền (*privilege*) nào là những đặc quyền người đó được phép thi hành.

Hai quan niệm quan trọng trong truy cập tùy quyền là:

* Quyền sở hữu tập tin và dữ liệu (*File and data ownership*): Bất cứ một đối tượng nào trong một hệ thống cũng phải có một chủ nhân là người sở hữu nó. Chính sách truy cập các đối tượng là do chủ nhân tài nguyên quyết định - những tài nguyên bao gồm: các tập tin, các thư mục, dữ liệu, các tài nguyên của hệ thống, và các thiết bị (*devices*). Theo lý thuyết, đối tượng nào không có chủ sở hữu thì đối tượng đó bị bỏ lơ, không được bảo vệ. Thông thường thì chủ nhân của tài nguyên chính là người đã kiến tạo nên tài nguyên (như tập tin hoặc thư mục).
* Các quyền và phép truy cập: Đây là những quyền khống chế những thực thể tài nguyên mà chủ nhân của tài nguyên chỉ định cho mỗi một người hoặc mỗi một nhóm người dùng.

Điều khiển truy cập tùy quyền có thể được áp dụng thông qua nhiều kỹ thuật khác nhau:

* Danh sách điều khiển truy cập (*Access control list* - ACL) định danh các quyền và phép được chỉ định cho một chủ thể hoặc một đối tượng. Danh sách điều khiển truy cập cho ta một phương pháp linh hoạt để áp dụng quy chế điều khiển truy cập tùy quyền.
* Kiểm tra truy cập trên cơ sở vai trò (*role-based access control*) chỉ định tư cách nhóm hội viên dựa trên vai trò của tổ chức hoặc chức năng của các vai trò. Chiến lược này giúp tối giảm việc điều hành quản lý quyền và phép truy cập.

Những quyền và phép để truy cập các đối tượng được chỉ định cho từng nhóm, hay hơn nữa, tới từng cá nhân một. Các cá nhân có thể trực thuộc một hoặc nhiều nhóm khác nhau. Mỗi cá nhân có thể được bố trí để họ tự đạt được nhiều hình thức phép truy cập hay phép sửa đổi dưới dạng tích lũy (do mỗi nhóm mà họ là hội viên ban cho và cộng lại), song cũng có thể bị loại khỏi những phép truy cập, là những phép mà tất cả các nhóm họ là hội viên không thể cùng có được.

#### Điều khiển truy cập bắt buộc
Điều khiển truy cập bắt buộc (*mandatory access control* - MAC) là một chính sách truy cập không do cá nhân sở hữu tài nguyên quyết định, song do hệ thống quyết định. MAC được dùng trong các hệ thống đa tầng cấp, là những hệ thống xử lý các loại dữ liệu nhạy cảm, như các thông tin được phân hạng về mức độ bảo mật trong chính phủ và trong quân đội. Một hệ thống đa tầng cấp là một hệ thống máy tính duy nhất chịu trách nhiệm xử lý bội số các phân loại dưới nhiều tầng cấp giữa các chủ thể và các đối tượng.

* Nhãn hiệu nhạy cảm (*sensitivity label*): Trong hệ thống dùng điểu khiển truy cập bắt buộc, hệ thống chỉ định một nhãn hiệu cho mỗi chủ thể và mỗi đối tượng trong hệ thống. Nhãn hiệu nhạy cảm của một chủ thể xác định mức tin cẩn cần thiết để truy cập. Để truy cập một đối tượng nào đấy, chủ thể phải có một mức độ nhạy cảm (*tin cẩn*) tương đồng hoặc cao hơn mức độ của đối tượng yêu cầu.
* Xuất ngoại và nhập nội dữ liệu (*Data import and export*): Điều khiển việc nhập nội thông tin từ một hệ thống khác và xuất ngoại thông tin sang các hệ thống khác (bao gồm cả các máy in) là một chức năng trọng yếu trong các hệ thống sử dụng điều khiển truy cập bắt buộc. Nhiệm vụ của việc xuất nhập thông tin là phải đảm bảo các nhãn hiệu nhạy cảm được giữ gìn một cách đúng đắn và nhiệm vụ này phải được thực hiện sao cho các thông tin nhạy cảm phải được bảo vệ trong bất kỳ tình huống nào.

Có hai phương pháp được dùng phổ biến để áp dụng nguyên tắc điều khiển truy cập bắt buộc:

* Điều khiển truy cập dùng chính sách (*rule-based access control*): Việc điều khiển thuộc loại này định nghĩa thêm những điều kiện cụ thể đối với việc truy cập một đối tượng mà chúng ta yêu cầu. Tất cả các hệ thống dùng điều khiển truy cập bắt buộc đều thực hiện một hình thức đã được đơn giản hóa của thể loại điều khiển truy cập dùng chính sách, nhằm quyết định cho phép hay từ chối yêu cầu truy cập, bằng cách đối chiếu:
** Nhãn hiệu nhạy cảm của đối tượng
** Nhãn hiệu nhạy cảm của chủ thể
* Điều khiển truy cập dùng bố trí mắt lưới (*lattice-based access control*): Đây là phương pháp người ta sử dụng đối với những quyết định phức tạp trong điều khiển truy cập với sự liên quan bội số các đối tượng và/hay các chủ thể. Mô hình mắt lưới là một cấu trúc toán học, nó định nghĩa các giá trị cận dưới lớn nhất (*greatest lower-bound*) và cận trên nhỏ nhất (*least upper-bound*) cho những cặp nguyên tố, chẳng hạn như cặp nguyên tố bao gồm một chủ thể và một đối tượng.

#### Điều khiển truy cập trên cơ sở vai trò
Trong vấn đề an ninh đối với các hệ thống máy tính, Điều khiển truy cập trên cơ sở vai trò (*role-based access control* - RBAC) là một tiếp cận (phương pháp) để hạn chế người dùng hợp pháp truy cập hệ thống. Nó là một phương pháp tiếp cận mới, có thể dùng để thay thế phương pháp điều khiển truy cập tùy quyền (DAC) và điều khiển truy cập bắt buộc (MAC).

## Viễn thông

Trong viễn thông, thuật ngữ **điều khiển truy cập** có những nghĩa sau đây: 
#  Là một đặc thù của dịch vụ (*service feature*) hoặc một kỹ thuật được dùng để cho phép hay từ chối việc sử dụng các phần tử thiết bị trong một hệ thống giao thông liên lạc.
#  Là một kỹ thuật được dùng để định nghĩa hoặc hạn chế quyền của các cá nhân, hoặc quyền của các chương trình ứng dụng, được lấy dữ liệu từ các thiết bị lưu trữ (*storage device*), hoặc mang dữ liệu vào lưu trữ trong các thiết bị này.
#  Là định nghĩa hoặc sự hạn chế quyền của các cá nhân hoặc của chương trình ứng dụng được lấy dữ liệu từ các thiết bị lưu trữ (*storage device*), hoặc mang dữ liệu vào lưu trữ trong các thiết bị này. Đối với điều khiển truy cập, chúng ta có vài thể loại: Điều khiển truy cập trên cơ sở vai trò (RBAC), Điều khiển truy cập tùy quyền (DAC) và Điều khiển truy cập bắt buộc (MAC).
#  Là quy trình nhằm giới hạn những người dùng hợp pháp (*authorized users*), các chương trình ứng dụng, các quy trình, và các hệ thống khác truy cập các tài nguyên của một hệ thống thông tin tự động (*Automated Information Systems - viết tắt là AIS*).
#  Là chức năng mà bộ điều chỉnh tài nguyên thi hành nhằm phân phối tài nguyên của hệ thống với mục đích thỏa mãn các yêu cầu của người dùng.

## Điều khiển truy cập trong chính sách công cộng

Trong chính sách công cộng (*public policy*), điều khiển truy cập nhằm hạn chế truy cập vào các hệ thống ("cấp phép") hoặc theo dõi hay giám sát hoạt động bên trong các hệ thống ("quy trách nhiệm"), là một đặc trưng thực thi đối với việc sử dụng các hệ thống tin cẩn (*trusted systems*) cho an ninh (*security*) hoặc cho việc quản lý xã hội (*social control*).

## Ghi chú

## Tham chiếu

* U.S. Federal Standard 1037C
* U.S. MIL-STD-188
* U.S. National Information Systems Security Glossary
*Harris, Shon, All-in-one CISSP Exam Guide, Third Edition, McGraw Hill Osborne, Emeryvill, California, 2005.
* Latest access control and computer security news on SecurityPark.net online magazine