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ính
Trang 1Trường đại học Bách khoa hμ nội
an toμn an ninh cho mạng máy tính
Chuyên ngành: bảo Đảm toán học cho máy tính và hệ thống tính toán
M∙ số : 62.46.35.01
Tóm tắt luận án tiến sĩ toán học
Hμ Nội – 2009
Trang 2Trường đại học Bách khoa hμ nội
Người hướng dẫn khoa học:
GS.TS Nguyễn Thúc Hải, TS Nguyễn Văn Ngọc
Phản biện 1: PGS TS Nguyễn Văn Tam,
Viện Công nghệ Thông tin, Viện KH&CN Việt Nam
Phản biện 2: PGS TS Nguyễn Quang Hoan,
Học viện Công nghệ Bưu chính – Viễn thông
Phản biện 3: PGS TS Nguyễn Văn Xuất,
Học viện Kỹ thuật Quân sự
Luận án đã được bảo vệ trước Hội đồng Chấm Luận án Tiến sỹ cấp Nhà nước họp tại : Trường Đại học Bách khoa Hà Nội
Vào hồi 11 giờ 00 ngày 10 tháng 11 năm 2009
Có thể tìm hiểu luận án tại:
Thư viện Quốc gia, Thư viện Trường Đại học Bách khoa Hà Nội
Trang 3[1] Lª Thanh, NguyÔn Thóc H¶i (2004), “Ph¸t triÓn giao thøc x¸c thùc kiÓu Kerberos kÕt hîp kiÓm so¸t truy nhËp dùa trªn vai
cho hÖ thèng qu¶n lý tµi nguyªn”, T¹p chÝ Tin häc vµ §iÒu khiÓn häc, 20(4), tr 305-318
[2] Lª Thanh, NguyÔn V¨n Ngäc, NguyÔn Thóc H¶i (2005), “Ph©n cÊp vai trong m« h×nh kiÓm so¸t truy nhËp dùa trªn vai víi rµng
buéc thêi gian”, T¹p chÝ Tin häc vµ §iÒu khiÓn häc, 21(3), tr
[5] Lª Thanh, NguyÔn V¨n Ngäc, NguyÔn Thóc H¶i (2008), “X©y dùng khung lµm viÖc cho hÖ thèng kiÓm so¸t truy nhËp theo m«
h×nh GTRBAC”, Kû yÕu Héi th¶o khoa häc quèc gia lÇn thø t−
vÒ Nghiªn cøu, ph¸t triÓn vµ øng dông C«ng nghÖ th«ng tin vµ TruyÒn th«ng, Hµ Néi, 8-9/8/2008 (ICT.rda ’08), tr 353-362
Trang 4
Phần mở đầu
1 Tính cấp thiết của đề tài luận án
Cùng với sự bùng nổ của công nghệ thông tin và viễn thông, các dịch
vụ và giao dịch trên mạng ngày càng phát triển nhanh chóng với qui mô rộng khắp, nhu cầu đảm bảo an toàn an ninh thông tin trở nên cấp thiết Trong bối cảnh mạng Internet phát triển mạnh mẽ và tình hình xâm phạm
an ninh mạng ngày càng nhiều thì yêu cầu về bảo vệ an toàn truy nhập mạng trở nên cấp bách và việc nghiên cứu phát triển các giải pháp kiểm soát truy nhập mạng đang thu hút sự quan tâm của nhiều nhà khoa học trên thế giới Một mô hình kiểm soát truy nhập xuất hiện trong những năm gần đây là mô hình kiểm soát truy nhập dựa trên vai RBAC (Role-Based Access Control), là một lựa chọn tốt thay thế các mô hình kiểm soát truyền thống : kiểm soát truy nhập tuỳ ý DAC (Discretionary Access Control), kiểm soát truy nhập bắt buộc MAC (Mandatory Access Control) Trong kiểm soát truy nhập, kiểm soát các ràng buộc về thời gian truy nhập để kiểm soát việc sử dụng tài nguyên là một yêu cầu bắt buộc
Đề cập về các yêu cầu kiểm soát truy nhập theo thời gian, Bertino và cộng
sự đề xuất (1999) một mô hình kiểm soát truy nhập dựa trên vai ràng buộc thời gian TRBAC (Temporal Role-Based Access Control), mà mới
đây đã đ−ợc Joshi và cộng sự tổng quát hoá (2001), phát triển (2005) trong mô hình kiểm soát truy nhập dựa trên vai ràng buộc thời gian tổng quát GTRBAC (Generalized Temporal Role-Based Access Control) Mặt khác, trong mọi hệ thống kiểm soát truy nhập mạng, xác thực là
điều kiện bắt buộc Vấn đề tích hợp xác thực với kiểm soát truy nhập dựa trên vai đã đ−ợc Yong Yan và cộng sự (2002) mô tả kết quả cài đặt thực nghiệm một giao thức xác thực kiểu Kerberos, tích hợp thông tin vai (role) của các định danh hệ thống vào vé dịch vụ nhằm thực hiện xác thực kết hợp với kiểm soát truy nhập dựa trên vai theo mô hình RBAC, đ−ợc chúng tôi gọi là Kerberos-role Tuy nhiên, Yong Yan và cộng sự dùng thực nghiệm để xây dựng Kerberos-role, không chứng minh hình thức tính đúng đắn của giao thức này
Trang 5
Với các phân tích trên, chúng tôi thực hiện đề tài luận án: 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ính
2 Mục đích và đối tượng nghiên cứu
Phát triển mô hình GTRBAC theo các hướng: các quan hệ phân cấp vai; ràng buộc số lượng và phân ly trách nhiệm; phát triển khung làm việc của mô hình GTRBAC: đề xuất khung làm việc ATRBAC-XML thực thi kiểm soát truy nhập dựa trên vai căn cứ theo nội dung thông tin và thông tin ngữ cảnh Sử dụng phương pháp giải tích chứng minh tính đúng đắn, tính hội tụ của giao thức xác thực Kerberos-role Kiểm nghiệm các kết quả nghiên cứu lý thuyết về các quan hệ phân cấp vai, các ràng buộc số lượng, phân ly trách nhiệm SoD (Separation of duty) trong khung làm việc ATRBAC-XML thông qua cài đặt thử nghiệm
3 Phương pháp nghiên cứu
Phương pháp giải tích: phân tích và chứng minh tính đúng đắn của giao thức Kerberos-role (áp dụng logic BAN); chứng minh tính bắc cầu của các loại phân cấp vai, tính đúng đắn của tập luật suy diễn đối với các quan hệ phân cấp vai theo thời gian, mối quan hệ tương đương giữa một
số ràng buộc phân ly trách nhiệm
Phương pháp thực nghiệm: Kiểm nghiệm các kết quả nghiên cứu lý thuyết thông qua cài đặt thử nghiệm hệ thống kiểm soát truy nhập thông tin tuyển sinh của một trường đại học ở Việt Nam có thi môn năng khiếu
4 ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài luận án
ý nghĩa khoa học của đề tài: Nghiên cứu phát triển mô hình GTRBAC
về các mặt: Các quan hệ phân cấp vai trong khoảng thời gian chu kỳ Các ràng buộc số lượng chủ yếu, đặc biệt là ràng buộc phân ly trách nhiệm Phát triển khung làm việc của mô hình GTRBAC: đề xuất khung làm việc ATRBAC-XML thực thi kiểm soát truy nhập dựa trên vai căn cứ theo nội dung thông tin và thông tin ngữ cảnh dùng cho mạng nội bộ của một tổ chức Sử dụng phương pháp giải tích chứng minh hình thức tính đúng đắn của giao thức Kerberos-role (giải pháp tích hợp xác thực và kiểm soát truy nhập dựa trên vai)
Trang 6
ý nghĩa thực tiễn của đề tài: Khung làm việc ATRBAC-XML bước
đầu được thử nghiệm trong hệ thống kiểm soát truy nhập thông tin tuyển sinh của một trường đại học ở Việt Nam có thi môn năng khiếu
5 Cấu trúc của luận án
Gồm phần mở đầu, ba chương nội dung, kết luận, tài liệu tham khảo, phụ lục Trong đó: Chương 1- Các phương pháp kiểm soát truy nhập áp dụng cho mạng máy tính Chương 2 - Xác thực, kiểm soát truy nhập dựa trên vai ràng buộc thời gian Chương 3 - Xây dựng khung làm việc cho hệ thống kiểm soát truy nhập theo mô hình GTRBAC trong mạng nội bộ
Chương 1 – Các phương pháp kiểm soát truy nhập
áp dụng cho mạng máy tính 1.1 Mối quan hệ giữa các dịch vụ an toàn an ninh mạng máy tính
Trình bày các dịch vụ an toàn an ninh mạng chủ yếu: xác thực, kiểm soát truy nhập, kiểm toán (đặc biệt là phát hiện xâm nhập) và mối quan hệ mật thiết giữa chúng
1.2 Phát hiện xâm nhập
Phân tích và đánh giá ưu nhược điểm của các loại hệ thống phát hiện xâm nhập theo chức năng ở mức mạng, mức máy Minh hoạ mô hình an toàn an ninh mạng nội bộ (Intranet) với nhiều lớp bảo vệ
1.3 Xác thực và logic xác thực
So sánh các phương pháp xác thực dựa trên mật mã khoá công khai và mật mã khoá bí mật Giới thiệu logic BAN (logic xác thực do Michael Burrows, Martin Abadi và Roger Needham đề xuất năm 1989), giao thức xác thực Kerberos dùng khoá bí mật
1.4 Kiểm soát truy nhập
Trình bày nguyên lý, quản trị cấp quyền của các mô hình kiểm soát truy nhập truyền thống (kiểm soát truy nhập tuỳ ý, kiểm soát truy nhập bắt buộc) và các mô hình kiểm soát truy nhập dựa trên vai RBAC96, TRBAC, GTRBAC Phân tích ưu, nhược điểm của chúng
Trang 7
Ch−¬ng 2 – X¸c thùc, kiÓm so¸t truy nhËp dùa
trªn vai rμng buéc thêi gian 2.1 HÖ thèng x¸c thùc Kerberos-role: [1]
Minh ho¹ giao thøc Kerberos-role theo thêi gian
Giao thøc Kerberos-role: M¸y kh¸ch truy nhËp m¸y chñ dÞch vô:
B−íc 1: LÊy kho¸ phiªn vµ vÐ giao tiÕp víi dÞch vô S
auth(C)= (C, addr, t), ticket(C, S) = (C, addr, role(C), S, t1, t2, tf, tn, KC, S)
C¸c giao thøc con cña Kerberos-role:
M¸y chñ cÊp ph¸t vÐ KDC
M¸y chñ dÞch vô
3
Trang 82.1.3 áp dụng logic BAN phân tích giao thức Kerberos-role: [1]
2.1.3.1 Phân tích giao thức Kerberos-role trường hợp tổng quát:
Từ mục này ký hiệu KDC là S, PKDC là P, auth(A) = (TA , A) và
ticket(A,B) = (A, B, role(A), TAB, KAB) Với TAlà thời gian phát hành bộ
xác thực auth(A), TAB = (t1, t2, tf, tn) trong vé ticket(A, B), KABlà khoá
phiên giữa A và B, địa chỉ addr của thành phần máy khách được hiểu là
gộp vào định danh thành phần máy khách Trong hệ thống, vì S cấp phát
tất cả các khoá phiên giao tiếp và các khoá riêng cho các thành phần trong
hệ thống nên các giả thiết sau được thừa nhận:
Trang 9(5) A→ B : ({TA, A}KAB,{A, B, role(A), TAB, KAB}KB,{M1, n}KAB )
(6) B → A : ({n}KAB, M2) M1 là thông báo hoặc yêu cầu của A gửi cho B, M2
là đáp ứng của B Dạng hình thức của các thông báo trong giao thức:
(1) A → P : (A, B, n) (không thuộc đặc tính logic của giao thức)
(2) P → S : ({TP, PKPS S}KPS,{TPS, PKPS S, role(P)}KS,{A, B, role(A), n}KPS) (3) S → P : {{AKABB, {TAB, AKABB, role(A)}KB, n}KA}KP
(4) P → A : { AKABB, {TAB, AKABB, role(A)}KB, n}KA
(5) A→ B : ({TA, AKABB}KAB, {TAB, AKABB, role(A)}KB, {M1, n}KAB) (6) B → A : ({AKABB, #(AKABB), n}KAB, M2)
Chúng tôi đưa ra và chứng minh các bổ đề, định lý, hệ quả sau:
Bổ đề 2.1: Với giả thiết (*), khi B nhận được từ A thông báo :
({TA, AKABB}KAB,{TAB, AKABB, role(A)}KB,{M, n}KAB) (2.1)
thì : B|≡AKAB
B , B|≡ A|≡ AKAB
B, B|≡ role(A), B|≡ A|∼ .M
Định lý 2.1: Với giả thiết (*), giao thức Kerberos-role trường hợp tổng
quát hợp logic và đạt được các mục tiêu xác nhận sau :
2.1.3.2 Phân tích các giao thức con của Kerberos-role:
♦ Giao thức lấy vé dịch vụ
(1) A → P : (A, B, n) (thực hiện trên SSL)
(2) P → S : ({TP, P}KPS,{P, S, role(P),TPS, KPS}KS,{A, B, role(A), n}KPS) (3) S → P : {{KAB, {A, B, role(A), TAB, KAB}KB, n}KA}KP
(4) P → A : {KAB, {A, B, role(A), TAB, KAB}KB, n}KA
Dạng hình thức của các thông báo trong giao thức như sau:
(1) A → P : (A, B, n) (không thuộc đặc tính logic của giao thức)
(2) P → S : ({TP, PKPSS}KPS,{TPS, PKPSS, role(P)}KS,{A, B, role(A), n}KPS)
Trang 10♦ Giao thức yêu cầu dịch vụ
(1) A→ B : ({TA, A}KAB, {A, B, role(A), TAB, KAB}KB, { M1, n}KAB)
(2) B → A : ({n}KAB, M2) M1là yêu cầu dịch vụ do A gửi cho B
M2 là đáp ứng của B gửi cho A Dạng hình thức của các thông báo là:
(1) A→ B : ({TA, AKABB}KAB, TAB, AKABB, role(A)}KB,{M1, n}KAB) (2) B → A : ({AKABB, #(AKABB), n}KAB, M2)
Hệ quả 2.2: Với giả thiết (*) thì giao thức yêu cầu dịch vụ hợp logic và
n là mã hiệu do A tạo ra ban đầu, p là mật khẩu của thành phần máy khách
A Dạng hình thức của các thông báo: (1) A → P : (A, p, n)
(2) P → S : ({TP, PKPSS}KPS,{TPS, PKPSS, role(P)}KS, {A, p, role(A), n}KPS) (3) S → P : {{A KA S, n}KA}KP (4) P → A : {A KA S, n}KA
Bổ đề 2.2: Với giả thiết (*), khi A nhận được thông báo : {A KA S, n}KA thì
A|≡ S|≡AKA
S và A n (n là mã hiệu A đã gửi đi trước đó)
Định lý 2.2: Với giả thiết (*) thì giao thức đăng ký định danh hợp logic và
Trang 11
n là mã hiệu do A tạo ra ban đầu, p là mật khẩu của thành phần máy
khách A’ Dạng hình thức của các thông báo trong giao thức:
(1) A → P : (A,{A, A’, p}KA, n) (không thuộc đặc tính logic của giao thức)(2) P → S : ({TP,PKPSS}KPS,{TPS, PKPSS, role(P)}KS,
{A,{A, A’, p}KA, role(A), n}KPS) (3) S → P : {{A’KA’S, n}KA’}KP (4) P → A’: {A’KA’S, n}KA’
Định lý 2.3: Với giả thiết (*) thì giao thức cập nhật định danh hợp logic
và đạt được các mục tiêu xác nhận: A’|≡ S |≡ A’KA’
S và A’ n
2.2 Phân cấp vai trong mô hình GTRBAC: [2]
2.2.1 Các vị từ trạng thái: Joshi và cộng sự đã định nghĩa ba loại phân
cấp vai, đưa ra một số vị từ trạng thái, hệ tiên đề nêu lên các quan hệ chủ yếu giữa các vị từ trạng thái này, cơ sở để nhận biết sự có được giấy phép
và sự kích hoạt vai đang xảy ra trong một hệ thống RBAC (hoặc có khả năng xảy ra) U, R, P, S tương ứng biểu diễn tập người dùng, tập các vai, tập giấy phép, tập các phiên ở mô hình RBAC96 T là tập các thời điểm
(0, ∞); u ∈ U, r ∈ R, p ∈ P, s ∈ S, t ∈ T
enabled(r, t) : r có khả năng tại thời điểm t
disabled(r, t) : r không có khả năng tại thời điểm t
u_assigned(u, r, t) : u được gán vào r tại thời điểm t
p_assigned(p, r, t) : p được gán cho r tại thời điểm t
active(u, r, t) : r ở trạng thái kích hoạt trong phiên của u tại t s_active(u, r, s, t) : r ở trạng thái kích hoạt trong phiên s của u tại t can_activate(u, r, t) : u có khả năng kích hoạt r tại thời điểm t s_can_activate(u, r, s, t) : u có khả năng kích hoạt r trong phiên s tại t acquires(u, p, t) : u có được p tại thời điểm t
can_acquire(u, p, t) : u có khả năng có được p tại thời điểm t
can_be_acquired(p, r, t) : p có thể có được thông qua r tại t
r_acquires(u, p, r, t) : u có được p thông qua r tại thời điểm t
s_acquires(u, p, s, t) : u có được p trong phiên s tại thời điểm t r_can_acquire(u, p, r, t) : u có khả năng có p thông qua r tại t
rs_acquires(u, p, r, s, t) : u có p thông qua r trong phiên s tại t
Trang 12
Hệ tiên đề 2.1: Với ∀r ∈ R, ∀u ∈ U, ∀p ∈ P, ∀s ∈ S và ∀t ∈ T, các phép kéo theo sau là đúng :
1 p_assigned(p, r, t) → can_be_acquired(p, r, t)
2 u_assigned(u, r, t) → can_activate (u, r, t)
3 can_activate(u, r, t) ∧ can_be_acquired(p, r, t) → can_acquire(u, p, t)
4 s_active(u, r, s, t) ∧ can_be_acquired(p, r, t) → s_acquires(u, p, s, t)
2.2.2 Sự phân cấp vai theo thời gian dạng không hạn chế:
Với x, y ∈ R, τ ⊆ T, <f> là một quan hệ phân cấp vai, nếu xảy ra x<f>y trong khoảng thời gian τ thì x được gọi là vai cấp trên của y và y được gọi
là vai cấp dưới của x đối với quan hệ <f> trong khoảng thời gian τ Các
định nghĩa do Joshi đưa ra về sự phân cấp vai theo thời gian xét tại từng
thời điểm t ∈ T, được chúng tôi phát biểu lại trong khoảng thời gian
τ ⊆ T Đó là phân cấp kế thừa giấy phép ≥τ, kế thừa kích hoạt >• τ, kế thừa tổng quát ≥ • τ dạng không hạn chế trong khoảng thời gian τ Về tính nhất quán của các kiểu phân cấp vai trong một tập vai R, nếu tồn tại đồng thời phân cấp kế thừa giấy phép và phân cấp kế thừa kích hoạt dạng không hạn chế thì đòi hỏi các điều kiện sau phải thoả mãn:
∀ x, y ∈ R, (x≥τy)∧ơ(y>• τx) và (x>• τy)∧ơ(y≥τx) đều đúng (2.3)
Joshi và cộng sự nêu ra tính bắc cầu của các quan hệ phân cấp dạng không hạn chế và được chúng tôi chứng minh trong Định lý 2.4
Tính chất 2.1: Trên tập vai R có các kiểu phân cấp {≥τ, >• τ, ≥ • τ} thoả mãn điều kiện (2.3) Xét <f>,<f’> ∈{≥τ, >• τ, ≥ • τ} mà <f>≠<f’> Cho x, y
∈ R sao cho x<f>y Thế thì điều kiện ơ(y<f’>x) là đúng
Định lý 2.4: Các quan hệ phân cấp dạng không hạn chế kế thừa giấy phép và kế thừa kích hoạt đều có tính bắc cầu
Hệ quả 2.3: Quan hệ phân cấp kế thừa tổng quát dạng không hạn chế có
tính bắc cầu
2.2.3 Sự phân cấp vai theo thời gian dạng hạn chế: Khi xét thời gian
có khả năng của các vai, các định nghĩa về phân cấp vai ở các dạng hạn chế yếu, hạn chế mạnh ràng buộc thời gian do Joshi đưa ra xét tại một thời điểm t ∈ T, được chúng tôi phát biểu lại trong khoảng thời gian τ ⊆ T
và chứng minh tính bắc cầu của chúng (Định lý 2.5)
Trang 13
Định lý 2.5: Các quan hệ phân cấp kế thừa giấy phép và kế thừa kích hoạt ở các dạng hạn chế yếu và hạn chế mạnh đều có tính bắc cầu
Hệ quả 2.4: Các quan hệ phân cấp kế thừa tổng quát ở các dạng hạn chế
yếu và hạn chế mạnh đều có tính bắc cầu
2.2.4 Các luật suy diễn trong phân cấp vai với ràng buộc thời gian:
Quan hệ suy diễn có điều kiện, viết là x[S]<f>y, trong đó [S] là một tập vai Kí hiệu R(H) là tập vai chứa trong phân cấp H
Định nghĩa 2.10: Cho Hτ là một phân cấp vai trong khoảng thời gian τ ⊆
T, xét <f>∈{≥τ, >• τ, ≥ • τ} Cho x, z ∈ R(Hτ), [Y] ={y1, y2,…, yn}⊆ R(Hτ), với n là một số nguyên dương Thế thì x[Y]<f>z được gọi là quan hệ suy diễn có điều kiện của x trên z với các điều kiện trên các vai của [Y] trong khoảng thời gian τ, nếu thoả mãn: ∀y ∈[Y], (x>• τy)∧(y<f>z)
Joshi và cộng sự đưa ra nhưng không chứng minh một tập luật suy diễn trong phân cấp vai với ràng buộc thời gian xét tại một thời điểm t∈T Chúng tôi góp phần củng cố các lập luận của Joshi bằng việc chứng minh tính đúng đắn của tập luật này thông qua các Định lý 2.6, 2.7, 2.8 dưới
đây, với các quan hệ phân cấp vai xét trong khoảng thời gian τ ⊆ T Mục
đích của các luật suy diễn là để có được tất cả các quan hệ suy diễn trong một tập hợp vai Từ đó xác định được tập tối thiểu các quan hệ phân cấp vai trong một tập vai dùng cho mục đích cài đặt thực tế
Định lý 2.6: Cho Hτ là một phân cấp vai trong khoảng thời gian τ ⊆ T và
x, y, z ∈ R(Hτ) Thế thì các luật suy diễn sau là đúng:
1) ∀ <f>∈{≥τ, >• τ, ≥ • τ} thì: (x<f>y)∧(y<f>z) → (x<f>z)
2) ∀ <f1>,<f2>∈{≥τ, ≥ • τ},<f1>≠<f2> thì: (x<f1>y)∧(y<f2>z) → (x≥τz) 3) ∀<f1>,<f2>∈{>• τ, ≥ • τ},<f1>≠<f2> thì: (x<f1>y)∧(y<f2>z) → (x>• τz) 4) ∀ <f>∈{≥τ, >• τ, ≥ • τ} thì: (x>• τy)∧(y <f>z) → (x{y}<f>z)
Định lý 2.7: Cho Hτ là phân cấp vai trong khoảng thời gian τ ⊆ T Xét x,
y, z ∈ R(Hτ) và [S] ⊆ R(Hτ) Thế thì các luật suy diễn sau là đúng: 1) ∀ <f>∈{≥τ, ≥ • τ} ta có: (x[S]≥τy)∧(y <f> z) → (x[S]≥τz)
2) ∀ <f>∈{≥τ, >• τ, ≥ • τ} ta có: (x[S]≥ • τy)∧(y <f>z) → (x[S]<f>z)
3) (x[S]≥ • τy)∧(y>• τz) → (x>• τz)