Logic xác thực BAN

Một phần của tài liệu Nghiên cứu phát triển các giải pháp kiểm soát truy nhập đảm bảo an toàn an ninh cho mạng máy tính191 (Trang 35)

Michael Burrows, Martin Abadi và Roger Needham mô tả logic xác thực năm 1989, đợc gọi tắt là logic BAN [7], [14]. Logic BAN đã đợc áp dụng để phân tích nhiều giao thức nh giao thức xác thực Needham-Schroeder và giao thức xác thực Kerberos.

1.3.2.1. Các khái niệm và k pháp của logic BAN ý

Trong một hệ thống mạng, ta xét: P, Q là các đối tợng; X là một mệnh đề hoặc một mục dữ liệu, đơn giản nh là một mã hiệu , n hoặc kết hợp cả hai đợc chứa trong một thông báo phát đi từ một đối tợng K là một khoá bí mật dùng để mã ; hoá các thông báo. Ta có các khái niệm và ký pháp của logic BAN nh sau [7], [24]:

(i) P |≡≡≡≡≡ X : Đối tợng P tin cậy X là đúng. X có thể đúng, có thể sai, nhng P hành động nh thể X là đúng.

(ii) P X : Đối tợng P nhận đợc một thông báo chứa X. P có thể thực hiện việc giải mã để rút X từ thông báo. P có khả năng lặp lại X trong các thông báo gửi cho các đối tợng khác.

(iii) P |∼. X : Đối tợng P đợc coi là đã gửi một thông báo chứa X ở một thời điểm nào đó trong quá khứ. Điều này ngụ ý P tin cậy X khi nó gửi thông báo.

(iv) P |⇒ X : P có quyền hạn đối với X. Đối tợng P đợc uỷ thác nh một đối tợng có thẩm quyền về X.

(v) #(X) : X là mới. Ví dụ đối tợng P gửi cho đối tợng Q một thông báo chứa mã hiệu n. Sau đó Q gửi lại cho P một thông báo chứa X và mã hiệu n này thì X đợc coi là mới.

(vi) P K Q : P và Q đợc giao quyền sử dụng khoá bí mật K. K là một khoá bí mật giữa P và Q và có thể giữa các đối tợng khác đợc P và Q uỷ nhiệm.

(vii) Nếu K là một khoá thì {X}Kđợc hiểu là X đợc mã hoá với khoá K. Nếu X và Y là các mệnh đề thì ta viết : X,Y nghĩa là “X và Y”.

P | ≡≡≡≡≡ #(X), P | ≡≡≡≡≡ Q |∼.X P | ≡≡≡≡≡ Q | ≡≡≡≡≡ X P |≡≡≡≡≡ Q |⇒ X , P |≡≡≡≡≡ Q|≡≡≡≡≡ X P |≡≡≡≡≡X P |≡≡≡≡≡ P K Q , P {X}K P |≡≡≡≡≡ Q |∼ X

1.3.2.2. Các luật suy diễn của logic BAN

Biểu thị sự kết hợp của các mệnh đề X và Y kéo theo mệnh đề Z là : Các luật suy diễn chính của logic BAN nh sau [7]:

(i) Luật ý nghĩa thông báo:

Nếu P tin rằng nó chia sẻ khoá bí mật K với Q và nếu P nhận đợc một thông báo chứa X đợc mã hoá bằng khoá K thì P tin rằng Q đã gửi X (tức là Q đã tin tởng X và đã gửi một thông báo chứa X).

(ii ) Luật kiểm tra mã hiệu:

Nếu P tin rằng X là mới và nếu P tin rằng Q đã gửi X thì P tin rằng Q đang tin cậy X. Chú ý là X phải không bị mã hoá. Nếu X bị mã hoá thì Q đơn thuần chỉ là lặp lại một mệnh đề đã mã hoá và Q không cần thiết tin cậy vào X.

(iii )Luật quyền hạn:

Nếu P tin rằng Q có quyền hạn đối với X trong bất cứ trờng hợp nào và nếu P tin rằng Q đang tin cậy X thì P phải tin X.

(iv)Ngoài ra còn một số luật suy diễn khác của logic BAN nh: P ( X,Y) P X P|≡≡≡≡≡#(X) P|≡≡≡≡≡#(X,Y) P |≡≡≡≡≡(X,Y) P |≡≡≡≡≡ X

Luật suy diễn thứ nhất nói rằng P có thể quan sát từng thành phần của thông báo nếu nó quan sát tất cả các thành phần của thông báo đó. Luật suy diễn thứ hai nói rằng nếu một thành phần của một thông báo là mới thì các thành phần khác của thông báo đó cũng đợc coi là mới. Luật suy diễn thứ ba nói rằng nếu P tin vào một thông báo thì P tin vào từng thành phần của thông báo này.

1.3.3. Hệ thống xác thực Kerberos

♦ Cấu trúc và chức năng các thành phần: Kerberos là một hệ thống xác thực dựa trên mật mã khoá đối xứng [2]. Việc xác thực là thành công khi một đối tác chứng tỏ việc biết một bí mật chia sẻ gọi là vé (ticket) với một đối tác khác. Kerberos dựa trên hai dịch vụ dịch vụ xác thực A: (Authentication

X ,Y

service) và dịch vụ cấp phát vé T (Ticket granting service). Hai dịch vụ này hợp thành trung tâm phân phối khoá KDC (Key Distribution Center . Dịch ) vụ xác thực A chịu trách nhiệm sản sinh các khoá đối xứng dựa trên mật khẩu dùng cho các định danh hệ thống của Kerberos, đồng thời sản sinh các khoá phiên đối xứng dùng cho các phiên giao tiếp với dịch vụ cấp phát vé T. Dịch vụ cấp vé T chịu trách nhiệm sản sinh các khoá đối xứng cho các phiên giao tiếp với máy chủ dịch vụ và phát hành các vé dịch vụ. S

♦ Vé Kerberos và bộ xác thực: Trong giao thức Kerberos, hai thành phần vé và bộ xác thực là hai kiểu giấy uỷ nhiệm (credentials) phối hợp với nhau để thực hiện chức năng xác thực [2]. Vé đợc dùng nhiều lần. Trong vé chứa thông tin định danh, địa chỉ của máy khách và các thông tin để chứng tỏ vé hợp lệ. Một vé Kerberos là một thông báo đợc mã hoá gồm tên máy khách C (Client), tên máy chủ S erver (S ), địa chỉ máy khách addr, thời gian phát hành vé t1 , thời gian hết hiệu lực của vé t2 , thời gian sống của vé tf , thời gian làm mới vé tn và khoá phiên giao tiếp giữa máy khách và máy chủ KC,S . Nó đợc thể hiện nh sau: {ticket(C, S)}KS , trong đó KS là khoá riêng của S (tức khoá bí mật của S) ticket(C, S), = (C, S, addr, t1, t2, tf, tn, KC,S). Bộ xác thực do máy khách sản sinh. Căn cứ vào thông tin của bộ xác thực, máy chủ sẽ biết định danh, địa chỉ máy khách. Bộ xác thực đợc gán tem thời gian để sử dụng một lần, nên nó đợc dùng để ngăn chặn việc tái sử dụng vé. Nó là một thông báo gồm tên máy khách C, địa chỉ máy khách addr, thời gian phát hành vé t, cụ thể : auth(C) = (C, addr, t). Bộ xác thực đợc mã hoá bằng một khoá phiên KC,S ; khoá phiên này dùng để giao tiếp giữa máy khách với máy chủ. Cụ thể là : {auth(C)}KC,S .

♦ Giao thức xác thực Kerberos [2] [14], [, 27]:

Bớc 1 Lấy khoá phiên và vé giao tiếp với T từ dịch vụ xác thực A: (1 . Yêu cầu vé giao tiếp với T: ) C → A : (C, T, n)

