Kỹ thuật thủy vân với cơ chế xác thực công khai

Một phần của tài liệu Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân (Trang 35 - 42)

CHƯƠNG 2: KỸ THUẬT THỦY VÂN BẢO VỆ SỰ TOÀN VẸN

2.2. Kỹ thuật thủy vân với cơ chế xác thực công khai

Kỹ thuật thủy vân số với cơ chế xác thực công khai là kỹ thuật kết hợp giữa thủy vân số với cơ chế xác thực công khai đƣợc đề xuất bởi các tác giả Meng-Hsium Tsai, Hsiao-Yun Tseng, Chen-Ying Lai. Mục đích của kỹ thuật này để nâng cao xác thực tính toàn vẹn của cơ sở dữ liệu.

2.2.1. Ý tưởng của kỹ thuật thủy vân với cơ chế xác thực công khai

Để bảo vệ sự toàn vẹn của cơ sở dữ liệu, đầu tiên người sở hữu các cơ sở dữ liệu dùng một thủy vân, để có thể chứng minh tính toàn vẹn của các cơ sở dữ liệu, thực hiện phép trích rút đặc trƣng từ các cơ sở dữ liệu và sinh ra một mã xác thực. Thứ hai, dùng khóa bí mật mã hóa mã xác thực và các tham số khác, và sau đó đƣa bản mã lên mạng công cộng nhƣ Internet,... Để biết nội dung của cơ sở dữ liệu có được bảo toàn, người sử dụng phải kiểm tra các cơ sở dữ liệu khi họ lấy từ trên mạng xuống,... Đầu tiên, người sử dụng nhận một khóa công khai tại bất cứ chỗ nào mà người sở hữu cơ sở dữ liệu công khai trên mạng Internet, để giải mã bản rõ và nhận mã chứng thực và các tham số khác. Tiếp theo, thực hiện phép tính giữa mã chứng thực với đặc tính để nhận thủy vân. Nếu thủy vân nhận đƣợc mà không bị thay đổi thì có nghĩa là cơ sở dữ liệu bảo đảm tính toàn vẹn, ngƣợc lại thì dữ liệu trong cơ sở dữ liệu bị thay đổi.

Để thuận tiện trong việc trình bày, Bảng 2.1 dưới đây giải thích các ký hiệu đƣợc sử dụng trong luận văn.

27

Ký hiệu Giải thích

T Bảng dữ liệu gốc để lấy đặc tính t Bản ghi trong bảng dữ liệu T

N Tổng số bản ghi trong bảng dữ liệu T

WM Đánh dấu độc quyền của người sở hữu cơ sở dữ liệu M

W  Thủy vân số đƣợc nhúng trong bảng dữ liệu Ci Đặc tính của bảng T và bản ghi i

C Tập tất cả các đặc tính của bảng T

R Mã chứng thực đƣợc tạo ra bằng cách XOR giữa WM và đặc tính C

Mi Kết quả của bản ghi i trong bảng T dùng thuật toán MD5 bi Đoạn đầu 64 bít sau khi cắt đôi Mi

fi Đoạn sau 64 bít sau khi cắt đôi Mi Xi Kết quả của phép XOR giữa bifi Skey Khóa bít mật của người sở hữu CSDL SD Bản rõ

Pkey Khóa công khai

T Bảng dữ liệu đƣợc lấy từ Internet t Bản ghi của T

Ci Đặc tính của bảng Tvà bản ghi i C Tập tất cả các đặc tính của bảng T

Mi Kết quả của bản ghi i trong bảng T dùng thuật toán MD5 bi 64 bít đầu sau khi cắt đôi Mi

fi 64 bít cuối sau khi cắt đôi MiXi Kết quả của XOR giữa bi và fi

M

W  Thủy vân số đƣợc tạo ra bằng cách XOR giữa đặc tính C và mã chứng thực R

Bảng 2.1: Danh mục các ký hiệu

28

Với ý tưởng trên, các bước quan trọng trong kỹ thuật thủy vân với cơ chế xác thực công khai là:

Tạo ra mã xác thực.

Xác thực tính toàn vẹn của dữ liệu.

So sánh/đối chiếu giữa hai thủy vân.

2.2.2. Tạo mã xác thực

Giai đoạn này giành cho người sở hữu cơ sở dữ liệu mà muốn được đưa lên mạng công cộng như Internet,... để cho người sử dụng khai thác cơ sở dữ liệu. Ý tưởng của giai đoạn này như sau:

Đầu tiên, thuật toán băm MD5 đƣợc dùng để lấy đặc điểm C của CSDL T. Sau đó, thực hiện toán tử XOR giữa đặc điểm C của CSDL và thủy vân số WM để lấy mã xác thực R. Cuối cùng, dùng khóa bí mật Skey để mã hóa mã xác thực R, ta đƣợc SD.

Giả sử một bản ghi trong bảng T t(P, A1, A2,…, Aj). Trong đó: P là khóa chính và A1, A2,…, Aj là các thuộc tính trong bản ghi t. Để bảo vệ tính toàn vẹn của dữ liệu thì chúng ta dùng tất cả các bản ghi trong bảng T để đƣa ra các đặc tính của bảng T. Các bước lấy các đặc tính của bảng T như sau:

Bước 1: Vì số lƣợng các bản ghi trong bảng dữ liệu là rất lớn và độ dài của thủy vân số là không dài bằng số lƣợng bản ghi trong bảng dữ liệu, vì vậy phương pháp này được đưa ra với số lượng các bản ghi trong bảng dữ liệu là N N phải thỏa mãn:

   N N

N  

Dùng một ảnh trắng kích thước    NN và được đánh dấu ở 4 góc ảnh để làm thủy vân số WM.

Bước 2: Dùng thuật toán hàm băm MD5 (thuật toán Message-Digest 5) [5] áp dụng vào tất cả các bản ghi (t) và đƣợc Mi độ dài 128 bít. Và sau đó chia đôi Mi thành 2 đoạn độ dài 64 bít bằng nhau. Đặt bi là 64 bít đầu và fi

29

64 bít sau. Thực hiện toán tử XOR giữa bifi , chúng ta đƣợc giá trị Xi. Mục đích của bước này là để thu ngắn kết quả sau khi thực hiện thuật toán hàm băm và không ảnh hưởng đến đặc điểm duy nhất của toán tử MD5.

i i i

i i

f b X

t MD M

 5( )

Bước 3: Lấy phần dƣ của Xi chia 256 ta đƣợc Ci nằm giữa 0 và 255.

Mục đích của bước này là để kiểm soát nằm trong vùng ảnh xám. Chúng ta thực hiện nhƣ sau:

256

i mod

i X

C

Bước 4: Lặp lại bước 2và bước 3 cho tới khi tất cả các đặc tính Ci được lấy ra và kết hợp chúng lại ta đƣợc C. Thực hiện toán tử XOR giữa CWM đƣợc mã chứng thực R. Biến đổi R thành ảnh mức xám    NN giống

