Đăng ký Đăng nhập
Trang chủ Giấu tin trong ảnh dựa trên ma trận tần số...

Tài liệu Giấu tin trong ảnh dựa trên ma trận tần số

.DOC
84
116
116

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG PHẠM VĂN THANH GIẤU TIN TRONG ẢNH DỰA TRÊN MA TRẬN TẦN SỐ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - Năm 2011 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG PHẠM VĂN THANH GIẤU TIN TRONG ẢNH DỰA TRÊN MA TRẬN TẦN SỐ 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 HƢỚNG DẪN KHOA HỌC: PGS.TSKH NGUYỄN XUÂN HUY Thái Nguyên - Năm 2011 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận văn, những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Thái Nguyên, ngày 15 tháng 11 năm 2011 Phạm Văn Thanh LỜI CẢM ƠN Lời đầu tiên, tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo PGS -TSKH Nguyễn Xuân Huy - Viện Công nghệ Thông tin - Viện Khoa học Việt Nam, ngƣời đã tận tình hƣớng dẫn, chỉ bảo và giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luậ n văn này. Tôi xin chân thành cảm ơn các thầy cô giáo trƣờng Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên đã giảng dạy và cung cấp cho chúng tôi những kiến thức rất bổ ích trong thời gian học cao học, giúp tôi có nền tảng tri thức để phục vụ nghiên cứu khoa học sau này. Tôi cũng xin cảm ơn Lãnh đạo và đồng nghiệp tại đơn vị đã tạo điều kiện và giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn. Tôi cũng xin bày tỏ lòng cảm ơn đến gia đình và bạn bè, những ngƣời luôn quan tâm, động viên và khuyến khích tôi trong quá trình học tập. Thái Nguyên, ngày 15tháng 11 năm 2011 Học viên Phạm Văn Thanh i MỤC LỤC Trang Trang phụ bìa Lời cam đoan Lời cảm ơn Mục lục........................................................................................................................ i Danh mục các ký hiệu, các chữ viết tắt..................................................................... iii Danh mục các hình .................................................................................................... iv MỞ ĐẦU ............................................................................................................................... 1 CHƢƠNG 1. KHÁI QUÁT VỀ MÃ HÓA VÀ GIẤU TIN MẬT ........................................ 3 1.1 Mã hóa thông tin .......................................................................................................... 3 1.1.1 Các khái niệm cơ bản ........................................................................................... 3 1.1.2 Phân loại các hệ mật mã....................................................................................... 4 1.2 Giấu tin mật ............................................................................................................... 14 1.2.1 Các khái niệm cơ bản ......................................................................................... 14 1.2.2 Mô hình giấu tin.................................................................................................. 17 1.2.3 Tính chất của giấu tin mật .................................................................................. 18 1.2.4 Ứng dụng của giấu tin mật ................................................................................. 20 1.2.5 Kỹ thuật tấn công hệ giấu tin mật ....................................................................... 21 1.3 Kết chƣơng................................................................................................................. 22 CHƢƠNG 2. GIẤU TIN MẬT TRONG ẢNH SỐ ............................................................. 23 2.1 Ảnh số ........................................................................................................................ 23 2.1.1 Biểu diễn ảnh số.................................................................................................. 23 2.1.2 Các tham số chính của ảnh số ............................................................................ 26 2.1.3 Nén ảnh ............................................................................................................... 27 2.2 Giấu tin mật trong ảnh số........................................................................................... 35 2.2.1 Giấu tin mật trong ảnh đen trắng ....................................................................... 36 2.2.2 Giấu tin trong ảnh màu....................................................................................... 40 2.3 Giấu tin trong ảnh dựa trên miền tần số.................................................................... 44 2.3.1 Biến đổi DCT thuận và nghịch ........................................................................... 44 2.3.2 Đặc điểm của phép biến đổi DCT trên ảnh hai chiều ........................................ 44 2.3.3 Một số giải thuật giấu tin trong ảnh JPEG ........................................................ 45 ii 2.4 Kết chƣơng................................................................................................................. 59 CHƢƠNG 3. CHƢƠNG TRÌNH GIẤU TIN TRONG ẢNH JPEG ................................... 61 3.1 Mục đích, yêu cầu ...................................................................................................... 61 3.2 Giải pháp .................................................................................................................... 61 3.3 Xây dựng và cài đặt chƣơng trình.............................................................................. 63 3.3.1 Xây dựng cơ sở dữ liệu ảnh mang ...................................................................... 63 3.3.2 Lựa chọn kỹ thuật nén......................................................................................... 63 3.3.3 Lựa chọn phương pháp mã hoá .......................................................................... 63 3.3.4 Lựa chọn giải thuật giấu tin ............................................................................... 64 3.3.5 Lựa chọn môi trường xây dựng........................................................................... 64 3.3.6 Thiết kế và cài đặt chương trình ......................................................................... 65 3.3.7 Hạn chế và đề xuất.............................................................................................. 71 3.4 Kết chƣơng................................................................................................................. 71 KẾT LUẬN.......................................................................................................................... 72 TÀI LIỆU THAM KHẢO ................................................................................................... 73 7 DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN AES Hệ mật mã tiên tiến (Advanced Encryption Standard) DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform) DES Hệ mật mã chuẩn (Data Encryption Standard) DFT Biến đổi Fourier rời rạc (Discrete Fourier Transform) DPCM Điều xung mã vi phân (Differized Pulse Code Modulation) ECC Hệ mã hóa đƣờng cong Ellip (Elliptic Curve Cryptography) HVS Hệ thống thị giác của con ngƣời (Human Visual System) JPEG Chuẩn nén ảnh của ủy ban JPEG quốc tế (Joint Photographic Experts Group) LZW Một phƣơng pháp nén (Lempel - Zip và Welch) PCM Điều biên mã xung (Pulse Code Modulation) RLE Mã hóa loạt dài (Run Length Encoding) RSA Mã hóa công khai RSA (Ron Rivest, Adi Shamir và Len Adleman) DANH MỤC CÁC HÌNH Trang Hình 1.1 Quá trình mã hoá và giải mã ................................................................................... 4 Hình 1.2 Mô hình hệ thống mật mã đối xứng........................................................................ 6 Hình 1.3 Mô hình hệ thống mật mã bất đối xứng .................................................................. 9 Hình 1.4.a Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên gửi) ........................... 12 Hình 1.4.b Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên nhận) ........................ 13 Hình 1.5 Mô hình phân loại các kỹ thuật giấu tin................................................................ 16 Hình 1.6 Mô hình của quá trình giấu tin .............................................................................. 18 Hình 1.7 Mô hình của quá trình giải mã tin giấu ................................................................. 18 Hình 2.1 Mô hình màu RGB................................................................................................ 24 Hình 2.2 Mô hình màu YUV ............................................................................................... 25 Hình 2.3 Mô hình dòng ảnh biểu diễn dƣới dạng sóng ...................................................... 29 Hình 2.4 Mô hình tạo ra sóng vuông ................................................................................... 29 Hình 2.5 Mô hình chuyển đổi giữa miền thời gian và miền tần số...................................... 30 Hình 2.6 Mô hình nén ảnh JPEG ......................................................................................... 33 Hình 2.7 Thí dụ minh họa thuật toán Wu-Lee ..................................................................... 39 Hình 2.8 Mô hình phân bố của các hệ số tần số của ảnh JPEG sau khi lƣợng tử hóa ......... 46 Hình 2.9 Mô hình giấu thông tin Jsteg với 50% dung lƣợng............................................... 48 Hình 2.10 Mô hình phân bố của các hệ số tần số sử dụng giải thuật F3 ............................. 50 Hình 2.11 Mô hình phân bố của các hệ số tần số sử dụng giải thuật F4 ............................. 51 Hình 2.12 Đoạn mã nguồn bằng Java sử dụng giải thuật F4 ............................................... 52 Hình 3.1 Mô hình giấu tin của chƣơng trình ....................................................................... 62 Hình 3.2 Giao diện chính của chƣơng trình ......................................................................... 68 Hình 3.3 Giao diện giấu tin mật........................................................................................... 69 Hình 3.4 Giao diện tách tin mật ........................................................................................... 70 Hình 3.5 Giao diện trợ giúp ................................................................................................. 70 9 MỞ ĐẦU Chúng ta đang sống trong xã hội thông tin. Đã có truyền tin thì thƣờng có yêu cầu bí mật quốc gia, có bí mật quân sự, có bí mật công nghệ, có bí mật kinh tế, và rất nhiều bí mật cá nhân nữa. Chính vì vậy, vấn đề an toàn và bảo mật thông tin luôn nhận đƣợc sự quan tâm của nhiều lĩnh vực. Các công nghệ và giải pháp để bảo vệ thông tin đã và đang đƣợc nghiên cứu, phát triển phù hợp với nhiều dạng lƣu trữ các thông tin và phƣơng thức truyền tải thông tin. Giải pháp bảo mật thông tin đƣợc sử dụng phổ biến nhất là dùng các hệ mật mã nhƣ: Hệ mã hoá công khai, hệ mã hoá bí mật. Với giải pháp này, thông tin ban đầu sẽ đƣợc mã hoá thành bản mật mã. Một phƣơng pháp khác đã và đang đƣợc nghiên cứu, ứng dụng rất mạnh mẽ ở nhiều lĩnh vực đó là phƣơng pháp giấu tin mật (Steganography). Nhiều cách thức giấu tin mật đã đƣợc nghiên cứu và ứng dụng, trên nhiều định dạng khác nhau nhƣ âm thanh, hình ảnh và video…Cả hai phƣơng pháp trên đều có những ƣu, nhƣợc điểm nhất định. Mã hoá giúp che giấu nội dung thông tin, giấu tin mật giúp che giấu hoạt động trao đổi thông tin. Trên thực tế, để đảm bảo an toàn cho các kênh trao đổi thông tin bí mật ta cần phải kết hợp cả hai phƣơng pháp này. Trong phạm vi luận văn này sẽ tập trung tìm hiểu một số nội dung cơ bản của mã hoá thông tin và các kỹ thuật giấu tin trong ảnh đã đƣợc công bố, sau đó xây dựng chƣơng trình giấu tin trong ảnh có kết hợp mã hóa thông tin phục vụ cho quá trình trao đổi thông tin bí mật. Luận văn gồm 3 chƣơng, cụ thể nhƣ sau: Chƣơng 1: Khái quát về mã hóa và giấu tin mật. Chƣơng này tìm hiểu tổng quan về các kỹ thuật mã hoá thông tin và giấu tin mật. Nội dung đề cập là các khái niệm cơ bản, tính chất, đặc điểm, ứng dụng và một số vấn đề có liên quan của các kỹ thuật này. Chƣơng 2. Giấu tin mật trong ảnh số. Để có thể thực hiện các kỹ thuật mã hoá và giấu tin mật trong môi trƣờng đa phƣơng tiện thì vấn đề đặt ra là cần tìm hiểu cấu trúc, đặc điểm và tính chất của các định dạng trong môi trƣờng đa phƣơng tiện. Chƣơng này tập trung trình bày các khái niệm cơ bản, đặc điểm, tính chất và các kỹ thuật nén đƣợc áp dụng đối với ảnh số, đặc biệt là ảnh JPEG và một số phƣơng pháp giấu tin mật trong ảnh dựa trên miền tần số. Chƣơng 3: Chƣơng trình giấu tin trong ảnh JPEG. Chƣơng này sẽ trình bày cách sử dụng giải thuật giấu tin F5 dùng mã ma trận để xây dựng và cài đặt chƣơng trình giấu tin trong ảnh JPEG có kết hợp nén và mã hoá thông tin. Đồng thời này cũng đề xuất giải pháp giúp cho việc xây dựng ứng dụng giấu tin mật, đảm bảo bí mật và an toàn cho liên lạc bí mật cho nhiều lĩnh vực. CHƢƠNG 1 KHÁI QUÁT VỀ MÃ HÓA VÀ GIẤU TIN MẬT 1.1 Mã hóa thông tin 1.1.1 Các khái niệm cơ bản - Khái niệm mật mã Theo nghĩa hẹp, ―mật mã‖ chủ yếu dùng để bảo mật dữ liệu, ngƣời ta quan niệm: Mật mã học là khoa học nghiên cứu mật mã, bao gồm: Tạo mã và phân tích mã. Phân tích mã là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật của nó hoặc phá vỡ sự bí mật của nó. Phân tích mã còn gọi là thám mã. Theo nghĩa rộng, ―mật mã‖ là một trong những công cụ hiệu quả bảo đảm an toàn thông tin nói chung: bảo mật, bảo toàn, xác thực, chống chối cãi,… Luận văn này trình bày các khái niệm thƣờng dùng trong ngành mật mã học. - Khái niệm mã hoá thông tin [8] + Mã hóa là quá trình chuyển thông tin có thể đọc đƣợc (gọi là Bản rõ) thành thông tin ―khó‖ thể đọc đƣợc theo cách thông thƣờng (gọi là Bản mã). Đây là một trong những kỹ thuật để bảo mật thông tin. + Giải mã là quá trình chuyển thông tin ngƣợc lại, từ Bản mã thành Bản rõ. + Thuật toán mã hóa hay giải mã là thủ tục tính toán để mã hóa hay giải mã + Khóa mật mã (cryptographic key) là thành phần quan trọng trong thuật toán mật mã. Khóa mật mã có thể ví nhƣ chìa của một ổ khóa. Ta có thể lắp đƣợc rất nhiều chìa (có cùng chiều dài, chiều rộng, kích thƣớc rãnh...) vào một ổ khóa nhƣng chỉ chìa nào có các răng cƣa thích hợp mới có thể mở đƣợc ổ khóa. Tƣơng tự, mỗi thuật toán mật mã cần một khóa mật mã có chiều dài (dung lƣợng tính bằng bit) chính xác. Ta có thể thực thi một thuật toán mật mã với một khóa mật mã bất kỳ có chiều dài nhƣ yêu cầu nhƣng chỉ duy nhất khóa mật mã có cách sắp xếp các bit phù hợp mới có thể mã hóa hoặc giải mã văn bản. Phạm vi giá trị có thể có của khóa đƣợc gọi là Không gian khóa + Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng nhƣ làm cho rõ nó. Hệ mã hoá đƣợc định nghĩa là bộ năm (P, C, K, E, D), trong đó: - P: là tập hữu hạn các bản rõ có thể. - C: tập hữu hạn các bản mã có thể. - K: tập hữu hạn các khoá có thể. - E: tập các hàm lập mã. - D: tập các hàm giải mã. Với khoá lập mã ke  K, có hàm lập mã eke  E, eke: P → C. Với khoá giải mã kd  K, có hàm giải mã dkd  D, dkd: C→P, sao cho dkd(eke(T))= T, Với mọi T  P. Ở đây T đƣợc gọi là Bản rõ, Cm = eke(T) đƣợc gọi là Bản mã. Quá trình mã hóa và giải mã: abcd T- Bản rõ E -Mã hóa Ke - Khóa mã #$%^ Cm- Bản mã D- Giải mã Kd - Khóa giải mã abcd T- Bản rõ Hình 1.1 Quá trình mã hoá và giải mã Ngƣời gửi tin G muốn gửi bản tin T cho ngƣời nhận N. Để đảm báo bí mật, G mã hoá bản tin bằng khoá lập mã ke, nhận đƣợc bản mã Cm = eke(T), sau đó gửi bản mã Cm cho N. Tin tặc có thể trộm bản mã Cm nhƣng cũng ―khó‖ để hiểu đƣợc bản tin gốc T nếu không có khoá giải mã kd. Ngƣời nhận N nhận đƣợc bản mã Cm, họ dùng khoá giải mã kd để giải mã và nhận đƣợc bản tin gốc T = dkd(Cm) = dkd(eke(T)). 1.1.2 Phân loại các hệ mật mã Có 2 loại thuật toán mật mã chính là mật mã đối xứng (symmetric cryptography) và mật mã bất đối xứng (asymmetric cryptography). - Mật mã đối xứng ( hay còn gọi là hệ mã hóa khóa bí mật) đã đƣợc sử dụng từ rất lâu đời. Căn cứ các dữ liệu khảo cổ, ngƣời ta tin rằng ngƣời Ai Cập cổ đã biết dùng loại mật mã này. Trong hệ thống mật mã đối xứng, quá trình mã hóa và giải mã một thông điệp sử dụng cùng một khóa mật mã gọi là khóa bí mật (secret key) hay khóa đối xứng (symmetric key). Do đó, vấn đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào việc giữ bí mật nội dung của khóa mật mã đã đƣợc sử dụng. Khóa mật mã dùng trong mật mã đối xứng thực chất là một chuỗi (chiều dài xác định) các bit đƣợc sắp xếp ngẫu nhiên. Nếu thuật toán đối xứng dùng mã hóa đối xứng 40 bit thì dung lƣợng khóa mật mã là 40 bit. Khóa mật mã dung lƣợng 128 bit đƣợc dùng cho mã hóa đối xứng 128 bit...Một chuỗi 40 bit sẽ có thể cho ta 2 lũy thừa 40 khóa mật mã hay 1.1E12 khóa mật mã, tức là có hơn 1.000 tỷ khóa mật mã. Một chuỗi 60 bit sẽ có thể cho ta 2 lũy thừa 60 khóa mật mã hay 1.8E19 khóa mật mã, tức là có gần 20 tỷ tỷ khóa mật mã. Hiện nay, khóa mật mã đối xứng chuẩn có chiều dài 128 bit. Vậy ta có thể có 3.4E38 khóa mật mã, tức là có hơn 340 tỷ tỷ tỷ tỷ khóa mật mã. Thuật toán mật mã đối xứng dùng một khóa mật mã cho 2 quá trình mã hóa và giải mã. Mật mã đối xứng lại có thể đƣợc chia thành 2 hình thức: block cipher và stream cipher.[2] Block cipher: Block cipher chia thông tin thành những đoạn ngắn có chiều dài cố định (thƣờng là 64 bit) và mã hóa từng đoạn này. Một số thuật toán block cipher: DES, 3-DES, RC2, RC5, RC6 và Rijndaen (còn đƣợc gọi là AES). Thuật toán DES (Data Encryption Standard) phổ biến nhất và là thuật toán tiêu biểu cho mật mã đối xứng, đƣợc IBM phát triển vào cuối thập niên 1970. DES chia thông tin thành chuỗi 64 bit và mã hóa bằng khóa mật mã 56 bit. Do sự gia tăng mạnh mẽ năng lực của máy tính, khóa mật mã 56 bit hiện nay trở nên thiếu an toàn nếu bị tấn công brute-force. 3-DES (viết tắt của Triple DES) đƣợc phát triển để lấp yếu điểm này bằng cách mã hóa 3 lần hoặc phối hợp 3 phép toán. Các thuật toán họ RC đƣợc phát triển bởi Ron Rivest (chữ R trong RSA). RC là từ viết tắt của Ron's Code hoặc Rivest Cipher. RC2 đƣợc phát triển để thay thế cho DES và có tốc độ nhanh gấp đôi DES. RC5 mã hóa chuỗi dữ liệu 64 hoặc 128 bit và có thể sử dụng nhiều chiều dài khóa mật mã, tối đa đến 2.048 bit. RC6 đƣợc phát triển trên cơ sở RC5, mã hóa chuỗi 128 bit với khóa mật mã 128 bit. RC6 cũng nhằm thay thế cho DES và có thể đƣợc xem là thuật toán cuối cùng trong thế hệ đầu của các chuẩn thuật toán mật mã đối xứng. Thế hệ kế tiếp của các chuẩn mã đối xứng đƣợc gọi chung là AES - Advanced Encryption Standard - dùng khóa mật mã 128 bit có ƣu thế vƣợt trội so với RC6. Thuật toán AES mạnh nhất là Rijindael do 2 ngƣời Bỉ đề xƣớng: Daemen và Rijmen. Một số thuật toán AES mới nhất gồm MARS (IBM), Serpent (Anderson, Riham và Knudsen), Twofish (Scheier, Kelsey, Whiting, Wagner, Hall và Ferguson) Stream cipher: Stream cipher mã hóa từng bit của thông tin. Stream cipher thông dụng nhất là RC4 có thể dùng nhiều chiều dài khóa mật mã và có tốc độ nhanh hơn rất nhiều so với block cipher Khi đã có thuật toán mật mã đối xứng và một số ngẫu nhiên dùng làm khóa mật mã, quá trình mã hóa và giải mã có thể mô tả nhƣ sau: - Mã hóa: C = T + K - Giải mã: T = C – K Trong đó T: Bản tin, K: Khóa mật mã và thuật toán mã đối xứng, C: Bản mật mã abcd Mã hóa #$%^ Giải mã C-Bản mã T-Bản rõ Khóa bí mật Ks abcd T-Bản rõ Khóa bí mật Ks Hình 1.2 Mô hình hệ thống mật mã đối xứng Hệ mật mã đối xứng có đặc điểm sau: + Dùng chỉ một khóa mật mã cho cả hai quá trình mã hóa và giải mã + Độ bảo mật cao + Tốc độ thực hiện nhanh. + Bản mã có dung lƣợng tƣơng đƣơng bản gốc. + Việc chuyển khóa mật mã đến ngƣời nhận có thể khiến cho bản mã chẳng còn gì là bí mật đối với mọi ngƣời. + Số lƣợng khóa mật mã phải quản lý gần bằng bình phƣơng số đối tƣợng tham gia trao đổi thông tin, vì thế không phù hợp với giao dịch trên quy mô lớn. + Việc quản lý khóa mật mã phức tạp, tốn nhiều công sức. Mật mã đối xứng thƣờng đƣợc sử dụng trong môi trƣờng mà khoá chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ và để mã hoá những bản tin lớn vì tốc độ mã hoá và giải mã nhanh hơn hệ mật mã bất đối xứng. - Mật mã bất đối xứng (hay còn gọi là hệ mã hóa khóa công khai) Vào giữa thập niên 1970, Whitfield Diffie và Martin Hellman là những ngƣời đầu tiên đƣa ra khái niệm mật mã bất đối xứng. Thuật toán mật mã Diffie - Hellman đƣợc xây dựng trên cơ sở logarit rời rạc nhằm mục đích giải quyết vấn đề bảo vệ quá trình trao đổi khóa mật mã đối xứng. Một trong những thuật toán mật mã bất đối xứng thành công nhất là RSA. RSA đƣợc Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT - Massachusetts Institute of Technology). Tên của thuật toán lấy từ ba chữ cái đầu của tên ba tác giả. RSA là thuật toán đƣợc nghiên cứu nhiều nhất và cho đến nay nó vẫn đứng vững trƣớc những thử nghiệm tấn công của các chuyên gia mật mã. RSA thƣờng dùng khóa mật mã 1024 bit và là thuật toán mật mã bất đối xứng đƣợc dùng phổ biến nhất trong công nghệ máy tính hiện nay. ECC (Elliptic Curve Cryptography) đƣợc Neal Koblitz và Victor S. Miller đề xƣớng vào năm 1985. ECC có thời gian xử lý nhanh hơn RSA và tuy ra đời sau RSA nhƣng ECC cũng đã trải qua rất nhiều thử nghiệm tấn công của các chuyên gia mật mã. ECC có rất nhiều biến thể nên có thể đƣợc xem nhƣ một "họ" thuật toán chứ không chỉ là một thuật toán. Để đạt đƣợc cùng một cấp độ bảo mật nhƣ RSA, ECC có thể dùng một khóa mật mã ngắn hơn và ít hao tổn hiệu suất máy tính hơn. Vào tháng tƣ năm 2000, RSA Laboratories (trực thuộc RSA Security) công bố "A Cost-Based Security Analysis of Symmetric and Asymmetric Key Lengths" bao gồm một bảng thống kê: - Các chiều dài khóa mật mã cần thiết của mỗi thuật toán để đạt cùng một cấp độ bảo mật. - Số máy tính dùng để bẻ khóa. - Dung lƣợng RAM. - Thời gian để bẻ khóa thành công. Chiều dài khóa mật mã Đối xứng ECC Số máy tính cần dùng RSA RAM Thời gian bẻ khóa thành công 56 112 430 10.000 Không đáng kể Ít hơn 5 phút 80 160 760 4.300 4 GB 600 tháng 96 192 1020 114 170 GB 3 triệu năm 128 256 1620 16 120TB 10E16 năm Bảng 1.1 Thống kê độ an toàn của các hệ mật mã Thống kê trên đây [2] là kết quả của một số giả định và công thức tính khá phức tạp. Thông qua kết quả cuối cùng, có thể nêu một vài nhận xét nhƣ sau: - Để tăng cƣờng bảo mật, nên thay thế DES (khóa mật mã 56 bit) bằng AES (khóa mật mã 128 bit) cũng nhƣ nên thay khóa mật mã RSA 768 bit bằng khóa mật mã RSA 1024 bit. - Để đạt cùng cấp độ bảo mật, khóa mật mã cần dùng của mật mã đối xứng luôn luôn ngắn nhất và của mật mã bất đối xứng RSA luôn luôn dài nhất. - Tuổi của vũ trụ là 15 x 10E9 năm còn thời gian bẻ khóa thành công ở dòng cuối cùng là 10E16 năm! Ngƣời ta cũng phát triển một số thuật toán mật mã bất đối xứng khác, ví dụ NTRU, Arithmetica... Những anh chàng này vẫn còn là "lính mới", tuy có triển vọng nhƣng chƣa hề trải qua thời gian "thử lửa" lâu dài nhƣ ECC và càng không thể so sánh với RSA. Quá trình phát sinh khóa mật mã đối xứng chỉ đơn thuần là chọn một số ngẫu nhiên có dung lƣợng xác định. Quá trình phát sinh khóa mật mã bất đối xứng cũng dựa trên yếu tố ngẫu nhiên nhƣng phức tạp hơn rất nhiều. Tên gọi bất đối xứng là do hai quá trình mã hóa và giải mã dùng 02 khóa mật mã khác nhau. Hai khóa mật mã là hai giá trị khác nhau nhƣng lại có quan hệ toán học và phải đƣợc phát sinh đồng thời. Một khóa đƣợc gọi là khóa mật mã công khai (public key), khóa còn lại đƣợc gọi là khóa mật mã cá nhân (private key). Điểm thú vị của khóa mật mã bất đối xứng là khi thông tin đƣợc mã bằng khóa công khai thì chỉ có thể giải mã bằng khóa cá nhân và ngƣợc lại. abcd Mã hóa #$%^ Bản mã Bản rõ Mã hóa abcd Bản rõ Khóa cá nhân Khóa công khai abcd Giải mã #$%^ Giải mã x xx Bản mã Bản rõ Khóa công khai Khóa công khai Hình 1.3 Mô hình hệ thống mật mã bất đối xứng Khóa mật mã công khai là khóa mật mã mà sở hữu chủ công bố cho mọi ngƣời. Khóa mật mã cá nhân là khóa mật mã mà sở hữu chủ sẽ giữ kín, không cho ai biết. Ta có thể hình dung khóa mật mã công khai nhƣ là số điện thoại của anh Thanh đƣợc đăng trong một danh bạ công cộng, còn khóa mật mã cá nhân là chiếc sim mà anh Thanh đang lắp trong điện thoại của mình. Bất cứ ai cũng có thể tra số số điện thoại của anh Thanh trong danh bạ và gọi cho Thanh: mã hóa dữ liệu bằng khóa mật mã công khai mà Thanh đã công bố. Chỉ một mình Thanh có thể nhận cuộc gọi vì đang sở hữu sim tƣơng ứng, chỉ một mình Thanh có thể giải mã đƣợc bằng khóa mật mã cá nhân của mình. Hệ mật mã bất đối xứng có đặc điểm sau: + Dữ liệu mã hóa bởi một khóa mật mã (công khai hoặc cá nhân) sẽ chỉ có thể đƣợc giải mã với khóa mật mã còn lại (cá nhân hoặc công khai). + Độ bảo mật cao. + Quá trình trao đổi khóa mật mã không ảnh hƣởng đến việc bảo mật thông tin. + Số lƣợng khóa mật mã phải quản lý bằng với số đối tƣợng tham gia trao đổi thông tin, do đó phù hợp với giao dịch trên mọi quy mô. + Tốc độ thực hiện khá chậm. + Bản mã có dung lƣợng lớn hơn nhiều so với bản gốc. Đặc trƣng nổi bật của hệ mật mã bất đối xứng là khoá công khai và bản mã đều có thể gửi đi trên một kênh truyền tin không an toàn. Có biết cả khoá công khai và bản mã thì thám mã cũng không dễ khám phá bản rõ. Nhƣng vì có tốc độ mã hoá và giải mã chậm nên hệ mã hoá khoá công khai chỉ dùng để mã hoá những bản tin ngắn, ví dụ nhƣ mã hoá khoá bí mật gửi đi. - Phối hợp cả hai hình thức mã hóa đối xứng và bất đối xứng Ta hãy so sánh ƣu và nhƣợc điểm của 2 loại thuật toán mật mã Mã hóa đối xứng Mã hóa bất đối xứng - Dùng chỉ 01 khóa mật mã cho cả 02 - Dữ liệu mã hóa bởi một khóa mật mã quá trình mã hóa và giải mã (công khai hoặc cá nhân) sẽ chỉ có thể - Độ bảo mật cao đƣợc giải mã với khóa mật mã còn lại - Tốc độ thực hiện nhanh. (cá nhân hoặc công khai). - Bản mã có dung lƣợng tƣơng đƣơng - Độ bảo mật cao bản gốc. - Tốc độ thực hiện khá chậm. - Việc chuyển khóa mật mã đến ngƣời - Bản mã có dung lƣợng lớn hơn nhiều nhận có thể khiến cho bản mã chẳng còn so với bản gốc. gì là bí mật đối với mọi ngƣời. - Quá trình trao đổi khóa mật mã không - Số lƣợng khóa mật mã phải quản lý ảnh hƣởng đến việc bảo mật thông tin. gần bằng bình phƣơng số đối tƣợng - Số lƣợng khóa mật mã phải quản lý tham gia trao đổi thông tin, vì thế không bằng với số đối tƣợng tham gia trao đổi phù hợp với giao dịch trên quy mô lớn. thông tin, do đó phù hợp với giao dịch - Việc quản lý khóa mật mã phức tạp, trên mọi quy mô. tốn nhiều công sức. Bảng 1.2 So sánh đặc điểm của mã đối xứng và mã công khai Ta có thể thấy rằng nhƣợc điểm của loại này lại là ƣu điểm của loại kia. Từ đó, ngƣời ta nảy sinh ý tƣởng kết hợp 2 loại thuật toán nhằm tận dụng ƣu điểm và loại trừ khuyết điểm. Cụ thể, ngƣời ta tìm cách kết hợp khóa mật mã đối xứng và khóa mật mã bất đối xứng để đạt đƣợc các yếu tố: 1- Độ bảo mật cao. 2- Tốc độ thực hiện nhanh. 3- Bản mã có dung lƣợng tƣơng đƣơng bản gốc. 4- Quá trình trao đổi khóa mật mã không ảnh hƣởng đến việc bảo mật thông tin. 5- Phù hợp với giao dịch trên mọi quy mô. Quy trình xử lý nhƣ sơ đồ sau: abcd Mã hóa M - Bản rõ #$%^ Cm - Bản mã Ck Mã hóa Ks - Khóa bí mật Kp - Khóa công khai Hình 1.4.a Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên gửi) - Người gửi phát sinh ngẫu nhiên một khóa mật mã bí mật Ks ( khóa đối xứng) - Người gửi dùng khóa mật mã đối xứng để mã hóa bản tin M, và có đƣợc một bản mã của bản tin (M + Ks = Cm). - Đến đây ta có thể thấy rằng ƣu điểm của mật mã đối xứng đã đƣợc ứng dụng (các yếu tố 1, 2, 3 đã nêu trên) - Vấn đề kế tiếp cần giải quyết là làm sao để Người nhận có thể giải mã bằng khóa mật mã đối xứng mà Người gửi đã phát sinh ngẫu nhiên. Bây giờ là lúc cặp khóa mật mã công khai-cá nhân bắt đầu tham gia. - Người nhận phát sinh một cặp khóa mật mã bất đối xứng (Kp, Kr). - Người nhận gửi cho Người gửi khóa mật mã công khai (Kp) và giữ kín khóa mật mã cá nhân (Kr) - Người gửi dùng khóa mật mã công khai của Người nhận để mã hóa khóa mật mã đối xứng và có đƣợc bản mã của khóa mật mã đối xứng (Ks + Kp = Ck). Hành động dùng một khóa mật mã để mã hóa một khóa mật mã khác còn đƣợc gọi là "key wrapping" (có thể dịch là: "đóng gói khóa mật mã") - Tuy mã hóa bất đối xứng có tốc độ rất chậm và dung lƣợng bản mã lớn hơn nhiều so với bạch văn gốc nhƣng trong tình huống cụ thể này thì đó không phải là vấn đề vì khóa mật mã đối xứng có dung lƣợng rất nhỏ (thƣờng chỉ là 128 bit).
- Xem thêm -

Tài liệu liên quan