Tải bản đầy đủ (.pdf) (85 trang)

Nghiên cứu giao thức trao đổi khóa an toàn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.67 MB, 85 trang )

vi

MC LC

Trang tựa Trang
Quyết định giao đề tài
Lý lịch cá nhân i
Lời cam đoan ii
Cảm tạ iii
Tóm tắt iv
Mục lục v
Danh sách chữ viết tắt vii
Danh sách các hình viii
Danh sách các bảng ix
Chương 1. TNG QUAN 1
1.1. Tổng quan chung về lĩnh vực nghiên cứu 1
1.2. Mục đích của đề tài 3
1.3. Nhiệm vụ và giới hn của đề tài 3
1.3.1. Nhiệm vụ của đề tài 3
1.3.2. Giới hạn của đề tài 3
1.4. Phương pháp nghiên cứu 4
Chương 2.C S LÝ THUYẾT 5
2.1. An toàn và bo mt thong tin 5
2.2. Mt mã học 6
2.3. Hệ thống mã hoá 8
2.4. Vai trò của khoá trong các phương pháp bo mt 12
2.4.1. Vai trò của khoá 12
2.4.2. Vấn đề an toàn khoá trong các giải pháp bảo mật 15
2.5. Một số khái niệm liên quan 17
2.6. Cơ s toán học 19
2.6.1. Lý thuyết số 19


vi

2.6.2. Cơ bản về đại số trừu tượng 20
2.6.3. Bài toán logarit rời rạc 23
2.7. Các thut toán mt mã liên quan 26
2.7.1. Hệ mật Elgamal 26
2.7.2. Hàm băm 27
2.7.3. Chữ ký số 34
Chương 3. XÂY DNG GIAO THC TRAO ĐI KHịA AN TOÀN 46
3.1. Phân tích một số giao thức trao đổi khóa có tích hợp ch ký số 46
3.1.1. Các yêu cầu đối với giao thức trao đổi khóa hiện nay 46
3.1.2. Giao thức trao đổi khóa của Arazi 47
3.1.3. Những phát triển của Lein Harn 49
3.1.4. Giao thức trao đổi khóa của Phan 51
3.1.5. Giao thức trao đổi khóa Jie Liu và Jianhua Li 54
3.1.6. Đánh giá và hướng cải tiến 56
3.2. Xây dựng giao thức trao đổi khóa 58
3.2.1. Đặt bài toán 58
3.2.2. Tổ chức giao thức 59
3.2.3. Nhận xét 63
3.3. Mô phỏng giao thức 67
3.3.1. Môi trường cài đặt 67
3.3.2. Giao diện chương trình 67
KẾT LUN VÀ KIN NGH 71
TÀI LIU THAM KHO 72
PH LC 74
vii

DANH SÁCH CH VIẾT TT


TT
Kí hiệu
Gii thích
1
ASSRDH-DSA
Against session state reveal Diffie-Hellman - DSA:
Giao thức cải tiến
2
AKA
Auxiliary Key Agreement: Bổ trợ thỏa thuận khóa
3
CA
Certificate authority: Trung tâm phân phối khóa
4
CKĐT
Chữ ký điện tử
5
CKS
Chữ ký số
6
CSDL
Cơ sở dữ liệu
7
DH
Trao đổi khóa Diffie – Hellman
8
DSA
Digital signature algorithm: Giải thuật chữ ký số
9
ECC

Elliptic curve cryptography: Hệ mật trên đường cong
elliptic
10
NIST
National Institute of Standards and Technology:
Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ
11
SHA
Secure hash algorithm: Thuật toán băm bí mật
12
TĐK
Trao đổi khóa

viii

DANH SÁCH CÁC HÌNH

HÌNH Trang
Hình 2.1: Mô hình chung của hệ thống mật mã khóa đối xứng 9
Hình 2.2. a) Chức năng bảo mật của hệ mật với khóa công khai 11
Hình 2.2. b) Chức năng xác thực của hệ mật với khóa công khai 11
Hình 2.3. Sơ đồ ký và kiểm thử sử dụng hàm băm 28
Hình 3.1. Giao thức TĐK của Arazi 48
Hình 3.2. Giao thức TĐK ba vòng của Lein Harn 50
Hình 3.3. Giao thức TĐK ba vòng sau khi sửa 53
Hình 3.4. Giao thức TĐK Liu và Li cải tiến 55
Hình 3.5. Giao thức TĐK ARSDH-DSA 62
Hình 3.6. Giao diện nhập khóa bí mật 67
Hình 3.7. Mô phỏng bước một của giao thức 68
Hình 3.8. Mô phỏng bước hai của giao thức 68

Hình 3.9. Mô phỏng bước ba của giao thức 69
Hình 3.10. Mô phỏng bước bốn của giao thức 69
Hình 3.11. Mô phỏng bước bốn của giao thức 70

ix

DANH SÁCH CÁC BNG

BNG Trang
Bảng 2.1: Các tính chất của các thuật toán băm an toàn 34
Bảng 3.1: Liệt kê các thuộc tính bảo mật của các giao thức 56
Bảng 3.2. Đặc tính của giao thức DH kết hợp với DSA 63



1
Chương 1
TNG QUAN
1.1. Tổng quan chung về lĩnh vực nghiên cứu
Ngày nay, công nghệ thông tin và thương mại điện tử đã xâm nhập vào mọi
khía cạnh của hoạt động xã hội. Việc trao đổi và đảm bảo an toàn cho các thông tin
nhạy cảm trên các mạng truyền dẫn là vấn đề mang tính thời sự và vô cùng phức
tạp. Trên thực tế, các kỹ thuật mật mã là phương pháp an toàn và hiệu quả nhất để
bảo đảm truyền tin an toàn trên mạng. Trong đó, bài toán trao đổi khóa luôn được
đặt ra để có thể đáp ứng được những ứng dụng của các thuật toán mật mã trên.
Xác lập khóa (Key Establishment) là tiến trình trong đó hai (hoặc nhiều) đối
tượng xác lập một khóa bí mật được chia sẻ. Trong thực tế có hai kiểu giao thức
xác lập khóa [3]:
1) Các giao thức truyền khóa (Key Transport Protocols), trong đó một khóa được
phát sinh bởi một đối tượng và truyền an toàn đến đối tượng khác.

2) Các giao thức thỏa thuận khóa (Key Agreement Protocols), trong đó các
đối tượng trao đổi các thông tin để xác lập một khóa bí mật được chia sẻ.
Trong khuôn khổ luận văn, người viết chỉ quan tâm đến các giao thức thỏa
thuận (trao đổi) khóa. Các khóa dùng trong các quá trình mã hóa và giải mã phải
được giữ bí mật và cần được trao đổi bằng một phương pháp an toàn như gặp nhau
trực tiếp hay thông qua một người đưa thư tin cậy. Vì vậy quá trình phân phối khóa
trong thực tế gặp rất nhiều khó khăn, đặc biệt là khi số lượng người sử dụng rất lớn.
Mật mã hóa khóa công khai đã giải quyết được vấn đề này vì nó cho phép người
dùng gửi thông tin mật trên đường truyền không an toàn mà không cần thỏa thuận
khóa từ trước. Thuật toán mật mã hóa khóa công khai được thiết kế đầu tiên bởi
James H. Ellis, Clifford Cocks, và Malcolm Williamson vào đầu thập kỷ 1970.
Năm 1976, Whitfield Diffie và Martin Hellman công bố một hệ thống mật mã hóa
khóa bất đối xứng trong đó nêu ra phương pháp trao đổi khóa công khai. Trao đổi

