Chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên

Một phần của tài liệu (Luận án tiến sĩ) nghiên cứu một số giải pháp đảm bảo an toàn và hiệu quả cho lược đồ chữ ký số kiểu EC schnorr (Trang 61 - 67)

Chúng ta cần xây dựng một bộ mô phỏng mà đưa ra các chữ ký của một thông điệp cho trước trong thời gian đa thức hợp lý mà không thể phân biệt được với bộ ký thực sự. Do đó, nếu kẻ tấn công có thể xây dựng thành công một tấn công lựa chọn thông điệp thích nghi bằng cách sử dụng bộ ký hợp lệ, thì anh ta cũng có thể thực hiện công việc tương tự chỉ với bộ mô phỏng. Khi đó chúng ta có thể sử dụng Bổ đề Forking cải tiến như một công cụ để tính logarit rời rạc của khóa công khai, vì vậy giải quyết được bài toán ECDLP.

Trong [22] Bổ đề Forking cải tiến được sử dụng để chứng minh cho các lược đồ chữ ký kiểu ElGamal tin cậy TEGTSS. Trong trường hợp sử dụng nhóm điểm đường cong elliptic, Bổ đề Forking cải tiến có thể áp dụng cho các lược đồ dạng EC-TEGTSS [31]. Cụ thể, các công trình [31] và [57] đã sử dụng Bổ đề Forking cải tiến để phân tích độ an toàn cho các biến thể của lược đồ chữ ký ECDSA và GOST R 34.10-2012 mà có dạng EC-TEGTSS. Do vậy, để sử dụng kỹ thuật tương tự nhằm đánh giá EC-Schnorr, trước tiên chúng ta nhắc lại khái niệm về lược đồ dạng này.

Một lược đồ là EC-TEGTSS nếu nó có các tính chất sau:

(i) -Nhóm cơ sở là một đường cong elliptic 𝐸(𝔽𝑝) có cấp là 𝑐 ⋅ 𝑞 trong đó 𝑞 là số nguyên tố còn 𝑐 là thừa số nhỏ, nghĩa là #𝐸(𝔽𝑝) = 𝑐 ⋅ 𝑞. Một điểm cơ sở 𝑃 ∈ 𝐸(𝔽𝑝) có cấp 𝑞.

(ii) - Lược đồ sử dụng hai hàm 𝐻 và 𝐺, với miền giá trị tương ứng là ℋ và 𝒢. Trong đó, độ an toàn được xét với 𝐻 được lập mô hình như một bộ tiên tri ngẫu nhiên và 𝐺 yêu cầu một số tính chất là ℓ-kháng va chạm hoặc không có 𝑙-va chạm, với số nguyên ℓ ≥ 2 nào đó. Ở đây, 𝐺 có tính kháng ℓ-va chạm nếu việc tìm ℓ điểm 𝑃1, … , 𝑃ℓ sao cho 𝐺(𝑃1) = 𝐺(𝑃2) = ⋯ = 𝐺(𝑃ℓ) là khó.

(iii) - Tồn tại ba hàm số: 𝐹1(ℤ𝑞, ℤ𝑞, 𝒢, ℋ) → ℤ𝑞, 𝐹2(ℤ𝑞, 𝒢, ℋ) → ℤ𝑞, 𝐹3(ℤ𝑞, 𝒢, ℋ) → ℤ𝑞, thỏa mãn với ∀(𝑘, 𝑎, 𝑟, ℎ) ∈ (ℤ𝑞, ℤ𝑞, 𝒢, ℋ), 𝐹2(𝐹1(𝑘, 𝑎, 𝑟, ℎ), 𝑟, ℎ) + 𝑎 ⋅ 𝐹3(𝐹1(𝑘, 𝑎, 𝑟, ℎ), 𝑟, ℎ) = 𝑘.

(iv) - Mỗi user có một khóa cá nhân 𝑎 và khóa công khai 𝑄 = 𝑎𝑃.

