Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 1

Trang 1

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 2

Trang 2

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 3

Trang 3

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 4

Trang 4

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 5

Trang 5

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 6

Trang 6

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 7

Trang 7

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 8

Trang 8

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 9

Trang 9

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 147 trang nguyenduy 06/05/2024 130
Bạn đang xem 10 trang mẫu của tài liệu "Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn", để 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: Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn

Luận án Nghiên cứu phát triển giao thức trao đổi khóa an toàn
tả giao thức: 
 Các tham số công khai ( , 푞, ) được xác định như cách thiết lập tham 
số hệ thống của lược đồ chữ ký số DSA [2]. Cặp khóa bí mật/công khai của A 
là ( , ) và cặp khóa tương ứng của B là ( , ) (Hình 2.1). 
 Hình 2.1. Giao thức trao đổi khóa Arazi 
 54 
 Để tiết kiệm băng thông, giao thức Arazi có thể được thay đổi bằng cách 
A và B trao đổi ( , 푠 ) và ( , 푠 ) thay vì trao đổi (푅 , 푠 ) và (푅 , 푠 ). 
 Đánh giá giao thức: 
 Năm 1994, Nyberg và Rueppel chỉ ra rằng giao thức của Arazi không có 
thuộc tính về sự an toàn dựa trên khóa đã biết [30]. Các khóa bí mật ngắn hạn 
được chia sẻ có thể được tính từ khóa bí mật dài hạn và các thông tin 
không bí mật khác. 
 Một số sửa đổi của L. Harn trên giao thức trao đổi khóa Arazi: 
 Năm 1995, L. Harn và các cộng sự đề xuất sửa đổi giao thức trao đổi 
khóa của Arazi [33]. Thay vì phân phối một khóa công khai đơn lẻ trong mỗi 
phiên giao tiếp, nhóm L. Harn đề xuất phân phối nhiều khóa công khai trong 
mỗi phiên [34]. 
 Mô tả giao thức: 
 Các thông tin công khai sẽ được thỏa thuận bởi các bên tham gia giao 
thức như sau: 
 - là một số nguyên tố lớn thỏa mãn 2511 < < 2512 
 - 푞 là một ước số nguyên tố của − 1 thỏa mãn 2159 < < 2160 
 ( −1)/푞 ∗
 - Chọn = 훼 표 , với ∈ 푍 thỏa mãn: 1 < < và 
 푞 ∗
 표 = 1, ở đây 훼 ∈ 푍 . 
 159 160
 - 푖 là khóa bí mật của người dùng 푖, thỏa mãn 2 < 푖 < 2 
 푖
 - 푖 là khóa công khai tương ứng của người dùng 푖, 푖 = 표 
 - là một hàm băm an toàn (SHA–1) đưa ra bởi NIST. 
 Trong đó ( , 푞, , 푖) là các giá trị công khai và 푖 là khóa bí mật. 
 Harn giả sử rằng A muốn chia sẻ ba khóa phiên bí mật với B. Giao thức 
của Harn hoạt động như mô tả trong Hình 2.2. 
 55 
 Hình 2.2. Giao thức trao đổi khóa L. Harn 
 Đánh giá độ an toàn của giao thức: 
 Harn đánh giá độ an toàn của giao thức trên theo cách thức tấn công dựa 
trên khóa đã biết (known–key attack) mà Nyberg và Rueppel đã đưa ra. 
 Chúng ta đã biết, kết thúc giao thức trên thu được ba khóa bí mật được 
