1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm

77 459 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 2,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các nút trong mạng ad hoc giao tiếp với nhau thông qua các kết nối không dây, nếu các nút ở xa nhau thì có thể dựa trên các nút khác để chuyển tiếp dữ liệu, lúc này các nút ở giữa đóng v

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐINH QUANG VŨ

XÂY DỰNG GIẢI PHÁP AN NINH TRONG MẠNG AD HOC ĐA TRẠM

Ngành : Công nghệ thông tin

Chuyên ngành : Truyền dữ liệu và Mạng máy tính

Mã số : 60 48 15

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHẠM THANH GIANG

Hà Nội – 2012

Trang 3

Mục lục

Lời cam đoan I Mục lục II Danh mục các ký hiệu và chữ viết tắt III Danh mục các bảng IV Danh mục các hình vẽ V

MỞ ĐẦU 1

Chương 1 - MẠNG AD HOC VÀ CÁC VẤN ĐỀ AN NINH TRONG MẠNG 2

AD HOC 2

1.1 GIỚI THIỆU VỀ MẠNG AD HOC 2

1.2 SỰ THIẾU AN NINH VÀ CÁC MỐI ĐE DỌA TRONG MẠNG AD HOC 4

1.2.1 Sự thiếu an ninh trong mạng ad hoc 4

1.2.2 Các mối đe dọa an ninh trong mạng ad hoc 4

1.2.2.1 Các hình thức tấn công 4

1.2.2.2 Tấn công từ chối dịch vụ 5

1.2.2.3 Mạo danh 6

1.2.2.4 Nghe lén 6

1.2.3 Mục tiêu an toàn 7

1.2.4 Các thách thức 7

1.3 GIẢI PHÁP AN NINH TRONG MẠNG AD HOC DỰA TRÊN GIAO THỨC THỎA THUẬN KHÓA 8

1.3.1 Thỏa thuận khóa có chứng thực mật khẩu 9

1.3.2 Giao thức thỏa thuận khóa Diffie-Hellman 12

Chương 2 - GIAO THỨC THỎA THUẬN KHÓA TRONG MẠNG AD HOC 15

2.1 BỘ GIAO THỨC ASOKAN-GINZBOORG CHO MẠNG AD HOC TĨNH 16

2.1.1 Bộ giao thức 2d-cube và 2d-octopus 16

2.1.1.1 2d-cube 16

2.1.1.2 2d-octopus 17

2.1.2 Bộ giao thức Asokan-Ginzboorg 18

2.1.2.1 Xác thực khóa 18

2.1.2.2 Khả năng để đối phó với các sự kiện bị lỗi 19

2.2 SỰ MỞ RỘNG CỦA GIAO THỨC DIFFIE-HELLMAN CHO MỘT NHÓM 20

2.2.1 Giao thức Cliques-I 20

2.2.1.1 Khởi tạo khóa ban đầu trong Cliques-I 20

2.2.1.2 Quá trình gia nhập thành viên mới và hợp nhất các nhóm trong Cliques-I 22

2.2.1.3 Quá trình rời nhóm và chía nhỏ nhóm trong Cliques-I 24

2.2.2 Giao thức Cliques-II 25

2.2.2.1 Khởi tạo khóa ban đầu trong Cliques-II 25

2.2.2.2 Quá trình gia nhập thành viên mới và hợp nhất các nhóm trong Cliques-II 28

2.2.2.3.Quá trình rời nhóm và chía nhỏ nhóm trong Cliques-II 28

2.3 QUẢN LÝ KHÓA TRONG MẠNG AD HOC DỰA TRÊN CÂY KHÓA 28

2.3.1 Giao thức STR 28

2.3.1.1 Khởi tạo khóa ban đầu trong giao thức STR 29

2.3.1.2 Quá trình gia nhập nhóm trong giao thức STR 30

2.3.1.3 Quá trình rời nhóm trong giao thức STR 31

2.3.1.4 Quá trình hợp nhất giữa các nhóm trong giao thức STR 32

2.3.1.5 Quá trình chia nhỏ nhóm trong giao thức STR 34

2.3.1.6 Thiết lập lại khóa trong giao thức STR 36

2.3.2 Giao thức TGDH 36

2.3.2.1 Khởi tạo khóa ban đầu trong giao thức TGDH 37

2.3.2.2 Quá trình gia nhập nhóm trong giao thức TGDH 40

Trang 4

2.3.2.3 Quá trình rời nhóm trong giao thức TGDH 42

2.3.2.4 Quá trình hợp nhất giữa các nhóm trong giao thức TGDH 43

2.3.2.5 Quá trình chia nhỏ nhóm trong giao thức TGDH 44

2.3.2.6 Thiết lập lại khóa trong giao thức TGDH 46

2.4 ĐÁNH GIÁ CÁC GIAO THỨC 47

2.4.1 So sánh về chi phí truyền thông 47

2.4.2 So sánh về chi phí tính toán 49

Chương 3 - XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG GIAO THỨC CLIQUES I-II 53

3.1 PHÂN TÍCH THIẾT KẾ 53

3.1.1 Tổng quan về dự án mô phỏng robot Player/Stage 53

3.1.2 Phân tích các lớp thư viện dùng để mô phỏng giao thức 53

3.2 CHƯƠNG TRÌNH MÔ PHỎNG 57

3.2.1 Môi trường và kịch bản mô phỏng 57

3.2.2 Mô phỏng giao thức Cliques-I 60

3.2.3 Mô phỏng giao thức Cliques-II 66

3.2.4 So sánh thời gian khởi tạo nhóm khóa của cliques-I và cliques-II 67

TÀI LIỆU THAM KHẢO 70

Trang 5

Danh mục các ký hiệu và chữ viết tắt

Thuật ngữ,chữ viết tắt Giải thích

DH Diffie-Hellman

Giao thức Diffie-Hellman GKA Group Key Agreement

Giao thức thỏa thuận khóa nhóm IKA Initial Key Agreement

Phương thức khởi tạo khóa ban đầu của nhóm AKA Auxiliary key agreement

Phương thức bổ trợ thỏa thuận khóa MANET Mobile Ad hoc Network

Mạng ad hoc di động

Trang 6

Danh mục các bảng

Bảng 2.1: Thuật toán khởi tạo khóa của CLIQUES-I 21

Bảng 2.2: Bảng tính độ phức tạp tính toán quá trình khởi tạo khóa của CLIQUES-I 22

Bảng 2.3: Thuật toán tính khóa khi có thành viên mới gia nhập của CLIQUES-I 23

Bảng 2.4: Độ phức tạp tính toán quá trình gia nhập thành viên mới CLIQUES-I 23

Bảng 2.5: Bảng tính độ phức tạp quá trình hợp nhất nhóm của CLIQUES-I 24

Bảng 2.6: Thuật toán khởi tạo khóa của CLIQUES-II 27

Bảng 2.7: Bảng tính độ phức tạp quá trình khởi tạo khóa của CLIQUES-II 27

Bảng 2.8: Bảng tính độ phức tạp tính toán khởi tạo khóa của STR 29

Bảng 2.9: Bảng tính độ phức tạp tính toán quá trình gia nhập nhóm của STR 31

Bảng 2.10: Bảng tính độ phức tạp tính toán quá trình rời nhóm của STR 32

Bảng 2.11: Bảng tính độ phức tạp tính toán quá trình hợp nhất giữa hai nhóm của STR 33

Bảng 2.12: Bảng tính độ phức tạp tính toán quá trình hợp nhất giữa m nhóm của STR 34

Bảng 2.13: Bảng tính độ phức tạp tính toán quá trình chia nhỏ nhóm của STR 35

Bảng 2.14: Bảng tính độ phức tạp tính toán quá trình thiết lập lại khóa 36

Bảng 2.15: Bảng tính độ phức tạp tính toán quá trình khởi tạo nhóm của TGDH 39

Bảng 2.16: Bảng tính độ phức tạp tính toán quá trình gia nhập nhóm của TGDH 41

Bảng 2.17: Bảng tính độ phức tạp tính toán quá trình rời nhóm của TGDH 42

Bảng 2.18: Bảng tính độ phức tạp tính toán quá trình hợp nhất các nhóm trong TGDH 44

Bảng 2.19: Bảng tính độ phức tạp tính toán quá trình chia nhỏ nhóm của TGDH 46

Bảng 2.20: Bảng tính độ phức tạp tính toán quá trình thiết lập lại khóa TGDH 46

Bảng 2.21: Bảng so sánh về chi phí truyền thông giữa bốn giao thức 47

Bảng 2.22: Bảng so sánh về độ chi phí tính toán giữa bốn giao thức 49

Bảng 3.1: Bảng trạng thái ban đầu các robot mô phỏng 60

Bảng 3.2: Bảng các giá trị khởi tạo ban đầu của các robot mô phỏng cliques-I 60

Bảng 3.3: Bảng các giá trị khởi tạo ban đầu của các robot mô phỏng cliques-II 66

Bảng 3.4: Bảng thời gian hội tụ khóa trong khởi tạo khóa ban đầu của cliques I-II 68

Trang 7

Danh mục các hình vẽ

Hình 1.1: Sơ đồ một mạng hạ tầng 2

Hình 1.2: Sơ đồ một mạng ad hoc 3

Hình 1.3: Các hình thức tấn công cơ bản 5

Hình 1.4: Hình thức tấn công Man-in-the-middle trong giao thức Diffie-Hellman 14

Hình 2.1: Các trường hợp xảy ra của nhóm ad hoc động 15

Hình 2.2: Minh họa giao thức 2d-cube cho 4 nút 17

Hình 2.3: Minh họa giao thức 2d-octopus cho 7 nút 17

Hình 2.4: Minh họa khả năng đối phó với sự kiện bị lỗi của giao thức 20

Hình 2.5: Quá trình khởi tạo khóa ban đầu của nhóm trong CLIQUES-I 21

Hình 2.6: Quá trình gia nhập thành viên mới trong CLIQUES-I 23

Hình 2.7: Quá trình hợp nhất các nhóm trong CLIQUES-I 24

Hình 2.8: Quá trình rời nhóm trong CLIQUES-I 25

Hình 2.9: Quá trình khởi tạo khóa ban đầu của nhóm trong CLIQUES-I 27

Hình 2.10: Mô tả một cây STR 28

Hình 2.11: Quá trình gia nhập nhóm của cây STR 30

