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

Luận văn dựa vào thông tin thủy vân để bảo vệ bản quyền cơ sở dữ liệu quan hệ

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.27 MB, 64 trang )

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

DƢƠNG THỊ LÊ

DỰA VÀO THÔNG TIN THỦY VÂN ĐỂ BẢO VỆ
BẢN QUYỀN CƠ SỞ DỮ LIỆU QUAN HỆ

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
======

DƢƠNG THỊ LÊ

DỰA VÀO THÔNG TIN THỦY VÂN ĐỂ BẢO VỆ
BẢN QUYỀN CƠ SỞ DỮ LIỆU QUAN HỆ

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


LỜI CẢM ƠN
Trong thời gian làm luận văn, em đã nhận đƣợc rất nhiều sự giúp đỡ tận
tình của các thầy cô và các tổ chức có liên quan để em hoàn thành đề tài của
mình.
Em xin chân thành cảm ơn TS. Lƣu Thị Bích Hƣơng, cô đã hƣớng dẫn
và giúp đỡ trong suốt quá trình em tìm hiểu, xây dựng và triển khai luận văn
này.
Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo Trƣờng Đại học Sƣ
phạm Hà Nội 2 và Viện Công nghệ Thông tin – Viện khoa học Việt Nam đã
giảng dạy và hƣớng dẫn em trong 2 năm qua.
Cuối cùng em xin cảm ơn gia đình, Ban lãnh đạo khoa cùng các bạn lớp
CH20 – KHMT đã động viên, quan tâm và giúp đỡ em trong suốt thời gian
hoàn thiện chƣơng trình đào tạo Thạc Sỹ tại trƣờng Đại học Sƣ phạm Hà Nội
2.
Hà Nội, ngày 28 tháng 10 năm 2018
Học viên

Dƣơng Thị Lê


LỜI CAM ĐOAN
Tên tôi là: Dƣơng Thị Lê
Học viên lớp: Cao học K20
Chuyên ngành: Khoa học máy tính
Niên khóa: 2016 – 2018
Mã số chuyên ngành: 60 48 01 01
Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn này

là trung thực và không trùng lặp với các đề tài khác. Tôi cũng xin cam đoan
rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các
thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc
Hà Nội, ngày 2 tháng 11 năm 2018
Học viên

Dƣơng Thị Lê


MỤC LỤC
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT ...................................................................... 4
1.1. Cơ sở dữ liệu .............................................................................................. 4
1.1.1. Dữ liệu ......................................................................................................... 4
1.1.2. Cách tiếp cận CSDL .................................................................................... 8
1.1.3. Khái niệm cơ sở dữ liệu quan hệ............................................................... 10
1.2. Thủy vân................................................................................................... 14
1.2.1. Lịch sử ra đời ............................................................................................ 14
1.2.2. Khái niệm .................................................................................................. 15
1.2.3. Phân loại .................................................................................................... 15
1.2.4. Khóa thủy vân ........................................................................................... 16
1.2.5. Các yêu cầu của thủy vân .......................................................................... 17
1.3. Thủy vân CSDL quan hệ .......................................................................... 18
1.3.1. Định nghĩa ................................................................................................. 18
1.3.2. Sự cần thiết của các kỹ thuật thủy vân CSDL quan hệ ............................. 19
1.3.3. Yêu cầu của thủy vân trên CSDL quan hệ ................................................ 20
1.3.4. Ứng dụng của thủy vân CSDL quan hệ .................................................... 23
CHƢƠNG 2. CÁC KỸ THUẬT THỦY VÂN CSDL ......................................... 28
ĐỂ BẢO VỆ BẢN QUYỀN ................................................................................ 28
2.1. Kỹ thuật thủy vân sử dụng các bit ít ý nghĩa nhất (LSB) ........................ 28
2.1.1. Giới thiệu về bít ít ý nghĩa nhất (LSB) ..................................................... 28

2.1.2. Kỹ thuật thủy vân sử dụng LSB ................................................................ 28
2.2. Kỹ thuật thủy vân sử dụng các bit ý nghĩa nhất (MSB) .......................... 32
2.2.1. Giới thiệu về bít ý nghĩa nhất (MSB) ....................................................... 32
2.2.2. Kỹ thuật thủy vân sử dụng MSB ............................................................... 33
2.3. Kỹ thuật thủy vân dựa vào việc chèn thêm ảnh nhị phân ........................ 37
2.3.1. Giới thiệu về ý tƣởng chèn thêm ảnh nhị phân ......................................... 37


2.3.2. Xây dựng lƣợc đồ thủy vân ....................................................................... 39
CHƢƠNG 3. CÀI ĐẶT VÀ THỬ NGHIỆM ...................................................... 43
3.1. Phát biểu bài toán ..................................................................................... 43
3.2. Phân tích bài toán ..................................................................................... 44
3.2.1.Thiết kế CSDL ........................................................................................... 47
3.2.2 Thiết kế chƣơng trình ................................................................................. 48
3.3. Thử nghiệm và đánh giá ........................................................................... 51
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ........................................................... 53
TÀI LIỆU THAM KHẢO .................................................................................... 55


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Từ đầy đủ

Từ viết tắt
CSDL

Cơ sở dữ liệu

MSB

Most Significant Bit (Bit ý nghĩa nhất)


LSB

Least Significant Bit (Bit ít ý nghĩa nhất)

NHĐT

Ngân hàng đề thi

Bộ GD&ĐT

Bộ giáo dục và đào tạo

Bộ TTTT

Bộ thông tin truyền thông

CNTT

Công nghệ thông tin

NSD

Ngƣời sử dụng

KT-XH

Kinh tế - xã hội

TDTT


Thể dục Thể thao


DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Biểu diễn quan hệ ................................................................................. 11
Hình 1.2: Biểu diễn thuộc tính ............................................................................. 11
Hình 1.3: Biểu diễn bộ dữ liệu ............................................................................. 12
Hình 1.4: Các loại thủy vân.................................................................................. 15
Hình 2.3.1: (a) Ảnh nhị phân và giá trị thập phân tƣơng ứng (b) Thuộc tính
văn bản sau khi đƣợc thủy vân, trong đó các chỉ số là số thứ tự các dấu cách
đơn và DS là dấu cách đúp ................................................................................... 39
Hình 3.1. Biểu đồ use case ................................................................................... 44
Hình 3.2. Biểu đồ trình tự use case nhúng thủy vân ............................................ 45
Hình 3.3. Biểu đồ trình tự use case phát hiện thủy vân ....................................... 46
Hình 3.4. Biểu đồ thiết kế lớp .............................................................................. 46
Hình 3.5. Một số bộ của quan hệ r ....................................................................... 47
Hình 3.6. Một số giá trị của các thuộc tính kiểu văn bản .................................... 48
Hình 3.7. Giao diện nhúng thủy vân ................................................................... 49
Hình 3.8. Thông báo nhúng thủy vân thành công ................................................ 49
Hình 3.9. Giao diện phát hiện thủy vân ............................................................... 50
Hình 3.10. Giao diện thông báo trƣờng hợp CSDL là CSDL đƣợc thủy vân
bằng thuật toán 2.3.1 ............................................................................................ 51
Hình 3.11. Giao diện thông báo trƣờng hợp CSDL không phải là CSDL đƣợc
thủy vân bằng thuật toán 2.3.1 ............................................................................. 51
Hình 3.12. Một số giá trị của thuộc tính kiểu văn bản Noidungthi sau khi
nhúng thủy vân ..................................................................................................... 52


1


MỞ ĐẦU
1. Lý do chọn đề tài
Cùng với sự phát triển mạnh mẽ của CNTT, cuộc cách mạng thông tin kỹ
thuật số đã đem lại những thay đổi nhanh chóng trong xã hội và trong cuộc
sống của chúng ta. Một xã hội ảo đƣợc hình thành trên mạng Internet toàn cầu
và là nơi diễn ra quá trình mua bán – giao thƣơng, trao đổi thông tin trong mọi
lĩnh vực y tế, an ninh, giáo dục, kinh tế, xã hội. Công nghệ đa phƣơng tiện
phát tiển, cộng với khả năng sao chép mô phỏng dẫn đến việc thực thi quyền
sở hữu CSDL là một yêu cầu quan trọng đòi hỏi các giải pháp đồng bộ về mặt
kỹ thuật, tổ chức, luật pháp đã mở ra nhiều hƣớng mới cho sự phát triển của
thủy vân, đặc biệt là lĩnh vực bảo mật CSDL.
Thực tế hiện nay, vấn đề quan trọng trong các môi trƣờng ứng dụng dựa
trên Internet và trong nhiều ứng dụng phân phối sản phẩm là việc chứng minh
quyền sở hữu đối với các CSDL quan hệ sau khi đã phân phối hoặc chuyển
giao. Gần đây, một số nhà nghiên cứu đã nhận thấy tầm quan trọng của thủy
vân các CSDL và đƣa ra một số lƣợc đồ thủy vân bảo vệ bản quyền các
CSDL quan hệ. Các lƣợc đồ này là các lƣợc đồ thủy vân bền vững đƣợc thiết
kế để bảo vệ bản quyền. Vì vậy, vấn đề cần quan tâm ở đây là CSDL phải xác
thực và mọi xuyên tạc cần phải đƣợc phát hiện và chỉ ra vị trí của chúng. Đối
với các ứng dụng khác nhau, mục đích thiết kế của các lƣợc đồ thủy vân cũng
khác nhau.
Với mong muốn xây dựng một hệ thống đáp ứng nhu cầu bảo vệ bản
quyền ngân hàng đề thi của chƣơng trình ứng dụng CNTT cơ bản theo thông
tƣ 17 của Bộ GD&ĐT và Bộ TTTT 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. Em rất mong những kiến thức của mình
sẽ góp phần vào việc nâng cao chất lƣợng bảo vệ bản quyền ngân hàng đề thi


2