chia sẻ giữa A và B như sau: 
 + 퐾 = 푣1 표 
 1 1
 푣2
 + 퐾 2 = 2 표 
 푣2
 + 퐾 3 = 1 표 
 Trong đó: 
 −1 (2.1) 
 푣1 + 푣2 = 푠 [ ( 1|| 2)] + 표 푞 
 −1 (2.2) 
 푤1 + 푤2 = 푠 [ ( 1|| 2)] + 표 푞 
 56 
 Nhân hai vế của hai phương trình (2.1) và (2.2) ta có phương trình sau: 
 −1 −1
 푣1푤1 + 푣1푤2 + 푣2푤1 + 푣2푤2 = 푠 푠 [ ( 1, 2) (2.3) 
 ( 1, 2) + ( 1, 2) + ( 1, 2) 
 + ] 표 푞 
 Nhân hai vế của phương trình (2.3) với 푠 푠 , sau đó nâng lũy thừa với 
hệ số , số mũ là hai vế của phương trình thu được, ta được phương trình sau: 
 푣1푤2 푠 푠 ( 1, 2) ( 1, 2)
 (퐾 1퐾 2퐾 3 ) = (2.4) 
 ( 1, 2) ( 1, 2) 
 ( ) 표 
 Xem xét dưới góc độ tấn công dựa trên khóa đã biết, do 푣1푤2 không bao 
giờ được dùng làm khóa phiên bí mật, tất cả các tham số trong (2.4) đều được 
biết công khai hoặc được gửi giữa các bên tham gia giao thức ngoại trừ 푣1푤2 
và nên dù đối phương có biết được các khóa 퐾 1, 퐾 2, 퐾 3 trong một 
phiên truyền thông thì cũng không thể tính được các khóa này trong các phiên 
khác. Vì vậy, phương pháp tấn công dựa trên khóa đã biết không thể thực hiện 
thành công trong giao thức của L. Harn. 
 Giao thức này cho phép trao đổi 푛 cặp khóa công khai giữa hai bên tham 
gia giao thức và xác lập được (푛2 − 1) khóa phiên bí mật. Ngoài ra, nó cung 
cấp thêm tính chất an toàn là chống lại tấn công dựa trên khóa đã biết. 
 Giao thức trao đổi khóa Phan: 
 Năm 2005, Phan đã chỉ ra rằng giao thức của Harn không thể cung cấp 
hai tính chất về chuẩn bảo mật mà các giao thức cần có đó là an toàn phía trước 
(forward secrecy) và làm mới khóa (key freshness) [52]. 
 Không có tính chất an toàn về phía trước: Trong giao thức của Harn, 
khóa phiên theo hướng từ A tới B được tính bởi A như sau: 
 푣 푣
 퐾 = 표 (= 표 ) (2.5) 
 Trong khi đó nó được tính bởi B như sau: 
 57 
 푣
 퐾 = 표 (= 표 ) (2.6) 
 Vì vậy, khi khóa riêng dài hạn của B bị lộ thì người tấn công có thể 
dễ dàng tính được bất kỳ khóa phiên 퐾 nào đã được thành lập trước đó bởi 
phương trình (2.5). Điều tương tự cũng sẽ xảy ra với 퐾 khi bị lộ. 
 Không có tính chất làm mới khóa: Trong các giao thức của Harn, A tính 
퐾 thông qua (2.6), cho thấy 퐾 phụ thuộc vào khóa công khai (A luôn 
biết khóa này) của B và một giá trị bí mật ngẫu nhiên 푣 (được lựa chọn bởi A). 
Vì vậy, A có thể quyết định rằng 퐾 phải bằng một giá trị đã được định trước. 
B cũng có thể làm điều tương tự với 퐾 như A. 
 Phan đưa ra cải tiến của mình trên giao thức của Harn để giao thức có 
thể cung cấp hai tính chất nói trên (an toàn phía trước và làm mới khóa). 
 Mô tả giao thức: 
 Giao thức của Phan được mô tả trong Hình 2.3. 
 Hình 2.3. Giao thức trao đổi khóa Phan 
 58 
 Đánh giá giao thức: 
 Thứ nhất, dễ dàng nhận thấy giao thức của Phan đảm bảo giữ nguyên các 
ưu điểm của giao thức của Harn do các khóa phiên đều được xác nhận vì có 
trong phương trình ký. 
 Thứ hai, trong giao thức trao đổi khóa của Phan ta có khóa phiên theo 
hướng từ A tới B được tính bởi A như sau: 
 푤 푣푤 푣푤
 퐾 = ( ) 표 (= 표 )(= 표 ) (2.7) 
 Trong khi đó nó được tính bởi B như sau: 
 푣 푣푤
 퐾 = (푛 ) 표 (= 표 ) (2.8) 
 Căn cứ vào (2.7) và (2.8) ta nhận thấy dù 퐾 có được tính theo cách nào 
đi chăng nữa thì nếu khóa riêng dài hạn của B bị lộ, người tấn công cũng 
không thể tính được khóa phiên 퐾 vì 퐾 còn phụ thuộc vào các khóa bí mật 
ngắn hạn của A và B. Tương tự với 퐾 khi bị lộ. Do đó, giao thức trao đổi 
khóa của Phan cung cấp tính chất an toàn phía trước. 
 Thứ ba, trong giao thức này A tính 퐾 thông qua (2.7) cho thấy 퐾 
không những phụ thuộc vào khóa công khai (A luôn biết khóa này) của B 
và một giá trị bí mật ngẫu nhiên 푣 (được lựa chọn bởi A) mà còn phụ thuộc vào 
giá trị bí mật ngẫu nhiên 푤 (được lựa chọn bởi B). Vì vậy, A không thể định 
trước được 퐾 . Tương tự B cũng không thể định trước được 퐾 . Tóm lại cả 
A và B đều không thể định trước được các khóa phiên được đàm phán giữa hai 
bên. Do đó, giao thức trao đổi khóa Phan cung cấp tính chất làm mới khóa. 
 Tuy nhiên, trong giao thức trao đổi khóa Phan ta có: 
 푣푤
 퐾 = 표 (2.9) 
 Suy ra: 
 퐾 = 퐾 표 (2.10) 
 Rõ ràng có một mối quan hệ hiện (explicit relation) giữa hai khóa phiên 
được đàm phán giữa hai bên, 퐾 và 퐾 . Mối quan hệ này có thể gây ra một 
 59 
số lỗ hổng trong tương lai. Ví dụ, khi các khóa riêng dài hạn và bị tổn 
thương đồng thời, người tấn công có thể tính toán 퐾 từ 퐾 và ngược lại. 
Mặc dù không có cuộc tấn công nào tồn tại trên giao thức ngay bây giờ nhưng 
các giao thức sẽ an toàn hơn nếu không có mối quan hệ rõ ràng giữa hai khóa 
phiên được thỏa thuận. 
 Giao thức trao đổi khóa Jie Liu và Jianhua Li: 
 Năm 2010, hai tác giả Jie Liu và Jianhua Li [38] đã đề xuất một cải tiến 
tốt hơn, an toàn hơn bằng cách khắc phục nhược điểm mối quan hệ hiện trong 
giao thức trao đổi khóa Phan [52]. 
 Mô tả giao thức: 
 Giao thức của Jie Liu và Jianhua Li hoạt động như Hình 2.4. 
 Hình 2.4. Giao thức trao đổi khóa của Jie Liu và Jianhua Li 
 Đánh giá giao thức: 
 Cải thiện của giao thức này đó là có thêm hai số nguyên ngẫu nhiên tạm 
thời so với giao thức trao đổi khóa của Phan (trong giao thức của Phan thì mỗi 
 60 
bên tham gia giao thức chọn một số nguyên ngẫu nhiên còn trong giao thức Liu 
& Li mỗi bên chọn hai số nguyên ngẫu nhiên). Giao thức này vẫn cung cấp 
được tính an toàn của giao thức của Phan. Cụ thể đó là nó có thể cung cấp cả 
hai tính chất chất an toàn phía trước và làm mới khóa. 
 푣1푤1 푣1푤1
 퐾 = 표 (= 표 ) (2.11) 
 푣2푤2 푣2푤2
 퐾 = 표 (= 표 ) (2.12) 
 Các khóa phiên trong giao thức cải tiến này được kết hợp bởi các số 
