Một dạng lược đồ chữ ký số tổng quát
Từ khi ra đời đến nay thuật toán RSA [1]
được sử dụng rộng rãi trên thế giới với mục đích
bảo mật tối đa một văn bản được gửi đi. Sự mở
rộng và phát triển thuật toán này cho việc xác thực
một văn bản đã được hưởng ứng và thực hiện mạnh
mẽ trong nước và trên thế giới những năm gần đây
[2,3,.,17 ]. Hàng loạt các cơ quan xác thực ra đời
để cung cấp các chữ ký số cho các khách hàng khác
nhau.
Thuật toán RSA về mặt toán học là rất chặt
chẽ và chính xác, do đó, nó có tính bảo mật cao.
Tính bảo mật của thuật toán RSA dựa vào tính khó
của bài toán phân tích số và bài toán khai căn theo
modulo. Do vậy, khi phát triển thuật toán này cho
việc gửi các văn bản lớn bắt buộc phải thay đổi một
số trật tự trong thuật toán cũng như các phương
pháp tạo ra chữ ký. Về mặt hình thức thì một lược
đồ chữ ký số áp dụng cho việc xác thực văn bản có
các bước cơ bản sau đây:
- Lựa chọn các tham số: các khoá bí mật và
các khoá công khai.
- Hình thành chữ ký – ký lên văn bản.
- Kiểm tra chữ ký – xác thực chữ ký.
Tất cả các lược đồ được đề xuất gần đây cơ
bản vẫn duy trì theo các bước trên chỉ khác nhau
về phương pháp ký và tất nhiên là khác nhau cả
phương pháp kiểm tra. Một lược đồ mới để xuất đều
phải có phương pháp ký mới và phương pháp kiểm
tra tương thích. Bản chất của một lược đồ chữ ký số
là người nhận văn bản sử dụng các khoá công khai
để kiểm tra tính xác thực của văn bản, tức là, kiểm
tra nội dung văn bản có bị thay đổi không và văn
bản có đến từ người gửi chữ ký không?.
Trong bài viết này, chúng tôi đưa ra một lược
đồ mới tổng quát bằng cách sử dụng một số hàm
nguyên để hình thành chữ ký nhưng vẫn đảm bảo
được tính xác thực của chữ ký số. Từ lược đồ tổng
quát này, bằng cách tuỳ biến các hàm nguyên ta có
thể thu được nhiều lược đồ cụ thể theo mong muốn
của người dùng. Ngoài ra, bài viết còn đề cập đến
các khía cạnh toán học của các vấn đề đặt ra có ảnh
hưởng đến quá trình tạo các khoá, chữ kí và quá
trình kiểm tra tính xác thực của chữ ký.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Tóm tắt nội dung tài liệu: Một dạng lược đồ chữ ký số tổng quát
’ được m’ và nếu m = m’ thì kết luận chắc vẹn của văn bản gửi đi và nguồn gốc của văn bản chắn văn bản nhận được toàn vẹn không bị thay đổi đó. Ta cần nhấn mạnh rằng, khác với chữ ký RSA, nội dung, còn nếu mm' ! thì chắc chắn nội dung ở đây và các lược đồ chữ ký số lên văn bản nói văn bản đã bị thay đổi. chung chỉ xác thực tính toàn vẹn và nguồn gốc văn 2) Giá trị k cũng được chọn giống như t bản chứ không đảm bảo được tính toàn vẹn của văn trong thuật toán sinh các khoá và không loại trừ khả bản. Chính yêu cầu bắt buộc này đối với các loại năng chúng bằng nhau. Điều này luôn xảy ra với Khoa học & Công nghệ - Số 17/Tháng 3 - 2018 Journal of Science and Technology 75 ISSN 2354-0575 cùng z()n vì phương pháp chung chọn các số này 3. Tính đúng đắn của lược đồ là như nhau và đều kiểm tra từ số bế nhất, do đó các Tính đúng đắn của lược đồ được chứng số chọn được là như nhau. minh bằng khẳng định u = v khi bản tin cần thẩm 3) Văn bản M và chữ ký r, s được gửi cho B. tra không bị thay đổi nội dung và chữ ký tương ứng Trước khi gửi đi, có thể M được mã hoá bằng một không bị giả mạo. Ngược lại, nếu 1 trong 2 điều thuật toán mã hoá thoả thuận trước với B. kiện đó hoặc cả 2 không thoả mãn, nghĩa là bản tin 4) Việc tính các giá trị r, s cũng giống như bị sửa đổi nội dung, hoặc chữ ký bị giả mạo hay cả tính y cùng một thuật toán bình phương và nhân. 2 cùng xảy ra thì u ≠ v. Trong đó u, v được tính trong thuật toán kiểm tra chữ ký. Ta cần phải nhấn mạnh 2.3. Thuật toán kiểm tra chữ ký rằng, tính đúng đắn của thuật toán chỉ xảy ra khi Ý nghĩa chính của chữ ký số điện tử được người nhận nhận đúng văn bản M và đúng chữ ký thể hiện chính trong thuật toán kiểm tra chữ ký, tức lên văn bản này. Như vậy, nếu nhận sai chữ ký hay là, sau khi nhận được chữ ký số (cặp các số r, s) nhận sai văn bản hay cả hai thì tính đúng đắn không và văn bản M’, người nhận tiến hành băm lại văn xảy ra hay không xác thực được tính toàn vẹn của bản nhận được và thu được một số m’ nào đó, và văn bản cũng như nguồn gốc của văn bản đó. nếu nhận đúng văn bản gốc thì ta phải có m’ = m, Giả sử m là giá trị văn bản gửi đi, m’ là giá trong đó, m là giá trị băm của văn bản gốc M. Do trị văn bản nhận được và vậy, nếu hai giá trị băm bằng nhau thì nội dung văn ur= fr2(,m') mod;n (4) bản không bị thay đổi. Nhưng người nhận không vs= tf.myn3(,rm') od , biết m mà chỉ nhận được chữ ký liên hệ chặt chẽ `j với m và không thể tính được m từ chữ ký. Do đó, trong đó, r, s là các chữ ký nhận được và được tính lược đồ tổng quát đề xuất ở đây cho phép ta thông theo các công thức (2)-(3), t, y là các khoá công qua chữ ký (tất nhiên là với giả thiết nhận đúng chữ khai, f2, f3 là các hàm đã biết như trong thuật toán ký!) và bằng các phép biến đổi (chủ yếu là phép hình thành chữ kí. Ta phải chứng minh rằng: nếu u nâng lên luỹ thừa trong modulo n) mà có thể suy ra = v thì m = m’ và ngược lại, nếu u ≠ v thì m ≠ m’. được các giá trị m và m’ có bằng nhau hay không. Chứng minh. Giả sử u = v. Vậy ta có fr(,mt') fr(,m') Và chỉ khi kết luận được hai giá trị này bằng nhau rn23mod.= sy mod.n (5) thì có thể kết luận người nhận nhận đúng văn bản `j Từ các công thức (1)-(3) ta được và đúng người gửi, tức là, tính toàn vẹn và tính xác tf(.ff--).tf.ff thực của văn bản được đảm bảo. Sự liên quan đến sx==12 31modmny23 od n . m là sự liên quan ẩn dưới các chữ ký, bởi vì các chữ vy==ff12--ff33.myn(,rm') o.d yyff12 fr33(,mf') mod.n ký hình thành từ m và các hàm bổ trợ. Người nhận ur==fr21(,mf') modmny.(fr2 ,'m ) od n . dùng khoá công khai y để giải mã, tức là, để kiểm tra. Thuật toán kiểm tra bao gồm các bước sau đây: Do đó, nếu u = v thì ta phải có 10. Tính m’ = H(M’). yyff12.mfr33(,mf')- / ynff12.(rm,') od , 20. Tính các giá trị hay - ur= fr2(,m') mod;n yyff12.mfr33(,mf') / ynff12.(rm,') od , ff((rm,'))--fffr(,m') vs= tf.myn3(,rm') od . 1 / yy12 23.m3 od n . `j 30. Kiểm tra u = v? Đẳng thức cuối cùng trên đây có thể xảy ra - Nếu đẳng thức đúng thì kết luận nhận không phải với mọi hàm f2, f3. Tuy nhiên, nếu các được văn bản đúng và đúng người gửi. phương trình - Nếu đẳng thức sai thì không xác thực fr22(,mh),==rhconstc, 2 = onst; được văn bản nhận được: văn bản nhận được sai fr33(,mh),==rhconstc, 3 = onst hoặc nhận được không phải từ người gửi chính có nghiệm duy nhất m thì từ đẳng thức trên suy ra thức, tức là, nhận được chữ ký giả mạo. m = m’. Chú ý: Vậy, nếu các hàm f2, f3 là các đơn ánh theo 1) Người nhận tính được các giá trị u, v nhờ m thì từ điều kiện u = v suy ra m = m’. Ngược lại, biết các khoá y, t, các giá trị r, s, các hàm f2, f3 cũng nếu u ≠ v và các hàm f2, f3 vẫn là các đơn ánh thì suy như giá trị băm m’ của văn bản M’ nhận được tính theo luận tương tự ta được m ≠ m’. cùng một hàm băm thoả thuận trước với người gửi. Từ đây ta thấy, nếu các hàm f2, f3 là đơn 2) Các giá trị u, v được tính theo thuật toán ánh thì để kiểm tra tính xác thực của văn bản nhận bình phương và nhân áp dụng cho phép mũ modulo n. được ta chỉ việc tính các giá trị fr23(,mf''), (,rm) 76 Khoa học & Công nghệ - Số 17/Tháng 3 - 2018 Journal of Science and Technology ISSN 2354-0575 và so sánh chúng tương ứng với các giá trị đã có điều thực tế là chặn được chữ ký, chặn được văn fr23(,mf), (,rm) và nếu bản mà chỉ thay đổi chữ ký và không thay đổi văn fr22(,mf)(= rm,'); bản thì kẻ giả mạo chỉ là kẻ phá bĩnh mà thôi. Ta (6) cũng nên nhấn mạnh rằng, kể cả trong tình huống fr33(,mf)(= rm,') này, vai trò tính an toàn của lược đồ không được thì kết luận tính xác thực được đảm bảo. Do đó, thể hiện. thay vì phải tính các giá trị u, v theo các công thức Tình huống cuối cùng: nhận sai cả hai nội (4) ta chỉ cần tính các giá trị fr(,mf''), (,rm) đơn 23 dung. Đây mới là tính huống đáng kể. Kẻ tấn công giản hơn nhiều và nếu thoả mãn các đẳng thức (6) với mục đích giả mạo chữ ký để gửi đi một văn bản thì kết luận mm= ', tức là, tính xác thực được đảm theo ý mình (có lợi cho mình) y như người gửi thật. bảo, nội dung văn bản nhận được không bị thay đổi. Thật vậy, nếu kẻ tấn công chặn được cả hai thứ: chữ ký và văn bản thì chúng hoàn toàn chủ động như 4. Bàn về tính an toàn của lược đồ chữ ký số người ký chính thức, lấy một văn bản khác và thực Tính an toàn của lược đồ thể hiện ở chỗ hiện các bước như trên và gửi lại người gửi. Cái người nhận xác thực được nội dung và nguồn gốc đáng nói là người nhận vẫn xác thực đúng nhưng của văn bản nhận được đồng thời khả năng không không biết mọi thứ đã bị đánh tráo. Như vậy, trong xác thực được là ít xảy ra. Chỉ có như vậy thì một trường hợp này, vai trò tính an toàn của lược đồ vẫn lược đồ chữ ký số mới có ý nghĩa và mới áp dụng không được thể hiện. được cho việc truyền thông tin trên mạng. Ta trao đổi thêm về chữ ký số RSA khi gửi Ta có 4 tình huống sau đây: văn bản (không phải thuật toán RSA). Giả sử cần - Nhận đúng văn bản và đúng chữ ký. trao đổi một văn bản M giữa A và B. Ta xét hai - Nhận đúng chữ ký nhưng sai văn bản. trường hợp: - Nhận sai chữ ký nhưng đúng văn bản. - Sai cả hai. - Trường hợp 1. B tạo các khoá, giữ lại khoá Xét tình huống thứ nhất: nhận đúng văn bản bí mật. A tạo chữ ký từ các khoá công khai và giá và đúng chữ ký. Rõ ràng khi đó hàm kiểm tra văn trị băm m của văn bản M rồi gửi chữ ký và văn bản bản cho ta giá trị TRUE, tức là, văn bản đúng và cho B. B băm văn bản nhận được thành một số m’ đúng người gửi. Ở đây có sự tương ứng như sau: rồi dùng khoá bí mật tính được giá trị m để kiểm tra. người gửi chữ ký và người gửi văn bản là một. Tuy Nếu m = m’ thì tính xác thực đúng đắn: đúng văn nhiên có một câu hỏi như sau: Làm sao biết đúng bản đúng chữ ký. Trong trường hợp này vẫn xảy ra người gửi và đúng văn bản cần nhận? Tức là người bốn tình huống như trình bày trên đây và trong từng nhận có nhận đúng văn bản cần nhận và tới từ người trường hợp thuật toán không đảm bảo được tính bảo gửi văn bản đó không? Có nhiều người gửi đến mật, chỉ đảm bảo được tính xác thực, tức là, nếu người nhận và có thể cùng một văn bản? Làm sao nhận đúng cả hai văn bản và chữ ký thì xác thực phân biệt được ai gửi? Chẵng hạn, một người khác đúng, còn không phải như thế thì xác thực sai. khi chặn được văn bản và chữ ký có thể sử dụng các - Trường hợp thứ 2. Người gửi A tạo các khoá công khai để ký lên một văn bản khác và gửi khoá, dùng khoá bí mật tạo chữ ký và gởi văn bản đi. Khi đó, rõ ràng người nhận hoàn toàn không thể cùng chữ ký cho người nhận B. Người nhận B dùng biết được ai gửi bởi vì kiểm tra vẫn cho TRUE. Như các khoá công khai mở chữ ký để tính m. Sau đó vậy, tính an toàn trong trường hợp này phụ thuộc băm văn bản nhận được theo hàm băm thoả thuận vào mức độ an ninh mạng người dùng. trước m’. Nếu m = m’ thì tính xác thực đúng, tức là Tình huống thứ hai: nhận đúng chữ ký nhưng xác thực được. Ngược lại không xác thực được, văn nhận văn bản sai. Trong trường hợp này rõ ràng là bản không đến từ người gửi. Như vậy, thuật toán chỉ các giá trị u, v khác nhau, tức hàm xác thực False. đảm bảo tính xác thực, còn tính bảo mật thì không. Tuy nhiên người nhận bối rối vì không thể biết được Từ đây ta thấy, vai trò khoá bí mật rất hạn văn bản sai hay chữ ký sai hay cả hai. Trong trường chế. Ở trường hợp 1 chỉ khoá bí mật mới tính được hợp này kẻ tấn công không làm thay đổi chữ ký m nhưng tính được chỉ để xác thực mà thôi. Ở nhưng làm sai văn bản với mục đích phá sự tính trường hợp thứ 2, khoá mật không dùng để mở khoá toàn vẹn của văn bản giao dịch. Do đó, trong trường và như vậy nó không có vai trò trong bảo mật cũng hợp này tính an toàn của lược đồ không bị đe doạ. như xác thực. Tình huống thứ ba: nhận sai chữ ký nhưng Trong thuật toán RSA gốc sử dụng khi văn đúng văn bản. Tình huống này có thể coi là tình bản nhỏ thì khoá bí mật là vô cùng quan trọng: huống tấn công chữ ký hay giả mạo chữ ký. Kẻ tấn không có khoá bí mật không giải mã được thông công như vậy chỉ làm sai lệch nguồn gốc xuất xứ điệp. Đây chính là lý do quyết định đến tính mật văn bản, tức người ký văn bản. Tuy nhiên có một của hệ thống: không thể lộ khoá bí mật. Do đó, kẻ Khoa học & Công nghệ - Số 17/Tháng 3 - 2018 Journal of Science and Technology 77 ISSN 2354-0575 tấn công phải tìm cách phá khoá bằng cách tìm cho Lời cảm ơn được khoá bí mật sau khi chặn được thông điệp (hay Nghiên cứu này được tài trợ bởi Trung tâm chữ ký). Nhưng bài toán tìm khoá bí mật là bài toán Nghiên cứu Ứng dụng Khoa học và Công nghệ, khai căn RSA hay bài toán tìm hai số nguyên tố p, q trường Đại học Sư phạm Kỹ thuật Hưng yên, đề tài từ n rất lớn đều là những bài toán không giải được mã số UTEHY.T002.1718.03. Tác giả chân thành trong thời gian thực tế. Thuật toán RSA nếu áp dụng cảm ơn Trung tâm, các bạn đồng nghiệp trong khoa cho văn bản lớn như ta trình bày trên thì không có Khoa học Cơ bản và Tạp chí Khoa học và Công nghệ tính bảo mật như thuật toán RSA gốc. của trường Đại học Sư phạm kỹ thuật Hưng Yên. Tài liệu tham khảo [1]. R. L. Rivest, A. Shamir, and L. M. Adleman, A Method for Obtaining Digital Signatures and Public Key Cryptosystems. Commun. of the ACM, Vol. 21, No. 2, 1978, pp. 120-126. [2]. Hoàng Thị Mai, Lưu Hồng Dũng, Nguyễn Hữu Mộng, “Một dạng lược đồ chữ ký xây dựng trên bài toán phân tích số”. Kỷ yếu Hội nghị khoa học quốc gia lần thứ VIII-Nghiên cứu cơ bản và ứng dụng CNTT (FAIR 2015), tháng 8/2015, pp. 376-386 [3]. Hoàng Thị Mai, Lưu Hồng Dũng, Nguyễn Hữu Mộng, “Một dạng lược đồ chữ ký xây dựng trên bài toán phân tích số”. Tạp chí Nghiên cứu KHKT&CNQS, ISSN 1859-1043, No. 39, 2015, pp. 75-81. [4]. Hoàng Thị Mai, Lưu Hồng Dũng, “Một dạng lược đồ chữ ký xây dựng trên bài toán phân tích số và bài toán khai căn”. Tạp chí Khoa học và Kỹ thuật, Học viện KTQS, ISSN 1859-0209, No. 172, 2015, pp. 32-41 [5]. Lưu Hồng Dũng, Nguyễn Hiếu Minh, A flexible Multisignature Scheme Using GOST R34.10- 94. Tạp chí Khoa học và Kỹ thuật (Học viện KTQS), 2010, số 134 (06-2010), tr. 45 – 53. [6]. Luu Hong Dung, Nguyen Hieu Minh, New Digital Multisignature Scheme with Distinguished Signing Responsibilities. IJCSNS International Journal of Computer Science and Network Security, January 30, 2010, Vol.10, No.1, pp. 51-57. [7]. Lưu Hồng Dũng, Trần Trung Dũng, Xây dựng lược đồ đa chữ ký số tuần tự. Tạp chí Khoa học và Kỹ thuật (Học viện KTQS), 2011, số 141 (06-2011), tr. 5-13. [8]. Lưu Hồng Dũng, Phát triển lược đồ đa chữ ký số trên cơ sở bài toán logarit rời rạc. Chuyên san Các công trình nghiên cứu, phát triển và ứng dụng CNTT và TT, tập V-1, 2011, số 5(25) (06-2011), tr. 60 – 66. [9]. Lưu Hồng Dũng, Một thiết kế mới cho các lược đồ chữ ký số. Tạp chí Khoa học và Kỹ thuật (Học viện KTQS), 2011, số 142 (08-2011), tr. 29-38. [10]. Lưu Hồng Dũng, Nguyễn Thị Thu Thủy, Nghiên cứu xây dựng mô hình tổng quát cho các lược đồ CKS phân biệt trách nhiệm. Tạp chí Khoa học và Kỹ thuật (Học viện KTQS), 2012, số 146 (02- 2012), tr. 124 – 136. [11]. Bùi Việt Hồng, Xây dựng thuật toán xác thực bản tin bằng chữ kí số theo hệ ký RSA -PSS. Tạp chí Nghiên cứu KHKT&CNQ, số 19, 6-2007. [12]. Lều Đức Tân, Hoàng Văn Thức, Một thuật toán sinh cặp số nguyên tố RSA mạnh p, q thoả mãn điều kiện IP-QI có ước nguyên tố lớn. Tạp chí Nghiên cứu KHKT&CNQ, 2007, số 20, 9-2007. [13]. Nguyễn Ngọc Cương, Phạm Văn Tuấn, Trần Duy Hưng, Một cách chọn tham số e, d cho hệ mật RSA. Tạp chí NC KHKT&CNQ, 2010, số 8, 08-2010. [14]. Hoàng Văn Thức, Thuật toán sinh tham số RSA an toàn. Tạp chí NC KHKT&CNQ, 2010, số 5, 02-2010. [15]. Vũ Huy Hoàng, Hồ Thuần, Một phương pháp đơn giản xây dựng hệ RSA an toàn với số mũ giải mã lớn. Tạp chí NC KHKT&CNQ, 2011, số 11, 02- 2011. [16]. Phạm Văn Tuấn, Các tấn công thám mã lên hệ mật RSA. Tạp chí NC KHKT&CNQ, 2013, Số Đặc san ATTT 13, 05-2013. [17]. Hoàng Văn Thức, Bạch Nhật Hồng, Một tiêu chuẩn mới cho số mũ công khai của hệ các tiêu chuản tham số mới. Tạp chí NC KHKT&CNQ, 2009, số 4, 08-2009. [18]. R. Kenneth, Elementary Number Theory and its Applications. AT & T Bell Laboratories, 4th Edition, ISBN:0-201-87073-8, 2000. 78 Khoa học & Công nghệ - Số 17/Tháng 3 - 2018 Journal of Science and Technology ISSN 2354-0575 A GENERAL DIGITAL SIGNATURE SCHEME Abstract: This paper presented a general scheme of digital signature. The generality of scheme is customization features of several integer functions. From the general scheme by customization features of several integer functions we can gain different practical diagrams. We also emphasize the mathematical aspects of the proposed algorithms. The correctness of the scheme is the authenticity of the received text as well as its integrity. Keywords: Scheme, digital signature, RSA, large prime numbers, Euler function, public key, secret key. Khoa học & Công nghệ - Số 17/Tháng 3 - 2018 Journal of Science and Technology 79
File đính kèm:
- mot_dang_luoc_do_chu_ky_so_tong_quat.pdf