cấp chứng chỉ ứng dụng CNTT cơ bản tại trƣờng Đại học Thể dục Thể
thao(TDTT) Bắc Ninh.
Xuất phát từ thực tế đó, em lựa chọn đề tài: “Dựa vào thông tin thủy vân
để bảo vệ bản quyền cơ sở dữ liệu quan hệ”.
2. Mục đích nghiên cứu
Tìm hiểu và cài đặt thử nghiệm thủy vân trên CSDL quan hệ dựa vào
việc chèn thêm ảnh nhị phân, từ đó xây dựng chƣơng trình thử nghiệm để bảo
vệ bản quyền cho ngân hàng đề thi chứng chỉ ứng dụng CNTT cơ bản theo
thông tƣ 17 Bộ GD&ĐT và Bộ TTTT của trƣờng Đại học TDTT Bắc Ninh.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu cơ bản về CSDL
- Nghiên cứu thủy vân CSDL quan hệ.
- Các kỹ thuật thuỷ vân.
- Mô tả chi tiết lƣợc đồ thủy vân dựa vào việc chèn thêm ảnh nhị phân
để bảo vệ bản quyền CSDL quan hệ.
- Cài đặt chƣơng trình 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 bảo vệ bản quyền CSDL quan hệ.
- Phạm vi nghiên cứu: Kỹ thuật thủy vân chèn thêm ảnh nhị phân để bảo vệ
bản quyền CSDL quan hệ.
5. Giả thuyết khoa học
Luận văn hoàn thành sẽ góp phần nâng cao chất lƣợng bảo vệ bản quyền
ngân
hàng đề thi cấp chứng chỉ ứng dụng CNTT cơ bản tại trƣờng Đại học TDTT
Bắc Ninh.


3


6. Phƣơng pháp nghiên cứu
a. 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.
b. Phƣơng pháp nghiên cứu chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể nghiên cứu, tìm hiểu
các thuật toán và thiết kế chƣơng trình phù hợp với yêu cầu thực tiễn, nội
dung xử lý nhanh đáp ứng đƣợc yêu cầu của ngƣời sử dụng.
c. Phƣơng pháp nghiên cứu thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận đƣợc
nghiên cứu và kết quả đạt đƣợc qua những phƣơng pháp trên.


4

CHƢƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Cơ sở dữ liệu
1.1.1. Dữ liệu
Trong máy tính, thuật ngữ dữ liệu đƣợc xem nhƣ là các đặc tính đƣợc
biết đến mà có thể ghi lại và lƣu trữ trên các thiết bị ghi nhớ của máy tính. Dữ
liệu là những mô tả về sự vật, con ngƣời và sự kiện trong thế giới thực.
Dữ liệu bao gồm số, kí tự, văn bản, hình ảnh, đồ họa, âm thanh,đoạn
phim,… có một giá trị nào đó đối với người sử dụng (NSD) chúng vỡ được
lưu trữ, xử lý trong máy tính.[7]
Ví dụ: - Dữ liệu về khách: tên, địa chỉ, điện thoại, thẻ tín dụng
- Dữ liệu về xe ô tô của khách: hãng xe, đời xe, năm sản xuất
- Dữ liệu về nhật ký sửa chữa: ngày phục vụ, tên thợ sửa chữa, số tiền thanh
toán
Trong hoạt động kinh tế xã hội (KT_XH) của con ngƣời, ngƣời ta

thƣờng chia ra hai loại dữ liệu là loại dữ liệu phản ánh cấu trúc nội bộ của cơ
quan (nhân sự, nhà xƣởng, thiết bị,… dữ liệu ít biến động) và loại dữ liệu phản
ánh hoạt động của tổ chức (sản xuất, mua bán, giao dịch,…). Trong doanh
nghiệp, không kể con ngƣời và thiết bị, dữ liệu cùng với xử lý là 2 thành phần
cơ bản của hệ thống: dữ liệu thƣờng dùng để ghi nhận thực trạng.
Dữ liệu có thể được chia thành nhiều cấp theo kiểu cây phân cấp lƣu trữ dữ liệu
(Data storage hierarchy)


5

Database - cơ sở dữ liệu
File - tệp
Record - bản ghi
Field- trƣờng
Character or byte - Ký tự hoặc byte
Bit
Bit (binary digit) là một số có 1 ký tự số (digit), đƣợc biểu diễn bằng số
0/1. Đây là đơn vị lƣu trữ nhỏ nhất trong máy tính.
Một ký tự (character) hoặc byte là một tổ hợp 8 bit liên tục nhau Ký tự
gồm có:
- Ký tự chữ cái A - Z, a - z
- Ký tự số 0 - 9
- Ký tự đặc biệt (+, %, $,...)
Cấu trúc bit nhỏ nhất cho 1 ký tự là 0000 0000
Cấu trúc bit lớn nhất cho 1 ký tự là 1111 1111
Nhƣ vậy có 256 byte biểu diễn 28= 256 ký tự khác nhau
Có 2 hệ thống mã để chuyển đổi mã 8 bit thành các ký tự:
- Extended binary coded decimal interchange code (dùng cho máy
mainframe và máy IBM lớn)

- American standard code for information interchange (dùng cho máy mini và
máy vi tính)
Việc chuyển đổi dữ liệu ở dạng mã này sang dạng mã kia nhờ vào những trình
tiện ích
Sức chứa ở bộ nhớ chính và bộ nhớ phụ được tính bằng:
- Kilobyte (K) 1K = 1024 byte


6

- Megabyte (M) 1M = 1024K
- Gigabyte (G) 1G = 1024M
- Têtabyte (T) 1T = 1024G
Phần lớn máy PC (personal computer) thời kỳ đầu đều dựa trên chip
8086/8088 là loại có dung lƣợng 16 bit.
PC mới hiện nay dùng chip có dung lƣợng lớn nh− 32, 64 bit.
Field (Trƣờng) là tập các byte có liên quan
Ví dụ: tên ngƣời có thể đƣợc cấu tạo từ các trƣờng tên, tên lót, họ
Trƣờng là đơn vị dữ liệu nhỏ nhất có nghĩa đối với NSD
Trƣờng có thể chỉ chứa 1 ký tự F (female)/M (male)
Trƣờng số có thể có dấu chấm (.) và có dấu (âm/dƣơng). Một số phần
mềm không đƣợc phép sử dụng số âm và dấu chấm thập phân.
Trƣờng phải đƣợc khai báo trƣớc
Record (bản ghi) là tập các trƣờng có liên hệ với nhau
Bản ghi về hợp đồng thuê nhân công có thể có trƣờng tên, địa chỉ, số giờ làm
việc trong tuần. Trƣờng trong bản ghi đƣợc phân loại (type) xác định độ dài tối
đa (size). Nhờ vậy bản ghi xác định đƣợc số byte tổng cộng đƣợc chứa trong
một vùng liên tục trong bộ nhớ.
File (tệp) là tập các bản ghi chứa các dữ liệu có quan hệ với nhau đƣợc
lƣu vào thiết bị nhớ thứ cấp (đĩa mềm, đĩa cứng, băng caset).

Các phƣơng pháp chủ yếu để tổ chức lƣu trữ và đọc các tệp trên đĩa hoặc các
thiết bị lƣu trữ gồm:
- Tổ chức tệp kiểu tuần tự: các bản ghi đƣợc lƣu theo thứ tự
- Tổ chức tệp truy xuất ngẫu nhiên (trực tiếp): lƣu các tệp tin theo thứ tự ngẫu
nhiên.
- Tổ chức tệp theo chỉ mục: tổ chức một trƣờng khoá trong mỗi bản ghi nên
có thể truy xuất bản ghi này theo kiểu tuần tự hoặc ngẫu nhiên.


7

Phép Hash (hashing) lỡ một kỹ thuật đƣợc sử dụng để tính địa chỉ của một bản
ghi trên thiết bị vật lý (đĩa từ). Còn tệp đƣợc tạo ra theo kỹ thuật này đƣợc gọi
là tệp Hash (hash file).
Database (CSDL) là hệ thống tích hợp của các tệp, đƣợc thiết kế nhằm
mục đích làm giảm thiểu sự trùng lặp các dữ liệu. Ngoài ra chúng còn có một cấu
trúc có thứ tự để kết nối các tệp lại với nhau. Theo nghĩa phổ thông, CSDL là
tập hợp dữ liệu về một đơn vị tổ chức nào đó, lƣu trên máy, có cách tổ chức
quản lý theo một kiểu mô hình nào đó. Trên thực tế, ngƣời ta đã đƣa ra một định
nghĩa CSDL đầy đủ hơn dƣới đây.
Định nghĩa 1.1: Cơ sở dữ liệu
CSDL được xác định như một bộ sưu tập các dữ liệu có liên quan logic
với nhau; nó được tổ chức sắp xếp theo một cách nào đó và được các hệ ứng
dụng của một đơn vị/cơ quan cụ thể nào đó sử dụng.[6]
Ví dụ: một CSDL của cửa hàng bán sơn có thể chứa các dữ liệu về
khách hàng (bao gồm các khoản mục dữ liệu nhƣ tên khách hàng, địa chỉ, số
điện thoại, thẻ tín dụng), các dữ liệu về sơn của khách hàng (bao gồm các
khoản dữ liệu nhƣ hãng sơn, màu sơn, số lƣợng) và nhật ký các lần mua sơn
(nhƣ ngày mua, tên ngƣời bán, và số tiền đã thanh toán).
CSDL thƣờng đƣợc sử dụng với những ứng dụng cài đặt riêng lẻ trong

máy tính cá nhân, hoặc dƣới dạng một CSDL tập trung trên mạng LAN, hoặc
dƣới dạng một CSDL phân tán trên mạng WAN.
Các thành phần của môi trƣờng sử dụng CSDL bao gồm:
- Tệp và CSDL
- Phần cứng và hệ điều hành
- Cấu trúc dữ liệu và phƣơng pháp truy xuất dữ liệu.


8

1.1.2. Cách tiếp cận CSDL
Cách tiếp cận CSDL nhấn mạnh đến tính chia sẻ và tích hợp của dữ liệu
trong toàn bộ hoạt động của một tổ chức. Theo cách tiếp cận này, dữ liệu đƣợc
lƣu trữ có tổ chức, tập trung dƣới dạng một CSDL và giữa các dữ liệu có sự
liên kết logic với nhau.
Các ƣu điểm mà cách tiếp cận dựa trên CSDL mang lại so với cách tiếp
cận dựa trên các hệ thống xử lý tệp truyền thống:
Tối thiểu hoá dư thừa dữ liệu: Mục đích thiết kế trong cách tiếp cận
CSDL chính là cố gắng tích hợp các tệp dữ liệu riêng rẽ (và cũng là dƣ thừa)
trong mô hình xử lý tệp trƣớc đây vào một cấu trúc logic duy nhất. Mỗi một sự
kiện cụ thể sẽ đƣợc lƣu trữ tại một vị trí quy định trong CSDL. Cũng cần lƣu ý
rằng, cách tiếp cận CSDL có thể không loại bỏ hoàn toàn vấn đề dƣ thừa dữ
liệu, nhƣng nó đã cho phép ngƣời thiết kế kiểm soát đƣợc vấn đề này. Ví dụ, đối
với mỗi đơn hàng trong bảng ORDER có chứa một trƣờng Customer_id để
biểu diễn mối liên kết giữa nâng cao hiệu quả truy vấn của CSDL, chúng ta có
thể chấp nhận hình thức lƣu trữ dƣ thừa dữ liệu.
Tính độc lập chương trình - dữ liệu: Tính độc lập với dữ liệu đƣợc thể
hiện ở sự tách biệt rõ ràng giữa chƣơng trình ứng dụng và các mô tả dữ liệu (siêu
dữ liệu), do vậy nó cho phép dữ liệu của một doanh nghiệp đƣợc phép sửa đổi
(trong một giới hạn nào đó) mà không phải thay đổi lại chƣơng trình thao tác

trên các dữ liệu đó.
Nâng cao tính nhất quán dữ liệu: Với việc loại bỏ tính dƣ thừa dữ liệu,
cách tiếp cận CSDL đã giảm bớt đƣợc đáng kể tính không nhất quán của dữ liệu.
Ví dụ, nếu địa chỉ của khách hàng đƣợc lƣu trữ duy nhất, khi đó, nếu khách hàng
thay đổi địa chỉ, chúng ta chỉ việc làm một động tác là đơn giản sửa đổi lại địa chỉ
của khách hàng ở vị trí duy nhất đó, các truy vấn liên quan đến giá trị này sẽ
đƣợc tự động nhận, giá trị mới khi đƣợc thực hiện. Nhƣ vậy, vấn đề về cập nhật,


9

sửa đổi dữ liệu rất đơn giản và nhất quán. Một điểm quan trọng hơn, cách tiếp cận
CSDL sẽ làm giảm đáng kể không gian nhớ so với phƣơng pháp lƣu trữ dữ
liệu trong các hệ thống xử lý tệp truyền thống.
Nâng cao tính chia sẻ dữ liệu: CSDL đƣợc thiết kế nhằm mục đích chia
sẻ dữ liệu. Mỗi ngƣời sử dụng hợp pháp đƣợc gán những quyền sử dụng
CSDL khác nhau, đối với mỗi ngƣời (hoặc nhóm ngƣời) sử dụng sẽ đƣợc cung
cấp những khung nhìn sử dụng khác nhau, do vậy họ có thể chủ động trong
việc chia sẻ dữ liệu thông qua các quyền kiểm soát dữ liệu.
Nâng cao tính sản phẩm của ứng dụng: Một lợi thế đáng kể của cách tiếp
cận CSDL đó là giảm đáng kể chi phí và thời gian cho việc phát triển những
ứng dụng nghiệp vụ.
Áp đặt dễ dàng các tiêu chuẩn: Với cách tiếp cận CSDL, các tiêu chuẩn
nhƣ quy ƣớc đặt tên, sử dụng quy trình thống nhất trong việc truy nhập, cập
nhật và bảo vệ dữ liệu dễ dàng đƣợc thực hiện. Các chức năng quản trị CSDL
thƣờn cung cấp một loạt các công cụ nhằm đảm bảo những tiêu chuẩn này
luôn phải đƣợc thoả mãn. Tính chất này làm cho việc bảo trì và trao đổi dữ liệu
trở nên dễ dàng và thuận lợi hơn.
Nâng cao chất lượng dữ liệu: Với cách tiếp cận CSDL, ngƣời thiết kế
có thể xây dựng các ràng buộc toàn vẹn nhằm đảm bảo dữ liệu khi đƣợc đƣa vào

CSDL phải thoả mãn một số quy tắc nào đó. Hoặc đối với những CSDL lớn
nhƣ kho dữ liệu, thì thông thƣờng dữ liệu đƣợc làm sạch trƣớc khi đƣợc đƣa
vào kho dữ liệu.
Nâng cao khả năng truy xuất dữ liệu: Với các CSDL quan hệ, ngƣời sử
dụng không cần biết kỹ năng về lập trình cũng có thể dễ dàng tìm kiếm và hiển thị
dữ liệu thông qua một ngôn ngữ hỏi đáp dữ liệu rất thân thiện đã đƣợc tiêu
chuẩn hoá.
Giảm chi phí bảo trì chương trình: Tính chất này là hệ quả của tính độc lập


10

chƣơng trình – dữ liệu, cho phép xây dựng chƣơng trình tách biệt khỏi dữ liệu ở
mức độ nhất định, do vậy khi có sự sửa đổi, chúng ta chỉ việc sửa đổi một số
mô-đun thao tác trên dữ liệu mà không nhất thiết phải sửa đổi lại toàn bộ
chƣơng trình. Chính điều này đã dẫn đến việc giảm bớt chi phí bảo trì chƣơng
trình.
Trên đây là những ƣu điểm mà cách tiếp cận CSDL mang lại. Một CSDL
thƣờng đƣợc tích hợp vào trong một hệ quản trị CSDL (đó là một chƣơng
trình máy tính hay chính xác hơn là một bộ các chƣơng trình máy tính đƣợc
xây dựng để quản lý một CSDL).
1.1.3. Khái niệm cơ sở dữ liệu quan hệ
Định nghĩa 1.2: CSDL quan hệ
CSDL đƣợc xây dựng dựa trên mô hình dữ liệu quan hệ gọi là CSDL
quan hệ.
1.1.3.1. Mô hình CSDL quan hệ
Mô hình CSDL quan hệ đƣợc tiến sĩ E.F. Codd phát triển vào năm
1970. Loại CSDL này đã loại bỏ đƣợc những vấn đề liên quan đến các thiết
kế CSDL khác. Sử dụng mô hình này có thể giảm thiểu việc dƣ thừa dữ liệu,
tiết kiệm đƣợc không gian lƣu trữ và có khả năng truy xuất dữ liệu hiệu quả.

