intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

CHỮ KÝ SỐ TẬP THỂ - MÔ HÌNH VÀ THUẬT TOÁN

Chia sẻ: Lưu Hồng Dũng | Ngày: | Loại File: PDF | Số trang:6

1.164
lượt xem
1.023
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài báo "Chữ ký số tập thể - Mô hình và thuật toán" đề xuất một mô hình ứng dụng chữ ký số phù hợp cho đối tượng là các cơ quan nhà nước, đơn vị hành chính, doanh nghiệp,... mà ở đó các thông điệp dữ liệu cần phải được chứng thực về nguồn gốc và tính toàn vẹn ở 2 cấp độ, bài báo cũng đề xuất xây dựng lược đồ chữ ký số theo mô hình ứng dụng mới này. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: CHỮ KÝ SỐ TẬP THỂ - MÔ HÌNH VÀ THUẬT TOÁN

Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> <br /> Chữ ký số tập thể - Mô hình và thuật toán<br /> <br /> Lưu Hồng Dũng Nguyễn Đức Thụy<br /> Khoa CNTT Bộ môn Tin Học Ứng Dụng<br /> Học viện Kỹ thuật Quân sự Cao đẳng Kinh tế Kỹ thuật Thành phố Hồ Chí Minh<br /> Hà Nội, Việt Nam Hồ Chí Minh, Việt Nam<br /> Email: luuhongdung@gmail.com Email: thuyphulam2013@gmail.com<br /> <br /> Tóm tắt—Bài báo đề xuất một mô hình ứng dụng chữ<br /> ký số phù hợp cho đối tượng là các cơ quan nhà nước, đơn vị II. MÔ HÌNH VÀ THUẬT TOÁN CHỮ KÝ SỐ<br /> hành chính, doanh nghiệp,... mà ở đó các thông điệp dữ liệu TẬP THỂ<br /> cần phải được chứng thực về nguồn gốc và tính toàn vẹn ở 2<br /> cấp độ: thực thể ký và tổ chức (cơ quan, đơn vị, ...) mà thực A. Mô hình chữ ký số tập thể<br /> thể ký là thành viên của nó. Bài báo cũng đề xuất xây dựng Mô hình chữ ký số tập thể được đề xuất cơ bản<br /> lược đồ chữ ký số theo mô hình ứng dụng mới này<br /> dựa trên cấu trúc của một Hạ tầng cơ sở khóa công<br /> Từ khoá: Digital Signature, Collective Digital<br /> khai - PKI (Public Key Infrastructures) [1] nhằm bảo<br /> Signature, Digital Signature Schema đảm các chức năng về chứng thực số cho đối tượng<br /> áp dụng là các tổ chức có tư cách pháp nhân trong xã<br /> hội (đơn vị hành chính, cơ quan nhà nước, doanh<br /> I. ĐẶT VẤN ĐỀ nghiệp...). Trong mô hình này, đối tượng ký là một<br /> Trong các lĩnh vực như Chính phủ điện tử, hay một nhóm thành viên của một tổ chức, chữ ký<br /> Thương mại điện tử,… chữ ký số được sử dụng của các thành viên ở đây được gọi là chữ ký cá nhân.<br /> nhằm đáp ứng yêu cầu chứng thực về nguồn gốc và tính Cũng trong mô hình này, Cơ quan chứng thực - CA<br /> toàn vẹn của thông tin (các bản tin, thông điệp dữ (Certificate Authority) là bộ phận có chức năng bảo<br /> liệu điện tử,…) trong giao dịch điện tử. Các mô đảm các dịch vụ chứng thực số, như: chứng nhận<br /> hình ứng dụng chữ ký số hiện tại cho phép đáp ứng tốt một đối tượng ký là thành viên của tổ chức, chứng<br /> các yêu cầu về chứng thực nguồn gốc và tính toàn thực các thông điệp dữ liệu được ký bởi các thành<br /> vẹn của các thông điệp dữ liệu được tạo ra hay ký viên trong một tổ chức, mà CA là cơ quan chứng<br /> bởi những thực thể có tính độc lập. Tuy nhiên, thực thuộc tổ chức này. Tính hợp lệ về nguồn gốc và<br /> khi các thực thể ký là thành viên hay bộ phận của tính toàn vẹn của một thông điệp dữ liệu ở cấp độ<br /> một tổ chức (đơn vị hành chính, cơ quan nhà nước, của một tổ chức chỉ có giá trị khi nó đã được CA<br /> doanh nghiệp...) thì yêu cầu về việc chứng thực thuộc tổ chức này chứng thực. Trong mô hình này,<br /> nguồn gốc và tính toàn vẹn của thông tin ở cấp độ chữ ký của CA cùng với chữ ký cá nhân của các đối<br /> thực thể ký và cấp độ tổ chức mà thực thể ký là tượng ký hình thành nên chữ ký tập thể cho một<br /> một thành viên hay bộ phận của nó không được thông điệp dữ liệu. Một hệ thống cung cấp dịch vụ<br /> đáp ứng trong các mô hình ứng dụng chữ ký số chứng thực số xây dựng theo mô hình mới đề xuất sẽ<br /> hiện tại. bao gồm các hoạt động cơ bản như sau:<br /> Bài báo đề xuất phát triển lược đồ chữ k ý số 1) Phát hành, quản lý Chứng chỉ khóa công<br /> theo mô hình ứng dụng mới nhằm bảo đảm các khai.<br /> yêu cầu chứng thực về nguồn gốc và tính toàn vẹn Trong mô hình chữ ký tập thể, chứng chỉ khóa<br /> cho các thông điệp dữ liệu trong các giao dịch công khai - PKC ( Public Key Certificate) hay chứng<br /> điện tử mà ở đó các thực thể ký là thành viên hay chỉ số được sử dụng để một tổ chức chứng nhận các<br /> bộ phận của các tổ chức có tư cách pháp nhân đối tượng ký là thành viên của nó.<br /> trong xã hội. Trong mô hình này, các thông điệp Cấu trúc cơ bản của một PKC bao gồm khóa<br /> điện tử sẽ được chứng thực ở cả 2 cấp độ: thực công khai của chủ thể chứng chỉ và các thông tin<br /> thể tạo ra nó và tổ chức mà thực thể tạo ra nó là khác như: Thông tin nhận dạng của chủ thể, Trạng<br /> một thành viên hay bộ phận của tổ chức này. Ở thái hoạt động của chứng chỉ, Số hiệu chứng chỉ,<br /> đây, mô hình ứng dụng chữ ký số với các yêu cầu Thông tin nhận dạng của CA,... Không làm mất tính<br /> đặt ra như trên được gọi là mô hình chữ ký số tập tổng quát, ở đây sử dụng thuật ngữ Thông tin nhận<br /> thể (Collective Signature Model) và lược đồ/thuật dạng (IDi) của đối tượng ký để đại diện cho các<br /> toán chữ ký số xây dựng theo mô hình như thế thành phần thông tin nói trên. Trong thực tế, có thể<br /> được gọi là lược đồ/thuật toán chữ ký số tập thể sử dụng khuôn dạng chứng chỉ X.509 [2] cho chứng<br /> (Collective Signature Schema/Algorithm).<br /> Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> chỉ khóa công khai trong mô hình chữ ký tập thể tham số và khóa, thuật toán hình thành và kiểm tra<br /> được đề xuất. chữ ký được chỉ ra sau đây:<br /> 2) Hình thành và kiểm tra chữ ký số tập thể. a) Thuật toán hình thành tham số và khóa<br /> Chữ ký tập thể được hình thành trên cơ sở chữ ký Thuật toán 1.1a: Hình thành các tham số hệ<br /> cá nhân của thực thể ký (một hoặc một nhóm đối thống.<br /> tượng ký) và chứng nhận của CA với vai trò chứng Input: lp, lq - độ dài (tính theo bit) của số<br /> thực của tổ chức đối với thông điệp dữ liệu cần ký. nguyên tố p, q.<br /> Có thể hình thành chữ ký tập thể ở 2 dạng như sau: Output: p, q, g, H(.).<br /> • Chữ ký tập thể dạng kết hợp: ở dạng này CA [1]. select p, q: len(p) = lp, len(q)= lq, q|(p-1)<br /> ký trực tiếp lên thông điệp dữ liệu như các [2]. select: h ∈ ℤp*<br /> thành viên khác, chữ ký của CA và chữ ký<br /> [3]. g ← h ( p −1)/ q mod p (1.1)<br /> cá nhân của các đối tượng ký được kết hợp<br /> với nhau theo một qui tắc nhất định để hình [4]. if (g = 1) then goto [2]<br /> thành chữ ký tập thể. [5]. select H: {0,1}* → Zq<br /> • Chữ ký tập thể dạng phân biệt: ở dạng này [6]. return {p, q, g, H(.)}<br /> chữ ký tập thể bao gồm chữ ký cá nhân của Chú thích:<br /> thực thể ký và chữ ký của CA là 2 thành - len(.) là hàm tính độ dài (theo bit) của một số.<br /> phần phân biệt hay tách biệt nhau. Thuật toán 1.1b: Hình thành khóa.<br /> Trong bài báo, chữ ký tập thể dạng phân biệt Input: p, q, g, x – khóa bí mật của đối<br /> được sử dụng do có khả năng chống lại hiệu quả các tượng ký U.<br /> kiểu tấn công tập thể từ bên trong hệ thống. Output: y – khóa công khai của đối tượng ký U.<br /> Ở lược đồ chữ ký tập thể mới đề xuất, chứng [1]. y ← g − x mod p (1.2)<br /> nhận của CA về việc một hay một nhóm đối tượng [2]. return (y)<br /> ký lên một thông điệp dữ liệu được thực hiện qua b) Thuật toán hình thành chữ ký<br /> các bước: Thuật toán 1.2: Hình thành chữ ký.<br /> • Kiểm tra tính hợp pháp của các đối tượng Input: p, q, g, H(.), k, x, M – thông điệp dữ liệu<br /> ký. cần ký.<br /> • Kiểm tra tính hợp lệ của chữ ký cá nhân. Output: (r,s) – chữ ký của U lên M.<br /> • CA chứng thực tính hợp lệ của chữ ký cá [1]. e ← H (M ) (1.3)<br /> nhân với thông điệp dữ liệu bằng cách ký lên [2]. r ← (g mod )p mod q<br /> k<br /> (1.4)<br /> bản tin được tạo ra từ thông điệp dữ liệu cần<br /> [3]. s ← k × e −1 + x × r mod q (1.5)<br /> ký và khóa công khai của các đối tượng ký.<br /> Bằng cách đó, lược đồ chữ ký tập thể mới đề [4]. return (r,s)<br /> xuất có khả năng ngăn chặn hiệu quả các dạng tấn c) Thuật toán kiểm tra chữ ký<br /> công tập thể từ bên trong hệ thống do các đối tượng Thuật toán 1.3: Kiểm tra chữ ký.<br /> ký là thành viên của chính tổ chức đó liên kết với Input: p, q, g, y, H(.), M, (r,s).<br /> nhau gây ra. Kiểm tra tính hợp lệ của chữ ký tập thể Output: (r,s) = true / false.<br /> được thực hiện qua các bước: [1]. e ← H (M ) (1.6)<br /> • Kiểm tra chứng nhận của CA. [2]. u ← (g × y mod p )mod q<br /> s .e r .e<br /> (1.7)<br /> • Kiểm tra tính hợp lệ của chữ ký cá nhân. [3]. if (u = r) then {return true} (1.8)<br /> Chú ý: else {return false}<br /> Kiểm tra chữ ký cá nhân cần phải được thực hiện<br /> sau khi kiểm tra chứng nhận của CA, nếu chứng d) Tính đúng đắn của lược đồ cơ sở<br /> nhận của CA và chữ ký cá nhân được công nhận hợp Chứng minh tính đúng đắn của lược đồ cơ sở<br /> lệ thì tính toàn vẹn của thông điệp dữ liệu cần thẩm được thực hiện dựa trên các cơ sở như sau:<br /> tra được bảo đảm, đồng thời khẳng định thông điệp Bổ đề 1.1:<br /> dữ liệu này được ký bởi các đối tượng là thành viên Cho p và q là 2 số nguyên tố với q là ước số của<br /> của tổ chức. (p-1), h là một số nguyên dương nhỏ hơn p. Nếu:<br /> g = h ( p −1) / q mod p thì: g q mod p = 1 .<br /> B. Xây dựng lược đồ chữ ký số tập thể Chứng minh:<br /> 1) Lược đồ cơ sở Ta có:<br /> Lược đồ cơ sở ở đây được xây dựng theo [5] và g q mod p = (h ( p −1) / q mod p ) mod p = h ( p −1) mod p<br /> q<br /> <br /> được sử dụng để xây dựng lược đồ chữ ký tập thể ở<br /> Theo định lý Fermat thì: h ( p−1) mod p = 1<br /> mục tiếp theo, bao gồm các thuật toán hình thành<br /> Vì vậy: g q mod p = 1 . Bổ đề được chứng minh.<br /> Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> Bổ đề 1.2: e) Mức độ an toàn của lược đồ cơ sở<br /> Cho p và q là 2 số nguyên tố với q là ước số của Lược đồ cơ sở là một lược đồ chữ ký số xây<br /> (p -1), h là một số nguyên dương nhỏ hơn p và dựng dựa trên tính khó của bài toán logarit rời rạc –<br /> g = h ( p −1) / q mod p . Nếu: m mod q = n mod q thì: DLP (Discrete Logarithm Problem) tương tự như các<br /> g m mod p = g n mod p . lược đồ chữ ký thuộc họ ElGamal như DSA [3] hay<br /> GOST R34.10-94 [4]. Do vậy, mức độ an toàn của<br /> Chứng minh:<br /> lược đồ cơ sở xét theo khả năng chống tấn công làm<br /> Nếu: m mod q = n mod q thì: m = n + k × q hoặc:<br /> lộ khóa mật hoàn toàn phụ thuộc vào mức độ khó<br /> n = m + k × q , với k là một số nguyên. Không làm của bài toán DLP như ở DSA hay GOST R34.10-94.<br /> mất tính tổng quát, giả sử: m = n + k × q . Về khả năng chống giả mạo chữ ký của lược đồ<br /> Do đó: cơ sở, từ (1.6), (1.7) và (1.8) cho thấy 1 cặp (r,s) bất<br /> kỳ sẽ được coi là chữ ký hợp lệ với M nếu thỏa mãn<br /> g m mod p = g n+ k .q mod p = g n × g k .q mod p<br /> điều kiện: r = (g s.e × y r .e mod p )mod q (1.10)<br /> ( ) (<br /> = g n mod p × g k .q mod p mod p ) Ở đây: e = H (M ) là giá trị đại diện của thông<br /> = (g mod p )× (g )<br /> k<br /> n<br /> mod p mod p q<br /> điệp dữ liệu cần thẩm tra (M). Dễ dàng thấy rằng<br /> Theo Bổ đề 1.1 ta có: g q mod p = 1 . Nên: việc giải (1.10) để để tạo được chữ ký giả mạo thỏa<br /> mãn điều kiện hợp lệ của lược đồ cơ sở thực chất<br /> ( )<br /> g m mod p = g n mod p × 1k mod p = g n mod p<br /> cũng là việc giải bài toán DLP.<br /> Bổ đề đã được chứng minh.<br /> 2) Lược đồ chữ ký tập thể<br /> Mệnh đề 1.1:<br /> Lược đồ chữ ký tập thể ở đây được phát triển từ<br /> Cho p và q là 2 số nguyên tố với q là ước số của<br /> lược đồ cơ sở với các chức năng như sau:<br /> (p-1), h là một số nguyên dương nhỏ hơn p<br /> • Chứng nhận tính hợp pháp của các đối tượng<br /> và g = h ( p −1) / q mod p , 1 < x, k < p, 1 < e1, e2 < q.<br /> ký.<br /> Nếu: y = g − x mod p , r = (g k mod p )mod q , • Hình thành chữ ký tập thể từ chữ ký cá nhân<br /> −1<br /> s = k × e1 + x × e2 mod q thì: của một hay một nhóm đối tượng ký và chữ<br /> (g × y mod p )mod q = r .<br /> e .s<br /> 1 e .e<br /> 1 2 ký của CA. Kích thước của chữ ký tập thể<br /> Chứng minh: được tạo ra không phụ thuộc vào số lượng<br /> Thật vậy, ta có: thành viên nhóm ký.<br /> −1 • Kiểm tra chữ ký tập thể của một nhóm đối<br /> s = k × e1 + x × e2 mod q tượng được thực hiện tương tự như kiểm tra<br /> −1<br /> = e1 × (k + x × e1 × e2 ) mod q chữ ký do một đối tượng ký tạo ra.<br /> Nên: s × e1 mod q = k + x × e1 × e2 mod q Các tham số hệ thống {p, q} được lựa chọn theo<br /> phương pháp của DSA hoặc GOST R34.10-94. Giả<br /> Theo Bổ đề 1.2 ta có: sử nhóm ký gồm n-thành viên: U = {Ui| i=1,2,...,n}.<br /> g e1.s mod p = g k + x.e1 .e2 mod p Các thành viên nhóm ký có khóa bí mật là: KS = {xi|<br /> Suy ra: g e1.s × g − x.e1.e2 mod p = g k mod p i=1,2,...,n} và các khóa công khai tương ứng là: KP<br /> Hay: g e1.s × y e1 .e2 mod p = g k mod p = {yi| i=1,2,...,n}. Còn CA có cặp khóa bí mật/công<br /> khai tương ứng là: {xca, yca}.<br /> Nên ta có:<br /> (g e1.s × y e1.e2 mod p )mod q = (g k mod p )mod q a) Thuật toán hình thành khóa của các đối<br /> Do: tượng ký<br /> r = (g k mod p )mod q<br /> Thuật toán 2.1: Hình thành khóa của các đối<br /> Dẫn đến: (g e1.s × y e1.e2 mod p ) mod q = r tượng ký U = {Ui| i=1,2,.,n}.<br /> Đây là điều cần chứng minh. Input: p, g, n, KS = {xi| i = 1,2,…,n}.<br /> Chứng minh tính đúng đắn của lược đồ cơ sở là Output: KP = {yi| i = 1, 2,..,n}.<br /> chứng minh chữ ký được tạo ra bởi thuật toán hình [1]. for i = 1 to n do<br /> thành chữ ký (Thuật toán 1.2) sẽ thỏa mãn điều kiện [1.1]. y i ← g − xi mod p (2.1)<br /> (1.8) của thuật toán kiểm tra chữ ký (Thuật toán<br /> 1.3). Tính đúng đắn của lược đồ cơ sở được chứng [1.2]. K p [i ] ← y i<br /> minh như sau: [2]. return KP<br /> Đặt: e1 = e, e2 = r. Theo (1.1), (1.2), (1.3), (1.4), b) Thuật toán hình thành khóa của CA<br /> (1.5) và Mệnh đề 1.1 ta có: Thuật toán 2.2: Hình thành khóa của CA.<br /> (g s.e × y r.e mod p )mod q = r (1.9) Input: p, g, xca.<br /> Từ (1.6), (1.7) và (1.9) suy ra: u = r. Output: yca.<br /> Mệnh đề đã được chứng minh. [1]. y ca ← g − xca mod p (2.2)<br /> Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> [2]. return yca f) Thuật toán hình thành chứng nhận của CA<br /> c) Thuật toán hình thành chứng nhận (chứng đối với chữ ký cá nhân của một hay một nhóm đối<br /> chỉ số) của CA cho các đối tượng ký Ui tượng ký lên M<br /> Thuật toán 2.3: CA chứng nhận tính hợp pháp Thuật toán 2.6: Hình thành chứng nhận của CA<br /> của đối tượng ký Ui. cho chữ ký cá nhân với thông điệp dữ liệu M.<br /> Input: IDi, yi, xca. Input: p, q, g, xca, n, KP = {yi| i =1, 2,..,n},<br /> Output: (ui,vi) – chứng nhận của CA đối với Ui. (ui,vi),{M, (r,s)}.<br /> [1]. ki ← H ( xca || yi || IDi ) Output: (uM,vM) – chứng nhận của CA đối với<br /> ( )<br /> [2]. ui ← g k i mod p mod q (2.3) {M, (r,s)}.<br /> [1]. y ← 1; for i = 1 to n do<br /> [3]. e ← H ( yi || IDi ) (2.4) [1.1]. e ← H ( yi || IDi )<br /> [4]. vi ← ki × e −1 + xca × ui mod q (2.5)<br /> ( )<br /> [1.2]. u ← g vi .e × ( yca )ui .e mod p mod q<br /> [5]. return (ui,vi); [1.3]. if (u ≠ ui) then return (0,0)<br /> d) Thuật toán kiểm tra tính hợp pháp của các [1.4]. y ← y × yi mod p<br /> đối tượng ký Ui (i=1,2,..,n)<br /> [2]. if ( r = 0 or s = 0) then {return (0,0)} else<br /> Thuật toán 2.4: Kiểm tra tính hợp pháp các đối<br /> [2.1]. e ← H (M )<br /> tượng ký.<br /> Input: yi, yca, IDi, (ui, vi). ( )<br /> [2.2]. u ← g s.e × y r .e mod p mod q<br /> Output: (ui,vi) = true / false. [2.3]. if (u ≠ r) then {return (0,0)}<br /> [1]. e ← H ( yi || IDi ) (2.6) [3]. k ← H ( xca || y || M )<br /> ( )<br /> [2]. u ← g vi .e × ( y ca )ui .e mod p mod q (2.7) [4]. u M ← (g k mod p )mod q (2.13)<br /> [3]. if (u = ui) then {return true} [5]. e ← H ( y || M ) (2.14)<br /> else {return false} [6]. vM ← k × e + xca × u M mod q<br /> −1<br /> (2.15)<br /> e) Thuật toán hình thành chữ ký cá nhân của [7]. return (uM,vM)<br /> một hay một nhóm đối tượng ký lên thông điệp dữ<br /> liệu M g) Thuật toán kiểm tra chữ ký tập thể của một<br /> Thuật toán 2.5: Hình thành chữ ký cá nhân. hay một nhóm đối tượng ký lên thông điệp dữ liệu M<br /> Input: M, n, KS = {xi| i = 1, 2,..,n}, Thuật toán 2.7: Kiểm tra chữ ký tập thể.<br /> KP = {yi| i = 1, 2,..,n}. Input: p, q, g, n, yca, KP={yi| i =1, 2,.., n},<br /> Output: (r,s) – chữ ký của Ui (i = 1, 2,..) lên M. M,{(r,s), (uM,vM)}.<br /> [1]. for i = 1 to n do Output: {(r,s), (uM,vM)} = true / false.<br /> [1.1]. k i ← H ( xi || M ) [1]. y ← 1; for i = 1 to n do<br /> y ← y × yi mod p (2.16)<br /> [1.2]. ri ← g k i mod p (2.8)<br /> [2]. if (uM = 0 or vM = 0) then return false<br /> [1.3]. Ui send ri to CA<br /> [2]. r ← 1; [2.1]. e ← H ( y || M ) (2.17)<br /> [2.1]. for i = 1 to n do ( uM .e<br /> )<br /> [2.2]. u ← g × ( yca ) mod p mod q (2.18)<br /> vM . e<br /> <br /> r ← r × ri mod p (2.9) [2.3]. if (u ≠ uM) then return false<br /> [2.2]. CA send r to Ui (i = 1, 2,.., n) [3]. if ( r = 0 or s = 0) then {return false} else<br /> [3]. for i = 1 to n do [3.1]. e ← H (M ) (2.19)<br /> [3.1]. e ← H (M ) (2.10)<br /> [3.2]. si ← ki × e −1 + xi × r mod q (2.11)<br /> ( )<br /> [3.2]. u ← g s.e × y r .e mod p mod q (2.20)<br /> [3.3]. if (u = r) then {return true}<br /> [3.3]. Ui send si to CA else {return false}<br /> [4]. s ← 1; for i = 1 to n do<br /> [4.1]. if ( ri ≠ g si .e × ( yi )ri .e mod p ) then 3) Tính đúng đắn của lược đồ chữ ký tập thể<br /> return (0,0) Tính đúng đắn của lược đồ mới đề xuất bao gồm:<br /> [4.2]. s ← s × si mod q (2.12) a) Tính đúng đắn của thuật toán chứng nhận<br /> [5]. return (r,s). và kiểm tra đối tượng ký.<br /> Chú thích: Đặt: e1 = e, e2 = ui, s = vi, x = xca, y = yca. Theo<br /> - Bước [1] và [3] được thực hiện bởi Ui (i = 1, (2.2), (2.3), (2.5) và Mệnh đề 1.1 ta có:<br /> 2,.., n). ( g vi .e × ( yca ) ui .e mod p ) mod q = ui (2.21)<br /> - Bước [2] và [4] được CA thực hiện.<br /> Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> Từ (2.21) và (2.7) suy ra: u = ui 4) Mức độ an toàn của lược đồ chữ ký tập thể<br /> Đây là điều cần chứng minh. Mức độ an toàn của lược đồ chữ ký tập thể mới<br /> b) Tính đúng đắn của thuật toán hình thành và đề xuất được thiết lập dựa trên mức độ an toàn của<br /> kiểm tra chứng nhận của CA đối với chữ ký cá nhân lược đồ cơ sở. Do vậy, về cơ bản mức độ an toàn của<br /> của một đối tượng ký. nó được quyết định bởi mức độ khó của bài toán<br /> Đặt: e1 = e, e2 = uM, s = vM, y = yca. Theo (2.2), DLP. Ngoài ra, ở lược đồ chữ ký tập thể còn tiềm ẩn<br /> các nguy cơ tấn công giả mạo chữ ký từ ngay bên<br /> (2.13), (2.14), (2.15) và Mệnh đề 1.1, ta có:<br /> trong hệ thống do một nhóm đối tượng ký liên kết<br /> ( u .e<br /> g vM .e × ( yca ) M mod p mod q = u M (2.22) ) với nhau thực hiện. Vấn đề này được xem xét dưới<br /> Từ (2.16), (2.17), (2.18) và (2.22) suy ra: góc độ Bài toán giả mạo chữ ký nhóm như sau:<br /> u = uM a) Bài toán giả mạo chữ ký nhóm<br /> Đây là điều cần chứng minh. Cho U và U* với U ⊄ U* là hai nhóm các đối<br /> c) Tính đúng đắn của thuật toán hình thành và tượng trong hệ thống có các tham số {p, q, g}.<br /> kiểm tra chữ ký cá nhân của một nhóm đối tượng ký. Giả thiết: U* = {U*i| i=1...m*}, U' = {U'i|<br /> Mệnh đề 1.2: i=1...m'}, U*∩U' = ∅ và U*∪U' = U. (3.1)<br /> Cho p và q là 2 số nguyên tố với q là ước số của Khi này Bài toán giả mạo chữ ký nhóm có thể<br /> (p -1), h là một số nguyên dương nhỏ hơn p và được mô tả như sau:<br /> g = h ( p −1) / q mod p , 1 < xi, ki < q, 1 < e1, e2 < q. Bài toán LD(U,U*): Cho các tham số bí mật của<br /> Nếu: , ri = g k mod p , các thành viên trong U*. Khi đó với mỗi thông báo<br /> yi = g − xi mod p i<br /> <br /> M, hãy tìm cặp {r,s} được chấp nhận theo điều kiện<br /> si = ki × e1 + xi × e2 mod q<br /> −1<br /> với: i = 1, n , của thuật toán kiểm tra chữ ký (Thuật toán 2.7) với<br /> n<br />  n<br />  đầu vào là bộ tham số công khai của U.<br /> y = ∏ yi mod p , r =  ∏ ri mod p  mod q , Bài toán LD(U’,U*): Cho các tham số bí mật của<br /> i =1  i =1  các thành viên trong U*. Khi đó với mỗi thông báo<br /> n<br /> s = ∑ si mod q thì: (g e1 . s<br /> )<br /> × y e1.e2 mod p mod q = r . M, hãy tìm cặp {r’,s’} được chấp nhận theo điều kiện<br /> của thuật toán kiểm tra chữ ký (Thuật toán 2.7) với<br /> i =1<br /> Chứng minh: đầu vào là bộ tham số công khai của U’.<br /> Thật vậy, ta có: Giải thuật cho bài toán LD(U,U*) được gọi là<br /> "thuật toán giả mạo chữ ký của U lên M do U* thực<br /> (g e1 . s<br /> × y e1.e2 mod p mod q = ) hiện". Còn giải thuật cho bài toán LD(U’,U*) được gọi<br />  e1.∑<br /> n<br /> ki .e1−1 + xi .e2<br /> e1 .e2  là "thuật toán giả mạo chữ ký của U’ lên M do U*<br /> <br /> mod q<br />  n   thực hiện".<br /> =  g i =1 ×  ∏ yi mod p  mod p  mod q<br />   i =1   b) Giải thuật cho bài toán LD(U,U*)<br />  <br />  e1.∑ ki .e1−1<br /> n n n<br />  Thuật toán 3.1 Giải thuật cho bài toán LD(U,U*).<br /> e1 .∑ xi .e2 − ∑ xi .e1 .e2 .<br />   Input: p, q, g, M, (r’,s’) – chữ ký của U' lên M.<br /> =  g i =1 × g i =1 × g i =1 mod p  mod q<br />   Output: (r,s) – chữ ký của U lên M do U* tạo ra.<br />  <br /> [1]. s∗ ← 0<br />  ∑ ki <br /> n<br /> <br />    n<br />  [2]. for i = 1 to m* do<br /> =  g i =1 mod p  mod q =  ∏ g ki mod p mod p  mod q( ) (3.2)<br />    i=1  s ∗ ← s ∗ + xi∗ × r ' mod q<br />  <br />  n<br />  [3]. s ← s'+ s ∗ mod q (3.3)<br /> =  ∏ ri mod p  mod q = r [4]. r ← r ' (3.4)<br />  i=1 <br /> [5]. return (r,s);<br /> Từ đó tính đúng đắn của thuật toán hình thành và Tính đúng đắn của Thuật toán 3.1 được chứng<br /> kiểm tra chữ ký của một hoặc một nhóm đối tượng minh như sau:<br /> ký lên một thông điệp dữ liệu M được chứng minh Từ (3.2) với mọi: i = 1,2,..,m*, ta có:<br /> như sau:<br /> Đặt: e1 = e, e2 = r. Theo (2.9), (2.10), (2.12),<br /> ∗<br /> ( )<br /> g si .e × y i∗<br /> r '.e<br /> mod p = g xi .r '.e × g − xi .r '.e mod p = 1 (3.5)<br /> ∗ ∗<br /> <br /> <br /> <br /> <br /> (2.16) và Mệnh đề 1.2, ta có: Với điều kiện (3.1), dễ dàng kiểm tra được rằng:<br /> (<br /> g s .e × y r .e mod p mod q = r (2.23) ) m<br /> ∗<br /> <br /> Từ (2.23) và (2.20) suy ra: u = r y = y '× ∏ y i∗ mod p  mod q (3.6)<br /> Mệnh đề đã được chứng minh.  i =1 <br /> Từ (3.5) và (3.6) ta có:<br /> Hội thảo quốc gia lần thứ XVIII: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông-TP HCM,05-06/11/2015<br /> <br /> <br /> (g s .e<br /> × y r .e mod p mod q = ) Từ (2.20), (3.11) và (3.14) suy ra:<br />   m∗ <br /> <br /> u = r’ (3.15)<br />  ∗<br />  ∑<br />  s ' + si .e   m∗  <br /> r .e<br />  Từ (3.15) cho thấy, mặc dù (r’,s’) do U* tạo ra<br /> =g ×  y '× ∏ yi∗ mod p  mod p  mod p  mod q<br />  i =1 <br /> <br />  <br /> nhưng vẫn được công nhận là chữ ký hợp lệ của U’<br />   i =1  <br />   lên M, nói cách khác Thuật toán 3.2 đã được chứng<br />   m∗ <br /> <br /> minh là đúng.<br />  ∗<br />  ∑ si  .e<br /> r .e<br />  m<br /> ∗<br />   d) Mức độ an toàn của lược đồ chữ ký tập thể<br /> =  g × ( y ') × g   ×  ∏ yi∗  mod<br /> s '.e r .e<br /> p  mod q<br /> i =1<br /> <br /> <br />   i =1   trước các tấn công giả mạo chữ ký nhóm.<br />   Từ việc xem xét Bài toán LD(U,U*) và LD(U',U*)<br /> <br /> ∗<br />  cho thấy việc xây dựng theo mô hình chữ ký tập thể<br /> m<br /> =  g s '.e × ( y ') × ∏ g si .e × yi∗<br /> r '.e ∗<br /> ( ( ) r '.e<br /> )<br /> mod p mod p  mod q dạng phân biệt, mà ở đó CA tạo chứng nhận về tính<br />  i =1  hợp lệ của chữ ký cá nhân của một đối tượng ký hay<br /> (<br /> = g s '.e × ( y ')<br /> r '.e<br /> mod p mod q = r ' ) của một nhóm đối tượng ký lên một thông điệp dữ<br /> (3.7) liệu bằng cách ký lên bản tin được tạo ra từ thông<br /> Từ (2.20), (3.4) và (3.7) suy ra: điệp dữ liệu cần ký và khóa công khai chung của<br /> nhóm đối tượng ký, vì thế lược đồ chữ ký tập thể<br /> u=r (3.8)<br /> mới đề xuất có khả năng ngăn chặn hoàn toàn các<br /> Từ (3.8) cho thấy, mặc dù (r,s) do U* tạo ra<br /> dạng tấn công giả mạo từ bên trong hệ thống đã biết<br /> nhưng vẫn được công nhận là chữ ký hợp lệ của U<br /> trong thực tế.<br /> lên M.<br /> c) Giải thuật cho bài toán LD(U',U*) III. KẾT LUẬN<br /> Thuật toán 3. 2 Giải thuật cho bài toán LD(U',U*). Bài báo đề xuất một mô hình ứng dụng chữ k ý<br /> Input: p, q, g, M, (r,s) - chữ ký của U lên M. số gọi là mô hình chữ ký tập thể và lược đồ chữ<br /> Output: (r’,s’) - chữ ký của U' lên M do k ý số theo mô hình ứng dụng này có thể áp dụng<br /> U* tạo ra. cho đối tượng là các cơ quan, đơn vị, doanh<br /> [1]. s∗ ← 0 nghiệp,... nhằm đảm bảo cho việc chứng thực các<br /> [2]. for i = 1 to m* do thông điệp dữ liệu trong các thủ tục hành chính<br /> s ∗ ← s ∗ + xi∗ × r mod q (3.9) điện tử hoàn toàn phù hợp với các thủ tục hành<br /> [3]. s ' ← s − s mod q<br /> ∗<br /> (3.10) chính trong thực tế xã hội hiện nay. Theo mô hình<br /> mới đề xuất, các thông điệp dữ liệu điện tử sẽ<br /> [4]. r ' ← r (3.11)<br /> được chứng thực về nguồn gốc và tính toàn vẹn ở<br /> [5]. return (r’,s’);<br /> cả 2 cấp độ: thực thể tạo ra thông điệp dữ liệu và<br /> Tính đúng đắn của Thuật toán 3.2 được chứng<br /> tổ chức (cơ quan, đơn vị,...) mà thực thể tạo ra nó<br /> minh như sau:<br /> là một thành viên hay bộ phận của tổ chức này.<br /> Từ (3.9) với mọi: i = 1,2,..,m*, ta có:<br /> ∗<br /> g − si .e × y i∗ ( ) − r .e ∗ ∗<br /> mod p = g − xi .r .e × g xi .r .e mod p = 1 TÀI LIỆU THAM KHẢO<br /> (3.12) [1] C. Adams, “Understanding Public Key Infrastructures”,<br /> Với điều kiện (3.1), dễ dàng kiểm tra được rằng: New Riders Publishing, Indianapolis, 1999.<br /> m <br /> ∗<br /> (3.13) [2] R. Housley, W. Polk, W. Ford, D. Solo, “Internet X.509<br /> y ' = y ×  ( y ∗ ) mod p  mod p<br /> −1<br /> ∏ i  Public Key Infrastructure Certificate and Certificate<br />  i =1  Revocation List (CRL) Profile”, RFC 3280, 2002.<br /> Từ (2.12) và (2.13) ta có: [3] National Institute of Standards and Technology, NIST FIPS<br /> PUB 186-3. Digital Signature Standard, U.S. Department of<br /> (g s '. e<br /> × ( y ')<br /> r '. e<br /> ) (<br /> mod p mod q = g (s −s ).e × ( y') mod p mod q<br /> r .e∗<br /> ) Commerce,1994.<br />   s − m∗ s∗ .e  [4] GOST R 34.10-94. Russian Federation Standard.<br />   ∑ i <br />    m∗ ∗ −1  <br /> r. e<br />  Information Technology. Cryptographic data Security.<br /> = g  i =1 <br /> ×  y ×  ∏ ( yi ) mod p  mod p  mod p  mod q Produce and check procedures of Electronic Digital<br />    i =1   <br /> Signature based on Asymmetric Cryptographic Algorithm.<br />  <br /> Government Committee of the Russia for Standards, 1994<br />   m∗ <br />  ∗  (in Russian).<br />  − ∑ si . e<br /> − r .e<br />  s. e m<br /> ∗<br />  <br /> r.e<br /> ×  ∏ y i∗  mod p  mod q<br /> i =1<br /> =  g × y × g <br /> [5] Lưu Hồng Dũng, Lê Đình Sơn, Hồ Nhật Quang, Nguyễn<br />   i =1   Đức Thụy, Developing Digital Signature Schemes Base on<br />   Discrete Logarithm Problem, Kỷ yếu Hội nghị Khoa học<br /> <br /> ∗<br />  Quốc gia lần thứ 8 về Nghiên cứu Cơ bản và Ứng dụng<br /> m<br /> (<br /> =  g s.e × y r.e × ∏ g − si .e × ( yi∗ ) mod p mod p  mod q<br /> ∗ − r. e<br /> ) Công nghệ Thông tin (FAIR 2015 – Fundamental and<br />  i =1  Applied IT Reseach) 9-10/7/2015.<br /> <br /> = (g s.e × y r.e mod p)modq = r (3.14)<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0