Hình 3 .7 Thủ tục chuyển giao trong FMIPv6
Hình 3.8 Kiến trúc mạng HMIPv6
Hình 3.8, MAP có thể trợ giúp việc di động “seamles” khi một MN dịch chuyển từ AR1 sang AR2.
Các vấn đề cơ bản của HMIPv6
Giao thức HMIPv6 là một mở rộng của MIPv6, trong đó: có thêm thành phần MAP và chỉ có hoạt động của MN đƣợc mở rộng, còn các thành phần khác CN và HA hoạt động vẫn không thay đổi.
Các thủ tục thực hiện bởi MN
Khi MN dịch chuyển đến một miền MAP mới, MN cần phải đƣợc thiết lập với hai CoA: RCoA trên subnet của MAP và LCoA. Sau khi thiết lập RCoA dựa trên tiền tố nhận đƣợc từ tuỳ chọn MAP, MN gửi một BU cục bộ đến MAP. BU cục bộ là BU trong đó trƣờng mở rộng Home Address chứa địa chỉ RCoA của MN. LCoA đợc sử dụng nhƣ là địa chỉ nguồn của BU. BU này sẽ liên kết địa chỉ RCoA (có vai trò tƣơng tự HAddr) của MN với LCoA. MAP (hoạt động tƣơng tự HA) sẽ gửi một báo nhận liên kết đến MN. Báo nhận này sẽ chỉ rõ liên kết thành công hay lỗi tƣơng tự với mã lỗi trả về.
Sau khi đăng ký MPA mới, MN sẽ đăng ký RCoA của nó với HA bằng cách gửi một BU chỉ ra sự liên kết (RCoA, HAddr) nhƣ trong MIPv6. Tuỳ chọn địa chỉ đƣợc thiết lập theo HAddr, RCoA có thể đƣợc tìm thấy trong trƣờng địa chỉ nguồn hoặc trong tuỳ chọn thay thế CoA. MN có thể gửi một BU tƣơng tự tới
các CN. Nếu cờ I đƣợc thiết lập, MN có thể sử dụng RCoA của nó nhƣ là địa chỉ nguồn của BU. Nếu cờ P đƣợc thiết lập, MN phải sử dụng RCoA nhƣ là địa chỉ nguồn.
Nếu MN sử dụng RCoA của nó nhƣ là địa chỉ nguồn, tuỳ chọn thay thế CoA là không cần thiết. Nếu cả cờ P và V đƣợc thiết lập, MN phải sử dụng RCoA nhƣ là địa chỉ nguồn và tạo đƣờng hầm gửi mọi gói tin đến MAP. Địa chỉ nguồn trong header ngoài là địa chỉ LCoA và địa chỉ đích là địa chỉ của MAP. Cơ chế này đƣợc áp dụng khi quản trị mạng muốn MN sử dụng RCoA nhƣ là địa chỉ nguồn trong khi vẫn giữ các cơ chế an ninh (ví dụ: firewall)
MN đợi báo nhận liên kết từ MAP trƣớc khi đăng ký với HA. Chú ý rằng khi liên kết RCoA với HA và CN, lifetime của liên kết này không đƣợc lớn hơn lifetime liên kết của MN với MAP, nhận đƣợc thông báo nhận liên kết.
Để tăng tốc độ chuyển giao giữa các MAP, MN có thể gửi một BU địa phƣơn đến MAP trƣớc của nó trong đó chỉ ra LCoA của MN. MN sẽ tháo bao gói của các gói tin và xử lý chúng theo cách thông thƣờng.
Khi MN di chuyển cục bộ (không thay đổi MAP), MN chỉ nên thay đăng ký địa chỉ LCoA mới với MAP của nó mà thôi. Trong trƣờng hơpk này, RCoA không thay đổi.
Chú ý rằng: MN có thể gửi BU chứa LCoA của nó (thay vì RCoA) đến CN kết nối trên cùng một liên kết. Các gói tin sẽ đƣợc chuyển tiếp thay vì qua MAP.
Nhà quản trị mạng muốn ẩn địa chỉ LCoA của MN đối với các node ngoài miền của MAP. Để thực hiện điều này, tuỳ chọn MAP có thể đƣợc gửi với cờ P đƣợc thiết lập. Trong trƣờng hợp này, MN phải sử dụng RCoA nhƣ là địa chỉ nguồn của BU khi gửi tới CN và HA. Hơn nữa, MN phải sử dụng RCoA nhƣ là địa chỉ nguồn của mọi gói tin gửi đi.
Mặt khác, MN muốn ẩn đi vị trí của nó với các CN và HA liên kết với nó. Để thực hiện điều này, MN bảo đảm nó không cung cấp cả định danh và vị trí của nó cho bất kỳ CN nào. Vì định danh của MN đƣợc chứa trong mọi gói tối ƣu đờng đi (địa chỉ Haddr), MN đảm bảo rằng nó không cung cấp vị trí chính xác cho CN và HA. Vì thế, MN sử dụng RCoA nhƣ là địa chỉ nguồn của tất cả các gói tin gửi đi. Điều này đƣợc thực hiện nếu cờ I hoặc P đƣợc thiết lập trong tuỳ chọn MAP. Ngƣợc lại sự riêng tƣ về vị trí không thể đƣợc cung cấp.
Nếu cờ V đƣợc thiết lập (cùng với cờ P hoặc cờ I), MN phải tạo đƣờng hầm gửi mọi gói tin đến MAP. Điều này là cần thiết để cho phép sự bí mật vị trí trong khi vẫn giữ đƣợc các cơ chế lọc phục vụ cho an ninh.
MN có thể truyền thông với CN thông qua HA, hoặc trực tiếp. Nếu MN truyền thông trực tiếp với CN, MN phải sử dụng cùng địa chỉ CoA đƣợc sử dụng để thiết lập một bản ghi liên kết trong CN (RCoA) nhƣ là địa chỉ nguồn. MN cũng phải đƣa lựa chọn Home Address trong các gói tin gửi đi. Lựa chọn này chứa địa chỉ HAddr của MN.
Vì RCoA đƣợc sử dụng nhƣ là địa chỉ nguồn của mọi gói tin gửi đi, MN phải xét các cờ P, I, V để quyết định các gói tin nên đƣợc gửi trực tiếp với RCoA là địa chỉ nguồn, hay tạo đƣờng hầm gửi đến MAP. Khi tạo đƣờng hầm cho các gói tin gửi đi đến MAP, địa chỉ nguồn trong header ngoài là LCoA của MN và địa chỉ đích là địa chỉ của MAP.
Các thủ tục thực hiện bởi MAP
MAP hoạt động nhƣ một HA, MAP tiếp nhận mọi gói tin gửi đến MN và thiết lập đƣờng hầm gửi đến địa chỉ LCoA.
MAP không biết đến địa chỉ HAddr của MN. MN sẽ gửi một BU địa phƣơng đến MAP với các cờ M, A, D đƣợc thiết lập. Mục đích của việc thiết lập này thông báo cho MAP, Mn đã thiết lập đƣợc địa chỉ RCoA (chứa trong BU nhƣ là HAddr). Nếu thành công, MAP phải gửi lại một báo nhận liên kết tới MN. Ngƣợc lại, MN sẽ gửi một báo nhận với trƣờng mã sai tƣơng ứng.
MAP phải có khả năng tiếp nhận các gói tin đƣợc gửi thông qua đƣờng hầm từ MN, với MN nhƣ là đầu vào của đƣờng hầm và MAP là đầu ra của đƣờng hầm. MAP sau đó hoạt động nhƣ là một HA đối với địa chỉ RCoA. Các gói tin gửi đến RCoA sẽ đƣợc tiếp nhận bởi MAP, sau đó đƣợc đóng gói rồi chuyển đến LCoA của MN.
Các vấn đề an ninh
Trong giao thức HMIPv6, MAP hoạt động tƣơng tự nhƣ một HA, vì vậy, mối liên quan an ninh giữa MN và MAP (bao gồm: sự xác thực lẫn nhau, bảo vệ toàn vẹn và bảo vệ chống lại tấn công sử dụng lại) cần đƣợc hết sức coi trọng. Việc thiếu vắng bất kỳ một cơ chế bảo vệ nào có thể sẽ dẫn tới các MN gỉa mạo có thể “đóng giả” các MN hợp pháp và “đóng giả” MAP. Bất kỳ các cuộc tấn công nào sẽ gây ra các ảnh hƣởng không mong muốn đến việc truyền thông giữa MN và các CN biết địa chỉ RCoA của MN. Có ba mối quan hệ an ninh khác nhau cần phải đƣợc xem xét, bao gồm: MN và MAP; MN và HA; MN và CN. 3.2.2.4 Giải pháp kết hợp Mobile Ipv6 phân cấp và Mobile IP chuyển giao nhanh.
Giải pháp kết hợp giữa phân cấp và chuyển giao nhanh (H+FMIPv6) dựa trên các đánh giá sau:
- Xét MAP đƣợc đặt trên một router kết hợp phía trên các AR bị ảnh hƣởng trong quá trìnhcg. Tiến trình chuyển giao nhanh bình thƣờng chuyển tiếp các gói tin từ AR cũ sang AR mới sẽ gây ra sự không hiệu quả vì gia tăng trễ chuyển giao do các gói tin phải dịch chuyển theo liên kết MAP-AR cũ hai lần và có thể đến AR mới theo thứ tự không đúng. Nếu thành phần chịu trách nhiệm cho việc thiết lập chuyển hƣớng trƣớc chuyển giao là MAP, thì sự không hiệu quả trên sẽ bị loại bỏ. Vì vậy, trong mô hình này thành phần thực hiện chức năng của tiến trình chuyển giao là MAP thay vì một tác tử di động trong AR cũ.
- Chú ý rằng với FMIPv6 luồng dữ liệu sẽ đƣợc chuyển hƣớng khi AR cũ nhận đƣợc F-BU nhƣng trong trƣờng hợp này nếu MN thực hiện chuyển giao ngay sau khi gửi F-BU đến MAP, sẽ bị mất. Thêm vào đó, nếu MH thực hiện chuyển giao ngay sau khi gửi F-BU, MN sẽ không thể ngay lập tức nhận bất kỳ một gói tin đƣợc chuyển hƣớng nào bởi cùng một lý do, điều này làm tăng trễ chuyển giao và độ mất gói. Để giải quyết vấn đề này, giải pháp đề suất phải thiết lập một khoảng thời gian đợi FBACK đến liên kết cũ trƣớc khi khởi tạo chuyển giao. Trong trƣờng hợp này, chắc chắn khi nhận đƣợc FBACK sẽ không có gói tin bị mất gởi đến địa chỉ CoA cũ và các gói tin đƣợc chuyển hƣớng đến CoA mới sẽ đƣợc lƣu đệm. Thêm vào đó, giả sử rằng các gói tin trải qua một khoảng thời gian trễ giống nhau trên đƣờng liên kết giữa MAP và AR (các AR bị ảnh hƣởng trong chuyển giao), sự tiếp nhận gói tin FBACK tƣơng tự nhƣ nhận gói tin đồng bộ hoá, thông báo các gói tin mới đã sẵn sằng đợi hoặc đã đến AR mới và vì thế, trễ chuyển giao liên kết liên quan đến các liên kết có dây đƣợc hầu nhƣ loại bỏ.
3.3 An toàn và bảo mật trong Mobile IP
Liên kết không dây là liên kết đặc biệt rất dễ bị nghe trộm và bị tấn công từ bên ngoài và các kiểu truy nhập khác.
Phần dữ liệu của Mobile Node khi truyền đƣờng hầm (tunnel) tới địa chỉ COA (Care-of-address) cũng dễ bị tấn công. Mobile IP cũng sử dụng APR, đây là kẽ hở mà những kẻ tấn công có thể xâm nhập trái phép vào quá trình trao đổi giữa các Node, cũng chính là vấn đề bảo mật đƣợc đặt ra trong Internet hiện nay. Giao thức Mobile IP đƣợc xây dựng trên nền là giao thức TCP/IP do vậy nó cũng sử dụng tất cả các biện pháp bảo mật dữ liệu nhƣ giao thức TCP/IP và ngoài ra còn sử dụng thêm một số phƣơng pháp trong đó xem xét phƣơng pháp xác thực trong quá trình đăng ký
An toàn và bảo mật là những yêu cầu tối quan trọng trong quá trình đăng ký trong Mobile IP. Vì trong quá trình này có thể có dạng tấn công sau:
- Giả mạo MN: Một trạm giả mạo sẽ phát ra bản tin, yêu cầu đăng ký với địa chỉ HAddr của một MN hợp lệ, điều này sẽ làm cho mọi bản tin thay vì đến MN hợp lệ sẽ đến trạm giả mạo.
- Giả mạo FA: một trạm giả moạ FA sẽ gửi các quảng cáo đến các trạm trong mạng để thu hút luồng dữ liệu đến MN, hơn nữa, FA giả mạo có thể tự động gửi các bản đăng ký hoặc trả lời đến MN hoặc FA để qua đó nhận trái phép dữ liệu.
Để giải quyết vấn đề chống giả mạo trong Mobile IP đặt các cơ chế xác thực, bao gồm:
- Sử dụng các mở rộng xác thực. - Sử dụng trƣờng Identification.
3.3.1 Sử dụng các mở rộng xác thực (authentication extensions)
Mở rộng xác thực đƣợc thực hiện giữa hai bên truyền thông (MN-FA, FA- HA, HA-MN). Các mở rộng xác thực đƣợc chèn vào trong thông điệp đăng ký giúp cho hai bên kiểm tra tính xác thực.
Có tất cả ba mở rộng xác thực đƣợc định nghĩa cho Mobile IP cơ bản, tất cả đều cho phép đƣa thêm vào cơ chế xác thực khác trong quá trình đăng ký:
- Mở rộng xác thực MN-HA. - Mở rộng xác thực MN-FA. - Mở rộng xác thực FA-HA.
Mỗi mở rộng bao gồm một SPI chỉ ra liên kết an ninh di động, liên kết an ninh này chứa các thông tin bí mật cần thiết để tính xác thực có trong mở rộng. Ngoài ra cần lƣu ý rằng chỉ có duy nhất một trƣờng mở rộng cho hai thực thể bất kỳ trong số MN, HA, FA.
Để xây dựng đƣợc các mở rộng xác thực này mỗi đối tƣợng: MN, FA, HA đƣợc yêu cầu có khả năng hỗ trợ một liên kết an ninh di động (mobility security association) đối với các thực thể di động, liên kết này đƣợc đánh chỉ số bởi Chỉ số tham số an ninh (security parameters index - viết tắt là SPI) và địa chỉ IP.
Tính toán các giá trị mở rộng xác thực:
Việc tính toán dựa trên SPI thoả thuận giứa hai đối tác cần xác thực. SIP trong bất kỳ các mở rộng xác thực nào cũng định nghĩa cơ chế an ninh đƣợc sử dụng để tính toán giá trị xác thực và đƣợc sử dụng bởi bên nhận để kiểm tra giá trị này. Cụ thể, SIP sẽ lựa chọn giải thuật, chế độ và khoá xác thực đƣợc sử dụng để tính giá trị xác thực. Để đảm bảo sự phối hợp giữa các thể hiện khác nhau của giao thức Mobile IP, mỗi thể hiện đƣợc yêu cầu liên kết bất kỳ giá trị SPI nào lớn hơn 255 với các thuật toán và chế độ xác thực sẽ thực hiện.
Thuật toán xác thực mặc định đƣợc sử dụng trong Mobile IP là MD5 (Message Digest 5) với chế độ prefix+suffix, nghĩa là “bí mật”đƣợc chèn vào trƣớc và sau dữ liệu mà nó xác thực. Kết quả của tính toán mặc định là 128bit MD của thông điệp đăng ký, và kết quả này là việc tính toán dựa theo giải thuật MD5 với đầu vào là các dữ liệu sau:
(1) Thông tin mật đƣợc định nghĩa bởi liên kết an ninh di động giữa các node và bởi giá trị SPI đƣợc chỉ ra trong mở rộng xác thực.
(2) Các trƣờng header của thông điệp yêu cầu đăng ký và trả lời đăng ký. (3) Các mở rộng đứng trƣớc đó.
(4) Kiểu, độ dài và SPI có trong bản thân các mở rộng. (5) Thông tin bí mật
Chú ý rằng bản thân trƣờng xác thực, UDP header, IP header không đƣợc đƣa vào tính toán giá trị xác thực. Giá trị xác thực này sẽ đƣợc chèn vào mở rộng xác thực, khi nhận đƣợc thông điệp, phía nhận sẽ căn cứ vào SPI, tính toán lại giá trị này và so sánh: nếu nhận, ngƣợc lại sẽ loại bỏ.
Khuôn dạng của một trƣờng mở rộng nhƣ sau:
Type: 32 Mở rộng xác thực MN-HA 33 Mở rộng xác thực MN-FA 34 Mở rộng xác thực FA-HA
Length: 4 cộng với độ dài của giá trị xác thực (authenticator) SPI: 4 byte.
Authenticator: Độ dài biến đổi phụ thuộc vào thuật toán SPI quy định. 3.3.2 Xác thực thông qua trƣờng Identification
Nếu trên mạng có một tác tử giả mạo trong suốt quá trình đăng ký, tác tử đó có thể thu thập mọi thông tin cần thiết cho đăng ký đó, bao gồm cả dữ liệu xác thực. dữ liệu xác thực này có thể đƣợc sử dụng lại trong một lần nào đó, vì vậy cần có một trƣờng dữ liệu mà giá trị thay đổi ngẫu nhiên giứa các lần nào đó, vì vậy cần có một trƣờng dữ liệu mà giá trị thay đổi ngẫu nhiên giữa các lần gửi thông điệp, đó chính là trƣờng Identification. Sử dụng trƣờng Identification HA sẽ biết đƣợc chắc chắn rằng yêu cầu mà nó nhận đƣợc là một yêu cầu mới, không phải là yêu cầu đƣợc kẻ tấn công sử dụng lại. Việc xác định Identification phụ thuộc vào việc lựa chọn chiến lƣợc Bảo vệ chống sử dụng lại (replay protection), có hai chiến lƣợc:
- Chiến lƣợc sử dụng Time stamps:
Nền tảng của chiến lƣợc này là việc, các node sẽ chèn dữ liệu về thời gian hiện tại vào trong thông điệp, và khi bên nhận đƣợc thông điệp sẽ kiểm tra xem thời gian có trong thông điệp có gần với thời gian hiện tại ở bên nhận hay
không. Vì vậy, hai bên cần phải đồng bộ đồng hồ, việc này đƣợc thực hiện theo một cơ chế có xác thực đƣợc định nghĩa bởi cơ chế an ninh giữa hai bên.
Nếu timestamp đƣợc sử dụng, trƣờng identification sẽ có kích thƣớc 64bit có khuôn dạng đƣợc quy định theo giao thức NTP (Network Time Protocol)32bit thấp là thời gian thời gian chèn vào, 32 bit còn lại đƣợc sinh ngẫu nhiên.Tuy nhiên, 64 bit này phải có giá trị lớn phù hợpn thì sẽ gây khó khăn trong việc cập nhật thông tin di động.
Identification đƣợc cho là hợp lệ: nếu thời gian trong 32 bit thấp gần với đồng hồ của HA và lớn hơn tất cả timestamp đã đƣợc gửi trƣớc đó. Sau đó, khi trả lời, HA sẽ sao trƣờng identification này vào thông điệp trả lời. Tuy nhiên, nếu sai: chỉ có 32 bit thấp đƣợc sao, còn 32 bit cao là thời gian theo đồng hồ cảu