Hiện nay CSDL quan hệ đang đƣợc sử dụng phổ biến cho các ứng dụng.
Mô hình CSDL quan hệ lƣu trữ dữ liệu trên một hoặc nhiều bảng, mỗi
bảng gồm nhiều hàng (row), nhiều cột (column) và đƣợc gọi là một quan hệ.
Trong thực tế các hàng, các cột đƣợc gọi tên theo thuật ngữ là bản ghi
(record) và trƣờng (field).


11

Cột ứng với 1 thuộc tính của nhân viên

Tên bảng
là tên quan
NHANVIEN

MaNV

Ho

Ten

Ngaysinh

Gioitinh

1

Nguyen Minh

Ngoc 11/5/1995


Nam

2

Tran Thi

Thom 8/10/1980

Nu

3

Nguyen Tri

Quan 26/7/1985

Nam

Dòng
ứng
với 1 nhân
viên

Giá trị khóa
Hình 1.1: Biểu diễn quan hệ

- Thực thể: Là đối tƣợng có trong thế giới thực mà ta cần mô tả các đặc trƣng
của nó.
Ví dụ: Thực thể NHANVIEN. Các đặc trƣng của thực thể NHANVIEN gồm:

Mã nhân viên (1), Họ (Nguyễn Minh), Tên (Ngọc) Ngày sinh (11/5/1995),...
- Thuộc tính: Là tên các cột của quan hệ, các dữ liệu thể hiện các đặc trƣng
của thực thể, mỗi thuộc tính có một kiểu dữ liệu tƣơng ứng.
Các thuộc tính

NHANVIEN

MaNV

Ho

Ten

Ngaysinh

Gioitinh

1

Nguyen Minh

Ngoc 11/5/1995

Nam

2

Tran Thị

Thom 8/10/1980


Nu

3

Nguyen Tri

Quan 26/7/1985

Nam

Hình 1.2: Biểu diễn thuộc tính
- Miền thuộc tính: Tập các giá trị có thể có của thuộc tính gọi là miền giá trị
của thuộc tính đó gồm có tên, kiểu dữ liệu, khuôn dạng,...


12

Ví dụ: Ten: kiểu dữ liệu và Text, Ngaysinh, kiểu dữ liệu: date/time, khuôn
dạng: dd/mm/yyyy
- Bộ dữ liệu: Là các dòng (bản ghi) của quan hệ không kể dòng tên của các
thuộc tính, mỗi bộ chứa giá trị cụ thể của các thuộc tính.
NHANVIEN

Bộ dữ liệu

MaNV

Ho


Ten

Ngaysinh

Gioitinh

1

Nguyen Minh

Ngoc

11/5/1995

Nam

2

Tran Thi

Thom 8/10/1980

Nu

3

Nguyen Tri

Quan


Nam

26/7/1985

Hình 1.3: Biểu diễn bộ dữ liệu
Một số mô hình dữ liệu đã đƣợc nghiên cứu:
- Mô hình dữ liệu mạng: Thể hiện trực tiếp các ràng buộc tùy ý giữa
các loại bản ghi. Là mô hình dữ liệu đƣợc biểu diễn bởi một đồ thị có hƣớng.
- Mô hình dữ liệu quan hệ: Các ràng buộc đƣợc thể hiện qua các
quan hệ tức là bảng giá trị. Mô hình dựa trên lý thuyết tập hợp và đại số quan
hệ. Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã
mô tả dữ liệu một cách rõ ràng, uyển chuyển và trở thành rất thông dụng.
- Mô hình dữ liệu hƣớng đối tƣợng: Cho phép biểu diễn dữ liệu tự
nhiên và sát với thực tế hơn cả. Tuy nhiên cho đến nay, chƣa có một cơ sở
toán học tốt hình thức hóa ở mức cao, chặt chẽ đối với mô hình này.
1.1.3.2. Quan hệ, lược đồ quan hệ
Định nghĩa 1.3: Quan hệ
Cho U = {A1,A2,...,An}(trong đó U là tên quan hệ, A1,A2,...,An là các
thuộc tính) là một tập hữu hạn các thuộc tính khác rỗng. Mỗi thuộc tính Ai 
U; i=1÷n có một miền giá trị xác định.
Mô hình cơ sở dữ liệu quan hệ thƣờng biểu diễn một quan hệ trên tập
các thuộc tính bằng bảng 2 chiều. Các thuộc tính của quan hệ là các cột


13

A1,A2,...,An, các hàng của quan hệ đƣợc gọi là các bộ (bản ghi), ký hiệu r và
giá trị của mỗi bộ gồm m thành phần. Quan hệ r đƣợc biểu diễn bởi bảng sau:
A1


A2

...

An

r1

r1. A1

r1. A2

...

r1. An

r2

R2. A1

R2. A2

