MỤC LỤC
Chương 1: VẤN ĐỀ MÃ HOÁ THÔNG TIN .4
1.1 KHÁI NIỆM MÃ HOÁ .4
1.1.1 Định nghĩa .4
1.1.2 Phân loại 6
1.2 HỆ MÃ HOÁ ĐỐI XỨNG .7
1.2.1 Hệ mã hoá đối xứng cổ điển. .7
1.2.1.1 Mã dịch vòng 7
1.2.1.2 Mã thay thế .8
1.2.1.3 Mã Affine .9
1.2.1.4 Mã Vigenere .10
1.2.1.5 Mã Hill .11
1.2.1.6 Mã hoán vị .12
1.2.1.7 Mã dòng .13
1.2.2 Hệ mã hoá đối xứng hiện đại 14
1.2.2.1 Mã theo chuỗi bit 14
1.2.2.2 Mã theo chữ 14
1.2.2.3 Mã theo khối .15
1.2.2.4 Mã mũ 15
1.2.2.5 DES 16
1.3 HỆ MÃ HOÁ CÔNG KHAI .17
1.3.1 Hệ mật mã RSA .17
1.3.1.1 Định nghĩa sơ đồ hệ mật .17
1.3.1.2 Thực hiện hệ mật 18
1.3.1.3 Các phương pháp tấn công hệ mật .18
1.3.2 Hệ Elgamal .19
Chương 2: VẤN ĐỀ GIẤU TIN .20
2.1 KHÁI NIỆM VỀ GIẤU TIN. .20
2.1.1 Khái niệm thông tin “số hoá” .20
2.1.2 Khái niệm giấu tin 21
2.1.3 Mô hình giấu tin .22
2.1.3.1 Mô hình giấu tin vào phương tiện chứa .22
2.1.3.2 Mô hình tách tin từ phương tiện chứa .23
Một số thuật ngữ cơ bản .24
2.1.4 Phân loại kỹ thuật giấu tin .25
2.1.4.1 Phân loại theo phương tiện chứa .25
2.1.4.2 Phân loại theo cách thức tác động lên phương tiện .25
2.1.4.3 Phân loại theo mục đích sử dụng 25
2.1.5 Các thành phần trong kỹ thuật giấu tin .26
2.1.5.1 Phương tiện chứa tin .26
2.1.5.2 Thông tin cần che giấu 27
2.1.5.3 Khoá giấu tin .27
2.2 CÁC GIAO THỨC GIẤU TIN .28
2.2.1 Giấu tin thuần tuý .28
2.2.2 Giấu tin sử dụng khoá bí mật .29
2.2.3 Giấu tin với khoá công khai .30
2.3 GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN .31
2.3.1 Giấu tin trong ảnh 31
2.3.2 Giấu tin trong audio .32
2.3.2 Giấu tin trong video .33
50 trang |
Chia sẻ: lethao | Lượt xem: 2499 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu kỹ thuật giấu tin, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phương pháp mã hoá công khai là sự phối hợp giữa một khoá riêng (Private Key) và một khoá công khai (Public Key). Khoá riêng chỉ được biết bởi mỗi máy tính, trong khi khoá công khai được máy tính này cung cấp cho các máy tính khác giao tiếp với nó. Để giải mã một thông điệp đã mã hoá, máy tính nhận thông điệp phải dùng khoá bí mật.
1.3.1 Hệ mật mã RSA
1.3.1.1 Định nghĩa sơ đồ hệ mật
Hệ mật mã RSA sử dụng các tính toán trong Zn, trong đó n là tích của 2 số nguyên tố phân biệt p và q. Ta nhận thấy rằng = (p - 1)(q - 1).
Định nghĩa:
Cho n = p * q với p, q là số nguyên tố lớn. Đặt P = C = Zn
Chọn b nguyên tố với , = (p - 1)(q - 1).
K = {(n, a, b): a * b 1 (mod )}.
Giá trị n và b là công khai, và a là bí mật
Với mỗi K = (n, a, b), mỗi x P, y C, ta có:
Hàm mã hoá:
y = ek(x) = xb mod n
Hàm giải mã:
dk (x) = ya mod n
1.3.1.2 Thực hiện hệ mật
Có nhiều khía cạnh cần thảo luận về hệ mật mã RSA, bao gồm các chi tiết về việc thiết lập hệ mật mã, tính hiệu quả của phép mã và giải mã và độ mật của hệ. Để thiết lập hệ thống, R sẽ tuân theo các bước sau:
R tạo 2 số ngưyên tố lớn p và q
R tính n = p * q và = (p - 1)(q - 1)
R chọn một số ngẫu nhiên b (1 < b < ) sao cho UCLN(b, ) = 1
R tính a = b-1 mod dùng thuật toán Euclide mở rộng
R công bố n và b trong một danh bạ và dùng chúng làm khoá công khai.
1.3.1.3 Các phương pháp tấn công hệ mật
Cách tấn công dễ thấy nhất đối với hệ mật mã này là thám mã cố gắng phân tích n ra các thừa số nguyên tố. Nếu thực hiện được phép phân tích này thì có thể dễ dàng tính được = (p -1)*(q - 1) và tính số mũ a và b đúng như R làm.
Vì thế để hệ RSA được coi là mật thì nhất thiết n = p*q phải là một số đủ lớn để việc phân tích nó sẽ không có khả năng về mặt tính toán.
Vì vậy để đảm bảo an toàn, nên chọn các số p và q có chừng 100 chữ số, khi đó n sẽ có tới 200 chữ số. Phép mã (hoặc giải mã) sẽ xoay quanh phép lấy luỹ thừa theo module n. Vì n là một số rất lớn nên ta phải sử dụng số học lấy chính xác nhiều lần để thực hiện các tính toán trong Zn và thời gian tính toán cần thiết sẽ phụ thuộc vào số các bit trong biểu diễn nhị phân của n.
1.3.2 Hệ Elgamal
Năm 1985, Elgamal đề nghị một hệ mã khoá công khai dựa trên bài toán logarithm rời rạc. Chúng ta sẽ bắt đầu bằng việc mô tả bài toán này khi thiết lập một trường hữu hạn Zp, p là số nguyên tố.
Bài toán logarithm rời rạc trong Zp là đối tượng trong nhiều công trình nghiên cứu và được xem là bài toán khó nếu p được chọn cẩn thận. Cụ thể là không có một thuật toán thời gian đa thức nào cho bài toán logarithm rời rạc. Để gây khó khăn cho các phương pháp tấn công đã biết, p phải có ít nhất 150 chữ số và p – 1 phải có ít nhất một thừa số nguyên tố lớn. Lợi thế của bài toán logarithm rời rạc trong xây dựng hệ mật là khó tìm được các logarithm rời rạc, song bài toán ngược lấy luỹ thừa lại có thể tính toán hiệu quả cao theo thuật toán nhân và bình phương. Nói cách khác, luỹ thừa theo module p là hàm một chiều với các số nguyên tố p thích hợp.
Elgamal đã phát triển một hệ khoá công khai dựa trên bài toán logarithm rời rạc. Hệ mật mã Elgamal là một hệ mật mã không tất định vì bản mã phụ thuộc vào bản rõ x lẫn giá trị ngẫu nhiên k do người gửi chọn. Bởi vậy, sẽ có nhiều bản mã được mã từ cùng bản rõ.
Định nghĩa:
Cho p là số nguyên tố sao cho bài toán logarithm rời rạc trong Zp là khó giải. Cho Zp* là phần tử nguyên thuỷ. Giả sử P = Zp*, C = Zp* × Zp*. Ta định nghĩa:
K = {(p, α, a, β): β α a(mod p) }
Các giá trị p, α, β được công khai, còn a giữ bí mật.
Với K = (p, α, a, β) và một số ngẫu nhiên bí mật k Zp - 1, ta xác định:
ek(x, k) = (y1, y2)
trong đó: y = α k mod p
và y2 = x * βk mod p
với y1, y2 Zp* ta xác định: dk (y1, y2) = y2 (y1a)-1 mod p.
Chương 2 VẤN ĐỀ GIẤU TIN
2.1 KHÁI NIỆM VỀ GIẤU TIN
2.1.1 Khái niệm thông tin “số hoá”
Thông tin là một khái niệm trừu tượng, thể hiện dưới nhiều dạng thức khác nhau. Thông tin có thể phát sinh, được lưu trữ, được biến đổi trong những vật mang tin. Thông tin có thể được truyền đi, được sao chép hoặc xử lý, để cho chúng ta các thông tin có ý nghĩa thiết thực. Thông tin được biểu hiện bằng các tín hiệu vật lý.
Máy tính không thể hiểu được từ ngữ, sách báo tranh ảnh theo nghĩa thông thường. Máy tính chỉ lưu trữ, xử lý những thông tin đã được số hoá thành từng bit – giá trị nhỏ nhất của thông tin, hoặc thành một nhóm bit gọi là byte. Bit có thể có hai giá trị tắt-off/mở-on, hoặc hai giá trị có/không, 0 – zero/1- one.
Máy tính được chế tạo với các thiết bị chuyển mạch (switching device), có thể chuyển trạng thái dữ liệu sang dạng những số 0 và 1 của hệ thống số nhị phân. Đó là hệ thống số bao gồm tất cả các số biểu diễn bởi hai ký hiệu 0 và 1.
2.1.2 Khái niệm giấu tin
Giấu tin là giấu (hoặc nhúng) một lượng thông tin số vào trong đối tượng dữ liệu số khác. “Giấu tin” nhiều khi không phải chỉ hành động giấu theo nghĩa thông thường, mà chỉ mang ý nghĩa quy ước.
Mục đích của giấu tin
Giấu tin phục vụ cho hai mục đích trái ngược nhau:
- Bảo mật cho những dữ liệu được giấu trong đối tượng chứa.
- Bảo đảm an toàn (bảo vệ bản quyền) cho chính đối tượng chứa dữ liệu giấu trong đó.
Hai mục đích giấu tin phát triển thành hai lĩnh vực với yêu cầu và tính chất khác nhau :
- Giấu thông tin bí mật (Steganography).
- Thuỷ vân số (Watermarking).
Giấu thông tin
Giấu thông tin bí mật
Thuỷ vân số
Hình 2: Hai lĩnh vực của giấu tin
2.1.3 Mô hình giấu tin
2.1.3.1 Mô hình giấu tin vào phương tiện chứa
Thông tin cần giấu M
Phương tiện chứa tin đã được giấu (S)
Bộ nhúng thông tin
Phân phối
Phương tiện chứa tin C
Khoá giấu tin
Hình 3: Sơ đồ giấu tin
Đầu vào:
- Thông tin cần giấu: Tuỳ theo mục đích của người dùng, nó có thể là thông điệp (với giấu tin bí mật) hay là các logo, hình ảnh bản quyền.
- Phương tiện chứa: các file ảnh, text, audio…là môi trường để giấu tin.
- Khoá: thành phần để góp phần làm tăng độ bảo mật.
Bộ nhúng thông tin: là chương trình thực hiện việc giấu tin.
Đầu ra: là phương tiện chứa, đã có tin giấu trong đó.
2.1.3.2 Mô hình tách tin từ phương tiện chứa
Diễn ra theo quy trình ngược lại với giấu tin: đầu ra là các thông tin được giấu và phương tiện chứa.
Khoá giấu tin
Bộ nhúng thông tin
Phương tiện chứa tin đã được giấu (S)
Phương tiện chứa tin C
Thông tin đã giấu M
Hình 4: Sơ đồ tách tin
Một số thuật ngữ cơ bản:
Giấu dữ liệu (Datahiding) (Information hiding):
Kỹ thuật giấu thông tin nói chung bao gồm: Giấu tin bí mật (steganography) và giấu tin thuỷ vân (watermaking).
Giấu tin (Steganography):
Kỹ thuật giấu tin mật trong một đối tượng.
Kỹ thuật thuỷ vân (watermaking):
Kỹ thuật giấu tin (kiểu đánh dấu), được dùng để bảo vệ chính đối tượng chứa tin giấu.
Phương tiện chứa (Cover Object):
Phương tiện được lựa chọn để giấu (hoặc nhúng) thông tin vào trong đó.
Phương tiện chứa sau khi đã giấu tin (Stego Object):
Phương tiện chứa tin, sau khi đã giấu thông tin vào trong đó.
Thông điệp (Message):
Thông tin được giấu trong phương tiện chứa, để chuyển đi.
2.1.4 Phân loại kỹ thuật giấu tin
Có nhiều cách để tiến hành phân loại các phương pháp giấu thông tin theo các tiêu chí khác nhau, như theo các phương tiện chứa tin, các phương pháp tác động lên phương tiện chứa tin, hay phân loại theo các ứng dụng cụ thể.
2.1.4.1 Phân loại theo phương tiện chứa tin
- Giấu thông tin trong ảnh.
- Giấu thông tin trong các file âm thanh.
- Giấu thông tin trong video.
- Giấu thông tin trong văn bản dạng text.
2.1.4.2 Phân loại theo cách thức tác động lên phương tiện
- Phương pháp chèn dữ liệu: tìm vị trí trong file dễ bị bỏ qua, và chèn các dữ liệu cần giấu vào đó (vd: dữ liệu được giấu sau các ký tự EOF) .
- Phương pháp thay thế: thay thế các phần tử không quan trọng của phương tiện chứa, bằng các dữ liệu của thông điệp cần giấu (vd: thay thế các bit ít quan trọng, thay thế trong miền tần số, các kỹ thuật trải phổ, thống kê…)
- Phương pháp tạo các phương tiện chứa: Từ thông điệp cần chuyển đi, sẽ tạo ra hợp lý phương tiện chứa, để phục vụ cho việc truyền thông tin đó.
2.1.4.3 Phân loại theo mục đích sử dụng
- Giấu thông tin bí mật.
- Giấu thông tin thuỷ vân.
2.1.5 Các thành phần trong kỹ thuật giấu tin
2.1.5.1 Phương tiện chứa tin
Để có thể che giấu thông tin an toàn và hiệu quả, ngoài việc phải có thuật toán giấu tin tốt, giao thức liên lạc đảm bảo, phương tiện chứa phù hợp cũng là yếu tố quan trọng.
Phương tiện chứa C có thể là bất kỳ dạng dữ liệu nào mà máy tính có thể đọc được như file hình ảnh, âm thanh số, bản tin dạng text…Nhưng phương tiện chứa phải có đủ lượng thông tin dư thừa tối thiểu, để có thể giấu thông tin, vì dữ liệu khi biến đổi để giấu tin, có thể bị phát hiện.
Có hai yêu cầu đặt ra với phương tiện chứa:
Phương tiện chứa tin phải được giữ bí mật.
Không sử dụng phương tiện chứa tin đến lần thứ hai.
Yêu cầu thứ nhất để tránh kẻ tấn công có phương tiện chứa đó, thì việc giấu tin trở lên vô nghĩa. Yêu cầu thứ hai để tránh kể tấn công có thể so sánh hai “phiên bản” phương tiện chứa đó, để phát hiện những chỗ khác nhau, dẫn đến nghi ngờ về một liên lạc bí mật. Do đó phải huỷ toàn bộ các phương tiện chứa đã được dùng tại phía người gửi, và phương tiện chứa sau khi đã tách lấy thông tin ở người nhận.
Để tránh việc nghi ngờ của kẻ tấn công, phương tiện chứa trước khi giấu tin (C) và sau khi giấu tin (S), phải đảm bảo giống nhau về mặt tri giác, sau đó mới đến các yêu cầu về thuộc tính thống kê, về chất lượng…
Có thể sử dụng nhiều loại phương tiện chứa khác nhau, nhưng vì lý do phổ biến và dễ thực hiện, ảnh luôn được coi là phương tiện chứa chủ yếu.
2.1.5.2 Thông tin cần che giấu
Thông điệp mà hai đối tác cần trao đổi, có thể là bất cứ loại dữ liệu nào. Với kỹ thuật hiện nay, có thể giấu nhiều loại dữ liệu trong phương tiện chứa. Do yêu cầu an toàn, kích thước của phương tiện chứa phải lớn hơn rất nhiều kích thước của thông điệp, nên thông điệp dạng text (có kích thước nhỏ) thường được dùng nhiều nhất. Tuy nhiên người ta có thể giấu cả ảnh, bản đồ với yêu cầu ở mức độ cần thiết, phương tiện chứa là ảnh hay bản đồ khác.
2.1.5.3 Khoá giấu tin
Khoá giấu tin là thành phần quan trọng quyết định độ bảo mật của hệ thống giấu tin. Khoá giấu tin có thể phân loại theo hình thức phân phối và ta có hai hình thức:
- Phân phối khoá: Một trung tâm sản xuất, phân phối khoá tới các đối tác liên lạc theo một kênh an toàn. Cách làm này khá phức tạp vì đòi hỏi một kênh an toàn để chuyển khoá, khi các đối tác ở xa thì việc chuyển khoá là một vấn đề đáng quan tâm.
- Thoả thuận khoá: Hai đối tác có thể trực tiếp thoả thuận khoá với nhau hay thông qua một trung tâm. Khoá được quy ước lấy từ cơ sở dữ liệu nào đó mà hai phía cùng sở hữu. Cách làm này tuy có một số yếu tố bất lợi, nhưng thực hiện đơn giản hơn so với trao đổi khoá.
Trong giấu tin bí mật có thể dùng cả khoá bí mật và khoá công khai.
Để đảm bảo bí mật liên lạc, khoá giấu tin cần đáp ứng được hai yêu cầu:
- Một là khoá giấu tin phải đảm bảo “tính tri giác”, tức là khoá phải góp phần tàng hình thông tin giấu, để tránh bị đối phương phát hiện.
- Hai là khoá đồng thời phải đủ mạnh, để nếu đối phương có nghi ngờ và kiểm tra phương tiện chứa, cũng “khó” thể lấy được thông tin giấu trong đó.
2.2 CÁC GIAO THỨC GIẤU TIN
Khi một thuật toán giấu tin được sử dụng, thuật toán đó sẽ nằm trong khuôn khổ một giao thức xác định, thích hợp để xử lý dữ liệu.
Theo lý thuyết, có ba kiểu giao thức cơ bản: giấu tin thuần tuý, giấu tin với khoá bí mật, giấu tin với khoá công khai. Trong đó kiểu giấu tin sau cùng được xây dựng trên nguyên tắc mật mã khoá công khai.
2.2.1 Giấu tin thuần thuý
Giấu tin thuần tuý là hệ thống giấu tin, không yêu cầu phải trao đổi trước một số thông tin bí mật.
Trong hệ thống giấu tin thuấn tuý, người giấu tin và người tách tin phải thực hiện cùng một thuật toán nhúng và tách thông tin, thuật toán này phải được giữ bí mật.
Định nghĩa 1: Giấu tin thuần tuý
Bộ bốn giá trị δ = (C, M, D, E) được gọi là Hệ giấu tin thuần tuý trong đó:
C là tập các phương tiện chứa thông tin có thể, M là tập các thông điệp cần giấu |C| ≥ |M|.
E: C×M ® C là hàm nhúng và D: C ® M là hàm tách, với tính chất D(E (c, m) ) = m với m € M và c € C.
Trong giấu tin thuần tuý, độ bảo mật thông tin dựa trên chính thuật toán, phương tiện chứa trước và sau khi nhận tin giấu cũng phải được bảo vệ cẩn thận. Nếu đối phương tấn công vào nơi cất giữ phương tiện chứa, việc giấu thông tin sẽ không hiệu quả, khi đó đối phương không những phát hiện được việc liên lạc bí mật, mà còn lấy được cả thông tin giấu trong đó.
Phương pháp giấu tin thuần tuý phải được kết hợp với việc mã hoá thông tin. Trước tiên việc mã hoá sẽ làm tăng độ bảo mật của thông điệp, sau đó nhúng bản mã vào trong phương tiện chứa. Cách này sẽ làm tăng độ bảo mật và vẫn đảm bảo tính vô hình của kênh liên lạc, nó thực sự khó khăn cho việc phát hiện hay tấn công các thông điệp.
2.2.2 Giấu tin sử dụng khoá bí mật
Đối với hệ thống giấu thông tin thuần tuý, độ an toàn phụ thuộc hoàn toàn vào độ bí mật của thuật toán giấu và tách thông tin.
Để cho hệ thống an toàn hơn, người ta thực hiện trao đổi một số thông tin bí mật giữa hai đối tác. Trong hệ thống giấu tin với khoá bí mật, người gửi chọn phương tiện chứa thông tin, sử dụng khoá bí mật k, tiến hành nhúng thông điệp vào phương tiện chứa tin đó. Giấu tin với khoá bí mật vẫn phải đảm bảo phương tiện chứa (trước và sau khi giấu tin) phải giống nhau về cảm nhận, để tránh kẻ giám sát phát hiện được phiên liên lạc. Đây là một tiêu chuẩn khi chọn khoá.
Định nghĩa 2: Giấu tin sử dụng khoá bí mật
Bộ năm giá trị δ = (C, M, K, Dk, Ek) được gọi là hệ giấu tin sử dụng khoá bí mật, trong đó:
C là tập các phương tiện chứa có thể, M là tập các thông điệp cần giấu với |C| ≥ |M|, K là tập các khoá bí mật.
Ek: C ×M×K ® C và Dk: C ×K ® M với điều kiện Dk(Ek (c, m, k), k) = m với mọi m € M, c € C và k € K.
Giao thức truyền thông tin bằng giấu tin sử dụng khoá bí mật, yêu cầu các bên tham gia phải trao đổi khoá trước.
Có thể dùng một số đặc tính của chính phương tiện chứa làm khoá, hàm băm tính toán các giá trị này để làm khoá. Người nhận cũng tính hàm băm trên chính các giá trị này, để lấy khoá giải mã tách thông tin.
Với cách này, không phải trao đổi khoá trên kênh an toàn, nhưng vì hàm băm không phải là bí mật, nên việc liên lạc bí mật sẽ không đảm bảo.
Có thể chọn các thành phần quan trọng trong phương tiện chứa để làm khoá, các thành phần đó nếu bị thay đổi sẽ ảnh hưởng nghiêm trọng tới phương tiện chứa, và có thể nhận ra được.
2.2.3 Giấu tin với khoá công khai
Hệ thống giấu tin với khoá công khai cũng yêu cầu có hai khoá: khóa bí mật và khóa công khai. Khóa công khai được lưu trong Cơ sở dữ liệu khoá công khai, giống như mật mã với khoá công khai, và được dùng trong quá trình nhúng thông tin. Khoá bí mật chỉ người nhận mới biết và được dùng trong quá trình tách lấy thông tin, tái tạo lại thông điệp ban đầu.
Cách dễ nhất để xây dựng hệ thống giấu tin với khoá công khai là sử dụng hệ mật mã với khoá công khai. Giả sử hai đối tác đã trao đổi khoá công khai của thuật toán mã hoá công khai.
Nguyên lý của giấu tin với khoá công khai là dùng hàm giải mã D để giải mã trên mọi phương tiện chứa thông tin C, mà không cần quan tâm việc nó chứa hay không chứa thông điệp bí mật (D là hàm trên tập C). Trong trường hợp phương tiện chứa không có thông tin thu được khi giải mã, ta chỉ thu được các phần tử ngẫu nhiên m, ta gọi là các phần tử “ngẫu nhiên tự nhiên ” của phương tiện chứa.
Trong giao thức giấu tin với khoá công khai, khi cố gắng để tách tin, kẻ tấn công chỉ có thể nhận được các thông tin “ngẫu nhiên”, vì không có khoá giải mã tương ứng.
2. 3 GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN
2.3.1 Giấu tin trong ảnh
Giấu tin trong ảnh, hiện nay, là bộ phận chiếm tỉ lệ lớn nhất trong các hệ giấu tin trong đa phương tiện, bởi lượng thông tin được trao đổi bằng ảnh là rất lớn, mặt khác giấu tin trong ảnh đóng vai trò quan trọng trong các ứng dụng bảo vệ thông tin như: nhận 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 cập, giấu thông tin mật... Chính vì thế 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 được giấu vào dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi, và “khó” biết được đằng sau ảnh đó mang thông tin có ý nghĩa. Ngày nay, khi ảnh số đã được dùng phổ biến, thì giấu tin trong ảnh đã đem lại nhiều ứng dụng quan trọng trong đời sống xã hội.
Ví dụ như các nước phát triển, chữ kí tay đã được số hoá, 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 để nhận thực trong các thẻ tín dụng của người tiêu dùng.
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 mà truyền thông tin mật cho nhau mà người khác “khó” thể biết được, bởi sau khi giấu tin, thì chất lượng ảnh gần như không thay đổi, đặc biệt là đối với ảnh mầu hay ảnh xám.
2.3.2 Giấu tin trong audio
Giấu tin trong audio mang đặc điểm riêng, không giống với giấu tin trong đối tượng đa phương tiện khác. Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu, đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, kỹ thuật giấu tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision System), kỹ thuật giấu tin trong audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System).
Một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn, nên đã gây khó dễ đối với các phương pháp giấu tin trong audio. Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất, điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng. Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên, và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin.
Vấn đề khó khăn thứ hai đối với giấu tin trong audio là kênh truyền tin. Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường, thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s.
Giấu tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người.
2.3.3 Giấu tin trong video
Cũng giống như giấu tin trong ảnh hay trong audio, giấu tin trong video cũng được quan tâm, và phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả.
Các kỹ thuật giấu tin trong video phát triển mạnh mẽ, và cũng theo hai khuynh hướng là thuỷ vân số và data hiding. Một phương pháp giấu tin trong video được đưa ra bởi Cox, là phương pháp phân bố đều. Ý tưởng cơ bản là phân phối tin giấu dàn trải theo tần số của dữ liệu chứa (gốc). Người ta đã dùng hàm cosin riêng và hệ số truyền sóng riêng để giấu tin.
Trong các thuật toán khởi nguồn, kỹ thuật cho phép giấu ảnh vào video, nhưng thời gian gần đây các kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video. Phương pháp Swanson đã giấu theo khối, đã giấu được 2 bít vào khối 8*8. Gần đây nhất là phương pháp Mukherjee, giấu audio vào video sử dụng cấu trúc lưới đa chiều.
Kỹ thuật giấu tin sử dụng cả đặc điểm thị giác và thính giác của con người.
2. 4 PHƯƠNG PHÁP GIẤU TIN TRONG MÔI TRƯỜNG ĐA PHƯƠNG TIỆN
Có nhiều phương pháp giấu tin trong các phương tiện chứa, nhưng trong phần này chỉ xin trình bày phương pháp thay thế. Đó là thay thế các phần tử ít quan trọng của phương tiện chứa bằng các bit của thông điệp cần chuyển đi.
2.4.1 Một số ký hiệu
Ký hiệu c là phương tiện chứa, giả sử nó có độ dài là l(c), được biểu diễn bằng chuỗi các thành phần ci (1 ≤ i ≤ l(c)).
Ví dụ là các vectơ ảnh, dòng các ảnh theo thứ tự từ trái sang phải và từ trên xuống dưới, hoặc chuỗi các mẫu theo thời gian của âm thanh số.
Các giá trị của ci là {0,1}, khi đó là ảnh đen trắng.
Các giá trị của ci nằm trong (0, 256), trường hợp đó là các ảnh lượng tử hoá hay các ảnh số.
Ảnh màu là phương tiện được sử dụng nhiều nhất hiện nay, có nhiều cách biểu diễn màu, trong đó hệ màu RGB là phổ biến nhất.
Phương tiện chứa đã có tin giấu, ký hiệu là s, là chuỗi các phần tử si, và độ dài phương tiện chứa (đã có giấu tin) không thay đổi.
Khoá được dùng để giấu tin, ký hiệu là k.
Thông điệp bí mật cần giấu là m, có độ dài là l(m). Các bit của m là mi, ta có 1 ≤ i ≤ l(m). mi có giá trị là 0,1 trừ trường hợp đặc biệt.
2.4.2 Nguyên lý giấu tin bằng cách thay thế
Giấu tin bằng cách thay thế hiện đang rất phổ biến, kỹ thuật giấu tin này không làm tăng kích thước của phương tiện chứa. Khi kết hợp với các thuật toán khác để “khảo sát môi trường” quanh điểm cần giấu tin, kẻ giám sát rất khó phát hiện được các thông tin cần giấu.
Lưu ý là giấu tin ở đây không có nghĩa là hành động giấu thực tế, việc giấu tin dựa vào các quy ước. Nếu tính chất nào đó của một phần tử trong phương tiện chứa thoả mãn điều kiện, thì xem như đã giấu tin vào phần tử đó.
Khi giấu tin mật, người ta có thể giấu tin trong nhiều loại phương tiện chứa khác nhau, tuy nhiên với điều kiện kỹ thuật hiện nay, phương tiện chứa là ảnh được lựa chọn nhiều nhất, bởi tính phổ biến của ảnh và các phương tiện tạo ảnh số, đồng thời đáp ứng được yêu cầu bảo mật và dung lượng. Phương tiện chứa như âm thanh số hiện nay cũng rất phổ biến, nhưng gặp nhiều khó khăn do kỹ thuật giấu tin phức tạp hơn.
Có hai cách thay thế:
Thay thế các bit ít quan trọng (LSB) (Least Significant Bit) được thực hiện với ảnh màu (ví dụ loại 16 bit và 24 bit) và ảnh đa cấp xám.
Với các loại ảnh này, mỗi điểm ảnh được biểu diễn bằng số lượng lớn các bit, vai trò các bit là không giống nhau. Nếu có sự thay đổi ở các bit ít quan trọng nhất, thì phương tiện chứa cũng bị biến động không đáng kể, và đối phương cũng khó nhận ra. Người giấu tin sẽ thay thế các bit LSB trong phương tiện chứa tin bằng các bit của thông điệp bí mật. Người nhận có thể dễ dàng tách các tin mà anh ta có hiểu biết nhất định về thuật toán giấu thông tin mật và khoá giấu thông tin.
Thay thế các bit trong các vùng ma trận ảnh:
Phương pháp này khó thực hiện hơn, nhưng bù lại có tác dụng hơn so với việc thay thế LSB.
Ta hãy xét các file ảnh đen trắng, mỗi điểm ảnh chỉ được biểu diễn bằng một bit có trạng thái 0 hoặc 1, biểu diễn điểm đó là đen hay trắng. Người ta không thể vận dụng phép thay thế LSB và cũng không thể tuỳ tiện đảo bit 0 → 1 hay ngược lại, vì làm như vậy sẽ dễ xuất hiện các chấm màu lạ, dễ bị phát hiện.
Người ta phải chia ma trận ảnh ra thành các khối không giao nhau, thường là các khối hình vuông, hình chữ nhật. Dựa trên các tính chất của mỗi khối đó, người ta giấu tin bằng phép đảo bit theo quy ước.
2.4.3 Thay đổi các bit ít quan trọng nhất
Ý tưởng
Ta biết rằng khi một số được biểu diễn bằng một dãy các giá trị nhị phân, vai trò của các bit là rất khác nhau trong dãy đó, khi các bit ít quan trọng mà bị thay đổi, thì giá trị mà nó biểu diễn thay đổi không đáng kể.
Thuật toán
Thay thế các bit LSB (các bit ít quan trọng nhất) có lẽ là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin. Ta xét phương tiện chứa là ảnh, sẽ trình bày các bước cơ bản của thuật toán giấu tin, qua việc thay đổi LSB.
+ Lựa chọn tập con { j1,….., jl(m)} các phần tử trong phương tiện chứa.
+ Thực hiện thay đổi LSB của bởi mi (mi có giá trị 0 hoặc 1).
Khi tách thông tin ra khỏi phương tiện chứa, người ta thực hiện ngược lại: các điểm tương ứng được lựa chọn, các bit LSB của các phần tử được lựa chọn này, được tách ra theo đúng quy ước, rồi tất cả được ghép lại để có được thông tin ban đầu.
Thuật toán 2.4.3.1: Quá trình nhúng bằng phương pháp thay đổi LSB
For i : = 1 to l(c) do
si : = ci ;
End for
For i : = 1 to l(m) do
Tính toán ji để lưu trữ bit thứ i của thông điệp;
: = ;
mi : = LSB() ;
End for
Thuật toán 2.4.3.2 : Quá trình tách bằng phương pháp thay đổi LSB
For i : = 1 to l(m) do
Tính toán ji để lưu trữ bit thứ i của thông điệp ;
mi : = LSB() ;
End for
Ảnh dùng làm phương tiện chứa là ảnh mầu hoặc là ảnh đa cấp xám.
Ảnh đã giấu tin có kích thước không đổi so với ảnh làm phương tiện chứa ban đầu.
Ảnh F dùng làm phương tiện chứa
Thuật toán lựa chọn các điểm giấu tin
Giấu tin bằng cách thay đổi LSB
Ảnh F’ đã chứa tin
Hình 5 : Các thành phần trong thuật toán giấu tin LSB
Nhận xét
Phương pháp giấu tin mật bằng cách thay đổi các bit LSB là kỹ thuật đơn giản, dễ thực hiện, nhưng đồng thời cũng dễ bị tấn công phá vỡ.
Nếu các điểm trong phương tiện chứa được lựa chọn một cách tuần tự, liên tục, thì kẻ tấn công bình thường nhất, với năng lực tính toán thông thường, cũng có thể dễ dàng tách các bit, và tái lập được thông điệp đã giấu vào trong đó. Đây là loại bảo mật mà độ an toàn dựa trên giả thiết “đối phương không hiểu biết gì về thuật toán giấu tin đang dùng”.
Để sử dụng phương
Các file đính kèm theo tài liệu này:
- Nghiên cứu kỹ thuật che giấu tin trong tài liệu số hoá.doc