
Bài th c hành s 9ự ố
ORACLE LABEL SECURITY (2)
Tóm t t n i dung:ắ ộ
Các thành ph n c a nhãn trong Oracle Label Securityầ ủ
Nhãn d li u (data label)ữ ệ
I. Các thành ph n c a nhãn d li uầ ủ ữ ệ
A. Lý thuy tế
1. Nhãn d li u (data label)ữ ệ
Nh đã bi t, mô hình MAC b o v d li u b ng cách quy đnh m t h th ngư ế ả ệ ữ ệ ằ ị ộ ệ ố
bi u di n m c đ quan tr ng, bí m t cho các đi t ng d li u theo c p b c tể ễ ứ ộ ọ ậ ố ượ ữ ệ ấ ậ ừ
cao xu ng th p. Ví d , m t công ty có th phân lo i m c đ bí m t thành 4 c pố ấ ụ ộ ể ạ ứ ộ ậ ấ
v i m c đ b o m t gi m d n: TOP SECRET (t i m t), SECRET (bí m t),ớ ứ ộ ả ậ ả ầ ố ậ ậ
CONFIDENTIAL (ch l u hành n i b ), PUBLIC (công khai).ỉ ư ộ ộ
Trong OLS, Oracle s d ng các ử ụ nhãn d li u ữ ệ (data label) đ phân l p d li uể ớ ữ ệ
theo m c đ nh y c m c a nó và m t s tiêu chí khác. Nói cách khác, m i nhãnứ ộ ạ ả ủ ộ ố ỗ
d li u s ch a thông tin v m c đ nh y c m c a d li u và m t s tiêu chíữ ệ ẽ ứ ề ứ ộ ạ ả ủ ữ ệ ộ ố
c ng thêm mà ng i dùng ph i đáp ng đ có th truy xu t đn d li u đó.ộ ườ ả ứ ể ể ấ ế ữ ệ
Nhãn d li u là 1 thu c tính đn g m 3 lo i thành ph n: ữ ệ ộ ơ ồ ạ ầ level, compartment,
group.
N u m t chính sách đc áp d ng cho m t b ng, thì m i hàng trong b ng đóế ộ ượ ụ ộ ả ỗ ả
s đc gán m t ẽ ượ ộ nhãn d li u (data label)ữ ệ đ bi u di n m c đ b o m t c aể ể ễ ứ ộ ả ậ ủ
hàng d li u đó. Giá tr c a nhãn đc l u trong c t ch a thông tin c a chínhữ ệ ị ủ ượ ư ộ ứ ủ
sách (c t đc t đng t o thêm khi chính sách đc áp d ng cho b ng).ộ ượ ự ộ ạ ượ ụ ả
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

