Một số phân tích về mô hình an toàn cho giao thức trao đổi khóa
Tóm tắt: Các mô hình an toàn đóng vai trò quan trọng trong việc phân tích độ an toàn
của các giao thức trao đổi khóa. Trong đó các mô hình an toàn CK [1], 𝐶𝐾𝐻𝑀𝑄𝑉 [2] và
eCK [3] được sử dụng phổ biến hơn cả. Trong [4], C. J. F. Cremers đã chỉ ra rằng độ an
toàn trong ba mô hình này không thể được suy dẫn qua nhau, nghĩa là một giao thức đạt
được độ an toàn trong bất cứ mô hình nào kể trên thì chưa chắc an toàn trong bất kỳ mô
hình nào còn lại. Ngoài ra, công trình này cũng chỉ ra một vài vấn đề liên quan đến chứng
minh an toàn cho một số giao thức trong những mô hình này, cụ thể là vấn đề về tính so
khớp phiên. Dựa trên cơ sở của [4], bài báo sẽ so sánh độ an toàn trong mô hình 𝐶𝐾𝐻𝑀𝑄𝑉
[2] và độ an toàn AKE [8]. Bên cạnh đó, bài báo sẽ chỉ ra một vấn đề liên quan đến việc
cài đặt của giao thức Lemongrass-3 [9], [10], mà đạt độ an toàn AKE, và sau đó đưa ra
một phương án giải quyết cho vấn đề đó.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Một số phân tích về mô hình an toàn cho giao thức trao đổi khóa
Công nghệ thông tin 60 Triệu Quang Phong, “Một số phân tích về mô hình an toàn cho giao thức trao đổi khóa.” MỘT SỐ PHÂN TÍCH VỀ MÔ HÌNH AN TOÀN CHO GIAO THỨC TRAO ĐỔI KHÓA Triệu Quang Phong* Tóm tắt: Các mô hình an toàn đóng vai trò quan trọng trong việc phân tích độ an toàn của các giao thức trao đổi khóa. Trong đó các mô hình an toàn CK [1], 𝐶𝐾𝐻𝑀𝑄𝑉 [2] và eCK [3] được sử dụng phổ biến hơn cả. Trong [4], C. J. F. Cremers đã chỉ ra rằng độ an toàn trong ba mô hình này không thể được suy dẫn qua nhau, nghĩa là một giao thức đạt được độ an toàn trong bất cứ mô hình nào kể trên thì chưa chắc an toàn trong bất kỳ mô hình nào còn lại. Ngoài ra, công trình này cũng chỉ ra một vài vấn đề liên quan đến chứng minh an toàn cho một số giao thức trong những mô hình này, cụ thể là vấn đề về tính so khớp phiên. Dựa trên cơ sở của [4], bài báo sẽ so sánh độ an toàn trong mô hình 𝐶𝐾𝐻𝑀𝑄𝑉 [2] và độ an toàn AKE [8]. Bên cạnh đó, bài báo sẽ chỉ ra một vấn đề liên quan đến việc cài đặt của giao thức Lemongrass-3 [9], [10], mà đạt độ an toàn AKE, và sau đó đưa ra một phương án giải quyết cho vấn đề đó. Từ khóa: Giao thức HMQV; Giao thức KEA+; Giao thức Lemongrass-3; Mô hình 𝐶𝐾𝐻𝑀𝑄𝑉; Độ an toàn AKE. 1. GIỚI THIỆU Các mô hình an toàn đóng vai trò quan trọng trong việc phân tích độ an toàn của các giao thức trao đổi khóa. Mô hình chứng minh an toàn đầu tiên được đề xuất bởi Bellare và Rogaway, với tên gọi BR93 [5]. Tiếp theo đó, nhiều mô hình chứng minh an toàn khác đã được đề xuất như BR95 [6], BPR2000 [7], CK [1]. Trong đó, mô hình CK và các biến thể của nó, bao gồm CKHMQV [2] và mô hình eCK [3], hiện được sử dụng phổ biến để phân tích độ an toàn cho các giao thức mật mã. Cụ thể, những giao thức đặc trưng mà chúng ta có thể kể đến như: SIG-DH an toàn trong mô hình CK [1], HMQV an toàn trong mô hình CKHMQV [2] và NAXOS an toàn trong mô hình eCK [3]. Hình 1. Giao thức HMQV [2]. Trong [4], C. J. F. Cremers đã phân tích và tìm liên hệ giữa ba mô hình an toàn CK, CKHMQV, eCK. Một kết quả mà công trình đó đưa ra là độ an toàn của ba mô hình CK, CKHMQV, eCK không được suy dẫn qua nhau, nghĩa là một giao thức đạt được độ an toàn trong bất cứ mô hình nào kể trên thì chưa chắc an toàn trong bất kỳ mô hình nào còn lại. Ngoài ra, [4] còn chỉ ra một số vấn đề khi chứng minh độ an toàn của các giao thức trao đổi khóa trong những mô hình này. Cần lưu ý rằng, phương án tiếp cận chính mà C. J. F. Cremers sử dụng là khai thác tính so khớp phiên trong những mô hình kể trên. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 61 Bên cạnh độ an toàn trong những mô hình kể trên, K. Lauter và A. Mityagin [8] đã trình bày độ an toàn AKE cho các giao thức trao đổi khóa có xác thực và chỉ ra một giao thức đạt được độ an toàn này, với tên gọi là KEA+. Trong [10], Grebnev cũng đã sử dụng độ an toàn này để phân tích cho giao thức Lemongrass-3, mà sau đó đã xuất hiện trong dự thảo chuẩn [9] do TC26 đề xuất. Về cơ bản, có thể xem độ an toàn AKE [8] như một biến thể của độ an toàn trong mô hình CKHMQV. Đóng góp. Dựa trên ý tưởng của [4], bài báo này sẽ so sánh độ an toàn trong mô hình CKHMQV [2] và độ an toàn AKE [8]. Kết quả thu được là hai độ an toàn trên không được suy dẫn thông qua nhau, bằng cách chỉ ra rằng giao thức HMQV không đạt được độ an toàn AKE và giao thức KEA+ không an toàn trong mô hình CKHMQV. Bên cạnh đó, bài báo chỉ ra một vấn đề đối với mô tả của giao thức Lemongrass-3 trong [9]. Cụ thể, nếu với mô tả đó, giao thức Lemongrass-3 sẽ không đạt được độ an toàn AKE, mặc dù nó đã đã được chứng minh đạt độ an toàn AKE theo mô tả trong [10]. Giải pháp cho vấn đề này sẽ được đề xuất trong mục 0 của bài báo. 2. MÔ HÌNH AN TOÀN CHO CÁC GIAO THỨC TRAO ĐỔI KHÓA 2.1. Các chuẩn bị và quy ước ký hiệu Ở đây, chúng ta xem xét các giao thức được thực hiện giữa hai bên tham gia. Chúng ta sẽ dùng ký hiệu �̂�, �̂�,... để đại diện cho các bên tham gia. Khi thực hiện giao thức, mỗi bên tham gia sẽ đóng vai trò như bên khởi tạo ℐ, hoặc bên phúc đáp ℛ; và mỗi lần thực hiện như vậy sẽ được coi là một phiên. Hơn nữa, mỗi bên tham gia cũng có thể thực hiện cùng lúc nhiều phiên với các bên tham gia khác. Trong lúc giao thức được thực hiện bình thường (không có sự can thiệp của bên đối kháng) giữa 2 bên tham gia �̂� và �̂�, có một phiên tại �̂� và một phiên tại �̂�. Đối với các giao thức trao đổi khóa, chúng ta yêu cầu cả hai phiên đó đều tính ra cùng một khóa. Các mô hình trao đổi khóa được xem xét ở đây đều bao gồm khái niệm của các phiên so khớp (matching) (đôi khi được gọi là tính đối tác -- parterning). Trong trường hợp hai phiên so khớp với nhau thì chúng cần tính ra cùng một khóa. Đối với một phiên s, chúng ta sẽ quan tâm đến các thành phần sau: 𝑠𝑅 thể hiện vai trò (role) (bên khởi tạo ℐ, hoặc bên phúc đáp ℛ) được thực hiện bởi phiên; 𝑠𝑜𝑤𝑛𝑒𝑟 và 𝑠𝑝𝑒𝑒𝑟 lần lượt là ký h ... C là an toàn. Tiếp theo, chúng ta sẽ đến với mô tả kỹ thuật cho Lemongrass-3 [9]. Mô tả này được minh họa trong bảng 2. Bảng 2. Giao thức Lemograss-3 trong dự thảo chuẩn [9]. �̂� → �̂�: 𝐶𝑒𝑟𝑡𝐴, (𝑅𝐴 = 𝑟𝐴𝑃𝐵) �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝐾𝑀𝐵 = (𝐻(𝜋(𝑐𝐴𝑟𝐵𝑌𝐴), 𝜋(𝑏(𝑐𝐵𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝑡𝑎𝑔𝐵 = 𝑀𝐴𝐶𝐾𝑀𝐵(0) �̂� → �̂�: 𝐶𝑒𝑟𝑡𝐵, (𝑅𝐵 = 𝑟𝐵𝑃𝐴), 𝑡𝑎𝑔𝐵 �̂�: 𝐾𝑀𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵 , 𝑜𝑖)) 0,𝜆−1 �̂�: nếu 𝑡𝑎𝑔𝐵 ≠ 𝑀𝐴𝐶𝐾𝑀(0), thì dừng phiên �̂�: 𝐾𝑆𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝑡𝑎𝑔𝐴 = 𝑀𝐴𝐶𝐾𝑀𝐴(1) �̂� → �̂�: 𝑡𝑎𝑔𝐴 �̂�: nếu 𝑡𝑎𝑔𝐴 ≠ 𝑀𝐴𝐶𝐾𝑀𝐴(1), thì dừng phiên Trong bảng 2, ℎ2 và ℎ3 là các hằng số phân biệt; 𝜋 là hàm trích xuất hoành độ của điểm thuộc 𝐺, mà có tính chất ∀ 𝑄 ∈ 𝐺 thì ta có 𝜋(𝑄) = 𝜋(−𝑄). 1 Giả thiết này phát biểu rằng bài toán CDH vẫn là khó ngay cả khi có sự hỗ trợ của một bộ tiên tri giải bài toán DDH. Trong đó, bài toán CDH đối với một nhóm điểm đường cong elliptic 𝐺 với điểm cơ sở 𝑃 được hiểu là với 𝑋 = 𝑥𝑃 và 𝑌 = 𝑦𝑃 (𝑥, 𝑦 được chọn ngẫu nhiên) cho trước (lưu ý là không cho biết 𝑥, 𝑦), yêu cầu tính 𝐶𝐷𝐻(𝑋, 𝑌) = 𝑥𝑦𝑃; và bài toán DDH được hiểu là với 𝑋 = 𝑥𝑃, 𝑌 = 𝑦𝑃 và 𝑍 = 𝑧𝑃 (𝑥, 𝑦, 𝑧 được chọn ngẫu nhiên) cho trước (lưu ý là không cho biết 𝑥, 𝑦, 𝑧), quyết định xem 𝑍 = 𝐶𝐷𝐻(𝑋, 𝑌) hay không. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 67 3.2. Mô tả tấn công Dựa trên tính chất của hàm 𝜋, bài báo chỉ ra một tấn công đơn giản để chỉ ra rằng giao thức trong bảng 2. Cụ thể, một bên đối kháng ℳ trong vai trò người đứng giữa sẽ thực hiện hành động như trong bảng 3. Bảng 3. Tấn công giao thức Lemograss-3 trong dự thảo chuẩn [9]. �̂� ↛ �̂�: 𝐶𝑒𝑟𝑡𝐴, (𝑅𝐴 = 𝑟𝐴𝑃𝐵) ℳ → �̂�: 𝐶𝑒𝑟𝑡𝐴, (−𝑅𝐴) �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(−𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(−𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝐾𝑀𝐵 = (𝐻(𝜋(𝑐𝐴𝑟𝐵𝑌𝐴), 𝜋(𝑏(𝑐𝐵𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝑡𝑎𝑔𝐵 = 𝑀𝐴𝐶𝐾𝑀𝐵(0) �̂� → �̂�: 𝐶𝑒𝑟𝑡𝐵, (𝑅𝐵 = 𝑟𝐵𝑃𝐴), 𝑡𝑎𝑔𝐵 �̂�: 𝐾𝑀𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵 , 𝑜𝑖)) 0,𝜆−1 �̂�: nếu 𝑡𝑎𝑔𝐵 ≠ 𝑀𝐴𝐶𝐾𝑀(0), thì dừng phiên �̂�: 𝐾𝑆𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝑡𝑎𝑔𝐴 = 𝑀𝐴𝐶𝐾𝑀𝐴(1) �̂� → �̂�: 𝑡𝑎𝑔𝐴 �̂�: nếu 𝑡𝑎𝑔𝐴 ≠ 𝑀𝐴𝐶𝐾𝑀𝐴(1), thì dừng phiên Tiếp theo, chúng ta sẽ phân tích tấn công trong bảng 3. Đầu tiên chúng ta giả sử phiên tại �̂� là 𝑠 và phiên tại �̂� là 𝑠′. Chúng ta có thể dễ dàng thấy rằng 𝑠𝑠𝑒𝑛𝑑 = 𝑅𝐴, trong khi 𝑠𝑟𝑒𝑣𝑐 ′ = −𝑅𝐴, và vì vậy 𝑠𝑠𝑒𝑛𝑑 ≠ 𝑠𝑟𝑒𝑐𝑣 ′ . Đối chiếu với tính so khớp trong độ an toàn AKE, thì 𝑠 và 𝑠′ không so khớp với nhau. Tuy nhiên, trong tấn công này, ℳ lại khiến cho 𝑠 và 𝑠′ đưa ra cùng khóa phiên và khóa MAC bởi: 𝜋(−𝑏(𝑐𝐵𝑅𝐴)) = 𝜋(−𝑏𝑐𝐵𝑟𝐴𝑃𝐵) = 𝜋(−𝑟𝐴(𝑏𝑐𝐵𝑃𝐵)) = 𝜋(−𝑟𝐴𝑌𝐵) = 𝜋(𝑟𝐴𝑌𝐵), và việc kiểm tra các giá trị MAC là hợp lệ vì: 𝜋(𝑅𝐴) = 𝜋(−𝑅𝐴). Như vậy, ℳ có thể chọn 𝑠 như phiên 𝑡𝑒𝑠𝑡, và sau đó thực hiện truy vấn 𝑆𝑒𝑠𝑠𝑖𝑜𝑛 − 𝑘𝑒𝑦 𝑟𝑒𝑣𝑒𝑎𝑙 để lấy khóa phiên của 𝑠′. Bằng cách như vậy, ℳ có thể dễ dàng phân biệt khóa nhận được sau khi thực hiện truy vấn 𝑡𝑒𝑠𝑡 là khóa của 𝑠 hay một chuỗi ngẫu nhiên. Điều này cho thấy giao thức trong bảng 2 là không an toàn AKE, mặc dù giao thức Lemongrass-3 lại an toàn trong mô hình này. Chú ý. Một tấn công tương tự như tấn công trong bảng 3 là không có ý nghĩa nếu áp dụng cách cài đặt trong [9] cho các giao thức HMQV. Đối với cài đặt trên giao thức HMQV, khi thực hiện tấn công như trong bảng 3, hai bên �̂� và �̂� sẽ tính ra hai khóa khác nhau. Và do vậy, sẽ không thể phá vỡ tính an toàn của giao thức HMQV theo một cách tầm thường. Công nghệ thông tin 68 Triệu Quang Phong, “Một số phân tích về mô hình an toàn cho giao thức trao đổi khóa.” 3.3. Đề xuất một cách cài đặt sửa đổi Trong mục này, bài báo đề xuất một sửa đổi cho phép cài đặt trong [9] mà đảm bảo rằng dưới các giả thiết an toàn của các nguyên thủy mật mã thì độ an toàn của Lemongrass-3 trong [10] được bảo toàn theo cách cài đặt đó. Việc sửa đổi của chúng tôi là khá đơn giản. Bảng 4. Cài đặt sửa đổi cho giao thức Lemograss-3 trong [10]. �̂� → �̂�: 𝐶𝑒𝑟𝑡𝐴, (𝑅𝐴 = 𝜙(𝑟𝐴𝑃𝐵)) �̂�: Kiểm tra 𝑅𝐴 = 𝜙(𝑅𝐴), nếu sai thì dừng lại �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝐾𝑆𝐵 = (𝐻(𝜋(𝑐𝐴 𝑟𝐵 𝑌𝐴), 𝜋(𝑏(𝑐𝐵 𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝐾𝑀𝐵 = (𝐻(𝜋(𝑐𝐴𝑟𝐵𝑌𝐴), 𝜋(𝑏(𝑐𝐵𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 0,𝜆−1 �̂�: 𝑡𝑎𝑔𝐵 = 𝑀𝐴𝐶𝐾𝑀𝐵(0) �̂� → �̂�: 𝐶𝑒𝑟𝑡𝐵, (𝑅𝐵 = 𝜙(𝑟𝐵𝑃𝐴)), 𝑡𝑎𝑔𝐵 �̂�: Kiểm tra 𝑅𝐵 = 𝜙(𝑅𝐵), nếu sai thì dừng lại �̂�: 𝐾𝑀𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵 , 𝑜𝑖)) 0,𝜆−1 �̂�: nếu 𝑡𝑎𝑔𝐵 ≠ 𝑀𝐴𝐶𝐾𝑀(0), thì dừng phiên �̂�: 𝐾𝑆𝐴 = (𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖)) 𝜆,2𝜆−1 �̂�: 𝑡𝑎𝑔𝐴 = 𝑀𝐴𝐶𝐾𝑀𝐴(1) �̂� → �̂�: 𝑡𝑎𝑔𝐴 �̂�: nếu 𝑡𝑎𝑔𝐴 ≠ 𝑀𝐴𝐶𝐾𝑀𝐴(1), thì dừng phiên Cụ thể, gọi 𝜓 là phép lấy tung độ của một điểm thuộc nhóm điểm đường cong elliptic. Chúng ta xác định một hàm 𝜙 (lấy đầu vào là điểm thuộc đường cong elliptic 𝐸(𝔽𝑝), ngoại trừ điểm trung hòa 𝒪) như sau: 𝜙(𝑅) { 𝑅 nếu 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) ≤ 𝜓(−𝑅) (𝑚𝑜𝑑 𝑝) trong trường hợp ngược lại Chúng ta dễ dàng thấy hàm 𝜙 có tính chất: 𝜙(𝑅) = 𝜙(𝜙(𝑅)), ∀ 𝑅 ∈ 𝐸(𝔽𝑝) ∖ {𝒪}. Thật vậy, chúng ta xét hai trường hợp: (1) 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) = 0; và (2) 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) ≠ 0. Trong trường hợp 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) = 0, thì chúng ta cũng có 𝜓(−𝑅)(𝑚𝑜𝑑 𝑝) = 0, và do vậy, theo định nghĩa của hàm 𝜙 thì 𝜙(𝑅) = 𝑅. Điều này dẫn đến 𝜙(𝑅) = 𝜙(𝜙(𝑅)). Xét trường hợp 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) ≠ 0. Gọi 𝒮 là tập tất cả các điểm 𝑄 ∈ 𝐸(𝔽𝑝) ∖ {𝒪} sao cho 𝜓(𝑄)(𝑚𝑜𝑑 𝑝) ≠ 0. Lưu ý rằng, 𝜓(𝑄)(𝑚𝑜𝑑 𝑝) + 𝜓(−𝑄)(𝑚𝑜𝑑 𝑝) = 𝑝, ∀ 𝑄 ∈ 𝒮. Do đó, với mỗi điểm 𝑄 ∈ 𝒮 thì 𝜓(𝑅)(𝑚𝑜𝑑 𝑝) ≤ 𝜓(−𝑅) (𝑚𝑜𝑑 𝑝) khi và chỉ khi 𝜓(𝑄)(𝑚𝑜𝑑 𝑝) < 𝑝 2 . Nói cách khác, với 𝑄 ∈ 𝒮, thì 𝜙(𝑄) = 𝑄 khi và chỉ khi Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 69 𝜓(𝑄) (𝑚𝑜𝑑 𝑝) < 𝑝/2. Như vậy, theo định nghĩa chúng ta luôn có 𝜓(𝜙(𝑄))(𝑚𝑜𝑑 𝑝) < 𝑝 2 , 𝑄 ∈ 𝒮. Áp dụng điều trên chúng ta cũng thu được 𝜙(𝑅) = 𝜙(𝜙(𝑅)) trong trường hợp này. Như vậy, tính chất 𝜙(𝑅) = 𝜙(𝜙(𝑅)), ∀ 𝑅 ∈ 𝐸(𝔽𝑝) ∖ {𝒪} đã được làm rõ. Bây giờ, chúng ta áp dụng hàm 𝜙 để thu được phép cài đặt sửa đổi cho giao thức Lemongrass-3 như trong bảng 4. Với việc sử dụng hàm 𝜙 như vậy, dễ thấy rằng tấn công trong bảng 3 sẽ không còn giá trị. Tính đúng đắn. Nếu hai bên �̂� và �̂� hoàn tất giao thức trong bảng 4 một cách bình thường thì họ sẽ tính ra khóa chung. Điều này là do: 𝜋(𝑏(𝑐𝐵𝑅𝐴)) = 𝜋(𝑏𝑐𝐵𝜙(𝑟𝐴𝑃𝐵)) = 𝜋(𝑏𝑐𝐵(± 𝑟𝐴𝑃𝐵)) = 𝜋(±𝑐𝐵𝑟𝐴(𝑏𝑃𝐵)) = 𝜋(± 𝑐𝐵𝑟𝐴𝑌𝐵) = 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵) 𝜋(𝑎(𝑐𝐴𝑅𝐴)) = 𝜋(𝑎𝑐𝐴𝜙(𝑟𝐵𝑃𝐴)) = 𝜋(𝑎𝑐𝐴(±𝑟𝐵𝑃𝐴)) = 𝜋(± 𝑐𝐴𝑟𝐵(𝑎𝑃𝐴)) = 𝜋(± 𝑐𝐴𝑟𝐵𝑌𝐴) = 𝜋(𝑐𝐴𝑟𝐵𝑌𝐴) Do đó, chúng ta có: 𝐻(𝜋(𝑐𝐴𝑟𝐵𝑌𝐴), 𝜋(𝑏(𝑐𝐵𝑅𝐴)), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖) = 𝐻(𝜋(𝑎(𝑐𝐴𝑅𝐴)), 𝜋(𝑐𝐵𝑟𝐴𝑌𝐵), 𝐶𝑒𝑟𝑡𝐴, 𝐶𝑒𝑟𝑡𝐵, 𝑜𝑖). Điều này dẫn đến hai bên �̂� và �̂� nếu giao thức trong bảng 4 hoạt động một cách bình thường. Độ an toàn. Cách cài đặt như trong bảng 4 bảo toàn các tính chất an toàn của giao thức Lemongrass-3 được mô tả trong [10], trong đó có độ an toàn AKE. Cụ thể, chúng ta hoàn toàn có thể áp dụng phương pháp trong [10] để phân tích độ an toàn AKE của giao thức trong bảng 4 với các giả thiết GDH, hàm băm được mô hình hóa như bộ tiên tri ngẫu nhiên và hàm MAC là an toàn. Dưới đây, bài báo sẽ trình bày ý tưởng phân tích. Giả sử rằng tồn tại một bên đối kháng thời gian đa thức ℳ có lợi thế đáng kể trong thử nghiệm AKE đối với giao thức KEA+. Không mất tính tổng quát, gọi (�̂�, �̂�, 𝑖𝑛𝑖𝑡𝑖𝑎𝑡𝑜𝑟, 𝑋, 𝑌) là phiên 𝑡𝑒𝑠𝑡 (trường hợp (�̂�, �̂�, 𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑟, 𝑅𝑈, 𝑅𝑉) là phiên 𝑡𝑒𝑠𝑡 cũng được xử lý một cách tương tự) trong thử nghiệm AKE. Gọi 𝑌𝑈, 𝐶𝑒𝑟𝑡𝑈, 𝑐𝑈 lần lượt là khóa công khai dài hạn, chứng thư và hệ số cofactor trên đường cong elliptic của �̂�; và 𝑌𝑉 , 𝐶𝑒𝑟𝑡𝑉, 𝑐𝑉 lần lượt là khóa công khai dài hạn, chứng thư và hệ số cofactor trên đường cong elliptic của �̂�. Khi đó khóa phiên của phiên 𝑡𝑒𝑠𝑡 là 𝐻(𝜋(𝑐𝑈𝐶𝐷𝐻(𝑌𝑈, 𝑅𝑉)), 𝜋(𝑐𝑉𝐶𝐷𝐻(𝑌𝑉, 𝑅𝑈)), 𝐶𝑒𝑟𝑡𝑈, 𝐶𝑒𝑟𝑡𝑉). Vì 𝐻 được lập mô hình như một hàm ngẫu nhiên với xác suất va chạm không đáng kể, một bên đối kháng có các khả năng sau trong việc phân biệt khóa phiên với khóa ngẫu nhiên: 1) Tấn công giả mạo. Tại một thời điểm nào đó ℳ truy vấn 𝐻 với đầu vào (𝜋(𝑐𝑈𝐶𝐷𝐻(𝑌𝑈, 𝑅𝑉)), 𝜋(𝑐𝑉𝐶𝐷𝐻(𝑌𝑉, 𝑅𝑈)), 𝐶𝑒𝑟𝑡𝑈, 𝐶𝑒𝑟𝑡𝑉) 2) Tấn công lặp lại khóa. ℳ có thể kích hoạt một phiên tại một bên tham gia nào đó mà đưa ra khóa phiên trùng với phiên 𝑡𝑒𝑠𝑡, và sau đó khám phá khóa của phiên đó. Chúng ta lưu ý rằng, do hàm băm được mô hình hóa như bộ tiên tri ngẫu nhiên, việc hàm băm đưa ra cùng một giá trị cho hai đầu vào khác nhau xảy ra với xác suất không đáng kể. Do đó, phiên mà có chung khóa phiên với phiên 𝑡𝑒𝑠𝑡 chỉ có thể là chính phiên Công nghệ thông tin 70 Triệu Quang Phong, “Một số phân tích về mô hình an toàn cho giao thức trao đổi khóa.” 𝑡𝑒𝑠𝑡 hoặc phiên so khớp của nó (nếu có), ngoại trừ xác suất không đáng kể. Tuy nhiên, bên đối kẻ tấn công không được khám phá khóa của phiên 𝑡𝑒𝑠𝑡 và phiên so khớp của nó (nếu có). Vì vậy, lợi thế của bên đối kháng ℳ khi sử dụng tấn công lặp lại khóa là không đáng kể. Trong trường hợp lợi thế của bên đối kháng ℳ khi sử dụng tấn công lặp lại là đáng kể thì có thể xây dựng từ ℳ một bộ giải bài toán GDH với xác suất đáng kể. Nhận xét. Chúng ta không thể áp dụng ý tưởng chứng minh trên cho giao thức trong bảng 2 bởi vì bên đối kháng dễ dàng thực hiện kiểu tấn công thứ hai bằng cách áp dụng kịch bản tấn công như trong bảng 3 lên giao thức đó. 4. KẾT LUẬN Các mô hình an toàn đóng vai trò quan trọng trong việc phân tích các giao thức trao đổi khóa. Dựa trên kết quả và các phân tích trong [4] của tác giả C. J. F. Cremers, bài báo đã thu được hai kết quả chính. Đầu tiên, bài báo này đã so sánh độ an toàn trong mô hình CKHMQV [2] và độ an toàn AKE [8]. Kết quả thu được là hai độ an toàn trên không được suy dẫn thông qua nhau, bằng cách chỉ ra rằng giao thức HMQV không đạt được độ an toàn AKE (xem Mệnh đề 3) và giao thức HMQV không an toàn trong mô hình CKHMQV (xem mệnh đề 2). Kết quả còn lại của bài báo là chỉ ra một vấn đề đối với mô tả của giao thức Lemongrass-3 trong [9]. Cụ thể, nếu với mô tả đó, giao thức Lemongrass-3 sẽ không đạt được độ an toàn AKE, mặc dù nó đã đã được chứng minh đạt độ an toàn này theo mô tả trong [10]. Giải pháp cho vấn đề này được đề xuất trong Mục 0 của bài báo. Những kết quả trên cho thấy rằng chúng ta cần cẩn trọng trong việc phân tích các giao thức trao đổi khóa trong các mô hình an toàn phù hợp. Hơn nữa, ngay cả khi đã phân tích độ an toàn các giao thức trong mô hình an toàn phù hợp thì chúng ta cũng cần chú ý đến việc cài đặt để có thể bảo toàn độ an toàn đó. TÀI LIỆU THAM KHẢO [1]. Canetti, R., Krawczyk, H.: “Analysis of key-exchange protocols and their use for building secure channels”. In: EUROCRYPT'01. Volume 2045 of LNCS., Springer (2001) 453-474. [2]. Krawczyk, H.: HMQV: “A high-performance secure Diffie-Hellman protocol”. In: CRYPTO 2005. Volume 3621 of Lecture Notes in Computer Science., Springer-Verlag (2005) 546-566. [3]. LaMacchia, B., Lauter, K., Mityagin, A.: “Stronger security of authenticated key exchange”. In: ProvSec. Volume 4784 of Lecture Notes in Computer Science., Springer (2007) 1-16. [4]. Cremers, C.: “Formally and Practically Relating the CK, CK-HMQV, and eCK Security Models for Authenticated Key Exchange”. IACR Cryptology ePrint Archive, 2009, 253. [5]. Bellare, M., Rogaway, P.: “Entity authentication and key distribution”. In Annual international cryptology conference. Springer, Berlin, Heidelberg (1993, August) 232-249. [6]. Bellare, M., Rogaway, P.: “Provably secure session key distribution: the three party case”. In Proceedings of the twenty-seventh annual ACM symposium on Theory of computing. ACM (1995, May) 57-66. [7]. Bellare, M., Pointcheval, D., Rogaway, P.: “Authenticated key exchange secure against dictionary attacks”. In International conference on the theory and applications of Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 71 cryptographic techniques. Springer, Berlin, Heidelberg (2000, May) 139-155. [8]. Lauter, K., Mityagin, A.: “Security analysis of KEA authenticated key exchange protocol”. In International Workshop on Public Key Cryptography. Springer, Berlin, Heidelberg (2006, April) 378-394. [9]. “Dự thảo Tiêu chuẩn cho giao thức trao đổi khóa của TC26”. Xem tại [10]. Grebnev, S.: “Security properties of certain authenticated key exchange protocols”. CTCrypt 2014. ABSTRACT SOME ANALYSIS OF SECURITY MODEL FOR KEY EXCHANGE PROTOCOL Security models play an important role in analyzing the security of key exchange protocols. In which the security models CK [1], CK_HMQV [2], and eCK [3] are most commonly used. In [4], C.J.F Cremers pointed out that the security in these three models cannot be reduced together, i.e., a protocol that achieves security in any of the above models is not guaranteed that it will secure in the others. In addition, this work also points to several issues related to proving security for some of the protocols in these models, namely session matching. On the basis of [4], in this article, the security in the model 𝐶𝐾𝐻𝑀𝑄𝑉 [2] was compared to the AKE security [8]. Besides, the report will point out a problem related to the implementation of Lemongrass-3 [9, 10], which achieves AKE security and then offer a solution to the problem. Keywords: Protocol HMQV; Protocol KEA+; Protocol Lemongrass-3; 𝐾𝐻𝑀𝑄𝑉 model; The AKE security. Nhận bài ngày 20 tháng 10 năm 2020 Hoàn thiện ngày 10 tháng 12 năm 2020 Chấp nhận đăng ngày 15 tháng 12 năm 2020 Địa chỉ: Trường Đại học Công nghệ/ Đại học Quốc gia Hà Nội. *Email: phongtrieu53@gmail.com.
File đính kèm:
- mot_so_phan_tich_ve_mo_hinh_an_toan_cho_giao_thuc_trao_doi_k.pdf