Khi một thuật toán giấu tin được sử dụng, thuật toán đó sẽ nằm trong khuôn khổ một giao thức xác định, thích hợp để xử lý dữ liệu.
Theo lý thuyết, có ba kiểu giao thức cơ bản: giấu tin thuần tuý, giấu tin với khoá bí mật, giấu tin với khoá công khai. Trong đó kiểu giấu tin sau cùng được xây dựng trên nguyên tắc mật mã khoá công khai.
2.2.1 Giấu tin thuần thuý
Giấu tin thuần tuý là hệ thống giấu tin, không yêu cầu phải trao đổi trước một số thông tin bí mật.
Trong hệ thống giấu tin thuấn tuý, người giấu tin và người tách tin phải thực hiện cùng một thuật toán nhúng và tách thông tin, thuật toán này phải được giữ bí mật.
Định nghĩa 1: Giấu tin thuần tuý
Bộ bốn giá trị δ = (C, M, D, E) được gọi là Hệ giấu tin thuần tuý trong đó: C là tập các phương tiện chứa thông tin có thể, M là tập các thông điệp cần giấu |C| ≥ |M|.
E: C×M → C là hàm nhúng và D: C → M là hàm tách, với tính chất D(E (c, m) ) = m với m € M và c € C.
Trong giấu tin thuần tuý, độ bảo mật thông tin dựa trên chính thuật toán, phương tiện chứa trước và sau khi nhận tin giấu cũng phải được bảo vệ cẩn thận. Nếu đối phương tấn công vào nơi cất giữ phương tiện chứa, việc giấu thông tin sẽ không hiệu quả, khi đó đối phương không những phát hiện được việc liên lạc bí mật, mà còn lấy được cả thông tin giấu trong đó.
Phương pháp giấu tin thuần tuý phải được kết hợp với việc mã hoá thông tin. Trước tiên việc mã hoá sẽ làm tăng độ bảo mật của thông điệp, sau đó nhúng bản mã vào trong phương tiện chứa. Cách này sẽ làm tăng độ bảo mật và vẫn đảm bảo tính vô hình của kênh liên lạc, nó thực sự khó khăn cho việc phát hiện hay tấn công các thông điệp.
2.2.2 Giấu tin sử dụng khoá bí mật
Đối với hệ thống giấu thông tin thuần tuý, độ an toàn phụ thuộc hoàn toàn vào độ bí mật của thuật toán giấu và tách thông tin.
Để cho hệ thống an toàn hơn, người ta thực hiện trao đổi một số thông tin bí mật giữa hai đối tác. Trong hệ thống giấu tin với khoá bí mật, người gửi chọn phương tiện chứa thông tin, sử dụng khoá bí mật k, tiến hành nhúng thông điệp vào phương tiện chứa tin đó. Giấu tin với khoá bí mật vẫn phải đảm bảo phương tiện chứa (trước và sau khi giấu tin) phải giống nhau về cảm nhận, để tránh kẻ giám sát phát hiện được phiên liên lạc. Đây là một tiêu chuẩn khi chọn khoá.
Định nghĩa 2: Giấu tin sử dụng khoá bí mật
Bộ năm giá trị δ = (C, M, K, Dk, Ek) được gọi là hệ giấu tin sử dụng khoá bí mật, trong đó:
C là tập các phương tiện chứa có thể, M là tập các thông điệp cần giấu với |C| ≥ |M|, K là tập các khoá bí mật.
Ek: C ×M×K → C và Dk: C ×K → M với điều kiện Dk(Ek (c, m, k), k) = m với mọi m € M, c € C và k € K.
Giao thức truyền thông tin bằng giấu tin sử dụng khoá bí mật, yêu cầu các bên tham gia phải trao đổi khoá trước.
Có thể dùng một số đặc tính của chính phương tiện chứa làm khoá, hàm băm tính toán các giá trị này để làm khoá. Người nhận cũng tính hàm băm trên chính các giá trị này, để lấy khoá giải mã tách thông tin.
Với cách này, không phải trao đổi khoá trên kênh an toàn, nhưng vì hàm băm không phải là bí mật, nên việc liên lạc bí mật sẽ không đảm bảo.
Có thể chọn các thành phần quan trọng trong phương tiện chứa để làm khoá, các thành phần đó nếu bị thay đổi sẽ ảnh hưởng nghiêm trọng tới phương tiện chứa, và có thể nhận ra được.
2.2.3 Giấu tin với khoá công khai
Hệ thống giấu tin với khoá công khai cũng yêu cầu có hai khoá: khóa bí mật và khóa công khai. Khóa công khai được lưu trong Cơ sở dữ liệu khoá công khai, giống như mật mã với khoá công khai, và được dùng trong quá trình nhúng thông tin. Khoá bí mật chỉ người nhận mới biết và được dùng trong quá trình tách lấy thông tin, tái tạo lại thông điệp ban đầu.
Cách dễ nhất để xây dựng hệ thống giấu tin với khoá công khai là sử dụng hệ mật mã với khoá công khai. Giả sử hai đối tác đã trao đổi khoá công khai của thuật toán mã hoá công khai.
Nguyên lý của giấu tin với khoá công khai là dùng hàm giải mã D để giải mã trên mọi phương tiện chứa thông tin C, mà không cần quan tâm việc nó chứa hay không chứa thông điệp bí mật (D là hàm trên tập C). Trong trường hợp phương tiện chứa không có thông tin thu được khi giải mã, ta chỉ thu được các phần tử ngẫu nhiên m, ta gọi là các phần tử “ngẫu nhiên tự nhiên ” của phương tiện chứa.
Trong giao thức giấu tin với khoá công khai, khi cố gắng để tách tin, kẻ tấn công chỉ có thể nhận được các thông tin “ngẫu nhiên”, vì không có khoá giải mã tương ứng.
2. 3 GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN2.3.1 Giấu tin trong ảnh 2.3.1 Giấu tin trong ảnh
Giấu tin trong ảnh, hiện nay, là bộ phận chiếm tỉ lệ lớn nhất trong các hệ giấu tin trong đa phương tiện, bởi lượng thông tin được trao đổi bằng ảnh là rất lớn, mặt khác giấu tin trong ảnh đóng vai trò quan trọng trong các ứng dụng bảo vệ thông tin như: nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật... Chính vì thế vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới.
Thông tin được giấu vào dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi, và “khó” biết được đằng sau ảnh đó mang thông tin có ý nghĩa. Ngày nay, khi ảnh số đã được dùng phổ biến, thì giấu tin trong ảnh đã đem lại nhiều ứng dụng quan trọng trong đời sống xã hội.
Ví dụ như các nước phát triển, chữ kí tay đã được số hoá, lưu trữ, sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để nhận thực trong các thẻ tín dụng của người tiêu dùng.
Một đặc điểm của giấu tin trong ảnh là thông tin được giấu trong ảnh một cách vô hình. Nó như là một cách mà truyền thông tin mật cho nhau mà người khác “khó” thể biết được, bởi sau khi giấu tin, thì chất lượng ảnh gần như không thay đổi, đặc biệt là đối với ảnh mầu hay ảnh xám.
2.3.2 Giấu tin trong audio
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