Bảo mật Ipv6thông điệp sử dụng trong các quá trình này là thông điệp ICMPV6. Nếu nodeipv6 tham gia vào quá trình định tuyến multicast. thì việc quản lý quan hệthành viên nhóm multicast được đảm nhiệm bằng thủ tục MLD (MulticastListener Discovery). Thủ tục này cũng sử dụng các thông điệp ICMPV6.Do vậy. thủ tục ICMPV6 và những thông điệp ICMPV6 đóng vai trò vôcùng quan trọng trong hoạt động của thề hệ địa chỉ ipv6. Các quy trình giaotiếp cốt yếu giữa host với host. giữa host với router ipv6 trên một đường kếtnối, vốn là nền tảng cho hoạt động của node ipv6. đều dựa trên việc trao đổicác thông điệp ICMPV6.2.4.1. Tổng quan ICMPv6Gói tin ICMPv6 bắt đầu sau mào đầu cơ bản hoặc một mào đầu mở rộngcủa ipv6 và được xác định bởi giá trị 58 cua trường Mào đầu tiếp theo (Nextheader) trong mào đầu cơ bản hoặc mào đầu mở rộng phía trước. Gói tinICMPV6 bao gồm phần mào đầu của ICMPV6 (ICMPV header) và phầnthông điệp (ICMPV6 message).ICMPV6 header bao gồm ba trường: Dạng (Type) 8 bit, Mã (Co de) 8 vàKiểm tra (Checksum) 16 bit. Hai trường Dạng và Mã trong mào đầu ICMPV6được sử dụng để phân loại thông điệp ICMPV6. Dạng (Type): Giá trị bộ đầu tiên của trường Dạng sẽ xác định đây làthông điệp lỗi, hay thông điệp thông tin . Mã (co de): 8 bit trường Mã sẽ phân dạng sâu hơn gói tin ICMPV6định rõ đây là gói tin gì trong từng loại thông điệp ICMPV6 Kiềm tra (Checksum): cung cấp giá trị sử dụng để kiểm tra lỗi cho toànbộ gói tin ICMPV6.Page 28 Bảo mật Ipv6Hình 14: Cấu trúc gói tin ICMPV6Cũng như ICMPV4, ICMPV6 được sử dụng để trao đổi các thông điệpđiều khiển, bao gồm những thông điệp đảm nhiệm báo cáo tình trạng hoạtđộng của mạng. báo cáo lỗi, hỗ trợ chẩn đoán mạng. Tuy nhiên, nhằm phụcvụ thực hiện những quy trình hoạt động cơ bản của' địa chỉ ipv6, ICMPV6còn bao gồm những dạng thông điệp mới. phục vụ cho các thủ tục và nhữngquy trình giao tiếp của các node ipv6. Các thông điệp ICMP được phân làmhai loại: Thông điệp lỗi và Thông điệp thông tin.2.4.2. Sự khác biệt giữa ICMP IPv6 và IPv4Nhiều sự khác biệt tồn tại giữa các chi tiết kỹ thuật ICMP cho IPv4 vàIPv6. Chúng bao gồm sử dụng ND để thay thế ARP, phát hiện PMTU động,và một số chức năng tự động quản lý duy nhất với IPv6. Đặc biệt, một sốnhững khác biệt này là: Giá trị Next Header. IPv6 xác định tin nhắn ICMPv6 với giá trị NH là58. Trong IPv4, giá trị tương ứng giao thức kế tiếp là 1. Neighbor Discovery (ND) thay thế ARP. ND ICMPv6 phục vụ chứcnăng để xác định vị trí các vị trí bên cạnh liên kết địa phương và chứcnăng tương tự của ARP với IPv4. Tuy nhiên, IPv4 không có cách nàođể phát hiện xem máy bên cạnh có thể truy cập. Với IPv6, ND địnhtuyến vị trí link-local, xác định địa chỉ trùng lặp IPv6, và loại bỏ lưulượng phát sóng link-local được tạo ra bởi ARP. Điều này cải thiệnđáng kể việc cung cấp gói dữ liệu trong trường hợp các thiết bị địnhtuyến không thành công hoặc giao diện liên kết thay đổi địa chỉ linklayer của họ, và giải quyết vấn đề lỗi thời của cache ARP. Tăng PMTU. MTU yêu cầu các nút tối thiểu để xử lý theo IPv4 là 576Page 29 Bảo mật Ipv6byte. Trong IPv6, tất cả các liên kết phải xử lý một kích thước gói tin ítnhất là 1280 byte, và đề nghị tối thiểu MTU là 1500 byte. Đây là mộtgia tăng đáng kể tải trọng tối thiểu mỗi gói tin phải có khả năng để thựchiện, và nó kết quả trong hiệu quả cao hơn do đầu ít hơn có thể cầnphải được xử lý cho một số tiền nhất định của dữ liệu. Xóa bỏ phân mảnh gói tin trong đi vào thông qua việc sử dụng cácphát hiện PMTU. Trong IPv4, các gói tin có thể được phân mảnh tạibất kỳ điểm nào: tại nguồn, quá cảnh bởi các router chuyển tiếp các góitin. Trong IPv6, chỉ có nguồn có thể gói mảnh. Kết quả của yêu cầu nàylà các gói tin phải sử dụng ICMPv6 để xác định PMTU trước khi gửilưu lượng và thực hiện phân mảnh ở những nơi cần thiết. Node đíchthực hiện tái gộp các gói dữ liệu bị phân mảnh theo cả IPv4 và IPv6. Multicast Listener Discovery (MLD). Đây là bộ ba tin nhắn ICMPv6tương đương với phiên bản 2 của Internet Group Management Protocol(IGMP) cho IPv4 được sử dụng để quản lý thành viên subnet multicast.Thay vì sử dụng IGMP, IPv6 sử dụng tin nhắn ICMPv6 cho các chứcnăng tương tự gọi là MLD. MLD là giao thức cho phép nghe multicastđể đăng ký cho các địa chỉ multicast họ muốn nhận được. Không giốngnhư IPv4, IPv6 không có địa chỉ phát sóng. Trong IPv6, multicast đượcsử dụng với ICMPv6 cho các ứng dụng cơ sở hạ tầng như người hàngxóm phát hiện và tự động cấu hình trên các liên kết địa phương. IPv6địa chỉ multicast có khả năng mới như phạm vi, giới hạn lĩnh vựcmạng, trong đó một địa chỉ multicast được áp dụng, và nhúng vào tiềntố unicast, giới hạn phạm vi của địa chỉ phần của mạng được giải quyếtbằng tiền tố đó.ICMPv6 xác định một khuôn khổ cho các thông điệp điều khiển để cungcấp IPv6 chức năng xử lý lỗi và thành lập tham số. Một số chức năngICMPv6 mới hoặc khác nhau từ ICMP dưới IPv4. Hơn nữa, ICMPv6 là mộtthành phần cơ bản và cần thiết của bất kỳ thực hiện IPv6. Ví dụ, không ngănxếp IPv6 hoặc kép IPv4/IPv6 mạng có thể hoạt động mà không cần ICMPv6.Các phần tiếp theo có chứa chi tiết thêm về ND, tự động, và hậu quả an ninhcủa ICMPv6.Page 30 Bảo mật Ipv62.4.3. Chức năng Neighbor DiscoveryNeighbor Discovery - ND là một thủ tục được phát triển mới: trong phiênbản ipv6. ND hoạt động trên nền những thông điệp ICMPV6 và phụ trách cácquy trình giao tiếp giữa các node ipv6 trên cùng một đường kết nối. Nhữngquy trình hoạt động giao tiếp này (giữa máy tính với máy tính, giữa máy tínhvới router) là thiết yếu đối với hoạt động của thế hệ địa chỉ ipv6. ND sử dụngthông điệp ICMPV6 để đảm nhiệm những chức năng phân giải địa chỉ, tìmkiếm bộ định tuyến (router), lái (redirect), đồng thời cũng cung cấp nhiềuchức năng khác nữa.Khi một node ipv6 khởi tạo, để có thế tiền hành giao tiếp, node cần biếtmột số điểm: Địa chỉ của node. Thông tin về tiến tố mạng (prefix của chính nó để node biết được cáchthức gửi gói tin tới những node khác thuộc những prefix khác. Biết được bộ định tuyến trên đường kết nối. Quyết định được đích tiếp theo (next hope) trong đường dẫn tới mộtđích. Cần phân giải để nhận được địa chỉ lớp 2 (link-layer) từ một địa chỉ lớp3 (network-layer) đã biết. 0 Cần biết nó có thể gửi gói tin có độ lớn bao nhiêu. Biết được về những node lân cận trên cùng đường kết nối: Có khả năng dò kiểm tra được tình trạng node lân cận không còn kếtnối tới được để nó không gửi gói tin tới node đó nữa. Biết được địa chi nó đang định dùng liệu có bị một node khác sử dụngrồi hay không. Có khả năng lái (redirect) gói tin tới một node chuyển tiếp khác tốt hơn(nếu có).Tất cả những điều trên sẽ thực hiện được bằng những quy trình hoạt động màthủ tục Neighbor Discovery phụ trách. Nhờ những quy trình giao tiếp giữaPage 31 Bảo mật Ipv6máy tính với máy tính, máy tính với bộ định tuyến trên cùng đường kết nối,node ipv6 có khả năng tự động cấu hình địa chỉ và những tham số hoạt độngkhác mà không cần có mặt của máy chủ DHCP.2.4.4. Cấu hình địa chỉ IPv6 tự độngThiết bị ipv4 khi kết nối vào mạng phải được cấu hình bằng tay các thôngsố địa chỉ, mặt nạ mạng, bộ định tuyến mặc định, máy chủ tên miền. Để giảmcấu hình thủ công, máy chủ DHCP được sử dụng để có thể cấp phát địa chỉ ipvà thông số cho thiết bị ipv4 khi nó kết nối vào mạng. Địa chỉ ipv6 tiến thêmmột bước xa hơn khi cho phép một node ipv6 có thể tự động cấu hình địa chỉvà các tham số hoạt động mà không cần sự hỗ trợ của máy chủ DHCPV6. Dovậy, địa chỉ ipv6 có hai phương thức tự động cấu hình địa chỉ:Sử dụng máy chủ DHCPV6 để cung cấp địa chỉ và thông số cho các thiếtbị ipv6. Cách thức này tương tự như việc sử dụng DHCP của địa chỉ ipv4.Tuy nhiên, việc hướng dẫn thiết bị ipv6 nhận địa chỉ và thông số từ máy chủDHCPV6 do router trên đường kết nối quảng bá thông tin. không phải thựchiện cấu hình xác định bằng tay như ipv4. Phương thức tự động cấu hình nàyđược gọi là "tự động cấu hình có trạng thái - stateful autoconfiguration".Thiết bị ipv6 tự động cấu hình địa chỉ cho mình mà không cần sự hỗ trợcủa máy chủ DHCPV6. Thiết bị thực hiện cấu hình ip bắt đầu từ trạng tháichưa có thông tin hỗ trợ cấu hình, do vậy phương thức cấu hình này được gọilà "tư động cấu hình không trạng thái stateless autoconrguration"Giảm tối thiểu cấu hình thủ công là một trong những đặc điểm hoàn toànmới và là một ưu điểm nổi bật của địa chỉ ipv6. Khả năng tự động cấu hìnhkhông trạng thái của thiết bị ipv6 dựa trên một số đặc tính mời của địa chỉipv6, bao gồm: khả năng tự tạo 64 bit định danh giao diện từ địa chỉ lớp 2. từđó tự động tạo địa chỉ Link-local, khả năng trao đổi của thiết bị với bộ địnhtuyến trên một đường kết nối nhờ thủ tục ND (Neighbor Discovery) để nhậncác thông tin về tiền tố địa chỉ mạng của đường kết nối và các tham số hoạtđộng khác.Page 32 Bảo mật Ipv6Hình 17: Tự động cấu hình địa chi của thiết bị ipv62.4.5 Khám phá MTU lớn nhấtMạng quy mô lớn hay nhỏ, bao gồm các đường kết nối vật lý khác nhau.Mỗi đường kết nối có một giá trị giới hạn về kích thước cực đại của gói tinmà máy tính có thể gửi trên đường kết nối, được gọi là MTU (MaximumTransmition Unit). Trong hoạt động của thế hệ địa chi ipv4. trong quá trìnhchuyển tiếp gói tin, nếu router ipv4 nhận được gói tin lớn hơn giá trị MTUcủa đường kết nối, router sẽ thực hiện phân mảnh gói tin (fragment) thànhnhững gói tin nhỏ hơn. Sau quá trình truyền tải gói tin được xây dựng lại nhờnhững thông tin trong mào đầu.Địa chỉ ipv6 áp dụng một mô hình khác để phân mảnh gói tin. Mọi bộ địnhtuyến lFv6 (router ipv6) không tiến hành phân mảnh gói tin, nhờ đó tăng hiệuquả, giảm thời gian xừ lý gói tin. Việc phân mảnh gói tin được thực hiện tạimáy tính nguồn, nơi gửi gói tin. Do vậy, trong mào đầu cơ bản ipv6, cáctrường hỗ trợ cho việc phân mảnh vả kết cấu lại gói tin (tương ứng mào đầuipv4) đã được bỏ đi. Những thông tin trợ giúp cho việc phân mảnh và tái tạogói tin ipv6 được để trong một mào đầu mở rộng của gói tin ipv6 gọi là Màođầu Phân mảnh (Fragment Header).Giá trị MTU tối thiểu mặc định trên đường kết nối ipv6 là 1280 byte. Tuynhiên, để đến được đích, gói tin sẽ đi qua nhiều đường kết nối có giá trị MTUkhác nhau việc phân mảnh gói tin được thực hiện tại máy tính nguồn, khôngthực hiện bởi các router trên đường truyền tài. Do vậy, máy tính nguồn cầnPage 33 Bảo mật Ipv6biết được giá trị MTU nhỏ nhất trên toàn bộ đường truyền từ nguồn tới đíchđể điều chỉnh kích thước gói tin phù hợp.Có hai khái niệm về giá trị MTU trong ipv6, đó là: LinkMTU: Là giá trị MTU trên đường kết nối trực tiếp của máy tính PathMTU: Là giá trị MTU nhỏ nhất trên toàn bộ một đường truyền từnguồn tới đích.Máy tính nguồn sẽ sử dụng quy trình có tên gọi tìm kiếm PathMTU để tìmra giá trị MTU nhỏ nhất trên đường dẫn từ nguồn đến đích. Khi tìm được nósẽ lưu giữ giá trị này để sử dụng trong giao tiếp.Quy trình tìm kiếm PathMTU được thực hiện nhờ thông điệp Gói tin quálớn (Packet Tạo Bia) phản hồi từ router.Để tìm PathMTU, máy tính nguồn gửi gói tin sử dụng giá trị MTU mặcđịnh trên đường kết nối trực tiếp của minh. Nếu trên đường truyền, kích thướcgói tin vượt quá giá trị MTU của một đường kết nối nào đó, router của đườngkết nối phải hủy bỏ gói tin và gửi thông điệp gói tin quá lớn thông báo tronggói tin có chừa giá trị MTU của đường kết nối mà router phụ trách. Khi nhậnđược thông tin này, máy tính sẽ sử dụng giá trị MTU này để gửi lại gói tin.Cứ như vậy cho đến khi gói tin tới được đích vả máy tính sẽ lưu giữ lại thôngtin về giá trị MTU nhỏ nhất đã dùng (PathMTU) để thực hiện gửi lần sau.Page 34 Bảo mật Ipv6Hình 18: Quy trình thực hiện tìm kiếm PathMTU2.5. Định tuyến trên địa chỉ IPv6Một trong những nguyên lý thiết kế của IPv6 là các trạm phải hoạt độngchính xác ngay cả khi nó biết rất ít thông tin về mạng. Trên thực tế các trạmkhông giống router, không lưu trữ bảng định tuyến và thường không có cấuhình cố định. Điều đó có nghĩa là khi khởi động, Máy trạm phải tự cấu hình,biết được thông tin về các đích mà nó trao đổi các gói tin. Các thông tin nàyđược lưu trữ trong bộ nhớ bằng cache. Thông tin trên cache có khoảng thờigian tồn tại giới hạn và các thông tin hết thời gian tồn tại sẽ được loại bỏ địnhkỳ để giới hạn kích thước của cache.2.5.1. Tổng quan đặc điểm kỹ thuậtĐể quyết định sẽ sử dụng entry nào trong bảng định tuyến để truyền gói tinthì IPv6 sử dụng các quá trình sau: Với mỗi entry trong một bảng định tuyến, Router sẽ so sánh các bittrong tiền tố mạng của gói tin đích với danh sách các tiền tố trong bảngPage 35 Bảo mật Ipv6định tuyến theo thứ tự entry từ trên xuống dưới. Nó sẽ chọn ra cáctuyến đường nào có tiền tố mạng phù hợp(match) để xử lý tiếp. Danh sách các tuyến đường được match sẽ được xử lý lại. Tuyến cóchiều dài tiền tố lớn nhất sẽ được chọn (theo quy tắc longest prefixmatch). Longest match route sẽ là tuyến đường tốt nhất cho đích. Nếunhiều entry cùng thoả mãn (tiền tố) thì Router sẽ chọn tuyến nào cómetric nhỏ nhất (theo quy tắc lowest metric). Nếu cả hai thông số trênđều trùng thì Router sẽ chọn 1 để sử dụng. Nếu không tìm thấy tuyến nào match với địa chỉ đích nó sẽ gửi gói tinđến route mặc định nếu trong bảng định tuyến có default Rroute, nếukhông có router sẽ hủy gói tin đó đi và gửi một thông báo lỗi ICMPDestination Unreachable-No Route to Destination về nguồn gửi.Với một đích bất kỳ cho trước, thì quá trình trên là kết quả của việc tìmđường theo thứ tự sau: Một host route match toàn bộ địa chỉ đích. Một network route với prefix lớn nhất match địa chỉ đích. Default RouteKết quả của công việc này là một tuyến đường sẽ được chọn ra từ bảngđịnh tuyến. Tuyến đường này sẽ có interface và địa chỉ của Next Hop.Interface của Next-Hop sẽ được chỉ ra trong route mà router đã chọn. Đối vớicác router ở xa thì địa chỉ Next-Hop được lưu trong trường Next-HopAddress. Còn với trường hợp đích là router nối trực tiếp với nó thì địa chỉNext-Hop là địa chỉ của router đích này và địa chỉ này không được lưu trongtrường Destination Address của packet.3.5.2. Bảo mật cho các giao thức định tuyếnGiao thức định tuyến có thể là mối đe dọa như cập nhật trái phép cho mộttrong hai tuyến đường IPv4 hoặc IPv6. Khả năng bảo mật đã được thiết kếcho các giao thức định tuyến để giảm thiểu các mối đe dọa cập nhật trái phép.Một số giao thức định tuyến IPv6 dựa trên cơ chế tương tự với những ngườitrong IPv4 để bảo vệ, trong khi những người khác đã kết hợp IPsec để bảo vệ.Các cơ chế bảo mật này không cung cấp bảo mật end-to-end để giao thức địnhPage 36 Bảo mật Ipv6tuyến qua các bước nhảy nhiều, bởi vì trong khi họ cung cấp đảm bảo tínhtoàn vẹn cho thông điệp giao thức định tuyến giữa các nút, không xác minhtính toàn vẹn của tin nhắn nhận được từ các nút khác mà không phải là mộtphần của một an ninh hiệp hội. Đây là mối quan tâm an ninh lớn đối vớiEGPs và ít hơn cho IGPs.RIPngRIP cho IPv4 sử dụng một cơ chế toàn vẹn dựa trên MD5, điều này đãđược gỡ bỏ từ RIPng. RIPng không cung cấp tính năng bảo đảm tính toànvẹn. Per RFC 2080, RIPng thúc đẩy IPsec để bảo mật. Cần lưu ý rằng các nhàcung cấp phần cứng đã không được tích hợp tính năng IPsec như là một tùychọn cấu hình, thay vì dựa vào hỗ trợ IPsec IPv6 từ các nền tảng hoạt động đểbảo vệ. RIPng là chỉ thích hợp cho nhỏ, mạng lưới tư nhân nơi mà các mối đedọa của các cuộc tấn công định tuyến được giảm thiểu đáng kể.OSPFv3Bảo mật OSPFv2 trong một môi trường dual stack sẽ bảo vệ không phảigiao thức OSPFv3 cũng không phải là bảng định tuyến OSPFv3. OSPFv2 chophép xác thực null, dựa trên mật khẩu hoặc mã hóa bằng cách sử dụng MD5dựa trên tính toàn vẹn cho định tuyến cập nhật. Các trường xác được tìm thấytrong OSPFv2 đã được gỡ bỏ từ các gói tin OSPFv3 cho IPv6, vì vậy MD5không phải là một lựa chọn xác thực. OSPFv3 cung cấp không có đảm bảotính toàn vẹn tính năng và dựa trên IPsec AH hoặc ESP để xác thực, tính toànvẹn, bảo mật và. Lưu ý rằng OSPFv3 sử dụng unicast và multicast, và IKEkhông làm việc với multicast, vì vậy phương pháp mặc định là sử dụngkeying hướng dẫn sử dụng. Kể từ khi bảo vệ replay không có thể được cungcấp bằng cách sử dụng keying hướng dẫn sử dụng, OSPFv3 thông điệp dễ bịtấn công phát lại, có thể dẫn đến các cuộc tấn công DoS, đơn vị xử lý trungtâm (CPU) quá tải, và các vòng lặp định tuyến nội địa hóa. IPsec cho OSPFv3được nêu chi tiết trong RFC 4552.Với giao thức định tuyến, định tuyến toàn vẹn thường là một mối quan tâmlớn hơn bảo mật. Tham số ESP NULL cho thấy không có mã hóa thườngđược coi là một lựa chọn chấp nhận được đối với an ninh OSPF.Page 37 Bảo mật Ipv6IS-IS và EIGRPCả hai IS-IS và EIGRP hỗ trợ tính toàn vẹn dựa trên MD5 đơn giản để bảovệ các thông tin cập nhật định tuyến IPv6, tương tự như bảo vệ cập nhật địnhtuyến cho IS-IS và EIGRP cho IPv4.BGPViệc sử dụng BGP là một giao thức định tuyến liên AS có nghĩa là nó cóthể là mối đe dọa nghiêm trọng. Ba cơ chế tồn tại để giảm thiểu mối đe dọađối với BGP. Đầu tiên là việc sử dụng các tính toàn vẹn dựa trên MD5-để bảovệ các cập nhật định tuyến. Cơ chế thứ hai để giảm thiểu các mối đe dọa đểBGP là GTSM (RFC 5082). GTSM là một cơ chế bảo mật đơn giản cho việcloại bỏ các tin nhắn giả mạo BGP dựa trên IP TTL hoặc Limit Hop.BGP gửi bộ định tuyến luôn luôn sử dụng một TTL = 255, và kiểm trarouter nhận BGP TTL có giá trị dự kiến của 255. Bất kỳ gói dữ liệu từ một kẻtấn công từ xa có để đi du lịch thông qua can thiệp router, sẽ có một TTL nhỏhơn tối đa, và sẽ được giảm trên hóa đơn. Lưu ý rằng hoạt động router nhưcác thiết bị đầu cuối của một giao thức đường hầm không thể giảm các hopcount khi nhận được gói tin thông qua đường hầm, do đó những hình dung cóthể đến từ bất cứ nơi nào với TTL = 255. Cơ chế thứ ba để giảm thiểu các mốiđe dọa để BGP là IPsec. IPsec quản lý chủ chốt có thể sử dụng bí mật đượcchia sẻ hoặc giấy chứng nhận khóa công khai, cho phép IPsec để cung cấpkhả năng mở rộng. GTSM có chi phí thấp nhất trong ba cơ chế, và là dễ nhấtđể cấu hình. Nó cũng cung cấp bảo vệ kém hiệu quả nhất. Cơ chế chữ kýMD5 cung cấp bảo vệ phía trên thấp và hiệu quả, nhưng nó buộc các quản trịviên để làm gián đoạn phiên BGP của họ tại mỗi lần cập nhật quan trọng, vànó cũng không quy mô. IPsec cung cấp bảo vệ hiệu quả, sự gián đoạn ít nhất,và khả năng mở rộng tốt nhất. Nó cũng áp đặt chi phí cao nhất (mặc dù chiphí vẫn còn nhỏ), và nó là cơ chế phức tạp nhất để cấu hình. Tóm lại, bằngcách sử dụng một tổng kiểm tra MD5 là chắc chắn tốt hơn là không có gì,nhưng MD5 chính nó có thể bị tấn công thành công, và hầu hết những phươngpháp này không có cách dễ dàng để thay đổi các chức năng băm hoặc thậmchí thay đổi các phím. IPsec là thích hợp hơn cho các giao thức định tuyến hỗPage 38