Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu

75 193 1
Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu

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

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

Thông tin tài liệu

ii đại học thái nguyên V QUC THNH TèM HIU MỘT SỐ PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ KHÓA CÔNG KHAI ỨNG DỤNG TRONG BẢO MẬT DỮ LIỆU LUẬN VN THC S KHOA HC MY TNH thái nguyên - năm 2014 đại học thái nguyên ii V QUC THNH TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ KHĨA CƠNG KHAI ỨNG DỤNG TRONG BẢO MẬT DỮ LIỆU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01 Người hướng dẫn khoa học: TS NGUYỄN DUY MINH Thái Nguyên, 2014 i LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến TS.Nguyễn Duy Minh, người thầy giúp đỡ em suốt trình làm khóa luận, đồng thời người thầy hướng dẫn em bước để khám phá lĩnh vực đầy bí ẩn thách thức – lĩnh vực an toàn bảo mật liệu Em xin cảm ơn thầy, cô giảng dạy em suốt trình học tập Những kiến thức mà thầy cô dạy hành trang giúp em vững bước tương lai Em xin gửi lời cảm ơn đến tập thể lớp CK11G, tập thể lớp đoàn kết với người bạn không học giỏi mà ln nhiệt tình, người bạn giúp đỡ em suốt trình học tập Cuối em xin gửi lời cảm ơn sâu sắc tới gia đình em, người ln kịp thời động viên, khích lệ em, giúp đỡ em vượt qua khó khăn sống Thái Nguyên, tháng 08 năm 2014 Học viên Vũ Quốc Thịnh Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ ĐỊNH NGHĨA, VIẾT TẮT Advanced Encryption Standard (AES) Tiêu chuẩn tiên tiến Asymmetric key cryptography Mã hóa bất đối xứng Authentication Tính xác thực Cipher text Bản mã Concatenate frequency of pairs Tần số đơi móc xích Confidentiality Tính bảo mật Cryptannalysis Thám mã Cryptography Mật mã Cryptology Mật mã học Data Encryption Standard (DES) Tiêu chuẩn mã hóa liệu Decryption Giải mã Encryption Mã hóa Frequency Tấn số Integrity Tính tồn vẹn Key seed Mầm khóa Most Likelihood Ratio (MLR) Tỷ số hợp lý cực đại Non – repudation Tính khơng thể chối bỏ Plain text Bản rõ Private key Khóa bí mật Public key Khóa cơng khai Relative frequency Tần số tương đối Rivest, Shamir, & Adleman (RSA) Symmetric - key cryptography Mã hóa đối xứng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ MỤC LỤC LỜI CẢM ƠN i ĐỊNH NGHĨA, TẮT iv VIẾT MỤC v LỤC DANH MỤC HÌNH VẼ .viii LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ KHĨA CƠNG KHAI VÀ THÁM MÃ 1.1 Giới thiệu 1.2 Các khái niệm .3 1.2.1 Mật mã 1.2.2 Mật mã học 1.2.3 Bản rõ 1.2.4 Bản mã 1.2.5 Mã hóa .4 1.2.6 Giải mã 1.2.7 Khái niệm hệ mật mã 1.3 Phân loại hệ mật mã 1.3.1 Mã hóa đối xứng .6 1.3.2 Mã hóa bất đối xứng 1.4 Tiêu chuẩn đánh giá hệ mật mã 10 1.5 Hệ mật mã RSA .10 1.5.1 Mô tả hệ mật RSA 11 1.5.2 Thực thi hệ RSA 13 1.5.3 Độ an toàn hệ RSA 14 1.6 Thám mã .15 1.6.1 Khái niệm 15 1.6.2 Các bước để tiến hành thám mã 19 1.7 Kết luận 26 CHƯƠNG 2: CÁC PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ KHĨA CƠNG KHAI 27 2.1 Tính an tồn hệ mật mã 27 2.1.1 An tồn vơ điều kiện .27 2.1.2 An toàn chứng minh .27 2.1.3 An tồn tính tốn .27 2.2 Các kiểu thám mã 28 2.2.1 Tấn công dạng 1: Tìm cách xác định khóa bí mật 28 2.2.2 Tấn cơng dạng 2: Tìm cách xác định rõ 30 2.3 Một số sơ hở dẫn đến công hệ mật RSA 32 2.3.1 Biết (n) tìm p, q 33 2.3.2 Biết số mũ giải a 33 2.3.3 Giao thức công chứng .34 2.3.4 Giao thức số mũ công khai nhỏ 35 2.3.5 Giao thức số mũ bí mật nhỏ 37 2.3.6 Trường hợp tham số p-1 q-1 có ước nguyên tố nhỏ 39 2.4 Kết luận 42 CHƯƠNG 3: THỬ NGHIỆM PHƯƠNG PHÁP THÁM MÃ VỚI HỆ RSA 44 3.1 Mô tả tốn cơng RSA sử dụng modul chung .44 3.2 Thuật tốn cơng giao thức modul n chung .44 3.2.1 Kiểu công thứ nhất: Tấn công dựa số mũ mã hóa nguyên tố 44 3.2.2 Kiểu công thứ hai: Phân tích số modul n cách tìm bậc hai không tầm thường mod n .45 3.2.3 Kiểu cơng thứ ba: Sử dụng khóa cơng khai bí mật để sinh khóa bí mật người dùng khác 47 3.3 Thử nghiệm chương trình .48 3.3.1 Cơ sở lý thuyết 48 3.2.2 Thuật toán 49 3.3.3 Đánh giá kết Error! Bookmark not defined 3.3.4 Thử nghiệm .51 3.4 Kết luận 60 KẾT LUẬN 61 vii TÀI LIỆU THAM KHẢO 62 viii DANH MỤC HÌNH VẼ Hình 1.1: Q trình mã hóa giải mã Hình 1.2: Mã hóa thơng điệp sử dụng khóa cơng khai P Hình 1.3: Giải mã thơng điệp sử dụng khóa riêng người nhận Hình 1.4: Mã hóa thơng điệp sử dụng khóa bí mật S để mã thông điệp Hình 1.5: Giải mã thơng điệp sử dụng khóa bí mật S để giải mã thơng điệp Hình 1.6: Sơ đồ biểu diễn thuật tốn mã hóa RSA 13 Hình 3.1: Lưu đồ giải thuật thám mã RSA 50 Hình 3.2: Giao diện chương trình thám mã RSA 52 Hình 3.3: Nhập tham số RSA 53 Hình 3.4: Tính khóa bí mật d1, d2 54 Hình 3.5: Mã hóa 55 Hình 3.6: Mã hóa thơng điệp 56 Hình 3.7: Thám mã tìm khóa bí mật d1 57 Hình 3.8: Giải mã tìm rõ theo khóa d1 58 Hình 3.9: Giải mã tìm thơng điệp 59 LỜI NĨI ĐẦU Từ người có nhu cầu trao đổi thơng tin, thư từ với nhu cầu giữ bí mật bảo mật tính riêng tư thơng tin, thư từ nảy sinh Hình thức thơng tin trao đổi phổ biến sớm dạng văn bản, để giữ bí mật thông tin người ta sớm nghĩ đến cách che dấu nội dung văn biến dạng văn để người ngồi đọc khơng hiểu được, đồng thời có cách khơi phục lại nguyên dạng ban đầu để người hiểu được; theo cách gọi ngày dạng biến đổi văn gọi mật mã văn bản, cách lập mã cho văn gọi phép lập mã, cách khơi phục lại ngun dạng ban đầu gọi phép giải mã Phép lập mã phép giải mã thực nhờ chìa khóa riêng mà người biết gọi khóa lập mã Người ngồi dù có lấy mật mã đường truyền mà khơng có khóa mật mã hiểu nội dung văn truyền Trong số phương pháp đảm bảo an tồn thơng tin phương pháp mật mã hóa (Cryptography) sử dụng rộng rãi đảm bảo an toàn Tuy nhiên phương pháp mật mã hóa khơng tốt (mặc dù việc quản lý khóa mã giả thiết an tồn) nguy hiểm Vậy làm để đánh giá chất lượng hệ mã tốt? Có nhiều phương pháp đánh giá chất lượng hệ mật phương pháp Entropy Shannon, phương pháp tốt trực quan nhất, phương pháp phân tích trực tiếp mã khơng có khóa mã tay mà người ta thường gọi thám mã (Cryptannalysis) Hiện thám mã lĩnh vực thường quan tâm nghiên cứu cơng khai, cơng khai không đầy đủ Sự hiểu biết phương pháp thám mã nước nói chung hạn chế Tuy có nhiều cơng trình nghiên cứu thám mã việc đưa hệ quy trình thám mã chương trình thám mã mức độ hẹp khó khăn ứng dụng thực tế Ta a = 422191 - Khóa cơng khai K’ = (6012707, 374911) Khóa bí mật K’’ = (422191) * Mã hóa: (i) Lập mã - Cho rõ x = 5234673 b - Tính mã y = x mod n = 3650502 (ii) Giải mã a Từ mã y, tính rõ x = y mod n = 5234673 3.2.2 Thuật toán Bài toán: Bài toán thám mã yêu cầu từ liệu đầu vào thuật toán RSA công khai với cặp rõ, mã tương ứng Người thám mã sử dụng khóa cơng khai bí mật để sinh khóa bí mật người dùng khác từ giải mã tìm rõ Tức vào số mũ mã hóa cơng khai e1, người giữ cặp số mũ mã hóa/giải mã e2, d2 tìm số nguyên d1’ cho e1.d1’ = mod (n) mà không cần biết (n) Input: e1, e2, d2 Output: d1’ Cụ thể, thủ tục tìm số d1' thể qua lưu đồ giải thuật thám mã (Hình 3.1) BEGIN e2, d2, e1 t=e2*d2-1 f=gcd(e1,t) r,s|r*t+s*e1=f False f=1 t=t/f True d’1=s d’1| e1* d’1=1modΦ(n) END Hình 3.1: Lưu đồ giải thuật thám mã RSA Ưu điểm Thuật tốn thực việc tìm kiếm khóa bí mật với độ phức tạp O(log2n) Vì thời gian tính tốn khóa bí mật nhanh, mối đe dọa hệ thống Nhược điểm Thuật toán thực trường hợp hệ thống ký số RSA sử dụng mô đun chung Kết luận Giao thức mô đun chung gặp thất bại việc đảm bảo tính bí mật thơng tin gửi tính xác thực chữ ký số Vì vậy, việc thiết kế giao thức với hệ mật RSA cần chánh việc sử dụng mô dun chung 3.3.3 Thử nghiệm Chương trình minh hoạ thám mã hệ mật RSA viết dạng modul ngôn ngữ C#; giao diện hiển thị viết ngôn ngữ Visual Studio, kết nối modul chương trình Các số nhập vào kết in hiển thị theo số 10 quen thuộc với người sử dụng nhờ chương trình chuyển đổi từ số 256 sang số 10 ngược lại - Đầu vào chương trình: n, e1, e2, Y1, Y2 Khối văn cần mã hóa (khơng phân biệt chữ hoa hay chữ thường, dùng bảng mã chuẩn ASCII (mã Unicode), văn nhập trực tiếp từ giao diện chương trình - Đầu ra: khóa bí mật, văn M Hình 3.2: Giao diện chương trình thám mã RSA Chương trình thám mã hệ mật RSA bao gồm modul chính: - Tham số RSA: p, q, n, (n), e1, e2, d1, d2 - Tham số mã hóa: Bản rõ, mã theo e1, mã theo e2, mã hóa theo e1, mã hóa theo e2, giải mã theo d1, giải mã theo d2, thám mã - Thông điệp, mã thông điệp Bước 1: Chọn độ dài cho hai số nguyên tố p q Tính n = p*q (n) = (p - 1).(q - 1) Hình 3.3: Nhập tham số RSA Bước 2: Nhập e1, e2 -1 Tính d1 = e1 mod Φ(n) -1 d2 = e2 mod Φ(n) Hình 3.4: Tính khóa bí mật d1, d2 Bước 3: Chọn mã Mã hóa theo e1: e1 c1 = m mod n Mã hóa theo e2: e2 c2 = m mod n Hình 3.5: Mã hóa Bước 4: Chọn thông điệp muốn gửi tiến hành mã hóa mã hóa thơng điệp Hình 3.6: Mã hóa thơng điệp Bước 5: Thám mã tìm khóa bí mật d1 Đặt t = e2d2 - 1; Sử dụng thuật tốn Euclid mở rộng để tìm ước số chung lớn f e t Đồng thời tìm hai số r s thoả r.t + s.e1 = f Nếu f = đặt d1’ = s ta tìm khóa bí mật d1 Hình 3.7: Thám mã tìm khóa bí mật d1 Bước 6: Giải mã tìm rõ theo khóa bí mật d1 d1 m = c mod n Hình 3.8: Giải mã tìm rõ theo khóa d1 Bước 7: Giải mã tìm thơng điệp ban đầu: sau tìm khóa bí mật d1 ta dễ dàng tìm rõ công thức m = c d1 mod n, rõ biết dễ dàng giải mã đưa thơng điệp ban đầu Hình 3.9: Giải mã tìm thơng điệp 3.4 Kết luận Qua ba cách cơng kết luận giao thức số modul chung gặp thất bại việc bảo đảm bí mật văn cung cấp việc xác thực cho chữ ký người dùng hệ thống Vì vậy, việc thiết kế giao thức với thuật toán RSA, việc sử dụng số modul chung cần phải tránh Cụ thể, người thiết kế giao thức phải lưu ý xem đối thủ làm với mã mà rõ chúng có liên quan (trong ví dụ giống nhau) khóa họ có liên quan (trong ví dụ ngun tố nhau) Có thể đưa hai nguyên tắc sau áp dụng RSA là, cần phải đảm bảo: Thơng tin cặp số mũ mã hóa/giải mã với số modul cho có khả đối phó với thuật tốn xác suất phân tích số modul Thơng tin cặp số mũ mã hóa/giải mã với số modul n cho có khả đối phó với thuật tốn tất định để tính tốn cặp mã hóa/giải mã khác mà khơng cần xác định trước (n) KẾT LUẬN Kết đạt Qua kết thực luận văn tốt nghiệp, em nhận thấy việc nghiên cứu giao thức sử dụng mật mã khố cơng khai vấn đề quan trọng lĩnh vực nghiên cứu mật mã đại Các hệ mật, lược đồ chữ ký thường sử dụng giao thức Độ bảo mật hệ mật cao chúng dùng giao thức có độ an tồn cao Có hai hướng nghiên cứu độ an toàn giao thức Hướng thứ ta tạm gọi hướng lý thuyết, chẳng hạn dùng Logic BAN để nghiên cứu, đánh giá Hướng thứ hai nghiên cứu công vào giao thức cụ thể Nội dung luận văn theo hướng thứ hai Khi nghiên cứu giao thức yếu sử dụng hệ mật mã khố cơng khai, biết nhiều giao thức khơng đạt độ an toàn mong muốn Việc nghiên cứu phương pháp công giao thức yếu sử dụng mật mã khố cơng khai điểm bắt đầu tốt để tiếp tục nghiên cứu công giao thức có độ an tồn cao Kết luận văn tìm hiểu nghiên cứu tài liệu để hệ thống lại vấn đề sau: - Trình bày số khái niệm mã hóa liệu, thám mã - Trình bày số sơ hở hệ mật mã khóa cơng khai, từ có khả thám mã cách phòng tránh - Nghiên cứu đánh giá phương pháp thám mã hệ mật RSA - Xây dựng chương trình cơng hệ mật RSA sử dụng modul n chung Mặc dù có nhiều cố gắng nhằm hồn thành luận văn có chất lượng được, song hạn chế mặt thời gian trình độ tốn học, luận văn em số vấn đề chưa giải Đó so sánh độ phức tạp thuật tốn đề xuất với độ phức tạp thuật toán khác Hy vọng thời gian tới, với góp ý, giúp đỡ thầy em hoàn thiện vấn đề đặt phương pháp Hướng phát triển đề tài Xây dựng chương trình thám mã hệ mật RSA ứng dụng thực tế, ví dụ cho rõ tiếng Việt có dấu nhiều phương pháp công khác để từ nâng cao độ an tồn hệ mật mã việc tìm sơ hở việc thám mã giúp cho việc phát triển hệ mật mã an toàn TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hồ Văn Canh - Nguyễn Viết Thế (2010), Nhập mơn phân tích thơng tin có bảo mật , Nhà xuất Thông tin truyền thông [2] Nguyễn Văn Tảo - Hà Thị Thanh - Nguyễn Lan Oanh, Giáo trình An tồn bảo mật thơng tin, Đại học Công nghệ thông tin & Truyền thông - Đại học Thái Nguyên [3] Trịnh Nhật Tiến ( 2008), Giáo trình An tồn liệu, Trường Đại học Công Nghệ - ĐHQGHN [4] Đặng Văn Cương (2003), Vấn đề an tồn hệ mật mã khóa cơng khai, Luận văn cao học - Khoa CNTT - Đại học Công nghệ - Đại học Quốc gia Hà Nội [5] Nguyễn Bình, Mật mã lý thuyết thực hành, Cục Kỹ thuật – Viện Kỹ thuật Thông tin [6] Phan Đình Diệu (1999), Giáo trình lý thuyết mật mã An tồn thơng tin, Nhà xuất Đại học Quốc Gia Hà Nội Tiếng Anh [7] Mark Stamp Richard M.Low: “Applied Cryptanalysis”, A John Wiley & Sons INC publication, San Jose state University, San Jose CA 2007 [8] Fauza Mirzan (2000), Blook Ciphersand Cryptanalysis, Department of Mathematics, Royal Holloway University of London [9] D.Bleichenbacher, Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1 [10] D.R.Stinson (Douglas Robert) (1995), Cryptography: Theory and Practive [11] H.M.Deitel, P.J.Deitel, (1994), C How to program, Vol.II Prentice-Hall, United State of America [12] J.H.Moore, (1991), Protocol Failures in Cryptosystems, Contemporary Cryptology The Science of Information Intergrity, pp 541-558 [13] Dan Bonel (1999): Twenty years of Attacks on the RSA cryptosystem [14] M Wiener: Cryptanalysis of Short RSA secret exponents, IEEE Trans, inform Theory 36 (1990) ... dòng mã đối xứng, mã bất đối xứng giúp hiểu sở lý thuyết hệ mật mã Vấn đề thám mã nói chung thám mã hệ mật RSA em trình bày kỹ chương Chương 2: “Các phương pháp thám mã hệ mật mã khóa cơng khai ... ninh thơng tin tình hình nên em chọn đề tài Tìm hiểu số phương pháp thám mã hệ mật mã khóa công khai ứng dụng bảo mật liệu nhằm nghiên cứu ứng dụng Trong khuôn khổ đề tài giao, luận văn trình... VŨ QUỐC THỊNH TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ KHĨA CƠNG KHAI ỨNG DỤNG TRONG BẢO MẬT DỮ LIỆU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01 Người

Ngày đăng: 22/01/2019, 08:20

Từ khóa liên quan

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

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

Tài liệu liên quan