Bài viết đề 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 ở hai cấp độ: Thực thể ký và tổ chức (cơ quan, đơn vị, ...) mà thực thể ký là thành viên của nó. Đồng thời bài báo cũng đề xuất lược đồ chữ ký số phù hợp theo mô hình ứng dụng này.
Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/8/2018 DOI: 10.15625/vap.2018.00012 CHỮ KÝ SỐ - MƠ HÌNH ỨNG DỤNG VÀ THUẬT TỐN Phạm Văn Hiệp1, Lưu Hồng Dũng2 Khoa CNTT, Đại học Công nghiệp Hà Nội Khoa CNTT, Học viện KTQS hieppv@haui.edu.vn, luuhongdung@gmail.com TÓM TẮT: Bài báo đề xuất mơ hình ứng dụng chữ ký số phù hợp cho đối tượng quan nhà nước, đơn vị hành chính, doanh nghiệp, mà thơng điệp, liệu cần phải chứng thực nguồn gốc tính tồn vẹn hai cấp độ: thực thể ký tổ chức (cơ quan, đơn vị, ) mà thực thể ký thành viên Đồng thời báo đề xuất lược đồ chữ ký số phù hợp theo mơ hình ứng dụng Lược đồ đề xuất phát triển từ dạng lược đồ chữ ký số xây dựng dựa tính khó việc giải đồng thời hai tốn phân tích số logarit rời rạc vành Zn Từ khóa: Chữ ký số, chữ ký số tập thể, lược đồ chữ ký số, thuật toán chữ ký số I ĐẶT VẤN ĐỀ Trong giao dịch điện tử, chữ ký số sử dụng nhằm đáp ứng yêu cầu chứng thực nguồn gốc tính tồn vẹn thơng tin Các mơ hình ứng dụng chữ ký số cho phép đáp ứng tốt yêu cầu chứng thực nguồn gốc tính tồn vẹn thơng điệp, liệu tạo thực thể có tính độc lập Tuy nhiên, mơ hình mà thực thể tạo thông tin thành viên hay phận tổ chức (đơn vị hành chính, hệ thống kỹ thuật, ) nguồn gốc tính tồn vẹn thơng tin cấp độ tổ chức mà thực thể tạo thành viên hay phận lại khơng chứng thực Nói cách khác, yêu cầu việc chứng thực đồng thời nguồn gốc tính tồn vẹn thơng tin cấp độ thực thể tạo cấp độ tổ chức mà thực thể tạo thông tin thành viên hay phận khơng đáp ứng mơ hình ứng dụng chữ ký số Trong đó, yêu cầu ngày trở nên cần thiết để bảo đảm cho việc chứng thực thông tin thủ tục hành điện tử phù hợp với thủ tục hành thực tế Bài báo đề xuất phát triển lược đồ chữ ký số theo mơ hình ứng dụng nhằm bảo đảm yêu cầu chứng thực nguồn gốc tính tồn vẹn cho thơng điệp liệu giao dịch điện tử mà thực thể ký thành viên hay phận tổ chức có tư cách pháp nhân xã hội Trong mơ hình này, thơng điệp điện tử chứng thực hai cấp độ khác nhau: thực thể tạo tổ chức mà thực thể tạo thành viên hay phận tổ chức Ở đây, mơ hình ứng dụng chữ ký số với u cầu đặt gọi mơ hình chữ ký số tập thể (Collective Signature Model) lược đồ/thuật tốn chữ ký số xây dựng theo mơ gọi lược đồ/thuật toán chữ ký số tập thể (Collective Signature Schema/Algorithm) II MƠ HÌNH CHỮ KÝ SỐ TẬP THỂ Mơ hình chữ ký số tập thể đề xuất dựa cấu trúc PKI truyền thống [1] nhằm bảo đảm chức chứng thực số [3] cho đối tượng áp dụng tổ chức có tư cách pháp nhân xã hội (đơn vị hành chính, quan nhà nước, doanh nghiệp ) Trong mơ hình này, đối tượng ký hay nhóm thành viên tổ chức phép ký lên thông điệp liệu với danh nghĩa thành viên tổ chức Cũng mơ hình này, CA phận có chức bảo đảm dịch vụ chứng thực số như: chứng nhận thực thể thành viên tổ chức, chứng thực thông điệp liệu ký thực thể thành viên tổ chức, mà CA quan chứng thực thuộc tổ chức Tính hợp lệ nguồn gốc tính tồn vẹn thơng điệp liệu cấp độ tổ chức có giá trị CA thuộc tổ chức chứng thực, việc chứng thực thực chữ ký CA tương tự việc CA chứng thực khóa cơng khai cho thực thể cuối mơ hình PKI truyền thống Trong mơ hình này, chữ ký CA với chữ ký cá nhân thực thể ký hình thành nên chữ ký tập thể cho thơng điệp liệu Nói cách khác, chữ ký tập thể mơ hình bao hàm chữ ký với tư cách cá nhân thực thể ký chữ ký CA với tư cách tổ chức mà đối tượng ký thành viên thuộc tổ chức Nói chung, CA mơ hình đề xuất có chức sau: - Chứng nhận tính hợp pháp thành viên tổ chức: thực chất chứng nhận khóa cơng khai danh tính (các thơng tin nhận dạng) thành viên tổ chức việc phát hành Chứng khóa cơng khai (PKC - Public Key Certificate) Ngồi ra, CA cịn có trách nhiệm thu hồi PKC hết hạn lưu hành vi phạm sách an tồn tổ chức - Chứng thực nguồn gốc tính tồn vẹn thơng điệp liệu: ký đối tượng thành viên tổ chức mà CA quan chứng thực tổ chức Một hệ thống cung cấp dịch vụ chứng thực số xây dựng theo mơ hình đề xuất bao gồm hoạt động sau: Phạm Văn Hiệp, Lưu Hồng Dũng 89 Phát hành, quản lý chứng khóa cơng khai Trong mơ hình chữ ký tập thể, chứng khóa công khai sử dụng để tổ chức chứng nhận đối tượng ký thành viên Một chứng khóa cơng khai bao gồm thơng tin chế hình thành Hình Các thơng tin nhận dạng (IDi) chủ thể: tên tổ chức địa Khóa riêng CA (xCA) Khóa cơng khai chủ thể (yi) Trạng thái hoạt động chứng Số hiệu chứng Thuật tốn ký Thơng tin nhận dạng CA Chữ ký số CA Hình Cấu trúc chế hình thành chứng khóa cơng khai Cấu trúc PKC bao gồm khóa cơng khai chủ thể chứng thông tin khác như: thông tin nhận dạng chủ thể, trạng thái hoạt động chứng chỉ, số hiệu chứng chỉ, thông tin nhận dạng CA, Khơng làm tính tổng qt, sử dụng thuật ngữ thông tin nhận dạng (IDi) đối tượng ký để đại diện cho thành phần thơng tin nói Trong thực tế, sử dụng khuôn dạng chứng X.509 [2] cho chứng khóa cơng khai mơ hình đề xuất Cơ chế kiểm tra tính hợp lệ chứng khóa cơng khai Hình sau: Các thông tin nhận dạng (IDi) chủ thể: tên, tổ chức địa chỉ… Khóa cơng khai CA (yCA) Khóa cơng khai chủ thể (yi) Trạng thái hoạt động chứng Số hiệu chứng Thuật tốn kiểm tra Thơng tin nhận dạng CA Chữ ký số CA Công nhận/Từ chối Hình Cơ chế kiểm tra tính hợp lệ chứng khóa cơng khai Hình thành kiểm tra chữ ký số tập thể Trong mô hình đề xuất, chữ ký tập thể hình thành sở chữ ký cá nhân thực thể ký (một nhóm đối tượng ký) chứng nhận CA với vai trò chứng thực tổ chức thông điệp liệu cần ký Cơ chế hình thành chữ ký tập thể Hình Khóa bí mật CA (xCA) Chữ ký cá nhân thực thể ký SU Thông điệp liệu cần ký (M) Thuật toán ký f(M; SU; xCA) Chữ ký tập thể S = f(M; SU; x ) CA Hình Cơ chế hình thành chữ ký tập thể 90 CHỮ KÝ SỐ - MƠ HÌNH ỨNG DỤNG VÀ THUẬT TỐN Chữ ký cá nhân hình thành từ khóa bí mật thực thể ký (một số đối tượng ký) thông điệp liệu cần ký theo chế Hình sau: Khóa bí mật thực thể ký (x1,x2,…,xn) Thông điệp liệu cần ký (M ) Thuật toán ký f(M;x1,x2,…,xn) Chữ ký cá nhân thực thể ký SU = f(M;x1,x2,…,xn) Hình Cơ chế hình thành chữ ký cá nhân Cơ chế kiểm tra tính hợp lệ chữ ký tập thể Hình sau: Khóa cơng khai CA (yCA) Khóa cơng khai thực thể ký (y1, y2,…,yn) Thơng điệp liệu cần thẩm tra (M) Thuật tốn kiểm tra V(M; y1,…yn; yCA, S) Chữ ký tập thể (S) Cơng nhận/Từ chối Hình Cơ chế kiểm tra chữ ký tập thể Cơ chế kiểm tra chứng nhận CA việc hay nhóm đối tượng ký lên thông điệp liệu (M) Hình 6, kết kiểm tra sở để khẳng định thông điệp liệu ký đối tượng thành viên tổ chức tính tồn vẹn thơng điệp liệu đảm bảo Khóa cơng khai CA ( ) Thơng điệp liệu cần thẩm tra (M) Chứng nhận CA (SCA) Thuật tốn kiểm tra V(M;SCA;y ) CA Cơng nhận/Từ chối Hình Cơ chế kiểm tra chứng nhận CA Cơ chế kiểm tra chữ ký cá nhân Hình Kiểm tra chữ ký cá nhân cần phải thực sau kiểm tra chứng nhận CA, chứng nhận CA chữ ký cá nhân công nhận hợp lệ nguồn gốc tính tồn vẹn thơng điệp liệu cần thẩm tra khẳng định Phạm Văn Hiệp, Lưu Hồng Dũng 91 Khóa cơng khai thực thể ký (y1, y2,…,yn) Thông điệp liệu cần thẩm tra (M) Chữ ký cá nhân (SU) Thuật toán kiểm tra V(M; 1,…yn; SU) Cơng nhận/Từ chối Hình Cơ chế kiểm tra tính hợp lệ chữ ký cá nhân Ở lược đồ chữ ký tập thể đề xuất, thuật toán kiểm tra chữ ký cá nhân phận quan trọng thuật toán hình thành chữ ký tập thể nhằm chống lại số dạng công giả mạo từ bên hệ thống Mục xây dựng lược đồ chữ ký phù hợp theo mơ hình chữ ký tập thể đề xuất III THUẬT TOÁN CHỮ KÝ SỐ TẬP THỂ Lược đồ sở Lược đồ đề xuất phát triển dựa tính khó việc giải đồng thời hai tốn phân tích số [4] tốn logarit rời rạc [5] ℤn, nhằm nâng cao độ an toàn thuật tốn chữ ký số, đồng thời rút ngắn kích thước chữ ký lược đồ sinh Lược đồ đề xuất bao gồm: thuật tốn hình thành tham số khóa, thuật tốn ký kiểm tra chữ ký sau: 1.1 Thuật toán hình thành tham số khóa Mỗi đối tượng ký hệ thống hình thành tham số khóa theo bước sau: Thuật tốn 1.1: Hình thành tham số khóa Input: lp, lq - độ dài (tính theo bit) số nguyên tố p, q Output: n, m, g, y, x1, x2 [1] Chọn cặp số p, q nguyên tố với: len(p) = lp, len(q) = lq cho tốn phân tích số ℤn khó giải [2] Tính: n = p q và: φ(n) = (p - 1).(q - 1) [3] Chọn p1, q1 số nguyên tố thỏa mãn: p1|(p-1), q1|(q-1) và: p1∤(q-1), q1∤(p-1) [4] Tính: m = p1 q1 [5] Chọn g phần tử sinh nhóm ℤn* có bậc m (ordg = m), tính theo: g (n) m mod n thỏa mãn: gcd g , n , với: 1, n [6] Chọn khóa bí mật thứ x1 khoảng (1, m) [7] Tính khóa công khai theo: y g x1 mod n (1) Kiểm tra nếu: y (n) hoặc: gcd( y, (n)) thực lại từ bước [6] [8] Tính khóa bí mật thứ hai theo: x2 y 1 mod ( n) [9] Chọn hash function H: 0,1 Zh , với: h < n Chú thích: + len(.) hàm tính độ dài (theo bit) số + Khóa cơng khai y, khóa bí mật (x1, x2) + Các tham số công khai n, g; tham số bí mật là: p, q, p1, q1 ,m φ(n) (2) 92 CHỮ KÝ SỐ - MƠ HÌNH ỨNG DỤNG VÀ THUẬT TỐN 1.2 Thuật tốn ký Thuật tốn 1.2: Sinh chữ ký Input: n, g, m, x1, x2, M - tin cần ký Output: (E,S) - chữ ký [1] Chọn ngẫu nhiên giá trị k khoảng (1, m) [2] Tính giá trị: R g k mod n [3] Tính thành phần thứ chữ ký theo: E H ( M || R ) [4] Tính thành phần thứ chữ ký theo: S x2 k x1 E mod m (3) Chú thích: Tốn tử “||” phép nối xâu bit 1.3 Thuật toán kiểm tra Thuật toán 1.3: Kiểm tra chữ ký Input: n, g, y, M - tin cần thẩm tra Output: (E,S) = true/false [1] Tính giá trị: R g S y E mod n y [2] Tính giá trị: E H ( M || R ) [3] Nếu: E E thì: (E,S) = true, ngược lại: (E,S) = false Chú thích: + (E,S) = true: chữ ký hợp lệ, tin M xác thực nguồn gốc tính tồn vẹn + (E,S) = false: chữ ký hoặc/và tin bị giả mạo 1.4 Tính đắn lược đồ đề xuất Với tham số khóa hình thành thuật tốn 1.1, chữ ký (E,S) sinh thuật toán 1.2, giá trị E tạo thuật tốn 1.3 điều cần chứng minh là: E E Thật vậy, do: y R gS y E mod n g x2 k x1 E mod n g x1 mod n y E mod n g k x1 E x2 y g x1 E mod n g k mod n R Suy điều cần chứng minh: E H ( M || R ) H ( M || R ) E 1.5 Mức độ an toàn lược đồ đề xuất a) Tấn cơng khóa bí mật Ở lược đồ đề xuất, khóa bí mật đối tượng ký cặp (x1,x2), tính an tồn lược đồ bị phá vỡ hồn tồn cặp khóa tính hay đối tượng khơng mong muốn Từ thuật tốn 1.1 cho thấy, để tìm x2 cần phải tính tham số φ(n), nghĩa phải giải tốn phân tích số (IFP), cịn để tính x1 cần phải giải logarit rời rạc tốn (DLP) Như vậy, để tìm cặp khóa bí mật kẻ cơng cần phải giải đồng thời hai toán IFP DLP b) Tấn công giả mạo chữ ký Từ điều kiện thuật toán 1.3, cặp (E,S) coi chữ ký hợp lệ đối tượng sở hữu tham số công khai (n, g, y) lên tin M thỏa mãn: E H M || g S y y E mod n (4) Phạm Văn Hiệp, Lưu Hồng Dũng 93 Từ (4) cho thấy, việc tìm cặp (E, S) cách chọn trước giá trị tính giá trị cịn lại khó việc giải DLP Hơn nữa, H(.) chọn hàm băm có độ an tồn cao (SHA 256/512, ) việc chọn ngẫu nhiên cặp (E, S) thỏa mãn (4) hoàn tồn khơng khả thi ứng dụng thực tế Lược đồ chữ ký tập thể Lược đồ chữ ký tập thể phát triển từ lược đồ sở đề xuất mục với chức sau: - Hình thành chữ ký tập thể từ chữ ký cá nhân hay nhóm đối tượng ký chữ ký CA Kích thước chữ ký khơng phụ thuộc vào số lượng thành viên nhóm ký - Kiểm tra chữ ký tập thể nhóm đối tượng, thực tương tự chữ ký đối tượng ký tạo Giả sử nhóm ký gồm N-thành viên: U = {Ui| i=1,2, ,N} Các thành viên nhóm ký có khóa bí mật là: KS = {xi| i=1,2, ,N} khóa cơng khai tương ứng là: KP = {yi| i=1,2, ,N} Cịn CA có cặp khóa bí mật/cơng khai tương ứng là: {xca, yca} 2.1 Thuật tốn hình thành tham số khóa CA Thuật tốn 2.1: Hình thành tham số hệ thống khóa CA Input: lp, lq - độ dài (tính theo bit) số nguyên tố p, q Output: n, m, g, xca, yca [1] Chọn cặp số p, q nguyên tố với: len(p) = lp, len(q)= lq cho toán phân tích số ℤn=p.q khó giải [2] Tính: n = p q và: φ(n) = (p - 1).(q - 1) [3] Chọn p1, q1 số nguyên tố thỏa mãn: p1|(p-1), q1|(q-1) và: p1∤(q-1), q1∤(p-1) [4] Tính: m = p1 q1 [5] Chọn g phần tử sinh nhóm ℤn* có bậc m (ordg = m), tính theo: g (n) m mod n thỏa mãn: gcd g , n , với: 1, n [6] Chọn khóa cơng khai yca khoảng (1, φ(n)) gcd (yca , φ(n)) = [7] Tính khóa bí mật xca theo: xca yca 1 mod (n) [8] Chọn hash function H: 0,1 Zh , với: h < n 2.2 Thuật tốn hình thành khóa đối tượng ký Thuật tốn 2.2: Hình thành khóa U = {Ui| i=1,2,.,N} Input: n, g, KS = {xi| i = 1,2,…,N} Output: KP = {yi| i = 1, 2, ,N} [1] for i = to N [1.1] yi g xi mod n [1.2] K p [i ] y i [2] return KP 2.3 Thuật tốn hình thành chữ ký Thuật tốn 2.3: Hình thành chữ ký tập thể Input: M, n, m, KS = {xi| i = 1, 2, ,N}, KP = {yi| i = 1, 2, ,N} Output: (E,S) - chữ ký U lên M [1] for i = to N [1.1] k i H ( xi || M ) 94 CHỮ KÝ SỐ - MÔ HÌNH ỨNG DỤNG VÀ THUẬT TỐN [1.2] ri g ki mod n [1.3] send ri to CA [2] r ← 1; for i = to N r r ri mod n [3] kca H ( xca || M ) , rca g kca mod n [4] r r rca mod n [5] E H ( M || r ) , send E to {U1, U2, , Ui, , UN}; [6] for i = to N [6.1] Si ki xi E mod n [6.2] send Si to CA [7] Su ← 0; for i = to N [7.1] if ( ri g s y i E mod n ) then {return (0,0)} i [7.2] S u S u S i [8] S xca kca Su mod m [9] return (E,S); Chú thích: + Các bước [1], [6] thực đối tượng ký + Các bước [2], [3], [4], [5], [7], [8] [9] thực CA 2.4 Thuật toán kiểm tra chữ ký Thuật toán 2.4: Kiểm tra chữ ký tập thể Input: g, n, yca, KP={yi| i =1,2, ,N}, M, (E,S) Output: (E,S) = true / false [1] if ( E = or S = 0) then {return false} [2] y ← 1; for i = to N y y yi mod p [3] v g S y y E mod n ca [4] E H ( M || v ) [5] if ( E E ) then {return true} else {return false} 2.5 Tính đắn lược đồ chữ ký tập thể Với tham số khóa hình thành thuật tốn 2.1 2.2, chữ ký tập thể (E, S) sinh thuật toán ký 2.3, giá trị E tạo thuật tốn kiểm tra 2.4 điều cần chứng minh E E Thật vậy, theo thuật tốn 2.1, 2.2 2.3 ta có: N N , y yi mod n r ri mod n mod n i 1 i 1 Nên: u S ca mod n s xca mod n y N yca mod n s xca yca mod n s si mod m i 1 N và: s s mod m i i 1 Phạm Văn Hiệp, Lưu Hồng Dũng 95 Và: E x k ca N k i xi E mod m y ca N y i mod n mod n v g S y ca y E mod n g i 1 i 1 N N N N ki E xi ki E xi N g k ca g i 1 g i 1 g i 1 mod n g k ca g i 1 mod n g k ca g k i mod n mod n i 1 N rca ri mod n mod n r i 1 Từ suy ra: E H ( M || v ) mod m H ( M || r ) mod m E 2.6 Tính an tồn lược đồ chữ ký tập thể Mức độ an toàn lược đồ chữ ký tập thể thiết lập dựa mức độ an toàn lược đồ sở đề xuất mục Do vậy, mức độ an toàn định mức độ khó toán IFP DLP tương tự lược đồ đề xuất Điều cần ý lược đồ chữ ký tập thể tiềm ẩn nguy công giả mạo chữ ký thành viên nhóm ký q trình hình thành chữ ký tập thể Do vậy, việc CA kiểm tra tính xác thực thành viên nhóm ký bước [7.1] thuật toán 2.3 cần thiết IV KẾT LUẬN Bài báo đề xuất mơ hình ứng dụng chữ k ý số gọi mơ hình chữ ký số tập thể áp dụng cho đối tượng quan, đơn vị, doanh nghiệp, nhằm đảm bảo cho việc chứng thực thông điệp liệu thủ tục hành điện tử hồn tồn phù hợp với thủ tục hành thực tế xã hội Theo mơ hình đề xuất, thông điệp liệu điện tử chứng thực nguồn gốc tính tồn vẹn hai cấp độ khác nhau: thực thể tạo thông điệp liệu cần chứng thực tổ chức mà thực thể tạo thành viên hay phận tổ chức Bài báo đề xuất xây dựng lược đồ chữ k ý số theo mô hình ứng dụng Lược đồ đề xuất phát triển từ dạng lược đồ chữ ký số xây dựng dựa tính khó việc giải đồng thời hai tốn phân tích số logarit rời rạc vành Zn Tính đắn mức độ an toàn lược đồ đề xuất chứng minh cho thấy khả ứng dụng thực tế V TÀI LIỆU THAM KHẢO [1] Adams C., Understanding Public Key Infrastructures, New Riders Publishing, Indianapolis, 1999 [2] Housley R., Polk W., Ford W and Solo D., Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, RFC 3280, 2002 [3] Fegghi, J (1999), Digital Certificates and Applied Internet Security, Addison-Wesley Longman Inc [4] 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 [5] ElGamal T (1985), “A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory, Vol IT-31, No 4, pp 469-472 DIGITAL SIGNATURE - MODEL AND ALGORITHM Pham Van Hiep, Luu Hong Dung ABSTRACT: This paper proposes a suitable digital signature application model for government agencies, administrative units, enterprises, etc., where data messages need to be authenticated Origin and integrity at two levels: entity sign and organization (agency, unit, ) that the entity signing is its member At the same time, the paper also suggests digital signature schemes based on this application model The proposed new scheme was developed from a digital signature scheme formulated based on the difficulty of simultaneous solving integer factorization and discrete logarithm problem Keywords: Digital signature; Collective signature; Digital signature schemes; Digital signature algorithm ... 90 CHỮ KÝ SỐ - MƠ HÌNH ỨNG DỤNG VÀ THUẬT TỐN Chữ ký cá nhân hình thành từ khóa bí mật thực thể ký (một số đối tượng ký) thông điệp liệu cần ký theo chế Hình sau: Khóa bí mật thực thể ký (x1,x2,…,xn)... thể Hình Khóa bí mật CA (xCA) Chữ ký cá nhân thực thể ký SU Thông điệp liệu cần ký (M) Thuật toán ký f(M; SU; xCA) Chữ ký tập thể S = f(M; SU; x ) CA Hình Cơ chế hình thành chữ ký tập thể 90 CHỮ... trọng thuật tốn hình thành chữ ký tập thể nhằm chống lại số dạng công giả mạo từ bên hệ thống Mục xây dựng lược đồ chữ ký phù hợp theo mơ hình chữ ký tập thể đề xuất III THUẬT TOÁN CHỮ KÝ SỐ TẬP