...

R2. An

...

...


...

...

...

rm

rm. A1

rm. A2

...

rm. An

Ví dụ:
SINHVIEN(MaSV Ten

Ngaysinh

Điachi)

KHMT01

Lan

12/01/1993

Lào Cai


KHMT 02

Trà

06/08/1989

Hải Phòng

KHMT 03

Hƣơng

28/10/1990

Vĩnh Phúc

KHMT 04

Oanh

17/09/1985

Bắc Ninh

Trong đó các thuộc tính là MaSV: Mã sinh viên; Ten: tên; Ngaysinh: Ngày
sinh; Diachi: Địa chỉ.
Bộ giá trị là (KHMT01, Lan, 12/01/1993, Lào Cai).
Định nghĩa 1.4: Lược đồ quan hệ
Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa

chúng đƣợc gọi là lƣợc đồ quan hệ.
1.1.3.3. Khóa quan hệ
Khóa của quan hệ: Trong một lƣợc đồ quan hệ luôn tồn tại một thuộc
tính hay một tập các thuộc tính có khả năng biểu diễn duy nhất các thuộc tính
còn lại. Nói cách khác giá trị của một hay nhiều thuộc tính có thể xác định
duy nhất giá trị các thuộc tính khác.
Định nghĩa 1.5: Khóa quan hệ
Khóa của quan hệ U xác định trên tập thuộc tính U = {A1, A2,...A} là
tập con K  U sao cho bất kỳ hai bộ khác nhau t1, t2  r luôn thỏa t1.K ≠ t2.K.


14

Khóa là khái niệm quan trọng trong thiết kế CSDL quan hệ. Khóa thƣờng
đƣợc áp dụng trong việc tìm kiếm và cập nhật dữ liệu trong các quan hệ
CSDL.
Ví dụ: Số thẻ căn cƣớc sẽ xác định đƣợc tất cả thông tin về ngƣời mang
thẻ căn cƣớc đó.
Tập thuộc tính có tính chất nhƣ trên đƣợc gọi là khoá của lƣợc đồ quan
hệ.
Thông thƣờng trong một lƣợc đồ quan hệ có thể tồn tại nhiều khoá.
Trong số đó sẽ chọn một khoá làm khoá chính sao cho đơn giản và không
nhập nhằng thông tin. Giá trị các thành phần của khoá không thể nhận giá trị
null hay các giá trị không xác định.
1.2. Thủy vân
1.2.1. Lịch sử ra đời
Khái niệm thủy vân đã ra đời từ lâu và đƣợc các công nhân nhà máy
giấy ở Italia sử dụng. Các tờ giấy đƣợc thủy vân sẽ mỏng hơn và có hoa văn
trên đó. Ý nghĩa của việc thủy vân này giúp các xƣởng sản xuất giấy đánh dấu
bản quyền trên tờ giấy của họ làm ra. Thuật ngữ thủy vân bắt nguồn từ một

loại mực vô hình và chỉ hiện lên khi nhúng vào nƣớc.
Năm 1954 với bằng sáng chế của Emile Hembrooke thủy vân số đƣợc
coi là ra đời nhƣng mãi tới những năm 1980 nghiên cứu thủy vân mới đƣợc
đặt ra nhƣ một lĩnh vực nghiên cứu độc lập và khái niệm thủy vân chỉ đƣợc
hoàn thiện vào giữa những năm 90 của thế kỷ 20.
Agrawal và Kiernan (2002) đƣa ra những đề xuất đầu tiên về kỹ thuật
thủy vân trên CSDL quan hệ bởi nhu cầu cấp thiết của ngƣời chủ dữ liệu
muốn bảo vệ sản phẩm của mình trƣớc những tấn công bên ngoài. Các tác giả
đã đề xuất một lƣợc đồ thủy vân trong đó dữ liệu có thể chấp nhận những thay
đổi nhỏ mà không ảnh hƣởng đến giá trị sử dụng của chúng.


15

Mục đích của thủy vân: Các kỹ thuật thủy vân khác nhau đƣợc thiết kế
để phục vụ cho các mục đích khác nhau, cụ thể là: bảo vệ bản quyền, đảm bảo
sự toàn vẹn hay phát hiện giả mạo, khoanh vùng, chứng minh quyền sở hữu,...
Đối với các kỹ thuật thủy vân dùng để bảo vệ bản quyền cho cơ sở dữ liệu
quan hệ là thủy vân bền vững.
1.2.2. Khái niệm
Định nghĩa 1.6: Thủy vân
Thủy vân là kỹ thuật nhúng thông tin vào dữ liệu (dữ liệu có thể là văn
bản, hình ảnh, audio, video hay cơ sở dữ liệu,...) trƣớc khi phân phối dữ liệu
trên môi trƣờng trao đổi thông tin nhằm xác định thông tin về chủ sở hữu
hoặc nhận biết sự tấn công trái phép từ bên ngoài đối với dữ liệu đã đƣợc thủy
vân. Thông tin giấu trong dữ liệu đƣợc gọi là thủy vân (watermark).
1.2.3. Phân loại

Hình 1.4: Các loại thủy vân
- Thủy vân bền vững: yêu cầu dữ liệu nhúng (dấu thủy vân) phải tồn tại trƣớc

