Tài liệu tham khảo công nghệ thông tin Giấu tin trong mô hình sinh thơ lục bát
Trang 1GIẤU TIN TRONG MÔ HÌNH SINH THƠ LỤC BÁT
Nguyễn Vũ Linh, Nguyễn Xuân Hoài, Nguyễn Văn XuấtNhóm nghiên cứu NC (Natural Computation Group),
Khoa CNTT – Học viện Kỹ Thuật Quân Sự.
E-mail: vnvulinh@gmail.com, hoainx@lqdtu.edu.vn, CITD102@gmail.com
Tóm tắt
Bài báo này trình bày một nghiên cứu của nhóm tác giả về các phươngpháp giấu tin bằng mô hình sinh ngôn ngữ và thể hiện cụ thể trong việc sinh mộtdạng văn bản đặc biệt, dạng thơ lục bát cổ truyền Kết quả nghiên cứu cho thấygiấu tin trong mô hình sinh thơ lục bát là một kỹ thuật giấu tin hứa hẹn mang đặctrưng ngôn ngữ và văn hoá Việt nam, đồng thời nghiên cứu cũng chỉ ra một sốcách tấn công và chống tấn công vào các file chứa thơ.
I Đặt vấn đề
Giấu tin là để thông tin được truyền đi một cách bí mật, tránh việc ăn cắpthông tin hay xuyên tạc nó Người ta đã sử dụng nhiều kỹ thuật để giấu thông tincần truyền vào nhiều nơi như giấu vào file ảnh, file văn bản, file âm thanh …Thông điệp mật thường được chèn vào file chứa, ghi đè lên một phần file chứa(thay thế) hoặc file chứa được sinh ra có chứa thông điệp Ta gọi là các phươngpháp chèn, thay thế và sinh Trên thực tế người ta chủ yếu dùng phương phápchèn và thay thế, phương pháp sinh cũng đã được nghiên cứu trong [1] nhưng rấthạn chế và khó áp dụng vào thực tế Dùng phương pháp chèn thì sẽ làm tăngkích thước file chứa, phương pháp thay thế thì sẽ làm giảm chất lượng file chứa,đây là những điều không thể tránh khỏi Với phương pháp sinh, vì file chứa làđược sinh ra mới hoàn toàn nên không sợ có sự thay đổi về kích thước hay chấtlượng file nhưng nội dung file chứa thường khó giống thật ( ví dụ như sinh file
Trang 2ảnh thì ảnh đó phải là ảnh gì đó hoặc file văn bản thì nội dung không được ngônghê quá) Và điều này có thể hạn chế được.
Vậy ta chọn mô hình sinh để giấu tin, nhưng vấn đề đặt ra là sinh cái gì?Thực tế xảy ra chiến tranh, khi điều kiện truyền đa phương tiện số khôngthực hiện được, thông tin chỉ có thể truyền qua sóng radio hay những tài liệu viếttay như các bài phát thanh, bình luận, báo in, thư tay Giấu tin vào những đoạnvăn bản đó là một ý tưởng rất hay Như vậy ta sẽ chọn mô hình sinh ngôn ngữ đểnghiên cứu, cụ thể là mô hình sinh thơ lục bát, một thể thơ cổ truyền đặc sắc vàrất Việt Nam.
II Giấu tin
1 Định nghĩa
Giấu tin là thao tác nhúng thông tin vào trong các dạng dữ liệu số hóa nhưtập tin ảnh, tập tin âm thanh, tập tin văn bản … Thao tác này được tiến hành theonhiều cách khác nhau tùy theo từng phương pháp và mục đích Nhìn chung bàitoán giấu tin gồm hai quá trình :
- Nhúng tin ( hay còn gọi là mã hóa ).- Trích rút tin ( giải mã ).
Ví dụ :
- Trên ảnh :
Mã hóa thông điệp và nhúng các bít của thông điệp vào trong ảnh
Trang 3Bức ảnh dưới đã được nhúng thông tin.
- Trên văn bản :
Giả sử đối tượng chứa là đoạn văn bản có nội dung sau
“Apparently neutral’s protect is thoroughly discounted and ignored.Isman hard hit Blockade issue affects for pretext embargo on by-products,ejecting suets and vegetable oils”
Và thông điệp cần chuyển tải là : “Pershing sails for YN June 1”
Đoạn văn bản trên chính là đoạn thông điệp mật mà gián điệp Đức đã sửdụng trong chiến tranh thế giới lần II.
2 Đối tượng của bài toán giấu tin
Trong bài toán giấu tin có 4 đối tượng chính là:
- Thông tin mật : Là thông tin nhúng vào đối tượng chứa và là thông tincần được bảo vệ Tùy theo từng phương pháp cụ thể thông tin này được bảo vệvới các mức độ khác nhau.
Trang 4- Đối tượng chứa : Là đối tượng dùng để chứa thông điệp mật Đối tượngnày còn được gọi là Cover - <Data Type>, tùy thuộc vào loại dữ liệu mà nómang tên khác nhau : Cover – Image, Cover – Audio, Cover – Text …
- Đối tượng đã nhúng: Là đối tượng chứa sau khi nhúng thông tin mật, cònđược gọi là Stego - <Data Type>, với Data Type tương ứng với kiểu dữ liệu củađối tượng chứa Ví dụ nếu đối tượng chứa là ảnh thì đối tượng đã nhúng là Stego– Image Một số tài liệu đã gọi đối tượng đã nhúng là đối tượng đã đánh dấu.
- Khóa mật: Là khóa tham gia vào quá trình nhúng, tùy theo từng thuậttoán mà khóa này có tham gia hay không Đối tượng này còn có tên Stego – Key.3 Yêu cầu trong một bài toán giấu tin
- Tính bền vững : Thể hiện khả năng ít bị thay đổi trước những tấn công từbên ngoài như thay đổi định dạng, nội dung Hiện nay chưa có phương pháp nàođảm bảo biện pháp này một cách tuyệt đối Với từng ứng dụng cụ thể thì yêu cầunày cũng thể hiện khác nhau.
- Khả năng không bị phát hiện: thể hiện ở việc khó xác định được đốitượng có chứa thông tin mật hay không Hầu hết các phương pháp giấu tin dựatrên đặc điểm của hai hệ tri giác người: thị giác và thính giác Khả năng này còngọi là khả năng giả dạng.
- Khả năng lưu trữ: Khả năng này thể hiện ở lượng thông tin của thôngđiệp mật có thể nhúng trong đối tượng chứa Do tính bảo mật nên khả năng lưutrữ luôn bị hạn chế Do đó trong trường hợp muốn ẩn một thông tin có kíchthước tương đối lớn ta thường chia nhỏ ra nhiều thành phần và thực hiện nhúngtừng phần.
Trang 54 Steganography
Steganography là một trong hai kỹ thuật ( Steganography vàWatermarking ) của lĩnh vực giấu tin Kỹ thuật sử dụng trong bài báo này làSteganogaphy Ta có thể hiểu kỹ thuật này như sau:
Giấu thông tin (Steganography) là một kỹ thuật nhúng thông tin(embeding) vào trong một nguồn đa phương tiện gọi là phương tiện chứa (hostdata) mà không gây ra sự nhận biết về sự tồn tại của thông tin giấu (invisible).
Sự khác biệt chủ yếu giữa mã hóa thông tin và giấu thông tin là phươngpháp mã hóa làm cho các thông tin hiện rõ là nó có được mã hóa hay không cònđối với phương pháp giấu tin thì người ta sẽ khó mà biết được là có thông tingiấu bên trong do tính chất ẩn của thông tin được giấu.
Còn với Watermarking thì Steganography quan tâm đến ứng dụng chegiấu các bản tin đòi hỏi có độ bí mật và dung lượng càng lớn càng tốt (thườnglà truyền thông tin) Thông tin được giấu sao cho người khác không biết được là
Trang 6có thông tin giấu trong đối tượng chứa Còn Watermarking quan tâm nhiều đếngiấu những mẩu tin ngắn nhưng đòi hỏi độ bền vững cao (thường là chữ ký số).
Bảo mật cho chính đối tượng chứa (host data).5 Phân loại
Nếu xem xét các phương pháp giấu tin qua việc xem thông điệp được ẩnnhư thế nào và nơi thông điệp sẽ được ẩn người ta chia Steganography thành 3loại: Giấu tin bằng phương pháp chèn, giấu tin bằng phương pháp thay thế, giấutin bằng phương pháp sinh.
a Giấu tin dựa vào phương pháp chèn
Kỹ thuật chèn này có sự khác biệt là ở chỗ nó tìm một vị trí trong file màứng dụng bỏ qua khi đọc file Về cơ bản, bạn chèn dữ liệu vào một file, việc nàylàm tăng kích thước của file lên nhưng không làm ảnh hưởng đến sự thể hiện (táihiện, nghe nhìn) của dữ liệu.
Ví dụ với một vài file có gọi cờ EOF Cờ này báo hiệu cho ứng dụng rằngđang đọc file đến tận cuối file và vì thế có thể dừng việc xử lý file Bạn có thể ẩndữ liệu vào sau vạch EOF và ứng dụng sẽ bỏ qua nó mặc dù dữ liệu ẩn vẫn có ởtrong file.
Thuộc tính chính của kỹ thuật này là ta chỉ thêm dữ liệu vào file, khôngsửa hay thay đổi một chút nào nội dung đang có của file.
Cái tốt hơn ở đây là với sự chèn vào ta có thể ẩn về mặt lý thuyết khánhiều thông tin bạn muốn mà không làm giảm chất lượng file chứa.
Và tệ ở chỗ là một vài điểm trong file sẽ lớn hơn bình thường.b Giấu tin dựa vào phương pháp thay thế
Trang 7Chính là chèn dữ liệu trên file, thường là ghi đè Phương pháp này đơngiản nhưng nên cẩn thận Thủ thuật là tìm thông tin không quan trọng trong file,thông tin có thể ghi đè lên mà không gây tác động gì đến file, hoặc không ảnhhưởng gì nhiều.
Ví dụ trong file Word thì một vài dữ liệu giữa dấu Begin-text và End-textcó ảnh hưởng nhỏ tới văn bản và có thể ghi đè lên Khác với cách chèn thì ghi đèlàm cho kích thước file không thay đổi.
Nhưng hạn chế là ở chỗ lượng dữ liệu ẩn phụ thuộc vào file chứa vì sốlượng dữ liệu không quan trọng trong file là hạn chế.
c Giấu tin bằng phương pháp sinh
Cả hai kỹ thuật trên đều đòi hỏi phải có cách ẩn và file chứa Với kỹ thuậtsinh việc giấu tin được dùng để tạo file chứa.
Một ví dụ khá phổ biến của kỹ thuật giấu tin này là khi ta dùng file chứađể tạo một ảnh Fractal Một ảnh Fractal có thuộc tính giới hạn toán học, nhưngvề cơ bản nó là tập hợp của những mẫu và đường trong những màu khác nhau.Ta có thể dùng thông điệp ẩn của bạn để xác định góc, độ dài và mầu của mỗiđường.
Trong các mô hình sinh, thông tin được chứa trong chính mô hình sinh filechứa (mô hình này thường được giữ kín), do đó việc phát hiện, hay tác động lêntin mật trên đường truyền sẽ khó khăn hơn (do thông tin mật không chứa đựngtrong file chứa truyền đi).
III Giấu tin bằng mô hình sinh thơ lục bát
1 Giấu tin bằng mô hình sinh
Trang 8a Yêu cầu của bài toán
Yêu cầu đặt ra ở đây là giấu thông tin bằng một mô hình sinh nào đó Ởđây ta sử dụng mô hình sinh ngôn ngữ Như vậy, khi đưa vào một thông điệp thìmô hình sẽ sinh ra một file văn bản mà nội dung file ẩn giấu (chứ không chứa)thông điệp cần nhúng Xuất phát từ đặc trưng của Steganography với mongmuốn che giấu đi sự tồn tại của tin được nhúng, đòi hỏi file được sinh ra ở trênphải giả dạng được một dạng văn bản nào đó nhằm tránh đi sự nghi ngờ có thôngtin ẩn trong quá trình truyền file.
Ngược lại, khi nhận được file giấu, sử dụng mô hình đã dùng để sinh taphải lấy lại được thông điệp đã giấu.
Ngoài ra, đoạn văn bản giấu thông tin có thể bị tấn công trong quá trìnhtruyền vì vậy vấn đề cần giải quyết là làm thế nào hạn chế được sự tấn công đó.b Phương pháp giấu tin bằng mô hình sinh ngôn ngữ
Đúng như tên của phương pháp, vấn đề cần nghiên cứu là sự kết hợp củahai kỹ thuật: giấu tin và sinh ngôn ngữ bằng văn phạm Đây cũng là hai kỹ thuậtkhó đạt được giải pháp tối ưu và hiện còn rất nhiều vấn đề cần bàn đến.
Thực chất, phương pháp được xây dựng dựa trên sự đan xen các bước củahai kỹ thuật trên và chia làm 2 quá trình:
+ Quá trình giấu:
- Xây dựng văn phạm sinh ngôn ngữ- Mã hóa văn phạm
- Mã hóa thông điệp cần truyền
- Sinh ngôn ngữ theo văn phạm và theo mã của thông điệp
Trang 9+ Quá trình trích rút
- Lấy nội dung file chứa- Dùng văn phạm để giải mã- Giải mã thông điệp
2 Chọn loại văn bản cần sinha Chọn thể thơ lục bát
Theo yêu cầu đặt ra, điều đáng quan tâm là tăng cường khả năng giả dạngcủa file chứa thông điệp Vì vậy ta cần xây dựng một văn phạm sản sinh ra ngônngữ một cách tự nhiên nhất Sinh ngôn ngữ tự nhiên bằng văn phạm đã rất khóđược tự nhiên, thêm sự ràng buộc của thông điệp giấu làm cho độ tự nhiên lạicàng giảm đi Vậy nên ta sẽ không quá phức tạp khâu mã hóa văn phạm và thôngđiệp cần giấu.
Giải pháp cho vấn đề trên như sau:
Ta chọn xây dựng văn phạm sinh thơ lục bát Lục bát là thể thơ truyềnthống của Việt Nam, một bài thơ lục bát là tập hợp của nhiều câu lục bát, mỗicâu thường ngắt nhịp theo 2 tiếng, độ dài của bài thơ là không giới hạn Điềunày thuận lợi cho việc xây dựng văn phạm, mã hóa văn phạm, có khả năngchống tấn công, đặc điểm thể loại thơ (mức độ trừu tượng của ngữ nghĩa, tínhchất vần điệu chặt chẽ) còn hạn chế được sự nghi ngờ do vẫn còn sự ngô nghêcủa câu chữ.
b Về thể thơ lục bát- Về số câu chữ
Trang 10Một bài thơ lục bát là tập hợp của các câu thơ lục bát, một câu lục bát gồmcâu lục (6 tiếng) và câu bát (8 tiếng) Trong câu thơ nhịp thường được ngắt theo2 tiếng (nhịp chẵn) Cũng có trường hợp ngoại lệ mỗi nhịp là 3 tiếng ( với câu 6)và 4 tiếng (với câu 8).
- Gieo vần phối điệu
Thể thơ lục bát có cước vận và yêu vận, tức là vừa gieo vần chấn, vừa gieovần lưng Tiếng cuối của câu lục gieo vần xuống tiếng 6 của câu bát, tiếng cuốicủa câu bát lại gieo vần xuống tiếng 6 của câu lục tiếp theo.
Về phối điệu thơ lục bát có các luật “Nhất tam ngũ bất luận, nhị tứ lụcphân minh” tức là các tiếng lẻ thì gì cũng được nhưng với các tiếng chẵn phảituân theo đúng niêm luật.
Luật phối điệu như sau:
Trong đó:B : Thanh bằngT : Thanh trắc
O : Thanh tự do ( bằng hoặc trắc)
Ngoài ra còn có luật trầm bổng, tức là tiếng thứ 6 và tiếng thứ 8 của câubát mặc dù đều là thanh bằng nhưng có sự chuyển đổi từ âm trầm (huyền) sangâm bổng (không).
Trang 11Luật gieo vần và phối điệu trên làm cho bài thơ lục bát nhịp nhàng chặtchẽ.
c Văn phạm sinh thơ lục bát
Văn phạm được xây dựng có dạng văn phạm phi ngữ cảnh.Giả sử gọi văn phạm là GLB = (N,T,P,k) thì :
k: ký tự bắt đầu là thể thơ lục bátN tập các biến:
Ta thấy một bài thơ lục bát là một chuỗi các câu lục bát, mỗi câu lục bátlại gồm 1 câu lục và 1 câu bát.
Trang 12STT Tên biếnKý hiệu
5 <CB2> <NB> <NT> <NT3> <NT2>6 <NT3> <TG> <TT3>
7 <TT3> <V0> <TH3> <PA> <V0> <TH3>8 <CL2> <NB> <NT> <NS2>
9 <NS2> <TG> <TS2>
10 <TS2> <V2> <THB> <PA> <V2> <THB>
Trang 1311 <CB1> <NB> <NT> <NT1> <NT2>12 <NT1> <TG> <TT1>
13 <TT1> <V1> <TH3> <PA> <V1> <TH3>14 <TH3> <PT> <THB>
15 <NT2> <TG> <TT2>
16 <TT2> <V2> <TH4> <PA> <V2> <TH4>17 <V2> <PT> <V0>
18 <TH4> <PT> <DT(TH3)>19 <CL1> <NB > <NT> <NS1>20 <NS1> <TG> <TS1>
21 <TS1> <V1> <THB> <PA> <V1> <THB>22 <V1> <PT> <V0>
23 <NB> <TG> <TB>24 <NT> <TG> <TT>
25 <TB> <V0> <THB> <PA> <V0> <THB> 26 <TT> <V0> <THT> <PA> <V0> <THT>27 <TG> <TB> <TT>
28 <V0> <NA> <NA> <PAC>29 <PA> <PAD> <PAC>30 <THB> {Huyền, Không}32 <THT> {Sắc, Hỏi, Ngã, Nặng}
33 <DT> {Huyền} <PT> {Không} {Không} <PT> {Huyền}
35 < NA> {Tập nguyên âm}36 <PAD> {Tập phụ âm đầu}37 <PAC> {Tập phụ âm cuối}
Tập nguyên âm : {a, ă, â, e, ê, i, o, ô, ơ, u, ư, y,
Trang 14ai, ao, au, ay, âu, ây, eo, êu, ia, iê, iu, oa, oi, oe, oă,
oo, ôi, ơi, ua, uâ, uă, uê, uô, ui, uy, ưa, ưi, ươ, ưu, yê, iêu, oai,oao, oay, oeo, uôi, uây, uyê, ươi, ươu, uya, uyu, yêu }
Tập phụ âm đầu : {b, d, đ, g, h, k, l, r, s, v, x, gh, gi, kh, ph, qu, th, tr, ngh}Tập phụ âm cuối: {c, p, t, m, n, ch, ng, nh}
Như vậy thơ lục bát (k) là tập dẫn xuất của các câu lục bát liên tiếp Ngônngữ sinh bởi văn phạm này chính là tập các bài thơ lục bát dẫn xuất từ k
L(GLB)={w | w T và k * w}
4 Giấu tin bằng thơ lục bát
Ta đã có được văn phạm sinh thơ, bây giờ sẽ tìm cách giấu thông tin vàothơ qua quá trình sinh đó Dưới đây là một số phương pháp giấu tin vào thơ, cácphương pháp chủ yếu dựa vào tập T và sự khác nhau của các phương pháp nàycũng bởi các cách xây dựng tập T khác nhau.
a Phương pháp 1
Trong phương pháp này ta sẽ lấy từ để xây dựng thơ theo tập luật P.
Khi xem xét tiếng Việt dưới góc độ Công nghệ thông tin ta thấy mọi từtrong tiếng Việt có cấu trúc như sau:
[<Phụ âm>] & <Nguyên âm>
Trong đó thành phần <phụ âm> có thể có hoặc không, thành phần<Nguyên âm> bắt buộc phải có [7]