nguyên ngẫu nhiên khác nhau như được chỉ ra trong (2.11) và (2.12) cho nên 
không có bất kỳ mối quan hệ hiện nào giữa 퐾 và 퐾 . Do đó, giao thức cải 
tiến này khắc phục được nhược điểm mối quan hệ hiện giữa hai khóa phiên 
được thỏa thuận giữa hai bên. Chính vì lẽ đó nó an toàn hơn so với giao thức 
trao đổi khóa Phan. 
 Độ phức tạp tính toán của giao thức này tương đương với giao thức trao 
đổi khóa của Phan. Việc thêm hai số nguyên ngẫu nhiên tạm thời làm cho độ 
phức tạp của giao thức tăng lên nhưng nó làm cho giao thức an toàn hơn. 
 Tuy nhiên, qua (2.11) và (2.12), ta thấy giao thức của Jie Liu và Jianhua 
Li không cung cấp tính chất an toàn: chống lại tấn công lộ khóa phiên. 
 Như vậy, bắt đầu từ Arazi là người đầu tiên đề xuất kết hợp chữ ký số 
nhằm cung cấp khả năng xác thực cho giao thức trao đổi khóa, đã có nhiều đề 
xuất, cải tiến nhằm nâng cao tính bảo mật của các giao thức trao đổi khóa an 
toàn. Tuy nhiên, có thể thấy, các giao thức này đều chỉ dựa trên một bài toán 
khó. Vì vậy, Luận án này sẽ phát triển giao thức trao đổi khóa an toàn dựa trên 
hai bài toán khó nhằm khắc phục những điểm yếu đã phân tích ở trên. 
 2.2.2. Mô tả giao thức DH–MM–KE 
 Các tham số miền ( , , 푛 , 푛 ) được định nghĩa như lược đồ chữ ký 
số thứ hai trong phần 2.1. 
 61 
 ′ ′
 Với người gửi A: = 2푛 + 1, trong đó 푛 = 푞 푞 , 푞 và 푞 là các số 
nguyên tố lớn với kích thước ít nhất là 1024 bit. Các tham số khóa của người 
A, khóa công khai (푒 , ) và khóa bí mật ( , ). 
 ′ ′
 Với người nhận B: = 2푛 + 1, trong đó 푛 = 푞 푞 , 푞 và 푞 là các 
số nguyên tố lớn với kích thước ít nhất là 1024 bit. Các tham số khóa của người 
B, khóa công khai (푒 , ) và khóa bí mật ( , ). 
 Thủ tục chọn tham số cho từng bên được thực hiện theo Thủ tục 2.1: 
 Thủ tục 2.1. Chọn tham số 
Input: độ dài bit (length) của tham số 
Output: các tham số q, q1, n, p, x, y, e, d, g 
Function GenerateParameter() 
 q := RandomPrime(length);//sinh số nguyên tố ngẫu nhiên 
có độ dài bit là length 
 q1 := RandomPrime(length);//sinh số nguyên tố ngẫu nhiên 
có độ dài bit là length 
 n := q * q1; 
 p := n * 2 + 1; 
 //tìm p 
 while true do 
 if p is prime then 
 break 
 else 
 q := RandomPrime(); 
 q1 := RandomPrime(); 
 n := q * q1; 
 p := n * 2 + 1; 
 end if 
 end while 
 //tìm g 
 while true do 
 62 
 tmp := RandomInteger(); 
 g := (tmp pow ((p - 1) / q)) mod p; 
 if g > 1 then 
 break 
 else 
 tmp := RandomInteger(); 
 end if 
 end while 
 phiN := (q - 1) * (q1 - 1); 
 x := RandomInteger(1, p – 1);//sinh số tự nhiên ngẫu nhiên 
