Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa bí mật

Tóm tắt: Bài báo đề xuất xây dựng giao thức thiết lập khóa an toàn cho các hệ

mã hóa khóa bí mật từ việc phát triển giao thức Diffie – Hellman. Các giao thức

mới đề xuất có ưu điểm là các khóa bí mật chia sẻ tạo ra được xác thực về nguồn

gốc nên có thể chống lại các kiểu tấn công giả mạo rất hiệu quả

pdf 10 trang yennguyen 3820
Bạn đang xem tài liệu "Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa bí mật", để 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: Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa bí mật

Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa 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ố Đặc san CNTT, 12 - 2017 193
PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHÓA AN TOÀN CHO 
CÁC HỆ MÃ KHÓA BÍ MẬT 
Nguyễn Vĩnh Thái1*, Bạch Nhật Hồng1, Lưu Hồng Dũng2 
Tóm tắt: Bài báo đề xuất xây dựng giao thức thiết lập khóa an toàn cho các hệ 
mã hóa khóa bí mật từ việc phát triển giao thức Diffie – Hellman. Các giao thức 
mới đề xuất có ưu điểm là các khóa bí mật chia sẻ tạo ra được xác thực về nguồn 
gốc nên có thể chống lại các kiểu tấn công giả mạo rất hiệu quả 
Từ khóa: Key Establishment, Key Agreement Protocols, Key Exchange Protocol, Key Transport Protocols. 
1. ĐẶT VẤN ĐỀ 
Trong các hệ mã khóa bí mật (Secret – Key Cryptosystems), việc thiết lập một 
khóa bí mật chung (Key Establishment) cho cả bên gửi/mã hóa và bên nhận/giải 
mã là một vấn đề rất quan trọng và phức tạp, được thực hiện bằng các giao thức 
thỏa thuận khóa (Key Agreement Protocols) hay chuyển khóa (Key Transport 
Protocols). Chuyển khóa được thực hiện bằng việc tạo trước khóa bí mật dùng 
chung bởi 1 trong 2 bên, rồi sử dụng các thuật toán mật mã khóa công khai như 
RSA, ElGamal, ... để chuyển cho bên kia qua các kênh không an toàn. Sử dụng 
thuật toán mã khóa công khai để chuyển khóa không bảo đảm được một số tính 
chất an toàn như: Xác thực thực thể (entity authentication), xác thực khóa hiện 
(explicit key authentication), tính bí mật về phía trước (forward secrecy), ... Vì 
vậy, việc chuyển khóa chỉ được thực hiện khi yêu cầu về các tính chất an toàn như 
thế không được đặt ra trong các ứng dụng thực tế. Khác với chuyển khóa, thỏa 
thuận khóa được thực hiện theo cách mà ở đó mỗi bên tham gia sẽ tạo ra thông tin 
để thỏa thuận cho việc thiết lập 1 khóa bí mật dùng chung, rồi trao đổi các thông 
tin này cho nhau. Từ thông tin thỏa thuận nhận được mỗi bên sẽ tạo ra khóa bí mật 
chung hay còn gọi là khóa bí mật chia sẻ. Do có việc trao đổi thông tin thỏa thuận 
khóa trong quá trình thiết lập 1 khóa chung giữa 2 bên, các giao thức loại này còn 
được gọi là giao thức trao đổi khóa (Key Exchange Protocols). Giao thức thỏa 
thuận khóa đầu tiên được đề xuất bởi W. Diffie và M. Hellman vào năm 1976 
(DHKE) [1]. Với giao thức HDKE, không một kẻ thứ 3 nào có thể tính được khóa 
bí mật của 2 đối tượng tham gia trao đổi khóa nếu không giải được bài toán logarit 
rời rạc DLP (Discrete Logarithm Problem) [2]. Tuy nhiên, DHKE có thể dễ dàng 
bị một kẻ thứ 3 không mong muốn mạo danh một trong 2 đối tượng để thiết lập 1 
khóa bí mật chung với đối tượng kia [3]. Một hướng nghiên cứu nhằm khắc phục 
nhược điểm trên đây của DHKE là tích hợp giao thức này với các thuật toán chữ 
ký số, đã có một số kết quả về hướng nghiên cứu này được công bố [5 – 10]. 
Trong phần tiếp theo của bài báo, nhóm tác giả đề xuất xây dựng giao thức thiết 
lập khóa an toàn cho các hệ mật khóa đối xứng trên cơ sở phát triển giao thức 
Diffie – Hellman. Khác với các giao thức trong [5 – 10], giao thức mới đề xuất ở 
đây sử dụng mật mã khóa công khai mà không phải chữ ký số để cung cấp tính 
năng xác thực khóa bí mật chia sẻ, từ đó có thể chống lại các dạng tấn công giả 
mạo đã biết trong thực tế. 
Công nghệ thông tin 
N. V. Thái, B. N. Hồng, L. H. Dũng, “Phát triển giao thức thiết lập  mã khóa bí mật.” 194 
2. PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHÓA 
CHO CÁC HỆ MÃ KHÓA BÍ MẬT 
2.1. Giao thức thiết lập khóa đề xuất mới 
2.1.1. Thuật toán hình thành tham số và khóa 
a) Hình thành các tham số hệ thống 
Hình thành tham số bao gồm các bước thực hiện như sau: 
[1]. Chọn số nguyên tố p lớn sao cho việc giải bài toán logarit rời rạc trên Zp là 
khó. 
[2]. Lựa chọn hàm băm (hash function) H: {0,1}* Zn , với: pn . 
[3]. Công khai: p, H(.). 
Ghi chú: Trong ứng dụng thực tế, p là tham số hệ thống và do nhà cung cấp 
dịch vụ chứng thực số tạo ra. 
b) Thuật toán hình thành khóa 
Mỗi người dùng U hình thành cặp khóa bí mật và công khai của mình theo các 
bước như sau: 
[1]. Chọn giá trị ex thỏa mãn: 11 pex và: 1)1,gcd( pex 
[2]. Tính giá trị: )1mod(1 ped xx 
[3]. Chọn một giá trị ngẫu nhiên t thỏa mãn: 11 pt 
[4]. Tính giá trị khóa D theo công thức: )1mod(mod ppdD tx 
 Kiểm tra nếu: 1)1,gcd( pD thì thực hiện lại từ bước [3]. 
[5]. Tính giá trị khóa E1 theo công thức: )1mod(mod1 ppeE tx 
 Kiểm tra nếu: 1)1,gcd( 1 pE thì thực hiện lại từ bước [3]. 
[6]. Tính giá trị khóa E2 công thức: 
 )1mod(modmod)1mod()1mod(2 ppepdpepdE txtxtxtx 
Kiểm tra nếu: 1)1,gcd( 2 pE thì thực hiện lại từ bước [3]. 
[7]. Khóa công khai là (E1, E2) và khóa riêng là D. 
2.1.2. Giao thức thiết lập khóa 
Giả thiết rằng 2 đối tượng tham gia truyền thông ở đây là A và B có các khóa 
công khai là ( AE1 , AE2 ) và ( BE1 , BE2 ), các khóa riêng tương ứng là AD và BD được 
hình thành theo thuật toán ở mục 2.1.1. Cũng giả thiết rằng A và B cùng thống nhất 
sử dụng một thuật toán mã hóa khóa bí mật (DES, AES,...) để mã hóa dữ liệu cần 
trao đổi với nhau, khi đó giao thức đề xuất ở đây (ký hiệu: MTA 17.9 – 01) được 
sử dụng để thiết lập một khóa bí mật chung/chia sẻ giữa A và B, bao gồm các 
bước được mô tả trên bảng 1 như sau: 
Bảng 1. Giao thức MTA 17.9 – 01. 
Bước A B 
1 - Chọn KA và tính: 
 pgR AKA mod (1a) 
- Tính: 
 pRW BEAA mod11 (2a) 
- Chọn KB và tính: 
 pgR BKB mod (1b) 
- Tính: 
 pRW AEBB mod11 (2b) 
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 - 2017 195
 pRW BEAA mod22 (3a) 
- Gửi ( AW1 , AW2 ) đến B. 
 pRW AEBB mod22 (3b) 
- Gửi ( BW1 , BW2 ) đến A. 
2 - Tính: 
 pWWR ADBBB mod12 (4a) 
- Tính khóa bí mật chia sẻ với B: 
 pRK AKBAB mod (5a) 
- Tính: )||( BABA RKHE (6a) 
- Gửi AE đến B. 
- Tính: 
 pWWR BDAAA mod12 (4b) 
- Tính khóa bí mật chia sẻ với A: 
 pRK BKABA mod (5b) 
- Tính: )||( ABAB RKHE (6b) 
- Gửi BE đến A. 
3 - Tính: )||( AABB RKHE (7a) 
- Nếu: 
BB EE thì: BAAB KK 
- Tính: )||( BBAA RKHE (7b) 
- Nếu: AA EE thì: ABBA KK 
Có thể cải tiến MTA 17.9 – 01 để đạt được hiệu quả thực hiện cao hơn như 
MTA 17.9 – 02 trong bảng 2 sau đây: 
Bảng 2. Giao thức MTA 17.9 – 02. 
Bước A B 
1 - Chọn KA và tính: 
 pKW BEAA mod11 
 pKW BEAA mod22 
- Gửi ( AW1 , AW2 ) đến B. 
- Chọn KB và tính: 
 pKW AEBB mod11 
 pKW AEBB mod22 
- Gửi ( BW1 , BW2 ) đến A. 
2 - Tính: 
 pWWK ADBBB mod12 
- Tính khóa bí mật chia sẻ với B: 
 pKKK BAAB mod 
- Tính: )||( BABA KKHE 
- Gửi AE đến B. 
- Tính: 
 pWWK BDAAA mod12 
- Tính khóa bí mật chia sẻ với A: 
 pKKK ABBA mod 
- Tính: )||( ABAB KKHE 
- Gửi BE đến A. 
3 - Tính: )||( AABB KKHE 
- Nếu: 
BB EE thì: BAAB KK 
- Tính: )||( BBAA KKHE 
- Nếu: AA EE thì: ABBA KK 
2.2. Tính đúng đắn của giao thức mới đề xuất 
Tính đúng đắn của giao thức mới đề xuất được chứng minh dựa trên các bổ đề 
và mệnh đề sau đây: 
Bổ đề 1: 
Nếu: p là số nguyên tố, 11 pe , 1)1,gcd( pe , )1mod(1 ped và 
pm 0 thì: mpm de mod. . 
Chứng minh: 
Thật vậy, ta có: )1mod(1 ped . Nên: 1)1mod( ped 
Do đó, sẽ tồn tại số nguyên k sao cho: 1)1( pked 
Theo định lý Euler [4] ta có: 1mod1 pm p 
Từ đây suy ra: 
Công nghệ thông tin 
N. V. Thái, B. N. Hồng, L. H. Dũng, “Phát triển giao thức thiết lập  mã khóa bí mật.” 196 
 mpmpmpm
pmpmpmpm
pk
pkpkde
mod1modmod
modmodmodmod
1
1.11..
Bổ đề được chứng minh. 
Bổ đề 2: 
Nếu: p là số nguyên tố, 11 pe , 1)1,gcd( pe , )1mod(1 ped , 
pm 0 thì: mpm
tt
de mod. . 
Chứng minh: Thật vậy, theo Bổ đề 1 ta có: 
 mpmppm
pmppmpm
pmppm
pmppmpm
ppmpmpm
dedede
dededede
dedede
dededede
dededede
tt
ttt
tttt
modmodmod
modmodmodmod
............................................................................................
modmodmod
modmodmodmod
modmodmodmod
...
....
...
....
....
223
33
221
1
Bổ đề được chứng minh. 
Mệnh đề: 
Cho p là số nguyên tố, 11 peA , 1)1,gcd( peA , )1mod(
1
ped AA , 
11 ptA , )1mod(mod ppdD AtAA , )1mod(mod1 ppeE AtAA , 
 )1mod(modmod)1mod()1mod(2 ppepdpepdE AAAA tAtAtAtAA , 
11 peB , 1)1,gcd( peB , )1mod(
1
ped BB , 11 ptB , 
 )1mod(mod ppdD BtBB , )1mod(mod1 ppeE BtBB , 
 )1mod(modmod)1mod()1mod(2 ppepdpepdE BBBB tBtBtBtBB , 
1,1 pKK BA , pgR
AK
A mod , pgR
BK
B mod , pRW A
E
AA mod
1
1 , 
 pRW BEBB mod11 , pRW A
E
AA mod
2
2 , pRW B
E
BB mod
2
2 . Nếu: 
 pWWR BDAAA mod12 , pWWR A
D
BBB mod12 , pRK A
K
BAB mod , 
 pRK BKABA mod , )||( BABA RKHE , )||( ABAB RKHE , )||( BBAA RKHE , 
)||( AABB RKHE thì: AA RR , BB RR , BAAB KK , BB EE và: AA EE . 
Chứng minh: 
Thật vậy, từ (2a), (3a) và (4b) ta có: 
 pRpR
pR
R
pRRppRpR
pWWR
At
A
At
A
At
A
At
A
At
A
At
A
At
A
At
A
At
A
At
A
AAAAAA
A
ed
B
ped
B
ppdppe
B
ppepdpepd
B
DE
B
E
B
DE
B
E
B
D
BBB
modmod
mod
modmodmodmod
mod
.1mod.
1modmod.1modmod
1modmod.mod1mod.1mod
.
12
1212
 (8) 
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 - 2017 197
Theo Bổ đề 2, ta có: B
de
B RpR
At
A
At
A mod
.
 (9) 
Từ (8) và (9) suy ra: BB RR (10) 
Tương tự, từ (2b), (3b), (4a) và Bổ đề 2, ta cũng có: AA RR (11) 
Từ (1b), (5a) và (10) ta có: 
 pgppgpRpRK BAABAA KKKKKB
K
BAB modmodmodmodmod
. (12) 
Từ (1a), (5b) và (11) ta cũng có: 
 pgppgpRpRK BABABB KKKKKA
K
ABA modmodmodmodmod
. (13) 
Từ (12) và (13) suy ra: BAAB KK (14) 
Từ (7b), (10) và (14) ta có: 
 )||()||( BABBBAA RKHRKHE (15) 
Từ (6a) và (15) suy ra: AA EE 
Tương tự, từ (6b), (7a), (11) và (14) ta cũng nhận được: BB EE . 
Như vậy, mệnh đề đã được chứng minh. 
Chứng minh tính đúng đắn của giao thức MTA 17.9 – 02 được thực hiện tương 
tự như MTA 17.9 – 01 bằng việc thay ),( BA RR trong (2a), (3a), (7a) và (2b), (3b), 
(7b) bằng ),( BA KK , thay ),( BA RR trong (4b), (5b), (6b) và (4a), (5a), (6a) bằng 
),( BA KK tương ứng. 
2.3. Mức độ an toàn của giao thức mới đề xuất 
Mức độ an toàn của giao thức mới đề xuất có thể đánh giá qua các khả năng sẽ 
được xem xét dưới đây: 
2.3.1. Khả năng tấn công làm lộ khóa riêng 
Với thuật toán hình thành khóa ở mục 2.1, hoàn toàn có thể chọn t sao cho E1, 
E2 và D không nghịch đảo với nhau theo cả modulo p và modulo (p-1). Nghĩa là 
từ E1 và E2 không thể tính được D bằng phép nghịch đảo theo modulo p và modulo 
(p-1). Ngoài ra, việc tính AD và BD bằng cách giải bài toán logarit rời rạc từ: 
 pWWR BDAAA mod12 và: pWWR A
D
BBB mod12 cũng không khả thi, vì 
đây là bài toán khó, nếu p được chọn đủ lớn. Việc giữ bí mật các khóa riêng 
( AD , BD ) đồng nghĩa với việc giữ bí mật hoàn toàn về các thông tin được dùng để 
thiết lập khóa ( AR , BR ), nghĩa là không có bất kỳ thông tin nào về khóa bí mật chia 
sẻ giữa A và B được tiết lộ ra bên ngoài. 
2.3.2. Bảo đảm các tính chất của một giao thức trao đổi khóa an toàn 
- Xác thực thực thể (entity authentication): Là tính chất cho phép 1 trong 2 đối 
tượng khẳng định chắc chắn về danh tính của đối tượng tham gia thiết lập khóa bí 
mật chia sẻ với mình. Trong giao thức này, B kiểm tra điều kiện: AA EE để 
khẳng định danh tính của A. Bởi vì AA EE khi và chỉ khi: BB RR ( BB KK 
đối với MTA 17.9 – 02) và BAAB KK . Điều kiện BB RR ( BB KK ) cho B biết 
Công nghệ thông tin 
N. V. Thái, B. N. Hồng, L. H. Dũng, “Phát triển giao thức thiết lập  mã khóa bí mật.” 198 
rằng đối tượng nhận được ( BW1 , BW2 ) chính là A và BAAB KK thêm một lần nữa 
khẳng định chắc chắn về điều này. Tương tự, A kiểm tra điều kiện: BB EE để xác 
thực danh tính của B. 
- Xác thực khóa hiện (explicit key authentication): Là khả năng xác thực khóa 
(key anthentication) và xác nhận khóa (key comfirmation). Trong đó, xác thực 
khóa hay còn gọi là xác thực khóa ẩn (implicit key authentication) là khả năng mà 
1 trong 2 đối tượng có thể khẳng định một cách chắc chắn rằng chỉ có đối tượng 
kia mới có thể tạo ra khóa bí mật chia sẻ với mình, còn xác nhận khóa là khả năng 
mà 1 trong 2 đối tượng có thể khẳng định đối tượng kia đã tạo được khóa bí mật 
chia sẻ với mình khi giao thức đã thực hiện xong. Ở giao thức mới đề xuất, điều 
kiện: BB EE chỉ có thể xảy ra khi: AA RR ( AA KK đối với MTA 17.9 – 02) và 
BAAB KK . Trước khi gửi cho B, A đã mã hóa thông tin thỏa thuận khóa ( AR / AK ) 
bằng khóa công khai của B, bởi vậy A có thể biết chắc chỉ B mới giải mã được 
AA RR ( AA KK ). Vì thế, điều kiện BB EE cho A khẳng định B đã thiết lập 
được khóa bí mật dùng chung với mình, còn AA EE lại cho B khẳng định được 
điều tương tự với A. Hơn nữa, không một đối tượng nào ngoài A và B có thể tạo 
được khóa bí mật chia sẻ: pRpRK BA KA
K
B modmod ( pKKK BA mod 
với MTA 17.9 – 02) do không có bất kỳ ai ngoài A và B biết được các thông tin 
dùng để thiết lập khóa ( AR , BR , AK , BK ). 
- Tính an toàn khóa đã biết (known – key security): Tính chất này bảo đảm rằng 
một đối tượng thứ 3 dù biết được một số khóa bí mật chia sẻ được thiết lập bởi A 
và B thì cũng không thể tính được các khóa khác đã/sẽ được thiết lập bởi A và B 
trước/sau đó. Ở giao thức mới đề xuất, khóa bí mật chia sẻ giữa A và B được tạo ra 
từ 2 giá trị ngẫu nhiên ( BA KK , ) và chỉ được sử dụng 1 lần ở mỗi phiên tạo khóa, vì 
thế việc lộ một số khóa bí mật chia sẻ hoàn toàn không ảnh hưởng đến các khóa bí 
mật đã/sẽ được tạo ra trước/sau đó. 
- Tính bí mật về phía trước (forward secrecy): Tính chất này bảo đảm rằng việc 
lộ khóa bí mật của A hoặc B hoặc đồng thời cả 2 cũng không cho phép một đối 
tượng thứ 3 tính được các khóa bí mật chia sẻ đã được thiết lập trước đó bởi A và 
B. Ở giao thức MTA 17.9 – 01, việc lộ khóa riêng của A và B sẽ dẫn tới việc lộ các 
giá trị ( BA RR , ), song các giá trị ( BA KK , ) vẫn được giữ bí mật, nên việc tính các 
khóa bí mật chia sẻ đã được thiết lập trước đó là điều không thể thực hiện được. 
Tuy nhiên, giao thức MTA 17.9 – 02 không bảo đảm được tính chất này, do khóa 
bí mật chia sẻ giữa A và B được tạo trực tiếp từ ( BA RR , ), mà không phải từ 
( BA KK , ). 
2.4. Hiệu quả thực hiện của giao thức mới đề xuất 
Hiệu quả thực hiện của các giao thức trao đổi khóa có thể được đánh giá thông 
qua số phép toán cần thực hiện hay tổng thời gian cần thực hiện các phép toán để 
thiết lập được khóa bí mật chia sẻ giữa 2 bên A và B. Để so sánh hiệu quả thực 
hiện của giao thức mới đề xuất với các giao thức trao đổi khóa có tích hợp chữ ký 
số [5 – 10], ở đây qui ước sử dụng các ký hiệu: 
Texp : Thời gian thực hiện một phép toán mũ modul; 
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 - 2017 199
Tinv : Thời gian thực hiện một phép toán mũ nghịch đảo modul; 
Th : Thời gian thực hiện hàm băm (hash function). 
Tmul : Thời gian thực hiện một phép toán nhân modul; 
a) Thời gian thực hiện của giao thức Arazi [5]: 
Thời gian tính toán của bên A cho một lần thiết lập là: 
Thời gian tính ),( AA SR là: (Texp + Th + Tinv + 2Tmul) 
Thời gian thực hiện kiểm tra ),( BB SR : (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính khóa K là: (Texp) 
Tổng thời gian thực hiện: (4Texp + 2Th + 2Tinv + 5Tmul ) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính 
toán cần thiết để hoàn thành giao thức là: (8Texp + 4Th + 4Tinv + 10Tmul). 
b) Thời gian thực hiện của giao thức Harn [6]: 
Thời gian tính toán của bên A cho một lần thiết lập là: 
Thời gian tính ),,( 21 AAA Smm là: (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính 
Br là: (Tmul) 
Thời gian thực hiện kiểm tra ),( BB sr : (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính khóa KAB1, KAB2, KAB3 là: (3Texp) 
Tổng thời gian thực hiện: (7Texp + 2Th + 2Tinv + 7Tmul ) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính 
toán cần thiết để hoàn thành giao thức là: (14Texp + 4Th + 4Tinv + 14Tmul) 
c) Thời gian thực hiện của giao thức Phan [7]: 
Thời gian tính toán bước 1 của bên A là: (2Texp) 
Thời gian tính toán bước 2 của bên B là: (4Texp + Th + Tinv + 3Tmul) 
Thời gian tính toán bước 3 của bên A là: (4Texp + 2Th + 2Tinv + 6Tmul) 
Thời gian tính toán bước 4 của bên B là: (2Texp + Th + Tinv + 3Tmul) 
Tổng thời gian thực hiện: (10Texp + 4Th + 4Tinv + 12Tmul ) 
d) Thời gian thực hiện của giao thức 2 bước truyền trong [8]: 
 (MTA 16.6 – 01): 
Thời gian tính toán bước 1 của bên A là: (Texp + Th + Tinv + Tmul) 
Thời gian tính toán bước 2 của bên B là: (4Texp + 2Th + 2Tinv + 2Tmul) 
Thời gian tính toán bước 3 của bên A là: (3Texp + Th + Tinv + Tmul) 
Tổng thời gian thực hiện: (8Texp + 4Th + 4Tinv + 4Tmul ) 
e) Thời gian thực hiện của giao thức 1 bước truyền trong [8]: 
 (MTA 16.6 – 02): 
Thời gian tính toán bước 1 của bên A là: (2Texp + Th + Tinv + Tmul) 
Thời gian tính toán bước 2 của bên B là: (3Texp + Th + Tinv + Tmul) 
Tổng thời gian thực hiện: (5Texp + 2Th + 2Tinv + 2Tmul ) 
f) Thời gian thực hiện của giao thức MTA 16.8 – 05 [9]: 
Thời gian tính toán bước 1 của bên VSAT là: (Texp + Tmul) 
Thời gian tính toán bước 2 của bên HUB là: (4Texp + Tinv + 2Tmul) 
Thời gian tính toán bước 3 của bên VSAT là: (3Texp + Tinv + Tmul) 
Công nghệ thông tin 
N. V. Thái, B. N. Hồng, L. H. Dũng, “Phát triển giao thức thiết lập  mã khóa bí mật.” 200 
Tổng thời gian thực hiện: (8Texp + 2Tinv + 4Tmul ) 
g) Thời gian thực hiện của giao thức MTA 16.8 – 06 [9]: 
Thời gian tính toán bước 1 của bên VSAT là: (2Texp + Tmul) 
Thời gian tính toán bước 2 của bên HUB là: (3Texp + Tinv + 2Tmul) 
Tổng thời gian thực hiện: (5Texp + Tinv + 3Tmul ) 
h) Thời gian thực hiện của giao thức DH-MM-KEP [10] : 
Thời gian tính toán bước 1 của bên A là: (2Texp) 
Thời gian tính toán bước 2 của bên B là: (6Texp + 2Th + Tmul) 
Thời gian tính toán bước 3 của bên A là: (4Texp + 2Th + Tmul) 
Thời gian tính toán bước 4 của bên B là: (2Texp + Th + Tmul) 
Tổng thời gian thực hiện: (14Texp + 5Th + 3Tmul ) 
i) Thời gian thực hiện của giao thức MTA 17.9 – 01: 
Thời gian tính toán bước 1 của bên A là: (3Texp) 
Thời gian tính toán bước 2 của bên A là: (2Texp + Tmul + Th) 
Thời gian tính toán bước 2 của bên A là: (Th) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính 
toán cần thiết để hoàn thành giao thức là: (10Texp + 2Tmul+ 2Th). 
j) Thời gian thực hiện của giao thức MTA 17.9 – 02: 
Thời gian tính toán bước 1 của bên A là: (2Texp) 
Thời gian tính toán bước 2 của bên A là: (1Texp + 2Tmul + Th) 
Thời gian tính toán bước 2 của bên A là: (Th) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính 
toán cần thiết để hoàn thành giao thức là: (6Texp + 4Tmul+ 2Th). 
k) Tổng hợp thời gian thực hiện của các giao thức: 
Tổng hợp thời gian thực hiện của giao thức mới đề xuất và của các giao 
thức trao đổi khóa tích hợp chữ ký số [5 – 10] được chỉ ra trên bảng 3 như sau: 
Bảng 3. Thời gian thực hiện của các giao thức. 
TT Giao thức Tổng thời gian thực hiện 
1 Arazi 8Texp + 4Th + 4Tinv + 10Tmul 
2 Harn 14Texp + 4Th + 4Tinv + 14Tmul 
3 Phan 10Texp + 4Th + 4Tinv + 12Tmul 
4 MTA 16.6 – 01 8Texp + 4Th + 4Tinv + 4Tmul 
5 MTA 16.6 – 02 5Texp + 2Th + 2Tinv + 2Tmul 
6 DH-MM-KEP 14Texp + 5Th + 3Tmul 
7 MTA 16.8 – 05 8Texp + 2Tinv + 4Tmul 
8 MTA 16.8 – 06 5Texp + Tinv + 3Tmul 
9 MTA 17.9 – 01 10Texp + 2Th+ 2Tmul 
10 MTA 17.9 – 02 6Texp + 2Th+ 4Tmul 
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 - 2017 201
Kết quả từ bảng 3 cho thấy hiệu quả thực hiện của MTA 17.9 – 01 và MTA 
17.9 – 02 cũng tương đương với các giao thức trao đổi khóa được thiết kế theo 
phương pháp tích hợp chữ ký số trong [5 – 10]. 
Chú ý: Giao thức 1 bước truyền dữ liệu trong [8] (ở đây, ký hiệu MTA 16.6 – 
02) và MTA 16.8 – 06 [9] có hiệu quả thực hiện cao nhất, song các giao thức này 
không bảo đảm được một số tính chất an toàn của giao thức trao đổi khóa và chỉ có 
thể ứng dụng rất hạn chế trong một số trường hợp cụ thể. 
3. KẾT LUẬN 
Bài báo đề xuất xây dựng giao thức thiết lập khóa cho các hệ mã hóa khóa bí 
mật từ việc phát triển giao thức trao đổi khóa Diffie – Hellman, giao thức mới đề 
xuất ở đây có khả năng tạo ra khóa bí mật chia sẻ giữa 2 đối tượng được xác thực 
về nguồn gốc khóa, vì thế, giao thức này có khả năng chống được các dạng tấn 
công giả mạo đã biết trong thực tế tương tự như các giao thức trao đổi khóa được 
tích hợp chữ ký số và có hiệu quả thực hiện cũng tương đương với các giao này. 
TÀI LIỆU THAM KHẢO 
[1]. W. Diffie & M. Hellman, “New Directions in Cryptography”, IEEE Trans. On 
Info. Theory, IT-22(6):644-654, 1976. 
[2]. T. ElGamal, “A public key cryptosystem and a signature scheme based on 
discrete logarithms”, IEEE Transactions on Information Theory 1985, Vol. 
IT-31, No. 4. pp.469–472. 
[3]. Mark Stamp, Richard M. Low,“Applied cryptanalysis: Breaking Ciphers in the 
Real World”, John Wiley & Sons, Inc., ISBN 978-0-470-1. 
 [4]. R. Kenneth, “Elementary Number Theory and its Applications”, AT & T Bell 
Laboratories, 4th Edition, ISBN: 0-201- 87073-8, 2000. 
[5]. B. Arazi, “Integrating a key distribution procedure into the digital signature 
standard”, Electronics Letters 1993 , Vol. 29(11), pp.966-967. 
[6]. L. Harn, “Modified key agreement protocol based on the digital signature 
standard”. Electronics Letters 1995, Vol.31(6), pp. 448-449. 
[7]. R. C. W. Phan, “Fixing the integrated Diffie-Hellman DSA key exchange 
protocol”, IEEE CommunicationLetters 2005, Vol.9(6), pp. 570-572. 
[8]. Hoàng Văn Việt, Bùi Thế Truyền, Tống Minh Đức, Lưu Hồng Dũng, “Thuật 
toán thỏa thuận khóa an toàn cho hệ mật khóa đối xứng”, Chuyên san CNTT 
và truyền thông/Tạp chí Khoa học và Kỹ thuật - Học viện KTQS, Số 8 
(06/2016), trang 52 – 62. ISSN: 1859 - 0209. 
[9]. Hoàng Văn Việt, Lưu Hồng Dũng, Bùi Thế Truyền, Tống Minh Đức (2016), 
“Phát triển giao thức trao đổi khóa cho các hệ mật khóa đối xứng”, Tạp chí 
Khoa học và Kỹ thuật - Học viện KTQS, Số 179 (10/2016), trang 34 – 41. 
ISSN: 1859 - 0209. 
[10]. DoViet Binh, “Authenticated key exchange protocol based on two hard 
problems”, Tạp chí Nghiên cứu Khoa học và Công nghệ Quân sự, số 50 
(08/2017), trang 147 – 152 . ISSN: 1859 – 1043. 
Công nghệ thông tin 
N. V. Thái, B. N. Hồng, L. H. Dũng, “Phát triển giao thức thiết lập  mã khóa bí mật.” 202 
ABSTRACT 
THE KEY ESTABLISHMENT PROTOCOLS 
FOR SECRET – KEY CRYPTOSYSTEMS 
In this paper, a new key establishment protocols for secret – key 
cryptosystems are proposed. The new proposed protocols has the ability to 
validate the origin of the shared secret key. 
Keywords: Key Establishment, Key Agreement Protocols, Key Exchange Protocol, Key Transport Protocols. 
Nhận bài ngày 16 tháng 8 năm 2017 
Hoàn thiện ngày 26 tháng 11 năm 2017 
Chấp nhận đăng ngày 28 tháng 11 năm 2017 
Địa chỉ: 1 Viện CNTT, Viện KH và CN QS; 
 2 Khoa CNTT, Học viện KTQS. 
 * Email: nguyenvinhthai@gmail.com. 

File đính kèm:

  • pdfphat_trien_giao_thuc_thiet_lap_khoa_an_toan_cho_cac_he_ma_kh.pdf