Mô hình Biba bảo vệ tính toàn vẹn của dữ liệu (thay vì bí mật như Bell-LaPadula). Mỗi chủ thể và đối tượng có một mức toàn vẹn — số nguyên càng lớn thì càng đáng tin cậy. Mô hình áp đặt hai quy tắc:
Cho danh sách mức toàn vẹn của các chủ thể, các đối tượng, và danh sách truy vấn dạng subject object op (op \in \{R, W\}), hãy xác định mỗi truy vấn ALLOW hay DENY. Nếu subject hoặc object không tồn tại, DENY. Sau q dòng kết quả, in thêm một dòng tổng kết số lượng truy vấn được phép và bị từ chối.
Ví dụ
Input:
3
An 3
Binh 2
Chi 1
2
Log 3
BaoCao 1
5
An Log R
An BaoCao R
Chi BaoCao W
Binh Log W
Duc Log R
Output:
ALLOW
DENY
ALLOW
DENY
DENY
ALLOW=2 DENY=3
Giải thích: An (mức 3) đọc Log (mức 3) được phép vì 3≥3; An đọc BaoCao (mức 1) bị cấm vì đọc xuống (1<3); Chi (mức 1) ghi BaoCao (mức 1) được phép; Binh (mức 2) ghi Log (mức 3) bị cấm vì ghi lên; Duc không tồn tại nên bị từ chối.
Dòng 1: số nguyên n — số chủ thể (1≤n≤200), rồi n dòng name level (1≤level≤109).
Dòng tiếp theo: số nguyên m — số đối tượng (1≤m≤200), rồi m dòng name level.
Dòng tiếp theo: số nguyên q — số truy vấn (0≤q≤500), rồi q dòng subject object op với op \in \{R, W\}.
In ra q dòng đầu, mỗi dòng ALLOW hoặc DENY theo đúng thứ tự truy vấn. Dòng cuối cùng in tổng kết theo đúng định dạng ALLOW=x DENY=y, trong đó x, y là số truy vấn được phép / bị từ chối tương ứng (kể cả trường hợp q = 0, khi đó dòng cuối là ALLOW=0 DENY=0 và không có dòng nào khác trước đó).
Ví dụ:
Đầu vào:
3
An 3
Binh 2
Chi 1
2
Log 3
BaoCao 1
5
An Log R
An BaoCao R
Chi BaoCao W
Binh Log W
Duc Log R
Đầu ra:
ALLOW
DENY
ALLOW
DENY
DENY
ALLOW=2 DENY=3
Đầu vào:
1
Eve 5
1
Doc 5
2
Eve Doc R
Eve Doc W
Đầu ra:
ALLOW
ALLOW
ALLOW=2 DENY=0
Đang tải editor...