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, nhng 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 lu 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