Nghiên cứu phát triển giao thức trao đổi khóa nhóm - Đỗ Việt Bình

Tài liệu Nghiên cứu phát triển giao thức trao đổi khóa nhóm - Đỗ Việt Bình: Công nghệ thông tin & Cơ sở toán học cho tin học Đỗ Việt Bình, “Nghiên cứu phát triển giao thức trao đổi khóa nhóm.” 104 NGHIÊN CỨU PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA NHÓM Đỗ Việt Bình* Tóm tắt: Trong việc phát triển các giao thức trao đổi khóa nhóm, có rất nhiều các mục tiêu mà các nhà phát triển phải đặt ra để khắc phục các hạn chế như: Giảm số lần giao dịch, giảm độ phức tạp tính toán, tránh để lộ khóa cặp và đảm bảo các thay đổi trạng thái trong nhóm động. Trong khuôn khổ bài báo này, xin được đề cập đến hai hạn chế chính mà các giao thức tập trung khắc phục và nâng cao hiệu quả đó là tránh để lộ khóa cặp và giảm khối lượng giao dịch và tính toán. Từ khóa: Trao đổi khóa; Trao đổi khóa nhóm; Giao thức. 1. MỞ ĐẦU Trao đổi khóa Diffie - Hellman [2] (DH) là cơ sở cho các giao thức trao đổi khóa trong trường hợp hai bên. Hơn nữa, theo giả thiết DH quyết định giao thức này là giả định an toàn trong một mô hình với kênh chứng thực. Tất cả các giao thức trao đ...

pdf6 trang | Chia sẻ: quangot475 | Lượt xem: 517 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Nghiên cứu phát triển giao thức trao đổi khóa nhóm - Đỗ Việt Bình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Công nghệ thông tin & Cơ sở toán học cho tin học Đỗ Việt Bình, “Nghiên cứu phát triển giao thức trao đổi khóa nhóm.” 104 NGHIÊN CỨU PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA NHÓM Đỗ Việt Bình* Tóm tắt: Trong việc phát triển các giao thức trao đổi khóa nhóm, có rất nhiều các mục tiêu mà các nhà phát triển phải đặt ra để khắc phục các hạn chế như: Giảm số lần giao dịch, giảm độ phức tạp tính toán, tránh để lộ khóa cặp và đảm bảo các thay đổi trạng thái trong nhóm động. Trong khuôn khổ bài báo này, xin được đề cập đến hai hạn chế chính mà các giao thức tập trung khắc phục và nâng cao hiệu quả đó là tránh để lộ khóa cặp và giảm khối lượng giao dịch và tính toán. Từ khóa: Trao đổi khóa; Trao đổi khóa nhóm; Giao thức. 1. MỞ ĐẦU Trao đổi khóa Diffie - Hellman [2] (DH) là cơ sở cho các giao thức trao đổi khóa trong trường hợp hai bên. Hơn nữa, theo giả thiết DH quyết định giao thức này là giả định an toàn trong một mô hình với kênh chứng thực. Tất cả các giao thức trao đổi khóa quan trọng được trình bày sau thuộc về lớp lớn các giao thức nhóm, có thể được xem như là phần mở rộng tự nhiên của giao thức hai bên DH thành trao đổi với các trường hợp bên. Trong việc xây dựng giao thức trao đổi khóa nhóm có một số đặc điểm mà chúng ta lưu ý, để có thể có được một giao thức tốt, đảm bảo cả về mặt hiệu quả thực hiện cũng như độ bảo mật. - Hiệu quả giao thức được quan tâm nhiều hơn do số lượng người tham gia và khoảng cách giữa họ. - Do nhóm là động nên các thành viên có thể tham gia hay rời khỏi nhóm bất kỳ lúc nào. Như vậy giao thức phải có những dự phòng và xử lý để đạt được hiệu quả cao nhất. - Khả năng lộ khóa do những yếu tố phi kỹ thuật sẽ cao hơn vì vậy cần có cách thức để nhanh chóng thay đổi khóa nhưng phải đảm bảo tính hiệu quả của thuật toán. Bài báo tập trung phân tích giao thức GDH nguyên thủy và một số phát triển của giao thức này, từ đó đề xuất giao thức trao đổi khóa nhóm mới, khắc phục điểm yếu của các giao thức trước đây. 2. NỘI DUNG NGHIÊN CỨU 2.1. Giao thức trao đổi khóa Diffie-Hellman Để bắt đầu, hai đối tượng Alice (A) và Bob (B) thỏa thuận lựa chọn một nhóm hữu hạn có cấp là và một phần tử , với là phần tử sinh của , là một số nguyên tố lớn. Các giá trị và có thể được sinh ra nhờ các thuật toán mô tả trong [5], [6]. Các tham số đầu vào chung: , với là một số nguyên tố lớn, là một phần tử sinh của nhóm nhân . Đầu ra: Một giá trị (phần tử) thuộc được chia sẻ giữa A và B. Các bước thực hiện: - A phát sinh một giá trị ngẫu nhiên , tính và gửi giá trị này cho B; - B phát sinh một giá trị ngẫu nhiên , tính và gửi giá trị này cho A; Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 49, 06 - 2017 105 - A tính giá trị - B tính giá trị Dễ dàng thấy rằng cả A và B đã nhận được một giá trị khóa bí mật chung chia sẻ, nó có thể được sử dụng trên các hệ mật khóa bí mật. Một số khuyến nghị khi thực hiện và sử dụng giao thức DH: - Lựa chọn số nguyên tố đủ lớn ( ). - Lựa chọn là phần tử sinh của nhóm . - A và B sẽ xóa các giá trị và khi kết thúc hoạt động của giao thức. Khi thực hiện điều này chúng sẽ có đặc tính bảo mật thẳng. Năm 1996, M. Steiner đề xuất hai giao thức trao đổi khóa nhóm phát triển từ giao thức DH, là IKA.1 và IKA.2 [3], [5] (còn được biết đến với tên GDH2 và GDH3). Năm 2011, Om Pal và các cộng sự đề xuất giao thức trao đổi khóa nhóm dựa trên giao thức IKA.2, sử dụng mô hình bên thứ ba tin cậy [4], cung cấp khả năng chống tấn công kẻ đứng giữa và có độ phức tạp tương đương IKA.2. 2.2. Giao thức IKA.1 Giao thức này thực hiện hai bước chính: - Bước 1: Hình thành tất cả các tích . Thực hiện bằng cách tính và truyền theo thứ tự từ đến với . - Bước 2: Truyền quảng bá và từng thành viên sẽ tính ra khóa của nhóm. 2.3. Giao thức IKA.2 IKA.2 được chia làm bốn bước: - Bước 1: Thu thập đóng góp của các thành viên từ đến , sẽ nhận được . - Bước 2: sẽ gửi lại giá trị này cho tất cả các thành viên. Các thành viên nhận được sẽ tính mũ nghịch đảo để được . - Bước 3: Các thành viên sẽ gửi lại giá trị tương ứng cho . - Bước 4: tính và gửi lại giá trị cho các thành viên. Các thành viên tính được khóa nhóm . 2.4. Đánh giá độ phức tạp giao thức Bảng 1. Độ phức tạp của giao thức IKA.1 và IKA.2. Giao thức Số giao dịch Số phép tính lũy thừa IKA.1 IKA.2 2.5. Đề xuất giao thức trao đổi khóa nhóm NGDH1 2.5.1. Mô tả giao thức Công nghệ thông tin & Cơ sở toán học cho tin học Đỗ Việt Bình, “Nghiên cứu phát triển giao thức trao đổi khóa nhóm.” 106 Trong tư tưởng về giao thức trao đổi khóa nhóm (GDH) nguyên thủy và các cải tiến trong IKA.1 và IKA.2 đều không thực hiện được việc bảo mật khóa cặp. Điều này làm cho các đối tượng tham gia vào nhóm phải lưu giữ thêm một khóa cho các giao dịch trao đổi khóa cặp. Với môi trường truyền thông hiện nay, một đối tượng tham gia vào rất nhiều các giao dịch, hơn nữa, việc sinh khóa và quản lý khóa cũng có những thủ tục và khó khăn nhất định. Do vậy, việc tiết kiệm được lượng khóa cho các đối tượng là rất cần thiết. Giao thức trao đổi khóa nhóm được thực hiện như sau: - Chia nhóm thành từng cặp hai thành viên, nếu số thành viên là lẻ thì thành viên cuối cùng ghép với thành viên đầu tiên. Ta được các cặp với . - Từng cặp trao đổi thiết lập khóa bí mật chung chính là khóa bí mật hình thành bởi giao thức trao đổi khóa cặp DH. Ta được . - Thực hiện tiếp theo IKA.2 với nhóm . Lưu ý bước cuối cùng của IKA.2 thực hiện truyền đến tất cả các thành viên chứ không phải là đại diện của cặp. Ở bước này, 2 thành viên trong nhóm sẽ thực hiện song song, từ đó, có thể giảm bớt thời gian tính toán. Bước 1 (trao đổi khóa cặp) , nếu thì ; Bước 2 (nâng lũy thừa) Bước 3 (Gửi quảng bá) Bước 4 (Gửi lại) Bước 5 (Gửi quảng bá) Hình 1. Sơ đồ giao thức NGDH1. 2.5.2. Đánh giá giao thức a) Không để lộ khóa cặp Như đã trình bày ở trên, khóa cặp chính là khóa sử dụng giữa hai đối tượng, theo giao thức DH được tính là . Trong giao thức NGDH1, thay vì trao đổi trên đường truyền ta thực hiện trao đổi hay . Vì vậy, các được giữ bí mật. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 49, 06 - 2017 107 Xa hơn nữa, ta nhận thấy giao thức không chỉ bảo mật được khóa cặp mà còn bảo vệ được các tập con, chính là các khóa của các nhóm con trong mô hình GDH truyền thống. Điều này cũng có ý nghĩa lớn vì trong mô hình GDH khi có một hoặc một vài thành viên rời khỏi nhóm thì ít nhất một thành viên còn lại sẽ phải thay đổi giá trị bí mật của mình để hình thành khóa nhóm mới do khóa nhóm cũ đã tham gia trên kênh truyền không an toàn. b) Dễ dàng hoán vị để hình thành khóa mới Trong các giao thức IKA.1 và IKA.2 hay GDH truyền thống, giá trị của khóa nhóm luôn là . Như vậy, khi vì một sự cố nào đó mà khóa bị lộ đơn giản như chỉ cần một thành viên để lộ, khi đó sẽ phải thay đổi khóa nhóm. Việc thay đổi này thực hiện thật không dễ dàng, sẽ chỉ thực hiện được khi một thành viên hoặc một nhóm con thành viên thay đổi các giá trị bí mật của mình và tính toán lại khóa. Với NGDH1 thì lại khác, khóa nhóm lúc này không phải là mà là , ta có thể thấy ngay khi thay đổi giá trị của thì khóa nhóm cũng thay đổi. Mà việc thay đổi lại được thực hiện khá đơn giản bằng việc thay đổi các sắp xếp các cặp. Ví dụ thay vì xếp cặp 1-2 và 3-4 ta đổi 1-3 và 2-4 hay 1-4 và 2-3 là ta đã thu được các mới. Như vậy, chính việc thay đổi hoán vị ta đã thu được giá trị mới hay khóa nhóm mới. Ta có thể tính số khả năng hay số các khóa nhóm có thể có bằng cách tính hoán vị và tổ hợp như sau: Với một thay đổi để hình thành khóa mới ta sẽ phải tính toán trên ít nhất 4 thành viên. Ví dụ ta đang có các cặp là 1-2 và 3-4. Bây giờ sử dụng hoán vị 1-3 thì hiển nhiên cặp đôi còn lại cũng phải thay đổi, ta được 2-4. Vậy với nhóm 4 thành viên ta được ba hoán vị: {1-2, 3-4}, {1-3, 2-4}, {1-4, 2-3} tất cả các hoán vị khác đều cho giá trị khóa nhóm trùng với các giá trị trên. Như vậy, ta thu được 3 giá trị khóa khác nhau. Mở rộng bài toán cho n thành viên ( ) ta tính được số các hoán vị mà không bị trùng bằng các lấy ra tập con 4 phần tử và hoán vị trên chúng. Việc lấy số tập con này chính là tổ hợp chập 4 của . Vậy số hoán vị có thể có là hay số khóa nhóm khác nhau thu được là: Có thể thấy số khóa nhóm khác nhau có được sẽ rất lớn do sự tăng nhanh của hàm giai thừa. Ví dụ, với ta có được 630 giá trị khóa khác nhau. Việc có được số lượng khóa nhóm khác nhau lớn mà không phải thay đổi giá trị khóa bí mật của các thành viên có ý nghĩa rất lớn trong thực tế. Vì trong vấn đề quản lý và trao đổi khóa hiện nay, các giá trị khóa bí mật và công khai thường được sử dụng trong một khoảng thời gian nhất định, và thường có một bên thứ 3 đứng ra cấp và quản lý. Ví dụ trong mô hình hạ tầng khóa công khai PKI thì các khóa thường có giá trị trong khoảng 6 tháng. Việc thay đổi khóa liên tục không những lãng phí, tốn thời gian và công sức mà còn phải thực hiện lại các giao dịch và tính toán lại các khóa với các đối tượng đã giao dịch trước đó, thêm vào đó đối tượng giao dịch cũng phải tính toán và xác thực lại sự bảo đảm của khóa mới. c) Độ phức tạp tính toán Bảng 2. Kết quả đánh giá giao thức NGDH1. Giai đoạn Số giao dịch Số phép tính lũy thừa 1 2 Công nghệ thông tin & Cơ sở toán học cho tin học Đỗ Việt Bình, “Nghiên cứu phát triển giao thức trao đổi khóa nhóm.” 108 3 4 5 Tổng 3. THỬ NGHIỆM Cài đặt chương trình: - Ngôn ngữ lập trình: Java - Bước 1 (trao đổi khóa cặp), các nhóm thực hiện đồng thời. - Bước 5 (gửi quảng bá), hai thành viên của nhóm cuối cùng ( ) tính toán song song và gửi lại cho các thành viên. Tham số thử nghiệm: - Độ dài : 1024 bit Bảng 3. Kết quả thử nghiệm. Số lượng thành viên NGDH1 IKA.2 50 306 ms 569 ms 100 587 ms 1397 ms 150 954 ms 1841 ms 200 1258 ms 2253 ms 4. KẾT LUẬN Bài báo đã phân tích giao thức GDH nguyên thủy và IKA.1 và IKA.2 đều không thực hiện được việc bảo mật khóa cặp, tác giả đề xuất xây dựng giao thức cải tiến trong trường hợp trao đổi khóa nhóm NGDH1 nhằm tránh lộ khóa cặp, đưa ra lượng khóa dồi dào thuận lợi cho những biến động của nhóm và giảm các bước tính toán. Đây là những cải tiến tốt, có ý nghĩa thiết thực và được chứng minh tương đối chặt chẽ bằng cả lý thuyết và thực nghiệm. Hướng nghiên cứu tiếp theo là cung cấp khả năng xác thực giữa các thành viên trong nhóm. TÀI LIỆU THAM KHẢO [1]. Bresson, Emmanuel, Olivier Chevassut, and David Pointcheval. 2001. “Provably authenticated group Diffie-Hellman key exchange — the dynamic case.” Edited by Colin Boyd, Advances in Cryptology – ASIACRYPT ’2001, Lecture Notes in Computer Science. International Association for Cryptologic Research Gold Coast, Australia: SpringerVerlag, Berlin Germany, 290–309. [2]. Diffie W and Hellman M. New Directions in Cryptography, “IEEE Transactions on Information Theory”, IT-22(6), 1976: 644-654. [3]. Michael Steiner,” Secure Group Key Agreement”,Saarlandes Univ., Saarbrucken, Germany, 2002. [4]. Om Pal, Anupam Saxena, Uttam Kumawat, Ravi Batra, Zia Saquib (2011), “Secure Group Deffie-Hellman Key Exchange with ID Based Cryptography, International Conference on Advances in Communication, Network, and Computing”,CNC 2011: Computer Networks and InformationTechnologies, pp 498-503. [5]. Steiner, Michael, Gene Tsudik, and Michael Waidner. 1996, March. “Diffie-Hellman Key Distribution Extended to Groups.” Edited by Clifford Neuman, Proceedings of the 3rd ACM Conference on Computer and Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 49, 06 - 2017 109 Communications Security. New Delhi, India:ACM Press, 31–37. [6]. Wenbo Mao (2003), “Modern Cryptography”, Theory and Practice Prentice Hall PTR, p. 648. [7]. William Stallings (2005), “Cryptography and Network Security Principles and Practices”, Fourth Edition, Prentice Hall PTR, p. 592 ABSTRACT A SOLUTION FOR GROUP KEY EXCHANGE PROTOCOLS To develop a group key exchange protocols, there are many objectives that needed to be concerned such as: reducing number of transactions, avoiding complicated calculations, securing key pairs and guaranteeing/maintaining status changing in dynamic groups. In this paper, clearifying two main drawbacks of group key exchange protocols as well as proposees solutions to improve the protocol will be focused on. Keywords: Key exchange; Group key exchange; Protocol. Nhận bài ngày 15 tháng 5 năm 2017 Hoàn thiện ngày 16 tháng 6 năm 2017 Chấp nhận đăng ngày 20 tháng 6 năm 2017 Địa chỉ: Viện Công nghệ thông tin/ Viện KH-CN quân sự. *Email: binhdv@gmail.com

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

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