2
khóa Diffie-Hellman (DH) là phương pháp có thể áp dụng trên thực tế đầu tiên để
phân phối khóa bí mật thông qua một kênh thông tin không an toàn. Giao thức DH
được thiết kế để có khả năng chống lại các tấn công thụ động, tuy nhiên nó không
cung cấp sự xác thực giữa các đối tượng tham gia truyền thông. Giải pháp xác thực
cần được sử dụng khi áp dụng giao thức này trong thực tế là: sử dụng kết hợp với
trung tâm phân phối khóa (CA) hoặc chữ ký số (CKS). Tuy nhiên, khi sử dụng kết
hợp với CA, việc thay đổi khóa công khai là ít vì vậy khóa bí mật chia sẻ thường
chỉ được sử dụng làm khóa chủ để mã hóa các khóa phiên trong các phiên liên lạc.
Khi kết hợp với CKS, việc thay đổi khóa công khai sẽ dễ dàng hơn.
Arazi là người đầu tiên kết hợp giao thức DH và CKS DSA để cung cấp tính
năng xác thực khóa. Tuy nhiên, Nyberg and Rueppel [7] đã chỉ ra một điểm yếu
trong lược đồ của Arazi là tấn công khóa biết. Một kiểu tấn công khác như là tấn
công khoá chia sẻ không biết hay tấn công lặp lại khóa. Vì vậy, năm 2004 Lein
Harn đã mở rộng cách tiếp cận của Arazi để tích hợp một cách tin cậy giao thức
DH trong DSA.

Giao thức TĐK do Lein Harn đề xuất đã cung cấp được các đặc tính như: an
toàn khóa biết, ngăn cản tấn công khóa chia sẻ không biết (unknown key–share
resilience) và ngăn cản tấn công khóa lặp lại. Ba tính năng an toàn này là các yêu
cầu chuẩn cho giao thức TĐK bất kỳ. Tuy nhiên, giao thức này không cung cấp hai
tính năng chuẩn an toàn khác, như là: an toàn phía trước và khả năng làm mới
khóa. Do đó năm 2005 R.C.W. Phan đã sắp xếp giao thức để đảm bảo cả hai đặc
tính an toàn phía trước và khả năng làm mới khóa mà vẫn duy trì được các đặc tính
cơ bản của giao thức gốc.
Năm 2010 Jie Liu và Jianhua Li đưa ra sự cải tiến nhằm làm cho giao thức an
toàn hơn nhưng vẫn giữ được các yêu cầu cơ bản trong lược đồ của Phan. Tuy
nhiên giao thức cải tiến của Liu và li vẫn chưa khắc phục được tính năng bảo mật
chống lại lộ trạng thái khóa phiên.

3
Trong vòng 50 năm qua, rất nhiều thuật toán được xây dựng và triển khai.
Các nghiên cứu đưa ra nhằm cải thiện sự an toàn của các giao thức. Các giao thức
mới có tính bảo mật ngày càng tốt hơn.
1.2. Mục đích của đề tài
Nghiên cứu tổng quan một số vấn đề về trao đổi khóa, những thuật toán mật
mã liên quan, nghiên cứu giao thức trao đổi khóa bí mật Diffie – Hellman và các
phát triển của giao thức này được giới thiệu bởi Arazi, Lein Harn, Phan, và Liu và
Li từ đó đưa ra cải tiến giao thức trao đổi khóa an toàn trên cơ sở sử dụng giao thức
trao đổi khóa Diffe – Hellman kết hợp với chữ ký số làm tăng độ bảo mật của giao
thức.
1.3. Nhiệm vụ và giới hn của đề tài
1.3.1. Nhiệm vụ đề tài
Trước hết đây là vấn đề khó, đòi hỏi phải có tập trung nghiên cứu trong thời
gian dài. Do đó người viết chỉ tập trung vào một số vấn đề sau:
+ Tìm hiểu tổng quan về vấn đề trao đổi khóa, các thuật toán mật mã liên quan
như hàm băm, chữ ký điện tử, giải thuật ký số…

+ Phân tích các thuật toán đã được đưa ra để tim ra vấn đề tồn tại về bảo mật
trong trao đổi khóa. Từ đó đưa ra các cải tiến để khắc phục vấn đề còn tồn tại.
+ Tìm hiểu về ngôn ngữ lập trình Visual studio 2010 để viết chương trình mô
phỏng cách thức hoạt động của giao thức cải tiến.
1.3.2. Giới hn đề tài
Do đặc thù ngành và điều kiện vật chất nên các nghiên cứu về mật mã và an
ninh mạng hiện nay thường ít được triển khai trong thực tê. Do đó người thực hiện
chỉ giới hạn nghiên cứu về mặt lý thuyết và toán học.
1.4. Phương pháp nghiên cứu

