Với mục đích quan trọng nhất là bảo mật cho thông tin đi kèm với độmạnh của thuật toán giấu tin kèm theo những yêu cầu như đảm bảo lượngthông tin cần giấu, tránh được sự phát hiện bởi th
Trang 1MỤC LỤC
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU………2
DANH MỤC CÁC KÝ TỰ VIẾT TẮT……… 2
LỜI CẢM ƠN……… 3
LỜI MỞ ĐẦU……… 4
Chương 1 TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH………… 5
1.1 Giới thiệu chung về giấu thông tin……… 5
1.2Một số khái niệm trong giấu tin……….……….… 6
1.3 Yêu cầu của một hệ giấu tin ……… 7
1.3.1 Tính không nhìn thấy……… …… 7
1.3.2 Tính mạnh mẽ………7
1.3.3 Khả năng nhúng……… … 7
1.4 Phân loại và mục đích của giấu tin……… 7
1.5 Tìm hiểu cấu trúc ảnh Bitmap……….9
Chương 2 KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ……… 12
2.1 Giới thiệu……… … …12
2.2 Kỹ thuật giấu tin trong ảnh ……….……… 12
2.3Thuật toán giấu tin trong ảnh ……….15
2.4Thuật toán tách tin từ ảnh……… 16
Chương 3 CÀI ĐẶT VÀ THỬ NGHIỆM ……… ….…17
3.1 Môi trường cài đặt……….…… 17
3.2 Tập dữ liệu thử nghiệm……… 17
3.3 Một số giao diện của chương trình………17
3.3.1 Giao diện chính của chương trình……… 18
3.3.2 Các chức năng chính của chương trình………19
KẾT LUẬN……….23
TÀI LIỆU THAM KHẢO……… 25
Trang 2DANH MỤC HÌNH VẼ VÀ BẢNG BIỂUHình 1.1: Lược đồ chung cho giấu thông tin
Bảng 1.1: Bảng chi tiết những thông tin trong BitmapHeaderHình 2.1: Minh họa giá trị R-G-B của từng pixel
Hình 2.2: Thể hiện sự nạp chồng các ảnh con
Hình 2.3: Biểu diễn ảnh bằng ma trận điểm
Bảng 2.2:Quá trình thay thế các bit LSB
Bảng 2.3:Duyệt và thay thế từng LSB dưới dạng chuỗi bitHình 2.4: Sơ đồ quá trình giấu tin
Hình 2.5: Sơ đồ quá trình tách tin
Hình 3.1: Giao diện chính của chương trình
Hình 3.2: Giao diện của giấu tin
Hình 3.3: Giao diện của tách tin
Hình 3.4: So sánh ảnh trước và sau khi giấu tin
Hình 3.5: Thuộc tính của ảnh trước và sau khi giấu tin
DANH MỤC CÁC KÝ TỰ VIẾT TẮT
R: Red (màu đỏ)
G: Green (màu xanh lá cây)
B: Blue (màu xanh da trời)
C: Cipher text (bản mã)
D: Decryption (giải mã)
E: Encryption (mã hóa)
P: Plaint text (bản rõ)
MBSs: Most Significant Bits (bít có trọng số cao)
LSB: Least Significant Bit (bit có trọng số thấp)
BMP: Bitmap
Trang 3LỜI CẢM ƠN
Qua thời gian tìm hiểu và học hỏi, đồng thời được sự giúp đỡ, chỉbảo tận tình của cô giáo Thái Thị Thanh Vân báo cáo lớn của chúng tôi đãhoàn thành Nội dung báo cáo là những gì chúng tôi đã tìm hiểu suốt thờigian qua Cho dù chúng tôi đã cố gắng, nhưng vì vẫn còn hạn chế về mặtkiến thức và thời gian còn nhiều mặt hạn chế nên báo cáo của chúng tôikhông tránh khỏi thiếu sót, không thể đi sâu vào từng thuật toán, từng kỹthuật, hy vọng chúng sẽ được hoàn thiện hơn trong tương lai
Để hoàn thành tốt báo cáo này, chúng tôi xin bày tỏ lòng biết ơn sâusắc tới cô giáo Thái Thị Thanh Vân người đã giúp đỡ chúng tôi rất nhiềutrong quá trình tìm hiểu, xây dựng và hoàn thành báo cáo Chúng tôi xinchân thành cảm ơn các thầy cô giáo các bộ môn đã trang bị cho chúng tôinhững kiến thức cơ bản để chúng tôi có thể hoàn thành báo cáo như ngàyhôm nay
Hà Nội, ngày 30 tháng 8 năm 2016
Nhóm sinh viên thực hiện
Tạ Việt QuangNguyễn Thái Duy
Vũ Kiều Anh
Trang 4LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học côngnghệ thông tin, internet đã trở thành một nhu cầu, phương tiện không thể thiếuđối với mọi người, việc truyền tin qua mạng ngày càng lớn Tuy nhiên, vớilượng thông tin được truyền qua mạng nhiều hơn thì nguy cơ dữ liệu bị truycập trái phép cũng tăng lên vì vậy vấn đề bảo đảm an toàn và bảo mật thông tincho dữ liệu truyền trên mạng là rất cần thiết
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người tathường dùng phương pháp truyền thống là mã hóa thông điệp theo một qui tắcnào đó đã được thỏa thuận trước giữa người gửi và người nhận Tuy nhiên,phương thức này thường gây sự chú ý của đối phương về tầm quan trọng củathông điệp Thời gian gần đây đã xuất hiện một cách tiếp cận mới để truyền cácthông điệp bí mật, đó là giấu các thông tin quan trọng trong những bức ảnhthông thường Nhìn bề ngoài các bức ảnh có chứa thông tin cũng không có gìkhác với các bức ảnh khác nên hạn chế được tầm kiểm soát của đối phương.Mặt khác, dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thìvới các khóa có độ bảo mật cao thì việc tìm được nội dung của thông tin đócũng rất khó có thể thực hiện được
Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mậtnhằm bảo đảm tính an toàn thông tin, nhưng phương pháp này ưu điểm là ởchỗ giảm được khả năng phát hiện được sự tồn tại của thông tin trong nguồnmang Không giống như mã hóa thông tin là chống sự truy cập và sửa chữamột cách trái phép thông tin, mục tiêu của giấu thông tin là làm cho thông tintrộn lẫn với các điểm ảnh Điều này sẽ đánh lừa được sự phát hiện của các tintặc và do đó làm giảm khả năng bị giải mã
Với mục đích quan trọng nhất là bảo mật cho thông tin đi kèm với độmạnh của thuật toán giấu tin kèm theo những yêu cầu như đảm bảo lượngthông tin cần giấu, tránh được sự phát hiện bởi thị giác, không kiểm tra đượcnếu không có mã khóa thích hợp Kết hợp các kỹ thuật giấu tin với các kỹ thuậtmã hóa ta có thể nâng cao độ an toàn cho việc truyền tin
Trang 5Bố cục báo cáo gồm 3 chương:
CHƯƠNG 1 :Tổng quan kỹ thuật giấu tin trong ảnh: Đưa ra kháiniệm dễ hiểu nhất về kỹ thuật giấu tin, tầm quan trọng và sự cần thiết của kỹthuật này với chúng ta hiện nay
CHƯƠNG 2: Kỹ thuật giấu tin trong ảnh số: Đi sâu vào nguyên lýhoạt động của kỹ thuật giấu tin và thuật toán
CHƯƠNG 3: Cài đặt và thử nghiệm: Demo minh họa một phầnmềm giấu tin đơn giản đáp ứng các yêu cầu kỹ thuật và thuật toán ở trên
Trang 6Thông tin giấu
Phương tiện mang
Nhúng thông tin vào phương tiện chứa Phân phối trên mạng Bộ giải mã
Giấu thông tin (steganography) là nghệ thuật và khoa học về việc viết
và chuyển tải các thông điệp một cách bí mật, sao cho ngoại trừ người gửi
và người nhận, không ai biết đến sự tồn tại của bức thư, là một dạng củabảo mật bằng cách che giấu.Kỹ thuật giấu tin là một kỹ thuật nhúng dữ liệuvào một nguồn đa phương tiện gọi là môi trường, ví dụ như file âm thanh,ảnh động, ảnh tĩnh Mục đích của che giấu thông tin là làm cho dữ liệutrở lên không thể nghe thấy hay nhìn thấy Điều đó có nghĩa là đối phươngkhông nhận thấy sự tồn tại của dữ liệu đã được nhúng dù có lắng nghe hay
cố gắng nhìn thật cẩn thận vào môi trường có giấu dữ liệu
Mỗi kỹ thuật giấu tin gồm :- Thuật toán giấu tin
- Bộ giải mã thông tin
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiệnmang bằng cách sử dụng một khóa bí mật được dùng chung bởi người mã
và người giải mã, việc giải mã thông tin chỉ có thể thực hiện được khi cókhoá Bộ giải mã trên phương tiện mang đã chứa dữ liệu và trả lại thôngđiệp ẩn trong nó
Trang 7Hình 1.1 Lược đồ chung cho giấu thông tin
Tóm lại, mục đích của giấu thông tin là che giấu những thông báo bêntrong những thông báo khác mà không làm ảnh hưởng đáng kể đến thôngbáo này; và bằng một cách thức nào đó sao cho con người bằng mắt thường
và những cách bình thường không thể phát hiện hoặc không thể phá huỷchúng
1.2 Một số khái niệm trong giấu tin
Giấu thông tin là quá trình ẩn một dữ liệu vào một tệp dữ liệu khác.
Dữ liệu trước khi giấu có thể được nén và mã hoá, trong các ứng dụng đòihỏi độ bảo mật cao, giấu dữ liệu chính là một phương pháp bảo mật thôngtin hiệu quả Giấu dữ liệu được ứng dụng trong nhiều lĩnh vực khác nhaunhư bảo vệ bản quyền, ngăn ngừa sao chép trái phép, truyền thông bí mậtv.v
Giấu thông tin trong ảnh số là một phần của giấu thông tin với việc sử
dụng ảnh số làm phương tiện mang Giấu thông tin trong ảnh số có nhiềuứng dụng trong thực tế như trong việc xác định quyền sở hữu, chốngxuyên tạc thông tin và chuyển giao dữ liệu một cách an toàn
Ảnh mà ta đem nhúng thông tin vào được gọi là ảnh môi trường hay
ảnh gốc (host image) Ảnh thu được sau khi đã giấu thông tin gọi là ảnh kết quả (result image) Ảnh kết quả sẽ có những điểm khác so với ảnh
gốc, gọi là nhiễu Ảnh nhiễu càng ít thì càng khó gây ra nghi ngờ về sựtồn tại của giấu thông tin trong ảnh
Thông tin nhúng là lượng thông tin được nhúng vào trong ảnh môi
trường
Phương tiện nhúng là một đối tượng đa phương tiện như ảnh, audio
hay video đã có thông tin nhúng
Nhiễu là phương tiện nhúng xuất hiện những đặc điểm lạ so với
phương tiện chứa ban đầu Độ nhiễu càng thấp tương đương với tính bảomật càng cao
Thủy vân số là một kỹ thuật giấu các hình ảnh vào trong phương tiện
chưa, kỹ thuật này không yêu cầu về tính không nhìn thấy của thông tinnhúng mà coi trọng tính bản quyền sở hữu thông tin
1.3 Yêu cầu của hệ giấu tin
Trang 8Tính không nhìn thấy là một trong ba yêu cầu của bất kỳ một hệ giấu
tin nào Tính không nhìn thấy là tính chất vô hình của thông tin nhúngtrong phương tiện nhúng
Tính mạnh mẽ là yêu cầu thứ hai của một hệ giấu tin Tính mạnh mẽ
là nói đến khả năng chịu được các thao tác biến đổi nào đó trên phươngtiện nhúng và các cuộc tấn công có chủ đích
Khả năng nhúng là yêu cầu thứ ba của một hệ giấu tin Khả năng
nhúng chính là số lượng thông tin nhúng được nhúng trong phương tiệnchứa
1.3.1Tính không nhìn thấy
Khái niệm này dựa trên đặc điểm của hệ thống thị giác của con người.Thông tin nhúng là không tri giác được nếu một người với thị giác là bìnhthường không phân biệt được ảnh môi trường và ảnh kết quả Trong khi
image hiding yêu cầu tính vô hình của thông tin giấu ở mức độ cao thì watermarking lại chỉ yêu cầu ở một cấp độ nhất định Chẳng hạn như
người ta áp dụng watermarking cho việc gắn một biểu tượng mờ vào mộtchương trình truyền hình để bảo vệ bản quyền
1.3.2 Tính mạnh mẽ
Thuật toán nhúng tin được coi là có tính bảo mật nếu thông tin đượcnhúng không bị tìm ra khi bị tấn công một cách có chủ đích trên cơ sởnhững hiểu biết đầy đủ về thuật toán nhúng tin và có bộ giải mã (trừ khoá
bí mật), hơn nữa còn có được ảnh có mang thông tin (ảnh kết quả) Đối
với ảnh image hiding đây là một yêu cầu rất quan trọng Chẳng hạn đối
với thuật toán dò tin trong ảnh đen trắng kích thước m*n, độ phức tạp vẫncòn lên tới (2m*n) phép tính khi đã biết ma trận trọng số dùng trong quátrình giấu tin
1.3.3 Khả năng nhúng
Lượng thông tin giấu so với kích thước ảnh môi trường cũng là mộtvấn đề cần quan tâm trong một thuật toán giấu tin Rõ ràng là có thể chỉgiấu một bit thông tin vào mỗi ảnh mà không cần lo lắng về độ nhiễu củaảnh nhưng như vậy sẽ rất kém hiệu quả khi mà thông tin cần giấu có kíchthước được tính bằng KB Các thuật toán đều cố gắng đạt được mục đíchlàm thế nào giấu được nhiều thông tin nhất mà không gây ra nhiễu đángkể
Trang 91.4 Phân loại và mục đích của giấu tin
Có nhiều cách để phân loại các kỹ thuật giấu thông tin trong ảnh số, dựatrên lĩnh vực áp dụng các kỹ thuật người ta chia kỹ thuật giấu tin trong
ảnh thành hai loại: watermarking và image hiding.
Trang 10Watermatking là kỹ thuật nhúng một biểu tượng, còn gọi là thuỷ vân
(watermark) vào trong ảnh môi trường để xác định quyền sở hữu ảnh môi
trường Kích thước của biểu tượng thường nhỏ ( từ vài bit đến vài nghìn bit ) Kỹthuật này cho phép đảm bảo nguyên vẹn biểu tượng khi ảnh môi trường bị biến
đổi bởi các phép thao tác như lọc (filtering), nén mất dữ liệu (lossy
compression), hay các biến đổi hình học, Tuy nhiên, việc đảm bảo nguyên vẹn
biểu tượng không kể đến khi có sự tấn công dựa trên việc hiểu rõ thuật toán vàcó bộ giải mã trong tay
Image hiding là kỹ thuật dùng một ảnh môi trường để lưu trữ và chuyển
giao các dữ liệu quan trọng với kích thước tương đối lớn một cách an toàn Mục
đích của ảnh image hiding là làm cho dữ liệu trở nên không quan sát được đối
với thị giác của con người
Mục đích của giấu tin :
- Bảo mật cho những thông tin được giấu
- Bảo mật cho chính các đối tượng giấu tin
Các yêu cầu đối với giấu tin trong ảnh :
-Tính ẩn của giấu tin được chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh không làm ảnh chất lượng của ảnh đã chèn tin
-Tính bền của giấu tin: Cho phép các tin có thể tồn tại được qua các phép biến đổi ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác
-Tính an toàn: không thể xoá được tin ra khỏi ảnh trừ khi ảnh được biến đổi tới mức
Một kỹ thuật giấu tin trong ảnh được đánh giá dựa trên một số đặc điểm sau:
- Số lượng thông tin được giấu
- Tính an toàn và bảo mật của thông tin
- Chất lượng của ảnh sau khi giấu thông tin bên trong
Yêu cầu cuối cùng là thuật toán phải cho phép lấy lại được thông tin đã giấutrong ảnh mà không có ảnh môi trường Điều này là một thuận lợi khi ảnh môitrường là duy nhất nhưng lại làm giới hạn khả năng ứng dụng của kỹ thuật giấu tin
Để thực hiện việc giấu tin trong ảnh, trước hết ta phải xử lý được ảnh tức làphải số hoá ảnh Quá trình số hoá các dạng ảnh khác nhau thì không như nhau Cónhiều loại ảnh đã được chuẩn hoá như: JPEG, PCX, BMP, Trong báo cáo này chỉ
sử dụng ảnh *.BMP
Trang 111.5 Tìm hiểu về cấu trúc của ảnh Bitmap(BMP)
Ảnh BMP (Bitmap) được phát triển bởi Microsoft Corporation, được lưu trữ dưới dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không phụ thuộc vào khung chỉ định màu trên bất kì phần cứng nào Tên file mở rộng mặc định của một file ảnh
Bitmap là BMP Ảnh BMP được sử dụng trên Microsoft Windows và các ứng dụng
chạy trên Windows từ version 3.0 trở lên.
Mỗi file ảnh BMP gồm 3 phần: -BitmapHeader (54byte)
-Palette màu (bảngmàu)-Bitmap Data(dữ liệu ảnh)Cấu trúc cụ thể của ảnh :
-Bitmap Header (54 byte): Lưu trữ những thông tin cơ bản về tệp ảnh và thuộc tính
cơ bản của ảnh
Trang 127-10 Dự trữ Thường mang giá trị 0
11-14 Byte bắt đầu vùng dữ liệu Offset của byte bắt đầu vùng dữ
liệu15-18 Số byte cho vùng info 4 byte
1: Nén runlength 8bits/pixel2: Nén runlength 4bits/pixel35-38 Kích thước ảnh Tính bằng byte
39-42 Độ phân giải ngang Tính bằng pixel / metter
43-46 Độ phân giải dọc Tính bằng pixel / metter
47-50 Số màu sử dụng trong
ảnh51-54 Số màu được sử dụng khi
hiển thị ảnh
Bảng 1.1 Bảng chi tiết những thông tin trong BitmapHeader.
Thành phần bitCount của cấu trúc BitmapHeader cho biết số bit dành chomỗi điểm ảnh và số lượng màu lớn nhất của ảnh BitCount có thể nhận các giá trịsau:
1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn 1 điểm ảnh Nếu bit mang giátrị 0 thì điểm ảnh là đen, bit mang giá trị 1 điểm ảnh là điểm trắng
4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit
8: Bitmap là ảnh 256 màu, mỗi điểm ảnh biểu diễn bởi 1 byte
Trang 1324: Bitmap là ảnh true color (224 màu), mỗi dãy 3 byte liên tiếp trongbitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ (RGB)của một điểm ảnh.
Thành phần ColorUsed của cấu trúc BitmapHeader xác định số lượng màucủa palette màu thực sự được sử dụng để hiển thị bitmap.Nếu thành phần nàyđược đặt là 0, bitmap sử dụng số màu lớn nhất tương ứng với giá trị củaBitCount
Palette màu (bảng màu): bảng màu của ảnh, chỉ những ảnh lớn hơn hoặcbằng 8 bit màu mới có Palette màu
BitmapData (thông tin ảnh): phần này nằm ngay sau phần palette màu củaảnh BMP Đây là phần chứa giá trị màu của điểm ảnh trong ảnh BMP, các dòngảnh được lưu từ dưới lên trên, các điểm ảnh được lưu từ trái sang phải Giá trịcủa mỗi điểm ảnh là một chỉ số trỏ tới phần tử màu tương ứng của palette màu
Chương 2 KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ 2.1 Giới thiệu
Kỹ thuật giấu tin LSB(Least significant bit ) là một kỹ thuật đáp ứngđược tính bảo mật và giấu được nhiều dữ liệu hơn.Tuy nhiên hiện tại các kỹthuật không sử dụng hết dữ liệu của ảnh gốc Nhiều kỹ thuật đã được pháttriển để sử dụng số lượng nhiều hơn và nhiều hơn nữa các bit/pixel để đạtđược nhiều dữ liệu ẩn hơn Bằng cách sử dụng các bit LSB của mỗi pixel để
ẩn dữ liệu mà không có sự thay đổi của hình ảnh giấu tin Văn bản đượcchuyển đổi thành mã ASCII và sau đó lần lượt từng bit mã ASCII của mỗi tinlần sẽ thay thế các giá trị LSB trên mỗi điểm ảnh của ảnh gốc
2.2 Kỹ thuật giấu tin trong ảnh
Bit có trọng số thấp(Least significant bit ) là bit có ảnh hưởng ít nhất tớiviệc quyết định tới màu của mỗi điểm ảnh, vì vậy khi ta thay đổi bit ít quantrọng của một điểm ảnh thì màu của mỗi điểm ảnh mới sẽ tương đối gần vớiđiểm ảnh cũ Như vậy kỹ thuật tách bit trong xử lý ảnh được sử dụng rất nhiềutrong quy trình giấu tin Việc xác định LSB của mỗi điểm ảnh trong một bức