Upload
nhimpunmu
View
1.270
Download
0
Embed Size (px)
Citation preview
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
Sinh viên thực hiện: NHỮ BẢO VŨ
Chuyên ngành: Toán – Tin ứng dụng Lớp: Toán Tin 1 – K52
Giáo viên hướng dẫn: PGS.TS. PHAN TRUNG HUY
Nhận xét của giáo viên hướng dẫn:
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Giáo viên hướng dẫn
(Ký, ghi rõ họ tên)
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
MỤC LỤC
DANH MỤC VIẾT TẮT..................................................................................4
LỜI MỞ ĐẦU...................................................................................................5
CHƯƠNG 1. TỔNG QUAN GIẤU TIN VÀ CƠ SỞ TOÁN HỌC...............10
1.1. Bài toán giấu tin và vai trò....................................................................10
1.1.1. Bài toán giấu tin.............................................................................10
1.1.2. Phân loại các kỹ thuật giấu tin........................................................13
1.1.3. Mô hình giấu tin cơ bản..................................................................15
1.1.4. Các ứng dụng của kỹ thuật giấu tin................................................16
1.2. Giấu tin trong ảnh và các đặc trưng......................................................18
1.2.1. Giấu tin trong ảnh...........................................................................18
1.2.2. Các đặc trưng cơ bản......................................................................19
1.3. Cơ sở toán học......................................................................................22
1.3.1. Lý thuyết đồng dư modulo.............................................................22
1.3.2. Lý thuyết module............................................................................24
CHƯƠNG 2. GIẤU TIN TRÊN ẢNH NHỊ PHÂN........................................30
2.1. Giới thiệu về giấu tin trong ảnh nhị phân.............................................30
2.2. Giấu tin theo khối bit đơn giản.............................................................30
2.3. Thuật toán giấu tin Wu-Lee..................................................................31
2.4. Thuật toán giấu tin Chen-Pan-Tseng....................................................32
2.5. Thuật toán giấu tin CPTE.....................................................................35
CHƯƠNG 3. GIẤU TIN TRÊN ẢNH MÀU, ẢNH XÁM............................39
3.1. Phương pháp LSB.................................................................................39
3.2. Phương pháp chẵn lẻ giấu tin trên ảnh chỉ số.......................................40
3.3. Phương pháp định vị giai thừa giấu tin trên ảnh GIF...........................42
3.4. Thuật toán giấu tin trong ảnh xám........................................................43
Viện Toán Ứng Dụng & Tin Học 2 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG.......................46
4.1. Tổng quan về ảnh số.............................................................................46
4.2. Cài đặt thuật toán CPTE.......................................................................50
4.3. Ứng dụng giấu tin trong mã hóa...........................................................53
4.3.1. Thiết kế chương trình giấu tin........................................................54
4.3.2. Thiết kế bộ mã hóa.........................................................................56
4.4. Ứng dụng giấu tin xây dựng giao thức xác thực...................................57
4.4.1. Phát biểu bài toán thực tế ứng dụng mô hình.................................58
4.4.2. Khái niệm giao thức.......................................................................60
4.4.3. Giao thức bắt tay sử dụng phương pháp giấu tin............................61
4.4.4. Phân tích độ an toàn của hệ thống..................................................66
4.5. Giới thiệu chương trình thử nghiệm.....................................................67
4.5.1. Tóm tắt kết quả...............................................................................67
4.5.2. Chương trình giấu tin.....................................................................68
4.5.3. Chương trình xác thực người dùng.................................................72
KẾT LUẬN.....................................................................................................79
TÀI LIỆU THAM KHẢO...............................................................................80
Viện Toán Ứng Dụng & Tin Học 3 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
DANH MỤC VIẾT TẮT
STT Nội dung Viết tắt
1 Least Significant Bit LSB
2 Uniform Resource Locator URL
3 Advanced Encryption Standard AES
4 Bitmap BMP
5 Graphics Interchange Format GIF
6
Viện Toán Ứng Dụng & Tin Học 4 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
LỜI MỞ ĐẦU
Sự phát triển nhanh chóng của khoa học kỹ thuật trên nhiều lĩnh vực
đặc biệt là trong lĩnh vực đa phương tiện giúp cho các hệ thống sản xuất, quản
lý và phân phối các sản phẩm: hình ảnh, âm thanh, tài liệu văn bản… là rất dễ
dàng. Cùng với sự phổ biến rộng rãi các mạng internet tốc độ cao làm cho quá
trình phân phối chúng trở nên nhanh chóng và thuận tiện, đem lại những
thuận lợi to lớn thông qua các hệ thống thương mại điện tử.
Trên môi trường mở, nhanh chóng và tiện nghi như vậy, việc tìm kiếm,
sao chép thông tin trở nên dễ dàng hơn bao giờ hết. Những phiên bản sao
chép hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự lưu thông
phân phối trên mạng của các dữ liệu đa phương tiện đã phát sinh ra nhiều vấn
đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, giả mạo,
xuyên tạc, …
Tình trạng vi phạm bản quyền số đang xảy ra hàng ngày, hàng giờ một
cách liên tục. Nhằm bảo vệ các sản phẩm số không bị sử dụng trái phép, song
song với việc kêu gọi ý thức tự giác thực thi luật bản quyền, các công ty công
nghệ lớn trên thế giới đã và đang thực hiện các giải pháp kỹ thuật kiểm soát
bản quyền số. Một trong những vấn đề được đặt ra là làm sao bảo vệ quyền sở
hữu đối với các sản phẩm đa phương tiện này.
Đứng trước tình hình đó vấn đề về bảo mật thông tin hiện nay luôn
nhận được sự quan tâm đặc biệt trong nhiều lĩnh vực. Đã có nhiều phương
pháp để bảo mật thông tin, một trong những phương pháp được sử dụng phổ
biến để bảo vệ quyền sở hữu đối với nội dung của các sản phẩm đa phương
tiện là mã hoá. Nội dung của sản phẩm đó được mã hoá và gửi cho người sử
dụng. Người sử dụng chỉ đọc được các thông tin này khi nhận được khoá giải
Viện Toán Ứng Dụng & Tin Học 5 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
mã đi kèm. Phương pháp mã hoá trên chỉ hiệu quả trong việc truyền thông tin
nhưng không hiệu quả trong việc bảo vệ quyền sở hữu. Sau khi sản phẩm
được giải mã, người dùng ngoài việc lưu trữ còn có thể nhân bản và phân phối
lại.
Giấu tin là phương pháp đã và đang tiếp tục được nghiên cứu và ứng
dụng rất mạnh mẽ. Đây là phương pháp mới và phức tạp nó đang được xem
như một công nghệ cốt lõi cho vấn đề bảo vệ bản quyền, chống nhân bản bất
hợp pháp, chống lại truy cập trái phép, chống xuyên tạc, chống giả mạo thông
tin, xác thực thông tin và điều khiển truy cập ứng dụng trong an toàn và bảo
mật thông tin.
Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu tin là phương pháp
mã hoá làm cho các thông tin hiện rõ là nó có được mã hoá hay không còn đối
với phương pháp giấu tin thì người ta sẽ khó biết được là có thông tin giấu
bên trong do tính chất ẩn hình (invisible) của thông tin được giấu. Các
phương pháp mã hóa thường thu hút sự chú ý, một khi những thông tin mã
hoá bị phát hiện thì những tên tin tặc sẽ tìm mọi cách để triệt phá. Và cuộc
chạy đua giữa những người bảo vệ thông tin và bọn tin tặc vẫn chưa kết thúc
tuyệt đối về bên nào. Trong hoàn cảnh đó thì giấu tin trở thành một phương
pháp hữu hiệu để che giấu tin làm cho tin tặc không thể phát hiện.
Trên cơ sở ứng dụng đa dạng, đặc tính nổi bật của giấu tin cùng với
xuất phát từ các yêu cầu dự án thực tế “Xây dựng giao thức bảo vệ đề thi trắc
nghiệm trên môi trường Wireless” mà tác giả đã được tiếp cận và đã lựa chọn
đề tài “Ứng dụng giấu tin trong mã hóa và xác thực” làm đồ án tốt nghiệp
của mình.
Đồ án trình bày tổng quan về giấu tin, một số phương pháp giấu tin,
giới thiệu một phương pháp giấu tin mới vào trong ảnh xám dựa trên tiếp cận
Viện Toán Ứng Dụng & Tin Học 6 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
của lý thuyết module. Xây dựng ứng dụng giấu tin kết hợp mã hóa, thiết kế và
cài đặt giao thức xác thực người dùng trên môi trường mạng sử dụng phương
pháp giấu tin để làm tăng độ an toàn cho người dùng tham gia vào một hệ
thống cần có sự xác minh người sử dụng, hoặc có các giao dịch yêu cầu độ an
toàn cao có khả năng phát hiện và chống lại được sự giả mạo.
Đồ án bao gồm các nội dung sau:
Phần 1. Mở đầu
Sơ lược về bối cảnh mạng máy tính hiện nay, mức độ an toàn dữ liệu.
Phương hướng, phạm vi nghiên cứu và giải pháp tiếp cận, từ đó đặt ra nhiệm
vụ của đồ án.
Phần 2. Nội dung chính, bao gồm có 4 chương
Chương 1: Tổng quan giấu tin và cơ sở toán học
Giới thiệu tổng quan về giấu tin, một số khái niệm cơ bản. Phân loại và
trình bày một số kỹ thuật giấu tin cơ bản, các yêu cầu đối với bài toán giấu tin
và một số ứng dụng của giấu tin. Đồng thời trình bày các khái niệm cơ bản lý
thuyết đồng dư modulo và lý thuyết module làm cơ sở để trình bày các thuật
toán giấu tin.
Chương 2: Giấu tin trong ảnh nhị phân
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh nhị phân định
dạng ảnh Bitmap.
Chương 3: Giấu tin trong ảnh màu, ảnh xám
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh màu, ảnh xám
định dạng ảnh Bitmap.
Viện Toán Ứng Dụng & Tin Học 7 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Chương 4: Xây dựng chương trình ứng dụng
Đề cập đến một số vấn đề bảo mật an toàn thông tin, thiết kế và xây
dựng giải pháp ứng dụng giấu tin vào trong ứng dụng mã hóa và xác thực
người sử dụng.
Phần 3. Kết luận
Phần 4. Tài liệu tham khảo
Viện Toán Ứng Dụng & Tin Học 8 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
LỜI CẢM ƠN
Em xin chân thành gửi lời cảm ơn tới thầy Phan Trung Huy, thầy đã tận
tình hướng dẫn, chỉ bảo, giúp đỡ em có thể hoàn thành được đồ án tốt nghiệp
của mình. Em cũng xin được gửi lời cảm ơn tới các thầy cô trong Viện toán
ứng dụng và tin học đã giảng dạy, cung cấp cho em những kiến thức và các
kỹ năng để có thể vận dụng trong quá trình nghiên cứu. Và cuối cùng em xin
gửi lời cảm ơn tới gia đình và bạn bè, những người đã luôn ở bên cạnh, chia
sẻ và động viên em trong suốt thời gian thực hiện và hoàn thành đồ án.
Hà Nội, ngày 28 tháng 05 năm 2012
Sinh viên thực hiện
Nhữ Bảo Vũ
Viện Toán Ứng Dụng & Tin Học 9 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
CHƯƠNG 1
TỔNG QUAN GIẤU TIN VÀ CƠ SỞ TOÁN HỌC
1.1. Bài toán giấu tin và vai trò
1.1.1. Bài toán giấu tin
Giấu tin là một kỹ thuật nhúng thông tin vào trong một nguồn đa
phương tiện gọi là đối tượng chứa như: tập tin ảnh, tập tin âm thanh, tập tin
văn bản… mà không gây ra sự nhận biết về sự tồn tại của thông tin đã được
giấu.
Phương pháp giấu tin được tiến hành theo nhiều cách khác nhau tùy
theo từng phương pháp và mục đích. Bài toán giấu tin thông thường gồm hai
quá trình:
Nhúng tin (mã hóa)
Trích rút tin (giải mã)
Ví dụ 1: Thông điệp cần gửi được mã hóa và nhúng các bit thông tin
của vào trong ảnh
Viện Toán Ứng Dụng & Tin Học 10 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 1. Ảnh đã được nhúng thông tin mật
Ví dụ 2: Thông điệp cần gửi được chứa trong một đoạn văn bản, ở đây
đối tượng chứa là một đoạn văn bản có nội dung sau:
“Apparently neutral’s protect is thoroughly discounted and ignored.
Isman hard hit. Blockade issue affects for pretext embargo on by-products,
ejecting suets and vegetable oils”
Có thể thấy được nội dung truyền tải là bức điện mật được sử dụng
trong chiến tranh thế giới lần thứ 2: “Pershing sails for YN June 1”
Bài toán giấu tin gồm 4 đối tượng chính là:
- Thông tin mật: Là thông tin nhúng vào đối tượng chứa và là thông
tin cần được bảo vệ.
- Đối tượng chứa: Đối tượng được sử dụng chứa thông điệp mật.
- Đối tượng đã nhúng: Là đối tượng chứa sau khi nhúng thông tin
mật. Ví dụ nếu đối tượng chứa là ảnh thì đối tượng đã nhúng là
Stego-Image.
Viện Toán Ứng Dụng & Tin Học 11 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
- Khóa mật: Là khóa tham gia vào quá trình nhúng, tùy theo từng
phương pháp mà khóa này có tham gia hay không.
Các yêu cầu trong bài toán giấu tin:
- Tính bền vững: Thể hiện khả năng ít bị thay đổi trước những tấn
công từ bên ngoài như thay đổi định dạng, nội dung. Hiện nay chưa
có phương pháp nào đảm bảo biện pháp này một cách tuyệt đối. Với
từng ứng dụng cụ thể thì yêu cầu này cũng thể hiện khác nhau.
- Khả năng không bị phát hiện: thể hiện ở việc khó xác định được đối
tượng có chứa thông tin mật hay không. Hầu hết các phương pháp
giấu tin dựa trên đặc điểm của hai hệ tri giác người: thị giác và thính
giác. Khả năng này còn gọi là khả năng giả dạng.
- Khả năng lưu trữ: Khả năng này thể hiện ở lượng thông tin của
thông điệp mật có thể nhúng trong đối tượng chứa. Do tính bảo mật
nên khả năng lưu trữ luôn bị hạn chế. Do đó trong trường hợp muốn
ẩn một thông tin có kích thước tương đối lớn ta thường chia nhỏ ra
nhiều thành phần và thực hiện nhúng từng phần.
Viện Toán Ứng Dụng & Tin Học 12 Nhữ Bảo Vũ
Lưu trữ
Bảo mật Bản quyền
Khả năng Lưu trữ
Khả năng không bị phát hiện Tính bền vững
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
1.1.2. Phân loại các kỹ thuật giấu tin
Kỹ thuật giấu tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin
ở hai khía cạnh. Một là bảo mật cho giữ liệu được đem giấu (embedded data),
chẳng hạn như giấu tin mật: thông tin mật được giấu kỹ trong một đối tượng
khác sao cho người khác không phát hiện được (steganography), hai là bảo
mật cho chính đối tượng được dùng để giấu tin (host data), chẳng hạn như
ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin (watermarking)....
Hai khía cạnh khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủ
yếu của giấu tin. Khuynh hướng thứ nhất là giấu tin mật (Steganography).
Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu
được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được một
đối tượng có bị giấu tin bên trong hay không. Khuynh hướng thứ hai là thuỷ
vân số (watermarking). Khuynh hướng thuỷ vân số đánh giấu vào đối tượng
nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin. Thuỷ
vân số có miền ứng dụng lớn hơn, đòi hỏi độ bền vững cao của các thông tin
Viện Toán Ứng Dụng & Tin Học 13 Nhữ Bảo Vũ
Hình 2. Các yêu cầu trong bài toán giấu tin
Ngành mật mã (Cryptology)
Mật mã(Cryptography)
Giấu thông tin(Data Hiding)
Thuỷ vân số (Watermarking)
Giấu tin(Steganography)
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
cần giấu đối với các biến đổi thông thường của các tệp dữ liệu môi trường nên
được quan tâm nghiên cứu nhiều hơn và thực tế đã có nhiều những kỹ thuật
dành cho khuynh hướng này.
Hình 3. Phân loại các kỹ thuật giấu tin
Phạm vi ứng dụng của thủy vân đa dạng hơn, tùy theo mục đích của hệ
thủy vân mà người ta lại chia thành các hướng nhỏ như thủy vân dễ vỡ và
thủy vân bền vững.
Viện Toán Ứng Dụng & Tin Học 14 Nhữ Bảo Vũ
Phương tiện đã chứa tinBộ nhúng thông tin
Phân phối
Khóa
Thông tin cần giấu
Phương tiện chứa tin (ảnh, audio, video, ..)
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
1.1.3. Mô hình giấu tin cơ bản
Hình 4. Lược đồ quá trình giấu tin mật
Hình 4 biểu diễn mô hình giấu tin cơ bản. Trong đó, phương tiện chứa
tin có thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo
mục đích của người sử dụng. Thông tin được giấu vào trong phương tiện chứa
tin nhờ một bộ nhúng. Bộ nhúng là những chương trình thực hiện theo những
thuật toán để giấu tin và được thực hiện với một khóa bí mật giống như trong
một số hệ mật mã. Đầu ra của quá trình nhúng tin là phương tiện chứa đã
được giấu tin. Các phương tiện chứa này có thể được phân phối trên mạng.
Viện Toán Ứng Dụng & Tin Học 15 Nhữ Bảo Vũ
Phương tiện đã chứa tinBộ giải mã tin
Phân phối
Khóa
Thông tin giấu
Phương tiện đã chứa tin (ảnh, audio, video, ..)
Kiểm định
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 5. Lược đồ quá trình giải mã tin mật
Hình 5 mô tả quá trình giải mã thông tin đã được giấu trước đó. Đầu
vào là phương tin có chứa tin giấu, qua một bộ giải mã tin (tương ứng với bộ
nhúng tin) cùng với khóa sẽ được thực hiện việc giải mã thông tin. Đầu ra của
quá trình là phương tiện chứa tin và thông tin mật đã giấu trước đó. Trong
trường hợp cần thiết, thông tin lấy ra có thể được xử lý, kiểm định và so sánh
với thông tin đã giấu ban đầu.
1.1.4. Các ứng dụng của kỹ thuật giấu tin
Bảo vệ bản quyền tác giả: Đây là ứng dụng cơ bản nhất của kỹ thuật
thủy vân số. Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả gọi là
thủy vân sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ một mình
chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh chứng cho
bản quyền sản phẩm. Giả sử có một sản phẩm dữ liệu dạng đa phương tiện
như ảnh, âm thanh, video và cần được lưu thông trên mạng. Để bảo vệ các sản
phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để
Viện Toán Ứng Dụng & Tin Học 16 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
“dán tem bản quyền” vào sản phẩm này. Việc dán tem hay chính là việc
nhúng thủy vân cần phải đảm bảo không để lại một ảnh hưởng đáng kể nào
đến việc cảm nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thủy
vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thủy vân này mà
không được phép của người chủ sở hữu thì chỉ có cách là phá hủy sản
phẩm[5].
Xác thực thông tin hay phát hiện giả mạo: Một tập các thông tin sẽ
được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ
liệu trên phương tiện gốc đó có bị thay đổi không. Các thủy vân nên được ẩn
để tránh sự tò mò của kẻ thù, hơn nữa việc làm giả các thủy vân hợp lệ hay
xuyên tạc thông tin nguồn cũng cần được xem xét. Trong các ứng dụng thực
tế người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được
các thay đổi. Yêu cầu chung đối với ứng dụng này là khả năng giấu tin cao và
thủy vân không cần bền vững[5].
Giấu vân tay hay dán nhãn: Thủy vân trong những ứng dụng này được
sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó. Ví
dụ các vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tin
gốc trước khi chuyển cho nhiều người[11]. Với ứng dụng này thì yêu cầu là
đảm bảo độ an toàn cao cho các thủy vân tránh sự xóa dấu vết trong khi phân
phối.
Kiểm soát sao chép: Các thủy vân trong trường hợp này được sử dụng
để kiểm soát sao chép đối với các thông tin. Các thiết bị phát ra thủy vân
thường được gắn sẵn vào trong các hệ thống đọc/ghi. Ví dụ như hệ thống
quản lý sao chép DVD đã được ứng dụng ở Nhật. Các ứng dụng loại này cũng
yêu cầu thủy vân phải được đảm bảo an toàn và cũng sử dụng phương pháp
phát hiện thủy vân đã giấu mà không cần thông tin gốc.
Viện Toán Ứng Dụng & Tin Học 17 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Giấu tin mật: Các thông tin giấu được trong trường hợp này càng nhiều
càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiện
chứa ban đầu. Các yêu cầu mạnh về chống tấn công của kẻ thù không cần
thiết lắm thay vào đó là thông tin giấu phải đảm bảo tính không thể phát hiện.
1.2. Giấu tin trong ảnh và các đặc trưng
1.2.1. Giấu tin trong ảnh
Giấu tin trong ảnh, hiện nay, là một bộ phận chiếm tỷ lệ lớn nhất trong
các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đa
phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn. Hơn nữa,
giấu tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng
dụng bảo vệ an toàn thông tin như: xác thực thông tin, xác định xuyên tạc
thông tin, bảo vệ bản quyền tác giả, điều khiển truy nhập, giấu tin mật … Vì
thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức,
trường đại học, và viện nghiên cứu trên thế giới.
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít
thay đổi và ít ai biết được bên trong bức ảnh đó mang những thông tin có ý
nghĩa khác. Và ngày nay, khi ảnh số đã được sử dụng phổ biến, thì giấu tin đã
đem lại rất nhiều những ứng dụng quan trọng trong trên nhiều lĩnh vực trong
đời sống xã hội. Ví dụ như đối với các nước phát triển, chữ ký tay đã được số
hóa và lưu trữ sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài
chính, nó được dùng để xác nhận các thẻ tín dụng của người tiêu dùng. Thêm
vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật, chúng rất
dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng. Phát hiện thông
tin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết. Một đặc điểm của
giấu tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó
như là một cách truyền thông tin mật cho nhau mà người khác không thể biết
Viện Toán Ứng Dụng & Tin Học 18 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
được bởi sau khi giấu tin thì chất lượng ảnh gần như không thay đổi, đặc biệt
đối với ảnh màu hay ảnh đa mức xám.
1.2.2. Các đặc trưng cơ bản
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vì
vậy mà các kỹ thuật giấu tin phần lớn cũng tập trung vào các kỹ thuật giấu tin
trong ảnh. Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu
khác nhau. Đối tượng ảnh là một đối tượng dữ liệu tĩnh có nghĩa là dữ liệu tri
giác không biến đổi theo thời gian. Dữ liệu ảnh có nhiều định dạng, mỗi định
dạng có những tính chất khác nhau nên các kỹ thuật giấu tin trong ảnh thường
chú ý tới các đặc trưng cơ bản sau đây:
- Phương tiện có chứa dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu tĩnh, dù đã giấu tin vào trong ảnh hay chưa
thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian,
điều này khác với dữ liệu âm thanh và dữ liệu băng hình vì khi ta nghe hay
xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các
đoạn, các bài hay các ảnh…
- Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau. Chẳng hạn đối
với ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng cho
từng loại ảnh có những đặc trưng khác nhau.
- Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh
gốc. Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các
kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh
phải rất nhỏ sao cho bằng mắt thường khó nhận ra được sự thay đổi đó vì có
Viện Toán Ứng Dụng & Tin Học 19 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
như thế thì mới đảm bảo được độ an toàn cho thông tin giấu. Rất nhiều các kỹ
thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn như
mắt người cảm nhận về sự biến đổi về độ chói kém hơn sự biến đổi về màu
hay cảm nhận của mắt về màu xanh da trời kém nhất trong ba màu cơ bản.
- Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi
kích thước ảnh
Các thuật toán thực hiện công việc giấu tin sẽ được thực hiện trên dữ
liệu của ảnh. Dữ liệu ảnh bao gồm phần header, bảng màu (có thể có) và dữ
liệu ảnh. Do vậy mà kích thước ảnh trước và sau khi giấu tin là như nhau.
- Đảm bảo chất lượng sau khi giấu tin
Đây là một yêu cầu quan trọng đối với giấu tin trong ảnh. Sau khi giấu
tin bên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi để có thể bị
phát hiện dễ dàng so với ảnh gốc. Yêu cầu này dường như khá đơn giản đối
với ảnh màu hoặc ảnh xám bởi mỗi điểm ảnh được biểu diễn bởi nhiều bit,
nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh thay
đổi không đáng kể, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen
trắng mỗi điểm ảnh chỉ là đen hoặc trắng, và nếu ta biến đổi một bit từ trắng
thành đen và ngược lại mà không khéo thì sẽ rất dễ bị phát hiện. Do đó, yêu
cầu đối với các thuật toán giấu tin trong ảnh màu hay ảnh xám và giấu tin
trong ảnh đen trắng là khác nhau. Trong khi đối với ảnh màu thì các thuật
toán chú trọng vào việc làm sao giấu được càng nhiều thông tin càng tốt thì
các thuật toán áp dụng cho ảnh đen trắng lại tập trung vào việc làm thế nào để
thông tin giấu khó bị phát hiện nhất [7], [8], [9].
- Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên
ảnh
Viện Toán Ứng Dụng & Tin Học 20 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Vì phương pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trị
của các bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó để
tìm được thông tin giấu. Theo đó, nếu một phép biến đổi nào đó trên ảnh làm
thay đổi giá trị của các bit thì sẽ làm cho thông tin giấu bị sai lệch. Nhờ đặc
điểm này mà giấu tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc
thông tin[5].
- Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấy
thông tin giấu cần đến ảnh gốc hay không cần. Đa số các kỹ thuật giấu tin mật
thì thường không cần ảnh gốc để giải mã. Thông tin được giấu trong ảnh sẽ
được mang cùng với dữ liệu ảnh, khi giải mã chỉ cần ảnh đã mang thông tin
giấu mà không cần dùng đến ảnh gốc để so sánh đối chiếu.
Viện Toán Ứng Dụng & Tin Học 21 Nhữ Bảo Vũ
| (mod )a b m
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
1.3. Cơ sở toán học
1.3.1. Lý thuyết đồng dư modulo
1.3.1.1. Các định nghĩa
Xét vành số nguyên .
Định nghĩa. Hai số nguyên a, b được gọi là đồng dư với nhau theo modulo m
với m nguyên dương nếu chia hết cho m. Ký hiệu .
Chú ý:
1.3.1.2. Một số tính chất cơ bản
- Tính phản xạ: Với mọi số nguyên a, ta có:
- Tính đối xứng: Nếu thì
- Tính bắc cầu: Nếu và thì
- Các tính chất mở rộng:
a) Hệ quả 1:
b) Hệ quả 2:
c) d)
Viện Toán Ứng Dụng & Tin Học 22 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
e) f)
1.3.1.3. Định lý nhỏ Fermat
Định lý nhỏ fermat. Cho p là một số nguyên tố và a là một số nguyên, ta có:
Hệ quả: p là số nguyên tố và a là số nguyên tố sao cho , ta có được:
Ví dụ: Tìm số dư trong phép chia cho 9
Ta có:
Mà:
Vậy:
Ý nghĩa: Để tìm số dư trong phép chia a cho b , thông thường a là
một lũy thừa với số mũ vô cùng lớn hay a chứa các lũy thừa như thế. Ta có
thể làm theo các cách như sau:
Xem xét: a hoặc thành phần của a đồng dư với s theo modulo b.
Nếu thì s là số dư trong phép chia a cho b. Ngược lại, xét tiếp
tính đồng dư của s theo modulo b, rồi lặp lại theo bước vừa rồi.
Viện Toán Ứng Dụng & Tin Học 23 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
1.3.2. Lý thuyết module
1.3.2.1. Các định nghĩa
Định nghĩa 1. Cho là một vành [1]. là một nhóm cộng Abel. Trang bị
cho phép nhân ngoài với các phần tử của
thỏa mãn các điều kiện:
Với mọi .
Khi đó được gọi là -module hay module trên vành .
Ví dụ:
(1) Mỗi ideal của vành là một module.
(2) Mỗi vành cũng là một module trên chính nó.
(3) là một trường, các module chính là các không gian vectơ trên
chính nó.
(4) Mỗi nhóm Abel cộng được coi là một module với phép nhân
ngoài được xác định như sau: Với mỗi và thì
(tổng gồm phần tử ) với
nếu .
Các ví dụ trên chứng tỏ rằng khái niệm module là một khái niệm tổng quá của
các khái niệm: Vành, ideal, không gian vectơ và nhóm Abel.
Định nghĩa 2. Mỗi tập con không rỗng của một module được gọi
là một module con của nếu bản thân cũng là một module với
Viện Toán Ứng Dụng & Tin Học 24 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
hai phép cộng và nhân trong thu hẹp vào . Khi đó được gọi là
module mở rộng của .
Ví dụ:
(1) Với là module. {0} và là hai module con tầm thường
của .
(2) Mọi nhóm con của một nhóm Abel là module con của .
(3) là module. Khi đó với Tập hợp là một
module con của (module con xyclic sinh bởi ).
(4) là vành. Vành đa thức là một module. Khi đó là
một module con của .
Định nghĩa 3. Cho là module và là một module con của .
Khi đó là một nhóm con của nhóm Abel nên ta có nhóm thương:
cùng với hai phép toán:
+) Phép cộng:
+) Phép nhân vô hướng:
Với Khi đó cũng là một module và gọi là
module thương của module theo module .
Ví dụ:
(1) là vành, là một ideal của . Khi đó là module và:
(2) là module.
Viện Toán Ứng Dụng & Tin Học 25 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Định nghĩa 4. Cho là một module. Cái triệt của được kí hiệu là
, là tập tất cả các phần tử sao cho .
Ví dụ:
Với là một ideal của vành . Khi đó cái triệt của module là
.
1.3.2.2. Đồng cấu module
Định nghĩa 5. Cho là các module. Một ánh xạ được
gọi là một đồng cấu module hay ánh xạ tuyến tính nếu nó thỏa mãn hai
điều kiện:
(i)
(ii)
Với mọi .
Nhận xét:
(i) là đơn ánh, toàn ánh, song ánh thì tương ứng đồng cấu là: Đơn
cấu, toàn cấu, đẳng cấu.
(ii) Nếu thì được gọi là đồng cấu không kí hiệu là 0.
(iii) Hạt nhân hay hạch của .
được gọi là ảnh của
Nếu thì là tự đồng cấu của . Nếu là đẳng cấu, khi
đó và là module đẳng cấu viết là .
Ví dụ:
(i) Cho là module con của module .
Ánh xạ : Phép nhúng chính tắc là một đẳng cấu.
Viện Toán Ứng Dụng & Tin Học 26 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
(ii) là một đồng cấu 0.
(iii) Cho là module con của module . Xét ánh xạ
, là một toàn cấu chiếu chính tắc và
.
Định nghĩa 6. Cho và là các module. Kí hiệu là tập
gồm tất cả các đồng cấu từ vào . Với và
ta có:
.
Khi đó:
Do đó .
Tập với các phép toán xác định như trên trở thành một
module và gọi là module các đồng cấu từ đến .
Định lí 1 (Định lí đồng cấu module). Cho là một đồng cấu các
module và là một toàn cấu chính tắc. Khi đó tồn tại
duy nhất một đơn cấu
Sao cho biểu đồ giao hoán:
Tức là .
Viện Toán Ứng Dụng & Tin Học 27 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hệ quả 1: Cho là một đồng cấu các module. Khi đó ta có
. Và nếu f là toàn cấu thì .
Hệ quả 2: Cho là module con của là module con của . Khi đó ta
có:
.
Hệ quả 3: Cho và là hai module con của cùng một module thì ta có:
1.3.2.3. Tích trực tiếp, tổng trực tiếp các module
Định nghĩa 7. Cho là một tập khác rỗng. Giả sử là một họ các
module chỉ số hóa bởi . Khi đó ta xây dựng hai khái niệm:
(i) Tích trực tiếp:
Kí hiệu là tích Descartes của . Ta xây dựng
phép cộng trong và phép nhân ngoài các phần tử của với phần
tử của :
a)
b)
Với mọi . Với hai phép toán này
là một module.
module xây dựng như trên được gọi là tích trực tiếp của họ
các module . Ta có . Nếu
thì ta kí hiệu bởi .
(ii) Tổng trực tiếp:
Viện Toán Ứng Dụng & Tin Học 28 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Trong ta lấy con bao gồm tất cả các phần tử của
với các thành phần bằng 0 hầu hết trừ một số hữu hạn thành
phần có thể khác 0.
Tức là trừ một số hữu hạn .
Khi đó cũng là module và là module con của .
Nếu thì ta kí hiệu bởi .
Viện Toán Ứng Dụng & Tin Học 29 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Nhận xét:
(i) Nếu họ các module chỉ gồm một số hữu hạn các
module thì ta có:
(ii) Nếu coi vành là module thì tích trực tiếp của module
kí hiệu là .
Định nghĩa 8 (Tổng trực tiếp trong). Cho là một họ tùy ý các
module con của module . Khi đó nếu thì
được gọi là tổng trực tiếp trong của họ các module con đã cho.
Kí hiệu là hầu hết trừ một số hữu hạn
. Một module con của được gọi là hạng tử trực tiếp của nếu tồn
tại một module con của của để .
Ví dụ:
là vành. Khi đó vành đa thức là một module nhận và
làm các module con của nó và ta có
và là các hạng tử trực tiếp của
.
Nhận xét:
là tổng trực tiếp trong của họ khi và chỉ khi mỗi phần tử của nó
có thể biểu diễn một cách duy nhất dưới dạng sau:
Viện Toán Ứng Dụng & Tin Học 30 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
CHƯƠNG 2
GIẤU TIN TRÊN ẢNH NHỊ PHÂN
2.1. Giới thiệu về giấu tin trong ảnh nhị phân
Đối tượng làm môi trường chứa tin của các thuật toán này là ảnh nhị
phân đen trắng dạng bitmap. Ảnh nhị phân đen trắng bao gồm các điểm ảnh
chỉ có màu trắng hoặc đen (tương ứng với bit 0 hoặc bit 1). Để giấu dữ liệu, ta
sẽ tách ma trận điểm ảnh thành các ma trận bit kích thước rời nhau,
và giấu tin trên mỗi ma trận đó. Bởi vậy các thuật toán chỉ cần quan tâm tới
phương pháp giấu dữ liệu trên các ma trận F.
Một số thuật toán giấu tin trên ảnh nhị phân nổi tiếng hiện nay như:
Wu-Lee[7], CPT[8], CPTE[10]. Các thuật toán này đều dựa trên thao tác biến
đổi ma trận bit.
2.2. Giấu tin theo khối bit đơn giản
Ý tưởng cơ bản của kỹ thuật này là chia ảnh gốc thành các khối nhỏ và
trong mỗi khối nhỏ sẽ giấu một bit thông tin.
Quá trình giấu tin: Với mỗi ma trận bit F kích thước và bit mật b
đang cần giấu, tiến hành biến đổi F thành F’ để giấu bit b sao cho:
SUM(F’) mod 2 = b
Như vậy, mỗi lần giấu một bit, có thể xảy ra hai trường hợp: SUM(F)
mod 2 = b, khi đó ta giữ nguyên khối ảnh F. Trường hợp ngược lại chọn ngẫu
nhiên một bit trong khối F và tiến hành đảo giá trị của bit này để được khối
ảnh mới F’.
Viện Toán Ứng Dụng & Tin Học 31 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Quá trình tách tin: Khi nhận được ảnh giấu tin, việc giải mã tin sẽ được
thực hiện theo các bước sau:
- Chia ảnh thành các khối có kích thước giống với kích thước khối đã
sử dụng khi thực hiện giấu, đây là khóa để giải mã.
- Với mỗi khối ảnh đã giấu tin F’ được chọn theo thứ tự như quá
trình giấu tin, thực hiện tách lấy bit thông tin đã giấu theo công
thức:
- Như vậy, sau khi xét hết các khối bit đã giấu, ta thu được một chuỗi
bit, chuỗi này là thông tin các bit mật đã giấu trước trước đó.
Lược đồ giấu tin theo khối bit đơn giản giấu được 1 bit thông tin vào
trong một khối ma trận bit kích thước mà chỉ thay đổi tối đa 1 bit.
2.3. Thuật toán giấu tin Wu-Lee
Kỹ thuật giấu tin theo khối bit đơn giản thể hiện độ an toàn không cao
với việc sử dụng duy nhất kích thước khối là khóa cho quá trình giấu tin, ảnh
chứa thông tin giấu cũng bị dễ phát hiện do kỹ thuật có thể sẽ đảo bit trong
các khối ảnh toàn màu đen hoặc toàn màu trắng dẫn tới sự bất thường ở vị trí
bit đảo so với các điểm lân cận trong khối.
Kỹ thuật giấu tin trên ảnh nhị phân do M.Y.Wu và J.H.Lee vẫn trên tư
tưởng giấu một bit thông tin vào một khối ảnh gốc nhưng khắc phục được
phần nào những tồn tại nêu trên bằng cách được thêm khóa K cho việc giấu
tin và đưa thêm các điều kiện để đảo bit trong mỗi khối, theo điều kiện đó các
khối ảnh gốc toàn màu đen hoặc toàn màu trắng sẽ không được sử dụng để
giấu tin.
Viện Toán Ứng Dụng & Tin Học 32 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Thuật toán giấu tin biến đổi khối ảnh F thành F’ để giấu 1 bit b được
thực hiện sao cho:
Công thức (2) cũng được sử dụng cho quá trình tách lấy tin đã giấu.
Thuật toán giấu tin Wu-Lee giấu được 1 bit thông tin vào một khối bit
và chỉ phải thay đổi tối đa 1 bit trong F, tham khảo[7].
2.4. Thuật toán giấu tin Chen-Pan-Tseng
Trên cơ sở thuật toán của Wu-Lee như đã trình bày trong mục 3.3, các
tác giả Yu Yan Chen, Hsiang Kuang Pan và Yu Chee Tseng đã phát triển một
kỹ thuật giấu tin mới, thuật toán giấu tin CPT[8]. Kỹ thuật này sử dụng một
ma trận khóa K và một ma trận trọng số W trong quá trình giấu tin và tách
thông tin.
Quá trình biến đổi khối ảnh thành F’ kích thước để giấu bit
thông tin được thực hiện sao cho:
Công thức (3) được sử dụng để tách chuỗi bit từ khối ảnh
F’.
Tóm tắt nội dung thuật toán CPT
Dữ liệu vào:
+) Xét trên một ma trận nhị phân .
+) Kết hợp 1 ma trận khóa nhị phân cấp : .
+) là ma trận trọng số tự nhiên cấp : .
Viện Toán Ứng Dụng & Tin Học 33 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
+) b là dãy r bit cần giấu vào ma trận :
Ở đây, ta sử dụng b theo hai nghĩa: dãy bit và số tự nhiên dạng nhị phân
+) Đặt
Sao cho:
Hay nói các khác, ma trận trọng số W cần thỏa mãn: mỗi giá trị của tập
phải xuất hiện trong W ít nhất 1 lần.
Các ma trận khóa K và ma trận trọng số W kích thước được sử
dụng như các thành phần khóa bí mật: người sử dụng K, W trong quá trình
giấu và người nhận cần phải có K, W để khôi phục lại tin đã giấu.
Dữ liệu ra:
+) Ma trận nhị phân F’ đã được mã hóa mang thông tin dãy r bit b, mà
chúng ta có thể lấy lại được thông tin b từ F’.
Thuật toán giấu tin
Bước 1:
Tính .
Và .
Bước 2:
Tính (4)
Hay Suy ra:
Bước 3:
Viện Toán Ứng Dụng & Tin Học 34 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Ta xem là giá trị dữ liệu cần giấu dưới dạng cơ số 2. Suy ra
Mục đích của thuật toán này là thay đổi nhiều nhất hai vị trí
trong F để dược ma trận F’ mà S’ tương ứng tính được theo công thức (4)
thỏa mãn:
(5)
Tính
Bước 4:
Ta cần tìm các ô sao cho S tăng đúng một lượng khi ta đảo giá trị
bit ở ô . Khi đó ta được:
Ta gọi là tập các ô cần đảo sao cho thỏa mãn điều
kiện đó khi và chỉ khi:
(6)
Tính theo công thức (6).
Bước 5:
Xảy ra một trong ba trường hợp sau:
Nếu (hay ) thì dĩ nhiên ta không cần thay đổi ma trận F.
Nếu và ta chỉ cần đảo một ô bất kì thuộc . Thuật
toán dừng. Nếu và ta chuyển bước 6.
Bước 6:
Viện Toán Ứng Dụng & Tin Học 35 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Ta tìm số nguyên và nhỏ nhất sao cho và . Sự
tồn tại của được chứng minh trong [10]. Khi đó ta đảo một ô bất kì thuộc
thuộc và một ô bất kì thuộc .
2.5. Thuật toán giấu tin CPTE
Ý tưởng: CPTE là một phương pháp được cải biên từ phương pháp
CPT do nhóm nghiên cứu của PGS.TS Phan Trung Huy đề xuất. Tư tưởng
của phương pháp CPTE là giấu các bít thông tin trên một ma trận nhị phân F
cỡ . Phương pháp giấu được bit thông tin.
Thuật toán:
- Dữ liệu vào:
+) Ma trận nhị phân: .
+) Kết hợp 1 ma trận khóa nhị phân: .
+) Ma trận trọng số: , với là số tự nhiên.
+) Đặt
+) là dãy bit cần giấu vào ma trận
Đặt điều kiện với nói cách khác, các
giá trị của tập phải xuất hiện trong ít nhất 1 lần.
- Dữ liệu ra:
Viện Toán Ứng Dụng & Tin Học 36 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
+) Ma trận nhị phân chứa dãy bít mật , mà từ đó ta có thể
tính lại giá trị .
Nội dung thuật toán:
Thuật toán sẽ thực hiện việc giấu tin bằng cách biến đổi mỗi khối bít F i
thành F’i sao cho luôn thoả mãn điều kiện sau :
Bước 1 :
Tính ma trận
Tính
Bước 2:
Tính
Bước 3:
Vì là số bit. Suy ra: (giống như S). Ta cần
đảo nhiều nhất 2 ô trên Fịj trên ma trận F sao cho:
Tính Giá trị là độ lệch giữa giá trị dữ liệu cần
giấu và dữ liệu tương ứng tính từ F qua T và W.
Nếu (hay ), đây là trường hợp ta
không cần phải đảo bit nào trên F và thuật toán dừng. Nếu ta
chuyển qua bước 4.
Bước 4:
Viện Toán Ứng Dụng & Tin Học 37 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Mục đích của bước này là tìm tập các vị trí Fij để sao cho sau khi
đảo bit một trong các vị trí này, ta được S’ = b.
Gọi là tập các ô Fij, để thay đổi giá trị một ô thuộc thì giá
trị S tăng lên đúng một lượng là
Như vậy ta có thể tìm theo công thức sau:
Bước 5:
Nếu và : Ta chỉ cần đảo bit của một ô khi đó
S sẽ tăng một lượng và F mới sẽ mang thông tin b, thuật toán kết
thúc.
Nếu và : ta chuyển sang bước 6.
Bước 6:
Ta tìm số tự nhiên nhỏ nhất sao cho và .
Khi đó ta đảo một ô thuộc và một ô thuộc , giá trị của S sẽ
tăng lên một lượng là và , do đó S tăng lên một lượng
đúng bằng và bằng b.
Thuật toán dừng.
Tính đúng đắn của thuật toán được chứng minh trong [10].
Ví dụ minh họa phương pháp CPTE
Viện Toán Ứng Dụng & Tin Học 38 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Thì:
a) Giả sử cần giấu , ta có , ta không cần phải đảo bit nào
trong .
b) Giả sử cần giấu
, do đó ta đảo bit ở ô số (2,1) được
,
(đúng)
c) Giả sử cần giấu
Do đó ta cần đảo F tại hai vị trí và , ta được
Viện Toán Ứng Dụng & Tin Học 39 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
(đúng)
CHƯƠNG 3
GIẤU TIN TRÊN ẢNH MÀU, ẢNH XÁM
Phần này sẽ đề cập tới một số phương pháp giấu tin trên ảnh màu và
ảnh xám định dạng bitmap (BMP). Cấu trúc ảnh BMP được mô tả tóm tắt
trong mục 4.1 của chương 4. Đây là một định dạng rất phổ biến, điểm nổi bật
nhất của ảnh BMP là ảnh không được nén bằng bất cứ thuật toán nào. Khi lưu
ảnh các điểm ảnh được lưu trực tiếp vào tập tin. Một điểm ảnh sẽ được bằng
1, 4, 8, 16, 24, hoặc 32 bits (thường được viết tắt là bpp – bits per pixel). Ảnh
8bpp hay ít hơn là ảnh đơn sắc hoặc ảnh chỉ số. Các ảnh lớn hơn là ảnh màu
thực. Trong khuôn khổ báo cáo đồ án chỉ đề cập đến ảnh bitmap màu thực
24bpp và ảnh chỉ số 8bpp.
3.1. Phương pháp LSB
Ý tưởng: Phương pháp LSB (Least Bit Significant) sẽ thay thế bit ít
quan trọng nhất, thường là bit cuối của mỗi mẫu dữ liệu bằng bít thông tin
mật. Như vậy trên mỗi pixel của một ảnh BMP 24bpp có thể giấu được từ 1
đến 3 bit mật.
Ví dụ mẫu 8 bit, bit cuối 0 được thay thế bởi bit thông tin mật 1:
Viện Toán Ứng Dụng & Tin Học 40 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 6. Minh họa kĩ thuật giấu LSB
Ưu điểm của phương pháp này là dễ cài đặt và cho phép giấu dữ liệu
nhiều. Có thể tăng thêm dữ liệu giấu bằng cách sử dụng hai bit LSB. Tuy
nhiên cách làm này cũng làm tăng nhiễu trên đối tượng chứa dẫn đến đối
phương dễ phát hiện và thực hiện các tấn công. Vì vậy dữ liệu chứa cần phải
được chọn trước khi giấu sử dụng phương pháp này.
Để tăng độ an toàn cho kỹ thuật này, ta sử dụng bộ sinh số ngẫu nhiện
để sinh ra các vị trí các mẫu được chọn giấu chứ không phải các mẫu liên tục.
Bộ sinh số này sử dụng một khóa bí mật K như một phần tử khởi tạo của bộ
sinh số. Khóa K này được sử dụng trong cả quá trình giấu tin và giải tin. Lưu
ý là phương pháp sinh số không tạo ra các giá trị trùng nhau để trường hợp
một vị trí được giấu hai lần.
3.2. Phương pháp chẵn lẻ giấu tin trên ảnh chỉ số
Trong mục này, chúng ta xem xét một hướng tiếp cận về giấu tin trên
ảnh chỉ số, cụ thể là trên ảnh bitmap 8bpp: Phương pháp xác định tính chẵn
lẻ và màu kế cận.
Với ảnh chỉ số 8bpp thì mỗi điểm ảnh được lưu bằng một byte, byte
này chứa giá trị là chỉ số màu trên bảng màu của điểm ảnh. Như vậy ý tưởng
của phương pháp như sau:
Cho G là một ảnh BMP 8bpp, gọi P là palette có 256 màu. Dưới dạng
tập hợp ta có thể viết . Trong đó mỗi phần tử được xem
như một vector gồm 3 thành phần (Red, Green, Blue). Giả sử chúng ta đã xây
Viện Toán Ứng Dụng & Tin Học 41 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
dựng một hàm khoảng cách với các cặp điểm thuộc
(tham khảo khoảng cách màu theo [16]). Hàm khoảng cách d nói chung cần
phải thỏa mãn được các yêu cầu cơ bản: khi càng nhỏ thì cảm quan
về sự “giống nhau” của với phải càng lớn.
Yêu cầu đặt ra cần xác định hai hàm và hàm
. . Sao cho thỏa mãn:
- càng nhỏ càng tốt trên toàn bộ miền P
- (điều này có nghĩa là màu x và màu Next(x)
khác tính chẵn lẻ theo tiêu chuẩn C.
Giả sử đã xác định một cặp hàm như vậy, ta có thể xây dựng sơ đồ giấu
tin mật và giải mã lấy tin như sau:
a) Sơ đồ giấu tin mật
Yêu cầu giấu một dãy bit mật trong ảnh G, thuộc E. Ở
đây mỗi là một bit mật cần giấu. Ta xét trên từng dòng điểm ảnh W của
ảnh G. Với mỗi điểm ảnh p thuộc dòng W có màu x, để thực hiện giấu bit ,
ta tính C(x). Có hai trường hợp xảy ra:
- Nếu thì điểm ảnh p đã mang thông tin bit , ta chuyển
qua xét điểm ảnh p+1 kế tiếp để giấu bit kế tiếp.
- Nếu , ta thay thế màu x của điểm ảnh p bằng màu
Next(x). Khi đó do tính chất của cặp hàm Next, C ta có
Viện Toán Ứng Dụng & Tin Học 42 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
. Điều này có nghĩa rằng màu mới tại điểm p là
Next(x) sẽ mang giá trị bit mật thông qua hàm C.
Qua sơ đồ này cặp hàm Next và C có thể xem như một sơ đồ hàm khóa
bí mật của sơ đồ giấu tin.
b) Sơ đồ giải mã lấy tin mật
Với một ảnh G đã mang thông tin mật b. Ta duyệt qua lần lượt từng
điểm ảnh p. Giá trị chẵn lẻ không phải xác định bởi bit cuối cùng trong dãy
bit như trong phương pháp LSB của mỗi byte điểm ảnh mà được tính thông
qua hàm C(x).
3.3. Phương pháp định vị giai thừa giấu tin trên ảnh GIF
Ảnh GIF[18] (Graphics Interchange Format) là một định dạng ảnh
bitmap sử dụng thuật toán nén không mất thông tin LZW để giảm kích thước
của file. Định dạng này được tạo bởi CompuServe năm 1987 và hiện đang
được sử dụng rất rộng rãi, định dạng ảnh này chứa một bảng màu gồm 256
màu được chọn từ bảng màu 24-bit (RGB).
Khác với phương pháp chẵn lẻ và màu kế cận trong mục 3.3 dữ liệu cần
giấu được giấu vào nội dung của ảnh và có thể làm thay đổi chất lượng ảnh
bởi trực quan nếu hàm khoảng cách không đủ tốt. Ý tưởng của phương pháp
định vị giai thừa là ta đi sắp xếp lại thứ tự 256 màu trong bảng màu của ảnh
GIF theo một trật tự cho phép giấu được tin mật.
Như vậy, phương pháp này không làm thay đổi dữ liệu ảnh, ta chỉ sắp
xếp lại thứ tự màu trong bảng màu và sắp xếp lại dữ liệu ảnh tương ứng với
cách sắp xếp đó.
Viện Toán Ứng Dụng & Tin Học 43 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Ví dụ: Một ảnh có bảng màu bao gồm 4 màu . Cấu hình của
bảng màu này khi không chứa dữ liệu (hay cấu hình chuẩn) là
Như vậy số bít thông tin ta có thể giấu được là:
Cho dãy bit mật thông tin: 11112 tương ứng số thứ tự 15. Vậy ta có
được hoán vị mới chứa dãy bit mật cho ở trên.
3.4. Thuật toán giấu tin trong ảnh xám
Ý tưởng: Với mỗi tập có 6 phần tử trên vành thực hiện lật tối đa
2 vị trí của để giấu được 6 bit mật trên mỗi khối .
Định nghĩa: Cho có dạng ,
với ta định nghĩa phép cộng và phép nhân với 1 số
như sau:
Thuật toán:
- Input:
+) Khối gồm 6 phần tử:
+) Khối khóa
+) là số 6 bit mật cần giấu
- Output:
Viện Toán Ứng Dụng & Tin Học 44 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
+) Khối có chứa thông tin mật mà ta có thể lấy lại được.
Nội dung thuật toán:
Giải thuật giấu tin trên 1 khối có 6 phần tử
tương ứng là 6 pixel của ảnh xám như sau:
Cho được sử dụng như là thành
phần khóa bí mật của hệ giấu tin.
1) Giấu tin mật trong khối đã cho:
Tính
a. Nếu , không cần phải thay đổi trong .
b. Nếu , tính
B1: Nếu thực hiện thay đổi tại
thành
B2: Nếu ta thực hiện thay
đổi tại hai vị trí như sau:
2) Giải lấy tin mật, tin mật được lấy lại đơn giản bằng cách tính lại
.
Ví dụ: Cho F được xác định như sau
Viện Toán Ứng Dụng & Tin Học 45 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
, và
Theo trên, ta tính được
Giả sử cần giấu tin mật , tính
Ta thực hiện thay đổi tại hai vị trí ta được
Cuối cùng ta có được khối mới
Bước giải tin mật, ta thực hiện tính
Kết thúc giải thuật, lấy lại tin mật thành công.
Viện Toán Ứng Dụng & Tin Học 46 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
CHƯƠNG 4
XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG
4.1. Tổng quan về ảnh số
Một vài định dạng phổ biến cho file ảnh kĩ thuật số bao gồm BMP,
GIF, PNG, JPG, … Trong đồ họa máy tính BMP còn được biết đến với tên
Windows bitmap, là một định tập tin hình ảnh phổ biến. Có 3 dạng ảnh số phổ
biến: Ảnh đen trắng (ảnh nhị phân), ảnh đa mức xám, ảnh màu.
Ảnh đen trắng: là ảnh mà mỗi điểm ảnh chỉ thể hiện một trong hai
trạng thái 0 và 1 để biểu diễn trạng thái điểm ảnh đen hay trắng.
Hình 7. Ví dụ về ảnh đen trắng
Ảnh đa mức xám: là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá
trị và đó là cường độ sáng của điểm ảnh.
Viện Toán Ứng Dụng & Tin Học 47 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 8. Ví dụ về ảnh đa cấp xám
Ảnh màu : là ảnh mà mỗi điểm ảnh được biểu diễn bởi ba đại lượng R,
G, B. Số lượng màu có thể của loại ảnh này lên tới màu khác nhau. Để
tiết kiệm bộ nhớ với các ảnh có số lượng màu nhỏ hơn hoặc bằng 256 thì màu
các điểm ảnh được lưu trữ dưới dạng bảng màu.Với ảnh có số màu lớn thì các
điểm ảnh không tổ chức dưới dạng bảng màu, khi đó giá trị của các điểm ảnh
chính là giá trị của các thành phần màu R,G,B. Với ảnh có số lượng màu lớn,
tùy theo chất lượng ảnh mà quyết định số bit để biểu diễn cho mỗi màu
thường là 24 bit, hoặc 32 bit . Với ảnh 24 bit mỗi thành phần màu được biểu
diễn bởi một byte (8 bit).
Viện Toán Ứng Dụng & Tin Học 48 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 9. Ví dụ về ảnh màu
Cấu trúc ảnh Bitmap
Nội dung ảnh bitmap gồm 4 phần: File Header, Image Header, Color
Table, và Pixel Data.
- File Header: (14 bytes)
Chức năng chính:
+ Xác định đây có phải là file BMP hay không.(2 byte đầu tiên)
+ Độ lớn của file ảnh (4 byte tiếp theo)
+ Xác định vị trí của dữ liệu ảnh
Tên trường Kích thước (byte)
Miêu tả
Type 2 Là 2 kí tự ‘B’ và ‘M’
Size 4 Kích thước của file
Reserved 1 2 Không được sử dụng, phải có giá trị là 0.Reserved 2 2
Viện Toán Ứng Dụng & Tin Học 49 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
OffBits 4 Vị trí bắt đầu phần The Pixel Data
- Image Header: (40 bytes)
Chức năng chính: Đưa ra thông tin chi tiết về ảnh và định dạng dữ liệu
như:
+ Chiều rộng và chiều cao của ảnh
+ Bao nhiêu bit được sử dụng cho 1 pixel
+ Dữ liệu ảnh có được nén hay không.
Tên trường Kích thước (byte)
Mô tả
Size 4 Kích thước phần Header, phải nhỏ hơn 40.
Width 4 Chiều rộng file theo Pixel
Height 4 Chiều cao file theo Pixel
Planes 2 Luôn là 1
BitCount 2 Số bit trên 1 Pixel : 1, 2, 4, 8, 16, 24, hoặc 32.
Compression 4 Kiểu nén (0 := Không được nén)
SizeImage 4 Kích thước ảnh, phải là 0 đối với ảnh không được nén
XPelsPerMeter 4 Ưu tiên độ phân giải pixels/ meter
YPelsPerMeter 4 Ưu tiên độ phân giải pixels/ meter
ClrUsed 4 Số màu Map được sử dụng thực sự
ClrImportant 4 Số màu có ý nghĩa
Viện Toán Ứng Dụng & Tin Học 50 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
- Color Table:
Tiếp theo là Palette màu của BMP, gồm nhiều bộ có kích thước 4 byte
xếp liền nhau theo cấu trúc Blue-Green-Red và một Byte dành riêng cho
Itensity.
Kích thước của vùng Palette màu bằng 4 x số màu của ảnh. Nếu số bits
màu của ảnh (byte 15-16 của Info là 24 hoặc 32 thì không có vùng Palette).
Vì Palette màu của màn hình có cấu tạo theo thứ tự Red-Green-Blue nên khi
đọc Palette màu của ảnh BMP vào ta phải chuyển đổi lại cho phù hợp. Số
màu của ảnh được biết dự trên số Bits cho 1 pixel cụ thể là:
Nếu là ảnh 24 bit, thì ColorTable không được biểu diễn.
Nếu là ảnh 8 bit thì ColorTable chứa 256 “entries” với mỗi “entry”
chứa 4 byte của dữ liệu. 3 byte đầu tiên là giá trị cường độ màu Blue, Green,
Red. Byte cuối cùng không được sử dụng và phải bằng zero.
- Pixel Data:
Với ảnh 8 bit, mỗi pixel được biểu diễn bởi 1 byte đơn của dữ liệu.Với
ảnh 24 bit, mỗi pixel được biểu diễn bởi 3 byte tuần tự của dữ liệu. Tham
khảo thêm tại [17].
4.2. Cài đặt thuật toán CPTE
Phần trên đã giới thiệu các ý tưởng và thuật toán giấu tin CPTE, trước
khi bước vào xây dựng ứng dụng giấu tin trong mã hóa, mà cụ thể ở đây
chương trình sẽ thực hiện cài đặt các thuật toán đã giới thiệu trên. Trong mục
tiếp theo sau đây là sơ đồ giải thuật của thuật toán CPTE dưới dạng giả mã.
Chương trình cần đảm bảo thực hiện hai chức năng chính là giấu tin và giải
tin để nhận được thông tin đã giấu.
Viện Toán Ứng Dụng & Tin Học 51 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Ta cần xây dựng thủ tục trợ giúp tìm các tập . Cho số , ma trận
khóa và ma trận trong số , tìm ra các vị trí là các tọa độ mà tại đó nếu
đổi bit thì giá trị sẽ tăng một lượng đúng bằng .
Hình 10. Thủ tục xây dựng tập
Viện Toán Ứng Dụng & Tin Học 52 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Khi đã có thủ tục tìm S-alpha ta có thể trình bày thuật toán mã giấu tin,
trong đó, là ma trận khóa, là ma trận trọng số, là dãy giá trị bit
cần mã giấu trin và là ma trận mang tin, hàm trả về là ma trận sau khi
mang thông tin giấu .
Hình 11. Thủ tục mã hóa giấu tin
Trong đó, Daobit( ); là thủ tục đảo bit tại ô .
Thêm vào đó, ta có thủ tục giải mã thông tin. Thủ tục giải mã này có
các tham số là ma trận khóa và ma trận trọng số , ma trận mang
thông tin đã mã hóa và thủ tục trả về giá trị trước đó đã được giấu trong .
Viện Toán Ứng Dụng & Tin Học 53 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 12. Thủ tục giải mã thông tin
4.3. Ứng dụng giấu tin trong mã hóa
Mô hình hoạt động của hệ thống bao gồm: Bên gửi A có thông tin gốc
và khóa bí mật K muốn gửi cho bên nhận B, trước hết A sẽ sử dụng khóa K
tạo thành bản mã, giấu tin đã được mã hóa bằng thuật toán giấu tin vào trong
ảnh và gửi đến cho B. Tại bên nhận B cũng có khóa bí mật K mà hai bên đã
thông nhất trước đó, khi nhận được ảnh đã có chứa thông tin mã hóa, B sử
dụng thuật toán tách thông tin trong ảnh để nhận lại bản tin mã hóa, đưa thông
tin này qua bộ giải mã với khóa K và nhận lại thông tin gốc ban đầu.
Như vậy, có hai vấn đề ta cần quan tâm, đó là:
- Thiết kế chương trình giấu tin
- Thiết kế bộ mã hóa
Viện Toán Ứng Dụng & Tin Học 54 Nhữ Bảo Vũ
Thông tin gốc
Bộ mã hóa
Khóa
Bản mã
Bộ nhúng thông tin Ảnh chứa tin mật (2)
Thông tin gốc
Bộ mã hóa
Khóa
Bản mã
Bộ tách thông tin Ảnh chứa tin mật (2)
Phân phối qua mạng
Ảnh (1)
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 13. Mô hình hoạt động của chương trình
4.3.1. Thiết kế chương trình giấu tin
Dữ liệu tham số đầu vào của mô hình gồm: phương tiện chứa dưới
dạng một bức hình định dạng Bitmap, thông tin cần giấu, và một khóa riêng
cho bộ nhúng tin. Để thực hiện việc giấu tin vào trong ảnh, trước hết ta cần
tách ảnh thứ cấp từ ảnh môi trường (tách bít LSB, tách bảng màu, …), sau đó
giấu tin cần giấu vào trong ảnh thứ cấp này bằng thuật toán giấu tin và trả ảnh
môi trường theo đúng thứ tự các bit được lấy ra. Quá trình lấy tin được thực
Viện Toán Ứng Dụng & Tin Học 55 Nhữ Bảo Vũ
Ảnh môi trường (1)
Ảnh thứ cấp
Bộ nhúng thông tin
Ảnh môi trường (2)
Thông tin cần giấu
Khóa
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
hiện tương tự, thay bộ nhúng tin bằng bộ giải mã tin bằng thuật toán đã sử
dụng trước đó.
4.3.1.1. Giấu tin vào ảnh
Quá trình giấu tin vào ảnh được thực hiện theo các bước sau:
- Tách lấy ảnh thứ cấp từ ảnh môi trường
- Giấu tin là các file dữ liệu vào ảnh thứ cấp
- Trả lại ảnh thứ cấp vào môi trường
Hình 14. Lược đồ quá trình giấu tin vào ảnh
4.3.1.2. Tách thông tin từ ảnh kết quả
Quá trình tách thông tin đã được giấu trước đó tại mục 4.3.1.1 được
thực hiện theo lược đồ hình 15 dưới đây. Kết quả đầu ra của sơ đồ là thông tin
Viện Toán Ứng Dụng & Tin Học 56 Nhữ Bảo Vũ
Kiểm định
Ảnh môi trường (2)
Ảnh thứ cấp
Bộ giải mã thông tin
Ảnh môi trường (2)
Thông tin giấu
Khóa
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
và được qua một bộ kiểm định xem đó có là thông tin đã được giấu trước đó
hay không.
Hình 15. Lược đồ quá trình giải mã thông tin
4.3.2. Thiết kế bộ mã hóa
Do không gian khóa sử dụng trong các bộ giấu tin không đủ lớn để đảm
bảo độ an toàn của thông tin giấu trong trường hợp kẻ thứ ba cũng có chương
trình được cài đặt các thuật toán giấu tin hoặc phòng ngừa các thành viên
cùng trong một hệ thống. Để đảm bảo tính bí mật cho thông tin ta sử dụng
một trong các thuật toán mã hóa như: RC2, RC4, DES, TDES, AES, … Như
vậy, dữ liệu trước khi giấu vào trong ảnh sẽ được mã hóa để chống lại các tấn
công xem trộm, đảm bảo tính toàn vẹn, chống lại các tấn công giả mạo hay
sửa đổi dữ liệu.
Viện Toán Ứng Dụng & Tin Học 57 Nhữ Bảo Vũ
Mật khẩu H Khóa K
Thông tin gốc
Bộ mã hóa
Bản mã
Mật khẩu H Khóa K
Bản mã
Bộ giải mã
Thông tin gốc
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Trong báo cáo này sử dụng thuật toán mã hóa AES (Advanced
Encryption Standard) để mã hóa dữ liệu. Ở đây, ta cần cung cấp một mật khẩu
để tạo khóa cho quá trình mã hóa và giải mã dữ liệu. Mật khẩu này được trao
đổi giữa các bên thông qua một kênh an toàn.
Hình 16. Lược đồ quá trình mã hóa dữ liệu
Hình 17. Lược đồ quá trình giải mã dữ liệu
4.4. Ứng dụng giấu tin xây dựng giao thức xác thực
Trong cuộc sống thường ngày, có rất nhiều giao thức tồn tại trong hầu
hết mọi công việc giao dịch (giữa 2 hay nhiều phía): đặt hàng qua điện thoại,
bỏ phiếu tín nhiệm, … Không ai phải lo nghĩ nhiều về các giao thức này, mọi
người đều biết mình phải làm gì. Rất nhiều giao thức “mặt – đối – mặt” dựa
Viện Toán Ứng Dụng & Tin Học 58 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
trên sự hiện diện của người đại diện để đảm bảo cho tính an toàn và ngay
thẳng trong giao dịch. Mọi người tiến hành các giao dịch trên mạng ngày càng
nhiều thì máy tính cũng cần đến các “giao thức hình thức” để thực hiện những
việc mà con người làm không cần nghĩ ngợi. Tuy nhiên không thể tin tưởng
vào các giao dịch này, vì đôi khi kẻ gian am hiểu về máy tính sẽ lợi dụng để
thu lợi. Bằng các thiết lập các giao thức mà ta có thể kiểm tra được các
phương thức lừa đảo có thể sử dụng, và đồng thời vô hiệu hóa nó.
Trong phần này sẽ trình bày giao thức bắt tay ứng dụng giấu tin trong
xác thực người dùng để làm tăng độ an toàn cho người tham gia vào một hệ
thống cần có sự xác minh người sử dụng hoặc có các giao dịch yêu cầu độ an
toàn cao có khả năng phát hiện và chống được sự giả mạo.
4.4.1. Phát biểu bài toán thực tế ứng dụng mô hình
Một bài toán thực tế dùng mô hình giấu tin được phát biểu như sau:
Cho 1 website tạm coi là của tổ chức hay doanh nghiệp nào đó có chức năng
giao dịch hay giao tiếp với khách hàng, cá nhân khách hàng của doanh nghiệp
hoặc nhân viên muốn kiểm tra thông tin hay tài khoản của mình theo thường
lệ hoặc nhận được một thông báo lừa đảo nào trước đó, chẳng hạn qua: email,
tin nhắn, điện thoại, … để buộc phải thực hiện đăng nhập vào hệ thống
website của doanh nghiệp đó tại trang xác thực người sử dụng. Một thực tế có
thể xảy ra là tin tặc có thể lợi dụng việc đăng nhập vào website của doanh
nghiệp để tạo đường link giả sao cho giao diện trang web giả mạo giống hệ
với trang web của doanh nghiệp. Nếu khách hàng không biết đến có sự can
thiệp của bên giả mạo thứ ba hoặc vô tình có thể họ sẽ vẫn đăng nhập tài
khoản của mình trên trang web giả mạo đó. Sau khi cung cấp đủ thông tin
phía server sẽ báo lỗi và khách hàng không thực hiện đăng nhập được, hoặc
thậm chí được chuyển tiếp đến một website giả mạo khác. Thực chất trong
Viện Toán Ứng Dụng & Tin Học 59 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
quá trình đó, kẻ gian đã lấy được thông tin của khách hàng để thực hiện mưu
đồ bất chính chẳng hạn đăng nhập vào trang web chính thống để ăn cắp, sửa
xóa thông tin dẫn đến thiệt hại cho cá nhân khách hàng và doanh nghiệp.
Hình 18. Ví dụ về một hình thức lừa đảo thông qua Email
Hình 18 trên đây là một ví dụ về một e-mail lừa đảo, giả mạo như là
một e-mail chính thống từ một ngân hàng (không có thật). Người gửi cố đánh
lừa người nhận tiết lộ thông tin mật bằng việc “xác nhận” tại một website của
kẻ lừa đảo. Và chú ý rằng mặc dù các liên kết URL trên trang web của ngân
hàng dường như là hợp pháp, thực tế siêu liên kết lại được trỏ tới trang web
của kẻ giả mạo.
Thuật ngữ “Phishing” là cách thức kẻ lừa đảo thực hiện để có được
thông tin như tài khoản, mật khẩu, và thông tin chi tiết thẻ tín dụng bằng cách
giả mạo như là một thực thể đáng tin cậy trong giao tiếp điện tử. Phishing
Viện Toán Ứng Dụng & Tin Học 60 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
thường được thực hiện bằng cách giả mạo e-mail hay tin nhắn, và nó thường
hướng người dùng nhập các thông tin chi tiết tại một trang web giả mạo có
giao diện giống hệt với trang web chính thống. Phishing là một ví dụ về kỹ
thuật xã hội được sử dụng để đánh lừa người sử dụng, và khai thác các khả
năng thiếu hiểu biết người sử dụng về các công nghệ bảo mật web hiện nay.
Vấn đề đặt ra là làm thế nào để khách hàng biết mình đăng nhập vào
website thật hay đó là website giả mạo để bị lấy mất thông tin. Có nhiều cách
thức để bảo vệ truy nhập website cho khách hàng. Trong khuôn khổ nghiên
cứu về kỹ thuật giấu tin, báo cáo đề xuất một mô hình giấu tin và tách tin
nhằm bảo vệ người dùng, bảo vệ giao thức xác thực tránh bị lừa đảo, giúp
khách hàng cũng như người sử dụng an toàn truy nhập đúng trang web hợp
pháp của doanh nghiệp.
Giải pháp được đưa ra trong báo cáo là xây dựng một mô hình giấu tin
trong ảnh đại diện cá nhân của người sử dụng hệ thống, qua đó thông tin
được giấu vào trong ảnh đại diện đó, việc nhận diện đúng khách hàng của
mình hay đúng server thật dựa vào được giao thức xác thực được xây dựng
trong phần sau. Bên cạnh đó, yêu cầu đối với giao thức xây dựng được cần
một ứng dụng để nhận diện lại thông tin đó. Có nghĩa là, khi ứng dụng được
cài đặt, nếu khách hàng truy nhập đúng vào website thật thì quá trình đăng
nhập diễn ra bình thường, còn nếu khách hàng truy nhập vào trang web giả
mạo thì ứng dụng người dùng sẽ cảnh báo đang thực hiện đăng nhập vào
trang web giả mạo, hoặc không nhận được ảnh đại diện cá nhân của mình tại
trang đăng nhập (giả mạo đó).
4.4.2. Khái niệm giao thức
Giao thức là nghi thức giao dịch gồm một chuỗi các bước hoạt động có
sự tham gia của 2 hay nhiều phía nhằm hoàn tất một tác vụ xác định.
Viện Toán Ứng Dụng & Tin Học 61 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Các bước hoạt động trong một giao thức cần được thực hiện một cách
tuần tự và có một mục đích chung. Hoạt động của một người không thể làm
thành giao thức. Giao thức thường mang các đặc trưng sau:
- Từng người tham gia vào các giao thức cần phải nắm trước các
bước hoạt động của giao thức.
- Mọi người tham gia vào giao thức đồng thời phải chấp hành tuân
thủ giao thức
- Giao thức cần phải có tính mạch lạc rõ ràng (mỗi bước của nó được
định nghĩa chuẩn xác, không thể xảy ra khả năng hiểu lầm)
- Giao thức phải mang tính đầy đủ (các hoạt động cho mỗi tình huống
cụ thể đều phải được chỉ rõ)
Giao thức có thể xem như một thủ tục thực hiện một công việc nào đó,
nhưng một thủ tục nói chung không phải là một giao thức, vì nó không nhất
thiết phải do nhiều phía cùng tham gia thực hiện, và cũng không nhất thiết
phải mang nhưng đặc trưng nêu trên.
4.4.3. Giao thức bắt tay sử dụng phương pháp giấu tin
- Điều kiện bắt tay: Mỗi thành viên có nhu cầu tham gia và trao đổi
với hệ thống. Và mỗi thành viên sở hữu một định danh (T); cặp
khóa chủ của mình {Ks; Ws}; ảnh đại diện do thành viên cung cấp
khi đăng kí tham gia hệ thống và chữ ký đi kèm Ds nhằm mục đích
trao đổi thông tin và chống giả mạo.
- Quá trình xác thực: Xảy ra ở cả hai bên, và cả hai đều phải tự xác
thực mình với đối phương trước khi giao dịch được bắt đầu. Nếu
phát hiện một trong hai bên giả mạo thì một bên có thể tự động kết
thúc quá trình xác thực và đưa ra một số cảnh báo.
Viện Toán Ứng Dụng & Tin Học 62 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
- Giao thức bắt tay: Được tiến hành ở hai pha: Pha đăng ký, và Pha
yêu cầu đăng nhập hệ thống. Mọi thông tin giao dịch gửi đi sẽ được
giấu trong đối tượng chứa. Trong đồ án này sử dụng đối tượng chứa
là ảnh.
Pha 1: Pha đăng ký
Tại pha này, người dùng A đăng ký và cung cấp thông tin cá nhân T và
ảnh đại diện cho hệ thống B. B sẽ sử dụng các thông tin người dùng đăng ký
để tạo khóa riêng cho A. Đồng thời sẽ tạo ra một chữ ký số Ds cho A để sử
dụng trong pha 2. Kết thúc pha 1 hệ thống B có được các thông tin của A gồm
{T, Ks, Ws, Ds} và người dùng A sở hữu một chương trình thường trú hỗ trợ
kết nối hệ thống và phát hiện giả mạo {T, Ks, Ws, Ds, Ảnh đại diện}
Viện Toán Ứng Dụng & Tin Học 63 Nhữ Bảo Vũ
Trả về {Ảnh, Ds}
Server BClient A
Gửi {Ảnh + T}
Application {T, Ks, Ws, Ảnh + Ds} User Info {T, Ks, Ws, Ds}
Pha 1: Đăng ký thông tin người dùng
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Pha 2: Pha yêu cầu đăng nhập hệ thống
Tại pha này người dùng sẽ yêu cầu đăng nhập vào hệ thống, mọi thông
tin trao đổi đều được giấu trong đối tượng chứa là ảnh của hệ thống và ảnh đại
diện cá nhân của người sử dụng.
Viện Toán Ứng Dụng & Tin Học 64 Nhữ Bảo Vũ
Verify(1)
Server BClient A
Vào trang đăng nhập: login.aspx
Pha 2: Yêu cầu đăng nhập hệ thống theo giao thức VUBM
Verify ACK(2)
Auth(3)
Auth ACK(4)
Auth Resp(5)
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Theo sơ đồ pha 2 ta có thể tóm tắt lại giao thức xác thực theo qui trình
bắt tay 5 bước. Lưu ý rằng quá trình bắt tay 5 bước được tiến hành thực hiện
ngay sau khi người dùng vào trang đăng nhập.
Viện Toán Ứng Dụng & Tin Học 65 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Bước 1: Server B thực hiện gửi gói tin Verify(1) để kiểm tra xem ứng
dụng trên máy client A đã được cài đặt hay chưa. Nếu ứng dụng đã được cài
đặt thì quá trình bắt tay tiếp tục thực hiện sang bước 2. Ngược lại giao thức
kết thúc và hiển thị trang đăng nhập bình thường với ảnh đại diện mặc định
được hiển thị.
Bước 2: Ứng dụng đã được cài đặt tại client A và trả lời Server B với
gói tin Verify ACK(2) có chứa thông tin định danh Ds đã được giấu trong ảnh
đại diện cá nhân và yêu cầu B gửi lại mã hiệu đúng của A.
Bước 3: Server sau khi nhận được thông tin định danh Ds tại bước 2,
thực hiện tìm kiếm mã hiệu của A trong cơ sở dữ liệu (CSDL) và trả lại cho A
bởi gói tin Auth(3). Trường hợp không tìm thấy mã hiệu của A trong CSDL
thì thay vì gửi gói tin Auth(3), B gửi lại cho A gói tin Auth Resp(5) với một
cờ báo lỗi xác thực.
Bước 4: Tiếp tục client A đã nhận được mã hiệu của mình trả về từ
bước 3, thực hiện so với mã hiệu cá nhân của mình. Nếu khớp thì gửi lại mã
hiệu xác nhận của server B bằng gói tin Auth ACK(4). Khác thì thực hiện
ngắt kết nối.
Bước 5: Server B kiểm tra mã hiệu xác nhận của mình trong CSDL nếu
tồn tại thì gửi lại cho Client A gói tin Auth Resp(5) với cờ báo xác thực thành
công. Khác thì gửi với cờ báo lỗi.
Đến đây quá trình xác thực hoàn tất, và trong quá trình bắt tay mỗi bên
được phép tự động ngắt kết nối nếu như bên kia không trả lời theo độ trễ thời
gian được thiết lập theo hệ thống.
Viện Toán Ứng Dụng & Tin Học 66 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
4.4.4. Phân tích độ an toàn của hệ thống
Theo mục 4.4.3 sơ đồ giao thức bắt tay ở trên thì mọi thành viên tham
gia hệ thống phải tuân thủ. Trong báo cáo chưa qui định và cũng chưa đưa ra
sử dụng hệ mật hay phương pháp giấu tin cụ thể nào được sử dụng trong giao
thức. Nhưng ta hiểu rằng hệ mật phải đủ an toàn để bảo vệ các thông tin
người dùng (T, Ks, Ws, Ds) đối với thông tin còn giá trị. Một hệ mật không
phải cứ nhất thiết “không bị thám” thì mới được coi là an toàn; mà chỉ cần chi
phí để thám nó vượt quá giá trị của thông tin thu được thì đã đủ để coi là an
toàn. Cũng như nguyên tắc bảo vệ thông tin: Chi phí cho quá trình bảo vệ
thông tin không được vượt quá giá trị của thông tin. Mà giá trị của thông tin
được đo bằng tổng số thiệt hại của chủ sở hữu thông tin khi thông tin bị lộ.
Nguy cơ lớn của hệ thống là kẻ đánh cắp thông tin trực tiếp khai thác
thông tin từ phía người dùng nếu các biện pháp bảo hộ phía người dùng
không được đảm bảo.
Như vậy một số trường hợp có thể xảy ra đối với hệ thống như sau:
Trường hợp 1: Một người dùng đăng nhập vào hệ thống thật.
Trường hợp 2: Nhiều hơn một người đăng nhập vào hệ thống thật.
Trường hợp 3: Người dùng đăng nhập vào hệ thống giả mạo
Giả sử trường hợp một trong hai bên A hoặc B giả mạo. Đến bước xác
thực Auth hoặc là bên B không giải mã để lấy thông tin Ds trùng khớp của A
được hoặc A không nhận lại được thông tin đúng phản hồi từ B. Như vậy có
thể kết luận một trong hai bên A hoặc B đang giả mạo vì không có thông tin
Viện Toán Ứng Dụng & Tin Học 67 Nhữ Bảo Vũ
Server A (thật) có thông tin Ds Server A (giả mạo) không có thông tin Ds
User A User B User C
Các trường hợp giả mạo
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Ds là chữ ký riêng cho mỗi người dùng, và quá trình bắt tay chấm dứt hoặc
một vài lời cảnh báo được đưa ra.
4.5. Giới thiệu chương trình thử nghiệm
Kết quả nổi bật của đồ án là đã ứng dụng được các phương pháp giấu
tin vào trong mã hóa và xác thực kiểm tra chống phishing.
4.5.1. Tóm tắt kết quả
Trong các phần trước mục 4.3 và 4.4 đã trình bày phương pháp và cách
thức thực hiện xây dựng chương trình mã hóa và giao thức xác thực người
dùng kết hợp và sử dụng phương pháp giấu tin. Trong mục báo cáo này trình
bày kết quả chương trình mã hóa và giao thức xác thực cho mô hình xác thực
Viện Toán Ứng Dụng & Tin Học 68 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
người dùng. Tham số đầu vào của mô hình là các tệp ảnh định dạng (*.bmp,
*.gif, …) và bản tin cần giấu là các đoạn mã hiệu hoặc tệp dữ liệu (*.txt,
*.doc, …)
4.5.2. Chương trình giấu tin
Các bước sử dụng chương trình để thực hiện giấu một file văn bản
“thong tu van ban.txt” vào bức hình “lenna.bmp” được thực hiện như sau:
- Bước 1: Mở file ảnh bằng cách click chọn Open Image hoặc kéo thả
ảnh vào vùng hiển thị ảnh.
- Bước 2: Mở file dữ liệu cần giấu bằng cách click chọn Load Data
hoặc kéo thả vào vùng hiển thị ảnh (sau khi ảnh đã được chọn).
- Bước 3: Nhập vào mật khẩu nếu cần thiết.
- Bước 4: Lựa chọn phương pháp giấu tin trên menu Method
- Bước 5: Click chọn Save StegoFile để thực hiện giấu tin và lưu lại
ảnh kết quả có chứa tin mật.
Các bước sử dụng chương trình giấu tin để lấy lại tin mật đã giấu trước
đó được thực hiện theo các bước sau:
- Bước 1: Mở chọn file ảnh có chứa tin mật trước đó bằng cách click
chọn Open Image (hoặc kéo thả ảnh vào vùng hiển thị).
- Bước 2: Lựa chọn phương pháp giấu tin để giải lấy tin đã giấu trên
menu Method.
- Bước 3: Nhập vào mật khẩu nếu có.
- Bước 4: Click chọn nút TryExtract Data để thực hiện giãi mã lấy lại
tin mật từ ảnh kết quả.
Viện Toán Ứng Dụng & Tin Học 69 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Một số hình ảnh chương trình
Chương trình thực hiện giấu tin là một tệp tin bất kỳ với kích thước cho
phép, ví dụ là một file văn bản “thong tu van ban.txt” định dạng (*.txt) với nội
dung như sau:
Hình 19. Tệp văn bản chứa thông tin mật cần giấu
Hình 20. Hình ảnh được sử dụng làm môi trường chứa tin
Viện Toán Ứng Dụng & Tin Học 70 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 21. Giao diện chính chương trình giấu tin
Hình 22. Mở ảnh làm môi trường chứa tin
Viện Toán Ứng Dụng & Tin Học 71 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 23. Load file dữ liệu cần giấu
Sau khi load file dữ liệu cần giấu và gõ mật khẩu (nếu cần) ta thực hiện
chọn chức năng Save StegoFile để giấu tin vào file ảnh chọn “Lenna.bmp” và
lưu lại. Để thực hiện lấy lại thông tin đã giấu ta thực hiện chức năng
TryExtract Data trên giao diện.
Viện Toán Ứng Dụng & Tin Học 72 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
4.5.3. Chương trình xác thực người dùng
Với giao thức xác thực được thiết kế như trong mục 4.4, ta tiến hành
cài đặt và chạy kiểm thử ứng dụng xác thực người dùng trên Website có cho
phép người dùng đăng ký tài khoản và thực hiện đăng nhập vào hệ thống. Qua
hai yêu cầu đơn giản đó, đồ án đã thực hiện được hai chức năng cơ bản này và
chạy thành công trên Localhost, và đề ra một số kịch bản xảy ra trong quá
trình đăng nhập cũng như trường hợp người dùng bị mất chương trình
SVCore. SVCore là tên chương trình ứng dụng được cài đặt tại máy client và
được thiết kế lập trình chỉ chạy duy nhất ở trên một máy client.
Trước hết tại pha 1, người dùng sẽ đăng ký tài khoản trên hệ thống
bằng cách truy nhập vào trang Register.aspx, cung cấp đầy đủ thông tin cá
nhân và ảnh đại diện để đăng ký vào hệ thống, đồng thời được tải ứng dụng
SVCore xuống sau khi hoàn tất việc đăng ký.
Tại pha 2, sau khi đăng ký tài khoản thành công, người dùng sẽ vào
trang đăng nhập Login.aspx để thực hiện việc đăng nhập hệ thống. Nếu
SVCore chưa được khởi chạy giao diện được hiển thị ra bình thường như hình
26, giả sử tin tưởng trang web này thì người dùng sẽ phải cung cấp cả tài
khoản và mật khẩu cho hệ thống. Nếu SVCore đã được khởi chạy, khi truy
nhập vào trang đăng nhập người dùng sẽ nhìn thấy giao diện với ảnh đại diện
cá nhân như hình 27, nhập mật khẩu để hoàn tất việc đăng nhập.
Viện Toán Ứng Dụng & Tin Học 73 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 24. Đăng ký tài khoản vào hệ thống
Viện Toán Ứng Dụng & Tin Học 74 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 25. Đăng ký tài khoản thành công
Viện Toán Ứng Dụng & Tin Học 75 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 26. Vào trang đăng nhập khi SVCore chưa khởi chạy
Viện Toán Ứng Dụng & Tin Học 76 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 27. Vào trang đăng nhập sau khi SVCore được khởi chạy
Viện Toán Ứng Dụng & Tin Học 77 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 28. Đăng nhập thành công vào hệ thống
Viện Toán Ứng Dụng & Tin Học 78 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
Hình 29. Giao diện chương trình SVCore
Hình 30. Bộ Log các kết nối đến SVCore
Viện Toán Ứng Dụng & Tin Học 79 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
KẾT LUẬN
Trên đây là toàn bộ nội dung đồ án, những kết quả chính đạt được:
- Trình bày tổng quan những khái niệm về giấu tin, một số phương
pháp kỹ thuật giấu tin điển hình, cho thấy được tầm quan trọng của
giấu tin hiện nay.
- Giới thiệu một phương pháp giấu tin mới trên ảnh xám dựa trên tiếp
cận lý thuyết module đã được trình bày trong mục 3.5.
- Xây dựng chương trình mã hóa sử dụng giấu tin.
- Thiết kế và cài đặt giao thức xác thực người dùng chống lừa đảo
(giả mạo).
Hạn chế:
- Do thời gian thực hiện đồ án hạn hẹp nên chưa có điều kiện tiếp cận
hệ thống thật, đề tài mới cài đặt được giao thức xác thực người
dùng trên localhost, chưa triển khai trên mạng internet.
Hướng phát triển:
Kết quả của đồ án sẽ được tiếp tục phát triển và tích hợp vào hệ thống
thật “Xây dựng giao thức bảo vệ đề thi trắc nghiệm trên môi trường
Wireless”.
Mặc dù đã cố gắng và nỗ lực rất nhiều trong thời gian thực hiện đồ án
nhưng khó tránh khỏi nhiều sai sót mong các thầy cô và các bạn bổ sung góp
ý thêm.
Viện Toán Ứng Dụng & Tin Học 80 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
TÀI LIỆU THAM KHẢO
Tài liệu tham khảo tiếng việt
[1] Hoàng Xuân Sính, Đại số đại cương, NXB Giáo Dục, 2006.
[2] Dương Quốc Việt, Cơ sở lí thuyết module, NXB ĐH Sư phạm, 2008.
[3] Nguyễn Tiến Quang, Nguyễn Duy Thuận, Cơ sở lí thuyết module và vành,
NXB Giáo Dục, 2001.
[4] Nguyễn Văn Tảo, Một thuật toán giấu tin và áp dụng giấu tin mật trong
ảnh, Tạp chí Khoa học & Công nghệ - Số 4(44) Tập 2, 2007.
[5] Ngô Thái Hà, Nghiên cứu kỹ thuật bảo vệ bản quyền các sản phẩm đồ họa
vectơ, Luận văn thạc sĩ, ĐH Thái Nguyên, 2009.
[6] Nguyễn Thị Minh Ngọc, Nghiên cứu các phương pháp giấu tin trong ảnh
số và xây dựng mô hình thử nghiệm giấu tin bảo vệ logo doanh nghiệp, Luận
văn thạc sĩ, HV Công Nghệ Bưu Chính Viễn Thông, 2011.
Tài liệu tham khảo tiếng anh
[7] M.Y.Wu, J.H.Lee, Anovel data embedding method for two-color fascimile
images, In Proceedings of international symposium on multimedia
information processing. Chung-Li, Taiwan, R.O.C, 1998.
[8] Yu Yan Chen, Hsiang Kuang Pan and Yu Chee Tseng, A Secure Data
Hiding Scheme for Two color Images, IEEE Symp.on Computer and
Communication, 2000.
[9] Yu Chee Tseng and Hsiang Kuang Pan, Secure and Invisible Data Hiding
in 2-Color Images, INFOCOM 2001, 887 – 896.
Viện Toán Ứng Dụng & Tin Học 81 Nhữ Bảo Vũ
Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực
[10] Phan Trung Huy, Vu Phuong Bac, Nguyen Manh Thang, Truong Duc
Manh, Vu Tien Duc, Nguyen Tuan Nam, A New CPT Extension Scheme for
High Data Embedding Ratio in Binary Images, the Proceedings of the 1st
KSE. Inter. Conf. Hanoi 10/2009. 61-66. IEEE.CS.
[11] Christian Collberg, Clark Thomborson, on the Limits of Software
Watermarking, Algorithms and Applications, IEEE signal processing
magazine, 1997.
[12] Mohamed G. Gouda, Alex X. Liu, Lok M. Leung, Mohamed A. Alam,
SPP: An Anti-phishing Single Password Protocol, Computer Networks,
Volume 51, Number 13, pp. 3715-3726, 2007.
Các liên kết tham khảo
[13] Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Phishing
[14] Anti-Phishing Working Group (APWG), Consumer Advice on Phishing,
http://www.antiphishing.org/index.html
[15] Technical Info, The Phishing Guide,
http://www.technicalinfo.net/papers/Phishing.html
[16] Colour metric, http://www.compuphase.com/cmetric.htm
[17] Bobpowell, http://www.bobpowell.net/lockingbits.htm
[18] Forensics Wiki, http://www.forensicswiki.org/wiki/GIF
Viện Toán Ứng Dụng & Tin Học 82 Nhữ Bảo Vũ