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 .
1 Xây dựng giải pháp an ninh trong mạng Ad-hoc đa trạm Security solution in multi-hop ad hocnetwork NXB H. : ĐHCN, 2012 Số trang 70 tr. + Đinh Quang Vũ Trường Đại học Công nghệ Chuyên ngành: Công nghệ Thông tin; Mã số:60 48 15 Cán bộ hướng dẫn khoa học: Tiến sĩ Phạm Thanh Giang Năm bảo vệ: 2012 Abstract. 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 . Keywords: Công nghệ thông tin; Mạng truyền thông; Mạng AD hoc; Phương tiện truyền thông Content. 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 : 2 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 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 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 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. 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. 1.2. SỰ THIẾU AN NINH VÀ CÁC MỐI ĐE DỌA TRONG MẠNG AD HOC 1) 1.2.1. Sự thiếu an ninh trong mạng ad hoc Những điểm yếu an ninh do đặc điểm của mạng ad hoc: [+] 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ác liên kết không dây trong mạng ad hoc rất dễ 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. 2) 1.2.2. Các mối đe dọa an ninh trong mạng ad hoc a) 1.2.2.1. Các hình thức tấn công [+] Các cuộc tấn công bên trong mạng: 3 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. b) 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. c) 1.2.2.3. Mạo danh Các cuộc tấn công mạo danh tạo thành một nguy cơ bảo mật nghiêm trọng trong tất cả các cấp độ của mạng ad hoc . Nếu sự xác thực của các bên tham gia không được hỗ trợ, một nút bị tổn hai trong mạng có thể cố tình gửi sai thông tin của một nút trong mạng d) 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. 3) 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 DOS. [+] 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. [+] Tính không khoái thác: Khi thông điệp gửi đi, đả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. 4) 1.2.4. Các thách thức [+] Bảo mật tầng liên kết [+] Bảo mật định tuyến [+] Quản lý khóa 1.3. GIẢI PHÁP AN NINH TRONG MẠNG AD HOC THÔNG QUA QUẢN LÝ KHÓA 5) 1.3.1. Thỏa thuận khóa có chứng thực mật khẩu 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, (E A, S A ) là khóa của A 4 [1] A > B : A, P(E A ). [2] B > A : P(E A (R)). [3] A > B : R((challenge) A , S A ). [4] B > A : R(h((challenge) A ), (challenge) B , S B ). [5] A > B : R(h(challenge) B ). 6) 1.3.2. Giao thức thỏa thuận khóa Diffie-Hellman 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 Z p * . Các bước trao đổi khóa trong giao thức Diffie-Hellman: [1] A chọn a (bí mật) ( 1 ≤ a ≤ p-2) A > B : (g a ) mod p [2] B chọn số tự nhiên b (bí mật) ( 1 ≤ b ≤ p-2) B > A : (g b ) mod p A tính : (g b mod p) a mod p B tính : (g a 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 = (g a 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 (g a mod p) và (g b 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. 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 2.1. BỘ GIAO THỨC ASOKAN-GINZBOORG CHO MẠNG AD HOC TĨNH 7) 2.1.1. Bộ giao thức 2d-cube và 2d-octopus a) 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=2 d 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ỉ A sẽ tiến hành trao đổi khóa DH với nút có địa chỉ là A xor 2 j-1 . Sau vòng j sẽ có 2 d-j cặp khóa [+] Sau d vòng thì tất cả các nút có khóa giống nhau. b) 2.1.1.2. 2d-octopus [+] Giả sử có n nút với n không là lũy thừa của 2 (2 d <n <2 d+1 ) 5 Các nút sẽ được đánh số theo cơ số 2 từ 1 đến n. Những người tham gia có địa chỉ A<2 d đóng vai trò của bộ điều khiển trung tâm. Các nút có địa chỉ A>2 d sẽ liên kết với các nút trung tâm. [+] Ở vòng đầu tiên các nút có địa chỉ A với A>2 d sẽ tiến hành trao đổi khóa DH với các nút có địa chỉ A-2 d . [+] Vòng tiếp theo 2 d 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 2 d phân phối cho các nút có địa chỉ A>2 d . 8) 2.1.2. Bộ giao thức Asokan-Ginzboorg a) 2.1.2.1. Xác thực khóa Ban đầu hai bên A và B 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 khóa bí mật của mình S A , S B với 1 <= S A , S B <= p-2 . [1] A > B : A, P(g SA ). [2] B > A : P(S B ), K(C B ). [3] A > B : K(C A , C B ). [4] B > A : K(C A ). b) 2.1.2.2. Khả năng để đối phó với các sự kiện bị lỗi Giả sử chúng ta có 2 d thành viên tham gia vào nhóm, mỗi thành viên có một địa chỉ d bit. Trong quá trình trao đổi khóa với bất kỳ vòng k nào, số lượng các thành viên có thể trao đổi khóa DH tìm được cho một nút là 2 k-1 . Trong vòng k, một nút có khả năng là đối tác trao đổi khóa cần phải có cùng d-k bit đầu tiên nhưng khác nhau k bit cuối. Trong số những thành viên có khả năng trao đổi khóa DH, nút cho trước (giả sử N) sẽ cố gắng trao đổi khóa DH với nút có số lượng bit khác nhau ít nhất so với N. Nếu thất bại, N sẽ cố gắng với nút có số lượng bit khác nhau thứ 2. Nếu có nhiều hơn một nút có số lượng bit khác k bit so với N, các nút với địa chỉ đánh thứ tự cao hơn sẽ được ưu tiên. Nếu những nỗ lực trao đổi khóa thất bại một lần nữa, N sẽ cố gắng với nút có số lượng bit khác nhau thứ ba… 2.2. SỰ MỞ RỘNG CỦA GIAO THỨC DIFFIE-HELLMAN CHO MỘT NHÓM 9) 2.2.1. Giao thức Cliques-I a) 2.2.1.1. Khởi tạo khóa ban đầu 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 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 * ), tính toán khóa của mình rồi lần lượt gửi cho nhau. [+] Giai đoạn 2 gồm 1 vòng : 6 - 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 khi tính toán các thành viên có khóa chung là α r1*r2*…*rn b) 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 (1) 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 r n+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 - Các thành viên sẽ tính toán khóa dùng chung (2) 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ẽ 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 đó Mn sẽ chuyển tất cả các tính toán cho thành viên mới M n+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 c) 2.2.1.3. Quá trình rời nhóm và chía nhỏ nhóm trong Cliques-I (1) a. Quá trình rời nhóm 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. (2) b. Quá trình chia nhỏ nhóm 7 Khi có k phần tử rời khỏi một nhóm n phần tử thì quá trình này ta vẫn tính toán tương tự. “Người điều khiển” tạm thời 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ừ k thành viên mới rời 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. 10) 2.2.2. Giao thức Cliques-II a) 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: [+] Bước 1: - 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 * ) - Mỗi thành viên M i sẽ chuyển cho M i+1 kết quả tính toán α r1*r2*…*ri (với 0<i<n-1) [+] Bước 2: Thành viên M n-1 sau khi nhận được kết quả tính toán của M n-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ừ M n-1 sẽ tiến hành tính toán và gủi kết quả đến M n [+] Bước 4: M n 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 tính toán ra khóa dùng chung theo công thức b) 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-I Quá trình này tương tự như trong giao thức CLIQUES-I c) 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. 2.3. QUẢN LÝ KHÓA TRONG MẠNG AD HOC DỰA TRÊN CÂY KHÓA 11) 2.3.1. Giao thức STR 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 M i được gắn với một nút lá LN i . Mỗi nút nội bộ IN i lại được liên kết với hai con là : nút con trái IN i-1 và nút con phải LN i . Mỗi nút lá LN i chọn ngẫu nhiên một khóa r i bí mật, và tính br i = g ri mod p. Một nút nội bộ IN i có một khóa k i và một khóa công khai bk i = g ki mod p Dễ dàng chứng minh Kết quả k i chính là khóa chung của i phần tử sau khi các phần tủ trao đổi khóa DH 8 a) 2.3.1.1. Khởi tạo khóa ban đầu [+] Mỗi thành viên M i ban đầu chọn ngẫu nhiên một khóa r i bí mật ngẫu nhiên, và tính br i = g ri . Sau đó gửi broadcasts br i đế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à K n M1 gửi broadcasts các giá trị bk i với i = 2,…, n-1 [+] Các thành viên M i với i>1 sẽ tính toán k i = (bk i-1 ) ri và tính toán đệ quy tất cả giá trị k j với : Sau quá trình tính đệ quy trên M i sẽ tìm được khóa chung là K n b) 2.3.1.2. Quá trình gia nhập nhóm 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à M n +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ộ IN n+1 mới với hai con: con trái là nút nội bộ IN n và con phải là nút lá LN n+1 . Nút IN n+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 r n+1 và tính br n+1 gửi br n+1 đến cho toàn bộ các thành viên trong nhóm. Thành viên gốc cũ M n : Chọn lại cho mình một khóa r n và tính lại br n Tính lại k n và bk n Gửi broadcasts đến toàn mạng giá trị br n và bk n [+] Đối với mỗi thành viên M i tính toán lại khóa : Nếu i = 1,…,n-2 tính k n và k n+1 Nếu i = n (gốc cũ) tính k n+1 = (br n+1 ) kn Nếu i = n+1 (nút mới) tính ra khóa k n+1 = (bk n )^r n+1 Sau quá trình tính như trên ta được khóa chung cả nhóm là k n+1 c) 2.3.1.3. Quá trình rời nhóm Giả sử chúng ta có một nhóm n thành viên n và M j là thành viên rời khỏi nhóm, với 1 ≤ j ≤ n. Nút đóng vai trò nút “bảo đảm” M s sẽ cập nhật các khóa ngẫu nhiên. Nếu j > 1, nút M s là nút lá trực tiếp 9 dưới nút dời đi tức là M j-1 , nếu j=1 thì nút “bảo đảm” là M 2 . Sau đó cây sẽ được cập nhật và đánh số lại. Quá trình tính toán lại khóa sẽ theo thuật toán sau: [+] Tất cả các thành viên cập nhật lại số nút n = n – 1 Nút đóng vai trò nút cập nhật M s : Chọn lại cho mình một khóa r s và tính lại br s Tính lại k n và k i , bk i Gửi broadcasts đến toàn mạng giá trị br s và bk i với i = s…n-1 [+] Đối với mỗi thành viên M i tính toán lại khóa : Nếu i < s tính Nếu i > s thì Ta tính : Sau đó đệ quy tính các khóa Sau quá trình tính như trên ta được khóa chung cả nhóm là k n d) 2.3.1.4. Quá trình hợp nhất giữa các nhóm (1) a. Quá trình hợp nhất giữa hai nhóm Khi các nhóm nhỏ được sáp nhập vào một nhóm lớn hơn, tức là đặt một cây nhỏ trực tiếp lên trên một cây có lớn hơn. Nếu kích thước hai nhóm bằng nhau, chúng ta có thể đặt thứ tự trên dưới theo một số tiêu chí khác. Khi hợp nhất hai nhóm ta sẽ có một nút nội bộ IN mới với hai nút con được tạo ra. Nút nội bộ của cây lớn hơn sẽ trở thành con trái của IN mới , trong khi lá thấp nhất của cây nhỏ hơn sẽ trở thành con phải của IN mới . Nút gốc của cây nhỏ hơn 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: Giả sử chúng ta có hai cây, lớn hơn T1 với n1 thành viên, và T2 ít hơn với n2 thành viên. Hai nút “ bảo đảm” cả hai cây được biểu thị bởi M s1 và M s2 [+] Hai nút “bảo đảm” sẽ trao đổi tất cả các khóa br và bk của hai nhóm cho nhau. Sau khi hai cây hợp làm một thì nút “bảo đảm” là M s1 [+] Nút “bảo đảm” M s (s=s 1 ) Chọn lại khóa r s và tính br s Tính lại k i và bk i với i = n 1 -1,…,n 1 +n 2 -1 và tính k n1+n2 (khóa của nhóm) Gửi broadcasts đến toàn mạng giá trị br s và bk i với i = n 1 ,…, n 1 +n 2 -1 10 [+] Đối với mỗi thành viên M i với n=(n 1 +n 2 ) tính toán lại khóa : Nếu i < s tính : Nếu i > s thì Ta tính : Sau đó đệ quy tính các khóa (2) b. Quá trình hợp nhất giữa m nhóm Cũng tương tự như quá trình hợp nhất giữa hai nhóm, nhưng khác nhau ở bước thứ nhất khi các nút “bảo đảm” sẽ không lần lượt truyền unicast các br và bk cho nhau mà thay vào đó các nút “bảo đảm” sẽ truyền broadcasts các br và bk đến toàn mạng. Giả sử ta có m nhóm với m nút “bảo đảm” M si (1≤ i≤ m). [+] Các nút “bảo đảm” sẽ trao đổi broadcasts tất cả các khóa br và bk của nhóm mình cho toàn mạng. Sau khi các cây hợp làm một thì nút “bảo đảm” là M s1 [+] Tất cả các thành viên : Cập nhật lại cây Tính lại số nút Nút “bảo đảm” M s (s=s 1 ) Chọn lại khóa r s và tính br s Tính lại k i và bk i với i = s,…, n-1 và tính k n (khóa của nhóm) Gửi broadcasts đến toàn mạng giá trị br s và bk i với i = s,…, n-1 [+] Đối với mỗi thành viên M i với n=(n 1 +n 2 ) tính toán lại khóa : Nếu i < s tính : Nếu i > s thì Ta tính : Sau đó đệ quy tính các khóa [...]... một robot trong nhóm 6 robot vừa hình thành sẽ rời khỏi nhóm Time leave Key : [ 1025 ] milliseconds KẾT LUẬN Kết quả đạt được - Tìm hiểu mạng ad hoc và các vấn đề an ninh trong mạng ad hoc Các khái niệm và đặc điểm của mạng ad hoc Các thách thức và mục tiêu an toàn trong mạng ad hoc - Tìm hiểu các giao thức thỏa thuận khóa trong mạng ad hoc Tìm hiểu bộ giao thức Asokan-Ginzboorg cho mạng ad hoc... cho y tế… và hứa hẹn trong tương lai sẽ còn phát triển hơn nữa do đặc tính tiện dụng và bảo mật của nó Hướng phát triển Nghiên cứu khả năng kết hợp giữa các giao thức thỏa thuận khóa đồng thời tìm hiểu thêm về các giải pháp bảo đảm an ninh khác như bảo mật tầng liên kết, bảo mật routing trong mạng ad hoc để có thế xây dựng một giải pháp toàn diện đảm bảo an toàn truyền thông trong mạng ad hoc References... Universitat des Saarlandes, December 2001 [8] N Asokan and P Ginzboorg, ”Key Agreement in Ad-hoc Networks”, Communication Systems Labo-ratory, Nokia Research Center, February 2001 [9] W Diffie and M E Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, IT-22(6):644–654, November 1976 [10] Wang Wei, “Group key management: theory and key technologies”, XiDian University, PhD... Việ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 [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 [3] Klas Fokin, “Key management in Ad hoc networks”, Linköpings University,... được thay đổi và làm mới mỗi khi có sự thay đổi về thành viên 19 trong nhóm, đồng thời đảm bảo tính bí mật về khóa giữa các thành viên trong nhóm do khóa chính của nhóm đều được hình thành do sự đóng góp khóa của tất cả các thành viên Hiện nay giải pháp an ninh trong mạng ad hoc dựa trên giao thức thỏa thuận khóa đã đượ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... cho toàn mạng Các thành viên với v lẻ sẽ loại bỏ khỏi danh sách nút nội bộ gắn với nó (nút cha) [+] Trong bước tiếp theo mỗi thành viên trong mạng sau khi nhận được các khóa bkeys ở bước trên sẽ tự mình tính toán các khóa bkeys trên đường dẫn đến nút gốc (0,0) Nếu nút nào nằm trong danh sách của thành viên ở bước trên thì khi tính toán bkeys của nó, thành viên đó sẽ gửi broadcasts cho toàn mạng và loại... Quản lý khóa trong mạng ad hoc dựa trên cây khóa với hai giao thức STR và TGDH Mở rộng của giao thức Diffie-Hellman với giao thức Cliques-I và Cliques-II So sánh, đánh giá các giao thức trên phương diện chi phí truyền thông và chi phí tính toán - Mô phỏng được các giao thức thỏa thuận khóa trong mạng ad hoc Việc áp dụng các giao thức thỏa thuận khóa giúp cho khả năng bảo mật trong mạng ad-hoc được... toán Chƣơng 3 - XÂY DỰNG CHƢƠNG TRÌNH MÔ PHỎNG GIAO THỨC CLIQUES-I 3.1 PHÂN TÍCH THIẾT KẾ Chương trình mô phỏng dựa trên dự án Player (trước đây là dự án Player/Stage) là một dự án để tạo ra phần mềm miễn phí cho nghiên cứu robot và các hệ thống cảm biến Hình 3.1: Cấu trúc điều khiển server/client của player/stage Để xây dựng chương trình mô phỏng giao thức CLIQUES-I ta trước tiên xây dựng một môi trường... multicast hoặc broadcast Ta sẽ xây dựng các kịch bản để mô phỏng [+] Kịch bản 1: Mô phỏng quá trình khởi tạo nhóm với 5 nút [+] Kịch bản 2: Mô phỏng quá trình gia nhập nhóm, một robot sẽ gia nhập vào nhóm 5 robot ban đầu [+] Kịch bản 3: Mô phỏng quá trình rời nhóm 3.2 MỘT SỐ KẾT QUẢ MÔ PHỎNG [+] Kịch bản 1: Mô phỏng quá trình khởi tạo nhóm, ta mặc định 5 nút ban đầu trong căn phòng đã tạo thành một... theory and key technologies”, XiDian University, PhD Dissertation, 2008 20 [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 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