Tải bản đầy đủ (.pdf) (65 trang)

Luận văn đảm bảo sự toàn vẹn của cơ sở dữ liệu quan hệ bằng thủy vân với cơ chế mù

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 65 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
======

TẠ THỊ HƢƠNG

ĐẢM BẢO SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU
QUAN HỆ BẲNG THỦY VÂN VỚI CƠ CHẾ MÙ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

HÀ NỘI, 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
======

TẠ THỊ HƢƠNG

ĐẢM BẢO SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU
QUAN HỆ BẲNG THỦY VÂN VỚI CƠ CHẾ MÙ
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: TS. LƢU THỊ BÍCH HƢƠNG

HÀ NỘI, 2018



i

LỜI CẢM ƠN
Trong thời gian thực hiện và nghiên cứu luận văn, tôi đã nhận được sự
giúp đỡ tận tình của các cơ quan, tổ chức, cá nhân. Tôi xin bày tỏ lòng cảm ơn
sâu sắc nhất tới các tập thể, cá nhân đã tạo điều kiện giúp đỡ tôi trong suốt
thời gian thực hiện và nghiên cứu luận văn.
Trước hết với lòng biết ơn chân thành sâu sắc nhất, tôi xin gửi lời cảm
ơn tới Cô giáo TS. Lƣu Thị Bích Hƣơng, người đã trực tiếp chỉ bảo, hướng
dẫn khoa học, người đã tận tình dạy dỗ và hướng dẫn tôi trong suốt quá trình
nghiên cứu, hoàn thành luận văn.
Tôi cũng xin được gửi lời cảm ơn tới các thầy giáo, cô giáo công tác tại
Viện công nghệ thông tin và Trường Đại học Sư phạm Hà Nội 2, những người
đã tận tình giảng dạy, truyền thụ cho tôi những kiến thức khoa học căn bản
trong quá trình học tập tại trường.
Vĩnh Phúc, ngày 30 tháng 10 năm 2018
Người thực hiện

Tạ Thị Hƣơng


ii

LỜI CAM ĐOAN
Tôi xin cam đoan đây là đây là bài nghiên cứu của riêng tôi dưới sự
hướng dẫn khoa học của TS. Lưu Thị Bích Hương. Các nội dung nghiên cứu,
kết quả đều là trung thực và chưa được công bố dưới bất kì hình thức nào
trước đây.
Ngoài ra, trong khóa luận có sử dụng các cơ sở lý thuyết đều có trích
dẫn và chú thích nguồn gốc.

Vĩnh Phúc, ngày 30 tháng 10 năm 2018
Người thực hiện

Tạ Thị Hƣơng


iii

DANH MỤC CÁC HÌNH VẼ, BẢNG
Hình 1.1. Sơ đồ biểu diễn quá trình giấu tin ..................................................... 9
Hình 1.2. Sơ đồ biểu diễn quá trình giải mã ................................................... 10
Hình 1.3. Phân loại kỹ thuật giấu tin ............................................................... 11
Hình 1.4. Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ ...................... 17
Bảng 2.1: Ảnh hưởng của tham số g và kích thước quan hệ .......................... 39
Hình 3.1. Biểu đồ use case .............................................................................. 47
Hình 3.2. Biểu đồ trình tự use case nhúng thủy vân ....................................... 48
Hình 3.3. Biểu đồ trình tự use case phát hiện thủy vân .................................. 48
Hình 3.4. Giao diện cấu hình kết nối cơ sở dữ liệu ........................................ 49
Hình 3.5. Giao diện thuật toán nhúng thủy vân .............................................. 50
Hình 3.6. Giao diện của thuật toán phát hiện thủy vân ................................... 51
Hình 3.7. Giao diện kết nối cơ sở dữ liệu ....................................................... 52
Bảng 3.1. Tấn công thông thường trên cơ sở dữ liệu ...................................... 53
Hình 3.8. Kết quả nhúng thủy vân với dữ liệu thử nghiệm ............................ 54
Hình 3.9. Kết quả phát hiện thủy vân với dữ liệu bị sửa đổi .......................... 54
Hình 3.10. Kết quả phát hiện thủy vân với dữ liệu không bị sửa đổi ............. 55


iv

MỤC LỤC

MỞ ĐẦU ........................................................................................................... 1
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT................................................................ 4
1.1.

Hàm Hash ........................................................................................... 4

1.1.1.

Khái niệm hàm hash ..................................................................... 4

1.1.2.

Tính chất của hàm hash ................................................................ 4

1.1.3.

Hàm hash mật mã MD5 ............................................................... 4

1.2.

Khái niệm cơ sở dữ liệu ..................................................................... 5

1.2.1.

Dữ liệu .......................................................................................... 5

1.2.2.

Cơ sở dữ liệu ................................................................................ 6


1.2.3.

Mô hình dữ liệu quan hệ .............................................................. 6

1.3.

Giấu tin ............................................................................................... 8

1.3.1.

Khái niệm giấu tin ........................................................................ 8

1.3.2.

Các kỹ thuật giấu tin .................................................................. 10

1.3.3.