trong khoảng [1, p-1] 
 e := RandomInteger(1, n - 1); 
 y := (g pow x) mod p; 
 //tìm e 
 while gcd(e, phiN) != 1 do 
 e := RandomInteger(1, n - 1); 
 end while 
 d := e multiple_inverse_mod phiN; 
 return (q, q1, n, p, x, y, e, d, g); 
end function 
 ∗ ∗
 Tính toán giá trị như là một phần tử sinh trong 푍 và 푍 . Với một 
xác suất cụ thể (xấp xỉ 1/4), giá trị ngẫu nhiên cho là một phần tử sinh trong 
 ∗ ∗
푍 và 푍 . Chính vì thế có thể thử nhiều giá trị của để xem nó có phải là 
phần tử sinh trong cả hai nhóm trên không. 
 Ký hiệu { } = {0, 1,  , − 1} và { } = {0, 1,  , − 1}. 
 ∗
 Tìm tập = ∩ . Từ đó, giá trị cũng là phần tử sinh của 푍 . 
 Chọn 푛 chung: nếu 푛 < 푛 , 푛 = 푛 , nếu không, 푛 = 푛 . 
 Tham số chung được tính theo Thủ tục 2.2: 
 63 
 Thủ tục 2.2. Chọn tham số chung 
Input: p_A và p_B của hai bên A và B 
Output: tham số p chung 
Function FindCommonParameter () 
 p := RandomPrime(); 
 if p_A < p_B then 
 p := p_A; 
 else 
 p := p_B; 
 end if 
 return p; 
end function 
 Giả định rằng A muốn chia sẻ khóa phiên bí mật với B. Vậy thì: 
 1) A thực hiện như sau: 
 - Lựa chọn ∈푅 [1, 푛 − 1]. 
 - Tính 푅 1 = 표 và 푅 2 = 표 
 - Gửi cặp (푅 1, 푅 2) cho B. 
 2) B thực hiện như sau: 
 - Chọn 푍 ∈푅 [1, 푛 − 1]. 
 - Tính 푤 = 푍푒 표 푛 
 - Chọn ∈푅 [1, 푛 − 1]. 
 - Tính = (푅 푅 ) 표 = + 표 . 
 2 1
 - Tính toán khóa bí mật được chia sẻ 퐾 = (푍|| ) 
 - Tính 푅 1 = 표 và 푅 2 = 표 
 | |
 - Tính = (푍| 퐾 |푅 1||푅 1||푅 2||푅 2) và 
푆 = ( − ) 표 푛 
 - Gửi lại các giá trị (푤, 푅 1, 푅 2, , 푆 ) cho người A. 
 64 
3) A sau đó tiếp tục thực hiện như sau: 
- Tính 푍 = 푤 표 푛 
- Tính = (푅 푅 ) 표 = + 표 
 2 1
- Tính khóa bí mật chia sẻ 퐾 = (푍|| ) 
- Xác thực ( , 푆 ) 
 | |
- Tính = (푍| 퐾 |푅 1||푅 1||푅 2||푅 2) 
- Tính 푆 = ( − ) 표 푛 
- Gửi ( , 푆 ) cho B. 
4) B thực hiện: 
- Xác thực ( , 푆 ). 
Giao thức DH-MM-KE được mô tả hoạt động trên Hình 2.5. 
 Hình 2.5. Giao thức DH–MM–KE 
 65 
 Tính đúng đắn của giao thức: 
 Ta có: = (푅 푅 ) 표 = + 표 = 
 2 1 
 => 퐾 = (푍|| ) = (푍|| ) = 퐾 
 2.2.3. Đánh giá giao thức 
 2.2.3.1. Độ an toàn của giao thức 
 Tính chất 2.1: Giao thức DH–MM–KE đảm bảo tính chất an toàn đầy 