(v) - Để ký một thông điệp 𝑚, đầu tiên chọn 𝑘 ∈𝑅 ℤ𝑞∗, tính 𝑅 = 𝑘𝑃 và 𝑟 = 𝐺(𝑅). Tiếp theo tính ℎ = 𝐻(𝑚||𝑟) và 𝑠 = 𝐹1(𝑘, 𝑎, 𝑟, ℎ). Chữ ký của 𝑚 là (𝑠, 𝑟, ℎ), mặc dù trong thực tế (𝑠, 𝑟) là đủ vì ℎ có thể được tính từ 𝑚 và 𝑟.

(vi) - Để xác minh chữ ký (𝑠, 𝑟, ℎ) có là hợp lệ với thông điệp 𝑚 hay không, đầu tiên tính 𝑒𝑃 = 𝐹2(𝑠, 𝑟, ℎ) và 𝑒𝑄 = 𝐹3(𝑠, 𝑟, ℎ), sau đó tính 𝑊 = 𝑒𝑃𝑃 + 𝑒𝑄𝑄. Cuối cùng kiểm tra 𝑟 =? 𝐺(𝑊) và ℎ =? 𝐻(𝑚||𝑟). (Bộ (𝑚, 𝑊, 𝑠, 𝑟, ℎ) được xác định như trên và thỏa mãn phương trình xác minh sẽ được gọi là một bộ giá trị xác minh.)

(vii) - Các hàm 𝐹2 và 𝐹3 phải thỏa mãn các điều kiện một – một sau: cho trước 𝑟, 𝑒𝑃 và 𝑒𝑄, tồn tại duy nhất một cặp (ℎ, 𝑠) sao cho: 𝑒𝑃 = 𝐹2(𝑠, 𝑟, ℎ), 𝑒𝑄 = 𝐹3(𝑠, 𝑟, ℎ). Hơn nữa, cặp này phải dễ được tính.

Về cơ bản, một lược đồ chữ ký có dạng EC-TEGTSS [31] chính là phiên bản Elliptic lược đồ chữ ký dạng TEGTSS-II được mô tả trong [22] và điều này cũng đã được khẳng định trong [31]. Bổ đề Forking cải tiến cho các lược đồ chữ ký dạng TEGTSS-II được phát biểu trong [22] như sau:

Bổ đề 2.8 [22] (Bổ đề Forking cải tiến). Chúng ta xem xét một máy Turing thời gian đa thức xác suất 𝒜 (được gọi là kẻ tấn công) và một bộ mô phỏng xác suất thời gian đa thức . Nếu 𝒜 có thể tìm được một bộ giá trị xác minh

(𝑀, 𝑅, 𝑆, 𝑇, 𝑈) với xác suất 𝜀 > 4

một thông điệp mới 𝑀 và một 𝑈 được xác định trực tiếp bởi 𝐻, thì với xác suất hằng số 1/96, sau (1 + 24𝑄ℓ 𝑙𝑜𝑔(2ℓ))/𝜀 lần lặp lại của 𝒜 với các bộ tiên tri ngẫu nhiên khác nhau, 𝒜 sẽ đưa ra ℓ + 1 bộ xác minh

(𝑀𝑖, 𝑅𝑖, 𝑆𝑖, 𝑇𝑖, 𝑈𝑖)𝑖=1,…,ℓ+1 sao cho 𝑈𝑖 đôi một khác nhau, mọi 𝑅𝑖 bằng nhau đối với các lược đồ TEGTSS-I; trong khi đó các (𝑀𝑖, 𝑇𝑖) bằng nhau đối với các lược đồ TEGTSS-II.

Chú ý. Bổ đề trên giả thiết về việc kẻ tấn công 𝒜 có thể tìm được một “bộ giá trị xác minh” (𝑀, 𝑅, 𝑆, 𝑇, 𝑈) mà được tuân theo việc mô tả của các lược đồ dạng TEGTSS trong [22]. Tuy nhiên, do ký hiệu sử dụng mô tả của TEGTSS (mà cụ thể là TEGTSS-II) trong [22] là khác bộ ký hiệu cho EC-TEGTSS trong [31], do đó để thuận tiện, bộ (𝑀, 𝑅, 𝑆, 𝑇, 𝑈) được hiểu như sau:

• 𝑀 là thông điệp ký trong [22] và là ký hiệu 𝑚 trong [31]. • 𝑅 cơ bản là giống nhau trong 2 mô tả.

• 𝑆 = 𝐹1(𝑘, 𝑥, 𝑟, ℎ) = 𝑠; 𝑇 = 𝐺(𝑅) = 𝑟;𝑈 = 𝐻(𝑀||𝑇) = 𝐻(𝑚||𝑟) = ℎ.

Bổ đề 2.9. Lược đồ chữ ký EC-Schnorr có dạng EC-TEGTSS (phiên bản

Elliptic của lược đồ chữ ký dạng TEGTSS-II).

Chứng minh: Lược đồ chữ ký EC-Schnorr thỏa mãn các yêu cầu từ (i) đến (vii) của một lược đồ chữ ký dạng EC-TEGTSS. Thật vậy,

(i) - Nhóm cơ sở của EC-Schnorr từ một đường cong elliptic 𝐸(𝔽𝑝) mà có cấp là 𝑐 ⋅ 𝑞 trong đó 𝑞 là số nguyên tố, và một điểm cơ sở 𝑃 ∈ 𝐸(𝔽𝑝) có cấp 𝑞. Như vậy EC-Schnorr thỏa mãn yêu cầu (i).

(ii) - EC-Schnorr sử dụng hàm băm 𝐻 và hàm 𝐺(𝑅) = 𝑥𝑅 (với 𝑅 ∈ 𝐸(𝔽𝑝)). Trong mô hình bộ tiên tri ngẫu nhiên, 𝐻 được lý tưởng hóa như bộ tiên tri ngẫu nhiên. Tiếp theo, chúng ta chỉ ra rằng 𝐺 thỏa mãn tính chất không có 3-va chạm. Thật vậy, vì với mỗi 𝑥 ∈ 𝔽𝑝 có nhiều nhất hai điểm phân biệt thuộc 𝐸(𝔽𝑝) nhận 𝑥 làm hoành độ. Do đó chúng ta không thể tìm

được ba điểm phân biệt 𝑅1, 𝑅2, 𝑅3 ∈ 𝐸(𝔽𝑝) sao cho 𝐺(𝑅1) = 𝐺(𝑅2) = 𝐺(𝑅3), hay 𝐺 là thực sự là hàm thỏa mãn tính chất không có 3-va chạm. Như vậy EC-Schnorr thỏa mãn yêu cầu (ii).

(iii) - EC-Schnorr thỏa mãn yêu cầu (iii). Thật vậy, xét 𝐹1(𝑘, 𝑎, 𝑟, ℎ) = 𝑘 − 𝑎ℎ, 𝐹2(𝑠, 𝑟, ℎ) = 𝑠, 𝐹3(𝑠, 𝑟, ℎ) = ℎ. Ta có, 𝐹2(𝐹1(𝑘, 𝑎, 𝑟, ℎ), 𝑟, ℎ) + 𝑎 ⋅ 𝐹3(𝐹1(𝑘, 𝑎, 𝑟, ℎ), 𝑟, ℎ) = 𝐹1(𝑘, 𝑎, 𝑟, ℎ) + 𝑎ℎ = (𝑘 − 𝑎ℎ) + 𝑎ℎ = 𝑘.

Do đó EC-Schnorr thỏa mãn yêu cầu (iii).

Dễ dàng nhận ra EC-Schnorr thỏa mãn các yêu cầu (iv) đến (vii) nhờ mô tả của lược đồ này và định nghĩa của các hàm 𝐹1, 𝐹2 và 𝐹3.

Tiếp theo ta xem xét bộ mô phỏng ℬ đối với lược đồ EC-Schnorr.

