Xuất lược đồ thủy vân để khoanh vùng giả mạo

Một phần của tài liệu Luận án tiến sĩ toán học KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ (Trang 94 - 99)

Trong lược đồ thủy vân ở trên sử dụng hai thuật toán: nhúng thủy vân và phát hiện thủy vân. Đây là lược đồ dùng để đảm bảo sự toàn vẹn của cơ sở dữ liệu quan hệ mà chưa khoanh vùng được các giả mạo nếu có. Sau đây luận án phát triển tiếp lược đồ thủy vân 3.2 nhằm khoanh vùng các giả mạo nếu có.

Tư tưởng của lược đồ thủy vân đề xuất vẫn giống như lược đồ thủy vân 3.2. Điểm khác của lược đồ đề xuất trong mục này chính là các bộ được chia vào các nhóm theo một số tham số, các nhóm này là nhóm ảo không làm thay đổi vị trí vật lý của các bộ trong quan hệ. Tiếp theo, mỗi nhóm sẽ được nhúng thủy vân và được phát hiện thủy vân giống như lược đồ thủy vân 3.2.

a. Lược đồ thủy vân

Trong lược đồ thủy vân này cần thêm một tham số nữa, đó chính là số nhóm g

trong quan hệ. Sau đây là lược đồ thủy vân mở rộng của lược đồ thủy vân 3.2. Lược đồ thủy vân 3.3: Khoanh vùng giả mạo với dữ liệu kiểu văn bản

Thuật toán 3.3.a: Nhúng khoanh vùng giả mạo

Input: - Quan hệ r thuộc lược đồ R(P, H1, H2,…,Hm, L1, L2, ...., Ln), trong đó, P là

khóa chính, m thuộc tính tác động cao, n thuộc tính tác động thấp. - Khóa thủy vân K, số nhóm g.

Output: - Quan hệ r đã nhúng thủy vân.

1. ChiaNhom(r, K, g)

2. for k = 0 to g-1 do

3. Sắp xếp các bộ trong nhóm theo khóa chính

4. SinhTV(Gk, K) //Sinh thủy vân cho nhóm Gk

5. XacDinhKyTuNhung(n) //Chọn ký tự trong xâu Wj để

nhúng 6. ChuoiVTri = ExtractBits(Converter(H(K)), qk) 7. for j = 1 to n do //xác định các bộ được nhúng 8. for i = 1 to qk do 9. if (ChuoiVTri i == 1) then 10. vtrinhung = Converter(H(K))%length(ri.Lj)

12. End if

13. End for

14. End for

15. End for

Thuật toán 3.3.b: Phát hiện và khoanh vùng giả mạo Input:

- Quan hệ r’ thuộc lược đồ R(P, H1, H2,…, Hm, L1, L2, ...., Ln), trong đó P là

khóa chính, m thuộc tính tác động cao, n thuộc tính tác động thấp. - Khóa thủy vân K, số nhóm g.

Output:

- Quan hệ r toàn vẹn hoặc quan hệ r đã bị sửa đổi.

1. ChiaNhom(r’, K, g)

2. for k = 0 to g-1 do //Phát hiện thủy vân trong từng nhóm

3. Sắp xếp lại các bộ trong nhóm theo khóa chính

4. SinhTV(Gk, K) //Sinh thủy vân cho nhóm Gk

