Một số kỹ thuật phát hiện tin ẩn giấu trên miền dữ liệu biến đổi của ảnh Ket noi com kho tài liệu miễn phí MỤC LỤC 2LỜI CẢM ƠN 3GIỚI THIỆU 4CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 41 1 Định nghĩa kỹ t[.]
Ket-noi.com kho tài liệu miễn phí MỤC LỤC LỜI CẢM ƠN GIỚI THIỆU CHƯƠNG TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN .4 1.1 Định nghĩa kỹ thuật giấu tin 1.2 Phân loại kỹ thuật giấu tin .4 1.2.1 Giấu tin mật .5 1.2.2 Thủy vân số .5 1.3 Giấu tin Audio 1.4 Giấu tin video .6 1.5 Giấu tin ảnh CHƯƠNG CẤU TRÚC CỦA MỘT SỐ ẢNH ĐẶC TRƯNG 2.1 Cấu trúc ảnh BMP 2.2 Cấu trúc ảnh PNG 2.3 Ảnh JPEG 10 CHƯƠNG KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT .12 3.1 Phép biến đổi cosin rời rạc 13 3.2 Kỹ thuật nén ảnh dạng chuẩn jpeg dùng biến đổi cosin rời rạc 14 3.2.1 Mã hoá giải mã dùng biến đổi DCT 14 3.2.2 Lượng tử giải lượng tử .16 3.2.3 Mã hóa giải mã jpeg 16 3.3 Một số kỹ thuật giấu tin miền biến đổi DCT 17 3.3.1 Thuật toán JSteg 17 3.3.2 Thuật toán OutGuess 0.1 .18 3.3.3 Thuật toán F5 18 CHƯƠNG KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT 24 4.1 Phát tin ẩn giấu (Steganalysis) 24 4.2 Kỹ thuật phát thống kê 25 4.3 Kỹ thuật phát F5 27 4.4 Kết thực nghiệm 29 4.4.1 Kỹ thuật phát thống kê 29 4.4.2 Kỹ thuật phát F5 30 KẾT KUẬN 31 TÀI LIỆU THAM KHẢO .32 Ket-noi.com kho tài liệu miễn phí LỜI CẢM ƠN Trước tiên, em xin chân thành cảm ơn cô giáo Thạc sỹ Hồ Thị Hương Thơm tận tình hướng dẫn giúp đỡ em qúa trình tìm tài liệu, trình nghiên cứu, tìm hiểu xây dựng, triển khai đề tài Em xin cảm ơn thầy tổ mơn tin học, phịng đào tạo, ban giám hiệu Trường Đại học dân lập Hải Phòng giảng dạy kiến thức, tạo điều kiện giúp đỡ em trình học tập trường Cuối em xin cảm ơn chăm sóc người thân, gia đình, động viên, giúp đỡ bè bạn tạo điều kiện giúp em hoàn thành tốt qúa trình nghiên cứu thực tập thực đề tài Mặc dù cố gắng nghiên cứu, tìm hiểu hoàn thành báo cáo phạm vi khả cho phép song chắn không tránh khỏi thiếu sót Em mong nhận thơng cảm, góp ý tận tình bảo thầy cô bạn Ket-noi.com kho tài liệu miễn phí GIỚI THIỆU Steganography lĩnh vực khoa học nghệ thuật giấu thông tin đa phương tiện Hệ thống steganography giấu thông tin mật số vào đối tượng số khác mà khó bị phát kỹ thuật thông thường Trước người sử dụng ẩn hình xăm mực vơ hình để truyền thơng điệp mật Ngày nhờ có máy tính cơng nghệ mạng cơng việc truyền thơng tin mật trở nên dễ dàng hiệu Về bản, quy trình ẩn thơng tin hệ thống steganography bắt đầu cách thay đổi bit dư thừa đối tượng mang tin bit liệu cần giấu (thay đổi bit không làm ảnh hưởng nhiều đến đối tượng ban đầu vật mang tin) ta đối tượng có chứa thông tin ẩn thường gọi Stego Nhưng q trình truyền đối tượng stego mơi trường truyền thơng bit dư thừa bị mát trình nén bị tác động số phép biến đổi hình học Do để tránh mát xẩy người ta thường dùng số phép biển đổi DCT (Discrete cosine transform), DWT (Discrete wavelete transform), DFT (Discrete fourier transform) để biến đổi miền liệu vật mang tin sang miền tần số sau giấu liệu dùng phép biến đổi IDCT, IDWT, IDFT để chuyển ngược lại liệu ban đầu Trong số lĩnh vực cần kiểm sốt thơng tin môi trường truyền thông công cộng việc phân loại đối tượng số vấn đề quan Trong đồ án giới thiệu số kỹ thuật phát tin ẩn giấu miền biến đổi ảnh số có sử dụng kỹ thuật steganography: Jsteg, F5 Các kỹ thuật trình bày chi tiết chương Trong chương trình bày kỹ thuật phát phát ảnh có giấu tin sử dụng kỹ thuật chương 3 Ket-noi.com kho tài liệu miễn phí CHƯƠNG TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 1.1 Định nghĩa kỹ thuật giấu tin - Giấu thông tin kỹ thuật nhúng (giấu) lượng thơng tin số vào đối tượng liệu số khác [5] - Yêu cầu giấu tin đảm bảo tính chất ẩn thông tin giấu đồng thời không ảnh hưởng đến chất lượng liệu gốc - Sự khác biệt mã hố thơng tin giấu thơng tin là: mã hố làm cho thơng tin rõ có mã hố hay khơng cịn giấu thơng tin người ta khó biết có thơng tin giấu bên 1.2 Phân loại kỹ thuật giấu tin Infomation hiding Giấu thông tin Watermarking Thuỷ vân số Steganography Giấu tin mật Linguistic Steganography Giấu tin ngôn ngữ Technical Steganography Kỹ thuật giấu tin Robust Copyright marking Thuỷ vân bền vững Imperceptible Watermarking Thuỷ vân ẩn Fragile Watermarking Thuỷ vân “dễ vỡ” Visible Watermarking Thuỷ vân hiển Hình 1.1: Các kỹ thuật che giấu thông tin - Kỹ thuật giấu tin nhằm mục đích đảm bảo an tồn bảo mật thơng tin hai khía cạnh: Ket-noi.com kho tài liệu miễn phí + Một bảo mật cho liệu đem giấu + Hai bảo mật cho đối tượng dùng để giấu tin - Từ hai khía cạnh khác dẫn đến hai khuynh hướng kỹ thuật chủ yếu giấu tin là: 1.2.1 Giấu tin mật (Steganography): khuyng hướng tập trung vào kỹ thuật giấu tin cho thông tin giấu nhiều tốt quan trọng người khác khó phát đối tượng có bị giấu tin bên hay không kỹ thuật thông thường 1.2.2 Thủy vân số (Watermarking): đánh giấu vào đối tượng nhằm khẳng định quyền sở hữu hay phát xuyên tạc thông tin Thủy vân số phân thành loại thủy vân bền vững thủy vân dễ vỡ - Thuỷ vân bền vững: thường ứng dụng ứng dụng bảo vệ quyền Thuỷ vân nhúng sản phẩm hình thức dán tem quyền Trong trường hợp này, thuỷ vân phải tồn bền vững với sản phẩm nhằm chống việc tẩy xoá, làm giả hay biến đổi phá huỷ thuỷ vân + Thuỷ vân ẩn: giống giấu tin, mắt thường khơng thể nhìn thấy thuỷ vân + Thuỷ vân hiện: loại thuỷ vân sản phẩm người dùng nhìn thấy - Thủy vân dễ vỡ: kỹ thuật nhúng thuỷ vân vào ảnh cho phân bố sản phẩm mơi trường mở có phép biến đổi làm thay đổi đối tượng sản phẩm gốc thuỷ vân giấu đối tượng khơng cịn ngun vẹn trước dấu (dễ vỡ) 1.3 Giấu tin Audio Ket-noi.com kho tài liệu miễn phí Kỹ thuật giấu thơng tin audio phụ thuộc vào hệ thống thính giác người (HAS – Human Auditory System) HAS cảm nhận tín hiệu dải tần rộng công suất thay đổi lớn, lại việc phát khác biệt nhỏ dải tần cơng suất Điều có nghĩa âm to, cao tần che giấu âm nhỏ thấp cách dễ dàng Kênh truyền tin vấn đề Kênh truyền hay băng thông chậm ảnh hưởng đến chất lượng thông tin sau giấu Giấu thông tin audio yêu cầu cao tính đồng tính an tồn thông tin 1.4 Giấu tin video Giấu tin video quan tâm phát triển mạnh mẽ cho nhiều ứng dụng điều khiển truy cập thông tin, nhận thực thông tin bảo vệ quyền tác giả Ta lấy ví dụ hệ thống chương trình trả tiền xem theo video clip thuật toán trước thường cho phép giấu ảnh vào video, gần kỹ thuật cho phép giấu âm ảnh vào video 1.5 Giấu tin ảnh Giấu thông tin ảnh chiếm tỷ lệ lớn chương trình ứng dụng, phần mềm, hệ thống giấu tin đa phương tiện lượng thông tin trao đổi trao đổi ảnh lớn, giấu thơng tin ảnh đóng vai trị quan trọng hầu hết ứng dụng bảo vệ an tồn thơng tin như: nhận thực thơng tin, xác định xuyên tạc thông tin, bảo vệ quyền tác giả, điều khiển truy cập, giấu thông tin mật… Chính mà vấn đề nhận quan tâm lớn nhà cá nhân, tổ chức, trường đại học, viện nghiên cứu giới Thông tin giấu với liệu ảnh chất lượng ảnh thay đổi chẳng biết đằng sau ảnh mang thơng tin có ý nghĩa Ngày nay, ảnh số sử dụng phổ biến, giấu thơng tin Ket-noi.com kho tài liệu miễn phí ảnh đem lại nhiều ứng dụng quan trọng nhiều lĩnh vực đời sống xã hội Ví dụ nước phát triển, chữ kí tay số hố lưu trữ sử dụng hồ sơ cá nhân dịch vụ ngân hàng tài chính, dùng để nhận thực thẻ tín dụng người tiêu dùng Phần mềm WinWord MicroSoft cho phép người dùng lưu trữ chữ kí ảnh nhị phân gắn vào vị trí file văn để đảm bảo tính an tồn thơng tin Tài liệu sau truyền trực tiếp qua máy fax lưu truyền mạng Theo đó, việc nhận thực chữ kí, xác thực thơng tin trở thành vấn đề quan trọng mà việc ăn cắp thông tin hay xuyên tạc thông tin tin tặc trở thành vấn nạn quốc gia nào, tổ chức Thêm vào đó, lại có nhiều loại thơng tin quan trọng cần bảo mật thông tin an ninh, thông tin bảo hiểm hay thông tin tài chính, thơng tin số hố lưu trữ hệ thống máy tính hay mạng Chúng dễ bị lấy cắp bị thay đổi phần mềm chuyên dụng Việc nhận thực phát thông tin xuyên tạc trở nên vô quan trọng, cấp thiết Và đặc điểm giấu thơng tin ảnh thơng tin giấu ảnh cách vơ hình, cách mà truyền thông tin mật cho mà người khác biết sau giấu thơng tin chất lượng ảnh gần không thay đổi đặc biệt ảnh mầu hay ảnh xám Ket-noi.com kho tài liệu miễn phí CHƯƠNG CẤU TRÚC CỦA MỘT SỐ ẢNH ĐẶC TRƯNG 2.1 Cấu trúc ảnh BMP Một file *.BMP chia làm phần chính: BitmapHeader, Palette màu BitmapData + BitmapHeader: Byte thứ Ý nghĩa Giá trị 1-2 Nhận dạng file ‘BM’ hay 19778 3-6 Kích thước file Kiểu long Turbo C 7-10 Dự trữ Thường mang giá trị 11-14 Byte bắt đầu vùng liệu Offset byte bắt đầu vùng liệu 15-18 Số byte cho vùng info byte 19-22 Chiều rộng ảnh BMP Tính pixel 23-26 Chiều cao ảnh BMP Tính pixel 27-28 Số Planes màu Cố định 29-30 Số bit cho pixel Có thể 1, 4, 8, 16, 24 tuỳ theo loại ảnh 31-34 Kiểu nén liệu 0: không nén 1: Nén runlength 8bit/pixel 2: Nén runlength 4bit/pixel 35-38 Kích thước ảnh Tính byte Ket-noi.com kho tài liệu miễn phí 39-42 Độ phân giải ngang Tính pixel/metter 43-46 Độ phân giải dọc Tính pixel/metter 47-50 Số màu sử dụng ảnh 51-54 Số màu sử dụng để hiển thị ảnh + Palette màu: Kích thước vùng Palette màu 4*số màu ảnh Vì Palette màu hình có cấu tạo theo thứ tự Red-Green-Blue, nên đọc palette màu ảnh BMP vào ta phải chuyển đổi lại cho phù hợp Số màu ảnh biết dựa số bit cho pixel cụ thể là: bit/pixel: ảnh 256 màu, 4bit/pixel: ảnh 16 màu, 24bit/pixel ảnh 24 bit màu + BitmapData : Phần kề tiếp sau Palette màu BMP Đây phần chứa giá trị màu điểm ảnh BMP Các điểm ảnh lưu theo thứ tự từ trái qua phải dòng dòng lại lưu theo thứ tự lên Mỗi Byte vùng BitmapData biểu diễn nhiều điểm ảnh tùy theo số bits cho pixel 2.2 Cấu trúc ảnh PNG PNG (từ viết tắt tiếng Anh Portable Network Graphics) dạng hình ảnh sử dụng phương pháp nén liệu - không làm liệu gốc PNG tạo nhằm cải thiện thay định dạng ảnh GIF với định dạng hình ảnh khơng địi hỏi phải có giấy phép sáng chế sử dụng PNG hỗ trợ thư viện tham chiếu libpng, thư viện tảng độc lập bao gồm hàm C để quản lý hình ảnh PNG - Cấu trúc ảnh PNG: Ket-noi.com kho tài liệu miễn phí + Phần đầu tập tin: Một tập tin PNG bao gồm 8-byte (kí hiệu 89 50 4E 47 0D 0A 1A 0A) viết hệ thống có số 16, chứa chữ "PNG" dấu xuống dòng, xếp theo số lượng thành phần, thành phần chứa thông tin hình ảnh Cấu trúc dựa thành phần thiết kế cho phép định dạng PNG tương thích với phiên cũ sử dụng + Các thành phần tập tin: PNG cấu trúc chuỗi thành phần, thành phần chứa kích thước, kiểu, liệu, mã sửa lỗi CRC Chuỗi gán tên chữ phân biệt chữ hoa chữ thường Sự phân biệt giúp giải mã phát chất chuỗi khơng nhận dạng Với chữ đầu, viết hoa thể chuỗi thiết yếu Chuỗi thiết yếu chứa thông tin cần thiết để đọc tệp giải mã không nhận dạng chuỗi thiết yếu, việc đọc tệp phải hủy 2.3 Ảnh JPEG JPEG viết tắt của Joint Photographic Experts Group [5], nhóm nhà nghiên cứu phát minh định dạng để hiển thị hình ảnh đầy đủ màu (full-colour) cho định dạng di động mà kích thước file lại nhỏ Giống ảnh GIF, JPEG sử dụng nhiều Web Lợi ích chúng GIF chúng hiển thị hình ảnh với màu xác true-colour (chúng lên đến 16 triệu màu), điều cho phép chúng sử dụng tốt cho hình ảnh chụp hình ảnh minh họa có số lượng màu lớn Các ảnh JPEG làm suốt chuyển động - trường hợp bạn sử dụng định dạng GIF (hoặc định dạng PNG để tạo suốt) 10 Ket-noi.com kho tài liệu miễn phí Thuật tốn mơ tả theo hình vẽ sau: Hình 3.2 : Mơ tả q trình giấu tin hệ số DCT thuật toán J-steg 3.3.2 Thuật toán OutGuess 0.1 Thuật toán OutGuess 0.1 phiên đề xuất Niels Provos [4] thuật toán cải tiến từ thuật toán JSteg cách sử dụng khởi tạo số giả ngẫu nhiên để chọn hệ số DCT ngẫu nhiên Hệ số DCT chọn ngẫu nhiên thay bit LSB hệ số với bit mã hố thơng điệp mật cần giấu Thuật tốn OutGuess 0.1 3.3.3 Thuật toán F5 Thuật toán F5 đề xuất nhà khoa học người Đức Pfitzmann Westfeld vào năm 2001[3] Thuật tốn nhúng thơng điệp vào LSB hệ số DCT theo bước giả ngẫu nhiên thông qua tất hệ số DCT ảnh cover bỏ qua hệ số DC (DCT=64) hệ số 18 Ket-noi.com kho tài liệu miễn phí Nếu LSB hệ số DCT không phù hợp với bit thông điệp, giá trị tuyệt đối hệ số giảm Nếu phép trừ dẫn đến bit thơng điệp phải nhúng vào hệ số tiếp theo, phía người nhận, thông điệp lấy hệ số DCT khác Đặc biệt F5 sử dụng ma trận mã hoá (matric encoding) để giảm thiểu số thay đổi cần thiết giấu thông điệp Với cách thức giảm thiểu tối đa khoảng 50% thay đổi ảnh so với Jsteg Theo miêu tả thuật toán F5 phiên 11, chương trình u cầu thơng tin vào gồm có Yếu tố chất lượng Q ảnh stego Ảnh vào ( dạng TIFF, BMP, JPEG, GIF) Tên tệp đầu Tệp chứa thơng điệp bí mật Mật người dùng sử dụng cho tạo giả ngẫu nhiên PRNG Chú thích chèn vào phần header ảnh (thường độ dài thông điệp) Matrix encoding có tham số (c,n,k) với c số thay đổi nhóm gồm n hệ số DCT, k số bit nhúng Trong [8] tác giả sử dụng matrix encoding đơn giản (1,2k-1,k), sử dụng hàm băm để đưa k bit áp dụng cho 2k –1 hệ số Ví dụ, muốn nhúng bit x1,x2 (k=2) vào nhóm hệ số (221=3) a1, a2, a3 thay đổi vị trí Chúng ta bắt gặp trường hợp xẩy sau: x1=a1 a3, x2= a2 a3 khơng thay đổi x1a1 a3, x2= a2 a3 thay đổi a1 x1=a1 a3, x2 a2 a3 thay đổi a2 19 Ket-noi.com kho tài liệu miễn phí x1a1 a3, x2 a2 a3 thay đổi a3 Từ ta lấy x1, x2 dựa vào trường hợp Trường hợp tổng quát, có từ mã a với n vị trí bit thay đổi cho k bit thơng điệp mật x Đặt f hàm băm dùng để lấy k bit từ từ mã Matrix encoding giúp tìm thay đổi phù hợp a thành a’ đổi với a x với x=f(a’) cho khoảng cách Hamming d(a,a’)