Hình 2.12: Quá trình rời nhóm của cây STR 31

Hình 2.13: Quá trình rời nhóm của cây STR 32

Hình 2.14: Quá trình chia nhỏ nhóm của cây STR 35

Hình 2.15: Cây TGDH với chiều cao h là 3 36

Hình 2.16: Mô tả cây khóa TGDH 37

Hình 2.17: Quá trình khởi tạo một cây TGDH với 6 thành viên 38

Hình 2.18: Quá trình gia nhập nhóm trong giao thức TGDH 40

Hình 2.19: Cây TGDH sau khi thành viên mới gia nhập 40

Hình 2.20: Quá trình gia nhập nhóm trong giao thức TGDH 41

Hình 2.21: Quá trình rời nhóm của giao thức TGDH 42

Hình 2.22: Quá trình hợp nhất giữa hai nhóm của giao thức TGDH 43

Hình 2.23: Quá trình chia nhỏ nhóm của giao thức TGDH 45

Hình 2.24: So sánh số vòng của bốn giao thức trong quá trình khởi tạo nhóm 48

Hình 2.25: So sánh số vòng của bốn giao thức trong quá trình hợp nhất nhóm 48

Hình 2.26: So sánh số vòng của bốn giao thức trong quá trình chia nhỏ nhóm 48

Hình 2.27: So sánh số gói tin của bốn giao thức trong quá trình khởi tạo nhóm 49

Hình 2.28: So sánh chi phí tính toán của bốn giao thức trong quá trình khởi tạo nhóm 50

Hình 2.29: So sánh chi phí tính toán khi có thành viên gia nhập nhóm 50

Hình 2.30: So sánh chi phí tính toán của bốn giao thức khi có thành viên rời nhóm 50

Hình 2.31: So sánh chi phí tính toán bốn giao thức khi có k thành viên gia nhập nhóm 51

Hình 2.32: So sánh chi phí tính toán của bốn giao thức khi có p thành viên rời nhóm 51

Hình 3.1: Giả lập cấu trúc điều khiển server/client của player/stage 53

Hình 3.2: Phân tích các lớp để vẽ giao diện mô phỏng giao thức cliques I-II 55

Hình 3.3: Phân tích các lớp tính toán khoá trong mô phỏng giao thức cliques I-II 56

Hình 3.4: Phân tích các lớp trao đổi thông tin mô phỏng giao thức cliques I-II 57

Hình 3.5: Khởi tạo môi trường mô phỏng 59

Hình 3.6: Mô phỏng quá trình khởi tạo nhóm của cliques I 60

Hình 3.7: Thông tin các robot khi hình thành nhóm ban đầu 62

Hình 3.8: Sau khi hình thành nhóm ban đầu 62

Hình 3.9: Mô phỏng quá trình gia nhập nhóm của cliques I 63

Hình 3.10: Quá trình gia nhập nhóm của cliques I 64

Hình 3.11: Mô phỏng quá trình rời nhóm của cliques I 65

Hình 3.12: Mô phỏng quá trình khởi tạo nhóm của cliques II 66

Hình 3.13: Biểu đồ thời gian hội tụ khóa trong khởi tạo khóa ban đầu của cliques I-II 68

Trang 8

MỞ ĐẦU

Ngày nay, mạng không dây trong đời sống con người đang ngày càng đóng vị trí quan trọng Đã có rất nhiều mô hình, kiến trúc mạng không dây được đề xuất nhằm làm cho mạng không dây dần thoát khỏi hoàn toàn sự phụ thuộc vào cơ sở hạ tầng Một trong những mô hình mạng được đề xuất đó chính là mạng Ad hoc (Mobile Adhoc Network) thường được viết tắt là MANET Các mạng này thường được thiết lập trong các tình huống khẩn cấp, cho các hoạt động tạm thời hoặc đơn giản là do không có nguồn lực để thiết lập một mạng lưới phức tạp Việc các mạng không dây ít phụ thuộc vào cơ sở hạ tầng là một điều rất thuận lợi nhưng bên cạnh đó lại có những vấn đề khác đặt ra như tốc độ mạng không ổn định, các nút mạng hay di chuyển, topo mạng thay đổi liên tục và những thách thức rất lớn về bảo mật đường truyền Các thách thức về an ninh trong mạng ad hoc thường tập trung vào ba phần: bảo mật tầng liên kết, bảo mật đinh tuyến và trao đổi, quản lý khóa Trong khuôn khổ luận văn này, tập trung chủ yếu vào việc trao đổi và quản lý khóa trong mạng ad hoc

Luận văn được bố cục thành 3 chương chính :

Chương 1 Mạng ad hoc và các vấn đề an ninh trong mạng ad hoc

Tổng quan về mạng ad hoc, sự thiếu an ninh và các mối đe dọa trong mạng

ad hoc, đồng thời chỉ ra giải pháp an ninh trong mạng ad hoc thông qua quản lý khóa

Chương 2 Quản lý khóa trong mạng ad hoc dựa vào giao thức thỏa thuận khóa

Trình bày các giao thức thỏa thuận khóa trong mạng ad hoc và đánh giá các giao thức

Chương 3 Xây dựng chương trình mô phỏng giao thức thỏa thuận khóa CliquesI

Xây dựng chương trình mô phỏng giao thức thỏa thuận khóa Cliques I-II và chạy thử các kịch bản mô phỏng để chứng minh tính đúng đắn của thuật toán

Trang 9

Chương 1 - MẠNG AD HOC VÀ CÁC VẤN ĐỀ AN NINH TRONG MẠNG

AD HOC 1.1 GIỚI THIỆU VỀ MẠNG AD HOC

Với sự cải tiến của công nghệ truyền thông không dây như Bluetooth, IEEE 802.11 hoặc Hiperlan, trong vài năm trở lại đây mạng di động đã thu hút đc sự chú ý

và phát triển ngày càng mạnh mẽ Dựa theo tính phụ thuộc vào các thiết bị hạ tầng cố định, mạng di động có thể được chia thành hai loại: mạng hạ tầng (Infrastructure-based Network) và mạng ad hoc (Mobile Ad hoc Network, MANET)

 Trong mạng hạ tầng các nút di động có các điểm truy cập có dây AP(Access Point) cố định bên trong phạm vi truyền của nó Các AP cấu thành lên xương sống cho một mạng hạ tầng Mạng di động và WLAN thuộc dạng này

Hình 1.1: Sơ đồ một mạng hạ tầng

 Ngược lại, mạng ad hoc tự mình tổ chức mạng một cách tự động mà không cần

có cơ sở hạ tầng hỗ trợ (chỉ cần có hai thiết bị không dây là có thể tạo ra một mạng ad hoc) Trong một mạng ad hoc các nút di chuyển tự do vì thế topo mạng

có thể bị thay đổi một cách nhanh chóng và không thể dự đoán được Các nút trong mạng ad hoc giao tiếp với nhau thông qua các kết nối không dây, nếu các nút ở xa nhau thì có thể dựa trên các nút khác để chuyển tiếp dữ liệu, lúc này các nút ở giữa đóng vai trò như một thiết bị định tuyến

Mạng Ad hoc được mong đợi sẽ làm cách mạng hóa thông tin không dây trong một vài năm tới bằng việc bổ sung thêm vào các mô hình mạng truyền thống (như Internet, mạng di động, truyền thông vệ tinh) Mạng Ad hoc cũng có thể được xem như những bản sao công nghệ của những khái niệm máy tính thường gặp Bằng việc khám phá công nghệ mạng không dây Ad hoc, những thiết bị cầm tay đủ chủng loại (như điện thoại di động, PDAs, máy tính xách tay, máy nhắn tin, máy tính bảng…) và các thiết

Trang 10

bị cố định (như các trạm vô tuyến cơ sở, các điểm truy cập Internet không dây, …) có thể được kết nối với nhau, tạo thành mạng toàn cầu, khắp mọi nơi

Hình 1.2: Sơ đồ một mạng ad hoc Trong tương lai, công nghệ mạng Ad hoc có thể sẽ là lựa chọn rất hữu ích Ví dụ, hãy xem tình huống sau Một cơn động đất khủng khiếp đã tàn phá thành phố của chúng ta, trong đó có hầu hết các cơ sở hạ tầng viễn thông (như các đường điện thoại, trạm vô tuyến cơ sở …) Nhiều đội cứu hộ (như lính cứu hỏa, cảnh sát, bác sĩ, các tình nguyện viên …) đang nỗ lực để cứu mọi người khỏi cơn động đất và chữa trị cho những người bị thương Để hỗ trợ tốt hơn cho đội cứu hộ, các hoạt động cứu hộ của họ phải được hợp tác với nhau Rõ ràng là một hoạt động hợp tác như thế chỉ đạt được thành quả khi đội cứu hộ có thể giao tiếp, thông tin với nhau, cả với đồng nghiệp của mình (ví dụ một cảnh sát với một cảnh sát khác) và cả với thành viên của đội cứu hộ khác (ví dụ một lính cứu hỏa yêu cầu sự trợ giúp từ một bác sĩ) Với những công nghệ hiện có, những nỗ lực của đội cứu hộ sẽ rất khó thành công khi những cơ sở hạ tầng viễn thông cố định bị tàn phá nặng nề Thậm chí những thành viên của đội cứu hộ này được trang bị máy vô tuyến cầm tay (walkie-talkie) hay các thiết bị tương tự khác trong trường hợp không thể truy cập được với các điểm cố định, chỉ những kết nối giữa những thành viên của đội cứu hộ đứng gần nhau mới thực hiện được Vì vậy, một trong những ưu tiên trong việc quản lý và không chế thảm họa ngày nay là cài đặt lại các cơ sở hạ tầng viễn thông nhanh nhất có thể, bằng cách sửa chữa các thiết bị, kết cấu hư hỏng hay triển khai các thiết bị viễn thông tạm thời (ví dụ như vans được trang

bị angten radio)

Khó khăn này có thể được giải quyết đáng kể nếu chúng ta áp dụng những công nghệ dựa vào mạng Ad hoc : bằng cách sử dụng các giao tiếp không dây phân tán giữa nhiều điểm truy cập khác nhau, thậm chí các đội cứu hộ ở cách xa nhau cũng có thể liên lạc với nhau hay liên lạc với các thành viên đội cứu hộ khác ở khoảng giữa như hoạt động của một trạm chuyển tiếp Vì khu vực xảy ra thảm họa sẽ tập trung nhiều đội cứu hộ, nên các liên lạc trong phạm vi thành phố (hay thậm chí là phạm vi cả nước) có thể thực hiện được, cho phép các nỗ lực cứu hộ được hợp tác thành công mà không cần thiết lập lại các cơ sở viễn thông cố định

Trang 11

1.2 SỰ THIẾU AN NINH VÀ CÁC MỐI ĐE DỌA TRONG MẠNG AD HOC 1.2.1 Sự thiếu an ninh trong mạng ad hoc

Mạng Ad hoc là một mô hình mạng không dây mới cho thiết bị di động Không giống mạng không dây hạ tầng, mạng ad hoc không dựa trên bất kỳ cơ sở hạ tầng cố định nào Thay vào đó, các nút dựa vào các nút khác để giữ cho mạng kết nối và các nút thường di chuyển tự do vì thế topo mạng có thể bị thay đổi một cách nhanh chóng

Do thiếu sự hỗ trợ của cơ sở hạ tầng và đặc điểm như trên nên an ninh trong mạng ad hoc trở thành điểm yếu cố hữu Những điểm yếu do đặc điểm của mạng ad hoc được liệt kê dưới đây :

[+] Sự thay đổi thường xuyên và không đoán trước được của topo mạng và các nút trong mạng:

 Cấu trúc liên kết mạng lưới của mạng ad hoc là rất năng động do sự di chuyển của các nút thành viên là rất ngẫu nhiên Điều này nhấn mạnh sự cần thiết của các giải pháp an ninh an toàn trong mạng ad hoc

[+] Các liên kết không dây trong mạng ad hoc rất dễ bị tấn công

 Các cuộc tấn công cả thụ động như nghe trộm, giả mạo, … đến các hình thức tấn công chủ động như từ chối dịch vụ, mạo danh một nút là rất dễ dàng xảy ra do các nút di chuyển trong một môi trường thiếu sự hỗ trợ cơ sở

hạ tầng và các nút thường xuyên di chuyển nên sự tin tưởng của mối quan

hệ giữa các nút cũng thay đổi, đặc biệt là khi một số nút bị tấn công

[+] Việc mở rộng mạng và định tuyến cũng tồn tại nhiều yếu tố dễ bị tấn công

 Trong mạng ad hoc các nút ở xa nhau thì có thể dựa trên các nút khác để chuyển tiếp dữ liệu, lúc này các nút ở giữa đóng vai trò như một thiết bị định tuyến Vì vậy bất kỳ nút nào bị tấn công hoặc bị hỏng có thể tạo ra sự nguy hại đến toàn mạng

1.2.2 Các mối đe dọa an ninh trong mạng ad hoc

1.2.2.1 Các hình thức tấn công

Các cuộc tấn công trong mạng ad hoc thường được chia thành hai nhóm:

[+] Các cuộc tấn công bên trong mạng:

 Thụ động: các cuộc tấn công thường chỉ liên quan đến việc nghe trộm dữ liệu

 Chủ động: các cuộc tấn công liên quan đến hành động thực hiện bởi đối thủ

ví dụ sự sao chép, sửa đổi và xóa dữ liệu trao đổi

[+] Các cuộc tấn công từ bên ngoài mạng: thường nhắm đến một số mục tiêu ví

dụ như gây ùn tắc, làm sai lệch thông tin định tuyến, ngăn chặn các dịch vụ hoặc tắt chúng hoàn toàn Các cuộc tấn công bên ngoài thường có thể được ngăn ngừa bằng cách sử dụng các cơ chế bảo mật tiêu chuẩn chẳng hạn như mã hóa, tường lửa…

Các cuộc tấn công xuất phát từ bên trong mạng thường nghiêm trọng hơn các cuộc tấn công từ bên ngoài Vì giả sử một nút nội bộ độc hại khi tham gia vào mạng nó sẽ

Trang 12

được cung cấp các cơ chế bảo mật mạng và các dịch vụ trong mạng Nút độc hại này

sẽ được các thành viên trong nhóm tin tưởng và trong quá trình truyền thông nút độc hai này do cũng đóng một vai trò như một thiết bị định tuyến nên việc sao chép, sửa đổi và xóa dữ liệu trao đổi trong nhóm là rất dễ dàng

Hình 1.3: Các hình thức tấn công cơ bản

1.2.2.2 Tấn công từ chối dịch vụ

Tấn công từ chối dịch vụ luôn là mối đe doạ hàng đầu đến các hệ thống công nghệ thông tin trên thế giới Trong mạng ad hoc thì hậu quả của các cuộc tấn công thường phụ thuộc vào lĩnh vực ứng dụng của mạng ad hoc: Ví dụ trong lớp học một mạng adhoc giữa các thiết bị cầm tay của giáo viên và học sinh khi bị tấn công có thể gây sụp đổ nhưng lớp học vẫn có thể tiếp tục công việc bình thường bằng cách sử dụng mạng khác Hậu quả của cuộc tấn công gây ra cũng không nặng nề và không có thiết

bị hay cái gì bị phá huỷ Nhưng ngược lại, trong tình huống ở chiến trường hiệu quả hoạt động của các chiến sĩ hoàn toàn phụ thuộc vào hoạt động đúng đắn của các thiết

bị mạng của họ Nếu đối phương có thể đánh sập mạng, một nhóm có thể sẽ bị cô lập thành các đơn vị nhỏ lẻ dễ bị tổn thương và không thể giao tiếp với nhau hoặc với trụ

sở

Các cuộc tấn công từ chối dịch vụ có nhiều hình thức: cách cổ điển là làm quá tải năng lực xử lý, dẫn đến hệ thống không còn hoạt động một cách chính xác hoặc không thể thực thi bất kì một công việc nào khác, nhưng trong các mạng ad hoc thì cách tiếp cận này không khả thi do có sự phân bổ trách nhiệm giữa các thành viên Tuy nhiên do

sự phân bổ như vây việc tấn công từ chối dịch vụ càng là một mối đe dọa nghiêm trọng hơn: nếu những kẻ tấn công có đủ tài nguyên và băng thông để hoạt động thì các mạng adhoc nhỏ hơn có thể bị sụp đổ hoặc tắc nghẽn một cách dễ dàng Ví dụ như các nút bị tổn hại có thể thay đổi lại cấu hình định tuyến làm các gói tin trong mạng không

Trang 13

thể đi được đến đích hoặc ngăn cản các nút cũ có được thông tin mới về việc thay đổi cấu trúc liên kết của mạng Trong trường hợp xấu nhất, kẻ thù có thể thay đổi cấu hình định tuyến làm cho mạng hoạt động một cách tùy tiện Vì vậy nếu một nút bị tổn hại gây ra sự ảnh hưởng đến cấu hình định tuyến không được phát hiện thì hậu quả xảy ra

Vì vậy, tấn công mạo danh liên quan đến tất cả các hoạt động quan trọng trong mạng

ad hoc Trong ví dụ lớp học, nếu một sinh viên mạo danh thiết bị của giáo viên, học sinh đó có thể có quyền truy cập, phá hủy dữ liệu được lưu trữ hoặc làm gián đoạn sự trao đổi của thiết bị giáo viên với học sinh trong lớp học Tác hại của cuộc tấn công này là không lớn và nó có thể sẽ được nhận thấy rất nhanh chóng nhưng ta xem xét trong ví dụ khác: Việc mạo danh thành công sẽ là nghiêm trọng hơn rất nhiều nếu trên chiến trường một nút mạng bị kiểm soát bởi kẻ thù Nó có thể có thể tham gia vào mạng adhoc và gây tổn hại đến các nút khác hoặc một dịch vụ nào đấy Nút đó có thể giả mạo chính nó thành một nút khác trong mạng và ra lệnh sai hoặc thông tin trạng thái sai đến các nút khác Các mối đe dọa trong tấn công mạo danh có thể được giảm nhẹ bằng cách áp dụng cơ chế xác thực các bên tham gia để có thể tin tưởng về nguồn gốc của dữ liệu đã nhận được hoặc dữ liệu đã được lưu trữ Thông thường ta có thể sử dụng chữ ký số hoặc mã xác thưc trên các thông điệp định tuyến, thông tin cấu hình hoặc thông tin tình trạng, trao đổi, dữ liệu tải trọng của các dịch vụ sử dụng Việc sử dụng chữ ký số cùng với mật mã khóa công khai là một vấn đề khó giải quyết vì trong mạng adhoc thường yêu cầu một dich vụ quản lý khoá hiệu quả, an toàn và sự tính toán tương đối nhiều Vì vậy, trong nhiều trường hợp các giải pháp nhẹ nhàng hơn như việc sử dụng các hàm khóa băm hoặc đàm phán và chứng nhận định danh phiên thường được sử dụng

1.2.2.4 Nghe lén

Trong mạng adhoc, các thông tin nghe lén có thể bao gồm bất cứ điều gì ví dụ như tình trạng chi tiết cụ thể của một nút, vị trí của các nút, các thông điệp riêng tư hay bí mật, mật khẩu… Đôi khi các dữ liệu điều khiển thông tin lại có ý nghĩa quan trọng hơn

so với các dữ liêu trao đổi Chẳng hạn như các chỉ thị định tuyến trong phần đầu các gói tin như nhận dạng hoặc vị trí của các nút đôi khi có thể có giá trị hơn so với thông báo trên tầng ứng dụng Điều này đặc biệt quan trọng trong các ứng dụng quân sự Ví

dụ trên chiến trường dữ liệu của một gói bắt tay trao đổi giữa các nút có thể không

Trang 14

được đối phương quan tâm Thay vào đó, danh tính của các nút quan trọng hoặc các đài phát thanh liên lạc có thể giúp kẻ thù phát hiện và tấn công các mục tiêu trọng yếu Ngược lại, trong ví dụ lớp học việc nghe lén thông tin trao đổi, lưu trữ là quan trọng hơn so với vị trí và danh tính của các nút

1.2.3 Mục tiêu an toàn

Các mục tiêu an toàn cần đạt tới trong mạng ad hoc như sau:

[+] Tính sẵn sàng: Đảm bảo cho mạng và các dich vụ trong mạng luôn hoạt động kể

cả khi bị tấn công từ chối dịch vụ (DOS) Về tầng vật lý và liên kết dữ liêu kẻ tấn công

