118
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)

V2012.06.12.Bao Cao Do an Tot Nghiep

Embed Size (px)

Citation preview

Page 1: V2012.06.12.Bao Cao Do an Tot Nghiep

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)

Page 2: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 3: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 4: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 5: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 6: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 7: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 8: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 9: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 10: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 11: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 12: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 13: V2012.06.12.Bao Cao Do an Tot Nghiep

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

Page 14: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 15: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 16: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 17: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 18: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 19: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 20: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 21: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 22: V2012.06.12.Bao Cao Do an Tot Nghiep

| (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ũ

Page 23: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 24: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 25: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 26: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 27: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 28: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 29: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 30: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 31: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 32: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 33: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 34: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 35: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 36: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 37: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 38: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 39: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 40: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 41: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 42: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 43: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 44: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 45: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 46: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 47: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 48: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 49: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 50: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 51: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 52: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 53: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 54: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 55: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 56: V2012.06.12.Bao Cao Do an Tot Nghiep

Ả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ũ

Page 57: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 58: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 59: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 60: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 61: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 62: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 63: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 64: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 65: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 66: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 67: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 68: V2012.06.12.Bao Cao Do an Tot Nghiep

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ũ

Page 69: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 70: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 71: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 72: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 73: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 74: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 75: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 76: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 77: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 78: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 79: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 80: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 81: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ

Page 82: V2012.06.12.Bao Cao Do an Tot Nghiep

Ứ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ũ