nhƣ biểu đồ băm. Đặc tính của CSDL sau khi đƣợc nhúng thủy vân số vào, giống nhƣ bóng mờ của CSDL. Sau đó, dùng khóa bí mật Skey mã hóa ảnh chứng thực đƣợc SD và công khai trên mạng cùng với CSDL.

) (R S SDkey Thuật toán:

Input:

- Bảng dữ liệu T có N bản ghi (N    NN ).

- Thuỷ vân số WM’ (ảnh trắng kích thước    NN được

đánh dấu 4 góc) .

- Khóa bí mật Skey .

Ouput: Mã xác thực SD đã đƣợc mã hóa bằng khóa Skey. 1. For i:= 1 To N Do

MMD5(ti) (độ dài của M là 128 bít);

bi = Lấy 64 bít đầu của M;

30

fi = Lấy 64 bít sau của M;

i

i f

b

X   ;

Ci = X mod 256;

2. Kết hợp tất cả các Ci ta đƣợc ma trận C;

3. RCWM; 4. SDSkey(R); 5. return SD;

2.2.3. Xác thực tính toàn vẹn của dữ liệu

Giai đoạn này giành cho người sử dụng dùng để kiểm tra xem cơ sở dữ liệu đƣợc lấy từ mạng công cộng nhƣ Internet,... có đảm bảo tính toàn vẹn hay không. Ý tưởng của giai đoạn này như sau:

Khi người sở hữu CSDL đưa CSDL và SD ra công cộng sử dụng như trên Internet,… và người sử dụng có thể dùng khóa công khai của người sở hữu CSDL Pkey để giải mã SD và để nhận đƣợc mã xác thực R. Sau đó dùng thuật toán băm MD5 để lấy đặc điểm Ccủa CSDL đƣợc công khai công cộng T. Tiếp đến, thực hiện toán tử XOR giữa đặc điểm C của CSDL đƣợc công khai công cộng và mã xác thực R đƣợc giải mã bằng khóa công khai, ta lấy đƣợc thủy vân WM. Đem so sánh thủy vân WM với thủy vân ban đầu

M

W . Nếu giống hệt nhau thì cơ sở dữ liệu đƣợc toàn vẹn, ngƣợc lại, thì cơ sở dữ liệu đã bị thay đổi. Quá trình đƣợc thực hiện chi tiết nhƣ sau:

Bước 1: Người sử dụng dùng khóa công khai của người sở hữu CSDL Pkey để giải mã SD và nhận ảnh chứng thực R.

RPkey(SD)

Bước 2: Bước này giống như lấy đặc tính trên CSDL gốc mà dùng thuật toán băm MD5 [1] với tất cả các bản ghi (t) và nhận đƣợc Mi dài 128 bít. Và sau đó chia đôi Mi thành hai đoạn 64 bít bằng nhau. Đoạn 64 bít đầu

31

bi và 64 bít sau là fi. Thực hiện toán tử XOR giữa bifi để lấy giá trị Xi. Sau đó lấy phần dƣ của Xi chia cho 256 đƣợc Ci nằm giữa 0 và 255.

mod256 ) ( 5

i i

i i i

i i

X C

f b X

t MD M

 

 

 

 

Bước 3: Cho tới khi tất cả các đặc tính Ci đƣợc lấy và kết hợp chúng lại ta đƣợc C. Thực hiện toán tử XOR giữa Cvà R, nhận một thủy vân

M

W . Nếu người sử dụng có thể lấy được thủy vân hoàn chỉnh thì nó sẽ chứng minh tính toàn vẹn của CSDL.

Thuật toán:

Input: - Bảng dữ liệu T(bảng dữ liệu đƣợc công khai trên mạng Internet,...) có N bản ghi (N    NN ).

- Mã xác thực SD (được tạo ra trong bước Tạo mã xác thực, đƣợc công khai trên Internet,...)

- Khóa công khai Pkey .

Ouput: Bảng dữ liệu T có toàn vẹn dữ liệu hay không 1. RPkey(SD);

2. For i:= 1 To N Do

MMD5(ti) (độ dài của M là 128 bít);

b = Lấy 64 bít đầu của M; f = Lấy 64 bít sau của M;

f b

X   ; Ci = X mod 256;

3. Kết hợp tất cả các Ci ta đƣợc ma trận C;b 4. WMCR;

32

5. If (WMWM) Then return Dữ liệu T đƣợc toàn vẹn;

Else return

Dữ liệu T không đƣợc toàn vẹn;

Số lƣợng bản ghi đã bị thay đổi;

2.2.4. So sánh giữa hai thủy vân

Để xác định đƣợc CSDL (hoặc bảng dữ liệu) có bảo toàn đƣợc tính toàn vẹn hay không thì chúng ta phải so sánh giữa hai thủy vân. Do hai thủy vân này chính là các ảnh do vậy để so sánh giữa hai thủy vân này cách đơn giản nhất là chúng ta so sánh tương ứng từng phần tử một với nhau.

Thuật toán:

Input: Hai ảnh thủy vân WM và WM  có kích thước    NN

Ouput: Giống nhau là True, ngƣợc lại là False và đƣa ra số lƣợng bản ghi bị thay đổi

Giống nhau:= True;

Số lƣợng bản ghi bị thay đổi:= 0;

For i:= 1 To N Do

For j:= 1 To N Do

If (WMij WMij) Then Giống nhau:= False;

Số lƣợng bản ghi bị thay đổi ++;

Output Giống nhau và Số lƣợng bản ghi bị thay đổi;

33

Một phần của tài liệu Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân (Trang 35 - 42)

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

(58 trang)