Mục đích của giấu thông tin ....................................................... 12

1.3.4.

Môi trường giấu tin .................................................................... 13

1.4.

Thủy vân cơ sở dữ liệu ..................................................................... 15

1.4.1.


Thủy vân..................................................................................... 15

1.4.2.

Thủy vân cơ sở dữ liệu quan hệ ................................................. 16

1.4.3.

Khóa thủy vân ............................................................................ 17

1.4.4.

Yêu cầu của hệ thống nhúng thủy vân ....................................... 17

1.4.5.

Các loại thủy vân số ................................................................... 18

1.4.6.

Một số kỹ thuật thường sử dụng ................................................ 19

1.4.7.

Ứng dụng của thủy vân .............................................................. 20

CHƢƠNG 2. LƢỢC ĐỒ THỦY VÂN ĐẢM BẢO SỰ TOÀN VẸN CƠ
SỞ DỮ LIỆU ................................................................................................... 22



v

2.1. Đặt vấn đề .............................................................................................. 22
2.2. Phân nhóm quan hệ................................................................................ 23
2.3. Nhúng thủy vân...................................................................................... 27
2.4. Thuật toán phát hiện thủy vân ............................................................... 32
2.5. Đánh giá lược đồ thủy vân..................................................................... 37
2.5.1. Ưu điểm và nhược điểm của lược đồ thủy vân ............................... 37
2.5.2. Cân đối giữa số nhóm và kích thước của quan hệ .......................... 38
2.5.3. Tính dừng và độ phức tạp của thuật toán ........................................ 39
2.5.4. Tính đúng đắn của lược đồ thủy vân ............................................... 43
CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG .................... 46
3.1. Phát biểu bài toán................................................................................... 46
3.2. Giải quyết bài toán ................................................................................. 47
3.2.1. Phân tích bài toán ............................................................................ 47
3.2.2. Giao diện thuật toán nhúng thủy vân .............................................. 50
3.2.3. Giao diện thuật toán phát hiện thủy vân.......................................... 50
3.2.4. Giao diện của phần cấu hình ........................................................... 51
3.3. Đánh giá và thử nghiệm ......................................................................... 52
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN .................................................... 56
TÀI LIỆU THAM KHẢO ............................................................................. 58


1

MỞ ĐẦU
1. Lý do chọn đề tài
Cơ sở dữ liệu là một trong những lĩnh vực được tập trung nghiên cứu và
phát triển của CNTT, nhằm giải quyết các bài toán quản lý, tìm kiếm thông
tin trong những hệ thống lớn, đa dạng, phức tạp cho nhiều người sử dụng trên

máy tính điện tử. Cùng với sự ứng dụng mạnh mẽ CNTT vào đời sống xã hội,
kinh tế, quốc phòng,… Việc nghiên cứu cơ sở dữ liệu đã và đang ngày càng
phát triển. Năm 1970, E.F. Codd đã đề xuất ra mô hình dữ liệu quan hệ với
cấu trúc hoàn chỉnh đã tạo lên cơ sở toán học cho các vấn đề nghiên cứu cơ sở
dữ liệu.
“Thời đại của công nghệ thông tin” là câu nói mà ngày nay thường hay
gặp mỗi khi nói về xã hội bởi công nghệ thông tin phát triển quá nhanh và lan
rộng trên toàn thế giới. Việt Nam là một trong những nước phát triển nhanh
nhất về Công nghệ thông tin. Theo Damio (công ty chuyên thực hiện các
thống kê và đánh giá về thông tin kỹ thuật số, di động và các lĩnh vực liên
quan), tính đến tháng 1 năm 2017, Việt Nam có 50,05 triệu người dùng
Internet chiếm 53% dân số. Số người dùng Internet được xem là ở mức cao
nhất trên thế giới.
Internet là một hệ thống thông tin toàn cầu có thể truy nhập công cộng
gồm các mạng máy tính được liên kết với nhau. Internet mang lại rất nhiều
tiện ích cho người sử dụng như: Công cụ tìm kiếm, gửi thư điện tử, trò chuyện
trực tuyến, y tế, giáo dục dịch vụ thương mại,… chỉ cần máy có kết nối mạng
thì nguồn thông tin khổng lồ luôn sẵn sàng cung cấp cho người dùng mọi lúc
mọi nơi.
Và cũng như mọi quy luật tự nhiên, mọi sự tốt đẹp luôn đi kèm theo
mặt trái của nó. Thông tin, dữ liệu dễ tìm thấy đồng nghĩa với dễ bị ăn cắp
bản quyền, truy cập trái phép, nhiều nguồn đưa ra thông tin sai lệch, mất đi


2

tính đúng đắn của thông tin…. Vì vậy, vấn đề bảo vệ bản quyền và đảm bảo
sự toàn vẹn của cơ sở dữ liệu là những vấn đề nóng đang được xã hội quan
tâm nhiều hơn cả.
Xây dựng một chương trình nhằm đáp ứng nhu cầu đảm bảo sự toàn vẹn

của dữ liệu đánh giá kết quả học tập của học sinh tại đơn vị công tác là mục
tiêu để em thực hiện công trình nghiên cứu của mình.
Xuất phát từ những lí do đó, em đã lựa chọn đề tài: “Đảm bảo sự toàn
vẹn của cơ sở dữ liệu quan hệ bằng thủy vân với cơ chế mù” để làm luận
văn thạc sĩ.
2. Mục đích nghiên cứu
Nghiên cứu tổng quan về thủy vân và lược đồ thủy vân với dữ liệu văn
bản để đảm bảo sự toàn vẹn cho cơ sở dữ liệu quan hệ, từ đó xây dựng
chương trình thử nghiệm để đảm bảo sự toàn vẹn cho dữ liệu của học sinh về
kiểm tra đánh giá theo thông tư số 22/2016 trường Tiểu học Đại Đồng.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu tổng quan về thủy vân.
- Lược đồ thủy vân dữ liệu văn bản để đảm bảo sự toàn vẹn cho cơ sở
dữ liệu quan hệ.
- Cài đặt chương trình ứng dụng và thử nghiệm.
4. Đối tƣợng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Lược đồ thủy vân cơ sở dữ liệu quan hệ.
- Phạm vi nghiên cứu: Kỹ thuật thủy vân với cơ chế mù để đảm bảo sự
toàn vẹn của cơ sở dữ liệu.
5. Phƣơng pháp nghiên cứu
Phương pháp nghiên cứu lý luận: Nghiên cứu qua việc đọc sách, báo và
các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của luận văn và các biện
pháp cần thiết để giải quyết các vấn đề của luận văn.


3

Phương pháp nghiên cứu thực nghiệm: Thông qua thực tế và những
nghiên cứu, xây dựng chương trình cụ thể để kiểm chứng hiệu quả.
6. Bố cục luận văn

Ngoài phần mở đầu, kết luận và hướng phát triển, tài liệu tham khảo,
luận văn gồm 3 chương:
Chương 1: Cơ sở lý thuyết.
Chương 2: Lược đồ thủy vân đảm bảo sự toàn vẹn cơ sở dữ liệu.
Chương 3: Xây dựng chương trình ứng dụng.


4

CHƢƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Hàm Hash
1.1.1. Khái niệm hàm hash
Hàm hash là một hàm ánh xạ một dữ liệu có độ dài thay đổi thành một
dữ liệu có độ dài cố định.
1.1.2. Tính chất của hàm hash
Ở đây, không có một định nghĩa hình thức bao trùm tất cả các tính chất
mong muốn của một hàm hash mật mã học. Các tính chất được nêu ra ở đây
được coi là yêu cầu tiên quyết:
- Tính chất không có ngược: Cho trước h việc tìm m sao cho h = hash(m) là
rất khó.
- Tính chất đơn ánh: Cho thông điệp m1, việc tìm một thông điệp m2 (khác
m1) sao cho hash(m1) = hash(m2) là rất khó.
Một số hàm hash mật mã hay được sử dụng:
-

MD4

-

MD5


-

SHA

1.1.3. Hàm hash mật mã MD5
MD5 (Message-Digest algorithm 5) là một hàm hash để mã hóa với giá
trị hash là 128 bit. Từng được xem là một chuẩn trên Internet, MD5 đã được
sử dụng rộng rãi trong các chương trình an ninh mạng, và cũng thường được
dùng để kiểm tra tính nguyên vẹn của tập tin.
Thuật toán nhận vào một thông điệp độ dài tùy ý và tạo ra một số 128
bit, là một dạng “vân tay” hay “mã số thông điệp“ của đầu vào. Người ta cho
rằng sẽ không khả thi về mặt tính toán để tạo ra 2 thông điệp có cùng mã số
thông điệp, hoặc tạo ra một thông điệp với mã số cho trước.


5

Thuật toán MD5 được thiết kế để chạy tương đối nhanh trên các máy
32 bit, có thể được thực hiện một cách khá gọn.
Thuật toán MD5 được dự tính áp dụng cho những ứng dụng chữ ký
điện tử, ở đó một file lớn phải được “nén” một cách an toàn trước khi mã hóa
với một khóa cá nhân (private key) dưới một hệ mã hóa công khai như RSA.
MD5 được sử dụng rộng rải trong thế giới phần mềm để đảm bảo tính
xác thực. Người sử dụng có thể so sánh giữa thông số kiểm tra phần mềm
bằng MD5 được công bố với thông số kiểm tra phần mềm tải về bằng MD5.
Hệ điều hành Unix sử dụng MD5 để kiểm tra các gói mà nó phân phối, trong
khi hệ điều hành Windows sử dụng phần mềm của hãng thứ ba.
MD5 được dùng để mã hóa mật khẩu. Mục đích của việc mã hóa này là
biến đổi một chuổi mật khẩu thành một đoạn mã khác, sao cho từ đoạn mã đó

