Bài tập lớn môn An Toàn Thông Tin: Hệ mật mã khóa công khai

23 8 0
  • Loading ...
1/23 trang

Thông tin tài liệu

Ngày đăng: 15/03/2019, 10:56

LỜI NÓI ĐẦU Chúng ta biết Nhà nước ta tiến hành cải cách hành chính, việc xây dựng phủ điện tử đóng vài trò trọng tâm Nói đến phủ điện tử nói đến vấn đề hạ tầng máy tính, người, tổ chức, sách, an tồn – an ninh thơng tin… Trong đảm bảo an tồn – an ninh thơng tin cho dịch vụ đóng vai trò quan trọng thơng tin mà khơng đảm bảo an tồn – an ninh, đặc biệt thơng tin nhậy cảm việc xây dựng phủ điện tử, thương mai điện tử trở lên vơ nghĩa lợi bất cập hại Xây dựng sách, đảm bảo an ninh – an tồn thơng tin liên quan chặt chẽ đến việc xây dựng hệ thống mật mã khóa công khai, viết tắt PKC (Public Key Cryptosystems) Trong thời đại cơng nghệ thơng tin giấy tờ khơng phải cách chứng nhận thỏa thuận bên Ở nhiều nước tiên tiến, thỏa thuận thông qua hệ thống thông tin điện tử bên hợp pháp hóa có giá trị tương đương với thỏa thuận thông thường mặt pháp lý Sự kiện đánh dấu bước nhảy quan trọng việc phát triển phủ điện tử, thương mại điện tử Tuy nhiên dự án chưa triển khai rộng rãi nhiều nguyên nhân khác Một nguyên nhân quan trọng người dùng ln cảm thấy không an tâm sử dụng hệ thống Chẳng hạn gửi mẫu tin văn bản, hình ảnh, video… người nhận có quyền nghi ngờ thơng tin có phải đối tác khơng… Những vấn đề thu hút ý nhiều nhà khoa học lĩnh vực nghiên cứu bảo mật thông tin Đây nguyên nhân giải thích PKC ngày trọng nghiên cứu, phát triển Đến nước tiên tiến giới ứng dụng thành công PKC Ở Châu Á nhiều nước có ứng dụng mức độ khác Singapore, Hàn Quốc, Trung Quốc, Thái Lan… Trong Singapore, Hàn Quốc sẵn sàng tài trợ chính, kỹ thuật, chuyên gia lĩnh vực mật mã sang giúp Việt Nam xây dựng hệ thống PKC Do vấn đề mới, nhậy cảm, gắn liền với bảo mật thơng tin nên cần tìm hiểu thận trọng, sâu sắc vấn đề Đây vấn đề cấp thiết nên không nghiên cứu Là kỹ sư công nghệ thông tin có nhiệm vụ nghiên cứu, tìm hiểu sâu sắc vấn đề quan trọng cấp bách nhằm đảm bảo an ninh – an toàn thơng tin, điều có ý nghĩa hội nhập WTO, làm chủ công nghệ giúp giữ vững an ninh quốc gia, thúc đẩy phát triển kinh tế - xã hội Xuất phát từ lý trên, trí nhà trường thầy giáo hướng dẫn, em chọn đề tài “Tìm hiểu trình bầy hệ mật mã khóa cơng khai” làm đề tài nghiên cứu MỤC LỤC Trang Lời nói đầu…………………………………………………………………………1 Khái niệm………………………………………………………………4 1.1 Vấn đề sử dụng phân phối khóa…………………………………… 1.2 Các yêu cầu loại hệ mã PKC……………………………………….4 1.3 Các mơ hình sử dụng PKC.…………………………………………….5 1.4 Cấu trúc PKC……………………………………………………….5 1.5 Một số hệ mật mã bất đối xứng thông dụng…………………………….5 Hệ mã knapsack 2.1 Bài tốn xếp ba lơ……………………………………………………….6 2.2 Cách xây dựng hệ mã knapsack……………………………………… Ưu nhược điểm hệ mật mã khóa cơng khai…………………… 3.1 Ưu điểm…………………………………………………………………7 3.2 Nhược điểm…………………………………………………………… Hệ mật mã RSA……………………………………………………… 4.1 Định lý RSA…………………………………………………………….7 4.2 Thuật giải RSA………………………………………………………….7 Hệ mã Difie – Henman……………………………………………… 11 Hệ mã El Gamal (1985)……………………………………………… 11 6.1 Mã hóa………………………………………………………………… 11 6.2 Giải mã………………………………………………………………….11 Phần silde………………………………………………………………………… 13 Khái niệm Để khắc phục vấn đề phân phối thỏa thuận khóa mật mã khóa bí mật, năm 1976 Diffie Dellman đưa khái niệm mật mã khóa cơng khai phương pháp trao đổi khóa cơng khai để tạo khóa bí mật chung tính an tồn bảo đảm độ khó tốn học tính Logarit rời rạc Hệ mật mã khóa cơng khai sử dụng cặp khóa, khóa dùng để mã hóa gọi khóa cơng khai (Public key), khóa dùng để giải mã gọi khóa bí mật (Private key), ngun tắc khóa cơng khai khóa bí mật khác Một người có khả sử dụng khóa cơng khai để mã hóa tin có người có khóa bí mật giải mã tin Mật mã khóa cơng khai (Public key) hay gọi mật mã bất đối xứng mơ hình mã hóa chiều sử dụng cặp khóa khóa riêng (Private key) khóa cơng khai (Public key) Khóa cơng khai dùng để mã hóa, khóa riêng dùng để giải mã Hệ thống mật mã khóa cơng khai sử dụng với mục đích: - Mã hóa: Giữ bí mật thơng tin có người có khóa bí mật giải mã Tạo chữ ký số: Cho phép kiểm tra văn có phải tạo với khóa bí mật hay khơng Thỏa thuận khóa: Cho phép thiết lập khóa dùng để trao đổi thơng tin mật bên Các hệ mật mã khóa cơng khai biết đến nhiều hệ RSA Trong hệ mật mã khóa cơng khai hệ RSA cộng đồng Quốc tế chấp nhận ứng dụng rộng rãi 1.1 Vấn đề sử dụng phân phối khóa Hệ mật bất đối xứng khắc phục tính chất phức tạp việc phân phối khóa hệ mật đối xứng cho phép giao tiếp đối tượng cách uyển chuyển , dễ dàng Sử dụng hai khoá Kp (public key ) Ks (private key ) để mã giải mật Có hai mode làm việc : Bảo mật : Mã public key → giải mật private key Xác thực : Mã private key → giải mật public key 1.2 Các yêu cầu loại hệ mã PKC - Việc sinh KP, KS phải dễ dàng - Việc tính E(KP, M) dễ dàng - Nếu có C = E(KP, M) KS dễ ràng giải mật - Nếu biết KP việc dò tìm KS khó - Rất khó tìm rõ từ mã khơng biết khóa 1.3 Các mơ hình sử dụng PKC 1.3.1 Mơ hình bảo mật Hình 1: Mơ hình sử dụng hệ mã hóa cơng khai PKC Ciphertext = E(KP,P) , Plantext = D(KS, E(KP,P)) 1.3.2 Mơ hình xác thực Hình 2: Mơ hình sử dụng hệ mã hóa cơng khai PKC Ciphertext = D(KS, P) , Plaintext = E(KP, D(KS, P)) 1.4 Cấu trúc PKC - PKC xây dựng hàm chiều (one way functions) - f : X → Y hàm biết x є X → dễ dàng tính y = f(x) Nhưng với y є Y việc tìm x є X: y = f(x), có nghĩa tìm hàm ngược f-1 khó - Ví dụ : với P є { P1, P2, , Pn } việc tính N = P1 * P2 * * Pn dễ tìm Pi є {P} với N đủ lớn ( phân tích ngược – phân rã SNT) tốn khó - Trong hệ mã PKC sử dụng “trapdoor” giúp cho việc tìm x : y = f(x) dễ dàng Hàm (trapdoor function): hàm chiều việc tính f-1 nhanh biết “trapdoor” 1.5 Một số hệ mật mã bất đối xứng thông dụng - Hệ mã Knapsack - RSA ( Rivest, Adi Shamir, and Leonard Adleman) RSA dùng để bảo mật tạo “digital signatures” Diffie-Hellman “Diffie-Hellman key exchange” sử dụng để truyền khóa mật mã kênh cơng khai , khơng dùng để mã hố thơng điệp ECC The Elliptic Curve Cryptosystem (ECC) sử dụng thiết bị nhỏ , thơng minh “ cell phones” “wireless” El Gamal thuật giả dùng để truyền “digital signatures” “ key exchanges”(Cũng tương tự Diffie-Hellman “ The El Gamal gọi DSA Hệ mã knapsack Hệ mã knapsack Merkle Hellman (năm 1978) 2.1 Bài tốn xếp ba lơ - Cho M, N A1, A2, , AN số nguyên dương Hỏi có tồn véc tơ nhị phân x=(x1, x2,…, xN) cho - Vectơ A = (A1, A2, , AN) gọi vectơ “xếp balô” Vectơ X = (x1, x2, …, xN) vectơ nghiệm Đây tốn khó có thời gian hàm mũ O(2N) Nếu S dãy siêu tăng tốn giải với thời gian tuyến tính ON - Vector siêu tăng : Dãy A=(Ai ) gọi siêu tăng với Ai>ΣAj (j=1, i-1) (tức phần tử đứng sau lớn tổng phần tử đứng trước - Khi tốn balo phát biểu sau: - Cho M, N A’=(A’1, A’2, , A’N ) dãy siêu tăng Hỏi có tồn véc tơ nhị phân x=(x1, x2,…, xN) cho: M=Σi=1xi Ai (i=1 N)) * Vecto xếp ba lô siêu tăng: - Một trường hợp riêng đáng quan tâm tốn xếp ba lơ tổng qt trừờng hợp mà xi є {0, 1} Khi ta có tốn “xếp ba lơ” 0, - Trong trường hợp vecto (A1, A2, , AN) lại thành (A’1, A’2, , A’N) cho: i ta có : vecto (A1, A2, , AN) gọi vecto xếp balo siêu tăng - Khi (A’1, A’2, , A’N) vecto “xếp balo” siêu tăng ta có tính chất : Với i : M ≥ A’ Do việc giải tốn xếp ba lơ 0/1 trở nên dễ dàng nhiều  Thuật giải tốn xếp balơ: For i:=N downto Begin If M>=ai then xi=1 else xi:=0; C := C - xi.ai ; end; If C=0 then “bài tốn có đáp án véc tơ x” else “bài tốn khơng có đáp án”; 2.2 Cách xây dựng hệ mã knapsack 1.Chọn vecto siêu tăng A’ = (a’1, a’2, , a’N), Chọn M > * a’N, chọn ngẫu nhiên u < M : (u, M) = 3.Xây dựng Vecto S = (s1, s2, , sN) với si = (a’i * u) mod M 4.Khóa: KP = (S, M), KS = (u, u-1) 5.Không gian rõ : dãy N bit : P = (x1, x2, , xN) 6.Mã hóa : 7.Giải mã: Tính C’ = C * u-1 mod M sau giải tốn xếp ba lơ 0/1 với A’, C’ từ tìm được: P = (x1, x2, , xN) Ưu nhược điểm hệ mật mã khóa cơng khai 3.1 Ưu điểm Ưu điểm hệ mật mã khóa cơng khai giải vấn đề phân phối khóa trao đổi khóa thuận lợi Một số ứng dụng quan trọng phổ biến xác thực chữ ký số mà hệ mật mã khóa đối xứng chưa giải 3.2 Nhược điểm Nhược điểm hệ mật mã khóa cơng khai tốc độ mã hóa/ giải mã chậm (chậm khoảng ngàn lần so với mật mã khóa đối xứng mã DES chẳng hạn) phải sử dụng đến số nguyên tố lớn trường hữu hạn Hệ mật mã RSA Hệ mật mã RSA Rivest, Shamir, Adleman tìm ra, cơng bố lần vào tháng năm 1977 tạp chí Scientific American Hệ mật mã RSA sử dụng rộng rãi thực tiễn đặc biệt lĩnh vực bảo mật xác thực liệu số Tính bảo mật an toàn chúng đảm bảo tốn phân tích số ngun thành thừa số nguyên tố 4.1 Định lý RSA - Cho p,q hai SNT phân biệt N=pq - Có hàm φ = φ (n)=(p-1)(q-1), 1≤e≤ φ, (e, φ)=1, Tính : d = e-1mod φ, 1100 chữ số) - Cho ngẫu nhiên số eϵ]1, φ[ thoả (e, φ)=1 Sử dụng thuật giải Bezout tính số nghịch đảo d ϵ]1, φ[ = e-1 mod φ ; ed ≡ mod φ - Cặp (e ,N) khóa cơng khai (Kp ) - Cặp (d,N) khóa nhân – khóa bí mật (Ks ) 4.2.2 Mã hóa giải mã Mã hóa - Tạo cặp khóa cơng khai (e,N), thơng điệp rõ dạng số nguyên dương m ; mϵ[0,N[, m – văn rõ (plaintext) - Tính c: c = memodN, c – văn mật (ciphertext) Giải mật - Phục hồi lại văn rõ m từ văn bảo mật c, ta sử dụng cặp khóa cá nhân (d,N) để tính m; m = cd modN 4.2.3 Độ an toàn RSA - Độ an toàn RSA phụ thuộc vào độ khó việc tính φ (N) Muốn , cần phân tích N thừa số nguyên tố - Thuật toán Brent-Pollard thuật tốn phân tích số ngun tố hiệu - Việc sử dụng RSA cần tới số nguyên tố lớn nên phải có sở liệu số nguyên tố - Tốc độ RSA chậm phải tính số lượng lớn phép nhân Phép nhân số n bit cần thực O(n2) phép tính bit Thuật tốn nhân số ngun Schonhage – Strassen cho phép nhân số với độ phức tạp O(n log n) Hình 3: Tốc độ thuật toán Brent – Pollard  Hiện tượng lộ rõ - Hệ mã RSA có N = p*q = 5*7, e = 17, với m = ta có C = 617 mod N = - Hệ mã RSA có N = p*q = 109*97, e = 865, với m ta có me mod N = M - Với hệ mã RSA có N = p*q e bất kỳ, số lượng rõ bị lộ mã hóa (1 + (e-1, p-1))*(1 + (e-1, q-1)) - Trong thực tế RSA thường sử dụng với thơng điệp có kích thước nhỏ (secsion key), thường sử dụng lai ghép với hệ mật đối xứng (DES,AES…) 4.2.4 Một số vấn đề xung quanh thuật toán RSA - Vấn đề chọn p q: + p q phải số nguyên tố lớn, cỡ 100 chữ số + p q phải lớn cỡ xấp xỉ ( độ dài 100 chữ số chẳng hạn) - Một vài số tốc độ thuật toán cài đặt: So sánh với DES RSA: Có tốc độ chậm nhiều Thường thì, RSA chậm 100 lần cài đặt phần mềm, chậm từ 1000 đến 10,000 lần cài đặt phần cứng (còn tùy cách cài đặt) Kích thước khố mật lớn nhiều - Vấn đề tìm số nguyên tố lớn: Một thuật toán để tạo tất số nguyên tố khơng tồn tại, nhiên có thuật tốn hiệu để kiểm tra xem số cho trước có phải ngun tố hay khơng (bài tốn kiểm tra tính ngun tố) Thực tế, việc tìm số nguyên tố lớn cho RSA vòng lặp sau: Chọn số ngẫu nhiên p nằm khoảng có độ lớn u cầu (tính theo bit) Kiểm tra tính nguyên tố p, ngun tố dừng lại, khơng quay lại bước Những thuật toán tất định để kiểm tra tính nguyên tố tốn thời gian đòi hỏi thực máy tính có tốc độ cao Tuy nhiên người ta sử dụng thuật tốn xác suất, có khả „đốn‟ nhanh xem số có phải ngun tố khơng Các thuật tốn xác suất khơng đưa định tuyệt đối, gần tuyệt đối; tức xác suất báo sai làm nhỏ tùy ý, phụ thuộc vào thời gian bỏ - Về tốn phân tích thừa số ngun tố Giải thuật tốt phương pháp sàng số Một ước lượng thời gian thực giải thuật là: Trong log2n cho số biết số bit cần để biểu diễn n, số cần phân tích thừa số nguyên tố Từ rút ra, tăng n lên thêm 50 bit (quãng 15 chữ số thập phân) thời gian làm phân tích thừa số nguyên tố tăng lên 10 lần Vào năm cuối kỷ 20, người ta ước lượng thấy, với n=200, L(n) ≈ 55 ngàn năm Đối với khả thực xử lý song song, kết tốt phân tích TSNT với số lớn cho biết phân tích số có 129 chữ số, phân bố tính tốn tồn mạng Internet trọn tháng 4.2.5 Điểm yếu giải thuật RSA - Trong hệ RSA, tất thông tin che giấu tốt, tức khoá tốt làm rõ thay đổi hồn tồn - Đối với khố tồn rõ bị ‘phơi mặt’, nhiên n ≥ 200 điều khơng quan trọng Mặc dù phải ý e khơng chọn cẩn thận gần đến 50% rõ bị lộ Người ta cho tránh tình số nguyên tố chọn AN TOÀN Một số nguyên tố gọi AN TOÀN p=2p+1 p số nguyên tố 4.2.6 Ứng dụng RSA - Bảo mật thông điệp : Sử dụng khố cơng khai bên nhận để mã , khoá riêng bên nhận để giải mã - Xác thực thơng điệp : Dùng khố cá nhân bên gửi để mã , khố cơng khai bên gửi để giải mã 4.2.7 Phạm vi ứng dụng RSA  - Mạng hành cơng , E-Business , E-Government Kinh doanh thương mại điện tử : Thanh toán điện tử,bảo mật liệu điện tử,chứng thực chữ ký điện tử Đào tạo ,thi cử từ xa,bảo mật liệu tuyển sinh Ngân hàng thương mại : Giao dịch, toán qua mạng Xuất nhập cảnh Hệ mã Difie – Henman Được sử dụng chế phân phối khóa hệ mật đối xứng Tạo khóa Ta có p số nguyên tố (p є Zp) 10 - Giả sử α ϵ Zp số nguyên thuỷ (primitive element ) Các giá trị p α công bố công khai mạng UID thông tin định danh hợp lệ cho user U mạng (“tên”,” email address”,” telephone number”…) - Từng “user U,V” có số mũ au ,aV với (0 ≤au ,aV ≤ p-2), tính giá trị bU ,bV công khai tương ứng : bU = αau modp bV = αav modp - Khoá chung K u,v tính Ku,v = αau ,av modp  Thuật giải - Input : p SNT α primitive element ϵ Z * p → truyền công khai mạng Từng “user U,V” có số mũ au ,av với : (0 ≤ au , av ≤ p-2), - Output: Hai bên tính bu = αau mod p bv =αav mod p Hai bên gửi cho : bu bv - Bên V tính : KU,V=αau ,av mod p = buav mod p Dùng bU từ U với giá trị mật au - Bên U tính : KU,V=αau ,av mod p = bvau mod p Dùng bV gửi từ V với giá trị mật av Hệ mã El Gamal (1985) - Là biến thể sơ đồ Diffie – Hellman - Tính an tồn dựa tính khó giải tốn logarit rời rạc - Nhược điểm chính: kích thước thơng tin sau mã hóa tăng gấp đơi so với thơng tin gốc - Giống hệ mã khóa cơng khai khác , El Gamal làm việc với tốc độ thấp (việc với số nguyên lớn) - Cần nhớ lớn dành cho việc lưu trữ khóa - Với hệ mã El Gamal cần gấp đôi nhớ để chứa mã so với hệ mã khác 6.1 Mã hóa - Chọn pє Zp α
- Xem thêm -

Xem thêm: Bài tập lớn môn An Toàn Thông Tin: Hệ mật mã khóa công khai , Bài tập lớn môn An Toàn Thông Tin: Hệ mật mã khóa công khai

Từ khóa liên quan

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay