Về một số lưu ý đối với lược đồ chữ ký số - Triệu Quang Phong

Tài liệu Về một số lưu ý đối với lược đồ chữ ký số - Triệu Quang Phong: Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 45 VỀ MỘT SỐ LƯU Ý ĐỐI VỚI LƯỢC ĐỒ CHỮ KÝ SỐ Triệu Quang Phong*, Trần Duy Lai Tóm tắt: Trong các chuẩn chữ ký số hiện như ECDSA, GOST R 34.10-2012, ECGDSA, EC-Schnorr, , thuật toán ký thường kèm theo một số bước kiểm tra xem giá trị hàm băm, hoặc một trong các thành phần của chữ ký số có giá trị bằng 0 hay không. Tuy nhiên, không có nhiều nghiên cứu nhằm giải thíchsự cần thiếtcủa các bước này. Trong bài báo này, chúng tôi sẽ phân tíchý nghĩa của các bước kiểm tra như vậy trong các chuẩn chữ ký số trên. Từ khóa: Lược đồ chữ ký số, Cặp chữ ký số- thông điệp, Ttấn công sử dụng thông điệp đơn giản, Phá vỡ hoàn toàn, Giả mạo vạn năng, Dễ uốn. 1. GIỚI THIỆU Chữ ký số là một thành phần thực sự quan trọng trong các giao dịch điện tử hiện nay. Trên thế giới đã có nhiều chuẩn liên quan đến chữ ký số như: lược đồ ECDSA của Mỹ, lược đồ GOST R 34.10-2012 (ECRDSA) của Nga, lược ECG...