không thể nào lần trở lại mật khẩu. Có nghĩa là việc giải mã là không thể hoặc
phải mất một khoảng thời gian vô tận (đủ để làm nản lòng các hacker).
1.2. Khái niệm cơ sở dữ liệu
1.2.1. Dữ liệu
Dữ liệu (data) là các thông tin của đối tượng (người, vật, một khái
niệm, sự việc…) được lưu trữ trên máy tính.
Dữ liệu được mô tả dưới nhiều dạng khác nhau: Các ký tự, hình ảnh, ký
hiệu, âm thanh…. Mỗi cách mô tả gắn với một ngữ nghĩa nào đó.
Dữ liệu về đối tượng khác nhau có thể khác nhau, tùy thuộc vào ngữ
cảnh.
Ví dụ: Dữ liệu về nhân viên trong 1 công ty có thể sẽ khác nhau tùy
thuộc vào mục đích quản lý:
- Quản lý nhân thân: Mã nhân viên, họ và tên, giới tính, ngày sinh,
quê quán.
- Quản lý lương: Mã sinh viên, hệ số lương, phụ cấp, tổng lương.


6

1.2.2. Cơ sở dữ liệu
Cơ sở dữ liệu (database) là một hệ thống các thông tin có cấu trúc được
lưu trữ trên các thiết bị lưu trữ thứ cấp (băng từ, đĩa từ…) nhằm thỏa mãn yêu
cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương
trình ứng dụng với nhiều mục đích khác nhau.
Một cơ sở dữ liệu sẽ biểu diễn một phần thực tế cuộc sống của chúng
ta.
Ví dụ: Tạo lập một cơ sở dữ liệu để quản lý thông tin của nhân viên ở
phòng hành chính nhân sự trong công ty:
Mã NV Họ tên


Giới tính

Ngày sinh

Địa chỉ

NV001 Nguyễn Tuấn Anh

Nam

14/09/1982

Hà Nội

NV002 Trần Bảo Anh

Nữ

12/08/1989

Hà Nội

NV003 Trần Văn Hoàn

Nam

09/08/1987

Bắc Giang


NV004 Nguyễn Văn Nam

Nam

24/07/1990

Vĩnh Phúc

NV005 Khổng Duy Trung

Nam

03/04/1987

Hưng Yên

NV006 Hoàng Thị Oanh

Nữ

17/07/1990

Hà Nội

NV007 Nguyễn Yến

Nữ

19/12/1989


Hà Nội

Có thể thấy, cơ sở dữ liệu được cấu trúc một cách rõ ràng, có cấu trúc
hệ thống nhất định. Như ở ví dụ trên, cơ sở dữ liệu có hệ thống dưới dạng
bảng, trong bảng bao gồm các hàng và các cột. Khi dữ liệu được tổ chức theo
cơ sở dữ liệu sẽ giúp con người dễ quản lý hơn.
1.2.3. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (được gọi tắt là mô hình quan hệ) được E. F.
Codd đề xuất lần đầu tiên vào năm 1970 và hiện nay, mô hình này được áp
dụng rất phổ biến khi xây dựng cơ sở dữ liệu.


7

Mô hình dữ liệu quan hệ là một tập hợp các khái niệm, dùng để mô tả
cấu trúc dữ liệu, các thao tác dữ liệu, các ràng buộc dữ liệu của một cơ sở dữ
liệu.
Đối với các cơ sở dữ liệu xây dựng dựa trên mô hình dữ liệu quan hệ:
- Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng, mỗi bảng lại
bao gồm các hàng và cột thể hiện thông tin về một chủ thể nào đó.
- Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu: Thêm, sửa, xóa.
- Về mặt ràng buộc dữ liệu: Dữ liệu trong một bảng phải thỏa mãn một
số ràng buộc.
Trong mô hình cơ sở dữ liệu có một số thành phần cơ bản mà khi xây
dựng nó, ta cần phân biệt rõ:
- Thực thể: Là đối tượng có trong thế giới thực mà chúng ta cần mô tả
đặc trưng của nó.
- Thuộc tính: Mỗi tính chất đặc trưng của thực thể chính là thuộc tính.
- Ràng buộc: Là các mối quan hệ logic của các thực thể.
Có một số các mô hình cơ sở dữ liệu sau:

- Mô hình dữ liệu file phẳng (Flat file): Mô hình này thường được sử
dụng cho các cơ sở dữ liệu đơn giản, thường là file kiểu văn bản chứa dữ liệu
dạng bảng.
- Mô hình dữ liệu mạng (Network model): Được biểu diễn bằng các đồ
thị có hướng và các mũi tên sẽ theo chiều chỉ từ kiểu thực thể cha sang con.
Ưu điểm của mô hình này có thể biểu diễn các ngữ nghĩa đa dạng với kiểu
bản ghi và kiểu móc nối, truy vấn thông tin thông qua phép duyệt đồ thị. Tuy
nhiên, nó có tốc độ truy xuất chậm và không thích hợp với các cơ sở dữ liệu
có quy mô lớn.
- Mô hình dữ liệu phân cấp (Hierarchical model): Được biểu diễn theo
hình cây, mỗi nút của cây biểu diễn một thực thể. Nút cha có thể có nhiều nút


8

con nhưng mỗi nút con chỉ có duy nhất một nút cha. Mô hình dữ liệu này có
thể có các kiểu quan hệ 1 – 1, 1 – N. Bởi các nút con không thể có quá một
nút cha nên không biểu diễn được các quan hệ phức tạp.
- Mô hình dữ liệu quan hệ (Relational model): Được biểu diễn dưới
dạng bảng nên mô hình này không có các liên kết vật lý. Các dữ liệu được tập
hợp lại vào các bảng, trong bảng có các hàng và cột. Dữ liệu trong các bảng
liên kết với nhau thông qua các cột chung và có các toán tử để thao tác trên
bảng. Ưu điểm của mô hình này là ở khả năng tối ưu hóa các xử lý phong phú
nhưng cấu trúc dữ liệu không được linh hoạt.
- Mô hình dữ liệu hướng đối tượng (Object-Oriented model): Biểu diễn
theo sơ đồ lớp. Cơ sở dữ liệu sẽ bao gồm các đối tượng, mỗi đối tượng lại bao
gồm các thuộc tính, phương thức của đối tượng. Các đối tượng trao đổi với
nhau thông qua các phương thức và một đối tượng có thể được sinh ra từ việc
kế thừa của đối tượng khác. Mô hình này cho phép ta định nghĩa các kiểu đối
tượng phức tạp đồng nghĩa với cấu trúc lưu trữ phức tạp và có thể sử dụng

nhiều con trỏ, khả năng tối ưu hóa cũng bị hạn chế trong một số trường hợp
cụ thể.
1.3. Giấu tin
1.3.1. Khái niệm giấu tin
Không phải đến nay, khi thông tin được phát tán tràn lan trên mạng
người ta mới nghĩ đến việc làm sao để bảo vệ những thông tin ấy mà từ xưa,
con người đã có cách làm là mã hóa để bảo vệ thông tin. Mã hóa thông tin là
biến đổi thông tin dễ hiểu (hiển thị rõ ràng, có thể đọc được, có thể hiểu được)
thành thông tin dưới dạng bí mật (khó thể hiểu được vì chỉ nhìn thấy những kí
hiệu rời rạc vô nghĩa) [1].
Có rất nhiều hệ mã hóa từ đơn giản cho đến phức tạp đã được sử dụng
như: Hệ mã hóa đối xứng – cổ điển, hệ mã hóa dịch chuyển, hệ mã hóa thay


9

thế, hệ mã hóa AFFINE, hệ mã hóa VIGENERE, hệ mã hóa HILL, DES,
RSA, Elgamal…. Tuy nhiên, thông tin mã hóa dễ bị phát hiện vì chúng có
hình dạng đặc biệt, khi đó tin tặc sẽ tìm mọi cách để xác định bản rõ.
Khắc phục điểm yếu này, phương pháp giấu tin đã và đang được nghiên
cứu, ứng dụng trên nhiều nước trên thế giới. Giấu thông tin (steganography)
là giấu thông tin này vào trong một thông tin khác, thông tin được giấu
(nhúng) vào bên trong một thông tin khác. Giấu tin giống như ta đã “ngụy
trang” cho thông tin, không gây cho tin tặc sự nghi ngờ và đương nhiên không
làm ảnh hưởng đến dữ liệu gốc.

Thông tin

Phân phối
Phương tiện

chứa

Bộ
nhúng
thông tin

Phương
tiện chứa
đã được
dấu tin

Khóa

Hình 1.1. Sơ đồ biểu diễn quá trình giấu tin


10

Thông tin

Phương tiện
chứa đã
được dấu tin

Bộ
nhúng
thông tin

Thông tin giấu


Phương tiện
chứa
(Audio, ảnh,
video)

Kiểm
định

Hình 1.2. Sơ đồ biểu diễn quá trình giải mã
Trong đó:
+ Thông tin: Căn cứ vào mục đích của người dùng, thông tin ở đây có
thể là hình ảnh, thông điệp.
+ Phương tiện chứa: Là môi trường để giấu tin như: Ảnh, video,
audio…
+ Bộ nhúng thông tin: Các chương trình thực hiện hoạt động giấu tin.
+ Khóa: Tham gia vào quá trình giấu tin để tăng thêm tính bảo mật.
+ Kiểm định: Kiểm tra thông tin sau khi được giải mã.
1.3.2. Các kỹ thuật giấu tin
Do kỹ thuật giấu tin mới phát triển gần đây nên xu hướng phát triển còn
chưa ổn định, bởi vậy nhiều phương pháp mới vẫn đang được đề xuất. Fabien
A. P. Petitcolas đã đề xuất sơ đồ phân loại sau đây vào năm 1999:


11

Hình 1.3. Phân loại kỹ thuật giấu tin
Dựa vào cách phân loại trên, có thể chia giấu tin làm hai hướng lớn:
Giấu tin bí mật và nhúng thủy vân.
Giấu tin bí mật che giấu các bản tin đòi hỏi độ bí mật và dung lượng
càng lớn càng tốt.