Máy khách C yêu cầu dịch vụ xác thực A cấp vé giao tiếp giữa C với dịch vụ cấp phát vé T, n là một mã hiệu.

A → C : ({KC,T , n}KC ,{ticket(C, T)}KT)

A trả về cho C một thông báo chứa khoá phiên KC,T để C giao tiếp với T và một vé giao tiếp với T. Thông báo này đợc mã hoá bằng khoá bí mật của C. Vé giao tiếp với T đợc mã hoá bằng khoá bí mật của T. Việc bao hàm mã hiệu n

(none) chứng tỏ cho C biết rằng thông báo đến từ đối tác nhận thông báo 1. Đối tác này phải biết KC .

Bớc 2 Lấy khoá phiên và vé giao tiếp với S từ dịch vụ cấp phát vé T: (3). Yêu cầu vé giao tiếp với S:

C → T : ({auth(C)}KC,T , {ticket(C, T)}KT , S, n)

C gửi cho T một bộ xác thực của C, một vé giao tiếp với T và yêu cầu T cung cấp vé giao tiếp với máy chủ dịch vụ S. ộ xác thực B này đợc mã hoá bằng khoá phiên KC,T . Còn vé giao tiếp với T thì đợc mã hoá bằng khoá bí mật của T.

(4). Đáp ứng vé giao tiếp với S:

T → C : ({KC,S , n}KC,T , {ticket(C, S)}KS)

T giải mã vé {ticket(C,T)}KT và bộ xác thực {auth(C)}KC,T để so sánh nội dung của chúng.Nếu hợp lệ thì T sinh ra một khoá phiên mới ngẫu nhiên KC,S và gửi khoá này đã đợc mã hoá bằng khoá phiên KC,T cho C với một vé giao tiếp với máy chủ dịch vụ S (đã đợc mã hoá bằng khoá bí mật của S).

Hình 1.3 – Xác thực ba b ớc trong Kerberos

Bớc 3 Truy nhập dịch vụ S khi dùng vé giao tiếp với S: (5). Yêu cầu dịch vụ của S:

C → S : ({auth(C)}KC,S , {ticket(C, S)}KS , n, M1) Máy khách C Máy chủ xác thực A Máy chủ cấp vé T Máy chủ dịch vụ S Trung tâm phân phối khoá 1 2 3 4 5 6

C gửi vé giao tiếp {ticket(C, S)}KSvới một bộ xác thực của C mới sinh đợc mã hoá bằng khoá phiên KC,S , một yêu cầu dịch vụM1 và mã hiệu n. Yêu cầu dịch vụM1 này sẽ đợc mã hoá bằng khoá KC,S nếu đòi hỏi sự bí mật của dữ liệu.

(6). Xác nhận dịch vụ: S → C : ({n}KC,S , M2)

Sau khi giải mã bộ xác thực {auth(C)}KC,S của C và vé giao tiếp {ticket(C, S)}KS , S so sánh định danh, địa chỉ của C trong bộ xác thực auth(C) với

định danh, địa chỉ của C trong vé ticket(C, S). Nếu kết quả đúng và vé còn hiệu lực về thời gian sống thì S gửi cho C mã hiệu n đã đợc mã hoá bằng khoá KC,S để C tin chắc rằng nó đã đợc máy chủ dịch vụ S xác thực. Trong thông báo S gửi cho C, có chứa đáp ứng dịch vụ M2 đối với yêu cầu M1 ở thông báo 5. Để giảm bớt số lợng thông báo, {n}KC,Sđợc bao hàm trong thông báo chứa lời đáp M2 của dịch vụ S tới đối tác yêu cầu dịch vụ. Mã hiệu n (none) là một số tuần tự do thành phần máy khách tạo ra dùng để kiểm tra tính hợp lệ của lời đáp. M1 là yêu cầu của C gửi tới S. M2 là đáp ứng của S cho C.

Hình 1.4 – Minh hoạ giao thức Kerberos theo thời gian

1 2 5 6 3 Máy khách C Máy chủ xác thực A Máy chủ cấp phát vé T Máy chủ dịch vụ S

1.4. Kiểm soát truy nhập

1.4.1. Mục đích của kiểm soát truy nhập

Mục đích của kiểm soát truy nhập là hạn chế các hoạt động hoặc thao tác mà một ngời dùng hợp pháp của hệ thống máy tính có thể thực hiện. Kiểm soát truy nhập hạn chế một ngời dùng có thể trực tiếp làm điều gì cũng nh các chơng trình thực hiện nhân danh ngời dùng đợc phép làm gì. Theo cách này, kiểm soát truy nhập tìm cách ngăn chặn các hoạt động mà có thể dẫn tới một lỗ hổng an toàn. Dới đây đề cập đến các chính sách kiểm soát truy nhập thờng đợc áp dụng trong các hệ thống mạng máy tính hiện nay và việc quản trị kiểm soát truy nhập [32].

1.4.2. Các chính sách kiểm soát truy nhập

Hệ thống kiểm soát truy nhập dựa trên ba chính sách chủ yếu xuất hiện trong các hệ thống máy tính [10] [32]: k, iểm soát truy nhập tuỳ ý DAC; kiểm soát truy nhập bắt buộc MAC; kiểm soát truy nhập dựa trên vai RBAC. Các chính sách kiểm soát truy nhập không cần phải loại trừ nhau. Các chính sách này có thể đợc kết hợp với nhau để cung cấp một hệ thống bảo vệ thích hợp hơn, ví dụ kết hợp giữa MAC và RBAC trong cấp quyền, gán ngời dùng vào vai căn cứ theo thông tin về độ tin cậy của ngời dùng [47]. Khi các chính sách đợc kết hợp với nhau, chỉ có phần giao nhau những truy nhập của chúng là đợc phép. ự kết hợp các chính sách S đòi hỏi không xảy ra đụng độ khi thực thi chính sách, trong đó một chính sách khẳng định một truy nhập cụ thể phải đợc phép, một chính sách khác lại cấm sự truy nhập này. Những sự đụng độ nh vậy giữa các chính sách và trong bản thân mỗi chính sách phải đợc điều hoà ở một mức quản lý phù hợp [5], [32].

1.4.3. Kiểm soát truy nhập tuỳ ý

1.4.3.1. Nguyên lý kiểm soát truy nhập tuỳ ý

Các chính sách kiểm soát truy nhập tuỳ ý DAC quản lý sự truy nhập của ngời dùng tới các đối tợng căn cứ vào định danh và quyền của ngời dùng hoặc các luật đợc đặc tả cho mỗi ngời dùng hoặc nhóm ngời dùng và cho mỗi đối tợng trong hệ thống và dựa vào các phơng thức truy nhập mà ngời dùng đợc

phép trên đối tợng, ví dụ: đọc, ghi, thực hiện. Mỗi một yêu cầu truy nhập vào một đối tợng đều đợc kiểm tra dựa trên các quyền đã đợc đặc tả. Nếu tồn tại một khai báo quyền ngời dùng đợc truy nhập đối tợng trong một phơng thức truy nhập cụ thể, thì truy nhập là đợc phép, ngợc lại thì bị từ chối.

Kiểm soát truy nhập tuỳ ý có tính linh hoạt cao, nên chúng phù hợp với nhiều loại hệ thống và ứng dụng. Do vậy chúng đã đợc sử dụng rộng rãi trong trong nhiều phơng thức cài đặt, đặc biệt là trong môi trờng thơng mại và công nghiệp.

Nhợc điểm của các chính sách kiểm soát truy nhập tuỳ ý là chúng không cung cấp sự đảm bảo an toàn về luồng thông tin trong một hệ thống. Nó dễ dàng bỏ qua những sự hạn chế về truy nhập đợc khai báo thông qua các quyền. Chẳng hạn, một ngời dùng đợc phépđọc dữ liệu thì có thể đa dữ liệu đó cho các ngời dùng khác không đợc cấp quyền bất chấp ngời sở hữu, dữ liệu có cho phép hay không. Xảy ra điều này vìchính sách iểm soát truy nhập tuỳ ý không áp đặt bất kỳ một sự k hạn chế nào trong việc ngời dùng sử dụng thông tin một khi ngời dùng này đã , nhận đợc nó, tức là không có sự kiểm soát trong việc truyền bá thông tin. Nhợc điểm này đã đợc khắc phục trong kiểm soát truy nhập bắt buộc bằng cách ngăn không cho thông tin đợc lu trữ ở các đối tợng mức cao lan truyền xuống các đối tợng mức thấp.

1.4.3.2. Quản trị cấp quyền trong kiểm soát truy nhập tuỳ ý

Các chính sách quản trị xác định ai là ngời đợc cấp quyền biến đổi các truy nhập đợc phép. Đây là một trong những mặt quan trọng nhất của kiểm soát truy nhập. Trong mỗi mô hình kiểm soát truy nhập, chính sách quản trị có một số thay đổi. Trong kiểm soát truy nhập tuỳ ý cho phép có một miền rộng lớn các chính sách quản trị. Một số chính sách quản trị trong chúng đợc miêu tả dới đây [32]:

• Chính sách quản trị tập trung: Một ngời cấp quyền hoặc một nhóm ngời cấp quyền đợc phép cấp phát và thu hồi sự cấp quyền với ngời dùng.

• Chính sách quản trị phân cấp: Ngời cấp quyền trung tâm chịu trách nhiệm gán các trách nhiệm quản trị cho những ngời quản trị khác. Rồi đến lợt những ngời quản trị này lại có thể cấp phát và thu hồi sự cấp quyền với các

ngời dùng của hệ thống. Quản trị phân cấp có thể đợc áp dụng, chẳng hạn căn cứ theo lợc đồ phân cấp các đơn vị chức năng của tổ chức.

• Chính sách quản trị hợp tác: Một số tài nguyên đặc biệt đòi hỏi sự hợp tác cấp quyền của một số nhà cấp quyền. Nghĩa là việc truy nhập các tài nguyên này phải đợc sự cho phép đồng thời của một số nhà cấp quyền.

• Chính sách quản trị sở hữu: Một ngời dùng đợc coi là ngời sở hữu các đối tợng mà họ tạo ra. Ngời sở hữu có thể cấp phép hoặc thu hồi các quyền truy nhập của các ngời dùng khác về đối tợng này.

• Chính sách quản trị phi tập trung: Trong sự quản trị phi tập trung, ngời sở hữu một đối tợng cũng có thể cấp phát cho các ngời dùng khác đặc quyền cấp quyền quản trị trên đối tợng.

1.4.4. Kiểm soát truy nhập bắt buộc

1.4.4.1. Nguyên lý kiểm soát truy nhập bắt buộc

Các chính sách kiểm soát truy nhập bắt buộc MAC quản lý truy nhập căn cứ theo sự phân lớp các chủ thể và các đối tợng trong hệ thống. Trong hệ thống kiểm soát truy nhập bắt buộc, mỗi định danhngời dùng và mỗi đối tợng truy nhập đều đợc gán một mức an toàn.

Mức an toàn kết hợp với một đối tợng phản ánh tính nhạy cảm của thông tin chứa trong đối tợng, tức là mối nguy cơ tiềm tàng có thể xảy ra do sự khám phá thông tin không đợc cấp quyền truy nhập thông tin này [32].

Mức an toàn kết hợp với ngời dùng cũng đợc gọi là độ "tin cậy", phản ánh

Một phần của tài liệu Nghiên cứu phát triển các giải pháp kiểm soát truy nhập đảm bảo an toàn an ninh cho mạng máy tính191 (Trang 35)

Tải bản đầy đủ (PDF)

(149 trang)