pdf9 trang | Chia sẻ: quangot475 | Lượt xem: 907 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Về một số lưu ý đối với lược đồ chữ ký số - Triệu Quang Phong, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 45 VỀ MỘT SỐ LƯU Ý ĐỐI VỚI LƯỢC ĐỒ CHỮ KÝ SỐ Triệu Quang Phong*, Trần Duy Lai Tóm tắt: Trong các chuẩn chữ ký số hiện như ECDSA, GOST R 34.10-2012, ECGDSA, EC-Schnorr, , thuật toán ký thường kèm theo một số bước kiểm tra xem giá trị hàm băm, hoặc một trong các thành phần của chữ ký số có giá trị bằng 0 hay không. Tuy nhiên, không có nhiều nghiên cứu nhằm giải thíchsự cần thiếtcủa các bước này. Trong bài báo này, chúng tôi sẽ phân tíchý nghĩa của các bước kiểm tra như vậy trong các chuẩn chữ ký số trên. Từ khóa: Lược đồ chữ ký số, Cặp chữ ký số- thông điệp, Ttấn công sử dụng thông điệp đơn giản, Phá vỡ hoàn toàn, Giả mạo vạn năng, Dễ uốn. 1. GIỚI THIỆU Chữ ký số là một thành phần thực sự quan trọng trong các giao dịch điện tử hiện nay. Trên thế giới đã có nhiều chuẩn liên quan đến chữ ký số như: lược đồ ECDSA của Mỹ, lược đồ GOST R 34.10-2012 (ECRDSA) của Nga, lược ECGDSA của Đức, Các lược đồ này đều có mặt trong chuẩn quốc tế ISO/IEC 14888-3 [[1]]. Thông thường, một chữ ký số trên thông điệp nào đó sẽ được ký hiệu là (, ). Điểm chung của các lược đồ chữ ký số như ECDSA, GOST R 34.10-2012, ECGDSA, là nếu xuất hiện = 0 hoặc = 0 trong thuật toán ký thì quá trình sinh chữ ký số cần được thiết lập lại. Ngoài ra, trong lược đồ chữ ký số GOST R 34.10-2012, thuật toán ký cần kèm theo bước kiểm tra giá trị băm ℎ của thông điệp ký theo modulo có bằng 0 hay không (với là cấp của nhóm cơ sở). Tuy nhiên, lý do vì sao mà các lược đồ chữ ký số đó cần các bước kiểm tra như vậy lại chưa được bàn bạc nhiều. Cụ thể, qua khảo sát, chúng tôi thấy rằng chỉ có: công trình [[2]], [[6]] giải thích vì sao phải khác 0 trong lược đồ chữ ký số DSA, và có thể áp dụng để giải thích cho ECDSA; [[7]] đưa ra một kiểu tấn công giả mạo khi yêu cầu ≠ 0 trong thuật toán ký của ECDSA bị bỏ qua, tuy nhiên, tấn công này lại yêu cầu tham số miền được lựa chọn bởi kẻ tấn công; Và công trình [[3]] bàn luận về việc giá trị băm của thông điệp ký phải khác 0 cho GOST R 34.10-94, và có thể áp dụng cho GOST R 34.10-2012. Theo đó, trong bài báo này, mục tiêu của chúng tôi là khảo sát và phân tích sự cần thiết của các bước kiểm tra “, có bằng 0 hay không” trên các lược đồ chữ ký số ECDSA, GOST R 34.10-2012, ECGDSA, EC-Schnorr trong chuẩn ISO/IEC 14888-3 [[1]]. Trong đó, chúng tôi chỉ ra một tấn công giả mạo (khác trong [[7]]) khi yêu cầu ≠ 0 trong thuật toán ký của ECDSA bị bỏ qua, ở đó tham số miền không phụ thuộc vào việc lựa chọn của kẻ tấn công. Ngoài ra, chúng tôi cũng xem xét ảnh hưởng đối với các lược đồ chữ ký số trên trong trường hợp giá trị băm ℎ của thông điệp ký bằng 0, mặc dù trường hợp này không được xem xét trong hầu hết các chuẩn chữ ký số đó (ngoại trừ GOST R 34.10-2012). Phần còn lại của bài viết sẽ được bố cục như sau: Mục 2 sẽ trình bày các ký hiệu và khái niệm sẽ được sử dụng. Mục 3, 4, 5 và 6 sẽ lần lượt mô tả và trình bày việc khảo sát lược đồ ECDSA, GOST R 34.10-2012, ECGDSA, EC-Schnorr. Cuối cùng, phần kết luận của bài báo sẽ được trình bày trong Mục 7. Công nghệ thông tin T. Q. Phong, T. D. Lai, “Về một số lưu ý đối với lược đồ chữ ký số.” 46 2. CÁC KÝ HIỆU VÀ KHÁI NIỆM 2.1. Các ký hiệu Các lược đồ chữ ký số được khảo sát trong bài báo này đều là các lược đồ chữ ký số trên đường cong elliptic. Trước khi xem xét chúng một cách cụ thể, chúng tôi trình bày các ký hiệu sẽ được sử dụng. Số nguyên tố Trường hữu hạn có đặc số Đường cong elliptic được định nghĩa trên trường # Số điểm thuộc đường cong Điểm tại vô cùng của đường cong elliptic Số nguyên tố thỏa mãn |# là cấp của nhóm cơ sở Điểm cơ sở thuộc đường cong có cấp bằng Hàm băm được sử dụng trong lược đồ chữ ký số ℎ Giá trị băm của thông điệp Người ký ∈ Phép lấy ngẫu nhiên đều Khóa ký (khóa bí mật) của Khóa công khai của Giá trị bí mật tức thời được sinh ngẫu nhiên trong quá trình ký Thông điệp cần ký (, ) Chữ ký số, trong đó là thành phần thứ nhất của chữ ký số và là thành phần thứ hai của chữ ký số , Tương ứng là hoành độ và tung độ của điểm thuộc 2.2. Các khái niệm Như đã đề cập ở phần giới thiệu, bài viết này sẽ khảo sát tầm quan trọng của các bước kiểm tra = 0, = 0, hoặc ℎ = 0 bằng cách xem xét ảnh hưởng đối với lược đồ chữ ký số khi các bước kiểm tra này bị loại bỏ. Do đó, chúng tôi giả sử rằng một trong các trường hợp trên sẽ xảy ra trong quá trình thực thuật toán ký lên thông điệp nào đó, và kẻ tấn công biết được cặp chữ ký số- thông điệp này. Điều này tương đương với việc một tấn công sử dụng thông điệp đơn giản (plain known-message attack) được xem xét (nghĩa là, kẻ tấn công có quyền truy cập vào một danh sách các thông điệp đã được ký nhưng không được lựa chọn chúng). Bên cạnh đó, chúng tôi sẽ sử dụng các khái niệm liên quan đến một số mối đe dọa đối với lược đồ chữ ký số được trình bày trong [[4]] và [[5]]. Các khái niệm được phát biểu như sau. - Phá vỡ hoàn toàn (total break)[[5]]: Kẻ tấn công có khả năng tìm được khóa bí mật của người ký. Đây là mối đe dọa nguy hiểm nhất đối với một lược đồ chữ ký số. - Giả mạo vạn năng (universal forgery)[[5]]: Kẻ tấn công có thể xây dựng một thuật toán hiệu quả mà có thể ký lên bất kỳ thông điệp nào. - Dễ uốn (malleability)[[4]]: Từ một cặp chữ ký số- thông điệp, người ta có thể suy ra chữ ký số thứ hai trên thông điệp đó. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 47 Chúng ta có thể dễ dàng nhận ra, các độ nguy hiểm của các mối đe dọa đối với lược đồ chữ ký số được sắp xếp theo thứ tự tăng dần là tính dễ uốn, giả mạo vạn năng, phá vỡ hoàn toàn. 3. KHẢO SÁT LƯỢC ĐỒ CHỮ KÝ SỐ ECDSA 3.1. Mô tả lược đồ ECDSA - Thuật toán sinh khóa cho người dùng : 1. Khóa bí mật của người gửi là số nguyên ∈ [1, − 1] 2. Tính = 3. Khóa công khai của người gửi là tổ hợp , , , - Thuật toán ký (của trên thông điệp ): Bằng cách sử dụng khóa bí mật của mình, sinh chữ ký số cho thông điệp qua các bước sau đây. 1. Chọn số nguyên ∈ [1, − 1] 2. Tính = (, ) và = mod ; nếu = 0, thì quay về bước 1 3. Tính ℎ = () 4. Tính = (ℎ + )mod ; nếu = 0, thì quay về bước 1 5. Chữ ký số của đối với thông điệp là cặp số nguyên (, ) - Thuật toán xác minh (chữ ký số(, ) của trên thông điệp ): 1. Xác minh rằng giá trị và thuộc khoảng [1, − 1] 2. Tính = mod 3. Tính ℎ = () 4. Tính = ℎ mod 5. Tính = 6. Tính + = (, ) 7. Tính = 8. Chữ ký số đối với thông điệp được xác minh là hợp lệ chỉ nếu = Lưu ý: Do thuật toán ký của lược đồ chữ ký số ECDSA quy định rằng các giá trị , cần được tính theo modulo và phải khác 0, nên hiển nhiên rằng chúng ta phải kiểm tra điều kiện và thuộc khoảng [1, − 1] trong thuật toán xác minh của lược đồ chữ ký số này. Tuy nhiên, mục đích chính của bài báo này là phân tích ý nghĩa của việc “, phải khác 0” trong thuật toán ký đối với các lược đồ chữ ký số, nên chúng tôi sẽ sử dụng điều kiện , cần thuộc khoảng [0, − 1] trong thuật toán xác minh (của lược ECDSA và các lược đồ chữ ký số tiếp theo) thay cho điều kiện trong mô tả gốc. 3.2. Khảo sát bước lặp trong thuật toán ký của ECDSA Trong lược đồ chữ ký ECDSA, giá trị băm ℎ của thông điệp được biểu diễn bởi (). Đối việc kiểm tra chữ ký số(, ) trên thông điệp , chúng ta cần tính điểm (, ) = () + và sau đó kiểm tra đẳng thức = . Vì vậy, phương trình xác minh đối với chữ ký số(, ) trên thông điệp trong ECDSA thực chất là () = . Theo đó, chúng tôi sẽ khảo sát sự cần thiết của các bước kiểm tra = 0, = 0, hoặc () = 0 đối với thuật toán ký ECDSA. Công nghệ thông tin T. Q. Phong, T. D. Lai, “Về một số lưu ý đối với lược đồ chữ ký số.” 48 Trường hợp = . Chúng tôi nhận thấy rằng, nếu một chữ ký số ECDSA dạng (0, ) được chấp nhận là hợp lệ trên một thông điệp nào đó (mà () ≠ 0 ), chúng ta sẽ luôn tạo ra được một chữ ký số dạng (0, ) trên một thông điệp bất kỳ. Thật vậy, chúng ta có kết quả sau. Kết quả 1. Giả sử (0, ) là chữ ký hợp lệ trên văn bản (mà () ≠ 0 ) và thông điệp ’ là thông điệp bất kỳ, thì (0, ) với = ()() là chữ ký hợp lệ trên . Chứng minh: Do (0, ) là chữ ký số hợp lệ trên thông điệp , nên ta có () = 0 . Khi đó, với thông điệp bất kỳ, và = ()() , thì ⋅ = = () = () = 0 . Do đó (0, ) là một chữ ký số hợp lệ trên . ■ Như vậy, trong trường hợp này, lược đồ ECDSA bị giả mạo vạn năng. Trường hợp = . Có hai lý do cho việc kiểm tra = 0 trong thuật toán ký ECDSA. Lý do thứ nhất theo [[2]](cho lược đồ DSA, và cũng có thể áp dụng cho ECDSA) là nếu một chữ ký số dạng (, 0) được sinh ra trong thuật toán ký, thì khóa bí mật của người ký sẽ bị lộ bởi công thức = −ℎ . Điều này dẫn đến lược đồ ECDSA bị phá vỡ hoàn toàn. Một lý do hiển nhiên khác được chỉ ra trong [[6]] là thuật toán xác minh của ECDSA sẽ không thể kiểm tra chữ ký số tính hợp lệ của chữ ký số(, ) khi = 0, bởi nó yêu cầu việc tính nghịch đảo . Trường hợp() = . Mặc dù đối với lược đồ ECDSA không yêu cầu bước kiểm tra () = 0 trong thuật toán ký, tuy nhiên, theo chúng tôi việc xem xét điều kiện này là cần thiết. Thật vậy, chúng ta nhắc lại một kết quả quen thuộc liên quan đến tính dễ uốn đối lược đồ chữ ký ECDSA như sau. Khẳng định 2 [[8]]. Nếu(, ) là chữ ký hợp lệ trên trong lược đồ chữ ký ECDSA, thì (, −) cũng là chữ ký hợp lệ trên trong lược đồ chữ ký này. Đối với nhược điểm này của ECDSA, chúng ta có thể dễ dàng loại bỏ nó bằng cách chỉ xem (, ) và (, −) như một chữ ký. Ví dụ, thành phần thứ hai của chữ ký ECDSA được gán giá trị min{, − } thay cho giá trị trong mô tả gốc; Và thành phần này cần được kiểm tra thuộc [1, /2] trong thuật toán xác minh. Tuy nhiên, trong trường hợp () = 0 , tính dễ uốn vẫn tồn tại trên lược đồ chữ ký ECDSA ngay cả khi có sửa đổi trên. Thật vậy, giả sử (, ) là chữ ký số cho trước được sinh theo thuật toán ký ECDSA trên thông điệp mà có () = 0 , chúng ta có thể sinh ra một họ vô hạn chữ ký số hợp lệ trên thông điệp này mà không cần biết khóa bí mật của người ký. Thật vậy, do (, ) là chữ ký số hợp lệ của nên ta có đẳng thức = , hay = . Khi đó, với là số nguyên bất kỳ, tính = = Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 49 thì , cũng là chữ ký số hợp lệ trên thông điệp do () = = = = . Như vậy, trong trường hợp này, lược đồ ECDSA là dễ uốn. 4. KHẢO SÁT LƯỢC ĐỒ CHỮ KÝ SỐ GOST R 34.10-2012 4.1. Mô tả lược đồ GOST R 34.10-2012 - Thuật toán sinh khóa cho người dùng : Thuật toán này được mô tả tương tự như thuật toán sinh khóa trong lược đồ ECDSA. - Thuật toán ký (của trên thông điệp ): 1. Tính ℎ = (). 2. = ℎ . Nếu = 0, thì gán = 1. 3. Chọn số nguyên ∈ [1, − 1]. 4. Tính = (, ), và = , nếu = 0 quay về bước 3. 5. Tính = + ; nếu = 0, quay lại bước 3. 6. Chữ ký số của trên thông điệp là (, ). - Thuật toán xác minh (chữ ký số(, ) của trên thông điệp ): 1. Xác minh , có thuộc [1, − 1] hay không 2. Tính ℎ = () 3. = ℎ . Nếu = 0, thì gán = 1 4. Tính = 5. Tính = và = − 6. Tính + = (, ) và tính = 7. Chữ ký số được xác minh chỉ khi = 4.2. Khảo sát bước lặp trong thuật toán ký của GOST R 34.10-2012 Trong lược đồ chữ ký GOST R 34.10-2012, giá trị băm ℎ của thông điệp được biểu diễn bởi (). Đối việc kiểm tra chữ ký số (, ) trên thông điệp , phương trình xác minh của GOST R 34.10-2012 thực chất là ()() = . Theo đó, chúng tôi sẽ khảo sát sự ảnh hưởng đối với lược đồ chữ ký số này khi các bước kiểm tra = 0, = 0 hoặc () = 0 bị lược bỏ. Trường hợp = . Tương tự trường hợp của ECDSA, nếu một chữ ký sốGOST R 34.10-2012 dạng (0, ) được chấp nhận là hợp lệ trên một thông điệp nào đó, chúng ta sẽ luôn tạo ra được một chữ ký số dạng (0, ) trên một thông điệp bất kỳ. Thật vậy, chúng ta có kết quả sau. Kết quả 3. Giả sử (0, ) là chữ ký hợp lệ trên văn bản (mà () ≠ 0 ) và thông điệp ’ là thông điệp bất kỳ, thì (0, ) với = ()() là chữ ký hợp lệ trên . Chứng minh: Do(0, ) là chữ ký số hợp lệ trên thông điệp , nên ta có () = 0 . Khi đó, với thông điệp bất kỳ, và = ()() , thì Công nghệ thông tin T. Q. Phong, T. D. Lai, “Về một số lưu ý đối với lược đồ chữ ký số.” 50 ⋅ = = () = () = 0 . Do đó (0, ) là một chữ ký số hợp lệ trên . ■ Như vậy, trong trường hợp này, lược đồ GOST R 34.10-2012 bị giả mạo vạn năng. Trường hợp = . Đối với trường hợp = 0, chúng tôi chưa tìm thấy bất cứ ảnh hưởng nào lên lược đồ chữ ký số này. Trường hợp () = . Tương tự như trường hợp = 0 đối với lược đồ chữ ký số ECDSA, có hai lý do cho việc xem xét () = 0 trong thuật toán ký của GOST R 34.10-2012. Nghĩa là, trong trường hợp này lược đồ GOST R 34.10-2012 bị phá vỡ hoàn toàn (được chỉ ra trong [3]) và không thực hiện được thuật toán xác minh. 5. KHẢO SÁT LƯỢC ĐỒ CHỮ KÝ SỐ ECGDSA 5.1. Mô tả lược đồ chứ ký ECGDSA - Thuật toán sinh khóa cho người dùng : 1. Chọn khóa bí mật của thực thể gửi là số nguyên ∈ [1, − 1] 2. ← 3. Khóa công khai của thực thể gửi là tổ hợp , , , - Thuật toán ký (của trên thông điệp ): 1. Chọn số nguyên không dự đoán được và duy nhất trong khoảng [1, − 1] 2. = (, ), trong đó là số nguyên 3. = ; nếu = 0, thì quay về bước 1 4. ℎ = (), 5. = ( − ℎ) ; nếu = 0, thì quay về bước 1 6. Chữ ký số của đối với thông điệp là cặp số nguyên (, ) - Thuật toán xác minh (chữ ký số(, ) của trên thông điệp ): 1. Xác minh rằng các giá trị và thuộc khoảng [1, − 1] 2. = 3. ℎ = (), 4. = ℎ 5. = 6. (, ) = + 7. = 8. Chữ ký số đối với thông điệp được xác minh chỉ nếu = . 5.2. Khảo sát bước lặp trong thuật toán ký của ECGDSA Trong lược đồ chữ ký ECGDSA, giá trị băm ℎ của thông điệp được biểu diễn bởi (). Đối với việc kiểm tra chữ ký số(, ) trên thông điệp , phương trình xác minh của ECGDSA thực chất là () = . Theo đó, chúng tôi sẽ khảo sát sự ảnh hưởng đối với lược đồ chữ ký số này khi các bước kiểm tra = 0, = 0 hoặc () = 0 bị lược bỏ. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 51 Trường hợp = . Tương tự trường hợp = 0 đối với ECDSA và () = 0 đối với GOST R 34.10-2012, cũng có hai lý do tương tự cho việc kiểm tra = 0 trong thuật toán ECGDSA. Nghĩa là, trong trường hợp nàylược đồ ECGDSAbị phá vỡ hoàn toàn và không thực hiện được thuật toán xác minh. Trường hợp = . Đối với trường hợp = 0, chúng tôi chưa tìm thấy bất cứ ảnh hưởng nào lên lược đồ chữ ký số này. Trường hợp () = . Tương tự như trường hợp đối với lược đồ chữ ký số ECDSA, khi bước kiểm tra () = 0 trong lược đồ chữ ký số ECGDSA bị bỏ qua, chúng tôi sẽ xây dựng được một họ vô hạn chữ ký số ECGDSA lên thông điệp có () = 0 từ một chữ ký số (, ) cho trước mà được tạo ra theo thuật toán ký. Thật vậy, do (, ) là chữ ký số hợp lệ của nên ta có đẳng thức = , hay = . Khi đó, với là số nguyên bất kỳ, tính = , và = , thì , cũng là chữ ký số hợp lệ trên thông điệp do () = = = = . Như vậy, trong trường hợp này, lược đồ ECGDSA là dễ uốn. 6. KHẢO SÁT LƯỢC ĐỒ CHỮ KÝ SỐ EC-SCHNORR 6.1. Mô tả lược đồ EC-Schnorr - Thuật toán sinh khóa cho người dùng : Thuật toán này được mô tả tương tự như thuật toán sinh khóa trong lược đồ ECDSA. - Thuật toán ký (của trên thông điệp ): 1. ∈ [1, − 1] 2. = = (, ) 3. = (‖), nếu = 0 , quay lại bước 1. 4. = − , nếu = 0 , quay lại bước 1. 5. Đưa ra chữ ký số(, ). - Thuật toán xác minh (chữ ký số(, ) của trên thông điệp ): 1. Xác minh xem thuộc miền giá trị của hàm băm và trong khoảng [1, − 1]. 2. + = (, ). Nếu = , đưa ra “chữ ký số không hợp lệ” và dừng lại. 3. = (‖). 4. Đưa ra “chữ ký số hợp lệ” nếu = ; ngược lại trả về “chữ ký số không hợp lệ”. 6.2. Khảo sát bước lặp trong thuật toán ký của EC-Schnorr Trong lược đồ chữ ký EC-Schnorr, giá trị băm ℎ của thông điệp và thành phần của chữ ký được biểu diễn bởi (||), với = và là giá trị bí mật tức thời được sinh ngẫu nhiên trong quá trình ký. Do đó, vai trò của thành phần của chữ ký số và giá trị băm trong lược đồ chữ ký số Schnorr là như nhau, nên trong phần này chúng tôi chỉ xem xét bước kiểm tra = 0 và = 0 trong thuật toán ký của lược đồ Schnorr. Công nghệ thông tin T. Q. Phong, T. D. Lai, “Về một số lưu ý đối với lược đồ chữ ký số.” 52 Trường hợp = . Chúng tôi nhận thấy rằng nếu một chữ ký số Schnorr (, ) mà = 0 được sinh ra trong thuật toán ký lên thông điệp nào đó thì dễ dàng nhận được một chữ ký số khác trên thông điệp mà không cần dùng tới khóa bí mật của người ký – cụ thể, chữ ký số này có dạng (, −). Thật vậy, với (, ) là chữ ký số trên thông điệp , ta có đẳng thức 0 = || = || = || = ||() . Do đó, (, −) cũng là chữ ký số hợp lệ trên thông điệp này. Như vậy, lược đồ chữ ký số Schnorr là dễ uốn nếu trường hợp = 0 xảy ra. Trường hợp = . Giống như trường hợp của ECGDSA và GOST R 34.10-2012, chúng tôi chưa tìm thấy điểm yếu gì trên lược đồ Schnorr khi bỏ qua việc kiểm tra = 0. 7. KẾT LUẬN Như vậy, trong bài báo này, chúng tôi đã khảo sát và phân tích sự cần thiết của các bước kiểm tra = 0, = 0, hoặc () = 0 trong thuật toán ký của lược đồ chữ ký số ECDSA, GOST R 34.10-2012, ECGDSA, và EC-Schnorr trong chuẩn ISO/IEC 14888-3 [[1]]. Công việc của chúng tôi được thực hiện thông qua việc xem xét các mối đe dọa về việc phá vỡ hoàn toàn, giả mạo vạn năng và tính dễ uốn đối với lược đồ chữ ký số bởi tấn công sử dụng thông điệp đơn giản. Kết quả mà chúng tôi thu được có thể được tóm tắt qua bảng 1. Theo đó, vấn đề còn lại của chúng tôi là lý do vì sao cần phải khác 0 trong thuật toán ký của GOST R 34.10-2012, ECGDSA và EC-Schnorr. Ngoài ra, chúng tôi cũng tìm hiểu về lý do vì sao , cần phải khác 0 trong lược đồ chữ ký số ECKCDSA (chuẩn chữ ký số của Hàn Quốc), tuy nhiên, chúng tôi chưa thu được kết quả nào. Do đó, những vấn đề này sẽ được quan tâm trong những nghiên cứu tiếp theo. Bảng 1. Tóm tắt kết quả khảo sát. ECDSA GOST R 34.10- 2012 ECGDSA EC-Schnorr = 0 Bị giả mạo vạn năng Bị giả mạo vạn năng Bị phá vỡ hoàn toàn và không thực hiện được thuật toán xác minh Dễ uốn ℎ = 0 Dễ uốn Bị phá vỡ hoàn toàn và không thực hiện được thuật toán xác minh Dễ uốn Dễ uốn = 0 Bị phá vỡ hoàn toàn và không thực hiện được thuật toán xác minh Chưa tìm thấy mối đe dọa Chưa tìm thấy mối đe dọa Chưa tìm thấy mối đe dọa Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 53 TÀI LIỆU THAM KHẢO [1]. International standard ISO/IEC DIS 14888-3. Information technology -- Security techniques -- Digital signatures with appendix -- Part 3: Discrete logarithm based mechanisms. ISO/IEC JTC 1/SC 27, 2016. [2]. Ronald L. Rivest, Martin E. Hellman và John C. Anderson, “Responses to NIST’s Proposal”, Communications of the ACM, July 1992, Vol.35, No.7, pp. 42-52. [3]. Markus Michels, David Naccache, and Holger Petersen, “GOST 34.10 – A Brief Overview of Russia’s DSA”, Computers & Security 15(8):725-732, 1996. [4]. J. Stern, D. Pointcheval, J. Malone-Lee, N.P. Smart, “Flaws in Applying Proof Methodologies to Signature Schemes”, Annual International Cryptology Conference, CRYPTO 2002: Advances in Cryptology — CRYPTO 2002 pp 93-110. [5]. D. Pointcheval, J. Stern. “Security arguments for digital signatures and blind signatures”. Journal of cryptology 13.3 (2000): 361-396. [6]. M. Braun, A. Kargl. “A Note on Signature Standards”. IACR Cryptology ePrint Archive 2007 (2007): 357. [7]. Ian F. Blake, G. Seroussi, and Nigel P. Smart, eds. “Advances in elliptic curve cryptography” (Chapter II). Vol. 317. Cambridge University Press, 2005. [8]. J. Stern, D. Pointcheval, J. Malone-Lee, Nigel P. Smart, “Flaws in Applying Proof Methodologies to Signature Schemes”, Annual International Cryptology Conference, CRYPTO 2002: Advances in Cryptology — CRYPTO 2002 pp 93-110. ABSTRACT ON SOME NOTES FOR DIGITAL SIGNATURE SCHEME In the current digital signature standards such as ECDSA, GOST R 34.10- 2012, ECGDSA, EC-Schnorr, , the signing algorithm usually includes some steps for checking whether the value of the hash function or one of the signature components is equal 0 or not. However, there is not much research to explain the necessity of these steps. In this article, the signification of such test steps in the above digital signature standards will be analysed. Keywords: Digital signature scheme, Signature-message pair, Total break, Universal forgery, Malleability, The plain-known message attack. Nhận bài ngày 16 tháng 8 năm 2017 Hoàn thiện ngày 26 tháng 11 năm 2017 Chấp nhận đăng ngày 28 tháng 11 năm 2017 Địa chỉ: Viện Khoa học-Công nghệ Mật mã, Ban Cơ yếu Chính phủ; * Email: Phongtrieu53@gmail.com.

Các file đính kèm theo tài liệu này:

  • pdf05_2122_2151876.pdf
Tài liệu liên quan