Thủy vân lại liên quan đến việc che giấu các mẩu tin ngắn nhưng đòi
hỏi độ bền vững lớn của thông tin cần giấu trước các biến đổi thông thường
của tệp dữ liệu môi trường. Quá trình phân loại có thể tiếp tục được thực hiện
theo các tiêu chí khác, ví như dựa theo ảnh hưởng của các tác động từ bên
ngoài có thể chia thủy vân thành hai loại, một loại bền vững với các tác động
sao chép trái phép, loại thứ hai lại cần tính chất hoàn toàn đối lập, dễ bị phá
hủy trước các tác động nói trên. Các thành tựu đã đạt được trong nghiên cứu
này bắt đầu được áp dụng hiệu quả cho mục đích bảo vệ bản quyền, chống


12

sao chép và nhiều mục đích khác. Các phương pháp giấu tin khác nhau đều có
ưu nhược điểm khác nhau phù hợp với từng loại ứng dụng nào đó.
1.3.3. Mục đích của giấu thông tin
Bảo mật thông tin bằng giấu tin có hai mục đích chính:
- Bảo vệ thông tin cần giấu. Ví dụ: Giấu tin mật: Giấu thông tin mật
vào một thông tin khác sao cho người ta khó phát hiện ra thông tin mật đó.
- Bảo vệ chính môi trường cần giấu tin: Giấu tin vào một thông tin
khác, nhằm bảo vệ chính đối tượng được dùng để giấu tin vào. Tin được giấu
có vai trò như con dấu hay chữ kí dùng để xác thực (chứng nhận) thông tin (là
môi trường giấu tin). Một số ứng dụng đang được triển khai như:
+ Bảo vệ bản quyền tác giả (copyright protection): Là ứng dụng cơ bản
nhất của kỹ thuật thủy vân. Một thông tin nào đó mang ý nghĩa quyền sở
hữu tác giả sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ
người chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh
chứng cho bản quyền sản phẩm. Việc nhúng thủy vân này phải đảm bảo
không để lại một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm. Yêu
cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng
với sản phẩm, nếu muốn bỏ thủy vân này phải được sự cho phép của chủ

sở hữu.
+ Xác thực thông tin và phát hiện xuyên tạc thông tin: Một tập thông tin
sẽ được giấu trong phương tiện chứa, sau đó sẽ được sử dụng để nhận
biết dữ liệu trên phương tiện gốc có bị thay đổi hay không. Các thủy vân
nên được ẩn để tránh sự tò mò của đối phương. Yêu cầu chung đối với
ứng dụng này là khả năng giấu thông tin cao và thủy vân không cần bền
vững.
+ Dấu vân tay hay dán nhãn: Thủy vân ở đây được sử dụng để nhận diện
người gửi hay người nhận một thông tin nào đó. Yêu cầu của ứng dụng


13

này là đảm bảo độ an toàn cao cho các thủy vân, tránh khả năng xóa dấu
vết trong khi phân phối.
+ Điều khiển truy cập: Các thiết bị phát hiện thủy vân được gắn sẵn vào
trong các hệ thống đọc ghi, tùy thuộc vào việc có thủy vân hay không để
điều khiển (cho phép/cấm) truy cập. Ví dụ hệ thống quản lý sao chép
DVD đã được ứng dụng ở Nhật.
+ Giấu tin bí mật: Các thông tin giấu được trong những trường hợp này
càng nhiều càng tốt. Việc giải mã để nhận được thông tin cũng không
cần phương tiện chứa gốc.
1.3.4. Môi trƣờng giấu tin
1.3.4.1. Giấu tin trong ảnh
Hiện nay, giấu tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong
các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương
tiện do lượng thông tin được trao đổi bằng ảnh là rất lớn. Thông tin sẽ được
giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và không ai biết
được rằng sau ảnh đó mang những thông tin có ý nghĩa. Cách làm này đem lại
nhiều những ứng dụng quan trọng trên nhiều lĩnh vực đời sống xã hội. Ví dụ

đối với các nước phát triển, chữ ký tay được số hóa và lưu trữ sử dụng như hồ
sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để xác thực
trong các thẻ tín dụng của người tiêu dùng. Microsoft cũng thực hiện kỹ thuật
giấu tin sử dụng ảnh nhị phân làm môi trường giấu tin. Với phần mềm
Winword, người dùng lưu trữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó
trong file văn bản để đảm bảo tính an toàn của thông tin. Tài liệu sau đó được
truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng. Tin tặc là một vấn
nạn đối với tất cả các quốc gia trên thế giới, từ những thông tin đơn giản đến
các thông tin phức tạp gắn liền quốc gia như: Tài chính, an ninh, y tế thường
được lưu trữ trên máy tính. Bởi vậy chúng càng dễ bị lấy cắp và nếu điều đó


14

