Hệ mật RSA và ứng dụng lược đồ chữ ký số trong xác thực thông tin

12 769 1
Hệ mật RSA và ứng dụng lược đồ chữ ký số trong xác thực thông tin

Đ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

Đỗ Thanh Bình Tóm tắt luận văn thạc sĩ Hệ mật RSA ứng dụng lược đồ chữ ký số xác thực thông tin : Luận văn ThS Công nghệ thông tin : 60 48 10 / Đỗ Thanh Bình ; Nghd : PGS TS Đoàn Văn Ban Luận văn với đề tài “Hệ mật RSA ứng dụng lược đồ chữ ký số xác thực thông tin” nghiên cứu ứng dụng hệ mật mã RSA mã hóa liệu Nội dung chia thành chương sau: Chương I: Tổng quan hệ mật mã Giới thiệu mô hình số hệ mật mã ứng dụng hệ mã dịch vòng, mã thay thế, hoán vị, hệ mật mã RSA, v.v Chương II: Hệ mật mã khoá công khai RSA Nghiên cứu vấn đề liên quan đến hệ mật mã khoá công khai RSA; phương pháp lập mã giải mã; đặc điểm độ an toàn hệ mật; vấn đề quản lý khoá, phân phối khoá Chương III: Lược đồ chữ ký số RSA Giới thiệu chữ ký số RSA, ứng dụng chữ ký số việc xác thực liệu; lược đồ chữ ký số; v.v Chương IV: Chương trình mã hoá liệu Ứng dụng sở lý thuyết nghiên cứu để xây dựng chương trình mã hoá ứng dụng kỹ thuật mã khoá bí mật, mã khoá công khai lược đồ chữ ký số Đỗ Thanh Bình Tóm tắt luận văn thạc sĩ CHƯƠ G – TỔ G QUA VỀ CÁC HỆ MẬT MÃ 1.1 Hệ mật mã cổ điển 1.1.1 Hệ thống truyền tin mật Nhiệm vụ mã mật tạo khả liên lạc kênh công cộng (công khai) hai người sử dụng cho người thám mã giữa, giả thiết thu đầy đủ thông tin kênh, mà hiểu nội dung rõ truyền Thông tin người gửi có cấu trúc tuỳ ý; người gửi mã hoá tin rõ khoá xác định trước gửi mã tới người nhận qua kênh công cộng Người nhận nhờ có khoá mật kD nên dễ dàng giải mã để nhận rõ Bản rõ Nguồn tin Bộ mã hoá Kênh truyền Bản rõ Bộ giải mã Bản mã (Người gửi) KE KD Nhận tin (Người nhận) Thám mã (Người thám mã) Kênh an toàn (truyền khoá) Nguồn khoá H1.1: Sơ đồ khối hệ thống truyền tin mật Định nghĩa 1.1: Một hệ mật gồm tham số (R, M, K, E, D) thoả mãn điều kiện sau: 1) R tập hữu hạn rõ 2) M tập hữu hạn mã 3) K (không gian khoá) tập hữu hạn khoá 4) Đối với k∈ K có quy tắc giải mã ek: P → C quy tắc giải mã tương ứng dk ∈ D Mỗi ek: R → M dk: M → R hàm mã: dk(ek(x)) = x với rõ x ∈ R 1.1.2 Một số hệ mật mã kinh điển a) Mã dịch vòng Hệ mật xây dựng dựa số học modulo Ký hiệu m số chữ chữ xây dựng rõ R Theo định nghĩa 1.1, cho R = M = K = Zn với ≤ k ≤ (m - 1) x, y ∈ Zm; Zm không gian chữ cái, ta định nghĩa: Đỗ Thanh Bình 23 Tóm tắt luận văn thạc sĩ KẾT LUẬ Nội dung luận văn nghiên cứu vấn đề lý thuyết hệ mật mã khoá công khai RSA Kỹ thuật mã khoá công khai RSA ứng dụng việc phân phối khoá công khai sử dụng để mã hoá phân phối khoá bí mật Ngày nay, việc phân phối khoá công khai sử dụng chứng khoá công khai phương án dùng phổ biến Luận văn tập chung nghiên cứu lược đồ chữ ký số RSA ứng dụng Một ứng dụng quan trọng chữ ký số vấn đề xác thực thông tin/dữ liệu Trên sở vấn đề lý thuyết, tác giả xây dựng chương trình mã hoá liệu đảm bảo yêu cầu bảo mật thông tin trình truyền tin Thông tin mã hoá phía người gửi giải mã phía người nhận, đồng thời có chế để người nhận kiểm tra tính xác thực thông tin nhận Cơ chế phân phối khoá công khai thực việc trao đổi chứng khoá công khai Việc mã hoá liệu thực thuật toán mã hoá khoá đối xứng AES để đảm bảo yếu tố tốc độ mã hoá; thuật toán mã khoá công khai RSA sử dụng việc tạo/kiểm tra chữ ký số việc phân phối khoá phiên bí mật thuật toán mã khoá đối xứng AES Trong khuôn khổ luận văn, chương trình xây dựng ứng dụng độc lập làm việc với chứng số chuNn X.509 có định dạng file PEM Để triển khai chương trình vào thực tiễn, cần đầu tư thêm để phát triển tính nhằm tăng cường tính tiện lợi ứng dụng, chẳng hạn: cho phép làm việc với nhiều kiểu định dạng file chứng số; cho phép chuyển đổi qua lại kiểu định dạng N goài ra, phát triển thêm lựa chọn kiểu chương trình cho phép cài đặt ứng dụng “thêm vào” (add-in), để tích hợp tính mã hoá xác thực thông tin/dữ liệu từ bên ứng dụng cụ thể (chẳng hạn, ứng dụng thư điện tử Microsoft Outlook, v.v ) Qua hoạt động mật mã thực tiễn với nghiên cứu kết luận văn khẳng định mật mã nói chung mật mã RSA nói riêng đóng vai trò quan trọng lĩnh vực xã hội Việc nghiên cứu lý thuyết mật mã RSA ứng dụng triển khai kỹ thuật mã hoá cho phù hợp với toán cụ thể hoạt động thực tiễn vấn đề hoàn toàn thực Đỗ Thanh Bình 22 Tóm tắt luận văn thạc sĩ MÃ HOÁ HASH value SHA-1 RSA GIẢI MÃ Digital Signature Khoá mật mã hoá Private Key A RSA Private Key B Dữ liệu mã hoá Dữ liệu/ văn AES Khoá mật Digital Signature AES Dữ liệu mã hoá Khoá mật Dữ liệu/ văn CERT A SHA-1 HASH value Đỗ Thanh Bình ek(x) = (x + k) mod m dk(x) = (y - k) mod m Các hệ mã mật đại thực chất cải tiến mã dịch vòng Đối với mã hoá văn tiếng Anh thông thường thiết lập tương ứng chữ với số theo modulo 26 Tính bảo mật hệ mã dịch vòng nói không cao, thám mã dùng phương pháp vét cạn để tìm khoá để xác định rõ, điều rút ngắn thực phép tìm khoá theo cách vét cạn từ hai phía b) Mã thay Mã thay chất xem phép mã hoá giải mã hoán vị ký tự Theo định nghĩa 1.1, cho R = M = Z26, k chứa hoán vị m ký hiệu Với phép hoán vị π ∈ K, ta định nghĩa: eπ(x) = π(x) dπ(y) = π-1(y), π-1 hoán vị ngược π Với văn tiếng Anh cần mã hoá, khoá mã thay 26! hoán vị Do vậy, áp dụng phương pháp tìm khoá phương pháp vét cạn khó khăn Mã thay dễ dàng bị thám phương pháp thống kê c) Mã hoán vị Ý tưởng mã hoán vị thay đổi vị trí ký tự rõ Cho m số nguyên dương xác định Theo định nghĩa 1.1, cho R = M = (Z26)m k gồm tất hoán vị π {1, …, m} Đối với khoá π (tức hoán vị) ta xác định: eπ(x1, …, xm) = (xπ(1),… , xπ(m)) và: ( RSA CERT B Public Key B Khoá mật mã hoá Digital Signature RSA HASH value Public Key A CERT A So sánh Kết xác thực Tóm tắt luận văn thạc sĩ ) y π− 1(1 ) , , y π− 1( m ) dπ (y1,… , ym) = d) Các hệ mã dòng Bản chất mã tạo dòng khoá z = z1 z2 z3… dùng để mã hoá xâu rõ x = x1 x2 x3… theo quy tắc y= y1 y2…=ez1(x1)ez2(x2) Định nghĩa 1.2: Mã mật (mã hoá) dòng (R, M, K, L, F, E, D) thoả mãn điều kiện sau: 1) R tập hữu hạn rõ 2) M tập hữu hạn mã 3) K tập hữu hạn khoá (không gian khoá) Đỗ Thanh Bình Tóm tắt luận văn thạc sĩ 4) L tập hữu hạn chữ dòng khoá 5) F = (f1 f2…) tạo dòng khoá fi: K x R-1 → L; i ≥ 6) Với z ∈ L có quy tắc mã ez ∈ E quy tắc giải mã tương ứng dz ∈ D thoả mãn dz(ez(x)) = x với x∈P Hệ mã khối trường hợp đặc biệt mã dòng dùng khoá không đổi zi = K, với ∀i ≥ 1.2 Hệ mật khoá công khai 1.2.1 Khái quát Hệ mật khoá công khai cho khả tính toán để xác định quy tắc giải mã (dk) thấp dù biết đầy đủ quy tắc mã hoá ek Quy tắc mã hoá ek công khai rộng rãi Ưu điểm hệ mật nười gửi gửi tin cho người nhận mà không cần thông tin trước khoá mật N gười nhận người giải mã thông tin nhận nhờ sử dụng quy tắc giải mã dk 1.2.2 guyên tắc mã hoá hệ mật khoá công khai Trong hệ thống có N đối tượng trao đổi thông tin mật Từng đối tượng chọn cho khoá lập mã k hàm mã ek công khai N hư vậy, có N khoá lập mã k1, k2, kn Khi đối tượng thứ i muốn gửi thông tin cho đối tượng thứ j liệu chuyển thành khối với độ dài đó, khối P văn mã hoá khoá lập mã ekj đối tượng thứ j Thông tin gửi có dạng: M = ekj(P) Để giải mã, đối tượng thứ j thực hiện: dkj(M) = dkj(ekj(P)) = P Do ekj dkj cặp khoá lập mã giải mã đối tượng j nên đối tượng khác hệ thống khó tìm khoá giải mã dkj thời gian chấp nhận với phương tiện tính toán giới hạn 1.2.3 Một số hệ mật khoá công khai thông dụng a) Hệ mật RSA Hệ mật RSA xây dựng sở mã mũ, khoá lập mã cặp (b, n), gồm số mũ b mod n Với n = p.q, p q số nguyên tố; b chọn số nguyên ngãu nhiên cho 1(b, ϕ(n)) = 1, với ϕ(n) giá trị hàm Euler n, và: ϕ(n) = (p - 1)(q - 1) Đặt R = M = Zn định nghĩa: K = {(n, p, q, a, b)} ab ≡ 1(mod ϕ(n)) Đỗ Thanh Bình 21 Tóm tắt luận văn thạc sĩ Quá trình giải mã: 7) Giải mã khoá mật: sử dụng khoá riêng người nhận (Private Key B) để giải mã khoá mật 8) Giải mã liệu: sử dụng khoá mật để giải mã toàn liệu văn điện tử, chữ ký chứng số 9) Tính giá trị “băm” văn bản: toàn liệu văn điện tử gốc đưa qua thuật toán băm chiều để tạo mã nhận dạng có tính (Hash Value) 10) Kiểm tra tính hợp lệ văn bản: sử dụng khoá công khai người gửi (Public Key A) để kiểm tra chữ ký số giá trị “băm” văn để kết luận tính hợp lệ liệu văn bản: N ếu kết kiểm tra đúng, chứng tỏ thông tin người gửi gửi (khoá giải mã cặp khoá với khoá mã hoá); nội dung thông tin nguyên gốc sau ký N ếu kết kiểm tra sai chứng tỏ thông tin người gửi gửi (khoá giải mã không cặp khoá với khoá mã hoá); nội dung thông tin không nguyên gốc sau ký Đỗ Thanh Bình 20 Tóm tắt luận văn thạc sĩ CHƯƠ G - CHƯƠ G TRÌ H MÃ HOÁ DỮ LIỆU 4.1 Giới thiệu toán Mục tiêu chương nhằm xây dựng chương trình mã hoá ứng dụng mô hình mật mã RSA với lược đồ chữ ký số phục vụ bảo mật thông tin môi trường truyền tin, đảm bảo yêu cầu sau: Bảo mật thông tin trình truyền tin Thông tin mã hoá phía người gửi giải mã phía người nhận Việc thực mã hoá sử dụng thuật toán mã hoá có độ phức tạp cao thời gian thực nhanh Có chế để người nhận kiểm tra tính hợp lệ thông tin nhận (thông tin gửi người gửi không bị thay đổi nội dung đường truyền) Chương trình mã hoá xây dựng hoạt động theo mô sau: Quá trình mã hoá: 1) Tính giá trị “băm” văn bản/dữ liệu: toàn liệu văn điện tử đưa qua thuật toán băm chiều để tạo mã nhận dạng có tính (Hash Value) 2) Tạo chữ ký số: mã nhận dạng mã hoá khoá riêng người ký (Private Key A) để tạo chữ ký số (Digital Signature) 3) ChuNn bị liệu mã hoá: Gắn chữ ký số chứng số người ký (Certificate A) với liệu văn điện tử 4) Mã hoá liệu: toàn liệu văn điện tử, chữ ký số chứng số mã hoá thuật toán AES khoá mã hoá/giải mã (khoá mật) sinh ngẫu nhiên cho phiên giao dịch 5) Mã hoá khoá mật: khoá mã hoá/giải mã sau mã hoá khoá công khai người nhận (Public Key B) Khoá công khai lấy từ chứng số người nhận (Certificate B) Quá trình truyền thông tin: 6) Dữ liệu khoá mật mã hoá gửi đến người nhận qua kênh truyền thông công cộng Đỗ Thanh Bình Tóm tắt luận văn thạc sĩ Với k = (n, p, q, a, b) ta xác định : ek(x) = xb mod n ; dk(y) = ya mod n b) Hệ mật RABI Định nghĩa 1.3: Giả sử n tích hai số nguyên tố phân biệt p q; p.q ≡ (mod 4); Giả sử R = M = Zn xác định: K = {(n, p, q, B): ≤ B ≤ n - 1} với k = (n, p, q, B) ta định nghĩa: ek(x) = x(x + B) mod n d k ( y ) = B2 B +y− Các giá trị n B công khai p q giữ bí mật c) Hệ mật Elgamal Hệ mật Elgamal xây dựng toán logarithm rời rạc Việc mô tả toán thiết lập trường hữu hạn Zp, p số nguyên tố (bài toán logarithm rời rạc Zp) Định nghĩa 1.4: Cho p số nguyên tố cho toán logarithm rời rạc Zp khó giải Cho α ∈ thủy Giả sử P= Z * p ,C= Z * p Z *p phần tử nguyên * p × Z Từ ta định nghĩa: K = {(p, α, a, β): β ≡ αa (mod p)} Các giá trị p, α, β công khai, a giữ bí mật Với K = (p, α, a, β) số ngẫu nhiên bí mật k ∈ Zp, ta xác định: ek(x, k) = (y1, y2), : y1 = αk mod p ; y2 = x βk mod p với y1, y2 ∈ Z *p ta xác định d k ( x , k ) = y ( y 1a ) −1 mod p d) Hệ mật xếp balô Merkle – Hellman Định nghĩa 1.5: Cho S = (S1, S2, … , Sn) danh sách số nguyên siêu tăng Đỗ Thanh Bình Tóm tắt luận văn thạc sĩ n p > ∑ S i i=1 Cho số nguyên tố ≤ a ≤ p – Với 1≤ i≤ n, ta xác định: ti = aSi mod p ký hiệu t = (t1,…, tn) Giả sử p = {0,1}n, C = {0, …, n(p-1)} cho k = {(s, p, a, t)}, s, a, p t số xây dựng trên, t công khai, p, a, s giữ bí mật Với k = {(s, p, a, t)} ta định nghĩa: e k ( x , , x n ) = n ∑ xiti i =1 với ≤ y ≤ n(p - 1) ta xác định: Z = a-1 y mod p giải mã tập (S1, , Sn, Z) ta nhận được: dk(y) = (x1, , xn) e) Hê mật McEliece Hệ mật McEliece sử dụng nguyên lý tương tự hệ mật Merkle – Hellman Phép giải mã trường hợp đặc biệt toán N P đầy đủ nguỵ trang giống trường hợp tổng quát toán Trong hệ mật toán N P áp dụng toán giải mã cho mã sửa sai (nhị phân) tuyến tính nói chung Hệ mật McEliece dùng mã Goppa có nhược điểm: dung lượng khoá lớn (512 K); mã hoá giải mã phức tạp; chưa có thuật toán tìm mã hữu hiệu Đỗ Thanh Bình 19 Tóm tắt luận văn thạc sĩ iv) Dùng thuật toán Euclidean mở rộng để tính số nguyên d, 1[...]... Về việc kiểm tra chữ ký: chữ ký số có thể được kiểm tra bằng cách sử dụng thuật toán kiểm thử công khai Vì vậy bất kỳ ai cũng có thể kiểm thử chữ ký số Việc dùng một lược đồ chữ ký số an toàn có thể ngăn chặn được khả năng giả mạo Bản sao chép của chữ ký số đồng nhất với bản gốc Điều này có nghĩa là phải cNn thận ngăn chặn một thông điệp chữ ký số khỏi bị dùng lại Một lược đồ chữ ký số bao gồm 2 phần:... thạc sĩ 3.3 Xác thực thông điệp Xác thực thông điệp là một thủ tục nhằm kiểm tra các thông điệp nhận được, xem chúng có đến từ một nguồn hợp lệ và có bị sửa đổi hay không Xác thực thông điệp cũng có thể kiểm tra trình tự và tính đúng lúc Có nhiều kỹ thuật để xác thực thông điệp: N gay trong hệ mã bí mật người ta cũng đã đề cập đến việc xác thực thông điệp, chữ ký số cũng là một kỹ thuật xác thực, nó cũng... xứng tối ưu (Optimal Asymmetric Encryption Padding) được khuyến cáo sử dụng Đồng thời phòng nghiên cứu của RSA cũng đưa ra phiên bản mới của PKCS #1 có khả năng chống lại dạng tấn công nói trên Đỗ Thanh Bình 13 Tóm tắt luận văn thạc sĩ CHƯƠ G 3 - LƯỢC ĐỒ CHỮ KÝ SỐ RSA 3.1 Khái niệm chữ ký số Chữ ký số là một phương pháp ký một thông điệp lưu dưới dạng điện tử Chữ ký số không gắn theo kiểu vật lý vào... toán ký và 1 thuật toán kiểm thử 3.2 Ứng dụng của chữ ký số Hệ thống thư tín điện tử: sau khi một bên tạo ra bản tin, bên đó có thể ký và gửi sang bên thứ hai, sau khi xác minh bản tin nhận được, bên thứ hai có thể tin tưởng rằng bản tin đã được ký bởi bên thứ nhất, bên thứ hai cũng sẽ biết rằng bản tin đã không bị thay đổi sau khi bên thứ nhất đã ký nó Hệ thống chuyển tiền điện tử: chữ ký được sử dụng. .. truyền thông để đảm bảo bí mật, xác thực và tính toàn vẹn” Bởi vì các chứng chỉ có khả năng tự bảo vệ bằng chữ ký số của CA Lợi ích của chứng chỉ khoá công khai là một người sử dụng có thể có được một số lượng lớn các khoá công khai của các thành viên khác một cách tin cậy chỉ cần thông qua khoá công khai CA 2.4.2 Sử dụng mã hoá khoá công khai để phân phối khoá mật Lược đồ Merkle: thủ tục A trao đổi thông. .. được sử dụng cho bản tin chuyển tiền trước khi nó được gửi đi và do vậy bên nhận sẽ xác minh được rằng bản tin nhận được là chính xác và yêu cầu chuyển tiền cũng không thể bị chối bỏ Các ứng dụng thương mại: thanh toán điện tử, trao đổi thông tin điện tử, điền vào các bản tin thuế và các tài liệu pháp quy khác, bán hàng trực tuyến và các giao dịch dùng card Bầu cử số: người dân xác minh rõ ràng rằng... hay nhận thông điệp 3.3.1 Mã hoá thông điệp i) Trước tiên A sử dụng khoá riêng của mình mã hoá (ký) thông điệp P để có s = Ekda (P) ii) Tiếp tục dùng khoá công khai của B (nhằm đảm bảo tính bí mật) mã hoá chữ ký s để được bản mã C = E k e (s ) = E k e E k e (P ) , C được gửi đến B b b ( b ) B sử dụng khoá riêng của mình để giải mã thông điệp và sau đó dùng khoá công khai của A để xác thực chữ ký 3.3.2... q-1 có thừa số nguyên tố nhỏ thì n cũng có thể dễ dàng bị phân tích và vì thế p và q cũng cần được thử để tránh khả năng này 2.5.2 Tấn công liên quan đến tốc độ RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng một thuật toán mã hóa đối xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng RSA để mã hóa khóa để giải mã (thông thường... chứng thực khóa công khai (digital certificate) hoặc các thành phần của hạ tầng khóa công khai (public key infrastructure - PKI) 2.5.4 Tấn công dựa trên thời gian N ếu kẻ tấn công nắm đủ thông tin về phần cứng thực hiện mã hóa và xác định được thời gian giải mã đối với một số bản mã lựa chọn thì có thể nhanh chóng tìm ra khóa d Dạng tấn công này có thể áp dụng đối với hệ thống chữ ký điện tử sử dụng. .. và B cùng huỷ bỏ KS, như vậy theo cách này thì việc đảm bảo bí mật là rất tốt vì trước và sau khi liên lạc không có khoá nào tồn tại 2.5 Các tấn công đối với hệ mật mã RSA 2.5.1 Tấn công trong quá trình tạo khóa Việc tìm ra 2 số nguyên tố đủ lớn p và q thường được thực hiện bằng cách thử xác suất các số ngẫu nhiên có độ lớn phù hợp và p và q cần được chọn không quá gần nhau để phòng trường hợp phân

Ngày đăng: 13/05/2016, 20:43

Từ khóa liên quan

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

Tài liệu liên quan