Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Mô hình Biba bảo vệ toàn vẹn dữ liệu

    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:

    • Simple Integrity Property (no read-down): chủ thể mức lsl_sls​ chỉ được đọc đối tượng mức lol_olo​ nếu lo≥lsl_o \ge l_slo​≥ls​ (không được đọc dữ liệu kém tin cậy hơn mình, tránh bị "nhiễm bẩn").
    • *-Integrity Property (no write-up): chủ thể mức lsl_sls​ chỉ được ghi đối tượng mức lol_olo​ nếu ls≥lol_s \ge l_ols​≥lo​ (không được ghi vào dữ liệu đáng tin cậy hơn mình).

    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≥33 \ge 33≥3; An đọc BaoCao (mức 1) bị cấm vì đọc xuống (1<31 < 31<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.

    • Định dạng đầu vào:

      Dòng 1: số nguyên n — số chủ thể (1≤n≤2001 \le n \le 2001≤n≤200), rồi n dòng name level (1≤level≤1091 \le level \le 10^91≤level≤109).

      Dòng tiếp theo: số nguyên m — số đối tượng (1≤m≤2001 \le m \le 2001≤m≤200), rồi m dòng name level.

      Dòng tiếp theo: số nguyên q — số truy vấn (0≤q≤5000 \le q \le 5000≤q≤500), rồi q dòng subject object op với op \in \{R, W\}.

    • Định dạng đầu ra:

      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...