Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử

Mục lục

chương 1: Nội dung nghiên cứu đề tài

chương 2: các khái niệm về thương mại điện tử và các đặ trưng của thương mại điện tử

chương 3: hệ mật mã, mã khóa đối xứng, mã khóa công khai, chứ ký số

chương 4: cài đặt bảo mật và an toàn thông tin trên website mua bán linh kiện máy tính trên mạng internet

pdf84 trang | Chia sẻ: netpro | Lượt xem: 2549 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các đặc điểm nhƣ sau:  Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào. Bất kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả sai. Bản tóm lƣợc thông báo z = h(x) Chữ ký y = sigk(z) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 36  Từ đại diện văn bản không thể suy ra đƣợc dữ liệu gốc là gì, chính vì điều này mà ngƣời ta gọi là one -way. Nhƣ đã đề cập trong phần mã hóa khóa khóa công khai, nó có thể sử dụng khóa bí mật của bạn cho việc mã hóa và khóa khóa công khai cho việc giải mã. Cách sử dụng cặp khóa nhƣ vậy không đƣợc dùng khi cần có sự bí mật thông tin, mà chủ yếu nó dùng để “ký” cho dữ liệu. Thay vào việc đi mã hóa dữ liệu, các phần mềm kí tạo ra message digest của dữ liệu và sử dụng khóa bí mật để mã hóa đại diện đó. Hình 1.8 đƣa ra mô hình đơn giản hóa việc chữ kí số đƣợc sử dụng nhƣ thế nào để kiểm tra tính toàn vẹn của dữ liệu đƣợc ký. Trong hình 1.8 có hai phần đƣợc gửi cho ngƣời nhận: Dữ liệu gốc và chữ kí số. Để kiểm tra tính toàn vẹn của dữ liệu, ngƣời nhận trƣớc tiên sử dụng khóa khóa công khai của ngƣời kí để giải mã đại diện văn bản (Message digest) đã đƣợc mã hóa và khóa bí mật của ngƣời ký. Dựa vào thông tin về thuật toán băm trong chữ ký số, ngƣời nhận sẽ tạo ra đại diện văn bản từ dữ liệu gốc và mới. Nếu các đại diện này giống nhau tức là dữ liệu không bị thay đổi từ lúc đƣợc ký. Nếu không giống nhau có nghĩa là dữ liệu đã bị giả mạo điều này cũng có thể xảy ra khi sử dụng hai khóa khoá khóa công khai và khóa bí mật không tƣơng ứng. Compare K K a, Using conventional encryption Compare Kprivate Kpublic M es sa g e M es sa g e M es sa g e E H D H M es sa g e M es sa g e M es sa g e E H D H Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 37 b, Using public-key encryption Hình 9: Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu. Nếu nhƣ hai đại diện văn bản giống nhau, ngƣời nhận có thể chắc chắn rằng khóa khóa công khai đƣợc sử dụng để giải mã chữ ký số là tƣơng ứng với khóa bí mật đƣợc sử dụng để tạo ra chữ ký số. Để xác thực định danh của một đối tƣợng cũng cần phải xác thực khóa khóa công khai của đối tƣợng đó. Trong một vài trƣờng hợp, chữ ký số đƣợc đánh giá là có thể thay thế chữ ký bằng tay. Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ. Khi khóa bí mật bị lộ thì ngƣời sở hữu chữ ký không thể ngăn chặn đƣợc việc bị giả mạo chữ ký. iii. CHỮ KÍ Sè chữ kí của một ngƣời trên một tài liệu (thƣờng đặt ở cuối bản tin ) để xác nhận nguồn gốc hay trách nhiệm với tài liệu đó. Với tài liệu “số hoá” (điện tử),nếu chữ kí cũng đặt ở cuối bản tin, thì việc sao chép lại “chữ kí số” là hoàn toàndễ dàng và không thể phân biệt dƣợc bản gốc với bản saovì chữ kí số là các số 0,1. Vậy một “chữ kí số” đặt cuối “tài liệu loại số” không thể chịu trách nhiệm đối với toàn bộ nội dung văn bản . “Chữ kí số” thể hiện trách nhiệm đối với toàn bộ tài liệu phải là chữ kí trên từng bit của tài liệu đó. Trong chƣơng này, em trình bày các vấn đề cơ bản nhất về chữ kí số, các khái niệm, các tính chất, các sơ đồ kí hiện đang đƣợc sử dụng. Chúng ta không thể kí trên bất kì tài liệu nào với độ dài tuỳ ý, vì nhƣ vậy chữ kí sẽ có đọ dài rất lớn, ít nhất cũng dài bằng độ dài của tài liệu đƣợc kí. Với tài liệu dài, ngƣời ta kí trên đại diện của nó. Đại diện của bản tin đƣợc thiét lập qua Hàm băm. 1. Chữ kí số Với chữ kí thông thƣờng, nó là một phần vật lí của tài liệu.Tuy nhiên, một chữ kí số không gắn theo kiểu vật lí vào bức điện nên thuật toán đƣợc dùng phải “không nhìn thấy” theo cách nào đố trên bức điện. Thứ hai là vấn đề về kiểm tra .Chữ kí thông thƣờng đƣợc kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác. Ví dụ, ai đó kí một tấm séc để mua hàng,nƣời bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt su của thẻ tín dụng để kiểm tra .Dĩ nhiên, đây không phải là phƣơng pháp an toànvì nó dễ dàng giả mạo. Mặt khác,các chữ kí số có thể đƣợc kiểm tra nhờ dùng một Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 38 thuật toán kiểm tra công khai. Nhƣ vậy, bất kì ai cũng có thể kiểm tra đƣợc chữ kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăng chặn đƣợc khả năng giả mạo. Sự khác biệt cơ bản giữa chữ kí số và chữ kí thông thƣờng bản copy tài liệu đƣợc kí bằg chữ kí số đồng nhất với bản gốc , còn copy tài liệu có chữ kí trên giấy thƣờng có thể khác với bản gốc.Điều này có nghĩa là phải cẩn thận ngăn chặn một bức kí số khỏi bị dùng lại. Ví dụ. Bob kí một bức điện xác nhận Ailice có khả năng làm một điều đó một lần. Vì thế, bản thân bức điện cần chứa thông tin (chẳng hạn nhƣ ngày tháng)để ngăn nó khỏi bị dùng lại. Một sơ đồ chữ kí số thƣờng chứa hai thành phần: thuật toán kí và thuật toán xác minh. Bob có thể kí điện x dùng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc có thể kiểm tra bằng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc có thể kiểm tra bằng thuật toán xác minh công khai ver. Khi cho trƣớc cặp (x,y), thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí đƣợc thực nhƣ thế nào . Dƣới đây là định nghĩa hình thức của chữ kí: Định nghĩa: một sơ đồ chữ kí số là bộ 5(P,A,K,S,C) trong đó : 1.P Là tập hữu hạn các bức điện (thông điệp) có thể . 2.A là tập hữu hạn các chữ kí có thể. 3.K không gian khoá là tập hữu hạn các khoá có thể. 4.Với mỗi K thuộc K tồn tại một thuật toán kí sigk S và là một thuật toán xác định Verk V. Mỗi sigk:P A vàVerk : P A  { true,false} là hàm sao cho mỗi thông điệp x  P và chữ kí y  A thoảmãn phƣơng tình dƣới đây. Verk= True nếu y=sing(x) False nếu y  sing(x) Với mỗi k thuộc K hàm sigk ,Verk là các hàm có thời gian đa thức .Verk sẽ là hàm công khai , sigk là bí mật. không thể dễ dàng tính toán để giả mạo chữ kí của Bob trên thông điệp x .Nghĩa là x cho trƣớc ,chỉ có Bob mới có thể tính đƣợc y để Verk= true . Một sơ đồ chữ kí không thể an toàn vô điều kiện vì Oscar có thể kiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng thuật toán verk công khai cho đến khi anh ta tìm thấy một chữ kí đúng.Vì thế , nếu có đủ thời gian ,Oscar luôn luôn có thẻ giả mạo chữ kí của Bob .Nhƣ vậy , giống nhƣ trƣờng hợp hệ thống mã khoá công khai , mục đích của chúng ta là tìm các sơ đồ chữ kí số an toàn về mặt tính toán. 2. Phân loại các sơ đồ chữ kí số Cơ chế chữ kí điện tử đƣợc chia làm hai 2 lớp , lớp chũ kí kèm thông điệp (message appendix)và lớp chữ kí khôi phục thông điệp (message recovery). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 39  Chữ kí kèm thông điệp: đòi hỏi thông điệp ban đầu là đầu vào giải thuật kiểm tra .  Chữ kí khôi phục thông điệp: thông điệp ban đầu đƣợc sinh ra từ bản thân chữ kí. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 40 Hình 10: Hình biểu diễn phân loại ở mức tổng quan về chữ kí điện tử s 2.1. Sơ đồ chữ kí kèm thông điệp Sơ đồ chữ kí kèm thông điệp là sơ đồ đƣợc sử dụng nhiều nhất trong thực tế. Nó dựa trên các hàm băm mã hoá đơn là dựa trên các hàm băm bất kì và ít bị lỗi khi bị tấn công theo kiểu giả mạo.Chúng ta có thể định nghiã chính xác sơ đồ chữ kí này nhƣ sau : Định nghĩa :Một sơ đồ kí đòi hỏi thông điệp đầu vào là một tham số cho quá trình xác nhận chữ kí là sơ đồ kí kèm thông điệp .Ví dụ EIGamal,DSA,Schonor. a. Giải thuật sinh khoá: Mỗi một thực thể tạo một khoá riêng để cho thông điệp cần khoá và một khóa công khai tƣơng ứng để các thực thể khác xác nhận chữ kí .  Mỗi thựcthể A phải chọn một khoá riêng cùng với việc xác định không gian khoá SA,k :k thuộc R ,của dạng chuyển đổi.  SA,k xác định một anhhs xạ 1-1 từ không gian Mh vào khong gian khoá S gọi là dạng chuyển đổi chữ kíhay cào là thuật toán kí số.  SAtƣơng ứng (corresponding mapping)VA từ không gian Mh  S vào tập hợp { false,true} có nghĩa là :  VA(m,s*)=true nếu SA,k(m)=s*  VA(m,s*)=false trong các trƣờng hợp khác. Va là khoá công khai của A ,SA là khoá riêng của A ngẫu nhiên Khôi phục thông diệp Xác định chữ kí điện tử ngẫu nhiên Kèm thông điệp Xác định Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 41 b. Giải thuật sinh và xác nhận chữ kí: Thực thể A tạo một chữ kí s vào án xạ M và đƣợc xác nhận bởi thực thể B. Quá trình sinh chữ kí  Chọn một chữ kí k thuộc R  Tính hàm băm m’=h(m) và s*=SA,k(m’)  Chữ kí của A cho m là s*.Cặp m’ và s* dùng để xác nhận  Quá trình xác nhận chữ kí  Nhận khoá công khai định danh choA và vA  Tính hàm băm m’=h(m)và u=vA(m’,s*)  Chấp nhận chữ kí của A cho m là s* nếu u=TRUE. 2.2. Sơ đồ chữ kí khôi phục thông điệp Đặc trƣng cho sơ đồ này là thông điệp có thể đƣợc khôi phục từ chính bản thân chữ kí .Trong thực tế sơ đồ kiểu này thƣờng đƣợc kí cho các thông điệp ngắn . M m  m SA,k M h h s a) TiÕn tr×nh ký th«ng ®iÖp Mh x S VA TRU E FALSE b) TiÕn tr×nh x¸c nhËn ch÷ ký Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 42 Định nghĩa Một sơ đồ kí đƣợc gọi là có khôi phục thông điệpkhi và chỉ khi nó là sơ đồ mà với nó mức độ hiểu biết về thông diệp là không đòi hỏi trong quá trình xác nhận chữ kí .Ví dụ về các sơ đồ chữ kí có khôi phục thông điệp trong thực tế là :RSA,Rabin ,Nyber –Rueppel với khoá chung . a. Thuật toán sinh khoá Mỗi một thực thể A phải chọn một tập hợp SA={SA,k:k thuộc R} mỗi SA,k xác định một ánh xạ 1-1 tù không gian Mh vao không gian khoá S goi là dang chuyển đổi chữ ký.  SA xác định một ánh xạ tƣơng ứng(corresponding mapping) VA sao cho VA* SA,k ánh xạ xác định MS cho tất cả k thuộc R.  VA là khoá công khai của A, SA là khoá riêng của A. b. Thuật toán sinh chữ ký và xác nhận chữ ký Tiến trình sinh chữ ký: Thực thể phảI làm theo các bƣớc sau: • Chọn một số k  R • Tính m' = R(m) và s * = S A,k(m'). (R là hàm redundancy) • Chữ ký của A là s * Tiến trình xác nhận chữ ký: Thực thể B phảI làm nhƣ sau: • Nhận khoá công khai của A là VA • Tính m' = VA(s*) • Xác nhận m'  MR (Nếu m'  MR thì từ chối chữ ký) • Khôi phục m từ m' bằng cách tính R -1(m') SA,k R Hình 12: Sơ đồ chữ ký khôi phục thông điêp 3. Một số sơ đồ chữ ký cơ bản Sau đây chúng ta sẽ nghiên cứu các sơ đồ chữ ký cơ bản nhất và có ứng dụng rộng rãi cũng nhƣ đáng tin cậy nhất hiện nay . 3.1. Sơ đồ chữ ký RSA Chúng ta sẽ nghiên cứu đến sơ đồ chữ ký RSA và các sơ đồ tƣơng tự . Đặc điểm của các sơ đồ chữ ký này là mức độ tính toán phụ thuộc hoàn toàn vào độ lớn của giải thuật giải quyết các bài toán nhân số nguyên – bài toán luỹ thừa . Sơ đồ chữ ký bao gồm cả hai loại kèm thông điệp và khôi phục thông điệp . Sơ S s*=SA,k(m' ) M m' M m' R ' Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 43 đồ chữ ký RSA đƣợc phát minh bởi 3 nhà nghiên cứu Rivest, Shamir và Adleman, đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên công nghệ sử dụng khoá chung. Các phƣơng pháp tấn công RSA đầu tiên (multicative property) và các vấn đề khác liên quan tới chữ ký RSA đƣợc đƣa ra bởi Davia, Jonge và Chaum. a. Thuật toán sinh khoá: Thực thể A tạo khoá công khai RSA và khoá riêng tƣơng ứng theo phƣơng thức sau: • Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thƣớc bit • Tính n = p.q và  = (p-1)(q-1) • Chọn một số tự nhiên ngẫu nhiên a thoả mãn điều kiện sau: 1< a < và USCLN (a, ) = 1 hay a Z*P . • Sử dụng giải thuật mở rộng Euclidean để tính toán số tự nhiên duy nhất b sao cho 1 < b <  và ab  1 (mod ) • Khoá công khai của A là K’ = (n, a) khoá riêng của A là K” = b b. Thuật toán sinh và xác định chữ ký Thực thể A ký trên thông điệp m . Thực thể B có thể xác định đƣợc chữ ký của A và khôi phục lại thông điệp từ chữ ký. Sinh chữ ký: Thực thể A làm theo các bƣớc sau: • Tính m' = H(m) , là một số nguyên trong khoảng  0,n-1  • Tính s = m'd mod n • Chữ ký của A cho m là s Xác nhận chữ ký: Thực thể B làm theo các bƣớc sau: • Nhận khoá công khai của A là (n, b) • Tính m' = sb mod n • Kiểm tra m'  MR nếu không sẽ không chấp nhận chữ ký • Lấy lại thông điệp m từ m = H-1(m') c. Tóm tắt lược đồ ký theo RSA: Cho n = p.q với p và q là các số nguyên tố Cho P = A =Zn và định nghĩa p = (n,p,q,a,b) n = p.q, p và q nguyên tố, ab  1 mod  (n)  Các giá trị n, b là công khai. Định nghĩa Sigk (x) = x a mod n và Verk(x,y) = true  x  y b (mod n) với x,y Zn Nếu độ dài thông diệp x lớnN, ta sử dụng hàm băm. Ví dụ: Ví dụ sau đây sử dụng sơ đồ ký RSA, với thông điệp lớn Sinh khoá: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 44 Thực thể A chọn số nguyên tố p =7927 và q =6997. Tính n =pq =5546521 và  =7926.6996 =55450296. A chọn a =5 và giải ab =5.b  1 (mod 55450296) đƣợc b = 44360237. Sinh chữ ký: Để ký thông điệp m =31229978, A tính m’1 =H(m) =31229978. Chữ ký s = m1 ’b =mod n =31229978 4430237 mod 55465219 =30729435 Xác nhận chữ ký: B tính m2 ’ = s a mod n = 30729435 5 mod 55465219 =31229978 B chấp nhận chữ ký vì m2 ’ = m1 ’. 3.2. Sơ đồ chữ ký DSA (Digital Signature Standard) Trong phần này nội dung chính là nghiên cứu các sơ đồ chữ ký điện tử DSA và lớp các chữ ký tƣơng tự, đặc điểm của những giải thuật này là đều sử dụng chữ ký theo kiểu chọn lựa ngẫu nhiên. Tất cả các sơ đồ DSA kèm thông điệp đều có thể cải biến thành các sơ đồ ký khôi phục thông điệp .Đặc biệt, sẽ đi sâu vào chuẩn chữ ký điện tử DSS(Digital Signature Standard) do khả năng cài đặt thực tế của nó a. Giới thiệu Sơ đồ chữ ký DSS dựa trên giảI thuật ký điện tử DSA (Digital Signature Algorithm). Chữ ký dạng DSS là một dạng chữ ký kèm thông điệp, điều đó có nghĩa là chữ ký phải đƣợc gửi kèm với thông điệp mà bản thân chữ ký không chứa (hoặc không sinh ra) thông điệp, thông thƣờng nhƣng chữ ký dạng này đều đòi hỏi có một hàm băm trên thông điệp (do nội dung thông điệp có độ dài không xác định). Hàm băm này đƣợc sử dụng trong quá trình sinh chữ ký để xây dựng một dạng nén của dữ liệu (condensed version of data). Dữ liệu này gọi là đại diện văn bản (message digest). Phần đại diện văn bản này là đầu vào của giải thuật sinh chữ ký. Ngƣời xác nhận chữ ký cũng sử dụng hàm băm này để xây dựng phƣơng pháp xác nhận chữ ký. Đối với sơ đồ chữ ký DSS hàm băm là security Hash Algorithm (SHA) đƣợc miêu tả trong FIPS 186, hàm băm này tạo ra một giá trị số nguyên 160 bít đặc trƣng cho một thông điệp, điều này làm hạn chế một trong các giá trị tham số của DSS phảI là 160 bit. Ngoài ra, chuẩn này yêu cầu việc sinh chữ ký phải sử dụng một khóa riêng cho mỗi ngƣời ký, ngƣợc Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 45 lại để xác nhận chữ ký, ngƣời xác nhận phải có một khóa công khai tƣơng ứng với khóa riêng của ngƣời gửi Hình 13: Chữ ký DSA b. Các giải thuật cơ bản của DSA Thuật toán sinh khóa Mỗi thực thể tạo một khóa công khai và một khóa mật tƣơng ứng theo cách sau: 1. Chọn một số nguyên tố q sao cho 2159 < q < 2160 2. Chọn một số nguyên tố p sao cho 2511+64t < p < 2512+64t ở đó t  [0,8] 3. Chọn số  nhƣ sau: • Chọn g là một số nguyên bất kỳ nhỏ hơn p,  =g (p-1)/q mod p •  khác 1 4. Chọn số nguyên a sao cho: 1 1 qa 5. Tính a  mod p 6. Khóa riêng của thực thể là a, khóa công khai là bộ (p,q,   ) Thuật toán sinh chữ ký Khi cần sinh chữ ký cho một thông điệp x thực thể phảI làm những việc nhƣ sau: 1. Chọn một số nguyên mật k, 0 < k <q-1 2. T ính  =(a k mod p ) mod q. 3. Tính k -1 mod q. 4. Tính  =k -1 (h(x)+a  ) mod q 5. Chữ ký của thực thể cho x là cặp (  ,  ) Thuật toán xác nhận chữ ký Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 46 Khi cần xác nhận chữ kí cho một thông điệp m thực thể phải làm những việc nhƣ sau: 1. Dành lấy khoá công khai của thực thể kí (p, q, a, ò) 2. Nếu điều kiện: 0 < d,? < q không thoả mãn thì từ chối chữ kí 3. Tính w = d-1 mod q và h(x) 4. Tính e1 = w.h(x) mod q và e2 =?w mod q 5. Tính v = (ae1 .òe2 mod p) mod q 6. Nếu v = ? thì chấp nhận chữ kí ngoài ra thì từ chối. c. Tóm tắt lƣợc đồ chữ kí số DSS Ví dụ: Gỉa sử q = 101, p = 78q + 1 = 7879 3 là phần tử nguyên thuỷ trong Z7879 nên ta có thể lấy: a = 3 78 mod 7879 = 170 Gỉa sử a = 75, khi đó ò = aa mod 7879 = 4576 Muốn kí bức điện x = 1234, ta chọn số ngãu nhiên k = 50 Vì thế có k -1 mod 101 = 99, khi đó có: ? = (170 30 mod 7879) mod 101 = 2518 mod 101 = 94 Và d = (1234 + 75*94)*99 mod 101 = 96 Chữ kí (94, 97) trên bức điện 1234 đƣợc xác minh bằng các tính toán sau: d -1 = 97 -1 mod 101 = 25 e1 = 1234*25 mod 101 = 45 e2 = 94*25 mod 101 = 27 Có (17045.456727 mod 7879) mod 101 = 2518 mod 101 = 94 Giả sử p là số nguyên tố 512 bít sao cho bài toán logarit rời rạc trong Zp là khó giải. Cho p là số nguyên tố160 bít là ƣớc của (p-1). Gỉa thiết a? Zp là căn bậc q của một modulo p Cho p thuộc Zp và a = Zq ì Zp và định nghĩa: A = {(p, q , a, a, ò ): ò trùng a a (mod p)} Các số p, q , a, ò công khai, có a mật. Với K = (p, q , a, a, ò ) và với một số ngẫu nhiên (mật) k, 1 = k = q -1, ta định nghĩa: Qúa trình kí số sigk (x, k) = (?,dδ) trong đó: ? = (a k mod p) mod q và d = (x + a ?)k -1 mod q với x? Zp và?, d ? Zq Qúa trình xác minh sẽ hoàn thành sau các tính toán: e1 = xd -1 mod q e2 =?d -1 mod q ver(x, g, d) = true  (ae1 òe2 mod p) mod q =? Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 47 Vì thế chữ kí hợp lệ. d. Tính chất của chữ kí DSA Độ an toàn Độ an toàn của chữ kí phụ thuộc vào độ bí mật của khoá riêng. Ngƣời sử dụng phải đƣợc bảo vệ trƣớc về khoá riêng của mình. Nếu khoá riêng đảm bảo an toàn tuyệt đối thì chữ kí cũng có mức độ an toàn hầu nhƣ tuyệt đối. Mặt khác, với khoá riêng là công khai, chữ kí DSA là an toàn khi từ khoá công khai không thể tìm đƣợc khoá riêng. Thật vậy, ta có: Cho p là một số nguyên tố rất lớn, phƣơng trình toán học sau là không thể giải đƣợc: y = ax mod p (1) với y, a = g(p-1)/q và khác 1. Để xem xét điều này trƣớc hết ta nhận xét phƣơng trình (1) có nghiệm x duy nhất thuộc khoảng [1, q]. Thật vậy, giả sử có hai nghiệm x1 và x2 , từ (1) ta có: y = a x1 mod p và y = ax2 mod p Không mất tính tổng quát ta giả sử x1 < x2 từ đây ta suy ra:  ax1 chia hết cho p (không thoả mãn do p nguyên tố)  Tồn tại k nhỏ hơn p sao cho ak  1 (mod p). Với giá trị a có dạng a = g (p-1)/q thì điều này không thể xảy ra khi g < p. Trong nhiều trƣờng hợp, thông điệp có thể mã và giải mã chỉ một lần nên nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm đƣợc mã). Song trên thực tế, nhiều khi một bức điện đƣợc làm một tài liệu đối chứng, chẳng hạn nhƣ bản hợp đồng hay một chúc thƣ và vì thế cần xác minh chữ kí sau nhiều năm kể từ khi bức điện đƣợc kí. Bởi vậy, điều quan trọng là có phƣơng án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí khi đối mặt với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán logarithm rời rạc nên cần dùng modulo p lớn hơn chẳng hạn 512 bit trở lên. Tuy nhiên độ dài chữ kí theo sơ đồ Elgamal là gấp đôi số bit của p mà với nhiều ứng dụng dùng thẻ thông minh thì cần chữ kí ngắn hơn nên giải pháp sửa đổi là: một mặt dùng p với độ dài biểu diễn từ 512 đến 1024 bit, mặt khác trong chữ kí (?,dδ), các số?, d có độ dài biểu biễn ngắn, chẳng hạn là 160 bit – Khi đó độ dài chữ kí là 320 bit. Điều này thực hiện bằng cách dùng nhóm con Cyclic Zq* của Zp* thay cho chính bản thân Zp*, do đó mọi tính toán vẫn đƣợc thực hiện trong Zp* nhƣng dữ liệu và thành phần chữ kí lại thuộc Zq*. Tính hợp lệ: Tính hợp lệ của chữ kí DSA dựa trên hai định lí sau: Định lí 1: Cho p, q là hai số nguyên tố thoả mãn điều kiện q \ (p - 1). h là một số nguyên dƣơng bất kì thoả mãn h < p. Nếu: g  h(p - 1) / q mod p thì gq  1 mod p Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 48 Thật vậy gq  (h(p - 1)/q)q  hp – 1 mod p (theo định lí Fecma nhỏt). Định lí 2: Với g, p, q xác định nhƣ trên ta luôn có: nếu m  n mod p thì gm  gn mod p. Thật vậy không mất tính tổng quát ta đặt m = n + kq Thì gm  gn + kq  (gn mod p).(gkq mod p)  gn mod p  điều phải chứng minh. Nhƣợc điểm: Một ý kiến cho rằng, việc xử lí lựa chọn của NIST là không công khai. Tiêu chuẩn đã đƣợc cục an ninh quốc gia phát triển mà không có sự tham gia của khối công nghiệp Mỹ. Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về kích thƣớc modulo p cố định = 512 bít. Nhiều ngƣời đã muốn kích thƣớc này có thể thay đổi đƣợc nếu cần, có thể dùng kích cỡ lớn hơn. Đáp ứng những điều kiện này, NIST đã chọn tiêu chuẩn cho phép có nhiều kích cỡ modulo bất kì chia hết cho 64 trong phạm vi từ 512 đến 1024 bít. Một phàn nàn nữa về DSA là chữ kí đƣợc tạo ra nhanh hơn việc xác minh nó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai nhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc lập chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứnh dụng của sơ đồ chữ kí:  Bức điện chỉ đƣợc kí một lần, xong nhiều khi lại phải xác minh chữ kí nhiều lần trong nhiều năm. Điều này tạo gợi ý nhu cầu có thuật toán xác minh nhanh hơn.  Những kiểu máy tính nào có thể dùng để kí và xác minh? Nhiều ứng dụng, chẳng hạn các thẻ thông minh có khả năng xử lí hạn chế liên lạc với máy tính nhanh hơn. Vì thế có nhu cầu nhƣng thiết kế một sơ đồ để có thể thực hiện trên thẻ một số tính toán. Tuy nhiên có một số tình huống cần hệ thống minh tạo chữ kí, trong những tình huống khác lại cần thẻ thông minh xác minh chữ kí. Vì thế có thể đƣa ra giải pháp xác định ở đây. Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực ra không có yêu cầu gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện nhanh. 4. Các sơ đồ chữ kí số khả thi Trong các sơ đồ chữ kí điện tử ngƣời ta thƣờng sử dụng hai sơ đồ chữ kí là DSA và RSA bởi vì một số nguyên nhân sau:  Cả hai sơ đồ đều đƣợc chính phủ Mỹ thông qua trong Chuẩn chữ kí số (DSS) . Cả hai giải thuật DSA và RSA đều đƣợc công bố trong Hồ sơ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 49 trong liên bang (FIPS) vào ngày 19/5/94 và đƣợc đƣa ra làm chuẩn chính thức của chữ kí điện tử vào 1/12/94 mặc dù nó đã đƣợc đề xuất từ 8/91.  Các sơ đồ chữ kí này đều là cá sơ đồ chữ kí dựa trên các phƣơng pháp mã hoá khoá khoá công khai vadf đều có độ bảo mật rát cao.  Các bộ số liệu để kiểm nghiệm sự đúng đắn trong việc cài đặt các chữ kí này đều đƣợc công khai. Nếu trong quá trình thử nghiệm các chữ kí này đều đảm bảo đúng với bộ số liệu thì chữ kí đƣợc coi là an toàn.  Cả hai sơ đồ chữ kí đều có thể chuyển đổi từ các chữ kí kèm thông điệp thành chữ kí khôi phục thông điệp không mấy khó khăn với việc tích hợp thêm các hàm có độ dƣ R (Redundancy Function).  Trong thực tế khi đƣa ra hệ thống CA server, phía đối tác quyết định lựa chọn sơ đồ chữ ki DSA là chữ kí chính thức cho toàn bộ các giao dịch.  Thời gian xác nhận chữ kí của cả hai loại chữ kí này đều ngắn và chấp nhận đƣợc trong môi trƣờng mạng công cộng. 5. Các cách tấn công chữ kí điện tử Khi nói đến chữ kí điện tử chúng ta luôn đặt mục tiêu an toàn lên hàng đầu, một chữ kí điện tử chỉ thực sự đƣợc áp dụng trong thực tế nếu nhƣ nó đƣợc chứng minh là không hề giả mạo. Mục tiêu lớn nhất của những kẻ tấn công các sơ đồ chữ kí là giả mạo chữ, điều này có nghĩa là kẻ tấn công sinh ra đƣợc chữ kí của ngƣời kí lên thông điệp mà chữ kí này sẽ đƣợc chấp nhận bởi ngƣời xác nhận. Trong thực tế các hành vi tấn công chữ kí điện tử rất đa dạng, để dễ dàng phân tích một sơ đồ chữ kí là an toàn hay không ngƣời ta tiến hành kiểm nghiệm độ an toàn của chữ kí trƣớc các sự tấn công sau: Tolal break (tấn công toàn bộ): Một kẻ giả mạo không những tính đƣợc thông tin về khoá riêng (private key) mà còn có thể sử dụng một thuật toán sinh chữ kí tƣơng ứng tạo ra đƣợc chữ kí cho thông điệp.  Selective forgert (giả mạo có lựa chọn) : Kẻ tấn công có khả năng tạo ra đựơc một tập hợp các chữ kí cho một lớp các thông điệp nhất định, các thông điệp này đƣợc kí mà không cần phải có khoá mật của ngƣời kí.  Existential forgert (giả mạo với thông điệp biết trƣớc): Kẻ tấn công có khae năng giả mạo chữ kí cho một thopong điệp, kẻ tấn công không thể hoặc có ít nhất khả năng kiểm soát thông điệp đƣợc giả mạo này.  Ngoài ra, hầu hết các chữ kí điện tử đều dựa vào cơ chế mã hoá khoá công khai, các chữ kí điện tử dựa trên cơ chế này có thể bị tấn công theo các phƣơng thức sau: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 50  Key – only attacks (tấn công với khoá): Kẻ tấn công chỉ biết khoá chung của ngƣời kí.  Message attacks (tấn công vào thông điệp): ở đay kẻ tấn

Các file đính kèm theo tài liệu này:

  • pdf170..com.pdf
Tài liệu liên quan