xảy ra sẽ có ảnh hưởng rất lớn. Giấu tin trong ảnh có đặc điểm là thông tin
giấu trong ảnh một cách vô hình, chất lượng ảnh gần như không thay đổi đặc
biệt đối với ảnh màu hay ảnh xám. Vì vậy, tin tặc thường không đề phòng và
một khi có dấu hiệu bị đánh cắp sẽ nhanh được phát hiện, giảm thiểu tổn thất
lớn nhất có thể.
1.3.4.2. Giấu tin trong âm thanh
Giấu tin trong âm thanh khác với giấu tin trong các đối tượng đa
phương tiện khác. Cách giấu tin này đương nhiên cũng phải đảm bảo được
yêu cầu cơ bản của giấu tin đó là đảm bảo tính chất ẩn của thông tin được
giấu đồng thời không ảnh hưởng đến chất lượng của dữ liệu gốc. Các phương
pháp giấu tin trong âm thanh thường lợi dụng điểm yếu trong hệ thống thính
giác của con người. Thính giác của con người có thể nghe được các tín hiệu ở
các dải tần rộng và công suất lớn nên gây khó khăn trong việc giấu tin trong
âm thanh. Nhưng hệ thống thính giác lại kém phát hiện sự khác biệt các dải
tần và công suất, điều này có nghĩa các âm thanh to, cao tần có thể che giấu
được các âm thanh nhỏ, thấp một cách dễ dàng. Điểm yếu này giúp ích cho

việc chọn các âm thanh thích hợp cho việc giấu tin. Tuy nhiên, khó khăn ở
phương pháp này còn ở chỗ kênh truyền hay băng thông chậm sẽ ảnh hưởng
đến việc giấu tin. Giấu tin trong âm thanh đòi hỏi yêu cầu cao về tính đồng bộ
và tính an toàn của thông tin.
1.3.4.3. Giấu tin trong video
Giấu tin trong video cũng được quan tâm và phát triển mạnh mẽ cho
nhiều ứng dụng như điều khiển truy cập thông tin, xác thực thông tin và bảo
vệ bản quyền tác giả. Ví dụ các hệ thống chương trình trả tiền xem theo đoạn
với các đoạn phim. Các kỹ thuật giấu tin trong video cũng được phát triển
mạnh mẽ theo hai khuynh hướng là thủy vân số và giấu thông tin. Một
phương pháp giấu tin trong video được Cox đưa ra là phương pháp phân bố


15

đều. Ý tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải
theo tần số của dữ liệu gốc.
1.3.4.4. Giấu tin trong dạng văn bản text
Để có thể giấu tin vào một văn bản text là việc không hề dễ dàng bởi
trong các văn bản này, các thông tin dư thừa không nhiều. Cách giấu thông tin
thường thấy nhất trong văn bản text như: Có thể giấu tin vào chính khoảng
trắng giữa các từ hoặc giữa các dòng văn bản.
Giấu tin là một công nghệ phức tạp và đang được đi sâu nghiên cứu tại
nhiều nước trên thế giới, tuy nhiên, để ứng dụng thực tế dễ dàng hơn thì cần
phải có thêm thời gian nhưng nhiều nhà khoa học cũng đã khẳng định đây là
một công nghệ mới đầy hứa hẹn cho vấn đề an toàn và bảo mật thông tin. Một
trong những kĩ thuật quan trọng của giấu tin đang được phát triển nhất là kỹ
thuật thủy vân.
1.4. Thủy vân cơ sở dữ liệu
1.4.1. Thủy vân

Thủy vân là kỹ thuật đánh dấu chìm một hình ảnh, một logo hay một dữ
liệu nào đó lên trên giấy nhằm mục đích trang trí và phân biệt được xuất xứ
của sản phẩm giấy. Do đó, thông tin cần giấu được gọi là thủy vân.
Có hai loại thủy vân: Thủy vân bền vững và thủy vân dễ vỡ.
- Thủy vân bền vững (Robust Watermarking): Là thủy vân tồn tại bền
vững cùng với dữ liệu, không dễ dàng bị phá hủy trước những biến đổi, tấn
công dữ liệu. Kỹ thuật này thường được ứng dụng trong việc bảo vệ bản
quyền. Trong thủy vân bền vững cũng được chia ra làm hai loại:
+ Thủy vân ẩn (Visible Watermarking): Đã là ẩn thì mắt thường của
con người không thể nào nhìn thấy hay phát hiện ra thủy vân trong trường
hợp này.


16

+ Thủy vân hiện (Imperceptible Watermarking): Ngược lại với thủy
vân ẩn, kỹ thuật này thể hiện rõ trên sản phẩm và đương nhiên chúng ta có thể
dùng mắt thường cũng phát hiện ra.
- Thủy vân dễ vỡ (Fragile Watermarking): Là thủy vân dễ bị biến đổi
trước những biến đổi, tác động tấn công lên dữ liệu. Các kỹ thuật này thường
được dùng trong các ứng dụng nhận thực thông tin, đảm bảo sự toàn vẹn dữ
liệu.
1.4.2. Thủy vân cơ sở dữ liệu quan hệ
Thủy vân cơ sở dữ liệu quan hệ là một kỹ thuật nhúng một số thông tin
nào đó vào cơ sở dữ liệu quan hệ nhằm mục đích bảo vệ bản quyền hoặc đảm
bảo sự toàn vẹn của cơ sở dữ liệu này. Thủy vân có thể ở dạng ẩn hoặc hiện
và có thể là bền vững hoặc dễ vỡ. Ví dụ dữ liệu về thời tiết, dữ liệu về y học,
khoa học cùng sử dụng phương pháp này. Việc nhúng thủy vân vào dữ liệu
quan hệ có thể được thực hiện trong thực tế và các dữ liệu thật có thể chấp
nhận một dung sai nhỏ mà vẫn không ảnh hưởng đáng kể đến giá trị sử dụng

của chúng. Sau đây là sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu cơ bản:

Khóa K

Cơ sở
dữ liệu
gốc

Nhúng
thủy vân

Thông tin thủy vân (W)

Cơ sở dữ liệu đã
nhúng thủy vân


17

Khóa K

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

Cơ sở dữ liệu
nghi ngờ

Khẳng định đúng
hoặc sai


Thông tin thủy vân (W)

Hình 1.4. Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ
1.4.3. Khóa thủy vân
Khóa thủy vân là một lượng dữ liệu do chủ sở hữu cơ sở dữ liệu lựa
chọn và nhằm mục đích xác định thủy vân trong lược đồ thủy vân. Ký hiệu là
K. Với khóa K đã có, ta sẽ kết hợp với thủy vân W để nhúng vào cơ sở dữ
liệu. Khóa thủy vân chính là mấu chốt của lược đồ thủy vân cơ sở dữ liệu có
sử dụng khóa thủy vân.
Khóa thủy vân sẽ được nhúng vào cơ sở dữ liệu quan hệ bằng nhiều
cách. Tuy nhiên, việc chúng ta giấu nó như thế nào để không bị phát hiện mà
lại chứng minh được đây là cơ sở dữ liệu của mình mới là điều quan trọng
nhất. Hiện nay, khóa thủy vân thường được giấu vào trong thuật toán để sử
dụng.
1.4.4. Yêu cầu của hệ thống nhúng thủy vân
Khả năng có thể phát hiện: Chủ dữ liệu cần có khả năng phát hiện
thủy vân bằng cách xem xét v bộ từ cơ sở dữ liệu nghi ngờ. Nếu chủ sở hữu
phát hiện mẫu thủy vân chỉ có mặt ở ít nhất là

bộ ( < v), trong đó

phụ

thuộc vào v và một giá trị α cho trước, được gọi là mức ý nghĩa của phép
thử. Giá trị của

được xác định sao cho xác suất để chủ sở hữu sẽ tìm thấy


18


mẫu thủy vân của mình trong ít nhất bộ từ v bộ là nhỏ hơn α thì chủ sở hữu
có cơ sở để ngờ vực, còn nếu thủy vân có ở tất cả v bộ thì lý do quá rõ ràng
để nghi ngờ có sự sao chép trái phép.
Tính bền vững và dễ vỡ: Các thủy vân cần phải bền vững trước những
tấn công nhằm xóa bỏ. Ngược lại, trong các lược đồ thủy vân dễ vỡ, khi có
bất kỳ tấn công nào lên dữ liệu thì các thủy vân không còn nguyên vẹn.
Khả năng cập nhật dữ liệu: Khi chủ sở hữu thêm/bớt các bộ hoặc sửa
đổi các giá trị của các thuộc tính của r, thủy vân cần phải có khả năng cập
nhật trên những phần gia tăng. Tức là, các giá trị thủy vân chỉ phải tính toán
lại đối với các bộ được thêm vào hoặc bị sửa đổi.
Tính ẩn và hiện: Với thuỷ vân ẩn, dữ liệu sau khi thủy vân không dễ
nhận thấy được bằng mắt thường của con người (trừ chủ dữ liệu). Sự thay đổi
do các dấu hiệu thuỷ vân gây ra cho dữ liệu quan hệ không được làm giảm giá
trị sử dụng của cơ sở dữ liệu. Tuy nhiên, với thủy vân có tính hiện lại dễ dàng
nhận thấy bằng mắt thường hoặc bằng một số phương pháp kiểm tra. Tính
hiện của dữ liệu cũng có thể giúp cho việc dễ vỡ của thủy vân khi có bất kỳ
tấn công nào trên dữ liệu được nhúng.
Tính phát hiện mù: Việc phát hiện thuỷ vân không đòi hỏi các thông tin
về cơ sở dữ liệu gốc và cả thuỷ vân gốc được gọi là phát hiện mù. Tính chất
này cho phép phát hiện thuỷ vân trong bản sao của quan hệ cơ sở dữ liệu cho
dù quan hệ gốc đã được cập nhật. Để phát hiện mù đối với cơ sở dữ liệu thì
một số thông số liên quan đến chủ sở hữu vẫn cần thiết để chứng minh cơ sở
dữ liệu thuộc quyền sở hữu hoặc chứng minh tính toàn vẹn của cơ sở dữ liệu.
1.4.5. Các loại thủy vân số
Thủy vân số được chia thành nhiều loại khác nhau trong đó có: Thủy
vân không mù (non – blind), thủy vân bán mù (semi-blind) và thủy vân mù
(blind). Cách chia này dựa trên các yêu cầu về tách và phát hiện thủy vân.



×