Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)Tìm hiểu thủy vân số, mã hóa dựa trên định danh và ứng dụng (LV thạc sĩ)
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
Nguyễn Minh Họa
TÌM HIỂU THUỶ VÂN SỐ, MÃ HÓA DỰA TRÊN ĐỊNH DANH
VÀ ỨNG DỤNG
Chuyên ngành : Khoa học máy tính
Mã số : 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Hồ Văn Hương
Thái Nguyên - 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự trực tiếp hướng dẫn của thầy giáo TS Hồ Văn Hương
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá, tôi xin chịu hoàn toàn trách nhiệm
Thái Nguyên, tháng năm 2015
Học viên
Nguyễn Minh Họa
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái nguyên, cùng tất cả các thầy giáo, cô giáo đã tận tình giảng dạy và giúp đỡ tôi trong suốt quá trình học tập, nghiên cứu
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS Hồ Văn Hương, người đã trực tiếp hướng dẫn và tạo mọi điều kiện thuận lợi giúp đỡ tôi trong quá trình thực hiện đề tài
Tôi xin trân trọng cảm ơn Ban lãnh đạo, các đồng nghiệp đã ủng hộ và dành thời gian để giúp đỡ tôi hoàn thành luận văn này
Tuy đã có nhiều cố gắng, nhưng chắc chắn luận văn của tôi còn có rất nhiều thiếu sót Rất mong nhận được sự góp ý của thầy giáo, cô giáo và các bạn đồng nghiệp
Xin chân thành cám ơn!
Trang 4MỤC LỤC
LỜI CAM ĐOAN ii
Thái Nguyên, tháng năm 2015 ii
Học viên ii
Nguyễn Minh Họa ii
LỜI CẢM ƠN iii
DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT vi
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ viii
1 Lời mở đầu 1
CHƯƠNG 1 5
TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY VÂN 5
1.1 Một số vấn đề cơ bản về giấu tin 5
1.1.1 Khái niệm giấu tin 5
1.1.2 Phân loại các kỹ thuật giấu tin và ứng dụng 5
1.1.3 Mô hình kỹ thuật giấu tin 6
1.2 Một số vấn đề cơ bản về thủy vân 9
1.2.1 Khái niệm về thủy vân 9
1.2.2 Phân loại thủy vân 9
1.2.3 Các ứng dụng của thuỷ vân với ảnh số 10
1.2.4 Một số tính chất của sơ đồ thủy vân 11
1.3 Ảnh số 13
1.3.1 Phân loại ảnh 13
1.3.2 Histogram của ảnh 14
1.3.3 Chất lượng ảnh 15
1.4 Một số lược đồ giấu tin trên ảnh nhị phân 16
1.4.1 Lược đồ giấu tin Wu-Lee 16
1.4.2 Lược đồ giấu tin THA 22
Trang 52.1 Tổng quan mật mã dựa trên định danh 26
2.2 Lược đồ mã hóa dựa trên định danh IBE 31
2.3 Mã hóa dựa trên thuộc tính 33
2.4 Các thuật toán thực hiện trong mã hóa định danh 38
2.5.2 Sự khác nhau giữa IBE và hệ thống khóa công khai truyền thống 44
3.1 Bài toán ứng dụng thủy vân trong bài toán xác thực dữ liệu chống giả mạo ứng dụng trong Bệnh viện 47
3.2 Bài toán kiểm soát quyền truy cập trong hệ thống bảo mật quản lý bệnh viện 52
3.2.2 Các bước thực hiện xây dựng hệ thống bảo mật 56
3.2 Ứng dụng IBE kiểm soát quyền truy cập trong hệ thống bảo mâ ̣t quản lý bệnh viện 59
3.2.1 Mô tả bài toán 59
3.2.2 Mô hình hệ thống 60
3.2.3 Chương trình thử nghiệm 62
KẾT LUẬN 64
Trang 6DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT
AES Advanced Encryption Standard Chuẩn mã hoá tiên tiến
ANSI American National Standards
Institude
Viện tiêu chuẩn quốc gia Mỹ
CRL Certificate Revocation List Danh sách các chứng thực
thu hồi FIPS Federal Information Processing
and Technology
Viện quốc gia về chuẩn và công nghệ
PKI Public Key Infrastructure Cơ sở hạ tầng khoá công khai
PSNR Peak Signal to Noise Ratio Tỷ số tín hiệu đỉnh trên nhiễu
perceptual insignificant Trực giác J
Trang 8DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
2.1 “Mã khóa riêng”, “mã khóa công khai”,
2 So sánh hệ thống IBE và hệ thống khóa
Trang 91 Lời mở đầu
Ngày nay, nhu cầu về bảo đảm an toàn thông tin trong lĩnh vực y học ngày càng tăng, nhằm phục vụ công tác chăm sóc sức khỏe của cộng đồng và bảo mật hồ sơ bệnh án khi người bệnh đến khám và chữa bệnh tại bệnh viện, như các bệnh mãn tính, ung thư, viêm gan, HIV Sự phát triển của dữ liệu đa phương tiện đã hỗ trợ tích cực các hoạt động y học như chẩn đoán từ xa, chia
sẻ thông tin y tế Một trong các kỹ thuật cổ điển nhất để bảo vệ bản quyền tài liệu số hóa, thủy vân số vẫn có nhiều đặc tính phù hợp để bảo vệ dữ liệu E-Health Nhúng thủy vân số về bản chất là việc chèn một thông điệp vào tài liệu số, thường ở dạng dữ liệu multimedia (ảnh, audio hoặc video)
Thông tin bệnh học trong các hệ thống E-health được gửi tới cho các bác sỹ điều trị, phòng thí nghiệm, cơ quan điều tra nghiên cứu hoặc trung tâm
tư vấn sức khỏe Việc sử dụng hệ thống chăm sóc y tế điện tử mang lại các lợi ích trong việc truy cập, kiểm soát và chia sẻ thông tin y tế của người bệnh, tuy nhiên lại gây ra các nguy cơ xâm phạm tính bí mật và riêng tư tới các thông tin sức khỏe nhạy cảm của người bệnh như các bệnh mãn tính, ung thư, viêm gan B, HIV Các nghiên cứu liên quan về sử dụng thủy vân số ứng dụng trong y sinh học sẽ được trình bày, trên cơ sở đó, một mô hình đề xuất
sử dụng thủy vân số kết hợp mã hóa truyền thông dựa trên định danh được trình bày Phương pháp này giúp đảm bảo tính bí mật và riêng tư cho các thông tin dữ liệu cho người bệnh Hiện nay, mới chỉ có một vài cách tiếp cận đối với bài toán thuỷ vân dữ liệu quan hệ được đề xuất Tuy nhiên, những kỹ thuật này không bền vững trước các tấn công thông thường và các tấn công gây hại, vì vậy cần có một kỹ thuật thủy vân cơ sở dữ liệu quan hệ có độ bền vững cao hơn nhất là đối với các tấn công xoá, sửa và chèn các bản ghi
Bằng cách sử dụng thủy vân, dữ liệu số sẽ bảo vệ khỏi sự sao chép bất
Trang 10vân luôn gắn kết với dữ liệu số Bằng trực quan thì khó có thể phát hiện được thủy vân trong dữ liệu chứa nhưng ta có thể tách được chúng bằng các chương trình có cài đặt thuật toán thủy vân Thủy vân tách được từ dữ liệu số chính là bằng chứng kết luận dữ liệu số có bị xuyên tạc thông tin hay vi phạm bản quyền không
Mã hóa dựa trên định danh (Indetity based encryption -IBE) hiện nay đang được xem là một công nghệ mật mã mới có nhiều thuận tiện trong thực thi ứng dụng so với các thuật toán khóa công khai khác Đối với các hệ mật
mã khóa công khai truyền thống, việc cài đặt là khó khăn và tốn kém, ứng dụng thành công nhất của công nghệ khóa công khai là việc sử dụng rộng rãi của SSL, nó yêu cầu tương tác tối thiểu với người sử dụng khi được dùng để xác thực máy chủ và mã hóa các truyền thông với máy chủ đó Các ứng dụng
mà yêu cầu người sử dụng quản lý hoặc sử dụng các khóa công khai thì không thành công được như vậy IBE là một công nghệ mã hoá khoá công khai, cho phép một người sử dụng tính khoá công khai từ một chuỗi bất kỳ Chuỗi này như là biểu diễn định danh của dạng nào đó và được sử dụng không chỉ như là một định danh để tính khoá công khai, mà còn có thể chứa thông tin về thời hạn hợp lệ của khoá để tránh cho một người sử dụng dùng mãi một khoá IBE hoặc để đảm bảo rằng người sử dụng sẽ nhận được các khoá khác nhau từ các
hệ thống IBE khác nhau Trong chuỗi này có chứa thông tin là duy nhất đối với mỗi cài đặt IBE cụ thể, chẳng hạn như URL mà định danh máy chủ được
sử dụng trong cài đặt của các hệ thống IBE khác nhau Khả năng tính được các khoá như mong muốn làm cho các hệ thống IBE có các tính chất khác với các tính chất của các hệ thống khoá công khai truyền thống, những tính chất này tạo ra các ưu thế thực hành đáng kể trong nhiều tình huống Bởi vậy, có một số ít tình huống không thể giải quyết bài toán bất kỳ với các công nghệ khoá công khai truyền thống, nhưng lại có thể giải quyết được với IBE và sử
Trang 11dụng IBE có thể đơn giản hơn nhiều về cài đặt và ít tốn kém hơn về nguồn lực
để hỗ trợ Việc kết hợp hai lĩnh vực nghiên cứu giữa thuỷ vân số và mã hóa làm tăng khả năng đảm bảo an toàn và bảo mật thông tin trong thực tiễn hiện
nay Vì vậy, chúng tôi chọn đề tài "Tìm hiểu thủy vân số, mã hoá dựa trên định danh và ứng dụng" làm nội dung nghiên cứu cho luận văn tốt nghiệp
của mình
2 Đối tượng và phạm vi nghiên cứu
- Phạm vi nghiên cứu của đề tài là tìm hiểu về mặt lý thuyết của thuỷ vân số và mã hóa định danh
- Kết hợp giữa thủy vân số và mã hóa dựa trên định danh và bảo đảm
an toàn hệ thống thông tin
- Ứng dụng của thủy vân số và mã hóa định danh bảo vệ bản quyền
3 Hướng nghiên cứu của đề tài
- Nghiên cứu phương pháp về mặt lý thuyết sau đó áp dụng Dựa trên những kết quả kiểm chứng đó để đưa ra các kết luận và các đề xuất nhằm hoàn thành mục tiêu nghiên cứu của luận văn
- Nghiên cứu giải pháp công nghệ cài đặt chương trình thử nghiệm
4 Những nội dung nghiên cứu chính
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:
Trang 12Chương 1: Kỹ thuật về thủy vân số
Chương này trình bày một số khái niệm liên quan đến ảnh số, kỹ thuật giấu tin, thủy vân số và ứng dụng Ngoài ra, trong chương còn trình bày hai thuật toán giấu tin trên ảnh nhị phân gồm Thuật toán Wu-Lee và thuật toán THA
Chương 2: Mã hóa dựa trên định danh
Chương này chủ yếu trình bày về thực trạng để tìm hiểu về mã hóa dựa trên định danh Mã hóa dựa trên định danh Lược đồ mã hóa định danh Một
số thuật toán sử dụng trong mã hóa định danh (IBE)
Chương 3: Kết hợp thủy vân số và mã hóa định danh xây dựng chương trình ứng dụng
Kết hợp kỹ thuật thủy vân số, mã hóa định danh và xây dựng ứng dụng Giới thiệu bài toán thử nghiệm Dữ liệu thử nghiệm, mô tả chi tiết các bước tiến hành thí nghiệm thủy vân số và mã hoá dựa trên định danh để ứng dụng
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY VÂN
Chương này tập trung trình bày một số khái niệm liên quan đến ảnh số, kỹ thuật giấu tin, thủy vân số và ứng dụng Ngoài ra, trong chương còn trình bày hai thuật toán giấu tin trên ảnh nhị phân gồm Thuật toán Wu-Lee và thuật toán THA
1.1 Một số vấn đề cơ bản về giấu tin
1.1.1 Khái niệm giấu tin
Giấu tin là một kỹ thuật giấu một lượng thông tin nào đó vào một đối tượng dữ liệu khác nhằm hai mục đích đó là: Một là bảo vệ cho chính đối tượng được giấu tin bên trong Đây chính là thủy vân số, đây là lĩnh vực rất đa dạng, có nhiều mục đích và đang được quan tâm, nghiên cứu rất nhiều; tính ứng dụng của nó trong hiện tại rất lớn và đã có nhiều kỹ thuật được đề xuất Hai là bảo mật cho dữ liệu được đem giấu Chính là giấu tin mật, tập trung vào các kỹ thuật giấu tin sao cho người khác rất vất vả, khó khăn mới phát hiện được đối tượng có chứa thông tin mật bên trong
1.1.2 Phân loại các kỹ thuật giấu tin và ứng dụng
Dựa theo mục đích sử dụng, ta có chia các lược đồ giấu tin thành hai nhóm chính giấu tin và thủy vân:
- Thủy vân số: Là nhúng một lượng thông tin có ích vào các sản phẩm số
Có thể chia thành hai loại thủy vân như sau: Thủy vân bền vững và thủy vân dễ vỡ Thủy vân bền vững nghiên cứu đến việc nhúng những mẩu tin với yêu cầu độ bền vững cao của thông tin được giấu trước những biến đổi của môi trường dữ liệu Còn thủy vân dễ vỡ quan tâm đến thông tin giấu sẽ bị sai
Trang 14- Giấu tin mật: Với kỹ thuật giấu tin mật này luôn quan tâm đến tính che giấu thông tin, với mục đích nhằm làm sao cho việc phát hiện được đối tượng
có chứa thông tin mật ở bên trong hay không; nếu phát hiện có giấu tin thì việc giải mã thông tin mật cũng sẽ mất rất nhiều thời gian và rất khó thực hiện được Các kỹ thuật giấu tin cũng rất quan tâm đến lượng tin có thể giấu được
Như vậy, kỹ thuật giấu tin có thể được phân loại như hình sau:
Giấu tin
Hình 1.1 Phân loại các kỹ thuật giấu tin
1.1.3 Mô hình kỹ thuật giấu tin
Giống như các lược đồ mã hóa thông tin, một kỹ thuật giấu tin gồm thuật toán nhúng tin và thuật toán trích tin Theo [5], sơ đồ của thuật toán nhúng tin tổng quá có mô hình như sau :
Trang 15Hình 1.2 Mô hình thuật toán nhúng tin
Trong Hình 1.2, môi trường giấu tin là những dữ liệu dùng để chứa thông tin mật, dữ liệu môi trường thường là những dữ liệu được dùng phổ biến trên Internet như : tệp ảnh, tệp âm thanh, tệp video, tệp text…Thông tin cần giấu
là một lượng thông tin mang ý nghĩa và mục đích nào đó tùy thuộc vào mục đích và yêu cầu của người sử dụng (tin mật) Tin mật được nhúng vào trong môi trường chứa thông tin nhờ một bộ nhúng thông tin Trong quá trình nhúng tin, thuật toán có thể sử dụng hệ thống khóa làm tăng tính an toàn cho
hệ thống Sau khi nhúng tin mật vào dữ liệu môi trường ta nhận được dữ liệu môi trường có chưa tin Dữ liệu này được truyền tải trên các môi trường truyền thông khác nhau
Khi nhận được dữ liệu có chưa tin, người nhận thực hiện thuật toán trích tin tương ứng để trích rút tin mật từ dữ liệu môi trường Trong một số trường hợp, người dùng có thể khôi phục lại dữ liệu môi trường từ dữ liệu chứa tin Theo [5], thuật toán trích tin có mô hình thực hiện như :
Trang 16và so sánh với thông tin đem giấu ban đầu Thông qua dữ liệu được tách ra từ môi trường chứa thông tin giấu, người ta có thể biết được trong quá trình truyền tải, phân phát dữ liệu có bị xâm phạm, tấn công hay không
Đối với các hệ thống giấu thông tin mật này rất quan tâm đến tính an toàn
và bảo mật thông tin của dữ liệu cần giấu Hệ thống giấu tin mật có độ bảo mật cao nếu có độ phức tạp của các thuật toán thám mã khó có thể thực hiện được trên máy tính Tuy nhiên, cũng có các hệ thống chỉ quan tâm đến số lượng thông tin có thể được che giấu, hay quan tâm đến sự ảnh hưởng của thông tin mật đến các môi trường chứa dữ liệu
Trang 171.2 Một số vấn đề cơ bản về thủy vân
1.2.1 Khái niệm về thủy vân
Thuỷ vân (Watermarking) là kỹ thuật nhúng thông tin vào dữ liệu môi
trường (đa phương tiện) như: tệp ảnh, tệp video, tệp âm thanh… nhằm bảo vệ
dữ liệu đa phương tiện trong quá trình trao đổi không an toàn Thông tin nhúng (dấu thủy vân) được dùng để xác định tính toàn vẹn, phát hiện vị trí bị thay đổi hoặc chứng minh quyền tác giả đối với dữ liệu chứa dấu thủy vân
1.2.2 Phân loại thủy vân
Dựa vào mục đích sử dụng, thủy vân số có thể được phân loại như hình sau :
Đối với các lược đồ thủy vân dễ vỡ (Fragile), dấu thủy vân sẽ bị thay đổi trước sự biến đổi của dữ liệu đã thủy vân dù chỉ vài bít Vì vậy, thủy vân dễ
vỡ thường được ứng dụng trong bài toán xác thực tính toàn vẹn của dữ liệu thủy vân Trong một số trường hợp, thủy vân dễ vỡ có thể khoanh vùng được
dữ liệu thay đổi
Trái với thủy vân dễ vỡ, thủy vân bền vững (Robust) yêu cầu dấu thủy vân phải tồn tại trước sự tấn công vô tình hay có chủ định nhằm loại bỏ dấu thủy vân Theo [10], đối với thủy vân bền vững, dấu thủy vân phải luôn tồn
Thủy vân
Hình 1.4 Phân loại thủy vân theo mục đích ứng dụng
Trang 18tại trước mọi sự tấn công trừ khi dữ liệu thủy vân không còn giá trị sử dụng Một số phép tấn công thường được sử dụng như: nén, cắt, xoay, lọc, làm mờ, cân bằng sáng…Do dấu thủy vân bền vững (tồn tại) trước các sự tấn công nên nhóm các lược đồ này thường được sử dụng trong bài toán bảo vệ bản quyền hay xác định chủ sở hữu
Theo [10], ngoài thủy vân dễ vỡ và thủy vân bền vững, các lược đồ thủy vân có khả năng bền vững trước các phép tấn công nén, nhiễu, print, cân bằng sáng nhưng lại dễ vỡ với các phép tấn công copy/paste, co dãn thì được gọi là thủy vân bán dễ vỡ Một cách tổng quát, dấu thủy vân của lược đồ thủy vân bán dễ vỡ cần phải dễ thay đổi trước các phép tấn công nhằm thay đổi nội dung hay ý nghĩa của dữ liệu nhưng lại bền vững trước sự thay đổi định dạng
dữ liệu hoặc các lỗi đường truyền Các lược đồ thủy vân bán dễ vỡ thường sử dụng trong bài toán phát hiện sự giả mạo nội dung, xuyên tạc thông tin
1.2.3 Các ứng dụng của thuỷ vân với ảnh số
Các ứng dụng của thuỷ vân đối với ảnh số bao gồm các lĩnh vực như bảo
vệ bản quyền, xác thực ảnh và bảo toàn dữ liệu, giấu dữ liệu và gán nhãn ảnh,
ta sẽ lần lượt đề cập từng ứng dụng
a) Bảo vệ bản quyền
Mục đích của thuỷ vân với bảo vệ bản quyền là gắn một “dấu hiệu” vào
dữ liệu ảnh mà có thể xác định được người nắm giữ bản quyền Và ta cũng có thể gắn thêm một dấu hiệu khác gọi là vân tay để xác định người dùng của sản phẩm Dấu hiệu có thể là một dãy số như mã hàng hoá quốc tế, một message hoặc một logo… Thuật ngữ thuỷ vân xuất phát từ phương thức đánh dấu giấy
tờ với một logo từ thời xa xưa với mục đích tương tự
b) Xác thực ảnh và bảo toàn dữ liệu
Một ứng dụng khác của thuỷ vân là xác thực ảnh và phát hiện giả mạo Ảnh số ngày càng được sử dụng như các bằng chứng trước pháp luật ngày
Trang 19nay Vấn đề là cần xác thực được tính hợp pháp của ảnh này Thuỷ vân được
sử dụng ở đây để xác định xem ảnh là nguyên bản hay đã chịu tác động của con người, bằng các ứng dụng xử lý ảnh Thuỷ vân được dấu lúc đầu phải mang tính chất không bền vững, để bất kỳ sự thay đổi nhỏ nào tới ảnh cũng có thể làm hỏng thuỷ vân hoặc phát hiện được thay đổi đối với thuỷ vân này Tuy vậy, thuỷ vân vẫn phải tồn tại với các phép biến đổi ảnh thông thường
như chuyển đổi định dạng, lấy mẫu, nén…
c) Giấu dữ liệu và gán nhãn ảnh
Giấu dữ liệu là nhằm trao đổi dữ liệu bí mật thông qua một bức ảnh Điều này cho phép trao đổi thông tin mà không gây chú ý đối với người ngoài Khối lượng dữ liệu dấu được là quan trọng nhất đối với mục đích này
Còn gán nhãn ảnh là ứng dụng dùng để cung cấp thêm thông tin cho người dùng hoặc để phục hồi ảnh từ cơ sở dữ liệu
1.2.4 Một số tính chất của sơ đồ thủy vân
Tuỳ thuộc vào từng loại thuỷ vân số và ứng dụng của nó mà ta có các yêu cầu khác nhau đối với các phương pháp tạo thuỷ vân Ở đây chỉ đề cập đến yêu cầu đối với thuỷ vân số ẩn
Đối với loại thuỷ vân này, ba yêu cầu sau đây là cơ bản và cần thiết đối với các ứng dụng bảo vệ bản quyền:
Tính ẩn: Thứ nhất, thuỷ vân phải ẩn đối với trực giác của con người
(imperceptibility hay perceptual tranperancy), tức là con người phải không nhận biết được sự có mặt của thuỷ vân trong ảnh Điều này cũng có nghĩa là việc dấu thuỷ vân chỉ gây ra sự thay đổi rất nhỏ đối với ảnh, không ảnh hưởng đến chất lượng ảnh
Trang 20Tính bền vững: Yêu cầu thứ hai là thuỷ vân phải bền vững (robustness), thuỷ
vân phải có khả năng tồn tại cao với các tấn công có chủ đích và không có chủ đích Các tấn công không có chủ đích đối với ảnh số bao gồm như nén ảnh, lấy mẫu, lọc, chuyển đổi A/D và D/A … còn các tấn công có chủ đích có thể là việc xoá, thay đổi hoặc làm nhiễu thuỷ vân trong ảnh Để thực hiện được điều này, thuỷ vân phải được dấu trong các vùng quan trọng đối với trực giác (perceptual significant) Phương pháp thuỷ vân số phải đảm bảo sao cho việc không thể lấy lại thuỷ vân tương đương với việc ảnh đã bị biến đổi quá nhiều, không còn giá trị về thương mại
Khả năng mang tin cao: Với yêu cầu này, lượng tin cần thêm vào ảnh phải
đủ dùng trong ứng dụng mà không làm thay đổi quá nhiều chất lượng ảnh
Tuy vậy, việc làm tốt cả ba yêu cầu trên là một điều rất khó Để dấu thuỷ vân trong ảnh thì ta bắt buộc phải thay đổi dữ liệu ảnh Ta có thể tăng tính bền vững cho thuỷ vân bằng cách tăng lượng thay đổi ảnh cho mỗi đơn vị tin cần dấu Nhưng, nếu thay đổi quá nhiều thì tính ẩn không còn được đảm bảo nữa Còn nếu thay đổi ảnh quá ít thì các yếu tố dùng để xác định thuỷ vân trong ảnh sau các phép tấn công có thể không đủ để xác định thuỷ vân Nếu thông tin được dấu quá nhiều thì cũng dễ làm thay đổi chất lượng ảnh, và làm giảm tính bền vững Vì vậy, lượng thay đổi ảnh lớn nhất có thể chấp nhận và tính bền vững là hai nhân tố quyết định cho khối lượng tin được dấu trong ảnh Còn đối với các ứng dụng để phát hiện giả mạo ảnh gốc thì thuỷ vân nhúng vào phải có tính giòn (fragile) nghĩa là sẽ bị vỡ nếu chịu sự biến đổi mất thông tin Một cách thực hiện điều này mà vẫn đảm bảo tính ẩn của thuỷ vân là dấu nó vào các phần dữ liệu ít đáng chú ý về mặt trực giác (perceptual insignificant) Đối với ảnh, đó có thể là các bít thấp của các điểm ảnh (LSB)
Trang 21Loại thuỷ vân nửa giòn (semi-fragile) được dùng trong việc phân biệt các loại biến đổi mất thông tin đã được sử dụng: Biến đổi mất thông tin nhưng không thay đổi nội dung và biến đổi mất thông tin gây thay đổi nội dung Ví
dụ, với các ứng dụng xác thực thì cần có loại thuỷ vân phân biệt giữa các biến đổi mất thông tin như nén nhưng vẫn đảm bảo tính nguyên vẹn dữ liệu và biến đổi làm thay đổi tính toàn vẹn dữ liệu như các việc xử lý ảnh có mục đích Và yêu cầu đối với loại ứng dụng này là phải chỉ ra được vùng ảnh đã chịu các biến đổi đó
1.3 Ảnh số
Như đã biết, ảnh số thường được lượng tử từ ảnh liên tục (ảnh tự nhiên)
Do vậy, dữ liệu của ảnh số có sự tương quan cao Nói cách khác, các điểm
ảnh lân cận (liền kề) thường có giá trị xấp xỉ nhau
1.3.1 Phân loại ảnh
Trên phương diện toán học, ảnh số được xem như là một ma trận nguyên dương có hàng và cột, mỗi phần tử của ma trận đại diện cho một điểm ảnh Dựa theo màu sắc ta có thể chia ảnh số thành 3 dạng cơ bản như: ảnh nhi
phân, ảnh đa cấp xám và ảnh màu (true color)
- Ảnh nhị phân là ảnh chỉ có hai màu, một màu đại diện cho màu nền và màu còn lại cho đối tượng của ảnh Nếu hai màu là đen và trắng thì gọi là ảnh đen trắng Như vậy, ảnh nhị phân được xem như một ma trận nhị phân
- Ảnh đa cấp xám là ảnh có thể nhận tối đa 256 mức sáng khác nhau trong khoảng màu đen – màu trắng Như vậy, ảnh đa cấp xám xem như là ma trận không âm có giá trị tối đa 255
- Ảnh màu hay còn gọi là ảnh true color, mỗi điểm ảnh được biểu diễn bởi một số byte (thường 3 byte) đại diện cho 3 thành phần màu và Như
Trang 22vậy, ảnh màu có thể xem như 3 ma trận nguyên ứng với 3 thành phần màu của các điểm ảnh
Trong lĩnh vực giấu tin, mỗi dạng ảnh có những thuận lợi, khó khăn và cách tiếp cận riêng Tuy nhiên, một lược đồ giấu tin trên ảnh nhị phân ta có thể dễ dàng áp dụng cho ảnh đa cấp xám, hoặc ảnh màu thông qua tính chẵn
lẻ của giá trị điểm ảnh Nhưng từ lược đồ giấu tin trên ảnh màu hoặc ảnh đa cấp xám khó có thể áp dụng đối với ảnh nhị phân
1.3.2 Histogram của ảnh
Histogram là khái niệm cơ bản trong xử lý ảnh Histogram là bảng thống
kê tần số giá trị cường độ sáng của các điểm ảnh Đối với ảnh màu, cường độ sáng của một điểm ảnh được xác định theo công thức:
trong đó: là giá trị các thành phần màu và là cường độ sáng của điểm ảnh
Ví dụ: từ ảnh màu pepper ta có thể dễ dàng xác định được biểu đồ
histogram tương ứng như hình 1.5
Trang 23(a) ảnh pepper.bmp (b) Biểu đồ histogram
Hình 1.5 Biểu đồ histogram của ảnh màu Pepper
1.3.3 Chất lượng ảnh
Như đã đề cập ở trên, chất lượng ảnh chứa tin là một trong những yếu tố quan trọng trong giấu tin mật, đặc biệt là thủy vân số Chất lượng ảnh chứa tin
có thể được đánh giá bằng hệ số (Peak Signal-to-Noise Ratio) Lược
đồ có hệ số càng lớn thì chất lượng ảnh chứa tin càng cao Hệ số
của ảnh chứa tin so với ảnh gốc kích thước được tính theo
công thức:
trong đó, là giá trị cực đại của điểm ảnh và (Mean Square Error)
được xác định theo công thức:
Trang 24đối với ảnh màu, giá trị có thể chấp nhận được nếu thuộc khoảng từ 30
dB đến 50 dB
1.4 Một số lược đồ giấu tin trên ảnh nhị phân
Các lược đồ giấu tin trên ảnh nhị phân có vai trò quan trọng Bởi, một thuật toán sử dụng ảnh nhị phân tốt thì áp dụng trên các loại dữ liệu khác sẽ tốt Theo các tài liệu nghiên cứu, lược đồ giấu tin Wu-Lee là phương pháp tiếp cận theo khối và là một trong những phương pháp đầu tiên áp dụng trên ảnh nhị phân Dựa trên tư tưởng Wu-Lee [15], các tác giả trong [16] (THA)
đề xuất lược đồ giấu tin có khả năng nhúng cao Nội dung phần này trình bày tóm tắt hai phương pháp trên
1.4.1 Lược đồ giấu tin Wu-Lee
Thuật toán này của hai tác giả M.Y Wu và J.H.Lee đưa ra bằng việc đưa thêm khóa K sử dụng trong quá trình nhúng và tách thủy vân đồng thời đưa thêm các điều kiện đảo bit trong mỗi khối Với thuật toán này, có thể nhúng một bít vào mỗi khối bằng cách hiệu chỉnh nhiều nhất 1 bít của khối Kỹ thuật này có khả năng làm tăng dữ liệu có thể nhúng
Xét ảnh gốc F, khóa bí mật K và một số dữ liệu được nhúng vào F Khóa
bí mật K là một ma trận ảnh có kích thước Để đơn giản ta giả sử
kích thước của ảnh gốc F là bội số của Quá trình nhúng thu được
ảnh F có một số bit đã bị hiệu chỉnh Thuật toán thực hiện như sau:
Ký hiệu Bm*n là ma trận nhị phân
Trang 25Input
- m, n là kích thước của ma trận gồm m hàng và n cột, giá trị m, n được giữ bí mật
- F B m*n và là ma trận môi trường để giấu tin
- F B m*n là ma trận khóa và giá trị của ma trận K phải được giữ bí mật
- b là bít nhị phân cần giấu ( b=0 hoặc b=1)
Output
Nếu thuật toán thực hiện thành công, thì kết quả thu được là ma trận G ( G
B m*n ) được biến đổi tối đa một phần tử từ ma trận F và G thỏa mãn hai bất biến sau:
+ 0< SUM(G K) < SUM(K) (1.1)
Theo đầu ra của thuật toán, khi nhận được G để kiểm tra ma trận G có giấu thông tin hay không chúng ta sẽ cần phải kiểm tra G có thỏa mãn bất biết (1.1) hay không Với bất biến (1.2) thì quá trình giải mã thông tin trong ma trận G có thể dễ dàng xác định được G chứa giá trị bit đã giấu bằng 0 hay bằng 1 theo (1.3)
Nội dung thuật toán:
Bước 1: Đặt s = SUM(F K)
Xét các trường hợp sau:
Trang 26Nếu 0 < s < SUM(K) đến Bước 2
Bước 2: Xét các trường hợp sau
Trang 27Thì khối ảnh G có chứa một bít tin mật Và việc khôi phục bít tin mật khi biết ma trận khóa bí mật K được thực biện theo công thức:
Như vậy, theo thuật toán Wu-Lee, mỗi khối gồm điểm ảnh, thuật toán có thể nhúng 1 bít bằng cách thay đổi tối đa một phần tử của khối Tính bảo mật của thuật toán Wu-Lee là Dựa trên ý tưởng này, trong [6] trình bày lược đồ giấu tin trên ảnh nhị phân (THA) có khả năng nhúng và tính bảo mật cao hơn so với lược đồ Wu-Lee
Ví dụ minh hoạ:
Giả sử ta cần giấu dãy bit b1b2b3 = 011 vào một ảnh kích thước 6x6 với
ma trận khóa K có kích thước 3 như trong hình vẽ Ta chia ảnh F thành 4 khối ảnh nhỏ với mỗi khối kích thước là 3 ta thu được F1, F2, F3, F4
Trang 28Ki,j = 1 Giả sử ta chọn phần tử (1,2) kết quả sẽ thu được như G1
- Vì SUM(F2 K) = 0 nên khối F2 sẽ không được dùng để giấu dữ liệu do vậy G2 = F2
- Với F3, do F3 thoả mãn điều kiện 0< SUM(F3 K) = 3 < SUM(K), nên thuật toán sẽ thực hiện giấu b2 vào F3 Trong trường hợp này, ta thấy SUM(F3 K) mod 2 = 1 = b2 nên không cần biến đổi F3 và G3 bằng F3
- Với F4, 0< SUM(F4 K) = 4 <SUM(K) nên thuật toán sẽ thực hiện giấu bit b3 = 1 vào khối F4 bằng cách biến đổi F4 thành G4 thoả mãn tính chất (2) và (3) Do SUM(F4 K) = SUM(K) -1 nên chúng ta chọn ngẫu nhiên phần tử (i,j) mà F4(i,j) = 1 mà Ki,j = 1 và thay đổi F4(i,j) = 0 Giả sử ta chọn phần tử (3,3) kết quả sẽ thu được như G4
Trang 29Một số nhận xét về thuật toán Wu-Lee:
Thứ nhất: ảnh môi trường để thực hiện giấu thông tin cũng phải được chọn kỹ càng Nếu một ảnh có quá nhiều điểm trắng (hoặc đen) thì tỉ lệ bit giấu được sẽ rất thấp
Thứ hai: Vì trong mỗi ma trận điểm ảnh F thuật toán chỉ biến đổi tối đa
là một phần tử (từ 1 thành 0 hoặc từ 0 thành 1), do vậy nếu chọn m, n đủ lớn thì sự thay đổi này khó có thể nhận biết bằng mắt thường nhưng khả năng giấu của thuật toán lại giảm đáng kể
Thứ ba: Khi cần biến đổi ma trận F, thuật toán luôn thay đổi ngẫu nhiên một phần tử Fi,j ứng với Ki,j=1 Do vậy, trong một số trường hợp ảnh sau khi được giấu tin sẽ xuất hiện những điểm khác biệt so với ảnh gốc và dễ dàng phân biệt được bằng mắt thường Do đó, để tăng tính che giấu cho thuật toán chúng ta nên chọn phần tử (i,j) có định hướng theo một tiêu chí nào đó
Xét ví dụ giấu bit 0 vào ma trận có kích thước với các giá trị cụ thể như sau:
Trang 301.4.2 Lược đồ giấu tin THA
Dựa trên ý tưởng của lược đồ , trong [16] đề xuất lược đồ giấu tin trên ảnh nhị phân Lược đồ có một số ưu điểm:
- Tốc độ thực hiện nhanh, đơn giản
- Tính bảo mật, tính che giấu cao hơn
trận điểm ảnh nhưng chỉ thay đổi nhiều nhất 1 phần tử Nội dung thuật toán nhúng tin trên một khối như sau:
Để nhúng dãy bít vào khối điểm ảnh thuật toán sử dụng hai khóa bí mật và Trong đó:
là ma trận thỏa mãn điều kiện
kết thúc thuật toán nhận được khối điểm ảnh khác khối ảnh gốc tối đa 1 phần tử Khối ảnh luôn thỏa mãn điều kiện:
Trang 31Thuâ ̣t toán:
Bước 1:
Nếu , đă ̣t và kết thúc thuâ ̣t toán
Nếu , chuyển sang Bướ c 2
Bước 2:
Tính
Chọn mô ̣t phần tử
Đảo phần tử
Đă ̣t và kết thúc thuâ ̣t toán
Nhâ ̣n xét: Trong thuâ ̣t toán trên, là mô ̣t số nguyên từ 1 đến Do đó, Bước 2 luôn thực hiện được vì:
Ta nhận thấy ma trâ ̣n trong Thuâ ̣t toán nhúng dãy bít trên một khối đươ ̣c xác đi ̣nh từ và Vì vâ ̣y, ta có thể xem Thuâ ̣t toán 1 như mô ̣t phép biến đổi từ đến :
Trang 33Như vậy, thuật toán đã khôi phục chính xác dãy bít b=101 đã nhúng vào F trong thuật toán nhúng
Chương này, đã trình bày tổng quan một số vấn đề về giấu tin và thuỷ vân số, phân loại ảnh số và một số lược đồ giấu tin, những nội dung này sẽ là
cơ sở cho việc nghiên cứu giải pháp và xây dựng ứng dụng trong các chương tiếp theo
Trang 34CHƯƠNG 2
HÊ ̣ MẬT MÃ DỰA TRÊN ĐỊNH DANH
2.1 Tổng quan mật mã dựa trên định danh
2.1.1 Khái niệm mật mã dựa trên định danh
IBE (Indetity Base Encryption) là một công nghệ mã hoá khoá công khai, cho phép một người sử dụng tính khoá công khai từ một chuỗi bất kỳ Chuỗi này như là biểu diễn định danh của dạng nào đó và được sử dụng không chỉ như là một định danh để tính khoá công khai, mà còn có thể chứa thông tin về thời hạn hợp lệ của khoá để tránh cho một người sử dụng dùng mãi một khoá IBE hoặc để đảm bảo rằng người sử dụng sẽ nhận được các khóa khác nhau từ các hệ thống IBE khác nhau Trong chuỗi này có chứa thông tin là duy nhất đối với mỗi cài đặt IBE cụ thể, chẳng hạn như URL mà định danh máy chủ được sử dụng trong cài đặt của các hệ thống IBE khác nhau Khả năng tính được các khoá như mong muốn làm cho các hệ thống IBE có các tính chất khác với các tính chất của các hệ thống khoá công khai truyền thống, những tính chất này tạo ra các ưu thế thực hành đáng kể trong nhiều tình huống Bởi vậy, có một số ít tình huống không thể giải quyết bài toán bất kỳ với các công nghệ khoá công khai truyền thống, nhưng lại có thể giải quyết được với IBE và sử dụng IBE có thể đơn giản hơn nhiều về cài đặt
và ít tốn kém hơn về nguồn lực để hỗ trợ
2.1.2 Ưu thế IBE trong các ứng dụng thực tế
IBE cho phép người sử dụng giao tiếp an toàn, có thể xác minh chữ ký
dễ dàng mà không cần trao đổi các mã khóa công khai hoặc khóa riêng Không cần lưu giữ bí mật các thư mục quan trọng, cũng như không cần sử dụng dịch vụ của bên thứ ba Lược đồ đặt giả thiết về sự tồn tại đáng tin cậy của các trung tâm tạo mã nhằm cung cấp cho mỗi người dùng một thẻ thông
Trang 35minh cá nhân khi lần đầu tiên tham gia hệ thống Các thông tin nhúng trong thẻ này cho phép người dùng đăng ký và mã hóa các tin nhắn gửi đi, giải mã
và xác minh các thông báo nhận được trong điều kiện hoàn toàn riêng tư, không lệ thuộc vào phía đối tác bên kia Thẻ phát hành trước đó không cần cập nhật khi người dùng mới tham gia mạng lưới, bên cạnh đó, các trung tâm khác nhau cũng không nhất thiết phải các công đoạn sau đó, hay thậm chí thiết lập thêm một danh sách người dùng Họ hoàn toàn có thể xong nhiệm vụ ngay khi tất cả các thẻ đã được phát hành, còn người sử dụng cứ tiếp tục hoạt động bình thường trong phạm vi thời gian không xác định
IBE là giải pháp lý tưởng cho nhóm khách hàng cao cấp bí mật như giám đốc điều hành ở các công ty đa quốc gia hoặc các chi nhánh của một ngân hàng lớn IBE cũng duy trì tính thiết thực trên phạm vi toàn quốc với hàng trăm hệ thống tạo khóa cùng với hàng triệu người dùng Đây sẽ là một tiền đề cho sản phẩm thẻ nhận dạng tiện dụng mới mà mọi người có thể sử dụng trong việc ký séc, quẹt thẻ tín dụng, văn bản pháp luật và thư điện tử
IBE dựa trên một hệ thống mã khóa công khai Thay vì tạo ra một cặp khóa công khai/bí mật ngẫu nhiên rồi công bố một trong hai, người dùng bây giờ chỉ cần chọn tên và địa chỉ mạng như một mã khóa công khai của mình
Hệ thống chấp nhận bất kỳ sự kết hợp sử dụng nào như tên, số an sinh xã hội, địa chỉ đường phố, số văn phòng hoặc số điện thoại (tùy thuộc vào ngữ cảnh) với điều kiện là chỉ được phép xác định cho duy nhất một người, đề phòng có
sự phủ nhận hay tranh chấp sau này Trong khi đó, mã khóa bí mật tương ứng được định hình bởi trung tâm tạo mã và sẽ cấp cho người sử dụng các hình thức thẻ thông minh khi lần đầu tiên tham gia mạng lưới Thẻ có chứa một bộ
vi xử lý, một cổng 1/0, một bộ nhớ RAM, ROM với khóa bí mật, các chương trình để mã hóa/giải mã tin nhắn và hệ chữ ký xác minh
Trang 36Lược đồ cũng dựa trên nhận dạng của hệ thống thư điện tử: nếu bạn biết tên và địa chỉ của ai đó, bạn có thể gửi tin nhắn mà chỉ người đó mới có thể đọc, hoặc bạn có thể xác minh chữ ký mà chỉ người đó mới có thể làm ra Điều này khiến cho việc thông tin liên lạc trở nên rõ ràng và dễ sử dụng, ngay
cả đối với người không có kiến thức về mật khẩu mã hóa Cụ thể: khi người dùng A muốn gửi một thông điệp tới người B, anh ta đặt thông điệp cùng với
từ khóa bí mật vào trong thẻ thông minh của mình, mã hóa kết quả bằng cách
sử dụng tên và địa chỉ của người B, cho biết thêm tên riêng và địa chỉ của mình vào tin nhắn, rồi gửi nó đến B Khi B nhận được thông báo, anh ta sẽ giải mã nó bằng cách sử dụng từ khóa bí mật trong thẻ thông minh của mình, sau đó xác minh chữ ký bằng cách sử dụng tên và địa chỉ của người gửi
Lược đồ kết hợp hiệu quả tin nhắn với thông tin nhận diện cá nhân và hiệu quả sở hữu của người sử dụng với thẻ của mình Giống như bất kì cơ quan nào liên quan đến Chứng minh thư hoặc ID Cards, trung tâm phải rà soát
và sàng lọc cẩn thận toàn bộ các thẻ để tránh những sai lệch, thất lạc và phải bảo vệ cẩn thận con dấu của mình tránh những hình thức giả mạo, làm nhái Người sử dụng có thể tự bảo vệ bản thân mình không bị sử dụng thẻ trái phép thông qua một hệ thống mật khẩu hoặc ghi nhớ từ khóa
2.1.3 Hệ thống nhận dạng IBE
Các trung tâm tạo mã có đặc quyền được biết một số thông tin bí mật cho phép tính toán ra từ khóa bí mật của tất cả người dùng trong mạng Các từ khóa này tốt hơn là nên tính toán bởi một trung tâm tạo mã thay vì người sử dụng, vì như vậy sẽ tránh được yếu tố đặc biệt về nhận dạng của người dùng
Ví dụ như: nếu người A có thể tính được từ khóa bí mật tương ứng với khóa công khai "A" thì anh ta cũng có thể tính được từ khóa bí mật tương ứng với khóa công khai "B", "C", v v, và do đó, chương trình này sẽ không còn an toàn như vốn thế nữa
Trang 37Một cách tổng quan, hệ thống bảo mật IBE phụ thuộc vào những vấn
đề sau đây:
A Bảo mật của chức năng mã hóa cơ bản
B Lưu trữ và giữ bí mật tuyệt đối các thông tin cá nhân tại trung tâm tạo mã
C Kiểm tra triệt để danh tính khách hàng trước khi cấp phát hành thẻ cho người dùng
D Các biện pháp phòng ngừa được thực hiện bởi người sử dụng để ngăn chặn sự mất mát, sao chép, hoặc sử dụng trái phép thẻ của họ
Sự khác biệt giữa “mã khóa riêng”, “mã khóa công khai” và “hệ thống bảo mật nhận dạng” được tổng hợp trong hình 3.1 Trong tất cả những phương thức trên, đoạn tin nhắn m được mã hóa dùng key Ke, sau đó được truyền dưới dạng mã hóa text (c) thông qua các kênh tiếp xúc, và giải mã bằng key Kd Cách chọn key được dựa trên một seed k Trong phương thức
“mã khóa cá nhân”, Ke = Kd = k, và hai đầu kênh thông tin phải đảm bảo được tính bảo mật và xác thực của khóa k Trong phương thức “mã khóa công khai”, khóa dùng trong việc mã hóa và giải mã được tính toán dựa trên hai hàm Ke = Fe(k) va Kd = Fd(k), và khóa chỉ cần được truyền qua một đường bảo đảm nguồn gốc xác thực của khóa Trong phương thức “hệ thống bảo mật nhận dạng) (dựa trên nhận dạng của người gửi hay nhận), khóa dùng trong việc mã hóa được xác định dựa vào _i_ và _k_ trên hàm Kd = F(i,k) Ở phương thức này, không cần chuyển giao key giữa người dùng; quá trình này được thay thế bởi một động tác duy nhất là “tạo khóa” khi người nhận mới tham gia vào hệ thống
Phương thức “mã khóa công khai” và “chữ ký nhận dạng” là hình thức mã hóa tương tự như hệ thống mã hóa được thể hiện trong hình 3.2 Tin _m_