Giấu tin trong audio mang đặc điểm riêng, không giống với giấu tin trong đối tượng đa phương tiện khác. Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu, đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, 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), kỹ thuật giấu tin trong audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System).
Một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn, nên đã gây khó dễ đối với các phương pháp giấu tin trong audio. Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất, điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng. Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên, và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin.
Vấn đề khó khăn thứ hai đối với giấu tin trong audio là kênh truyền tin. Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường, thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s.
Giấu tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người.
2.3.3 Giấu tin trong video
Cũng giống như giấu tin trong ảnh hay trong audio, giấu tin trong video cũng được quan tâm, và 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ả.
Các kỹ thuật giấu tin trong video phát triển mạnh mẽ, và cũng theo hai khuynh hướng là thuỷ vân số và data hiding. Một phương pháp giấu tin trong video được đưa ra bởi Cox, là phương pháp phân bố đều. Ý tưởng cơ bản là phân phối tin giấu dàn trải theo tần số của dữ liệu chứa (gốc). Người ta đã dùng hàm cosin riêng và hệ số truyền sóng riêng để giấu tin.
Trong các thuật toán khởi nguồn, kỹ thuật cho phép giấu ảnh vào video, nhưng thời gian gần đây các kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video. Phương pháp Swanson đã giấu theo khối, đã giấu được 2 bít vào khối 8*8 . Gần đây nhất là phương pháp Mukherjee, giấu audio vào video sử dụng cấu trúc lưới đa chiều.
2. 4 PHƯƠNG PHÁP GIẤU TIN TRONG MÔI TRƯỜNG ĐA PHƯƠNG TIỆN
Có nhiều phương pháp giấu tin trong các phương tiện chứa, nhưng trong phần này chỉ xin trình bày phương pháp thay thế. Đó là thay thế các phần tử ít quan trọng của phương tiện chứa bằng các bit của thông điệp cần chuyển đi.
2.4.1 Một số ký hiệu
Ký hiệu c là phương tiện chứa, giả sử nó có độ dài là l(c), được biểu diễn bằng chuỗi các thành phần ci (1 ≤ i ≤ l(c)).
Ví dụ là các vectơ ảnh, dòng các ảnh theo thứ tự từ trái sang phải và từ trên xuống dưới, hoặc chuỗi các mẫu theo thời gian của âm thanh số.
Các giá trị của ci là {0,1}, khi đó là ảnh đen trắng.
Các giá trị của ci nằm trong (0, 256), trường hợp đó là các ảnh lượng tử hoá hay các ảnh số.
Ảnh màu là phương tiện được sử dụng nhiều nhất hiện nay, có nhiều cách biểu diễn màu, trong đó hệ màu RGB là phổ biến nhất.
Phương tiện chứa đã có tin giấu, ký hiệu là s, là chuỗi các phần tử si, và độ dài phương tiện chứa (đã có giấu tin) không thay đổi.
Khoá được dùng để giấu tin, ký hiệu là k.
Thông điệp bí mật cần giấu là m, có độ dài là l(m). Các bit của m là mi, ta có 1 ≤ i ≤ l(m). mi có giá trị là 0,1 trừ trường hợp đặc biệt.
2.4.2 Nguyên lý giấu tin bằng cách thay thế
Giấu tin bằng cách thay thế hiện đang rất phổ biến, kỹ thuật giấu tin này không làm tăng kích thước của phương tiện chứa. Khi kết hợp với các thuật toán khác để “khảo sát môi trường” quanh điểm cần giấu tin, kẻ giám sát rất khó phát hiện được các thông tin cần giấu.
Lưu ý là giấu tin ở đây không có nghĩa là hành động giấu thực tế, việc giấu tin dựa vào các quy ước. Nếu tính chất nào đó của một phần tử trong phương tiện chứa thoả mãn điều kiện, thì xem như đã giấu tin vào phần tử đó.
Khi giấu tin mật, người ta có thể giấu tin trong nhiều loại phương tiện chứa khác nhau, tuy nhiên với điều kiện kỹ thuật hiện nay, phương tiện chứa là ảnh được lựa chọn nhiều nhất, bởi tính phổ biến của ảnh và các phương tiện tạo ảnh số, đồng thời đáp ứng được yêu cầu bảo mật và dung lượng. Phương tiện chứa như âm thanh số hiện nay cũng rất phổ biến, nhưng gặp nhiều khó khăn do kỹ thuật giấu tin phức tạp hơn.
Có hai cách thay thế:
Thay thế các bit ít quan trọng (LSB) (Least Significant Bit) được thực
hiện với ảnh màu (ví dụ loại 16 bit và 24 bit) và ảnh đa cấp xám.
Với các loại ảnh này, mỗi điểm ảnh được biểu diễn bằng số lượng lớn các bit, vai trò các bit là không giống nhau. Nếu có sự thay đổi ở các bit ít quan trọng nhất, thì phương tiện chứa cũng bị biến động không đáng kể, và đối
phương cũng khó nhận ra. Người giấu tin sẽ thay thế các bit LSB trong phương tiện chứa tin bằng các bit của thông điệp bí mật. Người nhận có thể dễ dàng tách các tin mà anh ta có hiểu biết nhất định về thuật toán giấu thông tin mật và khoá giấu thông tin.
Thay thế các bit trong các vùng ma trận ảnh:
Phương pháp này khó thực hiện hơn, nhưng bù lại có tác dụng hơn so với việc thay thế LSB.
Ta hãy xét các file ảnh đen trắng, mỗi điểm ảnh chỉ được biểu diễn bằng một bit có trạng thái 0 hoặc 1, biểu diễn điểm đó là đen hay trắng. Người ta không thể vận dụng phép thay thế LSB và cũng không thể tuỳ tiện đảo bit 0 → 1 hay ngược lại, vì làm như vậy sẽ dễ xuất hiện các chấm màu lạ, dễ bị phát hiện.
Người ta phải chia ma trận ảnh ra thành các khối không giao nhau, thường là các khối hình vuông, hình chữ nhật. Dựa trên các tính chất của mỗi khối đó, người ta giấu tin bằng phép đảo bit theo quy ước.
2.4.3 Thay đổi các bit ít quan trọng nhấtÝ tưởng Ý tưởng
Ta biết rằng khi một số được biểu diễn bằng một dãy các giá trị nhị phân, vai trò của các bit là rất khác nhau trong dãy đó, khi các bit ít quan trọng mà bị thay đổi, thì giá trị mà nó biểu diễn thay đổi không đáng kể.
Thuật toán
Thay thế các bit LSB (các bit ít quan trọng nhất) có lẽ là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin. Ta xét phương tiện chứa là ảnh, sẽ trình bày các bước cơ bản của thuật toán giấu tin, qua việc thay đổi LSB.
+ Lựa chọn tập con { j1,….., jl(m)} các phần tử trong phương tiện chứa. + Thực hiện thay đổi LSB của c ji bởi mi (mi có giá trị 0 hoặc 1).
Khi tách thông tin ra khỏi phương tiện chứa, người ta thực hiện ngược lại: các điểm tương ứng được lựa chọn, các bit LSB của các phần tử được lựa chọn này, được tách ra theo đúng quy ước, rồi tất cả được ghép lại để có được thông tin ban đầu.
Thuật toán 2.4.3.1: Quá trình nhúng bằng phương pháp thay đổi LSB
For i : = 1 to l(c) do si : = ci ;
End for
Tính toán ji để lưu trữ bit thứ i của thông điệp; s ji : = c ji ;
mi : = LSB(c ji) ; End for
Thuật toán 2.4.3.2 : Quá trình tách bằng phương pháp thay đổi LSB
For i : = 1 to l(m) do
Tính toán ji để lưu trữ bit thứ i của thông điệp ; mi : = LSB(c ji) ;
End for
Ảnh dùng làm phương tiện chứa là ảnh mầu hoặc là ảnh đa cấp xám.
Ảnh đã giấu tin có kích thước không đổi so với ảnh làm phương tiện chứa ban đầu.
Hình 5 : Các thành phần trong thuật toán giấu tin LSB
Nhận xét
Phương pháp giấu tin mật bằng cách thay đổi các bit LSB là kỹ thuật đơn giản, dễ thực hiện, nhưng đồng thời cũng dễ bị tấn công phá vỡ.
Ảnh F dùng làm phương tiện chứa
Thuật toán lựa chọn các điểm giấu tin Giấu tin bằng cách thay đổi LSB Ảnh F’ đã chứa tin
Nếu các điểm trong phương tiện chứa được lựa chọn một cách tuần tự, liên tục, thì kẻ tấn công bình thường nhất, với năng lực tính toán thông thường, cũng có thể dễ dàng tách các bit, và tái lập được thông điệp đã giấu vào trong đó.Đây là loại bảo mật mà độ an toàn dựa trên giả thiết “đối phương không hiểu biết gì về thuật toán giấu tin đang dùng”.
Để sử dụng phương pháp giấu tin này an toàn, người ta phải mã hoá thông điệp trước khi giấu. Một phép mã hoá đơn giản cũng sẽ làm cho kẻ tấn công lạc đường, bởi khi tách tin từ các LSB và sắp xếp chúng lại, kẻ tấn công sẽ bị nhầm với các ký tự ngẫu nhiên, khi đó phương tiện chứa được xem là không mang tin.
Với cách này, độ mật của hệ thống sẽ tuỳ thuộc vào thuật toán mã hoá, kỹ thuật giấu tin đảm nhận vai trò tàng hình phiên liên lạc, để không gây nên sự chú ý của đối phương.
Ngoài cách tiền xử lý, mã hoá thông tin cần gửi đi, người ta có thể dùng cách lựa chọn các điểm giấu tin trên phương tiện chứa theo một thuật toán quy ước giữa hai phía người gửi và người nhận. Ví dụ như thuật toán sử dụng một mầm khoá k, thông qua bộ tạo số giả ngẫu nhiên, để chọn các vị trí giấu tin. (còn gọi là phương pháp lặp ngẫu nhiên). Cả hai phía đối tác cùng sở hữu một khoá giấu tin k, được sử dụng như một mầm cho bộ tạo số ngẫu nhiên, chuỗi ngẫu nhiên được tạo ra là k1,…., kl(m).
j1 : = k1 ;
ji : = ji-1 + ki ; với i ≥ 2
Thuật toán 2.4.3.3 : Nhúng thông tin sử dụng lặp ngẫu nhiên.
For i : = 1 to l(c) do si : = ci ;
End for
Tạo chuỗi ngẫu nhiên ki sử dụng mầm khoá k: n : = k1 ;
sn : = cn ;
mi : = LSB(cn) ; n : = n + ki ; end for
Thuật toán 2.4.3.4 : Tách thông tin sử dụng lặp ngẫu nhiên
Tạo chuỗi ngẫu nhiên ki sử dụng mầm khoá k: n : = k1 ;
for i : = 1 to l(m) do mi : = LSB(cn) ; n : = n + ki ; end for
Khi dùng bộ tạo số giả ngẫu nhiên để xác định vị trí các điểm sẽ giấu tin, nghĩa là khoảng cách giữa các điểm dùng để nhúng tin được quyết định bởi một số giả ngẫu nhiên, như vậy độ an toàn của phương pháp giấu tin này sẽ tăng lên khá nhiều (tuỳ thuộc vào thuật toán tạo khoá).
Tại phía người nhận, nhờ có chung mầm khoá và cùng một thuật toán, anh ta có thể dễ dàng xác định được vị trí của các điểm đã thay thế LSB, để tái tạo lại các thông tin đã được giấu vào đó.
Phương pháp giấu tin này có thể áp dụng với nhiều loại phương tiện chứa khác nhau, nhưng thường dùng nhất là với các file hình ảnh. Đối với ảnh đa cấp xám hay ảnh mầu 16 bit hoặc 24 bit, đây là điều kiện lý tưởng, bởi khi thay thế các bit LSB của một điểm ảnh, rất khó có thể nhận ra sự thay đổi độ xám hay mầu sắc, bởi nó biến đổi không đáng kể.
Đối với file âm thanh, do có yếu tố thời gian tác động, có cảm giác rằng khi giấu tin bằng cách thay đổi LSB, sẽ rất khó bị phát hiện, nhưng thực tế không phải vậy. Rất khó xác định các giá trị LSB trong các file âm thanh, thêm vào đó, khả năng cảm nhận âm thanh của con người là khá tốt, nên những phép biến đổi sẽ gây nghi ngờ và dễ bị phát hiện. Để giấu tin trong các file âm thanh,
người ta phải lợi dụng các thành phần pha, tiếng vọng, và với kỹ thuật thực hiện khó hơn nhiều.
2.4.4 Phương pháp giấu tin vào các vùng của phương tiện chứaÝ tưởng Ý tưởng
Như trên đã trình bày, khi giấu tin người ta cố gắng làm giãn cách các điểm giấu tin để kẻ giám sát khó phát hiện. Đó là với ảnh màu và ảnh đa cấp xám, với ảnh đen trắng thì mỗi điểm chỉ được biểu diễn bằng một bit. Không có khái niệm bit LSB nữa, lúc này, người ta không lấy điểm ảnh làm phần tử cơ bản, mà phải lựa chọn khối điểm ảnh (vùng ảnh) làm phần tử cơ bản, để giấu tin.
Định nghĩa:
Vùng của phương tiện chứa là một tập con khác rỗng {c1, …, cl(c)}.
Bằng việc chia phương tiện chứa thành các vùng không giao nhau, ta có thể thực hiện:
- Giấu thông tin trên một vùng, hay một số vùng của phương tiện chứa tin, chứ không phải trên toàn bộ phương tiện chứa tin.
- Giấu một bit thông tin lên một vùng phương tiện chứa tin, chứ không phải lên một phần tử của phương tiện chứa tin.
Một bit chẵn lẻ của một vùng chứa I trong phương tiện chứa, được tính theo công thức: p( I ) = ∑∈ I j j c LSB( )mod2
Trong bước nhúng, l(m) được chọn để không giao nhau với các vùng trong phương tiện chứa tin Ii (1 ≤ i ≤ l(m)), mỗi bước mã một bit mi bí mật trong bit chẵn lẻ p(Ii). Nếu bit chẵn lẻ của một vùng không phù hợp với bit mi, một LSB của giá trị trong Ii được thay đổi. Kết quả là p(Ii) = mi.
Trong quá trình giải mã, các bit chẵn lẻ của tất cả các vùng chọn lựa, được tính và sắp xếp để tái cấu trúc thông điệp.
Hình 6: Giấu tin trong ảnh đen trắng
Sau khi chia ảnh thành các khối nhỏ, ta chọn các khối để giấu tin theo một quy tắc nào đó.
Ví dụ chọn các khối liên tục và tuần tự, giấu theo quy ước chẵn lẻ: Sau khi giấu tin, tổng số bit 1 trong một khối và bit thông tin giấu sẽ có cùng tính chẵn lẻ.
- Nếu cần giấu bit 1 vào một khối, để thoả mãn điều kiện chẵn lẻ thì
+ Nếu tổng các bit 1 trong một khối là lẻ, thì ta không cần thực hiện gì và coi như đã giấu.
File ảnh bitmap đen trắng F
File thông điệp cần giấu P Ma trận khoá giấu tin k File ảnh đã giấu tin F’ Hệ thống giấu tin bí mật File ảnh bitmap đen trắng F
+ Nếu tổng các bit 1 trong một khối là chẵn, thì ta phải thay đổi khối đó sao cho thoả mãn điều kiện, bằng cách đảo trị ngẫu nhiên một bit.
- Nếu cần giấu bit 0 vào khối, ta cũng làm tương tự.
Quá trình giấu tin lặp đi lặp lại như vậy, cho tới khi hết các bit của thông điệp cần giấu. Sau khi giấu xong, ghép lại các phần Header, bảng màu… (các thành phần được tách ra từ ảnh F ban đầu) cùng với dữ mới này, ta có ảnh F’ đã giấu thông tin.
Nhận xét
Thuật toán giấu tin này phức tạp hơn LSB không nhiều, kích thước của khối (m × n) có thể xem như là khoá của quá trình giấu tin. Người nhận căn cứ trên các giá trị m, n để khôi phục lại thông tin đã được giấu. Nếu biết m, n, kẻ tấn công có thể dễ dàng lấy thông tin giấu trong đó.
Ta đã biết vị trí của các bit bị “thay đổi” càng ở xa nhau, thì càng khó bị phát hiện, đồng thời để chống lại các tấn công dựa trên các phép phân tích thống kê, người ta sẽ trải đều các bit của thông điệp cần giấu trên toàn bộ phương tiện