các phép tấn công nhằm loại bỏ dấu thủy vân, hoặc trong trƣờng hợp loại bỏ
đƣợc dấu thủy vân thì dữ liệu chứa dấu thủy vân cũng không còn giá trị sử


16

dụng. Do vậy, các lƣợc đồ thủy vân bền vững thƣờng đƣợc ứng dụng trong
bài toán bảo vệ bản quyền trên sản phẩm số
- Thủy vân dễ vỡ: là kỹ thuật nhúng thủy vân vào trong ảnh sao cho sản phẩm
khi phân phối, truyền tải trong môi trƣờng nếu có bất kỳ một phép biến đổi
nào làm thay đổi đối tƣợng sản phẩm gốc thì thủy vân đã đƣợc giấu trong đối
tƣợng đó sẽ không còn nguyên vẹn nhƣ thủy vân gốc. Trái với thủy vân bền
vững, thủy vân dễ vỡ yêu cầu dấu thủy vân phải nhậy cảm (dễ bị biến đổi)
trƣớc sự thay đổi của dữ liệu chứa dấu thủy vân. Do vậy, thủy vân dễ vỡ đƣợc
dùng trong việc
xác thực thông tin và phát hiện bị xuyên tạc, làm giả.
- Thủy vân hiện: là thủy vân đƣợc hiện ngay trên sản phẩm và ngƣời sử dụng
có thể nhìn thấy đƣợc hoặc các thủy vân hiện trên ảnh thì thƣờng hiện thị dƣới
dạng chìm, mờ hoặc trong suốt nhằm không gây ảnh hƣởng đến chất lƣợng
sản phẩm ảnh gốc và thông tin bản quyền cũng hiện thị ngay trên sản phẩm
gốc.
- Thủy vân ẩn: thì cũng giống nhƣ giấu tin, yêu cầu tính ẩn rất cao, bằng mắt
thƣờng không thể nhìn thấy thủy vân. Với vấn đề bản quyền, thủy vân ẩn
mang nhiều tính bất ngờ hơn trong việc phát hiện sản phẩm bị lấy cắp hay giả
mạo (Trong trƣờng hợp kiện cáo, chủ sở hữu hợp pháp sẽ đƣa ra bằng chứng
là thủy vân đã đƣợc nhúng vào sản phẩm đó).
1.2.4. Khóa thủy vân
Chủ sở hữu của CSDL có thể giữ bí mật cho thông tin thủy vân W và
là ngƣời duy nhất có thể tìm lại đƣợc thông tin này thì cần phải trộn W với
một dữ liệu đƣợc gọi là khóa do chính chủ CSDL lựa chọn. Thông tin thứ hai

này đƣợc gọi là khóa thủy vân và đƣợc định nghĩa nhƣ sau:
Định nghĩa 1.7: Khóa thủy vân
Khóa thủy vân là một lƣợng dữ liệu bí mật chỉ có chủ sở hữu CSDL


17

biết và lựa chọn nhằm mục đích xác định thủy vân trong lƣợc đồ thủy vân.
Khóa thủy vân thƣờng đƣợc ký hiệu là K và khóa K này sẽ đƣợc kết hợp với
thủy vân để nhúng vào CSDL cũng nhƣ để phát hiện thủy vân.
Khóa K sẽ đƣợc kết hợp với thủy vân W để nhúng vào CSDL. Khóa
thủy vân chính là mấu chốt của kỹ thuật thủy vân CSDL có sử dụng khóa thủy
vân.
Khóa thủy vân sẽ đƣợc nhúng vào trong CSDL quan hệ bằng nhiều cách.
Thông thƣờng khóa thủy vân sẽ đƣợc nhúng với dữ liệu trong CSDL quan hệ
rồi đƣa vào trong thuật toán sử dụng. Điều quan trọng ở đây chính là việc ta
giấu khóa thủy vân vào trong thuật toán nhƣ thế nào để không bị phát hiện
đồng thời có thể chứng minh đƣợc đây chính là CSDL quan hệ của mình. Hay
nói cách khác, việc đƣa khóa vào trong CSDL quan hệ là một trong những
điểm quan trọng của bài toán bảo vệ bản quyền và đảm bảo sự toàn vẹn dữ
liệu trong CSDL quan hệ có sử dụng khóa. Một trong những cách giấu khóa
hữu hiệu nhất là sử dụng hàm Hash vì kỹ thuật này đảm bảo đƣợc yêu cầu bảo
mật cũng nhƣ chi phí tính toán.
1.2.5. Các yêu cầu của thủy vân
Tuỳ thuộc vào mục đích và ứng dụng mà các yêu cầu của hệ thống
watermarking đƣợc đặt ra. Với các hệ thống thực tế, hệ thống thuỷ vân đòi hỏi
các yêu cầu sau:
+ Tính không nhận thấy đƣợc (Imperceptibility): Các điều chỉnh
gây ra do nhúng watermark phải thấp hơn ngƣỡng cảm thụ của con ngƣời,
nghĩa là các mẫu dùng trong nhúng watermark chỉ đƣợc phép thay đổi rất nhỏ

trong giới hạn cho phép.
+ Tính bền vững (Robustness): Đây là một yêu cầu nòng cốt của
watermarking. Tùy vào từng loại ứng dụng mà tính bền vững này bằng đƣợc
nhìn nhận dƣới nhiều quan điểm khác nhau, nếu nhƣ đối với các ứng dụng


×