Xác suất nhị thức tích luỹ

Một phần của tài liệu bảo vệ bản quyền cơ sở dữ liệu bằng thủy vân ảnh số (Trang 31 - 48)

Các phép thử độc lập lặp đi lặp lại được gọi là các phép thử Bernoulli nếu chỉ có hai kết quả có thể đối với mỗi phép thử và xác suất của chúng là như nhau trong suốt quá trình thử.

Cho b(k;n,p) là xác suất mà n phép thử Bernoulli với xác suất thành công là

p và xác suất thất bại là q1 p trong k lần thành công và nk lần thất bại.

pkqn k k n p n k b( ; , )    (1) )! ( ! ! k n k n k n         0kn (2)

Ký hiệu số lần thành công trong n lần thử là Sn. Xác suất để có ít nhất k lần thành công trong n lần thử, còn gọi là xác suất nhị thức tích luỹ, được tính như sau:

      n k i n k b i n p S P (; , ) (3) Để ngắn gọn, ta định nghĩa: ) , ; (k n p B :=   n k i p n i b( ; , ) (4) 2.3.2 Hàm ngưỡng

Giả sử khi chạy thuật toán phát hiện thuỷ vân, totalcount = . Điều này có nghĩa là chủ dữ liệu xem xét ở  bít và quan sát số các bít mà giá trị của chúng trùng với giá trị được gán bởi thuật toán nhúng.

Xác suất để có ít nhất  bít trong  bít ngẫu nhiên - với đặc điểm là mỗi bít bằng 0 hoặc bằng 1 với xác suất như nhau, độc lập với các bít khác – trùng với giá trị đã được gán là B( ;, 1/2). Nói cách khác, xác suất để ít nhất

 bít trùng khớp với cơ hội ngang bằng nhau là B( ;, 1/2). Do đó, thủ tục

con:

Subroutine threshold(, ) return count

trả lại  nhỏ nhất sao cho B( ;, 1/2)  .  = min { t : B( t ; , 1/2 )  }.

Mức ý nghĩa  xác định hệ thống này sẽ gặp sai lầm trong một chừng mực nào đó. Tức là,  là xác suất mà B sẽ phát hiện được thủy vân của cô trong một quan hệ cơ sở dữ liệu không do cô thủy vân. Bằng cách chọn  nhỏ hơn, B có thể tăng mức tin cậy của cô trong trường hợp thuật toán phát hiện lại tìm thấy thủy vân của cô trong một quan hệ có được một cách đáng ngờ từ một bản sao trái phép.

Kỹ thuật thủy vân dựa trên các LSB có bốn tham số quan trọng có thể điều hướng được:

  – mức ý nghĩa của phép thử

  – tham số xác định số bộ cần được đánh dấu

  – số các thuộc tính trong quan hệ sẵn sàng để đánh dấu   – số các bít ít ý nghĩa nhất sẵn sàng để đánh dấu.

Hình 5: Điều chỉnh các tham số

↓  ↓ lỗi ↑ thủy vân bị hỏng ↓  ↑ tính bền vững ↑ sai số dữ liệu ↑  ↑ tính bền vững

Chương 3: THỦY VÂN SỬ DỤNG CÁC BIT Ý NGHĨA NHẤT

3.1 Giới thiệu

Giống như kỹ thuật LSB và kỹ thuật tối ưu hóa, kỹ thuật này cũng thủy vân dữ liệu số và phụ thuộc vào khóa bí mật. Tuy nhiên, thay vì sử dụng khóa chính như hai kỹ thuật trên, kỹ thuật này sử dụng các bít ý nghĩa nhất (MSB) của bộ dữ liệu đã chuẩn hóa.

Các bít ý nghĩa nhất (MSB-Most Significant Bits) là các bít ở bên trái nhất của một chuỗi bít.

Ví dụ: trong chuỗi bít 1000 thì bít ý nghĩa nhất là 1; với số bít ý nghĩa nhất là 3 thì các bít ý nghĩa nhất trong chuỗi bít 1010001 là 101.

Ngoài ra, kỹ thuật này còn sử dụng phương pháp lựa chọn tập hợp và đánh dấu các đầu mục của các tập hợp đó theo thứ tự từ điển dựa vào hàm băm một chiều với khóa bí mật của tập các bít ý nghĩa nhất.

Kỹ thuật này cũng gồm có hai phần chính: mã hóa và giải mã thủy vân.

Mã hóa thủy vân: gồm 2 bước chính sau:

1. Lựa chọn một lượng tối đa các tập hợp con đơn nhất, không giao nhau từ bộ dữ liệu gốc, sử dụng khóa bí mật.

2. Với mỗi tập hợp con đã chọn, nhúng một bít thủy vân vào trong nó và kiểm tra các ranh giới khả dụng của dữ liệu. Nếu các ranh giới khả dụng bị vượt qua, thử lại với các biến thể khác nhau của tham số mã hóa, hoặc nếu vẫn không thành công, thử đánh dấu tập con này là không hợp thức, hoặc nếu vẫn không thành công thì bỏ qua (lờ) tập hiện hành đó đi. Lặp lại quá trình này cho đến khi không còn tập hợp con nào có thể mã hóa được nữa.

Quy trình này sẽ tạo ra nhiều mẫu thủy vân được nhúng trong tập dữ liệu tổng thể.

Giải mã thủy vân: gồm 3 bước chính sau:

1. Sử dụng các khóa và một số bí mật để tìm lại một lượng lớn các tập con (hoặc tất cả nếu không có tấn công nào được thực hiện trên bộ dữ liệu). 2. Với mỗi tập con đã tìm được, sử dụng quy tắc mã hóa để tìm lại giá trị bít

đã nhúng và xây dựng lại thủy vân.

3. Sử dụng lược đồ chọn theo đa số để tìm lại thủy vân giống với thủy vân gốc nhất.

3.1.1 Mô hình thủy vân

Hình 6: Mô hình thủy vân sử dụng các bít ý nghĩa nhất

3.1.2 Xác định bài toán

Cho S là một tập gồm n số thực S = {s1, . . . , sn }  R.

Gọi V là kết quả của việc thủy vân S bằng cách làm một vài thay đổi nhỏ trong nội dung của S. Giả sử V = { v1, . . . , vn }  R cũng có kích cỡ là n.

Kênh tấn công Phát hiện thuỷ vân Nhúng thuỷ vân Khoá bí mật, K Dữ liệu, R Dữ liệu được thuỷ vân, RW

Thuỷvânđượcpháthiện

WR=(100100100….)

Dữ liệu bị tấncông , R’W

Thuỷ vân W=(100100100….)

Cho một xâu bít w = w1 . . . wm gồm m bít (m<<n) được sử dụng làm dấu hiệu thủy vân nhúng vào dữ liệu (|w| = m).

Đối với mỗi tập con Si  S, gọi G {G ,...,G i |Gji:subsets(S) R}

p i

1

i   là tập

(có thể rỗng) “các hàm đo tính khả dụng”, Si phải thỏa mãn trong một tập nào đó các khoảng khả dụng chấp nhận được (tức là các miền sai số được phép của kết quả) {(( ) ,( ) ),...,(( ) ,( ) )} 1 1 max i p min i p max i min i i g g g g

G  , sao cho “điều

kiện khả dụng” sau đây thỏa mãn: G (S ) ((g ) ,(g i)max) j (1,p)

j min i j i i j    .

Tính khả dụng có thể chấp nhận được của tập dữ liệu này sẽ cho phép chúng ta xác định liệu kết quả thủy vân có giá trị và có hợp lệ trong các giới hạn cho phép hoặc đảm bảo không.

Ta định nghĩa bài toán thủy vân tập S như bài toán tìm một biến đổi V của S sao cho với tất cả các tập độ đo tính khả dụng G = Gi, với mọi tập con Si 

S mà đúng đối với S thì cũng đúng đối với V.

3.1.3 Lựa chọn các tập hợp con

Các bộ dữ liệu đầu vào được sắp xếp (lựa chọn) theo thứ tự từ điển dựa vào khóa bí mật Ks và hàm băm một chiều H các bít ý nghĩa nhất của các đầu muc đã được chuẩn hóa:

index(si) = H(ks, MSB(NORM(si)), ks) trong đó, NORM(si) là bản chuẩn hóa của si

NORM(si) = si / max(si)

Không gian MSB ở đây được coi là miền mà những thay nhỏ trên các đầu mục của dữ liệu (những thay đổi vẫn làm thỏa mãn khoảng khả dụng đã được yêu cầu) có tác động tối thiểu lên các nhãn MSB. Điều này đúng trong nhiều

trường hợp (bởi vì thường thì các khoảng khả dụng có liên quan tới việc bảo vệ các phần “quan trọng” của dữ liệu).

3.2 Nhúng thủy vân 3.2.1 Mã hoá bít đơn

Với mỗi tập Si đã được chọn, bít thủy vân b sẽ được mã hóa vào trong tập Si. Gọi G là tập biểu diễn khoảng thay đổi chấp nhận được, hoặc khoảng khả dụng đã được xác định bởi người dùng.

Cho vfalse, vtrue, c là các số thực, với c  (0, 1), vfalse < vtrue

Trong đó,

 c được gọi là độ (hệ số) tin cậy  (vfalse, vtrue) gọi là khoảng tin cậy

Định nghĩa: avg(Si) và δ(Si) tương ứng là độ lệch trung bình và độ lệch chuẩn của Si. i j i S x S avg( )  , i j i i S x S avg S    2 ) ) ( ( ) (  , xjSi vc(Si) là số các đầu mục của Si vc(Si) > avg(Si) + c(Si)

Hình 7: Phân phối của Si

Quy ước mã hóa: cho mark(Si)  {true, false, invalid} mark(Si) là true nếu: vc(Si) > (vtrue |Si|) false nếu: vc(Si) < (vfalse |Si|)

invalid nếu: vc(Si)  (vfalse  |Si|, vtrue  |Si|)

Nói cách khác, thủy vân được mô hình bởi số lượng “các vi phạm độ tin cậy” dương biểu diễn trong Si đối với độ tin cậy c và các vi phạm khoảng tin cậy (vfalse, vtrue).

Việc mã hóa bít đơn b vào trong tập Si sẽ được hoàn thành bằng cách đánh dấu những thay đổi nhỏ cho một số giá trị dữ liệu trong Si sao cho số lượng các vi phạm dương (vc(Si)) cũng là 1 ít hơn (vfalse  |Si|) nếu b = 0, hoặc 2 và nhiều hơn (vtrue  |Si|) nếu b = 1.

Thuật toán mã hóa bít đơn:

encode(bit, set, vfalse, vtrue, c) compute avg(set), δ(set) compute vc(set)

if (bit)

compute v* ← vtrue – vc(set)

alter v* items close to the stddev boundary so that they become > vtrue

else

(!bit) case is similar compute vc(set)

if vc(set) satisfies desired bit value return true

else rollback alterations (distribution shifted too much ?) return false

Trên cơ sở thuật toán mã hóa bit đưon, chúng ta có thể xây dựng thuật toán nhúng thủy vân.

Thuật toán nhúng thủy vân

watermark(attribute, wm_key, mark_data[], plugin_handler,

db_primary_key, subset_size, vfalse, vtrue, c)

sorted_attribute ← sorted_on_normalized_crypto_hash(wm_key, db_primary_key, wm_key)

for(i=0; i<

size subset attribute length _ ) ( ; i++)

subset_bin ← next subset_size elements from sorted _attribute compute rollback_data

encode(mark_data[i % mark_data.length], subset_bin, vfalse, vtrue, c) propagate changes into attribute

if (not goodness_plugin_handler.isSatisfied(new_data, changes))

rollback rollback_data continue else commit embedding_map[i] = true subset_boundaries[i] = subset_bin[0] return embedding_map, subset_boundaries

3.3 Phát hiện thủy vân

Để tìm lại các thủy vân đã nhúng, chúng ta sẽ sử dụng thuật toán được trình bày dưới đây.

Thuật toán phát hiện thuỷ vân

detect(attribute, wm_key, db_primary_key, subset_size, vfalse, vtrue, c, embedding_map[ ], subset_boundaries[ ])

sorted_attribute ← sort_on_normalized_crypto_hash(wm_key, db_primary_key, wm_key)

read_pipe ← null

do { tuple ← next_tuple(sorted_attribute) }

until (exists idx such that (subset_boundaries[idx] = = tuple)) current_subset ← idx

while (not(sorted_attribute.empty())) do

do {

tuple ← next_tuple(sorted_attribute) read_pipe = read_pipe.append(tuple)

} until (exists idx such that (subset_boundaries[idx] = = tuple))

subset_bin ← (at most subset_size elements from read_pipe, not

including last read element)

read_pipe.remove_all_remaining_elements_but_last_read() if (embedding_map[current_subset]) then

mark_data[current_subset] ← decode (subset_bin, vfalse, vtrue,

confidence)

if (mark_data[current_subset] != DECODING_ERROR)

then detection_map[current_subset] ← true current_subset ← idx

Chương 4: CÀI ĐẶT THỬ NGHIỆM

Các chương trước đã giới thiệu cho chúng ta biết về thuỷ vân và một số kỹ thuật thuỷ vân. Chương này sẽ tiến hành cài đặt thử nghiệm kỹ thuật thuỷ vân sử dụng các bít ít ý nghĩa nhất.

Chương trình được viết bằng ngôn ngữ C#, thực hiện trên hệ điều hành Windows XP, hệ quản trị cơ sở dữ liệu MS SQL Server 2000, môi trường .Net framework 2.0.

4.1 Cài đặt thuật toán nhúng

Thuật toán nhúng được áp dụng cho cơ sở dữ liệu quan hệ thuộc tính số gồm 150 bộ và 12 thuộc tính.

Bộ dữ liệu gốc ban đầu khi chưa được nhúng được cho trong Hình 8.

Bộ dữ liệu sau khi nhúng với các tham số đầu vào được chọn như sau:  Số bít ít ý nghĩa nhất là: 1

 Tham số điều khiển xác định số bộ cần đánh dấu là: 1  Số thuộc tính trong quan hệ sẵn sàng để đánh dấu: 12

Sau khi nhúng, một số giá trị của các thuộc tính tương ứng với mỗi bộ được đánh dấu (giá trị được tô màu). Trong số các giá trị đó, có những giá trị tăng lên, có giá trị giảm xuống, nhưng có những giá trị được giữ nguyên. Hình 9 là các dữ liệu sau khi đã nhúng thủy vân.

4.2 Thuật toán phát hiện

Khi chạy thuật toán phát hiện mà bộ dữ liệu chưa bị tấn công hoặc chưa cập nhật, thay đổi gì thì ta sẽ thu được bộ dữ liệu giống với bộ đã nhúng thuỷ vân như trong Hình 9.

Kết luận

Thuỷ vân trên cơ sở dữ liệu quan hệ là một lĩnh vực mới, đang được quan tâm và nghiên cứu trên thế giới. Đề tài đã tiến hành nghiên cứu, đánh giá và so sánh một số kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ và cài đặt thử nghiệm kỹ thuật thuỷ vân dựa vào các bít ít ý nghĩa nhất (LSB).

Trong số các kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ mà đề tài nghiên cứu thì kỹ thuật thủy vân dựa vào LSB là dễ áp dụng nhất. Tuy nhiên độ bền vững của kỹ thuật này không được cao. Hai kỹ thuật sau có độ phức tạp lớn hơn và cho ra độ bền vững cao hơn.

Trong các năm tiếp theo, tôi sẽ tiếp tục nghiên cứu lĩnh vực này nhằm thu được những kỹ thuật tốt hơn và tiến hành các cài đặt thử nghiệm để đánh giá các thuật toán cả về độ bền vững của thủy vân và độ phức tạp của thuật toán.

Tiếng Việt

[1]. GS.TS Phan Đình Diệu, “Giáo trình Lý thuyết mật mã và an toàn thông tin”.

[2]. Phạm Huy Điển, Hà Huy Khoái, “Mã hóa thông tin – Cơ sở toán học và ứng dụng”, nhà xuất bản Đại học Quốc gia Hà Nội, (2004).

[3]. Lương Chi Mai, Huỳnh Thị Thanh Bình, "Nhập Môn Đồ Hoạ Máy Tính", nhà xuất bản Khoa học và Kỹ thuật, tr 65-75, (2000).

[4]. Nguyễn Gia Bình, Võ Nguyễn Quốc Bảo, “Xử lý âm thanh, Hình ảnh”, Viện công nghệ Bưu chính viễn thông, (2007).

[5]. Thái Hồng Nhị, Phạm Minh Việt, “An toàn thông tin”, nhà xuất bản khoa học kỹ thuật, (2004).

[6] Nguyễn Xuân Huy, Bùi Thuý Hằng, “Một số cải tiến của kỹ thuật giấu dữ liệu trong ảnh”, Kỷ yếu hội nghị khoa học 25 năm thành lập Viện CNTT - Hà Nội, trang 553-559.

[7] Nguyễn Văn Tảo,TS.Bùi Thế Hồng, “Nâng cao chất lượng ảnh trong kỹ thuật thuỷ vân sử dụng miền tần số giữa của phép biến đổi DCT”, Tạp chí “Tin học và điều khiển học” - Viện khoa học và công nghệ Việt Nam. [8] TS.Bùi Thế Hồng, “Về một cải tiến với lược đồ giấu dữ liệu an toàn và mô hình trong các bức ảnh hai màu ”, Tạp chí “Tin học và điều khiển học” - Viện khoa học và công nghệ Việt Nam.

Tiếng Anh

[9]. A. Menezes, P.van Oorshot, and S. Vanston, “Handbook of Applied Cryptgraphy”, CRC Press, (1996).

[10]. Orea Flores, M.A.Acevedo, J.López-Bonilla, “Wavelet and Discrete cosine transforms for inserting information into BMP images”, Australia Mathematical Society, (2006).

[11]. Syed Ali Khayam, “DCT: Theory and Application”, Michigan State University, (2003).

[12]. Matteo Fortini, "Steganography and Digital Watermarking: a global view" pp 1, (2000).

[13]. Ingemar J. Cox, Matthew L. Miller, and Jeffrey A. Bloom, “Digital Watermarking”, Morgan Kaufmann Publishers, (2002).

[14] Programming in MATLAB7

[15] R. Mehul and R. Priti, “Discrete Wavelet Transform Based Multiple

Watermarking Scheme” Proceedings of IEEE Region 10 Technical Conference on Convergent Technologies for the Asia-Pacific, Bangalore, India, October 14-17, 2003.

[16] Peining Tao and Ahmet M. Ékicioglu, “A robust multiple watermarking

scheme in the Discrete Wavelet Transform domain”, Proceeding SPIE,

p. 133-144, spie the international society for optical engineering, 2004 Vol.5601

[17] Min Wu, Edward Tang, Bede Liu, “Data Hidung in Digital Binary Image”, Princeton Summer Institute, 2000.

[18] Tse-Hua Lan1, Mohamed F. Mansour2, and Ahmed H., Tewfik2 Digital TV Systems Department, Philips Research , NY 10510-2099 Department of Electrical and Computer Engineering, University of Minnesota, Minneapolis, “Robust high capacity data embeding

Watermarking Techniques for Protection of Intellectual Property”,2005

Một phần của tài liệu bảo vệ bản quyền cơ sở dữ liệu bằng thủy vân ảnh số (Trang 31 - 48)

Tải bản đầy đủ (PDF)

(48 trang)