Nghiên cứu phương pháp bảo vệ bản quyền tài liệu số hóa

92 17 0
Nghiên cứu phương pháp bảo vệ bản quyền tài liệu số hóa

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thụy Nghiên cứu phƣơng pháp bảo vệ quyền tài liệu số hóa Luận văn ThS Khoa học máy tính (60 48 01) Hà Nội - 2008 Chương 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 MÃ HÓA 1.1.1Khái niệm 1.1.2Phân loại hệ mã hó 1.1.3Một số hệ mã hóa cụ th 1.2 HÀM BĂM 1.2.1Một số tính chất 1.2.2Cấu trúc cá 1.3 CHỮ KÝ SỐ 1.3.1Khái niệm 1.3.2Phân loại chữ ký điện t 1.3.3Một số sơ đồ chữ ký cụ 1.4 THỦY VÂN SỐ 1.4.1Khái niệm giấu tin 1.4.2Khái niệm Thủy vân số 1.4.3Phân loại thủy vân số 1.4.4Thủy vân số l 1.5VẤN ĐỀ BẢO VỆ BẢN QUYỀN TÀI LIỆU SỐ Chương 2: CẤU TRÚC MỘT SỐ TỆP DỮ LIỆU PHỔ BIẾN TRÊN INTERNET 2.1ÂM THANH VÀ MỘT SỐ CẤU TRÚC FILE Â 2.1.1Các đặc tính âm th 2.1.2Số hóa tín hiệu âm than 2.1.3Mố số cấu trúc file âm 2.2ẢNH SỐ VÀ CÁC CẤU TRÚC FILE ẢNH 2.2.1Mầu sắc mơ hìn 2.2.1.1Mơ hình mầu RGB 2.2.1.2Mơ hình mầu CMY 2.2.1.3Mơ hình mầu HSV 2.2.2Một số loại ảnh Chương 3: MỘT SỐ PHƢƠNG PHÁP BẢO VỆ BẢN QUYỀN TÀI LIỆU SỐ 3.1PHƢƠNG PHÁP BẢO MẬT 3.2PHƢƠNG PHÁP XÁC THỰC 3.2.1Xác thực đồng (to 3.2.2 Xác thực thự 3.3PHƢƠNG PHÁP CHỐNG CHỐI BỎ 3.3.1 Sơ đồ chữ k 3.3.2 Sơ đồ chữ k 3.4PHƢƠNG PHÁP KẾT HỢP CHỮ KÝ SỐ VÀ 3.4.1 Mơ hình xác 3.4.2 Sự chứng nh 3.5PHƢƠNG PHÁP THỦY VÂN SỐ 3.5.1 Kỹ thuật thủ 3.5.1.1Kỹ thuật LSB (Least Signification Bits) 3.5.1.2Thuật toán nhúng thủy vân kỹ thuật 3.5.2 Kỹ thuật thủ 3.5.2.1Biến đổi Cosin rời rạc – DCT 3.5.2.2Thuật toán nhúng thủy vân Chương 4: THỬ NGHIỆM CHƢƠNG TRÌNH 4.1CƠ SỞ LÝ THUYẾT 4.2MỘT SỐ GIAO DIỆN CỦA CHƢƠNG TRÌNH 4.3MỘT SỐ ĐOẠN MÃ NGUỒN QUAN TRỌNG DANH MỤC HÌNH VẼ Hình 1.1: Trao đổi mật mã sử dụng Hệ mã hóa khóa cơng khai Hình 1.2: Hàm băm mật mã 13 Hình 1.3: Qua trình ký chữ ký số kèm thơng điệp 17 Hình 1.4: Q trình kiểm thử chữ ký kèm thơng điệp 17 Hình 1.5: Quá trình ký chữ ký khôi phục thông điệp 18 Hình 1.6: Quá trình nhúng thủy vân 22 Hình 1.7: Quá trình phát thủy vân 23 Hình 1.8: Cách phân loại thủy vân theo tính bền vững 24 Hình 1.9: Phân loại thủy vân theo cảm nhận 25 Hình 2.1: Lƣợng tử tín hiệu Analog 30 Hình 2.2 Lấy mẫu tín hiệu 31 Hình 2.3: Khn dạng tệp Wave 34 Hình 2.4: Độ dài bƣớc sóng ba mầu đỏ, lục lam 43 Hình 2.5: Mơ hình mầu RGB 44 Hình 2.6: Mơ hình mầu CMY 44 Hình 2.7: Mơ hình mầu HSV 45 Hình 2.8: Cấu trúc ảnh Gif 46 Hình 3.1: Xác thực đồng 52 Hình 3.2: Xác thực thực thể sử dụng mật 54 Hình 3.3: Chứng số 58 Hình 3.4: Sơ đồ chống chối cãi có trọng tài 60 Hình 3.5: Mơ hình Certification Authority đơn giản 64 Hình 3.6: Quá trình ký chứng nhận 65 Hình 3.7: Quá trình kiểm tra chứng nhận 66 Hình 3.8: Biểu diễn ảnh Bitmap không nén 68 Hình 3.9: Mơ hình nhúng tin ngẫu nhiên 69 Hình 3.10 Qúa trình nhúng tin với kỹ thuật LSB 70 Hình 3.11 Qúa trình tách tin Xác thực ảnh 71 Hình 3.12: Quá trình nhúng thủy vân 74 Hình 3.13: Quá trình rút/trích thủy vân 75 Hình 4.1 Nhúng thủy vơ hình kỹ thuật LSB 78 Hình 4.2: Ảnh bị phát sửa đổi 79 Hình 4.3 Thủy hữu hình 80 Hình 4.4 Kết nhúng thủy hữu hình 80 MỞ ĐẦU Sự đời phát triển mạnh mẽ hệ thống mạng ngày mạng toàn cầu Internet mạng lại đột phá xã hội Đƣa giới chuyển từ kỷ nguyên Công nghiệp sang kỷ nguyên Thông tin kinh tế tri thức Cuộc cách mạng thông tin kỹ thuật số đem lại thay đổi sâu sắc tƣ cách làm việc ngƣời Trong môi trƣờng mạng, ngƣời sử dụng sản phẩm tri thức dƣới dạng đƣợc số hóa Mạng Internet tồn cầu, nơi diễn q trình trao đổi thơng tin lĩnh vực thời điểm, môi trƣờng hồn hảo cho việc trao đổi thơng tin hội nhập Việc triển khai hệ thống số chuyển đổi cách thức mà sản phẩm đƣợc taọ ra, sử dụng phân phối thị trƣờng Số hoá nội dung đặt thách thức chƣa có cho tất bên liên quan Trong cho phép cá nhân sử dụng tài nguyên theo phƣơng thức mới, cơng nghệ số tạo khả chép hồn hảo, khơng có khiếm khuyết phân phối lại sản phẩm tồn giới, có khơng có cho phép trƣớc ngƣời sở hữu Thực tế sau giai đoạn dự ban đầu, ngƣời sáng tạo nội dung, nhà cung cấp dịch vụ Internet nhiều thành viên khác phát triển phƣơng thức kinh doanh cho việc phân phối nội dung số Internet thay đổi thứ việc đƣa nội dung trí tuệ đến với cộng đồng Những vụ kiện quyền số diễn hàng ngày hàng khiến nguời ta tự hỏi tƣơng lai sản phẩm trí tuệ giới mạng Vấn đề đặt cho tất phƣơng thức kinh doanh, phân phối tài nguyên số phải tuân thủ nguyên tắc quyền sở hữu trí tuệ, nhƣng khơng cản trở hay làm phức tạp hóa q trình phân phối tài ngun số Hiện có nhiều kỹ thuật bảo vệ quyền tài nguyên số Các kỹ thuật khác cho phép tác động vào tập kiểu tài nguyên số tƣơng ứng Luận văn nghiên cứu phƣơng pháp bảo vệ quyền tài nguyên số Các kỹ thuật giữ quyền tài nguyên số luận văn đƣợc nghiên cứu dựa loại tài liệu đƣợc phân nhóm từ nhóm tài nguyên số có kỹ thuật đặc trƣng riêng Luận văn gồm chƣơng: Chương 1: Các khái niệm Trong chƣơng trình bầy tổng quan Bản quyền số khái niệm đƣợc sử dụng toàn Luận văn Bao gồm: Khái niệm toán học, khái niệm Thủy vân số, Chữ ký số, Xác thực điện tử cho việc giữ quyền tài liệu số Chương 2: Cấu trúc loại tài nguyên số phổ biến Internet Chƣơng trình bầy cấu trúc nhóm tài nguyên số thƣờng đƣợc trao đổi Internet Bao gồm: Nhóm tài nguyên Audio (*.wav, *.mp3, *.midi), Nhóm tài nguyên Image (*.bmp, *.gif, *.jpge) Chương 3: Các kỹ thuật bảo quyền tài liệu số Trên sở nhóm tài nguyên số đƣợc phân loại tìm hiểu cấu trúc lƣu trữ chƣơng Trong chƣơng trình bầy kỹ thuật tƣơng ứng với nhóm tài nguyên số Các kỹ thuật phụ thuộc vào cấu trúc lƣu trữ đặc trƣng liệu nhóm tài nguyên số Chƣơng 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 MÃ HÓA Nhƣ biết, việc truyền tin mạng dễ bị “đánh cắp”, để đảm bảo an tồn cho nội dung thơng tin đƣợc truyền ngƣời ta thƣờng mã hóa trƣớc truyền mạng, nhằm giấu ý nghĩa Các hệ mã đƣợc chia thành nhóm chính, Mã hóa khóa cơng khai mã hóa khóa bí mật Trong phần trình bầy khái niệm mật mã vấn đề liên quan 1.1.1 Khái niệm Một hệ mật mã năm (P, C, K, E, D) đó: + P: tập hữu hạn rõ + C: tập hƣu hạn mã + K: tập hƣu hạn khoá + Với k ∈ K, có hàm lập mã ek ∈ E, ek: P → C, hàm giải mã dk ∈ D, dk: C → P cho dk(ek(x)) = x với x ∈ P 1.1.2 Phân loại hệ mã hóa Các hệ mã hóa đƣợc chia thành nhóm “Mã hóa khóa đối xứng” “Mã hóa khóa cơng khai” Mã hóa khóa đối xứng: Là hệ mã mà việc lập mã giải mã thƣờng dùng chung khóa, có dùng hai khóa khóa lập mã bị lộ ngƣời ta tìm khóa giải mã thời gian tƣơng đối ngắn Tuy nhiên đặc tính mã hóa tƣơng đối nhanh, hệ mã loại thƣờng đƣợc dùng để mã hóa loại tài liệu có kích thƣớc lớn Các hệ mã loại nói chung có điểm yếu dễ bị cơng q trình chuyển giao khóa bên liên quan (người nhận) Trong hệ mã hóa khóa đối xứng ngƣời ta cịn chia hệ mã thành nhóm: “Mã hóa cổ điển”, “Mã hóa khối” “Mã dịng” Kẻ công k’ (kênh công cộng) Lập mã Bộ khóa (k’, k”) Giải mã dk”(y)=x ek’(x)=y Kết Bản rõ B A Hình 1.1: Trao đổi mật mã sử dụng Hệ mã hóa khóa cơng khai Mã hóa khóa cơng khai: Là hệ mã mà việc lập mã giải mã dùng hai khóa khác Hai khóa có mối liên hệ chặt chẽ suy phụ thuộc vào hệ mã cụ thể Trong khóa lập mã đƣợc cơng khai (public) khóa giải mã đƣợc giữ bí mật (private) Các hệ mã loại đƣợc xây dựng dựa tốn “khó” nên q trình lập mã giải mã tƣơng đối chậm, nên thƣờng đƣợc dùng để mã hóa liệu nhỏ Nhƣ hệ mã khóa khóa cơng khai khắc phục đƣợc nhƣợc điểm lớn mã hóa khóa đối xứng trình phải chuyển giao khóa bên liên quan Trong sơ đồ mã hóa khóa cơng khai ngƣời nhận A tính tốn cặp khóa sau giữ cho khóa giải mã (private key) cơng khai khóa lập mã (public key) Mọi ngƣời mạng muốn gửi thơng tin mật cho A sử dụng khóa công khai lập mã gửi mã cho A Do A có khóa giải mã tƣơng ứng nên A giải mã đƣợc tài liệu 1.1.3 Một số hệ mã hóa cụ thể 1/.Mã hóa RSA Bài tốn RSA (RSA Problem): Cho số nguyên dƣơng n tích hai thừa số nguyên tố lẻ p q Một số nguyên dƣơng b cho gcd(b, (p-1)(q-1)) = số ngun c Bài tốn đặt ra: tìm số ngun x cho xb ≡ c (mod n) Thuật toán Sinh khóa cho mã khóa Cơng khai RSA Sinh hai số nguyên tố lớn p q có giá trị xấp xỉ Tính n = p.q, φ(n) = (p-1).(q-1) Chọn số ngẫu nhiên b, < b < φ(n), cho gcd(b, φ(n)) = Sử dụng thuật tốn Euclide để tính số a, < a < φ(n), cho a.b ≡ (mod φ(n)) Khóa cơng khai (n, b), Khóa bí mật (a) Thuật tốn Mã hóa RSA (i) Lập mã : a Lấy khóa cơng khai (n, b) theo thuật toán b Chọn mã x, khoảng [1, n-1] b c Tính : y = x mod n d Nhận đƣợc mã y (ii) Giải mã : Sử dụng khóa bí mật a để giải mã : x = ya mod n 10 73 1/ Qúa trình nhúng thủy vân DCT zig-zag 8x8 pixel block (B) Embedding IDCT Algorithm (data: bit string (s)) Watermarked block b’(4,1), b’(3,2) Hình 3.12: Quá trình nhúng thủy vân Thuật tốn nhúng thơng tin vào ảnh phủ: Chia ảnh có kích thƣớc m × n thành (m×n)/64 khối 8×8, bít đƣợc giấu khối Chọn khối B biến đổi DCT khối thu đƣợc B’ Chọn hai hệ số vị trí miền tần số khối DCT, giả sử b’(i,j) b’(p,q) Bit si đƣợc nhúng thỏa mãn điều kiện:  b '( i , j ) > b '( p , q )   b '( i , j ) 74 Chú ý: Khi ảnh bị nén, để tránh trƣờng hợp hệ số DCT thuật toán bị lƣợc bớt, yêu cầu | b’(i,j) − b’(p,q)| > x, với x > Trong trƣờng hợp (si = 1, b’(i,j) ≤ b’(p,q)) (si = 0, b’(i,j) > b’(p,q)) ta thực đổi giá trị hệ số b’(i,j) b’(p,q) 1/ Qúa trình đọc thủy vân DCT zig-zag Watermarked block Extraction IDCT Algorithm (data: bit string (s)) Watermarked block b’(4,1), b’(3,2) Hình 3.13: Q trình rút/trích thủy vân Thuật toán tách tin nhúng xác thực ảnh: Chia ảnh có kích thƣớc m × n thành (m×n)/64 khối 8×8 Chọn khối B biến đổi DCT khối thu đƣợc B’ Chọn hai hệ số vị trí miền tần số khối DCT, giả sử b’(i,j) b’(p,q) Bit si đƣợc nhúng thỏa mãn điều kiện a b 75 Trên thuật toán nhúng thuỷ vân vào ảnh tĩnh sử dụng kỹ thuật giấu tin miền biến đổi cosin rời rạc Ảnh đƣợc chia thành khối 8×8, khối đƣợc chọn cách ngẫu nhiên để nhúng thuỷ vân Mỗi khối đƣợc áp dụng phép biến đổi cosin rời rạc (DCT) để chuyển liệu tần số khối ảnh Miền tần số thấp khối ảnh đƣợc chứng minh chứa liệu nhìn thấy ảnh, thay đổi liệu miền dẫn đến thay đổi đáng kể ảnh hiển thị Ngƣợc lại, miền tần số cao chứa liệu ảnh không ảnh hƣởng đáng kể đến tri giác ảnh Đây miền tần số cho phép thay đổi mà không gây nhiễu nhiều đến ảnh Tuy nhiên, thuỷ vân miền lại không bền vững với phép biến đổi ảnh thơng thƣờng Với thuật tốn này, miền đƣợc chọn để giấu tin miền có tần số tần số cao tần số thấp, kết thực nghiệm thuật toán cho thấy thuỷ vân đảm bảo đƣợc tính chất ẩn ảnh bền vững số phép biến đổi ảnh thơng thƣờng Nhóm kĩ thuật biến đổi miền tần số ảnh (frequency image transforms): Nhóm kĩ thuật sử dụng phƣơng pháp biến đổi trực giao đó, chẳng hạn nhƣ Cosine rời rạc, hay Fourier… để chuyển miền không gian ảnh sang miền tần số Thuỷ vân đƣợc nhúng miền không gian tần số ảnh theo kĩ thuật trải phổ truyền thông Đây kĩ thuật phổ biến với nhiều thuật toán đƣợc hứa hẹn phƣơng pháp tốt giải vấn đề đảm bảo hai thuộc tính quan trọng thuỷ vân sau giấu 76 Chƣơng 4: THỬ NGHIỆM CHƢƠNG TRÌNH 4.1 CƠ SỞ LÝ THUYẾT Mơi trƣờng lập trình Visual Studio 2005, với ngơn ngữ sử dụng C# Chƣơng trình sử dụng phƣơng pháp Thủy vân ẩn môi trƣờng ảnh số, kỹ thuật đƣợc sử dụng chƣơng trình kỹ thuật giấu tin bít có số thấp (LSB) Chƣơng trình sử dụng thuật tốn mục 3.5.1.1 đƣợc trình bầy bên Chƣơng trình cho phép giấu bit trọng số thấp 24 bit mầu (3 bit có số thấp tương ứng mầu R, G, B) ta có: 3/24 = 1/8 (bit ẩn/ bit liệu) Kỹ thuật thủy vân LSB cho phép lƣợng tin giấu lớn tỷ lệ với kích thƣớc ảnh Ví dụ ta có ảnh với độ phân giải 800×600 pixel, điểm ảnh giấu bit ta giấu đƣợc: 4320000 bit = 527 (KB) Chƣơng trình thực nhúng chuỗi bit có quy luật vào ảnh Để đơn giản, chuỗi bít có quy luật đƣợc giấu vào ảnh đƣợc đại diện ký tự 0, đƣợc gõ vào từ bàn phím đƣợc lƣu dƣới dạng tệp văn Chƣơng trình gồm module chính: - Module thủy vân kỹ thuật LSB: Cho phép dấu tin vào ảnh nhằm mục đích chống xuyên tạc ảnh - Module thủy vân kỹ thuật thủy vân Hữu hình: Cho phép nhúng logo, văn vào ảnh 77 4.2 MỘT SỐ GIAO DIỆN CỦA CHƢƠNG TRÌNH Giấu tin: Chọn mục: Data Hiding -> Least Significant Bit (LSB) -> Embedding Hình 4.1 Nhúng thủy vơ hình kỹ thuật LSB Ví dụ minh họa thực nhúng chuỗi bit có quy luật (01)* vào ảnh Với khóa 30 Cho phép xác thực ảnh, nghĩa cho phép ngƣời dùng kiểm tra ảnh sau nhúng thủy vân có bị sửa đổi hay khơng 78 Hình 4.2: Ảnh bị phát sửa đổi Hình 4.2 minh họa q trình rút trích thơng tin đƣợc giấu trình giấu tin hình 4.1, với khóa rút trích 30 Giá trị nhân tố cho q trình thực hàm rải lệnh Random Visual C# Ảnh bị phát sửa đổi chuỗi bít đƣợc nhúng vào ảnh bị thay đổi cấu trúc Điều khẳng định điểm ảnh đƣợc giấu tin bị thay đổi giá trị đồng nghĩa với việc ảnh bị sửa 79 Chƣơng trình cho phép nhúng Watermark vào ảnh, Watermark đƣợc nhìn thấy Ứng dụng thƣờng đƣợc dùng phổ biến truyền hình Hình 4.3 Thủy hữu hình Hình 4.4 Kết nhúng thủy hữu hình 80 4.3 MỘT SỐ ĐOẠN MÃ NGUỒN QUAN TRỌNG Mã nhúng thủy vân LSB: private Bitmap LSB_embedding(Bitmap bmp_file) { Bitmap bmp_embedding; Color color; bool[,] usedpos; char[] w = new char[textdata.Length]; char w_item; int i = 0, j = 0, index = 0; ushort c_mask1, c_mask2, c_mask3; w = textdata.ToCharArray(); bmp_embedding = bmp_file; if (bmp_embedding.PixelFormat == PixelFormat.Format24bppRgb) { usedpos = new bool[bmp_embedding.Width, bmp_embedding.Height]; bmp_embedding.SetPixel(0, 0, Color.FromArgb(0, textdata.Length>>8, textdata.Length & 0x00ff)); usedpos[0, 0] = true; Random rndobj; if (key1.Text.Length == 0) { rndobj = new Random(10); } else { rndobj = new Random(Convert.ToInt16(key1.Text)); } for (index = 0; index < textdata.Length; index++) { ushort bytemask = 0x0001; w_item = w[index]; progressBar1.Value = index; id1: if (usedpos[i, j] == true) { i = rndobj.Next(bmp_embedding.Width); j = rndobj.Next(bmp_embedding.Height); goto id1; } for (int z = 0; z < 4; z++) { if (i + >= bmp_embedding.Width) { 81 } i = 0; if (j + >= bmp_embedding.Height) j = 0; else j = j + 1; id2: if (usedpos[i, j] == true) { i = rndobj.Next(bmp_embedding.Width); j = rndobj.Next(bmp_embedding.Height); goto id2; } c_mask1 = ((w_item & bytemask) != 0) ? (ushort)1 : (ushort)0; bytemask *= 2; c_mask2 = ((w_item & bytemask) != 0) ? (ushort)1 : (ushort)0; bytemask *= 2; c_mask3 = ((w_item & bytemask) != 0) ? (ushort)1 : (ushort)0; bytemask *= 2; color = bmp_embedding.GetPixel(i, j); bmp_embedding.SetPixel(i, j, Color.FromArgb((color.R & 0xFFFE) | c_mask1, (color.G & 0xFFFE) | c_mask2, (color.B & 0xFFFE) | c_mask3)); usedpos[i, j] = true; } if (i + >= bmp_embedding.Width) { i = 0; if (j + >= bmp_embedding.Height) j = 0; else j = j + 1; } id3: if (usedpos[i, j] == true) { i = rndobj.Next(bmp_embedding.Width); j = rndobj.Next(bmp_embedding.Height); goto id3; } c_mask1 = ((w_item & bytemask) != 0) ? (ushort)1 : (ushort)0; bytemask *= 2; c_mask2 = ((w_item & bytemask) != 0) ? (ushort)1 : (ushort)0; bytemask *= 2; color = bmp_embedding.GetPixel(i, j); bmp_embedding.SetPixel(i, j, Color.FromArgb((color.R & 0xFFFE) | c_mask1, (color.G & 0xFFFE) | c_mask2, (color.B & 0xFFFC) | (w_item >> 14))); usedpos[i, j] = true; } progressBar1.Visible = false; } return bmp_embedding; } 82 Mã rút trích thủy vân kỹ thuật LSB: public String LSB_extraction(Bitmap bmp_file) { Bitmap bmp_extraction; String kq; Color color; int length, index, i=0, j=0; char[] w; char w_item; bool[,] usedpos; ushort c_mask1 = 0, c_mask2 = 0, c_mask3 = 0; bmp_extraction = bmp_file; length = bmp_extraction.GetPixel(0, 0).B | (bmp_extraction.GetPixel(0,0).G = bmp_extraction.Width) { 83 } i = 0; if (j + >= bmp_extraction.Height) j = 0; else j = j + 1; id5: if (usedpos[i, j] == true) { i = rndobj.Next(bmp_extraction.Width); j = rndobj.Next(bmp_extraction.Height); goto id5; } color = bmp_extraction.GetPixel(i, c_mask1 = (ushort)((color.R & 0x0001) c_mask2 = (ushort)((color.G & 0x0001) c_mask3 = (ushort)((color.B & 0x0001) j);

Ngày đăng: 11/11/2020, 21:55

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan