Homomorphic Encryption and Network Coding in IoT Architectures: Advantages and Future Challenges

: The introduction of the Internet of Things (IoT) is creating manifold new services and opportunities. This new technological trend enables the connection of a massive number of devices among them and with the Internet. The integration of IoT with cloud platforms also provides large storage and computing capabilities, enabling Big Data analytics and bidirectional communication between devices and users. Novel research directions are showing that Network Coding (NC) can increase the robustness and throughput of wireless networks, as well as that Homomorphic Encryption (HE) can be used to perform computations in the cloud while maintaining data privacy. In this paper, we overview the beneﬁts of NC and HE along the entire vertical of cloud-based IoT architectures. By merging both technologies, the architecture may offer manifold advantages: First, it provides end-to-end data privacy, from end-devices to end-users. Second, sensitive data can be stored in public cloud platforms without concern about their privacy. In addition, clouds can perform advanced operations in a conﬁdential manner, without the need to access actual data. Finally, latency can be reduced and the reliability of the system is increased. We show state-of-the-art works that demonstrate the role of both technologies in this type of architectures on a review basis. Furthermore, we describe the main characteristics of NC and HE and also discuss their beneﬁts and limitations, as well as the emerging open challenges.


Introduction
The Internet of Things (IoT) is fast becoming a major asset in widespread areas of businesses and everyday life.From smart cities to wearables and to the so-called Industry 4.0, the IoT is transforming each of these sectors by generating new market opportunities and by enabling the creation of more intelligent applications [1][2][3].According to a Gartner study, the number of things connected to the Internet is expected to increase to over 20 billion devices in 2020, which will generate a massive amount of data [4].To create meaningful information for future decision making, all that information needs to be gathered and analyzed; thus, the cloud is becoming an essential part of the IoT ecosystem [5].Cloud computing offers storage and computation capabilities required by IoT actors and enables real-time data analysis, which helps creating new scopes [6].
With this rapid growth of the IoT, some issues and concerns emerge.According to an International Data Corporation (IDC) survey [7], the top IoT inhibitors are security and privacy concerns.With more connected devices, security risks are incremented and, consequently, more protection is needed [8][9][10].
Particularly when actuators are remotely monitored, the required security level is even higher.Cybersecurity has become a hot topic, and cyberattacks suffered by large enterprises are well-known.Not only are these corporations target of these attacks, Small-and Medium-sized Enterprises (SMEs) are also potential victims [11].The increasing number of real-time IoT applications, especially for healthcare and industry, also brings with them latency issues.They require an instantaneous response and, as such, it is crucial to minimize communication delays among smart devices [12].
As a solution to overcome privacy issues, a disruptive encryption scheme, Homomorphic Encryption (HE), is gaining momentum.Unlike conventional encryption algorithms such as Advanced Encryption Standard (AES) or Rivest-Shamir-Adleman (RSA), HE allows performing operations over encrypted data [13].This attribute provides end-to-end IoT dataflow privacy.HE enables to securely store data in public clouds [14], where computations, such as Machine Learning (ML) predictions [15], can be performed without accessing user's data.However, this technique increases both computational cost and packet size, which implies an increment in network latency.A promising technology to address latency issues is Network Coding (NC) [16].Its properties enable improving the robustness as well as reduce delays of diverse topologies [17].In particular, it strengthens Wireless Sensor Networks (WSNs) communications [18] and it improves both data download speed and redundancy efficiency of distributed storage systems [19,20].
In this paper, we review the state-of-the-art regarding the multiple proposals that apply NC and HE over the reference IoT architecture in order to state the potential of the combination of both techniques over the entire vertical of such systems.The considered IoT architecture is presented in Figure 1.As shown, it is comprised of end-point devices responsible for collecting data, and a multi-cloud environment which stores and processes the received data.End-nodes and the multi-cloud environment are connected using an intermediate network.Finally, end-users can access data of end-point devices through the cloud services.On top of that, HE can provide end-to-end privacy, i.e., data are encrypted on the devices and decrypted at destination.These are transmitted along the WSN and the Internet to the multi-cloud environment, where advanced computations can be performed over the encrypted data, protecting user's privacy.The non-negligible increase in packet size and computational cost, and therefore, the increase in latency, is addressed by means of the implementation of NC throughout the architecture.Accordingly, not only can it be applied over the WSN, but it can also be used during the multi-cloud data upload, recovery, and acquisition.It can be said that this vision is backed by several research works, presented in Section 3, which are converging towards this overall architecture.The benefits of applying both NC and HE across the entire vertical of the architecture are manifold: it provides end-to-end data privacy to IoT applications, it allows end-users to leverage from public cloud computing services and storage without risking sensitive data, and it reduces latency.We describe the main characteristics and we analyze the state-of-the art related to both technologies.Further, we discuss its benefits and limitations and we provide future research directions.

