Difference between revisions of "GSoC2018:Trust-based routing protocols framework"

From Nsnam
Jump to: navigation, search
(refactored the introduction section)
(Added the purpose of a trust framework)
Line 1: Line 1:
 +
{{TOC}}
 +
 
Return to [https://www.nsnam.org/wiki/Summer_Projects#Google_Summer_of_Code_2018 GSoC 2018 Accepted Projects] page.
 
Return to [https://www.nsnam.org/wiki/Summer_Projects#Google_Summer_of_Code_2018 GSoC 2018 Accepted Projects] page.
  
 
== Project Overview ==
 
== Project Overview ==
  
* Project name: Trust-based routing protocols framework
+
* '''Project name:''' Trust-based routing protocols framework
* Student: Jude Niroshan
+
* '''Student:''' Jude Niroshan
* Mentor: Tommaso Pecorella
+
* '''Mentor:''' Tommaso Pecorella
* Abstract: ns-3 contains different routing modules, both for IPv4 and for IPv6. None of them are trust-based routing protocols. Given the increasing interest on trust-based routing schemes to increase and improve the network resilience Vs routing attacks, it would be useful to have a general approach for Trust-based schemes. As a matter of fact, there are multiple trust-based extensions for well known protocol (e.g., AODV), but each one modifies in a particular way the single routing protocol, making it difficult to export the solution to other routing schemes. Therefore, it would be beneficial for many developers to have a generic trust-based framework which accommodates the alteration of well-known protocols to work as trust based protocols.  
+
* '''Abstract:''' ns-3 contains different routing modules, both for IPv4 and for IPv6. None of them are trust-based routing protocols. Given the increasing interest on trust-based routing schemes to increase and improve the network resilience vs routing attacks, it would be useful to have a general approach for trust-based schemes. As a matter of fact, there are multiple trust-based extensions for well known protocol (e.g., AODV), but each one modifies in a particular way the single routing protocol, making it difficult to export the solution to other routing schemes. Therefore, it would be beneficial for many developers to have a generic trust-based framework which accommodates the alteration of well-known protocols to work as trust based protocols.  
* Code: [https://github.com/JudeNiroshan/ns-3-dev-git Github repository]
+
* '''Code:''' [https://github.com/JudeNiroshan/ns-3-dev-git Github repository]
* About me: I am an undergraduate student at the Sri Lanka Institute of Information Technology(SLIIT), Sri Lanka. I'm so excited to work with ns-3 community during the summer of 2018. You can find more about me on [https://www.linkedin.com/in/jude-niroshan-92693086/ LinkedIn]
+
* '''About me:''' I am an undergraduate student at the Sri Lanka Institute of Information Technology(SLIIT), Sri Lanka. I'm so excited to work with ns-3 community during the summer of 2018. You can find more about me on [https://www.linkedin.com/in/jude-niroshan-92693086/ LinkedIn]
 +
 
 +
== Introduction ==
 +
Networks are susceptible to attacks by '''malicious nodes''' that could easily bring down the whole network. Therefore, it is important to have a reliable mechanism for ''detecting and isolating malicious nodes before they can do any harm to the network.'' Usually, routing protocols  discover usable multi-hop routes between source and destination nodes. However, some of the routes found and used may not be as reliable or trust-worthy as expected. Thus, ''finding a trusted route'' is an important component for ''enhancing the security of communication''. Enhanced trust and security are achieved by the maintenance of a '''trust factor''' by the nodes in the network. This factor is established and refined over time and it increases for each node when it participates successfully in data transmissions.
 +
 
 +
== Why a Trust based framework? ==
 +
Trust is a subjective measurement. There are many research papers have published which has various methodologies of calculating the trust value for the same routing protocol.
 +
 
 +
''For e.g.:'' If we consider AODV routing protocol; following papers have came up with different approaches for trust value calculation.
 +
 
 +
:[1]  Li, X., Lyu, M.R. and Liu, J., 2004, March. A trust model based routing protocol for secure ad hoc networks. ''In Aerospace Conference, 2004. Proceedings. 2004 IEEE (Vol. 2, pp. 1286-1295). IEEE.''
 +
 
 +
:[2]  Marchang, N. and Datta, R., 2012. Light-weight trust-based routing protocol for mobile ad hoc networks. ''IET information security, 6(2), pp.77-83.''
 +
 
 +
:[3] Pushpa, A.M., 2009, December. Trust based secure routing in AODV routing protocol. ''In Internet Multimedia Services Architecture and Applications (IMSAA), 2009 IEEE International Conference on (pp. 1-6). IEEE.''
  
=== Introduction ===
+
NS-3 cannot define only one way of calculating trust because each of these methods/approaches have written to serve specific concerns/issues. Therefore, it is clear that ''allowing any custom way of trust calculation as a framework'' is a better move from NS-3. This will help the developers to try out trust based frameworks in NS-3 with ''minimal amount of coding''.
Networks are susceptible to attacks by '''malicious nodes''' that could easily bring down the whole network. Therefore, it is important to have a reliable mechanism for ''detecting and isolating malicious nodes before they can do any harm to the network.'' Routing protocols  discover usable multi-hop routes between source and destination nodes. However, some of the routes found and used may not be as reliable or trust-worthy as expected. Thus, finding a trusted route is an important component for ''enhancing the security of communication''. Enhanced trust and security are achieved by the maintenance of a trust factor by the nodes in the network. This factor is established and refined over time and it increases for each node when it participates successfully in data transmissions.
+
  
  
=== Technical Approach ===
+
== Technical Approach ==
 
As of now NS-3 does not support to simulate the above mentioned trust based routing protocols. If somebody wants to simulate such an environment, there are lot of changes needs to be done in many concrete classes. This is cumbersome and it is against the conventions that we follow from the maintainence point of view. Therefore, this project is aimed to facilitate a new trust module which enables the capability of implementing a trust based algorithm to NS-3 and let the users to tryout the simulations based upon them.  
 
As of now NS-3 does not support to simulate the above mentioned trust based routing protocols. If somebody wants to simulate such an environment, there are lot of changes needs to be done in many concrete classes. This is cumbersome and it is against the conventions that we follow from the maintainence point of view. Therefore, this project is aimed to facilitate a new trust module which enables the capability of implementing a trust based algorithm to NS-3 and let the users to tryout the simulations based upon them.  
  

Revision as of 18:29, 21 June 2018

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Return to GSoC 2018 Accepted Projects page.

Project Overview

  • Project name: Trust-based routing protocols framework
  • Student: Jude Niroshan
  • Mentor: Tommaso Pecorella
  • Abstract: ns-3 contains different routing modules, both for IPv4 and for IPv6. None of them are trust-based routing protocols. Given the increasing interest on trust-based routing schemes to increase and improve the network resilience vs routing attacks, it would be useful to have a general approach for trust-based schemes. As a matter of fact, there are multiple trust-based extensions for well known protocol (e.g., AODV), but each one modifies in a particular way the single routing protocol, making it difficult to export the solution to other routing schemes. Therefore, it would be beneficial for many developers to have a generic trust-based framework which accommodates the alteration of well-known protocols to work as trust based protocols.
  • Code: Github repository
  • About me: I am an undergraduate student at the Sri Lanka Institute of Information Technology(SLIIT), Sri Lanka. I'm so excited to work with ns-3 community during the summer of 2018. You can find more about me on LinkedIn

Introduction

Networks are susceptible to attacks by malicious nodes that could easily bring down the whole network. Therefore, it is important to have a reliable mechanism for detecting and isolating malicious nodes before they can do any harm to the network. Usually, routing protocols discover usable multi-hop routes between source and destination nodes. However, some of the routes found and used may not be as reliable or trust-worthy as expected. Thus, finding a trusted route is an important component for enhancing the security of communication. Enhanced trust and security are achieved by the maintenance of a trust factor by the nodes in the network. This factor is established and refined over time and it increases for each node when it participates successfully in data transmissions.

Why a Trust based framework?

Trust is a subjective measurement. There are many research papers have published which has various methodologies of calculating the trust value for the same routing protocol.

For e.g.: If we consider AODV routing protocol; following papers have came up with different approaches for trust value calculation.

[1] Li, X., Lyu, M.R. and Liu, J., 2004, March. A trust model based routing protocol for secure ad hoc networks. In Aerospace Conference, 2004. Proceedings. 2004 IEEE (Vol. 2, pp. 1286-1295). IEEE.
[2] Marchang, N. and Datta, R., 2012. Light-weight trust-based routing protocol for mobile ad hoc networks. IET information security, 6(2), pp.77-83.
[3] Pushpa, A.M., 2009, December. Trust based secure routing in AODV routing protocol. In Internet Multimedia Services Architecture and Applications (IMSAA), 2009 IEEE International Conference on (pp. 1-6). IEEE.

NS-3 cannot define only one way of calculating trust because each of these methods/approaches have written to serve specific concerns/issues. Therefore, it is clear that allowing any custom way of trust calculation as a framework is a better move from NS-3. This will help the developers to try out trust based frameworks in NS-3 with minimal amount of coding.


Technical Approach

As of now NS-3 does not support to simulate the above mentioned trust based routing protocols. If somebody wants to simulate such an environment, there are lot of changes needs to be done in many concrete classes. This is cumbersome and it is against the conventions that we follow from the maintainence point of view. Therefore, this project is aimed to facilitate a new trust module which enables the capability of implementing a trust based algorithm to NS-3 and let the users to tryout the simulations based upon them.


New trust module consists of abstract classes which can be extended and implemented as the user's preferences. Users can extend the AbstractTrustCalculation class and implement their own logic to calculate the trust measurement.

Trust based framework uml.jpeg

TrustTable is a new table which is similar to routing table. Trust table contains trust value related information for directly connected nodes. Users will be able to add new properties to trust table as they wish. At the same time, trust calculation logic is also feasible to change according to the above framework structure. As you can in UML, any user can define the trust calculation algorithm by simple extending the AbstractTrustCalculation class.