Đăng ký Đăng nhập
Trang chủ ứng dụng chữ ký mù trong xác thực đấu giá điện tử ...

Tài liệu ứng dụng chữ ký mù trong xác thực đấu giá điện tử

.PDF
48
380
120

Mô tả:

MỤC LỤC MỤC LỤC ..................................................................................................... 1 LỜI CẢM ƠN ................................................................................................ 3 LỜI GIỚI THIỆU........................................................................................... 4 CHƯƠNG I: CÁC KHÁI NIỆM CƠ SỞ........................................................ 6 1.1 MỘT SỐ KHÁI NIỆM CƠ SỞ ............................................................. 6 1.1.1 Ký hiệu chia hết .............................................................................. 6 1.1.2 Ước số chung lớn nhất .................................................................... 6 1.1.3 Hai số nguyên tố cùng nhau ............................................................ 6 1.1.4 ðồng dư modulo ............................................................................. 6 1.1.5 Khái niệm nhóm ............................................................................. 7 1.1.6 Hàm Φ Euler................................................................................... 8 1.1.7 Không gian Z*n và Zn ...................................................................... 9 1.1.8 Phần tử nghịch ñảo trong Zn ............................................................ 9 1.1.9. ðộ phức tạp tính toán................................................................... 10 1.1.10 Hàm một phía và hàm cửa sập một phía...................................... 11 1.2 Mà HÓA ............................................................................................ 12 1.2.1 Khái niệm hệ mật mã ................................................................... 12 1.2.2 Những yêu cầu ñối với hệ mật mã................................................. 13 1.2.3 Một số bài toán sử dụng khi xây dựng các hệ mật mã ................... 13 1.2.4 Phân loại hệ mật mã...................................................................... 14 1.3 CHỮ KÝ ðIỆN TỬ ............................................................................ 16 1.3.1 Giới thiệu về chữ ký ñiện tử.......................................................... 16 1.3.2 Sơ ñồ chữ ký ñiện tử ..................................................................... 17 1.3.3 Phân loại các sơ ñồ chữ ký ñiện tử ................................................ 18 1.4 Tạo lập ñại diện thông ñiệp ................................................................. 21 CHƯƠNG 2: ðẤU GIÁ ðIỆN TỬ .............................................................. 23 2.1 ðấu giá truyền thống .......................................................................... 23 2.1.1 Giới thiệu...................................................................................... 23 2.1.2 ðấu giá kiểu Hà Lan (Dutch Auction............................................ 23 2.1.3 ðấu giá kiểu Anh ( English Auction ) ........................................... 23 2.1.4 ðấu giá kín và chọn giá cao nhất (Sealed_bid first_price auction) 24 2.1.5 ðấu giá kín và chọn giá cao thứ hai (Sealed- bid second_price auction).................................................................................................. 24 2.2 ðấu giá ñiện tử................................................................................... 25 2.2.1 Giới thiệu về ñấu giá ñiện tử ........................................................ 25 2.2.2 Các thành phần tham gia vào ñấu giá ñiện tử ................................ 26 2.2.3 Quy trình hoạt ñộng chung............................................................ 26 2.2.4 Các luật trong ñấu giá ñiện tử ....................................................... 26 2.3 Vấn ñề xác thực trong ñấu giá ñiện tử ................................................. 28 2.3.1 Các khái niệm về xác thực ñiện tử ................................................ 28 2.3.2 Vấn ñề xác thực ở các giai ñoạn ñấu giá ñiện tử............................ 29 CHƯƠNG 3: CHỮ KÝ MÙ VÀ ỨNG DỤNG ............................................ 31 -1- 3.1 GIỚI THIỆU CHỮ KÍ MÙ ................................................................. 31 3.2 CHỮ KÝ MÙ CỦA CHAUM. ............................................................ 31 3.2.1 Sơ ñồ chữ ký số RSA.................................................................... 31 3.2.2.Sơ ñồ chữ ký mù dựa trên giao thức ký RSA ................................ 32 3.2.3.Ví dụ cho sơ ñồ chữ ký mù dựa trên giao thức ký RSA................. 32 CHƯƠNG 4: THỬ NGHIỆM CHỮ KÝ MÙ Ở GIAI ðOẠN ðĂNG KÝ TRONG XÁC THỰC ðẤU GIÁ ðIỆN TỬ................................................. 34 4.1 . QUI TRÌNH XÁC THỰC BẰNG CHỮ KÝ MÙ.............................. 34 4.1.1. Qui trình tổng quát....................................................................... 34 4.2 Sơ ñồ chữ ký mù trong xác thực ñấu giá ñiện tử.................................. 39 4.3. Giao diện............................................................................................ 41 4.3.1. Giao diện của ban duyệt giá ......................................................... 41 4.3.2. Giao diện của ban ñăng ký ........................................................... 42 4.3.3. Giao diện của người tham gia ...................................................... 43 4.3.4. ðấu giá ........................................................................................ 45 TÀI LIỆU THAM KHẢO ............................................................................ 47 KẾT LUẬN.................................................................................................. 48 -2- LỜI CẢM ƠN Trước hết, em xin bày tỏ lòng biết ơn sâu sắc ñến thầy giáo hướng dẫn Hòa Quang Dự và thầy giáo Trần Ngọc Thái ñã tận tình hướng dẫn, chỉ bảo và tạo mọi ñiều kiện thuận lợi ñể em hoàn thành tốt khóa luận tốt nghiệp của mình. Em xin chân thành cảm ơn các thầy cô giáo trong khoa công nghệ thông tin trường ðại học dân lập Hải Phòng ñã giảng dạy và cung cấp tất cả những chuyên môn cần thiết và quý giá nhất. Ngoài ra chúng em còn ñược rèn luyện một tinh thần học tập và sáng tạo. ðây chính là tính cách hết sức cần thiết ñể có thể thành công khi bắt tay vào công việc trong tương lai. Cuối cùng em xin gửi lời cảm ơn tới tất những người thân, bạn bè ñã giúp ñỡ ñộng viên và ñóng góp nhiều ý kiến quý báu trong quá trình học tập và làm khóa luận tốt nghiệp. Sinh viên Nguyễn Thị Thu Hường -3- LỜI GIỚI THIỆU Con người luôn có nhu cầu trao ñổi thông tin với nhau, cùng với sự phát triển của xã hội thì nhu cầu ñó ngày càng tăng cao. Ngày nay sự xuất hiện của Internet và các mạng cục bộ ñã giúp cho việc trao ñổi thông tin trở nên nhanh chóng, dễ dàng hơn. Email cho phép người ta nhận hay gửi thư ngay trên máy tính của mình, Ebussiness cho phép thực hiện các giao dịch buôn bán trên mạng… Lợi ích của Internet mang lại cho xã hội là vô cùng to lớn, tuy nhiên tự nó lại phát sinh vấn ñề mới là: những tin tức quan trọng nằm ở kho dữ liệu hay ñang trên ñường truyền có thể bị trộm cắp, có thể bị làm sai lệch, có thể bị làm giả mạo. Vì thế, nảy sinh yêu cầu cần phải làm thế nào cho văn bản khi ñược gửi sẽ “không ñược nhìn thấy” hay không thể giả mạo văn bản dù cho có xâm nhập vào văn bản. Với sự ra ñời của công nghệ mã hóa và chữ ký số ñã trợ giúp con người trong việc giải quyết các bài toán nan giải về bảo mật trong việc trao ñổi thông tin. Cũng bằng trao ñổi thông tin trên mạng, một tình huống khác nảy sinh. ðó là khi người ta nhận ñược một văn bản truyền trên mạng, thì lấy gì ñể bảo ñảm rằng ñó là của ñối tác gửi cho mình. Tương tự, người nhận ñược tờ sec (tiền ) trên mạng thì có cách nào ñể xác nhận rằng ñó là của ñối tác gửi cho họ. Thông thường, người gửi văn bản quan trọng phải có chữ ký xác nhận phía dưới. Một số chữ ký ñã ñược xây dựng: RSA với tính năng cả mã hóa lẫn chữ ký số, phiên bản của Elgamal với tính năng dành riêng cho ký số, phiên bản của Elgama là chuẩn ký số DSS. Mặc dù các chữ ký số còn nhiều hạn chế về kích thước văn bản cần xử lý, hay khả năng chống giả mạo chưa cao … nhưng những khả năng nó ñem lại là rất hữu ích. Ngày nay, nhờ Internet người ta quan hệ với nhau từ xa. Có rất nhiều các hoạt ñộng kinh tế, xã hội từ xa như ñàm phán, thanh toán, gửi tiền từ xa… Do ñó chữ ký số ñược sử dụng chữ ký số ñược sử dụng ở rất nhiều lĩnh vực: trong kinh tế với việc trao ñổi các hợp ñồng của các ñối tác kinh doanh hay ñấu giá ñiện tử Khóa luận này ñã phần nào giúp em tìm hiểu về chữ ký mù với các sơ ñồ và giải thuật kèm theo. -4- Nội dung chính của khóa luận gồm các chương sau: Chương 1: Các khái niệm cơ sở Chương 2: ðấu giá ñiện tử Chương 3: Chữ ký mù. Chương 4: Thử nghiệm chữ ký mù trong xác thực ñấu giá ñiện tử. -5- CHƯƠNG I: CÁC KHÁI NIỆM CƠ SỞ 1.1 MỘT SỐ KHÁI NIỆM CƠ SỞ 1.1.1 Ký hiệu chia hết Cho a và b là hai số nguyên dương. Số a chia hết cho số b ký hiệu là a:b ⇔ Tồn tại n ∈ N sao cho a=b*n. Khi ñó người ta nói b là ước của a và ký hiệu là: b a. 1.1.2 Ước số chung lớn nhất Cho a và b là hai số nguyên dương. Ước số chung lớn nhất của a và b là số tự nhiên m lớn nhất sao cho a m và b m. Khi ñó ký hiệu là USCLN(a, b) = m. 1.1.3 Hai số nguyên tố cùng nhau Số nguyên tố là số chỉ chia hết cho 1 và cho chính nó. Ví dụ như: 2,3, 13… là các số nguyên tố. Cho a và b là hai số nguyên dương. Số a và b ñược gọi là hai số nguyên tố cùng nhau ⇔ USCLN(a,b) = 1 Ví dụ: Số 2 và 5 là hai số nguyên tố cùng nhau 1.1.4 ðồng dư modulo ðịnh nghĩa: Cho n ∈ N, n ≠ 0 và a, b ∈ Z*n , a và b gọi là ñồng dư Modulo n, ký hiệu là a ≡ b (mod n) nghĩa là a, b chia cho n có cùng số dư. Số nguyên n gọi là modulo của ñồng dư ⇔ tồn tại số nguyên k ∈ Z*n sao cho a = b+ k*n. Tức là: (a-b) = k*n, như vậy n  (a-b) Ví dụ: 4 ≡ 7 (mod 3) Quan hệ ñồng dư ( theo modulo n) trên tập hợp các số nguyên có tính chất phản xạ, ñối xứng và bắc cầu, tức là một quan hệ tương ñương, do ñó nó tạo ra một phân hoạch trên tập hợp thuộc cùng một lớp tương ñương khi và chỉ khi chúng cho cùng một số dư nếu chia cho n. Mỗi lớp tương ñương như vậy ñược ñại diện bởi một số duy nhất trong tập hợp Zn = {0,1,2,…,n-1}, là số dư chung khi chia các số trong lớp ñó cho n. Vì vậy ta có thể ñồng nhất Zn với tập hợp tất cả các lớp tương ñương các số -6- nguyên theo modulo n. Trên tập ñó ta có thể xác ñịnh các phép tính cộng, trừ và nhân trên modulo n. Tính chất ñồng dư modulo: Cho a, a1, b, b1, c ∈ Z. Ta có các tính chất sau: a ≡ b (mod n) ⇔ a và b có cùng số dư khi chia cho n. 1. Tính phản xạ: a ≡ a (mod n). 2. Tính ñối xứng: nếu a ≡ b (mod n) thì b ≡ a (mod n). 3. Tính giao hoán: nếu a ≡ b (mod n) và b ≡ c (Mod n) thì a ≡ c (mod n). 4. Nếu a ≡ a1 (mod n) và b ≡ b1 (mod n) thì a + a1 ≡ b + b1 (mod n) và ab ≡ a1b1 (mod n). Hệ quả: 1. Có thể thêm hay bớt cùng một số vào hai vế của một ñồng dư thức. Tức là: Nếu a ≡ b (mod n) thì a + c ≡ b + c (mod n) và a-c ≡ b - c (mod n). 2. Có thể nhân 2 vế của cùng một ñồng dư thức với một số nguyên khác 0, tức là: nếu a ≡ b (mod n) thì ac ≡ bc (mod n). 3. Có thể nâng 2 vế của một ñồng dư thức lên cùng một lũy thừa với bậc là số tự nhiên. Tức là: nếu a ≡ b (mod n) thì am ≡ bm (mod n), với m ∈ N Các phép tính cơ bản trong không gian modulo: a + b nếu a + b < 0 a ≡ b (mod n) = a + b – n nếu a + b >n Vì vậy phép cộng modulo (phép trừ modulo) có thể ñược thực hiện mà không cần thực hiện phép chia lớn. Phép nhân modulo của a và b ñược thực hiện bằng phép nhân thông thường a với b như các số nguyên bình thường, sau ñó lấy phần dư của kết quả sau khi chia cho n. Phép tính nghịch ñảo trong Zn có thể ñược thực hiện nhờ sử dụng thuật toán Euclidean mở rộng. 1.1.5 Khái niệm nhóm Nhóm: là bộ các phần tử (G,*) thỏa mãn những tính chất sau:  Tính chất kết hợp: (x * y) * z = x * (y * z).  Tính chất tồn tại phần tử trung gian: e ∈ G -7- E * x = x * e =x, ∀x ∈ G  Tính chất tồn tại phần tử nghịch ñảo x’ ∈ G x’ * x = x * x’ = e Nhóm con Cho G là một nhóm và S ⊂ G và S ≠ 0. S ñược gọi là nhóm con của G nếu:  Phần tử trung gian e của G nằm trong S.  S khép kín ñối với luật hợp thành trong G tức là x, y ∈ S. ⇒ x*y ∈ G.  S khép kín ñối với phép lấy nghịch ñảo trong G tức là : x-1 ∈ S, ∀x ∈ S. Nhóm Cyclic: Là nhóm mà mọi phần tử x của nó ñược sinh ra từ một phần tử ñặc biệt g ∈ G. Phần tử này ñược gọi là phần tử nguyên thủy: ∃ n ∈ N sao cho g n = x. Ví dụ: (Z+,*) là nhóm Cyclic có phần tử sinh là 1. 1.1.6 Hàm Φ Euler ðịnh nghĩa: Cho n ≥ 1. Φ(n) ñược ñịnh nghĩa là các số nguyên tố trong khoảng [1,n] nguyên tố cùng nhau với n. Hàm Φ ñươc gọi là hàm phi Euler. Cấp của G là số phần tử của G nếu G có hữu hạn các phần tử và bằng vô cùng nếu G có vô hạn phần tử. Như vậy nhóm Z*n có cấp là Φ(n). Nếu không tồn tại số tự nhiên n ñể gn =e thì G có cấp là vô cùng. Tính chất  Nếu p là số nguyên tố thì Φ(n) = p-1. Ta có ∀b ∈ Z*p: bp-1 ≡ 1 (mod p). Nếu b có cấp p-1, tức là p-1 là số mũ bé nhất thỏa mãn ñiều kiện trên thì các phần tử b, b2,…,bp-1 ñều khác nhau và theo modulo p chúng lập thành Z*p là một nhóm Cyclic và b là phần tử sinh, hay phần tử nguyên thủy của nhóm ñó. -8- Phần tử g ∈ G ñược gọi là có cấp d nếu d là số nguyên dương nhỏ nhất sao cho gd = g. Nó có cấp 1 nếu a = e. Cũng vì lẽ ñó mà nhóm Cyclic còn ñược ñịnh nghĩa như sau: Nhóm G ñược gọi là nhóm Cyclic nếu tồn tại số g sao cho mọi phần tử trong G ñều là một lũy thừa nguyên nào ñó của g.  Nếu phi Euler là hàm có tính chất nhân: Nếu USCLN(m,n) = 1 thì Φ(m,n)= Φ(m) Φ(n).  Nếu n = pe11 pe22…pekk là thừa số nguyên tố của n thì Φ(n) = n(1- 1/p1)(1 – 1/p2)…(1 – 1/pk). 1.1.7 Không gian Z*n và Zn ðịnh nghĩa: Các số nguyên tố theo modulo n ký hiệu là Zn là một tập hợp các số nguyên {0,1,2,,…,n-1}. Các phép toán cộng, trừ, nhân trong Zn ñược thực hiện theo modulo n. Tập hợp Zn cùng với phép cộng lập thành nhóm Cyclic có phần tử sinh là nhóm hữu hạn cấp n. Ví dụ: Z25 = {1,2,…,24} khi ñó trong Z25: 12 + 24 = 11 vì: 12 + 24 = 36 ≡ 11 (mod 25). Z*n = {p ∈ Zn  USCLN(n,p) = 1}. ðó là tập các số nguyên dương nhỏ hơn n nhưng nguyên tố cùng nhau với n, lập thành một nhóm với phép nhân mod n. Ví dụ: Z8 = {0,1,…,8} thì Z*n = {1,3,5,7}. 1.1.8 Phần tử nghịch ñảo trong Zn ðịnh nghĩa: Cho a ∈ Zn nghịch ñảo nhân của a theo modulo n là số nguyên x ∈ Zn sao cho a * x ≡ 1 (mod n). Nếu tồn tại thì ñó là giá trị duy nhất và a ñược gọi là khả nghịch, nghịch ñảo của a ký hiệu là a-1. Tính chất:  Cho a, b ∈ Zn. Phép chia của a cho b theo modulo n là tích của a và b-1 theo modulo n và chỉ ñược xác ñịnh khi b có nghịch ñảo theo modulo n.  Cho a ∈ Zn , a nghịch ñảo khi và chỉ khi USCLN(a,n) = 1. -9-  Giả sử d = USCLN(a,n) phương trình ñồng dư ax ≡ b (mod n) có nghiệm x và chỉ nếu d chia hết cho b, trong trường hợp các nghiệm d nằm trong khoảng [0, n-1] thì các nghiệm ñồng dư theo modulo n. 1.1.9. ðộ phức tạp tính toán Lý thuyết thuật toán và các hàm số tính ñược ra ñời từ những năm của thế kỷ XX ñã ñặt nền móng cho việc nghiên cứu các vấn ñề “tính ñược” “giải ñược” trong toán học. Tuy nhiên từ việc “giải ñược” ñến việc tính toán thực tế là một khoảng cách rất lớn. Có biết bao nhiêu thứ dược chứng minh tính ñược một cách tiềm năng, nhưng không tính ñược trong thực tế, dù có hỗ trợ của máy tính ñiện tử. Vấn ñề là ở chỗ những ñòi hỏi về không gian vật chất và về thời gian ñể thực hiện các tiến trình tính toán nhiều khi vượt quá những khả năng thực tế . Vào những năm 1960 thì lý thuyết về ñộ phức tạp tính toán bắt ñầu ñược hình thành và phát triển nhanh chóng, cung cấp cho chúng ta nhiều hiểu biết sâu sắc và bản chất phức tạp của các thuật toán và các bài toán, cả những bài toán thuần túy lý thuyết ñến những bài toán thường gặp trong thực tế. ðộ phức tạp tính toán (về không gian hay về thời gian) của một tiến trình tính toán là số ô nhớ ñược dùng hay số các phép toán sơ cấp ñược thực hiện trong tiến trình tính toán ñó. Dữ liệu ñầu vào ñối với một thuật toán thường ñược biểu diễn qua các từ trong một bảng ký tự nào ñó. ðộ dài của một từ là số ký tự trong ñó. Cho một thuật toán A trên bảng ký tự Σ (ñầu vào là các từ trong Σ ). ðộ phức tạp tính toán của thuật toán A ñược hiểu như một hàm số fA(n) sao cho với mỗi số n thì fA(n) là số ô nhớ hay số phép toán sơ cấp tối ña mà A cần thực hiện tiến trình tính toán của mình trên dữ liệu ñầu vào có ñộ dài ≤ n. Khi ñó ta nói thuật toán A có ñộ phức tạp thời gian ña thức, nếu có một ña thức P(n) sao cho ∀n ñủ lớn ta có fA(n) ≤ P(n), trong ñó fA(n) là ñộ phức tạp tính toán theo thời gian của A. Bài toán P là giải ñược nếu có thuật toán ñể giải nó tức là thuật toán làm việc kết thúc trên mọi dữ, liệu vào của bài toán. Bài toán P là giải ñược trong thời gian ña thức nếu có thuật toán giải nó với ñộ phức tạp thời gian ña thức. - 10 - Các thuật toán có ñộ phức tạp giống nhau ñược phân loại vào trong các lớp tương ñương như là: các thuật toán có ñộ phức tạp là n3 ñược phân vào lớp n3 và ký hiệu là 0(n3). 1.1.10 Hàm một phía và hàm cửa sập một phía Hàm f(x) ñược gọi là hàm một phía nếu tính y = f(x) thì “dễ”, nhưng tính x = f-1(y) thì lại rất khó. Ví dụ: Tính y = ax (mod p) là dễ nhưng việc tính x = logay là khó với p là một số nguyên tố lớn, a là phần tử nguyên thủy là hàm một phía. Hàm một phía cửa sập: Hàm y = f(x) ñược gọi là hàm một phía cửa sập nếu tính y = f(x) thì “dễ”, nhưng tính x = f-1(y) thì lại rất khó. Tuy nhiên có một cửa sập z và với sự trợ giúp của cửa sập z thì việc tính x = f-1(y) lại trở lên “dễ”. - 11 - 1.2 Mà HÓA Ta biết rằng truyền thông tin trên mạng rất dễ bị ñánh cắp. ðể ñảm bảo việc truyền tin trên mạng ñược an toàn, người ta thường mã hóa thông tin trước khi truyền ñi. Việc mã hóa thường theo quy tắc nhất ñịnh gọi là hệ mật mã. Hiện nay có hai loại mật mã chính ñó là: mật mã ñối xứng và phi ñối xứng. Mật mã ñối xứng dễ hiểu, dễ thực thi nhưng có ñộ an toàn không cao vì giới hạn tính toàn chỉ thực hiện trong phạm vi bảng chữ cái sử dụng văn bản cần mã hóa (Ví dụ Z26 nếu dùng các chữ cái tiếng Anh, Z256 nếu dùng bảng mã ASCII.). Với các mật mã ñối xứng nếu biết khóa lập mã hay thuật toán lập mã, người ta có thể tìm ngay ra ñược bản rõ. Ngược lại thì các hệ mật mã khóa công khai cho biết khóa lập mã K và hàm lập mã ek thì cũng rất khó tìm ñược cách giải mã. Việc thám mã là rất khó do ñộ phức tạp tính toán lớn. 1.2.1 Khái niệm hệ mật mã Hệ mật mã là hệ bao gồm 5 thành phần (P, C, K, E, D) thỏa mãn các tính chất sau: P(Plaintext): là tậphợp hữu hạn các bản rõ có thể. C(Cliphertext): là tập hữu hạn các bản mã có thể. K(Key): là tập hợp các bản khóa có thể. E(Encrytion): là tập hợp các quy tắc mã hóa có thể Ek(P) = C D(Decrytion): là tập hợp các quy tắc giải mã có thể Dk(C) = P Với mỗi k ∈ K ta có một hàm lập mã ek ∈ E, ek: P→C và một hàm giải mã dk ∈ D, dk: C →P sao cho dk(ek(x)) = x với ∀x ∈ P Với mỗi bản rõ x ñược mã hóa bằng ek và bản mã nhận ñược sau ñó ñược giải mã bằng hàm giải mã dk và thu ñược bản rõ x ban ñầu. Nguyên tắc ñể dùng hệ mật khóa riêng. Trước tiên họ chọn ngẫu nhiên khóa k ∈ K mà chỉ có hai người gửi và người nhận biết còn những người khác không biết. Giả sử bản rõ là một chuỗi: x = x1, x2,…,xn với số nguyên n ≥ 1 nào ñó. Với mỗi xi (1 ≤ x ≤ n) sẽ ñược mã hóa bằng quy tắc mã ek với khóa k xác ñịnh trước ñó. Người gửi sẽ tính bản mã y: y = ek(xi), i ≤ x ≤ n và chuỗi bản mã nhận ñược sẽ là y = y1, y2,…,yn sẽ ñược gửi trên kênh. Khi người nhận, nhận ñược bản mã y = y1, y2,…,yn sẽ giải mã bằng hàm giải mã dk và thu ñược bản rõ x = x1, x2,…,xn. - 12 - 1.2.2 Những yêu cầu ñối với hệ mật mã Cung cấp một mức cao về tính bảo mật, tính toàn vẹn, tính chống chối bỏ và tính xác thực. ðộ tin cậy: Bảo ñảm bí mật cho các thông báo và dữ liệu bằng việc che dấu thông tin nhờ các kỹ thuật mã hóa. Tính toàn vẹn: Bảo ñảm với các bên rằng thông ñiệp không bị thay ñổi trên ñường truyền tin. Tính chống chối bỏ: Có thể xác nhận rằng tài liệu ñã ñến từ ai ñó, ngay cả khi họ cố gắng từ chối nó. Tính xác thực: Nhận dạng nguồn gốc của một thông báo và bảo ñảm rằng nó ñúng sự thật, ñồng thời kiểm tra ñịnh danh của người ñăng nhập hệ thống. 1.2.3 Một số bài toán sử dụng khi xây dựng các hệ mật mã 1.2.3.1 Bài toán phân tích số nguyên thành thừa số nguyên tố Cho số nguyên dương n, tìm tất cả các ước số nguyên tố của nó, hay tìm dạng phân tích chính tắc của n: n = p1a1.p2a2…pkai . Trong ñó pi là các số nguyên tố từng cặp khác nhau và các ai ≥ 1. Bài toán này liên hệ mật thiết với các bài toán thử tính nguyên tố hay thử tính hợp số của một số nguyên, nhưng những gì ta biết ñến nay nó dường như khó hơn nhiều so với hai bài toán thử tính nguyên tố và thử tính hợp số của một số nguyên. Trong lý thuyết mật mã bài toán này thường ñược sử dụng với các dữ liệu n là số nguyên Blum tức là số nguyên dương có dạng tích của hai số nguyên tố lớn nào ñó. 1.2.3.2 Bài toán Logarit rời rạc Cho số nguyên p, một phần tử nguyên thủy α theo modulo p (hay α là phần tử nguyên thủy của Z*p) và một phần tử β ∈ Z*p . Tìm số nguyên x ( 1 ≤ x ≤ p-1) sao cho β = αx mod p. Trong trường hợp chung này, cho ñến nay chưa có một thuật toán nào giải bài toán này trong thời gian ña thức nếu số p là ñủ lớn. Bài toán này cũng ñược sử dụng cho các nhóm Cyclic hữu hạn như sau: - 13 - Cho một nhóm Cyclic hữu hạn G cấp n, một phần tử sinh (nguyên thủy) α của G và một phần tử β ∈ G. Tìm một số nguyên x (1 ≤ x ≤ n-1) sao cho αx = β. 1.2.4 Phân loại hệ mật mã 1.2.4.1 Hệ mật mã ñối xứng (cổ ñiển) Hệ mã hóa ñối xứng: là hệ mã hóa mà tại ñó khóa mã hóa có thể “dễ” tính toán ra ñược từ khóa giải mã và ngược lại. Trong rất nhiều trường hợp khóa lập mã và khóa giải mã là giống nhau. Thuật toán này có nhiều tên gọi khác nhau như thuật toán khóa bí mật, thuật toán khóa ñơn giản, thuật toán một khóa. Thuật toán này yêu cầu người gửi và người nhận phải thỏa thuận một khóa trước khi thông báo ñược gửi ñi và khóa này phải ñược cất giữ bí mật. ðộ an toàn của thuật toán này phụ thuộc vào khóa, nếu ñể lộ ra khóa này nghĩa là bất kỳ người nào cũng có thể mã hóa và giải mã thông báo trong hệ thống mã hóa. Sự mã hóa và giải mã của thuật toán ñối xứng biểu thị bởi: Ek: P → C và Dk: C → P Nơi ứng dụng: Sử dụng trong môi trường mà khóa ñơn dễ dàng ñược chuyển như là trong cùng một văn phòng. Cũng dùng ñể mã hóa thông tin ñể lưu trữ trên ñĩa. Các vấn ñề ñối với phương pháp mã hóa này: - Phương pháp mã hóa ñối xứng ñòi hỏi người mã hóa và người giải mã phải cùng chung một khóa. Khi ñó khóa phải ñược giữ bí mật tuyệt ñối, do vậy ta dễ dàng xác ñịnh một khóa nếu biết khóa kia và ngược lại. - Hệ mật mã hóa ñối xứng không an toàn nếu khóa bị lộ với xác xuất cao. Trong hệ này khóa phải ñược gửi ñi trên kênh an toàn. - Vấn ñề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ mã hóa ñối xứng. Người gửi và người nhận phải luôn thống nhất với nhau về khóa. Việc thay ñổi khóa là rất khó và dễ bị lộ. - Khuynh hướng cung cấp khóa dài mà nó phải ñược thay ñổi thường xuyên cho mọi người, trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí, sẽ cản trở rất nhiều tới việc phát triển hệ mật mã. - 14 - 1.2.4.2 Hệ mã hóa phi ñối xứng (công khai) Hệ mã hóa công khai: là hệ mã hóa trong ñó khóa mã hóa là khác với khóa giải mã. Khóa giải mã “khó” tính toán ñược từ khóa mã hóa và ngược lại. Khóa mã hóa còn gọi là khóa công khai (Public key). Khóa giải mã ñược gọi là khóa riêng (Private key). Nơi ứng dụng: Sử dụng chủ yếu trên các mạng công khai như Internet, khi mà việc trao chuyển khoá bí mật tương ñối khó khăn. ðặc trưng nổi bật của hệ mã hóa công khai là cả khóa công khai và bản mã (ciphertext) ñều có thể gửi ñi trên một kênh thông tin không an toàn. Các ñiều kiện của một hệ mã hóa công khai: Khi biết ñiều kiện ban ñầu, việc tìm ra khóa công khai k’ và bí mật k” phải ñược thực hiện một cách dễ dàng, tức là trong thời gian ña thức. Người gửi A có khóa công khai, có bản tin P thì có thể tạo ra bản mã C nhanh gọn, nghĩa là cũng trong thời gian ña thức. Người B khi nhận ñược bản tin mã hóa C với khóa bí mật k” thì có thể giải mã bản tin dễ dàng trong thời gian ña thức. Nếu kẻ phá hoại biết khóa công khai k’, cố gắng tìm khóa bí mật k” thì khi ñó chúng phải ñương ñầu với tính toán nan giải, rất khó khả thi về mặt thời gian. Nếu kẻ phá hoại biết ñược khóa công khai k’, và hơn nữa các bản mã hóa C thì việc tìm ra bản rõ P là bài toán khó, số phép thử là vô cùng lớn không khả thi. Hệ mã phi ñối xứng tiện lợi hơn hệ mã ñối xứng ở chỗ thuật toán ñược viết một lần cho nhiều lần dùng. Chỉ cần bí mật khóa riêng. Nhược ñiểm: Tốc ñộ mã hóa chậm. Tốc ñộ mã hóa nhanh nhất của loại mật mã phi ñối xứng vẫn chậm hơn nhiều so với mật mã hóa ñối xứng. Do ñó người ta thường kết hợp hai loại mã hóa ñể nâng tốc ñộ mã hóa và ñô an toàn lên. - 15 - 1.3 CHỮ KÝ ðIỆN TỬ 1.3.1 Giới thiệu về chữ ký ñiện tử Trong môi trường mạng, giải thuật mật mã khóa công khai không chỉ dùng vào việc bảo vệ tính bí mật của thông ñiệp mà còn phương tiện ñể bảo vệ tính xác thực và tính toàn vẹn của thông ñiệp, ngăn chặn sự giả mạo, sự thay ñổi… Trong một số các ứng dụng cần thiết ñể bảo vệ tính riêng tư của các bên tham gia thì năm 1982 David Chaum ñã phát minh ra chữ ký mù nhằm thỏa mãn yêu cầu trên. Một sơ ñồ chữ ký mù cho phép người gửi, gửi một thông ñiệp có chữ ký mà người ký không hề biết một chút thông tin nào về thông ñiệp ñó. Chính vì vậy mà nó rất thích hợp trong các giao dịch ñiện tử. Ví dụ trong ứng dụng tiền ñiện tử thì yêu cầu (khách hàng) gửi thông ñiệp m có thể ñại diện cho một giá trị tiền tệ mà khách hàng muốn tiêu, khi mà thông ñiệp m và chữ ký SB(m) như là sự hiện diện của ngân hàng ñể trả tiền nhưng ngân hàng không thể tìm ra ñược nguồn gốc ñể tạo ra thông ñiệp m cũng như tạo ra chữ ký. ðây là một ñiển hình về việc không thể lần theo dấu vết của một người ñể có thể rút tiền hợp lệ từ một ngân hàng và tiêu tiền tại một cửa hàng. Trong ñấu giá ñiện tử thì chữ ký mù có một vai trò hết sức quan trọng. Nó cho phép ban ñăng ký, ký trên phiếu ñặt giá mà không hề biết nội dung của phiếu. Như trong cách thức truyền thống, thông báo ñược truyền ñi trong giao dịch thường dưới dạng văn bản viết tay hoặc ñánh máy kèm thêm chữ ký (viết tay) của người gửi ở bên dưới văn bản. Và chữ ký ñó là bằng chứng xác nhận thông báo ñó ñúng là của người ký tức là của người chủ thể giao dịch, và nếu tờ giấy mang văn bản không bị cắt, dán, tẩy, xóa thì tính toàn vẹn của thông báo cũng ñược chứng thực bởi chữ ký ñó. Chữ ký viết tay cũng có nhiều ưu ñiểm quen thuộc như là dễ kiểm thử, không sao chép ñược, chữ lý của một người là giống nhau trên nhiều văn bản, nhưng mỗi chữ ký gắn liền với một văn bản cụ thể… Khi chuyển sang cách thức truyền tin bằng phương tiện ñiện tử hiện ñại, các thông báo ñược truyền ñi trên các mạng truyền tin số hóa, bản thân các thông báo cũng ñược biểu diễn dưới dạng số hóa, tức dưới dạng các dãy bít nhị phân. Chữ ký nếu có cũng ở dạng các dãy bit, thì các mối quan hệ kể trên tự nhiên không còn giữ ñược nữa. Chẳng hạn, chữ ký của một người gửi - 16 - trên những văn bản khác nhau phải thể hiện ñược sự gắn kết trách nhiệm của người gửi ñối với từng văn bản ñó thì tất yếu phải khác nhau chứ không thể là những ñoạn bit giống nhau trên các văn bản thông thường. Chữ ký ñiện tử (chữ ký số): là phương pháp ký một thông ñiệp dưới dạng ñiện tử chẳng hạn một thông ñiệp ñược truyền ñi trên mạng máy tính. Chữ ký số dựa trên mật mã khóa công khai: khóa bí mật dùng ñể ký, khóa công khai dùng ñể kiểm thử. Chữ ký viết tay có thể ñược kiểm thử bằng cách so sánh nó với “nguyên mẫu ” ñã ñược ký mà so sánh. Nhưng ñây không phải là phương pháp an toàn vì nó dễ dàng bị giả mạo. Mặt khác thì chữ ký ñiện tử ñược kiểm thử bằng một thuật toán công khai mà ai cũng có thể kiểm tra ñược chữ ký số. Một vấn ñề nữa là việc sao chép văn bản cùng chữ ký. Với chữ ký thông thường thì 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ý của 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. 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ằng 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 và rất dễ nhận ra. ðiều này có nghĩa phải cẩn thận nhằm ngăn chặn một bức ký số khỏi bị dùng lại. Hoạt ñộng mạng ngày càng phát triển vì thế chữ ký ñiện tử là một hình thức ñể bảo ñảm tính pháp lý của các cam kết. Nó phải ñáp ứng ñược các yêu cầu sau: - Người nhận có thể xác thực ñược ñặc ñiểm nhận dạng của người gửi. - Người gửi sau này không thể chối bỏ nội dung của bản tin ñã gửi. - Người gửi không thể thay ñổi bản tin sau khi ñã gửi. 1.3.2 Sơ ñồ chữ ký ñiện tử Một sơ ñồ chữ ký số thường chứa 2 thành phần: thuật toán ký và thuật toán xác minh. 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 tùy thuộc vào chữ ký ñược thực hiện như thế nào. Dưới ñây là ñịnh nghĩa hình thức chữ ký. ðịnh nghĩa: Một sơ ñồ chữ ký số là bộ 5 (P, A, K, S, V) thỏa mãn ñiều kiện dưới ñây: 1. P là tập hữu hạn các bức ñiện (thông ñiệp) có thể. - 17 - 2. A là tập hữu hạn các chữ ký có thể. 3. K không gian khóa là tập hữu hạn các khóa có thể. 4. Với mỗi k thuộc K tồn tại thuật toán ký sigk thuộc S và là một thuật toán xác minh verk thuộc V. Mỗi sigk: P→A và verk: P x a→{true, false} là những hàm sao cho mỗi thông ñiệp x thuộc P và mỗi chữ ký y thuộc a thỏa mãn phương trình dưới ñây. Verk = true nếu y = sig (x) Verk = false nếu y ≠ sig (x) 1.3.3 Phân loại các sơ ñồ chữ ký ñiện tử Chữ ký ñiện tử ñược chia làm 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). - 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ý. 1.3.3.1 Một số sơ ñồ ký số 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. a, Sơ ñồ chữ ký kèm thông ñiệp Sơ ñồ 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ã hóa hơ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 nghĩa chính xác sơ ñồ chữ ký này như sau: 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ý ñược gọi là chữ ký kèm thông ñiệp. Ví dụ Elgamal, DSA, Schonor . Sơ ñồ chữ ký Elgamal: Chọn p là số nguyên tố lớn sao cho bài toán logarit rời rạc trong Zp là khó. Chọn phần tử nguyên thủy α ∈ Z*p. ðặt P = Z*p, A = Z*p * Z*p và K = { (p, α, a, β): a ∈ Z*p, β ≡ αa mod p } Với mỗi k’ = (a) bí mật, k” = (p, α, β) công khai. - 18 - Chọn ngẫu nhiên r ∈ Z*p-1 và bí mật, lập chữ ký trên x ∈ P ( x ≠ 0) sau: Ký: y = Sigk’(x,r) = (γ,δ), y ∈ A Trong ñó γ ∈ Z*p , δ ∈ Zp-1 và ñược tính như sau: γ = αr mod p ∈ Z*p (1) δ = (x- a* γ ) * r-1 Mod (p-1 ) ∈ Z*p (2) Kiểm thử: Verk”(x, γ, δ) = ñúng ⇔ β γ γδ mod p ≡ αx mod p Ví dụ: Chọn p=463; α=2; a=211; 211 β≡ 2 mod 463=249 -1 chọn r =235; r =289 - Ký trên x=112 Sig(x,r) = Sig (112,235)=(γ,δ)=(16,108) 235 γ= 2 mod 463 =16 δ= (112-211*16)*289 mod (463-1)=108 - Kiểm tra chữ ký: 16 108 249 * 16 mod 463 = 132 112 2 mod 463 = 132 b, 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ơ ñồ ký kiểu này thường ñược ký cho các thông ñiệp ngắn. Sơ ñồ ký ñược gọi là có khôi phục thông ñiệp khi và chỉ khi nó là sơ ñồ mà với nó mức ñộ hiểu biết về thông ñiệ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 khóa chung. Sơ ñồ chữ ký RSA - Chọn p, q nguyên tố lớn . Tính n=p.q; φ (n)=(p-1)(q-1). Chọn b nguyên tố cùng φ (n). - 19 - -1 Chọn a nghịch ñảo với b; a=b mod φ (n). - Ký trên x: a Sig (x) = x mod n - Kiểm tra chữ ký: b Ver (x,y)= True x ≡ y mod n Ví dụ: Chọn p=3; q=5; n=15; φ s(n)= 8; chọn b=3; a=3 - Ký x =2: a 3 Chữ ký : y = x mod n = 2 mod 15=8 b 3 - Kiểm tra: x = y mod n = 8 mod 15 =2 (chữ ký ñúng) - 20 -
- Xem thêm -

Tài liệu liên quan