End-point devices
The rest of the paper is organized as follows.In Section 2, we overview the main features and applicability of both NC and HE.In Section 3, we outlook the state-of-the-art regarding the works that apply these technologies over the described IoT architecture.In Section 4, we present the different challenges and issues as well as discuss the adoption of the approach.Finally, in Section 5, we report the final conclusions of the paper.

Background
This section briefly introduces the main characteristics and advantages of NC and HE, the two proposed technologies.

Network Coding
NC breaks with the traditional store-and-forward transmission model, enabling any network node not only to store and forward receiving packets but also to recombine them into coded packets, which will be decoded at destination [16].One of the most widely used scheme is Random Linear Network Coding (RLNC), which linearly combines packets using randomly chosen coefficients from a finite field F q of size 2 q [21].The encoding operation of M packets can be described as follows: where [p 1 , p 2 , . . ., p M ] are the original packets, each p i is the resulting coded packet, and c j,i ∈ F q are the coding coefficients, where, for each p i , the corresponding set of coding coefficients [c i,1 , c i,2 , . . ., c i,M ] forms the coding vector.RLNC exploits the characteristics of the broadcast nature of wireless medium [22][23][24], which facilitates node cooperation [25] to provide significant benefits in terms of communication robustness, stability, throughput, and latency [26].
One of the most relevant properties of RLNC is that it is rateless, i.e., the dependency on obtaining a particular packet is removed since the receiver only needs to get enough linearly independent packet combinations in order to recover the original data.Consequently, the coupon collector problem [27] is addressed.This makes RLNC a particularly valuable tool for distributed storage systems [19], such as P2P or multi-cloud environments.Additional data download time in highly loaded conditions can be reduced and it is possible to improve the storage efficiency in terms redundancy [28,29].Furthermore, clouds are able to exchange data combinations between them [20], which improves the performance of data recovery and acquisition processes (recall Figure 2).Nevertheless, NC poses some security challenges, as it is particularly vulnerable to pollution attacks [30].This critical problem can be solved by integrating HE techniques [31].

Homomorphic Encryption
HE is a breakthrough encryption scheme that enables, due to its homomorphic property, computation over encrypted data and it is based on asymmetric or public key cryptography.It allows to carry out certain operations over the ciphertext that provides an encrypted result, which decrypted, is the same as that obtained if the operation was performed in plaintext [32,33].The previous differentiates it from conventional encryption algorithms, such as AES, RSA, International Data Encryption Algorithm (IDEA), or Twofish.More precisely, an encryption scheme is called homomorphic for any operation if it supports the following: where Enc and Dec are the encryption and decryption functions, M is the set of all possible messages, k p is the public key, k s is the secret key, and and • are the group operation in the ciphertext and plaintext space, respectively.There are three different algorithms depending on the operations they allow.Fully Homomorphic Encryption (FHE), created by Gentry [13], allows arbitrary computations on ciphertext.Somewhat Homomorphic Encryption (SHE) is a scheme that can evaluate functions of limited complexity or depth.Partially Homomorphic Encryption (PHE) is an algorithm limited in the type of operations it is able to perform on ciphertext [34,35].
HE can be a powerful tool for helping to preserve data privacy in a wide variety of applications.It is possible to securely store and process data in the cloud [36].For example, it can be useful for remote electronic or Internet voting [37,38].HE also opens the door to third parties, which can provide diverse computational services and statistical analysis, such as ML prediction [39,40], of sensitive data [14] in a confidential manner, e.g., in medical applications or fault detection of a sensorized machine.The latter is illustrated as a simple example in Figure 3.

Related Work
In this section, we show the potential of the two previously introduced technologies over IoT architectures, both individually and combined, based on state-of-the-art work.As shown in Figure 4, the usual IoT scenarios are composed of a large number of devices, e.g., WSN, which send their data to the cloud, where they are processed for real-time or in-rest analysis, to be later visualized or remotely monitored by any client or end-user.Cloud computing provides high scalability and flexibility, Big Data management, and the possibility of performing advanced data analytics that allows obtaining meaningful information and valuable insights.Thus, it is becoming a cornerstone when it comes to Industry 4.0 and IoT applications, as it shown in the literature [41][42][43].

SENSOR AND ACTUATOR NODES USER AND CLIENT PLATFORMS
Encryption with HE at source nodes NC over WSN Decryption with HE at destination (1) The properties of NC are particularly beneficial for enhancing the robustness and reducing delays of WSN communications (Figure 4 (1)).The authors of [44] presented a cooperative NC-based transmission technique for spectrum and energy efficiency in Wireless Body Area Networks (WBANs) and showed the benefits in comparison to direct communication approach.Regarding Vehicular Ad-Hoc Networks (VANETs) and Internet of Vehicles (IoV), NC can improve the reliability of the transmission and can recover the original message in the event of disorder and loss of message, as it is shown in [45,46].
Regarding the cloud deployment (Figure 4 (2)), a multi-cloud strategy provides fault-tolerance and high-availability to the system, as it allows repairing lost data using redundancy, which can be more efficient with the use of NC [47,48].NC can also be applied for distributing the data into the different clouds benefiting those with better conditions regarding price, download rate, or congestion, among others.In [49], for instance, data are distributed through the clouds, firstly to increase the system reliability and, secondly, to store the data depending on the price of the cloud resources and, thus, be able to reduce the storage cost.Data can also be distributed based on the download rate of each cloud in order to reduce the overall download time (Figure 4 (3)), as shown in [20].
As explained before, HE can ensure end-to-end privacy.Leveraging from its properties, sensors and gateways in WSNs are able to perform operations such as spatiotemporal correlation (Figure 4 (1)), which can be used to significantly reduce data traffic [50].As shown in [51], HE can as well be an effective method for data aggregation in Vehicle-to-Grid (V2G) networks and since the data aggregation only requires additive operations, PHE is enough to satisfy the privacy preservation requirements.In cloud-based architectures, HE enables performing powerful data analytics in the cloud (Figure 4 (2)) and remote monitoring (Figure 4 (3)) while maintaining data privacy, for example, regarding sensitive medical data [52,53].It also allows executing ML algorithms in a confidential manner [54].For example, the authors of [40] presented a multi-key FHE scheme to apply deep learning over data stored in multiple third-party clouds without compromising the confidentiality.
Given the benefits that NC and HE provide to cloud-based IoT architectures individually, the potential advantages of combining such technologies have been analyzed in the literature.The authors of [55] showed the relationship between secure cloud storage and secure NC.For instance, homomorphic Message Authentication Code (MAC) schemes can be applied in order to avoid data and tag pollution attacks in RLNC [56].The authors of [57] proposed a NC-based secure cloud storage protocol based on a homomorphic signature scheme, which supports public data auditing and is resilient to data loss, pollution attack and repetitive attack.Conversely, in [58], the authors proposed a different solution for ensuring data and tag privacy.They present a distributed privacy preserving scheme for RLNC in Smart Grids.On the one hand, data of the packet are encrypted with a conventional encryption algorithm and, on the other hand, the tag of the packet, i.e., coefficient, is encrypted by a HE function.Leveraging from the homomorphic feature, forwarder nodes are able to recode the coefficients seamlessly without exposing either data or coefficients.

