Chữ ký số được biểu diễn dưới dạng một chuỗi số nhị phân. Nó được tạo ra trên cơ sở sử dụng tập hợp các quy tắc và tập hợp các tham số để xác định danh tính người gửi (người ký) cũng như kiểm tra tính toàn vẹn của dữ liệu. Phương tiện cơ bản để thực hiện chữ ký số là kỹ thuật mật mã.
Mỗi chữ ký số được thể hiện trên một lược đồ xác định, gọi là lược đồ chữ ký số. Lược đồ này bao gồm ba thành tố: thuật toán chữ ký số, thuật toán hàm băm và thuật toán tạo số giả ngẫu nhiên. Thuật toán chữ ký số gồm thuật toán ký và thuật toán kiểm tra. Người gửi sử dụng thuật toán ký và khóa bí mật để tạo ra chữ ký số, người nhận (người kiểm tra) sử dụng thuật toán kiểm tra và khóa công khai tương ứng để kiểm tra đồng thời tính chân thực của thông điệp dữ liệu và tính chân thực của chữ ký số do người gửi tạo ra. Mỗi người sở hữu một cặp khóa bao gồm khoá công khai (giả thiết là được công bố một cách công khai) và khoá bí mật (được giữ bí mật tuyệt đối). Bất kỳ ai cũng có thể kiểm tra chữ ký số của một người nào đó bằng cách sử dụng khóa công khai của người này. Quá trình tạo chữ ký số chỉ có thể được thực hiện bởi người sở hữu khoá bí mật.
Thuật toán hàm băm là biến đổi toán học dùng để thu gọn văn bản ban đầu (còn gọi là thông điệp dữ liệu) nhằm tạo ra bản tóm lược của thông điệp. Bản tóm lược này sẽ là đầu vào của thuật toán tạo chữ ký số. Chữ ký số được đính kèm với thông điệp dữ liệu đã được ký. Trong quá trình kiểm tra chữ ký số, thuật toán hàm băm cũng được áp dụng như trong quá trình tạo chữ ký. Thuật toán tạo số giả ngẫu nhiên dùng để tạo ra các số giả ngẫu nhiên (độc lập, đồng xác suất) làm tham số trong lược đồ chữ ký số.
Chữ ký số là một chuỗi số, kết quả của phép biến đổi mật mã trên thông điệp dữliệu nhằm cung cấp một phuơng tiện để kiểm tra tính xác thực của nguồn gốc thông điệp dữ liệu, tính toàn vẹn của dữ liệu và tính không thể chối bỏ của người đã ký.
Có hai loại lược đồ chữ ký số phổ biến đó là: lược đồ chữ ký số kèm thông điệp và lược đồ chữ ký số có khôi phục thông điệp. Trong phạm vi của tiêu chuẩn này, ta chỉ đềcập đến các cơ chế sử dụng việc phân tích số nguyên của lược đồ chữ ký số có khôi phục thông điệp.
Để biểu diễn một số nguyên không âm x dưới dạng một xâu bit có độ dài bằng l (I phải thỏa mãn 2I > x), số nguyên sẽ được viết lại dưới dạng biểu thức nhị phân duy nhất: 𝑥 = 2𝑙−1𝑥𝑙−1 + 2𝑙−2𝑥𝑙−2 + ⋯ + 2𝑥1 + 𝑥0
Trong đó 0 ≤ 𝑥𝑖 ≤ 2 (lưu ý rằng một hoặc vài chữ số đầu có thể bằng 0 nếu x < 2𝑙−1. Xâu bit sẽ là 𝑥𝑙−1𝑥𝑙−2…𝑥0.
Để biểu diễn một xâu bit 𝑥𝑙−1𝑥𝑙−2…𝑥0 (có độ dài l) thành một số nguyên x, quá trình đảo ngược sẽ như sau, x sẽ là số nguyên được định nghĩa bởi công thức 𝑥 = 2𝑙−1𝑥𝑙−1 + 2𝑙−2𝑥𝑙−2 + ⋯ + 2𝑥1 + 𝑥0.
Người sử dụng tiêu chuẩn này, nếu có thể, được khuyến nghị áp dụng cơ chế thứ hai (Lược đồ chữ ký số 2). Tuy nhiên, trong các môi trường mà việc tạo ra các biến ngẫu nhiên bởi người ký được coi là không khả thi, thì Lược đồ chữ ký số 3 được khuyến nghị sử dụng.
Người sử dụng muốn dùng cơ chế chữ ký số theo tiêu chuẩn này phải đảm bảo các thuộc tính sau đây được thỏa mãn:
a) Thông điệp M để ký là một chuỗi nhị phân có độ dài bất kỳ, có thể rỗng.
b) Hàm ký sử dụng khóa chữ ký bí mật, trong khi hàm xác thực sử dụng khóa xác thực công khai tương ứng.
− Mỗi thực thể ký sẽ sử dụng và giữ bí mật khóa chữ ký bí mật của mình tương ứng với khóa xác thực công khai.
− Mỗi thực thể xác thực phải biết khóa xác thực công khai của thực thể ký.
c) Việc sử dụng các lược đồ chữ ký được quy định trong tiêu chuẩn này đòi hỏi phải lựa chọn một hàm băm kháng va chạm h. Hàm băm được tiêu chuẩn hóa theo TCVN 11816. Sẽ có một ràng buộc giữa cơ chế ký và hàm băm trong khi sử dụng. Nếu không có ràng buộc này, kẻ tấn công có thể yêu cầu sử dụng một hàm băm yếu (chứ không phải là một hàm băm thực) và từ đó giả mạo chữ ký.
Người sử dụng một cơ chế chữ ký số cần tiến hành một đánh giá rủi ro xem xét chi phí và lợi ích của các phương tiện thay thế khác nhau để đạt được điều kiện bắt buộc. Đánh giá này phải bao gồm một đánh giá về chi phí kết hợp với khả năng có một chữ ký giả mạo đang được sản xuất.
d) Bên xác thực chữ ký sẽ luôn luôn có một phương thức độc lập an toàn để xác định lược đồ nào trong ba lược đồ chữ ký được quy định trong tiêu chuẩn này đã được sử dụng để tạo ra chữ ký. Ngoài ra, nếu sử dụng Lược đồ chữ ký số 2 hoặc 3, bên xác thực chữ ký cũng phải có phương thức để xác định hàm tạo chữ ký nào trong hai hàm tạo chữ ký trong Phụ lục B của TCVN 12855-2:2020 đã được sử dụng. Điều này có thể thu được bằng cách quy định cơ chế và hàm tạo chữ ký trong ‘các tham số miền’ đã được đồng ý hoặc bằng cách đưa ra một mã nhận dạng rõ ràng cho lược đồ chữ ký và hàm tạo chữ ký trong chứng thư khóa công khai của người ký. Hàm tạo chữ ký cũng có thể được quy định trong một mã nhận dạng thuật toán liên kết với dữ liệu đã được ký.
e) Mỗi lược đồ chữ ký số được quy định trong tiêu chuẩn này đều có các tùy chọn cụ thể, phạm vi tùy chọn có thể của người ký phải được biết đến bởi bên xác thực bằng một phương thức độc lập an toàn. Các tùy chọn này bao gồm:
− Đối với tất cả ba lược đồ chữ ký số, bên xác thực phải biết xem trường trailer tùychọn 1 hoặc 2 có đang làm việc hay không.
− Đối với lược đồ chữ ký số 2 và 3, bên xác thực phải biết Ls, độ dài của salt S.
Ví dụ, điều này có thể thu được bằng cách quy định lựa chọn tùy chọn trong “các tham số miền” hoặc bao gồm thông tin tùy chọn trong chứng thư khóa công khai của người ký.
Mô hình cho một lược đồ chữ ký cho khôi phục thông điệp được trình bày ở đây áp dụng cho cả ba lược đồ được giới thiệu trong tiêu chuẩn. Khi được áp dụng cho một thông điệp M, một lược đồ chữ ký kiểu này có thể cung cấp khôi phục hoặc toàn bộ hoặc một phần thông điệp.
− Nếu M là đủ ngắn, thì có thể khôi phục toàn bộ thông điệp vì có thể M được bao gồm toàn bộ trong chữ ký.
− Nếu M quá dài, thì có thể phục hồi thông điệp sẽ một phần. Trong trường hợp này, M sẽ được chia thành phần thể khôi phục được, một xâu bit có độ dài giới hạn được bao gồm trong chữ ký, và phần không thể khôi phục được, một xâu các xâu bộ tám có độ dài bất kỳ được lưu trữ và/hoặc được truyền cùng với chữ ký.
Mô hình được chia thành ba phần: đặc tả thủ tục ký thông điệp, đặc tả thủ tục xác thực chữ ký và chi tiết của các khía cạnh bổ sung của ký và xác thực cần được định nghĩa để hoàn chỉnh đặc tả của một lược đồ chữ ký.
Ký thông điệp
▪ Chuẩn bị ký
- Cho một thông điệp M được ký, cần phải thực hiện ba bước để tạo ra một chữ ký trên M, cụ thể là phân bổ thông điệp, tạo xâu có thể khôi phục được và tạo chữ ký.
- Phân bổ thông điệp bao gồm quá trình trong đó thông điệp được chia thành hai phần: phần có thể khôi phục được M1 và phần không thể khôi phục M2 (có thể rỗng). Độ dài của phần có thể khôi phục được được giới hạn trên bằng năng lực c của lược đồ chữ ký, một giá trị được xác định bởi việc lựa chọn lược đồ chữ ký và khóa của lược đồ. Phần có thể khôi phục sẽ được khôi phục từ chữ ký trong quá trình xác thực, trong khi phần không thể khôi phục phải được cung cấp cho bên xác thực bằng các phương thức khác (ví dụ nó có thể được gửi hoặc lưu trữ với chữ ký). Do đó, nếu thông điệp đủ ngắn, toàn bộ thông điệp có thể được phân bổ vào phần có thể khôi phục được và phần không thể khôi phục được sẽ là rỗng.
- Tạo giá trị đại diện của thông điệp lấy đầu vào là hai phần này của thông điệp và đầu ra là một xâu có định dạng, được gọi là giá trị đại diện của thông điệp, là đầu vào cho bước tạo chữ ký.
- Tạo chữ ký lấy đầu vào là giá trị đại diện của thông điệp và khóa chữ ký bí mật và đầu ra là chữ ký Σ. Quá trình này được thực hiện bằng cách sử dụng một hệ thống khoá công khai.
▪ Phân bổ thông điệp
Sự lựa chọn lược đồ chữ ký và khóa cho lược đồ xác định năng lực c của chữ ký, trong đó c phải thỏa mãn c ≥ 7. Thông điệp M cần được ký sẽ được chia thành hai phần, M1 và M2 như sau:
Một độ dài thông điệp có thể khôi phục được c* sẽ được lựa chọn, trong đó 𝑐∗ ≤ 𝑐, 𝑐∗ ≤ |𝑀| và 𝑐∗ ≡ |𝑀| (𝑚𝑜𝑑 8) . Đối với Lược đồ chữ ký 1, c* sẽ được thiết lập bằng với giá trị nhỏ nhất của c - ∆ và |M|, trong đó ∆= (𝑐 − |𝑀|)𝑚𝑜𝑑 8.
− Nếu |M| = c* thì toàn bộ thông điệp sẽ có thể khôi phục được, có nghĩa là M1 =M và M2 sẽ là rỗng.
− Nếu |M| > c* thì M1 sẽ được thiết lập bằng với c* bit bên trái nhất của M, và M2 sẽ được thiết lập bằng với phần còn lại của M, có nghĩa là M2 chứa |M|-c* bit.
Trong cả hai trường hợp, 𝑀 = 𝑀1||𝑀2.
▪ Tạo giá trị đại diện của thông điệp
Bước này sẽ lấy đầu vào là phần có thể khôi phục và phần không thể khôi phục của thông điệp, M1 và M2, và đầu ra là giá trị đại diện của thông điệp F. Điều này sẽ đạt được bằng cách sử dụng một trong các phương pháp được quy định tại các điều 8, 9 và 10 trong tiêu chuẩn này. Các phương pháp này yêu cầu phải sử dụng hàm băm h, và trong trường hợp các cơ chế thứ hai và thứ ba, một hàm tạo mặt nạ g cũng sử dụng h. Hàm băm h được sử dụng sẽ được lựa chọn trong các hàm băm đã được tiêu chuẩn hóa theo ISO / IEC 10118; hàm tạo mặt nạ g sẽ được thiết lập bằng hàm được quy định tại Phụ lục C trong tiêu chuẩn này.
▪ Tạo chữ ký
Bước này lấy đầu vào là giá trị đại diện của thông điệp và khóa chữ ký bí mật và đầu ra là chữ ký Σ. Điều này sẽ đạt được bằng cách sử dụng hệ thống khoá công khai được quy định trong Phụ lục B trong tiêu chuẩn này.
Xác thực chữ ký
▪ Giới thiệu
Một thông điệp đã được ký bao gồm hoặc chữ ký Σ trong trường hợp khôi phục toàn bộ hoặc phần không thể khôi phục được của thông điệp M2* cùng với chữ ký Σ trong trường hợp khôi phục một phần. Một chữ ký sẽ được chấp nhận khi và chỉ khi quá trình xác thực thành công.
Cho chữ ký Σ và phần thông không thể khôi phục được M2*, cần phải thực hiện ba bước sau đây để xác thực Σ và khôi phục M*, cụ thể là mở chữ ký, khôi phục thông điệp và lắp ghép thông điệp.
− Mở chữ ký lấy đầu vào là chữ ký Σ và khóa xác thực công khai và đầu ra là một giá trị đại diện của thông điệp đã được khôi phục F* hoặc trả về báo hiệu việc xác thực đã bị lỗi. Quá trình này được thực hiện bằng cách sử dụng một hệ thống khóa công khai.
− Khôi phục thông điệp lấy đầu vào là giá trị đại diện của thông điệp đã được khôi phục F* và phần không thể khôi phục của thông điệp M2*, và đầu ra là phần có thể khôi phục (đã được khôi phục) của thông điệp M1* hoặc trả về báo hiệu việc xác thực đã bị lỗi.
− Lắp ghép thông điệp là quá trình mà thông điệp đã được phục hồi M* được khôi phục từ phần có thể khôi phục (đã được khôi phục) M1* và phần không thể khôi phục M2* (có thể rỗng).
▪ Mở chữ ký
Bước này lấy đầu vào là chữ ký Σ và khóa xác thực công khai và đầu ra hoặc là một giá trị đại diện của thông điệp đã được khôi phục F* hoặc là trả về báo hiệu việc xác thực đã bị lỗi. Điều này sẽ đạt được bằng cách sử dụng hệ thống khoá công khai được quy định trong Phụ lục B của tiêu chuẩn này.
▪ Khôi phục thông điệp
Bước này lấy đầu vào là giá trị đại diện của thông điệp đã được khôi phục F* và phần không thể khôi phục của thông điệp M2*, và đầu ra là phần có thể khôi phục (đã được khôi phục) của thông điệp M1* hoặc trả về báo hiệu việc xác thực đã bị lỗi. Điều này sẽ đạt được bằng cách sử dụng một trong các phương pháp được quy định tại các điều 8, 9 và 10 trong tiêu chuẩn này. Các phương pháp này yêu cầu phải sử dụng hàm băm, và trong trường hợp các cơ chế thứ hai và thứ ba, là một hàm tạo mặt nạ. Hàm băm được sửdụng sẽ được lựa chọn trong các hàm băm đã được tiêu chuẩn hóa theo ISO / IEC 10118; hàm tạo mặt nạ sẽ được thiết lập bằng hàm được quy định tại Phụ lục C trong tiêu chuẩn này.
▪ Lắp ghép thông điệp
Lắp ghép thông điệp là quá trình mà thông điệp đã được phục hồi M* được khôi phục từ phần có thể khôi phục (đã được khôi phục) M1* và phần không thể khôi phục M2* (có thể rỗng). Có nghĩa là, thông điệp M* được ghép lại với nhau bằng 𝑀∗ = 𝑀1∗||𝑀2∗.
QUY ĐỊNH LƯỢC ĐỒ CHỮ KÝ
a) Các bước phân bổ thông điệp và lắp ghép thông điệp được định nghĩa duy nhất trong tiêu chuẩn này.
b) Phải chọn một trong ba tùy chọn trong các bước tạo giá trị đại diện của thông điệp và khôi phục thông điệp. Bất kỳ lựa chọn nào trong ba lựa chọn này được chọn, một hàm băm cũng phải được chọn trong các hàm băm đã được tiêu chuẩn hóa theo ISO / IEC 10118 tùy thuộc vào điều kiện rằng mã băm đầu ra sẽ chứa ít nhất 160 bit. Trong hai trong số ba trường hợp, một hàm tạo mặt nạ được yêu cầu thêm, và hàm được sử dụng được định nghĩa trong Phụ lục C trong tiêu chuẩn này.
c) Các bước tạo chữ ký và mở chữ ký được định nghĩa duy nhất trong Phụ lục B trong tiêu chuẩn này, sự lựa chọn của khoá chữ ký bí mật được sử dụng trong quá trình tạo chữ ký, và trong trường hợp Lược đồ chữ ký 2 và 3 với số mũ lẻ, sự lựa chọn giữa chữký cơ sở và thay thế và các hàm xác thực. Phương pháp được sử dụng để tạo ra các cặp khóa chữ ký bí mật và khóa xác thực công khai được định nghĩa trong Phụ lục B trong tiêu chuẩn này.
KẾT LUẬN
Bài viết đã giới thiệu tóm tắt về mô hình lược đồ chữ ký số khôi phục thông điệp dựa trên cơ chế phân tích số nguyên quy định tại TCVN 12855-2:2020. Tiêu chuẩn TCVN 12855-2:2020 quy định ba lược đồ chữ ký số cho khôi phục thông điệp, hai trong số đó là tất định (không ngẫu nhiên) và một là ngẫu nhiên. Sự an toàn của cả ba lược đồ đều dựa trên độ phức tạp của việc phân tích các số nguyên lớn.
Tất cả ba lược đồ đều có thể cung cấp sự khôi phục toàn bộ hoặc một phần thông điệp. TCVN 12855-2:2020 quy định phương pháp sản xuất khóa cho ba lược đồ chữ ký. Tuy nhiên, các kỹ thuật quản lý khóa và tạo số ngẫu nhiên (theo yêu cầu của lược đồ chữ ký ngẫu nhiên) nằm ngoài phạm vi của tiêu chuẩn này. Chi tiết về ba cơ chế chữ ký xem thêm tại TCVN 12855-2:2020.
Hồ Văn Hương, Cục trưởng Cục Mật mã dân sự và Kiểm định sản phẩm mật mã
09:00 | 01/04/2024
16:00 | 04/07/2024
14:00 | 24/10/2024
10:00 | 08/04/2024
08:00 | 17/06/2024
Trong thời đại số hiện nay, khi mà cuộc sống của hàng tỷ người trên thế giới ngày càng phụ thuộc vào Internet, khối lượng thông tin cá nhân mà mỗi người lưu trữ trên không gian mạng cũng ngày một lớn thì việc bảo vệ dữ liệu cá nhân trở thành yêu cầu tất yếu của nền kinh tế số toàn cầu.
08:00 | 23/02/2024
Chiều ngày 22/02, tại Hà Nội, Ban Cơ yếu Chính phủ tổ chức Hội nghị Ban Soạn thảo Nghị định quy định về chữ ký số chuyên dùng công vụ. Đồng chí Vũ Ngọc Thiềm, Trưởng ban Ban Cơ yếu Chính phủ, Trưởng Ban Soạn thảo chủ trì Hội nghị.
14:00 | 14/12/2023
Sự kiện mua sắm Black Friday hàng năm đã tạo ra “cơn sốt” mua sắm giảm giá với nhiều ưu đãi lớn dành cho người tiêu dùng, vào năm nay đã chứng kiến sự phát triển chưa từng có trong các hoạt động thương mại điện tử và mua sắm trực tuyến. Sự gia tăng giao dịch trực tuyến vào sự kiện này đã tạo tiền đề cho các mối đe dọa mạng, nơi những kẻ tấn công lợi dụng sở thích mua sắm trực tuyến của người dùng để tiến hành các hành vi độc hại. Bài báo này sẽ đưa ra thống kê và đánh giá các mối đe dọa mạng trong chuỗi sự kiện Black Friday vừa qua dựa trên báo cáo phân tích của hãng bảo mật Kaspersky và Bitdefender, trong đó nhấn mạnh các cuộc tấn công lừa đảo trực tuyến và email spam.
19:00 | 25/08/2023
Sáng 23/8, Đoàn Công tác của Ban Cơ yếu Chính phủ do đồng chí Hoàng Văn Thủy, Phó Cục trưởng Cục Chứng thực số và bảo mật thông tin làm trưởng đoàn đã tới kiểm tra về tình hình sử dụng chữ ký số chuyên dùng Chính phủ trong hoạt động của cơ quan Nhà nước tại Yên Bái.
Chiều 2/10, Thủ tướng Phạm Minh Chính, Chủ tịch Ủy ban Quốc gia về chuyển đổi số, chủ trì Hội nghị trực tuyến triển khai mở rộng thí điểm sổ sức khỏe điện tử và cấp phiếu lý lịch tư pháp qua ứng dụng VneID trên toàn quốc. Hội nghị được kết nối trực tuyến (4 cấp) từ trụ sở Chính phủ tới các bộ, ngành, các tỉnh, thành phố trực thuộc Trung ương, các địa phương cấp huyện, cấp xã.
15:00 | 03/10/2024
Theo Bộ trưởng Bộ Thông tin và Truyền thông Nguyễn Mạnh Hùng, với cách tiếp cận bứt phá, việc phổ cập chữ ký số tại Việt Nam cho 100% người dân trưởng thành Việt Nam vào năm 2025 là khả thi. Đây cũng là mục tiêu, nhiệm vụ mà Bộ trưởng Bộ Thông tin và Truyền thông giao cho Trung tâm Chứng thực điện tử Quốc gia, các doanh nghiệp và Hiệp hội ngành Thông tin và Truyền thông.
14:00 | 24/10/2024