4
Phương pháp phân tích: nghiên cứu, tìm hiểu, phân tích về vấn đề trao
đổi khóa, cơ sở toán học, các đặc tính phải có của một giao thức trao đổi khoá, các
giao thức trao đổi khóa đã được triển khai tìm ra những ưu điểm và hạn chế
Phương pháp mô phỏng: Tìm hiểu về ngôn ngữ lập trình từ đó xây dựng
chương trình mô phỏng hoạt động của giao thức


5
Chương 2
C S LÝ THUYẾT
2.1. An toàn và bảo mật thông tin







 

 
 




 



h

- 

 

6




- 

 


 


2.2. Mật mã học






               





    



    

7







confidentiality)  

chúng.
2)   data integrity)   




authentication)  
identification
        

       
chính  identity authentication 
(data origin authentication).
non-repudiation)  

 

       



8
2.3 Hệ thống mã hóa
Khái niệm
cryptosystem

1) 
2)  mã hóa.
3) 
4) k

K
e
k



E d
k


D e
k
: P
      d
k
:         
( ( )) ,
kk
e x x x Pd   
.

x

P e
k


E có
d
k


D.
Phân loại các phương pháp mã hóa





o các khóa khác nhau, các khóa
      
        


).


  (secret key

9
 symmetric key).     

     

 

 
rõ.
  


 

Mã hóa


K






khóa
Kênh an toàn
K


K ?

?

Hình 2.1. Mô hình chung ca h thng mi xng

cryptanalysis).


    

10
cù
cryptology

Data Encryption Standard



National Institute of Standards and Technology  NIST



Advanced Encryption Standard  AES


 khác nhau.



mã hóa 

public key



 





11
Mã hóa

 




khóa
KU
B
KR
B


KR
B
?
?

KR
B
- 
KU
B
- 

Hình 2.2. a) Cho mt ca h mt vi khóa công khai
Mã hóa










khóa
KR
A
KU
A


KR
A
?

?

KR
A
- 
KU
A
- 

Hình 2.2. b) Chc ca h mt vi khóa công khai
               

(private keyKR
i
i 
khóa công khaiKU
i

             


12


a, b.
2.4 Vai trò của khóa trong các phương pháp bảo mật






              
công khai.
2.4.1. Vai trò của khoá






  

 
 




t



13
                
          



 
  




n = pq.
p, q n 
np, q 
p theo
mod p, ta 
x
mod
*
p
pZ
x 
, , p x ( - 2) sao cho 
x

mod p.


               


 



 khám phá


14


 tiêu an 



- 

 



 



       



 





1) 

2) 

15
3) 








nào 
2.4.2 Vấn đề an toàn khóa trong các gii pháp bo mt





1) 
2) 
 

3) 
4) 

 

tấn công người đứng
giữa




16













1) 
2) 
3) 
cho B.
4) 

5) 



 
            






17
 





trong môi



                

               








 -   
 

2.5. Một số khái niệm liên quan
* 

1) 


18
2) 



* Giao : 




- 





implicit key authentication)
- n



- : 

- 






19
-  passive attack): quan sát,


- : 
tham gia

An toàn khóa trong các giao thức trao đổi





1) 

2)  

3) 



2.6. Cơ s toán học
2.6.1 Lý thuyt số
Phép chia modulo: 
quát là :
-1 (2.1)


* (a + b) mod n = [ ( a mod n) + (b mod n)] mod n
* (a - b) mod n = [ ( a mod n) - (b mod n)] mod n
* (a x b) mod n = [ ( a mod n) x (b mod n)] mod n

20
 a mod n = 0 (viêt cách khác 

p 
p-1.
 

 phép nhân modulo: 
w sao cho:
 (2.2)
a
-1
p a p
thì :
a
p-1
 (2.3)
2.6.2 Cơ bn về đi số trừu tượng


 
closure
property     
  không có các 



  
nhóm, vành, 
 
Nhóm (group)
Nhóm (G,
°
 G phép toán hai ngôi
°
(là
 G × G G)  sau:
G1. a, b  G, thì a
°
b  G.

×