Khái niệm về ẩn giấu dữ liệu - Ẩn giấu dữ liệu Steganograophy là kĩ thuật nhúng những thông tin vào bên trong một file dữ liệu, ví dụ như file audio, file image, file text,.... - The wi
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KĨ THUẬT THÔNG TIN
NHẬP MÔN BẢO ĐẢM VÀ AN NINH THÔNG TIN
BÁO CÁO THỰC HÀNH LAB 3
GVHD: TS Nguyễn Tấn Cầm
Nguyễn Ngọc Quí
Lớp: IE105.O21 Sinh viên thực hiện:
Phạm Gia Bảo – 22520115
Đào Thanh Phúc – 22521111
Võ Chính Hiệu – 22520449 Trần Trung Hiếu – 22520446 Trần Gia Huy – 22520575
Tp Hồ Chí Minh, 02/2024
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……., ngày…… tháng……năm 2024
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 3MỤC LỤC
I MỤC LỤC HÌNH ẢNH 4
II CƠ SỞ LÝ THUYẾT 5
a) Steganography hình ảnh 7
b) Steganography video 7
c) Steganography audio 8
d) Steganography document 8
a) Chèn LSB(Least Significant Bit) 9
b) Che giấu và lọc(Masking and Filtering) 9
c) Thuật toán và biến đổi(Algorithms and Transformations) 10
III BÀI LÀM (Giấu thông điệp trong file) 11
IV KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 4I MỤC LỤC HÌNH ẢNH
Hình 1 Hình không có thông tin được ẩn giấu 5
Hình 2 Hình có thông tin được ẩn giấu 5
Hình 3 Quá trình ẩn giấu thông tin 6
Hình 4 Quá trình lấy thông tin được ẩn giấu 7
Hình 5 Steganography Image 7
Hình 6 So sánh mức tín hiệu của một tệp âm thanh trước và sau khi ẩn giấu dữ liệu 8
Hình 7 Chèn các bit vào ảnh 9
Hình 8 Hình ảnh khi được sử dụng phương pháp Mask and filter để chèn thông điệp 10
Hình 9 Mã giả đơn giản để ẩn thông tin bên trong file ảnh JPEG 11
Hình 10 Giao diện phần mềm OpenPuff 11
Hình 11 File thông điệp cần ẩn giấu 12
Hình 12 File jpg dùng để chứa thông điệp 12
Hình 13 Chọn Hide 13
Hình 14 Nhập password 13
Hình 15 Chọn Browse 14
Hình 16 Chọn file thông điệp muốn giấu 14
Hình 17 Chọn Add 15
Hình 18 Chọn file ảnh dùng để giấu thông điệp 15
Hình 19 Chọn Hide Data 16
Hình 20 Chọn nơi để lưu các file 16
Hình 21 Thông báo thành công 17
Hình 22 Task report 17
Hình 23 File ảnh sau khi giấu thông tin 18
Hình 24 Chọn Unhide 19
Hình 25 Nhập Password 19
Hình 26 Chọn Add Carriers 20
Hình 27 Chọn File 20
Hình 28 Chọn Unhide 21
Hình 29 Chọn vị trí lưu file thông điệp 21
Hình 30 Thông báo thành công 22
Hình 31 Task Report 22
Hình 32 Thông điệp được ẩn giấu 23
Trang 5II CƠ SỞ LÝ THUYẾT
1 Khái niệm về ẩn giấu dữ liệu
- Ẩn giấu dữ liệu (Steganograophy) là kĩ thuật nhúng những thông tin vào bên trong một file dữ liệu, ví dụ như file audio, file image, file text, mà không làm thay đổi tính chất, chất lượng của file và sự cảm nhận của người sử dụng Mục đích là nhằm làm cho đối phương không phát hiện được sự tồn tại của thông tin được ẩn giấu.
- The wikipedia: Kỹ thuật giấu tin hay kỹ thuật giấu thư, kỹ thuật ẩn mã (tiếng Anh: steganography) là nghệ thuật và khoa học về việc biểu diễn thông tin trong một thông điệp hoặc vật thể khác, sao cho sự hiện diện của thông tin đó không bị phát hiện bởi con người Trong ngữ cảnh máy tính/điện tử, một tập tin, thông điệp, hình ảnh, hoặc video được ẩn trong một tập tin, thông điệp, hình ảnh, hoặc video khác.
Hình 1 Hình không có thông tin được ẩn giấu
Hình 2 Hình có thông tin được ẩn giấu
Trang 62 Tại sao cần ẩn giấu dữ liệu
- Giả sử A muốn gửi cho B một thông tin nhạy cảm hay một file dữ liệu quan trong thông qua một kênh truyền dữ liệu được giám sát bởi C Kênh truyền này được rất nhiều người sử dụng để liên lạc với nhau Thông đi được truyền đi trong kênh có thể là các file ảnh, file text, file audio, A muốn đảm bảo chỉ có B mới có thể hiểu được nội dung mà bản thân gửi và tránh làm làm bên C nghi ngờ khi gửi những nội dung “mất tự nhiên” Lúc này A cần phải mã hóa nội dung đó đi, giấu nó trong một nội dung bình thường nào đó rồi
sau đó mới gửi qua cho B Có thể minh họa qua các bước sau:
- B1: A mã hóa nội dung thông tin, file dữ liệu
- B2: A giấu nội dung, file dữ liệu đã được mã hóa vào trong
một file text, file audio, bất kỳ
- B3: A gửi file chứa thông tin được ẩn giấu cho B thông qua
kênh truyền của C
- B4: B nhận được file và trích xuất nội dung được giấu trong
Trang 7Hình 4 Quá trình lấy thông tin được ẩn giấu
3 Các loại steganography thông dụng hiện nay
a) Steganography hình ảnh
- Là che giấu thông điệp bên trong một file ảnh bất kỳ sao cho người xem không thể nhận biết được sự khác biệt giữa file ảnh gốc và file ảnh được che giấu
- Các định dạng file được sử dụng: png,jpg,jpeg,
- Một số kỹ thuật ẩn giấu: LSB, Masking and Filtering, Algorithms and Transformations,
Hình 5 Steganography Image
Trang 8- Phương pháp này hoạt động nhờ sự chia nhỏ thông điệp thành các index và đặt các index vào khung của video Với sự chia nhỏ các index này các frame của video sẽ chứa các thông tin mật
- Cơ chế hoạt động dựa trên việc ẩn trong file hình ảnh và file âm thanh
- Có thể ẩn giấu 1 số lượng lớn thông điệp trong file video
- Một số kỹ thuật ẩn giấu: LSB, BPCS,Discrete Cosine Transform,Discrete Wavelet Transform,
c) Steganography audio
- Là che giấu thông điệp bên trong một file audio sao cho người nghe không thể nhận biết được sự khác biệt khi nghe
- Các định dạng file được sử dụng: mp3, wav,
- Một số kỹ thuật ẩn giấu: LSB, Tone Insertion, Phase Coding, Spread Spectrum, Echo Hiding,
Hình 6 So sánh mức tín hiệu của một tệp âm thanh trước và sau khi ẩn giấu dữ liệu
d) Steganography document
- Là che giấu thông điệp bên trong một file document để người đọc không thể nhận ra sự thay đổi
- Các định dạng file được sử dụng: txt, doc, pdf,
- Lợi dụng đặc tính vật lý của hệ thống máy tính và những khoảng trống trong file document như vỏ bọc để nhúng dữ liệu văn bản dựa theo cấu trúc (Binary File Format)
Trang 9- Một số kỹ thuật ẩn giấu: Line-Shift Coding, Word-Shift Coding, Feature Coding,
4 Một số kỹ thuật ẩn giấu dữ liệu đối với hình ảnh
a) Chèn LSB(Least Significant Bit)
- Là kỹ thuật che giấu dữ liệu được sử dụng rộng rãi nhất vì dễ dàng thực hiện
- Kỹ thuật này ẩn giấu dữ liệu bằng cách thêm và chèn các bit có trọng số nhỏ nhất(Least Significant Bit) Các bit được gọi là bit
có trọng số nhỏ nhất là các bit tận cùng bên phải mà khi ta thay đổi giá trị của bit đó từ 0 sang 1 hoặc ngược lại thì sự thay đổi đến toàn tệp tin không quá lớn và ít gây sự khác biệt với tệp tin gốc
- Kỹ thuật này hoạt động tốt nhất đối với các tập tin ảnh có độ phân giải cao, nhiều màu sắc, tỷ lệ bit cao
- Các bước để ẩn giấu dữ liệu bằng kỹ thuật LSB đối với ảnh:
• Chuyển nội dung cần giấu sang dạng chuối nhị phân
• Chèn mỗi 3 bit của thông điệp vào LSB của của các pixel liên tiếp trong file ảnh chon đến hết nội dung cần giấu
• Lưu lại bức ảnh mới với nội dụng đã được giấu
Hình 7 Chèn các bit vào ảnh
b) Che giấu và lọc(Masking and Filtering)
Trang 10- Là kỹ thuật sử dụng 24 bit cho mỗi pixel của ảnh, có thể dùng cho cả ảnh màu hoặc ảnh đen trắng
- Kỹ thuật này có hiệu quả tương tự như dạng hình mờ, tạo dấu trên hình ảnh
- Kỹ thuật này hoạt động bằng cách thay đổi độ sáng của các thành phần hình ảnh, sửa đổi độ chói của các phần riêng biệt trong hình ảnh
- Mặc dù việc này làm thay đổi các thuộc tính có thể nhìn thấy được của ảnh nhưng nó có thể được thực hiện theo cách mà mắt người không nhận thấy
- Kỹ thuật này mạnh hơn chèn LSB về mặt nén, cắt xén và các loại xử lý hình ảnh khác nhau
Hình 8 Hình ảnh khi được sử dụng phương pháp Mask and filter để chèn thông điệp
c) Thuật toán và biến đổi(Algorithms and Transformations)
- Là kỹ thuật che giấu dữ liệu dựa trên các chức năng toán học trong các thuật toán nén, với ý tưởng là che giấu các bit dữ liệu trong các hệ số quan trọng nhất
- Che giấu dữ liệu bằng cách sử dụng và thay đổi các DCT(Discrete Cosine Transformations) của các file ảnh có định dạng JPEG
- DCT là một kỹ thuật được sử dụng để nén ảnh trong file ảnh có định dạng JPEG từ đó giúp cho JPEG có thể lưu hình ảnh chất lượng cao với dung lượng tương đối nhỏ
Trang 11- Trong file JPEG, hình ảnh được tạo nên từ các hệ số DCT Khi một dữ liệu, nội dung được ẩn giấu vào một file JPEG thì các mối quan hệ của các hệ số này sẽ bị thay đổi Các bit thực tế trong hình ảnh được thay đổi như trong LSB
Hình 9 Mã giả đơn giản để ẩn thông tin bên trong file ảnh JPEG
III BÀI LÀM (Giấu thông điệp trong file)
Trang 12- File thông điệp cần ẩn giấu: new.txt
Hình 11 File thông điệp cần ẩn giấu
- File dùng để ẩn giấu thông điệp: 1.jpg
Hình 12 File jpg dùng để chứa thông điệp
2 Các bước thực hiện ẩn giấu
- B1: Tại giao diện chọn Hide
Trang 13Hình 13 Chọn Hide
- B2: Nhập password, có thể nhập password cho cả A,B,C nhưng tối thiểu phải nhập cho A
Hình 14 Nhập password
Trang 14- B3: Chọn Browse để chọn file thông điệp muốn giấu
Hình 15 Chọn Browse
Hình 16 Chọn file thông điệp muốn giấu
Trang 15- B4: Chọn Add để chọn file dùng để giấu thông điệp
Hình 17 Chọn Add
Hình 18 Chọn file ảnh dùng để giấu thông điệp
Trang 16- B5: Chọn Hide Data và chọn nơi lưu các file đã được giấu thông điệp bên trong
Hình 19 Chọn Hide Data
Hình 20 Chọn nơi để lưu các file
Trang 17Hình 21 Thông báo thành công
Hình 22 Task report
Trang 18- Kết quả
Hình 23 File ảnh sau khi giấu thông tin
Trang 193 Các bước thực hiện lấy thông tin được ẩn giấu
- B1: Tại giao diện chọn Unhide
Hình 24 Chọn Unhide
- B2: Nhập Password đã dùng để ẩn giấu dữ liệu trong file
Hình 25 Nhập Password
Trang 20- B3: Chọn Add Carries để chọn file cần lấy thông tin
Hình 26 Chọn Add Carriers
Hình 27 Chọn File
Trang 21- B4: Chọn Unhide rồi chọn vị trí để lưu file thông điệp được ẩn giấu
Hình 28 Chọn Unhide
Hình 29 Chọn vị trí lưu file thông điệp
Trang 22Hình 30 Thông báo thành công
Hình 31 Task Report
Trang 23- Kết quả
Hình 32 Thông điệp được ẩn giấu
Trang 24Ưu thế này khiến Steganography ngày càng trở nên phổ biến và được ứng dụng rộng rãi Ngoài lĩnh vực an toàn dùng để che giấu sự tồn tại của thông tin, nó còn được dùng trong công nghiệp giải trí và phần mềm như một kỹ thuật đánh dấu (watermarking) trên các hình ảnh, âm nhạc hay phần mềm số để bảo vệ bản quyền tác giả, ngăn chặn mạo nhận, chống sao chép, xác thực nội dung, cho phép giám sát hay lần ngược dấu vết các bản sao bất hợp pháp.
Trang 25TÀI LIỆU THAM KHẢO
[1] Wikipedia Tiếng Việt, “Kỹ thuật giấu tin” Mar 12, 2024 [Online] Available:
[2] Wikipedia, “Steganography” May 7, 2024 [Online] Available:
[3] Nguyễn Hữu Nam, “Kĩ thuật ẩn mã dựa trên các vị trí của LSB + Demo” May 1,
2021 [Online] Available:
[4] Thao Hoang Thu, “Tìm hiểu về Text Steganography”April 20, 2021 [Online] Available: https://viblo.asia/p/tim-hieu-ve-text-steganography-
[5] J R Krenn, “Steganography and Steganalysis” Jan, 2004 [Online] Available:
[6] Ngô Duy Khánh, “Tổng quan về giấu tin trong ảnh (phần I)” August 27, 2015 [Online] Available: https://viblo.asia/p/tong-quan-ve-giau-tin-trong-anh-phan-
[7] Bharti Chandel, Dr.Shaily Jain, “Video Steganography: A Survey” Jan – Feb,
2016 [Online] Available: