Một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong hành chính điện tử

51 375 0
Một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong hành chính điện tử

Đ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

MỤC LỤC L ƠN Chương 1.1 1.1.1 Ch 1.1.2 ƣơ 1.1.2.1 Ơ 12 1.2 14 1.2.1 14 16 1.2.2 1.3 CH 17 1.3.1 18 1.3.1.1 Sơ 18 1.3.1.2 Sơ 18 Chƣơng 2: TỔNG QUAN VỀ HÀNH CHÍNH ĐIỆN TỬ 20 2.1 KHÁI QUÁT VỀ HỆ THỐNG HÀNH CHÍNH NHÀ NƢỚC VIỆT NAM 20 2.1.1 Chính quyền 20 2.1.2 Cơ quan thuộc Chính quyền 21 2.1.3 Các bộ, Các quan ngang 21 2.1.4 Ủy ban nhân dân cấp 22 2.2 GIỚI THIỆU CHUNG VỀ HÀNH CHÍNH ĐIỆN TỬ 24 2.2.1 Công tác hành 24 2.2.1.1 Nhiệm vụ Cơ quan nhà nƣớc 24 2.2.1.2 Công tác hành 24 2.2.1.3 Nhiệm vụ giao dịch hành 24 2.2.2 Giao dịch hành trực tuyến 24 2.2.2.1 Giao dịch hành thông thường 24 2.2.2.2 Giao dịch hành trực tuyến: 25 2.2.3 Khái niệm hành điện tử .26 2.2.4 Các giao dịch hành điện tử quan nhà nƣớc 27 2.2.4.1 Các dịch vụ công 27 2.2.4.2.Các loại hình giao dịch hành điện tử quan nhà nƣớc: .29 CHƢƠNG 3.MỘT SỐ SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT DÙNG TRONG HÀNH CHÍNH ĐIỆN TỬ 32 3.1 VẤN ĐỀ THOẢ THUẬN KHOÁ BÍ MẬT 32 3.2 SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT DIFFE HELLMAN 33 3.3 SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT BLOM : .38 CHƢƠNG 4:THỬ NGHIỆM CHƢƠNG TRÌNH 42 4.1 CHƢƠNG TRÌNH PHÂN PHỐI KHÓA BLOM VỚI K > .42 4.1.1 Cấu hình hệ thống .42 4.1.2 Các thành phần chƣơng trình .42 4.1.3 Chƣơng trình 42 4.1.4 Hƣớng dẫn sử dụng chƣơng trình .46 Vấn đề an toàn bảo mật thông tin vấn đề nóng xúc nay.Có nhiều phƣơng pháp bảo đảm an toàn thông tin nhƣng phƣơng pháp mật mã phƣơng pháp tỏ có hiệu vàđáng chúý nhất.Độ an toàn mật mã nằmở khoá bí mật.Do vấn đề trao đổi phân phối khoá bí mật đóng vai trò quan trọng Đồánđi vào nghiên cứu sơ đồ thoả thuận khoá bí mật vàứng dụng hành điện tử ! Chương N 1.1 1.1.1 , – : + ) ) : + 1.1.2 1.1.2.1 ( Last Privilege) , * ( Defence In Depth) * ( Choke Point) * (Weakest Link) * * : * * ) * * ROM, USB disk… (intranet) * - - : (encry : - ( Link_Oriented_Security) ( End_to_End) Biết bA bB để tính KA,B toán Diffie-Hellman tƣơng đƣơng: biết αamodp Phân phối khóa thỏa thuận khóa αbmodp, tính αabmodp Đây toán khó tƣơng đƣơng toán tính lôgarit rờirạc hay toán phá mật mã ElGamal Giao thức trao đổi khoá Diffie-Hellman Hệ phân phối khoá Diffie-Hellman nói mục trƣớc dễ dàng biến đổi thànhmột giao thức trao đổi (hay thoả thuận) khoá trực tiếp ngƣời sử dụng màkhông cần có can thiệp TA làm nhiệm vụ điều hành phân phối khoá Một nhóm ngƣời sử dụng thoả thuận dùng chung số nguyên tốlớn p phần tử nguyên thuỷ α theo mod p, hai ngƣời nhóm A Bmỗi muốn truyền tin bảo mật cho thực giao thức sau đểtrao đổi khoá: A chọn ngẫu nhiên số aA (0 aA p -2), giữ bí mật aA, tính bA = αaAmodp gửi bA cho B Tƣơng tự, B chọn ngẫu nhiên số aB (0 aB p -2), giữ bí mật aB, tính bB = αaBmodp vàgửi bB cho A A B tính đƣợc khoá chung: KA,B= bB aAmodp= bA aBmodp( = αaAaBmodp) Giao thức trao đổi khoá Diffie-Hellman có tính chất sau: 34 3.2.1 Giao thức an toàn việc công thụ động nghĩa ngƣời thứ ba, dùbiết bA bB khó mà biết đƣợc KA,B.Ta biết toán “biết bA bB tìm KA,B” toán Diffie-Hellman nói toán tƣơng đƣơng với toán phá mật mã El Gamal Bây ta chứng minh điều Phép mật mã El Gamal với khoá K = (p,α,a,β), trongđó β = αamodp, cho ta từ rõ x số ngẫu nhiên k ∈Zp − 11 lập đƣợc mật mã: eK(x,k) = (y1,y2) Trong đó: y1 = αkmodp,y2 = xβkmodp Và phép giải mã đƣợc cho bởi: dK(y1,y2) = y1(y2 a ) − 1modp Phân phối khóa thỏa thuận khóa Giả sử ta có thuật toán A giải toán Diffie-Hellman Ta dùng A để phá mã El Gamal nhƣ sau: Cho mật mã (y1,y2) Trƣớc hết, dùng A cho y1 = αkmodp β = αamodp,ta đƣợc: A(y1, β) = αka = βkmodp sau ta thu đƣợc rõ x từ βk y2 nhƣ sau: x = y2(βk) − 1modp Ngƣợc lại, giả sử có thuật toán B phá mã El Gamal, tức là: B (p,α,a,β,y1,y2) = x = y2(y1 a ) − 1modp Áp dụng B cho β = bA,y1 = bB,y2 = 1, ta đƣợc B (p,α,bA,bB,1) − = (1.(bB aA) − 1) − = αaAaBmodp tức giải đƣợc toán Diffie-Hellman 35 3.2.2Giao thức không an toàn việc công chủ động cách đánh tráo Nghĩa ngƣời thứ ba C đánh tráo thông tin trao đổi A vàB, chẳng hạn, C thay αaAmà A định gửi cho B αa'A,và thay αaBmà B định gửi cho Abởi αa'B, nhƣ vậy, sau thực giao thức trao đổi khoá, A đa lập khoá chungαaAa'Bvới C mà tƣởng với B, đồng thời B đa lập khoá chung αa'AaBvới C màvẫn tƣởng với A; C giải mã thông báo mà A tƣởng nhầm gửi đếnB, nhƣ thông báo mà B tƣởng nhầm gửi đến A! Một cách khắc phục kiểu công chủ động nói để A B kiểmchứng để xác thực tính đắn khoá công khai bA bB Đƣa vào giao thứctrao đổi khoá Diffie-Hellman thêm vai trò điều phối TA để đƣợc hệ phânphối khoá Diffie-Hellman nhƣ mục 7.2.1 cách khắc phục nhƣ Trong hệphân phối khoá Diffie-Hellman, can thiệp TA yếu, thực TA làm mỗimột việc cấp chứng xác nhực khoá công khai cho ngƣời dùng không đoihỏi biết thêm bí mật ngƣời dùng Tuy nhiên, chƣa thoả mãn vớivai trò hạn chế TA, cho TA vai trò xác nhận yếu hơn, không liênquan đến khoá, chẳng hạn nhƣ xác nhận thuật toán kiểm thử chữ ký ngƣời dùng,còn thân thông tin khoá (cả bí mật công khai) ngƣời dùngtrao đổi trực tiếp với Với cách khắc phục có vai trò hạn chế TA, ta cóđƣợc giao thức phần sau Phân phối khóa thỏa thuận khóa Giao thức trao đổi khoá D-H có chứng xác thực Mỗi ngƣời dùng A có danh tính ID(A) sơ đồ chữ ký với thuật toán ký sigAvà thuật toán kiểm chứng verA TA có vai trò xác thực, nhƣng xácthực thông tin liên quan đến việc tạo khoá mật mã ngƣời dùng (dù làkhoá bí mật khoá công khai), mà xác thực thông tin quan hệ khácnhƣ thuật toán kiểm chứng chữ ký ngƣời dùng Còn thân thông tin liên quanđến việc tạo khoá mật mã ngƣời dùng trao đổi trực tiếp với TA cómột sơ đồ chữ ký mình, gồm thuật toán ký sigTA thuật toán kiểm chứng(công khai) verTA Chứng mà TA cấp cho ngƣời dùng A là: C(A) = (ID(A), verA , sigTA(ID(A), verA)) Rõ ràng chứng TA không xác thực điều liên quan đến việc tạo 36 khoá A Việc trao đổi khoá hai ngƣời dùng A B đƣợc thực theo giaothức sau đây: A chọn ngẫu nhiên số aA (0 aA p -2), tính bA = αaAmodp gửi bA cho B B chọn ngẫu nhiên số aB (0 aB p -2), giữ bí mật aB, tính bB = αaBmodp, tính tiếp K = bB aBmodp yB= sigB(bB,bA) gửi (C(B), bB, yB) cho A A tính: K = bB aBmodpdùng verB để kiểm chứng yB, dùng verTA để kiểm chứng C(B), sau tính yA = sigA(bA,bB), gửi (C(A), yA) cho B B dùng verA để kiểm chứng yA ,và dùng verTA để kiểm chứng C(A) Nếu tất bƣớc đƣợc thực phép kiểm chứng cho kết đúngđắn, giao thức kết thúc, A B có đƣợc khoá chung K Do việc dùng thuậttoán kiểm chứng nên A biết giá trị bB B B biết giá trị bA A,loại trừ khả ngƣời C khác đánh tráo giá trị đƣờng Phân phối khóa thỏa thuận khóa Ví dụ:Giả sử p=25307, phần tử nguyên thủy trƣờng GF(p), tham số công khai Giả sử U chọn aU=3578 Sau U tính giá trị công khai: bU aU mod p 23578 (mod25307) 6113, đặt dấu xác nhận U Giả sử V chọn a V=19956 Và V tính giá trị công khai: bV aV mod p 219956 (mod25307) 7984, đặt dấu xác thực V.Bây U V muốn liên lạc với thi U V tính khóa mật: U tính: K U ,V (b )aU (mod p) 79843578 (mod25307) 3694 (b )aV (mod p) 611319956 (mod24307) 3694 V V tính: K V ,U U 37 3.3 SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT BLOM : Ý tưởng Ta giả thiết có mạng gồm n ngƣời sử dụng.Giả sử khoá đƣợc chọn trƣờng hữu hạn pZ, p số nguyên tố (p n).Cho k số nguyên, k n-2.Giá trị k để hạn chế kích thƣớc lớn mà sơ đồ trì đƣợc độ mật TT truyền k+1 phần tử p Z , cho ngƣời sử dụng kênh an toàn (so với n-1 sơ đồ phân phối trƣớc bản) Mỗi cặp ngƣời sử dụng U V có khả tính khoá Ku, v = Kv, u nhƣ trƣớc Điều kiện an toàn nhƣ sau: tập gồm nhiều k ngƣời sử dụng không liên kết từ U, V phải khả xác định thông tin Ku, v 3.3.1 Giao thức khoá Blom với k =1 1/ Số nguyên tố p công khai, với ngƣời sử dụng U, phần tử rup Z công khai, khác 2/ TT chọn phần tử ngẫu nhiên bí mật a, b, c p Z (không cần khác biệt) thiết lập đa thức: f(x, y) = (a + b*(x + y) + c*x*y) mod p 3/ Với ngƣời sử dụng U, TT tính đa thức: gu(x) = f(x, ru) mod p truyền gu(x) đến U kênh an toàn gu(x) đa thức tuyến tính theo x, viết: gu(x) = f(x, ru) mod p = (a+b.(x+ ru) + c.x ru mod p ) mod p hay gu(x) = au + bu*x, đó: au = a + b*ru mod p bu = b + c*ru mod p 4/ Nếu U V muốn liên lạc với nhau, họ dùng khoá chung: Ku, v = Kv, u = f(ru, rv) = (a + b*(ru+ rv) + c.ru.rv ) mod p U tính Ku, v = f(ru, rv) = gu(rv) =(a+b (rv+ ru) + c.rv ru ) mod p V tính Ku, v = f(ru,rv) = gv(ru) =(a+b.(ru+ rv) + c.ru.rv) mod p Do tính chất đối xứng đa thức f(x,y), nên Ku,v= Kv,u 38 Ví dụ 1/ Giả sử có ngƣời sử dụng U,V W Chọn số nguyên tố p =17, Các phần tử công khai họ ru = 12, rv = 7, rw = 2/ TT chọn ngẫu nhiên, bí mật a = 8, b = 7, c = Khi đa thức f nhƣ sau: f(x, y) = (8 + 7*(x + y) + 2*x*y) mod 17 3/ TT tính đa thức gửi cho U, V, W tƣơng ứng là: gu(x) = f(x, 12) = (8 + 7*(x + 12) + 12*2*x ) mod 17 = + 14*x gv(x) = f(x, 7) = (8 + 7*(x + 7) + 7*2*x ) mod 17 = + 4*x gw(x) = f(x, 1) = (8 + 7*(x + 1) + 12*2*x ) mod 17 = 15 + 9*x 4/ Khi U V muốn liên lạc với nhau, ngƣời dùng tự tính khoá chung: U tính Ku, v= gu(rv) = f(ru,rv) =(a+b.(rv+ ru) + c.rv ru ) mod p =7 + 14*7 mod 17 = V tính Ku, v = gv(ru) = f(ru,rv) =(a+b.(ru+ rv) + c.ru.rv) mod p = + 4*12 mod 17 =3 * khoá tƣơng ứng với cặp ngƣời dùng là: Ku, v = f(ru,rv) = (8 + 7*(12 + 7) + 2*12*7 ) mod 17 = Ku, w = f(ru,rw) =(8 + 7*(12 + 1) + 2*12*71) mod 17 = Kv, w = f(rv,rw) = (8 + 7*(7 + 1) + 2*7*71 ) mod 17 = 10 39 Mức an toàn a) Sơ đồ Blom với k = an toàn với đối thủ Định lý: Theo sơ đồ Blom với k =1 khoá cặp đối tác an toàn không điều kiện trƣớc ngƣời sử dụng thứ ba TT: Không ngƣời sử dụng xác định đƣợc thông tin khoá ngƣời sử dụng khác Chứng minh: Giả sử ngƣời sử dụng thứ ba W muốn thử tính khoá Ku, v = (a + b*(ru + rv) + c*ru*rv ) mod p Trong giá trị ru, rv công khai, a, b, c không đƣợc biết W tìm biết đƣợc giá trị: aw = a + b*rw mod p bw = b + c*rw mod p Vì chúng hệ số đa thức gw(x) đƣợc TT gửi đến cho W Ta thông tin mà W biết phù hợp với giá trị tùy ý t p Z khoá Ku,v Xét phƣơng trình ma trận sau: 1 ru+rv rw rurv rw a t b = aw c bw (2) Tức hệ phƣơng trình: Ku,v = (a+b *(ru + rv) + c *ru *rv ) mod p = t (1) a+b *rw mod p = aw b+c *rw mod p = bw (3) (1) thể giả thiết Ku,v = t, (2),(3) cho thấy W biết a, b c từ gw(x) Định thức ma trận hệ số là: { (1*rw *rw) + (1 *1 *rurv ) +(0 *(ru + rv) *0) }{ 0*rw *rurv) + (1 *1 *0 ) +(1 *(ru + rv) *rw)}= = {rw2 + rurv} – {(ru + rv)*rw} = (rw - ru)(rw - rv) Vì rw ru rw rv nên định thức ma trận hệ số khác không Do phƣơng trình ma trận có nghiệm cho a, b, c Nói cách khác, giá trị t thuộc p Z nhận khoá Ku,v 40 b) Sơ đồ không an toàn với liên minh đối thủ Định lý Liên minh ngƣời sử dụng W, X, (không phải cặp ngƣời dùng U, V) có khả xác định khoá Ku,v U V Chứng minh Hai ngƣời W X biết đẳng thức sau: aw = a + b*rw bw = b + c*rw ax = a + b*rx bx = b + c*rx Nhƣ vậy, họ có bốn phƣơng trình ba ẩn chƣa biết dễ dàng tính nghiệm cho a, b, c Một biết a, b, c, họ thiết lập đa thức f(x, y) tính khoá mà họ muốn 41 CHƢƠNG 4:THỬ NGHIỆM CHƢƠNG TRÌNH 4.1 CHƢƠNG TRÌNH PHÂN PHỐI KHÓA BLOM VỚI K > 4.1.1 Cấu hình hệ thống +Phần cứng Yêu cầu phần cứng chƣơng trình: CPU Khoảng 15- 20M + Phần mềm Yêu cầu phần mềm chƣơng trình: Tubo C++ phiên 4.9.9.2, Hệ điều hành Windown XP 4.1.2 Các thành phần chƣơng trình Thành phần chƣơng trình gồm : + Input: - Số lƣợng ngƣời dùng, hệ số k, số nguyên tố p - Các phần tử công khai hệ số a ngẫu nhiên bí mật + Output: - Khóa tƣơng ứng cặp ngƣời dùng 4.1.3 Chƣơng trình #include #include #include using namespace std; // -int a[1000][1000]; //cac so ngau nhien bi mat ma TT chon int k; //he so k int p; //so nguyen to p int n; //so luong nguoi dung int r[1000]; 42 //phan tu cong khai cua n nguoi dung // -void gx(int y) { int heso_x[100] = {0}; for(int i=0;i

Ngày đăng: 21/09/2016, 20:53

Từ khóa liên quan

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

Tài liệu liên quan