2. Các thành ph n c a nhãnầ ủ
a. Level
M i nhãn có đúng 1 ỗlevel bi u th đ nh y c m c a d li u. OLS cho phépể ị ộ ạ ả ủ ữ ệ
t i đa 10,000 level trong 1 chính sách.ố
Đi v i m i level, ta c n đnh nghĩa 1 d ng s và 2 d ng chu i cho nó. VD:ố ớ ỗ ầ ị ạ ố ạ ỗ
D ngạ
sốD ng chu i dàiạ ỗ D ng chu i ng nạ ỗ ắ
40 HIGHLY_SENSITIVE HS
30 SENSITIVE S
20 CONFIDENTIAL C
10 PUBLIC P
D ng s (numeric form)ạ ố : d ng s c a level có th có gi tr trong kho ng 0-ạ ố ủ ể ả ị ả
9999. Level có giá tr càng cao thì đ nh y c m càng tăng. Trong VD trên,ị ộ ạ ả
Highly_sensitive có đ nh y c m cao nh t. User nên tránh s d ng m t chu iộ ạ ả ấ ử ụ ộ ỗ
tu n t liên ti p các giá tr đ bi u di n cho 1 b level c a nhãn đ tránh tìnhầ ự ế ị ể ể ễ ộ ủ ể
tr ng khi có level m i thêm vào thì ph i đnh nghĩa l i toàn b các level.ạ ớ ả ị ạ ộ
D ng chu i dài (long form)ạ ỗ : ch a t i đa 80 ký t , cho bi t tên đy đ c aứ ố ự ế ầ ủ ủ
level.
D ng chu i ng n (short form)ạ ỗ ắ : ch a t i đa 30 ký t , là d ng rút g n c a tênứ ố ự ạ ọ ủ
level. M i khi c n tham kh o đn level ta s d ng tên rút g n này.ỗ ầ ả ế ử ụ ọ
b. Compartment
M i nhãn có th có 1 ho c nhi u ho c không có ỗ ể ặ ề ặ compartment nào. OLS cho
phép t i đa 10,000 compartment trong 1 chính sách.ố
Compartment giúp cho vi c phân lo i d li u theo lĩnh v c, chuyên ngành, dệ ạ ữ ệ ự ự
án,…ch không th hi n s phân c p m c đ nh y c m c a d li u đó.ứ ể ệ ự ấ ứ ộ ạ ả ủ ữ ệ
Nghĩa là n u ta có 2 d li u thu c 2 compartment C1 và C2, thì có nghĩa là 2ế ữ ệ ộ
d li u đó thu c 2 lĩnh v c khác nhau là C1 và C2 ch không có nghĩa d li uữ ệ ộ ự ứ ữ ệ
thu c C1 nh y c m h n d li u thu c C2 (hay ng c l i). ộ ạ ả ơ ữ ệ ộ ượ ạ
Đi v i m i compartment, ta c n đnh nghĩa 1 d ng s và 2 d ng chu i. VD:ố ớ ỗ ầ ị ạ ố ạ ỗ
D ng sạ ố D ng chu i dàiạ ỗ D ng chu iạ ỗ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

ng nắ
85 FINANCIAL FINCL
65 CHEMICAL CHEM
45 OPERATIONAL OP
D ng s (numeric form)ạ ố : d ng s c a compartment có th có gi tr trongạ ố ủ ể ả ị
kho ng 0-9999. Nó không liên quan gì đn con s c a level. Giá tr c a nóả ế ố ủ ị ủ
dùng đ quy đnh th t hi n th c a các compartment trong m t label. Điể ị ứ ự ể ị ủ ộ ố
v i VD trên, ta s có các nhãn d ng nh sau: ớ ẽ ạ ư
S:OP,CHEM,FINCL (do OP có giá tr nh nh t nên nó đc hi n th tr cị ỏ ấ ượ ể ị ướ
nh t)ấ
D ng chu i dài (long form)ạ ỗ : t i đa 80 ký t , là tên đy đ c a compartment.ố ự ầ ủ ủ
D ng chu i ng n (short form)ạ ỗ ắ : t i đa 30 ký t , là d ng rút g n c a tênố ự ạ ọ ủ
compartmet. Khi c n tham kh o đn compartment ta s d ng tên rút g n này.ầ ả ế ử ụ ọ
c. Group
M i nhãn có th có 1 ho c nhi u ho c không có ỗ ể ặ ề ặ group nào. OLS cho phép t iố
đa 10,000 group trong 1 chính sách.
Group giúp xác đnh nh ng t ch c, c quan, b ph n nào s h u ho c qu nị ữ ổ ứ ơ ộ ậ ở ữ ặ ả
lý d li u (thông th ng nó th hi n c c u c a công ty). Do v y group cóữ ệ ườ ể ệ ơ ấ ủ ậ
c u trúc cây phân c p. M t group có th thu c m t group cha và có nhi uấ ấ ộ ể ộ ộ ề
group con. D li u thu c m t group con thì đc xem nh cũng thu c groupữ ệ ộ ộ ượ ư ộ
cha. VD:
D ngạ
sốD ng chu i dàiạ ỗ D ng chu iạ ỗ
ng nắGroup cha
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

1000 WESTERN_REGION WR
1100 WR_SALES WR_SAL WR
1200 WR_HUMAN_RESOURCES WR_HR WR
1300 WR_FINANCE WR_FIN WR
1310 WR_ACCOUNTS_PAYABLE WR_AP WR_FIN
1320 WR_ACCOUNTS_RECEIVABLE WR_AR WR_FIN
D ng s (numeric form)ạ ố : d ng s c a group có th có gi tr trong kho ng 0-ạ ố ủ ể ả ị ả
9999. Nó không liên quan gì đn con s c a level. Giá tr c a nó dùng đ quyế ố ủ ị ủ ể
đnh th t hi n th c a các group trong m t label. Đi v i VD trên, ta s cóị ứ ự ể ị ủ ộ ố ớ ẽ
các nhãn d ng nh sau: ạ ư
S:CHEM:WR,WR_HR (WR có giá tr nh h n WR_HR nên đc hi n th tr c)ị ỏ ơ ượ ể ị ướ
D ng chu i dài (long form)ạ ỗ : ch a t i đa 80 ký t , cho bi t tên c a group.ứ ố ự ế ủ
D ng chu i ng n (short form)ạ ỗ ắ : ch a t i đa 30 ký t , là d ng rút g n c a tênứ ố ự ạ ọ ủ
group. M i khi c n tham kh o đn group ta s d ng tên rút g n này.ỗ ầ ả ế ử ụ ọ
B. Th c hànhự
1. T o level ạ
ph n này ta s t o các thành ph n level cho chính sáchỞ ầ ẽ ạ ầ
ACCESS_LOCATIONS mà ta đã t o trong bài lab “ạOracle Label Security (1)”.
Ta quy đnh chính sách ACCESS_LOCATIONS c a ta có 3 level (theo th tị ủ ứ ự
m c đ b o m t gi m d n): SENSITIVE, CONFIDENTIAL, PUBLIC. Ta dùngứ ộ ả ậ ả ầ
procedure SA_COMPONENTS.CREATE_LEVEL đ t o ra các level:ể ạ
CONN sec_admin/secadmin;
BEGIN
sa_components.create_level
(policy_name => 'ACCESS_LOCATIONS',
long_name => 'PUBLIC',
short_name => 'PUB',
level_num => 1000);
END;
/
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',2000,'CONF','CONFIDENTIAL');
EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',3000,'SENS','SENSITIVE');
Đo n code trên cho ta th y 2 cách khác nhau đ th c thi procedure. Ng i đcạ ấ ể ự ườ ọ
cũng c n chú ý cách ch n s cho các level.ầ ọ ố
Đ thay đi đy đ và tên rút g n c a level, ta dùng th t cể ổ ầ ủ ọ ủ ủ ụ
SA_COMPONENTS.ALTER_LEVEL. N u level đang đc dùng b i ít nh t m tế ượ ở ấ ộ
nhãn d li u nào đó, ta có th thay đi tên đy đ c a nó nh ng không th thayữ ệ ể ổ ầ ủ ủ ư ể
đi tên rút g n. Trong m i tr ng h p, ta đu không th thay đi s đi di nổ ọ ọ ườ ợ ề ể ổ ố ạ ệ
c a level.ủ
CONN sec_admin/secadmin;
EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',4000,'HS','HIGHLY SECRET');
BEGIN
sa_components.alter_level
(policy_name => 'ACCESS_LOCATIONS',
level_num => 4000,
new_short_name => 'TS',
new_long_name => 'TOP SECRET');
END;
/
BEGIN
sa_components.alter_level
(policy_name => 'ACCESS_LOCATIONS',
short_name => 'TS',
new_long_name => 'TOP SENSITIVE');
END;
/
Đ xóa m t level ta dùng th t c SA_COMPONENTS.DROP_LEVEL. N uể ộ ủ ụ ế
level đang đc s d ng b i b t k nhãn d li u nào, ta không th xóa nó.ượ ử ụ ở ấ ỳ ữ ệ ể
CONN sec_admin/secadmin;
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM