Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
167,94 KB
Nội dung
Đạ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 GT 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: Mã số: Thái Huệ Nghi 1211047 Học viên cao học khóa 22/2012 TP.HCM – 2012 Mục lục ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG MẬT MÃ HÓA Phần I: Giới thiệu mật mã học Mật mã học cổ điển: Mật mã học đại: 2.1 Lý thuyết Shannon: 2.2 Tiêu chuẩn mật mã: 2.3 Các tiêu chuẩn đánh giá hệ thống mã hóa: 2.4 Các kỹ thuật mã hóa: Phần II: 40 nguyên tắc sáng tạo nghiên cứu khoa học Nguyên lý phân nhỏ: Nguyên lý “tách riêng”: Nguyên lý phẩm chất cục bộ: Nguyên lý phản đối xứng: Nguyên lý kết hợp: Nguyên lý vạn năng: Nguyên lý “chứa trong”: Nguyên lý phản trọng lượng: Nguyên lý gây ứng suất sơ bộ: 10 Nguyên lý thực sơ bộ: 11 Nguyên lý dự phòng: 12 Nguyên lý đẳng thế: 13 Nguyên lý đảo ngược: 14 Nguyên lý cầu (tròn) hóa: 15 Nguyên lý linh động: 16 Nguyên lý giải “thiếu” “thừa”: 17 Nguyên lý chuyển sang chiều khác: 18 Nguyên lý sử dụng dao động học: 19 Nguyên lý tác động theo chu kỳ: 20 Nguyên lý liên tục tác động có ích: 21 Nguyên lý “vượt nhanh”: 22 Nguyên lý biến hại thành lợi: 23 Nguyên lý quan hệ phản hồi: 24 Nguyên lý sử dụng trung gian: 25 Nguyên lý tự phục vụ: 26 Nguyên lý chép (copy) 27 Nguyên lý “rẻ” thay cho “đắt”: 28 Thay sơ đồ học: 29 Sử dụng kết cấu khí lỏng: 30 Sử dụng vỏ dẻo màng mỏng: 31 Sử dụng vật liệu nhiều lỗ: 32 Nguyên lý thay đổi màu sắc: 33 Nguyên lý đồng nhất: 34 Nguyên lý phân hủy tái sinh phần: 35 Thay đổi thông số hoá lý đối tượng: 36 Sử dụng chuyển pha: 37 Sử dụng nở nhiệt: 38 Sử dụng chất oxy hoá mạnh: 39 Thay đổi độ trơ: 40 Sử dụng vật liệu hợp thành (composite): Phần 3: Áp dụng nguyên tắc sáng tạo mã hóa Nguyên lý phân nhỏ: Nguyên lý “tách riêng”: Nguyên lý phẩm chất cục bộ: Nguyên lý kết hợp: Nguyên lý thực sơ bộ: Nguyên lý đảo ngược: Nguyên lý cầu (tròn) hóa: Nguyên lý linh động: Nguyên lý giải “thiếu” “thừa”: 10 Nguyên lý chuyển sang chiều khác: 11 Nguyên lý tác động theo chu kỳ: 12 Nguyên lý liên tục tác động có ích: 13 Nguyên lý quan hệ phản hồi: 14 Nguyên lý sử dụng trung gian: 15 Nguyên lý “rẻ” thay cho “đắt”: Tài liệu tham khảo: Tài liệu Internet: Tài liệu văn bản: Phần I: Giới thiệu mật mã học Mật mã học cổ điển Mật mã học ngành học đời từ sớm có lịch sử hàng ngàn năm Những chứng sớm sử dụng mật mã học nói xuất phát từ thời Ai Cập cổ đại với 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 nhân vật giáo phái hay người đế chế cách bí mật nhằm mục đích truyền đạo che mắt quyền Người Hy Lạp cổ đại người La Mã người sử dụng kỹ thuật mật mã (chẳng hạn gậy mật mã, mật mã Caesar), mà ngày ta xếp vào lớp mã hóa cổ điển Mã hóa thực đóng vai trò quan trọng, đặc biệt quân đội vấn đề liên quan đến bí mật quốc gia, việc bảo mật thông tin thực mang ý nghĩa sống Ngay từ thời trung cổ, vấn đề liên quan đến mã hóa ảnh hưởng không đến kiện lịch sử vụ án xử tử nữ hoàng Mary I Scotland, vụ án xử tử Mata Hari…Mật mã học thời kì không phát triển nhiều phương Đông lại phát triển mạnh mẽ nước phương Tây, đặc biệt kể từ kỷ 19 trở sau, mã hóa phát triển cách có hệ thống Đi đôi với phát triển kỹ thuật mã hóa kỹ thuật phá mã với nhiều công trình công bố phân tích mật mã đơn ký tự Charles Babbage, công trình Auguste Kerckhoffs,…Trong chiến thứ II, hệ thống mật mã khí điện tử sử dụng rộng rãi người Đức chế tạo máy Enigma để mã hóa thông điệp dùng quân Tuy nhiên, với kỹ thuật thống kê William F Friedman, Marian Rejewski cộng tiếp tục nghiên cức bước đầu thành công việc phá mã hệ thống Enigma… Mật mã học đại 2.1 Lý thuyết Shannon Nhiều người cho kỷ nguyên mật mã học đại bắt đầu với Claude Shannon, người coi cha đẻ mật mã toán học Năm 1949, ông công bố Lý thuyết truyền thông hệ thống bảo mật tập san Bell System Technical Journal – Tập san kỹ thuật hệ thống Bell - thời gian ngắn sau đó, Mathematical Theory of Communication - Lý thuyết toán học truyền thông - với tác giả Warren Weaver Những công trình với công trình nghiên cứu khác ông lý thuyết tin học truyền thông thiết lập tảng lý thuyết cho mật mã học thám mã học Với ảnh hưởng đó, mật mã học gần bị thâu tóm phủ NSA, công trình tiếp tục công bố thập niên 1970 2.2 Tiêu chuẩn mật mã Thời kỳ thập niên 1970 chứng kiến hai tiến lớn lĩnh vực mật mã học, công bố đề xuất Tiêu chuẩn mật mã hóa liệu (Data Encryption Standard) nước Mỹ vào ngày 17/3/1975 Với đề cử Cục Tiêu chuẩn Quốc Gia (NIST), đề xuất DES công ty IBM đệ trình trở thành chuẩn mã hóa công khai áp dụng rộng rãi công chúng tiện ích cho tổ chức thương mại, nhà băng, tổ chức tài lớn Tuy nhiên, kỹ thuật phá mã phát triển cho thấy điểm yếu phương pháp DES không thật đủ an toàn Vì mà đến năm 2001, kiện lớn thứ diễn ra: DES thức thay AES(viết tắt Advanced Encryption Standard - Tiêu chuẩn mã hóa tiên tiến) sau thi tổ chức công khai NIST Do nguy bị công cao dùng DES nguyên thủy, người ta tìm cách tăng độ an toàn cho DES biến Triple-DES chấp nhận tiêu chuẩn nhiều quốc gia tổ chức giới 2.3 Các tiêu chuẩn đánh giá hệ thống mã hóa Tính bí mật (Secrect): thông tin bảo mật tuyệt đối, kẻ xấu biết Tính toàn vẹn thông tin (Interity): thông tin sau mã hóa gửi đến nơi phải đảm bảo nguyên vẹn, không bị thay đổi, đánh tráo hay chấp vá kẻ xấu đường truyền Tính xác thực (Authentication): phải chứng thực người thực người chủ thực Tính chống thoái thác trách nhiệm (Non- repudiation): để người thực chối bỏ trách nhiệm thông tin mà họ tác động 2.4 Các kỹ thuật mã hóa 2.4.1 Mã hóa đối xứng Trong mật mã học, thuật toán khóa đối xứng lớp thuật toán mật mã hóa khóa dùng cho việc mật mã hóa giải mã có quan hệ rõ ràng với (có thể dễ dàng tìm khóa biết khóa kia) Khóa dùng để mã hóa có liên hệ cách rõ ràng với khóa dùng để giải mã có nghĩa chúng hoàn toàn giống nhau, khác nhờ biến đổi đơn giản hai khóa Trên thực tế, khóa đại diện cho bí mật phân hưởng hai bên nhiều sử dụng để giữ gìn bí mật kênh truyền thông tin Khóa bí mật gọi đơn khóa hay khóa cá nhân Về tốc độ, so sánh với mã hóa bất đối xứng có chất lượng tương đương mã hóa đối xứng thực nhanh đơn giản nhiều Tuy nhiên, việc bảo mật chìa khóa trao đổi khóa bên kênh truyền hoàn toàn bí mật thực đ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, phương pháp sử dụng mã hóa khối thực nhiều chu kỳ mã hóa liên tiếp với nhiều thao tác kết hợp cộng với tập chìa khóa tạo theo cách thực xoay vòng Sự tác động có tính chu kỳ kết hợp lẫn khiến cho phương pháp đạt độ phức tạp cần thiết tương ứng với mức độ an toàn Các kiểu công mã hóa đối xứng: Tấn công biết trước văn (known-plaintext attacks) Tấn công lựa chọn văn (chosen plaintext attacks) Thám mã vi phân (differential cryptanalysis) Thám mã tuyến tính (linear cryptanalysis) 2.4.2 Mã hóa bất đối xứng Mã hóa bất đối xứng hay gọi mật mã hóa khóa công khai dạng mật mã hóa cho phép người sử dụng trao đổi thông tin mật mà không cần phải trao đổi khóa chung bí mật trước Điều thực cách sử dụng cặp khóa có quan hệ toán học với khóa công khai 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 để: mã hóa, tạo chữ ký số hay thỏa thuận khóa để trao đổi thông tin bí mật bên Do tính chất công khai phần nên 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 kỹ thuật mã hóa khóa đối xứng lợi điểm mà chúng mang lại khiến cho chúng áp dụng nhiều ứng dụng Thuật toán mật mã hóa khóa công khai thiết kế James H Ellis, Clifford Cocks, Malcolm Williamson GCHQ (Anh) vào đầu thập kỷ 1970 Thuật toán sau phát triển biết đến tên Diffie-Hellman, trường hợp đặc biệt RSA Đến năm 1977, Rivest, Shamir Adleman tìm thuật toán cho mã hóa khóa công khai Công trình công bố vào năm 1978 thuật toán đặt tên RSA RSA sử dụng phép toán tính hàm mũ môđun (môđun tính tích số số nguyên tố lớn) để mã hóa giải mã tạo chữ ký số An toàn thuật toán đảm bảo với điều kiện không tồn kỹ thuật hiệu để phân tích số lớn thành thừa số nguyên tố Ứng dụng: Bảo mật thông tin: văn mã hóa khóa công khai người sử dụng giải mã với khóa bí mật 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 hình thức công mã hóa bất đối xứng: Điểm yếu: phương pháp áp dụng toán học để xây dựng cặp khóa đảm bảo an toàn tuyệt công dựa chất toán học Các kiểu công: Tấn công dựa việc đo đạc xác thời gian mà hệ thống phần cứng thực mã hóa Tấn công dạng kẻ đứng (man in middle): kẻ 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 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 chiều tên gọi nó: khôi phục lại văn ban đầu từ văn mã hóa Mã hóa chiều biết đến với khái niệm hàm băm mật mã học (Cryptographic hash function) dạng mã hóa đặc biệt, hàm băm phải thỏa mãn số tính chất bảo mật định để phù hợp với việc sử dụng nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn chứng thực (authentication) kiểm tra tính nguyên vẹn thông điệp (message integrity) Cách thức hoạt động: hàm băm nhận đầu vào xâu ký tự (hay thông điệp) có độ dài tùy ý tạo kết xâu ký tự có độ dài cố định, gọi “message digest” Thành phần quan trọng phương pháp hàm băm mật mã, để thỏa mãn nguyên tắc văn khác phải băm kết khác (tính nhất) và việc tìm lại văn trước băm phải thực (tính chiều) Các hàm băm thông dụng: MD5 SHA-1 Các tính chất hàm băm: An toàn công “tiền ảnh”: cho trước thông điệp băm y, khó tìm lại thông điệp x cho H(x) = y An toàn công “tiền ảnh thứ 2”: cho trước x y=H(x), khó tìm giá trị x’ ≠ x cho H(x’) = H(x) An toàn tượng đụng độ: khó tìm hai giá trị phân biệt x x’ cho H(x’) = H(x) Ứng dụng hàm băm mật mã: Điểm khó hàm băm mật mã yếu tố “ngẫu nhiên” kết sau băm Vì 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 liên lạc an toàn (IPSec, SSL/TLS), kiểm tra tính toàn vẹn phần mềm/dữ liệu, đối sánh CSDL… Phần II: 40 nguyên tắc sáng tạo nghiên cứu khoa học Nguyên lý phân nhỏ - Chia nhỏ đối tượng thành phần độc lập, nhờ giải phần cách dễ dàng - Làm đối tượng trở nên tháo lắp - Tăng mức độ phân nhỏ đối tượng, làm giảm phức tạp đối tượng - Nguyên lý phân nhỏ thường sử dụng kết hợp với 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” 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 “cần thiết” (tính chất “cần thiết”) khỏi đối tượng Nguyên lý phẩm chất cục - 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 thành không đồng - Các phần khác đối tượng phải có chức khác - Mỗi phần đối tượng phải điều kiện thích hợp công việc - Nguyên lý phẩm chất cục phản ánh nguyên tắc từ đơn giản đến phức tạp, từ đơn điệu sang đa dạng - Vượt nhanh để có hiệu ứng cần thiết 22 Nguyên lý biến hại thành lợi - Sử dụng tác nhân có hại (thí dụ tác động có hại môi trường) để thu hiệu ứng có lợi - Khắc phục tác nhân có hại cách kết hợp với tác nhân có hại khác - Tăng cường tác nhân có hại đến mức hại 23 Nguyên lý quan hệ phản hồi - Thiết lập quan hệ phản hồi - Nếu có quan hệ phản hồi, hay thay đổi 24 Nguyên lý sử dụng trung gian Sử dụng đối tượng trung gian, chuyển tiếp 25 Nguyên lý tự phục vụ - Đối tượng phải tự phục vụ cách thực thao tác phụ trợ, sửa chữa - Sử dụng phế liệu, chất thải, lượng dư 26 Nguyên lý chép (copy) - Thay sử dụng không phép, phức tạp, đắt tiền, không tiện lợi dễ vỡ -> sử dụng - Thay đối tượng hệ đối tượng quang học (ảnh, hình vẽ) với tỷ lệ cần thiết - Nếu sử dụng quang học vùng biểu kiến (vùng ánh sáng nhìn thấy mắt thường ),chuyển sang sử dụng hồng ngoại tử ngoại 27 Nguyên lý “rẻ” thay cho “đắt” Thay đối tượng đắt tiền đối tượng rẻ có chất lượng (thí dụ tuổi thọ) 13 28 Thay sơ đồ học - Thay sơ đồ học điện, quang, nhiệt, âm mùi vị - Sử dụng điện trường, từ trường điện từ trường tương tác với đối tượng - Chuyển trường đứng yên sang chuyển động, trường cố định sang thay đổi theo thời gian, trường đồng sang có cấu trúc định - Sử dụng trường kết hợp với hạt sắt từ 29 Sử dụng kết cấu khí lỏng Thay cho phần đối tượng thể rắn, sử dụng chất khí lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực 30 Sử dụng vỏ dẻo màng mỏng - Sử dụng vỏ dẻo màng mỏng thay cho kết cấu khối - Cách ly đối tượng với môi trường bên vỏ dẻo màng mỏng 31 Sử dụng vật liệu nhiều lỗ - Làm đối tượng có nhiều lỗ sử dụng thêm chi tiết có nhiều lỗ (miếng đệm, phủ…) - Nếu đối tượng có nhiều lỗ, sơ tẩm chất 32 Nguyên lý thay đổi màu sắc - Thay đổi màu sắc đối tượng hay môi trường bên - Thay đổi độ suốt của đối tượng hay môi trường bên - Để quan sát đối tượng trình, sử dụng chất phụ gia màu, hùynh quang - Nếu chất phụ gia sử dụng, dùng nguyên tử đánh dấu - Sử dụng hình vẽ, ký hiệu thích hợp 14 33 Nguyên lý đồng Những đối tượng, tương tác với đối tượng cho trước, phải làm từ vật liệu (hoặc từ vật liệu gần tính chất) với vật liệu chế tạo đối tượng cho trước 34 Nguyên lý phân hủy tái sinh phần - Phần đối tượng hoàn thành nhiệm vụ trở nên không cần thiết phải tự phân hủy (hoà tan, bay ) phải biến dạng - Các phần mát đối tượng phải phục hồi trực tiếp trình làm việc 35 Thay đổi thông số hoá lý đối tượng - Thay đổi trạng thái đối tượng - Thay đổi nồng độ hay độ đậm đặc - Thay đổi độ dẻo - Thay đổi nhiệt độ, thể tích 36 Sử dụng chuyển pha Sử dụng tượng nảy sinh trình chuyển pha như: thay đổi thể tích, toả hay hấp thu nhiệt lượng 37 Sử dụng nở nhiệt - Sử dụng nở (hay co) nhiệt vật liệu - Nếu dùng nở nhiệt, sử dụng với vật liệu có hệ số nở nhiệt khác 38 Sử dụng chất oxy hoá mạnh - Thay không khí thường không khí giàu oxy - Thay không khí giàu oxy oxy - Dùng xạ ion hoá tác động lên không khí oxy - Thay oxy giàu ozon (hoặc oxy bị ion hoá) ozon 15 39 Thay đổi độ trơ - Thay môi trường thông thường môi trường trung hoà - Đưa thêm vào đối tượng phần , chất , phụ gia trung hoà - Thực trình chân không 40 Sử dụng vật liệu hợp thành (composite) Chuyển từ vật liệu đồng sang sử dụng vật liệu hợp thành (composite) Hay nói chung sử dụng vật liệu Phần 3: Áp dụng nguyên tắc sáng tạo mã hóa Nguyên lý phân nhỏ Trong mã hóa, tách văn thành ký tự độc lập Khi đó, việc mã hóa văn mã cho ký tự ghép lại tạo thành văn mã hóa Như vậy, ta cần sử dụng mã có số lượng giới hạn (bảng chữ cái, bảng chữ số,…) mã văn có kích thước Cách mã hóa cách sơ khai nhất, ánh xạ tương ứng một ký tự gốc ký tự sau mã, chưa có phụ thuộc lẫn ký tự hay khối ký tự kế cận văn Nguyên lý “tách riêng” Áp dụng kỹ thuật công vi sai: người ta cố tình tạo khác biệt input tìm xem kết output bị ảnh hưởng từ thay đổi đầu vào Kỹ thuật giúp nhà thám mã tách vị trí có liên quan ảnh hưởng với khối văn bản, truy vết sai khác mạng lưới biến đổi khám phá chỗ không thực ngẫu nhiên, cố gắng khai thác thuộc tính để tìm khóa bí mật Nguyên lý phẩm chất cục Mã hóa đối xứng (MHĐX) mã hóa bất đối xứng (MHBĐX) dạng mã hóa sử dụng phổ biến MHĐX có ưu điểm tốc độ mã hóa nhanh , đơn giản, nhiên lại 16 khó khăn việc thiết lập kênh an toàn tuyệt đối để trao đổi khóa Trong đó, với MHBĐX, vấn đề khóa trở nên vô dễ dàng người tự làm chủ cặp khóa mình, khóa mã công khai để mã hóa tài liệu khóa giải mã người chủ cặp khóa biết Vì tính chất công khai phần khóa mà thuật toán cho MHBĐX đòi hỏi độ phức tạp cao cho thời gian mã hóa lâu Vì người ta kết hợp hai cách theo nguyên tắc cục để tận dụng ưu điểm hai: văn cần mã (thường kích thước lớn) dùng MHĐX, việc trao đổi khóa bí mật dùng MHBĐX kích thước khóa thường không lớn, vừa đảm bảo tốc độ, vừa đảm bảo an toàn.(Vd: cấu trúc giao thức SSL) Nguyên lý kết hợp 1) Trong phương pháp mã hóa thay thế, với khóa k chọn, ký tự văn ánh xạ thành ký tự khác văn sau mã Vì tính song ánh mà văn sau mã bị công kỹ thuật phân tích tần số Khắc phục nhược điểm này, phương pháp Vigenere sử dụng khóa có độ dài m nhằm thực m phép mã hóa dịch chuyển áp dụng luân phiên theo chu kỳ Ta gọi kỹ thuật kết hợp lúc nhiều khóa đơn (để tạo khóa m) thực theo chu kỳ để mã hóa văn Kết ký tự giống sau mã cho hai ký tự khác kẻ công dùng phân tích tần số để đoán ban đầu ký tự Ví dụ : (Chọn bảng mã bảng chữ tiếng anh) Mã hóa dùng khóa: chọn k = (nghĩa kí tự a thay kí tự cách a đơn vị bảng mã) Mã hóa dùng phương pháp Vigenere: chọn K = {1,2,3} => m= 17 2) Kết hợp nhiều cách thức mã hóa khác quy trình mã hóa để tăng độ an toàn Ví dụ dùng phương pháp thay kết hợp phương pháp hoán vị để mã hóa cho ký tự (hoăc khối) chuỗi văn Trong phương thức mã hóa công khai chuẩn quốc tế DES, 3-DES, AES…, người ta áp dụng cách kết hợp nhiều phương thức + thực mã hóa lặp lặp lại nhiều lần theo chu trình để tăng độ an toàn 3) Thay mã hóa bit (stream ciphers), người ta kết hợp nhiều bit thành khối để tiến hành mã hóa khối đơn vị mã hóa (gọi block cipher) Vd: DES, AES, 3-DES…Mã hóa khối trở nên hữu ích cho phép sử dụng cách thống phương pháp từ lý thuyết mã hóa, toán học khoa học máy tính để nghiên cứu giới hạn mã hóa khối Các giới hạn thường dạng bất đẳng thức liên hệ tham số mã, chẳng hạn tỉ lệ khả phát sửa lỗi Nguyên lý thực sơ Với phương pháp RSA, số trường hợp sau gọi yếu : Ký tự sau mã ký tự gốc tức thông tin không bị che giấu Ký tự gốc p có giá trị nhỏ, số mũ để mã e nhỏ nên sau mã hóa giá trị c nhỏ n, dễ dàng tìm ký tự p ban đầu cách khai bậc e c RSA phương pháp mã hóa xác định (không có thành phần ngẫu nhiên) nên kẻ công thực công lựa chọn bảng rõ hình thức tra bảng Để tránh tính trạng này, trước mã hóa RSA, ta phải thực việc chuyển đổi ngẫu nhiên hóa rõ (M -> m) cho không giá trị M tạo văn không an toàn Một số tiêu chuẩn : PKCS, OAEP… Nguyên lý đảo ngược 1) Trong mã hóa đối xứng hay theo suy nghĩ thông thường, người ta cần phải dùng khóa mã để giải mã thực quy trình ngược lại khôi phục văn gốc Tuy nhiên, với mã hóa bất đối xứng (mà cụ thể phương pháp RSA), 18 suy nghĩ bị đảo ngược hoàn toàn: người ta mã khóa (public key) lại giải mã khóa khác (private key) cặp ương ứng, đồng thời thay ngược quy trình, ta lại tiếp tục “mã hóa” văn khóa giải mã để b a khôi phục văn ban đầu Cụ thể sau: E(x) = x = y D(y) = y = x [ b public key a private key cặp tương ứng, x ký tự văn gốc, y ký tự văn mã, E(x) hàm mã, D(y) hàm giải mã] 2) Cặp khóa mã hóa bất đối xứng ban đầu dùng mã hóa với mục đích làm cho việc mã hóa trở nên thuận tiện hơn, không cần phải trao đổi khóa bí mật Khóa công cộng dùng để mã hóa khóa bí mật dùng để giải mã Tuy nhiên, ý tưởng sáng tạo hình thành từ đảo ngược tư mang lại hướng ứng dụng vô hữu ích mã hóa bất đối xứng, chứng thực chữ ký điện tử Về bản, người ta sử dụng khóa bí mật (đại diện cho chủ sở hữu) để mã hóa (gọi ký) văn bản, dùng khóa công khai để giải mã so sánh với văn gốc đính kèm (hay gọi chứng thực chữ ký) Nếu hai văn giống tức người ký thực chủ tài liệu (Trên thực tế, người ta dùng thêm hàm băm mật mã trình ký lên văn nhằm xác thực chữ ký có phù hợp với văn hay không) Nguyên lý cầu (tròn) hóa Trong cách mã hóa dùng nhiều bảng chữ Alberti sáng tạo (năm 1465), người ta áp dụng số bước nhảy khác cho ký tự phụ thuộc vào vị trí chuỗi gốc Thay phải lập bảng cho bước dịch tốn nhiều công sức, người ta cần dùng vòng tròn, vòng tròn dãy kí tự theo thứ tự bảng chữ cái, vòng tròn dãy kí tự thay đổi theo từ khóa (dãy 0) Khi ta muốn ký tự vòng tròn mã kí tự tương ứng vòng tròn theo bước dịch k xoay vòng tròn k ô (so với thứ tự dãy 0) (Hình 1) 19 Hình 1- Phương pháp mã hóa dùng nhiều bảng chữ Anberti Nguyên lý linh động Nguyên lý linh động cụ thể hóa tình nguyên lý khác như: nguyên tắc cục (kết hợp MHĐX MHBĐX để tận dụng ưu điểm hai), nguyên tắc “thiếu” “thừa” cố đưa toán trường hợp biết để giải quyết… Các ví dụ khác: Cách nén liệu dùng phương pháp Hulfman có ưu điểm hệ số nén tương đối cao, đòi hỏi nhớ phương pháp thực đơn giản Tuy nhiên lại mắc nhược điểm chứa bảng mã tập tin nén nên hiệu nén tập tin lớn => khắc phục cách thực nén lần nhiều tập tin chuẩn bị truyền, làm coi thực nén tập tin lớn Phương pháp mã hóa theo khối (block cipher) Rijndael có thuật toán khác so với AES, điểm khác AES làm việc với khối cố định 128 bit độ dài khóa 128, 192 256 Trong đó, thuật toán Rijndael 20 linh động , cho phép kích thước khối mã khóa có độ dài bội số 32 bit nằm khoảng từ 128 đến 256 bit Nguyên lý giải “thiếu” “thừa” 1) Khi mã hóa văn theo khối thường xảy tình trạng khối cuối có kích thước ngắn kích thước key Một cách giải đơn giản hiệu cho trường hợp bổ sung số ký tự vào khối cuối để đạt kích thước cần thiết (gọi Padding Scheme) sau mã hóa bình thường khối trước Sau giải mã, ta cần cắt bỏ phần thông tin padding cuối văn ban đầu Có cách thực padding: Bit padding Vd: message có 23 bit, cần bổ sung thêm bit để đủ block 32 bit padding sau: (bit đánh dấu, bit lại 0) …|1011 1001 1101 0100 0010 0111 0000 0000 Byte padding (ANSI X.923, ISO10126 , PKCS7…) Vd:(ANSI X.923) block có kích thước bytes, có bytes nên cần bytes (các byte đầu 0, byte cuối cho biết số lượng byte thêm) | DD DD DD DD DD DD DD DD | DD DD DD DD 00 00 00 04 2) Trong vấn đề mật mã học bao gồm: Cryptography Cryptanalysis, Integrity, Non- repudiation Authentication, quan tâm đến vấn đề bảo mật thông tin bên (văn bản) mà chưa đề cập đến vấn đề bảo mật cho thông tin suy diễn được, thuộc vấn đề khác gọi Privacy Ví dụ việc đưa thư: kẻ xấu biết gửi vào thùng thư thư người đưa thư đến địa để gửi kẻ xấu biết thư thư gửi đến địa thùng thư có thư gửi vào Đây thông tin suy diễn Để tránh việc này, người ta bỏ thừa số thư vào thùng thư giả vờ gửi đến N địa điểm khác có thư thật địa điểm thật cần gửi Việc ngụy trang giúp thông tin không bị suy diễn Cách làm áp dụng để giải tình tương tự Privacy 21 10 Nguyên lý chuyển sang chiều khác Trong thuật toán mã hóa đối xứng AES, tác giả đưa không gian ký tự sang trường hữu hạn khác trường Galois (2 ) trang bị phép cộng phép nhân thực xử lý byte Kết biến đổi trung gian ma trận trạng thái khối liệu, tương ứng biểu diễn khóa dạng ma trận , nhờ áp dụng phép toán biến đổi ma trận trình mã hóa 11 Nguyên lý tác động theo chu kỳ Nguyên lý tác động theo chu kỳ ứng dụng nhiều mã hóa vấn đề liên quan: hàm băm, mã hóa đối xứng, mã hóa bất đối xứng…Mục đích làm cho trình mã hóa đạt đến độ phức tạp đủ an toàn để kẻ công khó mà tìm quy luật giải mã (trong mã hóa) làm cho sai khác dù nhỏ lan truyền tạo sai khác lớn để văn khác sau băm “chắc chắn” (hoặc khả giống vô thấp) khác (trong hàm băm mật mã) Dưới số phân tích cụ thể: 1) Trong mã hóa DES, quy trình mã hóa bao gồm nhiều chu kỳ mã hóa liên tiếp nhau; chu kỳ gồm nhiều thao tác mã hóa sử dụng khóa khác tương ứng cho chu kỳ Về khóa (key schedule) sử dụng chu trình, người ta tạo 16 khóa theo chế xoay vòng bit từ khóa cung cấp Nhưng khóa xoay bit theo cách thức nhau: subkey 1,2,9,16 xoay vòng vị trí subkey lại xoay vòng vị trí Sự thay đổi cách xoay vòng làm tăng thêm độ phức tạp, để kẻ công khó tìm quy luật bẻ gãy thuật toán phương pháp chìa khóa thích hợp 2) Trong hàm băm mật mã (MD5,SHA1…), văn cắt thành khối có chiều dài cố định phù hợp với kích thước khóa chiều dài chuỗi băm Áp dụng N chu kì với nhiều phép tính toán, cộng xor, kết hợp …để cuối từ văn băm chuỗi có kích thước cố định đặc trưng cho văn 22 12 Nguyên lý liên tục tác động có ích Trong mã hóa có kỹ thuật công khiến hệ thống mã hóa bất đối xứng RSA bị thương tổn, sử dụng kiểu công lặp liên tiếp Nghĩa là, với khóa công cộng {n,b} từ khóa C biết trước, ta có dãy sau: b b b C1 = C (mod n) , C2 = C1 (mod n), …, Ci=Ci-1 (mod n) = C b b…b Thay thế: Ci=Ci-1 (mod n) = C Ci = C (mod n) = (mod n) = (mod n) = C Tức ta tiếp tục mã hóa trở ký tự ban đầu C, ta lại tìm khóa giải mã tích (k-1) lần khóa b ( hay khóa giải mã a = b k- ) 13 Nguyên lý quan hệ phản hồi Trong giao dịch thường có phản hồi qua lại để biết “đối tác” có nhận thông báo đầy đủ chưa Trong giao thức trao đổi thông tin ứng dụng mạng (chẳng hạn TLS/SSL) vậy, để đảm bảo thông tin gửi đến nơi an toàn, bên nhận cần gửi thông điệp phản hồi chứa toàn thông tin nhận mã hóa thuật toán chung thỏa thuận để bên giải mã kiểm tra Nếu nội dung phản hồi phù hợp tiếp tục, ngược lại phải hủy bỏ giao dịch kịp thời để đảm bảo an toàn 14 Nguyên lý sử dụng trung gian 1) Trong trình thực giao dịch online, việc xác thực người dùng chữ ký điện tử gặp không vấn đề khó khăn, có vấn đề liệu bị công đường truyền gọi MIM(Main in Middle) Thông điệp đường bị chặn lại kẻ xấu, kẻ xấu thay khóa gửi đến nơi nhận (ngân hàng) Nơi nhận trả thông tin khóa tráo kẻ xấu, kẻ xấu chặn đường đọc thông tin gửi lại cho người chủ bên (khách hàng) khóa họ (Hình 2) Như vậy, kẻ xấu đọc trộm thông tin mà hai bên không phát tưởng dùng cặp khóa giao dịch Rõ ràng, lỗ hổng thực bên nhận không chứng thực public key có thuộc người chủ sở hữu hay không Để giải vấn đề này, hai bên sử dụng giấy chứng nhận 23 cấp bên trung gian tổ chức CA để xác thực với Khách hàng đăng kí thông tin cho CA ->CA cấp giấy chứng nhận cho khách hàng, khách hàng gửi thông điệp kèm giấy chứng nhận cho ngân hàng -> ngân hàng liên hệ CA để kiểm tra giấy chứng nhận có hợp lệ không tiến hành giao dịch Đương nhiên trường hợp này, CA phải tổ chức công khai có uy tín cao chịu trách nhiệm vấn đề Hình 2- Hình thức công Main in Middle 2) Giao thức Kerberos giao thức mật mã dùng để xác thực mạng máy tính hoạt động đường truyền không an toàn Giao thức Kerberos có khả chống lại việc nghe hay gửi lại gói tin cũ đảm bảo tính toàn vẹn liệu Giao thức nhằm vào mô hình máy khách-máy chủ đảm bảo chứng thực hai chiều, xây dựng dựa mật mã hóa khóa đối xứng cần đến bên thứ ba mà hai phía tham gia giao dịch tin tưởng Bên thứ ba gọi “trung tâm phân phối khóa”, đầu mút quan trọng thực thi chức năng: “máy chủ xác thực” “máy chủ cung cấp vé” toàn trình giao dịch 15 Nguyên lý “rẻ” thay cho “đắt” 1) Một ứng dụng mã hóa nén liệu, người ta tìm cách biểu diễn chuỗi ban đầu thành chuỗi có kích thước nhỏ tương đương (*) để làm gọn tập tin ban đầu, nhằm giảm bớt chi phí trình lưu trữ , 24 truyền tải, khắc phục hạn chế phình to liệu gây (vd: giới hạn băng thông mạng, thời gian truyền tải lâu, dễ xảy lỗi…) (*): tương đương nghĩa chuỗi ngắn đại diện khôi phục lại chuỗi ban đầu sau giải nén (nén không mát thông tin) VD: Phương pháp mã hoá độ dài loạt (Run-Length Encoding) : áp dụng cho chuỗi không chứa ký tự số đủ dài , không việc nén tăng thêm kích thước không giảm so với chuỗi gốc Chuỗi gốc: AAAABBBAAACCCCCCCC Chuỗi nén: 4A3B3A8C (con số cho biết số lượng ký tự liền sau viết liên tiếp) 2) Một dạng thứ kỹ thuật nén nén mát thông tin, thường áp dụng cho nén tập tin lớn hình ảnh, video, file nhạc, file đồ họa 3D…Mặc dù chất lượng sau giải nén không tốt ban đầu (vì có mát) nén nhanh so với nén không mát thông tin, dung lượng nén nhỏ chất lượng dù giảm mức chấp nhận (đôi mắt thường phân biệt mát nhỏ, không đáng kể) Tài liệu tham khảo Tài liệu Internet Giới thiệu mật mã học http://vi.wikipedia.org/wiki/M%E1%BA%ADt_m %C3%A3_h%E1%BB%8Dc Thuật toán mã hóa đối xứng http://vi.wikipedia.org/wiki/Thu%E1%BA%ADt_to %C3%A1n_kh%C3%B3a_%C 4%91%E1%BB%91i_x%E1%BB%A9ng Mật mã khóa công khai http://vi.wikipedia.org/wiki/M%E1%BA%ADt_m %C3%A3_h%C3%B3a_kh%C3 %B3a_c%C3%B4ng_khai Hàm băm mật mã học 25 http://vi.wikipedia.org/wiki/H%C3%A0m_b%C4%83m_m%E1%BA%ADt_m%C 3%A3_h%E1%BB%8Dc Giới thiệu phương pháp mã hóa Anberti http://www.cs.trincoll.edu/~crypto/historical/alberti.html Các thuật toán nén http://www1.hut.edu.vn/khoavien/khoadtvt/khoadtvt_homesite/bm_dt_th/datn/doan 05/chuong4.html Tài liệu văn Slide _ Phương pháp nghiên cứu khoa học tin học _ GS.TSKH Hoàng Kiếm Slide môn học Mã hóa thông tin ứng dụng _ TS Trần Minh Triết 26