Đối với topo mạng thể hiện trong hình 2.2, M bắt đầu tấn cơng bằng cách thay đổi địa chỉ MAC của nó để giả mạo A, và gửi gói RREP đến B giữ đường dẫn đến đích D với một số thứ tự đích lớn hơn. B sẽ thay đổi tuyến đường của nó đến đích D để đi qua A. Sau đó, kẻ tấn cơng M mạo danh nút B như trong hình 2.2(b), và gửi một RREP đến C chứa B như là một hop tiếp theo, do đó C sẽ thay đổi tuyến đường của nó đến D thơng qua B. Tại thời điểm này như trong hình 2.2(c), một vịng lặp được hình thành và khơng có gói dữ liệu nào sẽ đến đích D.
iii. Tấn công sử dụng thông tin sai
Các cuộc tấn cơng định tuyến có thể được khởi chạy bằng cách gửi các thơng báo lỗi tuyến đường sai. Một nút độc hại trong hình 2.3 gửi thơng điệp định tuyến tới nút B
giả mạo C, chỉ ra lỗi tuyến đường tới D. B sẽ xóa mục bảng định tuyến của nó tới D, và phát các gói tin quảng bá đến tất cả các hàng xóm để xóa mục D khỏi bảng định tuyến của chúng. Trong trường hợp này, nút độc hại thành công trong việc ngăn chặn truyền thông tới D từ tất cả các nút.
Hình 2.3: Một ví dụ về tấn cơng sử dụng thông tin sai
2.2.3 Các tấn công nâng cao khác
Các cuộc tấn công tiên tiến và tinh vi như tấn công lỗ đen, tấn công hố sâu, và các vụ tấn công đã được nghiên cứu. Dưới đây sẽ mơ tả hầu hết các tấn cơng có hại này:
Tấn công lỗ đen
Cuộc tấn công lỗ đen là một loại tấn công từ chối dịch vụ được thực hiện bằng cách thả các gói tin. Kẻ tấn cơng thu hút tất cả các gói dữ liệu bằng cách giả mạo một tuyến đường mới đến đích, sau đó giữ chúng mà khơng chuyển tiếp chúng đến đích. Kỹ thuật này có thể được đưa ra cho tất cả các gói dữ liệu cho một đích mạng cụ thể hoặc một phần được lựa chọn ngẫu nhiên của các gói dữ liệu, được gọi là "cuộc tấn công lỗ xám".
Tấn công hố sâu
Trong kiểu tấn công này, một nút độc hại khai thác đặc tính một liên kết trực tiếp (đường hầm) nhanh hơn kết quả truyền hop-by-hop nói chung. Một kẻ tấn cơng ghi lại các gói tin ở một vị trí trong mạng, đưa chúng đến một vị trí khác thơng qua một liên kết độ trễ thấp, và truyền lại chúng ở đó vào mạng. Tấn cơng hố sâu khó khăn để phát hiện vì nó có thể được đưa ra mà không ảnh hưởng bất kỳ nút hoặc tính tồn vẹn và tính xác thực của truyền thơng.
Tấn công dồn dập
Tấn công dồn dập là tấn công hoạt động như một cuộc tấn cơng từ chối dịch vụ có hiệu quả chống lại tất cả các giao thức định tuyến VANET. Kẻ tấn công khai thác cơ chế ngăn chặn các yêu cầu tuyến trùng lặp bằng cách nhanh chóng chuyển tiếp gói yêu cầu tuyến đường đến các nút lân cận của nó. Khi các u cầu khơng tấn cơng đến sau các gói tin này, chúng sẽ loại bỏ những yêu cầu hợp pháp. Điều này có nghĩa là các nút này sẽ không chuyển tiếp bất kỳ gói tin yêu cầu tuyến nào từ giai đoạn phát hiện tuyến này.
2.3 CÁC KỸ THUẬT BẢO MẬT
Có nhiều biện pháp đối phó để chống lại các tấn công khác nhau. Một trong những phương pháp chính để bảo vệ thơng tin có giá trị là mật mã. Trước đây, mật mã chỉ đề cập đến việc mã hóa và giải mã tin nhắn sử dụng các khóa bí mật. Hiện nay, có ba cơ chế mã hóa khác nhau: mã hóa khóa đối xứng, mã hóa bất đối xứng và hàm băm.
2.3.1 Mã hóa khóa đối xứng
Trong mật mã hóa khóa đối xứng, người gửi Alice sử dụng thuật tốn mã hóa để mã hóa bản tin gốc bằng cách sử dụng khóa bí mật chia sẻ với người nhận như minh họa trong hình 2.4. Văn bản mật mã tạo ra được truyền qua kênh khơng an tồn. Người nhận Bob giải mã văn bản mật mã bằng cách sử dụng cùng một khóa chung để có được bản rõ ban đầu. Khóa đối xứng là một dạng mã hoá rất hiệu quả, nhưng nó cần hai yêu cầu để sử dụng an toàn. Đầu tiên là sử dụng một thuật tốn mã hóa/ giải mã mạnh mẽ, cịn yêu cầu thứ hai là cung cấp một mơ hình an tồn để chuyển khóa bí mật giữa hai thực thể.
2.3.2 Mã hố khóa bất đối xứng
Mã hóa khóa bất đối xứng hay mã hố khóa cơng khai được thể hiện trong hình 2.5. Trong kĩ thuật này, có hai khóa thay vì một: khố cơng khai và khố cá nhân. Mỗi người dùng tạo ra một cặp khóa được sử dụng để mã hóa và giải mã tin nhắn. Tùy thuộc vào ứng dụng, người gửi sử dụng khóa cá nhân của người gửi hoặc khố cơng khai của người nhận, hoặc cả hai, để thực hiện một số loại chức năng mật mã. Một trong những ứng dụng nổi tiếng nhất của cơ chế này là chữ ký số.Với cách tiếp cận này, các khóa riêng được tạo bởi mỗi người tham gia và do đó khơng cần trung tâm phân phối chính được coi là vấn đề khó khăn nhất liên quan đến mã hố đối xứng.
Hình 2.5: Ý tưởng chung của mật mã khóa bất đối xứng
2.3.3 Hàm băm
Trong hàm băm, một bản tin tóm tắt có chiều dài cố định được tạo ra từ một bản tin có độ dài thay đổi. Giá trị băm được nối vào bản tin tại nguồn tại một thời điểm khi bản tin được giả định là chính xác. Người nhận xác nhận bản tin đó bằng cách tính lại giá trị băm. Bởi vì bản thân hàm băm khơng được coi là bí mật, một số phương tiện được yêu cầu để bảo vệ giá trị băm. Bản tin tóm tắt (MD - Message Digest) và kĩ thuật bảo vệ hàm băm (SHA - Secure Hash Algorithms) là hai loại hàm băm dùng trong mật mã hóa. Cả hai kĩ thuật đều thỏa mãn các tính chất sau:
Kẻ tấn cơng khơng thể tìm thấy hai bản tin riêng biệt M và M' sao cho H(M) = H(M').
Một kẻ tấn cơng có bản tóm tắt D khơng thể tìm thấy một bản tin M sao cho H(M) = D. Trên hầu hết các hệ thống máy tính, mật khẩu người dùng được lưu
trữ dưới dạng mã băm mật mã của mật khẩu thay vì lưu trữ mật khẩu bản rõ. Do đó một kẻ tấn cơng truy cập được vào các tập tin mật khẩu khơng thể sử dụng nó để truy cập vào hệ thống, trừ khi nó có thể chuyển đổi bản tin tóm tắt của hàm băm sang bản rõ.
Một kẻ tấn công với một bản tin M khơng thể tìm thấy một bản tin khác M' sao cho M = M' và H(M') = H(M). Tính chất này được bao hàm bởi tính chống xung đột.
Thuật tốn băm an tồn (SHA-1)
SHA-1 được sử dụng rộng rãi nhất trong các hàm băm SHA hiện tại và được sử dụng trong một số ứng dụng và giao thức bảo mật được sử dụng rộng rãi như IPsec. SHA-1 nhận nhiều khối bản tin với độ dài tối đa (264 - 1) bit và tạo ra một bản tóm tắt tiêu chuẩn 160 bit được thiết kế sao cho cần phải thực hiện tính tốn phức tạp để tìm một văn bản phù hợp với một hàm băm nhất định. Mỗi khối có chiều dài 512 bit. SHA-1 được dựa trên các giai đoạn tiền xử lý và tính tốn. Trong giai đoạn tiền xử lý, bản tin M được đệm để đảm bảo rằng nó là một bội số của 512 bit. Sau đó, bản tin đệm được phân tích thành các khối N 512 bit, và một giá trị băm H(0) gồm 5 từ 32 bit được khởi tạo. Sau khi q trình tiền xử lý hồn tất, mỗi khối bản tin được xử lý để tạo ra bản tin tóm tắt 160 bit.
2.3.4 Chữ kí số
Chữ ký số là một chương trình tốn học cho việc chứng minh tính xác thực, tính tồn vẹn dữ liệu và chống chối bỏ một bản tin hoặc tài liệu. Chữ ký số hợp lệ cho phép người nhận tin rằng bản tin đã được tạo bởi người gửi đã biết và không bị thay đổi khi chuyển tiếp. Người nhận cũng có thể chứng minh rằng thơng điệp thực sự được ký bởi người gửi nếu người gửi tuyên bố đã gửi tin nhắn. Các chương trình khác nhau của chữ ký số đã được sử dụng rộng rãi. Chúng dựa vào thuật toán số nguyên RSA (Rivest
– Shamir – Adleman), logarit rời rạc như là thuật toán chữ ký số DSA (Digital Signature Algorithm) hoặc logarit rời rạc hình elip như là thuật toán ECA (Elliptic Curve Algorithm).
Mặc dù ECA cung cấp các kích thước khóa nhỏ hơn và ln nhanh hơn đáng kể so với việc tạo chữ ký với RSA, việc xác minh với RSA lại nhanh hơn, và ECA về mặt tốn học thì tinh tế hơn; khó khăn để chọn một đường cong cụ thể cho một ứng dụng cụ thể.
Hệ thống chữ ký số RSA
RSA là thuật tốn khóa cơng khai phổ biến nhất, được đặt tên bởi các nhà phát minh. Nó được dựa trên các hàm lũy thừa modul một chiều. Nó sử dụng một số n khá lớn cùng với hai số mũ, e và d, trong đó e là cơng khai trong khi d là bí mật. Thuật toán bao gồm ba bước: khởi tạo khóa, ký kết, và xác minh. Trong q trình tạo khố, một nút tạo các khóa cơng khai/ bí mật (e, d, n), thơng báo cặp (e, n) như là khóa cơng khai trong khi giá trị d được giữ bí mật.
Các q trình ký và xác minh được thể hiện trong hình 2.6. Người gửi tạo một chữ ký (S) từ một bản tin (M) bằng khóa riêng của nó, gửi cả bản tin và chữ ký đến bên nhận. Khi người nhận nhận được bản tin và chữ ký, nó sẽ sử dụng khóa cơng khai của người gửi để tạo một bản sao của bản tin M'. Nó so sánh M với M', chấp nhận bản tin nếu hai giá trị là đồng nhất.
Hình 2.6: Lược đồ chữ kí số RSA
2.4 PHÂN LOẠI CÁC GIAO THỨC ĐỊNH TUYẾN TRONG MẠNG VANET
Định tuyến trong mạng VANET là quá trình lựa chọn các đường đi trong một mạng mà theo đó một gói tin đi từ một nguồn tới đích một cách kịp thời, do mỗi nút hoạt động như một bộ định tuyến có nhiệm vụ chuyển tiếp hoặc nhận gói dữ liệu trong mạng. Định tuyến là một nhiệm vụ khó khăn trong VANET vì đặc tính của mạng là phụ thuộc vào chuyển động của các nút, mạng tự thiết lập và băng thông bị hạn chế. Một số giao thức đã được đưa ra để định tuyến trong VANET. Việc cốt lõi là tất cả các giao thức phải cố gắng tìm ra con đường tối ưu từ nguồn tới đích, giả sử rằng tất cả các nút trong mạng đều tin cậy và hợp tác. Tùy thuộc vào cách các nút thiết lập và duy trì
một con đường đến đích theo u cầu mà các giao thức định tuyến cho mạng VANET chia thành ba loại: định tuyến chủ động, định tuyến theo yêu cầu và định tuyến lai ghép. Hiện tại, chưa có một giao thức chuẩn cho mạng VANET.
2.4.1 Giao thức định tuyến chủ động
Phương pháp tiếp cận chủ động là một giao thức định hướng theo bảng, tức là mỗi nút duy trì thơng tin định tuyến đến các nút khác bởi một hay nhiều bảng. Thông tin định tuyến được lưu trữ và duy trì trước khi được truyền đi. Lợi thế của việc này là thời gian thiết lập tuyến đường như mong muốn là nhanh hơn. Tuy nhiên, giao thức chủ động có lưu lượng truy cập đáng kể và tiêu thụ điện năng nhiều, do vậy dẫn đến việc có chi phí cao hơn do việc bảo trì và cập nhật hệ thống. Định tuyến vector khoảng cách trình tự đích (DSDV) và định tuyến khơng dây (WRP) là hai ví dụ cho loại giao thức này.
i. Định tuyến vector khoảng cách trình tự đích (DSDV)
Trong DSDV, mỗi nút hoạt động như một bộ định tuyến chuyên dụng, quảng bá cái nhìn của nó về topo kết nối với các nút di động khác trong mạng. Bảng định tuyến được duy trì ở mỗi nút, nơi chứa tất cả các đích đến có thể và số lượng các hop để đến được đích trong mạng. Mỗi mục trong bảng định tuyến bao gồm ID đích đến, ID hop tiếp theo, số hop và một số thứ tự cho đích. Số thứ tự giúp các nút duy trì một tuyến đường đến đích ln mới, tìm ra các tuyến đường cũ, và tránh các vịng lặp tuyến. Để đối phó với việc thay đổi thường xuyên trong cấu trúc mạng, các nút sẽ định kỳ phát quảng bá các cập nhật bảng định tuyến trong tồn mạng. Để giảm chi phí định tuyến, mỗi nút có khả năng gửi hai loại cập nhật: cập nhật đầy đủ và gia tăng - có chứa tất cả các mục trong bảng định tuyến của nó hoặc chỉ các mục đã được thay đổi kể từ lần cập nhật cuối cùng. Các thay đổi đối với các mục bảng định tuyến được thực hiện chỉ khi số thứ tự của đích trong gói cập nhật cao hơn so với số thứ tự trong bảng định tuyến của nó.
ii. Giao thức Định tuyến khơng dây (WRP)
WRP sử dụng một phiên bản nâng cao của giao thức DSDV. Nó giới thiệu các cơ chế làm giảm các tuyến đường và đảm bảo trao đổi bản tin một cách tin cậy. Mặc dù DSDV chỉ duy trì một bảng topo mạng, WRP sử dụng một tập hợp các bảng để duy trì thơng tin chính xác hơn. Các bảng này là: bảng khoảng cách (DT), bảng định tuyến (RT), bảng chi phí liên kết (LCT) và danh sách bản tin truyền lại (MRL). Các nút định kỳ trao đổi các bảng định tuyến thông qua các bản tin cập nhật hoặc bất cứ khi nào bảng trạng thái liên kết thay đổi. MRL duy trì danh sách các hàng xóm chưa xác nhận
thơng báo cập nhật, nhờ đó chúng có thể được truyền lại nếu cần thiết. Khi nhận được thông báo cập nhật, một nút cập nhật bảng khoảng cách và tính tốn lại các tuyến đường tốt nhất. Nó cũng thực hiện một kiểm tra thống nhất với hàng xóm của nó, để giúp loại bỏ các vòng lặp và tăng tốc độ hội tụ. WRP yêu cầu bộ nhớ lưu trữ lớn và nguồn để duy trì các bảng, vì vậy nó khơng thích hợp cho các mạng VANET lớn.
2.4.2 Giao thức định tuyến theo yêu cầu
Giao thức định tuyến theo yêu cầu là giao thức mà thông tin định tuyến lưu lại chỉ khi nào thực sự cần thiết. Thiết lập một tuyến đường mới bao gồm yêu cầu về tuyến đường và phát hiện tuyến đường. Giao thức định tuyến theo yêu cầu có thể sử dụng ít băng thơng hơn để duy trì nhưng độ trễ tăng. Hơn nữa, việc tìm kiếm tuyến đường có thể liên quan đến kiểm sốt lưu lượng truy cập, điều này có thể khiến việc định tuyến hoạt động thuần túy không phù hợp với lưu lượng truy cập thời gian thực. Định tuyến vector khoảng cách theo yêu cầu (AODV) và định tuyến nguồn động (DSR) là hai ví dụ của loại giao thức này.
i. Giao thức định tuyến vector khoảng cách theo yêu cầu (AODV)
Trong giao thức AODV, một nguồn phát một gói yêu cầu tuyến đường (RREQ) tới các hàng xóm của nó khi nhận được yêu cầu gửi một gói tin đến đích và hiện tại khơng có tuyến đường đến đích đó. Mỗi nút duy trì một bộ đếm tăng dần được gọi là broadcast ID, trong đó broadcast ID cùng với địa chỉ IP của nút nhận dạng duy nhất RREQ trong toàn bộ mạng. Nguồn cũng sử dụng một số trình tự đích (Destination Sequence Number - DSN) để xác định một đường dẫn cập nhật đến đích. Một nút cập nhật thơng tin đường dẫn của nó chỉ khi DSN của gói tin nhận được hiện tại lớn hơn DSN cuối cùng được lưu trữ tại nút đó. Mỗi nút trung gian tăng trường hop count trong RREQ bằng một và phát RREQ này cho đến khi nó đến đích hoặc nút có một DSN cao hơn.
ii. Định tuyến nguồn động (DSR)
DSR là một trong những giao thức định tuyến theo yêu cầu đầu tiên. Nó sử dụng các gói RREQ, RREP, và RERR để thiết lập và duy trì tuyến đường đến đích. Tuy