Một số kỹ thuật giấu tin trong truyền thông đa phương tiện
Bạn đang xem 20 trang mẫu của tài liệu "Một số kỹ thuật giấu tin trong truyền thông đa phương tiện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- mot_so_ky_thuat_giau_tin_trong_truyen_thong_da_phuong_tien.ppt
Nội dung text: Một số kỹ thuật giấu tin trong truyền thông đa phương tiện
- Một số kỹ thuật giấu tin trong truyền thông đa phương tiện
- Nội dung trình bày • Giới thiệu về giấu tin • Thủy vân (Watermarking) • Phủ tin (Steganography) • Một số thuật toán giấu tin • Phương pháp giấu tin trong AVI • Demo chương trình • Q&A
- Nhu cầu sử dụng kĩ thuật giấu tin • Truyền tin mật (tin được giấu trong bản phủ - vật mang tin) • Bảo vệ bản quyền tác giả • Xác thực thông tin • Thêm tiêu đề, ghi chú vào ảnh. Thêm phụ đề hoặc tiếng lồng vào video. • Các trình duyệt thông minh tự động lấy các thông tin về bản quyền, thông tin về xếp hạng của tệp tin âm nhạc hay video • Kiểm sóat sao chép
- Mô hình hệ thống giấu tin Thông điệp Thông điệp Khóa Bản phủ Thuật toán Truyền qua Bộ tách Khóa nhúng mạng • Có hai kĩ thuật quan trọng trong giấu tin đó là: Phủ tin (Steganography) và Thủy vân (Watermarking) – Phủ tin: • Tư tưởng: giấu thông tin và đảm bảo bí mật sự tồn tài của thông điệp – Thủy vân • Tư tưởng: giấu thông tin và làm cho thông tin không cảm nhận được • Giấu tin khác với mã hóa (mã hóa dùng để bảo vệ nội dung của thông điệp)
- Các vấn đề cần quan tâm khi thực hiện giấu tin • Cảm nhận: Thông tin nhúng vào có làm “méo mó” bản gốc hay không • Dung lượng: Bao nhiêu thông tin có thể nhung trong ngưỡng cảm nhận cho phép • Bền vững trước các tấn công: Thông tin nhúng có thể tồn tại được trước các tấn công để phá hủy, gỡ và thay đổi dữ liệu nhúng hay không • Sự cân bằng giữa ba yếu tố trên: – Càng bền vững => Dung lượng càng thấp – Càng khó cảm nhận => Dung lượng càng thấp vv
- Yêu cầu Ứng dụng Truyền tin mật Bảo vệ bản quyền của ảnh (xác thực) Thêm tiêu đề, ghi chú vào ảnh. Thêm phụ đề hoặc tiếng lồng vào video. Bảo vệ toàn vẹn ảnh (phát hiện lỗi) Kiểm soát sao chép Các trình duyệt thông minh tự động lấy các Dung lượng thông tin về bản quyền, thông tin về xếp hạng Bền vững của tệp tin âm nhạc hay video Không nhìn thấy An toàn Độ phức tạp nhúng tin Độ phức tạp để phát hiện Yêu cầu Thấp Cao
- Mô hình tam giác Dung lượng Phủ tin chất phác Kĩ thuật phủ tin an toàn Thủy vân số An toàn Bền vững
- Phân loại các kĩ thuật giấu tin Data hiding Giấu thông tin Watermarking Steganography Thuỷ vân Phủ tin Robust Fragile Thuỷ vân bền vững Thuỷ vân dễ vỡ Imperceptible Visible Thuỷ vân ẩn Thuỷ vân hiển
- Môi trường giấu tin • Giấu tin trong văn bản: ví dụ như thêm các khoảng trống sau các dấu chấm câu, khoảng trống giữa các dòng văn bản, khoảng trống cuối câu • Giấu tin trong ảnh: thay đổi bit ít quan trọng của ảnh, nhiễu ngẫu nhiên • Giấu tin trong audio: mã hóa tần số thấp, nhiễu ngẫu nhiên không cảm nhận được • Giấu tin trong video: thay đổi các bít ít quan trọng trong các khung hình
- Miền giấu tin Miền không gian Trong miền tần số Nhúng dữ liệu trực tiếp Dữ liệu được nhúng vào bằng việc thay đổi giá trị miền biến đổi bằng cách thay các điểm ảnh đổi các hệ số + = DCT Inverse DCT Modify DCT
- Ví dụ về giấu tin 2 mức xám + = 5 mức xám + = Ảnh gốc 31 mức xám + =
- Thủy vân • Mục đích: Thông tin đem giấu mang một số thông tin về vật mang tin như chủ sở hữu, bản quyền hoặc các thông tin khác • Thủy vân có thể xem xét là một thuộc tính mở rộng của dữ liệu • Tính bền vững of của thủy vân là quan trọng nhất • Thủy vân có thể là ẩn hoặc hiện
- Khái niệm thủy vân • Thủy vân (watermarking) là việc nhúng một thông điệp có nội dung liên quan đến tác phẩm (bản phủ) vào chính tác phẩm đó mà không làm thay đổi nội dung của tác phẩm • Thủy vân tương đối giống với phủ tin (steganography), tuy nhiên có những điểm khác nhau: – Trong thủy vân thì thông điệp có liên quan đến vật mang tin – Phủ tin liên quan đến việc che đậy thông tin liên lạc điểm-điểm nên yêu cầu về tính bền vững không cao – Thủy vân có tính phòng thủ chống lại các hành động để gỡ bỏ nó
- Lịch sử của thủy vân • Hơn 700 năm trước, thủy vân được sử dụng ở Ý để chỉ ra hãng giấy và nhà máy sản xuất ra nó • Vào thế kỉ 18, thủy vân bắt đầu được sử dụng để chống làm giả tiền và một số tài liệu khác • Ví dụ đầu tiên của công nghệ tương tự thủy vân số là sáng chế được nộp năm 1954 của Emil Hembrooke về phân loại tác phẩm • Năm 1988, Komatsu Tominaga dường như là những người đầu tiên sử dụng thuật ngữ “thủy vân số" • Khoảng từ năm 1995 đến nay, nhu cầu về sử dụng thủy vân số tăng lên rất mạnh
- Các tấn công trên hệ thủy vân • Hệ thống thủy vân cần chống lại được một số phép xử lý ảnh thông thường và một số tấn công có chủ định đối với ảnh chứa thuỷ vân. Tuỳ theo mục tiêu bảo vệ, trong thực tế khi tiến hành thuỷ vân phải cân nhắc giữa tính bền vững với các thuộc tính khác như lượng thông tin giấu, tính ẩn Dựa vào những biến đổi có chủ định hay không có chủ định đối với hệ thuỷ vân mà ta có thể phân biệt thành một số loại tấn công sau: • - Biến đổi tín hiệu, làm sắc nét, thay đổi độ tương phản, màu, gam màu • - Nhiễu cộng, nhiễu nhân; • - Lọc tuyến tính; • - Nén mất thông tin; • - Giảm dữ liệu: cropping, sửa histogram; • - Thuỷ vân nhiều lần
- Phủ tin (steganography) • Định nghĩa:Nhúng thông tin vào vật mang tin sao cho sự tồn tại của thông tin không bị phát hiện. • Mục đích: truyền thông điệp bí mật bên trong phương tiện mang tin thông thường vì vậy sự tồn tại của thông điệp không bị phát hiện • Tính bền vững không quá quan trọng • Luôn luôn ẩn • Phụ thuộc vào định dạng của file
- LỊCH SỬ PHỦ TIN • 440 trước công nguyên Herodotus, một nhân vật Hy lạp cổ đại, ông ta đã gửi một nô lệ đến thành phố Miletus cho người thầy của mình là Histiaeus. Thông tin bí mật được săm trên đầu người nô lệ. Sau khi săm, anh ta được để cho mọc lại tóc để phủ lên thông điệp. Sau đó anh ta đi đến Miletus, ngay sau khi đến nơi Histiaeus cạo đầu người nô lệ và tấu trình với hoàng thân Aristagoras. Thông điệp được săm trên đầu người nô lệ khích lệ Aristagoras tiến hành cuộc bạo loạn chống lại nhà vua Ba tư. Trong ngữ cảnh này, vai trò của thông điệp có giá trị thiết thực với Histiaeus và người nô lệ chỉ đơn thuần là người mang tin. • Chiến tranh thế giới thứ nhất và thứ 2 Gián điệp Đức sử dụng mực không màu để in những vết rất nhở trên các bức thư
- Phủ tin sơ khai • Ảnh tượng hình: ví dụ Sherlock Holmes người ông đang nhảy. “Cứu tôi với”
- Phủ tin: Phương pháp thay thế bit (LSB) • Ảnh: thay thế bit ít quan trọng nhất (LSB – Least Significant Bit) của ảnh bằng các bit của thông điệp cần giấu • Dữ liệu ẩn trong “nhiễu” của ảnh • Phương pháp này có thể giấu được nhiều dữ liệu • Dễ vỡ trước các tấn công ảnh
- Phủ tin: Phương pháp thay thế bit (LSB) Ví dụ: 3 điểm màu của ảnh 24bit (00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001) Khi kí tự “A” – có giá trị nhị phận là 10000001, được chèn vào: (00100111 11101000 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001) Chỉ có ba bit (gạch chân) cần thiết phải thay đổi để có thể chèn thành công kí tự “A”.
- LSB TUYỆT MẬT + = ảnh 8-bit (256 xams)
- LSB sửa đổi Hy sinh 2 bits của ảnh gốc để chứa 2 bits của ảnh bí mật Ảnh chứa ảnh bí mật Ảnh bí mật được tách ra
- LSB sửa đổi Hy sinh 5 bits của ảnh gốc để chứa 5 bits của ảnh bí mật Ảnh chứa ảnh bí mật Ảnh bí mật được tách ra
- Thuật toán giấu tin theo khối bit • Input – Một ảnh nhị phân F – Dãy bít cần giấu b1 b2 bN với N cho trước • Output • Ảnh nhị phân G được biến đổi từ F và G có chứa dãy bít b1 b2 bN • Nội dung thuật toán • Bước 1: Chia ảnh gốc F thành các ma trận điểm ảnh Fi có kích thước mxn. Để không mất tính tổng quát, chúng ta giả sử F luôn chia được thành N khối kích thước mxn • Bước 2: Với mỗi khối Fi (i = 1,2, .,N) sẽ tiến hành giấu một bit bi (bi = 0 hoặc bi =1) bằng cách biến đổi Fi thành Gi sao cho Gi thỏa mãn bất biến sau: • Bước 3: Kết hợp các khối Gi ta sẽ thu được ảnh G chứa dãy bít b1 b2 bN
- Thuật toán giấu tin theo khối bit • Quá trình giải tin. • Khi nhận được ảnh đã giấu tin, quá trình giải mã tin sẽ được thực hiện theo các bước sau đây. • Chia ảnh thành các khối có kích thước giống kích thước khối đã sử dụng khi thực hiện giấu, đây chính là khoá để giải mã. • Với mỗi khối việc giải tin theo quy tắc: đếm số bít 1 trong khối, nếu tổng số bít 1 là lẻ thì thu được bít 1, ngược lại thu được bít 0. Và cứ tiếp tục cho đến khi hết các khối đã giấu. • Như vậy, sau khi xét hết các khối đã giấu ta thu được một chuỗi bit. Chuỗi bit này chính là thông tin đã giấu trong ảnh nhị phân.
- Thuật toán Wu-Lee Tư tưởng giấu tin của Wu - Lee Chia ảnh môi trường thành các khối điểm ảnh có cùng kích thước mxn. Với mỗi khối điểm ảnh F (ma trận điểm ảnh) có thể được giấu tối đa 1 bit b (b= 0 hoặc b = 1). Quá trình giấu tin sẽ thực hiện biến đổi ma trận nhị phân F thành ma trận G nhưng giữa F và G chỉ khác nhau tối đa là một vị trí.
- Thuật toán Wu-Lee • Giả sử ta cần giấu dãy bit b1b2b3 = 011 vào một ảnh kích thước 6x6 với ma trận khóa K có kích thước 3x3 như trong hình vẽ. Ta chia ảnh F thành 4 khối ảnh nhỏ với mỗi khối kích thước là 3x3 ta thu được F1, F2, F3, F4.
- Ví dụ minh họa thuật toán Wu-Lee F1 F2 G1 G2 0 1 0 1 0 1 Giữ liệu cần giấu: b1b2b3 =011 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 F3 F4 K G3 G4
- Ví dụ minh họa thuật toán Wu-Lee - Với F1, 0< SUM(F1 K) = 3 < SUM(K) nên thuật toán sẽ giấu b1 (b1=0) vào F1 bằng cách biến đổi F1 thành G1 sao cho SUM(G1 K) mod 2 = b1. Trong trường hợp này, SUM(F1 K) thoả T/h 4 tại Bước 3 trong thuật toán, do vậy chúng ta sẽ đảo giá trị tại phần tử (i,j) của F1 ứng với Ki,j = 1. Giải sử ta chọn phần tử (1,2) kết quả sẽ thu được như G1 - Vì SUM(F2 K) = 0 nên khối F2 sẽ không được dùng để giấu dữ liệu do vậy G2 = F2. - Với F3, do F3 thoả mãn điều kiện 0< SUM(F3 K) = 3 < SUM(K), nên thuật toán sẽ thực hiện giấu b2 vào F3. Trong trường hợp này, ta thấy SUM(F3 K) mod 2 = 1 = b2 nên không cần biến đổi F3 và G3 bằng F3. - Với F4, 0< SUM(F4 K) = 4 <SUM(K) nên thuật toán sẽ thực hiện giấu bit b3 = 1 vào khối F4bằng cách biến đổi F4thành G4 thoả mãn tính chất (2) và (3). Do SUM(F4 K) = SUM(K) -1 nên chúng ta chọn ngẫu nhiên phần tử (i,j) mà F4(i,j) = 1 mà Ki,j = 1 và thay đổi F4(i,j) = 0.Giả sử ta chọn phần tử (3,3) kết quả sẽ thu được như G4.
- Biến đổi DCT Sơ đồ mã hóa và giải mã dùng biến đổi DCT
- Biến đổi DCT Vì ảnh gốc có kích thước rất lớn cho nên trước khi đưa vào biến đổi DCT, ảnh được phân chia thành các khối vuông, mỗi khối này thường có kích thước 8 x 8 pixel và biểu diễn các mức xám của 64 điểm ảnh, các mức xám này là các số nguyên dương có giá trị từ 0 đến 255. Việc phân khối này sẽ làm giảm được một phần thời gian tính toán các hệ số chung, mặt khác biến đổi cosin đối với các khối nhỏ sẽ làm tăng độ chính xác khi tính toán với dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinh ra. 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99
- Một số công cụ thương mại của thủy vân và phủ tin • Digimarc ImageBridge – Giấu tin trong ảnh • Digimarc MarcSpider – Kiểm soát tất cả các ảnh có dấu Digimarc trên mạng internet • Digimarc cung cấp giải pháp nhận thực bí mất cho hơn 200 đơn vị của 24 chính phủ trên thế giới
- Phương pháp giấu tin trong tập video Tệp tin AVI độ nét cao đơn giản chỉ là nối tiếp liên tục các hình ảnh có độ phân giải cao, được gọi là các khung (frames). Trước tiên, chúng ta sẽ chạy một đoạn video và thu lại tất cả các khung dưới dạng bitmap như ở hình dưới đây. Đồng thời chúng ta cũng thu thập một số thông tin sau: a. Khung bắt đầu (starting frame): Đó là khung đầu tiên mà từ đó thuật toán bắt đầu nhúng thông điệp
- Phương pháp giấu tin trong tập video Tệp tin AVI độ nét cao đơn giản chỉ là nối tiếp liên tục các hình ảnh có độ phân giải cao, được gọi là các khung (frames). Trước tiên, chúng ta sẽ chạy một đoạn video và thu lại tất cả các khung dưới dạng bitmap như ở hình dưới đây. Đồng thời chúng ta cũng thu thập một số thông tin sau: a. Khung bắt đầu (starting frame): Đó là khung đầu tiên mà từ đó thuật toán bắt đầu nhúng thông điệp
- Phương pháp giấu tin trong tập video b. Khối macro (macroblock) đầu tiên: chỉ ra khối macro trong khung đã chọn để từ đó thuật toán bắt nhúng thông điệp c. Số lượng khối macro: xác định có bao nhiêu khối macro trong một khung được sử dụng để giấu dữ liệu. Các khối macro này có thể là khung liên tiếp dựa trên kiểu định trước. Rõ ràng là chúng ta càng sử dụng nhiều khối macro thì càng làm tăng khả năng giấu tin hơn. Ngoài ra, nếu kích thước của thông điệp cố định thì số lượng các khối macro này cũng cố định. Ngược lại nó sẽ thay đổi một cách linh động
- Phương pháp giấu tin trong tập video d. Chu kỳ khung (frame period): xác định số lượng các khung sẽ bỏ qua trước khi thuật toán lặp lại quá trình nhúng thông điệp. Nếu chu kỳ khung quá nhỏ và thuật toán lặp lại thông điệp thường xuyên, điều đó có thể ảnh hưởng đến hiệu quả của bộ nhúng. Nếu đoạn video đủ lớn, chu kỳ khung có thể rộng hơn một cách tương ứng.
- Phương pháp giấu tin trong tập video Thông điệp bí mật Khung AVI Các khung AVI Tập tin Khung AVI AVI chứa thông điệp bí mật Tập tin AVI
- Tính toán năng lực giấu tin Chúng ta thử tính toán với trường hợp khung có kích thước 2048 x 1024 và đoạn video có 3000 khung. Ta có công thức dưới đây: (((Chiều rộng x chiều cao) x 3 bits)/8 bits)/3 bytes x 3000 khung = kí tự/ video Các bước tính toán kích thước tối đa của dữ liệu đem giấu: – Mỗi khung = 2048 x 1024 = 2.097.152 điểm ảnh – Mỗi điểm ảnh bao gồm 3 bytes (Mỗi byte chúng ta sử dụng một bit để mã hóa dữ liệu giấu) R = 1 bit, G =1 bit và B = 1 bit. – Mỗi khung = Số điểm ảnh x 3 = 2.097.152 x 3 = 62.915.456 bits – Mỗi khung chúng ta có thể có tối da dữ liệu giấu là 62.915.456 bits/8bits = 786.432 bytes – Nếu video có 3000 khung = 786.432 x 3000 = 2.359.296.000 bytes (1 bytes kí tự) – Với mỗi kí tự Unicode chúng ta cần 3 bytes/1 kí tự Unicode = 2.359.296.000 bytes/3 = 786.432.000 kí tự
- Chương trình Demo
- Em xin chân thành cảm ơn