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 đ...
6 trang |
Chia sẻ: quangot475 | Lượt xem: 616 | Lượt tải: 0
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:
- 13_binh_6785_2151716.pdf