Benefits, Issues, and Open Challenges
While the IoT is transforming our everyday life actions and environments, it also creates some difficulties and threats.This section identifies and describes existing issues which can be addressed with the proposed technologies, as well as limitations and future challenges that will arise with their implementation, which can give directions to new research in this domain.

Security, Privacy and Trust
Security and privacy concerns are increasing with the exponential growth of IoT devices connected to the Internet, since the opportunities for attacking the network grow with the number of smart devices [10,59].As such, one of the requirements in IoT environments is guaranteeing the trust of devices, which can become very challenging due to the heterogeneous and large-scale nature of these networks.To provide secure and robust systems, ensuring data privacy is essential.Data privacy can be compromised by illegitimate users or hackers who, through the access to IoT devices, could be able to obtain sensitive data or remotely control such devices.In addition, corporations such as banks or cloud providers, could easily access to the private data of their clients.Data can be threatened at any point, and thus, their authenticity, integrity, and privacy must be ensured, as well as the secure communication between all the involved parties.
Consequently, end-to-end security becomes critical, which can be addressed with the application of HE algorithms.Due to their properties, data only need to be decrypted at the end-user, even if they are required to perform operations over them.Moreover, NC would be protected against pollution attacks.Although the potential of HE is indisputable, it comes with a major disadvantage, its computational cost [32].It requires significantly complex computations even for basic operations and the encryption process creates ciphertexts of enormous size [60].This is a critical drawback, especially for IoT applications and protocols that usually employ resource-constrained devices.
In Figure 5, we provide an illustrative example that compares different state-of-the-art encryption mechanisms based on multiple metrics, divided into five levels.On the one hand, the privacy level is depicted in ascending order, i.e., from the lowest offered privacy level (1) to the highest (5).The metric that represents the possibility of performing operations on the encrypted data is also illustrated from 1 to 5, where 1 is the level in which less operations can be performed and 5, in contrast, in which any operation can be performed over the encrypted data.On the other hand, the metrics representing the ciphertext size created by the encryption algorithm, and also its complexity and the execution time, are depicted in descending order, i.e., from their highest level (5) to the lowest (1).Taking the complexity metric as an example, the complexity level decreases as we move towards the edge of the graph.
We show conventional algorithms, such as RSA or AES, as well as three HE techniques, namely, FHE, Fan and Vercauteren (FV), which is an SHE algorithm, and Paillier, which is equivalent to PHE.It can be observed that the size of the encrypted data, and both the complexity and execution time of the algorithm, increase with the use of more powerful techniques.Regarding the allowed operations, any operation can be performed if data are in plaintext.On the contrary, RSA/AES algorithms do not allow computing encrypted data.The use of HE techniques enables different operations depending on the algorithm.FHE allows any operation but is limited due to its complexity, FV can perform operations of limited depth, and Paillier only allows summing encrypted data.Regarding privacy, in the case we do not apply any data encryption, we offer no data protection.In contrast, the use of HE algorithms provides end-to-end data privacy.Conventional algorithms, in turn, offer an intermediate protection since they require decrypting data for performing any operation over them.Thus, to make HE suitable to the constraints of IoT devices and applications, it will be needed to achieve more lightweight HE algorithms which require lower computational and communication costs, as well as complexity, for the performance of encrypted data operations.

Latency
In applications such as factory automation, where machines and systems of manufacturing lines are controlled in real time, or autonomous driving, where immediate vehicle-to-vehicle communications and detection of the surrounding environment are required, instant problem detection is critical to prevent major disasters.Even applications that do not rely on instantaneous feedback must react almost in real time [61].These systems make decisions based on collected data, which means that these data must be collected, transmitted, and processed with very low latency.
NC helps reducing delays in congested networks as well as in highly loaded cloud deployments.However, the introduction of NC imposes some future challenges related to latency requirements of real-time applications.With NC, intermediate nodes must have the capability to perform operations fast enough to be able to recode and forward receiving data in real time to the next node.If this process is too complex, the use of IoT devices can generate extra delays since they have limited computational power.As such, it will require the development of simpler algorithms and coding schemes.Moreover, to optimize transmissions between intermediate nodes and reduce latencies of distributed systems while meeting the stringent demands of real-time scenarios, existing packet scheduling and routing algorithms may need to be reconsidered.If data are encrypted, intermediate nodes will need to decrypt receiving packets in order to be able to recombine them, which will introduce additional delays.The use of HE will play an enabling role in this regard, since data are only decrypted at destination and it releases the intermediate nodes from this task.

Reliability and Availability
IoT architectures require to remain available even when the whole system or part of it breaks down.Especially in industrial and health applications, robustness is an essential attribute [62].The system should provide self-configurable services with the capacity of handling external perturbations without affecting the application.Reliable communication among smart connected devices, gateways and cloud services or applications are also crucial for distributed environments where data are traveling between numerous different devices across the network.Continuous data availability also plays an essential role when it comes to meet the requirements of real-time applications.To satisfy application demands, cloud providers offer redundancy and backup options.Nonetheless, the entire infrastructure may fail.
As explained above, the reliability and availability of the architecture can be improved by uploading NC-based data combinations into a multi-cloud environment.Even if an entire cloud infrastructure fails, it will be possible to repair lost data thanks to additional data combinations placed in the remaining clouds.Therefore, dependencies on a single cloud vendor are reduced and the system autonomy increases.However, in an attempt to ensure reliability, data download speed can be compromised.Thus, it can be necessary to design new codes and distribution mechanisms capable of maintaining a trade-off between reliability and performance.Moreover, migrating data among different cloud platforms becomes a significant challenge too.First, it requires additional effort on data migration and distribution planning.Second, due to cloud vendor lock-in, there might emerge difficulties to move data from one cloud provider to another one.

Service Outage
Service continuity is as critical as system reliability or data availability for IoT applications, particularly for those whose data rely on third-party cloud providers.Interruptions suffered by services offered by important cloud vendors are not unusual.Only in 2017, well-known brands such as Amazon Web Services (AWS) or IBM suffered service disruptions which caused a big impact on a huge number of websites and applications.A service outage can lead to extremely serious consequences for businesses and final users.Besides the loss of critical data, a downtime of the application service may also occur.The negative effect of a cloud outage is also visible in businesses expenses [63].
Multi-cloud environments can help to provide service continuity.Applications can be transferred from one cloud vendor to any other in case of a service outage.However, this type of infrastructures poses additional challenges due to lack of standardization in cloud Service Level Agreements (SLAs) and interoperability.Each provider offers different platforms, tools, and analytics, which can hamper the execution of applications.The lack of integration between vendors may require the use of multiple management tools and interfaces.The development of open platforms and frameworks that integrate and migrate data and applications seamlessly across cloud vendors has become an essential demand.

Flexibility and Scalability
The exponential growth in the number of connected objects, with networks constantly increasing their size, makes scalability a key factor for IoT applications development [64].Moreover, devices within this kind of distributed systems do not necessarily have to be permanently connected, indeed, they may be constantly linking and leaving the network.Thus, the implemented architecture should be flexible in order to adapt to changing environments from different use cases.Moreover, it has to fit application and user requirements.The introduction of a multi-cloud environment provides to the architecture the capability of handling big amounts of data as well as to manage network topology changes.In addition to a flexible distributed infrastructure, the applied coding mechanisms must also be scalable in order to adapt to the continuous environment variations.

Cost
The IoT generates massive amounts of data gathered and transmitted continuously by billions of interconnected things.To get valuable information for decision making, big data management and analysis are necessary, which require infrastructures with powerful storage and computing capabilities.These requirements, present in almost every IoT application, entail big investments in hardware and software resources to collect, manage, and process all these additional data.
The use of a multi-cloud deployment allows users to design strategies depending on offered services and prices, such as AWS Spot Instances [65].Users can place their workloads in the cloud that better fits their demands, which can result in a cost reduction.This solution also allows leveraging from public clouds, which are more cost-effective than private ones since the infrastructure and maintenance costs are the responsibility of the provider.Nonetheless, cloud data storage, migration, and computation involve inherent costs.Thus, new solutions are needed to minimize those expenses.A possible answer to this issue can be to optimize NC schemes that use minimum amount of redundancy and recovery data to reduce associated costs.
Furthermore, the need for lightweight HE algorithms is not limited to latency.As it implies the transmission of larger packets, the communication cost is increased, in particular, if licensed frequency bands are used, which charge per transmitted byte.

Integration
The evolution of the IoT comes together with the need for interoperability.The large number of heterogeneous devices makes their communication and integration more challenging, which turns the interoperability into a critical issue [66].Different services, frameworks and protocols applied in the IoT are represented in Figure 6.One of the problems created by this fragmentation is the inability to use common APIs or interfaces.It also poses big challenges when integrating devices from different manufacturers since they use communication protocols and standards which are not interoperable.Integration is a substantial issue for the proposed architecture.The lack of interoperability among cloud vendors has been evidenced in previous sections.One of the demands in these scenarios is a platform that supports data, application and service migration between different cloud providers.The heterogeneous capabilities of IoT devices, regarding computational power and storage capacity, bring challenges to coding techniques which should be suitable for the diversity of objects within the network.The lack of interoperability remains a major barrier and can limit the optimal development of IoT applications.

IoT Communication Protocols
IoT devices are usually limited in battery, storage, and computing resources.Their constrained nature creates the need for communication protocols capable of handling these conditions.Thus, with the growth of IoT applications, novel protocols have emerged.Low Power WiFi [67] and Bluetooth Low Energy (BLE) [68] have been developed in order to meet these requirements.Furthermore, Low Power Wide Area Network (LPWAN) protocols [69] such as Sigfox, Lora, or Narrowband IoT enable long-range communications in power constrained devices.The use of new lightweight application layer protocols, such as MQTT [70] and CoAP [71], is rapidly growing, which, due to their characteristics, e.g., a minimum packet size, makes them ideal for IoT environments.
However, these IoT protocols pose some challenges regarding NC and HE.NC introduces a header overhead due to the coefficients used in the encoding process.Nevertheless, it is important to note that there is no need for a complete redesign, since the fields or headers reserved for future use of existing protocols can be adapted in order to integrate these coefficients.Regarding HE, it generates large encrypted data, which also complicates the introduction to the mentioned protocols.Thus, it becomes crucial to develop HE algorithms which produce smaller ciphertexts, in order to be applied in IoT lightweight protocols.

