Submitted:
11 January 2024
Posted:
12 January 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction and Motivation
2. Preliminaries
3. Software Defined Networking (SDN)
4. Our Implementation Method
4.1. Network Configurations and Graphic Representation
4.2. Labeling Tables, Forwarding Tables and Data Flow Control Policy Enforcement
5. Example
5.1. The Basic Configuration and Its Implementation
- The sensors should have highest integrity but also low secrecy since their Pressure and Pulse data are needed by all other entities. Thus, they must be at the bottom of the partial order [21], and this is where they will end up given that their labels contain only one data category.
- The Chief of Medicine department will have the lowest integrity, since it uses data collected from all other entities, but also the highest secrecy, since it contains highly sensitive data for all patients and Wards. It must be at the top of the partial order [21], and this is where it will end up given that its label contains all data categories.
- The Wards and Reanimation departments take data from the sensors, process them and forward the results to the Chief of Medicine department, thus should have intermediate levels of integrity and secrecy.
- Conflicts: a) Patient data should be known only in each patients’ own Ward and in the Reanimation and the Chief of Medicine departments. In addition, b) Each Ward keeps its own statistics that should be known only to it and to the Chief of Medicine. These conflicts are represented by forbidding labels containing conflicting data categories, such as, in our example, SamPress in Ward2.
5.2. Introducing the Networking Layer
- Similarly, in Figure 2 we have the flow J→G→K. Data can go from J to G through G’ and from J to K through B’ and G’.
- On the other hand, unwanted flows are clearly impossible. The reader can check easily that there is no way for data in H to end up in D, or data in C to end up in D. Conflict requirements are satisfied.
6. Network Reconfigurations
- Explicitly: in this case, the label indicates the intended contents of the entity and, by inference, its Channel and CF relations
- Implicitly: in this case, the Channel or CF relations of the entity are given and, by inference, its intended contents and label.
-
Addition of new entities: Three types of entities can be introduced: sensors, storage entities and application entities. In each case, we assume that the new entity comes with a label, see above.
- -
- Adding a sensor: Sensor's labels contain only the names of the sensors themselves, along with the names of other equivalent sensors, if any. In the implementation configuration, the new sensor must be attached to the appropriate access point. In the labeling tables, a line must be added for the new entity, containing in the Holds column the name of the equivalent sensors. Further, the name of the new sensor must be added to the Holds lists of all entities that should receive data from it.
- -
- Adding a storage entity: If it is decided to add a new storage entity into the cloud layer, the change to the implementation configuration is the appearance of this entity attached to the cloud router. Concerning the labeling table, this new entity will have to belong to one of the already existing equivalence classes. This one already must have at least one storage entity (otherwise it will be disconnected from the other entities). Then the new entity must be added to the labeling table with the same Holds list as the other entities in its equivalence class; it must also be included in the Holds lists of all the entities in its equivalence class.
- -
-
Adding an application entity: Two main cases arise, according to whether the new entity belongs to an existing equivalence class or whether instead it will be in a new equivalence class (in other words, whether it has an existing label or a new one).
- The first case is easily treated. For the implementation configuration, the new entity will be connected to the App Router. The new entity will access the same data entities as the other entities of its class. For the labeling table, a new entry must be created for the new entity, its name must be added to the Holds lists of all entities in its equivalence class, and the Holds list of the new entity must be the same as the Holds lists of these entities. The name of the new entity should be added to the Holds lists of all entities that dominate it in the partial order (that should receive data from it).
- The second case is the case of addition of an application entity with a new label, that creates a new equivalence class. In this scenario we must add at least a corresponding storage entity for this new entity, with the same label. For the implementation configuration, the new entity must be connected to the App Router and the new storage entity must be connected to the Cloud Router. For the labeling tables, new entries must be created for each of the two new entities. The Holds lists of these two entities must be identical, and must contain the names of all entities from which they should receive data. The names of these two entities must be added to the Holds lists of the entities where they should send data.
-
Entity removal and entity failure: This will change the implementation configuration since the removed entity will not be included in the new implementation configuration. It should be kept in mind that removal of an entity does not make it necessary to find alternate paths in a network, since labeling tables contain the IPADs of all potential receivers of a data item. In fact, the system will keep working properly even if nothing is done in the case of entity removal: simply, data will continue to be sent to a non-existent entity. In this sense, we claim that our system is tolerant to entity failure, an important property in the IoT.
- -
- Removing a sensor: The sensor must be removed from the implementation configuration. All occurrences of the name of the sensor must be removed from the labeling tables.
- -
- Removing a storage entity: The fact that every equivalence class of entities must have a storage entity implies that a storage entity can be removed if and only if there remains at least one storage entity in its equivalence class. The name of the storage entity must be removed from the labeling tables, however these tables should already contain references to other equivalent entities, so nothing else needs to be changed. In practice, the different storage entities in an equivalence class may have different contents, and if so, some contents may have to be copied, but we leave this as an implementation issue.
- -
-
Removing an application entity: In our example this would be removing a workstation. In this scenario, we need also to check the equivalence classes. We have two cases:
- If the equivalence class that contains the entity to remove has at least another application entity in it, we only remove the intended entity and we leave the corresponding storage entities for the other application entities. The name of the removed entity must be removed from the labeling tables.
- Otherwise, we remove the intended entity and all the equivalent storage entities since none of them is required any more. The names of all such entities must be removed from the labeling tables.
- Label changes: Changing the label of an entity is equivalent to removing the entity and then adding it with the new label, and so it can be done by combining the two procedures. This change has no effect on the implementation configuration: the entity remains in its place. The labeling tables will have to consistent with the new labels.
7. Networks with Multiple Flows
8. Simulation and Implementation of the Controller
9. Efficiency and Scalability
10. Related Work
11. Conclusions
Acknowledgments
References
- Available online: https://www.lifewire.com/how-many-devices-can-share-a-wifi-network-818298 (Consulted on 10 November 2023).
- Khan, M.A. A survey of security issues for cloud computing. J. Netw. Comput. Appl. 2016, 71, 11–29. [CrossRef]
- Alaba, F.A.; Othman, M.; Hashem, I.A.T.; Alotaibi, F. Internet of Things security: A survey. J. Netw. Comput. Appl. 2017, 88, 10–28. [CrossRef]
- A. Al-Haj, B. Aziz. Enforcing Multilevel Security Policies in Database-Defined Networks using Row-Level Security. Intern. Conf. on Networked Systems (NetSys 2019), 1-6.
- S.Asadollahi, B. Goswami,. M. Sameer. Ryu controller's scalability experiment on software defined networks, IEEE Intern. Conf. on Current Trends in Advanced Computing (ICCTAC 2018), 1-5.
- D.E. Bell, L. La Padula. Secure computer system : unified exposition and Multics interpretation. Mitre Corp. Report MTR-2997 Rev. 1, March 1976.
- Burke, Q.; Mehmeti, F.; George, R.; Ostrowski, K.; Jaeger, T.; La Porta, T.F.; McDaniel, P. Enforcing Multilevel Security Policies in Unstable Networks. IEEE Trans. Netw. Serv. Manag. 2022, 19, 2349–2365. [CrossRef]
- Celik, L. Babun, A. Kumar, H. Aksu, G. Tan, P. McDaniel, A. Uluagac. Sensitive information tracking in commodity IoT. 27th {USENIX}. Security Symposium ({USENIX} Security 18, 2018), 1687-1704.
- S. Christos, P. Kostas, K. B.Gyu, B. Gupta. Secure Integration of Internet-of-Things and Cloud Computing. Future Generation Computer Systems 2013, 78, 964-975. [CrossRef]
- Denning, D.E. A lattice model of secure information flow. Commun. ACM 1976, 19, 236–243. [CrossRef]
- de Assunção, M.D.; Carpa, R.; Lefèvre, L.; Glück, O.; Boryło, P.; Lasoń, A.; Szymański, A.; Rzepka, M. Designing and building SDN testbeds for energy-aware traffic engineering services. Photon- Netw. Commun. 2017, 34, 396–410. [CrossRef]
- El-Garoui, L.; Pierre, S.; Chamberland, S. A New SDN-Based Routing Protocol for Improving Delay in Smart City Environments. Smart Cities 2020, 3, 1004–1021. [CrossRef]
- S. Etalle, T.L. Hinrichs, A.J. Lee, D. Trivellato, N. Zannone. Policy Administration in Tag-Based Authorization. In: Proc. 9th Intern, Symp. On Foundations and Practice of Security. (FPS 2012). Springer LNCS, vol 7743, 162-179.
- Fernandes, J. Paupore, A. Rahmati, D. Simionato, M. Conti, A. Prakash. Flowfence: practical data protection for emerging IOT application frameworks. USENIX Security Symposium. (2016). 531-548.
- A. Hany, W. Gary.Intersections between IoT and distributed ledger. Advances in Computers (Elsevier). Vol. 115 (2019), 73-113. [CrossRef]
- C. Haotian, Z. Qiang, D. Xiaojiang, L. Lannan. PFirewall: Semantics-Aware Customizable Data Flow Control for Smart Home Privacy Protection. arXiv, arXiv:2101.10522, 2021. [CrossRef]
- D. Huang, A. Chowdhary, S.Pisharody. Software-Defined networking and security. From theory to practice. CRC Press, 2019.
- Islam, M.T.; Islam, N.; Refat, M.A. Refat. Node to Node Performance Evaluation through RYU SDN Controller. Wireless Pers. Commun. 2020, 112, 555–570. [Google Scholar] [CrossRef]
- Kalkan, K.; Zeadally, S. Securing Internet of Things with Software Defined Networking. IEEE Commun. Mag. 2017, 56, 186–192. [CrossRef]
- Landwehr. Privacy research directions. Comm. ACM 2016, 59, 29–31. [Google Scholar] [CrossRef]
- Logrippo, L. Multi-level models for data security in networks and in the Internet of things. J. Inf. Secur. Appl. 2021, 58, 102778. [CrossRef]
- L. Logrippo, A. Stambouli. Configuring data flows in the Internet of Things for security and privacy requirements. 11th International Symposium on Foundations and Practice of Security. Montreal, 2018. Springer LNCS 11358,115-130.
- S. Ola, E. Imad, K. Ayman, C.Ali. SDN controllers: A comparative study. 18th Mediterranean Electrotechnical Conference (MELECON 2016), 1-6.
- Qiang, C.; Quan, G.R.; Yu, B.; Yang, L. Research on security issues of the Internet of Things. International Journal of Future Communication and Networking 2013, 6, 1–10. [Google Scholar] [CrossRef]
- Rong-na, X.; Hui, L.; Guo-zhen, S.; Yun-chuan, G.; Ben, N.; Mang, S. Provenance-based data flow control mechanism for Internet of things. Transactions on Emerging Telecommunications Technologies 2021, 32, e3934. [Google Scholar] [CrossRef]
- W.Roy, S. Bill, J. Scott. Enabling the Internet of Things. Computer 2014, 48, 28-35. [CrossRef]
- RYU Project Team. RYU SDN Framework- RYU project team, 2014.
- Sandhu, R. Lattice-based access control models. Computer 1993, 26, 9–19. [CrossRef]
- J. Singh, T. Pasquier, and J. Bacon. In Intern. Conf. on Recent Advances in Internet of Things (RIoT'15), 2015, 1-6.
- A. Stambouli, L.Logrippo. Data flow analysis from capability lists, with application to RBAC. Information Processing Letters (Elsevier) 141 (2019) 30–40. [CrossRef]
- Suo, H.; Wan, J.; Zou, C.; Liu, J. Security in the internet of things: A review. In Proceedings of the 2012 International Conference on Computer Science and Electronics Engineering, Hangzhou, China, 23-25 March 2012; Volume 3, pp. 648–651. [Google Scholar] [CrossRef]
- A. Wang, X. Mei, J. Croft, M. Caesar, B. Godfrey. Ravel: A database-defined network, Proceedings of the Symposium on SDN Research (2016), 1-7.















Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).