Bài viết đề xuất lược đồ chữ ký số mù phát triển từ một lược đồ chữ ký được xây dựng dựa trên tính khó của bài toán logarit rời rạc. Ưu điểm của lược đồ mới đề xuất ở đây là có mức độ an toàn cao hơn so với các lược đồ đã được công bố trước đó xét về khả năng chống lại kiểu tấn công làm lộ nguồn gốc bản tin được ký. Mời các bạn cùng tham khảo!
Công nghệ thông tin LƯỢC ĐỒ CHỮ KÝ SỐ MÙ PHÁT TRIỂN DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC Nguyễn Tiền Giang1, Lưu Hồng Dũng2 Tóm tắt: Bài báo đề xuất lược đồ chữ ký số mù phát triển từ lược đồ chữ ký xây dựng dựa tính khó tốn logarit rời rạc Ưu điểm lược đồ đề xuất có mức độ an toàn cao so với lược đồ cơng bố trước xét khả chống lại kiểu công làm lộ nguồn gốc tin ký Từ khóa: Chữ ký số, chữ ký số mù, lược đồ chữ ký số, lược đồ chữ ký số mù ĐẶ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 đối tượng ký, không cho phép xác thực danh tính đối tượng tạo tin ký Với loại chữ ký số thơng thường đối tượng ký đối tượng tạo tin ký, cịn với chữ ký số mù đối tượng ký đối tượng tạo tin ký hồn tồ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 TẤN CÔNG LÀM LỘ NGUỒN GỐC BẢN TIN ĐƯỢC KÝ 2.1 Phương pháp công lược đồ chữ ký số mù Trong [6] phương pháp công làm lộ nguồn gốc tin số lược đồ chữ ký mù phát triển từ lược đồ chữ ký RSA, DSA, Ở đây, lần minh họa cho việc sử dụng phương pháp [6] để công lược đồ chữ ký mù Moldovyan Với lược đồ khác, việc áp dụng thực hoàn toàn tương tự 2.1.1 Lược đồ chữ ký số mù Moldovyan Đây lược đồ chữ ký số mù N.A Modovyvan đề xuất sở phát triển từ chuẩn chữ ký số Belarusian STB 1176.2 – [7] 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 46 N.T.Giang, L H.Dũng “Phát triển lược đồ chữ ký số mù dựa tốn logarit rời rạc.” Nghiên cứu khoa học cơng nghệ 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 giá trị T theo: 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 giá trị: T ' = T × yτ × g ε mod p , e' = FH (T ' || M ) e = (e'−τ ) mod q , đây: FH(.) hàm băm “||” toá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 chữ ký tương tự lược đồ STB 1176.2 – 9, bao gồm bước sau: Kiểm tra nếu: < s ' < q < e' < q chuyển sang bước Ngược lại, chữ ký (e' , s ' ) bị từ chối tính hợp lệ Tính giá trị: T ∗ = g s ' × y e ' mod p Tính giá trị: e ∗ = FH (T ∗ || M ) Kiểm tra nếu: e∗ = e' (e' , s ' ) công nhận hợp lệ Ngược lại, (e' , s ' ) bị từ chối 2.1.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} danh tính người yêu cầu ký B (IDB) lần ký Từ đó, A xác định danh tính B Thuật toán 1.1 sau: Thuật toán 1.1: Input: (M,e’,s’), {(ei, si,Ti, IDBi)| i=0,1,2,…N} Output: IDBi [1] i = [2] select: (ei , si , Ti , IDBi ) [3] τ ← (e'−ei ) mod q (1.1) [4] ε ← ( s'− si ) mod q (1.2) ∗ τ ε [5] T = Ti × y × g mod p [6] e ∗ = FH (T ∗ || M ) [7] if (e∗ ≠ e' ) then [7.1] i ← i + [7.2] goto [2] [8] return IDBi Nhận xét: Lược đồ chữ ký mù Moldovyan sử dụng giá trị τ ϵ để tạo khác biệt tham số e e’ s s’ Tuy nhiên, việc tính tốn giá trị (1.1) (1.2) đơn giản, nên Thuật toán 1.1 cho thấy việc xác định nguồn gốc tin hồn tồn thực người ký A Như vậy, tương tự lược đồ ký mù RSA, DSA, Nyberg-Rueppal [6], Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 47 Công nghệ thông tin lược đồ chữ ký mù Moldovyan lược đồ khơng an tồn trước kiểu công làm lộ nguồn gốc tin ký XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ MÙ CĨ KHẢ NĂNG CHỐNG TẤN CƠNG LÀM LỘ NGUỒN GỐC BẢN TIN Các thuật tốn cơng làm lộ nguồn gốc tin ký [6] Thuật toán 1.1 mục 2.1.2 cho thấy lược đồ chữ ký với việc làm “mù” tin tham số bí mật lược đồ chữ ký số 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ý mù từ lược đồ chữ ký sở xây dựng toán logarit rời rạc – DLP (Discrete Logarithm Problem) [8] Ưu điểm lược đồ đề xuất sử dụng tham số bí mật lược đồ chữ ký mù DSA, Nyberg-Rueppal hay Moldovyan, chống phương pháp công làm lộ nguồn gốc tin ký 3.1 Xây dựng lược đồ chữ ký sở 3.1.1 Lược đồ chữ ký sở Lược đồ chữ ký sở xây dựng dựa tính khó tốn logarit rời rạc sử dụng làm sở để phát triển lược đồ chữ ký mù phần Bài tốn logarit rời rạc – DLP(g,p) phát biểu sau: Cho p số nguyên tố, g phần tử sinh nhóm ℤp* Với số nguyên dương y∈ ℤp*, tìm x thỏa mãn phương trình: g x mod p = y Ở đây, toán logarit rời rạc sử dụng với vai trị hàm chiều việc hình thành khóa thực thể hệ thống với tham số {p,g} dùng chung Dễ thấy rằng, x tham số (khóa) bí mật việc tính tham số (khóa) cơng khai y từ x tham số hệ thống {p,g} việc hoàn toàn dễ dàng Nhưng điều ngược lại khó thực hiện, nghĩa từ y {p,g} việc tính tham số bí mật x khơng khả thi ứng dụng thực tế Cần ý rằng, theo [9] [10] để toán logarit rời rạc khó p phải chọn đủ lớn với: |p| ≥512 bit (p±1) phải có ước số nguyên tố lớn Ở lược đồ sở, khóa bí mật x người ký chọn ngẫu nhiên khoảng (1, p ) khóa cơng khai tương ứng y hình thành từ x theo: (2.1) y = g x mod p Ở p số nguyên tố chọn cho việc giải toán DLP(g,p) (y) khó, g phần tử sinh nhóm ℤp* có bậc q, với q|(p-1) Lược đồ chữ ký sở 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 Thuật tốn 2.1: 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 48 N.T.Giang, L H.Dũng “Phát triển lược đồ chữ ký số mù dựa toán logarit rời rạc.” Nghiên cứu khoa học công nghệ [2] [3] [4] [5] ∗ select H : {0,1} a Z t , q < t < p select: < x < q y ← g x mod p return {g,y,H(.)} b) Thuật toán ký Thuật toán 2.2: 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 −1 × ( k + e) mod q [4] return (e,s) (2.2) (2.3) (2.4) (2.5) c) Thuật toán kiểm tra Thuật toán 2.3: 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 } (2.6) (2.7) 3.1.2 Tính đắn lược đồ sở Đ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 , r = g k mod p , e = H ( r || M ) mod q , s = x −1 × ( k + e ) mod q Nếu: y = g x mod p , u = g − e × y s mod p v = H (r || M ) mod q thì: v = e Thật vậy, từ (2.2), (2.4), (2.5) (2.6) ta có: u = g − e × y s mod p = g − e × g x.s mod p = g s x−e mod p = g k mod p Từ (2.3) (2.8), suy ra: u = r Thay (2.9) vào (2.7) ta được: v = H (u || M ) mod q = H (r || M ) mod q (2.8) (2.9) (2.10) Từ (2.4) (2.10), suy điều cần chứng minh: v = e 3.1.3 Mức độ an toàn lược đồ sở Mức độ an tồ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ý Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 49 Công nghệ thông tin Về khả chống công làm lộ khóa mât: Từ (2.2) cho thấy mức độ an tồn lược đồ sở phụ thuộc vào mức độ khó giải tốn logarit rời rạc tương tự với lược đồ chữ ký DSA chuẩn chữ ký DSS [9] Hoa kỳ hay chuẩn chữ ký GOST R34.10-94 [10] Liên bang Nga,… Về khả chống công giả mạo chữ ký: Từ (2.4), (2.6) (2.7) lược đồ sở cho thấy, cặp (e,s) (không tạo Thuật tốn ký 2.2 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.11) e = H ((g −e × y s mod p) || M ) modq Như vậy, mức độ an toàn xét theo khả chống công giả mạo chữ ký lược đồ sở phụ thuộc vào độ khó việc giải (2.11) Để giải (2.11), giả sử chọn trước M e tìm s Khi đó, việc giải (2.11) trở thành tìm s từ: (2.12) N = H ( y s mod p || M ) modq đây: N số Rõ ràng việc giải (2.12) khó (2.1) tham số p, q kích thước đầu hàm băm H(.) chọn đủ lớn Ngồi ra, chọn trước M s tìm e, việc giải (2.11) trở thành: (2.13) e = H ( g e × N mod p || M ) modq đó: e ẩn số cần tìm N số Dễ thấy việc giải (2.13) cịn khó giải (2.12) Như vậy, khơng có giải thuật hiệu cho (2.11) việc giải (2.12) (2.13) để tìm cặp (e,s) thỏa mãn điều kiện kiểm tra lược đồ sở khó việc giải toán logarit rời rạc DLP(g,p) 3.2 Xây dựng lược đồ chữ ký số mù Lược đồ chữ ký mù phát triển từ lược đồ sở mục 2.1 Giả sử A người người ký B người tạo tin M ký, tham số hệ thống khóa A, B hình thành theo Thuật tốn 2.1 lược đồ sở Khi đó, thuật tốn ký kiểm tra chữ ký lược đồ sau: 3.2.1 Thuật toán ký Thuật toán 3.1: Input: p, q, g, x, y, α, β, k , M Output: (e,s) [1] ← g k mod p (3.1) α β α β [2] rb ← (ra ) × g × y mod p (3.2) [3] e ← H (rb || M ) mod q (3.3) −1 [4] eb ← α × ( β + e) mod q (3.4) −1 [5] s a ← x × (k + eb ) mod q (3.5) [6] s ← α × (β + sa ) mod q (3.6) [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 50 N.T.Giang, L H.Dũng “Phát triển lược đồ chữ ký số mù dựa toán logarit rời rạc.” Nghiên cứu khoa học công nghệ - {x,y} cặp khóa bí mật/cơng khai A 3.2.2 Thuật tốn kiểm tra Thuật toán 3.2: 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 } (3.7) (3.8) 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 3.2.3 Tính đắn lược đồ đề xuất Đ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 , < α , β < q , y = g x mod p , = g k mod p , rb = (ra )α × g β × y α β mod p , e = H (rb || M ) mod q , eb = α −1 × (β + e) mod q , sa = x −1 × (k + eb ) mod q , s = α × (β + sa ) mod q Nếu: u = g − e × y s mod p v = H (u || M ) mod q thì: v = e Thật vậy, từ (3.4), (3.5), (3.6) (3.7) ta có: u = g − e × y s mod p = g β −α eb × g x.α ( β + sa ) mod p = g β −α eb × g x.α (β + x −1 ( k + eb ) ) mod p = g β × g − eb α × g x.α β × g x.α x ( k + eb ) ( ) × (g ) × g × (g ) × (g ) mod p = g β × g −eb α × g = gβ −1 x α β x α β k α mod p α eb mod p (3.9) k α Từ (2.2), (3.1) (3.9) ta có: ( ) u = gβ × gx α β = (ra ) × g × y α β ( ) × gk α β α mod p (3.10) mod p Từ (3.2) (3.10), suy ra: u = rb Thay (3.11) vào (3.8) ta có: v = H (u || M ) mod q = H ( rb || M ) mod q (3.11) (3.12) Từ (3.2) (3.12), suy ra: v = e Đây điều cần chứng minh 3.2.4 Khả chống công làm lộ nguồn gốc tin ký Khả chống cơng làm lộ khóa mật chống giả mạo chữ ký lược đồ đề xuất phân tích tương tự với lược đồ sở mục 3.1.3 Từ thuật toán ký (Thuật toán 3.1) lược đồ cho thấy tính tham số (α,β) giá trị tham số {sa,ra,eb} lưu trữ lần ký với Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 51 Công nghệ thông tin định danh người yêu cầu ký: IDB = {IDBi)| i=0,1,2,…N}, người ký A hồn tồn xác định mối quan hệ {M,(e,s)} với IDBi, nghĩa xác định nguồn gốc tin thuật toán sau: Thuật toán 3.3 Input: {(rai,IDBi)| i=0,1,2,…N}, M, (e,s), α, β Output: IDBi [1] i = [2] select: (rai , IDBi ) [3] rbi * ← (rai )α × g β × y α β mod p [4] e∗ ← H (rbi * || M ) mod q [5] if e∗ ≠ e then [5.1] i ← i + ; [5.2] goto [2]; [6] return IDBi Hoặc: Thuật toán 3.4 Input: {(ebi,IDBi)| i=0,1,2,…N}, M, (e,s), α, β 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 Hoặc: Thuật toán 3.5 Input: {(sai,ki,IDBi)| i=0,1,2,…N}, M, (e,s), α, β Output: IDBi [1] i = [2] select: ( sai , ki , IDBi ) [3] ebi∗ ← α −1 × (e + β ) mod q [4] sai * ← x −1 × (k i + ebi *) mod q [5] if sai∗ ≠ sai then [5.1] i ← i + ; [5.2] goto [2]; [6] return IDBi Hoặc: Thuật toán 3.6 Input: {(sai,IDBi)| i=0,1,2,…N}, M, (e,s), α, β 52 N.T.Giang, L H.Dũng “Phát triển lược đồ chữ ký số mù dựa toán logarit rời rạc.” Nghiên cứu khoa học công nghệ Output: IDBi [1] i = [2] select: ( sai , IDBi ) [3] s ∗ ← α × (sai + β ) mod q [4] if s ∗ ≠ s then [4.1] i ← i + ; [4.2] goto [2]; [5] return IDBi Từ thuật toán ký (Thuật toán 3.1) lược đồ cho thấy, thiết lập mối quan hệ (sai,ebi) thuộc: {(sai,ebi)| i=0,1,2,…N} với {M,(e,s)} thông qua cặp (α,β) nhờ (3.4) (3.6) sau: ebi ← α −1 × ( β + e) mod q s = α × (β + sai ) mod q (3.13) Tuy nhiên, giải (3.13) không chắn nhận cặp (α,β) mong muốn Bởi với (sai,ebi) thuộc: {(sai,ebi)| i=0,1,2,…N} ln tìm cặp (α,β) tương ứng Do đó, việc ứng dụng thuật tốn để cơng làm lộ nguồn gốc tin không khả thi lược đồ đề xuất 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 tồ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] D Chaum, “Blind Signature Systems”, Advances in Cryptology, Crypto’ 83, Plenum Press, pp 153 [2] D Chaum, A Fiat, M Naor, “Untraceable Electronic Cash”, Advances in Cryptology,Crypto’ 88, LNCS 403, Springer Verlag, pp 319-327 [3] D Chaum, “Privacy Protected Payment”, SMART CARD 2000, Elsevier Science Publishers B.V., 1989, pp 69-93 [4] N Ferguson, “Single Term Off-line Coins”, Advances in Cryptology, Eurocrypt’93, LNCS 765, Springer Verlag, pp 318-328 [5] 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 [6] Nguyễn Tiền Giang, Nguyễn Vĩnh Thái, Lưu Hồng Dũng, “Lược đồ chữ ký số mù xây dựng toán khai căn”, Chuyên san Công nghệ thông tin Truyền thông (Học viện Kỹ thuật Quân sự) số (10 – 2014), trang 102 - 114 [7] Nikolay A Moldovyan, “Blind Collective Signature Protocol”, Computer Science Journal of Moldova, vol.19, no.1(55), 2011 [8] T ElGamal, “ A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory 1985, Vol IT31, No pp.469–472 [9] National Institute of Standards and Technology NIST FIPS PUB 186-3(2013) Digital Signature Standard, U.S Department of Commerce Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 53 Công nghệ thông tin [10] GOST R 34.10-94 Russian Federation Standard Information Technology(1994) Cryptographic data Security Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm Government Committee of the Russia for Standards (in Russian) 1994 ABSTRACT DEVELOP BLIND DIGITAL SIGNATURE SCHEMA BASED ON DISCRETE LOGARITHM PROBLEM This paper proposes a blind signature schema developed from a digital signature scheme based on the difficulty of the discrete logarithm problem The new blind signature scheme proposed has higher safety level compared to the schemas which have been published previously about the ability of keeping secret the source of the signed messages Keywords: Digital Signature, Blind Digital Signature, Digital Signature Schema, Blind Digital Signature Schema Nhận ngày 28 tháng 06 năm 2018 Hoàn thiện ngày 28 tháng 09 năm 2018 Chấp nhận đăng ngày 25 tháng 11 năm 2018 Địa chỉ: Cục CNTT, BQP Khoa CNTT, Học viện KTQS *Email: luuhongdung@gmail.com 54 N.T.Giang, L H.Dũng “Phát triển lược đồ chữ ký số mù dựa toán logarit rời rạc.” ... tin ký 3.1 Xây dựng lược đồ chữ ký sở 3.1.1 Lược đồ chữ ký sở Lược đồ chữ ký sở xây dựng dựa tính khó tốn logarit rời rạc sử dụng làm sở để phát triển lược đồ chữ ký mù phần Bài toán logarit rời. .. thi lược đồ đề xuất 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 đồ sở khó việc giải tốn logarit rời rạc DLP(g,p) 3.2 Xây dựng lược đồ chữ ký số mù Lược đồ chữ ký mù phát triển từ lược đồ sở mục 2.1 Giả sử A người người ký B người tạo tin M ký, tham số