5. XacDinhKyTuNhung(n) 6. ChuoiVTri = ExtractBits(Converter(H(K), qk) 7. for i = 1 to n do 8. for j = 1 to qk do 9. if (ChuoiVTrij == 1) then 10. vtrinhung = Converter(H(K))%length(r’j.Li)

11. w’i = substring(r’j.Li, j mod (vtrinhung),1)

12. sắp thứ tự w’i 13. end if 14. end for 15. end for 16. for i = 0 to n do 17. if (w*i  W’i) then 18. Nhóm bị sửa đổi 19. end if 20. end for 21. End for (adsbygoogle = window.adsbygoogle || []).push({});

Tương tự như cách phân tích đối với lược đồ thủy vân 3.2, lược đồ thủy vân

3.3 có độ phức tạp tính toán là O(ωp(m+n)).

b. Tính đúng đắn

Để chứng minh tính đúng đắn của lược đồ thủy vân đề xuất, chúng tôi đưa ra

mệnh đề và định lý sau:

Mệnh đề 3.5: Với quan hệ r có kích thước cố định lược đồ thủy vân 3.3 luôn dừng

và cho ra kết quả.

Chứng minh:

Giả sử, quan hệ r có ω bộ, thời gian truy cập dữ liệu là không đáng kể và hàm

băm có thời gian xử lý hữu hạn, cần chứng minh các thuật toán của lược đồ thủy vân được xây dựng là luôn dừng. Thật vậy, sẽ chứng minh cho quá trình phát hiện thủy vân. Quá trình nhúng thủy vân chứng minh tương tự.

Quá trình phát hiện thủy vân bao gồm:

- Chia quan hệ thành g nhóm

- Sinh các thủy vân trong từng nhóm - Trích thủy vân trong từng nhóm

Ta sẽ chứng minh 3 phần trên đều dừng và cho ra kết quả từ đó rút ra quá trình phát hiện thủy vân là dừng và cho kết quả. Thật vậy:

- Theo giả sử thời gian truy cập dữ liệu và hàm băm có thời gian hữu hạn,  ω được chia vào g nhóm sẽ có thời gian hữu hạn và luôn cho kết quả. (21)

- Theo giả sử quan hệ r có ω bộ số bộ trung bình trong một nhóm là ω/g. Việc

tính các tổng ký tự trong các thuộc tính tác động cao

VH =  i j{ Unicode của các nguyên âm thuộc ri.Hj, 1  i ;1  j m}

CH =  i j{ Unicode của các phụ âm thuộc ri.Hj, 1  i ; 1  j m}

PH =  i j{ Unicode của các ký tự đặc biệt của ri.Hj, 1  i ; 1  j m}

cho kết quả.

Tương tự, việc tính các tổng trong các thuộc tính tác động thấp VL j =  i{ Unicode của các nguyên âm của ri.Lj, 1  i } CLj = i{ Unicode của các phụ âm của ri.Lj, 1  i } PL j =  i{ Unicode của các ký tự đặc biệt của ri.Lj, 1  i }

ALj =  i{ Unicode của tất cả ký tự của ri.Lj, 1  i }

cũng cho kết quả. Tiếp theo, các công thức tính để sinh ma trận quan hệ và sinh thủy vân cũng kết thúc: Di1 = VH + VLi, Di2 = CH + CLi, Di3 = PH + PLi, Di4 = ALi, ij ij 2 ij D N D   ,

Wj = ATOC(H(Kej) mod 224 + 32) với i = 1, 2, …, n; j = 1, 2, 3, 4 Vì vậy, việc sinh thủy vân trong từng nhóm luôn cho kết quả và dừng. (22)

- Việc trích thủy vân trong một nhóm có ω/g bộ là cố định. Vì truy cập dữ liệu có

thời gian không đáng kể  thời gian để trích thủy vân là 0(ω/g) cố định. (23) Từ (21), (22) và (23) có điều phải chứng minh. 

Định lý 3.6: Nếu một quan hệ có các thuộc tính tác động cao và thuộc tính tác động thấp không bị giả mạo hoặc xuyên tạc thì thủy vân đã nhúng vào quan hệ bằng thuật toán 3.3.a và thủy vân được trích ra từ quan hệ bằng thuật toán 3.3.b là như nhau.

Chứng minh:

Giả sử có một quan hệ có  bộ với một khóa chính là P, m thuộc tính tác động cao và n thuộc tính tác động thấp, ký hiệu là R(P, H1, H2,…, Hm, L1, L2, ...., Ln). (adsbygoogle = window.adsbygoogle || []).push({});

Theo giả thiết, quan hệ không bị thay đổi. Vì vậy, theo mệnh đề 3.2  bộ được

phân vào g nhóm Gi (i = 1, 2,…, g) là giống nhau trong thuật toán nhúng và phát

hiện thủy vân.

Giả sử xét nhóm Gk, có qk bộ. Wj(j=1, 2, 3, 4) là các ký tự thủy vân được sinh

ra trong quá trình nhúng thủy vân. W’j(j=1, 2, 3, 4) là các ký tự thủy vân được sinh ra trong quá trình phát hiện thủy vân. Vì lược đồ thủy vân sử dụng duy nhất

một cách sắp thứ tự cho cả thuật toán nhúng và phát hiện thủy vân cho nên Wj (i = 1, 2, 3, 4) được sắp thứ tự như nhau trong phần nhúng và phát hiện thủy vân.

Với khóa thủy vân K được sử dụng trong cả phần nhúng phần phát hiện là như

nhau. Khi đó, ký tự được nhúng và được rút ra tại cùng một vị trí mà không có sửa đổi xảy ra vì vậy là giống nhau. Điều phải chứng minh. 

3.4.6. Đánh giá thử nghiệm

Cơ sở dữ liệu quan hệ gồm 2000 bộ được sử dụng trong thử nghiệm là dữ liệu về dân số của huyện Đông Anh. Trong đó, khóa chính là thuộc tính số chứng minh thư. Các thuộc tính tác động cao bao gồm: Họ và tên, giới tính và tuổi. Các thuộc tính tác động thấp bao gồm: Nơi sinh, địa chỉ và chủ hộ. Số nhóm g =10.

Cơ sở dữ liệu được xây dựng đã được loại đi một số thuộc tính không cần thiết và chỉ mang tính chất minh họa cho thử nghiệm của lược đồ thủy vân đề xuất và lược đồ thủy vân của Bedi R. và cộng sự [12]. Để so sánh hai lược đồ thủy vân chúng tôi đã tiến hành thử nghiệm với một số kiểu tấn công thông thường: Thêm, sửa, xóa bộ. Bảng 3.2 thể hiện kết quả khi thực hiện một số tấn công thông thường đối với cơ sở dữ liệu quan hệ thử nghiệm.

Kết quả thực nghiệm cho thấy, lược đồ thủy vân của Bedi R. và cộng sự [12] luôn phát hiện ra khi có tấn công và kết luận quan hệ không còn toàn vẹn. Lược đồ thủy vân đề xuất phát hiện và xác định vị trí thay đổi khi các nhóm bị ảnh hưởng nếu có tấn công. Cụ thể, lược đồ đề xuất phát hiện ra các nhóm bị tấn công.

Bảng 3.2. Kết quả thử nghiệm

Kiểu tấn công Số giá trị thay đổi

Lược đồ đề xuất (Nhóm phát hiện)

Lược đồ [12] (Kết luận)

Thêm bộ 2001 1 bộ 5 Có thay đổi

Xóa bộ 58 1 bộ 7 Có thay đổi

Sửa thuộc tính họ tên

bộ 287 1 ô 6 Có thay đổi

Thêm bộ 2001, 2002 2 bộ 3, 7 Có thay đổi

Xóa bộ 27, 40 2 bộ 1, 5 Có thay đổi

Sửa bộ 39 1 bộ 2 Có thay đổi

Sửa bộ 15, 25 2 bộ 4 Có thay đổi

3.4.7. Kết luận

Lược đồ thủy vân đề xuất dùng để đảm bảo sự toàn vẹn của cơ sở dữ liệu quan hệ với các thuộc tính kiểu văn bản có những ưu điểm sau đây:

- Bền vững: Các giá trị đặc trưng của quan hệ có thể được nhúng trong nhiều thuộc tính có tác động thấp ở khắp nơi trong quan hệ. Vì vậy rất khó để có thể gỡ bỏ hết các ký tự thủy vân đã nhúng.

- Nhạy cảm: Luôn phát hiện được bất kỳ một thay đổi nào đối với các giá trị thuộc tính vì các ký tự thủy vân được sinh ra từ kết quả của hàm băm đối với mọi giá trị thuộc tính của quan hệ.

- Phát hiện mù: Quá trình xác minh sự toàn vẹn của quan hệ không đòi hỏi quan hệ gốc và thủy vân gốc.

- Tính hiệu quả: lược đồ thủy vân dễ dàng đưa vào áp dụng trong thực tế vì các thuật toán đơn giản nhưng lại hiệu quả trong việc xác minh tính toàn vẹn và phát hiện xuyên tạc. (adsbygoogle = window.adsbygoogle || []).push({});

Nhược điểm của lược đồ là dễ bị lộ do các ký tự thủy vân được nhúng trực tiếp và hiện trong các thuộc tính kiểu văn bản có tác động thấp.

Một phần của tài liệu Luận án tiến sĩ toán học KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ (Trang 94 - 99)