Tiểu luận Áp dụng các nguyên tắc sáng tạo trong mật mã hóa

Mật mã học là một trong những ngành học ra đời từ rất sớm và có lịch sử hàng ngàn năm. Những bằng chứng sớm nhất về sử dụng mật mã học có thể nói là xuất phát từ thời Ai Cập cổ đại với những chữ tượng hình kì lạ, khơi gợi lên nhiều điều bí ẩn, thú vị. Trong giáo hội, kinh thánh, người ta áp dụng mã hóa để ám chỉ các nhân vật giáo phái hay người trong đế chế một cách bí mật nhằm mục đích truyền đạo và che mắt chính quyền. Người Hy Lạp cổ đại và người La Mã là một trong những người đầu tiên sử dụng các kỹ thuật mật mã (chẳng hạn như gậy mật mã, mật mã Caesar), mà ngày nay ta xếp nó vào lớp mã hóa cổ điển. Mã hóa thực sự đóng vai trò quan trọng, đặc biệt trong quân đội và các vấn đề liên quan đến bí mật quốc gia, khi đó việc bảo mật thông tin thực sự mang ý nghĩa sống còn. Ngay từ thời trung cổ, các vấn đề liên quan đến mã hóa cũng ảnh hưởng không ít đến các sự kiện lịch sử như vụ án xử tử nữ hoàng Mary I của Scotland, vụ án xử tử Mata Hari Mật mã học thời kì bấy giờ không phát triển nhiều ở phương Đông nhưng lại phát triển mạnh mẽ ở các nước phương Tây, đặc biệt kể từ thế kỷ 19 trở về sau, mã hóa đã phát triển một cách có hệ thống. Đi đôi với sự phát triển của các kỹ thuật mã hóa là các kỹ thuật phá mã với nhiều công trình được công bố như phân tích mật mã đơn ký tự của Charles Babbage, công trình của Auguste Kerckhoffs, Trong thế chiến thứ II, các hệ thống mật mã cơ khí và điện tử được sử dụng rộng rãi và người Đức đã chế tạo ra máy Enigma để mã hóa thông điệp dùng trong quân sự . Tuy nhiên, với các kỹ thuật thống kê của William F. Friedman, Marian Rejewski và các cộng sự đã tiếp tục nghiên cức và bước đầu thành công trong việc phá mã hệ thống Enigma

pdf27 trang | Chia sẻ: tuandn | Lượt xem: 1920 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Tiểu luận Áp dụng các nguyên tắc sáng tạo trong mật mã hóa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đại Học Quốc Gia TP.HCM Trường Đại Học Khoa Học Tự Nhiên T P ƯƠ G P ÁP G Ê Ứ T G T C ĐỀ TÀI: ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG M T MÃ HÓA GVHD: GS.TSKH.Hoàng Kiếm Người thực hiện: Thái Huệ Nghi Mã số: 1211047 Học viên cao học khóa 22/2012 TP.HCM – 2012 1 Mục lục ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG MẬT MÃ HÓA ........................ 0 Phần I: Giới thiệu về mật mã học ........................................................................................ 4 1. Mật mã học cổ điển: ..................................................................................................... 4 2. Mật mã học hiện đại: .................................................................................................... 4 2.1. Lý thuyết Shannon: ................................................................................................ 4 2.2. Tiêu chuẩn mật mã: ............................................................................................... 5 2.3. Các tiêu chuẩn đánh giá một hệ thống mã hóa: ..................................................... 5 2.4. Các kỹ thuật trong mã hóa: .................................................................................... 6 Phần II: 40 nguyên tắc sáng tạo trong nghiên cứu khoa học ............................................... 9 1. Nguyên lý phân nhỏ: .................................................................................................... 9 2. Nguyên lý “tách riêng”: ............................................................................................... 9 3. Nguyên lý phẩm chất cục bộ: ....................................................................................... 9 4. Nguyên lý phản đối xứng: .......................................................................................... 10 5. Nguyên lý kết hợp: ..................................................................................................... 10 6. Nguyên lý vạn năng: .................................................................................................. 10 7. Nguyên lý “chứa trong”: ............................................................................................ 10 8. Nguyên lý phản trọng lượng: ..................................................................................... 10 9. Nguyên lý gây ứng suất sơ bộ: ................................................................................... 10 10. Nguyên lý thực hiện sơ bộ: ...................................................................................... 10 11. Nguyên lý dự phòng: ................................................................................................ 11 12. Nguyên lý đẳng thế: ................................................................................................. 11 13. Nguyên lý đảo ngược: .............................................................................................. 11 14. Nguyên lý cầu (tròn) hóa: ........................................................................................ 11 15. Nguyên lý linh động: ................................................................................................ 11 16. Nguyên lý giải “thiếu” hoặc “thừa”: ........................................................................ 11 17. Nguyên lý chuyển sang chiều khác: ......................................................................... 12 18. Nguyên lý sử dụng các dao động cơ học: ................................................................ 12 19. Nguyên lý tác động theo chu kỳ: ............................................................................. 12 2 20. Nguyên lý liên tục tác động có ích: .......................................................................... 12 21. Nguyên lý “vượt nhanh”: ......................................................................................... 12 22. Nguyên lý biến hại thành lợi: ................................................................................... 13 23. Nguyên lý quan hệ phản hồi: ................................................................................... 13 24. Nguyên lý sử dụng trung gian: ................................................................................. 13 25. Nguyên lý tự phục vụ: .............................................................................................. 13 26. Nguyên lý sao chép (copy) ....................................................................................... 13 27. Nguyên lý “rẻ” thay cho “đắt”: ................................................................................ 13 28. Thay thế sơ đồ cơ học: ............................................................................................. 14 29. Sử dụng các kết cấu khí và lỏng: ............................................................................. 14 30. Sử dụng vỏ dẻo và màng mỏng: ............................................................................... 14 31. Sử dụng các vật liệu nhiều lỗ: .................................................................................. 14 32. Nguyên lý thay đổi màu sắc: .................................................................................... 14 33. Nguyên lý đồng nhất: ............................................................................................... 15 34. Nguyên lý phân hủy hoặc tái sinh các phần: ............................................................ 15 35. Thay đổi các thông số hoá lý của đối tượng: ........................................................... 15 36. Sử dụng chuyển pha: ................................................................................................ 15 37. Sử dụng sự nở nhiệt: ................................................................................................ 15 38. Sử dụng các chất oxy hoá mạnh: .............................................................................. 15 39. Thay đổi độ trơ: ........................................................................................................ 16 40. Sử dụng các vật liệu hợp thành (composite): ........................................................... 16 Phần 3: Áp dụng các nguyên tắc sáng tạo trong mã hóa ................................................... 16 1. Nguyên lý phân nhỏ: .................................................................................................. 16 2. Nguyên lý “tách riêng”: ............................................................................................. 16 3. Nguyên lý phẩm chất cục bộ: ..................................................................................... 16 4. Nguyên lý kết hợp: ..................................................................................................... 17 5. Nguyên lý thực hiện sơ bộ: ........................................................................................ 18 6. Nguyên lý đảo ngược: ................................................................................................ 18 7. Nguyên lý cầu (tròn) hóa: .......................................................................................... 19 3 8. Nguyên lý linh động: .................................................................................................. 20 9. Nguyên lý giải “thiếu” hoặc “thừa”: .......................................................................... 21 10. Nguyên lý chuyển sang chiều khác: ......................................................................... 22 11. Nguyên lý tác động theo chu kỳ: ............................................................................. 22 12. Nguyên lý liên tục tác động có ích: .......................................................................... 23 13. Nguyên lý quan hệ phản hồi: ................................................................................... 23 14. Nguyên lý sử dụng trung gian: ................................................................................. 23 15. Nguyên lý “rẻ” thay cho “đắt”: ................................................................................ 24 Tài liệu tham khảo: ............................................................................................................ 25 1. Tài liệu Internet: ......................................................................................................... 25 2. Tài liệu văn bản: ......................................................................................................... 26 4 Phần I: Giới thiệu về mật mã học Mật mã học cổ điển 1. Mật mã học là một trong những ngành học ra đời từ rất sớm và có lịch sử hàng ngàn năm. Những bằng chứng sớm nhất về sử dụng mật mã học có thể nói là xuất phát từ thời Ai Cập cổ đại với những chữ tượng hình kì lạ, khơi gợi lên nhiều điều bí ẩn, thú vị. Trong giáo hội, kinh thánh, người ta áp dụng mã hóa để ám chỉ các nhân vật giáo phái hay người trong đế chế một cách bí mật nhằm mục đích truyền đạo và che mắt chính quyền. Người Hy Lạp cổ đại và người La Mã là một trong những người đầu tiên sử dụng các kỹ thuật mật mã (chẳng hạn như gậy mật mã, mật mã Caesar), mà ngày nay ta xếp nó vào lớp mã hóa cổ điển. Mã hóa thực sự đóng vai trò quan trọng, đặc biệt trong quân đội và các vấn đề liên quan đến bí mật quốc gia, khi đó việc bảo mật thông tin thực sự mang ý nghĩa sống còn. Ngay từ thời trung cổ, các vấn đề liên quan đến mã hóa cũng ảnh hưởng không ít đến các sự kiện lịch sử như vụ án xử tử nữ hoàng Mary I của Scotland, vụ án xử tử Mata Hari…Mật mã học thời kì bấy giờ không phát triển nhiều ở phương Đông nhưng lại phát triển mạnh mẽ ở các nước phương Tây, đặc biệt kể từ thế kỷ 19 trở về sau, mã hóa đã phát triển một cách có hệ thống. Đi đôi với sự phát triển của các kỹ thuật mã hóa là các kỹ thuật phá mã với nhiều công trình được công bố như phân tích mật mã đơn ký tự của Charles Babbage, công trình của Auguste Kerckhoffs,…Trong thế chiến thứ II, các hệ thống mật mã cơ khí và điện tử được sử dụng rộng rãi và người Đức đã chế tạo ra máy Enigma để mã hóa thông điệp dùng trong quân sự . Tuy nhiên, với các kỹ thuật thống kê của William F. Friedman, Marian Rejewski và các cộng sự đã tiếp tục nghiên cức và bước đầu thành công trong việc phá mã hệ thống Enigma… Mật mã học hiện đại 2. 2.1. Lý thuyết Shannon Nhiều người cho rằng kỷ nguyên của mật mã học hiện đại bắt đầu với Claude Shannon, người được coi là cha đẻ của mật mã toán học. Năm 1949, ông đã công bố Lý thuyết về 5 truyền thông trong các hệ thống bảo mật trên tập san Bell System Technical Journal – Tập san kỹ thuật của hệ thống Bell - và một thời gian ngắn sau đó, trong cuốn Mathematical Theory of Communication - Lý thuyết toán học trong truyền thông - cùng với tác giả Warren Weaver. Những công trình này cùng với những công trình nghiên cứu khác của ông về lý thuyết tin học và truyền thông đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học và thám mã học. Với ảnh hưởng đó, mật mã học gần như bị thâu tóm bởi chính phủ NSA, và rất ít công trình được tiếp tục công bố cho đến giữa thập niên 1970. 2.2. Tiêu chuẩn mật mã Thời kỳ giữa thập niên 1970 được chứng kiến hai tiến bộ lớn trong lĩnh vực mật mã học, đó là sự công bố đề xuất Tiêu chuẩn mật mã hóa dữ liệu (Data Encryption Standard) ở nước Mỹ vào ngày 17/3/1975. Với đề cử của Cục Tiêu chuẩn Quốc Gia (NIST), bản đề xuất DES được công ty IBM đệ trình đã trở thành chuẩn mã hóa công khai đầu tiên được áp dụng rộng rãi trong công chúng như một tiện ích cho các tổ chức thương mại, nhà băng, và các tổ chức tài chính lớn. Tuy nhiên, các kỹ thuật phá mã phát triển đã cho thấy những điểm yếu của phương pháp và vì vậy DES không thật sự đủ an toàn. Vì thế mà đến năm 2001, sự kiện lớn thứ 2 đã diễn ra: DES được chính thức thay thế bởi AES(viết tắt của Advanced Encryption Standard - Tiêu chuẩn mã hóa tiên tiến) sau một cuộc thi được tổ chức công khai bởi NIST. Do nguy cơ bị tấn công cao nếu dùng DES nguyên thủy, người ta đã tìm cách tăng độ an toàn cho DES bằng biến thế Triple-DES và nó vẫn được chấp nhận như 1 tiêu chuẩn của nhiều quốc gia và các tổ chức trên thế giới 2.3. Các tiêu chuẩn đánh giá một hệ thống mã hóa  Tính bí mật (Secrect): thông tin được bảo mật tuyệt đối, kẻ xấu không thể biết được  Tính toàn vẹn thông tin (Interity): thông tin sau khi mã hóa và gửi đến nơi phải đảm bảo còn nguyên vẹn, không bị thay đổi, đánh tráo hay chấp vá bởi kẻ xấu trên đường truyền  Tính xác thực (Authentication): phải chứng thực được người đang thực hiện là người chủ thực sự. 6  Tính chống thoái thác trách nhiệm (Non- repudiation): làm sao để người đã thực hiện không thể chối bỏ trách nhiệm của mình trên thông tin mà họ đã tác động 2.4. Các kỹ thuật trong mã hóa 2.4.1. Mã hóa đối xứng Trong mật mã học, các thuật toán khóa đối xứng là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếu biết khóa kia). Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã có nghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi đơn giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được phân hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong kênh truyền thông tin. Khóa bí mật còn gọi là đơn khóa hay khóa cá nhân. Về tốc độ, nếu so sánh với mã hóa bất đối xứng có chất lượng tương đương thì mã hóa đối xứng thực sự nhanh và đơn giản hơn nhiều. Tuy nhiên, việc bảo mật chìa khóa và trao đổi khóa giữa 2 bên bằng một kênh truyền hoàn toàn bí mật thực sự là một điều khó khăn. Các chuẩn áp dụng mã hóa đối xứng như: DES, Triple-DES, AES, RC6… Nhìn chung, các phương pháp đều sử dụng mã hóa khối và thực hiện nhiều chu kỳ mã hóa liên tiếp nhau với nhiều thao tác kết hợp cộng với tập chìa khóa được tạo ra theo cách thực xoay vòng. Sự tác động có tính chu kỳ và kết hợp lẫn nhau này khiến cho phương pháp đạt được độ phức tạp cần thiết tương ứng với một mức độ an toàn nào đó Các kiểu tấn công đối với mã hóa đối xứng:  Tấn công biết trước văn bản (known-plaintext attacks)  Tấn công lựa chọn văn bản (chosen plaintext attacks)  Thám mã vi phân (differential cryptanalysis)  Thám mã tuyến tính (linear cryptanalysis) 7 2.4.2. Mã hóa bất đối xứng Mã hóa bất đối xứng hay còn gọi là mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật). Mục đích sử dụng mã hóa khóa công khai là để: mã hóa, tạo chữ ký số hay thỏa thuận khóa để trao đổi thông tin bí mật giữa 2 bên. Do tính chất công khai một phần nên các kỹ thuật mật mã hóa khóa công khai thường đòi hỏi khối lượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng. Thuật toán mật mã hóa khóa công khai được thiết kế đầu tiên bởi James H. Ellis, Clifford Cocks, và Malcolm Williamson tại GCHQ (Anh) vào đầu thập kỷ 1970. Thuật toán sau này được phát triển và biết đến dưới tên Diffie-Hellman, và là một trường hợp đặc biệt của RSA. Đến năm 1977, Rivest, Shamir và Adleman đã cùng nhau tìm ra thuật toán đầu tiên cho mã hóa khóa công khai. Công trình này được công bố vào năm 1978 và thuật toán được đặt tên là RSA. RSA sử dụng phép toán tính hàm mũ môđun (môđun được tính bằng tích số của 2 số nguyên tố lớn) để mã hóa và giải mã cũng như tạo chữ ký số. An toàn của thuật toán được đảm bảo với điều kiện là không tồn tại kỹ thuật hiệu quả để phân tích một số rất lớn thành thừa số nguyên tố.  Ứng dụng:  Bảo mật thông tin: một văn bản được mã hóa bằng khóa công khai của một người sử dụng thì chỉ có thể giải mã với khóa bí mật của người đó.  Tạo chữ ký số khóa công khai để nhận thực  Các ứng dụng khác như: tiền điện tử, thỏa thuận khóa...  Điểm yếu và các hình thức tấn công đối với mã hóa bất đối xứng:  Điểm yếu: do phương pháp áp dụng toán học để xây dựng cặp khóa và do đó không thể đảm bảo an toàn tuyệt đối với các tấn công dựa trên bản chất toán học  Các kiểu tấn công: 8  Tấn công dựa trên việc đo đạc chính xác thời gian mà hệ thống phần cứng thực hiện mã hóa  Tấn công dạng kẻ đứng giữa (man in middle): kẻ tấn công lợi dụng việc phân phối khóa để thay đổi khóa công khai ... 2.4.3. Mã hóa một chiều (hàm băm mật mã) Khác với hai hình thức mã hóa đã đề cập, mã hóa một chiều đúng như tên gọi của nó: không thể khôi phục lại văn bản ban đầu từ văn bản đã mã hóa. Mã hóa 1 chiều được biết đến với khái niệm hàm băm mật mã học (Cryptographic hash function) là một dạng mã hóa đặc biệt, trong đó hàm băm phải thỏa mãn một số tính chất bảo mật nhất định để phù hợp với việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity).  Cách thức hoạt động: hàm băm nhận đầu vào là một xâu ký tự (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, gọi là “message digest”. Thành phần quan trọng nhất của phương pháp chính là hàm băm mật mã, làm sao để thỏa mãn nguyên tắc các văn bản khác nhau phải băm ra một kết quả khác nhau (tính duy nhất) và và việc tìm lại văn bản trước khi băm phải không thể thực hiện được (tính một chiều). Các hàm băm thông dụng: MD5 và SHA-1.  Các tính chất của hàm băm:  An toàn đối với tấn công “tiền ảnh”: cho trước thông điệp đã băm y, rất khó tìm lại thông điệp x sao cho H(x) = y.  An toàn đối với tấn công “tiền ảnh thứ 2”: cho trước x và y=H(x), rất khó tìm được giá trị x’ ≠ x sao cho H(x’) = H(x)  An toàn đối với hiện tượng đụng độ: rất khó tìm được hai giá trị phân biệt x và x’ sao cho H(x’) = H(x)  Ứng dụng của hàm băm mật mã: 9  Điểm khó của hàm băm mật mã là yếu tố có vẻ “ngẫu nhiên” đối với kết quả sau khi băm. Vì vậy người ta thường sử dụng kết hợp thông tin ngẫu nhiên để tăng độ bảo mật.  Ứng dụng: chữ ký điện tử (certification), định danh chứng thực người dùng (authentication), sử dụng trong liên lạc an toàn (IPSec, SSL/TLS), kiểm tra tính toàn vẹn của phần mềm/dữ liệu, đối sánh CSDL… Phần II: 40 nguyên tắc sáng tạo trong nghiên cứu khoa học Nguyên lý phân nhỏ 1. - Chia nhỏ đối tượng thành các phần độc lập, nhờ đó có thể giải quyết từng phần một cách dễ dàng - Làm đối tượng trở nên tháo lắp được - Tăng mức độ phân nhỏ của đối tượng, làm giảm sự phức tạp của đối tượng - Nguyên lý phân nhỏ thường được sử dụng kết hợp với các nguyên tắc như: nguyên tắc tách riêng, nguyên tắc phẩm chất cục bộ, nguyên tắc kết hợp, nguyên tắc vạn năng,… Nguyên lý “tách riêng” 2. Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối tượng. Nguyên lý phẩm chất cục bộ 3. - Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất. - Các phần khác nhau của đối tượng phải có các chức năng khác nhau. - Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc. - Nguyên lý phẩm chất cục bộ phản ánh nguyên tắc từ đơn giản đến phức tạp, từ đơn điệu sang đa dạng. 10 Nguyên lý phản đối xứng 4. Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói chung giảm bật đối xứng). Nguyên lý kết hợp: 5. - Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận. - Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận. Nguyên lý vạn năng 6. Đối tượng thực hiện một số chứ