đủ về phía trước (Perfect Forward Secrecy). 
 Chứng minh: Ta cần chứng minh nếu khóa bí mật dài hạn của A và B bị 
lộ thì các khóa phiên 퐾 và 퐾 được tạo ra trước đó vẫn không bị ảnh hưởng. 
 Khóa phiên theo hướng từ A tới B được A tính như sau: 
 + 
 퐾 = (푍|| ) = (푍|| 표 ) (2.13) 
 Còn B tính như sau: 
 + 
 퐾 = (푍|| ) = (푍|| 표 ) (2.14) 
 퐾 và 퐾 phụ thuộc vào giá trị ngẫu nhiên và 
 Do đó, khi một khóa dài hạn ( , ), ( , ) của A và B bị lộ, người 
tấn công không thể tính bất kỳ khóa phiên đã sử dụng 퐾 và 퐾 bằng (2.13) 
và (2.14). Do đó, giao thức này đảm bảo tính an toàn đầy đủ về phía trước. 
 Tính chất 2.2: Giao thức DH–MM–KE thỏa mãn tính chất khóa độc lập. 
 Chứng minh: Trong giao thức DH–MM–KE, A và B tính như sau: 
 + + 
 퐾 = (푍|| 표 ) và 퐾 = (푍|| 표 ) 
 Các khóa phiên đều phụ thuộc vào khóa bí mật ( , ) và số ngẫu nhiên 
( , ). Điều này có nghĩa là các khóa phiên được tính độc lập. 
 Tính chất 2.3: Giao thức DH–MM–KE an toàn với tấn công SSR 
(session-state reveal). 
 Chứng minh: Ta cần chứng minh nếu người tấn công thu được các trạng 
thái trung gian trong quá trình thực hiện giao thức cũng không thể tính được 
khóa bí mật chia sẻ. 
 66 
 Theo công thức (2.13) và (2.14), khóa phiên 퐾 và 퐾 phụ thuộc vào 
khóa bí mật ( , ) của A và B. 
 Do đó, khi các số ngẫu nhiên và hoặc các thành phần trung gian 
khác bị lộ, người tấn công cũng không thể tính được khóa phiên vì không tính 
được ( ). 
 Do đó, giao thức DH–MM–KE an toàn với tấn công SSR. 
 Tính chất 2.4: Giao thức DH–MM–KE an toàn trước tấn công giả mạo 
khóa thỏa thuận (key compromise impersonation – KCI). 
 Chứng minh: Giao thức này sử dụng một quá trình xác thực chung giữa 
A và B. 
 Do đó, quá trình xác thực sẽ thất bại nếu người tấn công hoạt động và 
không đồng thời biết về và ( , ) hoặc và ( , ). 
 Do đó, cách duy nhất của người tấn công là tính trực tiếp khóa phiên, giả 
sử người tấn công biết khóa bí mật dài hạn của A ( , ) và khóa phiên tạm 
 + 
thời của B ( ), vì khóa phiên là 퐾 = (푍|| 표 ) và người 
tấn công có thể tính 푍. Tuy nhiên, trong trường hợp này, người tấn công vẫn 
không thể tính được + . 
 Do đó, giao thức DH–MM–KE an toàn trước tấn công giả mạo khóa thỏa 
thuận KCI. 
 Tính chất 2.5: Giao thức DH–MM–KE an toàn trước tấn công không 
biết khóa chia sẻ (unknown key-share). 
 Chứng minh: Việc xác nhận khóa có thể ngăn chặn tấn công không biết 
khóa chia sẻ. 
 B xác nhận với A rằng đã nhận được khóa chia sẻ bí mật 퐾 bằng việc 
