1. Trang chủ
  2. » Công Nghệ Thông Tin

Phát triển lược đồ chữ ký số mù

9 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Bài viết đề xuất xây dựng 2 lược đồ chữ ký số mù từ việc phát triển lược đồ chữ ký số trên cơ sở bài toán logarithm rời rạc. Các lược đồ mới đề xuất ở đây có mức độ an toàn cao hơn về khả năng chống tấn công làm lộ nguồn gốc của bản tin được ký so với một số lược đồ đã biết trước đó trong thực tế. Mời các bạn cùng tham khảo!

Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ SỐ MÙ Nguyễn Tiền Giang, Nguyễn Đức Thụy, Lưu Hồng Dũng Cục Công Nghệ Thông Tin – Bộ QP, Trường Cao Đẳng Kinh Tế - Kỹ Thuật Thành Phố Hồ Chí Minh, Khoa Cơng Nghệ Thơng Tin Học Viện Kỹ Thuật Quân Sự Email: ntgiang77@gmail.com, thuyphulam2013@gmail.com, luuhongdung@gmail.com Tóm tắt— Bài báo đề xuất xây dựng lược đồ chữ ký số mù từ việc phát triển lược đồ chữ ký số sở toán logarithm rời rạc Các lược đồ đề xuất có mức độ an tồn cao khả chống công làm lộ nguồn gốc tin ký so với số lược đồ biết trước thực tế Từ khóa- Digital Signature, Blind Signature, Digital Signature Scheme, Blind Signature Scheme I ĐẶT VẤN ĐỀ Khái niệm chữ ký số mù đề xuất D Chaum vào năm 1983 [1], loại chữ ký số sử dụng để xác thực tính tồn vẹn tin điện tử danh tính người ký, khơng cho phép xác thực nguồn gốc thực tin ký Nói cách khác, loại chữ ký cho phép ẩn danh người tạo tin ký Trong [2-4] ứng dụng loại chữ ký cần bảo vệ tính riêng tư khách hàng hệ thống toán điện tử hay vấn đề ẩn danh cử tri việc tổ chức bầu cử trực tuyến [5] Một điểm cần ý là, với loại chữ ký số thơng thường người ký người tạo tin ký, với chữ ký số mù người ký người tạo tin ký đối tượng hoàn toàn khác Đây tính chất đặc trưng chữ ký số mù tiêu chí quan trọng để đánh giá mức độ an toàn loại chữ ký số Trong [1-5] tác giả đề xuất số lược đồ chữ ký số mù ứng dụng cần bảo vệ tính riêng tư khách hàng hệ thống toán điện tử hay vấn đề ẩn danh cử tri việc tổ chức bầu cử trực tuyến Tuy nhiên, điểm yếu chung lược đồ khơng có khả chống lại kiểu công làm lộ nguồn gốc tin ký, khả ứng dụng lược đồ thực tế hạn chế Nội dung báo tập trung phân tích điểm yếu cơng làm lộ nguồn gốc tin ký số lược đồ chữ ký số mù cơng bố, từ đề xuất xây dựng lược đồ có độ an tồn cao khả giữ bí mật nguồn gốc tin ký đáp ứng yêu cầu mà thực tế đặt II TẤN CÔNG LÀM LỘ NGUỒN GỐC BẢN TIN ĐỐI VỚI MỘT SỐ LƯỢC ĐỒ CHỮ KÝ SỐ MÙ 2.1 Tấn công lược đồ chữ ký số mù RSA 2.1.1 Lược đồ chữ ký số mù RSA 112 Lược đồ chữ ký số mù RSA phát triển từ lược đồ chữ ký số RSA [6] Lược đồ chữ ký số mù RSA mơ tả sau: Giả sử A người ký có khóa bí mật (d), cơng khai (n,e) hình thành theo lược đồ chữ ký RSA B người tạo tin M yêu cầu A ký lên M (người yêu cầu ký) Để che dấu danh tính B sau tin M ký, thủ tục hình thành chữ ký (“ký mù”) thực qua bước sau: Bước 1: B làm “mù” tin M cách chọn ngẫu nhiên giá trị k thỏa mãn: < k < n k nguyên tố với n (gcd(k,n) = 1), sau B tính: m' = m × k mod n , đây: m = H (M ) giá trị đại diện tin cần ký M H(.) hàm băm kháng va chạm B gửi tin làm mù (m’) cho A Bước 2: A ký lên m’ thuật toán ký lược đồ e RSA: s' = ( m' ) mod n gửi lại s’ cho B Bước 3: B “xóa mù” s’ nhận chữ ký s sau: d s = s'×k −1 mod n Việc kiểm tra tính hợp lệ s tính tồn vẹn M thực lược đồ RSA Vấn đề là, đối tượng kiểm tra tính hợp lệ s, từ khẳng định tính tồn vẹn M danh tính người ký thuật tốn kiểm tra RSA, xác định tin M tạo Nghĩa danh tính B giấu kín 2.1.2 Tấn cơng làm lộ nguồn gốc tin ký Với lược đồ chữ ký số mù RSA mô tả trên, việc xác định danh tính người tạo tin ký M thực Bởi thời điểm ký, người ký (A) nội dung M, danh tính B A hoàn toàn biết rõ, điều hiển nhiên A ký biết rõ B Giả sử danh tính B ký hiệu IDB, để xác định danh tính người yêu cầu ký từ tin M chữ ký s tương ứng sau thời điểm ký (khi M s công khai), lần ký cần A lưu trữ giá trị s’ IDB sở liệu Từ đó, việc xác định danh tính người yêu cầu ký IDB từ tin ký M chữ ký s hồn tồn thực thuật toán sau: Thuật toán 1.1: Input: (M,s), {(si’, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) [2] select: Output: IDBi [1] m ← H (M ) , i = ( si ' , IDBi ) [3] k ∗ ← si '×m − d mod n [2] select: gcd(k ∗ , n) ≠ then [4.1] i ← i + [4] if −1 [3] α ← mi '×m −1 × r × (R') mod q ( [5] R ← (Ri ' ) × g mod p α ( s ≠ s ) then [6.1] i ← i + ∗ có khóa bí mật β [6] r ∗ ← R mod q [6.2] goto [2] [7] return IDBi Nhận xét: Từ Thuật toán 1.1 cho thấy, N khơng đủ lớn việc xác định danh tính người yêu cầu ký (người tạo tin ký) hồn tồn thực Nói cách khác, lược đồ chữ ký số mù RSA khơng an tồn số lượng tin ký không đủ lớn 2.2 Tấn công lược đồ chữ ký số mù DSA 2.2.1 Lược đồ chữ ký số mù DSA Từ lược đồ chữ ký số DSA [8], nhóm tác giả Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler đề xuất lược đồ chữ ký số mù [8] với thủ tục hình thành tham số hệ thống bao gồm số nguyên tố p, số nguyên tố q ước (p-1) phần tử sinh ) [4] β ← m −1 × s − si '×r × (R ' )−1 mod q [4.2] goto [2] [5] s ∗ ← si '×(k ∗ ) −1 mod n [6] if ( Ri ' , mi ' , si ' , IDBi ) g ∈ Z *p có bậc q Người ký x ∈ Z q khóa cơng khai tương ứng (r ∗ ≠ r ) then [7.1] i ← i + [7] if [7.2] goto [2] [8] return IDBi Nhận xét: Tương tự với lược đồ chữ ký mù RSA, từ Thuật tốn 1.2 cho thấy, N khơng đủ lớn việc xác định danh tính người yêu cầu ký (người tạo tin ký) hoàn tồn thực Nói cách khác, lược đồ chữ ký số mù DSA không an tồn xét theo khía cạnh chống cơng làm lộ nguồn gốc tin số lượng tin ký không đủ lớn 2.3 Tấn công lược đồ chữ ký số mù Nyberg-Rueppel 2.3.1 Lược đồ chữ ký số Nyberg-Rueppel Tham số hệ thống lược đồ chữ ký số K Nyberg R A Rueppel đề xuất [7] lựa chọn tương tự lược đồ DSA Để ký lên tin M có giá trị đại diện m ∈ Z p , y = g mod p Thủ tục hình thành chữ ký “mù” bao gồm người ký chọn ngẫu nhiên giá trị k ∈ Z q tính: bước sau: a) Người ký (A) chọn giá trị r = m × g k mod p s = k + x.r mod q Chữ ký lên tin M cặp (r,s) Chữ ký coi hợp lệ thỏa mãn phương trình kiểm tra: x k ∈ Z q tính R ' = g mod p k b) A kiểm tra gcd( R ' , q ) ≠ thực lại bước a) Ngược lại, A gửi R cho người yêu cầu ký (B) a) Người yêu cầu ký B chọn giá trị α , β ∈ Z q tính R = (R' ) × g β mod p α b) B kiểm tra gcd( R ' , q ) = tính tiếp giá trị m' = α × m × R '×R −1 mod q gửi m’ cho A Nếu điều kiện không thỏa mãn, B thực lại bước a) Người ký A tính giá trị s ' = ( k × m '+ x × R ' ) mod q gửi cho B Người yêu cầu ký B tính thành phần (r,s) chữ ký: r = R mod q , s = ( s '× R × (R ' )−1 + β × m ) mod q Thủ tục kiểm tra tính hợp lệ chữ ký hồn tồn tương tự lược đồ chữ ký DSA 2.2.2 Tấn công làm lộ nguồn gốc tin ký Để công làm lộ nguồn gốc tin ký M, người ký A cần lưu trữ giá trị tham số {R’,m’,s’} IDB lần ký A xác định danh tính B Thuật toán 1.2 sau: Thuật toán 1.2: Input: (M,r,s), {(Ri’, mi’,si’,IDBi)| i=0,1,2,…N} 113 m = y − s × g r × r mod p Ở m giá trị đại diện tin cần thẩm tra M: m = H (M ) , với H(.) hàm băm 2.3.2 Lược đồ chữ ký số mù Nyberg-Rueppel Cũng nhóm tác giả Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler [8] đề xuất lược đồ chữ ký số mù phát triển từ lược đồ chữ ký Nyberg-Rueppel với thủ tục hình thành chữ ký “mù” bao gồm bước sau: Người ký (A) chọn giá trị k ∈ Z q tính r ' = g k mod p gửi cho người yêu cầu ký (B) a) B chọn ngẫu nhiên giá trị α ∈ Z q , β ∈ Z q* tính β r = m × g α × (r ' ) mod p , m' = r × β −1 mod q b) B kiểm tra m' ∈ Z q* gửi m’ cho người ký A Ngược lại, B thực lại bước a) A tính giá trị s' = (k + x × m' ) mod q gửi cho B B tính s = ( s '× β + α ) mod q chữ ký A lên M cặp (r,s) Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Thủ tục kiểm tra tính hợp lệ chữ ký tương tự lược đồ chữ ký Nyberg-Rueppel Nghĩa là: chữ ký (r,s) coi hợp lệ thỏa mãn phương trình kiểm tra: m = y − s × g r × r mod p Ở m giá trị đại diện tin cần thẩm tra M 2.3.3 Tấn công làm lộ nguồn gốc tin ký Để công làm lộ nguồn gốc tin ký M, người ký A cần lưu trữ giá trị tham số {r’,m’,s’} IDB lần ký Từ đó, A xác định danh tính B thuật tốn sau: Thuật toán 1.3: Input: (M,r,s), {(ri’, mi’,si’, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: (ri ' , mi ' , si ' , IDBi ) [3] β ← r × (mi ' )−1 mod q [4] α ← ( s − si '×β ) mod q [5] r * = m × g α × (ri ' )β mod p ( r* ≠ r ) then [6.1] i ← i + [6] if [6.2] goto [2] [7] return IDBi Nhận xét: Tương tự thuật toán ký mù xét trên, Thuật toán 1.3 cho thấy lược đồ chữ ký mù Nyberg-Rueppel khơng an tồn số lượng tin ký không đủ lớn, việc xác định nguồn gốc tin thực 2.4 Tấn công lược đồ chữ ký số mù Moldovyan 2.4.1 Lược đồ chữ ký số mù Moldovyan Đây lược đồ chữ ký số mù N.A Modovyvan [9] đề xuất sở phát triển từ chuẩn chữ ký số Belarusian STB 1176.2-9 [12] Các tham số hệ thống bao gồm số nguyên tố p, q thỏa mãn: q|(p-1) phần tử sinh g ∈ Z *p có bậc q Người ký có khóa bí mật x ∈ Z q khóa cơng khai tương ứng y = g x mod p Thủ tục hình thành chữ ký “mù” bao gồm bước sau: Người ký A chọn ngẫu nhiên giá trị k thỏa mãn: < k < q tính T = g k mod p gửi T cho người yêu cầu ký B B chọn ngẫu nhiên giá trị τ ϵ tính: T ' = T × yτ × g ε mod p , e' = FH (T ' || M ) e = (e'−τ ) mod q , đây: FH(.) hàm băm “||” tốn tử nối xâu bit Sau B gửi e cho A A tính giá trị s = ( k − x × e) mod q gửi cho B B tính thành phần thứ chữ ký: s' = (s + ε ) mod q chữ ký A lên M cặp (e' , s ' ) Thủ tục kiểm tra tính hợp lệ chữ ký tương tự STB 1176.2-9, sau: Kiểm tra nếu: < s ' < q < e' < q chuyển sang bước Ngược lại, (e' , s ' ) bị từ chối tính hợp lệ Tính giá trị: T ∗ = g s ' × y e' mod p 114 Tính giá trị: e∗ = FH (T ∗ || M ) e∗ = e' (e' , s ' ) cơng nhận hợp lệ Ngược lại, (e' , s ' ) bị từ chối Kiểm tra nếu: 2.4.2 Tấn công làm lộ nguồn gốc tin ký Để công làm lộ nguồn gốc tin ký M, người ký A cần lưu trữ giá trị tham số {T,e,s} IDB lần ký Từ đó, A xác định danh tính B Thuật toán 1.4 sau: Thuật toán 1.4: Input: (M,e’,s’), {(ei, si,Ti, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: (ei , si , Ti , IDBi ) [3] τ ← (e'−ei ) mod q [4] ε ← ( s '− si ) mod q [5] T ∗ = Ti × y τ × g ε mod p [6] e∗ = FH (T ∗ || M ) (e∗ ≠ e' ) then [7.1] i ← i + [7] if [7.2] goto [2] [8] return IDBi Nhận xét: Tương tự thuật toán ký mù xét trên, Thuật toán 1.4 cho thấy lược đồ chữ ký mù Moldovyan khơng an tồn số lượng tin ký (N) khơng đủ lớn, việc xác định nguồn gốc tin thực III XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ MÙ Qua phân tích lược đồ chữ ký số mù cho thấy việc làm “mù” tin với tham số bí mật lược đồ chữ ký số mù RSA, hay với tham số lược đồ DSA, Nyberg-Rueppal Moldovyan người ký tìm nguồn gốc thực tin ký (danh tính người yêu cầu ký) Mục đề xuất việc phát triển lược đồ chữ ký số mù từ lược đồ chữ ký sở cải tiến từ lược đồ chữ ký Schnorr [13] lược đồ xây dựng toán logarit rời rạc – DLP (Discrete Logarithm Problem) [14] Ưu điểm lược đồ sử dụng tham số bí mật lược đồ mù DSA, Nyberg-Rueppal hay Moldovyan, không cho phép người ký hay đối tượng khác xác định nguồn gốc thực tin lược đồ cơng bố trước [15] 3.1 Xây dựng lược đồ chữ ký sở 3.1.1 Lược đồ chữ ký sở LD 15.01A Lược đồ chữ ký sở đây, ký hiệu LD 15.01A, cải tiến từ lược đồ chữ ký C Schnorr đề xuất vào năm 1991 sử dụng làm sở để phát triển lược đồ chữ ký số mù phần Lược đồ chữ ký LD 15.01A bao gồm thuật tốn hình thành tham số khóa, thuật tốn hình thành kiểm tra chữ ký sau: a) Thuật tốn hình thành tham số khóa Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Thuật tốn 2.1a: Input: p, q|(p-1), x – khóa bí mật A Output: g, y, H(.) [1] g ← h ( p −1) / q mod p , < h < p [2] select H : {0,1} a Z t , q < t < p ∗ [3] y ← g − x mod p [4] return {g,y,H(.)} (2.1a) b) Thuật toán ký Thuật toán 2.2a: Input: p, q, g, x, k, M – tin cần ký Output: (e,s) – chữ ký A lên M [1] r ← g k mod p (2.2a) [2] e ← H (r || M ) mod q (2.3a) [3] s ← ( k + x × e) mod q (2.4a) [4] return (e,s) Chú thích: - Tốn tử “||” phép nối xâu bit c) Thuật toán kiểm tra Thuật toán 2.3a: Input: p, q, g, y, M, (e,s) Output: (e,s) = true / false [1] u ← g s × y e mod p (2.5a) [2] v ← H (u || M ) mod q (2.6a) [3] if ( v = e ) then {return true } else {return false } Chú thích: - Nếu kết trả true chữ ký (e,s) hợp lệ, nguồn gốc tính tồn vẹn tin cần thẩm tra M công nhận - Nếu kết trả false chữ ký (e,s) giả mạo, nội dung tin M bị sửa đổi d) Tính đắn lược đồ sở LD 15.01A Điều cần chứng minh là: cho p, q số nguyên tố thỏa mãn điều kiện q | ( p − 1) , g = h ( p −1) / q mod p với: ∗ < h < p , H : {0,1} a Z t với: q < t < p , < x, k < q , y = g − x mod p , r = g k mod p , e = H (r || M ) mod q , s = ( k + x × e ) mod q Nếu: u = g s × y e mod p v = H (u || M ) mod q thì: v = e Thật vậy, từ (2.1a), (2.3a), (2.4a) (2.5a) ta có: u = g s × y e mod p = g k + x.e × g − x.e mod p = g x.e+ k − x.e mod p = g k mod p Từ (2.2a) (2.7a), suy ra: u=r Thay (2.8a) vào (2.6a) ta được: v = H (u || M ) mod q = H (r || M ) mod q Từ (2.3a) (2.9a), suy ra: v = e Đây điều cần chứng minh e) Mức độ an toàn lược đồ sở 115 (2.7a) (2.8a) (2.9a) Mức độ an toàn lược đồ chữ ký số nói chung đánh giá qua khả năng: - Chống cơng làm lộ khóa mật - Chống công giả mạo chữ ký Về khả chống cơng làm lộ khóa mât: Từ (2.1a) cho thấy mức độ an toàn xét theo khả chống cơng làm lộ khóa mật lược đồ sở phụ thuộc vào mức độ khó giải tốn logarit rời rạc, hồn tồn tương tự với lược đồ chữ ký DSA [9] , GOST R34.10-94 [10] Schnorr [13] Về khả chống công giả mạo chữ ký: Từ (2.3a), (2.5a) (2.6a) lược đồ sở cho thấy, cặp (e,s) (khơng tạo Thuật tốn ký 2.2a lược đồ từ khóa bí mật x người ký) công nhận chữ ký hợp lệ đối tượng sở hữu khóa công khai y lên tin M thỏa mãn điều kiện: (2.10a) e = H (( g s × y e mod p) || M ) mod q Tương tự lược đồ chữ ký Schnorr, thấy (2.10a) dạng tốn khó tham số p, q kích thước liệu đầu hàm băm H(.) chọn đủ lớn 3.1.2 Lược đồ chữ ký sở LD 15.01B Lược đồ chữ ký sở đề xuất đây, ký hiệu LD 15.01B, xây dựng dựa tính khó toán DLP sử dụng để phát triển lược đồ chữ ký số mù phần a) Thuật tốn hình thành tham số khóa Thuật tốn 21b: Input: p, q|(p-1), x – khóa bí mật A Output: g, y, H(.) [1] g ← h ( p −1) / q mod p , < h < p [2] select H : {0,1}∗ a Z t , q < t < p −1 [3] y ← g x mod p [4] return {g,y,H(.)} b) Thuật toán ký Thuật toán 2.2b: Input: p, q, g, x, k, M – tin cần ký Output: (e,s) – chữ ký A lên M [1] r ← g k mod p [2] e ← H (r || M ) mod q [3] s ← x × ( k + e ) mod q [4] return (e,s) (2.1b) (2.2b) (2.3b) (2.4b) c) Thuật toán kiểm tra Thuật toán 2.3b: Input: p, q, g, y, M, (e,s) Output: (e,s) = true / false [1] u ← g − e × y s mod p [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } else {return false } d) Tính đắn lược đồ sở LD 15.01B (2.5b) (2.6b) Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Điều cần chứng minh là: cho p, q số nguyên tố thỏa mãn điều kiện q | ( p − 1) , g = h ( p −1) / q mod p với: < h < p , H : {0,1}∗ a Z t với: q < t < p , < x, k < q , −1 y = g x mod p , r = g k mod p , e = H (r || M ) mod q , s = x × ( k + e ) mod q Nếu: u = g − e × y s mod p v = e Thật vậy, từ (2.1b), (2.3b), (2.4b) (2.5b) ta có: v = H (r || M ) mod q thì: u = g − e × y s mod p = g − e × g x x =g e +k −e −1 ( k + e ) mod p (2.7b) mod p = g mod p k Từ (2.2b) (2.7b), suy ra: u=r (2.8b) Thay (2.8b) vào (2.6b) ta được: (2.9b) v = H (u || M ) mod q = H ( r || M ) mod q Từ (2.3b) (2.9b), suy ra: v = e Đây điều cần chứng minh e) Mức độ an toàn lược đồ sở LD 15.01B Tương tự lược đồ LD 15.01A, mức độ an toàn xét theo khả chống cơng làm lộ khóa mật lược đồ LD15.01B phụ thuộc vào mức độ khó giải tốn logarit rời rạc, cịn khả chống cơng giả mạo chữ ký phụ thuộc vào độ khó việc giải (2.10b): (2.10b) e = H (( g − e × y s mod p) || M ) modq 3.2 Xây dựng lược đồ chữ ký số mù 3.2.1 Lược đồ chữ ký số mù LD 15.02A Lược đồ chữ ký số mù phát triển từ lược đồ sở LD 15.01A Giả sử A người người ký có khóa cơng khai hình thành theo Thuật toán 2.1a lược đồ sở B người tạo tin M ký Khi đó, thuật toán ký kiểm tra chữ ký lược đồ sau: a) Thuật toán ký Thuật toán 3.1a: Input: p, q, g, x, y, α, β, k , M Output: (e,s) [1] ← g k mod p (3.1a) [2] rb ← (ra )α × ( y × g )β mod p [3] e ← H (rb || M ) mod q [4] eb ← α × (e − β ) mod q [5] s a ← (k + x × eb ) mod q [6] s ← (α × sa + β ) mod q −1 (3.2a) (3.3a) (3.4a) (3.5a) (3.6a) [7] return (e,s) Chú thích: - Các bước [1], [5] người ký A thực - Các bước [2], [3], [4], [6] [7] người có tin cần ký B thực - Tham số k A lựa chọn thỏa mãn: 1< k < q - Tham số α, β B lựa chọn thỏa mãn: < α, β < q - {x,y} cặp khóa bí mật/cơng khai A b) Thuật toán kiểm tra Thuật toán 3.2a: Input: p, q, g, y, M – tin cần thẩm tra, (e,s) – chữ ký A 116 Output: (e,s) = true / false [1] u ← g s × y e mod p [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } (3.7a) (3.8a) else {return false } Chú thích: - Nếu kết trả true tính hợp lệ chữ ký (e,s) cơng nhận, tính tồn vẹn tin cần thẩm tra M danh tính người ký (A) khẳng định - Nếu kết trả false chữ ký (e,s) giả mạo, nội dung tin M bị sửa đổi c) Tính đắn lược đồ LD 15.02A Điều cần chứng minh là: cho p, q số nguyên tố thỏa mãn điều kiện q | ( p − 1) , g = h ( p −1) / q mod p với: < h < p , H : {0,1}∗ a Z q , y = g − x mod p , < x, k < q , < α , β < q , = g mod p , k e = H (rb || M ) mod q , sa = (k + x × eb ) mod q α β rb = (ra ) × ( y × g ) mod p , , eb = α −1 × ( e − β ) mod q s = (α × s a + β ) mod q , Nếu: u = ( g ) × ( y ) mod p v = H (u || M ) mod q thì: v = e Thật vậy, từ (3.4a), (3.5a), (3.6a) (3.7a) ta có: u = g s × y e mod p e s = g (α sa + β ) × y (α eb + β ) mod p = g α ( k + x.eb ) + β × g − x.(α eb + β ) mod p = g k α × g x.eb α × g β × g − x.eb α × g − x.β mod p (3.9a) ( ) × (g ) × g mod p = (r ) × y × g mod p = gk α α −x β β β β a α = (ra ) × ( y × g ) β mod p Từ (2.1a), (3.1a) (3.9a) ta có: ( ) × (g ) u = g −β × g −x β −k α mod p (3.10a) = (ra ) × g × y mod p Từ (3.2) (3.10), suy ra: α −β u = rb β (3.11a) Thay (3.11a) vào (3.8a) ta có: (3.12a) v = H (u || M ) mod q = H (rb || M ) mod q Từ (3.2a) (3.12a), suy ra: v = e Đây điều cần chứng minh d) Mức độ an toàn lược đồ LD 15.02A Tương tự với lược đồ sở, mức độ an toàn lược đồ chữ ký mù đề xuất đánh giá qua khả năng: - Chống công làm lộ khóa mật - Chống giả mạo chữ ký Ngồi ra, với lược đồ chữ ký số mù, mức độ an tồn cịn đánh giá qua khả chống công làm lộ nguồn gốc tin sau ký Yêu cầu đặt lược đồ đề xuất tin M sau ký, người ký A hay đối tượng sử dụng khác hoàn Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thơng Cơng Nghệ Thơng Tin (ECIT 2015) tồn khơng thể biết tin M tạo từ đối tượng B Khả chống công làm lộ khóa mật giả mạo chữ ký Mức độ an toàn lược đồ chữ ký mù đề xuất thiết lập dựa mức độ an toàn lược đồ sở Xét theo khả chống cơng làm lộ khóa mật khả chống giả mạo chữ ký, thấy mức độ an toàn lược đồ tương đương Khả chống công làm lộ nguồn gốc tin ký Thuật toán ký lược đồ đề xuất cho thấy, lần ký việc lưu trữ tham số {sa,ra,eb,k} với định danh người yêu cầu ký (IDB), người ký A xác định mối quan hệ {M,(e,s)} với IDB, nghĩa từ tin M chữ ký tương ứng (e,s) xác định danh tính người yêu cầu ký B, với điều kiện người ký A biết tham số (α,β) Thật vậy, biết (α,β) người ký A hồn tồn xác định IDB Thuật toán 3.3a sau: Thuật toán 3.3a: Input: {(rai,ebi,sai,ki,IDBi)| i=0,1,2,…N}, M, (e,s), α, β Output: IDBi [1] m ← H (M ) , i = dụng tin ký M thành phần thứ e chữ ký, A xác định danh tính B Thuật toán 3.4a sau: Thuật toán 3.4a: Input: {(rai,IDBi)| i=1,2,…N}, (M,e), α, β Output: IDBi [1] m ← H (M ) , i = [2] select: ( rai , IDBi ) [3] rbi * ← (rai )α × (g × y )β mod p [4] e∗ ← H (rbi * || M ) mod q e∗ ≠ e then [5.1] i ← i + ; [5] if [3] rbi * ← (rai )α × (g × y )β mod p [5.2] goto [2]; [6] return IDBi Trường hợp lưu giữ tham số (ra,,IDB) sử dụng thành phần thứ e chữ ký, A xác định danh tính B Thuật tốn 3.5a sau: Thuật toán 3.5a: Input: {(ebi,IDBi)| i=0,1,2,…N}, e, α, β Output: IDBi [1] i = [2] select: (ebi , IDBi ) [4] e∗ ← H (rbi * || M ) mod q [3] ebi∗ ← α −1 × (e − β ) mod q [2] select: (rai , ebi , sai , ki , IDBi ) ebi∗ ≠ ebi then [4.1] i ← i + ; [5] if [4] if [5.2] goto [2]; [6] ebi∗ ← α −1 × (e − β ) mod q [4.2] goto [2]; [5] return IDBi Trường hợp lưu giữ tham số (sa,,eb,k,IDB) sử dụng thành phần thứ hai s chữ ký, A xác định danh tính B Thuật toán 3.6a sau: Thuật toán 3.6a: Input: {(ebi,sai,ki,IDBi)| i=0,1,2,…N}, s, α, β Output: IDBi [1] i = [2] select: (ebi , sai , k i , IDBi ) e∗ ≠ e then [5.1] i ← i + ; ebi∗ ≠ ebi then [7.1] i ← i + ; [7] if [7.2] goto [2]; [8] sai∗ ← (ki + x × ebi ) mod q sai∗ ≠ sai then [9.1] i ← i + ; [9] if [9.2] goto [2]; [10] s ∗ ← (α × sai + β ) mod q [11] if ∗ s ≠ s then [11.1] i ← i + ; [11.2] goto [2]; [12] return IDBi Thuật toán 3.3a xác định danh tính B với độ xác cao, địi hỏi phải lưu giữ nhiều tham số (sa,ra,eb,k,IDB) nhiều thời gian tính tốn Tuy nhiên, từ thuật tốn sau số thuật toán cơng khác địi hỏi việc lưu giữ tham số thời gian tính tốn mà xác định danh tính người yêu cầu ký tin B Trường hợp lưu giữ tham số (ra,,IDB) sử 117 [3] sai∗ ← (ki + x × ebi ) mod q sai∗ ≠ sai then [4.1] i ← i + ; [4] if [4.2] goto [2]; [5] return IDBi Trường hợp lưu giữ tham số (sa,,IDB) sử dụng thành phần thứ hai s chữ ký, A xác định danh tính B Thuật tốn 3.7a sau: Thuật toán 3.7a: Input: {(sai,IDBi)| i=0,1,2,…N}, e, α, β Output: IDBi [1] i = [2] select: ( sai , IDBi ) Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) b) Thuật tốn kiểm tra [3] s ∗ ← (α × sai + β ) mod q Thuật toán 3.2b: Input: p, q, g, y, M – tin cần thẩm tra, (e,s) – chữ ký A Output: (e,s) = true / false s ∗ ≠ s then [4.1] i ← i + ; [4] if [4.2] goto [1]; [5] return IDBi Nhận xét: Các thuật toán từ 3.3a đến 3.7a chung đặc điểm xác định danh tính người yêu cầu ký B biết tham số bí mật (α,β) B tạo Nói cách khác, mức độ an tồn lược đồ đề xuất xét theo khả giữ bí mật nguồn gốc tin phụ thuộc vào mức độ khó việc tìm tham số bí mật (α,β) Từ thuật tốn ký lược đồ đề xuất cho thấy thời điểm ký A biết tham số ra, eb, sa Điều có nghĩa để tính (α,β), A cần phải giải (3.13a): eb = α −1 × ( H ((ra )α × (g × y ) mod p || M ) mod q − β ) mod q β (3.13a) Tuy nhiên, từ kết nghiên cứu cơng bố thấy (3.13a) dạng tốn khó chưa có lời giải tham số p, q chọn đủ lớn để phương pháp vét cạn không khả thi ứng dụng thực tế Mặt khác, bước thực thuật toán ký (Thuật toán 3.1) sử dụng tham số bí mật (α,β) B tạo nên dạng công làm lộ nguồn gốc tin thuật toán Mục (Thuật toán 1.1, 1.2, 1.3 1.4) không khả thi lược đồ đề xuất 3.2.2 Lược đồ chữ ký số mù LD 15.02B Lược đồ chữ ký số mù, ký hiệu LD-15.02B, phát triển từ lược đồ sở LD-15.01B Cũng giả thiết A người ký có khóa cơng khai hình thành theo Thuật tốn 2.1b lược đồ sở LD 15.01B B người tạo tin M ký Khi đó, thuật tốn ký kiểm tra chữ ký lược đồ sau: a) Thuật toán ký Thuật toán 3.1b: Input: p, q, g, x, y, α, β, k , M Output: (e,s) [1] ← g k mod p (3.1b) [2] rb ← (ra ) × g × y [3] e ← H (rb || M ) mod q α β α β mod p [4] eb ← α −1 × ( e + β ) mod q [5] sa ← x × (k + eb ) mod q ∗ < h < p , H : {0,1} a Z t với: q < t < p , −1 y = g x mod p , , < α, β < q rb ← (ra ) × g × y α eb = α −1 β , , < x, k < q , = g k mod p , e = H (rb || M ) mod q , sa = x × (k + eb ) mod q , u = g − e × y s mod p Nếu: v = H (u || M ) mod q thì: v = e Thật vậy, từ (3.4b), (3.5b), (3.6b) (3.7b) ta có: u = g − e × y s mod p = g β − α eb × g x =g α ( β + s a ) mod p x α ( β + x (k + e b )) ×g β − eb α = g ×g −1 −1 β − α eb ×g x −1 α β ( ) = gβ × gx −1 α β −1 mod p × g x α x ( ) = g β × g −eb α × g x α β −1 ( k + eb ) mod p α × (g k ) × g α eb mod p (3.9b) × (g k ) mod p α Từ (2.1b), (3.1b) (3.9b) ta có: ( ) × (g ) (3.3b) α (3.5b) mod p s = α × (s a + β ) mod q u = gβ × gx (3.4b) α β × (e + β ) mod q (3.2b) [6] s ← α × (s a + β ) mod q (3.6b) [7] return (e,s) Chú thích: - Các bước [1], [5] người ký A thực - Các bước [2], [3], [4], [6] [7] người có tin cần ký B thực - Tham số k A lựa chọn thỏa mãn: 1< k < q - Tham số α, β B lựa chọn thỏa mãn: < α, β < q - {x,y} cặp khóa bí mật/cơng khai A 118 [1] u ← g − e × y s mod p (3.7b) [2] v ← H (u || M ) mod q (3.8b) [3] if ( v = e ) then {return true } else {return false } Chú thích: - Nếu kết trả true tính hợp lệ chữ ký (e,s) cơng nhận, tính toàn vẹn tin cần thẩm tra M danh tính người ký (A) khẳng định - Nếu kết trả false chữ ký (e,s) giả mạo, nội dung tin M bị sửa đổi c) Tính đắn lược đồ LD 15.02B Điều cần chứng minh là: cho p, q số nguyên tố thỏa mãn điều kiện q | ( p − 1) , g = h ( p −1) / q mod p với: −1 α β = (ra ) × g × y β α β k α mod p (3.10b) mod p Từ (3.2) (3.10), suy ra: u = rb (3.11b) Thay (3.11) vào (3.8) ta có: (3.12b) v = H (u || M ) mod q = H (rb || M ) mod q Từ (3.2b) (3.12b), suy ra: v = e Đây điều cần chứng minh d) Mức độ an toàn lược đồ LD 15.02B Tương tự lươc đồ LD 15.02A, khả chống công làm lộ nguồn gốc tin sau ký lược đồ LD-15.02B đánh giá qua phân tích khả thực số thuật cơng sau: Thuật tốn 3.3b: Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Input: {(rai,ebi,sai,ki,IDBi)| i=0,1,2,…N}, M, (e,s), α, β Output: IDBi [1] m ← H (M ) , i = [2] select: (rai , ebi , sai , ki , IDBi ) [3] rbi * ← (rai )α × g β × y α β mod p [4] e∗ ← rbi *×H (M ) mod q ∗ [5] if e ≠ e then [5.1] i ← i + ; [5.2] goto [2]; [6] ebi∗ ← α −1 × (e + β ) mod q ebi∗ ≠ ebi then [7.1] i ← i + ; [7] if [7.2] goto [2]; [8] sai∗ ← x × (ki + ebi ) mod q sai∗ ≠ sai then [9.1] i ← i + ; [9] if [9.2] goto [2]; [10] s ∗ ← α × (sai + β ) mod q s ∗ ≠ s then [11.1] i ← i + ; [11] if [11.2] goto [2]; [12] return IDBi Thuật toán 3.3b xác định danh tính B với độ xác cao, địi hỏi phải lưu giữ nhiều tham số (sa,ra,eb,k,IDB) nhiều thời gian tính tốn Tuy nhiên, từ thuật tốn sau số thuật tốn cơng tương ứng với trường hợp đòi hỏi việc lưu giữ tham số thời gian tính tốn mà xác định danh tính người yêu cầu ký tin B Trường hợp 1, A lưu giữ tham số (ra,,IDB) sử dụng tin ký M thành phần thứ e chữ ký, A xác định danh tính B Thuật tốn 3.4b sau: Thuật toán 3.4b: Input: {(rai,IDBi)| i=1,2,…N}, (M,e), α, β Output: IDBi [1] m ← H (M ) , i = [2] select: (rai , IDBi ) [3] rbi * ← (rai )α × g β × y α β mod p [4] e∗ ← rbi *×H (M ) mod q e∗ ≠ e then [5.1] i ← i + ; [5] if [5.2] goto [2]; [6] return IDBi Trường hợp 2, A lưu giữ tham số (ra,,IDB) sử dụng thành phần thứ e chữ ký, A xác định danh tính B Thuật tốn 3.5b sau: 119 Thuật toán 3.5b: Input: {(ebi,IDBi)| i=0,1,2,…N}, e, α, β Output: IDBi [1] i = [2] select: (ebi , IDBi ) [3] ebi∗ ← α −1 × (e + β ) mod q [4] if ebi∗ ≠ ebi then [4.1] i ← i + ; [4.2] goto [2]; [5] return IDBi Trường hợp 3, A lưu giữ tham số (sa,,eb,k,IDB) sử dụng thành phần thứ hai s chữ ký, A xác định danh tính B Thuật tốn 3.6b sau: Thuật toán 3.6b: Input: {(ebi,sai,ki,IDBi)| i=0,1,2,…N}, s, α, β Output: IDBi [1] i = [2] select: (ebi , sai , k i , IDBi ) [3] sai∗ ← x × (k i + ebi ) mod q sai∗ ≠ sai then [4.1] i ← i + ; [4] if [4.2] goto [2]; [5] return IDBi Trường hợp 4, A lưu giữ tham số (sa,,IDB) sử dụng thành phần thứ hai s chữ ký, A xác định danh tính B Thuật tốn 3.7b sau: Thuật toán 3.7b: Input: {(sai,IDBi)| i=0,1,2,…N}, e, α, β Output: IDBi [1] i = [2] select: ( sai , IDBi ) [3] s ∗ ← α × (sai + β ) mod q s ∗ ≠ s then [4.1] i ← i + ; [4] if [4.2] goto [1]; [5] return IDBi Nhận xét: Các Thuật toán 3.3b, 34b, 3.5b, 3.6b 3.7b cho phép A xác định danh tính B biết tham số bí mật (α,β) B tạo Như vậy, mức độ an toàn lược đồ LD 15.02B xét theo khả giữ bí mật nguồn gốc tin phụ thuộc vào mức độ khó việc tìm tham số bí mật (α,β) Từ thuật tốn ký lược đồ LD 15.02B cho thấy A biết tham số ra, eb, sa thời điểm ký Nên để tính (α,β), A cần phải giải được: eb = α −1 × ( H ((( ) α × g β × y α β mod p ) || M ) mod q + β ) mod q (3.13b) Có thể thấy rằng, (3.13b) dạng tốn khó chưa có lời giải tham số p, q chọn đủ lớn để Hội Thảo Quốc Gia 2015 Điện tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) phương pháp “vét cạn” không khả thi ứng dụng thực tế Mặt khác, bước thực thuật toán ký (Thuật toán 3.1b) sử dụng tham số bí mật (α,β) B tạo nên dạng công làm lộ nguồn gốc tin thuật toán Mục (Thuật tốn 1.1, 1.2, 1.3 1.4) khơng khả thi lược đồ đề xuất IV KẾT LUẬN Từ việc phân tích điểm yếu số lược đồ chữ ký số mù công bố, báo đề xuất lược đồ chữ ký số mù phát triển từ lược đồ chữ ký sở xây dựng dựa tính khó tốn logarit rời rạc, lược đồ có mức độ an toàn cao lược đồ biết khả chống công làm lộ nguồn gốc tin ký Đây yếu tố quan trọng cho phép lược đồ đề xuất có tính khả thi ứng dụng thực tế TÀI LIỆU THAM KHẢO [1] [2] [3] [4] 120 D Chaum, Blind Signature Systems, Advances in Cryptology, Crypto’ 83, Plenum Press, pp 153 D Chaum, A Fiat, M Naor, “Untraceable Electronic Cash”, Advances in Cryptology,Crypto’ 88, LNCS 403, Springer Verlag, pp 319-327 D Chaum, “Privacy Protected Payment”, SMART CARD 2000, Elsevier Science Publishers B.V., 1989, pp 69-93 N Ferguson, “Single Term Off-line Coins”, Advances in Cryptology, Eurocrypt’93, LNCS 765, Springer Verlag, pp 318-328 [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] D Chaum, B den Boer, E van Heyst, S Mjolsnes, A Steenbeek, “Efficient Offline Electronic Checks”, Advances in Cryptology, Eurocrypt’89, LNCS 434, Springer Verlag, pp 294-301 B C Rivest R., Shamir A., Adleman L (1978), “A Method for Obtaining Digital Signatures and Public Key Cryptosystems”, Communications of the ACM, Vol 21, No 2, pp 120 – 126 K Nyberg, R A Rueppel, A New Signature Scheme Base on the DSA Giving Message Recovery, 1st ACM conference on Computer and Communications Security, November – 5, Fairfax, Virginia Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler, Blind Signatures Base on Discrete Logarithm Problem, Swiss KWF Foundation, grant no 2724.1 Nikolay A Moldovyan, Blind Collective Signature Protocol, Computer Science Journal of Moldova, vol.19, no.1(55), 2011 National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, U.S Department of Commerce, 1994 GOST R 34.10-94 Russian Federation Standard Information Technology Cryptographic data Security Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm Government Committee of the Russia for Standards, 1994 (in Russian) Kharin Yu.S., Bernik V.I., Matveev G.V., Aguievich S.V Mathematic and computer foundations of cryptology, Novoe znanie, Minsk, 2003 381 p (in Russian) C P Schnorr, “Efficient signature generation by smart cards”, Journal of Cryptology, vol 4, pp 161 – 174, 1991 T ElGamal, “ A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory 1985, Vol IT-31, No pp.469–472 ... cầu ký (người tạo tin ký) hồn tồn thực Nói cách khác, lược đồ chữ ký số mù RSA khơng an tồn số lượng tin ký không đủ lớn 2.2 Tấn công lược đồ chữ ký số mù DSA 2.2.1 Lược đồ chữ ký số mù DSA Từ lược. .. lược đồ chữ ký sở 3.1.1 Lược đồ chữ ký sở LD 15.01A Lược đồ chữ ký sở đây, ký hiệu LD 15.01A, cải tiến từ lược đồ chữ ký C Schnorr đề xuất vào năm 1991 sử dụng làm sở để phát triển lược đồ chữ ký. .. mạo chữ ký phụ thuộc vào độ khó việc giải (2.10b): (2.10b) e = H (( g − e × y s mod p) || M ) modq 3.2 Xây dựng lược đồ chữ ký số mù 3.2.1 Lược đồ chữ ký số mù LD 15.02A Lược đồ chữ ký số mù phát

Ngày đăng: 10/09/2021, 15:56