Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
2,62 MB
Nội dung
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÀI TẬP LỚN ĐỀ TÀI: ẨNMÃANTOÀNĐỐIVỚIẢNHSỐ Sinh viên thực hiện: Hà Nội, 2018 MỤC LỤC DANH MỤC HÌNH VẼ LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH 1.1 Định nghĩa giấu tin ảnh 1.2 Mục đích giấu tin .5 1.3 Các yêu cầu giấu tin ảnh 1.4 Các đặc trưng giấu tin ảnh .6 1.5 Các phương pháp giấu tin ảnh 1.6 Mơ hình kỹ thuật giấu tin ảnh CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH 10 2.1 Ý tưởng 10 2.2 Phương pháp giấu tin cổ điển 10 a Mô tả 10 b Ví dụ 11 2.3 Phương pháp giấu tin nâng cao 12 a Mô tả 12 b Ví dụ 13 CHƯƠNG 3: DEMO ẨNMÃANTOÀNĐỐIVỚIẢNHSỐ 15 3.1 Chuẩn bị 15 3.2 Các bước thực 15 TÀI LIỆU THAM KHẢO 21 DANH MỤC HÌNH VẼ Hình 1.2: Hai lĩnh vực giấu thơng tin Hình 1.6.1: Giấu tin vào ảnh Hình 1.6.2: Tách tin từ ảnh giấu tin Hình 3.1: Giấu chữ A vào vị trí bit LSB Hình 3.2.1: Đọc file Cover, sử dụng định dạng phù hợp Hình 3.2.2: Tạo file chép từ Cover để chèn thơng điệp Hình 3.2.3: Chuyển đổi thơng điệp binary Hình 3.2.4: Sử dụng thuật tốn LSB Hình 3.2.5: Ghi kết vào đối tượng Hình 3.2.6: Lưu kết Hình 3.2.7: Lấy thơng tin ảnh Hình 3.2.8: Xét byte để tìm thơng điệp ẩn chứa Hình 3.2.9: Chuyển đổi thông điệp thu từ binary sang string lưu thơng điệp thu Hình 3.2.10: Chọn vật ẩnmã Hình 3.2.11: Chèn thơng tin ẩn vào ảnh Hình 3.2.12: Ảnh trước sau chèn thơng điệp ẩn hồn tồn khơng khác Hình 3.2.13: Trích xuất thơng điệp từ ảnhẩnmã Hình 3.2.14: Trích xuất thành công thông điệp ẩn LỜI MỞ ĐẦU Ngày nay, công nghệ thông tin ngày phát triển, giúp giới thay đổi theo hướng số hóa đại hóa Hầu hết tất ngành nghề có góp mặt công nghệ thông tin Tuy nhiên, kéo theo phát triển tồn song song hai mặt tốt xấu Mặt xấu an tồn bảo mật thơng tin Có thể coi giấu tin mật nghệ thuật khoa học truyền thơng vơ hình Nó ẩn thơng tin mật thơng tin khác, ẩn tồn thông tin truyền thông Đây kỹ thuật khó phức tạp, coi chìa khóa đến thắng lợi an tồn bảo mật thơng tin Bài báo cáo nói chi tiết “Ẩn mãantoànảnh số” Cụ thể, nội dung sâu phương pháp, kĩ thuật giấu tin ảnh Bài báo cáo gồm 03 chương: CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH CHƯƠNG 3: DEMO ẨNMÃANTOÀNĐỐIVỚIẢNHSỐ CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH 1.1 Định nghĩa giấu tin ảnh Giấu tin ảnh kỹ thuật giấu (nhúng) lượng thông tin số vào ảnhsố 1.2 Mục đích giấu tin Có mục đích giấu thơng tin: Bảo mật cho thông tin giấu Bảo mật cho đối tượng giấu tin Có thể nhận thấy khác biệt hai mục đích Trong thực tế hai mục đích phát triển thành hai lĩnh vực với yêu cầu tính chất khác Hình 1.2: Hai lĩnh vực giấu thơng tin Kỹ thuật giấu tin mật (Steganography): Mục đích để đảm bảo an tồn bảo mật thông tin giấu Các kỹ thuật giấu tin mật tập trung cho thông tin giấu nhiều người khác khó phát thơng tin có giấu ảnh Kỹ thuật thủy vân số (Watermarking): Mục đích để bảo mật cho đối tượng giấu tin đánh dấu, đảm bảo số yêu cầu đảm bảo tính bền vững, khẳng định quyền sở hữu hay phát xuyên tạc thông tin 1.3 Các yêu cầu giấu tin ảnh Những yêu cầu giấu tin ảnh: Tính ẩn giấu tin chèn vào ảnh: Sự diện giấu tin ảnh không làm ảnh hưởng tới chất lượng ảnh chèn tin Tính bền giấu tin: Cho phép tin tồn qua phép biến đổi ảnh, biến dạng hình học hay hình thức cơng cố ý khác Tính an tồn: khơng thể xố tin khỏi ảnh trừ ảnh biến đổi tới mức khơng mang thông tin 1.4 Các đặc trưng giấu tin ảnh Giấu tin ảnh chiếm vị trí chủ yếu kỹ thuật giấu tin Các phương tiện chứa khác có kỹ thuật giấu khác Dữ liệu ảnh có nhiều định dạng, định dạng có tính chất khác nên kỹ thuật giấu tin ảnh thường ý đặc trưng như: Kỹ thuật giấu phụ thuộc ảnh: Kỹ thuật giấu tin phụ thuộc vào loại ảnh khác Chẳng hạn ảnh đen trắng, ảnh xám hay ảnh màu ta có kỹ thuật riêng cho loại ảnh Giấu thông tin ảnh tác động lên liệu ảnh không thay đổi kích thước hình ảnh: Các thuật tốn thực công việc giấu tin thực liệu ảnh Dữ liệu ảnh bao gồm phần header, bảng màu (có thể có) liệu ảnh Do mà kích thước ảnh trước hay sau giấu tin Đảm bảo chất lượng sau giấu tin: Sau giấu tin bên trong, ảnh phải đảm bảo yêu cầu không bị biến đổi để bị phát dễ dàng sovớiảnh gốc Thông tin ảnh bị biến đổi có biến đổi ảnh: Vì phương pháp giấu thơng tin ảnh dựa việc điều chỉnh giá trị bit theo quy tắc giải mã theo giá trị để tìm thơng tin giấu Theo đó, phép biến đổiảnh làm thay đổi giá trị bit làm cho thơng tin giấu bị sai lệch Nhờ đặc điểm mà giấu thông tin ảnh có tác dụng nhận thực phát xuyên tạc thông tin 1.5 Các phương pháp giấu tin ảnh Có phương pháp giấu tin ảnh bản: Giấu tin miền không gian: Phương pháp thường nhúng thông tin vào bit có trọng số thấp ảnh hay áp dụng ảnh bitmap không nén, ảnh dùng bảng màu Ý tưởng phương pháp lấy bit tin mật rải lên ảnh gốc thay đổi bit có trọng số thấp ảnh bit tin mật Vì thay đổi bit có trọng số thấp khơng ảnh hưởng đến chất lượng ảnh, mắt người không cảm nhận thay đổiảnh giấu tin Các phương pháp dựa vào kỹ thuật biến đổi ảnh: Biến đổi từ miền không gian sang miền tần số Các phương pháp sử dụng mặt nạ giác quan: Dựa nguyên lý đánh lừa hệ thống giác quan người "Mặt nạ" ám tượng mắt người khơng cảm nhận tín hiệu bên cạnh tín hiệu định 1.6 Mơ hình kỹ thuật giấu tin ảnh Kỹ thuật giấu tin ảnh bao gồm hai trình: Quá trình 1: Giấu (nhúng) tin vào ảnh Hình 1.6.1: Giấu tin vào ảnh Đầu vào: Thơng tin giấu (Tùy theo mục đích người sử dụng mà thơng tin giấu thơng điệp, hình ảnh, video, âm ) Ảnh gốc: Là ảnh chọn làm môi trường để giấu tin Đầu ra: Ảnh giấu giấu tin Quá trình 2: Tách tin từ ảnh giấu tin Hình 1.6.2: Tách tin từ ảnh giấu tin Đầu vào: Ảnh giấu tin Khóa che giấu Đầu ra: Thơng tin giấu Ảnh gốc Q trình giải mã thực thơng qua thuật tốn/kỹ thuật tách tin tương ứng với thuật toán/kỹ thuật nhúng tin với khố che giấu q trình nhúng Kết thu gồm ảnh gốc thông tin giấu Thông tin giấu kiểm tra so sánh với thông tin ban đầu 10 CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH 2.1 Ý tưởng Bit LSB (Least Signification Bit) bit có trọng số thấp quan trọng nhất, nằm sau byte Ý tưởng kỹ thuật tiến hành giấu tin vào vị trí bit LSB phần tử bảng màu Đây phương pháp giấu tin đơn giản nhất, thông điệp dạng nhị phân giấu (nhúng) vào bit LSB nên ảnh hưởng tới việc định tới màu sắc điểm ảnh Vì màu sắc điểm ảnh tương đối gần với điểm ảnh cũ, mắt thường khó nhận thay đổi Ví dụ, đem giấu chữ A có mã ASCII 65 hay 01000001 vào byte file gốc: Hình 3.1: Giấu chữ A vào vị trí bit LSB 2.2 Phương pháp giấu tin cổ điển a Mô tả Giấu tin o Đầu vào: Ảnh gốc, thơng điệp bí mật, số bit LSB cần mã hóa o Đầu ra: Ảnh mang tin 11 Các bước thực hiện: Biểu diễn ma trận điểm ảnh dạng số thập phân với m x n phần tử, chuyển ma trận ảnh mảng chiều, chuyển điểm ảnh dạng nhị phân Biểu diễn thông điệp dạng số nhị phân Cứ bit ảnh tách bỏ số bit LSB ghép phần lại với bit nhị phân đầu thông điệp Thực lại bước lấy hết bit chuỗi nhị phân thông điệp ghép với bit ảnh Chuyển đổiảnh từ mảng chiều mảng chiều m x n phần tử, lúc thu ảnh giấu tin Tách tin o Đầu vào: Ảnh mang tin o Đầu ra: Ảnh tách tin, thông điệp mật Các bước thực hiện: Biểu diễn ma trận điểm ảnh dạng số thập phân với m x n phần tử, chuyển ma trận ảnh mảng chiều Chuyển bit ảnh dạng nhị phân, bit ảnh tách lấy bit bên phải Đem ghép kết lại với Kết thu sử dụng hàm chuyển đổi từ chuỗi số nhị phân chuỗi kí tự Sau lặp lại trình số lần số lần duyệt, thu nội dung thơng điệp b Ví dụ Giấu tin Giả sử ta có điểm ảnh sau: 123 197 213 255 Chuyển điểm ảnh dạng nhị phân: 01111011 11000101 11010101 11111111 12 Thơng điệp bí mật: chữ “a” có mã ASCII 97, biểu diễn dạng nhị phân sau: 01100001 Cứ bit ảnh, ta lấy bit đầu điểm ảnh ghép với bit thông điệp được: 01111001 11000110 11010100 11111101 Tách tin Lấy bit bên phải điểm ảnh mới: 011110-01 110001-10 110101-00 111111-01 Ghép lại với chuỗi nhị phân thơng điệp, chữ “a”: 01100001 2.3 Phương pháp giấu tin nâng cao a Mô tả Giấu tin o Đầu vào: Ảnh gốc, thơng điệp bí mật, khóa (8 bit), số bit LSB cần mã hóa o Đầu ra: Ảnh mang tin, khóa Các bước thực hiện: Biểu diễn ma trận điểm ảnh dạng số thập phân với m x n phần tử, chuyển ma trận ảnh mảng chiều, chuyển điểm ảnh dạng nhị phân Biểu diễn thông điệp dạng số nhị phân Sử dụng khóa bit (nếu khóa kí tự, chuyển khóa dạng mảng với thơng điệp) đem mã hóa với chuỗi thơng điệp bí mật phép XOR: bit khóa đem XOR với bit đầu vào thông điệp Thực lại bước nội dung thơng điệp mã hóa hết 13 Thơng điệp mã hóa đem giấu vào ảnh, tách lấy bit đầu bit ảnh đem ghép với bit đầu thông điệp chuyển dạng thập phân gán ngược lại vào ảnh Thực bước lấy hết bit chuỗi nhị phân thông điệp để ghép với bit ảnh Chuyển đổiảnh từ mảng chiều mảng chiều m x n phần tử, ảnh giấu tin Tách tin o Đầu vào: Ảnh giấu tin, khóa (8 bit), số bit thơng điệp cần mã hóa, số lần duyệt o Đầu ra: Ảnh tách tin, thông điệp mật Các bước thực hiện: Biểu diễn ma trận điểm ảnh dạng số thập phân với m x n phần tử, chuyển ma trận ảnh mảng chiều Chuyển bit ảnh dạng nhị phân, bit ảnh tách lấy bit bên phải Đem ghép kết lại với Kết thu sử dụng hàm chuyển đổi từ chuỗi số nhị phân chuỗi kí tự Sau lặp lại trình số lần số lần duyệt, thu nội dung thơng điệp mã hóa Sử dụng hàm giải mã thực giải mã thơng điệp khóa bit, thu kết nội dung gốc thơng điệp b Ví dụ Giấu tin Giả sử ta có điểm ảnh sau: 123 197 213 255 Chuyển điểm ảnh dạng nhị phân: 01111011 11000101 11010101 11111111 Thơng điệp bí mật: chữ “a” có mã ASCII 97, biểu diễn dạng nhị phân: 01100001 14 Nhập khóa, kí tự bit, giả sử chữ “b”, có dạng nhị phân sau: 01100010 Mã hóa thơng điệp dùng phép XOR(a, b) được: 00000011 Cứ bit ảnh, ta lấy bit đầu điểm ảnh ghép với bit thông điệp mã hóa được: 01111000 11000100 11010100 11111111 Tách tin Lấy bit bên phải điểm ảnh mới: 011110-00 110001-00 110101-00 111111-11 Ghép lại với chuỗi nhị phân thông điệp bị mã hóa: 00000011 Lúc xử dụng phép XOR thơng điệp mã hóa vừa tìm khóa nội dung thơng điệp giấu chữ “a”: 01100001 15 CHƯƠNG 3: DEMO ẨNMÃANTOÀNĐỐIVỚIẢNHSỐ 3.1 Chuẩn bị Yêu cầu: python 2.7, python-pil (cài đặt linux) Các file: main.py: Xử lý thông tin tùy chọn người dùng libStegoEncode.py: Các hàm ẩn thông điệp vào vật chứa libStegoDecode.py: Các hàm trích xuất thơng tin từ vật chứa 3.2 Các bước thực File libStegoEncode.py Đọc file Cover, sử dụng định dạng RGBA RGB Hình 3.2.1: Đọc file Cover, sử dụng định dạng phù hợp Lấy thơng tin kích thước ảnh, tạo đối tượng file chép từ file Cover để chèn thơng điệp Hình 3.2.2: Tạo file chép từ Cover để chèn thông điệp 16 Chuyển đổi thông điệp binary kèm theo độ dài thông điệp Chèn ký tự NULL vào cuối thơng điệp Hình 3.2.3: Chuyển đổi thông điệp binary Đọc pixel ảnh thay đổi giá trị theo thuật tốn LSB Hình 3.2.4: Sử dụng thuật toán LSB Ghi kết qủa vào đối tượng theo định dạng ảnh Hình 3.2.5: Ghi kết vào đối tượng Lưu kết ảnh Hình 3.2.6: Lưu kết 17 File libStegoDecode.py Đầu tiên, mở file Stego, lấy thông tin kích thước ảnh Hình 3.2.7: Lấy thơng tin ảnh Duyệt pixel ảnh, theo byte Nếu byte thỏa mãn bất biến chứa thơng điệp Lấy đội dài chuỗi Hình 3.2.8: Xét byte để tìm thơng điệp ẩn chứa 18 Duyệt tiếp byte theo độ dài chuỗi, sau đổi thơng điệp từ binary string Ghi lưu thông điệp vào file người dùng cho sẵn tên Hình 3.2.9: Chuyển đổi thơng điệp thu từ binary sang string lưu thông điệp thu Quá trình thực Chọn ảnh làm vật giấu tin Hình 3.2.10: Chọn vật ẩnmã Chèn text “Hello Everyone” vào file gốc Carrier.png, hành động ẩn message, xuất file Stego.png 19 Hình 3.2.11: Chèn thơng tin ẩn vào ảnh Sau chèn liệu, lúc có ảnhẩnmã (Stego.png) Nếu nhìn mắt thường, hai ảnh khơng có khác biệt Hình 3.2.12: Ảnh trước sau chèn thơng điệp ẩn hồn tồn khơng khác Sau chèn liệu ẩn vào ảnh thành cơng, thực trích xuất thơng điệp 20 Hình 3.2.13: Trích xuất thơng điệp từ ảnhẩnmã Sau thời gian, thông điệp trích xuất thành cơng hiển thị hình Hình 3.2.14: Trích xuất thành cơng thơng điệp ẩn 21 TÀI LIỆU THAM KHẢO [1] Nguyễn Diễm Hương, Kỹ thuật giấu tin k bit LSB ảnh, Khoa CNTT – Đại học Hải Phòng, 2012 [2] Ngơ Thái Hà, Nghiên cứu kỹ thuật bảo vệ quyền sản phầm đồ họa vectơ, Khoa Công nghệ thông tin trường Đại Học Thái Nguyên, 2008 [3] Ingemar Cox, Jeffrey Bloom, Matthew Miller, Ton Kalker, Lessica Fridrich, DigitalWatermarking anh Steganography, 2008 [4] URL: https://thesai.org/Downloads/Volume7No6/Paper_6- Secure_Steganography_for_Digital_Images.pdf 22 ... TRONG ẢNH CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH CHƯƠNG 3: DEMO ẨN Mà AN TOÀN ĐỐI VỚI ẢNH SỐ CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH 1.1 Định nghĩa giấu tin ảnh Giấu tin ảnh kỹ... Ví dụ 13 CHƯƠNG 3: DEMO ẨN Mà AN TOÀN ĐỐI VỚI ẢNH SỐ 15 3.1 Chuẩn bị 15 3.2 Các bước thực 15 TÀI LIỆU THAM KHẢO 21 DANH MỤC HÌNH VẼ Hình 1.2: Hai lĩnh... 3: DEMO ẨN Mà AN TOÀN ĐỐI VỚI ẢNH SỐ 3.1 Chuẩn bị Yêu cầu: python 2.7, python-pil (cài đặt linux) Các file: main.py: Xử lý thông tin tùy chọn người dùng libStegoEncode.py: Các hàm ẩn thông