kí khóa này cùng với (푍, 푅 1, 푅 1, 푅 2, 푅 2). Vì khóa bí mật chia sẻ 퐾 là một 
hàm băm một chiều của các số ngẫu nhiên (푅 1, 푅 2) của A, A tin rằng nội 
dung tin nhắn không bị lặp và biết rằng nó thực sự là từ phía B. 
 67 
 B cũng làm những điều tương tự với 퐾 giống như A. 
 Tính chất 2.6: Giao thức DH–MM–KE an toàn dựa trên hai bài toán khó. 
 Chứng minh: Ta cần chứng minh để phá giải giao thức DH–MM–KE, 
người tấn công phải giải quyết đồng thời hai bài toán khó. 
 Trong giao thức DH–MM–KE, A và B tính khóa chia sẻ 퐾 và 퐾 theo 
công thức (2.13) và (2.14). 
 Các giá trị này phụ thuộc vào (푍, hoặc ). 
 Để tính 푍, người tấn công phải tính được , muốn tính được giá trị của 
 thì lại cần tìm được (푛) mà muốn tìm được (푛) thì lại cần phải giải tiếp 
bài toán phân tích 푛 thành thừa số nguyên tố. 
 Để tính (hoặc ) người tấn công phải tính được giá trị của ( , ) 
hoặc ( , ). 
 Ta có: (푅 1 = 표 và 푅 2 = 표 ) và (푅 1 = 표 
và 푅 2 = 표 ). 
 Do đó, để tính được ( , ) hoặc ( , ), người tấn công phải giải bài 
toán logarithm rời rạc. 
 Như vậy, giao thức DH–MM–KE an toàn dựa trên hai bài toán khó. 
 2.2.3.2. Độ phức tạp của giao thức 
 Độ phức tạp thời gian của giao thức DH–MM–KE được trình bày trong 
Bảng 2.2. 
 Bảng 2.2. Độ phức tạp thời gian của giao thức DH–MM–KE 
 Giai đoạn Độ phức tạp thời gian 
 1 2 푃 
 2 6 푃 + 2 푈퐿 + 
 3 7 푃 + 3 푈퐿 + 2 
 4 3 푃 + 푈퐿 + 
 Tổng 18 푃 + 6 푈퐿 + 4 
 68 
 2.3. Kết luận chương 2 
 Chương 2 nghiên cứu về các lược đồ chữ ký số dựa trên hai bài toán khó 
trước đây. Các lược đồ này có một nhược điểm là chỉ cần giải một trong hai bài 
toàn khó là có thể phá được toàn bộ lược đồ. Do đó, Luận án đã đề xuất hai 
lược đồ chữ ký số mới nhằm khắc phục nhược điểm này. Các lược đồ được đề 
xuất có hai ưu điểm nổi bật. Thứ nhất, chúng được phát triển từ một số lược đồ 
chữ ký số mà tính bảo mật và hiệu quả đã được chứng minh, nên được thừa 
hưởng những đặc tính từ các lược đồ này. Thứ hai, sự an toàn của các lược đồ 
được đề xuất dựa trên hai bài toán khó. Vì vậy, nó vẫn là an toàn ngay cả khi 
có một thuật toán hiệu quả để giải một trong hai bài toán khó. Do đó, các lược 
đồ được đề xuất là phù hợp cho các ứng dụng đòi hỏi mức an ninh cao trong hệ 
thống hạn chế về nguồn lực. 
 Tiếp theo, Luận án nghiên cứu, phân tích các giao thức trao đổi khóa an 
toàn có tích hợp chữ ký số đã được công bố. Các giao thức này vẫn còn tồn tại 
các nhược điểm về tính an toàn và chỉ dựa trên một bài toán khó. Do vậy, dựa 
trên cơ sở lược đồ chữ ký số mới đề xuất, Luận án đã xây dựng giao thức trao 
đổi khóa mới, tích hợp chữ ký số và dựa trên hai bài toán khó, nhằm khắc phục 
những nhược điểm của các giao thức trước đây, đồng thời nâng cao tính bảo 
mật của giao thức. 
 Kết quả nghiên cứu đạt được trong chương này là cơ sở để tiếp tục nghiên 