có thể sử dụng các kỹ thuật gây nhiễu, gây trở ngại cho giao tiếp Trên tầng mạng, kẻ tấn công có thể phá vỡ các giao thức định tuyến Trên các tầng cao hơn, kẻ tấn công có thể đánh sập các dịch vụ cao cấp ví dụ như: dịch vụ quản lý khóa

[+] Tính bí mật: Đảm bảo thông tin không bao giờ bị tiết lộ cho các tổ chức trái

phép

[+] Tính toàn vẹn: Luôn đảm bảo dữ liệu truyền thông không bao giờ bị hỏng

[+] Tính xác thực: Cho phép một nút đảm bảo danh tính của mình là xác thực và đáng

tin cậy với các nút ngang hàng mà nó tiếp xúc Nếu không có tính xác thực một kẻ tấn công có thể mạo danh một nút, do đó đạt được quyền truy cập trái phép vào tài nguyên, thông tin nhạy cảm và ảnh hưởng đến hoạt động của các nút khác

[+] Tính không khoái thác: Khi thông điệp được gửi đi, người nhận có thể khẳng

định rằng thông điệp đích thực được gửi tới từ người được ủy quyền và đảm bảo người chủ của thông điệp không thể phủ nhận nguồn gốc gói tin hay những thao tác mà người đó đã thực hiện

1.2.4 Các thách thức

[+] Bảo mật tầng liên kết: Trong môi trường không dây thì tầng liên kết là tầng dễ bị

tấn công và khi đó kẻ nghe trộm có thể dễ dàng giả mạo thông tin liên lạc trong mạng

Vì không có các biện pháp bảo vệ như tường lửa hoặc kiểm soát truy cập nên trong mạng ad hoc bất kỳ nút nào cũng có thể bị tổn thương và trở thành nút mạo danh, nên các cuộc tấn công trong mạng adhoc có thể đến từ bất kỳ hướng nào hoặc từ bất kỳ nút nào trong mạng.Các hình thức của các cuộc tấn công bao gồm giả mạo danh tính của một nút, giả mạo với các thông tin nút, nghe lén… Những kiểu tấn công này có thể dễ dàng làm tổn hại đến các đặc tính bảo mật cơ bản như tính bảo mật, tính toàn vẹn, tính sẵn sàng và sự riêng tư của một nút

[+] Bảo mật định tuyến: Vì đặc điểm trong mạng ad hoc mỗi nút có thể đóng vai trò

như một thiết bị định tuyến nên các giao thức đinh tuyến trong mạng ad hoc rất dễ bị tấn công Bất kỳ một thông tin định tuyến giả mạo nào cũng có thể gây ảnh hưởng tới toàn bộ mạng Một kẻ tấn công có thể chèn các thông tin định tuyến sai lệch hoặc từ chối phục vụ các dịch vụ bằng cách phát lại các thông tin yêu cầu đăng nhập hoặc các thông tin lưu trữ cũ Việc các nút bị tổn hại có thể truyền các thông tin định tuyến sai lệch đến các nút khác, sẽ gây ra thiệt hại vô cùng nghiêm trọng Những đề xuất về các giải pháp định tuyến trong mạng ad hoc thường chỉ giúp mạng có khả năng hoạt động

Trang 15

với cấu trúc liên kết năng động, nhưng về biện pháp an ninh thì các giải pháp đó mới chỉ cung cấp một phần hoặc không có Vì vậy, việc bảo mật an toàn trong định tuyến

ad hoc cũng là một trong những thách thức lớn

[+] Quản lý khóa: Nhìn chung, mục tiêu bảo mật và quản lý khóa trong mạng adhoc

có thể đạt được thông qua các cơ chế mã hóa như mật mã khóa công khai hoặc chữ ký

số Cơ chế này được hỗ trợ thông qua một nhà cung cấp chứng chỉ số (CA) chuyên cung cấp và xác minh chứng chỉ số để các nút có thể có được sự tin tưởng lẫn nhau Tuy nhiên cơ chế này đòi hỏi bên thứ ba là nhà quản lý CA phải có các giải pháp để cung cấp, xác minh các chứng chỉ số và các biện pháp để bảo mật trong việc chia sẻ khóa bí mật hay mật mã khóa công khai, những công việc này thường đòi hỏi cần có một quy mô lớn Ngoài ra cơ chế này còn yêu cầu các thiết bị di động của người sử dụng phải tích hợp chức năng sử dụng chứng chỉ số, điều này cũng là một phiền phức không nhỏ Cuối cùng mục tiêu của việc quản lý và bảo mật các khóa trong mạng ad hoc cùng gặp khó khăn lớn là do sự di động ngẫu nhiên của các nút nên các kết nối thường không được duy trì liên tục

1.3 GIẢI PHÁP AN NINH TRONG MẠNG AD HOC DỰA TRÊN GIAO THỨC THỎA THUẬN KHÓA

Trong một hệ thống bảo mật, theo khoá đối xứng truyền thống hay khóa công khai, việc thiết lập khoá, trao đổi khoá luôn luôn là một vấn đề cơ bản Khoá là đầu mối của sự an toàn bảo mật, nên sự an toàn của khâu quản lý (thiết lập, trao đổi) tất nhiên là tối quan trọng

Trao chuyển khoá trong các hệ thống đối xứng Trong các hệ thống này, hai người dùng cần phải sử dụng một khoá chung, tức là phải có cách trao đổi thông tin để thiết lập nên khoá này Nhưng khi này đường truyền tin không có bảo mật, vậy làm sao có thể giữ bí mật được thông tin trao đổi thiết lập khoá này? Điều này có thể thực hiện qua một số cách như sau:

[+] Hai người dùng sẽ sử dụng một kênh truyền tin mật bổ sung chẳng hạn như dùng người đưa thư Nhược điểm rõ ràng: tốn kém, chậm, độ an toàn vẫn bị đặt dấu hỏi (người đưa thư có tin cậy được không?)

[+] Trao đổi khoá thông qua một nhà thẩm quyền tin cậy : mỗi người dùng sẽ liên lạc bí mật với S (nhà thẩm quyền đáng tin) Mỗi người dùng cần thiết lập trước với S một kênh liên lạc bí mật, có thể là dùng khoá đối xứng với khoá chung được thiết lập do gặp gỡ trực tiếp Sau này nếu một người dùng A muốn thiết lập liên lạc bí mật với một người dùng B khác thì A có thể gửi yêu cầu thiết lập liên lạc tới B cho S

để qua S sẽ làm việc với B Nhờ qua S mà khóa chung được thiết lập giữa A và B

Nhược điểm: nó đòi hỏi phải có một nhà thẩm quyền đáng tin trên mạng mà việc này đòi hỏi khá nhiều vấn đề kèm theo không đơn giản Ngoài ra nó tạo ra một điểm thắt nút cổ chai (bottleneck) trên mạng do tất cả các khởi đầu liên lạc giữa một cặp thành viên bất kỳ đều phải thông qua S nên S sẽ dễ bị quá tải, gây tắc ngẽn

[+] Trao đổi khoá vẫn dùng kênh truyền tin công cộng sử dụng các giao thức thỏa thuận khóa

Trang 16

Hãy xem xét một kịch bản như sau: một nhóm người tổ chức cuộc họp trong một căn phòng và họ muốn thiết lập một mạng ad hoc thông qua máy tính xách tay của họ Tất cả bon họ đều tin tưởng lẫn nhau, tuy nhiên không có một biện pháp bảo mật nào

để họ có thể xác thực lẫn nhau Trong cuộc họp họ không muốn bất cứ ai bên ngoài phòng có thể biết được cuộc trò chuyện của họ Với kịch bản này kẻ tấn công có thể dễ dàng gây tổn thương cho mạng bằng cách nghe lén, theo dõi các thông tin hay cũng có thể sửa đổi các tin nhắn và cũng có thể chèn các thông điệp làm cho mọi người trong phòng tưởng lầm kẻ tấn công là ai đó trong bọn họ Đây là một ví dụ cổ điển của mạng

ad hoc và cách đơn giản nhất, để bảo mật kịch bản này ta có thể dùng một “giấy” xác thực khóa công khai cho phép người tham gia xác minh sự gắn kết giữa các địa chỉ IP

và khóa của những người tham gia

Có hai vấn đề xảy ra:

[+] Sẽ rất khó khăn để xác định người tham gia nếu “giấy” xác thực của người tham gia đã bị thu hồi

[+] Những người tham gia có thể tham gia vào hai hoặc nhiều phân cấp xác thực, nhưng ta chưa có hệ thống phân cấp xác thực chéo

Một số giải pháp:

[+] Sử dụng một bên thứ ba tin cậy có khả năng xác thực các bên tham gia, tuy nhiên giải pháp này không phải lúc nào cũng khả thi do tính chất không có sự hỗ trợ của cơ sở hạ tầng trong mạng ad hoc

[+] Tạo ra các kênh truyền vật lý an toàn cho những người có mặt trong phòng thương lượng các khóa phiên trước khi chuyển sang các kênh không dây không an

toàn

1.3.1 Thỏa thuận khóa có chứng thực mật khẩu

Khi một nhóm các thành viên tham gia trao đổi thông tin thì một mật khẩu sẽ được chọn và chia sẻ giữa những người tham gia trong nhóm Nếu mật khẩu này là một chuỗi ngẫu nhiên dài, thì có thể đảm bảo an ninh nhưng lại kém thân thiên với người dùng Nếu mật khẩu là một cụm từ theo ngôn ngữ tự nhiên, thì nó sẽ thân thiện với người dùng hơn, tuy nhiên lại bị dễ dàng tấn công theo hìn thức tấn công từ điển

Vì vậy yêu cầu đặt ra là cần phải chọn ra được một khóa chung mạnh từ một mật khẩu chia sẻ yếu

Một giao thức thông thường nhất được đề xuất như sau:

A và B là hai thành viên sẽ trao đổi thông tin với nhau dựa trên một khóa bí mật p, (EA, SA) là khóa của A

[1] A sẽ mã hóa mật khẩu bằng khóa p và gửi đến B Và A cũng gửi kèm một nhãn „A‟

để xác định chính nó

A > B : A, P(EA)

Thông báo này nhằm xác thực xem B có biêt mật khẩu P hay không, B chỉ có thể giải

mã và lấy được EA khi B biết được mật khẩu p

Trang 17

[2] B nhận được gói tin sẽ tiến hành sử dụng khóa p để giải mã p(EA) và lấy được EA

