Nghiên cứu phát triển giao thức trao đổi khóa nhóm

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.

pdf 6 trang phuongnguyen 9540
Bạn đang xem tài liệu "Nghiên cứu phát triển giao thức trao đổi khóa nhóm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nghiên cứu phát triển giao thức trao đổi khóa nhóm

Nghiên cứu phát triển giao thức trao đổi khóa nhóm
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 

File đính kèm:

  • pdfnghien_cuu_phat_trien_giao_thuc_trao_doi_khoa_nhom.pdf