cứu chuyên sâu hơn và tiến tới đề xuất xây dựng các giao thức ký và mã hóa 
đồng thời, ký và mã hóa đồng thời có thể chối từ. 
 69 
 Chương III: PHÁT TRIỂN GIAO THỨC KÝ VÀ MÃ HÓA 
 ĐỒNG THỜI DỰA TRÊN HAI BÀI TOÁN KHÓ 
 Nội dung chính của chương này: Dựa trên cơ sở kết quả nghiên cứu của 
chương 2, trong chương này Luận án đề xuất một giao thức ký và mã hóa đồng 
thời (DH–MM–SC) và một giao thức ký và mã hóa đồng thời có thể chối từ 
(DH–MM–DSC). Các giao thức này đều dựa trên việc tích hợp chữ ký số và 
kết hợp hai bài toán khó. Tiếp theo, Luận án chứng minh tính đúng đắn, khả 
năng bảo mật và tính hiệu quả của các giao thức mới đề xuất. 
 3.1. Giao thức ký và mã hóa đồng thời 
 Hiện nay, an toàn thông tin đã trở thành một khía cạnh quan trọng trong 
tất cả các lĩnh vực truyền thông. Khi gửi một thông điệp tới cho một cá nhân 
trên một kênh không an toàn (như Internet), ta cần phải đảm bảo tính bí mật, 
toàn vẹn của thông điệp, có thể xác thực người gửi và người gửi không thể chối 
bỏ thông điệp đã gửi. Trước đây, mật mã học chỉ đơn thuần bảo đảm tính bí 
mật của thông điệp, ngăn chặn người khác đọc được khi không có những thông 
tin bí mật. Trong thời hiện đại, mật mã học đã được mở rộng phạm vi, không 
chỉ đảm bảo tính bí mật của truyền thông mà còn cung cấp khả năng kiểm tra 
tính toàn vẹn của thông điệp, xác thực người gửi/người nhận,.... Hiện nay, mật 
mã có hai dạng chính là hệ mật khóa bí mật và hệ mật khóa công khai. Với hệ 
mật khóa bí mật, hai bên tham gia sẽ thỏa thuận một giá trị khóa chung và giữ 
bí mật khóa này với bên ngoài. Truyền khóa trong môi trường không an toàn 
trở thành vấn đề quan trọng trong việc đảm bảo tính an toàn của hệ mật. Trong 
hệ mật khóa công khai, mỗi bên tham gia sẽ có một cặp khóa bí mật/khóa công 
khai, khi mã hóa, người gửi sẽ dùng khóa công khai để mã hóa, người nhận sẽ 
dùng khóa bí mật để giải mã. Với phương pháp này, ta không cần quan tâm đến 
việc giữ bí mật khóa trên môi trường công cộng. Tuy nhiên, nhược điểm của 
hệ mật khóa công khai là khối lượng tính toán lớn hơn nhiều so với hệ mật khóa 
 70 
bí mật. Để xác thực thông điệp, người gửi cần phải ký lên đó trước khi gửi nó 
tới người nhận. Để làm được việc này, người gửi có thể sử dụng các lược đồ 
chữ ký số như RSA, Rabin, Schnorr, DSA,... 
 Tính bảo mật của thông điệp và khả năng xác thực là nh

File đính kèm:

  • pdfluan_an_nghien_cuu_phat_trien_giao_thuc_trao_doi_khoa_an_toa.pdf
  • docThongTin KetLuanMoi LuanAn NCS DoVietBinh.doc
  • pdfTomTat LuanAn NCS DoVietBinh_English.pdf
  • pdfTomTat LuanAn NCS DoVietBinh_TiengViet.pdf
  • docTrichYeu LuanAn NCS DoVietBinh.doc