Bổ đề 2.10. Giả sử 𝐻 là một hàm băm ngẫu nhiên với đầu ra trong khoảng 0 đến |ℋ| − 1. Khi đó tồn tại một bộ mô phỏng mà tạo ra các bộ xác minh sau 𝑏 lần, xác suất mà bộ mô phỏng có thể bị phân biệt với một bộ ký EC- Schnorr là nhỏ hơn 𝑏2/2𝑞.

Chứng minh: Dựa trên phân tích của Bổ đề 13 trong [22], bộ mô phỏng ℬ của lược đồ chữ ký EC-Schnorr có thể được xây dựng như sau: Với một thông điệp 𝑀 cần được ký, ℬ sinh các bộ bằng cách chọn các 𝑠 và ℎ ngẫu nhiên, đều thuộc ℤ𝑞. Sau đó nó tính 𝑅 = 𝑠𝑃 + ℎ𝑄 và 𝑇 = 𝐺(𝑅) = 𝑥𝑅. Nhờ tính chất một - một của 𝐹2, 𝐹3 chúng ta nhận được cặp (𝑆, 𝑈) duy nhất tương ứng với cặp (𝑠, ℎ) được chọn, cụ thể 𝑆 = 𝑠 và 𝑈 = ℎ. Khi đó, 𝐻(𝑀, 𝑇) được định nghĩa bằng 𝑈.

Có thể thấy rằng, một bộ (𝑀, 𝑅, 𝑆, 𝑇, 𝑈) được xây dựng như trên bởi bộ mô phỏng ℬ sẽ thỏa mãn phương trình xác minh (và do đó là một bộ “giá trị (adsbygoogle = window.adsbygoogle || []).push({});

xác minh”) và kẻ tấn công sẽ không phân biệt nó được sinh ra bởi bộ mô phỏng hay bộ ký, trừ khi bộ mô phỏng tính một truy vấn (𝑀, 𝑇) mà ở đó 𝐻(𝑀, 𝑇) đã được định nghĩa hoặc bộ mô phỏng đã tạo một chữ ký ứng với (𝑀, 𝑇) trước đó. Gọi 𝑏 là số truy vấn mà đã được thực hiện đến bộ tiên tri 𝐻. Xác suất mà một trong những sự kiện này xảy ra (trong b bộ (Mi,Ti) có 2 bộ trùng nhau) là nhỏ hơn 1 − 𝑒−

𝑏(𝑏−1)

2𝑞 (nghịch lý ngày sinh),

Hơn nữa, theo bất đẳng thức: 1 − 𝑒−𝑥 ≤ 𝑥 (với mọi 𝑥), chúng ta có: 1 − 𝑒− 𝑏(𝑏−1) 2𝑞 ≤ 𝑏(𝑏 − 1) 2𝑞 < 𝑏2 2𝑞. Do đó, thu được điều phải chứng minh. ■

Áp dụng Bổ đề 2.8, 2.9 và 2.10, ta thu được kết quả an toàn sau đối với lược đồ chữ ký EC-Schnorr trước tấn công lựa chọn thông điệp thích nghi nhằm tìm kiếm khả năng giả mạo trong mô hình bộ tiên tri ngẫu nhiên.

Mệnh đề 2.11. Giả sử rằng tồn tại một kẻ tấn công 𝒜 thành công trong việc giả mạo chữ ký của lược đồ EC-Schnorr với xác suất thành công là 𝜀 > 4

𝑞 sau 𝑄 truy vấn tới bộ tiên tri ngẫu nhiên 𝐻, thì ta có thể giải bài toán logarit rời rạc trong

𝐸(𝔽𝑝) bằng cách sử dụng (1 + 96𝑄)/𝜀 lần lặp của 𝒜 với xác suất 1/96.

Chứng minh: Theo Bổ đề 2.9, EC-Schnorr tương đương với loại EC- TEGTSS, và do đó cũng thuộc loại TEGTSS-II. Sử dụng Bổ đề Forking cải tiến 2.8, và áp dụng với các tham số gồm: thông điệp 𝑚, 𝑅 = 𝑘𝑃, 𝑇 = 𝐺(𝑅) = 𝑟, 𝑈 = 𝐻(𝑚||𝑟) = ℎ, 𝑆 = 𝑠 = (𝑘 − 𝑎𝑟) 𝑚𝑜𝑑 𝑞 (với 𝑞 là cấp của 𝑃, và 𝑘 ∈ [1, … , 𝑞 − 1]), và ℓ = 2. Khi đó, với số lần lặp lại của 𝒜 là:

1 + 48𝑄 log 4

𝜀 =

1 + 96𝑄 𝜀

𝒜 sẽ đưa ra 3 bộ chữ ký hợp lệ khác nhau (𝑀𝑖, 𝑅𝑖, 𝑆𝑖, 𝑇𝑖, 𝑈𝑖)𝑖=1,…,3 sao cho 𝑈𝑖 đôi một phân biệt và (𝑀𝑖, 𝑇𝑖) = (𝑀, 𝑟), với xác suất bằng 1/96. Các

chữ ký này tương ứng với 3 điểm 𝑅1 = 𝑘1𝑃, 𝑅2 = 𝑘2𝑃, 𝑅3 = 𝑘3𝑃, nên ta có 𝐺(𝑅1) = ⋯ = 𝐺(𝑅3) = 𝑟. Tuy nhiên, vì 𝐺 là không có 3-va chạm nên phải tồn tại 2 trong 3 điểm đó trùng nhau. Không mất tính tổng quát, ta giả sử 𝑅1 ≡ 𝑅2, nghĩa là giá trị 𝑘1 và 𝑘2 tương ứng với hai điểm này cũng bằng nhau.

𝑘1 = 𝑘2 𝑚𝑜𝑑 𝑞 ⟺ 𝑠1 + 𝑎𝑟1 = 𝑠2+ 𝑎𝑟2 𝑚𝑜𝑑 𝑞 ⟺ 𝑎 = (𝑠1− 𝑠2)(𝑟2− 𝑟1)−1 𝑚𝑜𝑑 𝑞.

Như vậy ta sẽ thu được khóa bí mật của người ký, tức là giải được bài toán ECDLP.■

Hệ quả 2.12. Giả sử rằng tồn tại một kẻ tấn công 𝒜 thành công trong việc giả mạo chữ ký của lược đồ EC-Schnorr-M với xác suất thành công là 𝜀 > 4

𝑞

sau 𝑄 truy vấn tới bộ tiên tri ngẫu nhiên 𝐻, thì người ta có thể giải bài toán logarit rời rạc trong 𝐸(𝔽𝑝) bằng cách sử dụng (1 + 96𝑄)/𝜀 lần lặp của 𝒜

với xác suất 1/96.

Chứng minh: Kết hợp Mệnh đề 2.2 và 2.11 chúng ta thu được điều phải chứng minh.■

Hệ quả trên chỉ ra rằng độ an toàn của lược đồ EC-Schnorr-M có độ an toàn tương đương với độ an toàn của lược đồ EC-Schnorr gốc dưới tấn công giả mạo chữ ký sử dụng thông điệp được lựa chọn thích nghi. Nhắc lại rằng, trong [14] đã chứng minh lược đồ chữ ký số kiểu Schnorr là an toàn trong mô hình bộ tiên tri ngẫu nhiên. Như vậy, có thể khẳng định lược đồ đề xuất EC- Schnorr-M là an toàn trong mô hình bộ tiên tri ngẫu nhiên, dưới tấn công giả mạo chữ ký sử dụng thông điệp được lựa chọn thích nghi.

Như vậy ta có thể kết luận rằng, lược đồ chữ ký số EC-Schnorr-M có ưu điểm hơn lược đồ chữ ký số EC-Schnorr gốc ở khả năng chống lại tấn công sử dụng các bộ sinh số giả ngẫu nhiên “tồi”, điều mà thường gặp trong thực tế liên quan đến lỗi cài đặt hoặc bị tấn công có chủ đích.

Một phần của tài liệu (Luận án tiến sĩ) nghiên cứu một số giải pháp đảm bảo an toàn và hiệu quả cho lược đồ chữ ký số kiểu EC schnorr (Trang 61 - 67)