Bài báo đề xuất các phương án giấu tin trên định dạng siêu văn bản HTML. Bằng phương thức sắp xếp trật tự của thẻ và thuộc tính của thẻ trong định dạng siêu văn bản, phương pháp của bài báo chỉ làm thay đổi cấu trúc của văn bản giấu tin mà không làm ảnh hưởng đến nội dung của văn bản.
Nội dung Text: Phương pháp tổ hợp thẻ và thuộc tính trong giấu tin trên định dạng siêu văn bản
Tạ Minh Thanh và cs
Tạp chí KHOA HỌC & CÔNG NGHỆ
59(11): 51 - 57
PHƢƠNG PHÁP TỔ HỢP THẺ VÀ THUỘC TÍNH
TRONG GIẤU TIN TRÊN ĐỊNH DẠNG SIÊU VĂN BẢN
٭
Tạ Minh Thanh , Nguyễn Hiếu Minh
Khoa Công nghệ Thông tin, Học viện Kỹ thuật Quân sự
TÓM TẮT
Bài báo đề xuất các phƣơng án giấu tin trên định dạng siêu văn bản HTML. Bằng
phƣơng thức sắp xếp trật tự của thẻ và thuộc tính của thẻ trong định dạng siêu văn bản,
phƣơng pháp của bài báo chỉ làm thay đổi cấu trúc của văn bản giấu tin mà không làm
ảnh hƣởng đến nội dung của văn bản. Trên phƣơng diện kỹ thuật, việc cho phép thay đổi
linh hoạt cấu trúc của định dạng văn bản sẽ tạo ra những thuận lợi trong việc biểu diễn
thông tin mật mà không gây ra những thay đổi quá lớn đến văn bản giấu tin.
Từ khóa: Kỹ thuật giấu tin, định dạng siêu văn bản, steganography.
ĐẶT VẤN ĐỀ
Trong những năm gần đây, World Wide
Web (WWW) đã phát triển mạnh mẽ và
tạo nên một môi trƣờng tiện dụng, thân
thiện trong việc trao đổi thông tin giữa
ngƣời sử dụng. WWW là một môi trƣờng
mà trong nó cho phép các định dạng siêu
văn bản đƣợc triển khai để chuyển tải
thông tin đến ngƣời sử dụng nhƣ
Website, Web Server, …
Một trang Web là một phần của Website,
nó là một văn bản đƣợc gửi đến cho
ngƣời sử dụng bởi Web Server. Ngƣời
sử dụng sẽ dùng các trình duyệt Web
nhƣ Internet Explore, Firefox, … để mở
một trang Web. Thông qua các trình
duyệt, nội dung của các trang Web sẽ
đƣợc hiển thị chính xác và có thể link
đến các trang Web liên quan thông qua
mạng internet.
Trên thực tế, các dữ liệu định dạng siêu
văn bản không chỉ chứa nội dung thông tin
cần chuyển tải đến ngƣời sử dụng, mà còn
chứa các thông tin về cấu trúc của các thẻ
(tags) và thuộc tính (attributes) của các thẻ
giúp các trình duyệt hiểu đƣợc cách trình
bày và hiển thị trang Web. Những thông tin
về thẻ và thuộc tính của một trang Web
đƣợc định nghĩa bởi ngôn ngữ đánh dấu
siêu văn bản HTML (HyperText Markup
Language) do W3C [1] tạo lập.
Bài báo quan tâm đến đặc điểm của ngôn
ngữ đánh dấu siêu văn bản sau: Ngôn
ngữ HTML chỉ hiển thị thông tin văn bản
mà không hiển thị cấu trúc của thẻ và
thuộc tính của thẻ; Khi thay đổi một trong
các thuộc tính của thẻ thì không làm thay
đổi nhiểu hiển thị nội dung của trang
Web. Dựa trên những đặc điểm này của
ngôn ngữ định dạng siêu văn bản, bài
báo đề xuất phƣơng pháp sử dụng thẻ và
thuộc tính của thẻ để giấu các thông tin
mật vào văn bản HTML mà không bị phát
hiện do có thay đổi cấu trúc bởi các trình
duyệt Web. Ngoài ra, với thuật toán đƣa
ra trong bài báo, dung lƣợng tin mật
đƣợc giấu trong văn bản đƣợc tăng lên
mà không làm ảnh hƣởng đến hiển thị
thông tin trên trình duyệt Web.
Phần 2 của bài báo trình bày khái niệm
chung của giấu tin mật và nhấn mạnh
tầm quan trọng của giấu tin mật trong
thời đại phát triển công nghệ thông tin
Tạ Minh Thanh, Email: taminhjp@gmail.com
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.Lrc-tnu.edu.vn
Tạ Minh Thanh và cs
Tạp chí KHOA HỌC & CÔNG NGHỆ
hiện nay. Phần 3 giới thiệu các phƣơng
pháp giấu tin trong văn bản đã đƣợc đề
xuất và phân tích những nhƣợc điểm của
các phƣơng pháp này. Tiếp theo,
phƣơng pháp giấu tin trong văn bản bằng
kỹ thuật tổ hợp thẻ và thuộc tính của thẻ
đƣợc đƣa ra trong phần 4 và 5, đồng
thời, đánh giá khả năng giấu tin và tính
bảo mật của phƣơng pháp. Cuối cùng,
bài báo tổng kết kết quả và đƣa ra hƣớng
nghiên cứu tiếp theo.
Kỹ thuật giấu tin
Trong thời đại công nghệ thông tin phát
triển nhƣ hiện nay, việc trao đổi thông tin
đã trở nên dễ dàng và thuận tiện. Chính
vì thế, bảo mật thông tin là một vấn đề
trở nên cấp thiết và kỹ thuật giấu tin đã ra
đời để đáp ứng đƣợc phần nào nhu cầu
bảo đảm an toàn trao đổi thông tin trên
mạng. Kỹ thuật giấu tin đƣợc biết đến bởi
hai lĩnh vực chủ yếu là Steganography
(giấu tin mật) và Watermarking (thủy ấn).
Steganography là kỹ thuật giấu thông tin
mật vào các dữ liệu truyền thông (văn
bản, ảnh, nhạc, phim, …) để chuyển tải
đến ngƣời nhận mà ngƣời thứ ba không
thể biết đƣợc có sự tồn tại của thông tin
mật trong quá trình truyền. Kỹ thuật
Steganography đã làm thay đổi tƣ duy
trong lĩnh vực bảo mật thông tin bởi tính
khả thi của việc ẩn một lƣợng thông tin
mật trong một dữ liệu thông thƣờng mà
khó bị phát hiện bằng giác quan của con
ngƣời. Bên cạnh đó, Watermarking là kỹ
thuật đƣợc sử dụng chủ yếu trong bảo vệ
bản quyền sản phẩm số bằng cách đƣa
thông tin bản quyền nhƣ tên tác giả, logo,
…vào sản phẩm. Với sự tồn tại của thông
tin thủy ấn, nhà sản xuất có thể chứng
minh đƣợc nguồn gốc của sản phẩm khi
sản phẩm bị phát tán không hợp pháp.
Cả hai kỹ thuật này đƣợc sử dụng với
các mục đích khác nhau song chúng đều
có đặc điểm chung là giấu thông tin vào
sản phẩm gốc sao cho không bị phát hiện
bởi ngƣời thứ ba trong quá trình trao đổi
thông tin trên mạng.
59(11): 51 - 57
Hình 1 mô tả qui trình giấu tin trong các
sản phẩm số và truyền thông tin trên
mạng để đảm bảo tính bảo mật của
thông tin truyền đi [2]. Mô hình này gồm
có 3 giai đoạn thực hiện là giấu tin,
truyền dữ liệu và trích rút thông tin. Trong
đó, embedded data là dữ liệu đƣợc giấu
vào cover-text; stego-text là dữ liệu đã
đƣợc xử lý bới quá trình giấu tin và chứa
nội dung của embedded data;
stegokey là thông tin khóa đƣợc sử dụng
trong quá trình xử lý giấu tin và trích rút
thông tin, stegokey phải đƣợc bảo đảm bí
mật trong suốt quá trình trao đổi thông tin.
Mô hình này đƣợc áp dụng phổ biến cho
hầu hết các dữ liệu thông thƣờng đƣợc
trao đổi trên mạng và nó đã phát huy
đƣợc hiệu quả sử dụng. Tuy nhiên, trong
phạm vi bài báo này, chúng tôi chỉ đề
cập đến vấn đề sử dụng mô hình trong
giấu thông tin mật trên các dữ liệu văn
bản mà trọng tâm là dữ liệu siêu văn bản
HTML đang đƣợc sử dụng rộng rãi trong
lĩnh vực truyền thông đa phƣơng tiện
trên internet.
Hình 1. Mô hình giấu tin trong truyền dữ liệu
PHƢƠNG PHÁP GIẤU TIN TRÊN VĂN
BẢN
Phần này trình bày các kỹ thuật giấu tin
trên văn bản đã đƣợc đề xuất và phân
tích những nhƣợc điểm của các phƣơng
pháp này khi áp dụng cho giấu tin trên dữ
liệu HTML.
Phƣơng pháp từ điển
Phƣơng pháp này không thực hiện xử lý
ký tự văn bản nhƣ định dạng ảnh hay sử
dụng mã font của ký tự để giấu thông tin.
Phƣơng pháp giấu tin từ điển sẽ dựa vào
ý nghĩa của các từ để tạo ra một bản thay
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.Lrc-tnu.edu.vn
Tạ Minh Thanh và cs
Tạp chí KHOA HỌC & CÔNG NGHỆ
thế từ trong văn bản bằng một từ có ý
nghĩa tƣơng tự [3]. Nhƣ vậy, nội dung
văn bản stego-text đƣợc tạo ra sẽ có ý
nghĩa tƣơng tự nhƣ văn bản cover-text
và đồng thời chứa nội dung của
embedded data. Trong phƣơng pháp
này, stegokey chính là bảng từ điển dùng
để thay thế các từ đồng nghĩa trong văn
bản gốc để đƣợc một văn bản tƣơng
đƣơng.
Phƣơng pháp này có thể sử dụng cho
giấu tin trong thông tin của dữ liệu
HTML một cách dễ dàng, song nó bộc
lộ những nhƣợc điểm sau:
- Do một từ hoặc một cụm từ trong văn
bản gốc đƣợc thay thế bởi một từ hay
một cụm từ đã chuẩn bị sẵn trong từ điển
nên nội dung và mạch văn của văn bản
gốc sẽ bị thay đổi khiến cho ý nghĩa của
văn bản không đƣợc rõ nghĩa trong một
số trƣờng hợp.
- Dễ dàng tính toán đƣợc tần suất xuất
hiện của một từ hoặc một cụm từ trong
văn bản stego-text bằng phƣơng pháp
thống kê dẫn đến nội dung văn bản bị
nghi ngờ.
Từ những nhƣợc điểm của phƣơng pháp
giấu tin từ điển, nội dung văn bản stegotext sẽ có căn cứ để phát hiện nội dung
thông tin mật chứa trong nó. Bởi vậy, tính
bảo mật của phƣơng pháp này không an
toàn cho nội dung dữ liệu mật khi truyền
thông trên internet.
Phƣơng pháp duy trì hiển thị văn bản
Phƣơng pháp này chú trọng đến đặc
trƣng hiển thị văn bản trƣớc và sau khi
xử lý giấu tin. Những biến đổi sau khi đã
giấu tin trên văn bản stego-text hầu nhƣ
không bị phát hiện bởi thị giác của con
ngƣời dù in văn bản trên các máy in có
độ phân giải cao [4][5]. Các phƣơng
pháp giấu tin trong văn bản dạng này
sử dụng chủ yếu các kỹ thuật nhƣ thay
đổi khoảng cách của ký tự, các cụm từ,
các dòng văn bản; biến đổi góc độ của
các ký tự, mật độ điểm ảnh; hay thay
đổi cỡ chữ của văn bản.
59(11): 51 - 57
Đặc trƣng của phƣơng pháp giấu tin
trong văn bản sử dụng phƣơng pháp duy
trì hiển thị là có khả năng lƣu trữ đƣợc
thông tin mật khi văn bản đƣợc in ấn. Tuy
nhiên, trong một số trƣờng hợp văn bản
điện tử đƣợc hiển thị dƣới một định dạng
khác thì khả năng mất thông tin giấu vào
rất lớn.
Phƣơng pháp này có thể áp dụng cho
giấu tin trong dữ liệu siêu văn bản HTML
nhƣng xét về khả năng tƣơng thích của
các trình duyệt (IE, Firefox, Netscape, …)
và một số yếu tố liên quan đến hiển thị
văn bản (font chữ, độ phân giải, …) thì
khả năng bị phát hiện thông tin mật giấu
trong HTML bởi ngƣời sử dụng rất cao.
Phƣơng pháp sử dụng ký tự không
hiển thị
Phần lớn các văn bản có thể sử dụng ký
tự không hiển thị để giấu thông tin trong
văn bản gốc mà không làm thay đổi nội
dung, ý nghĩa và cấu trúc của văn bản
gốc. Phƣơng pháp này tận dụng những
ký tự đặc biệt (ký tự trắng, ký tự xuống
dòng, …) thêm vào văn bản gốc để biểu
diễn thông tin mật [6]. Những ký tự thêm
vào sẽ không hiển thị nên về mặt hiển thị
văn bản sẽ không hề bị thay đổi, tuy
nhiên, từ cấu trúc của văn bản ta có thể
trích rút đƣợc các thông tin mật đƣợc
biểu diễn bởi phƣơng pháp này. Đây
cũng chính là phƣơng pháp đƣợc chú ý
rất nhiều trong gửi thông tin mật trên
internet dƣới dạng gửi một văn bản dữ
liệu thông thƣờng.
Bên cạnh mặt dễ dàng sử dụng và có
hiệu quả, phƣơng pháp này còn bị hạn
chế bởi một số nhƣợc điểm. Nhƣợc điểm
này tồn tại trong kết quả giấu tin là văn
bản stego-text. Khi văn bản stego-text
đƣợc gửi đi trên internet, nội dung văn
bản có thể bị xử lý bởi các thuật toán
chỉnh sửa cấu trúc văn bản để loại bỏ các
ký tự thừa, không có ý nghĩa khiến thông
tin mật có thể bị mất và không thể phục
hồi lại đƣợc.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.Lrc-tnu.edu.vn
Tạ Minh Thanh và cs
Tạp chí KHOA HỌC & CÔNG NGHỆ
Chính vì lý do đó, nếu sử dụng phƣơng
pháp này trong giấu tin mật trên văn bản
HTML, thông qua việc hiển thị mã
(source code) của trang Web trên trình
duyệt, ngƣời thứ ba có thể thấy đƣợc sự
“khác thƣờng” trong cấu trúc dữ liệu và
dễ dàng lọc đƣợc thông tin mật bằng
phƣơng pháp phân tích thống kê.
Yêu cầu đối với thuật toán giấu tin
trên văn bản
Từ những phân tích của các phƣơng
pháp giấu tin trên dữ liệu văn bản trƣớc
đây, ta thấy đƣợc những nhƣợc điểm cần
khắc phục để hạn chế đƣợc rủi ro bị phát
hiện thông tin mật bởi ngƣời thứ ba. Vì
vậy, yêu cầu của một thuật toán giấu tin
trên văn bản cần đảm bảo đƣợc những
yêu cầu nhƣ sau:
- Tính đồng nhất: Nội dung và ý nghĩa của
văn bản stego-text sau khi đƣợc xử lý phải
đảm bảo đồng nhất với văn bản gốc covertext.
- Tính trong suốt: Khi cấu trúc của văn
bản stego-text đƣợc hiển thị bởi một thao
tác nào đó thì không có những thay đổi
lớn gây nghi ngờ cho ngƣời thứ ba.
- Tính chính xác: Nội dung của thông tin
mật phải đƣợc trích rút chính xác từ
stego-text mà không làm thay đổi đến nội
dung và ý nghĩa của văn bản này.
Với những yêu cầu đặt ra trên, bài báo sẽ
lựa chọn phƣơng pháp giấu tin vào dữ
liệu HTML để đảm bảo tính bảo mật cho
dữ liệu đƣợc giấu vào.
GIẢI PHÁP GIẤU TIN TRÊN HTML
Trong phần này, bài báo phân tích những
đặc trƣng của dữ liệu định dạng siêu văn
bản HTML và chỉ ra những yếu tố có thể
thay đổi trong cấu trúc định dạng dữ liệu
mà không làm thay đổi thông tin hiển thị.
Đặc trƣng của HTML
HTML là một dạng văn bản có cấu trúc
và đƣợc cấu thành từ các thành phần
văn bản khác nhau bởi các thẻ đƣợc định
nghĩa sẵn. Trong dữ liệu định dạng
59(11): 51 - 57
HTML bao gồm nội dung thông tin
(content), cấu trúc dữ liệu (structure:
tags, distributes) và định dạng văn bản
(style: css). Trên thực tế, dữ liệu HTML là
tổ hợp của nhiều dạng dữ liệu văn bản
khác nhau để hiển thị thành trang Web và
đƣợc gọi là văn bản HTML.
Thông thƣờng, một trang Web đƣợc hiển
thị trên trình duyệt Web chỉ hiển thị nội
dung thông tin của trang Web mà không
hiển thị cấu trúc dữ liệu và định dạng văn
bản. Bởi vậy, ngƣời sử dụng thông
thƣờng chỉ đọc đƣợc các nội dung trên
trang Web do máy chủ quản lý trang Web
gửi đến. Chính đặc trƣng này của định
dang HTLM có thể đƣợc khai thác để giấu
thông tin trong các trang Web đƣợc
truyền tải trên internet mà không làm ảnh
hƣởng đến nội dung chính của trang Web.
Bài báo sẽ đƣa ra phƣơng pháp sử dụng
các cấu trúc của trang Web để giấu thông
tin nhƣ các thẻ, các thuộc tính của các đối
tƣợng (hình ảnh, âm thanh, link, bảng biểu,
…) trên trang Web
Sử dụng thẻ cấu trúc trong giấu tin
Ngôn ngữ định dạng siêu văn bản HTML
có rất nhiều thẻ đƣợc định nghĩa để xây
dựng cấu trúc của trang Web. Trong đó
có 2 loại thẻ cơ bản đƣợc sử dụng chính:
thẻ cấu trúc bắt buộc gồm có 2 loại thẻ là
thẻ mở (Open Tag: OT) và thẻ đóng
(Close Tag: CT); thẻ cấu trúc chỉ sử dụng
một thẻ (ONce Tag: NT) hoặc có thể sử
dụng cả hai thẻ nhƣ trên để biểu diễn dữ
liệu. Khi biểu diễn thông tin trên định
dạng siêu văn bản, việc sử dụng linh hoạt
thẻ cấu trúc trong giấu thông tin
embedded data bằng stegokey sẽ không
làm thay đổi hiển thị nội dung của trang
Web trên trình duyệt Web thông thƣờng.
Bảng 1 là một số thẻ cấu trúc có thể sử
dụng để biểu diễn thông tin bằng 2 thẻ
hay chỉ bằng 1 thẻ.
Bảng 1. Một số thẻ có thể sử dụng trong giấu
tin
Tên thẻ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Sử dụng OT và
Sử
http://www.Lrc-tnu.edu.vn
dụng
Tạ Minh Thanh và cs
Tạp chí KHOA HỌC & CÔNG NGHỆ
59(11): 51 - 57
thẻ và thuộc tính thông dụng đƣợc dùng
trong văn bản HTML.
CT
NT
Tên thẻ
Thuộc tính
…
…
…
id, src, width, height, align, border,
hspace, vspace, usemap, alt …