Discussion
One of the main advantages of the combination of both technologies is the end-to-end data privacy provided by the use of HE, as it removes the need for decrypting data until they reach the end user.This way, it enables private information sharing in multi-party scenarios among several data owners.It is worth stressing that third-party cloud computations are allowed while ensuring data privacy.However, HE implies greater computational costs due to its inherent complexity.As it generates large ciphertext, data traffic increases, which implies bigger transmission costs regarding both energy consumptions and charges per transmitted byte.Taking into account that IoT devices are mainly resource-constrained, and that IoT protocols are commonly lightweight protocols, it can be challenging to implement this encryption scheme.Nevertheless, HE is a field that generates big interests due to its tremendous privacy advantages and, therefore, it is rapidly advancing.Indeed, lighter algorithms are already emerging [72].Moreover, SHE or PHE can be used in applications which require simpler operations, such as vote counting.
The implementation of NC throughout the architecture can reduce the entire system's latency.It optimizes the following processes: communications over the WSN, multi-cloud data upload and download, as well as data recovery and decoding.Thus, it improves the performance of congested wireless networks and multi-cloud deployments of high workloads.With NC, data reliability and availability are improved while less redundancy and fewer recovery data are required.Nonetheless, due to the reduced computational capabilities of the things, the introduction of complex NC schemes can lead to additional delays, which can be a drawback for real-time applications.Despite this, as mentioned above, these schemes can be adapted to existing IoT protocols.
Another advantage is that the architecture's security level is increased since data are distributed across multiple clouds and they are stored differently from the original form, which reduces the possibilities of suffering a malicious attack.The multi-cloud environment enhances the robustness regarding service outages and it provides the possibility of taking advantage of new computing services.Besides, it is capable of adapting to cloud and connectivity conditions.However, the migration of both data and application among different cloud providers brings interoperability problems due to lack of standardization.In addition, the heterogeneity of IoT remains a visible problem for the integration of different technologies across the architecture.Therefore, the research in this field becomes imperative in order to find new solutions that make possible to handle different technologies and platforms.
Although the presented techniques have certain limitations for a current implementation, we believe that it can provide great benefits for future IoT scenarios and applications, and we hope that it can be a source of inspiration for researchers as well as encourage them towards future research directions.To summarize what we have previously discussed throughout this section regarding NC and HE, we outline in Table 1 the advantages and disadvantages of the proposed technologies.
Table 1.Overview of the benefits and drawbacks of NC and HE technologies.

Advantages Disadvantages
• Provides end-to-end data privacy, allowing secure third-party cloud computations.
• Implies greater computational costs due to its inherent complexity.
• Enables private information sharing in multi-party scenarios among several data owners.
• Generates large ciphertext, which poses challenges to introduce HE to IoT lightweight communication protocols.

Homomorphic Encryption
• SHE or PHE can be used in applications which require simpler operations.
• The size of the encrypted data also implies higher transmission costs.
• Improves the performance, e.g., latency and cost, of congested wireless networks and highly loaded multi-cloud deployments.
• Can lead to additional delays due to the introduction of a header overhead or complex recoding processes.
• Enhances system reliability and availability requiring less redundancy and recovery data.
• Data download speed can be compromised in an attempt to ensure reliability.

Network Coding
• Distributes and stores data differently from the original form, increasing the architecture security level.
• Makes necessary to design new codes and distribution mechanisms to maintain a trade-off between reliability and performance.

Conclusions
In this paper, we present a review of two technologies, NC and HE, aimed at enhancing the privacy as well as improving the communications and data distribution among the layers of IoT architectures.We overview the potential of the implementation of NC and HE across the entire architecture, where end-users will be able to manage and monitor the data sensed by a WSN making use of the multi-cloud deployment, responsible for storing and processing these data.Furthermore, we show the suitability of the combination of NC and HE by outlining the advantageous characteristics of both techniques and overviewing state-of-the-art works that show their applicability over the IoT architecture.We present different issues of the IoT that can be addressed with these techniques, such as privacy, reliability, and latency.Remaining challenges are also explained, which will require future research.Computational cost and lack of interoperability are some of the issues to highlight.Finally, we discuss the strengths and limitations of the application of both technologies over this type of architectures.

Figure 1 .
Figure 1.Network coding and homomorphic encryption over IoT architecture.

Figure 2 .
Figure 2. RLNC-based data combination distribution in a multi-cloud deployment.

Figure 3 .
Figure 3. Machine learning over encrypted data for fault detection applications.

Figure 4 .
Figure 4. Role of NC and HE over the entire vertical of IoT architectures generally composed of: (1) a WSN; (2) a multi-cloud deployment; and (3) end-users.

Figure 5 .
Figure 5.Comparison of different encryption techniques.