Luận án 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

Lược đồ chữ ký số đóng vai trò quan trọng trong bảo mật và an toàn thông tin phục vụ phát triển Chính phủ điện tử. Việc ứng dụng các lược đồ chữ ký số dựa trên đường cong elliptic một cách an toàn và hiệu quả là một lựa chọn phù hợp cho thế hệ Internet kết nối vạn vật, cho cuộc cách mạng công nghiệp lần thứ 4. Với mục tiêu như vậy, luận án đã có những đóng góp cụ thể như sau: A. Các kết quả đạt được của luận án: - Phân tích độ an toàn và đánh giá một số yêu cầu về hàm băm được sử dụng để đảm bảo độ an toàn cho lược đồ chữ ký số EC-Schnorr. - Phân tích tính hiệu quả và khả năng ứng dụng của lược đồ chữ ký số EC-Schnorr. - Phân tích tấn công với việc sử dụng lặp lại khóa bí mật tức thời và đánh giá các giải pháp đã có để chống tấn công này (Kết quả 2.1, Kết quả 2.2, Kết quả 2.3, Mệnh đề 2.1). - Đề xuất lược đồ chữ ký số EC-Schnorr-M dựa trên lược đồ ECSchnorr gốc (bổ sung thêm một phép tính hàm băm giữa khóa bí mật tức thời và thông điệp) cùng các phân tích, đánh giá và chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên (Thuật toán 2.5, Mệnh đề 2.2, Hệ quả 2.4, Bổ đề 2.9, Bổ đề 2.10, Mệnh đề 2.11, Hệ quả 2.12). - Phân tích, đánh giá, tổng quát hóa tấn công khôi phục khóa ký dài hạn trong lược đồ chữ ký số kiểu EC-Schnorr và đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr, trong đó có ECSchnorr-M (Khẳng định 3.6, Thuật toán 3.1, Khẳng định 3.11, Tiêu chuẩn 3.1, Tiêu chuẩn 3.2). - Phân tích các tấn công và đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr-M (Mệnh đề 3.15, Thuật toán 3.2, Mệnh đề 3.17, Thuật toán 3.4, Tiêu chuẩn 3.3). - Phân tích làm rõ ý nghĩa khoa học và thực tiễn của việc nghiên cứu, đề xuất lược đồ chữ ký số EC-Schnorr-M và các tiêu chuẩn an toàn cho khóa bí mật dài hạn và tức thời.

pdf123 trang | Chia sẻ: huydang97 | Ngày: 27/12/2022 | Lượt xem: 504 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận án 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thì 𝑓(�̅�, �̅�) = 𝑓(𝑘, 𝑎). Nếu 𝑎, 𝑘 > 𝑞 2 , khi đó ta có: 𝑓(�̅�, �̅�) = 𝑎 − 𝑞 + 𝐴(𝑘 − 𝑞) + 𝐵 = 𝑎 + 𝐴𝑘 + 𝐵 − 𝑞 − 𝐴𝑞 = 𝑎 + 𝐴𝑘 + 𝐵 = 0 𝑚𝑜𝑑 𝑞. Tương tự, cho các trường hợp (𝑎 > 𝑞 2 , 𝑘 ≤ 𝑞 2 ) hoặc (𝑎 ≤ 𝑞 2 , 𝑘 > 𝑞 2 ). Xét các đa thức 𝑓1(𝑥, 𝑦) = 𝑞, 𝑓2(𝑥, 𝑦) = 𝑞𝑥 và 𝑓3(𝑥, 𝑦) = 𝑓(𝑥, 𝑦). Dễ thấy rằng: 𝑓𝑖(�̅�, �̅�) = 0 mod 𝑞 (với 𝑖 = 1,2,3). Ta xây dựng lưới 𝐿 được căng bởi các véctơ hàng của ma trận 𝐼 được định nghĩa như sau (các hàng của ma trận 𝐼 lần lượt là hệ số của đa thức 𝑓1(𝑥𝑋, 𝑦𝑌) = 𝑞, 𝑓2(𝑥𝑋, 𝑦𝑌) = 𝑞𝑋𝑥 và 𝑓3(𝑥𝑋, 𝑦𝑌) = 𝑌𝑦 + 𝐴𝑋𝑥 + 𝐵. 𝐼 = ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑌 ) Do các hàng của 𝐼 là ℝ-độc lập tuyến tính nên lưới 𝐿 có số chiều là 𝑛 = 3. Áp dụng thuật toán rút gọn lưới LLL ta thu được một cơ sở mới 𝑏1 = (𝐶0, 𝐶1, 𝐶2), 𝑏2 = (𝐶3, 𝐶4, 𝐶5) và 𝑏3 = (𝐶6, 𝐶7, 𝐶8). ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑌 ) 𝐿𝐿𝐿 → ( 𝐶0 𝐶1 𝐶2 𝐶3 𝐶4 𝐶5 𝐶6 𝐶7 𝐶8 ) 87 Theo định nghĩa, ta có định thức của lưới: det(𝐿) = |det(𝐼)| = 𝑞2𝑋𝑌. Đặt 𝛾0 = 𝐶0, 𝛾1 = 𝐶1 𝑋 , 𝛾2 = 𝐶2 𝑌 , 𝛾3 = 𝐶3, 𝛾4 = 𝐶4 𝑋 và 𝛾5 = 𝐶5 𝑌 . Khi đó, ta có: 𝑏1 = (𝛾0, 𝛾1𝑋, 𝛾2𝑌), 𝑏2 = (𝛾3, 𝛾4𝑋, 𝛾5𝑌). Tiếp theo ta đặt 𝑔1(𝑥, 𝑦) = 𝛾0 + 𝛾1𝑥 + 𝛾2𝑦 và 𝑔2(𝑥, 𝑦) = 𝛾3 + 𝛾4𝑥 + 𝛾5𝑦. Do 𝑔1(𝑥𝑋, 𝑦𝑌) và 𝑔2(𝑥𝑋, 𝑦𝑌) là các tổ hợp tuyến tính nguyên của 𝑓𝑖(𝑥𝑋, 𝑦𝑌) (với 𝑖 = 1,2,3) nên các đa thức 𝑔1(𝑥, 𝑦) và 𝑔2(𝑥, 𝑦) nhận (�̅�, �̅�) là nghiệm theo modulo 𝑞. Do đó, các đa thức 𝑔1(𝑥, 𝑦), 𝑔2(𝑥, 𝑦) thỏa mãn điều kiện thứ nhất của Bổ đề 3.13, tức là: 𝑔1(�̅�, �̅�) = 0 mod 𝑞 và 𝑔2(�̅�, �̅�) = 0 mod 𝑞 (3.7) Hơn nữa, ta có 𝑏1 = ‖𝑔1(𝑥𝑋, 𝑦𝑌)‖. Do đó, theo Mệnh đề 3.4, ta có: ‖𝑏1‖ < 2 3−1 4 (det(𝐿)) 1 3 = √2(𝑞2𝑋𝑌) 1 3. Mặt khác, theo giả thiết, ta có 𝑋𝑌 < 𝑞 6√6 . Suy ra ‖𝑔1(𝑥𝑋, 𝑦𝑌)‖ < 𝑞 √3 (3.8) Theo Bổ đề 3.13 và từ (3.7), (3.8), ta suy ra 𝑔1(�̅�, �̅�) = 0 trên vành số nguyên. Tương tự, ta có ‖𝑏2‖ = ‖𝑔2(𝑥𝑋, 𝑦𝑌)‖. Cũng theo Mệnh đề 3.4, ta có: ‖𝑏2‖ ≤ 2 1 4 ( det(𝐿) ‖𝑏1‖ ) 1 2 . Theo giả thiết, ta có ‖𝑏1‖ > 3√2𝑋𝑌. Suy ra: ‖𝑏2‖ ≤ 2 1 4 ( det(𝐿) ‖𝑏1‖ ) 1 2 < 2 1 4 ( 𝑞2𝑋𝑌 3√2𝑋𝑌 ) 1 2 = 𝑞 √3 . Khi đó, ta suy ra 𝑔2(�̅�, �̅�) = 0 trên vành số nguyên. Tiếp theo, ta giải hệ 2 phương trình 2 ẩn 𝑔1(𝑥, 𝑦) = 0 và 𝑔2(𝑥, 𝑦) = 0. Khi đó, nếu tồn tại 𝑦 sao cho 𝑦𝑃 = 𝑄 thì �̅� = �̅� .Từ �̅� ta có thể tìm được khóa bí mật dài hạn 𝑎.■ Từ Mệnh đề 3.15, ta xây dựng thuật toán tìm khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr như sau: 88 Đầu vào: Các giá trị (𝑟, 𝑠) của lược đồ chữ ký số EC-Schnorr. Đầu ra: Khóa bí mật dài hạn 𝑎 hoặc tấn công không thực hiện được. Bước 1: Tính 𝐴 = −𝑟−1mod 𝑞 và 𝐵 = 𝑠𝑟−1mod 𝑞 Bước 2: Xây dựng lưới 𝐿 được sinh từ (𝑞, 0,0), (0, 𝑞𝑋, 0) và (𝐵, 𝐴𝑋, 𝑌). Sử dụng thuật toán LLL, tìm cơ sở LLL-rút gọn của lưới 𝐿. ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑌 ) 𝐿𝐿𝐿 → ( 𝐶0 𝐶1 𝐶2 𝐶3 𝐶4 𝐶5 𝐶6 𝐶7 𝐶8 ) Bước 3.Tính 𝛾0 = 𝐶0, 𝛾1 = 𝐶1 𝑋 , 𝛾2 = 𝐶2 𝑌 , 𝛾3 = 𝐶3, 𝛾4 = 𝐶4 𝑋 và 𝛾5 = 𝐶5 𝑌 . Bước 4. Xây dựng đa thức 𝑔1(𝑥, 𝑦), 𝑔2(𝑥, 𝑦) tương ứng là véctơ đầu tiên và véctơ thứ hai của cơ sở LLL-rút gọn. Cụ thể, 𝑔1(𝑥, 𝑦) = 𝛾0 + 𝛾1𝑥 + 𝛾2𝑦 và 𝑔2(𝑥, 𝑦) = 𝛾3 + 𝛾4𝑥 + 𝛾5𝑦. Bước 5. Giải hệ phương trình { 𝑔1(𝑥, 𝑦) = 0 𝑔2(𝑥, 𝑦) = 0 Bước 6. Nếu tồn tại 𝑦 sao cho 𝑦𝑃 = 𝑄 thì trả về đầu ra là �̅� = 𝑦, còn không thì trả về “Tấn công không thực hiện được”. Nhận xét 3.16. Đặt 𝑋 = 2𝛼 , 𝑌 = 2𝛽, khi đó điều kiện 𝑋𝑌 < 𝑞/6√6 tương đương 2𝛼+𝛽 < 𝑞/6√6 hay 𝛼 + 𝛽 < log2(𝑞/6√6). Theo Mệnh đề 3.15, ta có thể khôi phục được khóa bí mật khi: |�̅�| < 𝑋 = 2𝛼 , |�̅�| < 𝑌 = 2𝛽 và 𝑋𝑌 < 𝑞/6√6 Do đó, để tránh tấn công thì ta cần chọn: |�̅�| > 𝑋 = 2𝛼 , |�̅�| > 𝑌 = 2𝛽 và 𝑋𝑌 > 𝑞/6√6. Khi đó 2𝛼+𝛽 > 𝑞/6√6 hay 𝛼 + 𝛽 > log2(𝑞/6√6). Vì vậy, ta chọn: 𝛼 > log2( 𝑞 6√6 ) 2 và 𝛽 > log2( 𝑞 6√6 ) 2 89 Khi đó, điều kiện |�̅�| > 𝑋 = 2𝛼 tương đương |�̅�| > 2 log2( 𝑞 6√6 ) 2 = ( 𝑞 6√6 )1/2. Tương tự, |�̅�| > 𝑌 = 2𝛽 tương đương |�̅�| > 2 log2( 𝑞 6√6 ) 2 = ( 𝑞 6√6 )1/2. Do (6√6) 1/2 nhỏ hơn rất nhiều so với 𝑞1/2 ( 𝑞1/2 = 2128 bit nếu 𝑞 = 2256 ) nên để tránh tấn công này, ta có thể chọn |�̅�| > 𝑞1/2 và |�̅�| > 𝑞1/2 tương đương 𝑞1/2 < 𝑎, 𝑘 < 𝑞 − 𝑞1/2. Thật vậy, với mọi 𝑞 > 4, ta có 𝑞1/2 < 𝑞/2. Khi đó, theo định nghĩa của �̅�, nếu 𝑎 ≤ 𝑞/2 thì �̅� = 𝑎, do đó điều kiện |�̅�| > 𝑞1/2 suy ra 𝑎 > 𝑞1/2. Ngược lại, nếu 𝑎 > 𝑞/2 thì �̅� = 𝑎 − 𝑞, do đó điều kiện |�̅�| > 𝑞1/2 suy ra −(𝑎 − 𝑞) > 𝑞1/2 hay 𝑎 𝑞1/2 tương đương 𝑞1/2 𝑞1/2, ta suy ra 𝑞1/2 < 𝑘 < 𝑞 − 𝑞1/2. Tấn công Poulakis lên lược đồ chữ ký số EC-Schnorr Tấn công này dựa trên một cách giải của các phương trình Conic có dạng 𝑟(𝑥, 𝑦) = 𝐷𝑥𝑦 + 𝐴𝑥 + 𝐵, trong đó 𝐷, 𝐴, 𝐵 ∈ ℤ. Vì vậy, ta có thể xây dựng tấn công chỉ cần một đa thức từ véctơ đầu tiên của cơ sở LLL-rút gọn. Cụ thể, thuật toán giải phương trình 𝑟(𝑥, 𝑦) là như sau: Đầu vào: Phương trình 𝑟(𝑥, 𝑦) = 𝐷𝑥𝑦 + 𝐴𝑥 + 𝐵 = 0 trong ℤ và phân tích ra thừa số nguyên tố của 𝐵. Đầu ra: Cặp (𝑥, 𝑦) ∈ ℤ2thỏa mãn 𝑟(𝑥, 𝑦) = 0. Bước 1. Tính tập 𝐷(𝐵) gồm tất cả các ước của số nguyên B. Bước 2. Với mỗi 𝑥 ∈ 𝐷(𝐵) tính 𝑦 = −(𝐵/𝑥 + 𝐴)/𝐷. Bước 3. Nếu 𝑦 ∈ ℤ thì trả về cặp (x,y), còn không thì trả về “không tìm được nghiệm”. Chứng minh tính đúng đắn: Giả sử (𝑥, 𝑦) ∈ ℤ2 là nghiệm của 𝑟(𝑥, 𝑦) = 0. Khi đó, 𝑥(𝐷𝑦 + 𝐴) = −𝐵. Suy ra 𝑥|𝐵 hay 𝐵 = 𝑥𝛽, trong đó 𝛽 ∈ ℤ. Đơn giản hóa phương trình, ta thu được 𝐷𝑦 + 𝐴 + 𝛽 = 0. Do đó, 90 𝑦 = −(𝛽 + 𝐴)/𝐷 = −(𝐵/𝑥 + 𝐴)/𝐷. Nếu 𝑦 ∈ ℤ thì ta có (𝑥, 𝑦) là nghiệm của 𝑟(𝑥, 𝑦) = 0. Mệnh đề 3.17. Đối với lược đồ chữ ký số EC-Schnorr, giả sử tồn tại các số nguyên dương 𝑋, 𝑌 sao cho |𝑘−1̅̅ ̅̅ ̅| < 𝑋, |�̅�| < 𝑌 và 𝑋2𝑌 < 𝑞/(6√6) thì có thể tìm được khóa bí mật dài hạn 𝑎 của lược đồ chữ ký trong thời gian đa thức. Chứng minh: Nhân cả hai vế của (3.6) với 𝑘−1 và 𝑟−1, ta có 𝑘−1𝑎 + (𝑠𝑟−1)𝑘−1 − 𝑟−1 = 0 mod 𝑞 Đặt 𝐴 = 𝑠𝑟−1mod 𝑞 và 𝐵 = −𝑟−1mod 𝑞. Khi đó, cặp (𝑘−1̅̅ ̅̅ ̅, �̅�) là nghiệm của phương trình đồng dư 𝑓(𝑥, 𝑦) = 𝑥𝑦 + 𝐴𝑥 + 𝐵 = 0 mod 𝑞. Xét các đa thức 𝑓1(𝑥, 𝑦) = 𝑞, 𝑓2(𝑥, 𝑦) = 𝑞𝑥 và 𝑓3(𝑥, 𝑦) = 𝑓(𝑥, 𝑦). Dễ thấy các đa thức này cũng nhận (𝑘−1̅̅ ̅̅ ̅, �̅�) là nghiệm trên modulo 𝑞. Xây dựng lưới 𝐿 được căng các véctơ hàng của ma trận 𝐽, ở đó 𝐽 có các hàng lần lượt là hệ số của các đa thức 𝑓1(𝑥𝑋, 𝑦𝑌) = 𝑞, 𝑓2(𝑥𝑋, 𝑦𝑌) = 𝑞𝑋𝑥 và 𝑓3(𝑥𝑋, 𝑦𝑌) = 𝑋𝑌𝑥𝑦 + 𝐴𝑋𝑥 + 𝐵. 𝐽 = ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑋𝑌 ) Do các hàng của 𝐽 là ℝ-độc lập tuyến tính nên lưới có số chiều bằng 𝑛 = 3. Áp dụng thuật toán LLL vào lưới 𝐿 ta thu được một cơ sở mới như sau. ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑋𝑌 ) 𝐿𝐿𝐿 → ( 𝐶0 𝐶1 𝐶2 𝐶3 𝐶4 𝐶5 𝐶6 𝐶7 𝐶8 ) Ta có det(𝐿) = |det(𝐼)| = 𝑞2𝑋2𝑌. Đặt 𝛾0 = 𝐶0, 𝛾1 = 𝐶1/𝑋, 𝛾2 = 𝐶2/𝑋𝑌 . Ta có 𝑏1 = (𝛾0, 𝛾1𝑋, 𝛾2𝑋𝑌). Đặt 𝑔1(𝑥, 𝑦) = 𝛾0 + 𝛾1𝑥 + 𝛾2𝑥𝑦. Do 𝑔1(𝑥𝑋, 𝑦𝑌) là các tổ hợp tuyến tính nguyên của 𝑓𝑖(𝑥𝑋, 𝑦𝑌) với 𝑖 = 1,2,3 nên 𝑔1(𝑘−1̅̅ ̅̅ ̅, �̅�) = 0 mod 𝑞. Do vậy đa thức 𝑔1(𝑥, 𝑦) thỏa mãn điều kiện trong Bổ đề 3.13. Bây giờ ta cần xác minh điều kiện để các đa thức 𝑔1(𝑥, 𝑦) thỏa mãn điều kiện của Bổ đề 3.13. Theo Mệnh đề 3.4, 91 ‖𝑏1‖ ≤ 2 3−1 4 (det(𝐿)) 1 3 = √2(𝑞2𝑋2𝑌) 1 3 Do đó, để 𝑔1(𝑥, 𝑦) thỏa mãn điều kiện của Bổ đề 3.13, ta cần √2(𝑞2𝑋2𝑌) 1 3 < 𝑞 √3 Nói cách khác, ta cần 𝑋2𝑌 < 𝑞 6√6 . Khi đó, ta có ‖𝑏1‖ = ‖𝑔1(𝑥𝑋, 𝑦𝑌)‖ < 𝑞 √3 . Thật vậy, nếu 𝛾2 = 0 thì 𝛾0 = 𝑞𝑡0, 𝛾1 = 𝑞𝑋𝑡1, với 𝑡0, 𝑡1 ∈ ℤ và 𝑞√2 < ‖𝑏1‖ < 𝑞/√3 (vô lý). Suy ra, 𝛾2 ≠ 0 và ‖𝑏1‖ = ‖𝑔1(𝑥𝑋, 𝑦𝑌)‖ < 𝑞 √3 . Theo Bổ đề 3.13, ta có 𝑔1(𝑘−1̅̅ ̅̅ ̅, �̅�) = 0 trên vành số nguyên. Áp dụng thuật toán giải phương trình cho 𝑔1(𝑥, 𝑦) ta thu được �̅� và 𝑘−1̅̅ ̅̅ ̅. Ta có thuật toán tìm khóa bí mật dài hạn của lược đồ EC-Schnorr theo Mệnh đề 3.17 như sau: Đầu vào: Các giá trị (𝑟, 𝑠) của EC-Schnorr. Đầu ra: Khóa 𝑎 hoặc “Tấn công không thực hiện được”. Bước 1. Tính 𝐴 = 𝑠𝑟−1 mod 𝑞 và 𝐵 = −𝑟−1mod 𝑞. Bước 2. Xây dựng lưới 𝐿 được sinh từ (𝑞, 0,0), (0, 𝑞𝑋, 0) và (𝐵, 𝐴𝑋, 𝑋𝑌). Sử dụng thuật toán LLL, tìm cơ sở LLL-rút gọn của lưới 𝐿. ( 𝑞 0 0 0 𝑞𝑋 0 𝐵 𝐴𝑋 𝑋𝑌 ) 𝐿𝐿𝐿 → ( 𝐶0 𝐶1 𝐶2 𝐶3 𝐶4 𝐶5 𝐶6 𝐶7 𝐶8 ) Bước 3. Tính: 𝛾0 = 𝐶0, 𝛾1 = 𝐶1/𝑋, 𝛾2 = 𝐶2/𝑋𝑌 . Bước 4. Xây dựng đa thức 𝑔1(𝑥, 𝑦) từ véctơ đầu tiên của cơ sở LLL- rút gọn. Cụ thể 𝑔1(𝑥, 𝑦) = 𝛾0 + 𝛾1𝑥 + 𝛾2𝑥𝑦. Bước 5. Sử dụng Thuật toán 3.3 giải phương trình Conic để tính tập 𝑆 gồm các nghiệm (𝑥, 𝑦) của đa thức 𝑔1(𝑥, 𝑦) = 0. Bước 6. Nếu tồn tại (𝑥0, 𝑦0) ∈ 𝑆 và 𝑦0𝑃 = 𝑄 thì trả về �̅� = 𝑦0, còn không trả về “Tấn công không thực hiện được”. 92 Nhận xét 3.18. Đặt 𝑋 = 2𝛼 , 𝑌 = 2𝛽, khi đó điều kiện 𝑋2𝑌 < 𝑞/6√6 tương đương 22𝛼+𝛽 < 𝑞/6√6 hay 2𝛼 + 𝛽 < log2(𝑞/6√6). Theo Mệnh đề 3.17, ta có thể khôi phục được khóa bí mật khi: |𝑘−1̅̅ ̅̅ ̅| < 𝑋, |�̅�| < 𝑌 và 𝑋2𝑌 < 𝑞 6√6 . Do đó, để tránh tấn công thì ta cần chọn: |𝑘−1̅̅ ̅̅ ̅| > 𝑋 = 2𝛼 , |�̅�| > 𝑌 = 2𝛽 và 𝑋2𝑌 > 𝑞/6√6. Khi đó 22𝛼+𝛽 > 𝑞/6√6 hay 2𝛼 + 𝛽 > log2(𝑞/6√6). Vì vậy, ta chọn 𝛼 > log2( 𝑞 6√6 ) 3 và 𝛽 > log2( 𝑞 6√6 ) 3 Khi đó, điều kiện |𝑘−1̅̅ ̅̅ ̅| > 𝑋 = 2𝛼 tương đương |𝑘−1̅̅ ̅̅ ̅| > 2 log2( 𝑞 6√6 ) 3 = ( 𝑞 6√6 )1/3. Tương tự, điều kiện, |�̅�| > 𝑌 = 2𝛽 tương đương |�̅�| > 2 log2( 𝑞 6√6 ) 3 = ( 𝑞 6√6 )1/3. Do (6√6) 1/3 nhỏ hơn rất nhiều so với 𝑞1/3 (𝑞1/3 ≈ 285 bit nếu 𝑞 = 2256) nên để tránh tấn công này, ta có thể chọn |𝑘−1̅̅ ̅̅ ̅| > 𝑞1/3, |�̅�| > 𝑞1/3, tương đương, 𝑞1/3 < 𝑎, 𝑘−1 < 𝑞 − 𝑞1/3. Nhận xét 3.19. Ngoài điều kiện liên quan đến 𝑎 và 𝑘−1, ta cũng có thể áp dụng tấn công có các điều kiện liên quan đến 𝑎−1 và 𝑘. Cụ thể, ta thực hiện biến đổi như sau. Nhân cả hai vế của phương trình (3.6) với 𝑎−1, ta có: 𝑎−1𝑘 − 𝑠𝑎−1 − 𝑟 = 0  mod 𝑞 Đặt 𝐴 = −𝑠 mod 𝑞 và 𝐵 = −𝑟 mod 𝑞. Khi đó, cặp (𝑎−1̅̅ ̅̅ ̅, �̅�) là nghiệm của phương trình đồng dư 𝑓(𝑥, 𝑦) = 𝑥𝑦 + 𝐴𝑥 + 𝐵 = 0 mod 𝑞. Áp dụng tấn công tương tự như đã được trình bày như trên, ta cũng có thể khôi phục được khóa bí mật dài hạn 𝑎 và khóa bí mật tức thời 𝑘 nếu |𝑎−1̅̅ ̅̅ ̅| < 𝑋, |�̅�| < 𝑌, trong đó 𝑋 = 2𝛼 , 𝑌 = 2𝛽 và 2𝛼 + 𝛽 < log2(𝑞/6√6). Vì vậy, để tránh tấn công trong trường hợp này ta có thể chọn 𝑞1/3 < 𝑎−1, 𝑘 < 𝑞 − 𝑞1/3. 93 Nhận xét 3.20. Trong lược đồ chữ số EC-Schnorr-M, khóa bí mật tức thời 𝑘𝑀 = 𝐻(𝑘||𝑚), trong đó 𝑘 ∈𝑅 [1, 𝑞 − 1]. Do đó, nếu các khóa bí mật dài hạn a và khóa bí mật tức thời 𝑘𝑀 của lược đồ chữ ký số EC-Schnorr-M thỏa mãn các điều kiện như trong lược đồ chữ ký số EC-Schnorr thì ta có thể khôi phục được khóa bí mật dài hạn và tức thời của lược đồ. Các kết quả thực nghiệm NCS đã cài đặt các Thuật toán 3.2 và 3.4 để tìm khóa bí mật của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M sử dụng phần mềm tính toán đại số Magma được cài đặt trên máy tính CPU Intel Core i7-6700 3.4 Ghz, 8Gb RAM, sử dụng bộ tham số NIST P-256 [40] có dạng 𝑦2 = 𝑥3 + 𝐴𝑥 + 𝐵 trường hữu hạn 𝔽𝑝 với các tham số cụ thể như trong Bảng 3.1 ở phần trên. Trong từng tấn công, các lược đồ EC-Schnorr-M, EC-Schnorr cùng sử dụng các khóa bí mật dài hạn 𝑎 và tức thời 𝑘 có các kích thước như sau: Tấn công q (bit) |�̅�|(bit) |𝑘−1̅̅ ̅̅ ̅|(bit) |�̅�|(bit) Thời gian (giây) Blake 256 126 256 126 0,01 Poulakis 256 80 80 256 1,36 Trong mỗi tấn công lên từng lược đồ chữ ký số, NCS thực nghiệm mô phỏng tấn công 100 lần. Chi tiết tỉ lệ thành công và thời gian trung bình được trình bày trong bảng sau: Lược đồ EC-Schnorr Lược đồ EC-Schnorr-M Tấn công Tỉ lệ thành công Thời gian trung bình Tỉ lệ thành công Thời gian trung bình Blake 72% 0,04 giây 71% 0,05 giây Poulakis 100% 1,6 giây 100% 1,7 giây 94 3.2.4. Đề xuất tiêu chuẩn cho khóa bí mật của lược đồ kiểu EC-Schnorr Nhận xét 3.21. Qua kết quả thực nghiệm, ta thấy rằng các tấn công có thể tìm được các khóa bí mật trong thời gian rất nhanh. Cụ thể, đối với lược đồ chữ ký số kiểu EC-Schnorr sử dụng cấp nhóm q có kích thước 256 bit, ta có thể khôi phục các khóa bí mật dưới 2 giây nếu thỏa mãn các điều kiện sau đây: - Theo tấn công của Blake: 𝑎, 𝑘 ∉ [𝑞1 2⁄ , 𝑞 − 𝑞1 2⁄ ] - Theo tấn công của Poulakis: 𝑎, 𝑘−1, 𝑎−1, 𝑘 ∉ [𝑞1 3⁄ , 𝑞 − 𝑞1 3⁄ ] Luận án đã dựa trên các tấn công tìm khóa bí mật trên lược đồ chữ ký số ECDSA để xây dựng các phiên bản tấn công tương tự lên lược đồ chữ ký số kiểu EC-Schnorr. Các kết quả lý thuyết và thực nghiệm cho thấy, trong lược đồ chữ ký số kiểu EC-Schnorr, khi các khóa ký thỏa mãn điều kiện tấn công thì phương pháp của Blake và Poulakis có thể tìm được các khóa ký trong thời gian rất nhanh. Do đó, để đảm bảo an toàn khi sử dụng các lược đồ chữ ký số trong thực tế ta cần phải lựa chọn các khóa ký và nghịch đảo của chúng một cách cẩn thận và chính xác nhằm tránh các tấn công như vậy. Tiêu chuẩn 3.3. Các khóa ký tức thời và khóa ký dài hạn trong lược đồ chữ ký kiểu EC-Schnorr phải thỏa mãn điều kiện sau để tránh các tấn công kiểu Blake và Poulakis: 𝑞1 2⁄ < 𝑎, 𝑎−1, 𝑘, 𝑘−1 < 𝑞 − 𝑞1 2⁄ . 3.2.5. Đánh giá về bộ nhớ và hiệu năng của EC-Schnorr-M khi áp dụng Tiêu chuẩn 3.3 Tiêu chuẩn 3.3 yêu cầu phải kiểm tra các tham số khóa bí mật dài hạn (𝑎, 𝑎−1) và tham số khóa bí mật tức thời 𝑘, 𝑘−1 nằm trong khoảng (𝑞1 2⁄ 𝑞 − 𝑞1 2⁄ ). Đối với việc kiểm tra 𝑎, 𝑎−1 ∈ (𝑞, 𝑞 − 𝑞1/2 ) không ảnh hưởng đến hiệu năng của lược đồ EC-Schnorr-M vì việc này chỉ phải thực hiện một lần và có thể đưa vào trong quá trình sinh tham số bí mật dài hạn của hệ mật. Việc kiểm tra khóa bí mật tức thời 𝑘, 𝑘−1 ∈ (𝑞, 𝑞 − 𝑞1/2 ) sẽ yêu cầu một phép tính nghịch đảo modulo (giá trị 𝑞 − 𝑞1/2 sẽ được tính toán trước bên 95 ngoài thuật toán chính của EC-Schnorr-M). Bộ nhớ tăng lên một khai báo biến 𝑘−1 𝑚𝑜𝑑 𝑛 với kích thước theo tiêu chuẩn an toàn tối thiểu cỡ 256-bit và một b; một biến dùng để lưu trữ giá trị 𝑞 − 𝑞1/2 với kích thước tối thiểu cỡ 256-bit. Như vậy bộ nhớ tăng thêm khoảng 02-byte (kết quả hiệu năng được đưa ra cụ thể ở mục 3.5). 3.3. Ý nghĩa của việc nghiên cứu và đề xuất tiêu chuẩn tăng cường an toàn cho khóa bí mật của lược đồ chữ ký số EC-Schnorr-M 3.3.1. Ý nghĩa của tiêu chuẩn về khóa bí mật Như đã trình bày ở mục 3.2, tất cả các chuẩn đối với hệ mật Elliptic hoặc lược đồ chữ ký số dựa trên đường cong elliptic đưa ra đều có các điểm chung về điều kiện cấp của đường cong và cấp của nhóm điểm (cấp của đường cong phải có ước nguyên tố lớn 𝑛 và độ lớn theo bit của 𝑛 đảm bảo tính khó giải của bài toán ECDLP. Điểm chung tiếp theo là tiêu chuẩn để chống lại những tấn công hiệu quả, phổ quát đối với hệ mật Elliptic, bao gồm tấn công MOV, tấn công kiểu đường cong bất quy tắc và siêu kỳ dị. Qua khảo sát, chỉ có duy nhất 2 chuẩn trên thế giới (ISO và SEC1v2 của Certicom) có tiêu chuẩn liên quan đến khóa bí mật, đó là yêu cầu về phân rã 𝑛 = ±1 của cấp nhóm. Bản chất ở đây liên quan đến kiểu tấn công đối với khóa bí mật dựa trên giả thuyết Diffie-Hellman mạnh, cái mà phụ thuộc vào phân rã của 𝑛 ± 1. Tiêu chuẩn này được khuyến cáo chỉ áp dụng được với các lược đồ mật mã mà tạo ra một bộ tiên đoán có thể trả về lũy thừa khóa bí mật của nó với một đầu vào bất kỳ [10], chẳng hạn như lược đồ chữ ký mù BLS và lược đồ mã hóa ElGamal nguyên thủy. Cách tiếp cận của NCS trong luận án này, một phần cũng giống như của ISO và Certicom, tập trung vào nghiên cứu các tấn công liên quan đến khóa bí mật của lược đồ để đưa ra tiêu chuẩn nhằm tránh tấn công trực tiếp khám phá khóa bí mật, một trong những kiểu tấn công mang tính thực tế. Các 96 Tiêu chuẩn 3.1, 3.2 và Tiêu chuẩn 3.3 mà NCS đưa ra mặc dù không xuất phát từ các công trình do NCS tự nghiên cứu, tuy nhiên NCS thấy rằng đây là một vấn đề cần được quan tâm, đặc biệt là đối với những người làm về kỹ thuật mật mã. Như vậy, với yêu cầu đảm bảo cho khóa bí mật luôn được đặt lên hàng đầu nên việc nghiên cứu, đề xuất tiêu chuẩn để đảm bảo an toàn hơn cho khóa bí mật là một việc làm có ý nghĩa khoa học và thực tiễn. 3.3.2. Ý nghĩa của lược đồ EC-Schnorr-M trong việc chống lại tấn công lặp khóa bí mật a) Mô tả tấn công Rowhammer Tấn công Rowhammer là một kỹ thuật tấn công cho phép kẻ tấn công sửa đổi dữ liệu trong bộ nhớ mà không cần truy cập đến nó. Bản chất của tấn công Rowhammer là sử dụng mã phần mềm để tạo ra lỗi vào phần cứng theo cách có thể kiểm soát được. Cụ thể là gây ra việc "lật bit" bằng cách truy cập nhanh và liên tục vào dữ liệu trong một hàng bộ nhớ trên chip RAM để tạo ra điện tích làm thay đổi dữ liệu được lưu trữ ở các địa chỉ khác trong "hàng bộ nhớ". Các hàng bộ nhớ tấn công được gọi là "hàng xâm lược" và hàng nơi xảy ra lật bit được gọi là "hàng nạn nhân". Trong công trình “Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors” của nhóm tác giả Yoongu Kim đã chứng minh rằng, bằng cách liên tục truy cập vào hai vị trí bộ nhớ “hàng xâm lược” trong không gian địa chỉ ảo của một tiến trình, có thể gây ra sự thay đổi bit ở vị trí “hàng nạn nhân” thứ ba. Điều này có thể thực hiện được vì các tế bào DRAM ngày càng nhỏ và sát nhau hơn, làm cho việc ngăn chặn các tế bào DRAM tương tác điện với nhau trở nên khó khăn hơn. Do đó, việc truy cập vào một vị trí trong bộ nhớ có thể làm xáo trộn các vị trí 97 lân cận, khiến điện tích bị rò rỉ vào hoặc ra khỏi các ô nhớ lân cận, điều này có thể thay đổi giá trị của ô từ 1 thành 0 hoặc ngược lại. Hiện tượng lật bit được tạo ra bằng cách sử dụng đoạn mã nhỏ sau đây: code1a: mov (X),% eax // Đọc từ địa chỉ X mov (Y),% ebx // Đọc từ địa chỉ Y clflush (X) // Xóa bộ nhớ cache cho địa chỉ X clflush (Y) // Xóa bộ nhớ cache cho địa chỉ Y jmp code1a Quy trình gây ra hiện tượng lật bit được giải thích gồm hai công đoạn sau đây: - Lựa chọn địa chỉ: Để code1a gây ra hiện tượng lật bit, địa chỉ X và Y phải ánh xạ tới các hàng DRAM khác nhau trong cùng một khối. Mỗi chip DRAM chứa nhiều hàng ô. Truy cập một byte trong bộ nhớ bao gồm việc chuyển dữ liệu từ hàng vào “bộ đệm hàng” của chip (xả các ô của hàng trong quá trình này), đọc hoặc ghi nội dung của bộ đệm hàng, sau đó sao chép nội dung của bộ đệm hàng trở lại các ô của hàng ban đầu (sạc lại các tế bào). Chính quá trình “kích hoạt” một hàng (xả và sạc lại) có thể làm xáo trộn các hàng liền kề. Nếu điều này được thực hiện đủ số lần, giữa các lần tự động làm mới các hàng liền kề (thường xảy ra sau mỗi 64ms), điều này có thể gây ra hiện tượng lật bit trong các hàng liền kề. Bộ đệm hàng hoạt động như một bộ đệm, vì vậy nếu địa chỉ X và Y trỏ đến cùng một hàng, thì code1a sẽ chỉ đọc từ bộ đệm hàng mà không kích hoạt hàng liên tục. Hơn nữa, mỗi khối DRAM có khái niệm riêng về “hàng hiện đang được kích hoạt”. Vì vậy, nếu địa chỉ X và Y trỏ đến các khối khác nhau, code1a sẽ chỉ đọc từ bộ đệm hàng của các khối đó mà không kích hoạt các hàng liên tục. Tuy nhiên, nếu X và Y trỏ đến các hàng khác nhau trong cùng một giàn, code1a sẽ khiến các hàng của X và Y được kích hoạt nhiều lần. Đây được gọi là "Rowhammer". 98 - Bỏ qua bộ đệm: Không có lệnh CLFLUSH của code1a , các lần đọc bộ nhớ (MOV) sẽ được phân phát từ bộ đệm của CPU. Việc xóa bộ nhớ cache bằng CLFLUSH buộc các truy cập bộ nhớ được gửi đến DRAM bên dưới, điều này cần thiết để làm cho các hàng được kích hoạt nhiều lần. Trong nhiều năm kể từ khi cuộc tấn công Rowhammer đầu tiên được phát hiện, các nhà nghiên cứu đã chứng minh nhiều cách sử dụng kỹ thuật này để thay đổi dữ liệu được lưu trữ trên thẻ RAM, bao gồm cả thế hệ DDR3 và DDR4. Mặc dù ban đầu giới hạn trong các tình huống mà kẻ tấn công có quyền truy cập vật lý vào mục tiêu, các nhà nghiên cứu cuối cùng cho thấy một cuộc tấn công Rowhammer có thể được thực hiện từ xa thông qua web và sử dụng kỹ thuật này để giành quyền kiểm soát máy ảo Linux trên đám mây. Như các nhà nghiên cứu của Google Project Zero đã giải thích vào năm 2015, tấn công Rowhammer ngày càng khả thi và hiệu quả vì các tế bào DRAM đang dần trở nên nhỏ và sát nhau hơn. Việc thu nhỏ và khả năng đóng gói nhiều dung lượng bộ nhớ hơn đã làm cho việc ngăn chặn các tế bào DRAM tương tác điện với nhau trở nên khó khăn hơn. "Rowhammer là một hiện tượng ghép điện trong silicon của chính nó, cho phép bỏ qua tiềm năng của các chính sách bảo vệ phần cứng và bộ nhớ phần mềm. Điều này có thể cho phép thực thi các đoạn mã không tin cậy để thoát ra khỏi sandbox của nó và nắm quyền kiểm soát toàn bộ hệ thống" phát biểu từ nhóm nghiên cứu của Google (Yoongu Kim và các cộng sự). Yoongu Kim hiện là kỹ sư phần mềm tại Google, là một trong những nhà nghiên cứu đã báo cáo lỗ hổng Rowhammer đầu tiên. Tấn công này còn được mở rộng thành “Half-Double”, có thể gây ra các cú lộn bit ở khoảng cách của một hàng DRAM. Half-Double hiển thị các “hàng kẻ xâm lược” có thể gây ra hiện tượng lộn xộn trên các “hàng nạn nhân” ở xa nhau hơn. Nhóm nghiên cứu lưu ý rằng "Với Half-Double, chúng tôi đã quan sát thấy hiệu ứng Rowhammer 99 lan truyền đến các hàng bên ngoài các hàng liền kề, mặc dù sức mạnh bị giảm. Với ba hàng A, B và C liên tiếp, chúng tôi có thể tấn công C bằng cách hướng một số lượng rất lớn các quyền truy cập đến A, cùng với chỉ một số ít lượng quyền truy cập đến B. Dựa trên các thử nghiệm của chúng tôi, các quyền truy cập vào B có một hiệu ứng phi tuyến tính, trong khi đó chúng dường như vận chuyển hiệu ứng Rowhammer của A lên C". b) Đối với một số bộ sinh số ngẫu nhiên tồi Các bộ tạo số ngẫu nhiên có thể chia làm 2 loại chính: các bộ tạo số giả ngẫu nhiên (pseudo-random number generator -PRNG) và các bộ tạo số ngẫu nhiên thực sự (true-random number generator - TRNG). TRNGs là các cơ chế không tất định và có thể chia làm 2 loại dựa trên nguồn nhiễu mà nó sử dụng: TRNG vật lý và TRNG phi-vật lý. TRNG vật lý sử dụng các nguồn nhiễu vật lý cho bởi phần cứng chuyên dụng, chẳng hạn như đi-ốt nhiễu, dao động tự do, phân rã phóng xạ, hiệu ứng photon lượng tử, Trong khi, TRNG phi-vật lý sử dụng các nguồn nhiễu phi-vật lý chẳng hạn như dữ liệu hệ thống như các đầu ra của các hàm API, dữ liệu RAM hoặc thời gian hệ thống, hoặc thao tác bàn phím, di chuyển chuột, chạm màn hình. PRNGs là các cơ chế tất định tạo ra một chuỗi các số “có dạng ngẫu nhiên”. Tuy nhiên, với cùng một đầu vào cho trước thì một PRNG sẽ luôn tạo ra cùng một đầu ra. Một số PRNG an toàn đã được chuẩn hoá bởi NIST và ISO là Hash-DRBG, CTR-DRBG, HMAC-DRBG [8]. Ngoài ra còn có một số bộ tạo số giả ngẫu nhiên khác, như bộ tạo đồng dư tuyến tính; bộ tạo đồng dư bậc 2, bậc 3; bộ tạo luỹ thừa modular; bộ tạo Blum-Blum-Shub; bộ tạo Micali-Schnorr. Mặc dù nhiều bộ tạo số giả ngẫu nhiên đã được chứng minh an toàn về mặt lý thuyết, nhưng trong thực tế vẫn xuất hiện các tấn công lên các bộ tạo 100 này và dẫn đến phá vỡ các hệ mật sử dụng bộ tạo đó. Đa phần các tấn công thực tế là do lỗi cài đặt hoặc do kẻ tấn công cố tình gây lỗi lên bộ tạo. Đối với các lỗi cài đặt, việc thử nghiệm và đánh giá chặt chẽ có thể phát hiện được các lỗi này. Tuy nhiên, với các lỗi do kẻ tấn công cố tình gây lỗi (ví dụ các tấn công kênh kề lên các mạch phần cứng) lên thiết bị thì người thiết kế rất khó kiểm soát do sự phát triển nhanh chóng về năng lực tính toán. Do đó, vấn đề dùng lặp lại khóa bí mật tức thời, hoặc nhiều khóa bí mật tức thời có tính chất đặc biệt là chứa các dãy bit lặp lại giống nhau do bộ tạo số giả ngẫu nhiên là hoàn toàn có thể xảy ra. Để thấy được ý nghĩa thực tiễn của việc nghiên cứu đề xuất lược đồ chữ ký số EC-Schnorr-M trong việc chống lại tấn công sử dụng khóa bí mật bị lặp lại, chúng ta xem xét một số tấn công thực tế sau đây đối với các bộ sinh số ngẫu nhiên mà phá vỡ độ an toàn của hệ mật được sử dụng. • Bộ sinh số ngẫu nhiên trong thư viện mật mã OpenSSL Năm 2008, Bello đã khám phá ra rằng bộ sinh số ngẫu nhiên trong OpenSSL trên hệ điều hành Debian là có thể dự đoán. Lỗ hổng này là do một gói dữ liệu được cập nhật năm 2006 bởi một nhà thiết kế của Debian. Nhà thiết kế đó đã bỏ đi một phần code được sử dụng trong quá trình sinh mầm của bộ tạo số ngẫu nhiên. Bello sau đó đã phát hiện ra rằng phần code mà người lập trình đã bỏ đi là quan trọng đối với độ an toàn của hệ mật bởi vì nó chịu trách nhiệm xáo trộn dữ liệu ngẫu nhiên vào mầm. Điều này dẫn đến mầm sinh ngẫu nhiên trong OpenSSL là duy nhất dựa trên ID của quá trình đang xử lý, mà có tối đa 32768 khả năng mặc định bởi nền tảng Linux. Với chỉ 32768 mầm có thể, có nghĩa là mầm có thể dự đoán dễ dàng hơn và một cấu trúc OpenSSL bất kỳ mà sử dụng bộ sinh số ngẫu nhiên này sẽ trở nên dễ bị tổn thương bởi các tấn công. 101 • Khoá yếu trong các thiết bị mạng Năm 2012, một lỗ hổng nghiêm trọng trong việc sinh ngẫu nhiên trên hệ điều hành Linux đã dẫn đến một số lượng lớn các chứng chỉ TLS và các khoá SSH trở nên dễ dàng phân tích và do đó chúng bị thoả hiệp. Các nhà nghiên cứu chỉ ra rằng một số khoá bí mật của RSA có thể khôi phục được do các vấn đề về entropy thấp. • Lỗ hổng trong hệ thống chức thực số công dân Đài Loan Trong hội nghị Asiacrypt 2013, Bernstein cùng đồng sự đã chỉ ra rằng các thẻ căn cước thông minh được cấp bởi chính phủ Đài Loan có lỗ hổng. Nghiên cứu cũng liên quan đến các khoá bí mật có độ an toàn entropy thấp. Các nhà nghiên cứu đã đánh giá 2 triệu khoá RSA 1024-bit từ cơ sở dữ liệu “chứng minh nhân dân số” của Đài Loan và thấy rằng 184 các khoá trong đó bị phân tích dễ dàng trong vài giờ. Họ cho rằng các khoá RSA yếu đó là do một lỗ hổng nghiệm trọng trong bộ sinh số ngẫu nhiên phần cứng. Tính ngẫu nhiên được sử dụng cho việc sinh khoá RSA chứa không đủ entropy và đã tạo ra các mẫu có thể dự đoán và các số nguyên tố RSA chung có thể dự đoán. Các thẻ thông minh bị tấn công theo cách này trên một phạm vi lớn đã có một tác động mạnh lên xã hội Đài Loan thời điểm đó. • Lỗi sinh số ngẫu nhiên đối với ví Bitcoin trên Android Năm 2013, một mối nguy hiểm đã được phát hiện trong thư viện Java java.security, trong lớp SecureRandom. Lỗ hổng này là do SecureRandom có các giá trị va chạm, và dẫn đến nó có thể tạo ra cùng một đầu ra 2 lần (hiện tượng lặp khóa). Điều này có nghĩa là SecureRandom có một lỗ hổng entropy lớn vì đầu ra trở nên có thể dự đoán. Vì điều này, các thuật toán dựa trên SecureRandom để tạo khoá hoặc các thành phần ngẫu nhiên mật mã khác cũng bị thoả hiệp. 102 Một trong các thuật toán phụ thuộc đó là ví Bitcoin Android. Ví Bitcoin Android sử dụng thuật toán ký số ECDSA để ký các giao dịch Bitcoin, thuật toán này sử dụng lớp SecureRandom Java trên các thiết bị Android để tạo một số ngẫu nhiên cho mỗi chữ ký. Vì lỗ hổng này, cùng một số ngẫu nhiên có thể được tạo ra để dùng cho 2 chữ ký khác nhau. Khi đó, kẻ tấn công có thể dễ dàng khôi phục khoá bí mật của lược đồ. Sử dụng khoá bí mật đó, một kẻ tấn công có thể ký một giao dịch bất kỳ và do đó đánh cắp Bitcoin từ ví Bitcoin bị ảnh hưởng. Mối nguy hiểm này có một tác động lớn bởi vì tất cả các người dùng Android với Bitcoin được lưu trữ trên thiết bị Android sẽ gặp rủi ro trong việc bị đánh cắp Bitcoin bởi các kẻ tấn công khai thác lỗ hổng này. Sau khi mối nguy hiểm này được phát hiện, Google và Bitcoin đã cập nhật bản vá an toàn để chữa lỗi này. Sau khi sửa chữa, cài đặt ví Bitcoin Android sử dụng /dev/urandom để sinh trực tiếp số ngẫu nhiên cho các chữ ký của chúng, thay vì sử dụng lớp SecureRandom của Java. • NSA cài đặt backdoor trong chuẩn sinh số ngẫu nhiên Năm 2013, bộ sinh số ngẫu tất định dựa trên đường cong elliptic Dual_EC_DRBG mà được chấp nhận là một tiêu chuẩn quốc gia NIST SP 800-90A do ảnh hưởng của NSA, đã bị cộng đồng mật mã phản đối vì phát hiện tồn tại một điểm yếu cố ý trong thuật toán cũng như các đường cong elliptic được NIST đề nghị. Dựa trên các tài liệu rò rỉ từ Edward Snowden, bộ sinh số ngẫu nhiên Dual_EC_DRBG trong chuẩn SP 800-90A chính xác là "một bẫy bí mật của NSA", cũng như về sự an toàn của các đường cong elliptic do NIST đề nghị trong chuẩn của NIST. Chẳng hạn: - NIST P-256: Có đường cong xoắn là hơi yếu, độ an toàn 2121. - NIST P-256: Có đường cong xoắn rất yếu, độ an toàn chỉ là 259. Hơn nữa, có thể tồn tại các đường cong yếu mà ta chưa biết trong số các chuẩn do NIST đề xuất, một vài đường cong yếu ở dạng 𝑦2 = 𝑥3 − 3𝑥 + 𝑏. 103 3.4. So sánh kết quả đạt được của luận án 3.4.1. So sánh về lý thuyết Giải pháp đề xuất (EC-Schnorr-M) Lược đồ gốc (EC-Schnorr) Ghi chú An toàn chứng minh được Đã đưa ra chứng minh an toàn chi tiết, rõ ràng dựa trên phương pháp chứng minh an toàn của lược đồ Schnorr gốc Chưa có (chỉ mới có chứng minh an toàn cho lược đồ Schnorr gốc; việc áp dụng sang không là hiển nhiên) Luận án áp dụng lại phương pháp chứng minh an toàn của lược đồ Schnorr trên trường hữu hạn để chứng minh cho EC-Schnorr; sau đó chỉ ra sự tương đương về mặt an toàn chứng minh được giữa lược đồ này và phiên bản đề xuất; đây là cách tiếp cận mới và cần có sự hiểu biết sâu sắc về nguyên lý chứng minh dựa trên mô hình bộ tiên tri ngẫu nhiên ROM và Bổ đề Forking Chống tấn công lặp khóa Có Không Hiệu quả Thêm một phép tính hàm băm so với EC- Schnorr gốc Một phép tính hàm băm trong môi trường tính toán hạn chế (kích thước thông điệp nhỏ/trung bình) sẽ ảnh hưởng không đáng kể về hiệu năng so với lược đồ gốc Tiêu chuẩn 3.1 (yêu cầu khóa bí mật không Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời - Do sử dụng thêm phép tính hàm băm đối với khóa bí mật tức thời nên thuật toán 104 có liên tiếp hai khối t-bit với 𝑡 ≥ 7) EC-Schnorr-M do NCS đề xuất không cần áp dụng cho khóa bí mật tức thời - Việc áp dụng cho khóa bí mật dài hạn chỉ cần kiểm tra một lần trong quá trình sinh tham số - Khi áp dụng tiêu chuẩn này cho khóa bí mật tức thời sẽ làm cho hiệu năng của thuật toán giảm đi Tiêu chuẩn 3.2 (yêu cầu khóa bí mật không có liên tiếp 3 khối t-bit với 3 ≤ 𝑡 ≤ 6) Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời Do sử dụng thêm phép tính hàm băm đối với khóa bí mật tức thời nên thuật toán EC-Schnorr-M do NCS đề xuất không cần áp dụng cho khóa bí mật tức thời Tiêu chuẩn 3.3 (an toàn cho khóa bí mật) Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời 3.4.2. So sánh về thực hành NCS đã thực nghiệm các thuật toán sinh khóa, ký và kiểm tra chữ ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M. Kết quả thực nghiệm được thực hiện trên phần mềm mã nguồn mở Sagemath trên máy tính với năng lực tính toán CPU Intel Core i7-6700 3.4 Ghz, 8Gb RAM. NCS sử dụng các tham số NIST với 𝑞 có kích thước 256 bit cùng với đường cong elliptic 𝐸: 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏 được định nghĩa trên trường hữu hạn 𝔽𝑝: 105 𝑝:= 1157920892103562487626974469494075735300861434152903141 95533631308867097853951 𝑎 ≔ -3 𝑏 ≔ 4105836372515214212932612978004726840911444101599372555 4835256314039467401291 𝑞:= 1157920892103562487626974469494075735299969552241357603 42422259061068512044369 Trên mỗi thông điệp, NCS thực hiện 100 lần tính chữ ký sau đó lấy kết quả thời gian thực hiện trung bình nhằm đánh giá chính xác nhất thời gian thực hiện của các thuật toán. Do NCS sử dụng thuật toán ký ngẫu nhiên nên cùng một thông điệp khi ta thực hiện ký 100 lần thì sẽ sinh ra 100 chữ ký khác nhau. Hàm băm được sử dụng là hàm băm SHA256 được hỗ trợ trong thư viện Python. Lược đồ chữ ký số Kích thước văn bản Thuật toán sinh khóa (giây) Thuật toán sinh khóa + kiểm tra điều kiện khóa bí mật dài hạn (giây) Thuật toán ký (giây) Thuật toán ký+kiểm tra điều kiện khóa bí mật tức thời (giây) Thuật toán kiểm tra chữ ký (giây) EC-Schnorr 0,65 M 0.01372 0.01420 0.01500 0.01668 0.03006 1,3 MB 0.01400 0.01499 0.01741 0.01818 0.03214 3,04 MB 0.01491 0.01467 0.02175 0.02267 0.03686 7,6 MB 0.01465 0.01488 0.03231 0.03370 0.04701 10,5 MB 0.01421 0.01432 0.03860 0.03944 0.05574 19,2 MB 0.01438 0.01483 0.06145 0.06281 0.07644 EC- Schnorr-M 0,65 M 0.01400 0.01412 0.01912 0.01949 0.03060 1,3 MB 0.01423 0.01434 0.02144 0.02172 0.03138 3,04 MB 0.01432 0.01485 0.03021 0.03064 0.03686 7,6 MB 0.01429 0.01438 0.05142 0.05282 0.04872 10,5 MB 0.01410 0.01431 0.06650 0.06942 0.05687 19,2 MB 0.01450 0.01475 0.10563 0.10851 0.07563 106 Qua kết quả thực nghiệm, ta có thể thấy rằng: 1. Thuật toán sinh khóa của lược đồ chữ ký số EC-Schnorr và EC- Schnorr-M có thời gian thực hiện xấp xỉ nhau và không phụ thuộc vào kích thước thông điệp. Sai số giữa các lần thực hiện (0,001 giây) là phép sai số thực hiện trên máy tính. 2. Việc thêm các điều kiện kiểm tra khóa bí mật dài hạn và khóa bí mật tức thời hầu như không ảnh hưởng đến tốc độ thực thi của thuật toán sinh khóa và ký. 3. Thuật toán ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M có thời gian thực hiện phụ thuộc vào kích thước thông điệp. Với các văn bản có kích thước nhỏ thì hai thuật toán ký của hai lược đồ có thời gian sấp xỉ nhau. Khi kích thước văn bản lớn hơn thì thời gian chênh lệch tăng lên. Điều này là do trong thuật toán ký của lược đồ chữ ký số EC-Schnorr-M sử dụng thêm một phép tính hàm băm so với thuật toán ký của lược đồ chữ ký EC-Schnoor. 4. Thuật toán kiểm tra chữ ký của lược đồ chữ ký EC-Schnorr và EC- Schnorr-M có thời gian thực hiện xấp xỉ nhau và phụ thuộc vào kích thước thông điệp. Cụ thể, kích thước thông điệp nhỏ thì ta có thời gian kiểm tra chữ ký nhanh hơn và ngược lại. Tuy nhiên, với kích thước văn bản khoảng 19,2MB thì thời gian kiểm tra chữ ký của hai thuật toán vẫn rất nhanh (xấp xỉ 0,085 giây) 3.5. Kết luận Chương 3 Các kết quả chính trong chương này bao gồm: - Phân tích, đánh giá, tổng quát hóa tấn công khôi phục khóa ký dài hạn trong lược đồ chữ ký số kiểu EC-Schnorr và đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr. (Khẳng định 3.6, Thuật toán 3.1, Khẳng định 3.11, Tiêu chuẩn 3.1, Tiêu chuẩn 3.2). 107 - Phân tích các tấn công và đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ kiểu EC-Schnorr (Mệnh đề 3.15, Thuật toán 3.2, Mệnh đề 3.17, Thuật toán 3.4, Tiêu chuẩn 3.3). - Phân tích làm rõ ý nghĩa khoa học và thực tiễn của việc nghiên cứu, đề xuất lược đồ chữ ký số EC-Schnorr-M và các tiêu chuẩn an toàn cho khóa bí mật (mục 3.3 và mục 3.4). Nội dung của chương này liên quan đến các bài báo số [3], [4] (Danh mục các công trình khoa học đã công bố). 108 Lược đồ chữ ký số đóng vai trò quan trọng trong bảo mật và an toàn thông tin phục vụ phát triển Chính phủ điện tử. Việc ứng dụng các lược đồ chữ ký số dựa trên đường cong elliptic một cách an toàn và hiệu quả là một lựa chọn phù hợp cho thế hệ Internet kết nối vạn vật, cho cuộc cách mạng công nghiệp lần thứ 4. Với mục tiêu như vậy, luận án đã có những đóng góp cụ thể như sau: A. Các kết quả đạt được của luận án: - Phân tích độ an toàn và đánh giá một số yêu cầu về hàm băm được sử dụng để đảm bảo độ an toàn cho lược đồ chữ ký số EC-Schnorr. - Phân tích tính hiệu quả và khả năng ứng dụng của lược đồ chữ ký số EC-Schnorr. - Phân tích tấn công với việc sử dụng lặp lại khóa bí mật tức thời và đánh giá các giải pháp đã có để chống tấn công này (Kết quả 2.1, Kết quả 2.2, Kết quả 2.3, Mệnh đề 2.1). - Đề xuất lược đồ chữ ký số EC-Schnorr-M dựa trên lược đồ EC- Schnorr gốc (bổ sung thêm một phép tính hàm băm giữa khóa bí mật tức thời và thông điệp) cùng các phân tích, đánh giá và chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên (Thuật toán 2.5, Mệnh đề 2.2, Hệ quả 2.4, Bổ đề 2.9, Bổ đề 2.10, Mệnh đề 2.11, Hệ quả 2.12). - Phân tích, đánh giá, tổng quát hóa tấn công khôi phục khóa ký dài hạn trong lược đồ chữ ký số kiểu EC-Schnorr và đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr, trong đó có EC- Schnorr-M (Khẳng định 3.6, Thuật toán 3.1, Khẳng định 3.11, Tiêu chuẩn 3.1, Tiêu chuẩn 3.2). 109 - Phân tích các tấn công và đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr-M (Mệnh đề 3.15, Thuật toán 3.2, Mệnh đề 3.17, Thuật toán 3.4, Tiêu chuẩn 3.3). - Phân tích làm rõ ý nghĩa khoa học và thực tiễn của việc nghiên cứu, đề xuất lược đồ chữ ký số EC-Schnorr-M và các tiêu chuẩn an toàn cho khóa bí mật dài hạn và tức thời. B. Những đóng góp mới của luận án: 1) Phân tích chỉ ra điểm yếu của giải pháp sử dụng 2 khóa bí mật tức thời nhằm ngăn chặn sử dụng trùng khóa trong quá trình tạo chữ ký. 2) Đề xuất một lược đồ chữ ký số EC-Schnorr-M dựa trên lược đồ EC- Schnorr gốc nhằm giảm thiểu việc sử dụng trùng lặp khóa bí mật tức thời, với các phân tích, đánh giá và chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên. 3) Đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr, trong đó có EC-Schnorr-M nhằm tránh bị tấn công khi khóa bí mật tức thời có các khoảng bit lặp. 4) Đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr-M nhằm chống tấn công kiểu Blake và Poulakis. C. Hướng nghiên cứu tiếp theo: - Nghiên cứu, đánh giá về khả năng ảnh hưởng của khóa bí mật dài hạn (về không gian, về các tấn công đối với hàm băm) của lược đồ chữ ký số EC- Schnorr-M. - Nghiên cứu, đánh giá về lý thuyết và thực nghiệm các tấn công cài đặt đối với lược đồ chữ ký số EC-Schnorr-M trong các thiết bị IoT. 110 DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ [1]. Triệu Quang Phong, Nguyễn Quốc Toàn, Nguyễn Tiến Xuân, “Phân tích về hai lỗi của ECDSA và các biến thể so với GOST R 34.10- 2012”, Chuyên san Nghiên cứu khoa học và công nghệ trong lĩnh vực ATTT, Ban Cơ yếu Chính phủ, số 3.CS(04)-2016. [2]. Đặng Minh Tuấn, Nguyễn Văn Căn, Nguyễn Ánh Việt, Nguyễn Tiến Xuân, “Đề xuất chữ ký số ủy nhiệm và ứng dụng cho ủy nhiệm chi trong hệ thống Bítcoin”, Kỷ yếu Hội nghị Khoa học công nghệ Quốc gia lần thứ X: Nghiên cứu cơ bản và ứng dụng Công Nghệ thông tin (FAIR); Đà Nẵng, ngày 17-18/8/2017, trang 131-137. [3]. Nguyễn Tiến Xuân, Khúc Xuân Thành, Nguyễn Quốc Toàn, “Nghiên cứu về độ an toàn của khóa bí mật trong lược đồ chữ ký số EC- Schnorr”, Hội thảo quốc gia lần thứ XXI: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông; Thanh Hóa, ngày 27-28 tháng 7 năm 2018, trang 256-261. [4]. Nguyễn Tiến Xuân, Khúc Xuân Thành và Nguyễn Quốc Toàn, “Về độ an toàn của lược đồ chữ ký số EC-Schnorr khi khóa bí mật tức thời có các khoảng bit lặp lại”, HNUE JOURNAL OF SCIENCE, Natural Sciences, 2018, Volume 63, Issue 11A, trang 3-16. [5]. Nguyễn Tiến Xuân, Nguyễn Quốc Toàn, “Về một giải pháp đảm bảo an toàn khóa bí mật tức thời trong các lược đồ chữ ký số dựa trên ECDLP”, Tạp chí Nghiên cứu khoa học và Công nghệ quân sự, Số Đặc san, tháng 8 năm 2019, trang 52-61. 111 Tài liệu tham khảo tiếng Việt [1]. Nguyễn Quốc Toàn, “Nghiên cứu xây dựng các tham số an toàn cho hệ mật Elliptic và ứng dụng”, Luận án TS, Viện KH&CN quân sự, 2012. [2]. Nguyễn Quốc Toàn và nhóm đề tài, “Xây dựng thuật toán và chương trình sinh tham số an toàn cho lược đồ chữ ký số GOST R 34.10- 2012”, Ban Cơ yếu Chính phủ, Hà Nội, 2016. [3]. Võ Tùng Linh và nhóm đề tài, “Nghiên cứu cơ sở lý thuyết và xây dựng chương trình chứng minh tính nguyên tố dựa trên đường cong elliptic và ứng dụng”, Ban Cơ yếu Chính phủ, Hà Nội, 2012. Tài liệu tham khảo tiếng Anh [4]. A Statistical Test Suite for the Validation of Random Number Generators and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22rev1a, April 2010. [5]. Amos Fiat and Adi Shamir, “How to prove yourself: Practical solutions to identification and signature problems”, In Andrew M. Odlyzko, editor, CRYPTO 1986. [6]. Arjen Klaas Lenstra, Hendrik Willem Lenstra, and László Lovász,“Factoring polynomials with rational coefficients”, Mathematische Annalen, Vol. 261, No. 4, pp. 515–534. [7]. Arjen Klaas Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. Public keys. In Reihaneh Safavi-Naini and Ran Canetti, editors, CRYPTO, volume 7417 of Lecture Notes in Computer Science, pages 626-642. Springer, 2012. [8]. Barker, E. and J. Kelsey, NIST special publication 800-90A: Recommendation for random number generation using deterministic random bit generators, 2012. 112 [9]. Brown, Daniel RL. "Sec 2: Recommended elliptic curve domain parameters." Standars for Efficient Cryptography (2010). [10]. Cheon J., Security Analysis of the Strong Diffie-Hellman Problem, Annual International Conference on the Theory and Applications of Cryptographic Techniques, In: Eurocrypt 2006. [11]. Claus-Peter Schnorr, “Efficient identification and signatures for smart cards”, CRYPTO’89, volume 435, Springer-Verlag, 1990. [12]. Daniel R. L. Brown, SEC1v2: Elliptic Curve Cryptography, Standards for Efficient Cryptography, 2009. [13]. Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. Factoring RSA keys from certified smart cards: Coppersmith in the wild. Cryptology ePrint Archive, Report 2013/599, 2013. [14]. David Pointcheval and Jacques Stern,“Security arguments for digital signatures and blind signatures”, Journal of Cryptology, 13(3):361- 396, 2000. [15]. David Brumley and Dan Boneh. Remote timing attacks are practical. Computer Networks, 48(5):701–716, 2005. [16]. Don Johnson, Alfred Menezes, and Scott Vanstone, “The Elliptic Curve Digital Signature Algorithm (ECDSA)”, 2001. [17]. Dolmatov, A. Degtyarev, “GOST R 34.10-2012: Digital Signature Algorithm”, https://tools.ietf.org/html/rfc7091. [18]. D. Boneh and G. Durfee, “Cryptanalysis of RSA with private key d less than N/sup 0.292”, IEEE trans. on Info. Theory, 46(4):1339– 1349, 2000. [19]. D. Pointcheval and J. Stern, “Security Proofs for Signature Schemes”, Eurocrypt '96, LNCS1070, Springer-Verlag, Berlin, 1996. 113 [20]. D. Poddebniak, et al, “Attacking deterministic signature schemes using fault attacks”, (EuroS&P), IEEE, 2018. [21]. D. Poulakis, “Some lattice attacks on DSA and ECDSA”, Applicable Algebra in Engineering, Comm. and Comp, 2011. [22]. Ernest F. Brickell, David Pointcheval, Serge Vaudenay, and Moti Yung, “Design validations for discrete logarithm based signature schemes”, In Hideki Imai and Yuliang Zheng, editors, PKC 2000, volume 1751 of LNCS, pages 276-292. Springer-Verlag, 2000. [23]. G. Sarath, D. C. Jinwala, and S. Patel, “A Survey on Elliptic Curve Digital Signature Algorithm and Its Variants”, CSE, DBDM, CCNET, AIFL, SCOM, CICS, 121-136, 2014. [24]. G. Neven, Nigel P. Smart, and B. Warinschi, “Hash function requirements for Schnorr signatures”, Journal of Mathematical Cryptology 3.1, 69-87, 2009. [25]. Hakim Khali and Ahcene Farah, “DSA and ECDSA-based MultiSignature Schemes”, IJCSNS International Journal of Computer Science and Network Security, 2007. [26]. H.Z. Liao, Hung-Zih, and Y.Y. Shen, “On the Elliptic curve digital signature algorithm”, Tunghai Science 8: 109-126, 2006. [27]. ISO/IEC 14888-3-2006/Amd 1-2010, “Elliptic Curve Russian Digital Signature Algorithm, Schnorr Digital Signature Algorithm, Elliptic Curve Schnorr Digital Signature Algorithm, and Elliptic Curve Full Schnorr Digital Signature Algorithm”, 2010. [28]. ISO/IEC 11770-3:2008, “Information Technology-Security Techniques-Key Management-Part 3: Mechanisms Using Asymmetric Techniques”, 2008. [29]. ISO/IEC 15946-5:2017, Information technology - Security techniques - Cryptographic techniques based on elliptic curves - Part 5: Elliptic curve generation, 2017. 114 [30]. I.F. Blake, and T. Garefalakis. “On the security of the digital signature algorithm”. Designs, Codes and Cryptography, 2002. [31]. J. Malone-Lee and N. P. Smart, “Modifications of ECDSA”. In Proceedings of Selected Areas in Cryptography - SAC’02, 2002. [32]. Kai Michaelis, Christopher Meyer, and J¨org Schwenk. Randomly failed! the state of randomness in current java implementations. In Ed Dawson, editor, CT-RSA, volume 7779 of Lecture Notes in Computer Science, pages 129- 144. Springer, 2013. [33]. K. A. Draziotis, “DSA lattice attacks based on Coppersmith’s method”, Information Processing Letters, 116(8):541–545, 2016. [34]. Kan. W, Analysis of Underlying Assumptions in NIST DRBGs, IACR Cryptol ePrint Arch, 2007. [35]. L. Lamport, Constructing digital signatures from a one-way function, Technical Report CSL98, SRI International, 1979. [36]. Mihir Bellare, Zvika Brakerski, Moni Naor, Thomas Ristenpart, Gil Segev, Hovav Shacham, and Scott Yilek. Hedged public-key encryption: How to protect against bad randomness. In Mitsuru Matsui, editor, ASIACRYPT, volume 5912 of Lecture Notes in Computer Science, pages 232-249. Springer, 2009. [37]. Murray R Bremner, “Lattice basis reduction: an introduction to the LLL algorithm and its applications”, CRC Press, 2002. [38]. Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. Mining your Ps and Qs: Detection of widespread weak keys in network devices. In Proceedings of the 21st USENIX Security Symposium, August 2012. [39]. Nicolas Gama and Phong Nguyen, “Predicting lattice reduction”. Advances in Cryptology, Eurocrypt’08, pp. 31–51, 2008. 115 [40]. NIST FIPS 186-4:2013, FIPS 186-5:2019 (draft), “Digital signature standard (dss)”, 2019. [41]. N. Fleischhacker, T. Jager, and D. Schröder. “On tight security proofs for Schnorr signatures”. International Conference on the Theory and Application of Cryptology and Information Security. Springer, Berlin, Heidelberg, 2014. [42]. Paul Kocher, Joshua Jaffe, and Benjamin Jun. Differential power analysis. In Advances in cryptology—CRYPTO’99, pages 789–789. Springer, 1999 [43]. Paul C Kocher. Timing attacks on implementations of Diffie- Hellman, RSA, DSS, and other systems. In Annual International Cryptology Conference, pages 104–113. Springer, 1996. [44]. Peter James Leadbítter, Dan Page, and Nigel P Smart, “Attacking DSA under a repeated bits assumption”, In CHES, Vol. 3156, pp. 428–440, 2004. [45]. Phillip Rogaway. Nonce-based symmetric encryption. In Roy and Meier [32], pages 348-359. [46]. Phillip Rogaway and Thomas Shrimpton. A provable-security treatment of the key-wrap problem. In Vaudenay [33], pages 373-390. [47]. Phong Q Nguyen and Igor E Shparlinski, “The insecurity of the Elliptic curve digital signature algorithm with partially known nonces”. Designs, codes and cryptography, pp. 201–217, 2003. [48]. R.C. Merkle, A certified digital signature based on a conventional function, in: Advances in Cryptology––Crypto87, LNCS, 293, 1987, pp. 369–378. [49]. Savu, Laura, “Signcryption Scheme based on Schnorr Digital Signature”, 2012. 116 [50]. Scott Yilek. Resettable public-key encryption: How to encrypt on a virtual machine. In Josef Pieprzyk, editor, CT-RSA, volume 5985 of Lecture Notes in Computer Science, pages 41-56. Springer, 2010. [51]. Seny Kamara and Jonathan Katz. How to encrypt with a malicious random number generator. In Kaisa Nyberg, editor, FSE, volume 5086 of Lecture Notes in Computer Science, pages 303-315. Springer, 2008. [52]. Seurin, Yannick, “On the exact Security of Schnorr-Type Signatures in the Random Oracle Model”, Cryptology ePrint Archive 2012. [53]. SP 800-57 Part 1 Rev. 5 Recommendation for Key Management: Part 1 – General. [54]. Technical Guideline TR-03111 Elliptic Curve Cryptography Version 2.0, Bundesamt fur Sicherheit in der Informationstechnik, Germany, [55]. Thomas Ristenpart and Scott Yilek. When good randomness goes bad: Virtual machine reset vulnerabilities and hedging deployed cryptography. In NDSS. The Internet Society, 2010. [56]. T. Pornin, “RFC 6979: Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)”, August 2013. [57]. T. Q. Phong, N. Q. Toàn, “Some Security Comparisonsof GOST R 34.10-2012 and ECDSA Signature Schemes”, 6th Workshop on Current Trends in Cryptology (CTCrypt 2017), June 5-7, 2017, Saint Petersburg, Repino, Russia. Pre-proceedings, p 140-158. [58]. Y. Chen and Phong Q Nguyen, “BKZ 2.0: Better lattice security estimates”, In Inter. Conference on the Theory and Application of Cryptology and Infor. Security, pp. 1–20, 2011. 117 [59]. Yevgeniy Dodis, David Pointcheval, Sylvain Ruhault, Damien Vergnaud, and Daniel Wichs. Security analysis of pseudo-random number generators with input: /dev/random is not robust. [60]. Zvi Gutterman, Benny Pinkas, and Tzachy Reinman, Analysis of the linux random number generator, IEEE Computer Society, 2006.

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

  • pdfluan_an_nghien_cuu_mot_so_giai_phap_dam_bao_an_toan_va_hieu.pdf
  • pdfQĐ HĐ của NCS Nguyễn Tiến Xuân.pdf
  • docxThông tin tóm tắt những đóng góp mới của LA (TA+TV).docx
  • docxTomTat LuanAn_Ng.T.Xuân.docx
  • pdfTomTat LuanAn_Ng.T.Xuân.pdf
  • pdfTomTat LuanAn_TA.pdf
  • docxtrích yếu luận án TS.docx