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
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”.
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 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ố 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
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
- 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.
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ư
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.
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.
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