B tạo ngẫu nhiên số „R‟ và mã hóa nó bởi EA Sau đó toàn bộ thông tin đều đươc mã hóa bởi p và gửi đến A

B > A : P(EA (R))

Thông báo này nhằm xác thực xem A có biêt mật khẩu P hay không, A chỉ có thể giải

mã và lấy được R khi A biết được mật khẩu p

[3] A nhận được gói tin từ B sẽ giải mã gói tin và lấy được „R‟ A sẽ chọn cho mình một số ngẫu nhiên (challenge)A và SA, rồi sử dụng R vừa giải mã được để mã hóa nó

và gửi cho B

A > B : R((challenge)A, SA)

Thông báo này đóng vai trò như một sự ghi nhận là A đã lấy được R thành công

[4] B nhận được gói tin sẽ giải mã thông tin nhận được và lấy được (challenge)A và SA

B sẽ sử dụng một hàm băm h để băm (challenge)A Sau đó B cũng chọn cho mình (challenge)B, SB và gửi toàn bộ h((challenge)A), (challenge)B và SB được mã hóa bởi R cho A

Vào bước cuối cùng của mỗi lần trao đổi khóa, mỗi thành viên sẽ trao đổi khóa của mình với người đứng đầu Sau đó người đứng đầu sẽ chọn ra khóa chung cả nhóm

và phân phối nó cho những người dung khác Tuy nhiên hạn chế của giao thức này là khóa chung chỉ được tính bởi người đứng đầu

Trang 18

Chúng ta có thể thay đổi giao thức để cho nó có thể hoạt động như một giao thức mà tất cả các bên đều tham gia tính toán khóa chung như sau:

Trong hai bước cuối cùng 4 và 5 đều sử dụng khoá K là khóa chung của cả A và B

để mã hóa, điều này giúp cả hai xác thực khóa dùng chung K

Với giao thức đã sửa đổi này ta có thể dễ dàng mở rộng cho nhiều bên tham gia

Ví dụ: giả sử ta có tập hợp n thành viên Mi với i=1…n với Mn được chọn là người đứng đầu, Si là khóa ngẫu nhiên được chọn bởi thành viên Mi tham gia

Nếu như kẻ tấn công chiếm được một nút (trừ nút Mn) giao thức này có ưu điểm khó phá vỡ Nhưng kẻ tấn công có thể gửi các tin nhắn rác, và các thành viên sẽ xây dựng khóa chung trong đó có cả khóa rác của kẻ tấn công Tuy nhiên do kẻ tấn công không biết khóa khởi tạo p ban đầu nên nó cũng không thể xác định được khóa cuối cùng của nhóm

Trong giao thức này cũng có một số chậm chễ nhất định do người đứng đầu phải chờ đợi các thông điệp trả về từ các thành viên thì mới có thể tiến hành tính toàn và gửi trả lại thông tin

Hạn chế của giao thức:

[+] Theo giao thức ta thấy có một số lượng lớn các thông tin được mã hóa bằng cách

sử dụng một khóa yếu P mà trong bước một của giao thức khóa E được P mã hóa và

Trang 19

gửi cho tất cả các thành viên, do đó E không thể là một khóa tốt xét về lâu dài được

Vì vậy, việc sử dụng một cặp khóa mới cho mỗi lần chạy giao thức này là quan trọng

và đây là sự trả giá về mặt tính toán

[+] Các thành phần của khóa mã E có các đặc điểm đặc biệt có thể giúp cho kẻ tấn công tấn công từ điển lên P(E) Do đó ta lại cần phải quan tâm đến mã hóa các thành phần không dự đoán được của E, điều này làm tăng chi phí tính toán của giao thức

1.3.2 Giao thức thỏa thuận khóa Diffie-Hellman

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 Công trình này chịu sự ảnh hưởng trước đó của Ralph Merkle về phân phối khóa công khai Trao đổi 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

[+] Các khái niệm toán học trong giao thức Diffie-Hellman

 Một nhóm G được gọi là nhóm cyclic nếu trong G tồn tại phần tử sinh g sao cho

G = <g> = { gn với mọi số nguyên n } Chẳng hạn, nếu G = { e, g1, g2, g3, g4,

g5}, thì G là cyclic, và G là đẳng cấu với nhóm của các số { 0, 1, 2, 3, 4, 5 } với phép cộng modulo 6

 Căn nguyên thủy modul n :

Nếu n ≥ 1 là một số nguyên thì các số nguyên nguyên tố cùng nhau với n tạo thành một nhóm với phép nhân modulo n, nhóm này được ký hiệu là Zn* Nhóm này là nhóm cyclic nếu và chỉ nếu n bằng pk

(p là một số nguyên tố p ≥ 3

và lũy thừa k ≥ 1)

Phần tử sinh của nhóm cyclic sẽ được gọi là một căn nguyên thủy modulo n, hay một phần tử nguyên thủy của Zn* Nói cách khác, một căn nguyên thủy modulo n là một số nguyên g mà mọi số nguyên không có ước chung nào khác với n ngoài các lũy thừa của g (mod n)

Bậc của 3 và 5 là 6

Bậc của 9 và 11 là 3

Bậc của 13 là 2

Trang 20

Vậy 3 và 5 là căn nguyên thủy modulo 14

