6. Cấu trúc của luận văn
3.1. Phân hoạch dữ liệu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ký hiệu Ý nghĩa
m Số phân vùng
Kích thước nhỏ nhất của một phân vùng
W Chuối bit thuỷ vân {bl-1,…,b0}
l Chiều dài của chuỗi bit thuỷ vân
Xmax Các thống kê nhúng thuỷ vân cực đại
Xmin Các thống kê nhúng thuỷ vân cực tiểu
Si Phân vùng dữ liệu thứ i
|Si|, n Độ dài của vector Si
Ks Khoá bí mật
T* Ngưỡng giải mã tối ưu
Gi Ràng buộc thứ i
i
Vector thao tác trong Rn
Bảng 1. Danh mục các ký hiệu
Mục tiêu chính của phần này là trình bày về kỹ thuật phân hoạch, kỹ thuật này sẽ làm tăng tính ngẫu nhiên khi chọn các bộ và phân vào các phân hoạch riêng rẽ. Tính ngẫu nhiên này có độ bảo mật cao được đảm bảo bằng hàm băm mật mã gọi mà mã xác thực thông điệp. Với việc áp dụng kỹ thuật phân hoạch này sẽ làm tăng khả năng bền vững của thuỷ vân trước các tấn công.
Thuật toán phân hoạch dữ liệu phân chia bộ dữ liệu thành các phần, các
tập hợp con dựa vào khoá bí mật KS . Khoá bí mật KS thường được chọn sao
cho kẻ tấn công khó có thể đoán ra được, đồng thời đảm bảo sự duy nhất và ổn định trong quá trình tính toán phân hoạch. Vì vậy, giá trị thích hợp nhất dành cho KS là các số nguyên tố càng dài càng tốt, điều này nhằm làm khó cho kẻ tấn công trong việc dò ra khoá bí mật.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bộ dữ liệu D là một quan hệ cơ sở dữ liệu với lược đồ D(P, A0,…, Av-1)
trong đó
+ P là thuộc tính khoá chính.
+ A0,…, Av-1 là v thuộc tính cho việc thuỷ vân và |D| là số bản ghi trong D
Bộ dữ liệu D này được chia thành m phần không giao nhau (hay không
chồng lên nhau) {S0,…., Sm-1}, sao cho mỗi phần Si chứa trung bình
m D| |
bản ghi từ bộ dữ liệu D. Các phần không giao nhau, tức là, với 2 phần bất kỳ Si và Sj mà i j thì Si Sj .
Với mỗi bản ghi rD, thuật toán phân hoạch dữ liệu tính toán mã xác
thực thông tin (MAC) để đảm bảo an toàn trong quá trình phân hoạch và mã
này được cho bởi hàm băm H(Ks || H(r.P || Ks)) , trong đó + r.P là khoá chính của bản ghi r
+ H() là hàm băm an toàn + || là toán tử nối.
Sử dụng MAC đã tính toán, các bản ghi được chia cho các phần. Với bản
ghi r, phần được chia của nó được tính như sau: partition(r) = H(Ks || H(r.P || Ks)) mod m
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3. 1. Cách phân hoạch bộ dữ liệu
Sử dụng đặc tính này để các hàm băm an toàn sinh ra các bản tin được phân phối một cách giống nhau, kỹ thuật phân hoạch này trung bình chứa
m
D|
|
bản ghi trong mỗi phần của phân hoạch. Hơn thế nữa, một kẻ tấn công không thể đoán trước được các bản ghi đã chia thành các phần mà không biết rõ về khoá bí mật Ks và số phần dữ liệu đã phân hoạch m được giữ bí mật. Giữ m bí mật không phải là đòi hỏi. Tuy nhiên, giữ nó bí mật để gây khó khăn hơn cho kẻ tấn công muốn tái sinh các phần đó.
Thuật toán phân hoạch dữ liệu được mô tả như sau: Algorithm: get_partitions
Input: bộ dữ liệu D, khoá bí mật Ks, số phần phân hoạch m
Output: Các phần dữ liệu S0,…., Sm-1
1. S0,…., Sm-1{} 2. for each Tuple rD
3. partition(r) H(Ks || H(r.P || Ks)) mod m 4. insert r into Spartition(n)
5. return S0,…., Sm-1 r.P Field1 Field 2 … 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 . . n-1 n S1 S3 S2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Mặc dù sự có mặt của khoá chính trong quan hệ được thuỷ vân là phổ biến trong dữ liệu quan hệ, kỹ thuật này có thể dễ dàng được mở rộng để xử lý các trường hợp khi quan hệ không có khoá chính. Giả sử quan hệ thuộc tính
đơn, bít ý nghĩa nhất (MSB) của dữ liệu có thể được dùng để thay thế cho
khoá chính. Việc sử dụng MSB cho rằng dữ liệu nhúng thuỷ vân thay đổi sẽ
không giống như bít MSB thay đổi. Tuy nhiên, nếu quá nhiều bản ghi chia
sẻ cùng bít MSB thì có thể cho phép kẻ tấn công suy luận được thông tin
về sự phân phối phần dữ liệu. Giải pháp này có thể chọn để làm cực tiểu
hoá các bản sao.
*) Các giá trị thực nghiệm của luận văn được tác giả áp dụng như sau:
Ký hiệu Ý nghĩa
m = 20 Số phân vùng
Ks = 97 Khoá bí mật
H = MD5 Hàm băm