BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ TRIỆU QUANG PHONG NGHIÊN CỨU PHÁT TRIỂN MỘT SỐ LƢỢC ĐỒ CHỮ KÝ SỐ VÀ ỨNG DỤNG TRONG VIỆC THIẾT KẾ GIAO THỨC TRAO ĐỔI KHÓA LUẬN ÁN[.]
Trang 1TRIỆU QUANG PHONG
NGHIÊN CỨU PHÁT TRIỂN MỘT SỐ LƢỢC ĐỒ CHỮ KÝ SỐ
VÀ ỨNG DỤNG TRONG VIỆC THIẾT KẾ GIAO THỨC TRAO ĐỔI KHÓA
LUẬN ÁN TIẾN SĨ TOÁN HỌC
Hà Nội – 2023
Trang 2TRIỆU QUANG PHONG
NGHIÊN CỨU PHÁT TRIỂN MỘT SỐ LƢỢC ĐỒ CHỮ KÝ SỐ
VÀ ỨNG DỤNG TRONG VIỆC THIẾT KẾ GIAO THỨC TRAO ĐỔI KHÓA
Ngành: Cơ sở toán học cho tin học
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Những nội dung, số liệu và kết quả được trình bày trong luận án là hoàn toàn trung thực và chưa được ai công bố trong bất kỳ công trình nào khác, các dữ liệu tham khảo được trích dẫn đầy
Trang 4LỜI CẢM ƠN
Luận án này được thực hiện tại Viện Khoa học và Công nghệ quân sự - Bộ Quốc phòng Lời đầu tiên, nghiên cứu sinh xin bày tỏ lòng biết ơn sâu sắc tới Tiến sĩ Trần Duy Lai, Tiến sĩ Vũ Quốc Thành, các thầy đã tận tình giúp đỡ định hướng, tr bị cho nghiên cứu sinh phương pháp nghiên cứu, kinh nghiệm, kiến thức khoa học và kiểm tra, đánh giá các kết quả nghiên cứu của nghiên cứu sinh
Xin chân thành cảm ơn Ban Giám đốc Viện Khoa học và Công nghệ quân sự, Thủ trưởng Phòng Đào tạo, Viện Công nghệ thông tin là cơ sở đào tạo và đơn vị quản lý đã tạo mọi điều kiện, hỗ trợ, giúp đỡ nghiên cứu sinh trong quá trình học tập, nghiên cứu và hoàn thành luận án
Nghiên cứu sinh bày tỏ lòng biết ơn chân thành tới các thầy cô giáo, các nhà khoa học của Viện Khoa học và Công nghệ quân sự, Viện Công nghệ thông tin – Viện KHCN QS, Học viện Kỹ Thuật mật mã; các đồng nghiệp tại Phân viện Khoa học mật mã – Viện KHCN mật mã – Ban Cơ yếu Chính phủ,… đã có các góp ý quý báu cho Nghiên cứu sinh trong quá trình thực hiện luận án này
Cuối cùng xin bày tỏ lời cảm ơn đến gia đình, bạn bè của Nghiên cứu sinh đã luôn động viên, chia sẻ, ủng hộ và giúp đỡ Nghiên cứu sinh vượt qua khó khăn để đạt được những kết quả nghiên cứu trong luận án này
Tác giả luận án
Triệu Quang Phong
Trang 5MỤC LỤC
Tr
DANH MỤC CÁC KÝ HIỆU vi
DANH MỤC CÁC CHỮ VIẾT TẮT vii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC HÌNH x
MỞ ĐẦU… 1
Chương 1 KHÁI QUÁT CHUNG VỀ CHỮ KÝ SỐ VÀ GIAO THỨC TRAO ĐỔI KHÓA 6
1.1 Một số khái niệm cơ sở liên quan 6
1.1.1 Lược đồ chữ ký số tổng quát 6
1.1.2 Các khái niệm an toàn cho chữ ký số 7
1.1.3 Một số thuộc tính an toàn đáng mong đợi của giao thức trao đổi khóa 9
1.2 Đánh giá về vấn đề bước lặp 10
1.2.1 Lược đồ ECDSA 10
1.2.2 Lược đồ chữ ký GOST R 34.10-2012 13
1.3 Đánh giá về vấn đề chữ ký kép và tính dễ uốn 16
1.3.1 Chữ ký kép và tính dễ uốn đối với ECDSA 16
1.3.2 Đánh giá vấn đề chữ ký kép và tính dễ uốn đối với GOST R 34.10-2012 18
1.4 Các mô hình an toàn cho lược đồ chữ ký số 19
1.4.1 Mô hình bộ tiên tri ngẫu nhiên 20
1.4.2 Mô hình nhóm tổng quát 21
1.4.3 Mô hình với thiết bị bảo vệ 21
1.4.4 Mô hình bộ tiên tri ngẫu nhiên song ánh 22
1.5 Lược đồ chữ ký số dạng TEGTSS 23
1.6 Khảo sát một số giao thức trao đổi khóa dựa trên chữ ký số 26
1.6.1 Giao thức STS cơ bản 26
1.6.2 Giao thức STS-MAC 27
1.6.3 Giao thức ISO-STS-MAC 32
Trang 61.6.4 Họ giao thức SIGMA 33
1.7 Mô hình an toàn cho giao thức trao đổi khóa 35
1.7.1 Mô hình với đối tác được định rõ trước 35
1.7.2 Mô hình với đối tác được định rõ sau 42
1.8 Đánh giá chung về hướng nghiên cứu 43
1.9 Kết luận Chương 1 46
Chương 2 ĐỀ XUẤT LƯỢC ĐỒ CHỮ KÝ SỐ AN TOÀN 48
2.1 Lược đồ chữ ký dạng ECTEGTSS 48
2.2 Đề xuất biến thể của lược đồ chữ ký GOST R 34.10-2012 53
2.2.1 Lược đồ chữ ký số GOST-I 53
2.2.2 Lược đồ chữ ký số GOST-II 57
2.2.3 Đánh giá hiệu năng của GOST-I và GOST-II 59
2.3 Đề xuất lược đồ chữ ký bó an toàn 62
2.3.1 Chữ ký bó dựa trên cây băm Merkle 62
2.3.2 Lược đồ chữ ký bó an toàn SBS-01 69
2.3.3 Lược đồ chữ ký bó an toàn SBS-02 72
2.4 Kết luận Chương 2 75
Chương 3 ĐỀ XUẤT GIAO THỨC TRAO ĐỔI KHÓA AN TOÀN DỰA TRÊN CHỮ KÝ SỐ… 77
3.1 Độ an toàn của giao thức SIGMA 79
3.2 Giao thức trao đổi khóa M-SIGMA 87
3.2.1 Tính chất P1 của M-SIGMA 88
3.2.2 Tính chất P2 của M-SIGMA 89
3.3 Giao thức trao đổi khóa M1-SIGMA 103
3.3.1 Tính chất P1 của M1-SIGMA 103
3.3.2 Tính chất P2 của M1-SIGMA 105
3.4 Phiên bản elliptic hóa của các giao thức đề xuất 109
3.4.1 Xem xét cài đặt các đề xuất trên nhóm điểm đường cong elliptic 109
3.4.2 Xem xét cài đặt hiệu quả trên nhóm điểm đường cong elliptic 110
Trang 73.4.3 Áp dụng cài đặt hiệu quả trên nhóm điểm đường cong elliptic 115
3.5 Thảo luận về ý nghĩa của các đề xuất 117
3.6 Kết luận Chương 3 119
KẾT LUẬN 120
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ 121
TÀI LIỆU THAM KHẢO 122 PHỤ LỤC… P1
Trang 8DANH MỤC CÁC KÝ HIỆU
̂ ̂ Ký hiệu một thực thể, hoặc định danh của thực thể đó
Ký hiệu các kẻ tấn công (hoặc bên đối kháng)
Ký hiệu việc kiểm tra có bằng hay không
̂ Chứng chỉ khóa công khai của thực thể ̂ mà có chứa ̂
Cofactor – phần phụ đại số được tính bởi công thức ( )
̂ Khóa ký (khóa bí mật) của một thực thể ̂
( ) Đường cong elliptic được định nghĩa trên trường
( ) Số điểm thuộc đường cong ( )
Trường hữu hạn có đặc số , với là số nguyên tố
Hàm chuyển để dẫn xuất thành phần chữ ký trong thuật toán ký Phần tử có cấp của nhóm
Các hàm băm được sử dụng
Bên khởi tạo
Bên phúc đáp
Thuật toán sinh khóa
Khóa phiên chung được tính ra trong quá trình trao đổi giữa hai bên
tham gia Khóa cho hàm MAC
Khóa cho hàm mã hóa
Số nguyên tố (lớn) thỏa mãn ( )
Điểm tại vô cùng của đường cong elliptic ( )
Điểm cơ sở thuộc đường cong ( ) có cấp bằng
Số nguyên tố (lớn)
Ký hiệu cho khóa công khai
̂ Khóa công khai của một thực thể ̂
Số nguyên tố (lớn) thỏa mãn ( )
Trang 9( ) Chữ ký, trong đó là thành phần thứ nhất của chữ ký và là thành
phần thứ hai của chữ ký ̂( ) Chữ ký của thực thể ̂ trên thông điệp
Ký hiệu cho khóa ký bí mật
Ký hiệu phiên hoặc định danh của phiên
Tương ứng là hoành độ và tung độ của một điểm ( ) * + Thuật toán xác minh chữ ký số
( ) Hàm lấy đầu vào là điểm ( ) * + và trả về
Ký hiệu lấy ngẫu nhiên đều một phần tử thuộc tập
* + Hàm mã hóa với khóa
( ) Hàm trích xuất một chuỗi con từ phần tử thứ đến phần tử thứ của
một chuỗi đầu vào
DANH MỤC CÁC CHỮ VIẾT TẮT
AK Thỏa thuận khóa có xác thực (Authenticated Key agreement)
AKC Thỏa thuận khóa có xác thực kèm theo tính chất chứng nhận khóa
(Authenticated Key agreement with key Comfimation) AKE Ký hiệu độ an toàn cho các giao thức trao đổi khóa có xác thực
AM Mô hình các liên kết không có xác thực (Authenticated-links Model)
CK Mô hình an toàn Canetti-Krawczyk
Biến thể của mô hình CK cho việc đánh giá giao thức HMQV
CMA Tấn công lựa chọn thông điệp (Chosen Message Attack)
DSA Chuẩn chữ ký số của Mỹ dựa trên bài toán logarit rời rạc
DSKS Tính chất lựa chọn khóa chữ ký kép (Duplicate Signature Key
Selection) ECDSA Chuẩn chữ ký số của Mỹ dựa trên nhóm điểm đường cong elliptic ECTEGTSS Phiên bản trên đường cong elliptic của TEGTSS
EUF Tính không thể giả mạo tồn tại (Existential UnForgeability)
Trang 10EUF-CMA Tính không thể giả mạo tồn tại trước tấn công lựa chọn thông điệp
thích nghi EUF-NMA Tính không thể giả mạo tồn tại trước tấn công không sử dụng thông
điệp GOST R 34
MAC Mã xác thực thông điệp (Message Authenticated Code)
MT Bộ xác thực truyền thông điệp (Message Transmission)
M-SIGMA Biến thể đầu tiên của giao thức SIGMA được đề xuất trong luận án M1-SIGMA Biến thể thứ hai của giao thức SIGMA được đề xuất trong luận án NMA Tấn công không sử dụng thông điệp (No-Message Attack)
PFS Độ an toàn về phía trước (Perfect Forward Screcy)
RSA Chuẩn chữ ký số của Mỹ dựa trên bài toán phân tích số
SBS-01 Chữ ký bó an toàn loại 1 được đề xuất trong luận án
SBS-02 Chữ ký bó an toàn loại 2 được đề xuất trong luận án
SIGMA Giao thức trao đổi khóa dựa trên cơ chế “SIGn-and-MAc”
SIGMA-I Biến thể của giao thức SIGMA bảo vệ định danh của bên khởi tạo
trước tấn công chủ động SIGMA-R Biến thể của giao thức SIGMA bảo vệ định danh của bên phúc đáp
trước tấn công chủ động TEGTSS Các lược đồ đáng tin cậy kiểu El Gamal (Trusted El Gamal Type
Signature Scheme) UKS Chia sẻ khóa nhưng không rõ đối tác (Unknown Key-Share)
UM Mô hình các liên kết không có xác thực (Unauthenticated-links
Model)
Trang 11DANH MỤC CÁC BẢNG
Tr
Bảng 1.1 Kết quả khảo sát bước lặp trên một số lược đồ chữ ký số 15
Bảng 1.2 Các tính chất an toàn được xem xét trên họ giao thức STS 33
Bảng 2.1 So sánh lý thuyết GOST-I, GOST-II với GOST R 34.10-2012 60
Bảng 2.2 Kết quả thực nghiệm GOST-I, GOST-II và GOST R 34.10-2012 60
Bảng 2.3 So Sánh thực nghiệm giữa một số lược đồ chữ ký bó với phiên bản thường của chúng 67
Bảng 2.4 Xem xét hiệu năng của SBS-01 và SBS-02 75
Bảng 3.1 So sánh hiệu năng giữa SIGMA, M-SIGMA và M1-SIGMA 110
Trang 12DANH MỤC CÁC HÌNH
Tr
Hình 1.1 Giao thức trao đổi khóa Diffie-Hellman cơ bản 26
Hình 1.2 Giao thức STS cơ bản 27
Hình 1.3 Tấn công UKS thay đổi khóa công khai trên STS-ENC 27
Hình 1.4 Giao thức STS-MAC 28
Hình 1.5 Biến thể 2 của STS-MAC 29
Hình 1.6 Giao thức ISO-STS-MAC 33
Hình 1.7 Giao thức SIGMA cơ bản 34
Hình 1.8 Bộ xác thực MT - 38
Hình 1.9 Giao thức HMQV 39
Hình 1.10 Giao thức KEA+ 40
Hình 2.1 Minh họa một cây Merkle cho việc lưu trữ dữ liệu 63
Hình 2.2 Quy trình ký bó cho tập gồm 04 dữ liệu dựa trên cây băm Merkle 66
Hình 2.3 Quy trình xác minh chữ ký bó dựa trên cây băm Merkle 67
Hình 2.4 Minh họa việc lựa chọn thích nghi thông điệp trong trường hợp ký bó với 4 thông điệp 68
Hình 3.1 Biến thể MAC dưới chữ ký của Giao thức SIGMA cơ bản 77
Hình 3.2 Giao thức M-SIGMA 87
Hình 3.3 Giao thức M1-SIGMA 103
Hình 3.4 Giao thức M-SIGMA trên nhóm điểm đường cong elliptic 109
Hình 3.5 Giao thức M1-SIGMA trên nhóm điểm đường cong elliptic 110
Hình 3.6 Giao thức Lemograss-3 gốc 111
Hình 3.7 Giao thức Lemograss-3 được chuẩn hóa 112
Hình 3.8 Tấn công giao thức Lemograss-3 được chuẩn hóa 112
Hình 3.9 Cài đặt sửa đổi cho giao thức Lemograss-3 được chuẩn hóa 115
Trang 13MỞ ĐẦU
1 Tính cấp thiết của đề tài luận án
Trong thời đại hiện nay, sự tiến bộ và phát triển của công nghệ thông tin mang lại cho chúng ta nhiều phương thức liên lạc mà không bị giới hạn bởi khoảng cách địa lý, bao gồm gọi thoại, video call, email… Trong đó, xu thế liên lạc thông qua mạng Internet đang dần trở nên phổ biến và ưa thích do sự tiện lợi và chi phí thấp Tuy nhiên, mạng Internet chưa bao giờ được xem là một kênh liên lạc an toàn,
và nó luôn tiềm ẩn nhiều rủi ro Do đó, cần có các giải pháp mật mã cho phép các bên trao đổi thông tin bí mật và có xác thực
Việc trao đổi thông tin một cách bí mật và hiệu quả giữa các bên có thể được đảm bảo bởi các lược đồ mã hóa khóa đối xứng Tuy nhiên, phương thức này lại yêu cầu các bên phải chia sẻ một khóa bí mật chung để thực hiện cả chức năng mã hóa lẫn giải mã Đối với các bên cách xa nhau về mặt địa lý và chỉ có thể liên lạc với nhau qua các kênh như mạng internet, việc thiết lập các khóa bí mật chung sẽ được thực hiện thông qua các giao thức trao đổi khóa (hay thỏa thuận khóa)
Các giao thức trao đổi khóa hiện nay đa phần được thiết kế dựa trên một cơ chế khá nổi tiếng, đó là trao đổi khóa Diffie-Hellman Tuy nhiên, để đảm bảo các giao thức trao đổi khóa dựa trên cơ chế này hoạt động một cách an toàn, chúng cần được bổ sung thêm các phương thức xác thực Ở đó, chữ ký số được xem là một giải pháp có tính khả thi Hơn nữa, các giao thức trao đổi khóa có xác thực dựa trên chữ ký số cũng là thành phần chính trong một số giao thức bảo mật qua mạng internet như Ipsec, SSL, TLS Do đó, việc triển khai hướng nghiên cứu về các giao thức trao đổi khóa có xác thực dựa trên chữ ký là hết sức cần thiết
Bên cạnh vai trò quan trọng kể trên trong các giao thức trao đổi khóa, “chữ
ký số” kể từ khi được giới thiệu bởi Diffie-Hellman vào năm 1976 đã trở thành một chủ đề thu hút được nhiều sự quan tâm và được sử dụng trong nhiều ứng dụng phổ biến hiện nay như blockchain, bỏ phiếu điện tử e-voting, xác thực giao dịch điện tử,… Cho đến nay, đã có nhiều dạng chữ ký số đuợc phát triển và chuẩn hóa bởi nhiều quốc gia trên thế giới Đáng kể nhất trong số đó là chuẩn đồ chữ ký số
Trang 14ECDSA (của Mỹ) và GOST R 34.10-2012 (của Liên bang Nga) Điểm chung của chúng đều thuộc lớp các lược đồ kiểu El Gamal mà dựa trên bài toán logarit rời rạc
Đối với các lược đồ chữ ký số (cũng như giao thức trao đổi khóa) nói riêng,
và các nguyên thủy mật mã nói chung để có thể được sử dụng trong các ứng dụng bảo mật, yêu cầu cơ bản đầu tiên được đặt ra là nó phải “an toàn” Trong đó, “an toàn chứng minh được” trong các mô hình lý thuyết, mà dựa trên các lập luận toán học, là cơ cở để đảm bảo rằng một lược đồ/giao thức mật mã có tính logic và chắc chắn trong thiết kế Điều này có thể được hiểu là với các thành phần “tốt” thì một lược đồ/giao thức mật mã sẽ là “tốt” nếu như nó được chỉ ra là “an toàn chứng minh được” Phương thức chứng minh độ an toàn kể trên thường tuân theo phép suy dẫn (phản chứng) mà chỉ ra rằng nếu lược đồ/giao thức là kém an toàn thì ít nhất một trong số các thành phần cấu thành nên nó là “không đủ tốt” như giả thiết ban đầu Một ví dụ cho thấy tầm quan trọng của an toàn chứng minh được chính là trường hợp của lược đồ chữ ký số El Gamal, luợc đồ này ban đầu được khẳng định là an toàn dựa trên bài toán logarit rời rạc, tuy nhiên thực tế là nó có thể bị giả mạo theo cách mà không cần vi phạm độ khó của bài toán cơ sở Trên thế giới, “an toàn chứng minh được” là một hướng nghiên cứu rất được quan tâm, tuy nhiên chủ đề này chưa được khai thác nhiều ở các công trình trong nước
Cho đến nay, lược đồ chữ ký số ECDSA đã được đảm bảo “an toàn chứng minh được” trong mô hình nhóm tổng quát bởi tác giả D Brown [25] Tuy nhiên, theo hiểu biết của tác giả luận án thì độ an toàn chứng minh được đối với GOST R 34.10-2012 vẫn là một vấn đề mở và chưa được chỉ ra trong bất cứ công trình nào
Do đó, hướng nghiên cứu đặt ra trong đề tài này là xây dựng các lược đồ chữ ký số
“an toàn chứng minh được” mà được phát triển dựa trên GOST R 34.10-2012, và từ
đó xây dựng các giao thức trao đổi khóa có xác thực an toàn trên cơ sở của các họ giao thức STS, SIGMA, mà vốn phù hợp cho các ứng dụng trao đổi thông tin qua mạng internet
2 Mục tiêu nghiên cứu
Trên cơ sở phân tích các kết quả đã công bố và những vấn đề còn hạn chế,
Trang 15mục tiêu chính của đề tài luận án là đề xuất lược đồ chữ ký số an toàn, hiệu quả và xây dựng giao thức trao đổi khóa có xác thực dựa trên chữ ký được đề xuất Để đạt
được mục tiêu chính kể trên, cần thực hiện bốn mục tiêu cụ thể sau:
Nghiên cứu phân tích các thành phần mật mã có trong lược đồ chữ ký số và các phương pháp chứng minh an toàn cho lược đồ chữ ký số
Nghiên cứu phân tích các mô hình chứng minh an toàn và các phương pháp chứng minh an toàn cho giao thức trao đổi khóa
Xây dựng, đề xuất mới lược đồ chữ ký số đạt hiệu quả trong tính toán và độ
an toàn chứng minh được
Xây dựng, đề xuất mới giao thức trao đổi khóa có xác thực dựa trên chữ ký
số được đề xuất đạt được hiệu năng tính toán và các thuộc tính an toàn cơ bản
3 Đối tƣợng, phạm vi nghiên cứu
Dựa trên mục tiêu đặt ra, luận án xác định các đối tượng và phạm vi nghiên cứu như sau:
Đối tượng nghiên cứu: Các lược đồ chữ ký số và giao thức trao đổi khóa dựa trên chữ ký số có độ an toàn chứng minh được trong các mô hình lý thuyết
Phạm vi nghiên cứu: Các lược đồ chữ ký số ECDSA, GOST R 34.10-2012, TEGTSS, ECTEGTSS; các giao thức trao đổi khóa có xác thực dựa trên chữ ký STS, SIGMA; các phương pháp thiết kế và đáng giá độ an toàn chứng minh được cho lược đồ chữ ký số và giao thức trao đổi khóa trong các mô hình lý thuyết
4 Nội dung nghiên cứu
Trên cơ sở của định hướng và mục tiêu đặt ra cho đề tài luận án, các nội dung nghiên cứu chính bao gồm:
Nghiên cứu tổng quan và phân tích các phương pháp thiết kế lược đồ chữ
Trang 16 Xây dựng, đề xuất lược đồ chữ ký số mới đạt được độ an toàn và hiệu quả dựa trên các nội dung nghiên cứu, phân tích ở trên
Nghiên cứu tổng quan và phân tích các phương pháp thiết kế giao thức trao đổi khóa có xác thực đạt được độ hiệu quả và an toàn dựa trên cơ sở của chữ ký số
Nghiên cứu, đánh giá các họ giao thức trao đổi khóa có xác thực dựa trên chữ ký bao gồm STS và SIGMA
Nghiên cứu, xây dựng giao thức trao đổi khóa có xác thực mới đạt được độ hiệu quả và an toàn mà có sử dụng lược đồ chữ ký số được đề xuất trong thiết kế
5 Phương pháp nghiên cứu
Để đạt được mục tiêu và hoàn thành các nội dung đã đề ra, các phương pháp nghiên cứu được sử dụng trong luận án là:
Phương pháp phân tích và tổng hợp lý thuyết
Phương pháp lập luận toán học
Phương pháp định tính
Phương pháp thực nghiệm
6 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học Luận án góp phần đề xuất một số giải pháp ký số và trao
đổi khóa đạt tính hiệu quả và độ an toàn chứng minh được
Ý nghĩa thực tiễn Kết quả của luận án có thể được ứng dụng trong thực tế
nhằm đáp ứng nhu cầu trong các lĩnh vực kinh tế xã hội, an ninh quốc phòng, thúc
đẩy xây dựng Chính phủ điện tử tại Việt nam
7 Bố cục của đề tài luận án
Luận án sẽ được bố cục gồm 03 chương nội dung chính cùng với các phần
mở đầu, kết luận, danh mục các công trình khoa học đã được công bố của tác giả, tài liệu tham khảo và 01 Phụ lục
phương pháp nghiên cứu và cách thức triển khai đề tài luận án; chỉ ra ý nghĩa khoa học và thực tiễn của đề tài luận án
Trang 17 Chương 1 trình bày những tìm hiểu chung về một số lớp lược đồ chữ ký số
và giao thức trao đổi khóa phổ biến, cũng như một số kết quả phân tích và đánh giá
an toàn liên quan đến chúng
chữ ký số
giao thức trao đổi khóa có xác thực dựa trên chữ ký số
của đề tài luận án
đánh giá hiệu năng của các đề xuất
Trang 18Chương 1 KHÁI QUÁT CHUNG VỀ CHỮ KÝ SỐ VÀ GIAO THỨC TRAO ĐỔI KHÓA
Chương này tập trung trình bày tổng quan về hướng nghiên cứu, mà cụ thể là những tìm hiểu, khảo sát chung về một số lớp lược đồ chữ ký số ECDSA, GOST R 34.10-2012, TEGTSS; một số họ giao thức trao đổi khóa có xác thực dựa trên chữ
ký số STS, SIGMA; và các khái niệm và mô hình an toàn liên quan đến chúng
1.1 Một số khái niệm cơ sở liên quan
1.1.1 Lược đồ chữ ký số tổng quát
Trong một lược đồ chữ ký, mỗi người dùng (hay còn được gọi là người ký) công bố một khóa công khai trong khi giữ lại cho bản thân một khóa bí mật (riêng) Theo đó, chữ ký của người dùng trên thông điệp là một giá trị phụ thuộc vào
và khóa bí mật của người dùng đó theo cách mà bất kỳ ai cũng có thể kiểm tra sự hợp lệ của chữ ký trên thông điệp chỉ bằng khóa công khai Trong một số trường hợp, khóa công khai cũng có thể được sử dụng trong quá trình tạo chữ ký Đối với các lược đồ chữ ký số, yêu cầu cơ bản được đặt ra là việc giả mạo một chữ ký của người dùng mà không biết khóa bí mật của của một người dùng nào đó phải là khó
về mặt tính toán Trong phần này, luận án sẽ phát biểu lại một định nghĩa hình thức của một lược đồ chữ ký tổng quát và các tấn công có thể được tính đến trên lược đồ như vậy Những định nghĩa này được dựa trên cơ sở công trình của S Goldwasser
và các cộng sự [42]
Định nghĩa 1.1 [68] Một lược đồ chữ ký số được định nghĩa thông qua bộ-3 thuật
toán ( ) như sau:
Thuật toán sinh khóa ( ): Nhận đầu vào , với là tham số an toàn, tạo ra một cặp khóa công khai và khóa bí mật thích hợp ( ) Thuật toán sinh khóa phải là một thuật toán xác suất
Thuật toán ký ( ): Cho trước thông điệp và một cặp khóa công
khai và bí mật ( ), thuật toán tạo ra một chữ ký Thuật toán sinh chữ ký
có thể là thuật toán xác suất, và trong một vài lược đồ nó cũng có thể nhận thêm
Trang 19các đầu vào khác
Thuật toán xác minh ( ): Cho trước chữ ký , một thông
điệp và một khóa công khai , thuật toán Verify kiểm tra là chữ ký hợp lệ của thông điệp tương ứng với khóa hay không
1.1.2 Các khái niệm an toàn cho chữ ký số
Vào năm 1984, các tác giả S Goldwasser, S Micali và R L Rivest đã công
bố bài báo “A Digital Signature Scheme Secure Against Adaptative
Chosen-Message Attacks” [42] Bên cạnh việc đưa ra khái niệm hình thức cho một chữ ký
số tổng quát, công trình này cũng đã trình bày các khái niệm an toàn chung cho các lược đồ chữ ký số trong việc tránh tấn công giả mạo
Cụ thể, công trình này đã phân loại hai kịch bản tấn công chính với mục đích giả mạo chữ ký số, đó là:
Tấn công chỉ sử dụng khóa (Key-only attack): kẻ tấn công chỉ biết khóa công khai của người ký
Tấn công sử dụng thông điệp (Message attack): kẻ tấn công được phép khảo sát các chữ ký tương ứng với các thông điệp được lựa chọn hoặc đã biết (known or chosen-message) trước khi hắn ta cố gắng phá vỡ lược đồ
Công trình cũng định nghĩa 4 kiểu tấn công thuộc lớp các tấn công sử dụng
thông điệp Trong số đó, tấn công lựa chọn thông điệp thích nghi (adaptively chosen-message attack) cho phép kẻ tấn công có nhiều năng lực nhất và phù hợp để
phân tích an toàn cho các lược đồ chữ ký số
Dựa trên các kịch bản tấn công được định nghĩa, công trình của S Micali và
R L Rivest cũng phân chia 4 kiểu tấn công “giả mạo”:
Phá vỡ hoàn toàn (total break): Kẻ tấn công tính toán được thông tin cửa sập của người ký, nghĩa là khóa bí mật của người ký
Giả mạo vạn năng (universal forgery): Tìm được một thuật toán ký hiệu quả có chức năng tương đương với thuật toán của người ký hợp lệ
Giả mạo lựa chọn (Selective forgery): Giả mạo một chữ ký cho một thông điệp cụ thể được chọn trước bởi kẻ tấn công
Trang 20 Giả mạo tồn tại (existential forgery): Giả mạo một chữ ký cho tối thiểu một thông điệp
Bên cạnh đó, các tác giả S Goldwasser, S Micali và Ronald L Rivest đã phân tích các lược đồ chữ ký số ElGamal [34], RSA [71],… theo các nguy cơ mà họ phân loại Ở đó, RSA, ElGamal bị giả mạo tồn tại trước tấn công chỉ sử dụng khóa
Đây là công trình đầu tiên đưa ra khái niệm hình thức về lược đồ chữ ký số tổng quát và độ an toàn kháng tấn công giả mạo đối với các lược đồ chữ ký số Công trình này rất có ý nghĩa vì nó mở ra một hướng nghiên cứu mà hiện vẫn thu hút nhiều sự quan tâm, đó là mảng an toàn chứng minh được cho các lược đồ chữ
ký số Mặc dù cho tới nay đã có nhiều nghiên cứu liên quan đến chứng minh an toàn
lý thuyết cho lược đồ chữ ký số, và ở đó những giả thiết an toàn cũng như mô hình chứng minh an toàn có thể được cải tiến, nhưng tất cả các hướng đều được phân tích xung quanh những khái niệm an toàn cơ sở của S Goldwasser, S Micali và R L Rivest Độ an toàn hình thức này được phát biểu như sau
Định nghĩa 1.2 [68] Một lược đồ chữ ký số được gọi là an toàn nếu việc giả mạo
tồn tại là không thể về mặt tính toán, ngay cả với một tấn công lựa chọn thông điệp
thích nghi
Về mặt hình thức, một lược đồ chữ ký là an toàn theo Định nghĩa 1.2 nếu được đảm bảo rằng với kẻ tấn công bất kỳ có năng lực tính toán “thực tế” và có quyền yêu cầu tạo các chữ ký tương ứng cho một danh sách thông điệp
mà hắn tùy chọn theo cách thích nghi thì việc đưa ra một cặp chữ ký ( ) hợp lệ sao cho (với ) là không khả thi Độ an toàn như
trên còn được biết đến với tên gọi EUF-CMA Lưu ý rằng, trong trường hợp mà kẻ
tấn công tìm ra được cặp ( ) thỏa mãn yêu cầu trên, nghĩa là ( ) ( ) (với ), nhưng (với nào đó thuộc * +), thì lược đồ chữ ký
bị xem là dễ uốn
Như một kết quả khảo sát các công trình [24], [67], [68], nếu như có thể chỉ
Trang 21ra sự tồn tại của một “bộ mô phỏng1” (mà chỉ sử dụng thông tin công khai) của quá trình ký trong lược đồ chữ ký , thì độ an toàn EUF-CMA của có thể quy về
độ an toàn EUF-NMA, nghĩa là việc tìm giả mạo tồn tại là không thể về mặt tính toán với các tấn công chỉ dựa vào thông tin công khai của người dùng Điều này là
dễ hiểu vì những chữ ký mà kẻ tấn công sẽ thu được từ quá trình ký trong lược đồ chữ ký theo kịch bản CMA có thể được thay thế bởi các chữ ký được trả về từ
mà sẽ khó có thể bị phát hiện Rõ ràng, trong trường hợp như vậy, những gì mà kẻ tấn công thu được chỉ hoàn toàn dựa trên những thông tin công khai, và là tương đương với một tấn công NMA Đây là một hướng tiếp cận quan trọng và là cơ sở cho việc đề xuất các lược đồ chữ ký an toàn EUF-CMA trong luận án
1.1.3 Một số thuộc tính an toàn đáng mong đợi của giao thức trao đổi khóa
Trong mục này, luận án trình bày khái niệm của một số thuộc tính an toàn đối với một giao thức trao đổi khóa Gọi ̂ và ̂ là hai thực thực thể trung thực (honest
entity), nghĩa là, các thực thể hợp pháp mà thực hiện các bước của một giao thức
một cách chính xác Trước tiên, chúng ta quan tâm đến hai tính chất sau
Tính chất xác thực khóa ẩn (implicit key authentication) [19] Một giao
thức thỏa thuận khóa được gọi là cung cấp tính chất xác thực khóa ẩn (của ̂ đối với ̂) nếu thực thể ̂ được đảm bảo rằng không có thực thể nào khác ngoài thực thể ̂ có thể biết được giá trị của khóa bí mật mà anh ta chia sẻ trong phiên cụ thể Lưu
ý rằng tính chất xác thực khóa ẩn không nhất thiết rằng ̂ được đảm bảo về việc ̂ thực sự sở hữu khóa bí mật chia sẻ Một giao thức thỏa thuận khóa cung cấp tính
chất xác thực khóa ẩn cho cả hai thực thể tham gia trao đổi được gọi là một giao
thức trao đổi khóa có xác thực (giao thức AK)
Tính chất chứng thực khóa hiện (explicit key confirmation) [19] Một giao thức được gọi là cung cấp tính chất chứng nhận khóa hiện (của ̂ đối với ̂) nếu thực thể ̂ được đảm bảo rằng thực thể ̂ đã thực sự tính ra khóa bí mật chung
Nếu cả tính chất xác thực khóa ẩn và chứng thực khóa hiện (của ̂ đối với ̂)
1 là bộ mô phỏng của quá trình ký của nếu như đầu ra của chúng khó có thể bị phân biệt về mặt tính toán với nhau
Trang 22được cung cấp, thì giao thức thiết lập khóa được gọi là cung cấp xác thực khóa hiện
(của ̂ đối với ̂) Một giao thức thỏa thuận khóa mà cung cấp tính chất xác thực
khóa hiện cho cả hai thực thể tham gia được gọi là một giao thức thỏa thuận khóa
có xác thực kèm theo tính chất chứng nhận khóa (giao thức AKC)
Ngoài ra, một số các tính chất an toàn mong đợi khác của các giao thức trao đổi khóa đã được xác định bao gồm:
Tính an toàn về phía trước (PFS) [19] Nếu các khóa bí mật dài hạn của
một hoặc nhiều thực thể bị lộ, thì sự bí mật của các khóa phiên được thiết lập trước
đó bởi các thực thể trung thực không bị ảnh hưởng
Tính kháng tấn công mạo danh thỏa hiệp khóa (KCI) [19] Nếu khóa bí mật
dài hạn của thực thể ̂ bị lộ, thì kẻ tấn công không thể mạo danh một thực thể ̂ trung thực nào đó để chia sẻ khóa bí mật với ̂
Tính kháng tấn công chia sẻ khóa nhưng không rõ đối (UKS) [19] Một tấn
công UKS trên giao thức AK hoặc AKC là một tấn công khiến một thực thể ̂ kết thúc và tin tưởng rằng cô ta chia sẻ một khóa với ̂, trong khi ̂ lại tin tưởng rằng mình chia sẻ khóa với một thực thể ̂ ̂ Lưu ý rằng, mục tiêu của tấn công này không phải là phá vỡ tính bí mật của khóa, mà nó chỉ khiến cho các bên không
có hiểu biết rõ ràng về nhau
1.2 Đánh giá về vấn đề bước lặp
Trong mục này, luận án sẽ mô tả ECDSA và GOST R 34.10-2012, kèm theo một số đánh giá có liên quan đến các bước lặp và các tiêu chí an toàn đã được đề cập ở mục trước
1.2.1 Lược đồ ECDSA
Lược đồ chữ ký số ECDSA là biến thể trên nhóm điểm đường cong elliptic của DSA Trong chương này, luận án trước tiên sẽ mô tả lại và sau đó đưa ra đánh giá về vấn đề bước lặp trên lược đồ này
1.2.1.1 Mô tả lược đồ ECDSA
Với đường cong elliptic ( ) được định nghĩa trên trường hữu hạn và
Trang 23điểm cơ sở có cấp , với là ước nguyên tố của ( ), thì lược đồ ECDSA được mô tả gồm 3 thuật tóa sinh khóa, ký và xác minh chữ ký như sau:
- 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 , -
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 , -
2 Tính ( ) và ( ) ; nếu , thì quay về bước 1
3 Tính ( )
4 Tính ( ) ; nếu , thì quay về bước 1
5 Trả về chữ ký ( )
- 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 , -
7 Chữ ký số được xác minh chỉ khi
1.2.1.2 Vấn đề bước lặp đối với ECDSA
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 hoặc 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ó
Trang 24bằng 0 hay không
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 trong phạm vi luận án, hiện chỉ có: các công trình của M Braun [23], R L Rivest [72] giải thích vì sao phải khác 0 trong lược đồ chữ ký số DSA, nhưng có thể áp dụng để giải thích cho ECDSA; công trình của I F Blake và cộng sự [21] đưa ra một kiểu tấn công giả mạo khi yêu cầu 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 của
M Michels và cộng sự [62] 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, nhưng có thể áp dụng cho GOST R 34.10-2012
Dưới đây, luận án sẽ trình bày sự cần thiết của các bước kiểm tra “ , có
bằng 0 hay không” trên lược đồ chữ ký số ECDSA Trong đó, hướng phân tích được thực hiện trong luận án chỉ ra một tấn công giả mạo (khác so với [21]) khi yêu cầu 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
Cụ thể, đố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 , công việc này thực chất là kiểm tra ( ) Từ đó, luận án sẽ chỉ ra sự cần thiết của các bước kiểm tra , , hoặc
( ) đối với thuật toán ký ECDSA
Nhận thấy rằng, nếu một chữ ký số ECDSA dạng ( ) được chấp
nhận là hợp lệ trên một thông điệp nào đó, thì chúng ta sẽ luôn tạo ra được một chữ ký số hợp lệ ( ) trên một thông điệp bất kỳ, mà dẫn đến ECDSA bị giả mạo vạn năng Thật vậy, giả sử ( ) là chữ ký số hợp lệ trên thông điệp , điều này có nghĩa đẳng thức ( ) là đúng Khi đó, với thông điệp bất kỳ, lấy ( ) ( ) , thì ( ) là một chữ ký hợp lệ trên do
( )( ) ( )
( )( )
( )( ( ) ( ) )
( )
Trang 25 Có hai lý do cho việc kiểm tra trong thuật toán ký ECDSA
Lý do thứ nhất được đưa ra bởi R L Rivest và cộng sự [72] là nếu một chữ ký số dạng ( ) đượ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 bởi M Braun và cộng sự [23] là
thuật toán xác minh của ECDSA sẽ không thể kiểm tra tính hợp lệ của chữ ký số ( ) khi , bởi nó yêu cầu việc tính nghịch đảo
( ) Mặc dù đối với lược đồ ECDSA không yêu cầu bước
kiểm tra ( ) trong thuật toán ký, nhưng nếu không loại trừ trường hợp ( ) thì có thể xuất hiện ảnh hưởng sau 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ó ( ) , chúng ta có thể sinh ra một họ gồm 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 , 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 đồ ECDSA là dễ uốn Cũng cần lưu ý
rằng, lược đồ ECDSA là dễ uốn ngay cả khi ( ) Tuy nhiên trong trường hợp tổng quát, từ một chữ ký số ( ) trên thông điệp chúng ta chỉ suy ra được một chữ ký số khác trên là ( ), nhưng trong trường hợp ( ) chúng ta có thể suy ra được một họ gồm vô hạn chữ ký số hợp lệ trên thông điệp này Khác với các trường hợp hoặc bằng 0, thay vì lặp lại quá trình ký nếu ( ) thì chúng ta có thể gán giống như trường hợp của GOST R 34.10-2012
1.2.2 Lược đồ chữ ký GOST R 34.10-2012
Về cơ bản, lược đồ chữ ký số GOST R 34.10-2012 cũng được mô tả trên nhóm điểm đường cong elliptic Tương tự như ECDSA, mục này cũng sẽ chỉ ra sự
Trang 26cần thiết của các bước lặp đối với GOST R 34.10-2012
1.2.2.1 Mô tả lược đồ chữ ký 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 Tính Nếu , thì gán
3 Chọn số nguyên , -
4 Tính ( ), và ( ) , nếu quay về bước 3
5 Tính ; nếu , quay lại bước 3
6 Trả về chữ ký ( )
- 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 , - hay không
7 Chữ ký số được xác minh chỉ khi
1.2.2.2 Vấn đề bước lặp đối với GOST R 34.10-2012
Đố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à ( ) ( ) Từ đó, luận
án sẽ chỉ ra sự ảnh hưởng đối với lược đồ chữ ký số này khi các bước kiểm tra hoặc ( ) bị lược bỏ
Nếu một chữ ký số GOST R 34.10-2012 dạng ( ) đượ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 ( ) trên một thông điệp bất kỳ Thật vậy, giả sử ( ) là chữ ký số hợp
Trang 27lệ trên thông điệp , ta có ( ) là đúng Khi đó, với bất kỳ, lấy ( ) ( ) , thì ( ) là chữ ký số hợp lệ trên do
( ) ( )
( )
( ( ) ( ) ) ( )
( )
Trong trường hợp này, lược đồ GOST R 34.10-2012 bị giả mạo vạn năng
Đối với trường hợp , tác giả luận án chưa tìm thấy bất cứ ảnh hưởng nào lên lược đồ chữ ký số này
( ) Tương tự như trường hợp đối với lược đồ chữ ký
số ECDSA, có hai lý do cho việc xem xét ( ) trong thuật toán ký của GOST R 34.10-2012 Lý do đầu tiên được đề cập bởi M Michels và cộng sự [62] như sau, nếu thuật toán ký của GOST R 34.10-2012 cho phép ký lên thông điệp khi ( ) mà bỏ qua bước gán ( ) , thì khóa bí mật của người ký sẽ bị lộ Thật vậy, với ( ) là chữ ký số trên thông điệp có ( ) , thì khóa bí mật của người ký sẽ được tính ra theo công thức Điều này dẫn đến lược đồ GOST R 34.10-2012 bị phá vỡ hoàn toàn Lý do còn lại hết sức hiển nhiên bởi thuật toán xác minh của GOST R 34.10-
2012 yêu cầu tính nghịch đảo ( ) , nên ( ) cần khác 0
Bảng 1.1 Kết quả khảo sát bước lặp trên một số lược đồ chữ ký số
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
Bị phá vỡ hoàn toàn
và không thực hiện được thuật toán xác minh
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
Trang 28Ngoài ECDSA và GOST R 34.10-2012, việc khảo sát điều kiện bước lặp như trên cũng đã được thực hiện đối với các lược đồ chữ ký khác như ECGDSA và EC-Schnorr Kết quả đó được tóm tắt thông qua Bảng 1.1
1.3 Đánh giá về vấn đề chữ ký kép và tính dễ uốn
1.3.1 Chữ ký kép và tính dễ uốn đối với ECDSA
Ở đây, luận án sẽ xem xét hai lỗi của ECDSA được chỉ ra bởi J Stern và cộng sự [73] Nguyên nhân dẫn đến những lỗi này là do hàm chuyển ( ) ( ( ) * +) được sử dụng trong bước 2 của thuật toán ký có tính chất ( ) ( ) ( ) * + Cụ thể, lỗi đầu tiên là “lỗi chữ ký kép” – từ hai thông điệp khác nhau và bất kỳ chúng ta luôn sinh ra được một cặp khóa bí mật và khóa công khai sao cho hai thông điệp này cùng nhận một chữ
ký chung; trong khi lỗi thứ hai là, với ( ) là chữ ký hợp lệ trên thông điệp nào
đó, chúng ta dễ dàng suy ra ( ) là chữ ký hợp lệ trên thông điệp này
Lỗi chữ ký kép Với là hai thông điệp bất kỳ, tính ( ) và ( ) Tiếp theo lấy ngẫu nhiên một số * + và tính ( ) (nếu thì chọn lại ), sau đó thiết lập khóa bí mật
Khóa công khai tương ứng là Cuối cùng, tính ( )
Rõ ràng ( ) là chữ ký hợp lệ trên với cặp khóa ( ) Bây giờ, chúng
ta chỉ ra ( ) cũng là chữ ký hợp lệ trên với cặp khóa trên Thật vậy, theo phương trình xác minh chúng ta tính
(
( ))
(
)
Do đó ( ) ( ) ( ) , hay ( ) là chữ ký hợp lệ của với khóa công khai
Trang 29Tính dễ uốn Nếu ( ) là một chữ ký hợp lệ bất kỳ trên thông điệp đối với khóa công khai nào đó thì ( ) cũng vậy Thật vậy, vì ( ) là chữ ký hợp lệ trên , nên theo phương trình xác minh và tính đối xứng của hàm , chúng ta có đẳng thức sau
có sử dụng bất kỳ hàm băm nào thì ECDSA cũng vẫn mắc phải hai lỗi kể trên
Nhận xét 1.1 Cách tấn công để tạo ra lỗi này trên ECDSA là từ hai thông điệp bất
kỳ , chúng ta lấy ngẫu nhiên thuộc * +, và tính thành phần thứ nhất của chữ ký ( ) Sau đó, việc tính khóa bí mật và thành phần thứ hai của chữ ký cho hai thông điệp trên quy về việc giải hệ hai phương trình hai ẩn
{
( ( ) ) ( ( ) )
luôn có nghiệm ( ) ( )
và ( ( ) ) Do
đó, với hai thông điệp và bất kỳ chúng ta luôn tìm được một khóa bí mật
và chữ ký chung cho hai thông điệp này, bằng cách chọn ngẫu nhiên
* +
, chúng ta cần tính điểm và kiểm tra đẳng thức ( ) Tuy nhiên, nếu đẳng thức ( ) đúng, thì chúng ta cũng thu được đẳng thức ( ) đúng Mặt khác, chúng ta có thể dễ dàng tính điểm từ ( ) và (do ( ) ( ) ( ) ) Do đó dẫn đến tính dễ uốn của ECDSA
Trang 301.3.2 Đánh giá vấn đề chữ ký kép và tính dễ uốn đối với GOST R 34.10-2012
Tiếp theo, luận án sẽ trình bày việc phân tích hai lỗi của ECDSA trên GOST
R 34.10-2012 Dưới đây, GOST R 34.10-2012 được chỉ ra là có những đặc điểm để kháng lại những lỗi này Lưu ý rằng đối với khả năng kháng lỗi chữ ký kép, sẽ cần thêm giả thiết hàm băm có tính đều (đầu ra của hàm băm có phân bố đều) Để thuận tiện, dưới đây lỗi chữ ký kép sẽ được gọi là lỗi 1, trong khi đó tính dễ uốn sẽ được gọi là lỗi 2
Khẳng định 1.1 Dưới giả thiết hàm băm có tính đều, lược đồ chữ ký GOST R
34.10-2012 kháng lại được hai lỗi của ECDSA được chỉ ra trong [73]
Chứng minh:
Lỗi 1: Lỗi này cố gắng tính và từ hai thông điệp bất kỳ bằng cách giải hệ phương trình hai ẩn Tuy nhiên nếu áp dụng lên GOST R 34.10-2012, chúng ta thu được hệ phương trình,
{
ở đây được chọn trước và được tính theo Dễ thấy hệ này chỉ có thể có nghiệm trong trường hợp hai thông điệp phải thỏa mãn ( ) ( ) ( ) Tuy nhiên, số khả năng mà là (với ( ) *( ) +, do ), trong khi không gian của các
bộ ( ) bất kỳ có ( ) phần tử Do tính đều của đầu ra , chúng ta suy
ra, mật độ của các cặp thông điệp ( ) mà ( ) ( ) là cỡ ( ) , giá trị này là không đáng kể vì đối với chuẩn GOST R 34.10-2012 thì
có cỡ là hoặc Vì vậy, khả năng xảy ra lỗi chữ ký kép trên GOST
34.10-2012 là không đáng kể, (trái lại với ECDSA vì lỗi này có thể xảy ra với mọi cặp thông điệp)
Lỗi 2: Trong GOST R 34.10-2012, cặp trong phương trình xác minh được tính theo công thức ( ) và ( ) thay
vì công thức và ( ) như trong ECDSA Do đó với được tính từ cặp chữ ký số ( ) và , chúng ta khó có thể tìm ra cặp chữ ký
Trang 31số-thông điệp ( ) và để tính ra giá trị nhằm lợi dụng tính chất ( ) ( ) Giả sử nếu kẻ tấn công có thể tìm ra chữ ký số như vậy, thì ta có:
{ Cộng hai phương trình trên theo vế ta thu được:
ký số hợp lệ ( ) khác từ một chữ ký hợp lệ ( ) trên một thông điệp bằng cách khai thác tính chất ( ) ( ), với ( ) * + cũng là khó có thể thực hiện Thực vậy, để có thể thực hiện được điều kể trên thì theo phương trình xác minh ta phải có trong khi (với
( ) , nếu ( ) , và trong trường hợp ngược lại) Tuy nhiên
để ( ) là chữ ký số hợp lệ trên thì theo phương trình xác minh ta cũng phải
1.4 Các mô hình an toàn cho lƣợc đồ chữ ký số
Mặc dù, có 04 mức nguy cơ đối với một lược đồ chữ ký số, nhưng trong các chứng minh an toàn lý thuyết, người ta đều cố gắng chỉ ra rằng các lược đồ là không
Trang 32thể bị “giả mạo tồn tại” Điều này có là bởi nếu một lược đồ là an toàn trước nguy
cơ kể trên, thì nó cũng miễn nhiễm với các nguy cơ còn lại Tuy nhiên, những chứng minh như vậy ít được xem xét trong một mô hình chuẩn, nghĩa là, một hoặc nhiều nguyên thủy trong lược đồ sẽ được lý tưởng hóa thay vì được sử dụng như bình thường Tùy theo việc lý tưởng hóa nguyên thủy mật mã sẽ tạo ra các mô hình
an toàn khác nhau cho việc đánh giá các lược đồ chữ ký số Cho tới nay, đã có một
số nghiên cứu mà đề xuất mô hình an toàn cho lược đồ chữ ký số, như mô hình bộ tiên tri ngẫu nhiên (Random Oracle Model) [36], mô hình nhóm tổng quát (Generic Group Model) [25], mô hình có module được bảo vệ (Tamper-Proof Device Model) [76], mô hình bộ tiên tri ngẫu nhiên song ánh (Bijective Random Oracle Model) [35],…
Trong đó, mô hình bộ tiên tri ngẫu nhiên và mô hình nhóm tổng quát là các
mô hình được ra đời sớm và được biết đến rộng rãi hơn cả
1.4.1 Mô hình bộ tiên tri ngẫu nhiên
Hàm băm là một thành phần đặc biệt quan trọng theo khía cạnh mật mã nói chung, và lược đồ chữ ký số nói riêng Trong đó, việc sử dụng hàm băm trong các lược đồ chữ ký số sẽ giúp giảm kích thước thông điệp cần xử lý trong thuật toán ký
và xác minh, cũng như làm tăng độ an toàn của lược đồ
Như một hướng tiếp cận để cung cấp độ an toàn lý thuyết cho các lược đồ chữ ký số, công trình của Fiat-Shamir [36] đã đề xuất mô hình bộ tiên tri ngẫu nhiên Trong mô hình này, hàm băm được lý tưởng hóa như một hàm ngẫu nhiên và được gọi là một “bộ tiên tri ngẫu nhiên” Ở đó, bộ tiên tri hoạt động như sau:
Với đầu vào bất kỳ được yêu cầu lần đầu tiên, bộ tiên tri sẽ trả về một đầu
ra ngẫu nhiên (thuộc tập đầu ra);
Khi một đầu vào được yêu cầu lại, bộ tiên tri tri sẽ trả về đầu ra mà trùng với câu trả lời cho yêu cầu trước đó
Nhờ mô hình này, nhiều lược đồ được chứng minh an toàn kháng các tấn công giả mạo; cụ thể, chúng ta có thể kể đến các lược đồ chữ ký số Fiat-Shamir, ElGamal sửa đổi [67], Schnorr [68], ECDSA-II, ECDSA-III [59] Tuy mô hình này
Trang 33là công cụ khá mạnh để chứng minh an toàn cho các lược đồ chữ ký số, nhưng vẫn
có một số lược đồ chữ ký số rất hiệu quả lại không thể được chứng minh trong mô hình này, chẳng hạn ECDSA, GOST R 34.10-2012
của một lược đồ chữ ký số
1.4.3 Mô hình với thiết bị bảo vệ
Xuất phát từ mục tiêu phân tích, đánh giá độ an toàn cho các lược đồ trong chuẩn chữ ký số của Nga (GOST R 34.10-94 và GOST R 34.10-2012, gọi chung là các chữ ký số kiểu GOST), tác giả N.P Varnovskii [76] đã đề xuất một “mô hình với thiết bị bảo vệ” Ở đó, tác giả N.P Varnovskii đã thực hiện việc phân tích đánh giá an toàn cho các phiên bản sửa đổi của lược đồ chữ ký số kiểu GOST, thay vì nguyên gốc của chúng Về mặt trực giác, sửa đổi đã được thực hiện đối với các lược
đồ chữ ký số kiểu GOST là khá nhỏ, cụ thể sau khi tính giá trị băm của thông điệp
ký trong thuật toán ký, thay vì sử dụng trực tiếp để tính thành phần thứ hai của chữ ký số thì sẽ được đưa vào một “thiết bị bảo vệ” (an toàn về mặt vật lý) mà có chứa một hàm mã hóa với khóa bí mật rồi sau đó tính ( ) và sử dụng kết quả thu được để tính thành phần thứ hai của chữ ký số Tất nhiên, sửa đổi này của thuật toán ký sẽ dẫn đến một “thay đổi nhỏ” của thuật toán xác minh
Ưu điểm của hướng tiếp cận của tiếp cận của N.P Varnovskii là cung cấp chứng minh an toàn cho lược đồ chữ ký số kiểu GOST (sửa đổi) mà không bao gồm
Trang 34giả thiết về những nguyên thủy được lý tưởng hóa, nghĩa là sử dụng các tính chất chuẩn của hàm băm và các phép toán thông thường Nhưng theo góc nhìn cá nhân thì hướng tiếp cận này có hai nhược điểm sau:
Yêu cầu người dùng phải có các thiết bị bảo vệ thực sự an toàn về mặt vật
lý khiến cho các chữ ký số như vậy không những khó để triển khai rộng rãi, mà việc xác minh chữ ký số cũng chỉ được thực hiện với những người biết khóa của hàm
mã hóa trong thiết bị
Để tránh sử dụng các giả thiết liên quan đến việc lý tưởng hóa các nguyên thủy được sử dụng, các việc chứng minh an toàn cho các phiên bản sửa đổi của các
chữ ký số kiểu GOST được dựa trên giả thiết nửa logarit rời rạc [76], thay vì giả
thiết logarit rời rạc Tuy nhiên, cho đến nay chưa có công trình nào phân tích một cách rõ ràng về giả thiết kể trên
Ngoài ra, chính bản thân tác giả N.P Varnovskii đã thừa nhận rằng việc đánh giá an toàn cho các lược đồ chữ ký số kiểu GOST (nguyên bản) vẫn còn là một vấn
đề mở [76]
1.4.4 Mô hình bộ tiên tri ngẫu nhiên song ánh
Mô hình bộ tiên tri ngẫu nhiên song ánh được đề xuất bởi M Fersch và các cộng sự [35] để thay thế cho mô hình nhóm tổng quát Trong đó, DSA và ECDSA
là những đối tượng chính được phân tích trong công trình của M Fersch
Trước khi nói về mô hình của M Fersch và các cộng sự, chúng ta sẽ xem xét lại đôi chút về DSA và ECDSA Đặc điểm chung của chúng là đều sử dụng một
“hàm chuyển” (conversion functions) trong thuật toán ký và xác minh Đối với DSA, hàm chuyển là ( ) trên trường hữu hạn , là số nguyên tố lớn, là ước nguyên tố lớn của và có cấp Còn đối với ECDSA, nó
có dạng ( ) trên nhóm điểm đường cong elliptic ( ), là số nguyên tố lớn, là ước nguyên tố lớn của số điểm của ( ), ( ) có cấp ,
và là hoành độ của điểm Trong công trình của mình, M Fersch và các cộng
sự đã đưa ra ý tưởng về việc phân tách thành ba hàm riêng biệt:
Trang 35trong đó là một “song ánh” Để có thể đưa ra đánh giá an toàn cho các lược đồ chữ ký số, M Fersch và các cộng sự cũng sử dụng thêm một giả thiết là một “bộ tiên tri ngẫu nhiên”, và không có thêm yêu cầu gì về và Chính vì các yêu cầu đối với hàm , nên mô hình trong [35] đã được gọi với tên là mô hình “bộ tiên tri ngẫu nhiên song ánh”
Cũng giống như mô hình nhóm tổng quát và mô hình với thiết bị bảo vệ, mô hình của M Fersch mới chỉ được sử dụng để đánh giá cho một lớp nhỏ chữ ký số (chính là những sửa đổi nhỏ của các chữ ký số kiểu DSA) Mặc dù trong [35], các tác giả có đề cập rằng phương pháp của họ có thể áp dụng cho các lược đồ chữ ký
số khác (như GOST) và sẽ công bố sớm, tuy nhiên cho đến thời điểm hiện tại nó vẫn chưa được công bố
1.5 Lƣợc đồ chữ ký số dạng TEGTSS
Trong công trình nghiên cứu của mình, tác giả D Pointcheval và các cộng sự
đã trình bày hai kiểu lược đồ chữ ký số dạng TEGTSS mà đạt được “độ an toàn EUF-CMA trong mô hình bộ tiên tri ngẫu nhiên” [24] Đây là cũng là cơ sở cho các lược đồ chữ ký số dạng ECTEGTSS (sẽ được xem xét kỹ trong Chương 2 phục vục cho việc đề xuất) Do đó, luận án sẽ trình bày và đưa ra một số nhận xét đối với dạng lược đồ chữ ký số này
Dạng tổng quát của TEGTSS được mô tả như sau:
Các tham số hệ thống sao cho và là các số nguyên tố, , còn là một phần tử cấp trong nhóm , nghĩa là nhóm các số nguyên khả nghịch theo modulo
Hai hàm băm và , với các đầu ra lần lược được ký hiệu bởi và tương ứng Chúng ta giả sử rằng Ở đây, được xem như một hàm ngẫu nhiên lý tưởng (hay bộ tiên tri ngẫu nhiên), trong khi đó yêu cầu đối với chỉ là những tính chất thực tế, là tính kháng đa va chạm hoặc không đa va chạm (và một chiều)
Ba hàm:
Trang 36( ) ( ) ( ) thỏa mãn với mọi ( ) ( ) thì
( ( ) ) ( ( ) )
Ngoài ra, mỗi người dùng có các khóa bí mật và công khai thỏa mãn
Định nghĩa 1.3 (Định nghĩa 5, [24]) Một bộ ( ) được gọi là thỏa mãn
phương trình xác minh TEGTSS nếu ( ) và ( ) thì
thỏa mãn yêu cầu đối với lược đồ TEGTSS, khi đó hàm thỏa mãn quan hệ 1-1 sau: cho trước ( ) ( ), với thì
( ) ( ) khi và chỉ khi
Chứng minh Chúng ta xét hai trường hợp:
) Nếu chúng ta dễ dàng thu được ( ) ( ) Do vậy
chúng ta chỉ cần chứng minh chiều ngược lại
) Nếu ( ) ( ), kết hợp việc đáp ứng được yêu cầu với lược đồ TEGTSS thì chúng ta có:
( ( ) ) ( ( ) )
( ( ) ) ( ( ) )
Trang 37Như vậy chúng ta đã thu được điều phải chứng minh ■
Tính chất trên giúp ta thu được kết quả rằng, nếu là độc lập với , , và
có phân bố đều trên thì ( ) cũng có phân bố đều trên
Trong [24], các lược đồ TEGTESS được chia thành hai dạng là TEGTSS-I và TEGTSS-II Trong đó, luận án quan tâm hơn đến dạng TEGTSS-II Dạng lược đồ này cần có thêm một số điều kiện sau so với TEGTSS
- Để ký một thông điệp , người ký chọn một phần tử ngẫu nhiên thuộc , tính và ( ) Sau đó, tiếp tục tính ( ) và ( ) Chữ ký số của là bộ ba ( ) Trên thực tế, chữ ký của chỉ cần có dạng ( ) là đủ Tuy nhiên, dạng bộ ba ( ) sẽ là thuận tiện cho việc trình bày chứng minh an toàn hơn
- Để xác minh chữ ký số ( ) trên thông điệp , người xác minh tính ( ) ( ) và Sau đó, kiểm tra xem ( ) và ( ) hay không
Các tính chất của TEGTSS-II Theo [24], để cung cấp một lược đồ TEGTSS-II,
các hàm và phải thỏa mãn điều kiện 1-1 sau: cho trước và chỉ tồn tại duy nhất một cặp ( ) sao cho
( ) ( ) Hơn nữa cặp này có thể dễ dàng được tìm thấy
Nhận xét 1.3 Luận án sẽ chỉ ra rằng tính chất trên của TEGTSS-II trong [24] được
phát biểu chưa đủ Theo đó, chúng ta sẽ cần thay thế bởi điều kiện “gần” 1-1 như sau: ngoại trừ xác suất không đáng kể, thì với và cho trước chỉ tồn tại duy nhất một cặp ( ) sao cho
( ) ( ) thay vì điều kiện 1-1 ban đầu Thực vậy, nếu không chúng ta có thể chỉ ra rằng tính chất trên cho TEGTSS-II không còn đúng trong trường hợp Bằng cách cố định và cho chạy trong , dựa theo Mệnh đề 1.1 chúng ta thu được giá trị tương ứng cho Mặt khác, ta có giá trị lựa chọn cho Do vậy, chúng ta
Trang 38có cặp đầu vào ( ) (cố định ) nhưng chỉ có cặp đầu ra ( )
có thể có, nên theo nguyên tắc Dirichlet thì sẽ tồn tại ít nhất hai bộ
( ) và ( ) sao cho ( ) ( ) và ( ) ( ) Hay nói cách khác, tồn tại và sao cho hệ
( ) ( )
có nhiều hơn một nghiệm Hơn nữa, trong trường hợp vẫn bằng cách so sánh lực lượng của *( )+ (cố định ) và {( )} chúng ta sẽ suy ra rằng tồn tại và sao cho hệ
( ) ( ) không có nghiệm
Tuy nhiên để điều kiện sửa đổi có thể xảy ra thì chúng ta phải có thêm điều kiện giữa và là đại lượng ( )
(nếu ( ) ) hoặc
(nếu ( ) ) phải là không đáng kể
1.6 Khảo sát một số giao thức trao đổi khóa dựa trên chữ ký số
Trao đổi khóa Diffie-Hellman (Hình 1.1) là một cơ chế phổ biến để xây dựng các giao thức trao đổi khóa hiện nay Tuy nhiên, nhược điểm của cơ chế này là không có xác thực nên dễ bị tổn thương trước tấn công “người đứng giữa”
Hình 1.1 Giao thức trao đổi khóa Diffie-Hellman cơ bản Trong phần này, luận án sẽ trình bày một số lớp giao thức dựa trên cơ chế trao đổi khóa Diffie-Hellman mà dụng chữ ký để cung cấp tính xác thực Cụ thể, quá trình này bắt đầu từ giao thức STS cơ bản đến họ giao thức SIGMA
1.6.1 Giao thức STS cơ bản
Giao thức STS cơ bản (Hình 1.2) là giao thức đầu tiên trong họ STS được đề
Trang 39xuất bởi W Diffie và các cộng sự [33] Do STS cơ bản sử dụng cơ chế mã hóa để chứng nhận khóa, nên giao thức này còn được gọi là STS-ENC (giao thức STS sử dụng mã hóa)
Hình 1.2 Giao thức STS cơ bản
Tuy nhiên, giao thức STS có thể bị tấn công gây lỗi liên kết định danh (hay
chính xác hơn là tấn công UKS thay đổi khóa công khai) Ở đó, kẻ tấn công ̂ đăng
ký khóa công khai ̂ (của bên ̂) như khóa công khai của hắn (nghĩa là, thiết lập
̂ ̂), và thực hiện các bước như trong Hình 1.3
Hình 1.3 Tấn công UKS thay đổi khóa công khai trên STS-ENC
Ở đó, ký hiệu ̂ ̂ có ý nghĩa rằng ̂ đã chuyển một thông điệp được chỉ định gửi tới , tuy nhiên thông điệp này bị chặn bởi kẻ tấn công ̂ và có thể không được phân phát tới ̂ Vì ̂ ̂ chúng ta có ̂( ) ̂( ) Theo cách như vậy ̂ chấp nhận khóa và tin rằng được chia sẻ với ̂, trong khi thực tế khóa này được chia sẻ với ̂ Lưu ý rằng, theo kịch bản trên ̂ không cần biết giá trị của
1.6.2.Giao thức STS-MAC
Ngoài giao thức STS cơ bản, W Diffie và cộng sự [33] cũng đề cập đến một
Trang 40biến thể khác với tên gọi STS-MAC (Hình 1.4) Biến thể này cung cấp tính chứng nhận khóa bằng cách sử dụng hàm MAC (an toàn) thay vì sử dụng hàm mã hóa (an toàn) như STS cơ bản Hơn nữa, giao thức này cũng tạo tiền đề cho việc thiết kế cho các giao thức trao đổi khóa theo cơ chế “SIG-and-MAC” về sau
Theo S Blake-Wilson và A J Menezes, STS-MAC có thể được ưu tiên hơn
so với STS-ENC trong nhiều kịch bản thực tế vì việc tồn tại các hạn chế trong cách
sử dụng phép mã hóa an toàn [20] Hơn nữa, việc sử dụng hàm mã hóa để cung cấp chứng nhận khóa trong STS-ENC là đáng nghi ngờ - theo cách truyền thống mục đích cơ bản của phép mã hóa là cung cấp tính bí mật và nếu một lược đồ mã hóa được sử dụng để chứng minh việc sở hữu một khóa thì nó được biểu diễn bởi phép giải mã, chứ không phải bởi phép mã hóa Tuy vậy, một lợi thế của STS-ENC so với STS-MAC là giao thức này có thể phục vụ cho các trao đổi ẩn danh
Hình 1.4 Giao thức STS-MAC Ngoài ra, tuy có sự thay đổi so với giao thức STS cơ bản, nhưng giao thức này vẫn không tránh được kiểu tấn công UKS thay đổi khóa công khai Mặc dù những tấn công như vậy có thể được ngăn chặn bằng cách yêu cầu các thực thể chứng minh sự sở hữu khóa bí mật tương ứng với khóa công khai trong quá trình cấp phát chứng thư, nhưng S Blake-Wilson và A J Menezes đã chỉ ra rằng phương pháp này không giúp STS-MAC ngăn chặn được các tấn công UKS trực tuyến [20]
Tấn công này khai thác tính chất lựa chọn khóa chữ ký kép (DSKS) của một số lược
đồ chữ ký số (RSA, Rabin, ElGamal, DSA, ECDSA, ) Tính chất này được mô tả
như sau [20]: “Giả sử rằng ̂ (khóa công khai của ̂) và chữ ký ̂( ) của ̂ trên thông điệp được cho biết trước Thì kẻ tấn công có thể lựa chọn một cặp khóa ( ̂ ) thỏa mãn tính chất ̂( ) cũng là chữ ký của ̂ trên thông điệp ”