Một ví dụ khác với n = 15 ta có các phần tử của Zn* là các lớp đồng dư của {1,

Trong giao thức trao đổi khóa Diffie-Hellman cơ bản, hai bên A và B sẽ cùng khởi tạo một số nguyên tố lớn p (ít nhất là 512 bit) và một số g là căn nguyên thủy modulo

p (2 ≤ g ≤ p-2) hay g còn gọi là phần tử sinh của nhóm cyclic Zp*

Các bước trao đổi khóa trong giao thức Diffie-Hellman:

[1] A chọn số tự nhiên a (bí mật) ( 1 ≤ a ≤ p-2)

A tính (ga) mod p và gửi kết quả cho B

A > B : (ga) mod p [2] B chọn số tự nhiên b (bí mật) ( 1 ≤ b ≤ p-2)

B tính (gb) mod p và gửi kết quả cho A

B > A : (gb) mod p

A tính : (gb mod p)a mod p

B tính : (ga mod p)b mod p

Sau các bước trên A và B đều có khóa chung là:

(g b mod p)a mod p = (ga mod p)b mod p = g(a*b) mod p

Kẻ tấn công chỉ có thể nghe trôm được trên đường truyền giá trị của (ga mod p) và (gb mod p) Nếu chỉ dựa vào hai giá trị trên kẻ tấn công sẽ rất khó để tìm ra khóa chung K vì để tìm được K kẻ tấn công phải giải mã để biết được giá tri a và b, lúc này

độ an toàn của giao thức được quyết định bởi tính khó của bài toán logarit rời rạc

Trang 21

A và B sẽ tính khóa chung

keya = (ga mod p)b mod p = 1565 mod 541 = 193

keyb = (gb mod p)a mod p = 4567 mod 541 = 193

Vậy cả A và B đều có khóa chung keya = keyb = 193

Tuy nhiên giao thức này có điểm yếu là nó không an toàn với hình thức tấn công mitm (man-in-the-middle) Như trong hình vẽ mô tả kẻ tấn công có thể đứng giữa Alice và Bob để thiết lập khóa chung là KA = (Az mod p) và KB = (Bz mod p), trong khi Alice và Bob cứ tưởng là mình đã thiết lập hai khóa chung với nhau

Một giải pháp đã được đề xuất đề khắc phục điểm yếu trên như sau:

[1] A chọn số tự nhiên a (bí mật) ( 1 ≤ a ≤ p-2)

A tính (ga) mod p và gửi kết quả cho B

A > B : (ga) mod p

[2] B chọn số tự nhiên b (bí mật) ( 1 ≤ b ≤ p-2)

B tính (gb mod p) và khóa chung của cả hai là K = (ga mod p)b mod p

B dùng K để mã hóa SB(ga, gb) Sau đó B gửi cả (gb mod p) và K(SB(ga,gb)) cho A (trong đó SB(ga, gb) là chữ ký của B lên ga

, gb

B > A : (gb mod p), K(SB(ga, gb))

[3] A nhận được tính khóa chung của cả hai là K = (gb mod p)a mod p

A dùng K giải mã K(SB(ga, gb)) và xác thực lại giá trị ga

A dùng K để mã hóa SB(ga, gb) rồi gửi cho B (trong đó SA(ga

, gb) là chữ ký của A lên ga

, gb

A > B : K(SA(ga, gb))

Sau các bước trên A và B đều có khóa chung là:

(g b mod p)a mod p = (ga mod p)b mod p = g(a*b) mod p

Hình 1.4: Hình thức tấn công Man-in-the-middle trong giao thức Diffie-Hellman

Trang 22

Chương 2 - GIAO THỨC THỎA THUẬN KHÓA TRONG MẠNG AD HOC

Giao thức thỏa thuận khóa (GKA) được sử dụng nhiều trong các ứng dụng nhóm khác nhau bao gồm cả điện thoại và video hội nghị, tư vấn từ xa, hệ thống chẩn đoán cho y tế…Đã có rất nhiều giao thức GKA được đưa ra, mỗi một giao thức đều có điểm manh và yếu khác nhau nhưng các giải pháp đưa ra đều phải thỏa các yếu tố sau: [+] Tất cả các bên đều phải tham gia vào giao thức GKA (group key agreement) [+] Không có một cá thể nào đảm nhận vai trò điều khiển quá trình thực thi của giao thức Thay vào đó có một vài cá thể đòng vài trò "đứng đầu" trong 1 thời gian ngắn

Trang 23

Có nhiều đề xuất các giải pháp nhưng các giải pháp đều có chung các phương thức sau:

IKA (Initial Key Agreement) : Phương thức khởi tạo khóa ban đầu của nhóm

AKA (Auxiliary key agreement) : Thay đổi, tạo khóa của nhóm trong các

trường hợp:

+ Gia nhập nhóm (join) : Khi có thành viên gia nhập nhóm

+ Rời khỏi nhóm (delete) : Khi có thành viên rời khỏi nhóm

+ Chia nhỏ nhóm (partion) : Khi một nhóm bị chia thành hai hay nhiều

nhóm nhỏ hơn Có thể coi như phương thức “delete” với nhiều hơn 1 thành viên rời nhóm

+ Hợp nhất nhóm (merge) : Khi hai hoặc nhiều nhóm hợp lại thành một

nhóm 2.1 BỘ GIAO THỨC ASOKAN-GINZBOORG CHO MẠNG AD HOC TĨNH

Becker và Wille đã đề xuất bộ giao thức hypercube bao gồm cube và octopus, trong đó có sử dụng giao thức trao đổi khóa Diffie-Hellman giữa các bên khá hiệu quả Sau đó Asokan và Ginzboorg đã mở rộng phát triển thêm bộ giao thức hypercube với việc xác thực khóa của các bên tham gia và khả năng đối phó với các sự kiện bị lỗi, bộ giao thức mới mở rộng này được gọi là bộ giao thức Asokan-Ginzboorg

2d-Một trong những lợi thế chính của các giao thức được mô tả trong phần này là chi phí bộ nhớ thấp hơn, mỗi thành viên chỉ cần biết chìa khóa thỏa thuận, do đó chi phí bộ nhớ là chỉ có 1 Tuy nhiên, cả hypercube và Asokan-Ginzboorg chỉ có thể xử lý việc thỏa thuận khóa trong các nhóm tĩnh, vì vậy nó chỉ phù hợp với mạng ad hoc tĩnh

2.1.1 Bộ giao thức 2d-cube và 2d-octopus

2.1.1.1 2d-cube

[+] Giả sử có n thành viên tương ứng với n nút sẽ tham gia vào giao thức

Toàn bộ quá trình trao đổi khóa của n=2d nút sẽ chạy với d vòng

Các nút sẽ được đánh số theo cơ số 2 từ 1 đến n

[+] Ở vòng j các nút có địa chỉ là A sẽ tiến hành trao đổi khóa DH với nút có địa chỉ là

A xor 2j-1

Với tính chất a xor b= c thì c xor b =a

Sau vòng j sẽ có 2d-j cặp khóa (Tức sau 1 vòng số khóa giảm đi 1 nửa)

[+] Sau d vòng thì tất cả các nút có khóa giống nhau

Ví dụ : Giả sử chúng ta có 4 thành viên tham gia vào một nhóm Quá trình giao thức

2d-cube thỏa thuận khóa được thể hiện trong hình dưới đây

Bốn người tham gia, A, B, C, và D được đánh dấu theo thứ tự với 2 bit địa chỉ theo cơ số 2 là 00, 01, 10, và 11, tương ứng Vì có 4 người = 2d

nên ta cần d=2 vòng để thỏa thuận khóa chung của nhóm

[+] Trong vòng đầu tiên, A và B thực hiện hai bên trao đổi khóa DH và tính toán khóa

bí mật KAB = grA*rB

C và D cũng làm tương tự để trao đổi khóa KCD = grC*rD

Trang 24

[+] Vòng tiếp theo A và C thực hiện trao đổi khóa DH với nhau với khóa đạt được ở vòng trước B và D cũng làm tương tự

Sau 2 vòng ta có khóa chung là

Tuy nhiên giao thức 2d-cube ở trên chỉ hoạt động khi số người tham gia là một

lũy thừa của 2 Đối với trường hợp tổng quát, giao thức 2d-octopus sẽ được giới thiệu trong hình 2.2

Hình 2.2: Minh họa giao thức 2d-cube cho 4 nút

Trang 25

[+] Ở vòng đầu tiên các nút có địa chỉ A với A>2d sẽ tiến hành trao đổi khóa DH với các nút có địa chỉ A-2d

[+] Vòng tiếp theo 2d nút còn lại sẽ tiến hành trao đổi khóa theo giao thức 2d-cube [+] Cuối cùng khóa sẽ được các nút 2d

phân phối cho các nút có địa chỉ A>2d

Ví dụ : Giả sử chúng ta có 7 thành viên tham gia vào một nhóm Quá trình giao thức

2d-octopus thỏa thuận khóa được thể hiện trong hình 2.3

Giả sử 7 người tham gia P0, P1, · · ·, P6 được đánh dấu theo thứ tự với 3 bit địa chỉ theo cơ số 2 là 000, 001, · · ·, 110, tương ứng P0, P1, P2 và P3 là bộ điều khiển trung tâm, P4, P5, P6, là các nút liên kết

[+] Trong vòng đầu tiên thì :

P4 và P0, P1 và P5, P2 và P6 sẽ thực hiện trao đổi khóa DH

Trong bộ giao thức 2d-cube và 2d-octopus không có sự chứng thực của những

bên tham gia vào nhóm Một giải pháp đã được đề xuất bởi Asokan và Ginzboorg : Ban đầu hai bên A và B sẽ cùng khởi tạo một số nguyên tố lớn p và một số g là bội

số của tập Zp* {1, 2, …, p-1} A và B chọn ngẫu nhiên khóa bí mật của mình SA, SB với 1 <= SA, SB <= p-2 Mục tiêu của giao thức là phải chọn ra được một khóa chung

K mạnh từ một mật khẩu chia sẻ yếu ban đầu là P Quá trình trao đổi khóa DH giữa 2 thành viên A và B sẽ gồm 4 bước như sau :

[1] A tính (gSA) mã hóa nó bởi P sau đó gửi kết quả đến B

A > B : A, P(gSA)

[2] B dùng P giải mã gói tin và lấy được gSA

B tính gSB và khóa chung của cả hai là K=(gSA)SB

Tiếp theo B chọn một số ngẫu nhiên CB và mã hóa nó bằng khóa K

B mã hóa SB bằng khóa P Sau đó nó sẽ gửi P(SB), K(CB) cho A

B > A : P(SB), K(CB)

[3] A dùng P giải mã gói tin và lấy được gSB

Tiếp A tính khóa chung của cả hai là K=(gSA)SB

Sau đó dùng K để giải mã K(CB) và lấy được CB

A chọn một số ngẫu nhiên CA và mã hóa cả CA,CB bằng K và gửi nó đến B

A > B : K(CA, CB)

Trang 26

Thông báo này của A gửi cho B nhằm xác thực rằng A đã giải mã thông báo [2] của B một cách chính xác

[4] B dùng K giải mã gói tin và lấy được CA

Sau đó mã hóa CA bằng K và gửi nó đến A

B > A : K(CA)

A giải mã các tin nhắn để xác thực lại giá trị CA Điều này giúp A khẳng định được rằng A và B đều biết K

2.1.2.2 Khả năng để đối phó với các sự kiện bị lỗi

Giao thức 2d-octopus hoạt động tốt khi có thêm thành viên mới gia nhập vào

nhóm Tuy nhiên, nó lại không hiệu quả khi một thành viên rời khỏi nhóm Một vấn đề

khác nữa là giao thức 2d-octopus không giải quyết được khi có bất kỳ sự trao đổi khóa

nào giữa hai bên bị lỗi Becker và Wille đã không chỉ ra được làm thế nào để đối phó

với vấn đề này Asokan và Ginzboorg đã cung cấp một giải pháp để đối phó với

những vấn đề trên

Trong phương pháp Asokan và Ginzboorg, nếu một nút trong quá trình tìm một thành viên để trao đổi khóa DH trong một vòng bị lỗi, nó sẽ sử dụng một thuật toán phân phối để tìm một thành viên khác phù hợp không bị lỗi

Ví dụ : Giả sử chúng ta có 8 người tham gia được đánh địa chỉ với 3 bit như hình vẽ Trong quá trình trao đổi khóa giả sử G bị lỗi, quá trình trao đổi khóa sẽ diễn

ra như sau:

[+] Trong vòng 1 : Các nút tiến hành tìm các đối tác để trao đổi khóa DH Với thành viên H:111 sẽ tìm các thành viên có d-k=3-1=2 bit đầu giống nhau và k=1 bit cuối khác nhau để trao đổi khóa DH, ở đây là thành viên G:110 Nhưng do G bị lỗi nên

H sẽ không làm gì cả

[+] Trong vòng 2 : Nút E:100 sẽ tìm các thành viên có d-k=3-2=1 bit đầu giống nhau và k=2 bit cuối khác nhau để trao đổi khóa DH, ở đây sẽ gồm H:111 và G:110 Nút G sẽ được ưu tiên trước, nhưng do G bị lỗi nên E sẽ chọn H để trao đổi khóa DH

[+] Trong vòng 3: Nút C:010 sẽ tìm các thành viên có d-k=3-3=1 bit đầu giống nhau và k=3 bit cuối khác nhau để trao đổi khóa DH, ở đây sẽ gồm H:111 và G:110 Nút G sẽ được ưu tiên trước, nhưng do G bị lỗi nên C sẽ chọn H để trao đổi khóa DH

Trang 27

Hình 2.4: Minh họa khả năng đối phó với sự kiện bị lỗi của giao thức

Asokan-Ginzboorg

2.2 SỰ MỞ RỘNG CỦA GIAO THỨC DIFFIE-HELLMAN CHO MỘT NHÓM

Tất cả các giao thức đề xuất trong phần này là CLIQUES-I và CLIQUES-II đều

để giải quyết một vấn đề khó khăn duy nhất trong giao thức Diffie-Hellman đó là: Khi hai bên tham gia vào giao thức Diffie-Hellman và trao đổi cho nhau khóa (ga

bậc q với p=kq+1 (k là số tự nhiên nhỏ)) , α là phần tử sinh của G

và giữa hai thành viên bất kỳ Mi, Mj chia sẻ khóa riêng biệt Kij Khóa riêng biệt Kij = (αxi*xj mod p) là khóa sinh ra giữa hai thành viên Mi, Mj bằng giao thức DH, với xi là khóa bí mật của Mi và (αxi

mod p) là khóa công khai tương ứng (Các định nghĩa toán học này đã được giới thiệu trong mục 1.2.2)

2.2.1 Giao thức Cliques-I

2.2.1.1 Khởi tạo khóa ban đầu trong Cliques-I

Quá trình tạo khóa ban đầu có thể chia thành 2 giai đoạn:

[+] Giai đoạn 1 gồm n-1 vòng :

- Các thành viên sẽ thống nhất chọn p là một số nguyên tố lớn, q là ước số

nguyên tố của p-1 và G là nhóm cyclic con bậc q của Zp* ,còn α là phần tử sinh của G

- Các thành viên tự chọn cho mình khóa bí mật r (thuộc Zq*), sau đó tính toán với khóa của mình rồi lần lượt gửi cho nhau

- Quá trình thu thập khóa cứ tiếp diễn đến thành viên cuối cùng

[+] Giai đoạn 2 gồm 1 vòng :

Trang 28

- Khi thành viên cuối cùng nhận được khóa, sẽ đóng vai trò như người điều khiển tạm thời tính toán các kết quả và gửi lại cho tất cả các thành viên trong nhóm

- Các thành viên trong nhóm sẽ tính toán ra khóa dùng chung theo công thức

Sau quá trình tính toán trên các thành viên có khóa chung là αr1*r2*…*rn

Bảng 2.1: Thuật toán khởi tạo khóa của CLIQUES-I

Hình 2.5: Quá trình khởi tạo khóa ban đầu của nhóm trong CLIQUES-I

Ví dụ: Giả sử có 1 nhóm có 4 thành viên ban đầu Việc tạo khóa ban đầu sẽ diễn ra theo trình tự :

[+]Các thành viên tự chọn cho mình 1 khóa bí mật và thống nhất với nhau số nguyên tố p và α sẽ sử dụng

[+] Các thành viên tự chọn cho mình khóa bí mật r1, r2, r3, r4 là các phần tử thuộc

Trang 29

D tính toán khóa dung chung là K = αr1*r2*r3*r4

D gửi lại các kết quả tính toán cho các thành viên:

DA : K = αr2*r3*r4*K14DB : K = αr1*r3*r4*K24DC : K = αr1*r2*r4*K34Sau đó các thành viên tự tính toán kết hợp với khóa của mình để ra khóa dùng chung

là K = αr1*r2*r3*r4

Bảng 2.2: Bảng tính độ phức tạp tính toán quá trình khởi tạo khóa của CLIQUES-I

2.2.1.2 Quá trình gia nhập thành viên mới và hợp nhất các nhóm trong Cliques-I

a Quá trình gia nhập thành viên mới

Quá trình tạo này chia thành 2 bước:

[+] Bước 1:

- Khi 1 thành viên (n+1) muốn gia nhập vào nhóm, thì thành viên n đang tạm thời

đảm nhận vai trò “người điều khiển” sẽ thay đổi (hay chọn lại) khóa bí mật của

minh rn‟, tính toán lại các kết quả khóa đang lưu trữ

- Sau đó n sẽ chuyển tất cả các tính toán cho thành viên mới

[+] Bước 2:

- Thành viên mới sẽ chọn cho mình một khóa rn+1 (thuộc Zq*)

- Sau đó thành viên mới sẽ tiếp nhận vai trò “người điều khiển” mới, tính toán

các kết quả và gửi lại cho các thành viên trong nhóm như sau:

- Các thành viên trong nhóm sẽ tính toán ra khóa dùng chung theo công thức

Sau quá trình tính toán trên các thành viên có khóa chung là αr1*r2*…*rn

Ví dụ: Giả sử ở đây thành viên E sẽ ra nhập nhóm trên, E tự chọn cho mình

khóa bí mật r5 Thành viên D đang giữ vai trò “người điều khiển” tạm thời, D sẽ chọn

Trang 30

cho mình 1 khóa bí mật mới là r4‟ và chuyển các kết quả tính toán với khóa r4‟ mới gồm αr2*r3*r4‟, αr1*r3* r4‟, αr1*r2* r4‟, αr1*r2*r3, αr1*r2*r3* r4‟ cho thành viên mới E

E sẽ đảm nhận vai trò “người điều khiển” tạm thời mới tính toán các kết quả và

gửi lại cho từng thành viên :

EA : K = αr2*r3* r4‟*r5*K15EB : K = αr1*r3* r4‟*r5*K25EC : K = αr1*r2* r4‟*r5*K35ED : K = αr1*r2*r3*r5*K45 Sau đó các thành viên tự tính toán kết hợp với khóa của mình để ra khóa dùng chung là K = αr1*r2*r3* r4‟*r5

Bảng 2.3: Thuật toán tính khóa khi có thành viên mới gia nhập của CLIQUES-I

Hình 2.6: Quá trình gia nhập thành viên mới trong CLIQUES-I

Bảng 2.4: Độ phức tạp tính toán quá trình gia nhập thành viên mới CLIQUES-I

Trang 31

b Quá trình hợp nhất các nhóm

Khi một nhóm có n phần tử hợp nhất với một nhóm có k phần tử thành viên n

đang tạm thời đảm nhận vai trò “người điều khiển” sẽ thay đổi (hay chọn lại) khóa bí

mật của minh rn‟, tính toán lại các kết quả khóa đang lưu trữ Sau đó n sẽ chuyển tất cả các tính toán cho thành viên mới Mn+1 Quá trình này sẽ được lập lại đến hết các thành

viên mới Lúc này thành viên đảm nhận vai trò “người điều khiển” sẽ chuyển các kết

quả tính toán cho các thành viên trong nhóm

Các thành viên trong nhóm sẽ kết hợp với khóa của mình tính toán ra khóa dung chung của nhóm

Ví dụ một nhóm có hai phần tử gia nhập nhóm có ba phần tử như hình minh họa sau:

Hình 2.7: Quá trình hợp nhất các nhóm trong CLIQUES-I

Thành viên thứ 5 gia nhập nhóm lúc cuối sẽ đóng vai trò “người điều khiển” tạm

thời mới tính toán các kết quả và gửi lại cho từng thành viên Các thành viên sẽ tự tính

ra khóa dùng chung của cả nhóm

Bảng 2.5: Bảng tính độ phức tạp quá trình hợp nhất nhóm của CLIQUES-I

2.2.1.3 Quá trình rời nhóm và chía nhỏ nhóm trong Cliques-I

a Quá trình rời nhóm

Trang 32

Khi 1 thành viên rời khỏi 1 nhóm, , thì giả sử thành viên n đang tạm thời đảm

nhận vai trò “người điều khiển” sẽ thay đổi (hay chọn lại) khóa bí mật của mình là rn‟

và tiến hành tính toán lại rồi chuyển các kết quả tính toán cho các thành viên trong nhóm trừ thành viên mới rời nhóm

Ví dụ : Trong nhóm bên dưới gồm các thành viên A,B,C,D,E với các khóa bí mật tương ứng r1, r2, r3, r4, r5

Khi D rời nhóm, lúc này E là “người điều khiển “ tạm thời sẽ chọn lại khóa bí

mật của mình là r5‟ và tính toán lại, sau đó gửi các kết quả cho các thành viên còn lại trong nhóm

EA : K = αr2*r3*r4*r5‟*K15EB : K = αr1*r3*r4*r5‟*K25EC : K = αr1*r2*r4 *r5‟*K35Các thành viên sẽ kết hợp với khóa của mình tính ra khóa chung mới là :

2.2.2 Giao thức Cliques-II

2.2.2.1 Khởi tạo khóa ban đầu trong Cliques-II

Quá trình tạo khóa ban đầu có thể chia thành các bước:

Trang 33

- Mỗi thành viên Mi sẽ chuyển cho Mi+1 kết quả tính toán αr1*r2*…*ri (với 0<i<n-1)

[+] Bước 2: Thành viên Mn-1 sau khi nhận được kết quả tính toán của Mn-2 sẽ tính toán

αr1*r2*…*rn-1

và gửi broadcasts kết quả tính toán cho tất cả các thành viên trong nhóm

[+] Bước 3: Các thành viên trong nhóm sau khi nhận được gói tin từ Mn-1 sẽ tiến hành tính toán và gủi kết quả đến Mn

[+] Bước 4: Mn sau nhận được các gói tin từ các thành viên sẽ tính toán và gửi broadcasts lại cho tất cả các thành viên

Các thành viên trong nhóm sẽ tính toán ra khóa dùng chung theo công thức

Ví dụ : Giả sử có 1 nhóm có 4 thành viên, việc tạo khóa ban đầu sẽ diễn ra theo trình

o Tất cả các thành viên nhận được thông tin từ C liền tính toán và gửi đến

D : AD : αr2*r3 BD : αr1*r3 CD : αr1*r2

o D nhận được liền tính αr1*r3*r4, αr2*r3*r4, αr1*r2*r4, αr1*r2*r3*r4

D tính toán khóa dung chung là K = αr1*r2*r3*r4

D gửi lại cho các thành viên

Trang 34

DA : K = αr2*r3*r4*K14DB : K = αr1*r3*r4*K24DC : K = αr1*r2*r4*K34Sau đó các thành viên tự tính toán kết hợp với khóa của mình để ra khóa dung chung là K = αr1*r2*r3*r4

Hình 2.9: Quá trình khởi tạo khóa ban đầu của nhóm trong CLIQUES-I

Bảng 2.6: Thuật toán khởi tạo khóa của CLIQUES-II

Bảng 2.7: Bảng tính độ phức tạp quá trình khởi tạo khóa của CLIQUES-II

Trang 35

2.2.2.2 Quá trình gia nhập thành viên mới và hợp nhất các nhóm trong Cliques-II

Quá trình này tương tự như trong giao thức CLIQUES-I Khi 1 thành viên (n+1)

muốn gia nhập vào nhóm, thì thành viên n đang tạm thời đảm nhận vai trò “người điều khiển” sẽ thay đổi (hay chọn lại) khóa bí mật của minh rn‟, tính toán lại các kết quả và

chuyển tất cả các tính toán cho thành viên mới Và thành viên mới sẽ tiếp nhận vai trò

“người điều khiển” mới, kết hợp các kết quả tính toán với khóa của mình và gửi lại cho

từng thành viên trong nhóm Các thành viên trong nhóm sẽ tiến hành tính toán lại để sinh ra khóa mới

2.2.2.3.Quá trình rời nhóm và chía nhỏ nhóm trong Cliques-II

Quá trình này tương tự như trong giao thức CLIQUES-I Khi 1 thành viên rời

khỏi 1 nhóm, thì giả sử thành viên n đang tạm thời đảm nhận vai trò “người điều khiển” sẽ thay đổi (hay chọn lại) khóa bí mật của mình là rn‟ và tiến hành tính toán lại

rồi chuyển các kết quả tính toán cho các thành viên còn lại trong nhóm Các thành viên trong nhóm sẽ tiến hành tính toán lại để sinh ra khóa mới

2.3 QUẢN LÝ KHÓA TRONG MẠNG AD HOC DỰA TRÊN CÂY KHÓA

2.3.1 Giao thức STR

STR được tối ưu hóa để làm việc với sự trễ của mạng truyền thông, nó đặc biệt hiệu quả đối với thỏa thuận nhóm khóa trong mạng lưới có độ trễ cao STR sử dụng một cây chìa khóa để quản lý nhóm khóa Mỗi một nút Mi được gắn với một nút lá LNi Mỗi nút nội bộ INi lại được liên kết với hai con là : nút con trái INi-1 và nút con phải LNi

Hình 2.10: Mô tả một cây STR Mỗi nút lá LNi chọn ngẫu nhiên một khóa ri bí mật, và tính bri = gri

mod p Một nút nội bộ INi có một khóa ki và một khóa công khai bki = gki

Trang 36

Kết quả ta sẽ đƣợc khóa chung 4 phần tử là :

2.3.1.1 Khởi tạo khóa ban đầu trong giao thức STR

[+] Mỗi thành viên Mi ban đầu chọn ngẫu nhiên một khóa ri bí mật ngẫu nhiên, và tính

bri = gri Sau đó gửi broadcasts bri đến toàn mạng

[+] Thành viên M1 :

 Tính toán đệ quy tất cả

Sau quá trình tính toán trên M1 sẽ tính đƣợc khóa chung là Kn

 Sau đó M1 sẽ gửi broadcasts các giá trị bki với i = 2,…, n-1 đến tất cả thành viên trong mạng

[+] Các thành viên Mi với i>1 sẽ tính toán ki = (bki-1)ri và tính toán đệ quy tất cả giá trị

kj với :

Sau quá trình tính đệ quy trên Mi sẽ tìm đƣợc khóa chung là Kn

Bảng 2.8: Bảng tính độ phức tạp tính toán khởi tạo khóa của STR

Trang 37

Như vậy với một nút C bất kỳ sau khi tính toán nó sẽ lưu trữ các giá trị :

 rc

 bri , bki , với i = 1…n (br1=bk1)

 ki với i = c…n

2.3.1.2 Quá trình gia nhập nhóm trong giao thức STR

Giả sử nhóm hiện tại có n thành viên, một thành viên mới tham gia vào nhóm là

Mn +1 Cây sẽ được cập nhật bằng cách tăng số nút lên n +1 và thêm một nút nội bộ

INn+1 mới với hai con: con trái là nút nội bộ INn và con phải là nút lá LNn+1 Nút INn+1

sẽ trở thành nút gốc của cây mới

Quá trình tính toán lại khóa sẽ theo thuật toán sau:

[+] Thành viên mới sẽ chọn cho mình một khóa bí mật rn+1 và tính brn+1 gửi brn+1 đến cho toàn bộ các thành viên trong nhóm

Thành viên gốc cũ Mn :

 Chọn lại cho mình một khóa rn và tính lại brn

 Tính lại kn và bkn

 Gửi broadcasts đến toàn mạng giá trị brn và bkn

[+] Đối với mỗi thành viên Mi tính toán lại khóa :

 Nếu i = 1,…,n-2 tính kn và kn+1

 Nếu i = n (gốc cũ) tính kn+1 = (brn+1)kn

 Nếu i = n+1 (nút mới) tính ra khóa kn+1 = (bkn)^rn+1

Sau quá trình tính như trên ta được khóa chung cả nhóm là kn+1

Hình 2.11: Quá trình gia nhập nhóm của cây STR

Trang 38

Bảng 2.9: Bảng tính độ phức tạp tính toán quá trình gia nhập nhóm của STR

2.3.1.3 Quá trình rời nhóm trong giao thức STR

Giả sử chúng ta có một nhóm gồm n thành viên n và Mj là thành viên rời khỏi nhóm, với 1 ≤ j ≤ n Chúng ta cần một nút đóng vai trò nút “bảo đảm” Ms để cập nhật các khóa ngẫu nhiên Nếu j > 1, nút Ms là nút lá trực tiếp dưới nút dời đi tức là Mj-1, nếu j=1 thì nút “bảo đảm” là M2 Sau đó cây sẽ được cập nhật và đánh số lại

Hình 2.12: Quá trình rời nhóm của cây STR Quá trình tính toán lại khóa sẽ theo thuật toán sau:

 Gửi broadcasts đến toàn mạng giá trị brs và bki với i = s…n-1

[+] Đối với mỗi thành viên Mi tính toán lại khóa :

 Nếu i < s tính

 Nếu i > s thì

Ngày đăng: 25/03/2015, 11:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] TS. Nguyễn Đại Thọ (2008), Giáo trình: An ninh mạng, ĐH Công nghệ, ĐHQG HN.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình: An ninh mạng
Tác giả: TS. Nguyễn Đại Thọ
Năm: 2008
[2] Hong Tang, Liehuang Zhu, Zijian Zhang, “Efficient ID-Based Two Round Authenticated Group Key Agreement Protocol”, In Proceeding of 2008 InternationalConference on Wireless Communications, Networking and Mobile Computing(WiCOM08), pp.1-4, 2008 Sách, tạp chí
Tiêu đề: Efficient ID-Based Two Round Authenticated Group Key Agreement Protocol
[3] Klas Fokin, “Key management in Ad hoc networks”, Linkửpings University, Master Dissertation, 2002 Sách, tạp chí
Tiêu đề: Key management in Ad hoc networks
[4] L. Ji and M. S. Corson, “Differential Destination Multicast (DDM)”, Specification. Internet draft (work in progress), draft-ietf-manet-ddm-00.txt, July 2000 Sách, tạp chí
Tiêu đề: Differential Destination Multicast (DDM)
[5] L. Zhou and Z.J. Haas, “Securing Ad hoc Networks”, IEEE Networks, 13(6): 24-30, Nov/Dec 1999 Sách, tạp chí
Tiêu đề: Securing Ad hoc Networks
[6] L. Zhou and Z. Haas, “Securing ad hoc networks”, IEEE Network Magazine, vol. 13, no. 6, pp. 24-30, Nov./Dec. 1999 Sách, tạp chí
Tiêu đề: Securing ad hoc networks
[7] M. Steiner, “Secure Group Key Agreement. PhD thesis”, Naturwissenschaftlich-Technischen Fakultat I der Universitat des Saarlandes, December 2001 Sách, tạp chí
Tiêu đề: Secure Group Key Agreement. PhD thesis
[8] N. Asokan and P. Ginzboorg, ”Key Agreement in Ad-hoc Networks”, Communication Systems Labo-ratory, Nokia Research Center, February 2001 Sách, tạp chí
Tiêu đề: Key Agreement in Ad-hoc Networks
[9] W. Diffie and M. E. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, IT-22(6):644–654, November 1976 Sách, tạp chí
Tiêu đề: New Directions in Cryptography
[10] Wang Wei, “Group key management: theory and key technologies”, XiDian University, PhD Dissertation, 2008 Sách, tạp chí
Tiêu đề: Group key management: theory and key technologies
[11] Yongdae Kim, Adrian Perrig, Gene Tsudik, “Tree-based group key agreement”, ACM Transactions on Information and System Security, ACM, vol. 7, no. 1, pp.60-96, 2004 Sách, tạp chí
Tiêu đề: Tree-based group key agreement
[12] Zhou Fucai, Xu Jian, Xu Haifeng, “Research of STR multicast key management protocol based on bilinear pairing in ad hoc network ”, Journal on Communications, Editorial Board of Journal on Communications, vol. 29, no. 10, pp.117-125, 2008 Sách, tạp chí
Tiêu đề: Research of STR multicast key management protocol based on bilinear pairing in ad hoc network

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ một mạng hạ tầng - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 1.1 Sơ đồ một mạng hạ tầng (Trang 9)
Hình 1.2: Sơ đồ một mạng ad hoc - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 1.2 Sơ đồ một mạng ad hoc (Trang 10)
Hình 1.3: Các hình thức tấn công cơ bản - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 1.3 Các hình thức tấn công cơ bản (Trang 12)
Hình 1.4: Hình thức tấn công Man-in-the-middle trong giao thức Diffie-Hellman - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 1.4 Hình thức tấn công Man-in-the-middle trong giao thức Diffie-Hellman (Trang 21)
Hình 2.12: Quá trình rời nhóm của cây STR  Quá trình tính toán lại khóa sẽ theo thuật toán sau: - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.12 Quá trình rời nhóm của cây STR Quá trình tính toán lại khóa sẽ theo thuật toán sau: (Trang 38)
Hình 2.13: Quá trình rời nhóm của cây STR - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.13 Quá trình rời nhóm của cây STR (Trang 39)
Bảng 2.15: Bảng tính độ phức tạp tính toán quá trình khởi tạo nhóm của TGDH - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Bảng 2.15 Bảng tính độ phức tạp tính toán quá trình khởi tạo nhóm của TGDH (Trang 46)
Hình 2.18: Quá trình gia nhập nhóm trong giao thức TGDH - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.18 Quá trình gia nhập nhóm trong giao thức TGDH (Trang 47)
Hình 2.20: Quá trình gia nhập nhóm trong giao thức TGDH - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.20 Quá trình gia nhập nhóm trong giao thức TGDH (Trang 48)
Hình 2.21: Quá trình rời nhóm của giao thức TGDH  Quá trình tính toán lại khóa sẽ theo thuật toán sau: - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.21 Quá trình rời nhóm của giao thức TGDH Quá trình tính toán lại khóa sẽ theo thuật toán sau: (Trang 49)
Hình 2.23: Quá trình chia nhỏ nhóm của giao thức TGDH - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.23 Quá trình chia nhỏ nhóm của giao thức TGDH (Trang 52)
Hình 2.24: So sánh số vòng của bốn giao thức trong quá trình khởi tạo nhóm - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.24 So sánh số vòng của bốn giao thức trong quá trình khởi tạo nhóm (Trang 55)
Hình 2.27: So sánh số gói tin của bốn giao thức trong quá trình khởi tạo nhóm - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.27 So sánh số gói tin của bốn giao thức trong quá trình khởi tạo nhóm (Trang 56)
Bảng 2.22: Bảng so sánh về độ chi phí tính toán giữa bốn giao thức  Trong đó: - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Bảng 2.22 Bảng so sánh về độ chi phí tính toán giữa bốn giao thức Trong đó: (Trang 56)
Hình 2.28: So sánh chi phí tính toán của bốn giao thức trong quá trình khởi tạo nhóm - Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm
Hình 2.28 So sánh chi phí tính toán của bốn giao thức trong quá trình khởi tạo nhóm (Trang 57)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w