TIỂU LUẬN
ĐỀ TÀI: “NGHIÊN CỨU CÁC PHƯƠNG PHÁP GIẤU
TIN TRONG ẢNH SỐ VÀ XÂY DỰNG MÔ HÌNH THỬ
NGHIỆM GIẤU TIN BẢO VỆ LOGO DOANH NGHIỆP”
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Nguyễn Thị Minh Ngọc
NGHIÊN CỨU CÁC PHƯƠNG PHÁP GIẤU TIN TRONG ẢNH SỐ VÀ
XÂY DỰNG MÔ HÌNH THỬ NGHIỆM GIẤU TIN
BẢO VỆ LOGO DOANH NGHIỆP
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS - TSKH HOÀNG ĐĂNG HẢI
HÀ NỘI - 2011
MỞ ĐẦU
1. Nhu cầu bảo mật thông tin
Sự ra đời và phát triển của Internet kéo theo nhiều lĩnh vực khác trong
đó lĩnh vực bảo mật thông tin là một trong những lĩnh vực được quan tâm hàng
đầu. Ngày nay các dữ liệu số được lan truyền và sao chép rất nhanh chóng, dễ
dàng nên vấn đề bảo mật thông tin số ngày càng trở nên cấp bách. Thông tin số
cần bảo mật có thể được mã hóa theo một cách thức nào đó, cách thức đó cần
được bí mật và đạt hiệu quả cao. Hiện tại nhiều ngành, nhiều đơn vị trên toàn
quốc đã có hệ thống mạng nội bộ thông suốt các tỉnh thành trong cả nước. Hệ
thống đảm bảo được các thông tin truyền đi trong mạng không bị lộ lọt ra ngoài
nhưng một điểm hệ thống hiện tại chưa đạt được đó là tính cơ động. Việc sử
dụng mạng Internet sẽ dễ dàng hơn nhiều so với việc sử dụng mạng nội bộ để
truyền tin. Tuy nhiên, Internet có thể phát tán thông tin đi bất kỳ đâu trên thế
giới. Đi kèm với việc truyền tin qua Internet là những rủi ro về mất mát và sai
lệch thông tin. Do đó, bảo mật thông tin khi truyền trên Internet là một vấn đề
cấp thiết trong thực tế.
2. Lý do chọn đề tài
Một trong các cách tiếp cận trong bảo mật thông tin đó là giấu tin, có
nghĩa là những thông tin số cần được bảo mật sẽ được người dùng giấu vào
trong một đối tượng dữ liệu số khác (môi trường giấu tin) sao cho sự biến đổi
của môi trường sau khi giấu tin là khó nhận biết, đồng thời người dùng có thể
lấy lại được các thông tin đã giấu khi cần.
Giấu thông tin số, phát hiện thông tin số ẩn giấu trong dữ liệu đa phương
tiện đặc biệt là trong ảnh số đang là một vấn đề đang được quan tâm hiện nay
trong nhiều lĩnh vực. Để phát hiện và phân biệt được một ảnh số nào đó có
mang tin mật hay không đòi hỏi rất nhiều yếu tố và kỹ thuật phức tạp. Một ứng
dụng điển hình là trong phát triển thương mại điện tử, sự phát triển của thương
mại điện tử mang lại rất nhiều lợi ích, tuy nhiên bên cạnh đó thì những mặt tiêu
cực của nó như vi phạm bản quyền, giả mạo thương hiệu cũng ngày một gia
tăng. Phương pháp giấu tin có thể được ứng dụng rộng rãi để gài các thông tin
như chữ ký, nhãn thương hiệu để chứng minh sự hợp pháp của sản phẩm, bảo
vệ bản quyền…
Xuất phát từ mong muốn được tiếp cận và tìm hiểu sâu hơn về lĩnh vực
này, bài luận văn đặt vấn đề nghiên cứu về đề tài: “Nghiên cứu các phương
pháp giấu tin trong ảnh số và xây dựng mô hình thử nghiệm giấu tin bảo
vệ logo doanh nghiệp”.
3. Mục đích nghiên cứu:
Mục đích nghiên cứu của Luận văn là tập trung nghiên cứu, tìm hiểu các
phương pháp, kỹ thuật giấu tin trong ảnh số và ứng dụng của nó trong thực tiễn,
qua đó xây dựng mô hình thử nghiệm giấu tin bảo vệ logo doanh nghiệp.
4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ của luận văn, tác giả chỉ tập trung nghiên cứu và tìm
hiểu tổng quan về các phương pháp, kỹ thuật giấu tin trong ảnh số được đánh
giá cao hiện nay và nghiên cứu khả năng ứng dụng trong một mô hình thử
nghiệm cụ thể là bảo vệ logo cho doanh nghiệp.
5. Phương pháp nghiên cứu
Luận văn kết hợp nghiên cứu lý thuyết, các phương pháp mã hóa, các kỹ
thuật giấu tin cụ thể gồm:
- Các phương pháp mã hóa thông tin.
- Các phương pháp chữ ký số, xác thực thông tin.
- Các phương pháp, kỹ thuật đảm bảo an toàn thông tin.
- Các phương pháp, kỹ thuật giấu tin trong ảnh số.
- Phương pháp mô hình hóa.
- Lý thuyết về giải thuật.
6. Bố cục của luận văn
Ngoài phần Mở đầu và Kết luận, Luận văn gồm 4 chương như sau:
Chương 1:Khái quát về lĩnh vực giấu tin
Chương này trình bày những khái niệm cơ bản liên quan đến giấu tin nói chung,
mô hình kỹ thuật giấu tin, các kỹ thuật giấu tin.
Chương 2: Kỹ thuật giấu tin trong ảnh số
Chương này sẽ đưa ra các ứng dụng của giấu tin trong ảnh số và trình bày tóm
tắt một số kỹ thuật giấu tin điển hình trong ảnh số.
Chương 3 : Xây dựng mô hình giấu và tách tin từ logo
Chương này trình bày kỹ thuật giấu tin trong ảnh, xây dựng mô hình giấu và
tách tin từ logo.
Chương 4: Thử nghiệm giấu tin bảo vệ logo doanh nghiệp
Trên cơ sở mô hình xây dựng ở chương 3, chương này trình bày một thử
nghiệm giấu tin bảo vệ logo của doanh nghiệp.
CHƯƠNG I: KHÁI QUÁT VỀ LĨNH VỰC GIẤU TIN
Giấu tin là một lĩnh vực rộng lớn trong đó những thông tin số cần bảo
mật sẽ được giấu trong một đối tượng dữ liệu số khác được gọi là môi trường
giấu tin. Môi trường giấu tin phổ biến là giấu tin trong đa phương tiện như giấu
tin trong các file ảnh, audio, video và được ứng dụng rộng rãi nhất đó là giấu
tin trong ảnh số.
1.1 Một số khái niệm cơ bản về giấu tin
1.1.1 Sơ lược về lịch sử giấu tin
Giấu tin bắt nguồn từ Hy Lạp, tiếng Hy Lạp gọi đó là Stenography có
nghĩa là "dòng chữ bị che phủ". Mục đích cơ bản của giấu tin là nhúng mẩu tin
mật vào một môi trường truyền tin bình thường sao cho người khác không thể
phát hiện ra mẩu tin mật đó.
500 năm trước, một nhà toán học người Ý tên là Jérôme Cardan đã sáng
tạo lại một phương thức văn bản bí mật cổ xưa của người Trung Quốc. Văn bản
được làm như sau: một tờ giấy làm mặt nạ có nhiều lỗ thủng mà người gửi và
người nhận đều biết, mặt nạ này sẽ được đặt trên một tờ giấy trắng và người
gửi sẽ viết thông điệp bí mật qua các lỗ thủng trên mặt nạ sau đó vứt mặt nạ đó
đi và điền phần còn lại vào tờ giấy trắng như tờ giấy này toàn các thông tin vô
thưởng vô phạt (hình 1.1)
Hình 1.1: Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí
mật trong văn bản
Ngày nay nghệ thuật giấu tin được nghiên cứu để phục vụ các mục đích
tích cực như bảo vệ bản quyền, thủy vân số, hay phục vụ giấu các thông tin bí
mật về quân sự và kinh tế. Sự phát triển của công nghệ thông tin đã tạo ra
những môi trường giấu tin mới vô cùng tiện lợi và phong phú. Người ta có thể
giấu tin trong các tệp ảnh, trong các tệp âm thanh, tệp văn bản. Cũng có thể
giấu tin ngay trong các khoảng trống hay các phân vùng ẩn của môi trường lưu
trữ như đĩa cứng, đĩa mềm. Các gói tin truyền đi trên mạng cũng là môi trường
giấu tin quan trọng và ngay cả các tiện ích phần mềm cũng là môi trường lý
tưởng để gài các thông tin quan trọng để xác nhận bản quyền.
1.1.2 Khái niệm giấu tin
“Giấu tin” là một kỹ thuật nhúng (giấu) một lượng thông tin số nào đó
vào trong một đối tượng dữ liệu số khác. Giấu tin trong ảnh số là giấu các mẩu
tin cũng là dạng số trong máy tính vào các tệp ảnh nhị phân sao cho không bị
người ngoài phát hiện.
Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho dữ liệu được đem
giấu, hai là bảo vệ cho chính đối tượng mang tin giấu. Hai mục đích khác nhau này
dẫn đến hai kỹ thuật chủ yếu của giấu tin. Đó là giấu tin mật và thủy vân số. Nói
chung giấu tin trong đa phương tiện là tận dụng “độ dư thừa” của phương tiện giấu để
thực hiện việc giấu tin mà người ngoài cuộc “khó” cảm nhận được có thông tin giấu
trong đó.
1.1.3 Môi trường giấu tin
1.1.3.1 Giấu tin trong ảnh
Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn nhất hệ thống giấu tin trong
đa phương tiện. Bởi lẽ lượng thông tin được trao đổi bằng hình ảnh là rất lớn,
hơn nữa chúng còn đóng vai trò quan trọng trong các ứng dụng an toàn thông
tin như: xác thực thông tin, bảo vệ quyền tác giả, điều khiển truy cập, phát hiện
xuyên tạc thông tin. Từ việc nghiên cứu kỹ thuật giấu tin trong ảnh số chuyển
sang kỹ thuật giấu tin trong các phương tiện khác như audio, video, trong văn
bản,… không có gì khó khăn về nguyên tắc. Chính vì lẽ đó, giấu tin trong ảnh
đã và đang được nhiều tổ chức, các trường đại học, các viện nghiên cứu, các cá
nhân quan tâm và đầu tư nghiên cứu.
1.1.3.2 Giấu tin trong audio
Giấu tin trong audio khác với giấu tin trong ảnh. Kỹ thuật giấu tin trong
ảnh phụ thuộc vào hệ thống thị giác của con người ( HVS - Human Vision
System) còn kỹ thuật giấu thông tin trong audio phụ thuộc vào hệ thống thính
giác của con người (HAS - Human Auditory System). HAS cảm nhận được các
tín hiệu ở dải tần rộng và công suất thay đổi lớn, nhưng lại kém trong việc phát
hiện sự khác biệt nhỏ giữa các dải tần và công suất.
1.1.3.3 Giấu tin trong video
Giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ
cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và
bảo vệ bản quyền tác giả. Ta có thể lấy một ví dụ là các hệ thống chương trình
trả tiền xem theo video clip (pay per view application). Các thuật toán trước
đây thường cho phép giấu ảnh vào trong video, nhưng gần đây kỹ thuật cho
phép giấu cả âm thanh và hình ảnh vào video.
1.2 Phân loại các kỹ thuật giấu tin
Hàng thập kỷ qua, con người đã phát triển đáng kể các phương pháp
sáng tạo trong giao tiếp bí mật. Trong đó có 3 kỹ thuật có mối tương quan với
nhau là giấu tin, thủy vân số và mật mã.
Có thể coi giấu tin là một nhánh của ngành mật mã với mục tiêu là nghiên
cứu các phương pháp che giấu thông tin. Giấu tin và mật mã tuy cùng có mục
đính là để đối phương không phát hiện ra tin cần giấu, tuy nhiên giấu tin khác
với mật mã ở chỗ: Mật mã là giấu đi ý nghĩa của thông tin còn giấu tin là giấu đi
sự hiện diện của thông tin. Có nhiều cách phân loại giấu tin khác nhau dựa trên
những tiêu chí khác nhau. Theo Fabien A.P. Petitcolas đề xuất năm 1999, có thể
chia lĩnh vực giấu tin thành hai hướng lớn, đó là giấu tin mật và thủy vân số [2].
Hình 1.2: Phân loại các kỹ thuật giấu tin
1.3 Nhu cầu và các ứng dụng của giấu tin trong ảnh số
1.3.1. Nhu cầu của giấu tin trong ảnh số
Ngày nay, kỹ thuật giấu tin được triển khai trong nhiều ứng dụng khác
nhau nhằm bảo vệ tính bí mật của thông tin, phục vụ các mục đích tích cực như
bảo vệ bản quyền, thủy vân số, hay phục vụ giấu các thông tin bí mật về quân
sự và kinh tế. Trong đó giấu tin trong ảnh chiếm tỉ lệ lớn nhất ở hệ thống giấu
tin trong đa phương tiện.
1.3.2. Ứng dụng của giấu tin trong ảnh số
1.3.2.1.Thủy vân số
Bảo vệ quyền tác giả: Đây là ứng dụng cơ bản nhất của kỹ thuật thủy
vân số. Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả gọi là thủy
vân sẽ được nhúng vào trong sản phẩm, thủy vân đó chỉ một mình 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.
Xác thực thông tin hay phát hiện xuyên tạc thông tin: Một tập các thông
tin sẽ được giấu trong các phương tiện chứa sau đó sử dụng để nhận biết xem
trên các phương tiện gốc đó có bị thay đổi hay không.
Giấu vân tay hay dán nhãn: Thủy vân trong các ứng dụng này được sử
dụng để nhận diện người gửi hay người nhận của một thông tin nào đó. Yêu
cầu của ứng dụng này là đảm bảo độ an toàn cao cho các thủy vân, tránh sự xóa
dấu vết trong phân phối.
Kiểm soát sao chép: Các thủy vân trong những trường hợp này được sử
dụng để kiểm soát sao chép đối với các thông tin. Các thiết bị phát hiện ra thủy
vân thường được gắn sẵn vào trong các hệ thống đọc ghi.
1.3.2.2 Giấu tin 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 ban
đầu.
1.4 Tóm tắt chương
Chương 1 đã trình bày khái quát về lĩnh vực giấu tin, giới thiệu một số
khái niệm cơ bản trong lĩnh vực này. Chương đã tóm tắt một số kỹ thuật giấu
tin cơ bản nhất và trình bày về nhu cầu và các ứng dụng giấu tin trong ảnh số.
Các kỹ thuật giấu tin được triển khai trong nhiều ứng dụng khác nhau nhằm
bảo vệ tính bí mật của thông tin, có thể phục vụ cho nhiều ứng dụng trong đời
sống, ví dụ bảo vệ bản quyền số. Trong các kỹ thuật giấu tin, giấu tin trong ảnh
số chiếm tỷ lệ lớn nhất do khả năng giấu thông tin trong lượng thông tin của
hình ảnh khá lớn và khả năng ứng dụng rất cao. Chương 2 tiếp theo sẽ trình bày
chi tiết về các kỹ thuật giấu tin trong ảnh số.
CHƯƠNG II: KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ
Hiện nay đã có rất nhiều các kỹ thuật giấu tin được nghiên cứu và phát
triển. Tuy nhiên có thể thấy, tất cả đều xuất phát từ mô hình giấu tin cơ bản
cũng như từ những kỹ thuật giấu tin cơ bản nhất [7].
2.1. Mô hình giấu tin cơ bản
Hình 2.1: Lược đồ quá trình giấu tin
Hình 2.1 biểu diễn quá trình giấu tin cơ bản. Trong đó, phương tiện chứa
tin có thể bao gồm: văn bản, ảnh, audio, video…Thông tin cần giấu tùy theo
mục đích của người sử dụng. Thông tin được giấu vào trong phương tiện chứa
tin nhờ một bộ nhúng. Bộ nhúng là những chương trình thực hiện theo những
thuật toán để giấu tin và được thực hiện với một khóa bí mật giống như trong
một số hệ mật mã. Đầu ra của quá trình là phương tiện chứa đã được giấu. Các
phương tiện này có thể được phân phối trên mạng .
Hình 2.1: Lược đồ quá trình giấu tin
Hình 2.2 mô tả quá trình giải mã thông tin đã giấu. Với đầu vào là
phương tiện đã chứa tin giấu, một bộ giải mã tin (tương ứng với bộ nhúng)
cùng với khóa sẽ thực hiện việc giải mã thông tin. Đầu ra của quá trình là
phương tiện chứa tin và thông tin đã giấu. Trong trường hợp cần thiết, thông tin
giấu lấy ra có thể được xử lý, kiểm định và so sánh với thông tin đã giấu ban
đầu.
2.2. Các phương pháp giấu tin cơ bản
2.2.1 Giấu tin trong khuôn dạng ảnh
Các khuôn dạng ảnh phổ biến nhất hiện nay là graphics interchange
format (GIF), Joint Photographic Experts Group (JPEG), đến portable network
graphics (PNG) [2].
Giấu tin có thể được thực hiện bằng cách nhồi vào một cửa sổ lệnh của
hệ điều hành Windows (ví dụ, Windows XP) các mã sau đây: C:>Copy
Cover.jpg /b + Message.txt /b Stego.jpg. Ý tưởng chính là lợi dụng việc nhận
biết EOF (End of file). Nói cách khác, tin nhắn được đóng gói và chèn vào sau
thẻ EOF của tệp ảnh.
Thông điệp khi được nhúng không làm giảm chất lượng hình ảnh gốc.
Cả biểu đồ hình ảnh (histogram) cũng như nhận thức thị giác đều không thể
phát hiện bất kỳ sự khác biệt giữa hai hình ảnh gốc và hình ảnh có các tin nhắn
bí mật được ẩn sau thẻ EOF.
2.2.2. Giấu tin trong miền không gian của ảnh
Trong các phương pháp miền không gian, một người giấu tin sẽ biên tập
dữ liệu bí mật che phủ trong miền không gian, trong đó bao gồm mã hóa ở cấp
độ của LSBs [1]. Phương pháp này mặc dù đơn giản, nhưng nó lại có tác động
rộng lớn. Một framework thông thường chỉ ra khái niệm nằm bên trong được
đánh dấu trong hình 2.5, hình 2.6 minh họa một ví dụ thực hiện nhúng vào
trong LSB đầu tiên tới LSB thứ 4. Có thể thấy là nhúng trong LSB thứ 4 sinh ra
nhiều méo mó hình ảnh của ảnh che phủ (cover image) khi thông tin ẩn được
cho là "không tự nhiên".
2.2.3 Giấu tin trong miền tần số ảnh
Các thuật toán mới kế tục các nổi trội từ hiệu quả của các thuật toán cũ
(phương pháp miền không gian), bởi sự phát triển nhanh chóng của công nghệ
thông tin và bởi nhu cầu của hệ thống bảo mật được cải thiện. Sự sáng tạo ra kỹ
thuật nhúng LSB thực sự là một thành tựu lớn. Mặc dù nó hoàn toàn không
đánh lừa được HVS, nó khá kém trong ngăn cản các tấn công khiến cho người
nghiên cứu phân vân sẽ dùng nó ở đâu cho đến khi họ áp dụng thành công
trong miền tần số.
2.3. Một số kỹ thuật giấu tin trong ảnh số điển hình
2.3.1. Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1
2.3.1.1 Ý tưởng
Ý tưởng cơ bản của kỹ thuật này là chia một ảnh thành các khối nhỏ và
trong mỗi khối nhỏ sẽ giấu một bit thông tin. Dựa vào tính chẵn lẻ của tổng số
các bit 1 trong khối để quy định giấu bit 1 hay 0. Cụ thể sau khi giấu thì tổng số
các bit 1 trong khối và bit cần giấu sẽ có cùng tính “chẵn lẻ”. Thuật toán này
dùng cho ảnh đen trắng, ảnh mầu và ảnh đa cấp xám [2].
2.3.1.2 Thuật toán
Input:
-Một file ảnh bitmap đen trắng FF
-Một file thông tin cần giấu Fb
-Một khóa K (đó là kích thước khối nhỏ)
Output:
-Một file ảnh F’ đã giấu tin.
2.3.2 Kỹ thuật giấu tin WU-LEE
Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1
trong khối ở trên thể hiện
độ
an toàn không cao do chỉ có duy nhất kích thước
khối là khóa cho quá trình giấu tin, đồng thời
ảnh
chứa
thông tin giấu cũng
dễ bị phát hiện do kỹ thuật có thể sẽ đảo bit trong các khối ảnh toàn màu
đen
hoặc màu trắng dẫn tới sự bất thường ở vị trí đảo so với các điểm lân cận trong
khối.
2.3.2.1 Ý tưởng
Ý tưởng chính của thuật toán là chia ảnh ra thành các khối bằng nhau,
tìm khối nào ít bị phát hiện nhất, giấu một bit thông tin vào khối đó.
2.3.2.2. Thuật toán
a, Quá trình giấu tin
Input:
- Ảnh nhị phân F
- Khóa bí mật K
- Xâu bit dữ liệu cần giấu D
Output:
- Một file ảnh F’ đã giấu tin bên trong.
b, Quá trình giải tin
Input
- F’ là ảnh đã được giấu dãy bit bí mật D
- K là ma trận khóa bí mật, kích thước m x n.
Output
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
2.3.3 Kỹ thuật giấu tin YUAN_PAN_TSENG
Trên cơ sở của thuật toán Wu_Lee. Kỹ thuật này sử dụng một ma trận
khóa và một ma trận trọng số để giấu tin. Thuật toán đảm bảo được độ an toàn
của thông tin giấu và cũng giấu được nhiều thông tin trong ảnh bằng cách chỉ
thay đổi nhiều nhất 2 bit trong mỗi khối ảnh. Đối với ảnh đen trắng thì kỹ thuật
này có nhược điểm là chất lượng ảnh chưa cao, dễ bị phát hiện [2].
2.3.3.1 Ý tưởng
Ý tưởng chính của thuật toán giấu tin Yuang_Pan_Tseng là sử
dụng thêm một ma trận trọng số kết hợp với ma trận khóa K và để giấu
được r bit dữ liệu vào một khối m x n nhưng chỉ thay đổi nhiều nhất hai
bit dữ liệu trên khối.
2.3.3.2 Thuật toán
a, Quá trình giấu tin
Input:
- F là một ma trận giá trị các điểm ảnh gốc dùng để giấu tin.
- K là một ma trận khóa nhị phân có kích thước mxn.
- r là số lượng bit cần giấu trong mỗi khối ảnh kích thước mxn.
- D là xâu thông tin cần giấu gồm k*r bít, k là số khối ảnh giấu.
- W là một ma trận trọng số r với các giá trị W[i,j] thuộc tập {1,2,…,2
r
-1} xuất
hiện ít nhất một lần.
Output:
- Một file ảnh F’ đã giấu tin b.
b, Quá trình giải tin:
Input
-
F’ là ảnh đã được giấu dãy bit bí mật
D
- K là ma trận khóa bí mật, kích thước mxn.
- r là số lượng bit đã giấu ở mỗi khối
- Ma trận trọng số W cấp r
Output
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
2.3.4. Kỹ thuật gài vào các bit có trọng số thấp (LSB)
2.3.4.1. Ý tưởng
Phương pháp LSB sẽ được cài đặt cho ảnh mầu bitmap 24-bit. Tư
tưởng chủ đạo của thuật toán là với mỗi bít tin cần giấu, chọn ngẫu nhiên
một điểm ảnh, với mỗi điểm lại chọn ngẫu nhiên một byte mầu, sau đó giấu bit
tin vào bit có trọng số thấp nhất của điểm ảnh và byte mầu đang xét [1].
2.3.4.2 Thuật toán
Thông tin mật trước hết được mã hoá theo một phương pháp lập mật
mã nào đó. Thông tin đã mã hoá sau đó qua một thuật toán, được "băm"
thành các bit và "rải" đều lên các điểm ảnh. Như vậy thuật toán được chia làm
các thuật toán con theo các tầng công việc.
Hình 2.8: Các tầng của ứng dụng giấu tin
Mô tả thuật toán:
Duyệt từng bit của Byte đang xét, mỗi lần cắt ra bit thứ i (i=1 8)
1. Chọn ngẫu nhiên 1 điểm ảnh chưa dùng
2. Tính các giá trị R, G, B của điểm vừa chọn
3. Chọn ngẫu nhiên 1 trong 3 byte R hoặc G hoặc B.
4. Giấu tin vào điểm và byte vừa chọn.
5. Đưa điểm vào danh sách các điểm đã dùng
2.4 Tóm tắt chương
Chương 2 đã trình bày khái quát về các kỹ thuật giấu tin cơ bản trong
ảnh số. Nội dung chương đã giới thiệu mô hình cơ bản, các phương pháp giấu
tin cơ bản vào ảnh qua đó phân tích, đánh giá so sánh các phương pháp. Tiếp
đó, bài đã trình bày một số kỹ thuật giấu tin trong ảnh số điển hình bao gồm
việc nêu ý tưởng, thuật toán và các bước cụ thể trong quy trình giấu tin. Trong
các kỹ thuật điển hình nêu trên, bài đã chọn đi sâu vào phân tích một kỹ thuật
khá phổ biến là kỹ thuật gài vào các bit có trọng số thấp (LSB). Việc phân tích
kỹ thuật này sẽ làm cơ sở cho xây dựng mô hình giấu tin và tách tin ứng dụng
trong việc bảo vệ logo cho doanh nghiệp sẽ được trình bày trong chương tiếp
theo.
CHƯƠNG III: XÂY DỰNG MÔ HÌNH GIẤU TIN VÀ
TÁCH TIN BẢO VỆ LOGO DOANH NGHIỆP
3.1. Phát biểu bài toán thực tế ứng dụng mô hình giấu tin
Một bài toán thực tế dùng mô hình giấu tin được phát biểu như sau: Giả
sử doanh nghiệp đó có 1 trang web, cá nhân khách hàng của doanh nghiệp hay
nhân viên muốn kiểm tra thông tin hay tài khoản của mình thì phải đăng nhập
vào website và trên website có logo của doanh nghiệp. Một thực tế có thể xảy
ra là tin tặc có thể lợi dụng việc đăng nhập vào website của doanh nghiệp để
tạo đường link giả sao cho giao diện trang web giả giống hệt trang web của
doanh nghiệp. Nếu khách hàng không biết hoặc vô tình có thể họ sẽ vẫn đăng
nhập bằng tài khoản của mình trên trang web giả đó. Sau khi điền đủ thông tin
phía server sẽ báo lỗi và khách hàng không đăng nhập được, hoặc thậm chí
được chuyển tiếp đến một trang website giả mạo khác. Thực chất trong quá
trình đó, kẻ gian đã lấy được thông tin của khách hàng và đăng nhập vào trang
web chính thống để ăn cắp, sửa xóa thông tin dẫn đến nhiều thiệt hại cho cả
phía khách hàng và doanh nghiệp.
Vấn đề đặt ra là làm thế nào để khách hàng biết mình đăng nhập vào
website thật hay chỉ là fake website để bị lấy mất thông tin. Có nhiều cách thức
để bảo vệ truy nhập website cho khách hàng. Trong khuôn khổ nghiên cứu về
kỹ thuật giấu tin của bài, luận văn đề xuất một mô hình giấu tin và tách tin
nhằm bảo vệ logo doanh nghiệp, giúp khách hàng của doanh nghiệp truy nhập
được đúng trang website hợp pháp của doanh nghiệp.
Giải pháp được đưa ra trong bài luận văn là xây dựng một mô hình giấu
tin trong logo của doanh nghiệp, qua đó thông tin được giấu vào trong logo của
doanh nghiệp đó. Nếu kẻ gian có ăn cắp logo bằng cách chụp lại màn hình hay
copy lại thì cũng không lấy được thông tin hợp pháp của logo và do đó khó
lòng giả mạo được trang website yêu cầu khách hàng đăng nhập. Bên cạnh đó,
yêu cầu khác đối với mô hình xây dựng trong bài là cần xây dựng một ứng
dụng để nhận diện lại thông tin đó. Có nghĩa là, khi ứng dụng được cài đặt, nếu
vào đúng website của doanh nghiệp thì quá trình đăng nhập của khách hàng
diễn ra bình thường, còn nếu khách hàng click vào link của fake website thì
ứng dụng đó sẽ cảnh báo cho khách hàng là đã đăng nhập vào website giả mạo.
3.2. Xây dựng mô hình lý thuyết
3.2.1. Lựa chọn phương pháp
Trong khuôn khổ luận văn, bài đề xuất xây dựng một mô hình giấu tin
và tách tin một cách khái quát nhất. Mô hình này có thể áp dụng các kỹ thuật
giấu tin khác nhau. Tuy nhiên, để minh họa tính khả thi của mô hình, bài luận
văn sẽ lựa chọn kỹ thuật gài vào các bit có trọng số thấp (LSB). Đây là kỹ thuật
dễ cài đặt và được ứng dụng rộng rãi nhưng có khả năng ứng dụng cũng như
hiệu quả tương đối cao. Mô hình đề xuất trong bài cũng có thể áp dụng các kỹ
thuật giấu tin khác.
3.2.2. Mô hình giấu tin và tách tin bảo vệ logo doanh nghiệp
Hình 3.1 là sơ đồ giấu tin logo doanh nghiệp với ví dụ logo của
Vietcombank. Khách hàng truy nhập vào trang website trên máy chủ
Webserver của Vietcombank để thực hiện đăng nhập và giao dịch. Logo
Vietcombank được bảo vệ bằng kỹ thuật giấu tin trong logo. Sau khi xác thực
đúng người dùng, một chương trình cài đặt trong Webserver sẽ hiển thị đúng
logo báo hiệu cho người dùng đó là trang đăng nhập hợp pháp của
Vietcombank. Chương trình giải mã tin giấu trong logo cũng có thể được cài
đặt ở trình duyệt của khách hàng để hiển thị đúng logo của trang đăng nhập hợp
pháp. Như vậy, mô hình có thể được cài đặt theo hai phương thức. Trường hợp
tin tặc giả mạo trang website đăng nhập, tin tặc không thể hiển thị được đúng
logo trên màn hình trình duyệt của khách hàng.
Hình 3.1: Sơ đồ mô hình giấu tin logo doanh nghiệp
Khách hàng
Tin tặc
Máy chủ Webserver
Trang Website với Logo được
giấu tin bảo vệ
Internet
Hình 3.2 là sơ đồ quy trình giấu tin trong logo của website doanh nghiệp
Hình 3.2: Sơ đồ quy trình giấu tin trong logo doanh nghiệp
Hình 3.3 là sơ đồ quy trình tách tin, kiểm tra xác thực và hiển thị đúng logo
trên màn hình trình duyệt của khách hàng.
Hình 3.3: Sơ đồ quy trình tách tin trong logo và hiển thị
Thông tin bí
mật
Giấu tin vào
logo
Logo có chứa thông tin bí mật
Hiển thị Logo trên màn hình
Tách thông tin bí mật đã giấu trong
logo và ki
ể
m tra thông tin
Hiển thị đúng logo trên màn hình trình
duyệt của khách hàng
Trình duyệt có cài chương trình tách tin
đọc logo chứa thông tin bí mật
Trình duyệt xác thực người dùng với
Webserver
3.2.3. Cơ sở thuật toán giấu tin được sử dụng
Tư tưởng chủ đạo của thuật toán LSB là ứng với mỗi bit thông tin cần
giấu, chọn ngẫu nhiên một điểm ảnh, mỗi điểm ảnh lại chọn ngẫu nhiên một
byte mầu, sau đó giấu bit thông tin vào bit có trọng số thấp nhất của điểm ảnh
và byte mầu đang xét.
3.3. Thuật toán áp dụng cho mô hình
3.3.1. Thuật toán giấu tin trong ảnh
Dữ liệu vào: Một ảnh gốc F (Logo) dùng để giấu thông tin, F được chia
thành các khối nhỏ Fi, mỗi ma trận ảnh Fi có kích thước m*n ; r là số bit có thể
giấu trong mỗi khối Fi.
Dữ liệu ra: Ảnh F' đã có thông tin giấu (F' được tạo bởi các khối Fi' do
giấu tin vào khối Fi tạo thành)
Thuật toán sẽ thực hiện việc giấu r bit thông tin vào mỗi khối Fi bằng
cách thay đổi nhiều nhất 2 bit của Fi và Fi được biến đổi thành Fi'.
3.3.2. Thuật toán tách tin trong ảnh
Dữ liệu vào: Ảnh F' (logo) đã có thông tin giấu bên trong ảnh. F' được
tạo bởi các khối Fi' do giấu tin vào khối Fi tạo thành. Mỗi khối Fi được giấu r
bit thông tin vào bằng cách thay đổi nhiều nhất 2 bit của Fi và Fi được biến đổi
thành Fi'.
Dữ liệu ra: Thuật toán tách thông tin thực hiện đọc thông tin đã giấu
trong Ảnh F' (logo). Nếu giả sử logo không chứa thông tin đã giấu, thuật toán
sẽ báo lỗi không chứa thông tin nào được giấu. Thông tin giấu trong ảnh sẽ
được đọc ra phục vụ cho việc kiểm tra xác thực tính hợp pháp của logo. Trường
hợp tin tặc chụp màn hình logo, ảnh logo này sẽ không chứa thông tin giấu
trong logo, do đó, logo hiển thị sẽ là logo không hợp pháp của doanh nghiệp.
3.4. Cấu trúc chương trình giấu tin và tách tin của mô hình
3.4.1. Cấu trúc chương trình giấu tin
Từ cơ sở lý thuyết của kỹ thuật gài vào các bit có trọng số thấp (LSB), ta
xây dựng được cấu trúc thuật toán giấu tin gồm những thành phần như sau:
* Đọc tệp chứa bản tin và chiều dài bản tin cần giấu trong ảnh
Bản tin cần giấu được ghi trong một tệp văn bản, ví dụ tệp VB.txt có
kích thước là L byte. Gọi kích thước theo bit của bản tin là binLen, ta có chiều
dài mẩu tin là: binLen=(L+5+5)*8 với đơn vị là bit; trong đó mỗi byte chứa 5
chữ số và một mật khẩu bổ sung gồm 5 chữ số được ghi thêm vào mẩu tin. Mỗi
byte gồm 8 bit.
3.4.2. Cấu trúc chương trình tách tin
* Đọc file ảnh logo.bmp vào bộ đệm
Việc đầu tiên là đọc tệp chứa ảnh Logo có giấu thông tin vào bộ đệm.
Khi đó, trong bộ đệm buffer sẽ chứa toàn bộ tệp ảnh Logo với kích
thước l.
* Giải mã bản tin
Kết quả cuối cùng là nội dung bản tin đã được giấu trong tệp ảnh Logo
được nhận vào trong bộ đệm mssg.
3.4.3. Các thành phần khác của chương trình trong mô hình
Để demo cho mô hình, chương trình gồm một số môđun phần mềm khác
như: Môđun phục vụ cho hiển thị giao diện giao diện cửa số tương tác trên màn
hình, ngoài ra còn có các mô đun kiểm tra đăng nhập mật khẩu, mô đun hiển
thị tệp ảnh logo ra màn hình, mô đun hiển thị bản tin cần giấu …
3.4.4. Các thư viện dùng trong chương trình
Chương trình được cài đặt trên Windows, sử dụng ngôn ngữ Visual C++.
Một số hàm, thủ tục quan trọng gồm:
#include "stdafx.h"
#include "StGraph.h"
#include "StGraphDlg.h"
#include "FileDlg.h"
#include <math.h>
#include "ResulrDlg.h"
#include "Password.h"
3.5. Đánh giá
Phương pháp LSB có ưu điểm là dễ cài đặt, giấu được nhiều thông tin,
và có tính ứng dụng rộng rãi.
Nếu dùng 1 LSB và 100% các điểm ảnh có thể giấu được khoảng
192000 bit = 24000 byte tương đương giấu được mẩu tin dài 24000 ký tự.
CHƯƠNG IV: KẾT QUẢ THỬ NGHIỆM BẢO VỆ LOGO
CỦA NGÂN HÀNG VIETCOMBANK
4.1. Giới thiệu chung
Trong chương này luận văn trình bày kết quả thử nghiệm cho mô hình
bảo vệ logo doanh nghiệp cho ngân hàng Vietcombank. Đầu vào chương trình
thử nghiệm là tệp ảnh chứa Logo của Ngân hàng Vietcombank, bản tin cần
giấu trong logo dưới dạng văn bản là msg.txt. Bản tin này được mã hóa với mật
khẩu bổ sung gồm 5 ký tự. Nội dung chương gồm ba phần: Chương trình giấu
tin, chương trình tách tin và ứng dụng nhận diện logo trên trang website của
Vietcombank.
4.1. Chương trình giấu tin
Nội dung tin cần giấu được lưu vào một file text có tên là msg.txt với
nội dung như sau:
Hình 4.1: File text chứa nội dung thông tin cần giấu
Hình 4.2 biểu thị Logo làm môi trường giấu tin.
Hình 4.2: Logo của ngân hàng Vietcombank
Khi thực hiện, chương trình giấu tin hiển thị giao diện tương tác như
trên hình 4.3 như sau:
Hình 4.3: Giao diện chương trình giấu tin
Nút File văn bản yêu cầu người dùng chọn đường dẫn đến file text chứa
nội dung tin giấu, ở đây là tệp msg.txt như biểu thị trên hình 4.4.
Chọn file text xong chương trình sẽ yêu cầu nhập password với độ dài
tối thiểu là 5 ký tự như trên hình 4.5.
Hình 4.5: Nhập và xác nhận mật khẩu
Hình 4.6: Đường dẫn đến ảnh làm môi trường giấu tin
Tiếp đó, nút File BMP yêu cầu người dùng chọn đường dẫn tới ảnh đuôi
BMP làm môi trường giấu. Chọn vào nút này, cửa sổ tương tác sẽ hiển thị, cho
phép người dùng chọn tệp Logo cần tải vào để giấu tin, ví dụ tệp
Logo_vcb.bmp như hiển thị trên hình 4.6.
Sau khi chọn ảnh, chọn nút giấu tin để thực hiện quá trình giấu thông tin
vào ảnh. Quá trình giấu bản tin chứa trong tệp msg.txt vào tệp ảnh chứa logo
Logo_vcb.BMP hoàn thành.
4.2. Chương trình tách tin
Quá trình tách và khôi phục bản tin từ tệp ảnh logo được tiến hành
tương tự, chương trình yêu cầu đường dẫn đến file ảnh chứa thông tin được
giấu.
Hình 4.7: Xác nhận mật khẩu để giải tin
Trước hết ta cần vào cửa sổ chọn để thực hiện tải tệp chứa ảnh logo.
Tiếp đó, cần nhập mật khẩu để giải mã bản tin với chiều dài ít nhất là 5 ký tự
trở lên (xem hình 4.7). Nhập đúng password chương trình sẽ cho ra kết quả
thông tin giấu trong ảnh (xem Hình 4.8).