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ý.

Một dạng lược đồ chữ ký số tổng quát trang 1

Trang 1

Một dạng lược đồ chữ ký số tổng quát trang 2

Trang 2

Một dạng lược đồ chữ ký số tổng quát trang 3

Trang 3

Một dạng lược đồ chữ ký số tổng quát trang 4

Trang 4

Một dạng lược đồ chữ ký số tổng quát trang 5

Trang 5

Một dạng lược đồ chữ ký số tổng quát trang 6

Trang 6

pdf 6 trang duykhanh 8820
Bạn đang xem tài liệu "Một dạng lược đồ chữ ký số tổng quát", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Một dạng lược đồ chữ ký số tổng quát

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:

  • pdfmot_dang_luoc_do_chu_ky_so_tong_quat.pdf